From 66a20e80d14c913aeb720fc984e19f93e546e400 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Fri, 5 May 2023 17:08:53 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9B=91=E6=8E=A7]?= =?UTF-8?q?=20=E7=A7=BB=E9=99=A4=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9B=91?= =?UTF-8?q?=E6=8E=A7app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_ipc_monitoring/.gitignore | 1 - app_ipc_monitoring/README.md | 1 - app_ipc_monitoring/build.gradle | 245 --- app_ipc_monitoring/gradle.properties | 2 - .../libs/arm64-v8a/libsshtool.so | Bin 1395064 -> 0 bytes .../libs/armeabi-v7a/libsshtool.so | Bin 954716 -> 0 bytes app_ipc_monitoring/other.zip | Bin 48915 -> 0 bytes app_ipc_monitoring/proguard-rules.pro | 26 - .../adas/client/ExampleInstrumentedTest.java | 27 - .../src/main/AndroidManifest.xml | 109 -- .../main/java/com/zhidao/adas/client/App.java | 20 - .../adas/client/BootCompletedReceive.java | 13 - .../zhidao/adas/client/DataDistribution.java | 668 ------- .../java/com/zhidao/adas/client/ObuTest.java | 332 ---- .../adas/client/OnAdasClientListener.java | 142 -- .../adapter/AutopilotConfigAdapter.java | 480 ----- .../adas/client/adapter/ConfigAdapter.java | 65 - .../client/adapter/ConnectStatusAdapter.java | 67 - .../adas/client/adapter/DataShowAdapter.java | 60 - .../adas/client/adapter/InfoTitleAdapter.java | 83 - .../adas/client/adapter/InterfaceAdapter.java | 217 --- .../adas/client/adapter/LineAdapter.java | 60 - .../client/adapter/SpecialVehicleAdapter.java | 60 - .../client/adapter/ViaPositionAdapter.java | 157 -- .../zhidao/adas/client/base/BaseActivity.java | 107 -- .../zhidao/adas/client/base/BaseAdapter.java | 115 -- .../zhidao/adas/client/base/BaseFragment.java | 253 --- .../adas/client/base/BaseViewHolder.java | 27 - .../adas/client/bean/AutoPilotMode.java | 67 - .../com/zhidao/adas/client/bean/BaseInfo.java | 48 - .../com/zhidao/adas/client/bean/Config.java | 26 - .../com/zhidao/adas/client/bean/DataShow.java | 11 - .../zhidao/adas/client/bean/ErrorData.java | 20 - .../adas/client/bean/IPCConnectState.java | 16 - .../adas/client/bean/InterfaceModel.java | 34 - .../zhidao/adas/client/bean/MySSHResult.java | 10 - .../com/zhidao/adas/client/bean/ObuMap.java | 25 - .../com/zhidao/adas/client/bean/ObuRsi.java | 25 - .../com/zhidao/adas/client/bean/ObuRsm.java | 25 - .../com/zhidao/adas/client/bean/ObuSpat.java | 25 - .../adas/client/bean/ObuWarningData.java | 24 - .../client/bean/PerceptionTrafficLight.java | 25 - .../adas/client/bean/ReceiveBytesData.java | 23 - .../zhidao/adas/client/bean/ReceiveData.java | 25 - .../adas/client/bean/SpecialVehicleBean.java | 347 ---- .../client/bean/SpecialVehicleOption.java | 16 - .../adas/client/bean/UpdateDataEvent.java | 4 - .../adas/client/log/ConnectStatusSave.java | 150 -- .../com/zhidao/adas/client/log/LogSave.java | 150 -- .../permission/BackgrounderPermission.java | 144 -- .../permission/OnAdasPermissionListener.java | 10 - ...PermissionLongBackgroundRunningDialog.java | 81 - .../other/router/PlaceholderFragment.java | 190 -- .../client/other/router/RouterActivity.java | 108 -- .../other/router/SectionsPagerAdapter.java | 42 - .../com/zhidao/adas/client/ssh/Base64.java | 1033 ----------- .../com/zhidao/adas/client/ssh/RSATool.java | 109 -- .../java/com/zhidao/adas/client/ssh/SSH.java | 149 -- .../zhidao/adas/client/ssh/SSHManager.java | 65 - .../com/zhidao/adas/client/ssh/SSHResult.java | 58 - .../com/zhidao/adas/client/ssh/SSHTool.java | 12 - .../adas/client/ui/AutoPilotModeDialog.java | 153 -- .../client/ui/AutopilotConfigActivity.java | 342 ---- .../adas/client/ui/BackCameraFloatWindow.java | 201 -- .../zhidao/adas/client/ui/FloatWindow.java | 158 -- .../zhidao/adas/client/ui/HelpActivity.java | 22 - .../ui/HorizontalDividerItemDecoration.java | 140 -- .../zhidao/adas/client/ui/InfoFragment.java | 247 --- .../zhidao/adas/client/ui/MainActivity.java | 1615 ----------------- .../adas/client/ui/VersionFragment.java | 544 ------ .../ui/special/SpecialVehicleDialog.java | 117 -- .../ui/special/SpecialVehicleFloatWindow.java | 461 ----- .../SpecialVehicleFloatWindowManager.java | 94 - .../zhidao/adas/client/utils/Constants.java | 207 --- .../adas/client/utils/CrashHandler.java | 293 --- .../zhidao/adas/client/utils/FileUtils.java | 39 - .../client/utils/MyLinearLayoutManager.java | 36 - .../adas/client/utils/PreferencesUtils.java | 286 --- .../zhidao/adas/client/utils/RandomColor.java | 29 - .../zhidao/adas/client/utils/SysBarUtil.java | 30 - .../utils/image/BlurTransformation.java | 99 - .../adas/client/utils/image/FastBlur.java | 257 --- .../utils/image/ImageLoaderManager.java | 199 -- .../src/main/res/color/item_text_color.xml | 7 - .../src/main/res/color/item_text_color1.xml | 8 - .../src/main/res/drawable/bg_adas_dialog.xml | 9 - .../src/main/res/drawable/bg_radio_button.xml | 23 - .../res/drawable/bg_special_vehicle_float.xml | 7 - .../src/main/res/drawable/border_title.png | Bin 6409 -> 0 bytes .../src/main/res/drawable/btn_bg.xml | 19 - .../res/drawable/btn_maximize_text_color.xml | 7 - .../drawable/btn_special_vehicle_small_bg.xml | 13 - .../src/main/res/drawable/help.png | Bin 378345 -> 0 bytes .../src/main/res/drawable/ic_add_false.xml | 12 - .../src/main/res/drawable/ic_add_true.xml | 12 - .../src/main/res/drawable/ic_border_green.xml | 9 - .../src/main/res/drawable/ic_border_red.xml | 9 - .../main/res/drawable/ic_border_yellow.xml | 9 - .../src/main/res/drawable/ic_driver.xml | 9 - .../src/main/res/drawable/ic_minus_false.xml | 12 - .../src/main/res/drawable/ic_minus_true.xml | 12 - .../src/main/res/drawable/ic_pack_up.xml | 9 - .../src/main/res/drawable/ic_passenger.xml | 9 - .../src/main/res/drawable/ic_pull.xml | 9 - .../res/drawable/ic_special_vehicle_back.xml | 9 - .../drawable/ic_special_vehicle_back_true.xml | 9 - .../ic_special_vehicle_minimality.xml | 9 - .../ic_special_vehicle_minimality_true.xml | 9 - .../src/main/res/drawable/icon.xml | 69 - .../drawable/icon_dev_status_net_disable.png | Bin 7558 -> 0 bytes .../drawable/icon_dev_status_net_enable.png | Bin 10675 -> 0 bytes .../src/main/res/drawable/item_bg.xml | 31 - .../src/main/res/drawable/radio_btn_bg.xml | 20 - .../src/main/res/drawable/selector_add.xml | 5 - .../main/res/drawable/selector_history_ip.xml | 5 - .../src/main/res/drawable/selector_minus.xml | 5 - .../src/main/res/drawable/selector_role.xml | 5 - .../src/main/res/drawable/selector_router.xml | 6 - .../selector_special_vehicle_back.xml | 5 - .../selector_special_vehicle_minimality.xml | 5 - .../src/main/res/drawable/text.xml | 8 - .../activity_autopilot_cloud_config.xml | 38 - .../src/main/res/layout/activity_guardian.xml | 297 --- .../src/main/res/layout/activity_help.xml | 10 - .../src/main/res/layout/activity_main.xml | 51 - .../src/main/res/layout/activity_router.xml | 65 - .../layout/content_autopilot_cloud_config.xml | 33 - ...das_permission_long_background_running.xml | 35 - .../main/res/layout/dialog_autopilot_mode.xml | 64 - .../res/layout/dialog_detouring_speed.xml | 30 - .../layout/dialog_record_data_config_resp.xml | 93 - .../src/main/res/layout/dialog_sn.xml | 92 - .../layout/dialog_special_vehicle_config.xml | 161 -- .../src/main/res/layout/dialog_speed.xml | 30 - .../src/main/res/layout/dialog_timeout.xml | 31 - .../src/main/res/layout/fragment_info.xml | 86 - .../src/main/res/layout/fragment_router.xml | 31 - .../src/main/res/layout/fragment_version.xml | 408 ----- .../src/main/res/layout/include_line.xml | 14 - .../src/main/res/layout/include_line2.xml | 14 - .../main/res/layout/item_autopilot_config.xml | 298 --- .../src/main/res/layout/item_config.xml | 20 - .../src/main/res/layout/item_info.xml | 21 - .../src/main/res/layout/item_info1.xml | 21 - .../src/main/res/layout/item_interface.xml | 46 - .../src/main/res/layout/item_log_info.xml | 42 - .../src/main/res/layout/item_main.xml | 297 --- .../src/main/res/layout/item_node.xml | 63 - .../src/main/res/layout/item_pop.xml | 12 - .../main/res/layout/item_special_vehicle.xml | 22 - .../item_special_vehicle_option_radio_btn.xml | 6 - .../src/main/res/layout/item_status.xml | 31 - .../src/main/res/layout/item_via.xml | 66 - .../main/res/layout/layout_back_camera.xml | 6 - .../src/main/res/layout/layout_del.xml | 8 - .../src/main/res/layout/layout_float.xml | 17 - .../src/main/res/layout/layout_location.xml | 64 - .../src/main/res/menu/menu_create.xml | 28 - .../src/main/res/values/colors.xml | 25 - .../src/main/res/values/strings.xml | 8 - .../src/main/res/values/styles.xml | 68 - .../main/res/xml/network_security_config.xml | 4 - .../zhidao/adas/client/ExampleUnitTest.java | 17 - settings.gradle | 1 - 164 files changed, 15181 deletions(-) delete mode 100644 app_ipc_monitoring/.gitignore delete mode 100644 app_ipc_monitoring/README.md delete mode 100644 app_ipc_monitoring/build.gradle delete mode 100644 app_ipc_monitoring/gradle.properties delete mode 100644 app_ipc_monitoring/libs/arm64-v8a/libsshtool.so delete mode 100644 app_ipc_monitoring/libs/armeabi-v7a/libsshtool.so delete mode 100644 app_ipc_monitoring/other.zip delete mode 100644 app_ipc_monitoring/proguard-rules.pro delete mode 100644 app_ipc_monitoring/src/androidTest/java/com/zhidao/adas/client/ExampleInstrumentedTest.java delete mode 100644 app_ipc_monitoring/src/main/AndroidManifest.xml delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/App.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/BootCompletedReceive.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/OnAdasClientListener.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/AutopilotConfigAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConfigAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConnectStatusAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InfoTitleAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InterfaceAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/LineAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/SpecialVehicleAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ViaPositionAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseActivity.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseFragment.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseViewHolder.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutoPilotMode.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BaseInfo.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Config.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/DataShow.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/IPCConnectState.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/InterfaceModel.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MySSHResult.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuMap.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsi.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsm.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuSpat.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuWarningData.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/PerceptionTrafficLight.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveBytesData.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveData.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleBean.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleOption.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/UpdateDataEvent.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/ConnectStatusSave.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/LogSave.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/BackgrounderPermission.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/OnAdasPermissionListener.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/PermissionLongBackgroundRunningDialog.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/PlaceholderFragment.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/RouterActivity.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/SectionsPagerAdapter.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/Base64.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/RSATool.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSH.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHManager.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHResult.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHTool.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutopilotConfigActivity.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HelpActivity.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HorizontalDividerItemDecoration.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleDialog.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindowManager.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/CrashHandler.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/FileUtils.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/MyLinearLayoutManager.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/PreferencesUtils.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/RandomColor.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/BlurTransformation.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/FastBlur.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/ImageLoaderManager.java delete mode 100644 app_ipc_monitoring/src/main/res/color/item_text_color.xml delete mode 100644 app_ipc_monitoring/src/main/res/color/item_text_color1.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/bg_adas_dialog.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/bg_radio_button.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/bg_special_vehicle_float.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/border_title.png delete mode 100644 app_ipc_monitoring/src/main/res/drawable/btn_bg.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/btn_maximize_text_color.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/btn_special_vehicle_small_bg.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/help.png delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_add_false.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_add_true.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_border_green.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_border_red.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_border_yellow.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_driver.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_minus_false.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_minus_true.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_pack_up.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_passenger.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_pull.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back_true.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality_true.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/icon.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/icon_dev_status_net_disable.png delete mode 100644 app_ipc_monitoring/src/main/res/drawable/icon_dev_status_net_enable.png delete mode 100644 app_ipc_monitoring/src/main/res/drawable/item_bg.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/radio_btn_bg.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_add.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_history_ip.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_minus.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_role.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_router.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_back.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_minimality.xml delete mode 100644 app_ipc_monitoring/src/main/res/drawable/text.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/activity_autopilot_cloud_config.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/activity_guardian.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/activity_help.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/activity_main.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/activity_router.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/content_autopilot_cloud_config.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_adas_permission_long_background_running.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_autopilot_mode.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_detouring_speed.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_record_data_config_resp.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_sn.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_special_vehicle_config.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_speed.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_timeout.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/fragment_info.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/fragment_router.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/fragment_version.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/include_line.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/include_line2.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_autopilot_config.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_config.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_info.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_info1.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_interface.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_log_info.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_main.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_node.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_pop.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_special_vehicle.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_special_vehicle_option_radio_btn.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_status.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/item_via.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/layout_back_camera.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/layout_del.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/layout_float.xml delete mode 100644 app_ipc_monitoring/src/main/res/layout/layout_location.xml delete mode 100644 app_ipc_monitoring/src/main/res/menu/menu_create.xml delete mode 100644 app_ipc_monitoring/src/main/res/values/colors.xml delete mode 100644 app_ipc_monitoring/src/main/res/values/strings.xml delete mode 100644 app_ipc_monitoring/src/main/res/values/styles.xml delete mode 100644 app_ipc_monitoring/src/main/res/xml/network_security_config.xml delete mode 100644 app_ipc_monitoring/src/test/java/com/zhidao/adas/client/ExampleUnitTest.java diff --git a/app_ipc_monitoring/.gitignore b/app_ipc_monitoring/.gitignore deleted file mode 100644 index 796b96d1c4..0000000000 --- a/app_ipc_monitoring/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/app_ipc_monitoring/README.md b/app_ipc_monitoring/README.md deleted file mode 100644 index 922a02ab55..0000000000 --- a/app_ipc_monitoring/README.md +++ /dev/null @@ -1 +0,0 @@ -# 工控机测试程序 \ No newline at end of file diff --git a/app_ipc_monitoring/build.gradle b/app_ipc_monitoring/build.gradle deleted file mode 100644 index 3790b2cfd8..0000000000 --- a/app_ipc_monitoring/build.gradle +++ /dev/null @@ -1,245 +0,0 @@ -import java.text.SimpleDateFormat - -apply plugin: 'com.android.application' - -// 定义当前gradle文件的全局变量 -ext { - //主版本号 - MAJOR_VERSION = 1 - //次版本号 - MINOR_VERSION = 0 - createFile() - buildTimes = getBuildTime() - isRelease = checkRelease() - gitBranchName = getWorkingBranchName() -} - -android { - compileSdkVersion rootProject.ext.android.compileSdkVersion - defaultConfig { - applicationId "com.zhidao.adas.client" - minSdkVersion rootProject.ext.android.minSdkVersion - targetSdkVersion 25 - multiDexEnabled true - versionCode increasedVersionCode() - versionName increasedVersionName() - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - flavorDimensions "multi_device" - - packagingOptions { - //解决编译时com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'这个错误 - exclude 'META-INF/rxjava.properties' - } - externalNativeBuild { - ndk { - abiFilters 'armeabi-v7a', 'arm64-v8a' - } - } - } - signingConfigs { - release { - keyAlias 'CarLauncher' - keyPassword 'ZDauto123456' - storeFile file(getProjectDir().getParent() + '/keystore/car_launcher.jks') - storePassword 'ZDauto123456' - } - } - buildTypes { - debug { - signingConfig signingConfigs.release - } - release { - minifyEnabled false - signingConfig signingConfigs.release - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } -//配置自定义打包名称 - applicationVariants.all { variant -> - def buildTypeName = variant.buildType.name - //println("buildTypeName-------->" + buildTypeName) - variant.outputs.all { - StringBuffer buffer = new StringBuffer() - buffer.append(getProject().name) - buffer.append("_") - buffer.append(defaultConfig.versionName) - buffer.append(".") - buffer.append(buildTimes) - buffer.append("_") - buffer.append(gitBranchName) - buffer.append("_") - //获取渠道编号 - String flavor = variant.flavorName - if (flavor != null && flavor != "") { - buffer.append(flavor) - buffer.append("_") - } - //获取打包时间 - def fileName = "${buffer.toString()}${buildTypeName}.apk" - //测试文件名称 - buildConfigField 'String', 'APK_NAME', "\"${fileName}\"" - //println("fileName-------->" + fileName) - //这里修改apk文件名 - outputFileName = fileName - } - } - - //插入构建时间 - buildTypes.each { - it.buildConfigField 'String', 'BUILD_TIME', "\"${buildTimes}\"" - it.buildConfigField 'String', 'GIT_BRANCH_NAME', "\"${gitBranchName}\"" - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}' - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M1', 'null' - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M2', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}' - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER', 'null' - it.buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN', 'null' - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - productFlavors { - passenger { - dimension "multi_device" - buildConfigField 'boolean', 'IS_CLIENT', 'true' - } - driver { - dimension "multi_device" - buildConfigField 'boolean', 'IS_CLIENT', 'false' - - } - - } - lintOptions { - checkReleaseBuilds false - // Or, if you prefer, you can continue to check for errors in release builds, - // but continue the build even when errors are found: - abortOnError false - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation rootProject.ext.dependencies.material - implementation rootProject.ext.dependencies.androidxconstraintlayout - implementation rootProject.ext.dependencies.androidxappcompat - implementation "androidx.recyclerview:recyclerview:1.2.0" - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' - implementation rootProject.ext.dependencies.gson - implementation 'com.github.bumptech.glide:glide:4.11.0' - implementation project(':libraries:mogo-adas') - implementation project(':libraries:mogo-adas-data') - implementation project(':libraries:mogo-obu') -// implementation 'com.zhidao.support.adas:high:2.8.0.0' -// implementation 'com.zhjt.mogo.adas.data:adas-data:2.6.6.0' -// compileOnly project(':core:mogo-core-data') -// implementation project(':core:mogo-core-utils') - implementation 'org.greenrobot:eventbus:3.2.0' - implementation 'com.android.support:multidex:1.0.3' -// implementation 'com.mogo.cloud:telematic:1.3.59'//注释掉司机端 乘客端 - implementation 'com.jcraft:jsch:0.1.55' -} - -// 删除老的APK -def checkRelease() { - def runTasks = gradle.startParameter.taskNames - for (String task : runTasks) { - // 我这里认为执行“assembleRelease”和非“debug”的任务就是执行“release”的任务 - if (task.contains("assembleRelease") || task.contains("Release")) { - deleteOldAPK("release") - return true - } else if (task.contains("Debug")) { - deleteOldAPK("debug") - return false - } - } - return false -} -//在Moudle 根目录中创建gradle.properties文件存储VersionCode -def createFile() { - def propFile = file('./gradle.properties') - Properties props = new Properties() - if (!propFile.exists()) { - propFile.createNewFile() - props.load(new FileInputStream(propFile)) - props['VERSION_CODE'] = '1' - props.store(propFile.newWriter(), null) - } else { - props.load(new FileInputStream(propFile)) - def code = props['VERSION_CODE'] - if (code == null || code == "0") { - props['VERSION_CODE'] = '1' - props.store(propFile.newWriter(), null) - } - } -} -//读取VersionCode -def readVersionCode() { - def propFile = file('./gradle.properties') - Properties props = new Properties() - props.load(new FileInputStream(propFile)) - // 读取gradle.properties文件中定义的VERSION_CODE属性 - def code = props['VERSION_CODE'].toInteger() - //def code = props.getProperty('VERSION_CODE').toInteger() - return code -} -//当打包的是Release版本时自动更新VersionCode -def increasedVersionCode() { - def code = readVersionCode() - //println("isRelease====" + isRelease) - if (isRelease) { - code++ - def propFile = file('./gradle.properties') - Properties props = new Properties() - props.load(new FileInputStream(propFile)) - props['VERSION_CODE'] = code.toString() - // 将最新的versionCode写入gradle.properties文件中 - props.store(propFile.newWriter(), null) - } - return code -} - -//删除无用apk -def deleteOldAPK(String buildTypeName) { - - // 使用map创建一个树 - def tree = fileTree(dir: './build/outputs/apk', include: "${buildTypeName}/*.apk") - //println("文件个数:" + tree.size()) - // 遍历文件树 - tree.each { File file -> - //println("删除文件名称:" + file) - file.delete() - } -} - -def increasedVersionName() { - def versionName = "${MAJOR_VERSION}.${MINOR_VERSION}.${readVersionCode()}" - return versionName -} - -def getBuildTime() { - //设置时间格式 - SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd.HHmmss", Locale.getDefault()) - //获取当前时间 - Date curDate = new Date(System.currentTimeMillis()) - return formatter.format(curDate) -} - - -/** - * @return 获取当前分支名称 - */ -def getWorkingBranchName() { - def workingBranchName = "" - def proc = "git rev-parse --abbrev-ref HEAD".execute() - proc.in.eachLine { line -> workingBranchName = line } - proc.err.eachLine { line -> println line } - proc.waitFor() - workingBranchName = "${workingBranchName}" - println "Working branch name: " + workingBranchName - return workingBranchName -} \ No newline at end of file diff --git a/app_ipc_monitoring/gradle.properties b/app_ipc_monitoring/gradle.properties deleted file mode 100644 index 20893e085c..0000000000 --- a/app_ipc_monitoring/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Thu Mar 02 14:18:22 CST 2023 -VERSION_CODE=2 diff --git a/app_ipc_monitoring/libs/arm64-v8a/libsshtool.so b/app_ipc_monitoring/libs/arm64-v8a/libsshtool.so deleted file mode 100644 index 88a15bcb525d400302ae539800832902af3f8c06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1395064 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

1XfH zc8TzvK?$Ds*(-KWZWB#**a31WdIbKv9hBT6t1!oN@5d9NydV1@DG#R*{BdS4Zga>DH@)G!CN$_g*xTr* zw_R62>223%q4c(EC6wNF9Rd~IcIDBnvv^Q#ec+t#IOic68Ao`-9MArJGJ{w8U;2&x zhko*6=IqaPJXUhasM2*l4jHp*Pp2YU;clFXOUs!Q^Fbl0?g6w0Ty zULeRIK!T0f^Ge zX;!6whYFQW^xRJAJeox5quY3;TSIxJb+a}xoWT_+zk!U`8Qk>mXa>s_TM^Qdw}E(+ z_RPeu6sDLr24-eV=8I}FgU^Mj=5>RL%}X5T%v(aUn)eG-XkNZR(qmFWlbCl{!kf1n zls8WksR~STGD>eD^D>pL5vC~pA^mv%6^hHpy(xn0rrMJ?o zp5Ci%y3+FnlCE?uO``P0Kvn5upuEzWNU1Nh%-C)5Pbhyb!O%o1g|bV*c+=jYilSmv z>xz-A*SWp0?N|EFq({6?m)mu^K$sG(MKCkh=Tex~@E>8S;k%m9@M-~w;oWFf!v{iX zw0QLrqYrnw*+1{eIz5PZ%Q`Lp)X0j^$UZ1~Gcwf3nNY#rzgD#E2jZ~g_QfFgL}$vb zFf)rm0ZcUoiE7GXs5pj|0uWOM&|6Iz4HYI{jX=_4m^eve_%=|D;VdX0L!B*oV3Pe& zx?zLu6R${^;{WgJZ=ZOTFs;%HV5-vhL&Zwh2tbt1L$oU04=PkTb@Fyf=hGyKHw~yN zeLYmV(j{P$15oT_4$REiQX>OOUHTTGs`LV=Sm{)6r}UZhR;5Qkg-RC) zB;C`cG>Ou$168G`LwTh&krJze*;0h^KN1X0q*PXvNK$sIk(Rs=#4Oq~i@|DPig`D| z%rq}`iZic2Of|0yRBT>>03;@hX;$-of(p&66iB*x^JxY^)1|N$O!8us zUR!Sm*?+22`gNGwWj{>U%l-`;AQl&dVg-X{5BwgvmX{z*apc<3D zP+n<`$&fH6b5XuOc41!9*v+sC9xm=cq9bjplLB}{AHn=sY9DyZ1J z8UcuTT@bD2odXq`mnzuKynLD@CJzEt^F~2=^E4(UV3Nq*6)RmJ0P*w#G^^5YLWN3K3M5_W`80{rIo!KfrPtEQ zE3JvN+9i^`D!LEl-y|5CNNb_|RnaQ$n<6ba9mJ@*+`6ZMzkqV&FQ6QA`#AH?g4x+J zyIZF0z6)U5m~?`v=H)=e=2Z$n%&VeV&3g+fG_OV=-aLN!gLxKT6(#zrp`B>etD=Tb zYV!98@+P~L19b913~9}u#xtu_kuW7ro7w7Q#;FpfHDoDFHDnG{Y)Fj&#E^VMt05Od zg@&ZKccoL>6 zJsv7nI@Ql9z30EY(mkOV3Loabnd=ciM2FT zm<=4ciNbNUFh%L#>GzCf&a+HOnG`nxtkTP2s?twF#Yz_lKsbxEDaM)AC))$1p)@`#swB?9%=J9H)DP4NuS*IC#u2PkZzRsRIe>?3X$nsa!R zN*{FI7OFppZvyHoP@VxBtM5Tx{Ytp1{_jw#{>McHVKpBQR1B2ozc8@Wq1C`Kpue)PCmif;Yv9+MSp$!D z&+y4Dib~hj#^;#m>Acep3JvriZ(v8bYT#W^YT#8+p@F$)W8kqoomUIv63iNBUWW1p zrhW7&2Fl}O7}(UI)xbfZJDeu46CLb*Yv4_sSpz??FW%7z zwsl>tfi=-D_8nwn@hymcKs9=up{${rI4d2}KDW9& zQeh3KSOpLA&#f+it14U%r88q1RH#CBtvb=F@DVEPe~4G19#o)0H;1$;d>pAz0xDL) zgS-l-z!eoTUr0f+4R-RhsyscM@GYwICgHol#^p|WN^0(ZxeebChu&tx_X+5iZB9P# zV5@BSnjGrFx6US;zQnFt(r5!|Gzsn_BpJUg3snu}USbD8-r$(kHOsw5tT$98e5t$x z_?)>R@X{}cdZC;5(qt&>B^@lUKZE@U;tDs|L-r++MKos@I%#V|pZ^5*6^7HWPla+m zzn^hixp505L4F4LIeaz2Fm7x@rIpY7ifApTBUkuP-h}bpOk$-IW&ilG5mBE4m;%Es zF6$lNhWEGVYng)&3&ZO{KD@`l)eQR+X_{es(-xMd`QnjH3^)OXTDbtqS}AGpi@H|R z;H4W#gD>lvn|Qyojqhflk_PfCV9eqn4!zu_!D`Sa;+sjP#o-G3%BI1!oY`5N?Oq@& zz8vYg_7z{&;jMBXf>K}JazyCMTIb99w5l&phw{FZbXe|0*-29uQA+`+X>*~hX*zG~ z|EktmuhxrRS$JOe(5oKgz1khFdUYex)T_;D3+HW~6Kqwej|#H@s0yQ@oC;$1AcyQN zb~gaI7{1!Q4yqc6PJ`TYbQ+|N^mZQ)?dLaDWHLWMb0fNIGc20RE+YUM>x)=F|He`A(&t0)q4F?a=HMN>T@+z;Ponp zv|j%Vn}mYUN3cC|D4uxV!>;)@?)>tul+kwvd$(~BI;oP`nCTtP-$QL51?hH zH(d9%|3dlNzd1T9p)V*Yh6=v+?|Ml@F{LQTrQS7Y9~DbRCqYj1)bY8#CS5qzO+P;@Z_fG)h^=hEXcOfwDxjr&Xgg z5UNs~BpavHrq~x|=#6Av@`Jip@KI(n>n^a8fZ108V*}~Xw6GPK1?*J&74(-JY`smu zpE&aMfG4L#ekehYIUSUnkgR_P6WfY@aiIzxj|M?5AuR*Bf+yH!Amj( z_Y4JJ8wq|eO|S=f!8gKHjSq!Vjn9GdMOG$5DLJ0Jj!Cc(hE9Utq2f|i?IuB&UVajc zg3?Ja*1V0|pLM#~1!6d&-UcAia+{3hj-QhBy*|>t|B0bfJjhS>L*c6KKOs$ZZ$g{* zw$#X4CwQg^zJY;12B08u8C1FpJl6QiozTF|C$(;AtF%~B)Zp$xyr~#A;IshsZlsXqdH%Ef*DhLG? zz!X7O)2f0xK&hb9pu#L_zE#6zv#69T+Q3MfMejp}SrkIc%-wJ`ixLARi+Z2xv*<;r zIE!-K06vRG!ws^iQVb!B9yl#6i@Ld9c2gB)SyUhUtoU2(HP;WL!iPesu8uxqHk!|EP5R(&LXJ{8^Z*@5!bFE8(d|O zE%kiI?;`VS6#ND7RoHYW6*iSeGUEwlhJIJZVo_B06Bdg~Tkv1PU|B43uLm~8GgJ9tv>sp&*h+0pI%U2pQ&m3T*nB>rga-& z?+tdK+klEb2bNfU?ssT%8-1pOE;?SWUY>HWKde6Aac0-4&B4My$92sW|7?j?-TX7c z;CYZ=_*=u(;FUvZ@GgY%IWLZ185+8kh5vm3YUtxo)=(`3sXx^Bc18O=Qei-!Pz4Y2 z3(sM2RfP?a3cJx3s?f~|w!Z!Y6=ncX6>fqGR2UMfuq{#{kA*)@VGr^uG=!@vyoogR z!uJ^}Ob%7}6BVwdld8}MDo|l@sKQ^73iHxb@F1_kJx+xkY=5>mc`~`p(3j+4$Mtpc z$)Hl38eh;;GN@;<&7f@#EfvZXuLix;?l6;QDlGAr>~y+uW;5t`o6$Tr*)JT|BpGJZ(yy5S7oFbdH^wav+~lH^WtDu7gr%E`sv$e0ep$FXH-$^^C|LBpH4& z41H?Rvu!z(AGv4@Tb^2+X`{+Jn6N zKY^=CPl8gVpMz4R*}qpgsTzbH6Y$iLb+0D~8?1NtI!nF#iSFNLI&>}enc|B;A8X$~ zc#MP9Aqc~Ub7Et#^&D>C-(qB!GS783`!%To0Jk!o8_e~!|9YX zP+EZ*YL=NC=w*ifF_Gx~`aHoq-$vy!z%ql{TxVy{R0po4t0~^+R^DS|C)%wJwv(Mf zZ*XR#cUtfhM6+GjTrsd9y1j8wVQ8TT`3aK)S1r62N-aDCN-fkI-8Ew2>D=C^fuSbe z3#BGbHSPb3{ceV?MCIfO^?t;_byoAb1JuA{t^ihQ4yl7-n*iA>q$Ghke9II3o z#68ISV+vgL$KO!ukI$fd0a=IU1Ds&HO&W+_+MJt}5R-WMB}eLrtXxAJs*8lg{ziFJG|^{*4ZjmrZdnaaiuq^BCR~zYKc%(GrK|0~NN1jl&U~**Me>_6GI; z*8H#&Z|7)9N}d;*7lOpRFOZ~hxEo62@CuZVgUsl*q2NZ5;L0??AxH!l!&Slmf>OaJ zLWP36go1a81m_lo8iybe{AVQinMm-848c8};QEpiyG4TEND~}_MDVR}RpVo!RO7)= zp~ihf!Ofju{eyAH5^-B2A$y*mE@Y4sV)MFXq+KkNHEhoH^IE+pHAj7;xN z4z{PA-j{G@r*}~>y?eT@wt8Iks1 zy!tQ074`2obw&4Srfyn5Ly-?hBHLUXdSr_Od65aYDssE`r?)p@D36?iFYY$)x+&Kt)UzQx>rvL<)seR-umJJ&a5v+1)=Qjy5{1>% z^CP$#%A+pvp==2idSsXrY;&YE5?lr>7VJUZBNxK`2an8j@-(?my9wq+dVlk=YJCh%-}sE$BBbY>9&%U_Fu?>^yQ?;F0;EM{bW4F9aJa?m^xo-QcQ6 zW|5vT*<2)(s%)$o_pZxJ5HK(VL73I?MjO>E+SBTlVig zT`!51?B6d$rtaS-&_CF}&kKR<-$%uAWVJ7HY`Z!{`}YkroD})>j79v7THNAGDEljTz zHcNWFN&6+%u`{6J^pYrbajF%dUUCMm-MPd^=|HGzAo@4(5`;;V`p~LTx&=z3B=-pd z6V1?z?~{e1&alz^_NvX71z;turuVgFai&8rWK>gpE9eW3lC)amU|nrmwYbuy)wtko zcJp1=JW;re2iGnHCDx_A&92s=?5ruz@(%=V02}+%gZ!*{AFi9SP;SaXsZaHSv`Tzh z!LTP?<(=9TN}b9x8+DTC<+nb?_v402%Z!68Tlm%&wydqAni7eIv?uXKX#l})cm@JZK% z8iybe+!U?~UJ?ne%@Djk6nwH1tXDQ6OT?8TPPLl}6>7K536Y7LJT=m;^R=ONAxOlf z;Hq|uBf;wpo6Velbd&^>%+V{G0*ADTazHfxnzZplkc__| z8vlAIHEbGGXjoAw_@GGeRo8`vg&+}p8eBE39+V3102K-@2?ckG1Sf`vf2HJ!68TlUk+C_ZUdznp8yqVTp0>J#0l0!30WfUKar3>GK5q) zAvRIEM%s7b=<_9%Y|2C^h4yu}|1|xc!l&m6vmq zmyBKF6d5ELJG2zwSGFY9I1Oa5hYf$#-biH z@S7t*Y#V2;0y#iLm797OQ^e0l7eQPNq6rOr7ayvnurNB$X`)77Gb5R(n=b|aeK6wo zG^2lUMn62#8ND$uI!^}rm4UM1s?mo-#YPXwH2RTI=|<-}KsK5se?!tr`Ugh$4h0B* zcLb=>B_N&Ae_~mY=pu+KLDauQj6MQt7br1$a+=YXJ(NuBZ;f68W;>%dJELdb=#1VP z7+om?ZDF7!Ts68IRBUujsIx?R)=lX~&kT+J9l)pb4~(u31qi<>0@Ua$Ksuv;#j^RL ziy(%A_{$o77*xH%YV;N-s246UL(iMZlS|g zxN6clP_aobh8l@Ug=5oAni`t4Gm^H^KZw%IP(Tj+LlK}RRf1HLxR)M?F+;z=q~r%# z`;18@p0<{i(n&0vOXa3?AI@Jo%vM15PasQYBxJ%acOv9DGE?005q|IBXuAz{eUG-= z&`&tC#d$#RwT<j$Dua*#%nKR1#CEu%1@g-lb8^B-kRlr>&{?JRlQi<;x z3QBp}C11YlWv3Q*6gJXJFZo(Q1($p;hCnX)8dXGc@K;W7<{z8b z+w^ksBp7Dsr;n2QXJq#$^}E>gZI4_@{Z9`kuleaThprNIv3ZPZ&LbtuPj;~5ZI<86 zna%Q7U6v2Pi-TR)Jh~=d!(;D&68ENkDJSZV-RTruj4C>lpkNQ;I8`Kh}nTn%#tl!kc_l!jR^kqg8RtMS8EFfTu@qRvTseVH1h%|zj6uJRT?ZVGmmht z_bzw6Evz&PT`%#W+`C)_F03@-t~GqSluou;A0l7xdihFoB5bWRSJFSIG=p+91uT$C zbK&ig9GP_W9b4QTSDODIEuPFC<15Xxa5c(9pft*rP-&G$)TYwpGn@vwHI%P31aNYo zml-p3%Y8|Y6CmEi|EnKs`7l$W3*Y%nN8qkw%=HL5!uUi&82Iy1zW|lr}&G> zL!j)%q~6RK;*fR)Z5iFx{1#LkGY|4B=o@e~W+R|9W)DDxH9PMj;?bI+kGjhTtpSv; z*=yXm!|}Q)KJuw#;%sZ&HDJWg;=s}7an7u9xz0GrvTdPpdq*layE|0bgZ%8=h$K~c zAUIX|aHw#0wr{K{U}xt(sJ;?_*6o*|!r2)@%gkuFIy-Byy3BN)>SyOeQ1R@{a|8I< zSqwLrokij@X6N{OqFE)gv%vN8b^8-~>FhL6!R%Zd0-2q^#&X1OLmWGOc3uJ~h_u7_ z+1V4Wx@{X{soQdC3ukAQsLkxGp<Jv*A2Ts(SW07N1-Fj`cep_J{|eYh%k{(WBX8mLfk$53#`NN{6dvAaCT3tk^- zJTuaGafZf&oM0P=X$;VOpqh2ok|< z;i}-3I7I~~XbS~bg|65?68ut{k3Gn{;;zWYr$&OWf>Ob{uS;<2C)tIGb{QjT>Qq5# z>P$5Qb_q-J;O8jGo0B6b$-`}__!y{^iplR_@Dx+z&@y{X@$I00?II<4tAm|mE6PFB zDTH&8RNt-lvKt@iy5@=J8nA|31WNQt`wP$9qY12Bix5fhvYDUFc_T9lXG(Jx-@N zxhnao+~Fwa;e-@?k^P=A$eNPc}*paySg+M#mAUGtFjU|9*>miIU;ckx8t)CBYAC5vMNVj zTRg`6{X|yciW5M*<{Ap;W+hJRK*Jk3GVmDl0S&`GreR^u6pgx7-KEELIr1oWl z*arg?aW<4ij5UQ^l8y`}bFxn33NxHW*Skb|*QNIzQSax{d*2`SuIGEZ8!|H;GbL(1 znB)JL-E~G-%0iGV6;0vlQn3UV>rzn*dJ`SI^AhFtr*i(6sq&v#ZqW&ZBs3MWi<@4?UUwt6Vb{qEw& zbn?Huh{rGgh##*J%VuC%HK_44RG2$CmYYL4Cb)ZVU+6R*=9!i`&@%0h6~MGFbQ%Ox zU+8ocRQy7xA_2$?otDw8FLc@p6~54^N+9tIofggv1J!+3t@_Lkdt2{8xEiQ@C=FCA zC?6>KnZX(rIL=%*E6e@B;vgXV!qRV!40b~8u2X(s@m_%XzUw|v`o8Ofp!9v$J45OF zuD?T!f8X_3`(3zUPL$2ISy8sNe>gNE1WC5lfvZOR8_{aSmr&ja$+iU7_Q_eqUWLv{We6}s3Qab3G}jQdJw8`nYAIJ5(2WjyrX}K@(^I;%nDj!uM<}uojdNwQZ5Dnal zM9dsP0J)R=s_`SW0wNo{3iArbax;))iq{$0bl-$r*)mp`GRw4YW`t?ey+(8-|Hqlf zq2hF}5`a|YL5S9L9}nfzeKC?&3q;br=(((fY!i7E5i-7jaz(URVBvZa|44wE_MB1LX;5M{BnS>|g?Paedp;SJv*jY{=qj8giKc6-JYPKR}tu-`xpH zOa2NYiCeBqxl$>4UMh%JLA(?pCdUYwA=QFd2x2Aec7{-$ z`EuwO^Yha#?>`Kx^J;;=1-!$Pe#rBo?2x)WT;mL|mynA=-WMTXjgj^ymqXf%`FEmd zpIRM8ds_gKXm^0C(f%4~8tr<{>gV3`brp?QO;XH7a&y<$m$^rf zA4fUl+A`PXDPQK^0hk%-_D)z@q{o@#>7->Y0To4jtlehxc73eN-j7_i9ArE}LXf!Z zDY)vgOQFk!aQe>3+(Y5j^!r7u~LAtIk^^~Tt4$-<@VUi9*1z$jY}aw}hUUO*Q{Fowb_Z1Etmc8Yr#ir$cEqKL9GK<^$z2wXnltZW>(O4=Os8nzu^0 z)*T3^gEVH`Igo4c?Qd{ISM1y>u!vIg$^l53`9G!n({;a&i| zJ!T$5kd8KTf2PMtr&?OfNt`#8mcqNvf~xa2mRU*;Bj#Po-{&AqYuc@#BOwm|H<#Pl zcW*-G;cr<|1gM0<3(kh>En+MshfEZ>TqEw$NaITk86Ta+5}v>`EqO z@|=b&*>u(=dlr;kKPQ-K9wzEDeI?tE!iM74K7D?LzRLCA`7^Fyq<ISt#?;qjF|;?KU3>n7Xxo$0v0GIl@$4SKMo`AC_bQ6PkiD?1_cacXq9u7j zLw`r6?`z@W6@p~(>I7F8ukR73i&sP1{O;~21h002?e0zlZ>6!qB(eAwvpfLoV0~Ke z`sSgOY}}qHQ^q13)yy| zhWlQj2L+)YVnaXHbiI$4ceYUfTK8Q@3bZFB)itXTtFFnW&AO)CGpRqz;V(D_z_-%e9O!{6-U#V*2%xDs2UrSwqlul5j zhNNVX;0B}5kOe*^8$o5JWVOH~EmqJyPRZ5MEGhXM&6-$~pn{Z4p{Y&D=a3qtWP!9x zN*?;U@A(&qFeTfIt^AX?+p$l4!>1%U*@TI2o#YXhVyx6J47-Mp8W~_HhE1lI)E#~i z&K~D-EH?*nOb|i4puYe_3S5O5V2^_>#NHYMVwdt&Ky)e3S{N?nMFNnEu=X_TQhq9w zUWAP`uOO+?*&*9LyQE(UKnfU6N9yNL@{gwk2+L~G=^BX#evx&c!n|#dA8{-<{Wzwm zGgj@}fyjbWVaC|w?G_?x=L4~7KLaAZ)paoHQ#tu7KJ`WKI*)*g?>c*6a{gd$$dH$9J8}O(`pViF6-@9fRhvN1~zJ z9L}*ynq}ixPP6QO+%}J9>*ObBRwplmik+Oe);W0#&FbVm|LvX3ih`tkfyg#*5DeML z@GDz@S6S+5RR7)%H(IU+fhLaudM{Aj)O`&lo4N}7j+_eniW~&c8g1qZzhECwxMeAO z6-&vX)C`j)ecumR(&ao}(q;Sb4}bCzR>q%mE|w*I$p4fQF6oh!=x;L@UY$%d>W`rN z5oGr&f1+%US7}a8u*+#5s7rKyZ7rNJB>q2)aROUjL=Y(Y} zbl(8gh3)|;ztEBF;;hwT*>RDRu6|3Mr0?fT@irZCP64gDrgenUHLX6BU+zWFU^lq+ z`tgxKvncd>2ok}cM}qH)1iu^!R^R8NMDloi-xg7sz90F&eD47}@O?#w?@vH}?E8>w zeg6h*x5iZheuou4n7oswKzxIFm-UD{v`;8gCFGPOq`;cpW z{{w9G{UoSN-`8)g6EGw18&Vw9_lxM1;rrBZEIToBRUfc&ug3j23`}uR9G^8O)rX5i3ljbH46Yqv8*uH*yGI{%T1DFwLoNj*$hOga)mj_9*?jPSikIsFWJcmnby~^0;y5@=sUnPA_ei&?gi_C*s0TTC*fvc(iBb288+fY9B2h8B_ z-g|27rGO^C=GI7;_x%$+yFiryaViu!q}{8miBz}&RIGvrvF=zE&Vnl{?BJ38N+(ae zYKGqW3Cq%_$?tgPWrcOhGDA*kQp9@+iU-(E3oYSsFfexY`XM-jv71-vzfwBBEbRSxw@~V~1<$WSjMI z@x)#lQk$+k6x{e#C2hlfBOJ3RfvNRF&XtsL8~NMHMudlPA~+dM}0@RD*f z;Hulsfl{~K2&Hb*FQ(*TvpjZqAj4gPHN0p5%4Ql;^r7HV!TgF#hrxQpf*ymahSGl=C4@F>27#62k_UrGu0$>${F4G` zhVHVG8($Vy?qHXaT=t>hr)^r%qkdYCW9jj`?eSPnCqI0_Q}^HRl0l>s^UR@4($S0lVJpuCc{}!;T)=Rg6$l7gMe=Z z(2U8&+o_?#ITS+6%mZ+B4pokjIn?)KKZoW+#gFdJ4*Vl?XgpjyS#%EN(pl!vBmaqV zUmo3E?0We*w259ihxUXD=1~6LnmQK997?T-b5$G#)MgI-NW0FVccA@nBdyp600ImvN5NZ5PhQ=$L zU>k-HBEc`G2@XM0%kGW@p9ZC_xEd15|Kp z+CsrionRZhcOtYGk)&h{q zx|!B;%gJn>P{>A0gs(7?)VcL@3R^sitik^@%R*7k^3Zot`YD_71ewW(!cM zHu9(;m9)J>O99~hFQ8jBl)Bh*mBNb0CMZg$b7qUuJHgYxJzdv4asIpP%gRBCK50+? z4s$5$$tBUFy6=IFlgfjTUQ*4T=AIP)5l{g9J<1K>^0Djoh=^g?_gKhGJZQ})?+OKk8N~at;bs8 zu{S|&=dreJHGtM*ts?Vw{vtHbgS>fbk+dU^VP27wr{-PvHRh$vV$6HT>U|(`#XR|2 z4CW1T==NgX(CMH*vUzj5gT1mQcsoQdXIwoV@*C_r=1Mx8h;hT{AunR6F#aVB6Vqh> zj_j>g_T4*@eX^4+?>VRpW%ow*%k+@<9aI?qu7hXOWcOQ>Otj_>^dz%tN3u_KvgLIG zFNU&DLv~`dzE+^Z)RXNl_oZf{rJ03Ddm~6ZpfBU-YQ^XuC8wB`PEd__u6PBgqpb#Q zkS7k7exuD0&TL|wVLO+bduc9`DczT`*TI#6xOELR7fMsU?Z1MYI4sJEiC?DWgai4U zxD>7yy1k*a&>aUA7P^8^@DY*V7GH&eJ;)2*90`6h61*%!@W@c`k&)n{G{GL^1s@4l zvv?;_cbeHrb(O@N;{>L}y+gZx%e#}Ud&kfxcJITSS@)i$v6*V-xqh1d*U~R}u*oXp zYrMAm+pfF(nU+xRb{Ntt0ohRB3y~-+SRv!jcXEc?@V)@&ZT>bi$*gw*uD0`jpRe8c zuLa+{s&QR&>6%;+eGy~?*tiCIkl((Y4OgT0I+R9lI+TyzI5gN6*p_^qFNAyxK(u#h zQ-9weZQh6mK5$Jqum|}d>GYIPJn$8UmYVOn z;mehPVqZ=%-JOVy){TF`9ccRwbA5+fH$KLh4ddg^jdHPkw(FWFZk&U)t3hp7J}Vrm zxuBkiY`)@~&}I+vHlGYvot*`x&Ta?goxK!2=QzQ3voV+9Cjk)iaJHzo#PPexz)!+| z9=@nI&U^x8*Jqv0iFS12pH=bcNX5Or4OR3Yui`dj{6kpsoIDLn|L+M)RaS9XGI67I z?J>xeupIj(V@@$$99l28NL#I*4*BF=mhsmD{MoWuy)@$VUyg2 zle}SJkn1XwDtQNcrgK3BZ&;}CqJ@8Fw9oqsR6H|1$VcKcxSA|?LTR$R0OgZKHtBOh z!ILAw6W4}I^Km`_94Su$6RsH2^jb;J<|6f zQynB_6KXWF53sU-3S^HqZGUiIc{|BTmz~JMPD{UOETL?ncHM*;lO3L{`Dq z*A=}1W%m|ZIC}1%=gbt}3%VVD0-R)a{!wA&)*XF0vsJ6o?cna8!4E~r4(<+ia5w$r zuj`J3im&VD1CZ;wZS*du17C=Ns)Ul8ZnAzPMj_%(*#y#2XXJBGHvDYkn|DYGHle2U z_!(2mO{zSZIKk?;_s^=M{F#!-wsL5lJ{N(0(OTTo!6t^&XQeenzXG4@I_5G|auwQK zLXU9zl$ttR7MW)eY1ehRLS(Tom&Uh!FkpMkS~fO-+2{sHQE zfY;kDA3|mRDQb=zKo*za3tqng)jvf&2^IY*YP?zE@cH1!n4({@5_jD~9M>613f=3} zIEXD->mx@#3^tzE9^~is7`W=l?ojH;=1^{4k2O+?+ji6mk;~x8ZwTRf5L$}ghH|A? zYD+JNv^snn>2SlZp$;D8bvO&I>d+WUb?6M`gDEPMgerW83iAP|3e%v1)nIBS@@x3I z8r0pGRtV>X%C3!+oeU~=m0?pnTg#TzexBS;SYfy&&2LwcbSQ|$K7Qn z_6qqj6Q713%*5V~pD`1cYzqAmf@CH>3RnGc6qNd-C6o`I%)|js@ITH(57@y>9PIk~ znfMVp>rA|mQR0~x;_OV^0#IjS89<$hO*U^o6NkG2GG^i-Ky@bmO!sIe>V%l%`s7L= ze#4U^Kx;Oh4HabL@=WA(_?nFipn_$2i$mI}vnk5P)3$`(_aL8*9pS3?*C0*3U!OLY zjZ;nc12r4Pvu5Z{o2VHdngZ6cR(4~56Rq8eKNhlpHwV4}9 z<{Dm;`h=MWs7GC;--1pQ%9w>MfDAl%v@EdQIhy@Bx0?2rzNx1u)9)s2-xqkVmZP=X z6f@YFKikgvOX*Q&{q|YlH@3N3-JEZuCcjaEW&0+NKUPZm(m%2iRZ`O1Ss(BWBf90u zMx`C@Z2LQpC(|&_7^qvI#+pqxv&IGC#e4h|J!9;F{(SEm>R(V}O%3o6SbrLuKJgV_ z8v?Z1QpHeNC@xQz7BOs@sbr)X@XE}`P;;Sl!JiY3*_bh(f$gf)3k*0f7<{ zFC)*OkzXcbsIL+Ru^3(A*9Q6b+6wkmW$g$a=g3xEcdWN;>OFi5Q=Yd{8-q%u^t zW2Ed=e}>9>kXQCJxT61JN!4J_$kc5}WQ`g%;BOb*n)&qDbqOY2rA)dmgkl9`(gb7&OCcR|I;>_I+1X2aF|D1y@b7z^d|LqfI93AW~UOAlkJQxL|8$JJJ@ zV@M}6bj~(PU@|$573wV;&7T-UqIv3P@cHE=hwdim;$@&Gavyn;*~KVqlHFaMz?lvD z)pmEqCa9nawx{);dB7XH$Zw%SG<{+713(yb-W&lK*;cR&h{;@fnE%Xu=saL?;F9LX2e z?9cz{4*`~+%;|x>IXrzjhtvCU_&^T#^yQG;mBZm;|3`;IHE7J?$Xz&Wc#pPmeEF;J zE}m4gZ|t!z#j)?5v0sxay!R^@J-*~n%1x)jHrxfU&m-*wl~3*Z<4EgUNX-4Ou;yLfH@Bo=mhiKV?5Ad{d{x1pZdRJ5kJrTvK-z zJoBqbrV{2Lxb^OVk*L3r*5&U4*?5=$lc{XwPUoyaz8sF@kl3k3WioLM|IH?gs~7S8 z&>xIXCUVW2+2@G1rp`Q0PZo)bQl`#APDGYj+}zZCpA++?)kD;*cZSHX|0S(fkFO#< zEcYz9fgU@H%&+g@4T$EQoWuAuImdHM=Jb=coQpZu&l%1!l~c(vH)l4-{G1m#*30>T zW0BW)R|ZU(U9-h+2~)R;XtkTwN-U_izi8F4Ev=^srx~22v7Cb}=S*5lh0`2PR=}xW zMys`C53wXE9*z11mbi!=N{CWsm~&g*LpU|pS~b2DH7=LI8ug;}3E>Pk^-5@IaE%;p zhz@sHREt~LqVeC1*bb$Ddtu72Fq%;z;3N@a0Sz19#&1~h-`s=-bqEp~{L^?1#JWVo z>w$kDUB=L*?hd<%Y(>{!4RZOr_=d+ZygqR^B4{$^)UPdYMvVjT4RQ)Wx6z z(=+wfM3?Km5~&~Ym3YUTSU*+m+fPcR-le@%+D~qt`qX0za#LG8eMb9K3-F?`>6e!} z#MAw|r22Y#K(|zhr_bx28t3Wr^HXIrqq1%bCJ4nKO%HR!$q*voZL~Ns=-5rXHo$PVQ-m)N{}iMCs}E zn=FL3L42fMZFB6d)UlM*~nC0XrevGO@BvRn8W$CZ`@} z$(-FdGPSfW)wxsZ(i7Pd?65dINpV;QP;58VO--FGob*F$^AwdLn_lK+I~f*blZuzZ zNHlCotF>>QO;XFb;=dZ&a5!D8q5M`FNxGvhvBeEP1Z^#T-6mfKI>YpfCX4CMu)q+@St(jK`Yn~Tt>Q~TeXTjIi8S#G-gc?6e%5t-tFm zu3p6VqwPCI(xQVeB>&>n9AHP=pYLAQd&iD;1g&Z-k*&SRxgv5e zD{_>G?7o{Au*i$djYL}R(QpF;oXF;PiI#1>$Yz|HeXYnE5qYN-xj(H|%XX1S%bmJI zk=Iy}2YZpjL}V8$vQ0fi9=y9~S>{C^5{b0ju5h>4vIcZ>Gr^~8G}CTPnYtf{{M)Vk zYeoK2k>BteT5VEJf>Xy>&c`Bq2bJ1Y&ZF;kNjZfsb$8e$NXmOb+oZf3biGV;oRq9M z>~0dfmQCXo{@du(t~cK&>SV0h^?Ef&r877rnqJPH<8L;RjrKC5iN3Ks_IYgR6T4@3 zDrH9Qo_+9-uy)Vx`nP=4ztEo5AJnX|oL$t$eq7Sqeq1`zeq1)$eq27weiT1%KZY){ zA0=Pek1PMSA6K>F3TF5E!@Am!YtOJB!;9_54Y%8m5%=1Uk&oDqQUA6dH@;&(Zu-oA zly0yeH*c{YqZ{ucGRL&CALI73A7zKzkBXD+$1UUR$M^^B$AlN`$E}O)$L*ikkIIeq zl#hl}m)eheezG6;?!2os-nX~? znAX*POz&$y9=OteRF&J08Pn{?L$mG2%xCP!tXJ*FBX8S}*~{(6qhHvM$9}LMbAGcQ zPb9cB*}dW1o$beyyW5Ya_O>5SceEeRbhRJP9%DbAKgE8$aH0Kp>3aL|@>o6+&2}b4 zKl9g}y4@PrIb|vd-{^tHb=ux5#GK~e?*wFzbM8qd?&g1^xsnwP>X9#rJ*LyJQW~F@ ze6x*?^Chi&A)wLo85~x$6X2OfReM~@NU!j}(L<7v+Oe6COQrF_J-*P{+2(%6R9GBNgS_0zdb)a(|rp=>cgaF)7QC|QwO*n^z5*f)#A zO;CF^ll62fK1jA{wf8xRM4kGrHY27^c8h~V%tO*ysNBBY^-8V?Nv8N$+Os}07sJ`R zjFmVSC9}RZ4YKObR@gpw(rQ^fg!L_~=8n~-+g^Irwj55|$()?Y1kGA$WF2Umm7ATo zJCbQV$mzmtNMwC(+MP$AiL|%-31S9B`?E4p`R%5_ zJD=wL=5olt)g&5qHtpV}@mbFIe~knG_Io}zktl(g^`mLmWbf?68=SZ61+fHT{}miM ztmd$vs8J=j^G&<&VB6t$Lf5-Rn$=;>Uc3X=Y0A2u$U3IojUb<=IniF2Q`4CbMoiJZ z)sgB**|%rqw>tpQqJ6sph|3@niH^0de=a8nETs33LaB>}h26K9c8}7{>Ud}y)v?{r zv_!s2gXgzf;z!#Rw2o#SU*)9A?8*AwwCfMsN`2i)JunuThRts`5`;D20Vi@_iNkCs zP;MI$kAuwF5{-jQe;1EL%YPB{Jh_X!f^6s{OGUlII7_sU^Ona7R~qH4#p#^2Y=*B7 zmP6+YI5mkb#Z2V-^;*aVr^VHRu+%7_WNx)67iuDhRu>A=w3sRlvNE)gRy&ni$P8=o zlrUu9(!w6(w8fj!CcBFk_8_Nr*0d1CTZn!w)(Yei4$Zc3=)~Mh9@y%8nXL7j?L-MW zP3B$mLk?ZVG~B&j=aFd9Y#-Y11k&KyLz*23eTUGmbgh$W@M5Y0TBdD-mlCO4J^gb1 zM6hj0({K^uc58Md<9y1LH$IlR(7U$yGO9wZWV;BGOc>io?XA&bZNiFF3YyP z+e6ZDtsPSvW=q3$R-QJ@m4+das0OPLnrJZ%d%Ha+tUtE+QIyqc9knAnyW2cr7VpMP zwkkO0v7$$++d^R$M#EaBUc+^JS6Blg1wz&`VVx_kjzzj&p9yPVMcQb}YPAMdz50g@ zIEx2i{uI*>|3kokH8>eM(aj9x?m!p20kI2#91@4uE~m9m18Gil>nJB3B1ocJed%+g zZHQZsNYUD$W4GPqql@)%0~X>$i$)x~ANl_{dlTrWitG=#-h17h&PEalB)kL&kkBCz z2oNA7gainCViGoiuoLzzvM7$ID4>WaqKqO&0mU5^M^sQ$#+8|I!EIz*an})*QQSrx zzu)gxz3vY9|IT;5J||tb>fX9_>)up@>2752$V@3Us*P2Y$AUja zS*ZsLR!dWnO>jjzt-^pZ;D+6AtN50Vn2BGiXgF(} z6w~la6%Av-4`L90;V};i4nB%{xenJ(u@O|!*`$4f3#-^D4&zz+?CG?VS^7@6mm;1j zn#t1lq_h?b5N&9&i8~(o%=y5__=?UU+518!iX%=HtzzlB($CW>7hOWsF+oX%yUASh zy&qr(85C_KQIT*J)0JMuf_~agY43vM`pMYa7N>m=1$dZ9+bnOoac22t%rN;?YNRawB!LDgskw5K8%Qj$~3O^S`e&G<9e?H!O>}4^Zh{Dk!f7_IV`P8Q<`V3cwgjas z2o96JEhAVcOVth+6V<#kA@qyaL*;T8>fTJY zgvz%zVfz%>PWcFIKOx)hwq|?MW4k+=?bOh0;6-t&e18)@G1xXbvtn=JV_ERI$?*Bb z<8wHgPkrdsFdvsYTDL!{XAmlXw+Y*+WIMkX*!BgoV~nH4`=7`5cr@Dup;F+Dc&ewi zyw=_w`ATZK-h?|^T?k2q2$@Hj)Lu~_kY2Dqb z<(499VcmqVJTwr5>?jDiQkP}*F(V0-@W;#QLC2#gtfkkqMw* zfIJx)bh1f>zp}zJW4#K8uqqkpJfkZ-qbr=|uD`9PT zwM84RhA#gJgBl{&s;WaSC;s8%s% ztNIS59n}w6y;G&smCb_4!f~AsNnF_j*(HBL_A_p_#li(qayTD^4x_$oo^A(lnvI)~ zmWRFqg>0TK1)%q1s_cYeH-SPgt2DzXoaO3DkC)Tc=QVmQ_PTl1;T$D~y_3 za?KjP?mY!UmiN-UmW)Py|4`9Z=6u>FHzGO7%OJk81-r6?h z(xdThl)4Fjp{zKcx{JVI01pzF1K@zT%@8qiNE9@!VjE9@bV%57*su?R8EH&tpQ*IpWzi3q)tN?7q z!R7!E2OCS1pULGL#P_51&Fc0L<}I*PtQF2B-Xsz(*gk)i~p<;Sv^dU2NR=fr*SCMStRE8^4V9DNwB?P!UImt#BXzosa-_+7@OrPYr2so z3-gJ!xB``&#nxvWG|M3|2hASPWq*W>2(nlos19gh2F(%?C}(9$bD(;mMf#jKTlv(r zwD4A)kH^{Ba<*?uFbak4d_j5yiBrpVjENO7_v?PM~Am4~{6wK&;m06KDX<*(@QlZC(h z=TTdGkEm!*boDE&&^A;P85hDHlrfYIAgrq<dl5CFVN{Dly-$ z0K(>LG{m0y+GZLN?gbzs)B^~M(1aX27vMyM4FICdx6g3(%=a?T(y_j6G}oxjP!n3j z5RYXlNW-=}Xc!vXo%xgj)0iRIgl=O8&{@Myo&XO~SSJvlrm!Zo<)LFB6&pAp)izLN#|LP$ z?xZs;y*F2>_j_Pv@)f?YvpOlsXw{RsF$t24O-G{2HkIj$a2-_q1Qn-uM#aVWLdA0> z8GWfFW3EPmHNgLTGcosA3CNwc#{Qp=Td5&yIT!!#qw@6{Tlu+-8X^k|%g>Vwz20{G zQS0r1U!KdLf!}Q&d0CV}8lctmBK~(f(tvUz4Oous`)ZsoeMOY*F0X22{r{zwO$_&M zEt|;sRg|2^eGxgo_C@6U))yt`cRnp=)*hp}eX_dgkca3q$Qi}e%|Bq7@RlGHGUgxT zQ26XA$V{!%a*0-)=*C@bY( zi_+03g?o@|Ik`UWguX(taGl%DaIF9!T-yVPaNUTUa4k1|Vw}xCgwiOk4dnW=6Uyje zxITbBi>&7Z5Uzs(M7Vy6oN!$=NGn~q4nXxNt~<%~Qzz7~r{Ve%@WS;50K#n3)D6IgsFhy};A;R~7a6YNFe^~1 z9j0tslh!75!+kFpF?0hc#Cneb5RJSCKs2HXwMIf60f=7=1t4149o@)$lxnSH9WmuQ zWqv$_Mx1Y*V?52=1R_Q!9vo%AiHuB6-|Fbpwzr8+CvndR8i5X zfHM5(gkDCmM9KF+*fcujHf=^>rietR{n5zs&<$QQj{z{z=^8YV<3nDeQ&8rIG1FPt zpKUQZHIqVw9=ha7!%|%G2jh|*(Ws0=CbT={fx~9$b6PvkG$BdOvICDeu(-S=+iUG5fD&U zq3r;|Hrs8aF*ci4?CFcs&0S5A{liGw?5IH+o81nitXKj7qHK18G7R>GE=94}>?;6G zZT4)_W}20FGO(HB(a7>VY2t9W2^|)O8jaF>2KjVY=m9QbgRua_2Im3LHmGrq*zu@i zap`p0>f?xBeaI5xRax8VrOs;_mSOU`Eh~|%YfQua$!l>L)>_UbzH}}Qwxg}^;^1Rs z#FUq4Q+Dld)|QuQQ?5i_OuJU+pG02TS*J}KQ)*1RK4RLeEl}&_zR+^uM6K5Y5cAdm z2%Gl}BcU;G&HzufH1E--NIQ(A-m`~kr5f`N2U2wZBG?=Aa`jn5IX3uY5gJ+uA}&Ki zy8v(@8hQ%=m!hG>GM|#gXxBo+xB&j2GZ@9oLF;VyEh$9)fpVYXeSPO@>1xiW$n(y= zvsvde2Ab*iMqdRYo6P*q0C2I+ZE& zQk0s-MP#13(xuSi2_KHSCYp2<3#h5@@5%+k z?&zo7?~vOVa_2#A7U*k?d=8PprFjNNv|0^k_o?3z6}&g;THlOI8f%-rNq1x`-lXHz zd51UPeRdC+2}#chlJs4`Brr>If%;1&H~VTy<~}OP{Ldv>kc{Z-3oOi)WN|-9mX4I9 zVSyy)TrSD7-IA<$N|JNmmSoirlKd$RCu6?A1sx<=-A9rOt0cK-k|Y-|lw{2%l3cPu zl1q0;vUZOo>kmkB+21AE@Qx%`WMCls0vmY^#22`dPo8~&tENh_d8s7VY?S2Mosw*Q zM3O(hD9QETOL9XjT)-FDmMzKl5t7_AiAnsnxsu$tPLl1rB)REPNp5~gl3V^Q$&Q#< zR@m7_l3RO8a@zn&c8`$c_OX)OIZcwg7D#gUN=fcnBgvjCCAsfNdGJw5 z{_?aW54|MGzN3;n^06e3{vyeNBwS(e#XsgEQT}sbOx}R^6$QAd_3?d*OM=SR3C#o(`&-SKQ&tP+6U!|t?jClmSq`%UwHh{pLKmlYNAa5z(BDB?4SXL{ z&=0VdYPk(K&3}^c9}?!zeBuc3zY6CZ_}@Crj@10|BWFq%r_T2HkBaaYv@EpHyIS;) z?*mvJTj}=!{IgKPOUqWbR{GMieHiJC$?h=9>3-e``Qnv9TlI;xev(cG3dnqz)r8|`?bIp%-y-9fEd z>9<8Pc(FNHSV;yPMDnGw+VN&{a7;YQRR(W12fKu6R0eN02TP?OQrez3n`63W@Md#N zq3HcaR?oZz-yJ&gW^+uw?rcZiY>w$}dd{28F{MoE?_%!w##=d z9U$*F$8~C@?>GDRpoI6E z-yE0IO5bnx|9}$SZ;l(_SD4gzzd0_{O5bnxH%AHYH^&Y1)6sdqIj*xm7p1)499JRn zjQ5-4y81bT^L}&O2*1qY7$0$!e$M1A2v++!oAZ8i+-N^%blz`{8|mk)&il=AResLw z%?Z}{IlJ?IbKDr=%lpl7oP;y^l{*aOZ6r&mm43sl^YN&avbA(2FbTOipN-yh_=IQ0J4TW-8cNOaIB5t)4*59YA)~SIpXQPRkFDLX-G# z99T<#0ilEPZs&t}3lelsaEGGa{hX{=Aks-yX|i*Ish`dIi_1Wf;2tp*x-=RQNnb#| znNh7JWORGYYen@aFc|jRTDq2e+C7IxrM;Cb&E%Y#c>^$Q2zBmnYUnN=V2w^6qhtA->lPg4Q$GSg7xOMgy=G8>#R6$ks!Efc$C~=Oiygo-A@3Jc zp-UHVp%qA9K)&@+ttE8nHp6R0^;l&v6v|pUhkUx{piyb>Pb?Le5i3eR)kP@tsSSmg z8L+b;oU{XPxnI$A|FP!J-u|NmG+cUGMasuTgx~JP{Z4>C^AY3h83uS8z~DL~iKuSz zGVt^z1-CURT+hN(_4)v|dR!#9_zt{mIpJ3PL^IrUkD;!_j)|Y68zDr{&-IPNl}*eW zWhk|SFS+FYmh5v z2i}nhwjC;r{9LOz;~zjthwYj*XJfQb!&+xQgZU#JJ2&M#2?nv*)dc7423SM}&Rh~q zzKh`BcA<1C2_OMiHi6)AWMV$RSFr4Eyn2}u*J=bb9(&|oTg9bsMmd;22)H$igK^6n z@Vh2bY{fOqQgIoCgI0XQZJ=qxOtKX}bSA<>+li=vDI&psh++hGYTq&6vlF z%}FhHqHA$kc>17XpV zY!F%~t%&a{)qMhF^Q3aTcA6f)m`8B2zwbl&k}B4Ty$Y6yUs???7#jmg;~U^OXxLc{ zDdLy41bvHhY14%C6@XJuq4k8;q)+`GMoVyojdL;X_$Fl3f+9JXPztrE*k!PL!hnZB z3421x3FS`$^r__Zgh8K@U<1e!2EQQ$k3x)uA!O@|9YlC2NrJH}(R9Kvwj7MTknnKQ zKrb}>Nffu-#rny~38UJ>g>|EqQH@qfqnb~(@KMQG3AJ;=#G|8#$7YEbK5J1F+Xiq#Us9;p?SzX6`(guBPCqT}8|1Zw9fI=|!krVAlAV(e(Gn;82lT;a zsCpzNaniTsIU1S7I=ZZi{Qx5&aWad8vA4s@iBssO$+0mIHE}9kIyd$ruuPo(1853j zkCJ8vSC)Gb2)M@*fAC`-7xB+iP9{la5)}xhfQ`wM#4#{C!I zwr)GX?c9$6XSv?icvZaYv%OliLB5A@>k!<+{VrdS~}- zeCN3zs51dQ6l}KJiJ!tzi<(`e)>&l&ppA^AhDp+!jbKx7;iw8!R^;$rYAcjAWzb z4nuOK<&H(N$#Q2Pxyo`6A-UReUqZ6ka!vo}8gN@J zHwCWtXUlyB{(imXehpW=!E!B(kZqQmh~!4JfCbNX%e@}1f0O0jiBZyMxydNJ8N$Q+ zZ?W9JL!Ub=w-mW!mb)K=_IJx&2Y*3sBL>t7%UutV{$sh1Abx&lxle-i_m;a7xRaKf z3Xy&QCFK0ka&JQQpDcF|MEb>Yhr)3GMIk7EwcH2M!YRu=3=aY8L+HbYmU|vXz({K$_bhiW8nxYL@$I-r@$GZJM#FwL5pclm3)V62STr7V8^J%;{RusebFYPl;@vM$ zp5Xoq+!Ebi(dlMxBQ$^*2Q?isFg>cMCTRAk#u$rm<57e@SRzLuQp`fh7d{zB1sB7f%RX~q>BK@u3_!T&!INn zg8wVvDK3hGvAbD5lcq_Iy`S(b!s)oD{t7ZnI43$+LFq{wwt_wo+>Y|RZZ69(SWGZ7@Qd6>L>*MD_(69@-mXR>@EVXRT&(XdaJT8eU@<(9(&+#h zh@gE5s`$QdqM-P1fU^Se0dy*50L9J?#J_|YI;D)=DG0<*gke+4*^8n;{6UQJlp&O* zJfITT4c3=6+zfP*GIUrINa-*K9x1!Il%XtB+`*-cr~))R5dSCGBc+mlSrdqVg~6(d z4NnNf*AjCU8=fABUjfUeR5LR#5a0U%GBwm+Lm+-3x|CAO%sGMhH!19BW|jrwkHG~} z#xS!y5I+^MFJ&wnT@}Eak>ov&zoq8vLKR!~QwirlP!1o{1zDChM)EBhP%CKP{0)lI z8kD_*+|pL|RQAq=0u?HI7gzjgD~ptUD+fi|a$s+(7YNwh)dB%~dp;o5(Fc8QbL{5+ zdC55VmC%stCtH<6f$f%(3Fgoub}K(CCFjVXPm@e~&T~+Voi6pWI?+~kYd@taa5_@BIDcRf3K9&P0e08ZCCPh`w{6_b>Gj?|kJ#+^f2 zmDh>Q{zmDXOTs*VBhRk)VD#C)>85W*SM2+Q>~^w%q3>&j-ADJ8gjfXMz86UhT_Z1* zgLN;fI)69hdr7YH#t`#}V7@V!N5YIA5k`5(Npp}s<1}xs8#@@LIjCt)g2s1KSD+n! zb(@3SV;C1>nLIl z2xhy%90<#CK+Ew7X`T|ACk@S0VVb8j%`bGar)3TBk)e4yO!Ks+`44HH6Pf^iPJ>cB z7p8emXbP4fwAeM4G*$qj9^yYW7OmAotfi5v=LUMpPkw7$nCd4#sd~*>&TcMgT4W0 zj(zC9)>@WZwSC)Oi>m8s*N=cJ8b2GQmoXAq>9l@i#Iek4o;H%PhNR{J2n!V?Pa9F#y^a$u3H3E9e@aTo%)7zqk)xb24 zta1MIvoxpvEX2oZ{1pra$q*VRgX65xJ~dcon{hJ1Y)5`j2}XlG-cQ=(F+Nqnb5MJN zpTlJ`@ChMiFg=bsVBDaJ8|@UaFvLDxe+{*ngIlztrJ7$1!$`bji6Mk)6pTO?9{#H=-@ zzf36~GyGe%BPq)Y!!j((w-R!e912HrM!Dv6q7%DGbQVxENmMp3TI_;%8G-V| z1kSr4)RxMNvQ(Z}N{#Bm*=cHkF1^RFNC;c|`PQ(}A$ERhfSp^9rUuo%02@q`{Hw@U z&WF~eew*<=Ri!w=&kRs)aK9nc&OyWX7!5QhU|*V!pE!60h;~Dt!8e(RQ9Qb^BJw?> zl$L-K4gXSlzmQsR@?)UYB=e# zfL#A5OEA>5dD(Q6S;$c#9av;alCMVxE(_R$p_Zr)yaI000gvtvI5qd$x-Waflt^}eBD26ToPz|7Vo8gCuU{!nZK$RXhdgACDV2zFr z7NcL{TFGy*|NBjCJa3hc)%Xi7Ene&wCs~F@)R=KxgCtsq4EcmGIe*GSlP3!Ky&xYX zUY{s_m54{-gT>PmrNN2FSIIC)5`18V3jXfysFa0WviRxkAQ{W?aLlw8)?zE`8Z;*Z z;xHevm%U*qWQdNQdq0GnXwj1CHQMTte!UtNbfO4qO$39{FJg&n&y*@zrV8S>QAGiM z3PSg7rc^0Lm2oMU3Q>bNt9JYg@NTbSIh~^38u}K>NXi(>p+2S;t1Pq%&yeXHFc~Mh zUZ`cNIa^eov)zN~aqp8!&L- zm-gm#IHv!5tELBdjoy##w0(sLxZ(@}SAjz7{0b3pJou^6?HEfoOO@4URJk`?WwTV- z%qoTT2v*i?`ocO>W0kfmB6Yhq-Wp;y*ARzMK?1imo3Smm4lh)`Ybvq#6F%`cFmv2w zsQt1NCL<15ki}(En#Hw;GYxG>utfp6_K-D8n#Be&E#mk7N!Cl2C+QZ~Cu-p2J?Q2= z&MCw6XZjF6R^#Xn(8|qN1Om%y-$2Ac?{N=yujIdKiixy#kudl#8I1iy20nBS zjPxq7u0BeZc!BWO@m#pRNaQC^6$^6wKocz0tuTaq^`k8MRj#I*!7;e>efVI zhlR1Kt}&{7cDURqx$a;TcI_G1FQTx!3^r__y5zCi7L@0yGqC9f%O&tz1`89`)kM|$ z!IVdOF+HkQVtcIt*4hwN-X&b_^`bF~=Lmz1$hkWTJHudUi$hW67oSnxBX2_m%S(5iX4so2WJiWI52R?G-;&f#U>xTH{NKmIEq{1Jva+40&fjG7IP9 zCyY2pPwqZz#VX}2Y-I`;OJNrVJLeo8`QZ}?o(JZEAosF?;D6+s*DV4;-qI+T`4 zMv3ayjbPJj)_ly0jTVnZ^s2j2CIZ>}-z-N0)iYM&=zWLO;VN{ehL+975_XrsQzZJ{ zYB4-bkx+Y^#n3x>3Xdl3&tyu38uQS&HJp-J52Nj_GT98Dg1j1aoNKouKI-_SF;BL! zhShj0CVD+{9Pv@><6stX5B%&U^~%=yeaMfcTa=HtDI89O^~ZkCw-j!Jf04uK<7fISM zmS={Irb#U)@ON8pQ?M<--GoY0PbZkR-C%I~QjVU?hJZ7!6ppLLbC#YkL3gu(-TcCm z8Txf_k{S9(0-T|{H2~lYT@RpcpQ*zcdLS5bzL0rX=IO%*+hm^hZ8nn_W^%;9)utbJ zVXC}PIMmpeqx`5TXKeqo;mkPvg(+uLzh9R-n~&iiXr-FQSmF6dh0^k8X?-wJrImZ~O zoB)lqiU5stKY+TuhChw;8AOU035qU#)?okGNT9$dptg<}x)an^g1;-I5N&;eCRAOn z8M{xwj5R>Xs%H&XJywBPvD8g4G~6i67n)jU-CY5g&ambx`f@>x!CFbL=~U^7C@fcd zVT>BJn~Pan9&D#i(x%#n`GFs+@xiVLc87V2VcU#WG0U)Qp34(1oxk&3ZyD{_42It` zA4j|+9A}@01#iwYn89z8m$PNf>WXFz!~r?Dy#@IC6OSUl-Ptxxw>~{ zHyFZjzh>Ac!Dr}qz+H_Nrk+kP?N@_A*A`9DT|?vYN$&#fVS;``%y$^oRmlcJ15cGt zozV19_WMHg6^JTV;9;B2HoKJBUS75bvT7`!c`PzM6P9zM(+EyOF9U8YsHUDyFm1EJ zV7#5E({eJ9Jce4-l3v7K3GB}X%OLrh!ERJ)cF?HiGbxjOL|vmPBPSo+JQ5wqX}`ge zQwM{k=4)(Xk3`iiH`uTgbB-Bo-Oo`>=4-O>EC4pMgGQn2G|t(0&Bb2Km~Nbu(%ouW z&=U+QmTfR9l<=z(I1v5{B6*Nlrh5Ly-DAFEIi{xWp=(le|ji^({7kQCV z4!{dM;u|rzF814BkdO!9>MWjqx09pq9_!2@rAHn1w(!w+$ymb(T9Qw7H~2g+3D}$b z44ezVW74A8OYlD<{W@svUsYFcD$y{#Q9-+nDqUsDxzt3oX7nEo&xA|!m~)N6CYYw| z%lucPvYd3@ie}`b^92C4n+zo#fz>CLqnq8jdy>5%lKnd@+2OEcm2#-|H<>xxulK20 z^oV_iTLX3Vvj11M`5DSdF!XHz6$D-eFc*NTn>Qmeyjq}9_71C$($%Ki^bRYPaQFBC z@q}q6tmM1=Q&4+oN8mQHg){(%*uq>&zrBO>6zxZl4X0=#R@ck0+DJF_ z;_hSVFkVT})8~Euzk|VW9<$3S`%KhBz%~`V6~Gx~_&Jedv6!^0e$#`2#KU z3I0w~&0A*Kult{&Am0L)gJy^R7r;~i_;<6$AUufq0yMHLIpnY*E+fRX>b#-B)AJaN za}sSnVi|O;XC==Q2hQRaD@0hkYP|C&Wp_hRiOHU`KKNX z=Lx4H=}l1fZMyrKweTXQ#-0R z759e-Rg2hU#{i!k$2xC}c0|Bgb9P^lepP{G}jc}1TvzKSGV-nX- zK&cYfk4aqbe+7213|wEBn&E-=oqrgrO5oZ6A_-jg0;oM;({{Q_pfjt_L3a8Pn7lu{E0FIwSKn{gK(}fzd>RxZsf!}h5=M}G0=+8H($M8V zeF~bnvYR(F7+~_T8v|BfPz~pHUX_*`G@l|;2{b@mp(&)T7l5{jeahw;ENwk|jmg|1 zWMgHZj*-Ppt?x3`vpslPJyhvVL&ibZgc}|QBx3*su4dN{8LH!2RA?@vkEgk-skydS zdYaoz%`HH-??N0?1-4v)>?6!RLT=Y`0RM|w(d%_&eu~-eV8ei9Cv1Y6acfws`G&BX z?|cQvM%$?7t3ff6mq>=!Yl9{ju>uEn^oE*80F`tVyr~pGPXMK34WZXdeW=I@vCd~u zROu6_O(lfUvkMLOXTglKHvm6Yv^YivMs4#e)JC;d1+%g%&dTnbYpGT(v}S7?Ox4pW zU`wwFa4@t8XLNRs{~yrh9z%W7bOm7$rGvUM2Ia`&XB;{*=>5In8m}N8w&7OLUee{uy{bqwbh#h4ExB_@5q6Fq}$H85$~t$_O9o;?Ry4AFG#wYwC;sg5G=CLkqPFjU%_CAf8wNpLq`=$nc!z>7Xusj+T@CxdrHm zf!D(PMm#j3JR+_g{nr)x($Yis;<#Qo~pyM zaA~6<;@lO{B4gQt94x5gGTG$Ci10mF>ZZ>lm?4QV|LBwOW5RIG@ilgkso%) zx@!y(mHAr}aiHoluZN<{F&0h|0tuFHf!1VpSd%r-si zkURRHyTPQDMJ47MiX&l0We|1HN1B2!YCH}`gC=lo(MmKJv(-$Rfpkk7>Ci&i4Fp;X z$1%W9+=)Qm28=kH2HIKSnPi=5jx)&@keHee&yKTq8mx_)#BfuqpMdW-7;p6vu7iEP zLD2%yA)%G2tKVFx21_}OnW2i(xY*sse#VA(4h#7sCoQ@zT2_y33v|Jw;Wh-?@EUHL zT~yCv_f}jezJqs(Zw;dfVOr;%l*Ly~R;qb#SW$6x(B?B%TC&z~)ZDoE(%jT7T@ee_ zX9!Y3OI~Zg;W7PM`_HCF)6>ZS8)Q5Tihiv<@c;X@_9yq_rKyaC;3==Q$DHw6d(0oa z)*gO8{bAILxeH(Bo$WyI1!RIw{u6iwpzUUI4IKp7ZW+Ow4gl;RrOD`6F#AH5{*|;j zERF31f}&v1T8Z^bTn0&EtuKL4aW*q?lJUi*yoxsBt@nWl#ucCg!9?pYGRbidu!Uxl zNsn`wNwQ7?lNI+NGs%+4jk}k1noFiY#aBO$Tnp=W(8-Hhv5^3^nC!=-1bcOjD$( z?o!$geexB^DL^2|6W2hH&EQ5YzMBVqg}|#8r${Be4dUgb7Pag`pE8PV4NxtvAZJlP z&??1+Wvml@MS>0XRxPBDC6aBKh0XPk4djMCTiN~S6_@6I2P0()iBw5MpLa-hr5T3EI>Kb7n5?K?L&cU^1VV2E+V=opK*@I}+CC&UtjYKa%eci77UZvNry!rAlaQTrpUsA6}R=@eeHbxbw7$YV~>=_ zP}5C&nc?=nLo)?b@konWy%hBdRw;XwMZ-RhT#xg;oHe@V&$L&S#nEJq>G>l)*5qnc zuOhbdnYG%qaVXrzBeAB9&!ml$;9A&{oIbNwqLuO+&?b(jKeI@u;oXrtClDWkSzqC#7T#Q_wv$w)$LT?mRIId3VF^Ohp) zlrKXGA03%~l)Mo|FSHhDt%5%wjlSk}!ql1`?(gSltAFI)SC5-;R@i^B)>$4_xGL`? zjs7hiqQ;a*YWKnxL~7gLGGH%2?Ji4af}Fa$jl8xt;nfnnoOR^2_Y7YA?<2y?Sw~*q zqIQ2b1>tHPF}aOkb~2h-AjsJ)PrvoWv6Q?-i+uvM`LP=PiC*XU(~xQfc=XqAeNlwZ zkmW#pgq0`UjEn?;M_B8pTYPGOdF!h;_6Dhux4u%tZ+)e%^xpbP4Zro3x*YF>$y;Bk z%Yl`*zEUG^eUogUDJCqlhUZ7F=@J04AzV$_lSLiV1 ziwp@*$@$q2l7afIFGdDls9t4A7!u()e365mvli6lt52)`Q@HvuMiW-wU`R5cnbWG5 z9x*uajzEx_3w_#I^XJ3Ixy+Hy`@1%CNI0HxX`pmcfJQLaj>lOx?Egou$MvKZwht{cKJY$ zwl5EobiGGfQXfT%5#`|Fkc=rqhF%+ zqMMy!9$`!8Cf$aPonk18myY6YUQfBYnP6!{HuRL+n~9b&Oz|GmVvnwfqs`b)*u^7N&^|rFi$=i+aDJvsg;aubkxb$f&>z1dG9rPRdWyvBX z{&wUUob2{8!;fQL9HWCnzqgJzC6M^m0JNFfeVl4;60Kxk~vC;CFf;MdW_{?nM-+0Hj?{$t?oCF7FA zM!+)}1cFIuK86PA-h(zMmBDe`uml_VSdFXb3|O$1T3mR(47SpBk1*WzGK=r2N!LlF zhMbD(l*-HI8h<Be}D^3fZ1_ zVMQfVOe3cl$#z8toSV66c#K%tPe}Fzv$Ca-?997yk75b_-$FhZ{fbQf%@j+rJ?=qP zb|tq`DYqh9)_{N1NvAr>%)EMtaQjIJI2jv*Zs&5NatBH6E#(6-e>!(^&unk0$(KFP zT}0gu%6!@ONVe4;{D}Q+s950K!z*>NsdV-nhBSIp>D>1KK)tDS?q`SerqX#pHkFAt za5uGgJ7}^JTTp-p3FoT(Aw;~!t1IR9(U+?9YAU`Oc+PhvvI6(Xy<=kM!gW)+Q0}^>N{6+mFc~Bm9aAydN!2E(6LrpT8Egh$zaW-;B4LoZlishH&_7*0}?FP zq2@nR{XE@q{^qG)!n*T!>Ffk_uJlk;Z;FqY44XawjAp-x>WIwIY*sf{TofhnL#Nj) zu8b0xFS|?aYbdn6-e-7}>@(~+m!ph2;u0qx&V++G)QaKxNFaDAhFu`2ph=u@!Qs2F z;L2dWxJ$axVxu@FBU3dVR>({^U)DbtpwHZf&6oAh3(R5tqjN1Dgz>jwl;HJGhPi3X zD>B#lOOe;>p+!cWWUgNIBvSlaU^!NNn1 zpfX;H!)#ZBSwj`ii(;LGPO%*8%HmZ~tn;PZV=b-{#agt^1*x7ywdJ}$j{ss%m7UW* zLmXL0Jdd+<(cVbeqer;=drzLr-kd3ZcOpn3sjbOxcXR z%)BflX4wp`wGVM~cC)2!LpypQF;^Jf4}@MJ%oD;_k=F|goyTHX<}h`h9yQ@PtikRE zRx*dh?1SeNryB}R%tL{q+Sa4IzbU6h>ZROUxn2qER)eKQt`_VVjB!tMe2bBMKv~jg zD7}>h%G3x>?Z*rPekvb(wk^|o9>r3<{>^Rr4R-1(-GM@AgCG1bfooKLgQ&a;aVyPhXxz^z(+HjMk5sZnZ&#O?S8bB{=Do z7urzecNq%oapaQ(iF?aU_t}T8prheC(I)0U)ku4%|JUs%Q(~C6X6! zHB9Lb<3U3^u7e$SnsWNXA1u_;O$%Xb-fZ8%7PwG5LB=ID|0jdC$GAZ|YU95hn#0GV zV%lsm>)SRDDYIqNyrT~=I&gLQAA3{~^c}D+{>Wy{j@gUI=To7>2w}bi(Fx zO?4z~P+DPZ>yMNT~%L__jU5>RGmP zjVDr;?vIF+C33ev7cT&`m&2v@=i>6e20P40X-DZ~hxsVgVD>xIPqvIdl~u<8+Nh70 z+qN-%Zj2l+H%1*V-{ORimv=;tmo+HI%eRG(mv;+CeY||TY?JiyvW98uJ7l|*E%EhE z*{H$bquBk6v^4uYX)cOLb5WEuYeX8&;1XewEs^30dni`*3CN_HDUt{Th)i$LU6&k|uVt%1W?i5MGr5I$Bfxz*r&&!DstJ+Hj z?SR}2WWSRaYVCy;uPS>1x5sqv1f{F8r?Y!AQT{K~sW=-z(o+CN0T@D{9KZztsz_hG z7`X?LtL9Htv^WG{Er1aK`pvt@Yi=|S62grZ?>6ln#L4nSXpFM~=YD-j`IN!d!91l6 zMq)17OSTz)tjCoCk1L{T!jG~IIec9{--CN~22^q}_>h{NUa>!u&; zFe$G#<(z!Kl5%c$Fj<>&E;E`#ZZ0!;wqw@C=Do3!yQ0WQ!qtb_Ty5g!3ZKC}Fb{lU z=qf#Jyy6_DHUIuMX1E#tjz~cm#0`NZr+LMNBf5Wx<0$_51 zsa_9Y6oJhEmJqlJz!m_Mh;v23YHgpro;~HV&L|HuA)1De*+kHI%V|`U^+ev zp0xlb5|{#DGlBU4o+GdVz$pNIYGAQ_U|hWhB@>c%2Ht*0W|E#jmz*+ay>rwLZSo1SR*ARI>v+`(M zvcDoL7CCIV)=;fit_R1nX_2_FDtGidWk~)H!z8cKc3VRZ*PKnmMAaUfYtX3O#6IJm zqV~2H8g#@w9YS8Owo>rIf0$lvWv><^H@@7|p`QO=%oBPN4Q%&_p=tS8jT^%a$T{pC zU@7KlWCQ*eVV()50h(t8s6F#6GUZf!*gUnomEd8N<+ZXl7tY-qs1k6jE(dTQfC(c2 zsEK3nJ&6NigW;H^t10_Yi}h%NA3)ykE`vW)_f>nLZ)u?PB@9F6q?P5!RkM|Y0HmSO z96p7YXe%9~mEM}eMrf)0m(j>@gFCa4(p-a*dA`PE#8^&XA1$Y3O-BX2eS z4K3(F_8te>M6@%$!BA0QVfBsslEd_459ftHt1+{)$Khi(aV#Vy zMLvM10aOuNU4dM)BXEUk01E+3oCu(jKId_n4m$g5=lr}s81qL=OJ}-7dFrLwlMn&r z^B2^wo&)B2uVNC)HCS%Cnl9fe>4x#Ar$vl@s}0Q`w7tfl#+tU5Lj%>z z(Dr<^ebz+)pt$0@3>DW`y+8p*_ByPi_M37}zqL~C9Vf5nFf~|C^oT0XW_>cNj~+pw zN=_Q3oY^;35?rgbvIq{ye#_Jz>v+$I@HC=5M@v`6m{@10nWwsSWMRH8yvr+e>460u zFqk3{vl(xVDKJmpg)~NWyAVXq>J#Wjtn-C=xY6xRuyZcrLyTDGm?@mf%gN2UPUHRJ z1i4?#u;%jljGD%O;+WW$^q0St(b zN14B$<>1M0fXNjWPQqert53YCgMI}w)rb~FAdF2!oe?d-$zRsGe`~UdYXzLsj77Ms z7{QY~p+yrmiHRU3A#u&pfD@rmFDX)we0#=|b8>3^D?8n@7XruWG$UG&s_?X8DB*ItY431th=ikp)5&!0 zzR_YKP}o+R7Gdv(*!?_wWqeh-R$m)%D~?t{Q&frWcTqf@vA?HEY|6cIyw{Kvn76}L6jc0WQ|wA{)=vF5n0q|uVT1(OiPh|tk-E; z7j0u<&I9oA+9ff+n2LU{#R;Z?aKS{+Se_s>^rS-19mJq@9!-6VCC!FGX_K|VbrhIl zWbji4rKU!dQG}2(Eu8f;J01T;%8O_qp3xGEgqaLMk;phJ(i+>Uk7P^yy7}2&5%F`p zOnr+IKMUrDg-0jxa(uk_JEqBKb7Y}${8M(X(^w`HMr9VYv3j)ND47sH5rm7`-5%hD ze=Dznr7U4gWD9>7?R6-}At?iOS!?RX#*jn2Z_z{pejnUwaqCF;1JU6mCOj1cBO^H0 zGdiMv#M9%usV3vv8=MK+^%Eo0Of&7mNi7teGCA6lQ^MAYryF|#KJ1@fc-Nzjq2!?#sQS>5ruuXHC@_`CKXT5;Hb>he%&T)tFWWC4HtJy#LEF-pNxkGYI8P6{^EnE=->m@te+YiKuK|yiE38NJN{{KM=&5 zGNP#Yrxju%M<5UL7RTytxJafz$F4tgHf;_^`! zVwz#g!aQ%q@&9*;;f)L|FN(u!iGrqWQ_Vd*i(*lsg{7T)*{}zrO<^Pq_11x@kM`@n z9Q{RlPVVQ;$;FX5xkS&&{dLeP)gf#^bnGhggz@ZE?nNH2V4z2#H9m;pX|PAcGKoVK z3{OL%Nu_wGj!eV40Xw{@it#jo@n)nKZ$_EQ;n;=cfObbuk}4f<&hoTMr>X8{4Qr7V zUyq1U!*QoQxwf0dfy;?c<3`70P>=DVM?Dwvg2hRrjvl(+xNs-45#a(4d1_|;^xBrh)G zeV!+=0Gp$T>(iqGk*ryB#dwWT+92g35F6D&R6|75-9a?dK!T@=M6b)u{P1FIhN6vJ z)|&AU|IZ~7`BS3fA!f?Rs+^=P{vY{+Bj7-Bi{jpUFVujFd(?qdt5)2&6*Ztzwf6sg&baS;ZxYD3Y5VJ+ zer&k!d(L~tbDn*k^PKR7{T7obRSIy>D;0Qfuc#;~NtG-ebt1nmu^LGyD`q-JCdcY^ zNmk*Z>rgWbBx!252ALzmR0rF`l45C+Q}eDYq|}~C!;AO5yy4p0N}WEQv-C~Moqisz z;Z7=ow(@*(YgPA78x&n=qr?ujwtP%s8os|;}v(z3MA4yu?RT;qWaCNmOOpeqSD$IBH!U)D>m%xuz zOZP~5iLf+%|1^mLM&|FCL;>^oGtXBnM(yRW(UkpM*}~oqCC!_C{M2o2cvfT-)X-6k zOns@Z5}pM_xR`BWv~N(qRkXptNx?0!Zd2r~sE}(FVkK#-4hLy%&}=M%)jZ~T0#%xh zs9JGP$^}vUi8?=w4qN1P!r~-;wus_+%Me-dba*wuPZ3{-=iI0#AxX5g$luN)B{?P( zMLR@s)2kp(2!{%YrM1o;6FsJ)a9I4Xn5rBwtDCQsMAz<0FlfGERf9LBinC=FXM09x zVH@k^=cuFf$}a=6%h<;+K@>mxCQ;AGkA6wk!iu1B*mYMnxs}p%t;=qg+S@+3yeyl~ zjY8kJyo|34uNP~b>Lkneyr!mR>RC!*lqDDWd7_a<$Jinjqgr~5f}eLS)=9LEI#n!G z;OHsH?d_?yseox0YD4Wk<)kz6^p-5`p^$3Vojm{SY*DIIFFSn+9ivvSh=;Yl*CGu$~1%= zpa?n8BIKZ&2st=958PAXB%ClG;#X2JcDrN)hM0_hDwMW%0<~gbX7mcbK>3QH^~J=f za!_o6o62^=6>b$>;np7I+gNmHo8(&UJV;O+ygHp?aI2nQ;)PB}U6SFQhB|YmlSPTn ziXL5b5xXjyb&D>8L8tB(S$bI1DUITccbFy_T2GG$9$CCaW1OE6Mw7&oB-$n4fOl9m z7Ei#nkp0?K-OA5d(O~PaT%`|sgh4tZ>;`x)KhT;JQJn&@G&qT1#_5gSQd1TVNs1TK z;&w?oH;>y#Me9&c={rOi3*GGK84FrPI29f2&MKbqaHg;nzSt$nS9#b~yHuVq-0E(- zSuGDmLSLdrgjT>FI(e&tW7ViQ4a@fQ-B|EA)dJ-qrE|m9Q6Zut_2wyzpBUdHLZZ_-Ivxc=%2oXa%VzabcAAC<&m@Tfh`soNp1WkfzpK zENc~Ve_gBA$;AT-`l3x##-P~Ogk!r@IJVaj>!PTl+aVRGC8M-1$822d6WOr0>9Uk0HKBk~wUrJSwT+YsS!z*H=uV1yf$ciA zwCmIqFR;ae4u1LkdL|WMyDS|QIXd}D$;IrfYn-C{8ils2u5mZJ#-XtaC$^3CPy|#s zm)cz!WRoSzs6WJDxdmD;OP}_kcWPzzO7x*T>C>p+vZ^wWx}Z^EiYl8FImQfOLBsV? zrow`TJfa}VFbYGADGIgA;#9T=R}0&-KtZjw6U2_OP3!yZ3e_!V_G}{#eOr>^rm(P8 zTx&PjLASkEeLAEgYe|SxM$=Gcmx^_vqqPP?b`F^ex`^_~t`-@)S!6U?uHRfs8asaN zv32y5GLK6BJ$6qxYy1?7Z%JE6=W7tFkK$Y3XjSvNpW<78i*KO=HHmMb>fw0GHkLEs z+E10e14HgGNJTz-u^us1hHvZH{E#R^-_FW;R17Qrho*`Md>FnB-5wBvXe=N?#$Ndip};NLMOU{-Ah7VbeAh zFHkxZr__sRw8jpWmP!=EJKE`6e1Y$VkE&&LPGwbHQdw2k@X=Xg-7K)Xhs)d}Y|tuc zrBNfMEZV-YD|)Ko0T))v#c>G7wRqCkB2d4m4wAGvJ!Nl|PU?_jl+?HJ3hdioZcy9>X-!@8#K)8 zd8&@sI1GBmAV}ZSHO&pTI@)et?bo1t^zu})uy~T9hkJpQ;%HBmIB4b` z?7nswhm1IE8Uuq2^avY$U8~yo_4z!oZQAM9|IyxgozAHs|phdy-Wcw;TdU82e!X1--k+UIc962jdB7G9M@V`S(gw8~FX(1}v^4npom0-~@t z4{%+tJtGs~qn{<=XSR-24D1!Ya*Y1x;Tw(C**mfXG+}lWLZ8xzP#la*8lDLSiZ(tf zsanv`Xm19N2|I8E#FFoutV$=uM1`>Ppx!@JNPb~{1{%ut%jCp?leKJrAVcr4R93dP2yhC#o!(WH+=AwQ}$zP$*;E;h=-?EQ(T^+!}U7z zR4)+y2h;ou1*j1s(^X5D;TulAKEg`KnW|~cs;QK4Bp_8KnXQl3>Nql0${l4Fm7DBb zCoG9}!%1y7nB>%VLLrriPy)voHq;dnUP+K6(=0+EVy7mdFNpx*n)4D{2zAXR%!) z_6%8U+XD;KG?e*?SOiFTL_7}XHLFbeVP>8zJej0M*MsQO?dtt{(4Ac@}aQ(~(;BSE34DPuOpU6Qm@Kff@&rTT@F z`jgYQ!~MwQLK5R-=gQu=GWa65`p(LLi5QqVGeEtA-V_T`xk?xT<=R&2H=g1!T)Bpk z20IBECMH?5ue5_9slA2H#!#>1vOV?SceJ$8DM}lilaMeBE$Kq`lz|SallQI*PZ+*9 z=~lFaQ>t7i=~C2phI)D`^?19Lp2<92Yx`3O*bqwADsTbh8RnQ%_*kSoR=+A%E<2cxT9_ZyL>PLM)e7LSRh9KY zW8QtEeAA|VRzFaV=;P=YCjQuVg#grM+1M+Iv{Dkb0=_DK;1+N#1lmn!?{w*s8~KcQ z_kNwUn5%}h&F=baXVJr(E&86&JU>YAbO%$nC$mUGid{ShIMZ8iHyj98%@%WTiQ&7) zzLc6HU6cZyer_V>%l_e)NWrk8*?+eyuOloi)KMc5?JFH4SR6ip#lEtwii`|rFqrQg z%rVnFlL*^oFW!93cun|+edtHjnfAK9Ys!>zD9Lv;QgzVUIZ=C7biU zPt_fE3Wu(xJ4YTV9p(lA;%O;Q zF?$5?khWbx!~Mc)1UW~V*U@q=)dJ5L_HI-`jZyt7IbzCE25~^NK?NRi+5#2eF$@y} z?ZK0kh3TIhGo=UGC0e>?CtW21p?_VXZ4d|@t@Q`LzFIa`eK!Y%bLH@pMGTHTsj8@8 zKiKLI-YlkRbF0p*MqZdD<29CviGEx60*9k4h@YI?BM~KhHI`XBS z8<&L`jcpVnE-H*-DmU$f;KR)uqJd?reO>dWb51{n<-UXdu1!;8D=^l8B~3D(6nr0lkQE8#A>LcF~x#j1nkK2dMq%>l- zZQNIM>-EBRuZt8Nf~%5M1%doxff_;SO0)uU{EdwNav=4!AXGKQ&o$f zxQ+p;R@@_$EkBKvFcG4`lk=kD&!P-LJ13aS@|>UBz8ovtJIY!1@eFE&!((8kcsw%N z7^as020w0Lwl+RG!eNY_Fvc>reLZ7?x7*(LFW`rAv0n^=$EAS$myt#coBCDs1t(Z6 z_!v0MJBolQt^6igOF1=coPGh%fjR({GQZOSz_}w+GM)V)+G3il8=EYvDRGp;N6_n! z=?rvS@>?TAEw?;4`qIAQu&a_iY>x1itlTV2;;iiK?C&`<$3Flpi~ncuwaehWCLK9x z%Jdn7e>L&&!PEHvc0&dY9kkQ7JMFN;cEbi&OrJhw!sPMg(`F5xGUdprgJ;Z~bja-T zDHVf{DxWrS`cbn6&e?g#aXStjJnQILGpA3l7(9E{%)#Z;CQO+hzgpE{5ULD2~);TJ8bN*LE8=*Hr8Ry*jW`5Cr&z)?n&QKarBHy z<0@v3XBD*P@@eH2<>RN6A2Vs@xGCkcD)gNl;kYBqCmp4aGu_rQZE~HDU6)zBjD_WltC``%NXE}Rj9x*E35pqRROYvi>L~w~VNb9R z`g-aivns|{fJfA~C6mX`G_xq5>e@I87B|y2=YR6ytXY#4od+pNkWgou#jvd0t+L`d z&wK#`<$oQ6l7jsAgQEP|LC;uK(7IZV${!wN$D|+;lOywQ;$I~5kvaXdb8_Lkxm;72 zv*=6vt=tyN4uXRGilD{HpkFKzw5<&Cs)8W)O->PYskz42e3F_iv}Px&4M+qn5AtZtPE1~c%VR|oNG z#=YKtrBl4ge^r!SW0FVMNw#8=GngceWXX(_NlvVGLpr4}JLsZA(it*^oK^}4p@XY@ zl{4v~z|XF`nO(2Q@L%=y&Znsk+EhVwc0c&yzx(2z+Eb)~-s|01UM$Qmkee#1f)4Uh zVKpn32)3$BR@E_$^;JJJuCsf@h5lDh{7-iQ%D|X!AMqf$A z{ss9*v0#ayC=mp1U|MN}uXGuefYDEaA}U2|%Z&E7g+|Kb8zF_L~lQ#8x zeep7ica2W{8DH{#tsj2ri@yS9DIey3?Phi_9~SGv_Kf8ZkKnB@UstSnn=_zo&?;65 zqRJUFtAds>`KmY(#78sH&ast2oT8Sog+Z}SJT@xmHzw%9&$fx6KX13^=gx_sWg_64 zt`uwaj{Mt=f_No_WnT@BEec9_#hUG+05k#eGTeWU1gudlQKfb>&vPH3dfmw(NTDkOFH`cdu8OmjUhULgRxek}L!XCcD zJy6sRN|-HS5xpvdpG1i2SYPRFD(#|U-J5<|hvcL!-Q+8MN2TI|^)$mhUloaOA7YVQ=O{fw{ucpXhD7UcfJ z4e?E|pj|=!kwFiztX*X=ED>y%0DQsE6S=K}4l#LsE&x*!je~a})6e)NyD|0H7|=Bl z3^eFxh&(8Z%@6wWZX3WtHD%LdV)Ed;%G`XAUEayA3W4;DAHfUx*+EgkLc_iclhX0M z?Mt6$e4`4gg1s2t$V9MzB4lK_-?=$F09W1%Om0orQQ!{n6)pl2sq9$U$o{_g6^ORI z;)Tkr77N|;z8=wm>Ylq#!z z)ia=YIONSiTc%Q64Hc~eZmj;ZEM=J__%8NZ^DXIaD#2q+QHVpm2&FwQ*y{tf5 zF@Gc|f+l3OV||_1&>;5HRojUg+eRk6$k(WWSvsd>zVu^|qBY;gv$=dCMw zN(4LV1Ha%A`paUie*LBY`VEg#=_0)2KiwSOqsAUOK4tq6ZlicJ!dI$mU8eX7>Fe^7 zxSGhCbGfF8JXj6hiHBg^s*yB)+QgaD%O|R(JaFcuDU-&}nly0cc0=%@&Z(F*bK3YR zgVC@j%$eh@;K8akqL8N-Yg-f<<&t79MCHS2v*-8@2AU4G8#1YG6WrAI2DmY(1{;HF zura8T13+)KR!uFVa7NeQapSxhw24afX-I7Zdea#<l%Ww5wSZry%ff(ZLVQPeKxF%_GL}GW?7eL z2Xz4@TBn%?ku=il8iO<5n+xcm>|nLY)hp0keWWdHa>`8x=_Yxn^*Pjn&w~aH=D##} zk3Xb5$#{_hJX(Nc89RNxmp}c~@Lw4eqU>U$byOo#<=|bue0Q~XRs^k&M}MnCiQG3R z9yKZ^_smn%MqVH|srYVGfhvrd@av90IvM%5EL9dx3W8r8H%2vsOYCQB`7C>3=!e+L z*Z-LMMFnlck`cb-%e0mj*_M7xYpKH5UxD#oH&hhns zpng!$Aso{(UveTQe#$ajI)4#dSmt2%ya+5E)GSb>zMXEw=K#^*+ z3e~)XT&EJGs@SaAGiKoCA3SsRve|Gw_mEGy@?t2V`(?dBFWnq>q=qfTy{ZE75DJFQs<65XiV z^jLHQuepZeHvl&=f=yIukWr9MueB*6uo$~C+{ECLA8e{px!nM- zrJ35skg5!gub4iye8M=VF?sW*x0)|rFKnM3{H&llSAu@>jr!_Z%bQv1_%4z&kF3hg z34S5Z;$hWotky9(7?-D%;oBY^l#ZrSD>))Tog!&fmD@YmOGcoT|EXF!IDesbw1>`( z|4B)9Fsz_DCX=hAqv;?f?`2mutcP7BK@XFwX~B9VwTD%{hfeAa#X4hH!>WTkhP*>; zOm4rRXm19$zl^B1s0m6|+T1I`-Sf@c=BYiI3H zPd@VkbahsCZmXbGflRH;Z5QN7d$;?qm9oT1<~Mz%aoMI)|AbX^v{JsW^pUUhYa-tE zOi*#(n0%5|tzPS}dVgR29vqf!3*?M>RqV(c-S1meA{^8Yu`wTy$*SxG11pl>X-k0& zs1CN3YU7VR4IgNHZjilS*lLAu^(k5%Rv_=0&HXFXS?YqPbf{B(h%Aibi<9m@lB=)sY7TVhITnFcuJqRb~S1{{r=^R;&gMF>z8BLrG zgJCDg4Tg=aNF=P!PX3{e-;0*ufflOgaP#fh@*p^55(ktYPN~VlT_6S z^dKUp+b9+_h%XPa_YH?|Y~Vonj+n59;;LXfDslWPCQFW0OllRA-5JN8ispFpzhxl3 zjyLfvXygB)oAz?1R0cmAqo#)$x3p&YP>HPq9P~_R;5{&+7gN4gME*ig>hizlB zlU;`%b*@9PypmI;6U!dMdOdw?75yzv_NOazR(56T${ZMTb2=fgJ3zza>OXIOy&n;6 z$0^IYcGvlKZXp1rOwoQ+u-$0>>MUjPu?iI(H_LMm2-JO%!k4K%{^v^2rz$ssgByHP zPnf0%3sflEhSvYtgLivN_iPy>D!m}xusT@zF@m8a-4F8Adof?pj^+m(L?MWA>?sRl!`4>zqZ zVjAs&pURK9SZX)%-9ULshXmv`l5M+~U8;|c(Q4buG9sGf1|A%F@G>qJ5a+0sch`>= z1o0Dt-S>u)%#yuhK8!9IA&ZJQx^BbWO4mlqZFJrJ;$+J*sw?pvqw#C0i*r)k&7a^( z7UzDg_b_1E9g)Du;1GK*2(;T))@M-4LHzr5v zx)A7=#F?%IZdf0ONI-QbUe*y3o}2aNf1TZEe0nn~CeNHSe&V>umV6U5#&P3pb3{^j zw@-uhlN76z6A#m8jz4UYkAAB6*lOxZnF%*&c7yc)u<`XDwSm!^S(|h-c8e`IiPKs> z*sI>u<86efL!nuGSL0_*9eCKJX_ID_PZ&I7`mFLfQAX4(J*LGU)f*(W;Fs?ID|>5} zacbika-!9>8R(CIH3bHt8JlH}>J0ay@M+AI9CQ@*j>*fowAHC!m6M=O8&fAfh6XfzS~$+pYNd@v)(SBztIscO<0pU;)plvR+vo0@{~z4XEjRJdX7<>SD}G(X?Cab z=IEix^t?q$P(iE_jy1XF79}CGktLf7_pX!VYc5NMl!OM7db+ySP>*QMd7wUT@mZ&9 z!Wr^eH*T-24ol3&InVGyxHBhxiFTFkRg4F+uRAfRvCi{-9aIWjEc>c4j?=VwR4{r> z(0UX$`Cz;e_%*c!&Qh!T5J(GL1f#-pkE?tm?1={j3rB|snqKuKTe%_h*06wpy=-gX zn`1}5&R|!kyB+3)NS&-Ar%&vl8p4Bk3pic*X5L4e zP9F{jJl0qF#8;VM`|NJ}JeUO4xmmZ>nyaIp2a%dA=Qbxu>&*@7z>#`?Z~4IH6o+~@ z=Z7-`ZD=|twaP1w_DWHcVb<)rLF1^jCMW$b6x8gDXT;vBdkyM;UJQWoUm8l)uJUZz zls0L88smtliI$DoIQ7O!)SWThSgyOP1=wVou8j|-ok0o@mu2PVA_1m&_I^JngEM<>5Te7snR|?bn;#uwTSB20L=)+Rw?u8h&_n~JTmNm9itl(@;pbsHOO!$b8x<8j1yG1=|)~mPNH5RTXLrM zE$kfkiODIvD+TUZ@-@3C=5rgPnEX5lMg_abDt5Sn(LvEDT3}lho#J8Mw2?R2nF{0z z8tZaW&~<%Kx<2SAx3cTUfbOQ-+6JU8mg!~)ZQVs%W%3Na`QTlKP$ri!Bvz1Z&#Y6OujrC(8uKOFYE-DzQ;jwh21rJpQ1r>A(NxReQX;tgPRogWKv*&ay7rV)&-BQSO9hx z%b7ZHxezau&i$sEb8jhsBMPA-$Z_tmc!(I~L!c`O7U+{<{zZp&_tEU+Gjaw%&#zKq zR)K)c=o+v)$2wE*6X4`mf}`(qbvsV(337UqSY;(0Jq~^<3B+>thdQpLaXW8v#(cAb3y!A>xSQNa!)dETmWQA}P0xHRyJ>p{70 zz=FMelSe?QwSPNDtt-umt@S~CMKA!Bn@)g|)rhs;0lwZXqygZt+y@Nyxg*J%z&3uI zsj>6Bia~Ouzwamr8veD<2%rmPw%}iA|9G=odDoF z+o6Pb;gJb>Kc3KkYp$Hb=fY9JR&rrJ@IRYc>;|qQQ46L4QN)ShH!-QE{jHcnU*ZQ? zmL0h2{n@o>Fuiwy+F18A#gE%8x`lPRH{v zWc-A~Nq{#+Q_{Kcw)w>F+nU6|t80 z#^f>-adhGL$m4*ba`9Xj+o!tC8UDi$j0={%?8~#O(L`FxS`MWZ$yBm%N?Y`tbL_FL zFS8O-j!A{)bq#MY33wADiaEiLO8%`>|MYqjNvyU4*4owt{l?^UY7|HJ>b?= z#<^b%iOWlTNaR8g1qUT}Nr!MjZqm1T%_kxt>w9l5giacfO7~ zx2qfV_jZ~enQ0PKiN4J=|7oXbEh4V@LQl*ivu&gI`%w8;*#eX1iZ*fyoW<$KnG zp}wF)Hm5+^+C54w*uxie)21R{?Bxr}(!SW=7i?v|SZ_Ty+SWv0GBB;J$-ZDan-fS= zOPh&Q_<~{SZJp#xh>A)X*AidwFnhL|U`QLg#+cI=G$jx^4X^4}U=>lk+dnNS&lXl| zw_}=Rud6xC#dky^_MGsMh6}vLDJGCk8wvDtq$G5w+VvEeO?KTQuz^md&%P;wsw=pfxY)Z=m zg%t3uR5?|2+_u!gVt{G+h^DkWSX$bamvM7UZq_jVHrAl8R|sCZnY2lDwq|B<7#aVi zG2+_2x6PrJHCftiaankmg|}3q0ZM7>x=Gv^JpK@Jl8&1?Y1XXBVab{=xvQvoS1p+X zIV(30;#}g1vxi!NIooy$x|`c#a(cJH(|4fmc1!<6Y_vw}mYORlf>KR%Y%=b$jf{`B ztG!+(wqD{^66|gc*Yt17rfj`ITT@kNoTor_AU)U09-wAs8<&36rpb$vF~!l3G&#=( z=7q|zwzs*E-X;TX3lH)20y)8*R%sNxsxXjK;*^*4oMzcfzLJ2~D6C zP3KTP?NF1-*PgUFw#@0tpW>0_1Si_1x)pBBxO9mt|&K$ zWB#4FHJU8)GpZ{km*!XI+~IGyUABQ5Q_WSGZK2wrWvSW9X6^^z1O7`}_S%g{W%pa6 z*D@3bxJBeOlgP`MQnDpLEhRv$S@`WHGTJwUF*R?}d);}dAtwkHj$gg32E6GBbL*X;rEKFh0H4)@% z;zyq3T=vN{u#b1Uakr?6k___q=5AAsqtucP<`P`~_A$TvRB|US?d#E}Nc$}{q|w+4 zUF4pY)wy}3{(E$~9*R0Dkz0xxvM|n=^+3?i2*@PUp`Mf?yXTV}8!TIZ#gGVwawtUS z$?=g>=BRPe#FlaZrgqqi!<7B8bU4@eTLap^;N_INf2&6j<)PMk2ulzN-;HR36Xt=&L zFLWluwk?#Qf0GefC|I$~1z_sqb)s-SM<~`hUOO8es%)nvee=S5`>CbXr z|66lr?bZHfxN;d8fHSaaK>iU<+?M=;4P1`w@o#6K#R}wc46MDZ$kRyQ$2i2+K^~wU z>w5BGoZcjWw10K5le|0Gtaa5ig@0a5KFT4$nEVt)CRnvVo(BAZEI0ALM91pU$aJX~nae9QyjE%Ep%Z@V*D=wOmKRB&Q%QkdmhNE?tIp|CmdZjss22VOHAsZ>- zs&vlB9i}Jg%yU<&ah8qKcF%F(7?|k%^Yno1hOGRx47`VY*iW$^1pi<%_^#-F0q9%I zL9#2L1?c%L)=@Xmm;X-hUUqmdpTcM8WWMsF`Gf=G9=HI)NF@L;zr-TJAHj>0<|+f& zF($pMX^_E;Rm6bWo~6~@IZH@q_j8zXcXvMOx#ys==H#j`Z3Yk!J)=0y}FU!$*YJS#^ICGl? zal$ktdu{DR#|HM?dl$$vhv#gov$5=}z1&G`c2D`s;Wm{j%>2H#ilR?UAsSnAS@Rf^ zMStM_NyJAVLc05M%yXpv1!nE#iCKo4P6exQ2;I|~6T!^Y5Z($yYCAEgi z8(@?cvV>Ps2;eKHarZih!663alDc$#76mQ#4tjBzac^*jw6bmFG>ET&V#xk_x-OE( zVa@}jsvR?2`1>l)KJ#w^ecClmB5}!!;(}g1%MI3!Fnf_+0{j-vxb@ zSm1{%{p8o)G^B0sv|~nT*>%sHQ+4km3DYyRIyn!xkrSWW5sp1Pixkn18Pg z^U2a2b(0p#ecXY=3wdHJY)qI+?Gk)*@Y_}1YXPsmdb%R*>#eGSVc>X7o@uWWSH8*u zjs`g|VxiGnfNwfVDowq@hkfL)%FGx(3Khh~d_XIOt2|_`P>RbrC~9pCvVr21z;Yu+ zyeO2TCY3!9o@?g1EdfqpB&(kSD8JLP;E`*TeuGknm|B)`uIY z3|yNTq84Fyl(P{TN}!)1?Q()0PE<*3#LU=IZQPIzvDqsrcIs!YO63V=K)J*N@ek$!Y^fYXwIg}NS--22b$#LPFQP64 zau3Xd`vlMuibg})H^Nd`&$CcMtrmhkghq_^@C|xziaJadgrL(%IFGSk)74*9esAeh zOHH5{PX3A&0@KC zqDrhlUg%_@d+VVMP&ZTs`eQA$tqpfm<`KxnuHE-C)~+4z=dRteGtsW$awi${1lhdQ zxP1b7*>!Pa^L6o*>*Ai~>*5X9#g&=tLiHLosll?2a(y9KcFqKYWnXm#%ZiK{I!cN) zeH0om3B4)|)*6*2E-MQy?wvcy;>gu*h_7d2hz9p8j=baAy)LW_n$t4qR=bk0zlRrG!b z*hex6Sl@|7yT@D?D>BhV1f5@V?OvOSc5{%C52EiI|Jo1viVTauhMr=68#m8iCK(6s zJ?bK}3;f1mYCi(l#u(5!c#*D!wPs@`{rxy?XlI^b9S{7uN*-2Wj#~5JBTGl;@@R?QXWuXL`05 zcB>4!8*=BbBlnFBBTg2)w=8f7Fdt#7&$vE={v(Nq(#(nmCMRR+?G!VXvtC6;1_Vo8 z-x*hKAn&^=UYO}Ao>j{f7eE3@cP+~B=KU{bicHC%`GRnkHghCvo-#j_YcL^8=Wb`Y zG{=gVhukb5%)~4W53%ju=h}TD6YYA@rSf8NEzmo;!O-g~_v5 zuRFFpRD3jplbD&QveWB2kQ_NM&+)(Exd1odk>DR~d_?ul9FE(En*SjuW z$z&H+1yI+v^QdO2k)+JzUU*bb`Ix+>@rAM!QIPaYf}fE(rSdOCf8h$%?$ne)yZZs> zwwi!yp%h9bx$R(+D-Nj)*l&Bhb$bS7G0bEMkM*N3xW#U|y~i?i zl#AJ6GOo?tVl)8c-+by2-m3myG722{p|%xu~;kOm($-`-V4Ztbx^XnQQg!Otk8GLxgN( zzUyFqCNVnN!6Mhe56v}$lUxTIo2!E*u7eHD)xjCAgD;z_gR5KzYckn^>hMpYaP>5< zO8ypFE$``iOBjf5N6l7ii0})X@P>cvC}$*Jses&3&Q!r7Z=r_um&^0Cda-<>mlnu5 zZepKha$-^JUFJIYD5D)H*>5z0k)6LLg^wgR>*B)hM6s9<6y2v_%Tlg{d3H7z8Rr2( zx1V0=_tTR`q}fUD$zr03b?5%nz{oDd1US)EF4E;U*3WC8fMdozNib`~;v;p5MGPfbWk$V< zD)u)w!YcAyl+jVE@Nk3P)QAxrS0aCnlNWnIoxE|g>#U+&g`e4hPJ+B-WROR;u#w0^ zrf-nGX&aFi+&jr-3SGHQ6*hU*Nx-*`QA)G7+!pOe!HY%|J`eoM@+~+NH@_jR-J}W{$&=e!vYvACJp60e z>}e}z2&d#ezOq~3d76>WI9DE<4)1E}Ha$GV2aYv)!`}vub&bjQZOl?1Pj8igGIbia=&5S9p&LUN-?91NgkIw0PJq^96%G76 zpyL9DxSw2-M{7^wy6-FZ!V0s@Z+cOKu|#feW&Cz!aw(5_@($r4_IDTTaTE3t>g$S8 zVBwQW={DFTO5KVpx!Lj=K}-m>){I+!!}XYFcfMpJu=7F$ZbH>kBAAGugIu|In5zf6 zN(Dez2&k4sKoutt3K*G8+D`zE9ppaNwwuDp4CHYOu9XU|M-906X~FecBfxc^2Nx6n zD=W%Wzd>1sUp(Ex=*-K@{r*-|!QWcGWn({27PFsiSRFG_E<+afutd&+W2spK;66tk zj~EDXSsK7g?<`O7!LtM-vSsrL$@=}~S6t51^4m@M^OVQIqODOc4E0=lxB;WQ-p&Nj z5VfMuN=+I|*2sWPAa>niWldVklvy@BCE+NqtTsX!Z&Fx@OdTP4H>=0>NulVbPQ@><5I(qcBsD^oYh zQ{qNb^;~$!gNXGA59unm8utAH{L21zTH?(SnWuZo&$S`EE}KZDHB)nXX9ulNiy74r z0xv;Jw5dwH)1*!8zS>LV*BT?I;cX1MP@ZU|FzG1w!EEd6E{O03WeLZVrB>rkez-a&~mXXLmD&;`x)3C@`2mZKi_QW?;#%=QdkTr7@qD(%lbs)goc^-c7=)X z9+-0=kor}n4Ag06$*-zHrEA22PU%`tN+QBJpXI6^__|^FcIW*LICPMIWa!oIXz=yK z1J!zwbNegU<8ouU?q_O1?~~LoUKo@b3zWZ|@rDb`c2{`=6c6M|gt`4)SLC8frX z%Q<%B0uN3XD88Cy`5O8tRe5w5A>(S&o-<1qy;vS^X@ZEWL2Y9E&p}IS%{I_TynOIY zRo#j)Ic*zvPmd09jUVFQb)gGn4Q|R%fT>!L%6(M9u%Wsbt9pl39b76>58dssDne`E z7?D8p%|zCaAN#G|8d>wIkF1HfUkw4MUS~K_bt)&?e8caUhX3Xp-sB|x;1Tl;8~wYc zlb3xb(a|gOHX$=>dn5ZV`a^YiJLSZKyp=>6YA)9fNqLGdxq*@$q9ql+5q7Lr6*Kp@Oyh@y1&?TDE=U2U{33VNOEz`Xn5@n;Nz{Ta4cdPgzwl&x73j=yxyHL` zQ2x{HQH9nYm<$3i`fZ+k*W1d&6aG-ceNJ$^5pZzfQ~FiY95VbSnsYK7jpa)CR-U}6 zamF$qj&6j*iA3A+qxNWBMx-%mWk&j#;5%*<`>HQ%a{BM|I6-(gMNv>TQa3eb&xqJ- z|6mv5v_5w5)xWQO@K*2}?^d2vy2?M+Rk=TkJ`RnR%oK&8jqTz`2cOD1;KL1PwS0Ag z>+8D)^>woQ>YL4fCI2*Az`Y>Zekz^O5&n80Qi4ZacAUZ^o$u}igg7gB8}EylS(dD( zo&kE!&Tx5oJX}%4(N(M{ZC#BBF~V2RQP@@f5Sd?K%-WSSfU@xzEmC#Gf%z37OUa+$ z5cy(G9)Ygsmvie_h_8{&Gx@AT6?V)j6b40S`aTL04+Gz`%pito5WIP7taqQFheRkb-f(jq2%D>!z+29dq1I6MMG4N*J-0hG!UjHRc%#2K+- zxv8W5Z6LG&Q=38F+$tgL76P&-fo@#xMHA)qWwgO!5p^6Nr6>9*zixucdbznjh&US8 z#y<{35s=0G6xoYq?eEl!wY8k&y!9I~8|tsgY8QLUs=yM?gU4uFd&@&cm$~)mggHa` zaG>?6p`dc%+59zZPxqxI|p-VhNOt6oF2+rKR$3U#lF(E4)az1*r zD$5C3slCfxbI@(&nLM*fH{fA_jjZaAqR*nO`YqZOllm9FT|X&3&{!F2KQA5Tn9EaE z7JjaVOsXuz#ggLROKM!NS#EVL>qB&3KeOdd(9!SfYpWSWd$y&To|We5kN!y~t>XV6 zr2@4N)s3a*p^}lhkaR|;g3s1@6qiR^7!hfrqnPobCS3FZ?05}#BIct;=+h9ux7nbn zJXzC%W4(q;Ao%M&HSc_7uqE=bTex%0!j;G;X5miYdfM+;wpKr9CQtDrh5EKZZ0Pb9 zC>5B)GPPJS+sFour!a9|C0y9<)CeOHh7y?#9q9qRVMg$r1~0Y3W~mi6pRs&9$|aM* zm8MuiQ3A@6#+zQEc`%%^)?aZKcOxQqaxMfQ$hIK|q>TJ;Z>q$(_ zJebeaBYophR>s*63SvZ;s@`-RuM6bWe8tG?=*|9y6m<$~d!gBGjAP9qxvA0{294 zp%GT(#_|M;lw8NPrudRL3brfRuI#qKDO0!%5@_NcVH8_!B36q<-$}l3I|R5-EdlQ& zuOwe760>8)qQ_+!LoSx%i5X!hix{;u;!E8+GeAQnt%9u4w~hF~%b~>n8rFV$xfYcI zesmF+_4emtU%1w5c&lNWH*|oom07>c6t|Wey|43=209iC1(0(PP3f|WJOrfa`>NS` zbZ!lsLn<*q#O>t;21m)&_U21--b@wPR~T&YfEma;W+0a`U{$Vgj})2{zUYY?8aO5b zecfP?=7sVqc?0QZ405$zw4B7+MN=JGyxY-W?Mri@kP?o_ z+2bDO5H)X1r#;OsPJi?tMas{POUOB>yBcnT1CU3=i`>)-DO=mNs4*>4j0_vwIYeVS zHLEv(850cI2Q2ncnk=r5=Nuv{BDKP}&mo*0o>LtR|0Nil8Wr_HM;jG&D;QC4OztL2 zN*Kr}(xEG;Ee%#RQ{mnTmn0#zb@%Auns@3`XHvheF* zf`N;TbhN+wFHybhAl#?hEf4v~nNvB8%vpmZpu1N~*`#({aH`*tIFm68rjEy?vI8*t(U1?%w|AI+TZ zCW<@0-tc96#;2y2@I^{-DBgbzi)^xw2n^472_J}h37_;GRMUYDY!?QW^sK(>OFyPG z-+NYdU~7EI$>!d6Y%|KlUoy3HvFgn}4}(7DT%lFvrd0BG--D%wrTh zvhgVWuC<&5ZYurC}x`N}j~ zAg8-#zc$T^EOE~pj*4vNJ?fjgKH1#Mwz*qebDz5Amb%ZsaLt|Np4Ua2D>~ZE_M7}P zq-o_#)|EPk_~P-T6Y?%`BekH^&FA1sM00Sp_s$|C(us=KOjgBuef} zpU>&3XZb2+gUw5GT5r_iJDC#KB9;rNXnB0jO5|{fqI@Mbqfkzh0si?C$=xYuNQ_W~xib`^` z)er{Duun_cwo;q-ta4K@@99ETVN3k7I&V+oc&C32_v$G3qCj>bw1eamNthVue(0ck zzJsoRzP^VY=v#I*u3|Mp=n_Q*p#J_x^~cF|Y}Pv%es-`fRpVe73jL0{B^33*6wAqa zp@dn<{3A`p4Q|*=+_3F4J#)}mxz9JHl`ENTm6>g&Ja>@6sj8k1ryg*hKkPoY&+c%#NZ)lfXXmDkxWs)mClhx4^>hMCNCf?JEbr(;fW$^V6jk9uL_1 zPk4CW?$+sfw@&`~J_o<&E&Nvb_V0D=Kk3@%S>4;37pfkNt?uN4thu#Vy2)8APqD0H zsmyOPt>sX2ZQ6JW3B&bNe9=%!?n0+8@%lEDq;7J)Y5zmhzW!!8?qREn@~eC1jLrr% zmK%fMX=>ZwwW0}2{S_X#6f{|aJ6ZKr+IpjvjnrG~0DO@HuzjXarK4?#V`X8A***TPw@1^;|{sdcJ;<;qWY<^K6WSN@PIf6$ft=O0}8B3J%{ zEBDVUUHPM~e5EV*&yTtC6|Vd-S8ku(41vVA&iT8*)%%yLXP;d?2ul+_>b@&#uJI(? zoe58ZX~`z7Y_ct9V~>s9Lar%mwO}Ph5{z+*><3PY6{^joJBn(~(8V-^iqD$oRf${e<&PMaUUF5bRWe?SDtl7HaU@I>k>tXr7eWnK`FOct6 zM$yXzUGW#Gx~tqUy?!A7kzJLLxD6Ltb#OI4%vzaUy%~{lZ|D}DN;%vcxw-PO39>Jd z6~sI<@|(sR(;-H-KCMMENZ3q>4eD3lRqsti|9gX7D*L-u7R8?RH3Tr>6N?>BJFm=4 zV&bW-EpNHY(d09ZChcN5#tK&eoxbnZca{C<4Vl~P}iF|0d`uT8m``evXF&yF{!)uD=xiZ`1 z9Zt+W=fs?S4qLpxm*u@HT)oF!J^LKid&Jed+tvGvtLL9TbTc^L&EP{f1ONPGX-y)s zv!{=S5s`uPW{Df->jHP|1Ya^Z*hQ}5R!sE|om8O&&_y<~FCUk6BxdO$XR>EPs!(Nl zrjs?ZD-D@Iev2JEzjgCp?B;KuLpYsV6VE;Z&p_Y{LOlD7;pLOciRmA6{>1cQxmJsa?>p09c-eovKfm#k!x!$|T1&_T6*jy-s~|Gdr{@ zB|bUWars z@~m7E!$5Z`R`(`a#*FB?gG@HvVmYIS9pabngEL$M_BkBlI#x3-FLI)!SZ?OTiT%w6 zOrhMwW9fRMvS0m2T|mC7gW5Kide>U6%=MTy>Cqy#1-6{&p7)L3GoWgP3(2V0S z>+vOACv6m`*->l=M{!v*j>0p2z@c2j!{@uQoF&AzE93mpN&3oC%Q)?`0i{{CQ{hU^ z*>j?)N>LrGr;+62`eNVi-qz+UX?=3GLI9dvxr>~^$)>n`In!>d5RL&cbitF%Yr=?V z`|rvG7PE2kuCa}m#Rl2vkz3^5zOUt3LAH+-8Qb~&jt!7%tsQD!^I+vr9bRW*o}!G!Ow zZtm~d>}y3pj?d_F%Y^#Izm&XR{mH0t4SiuGL(L52VVcedIc$&OM1b zS1R`+p9V5~sNzmSe7yk+U7n1dVQ3!t-1y@`O+v0HLK{=5+*4YbP$N&c5PEte-B&WJ{z zf8-}p-Q7e(Jvy^SfN0Ib5+ZjNgNP@OH;Oi4byinzGOI_E(4e30QrSXz;g6U)_BYXE zaan}SNp*vCmE*ChP$JvQ-Nah6T6#l*Ioy=lO@0VRlU^=vQFS8scO1;lY5IOUvR<=X zsT-3ObOQXvLmENl!{v=4iwalFQtfZJya`Rmm{(ZkmJo2z$&tLL9D>}Kty_gy*3`iKBKm<2xHSx#@clFQwf_Brg~ zQrE+4uHLn-o_}8Adf4E~m$-8Od}p^Rrgl{H+JMV94dqG|Hv#yp03EyFA&WQV0_NsN7THI!+;&i?ejXF}v{;N}7i z4(Neo8!neb#{0Y(@9qCyH2QZh=NE1{;Wma3-0YUqKcD5OZ=EYY%a!w7mp9v-VX5!E zU}xqJuvz$^rjhl-jHJ4uBdJmk>s8%zmT@E*gjh2^a{71lYni**Gp#AN3wIk#oCS4dxScVf$>C*FGzvsS+Fp z@HB``vEOFYOC$Q8oS{8%e*rD3DC9Y#VGO>}^iFs-e8Tpc*~EHv_4z+Lu`R$vnX9jq z-h%#{kGtG_c+!8A#{Ops`QJM+&Gmd|DLMO0klr)nj9Y9u0koagt1qF=zRIE>ML0PX ztiI<0y{`|pR3<;VE!PER%e9QG*J{Img*Mw+PD7j3cn!Z_{?;rLL6?~Ty1Fp*Kfx^j zf9dnzi@#=t|A$nEe+%^fEuH))@O{g~Hg#wD=Cq#w*%iwOT9`nbQ%sV}6jKSPnP+=+ z5*u+9VQhL{_~G%uhFW}vGlsyT+(ZNyHu zjosK^&T&UWJ~c-}_LrsRXvpgv4e2UZv%#l9P7L)?lRGv~PM;X{ZgjoP4fUjs&b#qN zxd|sS-VIWqm^-_NVb5!RN%HPE)03S5y~zG&1X>20*B+7mZ!ro^Ah26uf0JIJx7^Mn zlTW?7H7={E+k=d{D^wGa`G0B>jOvjmSQFuzod>-~9KVAm7uF=Bd&)mdX2owAW)E4+ zs2J?$xK{B~=srkj^%Ds24?TpZDSpr3XkLv;ky)C&Io;SyvC&m;|EZxnBz8z9-*M1a zfl2HEyG3#Ne6n$tbB#-Vn>2!Sb_R7Xo$u;t#<{MWV!B=ie@IMl0aT=}3r*n?!5?;7 z8iGH`)cKb3%;9nM$bZc)wF$%6s9A(oPp*>NN?1TLSCI;rP2bx|4q{hCeMvSybtV_W zW>W4;@>`vqCc-V0J4@_(yjou0_3#RGU0AoHVjhU6oAL5sN89}08reKCENqW$FAthi zwhxh|qYu9;bqVi*q77=ZkwKTCL#wlVt7$n_j5Y-MUL$(eBt!zk;GQss}$VB^O z*XL=nY?%bv-#}h9s3$I`@MXvn9xHEdmcVhD)!>dbm99R_m`X$q9heOx_#D`AuaRf-}(yD@`XF2{<)9a*->JmGuwc)64%gm_o3a5sC)IK&i;zGvO&xD!s*GA)= z!>IZYN@Yf+U_R3h^Q&-}T#o>HHU)Si<$VXd3k>i^$_EB`Cj-1P`3B(a2Jk?Se;_vK z=){yQhKhR~di-Axs@VCy+9pCsDSQz+Nz^keB$7l~13`wf-J-tgW{L#Kt#X6@25qf< zf&9Q7CpMtMY-svS5Qr0-#}+|j^V6bQ)jvNiTVns{ruk_fa622;%hJTm5}@s_@`c+# zJi}}t?kZoJ4aE7lTuNm=3`E1CvgDf?W{>NKZtOrTIs}lSx02f~rz&Jq2dr?AIJKpw zRo%5f-amrGrl-!+l*8+@lt>T{7qzfX{Euf=nv)Uazt;q&qzR(0q7_sz<;1$DS6IiF zc|l)!>j(`3jLTImklwnq9E(q{TW#u+8Tts-J4d5CjYjs((=osu&*#7(Wb`4s8H`i4 zQ-(-eW`NhVNGuE_f44A+!vQPZ#1^(pOT=)XFZr~E%WHe~5efO+PLV`ivl20lMbUs( zqfmTKIyO3{60DkPVIMd7mfoYKlw=RL`I7q#So;>pJx3TFyPrG<$l_23VaxH#F+s^a zWA?d!pE1GKi zb!4fWiFu&8lCT}na|u=^r;}zg-LonHv_-K6LCX~;`4i{pZz9Zqlm&mYDWh*7-YZ0z zy&iCoy&1@M_n9QRl1XBOFIkT$Cq5f#L0tFAPZ+|R$q5;i(sW)G!=JZ)2X<3Q1nr@%d$Sh$aa*4 zU{+lIiHTh}8ZJdUaOMcSH08>t$f4AZie+y;FkDVQX;9as@O^=<`C8`@ldsXo8`YE% zZ)BuRm6fNmlulNf=2hKqO!GRly)ARc?bFana?J2?CJB9UZeT~fxQ`swrWw)^Vej#q zcm@SPEzqs!GB$05$eoXh(Jykrns+tQqQgE;uOG{$9x>@lhGj;nneV!2x?77k|NZkq zhj~LG@AaPt*$T61$ec2DE(lUcDqM?wAE0kE20fr55c%CGBCl;Erde`aOH+Y-9c5Ok z4?V>lNTDj!@oC4CPEY4aU46-I`Hnw)q**ApM)YYgTp*X3JWGS*$vN=%f8mwmWolk5 z41yE#pmYUYu3nY<*c=)N~cgEn(`Mn_p8a0l%fXC@FjN^ zI)41AsU|atXqm}3)7Zji7&Yt0al>t*It{czL#t5Eh(^m zPJ2hlF;5mL-mj1)9F^G|z)mPmqzo|HkJZ7ZnEGA*o1uduWzGPI)S-O#RK04bQ-%9p%CNl=hKo2X|D zq57n!Th0*5Mh^Ax@FWG#k6z-(m|fkgeoo!s)U}XY)0hZ(HWmQInux*CCS&IYCh*Fx{QZ zg#x>bRtMFfkwhjM9ap|S&MCcI(Sy2!9h|LMnCIt!X$$cTchW0$@wf(h?O{v()iOD+;{Vk0L-pbEulcKk%!+h^ecP9uNl9Fp#^*CD1n9uM(3>TQ@uX>Sz)P-&4{bZIrL=R6-+I}{ z?!4I9xbTe3g!G`8;x0|OF*#4~)?x;1xN$i{bL_W4Q2WW<2zot~_AaV`x$)ZEb?9Cx zi>h(&D5eVAKZf?!p@?MQ{4bil9t!Iw53zQ6>vfqhAJ_*%P{yEt&1)9e5XAE+x@9e(UdHK0F;iIqLiw@QOo_XKY^V z4aX^>srzUV`+wXr7`?C{CJz%CK13d9UAg)D2~ap{+-#r?B=|gG8ba}VoV;12&(AT0 zB-c(;nNTXP;|@^fboDgluW?z^+OEn~Jm>LTjZ&#Mm88axR@It8P34jahSO~K^-C@8 zxU)^)dXNsm+yZFtdaCQ12OztU1C+q|RWeHJqTW9Z!fa5Fsz2{0?;>DzMK7MG_VaG? z9uhKop@i)zR9A~$b4$1^PenaU?E}@k>ye1|TNWCP=zO)zeInWqO(NP0qKRl%`wq^f zgBpow-}a@aP@1BHto0?QwKGiYj^hAGPx=Hc?M;Nw=D>KqJRJA1rclE@W$vzeUf-@e zJQ>8OnmgM<7ApVb(qv~wAz}|lKG!W_4HEs)e#hDLXx2!8s7DMahU`#H@m=A&jY?|0yPBs1Wv zfjpc`R4~4g2F5eo^uEmS^a8nAap#P*?ml(hEzL}KwaoG{?RH}tZf=#NR%K>ZwE**C*Wuk$ z;q&sW>+jCY^p}KUAfLK^KAd7EcA=w%_cKEak&a$f?07#7J5F-lZOlw}298PIm~#L} z6=k&p-EElxon0#BQhJYY&RFf@5!c22ndn0KUpHlckGoc@GTQ1T4&v`-5aNbuD>!u6 z`aBwWsQNb*T0kfb)a zob5XJJd+&|vMP6z->aBiLHs>i%g2Ue7t48V6G6ZIgMA3{HM=Hjr*PLOdM=xdAg&rH zPodP|XS%mtf^dPy57#r)RqfnLzCN{qO1!GnhSeL4U13z}ZRIh;`fo%5>@P3lkWyeT zSAUk?OJQm*z|d*3+Lv5IQuLWtU(5uEO{*A6a;Izc*^IWj+_n02CR(ix-`;Q?T$z~; z$hAVmSh|96@zka&2t(uw)DL;&=%lpKfDbyeOIewT(I*k)6vsNg&M50R!HxC1jE;4& zYxUbqv|1a2eB?S`t3{eeaR|+f%`pmUf_O- zb#qlm-CU;`H`n^8o2%72*V#Skx3ahMCC|m(%&wnP*UWChxy8)Z5+I+P*+u38(D%6~ zD0v0^Rldn*xY$R1YUJ$;FL%1jmp(#i3Xt#hB}>e{9?rh%^ld%8S+oF88!<-g;4PG^ zle@a?LcCs}K)z;nWGEBAaPwY}zFRigm#p^N-Payj*Sv4BTgdMwJJXH#+IN_4vsK@& zN7XwDBfFiGzjOnAJbg2GiZA)3IJ-cW&cuf;pXpxQIWy5dW71RArKj2E$(7~AJp_8I zcU&Wj%&&Sz!9Y|5xt*muY4SwMMq1N?Yq%A&zQI)Vf3E5Ok!b%+<^CcTyiD%mb^rgz z-j~3~RUCOgxh-KElLbspz@Cv0%wb70I&3+TLD=IUOSbh{HZg>Jv!l_BH1=pl%#02j zV}c=&?B*cXhFol}&E|q^j?D%`uFbhQ$VG0F?B?Dqo5SS3`2JPh{a(K}Z#1Vx_WLb~ zHLtJg>gw+5>gwuh@fme$b*uZ-YB^g&VQhZTE{p;3;gvKXK9px`P1t}KR~{x$DSH3A z_joF;Q*O~VVt0{o-2a8lOrG#*3RG#Uh5TcNGbLns=QuFBdcd39j_D+&?$e96t=X2(+{i}uOp(h z+(&lYjzJZKkB61;;aDNusUf_?3;WeN<=1*9-du7fJ}776{bqF~B#f`ftS2kT`ZbyL zeHCQ=hAE8v_793)|K*+7f7B@-TdAbQcg@gsB!9yk5HSFQF!8S#N7{Usj|A_+2^LMc zcX+4!n^r=wd9SPUUi(Ld%>7;hzfq_B7S;yA6=DLWnyz&K7MdsVQaBwoKlZbe?x_5s z>7-+O_tHP9hMfZXu2)X))F}^W`~0`$OUb5hm-hMJw@qGA&8xA{o*{maGX&v{e^!-! z+-viCnNE2~SN1C3%9g?xWFPIm;IjCvlj19Oh5piv%j+;PBov08(zkRu2*YdU-E8NU#nAIhgW}LAK8!5 zuc-Ou<1U%+4Dl?X*L8`*m$0!ma5zJp5XLTLW0Pvy-vP2~$X=#X{;0R!e<;c9z9E~1 zJ)ErbcV3g-hd@r-MD>jt@-MyZe6vn@zGkpLnJsB0_+Oq%f9$RFzmXv*J~#V6$~N$4 zpp?DuUMW=X+~Q^1XX})^Kq<&exc4$cl&WJ>^Z&iv{RxZ*Oz>~P@YJzKdhJp@0lXxB zqfWV1TPpp&LQAFZNfplBrV8gvtirj+RN+iEtE&IteH1&bQ|>bu=tqhe=+_kk{l^*^ z=*AX>z*}TBGf0Z zd@+D4s3_YkzJ_4jx$tKe<5odvug`bZQtYCNcGk(e#Es6IF)U2D#I0ij3B&n z3HZN4Wq6+VEnL}G&B|V?EBm#q?3s3D>#4GDb7gPf%D&5$!J<{SEbLUajw`#3EBiev zy8v1TuIwvjWxv&x{Xtd+j}eNFmr!M2M~Ri<&0N{HP}!y84Y2MEh_4;d6|EE(lW1%Z z>xyNHSU2NJ3A$#V4YGrZehDC#i+dR4R{`=|@m2=;1smjY(T+v*)+ILipQ9n(E+G!v z5PJyXXBpyq7~&Tg;y*FOPa6=s-4H*oAwGa+yOfR(>XdKd$`3~L3i0YAB^QxePAiZJMQS5#Oo+0nn8ipB(7mM`wf^2(`0>xeXB^>fZq=TTS~YS2Z63t z|NYC1b>*rRs)N7ay)!hdQ{E3zhs`rTJnJ#f#L$24vSoeZSEkbVZ&_*lYg1|bum*J> zKouEc{!ypC6R9r2!#YzT_bsizeq~Ah^?g!*{bduCw=pVTF;TfggZ!pK#ihS~txkQ= zi^>~y%3Yun_9Gw0KynY1zqk#_>z0`tl9h^-FZK5GojT>6LQRs7<3?SHZQlzaQU=A{ z@(FrK8-HPUY#O4J`v$DKNzZWVm?<4tk5dGE3&dj=mszS)UWCQFAD5Mv>7{0+PI)m> zdd-ycbjsf$1xmDjOzM>_LvV&F{)Fr3v;^D_o%GGka$ofA8(h1GGsSP<(F=;7J8#e` z3@p7r#>+ith*#WT>O7`ua05d2)c*9>P0|YPgxj*$Nkmk$6pkDLx zU*clO@URqK+$38rp3}06?zA$PPvOjsFR;N4gmxivYs)VCV$A2fg>N$wKYIfy60!J` zUk-5Kcej9~v~G$MW_LWw-Eji+Ub0aSi0jT#gXq`Io6*V$ffpHwhac#E_VOpCS$|3@?3?$pXd^Yd9nU%o$~4@(};xgG?=wN5yR4P#r4E{ zsn!3M!HdT1gU(60MEnM~&(09fg#(W#4#KGxq%^+24Ff7Wh4KFoJAtqB{Q~UqA=;6T z#FFncG%sLYZ}|ABKFgY2DMKT?>|N&eZTk!nE7&XHwNuy@g=3T zd)2W5V7* z%>t5ns1G3GlzEe2mwBn?@i+5Qt;i1#bI;W^lfE1S7I&|C*n%E%*sc|~lk7mRe!prC z^H4t)f3mrk=R6^A_mne5)DR~9z+En0 z3O02v56#MOt?W+QMdC#Y-=8wR7l{`$zF54)>wxWf82amXHE#h{=mm7agGX(8%c+c;PS)y=TErmku?*mX$;C&1V~Zc0To4-Io=yv8M(G#DBvuY56TY z@?Sqe)uGKb`)KTm;5z8a&1o1WG;Fd9*bT5G7U{9I1+S;*(XGw_DPr=J2MpYh0U9#kL4 zvq_cR69we$;<;?F{v`1N%m%*Lyj}c4T^W4=`()TIPLZ>OUmn}l+%295-f8i-oXjw8 zIf41zBtF4DZqE?!KrcEB^Wh6sFaLY9>gAUoD|M{)0opv>C%$M)>;9))OE9iK)NBaP zcdS-*eBCR(zf`CEOxOM#Y#vMOp+C#}te^d*?z0-QhrW}&YAhG;Icj#&AJ-@X{>V!} zE1*)|i4@l!dYMjn7gAh%=(BaoeMrF;2rC-Y>?_3kwMUx!j?wHmLwsDYyx1dth&vq= z@k;dS+4i1HgZYr|yMHO&cXx5$-37+;7pWxl-y^@4$2-3ozP!cQBHw+?rB#5%NVBs= zek-PrcZ>YSW@n514sYQ%8HsoEE&|Jq+9H3cnYPHZ@U@7~p_6Je=ON*gyrSdQsy%g~ z_jny|wErC&ZB&5wUXCxpQKqeLUbj|_tk-zQ+(w=9Z+w&rlhl7c2KH0I{qr}2HEvo{j+xV2kq<^Q1-W(*&ou` zzkuv~g1wT3RFOEz+8Z3XKUr$7-+)_BhAIP(wl8tU-v=PmyAoe+B;M~$e8m!jkH3Ar zBGgxaK{rmL`b-<<`*rF&k?K;Bd`PE!;0(3K+6Eu3g>^#@R(SmQT$Ter0xUK_oWFzx;}0y^wHtkM>rseu zwx=;L4j=zpFEH`zxJcpm_g?(Ebjsg)nRlN~c^*=FOa;t6deid*Qs}aC*$N} zh4>{|$wLW4Zpv`>VV;0IU#TvB2&Us25kFH2KfpR*B;Y*+Fp*aAjFWJ7#3b1O7pNP= zwQ$iUK6VT;a~ZPyig=LcdO>=lqRyWo8o5Tzv`+aLQsm_OJopT4!PMk?2P7MN^4+Pk z{~NON^f-s7$9>`ps?`0YffuLXf{>B_svS*U3P7dzfH^`L`T3HcY{>B?%JtLP7 z)4K3Umntl8^YZQsbjml8BD?h@n77fbA6sH{>kgg$JIKC##V>Jd6g>k&i#Mb8HgOW7 z?Mg9@?XCDO_OBO-yMQH*xp{N(8{7xh8`CO1^Ra{FKOd3&^!W^@$5DBI66=`s1S(zv zkp|1__XR!lKnpY-MZ8Znh>jvYzC?EJOWZ)tB&{OZ0lwGH8xWsdateO+cywYnu7(YA zDiAO7g7~Pw0K4(>KrYA=&m#flr)bifZQKLm zD^8Q{v7^rvpI1$~#oHuORh@Ak(bBns)YqmO^#$)>xRzZa5*}T!e<)D{20SACb1CMf?J%83A(e z_-TmEl=~x?8;{@Hyx~Tunx4Xj#J@TQe*veI z#4d=z!R;Qo#>E!y4d5T_2Mjt#<#Ljab3B~lIl%DD`x*YHZiGN5*@zV5{|4-wvJ#Es3gI6dJLTXT2q}DT_VU4XI^`4# zN|=x!;0nA1Ku(yQ?TgO!V?$hd*OM%3sddj%3-hVz505*Ge#k-+|C-vzW>V?#v239| zpNqH0GUK^yYP>x&et1(Zkxs<&iA}k1$g&dig+wkBOSh*}WAXX<_O>?qzb7^}mSQN= zxzuc|kcbwJOea#AWVUURs>;q3P&zX+uWQ-FwS+^7_ChwBj!(u?nS6UXJv-Gtol6i} zD*vYWEj`hmE~*-T1o2XVjv)b zqKL*NE|EFSEsjQIHPNZqd^DC$O=O~lD%)R-dNi7uNvEd^xjIQuQ+E`jLzDz@8$!wa zk$f(TK|YhunWF~a8#FlmDwv9;)7g04-7*y`OrAz8LFH7Y{=q}N1vqsM9nCTbjI~t2 z#rt1tj`k_M-q5sSm6VMsW!#;jcKMVtsZ&0SG8gG{ZAwY&ln1;i(>mp=T#qQ65^%=K zjFk$$R40E+CTC8GbB*Np>E!RpEvI@*Skp$d7xayH1H7Bl!-Ue7j8EaSFEoPU-jP z-6+~rs6=Jm#uL;!Ior<0h=>lJ|a4LWjzy{I>9`|_ml8vjd zje&F%fTux-Cl@ZeyZK2&bb-0~N#x3%7T8@Vax3}A6)!_ZoR9ttR}@H0dJ$w6XCVGu zS4X!~{)!YTDEYXS|APnLVE=l_ea-6zo6o(nPBw+hiE6#+#_v7M< zaSXFcq|J&~85O@zSNs~I;`5A()4QJC`~=kaS1sZoor3$<{RGtgt>U`ZQQa}KZp;U} z(OuoD(QjUY0sGY(u}2bbgMfPRFub$V+0p7DXbu4t8@Tr@fvLdm=1n&@pL-R3oclCq zNEI}k_j4PT^)vMfK0+i^{c)oYJFV==mp|qTvX-12%@`yCA!} zhSRFsjdAoD%v1KEO9SbXJ&LBJ=32hu{dh0)#uEb8ZEzEf(QyK#xlDYg2?oa?#}lAO z#fa}jRhEEmtr@qwze$8%_Cs_9_M}Y6U&8*>nS~%K6rX~o$#?OV(@NUBQN@3~SylW~ zI8=CC^LaRY#{F#0P0n-Q4Ghjxi~{#ya88@T8EbjmmWzKz$+L!l;`#Cb{dN!&Z8=3g z3}1k6Ao5-k(nI1OZo)a$S^W)MOM$JUnk9de$Fdqv0@2F)-nVTBD!*%R|CIL$(H#ao#w%f;85PT*-Ja2fRF z&@FfgZkPBmU@(@aFe0wSakMy#JYisPwa9$H=s%$Ccv_2iEp3Yb9r?k&ur0!72^wz5 z|Ke}4wYUsOolA|sm7d0vxV#DdXXEk>4B1si;u~e6V$r(iI$+s?jjF01b$5#`S@&%!njUVCMiJaEk5%Fo)W2Ex5s>G9EHyTtwIq840STD_YoZHW(| zh7ICFR3}k**dgyP%qG2%&U`;`41N7^vFmmKXa#$Hmn6{rC=B!gp2+)kBHce8J4NTy zUqW{|?Rz^ifVN+zxX@WNg#19ieQ|;=H-LUPq?Z%u)Dcuu(@}zdE+2GVkf=`Tb&?$N&~Ma z4g~~ z#S5woMVi}&nl}zLx9_GJUPCFIuok9nO#KTfQ3=P3#~q~Mt|rmrM8o{M7RF!~B79NH9*pN*EiC^088~Bb z|IHbg_rJ#XIj~J@0iS(4F5q;6TOyx$8@@5v;aMH+`ZRDiD>_GfoZCfHPS!TUkE^Ul zhdp@^sJ>4&)^IPyVJPAB&Fd#67e}V@DSfX*wmk)zAsQL1K*iO)V`3Rzxi_2*+@C}tVQFCJ>{-qU>XPWlTUh>u6-JctYz z!JQ56VKsqgJA&+VMD@)Fad$=1>4RkN2)1&nBv*MV7d=Aim1JGaFBECayeI3x-0!a={ zSuI`<@!va@&k;Bsf+&nKpw9!`NgCVnVLljXC=z7;O`SdJ!rHD?Ejj+?N$z1SuFy z4NDGIr`1=XJ0Z8C3~W7KxBO)D`Fn^FT3{`Ii%3xDHvj~VsAm#5?jVYHaPbXS@f*tY zqFQ3tt<7uj-Xk-q!27W<(Gv+>XmFj@c$qvBWdp!n^pE#_9!s_8&idCL%95_(I&s_=X zynzyasS}<+C7K?Qdmu_#Hl$$T;)Z>AK?y5e36Bg)jXR}u=#({0%>w5gtVpATKAo_^ zTg!+}xx`b;epiB7%e+o$cWOC~Lzku2PW(On=fuUV@G(7ov`=s6=W&W%<&hnooX6*5 z(b-h4FcV9+sX=KiU5Z}2RTCP{ki?2xWOq`+ojL(eR_TQ4Gc9Y06&C1+qJw%my2NoJ z&fq7q*@<+*|Kxrm9(Rt@WfnRDr)d1!)P+-XtP}XO+AKZ|^#@s)npTDFv-$SPY`&n* z;y3X@{-%k{j184)P*k+qsrYzLC_I+z9`EW%hQ@nCTVkQ)SkIR3-gtLcIN6y@w)=6} zSbl2LL?V;OrQ-ELsiQRTT8K2Jodh-7ArPBV_*0u=>!yxn&1B|Mnek222{}SlaC|P@ z7AFy6YJ8K5%Fj$sXLEF_3;yF|+mswvMJEcAxlNEfVl!!1t~OvvpulLQNd?9tj&(Ps z(>+~)25D?Mn@`O%2hPigd}<<|%@klWfiQ$NgkdRSrzr~%l$>$0wOH2pTr8Iiw~_R7 zhQ<+vfbTSLOT@+zSf&#;Q5)HeBwxs-G7~b*UXzi}!jyWuo>I3oH9hfyi-PTItR+jE z*0#28FhXl7uBELdxUE$z4~V}?itF*WZEbKsthi%ef9u+g){cwtueD?CTA4S{vZ*z= zt`+x-|FnG9swF#C;g#XQsx_g0@#rkPwpf86ffWC+tW7*L7r>r2fP^-&A|Q~w0#3qE zU!Wx@GJRrIV2y?;ZoR2b{K*QeZQme%xS~zKF{8Nc%mAF8%%~zL2m`cxSG2W@BfA7r z4z~qcCHDNcy`_zQ11;g*VmW`JSwo0gB2s;v1GM_#OVe@XWrw;*r9x^Saibzg|HJik*F8Yd}^WXxSEAzq&QJL3FpB*A4rrCh_W~ zfcXCLfOut7pmoEl;JWj|=Y?BWgMxeU1=2itV_W~4;9BulUparhI1;$%!qy;={O6WF zacMyu2wZWYxFjI{y(th}FZKmskr)uqKiVdK*&Mhw+<#3+aE(~e);XL8p!<%>mK3KHqEm`^Bohp_nni-q(*z!(ILD9jn(4t&IY}3Xa+~LSN^&9#Y_ER&rRXc-2XzlA|@rfNmY;f?L9JN7Wnmx{Cc z#9#G^9A{p$UaUxpbNO2w3J8F?xNl9cb@iI{9UT|0UAnXj1bkpw8+<{(Yc9aw0r8$A zf#7zcFLxWfaol#iPyD%wD_gyh>C@8J(y7KoTX#XQ^)j)pZD|vg z!+{mSySFJ2>KN$Q8%E5#IOc(-0DrepZR%UL12NEhHtibd0GULgPu$!R0AlZ9#J;$U zzVDf%V)!O_UziPqUe*y7`9LQk-?lukx_wRST8xlZB)(!^j$Q8JhtD{O!mr`NKVBAS zMd0r^@RMbMZDOoVtO7VlTR150TM`h@42W0&7t8`M6%TZD za^p69KNu7T8EvuoV5@kV{QQVj5bwXKP5i+kGwEkzX1=NEVEdY2KT{G1M_)VMCN}K? zdf&W}sPhj?h!*(f^fvxsD!g(@l6zB}EoaLH$`B56+y+$rlVbsKmk6{D1zWEPiuHk^ ze$g73khSpN&fwZ0@~>Od-`~C#sGgljo%N7IM@0T1}%p@ z#@l;u00UV{b2_;GntpM9pdC{cBk>ubQ0Q{}qyH|)e`2Uj^aNVPN(?I0xK`YAG$0;q z4y*}oU)MeoY!x3BcLdj5vnGiDwTq9>sfGeYu%yo~150{nb{F$L@hR}Te*xe7H~g;L zH6(sETM*A#-X|X4cEP%*21Pr_KZ}|kTo!owfOwmPB)+^X&`$lzZHA646%fx|-qtT( zH+xV*MTn-M_~R@Sl*bNd#<2e9*!8|d6OSx!Yh4PffF?o->F@gUucV(f7&Luy zCE6BV8v;802u;#dMSZVX8K9;C!uxI_y1jBGHSves#HQ7)?foIZSklr*(3b{U`bGaT znw~A!T|j?d-_P}hgTukr{&g1+L5;l2Haa=4yM(^O7YxwPn&6)HVabl#TBupBLTNPa zjtw-_DX*AsBO0Jg$r2ZVopn>5b&S*={yX0d`ch>0A|gJ%n!x+kg=G(6oqJqckcIJ& zLU>pL<^TW6+;z#^yd$Vx>b3>FV%e63Ru)R#g6yX8)U=d)-SJXREEaG}i?oR}84p8r zm4NW=l0qS@qIHK6jW1jN#J8=o;dnAum3c@O{p}&Zz<;7bSrl{cuBO0w!PeHx#fzH) zmtWYoo5w7qJ2iG+Hw!`N2y8_9GCRb4pzjJfLqrP=b4Y=~BPt^VCjK9S;?htE%j7qz{-sg2^q%C}$8aWO>+am!7fs3s9;t4>1xw6*K<3oq}5RC~?T`JLyt zf{lqc+|+g@<}}SipvFkHwS?C8cMP@ncZAl6vjUJk*Y$UF&b6<@688hqH@v!a_1X*j zu%4|Ch-U=EMFH{jfCzCz#b}@_1Uca6M~Q#Ethp`Jf5lp~Hz=OM>DP# zV#v77y?mEQ2iAzk%ZNbBx@)@653XCcx;@z4kq(Z?CI6DH{$OWX{0(G~m2K;|?czsP zVB0pVSqjCM@59Fuad?+_a$B&Yv!lI#Z9i7}_3PWkI%2g;T9Q;5XTmDGJkWjx#~y5X zW(Szq)7Kv9XutM)fFEk#w&vQIU~pr5Xmzj^Z2xG$-oOOcwq8r6R`2e>=0!I3rA=*O z9gT!LZ#uZ=fGC zVI&3HuNms^f5sH0)Aouef5n<$JMz8c7qs?6%cwA@u-=xHN$7q!Q~oFGt4T z-ar7Kzm)oP-F6o!vLXy3%O7r}p1gbMLGf@?VfTf*)?t*p0w4Z1aGY2ufhafuiv2a2%1}#`iF2n{; zyz%(K5KDU!^G(4JBy&{}W$J5b?YMl)wy^ls@wTUeSIEACE9#|9v?Ml#+h4-K#2kbY zHMAj4Jb^*b0pC3+w5|Z{1nUrQst69eE%1A0`!doVtmW^0LgH-Es;2oj)Ax1mtYWH0Ty*R zV}NMFXYlf1E6P8LtueK0N#FYLg{VqTKH4gN?1r}U*SCV_Z^Wh!JVB3%wH@sw+`fj< z_~DIxOU{7Cc0k_U32fZl5$f&T(is@T?Va&JHWSEo_H_4jhT@$U2l)0(U^bDd_r%mb?^VykPJkb`fXG$E4;aL^Vr3KjW#aB!&mQ?_2y?Y7h5~FwvR|?`S#JQ z{TZ8{=9@%QxD(V4b?SBb{3PkwShc!i>vcNgbxxVgsi6f;aJRU`bgbau=Y@$^LOusiZlc8uDu z3qh{1pu8SG9I~R}5jY7?por|Uu z8OSQpL@t-jMP>o1IJzddIQ)!elhGWmOC=1rW;81EL9nlon@Ma#T7D8LMBFgSA0`Cs zc7=NQUQ4Wy%|#2jSgMd8+%p>OwIc`Pkw|2V3ML}^M#Ir5cMDv3H^;`ubBTODvM*jy zuA#UEJz~BPoz6lrnaHV7E|E;+5}A0yg{!M32dAl#p;_oDkK&G+`k~Pf-9K&Ft>~M@ zML1BwXt)blsAD`~w{axCPz$%vB`vCrx}g-j&Ep9SlkAbmNZeAN1~RxEm)quqS^esQ zRZFK35lnnSU5cc-TSwxNP=_6tr5fKg-$;CzW3zNU{*5JO`oPIQgb z2tEXUV-HuJlIVR*+t6m3L=(AKT2>Rw6b8qbLq*WJx&$@HVQi(##AnAa#sPAZ2;MLG4PnBGYB`9eFXfnfaF#5x5hb9C1EPxLORM! zjV{$no=V#+{;8v#_848bSD2K&SrDWUAF~jB~ND|e#nJ9nger+%1KEn_!o~&Qyi~{_#KZG zVicxA6b-Ei9qB=qB=$@R^Y}BcZ{NT*(b2(cBhmfWj6|XgfdmGmQKq?UZah!lu{rvi zptS-55UzITA(lp`W2sye{m1L3&1%D8|4bxc;569~rUv5_6(WrEY6Y56B5sdmu1rLxrVB@|gsfhIKz**>HEF;d>{(z9 zg2?{&q!*12T6@tumjya53n(^YE};w2#7*kqR0t%7XzP&JTr}zevv z*fe%3TfoKkV;i?WTs#@w!|n9VL)UcojA}6R4D2s}+*o2Fm5D-NfV7Pr?NP{z=~P}b zv`~*X0h_WeXA1&Z&NoXpgC*|B!`L@ZXMzVqG%{UOyW}|5ag#Wn;ZhS5k4s6_1Pf!U z#N1#UqBdj*Q{*((2+jjq(SnAbVo_$Z4@AFZB@!DYIi)jdi?;oqW>pNyrm)<)q_BY{ zQMp!dx-;Bdr_yHi#C3nmk6N+lipw!UKefW>$!T123DQp`qM9~p$44t0_KNm)-<_$} zYP+B_Al@biywco+D(=qBaT{&*RV$?KxWa^gYlY&T<5f4OM=GOgr-w(?VeT0#9hBV( z5{Q5T|JF)~)O=*ho~_S#X02etu>#=KI5@hKIc((768^0fO4nE{ez^7?=_2kYiyNXs zrJWJ#%q6C>vxz9=_9WBP6{a@T12sRBbU~Hj8lmb%9BjJA4(lRy3lwluQ{XbwM`{Jr zlb;!b!X^SR@~c)rn`y%o%OxVT^wiiU8^+XB!=RvH^ z5FCl#3ujakX4#CIf)GX*#&R=_zy!Et%2HnoA`l7}vQeod#*sG)nZboihL9BpRDAvv ziBmxxDpM|Ty`3|XN?As5!GfLCs#&W@qYd>OAA49uo0y6e;(Q>2&ilt|C*968^s^Qovhr=w=9PwBneUW>Y(Lnfg zD$hq^suqXg)KrPDDz8pRb)vL@PR^yJ_8~jXGM7@ark2!%fY~n+jXKHTuOqCfK@9}u zC~q4;Xsy9*04PHx+5l*_TC@SM{FS3M^`n*{yo%$RfR$F7)&>se`LTG4b*TEY0ZhLK zC--E-26;q&H4asLMnH1}U{o)%?qumT1T6J=+ zP-lJ;rl*Ia5Z01F8)vv?xB=*P$MH%4*{$*~0W@^}H4R@||K9*utg!~1I?1TP)Y~-s zG@(v>8U<&1n2t3eZ)%IZOZi;0PV4}+G14IbH9|TBnA0Z;_rUC&P7oy>WuO7m$^}*` zcI)gF4Y7FVS<@^vz%{VB-o0*3s1eVW9Z}4)ec~I4{^=WLz0))KNf_(nBoH>(`nv(B zZ<)?cOSrSJ?UtVn0Baw8Hh_tnum9HZAD zRwT894P!+%xCV?|-Q0$-A`R^HF$NfVLDq#p+OW~%0@#@T)*u_z;Rd`$^tcAsm@Ze) z*pAFlj0~dju<~ypzWy~VLL*M!XzqqJTpl~PDT_ZEKr98(pH`rkh0Bp!SvEliTFZ6%Id#q$lFkbeYJ=G-Fly4GSN!Pun zE?>_g_0R&`tls^;VNccoIoL2Ot6xae#&YtososWm^Brf>0?}P(nyB?cG|U$31r_SV zO&@)gk?&Z$!VSTe%mkzkz-tFq(dw-%F;^iEgFHGVY<~2(i!j? zh+boe=QX)%92LEgX+3WUIsE`Pg05b;4I;4HG^>I1bpvi3d5hsTgt~694I-|OtyTjm z>;t`VWG(@`A++{^-5`P&+jBLL-o?NhM{a-E4WV{1=*AG+wn$?VHv&}~qOlFES2Xg% zYz&jPp<)CyxaFq>Vq;b|TwPDWyHG9#7aDnp!e)@DP^XqSv;{Yp>8v%1N7~_K=TkTM{rg%Ne@)=THt24IvXMp)O{kP$e!ZsY>c45_pB(IZnVJ*;lm)yvw=Pu zF)-P7i=6I}fdOobp;OCd#fSQT#^LZ1Q$?36TMl_-h5RaX?$(u1s3R0Vc;*`@{Bb^~E zSK*Z_)$vC*MDrUI`Wq~zgE4bG>C z9hXeCq66eRj(yFT_ogbkGF8rp7%HBEHzF2ZK@r^i!;%YMM6=U{+`7bkJTXnKE0Jrq zFqV!YQu;7FZY1%EQLi1*H8%;*8?zSuP_w4UL!IkX34$Q}?ZY=PR`nzfo#0@XHaau; zM4n>e*%@}d;fZl~f)5ONnX4me9WRDo9s~OvjQ9JYP&zvS_rL7gR{{oHBTfNy<6*Q0SC4Sj;E4Ie36C#?ta{Y1)zC~R#><)8a}|Di!G2>0Y+}lIW^6gX47f< zoloYdbv+Fkdrz7$xmZCTuW$8kL3>g zf~3o&l$SE7yk&q>GL?|PsW0&V1z{td3KX(b!!R`v+eZH`Mgx(Phcf3y03#GQ`t(x= zWko8@+)QB$k4$_(;X#8BU!7t7)zigaGb*3$YLa(c$V>^U9DS;S^vNaZ10J-&{-_ow z#6_GS7juG6(WF_D0!~2+Iprv%a7C5O!W4G$n}E}lDOlIfWDB@~GG(RHeq(uP6XTQC^?CN%d2MG5F~Ax>=;2NvKR+)UVNGGU zXYjX>or_y@@j;XHxOQQCT&72c>3#hm~a}m4pL3P$d~p zXHi`;nT9npTniS)WWD{pUAr2#!*|&H070ajw~<%z_Tf7hpn- z-w7;1S#n7_t3MC}{K&N)qSO~X=vctQHXD=9^=6a#cr25&X7lnF)%VVp$8)p*Ny&zx z^K&C-%VF;+s~VC-Pm*eVxSPK6{v=9`KwQZ092|~VoXbj1&!80jC7-Si2zqSMf6`;$ z<-nk9RA*0eE(g&AJl}8XyNYl|uARIVCi98JVftI(P$7X4olDS*mh$!xn2VLfrEmNp zXZRM}NYhUew^K6kp_SlY>3<64GO?+Ig@;CyDXdobMVJOS4Ni0r_Y<|3gNkgad@P-r znX>42dNPLJF|3z|@f**8Vc~Z?HGz4O%EKY{^dx@M**SQaPsv`Q-->r_q_y_{?d9<}^lg z+$MsfahlUe&1tOW6k5o{_2SOHDvuADiKZ?iN0TFQJ^rf8bK^X*NyIIHx=6!~|0xpl z=w}jdLvV0Bc7%T+-68r27z+K)spuo>7j%VdN+e87ffpv}>u5GZy=KiOWkYCE*P5SmMkC**i$<^(1*E_qQ>{(!GCYf7sh^$Whr(ZpBr0a1j0 zNF?DPL;()U-#8=!%0v;2rw5NFlvJ@S@Z?}BPnn5Y_$AShKQOr| zd$N$i?8MN@@&ZAcGK?pd3GhRM4vF}c>jy{h0>V*wn#a7#ShH#XaF6p;)`P^giLr%Y z_(-Q2irq#YEP`)=j(6B!A^R(Ae|1_Rd(L+=GF}TBWCGSinFaY;wz4;H3|N2BML)DMY zfQvwMM}>p=0lv*Z0w%#RODa(GYKXO;{_aW4SrNUx+8dA0Cu^ zIzY5`!Xsch!n}0^i!Z-`vNK2QbR;`%gaF=t_ykl*LwfLrIX9XHyhj0GFF%Z8p`e`* z$>e8p2@Y;o_mVB%iaL3{Usn?V8987bVh(;t%7ce!4`Urlrn8uqhty651eBR&=M3ft z;g}(Yeb3$`5m)vPx@9}$BAHQjnK$CiAv>r_*kPG{ zJI1$>-3iLkKej_Xk7!k6>V8+aEhh%O$DDw`3&<1cPD04eunSCeqh>_n2 z%K}D(EU|;PnMM&aLY6UOWTC6^(uYyR3CaRaSZ3do&8Rooi~8L^NrLfD^MZ7BIFA#j zoGZ->)RkBS)gBaHkaj{5JUhh;%o#EsU`~P;n3LiKW(+3}G$X|e&PejYvj?09njP+mTy}s4haKRqwL|C}`XHJgRaVve5GAE z0#4-!7?mSrSB`I|as-UZ5i%=BQ%4K2LMkrViCP|HR1vc%j+XQ-j+b2}<6ZNdd&(!? z1mr5y+0GwHE0B|Br08Xq4z?jDd1S8f2VMLoS?D=azu;a|~cBEO_ znXyK3C(Ku&VjU76SLDM8(bHxIXqPZ*^ z)!Pyoq+}4^PP4y}Ka<19_e5NKt#Nf97Vbg>&_M%oQABb`Q=u^N9f&PLvhbPzXV4V>+0HE4V>)@hpT z-a^Hg>mg`U-CLxn1*$}GD^!9{OH_(qYdo~yhgV9V8Zs&GMA_IoQ4ZCeIE}FrW8>;X zIaoSz27W3MbHJpt5vwWeM0v3z)?icB$>zZhxxCmRst7y86=O$0p_tF@fmkw|$m3zk z2|TWd&9jxvj6i>b$4X_A+5sKNqoUp&MY2#1|lDQ)Wfs%{~?B7Pu<}1j)x$SKDE* zWG8AQmzu%@JhPHRZiiYtg;N;45R^!@L3#75g+oID|8u=PYaN=yQ?yDE<4&=aK-(u1 zINw0Y9Vr;QF~7SKZ!ADZjapS4hX>@NtKMi^MT6{exqxy+F0~P4<$*3 zIJm=wLpLh`BO{?u^bkK7ObSD@{w-QV=u`{hn>j+8?O~&Jhn}u;GH6wzCqtJFfi;Vs z)DB0{Sk$3iZp|Yc5le<3yRg%xh%D86VT^NIAz3O@w?}bVDqok(r}dVlvV~1Wr;*9q zr6J%}4py&^Zq!4FkfADdI?|+7FDjBV)k${^T{8xHU4_6VjDC1fY8BZeYXizg-!7yjorpv^mAyblU7K z268!!%Pd!tUPT~4Hh&QQbmQ_$UMb>u3v}@oLfuuadfba)REc~SBLT6h8qB-hg{nu} z1E3b1N$#r}XQxn&I6DBU#F<;nf@w8K^Q16JRgbk7LX~KDQcpvYs0L{sQg)f@QFfQF z5@9Y(qJ1?ObLTjPsz=!aph}#%H19pCL7IEkC{;byUI2AxT=F;bCNSLYT56RUiUr?o1 z(S@M8TIvhccVYE{bS;%;pZS7xx0%;Tr_C-XmxTvs1ll4&m96zm z2pdctZ7l_|)|PtUIif_BP4$cr2TmPrEeW&M#(Dr6B1o03^^7~gn!?_juapSy*82g5R*?vnJw9X5vLdfg@N zlc|KXv4S~D!Hqv{sb!ipv1NrsUYh;7HW_w4>WRFOZN$^j+7y#v6lETAcNLkk$m(HV zR%9$AClt9jLF&Tz$@!|X7S-xPF&uKCsBMkSCV32oXphV`wi*Y_vzW9%Huqt+i3#V8 z&^>fzQe~SzxF-|9%8j%vAT5?*+tjHo#W>#8VLSsXDdazaL)}19ZG9A$CQ2dd564*8 zRWqj%W&O%^Qa{>eqF!SjBw|YWm81G-;`pTzOr9QoiCsvPlfWl6Oj;0ED&D5WVl=NjPl)x86fT}^sg!#VutaCiH@lQM+fc+K6QC};_sk;pY(o+E zD#J3C-Enpq*K9)}k2rvObf4KpjM;_)E+TMS?C!Eln6nKhg8gi|dA(C;*cG8fimr$l`FL{IkmWs-E(~zg1P*a(H8uD}$ zN|f!WAx}@COa(nPEHG2zTQ)7hR8V3cHtjeNlq$ zEg0ueu1q1F3AZUq&QR<$mE|JeKyUUb2OrZU* z8*r;*B&4}nPPkX`xw6IVI~3A_*pV>x{RLBEbj=u#gz1;xGxU2P&bY2NlpuDfSDI^A zl-ICQr|S_OD|OlxcyCKYMrK{ZKFn*oyi#FapD2MH%U$Me3w^DkM1EFLNMTl8w{T^Y zrrR_g9lzk4qdTOZFL>x7rDY=53BRY~Sv+}+5IK5GL?_`D3~uVkd5Lu8hi0+U-ZI(B z)f9%`L|+i>bC4>58==w}%7TZ>Dc{oUyM6)a?4_j)mEegBu;ZW+@RVp$z$zjqVrHhM zaJLf9d8ek~OD3Nfho8+VZ31?qwa>7wREIjlt8UoPkH-`6*S%^V6iE z4m&a%*+<8g@oZ)s7n-t}Sh_D6OXtz(d|`a+)@U>{emJystDT>L^dWn`5Fp_raLG2# z6)Rj8aALRNeQ8MO2{>HyDPR%nBvMC@PQtTlHcGCwaGV^CjmPrQ$<)LoCE}u4baeEp z{Wx|aZ|#vxJUgBknd3#nnHx2caeH`hM<$}T-gN@o5eAc~rA1)I2F# zcIwP;J)4UX+(j{)JR^9JoaEL-Bsf@wTkZ&a3P(UM@_jiQk?hnaSQzi1c4u<#pa@F5EHbK z{n61dZgP2&*rl#}#)UCQ`IZ)ZRc0m%lhP%uGuT35Gal8et6DZydt>sxUN)&J<{4^7 z`cxT0zpIg<7X--`JdrL+`m~c?EvANc`Zd&^^6usu*s9|Dh)@Q)MnPP*J9^YAOs4V{ z?N%YwM#(WFIS++vP5fm(hTlAnp_PweT3{w-z>_IDM1R7RMqhFIn#xb$@4VGc9vsKV zvW0f=;C3vBIdJWEu&+%yjLBF&u_+f0wI}AmmB8iNi8S-`oHvu0YlCy)3LyX@=r~%~ zoXK)G6CU&Pv9Z)_$iiPvqYjZ{U@SI{Mq!br1;`VHtQk0BgR8?FyoKfhz(YpCReYgW zfrm>zWP`s$GutzsDI<$Aj;FEG**VA2aJV#!UQ5xwdC8OQc&xY#S3n8Hr4UJ_fH_`M z4atQE7r`W+MUh42(G;I@MUh42s0qadePVq}`qW9S^8r{KTMUp$;4PY&tZ@AJjX|*&iJNN88^K z#oV^ptevF~a?WJ|`~jii_!ZJ+G@Bd8CG2c^oSFkpcxWbHh*FR{(%pb^qyYp;86pBN z6|NWwEYz992!R(yxBGGKc$dR*bk4pZLpUrF3_8#qB-UwZ5evc|(9*SH+D{mGLE8(N zHv#>@m!L6c+?X~PpCaH6Mny@CQ*CQTTU$H+@0rJ7{k)jO=VS1NtlZ%9bcXO6oyAil zS^1nBd2OGGO(d+tduMXSooez3Nl`lzaDh7x9}S+g=z)FPqkHy7_eBOq_wKPcxOYhY z?%caCGWfJT(a6E=SilGO?ul+6IPkQq_N&x^{g`SaR}G9t!qLdSeS7y6#fQxJJ$v`< zMuE}&dq-r($etb1y*m*xuw7Mn)xe$|!;yW_oqG@L*&#DQ=tDKb(d~Qp?2jB&Ra0Pa z&w)tvz@DcMA}82D0{$oBiS4{QvI)hL(+;u!h#5E(&B51eVt$%^Z(hYaT=<+#sYp^L9edRu1JqGb=`Uhl83^@P6E)PoM-`;@PZuL_kOpm4mA|OI&ai@(W!FfOVY)y@u&6|7 z9dgG)6oqTmjDFvMQFP_-smhfut8zghT|>D%Ua-`g`QqO6=}eM_i*j0!9OdZN<0lT+ z*ZXZfjM37ncLy9C+}>gkN_vVbc{%Oa5jKE1I#>EUY8_6pwL$y>=J&nfo9 z4u`^?aZWEqrSe6b5-Xt(aZr^{UN6XD@9^}DOgYmXTydo1GpT&K*lu0a3!(^xa0st_ z$UahRj2Tv`Vd|T?7-&Z-U%Yzwqwkl~?5PS^&~P}E%2d$^-^{AcG3fs3Q5kSv#c89l z+=K--4~IKWS0F7Oo0*t&_#W*Fxhp246Y1<2R97m(uFWZJ%mFT=_sYKf7VE?eb~Reh zX!73Sa1W+nF{Kp`_8Tpw^DA_9!yIgNLu@SV;iZZ&*YOzysLN-*l)$PeXEDIAT`@mO zo0)+`3Uni2TE)wr?_BW*P*hVWoQ%Q2|G3;ImzoP^9z_X~u$(%iCV>Y9UeA?dN)8fs zn(g9>1$gLJKyq;DP2RTMS=9>dfOqGn_bzA!H`Cn<^>BEz&s@@!tb&LOKv6gqk0A>$ zS|qc0Q3x7nIQ)Wag70Yu*{I~bHSSz1mxJ*ZM>YqUm*wHZi6c=wWW*lGq7(qr*ZZnM zI!{sFq2b;zc2OZbbdiotIDqK!BNI|$J`s;{B;{KeU^jz`0FA>?4kgm^!B#>`h4Fp~ zo;Wcgc(X-e^}!h|dYXxy;ZGgrpI9EkCS0xKDFphVqZ+(1f-f8d%8cgToR&JJup{JW zaH>Q2M@CX3J7;GJJD*gG-0eqm*%|b-9?3Kv6f=y{TQ<~qTf0bVKLv+~O_HIpuT@dp za*tZtU5;ds6rZXXz!2%K%h^*CV5}7o+hu!3%mz7$s2DHGsJCQj3L9-%xDP`etPjay z+Yp7$*a<9Lte577EQHqB0nC;HB&yRjG1R^!uhc!%P>68q5HE-K+px_`q+|2&@K4{{ zp+cR(u%YjPINsZVpFov|6q`Dp%JBCnKklJAMrkvoQo=P7T*4ozt=%PH`!qhtLyrZ( zq0ufM4G3lGqw}%A#!D{V$l4~_QjP9zL$fvhjSI;$J!XaUj&4PMgV%z&W4u-Cw!F~(tsgP)#~PK<0;hZ8{u7o;Tw zlh9jMUCNG-S-LTC%mE;?c_LL-BAYQ*B;AaN(=}wFq{i}r9bn;z9JL1qqN9<4ecP{+ zng#5E2cp}DBLjO5j2JPtqF~>^?g;0Bu422b51>LW?ZS?yM~57f26jQnk){u4e=b#PIFHAY04YC{ zF61Nh2A2cYDv&fZ2;CE&0)w&zCdec35o(se7<6eNhC?CpBYI#sawYl(wlJ`wG9rqy zheON>T$^t6vTuVV)9_|30vXyuAoG){DSl`YFU}>i5xf{SIXUJ>CWh+HjR&cq!xILTuul&NS5lv?Ajp&D8=p{^lUS<8BKykCY?yp2W-!3|PT#pu%rfL;mz5Nw&_&iW&SDnv z1FL60?*?-YoPHGHv{|LZMsbkGhn!xlbq?@#zbd`idwKuJEuEEn zN%}6XIMhR=lIk~P6Gg>rG8o%g+2EN>g@lk9i*e9RV~eXI(uBHGd2DypU}LEQ zEpkT{!|aYFA&j%Gsn;Gc5sPDsbBB6l+a(>S`A|fI7n?=BIT(s@a?^=#eUKujL=?wU zlQ!!7w)a9Ae9-E)+btmih9}001=~^ag!I- zJMI#=s2#BH@km?tQ{cA2kjmFFDqx}Hba>)NZs zj*b%Ipp)QWFzY6&nvp5uTnKW?pahJ`7-K(xx z7vVj&4-&|Db}ELG5Bd7-@l*!-hZN3Ua}&__zl)Pb2B5jx7~Ofo$JEW>9kPT#K?&6@#1ErxhxvZcoTagK4i4Ri0*Q?$Vln- zw2hNa!yt*#JKE7H7#nJ3wJQeC6X&Mz8YQj!;nN{2k*GYLNXD=`*TS2rBec~=6r8GCd_UqHmIdPz0Fd+RQGiaUbokYl_kcb)CEo|p5)Eq1WGR1bUH@Q$k-6`Gx0bX&!+H9YHDT* z!%IT3{tu2fNwHkuudB0ZoVDUv35woFI`I@9zupO}0g8YF&V(HphGHB#Qk}L>1+lTB z3k3UQ2_TTcWI=<*VS=hGc61~?J`d)mve1PK3WAqG_pc)Jg(E-)=NdS|bHk8vcvd); z8;>4MCa@s^LexR}ZUg%HWON9=4|Fq4>|;Ve^R%@VMzI64afa@`)s|vO&MWwl#q6b zLyg@0hsq(5+n?Q?m>R<`jrAdJoc!FWdQpb!hJ(2a?4`8`a>X7clDSb}90 z)+4F;MA{V*qj!x__Xu{I)(}~6VN9dzkP$Uk5T7 zAi`rsCT&k=>Fs6eHyJU?r&@>_zY_BY992dmzy@d27)9LgghV`-nubXQ#i`LL0~o^k zR*;O4qegzC!%-&ytGqa9lwYH`gO*J)p^4@?8Mm;whCPWn`5|xh$?p*`n$*1f)+34` zSVPV{lF5UZ%)?lKRc2^ExsHDhnKHZ?ecpciD_KhzN<#J<1QKaW~Q(m?`|cmYjE9RPu4n+Ih=vX znZ?AHDZ0TjMB4+80;I>wyt{}Mg}NtWd9xl;3&MamymzL6H`Flz60xZW3?f~bEcF5y zb&XUq8xgx>P{?>y1finp-Bol=5aFjR`l-HjsB;dFU?mP<9!_LHO}rBCil`o9H?1eQ zxf`FtSp?~Xs&3KrFk3x`IzU4V@T*f8vX=8r0LylfS-2-pGd)K;`zlLzVTBrxpe5B7 zw5zPXXfJNgOz+I$5D5s|-&JF@$4UHNW4InSAyxgk(GD{6g@m>9@3B{wX>Qd}wqUutIDw|g>((@^{UWg%8 zkw}PI{{`rG^iY zn8MAaugc4YdOhOlC={9{aWjQo%2-7`VNJ~iD`1LN37MpDO|%7po0+P>oNVbvk7Nq5 zc@p~lY2(ULIqYs&FGITW-8NJraPm0qWgx?eWC=iaa^-lzKLsJS51t?v0?O%CKqcd& zD`R=yAS>RXLe_EC?O<0)dnPLd6%BtldvYGuwjO{(2lAxF7@(6f+VWboF@>5#@uMs0 zu#@(wgrIv333psM14|xhEyLyM`nTLhv7}o`_E0w~{Gj024eKS`k^oQl#8g`I7F|vX zXO+~h_E@vlalfYEQR4Z6-e_7(3Ak!!2PkEiiEvjb&{aVxx*cX=9$lkNs-5+LwB1T&pK2G)N(^*{}GFi9pYKul$GuC zP^aspA{54DO&nd|AJqE5+6-2Nwg+H2d@GqVTS!e#T6B_X>045hmFHEJuVup8m6vOY zlpPY*z6v=C{IMFxKwHpZ>DY9>gfOX7E%Jay{a~APby3WqN1E|b4?ETIzJN@m!ci6$ zBN1u2w%P4+OuAWvZHD1-jNGqnjAgQ!Bk-h_4`k36`DrNJFW$P&luEP0h*F{sT!2(^# z8FmD{+#IT8HhVyp7f4`ln3u6pk$DFHT*M z6FVL{pQ6viJS>25M}8cq%*cbVJV|l|0D-_cX+{8P*p@mc+!VmQF&JU&iS6Me!V4$R zu(Z%I^5mTp)ge62_h2{xFo}3~cQ1X7(aE}O*i?3WCXFi-IdBrXXL=+9GlS?@0yZ*a zRpM}sFq~B?8{Z68EEpCbh-)tS!9(nytrIN-m#wZyY`)4OJZ_{axFy3D32dkZ7)GcnI9s&ELX~arwY$E`g0R~$he@@iJJdLm9qa@!=6wf* zb1?*S;j#d&3fnB4{}ynFic@y5cI*vpza{16jUMwvcM#?PgULuaw!lR!Z^6DKoegi3 z^H*8Wj7#SLG~Z=@@*blzR>WP3@f)uUKXociP3jwGZ}Zy>6m(3DI3%jaf&6|1bhS)7 zriCjydMymJF@O``Bly9rFMVG;jeOfZf4mbC&rj-!>N94JPQ_A?^QMytf?W_jjMX5sx^21Y|;YeglDnFQk6hYf0{pp8@S7Hy9g$zG*@Y0-g&+YdEC+lveAjcID{^h|ydo+Duqfm=i5-L-hARF5Lr zN=TqSN^758Vc9M>Ek+uGp{XRQze}pn9hD#6RVmBLgEN$9^*7Ww)vX_xR-V-lshe2< z7|n4vSF+r}%9RFk+kaW0GrY|rGe}FT)>vWO2o|};%^~X^)PU#Zi;aNUNLC0G8^;MH zu*NV#z-l}n1ki@EL4s%4%{8KP8^;8JT*G)EU^S2h0$Rg3Ai=7_cyPg04X_%+|A<_g z{ng9vwy?v6^1El>mX$s=jSNq9HHh7ntE6E(uv|rrV2tJJsGnO_P(ytzv|I&^+n)XVD2RZt)QF9*HuMWK|jP2iHt z0$tmz{kbFivk-^#2`wA*g{Kj^(N`!{Hg8c094!pTrpEBh0$sVvTLW+pPPS5H>r}}G zG#nnFOA|N<*{$w`G9Ea8q)RScMUl~BEekx=W49X#b>J*_2M!))aleF(6ji`-11Yt0 z@G5Vl!=f^V%Z)={-)9+$t7F4*TdBrX9mYdZ)BEv+6CD)UnkHzU{Gu1PQ+w5|3aIpX zK)CMe*lCX$P8Au_H?E^Ls}^H;tFOgvc^4GNha-oehRs%X$)|x$$DtxypTf0={94?m zheFfDA7M9z3$>9k9KPG3MMh*ZSH1meed{!r$8ac$TU?~TL5Lo>Rtn?TS$G%ZGw#R; zScp&j;^G$SWgM==rSZ}1OfIesgMDHb88JyTxN#jEw@JmJMaDypDD$4O9#Ll8A|thh z`$x+oBP3mDtXz?cjFzO8#(=~m%?!-AMMkQ}MJpiXr4*tT7bQ98BDe~!QK9d}#R0C^ znEB-NrE?zjKgvKpvmOK zEHXl!+-W z38?UQ2Fqya;;6yQo{poXhU#W zpu`2;$Jp8cS42jnrNPcr4lkcr!|<0{;f(<|DPXAKYm>2kFiZ@vq`D9$8@MhG+YQ2_ zr^2e;Mv=uARZ3mV@%E?NwQ0qrd~GG=jrZXx7;n}GsGJp0#n25S36ueS$*ZZgFTqbr z$`foWI+%g?*g^8)3`?DmCmg1^3WxA`#sVL2mDEa2~VJOxuA_f6q$1~o|i9*)xJ@j%Cz7~3DkCS!j`bblynarQnk zcqlM;7s zH4F=h7+#tghwltJeqwr-v*_uyosO5gzUm`udl|}>so3EJ8S}^q>YV{jU6EZRRB6u* z^kuqAMQ21t_D6S2@1@3Tn3eNQyGbQEp%=5QTjh<74ONuD_*Nc#7ujm7izvdjYF>is z8+1ixOCacIuSw9qWMblANc;4veDpHYairfO3aB{|#dRF=uwN1HXD$oCd*G0^i~Wtz zS2sJ;Ci6dHMyBIHPKX-*x1*Lm8Bj?+bI3as!(nyZiPUU>LIS1ZJ0#_UUzO0#|9^4n|U@{bLfTuov|3;SzBlH@1w zbn7gIW7J~bdQswUa6P4ewHsXUT#~qGuWF4ZAhWSf(HhKOox;1Bw5PU@XGTcLJpLG1 zzd45tX!HoAP8=SnCoil)Ow;mrs7r2fc;Tzcgx!0F71=X%AUzw2Lg4njeeLD$WrRLg zAJYuSbMT8c!^0i_qi48HDm@2I(+sbXO#AQx2E7wh;eF;FEez=i$hRk?Q8C#Qlh;hP zFs=(8PTc6MO~O-w%2vK2{Ky|Tcm%GPNNDoAMqnZGnF@-{C+JGCL5NiWafq+s=o69NJ0 zQ?}2N`OF$I-MWMH;IC6?(%|$&tzJqx?IqZR=d{-1P&rVIT0qlIbwyyqV<#|{7-D)c z86Ch7>u?RR0UBZ?gE@^?{$>4!Sgk4rO``uDUU;Q1mtTb86)GAEBzVGksy!C|AA4^T z995R32|friTQkkf&@(YJ%nUQ5?q<5F8X`k3M1;tqvWW;O5-Q0E1yW`yqL^}A?k?mJ zj--@agrW?i7%Rq%HlwXDOBRe7X2Aj*W5I$23l=O`uwcQ01vbWl1q&7|Sg>Hhg84c3 zzVqGt{G8*`^FN8mY7BVS@B7a0J@@zBci)JLg*2xr6nt!`NT5|-TEkfi;wx!}@no0*-P`l00T1`Z{Mf7(MyxC$lSuc2hm+|+Gw&{vl?Y@SgV{YeK$ za8;j!qeC~*=gm%~uldo}ENM?cLhGUl?Yv9BAenQvFr59eX^wHDTzYOd9Gm2g|CJcb zbvZ!G+S2AA$Pb)0Z%m@x(lh{ZZi$^z<^fRt=M@{`nnIHq)R#J?Gh_8kboQm=qu|`Q zwykF^djHn-<0CP(+!S2Z@3yUHZfdusk)xuK!o~&1NZ}{l@da1)IXHUfrf!2{_~VTW zj^U4g(!mj2)#u>ootwH1j=}~$d@KC4AHD@w^*K0t=ccZM6W7aSM@tM zdgi8Xg98R*OIMfko3$QC_sr%^8IHnHeU6NdowV-blHr1T+u`>O_l3$#G4+2&-9oT> zY|>@unbx&A#~%FicAgk)_QsMm9g8@nhXv%=PFMWjai`iLt(VB-))LxB81|O*Wrjbz zf8%=F;r&19-Zr=jvFZY~5Bs2c=cYD$+wk!|_sqkOExK&u-1{j z>~b}*ZA-f;8dqieRWkeEk%EDZ{VJChc6L)NZc^K?Vi|cyiUl_It5{mt*-f#yk#N6? zLO^$Wxv``=zwh_by1`AqI)2(j zOP{W%(?pj2JFdB2oH}3}EL-UDt7Ddo9R1t64;%{?-8t{uxknK>HUABfuYe(q)7*%9}rCkjS_w}=A_Pr}b11tMBFl=FIS4D&8y?q(8w|LkqM=iZO>?FP?(%d${ z%Dxp1Te|*Ww}9~rHJQC0p=WvbWMrOYxFI9*tia}hOP4Ks#_Mf#if(a}_WEt!P(%9z z0}b*=r-O?A`=XH5TMP_(Fv4xF+wQobE~BG$zd!V@bS|*6Z!K60OS|Y?(!)&RF`86J zT^;)wODXp_I11myb2_r&>W9VI6VRMbdRC_W^GmRSYO}Jzs?xHLFEl-fGP(G3-9Dqo z14;U{%O~?Je;o+ld+KqInqfRVS6cRBx;rB&a_mJ19l32p?;NEycg^XkMNQ?~ZB-8i z+J0x&j&j#fcQHw_MYI{Ln>iL;+e?VqF5+{8J!Fd$5txkEtNt5# zG2-~Fdw0;NTlUJg-(V`h-o$dq2{LPTzN&*3(~ee18T?VqTv zR_jr<4QOnoNb+&7n^|F0M=j?jj&BR5i^NIbZg}Ndlk}AQj!uT!KsPCqs9m($!X7-$ zRn<3a%<6TR#cI<=gmLrM21V@6H!~)cTM>GEKx)*IBD3Q;*JinN-Ij8A$gQURb*(X% z{hV!~KxbCFk*&K)TXXX)zSx{PXn5s{k-LzR;32pci8fTW+sMAC~*us6_2o zyUiYltmRhJz3xUNo9EK;`9`hrgZm;HeKG22t>HAG6LP0cEhdu-pVNZo#LDvAXA7qm z7v`(9$7kvjx_K;D?J9gU*{Fmq<&JMBbyRcdpnkUbBtXk-u0pQE?_xbgx~2WPvw3q# zRi@43@-F(D4f2XE+va9D*8_p{BeKOxZMnQuJ5`%^-wgC0ZX7PA-?nYOm51lTF+R;a zd%ih+(kr3wCHrp@p83n48Tt)q9Wv6I+lB5Y_R$aRHwx`jY+f^>T-c*-w7T3#zb@XsGuo%f z<-TleH@7tYd!ac#d~)FELb+6T{b&DUJId;HWCtVK_jCIcxk{!VTeqbDdK1>~p6{Za zI;QdI4ENf>ElQAxGP<+${cRp<;ctu(q{DeN0pnnIxswB8R0$E zbPTxjRGf@Zi9%%P9Vw8JQUH556cu=u02;xmNo2UQ+y>ABTkRH`8aF%L|J? z(D$byHzuvnWtGF>VyFVUO8#bs)j{U?Qom#U{0PFIOD zeVF;kRB?QyK~ECK=`+FOMPadrD1xDxkxju)ASA1`VU@-BE2kCJL&lz@pH%& zOP}7OQ|(d~6O$hoC&!DEpHfZoH2F`QPiM|;7RunC|0)TV9&9YF&|zG;x96l1i35LL zny&8a(sZG(BdpXZ(e$P5q?mq47GK_Wnr-0 zcKf!T&73xwoHb7rwB`WqPD>B4n8}ryWolVh8uWU7`uT>!NW6s?H@cdlE>_DFqgg?1 z_@!BwP3w#ct^7sn_m;o9Y!0K

X=^Gy6-xnQ!${+xR85UCEb?x$07L&07Axw0LA9 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 diff --git a/app_ipc_monitoring/other.zip b/app_ipc_monitoring/other.zip deleted file mode 100644 index 9bfec749b2e389683c0324b006dd846ee7338efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48915 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 -} diff --git a/app_ipc_monitoring/src/androidTest/java/com/zhidao/adas/client/ExampleInstrumentedTest.java b/app_ipc_monitoring/src/androidTest/java/com/zhidao/adas/client/ExampleInstrumentedTest.java deleted file mode 100644 index a69d6cb30b..0000000000 --- a/app_ipc_monitoring/src/androidTest/java/com/zhidao/adas/client/ExampleInstrumentedTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.zhidao.adas.client; - -import android.content.Context; - -import androidx.test.platform.app.InstrumentationRegistry; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumented test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); - - assertEquals("com.zhidao.adas.client", appContext.getPackageName()); - } -} diff --git a/app_ipc_monitoring/src/main/AndroidManifest.xml b/app_ipc_monitoring/src/main/AndroidManifest.xml deleted file mode 100644 index ef2a239c85..0000000000 --- a/app_ipc_monitoring/src/main/AndroidManifest.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/App.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/App.java deleted file mode 100644 index f0bd8f52ca..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/App.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.zhidao.adas.client; - -import android.app.Application; - -import com.zhidao.adas.client.utils.CrashHandler; - -import chassis.Chassis; - -public class App extends Application { - public static App INSTANCE; - - public Chassis.GearPosition gear; - - @Override - public void onCreate() { - super.onCreate(); - INSTANCE = this; - CrashHandler.getInstance().init(this); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/BootCompletedReceive.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/BootCompletedReceive.java deleted file mode 100644 index 84d033637b..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/BootCompletedReceive.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.zhidao.adas.client; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.util.Log; - -public class BootCompletedReceive extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - Log.i("开机", "启动"); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java deleted file mode 100644 index 0f4edc2f79..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java +++ /dev/null @@ -1,668 +0,0 @@ -package com.zhidao.adas.client; - -import android.util.Pair; - -import com.zhidao.adas.client.bean.BaseInfo; -import com.zhidao.adas.client.bean.DataShow; -import com.zhidao.adas.client.bean.ErrorData; -import com.zhidao.adas.client.bean.ObuMap; -import com.zhidao.adas.client.bean.ObuRsi; -import com.zhidao.adas.client.bean.ObuRsm; -import com.zhidao.adas.client.bean.ObuSpat; -import com.zhidao.adas.client.bean.PerceptionTrafficLight; -import com.zhidao.adas.client.bean.PlanningDecisionState; -import com.zhidao.adas.client.bean.PlanningObjects; -import com.zhidao.adas.client.bean.PredictionObstacleTrajectory; -import com.zhidao.adas.client.bean.RecordDataConfig; -import com.zhidao.adas.client.bean.RecordPanel; -import com.zhidao.adas.client.bean.RoboSweeperTaskIndex; -import com.zhidao.adas.client.bean.StatusInfo; -import com.zhidao.adas.client.bean.TrackedObjects; -import com.zhidao.adas.client.bean.Trajectory; -import com.zhidao.adas.client.bean.Warn; -import com.zhidao.adas.client.log.LogSave; -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.support.adas.high.common.ThreadPoolManager; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Locale; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; - -import mogo.telematics.pad.MessagePad; - -/** - * 数据分发 - */ -public class DataDistribution { - private static final String TAG = DataDistribution.class.getSimpleName(); - private volatile static DataDistribution INSTANCE; - private final LinkedBlockingQueue queue; - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS ", Locale.getDefault()); - private Future future; - private Pair listener; - private volatile boolean isCutDown = true;//是否缩短日志显示 - - private DataDistribution() { - queue = new LinkedBlockingQueue<>(); - start(); - } - - public static DataDistribution getInstance() { - if (INSTANCE == null) { - synchronized (DataDistribution.class) { - if (INSTANCE == null) { - INSTANCE = new DataDistribution(); - } - } - } - return INSTANCE; - } - - public void registerAdasClientListener(Pair listener) { - this.listener = listener; - } - - public void unregisterAdasClientListener(Pair listener) { - if (this.listener != null && listener != null) - if (listener.second.hashCode() == this.listener.second.hashCode()) { - this.listener = null; - } - } - - - public void addData(BaseInfo info) { - queue.add(info); - } - - - public void start() { - if (future == null) { - future = ThreadPoolManager.getsInstance().submit(new WriteThread()); - } - } - - public void stop() { - queue.clear(); - if (future != null && !future.isCancelled()) { - future.cancel(true); - } - future = null; - } - - public void setCutDown(boolean cutDown) { - this.isCutDown = cutDown; - } - - private static final int LIST_SIZE = 30;//默认list最大数据量 - public final List listTrajectory = new ArrayList<>(); - public final List listTrackedObjects = new ArrayList<>(); - public final List listGnssInfo = new ArrayList<>(); - public final List listVehicleState = new ArrayList<>(); - public final List listAutopilotState = new ArrayList<>(); - public final List listMogoReportMessage = new ArrayList<>(); - public final List listPerceptionTrafficLight = new ArrayList<>(); - public final List listPredictionObstacleTrajectory = new ArrayList<>(); - public final List listRecordPanel = new ArrayList<>(); - public final List listGlobalPathResp = new ArrayList<>(); - public final List listWarn = new ArrayList<>(); - public final List listArrivalNotification = new ArrayList<>(); - public final List listStatusInfo = new ArrayList<>(); - public final List listRecordDataConfig = new ArrayList<>(); - public final List listErrorData = new ArrayList<>(); - public final List listOriginalPointCloud = new ArrayList<>(); - public final List listPlanningObjects = new ArrayList<>(); - public final List listPlanningDecisionState = new ArrayList<>(); - public final List listChassisStates = new ArrayList<>(); - public final List listFSMFunctionStates = new ArrayList<>(); - public final List listBackCameraVideo = new ArrayList<>(); - public final List listRoboSweeperTaskIndex = new ArrayList<>(); - public final List listBagManagerCmd = new ArrayList<>(); - public final List listObuSpat = new ArrayList<>(); - public final List listObuRsi = new ArrayList<>(); - public final List listObuRsm = new ArrayList<>(); - public final List listObuMap = new ArrayList<>(); - - private long listTrajectorySize = 0; - private long listTrackedObjectsSize = 0; - private long listGnssInfoSize = 0; - private long listVehicleStateSize = 0; - private long listAutopilotStateSize = 0; - private long listMogoReportMessageSize = 0; - private long listPerceptionTrafficLightSize = 0; - private long listPredictionObstacleTrajectorySize = 0; - private long listRecordPanelSize = 0; - private long listGlobalPathRespSize = 0; - private long listWarnSize = 0; - private long listArrivalNotificationSize = 0; - private long listStatusInfoSize = 0; - private long listRecordDataConfigSize = 0; - private long listErrorDataSize = 0; - private long listOriginalPointCloudSize = 0; - private long listPlanningObjectsSize = 0; - private long listPlanningDecisionStateSize = 0; - private long listChassisStatesSize = 0; - private long listFSMFunctionStatesSize = 0; - private long listBackCameraVideoSize = 0; - private long listRoboSweeperTaskIndexSize = 0; - private long listBagManagerCmdSize = 0; - private long listObuSpatSize = 0; - private long listObuRsiSize = 0; - private long listObuRsmSize = 0; - private long listObuMapSize = 0; - - - public void clearCount() { - listTrajectorySize = 1; - listTrackedObjectsSize = 1; - listGnssInfoSize = 1; - listVehicleStateSize = 1; - listAutopilotStateSize = 1; - listMogoReportMessageSize = 1; - listPerceptionTrafficLightSize = 1; - listPredictionObstacleTrajectorySize = 1; - listRecordPanelSize = 1; - listGlobalPathRespSize = 1; - listWarnSize = 1; - listArrivalNotificationSize = 1; - listStatusInfoSize = 1; - listRecordDataConfigSize = 1; - listErrorDataSize = 1; - listOriginalPointCloudSize = 1; - listPlanningObjectsSize = 1; - listPlanningDecisionStateSize = 1; - listChassisStatesSize = 1; - listFSMFunctionStatesSize = 1; - listBackCameraVideoSize = 1; - listRoboSweeperTaskIndexSize = 1; - listBagManagerCmdSize = 1; - listObuSpatSize = 1; - listObuRsiSize = 1; - listObuRsmSize = 1; - listObuMapSize = 1; - } - - public String cutDown(String str) { - if (isCutDown && str.length() > 850) { - str = str.substring(0, 850) + "\n(已缩短。如需查看完整数据,请勾选日志缩短复选框)"; - } - return str; - } - - private String onTransmit(String time, BaseInfo data) { - String temp = data.toString(); - String str = cutDown(temp); - if (data instanceof Trajectory) { - listTrajectory.add(0, new DataShow(listTrajectorySize++, time + str)); - if (listTrajectory.size() > LIST_SIZE) { - listTrajectory.remove(listTrajectory.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_TRAJECTORY.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof TrackedObjects) { - listTrackedObjects.add(0, new DataShow(listTrackedObjectsSize++, time + str)); - if (listTrackedObjects.size() > LIST_SIZE) { - listTrackedObjects.remove(listTrackedObjects.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_TRACKED_OBJECTS.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof OriginalPointCloudData) { - listOriginalPointCloud.add(0, new DataShow(listOriginalPointCloudSize++, time + str)); - if (listOriginalPointCloud.size() > LIST_SIZE) { - listOriginalPointCloud.remove(listOriginalPointCloud.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_POINT_CLOUD_ORIGINAL.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof PlanningObjects) { - listPlanningObjects.add(0, new DataShow(listPlanningObjectsSize++, time + str)); - if (listPlanningObjects.size() > LIST_SIZE) { - listPlanningObjects.remove(listPlanningObjects.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PLANNING_OBJECTS.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof PlanningDecisionState) { - listPlanningDecisionState.add(0, new DataShow(listPlanningDecisionStateSize++, time + str)); - if (listPlanningDecisionState.size() > LIST_SIZE) { - listPlanningDecisionState.remove(listPlanningDecisionState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PLANNING_DECISION_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuSpat) { - listObuSpat.add(0, new DataShow(listObuSpatSize++, time + str)); - if (listObuSpat.size() > LIST_SIZE) { - listObuSpat.remove(listObuSpat.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_SPAT.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuRsi) { - listObuRsi.add(0, new DataShow(listObuRsiSize++, time + str)); - if (listObuRsi.size() > LIST_SIZE) { - listObuRsi.remove(listObuRsi.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_RSI.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuRsm) { - listObuRsm.add(0, new DataShow(listObuRsmSize++, time + str)); - if (listObuRsm.size() > LIST_SIZE) { - listObuRsm.remove(listObuRsm.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_RSM.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuMap) { - listObuMap.add(0, new DataShow(listObuMapSize++, time + str)); - if (listObuMap.size() > LIST_SIZE) { - listObuMap.remove(listObuMap.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_MAP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof GnssInfo) { - listGnssInfo.add(0, new DataShow(listGnssInfoSize++, time + str)); - if (listGnssInfo.size() > LIST_SIZE) { - listGnssInfo.remove(listGnssInfo.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_GNSS_INFO.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof VehicleState) { - listVehicleState.add(0, new DataShow(listVehicleStateSize++, time + str)); - if (listVehicleState.size() > LIST_SIZE) { - listVehicleState.remove(listVehicleState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_VEHICLE_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ChassisStates) { - listChassisStates.add(0, new DataShow(listChassisStatesSize++, time + str)); - if (listChassisStates.size() > LIST_SIZE) { - listChassisStates.remove(listChassisStates.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_CHASSIS_STATES.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof AutopilotState) { - listAutopilotState.add(0, new DataShow(listAutopilotStateSize++, time + str)); - if (listAutopilotState.size() > LIST_SIZE) { - listAutopilotState.remove(listAutopilotState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_AUTOPILOT_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof MogoReportMessage) { - listMogoReportMessage.add(0, new DataShow(listMogoReportMessageSize++, time + str)); - if (listMogoReportMessage.size() > LIST_SIZE) { - listMogoReportMessage.remove(listMogoReportMessage.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_REPORT_MESSAGE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof PerceptionTrafficLight) { - listPerceptionTrafficLight.add(0, new DataShow(listPerceptionTrafficLightSize++, time + str)); - if (listPerceptionTrafficLight.size() > LIST_SIZE) { - listPerceptionTrafficLight.remove(listPerceptionTrafficLight.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT.equals(listener.first)) { - listener.second.onPerceptionTrafficLight((PerceptionTrafficLight) data); - } - } else if (data instanceof PredictionObstacleTrajectory) { - listPredictionObstacleTrajectory.add(0, new DataShow(listPredictionObstacleTrajectorySize++, time + str)); - if (listPredictionObstacleTrajectory.size() > LIST_SIZE) { - listPredictionObstacleTrajectory.remove(listPredictionObstacleTrajectory.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof BasicInfoReq) { - - } else if (data instanceof CarConfigResp) { - if (listener != null && Constants.TITLE.TITLE_CAR_CONFIG_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof RecordPanel) { - listRecordPanel.add(0, new DataShow(listRecordPanelSize++, time + str)); - if (listRecordPanel.size() > LIST_SIZE) { - listRecordPanel.remove(listRecordPanel.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_RECORD_RESULT.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof BagManagerCmd) { - listBagManagerCmd.add(0, new DataShow(listBagManagerCmdSize++, time + str)); - if (listBagManagerCmd.size() > LIST_SIZE) { - listBagManagerCmd.remove(listBagManagerCmd.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_BAG_MANAGER_CMD.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof GlobalPathResp) { - listGlobalPathResp.add(0, new DataShow(listGlobalPathRespSize++, time + str)); - if (listGlobalPathResp.size() > LIST_SIZE) { - listGlobalPathResp.remove(listGlobalPathResp.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof Warn) { - listWarn.add(0, new DataShow(listWarnSize++, time + str)); - if (listWarn.size() > LIST_SIZE) { - listWarn.remove(listWarn.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_WARN.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ArrivalNotification) { - listArrivalNotification.add(0, new DataShow(listArrivalNotificationSize++, time + str)); - if (listArrivalNotification.size() > LIST_SIZE) { - listArrivalNotification.remove(listArrivalNotification.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof StatusInfo) { - listStatusInfo.add(0, new DataShow(listStatusInfoSize++, time + str)); - if (listStatusInfo.size() > LIST_SIZE) { - listStatusInfo.remove(listStatusInfo.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_STATUS_QUERY_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof RecordDataConfig) { - listRecordDataConfig.add(0, new DataShow(listRecordDataConfigSize++, time + str)); - if (listRecordDataConfig.size() > LIST_SIZE) { - listRecordDataConfig.remove(listRecordDataConfig.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof RoboSweeperTaskIndex) { - listRoboSweeperTaskIndex.add(0, time + str); - if (listRoboSweeperTaskIndex.size() > LIST_SIZE) { - listRoboSweeperTaskIndex.remove(listRoboSweeperTaskIndex.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof RoboSweeperTaskIndex) { - listRoboSweeperTaskIndex.add(0, new DataShow(listRoboSweeperTaskIndexSize++, time + str)); - if (listRoboSweeperTaskIndex.size() > LIST_SIZE) { - listRoboSweeperTaskIndex.remove(listRoboSweeperTaskIndex.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof FSMFunctionStates) { - listFSMFunctionStates.add(0, new DataShow(listFSMFunctionStatesSize++, time + str)); - if (listFSMFunctionStates.size() > LIST_SIZE) { - listFSMFunctionStates.remove(listFSMFunctionStates.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_FUNCTION_STATES.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ErrorData) { - listErrorData.add(0, new DataShow(listErrorDataSize++, time + str)); - if (listErrorData.size() > 100) { - listErrorData.remove(listErrorData.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_ERROR.equals(listener.first)) { - listener.second.onRefresh(); - if (data.header == null) { - if (data instanceof ErrorData) { - listErrorData.add(0, new DataShow(listErrorDataSize++, time + str)); - if (listErrorData.size() > 100) { - listErrorData.remove(listErrorData.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_ERROR.equals(listener.first)) { - listener.second.onRefresh(); - } - } - } else { - MessagePad.MessageType messageType = data.header.getMsgType(); - if (messageType == MessagePad.MessageType.MsgTypeTrajectory) { - listTrajectory.add(0, new DataShow(listTrajectorySize++, time + str)); - if (listTrajectory.size() > LIST_SIZE) { - listTrajectory.remove(listTrajectory.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_TRAJECTORY.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeTrackedObjects) { - listTrackedObjects.add(0, new DataShow(listTrackedObjectsSize++, time + str)); - if (listTrackedObjects.size() > LIST_SIZE) { - listTrackedObjects.remove(listTrackedObjects.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_TRACKED_OBJECTS.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypePlanningObjects) { - listPlanningObjects.add(0, new DataShow(listPlanningObjectsSize++, time + str)); - if (listPlanningObjects.size() > LIST_SIZE) { - listPlanningObjects.remove(listPlanningObjects.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PLANNING_OBJECTS.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypePlanningDecisionState) { - listPlanningDecisionState.add(0, new DataShow(listPlanningDecisionStateSize++, time + str)); - if (listPlanningDecisionState.size() > LIST_SIZE) { - listPlanningDecisionState.remove(listPlanningDecisionState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PLANNING_DECISION_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeGnssInfo) { - listGnssInfo.add(0, new DataShow(listGnssInfoSize++, time + str)); - if (listGnssInfo.size() > LIST_SIZE) { - listGnssInfo.remove(listGnssInfo.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_GNSS_INFO.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeVehicleState) { - listVehicleState.add(0, new DataShow(listVehicleStateSize++, time + str)); - if (listVehicleState.size() > LIST_SIZE) { - listVehicleState.remove(listVehicleState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_VEHICLE_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeChassisStates) { - listChassisStates.add(0, new DataShow(listChassisStatesSize++, time + str)); - if (listChassisStates.size() > LIST_SIZE) { - listChassisStates.remove(listChassisStates.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_CHASSIS_STATES.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeAutopilotState) { - listAutopilotState.add(0, new DataShow(listAutopilotStateSize++, time + str)); - if (listAutopilotState.size() > LIST_SIZE) { - listAutopilotState.remove(listAutopilotState.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_AUTOPILOT_STATE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeReportMessage) { - listMogoReportMessage.add(0, new DataShow(listMogoReportMessageSize++, time + str)); - if (listMogoReportMessage.size() > LIST_SIZE) { - listMogoReportMessage.remove(listMogoReportMessage.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_REPORT_MESSAGE.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypePredictionObstacleTrajectory) { - listPredictionObstacleTrajectory.add(0, new DataShow(listPredictionObstacleTrajectorySize++, time + str)); - if (listPredictionObstacleTrajectory.size() > LIST_SIZE) { - listPredictionObstacleTrajectory.remove(listPredictionObstacleTrajectory.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeCarConfigResp) { - if (listener != null && Constants.TITLE.TITLE_CAR_CONFIG_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeRecordResult) { - listRecordPanel.add(0, new DataShow(listRecordPanelSize++, time + str)); - if (listRecordPanel.size() > LIST_SIZE) { - listRecordPanel.remove(listRecordPanel.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_RECORD_RESULT.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeBagManagerCmd) { - listBagManagerCmd.add(0, new DataShow(listBagManagerCmdSize++, time + str)); - if (listBagManagerCmd.size() > LIST_SIZE) { - listBagManagerCmd.remove(listBagManagerCmd.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_BAG_MANAGER_CMD.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeGlobalPathResp) { - listGlobalPathResp.add(0, new DataShow(listGlobalPathRespSize++, time + str)); - if (listGlobalPathResp.size() > LIST_SIZE) { - listGlobalPathResp.remove(listGlobalPathResp.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeWarn) { - listWarn.add(0, new DataShow(listWarnSize++, time + str)); - if (listWarn.size() > LIST_SIZE) { - listWarn.remove(listWarn.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_WARN.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeArrivalNotification) { - listArrivalNotification.add(0, new DataShow(listArrivalNotificationSize++, time + str)); - if (listArrivalNotification.size() > LIST_SIZE) { - listArrivalNotification.remove(listArrivalNotification.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeStatusQueryResp) { - listStatusInfo.add(0, new DataShow(listStatusInfoSize++, time + str)); - if (listStatusInfo.size() > LIST_SIZE) { - listStatusInfo.remove(listStatusInfo.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_STATUS_QUERY_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeRecordDataConfigResp) { - listRecordDataConfig.add(0, new DataShow(listRecordDataConfigSize++, time + str)); - if (listRecordDataConfig.size() > LIST_SIZE) { - listRecordDataConfig.remove(listRecordDataConfig.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeSweeperTaskIndexData) { - listRoboSweeperTaskIndex.add(0, new DataShow(listRoboSweeperTaskIndexSize++, time + str)); - if (listRoboSweeperTaskIndex.size() > LIST_SIZE) { - listRoboSweeperTaskIndex.remove(listRoboSweeperTaskIndex.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeFunctionStates) { - listFSMFunctionStates.add(0, new DataShow(listFSMFunctionStatesSize++, time + str)); - if (listFSMFunctionStates.size() > LIST_SIZE) { - listFSMFunctionStates.remove(listFSMFunctionStates.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_FUNCTION_STATES.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypePointCloud) { - listOriginalPointCloud.add(0, new DataShow(listOriginalPointCloudSize++, time + str)); - if (listOriginalPointCloud.size() > LIST_SIZE) { - listOriginalPointCloud.remove(listOriginalPointCloud.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_POINT_CLOUD_ORIGINAL.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (messageType == MessagePad.MessageType.MsgTypeBackCameraVideo) { - listBackCameraVideo.add(0, new DataShow(listBackCameraVideoSize++, time + str)); - if (listBackCameraVideo.size() > LIST_SIZE) { - listBackCameraVideo.remove(listBackCameraVideo.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof PerceptionTrafficLight) { - listPerceptionTrafficLight.add(0, new DataShow(listPerceptionTrafficLightSize++, time + str)); - if (listPerceptionTrafficLight.size() > LIST_SIZE) { - listPerceptionTrafficLight.remove(listPerceptionTrafficLight.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT.equals(listener.first)) { - listener.second.onPerceptionTrafficLight((PerceptionTrafficLight) data); - } - } else if (data instanceof ObuSpat) { - listObuSpat.add(0, new DataShow(listObuSpatSize++, time + str)); - if (listObuSpat.size() > LIST_SIZE) { - listObuSpat.remove(listObuSpat.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_SPAT.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuRsi) { - listObuRsi.add(0, new DataShow(listObuRsiSize++, time + str)); - if (listObuRsi.size() > LIST_SIZE) { - listObuRsi.remove(listObuRsi.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_RSI.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuRsm) { - listObuRsm.add(0, new DataShow(listObuRsmSize++, time + str)); - if (listObuRsm.size() > LIST_SIZE) { - listObuRsm.remove(listObuRsm.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_RSM.equals(listener.first)) { - listener.second.onRefresh(); - } - } else if (data instanceof ObuMap) { - listObuMap.add(0, new DataShow(listObuMapSize++, time + str)); - if (listObuMap.size() > LIST_SIZE) { - listObuMap.remove(listObuMap.size() - 1); - } - if (listener != null && Constants.TITLE.RECEIVE_OBU_MAP.equals(listener.first)) { - listener.second.onRefresh(); - } - } - } - return temp; - } - - private class WriteThread implements Runnable { - - @Override - public void run() { - synchronized (this) { - while (!Thread.currentThread().isInterrupted()) { - try { - BaseInfo data = queue.take(); - String time = sdf.format(new Date(data.nowTime)); - String temp = onTransmit(time, data); - String builder = time + "[action]:" + data.action + " [data]:" + temp; - LogSave.getInstance().saveLog(builder); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - } - } - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java deleted file mode 100644 index 6f470a39a4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java +++ /dev/null @@ -1,332 +0,0 @@ -package com.zhidao.adas.client; - -import android.util.Log; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.MogoObuManager; -import com.mogo.support.obu.ObuScene; -import com.mogo.support.obu.constants.MogoObuConstants; -import com.mogo.support.obu.constants.MogoObuTopicId; -import com.mogo.support.obu.model.MogoObuHvBasicsData; -import com.mogo.support.obu.model.MogoObuMapMathData; -import com.mogo.support.obu.model.MogoObuRsiWarningData; -import com.mogo.support.obu.model.MogoObuRsmWarningData; -import com.mogo.support.obu.model.MogoObuRvWarningData; -import com.mogo.support.obu.model.MogoObuSpatWarningData; -import com.mogo.support.obu.model.MogoObuSystemStatusData; -import com.mogo.support.obu.model.advance.AccFourAxes; -import com.mogo.support.obu.model.advance.DateTime; -import com.mogo.support.obu.model.advance.NodeId; -import com.mogo.support.obu.model.advance.Participant; -import com.mogo.support.obu.model.advance.PositionLLV; -import com.mogo.support.obu.model.advance.RsiWarning; -import com.mogo.support.obu.model.advance.SpatLight; -import com.mogo.support.obu.model.advance.V2xWarning; -import com.mogo.support.obu.model.advance.VehBasics; -import com.mogo.support.obu.model.advance.VehControl; -import com.mogo.support.obu.model.advance.VehSize; -import com.mogo.support.obu.model.advance.VerticalLLV; -import com.mogo.support.obu.model.advance.WarningData; -import com.zhidao.support.adas.high.common.ThreadPoolManager; -import com.zhidao.support.obu.ObuManager; -import com.zhidao.support.obu.OnObuListener; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; - -import mogo.telematics.pad.MessagePad; - -/** - * OBU SDK Java对象转PB对象测试 - */ -public class ObuTest { - - - public static void start() { - Runnable runnable = new Runnable() { - @Override - public void run() { - ObuManager.getInstance().registerObuListener(listener); - Class clazz = MogoObuManager.class; - MogoObuManager mogoObuManager = MogoObuManager.getInstance(); - Method[] methods = clazz.getDeclaredMethods(); - for (Method m : methods) { - String name = m.getName(); - if ("onObuCallback".equals(name)) { - m.setAccessible(true); - try { - m.invoke(mogoObuManager, MogoObuTopicId.HV_BASIC.id, buildMogoObuHvBasicsData()); - m.invoke(mogoObuManager, MogoObuTopicId.RV_WARNING.id, buildMogoObuRvWarningData()); - m.invoke(mogoObuManager, MogoObuTopicId.SPAT_WARNING.id, buildMogoObuSpatWarningData()); - m.invoke(mogoObuManager, MogoObuTopicId.RSI_WARNING.id, buildMogoObuRsiWarningData()); - m.invoke(mogoObuManager, MogoObuTopicId.RSM_WARNING.id, buildMogoObuRsmWarningData()); - m.invoke(mogoObuManager, MogoObuTopicId.MAP_MATCH.id, buildMogoObuMapMathData()); - } catch (IllegalAccessException | InvocationTargetException e) { - e.printStackTrace(); - } - break; - } - } - } - }; - ThreadPoolManager.getsInstance().execute(runnable); - } - - private static int have(int unitMask, int mask) { - unitMask += mask; - return unitMask; - } - - private static MogoObuHvBasicsData buildMogoObuHvBasicsData() { - int vehBasicsUnitMask = 0; - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION); - VehBasics vehBasics = new VehBasics(vehBasicsUnitMask); - vehBasics.setId("aaa"); - vehBasics.setLatitude(10000000); - vehBasics.setLongitude(20000000); - vehBasics.setElevation(2000); - vehBasics.setSpeed(3000); - vehBasics.setHeading(4000); - vehBasics.setAccFourAxes(new AccFourAxes(200, 201, 202, 203)); - vehBasics.setVehSize(new VehSize(300, 301, 302)); - vehBasics.setVehClass(303); - - int vehControlUnitMask = 0; - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS); - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS); - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS); - VehControl vehControl = new VehControl(vehControlUnitMask); - vehControl.setBrakePedalStatus(401); - vehControl.setTransmissionStatus(402); - vehControl.setExteriorLights(403); - vehBasics.setVehControlMsg(vehControl); - vehBasics.setTargetPosition(8); - MogoObuHvBasicsData data = new MogoObuHvBasicsData(1, vehBasics); - return data; - } - - private static MogoObuRvWarningData buildMogoObuRvWarningData() { - int vehBasicsUnitMask = 0; - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG); - vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION); - VehBasics vehBasics = new VehBasics(vehBasicsUnitMask); - vehBasics.setId("aaa"); - vehBasics.setLatitude(20000000); - vehBasics.setLongitude(30000000); - vehBasics.setElevation(4000); - vehBasics.setSpeed(5000); - vehBasics.setHeading(6000); - vehBasics.setAccFourAxes(new AccFourAxes(700, 801, 902, 1003)); - vehBasics.setVehSize(new VehSize(1100, 1201, 1302)); - vehBasics.setVehClass(1403); - - int vehControlUnitMask = 0; - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS); - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS); - vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS); - VehControl vehControl = new VehControl(vehControlUnitMask); - vehControl.setBrakePedalStatus(1501); - vehControl.setTransmissionStatus(1602); - vehControl.setExteriorLights(1703); - vehBasics.setVehControlMsg(vehControl); - vehBasics.setTargetPosition(18); - - int v2xWarningUnitMask = 0; - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE); - V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask); - - DateTime dateTime = new DateTime(19, 20, 21, 22, 23, 24, 25); - List warningDatas = new ArrayList<>(); - int warningDataMask = 0; - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY); - WarningData warningData1 = new WarningData(warningDataMask, 3); - warningData1.setWarningType(26); - warningData1.setWarningLevel(27); - warningData1.setWarningPriority(28); - warningDatas.add(warningData1); - WarningData warningData2 = new WarningData(warningDataMask, 4); - warningData2.setWarningType(29); - warningData2.setWarningLevel(30); - warningData2.setWarningPriority(31); - warningDatas.add(warningData2); - v2xWarning.setWarningNum(2); - v2xWarning.setWarningData(warningDatas); - v2xWarning.setWarningTime(dateTime); - v2xWarning.setDistance(32); - MogoObuRvWarningData data = new MogoObuRvWarningData(2, vehBasics, v2xWarning); - return data; - } - - - private static MogoObuSpatWarningData buildMogoObuSpatWarningData() { - List lights = new ArrayList<>(); - lights.add(new SpatLight(35, 36, 37, 38, 39, 40)); - lights.add(new SpatLight(41, 42, 43, 44, 45, 46)); - lights.add(new SpatLight(47, 48, 49, 50, 51, 52)); - MogoObuSpatWarningData data = new MogoObuSpatWarningData(33, 34, 3, lights); - return data; - } - - private static MogoObuRsiWarningData buildMogoObuRsiWarningData() { - List list = new ArrayList<>(); - int rsiWarningUnitMask = 0; - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SCENE_TYPE); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.POSITION); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SIGN_SERIAL_NUM); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_SERIAL_NUM); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MAX_LIMIT); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MIN_LIMIT); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_RADIUS); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.WARNING_LEVEL); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.TARGET_POSITION); - rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.DISTANCE); - RsiWarning rsiWarning1 = new RsiWarning(rsiWarningUnitMask); - rsiWarning1.setSceneType(53); - rsiWarning1.setPosition(new PositionLLV(7, 54, 55, new VerticalLLV(7, 56))); - rsiWarning1.setSignSerialNum(57); - rsiWarning1.setEventSerialNum(58); - rsiWarning1.setSpeedMinLimit(59); - rsiWarning1.setSpeedMaxLimit(60); - rsiWarning1.setEventRadius(61); - rsiWarning1.setWarningLevel(62); - rsiWarning1.setTargetPosition(63); - rsiWarning1.setDistance(64); - list.add(rsiWarning1); - - RsiWarning rsiWarning2 = new RsiWarning(rsiWarningUnitMask); - rsiWarning2.setSceneType(65); - rsiWarning2.setPosition(new PositionLLV(7, 66, 67, new VerticalLLV(7, 68))); - rsiWarning2.setSignSerialNum(69); - rsiWarning2.setEventSerialNum(70); - rsiWarning2.setSpeedMinLimit(71); - rsiWarning2.setSpeedMaxLimit(72); - rsiWarning2.setEventRadius(73); - rsiWarning2.setWarningLevel(74); - rsiWarning2.setTargetPosition(75); - rsiWarning2.setDistance(76); - list.add(rsiWarning2); - MogoObuRsiWarningData data = new MogoObuRsiWarningData(53, 2, list); - return data; - } - - private static MogoObuRsmWarningData buildMogoObuRsmWarningData() { - Participant participant = new Participant(78, 79, 80, 81, 82, 83, 84, 85, 86, new AccFourAxes(87, 88, 89, 90), new VehSize(91, 92, 93), 94, 95); - int v2xWarningUnitMask = 0; - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME); - v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE); - V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask); - - DateTime dateTime = new DateTime(96, 97, 98, 99, 100, 101, 102); - List warningDatas = new ArrayList<>(); - int warningDataMask = 0; - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL); - warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY); - WarningData warningData1 = new WarningData(warningDataMask, 3); - warningData1.setWarningType(103); - warningData1.setWarningLevel(104); - warningData1.setWarningPriority(105); - warningDatas.add(warningData1); - WarningData warningData2 = new WarningData(warningDataMask, 4); - warningData2.setWarningType(106); - warningData2.setWarningLevel(107); - warningData2.setWarningPriority(108); - warningDatas.add(warningData2); - v2xWarning.setWarningNum(2); - v2xWarning.setWarningData(warningDatas); - v2xWarning.setWarningTime(dateTime); - v2xWarning.setDistance(109); - MogoObuRsmWarningData data = new MogoObuRsmWarningData(77, participant, v2xWarning); - return data; - } - - private static MogoObuMapMathData buildMogoObuMapMathData() { - int mogoObuMapMathDataUnitMask = 0; - mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.CURRENT_NODE_ID); - mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.UPSTREAM_NODE_ID); - mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.MATCHING_LANE_ID); - mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MAX_LIMIT); - mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MIN_LIMIT); - MogoObuMapMathData data = new MogoObuMapMathData(mogoObuMapMathDataUnitMask, 110); - data.setCurrentNodeId(new NodeId(111,112)); - data.setUpstreamNodeId(new NodeId(113,114)); - data.setMatchingLaneId(115); - data.setSpeedMaxLimit(116); - data.setSpeedMinLimit(117); - return data; - } - - private static OnObuListener listener = new OnObuListener() { - @Override - public void onConnectStatus(int connectStatus) { - - } - - @Override - public void onObuSystemStatus(MogoObuSystemStatusData data) { - - } - - @Override - public void onGnssInfo(MessagePad.GnssInfo gnssInfo) { - Log.i("ddddd", "onGnssInfo=\n" + TextFormat.printer().escapingNonAscii(false).printToString(gnssInfo)); - } - - @Override - public void onObuRvWarning(ObuScene.RvWarningData rvWarningData) { - Log.i("ddddd", "onObuRvWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rvWarningData)); - } - - @Override - public void onObuSpatWarning(ObuScene.SpatWarningData spatWarningData) { - Log.i("ddddd", "onObuSpatWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(spatWarningData)); - } - - @Override - public void onObuRsiWarning(ObuScene.RsiWarningData rsiWarningData) { - Log.i("ddddd", "onObuRsiWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsiWarningData)); - } - - @Override - public void onObuRsmWarning(ObuScene.RsmWarningData rsmWarningData) { - Log.i("ddddd", "onObuRsmWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsmWarningData)); - } - - @Override - public void onObuMapMath(ObuScene.MapMatchData mapMatchData) { - Log.i("ddddd", "onObuMapMath=\n" + TextFormat.printer().escapingNonAscii(false).printToString(mapMatchData)); - } - }; -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/OnAdasClientListener.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/OnAdasClientListener.java deleted file mode 100644 index 0992ee566c..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/OnAdasClientListener.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.zhidao.adas.client; - -import com.zhidao.adas.client.bean.PerceptionTrafficLight; - -public abstract class OnAdasClientListener { - - public abstract void onRefresh(); - -// /** -// * 自动驾驶局部轨迹 车前引导线 -// * -// * @param isAdd 是否是添加数据回调 -// */ -// public void onTrajectory() { -// } -// -// /** -// * 障碍物 他车数据 -// * -// * @param trackedObjects 数据 -// */ -// public void onTrackedObjects(TrackedObjects trackedObjects) { -// } -// -// /** -// * 惯导信息 -// * -// * @param isAdd 是否是添加数据回调 -// */ -// public void onGnssInfo() { -// } -// -// /** -// * 底盘信息, 透传底盘状态,pb参考底盘 -// * -// * @param vehicleState 数据 -// */ -// public void onVehicleState(VehicleState vehicleState) { -// } -// -// /** -// * 自动驾驶状态 -// * -// * @param autopilotState 数据 -// */ -// public void onAutopilotState(AutopilotState autopilotState) { -// } -// -// /** -// * 监控事件报告 -// * -// * @param mogoReportMessage 数据 -// */ -// public void onReportMessage(MogoReportMessage mogoReportMessage) { -// } -// - /** - * 感知红绿灯 - * - * @param trafficLights 感知红绿灯 - */ - public void onPerceptionTrafficLight(PerceptionTrafficLight trafficLights) { - } -// -// /** -// * 自动驾驶设备基础信息请求 -// * -// * @param basicInfoReq 数据 目前没有任何参数 -// */ -// public void onBasicInfoReq(BasicInfoReq basicInfoReq) { -// } -// -// /** -// * 车机基础信息应答 -// * -// * @param carConfigResp 数据 -// */ -// public void onCarConfigResp(CarConfigResp carConfigResp) { -// } -// -// /** -// * 数据采集结果 -// * -// * @param recordPanel 数据 -// */ -// public void onRecordResult(RecordPanel recordPanel) { -// } -// -// /** -// * 自动驾驶路径应答 -// * -// * @param globalPathResp 数据 -// */ -// public void onGlobalPathResp(GlobalPathResp globalPathResp) { -// } -// -// -// /** -// * 报警信息 -// * 暂时保留,目前没有使用 -// * -// * @param warn 数据 -// */ -// @Deprecated -// public void onWarn(Warn warn) { -// } -// -// /** -// * 到站提醒 自动驾驶站点 -// * -// * @param arrivalNotification 数据 -// */ -// public void onArrivalNotification(ArrivalNotification arrivalNotification) { -// } -// -// /** -// * 升级状态 -// * -// * @param info -// */ -// @Deprecated -// public void onUpgradeStateInfo(IPCUpgradeStateInfo info) { -// } -// -// /** -// * 向IPC发送命令返回结果 -// * -// * @param info -// */ -// public void onSSHResult(SSHResult info) { -// } -// -// /** -// * 数据错误 -// * -// * @param status 错误原因 -// * @param bytes 原始数据 -// */ -// public void onError(ProtocolStatus status, byte[] bytes) { -// -// } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/AutopilotConfigAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/AutopilotConfigAdapter.java deleted file mode 100644 index 268ee6da53..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/AutopilotConfigAdapter.java +++ /dev/null @@ -1,480 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.content.Context; -import android.text.Editable; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.bean.AutoPilotMode; - -import java.util.ArrayList; -import java.util.List; - -public class AutopilotConfigAdapter extends RecyclerView.Adapter { - - private List datas; - private Context mContext; - private OnHaveDataListener onHaveDataListener; - private boolean isShowDel = false; - - public AutopilotConfigAdapter(List datas) { - this.datas = datas; - if (datas == null) { - this.datas = new ArrayList<>(); - } - } - - public void setShowDel(boolean showDel) { - isShowDel = showDel; - notifyDataSetChanged(); - } - - public List getDatas() { - return datas; - } - - public interface OnHaveDataListener { - void onHaveData(boolean isHave); - } - - public void setOnItemClickListener(OnHaveDataListener l) { - this.onHaveDataListener = l; - } - - public void add() { - datas.add(new AutoPilotMode()); - notifyItemInserted(datas.size() - 1); - if (onHaveDataListener != null && datas.size() == 1) - onHaveDataListener.onHaveData(true); - } - - public void minus(int position) { - AutoPilotMode bean = datas.get(position); - bean.wayLatLons = null; - bean = null; - datas.remove(position); - notifyItemRemoved(position); - notifyItemRangeChanged(position, getItemCount()); - if (onHaveDataListener != null && datas.size() == 0) - onHaveDataListener.onHaveData(false); - } - - @Override - public int getItemViewType(int position) { - return position; - } - - //创建ViewHolder - @NonNull - @Override - public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - //实例化得到Item布局文件的View对象 - mContext = parent.getContext(); - View v = LayoutInflater.from(mContext).inflate(R.layout.item_autopilot_config, parent, false); - //返回MyViewHolder的对象 - return new MyViewHolder(v); - } - - //绑定数据 - @Override - public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { - AutoPilotMode mode = datas.get(position); - if (!TextUtils.isEmpty(mode.name)) - holder.path_name.setText(mode.name); - if (mode.speedLimit != 0.0) - holder.speed.setText(String.valueOf(mode.speedLimit)); - if (!TextUtils.isEmpty(mode.startName)) - holder.start_name.setText(mode.startName); - if (!TextUtils.isEmpty(mode.endName)) - holder.end_name.setText(mode.endName); - if (mode.startLatLon != null) { - if (mode.startLatLon.longitude != 0.0) - holder.start_lon.setText(String.valueOf(mode.startLatLon.longitude)); - if (mode.startLatLon.latitude != 0.0) - holder.start_lat.setText(String.valueOf(mode.startLatLon.latitude)); - } - if (mode.endLatLon != null) { - if (mode.endLatLon.longitude != 0.0) - holder.end_lon.setText(String.valueOf(mode.endLatLon.longitude)); - if (mode.endLatLon.latitude != 0.0) - holder.end_lat.setText(String.valueOf(mode.endLatLon.latitude)); - } - holder.setViaData(); - holder.del.setVisibility(isShowDel ? View.VISIBLE : View.GONE); - if (mode.isBus) { - holder.bus.setChecked(true); - } else { - holder.taxi.setChecked(true); - } - if (!TextUtils.isEmpty(mode.routeName)) { - holder.route_name.setText(mode.routeName); - } - if (mode.routeID != -1) - holder.route_id.setText(String.valueOf(mode.routeID)); - } - - //返回Item的数量 - @Override - public int getItemCount() { - return datas == null ? 0 : datas.size(); - } - - //继承RecyclerView.ViewHolder抽象类的自定义ViewHolder - class MyViewHolder extends RecyclerView.ViewHolder { - RecyclerView recyclerView; - EditText path_name; - EditText speed; - EditText start_name; - EditText end_name; - EditText start_lon; - EditText start_lat; - EditText end_lon; - EditText end_lat; - EditText route_id; - EditText route_name; - TextView num; - TextView del; - ImageView add; - ImageView minus; - ViaPositionAdapter adapter; - RadioGroup car_type; - RadioButton taxi; - RadioButton bus; - - MyViewHolder(View itemView) { - super(itemView); - route_id = itemView.findViewById(R.id.route_id); - route_name = itemView.findViewById(R.id.route_name); - car_type = itemView.findViewById(R.id.car_type); - taxi = itemView.findViewById(R.id.taxi); - bus = itemView.findViewById(R.id.bus); - recyclerView = itemView.findViewById(R.id.RecyclerView); - path_name = itemView.findViewById(R.id.path_name); - speed = itemView.findViewById(R.id.speed); - start_name = itemView.findViewById(R.id.start_name); - end_name = itemView.findViewById(R.id.end_name); - start_lon = itemView.findViewById(R.id.start_lon); - start_lat = itemView.findViewById(R.id.start_lat); - end_lon = itemView.findViewById(R.id.end_lon); - end_lat = itemView.findViewById(R.id.end_lat); - num = itemView.findViewById(R.id.num); - del = itemView.findViewById(R.id.del); - add = itemView.findViewById(R.id.add); - minus = itemView.findViewById(R.id.minus); - initRecyclerView(); - car_type.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - datas.get(getBindingAdapterPosition()).isBus = checkedId == R.id.bus; - } - }); - minus.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - minus(); - } - }); - add.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - add(); - } - }); - del.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AutopilotConfigAdapter.this.minus(getBindingAdapterPosition()); - } - }); - path_name.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - datas.get(getBindingAdapterPosition()).name = s.toString().trim(); - } - }); - speed.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - datas.get(getBindingAdapterPosition()).speedLimit = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - speed.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - datas.get(getBindingAdapterPosition()).speedLimit = 0.0; - } - - } - }); - start_name.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - datas.get(getBindingAdapterPosition()).startName = s.toString().trim(); - } - }); - end_name.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - datas.get(getBindingAdapterPosition()).endName = s.toString().trim(); - } - }); - start_lon.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - if (datas.get(getBindingAdapterPosition()).startLatLon == null) - datas.get(getBindingAdapterPosition()).startLatLon = new AutoPilotMode.Location(); - datas.get(getBindingAdapterPosition()).startLatLon.longitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - start_lon.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - if (datas.get(getBindingAdapterPosition()).startLatLon != null) { - datas.get(getBindingAdapterPosition()).startLatLon.longitude = 0.0; - } - } - } - }); - start_lat.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - if (datas.get(getBindingAdapterPosition()).startLatLon == null) - datas.get(getBindingAdapterPosition()).startLatLon = new AutoPilotMode.Location(); - datas.get(getBindingAdapterPosition()).startLatLon.latitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - start_lat.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - if (datas.get(getBindingAdapterPosition()).startLatLon != null) - datas.get(getBindingAdapterPosition()).startLatLon.latitude = 0.0; - } - } - }); - end_lon.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - if (datas.get(getBindingAdapterPosition()).endLatLon == null) - datas.get(getBindingAdapterPosition()).endLatLon = new AutoPilotMode.Location(); - datas.get(getBindingAdapterPosition()).endLatLon.longitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - end_lon.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - if (datas.get(getBindingAdapterPosition()).endLatLon != null) - datas.get(getBindingAdapterPosition()).endLatLon.longitude = 0.0; - } - - } - }); - end_lat.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - if (datas.get(getBindingAdapterPosition()).endLatLon == null) - datas.get(getBindingAdapterPosition()).endLatLon = new AutoPilotMode.Location(); - datas.get(getBindingAdapterPosition()).endLatLon.latitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - end_lat.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - if (datas.get(getBindingAdapterPosition()).endLatLon != null) - datas.get(getBindingAdapterPosition()).endLatLon.latitude = 0.0; - } - - } - }); - - - route_name.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - datas.get(getBindingAdapterPosition()).routeName = s.toString().trim(); - - } - }); - - route_id.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - datas.get(getBindingAdapterPosition()).routeID = Integer.parseInt(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - speed.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - datas.get(getBindingAdapterPosition()).routeID = -1; - } - - } - }); - } - - private void initRecyclerView() { - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext); - linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); - recyclerView.setLayoutManager(linearLayoutManager); - adapter = new ViaPositionAdapter(); - recyclerView.setAdapter(adapter); - - } - - private void minus() { - if (adapter.getItemCount() > 0) { - adapter.minus(); - num.setText(String.valueOf(adapter.getItemCount())); - } - } - - public void add() { - adapter.addHint(); - recyclerView.scrollToPosition(adapter.getItemCount() - 1); - num.setText(String.valueOf(adapter.getItemCount())); - } - - public void setViaData() { - if (adapter.getDatas() == null) { - List list = datas.get(getBindingAdapterPosition()).wayLatLons; - if (list == null) { - list = new ArrayList<>(); - datas.get(getBindingAdapterPosition()).wayLatLons = list; - } - adapter.setDatas(list); - } - } - } -} - diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConfigAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConfigAdapter.java deleted file mode 100644 index fa494393dc..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConfigAdapter.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; -import com.zhidao.adas.client.bean.Config; - -import java.util.List; - -/** - * @author song kenan - * @des - * @date 2021/8/13 - */ -public class ConfigAdapter extends BaseAdapter { - - - public ConfigAdapter() { - - } - - @Override - public void setData(List mDatas) { - super.setData(mDatas); - } - - @Override - protected void onBindDataToItem(ViewHolder viewHolder, Config data, int position) { - if (data == null) { - return; - } - viewHolder.name.setText(data.name); - viewHolder.value.setText(data.value); - if (data.color == -1) { - data.color = R.color.colorSlateGray; - } - viewHolder.value.setTextColor(mContext.getResources().getColor(data.color)); - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - return LayoutInflater.from(mContext).inflate(R.layout.item_config, viewGroup, false); - } - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - class ViewHolder extends BaseViewHolder { - TextView name; - TextView value; - - public ViewHolder(View itemView, ConfigAdapter adapter) { - super(itemView, adapter); - name = itemView.findViewById(R.id.name); - value = itemView.findViewById(R.id.value); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConnectStatusAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConnectStatusAdapter.java deleted file mode 100644 index 5c6cd96285..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ConnectStatusAdapter.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.annotation.SuppressLint; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; -import com.zhidao.adas.client.bean.IPCConnectState; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - - -/** - * 连接状态 - */ -public class ConnectStatusAdapter extends BaseAdapter { - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS ", Locale.getDefault()); - private static final String POS = "%03d. "; - - public void refreshView() { -// notifyItemChanged(mDatas.size()-1,0); - notifyItemRangeChanged(0, getItemCount()); - } - - @Override - public long getItemId(int position) { - return position; - } - - @SuppressLint("SetTextI18n") - @Override - protected void onBindDataToItem(ViewHolder viewHolder, IPCConnectState data, int position) { - viewHolder.id.setText(String.format(Locale.getDefault(), POS, getItemCount() - position)); - viewHolder.editText.setText(sdf.format(new Date(data.time)) + "\n" + data.status); - viewHolder.editText.setTextColor(mContext.getResources().getColor(data.color)); - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - return LayoutInflater.from(mContext).inflate(R.layout.item_status, viewGroup, false); - } - - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - - class ViewHolder extends BaseViewHolder { - EditText editText; - TextView id; - - public ViewHolder(View itemView, ConnectStatusAdapter adapter) { - super(itemView, adapter); - editText = itemView.findViewById(R.id.log); - id = itemView.findViewById(R.id.id); - } - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java deleted file mode 100644 index c233f55b31..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.annotation.SuppressLint; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; -import com.zhidao.adas.client.bean.DataShow; - - -//log所用 -public class DataShowAdapter extends BaseAdapter { - - - public void refreshView() { -// notifyItemChanged(mDatas.size()-1,0); - notifyItemRangeChanged(0, getItemCount()); - } - - @Override - public long getItemId(int position) { - return position; - } - - @SuppressLint("SetTextI18n") - @Override - protected void onBindDataToItem(ViewHolder viewHolder, DataShow data, int position) { - viewHolder.id.setText(data.position + ". "); - viewHolder.editText.setText(data.data); - - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - return LayoutInflater.from(mContext).inflate(R.layout.item_log_info, viewGroup, false); - } - - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - - class ViewHolder extends BaseViewHolder { - EditText editText; - TextView id; - - public ViewHolder(View itemView, DataShowAdapter adapter) { - super(itemView, adapter); - editText = itemView.findViewById(R.id.log); - id = itemView.findViewById(R.id.id); - } - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InfoTitleAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InfoTitleAdapter.java deleted file mode 100644 index d620f99132..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InfoTitleAdapter.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; - -import java.util.List; - -/** - * @author song kenan - * @des - * @date 2021/8/13 - */ -public class InfoTitleAdapter extends BaseAdapter { - private int selectedPosition = 0;//当前选中的下标 - private boolean isFragment = false; - - public void setSelectedPosition(int position) { - if (position != selectedPosition) { - notifyItemChanged(position); - notifyItemChanged(selectedPosition); - selectedPosition = position; - } - } - - public InfoTitleAdapter(List data, boolean isFragment) { - super(data); - this.isFragment = isFragment; - } - - @Override - protected void onBindDataToItem(ViewHolder viewHolder, String data, int position) { - if (data == null) { - return; - } - if (isFragment) { - viewHolder.itemView.setSelected(selectedPosition == position); - } - viewHolder.title.setText(data); - - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - View view; - if (isFragment) { - view = LayoutInflater.from(mContext).inflate(R.layout.item_info, viewGroup, false); - } else { - view = LayoutInflater.from(mContext).inflate(R.layout.item_info1, viewGroup, false); - } -// if (!isFragment) { -// int h = viewGroup.getHeight() - DensityUtil.dip2px(mContext, 16); -// ViewGroup.LayoutParams layoutParams = view.getLayoutParams(); -// if (layoutParams != null) { -// layoutParams.width = DensityUtil.dip2px(mContext, 150); -//// layoutParams.height = DensityUtil.dip2px(mContext, 50); -// layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT; -//// layoutParams.height = h / 2; -// } -// } - - return view; - } - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - class ViewHolder extends BaseViewHolder { - TextView title; - - public ViewHolder(View itemView, InfoTitleAdapter adapter) { - super(itemView, adapter); - title = itemView.findViewById(R.id.tv_info_title); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InterfaceAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InterfaceAdapter.java deleted file mode 100644 index 7e4fa74544..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/InterfaceAdapter.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.bean.InterfaceModel; -import com.zhidao.support.adas.high.common.MessageType; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; - - -public class InterfaceAdapter extends RecyclerView.Adapter { - - private List mDatas; - private boolean isEnabled = true;//是否可操作 - private boolean oldIsEnabled = isEnabled; - private int isCheckAll = 2;//0:全选 1:全不选 2:任意选 - private int checkNum; - private boolean oldIsCheckAll = false; - - private OnInterfaceAdapterListener listener; - - public void setListener(OnInterfaceAdapterListener listener) { - this.listener = listener; - } - - public interface OnInterfaceAdapterListener { - void onCheckAll(boolean isCheckAll); - - void onCheckNum(int checkNum); - } - - public int getCheckNum() { - return checkNum; - } - - //获取已选中的 - public Set getCheckedModel() { - Set messageTypes = new HashSet<>(); - if (mDatas != null) { - for (InterfaceModel model : mDatas) { - if (model.isSelected()) { - messageTypes.add(model.getMessageType()); - } - } - } - return messageTypes; - } - - private void init() { - isEnabled = true; - oldIsEnabled = true; - isCheckAll = 2; - checkNum = 0; - } - - public void setData(List mDatas, int checkNum) { - init(); - this.mDatas = mDatas; - if (mDatas != null && !mDatas.isEmpty()) { - this.checkNum = checkNum; - updateCheckAllStatus(true); - } - } - - //全选 全不选 - public void setCheckAll(boolean checkAll) { - isCheckAll = checkAll ? 0 : 1; - checkNum = checkAll ? getItemCount() : 0; - notifyDataSetChanged(); - updateCheckNumStatusCall(); - updateCheckAllStatus(false); - } - - public void setEnabled(boolean isEnabled) { - if (oldIsEnabled != isEnabled) { - oldIsEnabled = isEnabled; - this.isEnabled = isEnabled; - notifyDataSetChanged(); - } - - } - - //创建ViewHolder - @NonNull - @Override - public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - //实例化得到Item布局文件的View对象 - View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_interface, parent, false); - //返回MyViewHolder的对象 - return new MyViewHolder(v); - } - - //绑定数据 - @Override - public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { - holder.index.setEnabled(isEnabled); - holder.name.setEnabled(isEnabled); - holder.itemView.setEnabled(isEnabled); - holder.itemCheck.setEnabled(isEnabled); - InterfaceModel model = mDatas.get(position); - holder.name.setText(model.getMessageType().desc); - holder.index.setText((position + 1) + "."); - if (isCheckAll == 0) { - model.setSelected(true); - } else if (isCheckAll == 1) { - model.setSelected(false); - } - holder.itemCheck.setChecked(model.isSelected()); - - } - - //返回Item的数量 - @Override - public int getItemCount() { - return mDatas == null ? 0 : mDatas.size(); - } - - /*** - * 获取制定 位置的Data - * @param position 下标 - * @return Data - */ - public InterfaceModel getItem(int position) { - return mDatas == null ? null : mDatas.get(position); - } - - //继承RecyclerView.ViewHolder抽象类的自定义ViewHolder - class MyViewHolder extends RecyclerView.ViewHolder { - TextView name; - TextView index; - CheckBox itemCheck; - - MyViewHolder(View itemView) { - super(itemView); - index = itemView.findViewById(R.id.index); - name = itemView.findViewById(R.id.name); - name.setSelected(true); - itemCheck = itemView.findViewById(R.id.item_check); - init(); - - } - - private void init() { - itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - InterfaceModel model = getItem(getBindingAdapterPosition()); - model.setSelected(!model.isSelected()); - updateCheckNum(model.isSelected()); - itemCheck.setChecked(model.isSelected()); - } - }); - itemCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (buttonView.isPressed()) { - updateCheckNum(isChecked); - InterfaceModel model = getItem(getBindingAdapterPosition()); - model.setSelected(isChecked); - } - } - }); - } - } - - //更新选中个数 - private void updateCheckNum(boolean isChecked) { - if (isChecked) { - checkNum++; - } else { - checkNum--; - } - updateCheckNumStatusCall(); - updateCheckAllStatus(true); - } - - private void updateCheckNumStatusCall() { - if (listener != null) - listener.onCheckNum(checkNum); - } - - //更新全选状态 - private void updateCheckAllStatus(boolean isNotice) { - if (getItemCount() == checkNum) { - isCheckAll = 0; - updateCheckAllStatusCall(isNotice, true); - } else if (0 == checkNum) { - isCheckAll = 1; - updateCheckAllStatusCall(isNotice, false); - } else { - isCheckAll = 2; - updateCheckAllStatusCall(isNotice, false); - } - - } - - private void updateCheckAllStatusCall(boolean isNotice, boolean isCheckAll) { - if (isNotice) - if (oldIsCheckAll != isCheckAll) { - oldIsCheckAll = isCheckAll; - if (listener != null) - listener.onCheckAll(isCheckAll); - } - - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/LineAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/LineAdapter.java deleted file mode 100644 index 7fc43b96d4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/LineAdapter.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; -import com.zhidao.adas.client.bean.AutoPilotMode; - -import java.util.List; - -/** - * @author song kenan - * @des 线路 - * @date 2021/8/13 - */ -public class LineAdapter extends BaseAdapter { - - - public LineAdapter(List data) { - super(data); - } - - @Override - public void setData(List mDatas) { - super.setData(mDatas); - } - - @Override - protected void onBindDataToItem(ViewHolder viewHolder, AutoPilotMode data, int position) { - viewHolder.title.setText("(" + (data.isBus ? "Bus" : "Taxi") + ")" + data.name + " " + data.startName + "->" + data.endName); - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - return LayoutInflater.from(mContext).inflate(R.layout.item_info, viewGroup, false); - } - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - class ViewHolder extends BaseViewHolder { - TextView title; - - public ViewHolder(View itemView, LineAdapter adapter) { - super(itemView, adapter); -// ViewGroup.LayoutParams layoutParams = itemView.getLayoutParams(); -// if (layoutParams != null) { -// layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; -// -// } - title = itemView.findViewById(R.id.tv_info_title); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/SpecialVehicleAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/SpecialVehicleAdapter.java deleted file mode 100644 index a7eedf2245..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/SpecialVehicleAdapter.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseViewHolder; -import com.zhidao.adas.client.bean.SpecialVehicleBean; - -import java.util.List; - -/** - * @author song kenan - * @des 线路 - * @date 2021/8/13 - */ -public class SpecialVehicleAdapter extends BaseAdapter { - - - public SpecialVehicleAdapter(List data) { - super(data); - } - - @Override - public void setData(List mDatas) { - super.setData(mDatas); - } - - @Override - protected void onBindDataToItem(ViewHolder viewHolder, SpecialVehicleBean data, int position) { - viewHolder.title.setText(data.name); - } - - @Override - protected View getItemViewResource(ViewGroup viewGroup) { - return LayoutInflater.from(mContext).inflate(R.layout.item_info, viewGroup, false); - } - - @Override - protected ViewHolder getViewHolder(View view) { - return new ViewHolder(view, this); - } - - class ViewHolder extends BaseViewHolder { - TextView title; - - public ViewHolder(View itemView, SpecialVehicleAdapter adapter) { - super(itemView, adapter); -// ViewGroup.LayoutParams layoutParams = itemView.getLayoutParams(); -// if (layoutParams != null) { -// layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; -// -// } - title = itemView.findViewById(R.id.tv_info_title); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ViaPositionAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ViaPositionAdapter.java deleted file mode 100644 index 10fea989e6..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/ViaPositionAdapter.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.zhidao.adas.client.adapter; - -import android.content.Context; -import android.text.Editable; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.bean.AutoPilotMode; - -import java.util.List; - - -public class ViaPositionAdapter extends RecyclerView.Adapter { - - private List datas; - private Context mContext; - - public void setDatas(List datas) { - this.datas = datas; - if (!this.datas.isEmpty()) { - for (int i = 0; i < this.datas.size(); i++) { - this.datas.get(i).name = "点" + (i + 1); - } - } - } - - public List getDatas() { - return datas; - } - - public void addHint() { - datas.add(new AutoPilotMode.Location("点" + (datas.size() + 1))); - notifyItemInserted(datas.size() - 1); - } - - public void minus() { - datas.remove(datas.size() - 1); - notifyItemRemoved(datas.size() - 1); - notifyItemRangeChanged(datas.size() - 1, getItemCount()); - } - - @Override - public int getItemViewType(int position) { - return position; - } - - //创建ViewHolder - @NonNull - @Override - public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - //实例化得到Item布局文件的View对象 - mContext = parent.getContext(); - View v = LayoutInflater.from(mContext).inflate(R.layout.item_via, parent, false); - //返回MyViewHolder的对象 - return new MyViewHolder(v); - } - - //绑定数据 - @Override - public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { - AutoPilotMode.Location location = datas.get(position); - holder.title.setText(location.name); - if (location.longitude != 0.0) - holder.lon.setText(String.valueOf(location.longitude)); - if (location.latitude != 0.0) - holder.lat.setText(String.valueOf(location.latitude)); -// holder.input.setFocusable(true); -// holder.input.setFocusableInTouchMode(true); -// holder.input.requestFocus(); - - } - - //返回Item的数量 - @Override - public int getItemCount() { - return datas == null ? 0 : datas.size(); - } - - - //继承RecyclerView.ViewHolder抽象类的自定义ViewHolder - class MyViewHolder extends RecyclerView.ViewHolder { - TextView title; - EditText lon; - EditText lat; - - MyViewHolder(View itemView) { - super(itemView); - title = itemView.findViewById(R.id.title); - lon = itemView.findViewById(R.id.lon); - lat = itemView.findViewById(R.id.lat); - lon.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - datas.get(getBindingAdapterPosition()).longitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - lon.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - datas.get(getBindingAdapterPosition()).longitude = 0.0; - } - } - }); - lat.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (!TextUtils.isEmpty(s)) { - try { - datas.get(getBindingAdapterPosition()).latitude = Double.parseDouble(s.toString().trim()); - } catch (Exception e) { - e.printStackTrace(); - lat.setText(""); - Toast.makeText(mContext, "输入不合法", Toast.LENGTH_SHORT).show(); - } - } else { - datas.get(getBindingAdapterPosition()).latitude = 0.0; - } - } - }); - } - } - -} - diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseActivity.java deleted file mode 100644 index b89e5feca2..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseActivity.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.zhidao.adas.client.base; - -import android.os.Handler; -import android.os.Message; -import android.view.Gravity; -import android.widget.Toast; - -import androidx.appcompat.app.AppCompatActivity; - -import com.zhidao.adas.client.ui.MainActivity; - -import java.lang.ref.WeakReference; - -public abstract class BaseActivity extends AppCompatActivity { - private BaseHandler mBaseHandler; - private Toast toast; - - protected void showToastCenter(String msg) { - showToastCenter(msg, Toast.LENGTH_SHORT); - } - - protected void showToastCenter(String msg, int duration) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (toast != null) { - toast.cancel(); - toast = null; - } - toast = Toast.makeText(BaseActivity.this, "", duration); //如果有居中显示需求 - toast.setGravity(Gravity.CENTER, 0, 0); - toast.setText(msg); - toast.show(); - } - }); - } - @Override - protected void onDestroy() { - super.onDestroy(); - if (getHandler() != null) - getHandler().removeCallbacksAndMessages(null); - } - - /** - * 初始化一个Handler,如果需要使用Handler,先调用此方法, - * 然后可以使用postRunnable(Runnable runnable), - * sendMessage在handleMessage(Message msg)中接收msg - */ - public void initHandler() { - mBaseHandler = new BaseHandler(this); - } - - /** - * 返回Handler,在此之前确定已经调用initHandler() - * - * @return Handler - */ - public Handler getHandler() { - return mBaseHandler; - } - - - /** - * 同Handler 的 handleMessage, - * getHandler.sendMessage,发送的Message在此接收 - * 在此之前确定已经调用initHandler() - * - * @param msg - */ - protected void handleMessage(Message msg) { - - } - - /** - * 同Handler的postRunnable - * 在此之前确定已经调用initHandler() - */ - protected void postRunnable(Runnable runnable) { - postRunnableDelayed(runnable, 0); - } - - /** - * 同Handler的postRunnableDelayed - * 在此之前确定已经调用initHandler() - */ - protected void postRunnableDelayed(Runnable runnable, long delayMillis) { - if (mBaseHandler == null) initHandler(); - mBaseHandler.postDelayed(runnable, delayMillis); - } - - - protected static class BaseHandler extends Handler { - private final WeakReference mObjects; - - public BaseHandler(BaseActivity mPresenter) { - mObjects = new WeakReference(mPresenter); - } - - @Override - public void handleMessage(Message msg) { - BaseActivity mPresenter = mObjects.get(); - if (mPresenter != null) - mPresenter.handleMessage(msg); - } - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseAdapter.java deleted file mode 100644 index ca5e419fc4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseAdapter.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.zhidao.adas.client.base; - - -import android.content.Context; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import java.util.List; - - -/** - * RecycleView Adapter - * Created by renfeicui on 2018/10/12. - */ -public abstract class BaseAdapter extends RecyclerView.Adapter { - protected String TAG = this.getClass().getSimpleName(); - protected List mDatas; - protected Context mContext; - private OnItemClickListener mItemClick; - - public interface OnItemClickListener { - void onItemClick(int position, D data); - } - - - public BaseAdapter() { - } - - public BaseAdapter(List mDatas) { - this.mDatas = mDatas; - } - - public BaseAdapter(OnItemClickListener listener) { - mItemClick = listener; - } - - public BaseAdapter(List mDatas, OnItemClickListener listener) { - this.mDatas = mDatas; - mItemClick = listener; - } - - public void setData(List mDatas) { - this.mDatas = mDatas; - if (!mDatas.isEmpty()) - notifyDataSetChanged(); - } - - public List getData() { - return mDatas; - } - - public void setOnItemClickListener(OnItemClickListener listener) { - mItemClick = listener; - } - - /*** - * 获取制定 位置的Data - * @param position 下标 - * @return Data - */ - public D getItem(int position) { - return mDatas == null ? null : mDatas.get(position); - } - - @Override - public int getItemCount() { - return mDatas == null ? 0 : mDatas.size(); - } - - @Override - public void onBindViewHolder(@NonNull VH viewHolder, int position) { - D bean = getItem(position); - onBindDataToItem(viewHolder, bean, position); - } - - - @NonNull - @Override - public VH onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { - mContext = viewGroup.getContext(); - return getViewHolder(getItemViewResource(viewGroup)); - } - - /*** - * 同onBindViewHolder() - * @param viewHolder viewHolder - * @param data 数据 - * @param position 下标 - */ - protected abstract void onBindDataToItem(VH viewHolder, D data, int position); - - /*** - * 获取Item布局 - * @return id - */ - protected abstract View getItemViewResource(ViewGroup viewGroup); - - /** - * 获取ViewHolder - * - * @param view - * @return - */ - protected abstract VH getViewHolder(View view); - - public void onClick(BaseViewHolder viewHolder) { - if (mItemClick != null) { - mItemClick.onItemClick(viewHolder.getAdapterPosition(), getItem(viewHolder.getAdapterPosition())); - } - } - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseFragment.java deleted file mode 100644 index 9dcf870c14..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseFragment.java +++ /dev/null @@ -1,253 +0,0 @@ -package com.zhidao.adas.client.base; - -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.util.Pair; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; - -import com.zhidao.adas.client.DataDistribution; -import com.zhidao.adas.client.OnAdasClientListener; -import com.zhidao.adas.client.bean.PerceptionTrafficLight; -import com.zhidao.adas.client.utils.Constants; - -import java.lang.ref.WeakReference; - -import perception.TrafficLightOuterClass; - -/** - * @author song kenan - * @des - * @date 2021/8/16 - */ -public abstract class BaseFragment extends Fragment { - protected final String TAG = this.getClass().getSimpleName(); - private static final int WHAT_REFRESH = 0x01; - private static final int WHAT_UPDATE_CONNECT_STATUS = 0x02; - protected static final int WHAT_REFRESH_TRAFFIC_LIGHTS = 0x02; - protected String title; - - public BaseFragment() { - } - - public BaseFragment(String title) { - this.title = title; - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - initHandler(); - } - - @Override - public void onResume() { - super.onResume(); - if (!isHidden()) - DataDistribution.getInstance().registerAdasClientListener(new Pair<>(title, adasClientListener)); - } - - @Override - public void onPause() { - super.onPause(); - DataDistribution.getInstance().unregisterAdasClientListener(new Pair<>(title, adasClientListener)); - } - - @Override - public void onHiddenChanged(boolean hidden) { - super.onHiddenChanged(hidden); - if (!hidden) { - DataDistribution.getInstance().registerAdasClientListener(new Pair<>(title, adasClientListener)); - } - } - - public void updateConnectStatus(int ipcConnectionStatus) { - if (getHandler() != null) { - Message msg = Message.obtain(); - msg.what = WHAT_UPDATE_CONNECT_STATUS; - msg.arg1 = ipcConnectionStatus; - getHandler().sendMessage(msg); - } - } - - protected void onConnectionIPCStatus(int ipcConnectionStatus) { - - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - if (getHandler() != null) - getHandler().removeCallbacksAndMessages(null); - } - - protected abstract void onRefreshView(); - - - private final OnAdasClientListener adasClientListener = new OnAdasClientListener() { - @Override - public void onRefresh() { - getHandler().sendEmptyMessage(WHAT_REFRESH); - } - - @Override - public void onPerceptionTrafficLight(PerceptionTrafficLight trafficLights) { - super.onPerceptionTrafficLight(trafficLights); - if (Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT.equals(title)) { - TrafficLightOuterClass.TrafficLights bean = trafficLights.bean; - TrafficLightOuterClass.TrafficLight light = null; - StringBuilder builder = new StringBuilder(); - if (bean.hasStraight()) { - light = bean.getStraight(); - builder.append("当前:").append("直行灯"); - } else if (bean.hasLeft()) { - light = bean.getLeft(); - builder.append("当前:").append("左转灯"); - } else if (bean.hasRight()) { - light = bean.getRight(); - builder.append("当前:").append("右转灯"); - } else if (bean.hasUTurn()) { - light = bean.getUTurn(); - builder.append("当前:").append("掉头灯"); - } - Message msg = Message.obtain(); - msg.what = WHAT_REFRESH_TRAFFIC_LIGHTS; - if (light != null) { - builder.append(" 灯态:").append(getLightState(light.getState())); - builder.append(" 车道类型:").append(getLightType(light.getType())); - float d = light.getDuration(); - builder.append(" 读秒:").append(d < 0 ? "未知" : d); - msg.obj = builder.toString(); - } - getHandler().sendMessage(msg); - } - } - }; - - /** - * 获取车道 - * - * @param type - * @return - */ - protected String getLightType(TrafficLightOuterClass.LightType type) { - String str = null; - if (type == TrafficLightOuterClass.LightType.TYPE_VEHICLE) { - str = "机动车道"; - } else if (type == TrafficLightOuterClass.LightType.TYPE_BICYLE) { - str = "自行车道"; - } else if (type == TrafficLightOuterClass.LightType.TYPE_PEDSTRIAN) { - str = "行人道"; - } else if (type == TrafficLightOuterClass.LightType.TYPE_LANE) { - str = "车道"; - } else {//TrafficLightOuterClass.LightState.TYPE_DEFAULT - str = "未知"; - } - - return str; - } - - /** - * 获取灯态 - * - * @param state - * @return - */ - protected String getLightState(TrafficLightOuterClass.LightState state) { - String light = null; - if (state == TrafficLightOuterClass.LightState.STATE_RED) { - light = "红"; - } else if (state == TrafficLightOuterClass.LightState.STATE_YELLOW) { - light = "黄"; - } else if (state == TrafficLightOuterClass.LightState.STATE_GREEN) { - light = "绿"; - } else if (state == TrafficLightOuterClass.LightState.STATE_FLASH) { - light = "闪"; - } else {//TrafficLightOuterClass.LightState.STATE_OFF - light = "没"; - } - - return light; - } - - - private BaseHandler mBaseHandler; - - - /** - * 初始化一个Handler,如果需要使用Handler,先调用此方法, - * 然后可以使用postRunnable(Runnable runnable), - * sendMessage在handleMessage(Message msg)中接收msg - */ - public void initHandler() { - mBaseHandler = new BaseHandler(this); - } - - /** - * 返回Handler,在此之前确定已经调用initHandler() - * - * @return Handler - */ - public Handler getHandler() { - return mBaseHandler; - } - - - /** - * 同Handler 的 handleMessage, - * getHandler.sendMessage,发送的Message在此接收 - * 在此之前确定已经调用initHandler() - * - * @param msg - */ - protected void handleMessage(Message msg) { - switch (msg.what) { - case WHAT_REFRESH: - if (isVisible()) - onRefreshView(); - break; - - case WHAT_UPDATE_CONNECT_STATUS: - if (isVisible()) - onConnectionIPCStatus(msg.arg1); - break; - } - } - - /** - * 同Handler的postRunnable - * 在此之前确定已经调用initHandler() - */ - protected void postRunnable(Runnable runnable) { - postRunnableDelayed(runnable, 0); - } - - /** - * 同Handler的postRunnableDelayed - * 在此之前确定已经调用initHandler() - */ - protected void postRunnableDelayed(Runnable runnable, long delayMillis) { - if (mBaseHandler == null) initHandler(); - mBaseHandler.postDelayed(runnable, delayMillis); - } - - - protected static class BaseHandler extends Handler { - private final WeakReference mObjects; - - public BaseHandler(BaseFragment mPresenter) { - mObjects = new WeakReference(mPresenter); - } - - @Override - public void handleMessage(Message msg) { - BaseFragment mPresenter = mObjects.get(); - if (mPresenter != null) - mPresenter.handleMessage(msg); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseViewHolder.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseViewHolder.java deleted file mode 100644 index 3c62985326..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/base/BaseViewHolder.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.zhidao.adas.client.base; - -import android.view.View; - -import androidx.recyclerview.widget.RecyclerView; - - -public abstract class BaseViewHolder extends RecyclerView.ViewHolder { - private T adapter; - public View itemView; - - public BaseViewHolder(View itemView, final T adapter) { - super(itemView); - this.itemView = itemView; - this.adapter = adapter; - itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - adapter.onClick(BaseViewHolder.this); - } - }); - - } - - - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutoPilotMode.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutoPilotMode.java deleted file mode 100644 index 6fd27578bc..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutoPilotMode.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.zhidao.adas.client.bean; - -import android.text.TextUtils; - -import java.util.ArrayList; -import java.util.List; - -import mogo.telematics.pad.MessagePad; - -public class AutoPilotMode { - public String name; - public String startName; - public Location startLatLon; - public String endName; - public Location endLatLon; - public double speedLimit; - public List wayLatLons; - public int routeID = -1;//道路ID - public String routeName;//道路名称 - public boolean isBus = false;//true:bus false:taxi - - public List getWayLatLons() { - if (wayLatLons == null || wayLatLons.isEmpty()) return null; - List list = new ArrayList<>(); - for (int i = 0; i < wayLatLons.size(); i++) { - MessagePad.Location.Builder builder = MessagePad.Location.newBuilder(); - builder.setLatitude(wayLatLons.get(i).latitude).setLongitude(wayLatLons.get(i).longitude); - list.add(builder.build()); - } - return list; - } - - public static class Location { - public String name; - public double longitude; - public double latitude; - - public Location() { - } - - public Location(String name) { - this.name = name; - } - - public boolean isNull() { - return longitude == 0.0 || latitude == 0.0; - } - } - - public boolean isNull() { - if (wayLatLons != null && !wayLatLons.isEmpty()) { - for (int i = 0; i < wayLatLons.size(); i++) { - if (wayLatLons.get(i).isNull()) { - return true; - } - } - } - if (isBus) { - return TextUtils.isEmpty(name) || TextUtils.isEmpty(startName) || TextUtils.isEmpty(endName) || - startLatLon == null || startLatLon.isNull() || endLatLon == null || endLatLon.isNull() || - speedLimit == 0.0 || routeID == -1 || TextUtils.isEmpty(routeName); - } else - return TextUtils.isEmpty(name) || TextUtils.isEmpty(startName) || TextUtils.isEmpty(endName) || - startLatLon == null || startLatLon.isNull() || endLatLon == null || endLatLon.isNull() || - speedLimit == 0.0; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BaseInfo.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BaseInfo.java deleted file mode 100644 index 41b65e5472..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BaseInfo.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.zhidao.adas.client.bean; - - -import java.text.SimpleDateFormat; -import java.util.Date; - -import mogo.telematics.pad.MessagePad; - -public abstract class BaseInfo { - public final String action; - public final long nowTime; - public final MessagePad.Header header; - public final int len; - public final int payloadLen; - private SimpleDateFormat sdf; - - public BaseInfo(String action, int len, MessagePad.Header header, SimpleDateFormat sdf) { - this.action = action; - this.payloadLen = len; - nowTime = System.currentTimeMillis(); - int headerSize = 0; - if (header != null) { - headerSize = header.getSerializedSize(); - } - this.len = 8 + headerSize + len; - this.header = header; - this.sdf = sdf; - } - - public BaseInfo(String action, int len) { - this.action = action; - nowTime = System.currentTimeMillis(); - this.len = len; - this.payloadLen = len; - this.header = null; - } - - @Override - public String toString() { - String str = "原始数据长度:" + len + "\tPayload数据长度:" + payloadLen + '\n'; - if (header != null) { - str += "Header:[" + "MessageID:" + header.getMsgID() + - " MessageType:" + header.getMsgType() + " 发送时间:" + sdf.format(new Date((long) (header.getTimestamp() * 1000))) - + " 数据源时间:" + sdf.format(new Date((long) (header.getSourceTimestamp() * 1000))) + "]\n"; - } - return str; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Config.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Config.java deleted file mode 100644 index 960c40a65c..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Config.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.zhidao.adas.client.bean; - -import java.util.Objects; - -public class Config { - public final String name; - public String value; - public int color = -1; - - public Config(String name, String value) { - this.name = name; - this.value = value; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Config config = (Config) o; - return Objects.equals(name, config.name); - } - - public void cover(Config config) { - this.value = config.value; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/DataShow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/DataShow.java deleted file mode 100644 index 02558e1ac4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/DataShow.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.zhidao.adas.client.bean; - -public class DataShow { - public final long position; - public final String data; - - public DataShow(long position, String data) { - this.position = position; - this.data = data; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java deleted file mode 100644 index b47e46b909..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.zhidao.support.adas.high.common.ByteUtil; -import com.zhidao.support.adas.high.common.ProtocolStatus; - -public class ErrorData extends BaseInfo { - private final ProtocolStatus status; - private final byte[] bytes; - - public ErrorData(ProtocolStatus status, byte[] bytes) { - super("接收", bytes.length); - this.status = status; - this.bytes = bytes; - } - - @Override - public String toString() { - return super.toString() + status + "\n原始数据:" + ByteUtil.byteArrToHex(bytes); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/IPCConnectState.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/IPCConnectState.java deleted file mode 100644 index cc1ca7c09b..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/IPCConnectState.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zhidao.adas.client.bean; - -import androidx.annotation.ColorRes; - -public class IPCConnectState { - public final long time; - public final String status; - @ColorRes - public final int color; - - public IPCConnectState(String status, @ColorRes int color) { - this.status = status; - this.color = color; - time = System.currentTimeMillis(); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/InterfaceModel.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/InterfaceModel.java deleted file mode 100644 index e63d64b336..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/InterfaceModel.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.zhidao.support.adas.high.common.MessageType; - - -public class InterfaceModel { - private boolean isSelected = false;//是否选择 - private final MessageType messageType; - - public InterfaceModel(MessageType messageType) { - this.messageType = messageType; - } - - public boolean isSelected() { - return isSelected; - } - - public void setSelected(boolean selected) { - isSelected = selected; - } - - public MessageType getMessageType() { - return messageType; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - InterfaceModel that = (InterfaceModel) o; - return messageType == that.messageType; - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MySSHResult.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MySSHResult.java deleted file mode 100644 index 0273e1713d..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MySSHResult.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.zhidao.adas.client.bean; - -public class MySSHResult extends BaseInfo { - public final String info; - - public MySSHResult(String info, int len) { - super("接收", len); - this.info = info; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuMap.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuMap.java deleted file mode 100644 index 51a2c8c4ed..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuMap.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.ObuScene; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ObuMap extends BaseInfo { - public final ObuScene.MapMatchData bean; - - - public ObuMap(MessagePad.Header header, ObuScene.MapMatchData bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsi.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsi.java deleted file mode 100644 index 8cd054f956..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsi.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.ObuScene; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ObuRsi extends BaseInfo { - public final ObuScene.RsiWarningData bean; - - - public ObuRsi(MessagePad.Header header, ObuScene.RsiWarningData bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsm.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsm.java deleted file mode 100644 index badbf1745b..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuRsm.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.ObuScene; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ObuRsm extends BaseInfo { - public final ObuScene.RsmWarningData bean; - - - public ObuRsm(MessagePad.Header header, ObuScene.RsmWarningData bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuSpat.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuSpat.java deleted file mode 100644 index 3ba064f0e6..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuSpat.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.ObuScene; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ObuSpat extends BaseInfo { - public final ObuScene.SpatWarningData bean; - - - public ObuSpat(MessagePad.Header header, ObuScene.SpatWarningData bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuWarningData.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuWarningData.java deleted file mode 100644 index 7ea1bca9af..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ObuWarningData.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; -import mogo.v2x.ObuWarningEvent; - -public class ObuWarningData extends BaseInfo { - public final ObuWarningEvent.ObuWarningData bean; - - public ObuWarningData(MessagePad.Header header, ObuWarningEvent.ObuWarningData bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - - @Override - public String toString() { - return super.toString() + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/PerceptionTrafficLight.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/PerceptionTrafficLight.java deleted file mode 100644 index 246de432ce..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/PerceptionTrafficLight.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.TextFormat; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; -import perception.TrafficLightOuterClass; - -public class PerceptionTrafficLight extends BaseInfo { - public final TrafficLightOuterClass.TrafficLights bean; - - public PerceptionTrafficLight(MessagePad.Header header, TrafficLightOuterClass.TrafficLights bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveBytesData.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveBytesData.java deleted file mode 100644 index ac72a5b7cf..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveBytesData.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ReceiveBytesData extends BaseInfo { - public final byte[] data; - - public ReceiveBytesData(MessagePad.Header header, byte[] data, SimpleDateFormat sdf) { - super("接收", data.length, header, sdf); - this.data = data; - } - - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(data); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveData.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveData.java deleted file mode 100644 index 0d8be2857d..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ReceiveData.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhidao.adas.client.bean; - -import com.google.protobuf.GeneratedMessageV3; -import com.google.protobuf.TextFormat; -import com.zhidao.support.adas.high.common.ByteUtil; - -import java.text.SimpleDateFormat; - -import mogo.telematics.pad.MessagePad; - -public class ReceiveData extends BaseInfo { - public final GeneratedMessageV3 bean; - - public ReceiveData(MessagePad.Header header, GeneratedMessageV3 bean, SimpleDateFormat sdf) { - super("接收", bean.getSerializedSize(), header, sdf); - this.bean = bean; - } - - - @Override - public String toString() { - return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(bean.toByteArray()) + '\n' + TextFormat.printer().escapingNonAscii(false).printToString(bean); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleBean.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleBean.java deleted file mode 100644 index 6a9cf64512..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleBean.java +++ /dev/null @@ -1,347 +0,0 @@ -package com.zhidao.adas.client.bean; - -import android.content.Context; -import android.text.TextUtils; - -import androidx.annotation.NonNull; - -import com.google.protobuf.TextFormat; -import com.zhidao.adas.client.ui.special.SpecialVehicleFloatWindowManager; -import com.zhidao.adas.client.utils.PreferencesUtils; -import com.zhidao.support.adas.high.AdasManager; - -import java.util.ArrayList; -import java.util.List; - -import chassis.SpecialVehicleTaskCmdOuterClass; - -public class SpecialVehicleBean { - public interface TAG { - String FTQSC = "ftqsc";//福田清扫车 - String KWXB = "kwxb";//开沃小巴 - String JLM1 = "jlm1";//金旅M1 - } - - public interface SEND_TYPE { - int ONE = 0;//单次发送 - int MORE = 1;//多次发送 - int ALL = 2;//两种方式都支持 - } - - public final String name; - public final String simpleName;//简单名字 两个字 - public final List options; - public final String tag;//用于存储 - public int sendType = SEND_TYPE.ONE;//发送类型 - private SpecialVehicleFloatWindowManager manager; - - public static final int SCREEN_MARGIN = 20; - - private final String FLOAT_WINDOW_LOCATION_MIN_X; - private final String FLOAT_WINDOW_LOCATION_MIN_Y; - private final String FLOAT_WINDOW_LOCATION_MAX_X; - private final String FLOAT_WINDOW_LOCATION_MAX_Y; - - private SpecialVehicleBean(@NonNull String name, @NonNull String simpleName, String tag, List options) { - this.name = name; - this.simpleName = simpleName; - this.tag = tag; - this.options = options; - FLOAT_WINDOW_LOCATION_MIN_X = tag + "_float_window_location_min_x"; - FLOAT_WINDOW_LOCATION_MIN_Y = tag + "_float_window_location_min_y"; - FLOAT_WINDOW_LOCATION_MAX_X = tag + "_float_window_location_max_X"; - FLOAT_WINDOW_LOCATION_MAX_Y = tag + "_float_window_location_max_y"; - - } - - public void showFloat(Context context) { - if (manager == null) - manager = new SpecialVehicleFloatWindowManager(context, this); - manager.show(); - } - - public void dismissFloat() { - if (manager != null) { - manager.onBack(); - manager = null; - } - } - - /************************悬浮窗位置******************/ - - - public void setFloatWindowLocationMinX(Context context, int x) { - PreferencesUtils.putInt(context, FLOAT_WINDOW_LOCATION_MIN_X, x); - } - - public int getFloatWindowLocationMinX(Context context) { - return PreferencesUtils.getInt(context, FLOAT_WINDOW_LOCATION_MIN_X, SCREEN_MARGIN); - } - - public void setFloatWindowLocationMinY(Context context, int y) { - PreferencesUtils.putInt(context, FLOAT_WINDOW_LOCATION_MIN_Y, y); - } - - public int getFloatWindowLocationMinY(Context context) { - return PreferencesUtils.getInt(context, FLOAT_WINDOW_LOCATION_MIN_Y, SCREEN_MARGIN); - } - - - /************************悬浮窗位置******************/ - - public void setFloatWindowLocationMaxX(Context context, int x) { - PreferencesUtils.putInt(context, FLOAT_WINDOW_LOCATION_MAX_X, x); - } - - public int getFloatWindowLocationMaxX(Context context) { - return PreferencesUtils.getInt(context, FLOAT_WINDOW_LOCATION_MAX_X, SCREEN_MARGIN); - } - - public void setFloatWindowLocationMaxY(Context context, int y) { - PreferencesUtils.putInt(context, FLOAT_WINDOW_LOCATION_MAX_Y, y); - } - - public int getFloatWindowLocationMaxY(Context context) { - return PreferencesUtils.getInt(context, FLOAT_WINDOW_LOCATION_MAX_Y, SCREEN_MARGIN); - } - - /** - * 命令下发 - * - * @param index -1一次性发送所有命令 其他 单个命令发送 - * @return - */ - public String sendCmd(int index) { - String str = ""; - if (TextUtils.equals(this.tag, TAG.FTQSC)) { //福田清扫车 - SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianCleanCmd.Builder builder = SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianCleanCmd.newBuilder(); - if (index < 0) { - for (index = 0; index < options.size(); index++) { - SpecialVehicleOption option = options.get(index); - if (option.moreCheckPos != -1) { - option.checkPos = option.moreCheckPos; - option.moreCheckPos = -1; - } - setFuTianCleanValue(builder, index, option.checkPos); - } - } else { - int checkPos = options.get(index).checkPos; - setFuTianCleanValue(builder, index, checkPos); - } - SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianCleanCmd fuTianCleanCmd = builder.build(); - SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianTaskCmd fuTianTaskCmd = SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianTaskCmd.newBuilder() - .setRoboSweeperFutianCleanCmd(fuTianCleanCmd).build(); - AdasManager.getInstance().sendRoboSweeperFuTianTaskCmd(fuTianTaskCmd); - str = TextFormat.printer().escapingNonAscii(false).shortDebugString(fuTianTaskCmd); - } else if (TextUtils.equals(this.tag, TAG.KWXB)) { //开沃小巴 - SpecialVehicleTaskCmdOuterClass.RoboVanSkywellTaskCmd vanSkywellTaskCmd = SpecialVehicleTaskCmdOuterClass.RoboVanSkywellTaskCmd.newBuilder() - .build(); - AdasManager.getInstance().sendRoboVanSkywellTaskCmd(vanSkywellTaskCmd); - } else if (TextUtils.equals(this.tag, TAG.JLM1)) { //金旅M1 - SpecialVehicleTaskCmdOuterClass.RoboBusJinlvM1Cmd.Builder builder = SpecialVehicleTaskCmdOuterClass.RoboBusJinlvM1Cmd.newBuilder(); - if (index < 0) { - for (index = 0; index < options.size(); index++) { - SpecialVehicleOption option = options.get(index); - if (option.moreCheckPos != -1) { - option.checkPos = option.moreCheckPos; - option.moreCheckPos = -1; - } - setJinlvM1Value(builder, index, option.checkPos); - } - } else { - int checkPos = options.get(index).checkPos; - setJinlvM1Value(builder, index, checkPos); - } - SpecialVehicleTaskCmdOuterClass.RoboBusJinlvM1Cmd roboBusJinlvM1Cmd = builder.build(); - AdasManager.getInstance().sendRoboBusJinlvM1TaskCmd(roboBusJinlvM1Cmd); - str = TextFormat.printer().escapingNonAscii(false).shortDebugString(roboBusJinlvM1Cmd); - } - return str; - } - - private void setJinlvM1Value(SpecialVehicleTaskCmdOuterClass.RoboBusJinlvM1Cmd.Builder builder, int index, int checkPos) { - switch (index) { - case 0: - builder.setAirConditionerCmd(checkPos); - break; - case 1: - builder.setAirConditionerModeCmd(checkPos); - break; - case 2: - builder.setAirConditionerWindSpeedCmd(checkPos); - break; - case 3: - if (checkPos == 1) { - checkPos = 16; - } else if (checkPos == 2) { - checkPos = 20; - } else if (checkPos == 3) { - checkPos = 26; - } - builder.setAirConditionerTemperatureCmd(checkPos); - break; - case 4: - builder.setHeaderCmd(checkPos); - break; - case 5: - builder.setHeaderWindSpeedCmd(checkPos); - break; - case 6: - builder.setMainLamp1Cmd(checkPos); - break; - case 7: - builder.setMainLamp2Cmd(checkPos); - break; - case 8: - builder.setSmallLampCmd(checkPos); - break; - case 9: - builder.setFrontDoorCmd(checkPos); - break; - } - } - - private void setFuTianCleanValue(SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianCleanCmd.Builder builder, int index, int checkPos) { - switch (index) { - case 0: - builder.setCleanOpenRequirement(checkPos); - break; - case 1: - builder.setCleanModeRequirement(checkPos); - break; - case 2: - builder.setCleanDirectionRequirement(checkPos); - break; - case 3: - builder.setCleanIntensityRequirement(checkPos); - break; - case 4: - builder.setDuskCloseRequirement(checkPos); - break; - case 5: - builder.setSuctionNozzlefleOpenRequirement(checkPos); - break; - case 6: - builder.setSprayGunOpenRequirement(checkPos); - break; - case 7: - builder.setSweepdiskSpeedRequirement(checkPos); - break; - } - } - - - public static List init() { - List list = new ArrayList<>(); - List optionsF = new ArrayList<>(); - int tag = 0; - String[] value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Start"; - value[2] = "2-Stop"; - optionsF.add(new SpecialVehicleOption("清扫作业", tag++, value, 0)); - value = new String[6]; - value[0] = "0-No Req"; - value[1] = "1-Sweeping"; - value[2] = "2-Wash Sweeper"; - value[3] = "3-Pure Wash"; - value[4] = "4-Pure Draw"; - value[5] = "5-Close Clean"; - optionsF.add(new SpecialVehicleOption("清扫模式", tag++, value, 0)); - value = new String[5]; - value[0] = "0-No Req"; - value[1] = "1-Both"; - value[2] = "2-Left"; - value[3] = "3-Right"; - value[4] = "4-Close Side"; - optionsF.add(new SpecialVehicleOption("清扫方向", tag++, value, 0)); - value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Stand"; - value[2] = "2-Strong"; - optionsF.add(new SpecialVehicleOption("作业强度", tag++, value, 0)); - value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Close"; - value[2] = "2-Open"; - optionsF.add(new SpecialVehicleOption("降尘", tag++, value, 0)); - value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Open"; - value[2] = "2-Close"; - optionsF.add(new SpecialVehicleOption("吸嘴挡板", tag++, value, 0)); - value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Open"; - value[2] = "2-Close"; - optionsF.add(new SpecialVehicleOption("喷雾枪", tag++, value, 0)); - value = new String[3]; - value[0] = "0-No Req"; - value[1] = "1-Decelerate"; - value[2] = "2-Accelerate"; - optionsF.add(new SpecialVehicleOption("扫盘加速", tag, value, 0)); - SpecialVehicleBean beanF = new SpecialVehicleBean("福田清扫车", "福清", TAG.FTQSC, optionsF); - SpecialVehicleBean beanK = new SpecialVehicleBean("开沃小巴", "开巴", TAG.KWXB, null); - List optionsM1 = new ArrayList<>(); - tag = 0; - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-开启空调"; - value[2] = "2-关闭空调"; - optionsM1.add(new SpecialVehicleOption("空调", tag++, value, 0)); - value = new String[4]; - value[0] = "0-DEFAULT"; - value[1] = "1-自动模式"; - value[2] = "2-制冷模式"; - value[3] = "3-通风模式"; - optionsM1.add(new SpecialVehicleOption("空调模式", tag++, value, 0)); - value = new String[4]; - value[0] = "0-DEFAULT"; - value[1] = "1-1档"; - value[2] = "2-2档"; - value[3] = "3-3档"; - optionsM1.add(new SpecialVehicleOption("空调档位", tag++, value, 0)); - value = new String[4]; - value[0] = "0-DEFAULT"; - value[1] = "16-16度"; - value[2] = "20-20度"; - value[3] = "26-26度"; - optionsM1.add(new SpecialVehicleOption("空调温度", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-开启暖风"; - value[2] = "2-关闭暖风"; - optionsM1.add(new SpecialVehicleOption("暖风机", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-1档"; - value[2] = "2-2档"; - optionsM1.add(new SpecialVehicleOption("暖风机档位", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-开启"; - value[2] = "2-关闭"; - optionsM1.add(new SpecialVehicleOption("顶灯1", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-开启"; - value[2] = "2-关闭"; - optionsM1.add(new SpecialVehicleOption("顶灯2", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-开启"; - value[2] = "2-关闭"; - optionsM1.add(new SpecialVehicleOption("氛围灯", tag++, value, 0)); - value = new String[3]; - value[0] = "0-DEFAULT"; - value[1] = "1-打开"; - value[2] = "2-关闭"; - optionsM1.add(new SpecialVehicleOption("车门", tag++, value, 0)); - SpecialVehicleBean beanM1 = new SpecialVehicleBean("金旅M1", "M1", TAG.JLM1, optionsM1); - list.add(beanF); - list.add(beanK); - list.add(beanM1); - return list; - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleOption.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleOption.java deleted file mode 100644 index 26f2ec883a..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SpecialVehicleOption.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zhidao.adas.client.bean; - -public class SpecialVehicleOption { - public final String name; - public final int tag; - public final String[] value; - public int checkPos = 0;//选中的下标 - public int moreCheckPos = -1;//发送模式下多条模式时选中的下标 - - public SpecialVehicleOption(String name, int tag, String[] value, int checkPos) { - this.name = name; - this.tag = tag; - this.value = value; - this.checkPos = checkPos; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/UpdateDataEvent.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/UpdateDataEvent.java deleted file mode 100644 index 9bc49dac5f..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/UpdateDataEvent.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.zhidao.adas.client.bean; - -public class UpdateDataEvent { -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/ConnectStatusSave.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/ConnectStatusSave.java deleted file mode 100644 index 03c4632db9..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/ConnectStatusSave.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.zhidao.adas.client.log; - -import android.os.Environment; -import android.text.TextUtils; - -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.support.adas.high.common.ThreadPoolManager; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; - -/** - * 与服务器交互日志管理任务 - */ -public class ConnectStatusSave { - private static final String TAG = ConnectStatusSave.class.getSimpleName(); - private static final String LOG_FILE_NAME = "ConnectStatus-%s.log";//文件名称 - private volatile static ConnectStatusSave INSTANCE; - private static final long MAX_CAPACITY = 20 * 1024 * 1024L;//单文件最大存储容量 kb - private final LinkedBlockingQueue queue; - private BufferedWriter buff = null; - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss-SSS", Locale.getDefault()); - private File file; - private volatile long capacity = MAX_CAPACITY; - private Future future; - - private ConnectStatusSave() { - queue = new LinkedBlockingQueue<>(); - } - - public static ConnectStatusSave getInstance() { - if (INSTANCE == null) { - synchronized (ConnectStatusSave.class) { - if (INSTANCE == null) { - INSTANCE = new ConnectStatusSave(); - } - } - } - return INSTANCE; - } - - - public boolean isSdcardUse() { - boolean bl = false; - if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { - bl = true; - } - return bl; - } - - private synchronized void getFile() throws IOException { - if (isSdcardUse()) { - String time = sdf.format(new Date()); - String childPath = time.split("_")[0] + File.separator; - file = new File(Constants.ROOT_PATH + childPath + String.format(LOG_FILE_NAME, time)); - if (!file.exists()) { - if (!file.getParentFile().exists()) { - file.getParentFile().mkdirs(); - } - file.createNewFile(); - } - FileWriter fw = new FileWriter(file, true); - buff = new BufferedWriter(fw); - } - } - - - public void saveLog(String info) { - if (isStart()) { - queue.add(info); - } - } - - public boolean isStart() { - return future != null; - } - - public void start() { - if (future == null) { - future = ThreadPoolManager.getsInstance().submit(new WriteThread()); - } - } - - public void stop() { - if (future != null) { - Runnable runnable = new Runnable() { - @Override - public void run() { - queue.clear(); - if (!future.isCancelled()) { - future.cancel(true); - } - future = null; - closeBufferedWriter(); - } - }; - ThreadPoolManager.getsInstance().execute(runnable); - } - } - - private void closeBufferedWriter() { - if (buff != null) { - try { - buff.flush(); - buff.close(); - } catch (IOException e) { - e.printStackTrace(); - } - buff = null; - } - - } - - private class WriteThread implements Runnable { - - @Override - public void run() { - synchronized (this) { - while (!Thread.currentThread().isInterrupted()) { - try { - long size = 0; - if (file != null) { - size = file.length(); - } - if (size > capacity || file == null || !file.exists() || buff == null) { - closeBufferedWriter(); - getFile(); - } - String data = queue.take(); - if (buff != null && !TextUtils.isEmpty(data)) { - buff.write(data); - buff.newLine(); - buff.flush(); - } - } catch (IOException | InterruptedException e) { - e.printStackTrace(); - } - } - } - } - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/LogSave.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/LogSave.java deleted file mode 100644 index 0e9fd80b99..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/log/LogSave.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.zhidao.adas.client.log; - -import android.os.Environment; -import android.text.TextUtils; - -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.support.adas.high.common.ThreadPoolManager; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; - -/** - * 与服务器交互日志管理任务 - */ -public class LogSave { - private static final String TAG = LogSave.class.getSimpleName(); - private static final String LOG_FILE_NAME = "%s.log";//文件名称 - private volatile static LogSave INSTANCE; - private static final long MAX_CAPACITY = 20 * 1024 * 1024L;//单文件最大存储容量 kb - private final LinkedBlockingQueue queue; - private BufferedWriter buff = null; - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss-SSS", Locale.getDefault()); - private File file; - private volatile long capacity = MAX_CAPACITY; - private Future future; - - private LogSave() { - queue = new LinkedBlockingQueue<>(); - } - - public static LogSave getInstance() { - if (INSTANCE == null) { - synchronized (LogSave.class) { - if (INSTANCE == null) { - INSTANCE = new LogSave(); - } - } - } - return INSTANCE; - } - - - public boolean isSdcardUse() { - boolean bl = false; - if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { - bl = true; - } - return bl; - } - - private synchronized void getFile() throws IOException { - if (isSdcardUse()) { - String time = sdf.format(new Date()); - String childPath = time.split("_")[0] + File.separator; - file = new File(Constants.ROOT_PATH + childPath + String.format(LOG_FILE_NAME, time)); - if (!file.exists()) { - if (!file.getParentFile().exists()) { - file.getParentFile().mkdirs(); - } - file.createNewFile(); - } - FileWriter fw = new FileWriter(file, true); - buff = new BufferedWriter(fw); - } - } - - - public void saveLog(String info) { - if (isStart()) { - queue.add(info); - } - } - - public boolean isStart() { - return future != null; - } - - public void start() { - if (future == null) { - future = ThreadPoolManager.getsInstance().submit(new WriteThread()); - } - } - - public void stop() { - if (future != null) { - Runnable runnable = new Runnable() { - @Override - public void run() { - queue.clear(); - if (!future.isCancelled()) { - future.cancel(true); - } - future = null; - closeBufferedWriter(); - } - }; - ThreadPoolManager.getsInstance().execute(runnable); - } - } - - private void closeBufferedWriter() { - if (buff != null) { - try { - buff.flush(); - buff.close(); - } catch (IOException e) { - e.printStackTrace(); - } - buff = null; - } - - } - - private class WriteThread implements Runnable { - - @Override - public void run() { - synchronized (this) { - while (!Thread.currentThread().isInterrupted()) { - try { - long size = 0; - if (file != null) { - size = file.length(); - } - if (size > capacity || file == null || !file.exists() || buff == null) { - closeBufferedWriter(); - getFile(); - } - String data = queue.take(); - if (buff != null && !TextUtils.isEmpty(data)) { - buff.write(data); - buff.newLine(); - buff.flush(); - } - } catch (IOException | InterruptedException e) { - e.printStackTrace(); - } - } - } - } - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/BackgrounderPermission.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/BackgrounderPermission.java deleted file mode 100644 index 274a017cea..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/BackgrounderPermission.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.zhidao.adas.client.other.permission; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.net.ConnectivityManager; -import android.net.Uri; -import android.os.Build; -import android.os.PowerManager; -import android.provider.Settings; -import android.util.Log; - -import androidx.annotation.RequiresApi; - - - -/** - * 长时间后台运行权限检查 - */ -@RequiresApi(api = Build.VERSION_CODES.N) -public class BackgrounderPermission { - private static volatile BackgrounderPermission INSTANCE; - private OnAdasPermissionListener listener; - - private BackgrounderPermission() { - } - - public static BackgrounderPermission getInstance() { - if (INSTANCE == null) { - synchronized (BackgrounderPermission.class) { - if (INSTANCE == null) { - INSTANCE = new BackgrounderPermission(); - } - } - } - return INSTANCE; - } - - public void setListener(OnAdasPermissionListener listener) { - this.listener = listener; - } - - public void showPermissionLongBackgroundRunningDialog(Context context) { - Intent intent = new Intent(context, PermissionLongBackgroundRunningDialog.class); - context.startActivity(intent); - - } - - void onBackgrounderPermission(boolean isBackgrounderPermission) { - if (listener != null) { - listener.onBackgrounderPermission(isBackgrounderPermission); - } - } - - - /** - * 获取当前是否开启电池优化 - * - * @param context 上下文 - * @return 否在设备的电源白名单上 true 表示未优化 - */ - boolean isIgnoringBatteryOptimizations(Context context) { - boolean isIgnoring = false; - PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - if (powerManager != null) { - isIgnoring = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); - } - return isIgnoring; - } - - /** - * 申请 关闭电池优化权限 - * - * @param context - */ - - void requestIgnoreBatteryOptimizations(Activity context) { - Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); - intent.setData(Uri.parse("package:" + context.getPackageName())); - context.startActivityForResult(intent, PermissionLongBackgroundRunningDialog.REQUEST_CODE_BATTERY_OPTIMIZATIONS); - } - - /** - * 是否忽略计费网络限制 - * 后台运行时网络限制 - * - * @param context - * @return - */ - - private boolean isIgnoringMeteredNetworkRestrictions(Context context) { - ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - // 检查设备是否在计费网络 -// if (connMgr.isActiveNetworkMetered()) { - // Checks user’s Data Saver settings. - switch (connMgr.getRestrictBackgroundStatus()) { - case ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED: - // 用户已为此应用启用流量节省程序。应用应努力限制前台流量消耗,并妥善处理后台流量消耗限制。 - Log.i("Permission", "用户已为此应用启用流量节省程序。应用应努力限制前台流量消耗,并妥善处理后台流量消耗限制。"); - return false; - case ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED: - // 用户已启用流量节省程序,但应用在白名单中。应用应努力限制前台和后台流量消耗。 - Log.i("Permission", "用户已启用流量节省程序,但应用在白名单中。应用应努力限制前台和后台流量消耗。"); - return false; - case ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED: - // 流量节省程序已停用。 - Log.i("Permission", "流量节省程序已停用。"); - return true; - } -// } else { -// // 设备不在计费网络,为所欲为 -// Log.i("Permission","设备不在计费网络,为所欲为"); -// return true; -// } - Log.i("dddd", "其他"); - return false; - } - - /** - * 除非应用的核心功能受到不利影响,否则 Google Play 政策禁止应用请求直接豁免 Android 6.0+ 中的电源管理功能(低电耗模式和应用待机模式) - */ - private static void requestAddDataSaverWhite(Context context) { -// ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); -// if (connMgr != null && connMgr.getRestrictBackgroundStatus() == ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED) { - Intent intent = new Intent(Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS); - intent.setData(Uri.parse("package:" + context.getPackageName())); - context.startActivity(intent); -// } - } - - /** - * 是否允许长时间后台运行 - * 目前测试得出:电池优化会影响后台运行 - * - * @param context 上下文 - * @return - */ - public boolean isPermissionLongBackgroundRunning(Context context) { -// return isIgnoringBatteryOptimizations(context) && isIgnoringMeteredNetworkRestrictions(context); - return isIgnoringBatteryOptimizations(context); - } - - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/OnAdasPermissionListener.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/OnAdasPermissionListener.java deleted file mode 100644 index 7063b848b1..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/OnAdasPermissionListener.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.zhidao.adas.client.other.permission; - -public interface OnAdasPermissionListener { - /** - * 是否允许后台运行 - * 目前只检查了是否关闭电池优化 - * @param isAllow 是否允许后台运行 - */ - void onBackgrounderPermission(boolean isAllow); -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/PermissionLongBackgroundRunningDialog.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/PermissionLongBackgroundRunningDialog.java deleted file mode 100644 index 0feeb3f54e..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/permission/PermissionLongBackgroundRunningDialog.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.zhidao.adas.client.other.permission; - -import android.content.Intent; -import android.os.Build; -import android.os.Bundle; -import android.text.Html; -import android.view.View; -import android.widget.Button; -import android.widget.TextView; - -import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; -import androidx.appcompat.app.AppCompatActivity; - -import com.zhidao.adas.client.R; - - -/** - * 数据用量及电池优化 权限申请 - * 高版本Android系统会针对熄屏、休眠或后台 对电池WiFi等进行优化,长时间网络可能会断开连接 - */ -@RequiresApi(api = Build.VERSION_CODES.N) -public class PermissionLongBackgroundRunningDialog extends AppCompatActivity { - public static final int REQUEST_CODE_BATTERY_OPTIMIZATIONS = 0x01; - private TextView hint_battery; - private Button btn_close_battery_optimizations; - private BackgrounderPermission listener; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.dialog_adas_permission_long_background_running); - initView(); - setBatteryHint(); -// //设置弹出窗口与屏幕对齐 -// Window win = this.getWindow(); -// int density = (int) (getResources().getDisplayMetrics().density + 0.5f); -////设置内边距,这里设置为10dp -// win.getDecorView().setPadding(10 * density, 10 * density, 10 * density, 10 * density); -// WindowManager.LayoutParams lp = win.getAttributes(); -////设置窗口宽度 -// lp.width = WindowManager.LayoutParams.MATCH_PARENT; -////设置窗口高度 -// lp.height = WindowManager.LayoutParams.WRAP_CONTENT; -////设置Dialog位置 -// lp.gravity = Gravity.TOP; -// win.setAttributes(lp); - } - - private void initView() { - hint_battery = findViewById(R.id.hint_battery); - btn_close_battery_optimizations = findViewById(R.id.btn_close_battery_optimizations); - btn_close_battery_optimizations.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - BackgrounderPermission.getInstance().requestIgnoreBatteryOptimizations(PermissionLongBackgroundRunningDialog.this); - } - }); - } - - - private boolean setBatteryHint() { - boolean isIgnoringBatteryOptimizations = BackgrounderPermission.getInstance().isIgnoringBatteryOptimizations(this); - btn_close_battery_optimizations.setVisibility(isIgnoringBatteryOptimizations ? View.INVISIBLE : View.VISIBLE); - String str = "电池优化:" + (isIgnoringBatteryOptimizations ? "不优化" : "优化"); - hint_battery.setText(Html.fromHtml(str, Html.FROM_HTML_MODE_LEGACY)); - return isIgnoringBatteryOptimizations; - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == REQUEST_CODE_BATTERY_OPTIMIZATIONS) { - BackgrounderPermission.getInstance().onBackgrounderPermission(setBatteryHint()); - } - } - } - - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/PlaceholderFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/PlaceholderFragment.java deleted file mode 100644 index c5e428a442..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/PlaceholderFragment.java +++ /dev/null @@ -1,190 +0,0 @@ -package com.zhidao.adas.client.other.router; - -import android.content.Context; -import android.content.SharedPreferences; -import android.graphics.Bitmap; -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Log; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.webkit.CookieManager; -import android.webkit.JsResult; -import android.webkit.WebChromeClient; -import android.webkit.WebSettings; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.ProgressBar; - -import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.Fragment; - -import com.zhidao.adas.client.R; - - -/** - * A placeholder fragment containing a simple view. - */ -public class PlaceholderFragment extends Fragment { - private static final String TAG = PlaceholderFragment.class.getSimpleName(); - private static final String ROUTER_URL = "router_url"; - private static final String ROUTER_COOKIE = "router_cookie"; - private String url; - private ProgressBar progressBar; - private WebView webView; - private CookieManager cookieManager; - - private SharedPreferences sharedPreferences; - - public static PlaceholderFragment newInstance(String url) { - PlaceholderFragment fragment = new PlaceholderFragment(); - Bundle bundle = new Bundle(); - bundle.putString(ROUTER_URL, url); - fragment.setArguments(bundle); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - url = getArguments().getString(ROUTER_URL); - } - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_router, container, false); - webView = view.findViewById(R.id.web_view); - progressBar = view.findViewById(R.id.progressbar);//进度条 - if (getActivity() != null) - sharedPreferences = getActivity().getSharedPreferences("adas_config", Context.MODE_PRIVATE); - cookieManager = CookieManager.getInstance(); - cookieManager.setAcceptCookie(true); - initWebView(); - return view; - } - - public void onRefresh() { - webView.reload(); - } - - private void initWebView() { - String cokkie = null; - if (sharedPreferences != null) - cokkie = sharedPreferences.getString(ROUTER_COOKIE, null); - if (cokkie != null && cokkie.length() > 0 && cokkie.contains(url)) { - int index = cokkie.indexOf("##"); - cookieManager.setCookie(this.url, cokkie.substring(index)); - } - webView.loadUrl(url);//加载url - webView.addJavascriptInterface(this, "android");//添加js监听 这样html就能调用客户端 - webView.setWebChromeClient(webChromeClient); - webView.setWebViewClient(webViewClient); - WebSettings webSettings = webView.getSettings(); - webSettings.setJavaScriptEnabled(true);//允许使用js - - /** - * LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据 - * LOAD_DEFAULT: (默认)根据cache-control决定是否从网络上取数据。 - * LOAD_NO_CACHE: 不使用缓存,只从网络获取数据. - * LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。 - */ - webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存,只从网络获取数据. - //支持屏幕缩放 - webSettings.setSupportZoom(true); - webSettings.setBuiltInZoomControls(true); - //不显示webview缩放按钮 - webSettings.setDisplayZoomControls(false); -// webSettings.setUseWideViewPort(true);//自适应屏幕 - webSettings.setLoadWithOverviewMode(true); - webSettings.setAllowFileAccess(true); - webSettings.setAppCacheEnabled(true); - webSettings.setDomStorageEnabled(true); - webSettings.setDatabaseEnabled(true); - - } - - //WebViewClient主要帮助WebView处理各种通知、请求事件 - private final WebViewClient webViewClient = new WebViewClient() { - @Override - public void onPageFinished(WebView view, String url) {//页面加载完成 - progressBar.setVisibility(View.GONE); - String oldCookie = cookieManager.getCookie(url); - if (!TextUtils.isEmpty(oldCookie)) { - String cokkie = null; - if (sharedPreferences != null) - cokkie = sharedPreferences.getString(ROUTER_COOKIE, null); - if (!TextUtils.equals(cokkie, oldCookie)) { - sharedPreferences.edit().putString(url + "##" + ROUTER_COOKIE, oldCookie).apply(); - } - } - } - - @Override - public void onPageStarted(WebView view, String url, Bitmap favicon) {//页面开始加载 - progressBar.setVisibility(View.VISIBLE); - } - - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url) { - //返回true 拦截 - return super.shouldOverrideUrlLoading(view, url); - } - - }; - - //WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等 - private final WebChromeClient webChromeClient = new WebChromeClient() { - //不支持js的alert弹窗,需要自己监听然后通过dialog弹窗 - @Override - public boolean onJsAlert(WebView webView, String url, String message, JsResult result) { - AlertDialog.Builder localBuilder = new AlertDialog.Builder(webView.getContext()); - localBuilder.setMessage(message).setPositiveButton("确定", null); - localBuilder.setCancelable(false); - localBuilder.create().show(); - - //注意: - //必须要这一句代码:result.confirm()表示: - //处理结果为确定状态同时唤醒WebCore线程 - //否则不能继续点击按钮 - result.confirm(); - return true; - } - - //获取网页标题 - @Override - public void onReceivedTitle(WebView view, String title) { - super.onReceivedTitle(view, title); - Log.i(TAG, "网页标题:" + title); - } - - //加载进度回调 - @Override - public void onProgressChanged(WebView view, int newProgress) { - progressBar.setProgress(newProgress); - } - }; - - public boolean onKeyDownChild(int keyCode) { - Log.i(TAG, "是否有上一个页面:" + webView.canGoBack()); - if (webView.canGoBack() && keyCode == KeyEvent.KEYCODE_BACK) {//点击返回按钮的时候判断有没有上一页 - webView.goBack(); // goBack()表示返回webView的上一页面 - return true; - } - return false; - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - //释放资源 - webView.destroy(); - webView = null; - } - - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/RouterActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/RouterActivity.java deleted file mode 100644 index bbe64a6435..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/RouterActivity.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.zhidao.adas.client.other.router; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.view.KeyEvent; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; -import androidx.fragment.app.Fragment; -import androidx.viewpager2.widget.ViewPager2; - -import com.google.android.material.tabs.TabLayout; -import com.google.android.material.tabs.TabLayoutMediator; -import com.zhidao.adas.client.R; - - -public class RouterActivity extends AppCompatActivity { - private static final String[] TAB_TITLES = new String[]{"Bus", "Taxi"}; - private boolean isBus; - private int currentPosition = 0;//默认选中bus - - public static void newInstance(Context context, boolean isBus) { - Intent intent = new Intent(context, RouterActivity.class); - intent.putExtra("is_bus", isBus); - context.startActivity(intent); - - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_router); - SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, TAB_TITLES); - ViewPager2 viewPager = findViewById(R.id.view_pager); - - viewPager.setAdapter(sectionsPagerAdapter); - TabLayout tabs = findViewById(R.id.tabs); - viewPager.setOffscreenPageLimit(1); - TabLayoutMediator mediator = new TabLayoutMediator(tabs, viewPager, new TabLayoutMediator.TabConfigurationStrategy() { - @Override - public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) { - tab.setText(TAB_TITLES[position]); - } - }); - mediator.attach(); - viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { - @Override - public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { - super.onPageScrolled(position, positionOffset, positionOffsetPixels); - } - - @Override - public void onPageSelected(int position) { - super.onPageSelected(position); - currentPosition = position; - Log.i("dddd", "当前 Pos=" + currentPosition); - } - }); - findViewById(R.id.close).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (!isClose(KeyEvent.KEYCODE_BACK)) - finish(); - } - }); - findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - PlaceholderFragment fragment = (PlaceholderFragment) getViewPagerFragment(currentPosition); - if (fragment != null) { - fragment.onRefresh(); - } - } - }); - - Intent intent = getIntent(); - if (intent != null) { - isBus = intent.getBooleanExtra("is_bus", true); - } - currentPosition = isBus ? 0 : 1; - viewPager.setCurrentItem(currentPosition, false); - } - - /** - * @param position fragment 的位置 - * @return - */ - private Fragment getViewPagerFragment(int position) { - return getSupportFragmentManager().findFragmentByTag("f" + position); - } - - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - return isClose(keyCode) || super.onKeyDown(keyCode, event); - } - - private boolean isClose(int keyCode) { - PlaceholderFragment fragment = (PlaceholderFragment) getViewPagerFragment(currentPosition); - if (fragment != null) { - return fragment.onKeyDownChild(keyCode); - } - return false; - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/SectionsPagerAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/SectionsPagerAdapter.java deleted file mode 100644 index aa69731fb3..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/other/router/SectionsPagerAdapter.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.zhidao.adas.client.other.router; - -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; -import androidx.viewpager2.adapter.FragmentStateAdapter; - - -import java.util.HashMap; -import java.util.Map; - - -public class SectionsPagerAdapter extends FragmentStateAdapter { - - private final String[] TAB_TITLES; - public final Map fragments = new HashMap<>(); - private final FragmentActivity fragmentActivity; - - public SectionsPagerAdapter(@NonNull FragmentActivity fragmentActivity, String[] TAB_TITLES) { - super(fragmentActivity); - this.fragmentActivity = fragmentActivity; - this.TAB_TITLES = TAB_TITLES; - } - - - @NonNull - @Override - public Fragment createFragment(int position) { - String url = "192.168.1.1"; - if ("Bus".equals(TAB_TITLES[position])) { - url = "192.168.8.1"; - } - return PlaceholderFragment.newInstance(url); - } - - - @Override - public int getItemCount() { - return TAB_TITLES.length; - } - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/Base64.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/Base64.java deleted file mode 100644 index 383491b9d4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/Base64.java +++ /dev/null @@ -1,1033 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -package com.zhidao.adas.client.ssh; - - -import java.math.BigInteger; -import java.nio.charset.StandardCharsets; - - -/** - * Provides Base64 encoding and decoding as defined by RFC 2045. - * - *

- * This class implements section 6.8. Base64 Content-Transfer-Encoding from RFC 2045 Multipurpose - * Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies by Freed and Borenstein. - *

- *

- * The class can be parameterized in the following manner with various constructors: - *

    - *
  • URL-safe mode: Default off.
  • - *
  • Line length: Default 76. Line length that aren't multiples of 4 will still essentially end up being multiples of - * 4 in the encoded data. - *
  • Line separator: Default is CRLF ("\r\n")
  • - *
- *

- * Since this class operates directly on byte streams, and not character streams, it is hard-coded to only encode/decode - * character encodings which are compatible with the lower 127 ASCII chart (ISO-8859-1, Windows-1252, UTF-8, etc). - *

- * - * @see RFC 2045 - * @since 2.2 - */ -public class Base64 { - private static final int DEFAULT_BUFFER_RESIZE_FACTOR = 2; - - private static final int DEFAULT_BUFFER_SIZE = 8192; - /** - * An empty immutable {@code byte} array. - */ - private static final byte[] EMPTY_BTYE_ARRAY = new byte[0]; - /** - * Chunk size per RFC 2045 section 6.8. - * - *

- * The {@value} character limit does not count the trailing CRLF, but counts all other characters, including any - * equal signs. - *

- * - * @see RFC 2045 section 6.8 - */ - static final int CHUNK_SIZE = 76; - - /** - * Chunk separator per RFC 2045 section 2.1. - * - * @see RFC 2045 section 2.1 - */ - private static final byte[] CHUNK_SEPARATOR = {'\r', '\n'}; - - /** - * This array is a lookup table that translates 6-bit positive integer index values into their "Base64 Alphabet" - * equivalents as specified in Table 1 of RFC 2045. - * - * Thanks to "commons" project in ws.apache.org for this code. - * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/ - */ - private static final byte[] STANDARD_ENCODE_TABLE = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', - 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' - }; - - /** - * This is a copy of the STANDARD_ENCODE_TABLE above, but with + and / - * changed to - and _ to make the encoded Base64 results more URL-SAFE. - * This table is only used when the Base64's mode is set to URL-SAFE. - */ - private static final byte[] URL_SAFE_ENCODE_TABLE = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', - 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_' - }; - - /** - * Byte used to pad output. - */ - private static final byte PAD = '='; - - /** - * This array is a lookup table that translates Unicode characters drawn from the "Base64 Alphabet" (as specified in - * Table 1 of RFC 2045) into their 6-bit positive integer equivalents. Characters that are not in the Base64 - * alphabet but fall within the bounds of the array are translated to -1. - * - * Note: '+' and '-' both decode to 62. '/' and '_' both decode to 63. This means decoder seamlessly handles both - * URL_SAFE and STANDARD base64. (The encoder, on the other hand, needs to know ahead of time what to emit). - * - * Thanks to "commons" project in ws.apache.org for this code. - * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/ - */ - private static final byte[] DECODE_TABLE = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 - }; - - /** Mask used to extract 6 bits, used when encoding */ - private static final int MASK_6BITS = 0x3f; - - /** Mask used to extract 8 bits, used in decoding base64 bytes */ - private static final int MASK_8BITS = 0xff; - - // The static final fields above are used for the original static byte[] methods on Base64. - // The private member fields below are used with the new streaming approach, which requires - // some state be preserved between calls of encode() and decode(). - - /** - * Encode table to use: either STANDARD or URL_SAFE. Note: the DECODE_TABLE above remains static because it is able - * to decode both STANDARD and URL_SAFE streams, but the encodeTable must be a member variable so we can switch - * between the two modes. - */ - private final byte[] encodeTable; - - /** - * Line length for encoding. Not used when decoding. A value of zero or less implies no chunking of the base64 - * encoded data. - */ - private final int lineLength; - - /** - * Line separator for encoding. Not used when decoding. Only used if lineLength > 0. - */ - private final byte[] lineSeparator; - - /** - * Convenience variable to help us determine when our buffer is going to run out of room and needs resizing. - * decodeSize = 3 + lineSeparator.length; - */ - private final int decodeSize; - - /** - * Convenience variable to help us determine when our buffer is going to run out of room and needs resizing. - * encodeSize = 4 + lineSeparator.length; - */ - private final int encodeSize; - - /** - * Buffer for streaming. - */ - private byte[] buffer; - - /** - * Position where next character should be written in the buffer. - */ - private int pos; - - /** - * Position where next character should be read from the buffer. - */ - private int readPos; - - /** - * Variable tracks how many characters have been written to the current line. Only used when encoding. We use it to - * make sure each encoded line never goes beyond lineLength (if lineLength > 0). - */ - private int currentLinePos; - - /** - * Writes to the buffer only occur after every 3 reads when encoding, an every 4 reads when decoding. This variable - * helps track that. - */ - private int modulus; - - /** - * Boolean flag to indicate the EOF has been reached. Once EOF has been reached, this Base64 object becomes useless, - * and must be thrown away. - */ - private boolean eof; - - /** - * Place holder for the 3 bytes we're dealing with for our base64 logic. Bitwise operations store and extract the - * base64 encoding or decoding from this variable. - */ - private int x; - - /** - * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode. - *

- * When encoding the line length is 76, the line separator is CRLF, and the encoding table is STANDARD_ENCODE_TABLE. - *

- * - *

- * When decoding all variants are supported. - *

- */ - public Base64() { - this(false); - } - - /** - * Creates a Base64 codec used for decoding (all modes) and encoding in the given URL-safe mode. - *

- * When encoding the line length is 76, the line separator is CRLF, and the encoding table is STANDARD_ENCODE_TABLE. - *

- * - *

- * When decoding all variants are supported. - *

- * - * @param urlSafe - * if true, URL-safe encoding is used. In most cases this should be set to - * false. - * @since 1.4 - */ - public Base64(final boolean urlSafe) { - this(CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe); - } - - /** - * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode. - *

- * When encoding the line length is given in the constructor, the line separator is CRLF, and the encoding table is - * STANDARD_ENCODE_TABLE. - *

- *

- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4 in the encoded data. - *

- *

- * When decoding all variants are supported. - *

- * - * @param lineLength - * Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 4). - * If {@code lineLength <= 0}, then the output will not be divided into lines (chunks). Ignored when decoding. - * @since 1.4 - */ - public Base64(final int lineLength) { - this(lineLength, CHUNK_SEPARATOR); - } - - /** - * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode. - *

- * When encoding the line length and line separator are given in the constructor, and the encoding table is - * STANDARD_ENCODE_TABLE. - *

- *

- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4 in the encoded data. - *

- *

- * When decoding all variants are supported. - *

- * - * @param lineLength - * Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 4). - * If {@code lineLength <= 0}, then the output will not be divided into lines (chunks). Ignored when decoding. - * @param lineSeparator - * Each line of encoded data will end with this sequence of bytes. - * @throws IllegalArgumentException - * Thrown when the provided lineSeparator included some base64 characters. - * @since 1.4 - */ - public Base64(final int lineLength, final byte[] lineSeparator) { - this(lineLength, lineSeparator, false); - } - - /** - * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode. - *

- * When encoding the line length and line separator are given in the constructor, and the encoding table is - * STANDARD_ENCODE_TABLE. - *

- *

- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4 in the encoded data. - *

- *

- * When decoding all variants are supported. - *

- * - * @param lineLength - * Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 4). - * If {@code lineLength <= 0}, then the output will not be divided into lines (chunks). Ignored when decoding. - * @param lineSeparator - * Each line of encoded data will end with this sequence of bytes. - * @param urlSafe - * Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode - * operations. Decoding seamlessly handles both modes. - * @throws IllegalArgumentException - * The provided lineSeparator included some base64 characters. That's not going to work! - * @since 1.4 - */ - public Base64(int lineLength, byte[] lineSeparator, final boolean urlSafe) { - if (lineSeparator == null) { - lineLength = 0; // disable chunk-separating - lineSeparator = EMPTY_BTYE_ARRAY; // this just gets ignored - } - this.lineLength = lineLength > 0 ? (lineLength / 4) * 4 : 0; - this.lineSeparator = new byte[lineSeparator.length]; - System.arraycopy(lineSeparator, 0, this.lineSeparator, 0, lineSeparator.length); - if (lineLength > 0) { - this.encodeSize = 4 + lineSeparator.length; - } else { - this.encodeSize = 4; - } - this.decodeSize = this.encodeSize - 1; - if (containsBase64Byte(lineSeparator)) { - final String sep = newStringUtf8(lineSeparator); - throw new IllegalArgumentException("lineSeperator must not contain base64 characters: [" + sep + "]"); - } - this.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE; - } - - /** - * Returns our current encode mode. True if we're URL-SAFE, false otherwise. - * - * @return true if we're in URL-SAFE mode, false otherwise. - * @since 1.4 - */ - public boolean isUrlSafe() { - return this.encodeTable == URL_SAFE_ENCODE_TABLE; - } - - /** - * Returns true if this Base64 object has buffered data for reading. - * - * @return true if there is Base64 object still available for reading. - */ - boolean hasData() { - return this.buffer != null; - } - - /** - * Returns the amount of buffered data available for reading. - * - * @return The amount of buffered data available for reading. - */ - int avail() { - return buffer != null ? pos - readPos : 0; - } - - /** Doubles our buffer. */ - private void resizeBuffer() { - if (buffer == null) { - buffer = new byte[DEFAULT_BUFFER_SIZE]; - pos = 0; - readPos = 0; - } else { - final byte[] b = new byte[buffer.length * DEFAULT_BUFFER_RESIZE_FACTOR]; - System.arraycopy(buffer, 0, b, 0, buffer.length); - buffer = b; - } - } - - /** - * Extracts buffered data into the provided byte[] array, starting at position bPos, up to a maximum of bAvail - * bytes. Returns how many bytes were actually extracted. - * - * @param b - * byte[] array to extract the buffered data into. - * @param bPos - * position in byte[] array to start extraction at. - * @param bAvail - * amount of bytes we're allowed to extract. We may extract fewer (if fewer are available). - * @return The number of bytes successfully extracted into the provided byte[] array. - */ - int readResults(final byte[] b, final int bPos, final int bAvail) { - if (buffer != null) { - final int len = Math.min(avail(), bAvail); - if (buffer != b) { - System.arraycopy(buffer, readPos, b, bPos, len); - readPos += len; - if (readPos >= pos) { - buffer = null; - } - } else { - // Re-using the original consumer's output array is only - // allowed for one round. - buffer = null; - } - return len; - } - return eof ? -1 : 0; - } - - /** - * Sets the streaming buffer. This is a small optimization where we try to buffer directly to the consumer's output - * array for one round (if the consumer calls this method first) instead of starting our own buffer. - * - * @param out - * byte[] array to buffer directly to. - * @param outPos - * Position to start buffering into. - * @param outAvail - * Amount of bytes available for direct buffering. - */ - void setInitialBuffer(final byte[] out, final int outPos, final int outAvail) { - // We can re-use consumer's original output array under - // special circumstances, saving on some System.arraycopy(). - if (out != null && out.length == outAvail) { - buffer = out; - pos = outPos; - readPos = outPos; - } - } - - /** - *

- * Encodes all of the provided data, starting at inPos, for inAvail bytes. Must be called at least twice: once with - * the data to encode, and once with inAvail set to "-1" to alert encoder that EOF has been reached, so flush last - * remaining bytes (if not multiple of 3). - *

- *

- * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general approach. - * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/ - *

- * - * @param in - * byte[] array of binary data to base64 encode. - * @param inPos - * Position to start reading data from. - * @param inAvail - * Amount of bytes available from input for encoding. - */ - void encode(final byte[] in, int inPos, final int inAvail) { - if (eof) { - return; - } - // inAvail < 0 is how we're informed of EOF in the underlying data we're - // encoding. - if (inAvail < 0) { - eof = true; - if (buffer == null || buffer.length - pos < encodeSize) { - resizeBuffer(); - } - switch (modulus) { - case 1 : - buffer[pos++] = encodeTable[(x >> 2) & MASK_6BITS]; - buffer[pos++] = encodeTable[(x << 4) & MASK_6BITS]; - // URL-SAFE skips the padding to further reduce size. - if (encodeTable == STANDARD_ENCODE_TABLE) { - buffer[pos++] = PAD; - buffer[pos++] = PAD; - } - break; - - case 2 : - buffer[pos++] = encodeTable[(x >> 10) & MASK_6BITS]; - buffer[pos++] = encodeTable[(x >> 4) & MASK_6BITS]; - buffer[pos++] = encodeTable[(x << 2) & MASK_6BITS]; - // URL-SAFE skips the padding to further reduce size. - if (encodeTable == STANDARD_ENCODE_TABLE) { - buffer[pos++] = PAD; - } - break; - default: - break; // other values ignored - } - if (lineLength > 0 && pos > 0) { - System.arraycopy(lineSeparator, 0, buffer, pos, lineSeparator.length); - pos += lineSeparator.length; - } - } else { - for (int i = 0; i < inAvail; i++) { - if (buffer == null || buffer.length - pos < encodeSize) { - resizeBuffer(); - } - modulus = (++modulus) % 3; - int b = in[inPos++]; - if (b < 0) { - b += 256; - } - x = (x << 8) + b; - if (0 == modulus) { - buffer[pos++] = encodeTable[(x >> 18) & MASK_6BITS]; - buffer[pos++] = encodeTable[(x >> 12) & MASK_6BITS]; - buffer[pos++] = encodeTable[(x >> 6) & MASK_6BITS]; - buffer[pos++] = encodeTable[x & MASK_6BITS]; - currentLinePos += 4; - if (lineLength > 0 && lineLength <= currentLinePos) { - System.arraycopy(lineSeparator, 0, buffer, pos, lineSeparator.length); - pos += lineSeparator.length; - currentLinePos = 0; - } - } - } - } - } - - /** - *

- * Decodes all of the provided data, starting at inPos, for inAvail bytes. Should be called at least twice: once - * with the data to decode, and once with inAvail set to "-1" to alert decoder that EOF has been reached. The "-1" - * call is not necessary when decoding, but it doesn't hurt, either. - *

- *

- * Ignores all non-base64 characters. This is how chunked (e.g. 76 character) data is handled, since CR and LF are - * silently ignored, but has implications for other bytes, too. This method subscribes to the garbage-in, - * garbage-out philosophy: it will not check the provided data for validity. - *

- *

- * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general approach. - * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/ - *

- * - * @param in - * byte[] array of ascii data to base64 decode. - * @param inPos - * Position to start reading data from. - * @param inAvail - * Amount of bytes available from input for encoding. - */ - void decode(final byte[] in, int inPos, final int inAvail) { - if (eof) { - return; - } - if (inAvail < 0) { - eof = true; - } - for (int i = 0; i < inAvail; i++) { - if (buffer == null || buffer.length - pos < decodeSize) { - resizeBuffer(); - } - final byte b = in[inPos++]; - if (b == PAD) { - // We're done. - eof = true; - break; - } - if (b >= 0 && b < DECODE_TABLE.length) { - final int result = DECODE_TABLE[b]; - if (result >= 0) { - modulus = (++modulus) % 4; - x = (x << 6) + result; - if (modulus == 0) { - buffer[pos++] = (byte) ((x >> 16) & MASK_8BITS); - buffer[pos++] = (byte) ((x >> 8) & MASK_8BITS); - buffer[pos++] = (byte) (x & MASK_8BITS); - } - } - } - } - - // Two forms of EOF as far as base64 decoder is concerned: actual - // EOF (-1) and first time '=' character is encountered in stream. - // This approach makes the '=' padding characters completely optional. - if (eof && modulus != 0) { - x = x << 6; - switch (modulus) { - case 2 : - x = x << 6; - buffer[pos++] = (byte) ((x >> 16) & MASK_8BITS); - break; - case 3 : - buffer[pos++] = (byte) ((x >> 16) & MASK_8BITS); - buffer[pos++] = (byte) ((x >> 8) & MASK_8BITS); - break; - default: - break; // other values ignored - } - } - } - - /** - * Returns whether or not the octet is in the base 64 alphabet. - * - * @param octet - * The value to test - * @return true if the value is defined in the the base 64 alphabet, false otherwise. - * @since 1.4 - */ - public static boolean isBase64(final byte octet) { - return octet == PAD || (octet >= 0 && octet < DECODE_TABLE.length && DECODE_TABLE[octet] != -1); - } - - /** - * Tests a given byte array to see if it contains only valid characters within the Base64 alphabet. Currently the - * method treats whitespace as valid. - * - * @param arrayOctet - * byte array to test - * @return true if all bytes are valid characters in the Base64 alphabet or if the byte array is empty; - * false, otherwise - */ - public static boolean isArrayByteBase64(final byte[] arrayOctet) { - for (final byte element : arrayOctet) { - if (!isBase64(element) && !isWhiteSpace(element)) { - return false; - } - } - return true; - } - - /** - * Tests a given byte array to see if it contains only valid characters within the Base64 alphabet. - * - * @param arrayOctet - * byte array to test - * @return true if any byte is a valid character in the Base64 alphabet; false herwise - */ - private static boolean containsBase64Byte(final byte[] arrayOctet) { - for (final byte element : arrayOctet) - { - if (isBase64(element)) { - return true; - } - } - return false; - } - - /** - * Encodes binary data using the base64 algorithm but does not chunk the output. - * - * @param binaryData - * binary data to encode - * @return byte[] containing Base64 characters in their UTF-8 representation. - */ - public static byte[] encodeBase64(final byte[] binaryData) { - return encodeBase64(binaryData, false); - } - - /** - * Encodes binary data using the base64 algorithm into 76 character blocks separated by CRLF. - *

- * For a non-chunking version, see {@link #encodeBase64StringUnChunked(byte[])}. - * - * @param binaryData - * binary data to encode - * @return String containing Base64 characters. - * @since 1.4 - */ - public static String encodeBase64String(final byte[] binaryData) { - return newStringUtf8(encodeBase64(binaryData, true)); - } - - /** - * Encodes binary data using the base64 algorithm, without using chunking. - *

- * For a chunking version, see {@link #encodeBase64String(byte[])}. - * - * @param binaryData - * binary data to encode - * @return String containing Base64 characters. - * @since 3.2 - */ - public static String encodeBase64StringUnChunked(final byte[] binaryData) { - return newStringUtf8(encodeBase64(binaryData, false)); - } - - /** - * Encodes binary data using the base64 algorithm. - * - * @param binaryData - * binary data to encode - * @param useChunking whether to split the output into chunks - * @return String containing Base64 characters. - * @since 3.2 - */ - public static String encodeBase64String(final byte[] binaryData, final boolean useChunking) { - return newStringUtf8(encodeBase64(binaryData, useChunking)); - } - - /** - * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the output. The - * url-safe variation emits - and _ instead of + and / characters. - * - * @param binaryData - * binary data to encode - * @return byte[] containing Base64 characters in their UTF-8 representation. - * @since 1.4 - */ - public static byte[] encodeBase64URLSafe(final byte[] binaryData) { - return encodeBase64(binaryData, false, true); - } - - /** - * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the output. The - * url-safe variation emits - and _ instead of + and / characters. - * - * @param binaryData - * binary data to encode - * @return String containing Base64 characters - * @since 1.4 - */ - public static String encodeBase64URLSafeString(final byte[] binaryData) { - return newStringUtf8(encodeBase64(binaryData, false, true)); - } - - /** - * Encodes binary data using the base64 algorithm and chunks the encoded output into 76 character blocks - * - * @param binaryData - * binary data to encode - * @return Base64 characters chunked in 76 character blocks - */ - public static byte[] encodeBase64Chunked(final byte[] binaryData) { - return encodeBase64(binaryData, true); - } - - /** - * Decodes a String containing containing characters in the Base64 alphabet. - * - * @param pArray - * A String containing Base64 character data - * @return a byte array containing binary data - * @since 1.4 - */ - public byte[] decode(final String pArray) { - return decode(getBytesUtf8(pArray)); - } - - private byte[] getBytesUtf8(final String pArray) { - return pArray.getBytes(StandardCharsets.UTF_8); - } - - /** - * Decodes a byte[] containing containing characters in the Base64 alphabet. - * - * @param pArray - * A byte array containing Base64 character data - * @return a byte array containing binary data - */ - public byte[] decode(final byte[] pArray) { - reset(); - if (pArray == null || pArray.length == 0) { - return pArray; - } - final long len = (pArray.length * 3) / 4; - final byte[] buf = new byte[(int) len]; - setInitialBuffer(buf, 0, buf.length); - decode(pArray, 0, pArray.length); - decode(pArray, 0, -1); // Notify decoder of EOF. - - // Would be nice to just return buf (like we sometimes do in the encode - // logic), but we have no idea what the line-length was (could even be - // variable). So we cannot determine ahead of time exactly how big an - // array is necessary. Hence the need to construct a 2nd byte array to - // hold the final result: - - final byte[] result = new byte[pos]; - readResults(result, 0, result.length); - return result; - } - - /** - * Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks. - * - * @param binaryData - * Array containing binary data to encode. - * @param isChunked - * if true this encoder will chunk the base64 output into 76 character blocks - * @return Base64-encoded data. - * @throws IllegalArgumentException - * Thrown when the input array needs an output array bigger than {@link Integer#MAX_VALUE} - */ - public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked) { - return encodeBase64(binaryData, isChunked, false); - } - - /** - * Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks. - * - * @param binaryData - * Array containing binary data to encode. - * @param isChunked - * if true this encoder will chunk the base64 output into 76 character blocks - * @param urlSafe - * if true this encoder will emit - and _ instead of the usual + and / characters. - * @return Base64-encoded data. - * @throws IllegalArgumentException - * Thrown when the input array needs an output array bigger than {@link Integer#MAX_VALUE} - * @since 1.4 - */ - public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked, final boolean urlSafe) { - return encodeBase64(binaryData, isChunked, urlSafe, Integer.MAX_VALUE); - } - - /** - * Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks. - * - * @param binaryData - * Array containing binary data to encode. - * @param isChunked - * if true this encoder will chunk the base64 output into 76 character blocks - * @param urlSafe - * if true this encoder will emit - and _ instead of the usual + and / characters. - * @param maxResultSize - * The maximum result size to accept. - * @return Base64-encoded data. - * @throws IllegalArgumentException - * Thrown when the input array needs an output array bigger than maxResultSize - * @since 1.4 - */ - public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked, final boolean urlSafe, - final int maxResultSize) { - if (binaryData == null || binaryData.length == 0) { - return binaryData; - } - - final long len = getEncodeLength(binaryData, isChunked ? CHUNK_SIZE : 0, - isChunked ? CHUNK_SEPARATOR : EMPTY_BTYE_ARRAY); - if (len > maxResultSize) { - throw new IllegalArgumentException("Input array too big, the output array would be bigger (" + len - + ") than the specified maxium size of " + maxResultSize); - } - - final Base64 b64 = isChunked ? new Base64(urlSafe) : new Base64(0, CHUNK_SEPARATOR, urlSafe); - return b64.encode(binaryData); - } - - /** - * Decodes a Base64 String into octets. - * - * @param base64String - * String containing Base64 data - * @return Array containing decoded data. - * @since 1.4 - */ - public static byte[] decodeBase64(final String base64String) { - return new Base64().decode(base64String); - } - - /** - * Decodes Base64 data into octets. - * - * @param base64Data - * Byte array containing Base64 data - * @return Array containing decoded data. - */ - public static byte[] decodeBase64(final byte[] base64Data) { - return new Base64().decode(base64Data); - } - - /** - * Checks if a byte value is whitespace or not. - * - * @param byteToCheck - * the byte to check - * @return true if byte is whitespace, false otherwise - */ - private static boolean isWhiteSpace(final byte byteToCheck) { - switch (byteToCheck) { - case ' ' : - case '\n' : - case '\r' : - case '\t' : - return true; - default : - return false; - } - } - - /** - * Encodes a byte[] containing binary data, into a String containing characters in the Base64 alphabet. - * - * @param pArray - * a byte array containing binary data - * @return A String containing only Base64 character data - * @since 1.4 - */ - public String encodeToString(final byte[] pArray) { - return newStringUtf8(encode(pArray)); - } - - private static String newStringUtf8(final byte[] encode) { - return new String(encode, StandardCharsets.UTF_8); - } - - /** - * Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet. - * - * @param pArray - * a byte array containing binary data - * @return A byte array containing only Base64 character data - */ - public byte[] encode(final byte[] pArray) { - reset(); - if (pArray == null || pArray.length == 0) { - return pArray; - } - final long len = getEncodeLength(pArray, lineLength, lineSeparator); - byte[] buf = new byte[(int) len]; - setInitialBuffer(buf, 0, buf.length); - encode(pArray, 0, pArray.length); - encode(pArray, 0, -1); // Notify encoder of EOF. - // Encoder might have resized, even though it was unnecessary. - if (buffer != buf) { - readResults(buf, 0, buf.length); - } - // In URL-SAFE mode we skip the padding characters, so sometimes our - // final length is a bit smaller. - if (isUrlSafe() && pos < buf.length) { - final byte[] smallerBuf = new byte[pos]; - System.arraycopy(buf, 0, smallerBuf, 0, pos); - buf = smallerBuf; - } - return buf; - } - - /** - * Pre-calculates the amount of space needed to base64-encode the supplied array. - * - * @param pArray byte[] array which will later be encoded - * @param chunkSize line-length of the output (<= 0 means no chunking) between each - * chunkSeparator (e.g. CRLF). - * @param chunkSeparator the sequence of bytes used to separate chunks of output (e.g. CRLF). - * - * @return amount of space needed to encoded the supplied array. Returns - * a long since a max-len array will require Integer.MAX_VALUE + 33%. - */ - private static long getEncodeLength(final byte[] pArray, int chunkSize, final byte[] chunkSeparator) { - // base64 always encodes to multiples of 4. - chunkSize = (chunkSize / 4) * 4; - - long len = (pArray.length * 4) / 3; - final long mod = len % 4; - if (mod != 0) { - len += 4 - mod; - } - if (chunkSize > 0) { - final boolean lenChunksPerfectly = len % chunkSize == 0; - len += (len / chunkSize) * chunkSeparator.length; - if (!lenChunksPerfectly) { - len += chunkSeparator.length; - } - } - return len; - } - - // Implementation of integer encoding used for crypto - /** - * Decodes a byte64-encoded integer according to crypto standards such as W3C's XML-Signature - * - * @param pArray - * a byte array containing base64 character data - * @return A BigInteger - * @since 1.4 - */ - public static BigInteger decodeInteger(final byte[] pArray) { - return new BigInteger(1, decodeBase64(pArray)); - } - - /** - * Encodes to a byte64-encoded integer according to crypto standards such as W3C's XML-Signature - * - * @param bigInt - * a BigInteger - * @return A byte array containing base64 character data - * @throws NullPointerException - * if null is passed in - * @since 1.4 - */ - public static byte[] encodeInteger(final BigInteger bigInt) { - if (bigInt == null) { - throw new NullPointerException("encodeInteger called with null parameter"); - } - return encodeBase64(toIntegerBytes(bigInt), false); - } - - /** - * Returns a byte-array representation of a BigInteger without sign bit. - * - * @param bigInt - * BigInteger to be converted - * @return a byte array representation of the BigInteger parameter - */ - static byte[] toIntegerBytes(final BigInteger bigInt) { - int bitlen = bigInt.bitLength(); - // round bitlen - bitlen = ((bitlen + 7) >> 3) << 3; - final byte[] bigBytes = bigInt.toByteArray(); - - if (((bigInt.bitLength() % 8) != 0) && (((bigInt.bitLength() / 8) + 1) == (bitlen / 8))) { - return bigBytes; - } - // set up params for copying everything but sign bit - int startSrc = 0; - int len = bigBytes.length; - - // if bigInt is exactly byte-aligned, just skip signbit in copy - if ((bigInt.bitLength() % 8) == 0) { - startSrc = 1; - len--; - } - final int startDst = bitlen / 8 - len; // to pad w/ nulls as per spec - final byte[] resizedBytes = new byte[bitlen / 8]; - System.arraycopy(bigBytes, startSrc, resizedBytes, startDst, len); - return resizedBytes; - } - - /** - * Resets this Base64 object to its initial newly constructed state. - */ - private void reset() { - buffer = null; - pos = 0; - readPos = 0; - currentLinePos = 0; - modulus = 0; - eof = false; - } - - // Getters for use in testing - - int getLineLength() { - return lineLength; - } - - byte[] getLineSeparator() { - return lineSeparator.clone(); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/RSATool.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/RSATool.java deleted file mode 100644 index 6281286999..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/RSATool.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.zhidao.adas.client.ssh; - - - - -import com.zhidao.support.adas.high.common.CupidLogUtils; - -import java.nio.charset.StandardCharsets; -import java.security.Key; -import java.security.KeyFactory; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.SecureRandom; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; -import java.security.spec.PKCS8EncodedKeySpec; -import java.security.spec.X509EncodedKeySpec; -import java.util.HashMap; -import java.util.Map; - -import javax.crypto.Cipher; - -public class RSATool { - private static final String KEY_ALGORITHM = "RSA"; - private static final String ECB_PKCS1_PADDING = "RSA/ECB/PKCS1Padding"; - - public static Map initKey() throws Exception { - //实例化密钥生成器 - KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(KEY_ALGORITHM); //加密方式 - //初始化密钥生成器 - keyPairGenerator.initialize(512, new SecureRandom()); //长度 - //生成密钥对 - KeyPair keyPair = keyPairGenerator.generateKeyPair(); - //甲方公钥 - RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); - //甲方私钥 - RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); - //将密钥存储在map中 - Map keyMap = new HashMap(); - keyMap.put("PUBLIC_KEY", publicKey); - keyMap.put("PRIVATE_KEY", privateKey); - return keyMap; - } - - public static void getBase64() { - try { - Map map = initKey(); - byte[] privateKey = ((Key) map.get("PRIVATE_KEY")).getEncoded(); - byte[] publicKey = ((Key) map.get("PUBLIC_KEY")).getEncoded(); - // 将公私钥转为base64-法1 -// String privateBase64 = new String(Base64.encodeBase64(privateKey)); -// String publicBase64 = new String(Base64.encodeBase64(publicKey)); - // 将公私钥转为base64-法2 - String privateBase64 = Base64.encodeBase64String(privateKey); - String publicBase64 = Base64.encodeBase64String(publicKey); - CupidLogUtils.i("RSATool", "privateBase64=" + privateBase64); - CupidLogUtils.i("RSATool", "publicBase64=" + publicBase64); - String data = "mogo@ZHIDAO10"; - String encryptData = encryptByPublicKey(data, publicKey); - CupidLogUtils.i("RSATool", "encryptData=" + encryptData); - String decodeData = decodeByPrivateKey(encryptData, Base64.decodeBase64(privateBase64)); - CupidLogUtils.i("RSATool", "decodeData=" + decodeData); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 公钥加密 - * - * @param data 待加密数据 - * @param key 密钥 - * @return String 加密数据 Base64类型 - */ - public static String encryptByPublicKey(String data, byte[] key) throws Exception { - //实例化密钥工厂 - KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); - //初始化公钥 - //密钥材料转换 - X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(key); - //产生公钥 - PublicKey pubKey = keyFactory.generatePublic(x509KeySpec); - //数据加密 - Cipher cipher = Cipher.getInstance(ECB_PKCS1_PADDING); - cipher.init(Cipher.ENCRYPT_MODE, pubKey); - return Base64.encodeBase64String(cipher.doFinal(data.getBytes(StandardCharsets.UTF_8))); - } - - /** - * 私钥解密 - * - * @param data 待解密数据 Base64类型 - * @param key 密钥 - * @return String 解密数据 - */ - public static String decodeByPrivateKey(String data, byte[] key) throws Exception { - //取得私钥 - PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(key); - KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); - //生成私钥 - PrivateKey privateKey = keyFactory.generatePrivate(pkcs8KeySpec); - //数据解密 - Cipher cipher = Cipher.getInstance(ECB_PKCS1_PADDING); - cipher.init(Cipher.DECRYPT_MODE, privateKey); - return new String(cipher.doFinal(Base64.decodeBase64(data))); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSH.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSH.java deleted file mode 100644 index 730c076d86..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSH.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.zhidao.adas.client.ssh; - -import android.text.TextUtils; - -import com.jcraft.jsch.ChannelExec; -import com.jcraft.jsch.JSch; -import com.jcraft.jsch.JSchException; -import com.jcraft.jsch.Session; -import com.zhidao.support.adas.high.common.CupidLogUtils; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Properties; - -public class SSH { - private static final String TAG = SSH.class.getSimpleName(); - - private Session session = null; - private ChannelExec channelExec = null; - ByteArrayOutputStream err = null; - StringBuffer outBuf = null; - - public ByteArrayOutputStream getErr() { - return err; - } - - public StringBuffer getOutBuf() { - return outBuf; - } - - public Session getSession() { - return session; - } - - public ChannelExec getChannelExec() { - return channelExec; - } - - /** - * 使用用户名、密码连接 - * - * @param host 主机ip - * @param port 主机端口 - * @param username 主机用户名 - * @param password 主机密码 - * @throws JSchException - */ - public void connect(String host, int port, String username, String password) throws JSchException { - JSch jsch = new JSch(); - session = jsch.getSession(username, host, port); - session.setPassword(password); - Properties config = new Properties(); - config.put("StrictHostKeyChecking", "no"); - session.setConfig(config); - session.setTimeout(10000); - session.connect(); - CupidLogUtils.i(TAG, "Connected to " + host + "."); - } - - /** - * 使用授信连接 - * - * @param host 主机ip - * @param username 主机用户名 - * @param privateKey 私钥路径 - * @throws JSchException - */ - public void connect(String host, String username, String privateKey) throws JSchException { - JSch jsch = new JSch(); - jsch.addIdentity(privateKey); - session = jsch.getSession(username, host); - - Properties config = new Properties(); - config.put("StrictHostKeyChecking", "no"); - session.setConfig(config); - session.setTimeout(30000); - session.connect(); - CupidLogUtils.i(TAG, "Connected to " + host + "."); - } - - /** - * 执行 - * - * @param cmd 命令 - * @return 状态 - * @throws JSchException - * @throws IOException - */ - public SSHResult exec(String cmd) throws JSchException, IOException { - return exec(cmd, null); - } - - public SSHResult exec(String cmd, String suPwd) throws JSchException, IOException { - int exitStatus = 0; - channelExec = (ChannelExec) session.openChannel("exec"); - channelExec.setInputStream(null); - err = new ByteArrayOutputStream(); - channelExec.setErrStream(err); - channelExec.setCommand(cmd); - InputStream in = channelExec.getInputStream(); - OutputStream out = channelExec.getOutputStream(); - channelExec.connect(); - if (!TextUtils.isEmpty(suPwd) && (cmd.contains("sudo") || cmd.contains("su"))) { - out.write((suPwd + "\n").getBytes()); //这里是密码后跟了一个换行符 - out.flush(); - } - outBuf = new StringBuffer(); - byte[] tmp = new byte[1024]; - while (true) { - while (in.available() > 0) { - int i = in.read(tmp, 0, 1024); - if (i < 0) break; - outBuf.append(new String(tmp, 0, i)); - } - if (channelExec.isClosed()) { - if (in.available() > 0) continue; - exitStatus = channelExec.getExitStatus(); - break; - } - try { - Thread.sleep(1000L); - } catch (Exception e) { - } - } - channelExec.disconnect(); - if (exitStatus == 0) { - String outInfo = this.getOutBuf().toString(); - return new SSHResult(exitStatus, cmd, outInfo); - } else { - String errInfo = this.getErr().toString(); - return new SSHResult(exitStatus, cmd, errInfo); - } - } - - /** - * 断开连接 - */ - public void disConnect() { - if (channelExec != null) { - channelExec.disconnect(); - } - if (session != null) { - session.disconnect(); - } - } - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHManager.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHManager.java deleted file mode 100644 index 9b5a9552c4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHManager.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.zhidao.adas.client.ssh; - -import android.text.TextUtils; - -import com.zhidao.support.adas.high.common.ThreadPoolManager; - -public class SSHManager { - private OnSShListener listener; - - public interface OnSShListener { - /** - * 向IPC发送命令返回结果 - * - * @param info - */ - void onSSHResult(SSHResult info); - } - - private String ipcConnectedIp; - private SSH ssh; - - public void shutdownIPC() { - sendIPCCmd("sudo -S shutdown -h now"); - } - - public void rebootIPC() { - sendIPCCmd("sudo -S reboot"); - } - - public void rebootAPDocker() { - sendIPCCmd("docker restart autocar_default_1"); - } - - private void sendIPCCmd(final String cmd) { - if (ssh == null) { - if (TextUtils.isEmpty(ipcConnectedIp)) { - if (listener != null) { - listener.onSSHResult(new SSHResult(SSHResult.RESULT_CODE.IP_UNKNOWN, cmd, "IPC IP未知")); - } - return; - } - ThreadPoolManager.getsInstance().execute(new Runnable() { - @Override - public void run() { - ssh = new SSH(); - String encodePwd = SSHTool.getEncodePwd(); - String privateKey = SSHTool.getPrivateKey(); - try { - String pwd = RSATool.decodeByPrivateKey(encodePwd, Base64.decodeBase64(privateKey)); - ssh.connect(ipcConnectedIp, 22, "reset", pwd); - SSHResult result = ssh.exec(cmd, pwd); - if (listener != null) - listener.onSSHResult(result); - } catch (Exception e) { - if (listener != null) - listener.onSSHResult(new SSHResult(SSHResult.RESULT_CODE.ERROR, cmd, e.getMessage())); - e.printStackTrace(); - } - ssh.disConnect(); - ssh = null; - } - }); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHResult.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHResult.java deleted file mode 100644 index efb052ad3e..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHResult.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.zhidao.adas.client.ssh; - -import com.zhidao.adas.client.DataDistribution; -import com.zhidao.adas.client.bean.MySSHResult; -import com.zhidao.support.adas.high.common.CupidLogUtils; - -/** - * SSH返回结果 - */ -public class SSHResult { - - public void onSSHResult(final SSHResult info) { - MySSHResult result = new MySSHResult(info.toString(), 0); - DataDistribution.getInstance().addData(result); -// showToastCenter("IPC命令下发结果:" + info.code + " 命令:" + info.cmd + " 信息:" + info.msg); -// CupidLogUtils.w(TAG, "IPC命令下发结果:" + info.code + " 命令:" + info.cmd + " 信息:" + info.msg); - } - - - public interface RESULT_CODE { - /** - * 工控机IP未知 - */ - int IP_UNKNOWN = -10001; - /** - * 网络异常或连接异常或IO异常 - */ - int ERROR = -10000; - /** - * 命令下发成功 可能存在-1的情况 - * 在虚拟机的ubuntu系统发送reboot或shutdown或ls 命令返回的是0,在工控机发送reboot或shutdown返回-1 ls返回0 - */ - int SEND_SUCCEED = 0; - /** - * 其他值根据Shell返回结果而定 >0 - */ - - } - - public final int code; - public final String cmd; - public final String msg; - - public SSHResult(int code, String cmd, String msg) { - this.code = code; - this.cmd = cmd; - this.msg = msg; - } - - @Override - public String toString() { - return "SSHResult{" + - "code=" + code + - ", cmd='" + cmd + '\'' + - ", msg='" + msg + '\'' + - '}'; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHTool.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHTool.java deleted file mode 100644 index 45d40f7867..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ssh/SSHTool.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.zhidao.adas.client.ssh; - -public class SSHTool { - static { - System.loadLibrary("sshtool"); - } - - public static native String getEncodePwd(); - - public static native String getPrivateKey(); - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java deleted file mode 100644 index 74e5eb6eaa..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.app.Dialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.os.Bundle; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.SimpleItemAnimator; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.LineAdapter; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.bean.AutoPilotMode; -import com.zhidao.adas.client.bean.UpdateDataEvent; -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.support.adas.high.AdasManager; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.List; - -import mogo.telematics.pad.MessagePad; - - -public class AutoPilotModeDialog extends Dialog { - private RecyclerView recyclerView; - private LineAdapter adapter; - private List list; - - public AutoPilotModeDialog(@NonNull Context context) { - super(context, R.style.CustomDialog); - - } - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.dialog_autopilot_mode); - //初始化界面控件 - initView(); - list = Constants.getPaths(getContext()); - initBtnRecyclerView(); - //初始化界面控件的事件 - initListener(); - setOnDismissListener(new OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - EventBus.getDefault().unregister(AutoPilotModeDialog.this); - } - }); - - } - - @Override - public void show() { - super.show(); - EventBus.getDefault().register(AutoPilotModeDialog.this); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onUpdateDataEvent(UpdateDataEvent event) { - list = Constants.getPaths(getContext()); - if (adapter != null) { - adapter.setData(list); - } - } - - private void initBtnRecyclerView() { - //初始info-recycle - LinearLayoutManager nodLinearLayoutManage = new LinearLayoutManager(getContext()); - nodLinearLayoutManage.setOrientation(LinearLayoutManager.VERTICAL); - recyclerView.setLayoutManager(nodLinearLayoutManage); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - recyclerView.setHasFixedSize(true); - //解决局部刷新闪屏问题 - SimpleItemAnimator animatorInfo = (SimpleItemAnimator) recyclerView.getItemAnimator(); - if (animatorInfo != null) - animatorInfo.setSupportsChangeAnimations(false); - //创建并设置Adapter - adapter = new LineAdapter(list); - recyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new BaseAdapter.OnItemClickListener() { - @Override - public void onItemClick(int position, AutoPilotMode data) { - MessagePad.Location startLocation = MessagePad.Location.newBuilder() - .setLatitude(data.startLatLon.latitude) - .setLongitude(data.startLatLon.longitude) - .build(); - MessagePad.Location endLocation = MessagePad.Location.newBuilder() - .setLatitude(data.endLatLon.latitude) - .setLongitude(data.endLatLon.longitude) - .build(); - MessagePad.RouteInfo.Builder builder = MessagePad.RouteInfo.newBuilder(); - builder.setStartLocation(startLocation); - builder.setStartName(data.startName); - builder.setEndLocation(endLocation); - builder.setEndName(data.endName); - List list = data.getWayLatLons(); - if (list != null) - builder.addAllWayPoints(list); - builder.setSpeedLimit(data.speedLimit); - builder.setVehicleType(9); - builder.setIsSpeakVoice(true); - if (data.isBus) { - builder.setRouteID(data.routeID); - builder.setRouteName(data.routeName); - } - AdasManager.getInstance().sendAutoPilotModeReq(1, 0, builder.build()); - AutoPilotModeDialog.this.dismiss(); - } - }); - } - - /** - * 初始化界面的确定和取消监听器 - */ - private void initListener() { - findViewById(R.id.settings).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getContext().startActivity(new Intent(getContext(), AutopilotConfigActivity.class)); - } - }); - findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - MessagePad.RouteInfo.Builder builder = MessagePad.RouteInfo.newBuilder(); - AdasManager.getInstance().sendAutoPilotModeReq(0, 0, builder.build()); - AutoPilotModeDialog.this.dismiss(); - } - }); - } - - - /** - * 初始化界面控件 - */ - private void initView() { - recyclerView = findViewById(R.id.recyclerView); - - - } - - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutopilotConfigActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutopilotConfigActivity.java deleted file mode 100644 index baddbc16d4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutopilotConfigActivity.java +++ /dev/null @@ -1,342 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.os.Bundle; -import android.os.Message; -import android.util.Pair; -import android.view.KeyEvent; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.EditText; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.appcompat.widget.Toolbar; -import androidx.recyclerview.widget.DividerItemDecoration; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.zhidao.adas.client.DataDistribution; -import com.zhidao.adas.client.OnAdasClientListener; -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.AutopilotConfigAdapter; -import com.zhidao.adas.client.base.BaseActivity; -import com.zhidao.adas.client.bean.AutoPilotMode; -import com.zhidao.adas.client.bean.DataShow; -import com.zhidao.adas.client.bean.UpdateDataEvent; -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.support.adas.high.common.ThreadPoolManager; - -import org.greenrobot.eventbus.EventBus; - -import java.util.List; - - -public class AutopilotConfigActivity extends BaseActivity { - private static final String TAG = "CreateActivity"; - private Pair listenerPair; - private TextView toolbar_title; - private RecyclerView recyclerView; - private AutopilotConfigAdapter autopilotConfigAdapter; - private GridLayoutManager linearLayoutManager; - - private static final int WHAT_START = 0x01; - private static final int WHAT_UPDATE_SHOW = 0x02; - TextView no_date; - private TextView lonText; - private TextView latText; - private double lon = -1; - private double lat = -1; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_autopilot_cloud_config); - Toolbar toolbar = findViewById(R.id.toolbar); - recyclerView = findViewById(R.id.recyclerView); - no_date = findViewById(R.id.no_date); - setSupportActionBar(toolbar); - getSupportActionBar().setTitle(""); - toolbar_title = findViewById(R.id.toolbar_title); - toolbar_title.setText("创建线路"); - getSupportActionBar().setDisplayHomeAsUpEnabled(true);//左侧添加一个默认的返回图标 - getSupportActionBar().setHomeButtonEnabled(true); //设置返回键可用 - initHandler(); - initRecyclerView(); - listenerPair = new Pair<>(Constants.TITLE.RECEIVE_GNSS_INFO, listener); - toolbar_title.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - Toast.makeText(AutopilotConfigActivity.this, "恭喜解锁隐藏技能", Toast.LENGTH_LONG).show(); - return true; - } - }); - - } - - @Override - protected void onResume() { - super.onResume(); - init(); - DataDistribution.getInstance().registerAdasClientListener(new Pair<>(Constants.TITLE.RECEIVE_GNSS_INFO, listener)); - - } - - @Override - protected void onPause() { - super.onPause(); - DataDistribution.getInstance().unregisterAdasClientListener(new Pair<>(Constants.TITLE.RECEIVE_GNSS_INFO, listener)); - - } - - private void init() { - if (autopilotConfigAdapter.getItemCount() == 0) { - recyclerView.setVisibility(View.GONE); - no_date.setVisibility(View.VISIBLE); - } else { - no_date.setVisibility(View.GONE); - recyclerView.setVisibility(View.VISIBLE); - } - - } - - private void initRecyclerView() { - linearLayoutManager = new GridLayoutManager(this, 2); - linearLayoutManager.setOrientation(GridLayoutManager.VERTICAL); - recyclerView.setLayoutManager(linearLayoutManager); - //添加Android自带的分割线 - recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL)); - recyclerView.addItemDecoration(new HorizontalDividerItemDecoration(this)); - autopilotConfigAdapter = new AutopilotConfigAdapter(Constants.getPaths(this)); - recyclerView.setAdapter(autopilotConfigAdapter); - autopilotConfigAdapter.setOnItemClickListener(new AutopilotConfigAdapter.OnHaveDataListener() { - @Override - public void onHaveData(boolean isHave) { - if (isHave) { - no_date.setVisibility(View.GONE); - recyclerView.setVisibility(View.VISIBLE); - } else { - recyclerView.setVisibility(View.GONE); - no_date.setVisibility(View.VISIBLE); - - } - } - }); - } - - - public void onSave() { - List list = autopilotConfigAdapter.getDatas(); - if (list == null || list.isEmpty()) { - Toast.makeText(AutopilotConfigActivity.this, "未找到可用数据,无法保存", Toast.LENGTH_SHORT).show(); - return; - } - Toast.makeText(AutopilotConfigActivity.this, "正在保存...", Toast.LENGTH_SHORT).show(); - Runnable runnable = new Runnable() { - @Override - public void run() { - boolean isNull = false; - for (int i = 0; i < list.size(); i++) { - if (list.get(i).isNull()) { - isNull = true; - break; - } - } - if (!isNull) { - Constants.setPath(AutopilotConfigActivity.this, list); - } - Message msg = Message.obtain(); - msg.what = WHAT_START; - msg.obj = !isNull; - - getHandler().sendMessage(msg); - } - }; - ThreadPoolManager.getsInstance().execute(runnable); - } - - - @Override - protected void onDestroy() { - super.onDestroy(); - EventBus.getDefault().post(new UpdateDataEvent()); - } - - @Override - protected void handleMessage(Message msg) { - super.handleMessage(msg); - switch (msg.what) { - case WHAT_START: - AlertDialog.Builder builder = new AlertDialog.Builder(this); - if ((Boolean) msg.obj) { - builder.setTitle("保存成功") - .setMessage("配置保存成功啦") - .setNegativeButton("退出", - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }) - .setPositiveButton("确定", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - } - }); - } else { - builder.setTitle("保存失败") - .setMessage("请输入必填项\n所有输入框均必填\uD83E\uDD2A\n(Bus必须输入道路名称和道路ID)") - .setPositiveButton("确认", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - } - }); - } - AlertDialog dialog = builder.show(); -// dialog.setCancelable(false); -// dialog.setCanceledOnTouchOutside(false); - break; - case WHAT_UPDATE_SHOW: - if (lonText != null) - lonText.setText("Lon:" + lon); - if (latText != null) - latText.setText("Lat:" + lat); - break; - - } - - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_create, menu); - MenuItem itemDel = menu.findItem(R.id.action_del_item); - CheckBox del = itemDel.getActionView().findViewById(R.id.action_del); - del.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (autopilotConfigAdapter != null) { - autopilotConfigAdapter.setShowDel(isChecked); - } - } - }); - - MenuItem itemLocation = menu.findItem(R.id.action_location_item); - Button btn_lon = itemLocation.getActionView().findViewById(R.id.btn_lon); - Button btn_lat = itemLocation.getActionView().findViewById(R.id.btn_lat); - lonText = itemLocation.getActionView().findViewById(R.id.lon); - latText = itemLocation.getActionView().findViewById(R.id.lat); - btn_lon.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (lon != -1) { - findEditText(lon); - } - } - }); - btn_lat.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (lat != -1) { - findEditText(lat); - } - } - }); - return true; - } - - private void findEditText(double value) { - View view = getWindow().getDecorView().findFocus(); - if (view instanceof EditText) { - EditText editText = ((EditText) view); - String content = String.valueOf(value); - editText.setText(content); - editText.setSelection(content.length()); - } - } - - private OnAdasClientListener listener = new OnAdasClientListener() { - @Override - public void onRefresh() { - List listGnssInfo = DataDistribution.getInstance().listGnssInfo; - if (!listGnssInfo.isEmpty()) { - String info = listGnssInfo.get(listGnssInfo.size() - 1).data; - lon = Double.parseDouble(info.split("longitude: ")[1].split("\n")[0]); - lat = Double.parseDouble(info.split("latitude: ")[1].split("\n")[0]); - getHandler().sendEmptyMessage(WHAT_UPDATE_SHOW); - } - } - }; - -// @Subscribe(threadMode = ThreadMode.MAIN) -// public void onLocationEvent(GnssInfo info) { -// if (info != null && info.bean != null) { -// lon = info.bean.getLongitude(); -// lat = info.bean.getLatitude(); -// if (lonText != null) -// lonText.setText("Lon:" + lon); -// if (latText != null) -// latText.setText("Lat:" + lat); -// } -// } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - switch (id) { - case R.id.action_settings_item: - autopilotConfigAdapter.add(); -// linearLayoutManager.scrollToPositionWithOffset(dbAdapter.getItemCount() - 1, 0); - recyclerView.scrollToPosition(autopilotConfigAdapter.getItemCount() - 1); - return true; - case R.id.action_save_item: - onSave(); - return true; - case android.R.id.home: - onBack(); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - private void onBack() { - finish(); -// new AlertDialog.Builder(this) -// .setTitle("退出提示") -// .setMessage("是否配置页面") -// .setNegativeButton("取消", -// new DialogInterface.OnClickListener() { -// @Override -// public void onClick(DialogInterface dialog, int which) { -// dialog.cancel(); -// } -// }) -// .setPositiveButton("确认", -// new DialogInterface.OnClickListener() { -// public void onClick(DialogInterface dialog, int whichButton) { -// finish(); -// } -// }).show(); - } - - //返回键处理 - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_BACK) { - onBack(); - return true; - } else { - return super.onKeyDown(keyCode, event); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java deleted file mode 100644 index 5d57765dbb..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java +++ /dev/null @@ -1,201 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.app.Activity; -import android.graphics.PixelFormat; -import android.os.Handler; -import android.os.Message; -import android.util.DisplayMetrics; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; -import android.widget.ImageView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.utils.SysBarUtil; -import com.zhidao.adas.client.utils.image.ImageLoaderManager; - -import java.lang.ref.WeakReference; - -/** - * 摄像头数据展示 - * - * @author xuxinchao - * @description - * @since: 2022/4/20 - */ -public class BackCameraFloatWindow implements View.OnTouchListener { - - private final Activity mContext; - private WindowManager.LayoutParams mWindowParams; - private WindowManager mWindowManager; - - private View mFloatLayout; - private float mInViewX; - private float mInViewY; - private float mDownInScreenX; - private float mDownInScreenY; - private float mInScreenX; - private float mInScreenY; - private ImageView image_view; - - public BackCameraFloatWindow(Activity context) { - this.mContext = context; - initHandler(); - initFloatWindow(); - } - - - private void initFloatWindow() { - LayoutInflater inflater = LayoutInflater.from(mContext); - if (inflater == null) - return; - mFloatLayout = (View) inflater.inflate(R.layout.layout_back_camera, null); - image_view = mFloatLayout.findViewById(R.id.image_view); - mFloatLayout.setOnTouchListener(this); - mWindowParams = new WindowManager.LayoutParams(); -// mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); -// if (Build.VERSION.SDK_INT >= 26) {//8.0新特性 -// mWindowParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; -// }else{ -// mWindowParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; -// } - - mWindowManager = mContext.getWindowManager(); - - mWindowParams.format = PixelFormat.RGBA_8888; - mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; - mWindowParams.gravity = Gravity.START | Gravity.TOP; -// mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT; -// mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT; - mWindowParams.width = 1280; - mWindowParams.height = 720; -// mWindowParams.alpha = 0.9F; - } - - @Override - public boolean onTouch(View view, MotionEvent motionEvent) { - return floatLayoutTouch(motionEvent); - } - - private boolean floatLayoutTouch(MotionEvent motionEvent) { - switch (motionEvent.getAction()) { - case MotionEvent.ACTION_DOWN: - // 获取相对View的坐标,即以此View左上角为原点 - mInViewX = motionEvent.getX(); - mInViewY = motionEvent.getY(); - // 获取相对屏幕的坐标,即以屏幕左上角为原点 - mDownInScreenX = motionEvent.getRawX(); - mDownInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - break; - case MotionEvent.ACTION_MOVE: - // 更新浮动窗口位置参数 - mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - mWindowParams.x = (int) (mInScreenX - mInViewX); - mWindowParams.y = (int) (mInScreenY - mInViewY); - // 手指移动的时候更新小悬浮窗的位置 - mWindowManager.updateViewLayout(mFloatLayout, mWindowParams); - break; - case MotionEvent.ACTION_UP: - // 如果手指离开屏幕时,xDownInScreen和xInScreen相等,且yDownInScreen和yInScreen相等,则视为触发了单击事件。 - if (mDownInScreenX == mInScreenX && mDownInScreenY == mInScreenY) { - - } - break; - } - return true; - } - - public void showFloatWindow(float y) { - if (mFloatLayout.getParent() == null) { - DisplayMetrics metrics = new DisplayMetrics(); - // 默认固定位置,靠屏幕右边缘的中间 - mWindowManager.getDefaultDisplay().getMetrics(metrics); - mWindowParams.x = metrics.widthPixels; - mWindowParams.y = (int) (y); - mWindowManager.addView(mFloatLayout, mWindowParams); - } - } - - - public void hideFloatWindow() { - if (mFloatLayout.getParent() != null) - mWindowManager.removeView(mFloatLayout); - } - - public void setFloatLayoutAlpha(boolean alpha) { - if (alpha) - mFloatLayout.setAlpha((float) 0.5); - else - mFloatLayout.setAlpha(1); - } - - - public void onBackCameraVideo(byte[] data) { - Message msg = Message.obtain(); - msg.obj = data; - msg.what = 1; - getHandler().sendMessage(msg); - - - } - - - private BaseHandler mBaseHandler; - - - /** - * 初始化一个Handler,如果需要使用Handler,先调用此方法, - * 然后可以使用postRunnable(Runnable runnable), - * sendMessage在handleMessage(Message msg)中接收msg - */ - public void initHandler() { - mBaseHandler = new BaseHandler(this); - } - - /** - * 返回Handler,在此之前确定已经调用initHandler() - * - * @return Handler - */ - public Handler getHandler() { - return mBaseHandler; - } - - - /** - * 同Handler 的 handleMessage, - * getHandler.sendMessage,发送的Message在此接收 - * 在此之前确定已经调用initHandler() - * - * @param msg - */ - protected void handleMessage(Message msg) { - switch (msg.what) { - case 1: - ImageLoaderManager.loadByteImage(mContext, (byte[]) msg.obj, image_view); - break; - } - } - - - protected static class BaseHandler extends Handler { - private final WeakReference mObjects; - - public BaseHandler(BackCameraFloatWindow mPresenter) { - mObjects = new WeakReference(mPresenter); - } - - @Override - public void handleMessage(Message msg) { - BackCameraFloatWindow mPresenter = mObjects.get(); - if (mPresenter != null) - mPresenter.handleMessage(msg); - } - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java deleted file mode 100644 index 9724db97c4..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.app.Activity; -import android.graphics.PixelFormat; -import android.util.DisplayMetrics; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; - -import androidx.recyclerview.widget.RecyclerView; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.ConnectStatusAdapter; -import com.zhidao.adas.client.bean.IPCConnectState; -import com.zhidao.adas.client.utils.MyLinearLayoutManager; -import com.zhidao.adas.client.utils.SysBarUtil; - -import java.util.List; - -/** - * @author xuxinchao - * @description - * @since: 2022/4/20 - */ -public class FloatWindow implements View.OnTouchListener { - - private final Activity mContext; - private WindowManager.LayoutParams mWindowParams; - private WindowManager mWindowManager; - - private View mFloatLayout; - private float mInViewX; - private float mInViewY; - private float mDownInScreenX; - private float mDownInScreenY; - private float mInScreenX; - private float mInScreenY; - private RecyclerView rv_status; - private ConnectStatusAdapter adapter; - private List list; - - public FloatWindow(Activity context, List list) { - this.mContext = context; - this.list = list; - initFloatWindow(); - } - - public void refreshView() { - if (adapter != null) { - adapter.refreshView(); - } - } - - private void initRV() { - //创建默认的线性LayoutManager 横向的GridLayoutManager - MyLinearLayoutManager linearLayoutManager = new MyLinearLayoutManager(mContext); -// linearLayoutManager.setStackFromEnd(true);//列表再底部开始展示,反转后由上面开始展示 -// linearLayoutManager.setReverseLayout(true);//列表翻转 - rv_status.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - rv_status.setHasFixedSize(false); - rv_status.setNestedScrollingEnabled(false); - adapter = new ConnectStatusAdapter(); - adapter.setHasStableIds(true); - rv_status.setAdapter(adapter); - adapter.setData(list); - } - - private void initFloatWindow() { - LayoutInflater inflater = LayoutInflater.from(mContext); - if (inflater == null) - return; - mFloatLayout = (View) inflater.inflate(R.layout.layout_float, null); - rv_status = mFloatLayout.findViewById(R.id.rv_status); - mFloatLayout.setOnTouchListener(this); - initRV(); - mWindowParams = new WindowManager.LayoutParams(); -// mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); -// if (Build.VERSION.SDK_INT >= 26) {//8.0新特性 -// mWindowParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; -// }else{ -// mWindowParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; -// } - - mWindowManager = mContext.getWindowManager(); - - mWindowParams.format = PixelFormat.RGBA_8888; - mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; - mWindowParams.gravity = Gravity.START | Gravity.TOP; - mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT; - mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT; - mWindowParams.alpha = 0.9F; - } - - @Override - public boolean onTouch(View view, MotionEvent motionEvent) { - return floatLayoutTouch(motionEvent); - } - - private boolean floatLayoutTouch(MotionEvent motionEvent) { - switch (motionEvent.getAction()) { - case MotionEvent.ACTION_DOWN: - // 获取相对View的坐标,即以此View左上角为原点 - mInViewX = motionEvent.getX(); - mInViewY = motionEvent.getY(); - // 获取相对屏幕的坐标,即以屏幕左上角为原点 - mDownInScreenX = motionEvent.getRawX(); - mDownInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - break; - case MotionEvent.ACTION_MOVE: - // 更新浮动窗口位置参数 - mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); - mWindowParams.x = (int) (mInScreenX - mInViewX); - mWindowParams.y = (int) (mInScreenY - mInViewY); - // 手指移动的时候更新小悬浮窗的位置 - mWindowManager.updateViewLayout(mFloatLayout, mWindowParams); - break; - case MotionEvent.ACTION_UP: - // 如果手指离开屏幕时,xDownInScreen和xInScreen相等,且yDownInScreen和yInScreen相等,则视为触发了单击事件。 - if (mDownInScreenX == mInScreenX && mDownInScreenY == mInScreenY) { - - } - break; - } - return true; - } - - public void showFloatWindow(float y) { - if (mFloatLayout.getParent() == null) { - DisplayMetrics metrics = new DisplayMetrics(); - // 默认固定位置,靠屏幕右边缘的中间 - mWindowManager.getDefaultDisplay().getMetrics(metrics); - mWindowParams.x = metrics.widthPixels; - mWindowParams.y = (int) (y); - mWindowManager.addView(mFloatLayout, mWindowParams); - } - } - - - public void hideFloatWindow() { - if (mFloatLayout.getParent() != null) - mWindowManager.removeView(mFloatLayout); - } - - public void setFloatLayoutAlpha(boolean alpha) { - if (alpha) - mFloatLayout.setAlpha((float) 0.5); - else - mFloatLayout.setAlpha(1); - } - - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HelpActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HelpActivity.java deleted file mode 100644 index e9c5cf6607..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HelpActivity.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.os.Bundle; -import android.view.View; - -import androidx.annotation.Nullable; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.base.BaseActivity; - -public class HelpActivity extends BaseActivity { - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_help); - showToastCenter("点击屏幕任意位置,退出帮助页面"); - } - - public void onBack(View view) { - finish(); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HorizontalDividerItemDecoration.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HorizontalDividerItemDecoration.java deleted file mode 100644 index 932b4484e9..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/HorizontalDividerItemDecoration.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2018 The Android Open Source Project - * - * 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. - */ - - -package com.zhidao.adas.client.ui; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Canvas; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.util.Log; -import android.view.View; -import android.widget.LinearLayout; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -/** - * DividerItemDecoration is a {@link RecyclerView.ItemDecoration} that can be used as a divider - * between items of a {@link LinearLayoutManager}. It supports both {@link #HORIZONTAL} and - * {@link #VERTICAL} orientations. - * - *

- *     mDividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
- *             mLayoutManager.getOrientation());
- *     recyclerView.addItemDecoration(mDividerItemDecoration);
- * 
- */ -public class HorizontalDividerItemDecoration extends RecyclerView.ItemDecoration { - public static final int HORIZONTAL = LinearLayout.HORIZONTAL; - public static final int VERTICAL = LinearLayout.VERTICAL; - - private static final String TAG = "DividerItem"; - private static final int[] ATTRS = new int[]{android.R.attr.listDivider}; - - private Drawable mDivider; - - - private final Rect mBounds = new Rect(); - - /** - * Creates a divider {@link RecyclerView.ItemDecoration} that can be used with a - * {@link LinearLayoutManager}. - * - * @param context Current context, it will be used to access resources. - */ - public HorizontalDividerItemDecoration(Context context) { - final TypedArray a = context.obtainStyledAttributes(ATTRS); - mDivider = a.getDrawable(0); - if (mDivider == null) { - Log.w(TAG, "@android:attr/listDivider was not set in the theme used for this " - + "DividerItemDecoration. Please set that attribute all call setDrawable()"); - } - a.recycle(); - } - - - /** - * Sets the {@link Drawable} for this divider. - * - * @param drawable Drawable that should be used as a divider. - */ - public void setDrawable(@NonNull Drawable drawable) { - if (drawable == null) { - throw new IllegalArgumentException("Drawable cannot be null."); - } - mDivider = drawable; - } - - /** - * @return the {@link Drawable} for this divider. - */ - @Nullable - public Drawable getDrawable() { - return mDivider; - } - - @Override - public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { - if (parent.getLayoutManager() == null || mDivider == null) { - return; - } - drawHorizontal(c, parent); - } - - - private void drawHorizontal(Canvas canvas, RecyclerView parent) { - canvas.save(); - final int top; - final int bottom; - //noinspection AndroidLintNewApi - NewApi lint fails to handle overrides. - if (parent.getClipToPadding()) { - top = parent.getPaddingTop(); - bottom = parent.getHeight() - parent.getPaddingBottom(); - canvas.clipRect(parent.getPaddingLeft(), top, - parent.getWidth() - parent.getPaddingRight(), bottom); - } else { - top = 0; - bottom = parent.getHeight(); - } - - final int childCount = parent.getChildCount(); - for (int i = 0; i < childCount; ) { - final View child = parent.getChildAt(i); - parent.getLayoutManager().getDecoratedBoundsWithMargins(child, mBounds); - final int right = mBounds.right + Math.round(child.getTranslationX()); - final int left = right - mDivider.getIntrinsicWidth(); - mDivider.setBounds(left, top, right, bottom); - mDivider.draw(canvas); - i += 2; - } - canvas.restore(); - } - - @Override - public void getItemOffsets(Rect outRect, View view, RecyclerView parent, - RecyclerView.State state) { - if (mDivider == null) { - outRect.set(0, 0, 0, 0); - return; - } - outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java deleted file mode 100644 index 9d29c6f204..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java +++ /dev/null @@ -1,247 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.os.Bundle; -import android.os.Message; -import android.text.TextUtils; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.SimpleItemAnimator; - -import com.zhidao.adas.client.DataDistribution; -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.DataShowAdapter; -import com.zhidao.adas.client.base.BaseFragment; -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.adas.client.utils.MyLinearLayoutManager; - -/** - * @author song kenan - * @des - * @date 2021/8/16 - */ -public class InfoFragment extends BaseFragment { - - private DataShowAdapter adapter; - private TextView tvTitle; - private String subTitle; - private BackCameraFloatWindow backCameraFloatWindow; - - public InfoFragment() { - } - - public InfoFragment(String title) { - super(title); - } - - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_info, container, false); - initView(view); - return view; - } - - @Override - public void onStart() { - super.onStart(); - setData(); - } - - private View layout_update; - - public void setTitle(String title) { - if (tvTitle != null) { - tvTitle.setText(title); - } else { - subTitle = title; - } - } - - @Override - public void onPause() { - super.onPause(); - hideFloatWindow(); - } - - @Override - public void onHiddenChanged(boolean hidden) { - super.onHiddenChanged(hidden); - if (hidden) { - hideFloatWindow(); - } - } - - private void hideFloatWindow() { - if (backCameraFloatWindow != null) { - backCameraFloatWindow.hideFloatWindow(); - backCameraFloatWindow = null; - } - } - - private void initView(View view) { - tvTitle = view.findViewById(R.id.tv_title); - RecyclerView rvInfo = view.findViewById(R.id.rv_info); - layout_update = view.findViewById(R.id.layout_update); - if (TextUtils.isEmpty(subTitle)) { - tvTitle.setText(title); - } else { - tvTitle.setText(subTitle); - subTitle = null; - } - tvTitle.setGravity(Gravity.CENTER); - if (Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO.equals(title)) { - Button button = view.findViewById(R.id.btn_render); - button.setVisibility(View.VISIBLE); - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (backCameraFloatWindow == null) { - backCameraFloatWindow = new BackCameraFloatWindow(getActivity()); - final int[] location = new int[2]; - button.getLocationOnScreen(location); - backCameraFloatWindow.showFloatWindow(location[1]); - } else { - hideFloatWindow(); - } - } - }); - } - //创建默认的线性LayoutManager 横向的GridLayoutManager - MyLinearLayoutManager linearLayoutManager = new MyLinearLayoutManager(this.getContext()); -// linearLayoutManager.setStackFromEnd(true);//列表再底部开始展示,反转后由上面开始展示 -// linearLayoutManager.setReverseLayout(true);//列表翻转 - rvInfo.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - rvInfo.setHasFixedSize(false); - rvInfo.setNestedScrollingEnabled(false); - //升级按钮 - Button btn1 = view.findViewById(R.id.btn1); - //升级按钮 - Button btn2 = view.findViewById(R.id.btn2); - btn1.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// AdasManager.getInstance().sendBaseInfo(IPCUpgradeInfo.affirm()); - } - }); - btn2.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// AdasManager.getInstance().sendBaseInfo(IPCUpgradeInfo.cancel()); - } - }); - - - RecyclerView.ItemAnimator itemAnimator = rvInfo.getItemAnimator(); - if (itemAnimator != null) { - itemAnimator.setAddDuration(0); - itemAnimator.setChangeDuration(0); - itemAnimator.setMoveDuration(0); - itemAnimator.setRemoveDuration(0); - ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false); - } - adapter = new DataShowAdapter(); - adapter.setHasStableIds(true); - rvInfo.setAdapter(adapter); - } - - private void setData() { - if (Constants.TITLE.RECEIVE_GNSS_INFO.equals(title)) { - adapter.setData(DataDistribution.getInstance().listGnssInfo); - } else if (Constants.TITLE.RECEIVE_CHASSIS_STATES.equals(title)) { - adapter.setData(DataDistribution.getInstance().listChassisStates); - } else if (Constants.TITLE.RECEIVE_TRACKED_OBJECTS.equals(title)) { - adapter.setData(DataDistribution.getInstance().listTrackedObjects); - } else if (Constants.TITLE.RECEIVE_AUTOPILOT_STATE.equals(title)) { - adapter.setData(DataDistribution.getInstance().listAutopilotState); - } else if (Constants.TITLE.RECEIVE_WARN.equals(title)) { - adapter.setData(DataDistribution.getInstance().listWarn); - } else if (Constants.TITLE.RECEIVE_TRAJECTORY.equals(title)) { - adapter.setData(DataDistribution.getInstance().listTrajectory); - } else if (Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION.equals(title)) { - adapter.setData(DataDistribution.getInstance().listArrivalNotification); - } else if (Constants.TITLE.RECEIVE_STATUS_QUERY_RESP.equals(title)) { - adapter.setData(DataDistribution.getInstance().listStatusInfo); - } else if (Constants.TITLE.RECEIVE_OBU_SPAT.equals(title)) { - adapter.setData(DataDistribution.getInstance().listObuSpat); - } else if (Constants.TITLE.RECEIVE_OBU_RSI.equals(title)) { - adapter.setData(DataDistribution.getInstance().listObuRsi); - } else if (Constants.TITLE.RECEIVE_OBU_RSM.equals(title)) { - adapter.setData(DataDistribution.getInstance().listObuRsm); - } else if (Constants.TITLE.RECEIVE_OBU_MAP.equals(title)) { - adapter.setData(DataDistribution.getInstance().listObuMap); - } else if (Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP.equals(title)) { - adapter.setData(DataDistribution.getInstance().listRecordDataConfig); - } else if (Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP.equals(title)) { - adapter.setData(DataDistribution.getInstance().listGlobalPathResp); - } else if (Constants.TITLE.RECEIVE_RECORD_RESULT.equals(title)) { - adapter.setData(DataDistribution.getInstance().listRecordPanel); - } else if (Constants.TITLE.RECEIVE_BAG_MANAGER_CMD.equals(title)) { - adapter.setData(DataDistribution.getInstance().listBagManagerCmd); - } else if (Constants.TITLE.RECEIVE_REPORT_MESSAGE.equals(title)) { - adapter.setData(DataDistribution.getInstance().listMogoReportMessage); - } else if (Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT.equals(title)) { - adapter.setData(DataDistribution.getInstance().listPerceptionTrafficLight); - } else if (Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.equals(title)) { - adapter.setData(DataDistribution.getInstance().listPredictionObstacleTrajectory); - } else if (Constants.TITLE.RECEIVE_POINT_CLOUD_ORIGINAL.equals(title)) { - adapter.setData(DataDistribution.getInstance().listOriginalPointCloud); - } else if (Constants.TITLE.RECEIVE_PLANNING_OBJECTS.equals(title)) { - adapter.setData(DataDistribution.getInstance().listPlanningObjects); - } else if (Constants.TITLE.RECEIVE_PLANNING_DECISION_STATE.equals(title)) { - adapter.setData(DataDistribution.getInstance().listPlanningDecisionState); - } else if (Constants.TITLE.RECEIVE_FUNCTION_STATES.equals(title)) { - adapter.setData(DataDistribution.getInstance().listFSMFunctionStates); - } else if (Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO.equals(title)) { - adapter.setData(DataDistribution.getInstance().listBackCameraVideo); - } else if (Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(title)) { - adapter.setData(DataDistribution.getInstance().listRoboSweeperTaskIndex); - } else { - adapter.setData(DataDistribution.getInstance().listErrorData); - } - } - - private boolean isRefreshTitle = false; - - @Override - protected void handleMessage(Message msg) { - super.handleMessage(msg); - switch (msg.what) { - case WHAT_REFRESH_TRAFFIC_LIGHTS: - //感知信号灯显示 - if (msg.obj == null) { - if (isRefreshTitle) { - tvTitle.setText(title); - isRefreshTitle = false; - } - } else { - isRefreshTitle = true; - tvTitle.setText((String) msg.obj); - } - onRefreshView(); - break; - } - } - - @Override - protected void onRefreshView() { - if (adapter != null) { - adapter.refreshView(); - } - } - - public void onBackCameraVideo(byte[] data) { - if (backCameraFloatWindow != null) { - backCameraFloatWindow.onBackCameraVideo(data); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java deleted file mode 100644 index 0a6ab82bdd..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ /dev/null @@ -1,1615 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.res.Configuration; -import android.net.Uri; -import android.net.wifi.WifiManager; -import android.os.Build; -import android.os.Bundle; -import android.os.Message; -import android.os.PowerManager; -import android.os.SystemClock; -import android.provider.Settings; -import android.text.Editable; -import android.text.Html; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.util.Log; -import android.view.View; -import android.view.WindowManager; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.ListPopupWindow; -import android.widget.PopupWindow; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.AppCompatButton; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.SimpleItemAnimator; - -import com.google.protobuf.TextFormat; -import com.mogo.support.obu.ObuScene; -import com.zhidao.adas.client.App; -import com.zhidao.adas.client.BuildConfig; -import com.zhidao.adas.client.DataDistribution; -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.InfoTitleAdapter; -import com.zhidao.adas.client.base.BaseActivity; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.base.BaseFragment; -import com.zhidao.adas.client.bean.ErrorData; -import com.zhidao.adas.client.bean.IPCConnectState; -import com.zhidao.adas.client.bean.ObuMap; -import com.zhidao.adas.client.bean.ObuRsi; -import com.zhidao.adas.client.bean.ObuRsm; -import com.zhidao.adas.client.bean.ObuSpat; -import com.zhidao.adas.client.bean.PerceptionTrafficLight; -import com.zhidao.adas.client.bean.ReceiveBytesData; -import com.zhidao.adas.client.bean.ReceiveData; -import com.zhidao.adas.client.bean.SpecialVehicleBean; -import com.zhidao.adas.client.bean.StatusInfo; -import com.zhidao.adas.client.bean.TrackedObjects; -import com.zhidao.adas.client.bean.Trajectory; -import com.zhidao.adas.client.bean.Warn; -import com.zhidao.adas.client.log.ConnectStatusSave; -import com.zhidao.adas.client.log.LogSave; -import com.zhidao.adas.client.other.permission.BackgrounderPermission; -import com.zhidao.adas.client.other.permission.OnAdasPermissionListener; -import com.zhidao.adas.client.other.router.RouterActivity; -import com.zhidao.adas.client.ui.special.SpecialVehicleDialog; -import com.zhidao.adas.client.utils.Constants; -import com.zhidao.adas.client.utils.PreferencesUtils; -import com.zhidao.support.adas.high.AdasManager; -import com.zhidao.support.adas.high.AdasOptions; -import com.zhidao.support.adas.high.OnAdasConnectStatusListener; -import com.zhidao.support.adas.high.OnAdasListener; -import com.zhidao.support.adas.high.bean.VersionCompatibility; -import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS; -import com.zhidao.support.adas.high.common.CupidLogUtils; -import com.zhidao.support.adas.high.common.ProtocolStatus; -import com.zhidao.support.adas.high.common.ReceiveTimeoutManager; -import com.zhjt.mogo.adas.data.bean.AutopilotStatistics; - -import org.jetbrains.annotations.NotNull; - -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.Enumeration; -import java.util.List; -import java.util.Locale; -import java.util.concurrent.ScheduledExecutorService; - -import bag_manager.BagManagerOuterClass; -import chassis.ChassisStatesOuterClass; -import function_state_management.FunctionStates; -import mogo.telematics.pad.MessagePad; -import mogo_msg.MogoReportMsg; -import perception.TrafficLightOuterClass; -import planning.RoboSweeperTaskIndexOuterClass; -import prediction.Prediction; -import record_cache.RecordPanelOuterClass; -import system_master.SystemStatusInfo; - -public class MainActivity extends BaseActivity implements OnAdasListener, OnAdasConnectStatusListener, BaseAdapter.OnItemClickListener { - private final static String TAG = MainActivity.class.getSimpleName(); - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.getDefault()); - private static final int WHAT_IPC_IP = 0x00; - private static final int WHAT_DRIVER_IP = 0x01; - private static final int WHAT_IPC_CONNECT_STATE = 0x02; - private static final int WHAT_RECEIVE_ERROR_DATA_SHOW = 0x03; - private static final int WHAT_RECEIVE_ERROR_DATA_HINT = 0x04; - private static final int WHAT_RECEIVE_ERROR_DATA_STOP = 0x05; - private EditText etIp; - private ImageView role; - private ImageView tvIp; - private TextView title; - private TextView ipcIp; - private TextView background; - private TextView localIp; - private View line; - private View line1; - private RadioGroup connectionType; - private AppCompatButton connect; - private AppCompatButton disconnect; - private RadioButton fixation; - private RadioButton assign; - private CheckBox cb_print; - private CheckBox cb_save; - private CheckBox cb_timeout; - private CheckBox cb_cut_down; - private RecyclerView infoBtn; - private RecyclerView infoFragment; - private TextView tvConnectState; - private ScheduledExecutorService mExecutorServiceConfigTimer; - - - private final List titleFragmentData = new ArrayList<>(); - private final List titleBtnData = new ArrayList<>(); - private final List connectStatusList = new ArrayList<>(); - private InfoTitleAdapter fragmentAdapter; - private BaseFragment fromFragment; - private FragmentManager manager; - private String ftpTime; - private boolean isPad; - private long recordKey; - private String recordFileName; - private int connectStatus; - private AutoPilotModeDialog autoPilotModeDialog; - private SpecialVehicleDialog specialVehicleDialog; - private ListPopupWindow listPopupWindow; - private FloatWindow floatWindow; - private View include_title; - private List specialVehicleBeanList;//特种车辆 - private long errorDataUpdateTime = 0; -// @Override -// protected void onStart() { -// super.onStart(); -// LogSave.getInstance().start(); -// } -// -// @Override -// protected void onStop() { -// super.onStop(); -// //需要将数据换发到别的页面 -// LogSave.getInstance().stop(); -// } - - PowerManager.WakeLock wakeLock; - WifiManager.WifiLock wifiLock; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - initHandler(); - ConnectStatusSave.getInstance().start(); - isPad = isPad(this); - if (!isPad) - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); - initView(); - showFragment(Constants.TITLE.RECEIVE_GNSS_INFO); - initAdas(); - connectStatus = AdasManager.getInstance().getIpcConnectionStatus(); - onUpdateConnectStateView(); - showIPCIP(); - canDrawOverlays(); - showHint(); -// PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); -// wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); -// wakeLock.acquire(); -// int wifiLockType = WifiManager.WIFI_MODE_FULL; -// try { -// wifiLockType = WifiManager.class.getField("WIFI_MODE_FULL_HIGH_PERF").getInt(null); -// } catch (Exception e) { -// // 我们必须运行在一个pre-Honeycomb设备上。 -// Log.w(TAG, "无法获得高性能wifi锁."); -// } -// WifiManager wifiManager = WifiManager.class.cast(getApplicationContext().getSystemService(WIFI_SERVICE)); -// wifiLock = wifiManager.createWifiLock(wifiLockType, TAG); -// wifiLock.acquire(); - } - - private void showHint() { - boolean isShowHint = PreferencesUtils.getBoolean(this, "show_hint", true); - if (isShowHint) { - new AlertDialog.Builder(this) - .setTitle("警告") - .setMessage("本应用运行时会影响鹰眼司机、乘客端的连接。\n使用完成后请彻底杀掉本应用并重启鹰眼") - .setNegativeButton("不再提示", - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.cancel(); - PreferencesUtils.putBoolean(MainActivity.this, "show_hint", false); - } - }) - .setPositiveButton("知道了", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - } - }).show(); - } - } - - @Override - protected void onDestroy() { - super.onDestroy(); - AdasManager.getInstance().setOnAdasListener(null); - AdasManager.getInstance().disconnect(); - if (mExecutorServiceConfigTimer != null) { - mExecutorServiceConfigTimer.shutdownNow(); - } - DataDistribution.getInstance().stop(); - if (floatWindow != null) { - floatWindow.hideFloatWindow(); - floatWindow = null; - } - ConnectStatusSave.getInstance().stop(); - // 释放唤醒锁, 如果没有其它唤醒锁存在, 设备会很快进入休眠状态 - if (wakeLock != null) - wakeLock.release(); - if (wifiLock != null) - wifiLock.release(); - if (autoPilotModeDialog != null && autoPilotModeDialog.isShowing()) { - autoPilotModeDialog.dismiss(); - autoPilotModeDialog = null; - } - if (specialVehicleDialog != null && specialVehicleDialog.isShowing()) { - specialVehicleDialog.dismiss(); - specialVehicleDialog = null; - } - } - - private void canDrawOverlays() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (!Settings.canDrawOverlays(this)) { - showToastCenter("当前无权限,请授权"); - startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()))); - } - } - } - - - private void connect(boolean isConnect) { - if (isConnect) { - switch (Constants.getIpcConnectionMode(this)) { - case AdasOptions.IPC_CONNECTION_MODE.FIXATION: - AdasManager.getInstance().getAdasOptions().setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(this)); - break; - case AdasOptions.IPC_CONNECTION_MODE.ASSIGN: - String ip = etIp.getText().toString().trim(); - if (TextUtils.isEmpty(ip)) { - Toast.makeText(this, "请输入指定IP", Toast.LENGTH_SHORT).show(); - return; - } - AdasManager.getInstance().getAdasOptions().setIpcAssignIP(ip); - break; - } - AdasManager.getInstance().getAdasOptions().setIpcConnectionMode(Constants.getIpcConnectionMode(this)); - AdasManager.getInstance().connect(); - } else - AdasManager.getInstance().disconnect(); - } - - - private void initView() { - include_title = findViewById(R.id.include_title); - etIp = findViewById(R.id.et_ip); - background = findViewById(R.id.background); - role = findViewById(R.id.role); - line = findViewById(R.id.line); - line1 = findViewById(R.id.line1); - connectionType = findViewById(R.id.connection_type); - tvIp = findViewById(R.id.tv_ip); - connect = findViewById(R.id.connect); - disconnect = findViewById(R.id.disconnect); - fixation = findViewById(R.id.fixation); - assign = findViewById(R.id.assign); - cb_print = findViewById(R.id.cb_print); - cb_save = findViewById(R.id.cb_save); - cb_timeout = findViewById(R.id.cb_timeout); - cb_cut_down = findViewById(R.id.cb_cut_down); - title = findViewById(R.id.title); - infoBtn = findViewById(R.id.info_btn); - infoFragment = findViewById(R.id.info_fragment); - tvConnectState = findViewById(R.id.tv_connect_state); - ipcIp = findViewById(R.id.ipc_ip); - localIp = findViewById(R.id.local_ip); - findViewById(R.id.btn_router).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - RouterActivity.newInstance(MainActivity.this, false); - } - }); - - role.setSelected(BuildConfig.IS_CLIENT); - if (BuildConfig.IS_CLIENT) { - line.setVisibility(View.GONE); - line1.setVisibility(View.GONE); - connectionType.setVisibility(View.GONE); - etIp.setVisibility(View.GONE); - tvIp.setVisibility(View.GONE); - line.setVisibility(View.GONE); - connect.setVisibility(View.GONE); - disconnect.setVisibility(View.GONE); - cb_timeout.setVisibility(View.GONE); - AdasManager.getInstance().setEnableTimeoutDetection(false); - } - role.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - showToastCenter("我是" + (BuildConfig.IS_CLIENT ? "乘客端" : "司机端")); - } - }); - connect.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - connect(true); - } - }); - disconnect.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// MessagePad.Header header = MessagePad.Header.newBuilder() -// .setTimestamp(1.6523361438761907E9).build(); -// MogoPointCloudOuterClass.MogoPointCloud pointCloud = MogoPointCloudOuterClass.MogoPointCloud.newBuilder() -// .setSelfLongitude(112.57563687979261) -// .setSelfLatitude(26.828128487326854) -// .setSelfAltitude(52.89) -// .setSelfRoll(-0.00715584993317675) -// .setSelfPitch(0.008726646259971651) -// .setSelfYaw(0.4850269854068756) -// -// .addAddData(1F) -// .addAddData(2F) -// .addAddData(3F) -// .addAddData(4F) -// .addAddData(5F) -// .addAddData(6F) -// .addAddData(7F) -// .addAddData(8F) -// -// .addDelData(9F) -// .addDelData(10F) -// .addDelData(11F) -// .addDelData(12F) -// .addDelData(13F) -// .addDelData(14F) -// .addDelData(15F) -// .addDelData(16F) -// .addDelData(17F) -// .addDelData(18F) -// .addDelData(19F) -// .addDelData(20F) -// .build(); -// String data = PointCloudDecoder.decode(header, pointCloud); -// Log.i("ddd", "转换数据=" + data); - connect(false); - } - }); - initListData(); - initBtnRecyclerView(); - initFragmentRecyclerView(); - switch (Constants.getIpcConnectionMode(this)) { - case 0: - fixation.setChecked(true); - break; - case 1: - assign.setChecked(true); - break; - - } - String ip = Constants.getIPCIp(this); - if (!TextUtils.isEmpty(ip)) { - etIp.setText(ip); - etIp.setSelection(ip.length()); - } - - //初始化fragment - manager = getSupportFragmentManager(); - cb_print.setChecked(CupidLogUtils.isEnableLog()); - cb_print.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - AdasManager.getInstance().setEnableLog(isChecked); - } - }); - cb_save.setChecked(LogSave.getInstance().isStart()); - cb_save.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { - LogSave.getInstance().start(); - } else { - LogSave.getInstance().stop(); - } - } - }); - boolean isEnable = Constants.getTimeoutEnable(this); - AdasManager.getInstance().setEnableTimeoutDetection(isEnable); - cb_timeout.setChecked(ReceiveTimeoutManager.getInstance().isEnable()); - cb_timeout.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - Constants.setTimeoutEnable(MainActivity.this, isChecked); - AdasManager.getInstance().setEnableTimeoutDetection(isChecked); - } - }); - cb_timeout.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); - builder.setTitle("超时时间配置"); - View view = getLayoutInflater().inflate(R.layout.dialog_timeout, null); - final EditText et = view.findViewById(R.id.et); - String timeout = String.valueOf(AdasManager.getInstance().getTimeoutDetectionTime()); - et.setText(timeout); - et.setSelection(timeout.length()); - final TextView hint = view.findViewById(R.id.text_hint); - hint.setText("由于没有心跳机制,如果服务器端断网或其他非正常断开,客户端无法感知,所以需要进行数据接收超时检测"); - builder.setView(view);// - builder.setCancelable(false);// - builder.setPositiveButton("设置", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - Editable editable = et.getText(); - if (TextUtils.isEmpty(editable)) { - // 条件不成立不能关闭 AlertDialog 窗口 - Toast.makeText(MainActivity.this, "请输入超时时间", Toast.LENGTH_SHORT).show(); - return; - } - String temp = et.getText().toString().trim(); - long t = Long.parseLong(temp); - AdasManager.getInstance().setTimeoutDetectionTime(t); - } - }); - //设置反面按钮,并做事件处理 - builder.setNegativeButton("取消", null); - builder.show();//显示Dialog对话框 - return true; - } - }); - cb_cut_down.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - DataDistribution.getInstance().setCutDown(isChecked); - } - }); - cb_cut_down.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - showToastCenter("显示数据量过大,会引起刷新卡顿", Toast.LENGTH_LONG); - return true; - } - }); - connectionType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - AdasManager.getInstance().disconnect(); - int type; - switch (checkedId) { - default: - case R.id.assign: - type = AdasOptions.IPC_CONNECTION_MODE.ASSIGN; - break; - case R.id.fixation: - type = AdasOptions.IPC_CONNECTION_MODE.FIXATION; - break; - } - Constants.setIpcConnectionMode(MainActivity.this, type); - } - }); - etIp.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - if (TextUtils.isEmpty(s)) { - Constants.delIPCIp(MainActivity.this); - } else { - String str = s.toString(); - if (str.contains(":")) { - str = str.replace(":", ":"); - etIp.setText(str); - etIp.setSelection(str.length()); - } - Constants.setIPCIp(MainActivity.this, str); - } - - } - - @Override - public void afterTextChanged(Editable s) { - } - }); - showLocalIP(); - title.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (TextUtils.equals(title.getText(), getString(R.string.have_error_data))) { - int position = titleFragmentData.size() - 1; - infoFragment.smoothScrollToPosition(position); - fragmentAdapter.setSelectedPosition(position); - showFragment(Constants.TITLE.RECEIVE_ERROR); - } else { - showLocalIP(); - } - } - }); - title.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - startActivity(new Intent(MainActivity.this, HelpActivity.class)); - return true; - } - }); - - tvIp.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listPopupWindow == null) { - tvIp.setSelected(true); - showListPopupWindow(); - } else { - tvIp.setSelected(false); - listPopupWindow.dismiss(); - listPopupWindow = null; - } - } - }); - tvConnectState.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (floatWindow == null) { - floatWindow = new FloatWindow(MainActivity.this, connectStatusList); - floatWindow.showFloatWindow(include_title.getY() + include_title.getHeight()); - } else { - floatWindow.hideFloatWindow(); - floatWindow = null; - } - } - }); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - String str = "后台运行:" + (BackgrounderPermission.getInstance().isPermissionLongBackgroundRunning(this) ? "已优化" : "未优化"); - background.setText(Html.fromHtml(str, Html.FROM_HTML_MODE_LEGACY)); - background.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - BackgrounderPermission.getInstance().showPermissionLongBackgroundRunningDialog(MainActivity.this); - } - }); - BackgrounderPermission.getInstance().setListener(new OnAdasPermissionListener() { - @Override - public void onBackgrounderPermission(boolean isAllow) { - String str = "后台运行:" + (isAllow ? "已优化" : "未优化"); - background.setText(Html.fromHtml(str, Html.FROM_HTML_MODE_LEGACY)); - } - }); - } else { - background.setVisibility(View.GONE); - } - } - - private void showListPopupWindow() { - List ips = Constants.getIpcUsedIps(this); - if (ips != null && !ips.isEmpty()) { - listPopupWindow = new ListPopupWindow(this); - listPopupWindow.setAdapter(new ArrayAdapter(this, R.layout.item_pop, ips)); - listPopupWindow.setAnchorView(etIp);//以哪个控件为基准,在该处以mEditText为基准 - listPopupWindow.setModal(true); - listPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { - @Override - public void onDismiss() { - listPopupWindow = null; - tvIp.setSelected(false); - } - }); - listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView adapterView, View view, int i, long l) { - String text = ips.get(i); - etIp.setText(text); - etIp.setSelection(text.length()); - listPopupWindow.dismiss(); - listPopupWindow = null; - } - }); - listPopupWindow.show(); - } - } - - private void initListData() { - titleFragmentData.add(Constants.TITLE.RECEIVE_GNSS_INFO); - titleFragmentData.add(Constants.TITLE.RECEIVE_TRAJECTORY); - titleFragmentData.add(Constants.TITLE.RECEIVE_TRACKED_OBJECTS); - titleFragmentData.add(Constants.TITLE.RECEIVE_CHASSIS_STATES); - titleFragmentData.add(Constants.TITLE.RECEIVE_AUTOPILOT_STATE); - titleFragmentData.add(Constants.TITLE.RECEIVE_FUNCTION_STATES); - titleFragmentData.add(Constants.TITLE.RECEIVE_REPORT_MESSAGE); - titleFragmentData.add(Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT); - titleFragmentData.add(Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY); - titleFragmentData.add(Constants.TITLE.RECEIVE_POINT_CLOUD_ORIGINAL); - titleFragmentData.add(Constants.TITLE.RECEIVE_PLANNING_OBJECTS); - titleFragmentData.add(Constants.TITLE.RECEIVE_PLANNING_DECISION_STATE); - titleFragmentData.add(Constants.TITLE.RECEIVE_CAR_CONFIG_RESP); - titleFragmentData.add(Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP); - titleFragmentData.add(Constants.TITLE.RECEIVE_RECORD_RESULT); - titleFragmentData.add(Constants.TITLE.RECEIVE_BAG_MANAGER_CMD); - titleFragmentData.add(Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP); - titleFragmentData.add(Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION); - titleFragmentData.add(Constants.TITLE.RECEIVE_STATUS_QUERY_RESP); - titleFragmentData.add(Constants.TITLE.RECEIVE_OBU_SPAT); - titleFragmentData.add(Constants.TITLE.RECEIVE_OBU_RSI); - titleFragmentData.add(Constants.TITLE.RECEIVE_OBU_RSM); - titleFragmentData.add(Constants.TITLE.RECEIVE_OBU_MAP); - titleFragmentData.add(Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA); - titleFragmentData.add(Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO); - titleFragmentData.add(Constants.TITLE.RECEIVE_WARN); - titleFragmentData.add(Constants.TITLE.RECEIVE_ERROR); - - - titleBtnData.add(Constants.TITLE.SEND_SET_AUTOPILOT_MODE_REQ); - titleBtnData.add(Constants.TITLE.SEND_GLOBAL_PATH_REQ); - titleBtnData.add(Constants.TITLE.SEND_SPECIAL_VEHICLE_TASK_CMD); - titleBtnData.add(Constants.TITLE.SEND_STATUS_QUERY_REQ); - titleBtnData.add(Constants.TITLE.SEND_BASIC_INFO_RESP); - titleBtnData.add(Constants.TITLE.SEND_RECORD_DATA_CONFIG_RESP); - titleBtnData.add(Constants.TITLE.SEND_RECORD_DATA_5); - titleBtnData.add(Constants.TITLE.SEND_RECORD_DATA_START); - titleBtnData.add(Constants.TITLE.SEND_RECORD_DATA_END); - titleBtnData.add(Constants.TITLE.SEND_TRAFFIC_LIGHT_DATA); - titleBtnData.add(Constants.TITLE.SEND_SET_AUTOPILOT_SPEED_REQ); - titleBtnData.add(Constants.TITLE.SEND_SYSTEM_CMD_REQ_REBOOT); - titleBtnData.add(Constants.TITLE.SEND_RECORD_CAUSE); - titleBtnData.add(Constants.TITLE.SEND_SET_DEMO_MODE_REQ_OPEN); - titleBtnData.add(Constants.TITLE.SEND_SET_DEMO_MODE_REQ_CLOSE); - titleBtnData.add(Constants.TITLE.SEND_SET_RAIN_MODE_REQ_OPEN); - titleBtnData.add(Constants.TITLE.SEND_SET_RAIN_MODE_REQ_CLOSE); - titleBtnData.add(Constants.TITLE.SEND_DETOURING_OPEN); - titleBtnData.add(Constants.TITLE.SEND_DETOURING_CLOSE); - titleBtnData.add(Constants.TITLE.SEND_DETOURING_SPEED); - titleBtnData.add(Constants.TITLE.SEND_TRIP_INFO); - titleBtnData.add(Constants.TITLE.SEND_PLANNING_CMD); - - } - - private void initBtnRecyclerView() { - //初始info-recycle - GridLayoutManager nodLinearLayoutManage = new GridLayoutManager(this, 2); - nodLinearLayoutManage.setOrientation(LinearLayoutManager.HORIZONTAL); - infoBtn.setLayoutManager(nodLinearLayoutManage); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - infoBtn.setHasFixedSize(true); - //解决局部刷新闪屏问题 - SimpleItemAnimator animatorInfo = (SimpleItemAnimator) infoBtn.getItemAnimator(); - if (animatorInfo != null) - animatorInfo.setSupportsChangeAnimations(false); - //创建并设置Adapter - InfoTitleAdapter btnAdapter = new InfoTitleAdapter(titleBtnData, false); - infoBtn.setAdapter(btnAdapter); - btnAdapter.setOnItemClickListener(this); - } - - /** - * 感知接口 提示 - * - * @param isSeriaNet 是否是透传接口 - */ - private void hintTrackedObjects(boolean isSeriaNet) { - int value = 0; - MessagePad.CarConfigResp carConfigResp = AdasManager.getInstance().getCarConfig(); - if (carConfigResp != null) { - value = carConfigResp.getProtocolVersionValue(); - } - if (isSeriaNet && value < 3 && value > 0 || value > 2) { - showToastCenter("当前工控机协议版本:" + value + ",此接口不受支持"); - } - } - - private void initFragmentRecyclerView() { - //创建默认的线性LayoutManager 横向的GridLayoutManager - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); - linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); - infoFragment.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - infoFragment.setHasFixedSize(true); - //解决局部刷新闪屏问题 - SimpleItemAnimator animator = (SimpleItemAnimator) infoFragment.getItemAnimator(); - if (animator != null) - animator.setSupportsChangeAnimations(false); - //创建并设置Adapter - fragmentAdapter = new InfoTitleAdapter(titleFragmentData, true); - infoFragment.setAdapter(fragmentAdapter); - fragmentAdapter.setOnItemClickListener(new BaseAdapter.OnItemClickListener() { - - @Override - public void onItemClick(int position, String data) { - fragmentAdapter.setSelectedPosition(position); - showFragment(data); - } - }); - } - - private String getIPCIP() { - final String ip = AdasManager.getInstance().getIpcConnectedIp(); - final int port = AdasManager.getInstance().getIpcConnectedPort(); - String temp = ""; - if (!TextUtils.isEmpty(ip)) { - temp = ip + ":" + port; - } - return temp; - } - - public void showIPCIP() { - if (!BuildConfig.IS_CLIENT) { - ipcIp.setVisibility(View.VISIBLE); - ipcIp.setText("IPC IP:" + getIPCIP()); - } else { - ipcIp.setVisibility(View.GONE); - } - } - - private int getStatusColor(int connectStatus) { - int color; - switch (connectStatus) { - case IPC_CONNECTION_STATUS.CONNECTED: - color = R.color.connect_status_connected; - break; - default: - case IPC_CONNECTION_STATUS.DISCONNECTED: - color = R.color.connect_status_disconnected; - break; - case IPC_CONNECTION_STATUS.CONNECTING: - color = R.color.connect_status_connecting; - break; - case IPC_CONNECTION_STATUS.SEARCH_ADDRESS: - color = R.color.connect_status_search_address; - break; - case IPC_CONNECTION_STATUS.NOT_FOUND_ADDRESS: - color = R.color.connect_status_disconnecting; - break; - } - return color; - } - - private String onUpdateConnectStateView() { - String status; - switch (connectStatus) { - case IPC_CONNECTION_STATUS.CONNECTED: - status = "已连接"; - break; - default: - case IPC_CONNECTION_STATUS.DISCONNECTED: - status = "未连接"; - break; - case IPC_CONNECTION_STATUS.CONNECTING: - status = "连接中"; - break; - case IPC_CONNECTION_STATUS.SEARCH_ADDRESS: - status = "搜索IP"; - break; - case IPC_CONNECTION_STATUS.NOT_FOUND_ADDRESS: - status = "未找到"; - break; - } - Message msg = Message.obtain(); - msg.obj = new IPCConnectState(status, getStatusColor(connectStatus)); - msg.what = WHAT_IPC_CONNECT_STATE; - getHandler().sendMessage(msg); - return status; - } - - //计算耗时 -// AtomicInteger integer = new AtomicInteger(0); -// AtomicLong atomicLong = new AtomicLong(0); -// AtomicLong timeLong = new AtomicLong(0); -// -// private void calculateTimeConsuming(RawData raw) { -// int num = integer.incrementAndGet(); -// long time = timeLong.addAndGet(System.nanoTime() - raw.receiveTime); -// long size = atomicLong.addAndGet(raw.originalData.size()); -// if (num % 1000 == 0) { -// double m = time / 1000000.0 / num; -// Log.i("优化后", num + "条数据,平均解析速度=" + m + "毫秒,共接收=" + size + "字节"); -// } -// } - - @Override - public void onError(ProtocolStatus status, byte[] bytes) { - long errorDataReceiveTime = SystemClock.elapsedRealtime(); - if (errorDataUpdateTime == 0) { - errorDataUpdateTime = errorDataReceiveTime + 800; - } - if (errorDataReceiveTime > errorDataUpdateTime) { - errorDataUpdateTime = 0; - getHandler().sendEmptyMessage(WHAT_RECEIVE_ERROR_DATA_SHOW); - if (getHandler().hasMessages(WHAT_RECEIVE_ERROR_DATA_STOP)) { - getHandler().removeMessages(WHAT_RECEIVE_ERROR_DATA_STOP); - } - getHandler().sendEmptyMessageDelayed(WHAT_RECEIVE_ERROR_DATA_STOP, 1500); - } - ErrorData base = new ErrorData(status, bytes); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onAutopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) { - if (fromFragment instanceof VersionFragment) { - VersionFragment fragment = (VersionFragment) fromFragment; - fragment.autopilotAbility(isAutopilotAbility, unableAutopilotReason); - } - Log.i(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + unableAutopilotReason); - } - - @Override - public void onStartAutopilotFailed(MogoReportMsg.MogoReportMessage message) { - - } - - @Override - public void onAutopilotStatistics(AutopilotStatistics statistics) { - Log.i(TAG, "启动自动驾驶状态=" + statistics.status + " 用时=" + statistics.usedTime + " SetAutopilotModeReq=" + (statistics.req == null ? null : TextFormat.printer().escapingNonAscii(false).printToString(statistics.req)) + " failedMessage=" + (statistics.failedMessage == null ? null : TextFormat.printer().escapingNonAscii(false).printToString(statistics.failedMessage))); - } - - @Override - public void onTrajectory(MessagePad.Header header, MessagePad.Trajectory trajectory) { - ReceiveData base = new ReceiveData(header, trajectory, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onTrackedObjects(MessagePad.Header header, MessagePad.TrackedObjects trackedObjects) { - ReceiveData base = new ReceiveData(header, trackedObjects, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onGnssInfo(MessagePad.Header header, MessagePad.GnssInfo gnssInfo) { - ReceiveData base = new ReceiveData(header, gnssInfo, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onVehicleState(MessagePad.Header header, VehicleStateOuterClass.VehicleState vehicleState) { - App.INSTANCE.gear = vehicleState.getGear(); - ReceiveData base = new ReceiveData(header, vehicleState, sdf); - DataDistribution.getInstance().addData(base); - } - - - @Override - public void onChassisStates(MessagePad.Header header, ChassisStatesOuterClass.ChassisStates chassisStates) { - App.INSTANCE.gear = chassisStates.getGearSystemStates().getGearPosition(); - ReceiveData base = new ReceiveData(header, chassisStates, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onAutopilotState(MessagePad.Header header, MessagePad.AutopilotState autopilotState) { - ReceiveData base = new ReceiveData(header, autopilotState, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onReportMessage(MessagePad.Header header, MogoReportMsg.MogoReportMessage mogoReportMessage) { - ReceiveData base = new ReceiveData(header, mogoReportMessage, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onPerceptionTrafficLight(MessagePad.Header header, TrafficLightOuterClass.TrafficLights trafficLights) { - PerceptionTrafficLight base = new PerceptionTrafficLight(header, trafficLights, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onPredictionObstacleTrajectory(MessagePad.Header header, Prediction.mPredictionObjects predictionObjects) { - ReceiveData base = new ReceiveData(header, predictionObjects, sdf); - DataDistribution.getInstance().addData(base); - } - - -// @Override -// public void onPointCloud(MessagePad.Header header, MogoPointCloudOuterClass.MogoPointCloud pointCloud) { -// MyPointCloud base = new MyPointCloud(header, pointCloud, sdf); -// DataDistribution.getInstance().addData(base); -//// String data = PointCloudDecoder.decode(header, pointCloud); -//// Log.i("dddd", "data==" + data.length()); -//// Log.i("dddd", "data==" + data); -//// LogSave.getInstance().saveLog("转换数据=" + data); -// } - - // @Override -// public void onPointCloud(byte[] pointCloud) { -//// try { -//// MogoPointCloudOuterClass.MogoPointCloud pointCloud1 = MogoPointCloudOuterClass.MogoPointCloud.parseFrom(pointCloud); -//// HeaderOuterClass.Time time = pointCloud1.getHeader().getStamp(); -//// int s = time.getSec(); -//// int ns = time.getNsec(); -//// long t = (long) (s * 1000L) + (long) (ns / 1000000.d); -//// Log.i(TAG, "PointCloud=" + sdf.format(new Date(t))); -//// } catch (InvalidProtocolBufferException e) { -//// e.printStackTrace(); -//// } -//// try { -//// MogoPointCloudOuterClass.MogoPointCloud bean = MogoPointCloudOuterClass.MogoPointCloud.parseFrom(pointCloud); -//// Log.i("ddd","MogoPointCloud="+ TextFormat.printer().escapingNonAscii(false).printToString(bean)); -//// } catch (InvalidProtocolBufferException e) { -//// e.printStackTrace(); -//// } -// ReceiveBytesData base = new ReceiveBytesData(null, pointCloud, sdf); -// DataDistribution.getInstance().addData(base); -// } -// - @Override - public void onPointCloud(MessagePad.Header header, byte[] pointCloud) { - ReceiveBytesData base = new ReceiveBytesData(header, pointCloud, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onPlanningObjects(MessagePad.Header header, MessagePad.PlanningObjects planningObjects) { - ReceiveData base = new ReceiveData(header, planningObjects, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onBasicInfoReq(MessagePad.Header header, MessagePad.BasicInfoReq basicInfoReq) { - ReceiveData base = new ReceiveData(header, basicInfoReq, sdf); - DataDistribution.getInstance().addData(base); - AdasManager.getInstance().sendBasicInfoResp("", 0, com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.DEBUG); - runOnUiThread(new Runnable() { - @Override - public void run() { - showToastCenter("收到车机基础信息请求:" + base.toString()); - } - }); - } - - @Override - public void onCarConfigResp(MessagePad.Header header, MessagePad.CarConfigResp carConfigResp) { - ReceiveData base = new ReceiveData(header, carConfigResp, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onRecordResult(MessagePad.Header header, RecordPanelOuterClass.RecordPanel recordPanel) { - ReceiveData base = new ReceiveData(header, recordPanel, sdf); - DataDistribution.getInstance().addData(base); - recordKey = recordPanel.getKey(); - recordFileName = recordPanel.getFilename(); - } - - @Override - public void onGlobalPathResp(MessagePad.Header header, MessagePad.GlobalPathResp globalPathResp) { - ReceiveData base = new ReceiveData(header, globalPathResp, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onWarn(MessagePad.Header header, MessagePad.Warn warn) { - ReceiveData base = new ReceiveData(header, warn, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onArrivalNotification(MessagePad.Header header, MessagePad.ArrivalNotification arrivalNotification) { - ReceiveData base = new ReceiveData(header, arrivalNotification, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onStatusQueryResp(MessagePad.Header header, SystemStatusInfo.StatusInfo statusInfo) { - ReceiveData base = new ReceiveData(header, statusInfo, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onRecordDataConfigResp(MessagePad.Header header, MessagePad.RecordDataConfig config) { - ReceiveData base = new ReceiveData(header, config, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onPlanningActionMsg(MessagePad.Header header, MessagePad.PlanningActionMsg planningActionMsg) { - ReceiveData base = new ReceiveData(header, planningActionMsg, sdf); - DataDistribution.getInstance().addData(base); - } - - - @Override - public void onObuSpatWarning(MessagePad.Header header, ObuScene.SpatWarningData spatWarningData) { - ObuSpat base = new ObuSpat(header, spatWarningData, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onObuRsiWarning(MessagePad.Header header, ObuScene.RsiWarningData rsiWarningData) { - ObuRsi base = new ObuRsi(header, rsiWarningData, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onObuRsmWarning(MessagePad.Header header, ObuScene.RsmWarningData rsmWarningData) { - ObuRsm base = new ObuRsm(header, rsmWarningData, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onObuMapMath(MessagePad.Header header, ObuScene.MapMatchData mapMatchData) { - ObuMap base = new ObuMap(header, mapMatchData, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onFunctionStates(MessagePad.Header header, FunctionStates.FSMFunctionStates functionStates) { - ReceiveData base = new ReceiveData(header, functionStates, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onBackCameraVideo(@NotNull MessagePad.Header header, @NotNull byte[] data) { - if (fromFragment instanceof InfoFragment) { - InfoFragment fragment = (InfoFragment) fromFragment; - fragment.onBackCameraVideo(data); - } - ReceiveBytesData base = new ReceiveBytesData(header, data, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onSweeperTaskIndexData(MessagePad.Header header, RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex roboSweeperTaskIndex) { - ReceiveData base = new ReceiveData(header, roboSweeperTaskIndex, sdf); - DataDistribution.getInstance().addData(base); - } - - @Override - public void onBagManagerCmd(MessagePad.Header header, BagManagerOuterClass.BagManager bagManager) { - ReceiveData base = new ReceiveData(header, bagManager, sdf); - DataDistribution.getInstance().addData(base); - } - - private void initAdas() { - CupidLogUtils.e(TAG, "--->初始化"); - AdasOptions options; - if (BuildConfig.IS_CLIENT) { - /*—————————————作为乘客端———————————*/ - options = new AdasOptions.Builder().setClient(true).build(); - /*乘客端启动 注释掉 - NSDNettyManager.getInstance().searchAndConnectServer(this, "1234", new NettyClientListener() { - - @Override - public void onMessageResponseClient(MogoProtocolMsg msg, String sign, Channel channel) { - Log.i(TAG, "司机端连接成功=" + sign); - AdasManager.getInstance().decoderRaw(msg.getBody()); - } - - @Override - public void onClientStatusConnectChanged(int statusCode, String sign, Channel channel) { - if (statusCode == ConnectState.STATUS_CONNECT_SUCCESS) { - connectStatus = IPC_CONNECTION_STATUS.CONNECTED; - } else { - connectStatus = IPC_CONNECTION_STATUS.DISCONNECTED; - AdasManager.getInstance().stopDispatchHandler(); - } - getHandler().sendEmptyMessage(WHAT_DRIVER_IP); - onUpdateConnectStateView(); - } - });*/ - } else { - /*—————————————作为司机端———————————*/ - int mode = Constants.getIpcConnectionMode(this); -// Set messageTypes = new HashSet<>(); -// // 注释掉下面代码,默认开启点云订阅 -// messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD); -// SubscribeInterfaceOptions subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder() -// .setRole(com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.DEBUG) -// .setType(com.zhidao.support.adas.high.common.Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE) -// .setMessageTypes(messageTypes).build(); - switch (mode) { - default: - case AdasOptions.IPC_CONNECTION_MODE.FIXATION: - options = new AdasOptions.Builder().setClient(false).setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(this)).setIpcConnectionMode(mode).build(); -// options = new AdasOptions.Builder().setSubscribeInterfaceOptions(subscribeInterfaceOptions).setClient(false).setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(this)).setIpcConnectionMode(mode).build(); - break; - case AdasOptions.IPC_CONNECTION_MODE.ASSIGN: - options = new AdasOptions.Builder().setClient(false).setIpcAssignIP(Constants.getIPCIp(this)).setIpcConnectionMode(mode).build(); -// options = new AdasOptions.Builder().setSubscribeInterfaceOptions(subscribeInterfaceOptions).setClient(false).setIpcAssignIP(Constants.getIPCIp(this)).setIpcConnectionMode(mode).build(); - break; - } - - /*司机端启动 注释掉 - NSDNettyManager.getInstance().startNSDNettyServerWithSN(this, new NettyServerListener() { - @Override - public void onMessageResponseServer(MogoProtocolMsg msg, Channel channel) { - AdasManager.getInstance().sendWsMessage(msg.getBody()); - - } - - @Override - public void onStartServer() { - - } - - @Override - public void onStopServer() { - - } - - @Override - public void onChannelConnect(Channel channel) { - Log.i(TAG, "onChannelConnect channel=" + channel.id()); - } - - @Override - public void onChannelDisConnect(Channel channel) { - Log.i(TAG, "onChannelDisConnect channel=" + channel.id()); - } - }, "1234567");*/ - } - options.setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); - AdasManager.getInstance().create(options, this); - AdasManager.getInstance().setOnAdasListener(this); - /*两端数据转发 注释掉 - AdasManager.getInstance().setOnMultiDeviceListener(new OnMultiDeviceListener() { - @Override - public void onForwardingDriverIPCMessage(byte[] bytes) { - // 发送数据给乘客端 - if (NSDNettyManager.getInstance().isServerStart()) { - NSDNettyManager.getInstance().sendMsgToAllClients(new MogoProtocolMsg(NORMAL_DATA, bytes.length, bytes)); - } else { -// Log.d("dddd", "司机端Server未启动!"); - } - } - - @Override - public void onForwardingPassengerIPCMessage(byte[] bytes) { - NSDNettyManager.getInstance() - .sendMogoProtocolMsgToServer(new MogoProtocolMsg(NORMAL_DATA, bytes.length, bytes), null); - Log.i(TAG, "乘客屏发送数据=" + ByteUtil.byteArrToHex(bytes)); - } - });*/ - } - - - @Override - public void onConnectionIPCStatus(int ipcConnectionStatus, String reason) { - if (fromFragment != null) { - fromFragment.updateConnectStatus(ipcConnectionStatus); - } -// Log.i(TAG, "连接状态=" + (reason == null ? "主动断开连接" : reason)); - String time = sdf.format(new Date()); - ConnectStatusSave.getInstance().saveLog(time + " ipcConnectionStatus=" + ipcConnectionStatus + " reason=" + reason); - connectStatusList.add(0, new IPCConnectState(reason == null ? "主动断开连接" : reason, getStatusColor(ipcConnectionStatus))); - if (connectStatusList.size() > 100) { - connectStatusList.remove(connectStatusList.size() - 1); - } - connectStatus = ipcConnectionStatus; - String status = onUpdateConnectStateView(); - if (connectStatus == IPC_CONNECTION_STATUS.CONNECTED) { - DataDistribution.getInstance().clearCount(); - getHandler().sendEmptyMessage(WHAT_IPC_IP); - String tem = getIPCIP(); - if (!TextUtils.isEmpty(tem)) { - List ips = Constants.getIpcUsedIps(this); - Constants.addIpcUsedIps(this, ips, tem); - } - } else if (connectStatus == IPC_CONNECTION_STATUS.DISCONNECTED) { - getHandler().sendEmptyMessage(WHAT_IPC_IP); - } - -// LogSave.getInstance().saveLog("连接状态", status); -// CupidLogUtils.i(TAG, "connectStatus=" + status); - } - - @Override - public void onCompatibility(VersionCompatibility versionCompatibility) { - showToastCenter("所连工控机:\n" + (versionCompatibility == null ? "未连接" : versionCompatibility.toString()), Toast.LENGTH_LONG); - } - - private void showLocalIP() { - showToastCenter("已刷新本机IP"); - localIp.setText("本机IP:" + getIpAddressString()); - } - - private String getIpAddressString() { - try { - for (Enumeration enNetI = NetworkInterface - .getNetworkInterfaces(); enNetI.hasMoreElements(); ) { - NetworkInterface netI = enNetI.nextElement(); - for (Enumeration enumIpAddr = netI - .getInetAddresses(); enumIpAddr.hasMoreElements(); ) { - InetAddress inetAddress = enumIpAddr.nextElement(); - if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) { - return inetAddress.getHostAddress(); - } - } - } - } catch (SocketException e) { - e.printStackTrace(); - } - return "127.0.0.1"; - } - - /** - * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android - * - * @param context - * @return 平板返回 True,手机返回 False - */ - public static boolean isPad(Context context) { - return (context.getResources().getConfiguration().screenLayout - & Configuration.SCREENLAYOUT_SIZE_MASK) - >= Configuration.SCREENLAYOUT_SIZE_LARGE; - } - - private void showFragment(String title) { - BaseFragment to = (BaseFragment) manager.findFragmentByTag(title); - if (to == null) { - if (Constants.TITLE.RECEIVE_CAR_CONFIG_RESP.equals(title)) { - to = new VersionFragment(Constants.TITLE.TITLE_CAR_CONFIG_RESP); - } else { - to = new InfoFragment(title); - } - } - FragmentTransaction transaction = manager.beginTransaction(); - if (fromFragment != null) { - transaction.hide(fromFragment); - } - if (!to.isAdded()) { - transaction.add(R.id.fl_info, to, title).commit(); - } else { - transaction.show(to).commit(); - } - if (Constants.TITLE.RECEIVE_CAR_CONFIG_RESP.equals(title)) { - AdasManager.getInstance().sendCarConfigReq(); - } else if (Constants.TITLE.RECEIVE_CHASSIS_STATES.equals(title)) { - InfoFragment fragment = (InfoFragment) to; - int type = AdasManager.getInstance().getUsedChassisType(); - String source; - if (type == com.zhidao.support.adas.high.common.Constants.CHASSIS_TYPE.NEW_CHASSIS) { - source = "ChassisStates"; - } else if (type == com.zhidao.support.adas.high.common.Constants.CHASSIS_TYPE.OLD_CHASSIS) { - source = "VehicleState"; - } else { - source = "Unknown"; - } - fragment.setTitle(Constants.TITLE.RECEIVE_CHASSIS_STATES + "\t来源:" + source); - } - fromFragment = to; - } - - @Override - public void onItemClick(int position, String data) { - if (connectStatus != IPC_CONNECTION_STATUS.CONNECTED) { - String msg = "未连接工控机"; - if (BuildConfig.IS_CLIENT) { - msg = "未连接司机端"; - } - showToastCenter(msg); -// return; - } - switch (data) { - case Constants.TITLE.SEND_SET_AUTOPILOT_MODE_REQ: -// MessagePad.Line.Builder line = MessagePad.Line.newBuilder(); -// line.setLineId(10); -// line.setTrajUrl("我是TrajUrl"); -// line.setTrajMd5("我是TrajMd5"); -// line.setStopUrl("我是StopUrl"); -// line.setStopMd5("我是StopMd5"); -// line.setTimestamp(60); -// line.setVehicleModel("我是VehicleModel"); -// AdasManager.getInstance().sendTrajectoryDownloadReq(line.build()); - if (autoPilotModeDialog == null) { - autoPilotModeDialog = new AutoPilotModeDialog(this); - } - if (!autoPilotModeDialog.isShowing()) { - autoPilotModeDialog.show(); - } - break; - case Constants.TITLE.SEND_GLOBAL_PATH_REQ: - //自动驾驶路径查询 - AdasManager.getInstance().sendGlobalPathReq(); - break; - case Constants.TITLE.SEND_SPECIAL_VEHICLE_TASK_CMD: -// AdasManager.getInstance().sendRoboBusJinlvM1AirConditionerCmd(1,2,3,4); -// AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(5,6); -// AdasManager.getInstance().sendRoboBusJinlvM1MainLampCmd(7,8); -// AdasManager.getInstance().sendRoboBusJinlvM1SmallLampCmd(9); -// AdasManager.getInstance().sendRoboBusJinlvM1FrontDoorCmd(10); - - - if (specialVehicleBeanList == null) { - specialVehicleBeanList = SpecialVehicleBean.init(); - } - if (specialVehicleDialog == null) { - specialVehicleDialog = new SpecialVehicleDialog(this, specialVehicleBeanList); - } - if (!specialVehicleDialog.isShowing()) { - specialVehicleDialog.show(); - } - break; - case Constants.TITLE.SEND_STATUS_QUERY_REQ: - AdasManager.getInstance().sendStatusQueryReq(); - break; - case Constants.TITLE.SEND_BASIC_INFO_RESP: - //发送sn - //速度设置 - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("发送SN"); - View view = getLayoutInflater().inflate(R.layout.dialog_sn, null); - final EditText et = view.findViewById(R.id.et); - final EditText ev = view.findViewById(R.id.ev); - final EditText role = view.findViewById(R.id.role); - builder.setView(view);// - builder.setCancelable(false);// - builder.setPositiveButton("发送", null); - //设置反面按钮,并做事件处理 - builder.setNegativeButton("取消", null); - AlertDialog alertDialog = builder.show();//显示Dialog对话框 - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Editable editable = et.getText(); - if (TextUtils.isEmpty(editable)) { - // 条件不成立不能关闭 AlertDialog 窗口 - Toast.makeText(MainActivity.this, "请输入SN", Toast.LENGTH_SHORT).show(); - return; - } - int evInt = 0; - Editable evEd = ev.getText(); - if (!TextUtils.isEmpty(evEd)) { - evInt = Integer.parseInt(evEd.toString().trim()); - } - int roleInt = com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.DEBUG; - Editable roleEd = role.getText(); - if (!TextUtils.isEmpty(roleEd)) { - roleInt = Integer.parseInt(roleEd.toString().trim()); - } - AdasManager.getInstance().sendBasicInfoResp(editable.toString().trim(), evInt, roleInt); - alertDialog.dismiss(); - } - }); - break; - case Constants.TITLE.SEND_RECORD_DATA_5: - //数据采集5秒 - boolean b = AdasManager.getInstance().startRecordPackage(1, 5, 1, 2); - CupidLogUtils.w(TAG, "AutopilotRecord===>send:" + b); - break; - case Constants.TITLE.SEND_RECORD_DATA_START: - //数据采集start - boolean bStart = AdasManager.getInstance().startRecordPackage(1, 1); - CupidLogUtils.w(TAG, "AutopilotRecord===>send:" + bStart); - break; - case Constants.TITLE.SEND_RECORD_DATA_END: - //数据采集end - boolean bEnd = AdasManager.getInstance().stopRecordPackage(1, 1); - CupidLogUtils.w(TAG, "AutopilotRecord===>send:" + bEnd); - break; - case Constants.TITLE.SEND_TRAFFIC_LIGHT_DATA: - //发送信号灯 - MessagePad.TrafficLightStatus left = MessagePad.TrafficLightStatus.newBuilder() - .setPhaseNo("1") - .setColor("R") - .setRemain(249) - .build(); - MessagePad.TrafficLightStatus mid = MessagePad.TrafficLightStatus.newBuilder() - .setPhaseNo("2") - .setColor("G") - .setRemain(199) - .build(); - MessagePad.TrafficLightStatus right = MessagePad.TrafficLightStatus.newBuilder() - .setPhaseNo("3") - .setColor("G") - .setRemain(199) - .build(); - MessagePad.TrafficLightDetail detail = MessagePad.TrafficLightDetail.newBuilder() - .setLeft(left) - .setMid(mid) - .setRight(right) - .build(); - AdasManager.getInstance().sendTrafficLightData("10038", 26.848153, 112.574883, "180.0", "SN", 100413, -4, 201, 0, detail, System.currentTimeMillis()); - break; - case Constants.TITLE.SEND_SET_AUTOPILOT_SPEED_REQ: - //速度设置 - AlertDialog.Builder builder1 = new AlertDialog.Builder(this); - builder1.setTitle("自动驾驶限速"); - View view1 = getLayoutInflater().inflate(R.layout.dialog_speed, null); - final EditText et1 = (EditText) view1.findViewById(R.id.et); - builder1.setView(view1);// - builder1.setCancelable(false);// - builder1.setPositiveButton("设置", null); - //设置反面按钮,并做事件处理 - builder1.setNegativeButton("取消", null); - AlertDialog alertDialog1 = builder1.show();//显示Dialog对话框 - alertDialog1.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Editable editable = et1.getText(); - if (TextUtils.isEmpty(editable)) { - // 条件不成立不能关闭 AlertDialog 窗口 - Toast.makeText(MainActivity.this, "请输入速度", Toast.LENGTH_SHORT).show(); - return; - } - String temp = et1.getText().toString().trim(); - double speed = Double.parseDouble(temp) / 3.6; - AdasManager.getInstance().sendAutopilotSpeedReq(speed); - alertDialog1.dismiss(); - } - }); - break; - case Constants.TITLE.SEND_SYSTEM_CMD_REQ_REBOOT: - //重启所有节点 - AdasManager.getInstance().sendSystemCmdReq(MessagePad.SystemCmdType.SYSTEMCMD_REBOOT); - break; - - case Constants.TITLE.SEND_RECORD_CAUSE: - //采集类型 - AdasManager.getInstance().sendRecordCause(recordKey, recordFileName, "1", "变道有干扰"); - break; - case Constants.TITLE.SEND_SET_DEMO_MODE_REQ_OPEN: - //打开演示模式 - AdasManager.getInstance().sendDemoModeReq(1); - break; - case Constants.TITLE.SEND_SET_DEMO_MODE_REQ_CLOSE: - //关闭演示模式 - AdasManager.getInstance().sendDemoModeReq(0); - break; - case Constants.TITLE.SEND_SET_RAIN_MODE_REQ_OPEN: - //打开雨天模式 - AdasManager.getInstance().sendRainModeReq(1); - break; - case Constants.TITLE.SEND_SET_RAIN_MODE_REQ_CLOSE: - //关闭雨天模式 - AdasManager.getInstance().sendRainModeReq(0); - break; - case Constants.TITLE.SEND_RECORD_DATA_CONFIG_RESP: - //数据采集配置 - showRecordDataConfigRespDialog(); - break; - case Constants.TITLE.SEND_DETOURING_OPEN: - //绕障类功能开 - AdasManager.getInstance().sendDetouring(1); - break; - case Constants.TITLE.SEND_DETOURING_CLOSE: - //绕障类功能关 - AdasManager.getInstance().sendDetouring(0); - break; - case Constants.TITLE.SEND_DETOURING_SPEED: - //绕障速度设置 - showDetouringSpeedDialog(); - break; - case Constants.TITLE.SEND_TRIP_INFO: - //行程信息 - AdasManager.getInstance().sendTripInfoReq(1, "x10", "x11", "x12", false); - AdasManager.getInstance().sendTripInfoReq(2, "x13", "x14", "x15", true); - AdasManager.getInstance().sendTripInfoReq(3, "x16", "x17", "x18", false); - AdasManager.getInstance().sendTripInfoReq(4, "x19", "x20", "x21", true); - AdasManager.getInstance().sendTripInfoReq(5, "x22", "x23", "x24", false); - break; - case Constants.TITLE.SEND_PLANNING_CMD: - AdasManager.getInstance().sendPlanningCmd(1); - AdasManager.getInstance().sendPlanningCmd(2); - break; - } - } - - private void showDetouringSpeedDialog() { - AlertDialog.Builder builder1 = new AlertDialog.Builder(this); - builder1.setTitle("绕障速度"); - View view1 = getLayoutInflater().inflate(R.layout.dialog_detouring_speed, null); - final EditText et1 = (EditText) view1.findViewById(R.id.et); - builder1.setView(view1);// - builder1.setCancelable(false);// - builder1.setPositiveButton("设置", null); - //设置反面按钮,并做事件处理 - builder1.setNegativeButton("取消", null); - AlertDialog alertDialog1 = builder1.show();//显示Dialog对话框 - alertDialog1.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Editable editable = et1.getText(); - if (TextUtils.isEmpty(editable)) { - // 条件不成立不能关闭 AlertDialog 窗口 - Toast.makeText(MainActivity.this, "请输入速度", Toast.LENGTH_SHORT).show(); - return; - } - String temp = et1.getText().toString().trim(); - double speed = Double.parseDouble(temp); - AdasManager.getInstance().sendDetouringSpeed(speed); - alertDialog1.dismiss(); - } - }); - } - - private void showRecordDataConfigRespDialog() { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(Constants.TITLE.SEND_RECORD_DATA_CONFIG_RESP); - View view = getLayoutInflater().inflate(R.layout.dialog_record_data_config_resp, null); - final EditText reqTypeView = view.findViewById(R.id.reqType); - final EditText recordTypeView = view.findViewById(R.id.recordType); - final EditText topicsNeedToCacheView = view.findViewById(R.id.topicsNeedToCache); - builder.setView(view);// - builder.setCancelable(false);// - builder.setPositiveButton("发送", null); - //设置反面按钮,并做事件处理 - builder.setNegativeButton("取消", null); - AlertDialog alertDialog = builder.show();//显示Dialog对话框 - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Editable editable = reqTypeView.getText(); - if (TextUtils.isEmpty(editable)) { - // 条件不成立不能关闭 AlertDialog 窗口 - Toast.makeText(MainActivity.this, "请输入ReqType", Toast.LENGTH_SHORT).show(); - return; - } - int reqType = Integer.parseInt(editable.toString().trim()); - editable = recordTypeView.getText(); - if (TextUtils.isEmpty(editable)) { - Toast.makeText(MainActivity.this, "请输入RecordType", Toast.LENGTH_SHORT).show(); - return; - } - int recordType = Integer.parseInt(editable.toString().trim()); - List topicsNeedToCache = null; - editable = topicsNeedToCacheView.getText(); - if (!TextUtils.isEmpty(editable)) { - String cache = editable.toString().trim(); - cache = cache.replace(",", " ").replace(",", " "); - String[] caches = cache.split(" "); - topicsNeedToCache = Arrays.asList(caches); - } - AdasManager.getInstance().sendRecordDataConfigReq(reqType, recordType, topicsNeedToCache); - alertDialog.dismiss(); - } - }); - - } - - - @Override - protected void handleMessage(Message msg) { - super.handleMessage(msg); - switch (msg.what) { - case WHAT_IPC_IP: - showIPCIP(); - if (specialVehicleBeanList != null && !specialVehicleBeanList.isEmpty()) { - for (SpecialVehicleBean bean : specialVehicleBeanList) { - bean.dismissFloat(); - } - specialVehicleBeanList = null; - } - break; - case WHAT_DRIVER_IP: - ipcIp.setVisibility(View.VISIBLE); -// ipcIp.setText("司机IP:" + NSDNettyManager.getInstance().getConnServerIp()); - break; - case WHAT_IPC_CONNECT_STATE: - if (floatWindow != null) { - floatWindow.refreshView(); - } - IPCConnectState status = (IPCConnectState) msg.obj; - tvConnectState.setText(status.status); - tvConnectState.setTextColor(getResources().getColor(status.color)); - break; - case WHAT_RECEIVE_ERROR_DATA_SHOW: - title.setText(R.string.have_error_data); - title.setTextColor(getColor(android.R.color.holo_red_light)); - title.setVisibility(View.VISIBLE); - getHandler().sendEmptyMessageDelayed(WHAT_RECEIVE_ERROR_DATA_HINT, 500); - break; - case WHAT_RECEIVE_ERROR_DATA_HINT: - title.setVisibility(View.INVISIBLE); - break; - case WHAT_RECEIVE_ERROR_DATA_STOP: - title.setText(R.string.app_name); - title.setTextColor(getColor(R.color.colorWhile)); - title.setVisibility(View.VISIBLE); - errorDataUpdateTime = 0; - break; - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java deleted file mode 100644 index a6420d2506..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java +++ /dev/null @@ -1,544 +0,0 @@ -package com.zhidao.adas.client.ui; - -import android.content.Context; -import android.os.Bundle; -import android.text.TextUtils; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.EditText; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.Spinner; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.SimpleItemAnimator; - -import com.zhidao.adas.client.App; -import com.zhidao.adas.client.BuildConfig; -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.ConfigAdapter; -import com.zhidao.adas.client.adapter.InterfaceAdapter; -import com.zhidao.adas.client.base.BaseFragment; -import com.zhidao.adas.client.bean.Config; -import com.zhidao.adas.client.bean.InterfaceModel; -import com.zhidao.adas.client.utils.RandomColor; -import com.zhidao.support.adas.high.AdasManager; -import com.zhidao.support.adas.high.bean.VersionCompatibility; -import com.zhidao.support.adas.high.common.Constants; -import com.zhidao.support.adas.high.common.CupidLogUtils; -import com.zhidao.support.adas.high.common.MessageType; -import com.zhidao.support.adas.high.common.autopilot.ability.AutopilotAbilityManager; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Set; - -import chassis.Chassis; -import mogo.telematics.pad.MessagePad; - -/** - * @des 升级页面 - */ -public class VersionFragment extends BaseFragment { - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS ", Locale.getDefault()); - private TextView ipsView; - private EditText ipView; - private RecyclerView recyclerView; - private RecyclerView rec_registered; - private RecyclerView rec_unregistered; - private CheckBox registered_check_all; - private CheckBox unregistered_check_all; - private TextView hint_registered; - private TextView hint_unregistered; - private TextView can; - private TextView gear_influence; - private TextView gear; - private TextView title_gear; - private RadioButton rb_taxi; - private RadioGroup rg; - - private ConfigAdapter adapter; - private InterfaceAdapter unregisteredAdapter; - private InterfaceAdapter registeredAdapter; - - private int role = Constants.TERMINAL_ROLE.DEBUG;//角色 默认调试屏 - - public VersionFragment() { - } - - - public VersionFragment(String title) { - super(title); - } - - - @Override - public void onAttach(@NonNull Context context) { - super.onAttach(context); - } - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_version, container, false); - initView(view); - return view; - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - showIps(); - showVersion(); - } - - - private void showIps() { - HashSet ips = AdasManager.getInstance().getIPCFixationIPList(getActivity()); - if (ips != null && !ips.isEmpty()) { - StringBuilder builder = new StringBuilder(); - int i = 0; - for (String ip : ips) { - i++; - builder.append(ip); - if (i % 4 == 0) { - builder.append("\n"); - } else { - builder.append("\t\t\t\t"); - } - } - ipsView.setText(builder.toString()); - } - - } - - - private void initView(View view) { - TextView tvTitle = view.findViewById(R.id.tv_title); - Button btn1 = view.findViewById(R.id.btn1); - ipView = view.findViewById(R.id.ip); - Button btn2 = view.findViewById(R.id.btn2); - ipsView = view.findViewById(R.id.ips_view); - recyclerView = view.findViewById(R.id.config_list); - rb_taxi = view.findViewById(R.id.rb_taxi); - can = view.findViewById(R.id.can); - gear_influence = view.findViewById(R.id.gear_influence); - gear = view.findViewById(R.id.gear); - title_gear = view.findViewById(R.id.title_gear); - rg = view.findViewById(R.id.rg); - initFragmentRecyclerView(); - CupidLogUtils.w("InfoFragment===>" + title); - tvTitle.setText(title); - tvTitle.setGravity(Gravity.CENTER); - initRegistrationView(view); - btn1.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String ip = ipView.getText().toString().trim(); - if (TextUtils.isEmpty(ip)) { - Toast.makeText(getContext(), "请输入IP", Toast.LENGTH_SHORT).show(); - return; - } - if (AdasManager.getInstance().addIPCFixationIP(getContext(), ip)) { - ipView.setText(""); - showIps(); - } else { - Toast.makeText(getContext(), "IP已存在", Toast.LENGTH_SHORT).show(); - } - } - }); - btn2.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String ip = ipView.getText().toString().trim(); - if (TextUtils.isEmpty(ip)) { - Toast.makeText(getContext(), "请输入IP", Toast.LENGTH_SHORT).show(); - return; - } - if (AdasManager.getInstance().delIPCFixationIP(getContext(), ip)) { - ipView.setText(""); - showIps(); - } else { - Toast.makeText(getContext(), "IP不存在", Toast.LENGTH_SHORT).show(); - } - } - }); - if (BuildConfig.IS_CLIENT) { - view.findViewById(R.id.ipc_ip_config).setVisibility(View.GONE); - view.findViewById(R.id.line1).setVisibility(View.GONE); - tvTitle.setText("版本"); - } - rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - if (checkedId == R.id.rb_taxi) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); - gear("TAXI", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); - } else if (checkedId == R.id.rb_bus) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS); - gear("BUS", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS); - } else if (checkedId == R.id.rb_sweeper) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER); - gear("SWEEPER", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER); - } else if (checkedId == R.id.rb_m1) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1); - gear("M1", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1); - } else if (checkedId == R.id.rb_m2) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2); - gear("M1", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2); - } else if (checkedId == R.id.rb_van) { - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN); - gear("VAN", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN); - } - } - }); - gear("TAXI", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); - } - - private void gear(String car, Set unableLaunchAutopilotGear) { - title_gear.setText(car + "不能启动自动驾驶的档位:"); - String gear; - if (unableLaunchAutopilotGear == null) { - gear = "无限制"; - } else { - gear = Arrays.toString(unableLaunchAutopilotGear.toArray()); - } - this.gear.setText(gear); - } - - //根据连接状态更新数据 - @Override - public void onConnectionIPCStatus(int ipcConnectionStatus) { - super.onConnectionIPCStatus(ipcConnectionStatus); - if (ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.DISCONNECTED || ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) { - showVersion(); - initRegistrationData(); - if (ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.DISCONNECTED) { - clearRegistrationViewState(); - } - } - } - - public void showVersion() { - List list = new ArrayList<>(); - if (!BuildConfig.IS_CLIENT) { - String ip = AdasManager.getInstance().getIpcConnectedIp(); - String temp = ""; - if (!TextUtils.isEmpty(ip)) { - temp = ip + ":" + AdasManager.getInstance().getIpcConnectedPort(); - } - MessagePad.CarConfigResp adasConfig = AdasManager.getInstance().getCarConfig(); - list.add(new Config("更新时间:", AdasManager.getInstance().getIpcConnectionStatus() == Constants.IPC_CONNECTION_STATUS.CONNECTED ? sdf.format(new Date()) : null)); - list.add(new Config("工控机IP:", temp)); - list.add(new Config("工控机版本:", adasConfig == null ? null : adasConfig.getDockVersion())); - list.add(new Config("车牌号:", adasConfig == null ? null : adasConfig.getPlateNumber())); - list.add(new Config("MAC地址:", adasConfig == null ? null : adasConfig.getMacAddress())); - list.add(new Config("自动驾驶限速:", adasConfig == null ? null : adasConfig.getSpeedLimit() + "m/s")); - list.add(new Config("最大自动驾驶限速:", adasConfig == null ? null : adasConfig.getMaxSpeedLimit() + "m/s")); - list.add(new Config("最小加速度:", adasConfig == null ? null : adasConfig.getMinAcceleration() + "m/s²")); - list.add(new Config("最大加速度:", adasConfig == null ? null : adasConfig.getMaxAcceleration() + "m/s²")); - list.add(new Config("IPC通信协议版本:", adasConfig == null ? null : String.valueOf(adasConfig.getProtocolVersionValue()))); - list.add(new Config("APP通信协议版本:", String.valueOf(AdasManager.getInstance().getProtocolVersion()))); - VersionCompatibility versionCompatibility = AdasManager.getInstance().getVersionCompatibility(); - list.add(new Config("版本兼容性:", versionCompatibility == null ? null : versionCompatibility.toString())); - } - - list.add(new Config("ADAS LIB版本:", AdasManager.getInstance().getAdasVersion())); - list.add(new Config("APP版本:", BuildConfig.VERSION_NAME)); - list.add(new Config("APP构建时间:", BuildConfig.BUILD_TIME)); - list.add(new Config("GIT分支:", BuildConfig.GIT_BRANCH_NAME)); - list.add(new Config("APK名称:", BuildConfig.APK_NAME)); - adapter.setData(list); - } - - private String gear() { - StringBuilder builder = new StringBuilder(); - Chassis.GearPosition gear = App.INSTANCE.gear; - if (gear != null) { - boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); - builder.append(" 当前档位:").append(gear.name()); - builder.append(" 是否可以启动自驾:").append(b); - } - return builder.toString(); - } - - private String getAutopilotAbilityConfig(String value) { - return value; - } - - public void autopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) { - if (getActivity() != null) - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - can.setTextColor(getResources().getColor(RandomColor.randomColor())); - can.setText(getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); - gear_influence.setTextColor(getResources().getColor(RandomColor.randomColor())); - gear_influence.setText(gear()); - } - }); - - - } - - private void updateRefreshConfig(List list, Config temp) { - int index = list.indexOf(temp); - if (index < 0) { - list.add(temp); - if (getActivity() != null) - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - adapter.notifyItemInserted(list.size() - 1); - } - }); - } else { - Config config = list.get(index); - config.cover(temp); - config.color = RandomColor.randomColor(); - if (getActivity() != null) - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - adapter.notifyItemChanged(index); - } - }); - } - } - - @Override - protected void onRefreshView() { - showVersion(); - } - - private void initFragmentRecyclerView() { - //创建默认的线性LayoutManager 横向的GridLayoutManager - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); - linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); - recyclerView.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - recyclerView.setHasFixedSize(true); - //解决局部刷新闪屏问题 - SimpleItemAnimator animator = (SimpleItemAnimator) recyclerView.getItemAnimator(); - if (animator != null) - animator.setSupportsChangeAnimations(false); - //创建并设置Adapter - adapter = new ConfigAdapter(); - recyclerView.setAdapter(adapter); - } - - - private void initRegistrationView(View view) { - recyclerView = view.findViewById(R.id.config_list); - rec_registered = view.findViewById(R.id.rec_registered); - rec_unregistered = view.findViewById(R.id.rec_unregistered); - registered_check_all = view.findViewById(R.id.registered_check_all); - unregistered_check_all = view.findViewById(R.id.unregistered_check_all); - hint_unregistered = view.findViewById(R.id.hint_unregistered); - hint_registered = view.findViewById(R.id.hint_registered); - Button update = view.findViewById(R.id.update); - initFragmentRecyclerView(); - initRegisteredRecyclerView(); - initUnregisteredRecyclerView(); - initSpinner(view); - registered_check_all.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (buttonView.isPressed()) { - registeredAdapter.setCheckAll(isChecked); - unregisteredAdapter.setCheckAll(false); - unregisteredAdapter.setEnabled(!isChecked); - unregistered_check_all.setEnabled(!isChecked); - } - } - }); - registeredAdapter.setListener(new InterfaceAdapter.OnInterfaceAdapterListener() { - @Override - public void onCheckAll(boolean isCheckAll) { - registered_check_all.setChecked(isCheckAll); - } - - @Override - public void onCheckNum(int checkNum) { - boolean isEnable = checkNum == 0; - unregisteredAdapter.setEnabled(isEnable); - unregistered_check_all.setEnabled(isEnable); - } - }); - unregistered_check_all.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (buttonView.isPressed()) { - unregisteredAdapter.setCheckAll(isChecked); - registeredAdapter.setCheckAll(false); - registeredAdapter.setEnabled(!isChecked); - registered_check_all.setEnabled(!isChecked); - } - } - }); - unregisteredAdapter.setListener(new InterfaceAdapter.OnInterfaceAdapterListener() { - @Override - public void onCheckAll(boolean isCheckAll) { - unregistered_check_all.setChecked(isCheckAll); - } - - @Override - public void onCheckNum(int checkNum) { - boolean isEnable = checkNum == 0; - registeredAdapter.setEnabled(isEnable); - registered_check_all.setEnabled(isEnable); - } - }); - update.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - update(); - } - }); - initRegistrationData(); - } - - - private void update() { - if (registeredAdapter.getCheckNum() == 0 && unregisteredAdapter.getCheckNum() == 0) { - Toast.makeText(getContext(), "请选择后在更新", Toast.LENGTH_SHORT).show(); - return; - } - Set set; - if (registeredAdapter.getCheckNum() == 0) { - //注册 - set = unregisteredAdapter.getCheckedModel(); - if (set == null || set.isEmpty()) { - Toast.makeText(getContext(), "请选择要注册的接口", Toast.LENGTH_SHORT).show(); - return; - } - if (set.size() == 1) { - AdasManager.getInstance().subscribeInterface(role, Constants.SUBSCRIBE_TYPE.SUBSCRIBE, set.iterator().next()); - } else { - AdasManager.getInstance().subscribeInterface(role, Constants.SUBSCRIBE_TYPE.SUBSCRIBE, set); - } - } else { - //取消注册 - set = registeredAdapter.getCheckedModel(); - if (set == null || set.isEmpty()) { - Toast.makeText(getContext(), "请选择要取消注册的接口", Toast.LENGTH_SHORT).show(); - return; - } - if (set.size() == 1) { - AdasManager.getInstance().subscribeInterface(role, Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE, set.iterator().next()); - } else { - AdasManager.getInstance().subscribeInterface(role, Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE, set); - } - } - clearRegistrationViewState(); - initRegistrationData(); - - } - - private void clearRegistrationViewState() { - registered_check_all.setChecked(false); - unregistered_check_all.setChecked(false); - registered_check_all.setEnabled(true); - unregistered_check_all.setEnabled(true); - if (registeredAdapter != null) - registeredAdapter.notifyDataSetChanged(); - if (unregisteredAdapter != null) - unregisteredAdapter.notifyDataSetChanged(); - } - - private void initRegistrationData() { - //初始化数据 - Set set = AdasManager.getInstance().getSubscribedInterface(); - List registeredList = new ArrayList<>(); - List unregisteredList = new ArrayList<>(); - if (set != null && !set.isEmpty()) { - registered_check_all.setVisibility(View.VISIBLE); - for (MessageType messageType : set) { - registeredList.add(new InterfaceModel(messageType)); - } - } else { - registered_check_all.setVisibility(View.INVISIBLE); - } - set = AdasManager.getInstance().getUnsubscribedInterface(); - if (set != null && !set.isEmpty()) { - unregistered_check_all.setVisibility(View.VISIBLE); - for (MessageType messageType : set) { - unregisteredList.add(new InterfaceModel(messageType)); - } - } else { - unregistered_check_all.setVisibility(View.INVISIBLE); - } - registeredAdapter.setData(registeredList, 0); - unregisteredAdapter.setData(unregisteredList, 0); - hint_registered.setText("已注册接口(" + registeredAdapter.getItemCount() + ")"); - hint_unregistered.setText("未注册接口(" + unregisteredAdapter.getItemCount() + ")"); - } - - - private void initRegisteredRecyclerView() { - //创建默认的线性LayoutManager 横向的GridLayoutManager - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); - linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); - rec_registered.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - rec_registered.setHasFixedSize(false); - rec_registered.setNestedScrollingEnabled(false); - registeredAdapter = new InterfaceAdapter(); - rec_registered.setAdapter(registeredAdapter); - } - - private void initUnregisteredRecyclerView() { - //创建默认的线性LayoutManager 横向的GridLayoutManager - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); - linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); - rec_unregistered.setLayoutManager(linearLayoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - rec_unregistered.setHasFixedSize(false); - rec_unregistered.setNestedScrollingEnabled(false); - unregisteredAdapter = new InterfaceAdapter(); - rec_unregistered.setAdapter(unregisteredAdapter); - } - - - private void initSpinner(View view) { - String[] s = {"司机", "乘客", "调试"}; - ArrayAdapter dataAdapter = new ArrayAdapter(getContext(), android.R.layout.simple_spinner_item, s); - dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - Spinner sp = view.findViewById(R.id.spinner); - sp.setAdapter(dataAdapter); - sp.setSelection(2); - sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - role = position; - } - - @Override - public void onNothingSelected(AdapterView parent) { - - } - }); - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleDialog.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleDialog.java deleted file mode 100644 index 6f5d1761c8..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleDialog.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.zhidao.adas.client.ui.special; - -import android.app.Dialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.SimpleItemAnimator; - -import com.zhidao.adas.client.App; -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.adapter.SpecialVehicleAdapter; -import com.zhidao.adas.client.base.BaseAdapter; -import com.zhidao.adas.client.bean.SpecialVehicleBean; -import com.zhidao.adas.client.ui.AutopilotConfigActivity; - -import java.util.List; - - -/** - * 特种车辆 - */ -public class SpecialVehicleDialog extends Dialog { - private RecyclerView recyclerView; - private List list; - - - public SpecialVehicleDialog(@NonNull Context context, List list) { - super(context, R.style.CustomDialog); - this.list = list; - } - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.dialog_autopilot_mode); - //初始化界面控件 - initView(); - //初始化界面控件的事件 - initListener(); - initBtnRecyclerView(); - setOnDismissListener(new OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - } - }); - - } - - @Override - public void show() { - super.show(); - } - - - private void initBtnRecyclerView() { - //初始info-recycle - LinearLayoutManager nodLinearLayoutManage = new LinearLayoutManager(getContext()); - nodLinearLayoutManage.setOrientation(LinearLayoutManager.VERTICAL); - recyclerView.setLayoutManager(nodLinearLayoutManage); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - recyclerView.setHasFixedSize(true); - //解决局部刷新闪屏问题 - SimpleItemAnimator animatorInfo = (SimpleItemAnimator) recyclerView.getItemAnimator(); - if (animatorInfo != null) - animatorInfo.setSupportsChangeAnimations(false); - //创建并设置Adapter - SpecialVehicleAdapter adapter = new SpecialVehicleAdapter(list); - recyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new BaseAdapter.OnItemClickListener() { - @Override - public void onItemClick(int position, SpecialVehicleBean data) { - if (data.options == null) { - Toast.makeText(getContext(), "“" + data.name + "”暂未支持", Toast.LENGTH_SHORT).show(); - } else { - data.showFloat(App.INSTANCE); - SpecialVehicleDialog.this.dismiss(); - } - - } - }); - } - - /** - * 初始化界面的确定和取消监听器 - */ - private void initListener() { - findViewById(R.id.settings).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getContext().startActivity(new Intent(getContext(), AutopilotConfigActivity.class)); - } - }); - } - - - /** - * 初始化界面控件 - */ - private void initView() { - recyclerView = findViewById(R.id.recyclerView); - findViewById(R.id.settings).setVisibility(View.GONE); - findViewById(R.id.cancel).setVisibility(View.GONE); - TextView textView = findViewById(R.id.title); - textView.setText("特种车辆"); - } - - -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java deleted file mode 100644 index 51a652c336..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java +++ /dev/null @@ -1,461 +0,0 @@ -package com.zhidao.adas.client.ui.special; - -import android.content.Context; -import android.graphics.Color; -import android.os.Handler; -import android.os.Message; -import android.util.DisplayMetrics; -import android.view.Gravity; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.widget.FrameLayout; -import android.widget.HorizontalScrollView; -import android.widget.LinearLayout; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.appcompat.widget.AppCompatButton; - -import com.zhidao.adas.client.R; -import com.zhidao.adas.client.bean.SpecialVehicleBean; -import com.zhidao.adas.client.bean.SpecialVehicleOption; -import com.zhidao.adas.client.utils.SysBarUtil; - -import java.lang.ref.WeakReference; - - -/** - * 2017/1/10. - * Description:全局悬浮窗口 - */ - -public class SpecialVehicleFloatWindow extends LinearLayout { - - /*********************悬浮窗相关***********************/ - - private int sW; - private int sH; - private boolean isMaximize = true;//是否是最大化 - private WindowManager wm; - //此wmParams变量为获取的全局变量,用以保存悬浮窗口的属性 - private WindowManager.LayoutParams wmParams; - private int btnMaximizeW; - private int btnMaximizeH; - - /*********************CAN数据配置相关***********************/ - private final static int WHAT_UPDATE_DATA = 1; - private BaseHandler mBaseHandler; - private LinearLayout layout_btn; - private HorizontalScrollView btn_list; - private AppCompatButton btn_send; - private RadioGroup rg_send_type; - private TextView text; - private TextView title; - private TextView btn_maximize; - private View can_parent; - - private OnFloatWindowListener listener; - private final SpecialVehicleBean specialVehicleBean; - - public interface OnFloatWindowListener { - void onBack(); - - void onMinimality(); - - void onMaximize(); - } - - public boolean isMaximize() { - return isMaximize; - } - - public void setOnFloatWindowListener(OnFloatWindowListener listener) { - this.listener = listener; - } - - public void setWmParams(WindowManager.LayoutParams wmParams) { - this.wmParams = wmParams; - } - - public SpecialVehicleFloatWindow(@NonNull Context context, @NonNull SpecialVehicleBean specialVehicleBean) { - super(context, null, 0); - this.specialVehicleBean = specialVehicleBean; - wm = (WindowManager) context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE); - //加载布局 - LayoutInflater.from(context).inflate(R.layout.dialog_special_vehicle_config, this, true); - initParameter(); - initCanView(); - } - - private void initParameter() { - DisplayMetrics metrics2 = getResources().getDisplayMetrics(); - sW = metrics2.widthPixels; - sH = metrics2.heightPixels; - } - - - @Override - public boolean dispatchKeyEvent(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_UP) { - if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { - if (isMaximize) { - minimality(); - return true; - } - } - } - return super.dispatchKeyEvent(event); - } - - private float mInViewX; - private float mInViewY; - private float mDownInScreenX; - private float mDownInScreenY; - private float mInScreenX; - private float mInScreenY; - - @Override - public boolean onTouchEvent(MotionEvent event) { - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - // 获取相对View的坐标,即以此View左上角为原点 - mInViewX = event.getX(); - mInViewY = event.getY(); - // 获取相对屏幕的坐标,即以屏幕左上角为原点 - mDownInScreenX = event.getRawX(); - mDownInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); - mInScreenX = event.getRawX(); - mInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); - - if (!isMaximize) { - btn_maximize.setPressed(true); - btnMaximizeW = btn_maximize.getWidth(); - btnMaximizeH = btn_maximize.getHeight(); - } - break; - case MotionEvent.ACTION_MOVE: - // 更新浮动窗口位置参数 - mInScreenX = event.getRawX(); - mInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); - wmParams.x = (int) (mInScreenX - mInViewX); - wmParams.y = (int) (mInScreenY - mInViewY); - updateViewLayout(); - break; - - case MotionEvent.ACTION_UP: - // 如果手指离开屏幕时,xDownInScreen和xInScreen相等,且yDownInScreen和yInScreen相等,则视为触发了单击事件。 -// if (mDownInScreenX == mInScreenX && mDownInScreenY == mInScreenY) { - float temX = Math.abs(mDownInScreenX - mInScreenX); - float temY = Math.abs(mDownInScreenY - mInScreenY); - if (temX + temY < 10) { - maximize(); - } else { - if (isMaximize) { - specialVehicleBean.setFloatWindowLocationMaxX(getContext(), wmParams.x); - specialVehicleBean.setFloatWindowLocationMaxY(getContext(), wmParams.y); - } else { - btn_maximize.setPressed(false); - // 抬起手指时让floatView屏幕左右边缘 距离20个像素 -// wmParams.x = wmParams.x <= (sW / 2) ? AmiConstants.SCREEN_MARGIN : sW - btnMaximizeW - AmiConstants.SCREEN_MARGIN; - int tem = wmParams.x; - if (tem < SpecialVehicleBean.SCREEN_MARGIN) - tem = SpecialVehicleBean.SCREEN_MARGIN; - else if (sW - (tem + btnMaximizeW) < SpecialVehicleBean.SCREEN_MARGIN) { - tem = sW - btnMaximizeW - SpecialVehicleBean.SCREEN_MARGIN; - } - wmParams.x = tem; - tem = wmParams.y; - if (tem < SpecialVehicleBean.SCREEN_MARGIN) - tem = SpecialVehicleBean.SCREEN_MARGIN; - else if (sH - (tem + btnMaximizeH) < SpecialVehicleBean.SCREEN_MARGIN) { - tem = sH - btnMaximizeH - SpecialVehicleBean.SCREEN_MARGIN; - } - wmParams.y = tem; - updateViewLayout(); - specialVehicleBean.setFloatWindowLocationMinX(getContext(), wmParams.x); - specialVehicleBean.setFloatWindowLocationMinY(getContext(), wmParams.y); - } - } - - break; - } - return true; - } - - public void updateViewLayout() { - wm.updateViewLayout(this, wmParams); - } - - // 获取系统状态栏高度 - private int sbar = -1; - - - /*****************************业务逻辑*******************************************/ - - - private void initCanView() { - initHandler(); - can_parent = findViewById(R.id.can_parent); - btn_list = findViewById(R.id.btn_list); - btn_send = findViewById(R.id.btn_send); - rg_send_type = findViewById(R.id.rg_send_type); - text = findViewById(R.id.text); - title = findViewById(R.id.title); - title.setText(specialVehicleBean.name); - btn_maximize = findViewById(R.id.btn_maximize); - btn_maximize.setText(specialVehicleBean.simpleName); - initListener(); - initBtnRecyclerView(); - initSendTypeView(); - } - - private void initSendTypeView() { - int resId; - switch (specialVehicleBean.sendType) { - default: - case SpecialVehicleBean.SEND_TYPE.ONE: - resId = R.id.btn_one; - break; - case SpecialVehicleBean.SEND_TYPE.MORE: - resId = R.id.btn_more; - break; - case SpecialVehicleBean.SEND_TYPE.ALL: - resId = R.id.btn_all; - break; - } - rg_send_type.check(resId); - btn_send.setVisibility(specialVehicleBean.sendType == SpecialVehicleBean.SEND_TYPE.ONE ? View.GONE : View.VISIBLE); - rg_send_type.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - View checkView = group.findViewById(checkedId); - if (!checkView.isPressed()) { - return; - } - int type = SpecialVehicleBean.SEND_TYPE.ONE; - if (checkedId == R.id.btn_more) { - type = SpecialVehicleBean.SEND_TYPE.MORE; - } else { - if (specialVehicleBean.sendType == SpecialVehicleBean.SEND_TYPE.MORE) { - for (int i = 0; i < layout_btn.getChildCount(); i++) { - LinearLayout view = (LinearLayout) layout_btn.getChildAt(i); - RadioGroup radioGroup = view.findViewById(R.id.item_group); - SpecialVehicleOption option = specialVehicleBean.options.get(i); - if (option.moreCheckPos != -1) { - option.moreCheckPos = -1; - radioGroup.check(option.checkPos); - } - } - } - if (checkedId == R.id.btn_one) { - type = SpecialVehicleBean.SEND_TYPE.ONE; - } else if (checkedId == R.id.btn_all) { - type = SpecialVehicleBean.SEND_TYPE.ALL; - } - } - specialVehicleBean.sendType = type; - btn_send.setVisibility(type == SpecialVehicleBean.SEND_TYPE.ONE ? View.GONE : View.VISIBLE); - } - }); - btn_send.setOnClickListener(onClickListener); - } - - - private void initListener() { - findViewById(R.id.btn_back).setOnClickListener(onClickListener); - findViewById(R.id.btn_minimality).setOnClickListener(onClickListener); - } - - public void minimality() { - isMaximize = false; - btn_maximize.setVisibility(VISIBLE); - can_parent.setVisibility(GONE); - if (listener != null) { - listener.onMinimality(); - } - - } - - public void maximize() { - isMaximize = true; - if (listener != null) { - listener.onMaximize(); - } - btn_maximize.setVisibility(GONE); - can_parent.setVisibility(VISIBLE); - - } - - private final OnClickListener onClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.btn_back) { - if (listener != null) { - listener.onBack(); - } - } else if (id == R.id.btn_minimality) { - minimality(); - } else if (id == R.id.btn_send) { - String cmd = specialVehicleBean.sendCmd(-1); - updateText(0, cmd); - } - } - }; - - - private void initBtnRecyclerView() { - - layout_btn = new LinearLayout(getContext()); - btn_list.addView(layout_btn); - layout_btn.setOrientation(LinearLayout.HORIZONTAL); - FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) layout_btn.getLayoutParams(); - lp.gravity = Gravity.CENTER_VERTICAL; - for (int i = 0; i < specialVehicleBean.options.size(); i++) { - SpecialVehicleOption bean = specialVehicleBean.options.get(i); - View view = LayoutInflater.from(getContext()).inflate(R.layout.item_special_vehicle, layout_btn, false); - TextView name = view.findViewById(R.id.name); - RadioGroup radioGroup = view.findViewById(R.id.item_group); - - name.setText(bean.name); - String[] value = bean.value; - for (int j = 0; j < value.length; j++) { - RadioButton button = LayoutInflater.from(getContext()).inflate(R.layout.item_special_vehicle_option_radio_btn, radioGroup, false) - .findViewById(R.id.r_btn); - button.setText(value[j]); - button.setId(j); - if (specialVehicleBean.tag.equals(SpecialVehicleBean.TAG.FTQSC)) { - if (i == 1 || i == 2 || i == 3 || i == 4) { - ViewGroup.LayoutParams layoutParams = button.getLayoutParams(); - layoutParams.width = 202; - } - } - radioGroup.addView(button); - } - radioGroup.setTag(bean.tag); - radioGroup.setOnCheckedChangeListener(onCheckedChangeListener); - radioGroup.check(bean.checkPos); - layout_btn.addView(view); - } - } - - private final RadioGroup.OnCheckedChangeListener onCheckedChangeListener = new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - View checkView = group.findViewById(checkedId); - if (checkView == null || !checkView.isPressed()) { - return; - } - int tag = (int) group.getTag(); - SpecialVehicleOption bean = specialVehicleBean.options.get(tag); - if (specialVehicleBean.sendType != SpecialVehicleBean.SEND_TYPE.MORE) { - bean.checkPos = checkedId; - String cmd = specialVehicleBean.sendCmd(tag); - updateText(0, cmd); - } else { - bean.moreCheckPos = checkedId; - } - } - }; - - - /** - * 更新文本 - * - * @param tag 0--发送 1--接收 - * @param data 数据 - */ - private void updateText(int tag, String data) { - Message msg = Message.obtain(); - msg.what = WHAT_UPDATE_DATA; - msg.obj = data; - msg.arg1 = tag; - getHandler().sendMessage(msg); - } - - - /** - * 初始化一个Handler,如果需要使用Handler,先调用此方法, - * 然后可以使用postRunnable(Runnable runnable), - * sendMessage在handleMessage(Message msg)中接收msg - */ - public void initHandler() { - mBaseHandler = new BaseHandler(this); - } - - /** - * 返回Handler,在此之前确定已经调用initHandler() - * - * @return Handler - */ - public Handler getHandler() { - return mBaseHandler; - } - - /** - * 同Handler的postRunnable - * 在此之前确定已经调用initHandler() - */ - protected void postRunnable(Runnable runnable) { - postRunnableDelayed(runnable, 0); - } - - /** - * 同Handler的postRunnableDelayed - * 在此之前确定已经调用initHandler() - */ - protected void postRunnableDelayed(Runnable runnable, long delayMillis) { - if (mBaseHandler == null) initHandler(); - mBaseHandler.postDelayed(runnable, delayMillis); - } - - - /** - * 同Handler 的 handleMessage, - * getHandler.sendMessage,发送的Message在此接收 - * 在此之前确定已经调用initHandler() - * - * @param msg - */ - protected void handleMessage(Message msg) { - switch (msg.what) { - case WHAT_UPDATE_DATA: - if (msg.arg1 == 0) { - text.setTextColor(Color.parseColor("#FFFFFF")); - } else { - text.setTextColor(Color.parseColor("#FF0000")); - } - String str = (String) msg.obj; - if (str.length() < 100) { - text.setTextSize(14); - } else { - text.setTextSize(10); - } - text.setText(str); - break; - } - - } - - - protected static class BaseHandler extends Handler { - private final WeakReference mObjects; - - public BaseHandler(SpecialVehicleFloatWindow mPresenter) { - mObjects = new WeakReference(mPresenter); - } - - @Override - public void handleMessage(Message msg) { - SpecialVehicleFloatWindow mPresenter = mObjects.get(); - if (mPresenter != null) - mPresenter.handleMessage(msg); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindowManager.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindowManager.java deleted file mode 100644 index 45068dee3d..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindowManager.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.zhidao.adas.client.ui.special; - -import android.content.Context; -import android.graphics.PixelFormat; -import android.view.Gravity; -import android.view.WindowManager; - -import com.zhidao.adas.client.bean.SpecialVehicleBean; - - -public class SpecialVehicleFloatWindowManager implements SpecialVehicleFloatWindow.OnFloatWindowListener { - private final WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); - private SpecialVehicleFloatWindow floatWindow = null; - private WindowManager wm = null; - private final Context context; - private final SpecialVehicleBean specialVehicleBean; - - public SpecialVehicleFloatWindowManager(Context context, SpecialVehicleBean specialVehicleBean) { - this.context = context; - this.specialVehicleBean = specialVehicleBean; - } - - public void show() { - if (!createFloatWindow()) { - if (floatWindow.isMaximize()) { - floatWindow.minimality(); - } else { - floatWindow.maximize(); - } - } - } - - private boolean createFloatWindow() { - if (floatWindow == null) { - wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); - layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; - layoutParams.format = PixelFormat.RGBA_8888; - layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;//| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE - layoutParams.gravity = Gravity.START | Gravity.TOP; - layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.alpha = 0.9f; - floatWindow = new SpecialVehicleFloatWindow(context, specialVehicleBean); - floatWindow.setWmParams(layoutParams); - floatWindow.setOnFloatWindowListener(this); - layoutParams.x = specialVehicleBean.getFloatWindowLocationMaxX(context); - layoutParams.y = specialVehicleBean.getFloatWindowLocationMaxY(context); - wm.addView(floatWindow, layoutParams); - return true; - } - return false; - } - - private void removeFloatWindow() { - if (floatWindow != null) { - wm.removeView(floatWindow); - floatWindow = null; - wm = null; - } - } - - @Override - public void onBack() { - removeFloatWindow(); - } - - @Override - public void onMinimality() { - layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; - layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.x = specialVehicleBean.getFloatWindowLocationMinX(context); - layoutParams.y = specialVehicleBean.getFloatWindowLocationMinY(context); - layoutParams.alpha = 1f; - if (floatWindow != null) { - floatWindow.updateViewLayout(); - } - } - - @Override - public void onMaximize() { - layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL; - layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT; - layoutParams.x = specialVehicleBean.getFloatWindowLocationMaxX(context); - layoutParams.y = specialVehicleBean.getFloatWindowLocationMaxY(context); - layoutParams.alpha = 0.9f; - if (floatWindow != null) { - floatWindow.updateViewLayout(); - } - } - - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java deleted file mode 100644 index 1f19125e06..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; -import android.os.Environment; -import android.text.TextUtils; - -import com.google.gson.reflect.TypeToken; -import com.zhidao.adas.client.bean.AutoPilotMode; -import com.zhidao.support.adas.high.common.JsonUtil; -import com.zhidao.support.adas.high.common.MessageType; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -/** - * @author song kenan - * @des - * @date 2021/10/8 - */ -public class Constants { - public static final String ROOT_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "IPCMonitoring" + File.separator;//程序外部存储跟目录 - public static final String FILE_PATH = ROOT_PATH + "Crash" + File.separator; - - private static final String ALL_PATH = "all_path";//所有路线 - private static final String DEFAULT_PATH = "[{\"endLatLon\":{\"latitude\":40.19774,\"longitude\":116.72704},\"endName\":\"汇源果汁\",\"name\":\"北京市顺义区北小营镇\",\"speedLimit\":20.0,\"startLatLon\":{\"latitude\":40.20047,\"longitude\":116.73512},\"startName\":\"13号路口西\"},{\"endLatLon\":{\"latitude\":40.19996,\"longitude\":116.73584},\"endName\":\"13号路口(主路)\",\"name\":\"北京市顺义区北小营镇\",\"speedLimit\":20.0,\"startLatLon\":{\"latitude\":40.19763,\"longitude\":116.72686},\"startName\":\"汇源果汁\"}]"; - - public static List getPaths(Context context) { - String json = PreferencesUtils.getString(context, ALL_PATH, DEFAULT_PATH); - List list = JsonUtil.fromJson(json, new TypeToken>() { - }.getType()); - return list; - } - - public static boolean setPath(Context context, List list) { - if (list != null) { - return PreferencesUtils.putString(context, ALL_PATH, JsonUtil.toJson(list)); - } - return false; - } - - public static boolean addPath(Context context, List list, AutoPilotMode mode) { - if (list == null) - list = new ArrayList<>(); - if (!list.contains(mode)) { - list.add(mode); - return PreferencesUtils.putString(context, ALL_PATH, JsonUtil.toJson(list)); - } - return false; - } - - public static boolean delPath(Context context, List list, AutoPilotMode mode) { - if (list == null) { - return PreferencesUtils.delete(context, ALL_PATH); - } else { - if (list.contains(mode)) { - list.remove(mode); - return PreferencesUtils.putString(context, ALL_PATH, JsonUtil.toJson(list)); - } - } - return false; - } - - - /***********************是否使用固定IP******************/ - // 0:固定IP 1:指定 2:UDP - private static final String IPC_CONNECTION_MODE = "ipc_connection_mode"; - - public static void setIpcConnectionMode(Context context, int type) { - PreferencesUtils.putInt(context, IPC_CONNECTION_MODE, type); - } - - public static int getIpcConnectionMode(Context context) { - return PreferencesUtils.getInt(context, IPC_CONNECTION_MODE, 0); - } - - public static boolean delIpcConnectionMode(Context context) { - return PreferencesUtils.delete(context, IPC_CONNECTION_MODE); - } - - /***********************保存IP******************/ - private static final String IPC_IP = "ipc_ip"; - - public static void setIPCIp(Context context, String ip) { - PreferencesUtils.putString(context, IPC_IP, ip); - } - - public static String getIPCIp(Context context) { - return PreferencesUtils.getString(context, IPC_IP, null); - } - - public static boolean delIPCIp(Context context) { - return PreferencesUtils.delete(context, IPC_IP); - } - - - /***********************保存使用过的IP列表******************/ - - - private static final String IPC_USED_IP = "ipc_used_ip"; - - public static List getIpcUsedIps(Context context) { - String json = PreferencesUtils.getString(context, IPC_USED_IP, null); - if (TextUtils.isEmpty(json)) return null; - List list = JsonUtil.fromJson(json, new TypeToken>() { - }.getType()); - return list; - } - - public static boolean addIpcUsedIps(Context context, List list, String mode) { - if (list == null) - list = new ArrayList<>(); - list.remove(mode); - list.add(0, mode); - if (list.size() > 10) { - list.remove(list.size() - 1); - } - return PreferencesUtils.putString(context, IPC_USED_IP, JsonUtil.toJson(list)); - } - - public static boolean delIpcUsedIps(Context context, List list, String mode) { - if (list == null) { - return PreferencesUtils.delete(context, IPC_USED_IP); - } else { - if (list.contains(mode)) { - list.remove(mode); - return PreferencesUtils.putString(context, IPC_USED_IP, JsonUtil.toJson(list)); - } - } - return false; - } - - /*********************存储超时检测按钮开关状态******************/ - private static final String TIMEOUT_ENABLE = "timeout_enable"; - - public static void setTimeoutEnable(Context context, boolean isEnable) { - PreferencesUtils.putBoolean(context, TIMEOUT_ENABLE, isEnable); - } - - public static boolean getTimeoutEnable(Context context) { - return PreferencesUtils.putBoolean(context, TIMEOUT_ENABLE, true); - } - - public static boolean delTimeoutEnable(Context context) { - return PreferencesUtils.delete(context, TIMEOUT_ENABLE); - } - - - public interface TITLE { - String RECEIVE_TRAJECTORY = MessageType.TYPE_RECEIVE_TRAJECTORY.desc; - String RECEIVE_TRACKED_OBJECTS = MessageType.TYPE_RECEIVE_TRACKED_OBJECTS.desc; - String RECEIVE_GNSS_INFO = MessageType.TYPE_RECEIVE_GNSS_INFO.desc; - String RECEIVE_CHASSIS_STATES = MessageType.TYPE_RECEIVE_CHASSIS_STATES.desc; - String RECEIVE_AUTOPILOT_STATE = MessageType.TYPE_RECEIVE_AUTOPILOT_STATE.desc; - String RECEIVE_FUNCTION_STATES = MessageType.TYPE_RECEIVE_FUNCTION_STATES.desc; - String RECEIVE_BACK_CAMERA_VIDEO = MessageType.TYPE_RECEIVE_BACK_CAMERA_VIDEO.desc; - String RECEIVE_REPORT_MESSAGE = MessageType.TYPE_RECEIVE_REPORT_MESSAGE.desc; - String RECEIVE_PERCEPTION_TRAFFIC_LIGHT = MessageType.TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT.desc; - String RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY = MessageType.TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.desc; - String RECEIVE_POINT_CLOUD_ORIGINAL = MessageType.TYPE_RECEIVE_POINT_CLOUD.desc; - String RECEIVE_PLANNING_OBJECTS = MessageType.TYPE_RECEIVE_PLANNING_OBJECTS.desc; - String RECEIVE_PLANNING_DECISION_STATE = MessageType.TYPE_RECEIVE_PLANNING_DECISION_STATE.desc; - String RECEIVE_SWEEPER_TASK_INDEX_DATA = MessageType.TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA.desc; - - // String RECEIVE_BASIC_INFO_REQ = "自动驾驶设备基础信息请求"; - String TITLE_CAR_CONFIG_RESP = "工控机版本\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t配置"; - String RECEIVE_CAR_CONFIG_RESP = "信息与配置"; - String RECEIVE_RECORD_RESULT = MessageType.TYPE_RECEIVE_RECORD_RESULT.desc; - String RECEIVE_BAG_MANAGER_CMD = MessageType.TYPE_RECEIVE_BAG_MANAGER_CMD.desc; - String RECEIVE_RECORD_DATA_CONFIG_RESP = MessageType.TYPE_RECEIVE_RECORD_DATA_CONFIG_RESP.desc; - String RECEIVE_GLOBAL_PATH_RESP = MessageType.TYPE_RECEIVE_GLOBAL_PATH_RESP.desc; - String RECEIVE_WARN = MessageType.TYPE_RECEIVE_WARN.desc; - String RECEIVE_ARRIVAL_NOTIFICATION = MessageType.TYPE_RECEIVE_ARRIVAL_NOTIFICATION.desc; - String RECEIVE_STATUS_QUERY_RESP = MessageType.TYPE_RECEIVE_STATUS_QUERY_RESP.desc; - String RECEIVE_OBU_SPAT = "OBU SPAT信息"; - String RECEIVE_OBU_RSI = "OBU RSI信息"; - String RECEIVE_OBU_RSM = "OBU RSM信息"; - String RECEIVE_OBU_MAP = "OBU MAP信息"; - String RECEIVE_ERROR = "错误数据"; - - - String SEND_SET_AUTOPILOT_MODE_REQ = "自动驾驶模式"; - String SEND_GLOBAL_PATH_REQ = "自动驾驶路径查询"; - String SEND_SPECIAL_VEHICLE_TASK_CMD = "特种车辆"; - String SEND_STATUS_QUERY_REQ = "状态查询"; - String SEND_BASIC_INFO_RESP = "下发SN"; - String SEND_RECORD_DATA_5 = "数据采集5秒"; - String SEND_RECORD_DATA_START = "数据采集Start"; - String SEND_RECORD_DATA_END = "数据采集End"; - String SEND_TRAFFIC_LIGHT_DATA = "发送信号灯"; - String SEND_SET_AUTOPILOT_SPEED_REQ = "自动驾驶限速"; - String SEND_SYSTEM_CMD_REQ_REBOOT = "重启所有节点"; - String SEND_RECORD_CAUSE = "采集类型"; - String SEND_SET_DEMO_MODE_REQ_OPEN = "打开演示模式"; - String SEND_SET_DEMO_MODE_REQ_CLOSE = "关闭演示模式"; - String SEND_SET_RAIN_MODE_REQ_OPEN = "打开雨天模式"; - String SEND_SET_RAIN_MODE_REQ_CLOSE = "关闭雨天模式"; - String SEND_RECORD_DATA_CONFIG_RESP = "数据采集配置"; - String SEND_DETOURING_OPEN = "绕障类功能开"; - String SEND_DETOURING_CLOSE = "绕障类功能关"; - String SEND_DETOURING_SPEED = "绕障速度阈值"; - String SEND_TRIP_INFO = "行程信息"; - String SEND_PLANNING_CMD = "给Planning指令"; - - - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/CrashHandler.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/CrashHandler.java deleted file mode 100644 index 14957a6a1f..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/CrashHandler.java +++ /dev/null @@ -1,293 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.os.Build; -import android.os.Environment; -import android.os.Looper; -import android.util.Log; -import android.widget.Toast; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.io.Writer; -import java.lang.Thread.UncaughtExceptionHandler; -import java.lang.reflect.Field; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - - -/** - * ClassName: CrashHandler - * Function: UncaughtException处理类,当程序发生Uncaught异常的时候,由该类来接管程序,并记录发送错误报告. - * - * @author Norris Norris.sly@gmail.com - * @Date 2013 2013-3-24 下午12:27:10 - * @Fields ────────────────────────────────────────────────────────────────────────────────────────────────────── - * @Methods ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-24下午12:27:10 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * @see ────────────────────────────────────────────────────────────────────────────────────────────────────── - * @since Ver 1.0 I used to be a programmer like you, then I took an arrow in the knee - */ -public class CrashHandler implements UncaughtExceptionHandler { - - /** - * Log日志的tag - * String : TAG - * - * @since 2013-3-21下午8:44:28 - */ - private static final String TAG = "NorrisInfo"; - /** - * 系统默认的UncaughtException处理类 - * Thread.UncaughtExceptionHandler : mDefaultHandler - * - * @since 2013-3-21下午8:44:43 - */ - private UncaughtExceptionHandler mDefaultHandler; - /** - * CrashHandler实例 - * CrashHandler : mInstance - * - * @since 2013-3-21下午8:44:53 - */ - private static CrashHandler mInstance = new CrashHandler(); - /** - * 程序的Context对象 - * Context : mContext - * - * @since 2013-3-21下午8:45:02 - */ - private Context mContext; - /** - * 用来存储设备信息和异常信息 - * Map : mLogInfo - * - * @since 2013-3-21下午8:46:15 - */ - private Map mLogInfo = new HashMap(); - /** - * 用于格式化日期,作为日志文件名的一部分(FIXME 注意在windows下文件名无法使用:等符号!) - * SimpleDateFormat : mSimpleDateFormat - * - * @since 2013-3-21下午8:46:39 - */ - private SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("yyyyMMdd_HH-mm-ss"); - - /** - * Creates a new instance of CrashHandler. - */ - private CrashHandler() { - } - - /** - * getInstance:{获取CrashHandler实例 ,单例模式 } - * ────────────────────────────────── - * - * @return CrashHandler - * @throws - * @since I used to be a programmer like you, then I took an arrow in the knee Ver 1.0 - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-21下午8:52:24 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - */ - public static CrashHandler getInstance() { - return mInstance; - } - - /** - * init:{初始化} - * ────────────────────────────────── - * - * @param paramContext - * @return void - * @throws - * @since I used to be a programmer like you, then I took an arrow in the knee Ver 1.0 - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-21下午8:52:45 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - */ - public void init(Context paramContext) { - mContext = paramContext; - // 获取系统默认的UncaughtException处理器 - mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler(); - // 设置该CrashHandler为程序的默认处理器 - Thread.setDefaultUncaughtExceptionHandler(this); - } - - /** - * 当UncaughtException发生时会转入该重写的方法来处理 - * (non-Javadoc) - * - * @see UncaughtExceptionHandler#uncaughtException(Thread, Throwable) - */ - public void uncaughtException(Thread paramThread, Throwable paramThrowable) { - // 获取设备参数信息 - getDeviceInfo(mContext); -// mLogInfo.put("versionName", String.valueOf(BuildConfig.VERSION_CODE)); -// mLogInfo.put("versionCode", BuildConfig.VERSION_NAME); - // 保存日志文件 - String result = saveCrashLogToFile(paramThrowable); - mDefaultHandler.uncaughtException(paramThread, paramThrowable); -// if (!handleException(paramThrowable) && mDefaultHandler != null) { -// // 如果自定义的没有处理则让系统默认的异常处理器来处理 -// mDefaultHandler.uncaughtException(paramThread, paramThrowable); -// } else { -//// try { -//// // 如果处理了,让程序继续运行1秒再退出,保证文件保存并上传到服务器 -//// paramThread.sleep(1000); -//// } catch (InterruptedException e) { -//// e.printStackTrace(); -//// } -// // 退出程序 -// android.os.Process.killProcess(android.os.Process.myPid()); -// System.exit(1); -// } - } - - /** - * handleException:{自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.} - * ────────────────────────────────── - * - * @param paramThrowable - * @return true:如果处理了该异常信息;否则返回false. - * @throws - * @since I used to be a programmer like you, then I took an arrow in the knee Ver 1.0 - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-24下午12:28:53 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - */ - public boolean handleException(Throwable paramThrowable) { - if (paramThrowable == null) - return false; - new Thread() { - public void run() { - Looper.prepare(); - Toast.makeText(mContext, "很抱歉,程序出现异常,即将退出", Toast.LENGTH_SHORT).show(); - Looper.loop(); - } - }.start(); - // 获取设备参数信息 - getDeviceInfo(mContext); - // 保存日志文件 - String result = saveCrashLogToFile(paramThrowable); - //上传崩溃日志 - return true; - } - - /** - * getDeviceInfo:{获取设备参数信息} - * ────────────────────────────────── - * - * @param paramContext - * @throws - * @since I used to be a programmer like you, then I took an arrow in the knee Ver 1.0 - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-24下午12:30:02 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - */ - public void getDeviceInfo(Context paramContext) { - try { - // 获得包管理器 - PackageManager mPackageManager = paramContext.getPackageManager(); - // 得到该应用的信息,即主Activity - PackageInfo mPackageInfo = mPackageManager.getPackageInfo( - paramContext.getPackageName(), PackageManager.GET_ACTIVITIES); - if (mPackageInfo != null) { - String versionName = mPackageInfo.versionName == null ? "null" - : mPackageInfo.versionName; - String versionCode = mPackageInfo.versionCode + ""; - mLogInfo.put("versionName", versionName); - mLogInfo.put("versionCode", versionCode); - } - } catch (NameNotFoundException e) { - e.printStackTrace(); - } - // 反射机制 - Field[] mFields = Build.class.getDeclaredFields(); - // 迭代Build的字段key-value 此处的信息主要是为了在服务器端手机各种版本手机报错的原因 - for (Field field : mFields) { - try { - field.setAccessible(true); - mLogInfo.put(field.getName(), field.get("").toString()); - Log.d(TAG, field.getName() + ":" + field.get("")); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - /** - * saveCrashLogToFile:{将崩溃的Log保存到本地} - * TODO 可拓展,将Log上传至指定服务器路径 - * ────────────────────────────────── - * - * @param paramThrowable - * @return FileName - * @throws - * @since I used to be a programmer like you, then I took an arrow in the knee Ver 1.0 - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - * 2013-3-24下午12:31:01 Modified By Norris - * ────────────────────────────────────────────────────────────────────────────────────────────────────── - */ - - - private String saveCrashLogToFile(Throwable paramThrowable) { - StringBuffer mStringBuffer = new StringBuffer(); - for (Map.Entry entry : mLogInfo.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - mStringBuffer.append(key + "=" + value + "\r\n"); - } - Writer mWriter = new StringWriter(); - PrintWriter mPrintWriter = new PrintWriter(mWriter); - paramThrowable.printStackTrace(mPrintWriter); - paramThrowable.printStackTrace(); - Throwable mThrowable = paramThrowable.getCause(); - // 迭代栈队列把所有的异常信息写入writer中 - while (mThrowable != null) { - mThrowable.printStackTrace(mPrintWriter); - // 换行 每个个异常栈之间换行 - mThrowable = mThrowable.getCause(); - } - - //记得关闭 - - String mResult = mWriter.toString(); - // String mResult = mWriter.toString().replace("\n", "").replace(":", "").replace("/", "").replace("\t", ""); - mStringBuffer.append(mResult); - // 保存文件,设置文件名 - String mTime = mSimpleDateFormat.format(new Date()); - String mFileName = mContext.getPackageName() + "_Exception-" + mTime + ".log"; - if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { - try { - File mDirectory = new File(Constants.FILE_PATH); - Log.d(TAG, mDirectory.toString()); - if (!mDirectory.exists()) - mDirectory.mkdirs(); - FileOutputStream mFileOutputStream = new FileOutputStream(mDirectory + File.separator + mFileName); - mFileOutputStream.write(mStringBuffer.toString().getBytes()); - mFileOutputStream.close(); - return mResult; - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return mResult; - } - - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/FileUtils.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/FileUtils.java deleted file mode 100644 index 5fbc347909..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/FileUtils.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; - -import java.io.File; -import java.io.FileWriter; -import java.io.Writer; - -/** - * @author nie yunlong - * @des - * @date 2021/2/5 - */ -class FileUtils { - - /** - * 创建文件 - * - * @param data - * @param name - */ - public static void createFile(Context context, String data, String name) { - try { - File file = new File(context.getExternalFilesDir(null) + "/" + name); - if (!file.exists()) { - file.createNewFile(); - } - Writer out = new FileWriter(file,true); - out.write(data); - out.append("\n"); - out.flush(); - out.close(); - - } catch (Exception e) { - e.printStackTrace(); - } - - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/MyLinearLayoutManager.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/MyLinearLayoutManager.java deleted file mode 100644 index b4e06c2a6c..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/MyLinearLayoutManager.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; -import android.util.AttributeSet; - -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -public class MyLinearLayoutManager extends LinearLayoutManager { - public MyLinearLayoutManager(Context context) { - super(context); - } - - public MyLinearLayoutManager(Context context, int orientation, boolean reverseLayout) { - super(context, orientation, reverseLayout); - } - - public MyLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } - - @Override - public boolean supportsPredictiveItemAnimations() { - return false; - } - - @Override - public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) { - //override this method and implement code as below - try { - super.onLayoutChildren(recycler, state); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/PreferencesUtils.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/PreferencesUtils.java deleted file mode 100644 index f9a8006feb..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/PreferencesUtils.java +++ /dev/null @@ -1,286 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; -import android.content.SharedPreferences; - -public class PreferencesUtils { - - public static String PREFERENCE_NAME = "control"; - - public static boolean hasString(Context context, String key) { - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return settings.contains(key); - } - - /** - * put string preferences - * - * @param context - * @param key The name of the preference to modify - * @param value The new value for the preference - * @return True if the new values were successfully written to persistent - * storage. - */ - public static boolean putString(Context context, String key, String value) { - - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putString(key, value); - return editor.commit(); - } - - /** - * get string preferences - * - * @param context - * @param key The name of the preference to retrieve - * @return The preference value if it exists, or null. Throws - * ClassCastException if there is a preference with this name that - * is not a string - * @see #getString(Context, String, String) - */ - public static String getString(Context context, String key) { - if (context == null) return null; - return getString(context, key, null); - } - - /** - * get string preferences - * - * @param context - * @param key The name of the preference to retrieve - * @param defaultValue Value to return if this preference does not exist - * @return The preference value if it exists, or defValue. Throws - * ClassCastException if there is a preference with this name that - * is not a string - */ - public static String getString(Context context, String key, - String defaultValue) { - - if (context == null) return defaultValue; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return settings.getString(key, defaultValue); - } - - /** - * put int preferences - * - * @param context - * @param key The name of the preference to modify - * @param value The new value for the preference - * @return True if the new values were successfully written to persistent - * storage. - */ - public static boolean putInt(Context context, String key, int value) { - - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putInt(key, value); - return editor.commit(); - } - - /** - * get int preferences - * - * @param context - * @param key The name of the preference to retrieve - * @return The preference value if it exists, or -1. Throws - * ClassCastException if there is a preference with this name that - * is not a int - * @see #getInt(Context, String, int) - */ - public static int getInt(Context context, String key) { - - if (context == null) return -1; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return getInt(context, key, -1); - } - - /** - * get int preferences - * - * @param context - * @param key The name of the preference to retrieve - * @param defaultValue Value to return if this preference does not exist - * @return The preference value if it exists, or defValue. Throws - * ClassCastException if there is a preference with this name that - * is not a int - */ - public static int getInt(Context context, String key, int defaultValue) { - if (context == null) return defaultValue; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return settings.getInt(key, defaultValue); - } - - /** - * put long preferences - * - * @param context - * @param key The name of the preference to modify - * @param value The new value for the preference - * @return True if the new values were successfully written to persistent - * storage. - */ - public static boolean putLong(Context context, String key, long value) { - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putLong(key, value); - return editor.commit(); - } - - /** - * get long preferences - * - * @param context - * @param key The name of the preference to retrieve - * @return The preference value if it exists, or -1. Throws - * ClassCastException if there is a preference with this name that - * is not a long - * @see #getLong(Context, String, long) - */ - public static long getLong(Context context, String key) { - if (context == null) return -1; - return getLong(context, key, -1); - } - - /** - * get long preferences - * - * @param context - * @param key The name of the preference to retrieve - * @param defaultValue Value to return if this preference does not exist - * @return The preference value if it exists, or defValue. Throws - * ClassCastException if there is a preference with this name that - * is not a long - */ - public static long getLong(Context context, String key, long defaultValue) { - if (context == null) return defaultValue; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - - return settings.getLong(key, defaultValue); - } - - /** - * put float preferences - * - * @param context - * @param key The name of the preference to modify - * @param value The new value for the preference - * @return True if the new values were successfully written to persistent - * storage. - */ - public static boolean putFloat(Context context, String key, float value) { - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putFloat(key, value); - return editor.commit(); - } - - /** - * get float preferences - * - * @param context - * @param key The name of the preference to retrieve - * @return The preference value if it exists, or -1. Throws - * ClassCastException if there is a preference with this name that - * is not a float - * @see #getFloat(Context, String, float) - */ - public static float getFloat(Context context, String key) { - if (context == null) return -1; - return getFloat(context, key, -1); - } - - /** - * get float preferences - * - * @param context - * @param key The name of the preference to retrieve - * @param defaultValue Value to return if this preference does not exist - * @return The preference value if it exists, or defValue. Throws - * ClassCastException if there is a preference with this name that - * is not a float - */ - public static float getFloat(Context context, String key, float defaultValue) { - if (context == null) return defaultValue; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return settings.getFloat(key, defaultValue); - } - - /** - * put boolean preferences - * - * @param context - * @param key The name of the preference to modify - * @param value The new value for the preference - * @return True if the new values were successfully written to persistent - * storage. - */ - public static boolean putBoolean(Context context, String key, boolean value) { - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putBoolean(key, value); - return editor.commit(); - } - - /** - * get boolean preferences, default is false - * - * @param context - * @param key The name of the preference to retrieve - * @return The preference value if it exists, or false. Throws - * ClassCastException if there is a preference with this name that - * is not a boolean - * @see #getBoolean(Context, String, boolean) - */ - public static boolean getBoolean(Context context, String key) { - if (context == null) return false; - return getBoolean(context, key, false); - } - - /** - * get boolean preferences - * - * @param context - * @param key The name of the preference to retrieve - * @param defaultValue Value to return if this preference does not exist - * @return The preference value if it exists, or defValue. Throws - * ClassCastException if there is a preference with this name that - * is not a boolean - */ - public static boolean getBoolean(Context context, String key, - boolean defaultValue) { - if (context == null) return defaultValue; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - return settings.getBoolean(key, defaultValue); - } - - - public static boolean delete(Context context, String key) { - if (context == null) return false; - SharedPreferences settings = context.getSharedPreferences( - PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.remove(key); - return editor.commit(); - } - -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/RandomColor.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/RandomColor.java deleted file mode 100644 index 1b36a27c04..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/RandomColor.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.zhidao.adas.client.utils; - -import com.zhidao.adas.client.R; - -import java.util.Random; - - -public class RandomColor { - //随机颜色,且不与上一次重复 - private static Random randomColor; - private static int tempColorIndex; - private static int[] colors = {R.color.color1, R.color.color2, R.color.color3, R.color.color4, R.color.color5}; - - public static int randomColor() { - randomColorTemp(); - return colors[tempColorIndex]; - } - - private static void randomColorTemp() { - if (randomColor == null) - randomColor = new Random(); - int colorInt = randomColor.nextInt(colors.length); - if (tempColorIndex == colorInt) { - randomColorTemp(); - } else { - tempColorIndex = colorInt; - } - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java deleted file mode 100644 index 8bdc4c294f..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.zhidao.adas.client.utils; - -import android.content.Context; - -import java.lang.reflect.Field; - -public class SysBarUtil { - private static int sbar = -1; - - // 获取系统状态栏高度 - public static int getSysBarHeight(Context contex) { - if (sbar == -1) { - Class c; - Object obj; - Field field; - int x; - sbar = 0; - try { - c = Class.forName("com.android.internal.R$dimen"); - obj = c.newInstance(); - field = c.getField("status_bar_height"); - x = Integer.parseInt(field.get(obj).toString()); - sbar = contex.getResources().getDimensionPixelSize(x); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - return sbar; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/BlurTransformation.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/BlurTransformation.java deleted file mode 100644 index d224c9800f..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/BlurTransformation.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.zhidao.adas.client.utils.image; - - -/** - * Copyright (C) 2018 Wasabeef - *

- * 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 android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Paint; - -import androidx.annotation.NonNull; - -import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; -import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; - -import java.security.MessageDigest; - -/** - * 高斯模糊 - */ -public class BlurTransformation extends BitmapTransformation { - - private static final int VERSION = 1; - private static final String ID ="com.zhidao.adas.client.utils.image.BlurTransformation." + VERSION; - private static int MAX_RADIUS = 25; - private static int DEFAULT_DOWN_SAMPLING = 1; - - private int radius; - private int sampling; - - public BlurTransformation() { - this(MAX_RADIUS, DEFAULT_DOWN_SAMPLING); - } - - - public BlurTransformation(int radius) { - this(radius, DEFAULT_DOWN_SAMPLING); - } - - public BlurTransformation(int radius, int sampling) { - this.radius = radius; - this.sampling = sampling; - } - - @Override - public String toString() { - return "BlurTransformation(radius=" + radius + ", sampling=" + sampling + ")"; - } - - @Override - protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { - int width = toTransform.getWidth(); - int height = toTransform.getHeight(); - int scaledWidth = width / sampling; - int scaledHeight = height / sampling; - - Bitmap bitmap = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_4444); - - Canvas canvas = new Canvas(bitmap); - canvas.scale(1 / (float) sampling, 1 / (float) sampling); - Paint paint = new Paint(); - paint.setFlags(Paint.FILTER_BITMAP_FLAG); - canvas.drawBitmap(toTransform, 0, 0, paint); - - bitmap = FastBlur.blur(bitmap, radius, true); - - return bitmap; - } - - @Override - public boolean equals(Object o) { - return o instanceof BlurTransformation && - ((BlurTransformation) o).radius == radius && - ((BlurTransformation) o).sampling == sampling; - } - - @Override - public int hashCode() { - return ID.hashCode() + radius * 1000 + sampling * 10; - } - - @Override - public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { - messageDigest.update((ID + radius + sampling).getBytes(CHARSET)); - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/FastBlur.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/FastBlur.java deleted file mode 100644 index 66028e2ecb..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/FastBlur.java +++ /dev/null @@ -1,257 +0,0 @@ -package com.zhidao.adas.client.utils.image; - -import android.graphics.Bitmap; - -/** - * Copyright (C) 2018 Wasabeef - *

- * 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. - */ - -public class FastBlur { - - public static Bitmap blur(Bitmap sentBitmap, int radius, boolean canReuseInBitmap) { - - // Stack Blur v1.0 from - // http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html - // - // Java Author: Mario Klingemann - // http://incubator.quasimondo.com - // created Feburary 29, 2004 - // Android port : Yahel Bouaziz - // http://www.kayenko.com - // ported april 5th, 2012 - - // This is a compromise between Gaussian Blur and Box blur - // It creates much better looking blurs than Box Blur, but is - // 7x faster than my Gaussian Blur implementation. - // - // I called it Stack Blur because this describes best how this - // filter works internally: it creates a kind of moving stack - // of colors whilst scanning through the image. Thereby it - // just has to add one new block of color to the right side - // of the stack and remove the leftmost color. The remaining - // colors on the topmost layer of the stack are either added on - // or reduced by one, depending on if they are on the right or - // on the left side of the stack. - // - // If you are using this algorithm in your code please add - // the following line: - // - // Stack Blur Algorithm by Mario Klingemann - - Bitmap bitmap; - if (canReuseInBitmap) { - bitmap = sentBitmap; - } else { - bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); - } - - if (radius < 1) { - return (null); - } - - int w = bitmap.getWidth(); - int h = bitmap.getHeight(); - - int[] pix = new int[w * h]; - bitmap.getPixels(pix, 0, w, 0, 0, w, h); - - int wm = w - 1; - int hm = h - 1; - int wh = w * h; - int div = radius + radius + 1; - - int r[] = new int[wh]; - int g[] = new int[wh]; - int b[] = new int[wh]; - int rsum, gsum, bsum, x, y, i, p, yp, yi, yw; - int vmin[] = new int[Math.max(w, h)]; - - int divsum = (div + 1) >> 1; - divsum *= divsum; - int dv[] = new int[256 * divsum]; - for (i = 0; i < 256 * divsum; i++) { - dv[i] = (i / divsum); - } - - yw = yi = 0; - - int[][] stack = new int[div][3]; - int stackpointer; - int stackstart; - int[] sir; - int rbs; - int r1 = radius + 1; - int routsum, goutsum, boutsum; - int rinsum, ginsum, binsum; - - for (y = 0; y < h; y++) { - rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; - for (i = -radius; i <= radius; i++) { - p = pix[yi + Math.min(wm, Math.max(i, 0))]; - sir = stack[i + radius]; - sir[0] = (p & 0xff0000) >> 16; - sir[1] = (p & 0x00ff00) >> 8; - sir[2] = (p & 0x0000ff); - rbs = r1 - Math.abs(i); - rsum += sir[0] * rbs; - gsum += sir[1] * rbs; - bsum += sir[2] * rbs; - if (i > 0) { - rinsum += sir[0]; - ginsum += sir[1]; - binsum += sir[2]; - } else { - routsum += sir[0]; - goutsum += sir[1]; - boutsum += sir[2]; - } - } - stackpointer = radius; - - for (x = 0; x < w; x++) { - - r[yi] = dv[rsum]; - g[yi] = dv[gsum]; - b[yi] = dv[bsum]; - - rsum -= routsum; - gsum -= goutsum; - bsum -= boutsum; - - stackstart = stackpointer - radius + div; - sir = stack[stackstart % div]; - - routsum -= sir[0]; - goutsum -= sir[1]; - boutsum -= sir[2]; - - if (y == 0) { - vmin[x] = Math.min(x + radius + 1, wm); - } - p = pix[yw + vmin[x]]; - - sir[0] = (p & 0xff0000) >> 16; - sir[1] = (p & 0x00ff00) >> 8; - sir[2] = (p & 0x0000ff); - - rinsum += sir[0]; - ginsum += sir[1]; - binsum += sir[2]; - - rsum += rinsum; - gsum += ginsum; - bsum += binsum; - - stackpointer = (stackpointer + 1) % div; - sir = stack[(stackpointer) % div]; - - routsum += sir[0]; - goutsum += sir[1]; - boutsum += sir[2]; - - rinsum -= sir[0]; - ginsum -= sir[1]; - binsum -= sir[2]; - - yi++; - } - yw += w; - } - for (x = 0; x < w; x++) { - rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; - yp = -radius * w; - for (i = -radius; i <= radius; i++) { - yi = Math.max(0, yp) + x; - - sir = stack[i + radius]; - - sir[0] = r[yi]; - sir[1] = g[yi]; - sir[2] = b[yi]; - - rbs = r1 - Math.abs(i); - - rsum += r[yi] * rbs; - gsum += g[yi] * rbs; - bsum += b[yi] * rbs; - - if (i > 0) { - rinsum += sir[0]; - ginsum += sir[1]; - binsum += sir[2]; - } else { - routsum += sir[0]; - goutsum += sir[1]; - boutsum += sir[2]; - } - - if (i < hm) { - yp += w; - } - } - yi = x; - stackpointer = radius; - for (y = 0; y < h; y++) { - // Preserve alpha channel: ( 0xff000000 & pix[yi] ) - pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum]; - - rsum -= routsum; - gsum -= goutsum; - bsum -= boutsum; - - stackstart = stackpointer - radius + div; - sir = stack[stackstart % div]; - - routsum -= sir[0]; - goutsum -= sir[1]; - boutsum -= sir[2]; - - if (x == 0) { - vmin[y] = Math.min(y + r1, hm) * w; - } - p = x + vmin[y]; - - sir[0] = r[p]; - sir[1] = g[p]; - sir[2] = b[p]; - - rinsum += sir[0]; - ginsum += sir[1]; - binsum += sir[2]; - - rsum += rinsum; - gsum += ginsum; - bsum += binsum; - - stackpointer = (stackpointer + 1) % div; - sir = stack[stackpointer]; - - routsum += sir[0]; - goutsum += sir[1]; - boutsum += sir[2]; - - rinsum -= sir[0]; - ginsum -= sir[1]; - binsum -= sir[2]; - - yi += w; - } - } - - bitmap.setPixels(pix, 0, w, 0, 0, w, h); - - return (bitmap); - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/ImageLoaderManager.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/ImageLoaderManager.java deleted file mode 100644 index b2a7d10cdb..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/image/ImageLoaderManager.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.zhidao.adas.client.utils.image; - -import android.content.Context; -import android.widget.ImageView; - -import com.bumptech.glide.Glide; -import com.bumptech.glide.Priority; -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.CircleCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; -import com.bumptech.glide.request.RequestOptions; - -import java.io.File; - -/** - * create by libo - * create on 2018/12/26 - * description Glide图片加载工具类 - */ -public class ImageLoaderManager { - - /** - * 默认加载方式 - * - * @param context - * @param url - * @param imageView - */ - public static void loadImage(Context context, String url, ImageView imageView) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .diskCacheStrategy(DiskCacheStrategy.ALL) - .dontAnimate(); - - Glide.with(context) - .load(url) - .apply(requestOptions) - .transition(DrawableTransitionOptions.withCrossFade()) - .into(imageView); - } - - /** - * 加载圆形图片 - * - * @param context - * @param url - * @param imageView - */ - public static void loadCircleImage(Context context, String url, ImageView imageView) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .dontAnimate() - .diskCacheStrategy(DiskCacheStrategy.ALL) - .bitmapTransform(new CircleCrop()); - - Glide.with(context) - .load(url) - .apply(requestOptions) - .transition(DrawableTransitionOptions.withCrossFade()) - .into(imageView); - } - - /** - * 加载圆角图片 - * - * @param context - * @param url - * @param imageView - * @param radius 圆角大小 - */ - public static void loadRoundImage(Context context, String url, ImageView imageView, int radius) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .dontAnimate() - .diskCacheStrategy(DiskCacheStrategy.ALL) - .transforms(new CenterCrop(), new RoundedCorners(radius)); - - Glide.with(context) - .load(url) - .apply(requestOptions) - .transition(DrawableTransitionOptions.withCrossFade()) - .into(imageView); - } - - /** - * 加载图片指定大小 - * - * @param context - * @param url - * @param imageView - * @param width - * @param height - */ - public static void loadSizeImage(Context context, String url, ImageView imageView, int width, int height) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .override(width, height) - .diskCacheStrategy(DiskCacheStrategy.RESOURCE); - - Glide.with(context) - .load(url) - .apply(requestOptions) - .transition(DrawableTransitionOptions.withCrossFade()) - .into(imageView); - } - - /** - * 加载资源文件 - * - * @param context - * @param resId - * @param imageView - */ - public static void loadImage(Context context, int resId, ImageView imageView) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .diskCacheStrategy(DiskCacheStrategy.ALL) - .centerCrop(); - - Glide.with(context) - .load(resId) - .apply(requestOptions) - .into(imageView); - } - - /** - * 加载本地图片文件 - * - * @param context - * @param file - * @param imageView - */ - public static void loadFileImage(Context context, File file, ImageView imageView) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .diskCacheStrategy(DiskCacheStrategy.ALL) - .centerCrop(); - - Glide.with(context) - .load(file) - .apply(requestOptions) - .into(imageView); - } - - /** - * 加载字节数组 - * - * @param context - * @param data - * @param imageView - */ - public static void loadByteImage(Context context, byte[] data, ImageView imageView) { - RequestOptions requestOptions = new RequestOptions() - .priority(Priority.HIGH) - .diskCacheStrategy(DiskCacheStrategy.ALL) - .centerCrop(); - - Glide.with(context) - .load(data) - .apply(requestOptions) - .placeholder(imageView.getDrawable()) - .into(imageView); - } - - /** - * 加载高斯模糊 - * - * @param context - * @param url - * @param imageView - * @param radius 模糊级数 最大25 - */ - public static void loadBlurImage(Context context, String url, ImageView imageView, int radius) { - RequestOptions requestOptions = new RequestOptions() - .override(300) - .transforms(new BlurTransformation(radius)); - - Glide.with(context) - .load(url) - .apply(requestOptions) - .transition(DrawableTransitionOptions.withCrossFade()) - .into(imageView); - } - - /** - * 加载gif图 - * - * @param context - * @param url - * @param imageView - */ - public static void loadGifImage(Context context, String url, ImageView imageView) { - Glide.with(context) - .load(url) - .into(imageView); - } -} \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/color/item_text_color.xml b/app_ipc_monitoring/src/main/res/color/item_text_color.xml deleted file mode 100644 index 4b611429b1..0000000000 --- a/app_ipc_monitoring/src/main/res/color/item_text_color.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/color/item_text_color1.xml b/app_ipc_monitoring/src/main/res/color/item_text_color1.xml deleted file mode 100644 index 0f67bce160..0000000000 --- a/app_ipc_monitoring/src/main/res/color/item_text_color1.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/bg_adas_dialog.xml b/app_ipc_monitoring/src/main/res/drawable/bg_adas_dialog.xml deleted file mode 100644 index cbfb69f454..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/bg_adas_dialog.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/bg_radio_button.xml b/app_ipc_monitoring/src/main/res/drawable/bg_radio_button.xml deleted file mode 100644 index 51b99e6dfb..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/bg_radio_button.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/bg_special_vehicle_float.xml b/app_ipc_monitoring/src/main/res/drawable/bg_special_vehicle_float.xml deleted file mode 100644 index f234ac57f3..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/bg_special_vehicle_float.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/border_title.png b/app_ipc_monitoring/src/main/res/drawable/border_title.png deleted file mode 100644 index 9bc911f3dc774a1c6d1b15ece84ebe4076bd1d22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6409 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 c*lHxz=)$3;H}2uA|2BYQMyCw(4V4a7SpBLDyZ diff --git a/app_ipc_monitoring/src/main/res/drawable/btn_bg.xml b/app_ipc_monitoring/src/main/res/drawable/btn_bg.xml deleted file mode 100644 index ba61bf76b4..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/btn_bg.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/btn_maximize_text_color.xml b/app_ipc_monitoring/src/main/res/drawable/btn_maximize_text_color.xml deleted file mode 100644 index f7b06336e2..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/btn_maximize_text_color.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/btn_special_vehicle_small_bg.xml b/app_ipc_monitoring/src/main/res/drawable/btn_special_vehicle_small_bg.xml deleted file mode 100644 index 35ec4217b8..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/btn_special_vehicle_small_bg.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/help.png b/app_ipc_monitoring/src/main/res/drawable/help.png deleted file mode 100644 index 7c4f62166e026fa2107d2f036bf1a7779fd4c3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378345 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

G#{KELT&ui+unjo)*5Vv)nHf3+!o6J~Clr z6P6>UG3Wktc>JQh0ONM&w)K!d<1wY;!)pRFf7%hb(d2_)L?n*>tRE0Y+UH}bCbKtnM$5)>2WO4!69*}1&msy zxQ!)kvzA&xQ?3B(qf0}|x9fnEegl{@Zg&yd!#XZm?3Xk{?6A^*^>SqzHHE`8!mTcB ztWjEEzw^eu-*66For4^?l-?Yez5Ld7hG$D9!EmK}ufYGvq{sz0V%IF3sk& zvVHMB`zd8%CAI7|!2BGA-R%30m4U2Z2^#$ue2oUvWsq$4a*Lz%Z`^6M!i!TLzwANa z=>^HFgx7}lmspbtFq%@pxjmP%(X#J0{--);YgqouG`z7#U*t)E{X@RaE7vCB1ee>D z?e6Cl#_e}=7m3}(mW#z`BGJ!Z5zqASOrGWjS0#T~vRkH?unm-AeHdteR#*z(uUeBC zBMxQLBq=yfU2v( zLw~hcHJX$UWu3?L!RZw9&qj;NW-<&!z((CNAHnD+t5lUF4bKqkp}hj1T(ukPa9579 zZ6H6{0E_Dixg5#!umF<=?_R=nPUk~h)_Y>&9T)9Thv85Yy6w?H%kzTYP73N>~3d zecRG#l=eX6LqlYOO!--gGo&FW?1F>(zm@5~+GP@1NhRh>V5D@}g6=o3zSAt}GTg@N z=EF+cxZss)o9RczfyEItG&DyECb2e+ko9>qGAaI4op^#ji{BN$F>xR|>qF3HUxpi8 z)%)8#Df%3VZt=s5x?X=*tB8M~0JT2xmPSiwNu3CgMtzi5F0e5mr6Wt&e5I~R)?rwi z;YM#+Yt7MdVq6Z^!_f3w#v6Jk4BvvTjcg^Gu^16uj2{tm1Ms3lsvCG#s>M?@gSTarh1ndPsDcl2IRjeWGeQNe`2G}b$so3umd z>rR{P0gD~c-kUGHUmO6*hJ4DgPtQUYfe}U(v5XJmhz=8P&sS7^rL)R*1wYdG|Ca>) z7{3YnkPI>-n!FO9gWV#bBEP0RUWmcL!Oxt$=xqWDG_GKVX?Zis57WJhSC6cNm^5#B zBYF%0>kYFYZ8U})Kv%R<9lnG5uH6TDF&b**0BE#bw7W(nMguxRAi~9T^GV?1-Z9EF z9{@u?d{(a0GkCf1WP54Y&PP2%z2t$|8%u}tpF9Xn{b4`-G@G2S@CQ;URVAd>XpE_Y zUExQoD@qP@!I@-K$YlQypq?c>c7@ybQ%ke7us4@7G#d2RbvGy7-CAi(_vJ9!BT~wc3C06GaV1ixjG_w zMyv^ah_lqrD|b=1CxX)h6G7EE$ZDO#6-zB3>MyArApB$QoW+-^HnSEFA_(aXpSN?; z{1rvs3F4I4rih-UNwL2QxOx8D#@ZiFyQ2V=Dq}yF?;2kLLz9a^e@HjITwBGZaVD7p zMIFx_QQvr6K8V!M;6!cAJ`K zo`L6c+0K=ObGQM$|7mMEXfTA{cv%`})hyB!M?l5kW5+-b+uK&ZG5k^r=$cZqF?x${ zHG$EMi=?ykki~>?uabN-iSonJJVPkiV+R@@R?OH;$X=_jCK?u2fn1*AF|WjcJK4aC z^C8*0(BYQXpRY<)<3IpTkE-J;Q5n13HYJ!L-R1R6^d$?F8H)Qg!}vLM?D<` zMRWuNQccRWp$c@sPV3!yVx0IRSgpF8>^U|ELKuK~h)Y()vt6Z<9g`YU=AR=dVG{}f zRI^t)|Am9|eBmtzB?JZX+ZxHElUM$78V7epVXgqhxKI_lKl&+0)nU}z=@)BppUWCQ zb1pTSpBPDdr$dpaI0JkOE!#Sg?(P&?nQWEG{Htqa55{+Pa_{wU#Gl#+SLSM~Svue$ z+<%`ki2KUE@q|_R3sD?J!$H6~Y3uPee8?g^WigsCAk|~gWQTFfX$}hLZhElLKxuB_ zHtK0*d+<9%+pU_xUVDq0ejHUT1$@{ixEYduY_R?HZNf1w{CvTJ;gTc)8#(|m(driB zvrv8h>xN5Fxz5KxjXqts-d>+(-1AyT;^t!jC4zZU<#S>??xt56l=0v z&C8nclHp)uKbZ7KV36K6YJ&lH^FzH_w;QH;?cKYjX|&a)^EdhN_O5kqFa%81@5 zF2l%UHf*b<&KKX}IKGi*JE>HJ@^DqmxI$|AUQFmz<#sgon^m2 zm>W`8n_lyn(fBHr=^2o|MMXpmWURsw#1eKrK!EEp3hbI<8LK@lqbvb%P80iq-`x$- zW~aT+p?KJ$YH5e_67C3~({~o&nGkMp^2?zsR5V{K;Erl0nI)-kRI>7aB&9?oKXRJIEg%|`WqD)xyjV=m}@@ur%Q=-9Z_-d_}%mQ zJ}!srHQDAio;;b-mHhorx81o2l_=D0v7u0FyO4NiQ$207i8`DJeC^% z-LUl8d7(}L1_;~!p-cF(S1=vfwaI6Jm<8^JsG&%-aP(~f3m6Iy~C0QT*;efBCdx+Fu(|lZ8<}n(D<&i zkj(cit)^aX=Ull{vEZ83|I#dlNRhK*QX%{Ec7gJ-3khdCX1Yv5oAivwf18#!Hc|EI z7vi}A(q9tktr*Dcc1Qd>X8}81KyRz?BL{^5H$-Bl;cDcg<pqITWlGy7o0;_)zGtJ^CR)`&vl|!=miq7N%7QL~BqR!J6r<7Dva#MD ziJtvNb0nK@D8n8mGmryZ+R0TZdeLEo(a#e%K!h;eofTtn1vFUbut`(rzmp}o9iA9t z@l8#$=;h0fA*2QcOt~q;q1Qqsw>D@0q_vz_=Fh&P&wCK(Bk(~`CCbf21Sk-L`BBQf zW~u1n#UJU}7AY(xI9vv+KOfCa$~Rce&sr&A*d#e| zjLS+&v>pTy)vRO0j=@fo@yVq3#WcYGVz=sf>g>9!TDc|uXsNK?r6*e&kU4iT2RkwR zseL*ZxFuTB!Tzc_vyKKb_o@%igxAIa_ha1Yvd{%Cl%LQAL(Q)FT!^;IOnxhrPpCVS z>DntUs0`n+rePP%Ww~Hoj42?=;oc6&GCq@j<{=pj10Gu<%I+JD+{`cGv_>DPirMfT zSqY13n^5e#UyWx%`+~cYnarP+mn5M9cWV}xmS$}-!6PM>o;BY8l01@Dz!VRmsSBuC z6_MJU68R4MMDV1W0W%)8H?r`F0+qa}D|gu&4b5fU_>x4#U(8?jI@fcW{~s|VX`vE3 zExN{?mtxUU>jD$y|0qFkKczFKmM+qbGdF=!DPjkhzQ zwuyH2ss@&_AHcpxzFcLjE8Px;8I@V?_R6p~$^gsceD?b=W<>6~xv9%a{a$E18k!ZN zb!zG|XzUN%I(6lmFZ6xR$8B&xA&vhX;^^jGtbOv`e0r06OUUFeO+#gjI=Dcfb9+a! zl`NM@d|={{YJw6T-Bz%YqTP$JuK-aY?xqz7z5kGS4RLDEb|I_B_V=4bBk(_B+zLaJ zPu5vBHa*8DBcg?-wT=;4PMPucdzL15u~m_2&ZNZBT``=`wYu%q;^|-m>lg(f3PgEX z@CWd{%;xo;YQi8j`xflZqUWq;q+m~&Q*>rN91FH1M|eAa#h!}d%I*UrKo7JV4Op&< zm>Snvp!z8p+3+4W?TLV=jT8l5~XFnat-J z$31Gj#My*ZL}Eqkjv_^k;tyP<=dw>-8jbK~^v-x{v33BT1N+;o3D{Dg(it@bm4Zum zYKw8T21$9kRQCrdLkh_CO%p6tI}-8{T%S%=1mHyYIO#}_{wwrG#bJ4Mg_WY$5^A8h zJ7GN^uqSa{=*d{lS`QQ^aVa+aT*-PXH zhBhYDgHxC1_#hWt^%OG8ulC0IE~TMFR1ZB5v%Qm5uG~<33b0HV0FAd5&rC*4e$%m8r{#`B=}7W+5wlT}*cj2T>-nFyBtXT*ZC6%bLO?Ss5W#Sem%(Y@XCGj?LXL z&ICB+l0rwNTmOk@Uz01D&}tFu97uIs9y8IhGL}07REp% z2p@1c{=-RPcS`;>EpZB3Sm1D@A~dfLgJ@xn7y{g?)U9tzHG#PYrNY#?hdCS~#3W;0 z@VI^0_nInsQ3;QR4J=0wsi-$xH%+ZL?2TVN3VqN_B`sVcMu9u^Rr_}Q5q~n$yjZHnoTrokbS+c0D>rxYj>y!_WUPTHLc~622`;}RCM&kED7SbiSzF6 zNK?CiZvQblDcAQ3WJ^xNee8dj80OZe*B&yT^BtgGMYQ2}&<7lT6~lT`<~3X;=5lw{ z+xwN07!pKh=CccG78eDFCCdwF!H|J+R=1UDctq9KWH7iZ>C;?TU0uP#PnXNh6Vn&= z?5y>O8Aps%V3ZH~_L0-Tc}ofPFFG!z|JGAy!0%xA86~>)wxgkGC_?V%1FfM!^escQ zAEj(~y$z;X5ih>v>{NZ|6u;G4JtCFs=i<($xCzMVuY^QIgqsKH7$7pr{G#p=DW)7A*D13MgKYj6r_ZHl=W0L}o2XSxQ9ZskdZyXExpEsjfes+39#TDCe;sb7Fa99son$5$* z$G(Sc?G;U4tQN}yYHCL!fXywu5jWX;!Np4#{Y-Rp?^48T?D*2ej3jjsZeQP$qvPXW?x(Vy5V8p{s5IxmvG?QO0$FOk|VC-}pO*!T0% zH-Rh6C&u9^(x$(FRcvYPul4*lCdMJ>6}E(*{t=79(N+V6R1k>WYSh)KoXAKaLj}nc z^6Mhk{d)PWBO>J3tav1t`Hu13H%JviclhPjq90ByB-qPZXBH3udIK2GCRX<=G=L={ za5ylCikFMFG@1ovbW)yYL;WXo=vHq9$XhFA>3Iy3A}d3vCWf_eS6P^O@b_Ab7YW1H zy!ko_rSv1qEK+uqjMNI{+HafyCc0(yb$>ELM66-TDCt)~R4}M_0SqHdIlkNZdAag} zJ&OKfMv$t6>-6tUhGMv)Lq$EWa50N*ozWS4E!WIhtW7*H_oq+OUGr}`>q19%bx9I& zytqek^coP}td~ZPqg#$$>BW+u;oMF7iaXVr&y9@)7CH+s9VsJLCJg+^MvK4zTK+F@ zTXmmb!0E3(Q&-k_B4{mrK0|pVTUZO7#TP7PJkr^EFxc~Ivy8{cFSAhFw zf>zVLOrjW837W)}Hv;Lpza~k z|6{j~)w30uojZp8;$vZGnmCeRAdMIEYpml-xY4>T2CeZ(WHRO==z9pGUd4}wd3l_! z3iAHq()Dk~xv%q8w$Mqo?kiypA+M|=)XmvL_4A{x+Xoc0e-%_4#9BB*j*7bG&%h|= zR;2>73^CE;W;I?$P;xBFePI%ztt1%*I~3kZHb?Qjn8nNG=8pU*s*+sma8cJ-B`l6> z-tNt#Q-?P879Ctg0go1MTtDM1s8eZQGWyL5hw~)W{=ibVB6%W}c;-&8bC;iriJRuA zlp1SQZW?+jXZc2zwoL1pPkEA|)sq~icjOv{ra@=$zA7k=PXnDx7RdYh3-nJf)3Rnz zVD=gDpMoDf4fQ`FV1`2Uvmm0;Jk!9Bkv$56GR-ZH5W4}5&VAVXyO?sVxaFx ze8e+la&QRtp5Jn~O_}Ya#CCe|zQ007t$3GP;Bgl8*rBUJWZ5%5azAd8@zYQ%*{9x` z<*o^ji9y>MTP3CjwBCs9VOPYr7?JZoxY6YYq5Gvh zr_i7Beg1ylnNN7T1^w~~1$Fmfn8kyJpMXm}G@#hooctmF<%LyX_COtvo4YxD8<3s- z;d6G}$*{YG?>AzCs5IQtY>VoN=lFVvh-bBY0~k_Hz30v-@nW9Pv2(+GD5woCms}cM zs0dg#jSA#HTa>65&pyBuX$AZa8aNp0((Gj(Y1(^Fs~QQhawX1bW86_wO|bodm{YTAdL*mc&1H|RM$br4j*6Br4GZh@r9Xlx z@VDZ78(3A_@@47Zl4Ts`4^x@@rCn*AJocrwFM%bZW$ND5r8*UPx5fka;*)(}{RAkb zQTMtsZY#en>!?^UVv-gCxmO4+kisdU&^^Aa(XjUin|rd(Sl)dO@{Aixzg7z0VC%w? zV;tdKdSTMSbuMkJ@+^MgcN#^<8Z1x+ZbdOr&VBsARY5^ zpje^EksV3C3;|37({-Yg8VTU&X}`)WC#Ym4cE_5!gZafA>`DK4K(I?Tz&NeVt`!V! z<6w{S;#KIEorr(*80E|1e4{`Gaz5^J5rH{$u*S#Rd=_Y)p^Bet60j4-g-j2xi3Oq? zW(+HOrtU(#gNX#Y-KCkzjmP}pP6G#yUwiV1wn7H9PnJ=$r zz41d^?_6*?2rY`qZYk=R26uzb<_o_EdR(D{@XBn$7_c-z?KT?X-3*s-!v|cOCf)rL z^H>>x#Yok=eZ9M?wV3i67w*0md=nO-k&q^wX~D%V2pg{v~$K5@Xm zKQfD_za4QFYL?Y%aRky#HWzu(`VJ=fH=h1Ll&n`ziVAz#=9iyQGqMMufRA2-{r>6K ze`LV9Z-+@8x!+^V49pB{0)-zGPG2+E^6Fb!24lk}B}w{PzLA=eu&d!=2>nDN08`-p z%z`Ic1l7py?ByR)6}sjr^R~(8eU^^HX=u><3{%095{nDnYvbxZ8NIY&HoV4&=r3j^ zO3H4%SyxCtI1Cc8lY)|a=Hn6_j1!($-DUD^mfvZ3aPEkc;f>r* z$RmWqyVBBlw&%DvdkP)Q=)Y2r(7urmS15uFFG=8Sz4(jd)IHF1rTJb3oHW&mheVJt z2EV|4Hup%-gftp>W~fX0!~$3D%ETilBLmlY%EIQuvK1w#I54qgs>P8uNhI)#O40EQ z*c2w+_}nu+yv89x{20fl-V0+pS|Az4N|Rxj>HX##;zb?5A%TO=RPoT5q%DH16+v2Y z%7mVGD0=p7=f#5YuW-W{dMzh?CIp9F>452n@*%|R2CPOhf4dTT_)4AXKg{>IMU$Dp z-ZT=@a$FSUwb^ZS}&z#1hz8Wp3zbB!M)tC=d~v=D z6FJZvynUtxT;7VDri@SG{ALvxeuNvbn0pSHtmF0i8iL%Txos@?( zG{Pv;G~s~RD&>4mBODJTMM@%cU7lp!Ouoq`^C5AiSkM-DW~qRc^RasGjv3}V)1=O| zY{gy4)`4Z!Bct@A;QSIX-FybgcmY@_Fn;!1$wNOC7zj9G9DvSB^1$n`&N^`PQ$30f`X}q*` zSI8a%h+6?a=%b%!*Bf%k-UJSmc9k2E_%d0K&5uQACDTLroi``+_CmK^gJ0|?EA{&? z(R1JFDDnREb`HRz7-Q(&>Hca;tx zHLD2NH4U^rn{wPLYpk!q8l_PAgL&%D2 zQTyq7<3B5|VwJY}Yq?=o2b#AQra~Xu-I1mt?S8t%cv|lY`*5|_IP7xb992vHDUeJ>>Yg;w`Q`#PA+kiT z4c<-M33Wguz_rV+cX23m%6YW@Wc}LOeEevSOk=xN3B;`|I zW=N>(cNS6M?6s+DrK>U|>XiNNsOC)g(9xx}Zw+i`*p+{KdVgQlEyaxX|X^?S83JFpKx~Cmcp{ z7b}T37Y-?i6>H-0idJ>hqruw5g%=*>g9Rs*@0LL+E1|E?hIVnR0}Okp=GeT$%~haD zEa8mHZG45I;dCSaFSQ`&pX~uj5!b?|6yO-1uYiEb_rH51ZO7d2Y=x85ugFy^jZZT% zOEGH<(nHl=X7-?_BW*2@$h}0(#&R5q$9EvCy%4L z;nmFciUx`{d3ETVhVq)_g}{XAr%lZDpIzcWP~%8QFD4+=`23|)ix(&WuSE)U*9q)* zq?SIP7ge$G|$K*FYp`g1WqHbn@W^KSE zASfVXi6_HpO=jmZ!CPhh=8uleu@l${yG&;ayY+G`#+F{h0gp&c!SYLUFSMsrQDw~C zVBLyCAGV9QY9p#ZQNp+re~O$`35j`EnDgqAymI*`ot6$c`yOKyMJ9Z7VJ!0^nfAoE zccJ_osdaC{6~pIZoNL?QVht1hTHRRWjEsg&OuNz!$90&|37!Udcz&+z?O`O9I%(W2 zKHKsFyv^f!I(tOMGWaW==Q~C#(9JIp)9nO2488OIO+sZ1CG9L!h~6J!d;$#sdUR5W zRF!`1gY}?eeWoz!>qw=&{R2zt`Nv6n-h#g#$OOKYvv*ohL#jo^BT&PeJy?&VRDcp& zceV4;$-Gyn&MV)&%*kt#R$Yo)F0fmDmKS(X)8gChEU-z`;gGA=0T=N;Tw@RFfJp;S zIJ;%FeFm#me;&+U?(5m@`&_#J)^(}$Ccgn$Qa6){&c<*eq!w2lL8wb9S+EgS)IRG{ zdR(j~+gEmJ=7W_y!FMaouHb_MOB>!*OBII0QqMl9*8t1xavYhZb#N-CbgF&3@I%VH zNVzO}O;b}4I1LT!&Bs?3eD;D^bNf1G3D@R^#l&T+6iShmonUgn%o9^mfN@f&*f%A{ zON^H}s1*>R9F2rZz(`;i?=h#fWXX4^msu*UY6k1k;h&?zssI{Gh2?Q1g!F%jK4zvt!TwaoIbGb zSGvV7GgfGZ!eoG{_@FauE`7(g4UUqC|8#XG=U3^%p#)~LbL#sT*|x@Llh0`Cpo2%t z^dG-($FqTF_0iq&$uSmTJ9Gfk;aadVFs(kv&^8P1Sj%xM=)1vNp1CKy$!duv{*=^l zQ1te75s#T5^MSjl@aSl?z{Zgv0$h1M3EINLJW8PAcq$v)3)Y`*fa$j4s>GCRHXz@; zr9JJzQQ-0-rQfs_9J*9)2Yq(u)_0#g7y2H^i)DIwyjgcY^}UxjX*nv39(10pmB+{s zG`zRV=*4>c*V-LG7$qBcR@|*`B$dI}b^6R4%G+_|XBFdGKgf?Rrg8^uTQ%3lND#x( z*3hvYm(|8}q((ikW7?ItmTquzW1V+CB?Yy*B6tUN~+|o{FNLc@EC5x1$ zyN9$tp!SD?Vm-3%-VH15Tfw>T`hbem@0zV;g$E~L{RA0qS|5RW(jyH(mAo|I4m^Kg z$?Ab8hMj+euMmH#1-mw^EskPqryi+)Su zGFr;-+tN`F;jMh(u1#kJaF@3Tg#QGbRcj)V{w7aYGq%bE&+`&e@=jo7OC3JP3nw0s z>z^kkrO;Xu0==lD6k86vU0sM@xn!iT=@aHgZR`nLh1WbnwTOe{c{#H_%lfZMSBNWOsBYX`<>am28-eK%TmXq zpl2@0DTj%P(Wr0FN3(dgE_`#H)LHpuVN`Glk#nh5hJ zf97(lE+J!BOMT+2D7WcwZt0|;19Lu;x z>xJ({5;1H&H}1k??;duk25DNvF{i7G=ZeYh_Q;&wShQhsF6jOooWaKr?G?r6G~2SMv0&l=`r)m9NVO)nFsdn%qdvX*4$iz zqg<|Y_CCz%X_l=YnReMv7u+3F9ol$63bFhyu+NkSPRNw#(Q$E-w8w%an|^|Mbo>90 zt+RfsG7I}X3J6Gtv~+E{yPHjSgMdhPH_{!FN;g~SZln>UOEw+S-OYKJnfE>Chw~4N z*IexNtb2Xqa~Ib?rlgZhHEaf&FgKF6b)VTe^J{n`cAgF#i7QB=XAizRPpZ(Y_O+II zsnfBj`9Iz#r*jvPhl{_x{Okc172oc#8;TBZ1iqCsyg1`mc}5R#MSlM8DMSuzj60js zQ^~3i0ZFsaY8Y7?c`3J(*7^41v~MLNzqp}1uV+80_R%0uT@v77As!5BZl^3(A^T`QQR0dWiq_a>Osv5 zsE_Up9fqztE~s*DL~>PEeT129R08iNFCQX|plLr_RJIF25`mfjht`!>eOzs_XpuwH_}j= zy-Q}H@Z4h#@$V(4lAR5IW0%n<{Ro@wA-?zb^~t8=yi^;Hb49DVE~+;nR(%VrvdskJ`C84`GSUTM0`UcpPmNocb3iIzJ(RP zzZkDmF_#)8b~2(Tsz{<9=U|0;So6}o?_fw7EQ0(fL2O2Xj#9zc($$;omCD?QK}Cdk z_L<*1e7`b^0PLRrpi7JK{7;yGY=Nx4TPYz<$+}&cq!rn!HS`wa&cOJ=;&}6o_HnXH zmJ6U@FskGAxPh4k3pWtW8+Ezbqt%i)ZJnOk`;l~5(b>qM9^@qTdt@{hOeB8Su{7di zPbD!aULBk0?Wah6(J2A+0Z6>JH$MxM3>9~Z-!-_nOvU|BMXtO)>I;TEOWX+Eeq}OY zQIyz?CiNB4WihhXK@iX`pJI+|CkYTiMeodtT7|s_cq>BK?w4;VNEx!s+S=AsAyITc zJh^Ntk^_0v?jvI-`CYNcp7kP2&bP@e@3|!flUI0HW0)JrLQGCcfuEh3d?E6y52CC3 zwu=FZEUrEhVPR4`vFAP?7n>nwJyknYkm@fO z|BBr!Hb)8zC=m9ock3|rmb}2HEgea~UQNyMiE^bbD11z${DDAGV0v;H1glf2kVcZb z!hQLjR&NFrl{Ad7K6IztdzF{m>gt<2{gYlu-`a3~&?|`qE?~J;I+Kk28`syGRk9!n z3Q6?yzNCeXGiV;~g-n2AR31~f{f7liT^L@65vviWSU6`Nyo{3ajn*B#1Vx5AJvio5q9*2jlP({JvPsAd++#hgEc=jL5=M`{DCk{^m2ss%*FeZ z-+kW}g2}?Yxb(Yf%D1cJF}DcBUzgnOD4<%Kw7U48v#X-%&ONq} z?0r=P&U)-z<_rB>lX*6C#G6tHYVuJ9rJ;}=3l!Z%%5b$PYM|g#vC4hi3;@try|94JC0tl?&RZAbOf-DKM+%-Q5q5lr*V<`B2iVnv|^I z^%py1oG3^{q<_{F4JB~;j*&Wy<@78(k47MNdZ61=e;hEOSUg61-DoFP+;W-VGmVd_ z+v+~2;J~=Nr0^|)>qB#$KigTYhz~mY$NN@c1hm3hg9=c)1Nna;z5J-ov9GqPDps-dw7qr6kgf~@m0!ZCZ+ImB*j*36-uSgXZBdQz^8@$Qh zlTKg8uXbXQ6l9TjhK&CFoB=aRl!jV_f1?ERWIxi3DoVg~>7JJGVp!d~38ruAR#* z?y9P@Qf`klgI3_{>|Xq2B+;S|N58?p*k6X*t@_PlsVp795TzU{ChLObyBkUA*mt8= ztYL1hwGmi1>?qHPo5sLWT0BWRel-YRW$8cvYDulET?nfiI$XQ;pjIG6C?5AU=PLO< z$F9*$#tJ$)GzbB`q0LW#lkOFdRD`=^3pyt?8O_t8yVyAqIi{&RY(OnLLz0=5^-TR)bl4XG_S63G&0W>lEn;G++%y2F@0SDcdSugda+jb zA$aSO(NT(n%-_l$1ea&j;!0W5a7b@8O?!GS`=tcGtZ*c_=%2i@yVJt5_tKbZk@lIj zfw@*IN+Bn6Jg4d1DTMumpOSkh5F$EFH^e7=b7CTipie7-|L+Lo-T&gUMkWlVe;RMF z0wd{+TL-DJlRCGlsZ(PK#4qEvdzZhMtg6sCnPiaL>&t8npbCvR^e)NA9XdZxo)nJE z&og^fNV_A3SJVwO$Ae`}zRRn~^7+6N5W$H?e^FHeG?#`F zQePc1n05!Y3}H0eW_ADm3(anXD|*s7wWBp3tg({?(WJ_*$n`lsy=2q8E3r4xxON-; z(jTRe*~-N8a{${s*Ct8r#=DeT2w4n*C|f5Z6vjkef0YJ=kEgkpI}PD|FP((UWsA3O z+<2XS31X7+8I8-c7y{u4CbeEYuv%v{SFX{PLy`OGncF%^W=FhA)HaH}QhxaYd);w% zyYCO$%@}m>^SvOQMg;8FI@o5!&7oAx_?%8m3ZsASqVy2iJ-;`G=wlCUAVO`PC0+XJ zYtdBEb&)-tPj8)hasX$zZ(XG4P~u3p#kBZ)k#lr%Ae`IaOVN{#7LLzVo%a0@oeE_8 zbV>S6N1{`vHZ3SyVpR<)Nydyg1+;#*XxzoCUkGUM`glYWPLTb1FZb}f3WBWFv z+m@kK%OCQrJPwYdq9DOK~N@VLl#h7bX zbkmBvFDo#PWoAuOY9N`*<~-jnNnOtAIdyk0Hm@s6*)k`;3gZ8a_VfwaeP58}{e0^i zpqNX;U+PX=&)?+|>m8FnT9}NhlV*C`J|V|n(vBM4JN83~u3oOdr*?9X@{u_{J0M|4 zDJYM{e$_B=w&?c+2d&`wPD!`|D2Oy$TBC|vBHrg}GEzxuQG;LUcUm0Y9>)Qx47Wsh zSpR~ixQgB}@bZZ$Bb=^IofIbegaj^sw0W_R_q0!S|F4BCX6s7j?xSOowSt#@|4^F*$pHS~%tQzNi`r1Dj;pgZCLAG1{aTcP$ zZu-u-n24?`omh8QZk98`31e34&tEda@zU_{>wk?ILKiZa6USgNym#{f7jg0*ds+5= zs0-8G9jzO4BFlA|^I2 zeLV;5CO&iHLTMn(Vh%6K*KeE>Cr^G6D4uW9d~Xwv!J34Cp&7g;lCWs6h6|Jr(FJMUM56a zA3HT%Mk#+69nMX^DLrnp*aD|6J+boTKBS@+mTz0N1=7o_bP@{t&({wSKxg~)t_i4K zAJ8qSf1}`&3M6eP4~&Gp6tLeFUl(!aQARx@h5grFdHXdRC1WE;!UF|#MgVw~z>lC8+-o0S{b+5bvOSb9DAh8@GiSAoGyT=^ zd`zgX7S4IwnpY*GWej7bO}ENU$)Q?g=T<3J_|7!5FhQd$y$Cp^p!z4IdKp8pIKKRO zG}Ne#0aa)BNCf5JiLKg{b-tLQ*P;@(Cij!I^}{w{Q5todB--`YL2xQ^@(WDk0b z-z{1gNoW=S&I^OJR!O>gNNH#7A#+`J!blcvz|^M#^QTsdK!ZL}p5RAc*D{*j{_t)% z&o_*v$y#@;&3;-KDmAm`Z+A;IFs#hF{I23*HFvtn8m5#KCnv2A$>d~nrEDjqd3HX^ z{!d5_PeP1Czd$gYIQF`*SPF@bdwyZ?fp_=~1rhhxnD4&}#S1jG_V5||dx=`#oABEw zOYZ!YKRIIbSS5Q=VH7+c=BV=KD%bw51b`%pOdq$%KO$V-ZVoZ>R}lvD zlYBXe0lfA*A)v^fRHIWXHgXd=x&5l&nVR+#$6b{m5&A@oZM9=QvX7FRQQ^#t= z;;a3HqZ9&q#dkqaU>kACPB)FnoqabmU6T}TIN-1muV`_)s>@1Ike>(&=3vi2#Ix{O zdyp|b%28<2<*xjj!Iw@!5>5|vr?Q#iYD%zJ!+;Hg2>sEDxVS%5CqG6yzUjcBH#7T2q~zG|B*V% zBx#yOl-A8+rf&*FcvYo;34Vw|a=BV>TMv<(XDBtJ5SlC15iF7A6DUnIOS*)74kIT{!<+!CjLpw9B67M#91|@LYS9Xc4Q@|T z`$9fYQ5RC}XU3@J{LG%Zkxq^LUL%DZ38D}L;yMs=<+qg`kXUl^P8`0tFXrXtCzIc< z7`(1On8sTR&}N|^-4{@rtXktN4pM7jk1@Ag+GOk_clnf<3e`ZgkbXyNQ7~0%a$FoB zoNr<_rJAr${?Ek|Q=V|72BWTg0F)lr0cmwDYrZY~Ezqb+e;P0;V>|!6mcXoeVij+_ zo)^oEptRB_qyD5C_Ayn#o^+so6kld^N#+@p!P=(Jg_5>a&TiA^^jo*wK`84BC=l@F z;V8W|!&@`3p?*(kMlGfiFBFesVY{+<<_nCcR_gF-*K;p6+Zf=pQ}W%qu^yUTZr&r8 zKMEMbN*5ApSQrh29clz%V%zus!#j?tmy5ecakiseO9jmyw@0z8W4@(i}CLaB6kIsPswg!B? z_oLWt_9NmS@0&M3+CU2bnA??UQ{8!41$a{ZhaNFLs_(#OSG>+Qr zo5%)^#mQ_yycKKbWk9GHwgzxe3TjPu{h3Kp*o*kbFkvGF4_7FR4l3^_iYEy5cw?pi0+iDs z?ZNq(w>?ThPp3jq6Kqiq6>kIghJ~$<$UPono$llrEua8VNW>(mr=!0^Q=iq7dmNS| zFKp(kc{J!d^*Xf*4~nMSL5kyXc8E6{9_BlbRL$xz`}sch^2TO@xKh5m62H4pUVpbU>?ZTJnSAgHV7rkYR41)G}GGyx#zlVHs#f z1AlU^$pk6Df*Q{U;fFMR0S!%^Wk~G?cU6Y)9~FXzUq2pN2>q~GB>&&C&a$?w=bXy} zzv4H23E3E_T?1^F0Lg$_@SVOopk{o^P}YXF-QRr)7$w)47v4;LezZ`OoKMjEduDp| zM=K&K7W4g1M3rp0Stm7MgZ%7{wBs^m@J>B_{6d+Z2`$Zf$Tu@(dn)jDbautq<+QnY zgk2gae>e6DU^<2YN#ChL_R9;$eh-?44DgX{cDLd9#7|TOJn(Y{ll&WU(T{3q^3aVl zrfoLgJ8n#1tSy+{ld!U*MJZ(fu3&Wery1<$c9xyuV^pMA6);jk2K}F@;2cHW*I6Dw z$SM>-8if6zprYAU!Frx>x{a+PE$um*HTKrUp|Vv(+_POO(6ySbG$2#5u%z*_(rhf{ zEiMJPPl!w2Q8Y8y?q^(Yj*St`rUh zDxLXLa^b(^vW}K&D@;2?znN(f^^+&><{>-_5qYkdDEIPs2`pl6FZr=ftp;s6xC($R zf6EQuXi1wNWL+8P{*i8!*}|J z-__wMDK0o5ji#u|!{7L&ksk5tjYma{R1(x=e(rtZ((rra*=%Xc^oQSTO9JOoBJ{~u z?jtc3bjAv!SfbsfYby?YfMMV3XuYvVg-kk#$*j$du3+e?QaDAmEn@i6eCtwwooQ6NW?)cfxyZBp8C31q@&fB2EO|8w?kJZ zU-0A?D4PZC1)Sx3vy=L>_WS*H5a6B7am~GzJ|5Lp)=5hyU(M&&CRv&MAg|zGr`S8l zAco`JZ?*k|&f{Np<`U1KC&yU4^_S>-&L`gL;Rio8ePUx_m=!-L+=%s^wL(4`Kx~U3 zb1Z8qnaGJpZ&iu1oNx`uajL?z2Qfb+HzTqMbsT4z|_p*K2gMbrE*~vzMRhupHj& zpW9$%d-ZV%G4MoQ@%QwWRkCb^cBvKacaCOLC6RG}_LXbj_Znym(*eX`<=^^64*Sk@ z>Qt@laDtwMWxJ3{=bJ?#g|7h^Z2WTHP^X6B+N+=7Ppa%SogT(MOBZ|!eHh$2B+nPk zW|S_Gqw64?hUxU5mu4KmfBELUx_qFOiHd~X@8Uoj4G0@=v&`mnaL4=b&p9%|-|`C! z@uV6A6!|8ycsPu$D45+RknkxfQ^Cwhik0|7NevL=a8f2B09hc@0RV_#er;USK(nuea$v5tUw+f z0Oc+wWBb$64pn%)=RO(Qv5!vqEh;XG%KaOw1xrh;VKh)}N5Y&>?cq7uh%%#)f89LV z*W3HH;uB$b3SOUgiGiNT&v+e@pYJ^QS#%Onzd<#QFV~I{SF?ToK&!ouu-GjOm&g z7d1I{C2mz_b76?%01%?UU-?bwMp#eP^!$DAM;MYaWX*|;J>{pU;C*Nx&CFai_K;u- z%<8gEkbHa|Ely@PzquNoZZ{xHQ?k8ZaH}qQ9R7ob_LaS7bpGa4h@KV06AoX8xb}OG;`MHc9>eargg@wf`%A9)VIMG`5`^FSKn*U=Y_E5zE zpGZNM%S5#xjQK~G6aFJ1BsJ@GadiJ<`3(q9BbVvSsQh|f9B|tZoLVXSU5hwZO2k07 z)sc&8vO2Z=BWi)1$mzID+8iz-jLWCX@j|gkbaW4kwKoZiV#91XQ8<+}>E?bj)J zUN!t+18VMr)~K!(TTH9+!Fd&)J-<4g>0==isAq1iRfM$|f?JNv&QZSF4;9J&X zpD(N1!2EF1*@en^eF3~5q_3-OoHl^*-IgI_|D(nqa|+nc%+JJ4faPimzuu8cJn`dA z8%JyOnZqRa3mS%w$gJy*L#J91mw56#Ub%(v80HsM?51`63qKhE1!iV$4is-%@?bMZ*LVd`A z0WY#N{ie26g(lfzQaFmGoAUPAJP zrOj1k%*85|NcRTc4<)m6+S>BJ9XXDc!vVSg{{;T1NLqu+KkeQOQ@>wIax+z$27p^X z5z2=_5*QGpUx!Sfq#ddV7xzUhc}tS1AsrAVsBe|7c0w(8Xzm$a=;i zpk3{)tzTjA~WE~WW<7@DCxVX|qhO7qeMxxBA1y`6in+A1zw zr1hP&o)DM)+n9YQ85&YK zt9E=OPymua1e2!n_rp3q4Rx^|_6Ar$;zTp-A}@{6m_;yT=@ju^V+Vd_Xg6!b8J(EJ zhX=sheMk991L@Q@)j0lka^;MNK98Qw_WX$!0HCjlidmJ>j)~;{*HQwy*|XLCeqnqG zfrl)+BoIlljTbz@?6B!A6>Bh{CZfnxW1byD2dcB5y89+3nd-gdZxl>xC8;Yb3 z&Zylv_>?Y|3-IrC0O~27dP%QUzyrfjaW2je5#MDTc$b$1OB3ZBBu9%FujiMPY2(Wd zhx|ecBY^0|q+~Sf&du2eK*?9v59pvuw-ueBdiMYDb!-)S$1B(hUSLRgJTn2A^ zYIeBH!Ocie=sLeE)^LSEs4_q+&nQwETI(nR(@Wevj2$z7@0^YLj=MD)8Y?V!9O7gC zNZXB>zz@GKOsbKSICVZjAip6jGE*dT&JMH}-i{gu1OaoK7Qm|*i`kt&g$il2UTrs3 zNV)VkNdDlL!US6WGGiC;*kK7A#cM8B@}Ad|=y_vxrq(iJnJ2&1r3k>f|LFWD*yf0i zV@8A(%c05S!(`WjSmOl3J=tveNc=p^p#Xo_Y@)apTrT_{9L!{Q%O$- z{ozkNuUp^6EhF{IyQ_TVyK$dIUUp7|@=J7!0jh66(QH1v8!!SiD&zm?>=H^@ZxejE_MX>r1j;y}X%7$-vBHAU#U{{Y1xC+w z>cP7S;S?k{-o0JyHXtl&bSMyI0#@|fhrRU>zhO3h<>TQ6wK(5ezkF)Xw?%8Q%Wk^v zlMPu(;fNvVDX`|+B;+t62y(omtTy&8nuz`n&zMx#L;OL8dC+}&wkXWLgsVX{{+a$X z3&C}aoc`DCK_F{`0*&97MY|FFEkn{i>bz|kpts~#_9&o?hZd-P1eXh7*G$&Jo`3rX z2JD?tl4o+@4zTR3)Qtxlm`y>%gt#V|IluJ>*h5_u2u0>}S;UE%w zH9c$>C-*Pv>MH2Z&QdO94(=O5dZ>I(r=ORvkx-|uJh>i@T9o`QU{pL7C(iHMKPi~V z-!nkQVM&284a!Y5`C}@eT6bN+b=Ose8DV0>$Y)r|u+Dv($-R0@d5StZkd z)U6zkIT~F*ZsD8=r~U#hCL5P39NexqJA3rRrlRJQ(ssXyWJndQ?V*d3tkjJw&o zxUsRMm?@Mk%5e9uR*Qbl{0j8aJWn>=g4RWX*pUUjnJXnoc8yZu)MMOakFNgYMrpx_ zRm8*cYp@dl5Pq_4+4>HXnO>xDwcxbMo|BvA2dr!;UnB!|zI*6{_=C)1nm_ihK5AHt z&Pj5I6g30f&7tySEM?zwR)dDM7HT}IS^f)|XV2i?fGyFnA_kl^cp)#}^?-i&^=?0M zni!TZ6i<|y9D}>on)%Dc*-2$ z3;7dAUq%4>#%+{2h4^S@P(l2a?(_bV0M~|V4_ngJqnd&xV)i4qw!_0c^OG4Cjmvo| z;VEgPp|RbqOmbxUxQbvF4?;w8-+dgPGtfel)c7!|mcPHQCu=i^MTCo639K*iSCe=c zcqxMKh62-%0!pnG30{R)zv-#SozO+aA{r}y7U4ye;a@jd-r1vxj?5dsC4$86Sz_Os zkD|<38P`A)g^W>fEqs(-DXs=ag_>fh?E(V;!_3_aR|eIyprLf$!)GDDUcjh&Easy= z19)C#=flcEQI@ZtVq$Q)s^h%U=$EZxW)mnr~rg znS8qfI6>Y&h@y>{hUwLhy7cbs%vhWY{vvI?{*06hNI&RG(XFcQ)M!M17$# z_*8Z&^q(Yho_C)gA{n^(TS@F%tGG8{vq9n<%#r|0hDnTt=`g_AQv9gdlA{LiIQCis z;QW88T^v!vcJ5XKsj}LGjU`@aFU$tL`#g6LGP7L8?6uVoPX(OXQe^LdY}KIUz8kl~ zSmDf-<$h*c;XAAGb_emg(xP|5BwRb5Hj4JGtw`F!@8WkXIlZh5FdTm~U_bpzJ#kpV zxoG4>H+wml^mR&g_Mlfq&Ls+Lr=buDg4#2#yu7zk%h!xLg4iV~ zx|Sx-ehc8T?Is19%VS)MuYAoixP1L&Kr^H|c}#YeH+vAY2rB=aRlu=0oT?i3vwKWc_p~1xz~G)WT9YQh;C=9@%*`u&j=B{izm!v0*hU5^5M1)=mCBDiB4vb4RvcnG=p- zNnOz=ZbS({hHFo_zqmj2yZ{cp>I;GG3p+Z$|07#-yJdLqv%f%~NTVT!dAHt5(m!p; zEk82I7(7<=nouQmf<$X`R^1n{_(J&N7z7r_#0sp^B15Om*}CKF$(B7DruZGNKd2HK z!CsU`%xqW*IA$r2eC4%+RH8RR$rZPq^DzRGB}H|W#>D1DZj`crSY2+}RFxun?a`eN z7g}>Go5Dm~E~}T%@yt;6jowlE%;A`ujiF9+W?^EgTCzGqnsOr0TRQc5YBT7PTJ;Xm zFOP-PynPBU&J+@pZ|B8*I1BCCOiU$!!s3EKQ=A}bcr`qJ{HWPH{}tBr$e0=Q z(P1~mW{@QBT?92}J2imT^xSx|!M~hhE}G@-Y1Qu8ZnxqvUKo{)(6G_2vq4+CaW;)o1sxl$&YaM0n^G&dDM~>6J~3w?O}8>i=7D1 zi8+xqMfmcs%GUM%;CVgsymLRg8}mZ~&l5WD!F7`gi#8m!!|Zx0NDBG9d7j82r(vwv zxVT3vfqBv4S&{BC&o;$YMTkxx#>^?qUE|g$dz*mN#0~0ux*=VD_x^=iiv*wFaIyCv zf#|*`e?T@JcBCS3#GZH@d-w&7>%|G!|M_p}fdbvei0DDLZDjS?>Z}c7*2mAu3a>JS z1YZXOaml=K)^?xtc6!~xUoeT1t>y3X&aJEt9l>9 zmK?8FzE5+M^RklZhCZW~u?*4Ic3Q?2bA3D|ZCBxU?KeLE!qVD^@F~uo#>l%boO)kY zWvK30h7arZaSoA5M;eD*H;pVup^!lcdvz~|qrO-{ynrltj8W8L#J5>*HLaov!N z3iVhq3NdFwTHvwfV51aWL+<+iVQOcKu=<@_etsNNB&I&58~qkumJ^*f=Uj^;72cC_ zP?hm6hSas+rk;HiuyiR;`N!E1M%AP_0 zTz6X~GS0XQ8Yesers=2MDljML;9W>(vfmcbx6o<)e#TLv)2zPH##K^y9`e2zeDA#m z7`y}h(?5mu*?|6rcpJcU1QtJrrxr0hQ5v*Q8gV1&FLf#yw6$K216n?Eo-6`JsdS*-k6C9^g7Mrp@B?+f z5L-0HXm8iUnW z&-bx!nEHUkbY45BP_qx#g=mLN^o{XHotn7b2qP}ZF;_5)gq`;yi%)OE{a4Ac_D+NN$nz`Y?O08L&Ez>27BkL~i*Fz=pNs0U*bzE~2LM)grp7$9L@~Jg$e#$qVuyQB;oGXAhcV zet2A}J3&x(4Rm=CAwcZ|L34Oh8mNb0$8^}$nYK)CHrAI&Sx}p<=iW(Akx#na<;xu= zjL0u*0YO51J8U4mfZ6>vUlF)KcslAQ(6s+XeH;K=5vj|N1sNR6MRZZcUgrrx`GKzn zJu!3SCoaEgM^pXw7z`>hJ@#gyJXGd9rvob9E`$@HusB2``04^z?(y6I#j7Xa$#?Hmt?0#|i8wz8yuVCy`c8nD8 zx9eS@dgEi^(R8;H4YShT7M<=5G>cfr8~IXr!AIY2XDA5H{~FTzI{`KwP3HYZ4JCh$>;}$=&HU z@jx}%r49sp?V zyw;_*BHqYL{bgc(B$Z}VQDjQaJv&PdK^8laCKNq7Exs^q49CZ(g80DJsEPJ46+dgx~rQ#W}GS4wR*9n%hKsWnMB7Fi$_JsLb&Wl@sCRH{QB zUguo>^4#^0J(5ZD3K=yG6SHuv@-d z_}$@l46E02cGaHF0=C&p>P>Z+#c|jG>wVy-Qp!dwul_M-C^HLbR3@ zM*gyxL;#A?M5VV5`wVY5xpd>`s}bY4oBluSzLE-C8)dd|*mhWg#eubbf^0gO*(F(%uEemTE%(*BV?_S6%W zJ|~5yN2tJw2*v{V*wa1e77nT&4O7PK=W4?*nlQ3FUs9#*N&QOL_deU%^1D!&z460L zWv-C6|0WOYA2v7kkYx>XFaQ1!s&H${7o%i>KTX8K_Ofi(Zh!YW#Gu~LJ%v3iPn7yc z9qNyi(O9+6OZdcNoGy&mslyrVK~YwXc3YD6Q)_Q!idK&|?M~A^Dt${cx()^-XLo2} zb;L`jZYacPZgLFw(P|(!PK=|hwg=X(G;p$3ijg?5M?swvVubIdzV0!S^~wVWbMQEa_+B-}n%l==2Ew$K(L zay*tB!Wfm(VhVouyH{mdiFFmpQE8?C)&i`!PL>w#PN@YHL6AyVN7r|0ghAyM;BUIlNK}nqs%zbMBcC-)lM!V1ju&xK%gk!`I@XhnQte+*mcI zn98M;fudwbYU*akeS$khXas}DM+;cN2;AL%i`aSo+Yle zi?3FnJ3WlM5*!*W7u$fW+TsXwhJ`u%J!GAzW$T#Bq+L!%()4JhL~@(!5}JMVZg98K zZON2EwzOc`^oe%lIJlBK!pD$iw~gg+V)hoGJNR;&wH9NSBo(xK`b*@KUp9&#K5syt zBen%VQW3$hxcG&;)F#WW9Fl>NUDIv<4C1eawCyzN6ELi%&bihHoA14|7~S%eRxcDN zJ9u%%&g+0IFfz}d)dWPVl_Sxg43B9+t_S;U{_nq`8!{V^@c_OW5Jrmh1|!=k5ep{O zamKo%DGes{kOfP*!Wpdyq%u;7zTj|H_9Ls$1=>N#$p}rtp(4@T z=V-Kt-S&lE2RjsUr|N{PYTZ40P6O3OSxG7K4{Ht)XmKkB!PO)y7E$|~!|R>XJw;dV znmmM1=33I$bZ#QmGCYad!@8;m&G^nTcE4MZB5&7tB%W>@4*t;|HSO2Q*=*tgGeQ!B zZv4VSJj6WEDd}$_8M`SJRo=c~N&;HFKPf~P`d-Q|b;D(072g7EZTIv*>V*A3as*LZ z42XFqi2f2tYV~B5N3TYF9uTwSbp!zh6@%Iu6&?`B3Fh*tvsVerG#0|iCOI3K{?Ff9 zYr4F?U_Mdn6${}X#R1kb^vv?LCzDT2-=3fgdOy8MdNV80*>DH4Q4a>NI}zDe4RxJu z(w2<{-cH{a`cYYQUpol^kOK;$74v*A;G<6^U zfuJ{0yMEeKVVXYyPL!RD{aS0^^Bxk`%%dEr;5p%HB^KZTpZpxvlvK9#UX_J7k5K2i zaU!^Evz7U1#vB-`7mDVG7j2T9t$Y_V6?r&rguQXem^~bW{wL+oFeUxDkJ$`7iru-3 zuP{UMJ{59XBd;ZfCPjxdDAVlTC5Bk_{+KhtZGHZsV$mI@iA)|as^IAE{1bUs@3O|V zvs$9XK3;jVSgq6f6>q6^gJjila>s{2{?osMd*nk@AIW5dT&iZTa_{M#H5^om$ZC9i zelGQ40>q;=K#Dp@K0@BTO{9JSvK_6x-MSLrim8}vcPy*(&uj8JE@~1f_6fX^-91c% zE*Mi+pVy{bSt8aKO@{uB^QLNRc3r5k$ZM$aL(Ma@2!GSpS4(;q2keRPJbOSz%j}3Q zm$9b+6E@InW%In?6OEK}Koaa!gG9&r_>D{TV@gS{iypbQm}MaW+MB=gP^d}3eakBR zXqb6xiJm7H^%J8}fQ*AJZa!rB;fC>d0s#2W)gG>CT6=!|Qm~vJ8h^SskyJ06_v4e2 z%7`St=tFHoX2nnx;H7kVBCPU=U8$ZhpgVLR-WEXuKkjF1cEb9bS}|t%1duF<-;IRi z0?8_{-DK{z>P2Sbb%+~pxr@Kt$p5cpgK7GEi9}BR{44I@Y%5C})I%jK5HFy-_s6A; z6rV(B)ZlDMPWH_&J-FlL$P(mj$~inh2r3U#`=R_N^gII13pQTQEtzmb5+0u7;sVqL zts%gS|C{U&#1H3uj|f6Br|V?=krbjesNnz_C=)?XM^B z)jCeNGC*=#9&U4nF>c1BftB-vm+W)tr$ZPgp8Xz(d~QIDHh|Mx6$?#CO`y@`3$zLL zpfKSn@murs_+j1L_TK4=7LZ%K$fN-Ard);FT<#<4F5_2Y_P-ChtcniZ-f^oMqqBG$ z(UyqkpgnY~j2-RLx8Uf&(&-W7m4ew-Tffb#-ozz@oCZxxA>So@8tac}p`3&iDnzLg-8Tr0YAe~$G!%f7Cba>>^NBN zS^#XS7;s;g6wAtKCu19SK@Dz_gyC6OZ(0@zm*T>~pu!1dg(CNNzEOuWBDFB$ghg4#=!PU>pH8V_b(HQkqaJ z37iQayGkYfP;xeM9L@>Rip`6v*8s$*;LmT+&?EVBeHZh-$Yw~!1w1}C%JCK^!ki5J z9Z&)C121)ky2>lcXLc{FY>ozMpr-yEUO|21O2K;pN3+>3mlosfXL?JtI1vp*hB3w(w zrE|yMt+M)@f)|y(p+2fJP7wnit|D~-AjS1SQ55lwo$5cX>KJF~+%2FJfFwlOtc)jD zCSc_xEcyHjH|ka>&$CW{zdP;==R426G`g4I@swS$yG=cRX)=^{0(5K7Rckt!x~u;t zAi3fHcPkPAN&Q!(-CZ$GLOjW_ov)%OnGF?Tds$a=m@N`d`2@VIHuGeO?=Gb?OZm{d(3->9Hq5q->M^Z^y=+nVF7tA1^UAE%TWUh1^2~ z>wPmW9h{7V!(KCh))Q0)_;afg2&+rY3~jB~8rE(R5kCt^Eq;+hD4iiKD!=|-*+X)@MqUI-QC?~aCdi`J>=8lKEY{x<+fL=HJymB+SAvlSFSh>#d{{8;j=|kZw$=<9Mu{S$$jC2 zyd#lrI(F52;T0hv=SR9Bsr`s=}qaZd~vP%`!CO@smt5+agdYfpa*B%UyeL> z(AF0KI9wih%=ank1(RCaIUwlT4+37I1* zEswI7)WzzF41VAtd2Nf7RK=EixP#k>3ms>5trbZ70E2d;Ippxx; zB|ZQJ%JC2}Y(VAovbG+`H_^epc^&9cZ7dv}q(AlyJCOGoi2XRJdGvS9v1eDPNJixHjr1wWKn5(dWN{%K=+R-A=F(IF zOUG+M{&Dztqn7zr#^z|>t%jN`8A`%k0_^J@Sq%Iz7f3enpIYu(wW=|GUHUcx4eFy7 zwxSjZt&PzEoXvPH9Y{L#4K6JI#>sKuCbo9H<#?}dWfcJ z8C#Xy7zrsg)tVuTee;h)AQH!ODii;=P>}ph^2cD0lzzQ*C0qTFhf`%tkR+FZ+qsE@Wc zgKYiwZ&;<^z-qW_y_YNLR6f8Abs+!`l6d5tnN?kMWA`|NPZRV9|Lj$VY71LX?TUlm zU%!4*HRiFeS461F*Ffxsccv4*$Dj+x3@N}un?DC6FBEtvdSgT)wpSg*>sZKHi!^}k zlM*@rE6W)FQ%A@NU3ijO;@pKv8{{E5(GxOB^0bMguw7hW_J^#RL#Y83gf(ykV?=eg z{^4|(mt>@jy$>^FLI&+cYp0LMDbRge2Pu!Li~Z@j7F9u^B7D!I_umnv$`l0)?7{CDLGg^$z74(Hzbtj0tx_ z&3t03gZ$Agmcp>;s@0z#b26>znp~+s#ey0>fOOK^anck%4J3_p>1-bYWGSoxN|F92 z%5F?{Jir(Hn6lFcipPDzBN*Ysk|(wO$D7S76K$<%ZS~x*&lx=L4qo?M78+jte~&gd zP4n~f7;EUEkNGggeHw0VYxlLiyg`bcS#LHMZ?5+!h!+M%uLuYtNW^f1QeNYF{GG@8 zvZw%ZX%_4{ItXduIfW$#3k`yLk_j3sUW4I^sVX_`9AQ<)+LItB2a#(QX!&W-Sx8RA z=c=JJ{h`n_)ABLf@MeWel-eBTb8ZykaAWp{`4M~3@)qRK?M2%o@?!=Kbo^M29Jqbc zGvxzYZeKa`_tJskHvtyCpdX#^w1Z++ira?2xalqD}BoJ?qor~t|6W(i``&2 zl@8BCR8QOrs*RnsA#f-X(BmF=E^}dA*pBS)grSP{LZlLdO-~DmD4C~?>GJ`&?bJ%U ztbaU20YC(Hp`&J(YODI}*1|$B)t)4q$LbBWygw_oxx%BEJwTN&7Sy5vGQ3{X$mUB2 zu3iF(a1$NREZ(mL8sykrf8$V+rfJKb|G%T1;dV(!V0nr%rtG zhmewHSbyOuzcOcR999^66`7|<8>g`T71fNX3b-KYwbc7Lm=I)IJEuz@I4YHNprD)II9^!OX zT?C{o+GyJZ;126)fST*Vw<>_jdN_D|4%X+^O>qU4w2%<=Yw(D}ofhy}U^9z7o0Vx45Ig{iefIQa; zo$kZn+n=fIzmu=&NgfSsNJf;(N6+AK)lFf3_Wu-~`Bqmgkp33Xwmvjk>uN#VSS9bbfChfLRB!OSR+c zAHQah(yR+65r-CQo(DkOFAP6*ub;Qfd8v=!n8>Kl(2`yv0rY@67YGHGjHMsI(Rv#v zD7Cjz0wrLq1xQ&KWY$hmF2R9tDeD1^v~4}Eqw2;{)W@0I{?FKeJl=G7HUWm@J-|RP>(Jotp8=xUrO)G&v!s~xpG@>sWe(_Hr|66{5F_g=l6LJ7^~4*o#G^!X4;ut(ipG;ou~ zjymH1x_2i}q4^7r5`%K42|T1j+O(+RK> zB(+zP0dn?A1CnW1gbsO)yy?yJ1NsJGV#-<45BB#%%o3^BeY?*&G`d6>AHxG3BMVc zy^NN~@=);&1N3_3Sjl=11aaukD44k^DdV)I61efE~+EsA%GJ8TbtZ`ocTh^ zLlYzM@cQU-6STn3Dpz5@8>aH9&ETl6!5%Q7p^ovV5gb?C*=~&5#D#Ej-6(^@ z-4aS-xH2@ITV?O3nO&@*qnS*bLjxp$?KYx5#mq?~Expk6?e{ejLupO%uG|F2Q@+Qs z8)3FdE(Q9}m4j6BY*V)ZwnIfru7k`NulFbP7kMIlzlL}#BI2K)S0Ap6nK+4!Ec!qj zJ$6gTa*9WP)@-l;CEJnwo3l@Ky?MJ?>mxLYDo>FiD%Bp=h8*7FFymsr8A_#$JG;b=^jt(dg{NX z_M#)Nf6r{afCZZWw>oHGXG%6f^mXh05SNR%a7bI|B8eC7q~hd;-p;tj`o*p2{C>TG zE)j`&7CMOnvC;P-{1x?Nf&k$O_qS$6`ieU?dyYTE%gyO?=(+w#!yIzkh)pfI;259% zw--lZqm+^~*|xPRV-w^Fjic;b?4aoX%%!$A6iCG7BsO|+ba11Z$!Ge{?zjWa5WfV>Yfx}63D9+=K`|0_xQAve1A*yB=CMa4arNgM3;PES1icEDj6PWyO@+A zW$|p%%9l~o6V^nn$S88&g4Hs8t16Ge=$A(I1yl|rpSKayiofmz*Vu>doZqtwJ+rXD=?5#XuS1+C@(J`8 zw#Pzs%GxT6{UpSJj$EOK#W}XOqO&>KG2FYt>QSZ>=WkV_Sj@KGlH8JGi>tpcUoEVe z6R55A*Igoo9-;IKEa+xlbW=r)RqHkD5L zx0e=k4v#g~yqQ&14XCG*o=|lUw}j32M5+YnSCAwx&~E_L`nPH)=hpEnnX@Yw0(fbK z^D%d7z*|ftXcUm-2qIqgHg)r9LQam9Mf5U{Wctx>c(!@|v##P9Jsl?(9aU>l-t=2c zDv%LQ;U8U{c2yKQ>Ne|-P7Ys1sf0yo9EgIdi))+SSEMoif%7cmQB2_kr`2Z?QakzHNe554Oj(+v~I>#;Azee5a z#O^ou%}FGcspu^lMnRV^??IRwqmG*>tU*sBdc_{Xn&uh@!G(#NHV>A^>)Z_F7?Rbc zXZQ)Ca`Wyl8cY|E>-ER|#zhYg zfa_{DJRt(hbnoKU%RtVB8M@H>7=#Qtx_J>l;_*1YMg;9QK6+OpgBh|8e^|XIKsRO@ z?T5Ql;?M7LT-LKdvV6#CZ}fpcS*Fd6!XK8HG+R-ICrq;&K=N7l zZC@Xb%^3#SQ8f5QM|UQ0W0%zix`S-<#1K$#p1EOrQ%&KpJk_I2|MYKeC%llJAQAe= z^6|6{N2?-I6a0#@Bd6Yrm(*wnd!Y|#oRt5gTWAtb;^x&I&R-crk^sZdOGiOj4Y#BX zbKW#|N9= z<9kB^^#E7zf;r2=gMw^JZGy*mWvO)8L5=H9s}UcBjV(s<;RsL^^nWMmJ4m+k#O{!O zLh56;Id3Lcrqv&6j4+33&OR8ZF7xe0+>yqE7Q#S!iB)j-6m)(g{`w0Rta^2ij0>VZ z8IIZLjOhj-(~LrYbaOu885Z?(J%-Iw0FSzX7eb3(HYmoZfo|p=*L?AiA^)D~vF;Ja zQ%nExqbZ`IY?K{AinI|UukRXvq5et$@2%dor6Ifr^%g@)Rc40%X_`GTKZac5>dmWB zM8>|=ZEq?j^Sq#H)bp*Oml-3G!7{U|ZuGa1kMXewWwZN#B`Zcr3GwQpT0cN3LsoPin!xZVU?FN z`-g-AnfCK0zjY@_L$qUl{{D@yx(dh33tIvIi}0=_Pd$0=YZq`3!6*DUAA!>oJ71?g za-BW+7`u`6osr#Mlt4JI*DL0B6q+Wix`cCy7xI#EAj*ARjIZsrA{vb@{lNzx9EKHlMR<@ zv?wk42!i&QVl+c{{knyTwr!*T-y=OSiubd85B^@39%0Qqg?jF(h2<;1mOnev9U%Atyl4DjZ0qNuRbP_ z&NBnF#zQ_wjVV+>4YKo)N!{P+_V1DZ#>+OV{1L#kj{(&sk{0VO4i1%oj1uf+G&w~q zWco+L?n+ArwUTeYw{#ADwn4l3+@lmzc>RWI>oNK-Ijy{>rr3pK66h?4MB-v_0U>sF zD>w`&qx&{L6{@ERXwklf&hFAX+Cb+8<-8$(Y;3~$jZ~!4gv%nLGNsi%BI><}&ED33at)gVZ;3y^{8KQke}K_k z#PqBmze)c2&LF?46ts+pA*VQjxH;gE6mj!K{32fEFx6_Dm*V%n*bKP+5ruB$_aRhyi6^ zmp`!`$&xF)7EnreZyG&FC*a1$MAk9cDH>cTPoJAp0`R#qLdylR;UE6^MPA>{`M?T2 z#_?)=#)!R6&j!FzE0!v691F-_3htB_>DYjpNnztcsEt>oi zE0Hj%r$g|wb>&BgzJ4{CwGd)P1QXu9l%P?5D~yaFhaHKdr7OUpc}brtBo()vG#|29UwPChYIDI(I+8v zApg|PdzowLgIIK4JM$Yx6-&~MAB1`zwtt3s@(q&is~B^Quu%ffpSMcmyM)$T`IpZH z;B2fvXuQtDgpAkA0xH{ht&*NV#Q}K}02n4pZGmgQq=3*?e~gK&m#@uObfCFRq2DI6 z`BJzb%C?r&i*Q*;Y{a?biZ^3;30r-7RQB05LeS_t^YMmk44VVl!xV}`u!D_#Rj*Sg zeo)mYNjmE7_Kk3c=L|MOnUSYXP$q!)T|aT4iCw{GFvSEixLz1dL1wBiH)B1FBG&FGvm5{PKb)IznCLS$1;6>FDT=(LHPkgB4{+r=+OJyzDaN; z%g_gtpj-u6Jd#2J?{qkMi=BH?Xuuwb-CnKi??YD-gXMii&R6P&QzSSt-n)>k>wS_D z5gaNAmhd>_U+E|weml40>T`-tf%52P*9<3^?jRKuQr!twx!RD{r|m$tHHyws4^DH`y<(4<08^EyIRty6`)$s2;q;*QNTSv!eWcqPCuZRh&~ZO29P(?LEVsK^o`r#bLo>DPRQ1L019%L@kF=qdi}n+m(CdChpJX{Zn_DV@ivC%m}2i|&nRA!pq2vOL&) zC!Z6U7^+mYeCyrOPA76FMM)D+2UW#>M#Oy=a-suUd@#Tm3FPLMpB8f58ht^2K^y`^ zdWQY}m{A-#ZSQYD;hoK|{o$XnCmR%kAIP0PYNa+KwznvGe(yaCLXK&b-uOCtDkr>A z;Pb)c8~+^!8R|WwB4hlk?8~Qz2S%K$Pcjia&Z7amyQg=w<~+_?2|~UT2y(Z1q1His zE_)=5%M*dnM0^N6DSkhlGyVBxm;qP?;+~>t-E&A%Gpq)rdZ}cS9%O){L4NrMA|Hou*};eQ5(uLO4!YIH08BYOmNY4(Ej4P(aR-W`s;Ib8wn3Fxox;2uc!X)x;z zIca(4nXy$DH9KO|7ykg5(9ecw7C3=$;R{vHP8QUmk-qgQtTmzOr(wpk<&>eK&a^_R zrgMtMT_wKnQe4u~*;*YLZE2N-^|XyXo+4|ZI`A_cUc70`KbMi=Qf;DO$1K+CvvwEK zjboMunmM1G9I8rmN6_}^0XQ`>6z8FwW(w^A1UIE44*Qap(A8M$Hwsql%%vzvzDz6D z$3z~!&mHU^4EtcP@P(lD6a>!R^5S!-9Jh9G?7BOUI|G2813Ec2Mee(~M?63+Qk^)s zU(sR>kXz9$wm-}#J)*L8d$b+VM!f$Xr0~;--6WCpt_h&51z33sW=$o+R(GyYRg2zy z&+b0GCad-4Qs$ht1G_FL@6>=0K)5|KaQr`yVXuWp_(q#8|EqHs`57yjehIIUZJel3 zL#C~P_MHz3%1>;C=e93>0mLsBpyWS;pANOz*P+ZFhZh$*N-pCiO?vVCzf;x{P~TwZ zXTfCxXtMF5kY?Oku{{22J4csq=IHwCtw<@RdOMBMieQH?3$-bit=DtI8H<7=lTQ3}OBfHMp%X!iU!?*iei0sh9wQ3*(?T6(>RT6Yof-bMVnO0Ly0{+(!$bB3?^aXgRzhCm{}*dhY!CR?;cy zEU5aFp#D8>1JN)2pGE`m-Zu1?uPqtmC~&UtsxGQ-T=fAfl#Qa2=Y%vR;Ol}5*RO&Z z;nc=a6rSe+J};{3IhnZ=g-jRUXi@M_apWRi*^tvHif9@GV1AjwC&C9pH@ZbWG^l@y zfyDnrB(+e-G>A|8ie>la9c4##^OffaWbDvh|#Nfz%2KT_NY4;;ttq!o-EQ((#JGO!O1{@&DYIy>bmb)MpvWy%Zl3n)kg~ zFa$SGZ#MeA0}8!To8b$n8=&?)2bEqce>BHtKa=&u5CjcW ziu~6hX}g=QH^pfVUEWeQZIQm1stNMie3~!lvb1BABw^}D7y0#R*s%ZA8aRIDWu@M4STr;^KG1P_4#Jb5Ydd{+gn~v4U3% zT>9+En;4DP2`e4>oBUjx6)BduKvb9XQN*UpxBnNuzQ}Taz$sa_h`)WCn!(M-^%O-b zoa^`My`6LN*xnW;Ih+FbAxSK;<&?kyYQtRMEmJ-~-}proM-+sPoVLfMoA}2I41YRu z7+U5}eM!)Y1ZWC)XRbo#8xcU91DEests))v91o6VeH5)|kh-_5xgWzjk5|Kp{OtT1 z2VXf6z;CKbsH^AIYTPVYHd;zNuUr^@cjDkZD-skuZkDDLU`>)`ky}2=PYRpv zMDFas1aAg$x2*Y%3VhG9KZ(!JUE37)>;IwMGP2Lq3JDU(#)IkJI`8ZVsUT|=VXS`; zzSA9lvk{56J9E3Z5{mG(^ZubDK35Lk(v5q+MvySC6xuClAiH2dKN;b8J?eTg<(YQ+ zUZ=q^H?>y0_(W{wHvbF%1qbvG5d$&gJKm++>S9;ug&k!Vqx15LK%EBEe=mimwTC_! zsmsk}55_1aZWao5E^moo>VQd_(YTvf6-!SNSs8Fa0ftLURT3BKGixKn2Q#qaG~blB zw97Hoa)`{7&v8v~vS0wir6jAcP7`NhV)h9cT)G@;fC7QvEnV3r~ z!?29rHp;WGQ;PyL@8B6M636x&Sm`URTq}R8>=6w;Yl&{DFqo}=HH+Ex zKB?Z!aLbpE|Im6l6^-!O?K)Qf%I-%mgjdz?H8_jnApM8T4pD2VK=)~t&gkIyq%wHY zYB=fwa$Pc{)6gBS1Wp`obl7E-Pq!mBU;OgTjob9DLDM5ey!n2-^n7w%#&%?7*(`Pm z9~VS!D$Oex!D{;M&MoM%bo3)q?I)3!Yl`?htC)L0B`pnp!cOT~5;ybD&D4-qRn`$f`yzn1>vD z!HIGU`D9G-Jqcc=vHk>ev(vtY{PKZZI%-d7Y0BEWDuMF{w-6xH@QsSi;ze(Ve%8`k z1F3!7a>?)WHJ7E}wfR^KREqa?7sZ#nEH%IfUkgozH(OC`46!AJ!WLGF>h7(gE+;+1 zIcA&b^2MG>10G6Zs?a@I7%|T_Ya-6mOp#%wuSNx5&rNlB!GUFx*glqUSu`zr4X>TA zJjli-Fr_j{-v&gPyh~CiOjEha*s(MnF+Ud{CXj8_5LLDN+eqZW^kqGSLNv=au8MR!!^F7!r}5 z5Ok(<`2W4ujhy;OJiw)C6du8Q&A0@hc;L@@Yw_*W-FxBhmZj^P%~3iPrZ$N&u5LO6 zO!3+Mp4o*I;I8%B14{<|HPSF8||;Al@1!#eVYA3n?Din zpF-9>J6xci?{U+-89+zA*Oo|R!i82yew5X4P*Yxa!DB|+E8>wP@n_JpfmE!oRZHdMB ziOzOl;;5x^-)?@^W8p3*z~5iJ&gDUy@`QjOqbG!|grUMybJ!gTTe|&{_W)iCb-W$T z4@rgLqACVLM@U;(a4Y3viud90#KGsuFo9FbA~S$}O^^&D`&kY$dfN)3pB)Fg)L8NE zl+8|k6#6>`#%60%8mAn!a|bCnR=MkXVjVe7DS1rr)FUDSglA6P8B3h45w?9!lLs zDynPRqE;Qm-U(eRB6D{F)!v$e^$h)bm%|)PR*7v9%_#_xIdSdG*gYU_;8mwMOu^MZR-L)JE}tZAt$EFQteB_8 z*pn@T0QmWkbc2$^+IG%*Pf(}VUk@a5rQdj|cAA`=;m6=EIuif8L7+TqqJYiKbp zZ4l`Dm=b1GF6jex1#-jg8MiFZuh>c2-Ys+38unYe;3{myYcG6y*8K3*Dr!9s z|9KKzwCsKKo1yxyM58jrs6VEgY|3%DyDmA;(;FTl!(>rfbMccM%O-vR_X`U$j@8iLZvC|`*o@WxQ6TE#baB=(kLg( z_FActS^Iad23zUU+t)ZX%L!Hepd?bugcL&`MFokP-tdkLDN68Kmb`z@wY5s|iYQ7w z4Vuwa6zO@g(DvBkq`z3si;T&mOuj{@?$b3^4E`*f<>WO~{Z+ozK8BEwBMOpzfneb< zFZ`yjSS!o+OpTjWK#^t|zJtY*8t<+Yv;T#ln8k#LmMZMc-k;7)oc+6T$P}W=ax&Nb z`-{9MUdw34r%M5S$;~@`OXeKv@at(p*v|t)`k^r@E%Q?%a~7jE^F2fkhKW(!#yAfH>Fzk;0Yi~v$^_-Fl-FrFiUu+dvMh}<`19X~ zOyD?6AC}_L?!;EsdN5EGE@my~&U%y$Zl9FVRSq5oHRkTZOamY*#i|fwh##cuKmlSW zMI;uH99^cBL$Onl1j7z@`RBfZUSqj%m;9h-#A(_zv5Y*Q+%nv*-c`%w1#AT>N0MqhNI)Bh~c0BuP*uIx%|J!=)<72VRhB zuk6Ly5t%^Q$JduYaVAu}pXWNm%9h;kuk4OM;R(lnchkVAcw0(FZn6$5!*|58k_7;rA@IwRj%$?X8e$ymxk} z;ky|b?O8l+y1m)h8asR1%;{~7t!>q&Rm1IPdHOkN_>pO)wil@02v|IObW&8=ihwAA zXVRuQYD6s1lWI<;5A*PFb#1wm*`qoT?UeCNu6H@58#^YYGD6F+p{bj{lDi3yP_cY}_$*j3Ra>X&X+`&MA zoURB^5$Kuk@J~Am2)(B{DXitsRkGMIjav304Q!#^aA_1DHZ328yd zNstT%FGvyP>c+{8pyYi2**Jb|ayQynskWC)RwU!YXcMD?^w8>CS(SS0{mWry-gMm- zB$2)Pd#@fyHwavPGUfCOq6)5A=wa^tZLyRrhVgUIh|feC=<#KRAvET-JsiOw3lqn{ z^{GY}+xd{2VOCjTjKfARhc_d9j8||M=gHgns>-#S?p0v=v9Pxu=j{E>eutben!Y94*`x^pl(}IF97=jCucSj;P@dv(?r6 zeGTW+B5uzjUh1QCzUGojLF`TJKr-Y0n`>|+U88s;vNpX0*-Rm8%g)jK_!sz8ZpKw0 z?4c=WC34@iqV|}SRp=#{_$x&sz;;=nGuRFTS*8^F+v9t|udr>{mb}_XNn@j2s`^W@ z?%aC|5Q$GV&YeO@kGvqEStMN7+m#c~FDJrS-(lNS1=Y!Q9_xDI52C_XqallKwowP5 zKF~KZeNdT6B{)@Mf@7pr^`9jVr{@S<=%Al}9!Cok8oS`t17L}Y^X!aZyM0K=#q=kd zjJonS(oN(TBC09~-yM{R@SEa-?1B8Ld#V0i;d;%Gdor?A*~bfb7NM27RmPVj1- zyT8Bb#sjIs#pDOC+V5}!H(uf=nklUx@^@KMmh+^-*8=yxM4sQ6oL>VB64iXPdnu+PgT` z)FzQD{W`y^1qw=$t=H@OHXo5}FqH0W+)oJ7s06(5-Thak%>DzrbnS>y)_>gUKTcRA zi};7$YefP$eYNLK7py`7NyyF=r1ZP8l~+r^z2ZZ8(P;ZMcg0svL+od_=iMapQVp$G zVEM3eoePnZLlGs{UK0dPmP^?`ts=Ga+OKq?G`)Kl7SQ|swluX4E%+_b>vOz{qU3;| zys?TKdZ6%s_B;PPCK8i{>%CFFqzO_)e1$DaTMl@sF&#P8MBxDrgOtBIMeWCMZ%9TC075&&M zA|^LO8TS|VKP_NVIE(Z{gdw2*Vo|Zy#*^#st|Y_R|Aq-$1CNo2G-KhmMSSY<^d#0l z&t{G=bMwL4*l{pKJ$L)^rsF6!&mo}q0UcOC>#ifQ{f&w!81oSm5X2#)Dp^2&mOqh#){K;^k6U`~boc@H~?i z>GII+X=oL48SbcBgb^QIRQk=VtB4G=Zaa>F9A9lZn9q<8NC3ZPdRl3p}ugJNrRA zshOg;Vhq=#; zW2k6~j~g}P`%{qA2e?U78Wgz4?5vNTvN3_ z%=#^odCP7fF)cWM*WAw8Aa;;}CO_ZS^$XSBrX(993F%~Kz!K102eh?#!2ccA5EA-z zm{$~D3-1`%dlZ{FQIQqL8u0&&>-Bf-t$;DUCDc)nFe^}ISL@z}0Y59|6IGi;zD3uX z{Xj+q8h_aT(<8Xfk)J>Db$Gd~NASgof7Z)5jEgiG0_KE_83So`dY7+Nnc*V6@n zwci1XO@rnHD|2_eu*ma!*~9PBfC`ujdPj?+3C1N-3`WnV#8A!2iLvu}Gi$#Awr ztHS9-J3lWErL=aLDA8Y?`w@zkhDM^Iq9RMbH*_LX40&(1G|k|<0nV)d(u@T-nC9O$ zdwDixc>L`ppSC9GJgLUGx3_1j(s-t;Y%MY8wWM|L!;A!dDOOja*5sD(jYx z@85y8i!`W$u$f|~3sv#${QVPse?r3!8!N$B=0i+(`3V#EhwjX>wo@+iXqLzMe&N@x=@O1zq=`s>JfDhXpEcTPQ;$G`{C9?j`#!XESFmh-D0ixkME2v{;u z(}GM2T?G&bRC>50XqH9xR=1o;U(7glJJ3ZJG`$nBC0kphkegc{Wnh3l=SOL}k4N_i z3pgU5o)`D6{0Ni< z_vY68WfAU`l%m`NrIJp%Q7$PU#_r{iE1BcU0F)7o9YiKgJ&L<@(cu%mSIag1UAKi| z6?u8i6Cy>%IjTUxR5uW8*RsQ-$|BRj*t)r*q1bJG_2EjUU&gvDn+yxzn0uQr5 z>3ntHH2gHt{mHkf297pX2G47)zVOcpz}SNidGT}kc;p~1vupFaJ*pKXS)eCo>$G|z zKBFo``4E4Tl?^p#g>sLgl!?rLI4R8~YybBajiG)75vZI;Q-nL_Q7Md^ix4d!V1nqe zN{^}0N<81^Rw`rSBXks%vmr3V?rKNP$(Ovlx*0( zZgyqE9GvX)usdBCcX_-7uKWD0d=aa6W2Q)rjMwonyrP0dLP8=UI2h3b97@QGHyciPhN_~>Ivt}9Axl^fHX)f^ z4aveS@BRS!eQ4;GjefmFmYz$9G*cI9CLCaVb=oQ&Il7h|2Jd~fWZ|WP&tKAzPG&VH9kxhv09x;UL z1bN0JxET%PRLIzLmU4|SQYQL7JNCd6z5L@VBxNoD|xF@r8jCN z8(uENx5^Ru*Jo}8U?;e9==9lXJIFHHx8NSn<=1LB-~G#)U1gE;Mv0zrK<4v!c6~Zt z5MMQq0}`V|*~Pt<{R#m3@((8s*IC$}EDI2N+!qq>>Wv^PCSF`hsj^M0i@w|~T-zUm;`*1j?G>dv|;?jg0Q><9+v4{%b?_29G+ zJ9fVPRxu7iQr2^$-HWrYR^yg`yM*TKl9Am`tOU!5LmUS;UQ44OMlRJ=t7`X{OT&0cPrq=ZC(fuUjl z%M54%u8B-a`d@6lby!qw7d1W#(xrfabSn)?IFx{jbV+v$NHe6v04k%Xq<}~X(%msM zNFyLI#E{Z8ATTsD-@)g7zu)^@-|zgxbrIJb&VAo|uf6wL>+rW=&s;DU-=pMIQwFEg z^=<0~Bb$DH5mjomD6Mjzw^$>psH}w0wN|@KZ0aC9rlQ%E>;}Gwb`{%H=DmoSL0}F3 z_{)lkK)zjMbg*W@Okh)b<;u-HIK^hveLb1q@k`UJyoNpv?RD`(EXOSMHsiFhhVi^j zu|d5LQwL+@oS=5bf5c9Qj&RT1^h?rkhatIKzl{N!GwfsMt&%TCP|qer z2=4FKB-(4XF?oW=TKq0qJ})|Td@{WOf3%3Ickj;{P!W^i+;b(!A*_5FY~9Lvq&?6#*stdy`j z*JKJ?pqKG4%gTN`@i4nAujk9(Y=^Y_-oe@ORHVqY>Zw0@M7-U^>(ma(lXEpil0<+wFYcosY zS~3(`qn8j%-?vSF#B38~G*YE!9NsP8f}E1|JJR^b{zD$ciHF}`G3@gbnL>DzN?#1ACki2s6qkOac)H^eL6qqpYNzVz#js>YYGumo; zkkSc#-a*x>IXL7n1uVya-z27_6lt9w?eK3+lqP0oa(IGMN9w&Dmki{}XO5EHn`8F( zy*2<$#T2-n0lxbV_4|ui6pQSktH->Q1l)sdu)DnwdyYc1Y*?#zJ4PlFp2@O7_0BdI zaNoI4(OzN(tLjF zTj=ESQn|NAERx7Iru-L{-pgu?q$k#1i-ixGQ`H*b+Wr}sJ@-ziniuYHc*^iK5Ah!FCo?giJoFF|#;?{Cb4Aq!s6nc{_}e?giSp>(QBvonz5)oxgv#UQ`naOl}2mR27?to>WF-gr$xV=G%yR?t#=)a{;9+mL3y7?MWYybkNtw=j1gB<`Ve z$6OfdkHaB=!<%=)M8T}?sIgt;SknybTRQ*DJugdr6Ugi$#csFcpNi56?%crGWiPFW znG%-sjRK#5=i~F^hv{S9(kA8-iss!dmG6jCAF@E=!_8S4nTa(<#{(L+Ztzu76a5AK zTI=+1)-n77i_OX>G1Hg_E_u^*)eULJ^qG>k)+r|qWa0k$Sy8N7L1T_-Yi9Omgb#Uq zCc5MrtGfc6DSlJZB(gl6^of=%AH-<=;p(3sTMK<8t|NH-tf@pU&iHuiCg{Oso?N%F za7O@jiDMI4Dqg?Vn25r z&$xM{$jfzYW}7{K8N_$1qT6(W$l3nb6csP%(3UHnBE8~+Uom-jX8o$KIA1Fy<*LIQ z7TSgARKxEpX(dzbDb~uI2;lBB3yF2^*Okvm=$1D=g~g|l1iac>Is-fUflcQnENskq zc6S1YzEt=Dpl~_Wdbdv&iY{;3wW8wMN}Dk!tS#B`EY1RN`7V6w`hc?doEk5^GU?mB z8Ey1{!b=j3qO|n8*d*G z1etr)^NJUNTis90{_Ym`cMfmS-trIm3i|^WNN3pxPDwAqOBHjYImed5O=mB{;5;&O zxr2Qs)%_#J_~sH9!ll|n{UpqS;187s;#q$-G0Yn(vE^y_8`&1Thy<#ueNg>eZw$NJ zfj+DoS8=ukr&0Xj>ATzvE`G~OGP|xBPdd{JK74WcBg8GlU6e){Gw`=@;tfoDR)02I zU%QDU9UI7XpO-tEqz_-6t#(Nim8?PeZcpk&${rahtjXgRzV$BpY@QRm0ojU+L9=9} z_l)avk7chZNw4#SYuad|ivw6s%NLaI9e-BywW(1b{Q7dB*wy6dX6$eEgeLu2dZN7TS!WGyNj?}Y?B9V zRHGq6VKHSTk`0e+9@t!>B95x@sh!QKJNa_lC+UPOinM;!NDj--0Notox&FO0g4H0V zt7oXACNds(H#aC2lF{(?p)2zJ-1J&Q07C@l)j~!j)(`RpbQ`;wRx(vf%fWsZl{K+A zzn`asnuOVvJ|o1Oc9@*RP=ycA&L`hBY|vZg&{8da{gt2DZOZ9Xbj&~;np~KLu<%S^ zNVGDV<4ba9@S-=z6isxxF0tz|?JHx9`BK2@P`OI5YU));;r7S#Tgf~rBgKguIylPW z?_c)>n~wl30$JCcA9Ve$qCULg7v#RCZ%EbDpo`x>ew?0N&s_A8!ce7i-hX<>dsA_( za)!@RyWFv2*PpFOz&KwEo<&x^LqqU>kc;6n*houQ*t|rGJ)!&4N=;0}invMfU1N6E zUFx;8)Jz);)&!W!)=tQ z*W7(*)go8eCMXA0>&NvuKBS5(>D~xiYz~a5G%#kprzb0q>o<=)qofXA%p2|?FRdUe zjNjcepj0xm+R&{7Oy@17_}dFg$1487BYBbRAMt1rqy(=s`nKKHEdQX(6t6lY2N}wcEQjJk+wpV$<&QbJ@C;0)3r@uU|PBH+)|EpiDBhlC!hf zh(Xl37VSM;p5OHDz5{_RJ}+50y#{VVnGcm%cmcLXi}k1fpRd6Y6pglTs>P?_@n^u6*pAGLyBsh6dbC0f#4r|lm@ zeKa?Vv?LSVk-3W`hjoiYKBi=*5!RNkX~WEN{2QOXNo1Mb&kL5z^^tmVmi>l>TWn;F zA@Whbozez@Z9x}9zgD8lgayB3X@jw*sV@SsFSE3FO>%#+)s>)^z}Z5B71+5|v2t?M z&FIZZ{SzFj)?itXI7=A>iw=^Q`3@hLwWv4u!!*dP1sdxio)TnJMC5gRXZYH2c@cm~ zU+Eh+?29u^`h0+KMBumYZ*!tO$Q99Pl z6o2RZPgS%>G!3vZ%9yBr>JJStg-_mDI{&4^J(@~uP22t&J3Q3^BeKOQE{KdNJoFK4 z0}c7s*4}3Mi(T*Dx*Sh)Fsv4S-=}|`y$ZZKTE}Iam*AjV4o~S~ojYw$iMQ~TBi^fF zqESuE)Do|<{UoN)lDFG(+!608(Z51woLn`9y(w`DPu{xI4=vlxd!&bQai0eJhiAOf z021RBi0qH$Ry#cGiQ$BFx1Jq&FAnXunBzuA9U)+~rq|<*uy_PCl?acV)>#aWCs;tz z68fyHo1A;nRoKWgl&SXc3=yz2)KhqKDSvBbfDg2Y4ccwE*NjeccnJb2xa zg{OUDAH~cf`{oOSXNUcK!Pac5HpeA*#@UhWCD_&I=h2qIb=rZ#UP8_J&{!)fRkF3f zza7yFa_#d8TUjC0omIM*C_^A3!f-lF(7svtt4>A>Gjl-458opOfYr9`#`@eq3B9 za>vONa3eRyfgFwG<@4Q^i3wH_tB}JjI*aZKql>aN!g|N0S>2W5*p3RyI8GF^li6>* z?0NAgvCM59kq!&_?TmAdr`l1B>UpRm%?-gzy>r51q4(w=UAnP%B!RX|t@r%x+>Q)* z61n6LnvDZ8o-wg|$77c_*UX{l*n@@?Vb~7VFu-%~1Ng4t=Dj#&NqJ|p@1CFiRhM(y z(+|stBkOOl4_Z_K|TGy-kOg z(1v5v04QJxZh1P5LlOka0Zl=Or0k?HR6YRG=k#VkLD9@(#QOnR&#<-U2xqfA+#7m0vc01ZnCmLQc3Z=VS0r zjp@t_hZoC(e|h`VuOyo96khne@6O&Mw!=T*Y*=(fUrnQdk08UY#xSAru}&`DSUzU| z$6dtk<#tiQ`1`W-`TZ@sdR)LJ0=f9*YND8D51xs;n^<`1)&SPr@it8@JsRIBfq%_9 zS~M;E6x`H@B9IzLDmYq{Hae;g@=vKQk=EWxpFlfuRXpEmnP1?eFq%hQ?DaY~o-KQ{ zNH-y{o0{Y%uqu3-#p_xTJD354K|BVljDH$)`$?Bu&wRoyEZ+STN8ba|ti~C-R?$+* z@);yW__=wbfBC>yakYYi0=vD1HnHFf|D}<$(CE>Altlu}?F{}opl_w_sJpjXwnSX0 z*gE`o#K#iLP#OfZgDDrW8Huo>MK4VgAJ-foH5sO{?D-5UhV;?&yF4b^{`DzJH9J=~ z(#fxgLjEoP$eI)HjQwv4aL(H^zm9PO!j+WGd15k8)E9G5%OK8#aQAy3XX&5i_6NQ>E(1N3{#htGfsUYwEsDZl9l_%pf4o08sx%jlSGqXfR=T+` zx6|aFsP4GKbQ4T5H@#(`;={8U2_s_pI)E`)7D|x!yYx<-xK)a|jrIlZubg@dNEU`; z*IJu`jyFfg#ujjOz^p`hH7NPi;x9pLjEN?&X+N*|u~)wIladj_aouGH$n?aBes-;;zsP4V$i#Zp3&lwL4G$J;+y zZksI!$Icqp>y?;#r>YO73K0(iqQt0{9@^Ow?Ok8UytGKlJ)nPo=)@LO_^O+{lKMK_ zpCiBwc9olqES3oCS$iTzXh#58a*^Mk{;{5%GuA$A(V237NV4jInPL6-mx53aV`U83 z3h3EEr|DPe1}1XjDmH!D$dv`Q?ChshlVaqR#LPCl9CxL&4RwW=Zl$-~dkr}e>`W?x zFFna^^YBsG%!JeUg12iYj^6LsTlGDXZOUj|mHTNOK5FjdrHy)hSk+=QVVVUq{ndP1 zx*P}^9#1ZX-zFVW#xL`7I7hZ$>i?Zh>)3jmQas-A^k4CVo5K58yyE-32gUA{navGt zeNLXqAL&?qWSk@ALxg7XtB~`zZ@-*P(&iw&1Yfe39hpZjx)>IqWOv&ibvU<};9#HL zEOZaH-+ED3`iM`k-})Q(LM?I^vS{Km<}FDcu@|z+=$y1>%(7+VUXf*V9X_lti=}b@ z$u8|<_6n|a?dpcANm}xuKZDG;tNY~1!dnw@5DDc;@xZUVIwd;i$BPE;T0iAn3^4(1 zXt1w6vvaN7x2==oNY&Ha$}D75)LutUGq6h}^>Ix3zJwkedM-pb1%m|P!}#>{QY}1D zVadM%f=^P?Q0{b@T6XicVwf_M=bOVF)I?oX@P);GgIW11iLnL3Y?|Al{}Q^J$XSU; z*@EJ%hs(`s-sLM9NM;y~eJ zS?H-Q=8gw;Q`~Utpgh7S$wzC`P5s8iy8;`=X1Rs+@i9Nu;8NYRHv8$`L2Ba(`goGyRo#ljl;vfFje1BpFP zgxX*rA+q`gBiXcSB!hySjQ3V0tJ_2Ey1~U5oBl1MOgBezjmURwASpw^@9ASZ8kc~b zaA2i(fpoq>Vtna%;KjI?>D6sHCq;}kiykQySL?@*6SVZ}tZUO1yKWu{=U?vEn$d0^ zD81drpyb_OdXEQ}0T4k`Uy_Taf4qbvz+CqDRm<9|#`&^dtXE32eMGR`<(OR4=spAf z`A&A14;#GT^2GM~7<&Ti!5h5vdpQND$0o><9U6HeY<0pOtIy7~e){Ul%8i$SI=Z^L zvK$7rZnKB?et4OV9_^s)yFM}?)U14cYnY&izeY;TrGcbT{>>wF27xxXYPNMG%OP=| z3|}S2>c-|K2g=WUG^XxMEzNz;y>u;|5lZfp*mP=O(|Qo)60uUV7;z+?5Y(SNwsaoK z8)j(QS38z3tKWRyQC1+;Qf!kf$NJ$#Lhr(1Ti0`shC<)1QHc_Xv#N|@0rPzLo1N%k z1u&2AgVk_hB&1?u=R8@%J7;6`k=QM1Gb&8 z1{%`$J}qk#&&IWhqJBCxQ`%eV^+g1dq~q=Es!ANOg{9+5vTMFEwLH^?1!>)M*TBe6 z7#<|aB)inf+wVsZ>W)_|ZO_kUJJp;6tR}5ppms9dHZ9p>-AkV}pVCp`$5qg0^m{u*&+`SdLe)GOg(~%?c-yh z6FgJ<$AY=8Ejl9#15>ArxkGYYAvF%H7GJA6H}|JTw6#K8s(&{mX^NZDQosm4);>m?_I$&BgYCP-8136rm1Rr}uLjqB!sVdQ?yZ}}wU35)6L#(*Cv0f1 zwnF^(tU9Rz_jp$SJq2jsuma(R9!F-vYQt{xXs)CgtVxdCZmVVzWptImb^0YxI{6I^ zNy7|oI5uYfu(o0I^|@=%CQX%_Z~?y)gy|to?u?H9!H4toRQ>&;QEXztB2c3~FYLGh zo|RqTE2dcZbcnz&B_qrODe0${TCh?O%q42`Gf~*7WhD0_gOGt z5M18fH@CNRGcf(m5cL6Cr(bNWO^1y2LJJ~~eC_RzMxtQ{W8P2Jo{n0Mdy6%2{a)CF z5@(-%`$oLji_@D>Nc_ufbWU^gj(@(($+DvISx=_xWMk`{Y;>&9+33!*>=diR9uyif<_kFRfu(V6_#)T=#T2v(@Gn zdEDiE$JmzqsQ={xEP$|j$n{buhFHG4Ey@p(xAH)}>Bvgyx5@FYhHWG9zN6pIw&3js zVV%;O@(y1&@}kYVDlU^vYEGS55(+nh{SZFy#6;d@`>QDaTx0aPt@Zx*iUn7bt2 z3_-O}MUo_1YK;5G8jkf8lYeqY)~+RpP_18A$39kU>ahSdsX-G zj{STm-&fQsKu6P(KTW9Y5X1Ll<9zyY_{KWZNiT2u`i7`&R}V1VKJ>Ypj>bMuo7vAw zLvpgc@t@R_PT`^Rsc)59JNS{nTOb`xuENX#yyLqEpqB*FYe{L$uC|vn4?5=nLpYY9 zhq}KSyR_%#Fg1-8m$b94=(*Q&~brZ3BZ2QZg&yO1yZ z<4GKp7?{yn?xAD}1G9j#fR;~UP!^7}Yi4-3m?E@#6kK5M>a$6TpHb6qXjzi$X+Fcl zl!5Gp*RvYHaR^?&L}CW&ELR)TDV=hqV1W}IO7@h6XVJ+)b7uS?`t8#zd^ppL-PPR| zig~P@Nv6Wcu|qw*l@XMfD3AzD`0TjtdY3L)OGlqjr_G&Jy-GPQ=aP==uy7Ae(*kC1 zMWvlIz;PlmR8-tyEtZd|HTFZ1V+AFyy79mze($@CP|~JKbW6kNVOx8s0!3ISWAIdj zwcF1Gygi+KICZn$?d{uL$?rF|mc}*c5H9TAt56QC-*6^fXd*xm0G? z^z<1JJVBdXH)>OzzhFbY+FUWC=azo^0 z>e~zTmKO0G3<)b?i-Rn_@fFm6nRcC>61Gxi>zl5DaDwjqAt}lHA#&_n)=slU&6qe@ z6@?BMR%B)u1i2)=JnH|0m#pF}5BqvHFw7G+#GTVbQF<|9EL1tRMsQ(t&umAAVk1Y+ z^s&j5j*N0aVfI^GrnuXTlsSDEU0aj53vykL3?=O}k`)3Fek~xaCDliw zLo{Rj9-9vwRju~Iae#PW#YbN_>KT|l+=Q3cM@j*W_O2yUW#$5aT~AQJ z?nWzHnD-5I6IklxB&6HrEe;sYFr-PCrP1$Ysk_}bZt0qjfW_?|1@o#!B<9J+@Fk5o z#LDCgQPO;A$VAb4IZdc>n*4jGM9^Mwz;Cnyym;WE5&p9cTHjT2eETYk1Q5QUsiH1y zh^vhSJ)UoTV^{!9wOvaa(vDI)i`e~eBD;xo^Nn9$V6^&zvVESx`3*++s8D%)rG+u^ z_z!qRqD6=|6bzb6(B?4xbix+?KyGg2{hpd*cH_>W;HZFS59d?Kj}zmKyPt%D0fM*> z$>Z)v^jjLy{hx%`S_%TROc1ZWc=%r%x~arR7=~t#%Ac@jo}*Waoh<;~@BPEGj3Ojw zer!MB>1?{Y#@V;g-to=)a1xFyR=mzAwI<=CZF!ara+#E!b7%RMXFGn1Rm`CBQs^gu z*^@?qb9=?(0{jZ}H=Hj+UH2ThHhFQvJwg$JT%i^OejxBmeF-ifN+Z=cp4!o|1FBP* z@lsaQNL1K9Kdw9-SeU;i!ZLYH#7i)sXZ{5k^i|}+E_${hyQoNgo)B^RmOlX{AxZB{ zvsgD9-;nL?<;V~%_UMu}JlOK3rpcyDl`p8V#_K~7pDA}kpWg=6ZSZV0q1=qz2~!n(`&Au40TGLQV}vwD#~AeU)En$LEJYd$RQ__W{Vg$(=%}g+I5*{ z|5-d>{ff!LY?XszUlzu#Slzzv;ya;`v?%|g5Isaja&&x#mS#c;$bzH^h{sP0_kp(q zh_>yjy&w~P*i^z;oB{Fm+JQ~2wS9Q z$J=Tj4UgZkuG9u(D=s8^-@nRKzkIEqXK$6;w`;3h2d&!+;8rRQd&YkxXIX5hMuF=j z>G)FvkeU#FyDXj|!dDMe6RtL@=OPz$ zkE9Ky8R8y3&8bP{J9pS-^gf{!OJN8+Z`W=L`)mO#QAZMc{JA zXzuZBeM3EQJN!mOu4KC+-3ZVwunCW>@4EHloy@6OTcFnXR1U&2Pb1Ew|1w|2+Uxtf2(Shq!-XD3(k%{6# zV_T1N+e*h)t{&Fon6qCxLGoS={>$WQeqPct{x61LQ8HtcG3wOgj?qiwYkALH379a_VB*V1?(a>~SN8}JXmYh??kd8+)w|I50@ zXHwaFHq6lsgm+qep08WO|Mpx1wiZ3tS)q?jb~2^1YDX54EA9!?%CK?c+a9}OazQnp za?|Us7?;DFw4KP<%j>j%eU#xlc)lLXFVPSF}1#54kp~ zm{J7{DcyHk9hs36Boil{w?IrzZzw$tM^l@v$F~#s!c~I$^qm=`CVBg}qAz8|bsqa% z)b+*jbu?eY3AZmk@Un(z?v%dw?DDo(GG2f|OJTq0 zvOpCr{9`RXYWt%>lx&a7eADhVLnnx1%zruE>0a@@9BLC02Qs~0A-QO4vB&trYIpZj zbuVf`8?a&T@azt$URAc`)a1sTBTj%&gVSv7B=YP{S0Y z)hOm}MSUD14!IoCn^6I%ze(GetxNbLv;41)z6f;TAnT^a$mn9j^VzXYYzsPtAyzCWY#+Wz?NlW|5*yc)E+~fcFr#5NU51D(nAVJ^8wIQf-=hLR# zv^dD!SsMMdJN>s`f0IpFAU#eJ`@x=zh;zQNHykRWCFsp`mt48(+N0L{#JgXw0?OED zBfJnyuMp_n5YbTKkihD9-u&5l=`lHP$7-#}$W`G2=qSW9*ljYs%klP$ZID$K73lHA zPD?)Iw$Q8Q6M4?)HP)J!cX@+imtW`?8@n*?Cjx}(Ab>lo<3e>8M1MM@akagH%S80h zuob=$E>v0C;hd{XxTP)CV;7G52Bql;8z&^oIB#A7(Pw%SP2Ct3f5t`u9}i>{mGVKG z+P=YA*?sv__lY8kWq;xhR>_}=aA#mJLTcTw3EUFp$udm4Y+2$JFybX5YCQX-Zn4Ek z^dEU;%p=}CSpKDjOXIG(dj$pVnx;D>x7V0OTsZQ)3Mxxp2{W@q6xfHd3chvuymB8; zJQ8{5>gaM*bX;MhYh`%{eW=DqAf;GNa=;TQa1iblA}PAySd~yx4aWg`^o@f8T(HoEF+mo2^h?7UQAuo# z!OM7BZvN%y8aTbTiKH)xD-#(49EqDx-u)xea*j9xH|}SR`dN{}hsA!}+Zi9D@e4b2 z%?kF!DuJ~2xq4v0TqtCX3xc)r^X~}Ie`hF>k6JFAcsG%-0eR+EsyBjp_$pLrKO8Y{ zJgC~XSp91bzkWpc^Kk;=RpiYXMjqn8NlTxn7XYtdz5ul-r}c+t>$Pvj!lOBqkPLr} zbm2%=>K_@7&c7-Woh@5(P?zmH)56^G<`qTGfWjeuE^*AeQKF|0=~~TtT?RJi$X0D<@QceD|IRMxw>Q%-VHM0Ao2ai=;bn{ zsP)a`&`L!L4A%ylWpR3Aug3(R!4~+F^GAlXqc0$qzruiDa3_IjOMjOSS3z25oxy605D-}QoolELg zma-S6t=p%d^BMjfY82y|i5#GZ%@e;;ao$z@M;Gw7xW1~dStw3T>3|0k@2{HGYHpSC zVFt>Gj?>RByiNeJ4qkj!553%pUF?hIC6v2&Z;) zoTXW=+pqCfsqj>iKyM^MsedIms?jK0_ zcua~OTiFe=x~%uzsjeupGad%9$y8(RopS9`GXPQ$mJQsym-#c9Yjpawy&79?v5%F* zX6ARVsd({hoQC?Su4m!B*}G!ZKiMFWZ7LB^R+Y)F(3+MzyO{h~?iH9jYX78{q~3a# z+{+);u~LApmcE`zy?Dw$lvwmeARu_*plb&C8n`cK!Rt3bsQ@Ro3s5CwI}W9dl-nxX zYHp1Ij5{Y(O|hqt2)rXBaUAI5WC6;%u9>q@Kv&2BG=L7bCbXujoNTW|n*Vc2li_r# zn&%Ii8k@FUr;O`Izfi*xeVd-2Wgo^7yYjpnUHojJ(&Y1V?!GCX46T>?QTdf}X}e@n zFnuk!bOAT&imF* z(>K0lj&GqX6J_;-mg{`G830vcp13ur?8b}v<|c|n$jpjh6YsfhEhHODqKOO(h&m1EGc~n1&!w)74S-djBrSQe zpOy3WD&qftmpBukbA1hicoHovlnm8d1oLAx&|5+2+ll4rqLMOg;h-+625b@Y#ebVy zDabz$>dX4y2F~Gpv04_he+tZg?T|bKyxmeyu@$Sr71=f))LA9W({UoZN>lpfYFZsB zVGl>-t6O|Dw~K~^1ugjc)e`#wc~f;-t=^@dwc)(C(}onj2q29Q4F@>@t4VYll=8qS zlZ%^s>vkJfghmJ-F|hQfr^vYSv`ke}hk!nK-wDJ)Imk zBQ;TR6(fpo;Drbpm4OzPd*dKPJGJw{akCA6jNZ^3^`uNmvNsn+i?ubbs7-61!h(Y3 zZdTZX)#>|qA$91?Cm%l6|LPqW7*je>%(~Y4XQ@lY+2kw5fuLox83E-TJF{E#?XXo= z0=G3C7**)@RD+>GaY2J#d`gM{HLvD_!Oo$+cz%0eWFhb6l9>l#zh|^cwi2 z@-kA;T+^c4JrBC|4e{*4>@ht9X3&gLxsH%=!22``x^|e~aXk>IlNmsb#S^Y#g;oh> z!z*r)u2zmifxKw@VNNSC<)1#?71gwKhvHppXh zEFVzWL!?T-wbm-xwA-&A9(Pd6(|f;~u6E%Cdd=^oK=hl4j4N4HI3;UIE+;X_#Jx7) zz@dq0?_#Of4S44OsLr;V;@&;t(vEcIq7QP=vvnuHb%fyGUJ09&9k3W%kciZMkd%yT z9nigH@aFV(s#VL@v*BGbGdC=%SM(!!fEPl~ax(GT5>qw4-BfA+6iX(1vHN8}w971g z`^QU$6tPJuL(W_QW%RU1;>*%KW`0dyo__fGtGrwd$<>*=K)0{w!)wdWEGo@9`zF#? z>8aWZRQ8rZ;^h|~fOC#4wJepsU6Sp4jwc=s!h1UrR3XYHRm^skR z+{c5&$H$8~4l>!6H04l%ez{lr}J*sa4wN02+=2R;_dwT4C80+%*F* zFhKt*C> zqh~!zebmrAhJFpxUtEOmi|U>6OrY&1b&cn>PUI9H7Zc-!{G0*iY}p#g5`ji07wvf0 z9*tJm_xteHS4oA(Qgtca9ZF{a{h(@hnJ5uoeag$t{Uq>cJ3qIB9Q0c}l2KAq>wAZF zQ3sWB-yP6Qh5ZL~551s|Gn16Zw=^JFIQ`qZ;VzaQ`+)^7q)i-hUsSi`4w$D*L2a=u{{YWRu^@J=+y_!E%`L)vSZ8Vsf9| zra5`q)?eC}NLSOu))W`i&yYGee4x&qb}JxoYjk9ATvKQ>FeYt6C?oY_AANSNsTklv zktYuLBPAt^*+)?9{Y;fM^!up<5&?1#9D9{RCBbiwj!^FMv#IVtR_PLi4h#kmk=poM z6%M9K_g}$;#zwPwm{(=N_pdBWS9{}C{V^` zb94VT=m+0sU|=}=e62Mn^q->RKY$|h#QH?o7YM*~QJ{sX{-K1%0-4j}XqZ~}k4V5? z3IO@`g~D+d`>juE9QU~(?_?wvL;-Z>0vg`T_(|FO@q)oCXcq;^eN;$S)6BNJ(!_fO zMKm`(Vnu5qS9`?dJ`fB<@o_+b+}*+&e4;==Mz0MpXkNSo(uA(DalVpW2b^+Z)O&S6 z)NLm&DJj1rl&JWp<-&Pq2yv(!{`q!$D0TqE)((@$o_rUT^j)Rudi(Zmg)2$|<-x8P zLB#*{0xtxZBNwvhN|_w2{)_{(;y^$_f~<-%nt%kABok2a|F>g(0asEhZC>zy{&%2F z65n2+7yvstkKKGGzKSd(0R0LWTJmH}96NGD2kozxNUr=AqU(>D8vR%=ZZ?Ro0zo#x z8bAxkh~oWReYy|bTk-dd_5Ol~$$AOvZH{87ve=deYa7jg71O8Y%Z$$jtG@Aq`z&dzRgi%#e4K zK&O{T#CP-g@#`>JFq@ERjX+L?Y1hAi6b(x_E>E;>9QLbV@AHSz#VT?f`^#DY!KZa; zw>b?y=zZ2xRcz;2(afT`BUDR@yD=h|pL_*;ABt=}GS-%|bTjuWOsV}X6X1#Z;B|h6 z>imvv$es`^zB1i;EC(DdB?o`u;o+)e3D*(xt$_?r>bO|DdFXMm{`w5zy4fns7yt(t z`^6u);kQ)7@xwxSbb>y}`%_JW3a<(D37JHHl&AjwZ8KHvVyI5L-n?U##NxjYs*`xd zwf~W)bczg{}J=$)H13SbHL$tx0!<~^hy;D4aB8R%C3?cfGtY0gF3f;#ui-E39L{8IN^#X&JAOX?LTI^JI`tFE99 zDFb7smcFAWE@T#v5h(O_|7iFtdx*7nr^9LX0^OzRi`&v@j14(j7B71NUV>>e$554v0*I@AjfVC~Cn ze*)gC&2^4yHjllp(`ElL(H6yO%6w>QQt=$yu+&mf_9BCVfI^-5E^PZynPJ|cvAL1k z_P;T#96);;tvB1M5Kvcs{R8i@%DMj$>3G^Ky^uDzf6}o=ZX0>jqqO}Apq@`1@ zE?4*WC_w<#O>z~)hM*J!O$PqELZx8{$87>daz-(~CGUOTq2ad1%mNNuw-@w^wXTY$ zvp?N+lU2IRSbb(u7UfOg3rEFCw}4)+)8ci>Df4PmRoQIa#bOa5@)8#t!-u8)0fA@J z)f0VZ`xu0&_4$t@FP+2>b}b(-mm@KLJu~g~2)%{9!$mPs?@aZ9uXlSX&SUlr5=uVf zc23d<_)~ZdkLye#2joWTvR1BKbN&-+cVGTmFQQ zZ0QFpUPy8OYTwV;Z`iHa$<8m-X&SW2S&q6de|mkrvfIiN2k@}wl8iVt(R<*$DpFp4 z*s~O=a|41;X34-uvZb`m`FD#Q_J`}g5H6Nd1ACTwVfM%jC3s%{)vV}$E^%Jq8{<(d z?`1hCa0)KOIO9LEaNytc1--m>9RgAZ>_v#FdDb_w)e<8n80QL}Mi&E_RM$k8; zWEEKoY;YAD-PrBvYBj)Q!C`=0>l;M~5UFERQ(aR&40e5D#6Z2Sv70wdOdMB#U+|1S;gZ{P|&h2!X3^MN+rEuh5&Yzb+KYcqZ9FA~0f29S!~NR|rt4Y8AxlbFp9BJ zS%kjU_lC>>a~Kg3;N@a)hS{PsFjV-T4hP_z)4s=ZBML8n zA}NPc>~0+y(KQB++RjQFpgK^Um%Q%pn`rxD!RXul-@+{yw+vio5kKqnuh?Rvq4IBT z|3SQN({5iMCYnV+M$NIHjFzkV&dG=LvG&d3CaPnN{|(e*pV>~j|MT%}z{kJU^r7Ob zbKn&g){=0aGb^N8=n%~Uh}qtxqvd6)mqd3Rm|B+0*1G7e`m zGEj}8Y~W!u;CLhZ3GGev4FZ%e=}|}k0v0NH5M8q&ngMK~B1WggBt;vadcT{WnK5IY zCe6;wR5U0tX*-W2Nz(s$_03JT3l$WHYwQl3N*zNYH2EW~ebQsncxVQX7hAIOk<4>V~jrlTjK3r?PO|~dU*6BjQD-9@1nD<_Xg;;{|c2ilN1!xfaCFMe);y=vCcfpcW0WrMZnBR)=oJ51`F8k+3N>Y zuSxfoUt*rWf0Pvj9izL7w=;rlay6SN9~$|tPdj=w%yxZVXAj=7O8r9BjQ@tGoC1{V zf-D&yH4Jr0qBkpLj<$5@A{r`CIUK?CTrjRhFHw5Cwg-+tmEzAYXFDDTv?Vp znnwUnX6btPjjjVRm*t+Az&fiqaV9z~6_wuD6ebJfhW#ng2As9AwJ|WeO)jNnZ&Qim z>H8vT`;s&bf}Y;Z1N4f5$V_A<7^(m(%q(R^t;Y8D1W z6^GuK%)CE115gfj(5)d4^;_7ihZI>wkAwK!HCgNKnMJPLVtGqT%Vrpfkb%^At{6^z zr$h|`z&Z11^z-w%`GtjLbkukFJIWB*@P+=j!b3Z;42dWZy4(0Y)X0fPlO0Qxn5i;7*mN4^FGp^`oHgPY1PdEC--5*toQa3fX=nntS8;bk2GZXigmU4k`Wnag3 zrM=zUTISNfX4w)MKxJ)ei7G^dXj#})Ao7z$Sn$V|)7*jrunkiA$rDzd)b6eb@$-u= z97V#v?vV6!ylh05PnY()JTkX8YdT(+4e&)_M^^@w?ntYO{p$d$#3MhK2+&<{87MHa z@g6Nu{qP5}^h^$b+a{eQW$~(rAVt|I_O_s4^n*F-GeVC{hc2|D(!QLWh68|JL%w`c zj$l0_Tv_|~{Y2j*{Cgww{%^+yH=F#U#rM}aDna$X1vQ|L-0}MJl3ub`_}`fXSeb~w z;~0>2`k#k;$=>GgPniGDC+&ZK()52mv4I|m#p1qniqQZ69YH7Bq@2>K7YbJDe@`#K z&oiG+DSJ4)n9bi&^9T4>N%#NXgM|B2stoQ87<6jJLg@;P=%W?vW6q+- zkAcSDKbO9BXF_Ja_8Ztjw1>ZAsj1IxMQeph@qZpFdfP|tlkInwpH)t&ZxR!4fkFE2 z^01cg{<@PXce$~%!+5z>*ea0V5fu}&X$i*vI_Y~Sci9@Dh#b#GRv?>@`9-Akp&#@j zCVmN{1rhQH_M&AyMD~||WG-S6-?wky3PNZc^2}Z86s-+X<&{9YzxOT>nO~GdWES4b z=2srJL=+Upj84pHBeW3MJDzg3M8ZbHeNErW(?0M|NHV|G9Qme>fEC{RKso_8LU0?T zXCWJrnk5Kqt&3>kM^YiV z#j`DTK9P{vtw?|3FQ+0kl&eaMC&0(o-_b})MiwV6A>)C`ia+G#)9_2@Zic@~T7G~P}bKl6!UM8b_bU=OJK3hj&ghUx#& z{CZm`qe>5d==us-5b#=r?4$Pj48vu-Xd?2&(Tbxq%~$;KNd5qw-{uI$1D^MvG=|xc z(<6(jFZ8fTmmee6NRG|hkv3JxM=0lnlGlp}E0cHKSIiI}UG9t*`l=2O9GUt|BRt=N zwO}zybpJPL<7Frxx(3jHT#*n6dTw9pH=DW+_|+i|Kua_h@N3Z54O(%)ovV>Ynh5bG{fJp6xEZ=>9c3U-odewt=R*2|rJ-4uIn*0Y zM@}N0^&^}J%aKqRvM_By6?T0i?06)UY<$*VpNj|;`6e*17BeUl4;ZrS+?tqNIYLSTHNvzY3zYOGAL z57Xa;{9r|ZMQ3ZPisdIKj_D1;H0*yux`K^B{=s2i=6l=rrV;GV0*zql*Sz3#-2W%g z-Ft^b@|)B%T>q>}vPnamkY5ynHv>e`c6X78;@zUFi4${p?ByEWG_S{pEV zn!oIgz|b-9aYpLtAdznM1@GL~JtE4IB!g9&t@RTlZsP z@aD5s<$C2A>eM=!_(DwQlnX-)>5S-3f-`;-)#0Yzz%ul$O<5FT5f&2{^&$V>0s3Jk zKTiqFKniG}=oN7Ew&ZBCByBlgd*}!^TLXk3uo=LBZtoeV$Bve!CQc6WXC>M7Vt?@T zIX9!wq4gdgwRVQW0t~(*uuVwvp7Mk&QudaX@!Kv{{N#)=-8@#2aomXPit!r=NZ}tI zh%;-EvH5#N@^3MC%rZ!;=wTmH?_{Fwk8ZvVZY;V!3Yo<*c4FPPkx(U+Z!MkJ$*Q4e zl76$LI$lBvtw#yUmzYRvjZ=vP(q)3v9QnlDbNoWJVf4OSwRf@J3fZ!?EElQD5WbT8 z^T0Aj>IZ$)0R<{Vb zmoRB+p;ZcMq~*J^It6!SJX*$5Byg<#3BH&9n7l4$AAQ<39VQyO9zFJ~3MNiDdI$?s zO45B4{G;4|}-dG?F<#Ruc=_Y5U}G8<+wJ(y_E@=z(3K;~7p-lBzf%TF zBNY%4uCS^CrGcCyW0$S*>C=dN7Ch?Yh17s0seNmk;$hrKGl0X!9ZuUejs9~E0))Wh z*ZXf@jELGgxSw59BwxJ@%f3ck$K37DX2wK6qWMm2JThHdJZjanYxGqQ$q=W7%XkR8Vp7IX|Ai%(!CKj}F0%jX24wC;7kM(=;aeQvyyR0Nl;cb1i6?xm zn{nd$b&4U{H$bUL^uMgo|Fqe8Rth_Qe}y%_BKt5ubyd=LvFm2is)Omxhlc|i<+PU9 z?&zagJH(`=O)`le-1yR>*OU*Q@@1~Ea4Rh|F=B+$%+^a}LW&|c-7Uo>Es}d|E|O-o ziUbLVUNxS|?xKqyJxD=jBH|1^@omGofWS)3d3nW%&4U|+U&u%Ar zkOaObHCs!8LpE&?n3$+w(=4mF1dMVgwauuTV2US!6QZ$rSsYPToRUv^ZopQsd<|iQ zZ1X=imk!CGGAD^7Ar2=VVBa)FNEX9=s3zDG50{V&g`be|SVLIQAQ~)(I#`Z=N9=^a zs}ogKYOoZcl@h%Fs_yN_kG^FsHouC6iKzrPcWvv62y#~vbHtZbrgYE$CD)(z{z6Q@-ctP~y7ysTFWJ(#Sa#e?cSuUyaXP5!{a1{}uWMd5%V)5`+ZK0gn zCTM+G1Ch_sX(5k&GnQo{W$&WRFZxD=#ssvJ_#PEc_@T4GhsIy(xVHX3jehoNMSOM za`@vcNFqPE&8Z)*N$xVlQ*sm(7HTF*`%C`watuET`hNaR&)Ro%!a_4c7m-EGESlC1-bt7!A*2t0TVjas=ooP(QhL zC!*Z6aP8_#upE=c%hZTDgYSme1Y`#y07;YY=~4tDi~nP`Q81*vgc;s zBZYIM5@kyrz)oP;`1{3R@Wd+zy2VH0fYZc(O#~_llIvic++7GxApxxn*#LvCQS7|Y z7%L@tGx5o2^Vt<$dF-2ponG0assUpl_&n)3YE}p4wl4od!Q`-LbiUMje$!s!&K>`? zvYwaboD1_sMH1G&K+=^5Kk7)B=xSs?5F=#&4$ZG%4IO2J_OP{yL&cSge|7x9)9TOc;XF3yO5scVX6 zQ3Co9pijw+o10Dpf$IO2mRgPi66b(1vGUl1JWZZeQ6#20UDi7i@lP}4y3vc@r_S1U ziWAN# z+*qC&k6w(tqi&=|{w-E7gFXBZ`W5AF7R>Ax`VwY5W4LVH*uLVz^1#eOmEsGifu1X_ z75*-{Um&}emA(;vk@m8P$Usdv*!S@L=BGOgOIE77((`mnqt#_@H!X`E+frHO zRY>@rDhWi{>;Q%BNx$-*VyiNvqQ|c=T+jK1JVRqS;kBz*6G%9Glrrl~1#8#qR&rHH zPJZ+GE1sWJG@R~D_#VB|5=_7++#I|N^I&dR;@MTAqUhs>3UoBc&GZG2S2p)U^dE;pS#8Z9*&WFrpwa{?FQe^?C+QDASlVth;q0#r;{*>CO+=}&C0lTI|8 z{W-o-*}wREYQJ~dqQDfsqj0<`<|f7Vr0XiL)}1?_+-_2UFVji_iymEh`&vil=8xxd z=0Frh2MBbZ><;SUgn6Y;Hc@f4*jYQoVqu%!M~wR3C!}5!yJ1nARs3ZHgy<*5)-wfy z_XsYt5VRKc%TF;2ZaCp3(}5;+^67B2C3lFkee)5|dxnR}lN*JPN4?&U{+P{HrI-0- zb+fPBnj)h*7(CnQspI|MW+T6iG zkH(udvIw{$X4}(02vmuh*@7Ali*omDvN?&QK>P1!P}dt`zm1knvW4=6g9le$!5j?? z4LSiB%QH&V zgog$d>d?#-6=QrJL9p(;6@kx)L93Sm}?EaoRau<4|Y ze5sdGfGps@`+4R1*!Hv0J&tcjpMc)}u$UMgrVcxDe?xdd?E=ZKz*DTzRRMt^l9KVy zA7guIs3ijKS2-q7u-?E}h^D)?T~rRrdr1EsKPV?MxPJ;HykO1|w(cE9{PX;CA!ung zouB#1J2i5gRRI`*R97=}Q;e%8be8IjgStzZi44uO>H=D?Lp6p@OjUkMcPywj05cXN z=*JWOsmIkE;Luh9$V-OJdIW^pVwmC>BPAG{3|r{nwMCD>ME?B`#y}!M>;`cGUGO0Ig;-0ybN>E8XRDUZn-H>>7qF5^QmG+D_`P686!L7N}_51+`xCK%v%vI$I# zy@7H;Q^WCk{n3qsOAuuT?Y?9&jWRoOLiUv>(es`J8MMyvPK;&reY7i(GWLl_&4H(( zO{3PemL}iRq$`d*AEcUs>His=?7Y;{PbI0__{))u%CnBsjwdjR%0^@Kp#pa3?on;d ztJkj`BBBW&ui8ZHzY=OXfS>JTo*M{VbF8m{HFQ||q5L>NBB6ix?LOoM#!Z4Rnmvch+7R`A|$baXUkh;XnbhxYjLtyA;!vxS2+PcA$u?{(9F z0RI`-UZFCCKHHkD%^JhA2SX${Vjy%}m@rG4Q2h}uWoqrVm&FI{TVhD)lRw(43X7U* z$1EzXo4+iOZB}gIl(GKMU>#JB|H zBm9oN3I3lC4e2A%YMkVK+)NFsa&{i7s=TTt)viSMc{_E_?$dwzf~k_!e@mY@IECDl zb2HmL6{boc@>Lj1oW2`zY+6KWCBNc3QA)~AQe7l-Zy1I!QLCR0y`Jggw2@FEBs<{D zt7?^EbT13oCQaf)8H7wOSp+`wrW#lZ%H0Fek2d_d>ns~UHuAhze=#(O2F5}5$jxFo z4+%12{4?H6{~uDkPj?Ll?=yg*F=3O7{W^sFQX&urW{slr3aEcw>{tL_J+_0tIC z{gNa*X1lEv>2)&7cWZAYvk55lJ-p*K)T+6Sy~yDpHl_1#E|XrU)?2nMoQZs?B# z!`u5aL8BI-t)NlyyQHF*^l;yXm!nMVozG-Y$^HOzBDOgu<_Y#}^Yc2~US_vn1skZu z2?8v74?G09t)UIjAF0T}fI^ z$l0WOelQo06%X81d>yTXM2^k)XDA`Q&lFQac!!EaylkS_DZ!ms7~JH-b$j@Y{Gxis^?0 z!+@8UN)~1M?{x#4rV*un371zccc>=(B3(pt^;UipBBUNheuh%UT5Fp5%g3PlpHM}Bj{^BY){&RTczUXZTIPe#8<8lZ9nVyD+E&p z8}$7e!H3p)tP60I8Nt#}A--M&mva_~xTrjsLczS~+kxA`Q>6poYn6fo(<}Lh4&`vB zZ!BPwd|&q+*`8StIk{Yix)3%?7g$NcXyN~n&2vcqh%uy%6^|5) zH=LMoC~f5Gb6&a3QH!8PnW5*454}QFeMAhRL`t;8`n@{2qB@i9GEC%q2;e4=8mk%u zqKVCE=_kKCW!Qg~bC~-sU18U3V}#pf22^pJ;dfJ5j9AKBrk4VYfCVF$qkjVJO)0^V z(ThIkLBKM`b8Hv$K0fiTjr=UJy--{>BAw?M3U6nUuP~8xC3VQjR>0y zF#pYv^`oShFSC+{MLO8H2}vl2(8B@yQ%2sVYGX`heBYgLgV(|$E1U&bj_=EzN`aHM zlk7RKt3PwQq@t8&`#U&Z(OT5xj6}x{0TU5?sPHG^rkRdHsRJFhf`d|u84a|?bcp(F z2p9rHOkC0mX2Wk%q##lZZjbMG6Cjw$ysvS3(LRBn$gf|T{4H}%f3{;dfALl1QDIv^ zb{Gq#P!=safd+)OzK9;W#g-kzRuy-Bk8MKn z#LcP9SwroZ78t^evNcd2k>&>UKD6YpBdu8x*G|68jjk2=0r`?6Q5*d9a8_~$(;i_H zVspQqM9ngLZ`MT#s=Q2cyGwF%iyhC)wHcKY%@=Po#0m4!5NYT7U~`3R$9 z30G`%>?XZDA4Dz&fKEHc*_TI*oJlt`@TiEAj!W2c{;kn6)Z%i_dJIG`hc@M0^vly8 z4PmmWEn)3aMUP&U4vi94qBl^T?I@v$7qXO!S9cIsfA(Z+fnfhEmBVf`A1FPRj_J;9&Z;3W(1=D-(7AeH*q2&YrN${k0_%hCA_n zVH6)54^UJ|J;5R)?9*lN$E4k)8>u^sa}!Jnv^rACQD-I4tdlv|dEt!vRz?ivhrg@E zA(_w33)ke?7TSv!yV^5PHFSRD@>fcE0cyxdgqKd^k*qQ+5X160-O1DtanmQ zHxu+r_C)VN?T3rmiqCh$Hok?m?w{0f@b|}iI%V%LwP~S8OpvQ-C0*p4jqgcY3t0S~zw!@>er!8b>LyYa_kSD1!Q>NnAj1?Q?r|&5h=zrI zev=J)IhLrd7wv`VWxPd&Sa2v~PUHXVI`R#)%ITuZIb>F{cVKNEnAEV+5XiSfGOT}H zAzYo-sy-PBNPr}Aa$i-D@Hh2=gXb;h}9Kaaxzgeso11Mpb50?(%jTPbeDvD$!|My&?E}c zX8J{^;+q3?jTw1!_3o~4ep2x~$I^;M3q|&g78$Z3D~g?g59H-%o3Yy0#KxZKyg2ZD z#L2|c7GCO{fJ+KFs8n_d;JzVQWSo&QUp;AFzj|J)umEL*Xc4bW+LpSXOwbk?TiEe! z)tnn|yyvQ7ycT{#@uYv$jhKDsM8zXSJi?~(5p`fbhIO57N@|U>#CNmxKwWwFCBN-H z;_r@|J^MHnhIcJq22Q+mXOQ}LL7`_${Nk28oBH=>2B4E<_%cT+O5Ee}N<8y*JqMq- z;C-cruU1H@=sfuo>G$3dKW~5ZDhtERzPuA^KLB+vF9bkUhDb9x)kmA9MucGEn%8JVkG? zv`W7Yf_}LAi8A~7KGz^Pmai%6qrk|c%W+55%`d-u%N)3TB+Mbs-pc2LE^$c`&ZU#JP-)w2k>gJs7 z{;1jhcmC}Q+Zr>+)h|c%#ZpwAr`GPuWVpnj4N~iVy}v&M&OE#$?yxPnZjY zJos0m^OF4$4j_O{{L*bwt-~N>ZYtlv19I~aVVb(v*cFG-dMVK&Zl%f9KQ=Ul~>a6FFHQ2ahz1My;Lsa=lxFo|}Z!?Kn0^o=*%hY1i!M0Yi z1X*Ksz-D#Kjq{MuyO{xdCLg#2MOLrKII??alom(20}_Kr^cY_xH=EJTU3z2QqF23JhDdB%{8gx=ymC7`sU2} znNieN;fHFUQOgft`|XStLxW(%S+U-*K&8C9m>FdL4urzoVss6(x>_lkM(LPv&n;rBmTIx{B|9`ee?S zj!>Z}d(hOZww;1&?XYxptutZEbX}eExq=*h$XL5)1R{X7t7Q=_2KUIOkeM z=R^rB{7WNY7JaA$Z@N#8DezSSGAf|e^FC@xW$}fQN*6VCJMFZ?W=7aPM*|7E5wda9 z$0bGs*e(*>Z}P7_naeyMQgLzy&U4;aF;vjit5@slGnoPY;)~3B&D`%v_r76#DW#TW zAlWped_4$4Xo3pYGc_$C^a6OA;YDDCabYEKSg)L|1Yd)ked3LA)JMQaDig8k^L?6~ z=WcmfnC|npRlYI3et8<(_3u)1bx3*9rvxJD`OVT|Vg2e98lUREczOz^`JMMgeZnTE`4hhpT!&*$?wu zzrYAOVMc6^7E)b)cMCO(_YOx;T7?l){IC*a0^B)Mj{!B`ak>pau%^o<%%+!_=Xw`y zCAIiH)kvOA0RHlPKj@s-Y5eoRVk(?O$>(IN!&Ax`pp%}AKQ3T)Ux6>Gg->v%^+uhQ zuW>m7v)#}v3^8-8CNQeFJ$+Q&ytJfve%OaYYafDbSI{>h4K|IZhL)^xGb~^?!Ms{9 zNy|G=r4YKp79uezS%nqrle-I0nhz%VeG^LiG~4ISR_3H5$IaW8@T7vy{GTqSd+!QQ z1|4==AW@n9Y%+LfAe9*2C<7vO-dNYpkar-E^)((X7su7&4&d8_f1x|o;@R;)D;lJE zIpZw3f5`Hcj+nv-OV&DjAaW7l*%owW)|ao7&YxuF^|*f%mQ_Ct&LfL!(P9rfq1IiD z&=b%s1O8txq<%rzOTxhW@|UR>mw_=42ZNw#p)A8avh2K|^Wz!7QA%6hgr$Lo5f)_ayn|x)6;)_ z(+SXhU|+P#lT!z5$nRt7e!tSnEgQJXkdDWA{a$XtDVMg_0XnL?+zPdOq*i@PfVIRW z{Crc=6(lz8S58LnMN~8zp9ij(%tLb)4uZdlHUI9qj3B<2lxx#!mj!d~+@pMU7 z^vQ2c>lai6+8EI&cv9=vQ0xuM7CiaWafh-c$_GsF&tL!p6n08wg%r+Dc8(7B0PWTS zm`y}lgJ$veFD;>O0IBHdv!3SO`^=BAUa!ZAq+e|t=StW2-g{%(m(QLqu~m)H%$S`( zwHgJ=S$U_3>{8g%-_-0k+P9VP)>bR}M(}kV>y4e6&RA5etW$G4!|QP?2G~AvwGz-X zlpo#5z`@pBT+Jqt&_|q^cV77j|4lBDC@X{qkvggn3Z#@ zpsNiDmvlHF=RSRr zH%;%fX=rlRg|`1OjY?@$=o$^cJYlcms{cQi$w>*aMbgBjsyJmS^?B+%((srE>@V#< zzyke0kX6}nGjI!{HeGbq&ZkP43+Y4JOkIP5V^J+rZ;i}NitidrnJrg2{=9^HndX1m zWxfUNY!-J^)Fv7@&zTqN$gYXAYkt}6fCzE*j}2M98;%vM)9jVqkZTMaXryM}f;yv~ zsFhP#U3Pz@@8LyGoPEoqU!__zocLp!VB_wcrGfWRZgG(|#6^|>pkCQ~jB@A@ZYsy2 zDec?znjzL!weM7Tk5!^>Ig$v2m^1b5MQH5eUMS^r2n}JRJ*C8n&)vktL|g6Q@Z-={ z2a<5p|Gq%?E|9lvN4l}}_#--s>+WX8PCiBM?c62~Hz(9U)@cq4_C&vajI{TK0TZ9c ze=kY@RZ8|X_=O1_g~Nxnd*coc!xE#W)~3q}UYSFC481Q4iiad@ zB6Y%Ey!FS(<>?8s$a3|4b)|Pu_Umgn^=J!#`zr7?S5^)K&qf3C_$xA)*pm;HKqk1AirKKOVvmwp0%?9+8j~l|7L5#*m{ehm@Lm>xN z(WVY2^=?+iI_KT`BmG){$IFIGn3`V5&?u&p^^&(J0rSb{MJ;j}DY~mnf^P^=o7E7l zoO-5_D0aY_UVvxO=*TQxX20aP%4JNwEEe?&#~>|eeTRalW-AM;*g$opzOSk$CnXi= z7L^{2nfDxrnpD^>DP@@@uUr_FT#OjBDdR%R_pB1sfL3b&3#2V}!4t@QmHtUt{+z`3 z8psf6$<_GcBYd$pqzIvV%TEzZk04=W*F_gDAa5hvLX>7N-oR$?w^)yxaU6L!fqS&F z`V&=C-r~d|K?kJ>72L}Cxe_;xNz()fA#h93M`9AYdW{>6`xyZi zWzEZj`tQ|$3SO&t&00s44}ew?jOKj6XjW8^;ydtyQOcKi!>o%jy@>0d7lhzuFOd|i zyPqYV+q2)0N^?%ItycAbeMWAKn#}COgs_#3Z2p_A;CLzs7YL8TM^U8iuvBQ}u{*kh zq@gV1tLqPpF-zx){6xM{wY)&~}B|nbU<0Ks% z=|1V+A9nTG#EOtwOmLY-KR&s!4?&PHFN#2KB1PgJzzD!FkM<9O>K;=#ynk3=@)Nw{ zTK&ox!umo?KShZ~Jjd7C7LYJiFLT}3c+QlqqLvM)k`z<;P?eXsz9VDZiUb3>!!elc zb>4Sr%u_*l0qlPXp{6iUPz4yM_i1%e zkraa~Ol6W|+h?9zzm~HQI7-}AkL9tCbz)OFY6r=WERD^9ionRAyx-nXLHWe2NZm0UoHnzMulQz3utOpbNME zhgtn?PK^+d^HVkYCJvO*<3bm(amJa-ZK_0sj7^%)0(FMl)lc(DEmTq#3yOUa!yk}_ zMJ&K$ZlnSUmHE=by&!i!!&zqJ85G@S^_-yjsaM1?=u;Wu6f6MLl{o#UbMxt5IY3my zZaB}ocd&bpnfH~h$`t&JAn;xVsvL$PUEwbRypmFFA`ja_IOo6=&nAubXVCd+9N2K% zpA^(pyzw0Qq2VcjpaL>@q3yNmgB!UwJRYSgu+P{=v$?k5|1mOklJMJGT}EqAN&ki} zP1aU$yb?Eldt=kJnCX>w*PE-pM}V+DGEt=HIEPE?GSoM_j_v^lqKCKi0f;xh3o-*g zQD|Q}*#}wZ@?-M1a{dPjzA5(NQEPccICo)f&}P>S!X=k&1;#hdPd9=*A)Mh5Rs8!KF&g%{T$qQEb3wj4#^~S>pjbUANt`noj z(k>j!OogP`${t*%AHBk!>Sb04rU&G6s82?pCs1z1l!_7AJ2)`o@I_ijV1vcsmp> z8b+dpt5`ob1DH855r4*;@e+)I+N5}2B_vpBR|=Zdd%Xp-brannK$6%7wZ~F0LtR_| zxZ&-gySm@NsP-Ws-iiWPWq|y(aK7fl1=hJV3=}QDKS}#Z;dE7Oj)B5%oLU2u9ZY@Z z2madp>Hf@Unfr9Z(>lUmJAH~}^@CPEW7hHVBQ=P)FiJT+ZyKUWhW(Jy7n_&iZ!q>z zYoysX$$9-oOzdvnd4*-=w%3`^y6e^>($U!xLg?9XCtPbw@>v#tKA4yVo(4W&PYeRR zEC-7F|0UrJ*>mphzd$N3yDMN)_QUx-&Sgo&-dsVh->tlpNw$uU(27ezBHz!SP$0Fv zSqrL}3xb`)v|?wakjq$0nvuA!Q%j<2M=-r8?I<2 zc9ID-WJS%M^w4xEM^%2^1gaJ*g3-Y?Zj){yifi|xXr`M2>ggEg?A&vrdQ_{cfINF- zhTnQ^9qoNE-lt@21mg}-hY^9I!ovPmMe;#=XF@|Jj&U~8>LL}!X7HgdrQ(SzKnv8x z!ps+eesi&kKSUpl&`bpDS4Ah3_?+YCU4K2}y;bkE_7Ke1WW=9sa>5IN^ZQ6QB%Qdd z>BwHbL11_!ttu&>V8datcx?|LJBKIu>Ub~Z#ySUMa>tv4f@-(Bu6b(W(&#@|;V_>O z!v1PnwXZ%sJlLqXt-NJxH=Cb)E4FP`H4K4Xk#?WWJ$S*QYaSqEi^d*MxuP(#x!yfliD};r4_}^EVtlLMtaq zkF0L+@E8;?SZHampp%$gZwcjg`qPDEQQzH1@=heE=)kjf#=3gW$lfn6lX2M|0Ld2` zjw*T3i${5@>5!)x(~D~0QL)@zAU5Vc9L`+ ze65KNHGQ(x0M(3_{M< zi;f7)$>NF{=aWbz%>OmDvZUgQ`&ZXCrYw@aMZuo(0WJC?#*>`BVXQYosL0o7_;Sx9 z=5=om(R@|s-JHBj)YPp&84p{ikIU5Bfi9T+ns7L8=-uFcT7tVwq7tv5w*_!r`p7n1 zFIo0uz}ewq9U#;1pCk2G8iCtYeExr7 zb=BhWTZB0q_TPhl)EIcwjo4xH_}!zYi{4oc=nUh{JiLxWNmpxU?p!!9Jme`h%UQmQ zAT#hpJr@?iV}j!78GAi=mb=!7KPlV4ev+`ciR{PkZ$2st4MCm=RYaa64de@!H4(27 zTqjY-4d(QrUd{JOxfH_B_Yjp6?-&dH!>)n9-(I3DgU7%?e-pfsj?)b$IQkc^0Evkq z-SYkE|1x@+F_N?WWiB{OajHwWbQ~wDBq~;N`q}!AoE`3QtE!@L;#%qL&0y)`9ZG77uSDltpgzu8@x7=1@8|0gK@d1u>z zWCm^*;vQU>1m3|X{+Ua~E0Tzs>1<^Gg?<<%_t}8t)o8h0qX-d(KEp}_dV=69$c5ri zIfPNsxbE<|RixTSWH$n9;3;Iww}#*{ek2OIk_Q)LPK>j(hBT<@+C(`3ly!V!0oe2Qoyc0+^x9> zz<(#8O8kLV3_rm^|L^8&C!kSLT0p1?Cu;KQ-MdaeWs`t3jLyoFY{>giwfRv`zuue< z-{)&ELd%nF;PB-CTtlHJy2D7k2qg}={4PLOU23Z|qpzd5M7-66R6_#16k4QTS$Iqj zg`xCGMWS|VF>D`}VaOwlJJ5r?^+f_t%3;s(5F{?19Un@~>bn5YEfL0!zv71lfMz-^2Cj9UM7 z_?$zg~M=6~4! z0)aI`z>3@S8txm+7ma@)P2X$Mm-s5>V&vu8>~%Bt15!cHvxr}g#N$-<7JcM=`g{9V z$ZG~$dJk3q1VIpEUcMs?u6_D+d)UZg>9NPa^3XGvCe@*n*~acwqUirRB>yL7=!*sS z`q>~k?s(=S-3@LVNf-~`M?$+$FB|3z;`Ag;hlvnTEIY2#&H07!XsZ4JD%8#;y&40A zE@Cqq>3~2hd_^8rAZwAE2Ns3CCc|1t+d>(AdV)|5q>R}x0SjdKd=1|bvUkd>(+DW zf3~3NkfpN`HVav?D-9z$=tomc;SVHi0JMFJx7$04^D z`*J92ykl$UgOcug9NKLzPICG2U$4if>c7t2#2{dD0WQ*+ z*N03f!{1298;g%=TszzH_C)g|VzM10 z_^u$(0=JgF48T>?j}6`zZ72vi;9(`|l2D z)ZH4|p z#a@wWf(WS3T_8_ALftTwSKWCh;`=llb=0tC>9Y*#9h_X^y7A9@fj$5VFE|r)-k9;? z;ZtIojbjJx?5gDOaH4NrT|Xk4*M9$gIQQzHLePll*?Z<&a)vvLeWM|Zk1Sz7;4r{}NVuqNx z1Hh4}m(C_W#E-)1 z$p50T4gf&uJyzV&N)RiJcd%ra`32y13RW)1p0@B;LD(1pUP*LP%;d8g)d9_luJc35vy|7AeZy zUmE06Fw88UGfZbuiOum8;2g2y9LFzJC_yfAFoC=*fp^qsRaTv(tkvBN!8#3X42VPuv^c$Z=g6k?-_=Fwk)c-ef9Sf6;W zM8naz;Qe2FFZSIV%A&}WGwd>+s_Ukn+m5$3qYvC*aJMsPxD1#$JRB>x`kHnW(od72 zk`=%sr;wrXS-AzEOgjNehzHbIVhcl&0c$OiDJt}A(tyPh8 zcZ8MJqIiLT;$y(I0qu@6{8WS%C7y3%6Ncb?x-$lsi?=+W#A`YlcQ}e|2e9|DUL6u@ zefKD;`#88lNcK*jY~MQvkhGH$;}d!OAj=0i8?KEom(~fOC~Vs(rzdyrd~n*pSqPC- zg|#NJVLS*REfItCM6jywVZ9?jT#Eq6Zw(9v3$=k{4=YZYc(2|m-RIXcT+3i-2~>OC z^hT!H1-Ji$Jfs8?anoQxrXLY#?t{Jn+M020f@h%@_}|aNV&EF6ie8y+DMk)|=9pRJ z#cruIyjh?;_ZuAT61~sX8@x~ylHrx<$$hNx5>{%;C&l8`B@EwX_Kps?!3GmfU{YmXvf?ek2Hv zWw`!{!iDRlLz59V)S1y4&d0JrAD7ou)ty+=II4lS2?k0p!2r`x_x&IvK{h5dGT=2Z zq(pdYgbnJ*-frF)Az3AC0QIzQI{qGge>$Uu@$9EKR>|eVu|Ofv%nz95rtyIt>^Gl( z*q}-e+EO7pf#982af;ilFU|({XP)gAWTn%r&B`xSj+z%w+hIn_G6T;JQoqErZPttl z)y;;I?b;-?1dd&=p3K=GWd8||7~1j<+-xNQBnV!P6+Vvcs~mmri-7SgJ^j3W=Hb$^ zU=NfZFM9C-<20FfP`*O7MUEbh9G?>zK9`J}vrTKroE?C%QR~~pH=Vr8Hx`<>6=>s_ zMBus_WQq;fjpnH`5u1cx6QMqB+ii>bC!4h&E&2d}?W&E9&5`?^yXWSXAjA#NY-IXx ze>)mG#xY5w72bVaBv{#(iKE8*VrTH2C3uZKlXjVKeTE$G!NZiJ0}&w!Ag~9#Qh<(` zS@pE<3j5cFX#aB*)e+_91PkT(M=hTGh*qFH#^ccyd$Ub0dW&hIYyQ*^ z2TM^=T(VtSF5E&bUlSPxL$ z2^g0vMcL>dTxt(@4g@$uxFm#}Ae09)X)EC}Ef*lKWLIsuStDgkwcr{l6@M6tLTcAj$khX~bdMx<2|Q?Ojd&8<+yzqC|KCO&`@!opmGh3I40@d?Ngc0CHM zL|JK?F162)SJ65O9ZbZ7EKu!3w*89VyUrsz`&4B;Qj0F`N3r{tPeNHHZZ}jhUt4*i z#zc)Cjf}KnIZeVRWfvPbrH8(2pD8%^WT`K{+feO(S8H;5pz_8mbP6?Id-Jg6{&eJN zBp4tY>Av^7E~A_>K?K(~cE-F3E`55Yy({?RhA$U@yu|am_!^n`n-U-;2ydpLdSDV2&KT;RQ;$lo7X?`3)S!zGtF_rf&bFE{0)WJ2a2>a zgR1v^(p*yp-znO+26}?6kEht%`h?J5y*0jN^Cw<6^#oVb;@VWP5q3Mx!mv=6H+RIG za?EQh9b#S`g!WNTn3=6%RNy74*Ws+W{vz|jxVoG4h;CL}07+fYj&!o{TJx#i$`??P z>bvgTBHL9^8nRBaTEtIT(cz=k7yio>cxVWX2W#q7;_|R*OCnnEuMgWh*zP7L!E5S) zza(pRr63OCK4>p78EGMI^8aXVXrY4qr9~C)>)J9MF7!*dkDTt8)&+lM8lB|yd2K1q z=UGZwa10+*ARde*JNLY7xlBzg0CrqO6GIM+2&iMiz6C=yYx>js*aCs2Vv&qEf$gT4 zdAU`e%BC^e7Y4MG<0k^*3lMHu4x=(Ibhsc>{IgI zN1(t*E}k8)c*r>WWkB;+~yL^G$#Qi=u_ zo>PXe_m45cjcj+s2m`-31#U38KxEM!H%Ii19)tu)on($ z`3?j}CX>`Uso2+gY+Tw-t%zP31Jb`!s?{gUkgEJP77wu`iKZ|`y#QM^KDx5QRF~#q zy0-}`gwCF1 zvH2yti~);HqR=ejNCq)7luc@{)ZFuXNhXBPw!+a}96={;Q_B5dF8|b4Qq}+Q=4=>M zB;w2>9R2kD+^sCQU7nI_3x|czL4@ZFNlyi1W5D(GN$fzA2LGExLh;$L1qK?|co zeVoroLc&@ZU4kvJImgf{StULw$@ttw3;$%4o}fjOTuxS`q9g2p=Awl{vg>q-(tg~b zu?6Hc+Jyw<%}L2TJ0g17V`igr7MbT9=+SxOM2Nw!q_0vi!SINW-ycZNCM};SU)(vI z+sOWCnX0@f+LAQdYAMaF9pc2;P1xMl_x-zsU>tcO_q3gxqH&X#MHLB6-y-#g#H#ev zdq;a5g8p3bFU*5a!;~^tL}peAVn?0KT(&IFAo%CD+3)Q*nW{#^OC8Z|UMJ_PQzU70 z*wgbZp*6g>{9}4VM0Bh4^nR@@7v9r+WW8S^awZ|dB5@}0@e2p7)+&o%E5IKTsj7Xv z_Mlb$HD!kzm~$*H)b~(SV7)fH;`af*q@tpGdbMY@XWe^x=aA;buZL!J!B?||TnV0c zx%}MjxUF;PXw#1_TV>|DP>AZ8dKD(0seRS_>T7t(d$>RWyho#`A&IZ*F28UX((h*= z2`j)@q(47X`Q;a=FjF1dc#1Q*5$A#XhA*AW1~pUXkm}k+SD9^1M0L5%!i@y^mS>uq z%`CsWbONNK$Od#a<=I9y7@WGKhnU|xm}-w0%DR0cY354NreA2R6jM&K1$Cg@u#)T+ z7;RX-eGf3{$`1dJthbJe@_WO6hm@8OMrja5X%PYGkPs9E2kB5mx};&~0ThG*k&^C` zR=Qh20g)WKdkBFU^6dHk&U@Co)_MMOE!SdZ&wlp46mO zF5KThKCjhAf3FS}MniL-Tjsp;dY>yS$Y?Vnc4I*x;GtV^GU@BPb2}Wy7;Ncw0Yb@~ ze#T>Xrt>yZ>a*Rmj9~;XY2mJ72L+{E3fD^5X_Vxy6{V2Kdk}>GPGeK^DDxB7))CpRJah(;2-$ zr6~cr>?UGBf&$0rAzz?)wev1=csG$(TEEF-3(M8|9DT1J z-A*p}-D|GMk~1@tcanBr0$oFxnT@fCvMgX-kI`Sxd^LLwb&IkA z&TV$NG$!v^M=Sg$X`c~Tb^PDg9Z0}g^#^TBe!QAu*K9td3G*$UYbI@cTZQC3*_k#> ztML#thPFy|ixRa{y)?(ml!W$5&ut@X+|9SB4E!dbZt= zJ#D(Wi7ZQVe|bqTS?gp9^P7eRPBMpwZY})>D~FvPoYly^lN?tP{HmtP-4T|Eh{EQr zf*1XT)F?IF3lw!7{tEj^+Zh?_xScLe^Xmi+LkXT4upXWX9OrK*P+ttF&~G(;SXMBG zM0`+vuy6cz?g32t-Mr8Bb*)a#LxL7(EM?CLOSAvk9-Dp0f@q1uN3`jPOJ zkQu4P6Vldnzq(?kS3~AMk)(QqJXjT@~*6 zVUqbArzrG)H+rmcO!<6b)4ROPa+rE#oe<%}s#x7WQ^R)9^f*}{7;E2qy5^h5q{nbR zOJROVO8kd7Zcq*t-hzqUiF3Z15PX?GHMcBz2^jl!Q`a}f6{J>kJ^0I&PH=Dp4Zs(NUbCW#;CZrnOL;SH|nM9+{9k^yvZXR!yg z6Y&h1G5WFEQI;ubGLa^Lx~ z#KbjV)n<1$^OIK$mbLEx*$*_rQySm?P_hq_hc%E8TSP=hI6_E0R{H0T0@Zmehpi^` z5}~H|k>UJF)bNao5aLFoqN`ycm1smar|E+*;#+M0mY;}FDu&!>?)$2o4X^k;S=vDv z|LI{Q$8>bp>D_;i;TWg0v&QkJlUY>h-*-$I3o&kfDEk`y5FupW%Vu8r()c_)iSU(< zwa|HfUHP@C5L1~%r2o~LEQ2^ZbC(at_Lict(aKISjne+@pz?dVP9q=sn}Y)=uhL2t ztPyV?QzLljjoK&~hnA=jZ_@O`?4XEmBuZKzKPqcfA6{|ACzQp1A-lTlW^(*4bPYwD z*{~P4AwqcQ(T;M`%Ur!}`rKafB)(=xnn@(XCy8;WL%z_c2yKzQL&iJtH1iqvn+aCm zqqfsD!idEuL9!+NcwI@jIjcyH&Ww;;j)OOsK=`}$%Q>d-Z~%bf4Ci`YV!2y z{BkIhgR04cTivAESKh4Lbk?wadR40%2V`Dxvw6u5HpXh5ltvt6JPfBN@;Ac-E=g)= zia0V>nMSM{e~P|n)hTVxVpyQLOzSyYBGW+%#ErPo8`;SqR7T5PBj1ZKV58YliuK_S zw3_?L`s)PRqz{;H6bY`5>RNNcW9?turZWDP;@o|Uf$RwLOenIg<(ku|xPOA# z3a;pyPQ$bM;(1i)5Res*Fa}tcd#@&02Knnm%-@Jah%6iYNbReic||R==+gZjcMNYC z=@{}MWljtDW$QQYQuONTtct!ueFD%%Am$M1vo z=INNHKcX1lJPx6MV`yD)(k@|sw#3CSrzM86tD28lv|T^KRnq?q70~va@DfkS$tP!| zGq7SJ)f18Av*(Ak(Mb2f^>VWX1>4x=cG~9bk+klR_7JNp@~h)T$46Y`20AdlhfXw< zP{a$;m^9h;os93Kp(x)a>hmRhId7()e`gan7Jt3@Xj`@_`F^_kvp{Dr(eQWVnB^W+ z;_yOpcYjarg|NZXG8lFTvFqDmC27EnIQ2w3Zw2iPT}dhgTxP*RlSw}wKLC8p=Ok?r zdr$idU*;Qx+{8CSU}|Y;ML5qFuKSnEJz);g%ujVUI8f8okQ+(OEqk%3_5A)Qa<_-o zXFx-B9hl#%|bK<$Iw93l#S!Ua=0 zOjJI}nWVT3U$h&(sRZQ{38g(J_26EoVb4XWQgf1}>*YU)qP`h9C~{Ypjf||q_*CG# zmwj67Q;u0)lz{GQl^WC1^1FoF4Rp&cwB2i|yo+sqL2JroeR(neGJ>fpPmJsk+$0)L zu2s_?`@@8qwn`he>tIW_&1kw?{CDft>{5vR6dXhx!f1fkq?co?cF^|hge}Z>6=)RR z)+{LNb(6B4@^}&UwR40k464Ye*-HxMs*xgp{q`E#&t^sd6j)Daj7i(=g$vjthkg!jbP<)Y-pYz!cLOZF~Q>^Aa&7{f;od zlM>pE%J?3PbSqk?`ID$c%F}o13VzarC97F*lDEH~W!&Wv zF(906FZ8K8(Ms~(oXbOF*LGX1`)9b|@`A?<(4M6+*J1{jvby%n7b057+}b42u|)?* zx6ZppVVa+Oq@-Lorn(;4ny})v-uXE9-D(zY4JogDua&yTwxd-DgMHTsgCx`rj2Bfb(?P%3uJ=wvB9P}3D0zO4%GCR0Iz{%HL z8yiL@UnkM}*;+=FX$-4_Y9!q(`Ud%#43C*oSj)wZ<8B{s+4r4LWj~&M+$^7d1h1#8 zYbJi_TTS|AGp2dx@|mz;$Jg6ee~9iAQ%vyOQaF@;qiHmb2`!22ZFRFFi|QqT9tXpjmS6v9V1 zm$!?m?hwBgU6fk(x5Bq0?7Y^grl_boHC@1OB;-m;A>iB(uT9fP?!bYmrG z(L{eJRFCu7LfPIOk}ssXr`j|3q@*zO!44R}F!wz>>eH!jIh#Rmicsy>6zs+Qk{kbp z{a{O-vyfBNZiD(yhNP}jmpI2OMwQ9SV+tbsht?lX)SPY(+nBnVk~99O!cKp| zKb921?g(l$_VH1E;G^F5C6k)#M$_a*d?Fa2Cgl$BSbqhbs2l^na)%x66ZI z$Q&js;^P=t*}SLndIXsdVQXdF#vyCh&#y*Uv@{&ak)aNW&XAEekJ?G`t6WuD{h<}MY9Q_0lSD4w~mbS$u)ns|1DWQ7*ZN1#qD~DAdkw6K77dX7b^Cd|d zo%34igot_)679(J2tvXhW-A=n5G70sfD2<7<&lOgQfiygX- zp&vhK|d>vE~Q)gCwsABuh|wEESy)ER2*8q=^6Z}?3j=jvIG zqGybKure=C>%Ppo%opWVyGNZqN4kHN_pu6vh^vCVr@fCQQryP$cY&MFgUPY6!akoc zW@!vrwx0CsjN^$al#j%8A&r;q9;rv{$j!r;r{<1pl!Zps9#N8ZBa>7~JX8A@f#%=K zFse1WIOnXr@5m#8I41b`=;hl_WoG(zFrh{uWB(?6cg`NyJpNlpk|{${@~|8!b-JEC zb3Z@j&1>tT?HP}&3;k=U=cHWC$!}c_LIw%I#4yX6$@w=y>H^IZz<1@Zrk|N$&i`5& zsTN4dfpUXwufRUo=Vs24&naRryPCsxJM_aSOE{`cLBJK$-RwI6jyW^0ElF^P2pDj7b~~#2z5L@7conI1 z#<$Zo{JP}FSY;1ZKm$$rY-!AN=vRp0u>aDvt0qy6T1t`AMkleZt^$ZS;GR#UNn~~8 z$2esBLWGz<{DX(6PU&UsWaSR{`(ZB3?e{(g#(Pdd|CF@AtPI~YEInd8;8X&i^nJ#E zcQc*bhn?D`C>PL-&I5%#Goc^iR?7=&ib$bXM&-yC?A)Urqc1D5S{myJhn-8HGar9- zL{2IuJCtX{L{o4GBfGg3s4^-LPKpw)G`%{-v%qtZ;+74f1ShdJSi9Qj zuQv~{5H8*L&;}Mt-FCn3 zm`RW2OU9j^0s%^i+8AKyS)yo8NJ)lD?vLhBJzkEUPbwTPxVg*oW$&$TDYc{37Zg;~LwhOGt%(q?5UW`G5+~)b9kIA3IGq z#WNL%>OjHnPqVrce5p$DkwMhLHy0VpW#cCV`k0(fjf`cliA3ux9f)tOjSwJ``-Rs+(DP4 z<{WV!k-=qybX&XAixL>d2K&K;z1_olD%?5&uPLe#*f+=g7CIsq0?}DA=c;FvTj3ki zr=o^abXa4?iyDdzOnCVBA5Rqhx~L$l{r;LKP%dv+*;^kufauy5jjN5Ava#LcKhvv* zwvL9Gj`=+v=~l>n?k_Kcek_GKw#E-0?m6#zISp#>U#t6*`I}lV1|PK$nsai}s^H0i z&2%@Qo5Szi(xyD)Geuk7o)b|1Uqg|%F~;G@vNEF@pajb=Syma9sLwnS*J}8A zH<|E6*xZ-dbw2P_E=8kY(4$5N#jN3hYj=F-uOpb@X2J<4UBbsR997K)iLo{r6{EJF z$UcM|faYdBIAVtJQ$*frKZ?lM#6|X_6&SvM+mjDH-EE8>Ujl~#(MbvsR~2RQ7yPTb z{=0lHc;GrP#=qGduq(gzneCjVlcz_8L8}SI;;^xshcqfEFXNTkrnO*Vm->i&wcD93 zAbg*#uRD3|AtULk5@Hv%gk8MpkE`ksQBo^N0cFXbv;y86v&FKn&SJfi5D6hyexIYz zmqpDwRxkGtUk>zTV83O*0rhq}-pC`9bsJRKZ4G4?Ew$r@d`1!rg?&D%gz0 zK1vIoKMS(y&!ek_Z*P`%uhFEyw@Pa4QdU?lN`F>n*aub9df)DSM6q$T8qQm4Rr7jb z-VlHR8n!DVbkdMi!{k%a3Jzwoyu1k}Bv-#`=BD18C3#%uxvNY=n{&}#gVNREuQ;Rl z6x>sbPN1wAUZWmc_RDM!lo?tRtQ@#8b%^9e0f6df$^R-Q@wW-j*DJ-O5WGmIBcp%L zp?gmiN=vgVS;~Hlr}+@Se0j)CvA}zfOXo1~(Y=4Yp_yb*6Nc&Z#Wc|X6+uP!*_28)+#}#f4YUalk@A{(k!V>Y_UE2*?vr}rw@DV8#1g+> zYRcN99-xBJ5@*0Tq!FsEp4w8`@Ru=TJ#?EANS^O@26)Y0&OS=Cnjg%^kE81T(qzG+OKYcMs^5wN6!x2!Z5PKRHXH3wcTE7 zcY4ac@q^siXK+ozKp{nFn;N`;+bsAj{$IFxGmOpTH=s$^VZWDw9RQvJOi9_PSLN|2`*{k9!J+9sXQ81#rmf!G8?_Dn(WG6!B1 zi;O5Png-Gat0f~2Mh7FD8Gn;-H_I62IdBN}@T+`pdR>b@l>CtnMk|c0?K&lxn&F;X zR;@VwlwFz><1Nr;*nQh^&Hpgo(4k@hSkY^&L;eD*+VULt2Nm%!FM=7FcM%r7IyD&& z{_3Vb6SJ$CaUTols<;0n5WR(q-YSTn1_=@pYCm##r$8@4%-FQ9_EkWuAW!*D2AHMV z$j8_QFNkN?eH@Z?E_2&prPu$ir{J)Y8BF|p%&%rXsxy)~tA`@7H}ud-Ck)6wbQA6JL}9BYYZ$R=s@OweHX$gX=Vq9?iTOnm~ta zj==K=L@?wk>+uts>bj{yx*ck;O< zvcqlv;v00v)M0|E`vg!Sm;Hy(BcL4;m~_FLBPY$aX!kiVX7u4ZgqnK)6o_6vfl3eV zU3@vFzRYtJ!-JOWiMJ?O2j@!1&B;#g4ffxF*bQg7YQ%*Jwl9luV5Ixe(0KX!G*1%Z z%Et3E`^op#(0bf)F?c{+bNLuP7v`_Q5gc=g9u|oIc-@Ow4D9L81pl2D;Q_H$BEoMa z5i|@DxU5fFfBHp1G%ZzCuENbhu~&Ar3!&~=k7Au5Lt;|w(-ZWi+fZe>L0uJ64{LP~ zT3koSsf=OJcYPsjM-3$uUsxtW!giS*5ptUG{*RUli-o+DAahgpL|`bLZeDv>}xYV$AbJ^^h*IaJ*xu!MiBv4&VsqR5XZ^u zJ^>Ri&(4Q1UDZk*j0?pyx0NTBa_x3@XN<$BSnN`i$6ZNg;>k?!3o@48PF(E}-iVhy zbG^b4GucH~9+>0}3e1?Dm9lmGuhR5ARj}Bo=ETlfdj%NeoUY4Y%=#{bxf$UCfMX0u@v7S-F{Xt}vsSZj z%#zP(Vl}>4@13#YZ~GazCjHgr7{kpnQN6$9aR~fmNzCpuZo0`D^nSAZ)73{KnzH)6 z1J|bo?>5_F$@8s~$#sp;qs5lOy=KGaK5~u}_uIoPFrU=2Sta%{$ab2- z_q*oPszNiLk<=irlxsOYnx(8Y9Dd?lUvsACnRzO8(0iM~X>UDh?3$z1+lIr^hRqZw z?r+L&iuF?&$>G2`cF*h4GSDGb3^)PpA< zeh0#JLz38|0i6c+8;R;2RB=tMq;_-m)}kbmLB#dir`kct)!q8k z5E|hXHS3^jeAlXZk=-+(v(?&NC~@l~N#Ksr^Jhn#Ll7(wqwln z3RepKKO1zvZoc+0;M$&S7MBsfOvq}7Y~27EzG9!bqi-W90sQ1)wi_XQfj!S*60f!l zKI(bOx!3f`UaTHz=`U9hN6kfIxT3xAX|Q5$EZuwaJ~=k@L5op9>)gtdTRoR{6{hnD zE)v^rx9nejL1xn2t*sAIOO443skaKKL3i~~iwB(x6UjZn-GQ{0pc!3FZW^oT6hm$A z@5eZ}PjV5-_=xARQ;Qykzn!Qap1&q017#1>fqi#pvi}|vDfYyWvE`&d0Lo(3!mj$W zi~U^YmV|4;bMl(WJOxRTmKu!A(_}pRa9552wAJM-YcR2e@yb_LYRnm|cgbfHC!}pL zzv%kpOmd6UNN2E^4l=OVv>egWQ6I&$IHbH0oM9xVc1F5$ieS^fPDFQpVK-);i7_*; zk2u7o0DcB3z>WzeUV40sKE(_f@4!G~%~Si80-*Q4qhNr}8Y84|x4Gfl8%{Z8MS5LL zZ4RXJb;kUHw*>W;D^El->FQ&$>s4I$l>c zr=u4V%5EChFGhh4Aj*`-Cld*k23aseK&F-*aNqnKWTnrAkNaJAiXY0|M1vZzh5$LW z97m^|B0Z(0RC+gi5Q|7DhL}O){d=7|aa!#YU~$=7ch&%!oNU6cmqZsKio$ zgMjhhgs636RvY(p$7mkmc+1av4x^u$a3cDi8m2%mG~Je$#1Cv;Q?-x zt?`4wdUF%KeAdX{-)v2g;}*shslsRkf|L?FND;T)juL3^kF!t;2-*qqAAG;~i1eRU zTZFPk{2AcPd=8W>!)XtcovV$hDacyT1$mXJKK+NsyUw2udpwVqhV7$D<0r%(UY%1C z%kVau$_U!Izyi$-moP~io{7BG*P=$6_tSTR)O?eOn~M<*U&+{HL2=keGSmm|_}b9S zw_?XRDDtS&x7sDh1;PFpugiVl_?Nw2{rI&W7n5YPFhJ;hFY@)fbx`+OqCbkKwOR6@ z+_enN`~E!*VcE}$@D`;Hk-n7alBSf1K7ZGS)Y2f!QnDXWFVaDg1A8y-_z^749oxTwQx2jMB9o`Rf(&syq_+dl|cQdJv*6!1;4#(C5Q`@Up=oF2$3g9?AN zq+)+{p<#Zqr+Z9u`51>zkGp={1Ic28Q@2R7_l;B0rf}W06M@(5MteR8w8^}O35HX? z?B$}z_INBe%8^mQY(T|`$%F@q6tEi)2XKM`-=w#7r)eYqp>$ z{d;^`ko{TyI^!n*`HFh$CQ!cJ9(g0AbBp1C&{v>c_r}^(98+X$hBJQx*;Ce;@jzm6 z##`!2s7~QMop|x#=W&AgRU);4J9~-dQ5D2W3XFsT1q@v-R;@WSyPqEZE)Re#XyE7^ z3?l4*)dC=h>cvut?pYtSeL9gzI^8Z@OHfDTfW|EQ4NJP?YEqFJVw!|vNY%TOMn&&M z4XoVGw$7`|fW)0$-y|+swADBeM8Z^qJGik&-HA<~~ zdAXTlHbA6v5738dmw$5OCvVev`c|u4UIL`qYShIA+P*QGtS)M^DuwI;Tke60+Vhv* z|Ha{05`UFt{QG`%XB?_SYI2poPwXTrK9<)F)QLIwZ)5$;MjNXCw_? zT{c(05*#09v3!_&aBhM$`L>>5-)uvBm02+-nclLF7LnCl&^KqgmtYTeR?dS*$+C_n zCYHvfwUwgwshVz#phnpG)FZ|B)hVwUNz?}s(RO#&VfyZmZ`zqtCT`a%^_Db?liu`r zpCUI7>`!l(a4Zzik{kalFH=7f>26M=JZ>{6ebpH9-fAM_fRcLy8`b8M(Y6MNRnJ4Q zo|+5F*NX(PHrxnXtD6gsXKK#~iAmpeKAPH}BGiLBS%7&8W7KivrN>R{SrK+AL-RQ2 z4bvb!<*fywXSEV$)#tWDFFu#z^@t_roG~q6_Xqork48S8p+Y=o6f&GY+r-;JjYg-d zRFD#9o{TvYr6fkwpECD9cXvB|`0TH~@`N?NEvhHG{{ejq^L%>pulhcv>av6#iA=n& zHZewc&kN#;f0BCcJ7NrR@U(5O;X!*}3rYXimreO+V&BZ`$6os@n)B!~jtr>`~lCp`XgoClf`hvwv2_IlrRG9WcI6bVM(up}pX% z&uHj=|E{8~B*1i@wmdiF_cWP*rywaPbRf7TF~%XVs)S-tsT4QrB$AHn6ES56(q-6H zRGRW_gv~!Acvn|wqso*hhDEtS)nbM7WUm7`;i&0-cORWTmt*wgDUn@K_Ss1jXr$@; zkU*WC@i=z|V7AY~$PKIn*Em-}@j^DS{>Ge-b<5o^y-LokWrK4I_ye`Gb_Fkby>3q_ z{4w6s@HzR+=jZQK!Ge;%+5d6xwr9!;bZ0aGfZ_6vZ>zP%&$Id5rDMb@ z;SI_PjPH8my)&nJ^tBRR+c^1WGuOWqd*>z{O-%V#zQ1FSJ1(WregS#WM@mWHS_ttI za^aLr&rofyJ^iev%l<@ViEK36>ThPuw`Qv^UZ6T^pF$?RaH8}>7Q|;2;ez5Kd0N9r z8>2~)aGL049s?ea6@!%zq0vkZwQb$jaye?@AO40?X9eDydy#m(odiqBm~;MR$-T1C z9(~G}AX9Ri=Dr)QwxasLIdJX2))m6&Nrw`ZGf6s4)NP2W56@hPw7`1yuOBb)VQ)c_mJh#EyH0GB!qQC?lC6TQF29qhF31S^ z$05C%jI}iWlMJz+yT;;bCd|yx<;cNn%;%nL|nADY-Qoeu@#V;Zr_4J{= zopWTeVgiu$HU3j0eHjcSqurmAvk2&Gb%;%SpL}HmORh%V!^lI2bqIX8 zpcfCMH{JJBw;ArI)XLq6MC%&6#XavI1*P6)?|9>;74@d{ixb ziEH|XZvdL%5Ayhq^E$yGKg99+MPT5uGJXIelO(|l5lvD-&k0ezx4EKgQZdBxo^qPT z&j%=?K64b=UHY06K`!3oH&r4U=2vPSa>yt|gD!iGPU=?1(d*E52*jdIG! z5*>i6vJE84w+u(WmWHW-8s63w@XAu;i9Ul2g{_m^`x8MKC@za!*kh}mNWqfV=vOsq z<3&T*`{%#MjZ?4|(nFUch#}c=7t|-{toNjlgJzQ9(EXwmO>)z61}Yv-0SHOjV2f?s z1l2mLVf^)?OK#53ENqa!`n$9>VCYPJN%i!fqa9Suy6&UBkjRz}`o|mfa^aQ5jy zYA+)r1;b&9Fv{Fa&7Gv7X>T#& z=N{Y4_$p&{Ho0EVhvwwJAfQEgi`-YjIbmmn2f+&92Gkg`rfiXgT`f`{YyyHxNG~wS zaVM`PFrlS&IOuq;1s%RCybQgnNr6TxPJB9{VS&?k+YS8^8097vrRB@n1iN(_xQuo| z8|u3p_iF`{gdrv*P|mL5$;<5l4`G$FBe2E0t9zE|A6g7@(=IC3Q?qF|ohU4z55*G6 z9Z3KEApPxf#?CuZX&<|GE=VFw%LNMWF&2gRW~8@kTXh~cx6guM#oN_-7|v(8WKKud zbickm^)Vt^;w9K~>_)Q96__@T8M!>?Ws1_2!FCq0<|q~jj|ZrVV&oTFTHi$oFP~2= z_gwFnp^|lYrEfvsApF7NSG7DO*1zZM*Gf;=+dMLycncd*{Ne5&n6(d-hURA^5AG#b z%qC+r&Zm_@0hfDF;cxs`Fi4K1fxjOq>}&R7N*Uy4+;bv11%JTaDI%(yZ>ah;4!F+W z)L7|F%#@x49e&V?)WVB)ngmtzO+evV5}k2tyI6!>Lg1Dic&y?XGYO{pe&OR7(8 zcK>RqH^i*^9vTqtwkv73k6wtQw|st+rnB8C?{(KHAPXoo32XV)dYceGd+_z;A`gV~ z+|kX%0h@tar%5fMR$;kE;#ax8z#^nXc@pxe|J2WPY`IFh8$J316V|y*qZhSOcVklN@wcg;6o5dO^PNx0^ zUm*l>)!G>P9Ka#T-JMMy?0P(0kVf#fm!x^Jt^sx;?fetq+}&|s?ELuC#+@}&W{jy# zl#S|b+BsG;C^)76ZC&7DigV&Mp5IDgu0%>Cvkx>0)jAerf3MLT-0ti>&9_|uZrVX$ z4<4YrDb!lTM0>g9NULz?{Mv8qgGlVjC@blK?|v6lly$dx+>ka!g-TE{e)w|+5Bs@0 z3uWXx7r*iJ>}N682R^hc$cn){KarD+Ddu6d(^Bs=QN#&n7Sx~GrzuY%1H6-p25bQh8 zFq^EBs#D-i*nI%{08hd{7SG?(epC=Ha%T#-S8z`s6W*QQH8}aq&r;pTff87f`&Tt~6-&n-gtXphkq5mi0v1@liT209&BQ^Ql!TexNxX=zN zpx5?(Z;cf@L!sc95}VUE0|+OdIm9kYR8+rdrpvraa@L}TaOtfNnuhu;zDcFoCE$>6 zG11c;lsWrGiMX>NGnsCiO|8z%Bg6W>m!qHJ#{H)uEh3Tso);BtJl9m{ya)fqH8M ziQaW?TOz!xzuMT0d}?r0Xn%H+Y?8r?N?yW8gF5dY3cMjwm_WC6#l&AR`@6t^>g1?T|55NS9J@@;W}3JpwcKoSzA_} zXq|@LZ$$>L3!C{YhCy@)vD&|V_I352Uj8L22Nh!6qqW79Z5#BszK-;3w^*_#C{HAD|a_JUl@nvTek(CVu^< zFqhZt-CcCK4C#_mgVM1v#Dz6V%~uQNw%n*?1Z}NboaWDbQbgcT^-HuuUi!<*Mhtd0t=>s;d{nL<4q>@ z0s;DtjqhsD%;t`qZqP%swqtN(zc&*9`t-lkT1w>0zNW;)1 z$@}IR94oXR)I$Q8WGTYwAN-!Ry+3H)mMl1`#$S*sOYJtgR zcJR&*H11pb7O5?=zNfAyKrTr9GFRpXP(IApThf$KIJxC zH}2;7WB$wMwFjo2GKs%kVuN}*I7Y-b@B^GN-$pl%#V|~h=Z4m&xbOKh3O^w78)!}= zdVyy!v^`-J&_0Mx4n}Se1b|Xi_4^fg%sc5{Umx}7z07oueJ)zzTsnJTG14)LkCpFB z@bde+uk@9T*>9eVyLs7VbS&qoDYw6sn#2Ep4V_uvb$`0Wkd+n2W9=O#7AvAn6}p!bTp{-U%S3pmT$KS+X<=)YDhrjEE zTEH*aYNrK-VoW#nrC3sEDAkqQ#-A>=uQiTyGKt!!_rjj*@10V}oF`E7{G*ZKI#>CK zcETWO*Dg072Km59aj9HVOM%R08H>6IA(uTZhX0yPw_Z+Zp+XMcRl=HPY%bu za}ah)>OlB75N*}dpqToo0(9SGC-3mBo5VZ3BOf;AU*~iO?EN)Filjg*vZ z$qyshfav1f;ug(bHYYm@vd)lLK6j2i+<9N@6P$k3H}eb;eV#{K-6C5<9^2DzeG-?oL`0j2Zo9J#xc+xp=x#4A?!1KR5yj# zYZGqKuiVv4vs+s5KLbT9{qpwyJCOB;`d>;9@B=~&@=TDd(tPt`mcN;cyP;Ij(6tAt zpljD!B&Tc-xT6dVu<_v=Y(PZrm

yI{;hmfKH0&ObM000+fvK>yK*0&Es15tuQ(Jb-!(N}o*l290UT zUVNuqD5}$f!Hx>rzZN&_*7wi6@8>^aP4mCR&eQ*IrT@P@vZ;yJN-M7<&UPc)b{tF( zobXi4tegW!_nR=Mqk4tnf&$+`zyql~N&U44(A^U)_Yq&ePT?mK(vVL+vH+W7Pa{09D)JtPp9SrQ9?{Ld-y`^_%VU`uBH@6ytF4kZJp>Ut<4?4RzW(%)j+^-9VS+8R)pb7>S5e;x_yoV?P{t>$|m z{~O4Sr#vMVcGFuhixF>oD*)fdAvf+-B_y4#Hr-b5L46dL{HCUL6G{DLc-EE^3hm%c+qRzM5>T|@w=?foiq#-Eg%WpuAtMD8a~d&0Z>x+UW>jm z^>y>;zGX>x67Tl&P68J%MJebZ|0JuPoY&g}XVoMISdun@(2kl(kT}YB&iBL^L=ns? z;u^ z{4*GaXpa2AOSZ028B~pAHAZ8MDheQvp0I2};w0apB)ad|N zS8mDn)%sIr`T}LQx*uS{G&=HKddpdg6^yDHy14)FBltV8Ach5%J1Bc$+J}rT)IM;&m*k3~cb2V@Jmu*2D-vf4< zdAhjRr&i;+zvxYgpk7~1pxaMs_y3mdcX2u?e795Os71&GY4fDCdQHc0P!<3l zN4LB;ijTw#(3r6!gBzeABtTIB;69A?zlUZl^XFv7|4u|w3VV;S#?e-mAY8! zB?#r8%(<~~uT9=v-%WCQa}x#8A>RkLM*}cjP1W|iH}=0c;y1c!Vu`yPZ#+eVq}eFX zfbq;K$dFZMq_XfWV;H-x$iGxuqE>M5wmXn&nt}l?qJGOUDpP*606CVPEc9AIgB}t_ z$@H$L&91_c4b1w48Dct0`gmeu(|xk}-QBK4 zF`O=8Y)0m_cf38OfvC(4>_n7khes^%`MD(7hp!m{my-KH?jrjreh2hEbq?F(_c^#q z*S1WXoIf+wZL8kuHCZ~?i3LibnjS*F&p5f)|A|~0z~3^=ig0J5Y6r-`J%RhrT?ogS z`#dFvvUk|Y$agikoyhs;`}DN6^?oSbJ3rP>A5|-c9wvMd{4YwNU1t>*r$`@G7EEYR&7%p2I2tW?i>+tzeY zN!Id%u5D6jrgRbcshh%{(5F4NGLY!AzcCUE<>U-euyO$LU*SVUarVA=+}}hEvnV-X zg0t53mIx*?t^GJ5apQro;uadlw~UJ7t!e!D7PtoMSn&0$xX%EkrMDN+=QH0PgyYG3 zn)h4GVwx4BDG5)qpbUEkK%iD@@4^iAEtmWRk?GMXTKvzt1G~4HSick{Ikis@n~qeJ zi(V3d-o{NgVetEH%59ir)&V(pA-VHs8KW+w znlEfS;vvAU78ku-CksfiLZ-dd%r|X0!bL!5hUdS;BX#hcQ1;c%B|JRe7}>bT9!^?i zM;d`>DafZ#%XsT>Frld^uul<&&$Yb4OHfkL&3HWPi$R0?b)b+jlTV!F! zh?gG(&c|JUs}+OndnXS3oiE+5Cx0x1^vaY2(MNUqp^h^s*V~hOTU4<{_2uH5`Q{Wu zRLA$@;^IU#boBkD`juoxPj>+;-~<%j^g^1zI4F;#qE1R$+L{tG!LZI#J8KI0%D@fW_k!X!Hvnc>EF+DNf+eNop_3L%AX8m zXfyN&mQyUqEAWGtF*oFdgt0T^YQEzUtcP=ZC|{F}iSJy@zZn!mfm{^KCVhX^>4%*6 zu6RKimtk6~4iDPIBCaa;ah56kpd%K5U%Jt_SP8-+FOPoynhCkRlFV(OQgl}rJBD@e z-q~1-eCH}2t+4O3G}a`9 ziD1Ib=zN+BuFkzf$HbJ`fE!KY08s30H`c%ig?A%20pphGSxIqy{S?pcX<&eu&g!Nl z06}K{-U@Aa=D_Ewf=*BrVIH6O^NT6&09?72OR(T)`QRFTb>}9tWd|6QV^Kr6cd`E{ z{OCz7Ycucs`wpMObS<`T|0lb}-GVeR2l)a4OnAmE?pyIbPgmV{UR4S>JpkEo!!HKo z6K($ceAAJRqGU5fP68w`0O&|1s!`MIie}SurW-%nV??ab`iEifVq(baQ@Qkd zg~27C9$ctS^Fo!Lr}tW$Z2dbbT}jR%InOqbTC~X(ai2N_-4VmZU6O>84oyd6Zy(9v zYXj|0ex%QK7#w2-6r}3zl+0ll_g~kEgZQN=VK~G(1)TKLkszq-E~{N6Yq-||lJx7}YYR`?Z!ZLnb9E{S zIsF)YBDv{qzOnGSpXYwx_gg=Z!-GRNbFDS!80RShF>hG1`VKGF_OpN>B z>2p*+)kDwujyIEhDT-XjHY>e}He%|gtHm_QF?x0+mp(iZE{p*BE z)hg@B$j4^CLL}&({z$m(#L3ome%t8uUMbR3{kThceXi!{AW!vb3YtMEaNBGg74T%< zFH?n%iR8JP%Iz?*PaR_zTjIS#Ac6J;LP8LK+#p|l^MHzO=MnTy-zQ_tmZ??9S$isX ztb87u4BPRAphAL#c}mTDTF{LP;K^gfjudu8c%v_I+_;#;iS^g4_vYDrUaZ63-M{ti zlc-zoK*ayiz@_YGl8@bxjCEA0V{H>O|CM22eprv)R$>j#wV8l`672Or44$G1$O=lS zRstXr1|mvmUN@vXe1{BUOeUTTIN&Fo)>Yh`#SWE_ah&G)JoqzK|9SRU8Gx%=E(QSI z_g*%<<4=~!^tCfrSD1XQz&$zRg;c+Wxf~SB_#b()#Q7EYSGQF-da&qxOa%pU)hR99S+&&xF4wks!#6qh26c4)@x^J{yZPP_NnO zm2>-&*y4UDYSOKHLqd_`l#{!D93m(nZMe!8!e~gtKogi(-87cRL!C4`v zb)C=G^AuveEZTgAFu6-JVH-1U?lZ4Ffv#@96*VXJo-#ca^?`|X524azvCq!I04|xD9yRTOTlGmQ7Jmp%5u{D}FOeUz zMQ)rMHTxeV0r@7y>pm(^%blD^}UYeuTIO{pbtbwc8} z@o&6w0+OUFC+(QuPW*94wLA)_ckfmmK@wh)D)X*BQglj^FRLBjYTFNpeRGC3Wg?b6 z@4FkT3!mNZ`{dM*b0X)I2+z8HTH1WQGY0+U$^;gkk58v+_B8gS7Sn8JibxP#NEpbXR`RVjT zuUsliFZekl3@qEWhf}8Edv9CxncnCSm9+<{GQ9BJNr`kdM> zv9Vo%Lcx(zc7jm&gbxX7XlM547~|D9w^oSHf9S}p>)N;MHJm~X;~1AP;p&xEc(SS$G{9Io7{+F z3+diC2!6y1^13)&Q=H!m381FVc~^H5rTWvVC`d+GLU0=VOZWv~>+eXO`LO{U;?mAr z86gM<>{6uJ4hb{)oFA$zHE@Eqncbh0KgQQ#jb@QvTv`3#v$lur{^qtbVj>!DGDjc# zI%8?`z0r$`F}4#?Ph)%jvk+`-g$aABR|MV1I2KE*cpYqpU)03!_U@J3d%FKloN4Nl z`*Wq``)AKSOmBoqjhi9gr*}_ms*KCP@Ht=mnwX*n6`K8@2R-GxY~>HUeQg=>Z`B)D z3aGw0N2S~IyHU+7c#(`WQ_An;%Z61Cjt2+H%T73sn~4nnQg{0HB+Yr5N~z>zC`h< z;QU%XP_?xK%5_enUtgAAL}a18?H&coOhV7?xt@6zNkrfGo&7BPR7m5MyWUO3r0HP_nG?h!H0sypC7a5@R*IKfrva?6APPI|uivjPmT8)F!St zs|r@6r4sw~I0I$va9tQ^#SHb)xS2zzdH8&k)hvI`s%yTIy^|2Pb%Oe(*x|O3a9yI@ zazs8+^y2S8favJp`%TB)jDk*$%>b8Fon8=eCTm#ocn#l>s2*P{zv-v+a7{a#Q8&JC}t0^!oGn&?r|>ri;TA zrO0};h>=9kRb}p2eM6HwM@!Kg&B2i$kcuOSYY7tD)(DcVc~5DM%t*Ovf80R=v;3s# z^-I^LFbl>50i4`{cC0>m=WZL+df!o9SDPK|(PREOW_o_KCgWLfNv~F`wH%|Nw!>_f z@%xT<|67B}OvL?p!0eioRrSX+j^W1KrM|Kvgs^|r?4^!r-we(2Xn>Jp1 z@uG+Eqx($&5(@}0y_(BF?2N*ZA#X0oq6C;82+o}fko;%ijWkn%9S6ZDAfmvJwRrg- z-3_Q9=P9pkvR{E>R_pRTbc5)h*Y|ug<(?eG=3k^<83DXB{sDF6@ez+H-pCukINLab zn?A9!J>aD$qN!%D#4h{>%S$H+H#S?AvBFz}51KzIyS)nBS&g*N2@vLeKY8lHjjw3y zD`WHzwwEB{F;O>6g7znz!5^|RWSBFOLuZkuxCv3gPg85DEzk7rzb>Q&2&pW}cPI|BS#Nz??E z-QULsauxfE8UwK;;9jxX+mVisW^U3SHYf@&&g^c1@l&MuVL1#JaKoH=l}~-1_+}xX7zQvq z?)|=M4>v)}{`|1<8l`azzn)oY^t>AKJO8~>AZO@nSFRT^2lUEHl*jm~%y$G&_NaJKgu&BP%e&(Tc7{aMJG~&%uq7)Yb~&>M%j-?}*(Q(e>BiFdg|>po=&C zba#DL&5-AvUe(JAU8jLY;DQOpoy$v0YdXoBm>ZOwclJS9>CarNqH+D3qh3qYMk8OQ zIudQDPtNYf@^}H8PPGhF=ERZD)l^lDv5SS)v|Jhnbrlhe!f5_pjRpv@5^z!5L}g_y zl!{?x`=IE@l#-}D;pRDQ$W36{wnR24{dc4Jm4rAU z1j!tp$BQc59A?H&y7j>b2hXdA^`8`sfAX-CmRy|SZrKb6am?_Z)ort3F=?3uFu zI4PV1A!)&-RQ-2&{5_GtTdDUgeyxH|&BVvOKQUXneO9k3Jf|0Q8P@mqHMgdim&(X| zrncR%i8f5Yn)75hOoE)xnx{F9PTvN_3xF8*I0}?HHV>lt%~|s z`eMh|EwI=5x6qz-MZ?_c6+iV)P5|un_U~Bu?+5z(waYf5rjOD7W!{)#KTFwYQG@Tw z7WQg~JXw>}{Y%uyZ}NX$DH&>uL*jJyxfVwwbsAw+n~G}q3A+Wdunj!>a=cFe^Wl(h zZpHC3QwNKP`^nF zXQ3I-ruX$4KFNCb9u(lR(zZQDOoeC-sueoIcQNytw|*{-4Onv{elzZ-OZMw;U zHNuO+9UKi>T@LiHCJXQmc3KZ33uu z)}k@xF<1;H29}Rn06Sb_J~~ojIx<{hIZ(KHJJ^Tsv#)oT%0GB?ERXdnIx8CGbT)oB z^4QfrlvggV6bZBKa1j0OVLri7?sG^86hHj_Xt=(#PKVmu2PUMK!gnu@sq za^Gu8F;}p&i%hnu@$|!&N%|e-rqd$GeZBfuxtxC$NmoSsVZu=g7JZdp!YyKia%Y6t z*iyg3KVhMdw8ys$k&pz#>+1LduOT@b4RIVpEdM@Hg(AzUM-VSQlZN$3k9Rt(upa*= zc>eHR;Jf}_4(Y1d=eiC)@vfty){q2g{lqv`^^4Bieu3M!Q9P1TE$SP?71rOg^{Edn z$X+r|M$p;6)3#|HtB$85JF*(<#cZc_kscY2v#E=^#c013%C(jMS#bZptilL2US8!K z$519xGs_Bv%Dihhw1OkJ)Jqt5bWmepj*t<|H0-IwmysDN1H`CeaFF5_o?d8BN8nsX zMBBd&v*?A>LSuLg9lhX&GIzMs;Wg+|<9RR)Ix%~}owEmG>R@UzG7t2916K2(F&SmvyVKsYaKW3lo&vv!Por{x5 zxyT&}EY01rXNx-1F)BpLDP}uO3SP#A@o(sG!$q&OD`J;Um)|cjo&Atk{zdhK|LP64 zuDCfEhOr3+w@2%MpJ4cC*^bA@ps3RX-pBKQ1bTy#)tyK}_b1{Rj$DOY%!ly@TaS#vg~?NiRO{=3prZPz|V-Ndht zSI5OKl{U`ZF2cV3+;@%f(fyS3e;D!RA?OXOq$+(sC39s@peB#XOdcT(BS-lQBsSGo z`o$XPG5cIUK74nDC^Cii(3$G$?kcWgg18gBr^k^vXJpKsm!OUX_GU=b+Yhd5!~5|zFYIe}ySNoC zv&0B97QLlp6IBo6Z(hBwRAW!fM%28*PJ;h}>*vb-`}EqOFa+7EHxRk13}t}A$2&ba z#a*(w5F%Bl0<3C7h#0p9icxQg=_n$bTbU8Kn-VtyE4l@ktyXzBgd>A{!wa5khY(j< z0oL)Cckb-d4H)=Q_)062BW90?jFs`oUZNikJLcj(!-OSD`*Y%h7q%-spa!&t2%ANi zH`_zuREQg{uwUkll_IMBnJhiz0vW8>K?~k0`mh~Dxic&{>Tc9(+DNTle6kAY16U?~ z`*!{uhEW|Z2zU*@c)P1fT^o{Zj|S-Y%~fv5SK@du<)HuUcQHaNdbsJnzex8fvKlI_ zV_)fiK$4*NNo1ftKD*3yZK{G=O@lShgIQg(2FeJU&1Z}zyL$s);-}yN`i0~`!qe+n zu*36bOBwxQs^o$O6Xb9fZ+zcW)rTz6(hj256lhajYo6z>X=FQ&uk8B2I+zw2N>Xi& z33t*l)|XIy62rQe2^lV$m&YWz;w5uT;01Y;_VmBn$tZ{t-ewd!n9CY|n^{AsEF~-d zyUexcPo8d3PN@^OR%vl*&s4C_qIc3FLux{pu28czak16z^i0mG{>Iy}PcpNanW!&v z70=36?|cFV2}6-V=|_fkVZ3joR*D7%?An0I_-4ZUaRT3aXKfk~-=VggQUo{z#*S=( zT_uG&j{Oq24l?(_SlB@JxxWv|Y5+2iy8ukK5X3rjOpm+X3zuD_2s}&#$;ZO8LxXDf zx22c3Td(cE@jHbaFEF+TILt+4c&jf7C+;}S)5&LYD&z4D>&k4u(#<5o(-eTFG@0S% z^Dqj?_;5m`n@qaBU{COSv3k#%T;<&1rSls@eOZwDZF#sZZ+H8S(uwpiKn+*^F60XjOfwam zZlLJv^DaWAm=YA${pkfZexrTCQS_1;6)fN0MwWX?%Um5Y5?38yav8(NoV%zJF$7~S ztXcZUDa85^$m-J-%8Iue7hw0;jFXNF_R{9^KOFHo@*t1Ub@(YobEmBt9_BxXtFblx zwIZ>omKG^BsT5TLbz_P|(mkPsWd}oq*Dwmt1GkPc~i<>+nuBnoyz}X3Qf>6yY65&?@R@**+|HMd0o#8yHXJLJS;`ltv1yTPyhP{w@6G z*!BgH)4Y=Q6M0%tR4J-Y-;w-^m(@aii7uXcUq!9@ec2PbM{2y;RkeC4e=e8y%z@Q8 zqZ}v(CmHc9%erLMJV;cwku}{H3-`FVcjt}LeU<=9Z2{9-w$5ly@JUG(Mb{1ku4|dV z;i1yp;y>ry@aoK&#U8a$VIXX9r%ZAdJ(-RC+yxWgaYfM$m8|^f6&q4l>T`)UsI%vG zF-M1c@9>*Vjq@6#qkD6>PAv5$hr}lSs4e6s&Z`ltuMhFxsc#iJjc>|KlR`EJ2}V~1 z0e31x(5&)#h{Uo*`b<&9Wv)Ix^CS_#trroW5AR+u^I22`DinDvLiJt*V}xR>wpWA= zI6el#DmYHW_QIZoBeGa~czFtmSV&);)k1Xhy72;5^S2QamETc5?}qCidk;9mpYdB( zt~71hln%dWJ$YtCnRVqDF(_p&wIPVITmsxYaUphlxKm*VZ1zk${+6b1wDy0bSUp>m z<0VwS-*Rsfm!~DnjNf}%&b+~k%ql1<<^w?@1Ld{S4*}%wd|ogr!>YqM=r67beb8to z+2^2Jr1P!)>2*sJ_ho~Z7GtuMXMf*hP?20y<+h(iZ^8eR|C#~#5#(9fQ)lnC`P+Ux z!Vu1%7G3Ww#?s^gbKM%k#%Lg;t5;nhIaCjwXw0%cdDeWb8_C@^m{W4VK1>ylT&$Xi z(Y}SZy>d0N9FhlqokX{9%+T~bGWk}@rs2qb*qwi%E~*GrAXqk z37u~8JgndM+^DsjPa4eg=|J4Hm;gpy&5&&ah1D=SrSw0q=Uxy#@u2M-cnM3Cvu9Cn zZ&`NuC6;eQ+)#M=g2fE^(-uRfB8dRW-pjZ)VmXE`1OV7m-n8?7my8hD1fPAQbW1p( z9S4Rva%DCyWl9x2uL!V-I0X;%tGNOroyqwD38K5c^eBRVl$6dTN~s>bd(oZ!;*AyN zQ^Yl}ah{{bo9`(~|7iK=l3g`6D>x|X+@|q-cYj$yB-J&3ZL5-KM;kJNy94{)B-mKglw5UriA-THB zL`PylO|W-Uzug83SIu8M{r z+EuHkT*$w~X~flpA^q)TiCRlA^7&z%N!aX^NH+9_miF!jO1sD1<0CiOsq-MnbvyaTZ4ZhS=#dlwCSFo z>Q;l`urs!@yA{MN=aAv0W4T%K0PtsDCq)c z8`o#){E$V3B8k4X&kRux<&yMvb&9384+ZX_trJM&&(2i-c`G*zyYV6uM3f-L@*1{l zKt&5#K*!4F0J(je7kg)Uh;facLNzVExm!`R2c30AC-!vD+03Y*0CL(vD?0J@Ofi=M z@k2x027>(YWaMEM?__a3EGwM7^;P8MPB!^7OzuP&J%0;9AYs@ArKIbJKxlP1lHrn$ zVZb^UaoJRDs5yh@$zZWc(tyL-^pOJ4;;^W!T=R*YjHQ<}$FIaSb=Ba}q3A>pdN>?; zd-Ofb7UcJH^U^+sKF*T#W=oY2JtJFzLKQL~h4%Gdd)bb$(dtfqCn*Z;P`1yMH32>R zmA~|q`Q)bA{Lp>bvlL3>lzQc8{fh*4Vi_eHz1k)R$?O*wlg&S$(aZq`sS`N|<+-+C zs@xW-yJ50c8+D_iKtHqktgXeX_4754k0{6Gu4ut%LQ#S!u`!xYTc$*{;O*GQ2nCQp zCwGDLOb2W&Dg|xHg{(cN8vM=}QbV13=TX zaA{tZhk}t-RJiDTOGH9*Z6!{SnPY7zy7>m%{VjMAwU#5ANlTQZA{IiojsSff@-@pm z@5WT+-bYlZ*=N^Z3Lyom4A9kK7X(gItRM!}TnXPs)4#A9_9BCM1XZSKF+O}RUOJEg z_s7pQJJOx{spwxSaTL3Sk?g5Z^3I#yGDaEiZ!``njGd#rp$l=^L{;CnA ziIxfZnn#`oZw+f5NSe+ruGQn`sj6u1u4?p}Ksdf_D7gn0Sc~>;gUz58N5hTOTp;6-qrgFNggnX*Sh+Z|TpOsAs)h}I;w;Fxa|EhqO z>YA}Xzz`qIJrAq%zS2nb<%yL`riyR`{tSvHO(bP5WYeHp5O9GlowP|wo#m8s$-{u$ zr(fa?I1Zj<@?Lzqe75D%Sd^7}6b;DY-&=998xkNd~#gTY%FHgRyLR9Tc*2qt8N7g6d z5!U*3g=EeFZ7YrHW$fN9Zo$@(x@ZTxR~KK%^y=Q6X2*&IPGWdg8{MB+Q4XcvUgXKm zE?$W1xC%P9*s<(UWQyHHx*l-i%k1)CwUQaeX~9z837W@pXypd#bLJahhC;jrDI@&? z9abut*+@qQJz0|qqslDpHDPkvUus9>zVs~?K~b+k&Ydd4Pk#CeSyZTu(LWk^l!PXm z{YGbmHD$)UQTP1MoF_d0MyXyb*n?{CpH0>IqJC#U6((!dmyt^1T@pXXYR=M@udD^ze$JpH`3%LT!BZZ?hUKkyN+fvJ)jLx( zy+-}81NmiEu+L0!COrw@N?eR3J>A7^0oqI}-NH|#cwOPMFv-qdW$x*7r!9CgzV((P z=%F)imcaeQNz2K>QY(vzM6bgN>=y*gpZ$GX`5TpIeB4cw2<*#&HX{!5sSc#0%2N$X zCfDQW3a|@%&uaKa9`1{tMDJ`;KguMW;XH5+&^qp$*w`imo&Gs# zVbb;8>Y938DTB4Tss>_oe!oRk;)M5STpN;cgN{rt`~hA5!h>-7$t#KprmD9yw(Cg6 zJ%VZ81lCpudYs;4+LV|N?Y~-J^OU)aLeeGvU({Diwo)gWjltP)r_haBisyD|uf z2?UUBb;XvC_q3r{{cXMSJ^jdBA)r-a!7QyqRRt<$-|N$W%h82J$Jnxj)oL5DXWTDK zJ2i{?Vl26BQ|C+63v)qjD{A@ncBEC!t==`qF@5Y~6_NV33cR-Bxp)5A){rrRyCb0U z@F#fOu`qx0lD|PH)7KXrEteHfWB%_x4rp6vg)H)Pn{gn}be`#`^;M69 z5(JqlbW;EZtr`OPnuU#?llUb z!yD->vd0g%o5crRSSiu02`7Ec2;C}|3-17?U^zn4ple%4BtSvq+goBe3LcAip{tG1ET;Ub2h!^ufhbt?D-F;Hw5EuW+(*DS1eYzf`dMP3vmDw%nRpo;a9Jfr z(Pb~?_r;{5-EU4zG`5EsF+W8ximEB1T zk}1#?KX4Py(_SX?HYBtNJjFDRSdRCTP9a06oWd3kr!Q*4cYr`UZ_z)Uzhub#wK~Y- z++Lcb|IvMVt#V&xiHpn*tmmm0ce~X4ztn|TjmoLxzYf$!nYsE;Jcwkn!d5>ZW@e~ppAB3?vZaN}2hNl91`=`YSU^c&8@;y1A3p+kC(z`m!8>BP3D&7wxG} z@BNf|iCShRA?{w_udi!p()f2b`WH)mB9#M^pF)wxM0c;1+Nxq$?**1yl@2sDNo>y@ z_sU0fJv+HIhcDxsJks3!M@dLnweVlJXd#RUTV6pGvXnbX(s9dBg}L2exd~xGWnc;2 z?{cL(O`&K`$AMqoG_+GsLx<=tdgn@%Oh2D4Q7whwaAyoYe%a>25C%A9?YYaBhkt=a zA2%4c7~N10IQV)AD8I{Lcs&e*QfV5FD^dPUxp>j z-U2hi0}ZBel&Q-7 z9?|#!27D^*d89G2nO(vRJa?OL{4!)5mv@Rbhwef;W%T&!`)0}PPQbQGq3<+kHi0*;_n?ea6Oi%8U0YCc=T~-OGnJ)S1sVpVq$1GkK<6n4xFX#)7RDQaBS+?XKLhc1jyB` z4G>cv4mk~3<@hc=hxxI*j3DzZ^kXT?g#4CEI@frRQ@6j;JnsdEHzWKXHC$dfGI76f%hU;3lO;uAfXjL*b+u^}#o zDs<~<^6!7^xlTrp>6sIfHmse^X_2bEezA-FH4?WzBotjqa&HnjJP``t15kzl~ZkM=rQ z*TUCJW!UZD(=AV;bGGn)`4@(@nXHFO_&0TDx^3RUU{gj-c>P8@dm^c?W2JO1fjI1n zb1I|q&CWG#H5ASl;(0s#fh3-w!k&K^T!5;Shw622Ju}20)z>~Ta zUay@{3WpB*tKDvYmi9vYe=alO7`SdqdfSmi{IufU=GxwxNsX5-#V@@negN%8tC?;d zw#x0r?HW+WI>pPP=j<92n)7$FLoIttrcV^9*va=uImYF2eK+CJmAZ%CP`r%YM?|BW z%>E4B+<8BKGO?BNYfF(Vqwvt#OniTmM+*qM}9&tBma4L z<&nD0W}pZSJPLla0rj;j=%mzhjId=0W{J^C(JcTzL$cTtxIHt-AM%-5Lby|E3GuJ+ zpTZ=hGW>-4El*Q*dUYGK@6mZM15A3$;pE@UtRG?i!58`H0x1 zF>=gMCt4C!w^DX@IrQ@rl=VH*drCcR>KE889RN+%Fb0LB|?k>jTKSGjJG=sj6L6>_1Z?H0HV~ADV?c^(CYp)MMUvmMrr3=@=~)0id_J z)IZgq{|oz3kDKkxLwmZx3o|g|9Q~NLPOQ^W zV95&+M(^pd9)pnIR%eQ=rH2;K%8U8hXRq<@KmT1uU(?}vXDY}5C9`AZ+SmiYs8jD1 zS%#-;Q|&n(EQ47gGMN?s65+5;18HB(2Y(sJr|kc7m@#cW8*y!TE)IP2oDeeHw+J{^ zA@cE!ite@&HX@M2rdvUfqG>Krcu!*7GLwv!|0>|wG*R0~Y0oCa@<*H{)X zX{HmNB7IPWOj%dgeTu>bNBR#S>MsZ^krvi7*dvQs*z5RFU!PD%ntS^n&7fkeKTOnn z&DyTA^%>}1^c+3|PC^7`ZJa~&)O@6C=QxanFMGRnN)QtrvAG3&kj|^dv1wOh7DB!X z#88O25en^K2wy<;b9?A?=C|gTBTqxQhcB2U7$&;uuS8iz8<>{%k3`B_N^_kMJ5s5- zbYGq%ZsTidWA!*xSUOksUp>wJ3k&?`J+#aq0M>~p)GX&2)K&MaHM(`V&wDZ@MG4vE zQJ*GC+jV~bXO$i)`Ems^?>5<2w3Oa^bz04kv&XHKDDMFB8~eEp6I7BOQvMjXQNA7) z5~MR8e>#bCs^&4t`JKm4T(B&oj&FjGgl9`HM{ddW{os<8G$Aa@`2658*F~XlvYObL zy=5G`h(}A*HMNEC&MU2c-X^yQKb%fdMwR>w$jRG}nmDDF!IS^#cYh~#nO9Ip_DAFl43)ew|lUPq`*c%3Xf) z=Z2T%gn!^bgvKLFoTZ#yU5(Jr@mjo@d~;mCd77+fD?t4=3~PZ1L(gB+MdXbX?do_c zaL}fF`d@0%cf=56QUUxRIDo|V0vt)8;Deu`|A08p{6E(`3W#i+0wgdI%?^ZkjCW2%2?W+5$gFL`{u`5r0KXi>$h`^13)T zTWiI0;B1A2ko6_qBkn7)P)A-jG(vK8;>e(#4y+1Ny+?==de1uvaht*yn0G;!OS_``4a>Quf zEew{}1JA(`Av(3k3p#Uamlm&)v8B!jzE_^#{I6E=-LCo1YWSs|jH66CoO+@|eKR+@ zD;2c+h7(P4vK>^5OnM?hGiN)0MzCL0F7E+*tdND>*-^}8xtQ~UctW$dJjB3i7+|2Y z^1!5{@Yr3qL*lYyc=+e|)@ zG1=uRBv$9*-jwWBxWh2}cAZ9L32#kHiC%hHywg#Yb(2vfq4H&BASzTS;pNYo4^-d# z?ZxfqCa2n-Fn&(>T3_M4W&_!8Z!hPX_vY1oM9*(15#q(G7dy2N7LzV=TYRr{4L(vO z+9KdSx7Jy3lUl=<^oMH4M;wZlhh#Aro}jMI5PG}>0S`38?HA8Jj_Jqp=pq{BxB4j? zL|XUhCCjgyg9^?X9O~2V|9RG@2iF%T)WjDeb9?AZ#^VQU z!feGy-QQ(t7Jthr|DKjRgWI1^m6IUe6Wj%S|TE(q-v%DP11dOy`Kc$RABv51r{EgCtmY@ zhbZzGZKH7h`A`tOT+^s@DL}$xj%9Has_rZFw@hCTxg>}Cn*4cyUz-M+AkP=#NBc!Y zeZo%jGlOL|%pzTULV-Wxt~WH@_MBSV8Yms;{R!&Ky`(4Rrk5VH(s1i=dh!XJg`>1& z@=Pi7-xo6zNQlT&VURt%;4ka+JP_7Ikfg(~u=@aH%*n zYkyN)aHAUIm)ZJ3@bDwDZeDsgj^4%bv=PTw@jJiX0hgu92Gh;o(J3ZnYu78sdvYs= z_dgHKDt;~M{Y{G{0AHNMFXClu&7-CW@oN-=r(Y3xfA?bMYRD$=4mNtJU~J6SQ}I05 zJ1!0nl$idkPlKr~!RAB%7yXZZK9(}B1^dGm)xKZlB^c*3pQ1&H z65>B0xU?vc0jxnYWexU^*2y9bNjqOw*5AtU*d;#*FQf#<|ADV`;TGH)G;pg&B3c1B zi(rhDBTcMAX0rlbToV)m{VXmi#rgZAZcCzNgXUSr2kZ-owiI#eQN1?;4i&|bl*j8I z9Ovn1WsutXel|-dSY{SAb>B-hI)3ljE}4VE1;gM0n~37OO=P$Yd+s}qFQP|1CurRF z-)QeooM}D9=sem`q6On^n|V6&#YWLrtf+=u3`WsyepYSpsT@Own2d4F6t`A6_3nn8 z;?{{Z<=d$O7k|0d)R|$NzgDhH41am3PXsrooeJk4nr>DzQ7Ivm&#KhY#FJoDc4AP# za>X}LNfd?xrTeT=&7PGn4@Jm(E-&%Qa8YeO@n4Hk=^M#=D5BU{^WnqSgF#<%xg(E- z8`uwdk7hh($k`msHqII}_Y9ucd0Szx)Bd|LI99&$`4IKIje0kc?Pu5cuXZMl zgXTW`!F{=U#hp!ASuvNGT;d9IM7SGwuc>8Q0ZLq`k;o&a~~IdNZ}s`ajC zj%b))4HGO-m~GAvEP@`R)Q;d8!np{aeu@y_5N6y8G8NgF`Pt9}PA41c01*Fy*8E~0 zKz{VY6I;&|UR+2mk__n}rugc0fYY}^%nF>LxF}h15QCJ>KLIB*FM^lO=0!bmTCn^! z`nW~xTL)AYXCO%>GeDx#0&}4qLN5fZLVwfI;a1HM_1C}0W?|Ivk*QXKcp`jr3M@h=q`Ohtl>rRkW^Q97^)_ zsyOh})X=DbBFhhXtI`Ix-xCG|+UvbIdjb_mYj{aN#s4Z){k?Ru=Q-8r8PwDzCjG*F zH3F4mxQJ+hAkNxL-({SLVF?7o2*J%#=YERLJ{U@Uul)gpoj1zPwXkV&BT8ab+XmTS zX0hr0NnTgyM{>6F5DQ7VnA!)dFJ}P628EJDB!fT~!8i=I2Nn~v?l7%E;G{ay>9j|Q z*4>>Tk16{d!a3;D4-L&knnL^(Slq`L$eK3qxe$0%@Rk;OAmI5w-U7NCKR&Wns%tfi~H8pWZIP1HW#qPdrOWtncTjn?cj}_ zQP-K8ieNPAu4GczpXNa4<=}k=r9dF~#-Ztj@%jtzNu$N&#KdjA`C8Ie$Kr!GgGEbbyaTF|bdo3Dohs_DVGz<@C-bInOPzX-G`aBFf z-G$*S9HPy{VZ z49{uq*LMO}yEz8D6zx9(5?hzwT~UxddB_8zDebA@^l=`n6e-~ji7c272O%65&2bm- zLn!iqS8#s}!G`12n2`_=gh1!#);P{7qNMtEQlf7fX710IO%JH|Hpmy?ge#PN>wiP@ z@c0$!5`rWCnoX-4UOsLqutJgeqA7M;v1&Tkz&wZPsIr&e279NxOl2)vEj#DaeHS(o zvy__)3k=c4t$&#@IzTz?n9aUytIb~-wM40t4%}xca7GOy;Qh0%+#Ajg%<~)TfkcisMv29#mN?xyi zYB*8ct6G79&%iri$ek}Vp9aZT8XB49p>uE+aalINosRXXjrR((evPnl8Kl>~o{0gu z(U6EVF+o`6D^+#f9xJe8um)?{MWC~lZv7#abo4xQ5%apbFLdH4hFONG4ihPcsw(`z z!n71xBi$%EvIIE)7(y5m1f?Wq6wxn(U~LHZm4cAu0JoyWc;}KQiFCg8Rfsgky)_SJ z6m}~10Jec6gZx^ZKtm%{W9=S{^{25wLqZ_Hdx+z&c8}y#eC?$n0{lLAxc8xx2!{pO zXCX*IWVv^IR=#PvelT|xjIiGOEvVgZdBkt%hvE?2`rhn!tu^w;-Wj_bL}jF#m#Cej z?hESgjH=4?u|5t1~f=hoF!Q|Z)K54`fzJ;t!WJN9VG`_kJBdh9mWUo+&fdy z_x|?2UD>5y)wf1H&fs?Z1P*C}jpS3MviT&WXIt}pD=9fhai83?l> ziO-TrA=)0OV7t53z}xY2E2(P$TdUqC(t+z=5!EL5GulR+F0c#KQX{fXy`q)(>0iR=pWYczzeOBgFmtpOV}-}bM`$F0*yOAQ+i(cSD9 zZFad6BYXWWJ;i2fQZ``ii0;K=uBQ1bt_#{ssflky=006uvR)iY#;(6&%K!fHB=gwd zQhst)!hXr#N)s+2E7uK`Yd&?V%zu%J{X<^9FV4f+N_Z$%`cxLx+gaCx8l5bDbcMe4 zLFC>>z_b;}D$~-*U^4<6vRU&sGH>p49XS*$?TVGpf3IvV=qmgcDtdM((pPAo(pUVo zGVbf>=^|O*;CouFUvcLy{Tb!4QGq!Q{f9if^5Seori`EyigBEvZdAbEyTMGbx+i2d zNJ4Nh!F=@1^|O{5u^I0yd3W9 z^Y-9gL7HclQMHOob^X}i7*G{m_7vLFROf7;(VvK>v|pJ`PaNb{pLviq`}5-(2n*t0 zuw=(j`1-4yA`JIYQAp8ZS-Nda!dq6}d?AGTumL8&#zVy6(U$2B+zK+$-hW_R{XU!W zVNge2md<(D4FYmQNRJ8@Gv@!J3VWNUZ(Y-K;NBfh6J|P)8j5q;yltI|KU6L?>KRX0 z{qXbxv9-;(I0xIoi|K{$v)zkTLj*L`qAx)t)t~XB#xRKdD2ZC)jEWkMHfxsg0#O#f zsw$#+olI^d;~czOB8C}t3K-mz==`x*Mv9(L5V^YJe#_$dMEele5RnJZ{)Ob{?b=!z z`Q}q?&%7hO4PBN|&)ZSLAB{TSa*+SS6FDvpB$g;=JX^)z%`MQG8%{VRUt#M~+4i8{ z6WVm_Dn5I0f+N8_u!%-JAR@#Ch{FEiRB7zl4;sY-Y4u!KFT{~MPvf2hECc+fc)AZf z;+JL2YYw&CqBVuurqXjLl^N}!m&pH2=hs(c(($KQ2W_1Cg+ceW-=bHt&mFWrRIh!? zr#&^F8NpPs*!2i*w5jSj&0H1DFoq1&3>K!21s$v@nx}x5_K`u@DLY)5^=)o^L;n?$ zg|k2YaCpSr;|V#~ZCnSkS3kEzw*&RX|L6bNqfKHjP=T|OzXO@XZ)ni z9s50AVSijRx?2OF?U{E zMwE<{ASGVd(+iaM<@g^5@M`;$g9l;Xm+Gq{k$H=Br_WB+6SK`Sxq@3)@k)l`$2%3k zogZid=BbrLl_m9W*v0AUqtC$@ZdPn}hJ7f|b;(mW{LAk@NN_1umg>PJ!VeUB9UXfh zGBzo*b79JBtqcRhTFEb|Dvih(7P(|w>v_eTM?Y=RZcUUNImk_MSH)E}EV`AeM&9m~ zq^}X%3X9+Py=EPLv}Mw_Vjux@qGVJ>nx)| z`wv+NggSuIEU)dct-fq3XyX2UubO;xZZ0*Fm@Y3j`_$rOrn%j3n@f6rA-+~P+A9$6 z5ZL#($ENEby(%@Um#0Pq3&%cZ@8WNpA_NlER*xCqDePh;L_oO^%}D%vi4LzVcwI)N<9 zGu0(b_{1) zB6SLt_*Tnpu;K7%rhW^ z=Q8k4-U4y=puOg&eGff9pUH(RmUC0j^xiAZbU6#R-3WKOw+B?{!5b@eH>a-CwhciE zY+1Ii&B2*g?`C|v;1EuuMM!su9((hPY-Ja~8AsRwl3>Q)XL&$5mi+W`UhA|u6lj}= zq__gzd@En;G=$u>1!9E$8_y0N2fv;?UuN~7;A15m*8=*8f6&K;7DU{GNa`*3jP?2j z;?69tz5jD_vF!RW=#ZH>t1fOP+uqkyW~wjXhu&>i|zl^s9kbmITx>#d`r zYWw!@p`@iGltw~nQA!#q5$O?-20^7eWav^-MH*?528p3-5Kvl?9J(b3kgoUKUf2CT z&wIbW^_xGGwR8#YJ#+4F9LMJX?x_17Zp6~Zx2#?}ek!SP<|%FoG`zRuBYHZV7+g?& zpV=uBnsF{S?t~ScnX7JAonL9Nwx6gK&zW|M*RlBwRaHIJtAjuK=wfRM9*0K!b_mO-_U?I?p@CFPXnT5l7dNV|G+Bzqw{{G`afl_OrKR0({B) zMMVbMn<-oezxj72Ib5wrrPW1S-&j^irHgso``kB4^o+2w2 z!XBxWT}6fT*-$>1cdTH}t>EnfQF93DG#JW32joy2_W7kAA?FY$1$a7HfQwU&6aAwMCw;;Ma zmoFp3P6t|)4WV}6grbtPEP%ZAfQ`W;9#Vu$slGR~P;bo7jw&wJAg_NE?rl9S$no!-tU#~rEKA?-g^s8OY5J@L8kJ`R;ev^8>8%cA-@?msg!oN=av;#la z5O4F*Be1eTms|7MXdDmg{w2&+#B=h}c$)iU!F8B?R`8a=~M zAWzw!y3}?TjK~xnzAH!YZghED%Qp_jl2HKlfahSqf}HyI!oT*~^cee5J>&d*^jP$? zZj07*d7`v|iPXzs!uPONF|NgfPy5=Be0|r)quv-Sk$zVijf}137Kv&2K*svh(#8tI zmqUFUU-Ct4hfO}z9erlr6e%_!2D~)3pX}tVk8Yml;F0SR8NC-v2eW<(2`_ld#f?+1 z;j;Q96ObYRTwZ^$LTb6WK>^jjjYgUCyi8HQ|C`+tD18?t8N3(Yweft-i5wkLm*5lE zR2;audJVcik0abz>z(jg6W*-_=wcaxjw0A+Kdx^*WF?N@c)M{=9U#*%W)ZFcjk7Bh zcsnQ*^0$#P4IiA{D{QlhbTIW5t<#MFzTA4__(A)1&`6}aWS)-c640hQcU~9Kl)A%M zAG5zVAUihD00L0rh6pRDb;P_@d4%#7a6UIT%&QTdpCCB%D`+>H6N%z=PjKM)$42C5 zktS~PDzRov2)#jPedZ9g0#!P_y0>N-%6ffTjj_O=H_;q){Ll23f&y!5zjUysEP4QO z@Uq5fchq5rOr~~Qpza%AvT#qyNx07BjprGbvC1VbzqXAN+hd$~9O{#8E7cuqb_X9A zb)?wVIrdBU^f5|xpSz4Qw%tv%nMOtztv>N-TRIbvu0h`q0<5ri;OQ$AU+R)x21{aP z(bs&GP)k#Su1(;ncI_ifp}Ijiq7Jp zy`L$UwyB%t8pT!M>;zfo4d4K|n^dnWCP+;RI~io0y6j{OCM?sw9c@12YuiAN)y63! zHSB~U>hpQvFIm%EbmX%gcaSQ6tM(= zzUu;S&ged&rhr}A;X&;y%RBZ!eS_?$BVbwX#!na*$&SCdaJ2RYfT6#jp&NkvM8`Mw zPn)#n8-c5rBQgTUo||)9{tNXg7$C-`1FT+_DGTNHh<}EpY!zoVGEP1#PvNyG$9q$0 zHA)T8Nc8j|t#axtma{&lfvjSsmuaVdN~zEHc^agH@DbfUKb*`Ska6YHGw6WUK3n1b zCNGC^awhC+aHe9!YHEM-9j&&T*{BR|Y2`#tC@OTvISQ1$AsZ0h+eCMejQ-fub?Wc9 zP>)O~y^e<^c9FXlRBOdETD(bg(6~&UJirK+m(IX*2k@isHbRPqAiJ(Ze5r9sDr^&+f>*UVASTZF?;Eu zs2Do+8U2I=?Abp8TF%x79rZ7#EVJ%Fic<@4%tPF)Kk+s|4z#6Qr5eykLpd@>K>ei4 zRrP3a7wkdY!Q$UZu)}~uH1Bv$!~X;@3YzvO!_Hq=WeVF&@vw@D@6X5%!B_JcmrE@yW{R7>5-e7bo9 z94fb0yQkpr(P<^T6*Zee9m#afCa0_-1I@!U9g(NV?b)Yb0ru2m%}65f;5=pR>kh|@ zBGX2(or#@IOsS3YuA|83zUELi&^$)V`IrJILg^2_bujyi-@^cj0dCpbaj-xI;&Uiz zVze+DWe-M`9vR%Pm=#dZp~3wWWl)4i^%@V%S|^at2=I;O!S#&y@B)MUpyv|M+8MMO zKn&1!^N~I9G1DwZ(jx-ivdltm0130+bSX5pUQr3MD$=}O|I<9v)YY=O<&+UTUh@(= zoaef~ai$vkQ$+_l+kxNgBMEy9y`GP|u)Z{u)ee8o0Ifp1gtFcG*QJN{R&OL7o1I3iU(hx} z{C}IaN5}yHefnyA5bLjhIIR0cmqY)bRUpM1HmA`%QyKb<(`m1UeW+xc>c75|QuI*k z)0<3|wzdRDi8>GTRkz9+x;YwvRVZ3*M#Ax;Y{m=X46`mzM5MX$ndqzoBV~>7T4})H zL~ZK^MsBw0$MYcn_oY~0FdJ#XL~a~4tf>R)Z`w(oC1reeBX~-2ElteXq9TGd z>kEKQJ>`%DQ0pR^iWFg688`BysCtkssan8I|HtcU0_vEgE~UdB|G?U4*~JXiesP#x|Q*H^}MW%l|;T^Z=fW9e|sZZ}Q|8 zZZ0axR9QBC)LF+jQzI2Eua0QA@Q+>VuvZjNl zf*o}@WRip2S6=}){C1q2dLfmz^DdC=sg!of6FJ85rUFauYsmiQaQF7XI_-_Aqmx#v zLNHGONY~{9fI9HpGQG4x<6g$B#kh?E-`OP^)$;FSiEUG42IWADI4Cd_dL9!kYCARI zF23q1aya_D$$gC_l9 zQ$1`H{?YTxj<{pfOaIuyKt>Pd#rq@^L+%s)uh(6iHfKsw#9fnHY-Ep1@uiT)Fx=t$ zIL zce{CLB5vHV2ss6Bf1N86X9#WM0X-@95Bs32m=Hs_w;GYpHvkoUaYP0g73GL3b=1a0 zbrGOGPT5WB5wdT%1N&Y*qvzzE9SIR%y$W+&9zrQ0vgU3JkmNE6WQdM(?HJo1n;XpP zl0OQ&L5q4?3X$LJ>!>N^RG9;MuU+I4<@jIiVWsczJC{GT`N>W^ryHiOKk|F1+5LtZAOR zCH=z@J>UcAA7^HjUblCRV8;yNN zEB3k%7^u=j*#uQ+_x)Y~$&Qe$ev?@9qZ6?{G<%G=oG_|z+?9{~h5y~1S0Zi%)Zg^A zMfFu^zc%7yq`~`Z?k|Z;o87Vb*jk8XB=0eO(H~{nS||z+Zx%HtD{n6838WGp8Lf=Q zD`D_Z)na83tnv}80;2EZ7!$AD)f_Lgnpb9}UT=J1)#M@f+p};D_^zMQAaY!8z=vY) zuif$?p>B&+AW!*YE@SE&Yi5QVzBa@fuu?>lSJ8g(*OS3lt4B}wZ2ImoXuyK+tVjdk zh#`nUWr}AYqzvP^45i?-9B1&Hbf!_lp(e?hTBXcyTuLysV=+tOLGqZ?1;AjJe;z8x z>AnH=*4NJQn4j(j>kXY&=OvZ>_eHjTFbbRNgq6!T`8^=?yi9%6dN*SK6>wdl#WJ*l z{zbQex-+}Sq{t3jT(AbZo3u8GdT3f#rXexzdl~!4nAALKnQu}Ry*>NnMs1TV+TYjb zDmBiE#@S%!&QSCySGxb3B9d3yNf)i>4!Z{aF0Nfs$kP&V)Kt$Pk&&~IE-8M--*MrL zul`w;!}XPZkI2u6ZR?hc!qejz^oBE#bqVxM0G&)I@f0PtTk}&}i^ddJ!Zh2gO}`(g zuW@3XxOd1>pZGN6;dY+SK0pZn(T2xmVVe=KHm7`@DNdFVy+c;L@+oEK&`T<8*3p$D zLPyv!296z7q5_8AibMaI>wV7$8%8vflua2ofce`%IaW0|_#-0ax$g@oQ$Ikn2VR4Z zQQU}T!)YTmz$tp1B-qw@`sa6L@6OvU6nu-|(T-;UrVFV!eBb0|R2M-QSmk@@=b?X& zSFY&ilk4J70wuZ~L&*LGa6v!SFKKQE*tLPI^vqofiWwlvs&Mj(DZf5E?A4^k%2)qkKdTh-QD1Pj0}2wa*-E?n zP34%X09N=V!YsPfkWi8GYwmqU_+<0NiLEFI07%_-(!3Kz6z=A_vE$fwn%g}uhtIg^ z0dNcVJJC7zeR54yU{9HwTCmk`ql(A5C_L*$=>_E=Rl5Vm}k~RF&TB&cBJ?j zUBV_W+)5d#A)j2_g4wk=-($*8`i^|JwrvI`eaNN?zTCoV-+aI_CMufh=$Y}~!${>K z&-6TZ%0t}s<&rmeM^x<$P790X1CeRL*_L6=i=XU&8_)}%1rSoeM>r9iaCTyAfk;S| zne!Fh{^-0lx{~2OwAIkX)bnJ&(VOO~-FRK)=@Qb=NSHMyvV7v9O6^BPjXc}w9K?mtj{ zv*6G-uez?9{+svn+VS3dpx0 zbWxH71c7>mdg)5#{J2FsCp!zA#|%-!VT%O!e8DHa?SmE1ZeVAjJc;z`O1nR9YZ8+Z zEQVZH?AmH55Bj)^Fq9(K2gp=5nw3}AAUPKxgIB{9(nRc^VpLw~UY!KZ(-fez*|WC3 zpzX+{I03uQiqV#}!XjQ+El{o0L!Mgs@XTE{|I~7WD%(-WW3GNQAg~9;{|3E2J2z?& zSl+(a@@#qZk^Dz5+I`PWVpLLrM zfD*JZqv$Lj+?{0R19$_&_WxFVxF+4swOe8FMG*S9>7nkXi}xD~-uR)t0s4gpbo zFqp|tISfdz^EN#GWUog4NR@t0$~3E#JYSH;Q!@9F9yeGl-aJxdiO9TBGpalU1uwG00sJ1Bs=9IcVko<8?49R`nsXzc0h+ zsvro@J*#S*x3O)>`Ix{RpnJK1tqHe%ukG31J0WteBQbo?JoHQVaS__*y^8oh+T-Tz zVgSO?wj0&BoUXw88^MO>jy35P+5qDeQ*i1D->qOIAUck4b~c6ulhaRS?9$1JpiDw~ z3GVKQ`sPsX?e>XQ>rGH1Z;03>;fgMg`HKa z8^1-cH05`?NpobGnfeRVbNpUa9tKp`aI-yx*x5yUV@zH9-$hh z@r5#s$g2D`1|0z&royW8>{SR8A+j$`e5iigDs4sZ=w(3|gdRazn~mQk{lRbV+U7HH z>&w(m&U^bv8^q)VsAy@_7PlEa#>{WGw1=)(f^xZLQ>s|HY=+zzMx~is!L?Tbo}9Ux z7o+P_4K=={W1V9rGC=r(zQ{lLcAC>;4G2)6K?bh^88CCzzBrm{YV^S3g;HS?Ts{G; zuc|&hG>j$f@x&^IPPE(k*k(i2Kqv9@A=eVMHP>qoV5A@SDkKURXJI*`gWBZWxr9M9FcI^ez(udTU8YK?o- z_w~E5D&XNAhR7se%=uBC(q6*ms1UP4SD?tMhvO=UP{Y8AbCb!x5jmI4!n~*PV!-p5 zeg#O%zSx9^2tZHoRHfHDVe}5=80H>{h^~V7%4WUz7uoS7m3IJ)X&ps}xMPXY=G!wG zWV~x`%{@-Bn6tjDW;_aqp!0zD3?>>A+sad5zYYL{NtAYjzbCv3Lyg_L~6+ z#S8Q;VSn|K6Qn@rkb(`ItS+CxmH7lkRpn+K69quJ_uNdF*$_1DwKgM*La@5M3;>5c-xehnZ$ z$GVd}swqr1=~)o=CE%Hy;+B&#^)3Uh+Yv!pxWU82szd!xGKK3)l(3wg`)3cLx?QBx z{taFV{Z}fenL-31TR<4Ac0G`?y$b_c{J;2A)d$%T4Aj4Lt5i=LDO6)Y72ndD!PIFPrI=6yv2VWlyU zNE-o;SMcr7cFAXZ^?(oW3QSe*fS8p24*{{G67paGnRM&^+Hg-b6g3MPn*VzBNI>5a za3PFUX?; zIxhG1pXLVS7lxpGG>*NZe{l9OUe9D4YCjacXa4J(fhiMk%h<8w*5%J8IkG{=1xpE0wjeh_P47756Ri^$=>h*U}bFsL8>)K zNiHw9FDHReLNx`@*!28pAy%Zn<@ZQQYBVj*`mjK|BB*|#%< zCG~jJ=zLZ$1p!+?{4MCkZW5Wm2Svfr`)@ZL@)px6)*yBH(=|F ze5pn|_jv&_X%ZjC!$Zq4vV@=?SOf!_M|Dyv2mcGXPtDBqH=`1~=ic@HZ{YH-wvNt1 zVPWBh#c@WAI9n38w%=0|=W5&0(vSPv9mjP2a?V@PD7yc#&vfu;|4b^(draC1lz@-J zV>}qPIzyhn6L^ePHQ8^+!?&JuWnKIgVED6kPd&IO<#P3)%vsT`HbGmBC#t!Tw||oCES|ftk+~9y{|LBK^&rX#R0}%IL2z#%qze6Aoc!SxDA{$KW6!-C7DC82qa+Mp#3k z1Zb}>lE5oWRZN$+@TgBThI($4@h{v>3Um88|x`|I{TgCu$^?zgkv9hLc? z7e#~F#4;2xCt_klpjE*uingmPe((VzR-A$lp8Xk^)HMjR{4>w_ru~1rlDb&3*hac% zH_Me~S&IEHFKDvCmLbR;_Y{T5k71sIVl$cN#xpC@$-a;#4awuMWKD(!Y`N!D z)eEo#F7^rbfv=rRq`C8kt$yqF9sn$^U}^{mPORPwaGyYH+qNbvii?|?xC!)0iSic7 zlnPNq_^@^QiG{A;e~r6DFq+O?CfFHz=Hkg)o74~=pbz^xYvOl92=>jV8Gu;ghJRlL z1w>GI&|UKuZ!qLUAA#0m1w80v=m$EW;304?UMz5Zbki1MVd&W5Om!G0ObQQ9+sHW= zQsshIcOt+Tw%~k4C?4Y7r7!SctZV_D&WJPr1Pr6==Gw#27pdf&=Dl|RA+bZU@&B`b z5ag`$!eLIp=~`XN#PvAk+3*pHAkw~h+?u8|@(M19_L~(Me?~?BxxuvXyHyYV?9mr# zkBu=i8)ND6#3FFXQA|7~RoYGhOmfQ0;SsOTX4yV0w5y!4ESS}qT_9>|3%jpoUhE(F z%$@4eMLiMzLy%_&H2>g0?a`eoA4Flb-qy+ErCRI7+pg2dkQOP0nVH{$)grFI0QuP$ zn4AyMVyEw10d%#o;WLMr2WSLw4}TI1a2@P~kbi;VL80kE=TKJA@7EMJgM9iAeAFHQ z{`R`A-#!T7WG*820rD;9si2lfnQ1ogbsY*0fm5S;$LY$csf0E2Cg!?sFxolJWcXkC}k7~2%bFQcL7${ z8s-U>v@X}*g@UCMj8hM_UkXIvkom_ki-cSul=!-XB`Z&cyY|z(84&Dj7r?vp?D4eY zeOwq}lIHMR=R$)WX;jbm7HN2D{@ZUZ*FlCa@h15#EV=Kxpny%<8@|wY&?UB0nLE^0 z0q@N)?0{-4S?(??D%r?-Fd5+ufk$A;2DyL;Oe?1{{)14zjJD>GZqH=$sJ+v)as*Dm z+#$3lX@Ek0JBQ}ZpHVFm18c#a-Hcu_jHQe8Un4=0cg!c2d)qkvZXbJvR-{Qi-5zBS zb=_kok0pl9gBh;|gPsy#Vt7Cmtwg#B5aNlHNFQCT2J>3{!-!z}w{N+6f-R+ISo6=& zARv48`u+lsiVLr`HxMMR9h`iMu)G=1PH43zQ4F1`DhptFk=r;-2)npY;lzyvu5Ey* z@9DWL0GFNPzc0IN5I(Lff}`GPv}#{5DTHcTD=q)fya}|ZgMEaD@!Md5Y^>I;sfN)89{W-fcxy5H94o4kC0%Ze81pm73{l#h0kENFy}M{^v`P$F^yg$JTsB3 zFmTJ(o6)IpM@BH8Xq5-&rxf3?vM=oIR*cWV#>)j35^vB9qrL9IzDe84_d4T&6>`F6 z@K{*}*htebKnng~W!oQ`8!NGvY^P`WG8a3sBeTn)I04T&q!UA0UfSh#vtWtFq`F}t zKyo-pf}c}nbpIeFqkgonjRzx4r#i5t{|fdmFR});$zXoqn{9!(+s8~2IbsJSH}2i? zp8Q6A8V1GNGy!M^7)bz4IAaYU{X&=?z9jAYV^=}eD13c4nFtv0!Rudt2*7Hdw#IU0 z%-SsX5i?QTzG<)LRKj2Xb)pM0J`XM81Q^wt>a@7#u|;QvEhwK}^dS?!5G)OQvH5dt}IW5>*c?IXKaOhqJftP0wrU^T4D|a0#9i&lip@W*(H+Y7%gCF_Mkb0x_lab^Ln&m2<7%9|BuNy0Dxc zc~)M0!L(kq5M7$lQW zLmY2+Y-78_GvC776_Vck<|27NqJ>UhbP|$k-`NIsUF3N&bCPK6`Lm-tGUR@LSnV*FW=)JmU$GhU6dW-6FdH)zP&#ibQ@q{W#q>8;HvOA4dCcHz!A zZ4YAF=h>`#V`koqwr_N z&+LQP{mhsMr&{r0$5;xpY#?9JA0&xV=9B0b`+_i;>(_A(mPa8vG=daS0yG%-GAWi7#0+mx7=2I$}3F4@6!K z$zQ-$nS;#|a;42enp{Y_wsepD-d;Rh2M<=+QNfb5_@Gz%4FAC2@0HsasNF!$jUY-7 z08Of$>&XvJuakehDfzfVsxWisKKP{4y*sb$l1^B;c?0$*AG@nL-M6%?Q8iR}In_Q~ zP&8HtEoK3o>g67d@71pET6aCuvnlYS_cbd!MFEM& z!V~}tTJ5R9J~+!)L6F80)8!65?EVod4N3F$ILk3;z8L@Kh@?E4yq4Xp8&O`mIxVh~ zcu5*cOhOP@k)FJQLH?6#LHgHEy^J0%O5}AWZazct-JT6avXNRh?Hl!widG=OBmL9l zy?t2bBL-8OpV#y$ZX1+vi@kfs8RqLflXg!kl0qFt3KdKnu}LJe+Yb zYYnxZUQL50!ZG%^)Z>_PzQM&hL(*+klb*{+Xe z{A%TSdfT02XePA-&5^%v3z_q#LJsbreck($p#Ke0zA*~aRhDS~I}Ij(nHcXj@`=sf z?JE1wZ0-%2dVlY0I!8j7n0#rB*{H)Q)e$wdrk&pN#qPCY|n4*vh`xPHL9N@QvU61uoh-o5>XoDtN;D;nzyMI zt}o&!cGTb+i2G$rQw}XYA-SI!sUkAgLgBI3{*O7UxX}3Mi_;6<8xw4@TkZZE_=GRC z;QOEvM$UnG$U~1u%^);w!rqsB{?Dm#i(^@_(KAy)@=^jr5?$v%ax(R`(H7SgihhNK z8*vXgPiC^2-4wvP`87ACoJNYz!v#n8gPDYcIoFTG(>dy1|hVvy9tdPDlYmGCW zOD?o?btm0Ej1>`eK#ep0j{#zLn4K_wmyvb&FyR((KS&I7>dbjJ^6$x8sc|Q3D{B8c zx=I*sG`KtJG1Mns$*4wgo9c}{vg3sQX#+2B{<|XqhB5MYokNXmhuQboI9La=)d2!I zlPDmX9S{MxoCv80A9KnGasm?~mY5v~+9-u9hPpc^*(>Hi$i*O5UChlz8tRgZt~U-d zq}l$xdNB4|DjdxxX4B{25!{TFs+p?PZPyfdVA{j6-m|$9#?mOg%LlcpY*@HKT)Om& z3Q}jT$Ej|Iw9AQHZSkI+v7V`RjbGqSkxyXH{C>iNyTeRt3PN~bBQ-Y6dih$(M8IH2 z2U*GF#hh6ujI?}X_)T*NwvMKsu(NGW0P zQp9=Owvt#Wwpp#b84|%ES^xYKy&eMyByfP5E@#Q(#klY16Tn63*mm#0olFuVTT#e; zRr<(GB5#mUfR&g0_02TJqgZ~oaYu6L=O%ZvBn%2`!nCNjA?~KL>5rHt7pRB4$BkVP z8(9P+;HG1nAqv2)^76;@U^ip4Op!6W|I!lS1C<+)dJrZboB7f81Q1n%pUVQV?1 zoMWmlNbob+f~!#r-wh(>FW<2sD2rQlQ4gJ!8u(OUnpc?EsFxlI zI#0IigCvf3d0j`w!5}4rWX0Q!xKE__3!U4}fXk=#WkFO7u5k|9`r2tF7*CHkn`(Ls zZJoRHLivA|Ew)+@vxYL5G(OeA;Rye-OwzLSi)lQc{ zDgM44f;F2bom_Q$c*D<_S!tn104v`v%!#%sByMyQJu2_KAwXaP8Fpz3Iqj6_A_aMk zWAh3%X_Pc=!P;0H`1kZk=6tDGn*>eIulboOFI+R8eZ@-_^uG7zR4J5KDKZ$n4U+Dx zvbYc0B-N85m*_=9MzKzJ^PQ|jTLi9#r|ZViDtq38{CXI+Is;krjw^um&!HYLN2}Rxg9B+ zIqZ5pNfT&K1%fjEozrSZ#!XadR8P4dnnkE2k9kPgdVY$YxH4ft{fqqe?LL>)HsxG) zcI3Fz5dhR@RsU1Sce)C3=l4I5m38U*zJhtfk=yE`>Qd1F@D?Vj0N2TUME zkkF6P^ZeHew}OehLSSB-m_33st)19YwdW>;IZiH8L#=I5-YdT3)_;aBWqb~?xD?}? ze9zb-GTDM&6S0}W6bZTIa24JY;@rv;wlEp3s$VM=FFDmabcaVJkzaF_SERthWhYc( zzb%IsmGt&re&e2mPEFI0ZWm#1>)yVOhr7F{JKWt}Sm*qYIO5%atGBsq%*x(o#Ifw+ zj@dB*J^4Y73wa>X@}qbe=7200+Lpoj=1S`UhdN6 z;Sg5&pbxlGszOJj!tqWrW=-QX(3suU?4vI%ybx~ZdHXuIUXbd`-|YBR+&uCkxXuK% zAC_dDzUl3EkASJIA@6L5Pey=YGl6HkwOLez)Ax*Uh6iH(M+viM?|(5r7f*LCKCC$o ze5q@`&!-|M*j;lUzbvi{GhV42t3dE};Z|3W!&H48KnqMG#}~iH?J?t4Kx zv&{^#b^Xr^XRbE(>lTrI;kT2)Bx};Z69^wSgGIs<=h%TvfI+7*+;$t|8oQJgTi^UtIV=)F2U*tJT3c8N9{;1} z_|DtB$d zd>GdmnxRPl*&Zv67)7Tm@XP?1`RN`TQ)Nj7@#8)q=m;SopkQK$q1075m`uGRMqW$5 zZ4+TPLNPzn#bZ;M-2^yWnlOWAyW~^`JT>i?dSbD)G_6alc34I!zp!iFiXHg^2oH`H zTA?(f#KsKYb@f=;7)M7{*&h7C3dPmVf_y$M(3#n%-3{ z&z_IK!^MtE?J;aZ<7RP(-y*tinN5e-Og=N@I~356s?=aC9gZNLHDY&sE**LH{O&gK zOnu^-E0pk!_9dQ0e0WZ5R*2s5?)G^-2%MbclUmA*R%jl>xq}t}P#ifrQ}1*R;m&Ma z0ZSu9suJDL8kqID&;AP5G&Tr6J#Px&OXX@c=6 z$-DO_mgp0Q;5~k|stc>xGY>6-^0gZ)(F)v!`&oE`8?Is7VSai9n%t$s2#tD!$ET$? zN#1w)9)dIi8gMtT_l7qKYD1U%QXS2ac46g;&tCiA@;&bpeZuNskN1^;N~j_p&?vj*CUOh z*O%Gqv6|fc9$a|&P?`WiVP}EKw^IVPNdk0|c3V^&$2bXYTaqWhw37D|0;XXxU05m) zj;S~)Zi&I?H&k4lL9er%eB)$@#ngkSw4MDWohl-n7;sqc#tznHq}zxA4^_4gZPP(= z$ecSjH|32Ly2U$u$JIRcxNW{FZwF$@hr|=Yfy&WPjTj$!=kgX2;5(vG7!r;Gkz`_N zdhb3ug3*KoptbLT!t4C>WshPvQLaZK_2auG1>=W8p_jAhqf_Mh_k5zHH8L~qZEs!t zsCLWq^Ph}lXR+7w7ikacHWI0tPo4>(f)S;V#s2SWm+L}g#c`9ANZ?p*Dv#^X6&}=5 zsmT3)_-wUu`veRhnu^V%0 zKzTdrZ}>@$)WGt7KCaArY=6Dt`jN%t#hoW&16TIfx$+#Jh{>25L>2n;-XsVkr(tD~ z9Seemk?m3NX7_RBFCKpX^ZShmikBH4>BWzVstP3mOQ4YeyGk{=E?vHWWc)Hb(~}hm z%tTm8Y#c?ze0Ap1O?1#^>wOB0`Hgj@Q&p6Fv#`+cd9CB5EGE{TzBGK%(bpD>0a5@P zyD(%E>4}8|8cs(-3V8TH?>$U9!2_xBS+RX!cb_>+^pT0~k43LH-T8Ff3-S4yx1k6v#2QuIsI?ObW`6=MZGQY^4H}XOQPY3VU z4x~mY%gXTpc1(2DWBfqiqdv2D#_3|2Nk}aJaG9nWT8=E^Oq9f2NA1Lxi(v7~dq8xw z!XRGJK!q9ZBy_=a=RFg$(jn{kS>q#RZE%qjlI`1(*_6CJsK#-PaT$VCZSR=lBd1x= zAumFKL5G&J$70qlB=#f4$x~d{yPhB=#=;3JDFbenE89MmDF>=R@5bp6+gR~sy3sn< zm9M_^w0@l&%o4Q%8NMVSEe+KyA1W!Wb9{)uZHvU;UNR;c6-Qgr9X|J;pP@C^6r-ND zY#jC4Ja4{%gsD3;Fj!pfoU+9}rWRYQUO7VfQR;=pF)L_RzkS5*SmDTNd0qdBwCnlq z2+!p6qngCO`@|2V)i4@^8qA)b`kbAnt82}xQ>Cq%Sn0*s-E4YA?w}i~wZmL#8#WtN zl^;*%5Og>z-4XHug%@1$Jtu?MW0g-@L$`;A@erkp!(*DcYV0Wg&{M7>hMk$0p)>Y? zu_io&t$&$PVs`X1Lq=@&0Y6h4c5~~1HD>SigIjFH6CbYn{~6>LL$jXY6pY!+)dmQR z5q9o$NY7mly3>rEsr z({>c1^}v%=hfJBOHk zYidnNc~dMB>~Nmi4!qA6-h|ZZY4|hQqV&?YUIS?3xbu&i%Vn>#A6?AoTID2C+(|M1 z5CmSU9f-0Y?tKy0eV`^fI6rLJ5MC2XtuGY=hj;=O039}eq>-8Yq@1Pq`|~M)AhREB zvsEQXn-$J*XXp}>wr&{E{6xkOOz6tBQ2SdZ9Fb3A$NaRN@+WZw0ZEa)Wd*z$J6}> z?KJ(^abZeBjZ>M7R~qh#MX-swi6UniBGnDFO+P#C+FYW^cTdsdw@M1bG`6C1Et{#*!~K$i%YIvX(- zO2sYx>;YZ7BbWTu?^&$x5SpQz-8^NyBIHl^>pj=414S^?O~7IB7nt4-#0_@wJB{F> zr))XS8ld!|TVgf?MOg1E=heNB6Q`oAuqwY`mdshhqqhWGRbWyQ(y zN_Jt)t(S(w7=7kZ>QvI2%OF zd+WQjFo5HE0!>&QG~}Fc4|o^^+(cYHLPtdx5~51!&EwIu(pl+h4soP9#a@dJkdkf-a4Z_ zM=Jx^Nx`jauwod2D@NH_|KWP1K#N+4+>2zD0Df-_-yQ$U&6+Xv^%pDplp)uX@aISp zV!0nz<$O9J8;ZlfTsm4qU7~&`V>_@e?|>~I`b3L5vdgE6?11$l3g3D7a<<0mB@hAy zk?l}C*%@yBnJn&Von6l|T%4b;;9mZu~Ac8(U6j zzBhV;xC>zWr*NAW!+q-e(?P;emxxi)%PBj8Yj_sXA^8+}a-M3&yD8-=-pQVGgMPcq z2%kH`Dj4>~R9ap|nxtdlr8_b5HuXul(~k_kK0-;Zy{tmOoQ%P1?sI-Qi)-+D$;#gg zQ2D0-)?oumrtk#dhNs``ftCJ8Qv}NC3`8ZQGBlV1$iD?Oo;VUHLOIJW6GJl+o0|l* zLo)~qT`b6S&wW7SKndS?wZFCm@+QA3xPQ0%;tyqpIsD4k`f+XL?sg;3PiuW>(b*XJ*R;Xj>11=_3k|>Fq-D{YqB>5Ce=E zJ0CA0H85g+wHV-{XaIWq(f`-Iq@6~lc^qMrRx>}jzua}vVZU3(V?5j>;q-ZRn$4=% z$<%Nvuf)*zV#av?=E+2JlF{)%_$8g5{)61z@_`i8;h!t1qb{Ydme~l|KE0WpSxZT6 z;MNLcHg#+Dk6GPQP#8fL>KQqARR8c&pMFz#{a7$zF)Sc~43~Uj9w$f;Mx9V=qNzD+ zGhArppOkx}_G2avE15ir^WhH80PSdLnR)vr(PiuSV0x?*ewI+svnZ;c80xg6>8E$m`8dZ(DS<9lI z-4LL^NT=M06*x8E3c5b$doC1cwJVpaMsRo(K-Tu5mYfZp7(j4I&Z0J(kw|qDH?p;v zJdD}f&x9)Inq=5!yDhYU9Ivm4D#lshl^AIAAX#Cp+sUG1c6ttG^23 zni80XX=l7w7=5O^OHd2$uSY}e+rLDZahWS0P!;wcFK`F)AQd@ryAg__g*`DK8xol) z)4yYctMIa}r@74)=`c0nu;BGwgtc}xwuj+T17s=`xg~Fr-8E?;q~aVq0?3^g8Q}mx zl;*P#ElOF&*EI#m{^JvDm8M4n1K?+AH~6D=h>7y_s!`VU6Y~; zEn&S+m~;CQ{UXeG`)OUiY^cf`>aFKUNAQco!dhuJXKFq7FwtQhYJkjiXMjx6b9Chm zXbzw*-XNH}CxO3jJr0v#=vdveC}7ATfq2tTJCoUG;ZkHGPjb<-`%{)YP~cmf`)YYj zky7#mopWrK1-WTRFgX(+X}d_0UtNK&s5$EE3ma=vdXXwwvOrQ4-gg3mjgdz0x#xCT znSruI)ZX*t6E}OYu%)F{;#3=u_QaRclV9cC?^^f1&Z9BaOSlam6TD6xkGK_tOn2VA z)jpbti6whWj@+@ABeeb+dW%r*cqFpw*B`zoT~XI{{^aqW;VYp!$C z8C>U?keUDai2qBE?%2qB3X~ViKdzA~3;JmII+2O&zdz_ z`OzbVy@}oa&GmG9;-Kli6F+aq7T|2sD>0)G3E6%c{ZFtvj*L7d394@7cR zz!U$gld!zQmua^-cY;xD3w-h~XaeS?zKbk0ZR6P20=@ktFb&z=53B_(dZRw(jpaJn ziC8V*_7Nz(>WwYec{v+PD{mM=>N|@uy*$zTVt)!OsL4EH*St630XzJ5mD_cxaQIa!BCZXFs|?-?IjcS+{ui)o`np@A|3LB zItPN0aC`6gF>LTAyHaZ}KD&YE<*_#~5_6!UaesQHIetcfDH4q>-s5<2X2ep+V!`Kh zn}zZDyRmDLA=~``Ofp9EleJKoGIM>r@-rz@1_ueI#cb~de&2KYGT~F6p6lVQi^Kwr zW~V5~@J@iKaMa{!>BhiWbTJmr$2p>l?bsm-+N3ND?J_U&zfpTK z%aC6o2z~{y7~f<GZs0{W zD3rF6L&UJakRepfKnnIxclz}pEUK&(HO} zKDX=o11>+1&Ti-J?d|z`K9A>dJRbK)r0{4D7faVdlx6M5TFp8%-QLBi%Jw6k} zF@%7&xXgbAZ;`HWBUnma4$wzBu zs&=1u=?>Xqy7=<2)9OgSKwR?S`ECRI-@7bz)JCX`VN?Re9^;-CUpN0}`FVP2*6Qsl zEJL309T;gb8vRbR@)dW#%`979iT&)->Z{vI)wC=_vxTK5m zYL|CPXWU<8P^LYY`zJDNdVdXzf6D#capW!$JqoQIq;aRw-DmgiR64iRw*Wll& zpY;^fz#y^Gm562+91-~9u(#+l$~AyN*VQf3bLh(&Y~@()S?O_75{!1UViY-t|2$~v z8t47_?&NUcl$8#VMteWc=v}&=sg1RBXvs~T4L&r@0qSmAEi49YZQ}SS48v;CFZ(Y) zG%>bejkk$BSlr<6_UaPYcza7UMd@s~z4-|vt-YG#=t*rBvz-cwoj)N}7;7=K+J4!Vk|dzdDva>+6)D z^mwDB+{~yxeeMOV;N6j!NvybJkHj0vRyr7D7akC8W=bUba$lH+@5%?g4ub-__A&xr z#RPH$lr$c>9mhzfSPA};oD5uHt|xuh4KyfeIot(#Jv#;6FFv^?rO2|5srQ9Ab`}r% zuo71~s_k>HbGPx322KBn+Is8>SEStGlnRi0j%={$%S|vw3Gr<3t6suh_lOgX8VK^4 z1uTo{fZLd>!ZZnwF)b}7SNyvf6y$qy6I79XBv`wT7iBG0$eKhH8C!b(`erc>ENay0F1au~c4)wuI?BJ(qsZxKlW zhmnFv4k9g|7QLOAvPvu=5gZ^a?rt)!6k=)dj)Rrr;MFx2UVQ3eLO1I@t3OjxA_eBR zY0mGFaN=5L#j=@fK1SU!SDqH`o@YL1WQhJ-q91GthZ%qBhX6MDa-hc}%{$;!nworcMT zNnACWd$!+IdZn@dui6>0j@PMeN!B&uyS#(Jk zM=bJO-6jfen$+)o#0_gXd}#>mYl);j@$9T?_gdb)y{a_wnAK&&75%CRwdFPY`QfV| zV;N95=PgpxC$I0_uj#D^dc0+T`)&Fo$s38r(FVM~dYoI9aB(y(bd8BpqkhY)) z)QL8IKaRw31Q8D+U%V*M`&#Ha4`O*=3=rVoakH|FR6Bt-LzLhupL-s@H)%T~-ou6w zTct>M>;i3~9gc|${J9wIhcN@3L*Q8G$GfxnM($C}dc3#j)}Zk2V6)9TNc&Zoc{B{j zK=%D zw}|wZT}{2|p;;JJq`#N@bi(vdEt!i`>I&z52OP1&Z&^)UMLzou%abv?f^Fye=fNlu z;;HodKJuoQ(mmCN_CnkyzeKp3;tX2t0C(gvkE-;H>!XAYlAG6*%{2oX2f?XN>cS--YMLGNO>~Pm zlzN8Z)+TD0c1;2JXIbO+A}rco67I_x*(9$rhUure{D}nGKaxIK1}0J9>EL)rWiqQ9 zcB{uE7w605hp8f-%bwUGW=%bB)klOV12*x#mb}E?cl9pO|6v_v$IruY&R62(TJwhg zzFO7os&qphlvmH4wU|+^k+$nI_B1(zPqFdwKV3R8PFB4}c29+%ILN%N?* zEA_J=-!d>jIh=(U3opQt&#hb9@duNmNkx5V4-0xn|dYVKQec@qB?b~%$odv zV?C^52$8-kfOc-dnKOUB%(kl1$6Y01$cu-s!c0`ky{oafDZUV)%+OT>;_LfrUBn}P zBu*h00s~rjK66?v6?zJ=3}@xvZxQ3fcl$vbUydHCYyJ8&xUk732YcINP8dB(+AXW8 zEapDksQEi;@kJGO!=O?#Szy3JPrkpWp_FVCSRCMEUkw2YNeO}cUWx~?I>i=z|Hx{5 zwlW!t^Z))=rhhYy=Fj<5ZA+7Zm5fK+St#)I>|p)BKQU4Mzxo)}CI0{M*AGI$E26Xt z)2*^8P|bvY)Vx@Ka*)G;lGN7z{GtrmNdU*Ae&^r5?tee`hvhS`rz#Q9E|yfU0H?FY zJd$|}x`ov&DXvXHetvPi{~RH+&g0$s)3PZLX+(aEuhYoUtO6TNC1_z8-^L8V)o2Nc z(x#5*GN4u9&Zoiu|uf-M^zYVrr(PGC%<};wZg%)!`}sxxBUeHSPN5nf`s|%rF_S`&;BXg z@PHs`M;pY>eF6rrE@WccDn~}X0|D2IVC7(gAXOBEc?B=T|2a=Yvw$Rn%w!hj+aqxx z5bkL*1KglwK@gaZg4)x3;O{&1p;DXhV92y2FlsOpIYLbePNN7`Hfx6omyt_Dzrl0P z$CF;C$In4X21_c2fNfJFTb21Ln?8tWkAjVwgQ^f}bgRXNAf&>)ZiWOG^WEluvek^& znz^5^jxId*P8VSKd7BW)-a=fkE4K(J*zL$z6iZF@OUK!72Ct>j64D;o;M)ESQ<4RFN=bg}Uj-P}`5u2h&_q_%;q1 zk9lP_5SF|LcO&geBCW@6nIoWk04YQtmNys>7j&MnB-#1lEJ<+HuKOWA&xkb;W#mJ8 z5k)bQ4q~PAaNYJTbcXq=HD{4UR^Dnl2h2tn1o-NdH_h;MK{DmtW!f!SovG-7RFYYs za6UO4NBn7VWNfU%wn#j0zE0V*%mZ749sQ=U?e$ssK8OH5xueO`{HwefRM zMCy{)%1_5z4i%eH>}+WqLnC|%lCZ$oeIg<=GZt{1Vm_4Imk#5M+VAO8cpE~Dg6_j&HbfNoFL)wR%HdYWv!^{Zt>E8W2cfleT z6H!Kr;Q_RWTwxoCiy8$=*(zjZgfGPJVN7nCc8#|E{HT3646l2FbvcvAW|Z$9#LWV{ z@I+?kb{;8q3YCpc4-mt?HCfl>PT%<`CdOtvZWC)0$*FXDkrhrHQn5M^m*iok zB-moSI$r6$k5Z_mSnkRd6<0+sZ4j$HK8F@?(3KXSYetNjduuY{S{wco~I5;@H9NDBN?qIhY^TQz+9V{}=$jl&@A+|P15n#^yx(kn??p~C$2$)Ve+GSf>;DPAY_t}b%FaQiW^JhXhcbTY>5V5o?)}r8)e7!Z9vyJR-Izdm1 z&3n_O=J?U8+si{gTZQX|7NA44(uO_!Q8D>h&o)e#DgiBD^{B6bM5A}_9>%Uw8Z+05 zn|M~263h45WccM81No``19iYXdgr@_j^C zWdn&vxwD2TpQi%*ur;WLkHW5|;z`SeoX72AmZL4bAPp6I`T+s)`|(*A)Xz^*BaS`7)}tAw zcYMzpraO!~1rWt3U6HR}ds3^Z?#s1Ir(q2Dx;K{8-fGV zExSL1@3439?bUlW%P=vh|1zn&tt!oxL|YdOH=AGK^Y6*6^};8Mn|M8eaeL_;hu-Jj zjQf-|--y)>|KK@XpIDVl1bi!3t_1D5siv|})~wQ3=jj(>&i}yM@jZSI`Hs9PFYVag zE6FEv)2k5nFeY}AXgV>CJ~V%=`PHgKJuVwRPL&jKMi+83U^ZKEi`Fmy)_LM6`m3v$ zBz-QJr%L@66O({p14hN~kMDGRH2*us&%QG0x@lp|%4ye`j{!C-xA+yZsOX3^va(dm zzV++gR|6+!nu-6SgZoOERw%B-gQ3!Mv|v(A-_(zy70!KYdIMU9i~nRBllR~~AeChh zdf;3uk6`WlHe7|`eh6XN)nU>4ilHY1$uVNt$P{6rmt)aQdFbW`o$b6h0m30To1!nqKCFBM?%xIswDa zKuTxqp2uM&_n3ust2aO4SvdC8W;RB<y{tZ1VIiu}9<>;9GLeYXH#H#6 zw64#Tpgm;i+f3v-q&g%Vi7?GIsILpe7uRToHT?q#uHDfoL8;)xtjKjueY>Z0N-*TM z^=oLU#{qP%Y#Ta(crHY=LW8U}#q0qX+C=#!pYggrTC#`&{0j+Ux3nCC95Ic4#N!dY z?Z=8__J+(VA&0Hh7dCqwvAQFiyyZO!Eh!WI##<4_)JH`?7e`{;;5;&TLN~Y#!2ftx zx4(gW~eO_~5sUY}$r*BoDT$3@*-XOkUu=29u(T&`8&6o>5B~QN< zJ1fyP$p+I}hl86qk*bN+H=yq55BTq{zkQnw$xOQMj6?&bTEaQ2vj(lb7Dg&;orvcT zwwEeeSKtsZa=IJ8iwJwZ@i93 zU|0l~PH8)*v{XONNn-1*NaN%OBIb<3P$BW4JPKK*9(89tGtAdu#n*7dzNi+MP)pvG zz=FoVuBA@k&7@rRZ2WY&9iP6iP?oMwNEplC>jm0J`-as$-Avgy^V|on$!UYHZ>sfE zWnEun7Oi7=;)x6e32am?q9%181|CKgd`*ZX#yIGV?l4c5A6$i+r^JU@0|)v4dmb8;OY``ZBaYVyG6|D$ zp$W*bGcu|p;H+#|fv{zYET-JIFXttL$+{7i11=)ru#{CWYWZDIthN_o8)MK`>=S7dIe~|jE629q{ z4C0Gwsk+x6(dL*k52X4sqNkbfbLZFMoCJUDf2r?x`ZF0^P{kT`Z0e~&8i~8y^)&~C zyo4`<=ReC4=<8B#w%lsuVp&RD;-PT&m@?H)Hs<*K;;CxPesICvg#E9dYIi6B9^;8r z>u+~S-B)Yf5Z7(lGv?ACYSi+i*~@zwexm7n%|3=5L>4+4FYd;$riA*CU9XFoJrnDe zUeC<535k`#_7xKx)XSMAjZf#W3qhNmND;r!s+5h_(szbFVgpz$wQ^-?Q(UJ*rS?MS z1VCJ4B}Bv$VgnpW>NOZXL+RgaMFYJ&+b72-08<^QCtrojiqxD4Y)4J=gbCrX-lh9E zBXRLLX=v(3PMgyn?-S#noA&MW!H8l1UiA)(;@45A^LQ1Nmk@-Ly>fJKefba{0MiCs z^CZrlzi5~0x$`DMt!e{O28%YVzNH8Y7WJ4)bj`qNEHiNOrGx3jx^2m6Dv+`oa8Rt( zElA6ty(#m}POwQ5jVF}R)<CuudaAoY#$=5Q`b>F$LfcPKW#2?Ss^NQ~7;OjQBZ1a(h< z;|(Y3w4Y);-Mx1C8L;>DzIIKbenN{~Ilb=si!5cUu?YU6G>=<`f zI&zF7dGWXj_M&uiqh#|Nd`fTDcH>Qjy$hH|q8)3TlIcqmUZOHL83*OBDR)|WYa7JP zZ5V2&p3_g}SgPE5b}!^(e&|*jwkE-a3+Xpo;L`YQ+>H5nN?_vC2BQaxH{-S}=hmz{ zfBbFE-11vpiBp1=PEqqooNGh!^B+o7er$jJ@L|i0dT-4`VwP`V^tFeVptjoz7qE8@ zR`qHd0OFT*nYfXP)nvo>3m1`;6susQDa}v5a#OMsvWJ;4VWN;XUf-KZA$v4Mk`iF? zPgXRrKE4%S#oNBMHY;|e9`DbTXbM-tPW^kp^hgx0NEEsLd ziu?=w{zEUtoqJEfdJIsC$`^>%(n)uW{ zKaulF67dWTP2+8^faKMhkO(qYw1fRVY|bPkPDXj6V*@1zW8On?xzi?G&;9KV z3Hya+McTNZg9+jx2%H2&R6x}P^o+i-=+hJR493f?s37chzABR73*OLNF4+Lux6Xqe zMxljMu}?ZEbLlDXss}m$kZkS4ugO}-rmEq{T;XClCQId>5T90O_EIX=gCsX47k39ji9I`wzssnA#DtQ*W8Ie>$Kp zVA-N;NU|_IG4dfqz}_U&p%OnUv{A$s{k&o z>8y+_l;)0@Xhp}(yF@GwgY^x@$D!#aNlY`IUzQp>dQGsk_&ZwXfM#m47HqH2em>F8=4<1p z?k08+xv}5YbCea=RwBID`xNkD%OWSWSC_u*)0N-sY9;6{{S_q} zOqcy?t4-Rn>`f0$KAd$Y68LCm^ADF}me5YZwuaj^Vv#-1%oXos%f1LteGlbu$6^{T zzURMtgjG8t921k2eu?Pua8P!<=b>Gzx1Fpi9@28PIUU1n6fRfjLsJhI@6XL1v2V>K zHkOk7jF*aHS(dTK8YdG<*a)gY*lE}ysg{NquNldSQ{W!v>YD%ZTB z_>;0p|T#0_w^PZiyx`=)!HJllZ5mFs^TDfkpuoV^K;nhLMP+V@mJWX{z(t>70 zs`K3`vj*?<$pgmR`Q~Rw;;kJiF?cx`pu6JSxNlxu7^dUE-E}(khBZV(XRrA+8Lijk zhYQwHF&t2C`6V35CRop|rJ^Hz47>_YN)>m`SsN69F(o$`@MXiaTAHVt)7Uq`;Bmew zgkF(q)6$?EA9F!(r$zoK^orueJp=lW%@3tXLcVE~v*_`RMUgGC<2DYc8_EA_>`?Iw zf(VxIGR2dg)8o{#V0x;=HLiw#8;>6x-e+LVr{l>dyRTMJ40j;-p_Ld^HLYC(rb`Oj z7w3;;U#E{Q&;O25NaE}D`tZQqe~UbzF=k^%)9VkuglrN^m-NE{GNjf@W=y|*VLmHn zqj_4y^I&i#DdBy!R)`q&h>v3gaD)?a^d+ov5DQIpQ!3jxP3;~O^H?O*f0^%u+=?R{ zX`{XygosTbF+23M=&%S{VS(y7rMaT|+=9*}SLIKN*91>1)7S4Rw(>th{n~tAX_8cu zr?Pk8@0oHq|D+|1e241SH^)M*xiB}M^~a;Txa^{9;x+|3&fgw1qcx;KpJx!Zb=Zft zPQuGkQQ+3fEK2$P+UZ27zko81__)e7%5ji}U{Gdsz;;X7Z5cV$M4)RV1)ftfdQ7k0 zNjBop5cTskB}WBCeDU`3WH$+p1a{9P$^rC(=r0>fvg`Nzfr^Dh8dFe1rS$6w%M(0z zX3%QxE@NNalYaUzXLD6^kH(8O;Ak(gFORIvphpDYxZhBlpn^w zyAVa36sz>y=C+6Tamoz8yo6g4wE{U+SHMWj1X(uN*sj4v@!=Cn7{xBXhZ*HCE0 zth7JBDuU6zKjCC_&Fdvme4nj*!G9Zd*5Y|Tr;bM6?%vxbKR@=ZN#+oocHt~hrZD#O z+18Vr;^BSH9EtilME7j|o%P*n4=fjE{T_K)fm16%ZtK$C)I$jeuMDBHeHN8Tfq~t4 z*JVGpF6ZiO0?wcUu+pef;V0cxgc#BoHS2H)3IQPJu$Jj`1< zVSXf+=-Gw^NSLs^LsT+3u2`dvxcK*Ro z7Aic77ueHymd^~@kE&Y->azQ zx;T%?g~kBPs96-XDt)-)%_KqjU`MVK+!~Q(&BsUlSx_+znTi0p7Pn?LNf(WJyXn7p z7ESM&S!V?`qFfkiVe{N$69HT4=Y*${3$xwUaYo+Ss5u9rtgC?&g#y=t4G?l(y}OZ-*$wKGvNv+@g>N7E_O!Zv_Jnh%Qo^ zCYF!a{^j(emRoYx-kCxqbc~~vL?=x0ArzQ!7l??c2Y?}Rk(5g^=Z93`0lr(3EyeaT ztVc>TMHBnS|u+%mg(8fP?I~o#Sc(pTz&DOk5OTG^clG-P6rxF3B zS^X}pSIi!@6R01^5tZ04uUkLlBNfm3ZrO*9L-@^BNsDd>7&h>3cF2Rfjiih+kFvg} z>diPKl(%q=W;vO5N64JyB{65`Dm_R4J<($QkV#xglw*|g7~f}>49}{jKTmgrPrPr| z;6so{IDz6Lk~BT)rk(mXiZ4DipWLsxN+QpU_uuv5(uI+)2SkL~0To>M@I*5R1^;5Z z5Krly@)FhI$4x!|lW*6pPebd>5BC|c*p^Q6`1T?bsW~3d;Rri+rA(5%20f=^!vrvx zKaaJ7CsU5~BJ)SVo`rqK9w&5r+wiDC|NSZ&;-g)hJ;t83QEvjTLcO>1Yb8@Xq%5qR z&RMSyWCkPwT3Q_i`2`l7Gb>6u6@+p~3?p5ohb^EGE z?+#&@V)Ci8I8&~RJ@nr5aiLv!V6N*>goUVIKB8ChF$=z~kbZN2X25~rH$r=HdARQ_ zVSLovi7GrIRT>$G!DGA4CkLwfapY#U5)*4+WU1q)149jEr#!xs8`t&93>&d>coK-b z@t_iz3l;qXl(Xtmjo;>^_JID=4G9l>A@b{3bzSS_w>~E!p z#xMfyqyD78rNI|X<1_o=ZGj0@g`QOb^zQFgYX(fxdp9`#c(w8qq8S(B8P4Gnm8Q|f z%y;a}ePJ*X)u{;Li*B>Th@?aWO%cIQza~zlyjaYZa(&fLkfe;K)bPFdO@qC1U04k_)Kohv%y1Q{L?){1YIFpYa2o z7#3ykDq5^aXV+;KbvCZx1KqA@jaB(NY0YI)?F14-NMJZIn@P}j(Qf4}0+Ug2;0z4I zV)t$t0T%wg?%qYGib)SOPCoDUD$efr_H|*Xs|iw^OC7|C1(ln!)blh`Fuj>f@z{J= zLp%RUlIY<+qgnS1k{aWcCBG2phz_`bk3ss#c-%>wA3BMbM9sfRYxjt1bB@?UR@N%Q zpV@$(CcW{95>~v^#w5)$5KK@C-xMv@xR!E?1!(nldYQCJo+>=ISve?2%?>*Ut>NKa z+S13Nua5ERY4I2|6XWCkNu0xvdy!R6wb2ej2XDW#Qf=1AiGN`*e}A7XqkOEiXwI{1 zbN%tJm^F4ht%E|NhqKiwRh_0MG+M_l1U)UEn)q$&+>P94b$UxmcaheZKFom)Ck_)V zJT?99dcN3o@rI@>^{Z2&(du~Y zqz+r;vtoQ<+~3Ky^o-~;Aisj8$ve#%yS{a{NPeE@&eN|{NUY%(R2#jYB6!Q&sZP!{ zBAAe(?J@h)mM2>xMmQVrMP{xyp&urk6Y6*A0^aXf{eVpu)pp<5O`f^%||TB z7q#W=dGM!0FiER_i!0R690*T}lt+8yRhlpLMh?3U*hgkC$7EzLna>FE&U5AQJdT`d z{PCv^Rj(ToF-beWxKHcrYj0p>I8;1G;UX6}H@`6{-1Pin(u_i`!S-V2rIQ?UP0Eu5 z0@OFdnpt!@Qme;2exnJ4e{Ix40_UY*LlO>sNAb$YS9C149w9Hu6xDkOa(+Ab1wZps z&zvcDn&OerNXpvK%zdP?EWm>1tX@c8(AjBP^kyg4AmYDuKjan>%Qq?#O$??llqWZQ z=C-E36zZT@hNy(R>^rN~#<;4;aanNpwlh-i8A+Yq=lJ>a7|*wmJ8mBD1A;HuVG~!p zqdfL%?#XA1`OX4vH-#95Gxq=N1BfBCL==wMEDW^j)dJh-0igZv=;iW{Wi4O zXxcL*MQ#Bi>*_bH(ma|@Y6p2`3|~Pps6KT0BDW}#$mp^E^aB>L3b#9%^noBWH}xxQ z#+Fas*oiE`ovRQv;Sd?diIb$omaW$x+h2wtZLE?^Cx!6IFUI!#B)^>N1QUzGWVNZ$ zA?Ac5c<1XGXDN*_*<~*l; zW|T(v-nq!wo0G(XCk*qQm;@u6|}mMJ*_O?C*F~8^K!8b6PpE$CD!MG#Uv5Sg#fiIn6whum0Q&ESuBACtJAm^9Nb=NJT+e@??|(>vE9-U-a|_o2cT&LZKtp1pC$I$xoSAVYd5p1VSE8mNsv zKks7JKgu<)&ozC6uj?>@M?Np3)$Bq$o3dDvM zv0NVNFZDiOAj~2_;I+pkG~4s)yT4W}@xvgjKmL zjnYl#lX{)tIJI3$&VANLxPn`q%QF8AM#WF&wS>?q!Vu}>lD`nb7+JW*d9)Dk_=)i9 z9XkZuk<67O>Rp#77`KMEZkm%jk77w!Y2SZ@WtfEeHLCTIj))^1u3?r1!t?*|-0VUo zHJWYyggR?arz&`-Zc!cehd7XX33!kq&o?B+Bl~FSmA0`T2TM zFH~%KnVhg&R@Nr9nI1Y&Tl-o5Gx(+4zaBNgVRw?SZ8~OgSMSH#mVP`bV{Rr2cxH|FFxusD}g*Hr=F$qy)Zz6}~I?LqbGfswTg@ z0ySaaw}uV|#o~2bt`(1cNf8ekZ#$Kn*2{xMq1>ae=ypr~_*ce3Zs78}D7WtO z{YRLuVr@(1uOGF!JZxRT-obmaabMIs5k|8~7sREpyg_MI+lDGV-D?xgwdN>@XnR3M zF>7)WQyw)f*BW|N!iF8yC|>@itzbEeeZj!^#He+$h>-14y+@K$h~NeZr}sxwvk`~% z*Sq*EEagDLf63v%|K4AIi?idn*wc!Kw#_{TgN?;}(3YS7n}DeRDTH5vKt%-6C}}6m z>1=e()LxiRrNVnb`h7C#s_$)7Q}s&u$g&67waX9>Mfr{*cq`;6tuOWYY+aI8SNWnE zuYen6K0kha2$2gxa`FfG$DPK=_@!?n4Pdpbng}ezb5RnOeD-)@a6rOnX^jCsr!&^ zaPDutBa#+u6(86?t}bO_(0N&kV+px@$tL_O6~zYy53~58vcb()v8(}Kc7A`SU-4=| zonkNG#oP0+CTj$Ge?KlZdFYgPV^C_6bqw`oXp*=A5bJFxkG_^(?095jz?1UKfga1_ zh=D4JkHG&?((;YpT+d2cP($iR#>afU4=STOZIbk+qzLK{zReH#)nU*!HmGP zLcKZ%!d80&+LGVb-YD)(tdhgcva(^nt{OnanyZvX~I zz4i{QtJvf${YTav-lYjzd&Eh1(vk~AZ^>lVBTg$F({+Kl5muiSr5xQ~8SAP4sgX>= ziO4*P?z0e8+kDvvwM$-L9-0R8!fd?0C8JGoXwwIED2{M(pL`KDU<2yU{SxUz=UE z)$8?EflD1l-@C2{%7M5<;{g_3JYF-g)P>5 z{(2IuZwjx8Ep;lRx7nBW6VAsM!8DLp1eBOk$}HW`DtnTEow_IPP#m+$RqWDhbUxcF ztJ~{A%e@`RNXq3;edsxZ{rplGSeB0B;7A)yI9+Nio7D4ky=bC;djqq|dBvmN``EK) zTwODdHKcWV_f1$`Jut#u{#QbZHi5bGAtG1;g$t|cE7L|l9Ev@Ok#g%59;v+*jiACkHy`Z8qNyw_` z(+ur<YjSk4-xVAp5mWvY~yizN8K1F9)>MKj~k>*gBNr@e@MSWA*~kduZRs7Ry|! zyv4$_9^ilCO+m-8S?hV?#SMsRD07qV(C-ijSz)0_2q8ID4+Xw6~xldvm+qvSAwQs);? z|9e|gy$&pP0lxtptVJKmV4^a6Kbxs)8}+=mOQ3j*0O8UwqzcmWDogS$B4wq$4l`&C zZFo~2YWLKaTGb!#*g!wLd;^qbZV`nH1uNjRV7F8M{K9zvI;RWqq8dSP;>LAt_;73K z-Brf27g?8azVBDD-1R$XQ-)atC9@SbA5%osrIlN_5kWAK+Of1a^0T-uyU7-|Pye

3#@l`I**)<^B2xx^^>I%tSIsgHL7gd&#SbQE7WEA6fgfqoWy15hR-VpXf)0f@JS`jsb)zew ze%8$9sNx};iiAVtCh26mW{t~=-b9^ehGjP)6?X&Df#gNdmo*&agH5e!9cIG#pM(U= zU%eA{FUQf!dO8R_cY@c@)SQq|LdeUbh_D4vG`DM3H}=|sFWUe7q*SrAy)^I~Mn;9E z%wKqH|Mp{st-+mI1u(MIZ=$blgu7mx*l!L+vUjC5tt{k_T)JSA7B*07@pBZdk;DE) zQg;G`h(oJ0as4L@LpO6~8e^JY4BwhM;;1M&48-&P6-J`Hr%!npI&mM5`RTJ{xrUc% zH;Sw3DMg68CUfj~tW7UJHP+cIYS1mWdc%gd+O`p`*$6#fP>fHIRgiia({|7|6+iAN zE4nsBRC`K5oEvJ5*FRx9p$rQiPHUI3Dp%jK8m%*3F(Q{Z`-mfHv!s>k|?b5@+&~?=NICyj05QR{Y zFN(IuWdUNka@0OW>Vj^YTEwHWOfJ)!bxNq5H10gW-Hz@yxxGQUX9RIS6>pA4f|#tr zTIQ}O`ap&7)%pZb4;H#%bbq(WJ4+retE}&4Fgf1kSQS3y%PrP0oAFG^n$@bbk%OnA z5qDs4KrQf8tY%n&H`}ODWXE#HmR9Mm5bDI3_O4~W9^+93Cw>Lvi0>;qsx+oT8p;#3 zyP~Ag&f$n=?e#0Kxxa@eY`DTu-9LPqja zk19GJO3j1|08FkK-Op#iTl4^kzvfC933c2io=_&iVE|s0vc5HvN5jSX;TAD^Cv)WS zP`(*-ZPa5{9^l+TvlL&mSnJ?Lf(|ouXX0961$6Ch&)H{3;vReJneXx!>Nw^ zILxAZy?{ay^Imt-y$ck8f_9RU>6~D-6JlpEu%AR)V-o zC)@x6RzUi@_Q;$BnH&fD&2V#-+h&1OPPZ^^!9-TzDC1fCD|(yXKQdjC=Z8Q>w$euQ zI|#hOtT!r&v^A8)Hb-H)B-8shAT1OU++bBbIQd%-6v&_Rnc#Z7+!}dJmwm4-VNv}Y zTD#<<#`sj14XYy%(3r7!;h=h_Tjx=w3o><_)H-OREcB<-8N$U-f9z5zn+Aq*@zgmV z2)1+yrg3<1=dL^AaJx`Ve)r7NQ3Zsu;XOc6{N|nTaHNisENg&ed$T%z7@sA{P`v&- zFdZflxb+OAW``qNH?mj#YwTDCztHNWKXGI}IZ_9XA@qp_o!>Q}n;me)>g;TUBzT-$R*X#Iz*@kgtL!cYZk6%6YYvn*z&+&Pr(i?UNv8BZ%HwvCx7@=t3 zwuqcJ`nF@$We75>Gnc#^dEOqFf}{EWe2czf`JlZ1L?h%Eb|=a9s7_vw-dtIDz*TZ} z$~v2_20X#Ty(BXZYAAh}kY~8h%3z9hv{q|kzH%dZ@JHq)RW#m7szc{Zo7lu%X)w4~ zL#M_CO2&#qc%(A2vs=oR^x*^vJa+Z^18n5G=HJCI8mh2yif%sh4yx?DVG0PJmUHVL7zl zCVDcp*q5V~jzMR>D+o_NHFUeG0U~!2Umn3pjw^b&d>hEC+)<&DWsS4kkEt*|So5{v z+iuQwtU@$-$p#W43t^6Jt&;3H#2we1zKiFpWXSNYTEmL7NDxMW>!?t(qg3X6Psi3e zv8WAFuUZK#y@2?Xs=SKv;e503<2}UpVWqb7@Rt(Z>%|vB#3M0_FGn?1j$jWfpD0Pn zy(ixCL#(eJnFU^Rn~mOdx61y@w8Vp_L&d^ zLtJB1AOTri*CswDZ0SSmm<`tz-c~}=68qb?!dSMybuiT2p7-Z!_m=&^3lfH58Lwi_ zWAuWle|fgZ_c$etS84RV&D* z%Q>K0(^r@A4WI9MbGxk-#8jh$5M@CyIzO@K>dC#JXpD81KKubpukzz&9l=f2F3 zBV_GRu_oS{@2O~HB$3%8FrwCHZ6ZD2jBLXM%Ym2;x;9lUoWgz5fIr z2uz2TMT|6>JxG=rCllB&0yx8HFrw4;Vw$I&p3f`I8IkXU;6A>qv+4r*iJ#W>ua{P2 z9<$TmM~`M6h_^yTzm($k>k9QJ)+gnnqlTV%RDNO4bJchrhr@*Q%<2LrqniZ{mfC0h zGmto68(FNng9MyWoaBJftO$MP>15bsIr9ZcAwC$M?lJm+WX`+b_Npf-le zV~;rFeiWz6I~4p0nQ#N?47j?9blouIgwGpW#YK4-8c7Ww zJoVq-H&xOKj6S?&5N`^u3S_KLvC!2I&X}3=7pW$B$DDrh5MDX!q$4}x*@r80KE_^C zIG4`SS44ISH61&6TvYjcCAL95Qp|0bI{rB$`}diTLs^Z=wUg4?6?X5#h2c~@iQf2o z)TN!*M7?Sw$YvLT@54d8g~!$GYf;LhKz@*ZKuezw&Vg2ar(Wq^^?8t}-^#%XLF8V3 z?)&N(On;??1V2~-c|wdy;JqcRP* z$;&x*TabJZJQ~$1#AsKs0Vi+I4lZyI21b!GTJT^YgN)-7Kj)Uffy>G`5546N@eHE*(}ZM{?FhE@{p6W`r%nQ);R~j4u{%8g7JCV$q$7XATWmM?iOB zV3>}RC77(*`c(xBy}xeq1I{R9@m(GR*%d#j9X+-Lc^0hh>T7TBgxWk*z!VFWwDdp; zu*pFKqLa0jJpIKmTpYn6qz}M8=HV!OyvK02+93{~rD%Z}uYBpij&B`QQ%COpyv-du z6W-nfu-KkpHh{_dhKetdeU}ehOS{KjEama0Kpu_DXQb&IVf-b8l-K7w<5Zgo`|Yks zI900rjtC!V4l$G@n7^m3#hxy1QT;XIswMrTo4Bk?GPsqKJn*GlMOXmPg zv2y-6GJJYO?voEF^_{nStU*VIn{e_~pkbEgI#!8F08y}l6`Nlq((xL$8wY+BQjb_3 z;vC-R880~VF07UQRHS$`>t=5G&GNyGSF%MAC;C={Po5X1kOVh^jP9RRxX8PMyuV1H z1@G(Q>{5&!>lHxkW{;l^Q1o3^8Ym(}Z?Wr^vsY(kMHHmg*%|ddjB&!d_d)}$9@-ifFn~{` z_=d+c!neHc@#f6Hb)AtHa4(H&{lRGRyCrZkMkSfJv?W5)FtYF(`97YWn#y`sMx-qE z1Na0fzL>fYCFsc6{HrV41VXkC9n^{A$1G-Z4Guf=Ipv3!q zH>eUFXi438hjq>OLO1N~nGt4}&fmP(k^bbv1f@AHO>kH^L^Y0HeXqhwplVI3KDh)@ zLpY}%b23q{Xd8t-?w1odF&?4oSGJPcLxsQ1uC>;314JcB5b=W4sObUJeSK)70Bb6T}MhS)TmKHu7w)bdgOuE zO2nyR!b0pNA&K^X7Vp^~+7ERf8d$V=Z?G~Hb8fVi$EZt_b!b#mlyo={8XJN6GgO&v zMIFXr30Z^p;2f8-Jk<+aBlB~mH^Ah67iP~a{ymKQ9SSt4)Mp0ee$n0-XBY^rB8hUc zE+;2t=o4jCDt&_T#Z87-R-8FB2<5i-gsdxumu zSqZ<#OV@RM-q-u{``y03|9-chKj^yNz29$+*Lgl4kNey$N4)n?u$QVRul)C8y7%>A zQJg1g5!PFRIteKc&kW05$CW0@hg}^-*6N<1l3{}7^c&sq57Tw0VN(Fp9G?qw#eV-= zU29Vc*VG`+cBIPtTpW9#1%9Mz|3UFOT=i;?$9H;PH7DBV2NVnvos;G^lMRh1P|}G} zt8C&oEmJY3rZXdUpEAo4jqL#E%R>fnRx)k1=@-3u>Qtj6<_g`v>%0o|gn4_a`)OR5 zM=PC9@}!gQw;Rk0{=X)%V>t6dU(wlhmF(0km+%$&vs*RJoJYZX}51s4OliS zArhg_ON{BXxntgy>>+XmOOSt*MwH?Pd*PxB z*#T^_3usYp!s=}}+kwEc=1Q0Wr$)O^8X~1a|zI}&`+i8D~SbJYpCE?}q zRpY*UEc`Muehr-Z&w|CwYw1Au~hWcOu~BN@+2l=d0$ z5<}Zd!-x`E$JE{T>*x1JS;37{Q0@?m4niAoF+VV!BGhI|OSa z4-6U^Dt8mq>w`uAT0N4KI{1l~%e&>|%g5@g*8}bGyS}%S&D}6Vv6CUJdY(V^QT<=P zcc}G_9*-}uw|lC)Q9);u2S-TDT5Yx?fai!2;sRLTaI&fTVhi;k!O1l=vHkbkr37r6 z$OJwaj5<1AbMwAK!$7rRzWX7iqHvz z<^!fTDrmoJcP>B`UQ14kNuL5DSBrqlTu@j2&9%i@E_ZRjv8WA#$E7jL01-Zvlv@u{97pOgfI=Tb8Y znU;0T*U$I@3YK3ucM&f|LBnjhKcLYU6xe#t`5aa63p$FvpnQA7cuWM}N1kU=N?3xb z@|U>K8IuJtXmtlhJ6!DBDdm$j#L7y-uNL=wok1QMa{lMzVVD9k_B?b|KtI4Z;@i=? z^gJv3&Pi>4)}7zouHC(nB1qz`$9^wgya#H?MHM`92@4c#sxSKIV~9!(pA8tZU6P1ygY*6@U#Y>rQBA+=SzK?;334Ph&_O?WGLp z$~5`cbdjE#Rpj`+s~hsJvu@slBB6G~4lN4%1EE#@boo0W-Rwf99Ft28D#`bAu9YWu zpWuEQaehRco`+Xl*}7U&cKh?|dvy%m(^*{aaYG@P0Em|_5-UDskb8grdoH-@K(iuW z;D}(@^N^lbESIQ~@Jc0$!=N)_D(%;3US}Mi&>$+_TbZ-8=9;)0lYC0XTWa| z*K!3a^9wv6V%A7hQA<1OZ5pGLoo}@Mbf2??@p2j| zwvZRYY!;eP`e`4CLUd{S)q@nxA5BKvV5*b>wl4Djf>da}l@Asy&7H{6AMBgIIAdXc zmyTHV^{IoSl!-tqvR@KJou5O?LOHBv%DrKyn?QtEqwMv_&kYXQP`?;0uKnXGB>9eK z*C>r?kB4X&HSURD?LIxnJXg8D1k&E3CD{E%td&%9=oqxFjF>}M-pyL|Y3TIxL`q|) zjeSbxI*hzRF&%wtG&1-__=nQ1_ zRKom|1~EqFvDILDA{l_KgW2p9)fak9sy+^~Z}P%ex;xQno5}20-ava9RMWPdoqDAu zhvwpgXhx9sCDUK#nN^yS3G~D#5*M!mYdj3L&-e#IL+7l#q4$k~by|kzj&V*3#EBDzDN$Q=rtnM&_^OgA5F`cz ztZ7WxR+!^* zseX1Bzw~8MCRxX-th&!R>GqG4CUL+XXZS|ajhp0<34x<+4LhP)O!u|q+V+p0Jcn`F z5#7CWNyqg+eT#~Ud_Iq^3KX`kiGH~&j(}}5QHa**w?D#$Zr^Q_oBD@pD#>mc&O)NVO>$igxLd*tqJDJ_ENe--}*-9ayqCizrFIBGj?k&Bzyr4Wsz#~5t4m0q(R zfV;~owwGxAp1gJL6yrQZ(ZldOwj%f-o9hU98G0-z_D2gtfEZ?{@D7qh6vUd1R(WM& zL3SqTM^X*RIGno90V2i{e`vj2=YONh2p|yy{USUHeImJ$e>E%d|C?xNr$D*Qgdc<7 zeG!K?l>hzf10(VWdi>YF1YbG#{}29k??oi>;~e~CQ{RyQxJHpJgkglvBo?#Q4{%9b zuZQP~;Yw&}PIBEIpDAEL5P;PhoVZc8j>B&q8VYjRO8-44-@i}dKl2c-vWn`pfz}e- zVCK+8e}HbQ9Uxd~j|q&$=%;39yaLq8DO`|n|8+*=iZetSIe}5Y1qhY!%(xeziTjAa zs)Tva4S1i^SL}%cLZcGM0`Zr^=5_$=gjIqKXBggY0`5nqAxzF~kGO#ZhlvpwU~KK3 z_QK_YX^z6TzupjUQ2`>uTCuhSiL+0iR)Tl84#ChnOFpA_`~W1G2NFxOeCJ6UK>R?M zeI(~J_61sL2;vj$FUstb3iLrLn}dW_-cG=)bDQZh zg3(tK2@V}~3Z5|C5f-l)^`%@ogpiJ`UD?3L1nq);(4n_XJI&UBRS1F^<6vbN4!Nm1MKjxf{fUiiEgSl|;{zN1jeuB$Nf9dXUsM`BGEN5Y-+tphpYI7F!J)I?@E|s)R zhd~Li9&gk86voclwo1l~#~eAuLk`tJyO%E@j-xYpea}>bkZor_iq}V);X8jj>@*y)C_}=$ z#MdbY!w)I&y+1;DI#u>7zV#|+T=UQ=5cXQ4_rw)4ok(@;lxz+m(>_Tf%L(FB zLSHkcFbdg9-+@JV(2H$gO$N3pu{*G)8opXHU6NRaW&W6XJm?I1*`bh_$qNAh^D@rN zO(Xqgl`mR+sv>QHD#o3Ux;ed{R?2eXj!bi3eqZg)e(QLn1d*Z9*VSvr)D~~@`oBJ* z^S!>ce3V#IFEZ6qiXv~Vchx^U+vJctY5IJbMC_U=Bq@)u3)JLl{Kk zv12d{tmk4(4GV=H!P4AS;yfw?u{0#U#rxJ4zC-9&S>KJLP4}RJNsyk%|67GF&$=~E zEaDdRJ!||RLMb@7BpwvB@yk$*jBggaztZ5g{;iX@!hjDDL#?PW&-)Wo5DRl-g7l{j zSqtUoj0-iNdN$yRR%_b@2BBDZ^1%5a%TK^N>3RYNXM~CfV1xb03AoYXC9Rr$a%-o^*Up;jn&*R3V&E2Wz{SfqGpEQhDFwstH4o>0zt=H= zEvL#kNKH4>8(P&rI6=2I3m9|YA3CqdU~e&m@nP>0eW#1M$xcs>%AUW7P7%FOC@uV8C#TU*zIuG+z2erz*5hj^r>P43!aw^d`NHi*2#J>eMSpT4AcgU8?>5 zj!6YPhOe{cyJ4wjy^1QhriBu&cHHl;_stQi^dfxloxbX(oW=VE>nZU;0l9w(KOnyH zaKV>15aU5wE^g4#7%Pkv|Akf4QXWRapE^rqmv&P9ggNng{u2`Qaa96?$gSk{O`9@W z&A!I^%#6}vWb5Ux?MVys<36Xd8x5ub|A&+nv|?)RTnFGhVl zp8Rp`T4gMwjBKR%m;3NojlYRrr@^Xg;bJf$vkODYLF!s5Yq@Vex&jbWVg^Pu_&9m` z4|Du?2Bj~m;0M^sTyWg_aOhUXL>ia zAd7xnYy9X=ZM zN?c;RrQkX&{LX@kPjecI_s%L+Bg6l5nxTM229BMVVUv!LO2u(&`CQo2Q88t#)&4BpZixv_&Re1R4g~?kjWZZnCcXSz1r^xkD zmroB;`TJ^g*qnb+u*{0(8|Vy-PH@&%kDfs~-@}~0FOHN0{Cx;J2AjC?x0C%jfh6ld zbyOlJIlxwATQEZnKV@lsOOcgStMdMVM^!VrtWzf;`7F9=6O%#O7BjeP6E1hPuO_yq zT2`y<21NptkXr<^I6fV3`GwP8KBZ#xdPe{{ag(RNvf1ABOBDS^o(P%o7CH-Qwnxm|r3yd5yY$>il;N4Z z`+^)rnR4K$$h*dD4G%!k2E_xU6t0PbZVK@w;G_;ka+Qbd1h7DFYd<)FB@ zPZ143_EQD?GDGZ)YwXa-24Jpgq`NxhfJ3Dg@?aB$%BSW*2V}4Ra}h~K^%e3WUCWAo z`hf05{$*-o!L1)55HjqNIxMiSMcA=vE24uV5-x7VDdP2Uk$ABIrjV4D%eGdRqtC;6#Dl`GC+QPCI$6OkM*3`cAk+!D#OhCy^No}mtBI!abbgCdY^%n5%; z!ZNaNeE_)8QOes)iWtz3@0Z4`BVz1e0N6pz^lYX5LObS{cIO#(nTy*u*l@XjrQ-ZG zSf;z`kkzRP>66I?ije*)k{1t1rqJIscy0QG8SNtgX|b6hwnk+zASm_jOq$3rj9j{N z`F^scDOVsWh;|=8#TB@ioc9swV)K3ZPx4(w(F`7(4v&lZ9!L+ULX5$j)v%xC#lPP1 z`R7idg4d5fzg!TxmWLEdUrC!=*i)fy-iAjnPv23*VpAv=)d$&^y;a_BtW6*lvEOGi z@=`B!MO;~D{9rR9N`k5A_sZ7~;hBdiPoV}1U2mCl);rY`ty9!YpYQc_QFd*EVX4Fg z&o~1jXVY~cH~5TCA1~dkE?IO-tmB$7g`AzOT*_0zU9MgTxLhK;Cs6~vO=n5!+ALB5 z60uVLGwSZ|G{dn&Y_*62V!&%z$d;t+c{sf%Nz}ahLHOufSqu62c4Lc_d;xsEdYR@Q z7VR;`AE=`_2?2)g-vD|o=+T8|j(|EQW^~Slg)KQh2G$1T@ zI~V_%=+BjMK8Gvt$LnHcge;wt)ZY=iL{;>w9o_R};v}|K_<1$N>Qut=(?d>-%65c} zWN)@}G1tXV9HV}@xn*-tt+YATWP5D?7hiL_%>8erjF%Za(inugDg9WjavE(|cX)@U z>+j-uVKZreFMQ%s?4?@4Qw%%OW19xQ{=CWm{;ack0#z1iVx(o+jYqE{nqmdE@FS-Q zEwVC0H|E&g?B!dEGPOMt zA5^O42Z}cY)k&v(V|`4-O% z+2~h^Lviu;F(VMPeyyGU%ciaDfy9NNBj)eFucYTLCH`d8Fw(#{{+pXsok~Yp@*gqq zG=5>ldMQVq8>)m-qLsp#7+Hzlpb$I~`n~wpP>}}vtNBv1d*p>ts~4GDxE?c%eBIAt z3-6IswL{$1u_ujxGVrA=>s<=gn-f*y^U?E6D{&GZ0_240TH3Zf^EbrmTfI)FaXMn1 zhjBj3w@I!;m|dY9NDy@zghIOVlEqH^#Sc#xG#+Nc*2W9&-z>Yo_K1!CI8uB*6Z2x1 zP4%FE(6}to@s5u+nQ#&pYZESKHDLOH3B?=Q4LPnn_p|!r)a&7}(+@zj?8OH1+SwXo z?$!~Id9a2!7lv!fZ1S-{=Ex1=8qaT)DO0*TKLfh2gK*J*&LLTP8&cdIrP$XFkp$6T z8Q*plS1rC-0|C>UA5m4kww-^Zkbgf`JhAa4Fz+x|wGuEf)Au;BGsC_e<_~{pCs$kb ziN#NEIDTZKzK#%^K^ne3?brLs>1R~(sv>1oc}1A-X?sl*|~PxV`M)! z^TX9{FuP2A6rZ5!g?Kt!HSL?NE8Rma>fi{@n=9b-^)U^+KkhziBX;m@E$r{cQ*ZSm zVM+CD=8vBg-N^Ci=X!AEl_y>B#D=PpVbm?kAjV&YDm`RU#~j(8g$s9x0h-}(Mbq*( zA}6)OpR#Lyc4@;%#o8#cdVDNZxGLY{z032p8X3bMgA#8dYxqTyutUcmfp)=&)vq9m z?z4Ij*93&^9yL3aMd5 z9!T>IT(PZ6JcR+vC_fwqh2wdNbq6788;=%Mz zZ8zR$FpMI)nKSX|xS%G7$hS}r_I^e#6uia|9OS*!|U8Yi#{*jR<}AP>wl}mc7ao2%lq+c{-|B2*c71 zlHW$V*qMv0dX7Bq3T3Br4HypsC0(?|!0@0_n$7ktD`A{$#kn(8DOH4tF$mf;96&c} z8(c@meSpZPHxJHtkV-5kTuG`kqUg)u5j6yOv*AU$wd2b;rp zFFz)MikprkBFiA}X&wc4yf3-AO0D1#kiVic-w)Kw9LOol(CxxJjqQFe;Wh*(A@2DP zJN%2PMKR(Xh`}f{$i6eStx1<)?@n6$g?N>8=$OWH+li`$Y=x$++;fWqAR2oq_R*J8 z@(>FWgmK{q21O4xwFt{lMct zK(Wg?NTdl2*+i?aI4PlrC7xY>CguQ^?%S zE>q2lbuq7eq#=1yyZn!g>pJd#uT-huhHh`M+)ca-yYs`rW8kGwRJUp3e z@D%-UwzJ|EPl0k-K%J>1-rKfal~s*+gj5Wg9}=0t8f23a>5lWOF1Tf_G+v*udCt<4EedciNqBw6SY5@v+?*vT?twS`y{04l=B+pwmuu1u_)E?-Vk zsq0wbzN8S3*Oq6skh#|Zz;to!Z$R@VA!Mid+fz4bpEdV9YT4Z)rT04^ZWWxR!Z7dQ zaic|zgxia6DTcpwrp-xiiH_F_Ki=~R{d3&%#6H_QZxilQm(%4u6R}pCm7{AfEzfY( z8S?ur*YGl0|Hy+Je)?1{NBSf7;jC!mo0m55RMy^+<+TRdyD~(Wj>!8vKhJ9SKf(mv zS>zT`xPc!-*PX%ZFN(0A7Lfp1VptIM1bI&XR2WkmQvY!QLY9XUVcYoRYpwJysGo>R zrtPQakpeAV-m;}6z8V5TW)Q8jPjwdgcNfRBFIW-tL47;piV$CvlteM}a`y%K66vT# zj;+`x!gn^k8FexH&nF!8XA9@se4tmoAy}A8mA`p%FbOk6@#N!*cbg|@LX8$am47)K zx5$~4mrVQux4(`f;*kH3kMw0-R6)$jTN)D5Vy?@|boHeRS2)nuat&*S=9_%K%uj?& z`V+zUfb_dyV|Q&wkCI!fIVAJnxJ1{M@zW*Bv<|!4KDmcH*s+N90YHKn&D0}$UKfY1LKMf52*#8zC%RRoM;?_! zGzIMtNCs^8b6Yq*|1}THaFD@!6^t>1)}|Y$SrK<+t8s~|Gli-? zH;F&TKJq}uJBtD2_)kZrV37M%-}Lxc;1T?fqN7w)J2W-d0qUzX%p#Uj@YD6BDp9lg zs$2Bf!Qm~YLDw*P{wVk50o`9euJPy`UQWejtDvH99+fY+PMUA~ipAhJ@3|v2(_TZc zBAVx7hLKv#@nXjy#wn?h1vXl6jLrs)S8+(+<}>~sEY5U0dtf%0XjMx4EyZ(T_;ENf4%XL;dhHTPz;1zkNiA^k$b9)9(>K9ALu!vjap9&j{?3+cs&=~f9<*$gGkIC^4s&uHG|9KgJpyFRxh zpAIA0fHj66ch$^@J~hqnJYn>Xj|2ToQ0bCHA)?gulF4ekG}cG)RNSe97`M(GAo3dN zATp4S_;I(UL?ZV5?s9xBUtpIE^VF*n9H@BLI3{-VRwt_4mmY+9;cwQrxD@k`!t9a9 z!@WM<_vO@DXD0GKBA{+!*pmG8B}pu5VmRApF1iT3%zypV-tyV6tv3QSqAo>{?AOQN zda0m~cXk8xHhtpx{hl+?78}|gj+AYX>ECo*-J;s3_=Blv1iShk z(V+@uKW=iUFHD?T+M;4K>Azug+B_fGg-51ois>~t21=b5fWWYdni4Gs=V(uvCMcU` zJtDURO$aA`n{G51Q+YzMV&=Wo6~T2%)_Gu%!H+g@vKHR*Vjta#l8P2yvhJMt{o4q% zsC(B$k%vId9Dil5kBc*6Dg{pEin;dBZL2Mo@*`fzKi_JFOSNx(1}4#Kq!)f5bRFp^ zTEq*Hxt+<9QY;84V2|RKQ@I~Or^=knOC#6KMWktK3h7tCqN1CEW1$E+3dKGiMmNq9 z$WA)ptF@oh7L29eOlEBEEn0|yN}jh>-8N{9*EtJHaSOn!R$)GV+u63Y;TC}t%i9xx zdu!E~=*aq&Jyu7uMAxWZ=Z_Xv$3Ny>SGa55!8JFDN7br4Z^8gOLKBf zdqJ3Hh|!5hV`g4#*NrqF7F#h$Pgo;5X5!r7q1g+L>TyYn{9YfDeC8#5{KS74V zDrtZ2*(6>p>P`ASIbsx69lNF!82W^KN4f*B9iIn(pl5IB(1R=NKN|Dw_nC%nMw1Zf z%tVNO_%2(l>IFp-57L8KA}W@RAqNsH4BxhdjEybuDxupqP}Ji|dfad6xLZIsG{_o7 zcPK!K6T|&Zp)6=In6{A4cWIyI!&UYL3F9Y;?p>D*yw5U5T9H-((%*KC`|OC7jIGkQ zJaB?}SmX?z;UNEx-lRW~_H=Br`H>q3k;`34-eIy}bpf!p7iex*M;_Amb=yRyDmXmF zUe*&J%g$=fOZk4TW|9mOAw4FkX^sEp`;{KF%nd2?@HbQzZwgpA1iu1UgQcdw1}Fm) z30XkL;tJ;AKH|Rp}Ng0@t?HQ>Mp8IpP<`kytY?nF89SqsB}L&J~u{ zGH8`$qyHI{_Wm>zg~U7v{)kOTLsXYSD|VX4`BkDb{I)z0@xU;K$a?6QV(DS-S(W!e zIf}2Y?qb(hvW%g^C{^*6MBq^*V8JD)OPh>RZR!gh zDPfELm?@jhNA%1~<3}-K^h5ho)N+&psBC50j_?#Kl<*h$`B|UK5vD)Lcesmih1KME z;xmKD=Da5vzFL$A{?za>9I-X#ET|Rn-xi}$%c#sdM^`n)-00Iz@l=9CTmEdfoA!ZK zz@0qzyh7XuT%JEWn$ym0X_=+U71u5DumKKs~+VZQyQ(@0e9w-Xm5c(R!SJD9ao(r#I&ouRq*M|(AVJ2n1aQKe$RN(d$VoGySxCauJ zClS*a-%+mIg9&+#B;T7`zDWO3y~cdZCEuPc>L;q~wE-#?_3k#Mx{XeEJ6XoV6H&BN z;pU>Pq6ag|N#ZHe3vz}H6c^}5zS5uIqLGijH%7BBT)0o6`Mv_md09VDXitH z4miwB*Xdj{8BD!-=`P=rD+W&4<$(?7N|OZ9<4Mk(ivX7`g@S#}l$QvJ3m0=gh&!o+ zI#c6X=Z7l?aU4zJgm9G^qewUYYz>w7Pv|%qw{--qBuNQI<}!EDmjm0wpenGTaTmfE z8L4yWQ-2OVq`Lcie@IK2-cPG-%Ck1a8z0MDCWb&rkhnqfo@r*V_U>KQQK&N<2G^3q zUkm`l-@y!j9AnUX7i(y^O$#MM0s1-1S(m3z@xmq{C*L4DVDqcz37!#sdBY$UudxPc zxz}PzswcV3nVAGmu7Y{sSm0SwT577E zT(0}z{#J8bD2qD2@7V$Nl9#jqwGELJJSqbdAXiwc1!;m zlA0s-Jh%V!igKbpmk!0!am#SBrM+;5=*<9G@*KrZ1{W}aFp;K{Fis@vu;Uo)^wCa` zXArEPN_{5DF=tWVy?7O|qZG0DhBxbFVU!A@aEFexP!H}bOKM*_<+Pa3y)PCK`GF_< ztf2aYLNF*1?@eOxrtSRxi4Od-|6NX+UZf4YfGr5DZXz>6(EB3XBUT=%PH^{7>uBAI z{Ncud4F%zMB@DzSWzi^O5vNvBJ#8I5KjRu-Z>WoL#Gn}Pe3J5;QgZN&BuP7liaojl7rFfk9K&&91rnfyB#FQqboOy^Iq;9UdoV{_^!AJCfQT zANW5nH1KE?ldKSJO1Q=So5Gk&m+TD9Zh#!uOmj4DgLZu4KlZA>{)oZ+f2GN5K_En? z2nF3zyV(db;s>^7+II{PZ_^@d@MB%J}prAVn zQZLX(U#~|DsVA3eHkQ@bffnrzK6>_svaZ`YAbMp8^jZF2jjC$Ro@e*OZ_WjwkG zB5FtckoYNcCZd`zt7G(*EG1f720WQe=O$z3o*f)S0tHHMv7EKJd`|Q{5KC@I;uE%i zd8+esTb74vo%35r&_ek^FQKCmT8&|d*Ifc2uWuv&_1(taL*BlB1hJIHFUB+KfbN^g^;eKr5hG2y0Xu1q(e#gar6lyKM!0Kz^Bm^b0vY|1Z&*DWEqvUkGGq zAjsO9T;__})Y32D+XHI6zEFAssR-*h*x_8JVh!|{fFUbJA^iZj(QyfBh2;PK(JpmE z-OZN)Td6;q4iGpJ)M42E@OyJ*t_X2-Jwfzjha>VT5uwSe1m%v%4n1%+9D1AY4oKiP z^V{F~eN2ZIVT?k?op#J{Cx<6E>|XB>245FmQFo9*8fgX3&)M6NT`qX2#nQb1ke5@` zAgG`5ePxmGefQP52P3LLqA#{1ViWO1IK9dvgk|Q2j-@+4YOSIafEl~8upW3AJDjzA zNfnHP4I@zjbyoGk2j*&!{?^$dkoCWYCq;~-iQ+;b7`ZdecJwwpQTm(ct}_Kv@Sl|6 zeuCJ?I75ce4UfOmzRNiWyBd#xtKsI}xKuDw6->Hh=<)TD$s{^({& zXV?HcrT-i*Eu&us&5K$qj;zB=3m?rRlZ;AalmoqeL*UF%yuK}Jw|P3w4;hvb6?8Zq z*KI&UQyrAhok-mq2vLca2FLIVWv8(+ffiV~?BcKc6?`pxmxA(+j0+QeeB-)vjXo(@ zN(IxgjGv2=y9&@Yl96-+d!A!q4lI-N;Gr_)#m7IuZNOV|P<-p~Tcy`c2V{OvHw-t? zBKliIdz|3prFn z3hsL1zTk6oWWgdyKfOq{k1?C>i>U8-R!_*Qyb7|xXGdBU`smpu-3xj#NAq#8Wf9}B zLGp?5{+#WI+?CpK`6&lf^1KFHA7Q6?ycR_M6-do&&&lDsLZYnf%zHvurNwgHOq**g z*}$1MAR`-cBjnSgt`CZQ+^N1fuFwm)V`TgGz_ROk|7+p+(+mAH?$O>Ly_sqTZi;ia zf7(`7{ftqc6^Uhe=Ex9{_smv)4_N9A>&RRKFsGII&Yr{pqXV5$n;wo zIxFasHfL>6p#1+FF-thJcT zY1`7L8ixBKwYrcBwF$UJI{p$vnK&4e`0K6DjMmcjVLvgHNK*FA_fl|j2B^}n5>)3CAFx08)3$M314B6_2vQ#sKe`~ai(xG=6U z@Rp&@YHX+YVFMCkn$mokipqfL^)zQ_0oT4Ncn0r^X{bK3cjG`zpQJoS%9u~X&?Dl( zx^bvK6fzU2nV!w+stb`$iw6qo~d3fK(FQ0i6Kp$l!$YJ z9us=dBu(_xOSl{~_aeLK+G_wazMJ3OzU6a=aQQ9%T2PU-48}E_W4uDaP42ls%i&qu|;Ogb6V;m9Oc8J+M6cGU0F*1%W5|pB6`eT4vPdx z)9KNeh=dTS{EOL-ZA`y96{yAk$#+V|{MAy>u1&Lzr8j!YTfpRnB?j64WO)|Q`B zKMlhkJNaAgKDAy5^-J9kr`a(>+ID%VT&BvxF=9>VSF}23gcN-Y4Hxs(Vns2G41Is( zOwdC?Kb(dZydhmH%bi;sa?`@TEB(?r1DC>4sDNy2eAL^J)`B%PJjeL|q-VAU`Dg7eGoaZ&P*eNaaM;i<2mDoIP#pS2=)tN6<@Cnez!?G_jTnT4N!+Y z6KM_cJ92wni2`tYA>EO7#$~I`=*=?A9T02T3S|fFGcec9;kpI~Z~;?g@f?}{PK=4f zF4$>3nk7GB5}4{iYdmnA6Qtc@FqiW_tvD8FTVv0+rEbb4^gQl04p#&STKyahbA|Vu z-&}rXHrf*}d}7NL%qm0RE4J>Yw9}+9X1KwM2L{L^)$AO%R$@D^aR1&w{Dv-TG>)+u z95-oa;){lh{?;M<`Ksp&Zu{)idy{c+K+KT*c@;i@Zse(LL?!tAjg$(tzz~^M_+>oL zJxg3!{50EF2t*gOqZ}Fr06sMAx*m?#lIi&9CY#q-z&!XMN&}c`twXn`fz!JGnlb+= zGmC_4y8dMAjSZOQ)5@=h;3hBLgSzdKj!|#{TlZ2nZc;^Y{fsxwc7_PQh8zXNE5X!b zrCM^woH;tpHSw;WT!uU`CYc{+ct-f+-dvwCed>ZvcRPgv<*Q#kjh3U>>S%BUFvhJz z??}{Z2~TL2&DEBOo^}|msg79jJq;RDjXeKWmW33s@eGQ$KEX98{dpVw{W;rf`5@|7 zTv&~3Bvf<1;~Z4$3MPm=le}erj>+PoAdN3_;D;7iN|GXaS_{WAIA{ghlzsYz`?^b= zM;{AbUU@;gC*>J4`IQOwn8HRK3( zCb)sIwKT`QrpwwDB|x)FZ?iHOj`80l?T7ST$L?QsDm7gAYl{6ZRu zkSz}*wqd=_Z5~&RB*sM+T$_Sfh9RO{ad5=F&m6ytI7KTz`ta&&t@`gjSm1ZytWDcZ z#MQIp-lvH^EP~f3RsZyNPD?kZw=Yrm+33mZ6qb)-Pqtnm(Ka;^Mh@T+#9`x zRw}Qg5?bJLo)9XZjHx2G=oVrHe-4i4^CjlUu*l-oRl|5K!<497*Ujpzh&_en=>0gP ztQ#?fA>nt(j&1h|eYGp*{3BtMD)kg>FN~~1Ke|1h<$I{=%MWb*;>vQKZj<~K_ny?R zT=N(#HR`i7v%I9MI^6HQKpqNKWejKV+a_^R6s*A(tY85-d__>ScP+68QzKvjNabMR|YZU?re>1UTp^OJ6VL<^b@>KQwEseQ{`!I`t=jJ|dVWxV z{NriJbW~@isCV-1XDZf(Eru!`x@S3zmKL-E;<9)@K%vFGA{W_|l+@dI^+zFjZi^gxQHU+~%C4_6WMAQPrDe^B&iaj-LZ{yem?Plv-UdZSpe}+%O)O zv_7Yij3edO6S-6tfg(4x0wn8e%ay%~4$>}4J_jQGBAc9S{7(87BT3>`V|EsrA|;EWJ~1&PxS@U*brAOji?;1|wEYfA>87!L0Rv+O+_=o`eb|HI9Qt6wX%wlu1 zBUMZSfb-XOj_ak89v`L;=}YGwDLJsIvSPL z&hFX5!oo2=Sn+&F%?M?x<;JXfBf1V>{{zsI0q0942q!B5Z2UB^?~v;Lm2}KF(kiRZ zD1SfF-?E~Y=l6N#ob5;JXRsIW-3OYYI2RBrv)L)4U(%hgPegNQi)3oLxO_L-L%3Iz zR3EQqhNY{#a1|Y(fc*pxhQIjsR_iM3K@Op|1CA*ll?1$VyO!EX0>NN zs{7S&AQ|;+>vn|LK$c+xJ3KfKTJF~Hu;~{Kl;9jD`oAPx?bl|UgT(hje>TLzmP_KF zd|)22E<7J&#_9NpN(Fka*lN*Nm4{_=p z5q|d!>T+K;RebuG5Pfn2fk&E_jSF_QUqts_-y-(bh3uC$*4tYA3Tf06Fk#=AfWf5T z?md6Mj*w9_mriN)>Kz0^W;rN6hN?{0;mALLy#Q(xRB^L4r&YCAwe77BTh9Z;h|T+B zg|~hDdnW;)HJOkZuDJDPkW!Z5*iQsi%;`0Am?gunP|U1@fvis)TMx)$d!w8Dg((DA zZS>Yy(_PzkujhoK1`W2Rz4vzd^8Z#MUJErNT7miX#iuLnmZ9YDKVk@DhR0alNsaGw| zBYOc`?1k)GKfhZ|AXvZt-Tl~Ofv%e;zWaLRQP6TY&QJ!rzyMxhMtkZ@Ku-}|q4%a% zjyA4AddpS!JajiBC1+sHUhw}CLfHEB`9Aml`osxn+OXG*p70JC;7_Utw-zBH3RafF z*8&re7HG9k3Nx|Ua=X~&7~K(r@yhXF)~!BK>MIn+yUfukLMRjEKkKL`iyX}JJRega0SIute^SED{G0o8oMyrZcfyOvg zm>0dGT@sVbHRriq!C){cM&icNu9SRQcgyPQEoAi*@8&`}6j(Jw?&1rpDOqn9?_~Vq zL~EPxC6o%rO@J~P)ALoF6?EQjs6zg%YE#z#Z=zm4@;mKg;}O58&t7xlxYk*uq5*aR z6LC4k^whD0cZH!=hnp~wMr@VKl)HJSe7$J#0j`w00YAJrQcjNsmZWmMpFTBAKaa$3 zBO&m)73>pOe(9V=ZS8qT3Gf7@|DH}Cw&dxZLfwWeUdPyAWJ>_q{FY*kZ$1)d&hbTkq3D;6nc};&7N!8^z%xhy zXj~FRPWidNdLx#EulwOtZhem5b4G!zPIhO5m&L765c`JyJS{#)cmGtDArEDdFg^}U{!D=gNYBEdxEtR(QbNZ@An+E8O9C2U?Om}hb#F7pI+XLJTc2L=3{1dF$XiCQ zMmktu=JGoV}dX|Al_R ztU#5HgZR(3rJNyhZ0O;2Xhc-N!naE>^H>-ec3MH#6`EB6@?i8WpRfCS7V6UdsIWWP zac5q{p1L})%+SauOo=&Ev)pn@Y^St#JI~NEf-Yk;Qg35|Q@ofjGnI2jGvUl5B+VPi z&oI6?J@D(v>fC5;ZN#Sv82#HzT>f0Tq5sZS$u}kOABnNJTau%Oq>BHL*3(a&vNW7h zh9Utv2A&Q*B=z!a1+wvPwP`PiJ<{jS$aTXZ6454@FD} zqJJ`Dj|ji7%3<$Vbm`o&sqe5xyX>WxKyytuqPhdTZC?RIOQ`hrysLt6$Z>>Fg)$=( zCEb-r3nIaQ%%4B+v*t)$1IFL0NY{W1E3Wt7P@*fT>ds@SiGv#qXr|ZWUJmr2yjt@S(wnWsQG_ouYs`s2FKgrZo5v46I6gcV|X? zu8BL*35P*bCE(JEO^6X_xXcp;rFKBzrW2@Nye`qv9`o z^3d!aBZ-NN-#x%An4Wx7ZLfHXaN2dwt9bs#j3-zB-tbHhda~R|-kud1IClPY@UPWwqI(XY*5;>mds z->|3&kPHWd``|?M0qrZ=c(*(70xXLP1lSA6Q7;A1h^QYW%@=+bm|Xwv^ZnKjXbRR~ z|$056~T*EcT4EQ63kcaRVP%BkGFH$jfaLghQ&H2Fnvrw=&s z&F>jH_9-^sJ>jiA>}AZ?ZEf1lZp1EQsrws%>wvx6Py)57F2KyVp3(|_v{cbw}j>2DH)m}n9PO9Btvbo5* z`h4%-Ej07P|DMvC7j5|@QO}u$Fj^Z`(~e1~egKIvbO}<}h3iCvl{UADst<=Z7F8U}z_^gSYYgJ2cT=N`Y71^e_9x!vHC{g^S*SliWP< z&*US!7bMEJ(_wadn#3co9L~sG*#P~p%r)MD=a7@TVx*L5wyvFozWejpTP5khM~`^r zSi7!${bhry=fIZ&fDd!PiSDOj;SsM}|aN@cyknA<{Gw#OX;E*Vy)U?D)&*M62V#tTZ? z^O;Fwij88DQ_6aNjA9_=$nRv~C;I(&Dj$N=VIK8re(*l>1Q>K%@`-t<-NZH~_5bsh zB4JMWKk5U8=!@`AR4&G!!E*wKCv&-vdBP29PDTjV=zgf)anwK-{rHv@GO~!!_QrC_Eqi!7zOVx6$llnMe&}R4)Q)^HL~gUi*=;pRC4RL!-4X zRyUiK5kk_tVw)9ut;QQ4T+CA-p~WLO=fj^KeNzScO>5ZFW7K9U->Ip+g(Zw1hJj~} zWyVLfmO}1TGLWIGTpr$Cleixb%y%o>7ciTjF;ASfz+kXl@>tk57)(+W3EKh->a|0{ zQXYb6cCbvX*A0)>11xzECwBBEDTsseE zRT_B4Ov%y+2*nNCVSwx1b|bI`hgbYZR>gdz4C$YW6XoyUsyg&;fK^sfQZcDK={mkg z|M088=bIBJFvVaeP_5bTHu3$HL@1ZJFT^{8isL>^tv8A5EBF3wwO4;s3$FUcUa(aVGsW9%^)mD}1!#+}ukK%`amRb>4 z9s*CVkltUVaV=SU2XlXaPHw!;rE=LAe{dRGQ=C&xmgfA)tmORQ6A1b9jO&MSyqgq# z%poW1DaSgLrjGHpNtcPl@s)5h5?Pk)VHQr@0UN*zJF0_DCbnJuI0w8x5%MG zLmxmeL*O!B`H-bo5tHElD#}7UU!yA5@3x6yNMTpg^Mm8E(k|4I+Ql>etWpw?6j?8~ zDgO7zg~71Z;cyr-@t&*egJ#FPJk-;joGp|#dHs7uorx0hpLcAb+aNfS%F}w5`9z*% z^y_EZ9xg5}u9dHah%4RM@>jFUjHA&XEy={asTS!)*NPiK2IFXOe$V*@J0-V~#M349 z;Apk8+4yPh49d?@jh51*ve+IY7pD_f6A!2bcvnGGYOr_B#q^ArH%(Ym{bFkwwbW8* zLoeMPd$vve?ET$Wkw*y3u9PZ!oNxD>FCyT)rJ{8AdNr9XTl1UXOs>o+Im@>kCO`_jOo&0fJ$E$%Xx$bbcTMtd);oqVsgb4Vh-*#Sgu=2?Fv1^ED4 zgb%Ce9hieu+}1Ghma%v>59nBYv1f1|BACrl!NC;HOiK1+vt(^gF5Qhg6>J8wI@`K% zL&QhHo`_TDn|$h4MWLXEE*3TogPS&0mTRSgJS}%A4EeVijvcUMl6DDo>J8*#44hlX zW8RpRm?BkOJ~DU-OT5Eq-q|(mO)Sk181bDXBHay5*Dwp79S?qYcUMem3(S+AtpY~EJ=GL_dj0ALI^&{N+fmA_lK zi1?LPl^_^zAF&;_#z8)PE`Zu$dg-PypKa+TJ^khf8}_XE=;SrO* z1QsLoQXc&qVmdE=>@J3Noy8h-^|S-Tz!^_mGz_9=l_$RCI_GJRf@}dN)^~l)TT0tg z9>Mwc_i-6qHi154NEjGdj`XQuNy6qHKmYd?a<4$E!PY^%eZ_ufD8@CK3&Se3+>CFQ z&$;KS!%a&adh_b%^N!zDBLMS_GyduV_#>kx_Ul^j)@{wPhA!hT({!x!2ipRs&eAK} z@U4&$2_Vl3xLv^=!|tB5Br{|3+kdCjvKQQZ3h@~_g^_E?=cB|#N2GD13r;qycs3y4 z^Y?l^+y1w%?-fu{4HkS~-C{1JKAW3i>v49=6L>imTekOP<#UJpa~0` zf(n5l)rH{FEV~H%e_uU{j6EDSnBw=dR1LfPDD$%h3@hDYAKxWkelJpo`$xwz{m*NQ z2q2On4u(CY0V7OoM_GP{BmVxDPa}QbAX`E}O}S~a-Y5*=@Xb4Th|E6(eTy!-zGFl| zxMxS2S(Be3INOr&;H)z=AHzyi@QOYBB%`mlH3%^(^(p(M&0C8h=KfErW&?(G|6~yP z>HzI|vC}*O5)Qin8);V+VNpZWpRQH*GKyQwmpPg7K7J&n+;43*U3v@`t{n~8mjHfh zD_jgIi97NUJ3vCX0em`5C(2{=s`2iRwHg~%#P&?|PR>`GO}$pawRAQ$#Re<2``=eV zz#Lo!eBZf8PaK?dVYz0|;<+f_9#WT4mXG-9OVs{7G~_IzQPB#a@`lu|j`C^-XQu%6bod-3D)y=iVz4~6-?kU9;81`k1?!r5T& ze&Dz0nt|pa4x|nYxXknoYy+k{yhm0hru?pP04yZK2I zdr=~H%Yh5>IUB^A(FI3BJ9A45p$y5s6n1~gq$r9_(f{n9;8ae0@P1O+i}Dh3MHwx{ zrp}8}AL>7p$$CAQ+sh0ktn;!4dh70heZmvRvudnnj*@-j5HaeQ3A;_xkfaD_(QC&( z+uRRaO&~wH6eE!KtkJ)t><7Z=hP=JO!@_E4Q!nOns9XWkI|X_9ifJ>2T1wdVZQdt8 zx^aKA8P#ik8isB8KLdzj{riM0aO;NWOx~$@X0sbmo9Di<9j;4xU&{`9`GxUI+Ory)aHhM5M5;PLo;z zYN@Vs(l|@$oMB?)buxR=$NH->6|fNr=a*_b2iKDsH7BeLu7m8ok(Yg7NVWjZs2!v% ziwv`m(BZYH;R_A3D&8WJ@?I1^2UVu^9kt!_(i)+;EiNS{!+1aoOp znk%JFbWgnD1NdyCg&|TjqRYx4GHZ8cu7;;3FP-Ycvi!g``?a=-pn*Z)0B6#MlV!VZ zF&$hVMO5SYpKJ1IlsExPC0%$s*W?Myy%Xpvjm7h8NFORN?WuK8D7V69IRl^nQH76y zxL*0m*aRVwXE6xIFf+s@plH;r`RWYZ;ALxsaWgL1Q$|O%4M#tNq5fAhE7RP0a0HlD zb;hp;nJM@Jw&DUf(@IdAe|Qh}(7GM3BLy^YrK=tbcj2^vpi=`xA5eIe-TE57WD&mT z&n2*9`SSH<4lhM-{~F2#G}1#wQZE{x6PP&!M-U(&&>IKQpNp=%pC791Dh2r|Kut1S zb?crDhgHw@ull+?-~VwT(X;h_^F{VtJtv>tW5bRX;rP}7yrz=)+|e+}O+<+|g%4Hs z+${I4RU6^g>86VPzabA|KK=7;bIy)w1xp2qfEK;D_kS)HOhErJeX;+II&x1jrKox+ z>K8()o#((Ot&BfEfS0t@+)oj=ilbH{Zhfblo?OZm4+#ZT73YVln%eN1Vc^Oe*|6v* zJONNk`LJak5V{P@WnCN{KcF~Ep|01@WzWatGF>A~&CTx;X!?Y=#>PcCWyV_+agQR* z=%&gBj}+l!LIHk&5oxvFZvJIo$UY3cI4Y#~wRDN0M+X@OM27dijptl`cMEu9hFHdE zw-w?kkFENwuT@6XCGcLH(PN(C6Pu!Ty3SMp22&0g>e)zS)v~{X z79@hN(OVB}yZS>}#J=3udtkf7iQlv6(Zp@PuN~3S*->>jw~$CIdo~akNXtN7IegjF z-84-d7rjs8Y7a|yRGh4e#W8612Sod6R;cw)yv`v0Q1*#%kLh5pr{k}<({x}fkRzQb z^_Cd!M0}au+v8E99gqGYwIiCgmVsD!W2F;4ER-Cf$$&6pB13tc{b~ce4ui#(QemHT3~_GCbK=$Gg(PY~4ol>xIrj}9vHx<3$Q}3t zp2qo@Hzs`6wKil6^K%#AYY2Y$Ra}2tglm(Yu=NC8ue;xkP(4T{b~8Svuz$gifO*p7 zZz<)%vVPSv;+;Gr=LeHt0@_HY(pqoAw}I}MTve~ccG3U`X_3q-)b07$glLeeW{Iy` zeW7OvpT8C37VfNGw4?bJ&V~tS^Z0oC( z!Li1R6j9BIW5QPMkNAFpGgij%s04X`+3t{^LRPAv)Uj5mt>?_umjU|f*X5neM zRXw=)RhODl%ydgatZQw-tbgw&=!tZmf^4>UDDMDxx#XeJGPAR@n>ei`*DafqYK!i%U(Is11UW7PwM2Duea*%lpLcvR zLHZg{wvQ7A6mTQ#zmd+Vi~s4!H+-?$S$gJl{QOU zIHX=aJ&G|`Bi?51K+bC%0sbsqH|v0K?lzY9c^S-1LKi;Tedsz;Nbk`(+^*+kZgkp^ zyA4G3Nb0K`uH26WJ$OW)BKhMk}@O;r8iDXT8E z8xKd}j4H5DOe(S&Gqq0j4u@5}B&`w#!C+lX_TNho)=mId3uX)R1NE#6@Q-mVDJ>0g zI_olA)&f-$Upb3ZPHUO#@S&mwUozO5hUPfyO&Eb*S{;(RjG|}B;eWgU3Tp{a_p->` zIy`9jJXu2jzBoagC$J-+Aj>VA${;3Y3lnF2+zEoAc72hEbV! z=rwg?$TST9cZGet)AC{GzT*}4ZeZ#`pOho?%hZpHQlX5h%E?S<750PUQTWE(B6Rje zf%Ah7_T3X!U6X*${T@hJ8Ll>Sczdz9WQuU4AE>)ZmyMMg`9ih#XreqP>A(pS?s zH^9_$-2mduAHIZAM4jBjE2zG%({X3-MkWDAAv%M=Wq{3%RJr!Gb2VT&!e$oEKHi$sf&M4J5>?p^QxA~DmH|g30N+ky zxV~yYeg4_0Qb9qXUl43bOBR8M0BiRKxMEgu@t}%n-t;rH5DaT+i7R^pSr7x1X~;tp zFlORw7hK#tn=kSN{iPvs83e&z@mT4@IWMQo>sF$dEL;(S`-u*5@-Rs-UnqsTFM0xb z^P6?ArqOq!Ii^3%sKF$OkN7?J$PCbh4&OhSJvI&iV>QOe+F?LG_8e^j#j-|?!aDX3+KfJardW;70w$H9%=y3 z9#@rK{{kU+w9pF8CHbS&k}r5#r-uy@lI%acnD;;_7UEQu>o^f@e&Zgn6f>weenX-x zqrN6qxgHRb7r@%zNqUE;=%7AalC2c4`E4yR5R8Q$Iq;`bqTA zetoJ77@*1)91jWp(C>FkBx0Bh23;S4>+9{3MS7&_tRxHkPzNCL{vqNFCDsjls)HQ9 z(fG>M?pJC?l<$D$+4J}5*P7V@1Dyy+u89JJh5CvkR_1T{MU<*8u^&b? zwqm#eYWQx+{DY?(aVZ_GR40g)m9LnA(!%Y@I_xKgYwq-17^zjW8sthTXUt-l9cA6< ztH#7_8PnLwd|)R6skBr0MOC|jA{SY-aFE$>BL!!T-d2p+RdNJlvmkxQDBRRpPn;$P z4C!)9!3NiBBGhRdbVbH-)%d{I@~6143sHF_lA$1eQE0*#u2Ncy3|XWdfNO59nveMk zp*JAt5yDA_*TH7+F4Gy_rS zw>j?VMbjb!De1jN?+xc@@tOfyOJrfU+8(%wH!DYTP0FW$CK?D;B0wc~_inQ9ov}3P z4jXUd!YJg+`JDryfVXrp6xpUacM^)(8=iwggz@B=0ACPR0X0j{_+{^5avL+W-=$Me z*4l`k&@gN0hlW0jL)}%%(S4Del^bL8WNtR=mmYVq!?U-iC#3fbZmjk@z*DDgm`{^5 zogi?ni`qnZDrDh5twz4y$#_HW)e+Q~7y#?|;|VJ#S;?Gm|BJN052Qjl31IQHyl_{! zD#|}fp);qU17NjgDo~W`Q#)t9c;L3_5nsRlu|eRoTV%_ zM{5vR{8;bMX%N7Rc>={(dV@xY3Rc0091-Yn)kse+WQevYBO|j|hj=fkmEM+(1*?i~ z3W(8DU18fJkgCgbYstt@T~-;>CJ8s-7DDRJL=aNaT9U+v!o7ac8JWHb`e8CkGb!Pf_DR59UM?5?gYTD5WuJ|TZ;tc1-bf-_`fGiWpL zpft+t&t;ZA19yN1+BdiIr7j{a-^u~YGHXjCdLc53xdj~sg zMlQ*Mr!>m?n&IdfwnoCe%qlHS{UWS<~MHgy{t^ZmdufUK1rvcdDngm1}-v z7WH}x>!fVK#~=gtwdmLR-ROkb8oJn>W?6a$m7PneWYkP+xL)m?a}bfwSsx!77?>SN z(PUJ~7)(Ejd^dHur2$y+dpBJqDLt6KR$jnP+qkw`I6@-5Jk-O-pqMn#hVZb?HW*Yv5-u#oeaVRZ?^%V~Ho81v<#+4yL2j-t5A4Mr5EI z*S7lArJ=&|pEd4a9<_WV5+a0_I&{bAJxnXS5vBP&+rSSRfewGjwYZT*Ia~PNoVI}v zBOM4y)=%-q1oWtPjBomd7zfPR;5tlq>v?8tpBdoo*GUtXV0YNRRya{W`byZHx7 z6&XanUX>|$V-n#AAEQ-rS20{qbL)@SG>Tt*U33dkL3;d7%wgT-iWbyc;zA5rR@gMT zgvM`(&^Z*;WTm(d9?Dv(pR$8z=uN-7an{lh_3xoo5X@H4bW)rwYkW@4MlWygh{nxe zC;OP&l6|jQLh0dIs2{jBan+}Q1LJCXN{*$734ot~8kw~w#1Zq@*MbRQBqA=nV%k__q@Gn> ze@PH!@G8Hk>SrN~mV*&3x(H7JISM==5alsM&vgYp%I3@Hgkb3#bjH(0SrE-es0yFa z$1sh}i;aXzOoAj`*NxJM_IkZ6+l;!qn^oeTzKS?A)32leou&a+Uz29cjTF({5gA8H z2YwtEjrV`EgxjSc1e5;S7Dzwqljj)I!HBzp+ogd^i0D*|s0&?F(mf21)?9idSYZ#( z3drrw|MGwq%Xocdn!QyplNg;FZ2Q_XdoNY5x7@jZECzX_S&yJYIZI;g+Q|`+d5Rth zgwF6bE1x7MOY4HYXUkVK492Bh)IEo-iqH4JX|8R0 zQfhv1^!L}^hj!5adhrC=n@9+k?rByyp6GK!^;FvXcY%E`s%?fI4i5U2Ie&CRn>+8g zO4X0XrhhKaHLZYd&e#q8=v-`%guhVw{(HoidzCilzTj@=3E`4E1nZ)m*+c_O-9S|1 zj{7nT>cjheS|<+GnM6h!4lQh)w~GG9_J~nM8}C`6ZhAwhgRRBFacL>lyKm3xBmKl$ zLh9GQ$~8J!3(;4x_vRV(1ZmNios8=bLZqK*0&31D2u&=q&y%#xqVm=jJ>{Veko+#w zm&gaJo))WE9ZR7&-EK4gzt_Jr>Id`H>D~kTH;%q<$A1jv*}YLxQZ@iahI?Q1nZ3CQ%jkop zqI))iLcdM5Bz(3s!FZi_>slJqMl;WuNBs~B$&DWQHZ|2ZI_P`e#&A>s7xPoBwDj1} zg1#u;Ykq;aBj(D{cR+00R{9{a>|4PT2Q?Gij-NP*3z$<)NoOmc3Tj9?@AL7mOFPAL zYPa5Jykji|bKrvc37b~w0y-^LnSk7X*kA50KH?`~wM1-{b zZAH!Vh$mgJ%;iZWrf*OiC@NBuuA$%=+M5;bif|0qF1a{pZGMXYRipqWj61#f0YjuI z##GfKdG_PFp65HGnJfkbELi>yxQ4*t=!7}6Zall(Ujb?c{_BOs@B|@C+^9FqjfsiH zpru*rM|24eGH=TNXczp0XwVBK9mzt)eRPWuC_Nq78I=UG)(r&VW4f43;+QF|%wh1e zHtt$@R(nLSDv`K%ax1!{J(9$8tChAJ>ztvXI%=Gywbs|ScCp!I8 zwj1UlFeUKf8~P41U&rX)uhUk~Bv?HCHmu}2!5lrDdnX_De#?*pNX@{tI@R9f_@pKFz9IoRQt7X8|dux^_!$eyKs%FaGs{oiB<=h4OxI)wW| z9i5NAP40wZ%*T3MZ6BEnfq6sZK4Zl7qU#^O4Ga!iM^6APUP!rkPJK@aUiD7A$hgI( z+2_*$MEciDYwZ~9+Br2f(*^P7gIS!Q8)3wXyp_vd>qkO)g8Iw#LW6g0tfPJ*!E<_Wgeyj;qnvxL%2Xfv^>PWX_c=6~C#J*fGqL2DW9&g|8%bI=D~#t!w5xDlYG&Z& z-({}-EBVitUgY$ePZnrHDAkp!7d9oG8NpKb8Brp2Cc>v)<_=_Y6P*OQtb`SAHa>Cx zaR&WvDq}-8C6;1Tp^MB0#8`VUZoS&}7;!aUA|TNtMW4|VmeG{&LYjhUkVqB8vJ}Th zGbAM?rRq!1TIc#7O|;!0)IurOWws4GO0Iz5N%M)AnqD3!--Cw6Rs3Yv>o~J^MgYKb9|+QOOySUS_L=X;>KVhs zag#J@n~iWj%emrSE6*2@&T+KXgg6@aKZuj9E$FV}jMgvRd_q|ob2W{|$oY|-5%uFU=K;L_od`$Lxc6-b9yGcDR;-fmp``i2{{wyM48X;TK3!mb$jJ(JcCNQ6ADQwe2 zt_PHU>$`7?y5>##)j4CYiG#9EbX2#Z0ZrO*n6NPuAWPO z`Fv{pZ>v%T95@(<@wE;|tjbAytuF>R^LC+obP`+&oV2{0KxqcU`(~!ouvXXf8o=`l*ld^b%F{lJLtbkpxM)ZtIPBq;H=$^Diy*DM{wgZq z3veEpo;uw!8PBElca!hO@4MTY_!mf64{OBUqk)T4oRG6tp3eE!IgNWX?%d=4??U3# zDF8EFri5O_Nj(!lt(f-x!zy!F%eC6_3F1nL{x+RE!`@9?Y6Q>rkb|@HWo~Y~v{zb_ zv~HZn>!pUWc>@9<(;;BraIjzd3&YJ%;#^+cY&!f#K=n>F$gOe)agD_~QTy1rNq9?o z7+;xC`ceu>Ec1Oj5nozTl4;44KYLwA=dtB>ffI-#4S;Wrmj0sGCl7=~9z1)z=1!5e zlZ3<7&5sz?S*R2KtdR9%O}(DkL+X@?$Ut6GuxSH>S5Y49q!dctc>POTH3AXdc%}|v zOH(^yvBju|w-n`FO}K)Q3!jo11`}%zb@=H(M1*$W{c1}Ez4cK+cHu|P@s3H{zLonY~OHVYB&+0JI%CI8idMNC7?}TtW%>Y!w>;hOy6aWEf9xst5j&sh@Wwikhv+XM`uj&FL(bavIjA1Ssh^iM?RwDnOfxOsZ?W`NdJ zc@oRO4Dnd{$i5^yUVXsoQ408~h5Ni0^%i^SatM{VwHAZt4Yvra+gxdOtu!fV6FUA= zOcO@7k=&N`{*A?V>4%(mZ2`v>-Kq7KNS-w^a$`NH-Xih%D=)Pb=uXiG{=8it*xES!U?Lg#~K@VJ+LEtavZWl1mvCA+JAG%SO!q9SmLV zCaWWa9EZ6aGIx+&m|1z%GjK0wwGi>bk;R%OaHb!0UOdrHUl?2X>K+~(@?LsRZP23&t4WOk z$y0*3D$`5f=hI?dB%{6bq%*!55B`C=!-M0*{Gt!Q^ScikHEL^g{IQnJ(u}g;G8M^= z&qT~eP06N2&PG=Xr`y^*%#fw!SvEBXCU3N%%ryjEuby|ieQgn`D(7YSVm{(Yx@~H( ztmE)T6etsipSqnZYHAuTO8a9dk$a_fASiq!V!+4jHNBLC*e}Y?Y9vNx1gF`6kQD1? z`y?C4jB)zhVN}dpahW$6WQh%-YSH`5v08^=Ag~?&(0UC26rI+`82kJ@-BZ?2BY_h` z>(OMBrE1gm4qnS+7n;>GYouv8pKct+x&7Wm$M0KXm=)7BK}_pp%v#jVO-$G;$G@28 zzlxOu2M{Oryo}TKCXN}merJr^N&tjX-YQ%W#yoP(N@8EBUjPt$S}UK&c%ik@VTn(9 z9{LqLrH2L!bIQas;$ZP)^Ns~MMc6fixyD>@uSeKna&==j-nyDcOwOnMl-K-}u@F^l z=p}@J&FVX|D+*$=0#OuwuUZVw?l2}W;Cw}QC=BViS5!JAT(;&9Pw#O#zd+d5XH#;e zx^f{Tk6zS0F_WH?Dv;?kAf|aX_shG3n6BEzZ?aBZuo^lA!kkviFuUZ6#a4n1* z^uvYdCq#?m5D9ZqR`2HVke$fJ4$nJ+Ax(OPLF2By?RNNtF%N5Z&W7v-8mK1vO1EfO zIbh^K?wc5Jt@g3LnQMrjHC<#W3YXT?H}C&!D#y3>AZ!f!Bc1VUH@swt=mg2!oK;oV z^`$~hOrSOG<38L^|BmSaLcQ>S8-mOP@tq3vrv}b;67+I9iE}QTf>NHya9LUy@c}$v z*@&!q5-mzn{LnuI|M~PhdIYnD=e_%BBP%A46hh8mmuDdEbHhi27q^1%28uAK0Hl{VggB`*6#L{xQ|M+% z)SGZKiEvqAol%33weFv;fFd)4ipAAl!f0W@g_Yf1Lf|GWhT7v?4=cG^RWUQltP6S9 zj#VxmL-5VU5pQKCn;s1lM>YpJrnQCSw6*?=hDDs1x;N5{q|7+QvjX@o;#!+=FRq-M zbdW>~V`7yt84#sThGp;wQ7pN8AOEVoAgb|~FsyqWUZ7a?_#NVKbh)ydjA?K^dFF7P_CUhg3APNX9~aQvk#;AbPbO|aMb$iTe8 zJw371ul3ov26u*hiKASBE;hTWg7`SAP8d%QaI%H_@GTPt^|&{64fDT1g#-(hCWIKd zc;(8A>gOyG^?L^lU4rxo8UFvfQg}I^cLaCORN}SA`4XI~EYUd!t5B*QAXXOUuX)c0U9ZC?70OR3%%#y3h-a z+Hyi0UC+$N*`4{#LOH)NS~p~=yJDu!1gtN)OZ5bI)yIkp{V`6k;diMQlS8OO>h0^J zv@QgUH}c7O6_)C4Q6i6(VN`*A?7Sd%NwCYscbxLEkWm;DhY-zUPXeif9VA?YD4pd% zJKnHB_H2v${_|%HH*AQDJ zvn-e6e>9S-PI<^GYc-y94(;uw>TT%-*@NTo(3BHcb|ASJpQ6JR-`-EfUVxWzSGF-52qA1Q>+;9rS`ZQl-0#tLBmjn{^fa zA7E0D_6`{Eg(~hamk&3SGY*q8_pWq!d8`OmBnYcRntA=yYba0Q%-?lYU!DI*Kfh#E z{eXIvbm`0u1VR2v=ZD@1GX!=?_nb06Io#x&pfv+|-S07ayFGU);Zg}tH2O=ffw767 zTSt?0d#Za*FaeQxJ5-YVaGc-#g#n{OGt#VgS;*N0hTF1}O%c`D@26qY&zF0rV=0A4 zvu^m7CNltiavE4L<(U&BVzdYSfZjT!*Tb~h7^m2s75oLkMAHf?v0Dy>+?8+om8>!7 z3Y^tw>hbyL=qVxiGY#CB$=811$uo7ht}$La=6*SA8LF9w%$ z6)CU9+`>G1(o^mJtoF^qvQ`dCh@y-Z$L%63;s!IQAe;u*Y2TsV$2hAj02@$H#?4qn)l?ldC^v{ z1jlv@DEY6mv)ZkO7Qi&nvwS)OpM_e+6&h?w6#tOVvqAT~NNI8`oyXxYA#^c3&DiPQ zy=N{86e+KC_gr-QM0E;1fgY`WmH0H1oq^9lyw*}MeXpH@G`#sL^IH@OCHs!AlZn2v zHK`6G-?sjswqy2MGCCdrNn`{mi|2FvS#0ehR8H}In@I3vhEM6bR0|g#hLo6Xh&F>^&z`3Y@55DQ8If0m< z@Vdi~7!;~2v`Z=XkB-Bce?Ah+(azKL`I$xsOl3mYjCXZ*^()b&3j2_vo>`4Z9-F`$ zBkynOoaYN@dF;4x&}D9e03=XX%y&hYShmUmvvSMdj9Ex`QJ(nZ#xbT+1Lser5N$ac zfjc;F$fX$$f5`b=&urZbmxW|AzX73u%2O*$`1QK;v=LvABp!u7w(EX4N3o;ti-zw~j3{@RVRv z+z6-X66U}dmFht?pMK0KeoR8-S6(b^FMZJuypGSYfUIsTX6*(|P?L5T*k`B&uxxSS z-5dLWO^Xs8u${CN22Rf&@==-E@CTe480$oh9BG%eCo(0qBuVf)@8k`0sYm%p5QUb_gN?fJxnKaR@^VK z>=JSYn|3v=Mv}c$c;so|W@P^PbktGg>yD_*i#jies=26kg%a!gR5@3GB)H_zfj4~# zp82ZuS|AG`#qvW9Oga1!H#oZ2 zW{VN#az5haNd5WOpK>Vrb{&Gth&9PydA+@JXon0~YGhLD(T)c*-X$)oO=FRHJg@or z`CV=9rOYgcsS$ZEG@=^aRTmLnd3$pxtoPkZ zMi2*Niw0`RY)Nm`T9#P@I5FJvgmQVBm;y>q`b*%v9qLk>HM3{~NV$>)xc9`Wz;zj3 zKzK`g6*f7!B3&W`zu21#^>|K*0N0eO^+i)ExYfO-j<|LGqo3yYxa=c^zi_0^rWg*U zE-aV0jR10bXz!UkehxUx?aB)(i;b?GHXutOlF(j7X|@5h+WgMgG6jQkN4OfP45N9> zhjyQ2bPMtlISL_uUMkni^}QQyIP<5s>Qq%Xr^`3(ea=ANH@4`tXA2ZLs)Q8VZYOS_ z=QK`Pfe02Q!EPq8C#%(kpDmLX{*^iJSUZ&iHFL!{wT$UFi>EB~uS&|<9O5UC2rk56 z=pCJOwcEQvFQ+KbqR!FED>?f++tu^i(s)Lh0geK_4>mhc>{qM=*+`CT=TKgKhWFt$ zbyXkvSPIIN;w?mJW*n|9#(-t_|6{mc+-!YA`Q*p(1AyJTsa^$0Pe;>vY~Q8#454L! z92c5ygzWV?g`_yz$crDOcBOp^3AXJB z_pQu*9phGPev!C0IuoBc@+NSiXSrQ->8KjKf~J#CQJ#6gjw?J8MSn-q%-tPCiZKu4 z*@obwg!&p{cFZlSiuqaBJ|$81X6+8<5odPvQ!R1xrgOJLXxM|qxIalGuUxx)y8^of z@|(Z|=Jv-7F}6{_^H2t4h{6vdFLWqQ4RAj5BVoLe4li5EmF3KaJRQWAA6cO$Wc0wQ zBE}(t;t8BK?gnOf3KjBLC_En6Yo7mp9$8pd8BodBDH-Gmm>)Tx+mlD4w9m%7$u~L5 zny**&xi1%7Pbo>$G3_~|;Kp>c8c25VpR&TPE!cp5?X%On5<_fdJMXTKGx!*QY^_oN z$un!o;BPvSIzwb)w@R8;r8aW|drOVk?0>NlRc%Eg z@1yFaoM6AmV5HYSrZG}S4C@dc9iAs=HYUq!->w$Fb-A40&WY^Y%=W!N5WeRxRMhi; zf@;6rX1U=YX8Q7aic69jlNZTUtBzxInz8`2pL)o6%U}N0Uo~$s33dVY{&EK_mH2Eu z+$qas_hsZzCQvp%g4>i{AmtnUW6ZqS$*Y-uP8r@+i(KUn_r0q$qagRVB5BLv{sdKmG1lNj{pup%e?UOy^g-)yKGE_$Vq ze^pdX)JK%?OpQ+5m1hu{&d6juP(B6=bIkS~g^0nHW?AaElP&rUxegaDu3Fc*KMy_$ zbdkSAQs)GPUbb>ve{bed!?Z_H3sEm_ezhAmUv)Z7(-7k~oKaA~uzbOi2ZTOzh?fR4 zfQV_Zhnlc!76-+@n6Pkg`p<)3vFF3hQX}|CdAN7M4jwDtUoDylouOf`NJWxXUYFc@ zL0pt_Fn=~G&B?oU>A||8P^ziKah$a=Mf?zFu%3Ix=Wu|+fuxCKp8E*SGa_4eaMr&3 zLaPKb01=%VohZmf?&bF(u0%8jrjIX1J=T7E@$pf_MJ8j0Ygp48(JbqXs?ZKO8b_BL z;^VoC*yx)sb&XuVw#>#^S3tr+fhJ@Lv-osexvia(SBUs%{u+BpnH z{t8NN9z6oQDBsL#H~IG`sz_uT&64yb>k@B|qnerPU-lV_3kVPkUGaGQ!NKkHW?EtB0O0t$xw1YZ+UMBkG5M2>b7p>-O+Q=u&;aa7g zIO!pSNZ>76HBFE0AJs4{bRy6{rc~0)5HzW6xw}))+x;GUU{7^>quf`qqF}c$bCk%V z*ZI@uclHYXZf}2Cq?omoMC9m6eVW#JG?0A1;XaLZG?K?(r*ZI2iEN~a{r82z@|>+P zfi@d+hzmsTT*!w&ndNR&4#7A!3)A)AiTbXz)A^MRVIbX3*INAkA7QrNnGu~Z`Oq` zy5Yo!%H2{d&0b>DO#jy}$!<=q^{0PfJe2v<>@zefD_6IE%g49E#Fh$#8GL*ZYA8C$cdECX9%Lnhgvp{?iNSVth$NmHK$U#3K{lj8NZB+? zi-57YNh+7r-56oi^@el?_>*r*QF50OA?_mN!(Ta`c_cwlE1bs%QJH6vE+`tV?L9zs zq*`9?GZ7NUh8Z>K;dtg|XPtqM=AxpgNGZCtx5%8zs#$HlR1W)%$ISp0)b*wtO&7*m z_bgyEI9l#v>UF-Js^5k67t-+wHua<$5W!es@FpFf_4{XNLMSS*&zdvYqEy{%CDaE@ z55P<7jM{nYaoHwy0;w8&Ma#nmudp__Fn#qhd;9+ofx|QQz)qUlfP{}pOP&ZGSKyja z!MB^Z<|>OQkovNpKLz&_BS9RYI1q@2Eg+va5G$KR?WI z-2hK?&1Gb?+aE>Pptn(Uo(*vQP@0K37&pB;6ejSsw1SN?KH-$ufYz+g)|U}hKOVe0^nsW28O4PP5AGJwO@ z5`nVJvl;Q#Wu!($^th9=v)8%z&W^Z2PPb_h;)Y=b7$|k(wvVsBymeF<#J9DYl_UOa z82BY?6NtB`weMf2sT0F;*wMp?YfXS9s!$V?AP7U3X-qeP_VvDtZZM4u|axJNDy?5TvSzQVe1N=^zRy(jl|}f=CUa_bv!1QdElcDlL#ulh6@RQIOsVRfI?hMLGd| zSM=z4&i_5{z2knkW8AwxDB>opz4zL4%{Aw*h+`o-4nhxknhb%b!FgGv^Xp~P7!(JJ zsdP+nZA-!WC(5XtfA<5;gZp9;86AKocQ+e;c2 zc`A7F_0x&hqATxDjq=_~*F&Bj>ycJIIaY8m_@}mp29*-c=IO5jxxr2te*fs#4j9-;6pHSOm`cmP%GOhbw6CJiW707@tb&5fL}e*(n*hn_3aU-~Ck zMOIkUby;2a!1B-mvZeqa6PV5p1=+`Qh(FF{zyGf(`|Gy`poF}>cP%=Rle|eU;Q(hF znuHIW+&?4g@@Y)^o7FD@&7a$@9Ta_-5!(|f*)mpqXJfE#pb1ME>5sv&0p$47c&Sz- z%cIM0dZ;}*&oQ0R;kmtUL>2I)xdZ8k`3vlT>;!EdV_O`C+^R2WHJ0``hXqtj_A|!f z#p8*awRWLnUae!kYuD_IK2yD;ERC%|egN?QSnlnP%n-%@3A+n!mHu{5c zqwY~PWB!SA5D3e6w|du3zhWX2g;HR<@G^_^g{F{T$U zqQn{$I6Px&cgR5-?=Z*ssi+}B?`Et0`sO9jtMB|I%sWkzyn2_H; z5OBa!y*J9jF9xBQs8_cF;p9Fe>UXkVi6SxsAQAl6vG+W2-**jssF5NEA}DZr=9b$~ zx9-DY#f|-TKj#UR0oHiga{zuXKR&v1Y{0#;u4jD|v*h7B5XIpWW90ee=%Rf<-fi#A z1-@Ac|AEC(&@=OGgWeJm83vwgfNH5-ec9 zCJ56r0JL{+1zrPzlzaY;!mOta{`u#+AOUr5{V%f&h2Q-YuIV51?sZ^u{iY%ECGyBV zG3(cE;d?cFd~!!{z`d%D0MNrrJBCUa2ro%Z%A7*^K>|9D8?ds{q&Y6zr?p-WtVVi| zaY|ZI6b6uMLzbcVZwfTBzkXZ5x4eJ78|pQ_-kTv05-1-;`!P>0F7P^uM4B{!J{P2#FK9y|c_skczKz?BZ)bJ=wEG`U9z+9G?vU9@B%{JuU3j$xr`s=ts z9PX+_0BUs`6pzCV1NQ7f994Rv)nYgMC5o2Bzn?5Pe@}miN>*%X#2E=F-*%p$qN`1P zP#t#D(t7bEMS9|&pB=D|xd6su)e_@!L>*QRYICL(Wc>hDx(r3zs6}_bhdrkfz@Ptp zSDa`dQAe)+^HzcHGM)ct^rf8l{{ikG7{=e@|IP8Rmb-VP-kEfY z8p3+xfyNI3fNCv4o=qXO0R5Mdj=A+qD*4if>jK!aj~k`OwiH+}+In`Nu*QnzXp9sf+>i@)~$;N#Lg zDyah$pT1#Q`2_fq6ncN~PoOie{YMb&!tUY!@#5YL{g2t$m-z^Aku3pfd9>8P2B4!t zCb$CpRDQqanPTC`&w=0a_dv8~C9Bo6Nr|O#eLldq>MLi1d$7+-^XcPXeHH^TEJT)&NkM zBc|fa_Rmv0(_)z*w*GT`2qY2H1i6KJ?aepVsy!n)Vu11g@8f$>3oW?c?@ulM z08RVi^LIijz>qB{0sMK|)W6RI0b)Pz8)O261*70AVnC*A1h7aC`l=iuZ$6_DIef|JoPHjyv?7v}&m-0D_Jg#F(WAn-Bi^?V?80Qc5i%&PMo zh@c0arxA7y|G{X6K-O*neVhN79AGy7A41hj-D=^EB>RG(u8}jCx!Wm7mHtu@79?qs z_3?b~{!s->kJ{s-GPAzbM27 zh(^Ej91bN){=GM0zoz%OB9VE$(ncIjR+g|~Uy%4xJW?R{@KmI<>gjbjsoyDSqbudP zoNmgCoS|+Le?g?7p+Nw89V0ElxoL! zoN2~=92951-cWaCR`fC7Wru;%mNpGS%h)qnuGH1PV&jk=Wk&Ij$i^^J8u zEvnY!TWxEsRgqa72MRgnq(-*F2IzWn_ok@_Cry@^r2VdEd11Gy9L>rhzGB^PypPhF zQPpEPU-}wp;c52cTdU%QHG`#Yj(Wg&*M9`pt5$B#B%>&RmLvKUU)3a^S7d7aL~^`C z{_TgsA95vboH7)Iv8CY8am0P@SH1_u4KImi?AL2*w%0AsxzgN_sG!3 zf1tmb$r`$PX}EiblV$o)S$ED56T+f0J92yA!$FqTa-Ko8VO>u}k8#P7y~gRl;WLCC z9)oxjv#VSro%O<#o2Kw2r1O%0a-U(GL0_d3vCE>YK#-vW-BOSunX!CiiNIsKj>ff2 zCW;zS)nQDhEND7zov&EWu)}BbUpds_>*`@#P@2j{XPZ)RB~e^aGmtpAqy97P7QbUV znLnuE8QS4&rIel3LzH-yTp3KF1EiO~5A7qro)Smn#5idk2sxbOik~&&SeB{4fBk&#xi=S6vE~ci{p(NJ+90A;P(3)cvh39$QeyRp9p4JpU?!qG7Gg&TVaAVUbmAMUs{i2dge=py=e!I4a zQ(AwvA>P9*16kNu)d_~;aTHWOJZeR71z7*@_v$S|;7Psf;uWW2G zV3+66*(T%Oy;?w!X52)05uDfw6C=Fr3rM=fQ#u{=?a>$_zeOD_E_X$haMoDh9&B?Y zke|IO_~6H(7>0b(Y?-t4OHaR0+L5tJw-RIp^7g={T=x`+={phsu~`9kJiYjL$`97r zUz!wt7dUv2DyN!j+1EC(8eksKbbEZ*%^p1GAZ@ML1Gn*M%rlR%uFfxX` zcvOO^0sj-bVoGykd|x;AgJE`sbf-|$N0h6LsLu|Z(vQ}`ih=Los&9-E#jgeq7}Sbj`H>`}oZ>>%e2P}Tp>P}K8M&r8Ji+;fKrp|_ zS@-%yZu;-*L}%$D>;8()`pvffE>^+6Z#ugLB>@W9M=yFM^)xleVC%m~HA;v%;w>YV zQ%669mX#`MkB~+cJjPqBZn3?gB`c?NFZs{Wc9JXvv`o>!%~ z%tAmMssw7&;+q_}ik`=w85XOXUfoK%-oNRWU1CyQq+>2jQ?q#N zp$senIh$_XpX`|GHc&uTH_#%g40wL)K&Q$?^(s_P99e=Vc8Sc^(FoqHMDF+??xX2% z4%skY(H5?H8@vAlT&^Xf_ox1=p9>cTul*F953jbzpO8);PhAb}dmpSeRhW`S>(>rX zP7nS|Jd$<&wF)1zN4_9E*?Eq;N&IfpREhK&A?ceLYk4f$+#F`Lqi>R~o3;>VkKsPo z|L`EeGaHpSn!ACvNTJ#)2x-G>^rh06z(!c=gh zu#tIhyK0!e-4E*OQaE{}4TtedL>u>V8ei4m*)(MlRZdf!buI|);Koi%tvP*B|4^-B zG%)ammg}XVB|I8i$e@TwiGT&y1oyNxy0%5+S7w61T3}78vR6CQZm_7%s~x+e8N00A zRno6B*z%f~vG3fjt6D8Qj=R9LYgqb@lXuhk@00HA_*H0hxa5Mp12x~mC49e8htelz zTH{=H!nCn9m93;Ot0SaT6%kmo%@i#>zjI`GqjyTv{ZqM{iumpj{G>O|G7Z%WtBg_4W?Q&eEuxT+ z=gV1}T9qbeVYFF&gX#6!S5$~a)G~$!onkM*)Su)XExaS=F=bcGXT!}okShAz&$<0_ zw4FX?Tf+3k*Aomt#}o*Y}9Y zYUc(I&--E!1Mj`w&|G^;l$?R`#@S z5vq1xxq0v1g?ke2SfCNMNe0ELspdD}Nef}Ew1<6trfWo@?oX)-Dkn)(_N8K`u~ND# zb{aGXG$!yXNi$4Yl&Jj=817>aEwr#69L)V%26H;hpvQ>(Q zR~kN;(*ZxbR?;v7-D){CNi}xWP6N@&@QU_P-O1r^H2tF7*cOdgDQ34M6K+rr`(ZS+xL7imj-)vekR<#&X`&A?!n1gKc{x)EZnnnz(4+dypvU+OtE(eEw8($x6G7kr)>$(qow#*T;(;w-djABg6RpJi`awmwjI(treeMJ8B@e`9qpLUX!dy^2@qIhKbL( z*CY3WVha*;-M-dIt@id;^w$r81lQD6AsDiXT_Hs~OJ@uR=by9nDz|fLXcv<|1pB)c zI>ZkUlD%MmzCgi!PsN)>9vyJ&A_0hy8!+A*)KKJL!a&`F0&F=+ z6h|4r=Ng?%Oce&A?A}1zYW^cAA~a%ST`8;%U{jW`wT)F7KFn(GO&~O4L7lU#QKw(6 zJewync2(P)T4f;BD1NPun1eQ{UWQADpHl7M&Rym zB1;iWvM<6D=q^{l`@%%XIDt_yZJAT19C`glUWpf7Oz0Tw0PC&C(^* z#wz$CysFDr*ZS{%Bc1C4L~j~Mj_NUUwjN8NsICC5UsA|ov`R*;mYP)GN1*T>h?o`y z;&4dN|7-xQa}1wyQU39C+}^inwPOPt$)IZ34OC)8Z$*k`TB>@JIw)LfLC~GMdtR1< zn{IVcoK=8Ia=$(Cx>gQI`fuXV<@A%3FFOm zvjG=$&prIh_Wl>-;;UOz{ZprXVvc^ej z^~(*niFZ_ZpZ)~P;q==)rBuzQ) zt-;)xQwuiUpE&cltnrq?#ped!WWsdrsnBt}Wk;&Z z@uFL^!ViJ&4PFvp@C`c!`CvD-ryCzBluMPME_@ulJfQA9C3pHHyQD`k+;6&1cQiZq zU50_+01yO!0Fjl^a?cm8IzHa`Wlk5VQUWUw4_a?SRO7n}D;+b8Jm*#1rloosh4YkL z2M!Y(*Pl14Knrv#T89e+p>?H%GfJ5-)oNF}uIYmXXm@#>eo6a8C}KgH^T?e*j@6cNpD^vmi<=H7X`i^!rLSKMNas zPRB04s+2D{=;l&U#cS<1oxPnc@K``mEP*QZl4L|h@k}u`f6Zv zZwD^h{bn#ij*=*v>{ZRW>x0rq_NbJ_?ApY&)l$wND%5A()%#E;m@6jS#^F;2={x~< zts+^ni8bu=pt(AED%kBq#ONL0v;AY{^CJjo@y80C8rK0rEJkY80`9*4XufyEp}x`c zl$>=bZi z(w_fwmslK*KsZA(O|esv679iDv<$FOfe*mhINCYyM_Qh*-3ZAqZ`!^WXxNc->vv!p zQ=kWNj0?Fj|L~{yhIHjeK!W*k3K%YEgDCJ$rJ7CSRxSLH}dvoJCDG34J;NTVI8AhjQUB@v#PmPL@?a zm=6iM+f`=kyQvx;r?1V8570+YQri$2Kl$M93w=NB+KjFh&3sIYv}1WfPQhY} zT%Sa=S&=1%FOA|so<@?k*ij#EoG!sD63G1{gWvkw_(~0|h0|8+jI2#Vsjq|NN#k&>{f@)S{_ST&LozNWW@S^(tD$w*@OHC~1$h}c{USO-s zu1)vqJ(|!NLA*fblel}G_GAP6rJG>TiL^VeBWbYvbEUx|&X_Yk(?w4(QcQ1^L^YuX z2jIhx>^p>ah<>)E45qDp!@;*6<01vq%iW4ULCbjTZ$lBb(`!SxZm#+Zk#~rh^FMTd zK1j0A<@LauW(=Wv*|jv63m3hrFPt24o>PFUj2y8)wx~X_aT+b43hoGxj^OY14wx8u zCn-vP&b)?#EpL`8nv6jI>BHhl-zgvyP*m_WcVeg?ozFFJmkFp10;z9v^kzdja29T* z8F`Dv_R)~Sn0zCBK+XO{HK@Li{D|a`SfDt-!BuT`w^jrV^F(S;@0l%uuiZu}&~L8M z5hHKbTer0(H6kkczKJ@1y~|t}Gc#i`kU6MDe#~`A64drNyyl_!1$x#PKSMm>0%&X* zJa~Xlgng&^r?%jhO&nyWz-``kp3}n-dfq7AJWvIRoa?8(;Ya5FO7YMEribkM>gv7<#e9YNu8mLe3uRLPyC|bFe^lL5gFLO4SvCbLF6-BJCSY z_k8T6jh6ZUwU*tl?NabVsfo+ZP$53>YS^9LlHZN3k++u8aJw!rx z)OtS7_84dVyPPl2^y?ieRi4|*5|L%2VsRyPeg-=0lme>M=cTFe4(nz8B=XeC5I)lejMGFYQA9LUz8qAsM$U>XKv@MkE%5 zyESCbeRh_%cPI^gi_d2yK7c?v+afgvDq62~jL-k8kE}jeSL@xBtqkCPhS#XxQF=k| zpEFm5xuE9ovt5ct0Th%_2}NPjk!2a=54avx2`B)^$QOMCojY65aGx|N0}_E393kq2 zoMuHPHi!>Uh$aCcMu*m+a$g{hmIL>j%g;5O5R61|&k08#f|NDAl-d5Q)|eeb@u8$?h>NTEP@a!mD|u> zx$T9pQlWWmc+SaebJfWVX?>S&w!In8<{O3Q%~CWoov6vpOXY2%nT5Uah0GR zi=t^Q9*Ae!ZG+u`5#Ai(3J@E(H^MM;8D$BzF;U5(7a+y0U3Hz!gFMU+nrFyQ_) z9mI>ak8fdyFj)t5SOvddM$zUWdz?LNh=eiDeMpkxO^Dw8VCsNjU0Q90f}hVBA#+kH ziK1Pjsq>XbARGRF+NHnYU|>=B(?P!$z~T7*gqs2jh62`E0O^2RYpOvHf4~fU2|SGi z!Cqbd+A&HC6*0rVUF+TW)MaalqSPY3dl~gHccaN>a-J}e3WP^CfIJO>=IpA5_XxmU zFtK-?X-v9hA6cvBBDpbmwb8p-%cLvx=dRxi@#z??Zv4`S{ws^9KY7cqzh6E9neIeh zRwV74FBECVft_1P!(UOF>5OIhtPg#CYr&e+na*uUAW+m&f#ulD@FHlee#Gv zgJ@~b05Q&In%ei(CtD4D3e467`9X!6a%gi>49F-)*qZ|Cb5!s6b9HI~LetIzT}lyo z)$O{P#P}&6Wei&6bT#?36F^4azn#6w1XL5kU;T}*PU7E&J3VO9Nt`5Kqjv4-!R}p+$y$fQZs2EB? zJwRJQCBu+L8k-N}spSpc(w0&OTF`)R`~DQONFcrEtz6ZdG{Nqp3?X=zfF_>PrspE|)+$kuX~@W!|lEYu&N zmaWGiHub44-S-#0q=yGAQ(WWV{mx5mE9aSztw0m&r12g5KaFa2&p#svU1Wy<;FCs? z06_ilq}>LlB7;CA*g8qX{LtzeiDKyZjawGGjUqb`R z%nw7NyS)dbUs9BTaLza$i0C4`}=p29LBG;D)oX6QgxC#JjLyDPd#fwugufm41?_NP4L zI1B-d(QrU->@K$fby?>WK(4Wjo%+Yef>zd5>VP~03XU5L!R)yL0uJBeEknccAIHGk za`5k-gYrY^^*}ExSXFfLAVv6jR20ZvH)1V-d^)fW2*I?T2s&h5IM6AsQBC;n^^@hS znA2mgJz&Jdf+5*`dU<~F2LKUFe!pf@on*hIQ|;w5Lh8yu@->6q+bO{W4pE15hGBTK z=40d!SN%+ZXozyf@1XE!xI1YSeBtx=xYy(#9PSmZKyq@>D04FzkjOm`cuGxDObP*) zzZ)tLzKO%vwn2etb1zUYF$K1>rGPy@3Y(6usuHK@`ol3#DgH%%d-D%NK_fFyh&8O& z&6*8?Kp1tZPu2sA=McQkM~ShOV-)bv=nr7Qamqab0COTDxMaqlKj(DoOMxF^mH8Ui zKQnsz7YCJp->{eC|0OSFH&V$5_s{Pqd7J>^kC*FR27t^6Cf__=sP#z|*s2P<^HFy7 zXcqzDHJ|(JlynKCp1I9{`{PEjIqHVdN{EXCc*#ExZ3%uzrqwSyz2(cm&o!<9l{@DT zw8w4n#U>BcgYVK%Nzq(lI;SlQJa++qevsG9UkZc=)3W3Hrv(at!KP} zc-)TsmRc`Lk1!pI0b9sg#YX=hU^x9WTQ|dikewZMBzL{HiQYRFDjJN5-~y=J?= z1}9}0WCzj=b7VC3;2WueQE@`!hquFtg<_(91bc9%N zp*g2Mm96%i2ba|P_Pny_lIx+Ohl|@oXKnp6hz^_ipNOcX<&@X&On;{Qnd!1lK>q(a zX{f9jwj_WH9H$6*HwLj99D=NwK?`gNubFUYo|?!-gQe2g9!o-tgxB?ip2r1jmjP74 zy5F$3wLCj=yq|LfhYPi>9s9Xf-A$Df=Q-T}3TJDa(2y5TToj{idLN~Iqy$j`Q5Fr8 z;54EjI`Rsrc>*Ly29+AXsXNubu>pVPge0s50{G;alneQIq315RJ3t8N8mnbeoY3F}1x4ZTtFc35xKbl;#8^0X; zIE_qxT4c89iy$l>!$D_uS2r1pbaYBP%-HL+YMQhuJMJ67F2r(4O$Bw#!vVi%U>x^m}1P8h;T_VPs$F$Nr9o zrW~~Q$Hb+&h!r`0iG41FsJ*q3Pu%ufyfGKg>5D=J9~T^M!yyf>IMppA`UkBR35)(L zHI|v$2uyqUnQ83Ds<#bQeG2XArnGisrWVb(kZaR^m`Ofjq_PQUQ)~Hs^D4o z5{o)J_XN71yz0IKmAZHdk}iUZ)#+*KV@z@Bd^=JcB4_OmzjIUc5}GkM_Q%OX&vrK+ zbFGGj2!~A{&{SZ@?I!WU`7<@HYm|(lN1`~NSsp6(O5_*H)VYqQxgl9bTmeHh8 zmDJJgsk81rJ!FkdI%)qd+EB;Mj^lPOr18%MxOYe$yM?PMnorlRwca2yep)*HQ%d9e z4Ms@l;eYH(jzHvr|Hc}lAf$pvS2Rni!uOH*x%g^%^JKSqWxe#m)rNW7Y`Qy8yuekp ztrx!dFe}&pzyJSJDn?>okBIUR;%MYXPMuih@;)LHhu zG(?dObi=tybbMToSqYa8SrMa*SVU7dZ{2EVJ9AX73gW(Q{5oU>l< zx-m0RhkbD!YRDgim;^4Tl~bsG=VxgH#I~F-Edj93?e4ueqNMUt+1qYHtN+~kQ3L;1(EwlvUVI21_)AlXI{O0pkc~-U#BGhyN!x3EI%LJJLf6}qNeWH zsfCUTpQ05x{Z#&gAN8K7qnlMrZjG zLm(M?B$PIjZMW0Xft8^ z+zxGO5WbZ-JC8PZNHoY{R)zK|KmU|8Dq{YQv!9v~sMGo(u3WEG#m5Jsha6!1levEd zX=K0!@CQo%;&;t&QM2;80ZMrtsGYZW7@59qT4o5zpYs=JyWYeqC4c^SF#O~AW9J{i z!YBEbIa^Ou`}gkeRGFmZwvQ{NIh*V9A`qoB68(D36|?;wX8bXF{Y0oFGm`X(P>jkJ znCR2u_p*C@UzbZ@#fOoz-nP%B`uZToB^?ci2u-vn!9;LTjsA7$^=Ac(IDuWU7{4Vc zfrmUT3#&q#Vw~33(pE-aOF%xkD^dC6KCMD|=5+L>W^RAQp^YY69fTokhyTmN%*I0& z>6`A-WDA^V`xT>q=)#$=8fK8=h!l#ys|zcv@+?ys%__Rrl?N zTK|Um+@5n5`*x5@_Hzcv8NOPh=XYfa8a%HpVJ1X{^~^4soc2Fv?vEKREW@_j%rzA} zX_vs1k!~#FK7Ohatn0Q|-a+5`COO`n)*8M_)|^)kwQxN)j&#Ge6XOGbgjr#oxJSyM zN###=m$afS)%)Lt_EewGJ@-tPs87=z*tv3#mSV8-x0oag;XO$un=XDgNL~td|FZ5& zp66dCv^r+HxHjm5`7&X(UKa~raXUz17mq^oegbfnj4b6J#a*%Qn(t!`U+@ znR(}FAu|$1fzF-5&ojw{Q0(=n+pj)-^OO*+G716!*i{LL%vAJPt+LW)R ze~Vb!Pu8M#pK$J;NGVp>7m`<)F0KR;pK-8$$N5n=d2thMJH4iQh5o4~Nbndr*3D>} zEXI2Ce&~&_2VfF_8XQ@;IkkCb^QFA5aDnClmXwB#E%n!Q-O%uImKCtg?z~ z;tIbe4!}IoEYqPM-oug!CynphCP&oTn>w0?g-;!iXJ5#2@Q*MmG+I<;Ck%@7Sp#E0*uIt4H}`P6l#fvaR$?)qG-0lVewZ zd^fx~F5)6V!iO*cVP1%MwB=B5K@PkrVu-2xqSJW%GVJF27%#Oq1}gJL3Fn)I^`A7d zd+m+zD!$6#3LX}3npXN=gTzT(8g1{AwFisX`J!Qyv1fCGdCuI3Iu4np;M)>Yf$&-6 zCxfL;_eh8d1tK=$n2UCP(reo=-;rW!W@%`{u->quRDz*?4phG(+!uCQ;?O4g2J~1 z%LNucv);=Nh_O&V;hH7#q*0nY}SK`Y}D^-jt_$nT5PQcnC zRNNlSJF&4{alfK(A~1jX&=R(QG>2`l6u-ZvhMF9?hd@66ayhuqP^68OU)1Jfs9JJ! zd)y_2eiEXb$6i0BV|aTO=$9F5B)&+lX{a!%3oExI8M@@sRSboKFAY5* z@mPI%80Hy*}*xbI^ zafA!x74D(q?n=dJElA-%-2h>$~Z}vZ>I;aMF z`*rb+**A1%pXhkvz!~Pp>THAN5iee#j^xZKI1=K-M231VpwzRmP~1B0%0Y6rqk>KB zsfC9$BB$T7biKUt9;R-T645ywhg;sm!*dH1gxjwh__<9j5$|wFUFE)s-@p_<8oQEo zQi}$vRg7L_Q4I1QvtahqN2ME%Ii?6V6QjdAAG7UR+I~(snr2_%dL;qLc0KS)kF6$t zvv9LwFpJ+wUk9a6^*_OuWh9DEm$k5jgI{&&uQI%rupw&4F-3l*EF6z*6 z@DJWUBdFFkOIx<{&U(}eQE@H4sa%@=K;-)B)JI3RcJphOna26_gO*|%=fY6?f863^ zr77#Ctg8cbPm?5&t?7E8 z2dfC2N}M%EaLrgn2HfNmT9_>Vo1$KA?^sl~d8MtX-Uk)k;XslbqV;$Pj|lE5`HD}w z%S+T~a7&!91><Hw;hMr)FN;2MTCga0Gn!W%EB z?(MePW}4Z!0&Gd_05#h!0&bhm)||ylSqiwBLVZWN(}MU#Z=s&e^d}&kB4|FhmnA3K zuJ`E^4GY?1F|XpVV`)Kk-8qcIm(csV&Qqfzu8V<~Rh5kT5Mf+z3S7Lu!BboMejg5qo+l=Hi|a# z!w$~;TcyaIU7-=CuAI3Cs9{_q>}o3^vlv?FaGJ#%vDu#|)@Q_}BdZyVdG5<4cw|EZ z6>PcK;x<~q%Y-V7>G)pkJFDZ2v>-IYe)THZ z3pe4B(`5PTmEA*Dn7g$e-xX{`$_oG{mj~N(0ke%)h@=AID)L^|rHm^JCr;= z&^tfOaX#*?aqH2@ra`cRS|IqJ3SZWp#@;d z`Of>q>Imk`tM|`Bwl*5_Pw1!!yrP@8uJ177)Y+kH&n|3<%U>-b@3`D+JB)-?s+Y(4x1Z<;n(5{Q>AJl`XW7edWI$_mTu`7;h7-5#2`b~*dtAVS)tKf ztRh{p|JeZ3%XyE^!_iKmPBwuY#2_BjQ=kBWp4QQ8ZNOJ+JD6ioi%>iQ4s*Tw!)wyA zEv4C6YpKL-k{aJ3K9g%eNA7&>9YwnVJu2u5i``wMgO`taM60-x@5dg6IjR&*7hr^k zm^KaV8C)x+xs8jjUacOxG+Nflad}e@W*wl=m2DnSH}%2xkW05 zU-&T9A$m+}dy~(iugBYP5PbJyTK5duQ(M_|hYn2oBwBHXX=J^#)*I~zR&}+@pSE|{ zuU?g8JtS~qobNNc>NsCQpfef|e|g|ng#ZFMlni+8prq>bCiEDG)4%CyJCXKBzc>1` zh2`04U%{HfK4c4(Py2Ot&>GzwIki7n6sBymdh6a3)=?RzZgtU>FrV0?17l3MW6363 z_JZ1Ie&Z&oq{e{oVa78yZNttsf@!AMYh+#>mcs8g=y+MeoekMNfL=1z+L7AnPm_QT z_n5vq!En^Lp56IP=1lgYoH!H>~j9(g5F#}lC~nty3fQP{Po3Rt&9J7=A)^GYca z*HKTQv;Bzm5j1~`8lBEPr{^Zo1H@<QZ2JL4!@(#v~6K4l=ctEU? z&bmL7aWi;f2EKX$n-{60K;Hqy?$%xw^6FDzr@)zJe9(1ONI-@fb*TusndF)`H6w5_9} z!{T`0HYKGamS1N9$vzrU@X+ihgWv*jY6MS*n|ZuT&VQ~X|&PvYlY%E zFR7iobULOZ_)IGVWoYJ|B9;Z2dRI(le0nQ+{CppH@gHfgT-mRQkKI0t=<%g17q|1~ z-7?lUou4U?cST*#WK0l5Xve!b+DM$lDKADYovzb5c`uYj3*F82mDRY z^;{C%BoT;$R3_(EoRiY#A!{do9;l4op{nlu)C;P{T1@Zbpe=RKiuy)9RK-mh+YV9p zN+Wn4O@SP(DVr>fxtpDe_QzI(nP94dw@i^gH2OrwEgU}E!U1`OCD-gTHC)W-_8T9w z+fU{kr>#m!rq9aqT9oz&EwK|{j(NL`WXPsO+Lunf)GLlMvO>Kp=@uJcQr4{QkmzCR zcEXlwcUlrq)C9KV%Qi=o^{uatFQc_yOi3Rwot6pyS!GaWfvW7%l~N9d=(>|7dD5L_ z3SK{&bael^*@qx1=;sUpTFM-X`gVczb+?E{bftn`3Fc8?M|9~k_ok<`qWsE9i8pQpJ_(j{JT}f}1X2iof?@^yqAuD_f?sUt`A` z#JaaW|F?qld`40Jdr7p1P&cW67oJtW-{Q(+az{2$pT^Oa+HhrUt|EfH{e4n9PP=xDbA^^P-Bf#eo{0`XX{;%YL?MvZNw?9hBD~up4c#7Jp*?xr!glyg6q5zi5L|gnJREZ zVo74d#{I^wK=rh9cWQ?ge}RJSJ13|sTw|DdJGK4rk}@pDsUduM`?Q>X#R%-PmV;$` z1ke?JLzeS+4(4)`3r;zxqHz;&Q{5Cd`6S?2FN!>aqjD1!;eQXnw^GK zqF(P-7H+)7gc;1;NKe;1$*_4dJ4gxV7>q7t+)$hHac|$0cg;7Jy2Z~kddW+Exzd%c zuOnE!Y5Gy0Wr%)H>41!fksgNw1y84>TS#z&4_FqCbm-~|srOy><#o_%p!N32{l@B( z``(~BXZN_-1s#&*l9s#^Z$oBCg0PvYgHN|3%TkEf$Ow!Pj!1vW7HpL z!yKwwY~h0~B`^53gooa)MQxD!OTP=k$4P$qI*Gc5IqA)=xNbWqrv6NA7^X~EFK@|) zYS2^BVO%Ia`{jcMhfw~rL*;hoUtoxfe(;j2Mr4`oOa?owuD=~mU{X3N@cDkLBhSXc%4Tn29E^c%mJWY?$pz z#RT7hh8U&45Y0S@Wz&R}?Rr1pD8Mv7*6g%Tj$j!-ZhOa}(50rEsO90)6!&&^Agt!{ zK>MaNjcMaRhr4YS`NC-8%>?b2Jk8FBJF0i)zTlEU(_t_sY3hKuU%d;d`U)e=Y)z~Xii<9rhAZG4kr#*FFYaW#3Q&^jzYh^p2sFjHl(L^ zF)4lG8~1LZMdVe%@al$~Mh%hAGB6;mG$ecLLK{(}<&(mcDkAtzr%F!pT4+ z;){i{+TlH?IzNZ;KHb9|%!_4qOIk%-3(*V5)y6iNj$&di>3+KGvt;0MyN2zD4(}?_ zqQQ)~@x%amn0$@6eZrIUnuq@C2UI7eOF+Ijuu4qfYB}w0Xm%iAaqCc8=*r|eR6vvH zy&;y&RQ@1zi@I{`AqHZi`m1O3*w=2i<`mN?u2e>C`)+%#UeLL^Ot3)63lKhwOsobHU& zdK+Pz(sz(7<*CPWsqmHJM{nrbnA82x7rh&+cGVXaC66vf>wBtgBEuL%p82`#IUG4Vzm-AA6-!n_Td9u)8?$-E@*Z+B*?fvw=?|i{I z8#A-4bFFn8$A0{F3EqbLeY+SAM-X=drZqo(Yd*V3(p24c`xt1R5;^c%rX7#z8`K-y zlL0I9V(KcM*GFxZoGLw~JuS>ULhyn18U8&Ik~ zDL}B{O9e4dYFE%dQ@&I$D)&w?=jWxy{ot6B9NU_D>>dr6JdKapaTK-$Zfq1V+C**~ zE}FGKUBOc~* z=N|x_hd2djdUDbdJL_Fc2Q;MMy?+@&O+I@SH2RkvtN+TS;`Y+7;E`3-S-tFKJ}xGE zMt5b#3>lbZ*CGnK77A;b{dI?3p{m2%i>v(x=#1*0ipGI9NF~K%R}OcMZNkKLM$ni) zdiB|*7o@^r2t76f+^zHV8Ub^}-}L}1uUGC*w*3E~=JaNy^<@I~P-R#7U>SIz(dW)_ zq!*T)Y|N+s^ut~5p8K(3*Fnn}Pu~nNN>&a|14;%!gwkw4;CC+jhhn1OO!c3A_OCB0 z#6W%S9-jG#i1Qy%)8%wmmN?^+k_4TFtuXZ~Cj8*jvK$zimiae+6d-548=MvQCJF8( zFaHlB#zljJisx-mGN5%60D8P=1Z=)tO3H%m09fAT$X;Tm0G&}e0EnCfoX4$1-M5JB z`SXj5tHL>JyIzir1X+g(0zERV|IvfoD>EJ82RsV*umH;Jug5*OJ!aP7>6^&wpoYua z^-|XS=ms$2{sF$|WcQQ^Fz&a5;@@7{z%TrZ4FkCY+IQQWwFR(Mhk&$82T*P`0Gu7T z?*&xrJD}B!VvQgH)HRo;_xXi|m4Mm$4A8Y@+ZHLxS^w%7nDu|X{=feqH3*<{efpEi z26P*LAHKul*+3pIJOIGtzaOx_zzqN63fX@q$v+oi|G!`HtDh?Lob}P8`?Lag&>&s6 zu`Y|NY_YH=9aje!%9 zs{5O2?wi+$d!&x?3;q$ZfcE+Rs%>~y>U0946^{FKh4V1_k-xf%#qYbTzoCZB=-Lgt zp}s#M8>w+?lyT!29DP@fG6NlhWRrI#UzH-gB6B1eGkLLq)Gvq zNC1Sq9tC6o6Mzh$V!2twu+2fnZku*8>FnCT@d4?fdWk$^dG+nB@UCqW)X0rl)YSIV z6X7P(-UPvbv(j3gN%V{2Dm&=5mlhZ2BW~R#^BUXIL_tlZru=F|8GZaVvs%Ec* z=T!93ShB@mCv=WSa$ptY3)uq#6vYd(?OdvtD)pQfU+7giUY_g9<5*9qtW_KyV?NzKosN3w{tRcvSQ(4)^1)hRxpzppD5Pu)WDwjE!_E$2sZiH&)>LKN=uq;H= zw-R;rM#!UEQns=Q{!?WSi7fsus^03kp@xsVTVH&D4b{r%h%CQ7|90Osdsd_Y>7Ad4 z5aD^)(rsgg*Lmy7V+(yKh@0$K;XSREhP(ntRt5MSX|=FUDz+{ff^Uj7`-~`KfL9IVa1<;M~0JIMn zib#^mYndb(n-&&kDzKqn*)ztmc1!s{UnPSLq@DEes@3gKMWF2bTpk-){vG?6 zba|PCm;*lQz69&48g*OO|1O%(Mij@vrZPrOeQThOzr~ZXNJ+JtxB7!RW~1ITL)6Z6 z+@`GK#KA0vRMG4@h)wHhpG~>zlWFD_^DF`VnA=*ec<%`De>w#>mjP~Ahwmf@o|372 zdSj6oe)}xR(A#+-TJUS%t;Ck&S&y7eqT=NxX-og9xg)gTKnH$mO*O(&>&d8Z9GkiU z&!JEF1-rYg^v8vP2r&2;#}!hO!1_{QZ%mKujx!}OJAC*7>~ z*T;tnBak-Iko(kD4UE%GKMJ!e`?gKTj-w@-r+<9);U+(MoC+^ zqaf2c`-Zst%g<)!;W~T%slUtI^iEQ7szEehppFfj$Z&r@mT%4b|t&&YjgT$?YomjwSRYeqN5H5tn$1X9rG~!+r z#1dQ8+w{x8*>k_JC{5FG6dkp3YcA$)$CEmk2Iu2o6;?8kdi7H^M|?9~iJwq9u#n+iZTiFllEpVkc(IV0~GDA9G&ECe?3c&+bgte#Qc0-fyT##p62 z6?fDp?2Db+%GZ0Fe?8kMXJoH>&|KKmsFDD8EK-$9h);2#qv+6B!Jc5B9N(!Wp-^B9 zDgl;JIM8gtsfM=Ab6^Ly!~b-{13O}x2e4sZlFcqX5DO~#?E#e8s_P{Zan=((xmu1O z8NcKl4_4I%NSuj+R-ZF^vSnl)X_noJXR_kZji-7cpMCX8bAS~6#dM4J>+MFNV1BjotD=S%we*;om_m?xR+W_ zqA6(ISM5DsGmHqd60<0VIi%|O0gT6l{P);5ZP?hwn&GPW)0EdL+vU>-$*P>dPWi8+ z#LoX))V{0C(F71={MmAvMc)c%OmwfRpUsbO&H2gpFHYX=X|B8A?b< z&|iJY*u*;^)TSi5$w%|-ova5bXjPAZgtmmz(4!>0H3wgw%7eL?~( zKwQf=Lz&2LepP<~n6|BlgXUri$0xn&x{HVmi!0`2{XzPA4!A(~NqFJ#UgOJNfU5%C zAfgdn91@c%W=c7ZL{c0}vFxCUN-ieV zCzK#RsNbJ+=Z@E7&=CMU9GeE1;C}^e;$D0JTlOq2!0+;`3!qnPH=>yp%fbP_-rk?U zGPM5{Xw!4kK)Ymp@>3MaylX41697cgQaR7085`(9K*%pLG!MH8V5k7W$*(I^7e0XU zKrTS#=2dZ})|LO zUi(>Nx^a_eHs884Dee}E-_THff&I;fG<+Ve@%4f65xB7R$}DXeqPq`~mxZWwYEQ++ ziWLc`^rj}NP9mbYmf|t+`dZ((VayMOsd%j^*O^o{JDPAr?pe~{zqB&kzvr&L z5j09wO$LgXc|#g`#u`8zOvzdG6c#05q%rh7IuPP$RKj%!GyMEY_46wEp=Lwupi0vI z&J&TCn4!tBcgcme04}J65boWtxQ5OJV&YNiDhJv8!Q***F7Z=s51PzpXv_5R*L3!_ z=olQZ921xZXlFSf_02iLx5_r%0FCZejy^}dC8ce`dulcL%1UCUyyq{dH2+AMW_wW9*Tegart8@;M*XmtY+wT4*{D1gXTi4CsA zn|+_g7OOGfL?2go=H3ga{dLxT zFo;l}E6tf`^XcPnDNSCQ=f?nwdi}p@od20L_|W4Ef+ZAR7XpZqbt?(h0P=LcD;x;t zy`;T?POYK`^0KixTYB2MU7;Z3muW9H^%%Yx+VD4b?e!-wx60;8>T3<=s%#gq1w}W# zH8OXor+4Vg4~O0V+#o@1$gYTWP;3MlTXynm`E^Pdo%<Y&o~0N!EDGCtr%@1A(sn2|@iXIcoH`4dZ@)eMRp$-vn?=Vz(LmVA=oBn@^%I zOWwh5GF|{$M4Ag(X-$y{E40-&*;q#>+8<7&j!aLytGbR%aJfYDsI+|f2B3MC=9^Bf zIQ1-?b>orhD7R-5Rcsrtrpi1OsjfW0+etw818hkEx*?SZigscDSYe(b_K2<`ug2%) zx;BT-UGF5IOxNmCspV=vn&8FJFd(Z(O?>gxp#tC(dM@%MRT9DGGnpk#6Ru(3}n(KGdl~%Rq7H4mI zVdQziJFdddZ6SHxn&wH5eq!7!jW#E=p`zmhaofT@Q_8Mm)$eQi*}1a^6dRN)S0n1g z`CE_6EPe!fnk4WqQ4=>V7)zgSQiF+dUjJw@_te?eX%rVd&AH_hAFB1NLT_(0&r}!a zz+Gtbjm;KzlHR6^c~m|A%>FI6vSRtD^`hPzb8V*_{;FW0H@lcRu*O|A0R2xi8d?cN zO907x8D@5wS$P@BnVvuZ+UNZn!aYn&kmj2YfZY-o+w|eBV*n<{;>~jQC0FR$a|2ct z_sv$FwPuyhs7bgB088W8o@3QRw?cohdRWoaKc#~umd~FQ%_$ogOf>3VD3f0<L?NL(P>nS_>>M()7NvZ(0;i7>28X2{&@Bl3b#*} z$-VL(DIh*E)^R)*#Wsh&?%YfF)ssK-bwTg?8x6&S6x`O?pNx#3m5L^48|e3Ph&NAi z3?Zg^*3NNFlK(Fd?N345>d-Hi{JDb9&=d`PQ%_sY0f3j)p(`>*Zo^Dg-)w+8YmFOjp*5Yj7pEav8 zVpdXeFy36$IS|i*SuE@Dp9+Md^Eh zb*&Y&tD2v%SEJ%ahCYPoU)+FgfR6*CY}dlRAG_FT=xz1Gx7Mo>K2e)rE!~0%h2thT z8?IVWtEHN0Y<;?5-#Dc01lNLB4p&bad8eqiEPHa5>eNO-d%?r;eV?zN24FsV0xdoJ zCB$`y8rI9K^?$NMe*TvQ>i;`nxY>m1&V#33LCRm1(PuzM3v9)VU@mNQY9YlO85NgO zET)|^_+@H>vyW(G)WBYA+PQ)Moz`5hWd*-}?5!0Wy;z+c*k7#D-s!c{baBcT>aHcV zKJ(d&M8ROAa+<0aCvtc=EM;5|E! z%FV3IvI1UJvAw9`Va{B0!DHVGrgK)sja7$v@$bDy#<3;QL)~o> zi@wYOxfNM-YHKSjyH-pn9>-bmPs$PY3IHV^9;%ZE{_j|3NneV*H2%h-Ok+(LN49Ry z`w;msDlM3SUF!qm163NNLn#sLeA&jb_eR^%y2np=%w{&UHiG!Glon1g`18ZPqp4$) zYJer!P}4WQ&XZ`Mw|sPaHmg-+oONkA@Rk2uxr35|MWORA*EP)o&fny=H)mdnP|D)FXM5ZpRpH(i+ zMR{KbZI$Q3S?BhHaA?Z&6h%4)Gx34Ec?q&bcc1z7YE1hJLY`kLM(X3->{WbJ!Nwj;uJx5)097zI2 zpNv7VhMS*&QZno0&*Z?b^K5*qepK$>LSe9;oVbCt#l{|i>&|v7?oxI9Ms)ZqPL;SV zRRi02LhJI)h+Bk83c(r}1d-%8u$hn7k{LfaqGx;TkX#?k|7S4oTL9%oHbu}CJWI`2cJ8ss>*mNI z(K6N~Kom<5aIldL2q)%Y_bQd?Eah_uBG(8sew`H7ipT?KtSRy${W@myIR*Wv9R8mk z7&{n9H6I&jEWFMC_;{2e>CIl5Zi&}p&9vWl<+m!#MB>|EzMlD?W!ki-d|Mh1`~iaV z-S8V%IHA=*n4? zi;<;+KmVa45*g;y(xxczCRQWRSyE~?E1@&+Sc9=@rQ>6sRg9TWibh1Sj_t?Zd*frG z8XC?CxUIEY6Zom+Kx5&0;f!?pFEZoK(>d=OqR*^``|*v4eN*B01GA=LEtKJH0!F#@~X9DdOsS(yvMaK~c^tz3=##`SWew zAKWQ*Nye9HM`5f!15L9Fhx|s}Rogtx?7Yon;qgKj#^z6&y~0fScK3OGf@`4Z)(mbE z=8sw`nkV>gvhts-e=Rj>rM>5Hu<0j09_3kD8N&~B`dwUw^j3RVfz)F`fXb5(ZV zJJVjatTnIQD6`UVAFcAWj=bfCAF`H0mtiyme!@m(cgHr(V821%H7d|f=?F24>0I1w zZ>hh_r=x%*wTNw#)CxJTUmSi`8tJIF^12+LUSb`ot}ZPv`F=`HbMD|?aYQ~R{b3jl z{YQ`s{L85gS3q-s8}l*(0HJA|Uk6z{uC*VA(1H4*J}+0e>^*$coRuGt=lhaahqal0RRHnDXa(k&Tn_sB-teZnt}ajRRaJdg_RQzB*H^h?CqA?7 z5j84`wp1FDd=!bj@c1xM>F?10Yu5i;a}3FGQks^q18e@Wqp_Vp2yMhy<0q55=Y@7c z5j!H2E~YOkAjn$xtC3D!YUeDWg;%9XDM^gd%$y_`sfNVq)D#PCag0-Zu8iKxGNtxA zDErsq^@k62-9Ck4l?2y}e~fNlsU*2(8^9X^xe1n%|cAs0OnuGg7Nd@kBQVJh{uIpM5MfbKtPpw$EHe`2?X+`C7+8Yb5 z1+54qeV6^3G7>9)z&$AT0?xIMzHYtzrR#QjQ<}i9v6|M!XO7d+?Rzy>Jjn42GDB6X zv>yGD!2kp9HztTKw+1lU$h_0e*@j*8rB&?lT~OL+Jx~kWMK@ulpZbQ>Y;4tya)5I4 z?r2G|s(OZ9{F1Uw-bNnwALvj13jyThJ3!qr)!~h%^ifB*BzTxtuZ&R8}gAz_0Yto7rd+YoKI6b&_M6+ zQEjLdgb&jwbp#E4;?B|5G|B>-ZS93x#0vXvi4^G{I#~vVd1GtZre5nqtj7f&`SB|L zJR?}Gr@x~;_h5RxEmj)kW!pY~PT%y|CiL^J+(AM{VZn@qiR`jq1*vhzjc`RFIc zJw0Z!I^n8}gX86cknb0aQ#g6657zXzyw|9$f2g(dtS-r6TxZ;xd&?qaf1?`M77uN` zMPU!(P)(mqHlEfi1M|Y-ojv&U?(tq87Ru`T=WHrjkC4DA%@YjS4*x)ddRltw{k$QrueaLGOREc z3S7{{pAE6t9SY*QvFQ-t+wj)+ki%I-y?I5_k0QIx=$^r(O}+aE zi*W&+QP%q+Pn{~+0zGO^j04=d_G+~7C<^^w@6^(Kh@+M= zlrU5_&wFyXQ9a1yiX9G!Wjt$Al(mS@C$sBgEXk2Zf0zCVjAZ%se{=!=8c9t-MKk&# zwX^)Z>MQvqR`TTdyVWM`O5Xg{FWP;o{a=!-=OtDehumZfapsKpaKS=)rZKmiyK{=} zrY`8SJP*f_-YHbLeQK>z3#lqB(drIw-TW9zU3FfVRk&@f8Z!Q|ZGPm}+ny2~Uhb2K zFo=#_)$cRiwyoZdXXSHF=7Nfgdhns8EIZwVG-^fw#q#Kn3nB>gK>V`ir}if^23+v{ zQvwBnGASuQrwJ$jL?*!J`}0uz@8|q;3Ha*A9Q2=5?!PVqFL?LAfB#=kq}}|3y7|{d z00|fLM@aKOE?YeR?;HEq6MT$+ikAPn2m&PlrQ82;;qM<5|2xtD_3Z!GZ(AU}ZmTxD zwytj3<>CyR@BNV;vah{E<@t^x=-j8JNWn)B zAe+|Z?N&DXXB&H$_RqAk3Cz45=ly#Zt;@1E@Ta^*EN7$}LbyCKA}gMeL`6u^Sv z?oX94nvIV+Pkf%9w)LGZQf&7IWJ3>?5ll!qBuy%wxm8FCwKY8VJ&yNP#R{$TeV4A9 zans9ws`zaiz~;GBJq^A6PyXtkS6+Akng{~GXoOT(-vO@&aJhl+&RUUiDSI7hkXBlA9ej_6MH3`u$*OkWh2-**PMMdjpc z75Cr(Vs+CmiHl=p;iTW=n3_;J_6WaSefDxLRF=uzX zP}2QSHZrJmf2W?k;;_-hiI%6{Vvmnlu|5^|X8U}VaS5W`q}v|4m*_Of!ospFGP2c( zvlD*dL{U$~;CotnqQyrK)gguS&36Ko3jNu!^8=#`4bENw*tw~2H&jgGXztp9&6g2| z^KF9T@~SGWbD}ofL(sH-Purt?yETrC0hTp8S0l9n)WB_DoaA~_;m4sH5f@FU3z zaOV>HzY6iZDt^WlQsHLVaSt#0(F_oU)bJ+j52h(HIyT|%Kf&^EQx)s!tuyO={mvs( zQ?dke2=_-8)~Ccyp7=32oF*wQU!b2JJ8xaMMx1_^y-P2Vez-olvL~h~KMjAOr!bV# z+qM9S)oy$VQO2tb!m9OW7In_+c-k8&Papa|1($zEtN!Gvk6E}s(4^drQ<{Yq$3q{$ zlWQN5^EBapo@(O2k9l*7ExtJqXvlha3mSr5R7?=wxttu{pWUW@dKlf~90lhvzz z&;H`jeqGaxw$*zvLU5$%^oXDGVms6&Q9Bj512_Tvk;kG&765npyj8owc`}@O&NQxb zhjw*Dn%k(>B`<^e5y4=!nu#VY39uio`eI^0n0-@ zINa*8fA|aWI?Lfz!VafwMnn4nuY}B=f%pb{hmdtAyM1l*l7NAmyNpc;eKA7@J zG8CK6*(zu%`xY7R34S6^QygOVs$&D@It2Fc7qCmkoa##7u&1e|%S<*WVN`u(bmF$S zrThXoHd~C|LT_n)aWxo7h}-gh(-@~R{VdW@ytN93k*_uq8I_Q74t?olzvu;~F}ZLY z*BR}+vabp%1!j)xf6j3ir%iL^@+4)xDMaJUU;^BS@h$=Ar)A#!xVDo*^F#zjdsB8c z+qLfJ&VKfAW+&Ue+`(G3)rBrC{EZ;wwYnQVlXI*xNw?ejw+Fh>ZRUc#hl6Jhb*rIT z;ZUKi20tW%d9^BB@1)&XYX>Ziu3!db^Uofg1Pl5(yO3%JICg!d3w+rpnE zs7ZyzL`2pJK~Ax?CAR{-x+a;fG+(0M3ZEaHY!nY0o$pe5BHPJ9!UdG=Ca(-25z=-7 zw5%g-j|jv8!AM!yV=ffn>n&dkJ*%z10P%LZ({O@=!ghaO<53dCM1dhL|=bG0kquZN99T zv00h#3LCu7Ku=c8dNmX3Gta4DiE+%;9@PDMpHEV{N`Bj~G^&mU&(;T5MYOZb$q%cG zImdA}IYlvda`x1fC0Fnr9@i@?4V39~zW*TL;?*YCgH3i2bfu#qDlj({t+anmK}}oS0Y-5t%fn!eGn$e3uR# z;vWacr2g0wf4OY(qM{hW*L~J)VlKQCk2_QtoHn?9MRg{$ox^v`)Rd@!&ePMTW`+)QaMYxP-B4m*U^(9>hN`gEs2hIjPlF1}bvRl$c=yl`ck2kAOZh_9U zhD*jw1X~_6P7iqc$%IoIH;6&IWIfL4fddUuB0|t^?Yt`=FRyewm(d}yvdvH| zt?C+=(d9%GxsZb?P-aC$bA4qo_hF&k-*{i6l6xVr-J;_&M}rc5!5gnM$dr1D(Rt-e z3F~alMOCH{-P9{mn?wG3V?HX!YZxcptt6)1=EO+(>yzL6;03Z|1|i0=O%YvqzQj^s z?Zvec+`Nc=I>Q*RjWzaq*TY}TZ=gt>i$YguR7y<$8dH?xLzdyj*pGIv{10p^%)vEv z@O3{^`c~x2)tg41JnQTRV9zLKjW69fuPVM9gtpfno--d;St5pVwO`efa?(t_48ATs z+NY@!tUMN(vOl}`$_ZEFIzm3qVl{)bh_!E^*<=x9ggg&FY+&yXe(X#BOZo+kI!a@? z+ZoH`GjW2DWzY+NBxAjF-fe{M)fodiSoLYgZV$2PhgPWiN2*z0ZdF3h^W({Qsy{CCiqNiZ~fsqx|#A!Nko&)hG?F`YjgvKYcJnt2sM z*JrjWFES=D15Fv{Cb|=f&ZCNZt~Q-gB;zOAkxf)VHlz(_h;9VO?Nn0N)VYl}?aB58hL^YIj*9 zc^b}VOtp^C>XGNk&A8`mnB&@z(^L)9kDIqC66D7s?|=|E|BuKE$bCIAiNR|!dWNIjz{Na!5hUqPgDg;o#~4mcidhDw~K7jR?I z5*OcRefAV<_Xb3lA?)na@#diIM%>m93=~_pi}g4bCd#>HN87mQK;J|kih~~H8~p-~ z7Np1D@)AI4B$7^#!A0jeYknz>64tRDC7=gd8;iFB>kH6`)Oaa*J-PqAD~|q8ww%&hgGy$A$B@ zn!e068LtFi^esla_rVS`v%P7%c7i-7WT@SZicFiL5pwUw0w6Kqm$$~S;Eu&ouXb>> zfP&!$x)|>lmK;Hwws-feq7-%*L*VUemL;tX?@FLN8P}Zo}mrI*i;?cywHK= z#~eb7ZCE@(uU@$ef}51Yh`8Vy|W7AEOAf|ONCOyTc7A@F)FI5@l5o-QMu>a?&;2q zHG2@UQI)pGYqvZ_HwUBW_O*Azxerw=#7whUW3cZy$=2o3dC^D7e3d+<$J@hb1ud#1 zf8ez+KmP)^xZJ&WRW`{=`C*j{gPHzdRUAch%R~ zDYXE04@ZTZL9y?tGuovRgI}4#k71FcA7_njcI>g7)1+q@^dIi<@)VPPm=?5Z6ccRQ zxdn;(@fDX@JwAjv7?n_bn`}QtMah1r*la*k9Zz4*hNe_p8ZjEg(^mSn;XQT6NMYJj zrU_-Awx0F#w1-Jqa7gQ5T(>a(eO&x6^oxbY_vYP}dLK_zkz!%E=WPxhUU!gBRYz;d z$fauf_Q5NKTv!i^Qj*gq>2+b4*00Vrh`6+tz9vWDL=u`Z2A^70I#T;YXq5V@-F7Ku%;k0M|bD zf&^d8mJC!t45XZ><8h3=WZn8|58a-K=BaP| zd^{X&R!#w%LYK={ za}_g_Q!hjti^lhY%%cSEcs&Qy7w_*3f2RI4%P^dpnPgTtgk2|;y3JxK{Ckjj%37z9 z1e>h?o%!97b2-C87#r>Vfg$`E*DtoH51Z)kt2u(MnBKgzkFGXUDSaJh0sh7ecC5{` zR=K0NC#J^*XTH;mQCNC5*Dv{Fh*Z%A&Y%6XoUhfDixZCyqv|oFo=UV5i7Q8Iq@Y`c zPNxNF$Ve|@ey+7D%!qb~kxv6zLH^PQL1AdoS?9;Z6dVvaD#O?Ch4+_#xY4;mh@V#I8;q#UjH!K)AbChuMrk zp6ammdseoesl9Gob|1I4^|XCarM%cU#2344&QQ6@Tc6_qzDtFR_fRspqT*XxV7={O zCOcFB%H4X+v?f-I(@!~*i`^Hi={25YCf|qZgkq;_72iYbyVbyQO-Da(mm7fWE8!ewOaH`w}Kq2MHmq%z*Pyhl@|kOgOf2n zp_h>L11?eLhRj$dP;OwVm$rc<^cIv`VtavfMm>n1j* zSt>9~;b}aZN~tbkLX+rxfz==RX&=x6Y%*reQg?)}hwBwSrgMilKW5F*c79^skn1}V z=xQV|g^!}ZIi-Kgvii2nWFBCfVAyk>|2|4XS=K<9(d3KeA)h6R#?@(*D4Xpoi-Z|N zPX66(AB?Q8m@|sthUflX24?wq=RkA@nLA$n4esbIxA~*{Xgs!R#@XC%Tod!-)21B+ zL5Zz?YdEKHFk5;#sejCvO(^eDRy+K-)%+KF$zJd`<9b8VIC!C9@q)9NA2gL73)W>|`{B#= zt}dvj3^A79PXl>Bd)2nfR+JIq{Bv<@hox4TP~4XX*@<{je*h%rGFN(sGcGe76cN)b zIu3(2T%p4?Ghv&eF0w^>GjRuvZ5!(`v^r7+TBVBd%*R6-FGSs&h?os|H4Y>w?$e8& zCaK?B^cfvVpEzr$l9C>T_#?*?HW!6dn>+@XFbr1#LqJYnZ>u-xZxBQwQgbdTHQB2; z%7XsD`qh5=Tbf7=-5unw3usOp>p*`kPP5CKCA&&5#5OuXRHD8(lj^KJbHJ7<3AJra zEUa=?H1_PQepaaim%V*fqH8GewXRw~4FM+waa_C7jGq;#r=J(ec9^v@C{5b^+U=9{ zJK7sd+$K?srZrP^S_{0_d=74bc6Xf|BJ(j201m#7@I8;dOy3Ga_WTK^xi!@NlzQ)g zPFDn*AOggl{?^fgIm@n3u);#&~gE)pz;@ zZA4WKM-y37uP-7J$S_-v7j@%)JOF9aTt=oD&2kZ~{x4YE-#9B@olrg!X237^8T@oK zr!U2BU97E%3RMEn$F->tnJ}>O`c4oDJFc7hd>}FW&8<|sR7%ID^vsN+tnlD8VZ-w1 zLBud&MY|wo0fUXtEfH7Ic=oO_11*|8BLkll^1_WSEXh$D(saA}7JdA%`PD>%HN5F- zn?$1TBX}O~i_gBYJL?~g<52JULv|`|?>W05Ui1m7m-BK}FXu6{sP5ex6L?lZ^$K!g zi0anZ@iF6n7h^Aa_`y?XOgY}wL;N0MLqLb;3)i=@3S3>&nL5%w7%O@nZkg3HAJ-uy zws6Ccd)t=~rVP!+w2kQw_dFFl&7GjAyXB&Tr|)`W zeL316 zR_;a8zQgs~Lm%aXUUuIBRm{)F0Obe!-tC!U=$SRugkHTzX+hMt(77+Iw9iig*BCZ? zXOHMm`mI%mStf^rmxjzm*Nxkze^-HJi}p4Ptq)84kPisBE2x>24?kdUHj>8Ap1w%gS77wQW!-KB zjD|V$$v$b@*NXh8QaTRG7omC($n&;g8?%ejX`0!D3?fFhV8Y+g=eBVI$y^PaR?xB^ zR=1IDLLYOl(fx8cdQ?K1DU=?k*cE)&H1(b5W_-3W9$dvvLt#&^XMUm4Q>?E3U`iiS z>_seWzyAEAXzGBo0%xCQtma`d3(nFM2Ax8Iv#d_MOnr&%C~-ge0%z??iy2Bcuias2 zdW-x7?Wb7(vHy&4?BG7Onqt@coUk?y0_#CzwWl0{Wftr?7+ypev+CyA5z)8 z*M-|J8;OF5*PN+#m1a80PL)6ePMsCbrhHzA66PLi(@|#gFrY>nl<5+GBZ0n!{0xH* zy7&e9@u+h{{Ey>L^N)8cR(D==6qgsQMpHK_s})z8S7Eb^cl6<8saw3PhY;o|%o;JS z-C3x2pqkY<-XkTzgZ^Ahi}o|CrO*qs46;l83=xxlCrz&#VQb!v(5gAh)gG&?J6VRr zV?Wq#9`1M{!}P3JLzG?|Kx5R?7h zmPLO+2z|S(&nr0-%3vvbKsyT$69b#M-re7;%!wC-(maM@GLWtT0#WN{D(`2Xm32X{ zfvD+$Q~ihhUJip=_1Uq}EtfQo9$=AoKEa_bIPKlt-RojECUBT0!g4@==ai;xt8KokGU4{@XJ+2A>Dld@FB&oCddWC|rsU1ZrF4L#ffC()$S1<%>YH z2?ceVD0H;#?>YeBULHEKr8$Fp^c~gO`(WDL?Z*1enmdaO7e}vzFZR%)1Ue+!JGG1R z{?X4tB?3V0*@AoPBWUqOxTDj9{!nx5yDv|V=EIabbOUwQl);`h3`yiWUO#!w*LK-D zZi1PWcMskmyCDnG#>OdTGV%N)joE=yM?q6DRbc&=Wgt5Ez95~KdcKX}hi^_HqjN;i->+crB+Lu?X`K;NFAF(`GsOnrJ_J;`H zNmUVK3+Z3E$zMJ*w%Y#gxz|O{5dH3Y;6j%tFYH&XZWc!4>{_>P{`%uQ^zd^71zWwZ z&x9-vU8V6vxI(LX1~E@pPHw>uCJu9|^nRCiAamB;@6_Po0I0B~L8N0O+m;9k{obdh z$Z6$Z1q9dec%t_eO-+g?s>h$`-}ak$(_xQ)igD^yCl2iJ3=8%-`@bIvUUMM_SE)6*?m;}bv~`cXua^JWEJs&*E-Kx-GDU>rHQn( z)MHjVZH#zit)SwECskH@rKt=yosD0h&0=spY@x?!g=eTObQ317S!c_!glXt>AD-IE z5aaAq986t3hG`Rcfv<0r{S+^H!GMCz7vf$Zi~nBzD-Dxe1Hj#ulo69GHL+C&r(hp~ z17@n%LVY7T)HBXQH?G1CUU=zP_g2w=g778zii+U!AxMg<{a>EC((?W33T=jMn~|e% z<+F1s8-^WWxc-i?z+l`}+&yR9;iuLU-YTwey*Sz_S6jT3_At}TRjp?PPdFg>!y8PO zQLPtA!zYt7^;q>f>q%%M=QnyHEQUd7vlr*+FNlPMZ3r8#{2q=hj5NQeuiqg9Xiqe!Oy+{)Xy+aZNC3KM9yYwc#M|vmp76_ftdk+cU z=6;^{eE0hwoU?vl=b~ME?Y-w-bB#I1n66XyFZSe8Sf^^sNb3d-g!NL@GBjGn6C7!C z=?U6PC4MNa+r%E(p)#QeZ;LAF4ilyy6jEK)8)`UIu^Se>9~ZIjJuv-d;wP8W-Gr|R z=Ru39mp>q9z2fd_^mXApF&Whwx~Wq@C{Xs~eym)iaD>95@t+SDi(RP&LBEJ(RpYjh1AJzT9TsAf;Sa^vo99w06PVn4!C+FtZ7G@^D~#`4dr^aCNzYfo8MwOj3+T8!K^J^2d~PYDXn z`64!@!xb2@i^p;}|0WT}o!e_FAM)G_zVP_-9DD1-9dzz>7`id*dmf9@oPT%=>T}#u)ttxkUKhtncx|!ohp!d8Q{29S?3-VbSh}Ym~e{eSP zjy3IrojZhM+GDVQT$q4Dz=@BiqTSY<@L3yUO>(Q5_vi&JfE9(Z9d0_WWCVP3+I6@= z0WP;Ji;emF0By}PBrn6)f4|oA?KI3-K$oA1Vq+iyvuF?LR-XT}ew}Y$%wzYXRf}}L zhbKOWb0=q{(jM*_T8(l;uvBjGLJ`z_B*GghTtWMY!lvB$YaCvY!=-&$`*?`nDYAQv ziZy9O<;VS$e7(wK z)QHlTWO3~QowX3@|LiOnp{IsIOIG(J1jt%?1aEgV@l%j}?Lq!>xhdJeNUhQ00dNqO zw^;KEK@*dcPvN>NPRI>K4fT;~&VSsh7(!w&ahN0=fL*z8J>wH$5s@~k`&^!f+bs}G$Q!E8ACbvkXdKvTYkkdnJ*kWK$y z)k?pWQzOH4SwD4v^qt<6cNa6enw-hchFCRymCNx-_)0_PW1ANnnC0auS+J=7195pf zyB<)KrQpby1)KS{A=F2Rh{}bwdcpd$!PQ%T>d)WEsG3N$oq%TzM8;;R)h;7B4uM)P z%t7+6+xFl38%n;_NW=2N%ply8iZG{MsVSA>)xgp_&vc~o$qw31ivF#@YD`8~t69 z6jpe{{#3>=j|WbrO`xCRj}=SRW%t0z&2zoRxz}z#QhMTcnrX5n?8hOtx2qS#-J`Hv zjZZ3jbo@x&=ucLi9?VwmV;{N!`b6z%G9=d&X0n}cG;`B8Igs}A%hIWUT7e|`DN`}OYfND5NrT8|2`F zrYzZEZ;0#18VJr4#jv+xN_WLOx^)TpTw$42GMyKK;P%T}cLr7Z;TbR!`qmbtXzDm! ztYAjQQK+k=|Jq7PALT*8O8&l>-$`xSmL@TTlx?$2=8H*XZkgi;4P*-W4rF8oTK1rx z7lj(2jbA#uTTZ6y_A-GKi!u1hU~eu=_ow&(Q^<-MnKl)=jbhR&O({+|Z(u4P?)Xi6 z*Z>*`e{sXsXTF4iaP5>s!@~o2G`@@z9%yH-23T#9=Fu4HJ-OI zW}=hVdHI*2o2{hp=%RL>B6){T+EMkQNc2A2I9m<4qZU1VL<{}Q9%;>G)HuedoxExs z$k@zm#o&Pjzj05ZKH$Z2K+|10e(Ja%XRMPYg{NtLDab(PGH+JDv{YG_{?f!^IpfBKRjWul%o{oF!_gy|xyJrH8Dmxj8b z{@57fCLEC(5MIy)EcMq}((;=CSET4;21#p0cI`mV1J{&=V+FYzF+xj1*KIH4xlwya z%i?dB;^Lr*))d{5{Z6Mh{ooV6k*`}uni@Ns$|-z4REFTKsXIKn$xoDb47F#Av9|}w zNVZdN8j8rULJE{@J%6D-c*;)BN_`~QP&`q?AJLAJQJ;)A^o;{NB1W?6^Qf1ibswSr zZ!YeNB3$VIRJ8e>35@-Anj|mY27VuiK#D#R(-4r5ThD}S{hAG4Y z0s{Fmd(rhShDvbz7;WNCW@982=mQo5U@Muh%eWorI7y7%TqxIg19rP^e-?v65Ro$Aw2FIX^y5`~T&MG^!7;d?X?e;XMh4%ERyNkw8>RPge(neWT5-Ydhp3;q-a@?VhqAQGU z(}?N#Gj69|J45-}m8yLPOV@B7+n_sC6xMB8B2S94HAJX}bLFLz_-~^LIei~i$k!H{ zd#3judoZh<%9Y+9q#_$|?Vhg?s`n_bik~lPgMQsmIvQDp>`dGd9_N{2N{Kwed58s@ z;vYh_SYGF$$;!#BUnzb-X0z2L9`n8`;hP`8dT)COoD36S7<0i`Kl<%F%T7-c_$w=w z$=VgbSc5vqlL!IYcYHI)Bg=nDY7HYW1Bry zD?}Aw^>0!ly9$`#8#44e!MjX^QN#A)BAGeSvCX|d_6%)Kz3R4Nv|3>F19l-Ncx0%z z$b)=%3%|Wc4w(96=L6czxPfeMpml%NNEp^WQQXmrGtxgGtDub)eDNT?n(b6mi6VtL zXg(4bfsWQ$?mHG#I@*9MfVsx~pqiUp_nGr5lPbjp)*h(um8eyyOGtP;+t~{0GWM8G z8rfm}nh01r<`58gm3g(;2rnH?nxzc(2Dxx1aaG$H@K~I`mk-Jxv|IiQ0Mk9GaZpCm zYxaJ@(k7xoHnvaZUkICb94K4rB!zLI;~f8fS_Cn`@4KDtw-?(qCIfptcA&5?{Rjbc zBe$Q~FKIl$NH7BdCqHuSWAOM{x(u?L$Xn-^t&vePiK*;7W)U%1UCTnoa2I4d%*7B% zIY15jTBwOQQWbBRy;!0+TY+2R`8RH2mVVv!*%PQgHHtJD;()Zm9XA$@goTNzUc1$} zR@1>A888%5_LTqfu`{dGS{W6Q<9k&yvG2O<=st0Vs}*t>D%GiPI5nQV4UXgx%gU`b z6Kk-Fo1MsoF~w1`2YQUkv|*lq|3&FjE~ghe2a9}9%Ju2GaHK&JoO)}&r6By){9<0H}fC6?{%?gK!-Qtvfx=oF~G;|dAz<} zRS$K?uI9umvWcf9%DY{PQ;wDB%xV7Vt9#Ta(8%y&=ES)$x4u(ZkltRZn#DFpXVV7_qz%^0G#aWW@h$pvzh6HY75Ti{E2QU7r3mRnOy-U-WMr0Q%P3b?V5R zP(RRkz_OaB5U4|mUV@?QXmWX-ky3F@^XnlQq}<}eA%jm{67hD8{whUBiz4=-O$l$C zNoJ$sR-jjs3JX^ENF$&lSEDzUk>t+^zM-M#Kvcn4Y zH3wOUC+^06iB0ZKfBjDmx_PYSjApv=TAnMKg%T3ok|7SSBOAY_;rrs?=AFWrSc-|)dj7GAdCEJb zO+^8J@Qd;^)&k`cE^lg3$$eNeFEe6IqiL!C{8xr%&CkSzg+gXc2T>Pf@J#GF;{7d?_nG>K>IGdu+S$f1q zHr!L(Q{2(QcJQKB^suD8h2daFxAxG3=5R3$=H~acT}p=ZVo$gpcPz4cfRuDg629bS=z@c$&@ODQ@&Po4?Z?ro}@7`4j za?qiOX7*80J-*xnS#(sY@4x3)-bl`W=jmFdux@Ay(UC9PQxK}r;l0r;)xNl&@B?~L z{W4`;ud9A`zuFDfAcV54(&BDtc=nL?z*_O@FX}s}SL9N{f==7*O#m}EE_~2{iPO;I zv!Azi7T)3ys~D69mJ?4FE!eE-`0m5Pkxi6R_4m{#R8I`RZ}tiNguk!fKwwl1vmMeL z01P5&Q(#wyXmED_4qsy@1&uHFS~uBS-MY_-6Wgv*YKx8`GGz_h>!_1}qa6{uB1GJl z?&;w1}p5WW-PbSc>2)XsaM)z#+?n#_0ZvCLmv^uawP)EusZ`CS)fTujm_;|h%+DOS|a_yQ`ZS$oTT@Rs*k_impjA5?($OJ&Jr)zXMcfUE|N z;u`1?^GSNl>A*v`$741topPM}0w2$AWS-hKu` zIB{Cf@|?}+Ic7G=s4C`**?Ma{q=4mq+#s_Gh zud+41Pvef<>yq8*f_7P3u`WGMkUD9osJ~5}W!Z_q`$TBJWLb#i;n0@3efWu_uuyx4qW@=)dAtARPX;HO z?B_Q-l&*CkC&i!vNRkD-RSTh+Mxf!u(mjX{-%G)_OmMMm)tvAXO1x%E7zB*+3=SO? zvV{{I7cOSbzcl~iBm&S`y0r_jtikZ~s$)Jo6?uJQUn(~-Fzrkh0T*5T>Xv-GQyB2Xj3m=K|Lk# zR4?Y6?W27lRfgTIOSkDJOR{a)oLVHD7X9EcfzGDLHg4~k#RSV78r8AiA$rX z6L#Pry4Omv&kwwX&Aa~m-6gE-I=$B>ZMBL$AP$bBYH((~*ey_M#OUT0x@!beG>^&Q z7|XPk-B)FvFL!Ly zBZ-KNcU4ci?Kyfk(C)ifRno2uKi?7%LB|XuY-4iqfnLkF>yGXp4W=@V%Mo$Al{ZDxCUcq%XIY@E4OT{c! ziB~Z~168wvJOa+%{YS;w8X4>;=#!}n3p<@j>bnhSWAC)V0Xbab=&qD7#P{UWAh#>i zk^^0RQV?gf;%~V@n3Jrhzsw=uM^c-Nn-thpRr7%t@3t|myOyNSN0H+*&k#(#hs!XK z7toQlpPY2k?r&iJR$tsJj`ID)_Oz1R+^22{(q6M_Q6Qn))y7>$G#87g+I@P7lmE&Z z!)V|j8aPD_Efd+d9>LzM>lR1N2hGJ@2S>fHkgR$k7JKJQAN)iwwjGdS9Pq$%Q%&}O)&ZasEv%Y+If3dp}=n2afMSCme8hzidqDR4m_O-Vk z(~Ku(NAF7L@G)bnQqSI|zD!gdil|eVImwHd^R(C5*2X4Ml+|B2BodKfkU6(#Zbz); z-5s5a=&kj>p)u^I4;@rItX(?0GXwY>3e3p--EX}UFG?Q!Ry(p48PE}O!}m|m0nUG+ z9`ot4Gbdf5RAJqvrNV+Ks*DoHnaVka{rkO>h_tO?z1dVxKj_}h^>E*!&t$XFbSUVO z!rs=vt*eAP=^MX9-EK)s?Yi=6q~U3G97|o>OF=7rO4QjIL%E|y^wY%`Rz?kOEk_!| zdRFTrD|ClnX7+_0mzn-FBz|NfDXIz8SdG|ME?z8|?ft9H@*={>KJ;7E5>-a4QqdDL zVoI~z)!*+NZ;xu)PHA?==n%orCcwFRru8u^C!Lg0Of}(YU(mw~)eH*s<2-vxFt6?z z0r$i?^Jzqdeb-t2W@4cIid6AI-1j3zleeUY4Mv+23y>Zy(i<`g?Nn$5H>T`(MV$&h z2O>@Qe#3O~%$Q(v)$hsFr{qzPnyK;-AT<(_t*Ee3O&%8KvrY(@F zCm=|N}k7z`Cz(?HD&7+Q^j%bXj~euj|W%)iWC$PysSCWUZE2BYWH$-LQ=$0 zp-mTxo_=YoN6@otLto?RGe0+?{8IokvXfnPEI!!cKah4UpX(CE`&JY>HlFTg`KAhv zKTXz8((#ZZN&59Vr|lYiPGHY7LR{0uxB+J;HoBPLtJxXoLS+t=sw|l5-baZ3@QaWYLvw-pMVw=ItW&X!IW2dFywlQ^}ol>qCL;=ld73>7w(gO0ju)FBp18yK*QT z(Ur4`yZ(HDQjf9H7d|M&!BfAP1zy{u^wo0LtM9ezjb&DLhdoBeKpM}&mB9Pw zkh~Ypyy;p#@6^A~2S(EMkHP3%Ei?8dUW0bJ^AY#?1QuE~8 zK}r{HxHypc($o0V{XQ;rIy-`qWdpThSa~=|aD)c$8~Y>=zu-H&BA(|?o@WN4sT_yo z*Ne9joeYYfbbtqMld~rtVkeZ1Af1&D9qulFEjq)GPAfH|Sq}CUlgo?s&pcaLUUQ2t zc7I6v&I7K)wsU7&xJ)B-&5pZ}J^eLL2Dy8kxP89VC9V5)Twwf?B$Zn;p=1`Rj_PWb zy6=dM`hVK{A%zf+j^T<2I57l=>dx6m*#Q>=JMb)qotj}KYZap%sZBEB&L|;Kc3#5- zS_eFpHJj6T85N^(XGoYc*LIwsC)ME}J~*)F=Bws)}qwel$u;ie${i4W6-S2VXSXFiR+ zatPOqos%>Ld~KhRGnR{Z-;zhO^et&jFS9710A&J1$uO$3w04l42^M&Vgt#6%d*X?wHvvA8iFuVM_Xw$nC z^zBvvIyLu;!*2=hj=yJ}TWO^3`XVnlO5aX#Wv?r~Vr(}>niP|!xVs)<8KgwOj!+&` z7)v8M%!CGNGK~Y!At5Z`({qi0Jf4bIDMTnj6G}4tL(94^X7s&tWC{H@U;jzAe98JT za97c>JtgsjuafE-^TW@oRRv+Tv6c+`TzT`nCcj^B81Ip%*seMf$YQ1gG}9Y$B0fc7 z3thR-z~F<{;oHI8xQR1vz6jwmgv4h9or_Mz0OgG$G!rE=+~4^Oo9)| zn|t5uzu5Do0o0eiiOg0D$CvxNQk>4D!Vtex0l1`o^6 zCO5Rt^B12f$m=f%^=qD7kWdAWKk8mgUMd59NOCuSZlvCVaAAM!3$jx8agCq(ZA|@ZqnR9Q0>4et0iq zq;bnHnw*QW3;G2rTwFT0oZJJ4eLa!mh~$2M%se<2g`H`p#T=BHlU>NXa7e0>Kqz?f zKTL@eT4EJviTA`c7S!%2l*Z37nz@!6e%vg1vCkXK3TrB$~a^d;7Y+>OD($ES-7CxvbAYKe2jo5 zO-#$+to+75CEYGMzm+Z-H9Ei2M-HFZc`3jV4+LfwV0Mbp_!6^cM|=C~I09dBS0%ow6W|tO3EYFKSnBRq z>#GyhyAJB6&_7;EP4gdTE56>2KyEzqt75jXEIRKDodr;lNZLAZv4oja-^ z6s{2L<~>vYD6EJ)%#C2AWnQ8fVoXEY!4UsqlP=rSzJ5H%Dpwl1az}ecoQCj=3Ev;+ z$=RXuYf3fHjLmugVz7mbj7*3lkbftvW%Ysj-8{}$R0+n^xwh6v4EDa?9i=u3svBpnzzc{pX??1%m|QwB)8lU2G8Xg<-_G0^-hIZ0%YG zw_w7~&*xKpdG)zja{!dvi5zyl2hDdIZHeP9VHb>qQ$S zsC!i~0ZUYGlsZpZN&n1vwAOC3>z@`UA$Fgpq_oK5Ply_cOxo^fHlT6gm9DV9(T(xi zou)R2;@)cU>r?7E$es&L0jpUiM&+LTsq6`a+XzwBPK??~gPc0W$i^F};vDK_5?Pf{ zkDH>4aK_@Ok$$C^wc>MJjb_SM$}N$-m^93Ac#BbrfWUWgvTso9$dratU-J|XOS=$F zt3?gfgpj+|n&(Gznb6_lJLhNWS*S=?i7;f$WlJv_0|n)z2&L%OJxm@6*!`EW#(V4e z=AYKK!O~{*nZtsP?b37WobEby{pt*1cB29ebJ)|x(6wLzbXXN1K;WD&L$*0wtW+V6 z#6pG0bimt3EZ8%#rtdXiR})3bGac-$*ZzRf0>*vIc{Jiu^aaN`F+CnZhz2ot-gNG! z-*+%?8Bz*#sHtgN2O3Sam+yS-spPhf%jPU;EvNa)U>6%=NvOX}k+WbnK0wLWYV+u# zBki+x!os6rH1i&NNy@_U#b$X}insl86P{F{&z`!b8rj z9P{jYD-%+9fO8Heqh8~p$O={2_}3c?yrzubPfxEDj-03~7i03fv!__%PS%b;rfm$Z zp@N+HaQ(OTrfYQr-86fcJ&%y`r$RG+uRs*0ffEh%zd_Y=JoaVpswx z2<1oa9rU^NtX?M8$nS5I6*^yx>}XOPjHP%yySKqAXq;Nt27XoI6~V-1{9^|b2UA9?!}606YK3b&)s9{{^G0rG%Qhcn17h4n^C3TpWQEadZL z^oDFf#(bHPcI=LHOO-Z@!+1{tk8~ho@c_q9^S|P`DoiK~u8Xn&YnbRPJSS|w-rS8R zCGd~cbxXPj;JOZ2a;FCq_tnHB}B5RxN8MD+@2?5#16_W3LoY-Z0jr_u;-$U!N;&!%8coc8& zNecd}uTepUaXqe_=KM@nWeY1Mu~V&ofJ1IcU+)kEnSV&URwe~(O>M)1d<=DPJ43&_ zr)n-@i|)nVAe^Xv!vLR@*I5gJqn0IOH5>Xpp~-}dQ_(Q?U++L+T$6hjZ`JOMRBIVb z?^em#z7Ng6FljsZWBv;l%m%-4WZT6rI#MbW^b&sAxEE~GiK5SY4c7~4-iR2tq$a&@ zKd=k5vip1@S#ibt);%V>z(;&^3uEe(^90SlnokrQ<6s){%;8g7ZH1)1R{B!Sv|v%L zlXT9SEhrwa9DZoO*A>IDucf6a=^ zT+kzZ>aT4i>*>ENz5*!Y>u%gLiEp3aoI(6gR$53lmTPxtanhX!>ri%A@`foq+WoV* ztQyC!!FN)8juO$ox7fm$8f4V;_41grFHUj#1qKGY$HG(wfY^eijlFhBJ!9if1 z%{Q~CvL84lF;u;R8Xyo&x-1dr+_alfde^y+&aiXs@SoHTc_;>8kfj!#;!m3zli|C# zUKkV*n0v4}75wJISr70Wid~2Cziy;gw-c8yU@2198D!5u2U2fM=r}jvrm-XEWcY-9 zGHyx{8@Eu3ivZDg7`y_dR5B|v4f?J!DT(3i<~xy5Dh4wjv?5K&_cTvr8+JyM)4B1U zD^JSr9pu3)seo~^jRePpZ#B@ymugt(KnHjhjr|e-5*uuRp#zyRTl%*Ysz1EgO8 z{RiS(6bY1sC$4eS@J&~o!*Vmw@lpvL^MGu&X9Et~S8kH?4x=R$a9WmZhxJ@jE*j`O zAUFej_fn($$;KL_%l~TW`n7xnR12+gwOVn*N`@rQ86e+@D4EjF9uK|m^yd#$W$HbB zJ9EvV>^YT2r=WuuH-cA6V^o)Mr=_xs@$UOlohAz3i(sdsx%*E0D)VO}v)qZnWEs&B zjExl5Y(@2R(**%rKeP%+U^8!#(Snj?pdzE3yd-@b)=VTa`d$8REq)k^sjHTd);0^k?w}i zPK8?t*BtHKNEG)2Oei{>rntv^YCAHOrqy+BgA)6tc%q}Vc7f+Xp<)fskDDf+8(fOb5~^~Jy=|t=>IXWwrb-MSj!7%5 zf)ftKJ}3af9sn6plRlQS_YeTujl3RZ=i_*!Ve+DTYv=UK^U4Y^Bw$vk!LW*s{4Q>D z@pDhbz--kz|GfsARj5>;ruZoPIxVQ2UMW5tecWWyU0U$%Qudb8$>8Wq@k^TTKGwt( zjY{(J<;dsS-##CvMCr@g*_IT4Jmk^Q9hgGqE`u9@M|PPCba);!1$lTff_IPrjR5NV zxfUt@qLmmxHDC+8obQ45KXbc98L5zQWh>#GoU55C>3m}a82E{~V<_IfA~659=MaeL zJ**n#jpnkBozl^)box}#QAsJJYs@JAevxw49!y?u-Jci*&MV>FeCxEuhKgyc&r1^_ zC&3y{Zhw~Blx7eDW7(Ne9=-!33LUE%K-GC)ZteQ(;TfABUNYDjm>2iK&Gs#$7XQkf zUhP!ehI0|$z)J;nj>Jb6vqFL!xQt|~b#(NavB3G0PFa21^{n4+aExx=Evs)=PAcNMr8-5iZ7@UW|F8;A_e-6EZE2hBy76SHTju4+zDk)OEl>}*RK*KO7v(Riq-m#4qbSAXC$dZrM?vtZWl~&?c<#ptb7miKU5< z`T_LGrMM|}Pk0_F{mglG&UOL)xS}}s@!j|(p`}u7@oc_Vf5eP$KX(mM+h7^}BhWMZ zx@K$(L#L#-L%4x$%x1jW7AOCY4eNhR7rib<#egPs3I;$`^R$O8cyIYG@Ds220cN!z zC1PyT;dHJY}0a?&$qsu{icr}e9rdI#}74rnxa33_Dq|E!nh|M>j=_p)3a z{x7lssBx>twG!N@jG?g8*&`Y8lCcxcL09Uo3CDvWspp;>;DX z`2G61-p3h5Z%qE!f$GQl`gPNp5liir5LA14Ey@4-kN0>SK)ZPCPK<=a<%PqQBX-nk zqr!<3XyCltV|+Ltx3P8+XLYT>xT)~I@Jvmt-Zp(|dM(G$E~sJT=?WKM0(eWnN~7jt z83!@Kx9wZgd^-8TWxbY>(ExFDhaFw3-j9Q*fqPsPm5c2^Z#2iYSKS@>=0e^hP>|eg zdg^6P7r6HO#s-(Z1-|Vfizxel-J-t*2?vuEmT~R7Vy|Amy<+9$mX$?ZDI}bDK$4cO z04>4X!Xn_Rxw+QlZ1HwQ-GBYNDM{6%vPUG|I4K*pc{+(SEJV85-XyFx=gxW4IeQbyR{3qmNLU~XAD6M~HdI{W7p)LH5Kih; zr8ITMoBVN8I{SpwpN_)uDBLp)Ftv9kUf8NGTe7ZN3a|Y3&mBn@V8Z)foQ-%$L`nQl zEIvYGQXpB@XC|beMtnQnAp$>snO@_783JfYqYWTX;r!6=kB&#{YUezc%ZPz8q-e%= z1z=yDdh96p>@(7O>h-xdo%~0xkDx+PfB<{0R4tWzicp{fJ*Xy1btR!Gi6@7BCGi!S zexVl}*F!@CdN2*9DuXPH!Q3uE!HPMs)*44|b|KdBvXI*FMujcFn_&yGeL>k~p9GV^ zwUn16tmGxEY&=7a>i@9L!4UOz4)ecORNjj4l!pWLtrT-BxQ2^6=n?@SGtt620ExL5j3c`PMGJuFHa zg>O6nEm>I5jfu?jv|lUv>cgytl4rj5cSuUOLBJ|(_D-$)kL%7G^>dnGM8$*nYr;n# zh9Y(788*oYu9egvnbOtnT=z2FeP%J!UI-I-|AmW&ATxJLo;71Ag9cAWf%1ZBjTfSM zteWadocR?@;+4RqNwT;GX&!ymqxOj{va2~6eE&br#**$egrLcM4yA5p-W1n`JMI^I z9alH9Z!5_KomMpq)h4xTbnc^dvJw1eF2o>prgEZ~C%tO4X~52Y$rho7owL&dtA><4 zjma7u>&fX}hdT?ueaOcOE(OJE%y5faJ#54;`U-GgnJi&< zs}tJJCu?+YEJ390PmQ#xSl~&F=?A6fi;vf7r=^Ikh)sqkH9oZsHg4+GRT1uv9RIQQ z&<5GY2VlttOs2A$6QZt3YMT5C`rv2n`pUSjO^ozvhW7~mWnFDS4oZY#!RINL2e2Wa zpz%TCVxH{N&3mADMvY4>P!mzqhn}(F#xKwHzX5q&&bwy7%URh{@gYjs<-PB2M zSc1#&P!i8u(k`wV=~Lf1(0I|~hF$~(Z=_Yul_hust6_S;3+?TV(9*lZtK0IJ;!6YJuIj0&PL|@~S zRVQ~WFPxULgomKAo1C_tH)+d78DBov{nk6X>qSHpfVsbwDhjA2lU<*fL11Z1(;VzJ z4Z#E7C^@&Z03`Pky9)>x`v;oD4{~=!i!T9HB4QbW-Myv>4&&e1{VC>#E1Y>|9ki7d z<3ZN#r19`z>*po+BS7@|ukj)n(Pp z2ZGO5aSBrbURg^$^es8*R7zk%GYW8~0BMPS4P24J{1OL&3JQ&N5ygb8qJj3oCe9YveSl&ZC{Q#IDC<{Tt#Px(ee8z@ zZTUr#x_DWr-j;rft#FvWTBGv(yaWwt{nB*2_HF$RJsDZj3|+@Jo;pW7pHi*FDM>>I z0#!P4^Ud!6%Da6!l;~E!yR3{dd zldBuLj%_r>ewnY_)j$u=OYBuoZG$PJ9@X%s74qscJ->&XX{?bnR+oB~q}Ia0R7xne zyd!)tw{8bzwGiXahUckk0 zT$ZRb?jk=Q9QwWQ{5b~*-LJB2^+kYJ+TZ61X8Bq%x_Ly7aX$f#VJZx%-u9fPiU@rL zdn$a{FM5l?y3I_jaO@CyeaiZ#qn=vE!$T&7Ev4Nbn=k)~j!N@yc2zO^=7^Mwryq_w zaQxZuTJ5a#6)JA{xE_4(qN*%Ju6LF+ejb!sv5-MwU=?^fH@a=d^@Hkk2|5=fSkdRf zy?4?N-t%m!4{;XxF6}>#rA^o9#r|Mq?5=%u+_%h(&8&iGj`9DK1QlMV1Ptu|Glq!s zL9u|-VjS~dLMG2Jz~oU0Ff&iM5CAf+GoY2Kxx0J3IN->Aw)1RW!WZ;NGI-69u5#TXWIzH>_BP%Pr+8#{j2$Z0Q0I$CfWMYT+ zyn*}uLh$qi$Pa;-KjgSFivQN1C}ck|YnI|Bi<1=w_5uL8I_6kjx$Zpswez3!H`;l5 zMsh96YJYzIssB4unnuvKIjK;-K~S-?mzQBedH0-84Kz@=Z=MkPVcXJ_#8NNb*4y&i z%4E)4nhNn!TLRdE8{E0mOV^D|W91bdV$YN$l1|{Y@8pAeE(Ll)?LN98`AiABVjaIR z{c)rr*j?`CGa;QiOSACzd_(BjK8=f$QXP)8fccz`@k0`8wbL8qHSV8f!KA_{WXOH#PGT?>vx? zow$On*NJjf*KUADCEn1WnsoJR#iCbB>GK2x<@q;Ky-9az>c`8$*n8i`>8>Uzc^k+W zu08-`DBlvKoB%As?tpj_A|(m(lKtC+FiU|%uSo3usO1m=e$_OFPLhI`u=xgqU#a*z z%F$WDLyc*V@ctSp85uQ=McZg9*Wsw?$I)ztUy9-gysW98&pV6=fO5uthRQnigL%Kl zy+j|+ZwzWeZRl=XZapj3xHdq%!)5^HSmE_|7JRZYNKGL0;6KZ17{$NNEg=e&db~D^ zmmMA+J_LvcL%qFsA%I(@BktTuGmaRP8eKiK3J{7Ef#R%0MOD=>OQ`6Z0}L|T1A%us zq8kPBTZ2j(!>k{aOIDAsd%c+oi#NUXK#W;!-0?4GI;Zxur$rwH=&(|M$S`qh~Me7Z;5fbGnW$q#aqwn61R z>WAQ!J^k)oT}?^AA?@l2j7JTcBp?D%Iq%g4Orh(~Hv|pP-{SwK92|8*Hjt~~7tM&0 z{TcH4?Hsq%5#mAAZ8{)mnQKX~Ik+#K4y?DuZn<5nl;N$9jwdaZxe4ksgn5j8qDl(8 zR%ap&&lz|MWBId>ZmYQoA~v%^sZ}MNI?r2cxWt`0ov)QnkJWCiImatHYG1!PmEC_o z(_cWlmg^kAcO@eL&wsY7?F*o$@KGEs>%xoE@^mHqnW`ikY9Ey1bZotm;Y-%J%LJcV z@y(nI@KAdMJ_v~oi!n0=TqC!(h~tLf_2CIw3(?}hyKL2N&icd5)+>cY55WtL!v~)U z1yF=!{!Sv{P+G0*C z*Pw=Dh4|nY$0-Id2Z(!au7O4TL|T-S_($T5{<;*x<1Gj0i6S*dD?&Jxv0XIzaM9{7mhj8(Wn( zkny52K@m*z=`vQVbV~2?4$Fm^dgKzbbLj9?nq$PU>4M*u-O>$(fUZeyG=gJh>vakd z{M~9Bot+x~O(f~i)1t&D(fI;jno1XMP6;|OJKR+GpVR;67|TFSKn+U$0DLuYc57+M zqKg-J;(Xg6hLJYrIeD?$`+C!%ZnIC)+ng4iIz{muM}Fh3jR{4hf@$TMEd}dG;gB!t zV#QB=L1?+xjV??{!%Y%2u_&nq6qZxkWP1Q%6xYgY|L7B1@dX0SU)*-@Z@;}hWhmH@ z>Eo+bYqo6gPh26?x>(@{*|mBf)3>N<&dYwKVhL*=JrjwJX^adV<%VjNotZ?g=gb%P z1R0Vf`ZOJTf@BG4g>eFu*WRFB)x0zr`+GMvN*`BiRL$g z%|o(`hESWG?$|}qpQ?6|%(9H+Zr90PULj)t|8VTlS6orSQ8n=a<#aV$poR?jov%|i8egwI`} zNr-sVg!P{A_1DRBPE(Z!%6~L?)h|C<#0M0w?oP^37A)rZQJF8!Q{@=sMrtrJrULC1 zMt9s%!5Eh8XbDy!+ z`mM#-%BQIG`jpK$XnLj0bWGUa6yC$7?Zavsz{MzUd*g#o-Z0w;C%9Lka&_&Y&f(@e zVWoV`uoeQrX!!NjXBv_e+_)O4xv%f0M1-up;4P&7tk+chz#$w$ct$8!+~z#?KJN>) z*@WVJWAp&|5?9KgG>_z)KnZ0MN~9xKt0Rf{ASt1H`UmaU9B?vR%o0vCoSla^4WWZR z`sv;H@|3*-cvg#vXLu8=Mw%rdOLTlm4*h<%OqZt9i|OY}Ap+WIVZNYrfz8EdL>LzC zNetWk)akwXxXZJ*0&o7T=>K&ayGH*G^S}g&VmZ%wR@U4Bl`FDJKah@AEQ0#Y@UJUq zXvRq;ka~YycFz3zZj^Jrc8bi%o;l;JU%=#apkZV3PlCqwTv1v_^nr&SFO9a6aw7!4 zF}mIUA!5%SJQVFVF^slg4MtJ{n>cTufo(e9JA`wE!WQI4Jgy%G=yhhChlh_1Y(zA^wpHlnihGsQ(16kz?wPb)kN%N+wPjpu}u zR+%00YacM~uR5CQM6|OU|90D>s97fL?-lDlj;%4x!>#C9vd4a*FYxG?>{3AN(wY&j z|Du?BmA#1y^yxuLs0jjnF>LJJj+auqQf2EA3IM|Q_p$7Wnl|2wp+(QoN@%j@&W3JO z2ov63+WhY3S4Y7w2OBg>Tyo&qG5bmc^N(>ndPFf`06Hjjh?LxjP`Z5s7(jwezv^I+ z^wQiTpLoDq_1=@N^_pT^eEHNZNV#2U&mPl&Q9=qkWBnC_5zZhR^W%g-L&^ZGm9}k5 zKGD~6*JVC|ii@uq1t%9VnhL!CY&Kc&{sAPQVeDLDV5U{~B}?nMe+7|C$S#3q8~aaF z8NKh-*=3b47xU9lgC*!HwO^6D#LXM{P1xw%ms#a!n4M~HZ(s3VaINDaLe)};K}KBo;U6;Nuz<; z4k)d#hYo$gW@pi@`RjO31T@lz0vIFGln&&oq`)LH?+A4YZiAn!rF#ee0HYY=^jbsv zF6@;qlGJT)#4@5^e)T5E7ZiK~PPNkbE=<(}uM#9Vs?>u=?5pssR0h1}JXsCC#qyr2 zx40`-m z8$qIOe>q0|{q~cC;p6MquTQ!eQio2r zCpSC75*j%{v%mi&LoIj-%z58jkIm1^0QNUHK(Qj4C|Mkmz`^SUA3YAx86n~&4^s3g>%n8k9 z{{a%^{(Z+_P>d$XD#!JXvB>eAo3(-Dk3@n8AhZ#I!=#q;Fo04qGTCE*#_p?7Tmze& zO`vcyM^@zer!eZ=pvLVqA8_lrh1z&0l2L7Gxs~!K=kBkzz5mA-o@|kVJg&odOul@P z2(;q;jQ~v3(Lq@f=$+&x0mx_iw4F?62yIg54aE6;;f-wV^7QmP*?B#fyYL?Se{VSu z)N;;s`kG8cz&iy%e=l`7t`LiUL?eK}NgRzH5~DDE0$V)qBcx~F+3K_dG@RBf7(HG8 z*TESwd&`F^iJX=;w$k-|e@==UZnFr;#N_YKtO(=NiT>9IfHx+j)we;eQ##bB?Y+Hh zFs+yBJQm0VYu4Cyp}mT2Mfkso1mFW{!%EbkI(633uCAcEex0^P7s6k$5sX{+3W z_CMRf84m;!G$5f@7fqN%UFiQRfv^Pr&?j-4Gwjc5nSw2^)+|?(B7M0i?gP$amA3_* zhu3v9cZLrd*d|?gS@dCXj>p$+SPhH=|&P+Mw zmJ=hAh$;=O;~j&;L+E@k(pEhHGha@A{twQxw%C>n71DF&&XaS_5DkzV+v<{^qM+KZ z?vD=!sPSq|t(-+pp*xusgzM0&(4kGfZPU-QTNE{KAj-Umi4V5Df^MflRmB&)^)6L| z)unrqCUwrV(yV{kN?9(a936m?XI_ihJBK~m28dEL++9w7G}2%n8KY>?Y5GbwWOFvI zioDjUZo!haPL#58Pz8~bRe8;??rso?yEXq}x*}D5VOcp=wee%y<@k2udka5#V@gG^ zxXG3gi({YjdbGF~8bo{Qxhd!g+Y3o+)g#NDafJ2oWdAX>f7NOhr4CFBL7K>){yj{nDi3G`&d z9{e4T)ohwKveG*f0BCdFF+l2=2m0uhS{m;)akhsA9HQI{3sw~uK`J7$l*i4r@{EIyIBZH!-Ikh8;!``>{rR9IJPi$ z@0tfhqG^u0#{uSqwAw4UYqjz>U(P>R% zxva1?iD!7;9WktQ3X|ji`MfM-m$opmCVZOFtzxZ#`K>=l0fJ+&4$Ei+MycF?A})Ud zZRvr96vg|;a>Zv;c#2&-*bkb4JB%pEtd@cV%KN&FA5=4&f#F?{8 zu))ZLLkR3vTkviqu;u$A?}1$_h%W-^QqsDg4)9wnFjvIZMT;W1*{YNiVnq0U^3LSF z5m$hZRs3EcPcM<@D$smp7V^Q3^rIpv!2}-01td`EwoS&ZSc3GDu&HOJJlddM+CGkU z@aA$L&sj?r33rHNoqhG?ySNKfdV6Mmhm^QO!;Sw2j1(wTB2GYIgNUX`(;S4u-I|5yeP0k_`gC-4iC zhs}}iCu}|{Yrn`&@R1mg&TjcljX&)BfX5?-Gft)OA*>ann&7Ru;VWk$V}ijujMB;+ z@I_9NN{i^F_^HUK^IF5&is2vMiXyFaI*#*QyE5H0Eq{}NI1#WaT<`dacT$2kScg{` zT89g;>_WSgKKKB8eTAig3dEDo>SE=VkIeg;1mO}=IM-#hy1C97(;jWw(Fga_);4`i zpHW2`Rwbo?@;ZiwBSrwyVfo*Y9s>&Dv=(nFxm@RSHj%&gQN^P({aZxbw3WizuU5%X z556%d=^CZy+bQugwJK^=`6Ya?+>;u)L#Y8|skPD3a{!Ws+fsn8y-7 zTE5qx%j^@vCd97cAie+^P~37=_C3GK2zrsU&sT>Ru68h^(IXu4@WxaM+bPF8sO za}(@lp8@+uDB#(-OTBo@x_Cx;FRfg>b9Z!+zp~$fK%FKcE@u8ATp%s_Y}Kdb44_$p zf0~qe3)QQ)|B8V9{RpF9hU)&@VxPb@tP#L~$vQ0m!6EzirKn5#?lTwN&y8xqVB)aU zPZga^&rfSF;+}6gwY=(`aA|I-=3p*;>M*r>#Kd57)O9x@n2NNV&_T56;S_!#&@ICV>6nc&2NuL2H6GWkh^60M%xKkEW< zpl7a6P})S9@oq2V=TQ2AN+gyWWiIBk+jtLMkE2XCW+*=J_!nAEA5$@M%al0D13Iis zcPEHh^qa1t2Dg*~xC9|tova|Z(rTvt*dciRWzhQ4Qc*~&JpC>3MxBZA>ypa_;DIgI zG|dsgpBfPdX>cty^rg>y137>#c$9{FHCk7Et#rCCwXC&@B)0)ZKdoB#ALvp`AV~6G zDcl52IP04>Z{qz(fwAv5{kn?D5}=5;=Of|g2)s8txtLB@s}!A!&zfx0@=ghh>mDc+ z=Q{4|HUs0Mp9Ur`v|LzcEwGGd@6G;2LUBL<5~}r>#IRE>}@_?#>YPh5Dm3YPN@)zIP z1`QA$L?(Xt@|a#C4AUnbllEo5Hhnh#ZIE=0w7-8~$v0?Fhou2!IYDaH6BgJbWo0HS z^0cFb9zA2qFsmqOV$i2*?;2S5b=w<9V~W`4Nj=_Zw&)23z!r^QG>iLRG9zrcJ1oRHq3m!2JT7v7 zBCP*#KHPqu$dn;@pR7oVsygD}}Gyil$gPy)7VYdj;pdsI2n z(y&ts_!)UXD+}nt~qkaUnmI_T5679^_>_%-qW(yIY+Sz{<`G^`0#Dv#&&SO zf1TGD{tWD*v?Kz3Hu-d)KB45cpFy_EGJ=(_vIQx+@0{WHgFZoisp7?I@B_|Py<&n2 z6n*zqk+3?wcz7wmND7b1h5T&$>_o+A0c# z^3tULxqpjBuh&b>C#`bfc~}4UC3W>*61}cu{F#lVM{NH17=58;nt~2iT{gkW9p+s_ z;JVkCG(Az?fek1ishEE}t0u5ToD{%5HW0aOEpYkIEK%qOsRm3fz#ZYN4qv7Wv5q)alL3U4LDgdm5*EV}~r-*!}KM`xfesD7V{iS9jEz*zOv! zf>@=dR}IcGGSMhoysl5VIDbC50I01r#Z|D!Y-LgI*r!(OTj9WkJUw1(75Ofb>b9SA z^zR3w4S7{MIL0FKN2TJ^F!=1Ln(k zOn==Mz)pXzrpKbW${!Xk>G~-Re9763$YD|4w7RaU5?vY&Tm$gAvSH$U{DV1VlC3kb!f<(S+D& z$q*&OGt97G~kgW?Tz)ys?9++#T{P?7!x^OJkr@ zv2s91#N)wPR+BnqR6>zvqEezIBOs34<2g$V5NNagKtNv5;=Kz9z-ID@)dT)X0*Wf2 zhiDLpV#E1xk&!y1t)iEY<58r&bEMi6tZ5Z<&EiDvZugsG6 z*Lbbd&{k2tXJiuP20oEcHNcIAq18I_qeJ}b&U|Ht?wZnh`DAv{Y|woAFeT|Wu-8gwt*NDqA7(m>Th>BOfU%!;s6wJCm}?3wjj zBj%5jM<6JAFFcMtSL=wb;2)r08qMD;;%spq&GHRR2C!V;P%|e90>KxZIJHLYtH<(g zqYPi%Uqyz|N{zXdB`2)Yusmzv^yFw>bi5b<0_gWdCcS;WZLwk#nes-O0Hb_VQoCs^t*Sijq*x2Paxs( zdd%9+ncBL*MX~*MFRh+KbLSUo1{$F}SM`RnkPb*fwJf@gYw)~sA6H)3ek498fXNJ%Yo|Lo%)1>Nvo=N9?v$O7%B(fqB zq}m`l&zIw&Ss=(5tL+secAdpFPFA^P=i#$IrcAEn>l1C|lq9~gaTG4z8Xhkr?& zcEXCkaaGSSB>!_<0S*by+E2v3ee1o~n9V~ei^_xd2lZ|<;R=jzQ?+wXh z@e_9P`ldUUov9jTRZVwbJcj(Z%Z5P(K3O3q4?LED~tT<&(B_2^=ghgb>kw1S;c+olCC0( z9}L(k3DWLs*upaei6@@_qdVzV0BaJSLNszZ2Na|Su0tf+lgzXTg?^eC@@87DQjkzR zw9wb{shLKV(e+;^Fp1(?J( zFC)BXws)jyXwLm{a|<)eebd2sV74KS@*Dericz}pv6%|m3~2?j5*4k7$X7R>?4PKt zfmyyoJUA!Op=j9b+(#Yko8FI!yalF?!gt-qGADC-Mrg&C-gnCR@}~Sf*2)wxc4k=G zJ1SW%P+@%{wyIS-TP==qFbgMp%vrhAC-E)Z&gFffw-RwQxa%wcm84rpb)WCa3E9~5 z8Gc%oSWD$z#uQlM+8a+4~JY zU}8SG`N#A48n7=Liq-LYX}!Limy?o#+^>y50s5Ge9Fgl_VL+vS`o4k2Wf3ER$C?Ik zzyV5t7raxgW^t^QBZSW4@E6c}C5P1>5=ZOnGC)0pCLj>Or$-Q->wKf_+X)Niu=?lT zDC9u$k#St@UV{dphq{c*J}Odpm0ws2(4xz4aF!7OC5qX|0Dkpz9FuIgB=39EP;caeUj)Wpeoq=AP~%^MAFAd6BV82u+fe;a@)08(zb8wuD=}Tp@3C%nW&r@ zx6Aft;^SQ`HU;+Bxk|0j(=CgLRYlIp)itg%2L|w+bvWQ9gsyAG!UE1BzJ1Z*I37Zcj_lElmMOC?s^5!J2p95g@df%0a>Aj{IQ7FChGnx&$7 zeJ+PW&js5JM+UEV1rbGZ_p$qAHWz6jQwyKw8`c}R2P0-H%Eu?B$vCLW=V8gK%(=Lh zQqhQ`nzF)onT=B(N!p6O5`J}n= zA{q6KzXGe)(u-oD#oUZEv;e;DZ3XIfCVif@Dxg9b7!;`XjPlhK}^3`O~- z=36IX$$yj;1vGuh-7COPl>WAkxMdTnV+<_DR4^()^Wkr|7nFW%N2+`3aKrtkoJf`? zLw5soj5!-%FdPHQWxv!<79rOeEDyEs9T)C#YzoscegbTzBJcedJFAM#f4g&hpVtBr z;e918^f`|Pqp6eDJE`F~dA|!@PFUl4gItK!tBa2(Pl$_?L(Hs_fPSC$M_-+vLbbyv zg9ct34^XMsor4{ayUs&szo5%@HZS7pLW?g&M==^>jTzV4eG69?$D2@reMQ7C1lW20 zyPjYeoUoG4%G|pCloaS6?m+1a5Y|k78G3vMw+2@T%*9-Aemznoja{?lY!zdNuG2z{F&W87EeeESWJ$-4P}1 zVR>KuItEb?>#d=NA$R8@v|<@r+T}Qi!CEY$SVzq!hfG+di+;qCE_O)KYvHN$toX*> zabh{r#j{vMn*-vu)v)z^D)z#W=N^j?>6vC-%E0HtFR!>cr2q+nu3=Yk$Ma`py-GMd zYeVZBKJF##bigj06Sy*e5841QP((<|ru_-vpuh!Jhz?5YE+p@-cHh^~&xrV9;w@s( zm>4j@%xTv;NzV^Zs!(W_d5UZ@v228qU80 ziNqTkjkbL@&%o;=%GKMuyV4I!3}B5YeiD8G2yQUIsQ1z(acO&5iOkN&k&kT?!+>=0+f5v)+kYuE06@vVHo5@t zr5jdWUOo)eD6Lw)zKzJFy$(Vfy(!(U$|nHXnS_Yz>g`pp)3_}MGyJv`dS_!FvI9Ryp37v}EGy`Urf94)Ao}N858+5VnvfN`KX0%u|QS~($ir>kr z+1XtBt527F6r)KnkbYu2IbIw$CvPbBw#uWc-%+w-je=A=c!Ai!Xe!V5n{CB%04|IV zzQ+eTzgSQ0O%EEaS&h-ig+M-5V0X~9bke$i!UB0;^y;Ylg?)@+j%lTR3VMWQH~u<& zuKp5BqTfYo|0NDp^kpilrYmDonLW@U75udgsA`}1Sqc`gs+gN|Qoa9O6qmwDSR9Yo ze%U`%XNpdFz%Q}(+}5z08}9`?EG2I)VK-=1cw|i{d4h@x{qKBF`6ZET2;$JK=PQIo zyT(BZ>(t1|=(kOW7}eTJsX2G8=AceYO8SLPMuMvy9{C4Q^ndWzBUyK;<{gT| z8ss7BPrNN6qEfU%=Za2BzFsD4EO->CIvR}uxIK|zlB+DPeDI*MprWRZM$k8liO>Yb zRSJL)sy-|u8gD$S_gt%VX?{#u;EBz$qCM5t1*U}ahfBW%!*1yoEz>fBo`Z3H{?+&k z@jIe_|Lk)jhfyTSyVI^G+|hb2d8YyJn2=qup~CL|x+FqMTDRguiH-a^3XHwmfj7Lo zU3C1{j|LY2NzCdOl=SRFrQt|0rjh1ucxq~_Uk=>5QEPsXcTxFcU6S{CEA1DbUFXKy zhZHCSsu}~T83<|PbCtQ3RgHr&1rD72Ng<+kN((%yzU|FTTL$Ps?j(WA15Vn}2P%7b z%lW<@-YMc#05<#Ihv+eo4EjOyjtsab!)7Q1a@)=(#7|dN_~MsaTQi*iVM+bzga+rU zSLu6>U%jLb%>~bZ5^5a@;3)~OS&f9vjfxKnA(Cox+!n5~U!T}kYsM(ub@e>>f<;x0 zOU)LWQpHa*+6&1+m#@vIwxiP#)rMJlf9`2H&t+NhIV`fW0=kh$nRP(=z!6vVath&B zuY+dniLHPu0kkwmARa@w!BRMzK|AL;s@|%Ydc8mK-OUl(%`z6@zXsudpU~o(A4r$P zWlEd+vSf+Q&2e!D9p*!_%v;qi#{Ph)n4g>bIT+~)M3ZTf@pM$r=U zBd5ZHp<=g`&}*(d2e8WxM)aY{H%-|8zO`+yU0#nGvPi5M#-rI zd8O+Jas6?{(T`j31ysdVw^%D$8FA!v-@eV8S-NVtt+^FUpl5C)z~b(aYoAt{`+X^2jZ7QY20^S@jUKG7X|=)sy4j9Ca88jBRKaOSc{0Y>&s&` zw#2nI*u}BkrTH8O4mAXXCn?q`X1?N%fB`PiO=1TXiOp}lh*B5erUMncrTVymi!NP; z9ovzUjeG?#nn2zlAd67XpHI=Gb!ot`H|F9w^ih|XFd;dsdRZ4@YPmgRTt|6%Xjws4 z=xx9ovAL*F=##GPNS&zErxsrSqlct%(ShPHuy4@W=dOvZ`n29x#dZBv3AEr|)KP5X z(8)=ez!)=jukiJWf~!C{Iq1{%fd+?G0!m8@9fdx6la^VjNxBw%2f;92pXT zo^#0(4EDkOEB(kpq4}yV!1n5*w6IW`)nJGv|A(&4$XA4SzYDW$-8`FC%`-S9o9xWv z=l^{vfp?rdw?VHL&Fq13Puwu;b2q`oE5dTL5BoN(Q3fpu^N66&0)u2OE2%(Zdo@VF zo73UtH6T07kK-Nc;2kq^7v!A|FcWLlZ3WfZYF`I<>$;+9H!S-H4n_<4k( zrR@J~R2;fdXwxrz-@`%ms+Dko--Exz-Vi1p+O*m}z;1se0^2=YY#ZNcsRI^GCu@n; zm)U@4^XZH3MjqPHR@!Yt12s$^+baGgOd`R@*4_u}BE6|QzzU+~D*o5!`PA`+IbcjF zNzhdnoGpU>cvMaUX@_OTa`jP>{0_wv{@3E?-whMB2WTEYVB#9i`WQRbnBN(_j4oVP zD-Q?HB?~x1>qIsqp;VH;mjYLwUwdfY9XNBbx$MjlqLU;lkIw)@wBA%r>PWwD351}n$6p>oXFA6*;|pX- z;^rrG3=0Mj==>+t@1hm-ro|QhEA|2pFpu~@4|PJo+-9+KP&f*Mm9XuQy-<@SqSd^d zLcc17ceaa;ONfeQLI}<>dinkvzPeXqZU7%0_Q%bKX69$=P*E z4Zb2DMN<D!yz-Wcc9_4_semYeV9C(bV%+4lksakL1J>JK|8IWq$>W&9wQZv%E*1m?3C zpV-AkR60_)HSqNrLkABJ@lH|!$yv!vIt^ibY?R;6D;}zFDoWZ|rTgS6jCEeuKz`x> z9LilEgQlALdK`>E;SdbFBBtFhSVtBS@1)o6)oCh)L$>aSdp$>|ywquS9{_fMIiK?+ z7L+k62St#~4qY>k>j`;(8MXSpAtd8~#+fYVJL8cFvp{~^-h-(!_sG$xVD9YhMn3?P zxn8Iig1hTIE=rP6my?Y>7bw8PI+Mos)(_3qNb#RnQ-DyI!8>+R?~&HrK3l5C6K^ab z)cMMhE8lsSo=8JKohTtqf{TWYNu(b@r)!`>G7!sT0J*X)dY&ZDnO4#I-+s-HadADyT0SYMCc!te!x&Zew1_B{Z z06?o3j-FmO0Jn@IE|>V)+S)mwd=A8!wk(w(X!rGb$kqZEpt7eV9qmolFs%zG>pcIp zbq)}+GXfFX2~V{fyFfqyoowZt;WXvQx_)7|qg?L)|{NU~cOhz)i zfjHO#GO?Be`$kS<8tQ(!sj2rpNaUDZSg!jMpg?RGU|7t&b!vpG9AX9#Fd*!l3cosS zOH-nce@+kxzyeR+G)U|wR_^xJ&AYcwxQFIpE|<4$?-rh7IQz@=UUM%su)>%0Us+?{ zM-ZGc%w*TB;;2blwQgktmFDA{ofXff7_?qa>Xo;72#{Go5?k2rhalXqQkcx)<91f9 z?JU5ljpj-666SiHjtdz>G~QK@TE4oh=ZE#Gv?DiTB?MsoS0NXRh#foa{C%dA;-i}@ zICv`sN7|vF>{@%`?!)=8t|%ZMGylPQb`aP6fdtTJ0U*qZn8DAXw{lwp1Z6epBE+55gaCivl3RMS zPHVt4bUAw5Pxk>@*J=!#bwor2axFPFEHz{j?B&$~ zUjm8~zNf$ULM_~&5GPXaPn(KPy-Hno%O`&idM{Kfpzt$W3qf+2SG(}CIXPom68^DW ziELAkUgdK#5wIvTQnj7g*7XQNpr%g zqN@D1CyM}KPraMOEE+WzoL!%d52*8LNHn@H9AQ-pMYH8)HK_hyu@GTTt@;h&=v?y+ z+(PyAz3@e=14o*OXyX;6PZF|8)3$a>qZX(k z9I)7Z+K76&iTrh&VlSzG=k&P0);rj7qL$4-g7)ZJ5H3m#QEeI^Kf1RS zb>1nW?0?9qZAJKrgYeK6@Ky9e)E-%1aDy+WSSn|qFx_n4qlS$J2j8vssG)eg(5WX# zSas->N1w7!|1qYkDVZ--3|-RixqjHW%5A7w9kC9_7Z(OXa89NSBJ#ZXwtbmiVhJ7h zy|%lk=3lY)Mrt^+bvt!6i)!!Jjp}$@JLiRxFIsP7drg~+O3mZNpXgNV_u(bS3?>@o7GMT$3} zq+Va^CR|iwhokPY6>0K|Ma@>UaX6!e-sAOQ%JFdFaW^T(FW2N`Y@-466vF^}O`CR% z$*?@B^;Ek{VHR&pX}}<%A&YsYxwnMcMu1PEj8597O>IAxp{=38h?3>*U6tq6Rm*$k zbJt_F^@o^^d#I=_)y0!26`uX0t~`HIlj0!Ez{iUeYn0}WzFk)$Z{#Bw;m%SNVRhC>VA2F5C<(;zq6 z)V0!|0lPwZqmm~j?wtukjaqd zjr;W=)rUB5Fg%dz)&;b7tX=|*wHq1=!G}5oJ=kD8grppV7q)LDgcLbpw1giLe8n63 zm5>eSSdfLK)0S4$OunR@P2}W*8v<;OMgVPA~+00TgTHh|DhAm ztxO=x=Dym!cJ64cc)YD9G4NeN4UqixL{-dp?*NV|W3?RF8AK4Bs6HW68pPiC}XChiR(5>!+7c0Xv%R=JtJ3E;R5 z4+u1~p>KbUy>TVcI73!4N=63=R8`~)>tfj!;jB~_Y*a2wBBcZ_WNOQ7MlPOaWBY$S z7}B=HPj^~koV|@2RuKpY-d7dBH*87V!j*;VEDj5I1+XNkD?d884qDaJurEKFBgd&U zmnY-ycO^!e(4A|4*TQrZD)H%6uwtsZOlPB&ilPOY(OEbgE3 z%g%wPCez(9_*dU*-MqDN%;`=Z3?*A^KeVvh(ciI!;}d^zBO;j&9R1)_5cK1hG=tY( zV7&b-v2+p)dv^!V3;6Uty!A<^r}zUNl`jr%bzll_dy34g?lj3ZK0 zj!4oyKdYz0Y;%3CLA8?pT44B`>J5?xro}MVXh(AYWW;ymd?kc8JZNz0==jH~eO2Kt zUCa5(JK?pgrTZr3_S{@M>(<%Vy;>7r_HAb!DK|vxGVpTL&o#$QxaRx=U8jGAa6Mcyb^|Jz4of^%Q z7ibd;AiqrUy0_W8)f>`k=jLhO1)#l1t+#LA(r{lafobf-U0rdMm)&KURoGA3j}ZWC z-&4qoP9YybpjLG}j+?jr#lNb+Bqya7KX_{4kygQ)8wbZPA7S6Ft*QCF8$!m`WAg<2 z#$`&U!&jaVKOy>#AMZh@m=v_53qzWa3hVH4b?a+IVfMYoQAvL z3w;Z)DU_rRsn%SZ1}YbiR*Dr`bv%ks_Ua8=)uUap6Ajb+z-lq`W4J;kmf8GcSh zUPTvd2{xv{`fW1Y>_z+iXgq33jS5AOqNn9r$YFvukNmDm+4bmKEdov(`Ja=6fl*_Q zeT{o{Aw{n`bscBJG{BY$1E|=u4CtuQ)A`D({io)XAbgrsZd(Cq#b&9Odr|wQRkG@} zy^W78lV9l^2w8go3Sb4{}!E)dIx-%Nue>cB>^V`^)5`?qS zYGY4@d4taT^6OjM7hA0rAl)b$rc-kxes0&3S5Vgla88>}LVSs5k=-ps$($9br_8s= z=;)11kLag`@LqUj(ka`SNa;x7hViMp-&xArtr&5yyxbm39XzRd>yLNmjc->ECUe{d zEVk|h)_d8&b8AO!BFbaD=Cx4jc9$bxUD)I+y-?ZHjdkl#lWl$KpDgPtvn#5Lu1tvd zCXWu=*r)x)eaaXbm3Y0v#1k)Jj$wC7LRE7|fP zqV32&GLmVJzWKOcOoR~A?%w`u1BMg;RP*p8d|*bE^1I>zcbnZKLdGLOvzp!LUPH&h zexR=0=XtuU*M&@6w)}Qf_fxEekAo%E_X+x_(2Jh{}M(Wug z*b!%b=j}B(`$)x^C~GMdSchv+9kfzdxl;Di0$%RQ1bUt|DHembYh=>?ZSwS0hJs!F zI|8tIdaJx!Lnw;#+bF98fCp5xQ_~vg^j--No*kfMh&$!EM3(nsc5x|tG-xC2d9|yK zt<{7ZY#>%{78pWd2m#b)zYf(j5ecCLOx%jH_8UiT+*zFVw8-t;)xj%mv1`wa-N!Q{ zoAuOVknpfQlw#J2<>Tq%Cm+V#nU9Od14;+jy}#FOsWha$)ir5KfJ{wd?z>+sP_{K* z2uW_(PRW9CFQ)qULzbByxWk`sz4o0>eeT&vGD|k^vEh1o((AsV19QP>$`(@I@+z1R z2Q4tqdeUX=7kssPO0peaxk6*>flqkYcf!rR;N3=@Y8+q5)^<`#9`p3jo*@HSQ#1)% zzAjta%ZwQ$ITbWs@f!X@io76&H`c9uzd_6*`_~m)Xdo7oZpg78mKRUXf{Q8&CSz^A zUC$qr$fo=xVJc01jrNN0k@N@Y64*Z81%wf?(IdPk6S-Ael!Huz4A{d*9ZNMp%DwFT z+G!e7r)?z5;A4Z=OL|V#Ei~9TQCK%$U6MPLWc+6UbD%WxM`XFo45vTx4!eKO8E}EI-pRx%eGOp44P+*yz1UBW% z{BCnb@j4ASMp(X3nqjh!lYFf}=BC1a&ktNswuN)EQxn`8M$B)=1}r$~28!I=8vp8E zp0HJd=zW3}l{9T?eA4AJ7TEPOzK(U9IveEP;*l%tdy*UBby5X;cz#@GZ>JvYj0?$8zQ%MyZY%wR_)bzcL_DHrZRDObNw`2+d9TE9}NB^%$Wym+B}I0 zhCIV_%N@x@^sN~{OwBJ*a)|+6!wa3?4;!4ZzpES1H}raTDkn@kzPCUw7CQj7y2*%i zW~~?g?TwRX)aJaLmUxaPF$SwQ`zfv`A%jWWLnoa*NoNLyFBib;xd{fIb)lWGZ`?^M zwndUZ>K0;_=Z#gLdF@HuLKfCcu6QvPA={ z8(LND2`9^Ijt^N!+SdX6U=N~_&(}|XppL%1)KA4R@7+5(LMmRn&OP+j1j;Z$K5J;i z`L8-448)s{Tnr`Z+h6SXU-|mI=;&@gXdGu?c_8eafk$*VRly=E)BX9?_>kSt&98d5 zPN(;XXFVB_s3!4Vz-}b7`=jLh0b$L@NHCK>+-j~^X38CwBy9Q0=mA3BN5yU!2-~X68zh zs;1HDb)i*;&xf^jYF1IZ7<6_*Mqq^EIJ za~=v6WZhn+A-(EXu(Y(u?@4Xzer)EUY+UT#a#<$1gdGl&}wqejf;LEHBOMQ7T$t$a2jOrvo1Xl zm$1SRs_SYL^!)VIZ2NxHNa{(u1YyxM4Uvr0AR*5)VGI#K8Lr9Z zr#H_taB=oFfl5`DZEzDP^&y7)$tDe|eS#fzn;-Jb^iAF6pKOc^w<1sfliAs#Fnl9@ zHKOK-A(2}l`^ahS|0C->pqhxDg^vYM5Ks|Os)~qo1nEsdq)HD+4M;DchfY8cP!JH1 zCWPL54LzZV^xhL76zPP}0|dwy{lE9U_nmLgAtZaUyEnUY=gyrw^PA-r2)y8)(E}$F zzr1ie_%|AC^X#UyH$o_|)vS59$HI3OI*!$$&+KCq-_(~2i6Zg}I1=nT-Zbp|jrO(7 zirnwadGGf!Gy7juIo~@qzq{td`~ykZl+ei@1oVPp96Y@y_XFny<`w^Xgc25#?KESS z?Qb|4ldd0VSjdKHp60mqZz7Mb#-O5T)Z{B$h`FeiDa6QEp@fAuH<<^$mu>o=!OWXy z47t;rJxw8<9`hL}Y{-r2x`y&cIe?v-$Oqp?y0k>V;0W(I+smkF#}2a8 z3$3K&0`4h8UaRKe(%r_&<7n+>wW*P+Cxm7DPDtOP3yof{TmB%Z3R5!Qkct$S7**$@ z?m=KNuhQb!QT9DbQlXt`jVszvmp7+Y>D_s7flLn@&e=mW7@X z1sh#n_QxC@#;!-J9r(UHy_A<6d?W4R5Pmzvna%W)LFBya(^ZK2W0uGXtNv@tMCY*Y zzEp~v-g;$hS7SXE9`!(6SKJRfq@@;F2*+Lt-}L{1gUp|5Y2KN|1fTK3OL=x$BDV{hZ-Z}m2W6nfp71WPVk%^bsa%Q+r_&FPl{fn4KU0M!N2&coKtQS8MP#zUz5HL zypfMMDuOqpN^LJgMIF96#pP!uN_B|e_H&!PtUF6NKaV_Qs(Ji$b`q8qjhtOGqT73K zixuktPKiF^?zbY1w1efJVonYA2U41VxyDXDO``6d@SqY0y{!F50DT2%`s3M8YYWPX zjG+qwsxEBO#*42H>S)~j0WAY_{>Z}XI_u+gs7>YhVgP);LOA)Rgpq!h@W2RUvd*U&b>Y!b6HK$hBc`Df=gR4 z{Cxis^%V>^Uu7HF(;V|J#5H*{sh@WVln<3PO4V<%e>@e<$vFdxSqO&tkIVI^hy)nc z9UJqoQL zWtEGooL+tp-F=xL8dxx;eTX+HOYH}yIq%`Ax13`_V^5mG7s*>Py|ihts7Vhxe=P2y z%-Zkv?=1spc;ICnjC})$CKMiEt)zA7qo=a2nwngAG2*4QyKp3q1RL1tYl$y^DES60 z@F+(IKHMpjv0T^JGbmiqEn#RYd-UfK*hbN4fO`UeI}8uu)-x-|mLmGM)SU2)XQ$&` z4^w;&58m+91Xym-w5)g#q=)m_=dD$J8X5@L`88N%F3p6F`@~lFGDBaV zFL*jRmx_DunaS^cBU-Ec=)Y_2f!i8a{w6FLbl04F6pg={Amm*`yHY2+YySL<&T)#e z<54@R)5CY<`Kuk}%=YKAWfRNF4!amgOx&dXW&m`F@VuHHRx>9m{vxa!T$D`A3vVhi z%79o`1q7xRq~zxvJORgXh|;G1aXoAR=zHnw zM$-4WjGnv;2uo4`WGd^qXM{+6E7B1^*8{Eyvaf`kG=x-8JoKvyU~c&}ag8%in%)!l zp3s>|WcOF%cW&z`EQbdtC;|DuokM@ofvsH9ftBy!c_ru1^DK)ZU00qSv}cvU7IjJQ zA8glh5u@_g(3j_~=!>0aEYSBNh6v868N+6Zi2bLg@(XgMH2NEIjB5_@Z{o9xY*t=; z_23Wvrit)Odh9+ zefU%PN_P2UI)nqjmZtv;3(cArboO#0ywNA!WCMulFWm|BBM3Y_v#q>1#r+X4oGlZu zDDMa;G8q1inP}GBa7JTYNTs`o1WS&y!SCiPtT<^U+@OnN^{R|6xzUx8{j}#BKLRp1 zsgHc9?;JluSCxX|&a$FtOczb1$-Mf_>u~3Os%~F!$3@0vOt0{YScua;r*ZEc{m$jV zXZU&YQoM9HqJ}N8xTr@gVF)gsR$VA3gPkH8pF}`kf^hbHHL)A@-2mY41#|(hrx#}p zEn*1jh24_dQsK)s3)QlV6>jsb9y_cNu6sE$=UrQ0i{BrJQB?92N!*xsNIxP9B8dUr z|0q1Gi&a-$MxtfyzCshaKj{9Ow>JV1gMRLb0Ho*JB?9@HAk5M|eu0CCr<0fiKiMgd zJz1ATc01-~CyzcmsX^!iQiF;E(mlenc(PbOIe4h(=Zvs?CE2>jA0Yc3Ug^y8%b27( zcyZac$Il>C)u1qdyk@@>k%=y|=jPS-u;k7nAhW<98vbsOIUZD(gG|%_zsw%E_MY?aD@d z@t4EOX!_f;j-Vdbm$skvjn??S87@BQ=B>H@AmLk;MTU~tP5&QmlfeG zN*K6^AZ%f*vUuEsT#AOJC!E; z+g!6#=ASTW8nK%)j-)K+GBq&03$G3)r*lj#e{PXbkpfdz3uyjLvFASBgK=YnabY^q zb-xB;PN^;vW5vSoijIP1$}8l^Pr?O(3+qFKs?nof4Btpu`CwaP%Xc1|1_{ssBYs-5 z7_-AciB;(?T*><~qQgF_ha7kD9mqBHUcR46Tkmij$I|T*gS*Xp&e@Tp>OXK1mI0lY zr>{ovAmRZ3r&4zT$FZ5m;dMTW>cdzUKRrHJjGdm6D0qMPD1J*9p}vH2>ANS(lAV2a zy5I{ldfS3Ft;MX>>dqp(3V^?_$VcMBG%F=^n%S35QLNHUJFYvPXu0c?@{JytT9p=~ zGw&mGSc{tE9Ph8QNo>q7A5Pb4h;j=HrQ^XcP9S0JpRUdOPps~+z^t;klzkRL2uh!R zGRRNNg&wa=O*n(Eq;=J>=C2?W;~1Kq5)OI@$zLT^_Ia|(peD36yWNTUSZ-y>kRvn)^q^|OP zaS=6x15Y^&1AQufqZ_o|O~$D8cPJyLaZEu6r?ekENgGIga2uT%vU8 z|5Ncc6gNuh(rf~V*kz%?TUtJ@4T+9#L_QCb?#Brirp$l@%ZcvW2TnT1H~tRvlm7uPzM}K4L^dQJ z|M|#R_S}rY>X`?5!#Y+ZoqRvXKWu!=%8`<2J6ITs-AK#}OxL zFcoVLfU2n9HkJ!Xt_ILPP@#0R@iz-Y0F^4K8j2z?)1}cD znb8p(ML$)izE=h?jM)h}nAn(}eUO%8-^|>!*saWyTZtOByfA?bC*$m7y)i>hf^eOC z%pdu-b+&9BL?U%*L`xVdqmR!}S&YIlsMzV9VwlJjoy`X>7OuXUS=)d%eH8O1}eOnYD;I$Zb8N31h)&P*Oo#zR`}++(f7ATj_Z>W%3h&hC);bhN_kn%NupQ05J(SH9Xc=^5n)??Myx3LofiC& zSGbSDC1UK|AVw_ZJPVq{B4!bt6sBG6-7XeH_q4yP)DXChP!ya9Mg9_B_Fq{U zJaUiX8|>}9J1A!)^jw`5;BYmLL0GbC{;XbNhId;>r&42)?9n0kFCBOJ_(^copnG^2 zXKz+c@vA>$lcJv==^ka8eYw!1!i;xJbgfE!QWYD@V(P)PPlTodOYamkufLc0SWL6A z;Na^y9{(nPRP#>`hwe7)}SG`D|vDPmG*XS}$QCPzaR`sZJ*NncG`2D4VsAO{RZI>Xf zS4AQ9e&T%NhQcB2!yXptMb0l^7%nyRgA!qeI;w`O3_9KN$YS3c>#xEFuZ5(hY(Ts^YVlKpC`KGxpv_>dhrwu#xA$l^*A2Cue|wG_Nz8u4!Oy3bKlqm};>k1ieRsw<>h-?UCmu0L>4LO`~;`{O6S zY_4B*xi#?k)~8>V?t%R>d%X#Yub&Ceus!=lbtBB{({>OhvW20l&uaP0`@lKV$0p6s zK5vUh-7UEbTYC2J`*qln~(zd<5Y2nYZpH8jb|F_ zp5O`Xi6cKe?!-T0s-YdAU@!_T^!OnPCc|F^X!SBgJ!BqND zsTl6#OZjAv7lN}$T8}rf6Lp{D8V0^Ll=9=?exzs!u#-m_r(k03RZP<&wR*XZ30C{` zgvHfEd-{_tHIhcZ&N^?~Kb1vTn(>CHv8BU8v?4iQ$G6Sfo}$CYV3!X3jW`((mBs*V zF9##awwE2b#VX~2`pv2-GmxgDRMIX4P=zV`_PZD5nnfg>B=>+I(JJTz!4QJVlA}6x z{D)!=V}C&i@KoJ@2&saP2A%j@=9dfmnA3)8Q%A{-$+X|R)Lq)Ujm ziqILqF_byKbuH=aiYbQciX)8OaoqQKP3Xqu$=@}j4w}DdcEh5hv~u*je*m6|TQ&2J zaMpZwaMi1=XP!HJ!E+9`q5N~E>PCQ%3btLYDW!`6?aB&?v%7^QG`|bJNjxff4CF80 z1^Of*+&hzPasy4qDqaGy8l+c@)kz0*?y{L!75t73o!m>9OQR|U>6`d?y-HVIX&HD> z>PO3`wZeH!x85nKa22?rG&+%{oLDGO1U$5t&{Qn*0KAL~^*huScX;TxjePalt7#@p+@Q3!?^g7T(2C+w+niCtkw3f4EC7 zhvrZ?AokRJ|4i}+-p8@VUhUJ+ny?GTG_y`$E^#u={XFYm<~pL4wqn?P5-0@-;1pNY zd8$|0KOi4e*;l3>;zE}FbVe1xsLJHV!@PaepqOk%3TBLDdN;r{e>~c!H%%I|b?rIY zs&Lcf@YoqK?%`IW>^ys4zb@#)@Z5Y~RiulJRRG@`T?@5eV{&=BjO7~ZnrXvTMUXLw-qmo29{^Vu{2JS)|>C(w6`0RN-&{9t3`*x zhn1SnsdseciUH12J7E--lp}^4xFowrIc~zi6NA)im}1QSr>>wKFMj{#hXI6ba)>-5 zB_S8Gy9k4-)SCfF4`zg%n_f0ucH zRok1dq~eGApMwZTicV^D({GdT(jSjiKrTKXvR%>UdD$O6)t`Xa#*%g6k6^o(I$?Sf zYQKsx8e|5J;IOxaivn9dHglnON<0mA%4BoIXYXg+M(VRaUxz<&ntSM-^`VLQaIG4VVS9OXYqlrjmzn$YM7*4m|YbBzG+oat_kQ)>iPp6mC5*m z)?*e~eV8(RZ&vE|ar}n)MF~-&o(q-atd38vh@}-TV@Y#WKyj5@J{2av%JfD!q})My zjo@va-_hPTbOaC3%dYG!ze^;p6(0iL&tw0@Y=Sz~772`Y!7hVV&ZyJHMt{=si_lc_ zHs}3#3ltwh`uOr(=Bjeu5D)#O3SqkXExFej3G7|q$?8&*@`*GvV??MMX>N3;P{FSPTb6t*BG>5<5Ae7r^8Hg}S-l{7sf#4kFTkDHAn=Q!msrp@j*yI0J0 zo8QAC^rsSRoOh2YdQ12^HnV#norZ}QyVDH4ekwniqScXo`j!)0*scX1{Mx^k$i(gP zCfQjUNakSmFxzV*>cNPwk&#iDl@fq#3|b~XJsx+C>!2#PQwC>+=%t!6`Ky8yDh3)d z6zk886nyOJ`}3J8(SFXTj+nuO!(BJZUv)IWrK3@OC5w%t+FsW8fOm=RR`>W3%HvFQP*AjSOd9-+PJzFAGOy!ZM&7KSN;$9nMHj!xZVVT>(IDc#)B) z;wWJGWAIG!6eEI}3=iiwS~YUh_QsE-Ve_wk*6+$VnET$Q5BPRNmD=K1g>;-)f<>*u zq~5>lr+X8Uu0+C~YliRbR7-uhr5J4w{o*w20X}t*wvYvIUt9mh*l!sdYFh7R?O1nH z!4E@C*`Ef!OOHu*7_QP^;(JvA6;<$b(g0%W_X;&B=n#`a+?uOCVy zc*^p4BKdIr)&yZbwJd4gdChYFQL39Tn5cMiLucSY%l)17WnvT3`RxH#Tji0T@0-Kr zxEz>039N09yn{5*hH{`?0Lx}Kg6}<4#&B~my|i@Uq?_%d4WmMN7U+>>gqIRlj^KjrT>v~1w_o6CRN4m{^SMJt>&D7bE_|0?mp8}Z; ziedRhY1jMwF3cNHhE5+akHMhV70;@qo7B3mAU^9&3mg>VEn?vK;ZNkf3pRR+J z&N?ZyuB_Q@I~5gxI(Z781RAH5O>N=s#!RJ(-nQC(D05go+tk>6Bx39B`N9k8#Ob#{ z^whq0yeUN)CQ`xk;^WPQ+BR$Ya{@*9P44@}Te=vDvTuyRr1+R!_zahFvFK`4au5NF zO3BGI$)@draqEHCm!jsDIa$w&zSe40`$q+RZ?o1nvV7tXyosY-tkj+`QF&I8eE*%w zMS*#+l;-1ljc;bv<=<}TADm~fshueh*`kL`MOe}!pHu*s4+4m-A2kWreV*>Cos*?& z(I|Exm*;l_C(2oc<=Sm&U@UyHCy1J?;Qz4Zu$c>Gk*%GEE9W}r;xpf6F0N&-J;{zI z2!j+aDg-^1=NP^;@Fn@Jr~?#E><9qq`(TRTtUj*?c1$^VoBuy*&;b!WlQAB_HoEyJ0r&pInnKF265TV-Ep|ScF1* z=$Pjq=0yiGwgwDRW-O0xDD|CxU7^_CYV%dO7?q+u@4uWlZv}~t?Xi5w2euanb00Al z+QqaH5UZaK?bUMvRXi&|IoBKv2=_k@Z+%f^@)=zBNsirNq_TO@eu%$$8QortqMQ4u zLf#xYNSmCoMsw+Zoe)sLMPFF8v~B9EUnTy*adTmv8ud+{Yg-FkFnj0GJ;{2IOHQ@r z-pbC27!j4kBuOWPH|$X=IgZYVl- zLxFSga-|5hU1;c39ac_WzNQ*d)H7RmLa{@TiN7Sg#2+hW^i6_kZyF7BU!Tc7%#K`0 z%Gc=3dNGx}9i2SOUv)ZJsyO^4Bhc>ocCy0obIOOVV%BIAQ0?rRjcDhRC8sKxy)9UL zySD7}rvX3OA}!i)uM)|xJn;M$*HV7IR>xcmXnW;%9B;r&J$=uAh@a|6299Vr3|7FQ3P*B%5d50$t*Y}@O-7_l2l-l#f^7Iuf*FIvVXJU6A- z!b7?=Pv^QDL%HS$3oi7s1mfb$L$dOtdm+o%uPB-8eWu!WytYlCJP&4K?P1aX4DYgM z7IwGT$+J7c9|%egL>X2WhuxQ&+XNbZOB)T1Rk}y8pUZ`L9r1YRdw!z%B=^ktC2P*Y zye0X?shJbSMHOTQ(`J5jvdwY%*-EEo*#`oUc#cdkX1UR)1zpf9Z<%|rYIrO@QnF~) z9#?-B?`yaV7r0W(pZZ|7Ty3YM*E?qLtT*(8zTm;4rsq|O+txWJz{W5={|^Gs&l9tv z2>GC|EK~}!1a;Tpd$RKF#DxAyCsSQcloD6je(n&@y-O~gOiuc%{d%=8ZGoq6ww|R(Lnir= zdc9hPNxRE=vdF`ZZ_bdwCl@CClGlJU_lGG^#eov5)bMIuC$Xu0QBKaIIl*dd@lNAX zPS^wH5*A(y`(8KU35T_?w~=+_X{xP50qTkuHc!tpzaC4S?WN$ zNH+^|?4*myC0^Uz&|r$Q&dI&qja_f+JW(3AzAP@@u{?9{YUYM=Xq$`Y_UX8l%^ER3 z>Ze@ayp-=*$7$^OOmFF7Ez+Mk&Km0F5=u#xznN{7C>MVe<;D8Nz6Y%7NXfHrCAjNVv$i8b{f3HZ3Z*6| zWBjer$^iE0OU|^~()pRss}lRWZ#uL#uDkX3pbodDdXRks zu+JUWtgrX!cNFAGCvlpbGG>W?LOYuJ?PXX`cS4r5&UQ5)= zyMX$?H>w>QfU!=e0bE=c)?%$CraYKR2OrtjO096Za(wWO8|XDQB|2wi-yyv9~_x>BXF4SN8)T>s9aYaNSi@L51(ghSs3rfIm5LH`{++*jGT zVR?QW&RUBY4wfXq@1<#Pb!WGUf3L;fnjhM1!o)@~8zT0FeV*(A+2Vw}TjT%e%gDn*YXKw3C$oRqd zqzE18C`dYYzdzqZ^fQMBp5v}(;^j0_%wL)lKEl>SFIy6i2(^?lcCeErS8Y~&G= zwEfEdPDNVDWa)tVzIS=Vs)Ab5szeW+Si{5o>A0>=o87pm4Vq1{Ea=3ZPbs!i0<&ny zq6#i}P^lVsnV`Mrqc!w&%Uo!xMLfZgy=WiOv65ID^%*1kki?w{_^GUTT-QQ8OQ*#e zQ~?+q4WC`;Pv|pA&+l~5qkEWzZq$e}tUQd?H)C%wVJXdouwrEtJO}Tr!AAJ)ABeEb1rpX_DLQmwUx7MP$9?hy>Px- zzd8pbR!f?hz2DZonMSM#*9g?hH`Mx@TNH9d%tX~^NqAlJ>u@#8MnqJX8WdJlU~+I z@_hZU?)7j+!7-n;VHpnsN;!+B`aT~Ogo~N@O}hst=T7t*InvAwSAAGFEu48mVtPfc zwtTx;&>C7EDce`Qil(^X0#!#O)+2I{4vPSex)W-hVT&sMpi8U;4=Q8s1KMS-6~kQ> z9Z5}ag7J{MJs5+G|7vY@?_Pu z$oU$evaRFy)^}Ze=7ye6N@;J;NkuS6aVdG73n>Y$Cg!RIPh1dp-4IT!2c;BJojO9CkJU+ALlftR zEG$Y5Cq6*#)!lXzpWOFof4<&F-|JHy{K zTDNpW`2du>04OKeUjNYZV^QfUOrp^4bMgZE^$5=3v0s9T)uM;(wZzO~Br2wHE`(wX z^qnBl>3#=K49*3S>;5dc#{$`ET;>(2S#R}tcfK}l&KHmWxyr51l6`huzZ=b>yeyki z=Lnm@(HYE#JR|E3FVzvP$EV&4dh!yJ5?7zzvx?I$8=X((-{p%ba_xCT{?#Es{&FDe zTHsM*`E6vRf-Y4%%VR72|^p^C8Mwf!F z=r_R^7Cjh?#)}ubQj$hfOHqAX2I}YHsr9AS$i%9tj-UWmrBb5YnEcgMQ8#<(Qz~t_D_UvUvpfKmW3LeQZlNQm{^9n zae5B{);OsO$#wF1%B(7!?|`LXdHavw#%Wb_Cai4m_iXOk41c$IWV9j$9Zz@jpJBTD zs0DV3lmPiYD_IoR*r^{g8Ff|^xz6SIa9#6`0`$7=Mxa^&YkhzQGP+`b{8IP4F%x%4 zimI}WGF}M1EK!Ge!C{BuJ8~joePTR|5KQ^KMAGnkI|tAFz<|5# z=z0KVTwzW*NbS(wHSrBS@MYTekD6RVIfM;V&d7iE(LyUcz2V)xrGGe*JDA+6`JRj<%ob60k30xC|6jtKVvh$ zn1|$G9WEt^1taWI7ktww#;p7mdNg~91CW1O^`l=NX&5erT}UlbL8l6$^pSL_aq=NL zpZLJOmu_BZCHNCAU?7yR1b(|3LqsLqb|MX2TqGuYRS*-%2J_UQb_ll#z+&m%Uyh`P z7@^n=;PvyOcBPPtZ0hums#u52exEyWQ2L#~@OLIp++Le0U1`0$XxW2Aq2^Y~jGJcJ zNNy8@m<~WpBqR?RQBzVj>fDG?=FJbL=oy{6W&9@O^x^~hOPs&lW-fz@%>qt#nG4tm_Xl@V-`C4Kj*M3 z-+mJ4iJ1qXPkxKco)cMRpu_bMM`jZGxwc?35C&Q6c!`5xaSltLZ#hcek|QCWp19qQ zCYHDR_fA>w=t&?gQSq-k9}tPH34hzsT4!swOdj(80FweUwLC~Ph&2`0c+px|hZgc^r{ux@pDK?9*0f|K`8BmOM3BmypQmRX z2n8D$xb~V=6O}8hI-XYu`p>WXucmD3cV2m&?75l@BhuwW5Z(t?oL8>eys)bt_xSp^ zIsd!auUm?hNi=wy7lPbxY5;0XAg7iRUb`7hR3t}=pdUz1;#wgn2`TWu56QTz!$b0d ze9&({F1;op;ejs^N{mUiPOF?U@r``^IIuBGSP2w|d{GPddqrZQ%>Q-pYgXHtCTsNo zQJ|2-+1WO+WT~p&L@bAP-t?cIIMC9sufmSAq6|WIKPcviS?otR9Ex}^9nf%pnEezl zkp_fw=!#-mY_VcuV)9rFp+o+F!FCfyBmd1!{$1wv6FwG#zNa@b1x=j7{M%kQpyyi_ zjbJ~oleEn1nN$)>URse}xst*B;zY!0UNVLF%ocf8{>|5k-`9}*ZuFhkj^@?6H(JoPne`jcD2pY{%nw+0^BuaGMBSEX_U$wjJA@7o`aiq`^3_*4J+#E73?FkgB7cRxwsC>tq>!sq{L?Y~{bmyA#ULqGk` zzKkpX4t@C6Kf1KC%yg5YoGz=24nKXx$7c?`NzSX841bzvRvFC|Nnq?KE(lCuLtWE| zTAZN@9Wv~JKX|Cq;>b`u;30g|CvA#_)yzR<-&}yCrFY600&_7roy*N=HRlap+wK)YSaOWXf@hQ~AvC+R;(TEm((X zo_QX4a!i1+3}brcU0%_5=2SPhyZWvZCOKPLsbEl6!{Z1~o1A$X?Nr>*Vr$H@4|eln znW7{32yR&xf(U(G0h7jQ$E$U-mOOh*S>gD9m?aYaoMX%!!=U9~NuYg7a`QGbDQlx{ z8H^`IxM@p!wX8y41ZWMl^t37nQWiCQFKGSDJvM$)^C3pV9&urdpQU8;a9_o|xNXu` z3%r?N=_NG6*klS)Wd{uzA9n+a9TdE3ZQ86oHo|%Fc_w-$FQFZm7drZFgTe$)3UFW^ z5D1o78DpvdZ0>@YGUlWvr)rTV$mSUj2c#)#D#TN{foV)X>q&?mm*=UK_=nQisA1Dn zFlnDU(J5kJxa0PACwgr1rC>uxeKPUJX+kP88I7mZYQuIYt?VA`exPw6tDAXHDu~O0 z9l%YQyiO(ugjekCW6@}Sd$O^jM~dO}$0*l&W>UB6;3F$DX9O_1KM1F>C;co-BL(#; z3t#c0DvFY=Wj^tR3!dxpWU|i18|b^6++^n}uB$X>>R;R#G*xW=fFepi2=_5}ptxZ7gC?LBohTuz%^lm#GI|6)gxgRA~|M$idho9GxM0vl_(W*97aBT0W zMD|EIhRQ(4kXBrAY?Mj%0Cc=5x%f@=lJFdSe^o#4(Jdy;6%Xd(Yuon5W{QtZip)hC z4$3Z$$+kx$s_9J7y`*i{kIvI~wyLLscd)3AzF?wpA6)D-cq$VOX=845k^3~*bWi*> zYdUs&!jo)BU$)CJt>O!IeNucF{vvgN{oc0HmcDtk`yYxw8x3pIKl&0;C4?+RA~BZAgE>HxiDv}9!rorpm!3TfIhcTch_c4ErVTEWYW`C7Zr21p=tS;RG< z$~2j{Vzn#AGjN*v)3V9#SqC?Xs3}6DA7YzS6YO%nU!c4z_OafnZv&U;%_L9S)O*)f zJ50Svt7zWzbW?D=S-MNjmspgn*I+*8s9I`Tf$n~Zo1<|QjG^e8xOD>${0+YH#N(Mq zJ*sTtcs#Q0%pXtQ^cY7c$)r;1W|h~{qmCch#-uKveM~S^Mcrk;5T}rV|GCf|W8AWk zjx(#n{%3TT3n!|r@tap(XG~T})Z9OAG7S+o^V!Zd)SG#LuGDnM*M589e*f5D%3O&} z+D8(C(^opaOC5G^90D}gEyb?&Grbd>=RuR>%K4Q1YfB+d}lK%^8pEW z<@IB3^Xkpe;2ae%zbX5@pBY+~(|(z*#0xlfmrE;JmH}%we_ktDtzvkbr!6zbVWLFB zU-QC?&zo!S_86up)8c9%IhE0OPs^yEwxGV)qIYauVv3qi3FjL_T>%NFSDiONs#~(G zb-~wii&;1JZ~>gnwX&5H?V(dJ$%>*M0mf|CGs9_ZwP{eafLnftYQA;{u6QF#SW0Gs zBV86gr`wgoTdMbY>*A!sSk=keB^`lyf6%GaLaidBhZiEcl~dJl9oMJw8qFt6 z@yZ_%0)2(O_Y$>7eb6UeM-cr7Ms=eY56*g+D4LqJ#Bb^pUg_)P!zzoAWN?ZALW6BVC`Ui;DkIrmS` zk7F(*Z<)0`Bn2uMw7VrVmpxz|I=-tPMI_J@zX?OswjqFIt|4uBQ5G@6isOTSMpbE__CsF{VBQ=4M1zr~-F; z;HK)JGcv&(xm1N#zxx!+1(6yk=~`jTpD6Ff_f}uXM+>5YaWbYhr=k!E4iE3sp~n{| z&P)%76MkU?gAue;+2XrSmX|=Q=`qPIuXtx87K9N6T!hb4Y8d1V3A{^?i}}$;MWSn1 zy(96@f^8ipj*S1gZ*1ro8no>nz-Wx#w{UTC0LC7m=QZHa)k57E{unc5WTx%jk-9>3 zc%@ZjSNu{-oTZvcYub*9Pexd#FslL{8NNbW4MF1?d4?ee7?`uw3R6f!0N>Gk`xBHf zNR4u+c|Cl=DUAANn&src6z#)RA@w!m6C6^{$ce(3-9?fVH0gMZ6>NSPN^rQxvX+Q7 zbq~!=^xSQXxOMT1IAqSP8P9Gpjgw@stcrw|XWi3_XB(iTW~331`8YWdyD}sF6xvXn)_GV><85@?L*}OR8?-Q(({=6cva5+8Xlrilg?B~?P?A2~Ohw!xDMV?S; zCTP{IeaOZ9e>c9g9qOJO)%nwXfsAwGMSsGu*qVf67L+%7&Tie{KZ0p9LPW1EDgzZ0z}m1Wr1MolP5 zhIDX$MNH4Rt8Nnw)6&Zr27&5_Et6oPgFiNik}C*ofR#fHDu<{fkYTipCMwJ(si?kt z2gLisZiQ~a7#Y(gvlb$N(W6_sqdq#BIWU2iODowAdu;`~%AYB)v-H~{les}419YAd zB#!8f)e{@tYHBy$c}f2hM{zv<904Z{5Wx}1(v_xqx4UYFS_(}=q%TUtgtiOHxXGp0 zOj&-&9R3)k-* zr8RjGO)*(}6^-~9O%rC1Uq6|;+rP@)w^)h2eLWp$&e-v<3-L=5?f5`?BH?QMLt}7( zMwsqPCb^YDZw0fA@_dmKk%>?DF~0`fJ&LQvZil`V|2#*CpbWH-<*MC$ahU#oQ)tz_ zF$8xy2-nHajGytQ^X3zZJCGjRGJb4*nmZL%^^AL{esD=^#XHJ99~3jY=COy1@OfX! z)U+|g?S~L5CHdgj<>>7y?!mhC&cUW&_`+m#xg8a@;t{_JRNpi>ZWKJx!Z^h;8=_(i z)Z|I8hEx6NES|s2BY(QJ?rcLw*6VQ1yKcf&h-hu!e7a?3WSBhEIwbT#HzL@Q7AAGA zlZ7UC%Cl4t;x#pHJag`oC>2P zV|;7lwVBfY83ZyO{of~Hl2>g3=h64~^jXid2{Yi4V7ZZdb4d6W-}BhW;AXjRqU%sx77>3}w5E_cxiupdr^1fJNrbl4528 z<&#j)YgfIBF&qfYZCTRR=_B?(Q>X1H=UF!@P}feYvr@+JMP`WyPa`E23d6~XOjrS` z2_-si73H*FygfP=iKh?6ERbAEJ;%mzjowG?KUTEU4jyW(ArBk@i+jyth)&sv4v8l0 zH=UtAeb}c%k3voeF_L9#>hI7sWtg7;#NmPoDYkM}=*z&F$igG#F55!OS#$gBw&wNY z`+gop_fLjflD|WIcNwb@Q1b40?&*A>aDHFfKH$2X&*0G90>P>t`m9E<5SQZAbTiS? zM}omiHF>5hUY0;`tS)W`<>JrUF|QwGZf(|9UqgGAy%R4}M@)WRiEWUnj(X4Wk$_3` zB(6!GKzhkZCc*gW+jwH!gv75d=YJF1SA{tw3tx7LW#Td%!Se?-#vYNOuaKtd+(1*H zQ}Sk>Q{$ikc$|#SPBGf=&M)?~Pk>kbJ!ca(>LX}zga~MR zzGBtR1H4r|BvG;t-> z0n^JNz>+(fNq*ZrYz`***~-K^an{Y3-#C5da&`Xxe8SJHCk18pf{QYwUwKC=iZ3sC zn&zaZ{3B|c@GLd?vC=AZm)fu2b+F(GzQ%tDKS8%T0(P8Ex~}6FRDy(^z6L;XWiTE0 zm(!EXk)H`Vx5|7ComCBcuBO{UMbG6BSVq&?SgU(`7+GKt*~}QBja05I}knsi8yYK@_lpjV2`&X`%NLIwD95 zy(ENylt>AoC6qvNCYJ9k_g?$n^W*-z=lww-OeQmL8TA>@5ZC#hBi~??lmhd%lb_TPijlX$UJ?< z95+UVZS0xOlg*>8ouySmS9j&2Pb+!)G6>KZMwE)LC`7Gf4z_~vE9jKe-cM(=-@`)(YT z2wsvVM+&YBnC%qT;dI*XG1jaA6FNoiozXDz*Ys!7o!iM;nN*j|&S9@^Nz~3Tz9*os zN0{kU$g+O3TB$$i6H_3+vy%5|GIyBp%t?pAa|v4$2W_*52s1l>_#1&1i&&^vzF{Cn za3(~foX*SJunkorHMAjW2c6r0Eu?Yzxw2w8H+bN|dx_J&0k?g-!Res=C13bl6Ceyjr;nU)6N%Ao(o`@n z##!-~gdM|M2RPLRu8~J0Po8XNE&L#Nb->>N!EJmIh08PD2?DDqbT9Y60o&d#sr7_^ z94A#K-+D4#>V0eOyh;-`xAyOtSTpYfdGE-WEh8P?`C>6Pgx`qUdZlCCx~kO0A>}-) zg5z0e^1G+us7%UB_t0Ds-;Xj$md`*qBeTO$RaAy@MYRQS+hgYq4C$GB52`aObUIFw zX-Hyiw7-E{L&IWhcsg}9>P4sy(a0x_TXJc_GIWyXZ=zF7OaIcFuc2tKkT1Q5h~wjy zMtt_M6FO4ENA($79=@E+2xAFgyTy7R15}~3TL$lAW~k+r{Pv*ychZUx_S|WowIcSe zDU^Mwa?9wsvR6$ zzQUe0>J{t-fAxTP%hDkn?3fUy=c~!ub_>f#2Ghp9hMf z8g;a7wF6qgNm;Soz0Q5N`AcH0*hZ>dsnCWE_9nT`^zai=OS-hfm}{;GqXvTy**omXs^@Lzm>Y$)$jJada;(TSaN-M zPh_|Mxo7^6LjREPTdPoN)wlw(PdK~J?X{-@#!3vj$ebOzQ5Tu-t6~ueK|gB^s7YSC zveKUP3SIMXcG`sTAgO&BF5ul^9i8u%fHc$>WgXFr`8Om2M- zT$qbZj%oy5R{{H79D0|Odp|CBwoqfbdKGO*OMs}Kx27M{ySl!>h?@#?icy9}#k zId~|h5p@nM=X!g(iVt;pp}(q8^qJS%?N71?Q)fPp>U|V6)0vLgESsXmv!%wW<*tT; zr96I4<;~Gy12f3mO|WK2%Y{c(=Nu|$kRCp|LNs^LN6d&*_d%0HXyCdu)nNn?iR>~C z@S79I6!|xdL-yoU@nIKbN1sd|VdLZzgL7U`QdlwASh}J<+mXeib77n7@+cVF?e233 znAVukImFde&dcNP*iJsX!DEScU-Zzq8;KPfDBo<@c;PVcQF8q$T+oObZ&>?vw?ZU? zIJdYkTeM`LtR&f5L(+yV%&kw7vrdH1H|rarKQ>Y=JFB}yS(S`X>uo6!i12vts7|MZ z&#-4g&&@Jk#5VrS4*;yWNQU}E1uArviE3O%3PXh#IF#{O!RfT8y5sD?+*8ciQg!>( ze!Z+tZ7@A`2taBmd*Iv?xT~Z`4jFl)Pf|xQF<)6poE0;VH>eU9-G)c{xx%vt1F7T? zVav6(;c%BSZ|16}#Semq_^YEB25#FswuVaS4*VsxW^|&j)S*$}t3=-;Gxw1BH`N~X zHaW9STy6;g@X>$?5BlD+n`l>`ZKfVr3zznQEoghZWYX2T;()Sv&B9Q|G;c^twwoWe z%7(s-6HM9bkK3;wDU82b^3f4>(v7_;IaOlRTt;W&G_zmsd^k7pt%Gw3dHF&7H}dFo zBH^t=n9DGAzatX_CqyBCkiglROspRJQYPPznYp>=Ca){WXI$6O0Ckd?o#o^~Ub_RE z!!1*>Zpg~b$>xvl4Ta-Ha(`V=!yRokMpvQv5rgwC?dq<^W{GQB^$%KNLjq%5pC(97 z@2OSh5NDl${U|pEx{o7|0lF^fFlT#%PQR`5BlJ<%vkgjsr}}PkuJl2Q1hcjp@b!Lbp?5IeiZF!^J;;8CfZlx*^n`I<1Tiaf|;)P zQrH81%a(_(oTJ|aSl{aLE<>(brY|iQ@}b)KeEM@%6S2g1++cP=GapRXpZ6xk3i)R( znJy*DMV$`|1EHcJ>&DK-lK4mL1h2m+qt@(Ui0e+|x(gwIlKy;h+e4g?(fpo!u6+q* zX&rM)v&iJ3i(=gm@{*^@Do@X@s_zZ^$RpobZNeH`0WBXE^nc;MRhxkPQd%Qdoosxa znt)t@nB%4ISVpUiawsYenwLB&eWOUb!^T@I!ma>;s*PxEQuOyikzU8RB~{hS+So}x zAtq%M3OMZvj~?-JQJ@;R&N{M8rx)nM36#!hmi;_(s?j$pd6BX_W2a~v9*Z4YhXA&e zWZ671L}OROvd%%}Rwtrgzg`X5))DnxpjLURC-Ya-RqH6^AYlLf9zP8Q#ol*{Q3q@} zeq~fc_wJulA-pJ14F!|mxVQ3W?S@qGmu2yf%;XOw#FFi2JSmlb%i;XBkUJ}ykz);2 zf~fV(fF91QwxgTrS3;vOfg}-%?zcBx4K@Lr>Rt^)ZL!F!)fSfIsF<(%{wI=#2JyZx zp_R+3M)Pv@C{jsSl$jlSZpTF%vjnuK;mmw}F`wV;7;8fjs(10Fqj*3>o+|WAUKIjm z_YB&4Nd35YS{Xq*_u!bHv>yo?ssDi6va`TsbHY6g!!h(V&s@Eu%xKDEmZ;CMn8_c0 zGLyHT9>KB|C51Ds_**~IZvCzDX=%mhtXD*g7KO~eMj3?_xIL2TZK@Zl;42;@k6N#n zPGR}n7>SGLP4*KZW63M4v35j5XBIt{zOn?_vG^KGb4arW<7jZZNV|Bxk_kC4z3Hgb zv(vJ9{P$GKG|FcuGg``D27Z&fxq)zF?Wz^OTk|VY67&kW4=DF9K${?64C?rOsq_JC z&)TE>&s{6E+tuWqdyiX!<%q23IEMo#_n=7Oqs*LO2#MHRV0G1{Q(Z>+4ww!+mVs2^ z=zH5Ef8~1CJ7nEiUF+DDQY`T=NMftFNUi*pZPOz!vNXgmhDt4L1{x3-nd2a*VlvpO z+w*$jWtUQ#G$|P0T*AvISl=kjIb2rPU8s01GCce5)VAwS?&I>0zjP|hwo;b(n5f~r zp7tFzS#}2!Wq!hB!2EOsPg4L&JA_XP?6`{O$Dr+IG8_x%AEFNquI;17#b~V5j#J1H ztfPn$oD0fit2Az**LUR0$*-qMpGe%lIUquLTPoRvnF%eP*E^@XV`%@<1UO#+x~VhY zHs;I&km;orA1;}^791^?Kh&KY&VO5$d?w~bL*jwD8WBT_1Z$gxtDm6-i^y*V-fB55 zizNc1_!n#kxi7EEqWYQMk1EPZ=h4dsiRbCpHNPVLjFn=-)s?%TL778o~ckj1Ml z(yy2$pLWoZCHY{YjNNZ(a3=9#^T@{UWmh4W&*vO_mxoN%pj5P7Z*G+{CcUQUHlT$X zYr;XLMqP!J94w~DG51E^tHVPOn0*9zd?cOqEI0_e3kt<-ksyZlmYG9h$XZO*(> zGd1KG)(2g7r$E5Aote>8?O=ds{#{mqxd?7G<`=h+^Z*eb1m3Gj-NN&W=)7Of$%)T1 zIxi=E&2So3V}vK`6(NbT~K`5CeTMv#92qka|5v~{ubp+i8D>n>iT z3`)O_4IJ0<77j`-?H7HJeNFSBZL=r0b^>P?h(M<9_44dE{2&WylbkarUz5ew`FDng zN^g4NF!g=<)*-%IPqc@kIS#1tMTulQx#Yym9}9JNF_VrvxA02nlDr9ZR7Nr_C(AT+ zb`8<&Z{+4)2x-!Wz>0!hBXTu7Z{HqTwl25X!yv3PZ@I~v&lozd?)0$O$-y;3 zu=a)eP-(3)SY$dLdScK=^Ei**0WIY-UvwR_;g_-Z7daHK7@cv{x7HIzmVx;J!FAbS z;-wW?S!cGe4HV4NtJ`@dqw$*WV!>L2EMf1RCi9Ki28jxyx#y<6b;ymwm$6PiZc$7+ zqc*NMe<$)1uRv(=35=9uakhjp%=_iwYvN+e6|xK_Wjw~sQ*dJSMqsmF)VpI9F=yar&CR59Dd0Z|t-u-Jb817B8 zZy~Rn#v&J^#5c)FXBAyO+C~s%D{Rc;jwdv#JerjI+)b35pZXOVIn-SQL-TQ>ghmon z;(5Aach)vdsnm6Wr{MAx2FzsQC~@y$BmI|Cp|rOl!g1l;n&dvqOk`-rX}-rrS!Xg) zEnAN1rJfu|&bsk}$iMrBpOC7=j`DN3%BIp?yaR`B+i1qb%q~1U&ZX}WHYME7Qx%Z0 zMaGX@rhD!refw5>HEC_$0EBmV!M#+R@oi$CgyfJ&t9u3FWcXy1b73R;^u%W0_LXNB zl>}C5u}{!x7ZhI|_7RoxkCG+1nW=1TK0)7s$gY62*($yRky#p)(VJ(zRV#k&-kGFLfFLn${6LZm6;&`@aQ z;`bOa`P;g0hIxp)orw;bM97#GBe!&+kqSEKzU!3a|Rec|2}jm^7Nzu@xoI zH$CMFp`AYAujJ>geG%GfuKDf!^A8stra-@FS=SN8*B2^h&yG3+O~Xb76Xy$eK@3gk zbL;Nhi^NHnF8g9GR5$@n_Qb)N~dzqW66Gu)cpxZ&tun;pbxlaU4&DL2Vr;SJXOMCU+c{Y ziWx-BUXAdoRj=H3LY=L;_u_lC@Pk43G+7mtY@XV8Ezw)E39*4V;qyRD{`{T`<2YmA7YrUn9pMlrps;(8*K>UB;A+Naf;Be#rjwj}sI#PJ@K?b19LMg1-J17}0`2DeNts@XpRvvgloH>h{#UBw;SGxPpdTz{NG{K^w&X&9|N zv5J*RT>3~_DWOY3$G*eVq$v3tJG zRj72lK=TkC{WiCc*n0ob(R|~-#*RE89Tt3mmUv3-iYM>#t^mNH+K>Bzx)rf~GQc4* zGnp9$qf0d9IQJ>(IK^~{Y6-CU{I|ov&Au12pW5a=xkJRYi#eZXcf9Mnu9Imc7M?x! zR~Jh4PW#`SZjA)~;~pn2kjq6-PXr5_^b&Fq%wwANC#Jo|22{T$z|uVYBe&qe)~l_M z@{w>4g4-TX^DYw$u1uY(;c(O&GycEiUO!o<{{R~;ZAXv27XxCp{EMOyq@e0X(fL}% zWqMS4%U~6=a%?!I`f-r4LQO*%1#C7Av6ZeeZil)q#X<-Q92OPM`V9OxF3czl-uz_J zRZh#`6ECom=S_Jwk|@sb^1H844`5z8MSFen_zcnf3gi|w7<#bmt?dPI)rQ&;Gt?O5 z&I>62M{}dwQAJ|B_t!nsD5;@-gFvu4WL7cK=Gay)CT0OQQ+vA;CS@Ex&!S-VZRc|PSrJ=-=zYY8+7eB(P%dnx zRfmS(s?h}RUWtcP=~wFsG-;dG@QEL50)XJU3(ZAm)-k0}IVfgWPtNLF#nPbnKH#M? za9CZvsUxKLiR|Zi7I|`o#-xYJu$4m&^Z~i?UO)rB6@P@t*nSFjVaAsr$3-w!O41>{ zjWl^wSx(UDqGw%Jx@WR*$(@rWjH5)uC|*F`;Nw%mA;pZ^*eA!kx%V~sqTCRv!4UU_ z;8F>;{By1elgyu{*yD1{sxcQu$2qs@qU|Nw4;nS#p8aONniSty-s;S2Lr}^a7W|>x zfQxtelTyj*a_j#5q=cH(7TKoL0cr!Vme*xo#lgCpPp%u*C79Rb`t#>NPkASPuHzb| z8`ygjdc)T8ipB%jhbFfgK9Ox&TIet1&|H9HE5&tqQEqS%UdlcBY;!D=Yvn+Q-9!XwetUWPy3(Ob_f06cm6YL!2juN48FC)N{&peo3Z3i_c(iv zqQr&;6017X>uOF{7kbIU!9ttak4h!(W*bIv1=NJ4!8z`7l7a)iXZrj+{Q?MG{^vNH zVNFU@*qQLZySSU;=~@t`7m36xpUb1hy(E4Z8p0Oa(735}bz9LBxqC|&>GiZFZUW|r zpO*ppD}T9P;A-+xBBo+at`6#MMoWyN7mLYTVX?BK{-puivviBP6;1fmOx;Rau9x?k zx0I6cYxxp%)b_^Mk|9)nxzJ%@DbsaA;)DHwpfjpHjre}l`km`!*m{+r$dA}-Y(OPq zXO|BU?2$6JTMj0w35tb9Frm0RLWo$DRDAnwpg<$DXpA3sxusL7WI@shMj?#)zhhL| ziQ3s(r`N>Qt-l}{t_yNiZrVHSECo=}u#Td)VQj;LcB{m2^p3l?CfQ^g4R_?qt!rY7 za4gODPxFf0Pk{Qg&OigDtM#htYSy?VQG_tBZ&-9#`B}M3zSTQR!EucaBVUNbV)`~$ z=|LS|`Yd}Dh*>XNI;jdFG1S*4N(`2|l|n~KMobV_U?H7Vo3iuqvw4HOzfj26e((Jc z;edI99DS2Y?8~OtcjC92UzfS}g4p)2tr2X)b#?1|97ywpQsGK1i`xkj4Y?v&a%xG0 z$|-)jl{YjgRdLwfy^7C$)mdEuq}6nN949vQd^NAMHr3|o&bcedF2(#kX?tz`OiT7sg&g!vSW5SeX zdQE@lQ6T3YxORTfoo|ek&s9tI;k$uYHBx2Q9PzyXC_Q$^Q&3Xuj%%}E2dGL1I^{~- z=3K&dP{Dx9cD?Nq5fJoY|^SffvDHOUHkhg{|5Ns#ZKPY<7_d=AF5=Udwz$0+S= zEl-rrZMK7D=lO|R#s=Nggu1$34U!?$SyQ2@b~z5u>YO|J__7LS;%#b^!=sj()f8To zg4_owyCI{pZ8KW2g5OMC+2VV#A{hk-$FUg_hEAQPTcRRt+4&=jT)V8x#y6?ZK{WjM z*p=>{1{?9x{Os?*I1~YI8%y|z1ZGXZX((k0+-6-r>86B=P@qduVh5x?vvJ`lFA-S% zTGzxl0l**@3`#u;qyIo(s?x~AYUO!FBJ+()3li+Z(WJYK*XJ33A;(YsY>Wi}swzN1 zcq!?7kr?hhb9;czrkMfyF4w2M#sfu*qiC$MOysw-CxPvTTV}jkA$c5Ulw@u71EnBY zdGWwF2#bzQSoet3BXdNW7FXG@HzPoGu7Ahv0%l(G8) zArV4j-)!pagaen-z=|b2Em98JGPUsHxmuuGL}$P(eWcF@KA0%CGt^|HGvlT3NG)+w zZT{o38l|b3E?O;Nz0#FSac%?z8S2~mt$+ejcp9aXTjzA$NOt+ix%N>m8_e}0#aN8;D2T*wl_Ut(Bj*C^zd8XV_9nR@D%&A08EWzml z^unUyF4S#z{IUPC2HElDN>!^K4hj|MLz#V6Sg{ie7WZ| zwT4O5b#;0l;9Ntz$z2RDueszGqTsnWFp(SS=RU_HcZrg@WLTYi00@`&uh*F0AuJgN zo?+uJIq2tAv00;1GLrl@*QxeRw9WQAmZ%hYG8b@BbTpdn;NZxm`d=#_^t(vl0xv_o ztYYa3jLvCg5kPwZtF z0v+xAbg1Jt?G{uas~2 z=-8D@fV7h{LY+3AyJYAyCOfk>uETf4lsnUOPmlmK;7hGH{fZQv#7Q^DWo*O274QeN z8l)Mg!u{46sZX3uAMQ#4qQGii$vI7W+RmKPjtccX9zHfEH+S}joP|8h(F3&Fk>nQ7#!!cF(`)e5y8TC4S~ySuM%v-R33(2zP&sr0c2VPqVjfv6+B3xOTPWPAuOEN z-GmVO?~{1=pBv03Z!0X@aZ!zq-ZHv9JhrTY1uc(52LQHETc7}cdsrp)cIBp9$r}72 zc)HwH)Aj>4()rk&0B3>gqLl10tS?R+6x+YiXHgxm4%DGi18iI>1CpX(^ zL+sZ_96t>3__*Z1rn=a8=gOl5?y)FNFR8u)Kix-F@HkPw(F^h3Q&mfbo;h1nh!Ko? zK3l$ZJ1fvd9f1+sAo^ITJpa$WnpH{WfEHqei@x5wH1dv<6Ih_P>e0S_SW@*I-42sm z(F?rkI(G#ac8|slxxVC{89HWSp;qfv;~C0$n#xzxmsoXKVqd`s7&f94^)&Bm{hNux zyV;9l$*IY2FDpeng40G?h^u(o>tSHLlAFH-zcI$ur&piXgWDVUwnrmR*H+lRx92121Rc#Ie1No!$$b=8%0D#u+t&1-G`?Z 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 - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_add_true.xml b/app_ipc_monitoring/src/main/res/drawable/ic_add_true.xml deleted file mode 100644 index 1b622a26f5..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_add_true.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_border_green.xml b/app_ipc_monitoring/src/main/res/drawable/ic_border_green.xml deleted file mode 100644 index 9646ed9e7c..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_border_green.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_border_red.xml b/app_ipc_monitoring/src/main/res/drawable/ic_border_red.xml deleted file mode 100644 index 6733c29059..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_border_red.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_border_yellow.xml b/app_ipc_monitoring/src/main/res/drawable/ic_border_yellow.xml deleted file mode 100644 index d5cc348db9..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_border_yellow.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_driver.xml b/app_ipc_monitoring/src/main/res/drawable/ic_driver.xml deleted file mode 100644 index 86e1d257b1..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_driver.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_minus_false.xml b/app_ipc_monitoring/src/main/res/drawable/ic_minus_false.xml deleted file mode 100644 index d32a9ba9f7..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_minus_false.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_minus_true.xml b/app_ipc_monitoring/src/main/res/drawable/ic_minus_true.xml deleted file mode 100644 index 5e3bf24a2c..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_minus_true.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_pack_up.xml b/app_ipc_monitoring/src/main/res/drawable/ic_pack_up.xml deleted file mode 100644 index 328407001b..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_pack_up.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_passenger.xml b/app_ipc_monitoring/src/main/res/drawable/ic_passenger.xml deleted file mode 100644 index 19739491ff..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_passenger.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_pull.xml b/app_ipc_monitoring/src/main/res/drawable/ic_pull.xml deleted file mode 100644 index 2a5cad0c1e..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_pull.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back.xml b/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back.xml deleted file mode 100644 index 907343605c..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back_true.xml b/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back_true.xml deleted file mode 100644 index 6e5e50af88..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_back_true.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality.xml b/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality.xml deleted file mode 100644 index bbe2de802f..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality_true.xml b/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality_true.xml deleted file mode 100644 index 5c35a310b5..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/ic_special_vehicle_minimality_true.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/icon.xml b/app_ipc_monitoring/src/main/res/drawable/icon.xml deleted file mode 100644 index 0e2c205a40..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/icon.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/icon_dev_status_net_disable.png b/app_ipc_monitoring/src/main/res/drawable/icon_dev_status_net_disable.png deleted file mode 100644 index 885b4603f045d78228be56c2f633336f8a00c10e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7558 zcmV;19eLu3P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91V4wp41ONa40RR91U;qFB0I4%yP5=NL@JU2LRCodHT?>#@)tSEMcF(it z!GHqtFvtMLM*>uWvD754Bp6ex7$az0O~rSNmZ{yfwrbbis;w<|Q(L>0sipezw1Fi(b_neM*(egA*X?K@2~(@#Y4%-lZbp7Wpo{Qvj= z=W*{necO0PX;`#qc~g(y+nx^6GXl?V_e{|41?B{Z+vIrx4wKNB3Yb2m4`}T5f%Zet zb{H?y5i_yvEt%$y6)P5l=I9INXc6h6Ywl@2(3?3EK%V0nbCwr)r&UxoLYG|APCHYAKY_ZCI}W|m{tgDxZ#Fh)^v25f5dX~`br9T^zjOow6_I!+C7*&ww_Z7p^knYW>YNY-?(zwHM`1{wQK`?`-=PKWQNiY0Q|A# z3iIizZ}$5&u`7T7>#H}FBX?O>p5MBB$+?+S>XBm)d_o?KrS8Pw6EVPfi|+njkTLgT zVrnc$fKPQ@=uQlXMX7p}Gz76hT(AM`QuFC!bHW`7_1rSE zA4}8=3SFWWv!DtTiK&jLpc1$E0&xfD)NHJNw= zuRi&Wk?x|7s4H(NR|0%0=nf2JI2-xM(iRS4DU{iEMwW;2I$FjBhahMZ3`eMN*dD-# zDPG1rK0@7sin0Pn9<>IMbd-z96~|QVDZR>-BS%4Usf;6fZd50x{b1qY9_r-f!^enx zl9kJ+^mD5y6vRV$^?zhh-|zr)ruDN)XnFSas~hB8qWO=_CwVV*q^exxcc z5KCg3uU1|IbmAFqN@hY3M0=5# z_4QzBIfvt;G1)5cms~hE@xU*BG~s9ebn&<`&2_P;OmrAFPYH(0#EilMu_UJXs1GrK zct0PYS0IGL4;2N!D=wa$IA!L9+J^cX|C%41(VS?gg#icxj!Xt=9N0FIH3ZXz-_W-3*Y46}b(o3gPCX+@l$iTNj6L{5%5vvOeYb?_7 zfUzu@o=d*9nUv+whkR5X@<{F-KQzjlk8ufXIJQ*PnT~NK~089nj zoQlH?0D%nm?c~suajGDa!T51a{uic<39k+}y|a68Aej;nGiWrENsA#SPi%?Z_Tz6h zU-kXDO|clZOwkJoW}c&=&i8p_0vHi=dH^`*xu_Gv#J(6q%uQE+y=Bt)7R+q~)EPN# zl7lJl?RWn)h>c=mWi&`J_t=U-n8mhZD%aCx7?A zUTKqtU;-Z--qWl5;Ytk7RazLsp77iDr7x3``qcLq}woj}{r_j4n8PnU-?{)R`15d5f z+|uBaCq@@og$Iq9G5fpwh&^C1UQ<(p@8nY1hzretxd?p94iT)y0Q_=> z!${uo$2G-iG%O{tj7*vS{vq(vHtK5G26(#RPnNxb*AJPLf8f>C^ZG=XBDOvcqv_3K zd+wAeDK_&Ib32L4H&d$hguz`r$JbeTm$iXt#7=ZUX_(4 z3>>CxLL&7VO_uZtto7SK;VKGW3#v-6P7lr87)yQI#$Z06hvkI5`!P2lj~}(Qaew0R zShtfdNPDks+BwvF0Lyij<5Pe~%nTmx{J?=^u;KNsX@X0ypD>{{hMpw`XT5!$eaKet zX7jAaqopN*p-K66Vu)nfFd3c8urUc%H+xomq?pSP1cRJiJcHtD?C9%e|hb$TCi3DO+`y{y_6JNu}Lyx|kT=wWooKa<{B10XD#B+lO zmOr0-XvOLQ^5dlv?{3eSG1;!Hzz~YQy79e1Er;*f+u!Xcoe)RBYDb5uy`4R30Fzy# zI2kJz<4cId-se|AE5`H?MuZyySFf*c-Zkhvk>H*+Z~CwcGm`Dy*PB_hep`}@BZB-g zE|3hakd47T2|0{+&#zwS|M5?kbYo=${6U9$-QE3}Yj6Iq-lg|Flf-wuKnvt)H9rGH+xn} zMC{}I9YM z4IM#Uq%vMjZOl6fLy+JPUR&SWH8?PkvcN+F%EdqSL{X1tB9)w#^Fi!kW_$y^D#5`| zB?z1!tXbcI*-;Sm`mpXEfVYW)7JLGx9tp{O%JuL)^fG|&gBCpkw5-Fre=oJeqSi2wroI7Wa;B~~B38U?4PiSGp7Z-4)GG9HhalV?n*{okivKbXP{Du6>f z0w#)DZxfB#f+&obLkoBTDc}I-$H=8#OOQ<9$IzLDjKGl>0rmxSNpsv66orhWGURY_ zxa)r&?>hGza~gN;{y4RE?dBw9VqlAscKmD}+0Z~`2fTVA4n_&lq-<`7V*o+vIl#nE z`@v&RZaRqD(C7&nV2UvvK~%9HGC{J66v!uG&^rLcjzG#)v|U=lC|n7JLy+_ag0G${ zLmP(=@nV6LX0)wps$<8Vq3s<{^?;KYB`TNHfHCpMiCcA1=_p~jp$W@8zWAc@fulFn zA#}oAI)TVfQ0a}xA%O(+5-Nwg6RbfBdKhC2J}5+t65JIck>oOyDYp``&9I&{g(4)` z4lB!vf@pbhSp%yGU-FT9uoBm|RszVxs`MPk!?Ln6P{;B@(8MP2){$xls)Ro%LM-G1 zldUSqQ{=j3UPKi7CxN2A8cRa#$Kl6aFK}6#H!xppjTjZ8ywvw|YN09pgG@vhGEy|k ztg=fgr&2kmCQ-E>5Q-&ZC4nOn7{B3_c>ZlT7YHCkR}iLhsxG}wlc6_)mOS{+2PrWo zap;8;>+yb%FhC|IZ%)8y3NeNvq9;QLD0KDDx@1P%f+KjQQbR#%kT(Zyn>2vJU%cdfv>86DEtBK0>h@kIoDXWjP3L}jYTZ?rp4mKQQXA(U(SqJf zZ|1=u>v3o)b?jiGGztx5&C-CLe2I!&X^BC|jD}H$T1Nh$V^M^b=dL~Urr^Vm_NN|y zVs+ovcXtfwoIyjvbh5(2yaGdrQB-tJ{vvb9AGqw`5LA^H8D)oe(b}7R`sBLX|N6Ua zQ>TorA^23@-Ooo-03y)zdK@WK?BS=+9tII5T;qhR+iK|Yz zcSGf+Kmn3G0)&G`Auud=081K$QjQM?s(@{2S%!aG*V3XaG>Gtvl+zeuZ1U5#c?%?+ z4$S!r&Q9nq4b;ceIPJlri0Hz0DieYOm;>Z>UzOpPmkSjQyeX5%>0L>YUcHovg4O1fGF_vuE&ARy{}vD9Do@Bd%yY899;VFm{H<#4S53IMt^)-s2z3 z2JM!z6vmpsEiPDCdVm4s1$U)$7_p|HKqYNA7eKOri8q4*$rLCBf;<(#ET~Fj0kul= zxd4&Nf~RTiB?_+NqxH!*o1ZmYHedO1C?fP+0bwbDTO_ zxOOPFktj3a>`J#@1qMpROkXAh0c`+H$lXtuTgd4U}0N(5%YKa=)wdli#b8a|3;EWpNc6_4OqCNit$c6wLN~x!oR2&qmW%>*l|1+ zI5tJ^R=z}&} zv@~VGBNqW&X{87sK*76FjL8er}keVHH&7IZ(kZLaW1z z(uM5{@R}z^MO`PO)TKmNJcw(;L7AqElm)Fg(U2}Z5PM(VD9e|cRyC-Xg`P}h(H_BI zUTu9nwuSJh^Ab%BUZS}X=|-d*J?!JLbOcv>5`l66D-T;n3s~SC(DZ1j2P7pA?XqpD zFZ^=L)wqOOC_xjZk)yRGQQikIC-z*1Qks|G1(khMZH{=Vy!Hg?_EN6rxBO&rLwg2;+X^KoJ^qlk#P)SGfWd{X}z(4hL<;D8SU-NmUZL(Zt&^k)T z&x!`Y9Lrl}YSvbic^+m0gn;IN)8Rxs*m)3R})P$X9?J&^QOkY8V1%jb!tj zv9UP_dF~@&Rm(gjUudC2<_Fl6b6m zqV@1dTFMACI5>dFOviWYht@dE7tfE>cZMJX*DI74`O%}9pG~`-AiTsNj)qh;F5^Rk zy?=OUL9sdTokWwrp49|!eUUZZrChaOyp-%!Q?I3iIiQ$!9xJ^8Xc17!CwMZPXgvXr zUTnQu=#h4wE%i`Q_zPcxuD!+8p)p7o@{)5WkKT()r&x;=>MZ2IGYu}brzJ(f2KVyt ztjFU;)+O;Os8ZnV`KU9czyM4EiC)LFDlbET1)KPUhX6dB)&Wi9WWiJ#H5frw9*muV zoe|ik%VT|&Lk-7Ce9xXgg91QfMaG9=Y6?E1V6c&%l=d0HIy3;^B8~=SS6OLX^VOpC zxQC9<=U?1(P?RPhI7DfQvmQ&(l?Jy0KqTj=D?sC1fJdhDcqtF-C|}m+(50~&fpp{- z8jf{vNPRj0dCIvO^rbcH26TfLAHc|S0NO%rf`~fFiKL7C0LFr~t)@@KakBlb#|EaK ze&MOm_T(a2<|T)O2>OZG?AW;nJs|MfPnv}10oaKp3bR~0cnGTWf~Yqu4R9hGF@}1% z8i;A~Abb=X63+|)oTW1YYV<5C|hCT*v^79x4AIp zz9SlhbAlVD$fuy-drz-?=;}uutu90D8DHU!nfO9iSZ+*c7}y0U?C+jj-~aTpuN*w@ z+_{YxU-Zp{1M7(=UQBM;vORoTIl;i59f3?asF4V-{g>E&Fv8WcQbs??#|0+CbDYeW zIX!mnx98Whr;x!jPd<}e_rmIdK}=RL0xU;lX9b}a)M-vV9PeUcVjQI(W&plFfBt1l zw?Xw;QKItF>LvO(&&SrkA#dN_?lct_?}c?f*tIA9*4yvlt3-;J^C}Jl&^p{Nq;e=t zRHnk0hv3I6T3Dj7DG|;CJn!7MKRt-2G5lI9pCj`zWQGj;!B3oNHoR$thDsPkD zC|Gt~DE=@5z{0_|E?aUZQXW0{(cxe$#Usgq#*7EH$knLQNzHH18^+2c#&4_5jb@x4%10uhTXx_&DLy zC|QLND7DBi;ft4vUyC9$eBYqECnd6xFY>y(D1#ax#xbA!N^#EZjNF?<*;x;PU)+$D3x^%Q&y){CvO0 zk=Fner4lb}3Jm~$Y5?BW#eH@RL(T}Cc;$|zeH{UPiW_wWaHy!0AJIRos1&#GAkLtm zLkh75zotq#7-Tmz3@vh4@VSdx!KV>iQ;^doM~g>zVN=L1ACL1EFa0@Ov#eji2#r9+ z(Fnojy>)mUyint)2U3nK=m5m^0P+42#m%QeP97wX)tBo5bPP2{lu&yhh9237MbNp3 zph*yl^?v;N#`DXs`&WDt3(fnf4^b&b^4(a9UOB8^IV`Pb8 zw>0{?m%*DbvVohB?XbhOxM=NqM3$dK|Tu{=gm}sK`fF0!StPM$aQKP~0sSvqYt( zbmhg?DTEz*a+;UciA>l&MNp{V5=AsT`fDo>Sq0^C-?8P1?bE-s5HIrZzLHy3%(*Cz z3RFZ?kQgb6rJEy(m@6L}3$2hS9SVh>bxJ#IH44sl*$$^V+8BR%#uT0xm@}<}UEtPfBqrjyeXizwX?ec6C z8CYI?Fq`;0GlkSEn0qB&-W^WJxsvHPq`7$&E@H)z%RA@1`Z84E<=xbQZv*FVrof5% zb95^BRJ$8(o?~}{?v7#Hl(wL5I;`H|PpT>dUtbT53Vm}rrOZL%@PfON&ws$dA(0c8 z_yZ0_I~RW;0_*sn<}`oIpAwT|e?5bs6>R`k;%}v38Fw>=4cX1cykj;117cCi@5d0c zqKBX;&^jD>OR+>fHh)P8V?I`}*OlV=4#%<#KqjC6klQEtLvAzxf3SwXnS#z#x$6Wn zKB|NKl;H)%{8-Q7)G28W$YsW5S9@D}AueH;f9EoP}X5(Z@tLAlI7|2f-S zL`FWZNDqiMA-|bYpZq#*AufyNf11;x3xA5F!oMXAj zG?lY&r`oa{aRWpZ;#WVK4qV0ugJd?!Zunm|2AK^yXrysnsCoDU{ ziBHr3QC;~iWqqA*a1QKncDY+(qP&^r))3&n4u)RKFQmBr`MGpQ`uwOdK(69^sVU#9 z$yYnVAnh0?+A(CE06M(ki*Nbji>BP$zT|xuczYv$( c#?f&8|N6&UNE&XPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91V4wp41ONa40RR91U;qFB0I4%yP5=NY9Z5t%RCoc+oeQ+(Rej(0Irq-P znYj>P3`WE#f@6veS{&<&ie^krw5eukG0Acn8?m*`(loJYplM=^%dn6nrA-r8V=C%G zqlmFFBoZ}37K#s$G|-|9uRxbk9>Zhi4lr|Hr{B+a|9<=IbLZS~m;q(a{LgRi-}|xm z{{PSU|IfLD@;Gf<-#?n$UCOo<9RnSsm9njj%2P(8GRGm@oLuK9Wu?rIN|_&wbO;Lb z&B039IU1IoL&2jrm7TlJ8i0S?HTnDaXvcndbky#Ja)un*v9eNrR9>B?gb$SL(wtOZ zxY}0t18ur!DQ7qkc2uq#mU4y0mmfVWSKjxFgFPwoy@V~c?}Zb`e0+5Dp1tKvCFc#J zL3yEO@(g*kQ_~WSlUfpHh$NHnH|WDbMksz_B$S1>bBq&A$CWDybvOukIGb#;1^7at^l%WzoEd(G3!2OsM~WK7t7)Z6TZqaRT& z->cwHo2opM53x(q0sRzC{wW2riqMhCO<>TiS+}bu)B|Q`4AbT1KiLGTd&jCq`44F?lP{XdCa^?qz&a?rf z1vD*+3|8le4{X{{&Yu63!7lSXiZ5#?=P-@TTsV5Q0=rP+#~xHgAM~nzCJXu2hbQ^y zQV_f!C#urL(_~UU!Z~kwE~>}wb8okt}pLd z8I@oDj?S%48UkJ5mJgmxP$q_?=W4K+r!B6Oi{dEkBWdV7qPFe>qwUKp<*^9TLj zR|)Kz9hO%vzGHBWX@~iu^ULA4*$<9huH;`X4QnPJrwPuDekP}f5Ib6XDjMM?I zlNoY3PTfFk0(<%N!!US|P5GuDSq8{MkCyTtu9U6I%jNRfcaC13^uvLNT>zbIe|BZL z{Dq8eS<`Umdki4Lm=9=yb8sShrmn&z%>j#+<4j17(LIq& zjiDu<6OQiCpZXdUi9URN>*bR-S6Pk)*XhHWf)oW zx8L)ooz*;TjQ&B{JG)YLES`7hC+3z1D>}#vmzoPJg){!zCtTzs&bRI{dWl-s)$3Y{BP9$Uc+GZHTlYGETHf*c)BtNj1hqdVmJJzW_I;Qng z9$A`s=!Cp&Ba03iuH}+zV@nDM z&<+QLxA8}xv6C6WtxmA%oxIqs(|XiRdE3FJ4%5;;?1>Md#)B@J==L{Yk25*(X_Rra zu=V`^eQP;CaR-B`Vojd-Z0FC`WJqU{A)V>*Jq|vNThM(UlE(cEL$n`T93+PtG-TY@ zi;FBsV8-_}^(XK_OI_&5&z2_mgl=PakjsN^=ru``176y2RDNptcMtyAQSw%aRj+)i z`QXE4r_gJEu$DnEE3*ZTWcUL!jWe;3n!|~g7v@d*kV~8s2~GT&2s@tgp%WIB;1$jg&WQ%D|s}2-yer{iFp>;NH0{DehgKj~5q%57&laCRS4h(~> zAGi!AgEN~3zSFKx?M6DX4`j?iL&ov}=}$D_lLxz|gPWFo3Fbs-d?7C&J$|*qYCni5 z4qD}FLv;`gk9yekRkY*g=bgh~JP;fZSF*&-lrPH2Bu^TEk$#Q^TSAfsIp{Unj3ep6 zlXPz-GF6S~F$T$vN0RFjizs}SMSs{xI6+HZCJQZj=|-_j!gMD2nr<{!&x)QNp!rpF z`x!c`&nCC6O!h`IgYu%K|1$li&eRpaZAAIYovg4LN_)@+l0o%OnKc|FK&6z3HRGjO zo{sb(QqfyT#sficxf)y~6u>93K0nyt0H4k!&f{uE46Bk9GD2I{6GHu}JZz&Bzm{}_ zf7Jo}(_u$2fE`{^hVd@NZ|zuly5n>C>#ylJ0#2O`e8PCnB#c9GGmV-%C&t=mhv?H7mT)2|Z@VgF<*rf?|aLHBexoRFScwym!L`J$T@?9MPwP0SB74O&7^mA?MaD zmv@{oESuMta{3Pp%fH(`)TEG4D>@A2PwIC@rB{ttR5(6kGFA-|FQ&|ip0+q=+A27p z06aP(6%$V{V8|_FVvx$CZ-7^78F!52s0a$;pFe%n( zFTe4US<9dC)IoW{|Bzjh$K(KNRea{gQeJw}I#6ye)hhUtYxj!>zXAzh{^&UssB6svJU_Ap0d8Y>t&l%fQMaxkqYoPH$Pl?M2B|==OI>} z^cpI;-_m2*^ZRs;z_xT9zeQ;w=@iLOf(U#2!k`&pcHDW=1>NT*W69hA<>#x8IeVn3 zRa+~7pHg1YgR&^;TPPi;Pd4NOZ8gs0bV}CQemHqz^+{XC+~3|)_uqQ;QulWD@KcYE z76Z&)-s>vPsEXcvvf7U%7neym;a= zRs5%ZzqYsK1qpJn1(M|Da;JQMlC&p>0@yNGkD0p(kAkT4pw*tOBuWdyE)hitWhiRq!fM#Cu z-~Hf9*}a#UD&EC~a{7~)<@HJ>uUObF;CB)9LXMch&(-Cm&hTZVV}5>rxktKEX6q(- z%B+s}A34+S+|7x&${)K)MatQ3Wc5!-|6iRad}#5LF4%RDpX@_7N-sLC)LaYa0`TPs zF}^Sbgs)(_i6+w(Bj_qv+# zcCl1`@Ti*noQM)rt6NW~a0vCX9rifw2 zOkgwNVFwgAl$#c?Hv|g?z-1vU6S%t{R43Y2&oKDG)r0=s^CYUuKXEf#MV=p)%WbD0I2pA)gkf+(fHF}k2CjP{;HrG`m|-P9S0CB;LF1zfAm}_ec=erZAsb#eHDvmj`_F-T zT28W*m&}hMKjhnpLjEv=Bxc`=qssKNxsNZR<-TTKaGgUb56>ODV+BabMm^Ja+6nc7 z%O5$1%x88!R1>T$kcj7;@C4~Yi?{^-@XGtj?|tsBZsyk$Z@tRVQ?r-eT>j{@cZ8b~ z(ElHP>SpWmIY0sa^^Mw|oH7xC`u~rfw4tn*Pn^K9%Sv=EAliPYq%V4Z2;(u3*qxK; zCk~i=o$P7lS4VS0z6z@9YARI)9fQO|P!Q!b446kC4VV^=WkD)W2q}A4+@@KnVeZ{O zzHKw=s?&x81-?@L^t!!Df)b%jT=oskR((}vFk}nSn|8fhKKHM7m6!a^&T`K@`s{Yu zwP&I1c;{8+{6D+ZJbqWrJ8PZRKL3Ap87f`azV!O}a?f6Mpbd16G0(7^@yyNPTjl%8 ztq@M5*sAOBpcqOue^iuxxZg3`=!f)KA z{d!o>7X#g39qFSA_JVKRz2uYWF`J<2DOsIZcYa&%fM+NYi4~MwQQLl2eY9D||CDDY->3_iOL}6xzJ-k$lO9 zjQNLErp!_Rj?k@@va~W|U)ZM5_18CQ+mlb@Betr<$z`t$Agd^HKr<*5iIeLr~;*F*Z%BwR|e{(bPerLumwr)+=nYL=! znbV(8cHX&AKJ|ALKz`7yi+=cpEj}Slo3Q9;aWm^-!B^qk=;%nkB$%$BUYJ#Q$7BE(d6F_`V}k{Fmomo7^OtYP5>a?*hw z_ha1S9lebqAYKJc+}K2^8}jH8jsnnc2VIR(p#w_F+0E1u5PFYK8A0BX)?XYka+Na2 zAY2Myhn5DdxT2bY#F-}sE`b6WDG)yQ8L{1PYmdOQsaW>cg7jQ6>op!HzzNoWtN?oT z+C6rra4wZrnXz*kS7kLQlZ^pjc#GlEBV{T&;s5#@&0{vD^(QV7R{fJHg_~E8L|FJJ!3xW%} zOtv334j(do5i~|Vih#>BRKT5M>oo!7Bn_U%s{#y$f1vw*MYmr=333Rz0i&OS;HU8> z4tCKm>*AyBTkc*g|NZk1l&kO1C97wVjJ+MzmEg;4 zVQ~cAnb@@;d`Ux0d0L$&(Oy&rr`2J(BW7u3RDxac4Yjix3WaZaZV% znp7-^YnDtKKiLlX0!TBSLhv3y zUj&2K0mQigqkS&$4;-M;7#lH$yDZoA?dynBKa}Jy$Px^VXxYXlzB2l-_BV*5!ly+w#f<*&o_-!2iW(0Vim#$ zLK$>~4O1yR_}0mLpg?`uD596Sq|h~<(zFQ0To3+SEE6MFJ6pS z?q_vnw-X1F5qkE$!mtNYEp)U2L7AtMhX?+uQ^C^FF_B1g3FoAUyH6^(#tTojiqH)gr^~;u>FZ=_5s`_M>n- zvck+K`SIwAo^upVjGPyojcNlU`X4Wq(#GmIZ$<=vNNac7Ijc`qcLuG^X0#zxy|18G zl6}Ka20KCyIu!bWTJ;HxD~#%BH#4Ic-?-y}^2HnOvWlulGmqJ)V{YSmC(SdTEXhc2 zH+7}-Hmh#)x;mBD?%)UiTsUK-xB6yQX-*raas@Qx4IfuPG4m1d3J^1ekc-4bBNw!Z z_!$Szxe8v8wmGW;@S~>p?QxDgC3{8Lw{Xn#rl?nD%hg)Scs8bW$);m%mRf#1i>pVH zX7)$&Gpw3Wbc|>1c(zu%)~~K>1ghh8z{ZhF3=?V=LqoMJW|fx@B;AMjv!BU#AtdB1 zidQTSM=u)rCC`bK5UgfG4ko>>Qvvuz+2IAF>m>LbV}l7r=uZgE%ArrehgkI~coT;J zx@wR$>CkdJ*|=U$E>2-ETNuv~hy_V%0<;kwvIB z$6F2Kn$T*#^3nJ0ZdIvT%%o!nYVy^LR-54i^vWbCI%CBl5rV4Y7{b=_BOJW2(|Ua7 zBnVdk*~M7(m!~a{!Np-b+H`=U`8@+;9gt`#-*_sz(Vd9kuZdGKl$d%bHj)%ctdAT9 z9U0*(t@eF0M&8uINLD=V2hO_G=UsE%3XsP}>PkJFo2vZSCVWC>>$;LkZ0lxz5;`~H zavsF)q>rV>J^j`Y1FwLi*OejrdCby#tMGGB;>yjcSuy!z%yxstwD06%0cf370=HX&wU9{6f};1CSmbn8Hf zh-pj=A(FDFk9vUw&IHRuc?L!@y&6o{u4&+j$Gl_Q*pFH`X89d=^Go-nhC^|1RmQBRk3yP(#)9Z|Q$M$7 z)8Xk4m>8FFu3G_)S}K=FcppKxeGHqc6c`nWrJuZ+Y~-`m%?Bq3<->o=7bQq!jiJtJ zk%S;7@TQq33IeZ`wb^c7@smiB9lCnG^y{aZlX@v|D_qD`d+17D6;l1b{PJzGs?_*$ zn0H-@fqj;PevV@#fRhyjWDMs-gElDp%F*SL#J2+6f6idH^#3^t#W580(8|D(5n9lb z2UPOd8Pj=zGAy6CVX^%F7v_D}DQA97TqII@omgpUvrhI+_Gw+ zvv64~L+Q^|Qdb=lqWZ9)FKB<{GhZ*C``Wh@j1un~{S+Ykq$^TJ;EoZ;bf~q2Gwx|Y zH`7SJ)c(Hl&*jI(w@GODko3L|Md-Iez0{>!$LKO05eBJT(A{o4IctXHkH7j*`S4fo zD?fAE6Uy6m94~$XAC>oi_LlOux7;HI2$LXy0##zFwXqpxE9}6f!^{FXF_5J}3R(;U zA)Tu9sZT$yoVnv!E-=g&U3NqHv}XRkCE4XUqI`a+6+(D?BKo!xsvY#Nwr52wk)kQd zH{JPA`RdL54TZ>}KLSRMpaZ%X=nXF#6wc8DqowT}0~<~q$!^-DhjyC}qjKj1`}Lrh zW_mufMFIRIol@l6kfPxi{`kJIbgJtXF2$&`B}`8nlpD&&%4Ox_jdQX9{PBXB-yWT- zG<*czDGT&iorDuHOCWi(<0spDOZngtwtgBEin;hrZfU3w{S2LECaf zj4>P3OEVln|>9wH7=9F^rCvGmkCBII_w^Za@X>94lBS0U2!Z0Xs=0n=c z6{mGDyL5Z+n|vY8YzUU}Ej<-o3jj7`94NC-as~l^As3yq>t#=fga~a&;zMT7eGb3rMyNz`}VOMR%jn4 zQS#&5(OG(G`hOaazu9_Yy#@Mt1aB>vkW4eG!xtv}S_qdEsP|qV2@%c(5Xsd((B4GE_(GfT312|s3;m_?%I6+a{^==m$Cqv^T0J2q>|v{G!}8|xvBCR0jJs0{z>i9NVrRKl z0q~cMCMz5TL9iw{RIWCzF(@-p0B&Y*Usd1ttv9>_a_7l6zC$tANH&2o`~5fw);Kio zTW_=P!!vb^4+(j%CL2*rZL{yzU%wcYFKS|%hnE8qj$|6`Ve~7%1`bZpPZ`JuuY~TY1Am=}L`a{L zpFzg5cT$97#)a+)n7H1b?Dw=>jb4!?T@!+9Utj++#=Z*g%TC!Q;a&~+A$(2-R$-oq zCDvMRt0ARzSYD*r|D`c%+;eir!^z(8U8DEQ*Ebo9@-)!HX?+9&Pplp|NFluyMGbK;BLr^wso8(8*vnbG* z3?x6BWi&{b_%Xb&e0*@$csSXkv}?A_o66aHA1tp{Fvnp4vr|_=uc3D&Wm-^Vg+vM{ zwiYZ(NlG>XcCuj-vl9YQ{baKE~94^e#l z$bBDP!Z~=mS8<+wFc!OYFov1m8ogS6)}O7!c?YlxPQ#%z@GcqypZo}(K2S&7lT!&U zadbiR)ui+^*?QRb({ADz_lW{;yWvOr;6lJGLr$_F32#YP-%f-h)&u`R+MxVYx%dcv zwlY-@e{*z!{QM=4)36{DrL73?*^-BG^eb7fp6P^922t6*N>~RP5pZnzU zt1@`CgSXR_g~`J)(IOrkG%Xzk!kd9Op)$`GAiU+M4`iJ0gbl$*5hSmk=ws-9*zjAN zv;$0h$czg~*c@mBc0PD-)VR^bWBWpdz6OO_qg`FT@8DZc$~m4K91L!J=jdtrfvam| zd~0){3(~l04t6|kD@t6>LWC3N881&bZR_mL7k|1wd%sZ;ZC<1H;P|kiLE{L^?7J3YW=2 zmet_oFra1N^i$p|1R6-SNQC85Uc8==ji<6U9(CHP482LKIxBy*iId&9?}PRjX|=Rh zM{B+ARggQh?_aYP!)knJUyWXSJp1eVyD|E+9pd2KNedto+~XWT1U0P~J?|mQOCP#u zcAkERqwj=6Uxl|!hf8_u6W*-}HKM{UX$^YzhhUr)~z(>^h3lS1}qXLc3 zg(WU09SoXqSVsnxumu}4d4eZ#A&-n_ap+;3$;keMyy!G|l8+giw&88|gV*vsPspMN zTCd+@6V`m;&DI+qY4Xwbhzo$w@_B=g>K5kf<=A3dn!VHF$vxWJMbMCSBIwYB&x8W= z=y@`6@J_?0eCldrsfR!1SK~47hHo_Nt02Hf)R_4*%EdgxSFAL}XBcnXG=F&V-~>o{>_Nt0{F`w$qgf zOnGegdZG8U1B#Kl5TxIa!A)yi?UeG$M{>fQrslA=pk5Jwux8_I*{-BqJrSsa$OM8X zX_+`632{<@*$I5|HGSggafwHamh!0=x?AW=`^H1-==80p$A|bqz||7kex%7q{}C4e zCH%pf)3=ouDUko#2h=VXBgmF8goL9&p4~wwftkbxgC}JXrI|Nq$!nd`(I8#+^{zEN z!3T-1TZc>30dSxgzt5j;-hKe>Fc8h3!;qaSGV{y&?5LCr75K3z&*U^139(@X4Bjn* zPltMZ)6?-Mu4OOe(bZ@SQhydA#*HWG36YuJ?v>)RH0vMLKWF=>tbpF%y7pMCr2NA%-`@0F3$ax1`~6BLtcTlw)K@_72!FQY%omr_^}U8S3xA7~OTZB{ z$?aPvt|eVWqU3!57=ZvU!&)E3~$ld@y))CxW=8VG3$}_?9-8{ zI5cVQGhcG0em`G7;jV<8nn})tWpWc{ay(|nx+AzcsT!v)Cmwg;>5`tS4^rYAG%{Xz zZih!lczR*V{o9`P(drY{cem+*pqaPoC*1Wb;wl6`7QV5~SPilOp4A#BEgfyiRD!c6 z2PC{JKu??KXVg5a$>V}Nv39W@np*YTPO?2#Fynfx^dDUBzwxh#pQ)4Y8|OLivF5Q*`ZsY zJLDL@Wy&|4Cbo?Ok}3K$TvJ`;dA(i*xm?Vb>p80{^ZES7_dV)7ehRQU0dLX|%JQ40 zI)?gjJKa9u*Bzgt@tju7oK_4!ILko=_`M4sqRor;O^tWzM7mSwoSjAA1mz2H;(Xk- Z{|}J!w(H#k`Op9W002ovPDHLkV1jRh(zgHr diff --git a/app_ipc_monitoring/src/main/res/drawable/item_bg.xml b/app_ipc_monitoring/src/main/res/drawable/item_bg.xml deleted file mode 100644 index 3476874a12..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/item_bg.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/radio_btn_bg.xml b/app_ipc_monitoring/src/main/res/drawable/radio_btn_bg.xml deleted file mode 100644 index 31c702bcc5..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/radio_btn_bg.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_add.xml b/app_ipc_monitoring/src/main/res/drawable/selector_add.xml deleted file mode 100644 index b90c10de3e..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_add.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_history_ip.xml b/app_ipc_monitoring/src/main/res/drawable/selector_history_ip.xml deleted file mode 100644 index a36a8d2aa8..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_history_ip.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_minus.xml b/app_ipc_monitoring/src/main/res/drawable/selector_minus.xml deleted file mode 100644 index 4d671adc0f..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_minus.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_role.xml b/app_ipc_monitoring/src/main/res/drawable/selector_role.xml deleted file mode 100644 index bf22904e61..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_role.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_router.xml b/app_ipc_monitoring/src/main/res/drawable/selector_router.xml deleted file mode 100644 index 6d820136c1..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_router.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_back.xml b/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_back.xml deleted file mode 100644 index 6adf0a241c..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_back.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_minimality.xml b/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_minimality.xml deleted file mode 100644 index f313d33d5a..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/selector_special_vehicle_minimality.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app_ipc_monitoring/src/main/res/drawable/text.xml b/app_ipc_monitoring/src/main/res/drawable/text.xml deleted file mode 100644 index 58c4db851b..0000000000 --- a/app_ipc_monitoring/src/main/res/drawable/text.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/layout/activity_autopilot_cloud_config.xml b/app_ipc_monitoring/src/main/res/layout/activity_autopilot_cloud_config.xml deleted file mode 100644 index a7b9a9c4ba..0000000000 --- a/app_ipc_monitoring/src/main/res/layout/activity_autopilot_cloud_config.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/layout/activity_guardian.xml b/app_ipc_monitoring/src/main/res/layout/activity_guardian.xml deleted file mode 100644 index 6caba13db3..0000000000 --- a/app_ipc_monitoring/src/main/res/layout/activity_guardian.xml +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/layout/activity_help.xml b/app_ipc_monitoring/src/main/res/layout/activity_help.xml deleted file mode 100644 index 76bfacd070..0000000000 --- a/app_ipc_monitoring/src/main/res/layout/activity_help.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app_ipc_monitoring/src/main/res/layout/activity_main.xml b/app_ipc_monitoring/src/main/res/layout/activity_main.xml deleted file mode 100644 index ad66fa0e54..0000000000 --- a/app_ipc_monitoring/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/res/layout/activity_router.xml b/app_ipc_monitoring/src/main/res/layout/activity_router.xml deleted file mode 100644 index 0abd4797e8..0000000000 --- a/app_ipc_monitoring/src/main/res/layout/activity_router.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - -

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