From 56fc60e2fa9bd64acb769edf1eb9654c79a510ff Mon Sep 17 00:00:00 2001 From: BisratHailu Date: Wed, 21 Jan 2026 17:17:02 +0300 Subject: [PATCH] fix(Lear): Apply button alignment change --- .gitignore | 45 + .metadata | 45 + .vscode/settings.json | 7 + README.md | 13 + analysis_options.yaml | 1 + android/.gitignore | 14 + android/app/build.gradle.kts | 44 + android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 45 + .../com/example/yimaru_app/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle.kts | 24 + android/gradle.properties | 2 + .../gradle/wrapper/gradle-wrapper.properties | 5 + android/settings.gradle.kts | 26 + assets/files/terms.txt | 188 +++ assets/fonts/Aeonik-Regular.ttf | Bin 0 -> 98228 bytes assets/icons/alert.svg | 5 + assets/icons/b1.svg | 10 + assets/icons/complete.svg | 5 + assets/icons/flag.png | Bin 0 -> 1408 bytes assets/icons/google.png | Bin 0 -> 713 bytes assets/icons/logo.svg | 24 + assets/icons/mascot.svg | 8 + assets/icons/progress_indicator.svg | 4 + assets/icons/question.svg | 8 + assets/icons/success.svg | 5 + assets/images/coming_soon.png | Bin 0 -> 29484 bytes assets/images/deer.png | Bin 0 -> 1942 bytes assets/images/image_1.png | Bin 0 -> 161405 bytes assets/images/onboarding_1.png | Bin 0 -> 459010 bytes assets/images/onboarding_2.png | Bin 0 -> 478173 bytes assets/images/onboarding_3.png | Bin 0 -> 453012 bytes assets/images/profile.png | Bin 0 -> 9804 bytes ios/.gitignore | 34 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Runner.xcodeproj/project.pbxproj | 616 +++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 101 ++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 49 + ios/Runner/Runner-Bridging-Header.h | 1 + ios/RunnerTests/RunnerTests.swift | 12 + lib/app/app.bottomsheets.dart | 25 + lib/app/app.dart | 80 ++ lib/app/app.dialogs.dart | 25 + lib/app/app.locator.dart | 39 + lib/app/app.router.dart | 1035 +++++++++++++++ lib/main.dart | 34 + lib/models/assessment.dart | 20 + lib/models/assessment.g.dart | 22 + lib/models/option.dart | 17 + lib/models/option.g.dart | 17 + lib/models/question.dart | 36 + lib/models/question.g.dart | 27 + lib/models/user_model.dart | 28 + lib/models/user_model.g.dart | 21 + lib/services/api_service.dart | 204 +++ lib/services/authentication_service.dart | 63 + lib/services/dio_service.dart | 175 +++ lib/services/secure_storage_service.dart | 64 + lib/services/status_checker_service.dart | 88 ++ lib/ui/bottom_sheets/notice/notice_sheet.dart | 53 + .../notice/notice_sheet_model.dart | 3 + lib/ui/common/app_colors.dart | 20 + lib/ui/common/app_constants.dart | 18 + lib/ui/common/app_strings.dart | 54 + lib/ui/common/enmus.dart | 10 + lib/ui/common/helper_functions.dart | 17 + lib/ui/common/ui_helpers.dart | 283 ++++ lib/ui/common/validators/form_validator.dart | 64 + .../dialogs/info_alert/info_alert_dialog.dart | 107 ++ .../info_alert/info_alert_dialog_model.dart | 3 + .../account_privacy/account_privacy_view.dart | 158 +++ .../account_privacy_viewmodel.dart | 21 + lib/ui/views/assessment/assessment_view.dart | 71 + .../assessment/assessment_viewmodel.dart | 252 ++++ .../screens/assessment_completion_screen.dart | 101 ++ .../screens/assessment_failure_screen.dart | 125 ++ .../screens/assessment_form_screen.dart | 169 +++ .../screens/assessment_intro_screen.dart | 117 ++ .../screens/assessment_loading_screen.dart | 37 + .../screens/assessment_result_screen.dart | 133 ++ .../screens/result_analysis_screen.dart | 79 ++ .../screens/retake_assessment_screen.dart | 128 ++ .../screens/start_lesson_screen.dart | 123 ++ .../views/call_support/call_support_view.dart | 125 ++ .../call_support/call_support_viewmodel.dart | 9 + lib/ui/views/downloads/downloads_view.dart | 218 ++++ .../views/downloads/downloads_viewmodel.dart | 42 + lib/ui/views/home/home_view.dart | 80 ++ lib/ui/views/home/home_viewmodel.dart | 78 ++ lib/ui/views/language/language_view.dart | 115 ++ lib/ui/views/language/language_viewmodel.dart | 35 + lib/ui/views/learn/learn_view.dart | 84 ++ lib/ui/views/learn/learn_viewmodel.dart | 33 + .../views/learn_lesson/learn_lesson_view.dart | 136 ++ .../learn_lesson/learn_lesson_viewmodel.dart | 36 + .../views/learn_level/learn_level_view.dart | 87 ++ .../learn_level/learn_level_viewmodel.dart | 29 + .../views/learn_module/learn_module_view.dart | 114 ++ .../learn_module/learn_module_viewmodel.dart | 38 + lib/ui/views/login/login_view.dart | 99 ++ lib/ui/views/login/login_view.form.dart | 269 ++++ lib/ui/views/login/login_viewmodel.dart | 161 +++ .../views/login/screens/login_otp_screen.dart | 157 +++ .../screens/login_with_email_screen.dart | 200 +++ .../login_with_phone_number_screen.dart | 158 +++ lib/ui/views/onboarding/onboarding_view.dart | 109 ++ .../onboarding/onboarding_view.form.dart | 339 +++++ .../onboarding/onboarding_viewmodel.dart | 397 ++++++ .../screens/age_group_form_screen.dart | 136 ++ .../screens/birthday_form_screen.dart | 121 ++ .../screens/challenge_form_screen.dart | 186 +++ .../screens/country_region_form_screen.dart | 141 ++ .../educational_background_form_screen.dart | 142 ++ .../screens/full_name_form_screen.dart | 145 ++ .../screens/gender_form_screen.dart | 129 ++ .../screens/language_goal_form_screen.dart | 189 +++ .../screens/learning_goal_form_screen.dart | 152 +++ .../screens/occupation_form_screen.dart | 148 +++ .../onboarding/screens/topic_form_screen.dart | 183 +++ .../ongoing_progress_view.dart | 97 ++ .../ongoing_progress_viewmodel.dart | 21 + .../privacy_policy/privacy_policy_view.dart | 93 ++ .../privacy_policy_viewmodel.dart | 23 + lib/ui/views/profile/profile_view.dart | 147 +++ lib/ui/views/profile/profile_viewmodel.dart | 32 + .../profile_detail/profile_detail_view.dart | 575 ++++++++ .../profile_detail_view.form.dart | 278 ++++ .../profile_detail_viewmodel.dart | 86 ++ lib/ui/views/progress/progress_view.dart | 166 +++ lib/ui/views/progress/progress_viewmodel.dart | 65 + lib/ui/views/register/register_view.dart | 111 ++ lib/ui/views/register/register_view.form.dart | 308 +++++ lib/ui/views/register/register_viewmodel.dart | 311 +++++ .../screens/create_password_screen.dart | 251 ++++ .../screens/register_with_email_screen.dart | 145 ++ .../register_with_phone_number_screen.dart | 160 +++ .../screens/registration_otp_screen.dart | 175 +++ lib/ui/views/startup/startup_view.dart | 101 ++ lib/ui/views/startup/startup_viewmodel.dart | 27 + lib/ui/views/support/support_view.dart | 99 ++ lib/ui/views/support/support_viewmodel.dart | 18 + .../telegram_support_view.dart | 152 +++ .../telegram_support_viewmodel.dart | 9 + .../terms_and_conditions_view.dart | 109 ++ .../terms_and_conditions_viewmodel.dart | 11 + .../welcome/screens/first_welcome_screen.dart | 92 ++ .../screens/second_welcome_screen.dart | 92 ++ .../welcome/screens/third_welcome_screen.dart | 99 ++ lib/ui/views/welcome/welcome_view.dart | 36 + lib/ui/views/welcome/welcome_viewmodel.dart | 35 + lib/ui/widgets/birthday_selector.dart | 102 ++ lib/ui/widgets/circular_icon.dart | 24 + lib/ui/widgets/coming_soon.dart | 48 + lib/ui/widgets/course_level_card.dart | 107 ++ lib/ui/widgets/course_progress_section.dart | 131 ++ lib/ui/widgets/custom_back_button.dart | 20 + lib/ui/widgets/custom_bottom_sheet.dart | 64 + .../custom_circular_progress_indicator.dart | 14 + lib/ui/widgets/custom_column.dart | 36 + lib/ui/widgets/custom_cursor.dart | 23 + lib/ui/widgets/custom_dropdown.dart | 127 ++ lib/ui/widgets/custom_elevated_button.dart | 97 ++ lib/ui/widgets/custom_form_label.dart | 16 + lib/ui/widgets/custom_large_radio_button.dart | 86 ++ .../custom_linear_progress_indicator.dart | 33 + lib/ui/widgets/custom_list_tile.dart | 70 + lib/ui/widgets/custom_small_radio_button.dart | 61 + lib/ui/widgets/download_card.dart | 149 +++ lib/ui/widgets/finish_practice_sheet.dart | 56 + lib/ui/widgets/language_button.dart | 31 + lib/ui/widgets/large_app_bar.dart | 74 ++ lib/ui/widgets/learn_app_bar.dart | 78 ++ lib/ui/widgets/learn_lesson_tile.dart | 204 +++ lib/ui/widgets/learn_level_tile.dart | 111 ++ lib/ui/widgets/learn_module_tile.dart | 197 +++ lib/ui/widgets/learn_sub_level_tile.dart | 136 ++ lib/ui/widgets/learning_progress_card.dart | 106 ++ lib/ui/widgets/login_account.dart | 38 + lib/ui/widgets/module_progress.dart | 57 + lib/ui/widgets/motivation_card.dart | 40 + lib/ui/widgets/obscure_password.dart | 31 + lib/ui/widgets/option_text_divider.dart | 30 + lib/ui/widgets/overall_learn_progress.dart | 70 + lib/ui/widgets/overall_module_progress.dart | 63 + lib/ui/widgets/page_loading_indicator.dart | 60 + lib/ui/widgets/phone_number_prefix.dart | 44 + lib/ui/widgets/privacy_policy_tile.dart | 80 ++ lib/ui/widgets/profile_card.dart | 68 + lib/ui/widgets/profile_image.dart | 47 + lib/ui/widgets/progress_status.dart | 29 + lib/ui/widgets/register_for_account.dart | 38 + lib/ui/widgets/skill_progress.dart | 100 ++ lib/ui/widgets/small_app_bar.dart | 42 + lib/ui/widgets/suggestion_card.dart | 42 + lib/ui/widgets/support_card.dart | 52 + lib/ui/widgets/validator_list_tile.dart | 39 + lib/ui/widgets/view_profile_button.dart | 35 + linux/.gitignore | 1 + linux/CMakeLists.txt | 128 ++ linux/flutter/CMakeLists.txt | 88 ++ linux/flutter/generated_plugin_registrant.cc | 15 + linux/flutter/generated_plugin_registrant.h | 15 + linux/flutter/generated_plugins.cmake | 24 + linux/runner/CMakeLists.txt | 26 + linux/runner/main.cc | 6 + linux/runner/my_application.cc | 148 +++ linux/runner/my_application.h | 21 + macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 16 + macos/Runner.xcodeproj/project.pbxproj | 705 ++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 99 ++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes macos/Runner/Base.lproj/MainMenu.xib | 343 +++++ macos/Runner/Configs/AppInfo.xcconfig | 14 + macos/Runner/Configs/Debug.xcconfig | 2 + macos/Runner/Configs/Release.xcconfig | 2 + macos/Runner/Configs/Warnings.xcconfig | 13 + macos/Runner/DebugProfile.entitlements | 12 + macos/Runner/Info.plist | 32 + macos/Runner/MainFlutterWindow.swift | 15 + macos/Runner/Release.entitlements | 8 + macos/RunnerTests/RunnerTests.swift | 12 + pubspec.lock | 1162 +++++++++++++++++ pubspec.yaml | 59 + stacked.json | 17 + test/golden/home_view_golden_test.dart | 27 + test/helpers/test_helpers.dart | 85 ++ test/helpers/test_helpers.mocks.dart | 684 ++++++++++ test/viewmodels/home_viewmodel_test.dart | 44 + .../info_alert_dialog_model_test.dart | 11 + .../learn_lesson_viewmodel_test.dart | 11 + test/viewmodels/notice_sheet_model_test.dart | 11 + web/favicon.png | Bin 0 -> 917 bytes web/icons/Icon-192.png | Bin 0 -> 5292 bytes web/icons/Icon-512.png | Bin 0 -> 8252 bytes web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes web/index.html | 38 + web/manifest.json | 35 + windows/.gitignore | 17 + windows/CMakeLists.txt | 108 ++ windows/flutter/CMakeLists.txt | 109 ++ .../flutter/generated_plugin_registrant.cc | 20 + windows/flutter/generated_plugin_registrant.h | 15 + windows/flutter/generated_plugins.cmake | 26 + windows/runner/CMakeLists.txt | 40 + windows/runner/Runner.rc | 121 ++ windows/runner/flutter_window.cpp | 71 + windows/runner/flutter_window.h | 33 + windows/runner/main.cpp | 43 + windows/runner/resource.h | 16 + windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes windows/runner/runner.exe.manifest | 14 + windows/runner/utils.cpp | 65 + windows/runner/utils.h | 19 + windows/runner/win32_window.cpp | 288 ++++ windows/runner/win32_window.h | 102 ++ 312 files changed, 22985 insertions(+) create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle.kts create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/com/example/yimaru_app/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle.kts create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle.kts create mode 100644 assets/files/terms.txt create mode 100644 assets/fonts/Aeonik-Regular.ttf create mode 100644 assets/icons/alert.svg create mode 100644 assets/icons/b1.svg create mode 100644 assets/icons/complete.svg create mode 100644 assets/icons/flag.png create mode 100644 assets/icons/google.png create mode 100644 assets/icons/logo.svg create mode 100644 assets/icons/mascot.svg create mode 100644 assets/icons/progress_indicator.svg create mode 100644 assets/icons/question.svg create mode 100644 assets/icons/success.svg create mode 100644 assets/images/coming_soon.png create mode 100644 assets/images/deer.png create mode 100644 assets/images/image_1.png create mode 100644 assets/images/onboarding_1.png create mode 100644 assets/images/onboarding_2.png create mode 100644 assets/images/onboarding_3.png create mode 100644 assets/images/profile.png create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 ios/RunnerTests/RunnerTests.swift create mode 100644 lib/app/app.bottomsheets.dart create mode 100644 lib/app/app.dart create mode 100644 lib/app/app.dialogs.dart create mode 100644 lib/app/app.locator.dart create mode 100644 lib/app/app.router.dart create mode 100644 lib/main.dart create mode 100644 lib/models/assessment.dart create mode 100644 lib/models/assessment.g.dart create mode 100644 lib/models/option.dart create mode 100644 lib/models/option.g.dart create mode 100644 lib/models/question.dart create mode 100644 lib/models/question.g.dart create mode 100644 lib/models/user_model.dart create mode 100644 lib/models/user_model.g.dart create mode 100644 lib/services/api_service.dart create mode 100644 lib/services/authentication_service.dart create mode 100644 lib/services/dio_service.dart create mode 100644 lib/services/secure_storage_service.dart create mode 100644 lib/services/status_checker_service.dart create mode 100644 lib/ui/bottom_sheets/notice/notice_sheet.dart create mode 100644 lib/ui/bottom_sheets/notice/notice_sheet_model.dart create mode 100644 lib/ui/common/app_colors.dart create mode 100644 lib/ui/common/app_constants.dart create mode 100644 lib/ui/common/app_strings.dart create mode 100644 lib/ui/common/enmus.dart create mode 100644 lib/ui/common/helper_functions.dart create mode 100644 lib/ui/common/ui_helpers.dart create mode 100644 lib/ui/common/validators/form_validator.dart create mode 100644 lib/ui/dialogs/info_alert/info_alert_dialog.dart create mode 100644 lib/ui/dialogs/info_alert/info_alert_dialog_model.dart create mode 100644 lib/ui/views/account_privacy/account_privacy_view.dart create mode 100644 lib/ui/views/account_privacy/account_privacy_viewmodel.dart create mode 100644 lib/ui/views/assessment/assessment_view.dart create mode 100644 lib/ui/views/assessment/assessment_viewmodel.dart create mode 100644 lib/ui/views/assessment/screens/assessment_completion_screen.dart create mode 100644 lib/ui/views/assessment/screens/assessment_failure_screen.dart create mode 100644 lib/ui/views/assessment/screens/assessment_form_screen.dart create mode 100644 lib/ui/views/assessment/screens/assessment_intro_screen.dart create mode 100644 lib/ui/views/assessment/screens/assessment_loading_screen.dart create mode 100644 lib/ui/views/assessment/screens/assessment_result_screen.dart create mode 100644 lib/ui/views/assessment/screens/result_analysis_screen.dart create mode 100644 lib/ui/views/assessment/screens/retake_assessment_screen.dart create mode 100644 lib/ui/views/assessment/screens/start_lesson_screen.dart create mode 100644 lib/ui/views/call_support/call_support_view.dart create mode 100644 lib/ui/views/call_support/call_support_viewmodel.dart create mode 100644 lib/ui/views/downloads/downloads_view.dart create mode 100644 lib/ui/views/downloads/downloads_viewmodel.dart create mode 100644 lib/ui/views/home/home_view.dart create mode 100644 lib/ui/views/home/home_viewmodel.dart create mode 100644 lib/ui/views/language/language_view.dart create mode 100644 lib/ui/views/language/language_viewmodel.dart create mode 100644 lib/ui/views/learn/learn_view.dart create mode 100644 lib/ui/views/learn/learn_viewmodel.dart create mode 100644 lib/ui/views/learn_lesson/learn_lesson_view.dart create mode 100644 lib/ui/views/learn_lesson/learn_lesson_viewmodel.dart create mode 100644 lib/ui/views/learn_level/learn_level_view.dart create mode 100644 lib/ui/views/learn_level/learn_level_viewmodel.dart create mode 100644 lib/ui/views/learn_module/learn_module_view.dart create mode 100644 lib/ui/views/learn_module/learn_module_viewmodel.dart create mode 100644 lib/ui/views/login/login_view.dart create mode 100644 lib/ui/views/login/login_view.form.dart create mode 100644 lib/ui/views/login/login_viewmodel.dart create mode 100644 lib/ui/views/login/screens/login_otp_screen.dart create mode 100644 lib/ui/views/login/screens/login_with_email_screen.dart create mode 100644 lib/ui/views/login/screens/login_with_phone_number_screen.dart create mode 100644 lib/ui/views/onboarding/onboarding_view.dart create mode 100644 lib/ui/views/onboarding/onboarding_view.form.dart create mode 100644 lib/ui/views/onboarding/onboarding_viewmodel.dart create mode 100644 lib/ui/views/onboarding/screens/age_group_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/birthday_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/challenge_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/country_region_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/educational_background_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/full_name_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/gender_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/language_goal_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/learning_goal_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/occupation_form_screen.dart create mode 100644 lib/ui/views/onboarding/screens/topic_form_screen.dart create mode 100644 lib/ui/views/ongoing_progress/ongoing_progress_view.dart create mode 100644 lib/ui/views/ongoing_progress/ongoing_progress_viewmodel.dart create mode 100644 lib/ui/views/privacy_policy/privacy_policy_view.dart create mode 100644 lib/ui/views/privacy_policy/privacy_policy_viewmodel.dart create mode 100644 lib/ui/views/profile/profile_view.dart create mode 100644 lib/ui/views/profile/profile_viewmodel.dart create mode 100644 lib/ui/views/profile_detail/profile_detail_view.dart create mode 100644 lib/ui/views/profile_detail/profile_detail_view.form.dart create mode 100644 lib/ui/views/profile_detail/profile_detail_viewmodel.dart create mode 100644 lib/ui/views/progress/progress_view.dart create mode 100644 lib/ui/views/progress/progress_viewmodel.dart create mode 100644 lib/ui/views/register/register_view.dart create mode 100644 lib/ui/views/register/register_view.form.dart create mode 100644 lib/ui/views/register/register_viewmodel.dart create mode 100644 lib/ui/views/register/screens/create_password_screen.dart create mode 100644 lib/ui/views/register/screens/register_with_email_screen.dart create mode 100644 lib/ui/views/register/screens/register_with_phone_number_screen.dart create mode 100644 lib/ui/views/register/screens/registration_otp_screen.dart create mode 100644 lib/ui/views/startup/startup_view.dart create mode 100644 lib/ui/views/startup/startup_viewmodel.dart create mode 100644 lib/ui/views/support/support_view.dart create mode 100644 lib/ui/views/support/support_viewmodel.dart create mode 100644 lib/ui/views/telegram_support/telegram_support_view.dart create mode 100644 lib/ui/views/telegram_support/telegram_support_viewmodel.dart create mode 100644 lib/ui/views/terms_and_conditions/terms_and_conditions_view.dart create mode 100644 lib/ui/views/terms_and_conditions/terms_and_conditions_viewmodel.dart create mode 100644 lib/ui/views/welcome/screens/first_welcome_screen.dart create mode 100644 lib/ui/views/welcome/screens/second_welcome_screen.dart create mode 100644 lib/ui/views/welcome/screens/third_welcome_screen.dart create mode 100644 lib/ui/views/welcome/welcome_view.dart create mode 100644 lib/ui/views/welcome/welcome_viewmodel.dart create mode 100644 lib/ui/widgets/birthday_selector.dart create mode 100644 lib/ui/widgets/circular_icon.dart create mode 100644 lib/ui/widgets/coming_soon.dart create mode 100644 lib/ui/widgets/course_level_card.dart create mode 100644 lib/ui/widgets/course_progress_section.dart create mode 100644 lib/ui/widgets/custom_back_button.dart create mode 100644 lib/ui/widgets/custom_bottom_sheet.dart create mode 100644 lib/ui/widgets/custom_circular_progress_indicator.dart create mode 100644 lib/ui/widgets/custom_column.dart create mode 100644 lib/ui/widgets/custom_cursor.dart create mode 100644 lib/ui/widgets/custom_dropdown.dart create mode 100644 lib/ui/widgets/custom_elevated_button.dart create mode 100644 lib/ui/widgets/custom_form_label.dart create mode 100644 lib/ui/widgets/custom_large_radio_button.dart create mode 100644 lib/ui/widgets/custom_linear_progress_indicator.dart create mode 100644 lib/ui/widgets/custom_list_tile.dart create mode 100644 lib/ui/widgets/custom_small_radio_button.dart create mode 100644 lib/ui/widgets/download_card.dart create mode 100644 lib/ui/widgets/finish_practice_sheet.dart create mode 100644 lib/ui/widgets/language_button.dart create mode 100644 lib/ui/widgets/large_app_bar.dart create mode 100644 lib/ui/widgets/learn_app_bar.dart create mode 100644 lib/ui/widgets/learn_lesson_tile.dart create mode 100644 lib/ui/widgets/learn_level_tile.dart create mode 100644 lib/ui/widgets/learn_module_tile.dart create mode 100644 lib/ui/widgets/learn_sub_level_tile.dart create mode 100644 lib/ui/widgets/learning_progress_card.dart create mode 100644 lib/ui/widgets/login_account.dart create mode 100644 lib/ui/widgets/module_progress.dart create mode 100644 lib/ui/widgets/motivation_card.dart create mode 100644 lib/ui/widgets/obscure_password.dart create mode 100644 lib/ui/widgets/option_text_divider.dart create mode 100644 lib/ui/widgets/overall_learn_progress.dart create mode 100644 lib/ui/widgets/overall_module_progress.dart create mode 100644 lib/ui/widgets/page_loading_indicator.dart create mode 100644 lib/ui/widgets/phone_number_prefix.dart create mode 100644 lib/ui/widgets/privacy_policy_tile.dart create mode 100644 lib/ui/widgets/profile_card.dart create mode 100644 lib/ui/widgets/profile_image.dart create mode 100644 lib/ui/widgets/progress_status.dart create mode 100644 lib/ui/widgets/register_for_account.dart create mode 100644 lib/ui/widgets/skill_progress.dart create mode 100644 lib/ui/widgets/small_app_bar.dart create mode 100644 lib/ui/widgets/suggestion_card.dart create mode 100644 lib/ui/widgets/support_card.dart create mode 100644 lib/ui/widgets/validator_list_tile.dart create mode 100644 lib/ui/widgets/view_profile_button.dart create mode 100644 linux/.gitignore create mode 100644 linux/CMakeLists.txt create mode 100644 linux/flutter/CMakeLists.txt create mode 100644 linux/flutter/generated_plugin_registrant.cc create mode 100644 linux/flutter/generated_plugin_registrant.h create mode 100644 linux/flutter/generated_plugins.cmake create mode 100644 linux/runner/CMakeLists.txt create mode 100644 linux/runner/main.cc create mode 100644 linux/runner/my_application.cc create mode 100644 linux/runner/my_application.h create mode 100644 macos/.gitignore create mode 100644 macos/Flutter/Flutter-Debug.xcconfig create mode 100644 macos/Flutter/Flutter-Release.xcconfig create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Runner.xcodeproj/project.pbxproj create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner/AppDelegate.swift create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 macos/Runner/Base.lproj/MainMenu.xib create mode 100644 macos/Runner/Configs/AppInfo.xcconfig create mode 100644 macos/Runner/Configs/Debug.xcconfig create mode 100644 macos/Runner/Configs/Release.xcconfig create mode 100644 macos/Runner/Configs/Warnings.xcconfig create mode 100644 macos/Runner/DebugProfile.entitlements create mode 100644 macos/Runner/Info.plist create mode 100644 macos/Runner/MainFlutterWindow.swift create mode 100644 macos/Runner/Release.entitlements create mode 100644 macos/RunnerTests/RunnerTests.swift create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 stacked.json create mode 100644 test/golden/home_view_golden_test.dart create mode 100644 test/helpers/test_helpers.dart create mode 100644 test/helpers/test_helpers.mocks.dart create mode 100644 test/viewmodels/home_viewmodel_test.dart create mode 100644 test/viewmodels/info_alert_dialog_model_test.dart create mode 100644 test/viewmodels/learn_lesson_viewmodel_test.dart create mode 100644 test/viewmodels/notice_sheet_model_test.dart create mode 100644 web/favicon.png create mode 100644 web/icons/Icon-192.png create mode 100644 web/icons/Icon-512.png create mode 100644 web/icons/Icon-maskable-192.png create mode 100644 web/icons/Icon-maskable-512.png create mode 100644 web/index.html create mode 100644 web/manifest.json create mode 100644 windows/.gitignore create mode 100644 windows/CMakeLists.txt create mode 100644 windows/flutter/CMakeLists.txt create mode 100644 windows/flutter/generated_plugin_registrant.cc create mode 100644 windows/flutter/generated_plugin_registrant.h create mode 100644 windows/flutter/generated_plugins.cmake create mode 100644 windows/runner/CMakeLists.txt create mode 100644 windows/runner/Runner.rc create mode 100644 windows/runner/flutter_window.cpp create mode 100644 windows/runner/flutter_window.h create mode 100644 windows/runner/main.cpp create mode 100644 windows/runner/resource.h create mode 100644 windows/runner/resources/app_icon.ico create mode 100644 windows/runner/runner.exe.manifest create mode 100644 windows/runner/utils.cpp create mode 100644 windows/runner/utils.h create mode 100644 windows/runner/win32_window.cpp create mode 100644 windows/runner/win32_window.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3820a95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ +/coverage/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..b5527e1 --- /dev/null +++ b/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "66dd93f9a27ffe2a9bfc8297506ce066ff51265f" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: android + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: ios + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: linux + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: macos + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: web + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + - platform: windows + create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25d97f4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "*.dart": "${capture}.mobile.dart, ${capture}.tablet.dart, ${capture}.desktop.dart, ${capture}.form.dart, ${capture}.g.dart, ${capture}.freezed.dart, ${capture}.logger.dart, ${capture}.locator.dart, ${capture}.router.dart, ${capture}.dialogs.dart, ${capture}.bottomsheets.dart" + } +} + diff --git a/README.md b/README.md new file mode 100644 index 0000000..6679e57 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# yimaru_app + +A new Flutter project. + +## Golden Tests + +Golden tests are already setup for this project. To run the tests and update the golden files, run: + +```bash +flutter test --update-goldens +``` + +The golden test screenshots will be stored under `test/golden/`. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..f9b3034 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1 @@ +include: package:flutter_lints/flutter.yaml diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts new file mode 100644 index 0000000..19de2ad --- /dev/null +++ b/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.yimaru_app" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.yimaru_app" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..6561fcc --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/yimaru_app/MainActivity.kt b/android/app/src/main/kotlin/com/example/yimaru_app/MainActivity.kt new file mode 100644 index 0000000..3e34068 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/yimaru_app/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.yimaru_app + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle.kts b/android/build.gradle.kts new file mode 100644 index 0000000..dbee657 --- /dev/null +++ b/android/build.gradle.kts @@ -0,0 +1,24 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..fbee1d8 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,2 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e4ef43f --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts new file mode 100644 index 0000000..ca7fe06 --- /dev/null +++ b/android/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.11.1" apply false + id("org.jetbrains.kotlin.android") version "2.2.20" apply false +} + +include(":app") diff --git a/assets/files/terms.txt b/assets/files/terms.txt new file mode 100644 index 0000000..808e008 --- /dev/null +++ b/assets/files/terms.txt @@ -0,0 +1,188 @@ + + + + + + Terms and Condition + + + + + + +
+ +
+
+
Terms and Condition
+
+ +
Last updated: October 26, 2025
+ + +

Introduction

+

+ Welcome to Yimaru! These terms and conditions outline the rules and + regulations for the use of our application. By accessing this app, + we assume you accept these terms and conditions. +

+ + +

User Accounts

+

+ When you create an account with us, you must provide us with information + that is accurate, complete, and current at all times. Failure to do so + constitutes a breach of the Terms, which may result in immediate + termination of your account on our Service. +

+ + +

Content & Services

+

+ Our Service allows you to access learning materials. You are granted a + limited license to access and use the app content for personal, + non-commercial purposes. You agree not to: +

+ +
    +
  • Reproduce, duplicate, copy, or sell any material from the app.
  • +
  • Redistribute content from Yimaru.
  • +
  • Use the app in any way that is damaging or harmful.
  • +
+ + +

Privacy Policy

+

+ Your privacy is important to us. Please read our + Privacy Policy to understand how we collect, use, + and share information about you. +

+ + +

Contact Us

+

+ If you have any questions about these Terms, please contact us at + support@yimaru.et. +

+ +
+
+ + + + + + diff --git a/assets/fonts/Aeonik-Regular.ttf b/assets/fonts/Aeonik-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4d6eaf5f6185a384265de9a7296a3d3ffb8d4654 GIT binary patch literal 98228 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 + + + + diff --git a/assets/icons/b1.svg b/assets/icons/b1.svg new file mode 100644 index 0000000..4a75083 --- /dev/null +++ b/assets/icons/b1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/icons/complete.svg b/assets/icons/complete.svg new file mode 100644 index 0000000..4bf1bc3 --- /dev/null +++ b/assets/icons/complete.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/flag.png b/assets/icons/flag.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c75c7f9df5761399e3af03adf3c6d6987cbad3 GIT binary patch literal 1408 zcmV-`1%LX9P)P000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPu_~fP9wu#Vt=2ZtkeEtLOD1e%yM)x^f8 zX`1v$(Y8M{5-qJ_qeW0#YYDPgst5w3$on-=9G6{oZto1tu)Bcbne5Jeocn#}eCOUf z1dlOWq1z^#k_&eT(=pVY}fkPsWn>k zs=cth3a+>wL`4p3{pAVwSP+l2Hs72Dt}QKug~|V}dJOoX`kDC;q&gH=W?=QAdNg#zLx}4{Np+&(8{3kL;=EGC%rLUIxn}vZc}qkf zE6J)DSzN5l4vmIAHTROSX5n4dQ*i#~N_?>C3}P%YN^Ycw_ztmJU9Zi+-rQ1SjDTz< zfyNot4BV{_H1*iArr-!H{0KgJxfu4C0aibvkvpsd7?5Yd8{n{7xQoi>Bn@QPXU3pB z6ICsVILorlUFN~by@!KHAo4naYWKSxs*v#dO*s17R_t6~0hzVGzq}FO?*1Ad{;-Gj zc_v>a`i7$MF9Y8HYB5>|XKMti)ryP4lz@#79_Sg0869Re=$(OYet!{fWnI9>ubhV0 zXMyaC&_cU>XDJTtIF3k@4+l^0Kx4Plz~~;bBFt>+?lMl&EQ>cJgjlw#h7~is?98Mk zh)8mFY9Z`eSB}N;ZTRWh^APM^;E7@^i;ErzCjrM4H%L+)4>a`ov0d22BuSaqg5y`R zFn>-rUi<0*-pnk++4m2kzRQVIm22_P%W5IIkn?OUa+ciGFp?eZAp|UO4BV}pIvuizW`PwHeh~C56W&W!%Hiw@m={w1{9KT#_iUU3-*Z>|xFY;*W?Q?$f*upW8N0 zUaU$MQr0wm~R#K*>0FuM~Q-^>o4p!X%-ibD(Dz{S{AA(A9J zI?>SSF#0nCGTv@0#rCc;EkNBUrD957yDNm`w#_N)lsi_w|Pa!ltEwqNJrt9byQHYW22xZo=VGIFV`!yIwlXv$Z8A zB>=l$8auX_K){@H7E7%Yzl^~daUA=A1xYtuQzcRqnxkhhC5di#;^r1Yp}VF<#-dj@ zPfAZ);bha~N$YRVaprR%*{rB5n77*iB~)T#rW4W{(4_C$>E3>ffrg9A)_(2SBHVqZ(-Mo z4>G0xDS3m}3XDa6nP_95OAsafrwq;Bkh-~61}{?6oLZdTlb5lt&DTLL3(O~o45xkt zJRoLA4rN1t!9PZO4Ny#E2cGGn2y7RKRV(bUh{S@TBICR32O(D*xdgDF*?SAugI&{q z^48jtusC7en+>ieT3^5ki>sy|u6>WeOl?H2e)`z_cmh0-xcyb>ByW-#-2wq$U7h$A zuNL)i`$0zc-9#igGy9ipX;sS%wk+E8xuf%E(+qLeP9%N{DiWXbL35o9xsw=+Gkth+ z;N8^_8v9$%n)P}_2vi&eB#z!WHzSglVT)jbJn-ov_-mum{A^)*cc!!6XK#3a@6E&T z_@O}|avZh*Vn4tLK9_TpeR3t1vDbSZIMOb$b#EY`0&W7*HiW5H7Z&nPb=M=)5@HO; v#5RsvVgyt{#FELWX#O + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/mascot.svg b/assets/icons/mascot.svg new file mode 100644 index 0000000..4641e42 --- /dev/null +++ b/assets/icons/mascot.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/icons/progress_indicator.svg b/assets/icons/progress_indicator.svg new file mode 100644 index 0000000..ad20a93 --- /dev/null +++ b/assets/icons/progress_indicator.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/question.svg b/assets/icons/question.svg new file mode 100644 index 0000000..cb9a01d --- /dev/null +++ b/assets/icons/question.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/icons/success.svg b/assets/icons/success.svg new file mode 100644 index 0000000..4bf1bc3 --- /dev/null +++ b/assets/icons/success.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/images/coming_soon.png b/assets/images/coming_soon.png new file mode 100644 index 0000000000000000000000000000000000000000..0bc8cb8e129c20c8a6b140a870dc5cfedf1341c2 GIT binary patch literal 29484 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�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 az?ONNrRc#8yuQON!Q`b?q#7j5!v6=w9+IB` literal 0 HcmV?d00001 diff --git a/assets/images/deer.png b/assets/images/deer.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8863057733a092c36f4a2da1fb2f37063ad6d1 GIT binary patch literal 1942 zcmV;H2Wj|;P)Z{oX}jVV8w{eYYP>nPChP#{QG@*PXe)^ZT81&pG#A zU}__urKcz1|Fq1Ej7?))Q|&R2@u7LA3lbmaG(#hty79v?F3eDv$=bW?8rrCU&eMA zX89+_ytXl83UQ`iUHw|sv8QPp~LBys~VZ^5e7~|4!ZVQ zVzrDS*kd-``EBiwN;+k8t^NE8Q!?Ua^Zw~t(oUUYZj@ZMGC~`;ySWO8rtyQ6loY2) za9Wvva(`!^f$2A~aFN(pBg1_na;iEBe3r3OiB1SJ*`KF}zx7s}axz&(MTL26u{kyK zykuT*P)Az}wGr82)MO^@^>r2FAWF%-f2TLxYV0DF_uFBngm?ydFOJ)hSw6O(mzQUq zEVg0828X{LI1oB^N+cuYo%F23U%V6Tt77^^ayl@AHr0Ih!~@6ji+I39Lona%-l)ww zdt0jQ)j%W?(H8YXLaY>e9%09_Ffd|-MTMJ==A95v(jpmeCxjopRGPyWhu!=fSkln* zkoqlK{SU@WgvX+Py&5XzEb496Vuia%6`+)#+vwwJO-x)b=bZ%w1qCkIXK&dJ8w`*- zIDz9cQz;dg>#BfKL}4#x`D{6Sf3ZY(=H$r`-iQ5bTACs`;un_Edrd#ATc~hbs$j8j zmJ9t=?5k8{BR)0OT;#p@b)3D0qe7h;`rb}>1_q+6p$FH?t7z;S>wkNr`0`gfVgeY3 zBiL3@42BpKJ%Qf3Vjc%A#<**h*K9X-&J$FB&s3 z|BqfE<5yx-R1~Yz>By?5{eKxNY%2HOS42|W#mLlv>|Yg%n>rzC8akji@}m5}xJX#s z>g>Rqo}lR^ok(66$$2ggUzAgN_nu59qs7I=7Cds@{^aY^yMOb5$Vn*Ys4d!?+sW?S zGHglPhsd?-`MMc#@XI{xefMod`+H*E90lwc3+?A*efv(IRbrY)hM7(@H#b*s;=&dA zh41T7{KG92Rka{3D;v#SYP2;rU__@!U3CSH6qewAcOUN7H=_J*2d-D$apWHb#dO^4 zbekbVwa4=<49K7kLXiZa!3$tN*Bv`wTnnF^lNcBrKu1d>l=A}N8}tl%s!PXHWLPmH z8yYymFV{Sgu)4M7=^>pKgStM{HL9`k=(n&Kb*QhphNy^0^bP6o;odKxQhDO#rD1q~ zMIZ#WVwm}gcDFQ!;Yl+V$?R`vhXy=2Sn-sX0(Z|GhF8cl7;NiA>K~F|p_C7#9qyx6 ze6sxrKQ=Px`QvAa9?o)yYfmg(CSDNN_t5l`+>sEI(Fp$+U#BiIH{uuIgGKY)AQbT3 z+}w$al{L6}<`hyly#xVEpc@+DMm@aNO~*ZLb8X$a)wCx!Ke|;zt$KdswN=H?^i*S| zy&NvB8gO-8pj}!V|11*^J6ple9OlDnI~(UNUIE7nVI48p c;^%Jv1=)EDO^;}~j{pDw07*qoM6N<$g5)%&9{>OV literal 0 HcmV?d00001 diff --git a/assets/images/image_1.png b/assets/images/image_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6eab34f161ee203449302c8cd963c5cfbc13302e GIT binary patch literal 161405 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%0DQcRvN2&MgaAQ|`o7-}5Z$-<&MXrqo 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

&8HxqB6|fe)Q7^P+7$D3gPn9 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 z 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 A(*OVf literal 0 HcmV?d00001 diff --git a/assets/images/onboarding_1.png b/assets/images/onboarding_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8650c799aa16731c9156db6e4ee9b4b5fc6122ab GIT binary patch literal 459010 zcmV)OK(@b$P);_xWOFXB56H@GOB~(m(ma7Ju@;`%k~qn)|!( zsi#-`-EVSN|LDWhUvHh>Ic+%TgGe2HDHr)8(_4d%;rtanw|KrE&{0HjD=`}e` ztgZ8Su0ME;$HG%P@yow-tIvwn|AXIK`1b#B_Ku(YKVEx<+j!STA0DlqYkBok3!if> zAH8w3a<`3M4y-2o?3lX0f8ycrqZ|LG`Ge=Z<`1}*Wq&{Y{_$J>@9)}A?={K&r0xB` z)BKe`$R6ME?DhYNo4(_x-xu-Uo1FeL5BK-J;5?gk=JdvYUmYg*fBdii^Ye%Q`~UR( z>reYIH3rJrH9N%oV|id;NAP>mE-OgPrJsYX+D(g5bsrQeRC-S|fi zP0nu*@W>3s)6V!xo2rN88;8hyWReu8e9KC|Y*OQ2nLj4_V-z0A0k7WswFu$4bMq4g zb%(5j29BTA26Rm>CLao6}A&yq81e@OCaVw4D zHAl#&24&1>-F7m1<5vwT=EUY#<0l`L&m?Xi(IU8|3$Pyg%OV7S)I1G-Af#_3EXMC)CvJ}&87%Tx~|a&Kh@o}eiVLLj#+ER#upi6TYN zmuZYau`&;+Jc}MX6wB1;ZRP#cNG+`-fll5t5SCc8&RDCjMhe$GNm`+nU@vMmj3e%5 zNw62gsnZ*Ono>Far&)7z>a?4y=JF6ShaT9Cn7Q}`)_PsrO44I-tAw63X?i=0CGS&i zobQJ&2O6D~(HeAhw*YoXyfYs%NmVJKm+$fPErxX(uoRfD9}IG-!`IZ{4RaOgPp!UO zG-6JbP;Z#P90yFC>W$!s9&a7A=T7NMnXp~ET+6|ctPsYG-2n-jF5@Pnd0$JwlI^k- zQGGdbJGo#>wzNLQ=4y`{Z|dcy!Ka9r8Qn+{+{;cx$Ko}8m);t021m{@L$UnEfBhfo z&;8c_Rg%xTC~gsn2dirsYH0#*J~4PUoft}4jK=&5Ew>j)#zGEyYZa>Kr9k8vmLd<@ z5=ho1S#UNdTJ>E8&O^clbrUn|t1-M9Yt;DdtoNLH`RF(gGgOu>#7;V zy#!%WmNqQS<$0ZCCtA6pzAHohF{M5gQ=%- zMFA{KHS3(aFx--5rOqSh^jlTA1QuWaDM^liS&qa4ba6I#v&Ej(LW-D&8el4~C%tm1 zB*L-eY{bsgX7S3Zl0#FUW4Nuo(^CCyGX@*}$jx~sZ)-l*S4faE5CN-Le*3Tf%gQ*t zAx%hrHj|5~3E;vgWCAwvz58ar**NKaqN@!OB0phpYNB6@VFd=gmbGtINZu^Gpi6gg zLJdWl1iJ}fE)bXtkk;rEtujdDjN1iG-1dv(Wb-EWdLr1Fw}zYBwNzzB?lNhyW~?1OP+>Tnrv8WFS%mKT{)QV=V+*5zSUd0h>FW~RF%3s zI0$aeR!J^FbvIUL5C+fVLOC%{IE4*b^Vv1e3X89kfigBhU+~V_Bb0=VG;VBnz*Y>l z*%+Lf9j=cw0_I#_*|QvI>FG>P${<<-`{?BG<3d{s$Cd0-t{H)}<$mdr-i)l#coa+{ zEkENjjTxsWI6c_RFB%-o*(%R*2zH3KFaQm`hdzGijHlO7a^iKrL02!LHNWCk=B#-J z?!Czv;_7$)#{a4N!fcFXb9@xzr`lLEIbQs3{0i+Nyh=_qa=pgw$;~6hW5BI;4~@HE z-gBfhtz@dY-+eKBxpB;utL-2Tq`P62^%{E+c!XMmA~y{0AvCzcqDKYHfk&g>oV;d? z>@^{2Gv^~(DM9$6yMf1m05**6iA3AFmf|V5BdC(9iW6#;0otM`ah0J~jNv3v!u)6+ z7|1)U$V8n7%er8gey?rH;lfWd8c z9_ytgo%g@{P*>VqxKi>}DBN)P_^yJl=&Q=`)`-o?7lU{p5%WE&G^iTK-Ka8nlM!5J zsth=F;Gn&y7>bh)>ZNMgmqmWKJ{qn#A7_3(HF9m8iGXVP)PtQscudS2Ik$Z6YyAJAB6Eq|*(2=B;ywr+)rzbK4#1fUkIaYv%Ad+Qun^ z^E%J=6PvuTHF7^?>NPd$HL?%Z{o*&5$yxpVk~7T zdd?Bd$v=EvbQ3*BRo&oX+sA7Wh^v|(psdB{hQWYLiqRW_O7D$tGTp8MGkE9bx|&Ga zIeJvMV#wnXgOwx?x5F|AE=RnJLJ3T$0W)tLg2fUaETHLxSs>&kh1fdw&LL-eYMti!O_lpfw~o-PRblVsMG*BTE_!zGD-o4a~T-ckgXoRk4v4x<0U zqE#1A^^4#5PxTjm_g`PiwckYmr$A4bdE*d2xqO?8PFWUD(4p5_!Ic}=Rn;Y|78OH% z6(GNAenm2+tTOzfBgstY1M8RA3Mx8Zl%hGW4+IyCIJg{chO!!a|pa^?D9tvXE zHPwkWXE?p2HTExgv3nhC+g&HG$l9UMw;X=Wj&nWNiPrYGP|iS4m}wla7JFJ_B-Y2?bv_tB^KUqsyHbH!O#HyyUX5N8D;4XF2ODb> zn=>9S{>;f?x5QgAvb;Rxb9qBijj=F^)(qYvE`S+c zns+G=YUVl~hn9~Z%TuF|fWW-(35_tSD%htoXi?oORwLPb;CI8>L_tUwiiS7bd6fx` z0k4=~&s9dfaU6>zVkWFHE)%?at*e!Uo3jv}8nBbBj;cY1xnnijZqZY5C{<_=OU(XA zn49V9AXk7jfmt}(>YvY2a`s&rSB$1|Rw7<*uVjP9C)f+OKj<@OtR?xmuop)N`~Iu5 zP~R_Ul!e@Q;1B2bns2w(dsn$yPoj9;mRhj#jpYgF>T2H-@=PLDN?FS`dcyDzH49gA z#pvpCYUZr5eY!p{q=U;rEGHb>@jUb|tpfBm7N#k&{j!N5iH`*hGxB868E>LbzfQK& ztE&02?^HRO#j*}h(97g(l}8RPo|N-duWDQRBUJF6-TcDMeoNNN&6@jUPY8P^-WYf0 z@DM-aw;QL+cxaEWTRWN9Z9}>k%Zta0f6CNh%&%2HNVruB1lXs{OZA{$7U>cfLtYN} zdSob$26A%h2s25SvBsku&c(P)5?E)v!wSEf%9*b{j5n;KQ>)d-7;cItRwk!`y8+De zBB>iApMCJ>{W5wu=Q*FiI?1s+7Q4^n`bq0%eKxmR?~7r;Mgh z1KR^pZ*_wMO@nh+LVDd0B)yggZ?sOfqHct{Ux^9TjCHLaiODl})5TkA?@bo+7mTIfPz$F1(6JA=AC8WtjRcRlx>X*O2|3XOpNyn?-sXWx&DYhjkz5Wc1O%1x5 zjEF3kCF+JV5sN`HbJGZHPqwCw^_B6fvW+=?C>HhU>v7N;000mGNkl#H_dRm9R7FkjAYD4#YY$>jw%>bq%OR@XKM>4}(A;fRDXAIP>5hKqTAxLL-PoQ`p5tnm z-)R{FpE|f48=pz;B@eR}_`4=p;ioNi)}&mFtjBw) z?x!cr9Lb#1{M|n>N_Ey5YsS!Z>Z%sJ_A18I=m}pF-5WOz^_ogFIg8#H>n2IeO2m`s zVTcpl%Ls-eW?FzjCaBk$jkRKYdZ_OvdorP))x(;HFb7^+6lZ1XNUUeo4_c30WdXVb z4-xTG3_R;h>%~b4HnCkDPi|q9rvSy?@Xk^I_F2SVu}!)~q{;fN3rnK<~H!-Hp={Wa04oUpZ-}o2YsVSN(O$vT{3Ya@ySN4=zP0e`l zgYA88_x39^CFo9mZ4blDE@rqo?w8VHuX1<|F$s#2H*su8J$Cb8YjI2uyz;KA&ulJ( zWY4c^o_sN?-=c9ZF%0+t0kbc6jvMfcE<2!4)iDd-wvpVk0GC*e@RC@q#WS zja9}Ad3zh~sT?5-VWzys4o`@^EG|LxUEa;aAUiI6uQuqL0LvABe)g-fjgdy8RBB?m zV1T+LO=xhrMdEEz8@{AzP%Boj<8pwd(kDO?gHM5;Fj%kMI%6!dECl44xfQ%55bx7m z_<*W&UBvRnz|Y=}!_De#sW}wHIM%m}!#k{Tafy7oXehT!O83p3; zaKe%Ue>Y8PlNW0dZm?Y_bj-l?B**ktBwRTdW`&t``z5IFhBt{C=BffLX_xml|NNwQ z%6Z>6#Sb1=P=5B8qYV(FGK}TE{VK4^9Hy@fHmL^TtuHic z&PBDNZDMkqVI7^AduCW!$gMgy0O!9VvLCAMMxs@Qw3ibzFw2)?l5Y!*+8ZhfMkiti z-7@kE-0MZM_v%1Ba~)o-fjUf$E;KxNZ3SQkL$5wVM9gB0i^!8HY@(KoHIe(qgWb++ zZ?a2WvbFk?@x~HmDzX?w-hALt#O4 z2Dtvc+~Nu0!8XKDlyzPHs1jG>tIGEnkl=ypGS}UlwHOZuuCDF|Ph8dfa9zS)t{iIc z?90j|CY^6tJ9}ha`{>y6+3DLqh_NVG zfF0FZNrs$uO*Hdd5=5t__F5S}%ORRj!~ND@`B(MLzhK5bt2gAHp*D^iA{!adL}xOb zK$FM3enU09`PLVjL{0&KWUYjXYK@c<=OPop8^C!;say;jbaUI^HZR(BL06aK!Sm2Q zVhrCf_94pe2F6=Jzasb64*iM&$)j-du0l#1`TAlgm>k}@8c~BhSQ7m9@4w)(kDlBc zF1EC9G0bZ~=cZ-S8cvK$2mLaI+_PaLYWhyrToWX*RmM=6#*!LB_GPW-GURJN0 z8T{+~`PnzilxQRpf^Cc2XCSes`3>XL1h|l7R*qNK*rM(BYq0YcXomP`Tr{~)4~MMW z<8?o3jU*O42fypdr{>}kQ{wfe22DI%{MO#I+B}Am>a?v(Ke0yMSiR?sU0R`L9%-4k ztQd0E0>7RJnXgG?JimzJmr3|)b>g}%cV4M^QbFEx3_cG9uL{kN`W7}=H~+57@A4o6k+h)dH`MOGHK6l z2eV1ljIQoBjgbYK@p#f=66IILPStqS2dk6+W&T06NR!1BjuB=W3*yycgWde(29RWy zCWT#JXq)vNNg^Wp2?r-srg>%8CQ{Kx6hzr#mF5N*k~e-_mW-7b6LmL9qPZil2T1Z| z`I*>gLsM_>oQEFf;#?wNQGjE@p0%>sVivA7hDsTMJ&%?+n0-07Yl_fBo`5UPc~;#Vt{+j zTZZs8+0WdAj+skyf!4ir8>umoeHCq9XfDQLZ0hLbAaT-V56_r^i$Cl3|P_{kIJJ#xkF1s%ElVng6PuLfM2z1qU9yM0G3QqKDG zd0~;3O_E(gIA(Qstsl}|mADvS)~fN9o0SMnZNBwgrK^m+M>Ldh7@2h*k>aPimrn_r zt_D68$I@+FG=ReavYutCMNA(J+mt0c#O0t1rhdzWpkSBrOYAi=k#Gy|yx(VS~3E0W%qo z>+!TXnp~1Br`HsWpB#eGCq+zZ%@8ci^wyghuXeD!v0l6R!C!ef>on`Iz$^sL8xtpV z(I%$P4t*qGUz1dM^UZso=6Y)n`3=k5#7CP3ycU;_P9dCl>Pt@B#K7)_d>@ZSX46rB z=AxVa_{0{eHr9;wW8_ZH0b8RZ{hH*N)x9$AA4IITWxQaU_eArzd?uGv$h_0&4@1ma z>Wbk{m~rgo%DvQ~*{F(U&C>pCrPgR2n(iQ?bi_~WXBOc#N3k9P&J*IPZfl-PDI{ik z#-yc=p=WP%tJfqf5R+$CW#KY5pGIBXT^ZX!By{QS@`o6J>sanTkeOIN#s*7D=GTAy zztn&Cm;VsTJyqy6l9_S=YcZuIIv`P{D|%^+S)b!uG_o9A7aQexdgMkKixEX`49<+b5N>gb!Q_emP!wd;yIbtIV2 z#!msTV(gv~!&ir6VQ%c6reHX6*0qo~XASkOC*c)pwc|RYYf(0PDe_;GE{EKhF}o>U zkYGSnH|O>S(ef=JS29mDBEnLwFY2l+(kdf=eipQsS1N>;_(6qtd05P;0haBJwd4SD z=5B*tCyj`Vga&j@Khwrz!&kH{%wYY9#>-*MNZjz81(I2b-NazLcx-xodbM)n(Wlqu z-p)yGWTsd?t`1hEU+6T(`#8o*7s!!?V}cBzBJ~|ZEwq*(HK?tQpYV=^TiYiiSDlaz!%oL z&bEZr{%DR4VVutyGzDLb-d^6G`=f~rHLTsdt4wTMTfee4t&G0b1!Xj&=`pcf(aHGX zqgJmyRj_rBP&=1%&}(iwF~^I#8x8ZM!m?P8^ToDuof|?eZuI_ToObW)2KdZq)-+mM z*~5QK{j*>E7Z_O1P}arj47Dc^Al21}uD%-zr&?V63TXbKrSTY49z#?3AbE_z18e-ha6Et}!rVk!&$7+o9 z&*FBUs^%J=Wx3!TldlYN;S;*oN;OrUyE8pwVFEp@Z-x36yozfbOUhsudv$T^_tvQW*_q!`8W>&_B^^6 z38gucdCVt2=TTq+t~nHrXPE+Ko6`rB*~%bh2J+3~tnS6+Jwc|s!>v7Nk^?oFLT~Kt z)jze~%jDb~9i=ahxH48gf8mbU^W(1hfH8|fcBe_j=+T1oClimh7;!F-3JB-JqIoh* z2tylJY!eNHG+NhLt4F@zs3VF5|N8C5Vk{QG6l-=Nyyq7br@s{oM`w=}7W?_xRT(BH zxBYgnUJ~jk(0LD~3XppxPl9kg9K=p2E*}&z-Z=&0@Tv$lFJ&JX+CNxO$!|%`Lu5wl zHp_7zqcLu9VsimSVWGli-u!UrvynM)X=3u(XXEYG1rjj1ctk}7HB3O&TB^2B3v!&U z&ajpMI;s^u!9{`mig>Iagl;NXEX0jR#-%k$h*=?9lIRrwn6-y-)=9%z|IlQe|4%(}!V3r_c)9l^>dvraFg*R0o@lQ)j1UOsU^*tL)gzoNCO`4O+e zye1w~KlsY!EIYRy_Z;C4wkvg~Y{2&0QMBfFF-`LMK>Fl1AmuBcJws)w>{olJS)vN> zSqfb|NnfYhBN)z{rfw{`t% zE_BNo#V;e@mC8B;E_nGS>lJp3nv8~<2_J~>o}9HeHjXNbHk(^z000mGNkl!`&c&V1HF0Vy=htx#AMn)Ycl&BDP0Oj<_5q;kvv0^E0W{ zCul9BB@$}DGmZJhUG=v`83)l@tN}x1kpT4eKwiIG=6739-6buKTaGslVd5-iUluA0 z96HwbeKserOq)IAZn2MW&VAKHnLSvoZ&4o*GU9 zKU01*!~Mvs)t>!@mJ6ZXU2k5qhn~Y_PvUixtsHM%8#G$xB=bkB#?eDCh3ON1 z6T!)>K0>*DS%$~tVu#tlf(>`u9W7_gLTioYs;Lm<^f$jL+?sbz?byw$yyLC;Jj3jH zqykMnJp#ej;e07dOzO>tQ$WMP)&?WiCoLJkA}04XKBd!PJh;SU$UGC8h+C^NOAEdaA1ndAvh4PoXG_`I(ldK;4*Re|BXU>y4g(iYv?PgM3!g3YF}AMK4~{;S zK^^%i?cQ++7vfBoqYqe%lJuN#>-@Jq$;o&9`QQCF^^4#5&jg1Af6mE`H&4HFR^uPr zt4h>-p;61VRn9k0om?^0#2}azQLVvEkb2u!t>jW1b+_bGx@YI&2+VM+$%$Zh!$cIU zu&YVU3`ec84~{WXG>uht({bm0>4_=>PJLA1a9q4x@Ld1o=o9{ji$aW9)m5?DBc$Dl z&Eb+?{5scg`ekN)2sJgba!svXUfd?I2fjFG;s>Hcs=(eD9rl`tqJL0cS_J<4vtQfy zzzo#er0gxGLE`UtSnIVybmyO1W96#47g}qbamV5C*_SUpvdW*C z5t+xm<&0w_nSoy}ZeZdT4L9Dr_}0i7Yhv=AS9r|aZD^9)KG(Eyco$>MI^%7IpZ%>5 zXHwnv;dX4Rb7Lk?PF@49X>jFv*vmfd5rKI?ID8qS*CiC(CP`j5^z<^8pB}+3>ap&n zXa!9I&hvoQ+sH=YTo4%JPF`SaT6-%d>HEUGaQn#QuLm(H67gvFJ8_-Cm>d&So)l~B zq|0$?43aI@E>+fcH!&e+Y+M_8j=}IHS2L{AjGINQ2cBsxFM($d_tVVCu9oBs4*5Vo zGD`6qbB5nO|NX`zCjZs+iq&X4f5FXs?Pfbpp##lqqvOE#$aNp? z1CY#qR~^(#wD%g#kwGxaFPd&eM7ZvD%j)JU3hSPDx8y~&W*v5OI&^Yz#9wOQy(C?C z>$b7?M)r6VCBHRsYR0xWeARL*XRT=1%8*$q`-^&4neLwGx!8x)v*U*{45rY!N0l`g zaWNWm?oi0RrOaztQP!Vx|3fMzi<* z3~?Krt1p7oWvTGRnBKtG{Lt9o=*|Ynx6VA#kEg}f=~Y>$fu%jn4oe&>#*q45>ouPJ zdfXkJPaYx1-A=_jd3Q-lfC9fO-`&OP*&4nJOAoE!nOx_R$P-iClj&j)g` z#LV?vSR||0OyFrlFB0I=ya@byZ^O^r`h?`;w^p~}y{Z)+-3Id8bV{_Hr48%^CbTOi zyEO7xbKu6~7EizgmsHhWi{W+R$k{~|w}}_SXz|2?nD_RnRWrV7Rn;EwVIE=)$6T7O z?j~ZM)anUSmH*g;d6LZHRN+f*p$azH^*evv-)^k;q15y{OC+gnfe^ORuNd;UKVtGH z9tb}#!e$yN>$?HW)7#u_<|1T~R}b`pC$&CkA^F)1ug7jRS(W6NmgADQjSpxyH`T;0 zl=ErVOREniKuTy|jlOW^ASqd#_(!H<=_!n;tGhuf7M<4-wz!@+mr53dU-E@novx4q&S~6={d}1=I=SsWEn&+-mMQ_yQ54m4_v!?b? zyHtb2;aw%G0nQDu9mlFRKR5NpNI-&+NvIX%$~r_@GBQKK_K(2WJl-;O_7p?;Xf2z7L^Q_WH?7>ZXvpi&UhLzZ z#+o=3I zzGAr_EW;P0iyshohi*7>_iO^TEabIDBF?#@tcr3CD;JI>G`>>2bL_FMbk<^!b8<$4 zld#^q7Qb_11@dY=f78Fat1#AD17y#_FCy!ERAlY2Jmp*kMa4kaWPjfNdyxn9ux*pr z6Uf{Fxs3{?ed?<*vR&A{!L1z)++^cjH29g8@7uzzuslw+P&v%&ua+wdkycq$aA`P0 zjdVo_NQ`GLu4+={xc4wNd2547yq%Lc(N=?H4hr?T_AAdVBj4 zR`()wlvfdolb0Z_k0Cu&v<5dhF||yhozyL&QkR2Qg&J(2)yLTRIQ!&)XdoirUTiuZ z4#l4H?l*kO{kyx?54p9mOXD32`mdeKu;zd{;SFDUi2k8 z9GTss!Wm%9(k#((bJ2?BHNu~sh?!nwthL=dvk2V$hTcm>G70<-ed- z;$u}e&BSBKgl-r=H^2bnC@8A*KH}4&$kjEHBdIPl*j93w;oYVLy0K)?_jRW?AexsMWHRd(4+m+W(7~kF1jTP@N15-Nuq3`M{KzdT|_2cR_$P*x`=7-&zSnvJlaJ?9t^i$oOrJlvP5*L!igfQIa zuj=k)rC;&-TrI|~VzVa7|IkxPBhEHr&6pl>iLJ;`BboUS?6_r`R8XSGFOYh z*CN@3dQGU;z-OvC!2zT4C+3SBrYK;}g{>s394>RTaJiUEN*f z)Kgb8cH=fV-1d>VMAKEfwi{e~T(H31{)~y7b-2%ID^0CAN&>@y8sny$3VPw)H~m$w zSfp6*pPz|$Vfi|)eqpnyo1P)AB^^2Ut8S@B(%qD5GUlFa^%(xYF&aWE0lC(!@p76>ybFDdkHIm~dj}8u0;5O7eDR`9 zY$vm9i1D)anb;d-?8T7ty0lzacu3~Rft6gn#wGKXC6OK?lN2+{I(@c;*B@O~1;f`K zlb5ni+o^YFVnk%p2Tm_-A1`lWB-txG!O>7t7_;;>1ESldsvB=X?E!`%U*if#&28$8^n71xf^cV!KEY)m000mGNklHk~jZ#Zu8cJ3F;3t)c}56i-$C%dSU zoF%5@p=Of~-ev2w0M1I&C!!r#-qh$9oH2Er-U%WH%2hSq2~658PHgV8ym zA~{%~(S(_oH=5$20o}0NC}8RgVXTOSmmE!SQfpDL3%WO87hj}$j1??tH}SUQIm6E2 z)L}^0PmjRtNrE>$SfHh+0E1Ry2~iPN*}wJxo72J|UGIP;kW@%b9!B)Bfk-9E_ zBnbN1w_nAZlkINYsuPVBs-vk&RE#K7^UA(zHWxx=z`90OqphIR59T@hmABP|=2xS| zklV*OXIzQ3Dqra9wfog<{kH1XZFl#XDR=5lk^<)9Q805DxXi6v`7l*#Y7g_;4x=*<7d*UPUVoXCIxY0n z;oT=ZSbyKM;1pDu(`t|4T@wl%?`8qq5;=`{yY%rsLm^{nJ&+&wj}8%mL-vCe7Wq^F=y55~S4FYUm+Z#n5F=o&3S;>XiVf_v%qUgtDP#O@$!1^cmqt{@F{-MIB<7UoS>Y-gzNNr%_@!3^lVD@Q zObaxFnty*>1O89u2mQjLYLhfz{0!5&0Lb7PD5Ufb;^52c||p8Zm8jrA}Ux z)0>EAF|P)t|6JmaC-F`VS3{ex@g2s`&%mhGPfed~ z6DE49o9DW@ZI2yX*82onBIN;S5+LbXKU8Xjq(~t2ce~8~_Fwy#M%Yixlw|n{QSaP% z^vY%|g~Z%#2!fok!39fPg|F8j#bhg24Y*|Jh;v?iu77n+@z#hVK`ma^Z;@QP zETQOS!=+z;U+0tGOTJxQmsACr(ptkm6H9)DXC2M)0ClrHZPpbEsM-!xZc(4ZS`%-& zD>#sSQY!)W^-8=K=|FRU#4bCA%DMD!M&3B*SFcHUsGXZoD%b@blNULYR3bB9n*DRF z)AROVX6kx_bOXm{Ax+Gh$6M;WB@>V#pMCIBUa%T*e`95$syT;Vlhdp%G;-a5kX+w} zhFU`QNdHZw7TitN94@^E(9e2;VD38e@rkfF)6 z-Ha@Gra3k?zeu&k@*A3xr6LzFe#=U)CCM^*U|CF@G`<{q35+STOdj)v#4QfN!fmH= z@%Y6c#mWre1C$pm?*u8h)@xwvfYmK4`r5izzI*wo#P&$Qt#cpoB{9@IyM8QXF4owG z#43Ya0A|eT|fV}vYfVNw19=lOZHT^XpxT&_E3qrr*E8b zQCDxnE~!uPQ_T+rQ8!4#Rq}#|V_`!2$DM_@kEx@rO1aB$;`$hH-r^T)6SjE~>4WUG zea1|c6YD+q>5l!e>s zhHx`Cy+R8XLb!o~ZAoWYxeG4h)`6K-Ib6MlMM+c*)E8rXS%c=piHRQTG z|NiVr@>z)=t>2~7@KP&~(_i#k@15IjeUw?FP0hw0P)ohJ%?o`|<7csOE?Ya8VT4Zy3S_0fz^N?5q#6anHgJf0?pim1@KRrgHUZsA_7&FAJX+RA# zajuO(I?n+>PFn(2@~kDNjn3=MjWCH(%39GCBk>Xut(kfuNv3G&*&{i;CG#kbMlNC( zNaowypRy`REZ7BHdkE8?SZ|!`Aa-`cFwtf*U=Ar@2RZl$i8%8^v!SHf7HrA%sJVm3CH?Og8w+SpfUOu?o zCAPzIs7Rbe24fFHTjc{1s#_&s&-V~DGY<^;H>JWi0>O7vferkUAvq!EAbOwn3$JLW zHtby8=Azj+FM|Cs>qCR_js1+D)-3trDt*itYhqr~Dl(q2@nWniW3^pDlf8ciyacXh z^vkSS-Fp$NO>K9B_6%%T_ved`0%l3*wc5ine=Di4*s6qHpx+$cixJ$#5q-TxHZ>oT zcz&0XA?v)Vfs=?xg`kpG9I4 zcxGwl#|ImzHTaRK(I$UmxzAWmqi?Q%=Y!?9dA%Dhhkk*|Sq-&v0Mwrz#L_+@;n+h; zQ)f=BiN~TP7_XMn>^I(?Vm;DK`%I14x+GZC&S%f5LDY7|>&8;oy9gIv%~KV8=Ry>( zwF10TsEK2{z{AOF@Ve{;&XgEHN%#8IS>f4$3}gGI$ zGP3rI>J|;&9$7_GXQa$%1C@=&-)?Mpt%zeL^LW%AA;8P~l}7MBN%<_q*kgUMK%#Q> zHC}sEb}7cQku~O?aNLdjH{*(|%=QXk;)=0SFcm8Y99!>`)0MbSR@A64ctD+0{q&%M zLw&Dlema<37V`G>wI%i(Fken3NvIc~*ZowDdF%X(Df-0J?^45DH&pQO6Q?(%9=9|A zW^RN21(JRbZG?zfN!0r=JqPf$jz;pfyF`A+o@v8%pNDWWZ6`w$GdEK;_o8lcdh2f< z%#8HZ6+;qjIPsVq=}a+}VhGQoe#{v9Or_xf%<%frhhQ;IPmw`xt__@0&9Kv^D}?{je=d8`+G2|-RP?x zk(mgnbnfnAmgA{~xg#Q}0_5~+y2`MM)inA>!t|$o?jQY_K{dj(e45t+>QupaYvV!&O!G4FN`DtQA8oZfO9+11lvgOv4!E z@!gBP>qALvsJ2TV@n}iCCJB4`{Q+D&#KACx>5;`v{Pt5|g1oP7CrQxQy^%2%DW2?W zN*?V>{`O!0m$r*0DfhFtUcH&|@-fKaZZFnIznUgsF@Z759&W~GM844Yb_B^8E0JZ*xqfOv(S6SsELy#aU-!+9!T$|Hrhcgd> zbKjJ!4aL3Wp;PKT(~or{AZWA?*4;z}qJ}-YC(fyAg^kEeNyr-_TyB?sFb|m8ct@c0Mk3*NLx|$;sJb)ji<~g1Mwm86G37 z3H0~>06kVCYCt*uT#M?zr7+p>zBY{^loRodo{O7;%pXPz+Bzqqfb(B=R@jl0G~Wf1}44(aAzYj){YUrP5C$CBQVcCvcj@wF$fx$ z5X|%yEMqa3yso_*VN4y3c{4t>X4fyZJDMgj`S~{}G;@++dLD}u60S)Am-___r%tTr zi=*2hnRO0e_r(!s(kK3Hk^In}aDk697s>;H0Y=G8iyJ!YmXU>;jPD{*UE*)5yW#5yBVAdHXv?1P-i%dET zv3U*X-u8|sjwB0#8gQ-?50mrX`fw~tab@n@i@F8^`53g`J)zgz0nWF=T=#4jjUw}q zLN$ctUN{fOsay8Mq$2iAFbGUVNF*Co4V+qP=JLCWr&|q%(Kw?JVSL z6Ws_B=WVfQV%Yl0fyNd-Z0BMulApqZ0dw(cc0Ttg7&49UiN9LtF|=n6Ru50y9L6uR z^`&64T?)F2WkqX!o!3~aH9TWNmQ0rYz<75a`mEZ8RuSt_~2v5exp5XgwnXH;_SMJd!67o982E&g(xAEeDDIQH?ive_Zd;0mAHflAc5@Jl9_f|^1X^m8FP54dNORZ*|bS&bkaAJ$}TGirf4|3ADn#B1` zku+Ir7zSNjNosE#1k>Da`@f4x5zDQ)FOJlj3Mlk~LKp{pz3^;)pP=52um0bR(~6}V zLHsHOmQ+E9adRy(*?2O*^u%{V;!h1Bip-qJ9Hwk)22Ij&L6l%n)SWsn7tBg)OvRn^*ceCyp zs6yM^<+>wyF}`MzX5pavXa9ENOV;je3Tj=gK@%}?>)~IVtMc{fNi;7mdp{&P_N1^` ziF(-og05ygdTxYYB|R+H)XCQ{NbRf}Im;yR<%sSMPSLYFyRd>g%ES zBa?kM*95nOTb!2iqv>AT7j`h8y@tdh157*QV&gLMQmKUT)biW|w`>EZ)@`ebqNF+C$F;c*vBp$XAxCE(fbIxsu5h)*7S) zKCnu>kxJft>QrGrh0X1L>4E%Aa|XBnkyah1bR;>?MckKwbWQUjlbXd`lrHB1Fjd4z zEzdf9?nA_qd=TQ^rhVCGYJo|sJlJNK8v8}yVy*rMHrj5Af1oMOmVbX%Ro&|Nuqp@G zheB9gNr`ztS|58#`~-^taV(sT6=G%AD)Z`ZaaX+66s519M%T<3TYs1ujO%n<4OcI^M5Od}poVDAni3>!fxqhB;j7TaZQY zVXG~j7S9pu1hvPm{pO~dircl~CAkR6k5GyWsaOAZ!Rk>NZ`c4k*Ty-RxwaZW-a?(W zlIy-i!d6|aWSQhbC2cs_@wJDsR*E*Klhee6-}&vzCoEWDeLYO2$4-lLUSf0h zjwk*jXEsB%8_X9Q%op=1|H{7C>7Fma1J%{tP<)h~%^%|T8Hoohw0AmR9B>Gj6s;r- zc%~c-bC|LZW~LnGH1PWRA)q0rLIruvZgMAn$TwCPzKg-~RAN_q)HP0jt_K-9Uv^O) z9L;JI)yld)(G=ssX5QFt!{7dB=sWy@JGtGYzwo;v4t4y8?Ct)1A)xG|f@_44*MxZQ z+o=XX)!jNVT2fUk$>ED3-Y~s`v%KFOA36I_lIi25Y|MNTEONNAw|;E+sxEWd{iQzr zyY?7jhjDTW^jgTh5TA2^OWjU+-VI;08Z5Fb^~zP1=ObMXajAi@*S!xvuT*jjNkt#P zecax1qNRfy4Y15j&+w{9xR=m;ctqzjguJ=DZ~-g|H}99(ul;NXq%zG1d@f%lrgn11 zV(qT~jPG2Pe}ost3&`QQh!Equs+*-8U9H31E)NJeT$V~+XkPOM7@ro9!IEHRW$ZXF zf*5kUx|^y$^~DIWJ?_jY)~h)Qz;`jktt0f@m5tEP9Dc`^D3Pw><4z!1MdX#hRRyct zsS?)@MmMUDK3_`J-3iKaW;h}4%&tCoK>qy9Cz!o-9Ss2jKeX~J$aS%@)E;MFxFz3- z3FI-G`V47ws8fedj3kAG@mUDqyP62h1Y8q>e%?yZnT`clkniH@L;YB;&uR z`zgvY>b#B0fak>B-qk8xH9v~c7`JIh2Ft=P$o-$IujuSqjPx1dCJkrrh|!%%a?8@t zdUMd(BOc<`3?6M_0<}n2p8yt!T-;m~Ey88&GjO|6u6O9sbhp$i4-K$*dC3AV;C|3l9lBpDXiohSHX zO!RN{pC#tyY&zKZ-M*RfOK^QE58Pq{ULPCgOr$Qk z_4>?pZA!^XD1>CL*o@rxBn&XIw$GTJqa__Wd4l2fSZI9SEu_zs(;_%*fcMbU+dkeH zvXQ$WV5Y5})R`08=RRA?COK;T?k$Wd4B*y$B+3k6QmZTF16$y;$ZxZ37Imu zJ(upqt#~J2^djDpi*h}(4dzVdVw=CQ8cpuA?PsipTM_qD%UvhtR(vVXaS-TnM`Ntb z^K^cN60*wk3a!z~0bq*0wB%TsCTVS^M-eGC<81v zB0?&O%?~%;ev!CrjZp3Jln1-qSiSLh^DzkdU;ttE(aUj0T}jGesOoJFLB!M1tfsgg0@LHa}E&Ug06| zei-{CccW*Lt!{ubUQpHis0@n)D#5_+W(70tMX=Qn-i%z>g%w~tHS3LOKGxL9q9sqj z+EwXa3^4sz!LPa1RV0{If?^On8w1x~>E+pr4D7S%ax@$St86!M%NLA1-gv=WDiTQ5 zRfwFmqu?c7Ylo@5!gVoRz#wP(aWC$_@S(!oS9Wq6_@5%1{nK^xt2WGne}eUHVF&Fl z|IC~7I@IxUaWyiWN@Br%59;`0*k|ep*OXi+TKnzr72kcqR|%VrdO>qYHfgkAP!?hZ znz06zDb@_k<0s5T8ffrmPOR5VjL#K7(97!v)li8?r`M_`eSo^8vT%*`ntP--@7bV> zEXG_xo?oIf)tb_~kv?r%nDy<~p8Czda{u|6tmVtEca^cWIMFc=WaIO*6*KPW$zIiw zMdN3I8uQyPdF2buEfmXn*hmZj;lbUnCeZ7m;hBb&eS%mZk)sh1vw<w|;--aZ&DvQCLw0Pod4uR$u{t68riv08kzRmT;Rf0+2j|Y68U^%FV?%tmg_tS1c#a}2`1nn#mpdUq zNi=1q$~9csq>BD)$6E_7hnc6EA4Ut!o6Q`V{C>yE?rjV(^SD!MbrDg6F!#9D5egQn zR@C@~)@>nvLS?yNViy#;?~Q9KdspqXUL!ffbQD~6ai7h1%JZAjEL>+5z057PeC>~D z^zEk*Nn_l){8#CT&1*?14B-BN@BW14Cc|0dV^$2dWvwz-40Bp)h~Fk;^!V@!F(#YB z2qs5Z#(M0~7YF@5C#P6DSpw$t6DBqK1S}@BPyUP8>(wGRA5bO7nvbAOEzY30Og*-A zRhAax+!u0x@pu2Qe*G8!8TMp1Cdu>#e5kbMAroU^nyR9?&yfGOmUvz)wInz|#h$Xa z?<3xG&v1CAHMm^Ew{%2H&(dTgfD_AU7VO_qN=ccAjALOE)zIazZg|ficbhp6&JoK( z^|i;riZpqfY;4|e9fo9r%WvJulR8tadA;QL!REx{#o8T7s%q2bLgqvs$BjeFJG;{Zq{kXr>sKx!4A;<2`If;CX=E zO%=eH`(UPE6xmhW-DNyB{KRH8L}h8@^%@iF-N}qtzj|!64oEO6;M+XAgk7qOTSRjA z(tT-2e1tGeYTs0s$YWihmq@{y)@VlR^xn!_WG(GOd5cHCv}QotsU^z1bz;rL_|;J6 z-O}oa-gBvmVDU#boc@qYV~upKOUgiv9urFcagCBA%{_x)@^Su@*B=hWcscjbKkzvR zgn79F%Nd*2!Ut6S*6;r-5bqO;ne4Nkx`)Dt%-g&PF}C`;$ru%E@Xo_6LV%&A)^ip6 z)E?i0O>ClQ)Xm|H_2f<;I6~Gc+7;=X+<(&`A7cq$q`=HlOIYD02*eu_t$AWV_QdDF zdL-5)28YT*;07A7#+wss@|v7pyRn+Y0+M14n7Qei=H|5eVxVQdC47@foDX$sj|M=P z&Ol|{xaEvBBfS#OHo;L+4z4w;^Df)8R?y0iA8K zktBKN`tX%~D*c|qTe!GlbTw;L_wwZcPpzSL$Lma6&%@x)-e`b~4OrI^tk|)fBz*&2 zg6Tnhw_Z~Hhvfy5Gr!Mmi1|+FT0d|RKrat4zs_2u9}MqaV~_nRgJZ-G(^u3~YN4pn zcgwW!W#+Un4^@B%W2QfH%GPTJS4&ZjZzcqrLz>9jw!r&(^6&I3+Je3P;@^Try{}8K zOOv|sb@1d|a$NwApX#gNb?^6Gy>gUPQDhCSG7JDZ`^FQW36Y-oX=SZgJ34_4#-pG6 zs9w4#kRJZ0d}`3E@u{AAdjx+jYRAlFBSF1N$WLEjb-V67FrjrCaU8z1s+xQ*6K-P9 zSd5AD=Vunft=A8+aSHeA65LhMxQr>>IM4-)9-qzd%p6F+|%6PJt`7ZKUawmX5W2lCxK0PhV(I(J}h4HftZ+v6p zu?CC*&wOoA-}NoVtf--@?9M?OCr*iElfZ%7{4OGo}Y1E*q!^{ zeWyN>x!oZ?Hv9fL7y;@pT6SM~B$-l}y>Ow<@y zof7vrI&))cHATbe<;I)SMDJ9 z5Ql)7+*u&HlRebW?@u7}WPDblG6&~9hUQlB5ddedYkkReH;1ay6@w^odQ5=t{YySN zph7}l8djNO=?*AIw1lITi*_w3wp>1EYa&g8UWK`TIY>CcI!0=mX_6V|+J&nVcRjc$Uvt&E)VW6sXl}TlkK)$!&ixG~ZhV+Ah_W4}gX%t1a_ISWu=8m?Dn5EuFcUNCj?`Zjl z%mdSSX50f{QdeXu9*&sip1GMzd;3f|=;OMo=MU zn#Y(SYR0aC_g)$`YQ4rm5k4>rHIXx~F%QX#%`em{pK>jZP>BIhl@6V?NR)_BSA~X! zDWh5=tZOXlMZ6CD;>vnL924;U{1LCRr=Fm@Sv}s`*j2`DO?3B5Z4wfSwO)K#zYG}A z0oQVBccvFHy;Sauu;h=y1mkDk+QWU4#A}xvsR$RaAc5e+reNra_10+SjP=HvSlj$| z`8<*4Fn+%}{`-xRb*6VFH*jU?~&M@@?32m@mlgow#_R{1CGZRBF(`$T^YsvM(E9KUN zBpgW0mkMhp3Ad{(VX~xFL_QABEdTvknZ%6U3%DqN@7?egVNIs-xI8MkkH%PcOUHcC z34_)6;cblU%!qpi`x@fz{PHv`-ej2Aq zT?2yIy(*&5y<3u@SF~633mw3t0;a|2fsss{V3tWzGSqleTH;;;*Y|swZ1(INcwf6h zQo8FBNM`a{l4P21yi;8;0edX;xqd58EBmRD zA1+sd$UVZbFuhq_otrI2u_n|4tW%@+Rm0oP_9-P!1Eg~1q{PahD_DS;PkTiAV*}7w zN4lh3tkK8Jo6rX9$1D`ul`z(SVZPsN7YPfK+qIeo zTVtpQyd7xIBU*9({7gNe_jS^tvQ%!9{0j5fhbu;RS2qUEYYz6>vabci-78#~+-3l-$hGOxUF?6OJz%$rvhn;$K@ZF6-!+9fO3v(BU&_!RY=m>Kk zs#c7GPhMAyeC?6m8{^DCA*BIvQJs50RWZ!pX3jW%fwCmWEm)d$ldv5as?2M!WvVia z)F)WrmE=5|znvxawb|yoA?5U&yPc^!zVZ8OyfW&0`V$YR@g%9&EIWT9etQJd2?bddKNhic-|EDG@gFO*68IX7cc21S_l?7 z4fw8yWFF4^n7sJzW30Kk{?pJh7b~!b2D2TANst!!s_V^FYgj58FCI$?LF)0&pEs|U zK(h!@9A1ho;#>|TPz32ioSO~D1d;$SE4A~26fYx~?4pUC#_@bfc&=`*X|eY+l6?@i z)qH^%cQ;JQlta!My{}7~X)`Rg)YwP5QVVZdag10^IPjY{p+V|Q+kE zjd-U)5|?>$Lj*}?k)S=?M#Y|qybjK6l@>k;h2FyxNMQ7%7Eo$aQ&mgl`hYcFrz-IB zYhCJ=eJaDt=EVj>FacHc4_^#0>y&d+;ONFj;LZtlp|1NC zaBpgI#Yl{I-uSE7y0o&XW?N0MUQQFs9fM>h)Nkt^A^zZ~)^Z;RNiNn}vPV8(^Q0~r zA6D?T@q^nI<~8U_=_Z3o7@7lSS}X8>t>C{w6CXpEI{e|j19W6cM=RJC+S-6k?hQwq zH2It#&#dOhmaU?$Qm@s<<;W+&Q{9jhbglbgN^6#e!!aKpxaCuWlGiUX@?GBHUdYO#OK3?wNCJqPKr@yUtdJ-&|sg?l>fiJnqYbnbXLxKR*Nf zIcF2)R#B#iNVQLNN1*WJO@>QUGQyey@M(+XoXd zN$I<|DEUxfc2 ztvi{TA-BZCEUzp|N*BW#?DAAMStjh7&vKj|umd$j-3sNp@?W-q%iu3z4gdfU07*na zRLp~3^(!w>s}5cIz$}$vxqq9og}fZi(j@E&%uA$yfkat4>snGzA0vC}Z@aaJ{|Wuu zerbNH0J{)0(`PO?sVoUUm!q4+hqRlMGLzo9d{K!vuY_B)B-h1uFM*GZas@u`izV9H z?k*+-voXXvjcCsmxsnbi)^cwIVd-+TH z$A;A922QV6;kOqYbcrrl^ccnQH@9Dile3omJRIEyWO1xD{gf3$IxQd~#UBmW^XEkZ zBd_3q3(~~eP3Lp?9rv`XZrV!Zqvi{-G{W2B~Ho4B{| znnvGEabDD@E1_cROi4>(^9-flJUJw+uX*AP;?xFIZCBkO_-~Ij#0EwV}NeJ`mBktAVU0CYSlpQ7%E2hRH+! zB&=?(k#opvcGGLQrp*+YX`r7C z#8gb^4H*ob-o~2oZF276&7kh}g=Qi`nhyqsn#IDw!y2iv zIMUreIu{Mjyt*aQB_mYQH-WW@sT5q22^d;v^9{u6PCdQ04;@&?M>Sp1B`X$;(ZB=)ddv-NmR3LJM{+EC142Umr@tNtK#ds?1W`CGf z1z*h%h|Fg;O4M1QpoJ5U=lFEoNd-S?e}vAa+VoI<$2V4U#eH2tQtM)QU5tLh*n{~K z0#XPX$A!AajJ4S|&nmi!^~s~w^EsY!@0U4f96vFkW*?OpRxu8`7E!MevMTzGYwK%< zyhi+||Lni7|K>0J-yr6Lsnu(QuW5p4^XppRjPHXRySW~DrdT7`j)&zA=tEc@G#Br0 zIo6C*Qs&DMkpMI8hQLf?ZF+`enHqE0gheeOf>(h#xm+X}Co&xm%TrNi;X0nsS%g}& zfJj`x5wPT5-Ld#Xlg}V`f%hzwt*LgQ${yx-oF`{6{E4m6CMPy;JYGC@b7IZh)a_W8 zGwj^Ki4_A74X?ki#TZ5T=Vw3jw;a*t%#^-#1d7PXP0ePj;8Ua5Y7Yg*`im+HF3#HY zgi~%@4EKUc7@mb`hS$IB5{t&=r3@;Dw7oSk6d$y;>V_zWSP^jT0ob!uo8R$iZroMf zE>&slq3aqGU-ey$U%KkZ z9tYPRH0niW7`gN?Fp0M} zZr$U}MKjo>b^0-LH)lM#Pp{6rwsUWL%3V3152>6XfW%%Kyb$2yzEZ1&x8))P*#fl8Zi?Q^i50Ht_deEB0G_}MJy>8H= zR+`l?hX8wViK!8Xa`9(ul-3cd3Q=ni+j|Aqsz!UL)SL1o#syc5rvxkON?Z;xcKU*c z&NV)i!37r>i}tBX^sthzbtMZmT*aQM_$&ssMmL^5QX0{jrX~nxK|0j-RB@)8M@EjX z+59CPAQINh?v!!-rzc;7e*q86E-UN2G5@XKj1!MPCH=g|Vcdzq! z?A*8pXr8C{8M!sD&%wT58^mY7Cu-7=RloeJ|02HJD47+m^;s_Ku8`8gxftwR>VJgQ zYLgdlvqfr+4Z7ABS~2`t0Pak$(mSMyPvKUC-}rX!tI4^CUJIT?RW}b4eQ}kMJU4Uu z?w9t?mw8gAHFJbIikIWnq5ms9`B%E+rd~SO-Wo(=Md0t|)`b6oCiJH+WU5}vXs(=) zTT?k??I8(_TpR!~^Wr@Foi;VU-I(X^PVV|{RKp9!_&I}cOXHO1wMg`_jQH*W4vklB zz1OHW_BAUuTj{RDSFNAXn~1qoM!SyCU{W-eHq^SiS}o@FlNKG0pbXUbVPZ{DQxHsD ztoD!-HqE;GEf?N}o74DC)^!_t=ryT#zxAZ{;&5#ZhwSdffom{*tK>N)^)*B4VBcE= zNYdL}dccYA9_dxACN7KKxEM_yXPrGY!q*2hM9$Z+PCcA3W?b}Gz8IX4ZVgAkv{!GB ztM0BApmH|tRvdEYz?<9-f-6S504vwgs_92`=16Mz*C*l8e1i1Z+=c;!d3g7q?b>QB9#VtKK8vD}#4U~}Gucu4)7 zcc(ih-+d9naMU`%aoc;pPW#~$Xm>3+CQo(Mw70I%gs&?3aK(UUU7x3dJElPGdO<67 zwa4MnY-%~{HKXmLHCC$))_>YvGuqLRW9HgQpiNG1Yz-!q%5@U_Kdilrx^2mAod-0< zrfemOWmzJ9No>h}|5vjj*~;fw;>`b#D%7gA_C77jUuFY^fq?;3&ABf7T$*fuph2%* z3Q%>ky7lyG(kyhEQF~N=*4AC2hQ^nj(2b24r;n5K_%p{i((K4tE}#QHXUj$ zRYj9ucvCAc66jiENy0t(;n*z;LBIfue?Th-aF+51#@41r5v#!t%X3pli#5II>FO|k zS&`Bs!ktSceXzg}vyUAJOS8*T4l<>-$CFWT4rf?pa`xy}w9D3$T7x?llFUdAblxCt zFqHk~aYV|&jYqFeN5>r^2up-)0(_)K)9opNQI&OL57^q|^?9j$aSe3ecNWqD&tZ5T zi_;5=;xZ*cBl=9f6QJ!rg>?ME3%$3tyUTxWPAum=b+_qqV545iH*3#xuj(c#^1Wa8 z%Av4D4r6IC=&8!f0S{sBXH4#o|F{2H|N7tlHzBUtZk_atS^q*psQ;{O&Vb@&ODFy2 zBv{@l6a6u>`eYV*TfLD(IQKc(3+#7FMyS!P%1^YYo9m+iM`lgV2&c*4`wyOIU7bFh zBZ2`_Pww39hMIa3CXlnP7f`VCln0ZvjnsjxRnG3>a?vf|*_%jZ{jl8F{P=M84LO`q zUbkkhgA=ll{J<>hw);oDzxLfIF?tF~S%8b(*c`Yx6CA5@p@6OD6i^EjVrujxdqIco zWQS-Ld!CitqLv8k^IgeWmE;_x>6^DR1#Fc7w7#E9JszXcIw5Hmda%G*{6blHS8U=y zy>?lzYopk1xvVkRA4bzJmaaeKqE}h-1IqYvrdebEY;1jPh{OZjw`*=uhfjb@L_P*J z@I>dI1fXVoo^|GAiC`hlM>b|lc+V^tkH7>4W@_+${XM{$q9psNczLw*FlRR9hHK)n zZ~OQ3)Q<8Sa7{YeiyLTd@HbO<^6#wYeP_rVLKwT!=AMSmqu8~)pHATd)O)9+$;&zW zQn%cnb0HhoCW_-j5c8H}#_#@W{pirV3b-8;h%_2)-<3^>W0hh~ee7`?}m5l3n4g zlP2OO)uu=;CM2x^TOSfUwDWatJf$qu6A`V)O(th*^<62kQzOsG3w5MF0qn42MGDJx{zB-aFH7~w`gvhJcA%k4%W!C zmkU@b(&?Aje1g0Hz0h)8E`S9*HDC>%h~jYK<-1B?^rBeT7sC_%L+%d~-vjeJ)?50a z-euqYM?$Th1@kv^W^r`^E)=`EjsR%tobH`eL5Yhu_`@WRE=Mr6;b8# zc?8UYuzSykvxo5NpkA-6*41I|9S8RkR0Q=0TsGQdR4z8Y`3K2)Uu7HhPt8m5c9u)l z{YvJ(udcxEm!<}9>h!q%{%%MUixlCQFT07+c1Qi&|Kbm{rF4CY*MY)=(Amr3lJk~L z+&Ll)<~AqaISQCBA za{O((twkQQrjAcY@+=I(%31-8g!P0GB!@8Cn+We{F>o0g`;**QA*8*5E>kyB+W~}; z+;b1Mk8*4<(Ya^e6d7PN=wdu`$gy*8wENwg$Kn4W@n|H}S(h_rp8$v9;BY`SI?z@_ zlr$0C(;fzz|&`dQM*8)j@_*UYeyQg)rF!jsesqT)X4EoBd z@ z*)tFAp=u6=;4y^htV!Xsuf?`gK!tu06iHorFeC<7xq?}+tBhU8D3Uysxud^te>aYO#c+IM;6MxAHV=Y+TL!kq2O=qNh6 zav47AQV~T^<+G8~NBY~p{u?B|CuM70DVmRmShcL5dB|&-y8Rc;PAjv1*UVSN*K^QM zzUf~w5HAwzs^2|}$$IDk6Hg;D=A5&TzS-y}PI33!YOgU56y7*8V_M`G(oknmIAO*1@UCZ}(T4sgpMeG7yH=eL?RAKQn~l(_^Aq zLKo|UZP4Ki2yMm_pwW}Ce{DGLWn@7A$HA+B5=h#4>*Zz5-HbY1>crSi-UAi2I&ja7WK*!Qa6xPF9`$wJ zB|e&!?#JerapjaATe6c?uFkp^+suuNaow3`Ger=FX!_~zbd>LsZzu&lXPWvQgIgJ% zg!r;~&t$}w`D`|P2|tmej>zOCkp82e|FQn{fB3r>8T7966%YOG!jw;WbnuC@DAI?Y zXnpWRIh+^sr|$LQlIGrv)iLEY`b|u_-Y^J;FfuGRvbDwBl1Fx;`1VG8X?)<8ZMDZ3 z4w?Mz)_fzXlQ-|~!s6AkwSMJfKYrK5<+b_DGN;d5u}(=QZXV!*M!lT3px*t|%PEO( zUFsC`CL^ZiV%?|@KT&S`kxlIoTVSv@zU!uze%-&%OC}w6p^$TJOj_PUUDvr626>;B zl&25w=tJ`A%jqLDe)@Oy;m|sYu*}4oKGa)S~FP%~XFx$6?b)a7-^-dx%a@vfKle}DFq z|9e&woUyFxKzR6Hq2__e-%pye=ILH|oK93=MQ zcVgL_wGb@WHR0h*wp(^TQ|m@uo_HRp*t%|Q9Nu;vc<#}1a+ayd*$#DVIOCA{)e6GX zcNfLfyiLB(@=~dj_IYPU5{`oI&QD!lPjN5yd~#EA18d{*>c@vSTAOHna=72{t0^hR z8B-cyf+H*IxiNCf!zHp<*MU_C#JbPq_L)&!$XGF&u>5X0To!mOg^MtUH?$iG$c4wv zbq`?Nnig-LQhIiMmqO*7G+?}F*w&Z}?H5nai5B&%7|7!LHt!>bpMLn&OA}`5^GdW} zLZn0&0JByO0Q=>jWN`)Ec%6%kKDsf%B%tKsminbh|(g)(oKnyWXMXyaf? zvqvauSoy0ZO2wSU*}W>U7A!?gGDeOqdhuD|uq6tyU^#2{t?PTm|}5>^&E`+WeZtb zXsxt$zsNvS_!%*AHLy|-HxX(~9y&+!A)7NQx2q=e1xw-gN3v*Wv`z?@g~Ts{)Ln2j z)|^dQxTgWBvz8j&GbBn{v*C7ma=(a*Xc`}EkA%5C*r;3AsTuqon$ffA&>1UMKAzm7 z1aa;$XC;?bW4_ZotK<-vlA1hwhN((T0$@1LAc^&7X{t^vF25X{7xD?gf{B@x7x7?t z&0J3tgg9ETW^U96Q^#b=w&1B1R}MkcQWW5$k>i8rGZT7$R1DH? z(E9pMPFj_OC*nZ%Dz5JJ$8X(TZI0XLbAckO>RuYT;_61}xpAfq%~>I+FXG0Kw3HqQ zu)ODVlf$pRfW62oG&P!oeMp2#pFGJ9px9DEdap^cumxO+@zXD78=N6N9LfAYfdJRD z0mRTaKe#L71}9P{w$6fqswVQl%4?}=^AFMIJ$daj6SdQ9@{P|S(4C{*vd1KgpxCU| zMZ*H@H-LE2`LIGA`?3LZXa6I52fzCD@9W?EpMU!zX<27rqr4}Hr+Q<^?6*1lRwD&0 zIq}%mB^T?8bV;KeSa{9K@6gr@J%T8fGKYA7Mih89`6!fgMh#i73pO|SVoGs+b0Iyf zcpoF2c>oLiJZ~U`214U8K{@DXtoo))jwahjR3)cN+dDeB;)={7ICbLG)LM#$MP3cC zipAR|ygiP|)fLx7^`tLzu-QcMxSXD0o80-Ad0S)nnZG|XdQN?`;yvZ{+?Y4@)X0r; z8=B_ck~o9vz`*euvL`MSC+LEijIh+b-z>~u}CIT z(z+30VoRPgIyniW#p94)I0!6#l=It9_2FDhD&_OQ(0SkSdcW+Dmo+9gVFGQ8V8uvb z`TQy1;N9G-4X|&9c1sEgPKNne@8X}3b|A!HOyb>5gk&wTaPJ|^8)ouFs9c^OSdzMP z#wiPZffJ{0q;{M2a?ve}#$2q!dp1JO!?Or{>qC$6v?x8b5Sj1?Z z>%Ed<@S424J{cAMwS;?=(c8(A*sy%3hIYXx0>5ZNc!m@&<=O=H0Hhbb_s-2z!)U1b zsS{|3)o86xsopPtnEmRHe!ukUEKd~2r+EtI;|M~V3yg3-vUAT0URpb4j$gX`Kr3$c z$N_0!={5n-xn6XDCU4{gTLH~*z;LwkDGbbFF1R)~t>H~J_Csfy+RO{F7j$b3MKD%s z$tssXPqLo>h9{&SO^)pVu*Jy}Arh%!WXt62AGdu~%44hzC2_Srro`fcV_oLZ+hwiG zO_aO+vqrA;mbf2u`F}<{?^|&vcQ&#%1rKGe+hDZj zfyKJ~n=jJV%(IrH%3ynOMU{mF3!jBVv&KUjYNu3SOp3_C*9uK87Nsnp9|<2t7);8~ zvd^x!-gy7-yu3AalzAa`6GXR4z_-@0X#If&Dzr3%;8+(9U{Oo(V9{-C;Jn$Nn4XnX zP0Q#Vs}Fw!lC>{!uZn#+TW4&AeX6^w%j>Ctl`MP+NXl5PW^&M40UE{0eZJzhzwLNL zs*3Fj3i4SV7PzBfy*8q8IpaG-WruvC?1S*BcF!q{8OxTuHg#p zBI#&RmU{8Uli7Z>5 z@mj2X&Pmy3fpNRqP~_M;I^c~b&-VzznG3bv4*`{ZG{Zb4j zmN)5(DZXxG)tO+OS~tJ@AXcr4>zkY80jqoX4Q5w2US8zYYj1*#!7p0r?k04x6tJ3q zmbkd4_W_S>ob!UQvd8ACN?1#IWnLbP+4l5;CpK8Sb(s;8C7ZnBr1R{iKhFSJK{z|Q zji*Ms6aqaWsErBp9R$fF2zuol*)a0@>Ex{4KKpuA6<1aF;%i?`>}u9$twJ&lsR6%8 zvL$>fu|BU4?OpyTbq~??+rRo7l#>HvA30lw&N4Nl1znsXi+G$g_MtI-yNM7eKl<|Q zy4LT|lB~C+vW1GUo4Kitc$w;qw=KM&yy!mI{BlaC@q^CLi}MHQN^M%`jFr-}@v3$6 z2DtLDY5GBb%W>c9DkKORWJ!kk+Ra}NES%J{^=?I2i5HO(e6e!^_fr2!wgpQ znNRIU(H?8lH~Ho^%`qwPAd>?v^UM;uVe`T#9XfAfDpgsk>eh+t^ZXrq9RL6j07*na zRGPt?XJ%TVfob2B^}N2B@r7EiDrY&J2Yl61VlUR%fdeL5^>0dtSuNX8g=B zkv9jcpL0r&52tMAAusj1I&0xb5+U+sX`;&$on=q_%AHFKs%<9J4fkmJ9A_6Su z$s7|jU7fO=VD?Tc>w zwXku3>Qw|i)xEwzNtTYY9Nad_>Qc$~ zf;6x^p*R#+dt8!1H&3k@?{tWVD;Z*AP#=-{%SxjgwV+NWl6`)S`1@zy36Z}(p0bmUGGdq^@ADQWO(Hg=t)=x z?`ZG<&U9~`^OyM@=`6Ln7{8!f!)Ok}?X@8ya_1!vp%9lR*bNkY>#1eg<%OGh$20$_ z1XT}@#xr!mb#>Kt5w)u1bzQWqY)PnhWnM3Ob$x>)8vZ@5-<_QS??tkwuA1kCd*4Um zalz55Is08a)j!0hn8#G1?xuDp|e(YA*Nf?xg;}@&_0qtqQ&ywfk3*s(UJz zFjL7jysImJGy=a~h}sv$aMWeoG!*%~(afzG*;81~OC4SMtI8VQ)!@1=ay9Cy`;5FF z1y(GTJmsm%_gOsW2mH`{;dXV93U;Aa}p+|;%7ZUFD#wof;(i^xV2Qc+1teC+Ix{hpg zIRSGX&iGa*@%>3CkNh!4I(z_&no{(bR3$GixmS2Qmr}jZ80T!peC{AIKOZ^nnaMnR zLW*^TMtv}IO}}#`e|-P_*%swXL!uiXYup8n6<9KvJa};%=OBQj4{=Hp2amICWm5E zRz*7SHYr^$=h*{xkY4>={pj2f5HQ)8E==OoH_Pn zMpZW?*wyo_SX@tubrKY=DjvX7wq*?2_x3D$2RrjGgq)_Cykzg|Zrb6!_M_|;@7Yqi zE$%xwxyx5qa(g}TbmisdJ-wn`k((LcE37&pyI^_Dm0>=$JJ;m;zSiqE}Vs)Vjn!`}b#~Uo@I6{@{0c1#9}svd%p_H^h&YJ^tIWHJxI{ zvtVRZ((?<9x-SY?oqbKL@0fmw8QW*&AkdHqYRzANiB*n|PcN?rPsRIc0)B$hl2bxe6a&*50|+%udi4Z{4up%#P2 zaweno$_7>Ds{o?6&Se6}^At&UcXc;VU+jF|y1JI}i{ost>b0+K>QIeH-*l03FPz}+ zQQLK0cd{|FM$j#%Gl%oKmV<+fbc>e+LW5fm&Sbd{ZK0~nEH0YRu`ZmMWT_KNXO?{K z0ol!wu5Vs6)SFs2D^4la%`>CFdqtGh-Kp8@zo26lzC`FUtCDepbb~FG*HVgx`m^8t z_xj^M`JYnAt?MiO;kwU|;a^1d))A7~WWrF(9t zs(azCruev4v63Y(t_RO_V)z}q8)e0#DX+!RY_fccMo*fKRmv(Ku$LxoPDn<_CU)R9 zq~kM^<0MDC;-&3o(&VdJ(QS@uDaqW;6_>O1&$=At$X(3sPuzuI8n1C{59-zkRn&`1 zjs4CdeY0q{?pFwYVE8bCz@)`x^-gaiYdh)OerOGd0{HlC+`MfYGxnf zqR?7c3HQIAp;Vr;Al}v8L0K&7P~9vcY3BuMzW71)Vt0`+Klt25KO&CdnC^yZl$i75 z;5SqJY~9xK;wp7trNjEW%|cnst#dsK9g+DYU@QWu43*HsvWO{S>vc5ODcu$d(cZhO zsg46R=SyweYUoSko}BM<>h8I<5*DdMFJO0dccROJT}>ipB&hbk-6%}O5zD2<5qm7c zFju6{!g2EKBEhJH^+RoDgmQxK3lhxCyGwK#P8_G%U&jZ}(%GolWtbgzcQ+eD5m>9b z)jq{a5-TreXY+?7E&CrM!eZfE?ETE)Gb52DhA10r+kdoICD*>Yz(3U;8>ZMM&e`%O0T`X>%QwW8z|c_{4~1aR-m|EasHPGM;lUE*{!T>ra!B-j2oU$B*JA~8&wqepV!To0 z8Nicr+^4ejvx&^-&d3`|&)=VslfKL*o@W(`w;Hc)+0QQUSoTPiABTA8C(Mpi#+W&9 zS5Nwjpz9}gD=)SOI(}uYS)xqD@`-kjKtmdHTYDpP$E^DDcW%bIRJQLLM@$87nURpmB%p-G)6u5T`N`aVJw=IJw| z*IalwlEIYA`Z!18b*VSbT5(M*n-m)1f8*buktcNlL%-PCsuxE#lS)jy06Pp5ii2owWFD@qPtu z(z*^)r_b5c<@Mq+LV>oSk=xk{a0^tWw(~i6am|cVR}+#2LsBJ&pj%Ltytt-LoD%FY z=sMcs+U+-&v$!BOq}C*A55XgXvX)PIHdDY%O{i8USGr-@6E7}ErJ!XyZv>8XwlT%d z%ElTKCx>28^+RXji>Y(1+DR#Qv+!bfukR|FC_gy!IY$7J6$g-Au+nr9tDOP0FKdwO z5yI4-L>Qkdp^#u83IRlQy3j~uSyuMznxE()$9FLli7ack-hA=sj+OsHetN8X1VDQpUY?wcJ-@Do&;*(d9PhuG<)$F zfz%I{AUAm5!l`+ScRrd#7WY+S--+;=eb(QO9HK(0S2KGRmslRS-e>6594-YGc=ya8 zQn9_l<6ASm&Ph%FBr<-oAms>WrX`1da`2JL;~303uIEU?qGo0VzX=r#0mky3>|ymZ zK=Q2@)y@q%m9^nVG3h=;utNdUW0dl?f&s}haF0a4()|O9L@nWE5VX?3v-7-E^4_x- zZ_YjUj)remu@9R(g)&E#qIH&9}g{6k2wdsls!`E3pP0P5Mau-=6&uNwnnMB0-gC(mFU=0EGYm z5CBO;K~$i)m}U`l>@(kmx3C6u%%&*dc_Un}enuDazs8dLZrNK}|$ah?HUF#y66LOa5tVm2^ z)aCW5O`IE76AoZRo4|sRl}A{M1hNpu`nas?)^N}Gq2Rm-sQE{EAo5Egp-UwyG^uQv zXV1{L61jX{Csn6Kz!zz`g&2T!)6Km%+9tPR1cvDhda8Ta$5On@dE{6Ka`(=?^kUqt zU!E~R&{J(SB>T+!`~IB$`6`42UX+z{`qRX0~$yZ!x4iY@4BCKl~oU0g1i zC8!E4uJ&7g>vQ;3rxMG*-54~Bb=`cT*cs-!`5)r9R;6aV)qxjO~2U^#DQMcY) zIMG{1!tILOa6L{nx=aIB^{MWzCfC*vx2kUTc#6iSrbbqi91if*>pFOY9T42Y#je%T zT_fLi>gK+o5?PSv913)E=#c;`_1c#jp>ee2++rOay!n}-wz%L~>*(Z%17qdq&%V$S zRh3z_FF0#z;+vN9cW1X2X~`F>SYLVN5_h{M{o%4CbYr(Dou6FDr8=eIBnB_ZwOYK= z8-A2>p3V6T?vcT}c8?f5^@%*1QtljG-Q;3jt(^F1h6q`eGbyY(*!RCOzBh_Df2AD4 z3~CI{xrB;H5OL+o>>w6vgdBRJTHXAPYR&b#CbnjDxLD2Ya@LJ#4B1mKI_n_;@`OTb zh|B46L@e}s3oLckO^d4BB2Q_7{31Zo^fVhpbZB!`3@9 zJk{L-_InatWTu~j6i2iEl(i7{`9d4RK1Y+fOKJj~G6KLh-vFE_SuiLX;>=5(9sQD! zPL3#Z;pKM7?9AzOCm($n`iR|a7jBdTZu{+D|KA%~+wffiIfPGBd}*ovA!gS)-)HZt zWJch7Jyh-~3jPi)@!_@v4~tHSE!dIb8ZS-Ub%G=EV#I$wJ9XT z*p;i%pQ=2DdDgb+A?-8K#aDmo@b(ePSxSbNOFqjG&d`T9n(N~2UCl$=sn+3T)BtX@@f8k5wJx6C90ELW14LRbBl^1u@3r{eu zvfvA8OOlG-Pe_x;6?33&vx2Q?@_d0`EyMf`TuR;SxewYh%({EKWp#?`bYO)S{F1ZR zTiH3fJT9y(>&$^HlwJfmR_^E7GEX9+C7Uzl;8zXp@BZ_DW!1J`_^sP#;fil9!>jr5 zqx()X+(dhCY_7}o{6JgDnk%k-E$kaW!q~+Nm>XZ}{X{HNX`(9GXXjAce5NY&O=VJ9 z7$WgfY`8Ys0+8O%-`nj;_S22$^|)d?fdpU8zEcHn`7rE%s^(Pf8y{*$c(|( z)R|8d>*hIBzdyg(zY*z^qc_d@DOGv_l4!aCM3`m4Ph=Zj2Sf5y(NVS)z;7wtd-Hd2 z#f8Ka7gcp5tg5V8Dl?lGLPb-_3}|ir4vtFWOgY@f$ffYcM*{|S6JcXQJq;8?8u84g zsQ%n&1T559W7e}TTy(Nv1MP;&{Nj?>Zh+DL#sB_4>QDd8-wXdhw|Vc8z0Idp{?3Od z{(z?P3-;OM{PG9d0(Q2`H{RU1FP71=@jN4Ha@LLBM*|u@FLoD*rF<`}y<8UqX@dcO zaU|HC+XHnhwbvowFNMYNHx06}o2T`pU=F-gVi6Im%A2IVUhI_;@vUf+F0YGke-qal zZ@qk0YjJMQ2Jd^Ba6K_Jm;FS={|1_rx`~-#@&osE@_2XIT$i)oZ{C~a=d=t*Dyp}>A&q$UseRG2 zQB6-MbTwB95;)AaN6rkhq9i`D#hdBLqPsFk8e9$WEHK(q%9MvC#Vk}o9!z4Hpygc2 z^AL-x`GMNRqRubQec&|v{k7Q26?`5dM-_)mncfv0+kF+J`GIGsmuf-wskv@UzvFB4 z_UmhSy{>DY)$l5bGBb+@mf3FK=4I0R;$EK}G^bYeyZ_>UF2)9(njvm)z+TMny7cDW z=(j}C@*mKv==z-i4zpVG+<0F3JG9DW)kBzwjoYPhU-U5CG_OIROEa*$h1I=ck}R*h zi#HIP^0axQxd)yXF2Yo-EoY^?Dr@Z(Qb_3#6z+XF-yT-omncnWvF?ipo)k=ZolmSw z`~mK^k+Dzk^pb}+*OTNnf-b7c1pWS;agHiE&j&4xdw)t-QVjFoZhVqHq^a%bSr&~h?=FQ@GY4!B=}~&N9-tV^!ub~W=}mp{+i!uETVl;hl1Y}B)d1xehudgh7sJ>-&R35v`qb*y zI)(cF>av<8GpfkDoYQq(7ICcVtxz?2cP|)Go!1q#tgDc))az1mn z<-9lR>&+j=Qq>v;hVuhb`{JRU5j5xdA*t%>?#i{p%_ zgKtiK?f?FnRI})W(JqO^_Pf3*wb{#>E^pMu-?(%2lm=XSDW8eY!TIF*flMqoe^FoZ zYmqH32Z*;jKsJYiBeKG{j+1J(8snYO^W~s&F;(572E+hVyoFz&WMN4LK54_4&9e{ptZs2VUg2;X%V9dhAXh)xb>aojzO`G24)<2uiS-m&HdStt zd7IcFytVQgat}XqKKPSvT{&2Ca%bss#_`X({N}nZ@rLd{^rqgvdrpnw;EW_U&i7!p zfIAwnbzLa0oAaWaJ>EEkzFLGMD-#?`Pxi?Y3E$;(kb56tBCP7}>bfoybi>T&HzN6| zixnAlF|(pmqszIW_2euYgDTqcB7`f;J!eLc1YD+0O#|X6frC$R<(Z7 zR$dBnCJLAom5UytZv=TDN7?Jv)}bsZn>fQJ0UCU`$VT7PThU7GA5|n=6noD$%d}m4Yx!arFW9W$(Pk zSH1RSyZ5bcD#6@moa9>6&u}$Y=|Hzh4d7=lb7;h(NiFDoLH;7{1dQbcwO8y+qYasB zqC?y@(mHvBGJX;(A0^%%buR0=bM#XHnB!edQq{d;4pm(C5%Qdk$9KVCi_w}lVw5w+ zcM2OF&yQX{M$Tw!=<`jvZqkM z6N~HTfAJ6Xum0_S1O3QGYursEg<3-;cFi-%@6=~k-m6}a)(LhLCn>L!o7jx2Qy&ev zrQ`wr9U5dBUBKZVWs8OI zMI#_)rH3`ZHQJ2^Aoj^`oekeINeQ;yeZk&8XNqDQ1XBN40qld%ROAIeq zIjgywA`XdT^4;R%@ws?Rt`}35GYFb9#%v=8qepS9w6PS|j1GgUiby#KVJQ@K`lJ@T`gT z8>>rh!DPGKh9?X+@e~Fy!@z=wZ@`|_yJw5DLMZ ztJ?%_jC7tYoqLFgLNxrqn`Y>+nIX~<87_DGZV77BE98dqgN_mgg9)~#yLoam@vZ;> z5CBO;K~zKyx$W$?bAuW;U{<4+iaSFO*P#LzVrAIwD+|o2TxbWUPCmSmHp5^36+h6> zC7pf9&kxOTC?g<#u|4J4N-nVxzAMo2@1Z zh9XOznn=Q$ST{H7VqH8w`9yj9^_$!H?1S#c=Uni?>UDEnyxl&Ip7&V({~N92mI=p_ zXW7(^H|4V#D9*9bVWy|#nXH8n;8;>?>Q}N>Yd4oOuTqKiLZn6qmU(eaO-_g61`}8H_?Y6$h1SyUGKA!~{Eef@ z0!vY-ld*YuhRU@`B)P|Mb(JmD+qFA*X4I0fV70sM`w_d}D)&}YF1ptYH;xcm^73?0 z>s=yLhCpESV*$|iS={;Ax47W)#L)mDFy_j2uRqdc5~R2as#Z<|sC*$qPWOXG{8+_z z+#$V|>#2mj7V)=#%?~v8j;8jNT)fnUuHLTaWG^(-Fw<*37>(&GfPQ2M)8?Wt9W3DS z2O80X<*@5P$;45GPT~T=&A)DPa%*@VCee9@sIe!Vtw}{kk7BilJE9lYI$rXV&m;<<;SgwCyMoN z@}d3vGt2sLj`d8FThrx@w?DtHJQ5yzV$G#^4+sPs<1Sk#oX05M^jiqe!iekv%=4Yx zXv0M7Vxw*?jRFd@pXop4r+4?Hs=qO+!xANwbA&yr`obv{RX&+i5ptY-EiwY=Pf zKCF($1l|x1B`GTgc{ni4vcW_w&(ntZV*yA}jk2;^8rTUCy!b1l(Y zt8U#&>ivpfQTCi!Jdi0RT2!`^yf5G|Z=2Cw>Frvvnt#Bo;h9%lVbjbb^FHCU@Pg=^ zYN7_*U_vpgawVyxLN>_jpOZZGN5A=p`tyJPclEkvfbqqiH`1X#>chLo*=$H-3Icra z4`!fPMm_hqve%j)`||@$8X-62T5O&h7OXC@4VY*El~xmTzlxrCDBVe(scdBS5TH0pOpKEReCmMP$ze0GZ(XTyy;RGqFE7) z-Zbwi=x`D`xjk|^X&EhrXGS=de7BlY91V2zYD*r1z{-87#Xs{DS>|(YA1Mt5L`_e9 zxgas$M~Et3Tsag`qc!(vG(X89!e;RX1e7q*a`wP-mPN2C(1F>XX#3oAC4tnyO1rbl zQ~|x$ZUDB1H*^oIb)j-|Xmhgb?eau#Nq#k=g6L)e#vWGE&T}Ezwayn0Ipt-D0Dt)( z|F(YOuP}<~b*@!g>D6<=Rr_YWTl4&F8d7WzdEo0#OqcVyLbC9>%NHI!{b=}G64sa! zN&Ttr6>Wd0>jYAfH8XM5%GO$3{(vH2o6D^w5a+>}CAS)uxwc zDjuOYJi8=HIAHso9(+JXHz$Txqdu`8jxz>^52;!kzo#1pnI>Qx@nn;Kc)Qpm$^sI}CegR}(uo6PPuf%@eTI(i5@8{S$S00F22#I<+Vmj7M6kAD8ei~ z7@)Qpq>Im9=wirLR#bIx69vomHoA^8;_ER z)j72<*p1xhl zSr&e+s~hQ}++v~3w)OZee1EKqP+?hM}_UPDf`+-ds1=<;K6u)lU5r ztCut4>yH~ZvBR91G7r&phV4`ee|VDNcTBm>*DN%isi&AT}lB2b_FK0OSbECYjpgt6I*|&pFX~+m?ZbGU{rq4NlR8 znSSD}MI(osQ_36i>=A;ZCf3Cn3fOUIm}L_BuDeg%{Pv}Ot=8^7D{{sR0GzsjTmxdF zoPVT?V0DH!g$RSd^ib7v(;};*T(FuF&?EOUy@zRle z*yG=!-GVjnT}2%$9zf+v0#Ym1P49d#d`wO63C)Rn<07gpu2+1!cV0NvK1M|RLWYO= zl1ecnp^&Z*Z<9M@e_1OJ1ziAhq1c!{fRQriBN>rV(x_89X2T@zr_OwI6Nk5^-~7}* zqdGZVtc&d(H^+bW&%24aA8Pp(nz=o`G4e*1&?~aq*L@38OChS4?k211?wJzX)?DJ@ z<;1tk-EJ*C0Ha5?PHM=0KHek>bP|J_iBNg{fJXjKZ?p3Vs z9^w8d3G4Jw4~EU2#Da5<{BUA9Yo9ndJ!*rUp>w8g3L2jN%^z%Tji}W5scjDWycXd@ zurQl-nRxVxEONK2G&kxSqcp?!x08hK&7hgj;oI5ZX?Qn#WQ^k;IE@sXN9d-A<)+}y zC^>5DHCo?~q&yA^iU=!rNWs^-_+Dr-I#`|h@WbqH>yLi(kM7RWf7NA4Mkvu17osl`xGiQ>uTmyQ{`+UOFDv>^-@@<{dsmHc*d}(6-|&Y)jgBA(G~$}`cF8m@C)n{PA4G8@m20yZ zv^#gGPfdBLAK&@W*Xby)!w;A~BKw^WIIqaUT|8$xdpjY9p4hciKv37~#RJ#%1-ImA zs+_l~RW)GOi%YoZXO~w-sq8gYy}0_go{#*b6w*cH_7)vt!L#1njTP7{r;Fvl>yH~v zZr_3gM2UAD4)a!c^eK#_Lx#%IS=Vx&IO5@fDJHTEAJT_*a}=@l;vjJE*}mc9Gsj46Q=Lh%j>78LV*ss1LxZaF-E0S*1FD9SRWn8(d;f5>`uU=p|WQA zY)o|OhBv<(DEORKqX|bOd}}kys4F6-UyPrv+2inNC>^5|?Dt}Tgl?i1oZ8^wjrgX0 z$;dPs2=au*leoWM)K(X!3eUPM1)!0jU9fU561qkFK!CHenKQ|Q(UjPzPfa{N_0MQs z{p}t?ceuQo+rv31pb9NkxugXWLc^*M=WnFu8F`HwL}+cnCSR^5l()AyYr$q z+=CEd;qDi2IFBe+ZH%z|(t66;%3tf^o)DQvSVEngF4o1? zaR2*fgfn)X?-E$NeM-*ZT{LMTziPXsuc5<6Rfn%Sa95aE=Nc}A`{7v9S#IWYnNI)! z5CBO;K~&9MlQ*B2UpzgZ_$}Yb4mqE^b!8L0;&wr8Qq@t*1b`v69mdZJt?Rd2_#$NXy(fzDMM{ zYPi~@!Cv|FNs#!QHzZr;m*ve*{q#8q5=%pPkv!3$Tc7AToH_S`EM{GxRu{)9oVg)b z6zIS=i*^^lZ#C)LJw$w~tZnES%T2AzrN+~knZ|GwiCC3Odg|@U_m^|5S+Um`r^%ce z7Uq{0$M~8zn>n`;|MaV;{^I}oThKS=>`&UJ!<%fu;r6@S+zofR*t5=c^$oB7)bHfN zKe$OgYNr#hhi7w|Cx&*>FaErf;0ABWx)piG9=mgex<#W7&OtXOUH53;_^$1sWcea^ ztE^NxXmZo;^@9p}pH|ik2V#qN6tA|qkm~tB%hfv6y2aYp2u+trw0v^o_^PZK!x@L4 z=v;YyxQTH2`!n)$pKzq#o3q|37vXEoJ-?NIVV3fxeHXo+@Vd37xz<Q9Q1Gba2ij)C^83OXczhejY-yYjKVa<&3nD=eZD} zW66VFi)B4ME+&+}(^~dyIR^=bvdTS+1Y2(=W?)iPtl_iNx0hNyb5I!FKl_l!6pV*p z*)!)e1+(@S?3(aAvzw#f9vtu06T-sF)57A`nIq6WB(i+rh(`klWYrWJU;gb`Uu6*8 z7$7EG&*3>o{a3&H@AdN^|HC@>gG?vnd`6q(yq~xvE+$ka)i)Q7>6?mI-Dmkz z{{KPIZtgtW}(G$x{(rAAB@Yck-SQn3HH%Xf1gxg`(ix&WS#~V*+IPx^kyd1d7dm5_ddh01P zA4HL3bzctAhx@4i?yvvrRKAa=*G65!s87paqdxq^@3^Ts4;)FBNp_Ue(fMq2D$C?+ z|67i|sI?+qpnN9fbtr`X**{yF>$Ntx-v2UO-~3%9|s(jx)PGX)~9by4(p134l%F#^iwVxta~`W?k;bg@2o zBHa9OV{xK2%I8vC4MR9)RflLi_PlFylPRnP9Txm#CBt&o5GL@U-QZ&BKiO3pXk=t0&(<1rYjcBQIfce?bKTsSdjp&t?0ox;GY@*11&~3%>(TE) zp3QuvtcY3Z-1e3%PW?iAm7s5DD@-4}d))gk0V_2OfT4Fx?sLc;!*7hNoE5J4iiOxE zk{ImwhV)f1(KoZ^y@;H7*K(%8J09iUeEp81JX(1o86Pb}^Y+_?9o9`z zqh;X$76j=dX5)!Y6uTj@+Xej?sgmQv-+SD6>PCC-dFV_n9fu26EASi><#cmh{Q2M`y~<=-DyT$xlvC1OTIPAkL*sw`qt(AgBQ>5&;Z!!Kj0D` zcnNPV4^zTA(U3V{Y`sGcS;YfnsrL(Ecy+g6F{~Ix+gih_PM^1rJ7vHY_&c*63{{9z2 zEJd>4xXOkr4-^MksCB*I3#|(4MV&bpSNq{e<$08LrcC8+G~ZnYFRu0-ItKRI=7GBH{bb=g#cUj#ylzP)L+cTsIP7ZZv?Li&0C zC7RC-?7e>H{~>XBm%Df28Dn+1ysW;MI>W8$wJ$a1#!bBiYj4C(ZvF%B@478a;0Kx_ zJvqzZy|E7*wmfJ`S=NhMT&6k?rPbsi?Ow_iuJ(2Fn^I5j%BW)tH$f+a%d)3!p3>MF zu{7Zp5qK8byq#`9NZu^!CWTANG8Ay{$!yHyPWx!&Xx%!HI*U4K44mJ!CAk*0lcEWf z8ytc~P9GkeA83;!iTQ>Nc)diXBcsifvo7XdQ+QiYFTr6~3Xe&e`#h2gm|XFy34+w? zx@eU1`T7GVS_mv6%89cirihOc{$%)w_k2=AGj9Zryxay*x(r?Ie6mDiEkf`QMWcT z#kb3=(Qh6s<+;6&+%ueVLd=?;;zVm;gZgpvxEuLki069@J+_{|03l^oj9fgk zNpn0oXQN1-I;3@7emptL=%Xc{dIszy@8OL-=D=Ii%|=rYI?JI(o5Cfj^a-g;TaKHA zuXUO0DMDEz#OO`T5)lXiR@tDq;ITjb%fGMR{K@}IJ{A!PMb;mibzQ|o@i_0@vlrZq zy*cRb>`32=?y)O7)S318M~WU-9>6f20nKqWn2#Dt^t}#Z##AY^J+X6Kh}A zH~cm%y%Q|2OcdsoO63^@P~?>fJPTSmO4a<6gLH|?i?ZR&IQe1^KdFthXN;WKXy3sm zkUQ8yw#=6?JmTJ!w!{)13@o3|O&&bb}c=_%ZYV0I@~&%s&o5u%yBM`~0vJ?;^V)>?AF(a7WHhaNb3G+)fxkYat# zB0pGOH`m3t%c9ZRjQlCZyHy>gzYW1Cd(Oa`u9}Q7D+To451szT5M%)+4a9)V} zY!p6h%d6X&MXWEEyQJ)*j5md0gwi$+mz<(~1(`@5Bf$oi^?22UJo5U{#k^Aj|E7O` z-+g+WufGbN*}WTcJ_J~p!zcS#rWks6z+quBcr91H;A`D|J1qWA_Ou;R-`H30Jx{im zdj=Fe7~nDpRfLc?meW0cA_||)V6{*&d4bVi*u2#!$P;4IZ)}I(VsNV>Vj>mChnpAy zOLE?Kz<-`)Gg^qA(K(3%=oqyez(k%LGmD>X4+#B-EpLNpaX#UT!F#UZZF4)_vrTQH zyuWxG{lwI1#`0M(XSBaDF6Yc=LcX|G?375$+~4`x6K~n7<{vFyRqD!15%J_=+9H`h~V@jwL6mj`re0QmKPNDTgijD|l*cZ+_h z=dRuO?%(+H{>)QaeftNR%p&GylVvGhM1g*~tIE8%CIVw>E-nvpa%&N>48Ch}<~WAv z-F!E@ud-B@X#L7(lTd!~SZ=i4EzE7Doowktku95^l@*=KeFHclzGuys?cPyIc}*Uf z$+$%ZV3j|1x_N4*gddxYiuA4enctxa+gd=?!S(g>p1uE!*ge5Y$uUuW#}SYP7EyPv z+2GJDy`8Y^sx88`s}1pmo{I_X^0?>#OjKJpU3FcLwN+T`vx2L%uch}YR{G*aFIO|! zjqTG@WA@ks|Kwmf_{*)@zT{8_A>4HPk8j*EO1MVa7>O;_`zw~ z0=W%;80`PHNOKNq5jznQwa>cW5{^SC7pUq6qO!zxjW9^I(j3&ah zE<_HeuY&~I+PE*>|3evd++ zQ+V((Mig6BS+g)+T*Ga+Z*RSS;L>Bn^Y>>&&9-Qn6)cIn4^*vxLB)z01%er9nTG<& z*^`I{DrQ+Xd0cSsQHfg8Z_S#TyC`?(3ye3^ZtGn!i!-!89PyQ3O8;-CE4|5N|+|M(wdBsl;u zwi`T$9!`y5*Mzqpdh2%neh<_(@4d&JadZ0|ZX2g=d0{?(B*8|sgpBdmURz2CH6?R4 zHs}X#umdlj)$Kz%W3VN1O!RW=ke({9CRi$GP(_Zt&zDfNWBSzUa>nBJD%UW+i3;}Z zp}KFqU)_z0hs7EE;|HtFqGuNMilVq+n86A|s!bAIE#Bs;;3?Bqxu``-OzsXmtuFuo z5CBO;K~%D_TGKdObV-W8_2!fL}lSzs>*$fYp0-Xo9OPNu`>O}I5*f7#Drrf zx5#UraH@b2B>E2E*um7ayFskW-rrj{L~z!B*yD0UbR$YVC~B&01tD^0=ydFd0t{d3iah zt81IDLwUg%qi0C7 z!Lnhu9bhQWzmSrRET_hj33XP_Ui5eIPZw8%?A4!ONNn+di+fCuoAu5nUScXJFt!6P z>mKFA#jkZZnij#c2TVE<%G18~+8-KuG}*#YIyv@|qRBHjBtRW}`iNtj&U<3vwek`~ zqMq(xm%(=w+hx?%jhkDWJoofUvhQe&Q|f-dU-``OU?b$WF9S2^hyW31skaAHKe)Cu zRk4Hh5Z5AS9f~8eezoo`u=G^j`%fvaPrWX0>y`18*axfWor#GQX3j+W2N%~pA9%P?BSmi-bQ!`Fl_7+z-7scfAraGz5q2$VIlfuK%#{<4A zDc{Q!Gt8uG|4mHoOLD^#{EFNOjjxOiLr+Y?!VGkI)z9Iek6jYsnhY`q}46+D5)Sf5XpxQD}!IJf%SB)eK#c7bm`bcMyFV- zt*cGqtCE!ktI?#)(&azj?L+Ywtxwgtj5+xWph@w?ydi4&6+9$L)|Ykf`$SXs@Z|Nn zcH<5_k&2r3#Nx7+M-SG_^})s&JG{Am=gzD>)tYWy7Z;aU2QH`dF*R`BLqzNA8CN+^%2)vT-QwSLNG+#Ub15(BE-PKDhZ0@9 z`$@&8p5$Y(rWb#Dl{>b+1~pJ8U<>upK*iRf1G%jgS@Vh#wRUl4fXTaCI*b|#qoh#> zpPRC-!{t0;-CPIn7QQl3kU)uxOsjKI6YukOiY*gQThLmzY$p}9n(huRE^|V1XyJJ> zo$R%ktC^luNU%Vc;0Vc#gcybV4s9pCWuTIEE0iG(e)54L<6MtnIWnx2-49%*sy0P3xPX;RF;yIb($;N6$7Z7Fs_7%h=(y?%ph?@_Poyg#6>QGwG& z;+~VD{9;JHa3Su($AFZwtW!qM;$DQ8ZHn6{uxKIiUTEA0s?_pQJ4-R~5LiWj-L%*3l!+*vt^jZAy z12~$A%)@r}PxW?6Gp77 zCK|#YknBfG{>YKGQ@3qyB6mSWuDLnjwkAFoV~#)2ZwBYhALUc)p+8lYvIJBG*Shk~ z5mLi=JCF#*NuxIxZ)faAE2NxdjaV$V^(m}c=c-(G+NIFBbue zSod*QgNlU<`dDt!g@58FkpB%d&t%6_%|DMYRD*6muO)n;EU%I0h91~Q7N-*q13PZ> z1S;VQwfHsnfsw6!QJn#KcNKLx=YfS!#NjQycWAxn2BX0go&9EY)_ z!_Sdmf7#SWL6b2di`iG-rL?ikKGLM?Bqnx3Sl59vZ?0^3UglHtJ#~0kbviJ1;}B=z z7dLOknX(1cu$<9~zAL;~uU<8W2dMKNfNvIEmQ5=J?f}9})EITBH-qzj-?-1j{^8II z4|M?SuH^8+?p2?}5w<$Gb@9$?gBz!NqE}y=M z_Bb_^w{*ix?BE$bWlH>D#km8e;pqE(7WU4`x=}7$Z%_)@zEhg1C3%O% z7Ujj;ryNo0B=F=!?Kk`(u^MrAADQQr^K36K>RsMnf$H09O>B#09j#%BvR3K~=4eQ&5XloN*8q#+?P{dd>*l&R!)VS~ z6zSxt5gkGJV(ahEzR;Vvx-u`zt{EnuDECW#&$CA#{f*V_JU2L+UyAmWf8f3ro!zV*k_8Z3UvfpgxJC_xA;XHkD#W-SV!zse<#qC$L`GL@v{@f))TjP| zvya^LfCE`DGOX*!$d<`1Uq6`^>k4bA>YTdTcl?3fa~{eR)|nS( z#UNQdx*-R?dmxi$A;IjJR1EcIuiC1v^(C45i^;BacpAjM6u>gRX(`IzoY?p2@QM5N zw^k6ey}kXR&Yogjo%&#bZle(r6TRHpeL!=nH%0n~*_Yw8-Q0~S#oSL%Qgi(EKxL!nF$d4VkM0LRIVFCF zwh*nP%NA2P+N`y&TPNiQ;r{rafPo*SfrijX2I0Eh1}o2Jpf^bUon^k{7vwI%dUL!0KjQR)n~VSY2^# zNlk=uSVjl$#U9;0f1oW|rfRK~E7<3chnP=9lF!9y5B+puwYA+1x3rz$>JwYBo{%g6 z&Ao^aDG8UFAC6(TB}oO2V0z;Zu08T^{$d(lCnz;6ACmb(-GXs-uT_rSi(6U{{RVHr z^De?Z-E2ofS4%L8b}h9OH#aQAR7qgJCt+EYuDI{XDV^|5ntTEU#gA9_^ETh zi%(fDfFl^qao^5LyFR36tZ zt)w{XAxN;yB`QuE%Y6@|R?E76@~Zr|&;IP+{Ws9fl76w-bmF|r722y?GvYabx%JzJ zBO+Us16G=q`iVCV`TerT@B?ifuD#nWP0gp9JXuh86Y)^5FDyu`tGkKI*3=3&>_lD` z3dO~s7g^0eklU#7viHtbFvC-F0b`kmc14w(?S80At)uk~*9}m%y_0>h|IvJ0ESvCU|TyUxLI+m;1cS({Py^cza&Mye&ISt zQS)U3$ts`Oo9->Cw<{yQ)L(?idFOG^9gb+PSSLMZe%A&&N9?RbI_@~Qs`;nNrR#MC zJ6wt+kZ5}RGd~5uT}yMhMV(7d?<&uD_yP3u_ABor6uB|EeJ11P*7eQ#gL~46yR<^c zt~RsZxIG+r=;j6%*Pp_p8#AD+Y#q3j=Q-TR%~dVJ4NYdxL<3$?$Pf4h0n-qKD_XwY}OGvsw7xihu$9!>sieF@}#=8qfm+c$;Q z=w3f^G6BZ!a#SiDyw>%E6ECIfL%O;FTfb1Dw$j}}#npKBM%mqqX9NbO*f_R=EXlEz zr$+BO*OPw(v(w#Cu9YevGFb2XA&!YDmu+H>Q);`qUYC_uZf0$m$>riHTrAN0Cs1B1 zpk|AUIb23?n2E)8>lR-#qH^7W5PP|J;kZ@LHM17a3c+f5`}zfi93@T#Eg+2f{6qa$~YIqh}MN20FwH5j_K zOK2DD4h{%z6umDDmXFDP+Tm*2KCR^Fmo%bmy?E_P#ge%pz{} zQms|iQzd4Gh}j!6S)z7pd3E2tVO-+w-EEy2FprI<;5U0#X30HPy4LSn)Y*}U49l_I zPd*O0>HrB6OjP~{J;l)r!n&x1;LM_8^Tr>%&IQvXIGwPGiFFU9qHp5H_C zkc(?FzAWJ@O4p@eBnC#(-KlojSzyt^Bvo0MQ=21dYYz}(vITH#O<3!26V=kPQj>-D za4Y&wrw^+GXbpuc_kkNLb7XFWaw?#QVH8BfJIO1fLmFVjcR2_FY|$tvU5-Ghb-!Yt8(+ z{Zf4E>bi#aOrZ}T6USZ1FPnW1<)H1^8-b~(TKQ4Fz>HN0#;C0oP>e7*V#RA!6=%u( zT@yp?>}$x(Pl35-*mB|RMPeVn(Gli6=D*$l{WIJ7@b2zAqyjM!7`tm=SjdBtLw7VIqdoyZeNdMU1p%GJZm^d{6 z_uv;}_r~Nt@iJ9I?&}fg;#_Bl(<6|q>b9xt^-ry9--x_-y`E#QT2}BHQ8c?_eitT1 zCD>T!vZ61d`>sBYs6*|N;aT#mHx7|sqNyTFaM8(cJBC4v1XdnFpB{D%r_8#Z zI)wPR0M43js*80o<;j<1DxE4ew-! zv>`VxZy%YDYo+(vcT$z}vRtFeYx4W`N0yn1ing0O)@YwDmfMmllN1(AUW{V{wS*e3 z_7%Acx#3qo|6~2xzxz8f&4I=r`DcCS+34=syp)?vU3@rzxeokdhj$ik?i^#paBp!J zcE}$&`bDQ~xobLDp7H?!s-U0Zp$T~Bkdmzxa7@N|ez~ReYYXPJRS}tx501(WcKJhU8QK=%b@VJ0wXb0lqGMEd zzCJ?DG`jn~5HiwD4JBo)A8iPd_cK&LtXu#689~G_dYoTmuxr3E7N+q!iwP0im_=?4 zsZe<6Dr$-=cZ0kzwfzFG{mY>>?|C;^uVAe!V|JZ@vumYywB|cqnt0Vz;^IoB1z>v~ zZfjJ?){ZO7=R9c0sNBxfnMXCGoCvA#A5ALS&!A#)p3nh|Jv^o z$ce^_=e2P+J&JNa#^)k~ZK5DPo!09|D5uxdYhvxp8EfV@FO+)OO1$$ftw!$_#ah%% z>NPpdk1Kudmqcpt!*#E~nexhc0DSq$-7&%6{QG~X-~9GZwJt;^b^1kqp4Du-MtdPW zjc^?#3&|Ug2On_B;JzOZHL{7vvj*%8em=X1Nw2rkHCyGg;aXbUDC2W@7rKjl<8c|C z*~t&CZey*`T$Qlu_H|#^jn-XSBd531k$yn)RckIT5Cg!Vo>8-CUJ1|{Bz)4rPQm9F_Y3JFfnmFww0#bNS(xdC99~qaE2R=rYf-$E7v*oEb{$2m6{Ew=;+OXp2o2B)| zwS6Z^Oye69Mw{G~S*lWV0XxT@FBR$_h`D1hnS{|AOWbu=85S{WbViGVD)}yd$l;r| z#`wy$ssi`4m?dbn@GQ%`M&stq-Bm;k$(LghyI>SHuX0jfha0?}^lk&W60aC)9iZT4 zOZJLCqF0xZznD)2&0Q}(`b;Z!PS{m$zdl@~ZuZ2IXDrszk7O_bqt+{yW6Xc#PLh#4 z-Z5CMu_hkgSTokd=Jh#7NCpdp3AGUOEv&ll@!;yX(j(JB2Cf1gf2GL^E0?74)QvZJ zV&l`S(MBUa^Cv!X-Mawi($AZv2rVhV8o`-XoSB#rI8)kEoA^wE{j9lp;^3L6ncr@# zdP}-N^4a6NFD^OUT{f|tMYelz5=ri9V*Eq5(_b9AEXI5Jk&{1(74s{!)wL;F=zfhA zRDHUl^TrQBIK;DT2h%IMmA%mC1Jhi1K*q&vg$B$RuBfVg!7=E%WAy3c+s_0snKc8X zaBIkFkc>)K;?&oxCD4%bbj=;yNyG?y^nV=yUfHj6*5nG{` z_|*KI-yD|3EKsAlQ9U%3%vNFY>R?_2e(z3H`vxL=O?6(OPXe50m^F_q@kHtE`T}?z zWf`djLGRTIzZ4DX@^W5WW<$*s`4%#&s9`)(#@9ZrZljgHmdlxm zUzthxG!~wmy2VsF-thp0LR|9YWdONd_LVHI794WClpIsMq92I~bl}#4kW_2B!upPasL;2zR*lyh1MnJe9YS`?F0Cl!o=mOGBAQcIBR6KeKBTL>8#M?8$;vbqYk?yCox(~Ot5won@>GtPR&Wq@;-)Bjnv>#Pyl zd+Ou{zx(dD>|6Ll{jX>_ILB&nZs^1-`2wx}Rlb=rSGvEf-tq|*?RqzNa{+tWd7}dwerxHqdOQ1iSpN06t9`u##>xJGXOPaeK!b0#OPRe7lX9hfnvDsY-zEpKT5JQuIhpDS7sXR z(#gt;wIzAZn|BkBgmn@-&*628<@M$;c;+udl~%_t^I2bOduLgAh^4PpK>$_0PV{wN zd-dYZxpz%msF6I(>{22tJrK+K1Hr`ZBMfndO1c;Tl`xx`qn$S}^&! zMW7T*T*_lk7wo_NKmS|(_UC^B&7gw`O%YWUUmvcBZvGib(<}Ah+03KY%3G%?^`6D2 zQElolJ~zJfQFYqIAIlKi2$#_mO|0**YZAM-Udso8o7SjXDrS=TFhbnjWUkoas=DQh zOOFv(bzXnWRpQ*rj>yxhx*MzK)t|y^lW)n*es!k~%sQ(B_!Qqfq#MFHRB7VdHlZ6! z&Y+qfYXv#lmNr;#dlmZM@*(e^pG72LqEW$@9{3pMCDiJ*SwQ@5TfbVZS&8&2>$Ob7 zN+u#me|%zcj^qL6ux|5`dA0D2uj=k)rLW3A9ader@&N_577kRn^=e36hfU)Lgs9@PMa+l=pJIanOvZ(KqquVdh#X;X=#?*Xnx_I>w7_ zs+Z$e`NGqzPE0-+UsDsp>;k5Y#+pMLsT^U>Q1#6lycJ3n6QlIyMW9RrrjPG^Q}(r= zyk?DFix5#mPAy>(=HYdHxQ4V~r-fRjkkS=Yt`kF8t^wC@b0T$*1mqE$hWYhjjrJp@ zc@52aF91F*pk{b6vVDu9b$mOY+W>cuFp|jEpP!Lj)Sivi>ZQiZX>#MmW8ZPqGb$^t z_eG>QF-f`A*NTPgX!?k%5qD+)f3SaD=(ASAcAZzl6t?QS?6*uzn6a{f zj|u*iky{}=_#E=t0>Jw?b0t(&xUF& z95Xj2XT5%ECr;f}an<>eb=JgsU64dq5nv9n9ux8<+l`LUkux&Jc!W}vB6L4=a+FQ0 z3Q3W~9J|LNtNG!tHZ034uuG=Alr+(WscA_KaWE4DhSv|Xm~Da>mn$+!5;_LL8rpSj zGm+C$OkPHlWl5pic&iEhWxDrqXL5IyMeFTiLDvWij{m{*kj%!m{_eBm@(>5(4b|8~ z6VDA9Bl$XZBHEpmGVXR>q38#=Qo_ zAO4g7|FbtC3R1oqK;|@HMlwP7bW`g+W%#u9I$oT;Ce~Xcx3cSA#dr5NuyfnJC3k4Q zdi@HmSJ#!yX|H>0n7(svNA`7 z6QW^@Y`2F}Tvv53wzjj5#2%8@#=41z8xJ3tN#VBPcevg9SyWedZ|18zGlR!_Kix#v zIS@?%01yC4L_t)0IpYlrmh*b`GtO@}LN!@V@_CE!j_%gQZghjtuPKX>WE4Huf-S0I zc0X&82&>>K7ctMVgS)yrC|cnA-cTHL>Yrd54`PJ>oKDlS~RDK^>rJag99&oMfb_tS#(BpD8dXsYckbvP=yt2dT zdHgGd)@--)I*TAhJBPc6xt%JpiAPKzuK`VGoxwvGt4Zuc(CuXKG__$!$2)-;qGjBW zy58pxonlX(e?R%to9@0s&1S5K~N>S%FDSEKO#1g4;;v)0AyTfm)@=&&RHX{ zj^pWD<*{8=tlcGM%DA9p4A|49rz7>EDsp0sQR{-Ecd$@R0w)_lvQAbpj5a{Q%aA4T z6#-_|glh`1;D`A`w}+~mdYN$(%VE-IkNgS^KKDqX8^svBW1hp{ZZrm`y;JncIYh%9 zx_}xjoD+d(@Hj_#D%A`5Z9t0+_ zz3vf~bty;ImrNfb)$LbJQj040(E0@gQsS=iQm0>_hp?qy(Vw0*X}hFe7V)Ugm=oaUp3db zMQ*@g8jP3I6l-FQ{Cb@lY=d);JBm9?-gBOvoPU1yyMOtQ(SMpQL>CFIg8AGn@81Oh z4EJJwJk<9?;hnVyc5`6XNP1q}zA=+GX9k}btUnDZ_jPdjT_8$Kt=4IL1z)g}1Ky*} z_8pdC?MvFax!ERZoFnNX3aZ+u_SM9GU|o2rcEYk9d|m^a?5%<3e!5n8m7SNtN$%p* zqAa=M3Xg_S!_{2&0dH64!I9Q+NoWVP)-EfuTK(XnkiuRX@73= zYzUq*PAmN;HaM~IZAXF@oYtMW&)~&?6m7TR)*VlO_cSlmQ62=LGaCZDE_oXl4DTwtFw!fyNKT{dy*u-Ufl^$ zo`Z&d@kFDF_)Nd!vxRueg-a@d-7j`A83iW?4g159-?hFK9-0PWFI?_V@3xB@SUt(^ zg^Y!I^JL1ayHSI>mM<=ZEAKonLh(zq-Vns8(wk>>YHM>-30qpXy0MB%zH*`7wUNoK zmZELeZuqSm%~5>7RW_R1d%(Y_I3_D=5dR6Ue?smas@L(Sh7L_G@SqpV9XL>jT=n@rd8V| zMMcd8lRKYSKY44kiOpFb8`1_zJg1NJ)Ev_2HXnTFt}L^rn|uRD#dV~>leu;S?;{El zjCId~kn7!ffwhB%c@6o=kC#(ntcja78=wIl_p@2AkP5e^T8rb1?O~l>YHc*g^a9Lk zw3GC0Kq{0u&Gia;kWLSX05&EqY#2)IEb%s^6}``8%nUW{&u4u$VO~;ZGF?K{so+`MS&#sM|tj9j#S3vhMRkAnsgMD93r8-W?HYESdAt({>17vb1^3c zW5nK%8f|E{6qr4tNubvfd^0_oY>hSA4j=A={`bG~zl?Fe>2ZTZujyWEnoEGyZ|I|o zrAjj3ZK5U&UWt~25y0II#0t0HPUe%{Uud?eoUj!dF90gS@6~?;$J$LBUs7IBpA6HV{L>dmYZ1p#KRf8{v(#$cJfkp3`oCBW-8BpO}q}tGZG$> z>^Edpxo*8*7QtDg0l$v#61(;+_}~BVKk8rp>;DC{i#}*buHlBvkI9NH^}T4U$!TKk zM>+E!?QD<*P>r9Q9!^Jg4dQ_DSKVJ|Qu!G=$Lt$Wot#!qG}4hKMG%sQCBYjiIXK_o z;$_ZDV^4GXLT5%BeDjN>h&AY2`yyf`XNl$QmndKgWi&O5TfMJi)kbg?1nbms!R=@v zKDq?yZ({WmEnD%L6)tw>#aDH2bV@c=bDcRjZ{7d?OykC3)=1f@g_!o;2IwZQ*Pt>; z>(_IxwXY+;cnI$oS94jn<2dsrsQ|{!3U7`e=}eq48gC+w$$cVOV{6RICq&~K_9bQ@ zUEJV!sO2wKZj7Z+Hnvc0j#ohXnQ1tltLxRM04=_l)DknGhye_7TiH?#f@F5fg{O*+ zR~ftQ%H=u%;oSlvh@}G@!wyHdVOF|!plhe6b#(~W4mkBEPLll(_g*mk*4@tb-{l@6 zdaoM{d$&*I^g0it(>}I$-BWbp{lTeZ{({a*Upb9y1vfTUJGRqq_@PmE=LSGd-S{I_ z-e;aI#?BBVb_5_LU;a2B(F`;yJq6?{rX#uLlql4TM+WlWwd%-`&}#R!?51B zq-QiDV|icW-Cf;Sbvfi$-Wje~Mj;6!9E?Z*_gK+wNzUd1d|_th{cR@}># z|L|(?WD@M;;nJ7b8^t}xuhbsmM|aBB7swVQ3AsbIyZ--Y;URbG+(I|W&7;+c3k7-up^|h?sRw< zdiRinyK=QW5)P?^q=A>PeC6@-0ykL0F)qx}Wc0pLmyU?nfAZ|vUKLHJRdIos9anV| zU4^e)-NZqV@kLH<#iF}Wofmn=-S2K0%j&Bl2$i; z0{fgj9+<#>IA1ZX);AZ$e|n@Kh#w_TjMZ8|K8q>Ri2s=X|Je>y-Y=Np5KS%c z&mR_PR@h4u|C*hz478v216}U*w#q}8)rcNr{oN^^hFj3yme|FXYbY3^Sz8R1<<8FX z#>qKNL9m&+YgoSKdetFJkO?gxz=%4CnO|GVfMEAPy0~mRWOr9#q$-#Dh$Uib(v9E4 z+=d4WLkIc*7+~h-cyc+%GvMlcBZy z9o;Rl1Y{}W=?J8(H;)9Cij@#|LxwTBQ2Oe!=-O-IcL+gVT~)z}QVuq^m5FG{9u^$U z$~Qe0Uw-0l_|6uww*>5N|3W`6qaI>SCT(ke66 z!PXD2xz7<5O@-Kzt-L+44x&6jnLC$Km6jWY>x^E5bDe?Ax=IPAV-4>FR-}oqy zOOi=Eb%Ys8HI8+5^tv?~Tk{mwOIOD=jcsO;UL`$r_K!L|=-pedmQ?imFNQ$f$-7o! za_Q-$5xc1He%BjB%srA%FFbU!Xt#3}j!6l*s_H7NOTN2FWK{dZxXEV?K$Wa3m#QYZ zuqJXe*rfjAVOl<~vkO7Tm@gv&d^AGLa^1>0Ur^{Jw-aXVM_lNN>%wN7cyk9Od}|Sr z`w93$HGagv`hUzc9>}SpNGVbnT+*a)gj-m{2t9>B}TK-C2 zV#R*S7(LB3yidJ4{e@&KoUw!+liOj~|byBa5aQvy1Q=`d`7cX1CLIdCI zG_I`x01yC4L_t(3Yj_gvhUZXr-c)$vHDGwNF5JseTaVf_2&hy0JS)kmXMfe2zyReR6I_jNOlngfx!Pxl;g#!rZu7 z6nrPeq}P!kV4$qzgKJ%b@5L;{7}2Y`HGuGvhn?KqlxeZHHX(y4-j>{^vN3sLmhp9S zzXpua<_z$JTZD?3pt^m7lQE9TlHY6F`6@NF=d13ELh1o%d z{9bch<$@mxYAM44^Af6D5O#oa#MV^fHn{GX+rIaDlT{~7U|+3%bRn=G?u+VrV@5OH z^x#vwkIM9~+SDt2uQP7$YI^HqP87IrVS|_Vyr0jX6dj!JSM~}hvL@!V*n19zh7rzK ztVz85pmLqc1;wZrQP0bb%P6Ap`u7`$7*FESV2gc$3H3^2Awc7SjyvRBqCb0@)DX^o zfX|`+WVZgxzD9%Iho)t{;q|@#QV0@Wyv}u8#BZBeOZhO7-8poO$D`cuq|h#^mJOtG z=ZX!dUnZ-sVQMb*SAu@z{HLe7+oJI5ls&$LNOyb4k&(X8;^c9)qN;evn(JDCTEU9W zJUBUg1Sq(-MDk#1ZD4W)rsZSA@lFv4UiP!+MC&l*4O4$`Ia&m(6(VqM2OlloVaBtG z&U$R};ShO-`R*Y{m_zHfl4v-fYwEhm4R4_s%G~T>VG`l-cX2Y$$#ir~j3ng(oQ4Do zT_0Gpm^Y%$L8(dZXabkAHI-LK)4&Eb-qBz^M$bfdO+$9A&{HGizFHSju*@@Gs4B0- zU9~`$^sWPt`M``?1#KQb%gWNc0agP(;8GoA{Be4{7F>3 zmOxZq<5d~QX!25WCUgnUWC~ZwuLX+hrs<XyB#`Qh-Ta8dglFkRK%vEl>N z%~w}x?Nn%LRrB@~EQ6b|6w-rwQuyJ3Cr$VoA2jT#uwTE=CB{qX(n0{?c_dbpxGE`Pj;p#8-M;3M*3jvsyBD%&Eht^J`Qn;fsL{|Pns`L= z;;}O(ogsGuzmU|2J0^9pOq|&k86L8{3_MiRT5=ocVwsYmQAQ@$mK`sSp||I1UX?YO zJlHBiaB->0fuN7J$Sun(UB`v~@meJhRkpArVd<@ihv)`j%;Xv~%kHO8FNJno11Mpx zt>4LdUbn^qQm0C4@}zkGGfTc4sCNH4uCojDTX^;)dylk!*OHCiq`3r;4(^+G*gka$ z3=IQN_r8p^;u;UU2W{#W7w38y@E-Tl>}9Yo8^Y%vsE|{W-ozOYS)VESkZV0-LsI8f za^{qo${ONZtJut5WI`!5fA~*-4?J1I46~X!z2x@0m(0`5tCtmP;;}O)9#bbConB7A z&2$Vt9$t^DoCbVx?Y(UWvBpp3sfg80;i)oj&Li}Rp*8HzOmq$#TxI5D3+Bn?ZEVL{ zj}T{ct*F&^Ime1CAE53_L)*#l5>8x+ic21MjEh`hWO{rP7Z;e<#jn7 z7BMkA15iJHMj6Si<v_#wUbE;+dTZ~tt5o%2yFh1NJFOD+s!%+ zX6c+)g036DS>9CUj9Awi=si}o`!cnvx|A0eDD(0_2Fo)$t|cRR5x)3ZyyX5&sC`Lo zxLq&pj{YLoAJi_Oy{GbrC;j8Kx{~)Cii>wcNu2G>IZ#OAa~+fil$f}b!GcLlNID<@;7 zreD2ZXOEXU8+_EL8$-uPC;b@2-1F__PD7jAc-FYE*Lto|{Fb9C3O%*;(l=PLNtp|K zIkyu6)f%BfPC027Ssp%P>w}rlF{5e>6mbKzg4080*dG8}T%rp0rMRNvQpJWq&#`zo zS_V_%8(XtYGiB@ed>G_Luj+1!@TCX7kNaolRgo6gmg;UU{m7N9UUMhdB|eOejLLfd z{LJ{42{cN~n*+YKZGa_5l95%7X-$R`+Q6KI?KWjdFBx?SGc6`Cll=raLzCOOch~LI zj74i;PP0ZYC(cd@g0~+`_;pZhUYq3OMs9KehKyRvF*GK=RF` z?E$@AbyLLfo_Wf=0tiY&gkB_1l+omtw#riGs_J4RuQ{(bieZQEWQ{i8Nrtu04yzl) zJy!9aiIfS7jg=RXu3W->B$(+=4pDR|F7IF`DHPd~#LkOeX8w*wcoUE8&Hnkoy`cW4 z&11Q($#GCp?v|f7M)M-eBdfP-moD}Q)Eeqd=5JrpP)-Bh{lseIi)msxcJ~4>vUc9&$uddiSiuZKEy8<&tK=^70R*`j;}B*bcORp5 z5FqJWSLMA|t_$4dkA&2|aKWz*?_6<(y9y0&XzGfla`$%OvcE2_OnArElQ&vMBf*v# z-F*Vm={T}>IV%q9V73u|PWChQ%S^AS)+!SWBA3Fgn}(X)*)w@_8nx!eQjfscv?gaf zmY&pk`{vXnq)vQVH)l1XBdKZ8s0s3lutvOJx9+$LsmGo8Vk;#~~SZBY| zB$i!;&Z^>Cn!G?ZpA1uX-~U)jql`w+o~xQ4Rcop$w3OGaxlw~O90M6U0x%wWe)VP! z`Zbo|71y)Rk*GWMlGNi0-?!|MBY0nG;wE>G3HC-uGx>=}7M@Sd;k|Kl9$z>oEkY)f zFSqxKVDqHb;H>OrKvq{<9Pjol(I!7$uDEVbf|182H~%0p5{3-!%do=SX^8F{1AiH6 zH@S7ot=C^LZSxZ)JvSJR5?{YiGLO$o2(q8XvDT;bF67bVz9Z@0MXm(19mqj$6Ww5` zF?R_Lo2k~bP>*e@vJ$a3Ly+;xfzk(on_~?_*yyBEzoL6?S3=t`R^nuEGPqSJfR}Ui z3ml3`POHr=T)D)W!Nqjof$@_|fbQD8SnDGEGDdeKxQB^;@vrL}jBI;bX@-#l;vqe& z+$va4N@tfGTk=HXfzM$9yEd<-m|p3xl6-h@H-R3bg#HM{SW+vU7Eq-od~v;`)Dds3 zn){W_LM<`ccTd?pY}`9iXKXm!;NgwwU-tJyq>d{;gCtg~sUch&wRr+U@Z_`3bt_5k z`!;b=fC+;Z==Kc{kD8wy9j11CyeHnVg*Yxugay?A0V=KE`kP9D5^ zteKF3p85N+@>kXrYsGIlQqh=W9@=Gq4G&}tyYE-#MG@^0?p0~eP+53sUfC5ptJB{y zPA)oLIo6xkAFCsWQG~WqNL(+4se)gu{8inunz7lcO6UWrTnU5LWZZ~)h0LIy^to^OGB=SUSnnN_$~b9r$1F%j=(%7rvX>y1}iKV(T&429gA<5o zCjDKR^2)TQ=+p)6`wLVV_gdt^i;Zxj4P~T9>aQ zk-5+ShSX{qG?N+4c)V+9XKa33=uDgV#$|DHFKvE>CKcPfOO-bn@|aEz(HR~p;BEv$ zMl0tRS7lsW;?509@zWyj9@jHS3s!8bnWBm?N{=` zS)=7)k(C>jeD{hPZIRb}-KZ;a=K*!ynetN80(iYmMnEb6TtM zn#+@`xzuaM@msWAwlCJy=ryqxoI<0jzxmt0FaI+qU&hPUu9e&dxXRZF`@67U;uNet zU+1j!mHxu0({_UX8y!ya(A=3%+?@nW{^g%vXh`aQA}%7~4KBalVBqsc(<>8+_py2P zNfD?2?oBAYq8&)YWHr~vo2C}T77Y*)GrtD3KYQ?zb#<+Q7x+>T78mApUp!cH<*G!N`oodQGfRYv@+8Ke%}K z8Oa*}NUz5!Hjvkdb=qv%o=S}MlT-Tb8i>r}?se35!%h>E+IKMvDpwLusd$|s0b^m2 z{=35f01yC4L_t(pnh^W^!%1n-D+Z94@)fnX6@8hbL$63I+=mb-_b3YcU@VnTy0YhM zNS16I+1wm4Ye@AJLz!xP_KXkaTvp774mH6Ft)pG(tEzkDySlvA9067CXRukVQ8qxs z-9s&_WL>;GrK);YNG)p|N#+dTE<;(xmTGrk55OM`N~>&FU$1w1w6oTu;$8em{vb%x zXFeyf`}N-32U+b@+}cwrYpx#f=HK~sUUOo#`qhfnzOQXOHRk{LpXdL7Mp3F^6=_nx zW;RX-A|tQR=iaubUHP+c!3Y8pK^~Yy=R*Mw*w*hP-#MoE|bx+ zY+Cr@gYvUkd5xYSi~hy61JG-rA?W6f>0hPiU|Tibmq$Ll$d`E!3BFrJ%U1IvI&(66 zi3>D+hc{dQ|9_3r)~2;f?RTx%d$d(lt*Y9@DnZPcvA3#OY6nH_*n5Pkpf*Kf<61 zukiEvo%22C{sH%%dtdkYe2nMg*4`N&^3$8z()#Q>O=elJOZ~ZfXeJ+lH!k*^cJ6xxkQoddENX$>< zhc^O;H_v9G4?J}iJk1tWJ@xz_mkqpNv^wA-#uKdEd*vthcraDk<*{q&MmY9g+p!d9 zVI*mX_1L=pYIb8BD(tzwiloBDCex3vL6k8!1)2TRD2H4%wI%v9P? z|MgO?rp7jaUcW_JZXfX9jmrC67m=6^(ZCREFUy@1V)?PCx0!f#8@V^}rP8mrJY`&l z_q^@&OIPzJKR^2cVQBq;&l6oX1U=Sn0G4|`$0@;tYj5q(-Uk0@Gtj>Aop}9w-W(D+ zmmgdC;VD{=uO5`v<=duL=`7s}VKqocPp(ryr2oSW^q+hU&(R1onv^HVOebZ!->VJL)Hv2r<`ZdEp3GZx2 zeuOjO72955lbCkITwWcpyv*VX_Xa@pJDQ=M#?w=ADUDAbRszr%Kak+3_FGtK8m!W4 z_yQm9k*K5d5h${+v#?sZ-KYo*kzB()l=ZydMf*dha_5)!bU3}W*yVJvnRSg(>f?;^ z%1;}+`%dE2Puv*Fl`V=yd0uPmG<9&7VPXbp|GWajreT})B48l1PdH`BTuexz_sTUr z8>X1mvL(uA_7absHoj@`Lb4O5i<=9&qxhW{iVpV`2d*@UwlZFGiZorap3SvJ*@kA% zIjy$$`=JZeH_}V2`7?e1@2=BJWJE#U>$G0q(@P_FSuCe=Z&GyKu-yDm^MId#5^-P& zYC!M)K9X9)uDX;ddIgn;^Xb2)4w1fVz4uoEBWVw>@=a=z;-*79RTy0!DNXkp25&Q{ z8NM%4s)Uy6ONb?B3|FJ~i;Ao~&1E~+dN)T$4_$t@uGJAbYD#?S<5Ck8x6&<^l$^J) zYE0L6Oe-1iNfFSodK3`e6Oe2bOpl4=Vegmg=ScJY$Z+%kEl0-NebnCaP-qT8sT|vY z+E+f3#&CqvuAvmn7k)ZGh*m`dtZAN96I2GeZl;S@oEA0k$g-xGR+YhWsc5f#67DZwRuNT^T%qo!%J!Ejn^736ujwh3ysw*{&0${PR3G6> z2Y;S+LGM6VL5{tO6XR{<0wLuD%Pi21=s&{vq7}~9w1(ms;k_GK_cOyJB`lGu?5&22 zpnynrKg}j*ouYbXoyeRA!6c_PGBgFMn3WY&qPL=* zXUvTdC>iHN+i_?;X@kN)>hmL)Xy%@*l6tlW{XMHtP$Gc{3@_e<@&ckPX zg2z(5t1&}*J0g;LB6~=dv?@rJ+07O&b4J;PJ!S9bt)nZayV8q@5?3c^p}~zp(14i> z`&v!Yr_{8%giNgKn{x{ObAND*dPU@yZ({IV&GVc9hClK{jE}%WOSlzV7%USG&Q|_< zxS(MLMKqRf#Wip!{>wBzmQ)kEkIe&eoPx-}Vm(*sG)TC#$t>m0peh9Ee|6ku~0mlSvD)pxS!I8qe!yWxsdh$=Caw& z48?8J%y#>X8`K>=xaPTHv@8T)On?!5Sg>zGr)^F)@G?l^s-81OXdoa*;o}#Q;K8Id z8s-V_nb_op_B9I?4FE)HzS)w@$L3X@ym<( zhEShZ?KFn+@pUDPW^U1StgcQK3hnbw6P7d%c^)F$1`9%R!bcmg7$W{0#PtYk2fpu3 zhIlARot$&`YnXjwh9^kpxfw=r5_6_bVCtD@49_|uVVPnNURVb*nJt*@bY^xudFrnx z;3$B(%6{?+`qWk&|G2fppktS=GI)#rhl!DC-g|@!a#8uG1pr?2d-fsNtYcH(`Hu=) z+fm;u@^|S#i|&{PNbeOjo_+&PO7xtxO(zwt*&k6yKWDncSbI zne=fv;!&hHd;3SY8}mgwbF?^=9nHnj{8BAIN3yzn1Xke~tMqlt^FWh`{?#WT-lQln z#BhH~0b&^ccvK)w3hHqW1CEdy;p6|N9CVATI4NcRySHs=^pJ=Vh@p^O{}$9cgokr& zMPe>I%J6rZhnTi`>_-vNdW8=}wFNc3SQ@F(9Ybvl$7kPZcf_SN?|D%8Ly8x!^7GO~ zoM7GtNlxp*%ui_FrKc{T{abB}yc|EG#Tkw&ijlZvwWsmSrY}AxgWCu2>C(PZAIO`p zuFkr7cf-%$K;);$%%}BYxsE(!Ken!V7oNZ=tDHVQLfKyt92i=;FA>uhV&FjqNA-?v6&lKyYEVZZn(1WzwuKF0*34ejN<3m% z9ZmNd{;&8fP69Sr6K5nm<*h(P6Yj}KxhjphyHdPS!ku~F`EY(t5IUquLsD>qg>q)V zox7oKbi+#DCN#EiW0OolwW=e*o(lhJ4@X*1d6zF+!XDM9NmxlHA#>U@$a0+lZ}xZ> zuwUTG#{HIQlB)MXChZO`oX>Z(6J}>6aC!%A)urQ~;JFplHBsa`{rZ)Q7rcMr=2Lou zFD#@h%ONZDd~{Ztko?mg6J;ZZlO7vI)86QyG)2V%#-wiz9FQk?FU)u(B5gy`I=C83 z^$OG&cKR^l)(9w$VUXeOkJfPIDDJnY{yJIN(97hb@su>e+xV^)fV?f4V8hkc$8O|* zSsA~`FJ$O^t_vwboq76sE!}#Q2t;cmA5~_l$$53~sB9?=@gamm=s^SW^NTqfZ+6wP zZ^+kJgz>@koEgYE;@_m73;V%|ky0Z_{6sld?1K_g3t(rRpxcG@G0KCsWP87iQE5nM zQovmhRq?S*#60rZS7-pk-X3MSYM!+w^y!cM#q9wb<19fo@R6<9%nEYQmQ~hxKVWfP zzdT6$PP(RH9QXaQW~x7K>1(S?Uh0i{;Bm7_<|bE-K1ZCezBICV)l zydC4=o0{aDQyHXvt3lsx!Df?kieC|+IUscRqK2^dzf*C8FOSJ{A9~%y-#5vk3N@F) zQ0&Em3=^vy)Vc=9x9cWaTjA?oTOl_(G!tv~#} zN_)-VOyRj#@$YttcGIaH13MhA*`wdZU$PJ=#7yCjWBhV-2p3BPU)qdm%1kLmrAy_X zjHe4bG|f%lgV)AmS<@d5DQ*4f+cP#yw*pv#%`8;9QqhQ_Z4wDJ(dh^TP*P>bCryRl z;FAsCX>020v%4dj0q?)Z-`O4ij|-@Wsmw}ztXZKJ%3$SaZ-DgX?#hF-J+DMTH_>TK z3;&2syr-E9?d=B}=sHkN~9;b!!A` zH0=r+T5c?`s!j-vzKqVU1^S6C933(RZBEKT==>Ic?z5K$&Bt=y6t9qhp(};1rQxrG zcb~a9nj>iM4Y?unEtLUH|5}S?>3o~Q*8PpLzL};e@`~CIz`$m|$nlpC7{)#=i(HS3 z;}RDN!eDxghm`~>F7$2N@ZsBSIF;&!=hf?NT60O6UnVQ6!)(M}XN1#h^P*9WMyA%R zk?M9uw}<8zZ|cl*YKCet2e~&)_F|+>V$b+N&hF;Sm)_18zv01C7e6{CbFC=N-HGI0 zCE@Ma06}|4|Af%_rl=UoImPMZJxsjwd6D zcgV!C=~0f_adUjfXU`J2nQ5$b@cp*wtT~g$dE+9@z6n50K2`e3lY3KTR3OUpzX4-g ziVkY=-In#R4ON96sItII`#a((#KSqRPwZoZ33T8Mtz_MT?Dm?LiO7kBj3%w1%u7+) zg#8n%2J3Bd(LGBHc2M1pDT=3&*}!3tAPuz9Eu(${*KB1(qP&A^u?fZm|dod>14w32|=kW1+2XWxJo5Df$*EB%{>??H=;9vN>V zi$KqOiEG0g_&*UVd~aMNz*aychMb1I%#>EC9gqg2X*r=RpF(ys#b^Wc3s^<rYvB+4rd{6>V#Y>UM~{jtB3OKQOs!Fyo$QpyAP) zY+wCbmJeQ6wsGuanJ&kVW1w3G4#Q2sLiBhX#w9*$UA~_1&D_Un3hXqqZS;bS?bd(0 zh$KXRsTT9}3LE@$_vtBQ@uo;B4S684wC1T|;OUKhnPhea{L^8{T>gTe@~$y8VC%zz zW=9!ryvNh>{!E#v0QHmWSd>%e1>W^9i~JW~RRB5UGcYaxDqACrmDYE88k?0Sw&AWx1B=%=zZ@g?^T~Wvm;{QQ^EMqhAgw1R zGvTb)9Y+q8R}en+#Eg!Ac@$lrr{W`oE(KI;M%jGdnNv24Cm9|tuF07qdWvuvu)y=q z25(X+MfpjGwmXL~73ZN_^XdU5?_ceqo7_bs)8e&?V9i7P6pDJhUZ3a1GLPlix3Amt z1lfyzW(22{ui)iL?1x(OR-s$T_`*&u%j+ViTus=04dZ)$k87d~MOmswd>k*Z-9ejE z+4756hB+lfpyMj`2t^O>y_iqVp+EQi?yxd6IBK1&r7_|z0$>Kjvth6TkI1JZR(jH< z8XUwTvLr!Lsp+t+*iZgE=2iJ0F!|c98cIcY?ZU=mn|XpvoboJNh@I79mc3sX+a!$I{r*OFgah~sS&f3 zh<`w9lD~Saz6-GGvmeVJ?MUOlS);Q_jO=Fo=1*Q%^)n9dT?adU)(`6K&cV1Y3*SG{cTUqHj0e=>is!*6WC*IuizzZ8D|o>!VlH!!%+?t=R#S7!FJ7L3`-i2V19oZyvOKm$AoqmJ+;5?m^#w>l*O=MM?j!qagxyFz`TC^B@`h@3y*g7sb z$8f)%lMXAW=E#zGJ;}FsWuMb|PGZ*LoVbA!YmS0t6RK53$ot5APToMNeC~kMAKO2s3E*! zDAUY9D_NLD6cu|~Fb>Wd9b6lVS#lJE#$tL24mMq6=XzlhmKAxk6Gc&%ha9z9BrQB^ z{X62iJ}T>ZbO!kCN*ZRU86PKF2<=1OxabB#zgp++xl-()sv;)N<=1hcVRoh;4Pn=X z-w$;LprGHJq4y5iQ;UKG9(^UVH#af~6_SzDR0k}JHrua1Ret-K%=hrsR{+eFlmzx+LrGDXT;sz2@b%8p8L#!H!he*#d5V9~MNgN;Ca4&Ij`G$NAe?w8`{wuL zPQ&0!R0(0nQ=-n=Dic?x+XM2zodD)gf?3;VC!rbI%vRd8nG@iwjs?s~X7o5i%xPu| z_NX^=9(g57o6C6IJB#^W_kdOroxbVs&z<*+ZwGB-`wH~fQOT7Sp+3jUI1ynpWmD7s z7~x}@o#W|JJuvLNQrMFgQyS=(pB$)e9R#=Y>U+qh36X4L2Jazh~$RSDIyp&kRh<#$>Tdq zZ9LK#VwZk8hM!Ru2-}Rz>mt%fTP2bAoMTt3@z)xpt3)xTCe#||2ONR5OBe!0QQVUA$PJ8E7BjO_&*0*hZ}F@v$fb_@-GVq* zxrtxHC4{n6w*CWO8lfx1c}t5$u3Cjpzd#>GNBYY!3;2NnRjOTGJiaxY?YY7^ zwaNhAd(fXg?z_%o+WDx#E8^!Tiw?;drStc_H8}^lWj#IRVdq}?8O$)_ASTEpowQvc zyCZ-&*%XSHRQW3SN>VP>yC$5dv-b(AonD53R*7qR#*jv7Sm=Asg=!9y1yj>+krG*j zu7kU?gXs?0z&-A(`GXk0sb(rNJ=(5`6>uO}Ba8ViKF+B8#wf=YZoq0iu;JZ_$=2eC zg3m_*%N5u153b%61oqQyv6$DJHW!tySRmZ=JORrwr5&bx=RYa}C#{pMyb@@BILGTX>-Gq)imB8N1kT>dzwrk$bM)-kq>`=c+3XQeJ$MI(s$m~rDK)@(epLf7T< zVw$eQ)=Rog&Qdk2(qv*27l$b&#^s|-y7J4<62iG}2(5O4&nA01-PME^JZT+Vi@mA? zi@^@2Oqae?#Gj6>^TeA*D5P=r5EPija9ieh8(o6VA0Zs0gD$BVOzr0VsQH+qKtx~j zzHWiAUq^LdoR+e+-TbldFwEGbX8Ssc@u% zSbgmmDFKbVFsr}1vQkdITE!Qwvg|^x_T2igAa3hRYZKZ7o3Y(-X>?$#os-@$9#rnU zMZ+v|yBDL~z9z*pbbR6%yfeQ==^^CfDZ5KkKX8k`trEN_t%MzGlZA^9B(r6Q-B z1tS%#J6vUiQNWMG>#q2u7nA>uUgrth2#kI^P&2wu#YJR?qoYM2bhe~+5qTh!JQEeS z-OODy)-GWbr0?20L)_ZWbJmTky|&#$Pc6tL@R_2obmn;24`|!swo#!Uq?K0uUD)x& zy}pqU2)d?B=83dgw?wH@5 z-sv{1p)*g{TRVg(4}KC8?bQU~;G!X#!#*XO%g_bnENJ)^!rHAF77aSjTB?M|hYB_L zZID!ydmFZVA4P;q6)WIJ& ze*1r1fC97Ii4WLKPm8dw!&1z(r{VdRZ=5V213bd9kPY$bdarK04K-wcT*QkSmC=r^ zg$1_DXan5Hy@BN26Ki_qz3);qCv8zzA}ZGRyW~H2NGjKP>RBOd_v=@*;^xzhYoJc6 zDjxOUY5$0gCzD>pUpmeD_z@0qAb21Fk|C732++i5y>}MH=ej?a>bnm z^?-?A0e-gIC;LWnr@c+jaZ7pPv$A(iyMguIT|8RD-u@NldFvoX$JREzDjptYlikcE z$+F&|jW)@eHP5>&-D2gi7h*tX*_FW;4BpK0Rb%_nle6vn;fh)~(nvi2oKjW9@^rN5Q-{;KD3bT5v_pVdRFmG{ROZ zA)h92L{t%0lbVk2-lEg59T|z`>c)K{FKu=VwUhml5<(4D zqXHQbJne!zO=q{Xrl}eaQ~dpYy}nT;BADSDU^&%M>9cf41_3WTub}^GNntv@aqKzu z=TozRMk7jm{-S3iqJE|Ax_gaeuVheVYv^86rSI|;2*Dq=kn`Cdhvv>dzK>O1I2Fdb;yEM9+=B@RE z+Xl<$0`{>FP%_(SfDm9yL}4l z7N!yb4Gl_n3FD3?6uDZP{3Z!&QEAN4t{ZS}lno7@Uy>pj;+(%Q0Vs&9l+JF6o`PWy zyED?Vd=5A2a$wxWTK7R{-AuXMF8;pQX-rX6jV&BKxviabTRuA8f(+58%7V~FRLpSseZ_1b9|IPV*h_sjl zbANW#9!io4ICBmjdQGuZE}(tTCCCGMO#K}ZmueUH#HFMCsleYa8a=#eWr4^AO%;~D zcl13yj#|{mi#JZsSBS5>gKn#05UD1jr@i|xS@dJ;viBv9yCGel2lEvZWUR4hKJ^ z`E&o(mBgO)CFwH#7VmcrZ6NFxU*rBuJdoy`DGwNd-FO#i;pUYX|092C*ogL=QFiobzoSz!lloNp5At~N z8)aPd*k{vqSrdo|S>3ZSi~$xQ>pq(TcQ3SRel{)+X1eUJ_Hfwk%#Sgrx6(I1#a>;S z-&*6QSnr~2_zp-^D-b3FYD_mt1I$@k7oPWPO#J9LFL=}3oaE2+xa$1&-T4j<_D$~K ze4TIFuCoQ=8(JTmnk&^k|ML2)^cwbI>TpCQjecdp7p6mD!K-C6QO@LgEOR2oPCRSd z>)jv0I)XP`n(WLu4TFOnXCz+iba95FzkVE~h4}o(#aJVFKvkXO3^H=;wl%-KUk*hf zHvN?lF(-s7iZan)sTJ7 zMt>`xn%geDCT#6~wZhE;00f@vT5E|aO0-1xQB(yUUa;B^#W|z3O3vF|9*2Mul2?^@ zE4fGNilP`rvB-^pejaYi*fv!Z+uykYLPk>}`P9yBMB}7A)$YGpAV@2D0@G19v)p%c zf16bOVC3e#pY?gxElcDjvMu$fubPORTE3AeI`M+i*LQk!dXeSpcj2=ue_qjbafn-2 z5lO)5y(oaF)BBZKPGCs5G&Qu7to%0Xc~$0yGxx zKhRQAHr}gLzqI67z6MC6_jaJ!e^ob3b;ps~F19IMouSIY>h`}#gW?h?TKfV^Y`zn( zuWZD;4^5JiC4BY8ZL`{0K4-YBX8e6(Xf;dIGq;a;THB|_9vZp_ZD&K}BL0Ul@??69`)ijBO0siI|(YtK)F^dlnAAQSCnb)F&Hkfu&o$Ren4bQZo z?NANIrpT5ERC{u(+CwIb*xF80Dk0vQ@W$5py2}B=)107$Z}Z*rMv^{+z4tngw<06L z_7-u58IDtNac=IqnwSiz9oHC9$i(^x+g{vWT!RHAkOD1@`k4H;#A+~+gP*fF_N6dF?rY!o?9s$Oyp4B6e1QDBCncE|HkQW#^)vmm%;AWe&_+dxtvcD z44u-zNd&8pH%Bjhusl1tvxoNe)q$jnoti;mc5@D0siV@Fx{R7AU`_Uz90G3J`fgjH z^X-m0nM9TR0t#!f7vw>88uSlpI=9bbdUIi|E5zFH{p1Yv2n;)Ycs3EcBmp`W;)#<3<7huqGZnidFxceoqyI}2d}X4n*(1;i|9fBtGShy$2;ZaZ9LJeq#hb}W+z&S zq!VCK$lPCW5~S<|QXCaz$CJ?8@U9AP^gk!640nk{#q-;{+=zvVQhDKurd2P{75Dgp zT)NHvr$$G@yJ>Dy$RW0O+U|sLlChwB2?x??DJ)BnJ~rMPY^~9}%#YP{yoG<0Ol5_m zF{k$sf7lREtjS-@FbG~1c89D*r7?+mXSUbeF2H%x+-YN+Ifb$6=pd9fAo4EhB(W8;wqU&)tmdpUff`M z`ziJ2=sdNk=A{wwp7b^w2Bn>$%%YH>`KKKTot9upeVmv$4?zXX4tqx*VzK zTnX4zcT5^of!BG|%uG0b<#!?%Pm#ZCUIzM@gd?$PGi3?F{8d2?v}u{MNc&GX30pj5 zMxQljh|YEpwYS7{BOWV1PS4jQz$e~zwc6voBORbqe%5l-nvP62R!XPN1>W?Ow4jN3 zTnK7dRs$y}6HxU$+2W*P^`eQHTIt{4+NgI9-Hp{PR&p8rG*lOujDF0zCax5xOENC&KPYbX4@pCZ1o@JIa`%{f`1<(1QdWNi7=D4N5%5*~Q6O z+VNORO2cXlU2bLT(wO9roClQ}=TrGqDDkzmRVqx^TK5OdPsfv~-YuB zV|ouj03XwWQ^((`&z(x%VGjmJl|%t`b9~0{v`oH>u@e5cMsAds>7boQUq^U?*hnOsck(VbGAr<+@(c)C!*b&s5H23Jps9--BD zgYeLa%59Zj&4)YOGk*(-lCZO&KZTM`zbEj$`F@hO6U{19k)zbD+TvZdQ+OU)B=V8@ zB&hucWk*w)x;CR|0H@vG{k@wD*`C44{VSzXw3W@O)7AnY3`@oUM0Pcs57k0bD*M%8Ia?`9n+1r9T(OF;2i&(E+b21uo<>@py(IqzxMSw zQa5enuPSXrVA`_DByv0x1#O4J{ajVgJXmMpe027Iwk5{OU~L&{I>RV}lJ-9lF9B4X z)hm4ZrhH}F3W}JjfxEliuBi^jAWOgb4}tD(Ab+dmgPM7XD`=bW%d_Q;i7{_Ok|q3bRM_;X$wUmU%qnSb8Drb0=>$Ib~otp?HimHV_C!*8qGnZoz>KfLna zv6998?f4iIvz@-RmKTmU!7l`Ba8~ai?M-Y>lwQ69f8HSN^n2%=L zI^%P-nW$e)YByKSL7ZH{uBuU>XQcL`8k|g@Pk~$G;@SUk0f@`{E)^2CB!8*~^5x2- z+1(>VXZ8AcEROutRr*0e(HLUrQevbCyp7>{EF1ISfDHr$ykxmQI#4Go1UD$#%gVjG z9}HO|W=bFfW#7lt4B1-^-=m!9CC$M4FrM3=dK?M8?sN{}t*4B0jJe&1JUO|r@cTf% ze_S9AMbL>j8MTmdtasv$Ep@kd81@*VE%4o5_bQz+B#>4tUX2LeKgQzAP{ZBmRZU{I znUAt_nBsDAHN1!>D|+R;=KlO&%j@+ynH_E;60h}IiQt!e>GTb6*9pMY8&N^t-QuLq z6wsB2e1SHXNzMAbEq^uv;V>}DluGNc%UkLiP$>LP)z)~C#W_wX5z)^F zv2{30qVrE`sH~WAu4ocb3_72S<1_OfoJB8K_q8U=rpaU5M(Eqro4jO2{N7oxWNFCN zG+jthGnxgJIU0~z4zCk$DS>gE#3nz;s&Zk5exo#^LvW7g2+Z_A<;^nI0X~k2RfM*T zf9X?j+rVfi%MQ<98*fC(Vr4<_((&CwMQI_Wv&QHE2{!NS5!fgQg5~bz|L_xyX;NH5 zcNORsly>hXTn8E!8x>>^u=dijd4&j@!#<=i;Tcx-5AIQm?09~Ijgyh`o)!fBlwi<; zPwhO({nr!iJd=@(A;>{QyQYkmIs`sA-&LtQ)zHhMs?v6RbMe1;^;7iS3hVaq)EMJF zbB>YKxfryql}A5c563Rn~Pgdx#NcTr)#-ZXAE|U_6EA>EXHm93;OMwC&Yt7V=L~BKEJ8U$43Vx4XL~0qQh21VhPf{szNz@TD~vk`pRRg?_?e^fTd|vEfDqM5cXlP9DtSI#XB>0VGtT=$pMz9$=tWy^ zTJAR`RVKHhT9($YV^QP7qfb;mi(0wwjDgK$J5Rop#M#=Mw_iSA(5kTd%fjXT`$hUg zQ-EQ7*&e0MFXk}Yeo?%^4it52+BK;bHBs(uqezHw;BD!BuF~EM)C~8cy_9(7JP*@C zhOBgrEd@ft$6;FiM@#T#ebWIMr(0k2k78%PxlLfKxChGa$eU%c{>G;SR&pDovxQxh zbF1#j>~g)D7>X;Miap&XVv1S6uP$0}N!tGz389Fai>_V}5SYxQD>`q1Yb%9r?y@Q7 zw0}tE##rhNL(v_vB(FzkbA2|C+A&{}i!-3YV*COtw0|7?@kNuHY=1M&1*=4lH%C1k zk|Fqo3iLa)DBQq6 zB0%#oe->X#|8(Bh{r909{XSUQh}F^2_`BQKTU$X1BGU%+-x>YSK1^hQ1~uyc#sqn+ z$zZlV^&?Hn-m0v@_L+bH(OL$@#z*eX*wRpkIB z1Tg@99yzE%R%_6!%tMK5Q!L^WJmL)~-ebMa6UC_jwK%oejgzpcFH3vbcTeYZflQ99 z*mUWZ1IMFninzX?Q1G?BIy0Z(2?YzUuY76lN_$qn94YH~^I_`x){5D}VupLDidqWYiPD*(H%KvA6O67Hr1UY$7 z2`UOqN%LMC5Tz`1=~QTT^$Co9wKU_r^SeEo8hkc}%!CH)uBNgH;tTADmK#FNcGifW znWEF~-^Yz3LCCW~eku3b-Yb(w-w-b)Uc=@Y2JfUL8hlUOw9Xhsx$hIc9X?WAztu{J zstz;;IYGEu&83FOwPmKotLGKpvB}pbS9cn74~Hz$8uBbsnmwpY3X^o zJ~K&Ms6Z08qv(=hhx>zqKltL420RJa-55i$ZKGH62g+O;G>0 zu?Yo%lMm-Y-oy`%84rag?UOcoe69CrShOk__mCht%Zb{b~T819y8m5?c&Tp3N9!#a_UL zC3yaSo%cviX1d7{RXE=Eg4J=e1gZCn{t6t#|0-PkCDt?o$l; zyky0z&s@0G5{SpJ&?KbME>j-Y(9{{HMjWsUkvx&2~##V4a2@Q zC-%Qu(Ig_N)(oNNqz|qFe-=pAeS!MIpr>VkySV_|eN{-eE>zY|J~yDzK6C%6FWQzy z8z}6q)M33=7bRm2#kSqcka4!{m(sLKH3@2Pq|eZW<%v#P!k$8L>HU%o-Z5bVj~;R1 zLsYPf@fc;>xL0{+hy>$j2FN{%zlXsIWQvRJ7s;9<#x+Iv3Nt?{fh_2X)zZCqrZ49p zviE8HIqxyKzr z&MB9m4R8OycRk56y~H^ZQOm&v3%3Q%oAG52RpkO}9DNCP^qq(QhV>Ra{%lp!yr;W6 z3fpM;xE*uOGol`ZW>|`P0?sX^G9YXa%)Fra?i{QJi@uynsK*vX*g$*~6r3;WYACt~E=yAfr2c{6h}jH`V0j^yLZNuQCfxy&Eq07H~XKt$W5( zI1_usqhHX!qn*sewCGcPi$EiNoy5X;iYN-?vaWZ_NO#*-DG_-2o}H#GJN_jVx; zV)?SF{?-=^D}QV_uGC@`&)gLOknH=6_ASjVaV5#}=yfryeQvYrt)@k1vIt9n^FW+S z$VmI7-AS}4145&M%JcGIwB4Y<>j3OKVC&g4GaL8qnhSMZ)-y{-VYCn!0p9RQRDXr1BGW>Kn({WdeCo4{y zNXW+CH@Haa-r|0cZlaZGq+#HVh4sV#%?(DcYh}TJSu9o_(j5Mg()V0f%X2%5M_dVY zq&hZ$VUU68s!3GjN5jC({}w}L$-p<%!UeKBmcTVO;EC@Y;Kr>nH@eg_%nJHHAagg8 z1cDq#ZE$$RaoUFLHI;9g(G}~aFcO|oR0g!zPTgn32eA>h&+rQ6=B0JC3-XZWv_!JD zj)29wUnWf;c>sZ%aqD-cN(TW8ezV}McZD&FhRI{O+>)nVJ#@xlVp(fb-TVw80P?M8 zOONS$pF3w`RSUe&dAEQpWvyML;BW<`^Ih#DbD2c2pod@ z)#FeT?RLZs#rzYSO;xpV@?G7*^f0%uCn|I+Fqwcu>N6 z@1z|~`BZFFP{OeN;kk5Zp)*GyOd4y~S1#|C(~XjM;PAK#83t-UM(jd$9Wb0)j=M_o z?knjStqOV>CC9~C%04m4A{Apr$rQ#v7aD}|aRaDxZAd zyU8oP=B!STkjCor)zvaNo!c0lnH;~Gw1eEcB+i)x33Jh-4cmLhW#U=XxbG}4R04bI zjSma+@#{Ll_Fa#TxuST?jtFAZHA!!vrm2&ef)ZvmyJ5fY5}GCB5MIN7TTwU^gM*A` z*@(3GD{li1mDf*6iQc~DA|uR{P>J^cp!7*hSVZkRo8^aHa(ukgF#5H_o^<-?ab)5j zo&uF<%dMgeCOZ}T%si*adw5@2rm%@UZ`=2izg`>-x?6HD`xjok?^y*lLpPvAcX3PC z0ZZ;9CL@sBMBu-dqfqZ1|?w*ac(=8-t?bhm{nCE%qc#p$(} zOX*uUMVSuJhi$0r?O^JL6NW{;uKTCv)efg_Min$Aw0v^k^ATx6oA2pp`#*xe3P978 z@8yk?pus=A{M3AsN5-sNK+@f_QDcm!JPNo7UtEDXQHxe`4=tKx%ePLBB>VC|$LY=G zn%(L3jiedF#mLm~)90=zwfx=mB(90q8E$?!E7Hhj{UMOocaN?@1v_!hLPV%lG4lE}{~qm6#8g7G-6IVk7SVo@#H z75FFE*Y^+T(MQm7%cQ_0(sqX&T(EN{29lVZl8GS`uk%-Rw{1ZU4`+}`E6oGJHEb?l z=yH?d#P7J|FQ48Rem$++V#NkNhlgQ_cTD~t0MI}$zdcY^wLkZGtE8%r`0NRQ6_b8g zt7mkx7uEBktzxCT7ve>1F7;QiUC+U&*$vodQck{V{`0f0+GNI*KW!rCDRpk|HLFj~ z?uoYjA&Guovj%4v@U9J7<}w0qn_ai+zQNHq?GeJ?Z-k4?M=YaRzAz4oZ`E>R*xX$T zRbz}ARYfX~$yVOX;S}>wD~GzXQ?SK@ew0Su^l<0z%qA6O`Vd`5)fk9m5MPV|RmB&f z7fP;mXqyoKDokTgPl5fYF~$nZqiS$1eW7UOam{iX6ZE9!i%yteNVt`g#_f+AQ^!yl zQJ2FRP3;)2F9mqN_L(a7$(gMUYx5&czN3B5)y+Gnz2fGtxjk3D>s@z_b%!3g4tY7F zIq@Fwv1O||pBXi4zEkk9$~rnAFT1%ae60g&A(Bmoqyd$Ia*dleH?L;M8Dh1@)`qpb z*bvK!ABEaA>}l_g^~uYLJ2%%^t#Nzg#PZj88IP9dyY-wkn$OPB=EU;JwJ)!WUNkxD z&QN)+nmcDWphdGGXNcFlG|L&yb=GI7b-rryM)+)2Gxk0i>kjJ}96`y7+NYUCyjg6gk0`P-niwx@<)#Jmcg8PZGuYMxvSUQ5SWC=nYABqg-6~?s|QEF z8KY~&lQ#0clnnjF%-W90Rn5$`lt<@zc`_iDJYRaG^GkDzdH;Kk@N*anSHsGK=nQ+- za&{(Xt9c=uV3lyYK3i zmow`%Tkj!Hos^AY`F!39sOysV_33=-tM`1a%*?ZI{xmKik7rfoYg!(1t#y`D+e5DP zofkK6_Ork&|FYOUk1*WZU$cLqL7elrn3Uw)h*?q65F7B8hUK153}7kW#mP-@+nIT1 z{7MRY4SF)r&7eNlrC#<^<^|`E94Yk~o55%A8wHgw1$K2BK-teX5`=BmGmf$^f#y;_ z>!ZrLw!^+I$EMmdHJUK^#WMz9PF}&_vZSfUT@RJqs2XF`C=ZPVo>g&-A(kh^^F$~t zu^b&#Wf}v&4+VR9#3LZYn$+`?1D8dQ*Gi9HX!#Nk&$W|P4O_KAO(B3SB6(lTI!kqH zv!vK;ZCD#}W<%Uz-M;3mA7Q=Co2_@RwY<@I*RR;xct5Z6jP_o$n!y}jqC87Ia)ub~ ze7@EMOEtevnV{0@mY1_iSUKo-_T5XXu!h7BW|d9JwGMh0D&HQ#ZRjkiucLXhTgbA9yK{bk0F*9e~{2`*kjm3_I1efrZ!sx z&t+{$bT0Z>rms|!lW0g)oj|1v zXB*a?FL<{raUCyKK2MN00Y*o7kr61M^20AjnYLgHnpl-Uk?%grDm}$vCY(i8@l!W8 z&qq;cQ;4T-$2ofqxjnv{#~J$k0@OB!vv}B~z_u!iH5X#)Y>Xg>$G|61L#nDCf~EF@ z5mniW0V}Fr@JaY8QKwcp?%GGFx>zblYZg0xRPPt6*Jxj3YoqJVa>jmPS8Q!ud-i(A zkG!6vL$4m|&f;sdwr6|WCvHuyv02TKH{{I3NiWck&#X<_z*_y*b*`s;Q&5JwK<*lz-u0yS(IeW!sHL=-RY&Mz`%Nt@tZ0Ip|yzBBtd&EZ9W@GiN zq~jLqw`%@aQD5o)kwiK@zJ}JVr6*g>m$FZ2mNy&4VK#v0(qqwlXSohNhV`z?8S;jj zA$}BU^7a_w75Be8Tcmfy=Tw=CXl^M zDSkd|*quA3E2SPVYkr{te9`+p<7tlE{OE@@s`MLb`Qo4{xYmJZp?ncm@zsMTUv%K& zNXa(F)NFAE5;g>U)501Eou7RE z$hE0$!3onEd$yYoZ51WGC%(qjd)2Mm)A>5jTFq#GV{1c?*$}thS-wL~kF}VbmkrLxC)L?!%3Cb2 zO+0!DS9}8d$m#~L?5jRB;_33t&8u}RQHdXdS*by=Dsu&LwGOc%Z!9|f^49VlU7HO( zYMsUMoyCTAhjoX2M%UM@X2{!b?vP)c&%EheyM?-0j{%MkoJ_6veD2h?wAL9qi?-zW zyO6QT{Ibwv=&{!j8)CH%xjmZKcjfoGabI}%$uBPdy8h1ZSl>&-3n0=%_Tg=QX-o6V zgU?mojMFoB`)(n3tMUV6d8Osf@OoD9#HVIB$-E-Z1T)K9Ise0IU*Og{J6b%$8#uTH z*%`BEl=@_DyV|YdA|T=$vdp2#Z(1mknBjbiUWecaUxkLrFCnoPPJ1ymF)`4Eul0jE zJ$)jC)bK8?=3Cg23xqPy7{d(38e?L6=U93c$9NqC>*S7leZ0pVR04OkaUh{U_iPawUXizg>qy3$)`nBGDJKpE-c<+}tc22y{ zxz??b)9MD+wuf|Oo2;*Umw6v_p}g=)d5Z>T(?E#(JmNj%shxYClbWvi3qy5_#pUhL zSYF)_8*0{ub;n+}$K1MEkDSr9*^pCjY`tSOL$0Ge){Xak^|w!tnz3Vb1CAxSJ#Q+1 zF7h13gxCOP`8uA@ILw2M!Ol4q>R_+MuxL*FC|Wn$W8QsT@7W9Oy1n*-Z+{^%200S+ zT=q@GTSIXbRCzdEChvNPuW;-Bbpa{G#-mZs@mKHFx9Z%RI47csEJvcq%J0zR@}eQI zBADg(!co2f!eg-Z3nDefF-EaKYv~zPtlAGf_9?WMdYRMcgH91n%IR6btT<|Ob!72~C z4C`b-EiId7Qm#U3cDlcWh7BW@GPZtk1AE#6&-{lLCYzBj*u2QoN{AZ!EvRrL5a8 zPDtD}z*-w>2GqH%)lLGib86NGQqFJgTHGG9(VW?kyZU!dZ0I$1Y+uK&?H>7S*t2`A zjrIkz=`nU5IwgFbKbe)+LSD`&eF~CWNS|f&QSnQru3J6o_Ok~pYeRgE)qD3EwAXyq zul+QB_~T!ykALb1ma-bo&jx7*NgG^@X$HS3NX=&nwj-EJKZw+~OnJZX+!I}Kt_2U~ zxn_CHl)XKjL*BOCx?}Cud-Mt9G67Tm_#{QP7kZ#mTsL3DepZ=*(V7&ioE{6gd?`sn zjNt?1AyKnnTyVDn5zaOs4=V&_vTvMx|X7@KKx}L_L3Xy)UTd@<<(J)OK@eZqxukGUlXmS zA{sTyRqLP%>YRctbv6ncNl%tKTHnr{uC^1_ctdrzkT>s~^&WcEjh$~SZ*;xq=lI=o z#gBTL>%8~K8D6KMX71Q)F_C9RkFO!+ZP{Z*M&@;`yj;5vsXXKiu`hP~77N5D7MKn3 z<`LdS>v!aX!dcR0Lu_<^=bdYxdDr#GnGH2-qib{5o#i@qZpW?n%&vEj*cU|4(oYy| zktF$k=3*#*{&|`3SsQYCj1vQ_{haYsl;=8YW}IXLxpOGwwT8-)H!M2a*SNF#inqV! z(ccbY(=wdtLGzuq^hd3yZv)G|F&kXs`B0R4u$tH`PvkS2>{2o-2eXL{`D--qxy0Ca z%Znd;=R>y|(HGDkG+=n^^ew_VKdq=^NRCZBH_$P?O+>VRRIw_Dp8moJ zkLOW!dW@I(4)pM z8%I^r$`;mqk@*~7=gZ8pa?G>gtT9Gno*^PXWGY}Z(E#=uHMo_--Lat$c35^6V6Pd0 zzv8d!f%mb1QO!ZXENek$amOQ0t$DNIyo8$uLf!zLtLx62{q(@Ga&IRmu*VQJES(ALB)o-QO`TP& z_uQI%hx#?t^fqrT?%deg=(>C4jON9ynXT1~EAHB?*U)E(o3}Qs%^lYIx;9%kFP0V z=D_LP70Lwp9O4+aaniyO_H^76{VURYs??aMbB%otM{W1tO~)qK9I<)CY2 zd|soB*Vx$Fh|3Y4#0>fRi+7ne3-u19tkJWn#u)6!$sAN+m?tiDo_5JGG&y`W%xkHK z;!8CdUXFCGYkdkk=;p;e>1n<5@;yo2$n`(bB)WfPZdbN)gZ1>t7-ueje2ulM8RF)z zwOVuH6>azVF6x$+xYB(2*Nm0o_4;}Axh#qJvr%DWRqnykV&#*g&O(!OUe_mfo)KYf z_!oMb)Y|`Ce%keNW}oAH-OY)OYu#M?yS`?1L;f1g_w25(zOLJMseQJg>^CUdYHoc= zm8^iT-yeFy!*y;A>bAPCnbW+8YrW`s(k`mr{_5|kox6@L4!M4xh@qZYyDIK@#=f8U zIZKZ?^YzB86&bM7`9%YjAFAfHhI_Ov(@O1l;TPFo;0x{d|Ms`*Z~nyB!uK3stUMT- z5^RX!Z~}9FU|vJ(G1#%m&HL{!jjB6|!Y>7540>4ST(CD8npw>kN4OgNkAh`C7SLSk z5l59cy@K+9B*`6oE844MHdGBPYaL~+7UDRP=B6@HZXOsPpJc&5XDE%|>fx>g##a)0-YKz7m_Q-!FDwE>d?K!U*E;_ld zkGF)?8NBsQEO3O^V7Bha=_Cb`Vse+~dEj!56W@FcSmb_Tayw{D*>YW?w7k8-dA#c5Bv3&-b&;I)Spl|PeefAI=q{6Zh&av;& z>oU#k8b~>xy?ZTxjm`7whkvNv{M;8f>2B%)J9ou~ESld@i zDmGLdEBeC5nuCF9?1hhjXH`+j8?&zSkUI;&z&prU`E;F*a6FUnZV*%1b~vT`m^x!8 zef2Ck@7L+L?P~2e8*=Ti7Izjuiq_5co3Fl|SMOS^cjbQMUhn=m?(R=-_iw#-9(g@x z{hh^zHF{oxg-uFcLuY4-`&z^aHhuQ!VU%x@l-9`J!pT|7YdHHXIy7X+BCLgGqjBfv ztc|YC&N1ZoELLy6>&|LBZlAo^*s--CXP?+?EjFw>H*c0VcjzJZXQKtG^4#=En2oAQ zi;b$(zD~}N5*x)~-9b5*^Cp_RH75HrY_d=GF-E_7OWiJyI#M`|*r zawjdSPEub-aX8Qbo}RAdjIQl#+`L?4bJyapG@QNnH{SW?%!V3~XGzWvRr6*;o@>c- zrnV%(tOa2|>3jsOHBt5~VERjwp^(95UuVygJ9*u-O|?EW$2 zxBshe)Hi?ATlIH-9DfXXNb`Z2d{nOGkgH0c4>+LCBOWRxQa*eABDnDkpeHpZpf&>D zeWq%?e|n{{Q;INR7=vy~`7uU~&|ELsg+$`EF(3!C<(g(~HAl{Rb~pzXQADJl%wk$i z?~>QM$9pXFVtbu`em2N@i^F`>5vOOcwh&`;5q4l+D;jtZE-t}jTVbwweWvNmj!D0P z60dx&jY=MiQo=gm+;FqH6eieMHP2g>yf;UzAKtOg5%05h>~w2GpCNY*c|C^ss#`a& z$9j*}2J)zvvl{vYc}|oF!*AJz2~ zz`DJx>PE!*lbL6|)yh8m1bpWnq8~bI#}aSl-*9vS)k>gemRE+P?;6m247krwpXl5} zWn)hN&g{I{)3yP8R_PIRT#5EIzv|d`9D;`k*VaWnP4lzf&(re@?KEx8-}hr)t#A3p zx9Z#etvBn7Z@!q%eCehwVYg;R32$y z7Rxdb4zzQWPu8ZNuzNA*^yFOT#!H0@SepadBVKgUwbs`W!`k#2t4wO2S>grT^5n5J z5B<`$dQMOGbyirO-1oxgeRi#{d-lBaT+{9mFU{m^+ssM{1pz`J8*jzD#^%hFTOMml zs~Pl7uy$%zWk9XN2E$U(ur|wy%^lW;wVn>^YqU>ZpV`=XYeT)m`WkzWSg#(l(XYR_ zLtU>~&fH-!Qc9J{gt2d(bLlBSaZ@7j6XBhmKSZ^lwSr$I5w>YFkdqE zcdYg#If3Ui8q3>TY%J-7=Lld6&q?IOV+`y=g>WH~+>yAy1HA}7_>16+t2mB4kg9k% zv0npYIH%@u%ru5QM|`ip@NWp&JWL;jPS))V;TV%kt*|0Bnmv_1cfD1Vu7ulB9>XnR zJq9(`8iLKz2R#P7HBmO#Ji=zH(y|~$J%4zjR>elwW`;ORcwP!z8N1h7lOb<3Czju% zH94^%-ec=~a_;u)G3e{-1m3N@1(qiQ_--Dx{7S+ZJJGn$I~~3pm1j}g(H?s4u8BI{ zJ=4~9y$5v`p44UuO$24h17(A274jk3cHBDjZ8^xQvojjYcgTy?-V+dV2Jl>at+$0M z-+PmlW$+bsLY>3sap=NA+mwB!h^yWPT2Hu<&1Z%!GQ0#f@ ztG>4e|2+Q4i*dlRRs!+)YeAREhz}*$jMf}w)~Tghn?7OZ#+XNQoz?CG*FBNy>bEx9 z?Ppp(?f5wC%q`KY<7I(mE#~oq$|IUJ<-A?Hp;iJ_c>hI_KmBihqQ3dJyoH3E-f=tV({15Y-U*%s$Oqmy`rdrp-9;A501`}hO zFKa2+JXB=OFlRdO*a_#_FVGq_i7gTrb$|z9<}Nk|Bv+Gtio!GO>EgsEKmjv8^Y-@s zYrJq|VM~6p+2loPFxs$VIep}nKx^sSN$Zvxx87O3wH>P)aQ<3m!MyjNvb@whF8c}Z zeG1tt52DtA9bWhqNMgOqu0L0^VoSXY>rSb+=g?*7A+5JLJV`hFDH)HkvaVYMmSF zGvxQ!xyJT%w72W!$#YU$wa-&dTPT3Fyy5fL9u9E#_c!{P)`n!7%fQ&{Dsf^ebHyP{w^AK?!M0Y8n3L?P%;|ldL%jy{uvsgd`BcWe~5jsW;I8P zzxVU}G30;rPW`EWJL8Z^KFxqczh?_5t zF-EaKe8@*Qs0a02`h&P=v5NjNL^Zt#tEA?mothmyXN}Qb{dGH_$6$jQzPZT#JGd(O zvHksx)?A|x^QgO{zx*Uyn(kuCNECnIS zHhzStjB48JFjAv?P1c&s;fvR9)0%@uV3$Dmtxh#LYYR0)EN67xoVC%KS66I$!&&4SV%8w(fvq`H1JUlGjW4{7Ev=@-Ku)bj&Vv z3DUW?+TkZ}v1unSK=VZwCaB4C2V~hhxE5Klq}dP~6Z<)$%g>0JX+xfv-z)^1jj2Jg z>^F3h@2&}1+5lGWpMGnjJO*EARgsE=5$u&(PuJxkVJ6;tQT3fa`=j;ye)~K1*M7!F z;)mX^Ealy1zX6%+WcV!E#Uux*QQ}%l9w_IF9GxN$O^u+8Lk{4WGumG?i~T@0>!npY z)SO^}jbzQsp^?gDi~&#N10jUBeDJH-L%e2LChfF;dtc zaBho9!qc--pQZ`8rW<`jQ)KU6GoxVU+ObU6Jz~|idCOYPXiw);06gNLvszoT<%HaV zkk|fvq`{v1s>x~2D4LTY+V|vI(X#M9(VE*c=AQNBT%3$GUq^b{N6R_d9)Ep?e7gq? zcaI7_000mGNkl0-_~O;0KH2~MnJ*ArYsq(;q9-wy zK#wf%&_z5-n?EnkBhSt`v7>vfmnX3K#hoc46`2L#{RUtGxJ>%Qc_XP(oA%h>!1DTu z^{?$8xrIYvg(JGYVry+*{^X1LwqN>Yed}+0i$8{ZwH%_>=MsklWEMGf-H!I&7?3_1 zaz6{(hcc5IMN5UzFQ`%e55YCuX3TROHHKd(RZ76}Xl-VggXfuI)EM}|B!q2A5MxmX zctM&)qh1^D2?$(S*{G{V{x@^>Q5;8&5diK5S6svSP8WNMBZl4Wmy)4yW^7~VBCiK{y$jarA-vf!EaSsP9p{?qpeJkry6F<-f^ z%{`;D+@<|2pV9iVl?`92owMKC5F3rn9lXt|ADuJGqpxevVnaPA1eoDi6uhDhsGQ&P zw4LWbli#fQEXgm{Fm_*Ryj~x4*?$CZ9x|(PtU>na)t6Azq;9tEu$I5pJ1!oC#`vCo9Nu7ZsEE6GstZ4KESQgKFX&{v01PE#0ad~ucJI5 zS*6!370;u4h*-s&??vU9CU+wg+m1DQ(a=xU-}(u!)gSt%x9ZRSD{qwl?HY6A@jCM6 zrW%8rhe*xfWO>3h#?-|IR@02uB*m~ogOVqDcrS~k1l2J!r&<~$C)JNMe|RmRR|2gb zn!MM1NrIhK<@KeLUNhdLfl~8ekpIsBuf2G$J~RrR9-4vG$AA?dZp3r|Sf0=G0&|W5 zNR4@<55PR=tXa9I#4!LPd9rpN)X=PB1&K9?LK_L4R@@bJ?}WP`^F zx-Gd|HGAw2YI6!*6U?58vrj_9<4}(gxic`!x+BDcP2CwvoyGEIqAwNbV@bN(cCUhS z46z~JJW|)_bHs|b>tsn9psU10aBas%AeYbC(BTXtHKJB)-$ImH%4}HZ(<4qG_<5o! z8X{Dlh1t;O%+|4#IA4SoE9CTg?z^0#(sQSs!|Qf9tE<+nn>RNvHm?0?%cZEHQFQJnEcMyeviy05Lo9kJ5|XpJlU#OYUMubgINjm%+lZ> zqb<#K?b}0+T3d%yu-m4cZw$EHj7D+i<(G;c@Oa~m==anTZ8TPSNh+hp1GZp~^1ogC z%m3`h%D)@(Z~XKROV)YVye_7%-$`Sz6I=&R;b2bH7<|MZ=7M8^`E)Ow5G>4N%xcK0 zLuU>AfXHmD(lSqtSm^lWQ>|H~l0&ZW?)a?L%v_a8rFO5_FCs;I4?Y2IzdI|uvUW4@ zIJgut`xx?EPjNt5jT#h_oARv3nEeCY(Bz~67;qDh0+t8kNOK2djU|p$Zg!bHUwdbs zyZqGC6EY~I$O)mjpOD#ZY|3@s>4V{3GT8x^>WHjVY^+(uM|HP&hN-nUqjN~MuGI{v zhwC}5dFJ$`re7ZJ?pEa@mUmGPkIiFmF5fwAMh{13RS(L!ivw?Xpi3Ug9|_CS-~Dwt z^r}lcqeCt;6bLcN%Tr38n{0(Ej?BZHOzn9M;BBFYJ5M$x=m|DH&C3;o zxgdH@kGzGsd9l&_o_DOrkh6Ek&0YESs2l3$J(|;NsL6FSC;wb5PyYGY`*?2hY6{`W zsC}rU{>hX*c!&p{87e$(3RYhF&RCuP+XOqm@X`*hX?l7; z8jzRw(QMRS+ZS3>oqL!!EAD9B+$Ryw_~KhH>QDUgPu3s()t{;_e){$|`TK?)WBDBw zI{;w}c$W9$mxHA;YBd&Em%jA0gJ%eYVjmShM(5<-Ym_T>RYk9LAnBRhxM>U^Yr1uU(@?x!lrUMR}Xq)qu^g@)&LjX9uw5 zlE|(Rzx%pYNe$*R=6Q5A)%cuCkJptN+`jHiJ+iOO!kCUlChGc`p_N@sh_PN@oeqyEFMC}X%$a~R!#a+|n z{GC$2Y@MgVzUG>or`K~^AA@(B^N8*<=d%lr?n;kl3Mp$~c)h{rR;AUbb=YHsb0gA6 zUY1G|rkyGei4JtBgj@iddIYVrZxI@m6H^gd<_uLqd z|Em65U)BHp8AKk4d4)3;d^X*A9B#DxPHghbQQZ=5t5+D8H3h43Z2;E&8?&B2^g809 zL&4CbL2Nc|xK-Kpg?4Z$H-kdK)H(+E0GoN6Q&IFMvM`||AlrBU|HtptU;Gz8 zUhlq2=b$t1R&pG3OV{FMu$dBLSn+|J>R9Kckme`r0J>rm4xlcZH;AFF}bA{e<#IRoO1h)ZCYqY(68rHtg660OUeNr>- z*~)G1eD`;*+u>v8?RXRb4B?lL``L(aMKj4~zUx{g;Cf)>%dY-)i?k3B6~ zCql4wBhaNceH6JTbp4cB>Uj^zV`O=%XxZTP$Xip+*RqL|6c91goUwa~!+Pm4?6v$J z*yE8C8)CygYvYQ$?yP5z=A9#NZqC}UmKPh~PkiS4%fFP^@=;*PW1Jd4V*oi4yq_ml z1goChSk2?qD8&Yl0rQ!QEqpRWzu-m;Rp)a#z{L?E+uqI?49Ho+ZVW!k zjzf`6EaWQbV~5i)hKf;^Xb9ZE7;voOSSdOs3kF*gRCm`^^zy{;vG5J%)iS*@-s7L2 z@y3E1A-NW8uHm*g@sav|oBT0dhuQ&_70);;04wCdKH?mpBM7katjAE3H4ZlGBOb1J zW$4^(QCE(%Vf9OYz;bIvsy^fj(~uyW4mamehp)NMr!iGtj4JfHJJ48CD+v=l!LiX! z0(qa~1;$Xf@w>O`#uo?L*$#%`($)ZrNAW=Rw6UU{IK;NC`9*FI@MfS0zh;QfYlCa! z3Gp|VpIr*I^q|Q(1G+qCqV5m9?V*KxM|TLxx_k6kCj;ywRkA=oSv{}Ono)3uzG(P5 z1GCzC7WAARu)O`=kF%|vd6y~D<1oWM13q3kqieIVd#pQlZ+os<*L$|l=$<``TQl!{ z;?~8)JD>NTpGi`jYkvA1xv5DWq~lW0pSAX4h`weW)+<6u2n={jQkDLfuliK|$zT3veeo^+7?N2IF`4xxLR97Xfs?sF=TUMg?5u+D z*;XIZhz@~{tYy~pdu=FLY85{p;TaNUQWI8@$6y1v7e`7n9I28JIUQ#xp2vV1^;&Km zJm97RFUCURtg9X?ALN13Yfy_v368SQu7eV8)g*+2G&u^e`+;v}2|LY+sc^QH8>l#mGw}SS*qtJODGy#hrcrn6r+*y80;08jd(WQ zx|UfTi3b1+U{&U-LzM)%%dXQ8f3D?w$lKg{=WbMMY*ufsvz(zWCpH^9CpOggEN-vZ zur|PNe~n*g-6ZMHLDyzDlY#$bE1!eDSf^?A=D~;^Vw{Ev(j$*&G9O@Xui4&iv2MKQ z=lJ&Y41GrP_xXjTk7&MY+`Dlq?t>d1g2dFV2Ye;mM^*6DojIt@wT{2>(?3$b|37)B zzT@jZTJODrI+kGKq1ox1*zzv$$&>P)#ah-Sp)rKO>nF=&FximYX83&5ak4Q~1oXIo zNz6N6d@YbrHAiqqDQcapY79&)l=82;s&%Y!sl=oFpQT?6GCe|Ux0-kea3^IOsnlwr zQ6Akj!WO%;i=&weR~+pHX3ZLZ#=4F0=hpXm5`u$yoyWvS&0Kvy1GKGGu7p5?FAS*H zJe7PiJ*${)r%^W&m_=iEaVJn#25?)md+r;3gS%wAaZ~4cch9ahf9+|HdTV0&&f?a@ zTg2jKY&;LdRc_qAseB98IvkglY>Onxld2YP?~WIJ(`y|H24#B4F3-8>68C($_3OI% z+%yyNq%7wc_7y^U-N3Apt97&|yq=w>X6^RdITiHM$eMfrq?)+1*g(3xHDzwS`i;rX zeeY|mqR(h-HuQ9;8}bk0?XUfwT+YEA9_RjWZV zA4JKT_6t8rRM%Z0v4S37oHt$h-PDM1 zfX8e)Y93@i(CY6+(xzRMp&{@GvjiTXp|_*VVxAOD){JP*h> zE|yuRfOI+E%q6iz3BAMXO;tgoIO3ll*MX9nk-W|%Hm|R4U3r*;dW=yyNVYjcYM{BI zNv6Y!b7367{R@qfB}>ZE7m&>ns^)SqGl~OOb~ah!=JMg__j)SIU~kq=)mq0$mJMK& z(P18R4!GLx!&?79i$op)yx#G3WgVf4i*aV<0BKqG;+0iNOoUps>dG;hK>5`-J7m2Y z^NI*t59eM=Rj>x5<_UAn3qn0w%Z-V-79BCendQtci}&*|YTX{^Vh}ZZm3`n-D-LUt zk^wx|?#nIXJw<^vO{|QTGE%!)5a}hmqdZ(S&D`Qo+R^ytHm{)TJuR*5c)_jU5`A@ zF}iX0hz)f^yoJy4<8S{!z4p-`qPq=1mtr1-yaciJQr$1L#cXgf&X6^rOa}0_^cc;6 z2R+bPH#``pYns`IohyF^d6#b3d#kWxs2ONgb(T=URd9oU zc2@O@KZ$iaW=9p)@)$$Jm9WMTSG4$MN$r=#Dr!68AJKgl=~?nvxu#m{PRMmKA|qoM zz$LI3$B4(BBFow1#bm_JD_mx4dy8Y{xvSZcN5Dx2y6bV4-TQPB^sS4cxak!4OKH6c zoOCZ*Vctwdvl+Qg=AU?o)snxR?*Ew>A%|`2BR#%U+pJ6I(G#he;bIl!Fz1!~a zRy5o*&*;T%Tn}uAir5evN8UW5cAE{k!!57Qv3y4u9{ri8ck<%D{xd$3zsdhQf7beM z*CciOj%~cAHEmWh#Qb(LDcc-f-I6b?7)QZ$zFRvE*6Ua=@144GrG0?L*| z6)zsdYcJlV)=(S+wi3GFEWq(Sr==tizR zq;u@GP$?X8Re*8=D!C}O zxT=o`g9>1ph<#sZbQK}0hlffJ5NjIc_05fX5WU*+OdT0NFH1YBs1u4tipnvDVqi5L zCce5qE}W(3=@G$Ohx%6Xo}87wiMBl_o%N$WxmX0#HusRcW5|6SQ()H%@5?@_a(*fA zbN7l3d9O`R>K@??u$wpfi48}CzFV#Dq@1yH;z!)h zFWu9g*QwsIbj!Ct|94D0sCKky*M^0$4C}9eiO~-@?xgGzpSxeW8u=ZyuD`L!U8nbGz~wk0i9zNt=Mk1!Lg`2q_xnv1O)fW?jH9B`IJPE&G}l-+J#Ea_m{ zAY!3rVHl*4 zUSg;ZSTnVWDp$dY#~678BfOg)Lp*SDulSCjVxRsr9km@6gZjW@I@so#9aEc3O;35q z8(h(?MPUndLyFAxuv^?mljO0^Fm&KI8DsI{YmAd<#0Bwunx2>z^cN22 zsJ$I=FX_Hth*&C@9Z(evUmneg3Cr_5)LHGNQ1`X-kr?gmET@k3Typj$3tCxoSE`<2 zzuwb^!8TG=19Mf`W7KvmDGa}nuGDF+6IJR?rxANuoLww2kVn4YN8r$!<=x*@yCIG&ZH38*>XO4FX z42VX~%1;8weiM;Jk3N!PLixLhvryn-Uw?6XQbRHPvJbPH9;em%1(zIHdBs#`p?jj6 zXX^7SL~U>`eUopdV5{8nLCf`7=oxi8>~r$a2t9}ij~auDrDxPoAr8V0^WwNqD}{k? z2nhQ~1yzra<)DA+tG3|Wvs#n!^jyzgJrq6;{I!nM!8g>UjB|`|J!cl%z8p5la-KXw z@iQ?7J?#hXHl_1a%j3v+*845kZRuD4_59s`H`{)L^UIUg`%IE2$87oQ=Z4&L%-z}H z8~_zerk$My9}Yrqu2l{x3yc)FZ{f1dYf(#yUu;b&UrH0MLiWKPu5r~!0rK6tayH7D+XzlSd7~!OJJJ2#Ui7!V=K8xctq7(^(Y>ek zgqR8=9xJj&8_2VRUETm@EltXhTa>WhBVy&JF+WX?;Rd(xBKKwFX~VIk~iy*{Dx1J{{l(7@`lvJ188pM z`>TqKk2PfgYhs`Ht$>?FCZrKck0}v_>-7Z)Q54lbNw&PsA2&`8xxWIYd z5r1<*ZD;@~uCUW1rV|I>OCrgAn*6NEEka zEe|sWfCZdOZK6EGhRK_6gORf3K7;1grZw}Ft(WHMHMh2Co(reP=dZui^|dFD95UW) z6@PK)(F-hdhdn1&+#)@fdMh)h`aEPVE2Vv2U*^()RE^sM&5cy46^A@2t2ssc%n>xT zNLD*3YVRdpNkZK|pea&=XbOhC5!jx=-qSh29s_$;_sBI?uqMCrHS3?Bfpd-KyU^%Q zuXz{tVa;#c)!vp|=;qt`^r#u9a1Zo!s5I^@cZPEmB+P^li&VLe;?QFNpDcOfiNF_H zh9Hn*A)m9sDCa3sx)Jdzf=$-;?N}}^1|EO)st(kWH>P##?TyZ+MykK{<6o;k^qbzQ zKl_W`DE|WFys0ulH6UC3J0&(8+)d)RC&sRu*NH4JGfU%cH&IeF}UVq&c zL{`|UK5spDET03e7EaXasDXN9ugqK+cCPt>K5^A_&#P}-93u+gs320#Y#ud_`$>}< ze@**$J&jANHBcwA~rxF>Cs zn7bYW-YI|U3O~yCNSxoBuZOkf@JfUInf(Ef+Z8o4S^BAlxE^(*fZyPYq zT+S+5>-$hUxwxw`uhxOcN})Gkn-$1*YB9{$S}q}X4w+icvAB4^tofJ(%(Tt0G(xf2 zYwc^&x;ddPzyO@{tPQvdNns{DH&rf5*>EnBDbm>!aZ)$2BD;BA<% z@#?7W_<0|xKkz%=uD|iqK776@k;^wuaf~sF1!9e!0M5e63Uu>iW&?f<8;%np_YgQ+q zWL$0)m|NTG*sRfVDhX=?ZeP(i-qRcHc@C@FW;8b61)}{qy%>>{TQ*Zp+y#Vwf9`=L z&b?7MgH&3*W;L^%A+LDl?N_ru8DQ3He=wXg^fnhtF(7I-=j$`X`W3XAd#<`TS>ZHT z5UcL~&M1|>TF2%5VOOud*FW;*^1nd~@AkysgiRe7g{0ehLQJXKXLZ}<`P{h?kB~D7 zy+E5%s?Oh8bJk;@1V?sM`8I{CbP#E#%q;-hGt7VOSKl7{cut<5(1l_Kub1CO&{;#g3uQrEXy!nc$gkmo4XCoAoDu*_-vpf6XWB2R`$mxXycA?;hv( z9CJ-qQY@n?R2$1PSXU2imqXj=y63ssLe zv*_7Br{%g|k66xd9`>?d-t#AlLji+6bxYW}C|I{=f=^F+BUH+|9%_1xrTMpmEci^a z>5&(Tm>y%l|b(VB) zhxM*m-{OD!=-*$z^mG4wz3{^-GF0O@A|2Iti`;LRP@fAc54Uf=v%-mbs+3qDrwy~g=mL~-QJM$VFB z*4djnO7-(~d~~%1!lkZxfX85)l@}P~bsMk0NXN-Xyl(b;Em!_wz2b`< zeYvy0000mGNkleO)gN)fO6d~n94gKF~$8Zx+OF26i#%h zpOiKk_d;IYCp0H&&TOO&KAG+0!1Li$ZTI0^pV1ifu*&1EM`DKF+<>~F-`s(1)L^f2 z-1O6-UKOr9rX{toBQ`ecV(WfepiTF2A!&&&ZEweoT-VY@GRspilHaoTj43Sld`l4e6QIi-edPx49(10xw-Oae&Sno^-cZk^8!wD zdpoz+yaMn4`^ua3>puN+>%aWuPpkY6ZFpe}8q3ok0jqqN+Ixx&9?TgbD3a@B!b7v_ zym*jrqOn|l7<%rR6=zsabie!0)Be&g_;~$+-}ZL>fB)F)x3Tji_vWtDMi*r8`R1bJ zQru_6t6`SC$G-}(@!EKIG0!FD@Qj~RpXYNCxhy7dkJi(jdcti#@Tv@QC61cMnCaZ* z!?B55pajlWqL`pIhO9_N+<9WF%F*@ohVn&bj$e|Ko%__P#^|2nxM@ep`|2O?l}g4a zj^y-C9qO_k@mG#1tV`o6j~b)JV{xRDYYooTmJ6*^I~R<3e?NqalkKjcuJV*)@S4~| zYwgFS#)gX5F$PuEj_F}d8eU9F{p_|(`sO)s!dZjnH3|%PQ+ycwa*@jA3lt4CLg?Eh zQrD7VNrEL)C086~Lf(MM5<@#Kb*=%Doh z@v%b3UZ)Z&tB~y+k$LQ6k7JdQ5R&bLWbe&!kUbCK9DDC$AIEWU&iVV^_}%>9f8V;U z_qCp{=kxJ;L;%~#QMxZHhd!_5bzrENH3e?htZ}=`JTk}Kb!=3#0k$B(m*nk2UOk(D zlZp7AC?c zR&0CO^=2!!KA|&`hD8eFC<*?q(6QVZGHqH>OcC&l(y+3wf*h zRcLVhU{5lm*6v4-6_vv$j|KXq5S>Twnle#0^1HBq?$3@rY#!|HWG2>>D)`^vQwn%z z@=)6;OI>l1K^Nw_8afy0b)}kd{X-5~qFKGct%sPV;L@%2Pih&+YJZnmMA+ZOm&#O} z^IaJt<;o*el>gkPNvBddZ>98rBS@REn2w$8yL#5xvr&gQQQ9mVjn4$u`bBE7y|6l` zum0Ugk@wuFC;{l+Rv&F`DuS!Sx4+%UYrH@Im zTKGLzDK){9v$~qIZr?^eW5bi%DBwHo0p)CS!H_a;(ZQ|4gRUxik_sxSeyO6W0G(KI_Qt+iAe6SNI|22+ITXuN{t)>*uw zGmT5Z1`6lxIiQoN*MZ{9S@^!YU1IByBQ(1v5$Z8ik(F)oUVX?gwKFH}<}E6~2XVgc zgFx3`swt@Bl0Vhn^5Tt5Tr@k+pm|u(^HH@Ev^vX1q364a#h_{~Kqh|09n|sS*?}vP z7D->ACR)a0H9=MVby%-xdDjLwvhdBTI6B% z_TFRZ2~u{?Nb)TA%?jMULc!vBz_f)AyrQEzx%w!8CCX=g;L+vLBF3 z?k{#h%OG){czED;KE^v}lTSWUdMJyn>kZwHlMSdd+;F#HqR{M4ZjTX zdF;-=`>EKH0F%sC04SJwMg<;GKWufF}Qa86n#Dyzpw?x{`r-|{Y&!AaI z<0u=Sp{y#RQoYssOquQAKZvrG?gml>Z6Z|LLi>fuS&2poFk)GE1%5*_+WKYO#}IvX zBxirRrPYfKHqfUc0Z6|8r|w;CP4cM4e<)imqYY`t3WLOer_yuE9n!mUgnw&m@~m@f z#Bs!*Jtq5)n~!bzCw+h5Qq3Z=^D(oPiu@{b?D0<+=r=g$m8}yz{gX>q$C(pA-%>}4 z88a{uUY4A?*Nf)YFM%l2&nMFhU_7WhO?Xcql6zbjv)ahqsdRpdxlU}li??#+8`+bL zk8n5oD_3HrY)9MrrNDq;5n^zWSd8JecMCCb+c0Pyi;Zg`8&9$_4R4REte(Eaauth>I$pDHsYWBs6-AU$8efgGo`BbO#$H3i(1M3r5Us&Z~E?Vid3H<;$9W?sNw>5j&y8NGr80c`CcnMxz8*$C%PD0qLD99`} z?uIN;OEoLiOB54k%7?%0VwcSYe&D2B(OVJ6ml3K+y=$*54{O>a3s4xJT?Q_V2b)!4 zO^aQC+045tHa&m=`NN?qK|Y_oms$q2wNIGuzm-4%O7!r5>^(y4%e%sl`h`EB4)qEY z%K)p+@usm)X0&9_voG`otdD)UubUbu(RTgCAr0bx#Dq77<5-i%L^6m*T&nWPwXJrs zY;^!z#h~P?LjcR<$BjGH;|uxMQGd`IxeN>u@kz!fh3xL7{z1b@ITJtzISEUJHd$Un@^>yp0FDR1Cj6fAV1qTz z;j*NEGXFL)O`IERBn}Ui*8!v!kgTg~*A3pZd4|b+DOqc-;Aw30fb3A3-PrW zT38jARLZBl;*PP2|P04)`|L8mCdsb|L)OZeI)JpyJav+xta!&rDJ!%U}2;lL+wU|>hcBbKW1(F z?fv1yN&D6{G;GInW!2FdJH74otFi=|_T_w@OCeg zd=Hr-5Mg6~AA99Uq@%L(PaNUK-;oA4hk%ogXH`VeI4M0I=5^itTsEtG4dr(JH*djJ zGYxoCp|o2O@lerEK}onhY%Y=n_RmG)ITwn=0@n5o+O>AIz5!2|(#=OOoCCJ1Hi1 zQnk=ycBq?XS0T-{N5xnPH3#q~Iou;xp3ZTm-WS%itQGDD7wW;8MOQo9#LF|M2@KqF zcDJLIPikqWHebc%VQeN{>Uw%_D<0MSmZY0Zu`IHkA}6N&*)e1+-vH$7b54V#Vc|&5 zYyr%I7GY{3>C2M4HfQj&ntIHsyiCh*PvM4k@^^viez|X=N`+h1Cn26?*DDQp&eEA8 z)PaIetP=3Oh3ttUTk=eUB?*JG%N2c*&s)l4fTZno8HBQL&XYo%yof=-5fog&R(@KR z{Hr}$g7|RIx8O>y(z!lSeH2vt1yFqH6ltpbC^r7jNcUH|8;B382YIx^H}r*n(i02# zsZDx{BX7u%m(G&l=iwK7BK6MTzqiB$SNh05;M`|8nJ*1BII$L+~ zE54k>pj_nf`dN(NG?(rh`@!xnllok~h6bhj=ZBYUO(CX($IbS4dipUx3|HQQup4PJ zgbZ@Qesy-A0o)uk6>Xuf~MPQ-zs* zKKqYJfc=^&SJhRBA5{g^O{`J6I3$RQ;jZw11l9O8vs{O71s|+`0=|Zo*t{FcQ~xC0 zDO^G4sqKcJjdJ_s|8l?6T1{r>ID8)jI}Iqy%irEJ_?oMu!fbFI&CEP&EvMIN9OVUb z+zHh}NmN4DuOE z+LhN%I_g;gc=J|C{N=l=hI3n@WTNp(erm|ZuLt$e^rm(L9^0U&`Wd!+71B+hsm6cn zs+q~-o>k#hp6U@!6qycjvg%s9M%^R%6 zCrC3S_B^cjdE_vSqlc69>i6MV%(iH6+_nQ!&fA$VZ>BTK2Zjzq9P@)NPDKMMNwsj| z9qq`!2|E8A<9}V>suPduxjk`lMm*;4YP)eXCb=}11*?x~`H_Cq5gZrZPUJt3&PtEW zLu4N{u%AnJk68Rth}J(GV6S~(+PX8Jo@L^{*08UfBZZOU32i_H+(Q;N>2SNBZ>7x| zDc71rT*_ey=25l`2_b)l{^&Exb>vjjc1$}Kq$?EQxO&O-n*rhD8-KCaA-}f1?J1p0 zI{!(mR{@zLUTzPMU9@MKBQ&1j?ISQHyWa!hZDR&NM-N+V>7oD)mW>uwUk~Pn(zyk( z;`(1+zd8AYo#@&gs$Ste|8(?!T0nJ)&D6Eju4Li6F~c-nD{>i5A)j>9sI%3It}|AO ze}(%&ssNhVYx0k;8_4AcKKa;jv`cwW`{N%&Otf*~uubjqW}MGrho|(@q-nb6X;-10 z?sqM#bhN$#`em&u2~aW=j+pX2LT^OB<}GJjooloFGrMK%>7VmadLT6uGHLYy zhTr9KYD8|{^CP8SP>#i5x#WtVL<$CZ#T3W;54=(N^|zzhf6Jj+EBHh1&akALI8C;p z`Qnqo$TUNJxt*In6?2*E@osM3$bk$qX5@zAw%WA#$D#eE!0SuSoVxU8pJ2WJdd?%Z z>lOw7*eavl=J%fq7Ht)J9)HgM%al^P@obeInZ?!Qyn5{El<(6}`W+x*o5kGeUvp`e z>KuN?Sk}!Dbldo5N(1?Cyp91p?xQ)@sB|{x4H;6ypF zlpT%3!_CpmLl|8yh_nu4bwWPFtqI6}ay5Fx8}11=9G0K*y;@vytCl3{tAyHm|Jq7^ zcnCM`Vqh={b(Lm$=}2XsigG-U7V)N4{<(r3*Us7Qiio|8Cz3A<=9fHhTBb)DWjCv9 z?;KXO!Y{r)AC_j2_QSG_=)pFP>~s|Stm6Hnuc!T722a>{uw z*xw)b@G=Qk=d?WRjs_(x;f*8m_rG+r-Xn}m)=rMNTm?LAxn0<2e1Njn$w=ims9eY1 z>}9A*$a-F{bgvMYUiR!Q)d)K5z*rCeOBB9O4b_-%Uf>x z)u3-Yin^BB#UQym`a_QCWpI1+J+J3$Y}$oWMvaEhr|&wX0)qB87CdWB=YYjB-N^R~ zIam_;mbVpnOytpizd#o=C$@((J71evQ)p!< z-W^pMo+6eh)T7B|Lw;!lo6@y(|NV)g{nJJs(aYEM{#g&$FfDu3JJTh&Z%`>ly``T= zW}bB7RfM3DHtGD&X!Jq|9#~yNP6&8F>fNpdF7M0InU_NVt8^cWQII;+MR>x`gY1F9M%tfC_^GO##TW)S}FPfeEdk2ZG0TfJ= zNKt3cd+rybpiT$ViaLN>wgWZ^oK}HUmN>@O9~?)l@5%Bs)IQ)KB*<_49Vj{$HHWny z7}-Wir0h6d&E3=iBBo3p*dxt2ZXG|nS8_vxWV00!c)9~nWg9s-*`N$(z`N&fbMWh7 znP`2Ut#CzB4Jl({b(jG9TJyh*cE8<*n9>*&`D`ox-VY6BnR7HsVe(`8Du(dMBNywC z$IoKmWH~$=nDkg=6)>QoUxk_-_1sv;w{9+zj%s}g3U=jPXFP|csX#l~9y>~GI$(bz zVD&x5`&J7$0H;cBt_9YS`6*l3D)B!Af{@fj+~hq+X{A;Lto{Q(RxtIiIDE~Lvn-H{ zNvn8wI|=EkON?SZzN|W4KtpN?jr-vY7FvM5$ZIHy3^9tbxUWC`A*Bd13OX zFDL9M;LVx=32lh$i81e4M0Gb6d>F9PnG&cL5V&e#+jST9Y6eyW9Tz&!M6!oyT%AJ? zyCKsLsA|2>=1bpG&U;{vq$3mw+Q-C^m6u^r^RZ_rRcS?|b);$3aq{?*7^#3fL1;Gn zHJ?~=0+ZqC!Y+y!frYaL@@4L+{$jm;Ta0v*r$cbii! zyuWW;5yWHw?(J`k{nFC-Ihloegx#m?1b)>5cZ0{+l?6w7C&=ieYVIAeb6p{5^0aDM zK+@-40LGKs!Rlew;4LNv?V-y?K{lQu)r*R_{J;`F4VY`^WSVbRCVxHtnxA&av_*f# z!$CFdCyjDGjN`|)fziVqdD3o04+!E4^cYZ@u7Ykf{!E$jrsZY^h>aUhqusNH3Pmbj z1(dkj1hrRPwug35vxroyt9QVb zev9?RcY&=4Bl@DcRE3N9rX{?JtxB2qux|3RbL$PwYO|i+fOA`&OY?pEQ(LNPFD^@` z==vu-(&z`g$>n3?vn_EpiBQtqn6WCMHaxo36Biaqw@^c~?1ABbQKdF7P#*#8q!<3*XD4ffd&7ZnYeEPCt z>En?4y*A(Mat%S!bx<^JZO}8-_b112&h`*0AR81&n)AIPWs^D36cP0xZ8r8piT?Il zWoFw^qwG01`@KM=@e^N5DWd4_Z>oVIVqz4viy#UB7!hQ1;x%b2pNn6=9%vpk;<#}6 zv-^El%f&J!wER+6ij!?Q*SvIm8afeb>yC)Jds%_Qv3L)7gNhE0yh{pNUhu6(?k2aS zw)V9K^c;;H@rHRzKx(II7d6JtPtQ6%L#3R`y%DSGTT?;)NAbqaaAAHUT)rmhJz@v; zPceO()qzD=OXV|8-^vIg?%~18xoxwuXum6U+He^1gRhJ_4f0N>=H&id_apf}DTC_0 z?=ISoMx2&`>x|f9{(MGM8WZ(*CJA3phk2-H%erFz^793fB~6}}&Qc;)c7VA?w^I36 zaUAsN=Z&Lh(3tV_%dj|Dp81UT4GjbhC9pl1r`(^33b9={5>`R+dqMvB_DwSoGv;50 zedMdugL!ZK z&*0{^S&$5zLQH>oVIl3lkx_X`+DTN}IP&4W;jm>9EJqM?Y0F~^7&gnegxBg|9Q?tU zOnlV-GpG_}N?jCfg?5?GC6#X7QZJwNCjG!*O;6{hy#qSbaXsJ5gY00YT=m|p!#sVS zX5ppsY_$hnhrhoOZk$u!Kz$TBr^W7NDZNooFNw~D{9=m#Ve2eyIiOaHFrR0ShnK7Y zi7VuyI-ZB>9OPh5E4i+KPFH?^by2^(+;wWP>VBu4A1Lz$V=4oh%`HFe8DCdzHJH4G zm5G4=4WwHO$UkOit7Se(@ZUWT=hSw@?d@P!Q`&h^R1(IA$kMDnly)D)Ikj-|O`=Ex z^!eyMjdMIwxxV;&PvzasK8_WB`sTX||BTgqLfY?%0k}*HL}wt!_>b_oJ50qnFTUa* z>)A5O75CkPVwL^rNxS7sah&^U$Gj=SMzo1;M+)y2*={m^QSPOivPO3I@l}XKaSELY zM{r?QI^-eLvs;yAN3DFgR)KRA5I?rv3=Z&67JH(8+c*7t9wG?)Ey;AWHjP`wQBoS4 zI8#mO`-IYlEes`EzO{tj7o?OLR$N;uwH!!bvQSBjqxuzbRUx^ypxOs>83G&``?%Zq zZ5`ou>9Be}?AsT-Y93Z?_;%Nv>^lvoeBmi}Au%a`*eBZs-OAR*fws3kqL@#3r^=Ee zQEyS#LH=>1HsTX4@BFF2p-I1VAo+`+2cSh54F%nFBIftd0NpF0~ zRBf5J6r8L4FO&M+T{G6UmuSeR&oFX<4}KihtBPJVg|wA?VA}Kk+_2!cs^kwYy@U8k z&>5{aRcN^y*vFuRx;Axx)7!;Oa4n>C&-Fw91!MVoqoV!r%I#2=IJsYepCH6~D5X<_FOh`7|BF#(tQ^9<-*)7e%E zW!peMmr5(1_*2(5E}+!ve?w|i_ZZ9OR3)BMq4byM^Vk@GJu&(R_A)T2AXA6D#Mrt> zXSnpTyRRpI;qE{VH@6Zq$1t8NVgYzz{1VZzLfHyDc)?9w@1{{FZy(MV=hB(m{B zFx_tN#9m6rW>+V&51YBU@7~I2g6|kBVh`-MJ_3CkX=X&f{OVD^`+IW4Lb~nbOsHgv z{FVE}jCk-yid3nWo}QYT>3KvI6catM)oH{FP_cOguBB-aK6*c%tM9-I#fKDC`riNog{Iftz%4pzv}=)PvGERxnBa@4b8Oy!kN2%T(-!Yy;)OA z-e;voVuZPf-$1CEnt1;m@^Xjcq|>hF<`(-&K}@@_GdTT8Y2WL*5NF{!M@0W=&b#U> z1lqOO$a{yCmD{=Si*`Sf71;9Kc+v+0t(-5Jkk!zx8`7+Uj;W{X*&!29c@-rSY2Y&4 zb#N3?@Fea`g@-)41~$ewFC0)@#~|-AUZ``cZ}b^7EH@mzTafdP{XZ?h8-n5VH_44T zia{+noW6wX&`C)dR}W?4Bjbnhzw4;+{VHo}es!Kb6Ofkf8f&DxzC$6Q}BmxeYEN-I*H%+tyez8AWH(=M_H`p!#Wbp$rdRwoJ`Xf4pHh%*C91bO@Vpj zteL=d0StfC;SHwb+T+FAFa34bb^9If&B*iIosLE2-&&BxJRcI8{}5K-`8r0TZd-Pu zPnnc$x}N6L5KHvJMcb%N^isak#G6NCoV^a5(_f9{Q0aMZEyU!y5N-YWiO?4)))F;f zOCf^n=eQpsGC+XYxdiM8RKOi#mtCzT0SE~cdoI@Q!E+qGIbX(`SLZ%2{mCYWAQ!A- zyTCD1<}_SD-}7JVZujkR-)|DwMt}dFW3dQCzO;@5(u?j30+Vp(c8LQRI;mLtMp%H# z;jz{g3$5HJp&AOs_CrU)^H1<0>J91gbrJBDjE_F7k6IHS<*O(!ZvDwq`GBxJWQPue zgVt8?GYiE0ZEpll2jlG�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 z zgM94nv(+s(fg8LEp9?9AND>UfhaI|~7gy~!HQmnc*fm|b2i`(HH{ZH3`xd@l>9_=! z!y1)9{WM@x;0^jL2A1CgJ*)&P%k6kHrD8fTu$|9hh}7j6K-!9u`H{v^o7^epNT6Zk zU-L=P>3w=JfNtKm?HUQo5z(TTlGk>o%E0#k;_fJqtoi&^@hYX=woW+$Io7esFWc9% z$9H{w{-Z+B%|u^`9CZMWs5jG?BhSw&H$qKRscg!K;BhWS=1b@j3mH%STldU@5E zyJJorNm#x+>+g$)(u?2drR$59tv%u+On=s96-VaR3=E3ytxG-3Wf|=;AsSyTNd3t! z;9aQTTWOTm2q#r^#xtn#QA;27wh-n|MtlNfQWvKti+aHs;j2I|<0EM`#P-PK!&fOL zT>@;J*(_CtYNcVlbjZ8cvo}~qX{x0?RjY5`(FdGQ5Bgx`X)x5gtiFs!b)$2F@NmH@ zUyi`!4tOH|cQ{w$?XkMOP*>)-Z4Ss^+#RX&rPC&?xOXU+<*233?7Y}to%=6qHQ|v( z7QgZnI^bVa@V+rN!+*jPUOnuM*O6vH6P|hpb`Z)X|2j{6<4Cj?^*R;Ct@3;Kg&Xvp zdtdCjb4l1bH3~8{{M@i+rKXlKBW|_m?5)wtxGJTZeo1Ahy=vrtT5~mw_7jCyII!JZrqz;e=RPos^tPH0+HV{6BvcAIGHz7X&u5mfwm z1Kn_A5?X;%+LBjlcESE?@Sc6D7t^^YZjA~~Ib^C{+IhFAE3vWdO_*FaM{c$Q8vA3K zyUj!m>QCoFR-PVpfa$^O%HFxnyQBLQmi6PNW5_NKE$fU zF_@9S++F(tDU1@#HNW5w!Tm)v>L0|PDnD2oFyGmV%48TSlimI~3mD!wz0jJLCzA8k zfuRJHp0e={PcgdPFR?XHElNCJ$7bO zD_GcUH&H>iRn% z^{?FT4V0jHYBQdi;JQOeznQE^${6-=_9!Op;MviVn#JIKu)@C)0^IN9pNS83i41$$ z*x%&4ctR)TftJfo29^9@pAwo*djV}}Ll)i#i#ziei-CVxa`S!_m{3=L!Lb-kO|6|l zKrud2Y-fiMBX*42t#~e}Wq`V3mbD#vABu7jbG$79C`pp@Fyhvziz6S*AYZJ7qaG2{dTBN2qX*b_pbCMpCDw3lh@>2uHtsP3Q{`Iy4HEBLc z%xFuBC)#kh1R<%taua1GY}=(`Pn0(E1#v-JPCYqE~l*@pbpDTx8lc-r6`(7it*Q-*mHrK2F~@Lvbgdkefm zv96t(W7mj5_Tfsma=P$3{fld~m34}1a^DNuoQluaVm90#*rnzDXEd8+5f3Ph+pg3} z{`vkHIN`O%ymqTRX(2X&)WmTsR;pA=~{z7g}80^TcAG`Za zPsF)V`W%|(CNZ0dn`_I{v#u7jj>*!OV4wL9SiQP05BCd>HP^G^G~H(a$;s8M^uSl# zs6PaJ){xRjO0I{J9irCYFklHRP)`US(A`w3eq|>vUb52*Am>;wo>f|7nfO&g_EUi! zA89SAIi3b9@9uz?L%_d75%sT5QEPuENpFy@+a03fI0>@+{VW%v3UL4D!eg-Ib)M!r z(*{FJ7CO7pzg)8pRJT6cb16G=95rpYe=*UvhWNr`CBeNqFxVtmgaxzVMQL>?x_JR^ zX+MCbTtVZLw|i@k7~50Z_QpeN**Pl0qPB10ZjAP}y>(h^oulGO$Acb!0+W9hNKO01j1qQH-g@^OZQBB0W%pMp8MgzRM zBr+s@ZPm}Ru}t`Qv0)wfYN}mLn!6n&d9B!vA!EhxWPm>H&!+6j)h^85z_{SJQd3rq z7B+vM5<3C)H`y@7X5IJy=D)qpZI{C-+HgPJZ}B)~4r~q?%*fF?4qthK%&6a-(HNgo zLn?((j;Ygi;CqWc(=jQUh*-_zpT5U)4@wxaND;L-Z{Zy>yYnt*y!g0?@>_-*bwji- zCHVl6dvbR&q50#BdD!398VSTpakBh%fEH@iYZ~*fqa%ya&ZU>dx!<&NOKJAI+cFDS zgK;PYX*Pke<0%TKbH}EOdnMS@2y_3PSS<3;2s%7I@C>@^ZLy&Ed?MIayT@I(oBI<^ zc3lR@#WyZZdMxIir2HaCT5&-GDuun$oqb27F~q;MbiZ2k z*vD6%i10Z>`^=hhafU1tVPKCk>qpwPIk?`0R9)DR@HrlIv`|`NRzW}3Op{G$C*jPX z@J<}%Yit)a8``q9qD$Gn%NyLLfWKkX3cGf=-t46YPMaL8ggzJ#Vl2516p0jyACSF( zaCkYBs5O-bZ)~F*b0kW!HHS~zZ>xtxiU~QyJT_vp3`0+NrI{qRp?bo36*3w*mY+>b zGYLB~hHg4DQk=2rSqTI}c&{}ssFVzg*!0l1wSRdvd4UP{0a$~RPV0EYGoW-U``f3F z#EL5`G^tQFX(Xc-r-EDLwynwRdL*Vzsax4<3a(O9HH*aC@FM6}{GG6KNGk*PX~3$; z(au)%(R4*~#_92%#lJCb#L~jnck?_%KgI)0YAP73*WFloWt}!KiQH};w4nd?&ugar z^UqE5nw2^#>+ydKqmRh##)wZ26_h9sDj}f#4I9Z6GE8_7f>%4~o2EB#EAFBrFr%U3 zX)6n?B0kiqCt9fwyo1YXwp6}hdWhU9J~N1;KkR;Ua5=ZO$vKal{=G%& zIXNdfLa#)z-$YKF=R?JlkH&^?MX_LsWPI8WIszR$Tn`~?f+<#>3z(yX;)Cu+FqK8_Q%T-v?U@G@ z7N&-e=oPsHExn0q`QOa4`YB{5%#Vg_LRkxB&{@n)0j(fURLZcHrwsa>b8rd=&})V9 zWSwO9C3b&u!7R~)({KAggZS}%ZwxTLq1$Az2ZhT3+x2i1Eoo&Ry8NPWQ%MG!=eN0hBUNdrYt>HViUCFW>WQ5E zKk?lCAzko7oHrL{Rov!rXftXz-HNdX!9_>bQm&Cnd`F*%i9og}r1YGVw;F(dlSm}m zFkS=V?OPvNS(r-G#P+S>M<%?)@7}DuH*W+4)R2GVS7yh8 z8?qH3kcow!H$7K}-YCb`_a72C&DM##Hl7w1O0;qmbr<|E2jTzBfBQZxw+C`uiFMgL zJl0$ejl||^O`P8KTUpQ9$r>wJ**r{Wj!9W2qA@5Z(>m*qHM+%pXxie5hxoZhHa$bld97nuKPU+K_;_Tg0mR%FNp-1^dbgewV$Vx0 z`ejJ7Ha6yFp^?)%;{7737V5o{$yXtA!dJ!Vud?k4TU+g+e}c1>Q&2#67?zyu+d8{+u)HoYw-xuxk-~_&!BLdi^?i81dCp4EFntH|= zA6w2Qip>`f#E$>!7~+Wr6#I>s-0ad`;l?rXd%JN+k#DBvxumN8w+5U>MiqROs8-`h z*?!=z{DRj~5n?!CvKq+Qr zyC$+os@iNYZH3<29nG^IOB~*{H)Gt^E} z`UCx0ge=%VSGN+88R_qBm~}@FOYRbs#AfqdUM#Qta@%~W=?|c?_xh553(aU;LeXw<3uDwRdr*F33ul8MBXUu^JeSaslB*s@Bo9pVFyauA2 zEIVvAfBk=0?Qq&%kGnqEW4`%;Y3jjE$5|7;p$pr4Ul?#y z6es2a9Dlyv;09tuFk2>J>&y;g?N4Omr6f@6P8x2yQ%=7qKY4o!A33=lx4vYOx~;8LnCTP$ise9YTP|P8v8^7+a9d$L@;MY&%xX0N zs1ktZ1zWuEDwMGdJMeOlcVQ5Un|nUg!`tR#-%>AMfd_A9yB54FKf}QW4*S+J@$oI8 z?JZR}!+kY<7bP^j5bpaEuZZJZyt#lXEaN4}x=ig&)p1aNe(21=-%?DhuGdU&im+zd z4h35ReQ|eY1M9a~)@klzLzaCMZi|0fO{dX5r>j`y&9X>a@8vQqeawPH2*2Otc^a?| z^~vqn_~yAj`LBs3vc35>k^objTRf3-OkQdOqx#6~{sRjC!jt5VTjbfX-m^iD!yXMO zLs8%xRtEO1N8DjehsJO8@=M{0<0(t6ZE7cb?mVA|K1$w$eLT?bKu3eGT#a^piNe*U zJw0is_tHXtvOU{KS)u5rkS3l-pGI*}l1GV)=OAGuJ;S`68H#<;^Ufg{H&|D8@ zNhI^Z{o|39a$R?hFLs*!&kN{r2%=bO*;#%HGVYp2eY>Hk>6O-7Hk(Yy7jygO%#Y#M zeLW^DT;3`wm#Mhq`(uOpNF{|f{RMy3K6}B&^0;esK^w!OWp)%WcFU?fz3q=e*A0%T z_ennm6e@xIk|1Vq(&6)jQJXO!B7EPlI^f;l74O2G)wdHF+B9Pqz{W9m>&D3OL7D8c zSjS&XN|AWWF?0>-xNOpvwVRm}Nw= zRzZT{=Ce84HJl?Jxc?a&r%maBNdLH^YWUiGBA=_sQ*CN}Y^TclAbEoh#;gK|lC;$A4d;4#wa73w8xfAoV_`hkV2kO;*d~Yb#%5rL2)B&xo6~%S6HV zJm0S4J}$4${H+cK`x}49@G5}5h##m$R@QA@G=C6xl;^2j)Vz<2Tv`MjH?Esvb6%xT zetQr=ri~_=<7P8VdzPLCkajUo?om+@pXn8$Cgh>U>udc^V&BjDU7E4c$`(CVSC8Y} zA}HkF>-kDht4fgLN1xTSdD=rHxvX(;UegH5=EOO?{`;5Z%N~X`atIo61?*HD5L&mv zE8CK!1>$#-j>7+$eNls9P}v=L#~U=oDXbRK;$Rm2rDTHI9Ra|?MMvNQ z$)av~`Hh#{zY97aa9umq{(`U-6kPm~@i6it*&Cvo4fVESBSTPp(fE~3l@#RR_7OG5 z|23G_pR*fPg3=dnJbCu-FkwGEr)1j6Pm7(0r(Ux-P4RKa6{xq(WSa>g5A)J=M0c zpeTj>7c}>oL(w&FW+;fqs*m z^S5?5QEiA{va#r{N*2boReg$UN>V-yi4R{(Uu`$nw{KFD-|ZvZ79QcBZhxW0)?|D& zf?CaJ()wDph6j>EPS5U-ZzmZmNE$K&tQwM`SavLX1h177pQP|<)_R~XVkyId#&EK% zn=K}f=>A6j2TkHj{(2HXNg^IE*P`u|1KOK3CfwGiy?D+RZaPWhGF7Jz<*jYk)FQACgGK7foQMv&%zv=@ zp96=ccps&aKAH5J;;|Zs*-nW4;^X1|F&~Xcj}6MidNpVrbijv8!0yf2`E24eQY_3v z{twVVFTX!;z4N}_eEpFgKfdsTr#Ky79EsnXo%jP^X82!G;KTC5UwwE;uxwRien4D_ zV{x~|-?*MUexfQTg)Q3c%HQT5>&ernew`NYkZR>y9M`C-tSniklamwOe1UItJDu!y z)+&c3sw!RjL34h2;o8esRXLBz^`)8-dzE(H+gQJCyx_C_w{UAH7Q@yMY>;Cz}?DfRo z&g6$$QMkx+iDS$llQ?WoN*kIK)@eM}9Jr=F*Ut$;%!2=EwDsciz?i{9pN_`tSdb{zd(k@A_{2@^AY# z{nBs!W%{;X^=0kRpe@OqvZ~M*qm+P*6>w90+hi|>6@?T<0`(wKn zEHMVg8b7awJURSUzr~${LyL#oVz{>EiP7Pk!^7e8Km%}Pb5CrQsEDT#`txW;^DX9L zc)dhI{bKYaA}_47}D zT0ejGGrFyJ#s5kMH5Y!U-M)3E$B!?)-|{!KtNa-5%zwkX@WboU7l?EAeAP zfBJc_nPJR*ZP*%bw5Ly>U)v))@-1oqtVIj0$}XATyxttXfbosafKYsF>BU+5+lSK zPidTaXxS$w*kVXxc<|QXFsW**0hjnA4(E1$AAk2>x}AS0QgANw;MOCuHZDGShh;%y zhsoi2Q+?tKKdP6$@KxQoxTzOk_?XV0zMy~QU;Q8J*L=rs(nmh_&HhWMEB&VMteq?Q zwZkhfzoK9Ki$AVk{cC@%e(&%7Uj1vo{}1Tj_@{rP{^;(me#?7b)`xDrx<1@onx(SA zxeq&cGHtNt9Wu%j)_i>H@Xp)ir9y|98vP8=uUv%6uf4ej;xOkCee0l;cOu?I{yQ|s zTqB1bs3GtUdq6dA@7F0COl$!$md&}|BPqCGPhj#%cyiggHaxNEY&;j!L34(o&@~Q0 zV1xG(Vhx7}BR!mq?+ihkb4@?v(KKo7p+h;$5b!VTUe}lOSKj^0`r`es>dyI{{K(KB zt;Tot)3<+4|KP13(+|A;L;B%2{*m5!a5vv}_}v%}1I~fw7yh6J?{=)T_(NSHPwwR8 z#Mg{97u~pVYTi!?|L8%!7^kPsc`Ib?d}HsNUqsE$7iPEHnO+25tlypNbmPSrl23pC zEuw4N^I+kFlp1Z0s?yEV8)8j)W9+x={Wx-Gd0ok&2ujKgda^6IOj2omsQDY)r61Z= zB@RE!e16i-dwt=BQ&m;=%U&;ip6@-qtvAo#)Jydtz47FA-MV~7x31obfBE!fo$hYx zmfq0Mo&S{ne~g@D^mfe-Nvbdk5l46oMPe+3^RD1Bk6f^Rk$hAR(@yEt> zY0j1Ff?Iv~DdKf;`w_LM{b0Y&ycKUdyKK7|hwIq#M=4$Z5IGz z&gYeAysd5SNW)&XsnkTR$9D|IwlUZiDHDbU+hXEr?9=O>@KE!Q zA3y%ZC%N^CHa60jCAshMG0L3>qixN{-~OC_>8(5ZMZf5m>l2^&l{!DWq3`=6e^9^d zSNs~?xcP!E&oBIb+4+5Ws*}@G?M_a#^N;v<{)=My{ddFMD}K0r{No?julx1iq2Kp= z{BZjNzhD3B-})Q$FYeygZ@Tqmz5LFr@{eA$9^MCg$X=Q>*L#A;as|xeF{F5EVq=`81dq!myT)90|gFTRmwN5+KC_E-Mn!_FTMDpA4;dWDY#)vK3s5eavCiO z9#~KPEeC(;oQKYyp6UL*d*VlwRqpE>pS4__!TyLbZ$~G)%`M|aF1_jUK6V?PeLE$L zH5PZmmo=;nKH1fL7)wl z)@x5*(;H9U(BpcjSD(D9xBakt_xv5b{KAXU$(5e&p6J$%*L897R6JGLPpRZZmBTRJ z(*_EOI3_tAj7!~RON3?GkcJ*;^MjklO+2BFb2>iUV`|1j?M}X_u^P(Gwud9vMvRfa@#MZf^65|N{k!*d z`}S?!diR!Idie!?*LVMR`w#2t;!>wKZrE;Ww>$BDdZ~vG?&#KAU(>s9d|B_`d0Xe_ zPsAxz?UZkBue_pf`S`c!H~xm-q(At3{#pIc{@@?b|L(iLQ~y%k({H}>RlRciEy=%L z(B>%cBE{?a!|8qAfd`KO?JTFRq~seX>0A%^#?&^(ALlxzcit>5N+DSc5&|=B%5WXL zu1R}Z@tSpO^S$eu4bWxt&Viu~H&qha^+6#Y7NJ4!XbcD=v~u1sZ4(pNf@f|dO;U#e z?bEY0_NkdUyZx|s8}K1)d6uTf;zt($=%aRg1KR10`*(Hw>HFH<*y;UyXS%q!@{75o z1@q1y&h!8)UAmimnDw_21Ksequ3a`&sw(%n5Z~ZbV)&tUp)>!jOn$gv3hm70AUwX~+JeYUsy`+;Tba5y(>bOYq;oOCLT>4v?BY#8nm2)gr*0_1&R3|4p zot<4|Z|D}^3{#@><-$K!ysyVM9_ZrqOp6~{UwZUqy>tGymRj_#A7<|__w?%7SKa$c zujoU5uAM6Xz1qozms!LgFQ>9zi=(kk=Oi`mlWDKR!)1p=>V}xP^I(LeF)#+k$m8KK z?g{*A%gEBN%GhJgO+ao!t^3zFMn6`;2KW5g8rHZ@F!yngVqwfzRI6<^=ypSIuKPwm z*ii#sg#smvit-1Eiw}+>` z{5v)2yZlY9{|AlJddm6~xh>noG4mh$?2qa8TetPzt@m{M)@|Lrb63CTpZ%Ts@Q1(I zszoQeQ-5B(sHzj4`7f`peff*}Yk&DK>3{h@{nzy`{n39_|JMKh-_lS0!ynY$yYG70 zD^-=sl^CB9AM(TP6aMD*9lzl>=nwug->d({ANqs(H-E=>>VNX$BmI^KZ|IdfZ)rI{ zKYZEd-f(W3e(@%9KJE|6!-jJT=NuYRF~{uTnCrN6)Y4eO+)I+5nK7p@|a}y5dI9hx5vBe0oE&y{M@^(ZqVgTHV2_Wg& zm>6>m4a|B0p8o&L{RyxoS$f}x{lAl$cYE*EzI9jcJ^Ku1fB}S!07wD^CCGvn(;-V? zOAaYaGh~{CEQ-`ZZ8RlHVac*gi40pJDTS6p;1$S?)qq=iI2iAW&cG+<7Sfg$>IV%QLE@lzz_(SRM>{h0c1 zX>uA%MWIMVUXLk46fJlIt(oba{e6A)_M3X^;I?kgZYrwKt=S#jJiMuma-z$_%X((` zjJ|*4hxGozhjk_{N_=wMD;}r;`=q9Pg+!sJ+s$0M zjt}&K?bkKBcSB;oQGa#)Tpv(aXE~5>qxlXHDcfeE6B?N}KxgF20H5Q5v!Ag6T^OKK zuYk{F9uJE3VqLy(y)X;ti?P9Sw`4HggL&)0j=PFsnQf3ClbN@C4YHs4HQlj^>0)KH zW@DH27s{2-2^-txfoFosdI#$Y&qrif5Od@u9_ZCQ~L`hjd0k}Qh|&3FSFjfbkrLcyPg ziA*U(NT5a%d2CJ7sKDO+ZtM*7*nY6N6!=z!V@a5+*O|_~tVYKnoQjk(h^uDo4T%~u zkBKl~W}Zft%;jvl(1YDwJ)G|7_Wm8B)N06BVVYDddRFh+Y2(z(oE&5_XSh3sJAe7cnhsFZ@R~(dx!`{ z&vb1Dl0X(6hUDJ1{SFx4mk3iZZ@b`6{2-<>=<%03Z7udRZ0c=59NE|}b89m0L>8T_ z9vKIXul#KcpHYX```(Aocuk*U_I!^W#9(89Vy=arG43Gu!L%*<80LGr$Lo62>UtP* zQu~gdyr--Drl!YSj@YUi4Q{`xTd&{NTQ_g&mDk?TE3dz)7vK53E?vH+g6GSS3f4H! z`Obp}`s^n^r9bm${(`pm4zRteo40rL;NiaRZ|~_p{Ez>%zWjwxlN|R5zus5azI2Tz z9=yq9!f$q$^p1DDTmL90w;%hFe^mee_k64V_tmc6ckinj-hG2d>M?Qpcqecd{)F^6 zo7UK`7roc5+w(N%^61h!t>tx@X-71ybzl_;x$nQtR%&FK?y;4ojjiag{nl8M>Q=-N z7MFbukh$2u<4qoub@G+WL@zsuJ6$X0p=ZO(&jW+=e_OVv9sSboFX%74@fY+{Z~l~i z=8eChU%B}k+Fwo;5lWF*Y(XOEBS@k{1&gF+aO~NzAxuTBKt4y;Ek(8=Rqv1d$ zG$LM#YAHhbYTA32;O8X88E6v)Wz zCW3wK;tjb-DaTLX$Q}*$_%L*z(rn|0*Rc-|=lMTOKjbtzW!{DTq?l;G-p6O5GAhk# zem5YYEt;8{w9q2va&i-&hb20o8aHsXKx~T#1-p&lkL|fJjn-`byQA;gl8LC`tYr=lUkAui9J*sUZ_E8?yw~}blH&qiePekwJ z7|2%rFyHIIJ!=zKJ>qNONwBfOasu>|+>3N8({O<#QVElsx0=tCd+ zfCi(9B6wbkQo$d;2;RSUS3my${Yh=_9>~A5M+%{0l%d1fLbvWd)X)6P&uVw)0c+E( z02B;(OnDl4R!ytFm=CY1#C@2I#yPpY^PTU~KlZzSNdMZ8{;2-F@A`oL`E*b3eeg96 zAM%^qacB9W2S(onw5!n$_BEJ(JTyw{O8V+CuZxao57t~C^(5cRZ38$KNIf>qoERO! zT8x!@FEj3iV6)i~dNo(Q&@wA~Y`WJ$=XTe1$X3O6oz7%0&orBxH@$XRsoDG*HoiJ) z`OSYn9_oME`D^;+dw*Xy4sPg`og17G4t4inTYJ-kRdOId$p?*Kw#%Z>h$K>#l}a}E zhQZAFjOO*@&Do2F6^1<;I_~6V{es`A8jeU_Q0|*)x`MYkJg}_+N*+Ry5_8`T42hFl zYYEd8pZ@mz&s_1_UhCIzI%|{Lf(|?0l8)KWdPi&fC$&2ING#XZ6^VxqKGWeErYnv? zhcsU<xXEq9_`)v*N1R46i*K)zw1w)8PNyk?g5op?3Lr}}0~iGJ(Yus`-s^>eyjB?fKtUtk9g!ZUdU>jpg8wG3l+yCl)IjQwhYkKHqiyL3# zQ)7)7AJ*y*{@@Sj#dp0=RXLEKlOk245$Nn6(f9Js z!SQ^v3?5MKliRi(P{%?GHo}{FO}FAT{np{H>W%3QRb?V{Bm4U=el*1MzgL)(5F0Zr zCD121In7Bo4VUnFc9NX;iYtz9&&gwCR%3&yqkWC92v7Xn9wS`%glUR;QBJCHmKjS_+- z{`M=2Za(N?l~UGafBJ!$=A88E{OvuIh=REaDkr&y`AW%A=r{gOY~t#gMZ&m=Ls8B6 zYTCp_gi+1wZZ%A*28F)5{i-6Z`(X?wd&+5$Z3i4Vi~%@C0Snm1)aN z8_XNK4TI@kW;z23N+x^VithyGJ95>lh5;C|osoUTz%lkCa~6;jXRL%rduW+)7sUF+1B>W4jLAo<$ifvyCAOsMcxNT-NQ@^`?PU zo3_giR6X5eDQd|{?b_#$PHL^Tz58i7)Bb}8JZtT`YM89={_gM8`3qMRfn^kmR7eV* zi$=HKxTW2LL-o&()-TN6tweQju&-r3UuhrG#?SxFzpdB5_OcdJ`qK0&697KzlH40Q zU+~OM@^5aJ<>dDJe&|Q^Z~gA?)4%=RC-hHTsC2EU=~?gD;%HH>i43-+>Fin@9fy+A z0O}+SIOMBw)j`U*l`A?dV}q3^@G%?f*Q1@rTh_-gy$+}OVw=U_yvQ@N=CsDIk!uEz zAx|1Res9|8{4hs!3L~K1>{(RYH2Uf3lX~ooBhJch+P^sFW@32 zCBRnhBfT*xch$U^h{!fYaxziA0=ncRn9x}eirhCbUJ8r7(V{yYTJL@u8>}}@2_GEX z)dqiuN>mBD?GsY?*0)iWLL)v~y5lL!Ysf~XZI7t!gM+K)VOl~lb`qSEQ#fuQqD}h< zExCz_000mGNkl z_^~c+Y0rhJh*OkS{DXiyy7Hrkl+0#1?U*-Yp(|uYeeZj=$LqRG_ti0jUI@0_4fKF0 z&wz0cw(04U`0e=Ff8EY8dfwPPfEinizWt{;sdY)ss|`)=QOWPb2YWM~BPny+Q6quk{8wU@M9Opzm|n-qx5g5mN#0$T*4Aa9wXNb+xPmoHt`x4iqk`se?V59|N- z-5=18z3ZC3`}|nEb7I(zj#e{G)s=Q_2BWbc$92bGj>`~qB_wr?D`i>h#m1AlUe_|# z*~1t~hmPA=k1qFNWne)EmKi!W+nKhX!SpwR-rx2;eG)$|MsH`m{f*aU<~zs<0vn1B z)2_Za|Ezv#|L^E$9{!~M_Ri1hZ`}Hu^5)m1r4HxwJk>Kk*&VW(I*FBK68AHMoA5%j zkr$9-DyS*uYZOjiMM_G@tD@3`1v)2gMB=nIkgt*ivE(#TmZc&BTjk5~ixjlQCd>k> zv00J`#gz)nNT|eevPng({M22c$dqdX-O0Qw^9IK>KGKEgLS`GkJ7cnWcOv}#EyV@s^+q34aoW&fTwj<99>7@6YsVb${18!X5= z6DPoOi;P!5O#Ah`^#;p~d%5pZ%Uja6X}*`cFRjMX4*DQH?!=Fvucu$>y6E(G-9Pe7 zMklhdp<^>T!MmfDpAcJgG%9m8F!Zr|Y@MO!ZDX+PG_alFqz+l%m(>^?2YG%{u+L+) z4B930COYW+^XJF4q$c7u#3=V4@WQrKQAB=uzJBeBM#DPH8zDJ0#E75 zr=QRz?5|w8ti*nirRXkRy(WxQ*9-Y_JEcYHv9>f7I`-+B3rd#rrfobfxJ!7@iPUWb!1yIJ3^TRe%8 zEI0&dNKx9w@m9mmkiOk3Xb-wd{|?d{*ujNg*u(CHo& zxAZeRKdxUt_+@=+`rG>S?x*$9dmq=~a;hntr2i+Ic4U1Ru~4MVjgq&Z#3wZ=P?Rjb z(WuaPTxmEcG#Dfes-(g?pehpUDKD?Qc;?Hw?r%TP;cUjqg^iVD6d~oL0ug~NonDei z5c2}kU}vc1t42pLnSHz-2eezVNd3uixx~)n&lbx5tWYp?Cu80qRcSn6F5puUB)XC~w9OkQJriMw zNFe$cpqjxnB)1v!(JY?sx9#cg)qIeVLrGQV7%VMgA z6Px-gtJ}wmu4ZW#Wr_-h0?`(Sb6+!VMbvmwAY^2FWAmohv1#j00v*l1!XfKu1TxDq zZ^t$0WwtT2Baq$Y%QEA2u&jqH4@c3;M<*{EpOoPefr6s!i9lTRmwHv&{&c!5%?_D* zq*^yyDc9}S>E57oTB$ld&)7=X8L#UsvfeU-Y0K8&5s?M9wGDJ0D>%1>%qjz9TY6oH zWvdU9)Sl#|mZuxLw0~bI6}o(3Q|HfZ>c!`uVJ3MFcrGGB2@q}6^-^;_6>gpxX)+wh z{&#NP)tj%~(9N5-)bI?6%g@nI{11OgAN%#cr~DAouLz#WVVS?MY;0_(CR_${ecg^Pyg5VJ*|x*VbjKQ8#%sRI&lA6X!2O( z_!)3(3{9Q~%LB^M1XjKx*KO6bXw|^F&Z=H-x`*E8q|WkQc9OQQWyXfyuBT7(mfPNN zk~V)5db?BN^r}4mJZsA2g3nT4UB09Ti~HJMJk*WtJ35#j%A4nuBy+$guK9w11SmO? zRczXPxf5$k2Zu{}BVO>ERau5ApiGTeE2>#cOHOm1(?%lkv5gZ0GM7-OV9^fBk~bS} z4NfUiPFfM61wY<8wq;EYLXc|c%MQH!v04rK`BIC#60^^D{$`qQ=&SX&P+SZ0PMgv{m9P8?tv0k`zR`0%cK`&l9 zqbJUd^&D?y*UwJ0IV^QyW27^ak%}VmFiL~6)VLamrc{=N5^*yia6b#OV_7Bza?hiO zw3L(Ck`r4Et^NuVtC?bMv;q@ZlWmY^277QP%Kddi(F;(!th1QQ zHhRqE@!Q^Wani){lQQ$YJjX_m`CQRY`1M#8+pY)H9-7e#XXYDK1ae<(){Yl}nI2kU z&w+crTZTQY^d`q9Xx+Y}SFt+>i#(WqC`rvvV5V%X-|$G4B0M_xd$i zCUey(kLbi={_syf$bV5JEB791Z|{H?-W}b4u%qkOpVVM9$=ynMj3FnhnuL~8(%B1V z_1v@9<>}eqKhT{!_xOakRKDoWpeps?;kGt5Hx$@M@N5B-$wb$lxvKYl_`@m(BgtLD zUis>YCf|QgW9~rKQK6rR8ybe7rI zuduCfN#jRcJC=r6l|upDZ%6_;gaQ}Q6&xusz_W* zlALt~4uc}`MiDxk*4o`)=%70}ELo_*0-8()O2lp86ZVeHk|eHsAQD;$6uIY^$~kw9JPy;|aL83yAQTG;MMPwN>60BYmxfPr zWhBU24cX)@3GCtq$?M`-T{}C`d#|3;JFcA52d`h!3nZ{-FK+3B&tBH|ym(FD^}nhCgMB9Gl=OAiHj>p>ys>&?A?kNZ2(b#2}H? zs_Bd6#tZrzXlL_U{$J8O+?nbA?!IpA@us?cPp{p(sXIG6`M+Pgd3ak}qYc`x^rf9I z>4v_hd&OHiD7W<>-O@{oPiR`~>VA1s^J-82)U4GNnQC&~R+g-I2=mq$!!km1Eo7O6 zutrSxF+F0&?fN*_ua{)Mo&lQ&t>W~&Wd`#G(}qk_tzvcrBC9iWB2O<1Ba3pilDp$s zqSi)QVV$@d*442f=wrPx_>=l9Iu_9_8?1T68DX!3%Jd8nFjYh ztr4|lpxhVJ2J`qEtzez+ZHz59^oG66d@t{@jsrhd|F7MsZ{fGNHIGnSl=X&zV zCskGh)`#thL!WCc^K+2Oq%&vF>UVtqcPk;M$d@f^h=%@ePDaEz(4|XPR1hceOb0L; zj`hy>y+=>K<6S&kRkqIegL$ODn+wGwb7NJw!k}p}RxmA%sKLk3${G!aBld}F`sZGF z0?WwI>x~W3dQ-P8wl!?FHb-FMTH?3~xpB*{*N$Xc%X)0u@bz@-dixoAnf(mrd%3Y? z#)fsB<>rlhoq5wenD4=MrmZtJnC|7q<}C+2Vf|cKg$TA$;!n*6x;Hyu`);_gp(Q7) zG06)9P7{e_ljKCUw?Bgx3rX@{b>AFUB)25bt2fj+o2r{EQfNFHYRD%yKh*pDz}t|_ zSVM$tYz_`U`9w8aEQnL8W)&5jP6B^%xt~im?=ltn+qCeAuv9rl!mbe)m1*l43aBAo zfpx=}YE_)7+z+vv6vW3vrrq8u8g1vG*d*E*U^lKRZE(WcU>xU2$`^naE^p~wSI_EQ z*UsvhOIswgEj@STjNX0iyq>$XsVC2G>g>iq*UoR~oygyH?TkL~)CIj4`|o(}qCW7% zS$*Kii@JJtLt7K(h|}7D1UF&624$K1E-v?N$)r~W^XtCRIgcSCF;4;-1%E_ed+;3C zbf1@s*{tCnR8k5y0%^)8-dnqO^~U}UDWrqtA+Vq6ZQaw2#jCp2ys5Y1HQlJ8^``1X z@{FbO#k`0a&2(2aU_!}VaAh9R2`fuZdcya{4uDCApeSohZ-z9NlYACZt+}`>NKP-= zKX>>@Z{I9Ow2m!Dl#At=_XKANV*p!b9ptJ+gkr_55g0b7&d!=mCNa!d)TRxPtK#Se z3)Xd(87v2~DpxQr9laU@ylI2g#{gaC-DA^+EI3iQJ%G~Ah}Earo|K*BLr!Yn&Pi?f zwYS)BmhxXNbF}AQcveL@P|b;qsZ}6s*iZ8F0C(oxS$)^{ewSW+?paxny6p;0(S>0sx+4)-4Lb?1QRWPPkSV<~+5>9Hioc9ow86Uu&6 zEt7p9J7XjF(=Z}|e*ZI1=*7(;R@T^8@_52EqL42LqYOuVYIPQx3MHZ_U%kDtbv@3? z6IHJ>wyMYWGk+2+w~fI%^M;-_HuN&nhTgu%z07t7^XqusZe4dmZq`#`6VI8Ul_4Qs z9ksr+{nb1*v-y$)gO*jXOA-n;!zBx6&MBbeO(-Gv&9%H_qg}A!PVIx<8?bL$nFvY< zqH8p)lv0v)gpuEjeB&EB5fRkNVAQI*;G@0TM|B1RjRB~?yncM z^`i1=C1|^50Tx9f;Vu<{0{=PRNZki^{hU zGjcK*>#hA;y0g5g?fQX+E$V$b+@b7i1IIDWem!HsI&I#NjZ7TDy4i`Y92s?#*J(#)WZzI^dcCsTd_=1= zZ?LR~lf1(?{v&cbv|&uWJ?Mf&^o~8Y!mt)5+gN7k;`Um9JKtNveRI?zewsKd^}iJ^S=iJo7{GFj!(MH9QxdXBbT; z8+!WrXY_yg7yfxo#v|5psUn4jRgqsBzwHC>)Q|p?|BSZIUQ$gz@7{h>zw!6~p8owm z`fuuA`Immb{;U7{f2J>g_P4eD@D6cnMnosDqX>pJ-O35@Ly^q_g#mQ3pw9uaydh5L z?Bz5;~^8{G2kJDLhuwifCW6KOZ zZ#&aHSl7#p%|8yTH@L^^{=L0rJ>BDzGI$DFYGSc2pqXAa={gpgrak#H)9rXeV>Yv0 zeq1dJHyH9?G$>dQ2ZxKiv2Ah^o3OE0Rm$_}1mUFNlU!9u5#dU{hQmrlS!n-os-3+< z5@fAJk|>cC1@Uc5lqMgg1a$-{v9TkW&AhP^jj+@T{&-Wb%91y!g%+Fya~PBjkYJoF z{X0@bPcV0fH=QxGE z$m#1@lGGFDHgthR_2l`9u568Tg&(6YlfbTB*wWKi&gltku3&SC)7Ry*o4QJ(yMF1M zo=5i_$?u7?V?9G+dlq={@`j$fys7s-aZcB5e&m+{|K*V~O6@FmbZhojPGr;O zP->EVTarSX+S0?~mi${Mwm)fTXG$ujBbA1H%qlF_u#~2y1 z!bX{RT-92(_31W8x|V9x_ecsv6!llL)}D2}{8W4t=2Z3D5k|DFN3?jo{m1&R_3=@g zlbt%r+oNrZMPTLxSZ9#d>z)(W@rYQh^#`uCu#o}os2yt!tzucswCjJzG2f3y8$1_R zuU=76a9p9!u{>T3q z3Gcm%2;F|`b^VRM`d9Ub{_r2u-}?Dq)JtD_S%3X+{%!q{AN%9_)JJ|@yASWuwYD$0 zo9mSypcUWS7&r6+g-OtQac@_AG%9#5KYZ;f=#k4Lf-J_oWvG37GJf6v5^wX`y*+lNA@)Z&Ch8+=^ z=RSg4dP$>=SP=9FVJ;q%wZ`rvVJVRlS|r-%EzX@=a*~|;FPRX-?Nvp}{th*y{{`b5 zmPr>khT0-|8($=;J#}GI{!1S3;6(NwJ{ev=H_^58TXOO_yEW1ItqpDQz)eU%gR&rL zmKu$Q8jnZFC)%2fHR03kcs$ewvh$l`T_gcs*c!`;@Od7%=SYt4BK|urZRlxYU!V_X zh-nyBC36&_d-)#t?#&i6&G|&@H%-q^Vy^sfdw%7smV&uQ%xp#e*A}Myrdcx=v*|+9 z>0A%@cD2VRmuI)0(N=LzukF3gC&@!?4K|dRwF<-VUb^;{bt!Q*;$WN}2fA003kt=xP|Nv7B5=y90k7OtXgnJ0nP;BWKmNb^ z5&elj@yGQa|409h{)_+OKheMUC;o)q_5SZrH5h5<;eCDTw?3l(;!pqAdh7nS?jFo^ z4ZTmV zGq&7d+OSTWUxTdjEM}s;1&cJ(GR?J!d7i{3mYV8NzqR|DdS(B0?M(OC(B>+Nq>4>+ zG%VOarOmB@yiq!t%t>Z5fSizn1~+CptFzu4U&vSRo~w^5?b1%evRxQq>H!lkRKD`cV!Y z8MQS{h2+?cxN-$PSu8i4klXKs=!nIhB5ux+>=cUTPm#8wenV`z6ZL7qv+RW3W7)6U z@?*W;uHu{O%435%N(Wx>a-Yrj4yKzd?Ip*t?T<_J$W6m0%Xt2p6Si{V@h$9i*mfq_ zH2VcstuV_VXVtd$NHma?(Df&;DR>qdo@WG7N}zDyl`jHC3QaaP^z3ub>D#~aJN5lP z_`~|}cYd#)c=~x&JU@&1TzB5Op`ZTgpVgapAF%%0{@K?r@wc~k^~Rew_4j}A*R;=P z`P_h&J#-yx*Hy>#3$$l@+Y`9)gSRHDc!|Em9>OTrq(|g82)8oyOstqpIHJLfu_GCJ z-gq5sW9V(xvE{a1mzg(MW-#4DZ+{Y7Z<)dLHw|q=VSm7H*A2g(?52nLNB{fjmR^gm z=%dqL)vwQ7ri(wpPOruZO(J4+lv;l^u|@yqP+x4^v)GRhi@kNuLNC{wrezC9G<5L?nO62MhzohlHB}4GF{Ys(mB*keh}Z8@9N6r zir&5XK3yuF)Tr6iMLnS>%BOkVImj9Of`a3?w)$bHF^u`;pVOp6;@w!Yw{ z^x|Y>#i`I*pQ<`0T<^akaHA7$U}c3U)5g}BF>TyKFE_ugv)o{L59|E8t?6E8e3G}! z(8uYq?Rv1x^crp$j71)r#fFASyivcR|L(27puhaqU(}z!@&D0Jy#7=A`)~dxr?Qz% zSS*r1Cq{%8YcX@5v$F@#LhN+Vaf)NWV zH$vXJ`_wrQ*|0Td}{J5;3hwpkS&Ev|@AfL(e&kHLSj#ea#VD3V4b z5zMlkZ7VABw8rShB<0JSWBG3zzHsFN$>hAw4l7;W9O=xcFX%d-I?ql98WyF>qF~+|72sg-9{Yk*t&q-qFTjaG zQXT}?NvM{JJdN7Qj6_c*x6N77^S#=SVMJ+d?9s9_=l zTpkO!<5#* BL%EnKzMEx%XZ7r$=EVJv^{`Dc}iimx+HatV2%5SUtA)5Cqe{JBr) zzyEXpjsD2L`bYI|{joo;pZjY+rJJw4q}l915pCQB3GHzIK>o{axaE@9S*Ah(-rm_) zYHB^)-q(_s;0Q~F&e*+CzU*htI18Ag7W*lLvJ%vBP+0adLPdlMAiE(CTIlH&R(GLa z$xK^p3?$R`HKqymw0s2>Mp@QlM8}Hd>jLxkTbG?i+s3xNuBR=x>?Cj5X<)k^*7cT| zC!Wb3c(vB8^t%4$y}zypvj>{U)%iXy5y8H8CQzLCWdd|>wMwGTp$|_3#8l< zf(@#arzP7^k%zJ_K?{u^azl|f+{C6>D_;cjCrh6kh=eHICG?QIUfbv9TW^sp7YMpS zdzLS0#5jX#-kzq@X&VO9EC;6)nvgWgqU|Fh`7}7^ccw$^hl3JP4l4i6#c@?=bCC4h z#Vx(#>IJ3IiE^bu1vN;3~bcKX+?cAm=p54&dGaGy&9BXr9l#`Xm;+TWMfD=@u z5p6qJIe{4lB)B0m%LgRX;c!Hv8*q98@EKGC;tXZmF}m>p8oSA`(k0ru!spG)TVsux z^Rt@+o!zW-<;+M|w95-0wdRs(a*AD$7 zWzF{y-Qxs2C+n(zkPzLl*26$Yd)pL(c}!VvEwYW*OD3pVt?O2YXjNM23Au$UizA|) zN7f*s;~vrVv31-n9&SImWo1@-F7}+YTSXqP$#v@- zzjLw9ko9Y_WMMY6#tMUlJ#YFnu>Lf;Wql0OhLg5mk6-t-UC*0#tR7DCy`0H*F`Ji4 z=iiz)+SiU=S$>6^C;8t!9I&~cJL`?P66+zKuF4{5gTz*`Ia*ebAUxqd_WPuj;GJB` zvW@CRVR=L-FD`+D`^3$zIc<62h#MZr1^D#k#bLgn4MoU(Z2><86(FfZf9A}lij-8Q zLS>%-DThvRFm?13tYGEXyN;Mcio4Z%G5ju)*sWTdNS zxA^Q=>OAyWPG1)`2HK$Qt7j&<<|M}NWoI`h+8mFutN6?~&}cB!XgHKlSL4xG!_iRH zV9c9#=~3k|IhBu^sc_R_l3M>9>i_ko8J+Kdph+9~d5PY*33^xU)0swhh}JmV2eZe+C@-dOJ5d{ck# z=l`yL@~{1E&3J)*xIfj+dwY7gH`UMnjbGHy{jHzV!QOoZe{8>;FO=9@Xhu&z`<$M6 z@daJEc9my$kb|;?=+c!dTJTdy&0Z$YUu2c3mdG`|br6u*4w=LyTH7qlRV#NNGPJVU za@omSb zjM}!u75IcPRX{KKeaHXoloy@-+>`+mr6Q3$SlGl6*ObM{Fmv4LY|ih1Rx~Qv(J48Z zVMb~A4XV(vOsW`HT`x3YE+&IY8^feaoXRe340M@O&}3L>V>Hl(vzt0ca@!aWNjL+I zNL)jFM!*2N;sG0wD260B^8=DyOONPdMIs&m74(24H`H*1+_uA!hJ%p?&=oKQMowyc zx}1QwHpbe5zQU)+cRq1G|8@T-FKp?3PoC4eE^q3})==l^@5Zp?1Xq#3q>_0l8CMDt z6%S#<&G5@WQ4~y1=#aVbONQl3bOrViAu-?V33(&9v->drzwPc!@9Cwzm-L{%r%AD) zX>*uAKc=QslH*C9W%(k6?~%!G27-3K8T+FKJFis-I{tAe9;f&Q^0yoRWSG9aWB$Ex z&G?x9>&tC=N(7v&;a+e*VZK3WBiO_6c;nV?U4L5mHbz^o+xE0I>!4%z+ZwlHIIgjz z9!#~rIK(65B|54~J^9qrD$9!Jyph+q*CATXriZ%q=9~KQpZXihFSL?E%5ZQv*8vIc zfA}juqqp9AO|$udm@Q6gGxmTY+uXTzORvBDif-PxsagJ8jqG1o{nStVC4Kt0e>t}o z5!n_orC}+$|Ax%A)jErX+d)C;6i{t}?JMYwZB`KncGcO!+pw3;OsbU^|L`nBY(#O*@n!g|Tr zHYOUXC4E|8=SAw@gqDu)xERf5Git0TTN@)?I=?0IRKBgasv%(b4a|)pfX&HlR2JGC zjWpuH@R+yv_jQ(2sXskVszi)N8$3LhNMufCPGkcTR)wE&4^>&IB2i>)x-6Ni3K*!Y z1{#p8s^LU~5is6RH8MGg&#v% zvTa1(5cc^YeP_0>H}>Ars|T;@#^DV`B;D5QTBf<`Scq?rEy&*b##eMEYuIb0lm7n? z_3gXGb=v$%_(uAZ_C4S91b9WS2!vhvM)A?J+_N!c#*Sjh40C@(w-VR3wcKFdV41kf zrVZwMeUB~AG$)RXEdVlY2ik*WgQsS#Sk(6q3B?i+#neeaEa8{qDd>$?fH~7Tc1#R~@t<%5u*>3#~_&w|kpZmPN^tIQCVQWw>Exo%x(`Y=^+1c6F{d;$L$vG4V0{JOnq9)F__Y+>lw9z_t6((}2sp6TU1 z?&XieeSBj>Z`b=9_h6lA+ZmfTZQS$g*tGSA^-dzMW2u@?MB^CCo7a*z_XSBJF}5NK zl3LA;#D>p!hldLt`Y(U*qs)-ay&<8v$*L+8K`@w9N-1ZKMx$XM;TGcSrk!{yHrKLf zr`NKE{$%WxPYfr%EJK)5sOW9sZ31dNOkl76%1V18Kv$M@1d`V2|4fHY#N(k-=QHQj z=A_xsH}|r@c1c1^bS)tm(9Z&5P$Zql@9ePDW)-@$Infgr&XTx?c~K7rl?E*CAt$n` zs@juQ+2LxS5~zTp9LQk4tcFV1mX<@8gRv?SSUDW4Akh_BHq5>Q=&Gtz4Jz6J=e9;9 zC6X=)Z!#WpGK3!tG$!e7aB4iiIo30m&*@vQ`)^`y=*roNCitf$r6TyWI#%%dbjULm=*HInwc)NDT zoH~ZSc*vkmAf`S5aRtzHH20%{T`%yq(8}V-#&XnI(_?j)bwZf&n#{bPK0k(b%rB|v z-9M0B036L=&{MW==`I2SQ}iZVx^i60T02Xm!;uqOyT&Yk?zyK`l>RDHDe4%-!{RTpiy4ykR} zCV(}dV>0;ursXKMF(A*S&b6|S<$a5t_!#PSwzIb&@gNV9^7l zME?`jkd4~+VZf$e6oq_w)2-{8g~^VKV8Ld+cR1BPCry7!^D@R=eH_zcHu|k$!3n0$ zoBTsgWtuHY!~sDV*IHX%m=Ch9r~$^HBj{9)@Z#An6QP++_jHVge(;me5FXGk|FC#VpJ+gP_`?vDT-1hV=RejJfzJ5PyxeHo6v^C0iS*+ z+5j7#zPPFPUOl6$XUBSi(_2v#ity+g1@m(5%$5q~KhFcaON2Fn9=k?b@ELi@z4bk_ z9V9P4(g80B`?CX0`21PXr#ti8x7%~}8j&sYQ=6yHA3T934v22AD4dgJ+U zNB)99lw4kX{sl!8ISE8cN=2av?-0QnFL{ZpRp-bJ&+bTDn_C(VhDx-bXn%KSrhoeP z{U3GV@(W5up-b1E)DQg7@6;1lE~`kyp<&GA_pXX(W;87H!4JJ(XU<%ZA}L>eCo_|~ zm8m0fH`@-9HC+YY+O%~mr9p*e`~iK;|n%;CyEhCY*0y)VG?Q{H#mi8&GS(Z)iUG%-IafA}JCs zbkH(Is3F8b(2~z#^X}~>6@?-tPBEnd zi!3)0p#%idHaRv>T3v$_x-cGSR3$#U7TOw>*f)B|wTpVslUMZA#VwsfHf9orgHn?b zw!?~KS*RqzREDyoKk)RSAn{~Kg$hIFD+Rh_n$6#dEDB^%D5X-7QifC%@BlUiam#9; zl0;b;mje~}l-Ah}Fg?I-fPOd}YB;Qb0ZDhF&GAs@&rI|*Z<5b4h9^kKK4~^QJT+Nq z&O>r=FjItRGs*WsTn$ijer3h5dTa2q=H)?~*g^{b!Jlw20Z1%?BY-_tFgeDrGw#$n|MlqH;MX&F8@k8E zu-tGm#L2!h?vo~`^EgtD>mCstSHBJJZ8uM>b~wS^f}xm?4ukS7GjH0^)4iQ#>(I+> z7vWmO4w=mB&iB#~?NShzeL$;%O2Hq?4g15L{K6}CtKbvk3oky8w%uD4Dbse2kP^?~ zXf#m~g}bP1R{#JI07*naREB&3x$?wSUFF#xjYliH^IPZi%=0g5$?xVVN}auUS?~V9 z`}9x#<3FMS&tAo|7m~(2V^3V!(q%qz{;nVTL2YcES41e#xysly5Ik#vFx=rhYY4#& zpbRbVng7Ntv#WVn>>9a$!f!gAaw1&hMII4y z`%6w{7-gG=d*xCZodL_1|_bdimFGAuaV4E65om-UY8SK1^;%75bGSq-t< zBi2R zdN6yS&CwY-(e2dR+AFrTUEU_4E!3o?j(vtCw$?8%mUZ5=Z?y4gI?GSO?7!y>oMjL(=0d{@8o#1(TOVi+S(R91ZyEOb5tLBNkVVF)!LA@SMy+vu;{d_{#n+8b)g9Rc}iLzaqSQ8Ysrgq z-nmH}&%fvsn(Z0|dRu2i6|{Nr;yF{AE#}&Ju%p{=-qrrze%>2U==C>W(_jC|zo@%6 zU(L_;pc?7w_3Qe*|JV=e`@i=e(fM-|J#po{u3tH$_rCLa{i}cE$MoVm-lwV>+TBx0 zlWsX^Ke7w~+fO69x8hr(LDk!|65(Y-H29#y$0aK;dfwPzn;v?bo;N;e)AJn;CQ0tF z`3_#4eyox3>DnX?0p#!3DmcE)B_BwGcOFAWEU z235gANFui>Cpq5om9NOPoAnJcSdj7}We_a3hNM=LKpkvBk~B7tR-RMa7Bt8njH+gF zoplIBbg|*GEiB)<>Nl+C@t{Mzf4F=o`U^viZGNI1{J;|8HB<-`4 zp{||Vl>bwNE%bSkM1M&3HQ>4MoGh7_lGrutWzK!ULPg?UOUz*no!A(bxQCX!G#s!V z9WtRmYoLKZ!OMgHkM^O6W;{K8j%M#zdoANN z5JwiBhf&i?xp`q0SjFycUV|)Jt6W=e-f~n}wN#ktz&4h;U5f(GmS;&sr$s=sXu>8E zYk5C*Sbt5e*Gy0&rDPEg4TGQ@)E_G#z;QFJ@>*>8VxFWuX*tBfwp%aYQCJ& zNE>o9+f9;R_Vf~4J_uteX`d9vC{oDWMzpj7xPy9)J z$9MjK#*;1VXk4 zWeg!lv_9o1Xe_iK^Dq>x)<$Nswyk;|zgE!ImiJ(tp;KkFuFC={%WP*1yXu+gUS`^0 zyB@5|;L1v%(-}FAHKrRT?C$(-{#QT>HeJ8b5B=$l&x@NRvdKm%_D=0>&vdxA(Ds8l zZ}fE@f8wT3hNZkG*KB|XhjT(lo~C|&Fv)y`r!(k?6cI`(RC3~p2z=DNCAGADbKi7y zS!S-Tn|1>|IHX^NfpiOLS3k164 zz7&;$xi&9k3T$XQqEJN0@eBbk%MArK+=z%$fjlK}ZU-N*;}+->Pyz+^MJiO%&Uif3 zSx#mCpN5_pgsw0ak9$~E677k}E3qGxrBW0+$9PA>ffmb!d=)9FLg%?Ji5ChjxDN{w z*@9#@0}iKi5}i29N^d;8tzZ1wuj{q_*HuTY1MSKGr-pfPptpDVE_Ie`WGCs+;}j?5 z@X@)PM5s=R#MqRt$2p-q)ergCEnPg%_c!g|`F`E_rzu;%wmwaNQr32?wQp(H29}6R zc4+d$*jlx<@_t~u6`w8D&1M7cHLa`>KEP?E-{w74eWRAOKCY$3a9`8KG^>MWXw1(5 zmo8sY!J2pXoHuILZ{y^K)o?h}Q_nuFXZh-qf@g{Dw2`_V&{)Hlq*N3tiUH%HMfNmn z&zwE4cf994`kg=Yd-S8f?|-ZB|2;p#r^$C}I2w23Y9rxc^J4?E%s>~=VMmgJ$OR7E z))17AcISzl$H8-UbAQ^#w0a%zaNHbnT@Gy-L(G1rZI@hS9}J8$5AB8+zi6|4JJ8yN zzUOklTy>IOXPKcBJ5G*meqG+%8yl?e;UsT)?`xgGL5(|kBQrMi6q|0?Z1(l(ozLeR zcy_X>icg9KiDu4bRSgpxVraNJ+s0p3Ud-Z)AZ4?^jh8d2LMjtf&z8yOwbxZc!v&02zHA2%9K2=FWLI*RHylUqs9rBj%-Y2pbG98+OA%YjV9E| zwYqwX7B^mE*hI!Q!sQrk-jH=Hj@Hjy3z5AeGt-Uj{QNswL4Pk_x~Q$KGs46rL&ILQ zB&m5q2Ry$Qu3XkX_IrP)2(9p+kd&Fwxig#E#FxU<$ARDM@DNpl2^;Mb!%hVAfBzI9&k`-mje>M=$>dOHhy zc`akE&(A)Y{}uJbX1+JySH*_3xiQklMyUat9WJ_id!{>gXL{?+1CHr)HoAt1Zehu0 z=Dz{y&ycJu!OHj93#~ChfIyJ|ccY=x-TFj%Jk*IziPe&@4-lPZ)IUhyB-=EK2nGFs0Haq(2HOG= zmPrcaK#q}U*C1rF9*kWC*fMBY4i4-Jl1xEg4Fm4$nT?4qpPlGio<66Gn*$9=KsA$9 zr6SMsjBmvSzVg+`5xF=1tk^(@0-f(^qJKq^RHOoZjc+3=?tN%FU&?>$bzV0lvjcr) z=gWF!|7E>)@QSu|Ps^fBYF>kGq3^m*UW7a;q7g)=DFQjAL+UZ2|M`pCrvb{Nv8_8P z?F?6{jz4MkjrcrKCyh?VI?123e>*%ey63{yt8Sa|n$EbZvJ(4_JwnaeEr?7vC{20& zKxUb-p_R9H*Sw*BzD;K!fPF#uhGwH3Ub?(*gi;D!y?RY0pXKF?xymsaN6pKr{fe^G z`HPqJdw%4H^j+Wf0hOuDkgz>}Zj+b0QvcMC{$9QFJ>ROT&%Y>BpR^=;isY|_uhg5Ucd z^7Ug~)9SzZI=K(bo_OYuyt~NEm2xLKo_RU4F=b^BYrOsJVsLD$-VXSttn3`uOphJR z(DtaE3+uAXhONky#Vu~M-8|4|_dcb`u*zNWN#^iyssr9sHn%EHC50Y5oNK`kuk%@* z_aKim2r%Hy-3uwf6bM0zpza3P&KW$i1t+9A0I7zP57N8{BY9Ik>KkEOrh%#fW1HB) zEV28~V6d$%M9t<|v0(T1_IPWXBavznlN73|q5Nz3%3oa*-H3l?*w3vBjP z;!SO1s3$nd42n>xT4y)MoH&MT-b4#S0De4Jv+jps$|CB2u2)1)pc;JZxC;kk|74^_(s^zH>Wh zFKNbRGH({z8lKT6@IZIe@Pg2!h1&J(!MZJTEjZpchEPPTnK=$@M(c89r=#+-gxCJ@<~nkid+j6uJH1+(~iJ>G_)pJ#O+5$ zwA%KiQ9}ZSl|1n*s)ByONQ(T&|B>{?tqqN;LRUy+7dM6)79sz`#23$<)o@U$C=yU0 zL!R&>Rt}@}D_|HIH@6{CLeZ5b_pjz5%d#w_V#jZ=le0c7j%~55rMlWN4Y0H+gF?YL zBNe7vn$ARqPRFS%cmqu&-Bi$TZ~UFGd`Fepe!wPyMA43D4t zk!X|RJLLXHggmD;eW!>a$!5WPjCdhRg&jg+AJ$NfK~*K~&kuC-;Fk85yV_pf*Mstw zrsaVa<)N14T=~CI%U(EA8m&(Vf=7y5z{-uU`L$-PPRHbyiObjk`M5S1qqUF1$v*XQ zPFh-ytx;C>gs}mkQSLkR*DJQmdg5i=3ycj}xK?4eifg@LP3<|!qFkZqF@A8XV%D${ zoFq-tmA ztK{X)o=X<_jW^%YD=**BXf)L8uiw!Zzw~lWkOj|EM2H4-bVcsV5r2a6vwl*9N7D!4 z-Zd*du{(P2@IZU)u^ro6_v|s;``g>Ft~8&rx2?<>urQ)+s8foS2CEowo?PgR9mlkB zZv)Smm~@DB8ElsK*gl4JzPC4~Evs^WP1x388p!Q~9kZvWI#dybu2$Feu8sHU#d9yJ zNTud%M#E9ThE=QL?R{hHWZ_^f_%9cT_C_SNicM_DW|&fl`%eq*j1=(Ru$>$|xD=uM zC(H#jHX$ymHmnumKqO41EN)=Eowf#!XYei>7(|3pNJUv_&hI-#O7a!aV$+R6Gj#4; zM9AZJL@4>>F=h-y{2Mmk$#9^G@#L7q8Vv?2;XMasQApS%~cl5I>ERjINp zH2`mnN1T`{U7i$r^4u1`Ay$M74a!nQQAi3U{zNbqx;5u5HzJURs8m2#RV87=G%)`) z)6=L(NfE()Yru(5k4x=OXS%=tK)3d8;a6!93(XQI>2%0+1Tkv))P@_h@Uu+awN7^; zH9Z0D>E6z~X=Bv6^t7?T`m8vrEH>BPKvU8wX3Ccpy@Tm2>?+H9S&yx<+yHIV4;J)?>r7yYRoi$jfb2 zRyu#-vR-`G`}8}0_wUs|`lJ7hzU@1|PnWMese<+2I@2C&p{^6H5e%W9`+M8FTKc7r z_F8G6F=c360Rd2Y7IIZqG7|=^`OA&cp2yqjnx@vBy#s!KM%R^A(=i?DTI@K&K%Hin zkRO%Kf^i6TM_6vskm;U)StA{qkt6I%7C?W!_ONNE zs@9F>Ref>!DZROPLw6UqbboP2w-0W!DJ}TSSZQ31H6Dz$y)d(fUrug&^t~B%i(MA zl7;CYko396R-B}U8nDR@*sw!^Qg#XNO7WIdNaVa8_IJ zo=>b8N)3vPBZ3yCMBIeG?@uFfznAog6$LZnRXLDNXLE6j(KXnI=8IYfeE;9&EpuAW zb$5P8ugzX2p-r`u?x~4}IW02AT{LARIhcGkuHFW$+pW{*o4UngmW2(+~y<66ebI<3+WFKsZcT_iOX@pP#v{bv)1>egW`WX_E7Q|(~=43zPl)tet z(Ajfil{~XgKJg@Ljr0_mW!#}#o=hAtutqI=FB+_dHyX+3jSb9 zyDW8Gyl_qzFP@j`P|f~v?b>Ded5gd8GBo0}W#7U+ z00p^Z+2){>FV-hs!REUpfpcQ!M#gm zr8F2R@w;If43&l>6+r2KAF>*#v_2IofI*RTZZgnTB~9?%WX>2Wx+E#(d5I_#{IPw_ zP4PpW@a2vu(GMs4uyrKvhm=yNDiS(zFP0isMgIM9L6&>t;ahrb=Z5^xV|{A>V>-~D zmWg?eB}q+kauaQ-zhaH(=*ar$6&*gwTYQ?Vu>uHroDgkUnOfh2RaO|F^XDRHt8*Wa zx%7chF#=0YKvuLe=Bp)K6KG9kNrpaNW?W%swDRqoR=kylPHr+o&v*V=Mz!+m^~iL> z#-i02PwGzLPxkpFpX2q_Nq@_aWVu(JziES3eKBQ8XgS)K==XrV-~%7{kiPRf{t-R# z#1o3d+QpwcjJ_=?LXm(-;KaSJwVY3ZL)JL^1?xI6ja(_WX1XW}UAl5X|Lp(fpH{;E z+rIU^de6Jw#plOKwrMT3b_McS;~5vF74!ty!CN6iuzlNGG@bN_s(GpY>h>XVTa~R% z_1LtnAIDo~8-s0PG(I}xKsB8n9i)loe zc4gkUhc$lPj2YBx%dcu@xufm*c7`RNfF2xdE0w|KQ;{$RN=?Cr-sFiac$=S$3nltc zFB|RdO;x1OjMH1qMpd)H3(Fc>*hB=j;%fN)ZOQ_Iq*z_E*qo?fbMbd-^&M;k$<1AY zi9wxxQxqy$Tu!#bs>(@s%%+XG`YRRKq>=@?R85jy8t7L_?E2^Y{gQ+xdNLUeG#-ysq)`#^g&5B#!WUYXCTtXM(~_oXI* zH7c-4q4vUd!Mq>N7U-lPhVQxOz8Va)dpOgLhd1?wyI;~<`)}&22Vds%;|#;5193HK z!?}$H-UUo)sV3_qS}V(r;56Bh_K0dA4WRY%h{ytijf{cZ1lS@kpo~wevLOoFcC;q~ z$??+Za;%>2ac>DvX*tI;)nn6!p2x5!EnWfgOn1uM7i1lqRehCZx#}g4!Kc_96A}M3 z&to>nnASSGt;>&SRzCV9vrY(rD&7~D| zbuSMShECoFQf|rOc861USrQ#>v_@yrmBDrZMLCjX;yQ^DxvcEWWI#gcNn=m4@j7_m zIsP$W$1u^ou3ZEKq<4sZd_kACws=bp?d>n*@5HlauBmTy zz0izLM*9bBQfz4c*C6KerTo8IsNoasM1&$DF91(qBlAg$qzKcY{;Km12iJ7q`)?Zd zSXq-bw6g@9gbt=tElD{0(?j)b+s`s@yafx@$!X5w429;{8b?IC3Rvt#N-9~@{tUVx zuFwrRz4)`^;URG)O$J5Y+zVC+YMUtGSC9yD@~BD$F@lp#6D$)$QA%qN#Ef!)tdbHs zY_mRim=aJF684b_;se-(WyF$#610K5w+E+eGf>9(DFQo6B&vdD26DR)QaQ>{YoLXO zD)@|CAS=qD%E3q_{Tp*CySzEzH?&e!N}RB3UR359lh_iWJ+Dh1a^Kfb$aA}74#nj) z>HE@fdTHRRs#4I80hzHXlIFZP_^zo{=jd|9`fH|4*^ z@BjE(Z6nlM$*)`44)9!NJLoP#X8S7l!@6E@ z5?g1mJR6$;)@j&dvC&bKWtq^U7xD(kHfT+P+F|$Y^%!MO_V%{T##VG-WLd`9;HX;7 zgGHwrSaAY6yR>Wa>tyP#?~ z?9IRqVu18`92y)E3f5>!g;G(fC=Jl8{a}u363Ei~9m3?<9S|Sa*13k`>n>wp40o+%bD)8|I#(~XSHHb zwk2F|nlW-j#DbvoGTZk43HecR>-Mmur;R(_PIh)gn|Z96H)9)P3ysaMgJlL}IZhuJ zKF2V&%>D-WjPRkrohS}sg?+37d!m>*bK$R2@9*LtTg1Ue2HP+ zeER;ZC&`~l@Bjc107*naR51G2VA})E$4U^@ATS36Rc!X7LAz*c;yG?XAH-!{O>#=~ z#dkfiKr==s{7pxM5u5T-{u_+v$3tD1j5J{9PQb&R-Mk4`(P#^u7r62jij*WngbI>b zDk=pJM9oRoUtgCENll59Ns{Mhz6fPmB>A+36aE$8#MWZ_2XU+m=1V+WO6c*4loY0m zft;YC8Y@Ub0)lxBpTh99O_1m?mc-mMztjDxZr-}9Pk!bl{rs|gy={k32Jl0Nh51I?C&Do$_%Vx8L@%SmlAEJ@^5esG+KLej9RRHlMYxI^w|MN*Pd z1T6`=y>n(Fg3r-23mJc{lChK}V?a(A37k@ZG2x!GEOdMSp1yMMlBVfUby@&R)v?Sr zlCO~etUdpkx8@{71R@p`bxWBxAjrj1gHDOj+pS~Mt-bndt&LtJqA6e4HuxCKLu#ed z(d8JuO)tgOv(mFIorNuVEDmzVuyMw@A-Enx=3?G}edhbhGK1v?qEnC`uK1&4L{(uxHb8LTN}UxuZ1L01@~m{J;^|$sp>6mEC~V zU9G%h)=-maTW12V93LiY*4D>#Hq%4@Gl1w^9B~~i>!FutJ_pjOFV=}G0a{7bUDn#c zxL3mWtoviyxK}F=9RDl?cLg`u)~spc49A!($yH;2L+=EpY4RxGkTiYAfiE`)s@322qZkF;y=&UI$c1#f{STl;5@%yqQ^%M}ypb z@+l&*ILjg_z)O-_1RFdv)2JrVU`@v`SB*~4KE)l*=8U7%oZsH;GfbiL8zW^;7B7TE z91q2APF}mahq`g=p+55Y8~W*A`-1-aU--QK+n@V{{`}8=M1SdLe@j2}_dcP&^-G`7 zZ+`qs`tn!b)Xw$+@g?QtL~Kq;BAJMj5<9=5tRzD!vEiXC45h+Jt8zlahfjsUC&R=W zV!}7dLH3DMdMKJ5PW8&GZ|IkP^&|R)U;Qop-CzB%R+PR;gmW5+V0nMs6DKtCBLUF%bA)W zsiiv0+y#lg5R4X}pj(Y1ERljgUSsO62CI%-Lq~qC9b$Cb+oLC@L2L(L$3w}?K!aN3XqxZkjZvT2q;?lYVC3xhEB91TjFr?Fh9qaE?>cbb;sIE zMZuc0J_kjoHYYMKYH? zOaN}vJYGgf+5%&h8OGd3HiMnf3Ty;Wj)}}zMi}L`&FJWg2=|d2cO=WUW^D`fO=Y=9 zg9mO{c-k60oIliIJ=Lx09ewiN7qq`PWW!zPY;{hT$JcaqbVbjec}f#b1q*&N^F}}5 zCg-H&pbiGiIi5GX#Yk*G;SH$Ci;RX;(}@|$hwdoCHBw}x7JAcU=xH>W_tC%_^N#@S zF8O`Na^L78C6ihpbAoETYZ7I~MjFwzmn{ORd4L#2O7dTZ7?vfQa-s2nQwJMuFqVP@ zcGVmEuvCN0?Ro4C@s>^K-tNAB^Q9a5@n8Rn{+qx1dHwa@enp@7+8urV_1pT|?QOk8 z;&|!J`}*wb_wc zxS}L!!AAklL!=JE`m$0KhEhsEQ7VujWS*sa_wVa-U;dgt`kAlj)!RGz+-vvsm7Duo z#z56@tOK&}{^3FeF*n9zZB51`xJDoO>K*;eZ{N^s_oq6;>3f55pB)cXGnXkP@KT=Z zP%x7rzc38kF848zr3i_Q#53&s?UP&}M~I&^;{|BW{lPrn1J9vczM@$i(C4|91*bJ$LcAWt6%k_k)j+$nZSZJ0Fw%C-gjK*vjOdZl+GO{Yu9dZ{ zTQamPc87jI#hu}?gD$(y&Xn~EaH*M(XY-8GBxxuu-KI=TPWA^Z}-gZ3= z?>?D*EMU{?Od5JV$6GOK*<%J$7WQq5%d`P9myYgGI|o*Dak9LlE%uxp!=&+j=rA&Dso{erLNXso!TNW+q9~MD^Qowm zc=jxdNa$@VE-tQBV6x6rjaG|l+1$H3d+o(I@Wi18BpfH;LKZQ=y_veP)sS?=;+EZd!_w=HeQoW z*Y&8f%(H15>nw9L^HzFes@WvIHvh6dy8D~juXlB(+R_sn7vz5ty@*1iG}c&btb9Hb zJIFISujm&z)x5bg({NB>%bb+k)-FYC=WZ)>(_B_lHZH$H* zR+TPpZfHO(_u)5RzNd$r)UGl9V6KWtjCrAoHip;?%R7LS%h(|@STQN$S4#!!1Xjw#!KGrKZuO|uWWjI$jE zU}{TSfX_sSGwKZ7-ORh;ydgBIW2yaSS8pv|*AJfmVZDF+VZDFyt$NSayYdb5Ne3g% zIjOw5^STa~Q{<(_-dO3#!PE6pA8A^t}NDnQ4gOc%(5e6MmTIoPMsKooI_O4T{L0PoKYfR_}S{lD_4I zYx*7UeMaB=?x*#x>zDMtXRqt2YnL@7;eGneUB+H%z}QBELPOe25h`f+fW)3?dsq%6 z1&cK3cSFn2l2;iunE5rq^l8bM?O);NdsUW&ij>@CSw3GjtsnEWH$TuTyRYeMvoC8W z?xI7X+Fzf_SZRzat;zXDG&}y`z zk#}aTre}~-Bv+Oh#AUvRHJL^9%tiLeDhnZuT7~k3NVbu$tYpAhXaUgE#?~7U=NOim z?qD?z%X>TPOk38|>v)asO>%7epkuz+CLmmp*#?<8x!-ORao$(6pSWxUTJh_2ud_^= zPj*%FV&xTh>EdP9;zEPrP{I0Yx;5BZHZ6K=?N0O{MNjrvp)6B-!O^?ZVz#ottfe4U z#nKh?O%eXv+HZ6TZQb$FHn{zr!Aaf8)>CH(!juBhdiQh|bd|k(u*kG=57{SIt;Dls zHiIiEyO`_&L9<#6dhCT+ULOu=$c7d|)T%YtOuO3Fv%?p)na*h=wlqnb_$2U#sx;Kj ze2?GM-cpLhhP32U)uDE0`+U}0APbU74NbJZZ{UUnG-NZS87qkEP4*eeJZ+qslp1g2IlgXxDeK2JnD&{EUIZGj~MpaqrkRPX~^fN`!W&)IL{F$*x z3A<3f6^-&eO~MZFyw4_S26!X-ju8c(0zt_Nu#4$VVPtmQ$0jSV zff*YaIy%qlN%#S&KlE#_h^=-CXTU%x@*SFI1#ywbXuuU(^ zbd!f|mGaGivK+9Pz&42RjY3CRtutsB+Zjwp;LtM`bYPz)pK>O#k(1ZFnQ2afn>JIO zDbMIabxBvstNAaBJU4k>Pfwm!$)DT1w{(~{&9;5Nb&EDAY+4I8F#6A{m`?@4Mx2{- z`+yS^TT&LSSC+5yrbA(L3?f=tMkay8W;Gs+v@xD20s$VOVBOFl^o)}P$Wx}8L`w(d zKD*6?V#MZIv3U;3EKUF;7@yE8lqInzgF=TSuDiR3y16se*GOn@Y#(Zag#GO03;NIt zPwRWX<=y%{B(Hz+dq1on{hkl%cYo+T`hjnKx4!i~&*;0~|AKz_!|&CPe&_r3qu>30 z6309Af##?A)f|o7Eq!u zgL1%2%hKYk6I~7NyXUto@X3i+dHx$QB*x>H3P@p^!Ep$uB1zNfLi^LX_SldnlS*ec zHuQzQ%XoUI)(dkk>|gcPv1TSH6R=l+3ky$P=Zt zw$_#gOB&54JNa=rbLPCN!9XIp4LG4?cbjG6w5s*D#%2xUVfzxuMeCO>TONv%>5K#0 zfHi>DN|vlD6NV#$=7?OQdTEFGVj)`avRU#uerL8YXIB59R~I?EryS{czp^5?V#+#$ zy$qJEgLUSOtv5E`L1uH+v>}^Tkwq;@7aFx|GZdXnSs|3YuzIPYcy-UfD2f34^91zaeT)*amSeGIqZmH;7VmqB)oz>i*6)?RA60Fv42e zJkf_G3%$3(J(nq;5^Zg$*tN%O?gs}4e6lNuS<4&nLw@6Vjnm4F2m2cF>FtGUm-W3L zc!$30eJ_%rp5`;%MV(;--W(O0R1Lo`)v9sDL$HnJ#Yj#s#oPSDpiZ`?oI9k-9yMiQvMyY6LA z8=FU;i>r0M*INeAcLHHV3z%G#UCV zcGZJp7|`Wn`ZzFxtZ6HBc|7<-u4Kph>ye|kvO^{>zW$YC({jc(H9;`$u{npy zI9JFKa62>CR<;LnTi|YPTU}dcDXtW>q1kwc{ixQZOV?EJB9(YMDtS)Ze%q?`Yx$l& z!mR~S*E-_F*2-JEmd2)KrEWYO>RI`+RRrt7ga!06qhnPgEYLK^q$e3aUl<_{O=nY{ ziDhP2q0zXUziHwIDYtEbgl1;2+YhJLyw*Czp zPR$0_@`s>-2)H};@o6-h2P(RYGI@=a+2yzROq&S*4{lW%bA4f2AEqYx2{ z&+QmGvF#`P2IPKJe2UCs>jAq4IGI2}*R_OSGLHVnUf39EYckA}ii+Nc?s3dNV81`V zwW05R-}Cx@PA~6!?kPRVr^d-3so=-j;G|SfNi0q>EWCz9TXWKC`0X+38C{a$6!la!pLLtro|?m5U`OKgmAD__cDN^k7VU`Gjgy{f zY?=-SNzv_y81><{mIvFKAMD8g`awg|YB&Kc=wp32)ADet#lazMP9>62!*8R;Mbx@} z`K-SCh3oP>9&l2PVDq34zV9{tfK@@&O{cg`@@68gB?&DeDI(PVLD-c5*OsCySvN&W zd7eGr$pF7VK)*K!x&Oocd75fxv7>XN^Lq8*HNCZbLkDR`{!LAZAo5BxbhHDT%<`V; zu@$BPiaBlw$jo{S^9CuR#mbjygPGnQI*W3p;7=RVdIS1g)@fUqkE}7L?5FNpldsyx zKGWzRmF+Xpy33b&fJyA1x4;h8$|Jy}Wuis7ZkRDE0uP6T&h3G-KB%EV)Yw8$XJfEs z_7Z{yFt$Y|b#(Rpa-W(bv3k4gBS)e?Fw|;o*R6vVL+)N+YwOu?S2Zu#*RDN@JSn9j zC$@$)Xp`2?6mX1zUlrP*c#Dy8#EG z8);KRjpVoO1)F4qH=afg7ZEv{nCLkhso&x)SvpIIo6w+PHP%3Ltn;1QV^Bn}7?Xt0 z%*X2lP01S=IuW}l3i)c|h9W{`Cv$@G|6alUS+GHu{QflLGlb{DJ_fqPgF;efQy!)u zsSNNBRkT$VNrrqHA+A3;?$2vo*c$6czWu%WPEKV{^SRM}^0-M{i|LfZ)J(I3eGTYx8P*81pKLRIp>r`a*|)8PZwnJ2V^kYB6bnl@KcOK|)Z&!!=2b%I5;B@a$2fO>)+uqgg zy@%R;u%mdE<5HW$Sk9`jfQnZELWu$EK|_4n}Hh2r2`; z$$biX)!U(3Be7@&+1v^fV51z-1mM!mhwn)Q0z6xPh|Ide7q*p~H)B~4Enph@g4QB9 zAvL&%){4vVt&UEIh++wTP&{PRT^yphD}kiP%6_(Y)E2is)V%e(N?v4BDhO4}R~H!)Pcu;KC1@!+L9?Qf{}X}%!hJ!VSAj# ztx-$5&yPT->QQ6D^9Dg_%^N-B#dB^RHBC@IzF6PRk=oYn*Mp8OZ>=q7r73$F_q^#| zX4-O(E@KPUU?qdF4-;tAEr%AN${vo9A#+q%QXq~Bwv?j*^cqHHS5es|Q zIuqyECMu+fli5sjP6?NaE9f>=1Pg;WhitY*3aH4NjhN-YL&QX=pzE} zc#+5oEje{KnGFjmsn(R=-U2I(SVU7|Bz@1jp3}2WUMBgKN^IJ}hF|l0PfZe7lDHNm zwmF|Brw3CK#7z4nj~1rTQym=4Npw@qI2FxVn6teD_yf)HTRO(!p%%arzBX{Ws}J|p zkgS}vluu%ZIjJ?A1_d;Hc3hIweDdcQR~ZO(K^pAL2pv=8j=>}&hM zt{&V6?g96AbpOG&9)fpw_H;Uw_k4+c^r=2N?Zq~5w6X_tm2!F&cma%p58VMvNndbjm-el2B8&~<(TsPnF=IA z)8dBq0?tvzMN~Lq+5rktE|`Hs%h6Qxm~uj^b@l2s)={YBb7M+L4eJb}T-;J#m}@bz z!hApxFnSs`7uI%*UFQf=6D@!wuiUT_=rJUvwYJQFKpu(l*MZh48|2}-E&MEKc;;^J z&(v6EJ0N!toJ~&P#(Z|9yB*#4WZlmru-S3w9J0_}J#X63N4MNynJ3Q<=2y65jIxat zfcaIg;jQaqnl>PIS&{h$S;Bx?)Dp-Y%7cms75phVo0ZLgPiJsZXb>YU+1Ov3y`s1+Q%Xle|b(xX?JeZnx zY_zDC+T$eTcDdtunaT0cH*|QuSX!*$kGvp^aU2f^{7zWwfK5CxA)A9F<0Tt;;$%1F zGu!@j!G?ZW*RP$|#(2c1S{^P=Fgbb9j|EB1Nosny$O&X;=THxT-NU8!XQ9JI(!3d} zDL2#m{ENYZ8m;8oHTJb3$`+t4U6bmapE{n0d|drHGLKh^zH(I=;s!C=HMw zAhen8`~@#x2pdsux%2=45CBO;K~(67qu3U=W+!CW35cL&K>2EN-BvwqKO`L+5ipOI z#dw!5N!a_vNvn%Mly;t1!j{PLmW)gXxi2sUEbe3`SHRj_(dz8h za4+$^wqWZV$ON%llxwdytLy}A`z&WPEmlt0ukZ1N20=Ch_r-iq8=E(n?!o-3354cB zJj0fnGFZCKTb2iff|C2QuD2}PxI)qMkd|cEOmr1DCCiL$W5_BTDXaLs+_J2v$`b>& zZzngIeGun@U(i4XHkqU%{}D#F=WprDdtcIL9(-P}?A%cP-K5T5RE?5@;h!fTjIb@x zP9n>-x1&~ZdY#*LA6Ou!7bG9If4a345%R_GjFi}5Ly`MqEUucjnIaWxFj{hwNg?G^ z1(WNF|H5sv)<5rVw79^b+rtKh-@FnqilO?9ht0kgiHDmIO*8( zYQ%xe8n}#BaaQsyhHKmG?JRA51Cl^kIJPO<1iW%z8U+@jw%$6^R<&|vQJ{yCQ6pb& z&#Ke7Uf=7&f))@(w7lChSm77fhT!Jsn>!@5rADK%&YruXnwMLDt+7|bK4AM6ENLm> ztM#jE<4D|~ZI0M=S2S;@G#I&mpyS1g;}Y(^=LX=09jQ$jY}_!eg?OKoOY7iL8(@MIaxS!~+42lFfU6~XB20AxE?&@Lto zrq{u7dbz{E8~F)sv5kY96cRdtWXz}ozYu@mz41?*Lw$VbRoAO&)P0}fd(%>UbQ%imao3kk&?mpE1!)>L}hRUsT z5`COwGbKSTh_~QG=H#?o)+Do~oIw3KaY@oz;$Khqa&lWbksa)DvO7@CJzDZ0FPVb{ zNi@SUq++Pi)&*5#lBY_Ny0rAEC>3goLba0`^o;wrO;WxG+$E_!;B%<|mp})6HeE2z zjX@!U?|oGkEU88*B`rx_3)(DFLguB=$V6TPoLulKw9rPQg=llG@TI@#WohXe=Us=fkS|D z31SMcJ|c9|7FC`L6dkq=94Jt_e{hr|O31}!y+Iu>uGT7`D48+s*5UhNQAY>90c`+f z&eqvAb8U~;b*5Ky(>dBFu+KV1647&^IVZFkFJv_@UZ4KR|D;d;#@|&@mfbqDM-Of_ zI>vNIW(3ckCPU`AS74;nU7<~Neb6J(ZI66ThfHa2hC;O?T%{yjEhoxwD_oe_`+2zG=FraQ28AHl5{EVDY(9b;tPE%!R( z)4;YFToIgd%q++0B-WX?X(!4EnHNXyE;d#-wB4XQZ1%KMKhSpbK)f5B2cwUEO{Cbsh4#FKwJrO&_Nu#Z^+HKXVe>lH{~BCebbVtXMm#9qg)h zV&k{9g->$yW64Qw$-K<5pU#(T{-MMvY;xv;2IDhQ@PMaK3n2BzDKsV6xtf%+io4~Z60%@4s1_<@Ugd}7+_mH#=V~f zz0Epp`#|8o;W(St+T&CCpZkCRX?^4)zs8zMtWR641ID=ldzm(LbYqMyFGZHRXD#k( zR0M>9pl=XI#jb`N8~u^yh_cwgjJI*D$^sJ|tn){7V;^EKdFkEb*#@)gs{|t-^`Y(qt<@Ct1s_y<%eVEJ zw|4Z~Z`{{wB($5mbM5lG;2{aj{khI($7PqK8rox;^7`@o3d)d*#3({3F`K?w$TO1o z?GO*{m6-1ac`jClJu&FYoSU)mDH3ywP^%=tMbT)^dfb`q>*nqq9W=Z8mAk*BH=3_# z>EF`AQCp{QaKIABcmy0Y3wy%2^=*4&+OlkcQ^wIWoRo}Q@+~!mq|39xoq7EvcwTv zxoum{ycA*F+FPy=SFXTE#eNxRH82WPE%g450U)GC>k`@0<1%=2u*71Ahsp-Weuu(N8uSY+an$`N|uIvoTAh`cWCEmt_-{}qQ1wAXd#*NB%kMD8!c zZT032tH5rj7g%WM`5rg8I~ExAAzw;%c{Z%=!BI}ax~``QMDJS8_NEAFq?BuOp4H5B zl`VUj2c2!u8G{_uXa$~xUe^oFJC6CDUSSC99NX={%H1?JXzj{+gtqTtO>H*=Q^h7X z*S7BKL32k3B(pE>zoa@XRHP(-PMR`_?BgO@zDKUyg%*ea(Ksox*}<*1q6jyBOms{( z9#s-1Wz|mW%ACdsDL0xrA+FpGGM`YEoOq^m&x=5cNDBUl1=eIBsJg2o zQxuxw+tBx_EabL)TJv}}_|5F>WUL{lGlKG2Z>c$pYRc(sN+R1Oaou_FP;cFRsM{o| zH|}if&HFog9sJ6z2m11xxAe)cy{TXM{44s2U;m_j{MSCIpZ=}S=x0CrY5m5RUX^X` zk@#Nz%IhjN%0Xhsq};M1c&XU<4$GfrSj5{hAdc%TKaqz?-c*^&gd!2a-HCZFyO zus`6`6~#cKv;0nX=DZH}c63O8_epfO?myJ$zWSPe`j1F-G z=f9|5`qEeQ%P+q|Qu~@df8&-u_2zBecyORyKIQm-^Wuc|+=b0No4y^1wIPVa97`de zqC9U4=CWiS{Q`v8MPjb4_sc-TO-x}AaWzb9!>5!wW7}D8jIt{jLoG>g`+K!^*|1d9 zDke+ao8Qy^Vqb60-yosQ)Np#sjbSfZrh7WN+BmD&^rO`^pmm*jM7fymbeV^yWYU3- zHLy~&YU`nbezbiGILBkmoen`)EN`t`M+9Dxts;zDAJ0uh%iF@zE&#So_UU=+5oXqO zWQwW*Iz`}-V}xb7GJ&*hBQw}$o0d^TYuC$iIAOn&fL0_HkQ#JEX97Lj4d;qw3U?gmbb9Y*PprnqEyTNL)XzoNEw^!Zpcx) z2zwc1w(I+v8H5yZiaJ{KWAm9&wh?sS533DoL*+Uw z@NKL0+Wc$!iF>r@DI@OrV$I&Zomc?8iSBF7t$FcxfBh%#@y4n^JZ(V$yr zWm#)mD;$xrJ-}=l;`Zy=C z*LQaHI-eUq@y46_<*&S~KmTjLrT^}iKc+i(9>{+QW9)zBU^LN`gf-B42^XXikvN{S*)3yrczWVm>ZTF^r|Ge*g^{TqMXNCk7 z% zSk6<1axsVAvSq%D&{sw09H)+jywf8VZ0AeAK`i(@h1K^ddE>W1^toHLMzN-+y6zrx z+}o!keuVi8s%Z9-mO0N=7HYsIQ=}m{?SXPUu%&q!)1605E*0wk$nY%c?70x&_OU75 z+M!ymd0F%uT5Xn zFYo*hL}(R+ACAjOm24n6jC+^qb^=*?xvMxw&(wH*W0eWlm@> zUAw8*I01e0`b~ZF`lepJvB{>puM77)phq5lobqGsab8o{U82=zp6j}um2mG@kaY6|Mb79PksN7 zX^bPMN3=eub(T}Q#Ec_@Rw8L2G?R4 zgY#J(>+C8H&ADZ;6kW zRKCv^*<}&yEa1p8q&yr?oB_!2fZTeH@(V>KWO-svG}7PQ{@d~<;s4)-y1 z|A{{IsqfLTy3+sbXa0o#%>VLF%k$zCZ<9@G^)LR^&*lV@_t~PjPlL>g%{}RH_sJCZje~f$wZ@>c*98`r6BHYV$z)%uoMo z`td*Yr}dLR^)KnMCm+!o_SIF=-~IppH~RALepbHiT_ZZVHq_(iPwV{pidtS24sfC) z>UUoZ1_P}Q8$ERPxI|6vH}^|KlsY3wtD3phnvFyNk|HT06zT)R*dy-}XG(Rn-s!SP zreH*@{$sb=#Q!A*+@C5U0+Ij-+8B(YI*vat$7vVK z`QPfv4?Lw4CpL8a*fIH^$@;JU>i<*!+5hY3^w2tGslTG&{g1v+Km1dFQs4FT2UWGT zzW9YN7e`ywl}h`QaBMS;aq<&RRWls0Pi!r1>~N}7sS4XuO31ZpaKuv_-PZ1|?mvI8 zo_^{Xt+Bc9z3?Sn{o0qb`TDCmwzjU5>uY-9YhTdLjVn6d(0<@7w1zf6cILP~dfzGi z$on7A#~!&?XHTEd8oc4kK#$#Xg0WBuLF{p9aVi}iwTuM|F+)!gGFT?1P((;F=v_m0 zW9D4zy_F5-MQF;sryW@&_q4}R+8OWZ`skWo*!im7n!T(YZE6~mc~NV$H9cV3Tsw(L zMe5ybGTne|vD>)8dBEijpi%e*(E`P~@@P5C<(EmuOV<=zREk^Q-9(wT@Iwv}QSeNh zAvi};o^X6CatGI^fDBPvhfW%cY5_qYgUY)Fd|r-q_{0+zL*rX2~G z4q-ueTI8Ymaegjq@(2IKSv~uQp48b3_v`q%v)VX)TS98 zvBqBC?GG8I+-`>{x5E*?S9crJyh1P!gj$LHxc8lwhJbirigbw}@R(K#mS}DuIF4me z45_8ZJhDf+!6C_DwN72o<%@0;kul9lNfF{HWgHnV^uBs$2Qkp8=Ct-^d%AS+mi8w5 zoXn)rIE%h3c=j-8oxh{a-}`&I^bh{J-u&hNTsMFHuj>b&eL{calONWH@4rVMxbM84xo|-z z*H$^$WSu{@qNnaZqh}vGuO}bBU#HHT((2k;d5L)cg)>@&6~1Xkgdz;7w`swobA#UN zurs@{a`1RN{Wihk2E?6Y^tD}R!YSDK{liw*_%3<<;HD1Sk=~xYs@LPIx}088xpqvQ z`Wp<}7ZQbd)CXhGOe_FyQqLqNgY6*mhkU`1v%C}Li3GwUha>qpp(KlPr1VoU!sRVr z0J?P?K_QZJ;Y{khaVa87ABRE?ndk@ui6go>FnRL4t^oHFbD7=_Qw&I9d(Z337Top0 zhFfBy{t5M3;Hw0eF~D$so~TGUGY2Ok9F+sN%z{pKcq;VZN6u+=eO&|QS3RgzH?^v! zlIMC=lg{(00%!hL%|Kq4&H8Z-PF+xQ`T?bs82V0Cw9J}L6jMDrRKl6%Z~V5puYOkT z8!u?Kb5*m$ZFRf=i@l?C7jsuY0K&e7d67l8&2z@#=?Fw9L{iJ#4JeK^*?NHhlwD>4 zp0AccMbT^AdW3xw?M%4+Fl!DjHAm;ti`;vsy~bNI=?Fd2XvAWGjXV-qAag$Ko&sW$ zp(m91wyZOYfnTJ{G?ze)1kwD`F%ZcTtF#dQVlq0-L5y5hN4M5`X8l=RI=rl=9%`Kp zYrv%O8m%~`iGV1vkd|wab!Lf)B3Ul7nb3Y59qrn6Q)RV{ciM|=XX1)ij( zehjIqns~mzBS{eo3JjYSojrAm&6h=h-VWbya@DzPZLe5_=sGi8mriJ6Y>=_ zPco>qvlD7r4CtzB1$FvI6wS&&t7}7@=1uVf58tcrfBGSP`uz{;V^2P)2XJg>h9k}1 z{Gwj_mH$#N{j*eeXv;s2};R=k>iG`hcE)`WgM;hn~}iAGuF&eC^k@e{e-l zefs12)Q|q4PM$iU6<-NbUo&XvXEtyg_>}8R3Hx!1*^aC2u)9;LD%HsPhcz|wnf5ki z9BDb<+fJT5t_PodMDKg<1A6MCAJGF3KceS8@?rhZr$4Fh|LC*&7r*y;efsG~_0h-f z)6@5z)-#;U9>4dro_zQ|oj!Y770$B3v0C?Vbye@ba9XD~Ht5Z)5m%pfteKpsH$sX? za>(Q}8w3`^H4Ua2-v&g45`S{IYq4HmhCibp4re31wS84DZM~{5UH_U6@}3T3Pab!b z@|Hxn;H1kBbsc3Fc$xSJJ5O@NzY{5HiFkUJg$;e~_Sp1=;1XU)j+S9w()G{LKFNx3 zSt<7f(%jSXEt&>he5?Qf5CBO;K~z~G|B2Z2jGS?ghDx}_E!h&Gf;0;BB}_2{dTx~! zIaB4Z=qqT>_7EhNFo2fYoi6Cc4GX^M2B{i|`5dZPYr$J(uqGo(1z5MPCPETX6kaG* zmFmF&7^=bvR>L(_D5~p3TB~LbSFDk`s?-?jM)mYi)y0<-IJW%q7df@PQ5;)~)64Ty zn+O3ctjuz5i2&L^xlb1S(%uDa&MHYD!MZK&=zG`{mAM{8Lf#0G>PJmry`CvA@VkqD zm00f#z0^DD??#!|R@l6XI$b7#^Vo<2#tRVfSlXLpZ*0kFVSrNumiy`HWs($XFI-~s zMHi{_PTY6~HW&HAgkuIcyh5H+*qzy8I<@>+VwR_BW2R&EFHRC!f)sHA>YB3Ih3V8=MWsX|npF3Cqljz9rn}x$MXHaoTAaoJ z-BhB8kQYSFTVNz~ut=KWKpQ8H>z;eh=>7-p(W8$%peG)GNDn`BuO55!em(r)y}JLt zdvyNXIbFE#K0Wrx!+QMQ^ZNJ)Kd4W9_(S@MAN^td@b`R=KJlRs>bpMm34QnXd`hQJ zZfO77WleEHu5UPKWapY`gPmDKC?%#Iozazk$Z~rE=T@;m{Tfb< zn)bG?D|0nB+r6P6&7(c7pnq*x>%sfZ=>3mg&?6Vl>dA-h(FdM*P>9{4bMwZex}c*@>i7$-({D!5<82p#uA(*sO06QeyLD(Ff@} zMKd~7z&zJ`FrLYEo;!A0hqD9S7++Ixa&FTEds=z!XBA8Jj$j2x#0&-m3G$9hqY6@p zVDO2hMP7X<**UM^L;)1;oPKAS!gI8cGrj=I@RVF(FEV`^*llv4(`%#1l_*1rg7s04 z_c0X85tqlbKw3bbX7#IrWbv3pUzDWKj2T2JsgFdlo(3`}1w@0$_o?0ymg$tow((Zh zXp0k5J62{L5}^`aM`0375n^O`T%0*luMO0kT35ZXB5zq$H)YLMss}?A2S@5({#L^k zrNN3S=bIrilw*wQt*c5eeqQm#UsL9Kvh}Hrb<)k4Kiu3f6&0nrxdGt)<9v_xv5oAp z+v8hu#dh{)8H$j3F6We{%Bew2+rCzl_Sw(IOlAE(g}#PfSrVPlqmEg8y_IAZ1|ZJU z_dK*C`E1*e%L@MH4@uAx0J$KSkr1iop`Wlpu7_R=IFIWn37VJ76&V<&<>)l!Z#Uo6 zjy8FN-PKnnpVv1JUeFF#j@J)%DUAsT*Hw}?2v7~!^s1W8DU#SX6{JW>#ZG<8P_eNk zCS0ihTNGGX9jf82DZ7#daVd3~1*^j{W{I-1ba4b%<-NL5)-dWs>T8po+R9g6eu`29?&?@K14y zxyR1y-gCMaxaZs{ojr3x_nbYUhaNbm^Jg}6o~y)X-v5|RA79f$7w*;Cu+he`6`eeL zO2<#EsXg4&!Od&xCL?X&FizquSGjVj8H<+FS;m3YO-*~TGbE8G7RE6AnTelOxt*+L z61BcFrtNF1D>|{k+ba0>)-@RpcQ-XT+>zfzea%7C@PK_KeQmb4C~LzfbpY z4S5VZ2E&1>rlM{trh^8QWs0E+{*n!Z z_Fhkm6LUcan5Rcf@()oINzw(8PMp8s@` z`jBOHhCc5&h!zy%0AsBp2@Y4vB`#6n6^zJy%F;KYeR3%HGR-oD(W^ANkUi36nFUaG z!MAMD2d~Jo-`K8#n<*scG}Fncgn2tD8w*-U5tda6a|uDFr0W!TpNoP81OQwFVjPFWKjp9L~=Iy0}z z+-F|+MK5!sQ-HkC7R>YD>M%_YG{AY)E6ja6Fm7$qU{z_ju4=HRRD+w=3>Ec26)%J} zFKab*R99YCeCaoozxt2WUVKr037k## z!8I)MPD?%%5zYa~Eeg>%2xUGv4Fw5&9)SmN#Do@_2O3J2Odw$Z<)I7EObox{6gJ6Y z%`_=A|959!9DhzP9=xFK$xe}`Fivc$@wC%uG?h1$mW|2(3Wnzjnvj#aGN4iL>_P>5 z_o$=aW#J!82uOp!_dM zWb?_a4TtKmp@ZLH`-}-Y_2Ph+lsJ+0Q^YSzDOKu_b5Z~6Ax%{w5vrKzRjMRxF+1A^ zkilT6H5|eEu@hQ9d4dnuIHxnGb^H`?`lL>tJFQb^PwLD)Cv}c%yz`uZ?m2%($8c(c zCe+{%JHA^Ua(ZevNzce+sU(Rx`Jt)W8qJ5gdMi7t*zl;PjL- zIHD6uvB|9C6e{s4O|G)3Ayd!J;Q=S}LmeA#=s-K%KuqMZwNn#(;}IZ;m*)tzQHzXm zfJZJQ2WQNmr%p^h0`m+ez$|qvvl!d!Hon-h9sV5D@XFK6zxCUlzVP3^p#3+#sOi;L)ooo?x4)%4I*@qj%Ur){!q^@js@vPuY;#ky z%NKz+l{eo|)lF2duB%>IS2YBju5N&DD99(AT+{MnjUPa9UmyS6HNF1L4#-yPicYZ4;bo!umILLaTiIJ} z5y7j-m0AeL)hnM1n^*Moc~6W*VT&(t>n?dB%aCY63nQ{*p<*X#K$t%*emw^tMR{-a ze`ofkz0d1+wtlmGJDYJd-{xrDvKf}^Im%U4$R@E@s;W}iMr>bgwO%=|e8VpsjK-`B3`OKT6xSt=?neUa2HdZRF4wKeb8=d8(cJ>~w_|{id zr6i2NnN7HU9E58i1P&GFb^>9UlrdG3e6X*6dwO{x(&A#;On!NbC zn(+N?vVBFhoZuJK`g6N_>K||b zS*Tj1E;q+r{ZUt%)@!*HL!;Y^nO5D)XVz57SjM2ImnHo;0O0@&%vM z%HX>ojSOfaI7=c?dxmbA(CtgE=qfa%%>Xtyk-1 z6WZlyPU+IXy7E>fHUzOTS(7wl19wSgKYf-@ZhZHHOv zkz-RO$n%aA_1&VIn^NKhY^sPP<3YXFV_sb~Y?_TkLj&VdB+yV@G4bFH>RPMKKr29% zDrA$Aq(DbRsESGfr3UxrH)i8@+af|W@`6`|RHZ;JgmIdAV+W>e^eqm8T^##o%9IWI zh~80#o@Y2v>Y4#98+Hd|U(1mX`ZTcHKUNvk1KM3{SS4NpvS#R+a#EXd|K4#T9^hn- z;ml4R-_WtO6|GbM#>!CZ!&+-it(8HgrcO%Cn@m{@LQhNEChBOPXcygrJ<>-XI*0sF ziMm4sZ1pH+Tu4WsOjzVC@*VAfOMfOTrHvMX5Jd~fU7n2OZS0UxubRH-JXnGthbVK@ zC$$>G5-_1pUfO&`JKdHpcdu!Z4pqcylN?x2Q3!G^rT{i7Nc|WGczOxb7XY6*M?8Ou z&>UYRmNkASZ#i!qxuVPXLLQpY+rWIoGH-#KZlHiWh(x7rbDA776wi`O#^s!X`f(Nr zOVD>F^{|ldb248dRtZZQO5V|8kFu^_Fq1eJW=qAstUfIChoTT-o{}kYQa4Nb;xC-R zZ(Y-bZ(JQtCGTFtiQ&LDU&Eojs@Qr>Y4>f#-W3U6nsTZNDOE{PHwv6p*m*gvYDH8M z^u#*xdP&f$!e3D;j&4oKPR-Yo(5t~f^C?VLffo`{3 zTC3Ld(Aq;fH8{b>H`GS6&L%j}uxV6Pl?HWEl|mHZ2^Bl24NNIjS`G=#&YQOkhX<3R zD@Bj1_jXjM$b^T0c0gERqPYAKK!%MR2sTXFRQG+YfD${!h$xQO?dqT@64y>R5lVRT zOcAPaYC|SsM8KQMznbh&XYgh>W5NX!il$OZW%y=nx)l|>yf?*RT^Ex|Jxrzo_e59UYD#C~F&6 zhARs6%|@1K>CFTLkTjsL2X$4(qGOYG`!ljOxWf39kWE!-K+wJlyvAa#zI4usf#^PP0?^djbgV;PN9l9By0)N zM^A5PSSJZw^mTysfa9XxkpHBJPy%K+V9i4?ZssPr{G514k{MsGA4HW>Na%p1+e4^j zEXT8~L$1rmTt%MR*wCmQX+oQ;7-&bEnkL49`Ig;LPH$IodyaZ!K<*ZU4qjx;Gc58& z4*PD)FETD?Smd2r)&TBy$@rZz&YO-*;TwlmIslwU?^$mVpfF`hdCg$MQ92}L6lvO?Jm5tzfC`<}P*yv$OtRuT>?aTS?3 z#iil8!l$&ARTT%w_qC{ps2j+RuVPQB>VYcO#R6*9X3ZQ+*WOb5d;d@ezxp?HfO8w+ z>?ZqLyZ}xlZ#vW`g9uLjVzt~21$Shouv{up$+|bQI`+YXOJj-gdAK;WU6Dbo2!Z>t z4yS@n`{mH{``CHG(@|KIn6JVNb5XEYZ^?j~OACT*kPFf*MaX|5wP9t!Vqi(t2c&w0 zIOmXfGDH^%XMlj-(}GIF6swbi>n&gbY)Db5VNu(e`Crh#uYN!mnumCEZ}tB5XY`4a zpU^YMp4R;v=XKA<88*6FRh2YooL2otLJii<>?!36ULqR?6kJG!7Qr?w@I`8_+aV+q zNTkq|>pMAE4K_oj{z@GaA;`CE{8g$bVIi6eEqj8J9S#PxQ1F5)vo-o4^9^vKeeT(J z4)&P@olb8Y(-}56pK^vwc-v4#r8*^*{gn!-N{KYkl+hnJjjD=bgSB_q(6NcP)2TWp zR984RsBhfd=$t0}Sd~E5iXNu~n_&NQT3q>bfcQrbwLJ z2EY(ntp=yE!ijAi+kGMtHccl}wVbdbqR3R}Z_rt#3LQy-js#v)cF+vVHSHR2lO3ld zWfna)2YP}Y3;H?~l&e%#)W@6Ykn7SRbq+~aSk!CK{IapWx~jF|ptNIHCE6_6!6kI9 zHkIx@zM?uRCH~xZsHO(SNm9Zd=WFVqI;9X0GQNOFeOB)g7;gGKD>G1S8MNDl(OC3G zgr@NKc!{{druWMBtJ-b1b$!aUP&!mwO(|%L06M|tY$-X3vMK>8ZIeOZ1q$Q#s1$N! znFVWsJ6-UM8!Y40VBCD5)Z_fO1C(9ZS;~+Df)|7B=Vc^?aa-KDi;3w8ofvQnrE+?-$pl%u&8rH$UfRl}vzoOY^ z|BfcV{r7bE`qwnxxsH8yL>&grTbD@ETwJBDQx-}zuY{P}%O zYB)7~K>&RRqtxZB4AeC9iW=wvEiCKCgPZR)>(uL6J>8sAr{;CR&kFv^6Xs>fnMHzf zAsh;64lz%AX$$roR~RBd;we((c%VWcF7-huPgnxF_00V3z&PL^g{-Gz#kpOm9?~Z_ zzE{t$eYZZc`U%}TxS-?paUJ;dz@{N|L?qP}69Zc_Q^Xw%Do-3app%MSjdP%u>X7UT zUWoI^HboEv0(jss;nC6JEGS?yG(RDqyxeZsCQwJl(K4A*l)ULfPcm#wDBEBHjyV08 z?%D%-W-{AR_@}N@>Znp;vujns8!#z5cFCFPR9>^GCiJwly`zzVY^b-RL&j|`DNYUJ zBu+YM?#QAYtD@BnI_+QvO`{=>Y-PBDQyHo_hqVo@uB~eYI|tBf7E*;nvO{Zd9xMKj zL6K=#L<3;$_zA5aKc$9+R;8L3%TE5!5NtzJvxumxN+I(?QWceI7FZQYRWe@TfGVvH z23o}#O>weSNOn*S_N9beU8x=pRTW$6lGcMEdK&5-YPh<_OU_=F(veQVFrC>XlPrgpF0sjzt7}8v|L0;$ccV;LU&6>^zNafE<>h_=LN}a!l~#K zFDO|Y)O7P;q!An03pZZXFTeh)`tRTPyZWW8zohMSU6blSIk`C6NF!_y*7SzJ@BrLE zBfl&nDK>#0(R(?s1Eei52V~}0DN=CL=JH4Rg3KfMrC!SzOm=F3R~l&CbmyJk2@AgI zcgU3Nd+=T4Hn6Mq+e%ldCQt+zO{ z&ifiKIeyv9-Y5Kn4xEp8ITbH@Vtz$18CY8Zq_3)V?8uc}oUz^i7U zYS5^GKj5ZmxXQY5%E#tv^NRB4|B)uY^Y=Br_=;wueWp&UGPJbE>!oDeXhUhN5t#D? zZ2n|TnA5X;oZ_4!g?v(b>K}45G*?e>2gG{q_LW6Z+a3Qc{%?i#lVs2;r{mf!w$Ag!qdP z3A#wthc-(dVwzb9WJ$9kbxQsL&T6eUN3ZD@ul|DGs=lGaYFp*%5xX*yiV~}zp(ZSV zIs$;RpvaB30Y^0R&FysHB(*-}Fky0JyUr6COjdFBb2inIs;7NmZhF2I`HB@yAo>>i4( zSzVj-`qv-TZ~gtp^~#Hzy7AWQd^)?T(asi5ZC@SE%TBC-alReT42K7r9qa+SY7h6- z;b1yG739gjgmcT&k?@FRDg}*R+UmYUG(*!pT`V$Y@%M3HyUYSQz*>7D_F*k$SP8b;v`y}hA5MYF6)sz zIee-a)U^h6&At(GNXQu*bKPfM#;a6ODBxrzgsP~NBGE5hxq7S;ry5&V^am1IbxNdu zvg`y$TtUomR+%?BMCl)~DYif-6#Kze@^)sN%sN19)``upW<#%1s7eXIRvbyfrbMZV ziQbeqHk<{guc~QeUPYVg!B7>8qK4nB;^=T-HK((BJ?S18>%@uCKhq38&#A`PO-HCuc6oIty9HyW0oCx9Z8iW|NqfCPOIgl9S|7k zmhnyS_YcSNoPkOgcba+(J*kkfDBUGPIMUsNc}e|WMD#+GZ|%iMdxGPj4r$O-CG|h%ewyhtJ=SQh11%Wro7n(b|? z-QQJ?f_!7xwofVP-l6sM6=pN5VCgkC1Ar;^&SL1!OUW>I@$wb9D|r{8PsW&Q5X@95fS zQxlHg{^7u&u6eWIbinDxvJ2g4V)ITogI22^Ttx`8}kfDR<1Ez9)6;5#!j0T5lZMO zfN{wiK6TbWsw)M0J<;nxJqRNJ01yC4L_t*II0mX%42_)!POJhFr?W&pSSXbp({M)Iocyx>1dDYrq@u zL6uYk8!NR=aMdDu)BR+}8xc6K8I({;NfDut7>`i-rU5tLb2v(RoDWVD)MAU98f^5l3Rgvb#g>C@WZ zc>68=+;4ndzxdhT(&vBg_w?o~FKPSQHH~ppc4i)P!xRTM-rX%Hxxf!NH|&mK7qYw_l?5^;jZa@FO2k|U))xd zYl^v^+a&L#Eh_2heo>!`Gc?esmi+BP5RRT@yZc3X#F`^T2{`(Q`@vu6>$Mj$5t8y; zvz}g#GA15XGB0N#B}4-GVC{lS+Rr<>++Nfd_J5a;<~y89TE>k{h)w*ElfmI=qL$4Z zqSUD*#KoCWTvIlO8J%3JWMY}ugA}@Z=&)@(nJN-(xr8C3?Gdhq#zPC2hf>dY$ zrhvx=HEkzss5Lgt z%1v=$QpQoYIGnv3*L3OiS2SS}`c!soXj8$Yip`b-K+Zk_p7?+5!I(IsJ3%!R^@sJoa~02@CL)7c5mE}>ky7QSa503C}CHu z9aqJPF|8gWzYeTo_fV+;Y_I#P8K@Zmbxq$_@-HD9I_2E4Rn2$-iXa2H|6BSj(`T7} zqPG|Ym6wGXcZ2SC30Zw-fssN_AD5C=VJI0QD%wAsGCttt=_KaLjJdoEonhA5m9wh4 zAu^#^HB!d8S*ECQgbpVn)jLArEKw~4@Te5%`L=LLNOv~1@JksTg+eR21tU|e*B4-g zwTLoExJH+91}F~^EFH;5u}bq0b9#{qks}hJ5J-=np3uj0nI%mTrWstIPkY&gJ*K}C zdKufTqq_UjDxvU8RI);7sa9tL(xOeFb}-hPyZicEZ*J@V`rEJQ-~ZJw=r_Ods@}S} ztLxV`wY7Cq`<%+g+zianGzG?^u@1JkwR82Vb}qlIy~}TEbnT)hTn)}RwRQVj>JD&j zqh006fjah(Y{y1f(e9{{qH4<8@H&oapkQsJ!B7=1g*7je$!lCvF!xhRs=Z$8nmwmd zy!EnXU;Rx@Z@kSXyphDdXVqE`o~TQC-wy4)j_eZcZs_@M9?qTGGWU)SEv#jl34w1Y zR)i#j2eMD)5KB06y?s^!m}QwGfL3(CFj{bsBOTC}Wt~MK4^%Qmj+C5ASdZ6EkjWT23xF@4 z0I8B=5T3-~R;dE(A3Nj)*QxVN7iBh~NXVE-I%&u1gvBl@j(D zk8rG#3(5`$HE-*cZ2N?(h$+x9nL2FthBszIp5VMjz@fh*a!Q*(YfC?b5_Y?vk_gn7 z0o0Poibx73tS7qV0@;%HL}zlR0nWh=Y_NjdP~p^$qN)^b8E=H${-fo2S}P81MU59uRm=a9NyaG&$06Dvbjgd!PKhhb#J4=tunsdrsj665 zya4b`@o!QMn&DXDK)pt1qbRaY7enlg9R2ecoV zjGh`j!=_dOufS6Z*}jMnQetY6?XA*0cw~)+`ak1$LeJ@AtSOSW$z+KtG;F9Pq^1fn zyqb)&M)w!haC4$t??fPP=z@mIfDQKQSbD193yM!q8QWkr?)=cR0#+ISCp)Ua) zgz8+148sX##ASQBbB4f@Fd`5w2g_=S*ynXyC?!jDtB!fL$hoe95Scz(-PdTsOAGew zvu+QV^Pl+HpVfsw`X@F0;HR{C{JgFlwz|H(r>(sM9ePctq#5gS8cBQ5Hm_XP&5Lho z@6ua3ym48R?M=;gH@S*rjre--aHn4!zL&@lHJ4TiNE9H+Q~>@L5mmK!Cp*5x(q20EpE{bPb;hqm<+4$ZuPW3mDC=y5(m z=U-f$)Q&iF#0BSQNnD^HB}yeeiY$zP6VqJrV(_R$EEtn-!9wsBrN_|GBVvreLM{$6 ze*(H?NDBp=r=WL67BQ%woE^@rRi}v1cDJSN*$xivP>1bE6W*G=c^9*b9;O?alq%H> zOvQjD2GLO1=%^woN+v6!#~kNElM=Lqj2Di}RVfutYiEe=l39wfqU5N#q{`$ANP!-| z@e7@FfZUyi%tSD$<+?G{>vx^S=BOowQdB_FF-|dS!yy}8qxIoRacp*GEsn`HPUn3v z!O`t;O5Nvl)Zxr#IE@acfi>1f-5sfOB9PhuAh0oLV^p<*emjDylB!CfT zl*NZKWfn~91;j#XxoRBoRypFWvaTwv+h$H@tK7%el&f$!N;M^e@7FVp4h}Th-O+^a z1GAf#HM{hZ+M5^E9&EuMvzbpc;*E4ld)yYW!>0(1UB*`}H?OMOzp2bO1PWkJ+qVfv zny63Msem+p`Zk4X_=X0jR#i#sgIXz75`DSN_r4MJiGnF5l@Lh{_AAB=|!d?tQ0E=)R46wOX&~8n+YE7_%BW zM+GIkU`PwID))XY{&)e@gB7Vd6B9Fi^M$V)cL}2M8-6uJwWIYblk#C zDso}0hd`&>=G2s8kCFF)xPuoFXbGqW5^{@L7y6tJ=;j){KAbl=zerVNEDhK&xsQl= z=2_ZArabdfQ8JW_C7#Qnqp+gz`nV8Ew6LvY=Fx0*PrC;b@_C3y(de z2S50{E`0I_wDJ7+>F}ZV>2kfH*EpqL+#l=axYYskZOVQyV&ZIWZRz^u%eu++fe?tY*9$shg&Px`S~Xl(V%=9jYKE%0 zdaQ>74ORyl=2q2fUsrzP>zoL;`zuIhq)KpWbHN-<$0HqF@*Jfe<}-~|f!lgeM`7XA z$|vF@s`VL;2uny-x|Oq#fy$gvNd)*U0kBX+loU3p1r4Aw-RTk(S?6h(#g;{mc<>8u z0pq~(W3nO80o`cJH>S<@x-L!LE?12^(;ZGZGu2fnF|bvlSw&}Gp(ka>CN<^A?Tx5o zATeJE~r`CZtIJ6;?-%uO_)ntVZ4iC$ZM8u!)m9(81oG4sb9R-+Eh{SFdSyIOdvTO8xYpuVD`MG`W6Jv#rbO zcCV`}*mkBq1hpA+nnAK6z-dFGJvEE8W?ZT&wANJ0jPYPFl*eslI7F6qDv55B`_TW9 z^Nbe*UsL+UVo=vgf!g`gv6!)n`OwF6@@S*^2E=%!Amop$y| z+8S-^rLC9s!p_&^f26z416A!%U9uxrsk<0VA(tmPdZK708Dvhi^At&^s0KGC1%Ex( zx68UkxEp<$XMRM8;&QMKa#*GXN!D1(nCV<;*gQi%=8^&K=N88~!3{tqM2V&S*wOYb zCl}`-KJ?&u)pjCPtrfm0A3t?g_dfK59>&Q%`26?kKZC|>iZJ*k3ZX=xAbnB|xy_@O|_tZ^Bz4O6-w$^?vF|V_M zb(<$RSk{8DA^F5Mz`1cd;}_CYH7Zau?*_G+I;p<)w)FBBrR}Tg_~ejtOTR6*K5I-H zXQNIf(9V*Uh|EG1w2^44yQ!_oR{0j@?_n-F;7IHg z(NdgJY8jXr17*BG@nQwL6;UX&;hT`KH&bu0sT=Po3rS@|4!R7XL=!Va9&-It*R>!Q zYpdip$gCsk%3Ym_EPiaSo;~gWv&+GjdnBwR<+Tl)d5vq~X3Y!y|0_Y7I7NkN~5Cys| z7Z?#i4*g-k@n-+qnR_=h+uKryy@|>1vQCFhqXWKScG#aeZgh64EV#|f7xl&8{k;Ce z|Lkw*&;7^$U;X93{&)1{ufM4Moo!9_4>aXeH^UiD=_jAq4tVR_-Mp!Nz87q5@9MQT zFKTaRS2S3*UD%jdU>W_RYj0_~d0Bb)hQzl6&40$6NrV0n_6P0IJVdzfLseDD?HA1x z!M|ekSdUrMnQ|>J0Co_4*{p=jA&dTi_Ef3Ta#>j4@`-sx8Cw=m3NZ&E6;wqg+)P(3 z2m7_F+xvQ%&Estx_cw05p}%|im*i7gj;^GZGem@n3iY9=W?s0y2wLJX>{%s7x}<%S z`=VJTbr~a>G9p+OmQ0IVNz6w801yC4L_t(=PQ~mZCz;&m5i)HdF)uEM+wm+>s+YT^ zi{i=9GYB(ABy8g_459z^YKB~t# zwcY>RCp0*JK{wjaOE>oQwX56u`ju_Ha^4R&hPV5o|h!BkbGm6}1V z21lt^zN~!pb#;7x@VXc4CyPKIkG2oR)=lOvPuxK(g?ifg7x||43;v-0L>cK*nKo@{d7UHc(2UAX9>5`Jq~Cv)Km5Q3fy8 zj>>p6uTZ%#u*w!xy%B{d}QvpH}7z|EvKxY&qe2D zoT&AztgPz(`yZ5@&<;*%ytl8dYu9wJbEv1DdRBk-Xa5!bAAk0z^<$s-q_%g)`t{%X zU0u6+S$j8cmJi*BJ3HFDeoZ?!uB%Fw&Yizc?|=MBJ$m7S>ZrB4x{ldNnYN008{TC7 zR(o*$D%UJm)N;R{M|+aT#0_1v#ciY?MVg^y$|{nxjCWQ``xK$B%Y6JEsNsZud^k{| zpF;Bhf2C@eC-_aD5N!jjT=asx#}kUewXC6JmLvMVs3GN1L@yt%AGAZ3p+%(A23J2@ z;~mknYOAT5ZpGZAG6;b~;-M&b$bW9LQ^-87g(LtT^Musxw!yTRZE=684}n~dX$dRc zB8!G@g@`z!S(T++hjBOv8Y4M+qQ?q(j`x(K*ertyecH=8?#(oIi)+ktrLVi>icOAO z-u9Sk-01>t<-=VnYc&-95rS4KO-i>amjpom#2%@FS0@!l8Msp|w{Kp_D4s%|I(_$8_f22leo?AJ-FH zMLzJ%2eonjUbUR+uFj+{Z|>>0-@K+5E?(2ctDCxdZBy5;Ue^syY+D!K;5*x!I=J$t zM!XnJac&)sEwfIeTa1QbefGs5fw8F<4b%?NvY;ur62!exbCzzKU$wv?pvFIXwTOpRELg)GR_8~j9{t}|^7K<=AWzLd1o3NO)AIeaG z8>EOn)jI<8;tA#&=E-d}xQyurSssG%1r!=|$mJ=hBMX>vM@oIB;I?Fkc8zZbyR$9& zztI$j415*B8U5)r>iVF|MzNJ*KcU^ z@@4Je2#3Q}oj7w=62*TbP!j-S*a-|wc|*ZHot zE!&!XHR}b-qAH!@j;Ex%BA2$(3lZ{(wvI}sWn_KjEat`@C)^JGNGTylH;d7g=(FsM z`Vax3N5AbjP?A#g@=lf@BH)IIaI{%W2ct^Nb-xt(#pS*eXSJVq<+ag8D?7G@NkLJ} zRtexPoN06zDMUx%$WymZDU`t?=5*sgp_TL&oh;fGMUf~^?zLxg1&%zA1#Q=y+|$*E zemKG+1?JR}xM)F+qJ@T@a68|vTiDa{``EhsauF^O)ZcUZ3g8U@qp-=zW`}Dnk_HljxzxkAY;Lm+PKk(0a}dChtm4?tJ@B|5dG1qs@aboC?!vt~eddf-j~&xauJonrd-|QXuIn3@Hud_I zO}%~jx-MV3BL8PJH#xCwzdm6@Qo|8?nNz1xCU-n5^E~0tSAjvB%EwC z1I2*6fm36!*M()PN)`K5Js4=ni+RmyFkbzVvVYpoNzXSl2iFf4U8oXD+X{9o%AgAX zU4DvFzkIZ=Zlj5iZgbdNk%VcnZyhNWm>YLgv=vI{KM& z2W_71RWD_%z+e(g%I7kuSrd&lw-E4nt?)ZvUgo6?j`tvy=3l*5ihM^}r@0#bsu zzBZIiMytv~N|K<5nDh|6L6Ie=cLw@e7`J0-*qs_2IgbZD!HaEyyb6>L@*vM4?9{rkeYQh%Tq2b6f zS9$)pJUd_$JshcuT8Vxpk|Igi77^f~su^hY_z9ijTIBS-_m^~o#oDZ`%5R#3)uC3_ z*L0fG*OSkEL{EL>d99y5r_~cDwGNy-cV5TNo|XSal8S{=HH~T(mh~!C#Y|i8c6PMW zeN_*KYJkc9uDa1dfy{NN`&@IoGK;ojv*=3uvRcv^^XDcX+FSal%nO>Z&$qp?+YRj` zwhpVLjlmE#!Ak=gOFxS1;(@A^pl5k5=q@1?g-R)gn!YVLDJp=ng>CX20&$}Zr(`CX zAWb1naIj;(r+Gfu)~K>(!3#%p%FzO(qJa9~I-Tv!4Wm7SxJaQBbp8|y^Q+I!bA5(* zVb@U#t$$DgF|g5(%Nfjby$js=AnI)ji+Y(r@nb22@t#-YoIQd#vTcF51XLvY7^LW3 zPBo`kRs^S(cB(l~1k*_5HDX?$cYG^nzQMNDD_QUVsjLtF)LA|9@%wb{*=Gr*-<+DXsA8vC4R@*TFa2q!Vi^y1=c&Q%^mm=Rf`l{qXmF zM#tWMK?k4vWsP3`5?APNbJAfh`$e+M#VNLNOrcXFQkm-~@429do_U@V+sAbFzWa6R z)G3`jaZH2N6rnNE6Gh>9R00r_u3`x-?*yL_9oZ< zdo1;lI_A9RR>o09JrD~|YV6d8G9EazAfM`?BGr=IM@b0>SF=V2IKcs*50byDU3*=# zgPYoUdt0}{JNvUt%z$oHw*+s)?9`t7#Vv*J-w|CfOA+!(HUz|zBlj9*++?Q~^x%dG zRMz8gN{5mnE%V6B!KtC>vSI^_Ktqro(TzjkS!j{YI~qDO>;Ttp~E zl6ALixFb$k6YklEy!|v37@()a_BA&8Gsib{dYwrpp_z7OL&m+;@Kyk)`h2^)4fl;UuPeFOdF@quy$yd)q7l0CC@+i z$Bgz&Id!!_M_|=ATG|diqn%UwXF_|f?jF*C zt}F|I(*KEit161!Gx~c*`)C65s#PX$$uTF>mNsYF3W>7sd@?=oPO7jotD9jT1v4@Q zz=bXyg@7Zj)Uy({tga+Ic;TehSJrr;JJi><*Z|YE+L%%*X<8pD^BSAO7O9lY=n7!* zIB#&?)h*g0G|({hAv;I;J~hp<)?@iFV&W2H<0S$?*zEz6Wf$T-n;egMecl)Z3xa}S zhB*a;;&wO>ij1jJ-!CG}IbeR~wNk%xcLP+=u4PVN#(Iiw3&38iby1g=LXeM2dgzCz zI(6R(`Nhnec(XE4HLR5el@jwj4H{Jqg55-UcEHO|4Gc6K4z$9H*UH+uRyK}lXlHl) zwAN0XVq8~MZ(ULT#^*Hqoxi8)@BFeR{(qOf`~^)fzp7ceCfw#dlljX0ty0pllc#n6 zlh5kW4}MJdJn)cC;?#~G+t9J~RSi}eUFXxo=dW$+AHQ*3zYBcx;tjpYb>x+6H+19r zb#3!GU~ls}PVHv-j@|My*Rn2rvg$my-5*sg)vQNOW~zq@(ijYBD^N9xs!~Kv+CW=T z!@4e4kgt7B-Pe9o$J1-jaK>^7iAT$!6GNtmEQl_O-u_w67za?}MIg#)5v%~Z3e5;$n)*Nvq>n)~ z(t-Bc9UZm@dhOtC8sbTq)iUck1loC7*F%j9%i!=V)XdWkS<5MCBO4paWZZf{v>Yl1 zs;+8{dD9;Ob_C`}gsN0Y3jT7x0Y*YqS30c1G0A~CdDOC@dIRlAS$lh&a&Rh`LRlt3 zuwmoaI_$A+rVpD2if~MwW%O$tpj6pz}x(k z6UY=NP$nnbj#FUE$*W^QWbDeN&Q6&PyT@Azo~W~=TpO^0)bagn#))w@8mXrJrJ?9^ z849bzwhqHP^mLTzIDK~1ZN4|yoTNxuQPF2C^cd6%oN~~=sj5_gH$K7f=33LHRD~)a z)yR|PIw@C4U1Yg0?TDsxXV#LsE)l9`MWekP&G=B=dCWM;XZRW0GHq>1XV^Ez8I8sh zZ6A)cbvR=jgVKINOe^{`G@;*a?jJIKojUb>%P@dhPV@=m%>xr!?up-KY;7F{o!$m5 zdU%%ABupF9{^>LqyZj9XA-B!|01yC4L_t(-eXydJc3#%y*;|~_rbRq)-PEOaZi|(m znf4MFK58WLC9{YMah?g<4w~tWOe#_ldc2PX%_Vbv zgP|InU4vXhZ!}!*SC`+AUi_lEul}amul!@RU;8b!IJtc3CB@cNt+I~Kp1Vg6J^F+$ zaQ%2M*N^w$*iNsn$u|t^O{1OhRA0Tig=4#_FT8QJoY*e&jcxPhrnWb4X!qs~9ck(Al9Xr(b^bix)Smk#PHLTw#>GRGG!Ie8Cd~#R7BhzAzI{_~SLkBfQrR-6rx@OpF6I;Teu&wXXCUZ(Uz_osZ0HbSGB_I6Z{18FA{j_9zbRkTMe{6F|PfOaN-_UYevO{nm z(-_eyKw`pY>}m^uNll|*0lWR(_yC_d0>;X-5e;d3pl`%t_2|(#vR=7^tE4WZ8FkL6 zuf^7u)NQZW7-qE1SC1{%H7&f3KDTXd=L|GJZ`|BxOr(y#6f8>mx}#qA zQAQzI4bXYWDY>Pc7}h`ZwG4gk+m0hJ{9UBOjWlmrFL*$kG8cz~N{0ty`D8eyU6{v< z-nMq~X8EP#EKQKKw39$vh)C+A-rPBfL@JaXBXie>>gV(*((}x1$t{`N$nTz+_d#EC zA6s~VEoyT63Vp%2!-6C7T%TooxMfknieQPamCP15Z7sKlq{d z>kmBpxPIuV2lSaI?$dWYd`|altmqOq5?{G=T`yj`AzwpY^J$Hf+V=IU+PiU02Yg!_ z?QC&k+bNDMmro#V?}y6zt1)*VJ2urrMMb`<=IKBQhnHxZ+qlZf^TgTndib$Z`ktTO z(bGS6Rn3OixB3t?$e6p%>9+#p&T~>L*N>h1PO^p+BoUrENT?4%(nFX_jwgWICQ>1o zIHxXjXpv|MnJ>rK#6h$9*@0l?{FOJQMLjup*l5VqSroE~)>>m?*D2s-P9<3baKEYh zM+_M~`+QSr28~Xyuc*P;j6JrHY6~_)?>^t)CTxZ?pykBW0k);ZQMK6I;lMg3Y>V?M zI8H4?E0dVbzw=ufFyUTYlx+qB`o2?(11U~|HqVfs;Y4O!Rb=u$k;&~!9>WfwGzBK* zha@xfOj#_GYnOF+^(`H|{i+Twy-{HA(p%iOU)1i!%i8Bd_WqUY+UMT?aPy|7dpI8S zch>K*Mt6sEpRut|X`AcsINfCWsBTs@;)FIUC$ybf^`+X$^g1F>pGohHI(;(YYOKG(7jJN;xs9!GkoDs;Z?_ zD@cR=A{lrQtOv|juJr~R>smQ}T*LKs4V$6XpdCMXLTBzdrwb20phq8lOwYXk{rcDk zKdA40{$u))PkvPY!gqgEfB56i=&^gx=<4piUb=WquV1>RD|TvpTid#ELpwKEcXn!= z*rxk9HC{L~dqr7C*lW9sZP?>9m$XsF&RnsM$Okr7w6R`2roqMut(`oh(|j9$_LBpB z-@kT64}5%!rg^t=FE91Iv+o7bGta*~)`xy!OI7)qx0Do2oOc;Gt2YEfcZx*OXYK+D zp+wm;rxz&s+aohvCKMqBe?qw_C1+xv5tbFOz7A(G;)E7#EXSL5RixhJ*)J6l$VuUP z=ei=Gp~s6LNJX$7lJW%7hLV{_?u?=Xo=GkiATwB7%JamvAOOk4yVNdcmZ{6(8VEr16s#tyO<>z@}$$0H_Gwu0arK& zns7zf;jz0+Khd7H%gm4{PQT?vA}gul&9>u&>y0J5jb*c$;1p)ETQr1HswB4&{iQwhB|~E|=sd_1mnS1vkl)XU`ij~}r9YD^$Cd-WiHsQ2 z3FDb@UQG;jv%RVtanW}f*oV9)zU}iBuhVz4%XPdPZ%%jHg;srA;k^{zX~=SZ8Fxi@ z>M{RLn&sXFEWThZ@TKBQ=t7EgA!u|7CwtpN;e(4SI@sCMgm1M|ZZ5`#gAq3v`x-O1 zcQ3uID=&Obdl$c{Ax@?luBbR6oKdO=YS`$j;cD3!Qn^ks-_Y3ceYxYmIMpC(hifd+&cl&piDB{owN-)en5= z8Tm&fm$!HI*3}!jadTU{tk2QGzDE1IthXIaxHg?}?b-6(zvE<>c@fTDXVjr^9n?>| zWSde|Y|e9AWLh&&O?w-zS67am)W)f^I)DC*KK5fXJ^v@J>iGSKEVH1TzP&*IF9h#- zWvmbX_uE|QO3ZpG_|rT@1nb8g;SxPKM{RS7J~3yhSWjFgxS?~Z6YGdr)D)1QpoExG z#EW!6Vj~0M`xaI7(r@U(49g3GSGhGmdR}X6_ZW3h0q?S zhY?OEnI~{ZI@#Y>&BTldoI=|> z51d+y{0!YKI_%JjZuEHEIt+0=Esmq*lsFrWHRZYtb2Xh*IItB(I;m>)yz2D}s*gPY zTu@5u(j?T)Lb+psbhYv{IH657;(G9Kb62AsoSQcg>zqumr&UYebS!3%ZP1U2mj>Hq z8{8M}*BMS=f;}V3jIinA&PdmG$K_jDi{qoasFOIT+XKsZ)@3e1dzZ)c8Qz8cZIOd| z7I0?)+rQEzUUK?c0)biA$&=ulTQBO;)7m^>TV#>4*@tu{OE}z?4K3# zE;YOh`Q5Gfjtk6Hl|iHZ^Q@CO$>@8-dkNmo%Wcw?FSOde`MUNtFKgddb=R+G=hBv-W|QP2WMQtaq65NdEW_r&(G}X!B6fW=$4XvtH=GYBy;vPJGGli zv{vq@pyI+upYa8lW*i|T!r6J6d9!fdU~+aehnUOgC~qXQG2fC3NPVuaA4^Pv+CN!o zo^LhPEKga?Gp$wY;4^vCoHB?!bZVwP2E zl6QMLY08E@;>v9y;C z6Vmol2#1z5V1isYf1YI#T)A34YlMRvbG5d6I8`0e+4V-}Pps&~u-0mo)Z3#{Mxq=Y zb-*S*VKaB%F~wE(I%WE@l^21X+Ke}^7H{JT+u@)(@)>(N+VB3XS%fq66dl;#0WFKD zW${b_^QJfor!&g8lxz9!G{bRBxhfkUbebGs&xET94W+co_|?=Oe0-j%;s+&Hm~#}kGm3sE4UJE>x$kT;DWFHu)3 z+dHKVWA_F2f9dU;68tJv%(;XRS!KTpoQcSDx+7xuD(J9*OHE9Z3m&5OGF_V4P->%XZ> zFZ{aR{Jme+Yrpxob@}VRDc@{Vb<-ex~Bs$amCjdRAySXmsNE zG1W{i3PCBV%Bi5ovJ%vmGscM1P)B*!Gr_rxa11xN!lzJsSR9 z4H%!QsJDZev1n`)rYSe@>Y=)*HDj%ead38SZ5Lvl3jeCM4eHC<-#*m#wJq)Y>W9_0BxI*#?8HJzD*cx|R7I1P10CvdT_*j0 z;M7*sIPKI?FCA|ReI7x3TPk*b4nA!U*q|=%Z0hpCRb9&$HPNA}ZYbV1RRZ7B`gE>~ z4C;uNpZBIvwcHcn?Hh%V#P=Z$V`9epnp^rTC0i8Q@MwhSO)Z16CX^-#L`%+aas)qU+g>Ar=s48ec1D(@a#VN5~SyKZHSJrjx_z6At znWQIvU`q-#&8IA=mcwFbBHRx>C!&{1B@51jDb|qDWx))KPIElh5OBy6hZ7)|bu*VL zN_!txX70a{6 zOop2~JJ^|Z%pZrVS`IU=^_&hE;FD_`I_621Dw8x|({G@=t^=+n$4s2swm@*(Pp%Gh z{@AK6oIas5r;h8P2k+M>o_#|1Y&068q8}HxtcTIGlYdAu^Ty30XqosTxIG?7ryeUW zu#OGiINeeT&yXEpn`lo~QU^@&WD|5v(L3Q3HsM6IzjLU)tpnY>bW>Yb_H=M_ij(Wq z=2{&PO!Ax>wX>|8>Y}IUBj2&myTe0ue9H>@V!(As&7HsN>Qoiks8%qc0Uv0JSD(&; zd;S@l2pbAc?XWDq3H>Z&It7cVT3aV=l$rE7OK$g+_P9-NZ|&>q-Wd6gF|3(aso)|E zSm>Gdg7!})>43XDSy^>Wr{9J5PfD`RQr7hrB&bEIQ(!A;6&f=qEO&KuU0>h&rml9E zv|n$kTy^8j%*&)YYKJK*AxbRKE$YKjMY@HF{^+^?qsKOI*^qB#z>%yA&V`R?&M#$_ zP;+`%BHrqhp7kDayL&?WSI=pe&Hj*EoJnfcHAyYwG-FSiOlN!&n9Bc&iDArl@zKG7 z4*5Pc;yQ1Jb8FcjTAWeGy37W@98;Fwr~msg%kucUZOLTi4mvU!@PK)4BcfE*YMMsP zV4y@h0$o)~s!~##Lsd8O?L}2pE<)>a;rW-B_uv13o_p#UJ@U|l+UMrutxK1+%ibj_ zus#-$TE3;tu-|Fs8+&FS%j_9qT@{6x7}m}Di>gszQ#kd0M%uqCGrCXpo&y%fTTKAS{V-2 zFd>}J$OwKI)a#gdlVOr|OgQ(5uNj4-oq51%Q3fvtqM%B3DRu7HX|4Nhi9BRgN}4gT z`!Yf%6cIXcY^|gUX;>#6P}djU+|(7W;Eo;J&|{B1s`pC{k0(_1BLhjd|0X9Pqa1#Z2GK4o8~uW;2a9@dB}i>v!%{qBpe>-DQ!x^aD%Q`&*1lbOV#jjATC6&^p{ z0G;n>Ye%E{(^<#-$@;?En;se37~m=;RXCT#8Z6Glyg1Ur`)o#5 ztkt9e``ejw=k$T6pV6})_<#V$KsmpLtE;+v?V7fBwq$!Eq!dZPe$rukhwT|h&SICm zLr@=xR0J!8Q;(D9QD94?nzhNEz)NE^LnRzqJy_Ln?YK^yJfmm7ztIPNVpFN^0iVJk^*uuOO75+TiVTW}^N|cK^ z)k(-aW7aX|?Zb}6cAM6)LC%$(Tz!3)K?)!EhTT=-cWr~Y8ccR z*9{rxacy@~m$*9G8tusr$K{9ARU;Ejo?ds-&fcLCd1}$du-5zTJ*9`wtm&7(_=?uK zk3N3tv>tolyfy}vs21B)+7l6C{_)LarV-baEp^(7bzUHrbcL=2xsqk)&-8RqS7Oqo z!9amMs%wcitPUOrG~O~N+Pu1>>wM3;>h#*KZd}{f&CPus;A9U+Q~AG}8&UZVi$dog z)ar*mrH$|UjMBXiX#Kl>K*xUI4{GE4e?;rw|3eyn>U&gw9$C@$s48a7FfpMFU1JM)Ns{_Vf2Z%n?ToM!4zXxJ8- zhb*J>p`O$F#PlA!6)$LcPI7uT+MN9zBnvIyL6JK}msPkyck;iZyjwOe5Sk z>9(Xx($&YMZ~UaXw|_*Fg9o%f$=W&?N|hodd0z<+EPx#u;mJC~;B~&euAFx}A!>#&(Fcm&?9F4jYwfMb#+r2_g;Glz8#1c~Mm_@d&^^aUvPwB(GV>?nlCmawtetjS*QeLDHQ7>KRq|#WL5UQ|%c*~$zMF80@PfJsZ7GE&<_qL+CP};@}*6E?Q5@UcjJU+4?d(z`-fWp$j3Cf z_kK-IozbZu{1Kh~gMU=VKly`Nf9AtldH8XyJoqS1>iblky-)SYQ)*6~)$r_j4ez;M z!}Gw|bE?;v|Av|2$>3wniGPuBstl-cajCiE9iY z+cJ)xHxu5N$6SxjX#CqZ_w@RWUHLlL(9svZs#zW4&`Li@rB57nQt3>RJD;RfNba$M z{60mwul+9CLN?Fy0h7!4*2ART>7JShyDZvwaz-hVkJ>%vDjiu=?2T($-5hEA>%R&d^vqL`m)S-guj;&--)6l!;X;er1b5w9EsD`{i@&iVb!ny zl)9Y{YkxM>E-z6xclNctd!Rj>+&NA!yZ{?AdrS5NU@T?85h*1_3bG+0dHUF)M5>fnzdo5&gGN;|RN`eX zrK-rMlvDtjs48elsWMcmSqrB)tv&v}r}W?>kCjvB4V;=!mbq<}YIFmc)1-eSBKEPs zM&ZQ51{6>qpcSJ$X%$k0qNhSJ%&y5av*-@W2;xPBqWpN-V7sEN>_oB6DubQ%}jG+dKne*yef- z&S6K0{i7=mZQLDdYqG8V>48!tQM4>#_X}dO9e(3(VOY08?-E=ll|h$_Q7`FSi4%hy z(6!EHxH23%r>+c!ihQM{CKw28NvhBjP^2Jl<6M7*_4J_ZxN6!wVDb!sUVmuDwSnc_ z;*IrnNud?qjH;Amr|rpF>O`m8oZz?EzTva#&VTeHy725r8TU#w000mGNkl4X!C7kI0xu62Ts$!U71=bw2@zIL@zv`aOMmupKYQ)a3uFA^iJecX>!rO&-~js8Iz zI}#0TSj4V>ckcjth62wId?)V){W#`#V;6ed(pK`{Dq865=m|rSr-~?uXI4SPzNQ&3 zDVI5+?oJMLRd4CVoo{Mqva2)0lRC(Iw7yk#LFPdzwMa|Gy`v-Rs6q}!9K?C!phwS9 z{s=i@6~tum#yVUl*e@@@`v!Q4Ig|caJ3eZfD}>z-4@^q-&HsZ3Fo^q2vSAH_K}r0Z`W^FD4DSV8k`SDfYXjmW`;wW zF{wO}tOFK0X397L%Q$acGbUV(?Wazh)(IR}!kVf|)LmHw`+~Q&or24}lr&{B$N@z& z-pZ^8mTK%>W%7x(vlit4e(Kj=yvViLb!p?QKKIs^e&e;9`qfvr^yW@0*VVC;&AKcO zWOBKbDzzn_u{SHr;{YHBnS2&ekYJWoX^Jj`_%EKmUtWNklow7$!)}eF1_};{@Ty~ye_`{s@{0z*?;_3 zwE6a1y8Oz^`usoqHGTG%|Bn9Bzw>|A-~Rc(s$clee_ns%=l+WR%3t{N`gi}W|CRnf zf8pQO-~3PhL%sOBzp0nM^m%>pAOD(uiCN8f8qgE)R!5Xjlyns02vcFs^ED?Tit1Yh_w=`t zc{hHP3VUuY$x;kD;_b#S11`}pdkGhr}T*W?9v34qMH&WFoRkfPoicXxpNB2GSu-1;B;DvLnj&2V6d4O54xonX!t%sv>MPCu5hPkXoAoVh)^qV)G@9?3R|ep?eM8gfklAx5tXt+?gxWy>Zr&xs)Q~aVOQEB+PZ)MkGj%eV^!x) zt!V$^n|kBb*Y(-I{||H(r*#?p${TO$U}s0a_xaE3zxet8R6Ex<_1FLF|5`u)SO1Fs z=YRZ<=zsk)Kc!#!Z~mHo@vr@-`q%!&AJd=wi67FR{WE`3|F=K?Z|bvu?-%uR|G~ef zpZ|;hzW&C4`g8j2U;c&i^Wne!k3Oqk`RqT^U-I;ZyeGr9 zzNf(N2lLyigoeIbTVNG4n0p$nseAhg{qkFv^q+k5%li3meqR6Gi(l1CH*e~I>$fqR z`PO90&C5+)x_nue-hNwGadMlivuzyQ-nC0Q#KBE=HZ?okQOC)=V}J2P2-dpFh!Pve z?v9sg&v7xBu0BK0$Yj=va8zN3RyPXcRig?U42d+cKUMG(JcH>g8^?6~^cgiPtD2Tm zbvB#|*ZHLJ_;bhg z+)r^+H-9-Rx+v9amXbjfT%|x6@F$r_8_{MVHRK> zRX_?<2B~ffL9R+{38es;@?_*P#X2BE$^OhG+hVHVcGy$O;wTV;A`Pob6$8A@$KOLX zO%I|7c49SkBnlW$NLQ(ruN!CVPA$8XzvWa_LRxS$b#>bE&(d)^wjv@F5lSiX9cZez zE?rU|f~(rB-M-5xm&-=(zRCzhs-SfWR~~_>A)nehI;u~l4#Ad*-{KfrUL+KfCzsOP z9@?5Hf9BpZdi+$S7k~RV^sB%5S^c%Y^q2LQ|D(UCzwnp-qW<##{Xfuu_;dfUe&e@) zom1EUNxLt7S%2_@&*{fM{1N@cM?bC~`}p(v$xnT^e*EK~(oa19DgE$sAJ;PvJfgEF z&uGJMWyeqI{`()&laD^BN6y@ZX?Yp#1}} zWAY`XlF#&HL4F@2>ohD>W+S%I=^Uy`TvvyhO4=VybYpj412&;?H_@mYVI2%?vmQ)V zX^i^dyuo@63w&9IqP_4uw#*#u69_!FilB(6=Q+MDW5ONa!grAVxy#b$clN_wZCq~4 zGJc0}bhY+)>D**b_y$*sU**Jg|MTCcdq4dLb^Jr$rRt&gY0Rl)r&-mt(Nu45ZtIPU zm-QwuiWgsdO*gojv~xSaxsA52YkIJ)cD%0^$JTKpQBG~HGy1vN;nX_Ttmm}Tj5zxny(=%4Vr-VO(qsn6Bl z8v3BBBwI&DtaBQs6m9-5$^1&6I|HxP+6lDb~!$S?X zsuZfIL48<~EClBbB|~J~0D9Y#6|qdug;THGm`g5y+z}Rh3doY8hZpvKjRT z`2ib}2tG-rkPt_6)^WaDk){5=T*FC85Eh%TjzZGrB&%iPcRMF-C!f$->c($LQ3;bI zC4e5He%oN^tPmR@;Rt8E_)U=Q5KR=T;09%Y2vx&c_dR^S{wJULgnshlPwA^~y~>;B zb-nS%tNQvEe^1Zdd!Ih>_>+3{+-W_>{rd+VdsI(8{IH(n+Tzg%9@4`PKAYDzI@A+;$`rv(9 zIkuu|1-mLKBGmFSkm)U9qTe7#2m2c1&^XL8j-d%}zh8a(h9Z(wIzyUKMub8W1;Lje z_eG||+?NY_FfjGpi7sfr->KVS=vWg5n|7yl45_AkM`MU}e4{QVw5*pcuBLX{Ep;*D zEVxlukOdG9e?C$HD~WvK6zH7)eYUu zwJsh`^g7P%<+m>Db#6m0zWxf%?N!;i?Qv>5+_|n1C$|Y>-|~6JbH|;YnZRA=wG1%V zy+&I0nifZrSu?7cH^r$96?SBUfz$vvl#BxtX*5Hnx&a1C@ao}EH7N^DrzO;u^95!bZ<=L^_MOGsupij<_PR;iCVO5N07@e;d&GkxI0>_?J9 zw}Np>-6FgzR%&sD220(Unr2wgjT>&|-JzmW`z6%V3(aDsxk2oPsr*!bln>S7$hIe2 znzA@&bd2RA0_PxAf$2HsrTesGh%P zJmzI9z-hR9{l+yLkII{$XiHR$!~`oM5ejUpRt7rv@CE(Y_k3J`?hpTfe(cG|^u(!i zI<~sb_ndW|Tsx-KdPVEQbq$*}zIUD0v5jMDSR_p~DB~0;^!Li7P=z7uOytgs^h;dp0EGbX#oi3K}3JdpqU zA7A%+jJpVJ@y+6^oY1mm=cldxqYtz-yP^HGjbKPNT8u7_?g(%TWi0dUz&}mdch$dS+dq-al2Lan-*N*r1|o%`3Z3ONwtnKQR(vzTTtENl z`*i=)AJUmep48fz`!qapPSvrKtZ&c*000mGNklQ;_vpS5(gO?r7}tZ!W2);C_i ztk+(9LvO$FTKQ4QjZ3fN;9loi^0FoeJDPDb(Xkf%!ra-Z0p79(wpH>-dlY_8*Sax=;n2ew>LG#$(h!=e%4pUhRhnv zOjw?yZYj7UfJbGXMj`>KN(mbhdrsmdKh?D=>OOuxDU#k1AO%E^-XbMi9@C7NPFfO2 z2J%|wo3_X=c%~VgU!-^9&M%-Z-{H>O(bGJ^kxextKjXTwsgh`0*+f7^YsI#uep%-u zYx+E7o}QW&{M8hyfSL`sExjfsaKtDZa_>aY9U?@`{~ILm`IAWvp#T#xInXvwHO4-2 zvIA(b*LoX_jfg^vaGJT+8p<|h2DN2yr%bGUuEVwucICVXH5++FSx}miao!y~S~|CR z=GSn_pIBRE<83q{KWHjZMJYlBix2qcskDbtXGErZ^_lloK7yk9^4iRX3l_=Z{<&_<`A{b`VBdRBHn*{)Qn#olo_osHGfPm07z ztkoOWwzWI%%6L>&Rm#y3q9=+&RD=@k)O!S1V|LNo8T)4k343m7r*S2dO6+JsDJg~> z_`HaqS<$mnkd99s1&27X9)tuI1u&No(WhXVdJgfA|-c;YbwySSmysp>YzN|Oj ze5*LP>u&4Tz#Z;$VguKRcswCEi*pFl*fdGUv z5soaVI|eICK*jg12B>Np!b|p)&nx5Y8#uKans8d2?ro{{iE*^Aj=iLtJGYL7@A@$Y zb2`9Q+}ZgdIz_3fmFSmn3WPV?J4I)KMG?(w0(os3+ zJh$X2TzDof?DS(xMQOazIxC`szTi zz2H>aQ82s{%hf99dbGwb7w#1q&9=;{>UK(^=1*m8A_67>hR==s#1ru z@hNRKI#i}z8By5O0OlffrD&3B>R&xcI|q&K$GQEXk3PfqvZwT!#~#xCtCiAdSM{(} zJD92)hE~p>)%qik=;X7{>caPYM(_WLKc@Hp$RE}Re&S!y$N!Z-rH_2i59=A;SUh~wCt~9q4<)FI0t_2ozuIE70 zI2StLC1Qh3=e~`5^w#VZP19IjS3&8cH=cR9MG|wwscTrI#?87jHO;V~Ti*FaYP#`7 zdMEDu0$lD+aJf5ai@e*q!0(z`F^qWv_8mO`B!#}iGA*y_Ia;y2lqh@u`3IQSD@tS% zb33snhbyZ(dG@^SeeC_Z_lfuG^o0j>j2FF)6DPIG4aWd}G^^^WMxz*LJ2$#C#kn0w z-`HvO&FlMmiMjsDD{ttnS6=37@-^+>yuzt%mo+_N{^LNXONPY0F$av0Qq6o}Zl|Qc zNQ1CRfzyH~99z^w#b8Zo2&}BB!O;##tBB&bW_&8JL!02-3hdm_bnj+yZXGZ3d4dh> zV`4wzjZ>MIe5Z0+fc43K=+&i2GK6iAC~|AXl0ABmI>JHbQ|LWs%UlNOQjwPO%jK5w zBI{@_TM|dTQQmBv6J;`QE-hD#JF{(F8eP)Pbl(N3CHm^fRVi?28Ao9AOG&8kDJvw) z0EP2W(4ybE4e%pEyr8JV!TAJ2t`wU`=o0!{b;y?t5t@27w5)(4>Tk5hfDWsHFiEJ@ zN?mKf1UPr%m{!?%qcEhcojv%W!~_vKtgK3G#(X6ByE@{F-Sb|I<9~Pe=+!Im=C~us3{CS{tf9zAEl)CE8Y_Z$HIwa#_pX`MKIT2VKeQZ}ljs;*QG4Ym>Esmm?Mw7g@0C%h3({NJ6?CpnTj z7RLcj?n`g*w%Sh1$+1C?C|4)z2wG$yx%0V`Om*rcpU_;_o#MY=`4G%5IWC(M)ESj!pfU(WyYg13Cv^gnA+dF+74?tetJ z*E!=TAXqyoRT>OdwZS*EdmetD?tAJvoyWPI_6^4AQ(8ZMLMv;llp88=YF*UAMQWTY z?Q$h~WfFSjpw$c8BYox4mR@-6lHPdpP2ITiw)VF+HQ~E-+fJCqo(b~ODdU?(uLgh( zBF%}p#rhGcD(F#3UN1PbgncnwS6bOny~fL|9qrn>{PHetNIL46?Qg5V-j*i2)VtF= zw*LRG#;J|(ZJFCD7ARXIFPeU722^NlUhIi7U?P?vgT1WjVl1@sTN0K@= zDD&M&vMLR9)y`0+C-jwdYR2Z<=WfOM7K)P?W6PwZ za#`v~47{DrwcR~UO8LITlvCyoM{zrA*G08XG-w7mnTZ@So3K;cYR6_frwpvWrFHP! z&PBOQeFdjL2JZUMuo(=@l5IM~p3$shBcICGepB*pr|YtgY{86H`iWUXNlYZ0>ROqO z^8)bIW9MrN?7;+4g(8Kjx>Aipt5<8)8>>pkhRVj*R-g}5bSo*BIH=Qn z2Rn26gif#2Ivr!3(V>883vTD8LO1nLBaVSn60u=|WcXuv}(NI!er2WbQ1tpgT2h zS=Kaz=}!Myz}@Qm{i>%+6TT@Y)hX=Pbm80uRjf1D>1h%XiU3k#em7d>rs6cGxO<=E zHsk3J>z;?7(229>v~l8Oaca$QfLyJpn7@&j3nAY7G@52@`=5s6+rtZ6hx+21*Y%B8 zUf0DpUe(ssw{^&s;EWf)7N^qkl2>kESlijan$N5aF{gyaEOwv>37bVdQ8!Y9Gv(Sb zR@N1q(5lsAs@FF(;QM(EKUi0p8;@>$P_8>Odq+oovx6;7_qQ}Fzs}r~e?%hoNMVB^ zlV}LMkA$XJs1J+M#JFM31LFS;TWH#xE!(b)(!68svr*+HFz3E!P)crY+-$ z-jRh;o=m}@j+tg`K%ItZpp+^lxHCEz7IZQ^rkMn)DkR^uM1UAfbc)@sDpPO)GX@7T zHCc!n*&GBvg0gd}2#G;61++X!!nGDrU((67wL+iJ$wtb+gH+gCrKA?)S{!dgKovF6 zb5tCv6w%YFs^(3aHzWq#Q_$bfs8;5VDZj^Qf>QE^E2yT6ura7P1tzfI?Yknq^(1sJ zw7N1yI<+_y-Fv}C>=kg#A5NOw9Bnh)3A;PT0O(Up^m=Ip@fYhbWHXcS8jG_ zo$XU%JX)?2$NK!Mm*f{D_p7jXpVKO>qm8C`li(b9QmhAmetx8!#}0U_bk3#-+Kz0i80NEeN|8K z&GO6(x_0Ux=*HP!(CC4`sg;L+Tj!qsvYzkbDwfWQ){dXlnFk&%KNz|2z7OckeHXNT@}yST zj|Mokrm2-uDrH3Q-qErirmXdYNvn%H6MgyOmcIDn>w4vz-_*6&U(w#ROB&m;9q!>v zMjVFNf7z47n)aOSfpPReV;jnOLPR~V=LPnK9oTS%wR%i7>v?$Wqz1#Gf|FJ^;&TO8 zjCNY3ZRqZ1W6j3Y$@jI+j?O1K_S4Re%mAJZINRPS9+s<2|Hx#tzqC$uE2LYfFSVXZy25&%cYGAk(D~} z_A_IzPHG|*yE2wor?7uerQ&E@PuperbQuvyP*|cqA{5OSK+XGgmHY5>Cr)bEG%~G7 z(hPhM*-Sr3iT2sf37fR(DMjfIYco{Nqc1zN1mljfRiH=O=34TAE6PJQ{1NxpvPV{)}jvJQtR?8r<^AxQJEk9ty4Rn;19tZV)BF&x&q zs*@|KIkBaciYt*;{vUvj4@afmN2D+e000mGNklV$&RSK`zr769s$S(rL@ zOhR$C(`7-l^jFZ1hSS`N|G#f%kI8MO!{k$Bq(pyYb+lz-=L@*e8M~+G*x%pR=U%%k zDaz9^RD~kw3l}R4qN+;5v?Upc-{L{bw~)AG2wLo^7V__nrvyW-PV5EqEzOEqSZpxqU|CqmnFN*D&@?ln!+lP z2}W)sLbx-(AR+I1Nub>2Sz_Ep#cc&FYFH4zmHa~PZs|WwS?e2|n(4xiO!U4#a#D|d z`ht!y70u?df&(P_5P2q>d6nE)l(mPP#^omhxH@h^+WpU@BKsi z)8F^w8qN;+wzR`Zg-zQ(GGh+svX9_*;) zrM2@KpRey?2RI8$nKaurr_95=JTp?QXjYVb1<8rBI(Axv6K6GCJ0^A?+IOft85g|5 z#u^AL^y#pi5?wEQQpY;?smy8Tf9eZI*qO&3;2)K==$P!!+%!tx{v@GZ-zv=eR7LhE zqdwTA9y^Nro;=DfkO*WMq($DHam%XAX4J9a%{1Z4ai`sqJF-cQYC6h;;+pY4y%nfp zpDwCASX16YEMq*=(S=bW1nKmkR02#)Ko5}k@0(r@& zJo8*KrBFwG4e5Z*P}DP~+=R^}sJ9}&&IBCPwH)lQE8b>2IjJ3eZbhPvNmZ3}`q;Wo ztPa$qq*cl!>NlKZvmXu`k(DQv2o3Tr{aNZkzCs@IJ04!lXlu|GaXmWI&f!=G2EH$O z;~z7LX4pJq({GvZohPeo9pDOCNC70;muZ(LRL6w(M9fTXc@|N3;tef1#g@8hG+1BN zDo$xgTv;O})Za_f1P1rd&17Xpe`qqdjittCu%*Y3qQN`SIvs z2QzMwJK*HmvGD0qlX%y$3@CbuZ+pBkFzmO{{#j%aog0dxy2G%PLcKX|nIQ^~sYaUB z=R6~%rcRpSv`6&AiRP4OklJeEK~)!Q2)(dMSjKaqXs!%-5qg0I3&J~|yYlA5lAwYn z%=Puf3%y6>`Veu_H%H$(^nG!g%A-Qob(FaqGOv7|+)bj`a#zNjxbgI+9{R~v7e08O zPM*6@tE=m(*`#W2nU1eCI&)%OXZYTA>g+w*ICV~|C(dXMSU-6WPUt@U56t~(tZhk_ z--rEI#NKDP^P8ufv$C?X=Bh4Mv&e3Ci8RS3MNuS0wIGv_Ex`f|2(kggwg3bAF4^!W z`-^Q@HVhds3<)$SgQ7^0?76$TyQ;h9%DHlQnQxx%e1;wV{o|Z{-+3=z)-s#Y~k>R%1uUg*#mU?oHbyWvVLd4gm0|Z_NV&e zcW>zrzyF$E``&kT^Q|B0;QITT@||mbyswTERB^ptObF2Yi7%jNPD<+>*acPRJGMiPmeV#AQ?% zsv>_Vopi_gU~-ka{|9<7-P41~p7v-^#tFFpJfNL^@OuPP&>&<@PygqZKpu7KBu53QZ8H2VyD$a=A_2-Wq_v)cIT0*ijlw`I#_!L z2W;SWT=Jfx&GiwwY|o-*#N_`{;?});y1TotrX47!glu6uV}ua!iDtq;Qc%9u^MpFW z35{F6Z%I|Zoh;}R!`@Vi2+>Wtxp$;pt}_ofB^?}3<#IEezzlr`_oaBKw$9gL9D7h8 z8#HHPdD3+_HD3=@A!HIxEH@4IXNzet7;3n_rnNKM+PH8^W3C9>tyXz0DGyy>#-cgY z^bm)(dsp4ju8MyNXwIA5@ovq}rw5wj{7PHY?u<3Qa$0LopJ&YsF(+6QSs6zgDGLI! zT|GTdSvVaY$8*99_>k{uzw`PBiqvSpBC0lXLJxp~YO#GGJ98JyPg!E7J1^(m866lM z*{M@3e-`{j9MMx_L0E|s4rwL(Q&HDpcxX#kO?ScY0AYji+6-*zKx|?GkMMXG9k78+ z%0$O;q*dt?66gZ!b%QR#<7PjeUr326=m`D%&&TOQlbcjXpA=}$NqxNv%Rfoh zw2#wc-p>jjs{=;+)NP&m)Ra@$j)tQ(MI;^W-`B01Z)%u|b~eV^-rV4#VOzts4Q0MH zrFJMW|AKXrnpO!s;Q$)wEhn?~{te}KUsZbJPoy`#t?u0)sJs5Qy1UoZ?cKr2?bU0+ zGWUx~scUTe>?K`%;Zr!Zm-w!BUgJ&b<0U%d)V!Cut)9bP*ByJ*oR|N(_bb-?U2bf? z^Wi=H&iCKYpZxKk=)E6)Tle03Lr0v}=KHKczI_$HT;c=^;0>g7G@g#P&IQh}(Dq{R zI!x?Iv`fuUF<9f%!)XoA@-6(_West-Lat6?ba)&?%tdt1d7+$f?KwN#*Br-Iof&&g z-DlYQ3O2i3M;kb}xmgbZlblJ8o(xL~Dtm+<@ksWBZSfPHGricVyy-pkd{UE0MEan+ zr+1Iu*3~069~$n(W(`vsln`jx5E53;=nTYb^-eA4)M`|z;&Dk5f_WYQP(ndsmG=;b z$(VKZdrLZLkEw=Gi%o5AH055nK$`IJ60_7YkaIeEpOZm{ZLn0!BX7B5CQqA_B0_G9 zX%V47(6&!`6Phq_=Ct!3AM_{4$Fi(t_Zj3FyapZP!Juwq1L~wW0WIiq`@qN(T*v_G za5O8lE3m1^|CPmU>e%OmcE~aQn9bid`8Omz(dX3NF?mkFjzK)Nj*ur*b!c2Wc1*;M zh1g-gXn#U1DU?$vp(96D&aDRHu|}shwRUbtBTj7Xsgcq;2DVe$a)=Z1LVbXWL-ZeT z9l58O4%7|iN;?A$F7IfJBO9FAQO;@M?3oBDXEoj!NZtN9_84Z2Pqm-1IA%k?arc3~ z_1;bSS&R>L2Mf`IXCm30k}-e`aUZPLlA>J>9Tu0qoEA@*u|WTY#VN#k)u0W= z)0UOmAGRrAw2k0N!$Fqkky|y_R1^AhS9df|6Im{Bel^v9hll!V>7uGrk3T*Car#Q0 zA$pkm3G!8L$)~!9WsH4Kb7`@t$&cJkwiu4)j~EUe!1LdRlu|v-+ZWz>DSt zgXd`JWRq2&LR*%=+Apm43UzHzW6Gj2N<*C5#*PN3FR=EnXt;G+!J3u#70QXzU&Yx^ zs#7~U;3apTZ}vy*1KifI#}?$O?pmgk{dqNE8I@(4mg!1@AuBmr@kmbYk$7AN5tDkY zWFHAnkY9+p5Rx?s?t-KvO&7zY}bO03`oNO7Ku$Jh(i%cIWvi| zadSKdZ`6VBbKNKE_XHb{Mha*YShSCUb92XohSLVELt(>p^4Q=08L#JNp5ae1QKq0QaT6zb|ErDkyV zi*0t_&6#9|f+OoV*%dnyPSQfieUnqFn`~gCd%$hTxlub_)9Cb$MiYRobPiw$;woG58$mpdVDU?%EMrY=9738aJ)HlPX z`SLB)sZVFW{n}Mdr86Aoj6P&xMv@=QRYdTT!4cLO6BQ@@R4T3-Wzngy_yi zd_qIdg0hee>svBA`f-W=TnQ%1YNmYLXX?ndtnn?8%1y4kkVKczmZIsjaO$6Fb2QNU zXeihF-tpVIQQp^aX0yo0E=qeSRKvp7ivIINfvSH_6}4?2Qzu` z9Y~St7TNHWOJ?q3;RRC2CsFYqqc$lp=0fv z=BvPht_qezCL$!a$*0q`Ej8O`)EdScG?%tYs(pg2*d6K2>O5z>XivG>nzPq>Px78q zf%*!vvuRNBqhYbC^<*Zk|7Z!zma?QjUe5F<&`#u+#ZD4Bx8jAS%(Y*3b$5142i>98 zIIa%c786PZ+CeJ0f2_{6Vkz6bNUIa$IPH^y&^Mr6q9FuPL?hnFT)iDzK$$Na zJEfjBQG$xHg{8WYu@{%QoW4&i7Chn&)c{tR)S4{PspYOzz> z=Q{4-;81pI6Hb^jPxRSLb0&`4<@#Jphg~%f!INypb--*k)tuCmnVCuB=gQa-5!e#c zR;tY)3T#U`D>Jq&6TIQAa=_c#@XQ4bFI>^!!etH4U)Jy}dA>IccTOvh)>+VNlxdX{ zWg|$FQclVZi=BR`4lS}U51ZW=GgUirYRA}ie|Jy6{rZPGdFW5unse5G@|Lab)1!|^ z&@C{yNR>0PB4(MD>=V()Wg_Bce-zCqC&gk0lRZeQh$t0+i000mGNklt`+AMJ?2SZQrrc?-w3d0GvQtzmz)^A5MI&PO^L z8)v*APjPHci=C!B3wi;%#~hl~Q;m|N1;iq8p(UoCWNAaCQ&~-WX3eZbJ%34ZIm0sR zWFfJLJvqJL=Ug!Dbr1C6^s25NT+NV#0h+S@2aW{&Gj`5 z-i*OMVsLFksTCGvie^ke=POWnZP;qeWQzzTz*2|Q=Z4L&DW`;rBG;E_)r7`R;17@u zJ$&ZST?Sz-z3M|InE!G4d5NkgQ}Dz42fA_ZzV7Yq$xhAxs>T7QzX=m*hTXFXPL0WK zJ26A{sytQQcQ9 z60{UqsU%e73MsWpENVl}2|Sdry~?q1G&rP`GBp?G!%Q=5S)4S%S!lxzEBGpwuw}A#{vA$s?i8w?`;HSLQ@`wVo5=PeHn+Z3(%+;4`NhZEhqD z2LVOO5J%u`6Xe~(#1x21KV%)fcK^+KO+M|Wnx;b?=Yz%fH1SY`0K&{8fGom-sBnib zDF0uGmr8${rk@~In8S}0U$q%Vc`Og9h7-zAWSM~lo-{WLF!J#!84hI@@D>DExFRXs)%I$!@%(5EKfx>#N>C#{)keHo}Um#`h z+Gn0dT{DfuT8NxUT3{gSwEm{nF_6;%w;72>7QiSeKv#jR!)giV4W`lcs%7*s54tR8s1oFBx`X0 zQ3>5>sDbL`CqbJn-vk!!2`c((MFqmbx1FhA};TgBw5S^}L#$<4Qjm^8EewRJQ&Ka}M=7};5 zwihxTG|aRLk*$E~HE-Jvrkw(N8x*?yk8khkmYv#zJ?(KyJK&gq#3^lx)3sx;^PRKG z=Gf4o$hiB+`8iJ26U|P<;QDKY7@e9%xk9VV8<-*Gfs!3m)2iW3%@ep8j^G2sp<3jc z;ZV(Zw7~gL-V9nL+MQ@$(6*pak&;pd&=Y{*L6+^B+7VaVXF8rt^hhUnQ84Jowaq``%1v&$qgCWvKP_%nMaf z(X%vGz2+{kMp6MC8J{5D5jGaWCe-gi1Wpn!Lzh6B`1=1KSO-q+o$?`rS;H+6XHs-}Ebn;-7U zzd|owAPakua5P?FJxC!jNahvxiBg^13_A@d4*0Cy#0f3q(3;a1HP}9@c5Ph=dN9!w zV6nN^GcVb5)^?e*3)wy#8VNN>mJ#YaJnkjAVj_Y`J&?7OlP3WR7G%pWF#RO?Dpn&c z9u(LjOu|IEqthW*jdzak>fGq8&W<*rZbE;f1)>F_E*o7{r0nooXoKH3D=IWSjh8*s~qP)~;4Krrp zeNH_>=lW=r4!#Ug5;EJ7@jC&VHD`NoV%AzJBr?j6na{@vZ`)NbFuj|14(esyX`n&1!&c5d@} z4N1FcoAEhU6LTi%0y=IXrkc~=9X1yX#(ZTKUBbwSP^7Fx8xjsoI4TVWavJ1QJ5)ke zEPBfsR3F+#-vs(ZTC5bi!+oBz0+|TM^dT*^EMS+}Ymrfg%#?g#Lop#Y`Oz4Pgj%)GGQjMN50CtgEZY6C#^oa-SMs1=IWT zeY(p3INY*^C-7HIGuwStQ=*e1u9y63aJdscj8&0}uQK7!Z=TWZ8*k|P)$eQf!3`BQ z_XM4;Rqc23Q%)E&=3?iQ3=H>wiY%q1l#?Q71-Oeb2sJozeTD@+AbEU9J@0X7Vy#p@ z<3DGySroq^4+>jdbK)EgkTsDhRcT#Q;~RuXG5tdLGnmod*^qVrCHo&@SptQ(rs znWj1}hw=$+S|)mD@2YMe-p3(La2};vRa^+D9k5JEx}{TLp>;s99B*9(T?Ko%VXVA@jskB1 zGZmau2h3@^X+o#_O0+)#!CR(?TpDO1#CI3>-9ZsG9;Ct^XB+aSUeQG?Qj7I}v z7$%Y=`XWd@9}B%Z;O(01zmyPIV)#jwMLguD6qJyTjyg8dnVg>I zpVuOxjy}H4c)oh?RUMTBy*qzHN3mDAicVEGQ7kAAWBU7HW(E6*;0kXQt%J2Bd|a82 zqr2FWSLc%ROZbRc)I(TuKbp|AN?fX2;47I`eXID2h*ojSIG-k)+PM9fv^Lt*uuU2^ zQRO^WXRMXU(J{9KN1Cz`&;1+BteLLNsJ{bjG4cTlM1&$jA}pf?Djr0O=cy|;6`2A~ zVCutUz89QXuy(|L#DL51xe-}`@jR^@7$mw-xh=%07;4|Gv7zU6sRqmC2C` z?JKN(*IjL>#)$`gUVC2KfcFls>w<$S^o#hM<5Qj#O2akPe=P{7HadMl?Z&1uFTTNi zpU-ESQO2jVIqeJ@NXvE7Eo6dzVLQ|EfnsjW!Kvw!BFjN{X_Aiy^8tb|Qja{n-pZ^T zwmI!~_jG%HL)VT!P?HiHc4$V2>@z7?i(>!P48)}-4Bi}GU%fRNsxl&P<|IEgbaZk7 z=1c&CXnVolj*<)k*-j03Ko97do|-anEqF@@`?nqE@Y!}{TXRZEy-}2br70b6T7$!x z+kWa2wtK_1&duRi+v9clDsh-|ZM)@jN^(0q!P*p>(B?p)`@jy#vvr*fcigsYy`q1L z4vr65P%Tn~g83A%4$Otnhf-y2X28hkZmBE7e(&y)ZrZ8czpLAK@95sWyV~E|)#2fR zCVZHk;8dnez!?i?&VbAq8=r=z^?Gt5I}*c;HqTkOwGYu9wB2>pi4NTpxL~XNTT?8C zZtuPd*Mg=MCU@bRoN$m8s{B;JIEgl`g2%3~Kni{8x{P;@Zd=QfV9Sn^G&8gb~`CnQHtVp(x^of1!+-TJ>)-qOFY3>H;<7$*eoMddnV0n9^Dk=q>?Lg=w{_u) zHZMG-jkA|E;-uGd;%jmv*<9LE478_UTd}=nM5sR4)?s4-OfKY0nX9nA7i<1Vg*6}0 z1Do@BQw`tN24^nG-`0H7Q)qkLf7pZP$SQYLwU$-5Dw{$}7xX8`OX-g=DQe?BLSG@& zqR90%E?K5j6r>IqTXF#&%UY3?wSeBpdR2Xj?n8#*(Pbsi3d6r#{d8j07*naRK}Z6gM7yz&S{V#Czlpy zS!u!~ZgbKm3#ehT2CXm1O+3(69*&lW8(0Nigp@83I=|6a=u?bglf zx_9TM4t5{taDQJ%TtiNAHZ#L~q8aU);NVQF4)5rQH_?fvELQV6Iteqej7n*X&9Gw% zCcEv82&^cIzcFRr#RUOeSM7c zwf*_%&CE1ICWVU#}}0OSx=kVj@*b}T8BZaS z8dmX2Sc&?gHpRHXY?m>fCZ{#J{j8=CcXRMfp&RG+<$Oihr9Q1 zY`dEBGB@L@uA3gIW4&~&+pe23kJ%F#WUu=L%vD$~-g^prMPX9fhQeGg9&|FUzqT`& zH90FajWTN|*L9OIv#vJMMF>V+)$pX0vU1yMR;X^*HixA)mXV!I_I{xgu;fwv_w}9=s$eHA1NhCqqTjqMlf! zT08}t1(dou;FM^S+!p$w;H(NaGA^5V+0W}cIJUE#)V5LGGQVe<9#2T8D)@}5(PK;% zs1(T)R?dkOh^0tA8eDXh>bzl<*5k_>Yu5O3p5ZJi3DcbJcl+9(A1Ko)8-q2C2aSep zQmm+TY4%`?EBI+VfKjvLq*Yn{oKLrGtJN8GYSR*W42N`dm4OiosG>`YCTz$an;B_F zaAVXmUY&yWwb*A#gUHvElGRQ!N9a7lL3oho3@kw%k@KihXT_EW<`|Xw#?ujp4D9aV zp-gX3==vZdxe^{Dcxsz#y~8GJ+-41$#O9aOq{MYY=-PuLUH3P&JGXW7+J}52_>hmn zceKBIAE(A!rX3e``z>jP{gdiMru8IujB}n%=Ul1JY9A0uxltH`7DXs%L!_)=A*JC^ zX}qSyVyXGTP+?#}){n*OJIWiUkl9dh9buX93q;PMg9)^Ve(6{ca~!OHOY;c(?%%zs z?dc8u+NZbmZ@w_ps0sOTJZ#%q&i(8^Q!xDzNTC$yW$+7QmRv~x@}DI7>#=GJHhD_W zWZ5h`EA~6qO4haA+qkM$V~zB0UHLWrg-d@{&u>1ZQ^Rfjg{S|FzIy5x_0;HDZDlqI zwT$&tsH?wG`e-$=$og34iWa$##y^Soxb#xx3iGtkoQvx_w2{!dM)4cYGx&R zlI#lG=xXzN@t>?N)ZG8H)<66^T08!_BCpGTBYK-_{5v;qv4(Efm&4-&))1#OpVkah zPH*$c0pF+&)%l-$!nqZkNU;O6<6?j-j-xAeZ|H1Z1D+TK>e*L5t4q&t^4!_dVA!f1G-}t@)NXSv zi4&`iZ0oc#&}^MiLz>sOmFgNDDA1+cP&f56QwyMAP0^{VF5xn`<&faWX9GM%W< z2W)9-Pr@K@TQt@C+o#a8>&(p>aKU*Dcz$P8(Ed95{u6HXst`; zPf1*^ufzLaK*)e;1=rP8dy6uCGsubUCMg1e0-!sAL#e+=F=ryS3}{ZKEci6lrpvj6 zywfRiP7N~}(lojHfJ2;w`>IrFgbBWCoN&_U%ZmD@p5%aS%L;y0OHhd5eoELMz&M50 zvUH4|jX|r+JL@{LKH$nT*G+$r#YPwMKVEw4!J%&6xvT3RzOU==zpcABu4$idYe$^c zyeRFwCR{hpI1xGZFJSEN?aNn?c60{YRj@%UoS;82kX%UEE|QWO1{YqL##b^J^E+|H-Ol1}+1H9OwdoRiAj&W$U%ju++5n}3B)3r8?lS?0~Fw?5u$@<72l3-%{P z5JD+srJO~MGL+Y{Ly%L0eA}w7Bj^;79a}pdYq+(g5ht|a#+saOpylCMX|z_?Yz)Q< zaOX2=UfWPJ-cYhki{37eWnG*9dUJ@IRC~MhVkacAAs9>J?mJ;+$r( ze)95Jy}+IM>CKVWaB}YZDKp1^guQz_*PY!%-MD#EAH4UrZeD#`ySH!DH%&XX38$fH zb!dk==CpXoqTJu(g@o&a8E;y1prcKNv5dA+_5z~qs!vihtzx*L#7V3=H9M?Ke;R0? zXh}y|d7&ogl#OtU0q_FfZ)NE|R6+w5-QtT_F974uzUK#^mvOLJxm>UbQC{xttP?Ez`cFFQ5OM zJ~953l%!F&sjswuPM^%5*J!q(^|Gz4IIS+Gn#W8{@CI!a9m2G?HrI7k%waV<=&Ty$cNAlz*EW+W&EPK zI313ZSj!2=mNRP{UP@UJQ9*tRWqBF()oItwRg7DsWvIuF+wHJZLsSZESExhAU^}$> z#3GZH=^{t`cplP8sESW=Mm|cxOsX_JNG$_kpee#2EuVsEbInTs>DsmHy87ccbmxP2ba409$v1&H-_j7Tu<`m$+gN1XIFpSmTy`GCn*+)A-sTCFlo&F`{ro{*BFVbi9#Zzk<(q~)iL* zk?4`qBR?fY&SeVes-$VoyN;gKr>3t$FS|-J{&Di=Jr0k{uI5+u_jJ>Gyw^qE<~r-< zkTps_)}%%e6eKv)%a}w5Lt<4)<9O1+a6VhYNImyl0gXTCl zJG#0)yna|4b`su1iZ@M+NjNY&nKWch@bVhu!)p#mK5+r58LF;B_8{@nlTsrVo_r11 z@uFIQj`}+E8w$>-11v*h6_FJ=D|wCM(5jQm=&(M~N$x;8$!l0RF_$fN$~f+V-LftN zc)^LASJ+<)?Q>o3c(f?B-U(gfqmUlWuI5~9H7}bZ5o3>@{4B~WVq1<>EOLvOzJb&S z)4W)3Ot0ztd*4yV5p#cbpgEhCB?md=O~ESqI$g%)-5k>m&iBys`~1(6x=c%5?hKMz zWWpq1FR$aocXh7mIys%t*@wW4!6+Ez`q>+`wKf9A8ZdZ+Y)z7F><6G_kgY7}KUZ+X zARg5Uq&XXOlR}A~5P26uHzat{9#@dZym2K6RVOkIh&ZuY`mR*Xwy6@)v5}=S!_Z4R zSzo*~)Zh5Tn%0J?I;(@pj4Rt2qMb&ZWG``B-O=7XPH@**q&MsLwkb|-$^x7oAIkWgNh#V8 z5%T0LT(5L{x7FSGK;2znvd_Xf25??X;_hfymMPN%ahEAk-V2~(esnCTDUNcV1^?jA zb&c=7tFK&M(>a{kTAMWjI!>4!2mefMJ0z+R>YtQqq;tQ~KQaEBZwKtk$}1<L z-_q^G0llUKVe2MR{LS*2Ih#y{X~& zfcyat?@%*Nb9QV#wROzx!d_a~R|<2T#dHiAvH$=O07*naRHovIYzH%3dWL zPvS~1aAwgmH+a!3sa4?QGW?XXQfic#gLVD!0@>kUJJxi;vGtCoV@($7^1M~h13(0& zD60xtN{KFs1uzbl7yDXukVnVrCIC9S*+hnd^PKaIaf-8_a#icP+?G(NX*=|+1oW|F zu=8=68PHA)1MkCvRTL2}+mlHH=)*%^r54r}EE3{Hu_u6@a9K|z)18_F*@--E75O+3pOC97BM_N78QvC5a!;_VPqqWvwl zB?hPkEIK)!=$I3UCs9O*pe6~YFsDsLGn^nQ1W753smjb1wQWaCLQ%;1856OiVOb$a z^3#I&8Z(?(0wmd)TGn*iX)rse^$c_NnT@2+og3=HdaI2#>90OLqD*Li(rJc+u)PiK z8u7-qy|t+qp1P!$pSh&xFP^Xe(n+V#0Udoz!+mO-VONLlL)v=#?j7Cu@T%_LysD!I zw=_T6)8z1hZoK!p9`KgAcmFod?!IPRM|uIyaBv;vY_IE`BRiwq?EVeScpIH_W$6iA zSg4)B3y1Ftrp=k$9Zsxc!q1ub6F#o*-M^#z*WT0m?Kk!Emb9}u;u}WM+IYapBjo?H79vn>}IY;tHFbyEk>^eS=u>U1yXoU=Ym6#;Dzh=jSMo(>? z*X8lktfHBQ-8!-vUO^@RP(pAzPMp}bX6JNn@|;GqEo~oP)YjxYGKn$|WktVG1UfNf z;)emXHRFyoZm5KxBeG7HGq{-ZJviUfSMd|t2_lTvBadye9uwV$6WoLq_&B;d)#?q1 zd!CRi`oT0qU$!z9k*jslnzKwrh`d~W1&0;}@?ii^&=Yb|Xp2ux zIJLssEI1qgPtyelRB%j%J+4q^bySu`e+fD*WkqTfxmBQV0pRGgSjXPyb=~ojU-t*r zx6?V_=)EUQxrUu`<5SQroF;13jQlc=J$;}W(^H?fV$)3Yd@$XEYP!Ms$_FWnt^iw% zcON@l@Onw71(i-0+*+tcMI99lW2lY1%|KToLPePl53<%f(=qp|4-O}qVRK>9 zC-^OWHyRFfdV5P(&YjkC7tiY4_J$hlohk8FFU`^H_PRd96ubP-OWo(H@!U8AH1twPEUsqc)R2zHR1Zur@09yxhV^A##^4#Nqqx*pcxBw2Ct@kSC|1+ z7W&j5&`FQE);!?j`u!Up=Rigw5!b2@*ckrcgJXIn zM8rZ4vuK4h!FH`YVFB{NU>QWexSt_?YzQ>1!sCJudD5V5lo`83nar3!frkY?;C+{gQfBthi zd+~~PEScu6^)!c_G3Cd(j4bDXVrGpTBia=b)MHapHBRcx1&?e z5)LL(BUPs}lI+k7&S&U3NuIZOw!)#KpugZi1sLym=`6f-R>wvi9d%NGkX0RNZYAq# z2c$!2q^4zbqqndgJNCfNwqbWSJ=B~%VrKp9ed6idnMG>XSmWd$4+&nS1@Q?^hTt)& z0IQm|;76qyx9)&h@n!1#VnqaH%yF(zCIEy80Tg#89lhV}>9vC&YFegT>rHDJ+9nHI z?j)5c0Z=KyL1xOJKus*|-$Q!nJ*4M{^&6e&q zS#xN{fEB!;H>e>SeohHVDTR~JpwBxCm>g(1;IuMha9m%94p_C!uxT^~h8|q(6JRIS z(dvc{iEwG5VUc1UnMB!8ear`RA|VZ6g#~HId7Rk*{&N@B^{;*QjQ-c|OL!n6_Sk5f=K-yR{KSM-G8CFG|e+Wr4UeM-DQqMh-D*uol zwP-A0`lV4ZVPIL!bXyQrFj)>2dl>hSl=sId6L3 zhMrdGM9%lR$hwc6XqC3a)1WAiD8O!Nl~ryfT8imGzNvlRJTP{HBt855^Ga;+P1|bo z%sHL8^1Lp+{6(Gp>{m2;_7&;OQ;My#ny+nXH->tjoA+1m9Oy?M-qpL;Z*hXVr#laJ zb@$#q-M@E754f>7;Cu5C&h40&zX>mwQ|g=J5PZ8a=XBKprJJg=Lt5U@_=U*k(gGFF zoy5FI7+9SfYl<}=*qPWL61LVofPKpC3Og|Li+Y3;Et3P;xfS*mQAdY!s`{GS&`$gNGuid2i(J#%Y7>V(9*r~_uW4-q+SX~D-n!a6psq|EAyJ3x!BmO%F{s+R zcV8d8{sUe6(YJKxomchX!yjw!`nx)~`MwTsf1u-Ah7Wb*D@$lcH$Tv!Pjq}J-@kQD zyL_X2@ZmeU`_2z_>j&S^{qO!WO}_i<8ejd6o^6hF3J2Dtq_gKXsXo{ryAj`|U)kPAZU}VILM#2I5Hw@*xpCE*{5@{?$);Jd+Jwot+Pb14Rb&4CZ$# zRlsqFyy=D>ugsOm<(+kEFpgT1KvS?ePW2Wq4nB!mN5^JVa9q~OaHxpZAE8m)2dH!Xk)S#*;;~?7MSevKL=)$v~(9@s! zqAtAhd2K%Pyw=WL(g=E9+t9Qb>-N0WTU=TG=-#p3x__v5?j7pw>$mmZ)%SJn>U+9< z<0{{=uj^pA;Y3u}rwVJo0&~6t?1W0tXzWrm zR16FwC8s#Jlp95ag0kYuQFdTX(JxL_zK$$>*Aw{yz2HQJ-a2zBN5d7?VO@Sv9<3|) zzxJOqeInVO8Rh5L7VJy4PEs@5VdrE49!Fy#E!h-?5P*3GP=c#3GM!8frN#lxyqY0$ zo`kT#0?ff_AZuKtArY$tai~!XG&<~#E4iL};N{4214LyuyC7Y(^27pnk{pp;CSVf# z6(v+bKjrD?y36!+I5k+oqJAldR1jv{v{_1KqT8F}(PW}yI(>6AsHd#9$<+qy@a7^m zmV_)S6hvF&5jiQRq#lKgX;V8nifFcDyT0XYZ zGKUy{geM$g{1}^dA53)m)L3_K9_kb)w)+o`wY5IbGiS%z<{Q>?2k-0j{tb5_Zu+Znh?zlx|(Sq4!_? zzTW%6H}&54{!mxH{|CDM!*A-=>)+O$AOBGIaCUco{JL(w`=+k__%*%vqi^f2?|egV z{?V`N+Bbh)$2haK>u>1P(S1F=(`sjPq^3!T6wTXXsuR310?lXzm;vordtI^<;@*3T8}RQdvSd{PnJhPKj^A4x4^c!cxMQma^Vp-nixp-~vJc8=${r9F&QzlgGlU(Sk(Zsmd<0 zKRvcWq*hdDNrL*(uqxN%eQIf!HLTK1Uj_4>UzM@lrWtJiD$g|M`*O~&f_abh!IEjZ z!PzLf^htEIX^e=x=JLj(`&?B5mRY{am)@Zb*?Xwqk>BX1z%%{JkOD}&~ zr>{Jtt@9VOzH?fmjSXd--;oBoJ!|ydBbrtiM_W4-v^1{Q+XN1^XZ&Qdc_3`W4Z(qN4g zJhRpn{78tg-irdA;uNUav4Yc@PT*LT?)Asmgrs0`1UjO%?xA8dM)ye0D~0BqAgAoD zo}VdarHmbsYF&d-r^ub^V`WB)#F8^61s15d3IG5Q07*naR6mZz69BwNV&@GI8EP+= zQcEl_$L45-x6oovS+IzgIasD8j7t&9XqwWg-fY&IQFU@rLIoZ#-0J86tvnQ0CW;g? zm{r2@0<7EFHVMu8$&ZDFAW}wyg3giDvOA-p8i>xDKVet2JtH=5o5g3FYNvTe(-|A( z94D30rdmFNc3_-0TFV=brxOiwqFr;ws?+v}HX|n<|FVT;BZ3QAse_h~t#8}luBT(N z4F^nuu%)6NQ>8_$`V^>p7-wCF$8)WX8XdF2AK+j%2U!zNEgQo|Bk0$!@9Es>G3}JP z8@Ke#onIT+vL}|s$AdL z(#Gbte41-{6Sd=EnB?oW{rh{mbM2ebi32mO1BYwzmp(Vi}_X3nnR2dqCd=_LHZl%J z;IH4E==PDhQrHOj38i2(2}O&i&{qqL*gW#E$^3T>)?)bC^(?Gi$ajps!8C*08)d8`G;#9WhnsFFI-46Qz~N}$|HHddsJGhdmQ3u5h$1$q*@;*-n@ zVx4`~dW^5qoc{=*te5G_IEDO(sA)Z6mDiUwua~jSh9~imtHpcSnt}LuaQU9r%R0Zr zo6{4mUrxMOc`i1}yfC)Ip@z)=b)3=G(=Ti1nJ;PM^ivu%jn>CQUAb^hpZ(-Z`r4Pi zq<`g4e@(})eM5&IzR4B)Ep=@Cg_mOYdqh&pCclQR)0eL3%1fWov!DG1UHRmvxrKaM zo2<9>?Nb_WZK}ojC2qE+G0^>4*1I^iKjDS-H{ZIU-}%9t`pyr2Q2#vO-u0_GxOYqb zjlmh;**Z>Zh0{;R$*SYT*5QN-dvL)a70)~Rjv2%rB^3qpDNEeQ2)kl9Rt(n^qjg|S z2|TwWWq2uP)|YTB9cy*2ppM|A7L$F6RMac#luvABuBtteFNbl#urX?w7t&6bUe>&IcHaY`QFWv5CBIf7gTFVpg7JvTxH0WnB3(WuQ; z1`=f;{)7+Ex(vV)WC!qAlJ)^eiHdGAbiZGZ5^O!U;=|^RYvd#&}rKh*o^xVa5T|B#?;jm#MCv9wwlyb;pU2xVkT-{`@Ij6KK&U(s~t^d7EU-wQJ zi?<*6LRJbf@5z(Y(3Q|=&{X=#z*Nq|D8i*4=KpyxkB=SB&r&w9#$Z{`CWCQ_kKrRn$tC%i_-8#vWQ(~f$5R<#ge#8R&yn_wL-V=!)7534fJsxHfzZZHmA;44)w+Izw?(?ScV zIzXcq0&xgOfYXz5{UPRmBSflkVrF+*k`Q!ga@!IdHy#FJW`@E3w64!Bp662gwR@;uWwz;Fz zyf|L@32_cXj*yxA~rZL-p_54)-)aI#h?#DL4*0)Q)vhf%crFw5!AZj&bUgc+sY% z)T4HYLtB@|8`9bq>83Q=P@;Wlz*?of-tPh@De4eTdjW?E99zteWN_VXuLrNtw*|*K zV?UVkOR9!ug(@aaXwLPj7DO+e1@_UHcCHWu+~xa}EEUs! zns1r`8X=&N)KKX1Io^53hM1sV8eY&d>zB0IY-l5|YqQ;E({FJU)-5GUVLve?7bH%T91Nbep&9>zv6YA)Q z3~h};TW51@sVLCtwjWQX?oj!}DP$U)5Nt{p+5hfy%IT=YgJNC>$6BJ*R*y21FaoCQ0A>_ zJRE4mNo~mYw$a*}*4Edxj?-FS-_S6(8Zuc&ydfT3{ZOZN@94t8o<2Pc{o;i!eeH#F zy0|sgg>xIacz#n8PFv&kq1MI&bvP^AUEFc*%#h~TY3Dm*@pt5B$hiL_!inzT=)_Zi zjy99j;QS%q64O$T=;z9C1m5JJZ}bzNSkd=!f~Zn8pT)+BFp8*wh8HkTtDlppt=RBn{T2 zAr5Z5sQ}V=UAcE|?EAuT26gdaPx3F5xP1oKOMM0CcuAP?B5kMUIglbG+LCBf%Jdz0 zhBm&ysgJQxI06`_M6wdhF|3dtLCvGo2@M>@C)r*zVv9)$e@R>9#k2>5-*GiEEfd|D z-_)(iEp6b;#%Zi!8fl!@w1ra}@)i)3w-)bXPRUxy0;t#x2+|%bV_BPJnjHviiaBR& z0ayW26q)3NWyFxMGc;iUrwra98|Nq|4Rh#d%0>~3>YIo<89hxIU&<7<$YsF4&R#I2 zpnk%Ha0!Z$lUfF(vqOikNJ`{qDA=p_#Zn!>D!Gh;8sIN-MWfMJO-|HjtqUq17Fw=l z=h$12#|LQ-uXNlM9b>~T4q{G+Oqj4v{T<1F+a~lMA51kKHC7|P=?%cA)44WqD4vHK z>jUlJ*x6T;aSUWyP{r9Xx*=Fek9vJogC zbzq3JKFmgcB7{N?t`Q70>NvU$K`se9wRqYl)Mj}|6p$^`F^~Ms@Ze~wo$*-5=}OfT_xijJOC<(HWyUiFz|H5To`w8tQ9 zNRKVRB-FM$HGMU;F2Ls8{N`Bu zH~2Pnu&Wu@X@$+&?KH2Z>>Y)ZMhD&fYnql5HRVS2iq4z;aHKS3O|$tAsB5@;1LyWS z&h1s{##`#{eZXn(t_qGP@$xp}n(^GFXY~9lUjRO@^G`ja?bD~Vxw)ayaHtjslW}Y* zHOe_DrKDL&dapXRtNMTZ`XA|^{KjwSwLks?-Fo|V9p1WLPi%8LXPnH!vCUQ3C%OtV z&2emV_LUCDJqJ4S9qsFAY{&dFfT}PKC9;%SsToN)x8U@a);5(!8)^nar6yOKBC0ec zI*Gkj=qxxh|7PR#_*fnN7AeWVa;8iG8Tq0Vq4DV>J^rKxAr{F=+~@nWXOso9Olroh zsEDJUv0840wj>t@MGS1mf;;Yx*>n$dra7m}qo;Lw_>?*}tFwdCy10H?qo$z&p@Mqa z4=x%*hCrJt-hrD>A`1qH8|DY;jmgnTjTKINO6To5@i$ z%9%~2=l}<29XZ*?;M%a@^yaF%sdEb7uE+MU7ioyz2@|2ojn*05hH}RqIOvIb3Q#8r z`H<_*#9+|1e2%y#m@|o-4Wd*du?f#uH$@R92>U|U`G&;jG96Rrgi}d|_26*I#1OsT zRR=cnM4cDj(mEXW}V?X z*CtMCYi*$O&@XW6TEjuv`JLm`WyiI%J!0`~XakwG^`X{x)-)td7?uWE1LWn0Mh$Ut zbL#M7F=>WF?r4YYo#Vu2w8swC_L(0MqL?zeJRZ+(;~W{Bh)~oK(Id|kXD>K{FZh`W zHb|18=%4dhDd=%L;v6O?{W3GxN`0FBeD$CQQJ(mx3|wja)=0tAU{>6&(KrYS#_Fj zu*}E7k{|JC`6r4$6wyiDOIpMd5%p`S6#Rs2wgFlVh+t+#dtE2_1@$B@J%chQM0BlY zSLqA9@a?P7>;Lbp`&Vy)-_vCGfu{QhnsKW$V~sk0c=x)F_aBJGsD;^~U>p@$!KNS0 zKuWBuL_Rl4ZL5rv8?ZMFdFdVR-qnb2*@LS;QuF=~adNLK-FR1-7sa(Q(>bmkpXO@+ z@})~UckZ0FxeXbQ1{$EpSDazJ5h7rAaAFI+b8n*m`n&Jzzxb^`(r^9FZ|Ti%|Do=^ z_m+JwYXsmV^OEFD_K*#kTFZm+>P^aXFueht{kak{E6@$_e5oz{M(;zB#s z3?-bl);1LD+e_F|;OJtsuF|kpDbsPGcNF<6nXJ+UAnq)1BODS|XK-k$2@fo&W~ zCx#`Z_PU4Cd8ezqC5}P~exKGdT0VUlvI}77Z~y=h07*naR7=#8zk(ZztjQ%h?RNL| z!SPi#+ll6MRI5g9v~03SS0Qmy8*9C7)KHg6XoWA46&9dP^)YUQ{eZ?U=1yJb2+|F* za1iw%9^)h*8`$HkgIH%%A2UH3CSeNP6NYrOrOAzaE$9;PMY z_xMPBkMCx8xN_trt@h(S-wQQ8iD43 z!p7ynSE%HEzQD|Vq=3i$5yDT)*e(n>=DL&@RykXXfY7Ykj=h7qST4GIcd9#grb)P{%_AT1uNulk)u znm)CR$qRs1ixDAWHi`Pw_~YPB(R@SCi&&QL2~SAfR~CD;94*HXLM_qrA|BP(^G)q# zY5^kW7rH|(cKjgghku{7{MKvQ{qTM5U;97@H?M1-TZso;$KQSL2kLy<@Mg_KbbBPq zRz=iA>Ul3Km7k=@jZ!;Q!%3{=s(yeI7;=gmAvikT)9C&+4R8Kfqie5g>+ZXHDj(^y z=eG3=&t1_ky!eb>c^c=oy`h$UD}uTJQDXJ%dnb_P@gr%bmm2+1Lk^wGkb6PV;tGEUN_#E+(Ndn;Wj$m zo>rq)O*Hbg*c?vPjxxryE?!$>JdB-?|8Ewf;(ga7BnI+TXP7QgRkaOq=hc`#AL&F?m!R`rt;MD!laiWWi z1=wETC;A0Zb+p5_4aW2lH1md>z9y{2h z-3d1kb4_gr_1BIewG9QQ+i;9(xz1}?v>Dq21DYn3(1U6XNY8T0`Nhjaojl9_qGFp< z$({p!W{Mrh)G-4R3KNya5~}de5Ct*@k{WDFMV=6qYKUqL>K_VwNi2ue5ruB$*aSQL_zI`=EGjC#Ja zF7DJoQ918&#(P?i%M6Ii1ngnxb)J+zDI^`IabtG>P)q%VB(MScBCpVMFe+L!gKU;LCl^VC^wueHid=q4rhBuQ?B zJT*cGGwFag-TSQh58r)H*Is{BcW}-JAN*JoPM5R2J2L(Oq$RgXl`(Bg5&fKxW1 zE0K=IMQOksM_|bnS`mWq(a_WTbXDSU+De{^+*J!{R|7^us7QzFIpSN({rPR}f=!~(3-G(%pH7M-)i7owJ05}ZKn zJA~e<^0_Kq$iY@W5JjP5HcxliK37L~xk|Xt$I1rzD8k9XAuY&h2}M#wQp-uB4ju$l zh$hIo>2S^FbIl+`N*WJF8m5f%4klgVinXnB;%T85CdZt~Gw1rD_G<`TD8&W~y6uo? zN70~Zw9XwmMIQ-o?H1kSgW4f=-r-8o<-BI>EbI*ItcEz9100Rh8BS!*Vrz29r=vtV zAwL5O_0H&vsw1Rh$`lr8VZ|3FbVu1h#!hd>LKT*|opVm48Rz42)5D3ZgCd%MPvE(p zgWV&!4xh#*(^>7Kg3TRz=je4=s#Mb^Uh1+^lhmR!QJ*0q36y?}+MjD}qrdv%dZmfS zWnCxeGO!@P0^*Q@V;mw`Sx)Fu1Z6}1NlG;}uH|Fe5vb$y6kqBwrUfn@w*grvszw`B9&@X@b89jS$ zQ=22oMkr{+>5Y-T_|gk{{!_2$%=0fRa~-&Q|6cuP>-Ii;N0VD0)PHBS+qeZ#y;men)efn zyL@2}EObn9ACX#FhB;y%7@b*uM?=somL6EG#QM=rVgnXH#!@7U{NwzUvQ>xqrcrLAxDYF*^rm%Z7QM%hIu$Q30NLY2#VunANJ?a!lGHFqVZso@ zC?}oWSY!Sb0L?%$zh!8HgroyFiQM@UHvP^UJ*7>9RX5ogdJcKR*=NH(hQH58*n&(# z;AlR@fzD)njB{!{q2UEB?W#kwCJ22v$u8`eS?}TDNm~|T^g4C^@cvx)aB4^OyOYo; z*_MV)JaT9>YH?ok+BcCxg-&c~XNNaVOJLWVtud*|Ac#MSIZbL*UVgat- z&@@>&B{8LHf8|IbSLIR)rIdI%NP1?i(U&d^tDJb~4cgv;86=vi5$&H+7hMA#nxdwT zAUk;?bZB~<;eNACrdx{vbDaIjU~@bXkg|={1Q#|yTMZ0JtvQ9~;U@E{)$Kbo-G4CE zhj;enmyf5m&U2N2ta-wzEel)kvWg`|y{RX8BbG4;Bc9a$1#eL{kP#2V0~S@E=S4v4 zgL!4C=%g$Np~^p$HAU!AeIl%HL8}C!Ue;9Wv|7Y!nQ$C(T=j~_e9Kyf>|?<_BAI8I zMT`0vx)x965uv&gK&55I`o-hy(Ty{D?{{9&eZEm0v*~wyR`L9rvB}Tpp4&6#_l#-H zV7mZTx(yH{I|gK&7UT8Et={6(F6 z=2=~Q<+Hl*$``eD@foGmXtKAf)bEsa50x`X#e_! zgM}IsfV9x8#X~&{1kM7HD(c8!0jJ{WQ_vdBGc4&;jHxyqVB&D3A=ZKRbyzS0#a@sR z7|rr50D@{Xpn*{rMFga5R#Ryfa!rYpZE~3 zq0r&k4CJCxh$<3Lz%5TwNN3E@2|G$e)D3gM#@f*N7Vpr5h$_fWR5U;nSWZbfCBD0< zIukp|4t+r_*3qETcFk~JzM7li{DX3WE`{ir1*m_Z5uD434ZOuEq04#ebV>m=$k^r| zu+VP#gqDQ!=y<81Mc8iV+cc@#8yjf)8l#glod1qX{(y^O*^^ zZ1;>))C@ zm%ps9UHQEJm1llIr+7<8L_g*`%m4MA|6F_JfoLrx3W0@zwvs?|+{1$JoMleREHWmq z$S-A=iJ3+XOVx|1Y6gJWidZOe+{+m^AW}n!Ic8?fEuu3d8zSIFC0DwOlC9Dw zDF~s`Jhv_5Oif+h8Nf0Tj>!;=S;jzCm{#j>xY~FKBIjopqIQgd=U7xu8?ey{yxp_=0wxeMM`hFQIm%4!h@j_ch=)Mu1nsTE^ zi6ZnLW!?5dnTSxzS&6g(HZNm?c*+72wSz4}ERvPj6vGOsqEDh##-oudff5R0hoZ68 zw3)UvPV1WC)eq)-@@CfJ$QrdsChg63b^Z85*`duC>^Xx4!{g>eIYmt!Wz;UKseH0b zBB4{l?>Gxs0w9P&g_-A#)LGYkOvg8L-Wr>vY4XFyX1pNptVpNW!Fz`$$lu%F=QK6f zj6t*x>y#hL30YfcJFQnd^u4AG%mf{6P8v3uL6J=L`y&7V5CBO;K~xevw{HRu6x$1f zC{38u)|+Un=`91iHeOScTP+$|AX~Ojo2qWhuX#dOP7phU21#OH*MzzsOgmlMJ=Q)> zroguT&Z2-#cRSi)V$vkFgUrN~5`|mr4Qy$lCDIN@WJBllrE$~Tr^h(Dqy1wY;;be( zE?*zcab6Qnq@KzZsMz&b-(c7%qu(dQ(Xds{p|;Ixpf&W9^)@Z}l;qU%DUuRA53*^f zllwO!=+CHl#>OTmjoYjSK# z_|Droq^4EoTC(MZXSjVvn-`zf`4?Z&Q=k5_E`9Q|I>SkB`@$uypE|7p&do49eMaMp zPig(B7q#*9OIpA5oQ4~x6l|<>PE&?*v|nv3d|wlesZQi6?HxUE91OooDl{w(jbOvg5xv-d$R}naPoof zPakNH)7e5*Ux#YerzG)I<3ng9vl3#7_oXc7w_1}u8D?~DP?z%t^QLUjefxt>bG!TU zPJ6JtH>yP2+|&u>e8tl;2u;dr+4wEvHqRK;IZh-XSaty4b@XM#Ceq|AUw6%rvvX+B zJ8qKZ*yuW@q*7=!9BIa+wxhG|99ahIwLJs$*fAd=-yyG+XOyKB(u9e4kJFXlACeve zbt8u->Pacym7m}e&9~c_ip(MFX+ce4v zUJeb1jqHf*Fq<~1L4G`HDVJ*bHbVnO!+|n3HEo6m*tWKDg;h=rN<_$gN>?h-Z`^M( zE;pe55e|5L*l?0*b$%T3Lop$06q`sOCz1w*Xsb>f6w0F^YOV1oaV2Mt!MdD2Nk=ap z5hCb-A#O}FkA?H?cO2xoT4DaZfg#vu;vkn6m|y$3qp-{l5x zUyCcZgZfJm-rVQM2b|^(YrbQ%FLrEvm+pYVSQi{c1z!4#>t{|B?>T;XeD zF~r(YWc3iKQ8Xjv(YhMGn+>*3YqWC?II9saLV37`EDejKXot$otHJ4u8eM!=<8x1G zu(qvi9g>3j#eA#4{v$gzXax|bFkzGNf+Op&t8+VW-i7vcIK;V~8hP_V>PzUibSrrOv} zEL;%hhZ<@WYt^9%T2{jb)@m}J;LvteEE`f)xzs^ce#nabxlYu)B${TP$XA>Q6rGi- zL^7ZwoQ8$SQ;Dp<1DUZgyA1_gQRK}n!yKdp?wmBpSqWO9tf5VzAsc5z@OC_}5bzul zG@t1BL?kxN9%(*{w`C*%NYTRlEyS{$0 z(Kyp!_=6<+LmD=rOnd4W$*rd6n9J@D=N2i9WeCa|a!MMYJCP>J8?4zd57{(&bXn-J zB+yYwLA(U2R8Q8*!!TDp<8jjdKGt-?-lVTy{*1nO`tv%~oE1x_(p>%q*FitL@t$sS zHT0#;Kc%EBxo;F&Jd4z^ZB>on*nlbreiF>IXqJ4yDk3O3A3QVo|LbAp+GGhg7!wS7eYyEwuiZk|3p;fg+1f6tU-$pH; z%3R`&-k_G9H(}4u&d*PeH}xa9PVjK zeo8vy1UEOZ;d|4c`{c$|WJfyZL{uFB4x->h!bY+_jN5TkhqvUh`7i>KyTK@>AHG zT(6u~r^Zf*Lo3)`CI|BAZcZEBzOHv>mUUrN5VX*jp)fA=JwbvI5sCmL)^O5=&)=0o zG9~8O}kagi7b`G+vPFWU>q5h zp!tL*ZRTxlw>xYIbNW5t$i79^kpdj>Cgr?%Sl{wy1gf6TxH?#ijAW%0mvmBTSr@h;kN!6JIo*l?V#)6XNYquJjPj}4vNcBzG8w@ z0I5L^F=guW^AGobLcwbuA-fLtVGgLzPD+vn63v8b!7xP*XaOkhu#j?-ZSUp$ja z6KwRTe~RqP#%-Wa8e(^g9f>m2+9^0;t^-|blGM@x1``g6oQp7bqyR-ju{9*vaXT zu^iAp`&`R^>&_qR2M6EL)?iILqYZ73)^vr_|^^my>EO^zx&-E z=|^wBs}FA8)s0(sbo=&g-M@EVd%L?j+&A#zildu=PdUX+x!Rj?ikWemnOEm_pg9h4 zhVz?~@7O;)9t%^c%=-j;0arYdPjT!wg?&cQtF3NBB+02LMG==ToTe;S9U&W4FxjGM zl?*v6Tt+;Ui`>YLtl8LB%jvGcsbw5s$^)6FgnUX0)}ewrDCUz|sSfQ3`)R|$1I=*U zbK2GUs?y^@8BwO-*otkST(CDRO(a(o{Aj5&pm_f~|J7SDodRyF5TiELH9e$k1EC@9*v2~E8iGbb(lEC;ni-p1Czpdv zsF>z-?2HCtVot{(DA>X8I2SW&7NIV3p(jb!RLq!3CIyE3c4W4Aais;bQ zFbNVeLf%f3Dv=KKg{{@b+IrQ$n0#1M8(yG~kdf90OeRXCAX*9IEDbSXosDn<7*ct$ za^yM;j|jC*!jz&!;RqNGq!FQrkf5iWD&I0$p$Gt4PDwdu@~OgLeWZ3UR5$B17_@4} zBjrd{CO3^z3LuF_p*ED8tfZ*4loDyE87^LK@?cQ$psis!z_vFy!;X$j*ifj4;)Ia9 z6p|XeSx$-Tny!xhXwYZ}XLf$0)${9(zK&Dd7`R`h1ICZ$3kB*Q>xd*sQK7@wx(Vvx z6<5NMowgxLZ+!k5PBx)&lo;Z!u436Q-k%;ri!{6 zBTh{>^a@sKJ>I95dmMV6Q}(^v_s04Muiw`H>G$8z|MOd~>%*+I8K%eNzwa-qGH@JK6`19^BJ0*OGQ{6CA+w;6O7wI8Jm^9G@LRvD4zpuR4tC zyygru6UOZVJaLNO+LpNUtJ9!1(dB@G9@)7uuTRFyeZnLR0L5B#Unp{;WJfj_E43pf zJ3k;d1EscwpA`|R5Bsg{^!KtkCo})6|8~}MpV+9+GLh0kzSfQXl#N)>y#A~SlALN8 zX9#QT2Uos&tCCWUY289d51$AvGD{8xYXhAw7>~tExk@!&yQ$_>D~Cqt*c^iVh;L_G zc}MGMQv28LdOJRF3Z1k;Zx+GNtBi%LP;VO8cC5KGZBh92t^6L9p;pQj=(bX>@$I_ zPdrYcDl^y*_754B!p4`hGa71CZ9oljzE)eK&(_+cEgCZdZ>$d<-9p`k6Kf~Y&Y)a_ zeTlTKDMTbHPr@cC!wU+cLJ=X$hNRRsH4j_nD}~xN%Q_>llpQ`&QkaIk=_!T$!~L@S zHfCK3St%*euK`!&qot4OAEi*Dd^edXu+J?_r0)AFmn2b7N|dA=Ir35_-%YxD`aHKW z(3!QYOXIA+bg9+3HR^&t^B}p7WlDF;AlhF5>vGyLJ_h3k(|f4J`wVGl@k0$2gY=PL zGs9FDc3NSX!GLg^SO*>L+Q8QHXIeK=DJAV69qGAjn#KSC5CBO;K~$~V*Y(ccd)lAx z>4nqh_12va^#`cHBXk%*qNOr6IjIejShG1#(9 z&+W_fX-~I4j3O*3&Mz=&RYi|`e6)O4WtXI%DS5n{E61+K$;%0#YKLXSvzqoe)OA2O9%IE>1g*p*OGj1<777Bl;-bmc6gKh2ROL{`RcCtw8K0t%p1SW73Qx& zyfhaah1*$8r%ww8R@@eX*U5!IVc+R+Zk^Lw1`W`??^xbz4vI?wC}KWF&WfBA;E6OP z^5E_OJKBzKfc{=K<>WcRN&C+M=Cq^O8BdeC}B7)C^`QY2hhmNa6a~b!$bwgM%V;UH%+&-PP9ql5Q369kIkK`E zH34X#L5%Fuc+;F|zuVQpd|$h>gZf*9;z>b7C@kzFj?pAC%{3YlJd5%+)K(=9d;AV7m3*GtKN;7n%DY>-jyoQY? zDFPahkPSdQ%yGd`;K)+4Wymy*3UZ6WNi9xEOP;&oL{5G}))nSQNJR>MEFa=&vJx;k znySi~N8jZ(%O}4`NOh__&59EIg8fj`AmcIMO+^D7`3z?^2ZlL`!;CI(4s~{|(RrNO zU&g6jSx=fWp-RwW7+U*NJlND>Sif+CI#waoS_8o+hrZmCxlorysYa-lAF5XhGdgG0 zHjE?!4e1z%wzE0b#%Q1o-iR}6$f6%SxTXL0$A6&bww}`GE~C% zmRy0AtA9|sM5~=-2}{Z%aX;9Sn(NEDLK6@^;W=LcVom#qd|z&b)T1@+_0~&hU$9pN*J^GQf=egV}v#+nGJxQ*YSxtM~HW*gRFLkgy<*pacrSWAwb#6`1 zo*!#x-09tSe#{(i_4G@h){9^HB|Z0xzoN}geqP6?FX(G{w+;>jfdlyvzK%%QbQp%RA*ET!Wj1f z^Ig@r(BdH_usNxMd9=gxprc&J`YT>1t8H~bmsvtYh#-Y{D2ziaoWOh{o9y1zA&&X* z&J7*jyRGBhd$M!uVaBP=SEMPin%Vy%XGID{gorAH`~%9mG!~JRQ&N)~tq)tB{nULW zDF{FnQhl5giZF@1bD>ybBm|bhO2f=kmC*8WNvP-`hF0pv?6-zO=LE7jGI3HuMqqU_ z#D+l{^2WK(i~E#ZkspgtBd3X?gzS(7o?_AO34sn+ND8j%W169-qfCRGfb6}_*(#e* z9+Yr%=8k||IpRG>nlp%|2c73a1->X_y@MQV926#WFkN4Umr&?3kd-Oty%v%Xsqzhj zFlZZ1(Pes*9E+=@A^u>_0OdtHk#l_m25i6ppXSG&=R(UTFQ=^RGk_s>Zade$MIz9tRh05xDi1<&`GPn5s?xkY+~r- zwwM;^t`5X3`qyQ}A`0q|1&~iEEH2TPR3OtMpmAO3vME`y6ge$`d^>8?9nGjSlw7`k zGs_a484>bNvb^z7rKcphZ(UEOOwLJ#g*Y5$-eBk27&aP~&_zC??cmri;Mo4!m4Uu= zw!x+vu+uZmy(^lVYCZ9Um>N&03CUi@^d1(P7P@*`O+%D5fKa3QhqaM&QKC)mx|Z=< zA1CeZbvigG`tZh~?(a<*&#}&}pVl_tE(ulq z<@o@fL)1ErJqn=(qbw3>k=h0=A8@1=^h%;-Hn8Ga(k-FIQ+ebmchbB93lj08!7`6h zq*@+gpMut4Swqbbt>Tuoey6Uhuejot1&sGVwihw_5G?R8S7l7DINkmD@(!r_bri3$N%CU-;8{=5v2ar~EH=oVlXC z@s2)Fqt`jPy>|Vke$2`3{j2Zm=JgNx?si*y`}cLQ|3D9L5D&PjJiuWb@8c+Nbo0p( z{$a|ew5d9-5lfk=ur3R8%x!YIfVqnM3^Nr;h7w_sB{0?u~o${Z@FuHR|4-+j_tWbobWvdadd*5rIPSpr3$p z0yHRcV!jb@qbX(OCTqwG^uPMvdI|FuxZ|)E zIxC5v$Vw$cfeMrE;U#;j!){OaySwaHb2i^iof&Vj={CwK)UatLI?7eraj>V!f8WE) zx#;T(fh7i#8jKrihKRj^_7oiDOvZcOoX(#x&{U(0oax3Bm6e5+>KMR&&>YVa1cZOi0!YL`!O*7tTrpO;wUPsx2e8G`V zftl{{A$W>R#t7Tw6RG>d70oGUIOL?(z;Do7u>0IFwAm(I*l0CMp^ZV(Cf}4A`ZJRs zaH7H7+KxG!f58^vWjZ=JFxqK1o68NV|2Qy;17~FrbrxFPaf&tH6RTjKX_1qP`ICwA zaG-(?gWTXwm`ttM>2j7Y)a$IUnT}AT3=0`V6E@C|XV7HRC`+&$WfHce2xLP!XEA}4 zQ&Oh>?s%@@u&uN;oEe?T38&FIbMgGR)moc$e!bO~xXMFZ{ZsAHB95v#de%v5t}_AO zsUafNG#QGi55c?>2r!^_18o3xV<0*N8xUufARQdcwSPF(%V(d`FP{3E z{>;{|=)&-V-eWU+YV?$@R2;IyTT$ zC>5*RrMMRKN-|nukqbq{0(~T2maM!Um#Soq^zfmLb*vv!7MSTSZ+WK+YPF?DpP2Tt zPF;3U>!YHk_h1e<0o_YmD-DWmFm51QRrRT9tI*SX6@6M|%rsK8K0mL$y`&qv6W!*e zBtbUhyYH3pOzo5(^azC6bt7hZq^#XWE2~ z-F(;UyzvQTQEXHlbsr;RN0#WDp*KZn-Ln5trC{)8$Q(0Ka&1@0`c#!fjpy|HJ}0g9 zHtWJ#=37zH)-Y*cq~Hw zLOTYBdCVOrs`5qV8_l$ZpdH3*jqx*XT14oXt;;&ooY#i7^~s%Q^;a(a_w-Bae_m&2 z&*?&WR$Dr&PIHy$aQ?NHMHR%hkEDi2IAjXco=*>=xx_{?gPEv>R`fl2x);G6w z?()-m{^if;lVAF(UiiXSbmeEBzE9k?A%2fgs!tuuYjdSxwl zc6Pi}cQ~5@F4kkgxh+!GgK@van$8?HZvi+)oTk{Ltg|?sLsQ2KW}`eDs~K--u(7St z_UQ`a?Hvu)Hk8|zAq#aUdYQwFN0I2-P(-MILZQT>h?Es!JgK4lc+@JXe<%#M&q*N( zVJp-l&yv#1BV*BiG03wB8rD55}gi(_{tt!o+Q`g@$Old!#^i%J;1)P7E>T?_6^xe}e7} zeU1Y>p|e2To{qEtqK`dSthZzH7afvtHZ${RLnNt~PAdAt@=iJ&u;`np0+Q?MCUfOM z;$!%ne6Se0n%eG^k}|f3LjL3G4u`nS_p_EZk8yOqe#{K|8f{#U&|kjT>Wf<;{D%@h zE~n*FRG2p`WYPjG$zaZvM|f_V`Q?PWz$&dcHWUpxIUCDKidfY4XD@$F7uL=&pBhe& zLw)kp3u?<+wWdvtE^MCC>Gm|Y6NfsCUG1cE`b76-ZOqQ7oeedf?P%1k^Ol;G=B=cl zGqrrc$p>IUZ%UuKZ?&|;d<8N26Fyl7x5jBNFJvsb+HTV-A3^gf{Q~l(O@HUleNun-mtWLhdU;2$e&hFauzN#YH>KM`iE(b*A&zZF z=Px~_XI^?mFMZ)p=|vpd74XxSpVrp7i&{T@LBV|3Yu5EX&h3W}ruz2vU48HUYkKqj ztNP%^HQl;>Ll5rXu8!?!?;hXS_W16`Ny&fLRvp^0x*32|>+IBUUInLCoZ1;dD|SeL zShrd_vg*88qg571SS*K*!fCLO@6cJGSw2!$rakT2x>_7ppAI*+G~C?AnQf{Wjf9ZA z_Z9ZJ;<_TyACf{c6#BA&_gx$*Dd((2nldTSHUlO1yF73dK>pzZa7oj(@|cG9Do5IL z7G$XCP*1P8>Jt%)hy|{wKO#2d$jWTPO$_v-{U7SBqt~=M+toM?HO_11;INW%G@8)S z2YgqVvN_GVT5HwfhK7Wkl#|p%h`p+QQwU20v?L9^c@0|j<-*1l$Vn|7VO`#IEt)B7 z%|7h}os%SGpie=eN-0EHA_%_vtQZ9ebZ4o$L2!6%gb+LACXQSQkjN+M62_a%`-o~5 zy00BO+Baih=Rl66#toyAIrKwLVKc^Nh>~a5lQuALy%8?}(&hEgvzws{Ye{F<8l46< zacV=C$BvOtDM0Nk^tqly#VLgbO;$=tJ`qKPQqCHVTD4pmrnV8qu`z0YF#GCNfoXF) zBZ=m+-Cyg9yhG3qV=^wJ<;v#43+5cHTqdU8tz6?wbbp7lhB1Cwk06p?Z-ivl2RFrdQ%zSK9)(cx#^z!&K`qwV~6@7C1 zMV%jSt3BM&zkB6>q_3X)vOab8InpocVmzm_x}s6p)HCx}lyO|)D|{f&TCGjaXnk^) zHa3z6M?A|kmS~VSPIe(fKSqQC0_dU`G7Kn`MKEu{h$^R**rKBRf)=Vz%`enf-jZB- ztI<+!m1O)x{A2i*Ie`=5CFLZKWrRvK&EQN=Gj5uprx`ch(ARCAJI1u11TK3b>&#=q z@Qy!xP7l8Q=T-Kf<)!76?tbt4`tCP=U3>ShYlb5b#e(^maBR70nZFy_;TzlK=U&qD zpZO9ewqMZYmp-Lam!HD1UC_qqGa7GhDTeFX)j)6V75(me_w<`Tcvs*2(Hna8^;dQE zy*G9D#s}KFdqYP)wH@wh>gzz9&Ww}T42LzhgW|=tqn)L&8yUzKoLF@-$W$DXG0H+X=9+xW=lu&L#-uFYjoDk9fJMqyoI#TCKI*?@=JBH**S++AKI*L zDG&-dWCVQz@^(7+0Lf1%(HSX)8eot!osm=>1)FV>)IxVN7+z6r?H@E+r5OL3w~Xs^ zz1HJ>nGQq-z0^BMNhB2p*%nBdx>|^2)q;D2$qH%&sE`u14W>g;PKo-k0N&Pkr1kNb zDvHjGl0JVf>C0!cwi+QPjoV-|OxhXblarYp+Nez$Hc2gD!)#;%l-a+BpF{a}5hcF?Ht4@!x-ihc@l2~vZKo;|^npI+G0%`9DbbE5 zXXO-12J#7D)-r#1v7rIJ4M?R+fJR@F|>;&~ibNYq1>wSD9e zw?!0{%mU~+my^H+gA9TZL}VR9S@6i$P>BmYD6Aw^nrc#M9#bQvX6Z?f6`PKXlO7(+ zE^M-_p%+?BSLr=&`=3b~)B>WBa52m0Or`tRx1)z@^ecUN;xM^!wMBC=9$H5iPwwS7hxpL$Nuf9i93 z;d5WavAwL*SDw=Lx%1lGIi>aW4Yln^^VI6vq4cc}_w`SH^nw1_w|=BQ{?2#w_Uk{= ztqAX~ z%XGA1Zl}h}r=X{%QO1E88l0G4nw6*kUWC(%D8ecEWz7%g0dtLv^}Ei9sIn2H;#_7P zd(Oj>vDDxMAtyf-svINNmj#vaJ~iJ9&S_O%$@QBzpu$``T@rdbQ7=FdMG6IY5ZM_z6A_v*$WtmXjcQc&g3Rgo zDHDS!f|Dx1T-G1Z-Johi&Y%n1i}m2xX$rMShkRJQ`(RHEx!|oRchXjywAO^yv%mvL z^_M>yjA^j1!TwQ`s^f0R`Bxu%OCkr+g9FQFtO;SQA5)%e`qFs43RLWU7 zB@MwNg#;w@1+qD31-#mvkfNb1?e+u?WS|htND?|JQu7he=uqn`rqk}+(ht}op429F zTxCWM`6V$Tm=jWRN*zK`1U%P;tov<^)7TtcYonI$2s3SN4lSibJjUTS$Y0(WX@tEq zPIsHbraHE*VbIB<{1mP_9OPAUN+Lr&e-j-6_4d$ zE2YrE@v$xpF6xxdYO9=4E{)c@EnVtfR5KrO0vl*BThp1@Q`(+f)L^=%rlTFK3sgNC zX#1lCDfHNbOhiv;CQj!**ZIdP zyb`6HHQ*$+b?Uq>KK(*BgWTfhIu`u=zRSXbYCl{&6c$6daS@AKK^Y_DNam8;<~(V^LI>}e9sG_x&W_EpE*mM!dq5&J9@Y&b6cTj=c@QZjNg)As9WC{% zf2gaXh(sijP%Ryc+yn=jD)XmA3&q$^(T|E+<&xT?PN`!_eI$u$LR6aLAfH*Bvoh8F z`CUCXevuQ}hR(ES`B=Znevq{m8@ez!FLjNCY)6j=8t8|GMPxE9Vb2hIgiu*GZ`G&B z^a-782jl)2K*$IdI-x)yXuxF26dbipEt{)% z_m10b=!jG7n6?dbQX(C&*%LHilTYZuEb5SE*zG*3=_I-vy@!6SdgYaj)Bux?J02HNX)5V30NAWOoV&)^TOspufSe z4*jRs2YLqj1=5{yqf6UEUD+JyS<+X|3~+3XzIZ;XMc(zULS4uw1Z<6E2DIm8+Io7M zc||%Lq}rWUHRetA!uYJV;|y1Xtuoh#xf|fr=*uqCKUNl4npg*<%zcqlKNz4}_AULh|MYkD`~UfG=sW-9xAf+BzoBbC zepUBxT-D+3eTlWYzOlVF<5xb^SNL^G*HnxBf`)zVXBA*!sV3n@x`7Ysjvi*qDOY+0SFAg*9D)b=-m1 zy#w6M!_8G`B1I%8C@6{uCDv*L4V9k)U2?7h^oXQjQB*xupKFVU-4#eyND^`~Ub)EO zJmu((Bs1VBn~C!nI{*`LHds7wc{5=Hw1tSH0q8;Cci zf?yK~ddLnX(MCh(fn=ZtIo0m!q`LW&V5?hGsJ|#dKm{~uKnD*})HI;GU_x^S?8qt& zy5$X1B0DzQVHxuiItnswM4cokY0%j~A2o@6KDbV7Xakxlz`m{P`!hDb(7oNMK6iGc zFSGd`bJEy@IihTmM4}NVoi?Y6X9x`-97(|Mm^{8}oa5l=0w}6ZB2xwt+8T<8N-r!T znQmF^Qp%MV;-_g8(7smo?2Rr?i4{kVVk58GIn4a8$;x<1!u+tt0(>Qr^d1~bG1h} zJO4)Hxs8F&t+zUl{1$EXIB`JJi+r2>+}R|LMa04|Clw>I{fTsYqt(t<>t+jU+>CjvTTd2jGX)!w=_kzT1S<2h3#%ap-(D6@4!X7BQdW@O&4^J zN5FGWMg$^2PEsuPTo9y!Bp^Xgq!Bf*>jqqdp1{`M|_?@dMQCd9mI>^%57jM z76js+Zys4Hb^K)LWg`~lBNnNpt=IfYaRhG|Bb`a-b*{Ojrw1?S%HSED8(h#Q)?d(0 zb4puzN6(F)=RJc#q2a1eRO{9UEt`F-1U*M4&GIjfSOnELEE-N`kfAdu0Y0Py3$MDz zvl)AILZ;I(UjB#;Z$dhwqYzWeU?h|fkPgP8)H+)>q{&idiq0wcjMQZe^W|XIa#ZM2 z-iPovOpc-n9pHY<@WwcUMCx*di0MP$8q>lq+lYWS)BA^qYLIP`uthqxmi6h2>w59r zSf4yK)R#^V^qt#N-8t$sLU{v>+Eh2umNwg-Ko^0UBs=(w%#3z>ql}2Em{{D=%2_&8 zMv^nMTR_37iH#aVVIjQ;s!uG8b9>cfi&R@Hf)bZk4=$9`fU0zG{XVT7Eqm;si$xlagbUfF=;T-MK z+Au_y*S5Q#8wSoVWP_&BFgLogabD*K=QT?cb-}2|OmazgoWZzw+%E?5)Fxp|1omt3 zgkpgZS25-msDw=4eI_{@2sjmwX(T6MHSf8(U_8`qT@*Djx^`OAZ=cnJ|K_xA z{9jJ%jsH#3H~y2i^c(-{Z|JxF5C24e{11LZZ+!2M_5QnW>h|rM+CSLSbjsXf(tDm} z=5-4UfXG>Q_>TK~?>*3e%Qv=fee0Y0@sGZ%+wZ^i=r=Y_Z1XA34TsTjCE4-4ZO*lN zg_@tUgy-sTDuw;8s{oBX)VSO)iT%J$aUZ}J_PCiTl2Xn}O{>U;Oq!*X*B1V-xqNC2v-}9);-yM@WC6%QBNg(X3L6juxMEzsF@rcTi6Hk2GY5Jp3WV+!| zx+oVFiU$f4f;Z4cEbM)-GwY9djDW8nZEs zQlpK$##LKDU)L*JFY6c2dN5v%fPHNnT9#bPfkg5c*C1 zfaV7R9UqIl9a!HG`kXuB7Dfwxi7T-$oy|Hm%1WJdo=y5wmpAnEse!)0N$p!V4z=t5 zLWO!Wn{K8Y33en6+4KX;3w0CZ&34M>o|{CiOcpyTFgpezN3$V{hd!VUn$Ap>=zsGf zLNdK(RG+W}c4?_oOPxX6U9SQOj4Jl<7?zOhYDc=o)MLYtQPqpeP(3-iT*g_=vDbK^ z-<%G|1HLy*)xs+{m7EiOFD2&K0NU~43{#+W(wHmAt*xO(!$xx!bvNy_F>JL1*pZDG zhbBTDHm{+_C$`ILtu7Cg!>I~TgN7HVk2|A(?ad-f#B^82vwagXJ<+&%ZK zwX1rjyJzbe%wQG_0Ra*XGMZ>K$z+mDMw8)1dXnki&RFv9{!sCyYKx8{ZH@xySlUbK*_Jt$uyzB(xns4 zn~)`@Bcjk@c`BjGSk~~w>R((9J{oxH9Ebg z(H9@6{pa7*RP#Ol$%yTk}FSxDfO}D ztSG)hDt^}LNMvik?YXUn#S!a%lrWRW$rr(N_|&T`+EAbl*eVgd;kJ0VUPXo4e1T0p zL{OpOPm=#ss??~7R+&G0=|Fd?ha|OqP17Emg_Uwt<-6KJy{B=uU8Ost+xlqo^E#>z z^y>$|ra!jxoBHL^uj${q^Ka_wJMUrFD1sYYv<6;>DPeY|KdVVc^&EglvX>*v0zGHq0LK74BB>*qF-w!O9YJ+`C3sr15bYmRs>2c zYqS)`=(R(FC4rU%h3ck6C^KR4ARoqSp71-qdkcIoW4*R7H=bA?AN9_-`;SDi6nJOJ$Lf=yvi zQp%-qo0ge3wuxm05Lj**WN#0#o#1+*tt5s=H-|+A1lzufXv?th8ynD#57)78>kW>< zAob@#S2zsF?ebCTnE(*W=A}6^25pW~aYNhaXXxHA8_bQZa2>-oZQTHt8_e6z_-Daj z=U@leu49?&-q@MhfMtda`!msCv+Wl;@eOwO@;yB``Q!Td)qh{V{OsS=uRs4^>DNyG z7y8A^e@h=+{c+uyeNFqzLrqenDs_BT==AJ-q2K@XmA>=CPxRT3exPTceWF)iex|b* zPjty^$l>p?`ClLLzaaphKw!T)zrIkRFE2DZKLd_|Q_bP${uhl%aNXttcHFB4%y;q? zl6>aoj+9j(=n#C$S*falN&#)1z)DH|Ta>*}Di?Wx06+s@}#5AfjjqCMiWyj;yRkm1^ZMB+a^O&DS#qf2!N{ zJuS${hJ$)v?~EVlPJ5e1*ZP&cU)HVaPTApkmv^^*N58rEJNkI%12w6}zj%GuY0ko2 zl2Hy-RaQ<}PF!=IDt3A2oQPw^qF$v?lH>%k;(~T?=NmBGJ zE9gVugPQOx+wyTapECw)v6L6sA%->n6H44rOL7|xf*wM9b?D(Z^y^1izYYBE?MlCM zw^HhcQrC3Wji{Vm)B;>`beF#AW<0lCm z_>q$s4JPb5u8lZyMSPZHlj^LMcVpNll8cj5soP0-Q&U%3lC-pSRM=e|UukwSQ^LoX z?_mwHScOLHw5IH4gZv?Ohh97z+Su7?GzBK3S{_rsp4`Xx5&R*rPePlL*v2Hz5wYxZ zaqf|oj80xLu|RPq4iDrR|UXZKK=K!}uCwj5GayLmY4$8C~USz`G#dh*jLeAY$(6^-&zYW_!w3Dt=5+ zt%&=@q>#OGLl(m=+V+k^G-?`TvIlV>bh8HA!6KBl>6^A3fTRs7xY%zC^yXndHY_G? z#OhM%b=XB``3(VM+5qYLMx}4aA~+!kE9@&^j6rXdw`JSB>l9-M%MFEp>twm%M!X>` z8(<^4L6)1rwb9!UT~;&S*WUHVdU*Mp`ugSnK;ORjbNcPe|F!;&_5Vh{RsT8t%J|>W zt^CLJ<=KIL^5t`0TYjRapMRp4k3ZMx^C!A^^+H#t$GSd0)$HO-PGbJo{;$rCk-yaC z@e5s_ywbJ*p4-K#)_fl>lg-zF8=(Wr6-c3!^9B<4XHs}=0E{D7MHj5g1#<5BaOa}9 zEPm{_7bzkX)NgCnd2s|#%7z%mr^q;2Y=Bf({+Q|^P#9dtxR>^4R6Vgdd-1T%08;dS z5G0;X6E}4gnR8a9TGQCmt$dFpHPL=P)W!0OSC2CtutVFarkdo5{2K9WaiLrF9gWh2 z#i+fhd%t>5zcl?-y+3)VN!_X?gJ%YGNmA5$r7Ait{SH=Zo>UknCl>VL@Heq}2T>vv zF(vs`WrIEuuh&~^ZL;KI1&nuH=244k6fOYc6;Q61QRI-4B*($hPy2n_{t?GGOASia zL!}@doH?2O@?q8=CxQI}uM&UdZmVzK8|jzIzuKLJYf(jQUFqavuJ>+_Rgng5V-YkiY0ZL9B`6B91b(54D5zg( z;fKj2^>t*YKmyoEitghZ#Mqh+-0m*mT~-5l3=6>>dT3+lm`y zDMcw-a~)HiwdR$f{nn$38}E|WEElS%H{rXO|5`(0pd0G8ZC1xFu4yvKt5!R%RqDZy zNOUbWH8E8YYI4>-iEq+oW#U;8+nlj;xHYj(No>2++ed$QTiy;;y;yxo2UeQJg*p-%-J$PE{ZTjutmoc1Z&XF* zK)5CX2=_+R6P%HA)}S-J5t;14%5CA6f0IR3PQ7`5MqnjOK|UGawZT}JE9^#8c*lAp zL^0S|=I$VpY5B0y09_C#3f!jHcq1@be4{ENP87-g)8;5fI&GkzPW6ROlK_qDh9n(obhQy*UcJ9_8E|5B@yKdr~lPxRSmpX=G^&rfuHc?O)ziOuwkZ*|_8E!df@c>TztERP>eaGS3IKRpUrC~iDVY&6v!jcV_)c=S4f7wdz`UJ)Qtw3agNpfNfZ>)Y}VLq42* zq@((l>Zqxc_0jYr=tiTMs6v*h6V#}p(Vgmner5Mpb-%r@gJzG!)~I1YqJi@3#hL-} z0#>IiNc<2@2s$+J?um{k6irU5z_uST=nZrWgyO=9RV1S&uUJ)QWd``{`GwA3TxrZJ#p%&RuH$wa+s#OV_^U`*qj96P6CjbcB*49c zv8E)x7C$wzQlx)l#JiCx{Q@9F2NU)JH`9pzQ4;0Zc-=wP@d+AhElxV-|F z6{0^C)?>7>F<(fZ24+K>Ewwg$p?w+@Z_BL%1~o&X0u~tDt~j8F%UI$?G?djZp{JB~bVC%2H&52RDS_J(4jlm(*Qm<;24g5WI4ca| z*v6)B?9dHmkXb*-Oj~ZSY~Z)CX~SSM*coqwW7@W{&iqh!pe;AN&D-v)gAM_EOVuyf5ru#F9!FjhkCdD zP+uQ^L${jSI?A`pLNQHy%3V!eLsqRuGmh9;2=*k#$tUPse+Nmq-LQ`zUImCWL4*gOwQ15X?k9blMCO0MbPs3yINfE@_N%WW7R@OY$1JLM z`S!EmHQnWGRg!ayyaC?1J=JqwxqWzhN3Tw2dhhO3BkKRgM+bWPYNpSgvNK@(9ZyC3 z9lMVNW0AuQ`oi$2$TJ#*rXv%uqF4s?+zI2rMA)EE^bF%Hg=xlW@YUN;|0an+Gmb^R z@#oRercL><+`bLOB|8HmLRZ&wojf|$j6UuiOf+Rz>Npei>rt(au`xZGw(QJklnz!r zq)hgh2MSe;p_5w8jZgux61%>2nG>6F)*a~=X(eC{<_w_z?bm;5~Hjac$lmS9(xO?>8%5UjKbP>Ha^u(qrB{OjM^@%X}rmkcdkh zbV-G0SmeWU!@yfMfaRvGgZA(gKjtkrm_}!^=nAnpZR<>L#5ZRCmhoWHQln8iAiO(3>8)dLHw%*tVrUz_#kQ=|vZ`+x+jlp*2x50Ar)2kQ18{-rm%pnnH@ce5b$vYpt~KX#$%=3HE8du_%Y$qu-(OYRs2Yux$3Qz$Y8pjd zD=HvYN>$a>lmU}| zA+pRy;Gsl>C<9xr>kYFZO8wX{#t4iofg}i119ZKQV$dnd9|vT}s-jlQpCo8f(}=`0 zi5=~weH~P{beL~xHy;!{&3l@r9knr{UZtRuiF%3dRn#5FRJW?Ty5BsIzquW>dz#d( zs@(4(Qh+7UFkqO|(WfViBH98sZ2&IGXC6gOT1j8tV^! z@Jcgw9cvcrgfC3x!)N%>Smo zT>hS(tp8Jek^k?ysDGj^F)Knp`|z+>J7Ck>;JO2B%WZGDvE`gi@xoYS zu5U17Y;ZmE#^#}K;)T8`*55E2Vvr4ZQ-7oF(O1a^``+Ts^I&gmcvCA6iEkleZ6CI^ zUt`Nn8^6t4W}U$_kmh{fo!!&fY^KZErB>aF2f#}0c&yQ6taj9@B(ke;EF&k~;-;J=+L4a|_j)TgPEc4@Y!n2Q3*@L(@h64(q!g7} zl2aRFO-Nv_^G@>tPrQ5b>&2`}1}qt-wN_ddoT)!f6CKvKb+^4s0vRc#jK8ERg+fx3 zlNKH*MryWP@tSF&H4R)X*ScU~^G>M4+bDI^mr(I~v@5$a@1hRLT>HQ%NAU?MzdD@2 z*NFxwO_kJyXe-#sg-|I;%D@iHok`Yilh7x%#51L0!wzl4V(f`<#p1jmo;mR);x^o7 z@f=a->T)Un9jGM>@-7Q$+f+K^o7!D=YtNov>YaPLdU-O_hxd1Nus7DPe(g}pS*IWT zigAS(98OtX&ua0Pb~FEM9BRp;Eup*`><@_O%E{0w(SRc z8{6KtgUs~*KN#u^*!HFkrVRr<_%$8?ox2!xs^fmLIVAJP#mXY-Ptl`tHVt55!y+mt zWJCSJ7lT6er-8SfCFTb(Zy0pOhCyaK^Tr0t4Fhd#y=4Qo%=~}{`5+tkZM;nn^=$uD z*MG3Jey}y(2I~ylw&o3k%y_6{+PZB(ww@j7)x|a6(_ZP>^Jls^Kh<(E=hmfSN=hWF zT-6F7)s+$tn2F?OEOcH2e2u-1cHHA@CnFw6JJyFae19QB!95t!V+BE^pen>hE{=}6 z-MS+W@=eY+G%}17tm9Gal3>JH{XvYw{OSd7o~YEF*sDJfZL_j* zgr$X)$-+TI1c7C4`cOqutJSFDPpulNF4QFL$h)qVz(qiKJ3*=Hd`>zi3q*B$_SFA%&EK%3}GwP-~?o#hFEe@R$QF-Ceqh- zvfk&T*nTaMU&LCcCQFlwdP#Dfk}U9j#cJ)pl)Z;THem9rMgK#?bxNv9V29&e+MbcT zmV6WI7|fu(rY6FWOe0dpX-gwJZLRC;rRJNR+K2_-$@%uJv99^fw8tXbVCNrN?6WXm zvvA+xo7$bjk-qibfiAC>`tsR@zI=MFxf9u=)`LXw8|u?j#m`H*eFT!S7(}E&U8(^i)Y7t=Q`)r#X^@)k9CRe?BqfhPfm34 z;#}9~GcC@pw8p-oenr0=cSE9RNgx%tV#nj%l-o)2WYGBSNW4S~GTBPPvYg z7>}4*b3?TBzhW$M&hj(gngn;rc=#3V^Yd#h7}zm=bK-jEaH0pm5lQWEI?@5VuYK?? z32T?+w!=8@k+h~<>@hd6`3W&j>Z<(w{{a0FV}EC_(GGD>xPDw(lA74Dt=00t6>FY= z=ReYq=6^;1RR5lST>YM2RR2U5)h9a3K>9?d>H9jbzORe?L(QwFbZaew??Ib`A$UW^ zSYX&Itutkr@xTw*GV2W6vO#Wa81&oNjk*rwZj;icdD|F@aO;GQqEcXczmVY8Jmkt3G$lpgz&K?@nbZ?nv$if-Q&xa!gV!`NBQ_N31a+uv zM#F(8Ogdm)e5_e(J0~_`RU{c)FT7Aw-(sZd57##I+*h7mp(uWq-Nv9}WWqK8BmuGR zP!X21RIqJ@eCvY01yC4L_t&$DRK!q z@ZGWKN(~G3n8mLKFPKm>5{mzxnc%Nk=oi2m-%Aps$E+d{FZ?B`v5UKAw^6ZRCxTm3 z*FQ;r^5k51jwZU`o6yd>FULaj-MRs{Onqn&rfycq{OSbt1nMmc-+k#MsZYvflXvd3SZ>XSz&yjEGN!OpL7ZGD~)Jt481e0)7ZbI_1O^rWsT+P-z=`Q76{@tBg zcd_yHz2;$MK|khP$GVgD^O>6ZpXjpw8~RlLfxfr;^ZFwG16_>%Pr9D`hq|2nMZFsR z@AYK*ztxM$U)DwYPqj=Zv_PRgXF6QYQb+|XFW{42AKR?yZTrD$kPrNTZELzm`u>$r+Ng2AR>p8!f3%A0ycfH8Gl&+Qr` z`AR$Miw=9YRs7(i>$)N?JQO0%n_>q0;@9*>+|1uqhkVH#J?A0wNhDb$eTb`I%8Fxal0 z2ut0S>{mXh6RhU~Qev%ux6fqVzY^fvb>6T=_6C2$l&}a~avgI94TqTx6g{*%0CE?K zRdLNJ7|~FYAuB^=Rs6}&#&tBxQ5AV$B_O(_1Vn_&5jaXOwTkc2=TEgc2ZfC zC*wwLXRS_q_?oZ-X~F*0;CR|b zElFyOUDedeB$1l>0S*#Ct}1z!J0AHO(I3&_L=qEyA|!0bnL68w_!c=`NXpZw&dUO4F{Y0_5m&-8B*^8v9t zdF{~e$)whpx?|#Ru_?Pnc8+7N^%&fe%qGzO`)f5ZH;kFvyx``3#*XvR@pbuDc|?-C z$9OO2osM}u{On@MT*si|sJYI^%!O$r{pt~~hVM*}kLADAZMZ$I zb!)s(+kRK`(cjSX-G5I{cmIz%nfyJi@`cJ^_@cV6+B(d~HVT2wq2pcK|R}9 z4=2GFuuxPtHbA@B?uOkEmSL%FpM!0|KH1j3O&iP`7l^*eK^6$Npolq9P`D+~z?d9p z*MTq2z>cfLWCGr1h6oHP+jjjRV`Mp~l!2yFwY;M$cDU_=w>E2?Ue9%Uaml9)k{Y|S zYv%ZTxzNI}SZL{gC4}U&ud@pFzHZDs?3LYA_j)r>~gn~^85YSF$_~};5 za-Vnby}6ZAaF3*1DRMR=CsJ-@l}0$1LJV)wq0*e!J&zUn`^x!C7VmS_X-4x) zCSxbo4jnHg-qz^_i_P^~N=e$SqwJcR9P)RuI)!#fUK4m6%V>nm-_P#y9_jX^(yd7@ z3y-uc|8QZ>BJHRDjJ=2bid~EUDXRs$5KpRllr`OLG-Kzs&#T6B7W%-~h$MH# zPV8WRq-z%W35)JEKD{`vNgQ%V3D`aYIwEeSK~xp$P|&79G)$3*71J9#;U@w++LI5A z(m*p2OI`G?uOt;78`-ZoOo!e1)Rk-2;nQt+91y6Zp8}jXuh|*;6=z_cS^P5zCoyQb zLqNUR^z=%foz8X1^}DrG>DzZF`i=WL`Z-<= zPphoYPv+dX(zoG%=iNPhe0!qz561GZTlZ+Mp&t!nSK+t?Q`9g-DLvLz`#1G?@88$e z=)3aRcwFQoI2mZaj4|vD_8@KZZ_{t^c3=Tu(mn@3RD2HpEFWx)t+#<`gZTlQ25zdl zE>L(dDqsA9O214|x9GukYf%C0BjU!a$Tla2yq5<8>S0#=T5dqvmyHf|!&~oa7Q8LD z%usAFGB)2gR;d1j&NA2UZJ>}*EG{;d#|=k#QN$`D%nKHB=o0^+x6FW?qN1}iWTp*; zwGx?WLvPsoLtILcL)kQ~Ta8vB_zBmV(9+NhY)j&d~rAS#DphhmWvN z^Abx$P>*0c=4VbK4fbx_#>ljoU}6^0B&ftw?L?blxP$39Mm(*k!lm z*NyM<%J6_h^e##2m-n*nvSLhAr-yCmTkv`qXl9J*i;J>k{aq)KY4P|IR?v6gtaXALF>c6$xcc$c9Yl*pHF`Zv8bg(kNYgs2=DIP6 z@{p{9YY*Z0cW7r!f5+&@>0D=f|FK@&{!g^3&QuP@vta5JY~HjnK8nmI^TyU08!R(# zEE5P#Z^+H%MM$x1@V9MaIqG6N(B^-NM&Nqeux&TUEgN7{rLfSYjZF+avXFU$fvK*X zdcN42w+`If!)ywo-Vnl<`E9)rQjAIs(+<(hjV*O=XcR@yX|RQqHa5ks&_${U7zwQY z=-JnNFD>0Db*WaWfGI_5Ty${OnJ*PKzHaU>^tLN{bOmo@lf^foRMx6%-U?mun(>mP zc6oixL-0%s)_^7VrPrMm_wq=<- z$xT{nFdg(eOb9}$s+ED1Dp-8dxsDh*){S)I0DCVG@?k&lG7P-2!7}tWww4Vr=*(kt zWgf9bJTLzW4KAKk2`#Yf{64u9Lsu2rA%K~wCQt9DNr9W|Zq(A%qME}P9kv`h1 z^;;}P|Ff^{=uh2k^=BSV^rt`A)&1Q@cc-lm+M3sxp?&I4NJ>+DW#aM^%mtHSRuWs# zUY1`=KA2>EKtjAj5Vt0k_D5NV<4X7Wu5~c3|uqBgsrjX45JYbJmCnF|IR7 zGHJy?&q<`7SPL$!dH=ZK1-q3~c4L;qB7v@%oE>b(lV0cciFL&;l8UP6_j0yiH`6D`j(#P^tDe+qNdCF0#Y`yBF&-DE zSNi<3SNblm7%#ceoM`s2+uh-s@%nXVZ^X{5)p*jXrEY`&im|R3;|!z}42?a~6a3ld znwS^d%;)TIKO<3o|Iw+4yd*Ivnw*jzy|~uze|D-zjDN*L(#O0~{1YUx-+p+g_jyIz z<&Z@+h-uif6!U0!?MJDBK**lOB7Vm|C}P4uD+|2yMJC+JO5Npf*KCSb0EuDn{m*_)(!N4EwgSLEVJHVxv!bA zVbBfOHiox#<_Gx=hHyRW20%2Bvd&)PI| z=?J%AKx-kWG&;~=+gV)Xg^*kgm0UBzXXdj7;xG$s#X0zE`#tXi0`CeF(yjCQ%g1K*3+-qxOYl88$=)k58kV7+W3YwN_zu0lVclhbJ z#~6sBS0tsBm2#!by=e&My2N#HJshs6m*6c^Iq->R6`43NsE~;RUyO_i zz%nb1VO<=gvB9chkKPl&yyZ85ytIcPpslw(B$A&lmIoDLPLx` zHThc8n(q~L(io=)U@!cT8s{YQ-#TdYV4UUM%{lKOFT7Zh1Xva2gyX*t_KUYC`s45K z>et`h)&KApZtHhH*w;N0*{yL?lFx2k=~wUW>X(it`j8~|fCc6kcCx;`oAll|M6;T6 zp%+eU1pEQt-9FrJc@l5+A&cF62hc2D_gSEhSg5A#q$YKiVZ@@{5~~+M)4MEcyKSvK zzzf|NyCe<{$*$oUbpg_5A6HzW>Qf{pjhbG6{Qs(#Zdc$|0{=5B8kM8nujJ4OEO_E+=`qdU|@T$+#*oZnC^ve)Q@}KYV$mW9$#cS-*T| zs(<7CBYlg6c1YrkmGsX)KhY1kHs3<`YY+G2zdLwDOozK;<&?N)3q=l|gjcE=n_c>P zmwEMYf27-7uRZ3#l$ia7p~ikf%)9Wrb=F9iy4d+Wy}a`uvRgY*IXcb(7{7f}SvKg5 zF=L2*7K6}(Z486n*nTVBU#znbxa((M80^7u3_A3D!iiTJnPN5M} zdbu4K?BGVI&Ae8B6nRgUO138!i#A`}*u zlLT9u9kAXyA~1C2BIiED@eNyKRL8_*1O%mw14fjdG=ZF|bO#37_61-CZ=JDarbAhi zIl0mlK-hWnCkIEm_~ny~4e|HgIqI{=T7+tqQEPrUB;^H%*U- zku$o^bx3F>8N#DbVt!Y3t-7gIft}D2_k?_4Z=Y^EnSTT5)D6F(X}5?X5K!EJ$s4(~ zmKz3oz(gAnWk5TrRHZ3)`%O|UY0m4dcX(=k z?{K0Ci^eS$#Y3Ks4|iJKVgcG6)#Wvv`8)fqzIAV^-{u?0@4U0C-?=~4pJgZaKYn+j z|M>?K{ke~J^l!7{`=5O4P=Ds`mJHFB*7T{N4e>d}ABJM~M z!K7&LQ_)RpG(*#k4Fqk%T%Xo-c>-nxwO0VtZnC z*c#S+Uvk|wzLz8i`(2SBW+W#ksTCJ!&Z~?ol9qqWF+01GpY~!>%Qwpke+^?>O&c|g zRWofBIh80J&l+D#ZnW9uwa!m2_3YV+zIc4B?|*izXYA1SCyfqySU8~W9x$PP*^!N! z{w86(a?0fBD08l3Y#g_5&KZ8Mt`@w)o#~8S?=yB)PkC*5L7x`%+hgZzGG?r2^!?;= zsZ+jJGAz0?uJlWHc6g0=pu0RQOz2Ny$bR(fOrM|6^d1i{AMv2{@Mx;NQKM1SU$1K( zE^4l0X0DF7jyqge_rYz{DXFfKDz04w3t1WXPJZoUnO}RewkYu+u+k6p?C8(ya`Mkr zIwlV4$Q2<=DZD8Y#v3R$$n1Y35^NcC^Ol=8U2IJtv}^#_QpYNT`2l~G4fCb=w+=g_ z;@b5L$VxFifQ^bUUN>bOvJL9xF^m<8;&j8qZntULYf4$Pwj5Ahq8`OaJ_faEVL);9 z;y5foQS8A(aUIVscQrP`fi||t@`xzDK!noC*t%k412Y3Qy#f0+8L_48EZKm?+q%MA zXTo>`#U?Z*p;_a5@S0uOrSDVU6W|%&(H4ALTl)SpFzG!HovaKi?xU4u+$VlmUBj;I5xTY%p&peZmqBF)cP%6DgMIksXja!>+38mw@0A7A!zt9Q0h%sDn zSOe2p3VX4ITqlpuXi_VA{MjAW%(GFOHL9~RD=kf{W^Nc7@Ra#7Z7bdq*d{U81KTKX zA6nw8)|Wb;{#6~{`fFO}D;8VEyIe$Y04~1A1{pDmdgVqNWY!OMLmgww3x+VZO#w3i zg-cu{GHt&-_vV@EMKI_G-ok<2)E`2+@n^ktgTl1yVNl$e2dpl9(YcbakouF#xY))# z<_P-Y_2s4yCR`OLwl;w_avd&D@5hX7tpIFN>;O9>D_q|;y+Kb|UMTEJo#G5hsRS-^pP+4QC)hZKX7(=gZA|i!u4gk{UR~;n zZ)h{_-x;qS=Onbna-pSnRlFVRXn<*3C?_>19499~psq5H`KZ0Vag;BRQy zVgq&=>S1EGfMwe@uZ5ER=&i%{7L|)>VgQ_4R#=QmU1a8q{|&vYp6THIza{^?d5`3> zH>x$QD-uDlbE&k$g79#+(Yq}Czjk+`-+Zv6Z`_*lJ!7l~Bp|~#@9pR#o|Zp280+I( z6W!fubj0Fv!Be-N?w!2qoYYjAi=32_7{n-aW|6OQVsXnQ>5N&hrqf0TETXp#NAh1} z_A8~`NyF=@T4NTk7C$3kvRSaq*O64w$r@iZt5;oR+Dkx|^#$t8qBZbU(bd>{L7bA1 zc4%YIJ2v2u#q=JD;=%15d2zo*U!9blpe{&o$0yf%#p|(Ge9L+D>OyDiXf8+;eiB<( zp(S^;@tRnIhXDU5!LvKn0pjV33GAn^)TWXYtglCPxyD_ReC;Y82&$&ihzEr!W6^>$ zeEH_ZHR^aeQ%GyDZwT`XZkX#+UY8P&|6bb(uMb~*d8{wLc%et1ztCfLU{6R~FVUZp zbY>)7`&iNDGx{=SjNaiD@X_H|-j(f;7)MTIZLPX(R8^G{V=Zn7@9_NhXy!a|&PiC; zJb|8*yv|N%I=^rN=0?LVlR(DQAGMVjZe?Q5T=zLU*;A6)E54~QMfEWcNWV%V`{>@j ze9hY`V;_3SIRDefr<&ABA0AA~u57|wop8;noXUem&0I)a{{{W=SR~qDb>N|3DK7>s zV%%-AcH#HI{+=7vAL{t-zpu-~|F^od(9Pis zbiO0Hv@)y=}kSI_nG1$+Rm$8Wph2JoO{Y6sZ`H z4FR&)U^`=N2&0X95Zz$priUSLwT-znv}2)RP$1tTWfjJ6gkqnTVM>fpg^+A)vaf^6 z!~i&rU{_{rLuqpshJXt?BU$5m>JO@6gP`cah#4x*!ZHeIb40|3>QM}x?^(_`d0km) zJ=Qoq;9ilI%=2>|P|wazxi2o5lUJJgn;Nhru`RiOSKKFS>aW=~t$=ms1hpnn0laBh zF|XGovlU5f?IZ|vrVFh4q033)K~pI!fW!_hSDSklc_x{q$~qDn5ie->*^fs`w0m>Xp9y>}6@=If=`<7wAv$f5L0Tb9Q-7T2UvBxo*3} ze0XcD1FqHH!AKKi{^|Uqrx&`jKhnEAoE#$GWyd<%8L4H_uWOQ7RVneu6Tjm|D7#8_ zlh-7(Ym(?C?Od?SG|btpiCtUbTD6SxnB>!va6%IIDqcc8ZXZaQQPF?Y^R%s7E`)#cqZ2a(cQ244OwLQy#NnB_-`7d?+;D4vf zeJ8d#J?SLklRKr&VcLL-aC_l4Z@QPN=xt}-evA#4+0J0+<}EKggmIBU6pYNpG$L0q zTVRk4jP-BGP?$GBmY9qOu-tVF18ry-R&A1 ziXBP{W7MgaLAtV`;{;IkM%dxNcE)JoRO&^zHQgLtsdU2@yTV~sboebir^17Wa-%W< zxUGmN?F=>wC9aiSEXUdmVpfDlx!QNdP1P)rrMD`9rS6PHCdP!v?~wJ1;o zz3&Yv)N(yz+uXmpz*%*Z)V5iP7z)OBsu^#_ZjYonrOqz?3}fp0b)R>RJG3(ecJaH% zb=hMFxksXP`^J0lPQ3Q9e|xGu9wzok5{D#+L(}M|T$kyj)p*>>yRO8ze(~iQiF2lR z?@V=%M7@viG3|^dt=dt;IM!UFTy~KiH`9^?Hsd?MHM=nOB?&>M!XeRkx17h+y!k^DVWEVrszk+Qg-#=2~ab) zTG|)^6Xvp$+-_ZI7u}R=?c}!8WbMQ6gAb7Hrb}t}Z|n5o|3TMB|3LnK*)-g|;xKJs zTs;m*C;?C`1KpI3xUcU@XpC%U4BIadCIHI@a9zd|>6>NH8xI=Owl_b}Bz!r*ffvWN zjf1-3A#A@L*EVfi{9uKXp}^V3fX*h?AT4BA1{1*vnzPlwYs%qiqeoHZpR6_@i0BEQ z4Ju0YM-i0M7QZ2BuTUH8#8iT^a8qUDn&Iz_3h(jW=(n4)*i{SI9Eb>BQ(x-YFoGK=j`Av&(Cyqc|nr9(yY9q zyzcR}6W*1UvuiEqGc6Z$c5h1_5LfcfPR#X4S*aQl*+{8wfEK8gs#?}_lA)s$GamZR zAB{y-m7{c~gB&^vO<^FAQ3AR70V68KvNDM1tpoLSAd0S7i6&nsF54A>`lIkRb{#O~ z#>e2>@eOu2`o220NDlu2H*iwR&Dy4<3NT&K!-kuD%EG8%Kl? zD>B=8NO73XB*3c12lCuzRc%$kNzuBN-AmI{CE1M_@0P??vw&9AYmjHILv0(^LsnU5 zfVYpvbw~oWZPELcr0Z7jmet6rigpe7%EXZ(^y=lMe)!2N<&Ykb01rrhQyyAIB-GKU zC7woARVnB%lSLg#!n?8=JF)AM#O87$o3T4`^6*?sDX5d=_G`z;I3l8Y$Bn(xDLc4h zlG8JGU01V}rr5ko5`Xt_szZ|Vh(6WSaf}_w?8%D@eZnsD*0|C=lJWj-tA_q0#@utq zPpjf^;&U8xe9q@9b?lZSg5+3h%6N{NN-gyaHFYynKTFD7u!;Z;E#tC7`%Yv|YKDDy zC$s&g)?Qr!SqI?#%8Bi7>FVKMVCVL^aKnwN*M|p#HhKX>m;zHwIrai(h*Nf8o$Xw= zU`a)%{;+$v##Z1|f8b4J@2djMSf0 zd|Ng21<6n%qIA7?i;?T1gyLLkzNtq_l_G;IEx3vwkjy*Rx*5~Os3`G+up}$^un`83 z#RL*RQGk=|-`t>dEaoFP1Go|tPN^A!Ryl?kdZwJq$?~W1xApm}mwI%%AmK=(wq@>C z?25!&nJYc|@~J-i$!GeKt z^w0uRik%m-jLZ;V%k9&33vbx~C?o7iibUMV6CjS1qy(LEC`FVVg82-Ms>sY+cf+HL z2ayc3=%p3VMG)gF_>X_;>_+KS?(KXBaakHkyO={a>`2PQ&R9JL-&9_ z=aMwUQ9-*-_+qg*7amzQP&cQHuTZLzstUg~ylM1RPRd||b=zRsk_G>hPhQC1(GJ;( z-8r1duNTKG{O!1rlVGlErJUuyiFbrf9DWrtV^`)MvCK(gOP)6EYt8q8kd#Val9Jme zmXwm{BGpM|?3T{hkv$=iJqBhZ$Af9j>+6XgkkIz0t=gs{iP9J9b&R85A%5q{DKSVN zk#KiO+@60GdOVkF<9jQ_!O25zV<*|nHQ1p)dy|G8TCI{OU2ijP$pos!11 zKj9ip!F!`x2S7<=ZLQrp_rQFgU^|JVUGTVitogmas4HIEZ~b>R!aWdx98wQO2=9Wb zu*S@jje#{Pa>r?%JE-9(f`I{JWD)&<>0OvcTznKAn&RIWD0&PA8KP2bYhu8ds5sH< z!!p+|5)20)mRmMpRAwE}AS$jbH@wj&EH_4Fu5WY^7*fzmrm^W+&d>-2rJKXdTk*J> z#lNBv5paM?8>B;gIypr+33t6^MyuAD(c?#->&5eDdUgDQHzvoxiB3*V zbb8vu$;q)!j$alyJ9(vx^Ha^($t~yCTJz?_ak}luS&@KTNeRda3A=})%lDW=fC7#mO!Kj*$| zM1@)G{v#doapC)S{o+~4dn$1Gbk0l8*?iyC{5urdZrVNTpsx zX)n=9=5bjZ2P_hZzyB0ovC&~jfm1m`XvBa6rl?bV!5X_ysn8+sSR=qph#ZN@1C1_# z!dsStaZ9SItYm+*g-8iqMkZvjfs~6y;c`mU%d${Orfy=_4fy0t%+|6ZA2agIlgM&p+HjeN5u?48Uy63>F~Wc~%Ff7Ll7k$E?^;#CFR zAwD7_hGfX008#>n%HdakGm@GAue8rzUFd}Rf$osx;NlIa1jP{(am=A7%U8OsGX z`{ystd1W)#ZC)cDPFw9wTKbe#`fn!^Pp9j0x#rmWTiZ3?%v$E_blhl%WHxFlH90Zn zQb){d?qY^ka4Z6y0$GM@QsUcjRemruqW*+>)27xA*sx1{yNvBFc*=d?*OUf-V>_hJ z?cU$h;)B1a)#$mnFm?}gx;f~x$Ft}xv}%BXx6K>X_3Lw zp+4>~u%rj`hMw!st~1Ddfi1Pn*f7Y1&~^acKq0>%_vy750mY`4+e9WTGeFzc^1|xv zBe1XxEu~OYFlo4nKcE0gZ;z5hew ze(J>b;~%qY`$S)U@foipAM3eyZhUWh_3DLQvD-U7KGrFT?fmSl?9{HWc@4=YfEC}| z)|;f}xM+syLgxt3Jfj6QoQ;DeuG9IWk$fbdZou{E#~ZvE%d9i~Hdwcj6|$TV*xs}; ztfLr6vp*AD$I1b3(e4~0?P96yQ>@n2?vLbOe6`%bZC$bWh5DyooVZaImYjHf1|BM# zv_GyXZm@%($dDAcjov>kL0Pf^fmMzor$R&&Ss+cOAt=2J0uc*lDB?B1U=7b%A)x|H zKr56|aF&W(Qb>x39u&o2f=}v?h>ec^G9>C&$XUdh4f1QN(iwE}{+!Nxa=5;282~&A z=!#!Fkyw%=lPxt_!y_RUt7Wfa{qumF4 zBi&(Vwnw7cA%>bh=9J3(@hcSnQ0CK@7n;z<{k?HXHcm_p$t2OQHw`(7D?a$+8MJoNSv8-X$X>1|*(_FT4&fsut^)SO=z zi(S{)QtJmWUjTuff#gO8TlqjZ@B_BkwEdzs`vw#_3LY3`uoC}BB&b>SO z#>ZdN&wuox-h1bvj`sI8A;DGHE*A^=JKF5(viwkF#dqRF{ibQvj>bHAwn{v(5`jEs zYu=(5I&jB)@B9l$pd>l&!?k4u3X*Amb2D5%YwSX)oP%=*7=ubNZ(_iv4cq*-J-Thx z&A4paykS5E7wfm>rVZBp47gEKch0Mlot>BEA~oE=30Y>qKn#9jz_Swkf~RW_fL$_g zSl0(Hfv6KE#V!=^Qp5&J3jT;A44n#>I7dWjH^kwSbp~{9)1r8T#%@zm2n_%cJtZFz za3Mv6A_LX~3S^RzqR^p`6cHr`h3Ou|5lnJWnIr}CL@#E67sYUlK!>c13APlQ$xr@0 zAw}R+k|$;mL)t)Qu}q3GUOi5-&ejp3z%Jsav7ZJbkcSjO&D2A}U*XZ=R1yYET7p-{ zjkDy&xj4Jjv!^HW-!Z$MFXe@M-`}E0C}Va!?Wp1AXh=#mF7Rs~z5#eGxwu+rP9j@S zZ^bKQ8fSf!BtIEl732@d_Z;glT_000mGNkl4UofMufDu=}b6kU<_C(8?kx1s}kVC}ES z>E=e>Iqo92jg?>{`zUfV1E8a*$fHLJxu_h_1*;boTe&e=aHDm7bcF|t!`Iw47{j@Q zZ01uj2|>F5g%d21_cVljM4&eTY&6nF7K-9J0_?)r&+{Wa@BT}9eegfte%OR|e6M61 zNWLd#vzac>&UJD8N@=~&y}P&dF^TQtk3Z7=d-rsBaHyl(w{-XJeciwRQ1|XX(4Bh^ zbadyg4vubX518&BYP`FrdNfh0D*0HG%+~DE)@8T0RA<`1gakS#H}oB_20S(^@a(iM zeMojNbh=>o)}5zGi@+$FuiSS+VTxvjXxo2 zB~^*1Toy2!XKv)g#mT^Ua}gRo#$WNuX-VhTEbQWl6x{p*g24d9;mKV5cZvuA86`FV zLKfnhOBVJcD8WP^=!?Gc=z1w8<>s@wCFXAcn<7U*v6|RGr9sgOfB{7jy@k)dCreP4 z;X?@B6*4z%aceR*zWDBYNB=t(&^2R$Qa-E;Dlv?*-ZI&NeHpXkD|&2##kjW#F?jMg z3b`UEAs?0{oEbtP<)9yooBi3KK&Ob1|G2G=csk--v!iknn_bUzetD&r$LD(b>RhLn zGbQ}&OdI)^kUP60wd^wdda`1X&UK?8HXMpfq&10XNfKM)Z%v=wWG0z-@vm}HBEDb_ zM2IS(2*5mTM1(r(cqezsYrs#Qp6mI=Tv+Jdq>=y9{4LtwrTtM|@tUzx4t%;E8n&HQzyM9WtIr!0kz^J(A+sHuPn} zoSWYLuhc#GTTCq`fH(r^02gC}Y1-_`{wyQ9!(4X<@P7(B=)W(uOE{ z(-0K-fHi55V-f;Gp=|(IG{muy+dgb(`No8xpg1GzbE4Hh2rl-|^qV;NC{&DpSF8xs}*4a=>S)N-FNi*)P>-oI=6If55e5ucV z^nG2OzGPmFbnDI?9UdNP)HDia?wXyM6H`v=?-lOTgpZ2dSq1{$eO-~fR*RXIvnws< zSA1TW%lvvd*LuBFM?&jiEywRV%SETvb&}{?VjLjU9|1Ceirm)b4W_r{<}Ei^ZZK`I z&S05gL(`tQ9xOBToHW$a)?u01Z9DUW9K4$TOVv~kE`+!NeN%Vplo`3IKvqKUYHLp3 zp03a6k`2sDkQ+i$p~^|+Fj?vr zu0NHkoUAKg8Uj@6msreW9!SC%Wke{#fPk2YL>-GUA~7V;$Xyr!%b8y)zz$6cb-cFH zs?*wwY9xjxB!UZc*-o&_iK#-e5l2Fn;63Jk-4)3C(osVJp zvk~C9RwV%~%5KX4vdAgP;MMV^&Ms!$TphczO8#m8?sTN_q*m2bsz@ePRV(Ez0+)yl zce1~Zwhfj!-ZCdxtSf9&3b}98QhyLELRwbaRgAhd&6%$$O1=WdxL$d97QVYOHEf8;!uA?;1{_qRVpI~Bce)?7L2qM ztP3tDm}0l_VOgmGAAO@1^$^r>d&CrT0zWsOoKc64)Ho}cQB z?`NmSFLi$Mirw9*{42-n%S+AhGXq~=Ug+xlTvunOx&~&KXRHU8B)Ds>NS^B@NzL<< zG4uG97*0d$Wza_{m7dV>8ztZjpi*4R{D4gx;KL5UuP-V!0{Dtzvm!QO8-wX0!?=r(wjF4T;ls;yaUkyVVgv$i{xxf?4Mgc?X(C@&gzx%PrX1D@1TNxm?sWt)g_ zZ}7AU%7gZ{EKqL&YP?Aiq0n%IV5OiK#8Cub7i5FZu|^769T7@did3ZXQSQ$|a0)=> zr09`0h!{38L&;JMoV;&9k{3lUoWsP9pf-zdV4u)C>8#m}q)q$DV+GiyO-n5BUa&pR z9g7`R%S0+V2DQjNZrFKocU@!4ix0O$sFry`y0Ymt$!EpF>Q`ykd>r;)YQ8w1X~FBd znuXgxjM&>5v7>0zl0d4ek|E`+07T4vEI6m_;uq3mnbBwFL9Vm>S~2CMWMlM>&$0J0 zbn-k|l%LEmbw%R%l%3fRpIKANN7`bX)VdD=9^R^zQCV-c!%k4bg#~@ z_4MMJZ)RDy_DH~O#m${n*Oekdwp|nFl81=Ze665`l(_L}+p$^ZaSrB&U#VR47n5?lWQY%Gs3jUZWvM?3pVb0!)%p$j!jSx=l?u2aB@^<^%>5 zb%@kC4iGHT_Se_<=sY zHPSZ@$C^gcgmIj(wzf>Nsz6dOry`^bZj&@-UMF-HSJyf{In~9nNd4Rw_Ro^n(*xt19z#9)>ooVY0 zrUx)T=q)pCFbyoz3srfgI`s>bLs{{p>%p$7Bty$0R+I3!CUS56kIDMiYAY6#wN$#E zxG2_@J}^iT0SQ=+O|J_fRD`iX5=ih75R`#7JJ2d}ade6ZKne-q3}1Xpats0Hx)T(( z&?V*$0x)g;07y$gRj~D@4QqPkDQdbX&6mNk1P#ffTsOu5l?X-zpkP8~7G5v3vMxeo zK{)}~C<5LEH^JZq;}a3;EV}^+(FN*v254a;#8i{9HuZ#{*btlXs#|GBGP`8q_D|OB zcSQ1^)m~ex0qV8^x2oz|DOa*T`Jg>Ak{mnpU2fK~r!p6^as}k1oDx++;X1_N z{;qivU6W9ke7~CWDrH6@ee~*5-+6xSA<#Sftsaud4oPYgVruFNe@Q`Kyb!oAYaR|< z_mo$okI$}zRy&O6bX1ebvMSomjB$i)&Z*OqHrKv*iC~aZlxrT)xJEe83Opz2ot$24 zMzRZ{_G|Ph$#e{4cz<6@3|3;%v2WYhUC~*9jf=1O)8i}s;is?k6Z$pISwDYwPrvg1 zE&al~NBa8xL%nlrPj?S@bRT&C&YnI-_G|Cl)^9w_`u4Z~nx?xyDRGw$gh>VvT$&LF z*HUgwy$)^Rj1k=w^R7eH;>st>jBUg$H7a#IzD0*|!AOnWA491_yQn3c7Ay`Md2BZ_ z%PqpRR54GKg~qy+2&9x^gE7S>=z@d*DuRG8Nc|ZTlKNxt7h$Ic+Cf$1V2eAjL_KXCy|DN%B!;C9V^O^H!s0BVNE8venEWGMcmIu! zb}IeqyZic6-@2=B9k$wM&Q5^|_tA)Zs0G)|otk^e^zNk9`yV{iH@@{v-GBFeon9~W zvGG7ego3(uA0Z`96pybMO=_t? zNit=6gnYc7KIUB;X_=H@+u_6-a}iJjSck^|HpM0;3ofVNY?lsn<1@@}L4=K@h#rfh zsIl(~h>)4WrfHKoppHcEA7x0?*}9wDe{o<<9jU{o$021#&A{Xh1JzI|7*EWlBtFtO(LOn+uYefAo=QdrTsjkjUDWgwRx~ zjY(!zRV$eI%2_hDWBW90#?2zPnYa-XzJfj&Clrxr7yR8cn^7FH6U6B;`NM?KVq2-~<^D$Bg zQP3&EXNHU3lwkZ-Dh>#nr&6_`zi{E>av)^LQ3^5drD}vBJ*qL81Mw@I{85^{(GnMM@EJiMA1zd%e)QIcz^bpc@qSwW(U9 z5!QwTwoaSFb&(RwMgX!*2#q5`SM~SxRR5X$FXWtFE_twA>-ND!{>Qc78)xk>-*@3 z-gp}Z*>=4xeOEtMlamtqhK0=+(GU?zblx|61?|Pefwe3we&StWv;=%H#SszscnyKW zgiIVprh_|?W{}{CxI+BFhm0jfz(9o;g(r7epc%lPFjcO)wN|nS!RwNvW!N4oAl*OE+A~#^);E3=UK#H0BM;Lt_y*@CL zTxSDLM&ILA<2C*FfA8|a(L{&4t)`BrsZ=r761H}nsO*@X%&vI9e|k07tLwQu@21%9 zkkC>{xlT4Oux6~+jNyuJhHLsC7#P;bBUoHWURU^;voky8+t$U^LNyDDzr*cJY8H~L zoDvWUuzRxh7`Tt61u24VCh;v~rB6xB|KcaFlxXK05BK%W_l|V`_OARIw^CAKcN+8+ zO5s2F>WFPMTWH2>-&u)eDJR*Z-AZ5o@DKF0Z~P5Knw8Ah{Loi zcy4qk%@-^dbL@q{I@@4giswy)^`?L=f5m`Pse>Hy&4P@o1XD_Ji-&@37=d31Hx1%m z>8bu~34je}LJRrNjV_QH5V#KpB%5Nzh6G_!+O$nXC?X_^d4}Pp-69jQdZMC-gem8r zc`CkfGGP1oDr4)dE7%734-24Y)nh%W{)(2|hfZjhvrf;BuX(T!{q8T^*T4PsL-~Ix z*>6JAN~%)_B#oKV2fJe(935(B?|^%Cq@A4|-Me>J_aDBaF-a?DW*GCXsw#G6joPNs zXf#4M)ntb`2uw+8JAmwCq{;q~#(RfqclK1{ry5U{+p!W4TnS$tu`hW2_{DeG z!Ci%5V4jo2E|D8=E(n9$>IFZ`}ZI%Ln~{xAmqCL*2J+2Kff3`b=$3 zgdfUaKk52cj5Pz8ByQE!sm&t&BO{xX+!&_F907YWGFXG!YBYr zK|Vz&;7cKH(};>JA`}s*LP=mIU4r*q6$cW*LWzl^e&QmezzAIcQmG@305+wN_~TBX z9zCILN>5|+`bI(Ii?)`WzznXYTs+8qTd{ZvHX@YkOnahIrwD{eip(VBWhwnA=4tZh`PEE!~063%I7;9zr3}$H$ktV$pUyPGZw( ztC5q(q*cQNZnz0ju4q00mH39fzk%r|N(?9|Xlerj14v65IO7zY=}Sr>0iGM*BLTd) zTDs?6u&ld&e`zCMn8 zZ9DuBmR8_bJRtmY64?`8SNeaF_}0S%y?=L~Z*Q$Cas6nc ze5_ACf2r^N{piQMklZgtyMry}173N1zSd_=tVtIg4? zicN_H@irc4#B_%9#-}#*27P&eL|qEH2u_8e8Ur%e712gjWW^r>V*>`=&+IfxH@vYk zXRx2wB77l?=<(nx0v;pVuJW0l)c=td%S$YYZ!OJuxVh$GYE7&M?;Pn*{?bFezdO=| zxjast8YVtdyZm*PTSx5hZ{N|BUDlYSGa8Mx%g*cety|jPKhT)(uWi$o`Bjy9)|7j? zZCkbM)*6yq3teMV*Nv(QFov&4VE#FO-Hesnky2eNQY!O(zL@Fc{9Hf!yH$x>+>a)b z$Hau_V8QhDMrOJQw@!oImZ*?#+nV3DH9bJ7usPXoL*BG&ey}w*zikKK#adnar7G@d ziW0IVPqWp#H{W@@-t{ zwV^nu;X=GHbiNa;s8rZUDib8oGb|E~M9p}a_u?xl@i5Slq@vEKSqR)R`i?PHND-V8 zj=&|Efw?fUy=>EoMz}R;pd_-(Yh7Mk>-6MOUa-+>)K;3XXnRN2K-VnXIcKGmQHR{5 zw88dAe~a(p-vY_%Vz*&+bA%!`;5gHU=2}LTl#FvK)}KAU(36vEy-O1N@Mx;CGb661 zVbNzCsHwn`-jpG95}5Hi&;LsP1v|4Vl3Sv!5o0)FyejIX6n!0H_5*-pEXj=6y{Pzy zFH07Y6>yC&>sE~SobPz{;bb~#Yqj{Qi8EJO_Gv$B=5ZNw`s|q22xrvwk6HdD$;=IZ z-Gkx;o7kd8kq9jBAyQlZ*|9gB#d;j*X z-sPLx{hf*KOh!6t8jW(&c=}ieU;m3*@BcHoodViiD)3hoh5)f6#V#NzJqK}9dWCHb zMQo7)hOTn{8O2K50TImAje`gTu3|mlaW{JdRwFn6)A3je*k(UK3Gr9;)Md;H8 z@cCw2Z`q)aVc=Y4@MqcJ&vGDw{&0OE`w~5R`}|srbChqk&$xR`FzV7$Pey;41ojf4 zv}Qiex#t_&+2 zb#u0y$Ru_6bNwZ+;MQD|1-lp1S0u9Y^DFt);>G2x+(1>G*p1b^erPrFYsIEgUDaGy z+V0Zkp@LXxzr>uNDRKh^d=ke7TW3Hr6vB~^1$9kBDuOc*5wct%J!Ucg;j=T{-);55 zt%;n>CgYlUR?+2D>>{FXnw#IRXgrs$c~x`86RqFpuNk|BSVvV>1=J;BCUxOal0*zE z2Gp}*jStJ6gfa_+cU2uG9uwCaGZuT(R>n2so+ByYJEg!%@=nmcXtE@s1^&+1(f#1_ zme z%Lcr$@z_{gU?Y=lw!z9lXL=hpcAk%exTga*Rw8v>Ac!?0gaYBFY)lG=s$iciFTukM z@*;x=_iaGiALyo-AM8s*Fci_Ye3&+v#*a}^ZRiM;l;VFw7n@Bi5hzOqOX=fAUbv!z zvdN7NJWuy8#{U;xFFsW=OIr()*$g;nGds35-=|ikM#CID;6BLM`E}!@N#(~*`@2*5 zJJ`rct7?^VCC|?snR}+;0d)dQ<+m(V&T=T-dZjh%!pgu-f4y23zQ-$B->s2h*8!HV zRx7P|y*Qs=%RlQsJw4HP|KX)R{jYY3h`<$KL)Z7Ej4`4jH+~yj=WW@48^3Mub_|34 zpfeui10HO?3UAv$FYBjjQm6)U;*#KRzF5nHRsbJP1eg|C_JV-jw5>J6&fiJ;T^fdz zQpYFgG9F9{N}1>u+n0G``&2mz1VPbP9mG_8p^pe`Z3GSpmXjpt1Y>{{q=G-<2*4%a z17ZMJxYy-I{#sP1Ay(_fVwX~s36~fP!zNoO<%G*9q2@NpM`|l|4hCJ9C6m6P{FKy@ zq)f{Lg3mR+#bNA4)`RBUw`7r@v)C_4c1~cIca{g5enih5J&*Tgxl%K^K*UY@rmw`1RfrZ zb>P^ziT(G?GGmY!vtp}GYdW{24-5L|SB=-as=Huk1)4g^V=EudI?M+@ zM6DPvhg!tYxKxqzG)#4kno8?Mr?$=-w{^i)%JTIKDtYWZ&TH!W_2hyZ-oM;^esZPn zKR(qNyTrRBu&>?Q)!o}WnoJtyb!hhLs(de76aN>Vo#@e%Q)RCAorgQR{a{x+`(us9 zEsIg5iWusqfu?RWZ=mWCTE>kNYc8=DU74YvG- z*{*=l7k67^ez14@CGd>_sI))msa{IqIazOe$X*UX*^a5yx6QWD#$m#|5ZXmd@1S^^8ec&-)6ZMm59+It2VUu(&0 z#pQga#r2hD{u%$-nU0TN>bw8wLf`+-j@0?@p1E)0@EC&<&=)${6PvRKz~r`kkPUM4 z2J?o2-mYW0;ccC5EHk!#0Lup2c$?p%*VT)X%n}2f@R7j&p@+d2s9ayy2ZBzgE_etH zwJbDi7Ncuk=d65%650$H18K8(mBj--0-YgA0j~%My>TEZ;%%X2^2snLpefw(J_l+5 ze-vmb0$v7a^+(~Nr%U%YbT1Ls;y~!S7z7eR<=l&Vf+k^2N5zB+@q7j_N!KiHp3Ey2 zMc){#d+Hbu)2ro*VO+bWoXEtaaWeC`tr@#D4J}yAS1iQ->G={LYizEsX7XpH000mGNkl4wH3)1kOrQTKC_z#snPSVz-FclSr-+kkgw zEemx;jA48HdJI-1CMU8vPniCT&VI${x#XYJXXZy+Cz4R5iezL+$lQ>_B> z?XkxfuFKQ#g83LhOZ0ESc$%yjn~H0ZVJJ%QY+6<763>#@uSs4`reCtV{FJ230P61E zh;L;(I^>n%hzEv_?_}2`Gra2+`13DLwXUUG_oq5yS2o4IZfjLlE^Q=mM6jSNbj7th zeR-x=&rkK@*{NRgjqQYQp8m`3*Iaupst%&k{WetH|2-`Z|3HpGKIqFEv}J}tZfxFx z(I1bKS>05UZe+H#4I*vpiBoSKp1b-=8=Tk&NIu+d!4MRarM(;dM(D{>l$+B=T$=cb z_KVfvqcA=Vl?KHIZ;*;JZ5=4=8&qO4eWS&fg6+Gi%xrxK%sCu5FaLFLF+bAWpZ9?O8oj6(@CL4+3XVbfdiZQAi;K>LC4neRfK@rnlW6lSazntYgS_? ztThfiwky{UsbF-=ZdG3AE~z);scyz=gzMQ{{;sq{FD7u+BqnyHy2+}zS%wFPeu8Hu zS~r9^9BT!Y01A@V#bZPqE;2oU1$2fUVC%ENq_IJmgRx&@>)010gU`M=(Z6_ftXsQ{ z{ImQ$b~8KUnj5fEChl@~GY%a|XvLH3(l;RBq~l~_nA2~HL-Z{U3-iiJAJi{IQntQ#deJ?14PuD_^IcldcillGj_fH_adL4&otpx zk$?R0KHtm^4<>4xT5BF8=Db>5(T6WcWGB3m+`m26;hm|b2P3s(FEW*UJ!n>otA&oA zpXu|@Ug*0&e4;=4;g|Z(r_c4n$H)5g>8U>FmFyQU&h_ZkgzIcZ|IY&+n>&nG zcl$rreE0iy^&04#d`&G0pMY&yp^>>1y#;1AP-Gk0i2fV(fbHA*qCj3Sr@?*@IhH|& znu)>WFad1)vQ6PP6$_1xS<}Y0;mRO=UF_d_V@plj#@KZ%E4ZA@0UP?J4#veds-fKI zuq`w;gU+@^hQKsPR+}E=$Y#~&dX|2Vdlw(*D22}0?2VEVc!y67HHqy7bLIDc_*_5v z;-&80KhSUd+ikS+Cnx1!7CC$ILiy8jIEAd!n+VBQ_rHW4ZLS*E= z5SanG<~7iQMHrC;Zy%3|8ouEKqJL!dgtlVKQ-|VD54QXiFIuoWg9Ms1sNh zcOfX<91*=B!q^~1M1dr*RNnp-D)jnrfN&cGMKNQ5ECsq$;S>=YZ)i61fGj}2!eAb| z%vg9)g_IX<%q5u2V!URSmyg}as*c5X%`1VGJZ`8gEVL7t$9lnn?pI$kuz%Fx-HLY) zqG2zTnVm&lS3J$tYO2h20KhqCWp0p^z(8;#a3@IEi&#ZGQcwWBbvO_QZLkX7$-#?L z!9~W&`n3>u1>A=fan49)pYzJ?kG?!1nYHD6*$z*h6QHg$VI)EbMZyQgW3p!6_y%0? zI6KFO`))Z+D-&-`+;vXSNmZ4V=#L*fJO}-7U|5s9)~*0__@f0`o>@Rv_!Y@39bPe(WX3|$T`sx#m*wH@F}u*j zL&aTQFYXUx=+!Y-rluP+TA=%WZFf zEu9X8=0O(y6j*1l-nKR{ZTvIA6;N&v6lGKC4H;tk<8uM)hBk_TldBc*3Esv1vaNC9 zeF7}oGDFfA`yAvqb!?2)|bs+;^FhUA6oa# z_XaTH0n+YT=H9*ChWnw>H9Pyy+0p;_$q76AGrjZRNWcBfcevJ#rtG#xB(o~ls&XoG zJ{vPYojZdBg@JhIGu@$_@o!}kRb!z8z{pd$`H5{dTN_a7_(B$o3PAa z-q^AMEHgdG2i_Q27b_{Bsb&BxEkmM^1f3K4+ZP?B7hEqS zW$_D?DHIWsi!p?g7p!iM4YNU5Y&1V5K#q@yP=rBS_)S_d@DK!vIRd?Lpm~EY%v-{s zj|S`P!|DjmrG!jcr;viadKkjA1(GZa7G$AATqe9#YbYlxV~^LGCn}H2ip7|#z#_ZS zoQDXH=aNO<Wou2EBGHBF_u%E)@0bM9|~NJ?Bo7zw>h6NB7%ND80SAM}xM z)W0umx=?6b~rSE=us(ZVw4%n4ViOsp$vv?6KG*r7dpexd1JqdRw}noL_YB)@F`65l75`ts3 zA8Xy5s2t(5dkZ!)SY|*}iu-SQVYW_;LE+xk*}f<^nYR9C*<$iWvF#fIGaI3OnH^y8 zY2NV;{KnkZzQCY2{%?b!-nNZ>4sy4@4c2YjZqq{@%Ldvpnm5>wF|bZEJ!}6mZ>P=( zw^K&O}bD)x3iI z@cIQ0V2PwEee%QiCDCYK#2qEG1rtxw+Xse4MCZ_}H`Z4lgYBSoowsS*406*3+YB<( zhJhdS10LkY8=3zNN99X3IT2oPaR6@knw!)Mjel+C#ipYJ2KnI11(Tz~EYjq9oasKX*?Nm4O_LN zMlB0eoh$CO#DWv0Z=Of)XO*(1jN=h;+&dWSV-nrZ?_Mjt`yXjFdQ$o}^i@HZ3|zJw z86pPSXBE9TYy*0u(BB)L>-?3pgRq%Li4B3b?)r>|eCMr>n(h>bM`0?|(2~3N%Vd zx5rtBqpSlS<_<=cF0NMk?&Aw~_MIB$p&!1Uo?PpXc=de7x73}TiQZ#A9j&j_t{1Ag zkQHrs-shZ4;wtxe)hDrBH5&NrIRsQymXlgVLNm_POH6(WbF5Q^&z5`k!?S0)b*q-| zwSWBk?`t`)+#}}H(9zh?U^Iz(Aj+UOwr&7aUs0g!p?>`X2$7!R-VwXGP5am^sXTyQh{+YP2eE!j=5P&VAm32sJ0oAH$F1%@g@ zq=;fAAIT?!WgD>er^XAxAde^%5?6d1h^AM+rHDt!)?qb(Lr-E@}7!=T!mtaGM^gQ>3Uoq2HO!y^9%?r2duArGYybgrJBiGBg-^uNZb;9`0jLjuPq@ixR? zZRQ41$l$rrF-IJZY2Q=}=FLE-2vyvO4gJg1t?OLsdBG_4T$flprdAlQsBeFwZlvfF z1LF`tjgOp?64*A5e@PNtu(R|JP>$J=y}FpQ(5&UB;&IBlO%l6BGMj=M##+24TJRmr ze~0aiC+iW{p zA2iWxwv5ZohN6fDY%2t=WAbf4btC#I8Uck#e`E3{K^ud>aY4Uo{~tPC{Iil2%56_f z+!k88eSBS9ueD;X-k#Q)wppLOnsHlonsRS6WU64EKII$jQyv1pm*Ox>000mGNklGmCrLgVv zDB_3+MZ{)&x^}ymde;5 zSutLv1JDeQ#4xSc`g;*ykr>waUZYzwW-AO_KQkE-Gp1p4RVk@yDpgzqPt-bR=(h6TAWXae9&B+i$z`2o#$lPSURV0SJ=$Z(jE&=5^4emy`K9Hn z(`!9>aVftp+?~{FNW?9%j@nvvos@_t(Vs~8rI6F*r0CtA$H2+RW3}=)(SJ8zCF)_D z=tG^Nj6*iA6T^Z<>4Q}2OTtWDl4KPz+NU_Gj31OWPsj^i6&86=IR_69E1i>oUa^?? zLCxRoGPa{C>xkE-w~r>;nY3zo>WxLG)#XCoWnYlYGJbasM{4MA!hXrMJ2}48PaeI} zGjPk|_0FALJ-EHcD@5<$TGdUhOn_^4c~|FGI(>DnW8lS$bG;;Sy*jzn$=Q`oNUo>A z84KMhvAyD3%Q0i@ST8P!fy6zbKX+@c&%s~UV){LL`ZEe$z0t%CCBl#|wT8oX)-!g4 zsMrjQbp?Dv$T)G{6e@4T8^N2tEgbarKhTyNZulEQrERmemk$_&5SrY!x$$kq#t7ME^G7;a{aqgXB=4v@ZWPZUzd9dr4|rp+U_K}2ZN>Y; zW7f_kgTBj-ZNmH*aSgB7DNzjv(mCI2f580tgMap8U3~dWBVB0c@=J}_N!3>;%JXX_ z?p54zTPLLi(5|sKQKnW05^0BciW<}W_g&ELS#;2t|Z$4wD818wAytQ1pZw2i~{)-jTFcEO@5H1h?G^ z*_sKr!p8Ix-s9RQNP2@^(2q!=x~jMyi5!(x*OgkoKd)*!jKt=6vGV67)GX-4xa0<0Vl(6ByWmOkm<9I*uipGb+Hiwb zIT2sQ>$HjmJS!2uLFEWJ0j-%dbWcudPB2RnnRjO^a8fAI2m7fQ(<;FOi15Wr4`Og! z#gCn!W3=S)7l+$2M1&}%djv20S~DTtp8wMGf_Xe6!5#CuXU0NfT}6E_ME*tQExv1w z$Bi1s+pqrCmvgkz#W|Qkne3r!D+TRe&*pmi{ETFFq6?DV&ZLq5C6FUt9ZjbrRqUXN zMk|lm*`;2+Jktv&FkWx^zryi9>2*O2Gh$l!VUV~S-wM7Xd3FAg6|sBKEU~QU7JZ*G z-Un=17yExz^XU&td~clM4US41evlg*HexQzK=qh@YS5c5;1g=k6_8>ufEmab2xKm1 zH`UC3Wjk*xY;P!XpUmKByFH5wphH#2n-j7d`YnR{sz`pSPLXm#F;xGl_RvwT>!0X( z{GXY_%YIz3_nc%3D>H8??98MpNi{n$E+OA#mzuUoei#{((3V_7kHs$YXu?iO`2FPB zxt{UHa$n6_3Sf}*-DwWDA#9m{oVi9FY4-YLZAB*JyMV96m3`pg>R^G-Fq#ZRK~|z zWJcmBGI(tRa(A}a_++qb0BkA!U=A|y8@^np7)eF0x6G|K*v5c9>NAaUQUwSZ+g zfoWaI-_fplMYiGw6Njr8uQY(UY`;Xe;0l(7#!jp-?u`{u1YjIMQq(glhk1khUj#lC zfr-};u@P=iiDT2oU^S?UsZR)utT*lfA%apB@+NMDA^>y&xWJZXdA_-O z_h2yWv!hZ(XvqW{5}4pUhD#Rcwboj&*adF9;6@i^{F^!{r^JGoNe&fsD8Wl1A5n0q zj8ka{DPzxB!oP;&4SEoQeM1qG7kn8LO9ytMr8^=F#6(9DTal1g=$v$~W(%G3YVm}f zij$dlW;J(ios&k~oPHHow^@mH6Y)l(Es7ISN1ML!JL2>hIgxnR<75^QvTbHHaFtRY z+JO{5RG^e_aVN#5>jZ1L1*Hv1fleIuXI-Z#|Ki8|dRboiI03Fm+KIUByCTj}m32e{ zI^g@?cvP3foN%z>HDlx?Cq92~8|^l#=%2@D##lUOclzw*l@|1Amsd-7_||o>Khc=i zi-~$`UOis3^YUxNm+aoW1G}W&HP_tzc845p;zV;wIh0rgbDdNHo(FB6HRApo6Jv|d zHnPSkX`k^vXgbYq|5eSVKh_&Z2R94^&+L~C}Q7MDGF#ifCH)Gf~wGaC>Y|97Q`hgzsSIMj!d~fTAJ{8@TV!OR!(`k`j=}G=e zB(u4gRK9%uP-5$OJL1}LtEdK#nyicKm0q0A)o_7#;m0I3+nw?qcf@t|_4Qw8Iptx< z^LKAt%inRIJUP+hpFGpqmoJnqk2OC3OgpDPQhWX-iSC>o+gxe2P~w$GNn%9dAAMw! zUE&Q&Nqmc$()>!}<7aws`dGK$87og(%`PtW|NQ@cs82urkP)HNo4)n)VBo=TlrV;A{~ zMXW2ouJgiUJ@;2xV8>jHOhBiXa~5Z^KK9nTz60u5ASk8&iiNAg>DqzXpxF9k2EY&J zQr)CA#zkO-!9rt$V;=YcTMq4ZOxnb_0CGwphm-veGSfq7L;a$|iLv#@gU#Th;G!r! zE-Y2J2Hoq>tp_@^z3)!z=!&Z~Gu?~&l81t#$Ht1B5(`->uN9pf+P3C~sMI!f!Bwu5 zs|uSMs1(>Mg4!D>$Wso21s;WZy(HRJIcSlj#RXCUH_UaCWn8!pSo@m6JI<2CoXCiE zMchm1OLk=!B(rlC`4e7=F$+|)=vFxqYc5bZNhp-Lf!%aKd-3-O5P{tPHEk?;oLzxe z#Nc)l3qVlU_Tos?PxLX-t&~Cuo$Cu4my%Bi5`0MNh@CE&fTJKUJfura{Xo`?Djrx@ zIy;@If=~EpQqs<-(cW%LA4q0(g)XaO=j1-DiP5{Wn%6~%{<;tTN1y#G#}~XRbRYIe zbhp{r9Ue?eGRrAx#n_#nUg_oW1+NmX#|9BuD0abFzM+mNVhoyT{<*w29lohg?# z#Mp`jGHH^t4vF4fw`>AgDmSb-L2y^p`|Nka%c!_yC_k zV86ED(#SBXL*6+%dF_p}8s@aP&{QouGp0MAbP@?`#REzz_l^^oACxXhaQ6?#MV52u z{Cc5B?EJrYexj4-$C{n++VScYyR}cXclrZO&mU{d4sNu#P_vw=Ud`34=c<=iY8F>& z=V#ivc&XcGU+6(|rs=JQ+kU}o_A~wdCsX~=cYawKF1iCW?f!eh8_S1#$1Me!gpeY4 zdZ3Z_S`*k>Z=G3#{TfUgOcxv5LJT})?-!%uA6$wRhK;?XBKFC3h1^hRgaaOYc!%c2 zY1~wF-j2k27|IxokR48H`6taYu8ivzcQyk8$18+9sH*HdkZt!(o5SMR&^KrhSc#B1 z!1*i6U^n1m0<)=iGq^W=G3ZZk%c$n~jErqmX!>FL4PVslbsG)5uru;P8riF^URPlO z6k}n(UaURY*DOkM9UOIxr#K+X*^7D2(|1ZqIWu*ro3Qb~-nw}MF~<(&vIb-}*=JsML--<&{aB;p0H^h}FtevLO}PLGLy zZ>QC0+|Z9oIcKfd&8>O5&g_CNN#1xE(<5_2M}X0lp{PmrVZ*37m*Gz>Zh+DI%1B(qFEL$ISK0SkbSQClY-%N>r+` z^{?sniT5C8nm_oh(?+n;nQ z-gfi0t{85e2K|<(kc0efT$J0V!C)gZ>-M+$>YwL-+581{t1p=f%xi48B+M(ODAOC~j6}Ptf6Tv`fgJh!6bg(y)kK~iDO&OD7U`g-7 zRFOltn(ZKOie&?1-C%2(d1JT5{jWi1Y~Jx$=O*pPa@R3f?z*NeH*GL&+jTxQtIWlz zswBo#g!;N_THfpjO7JKuaI|&^T3bzur;^-Wc0qpyeX8-^Y z07*naRC)~#FXkB8mw~2LZ0Hizsb@nNx&dW1sMDH$m|5e)t}Etgvab~AIz`}Ap@_g< zHoZOdXZ;nmLWPQ#*-wKHuso;0fKN||fnpXd8kV@;x3kl5xVuuLC4KK|b4 zA8edl%!_X)GyfWLe{ZaY`pd;q=X@)B{^DHz#yBT&JCKMVCMdA4VItlrY#;{|?iSDi z#7+NDE2kvidvylq3=O6qHIV5GVl|wc*e2^UT|N9OS~dNBtl^j?JK~&^!=2txLsxfovs+YCve+%sl*pE4*@6uNCj5&b{~{Q+;Gbj&Fkt@^h5-Zq zMILC9rfCqQNlFALXqG5Z6iKNiHd*YcN?lc~s;=SHt9sLYcgoCjPDJSQU2)>%$$a;{ zZjl`~R;;zxwAWsHiXk)aDSfJQN}u{Vseg){K3M&E-dz2F_{2PxCj5B}?wNOuzI?zF z+4(BDsS|w`+VKRp1;mkEu%R`r*G;eZHoBtkR$bE>bLIu>sjKzxJ0`@A@!~c15jR*D zjL{CgS8RA2-YksF%a4EjvA*|>AM3;Kf1qdI|FK?u?;TzL_V+ct_e14}?`rz+Jq<6O zYIpNeFWCG(c<&?q=*J)E-4CAXIg8=1{>C5G_UfDl=NAeA_Qhbm z13n;gB%GX}KoHo1TxIAv@*anPStEPhdDp1>)|LP~XTPOda27CR(G24T_Ws^f?) z1km>)J%2O854v5;nzIq1zHeIBpiKt*N~`sXR0cpoQLhb(I3hw-m;IZdDDwni9+N=i z`wlSpZ6Ow>QgePgJ8LS}koGuvb5?|pk{Pp&Jz_4u2Q!GEaNVI^(on3QKs zvdy~FigD4wiwH*~*Jp6`q(B8seA~L72=oq3bl$>>5XKF}NPq?e@`%vDqGG#q?tr}+c_T>dS6!-SvAAGU^M+2ZrxYh zS1)f^z$ST|J2&3kpYp^uuv=eVtn?<|%pS1#G}^!A+t_oymwmvuvX@ueqn(IDZhS~l z$X)MMKG4!UKklXRA$%Sc`5L%sacpV5BvW4K4pv<1&D zf)L!E_sf=8&v=3R<kxr^0~-fi(lvXpm-`er4QmehI#yWBKxj-p;U(k1F!XvIdhXMDc<(GA@{=_PLmyaui5 z({pZ+JRbcs32#2+<`w+}w!EhH-0}~K1oqGPR^6fNIp%Tkj92BJLtAc4UobY`^S8El zKGb_Z{7^rB=L7wK?{44!_PhEX@WFe}cy+neOTMY?R-u3Jqo37BKlpw6wBwi}+9w9Q zkpvflRjbI#5iIB6=%wyQ8-UI&(r^ zb$}7gr*%zPa0>9sMO`Q?=TZh+eW|DDMaOtypvP&>4Ad9*jJ&WMd1yrhSN9naFMbwW z5-u*24>WY@uGr$h1>-=$;xf`+RO{xTbjgJ~z&UGPh#1tZZ^|+YWrVs6fi#i3WL6{v zPO5;(P24m)^3b1v5?ZG>I z__eaX6Zuu+E1t@B+@!djZd=zAZYC2rZgg6x_na&Ir$OPK_H0Cy} zdOae>H+i}=JlU-D1l}9j>CyB|uRizx(|+|s)ltr&jO`S%&QrP=hl}+Nzd4K;A~BqO^t;qY!8TmD<8q7rPv`Q{K#eQ(&WvGdPZ;ovu$EP zk6_Hi1xr zBfwo&Sn{9%2ua?k#DSQrWFI2l6bG>c76}v%iPWj#zxCt>j7R~0QYaflVh!q8G=loF z3%QLEp^02s2eCS2t98@BX6pEoxGz{d9Mc(3Ul(j-;_0p7w`Hnj%C8!CEE=0fXL8=R zY-WCC?C*u13$Iv|Zn%-_S+pKM-pCuK$FvugkDk5Kd%(?M;}`LW!()K8ujawzvM*qt zMG|a~50`C2QIVl+sRYXhikz}6Ba~20(mGRTt?7~l&fp&be?)9gx=xSVwXQ$+=d``} z7Mdrg9WBLEI$#<=b)L$K@fjClx+7g|7ko!}D7dbp{74*xM(`Myrs#1H2AmL|JWu(U zmBJ~n7_Yf}n$Dp;`}V$`>OYkG*f5IT#6MSA<}$U(vCUnbR~84t{;CwlFW}?H2v0Beo5nQr8$=%pANv-K)gn`a3X}HS+^qm z-t~h*Ngauy3iHJidZzAP9W41gGOJAKXnycn`~$OSbgF)1>l|doJEgT(M-n*YE>a;gAs^DhIDmomNo|c7= zTF@}{Gtz)1f4F<2=ap0hAH%nP8rXr_?iKnK~n-;o- zx%nu}C?8FGz=J1X#AbwVU(H@REa2Ce0w>PA34x^Kr0$l1 zL~7PWU^{n=H=4k2-?zGp^=8_TcP(l$dGf}&TBf?za20Cky02^_#`=~`ymLRa)IhHH z( z(J5_zhEtw(3>Bn_6QI5-S^re-atVHii|ew=ef`C+Wrm|115UF(0k7k~j(6YCI<9Z2 z!?bm1kAI@^!~FB~{Y~`;EHMmb8vV=j#uIX@F<`TvaXB!ClEUMQPH(euiSi!k%scDU zacA^k)2Z)pKs_yku^3u)P0xAq_r~U@yG+SX`7T?>W55p(eUHGV2k59XBIJL5d*&Os zj=pa|T88=v{`xn6Uay|ML5)7c7r@v6>C+7~#-Gt$n3yjMXM!+*sM*&A6WeBQBNDp;^}p{KZ!6PF~JqU_6ynLA{zBb1Ty$MlCA zUOTd()dWV!$-Eln`bH+1Ur#Nz#$Grb10l%^gz9j~AVvKH+ksT22)Lp7sDNftrU6gz z0|$L5bYYj6Qel@(e-cohtq_?8`8+WQY4~sU-BGUbG9eFR=4Tv&xTcx=oWO zbGA^2PuJs(+;k93i`43TC4aMAt$Q_e`gNzIF9N@NHl~56s}*;|0`GY`v;UEc^Wu#j zHJz~_UEs(5ovUYj<9NwNI5;lqap2Z-E-+=mn>mP0RJr6;lA9sV8RvO!jE)G()zG|9 zM3im7EJ&{K5@;DRtQ+%_#q6@{^q}wb5c*Bt6?I?yH+A*-zpg2UJHB=Qz@;4Aeg5mp zZk+k|_3xMM(|U$e+GT_FPx&sJe+rh<&QsPcZQ*T6I+QD@qD{>$&T%N?Rm_U>EUewUDdnc?XNl%#cA25k`EQU66 zLXEqYaw5G6?vd?TKnLu-sJgMZk^R`W!SzKPI0t+vS&VL|*dcKih{H6f%1!V78vpD;|oY`|FwoHM+XpJHH_ z1ya|iB0~MDgKjK73GTpn=MK&rQu)E5H=$64S(k~;#tYt__u~VL>_FK$9oTS&+K>i~ zU`#bS*U*-aICQ@(F*!bi%OkOjR5CI<2lV#fJ^kec+MAjGyP7?|2AoEO+^>z9>Ar9D zam$o(;v*Go*io^1q7u3}3iKmFobrUMGCa$v5}uSe2pGmBu6&d~c$4$u`ctK69s3Vt z3+)&JA9R^~SL*(=EHlfU@v3if+!O5+?d&OM%gTSxf{>1hx%7yKVxsFXyW^ zd~El`Vy7$Q;_xqNzkIplwa|_yw}~7${0Rx?g0L}3wJ?#p00rAuyOaBff-DN%jy2aG zLD|Y-4KcTjL+-bkk|Lt|r=!h{T&%$7EOw6=YmfV0m!@%k{@`!v>dSvlL;pg@1OAaV zaas--_~v@|gnz1bSNItv?5dHkQ@P{tPJyIhV3zX$`N`A5Q|_U>=)2w$ABig6xg1Q2 zhuX)he@`!Wzb1yBD9$ky5ps^-df4j`-)1|c>z=VDHnQEsx7AV4*_gb!?U+B0czt-u z&A)Gm_H1+=o0t3N(ZyQljKlgVMsRCU-^pGuo+bv1pZa^&*+jp!WZh_b!uMM1t@^IU z^O~{S)3>Orqt6|lH?&@H--95Y(%mQ1_)N&PVQ}zF>mGVKN zif8)M0G$#U8>+zNl%`mN!93S(Y@WeogLww?j1A_yZ0xe>*8%d#ZAlz&a`AZBGtsxa zikfHMB-H5S&=c+=p3^~F7F8P+pG3Oz-0&TCI~E8ph)%c{hIvyXUHC3XHd??&c4UBe zS0$>>;vrj9A+;O}T@g+T_ZHVeXuiR0V+Tef-CZC8Q-viCi@ng;ud%4y3yk@Q@0`W6 z0~7eHx@c^WgO;IWu%$u`FgCPwNgSbwP&Ue7p&ud?`@gr5W;}gY%TMPeHZB;&C!kQRUucd{1DP3y@X!GDfOzk=YiuEVsQ` z=Gm^GE^w(MQ)<))QW}TkJ~iEE*7wadZSpT&*QVC^o|a911^H<8eQkf{PilYhU7Y<6 zXVvM;Jv~@)$~qKapK>MgD9aFV%I(uX=D+}?iBtK8uGDNk$fKikSrUS}7b zys>rkjmNde(mAgmA3j{`!Md-XTR7`FJ$bN}UuDB&#t!m=-Cy+caq0! zjVpnRsR4HOS- zW`Su#74BW`^YM8{W04yhEVPcnv|-^d*t}D@%Z5d6jNJVmOb{|xp&R=f%C#3h7C=^#{$Nex<#fS~6iAPf{=dm^^41p>kV(qa}E znx12$P{{`0JCBP5(cTf+5U?K+ddaF_iaX&MF=niU0K|Fg1(sC|MLLNnWJ@(*!Hqkq z4oLFb^_^Om$^=@&HdfhbfQ1RCg!Ir=hp4p zGXaDjs@DV_-5w{0Ivro>QI&P=WA7(D>hcdcT=V32%{L?eMG8+i>qLYawjK2(&@!nq zhXS#(p>d=GR(Dq8fzM3&}Q;E4mCw2n9=VBR3~&k+@*KKYCu2r(->>>suMHnw^m_Z@N|!t} zJ!G@;obgF@?71%+RHz1)n}^f68}?;g%v*EeDhqN|H1>= zZpCKREccuy?i=RnM9(Gt9F4wSb&5=h4J>$dZ}3gz``4*o`;|XRBk(OBwxVdVAnH0_ z0*^Cw=Nh*<*)1x!yjho^X5!w}dX^bmv|!T)mn~nwJk!PtEILd1KDK<}Ew;w+{UiJ2 zhs3HnIZ2o&@x+)zG+f-#P z9|U$0*ay5Q>?;MI$t6@=`G7VunDkx}0mX@u*#$1%maA0!suKMOIumw8D3VG743rWV znl1Z=)Z*tTwi7EzCBnKE6fyWb*y=7%94?d3#D7qn*zASvH1ha?(!>TeLVMwwOtWB4 zINR~9EIffQ@~|9vve@yBD;h$AnDB!eP5Ad9E*f3OTN~oyt16R5mx2}dU``CIa#P?TL&mPN#yK(jhQXVa z!93eL-$l#e(Fkm9BS_0(n-n1xP>mLS^D2+naLVnsJR;?3n%oN;~ulxP=@GIH`h8# z?WA0KmK=CCF_^W0b;@pGP_T|+VJ#TZoHrOpIlfQ%nj0e@)-mY7Gd;y#&-%ZrSL0Wt z6Mp3%1%`y2r^4oY~tbna} zgy~4#66V>qu!&nyQRbUiMEA><-RFH;*}A8IUa*2L6ENwVh^Wc(iV5!oqoVnkNM!2C zYNa2&xYj^#j|fLDBa@stq=?Xt#lSzAW4Vxfkb)qc%GuL$b(0Lzd=>UGSrCedPv%e@ z5wi?&C}4=|j3M;e!$BMbj>K>%&dBBlO0Kp5XD4Q~!9svWMFdjQKmeT4qIh1o8Dh#z z1vym&QYn_QJc#EqR|z{0%;+2Ac~W#yy6Uip*IKH9CvlK(Wk?APc00^B;8u!I==SjB z^ddZ9x2K~$as0~ohD~$F#%MXs!6wx3*AwH4MX&?6OhTY;Z~_f^;@{wQWg`eGw!Kac zmuu5Cf&LN?)pM5{ib(LJ42e^@w4VZ}f^tS6uM%TzDm{0=z>}*tIOjMbiXSoSdg42# z1uRVB&ejw_yWpEbNCA*&Wd?M}hi?uh#`NC681}ff+&@8?U9xeGy!stwzT=3X4{0A~ z-L*T9o(IP66XVf}ld2BeLCUomivt%`hLqbx7s)1Z;06NUgn-O0XwD6BE2Y-5G-;h8 zLV==r2@N?vtOmTP(E#E&sF$ zvuqaPXlMpap}goG_3Qw#%LdDhm%0$0oKfsJ;aK0r1)E;v&ebWO2viQFLbING2T8ur z)7Af9FUDVCEK(*`=imKg>=bqxdi!Cg4fC-FHoRthbv@_>Pgym0_5(C=uSAB_&gVgnv|N9Ba`Cd$1^ z145hDXT6V{)oREY-Y5<*{5esvwLG99!B^Inwp6XgM zC@-X5=$sddB4LUMr$FI5N zMqQyYmnVBruiMeU2IoG|497AFN~P!65`X3tUH(G6O;Q9gFeXWIIgX@qY&jLH4wE?W zgCQF756O5wM1)qW26S?6%y+KbhKdVqcb|1f`eYB7cAG}$T@t7kwWVyC>qUfYLWT}X zOKyln;xgfT#5pbn34|gX--MkwrYd`WsfFBT#7Zs==#n|yHLW6fqDb}dR+)Oxnx3>? zkIBKCda2D%{3Q*a`x}xIJ5h~h2(Y-E#%tCcK)#eQ_5DE=O&4*vlv-V8-)@g}42n=3 z^vpL|d()PY<w}J`%LTreOI=1T?z`{n{r+Fq)$lc^kJu+*j?Xhv zDUm{*tx{{o)t){QkzVn7-{d7vLj#20SUp^KHD=iF^fpgWXG&eHnjZ08_7ZRf{)F>t zzZcIA+Q+2Cr#SqEAgIW505fikMuM2A2_feMSU1sWnF>JIj#ReoL+`h}-rsKZ0dH?U zzUlPsulzAh{;4nQeA?b%dI6W?Sc8f(PfJpz;#r5RD8)hjI%@;LQCQA65M_O!?<4CN z%>OJs%MI4OuXn$^=ouS6VH3>tNq+b1PV!_}cgcn})Z;SiAa|!UjSjT=7jdT^8vp*Sb5^0enw zkudC;11lD*o<%Lu9k~hU6pV2zcZ~VAb6-2~ zqdX-0ihy9?bCqL{6yr=1eAhX-0-#auhy}9x&oQTYzf|-Y-+93 zTV(f*M}J%SQ-5CL>ZxvzaG0*{$Xenzc3d<`f^b=f!!*@-*cBYu<;(OU!^}m%*#h~z zW!|+#W|4hEN_GN+bEb8BSmaX4AeORioonOk{_p7{{V5H*=d@m$`vQzUDOU{}6jxpH zgd6e=`j)=;e7Rs!bZG&Vl>=fJp2>T7+|lp*1-QBJVsj!TsH4AqybNk5*pdVk#MhB*DYaUzCq z{M}#D_W48kz=P4J!b#STI=DL068*1wCP1#51SpSVPtnC zyJaY`b;oa66b6*sQJ$>!HCKtg32f|ys&zaZ%dr4)D2I(H>VN}2Ugly*qR!)tQF&F= zKMFoW^I`x`_m0JnF>cFEwbO+~x9Gae9vnMG+#brJ-6@9=8H<%_W-vQSodIjV5uqBi z*caaycxs_o7GiNw_M(}IU&E?X0Pcr~kok#kRzEEV-K5BnWf786yoi`Iuqk>o+wzpM zJ7v^ zogTKOoEQ}83vo^?7~W94*$dw614Y`HE#-J@<2GfYAP!^ak#>2~!;y6hM=CN+fscgI*A1p?Xj5-_M#5Mh;Pd#LY&a8xRJGv3r(_*MlNWw z5^P^djDc}s=&q%@$a-3P(04kgY+O%l+4N-fU9GzujqrKdCsSGOcy>72jmo+eS{aQzon1Hze4_Z zB2>9g=pHg&Lt35}=65aRpJ+T^k#rb6x%Lk(xi1`pxfknJ1o9gW~Fc!gN~$Dmj< zf6n_(mq4S>M*7vio0g4n)i<8f#AlmV`r!Gs0^dP@cpUll;z%@J7e^L4_xaFCyLIZL z)u{KnK_9S@J(~vYv1|AX^xpZ-@6*%YzWrN`ZhwR$)$ii?q~1gfHZ)EX3-n}R1uW&l zuFb@PO)oypGnjV@pT%2jt#8_3da+r`<}I+uT%LM)jCf-CF2eMNq`$f0TNw$jPCDq9 ztZO>UR{x!h%R4$WX*GRfZ`{#Lz^EM~g}$soGeUUqk^9n#AShrd7xVN&eVhl*fx@I1 zh3itqy5P&nH*JaQGOgl6nYjQ(nFdG1LKdc|$WRsJgSy>FP$kJU>|@*v-iTR0odons z21|B=FOv~0g2+U9WC0%8SVji9S%sY+m+|k#mZYf;?2>$sEch-5J`HJ%3?#=J5s2pu z_(yj=G3|FxJzHKgx-b0q2w(AZvZpRDiiu6jkiq@EqR+dQ>VeibB{EJz4nT^S>+o1N zB`(ghU+azBz<9FPM07h)@?tSE2K=NR5sH|>I^ys|mgc-5syckz+WJ%@hLqG;7!q12 z1Pqt0NKx*Oijg22Iteo(Wc^^GJ8xyzn(8PVMM?)uzO`j>BW7Xa*Rk%Cj(U3*tcoQ= zBYkF@h)}pp4o7b^#*6{GF;J9Ux$T}$#v@E)``sh-=4ToCLkztLao@+bbH zhPVHw6nptt`pWcuID~MAJ=r-GO?SAWHXV=qvZDaIg?774yN*TwmWLvz<);vLYB`n6 z^o!Mh%qzx!UyVG?9Fc#h0OQrfXU&>to<>IqUS2o2aYZ{;*z7#5n4T zThWi&sE@i)@AE|VK6O2(ebaW*nofC`O%K3plJorO!})JDA`d`rgjC}Mq~e+Q6qrX~ z9Ha}rExK)o(u~$QGFPU#@M+iILHucEMEgn6;%kX*Dc{#T$ft?NTy!|)CpAwVcjOZi z{*-sKPWH%ba);W*ipB0H`HuF3kFMoAM(ZQimVvSZ{H?)v8zagC6WFr3Dy}4(E0V)` zQgHp|I>Gdn$-7{M6MYL^_X4h`XarWXx)`XYEh|9gbDno4ak0`!XhqMLTiIMbT+68x z40LNmggEQ&-`ERoA`^!v2uPxAvxty)i`&`ILEpdd zY-g>7q)=;3DJhXfgamLs@IxV~bxlcJ1<)-ii+VGZE#=pW(Q}&{ROg&Y>R5F88!KB8ncVz&;GPQAhg?EmAF0 z5$J`~LHqk!uh1IVIX)hDo!-dM8;{x0e&7E`|e<#l%VcrI4kOiZ`DCz{TGj`jI1AD=?UFd`8zcaEA!(w=! zUi{z3i+`{Aql7#cLp9r=p8 z^gVJ^wP&PU(E--?gf}KTc-EY1Dv01B4kH7k&xn%(jOrioaxP7rJfarnDMo>F=9nRGjvZ%#Jny*lWQ#oIU|mE2J@Vrngv4J-5mTcHNT-^VUg`5(`LSagbkDGD3_3wIV!@#l4EpR zJg(iYh=6HFGom?8m7E&uiDTJpMuY#Hb{>;mye4X42(HR3H7NH%x;ChW0{(@h}TV%$+liWH6`@fGD zTgyz3E3yA*;KE6N(FhXV_o=te*81V|tGV;g_aJeSzVL9Pm%M6x_G()rywRS4dahXH zd`EH3=4OBHa?Io$E?DT!AQjepm@UUc@qnPTuucel`avbmwe8cECai4?xDJpxNCS{c zAG>10F*oLdWCL*^cmKQnQt;1LNysB8GpM~l`@bNWSR5mw@1&K}6K1fNj& zkQ$SqU-b(7$j8WKoVfEMs|oF=2VP4=ghrmgg1!kB!HGq%T*DWG{)*RU-pH<*1b!;p zg17XA7eu;LT?=*SdLvsgIgQ=^RA6pMHRKIn2{@i?p@bI^Xb~~7x$HJUO7IB)Rj1I;j4D^178iJbsmx$a@XI;ac0bAcrAkZf=z0~bd+=IjV+|A zvM%V1nr1m|wT@xHzsHVgZ#0HI`8by8M4BlnG%$z65zwxGr2l93Y49(i?C8C(1AXIqe^O zi&o(P-3kP3ThQ(K3C69cY!2op+)t9flg?+=v3NV^OnI#rn}0*ErvF$x^eAbM-A}ZH zbkTnTT*44R*M%OR^VCFQ2F8o?%=DrELw;hL;H?-3>7>&~{wc|E+(j=uch(mH~8n+QDi0cR}Z=4tbi3_@?dJ@T5jQ<;To|c>n+q z07*naRK;Kxa6KwPFXt%_+l76^uan=`yI;03iK_Zd8}Jk3TJAvdC*LLdwUlFBu^_y8 zvC6vn2nq$^k`!?uZ12V$5>(tO>u^{h z(5Ed2ewo5%X2_6TLw?X955Yo_IS+}Ee0ULxgSXO!_C&F4a=R%93r=IR@dC)LAsg5r z*2BWq%{KdU2p-%6es8X~dUbuHE5DCt!}FcpHT~v(bq13_n#Lb7` zPvp?hGUc2!f@+znjRBv@V%JLC33@q+yL2Sy%8r?=NX)PpbbZS6~cRm0{32T5y>sOY-Troyke zxIR(!YeX|^ku7-Ue)9SmbsUw^*>~^g!`1&oSHs`GtrkA1BVUKusjK=0eoz0N^~r0& z(Ak=PCl4RL+Utg$?~R9SG+oMh+Mu_FK4X4f^qqXOam`zhK2w`6)dTC+#K2I4?%?;U zgl-D@Fb65g|M|MFKlW~U=@P@4QWt#wd7Ru#sMiy6f6n{qGbUPx4c)5{2bVql{9C`t zW`<1eIM{bj9HMuZ=aQMoOnxR zF%~`Z3`^NUmyO+n#!DGG$8(Wu-`H`}FzUvWoSt_>e8=YhJn$Xf;W~HZ9KA_N$Nu3j zKGHYee?g0?|Efc;aCF5T<<1)$ezx4=?3jGEjqqYdg+7TbBIt{dd;&)-4rE+8EdZUK z*q#B!0I=90`bi z^n`O8s7ggMHaO+>T4h3Kf?>!m6*Om3C>SFdQZp~n1S)4H;U&VZPX)=y*+{OtwbYc7 z^QWp519(xfrL3E@CtOEl*$BBZg%AKEQ-m0-7;{3-t{{kY)`L&pyrDVwLUi_EB|o`# zttnx+u9i`>@g(xkCb4Is8^G2vKhY5tI0w$vjByy~Q=c~&_ZjALpSa(wQ+)gw&putl zB4StY;`K#>k$*SaLgtX<0D#N{RR8%urK`{XyPCQyp{_b;W??QTB&FMPj^?)f32IST@TtP5 zIX%@mp>I~dp^v&hrE&b=7^9oLBVTocfNu2>b#W?F@@Dpgr?WW+w-t7bQ{R;PZPevi zrxiI_x2#PmNtWl76T4@v^No<`>s8-)Igsi|P(!D+RL?l~8-UIFT!jBFR5&G!WnLhl%m!%N$(t@~mVtf%RrS>6wX7 zTn~O$Imti$ct`G59pprK5ZyZc)Vi%=IND}$ft6V3k1fI1?m zxC$ztTowE)9KHfzogA3mEiDZ6><+YenDxvsb6n>JRCSR`)sB`@+Lygc{_`wcM{nHG#E zH*TU0Nj=utUk}JE54jv+oU&clH?`&n7kSbzp~zGnaiD`T@sJdfgoOGTpwKW8RlGgK zrjr(3#%7$a2!~9fCfe1pVD;pvTXkyaw+v;3xDZDw(Q*6yW7-3C1dcsFx|T8)hsU|+ z22ErRjq(CoK<>Oj6^#&cS=YJ34SAaYCrHW+RgS~ zXJmX4hPHgaahno-j|Gw;_n&VrS_?&l)nuR4R%PpECT*co;%(@xGIZWr!NacUZ5|1~ zaQ+qPC;p$hdH7#TxwmUAhf^68B0>RP&Qp5f{jRZ{{;rfKy;}WsJ&(Vr9JZv6TCsJz zoqL)@4&bQ*B%?cdTel#Jf1ydywUNwN)6oP56pehU)fR{-h_F)`^IX|*qqSw zIKoUdMhKpfTCwlx@o)U=w-{0(6~r zXmDY{rVR%hlSer64#a(%qvG#CV7H#$qyxnSlbpmWlD*~0%AL?6(&!+;pikcrUh-Zs@2RI>wV}hc0ti9uT5FP7qi8I65Ok(M7}| zrJ*7~T8@Rrd|@rvan0h_3DJVhxR~pPh6ByjMnK%F?6!LXB`IiIQDC)DM5qq%TtwG z%omcyNz~GWPq(GYTt;FZ>C_|77RmS_2dFA(U!zWuqJ#lblCzd6FT!aVeb9Qxlui)~ zX`>>^GTThFk%XubV`eBKml+CCg~PiD2XMppSKv z>tsqI4khx;R78}Ukd)M)l(#Hed&V`9s>@K{rCLj&EbcQ{WXK^^a)l?mmniR9pqwu+ zeAYAV{xlAS{NwJtU6PN1+zOi!8&ZuA3L#<%+1@rDC!*Rt`LVUM z5XiXikq^rwLa@}p3D~})4XuSbpuuYy>Kj1&*2a`K*?4kej`OtkB(HS-_&?Ci7yq=j z=fADfgJ|V??(o`HzO_yqBAQM>p};f-uHeMD@h7{ z`f*=&zkFi3h$i!VSr`&kn)%s4oGkvMjPGd1p|oHZ?cZQ}fnyos)QRm3i{7W<6P=t^ znubkjy5p{PgRV%rgX>yq-8X&ye4}SPSv=!gjTJ{O0}Ia2ymi4sy4MSy4%T$Yc^^DE zO!Y$~TPE8LuxB>8GiqSbIV!+`LkE4@xil*j@>!tU18%u04131D8esVJias6aSRx?o>%$|NU-;>c8O$C!A7_9;Jgp-d75(3^7VCwW40E_&`0KLrQnM!e4H*{0Kq z#m8gCd7*o%ey4GuzMxu6<@S<7`DVoYY@v=m8i>a{)KudHrRy3i?rqf=YSd+$E%ACD zHR{8)Y+HSjc8|V&0WE_F;X#Xf#F0E{fGQoe2xG`8=fCS(>8BF)knLS(;Ky{*mwiJ< z`K)W&K%b-QKcDruy(hi#XSIFu?`Uih)QxKQ`PUula;y)0Zp85q>-JM29LOsq=bVDvrd+qjwBr(i2AqbUV9+FfCi>rF zG9*6njv9&4`V)AI{(tkUe?;THA@zv?_NH#ZmM&RlyufLB(OF~%d}QD1=0PNKIg_`t znRh7D*4or&rNi|gJK7%DM|7<4$bndl?vj+|^K~{SCP6}ST06G|o?w0g@C5QCYZ>w* z_nLq|Vj=b7>jld$+!4RyVHT0Zhgz>SD~tiP#p+N z87wa>t_Qx!(&G~50g!c~RWaMHfQ$VbtT3I_fyk^o;Dy>gEGxGRnAss+Wr6L12ns$8 zOF&*Q80EoWH0i}M0tMRb9C;9Crs^jjQ5cylBOAP-F^L=q%g|h%D<{trd9t2o=7^si zHx@TMoo%;!UGd8Idb`s{PhaU{e=p-EVuw$M(_!1S)S5-ouNKdF0^2~Z`&Kt3D{$YM zx@<~fYD|vACL?JmCv`ao4#s`%wuoaQZjeN~Jjo2vLT%F7 zPxene3Su+{@@!T8BVIoyIr9@>viLimh)@ENV02%-+R0AB%N*v=c)jy~|*OX~8|n&*tm_F_FZ!@4y@X|(e`vRXRF zj%zMc2MT^tn26o_17pN^4<4xBzJgeSHYBkVs9L6i$rTaczzGWEHjy`Y9XaX1jq3~$eXBpfs$PEPYril0v6dl8 zoOMdKdDT26>m~xVdZOyO)Vgamrk$`CFSqiTKF%2`bKl^o_>mH>fKZTI9S--8pXesm z288NX)Y$?u)mqNF`0|?k&X3>LNALWk?j8tF8T8|6Q4T=A%fpQ;)u^j4=}W_Z$250bI%t4b~obT}an=Sks6+Me5iCtrT9-~TUs zUzd-wI?Ivl81#Dr@IB)ILrCGM7BRZJZ^;f7z z`Q85B6BVDfxvif8hMo-gn2Z5jQo4J>mJk#cL+4(HofZk3`8gGgbAj|6Yt`ZdH}LI? zI4Im|z+1GcCy|s97`yaUlEA^wILID#Z(RDi_f@q}RpIhy=xbM6u8k|;fSmxYYJ~A#Q zHnB!Nl9)Q`V69c7UOP*C24g_@?3u6;;Y3@c$WWs1x*-)21>$hMRUbSl>QvE^D9(8m zz9={#1I5`fJkv&YV&}vrn(vL0!D*?YZyLyJv{o)7Lf%j(ZYCUCw5%uQ=P$Nu$QtDp z?b>j+-eH>=s=T;T*AKWlq3ihFx3Gv&rN2veM{NC!*_?kKVH7V?hIJ%o@vjF{}2Jq z(pyi~+OWax>4OI2;aMloj)g68)x#s3)q1o~Xo|*5tbxDjxAg zpz=8PlX=ol&T-3BPoAwm5xxCe*Bha2llna#hLrqJ_KmOpf<&L|vko`>j{Fl0xjxlF zpoI??C#=X@8>%i270;M<9*7yqx+l=X@DGYuy0DKn2d4R`xm0khw@QagDb4h~FlQ#$ z)<(VYB7O-oxbvT^UvV-ZxqROU=K*>V) zE(4TxM-x~$8`y*@0`vwZhHd=>v**LS+vY*)c8?hO&N(8;+f)Au>L8j8pxKF zUunmanQtCmknbCABK*4Rir2o^EM_BhHS*qN%9HEC*-B@9S5FM?t2LWO-!*lB7vLmL zab(|wsR*DrZW8RG>jGnB!wd=|{T2w9HXLn`yG@9kYJ5qas7lH0Gaqv`E*+EIF*cZv zBhYD#CArU;_+^J)Ag}RWDAE{a9`jWLpeqgQ(hNv2aeRF@zrBu;-2n>hsOZz_?%tm0cr_#Ls}z zNMm>0-A@^UMH44w7v*y#211kPYL5-7^0-A)roB){)kVA!*hk4b#*OtVenjq%hW`Y* zL#`u2U8Yu%e7BNTE!C5R)VKBV`cLbF%RjAG{dct-A^%fdL!Ufe#}jognkFOAib>b~ zFY9^tXQbhUXsUwTSl2oegyS|{YzXI|{9xYEhVymmj7`gbukrcyz#ESpa|a>1H$0)O z*YiBN;hX6j57s*Gnw-lG<0i4+GM3I+50iMBTSU9pjF+xUDMPJ=5{L--CWDYG-_EJ~ zP#leX1v-w=K9jNt)H)5HkkyBfnsEDr_rIv;?|uo(--FZ6%MA@K{JKjN(;IgY4rC_o zU9EQy{GL$$P!qD_Xib213&X1AvmY zY=RqFl%(IQ53?|7qf{IMPF1d)TBOlf?UZ7+Yz>`822SuNzMS)Ysf)PP! zQVl4sCnx-+bRcInuACP6E{plWIoXw1EhKa~HPKctRE<|v;ut(q6N2`8gVF)}-Sw8b}hiOfRZ$q)8PTy{UfblJ^xd4#BH*d#@~?ql1Cqh2#ozZYPkWS7nXCYso+ zA_6=qBy!_5;ps=ej&rT#tF~C-Z9VdbKAPmZ7esY?)(p|25h}Qx!oyD4196 zB7g{Z#Mm;`nVuxqhZ-#uHWIFpNe%hBg*@&I8_J`;qxV;TQtzJq6`n4hV}k?vaP7uY z==NBow;ZU0!U1WBm-=}17xZ%ax7CK5`tkXS2ZhDn?Z=Y(B+~^jEN=wtjqDLmWfzyM zdGPo2-JbSd@Fcd`w94;_$S$Be`pfh4!G<}6gMke$BIHHh{m^je8ynv&B)TJgMimO^ z)~6x}Oh8JlOQ>KDB%6Peb3IXa%T%HtNQI3!>g`P*tfzxS9RrQ{*5Cg{BqwM2J}H}g z9nbvF0^0R@u?0aN8|&n_Up^5XNp$?@vHTwU$b*2*l{4rZ(6MZqp5&By23VCO<8HIp z7k>UD{rCRo-_|ejB=%4IPk&o)|196RRwSq_thGR>k+fy7io?nF!n&t}eAn$o%t=3A z_d4eeoBr3HMIqe*E%cBM-+-B$6{v^oGwyz`cx`jd0%84$OZ}h&ZIKTLU${)>%L&h6 zR=eOio>IlOcvX;xfYoN=R0dtl!cgGTzK+ES{G*eFr{#b_-KBytq!?EvbUbd)Nc$#o zYB~Wlgjx|;#iUM^{Q#b!dg#dnObG5&1_9ScoS|ks-r)=U=fN80WZ*4`H6|9V)3a3E&-pn?`rYvlbEk1%ZbcOQ66&vDqzgv3(GHkJ=;(1gg1omhuc9U3bt?FEftPr0x9{;qzo{=e(_ z>Z|fG`Er1T4s;K!*COkU?L$59|KHkAUlq-jP0SaE^Wkx^LBL$ zc6eKwsn_vl$){iAb)tniDIM4AR6di3J*Uod6!9y9yQAsW!f{%D%ekc%{`z94pZtaQ z^$Y)tf1qFb-+om;|1W-5Z~pW%g>NTF;3q9^IaH`?254xH9FVF4;*J9(zA{4~g>sV}8|MQqd+5r~4ALajAr z%c2p@*!t+q{6tq$l|ywvM?f!N<|$oeUkug*gQ{JSG){8jisoY3BBUK6Cna|qXp88d zWDNWFfJk7)>s)!E8IiqwwbP0=^sUWp?3%)j!8NHO^w1u^*0;NikT^|yK^>4y)IYG8 ziDN`?<2<5cJ<=hM8M<7Fe2Yx@u$HT3PfM}j?Mfkb8*>%K<9GZgV;=VSSa(g$^^lK=buMX5PiH1UCP@hFJ$@X+L<}9{$GOEs+y&5v zN!E#$Y=ooSIbK8j2xvYWJ=?DIt*`w-yZAkTc)gF}p30`;_>#Vy!ma3(JJU}7OwHHC zr~f=wbp&(-ms!O1loqKY*^jpR(l5TJKm0F!Lx1dl^Hu%aKlcMY`NmpmcNO?R7Yd&8jk=;gjT z%CA<;vmZ}dPhQ-~ojl=B90B+=uW((+9w$A|$Tj1Lj)cXtgsTe%NS~~~Mzb#bP)M#A zhzLl4`V$BSRU~bIKN)m57*%eQdG#s)KLd+}e_#VrLED`Jw{N7)#%^CNFf=xikK~&2 zP#ypP5CBO;K~!)gm#4@7F^T;CezWehT6IcdcK&IJ{QEEpsiEI8k%dH)l%ZsD1=z`O+~RN>XkPWhsEO|c zqX-q7Amx(=3L|Y|C6Vn%PuhlGz!OfcETq;qb%1^2Mv2oz){-l^Z0I-Q&W2uLe4wB3 zg*;kQSQjj?{YHfRPd=b2NJ$|UfN*<21PhbXv;%-Feex{&pyD#mW$PH61Y`0d^T~BA z{>Y#EbfTZVf%_MgH=9mg#8%whJH$kH!hWD%-M6LhIt-2z?7Qo#9@>4rXC8TDa&_k0 z29|Ikw{6enHNZ$>8o?d|jaYUl*v2y3j~F}rj)ilik8rOf{*kuNV{fV^xjjKFjaWG~ z;$)A0XI=W$@w=X?n=uzCxm+0CU;;U&9iI@)SCiLu**-}yD(Zg)Qy=%f6KBX;N?|yWnSA07=Tcy0-z2Yg16zlw~sVCoEh7!2p zds?$2JEslqe~~v=wqjn2`Z~sO$Cz&9G+Ia3vK61`rQ#8SFP zvFj+#d|Bjk>66!vhHbneAo73*agrow0P6CsYyI>e`H}wc|LV8&&-}|@)6f3WJGy-P zRY_gvKMX_=Bxl(YU?rToTy}z)9&)}=QG-aJby=P64(aGPf6JjiWLLJsjXq*PTr)}C zk>-iR`i7byI5f?O*M#9j85LE12LmI64zfjFJT9&WWVTAjg^|H9dojUy!6S+j1ImN3 zfUg}1~1j)~v}B#z;Xp z5n;9j)1I&c%5~BQzEd7ppxsuFD^ld-xu^P0L z6QTfJPD*ln3S4ji^tVabFYS+2Uq8lQ@zK7CaWHwz5THX^a}&|`w6Wq0?a8a3w00g3 z#A0{Oo$-W?TU%oUdceOp{AOdMuU#ek65(J-d`WwE_)FIdZ9i0BO>#ZaB=hXo{V*ZC zVIiK-#l7}^x}ajbDco*+x=!ozkR*>;*DWeGzs3M@;70ykE00M;a~;?Q1;^(!C3R;| zKW(tTj8Mm9Csa0>KohT_iq*co!w`z-N{6N{g9nn(3T!3Ee!Y9DZ@&5q`uhGaX&Lkvecw?=%AFtJ@|GPiB z!Xos5CofFonBI8k`ISlxgM>6R`V94%wccGY*Al+V19Pa_h#J zF~_7Wthr3{AvlXuaw_*gfuTiL9Hqmh zbnuND#t3|pSlf7WvK>WpftkV#8ui7<7%2WBNZWg&6wlhU9TgTJ>~QLsM+WD-$gu1u zeB$uJ;>~S9=0(CeG=0T4F>hRZZ2e#B)b}zr!YvDtC!*^Le6*H2W3U^}!5g3_&nxn~ zVZrs?;L00V-_-=|kbBUzRdbYTEV#9BxdHA3+7l!$k}Ez$9ees?B0ic_Hly{5n%f{` z<->O7I|;NcF=(q)W07dY6oJn?Kwyh*x{Q9%PM@f-=t)7nVHtWJLzXEh_ymd;2YN~_ zmZ4v?F{0yXeHV@xg41o2v1LnV70t!vs`Nm+>^f*y*_eixTW=a8f~}vBV0+ArY&2G}=?zcv z&HYAB?bFaQxd~#-p>JC#l}`*T-{a5rh*=~jVAP(rxgAO04ctIYC`?uWk_FdK8n&ex z4a73iCQPawp^$y(n@;kzBp0pQnt%z`N&)?=D#!mn?11HS|G zZ+_+QC$8ky(MT&7jXMWbWiIG)ozGL+9Ge>7fyLK?Ej*=No?+gGPGm=aM`BhimAX(q zk(qR?eoFh&ANWvzlvjy==wJG}e)1Q8tj&Wh%D?yLYPFUJqhEWC3{djP;F|~O9M7br zgSjwRCR1c|jw2%E{_5x?+cl&q#5BS`zVC@(-+Ly=cmTxJEfejZ(3@ZwgWyk9$4CJY zWqfgkTYT7N6ii;U@j(d1Mxpqq&t+mMf(l}xVYsf5b}lgcmY7SJqAVRI#w0HS1xNi+ z!K4lbs^deoCcS;SosP+a(woLLo4H>p)?yO!LsID`xf+=SJ)47HU35$YPpVbdoZ`AO z>`AIOGRrz9!GlNV+y(Y(G&YDOkq2$c40&>7mlAZeP`7SKg0@J}XbUUPp4XWZoIML9 zjY2i#UoF^k(=pO77*uTHaB-v#NJWGa-w|MZ%g4xtGq7^B_@`7ddep?X1fJ?OdQF zCV<3EN4QQaQJ<^wPnvGn%+4=*b@aR2OzY&=?OQg6fyHZ2t~{2*cGThV(!dVGsd6qO zLZn3`p0PD4A}m&;odb)Z-kNbaJH~K5; zwZjiJlN3%l4~B}H{&Z}fbFLqkf+Zi8Tfe8yw;yzR^U<1DiJd-paicA5J!3Q5AQMVG zu_cb4JX~u9T^kF|F6i%=E2|u@*Nt|h8tw19#tqs;N+-1pxgS=@-TslhIyW9CC=1t` z4*#4-!{l61$8gZagOdKLcBJI7;wQB4{qXbp@Vkd!q9#`1$L*UTX0%+F#xLbl9H+Vq zjl;45pX$2JcgkWsoa#V_6~NXlA1(uC86ahuI4pPl1(dIUcrMxqbvTa(r)6qb_zOOW z@8sZhJnI8%?n;9oJlIC-!E?RSA@LD0y9z1jL~%?E4k33rGqqykxWfZkaB*Aw9nF)S zvCn!jqCUwT<~vh&kaY^Mp-SpN&ebt^u$qSmj;{cW(g#yIoW$lb0?y)5z1;&7lL8iu z>DG%P;uaL>p~L9`C}fjq^d}*sEWjI;D8lCT&QQN6wr4@}PbCiIq6R3!J&oP7K-kyd z!8=KQ8mj?|JjtI2zHx(go^w#WGW7r3baA$lC(W8k)n(JV@0d(Y&bRLZyLG2Vf4Og* zdl3}ji5Vu`Q<4VicYPi_Q5>|0L)4QfM}*2ggw0g+z+JhE2Fn~@FwxM!L#WZew(T|%ttT*N zF$>c$jhixMbFK&zWb-4V|&ksY{49vYJSv)gWbTYk85%oa?19M zCy|!&h1~XzF}P4H+n_IMGm_Xam~+HvnQc6$1{`+WND;0agKxe@>gidO1I4`;T5O|F zIkt&5xmw5493%3u9Iy}3pirPCtq3w{Q;)3yk&=tY(~dg49x!EyOWIQ2;Q+)Oo%H59 z^-n%Xb$U-h8#4qSzvMH*SgJ}ubt1=HR4pHbuA(8Dq|ZI*^~E>OcwLXj7hC!F&HSY1 z4a|C&Gp`cLwDM zf&4hGqyp#8HqNtwWN5qur#x#@f63vOT*|VAS>=G>v?@r&gP@P-Ea@PoX?pFkd)ez-|IwE< z`ai%~oER@)D?2Of3$VzHDb{Iv0W(f%${uhI#shw#Vb?^8n4|Q9YMx6$!sTSs5u*M` zsW%S=%Zr3?HNLalF^cC2rFpHv4l~&n6IB|6D+X1+h0sUYk%m*WbpaQx3l=`zh62h| zFA=-L)N-I(<`y2H+6>d)7VzM694<3#G%=$m76R+mBrkncmDwfLgp9pd?9ugtwPzvm zBEDyHp<1D&z=t;uZ&-|9`H8S^sm+GFfAIPFN*gw^^{T1IuP0OkcU@B^69_t6Q-_Wh zz)(nJFArE$G_gW>fwDxj-!})wo=DCGp);OF4NN?V)|CPj0^5LO-||5rn1JrjiTrlN zWm)G~VA5r3=(S8R)`QBHY8{rMrBG8M7j@MM9YG1ql{3*b11M!;@B0Ip%F&ZPhZh-ZXi^YHS4A603>LXC#l4 zJRUq=>IZD>*YScq7DhDf$2z#t)v{dQT9z2u6P|uM@X_=M98lSU5|g*KsXq2Ffu+x-|kqz10(zP+k^?Z z#~kixA1xpjr>4dt`qsm>cEm0Q0PZUn)+aS8U2cSMS#7a==lU>mTK%?S?=pTFs`Ubm zH;(`S5CBO;K~zfeE%N(wZ>;pd;|mA2B@E6ror9 z4u|y{^$42)JI@1aoa1qMBDbz9BGhPGMoJ-#)gozv&WyS-9;nkdG!Y^D*^$$4e&Zk0 z%lF@u-HwgUY? zAtK~Od4lhb@!IIllA=y=n198`>m7s0ldph|nhM-yt~DxW=3!FwEU^p@?ofy2vLO@^ z2o7f@?LZq@MC>MI+Jw!Ffl_yw!Bmx*0qqUTZINjj<4Io&6LPC#Di3hz?E`ik2x)XzLkdTl=DN-_gptxHR7=ARK$~ZEHF0o6Bfeh^-71 zvaPElNyWMNBt*Pr7E~ zbbfY>RX?e@8!nhXKXKml`yQ{@*hm}}6X5oMWFNRRNnOqjqsR(??Ja{WnRDB?ym`^- zOK)wo;^yN8p_R~Q>c(jt+F%maBQ2F+M z1LI(l3R@B<`odpB-+cG4=SL|MSoTd_5-YTQj5NsWp8ZCIe0XdnKD=40IZuOjxc=z+ zT;KS+e;5_)xk|G>t(TxZKBlV35vz^}>lmuY#j;RD9B7vz%g#J|GjFNGvYBt{6lexT zWL7s&DmSOtv|&0ZpzfjsQ89pzMv|WXgGc(&uf7HKdwtFU>`1shw@h^{m9(M(LG~iT zVF@HDiYJQ82FpDd6C-1Hrojt=Cx{1C^)*6A;0`j6;@oT;m~USN6gW#( zILgAkGK;B4K*;}8n@9~bao7NasO*bh6(PVz2FMb!crT(du?)iPGapjb?hxa2lH25g zY*}Qg>zme_`DrU6ltC^VSR$`YJ@O={EAB*BXT5qhv92YuWCC{RN9nBkPJL@?*iS4* zjxoDd?TTO!lDx`S1ucn%VPpZqfdiBEBce93femlZqJ}fIE;W^{WYYv02lFKLAcjt}vVaet{ z>H5`PH{{!!)ZU9*xQa<@@*6=OT?R(WYy^0WI3ADxfN<`Ui(m0ojG-D&s0y)sgS2H6 zNXE~Oy4)Vu>CJ^MQPAfRF>jEzrLGR%p1I5rll35L!%6h~^kpBOgZAmR4mgTVbU`Q* z2+6kY%b>m4hpZzGwA8u0r z_>*2=q1U@ZC-^$?P8F#Pu#clh~@zw^&%-1jP9M2@*V z8vzrX09+fz<2e=OIwot+MR=5;IiceKE*U5uPs>hy2KBo<)y;HOXcdEP?&GQ$pX9L& ztwYg>a0d!;xN4w z+_CNy(pT{>ctr=T7_9DOPc&};?kHhcm_{2HXigxAoFIT86lgIBBo8EW3%GC|>O#>c z10A>Wgq#jER+g0Q?1UnQOB>`0n0@w*WIo|lo56naK^^|wA}IlYv>u$aB29@eEi{CSel3+XVs_(Qyw`XFs*3>eq4I=~I{$a?A%bssL z_V2$=GC*f*c#sC-H(_1pd32eACzZiAtdvZWNfDBD41#7QQ!=?4aYTeXImJYsh}(^9 znaT|LDLf-3bOb71*;$^7Of|}ZP6O=IF-KqvC?usJqznoD!X#IGgRvcQWBe-s_IJ&V)QhV@*K7z|SBgHVmCzcL536X6GSr=@ABb%JZfpgHhtX%f=jnE&6 z!Er>U(lQ4G-)o2SSYu2=7P7tjYj7aw`H6Vcq#cbPc-s5gH~w*b_`RP-JLE7_#{`Kj z^aRW&@|mcs`R<#DC|xdiHJ36xD>)A9m@6yDSrwFhpK^8QptZN5K{gLa70(mQi5(f4_T$cET;f@!Z=U7G#gBzgS3p~-r7`bSNEFe}7rYfS~w$=be&sdh5mLOdbfSp}fJ|Sb>Q}9n5=94HjR+h|AGjvTY zQfKGf1@@g%lK)iB`m9&SK=%YN_GZ_$oNWkdrc+&OvcHC|={asGGv%kE#>~qWB2-0& zd^qpY9~@r#q0;2MMy5JQXB%OE9&XXeJ$dwIe|_(f8dDFz~-u&q_6@r|6KAw8-QavXhSG;H?)$6-*7P1HH*Bia z9xC+0T$>}b<%?{47z@_hG2e!&L)GWrB(3Z5Q1LLX?ANjGym-SL92@+gebyE6)u#h| z+0Kh{*HRvnjW!@wg1wM$@v-%d5ecSR)(DC86|i^cCoVf((x!yTNj@fklfhoU@Hh@;5VYX77CXroQzn|9xB^av==mBZ_CrFmYKlPHCZUzQME( z$6Tgxa2M!N;yP1{eD-C@3=x(G-4MDx(5gnlffPDWDr`0L^qOO_xi9h$hkWZl{22|~ zc3<=vW!H2nUdp$%J7p1}W=Jr--N41ytZ!{M-m%S#{3O)rbUKAe=KmPfli1_V0}&T` z#GP0Z_Ava~WXmA%fTUOhw+4Yk$ErHblYF9HSasH-L4}-EcKvoIE=5n`;KGT6ndVw& z@qBS_Gs^jd zA)L)0?a{3TnRrHSk7=1*&#v&5v>}yhji*8(;*~21LP~5Si60qia+r~{nOGv?Hisbv zxCf-?3FXJqqtt`{9|@LtIFURi%X-b|m~pM^>)TG9 zd6NdlLt}B@vuO?V=jg@OmD6tL#eTftx=-zceO43kxK4ZXhHd_;4+Xvu$#L12ZT*)w zZoH`>+X5{^gv#qH=_mNc^?+Ti!>BdY;kMb{O3gWP0p=9q+o0DMiK2=P&n4HL_JA&z=S36(jdX~T#(E}5~9rlt}V9yvVezoAc5XOTNlM6a9 z?E|ox2fJY;G7o+aGEZ=q-O<*W%Z^u)?eHUD(tKFwAe|Y$5-cj@gu<*q4QL&WOiy-m z2hF`gJ(Gkvfivy3p3h&P z4X|_j%8uN$9;FHA$O3yec%q$f)DyQi-b5!`Qz8%iXQo<9MNqKU&25xv zTUy0nF|m82F;tEwGD$9+59f1!N=fb;nBKO>W{(^#&5JvH`=TwRMLpvkm6Eytz40M( ztp)B&_jCEMqPbwEGJUD)H`^uoavdHwh-Ev+W7spUYC~ZRT-^+$He|lX&cIW_!1ypN zDt0;OBexHAc{3g$s%#7hIcczZ`SCc32)Vi53_PFhf6L}>yMa2~zYV)^qemJ+kORKF zIXf?Ad4qKsSKgnsBd$xv)dR*D-j!6!J(e)TfvSufp{8u&&4D+vsd5>mfs~*^A>q_Z z|0TZswB;YqA9j#m6lukzEa zHzInK0480rIR@2wes(S8V5wR)hZLIdH4&@()O?TcplLz$XNG~s?#bO2pc%At z(m;G$48QhY{FymP4^{MTQgxOjrRqiL%}_G#EQ zh9KTi?ynV>E>cP55pnbwZp38WNwAkx*W$Wkpuhk8M$egC%yl|SGTtzt&H!98XQF&6 z=qA8}e-a0@C$ni!0;J{JUX-0oCX1+h zVgl{yBQl|hxDAOz>k9ioNBHg7c*}}RC$@D%Gu^Y-Ewa@=pK)PO~R;YrNsZKjQ9%W+Dd` z560AI+6y=&+7sWU7*J6DeY72mlHWA!oM(L8kXu97hkQ5gKl2vk-Fa+Xs6l&CcbQbl zDIj~Gkef|+l#W75E?fML)Mc4}$jaYwJXhSE-dH;O1d2z1dz|{MN2KeQn&%sGFPiq{ z&2K^n)p=teo`@iIlLj_M=OQ9x-vhz89{b#p3j)$eEMC053EbRJA~_5%MTFMWg@RUW z;;6~s`mAezTl{bFiHZE{0*TGr=e)JZz%}s_6do0l5?(n7F-<4!v2zG+Z%=M9^%N|K zlxT+h(}_R*)>(c3vi^rJw({R%Y$)$|Djj%2^i$h8^Kc>-Z$6i2onF1#)ze#tBX4kP z=3gVCMhxrBn!BV-J}!BMiHMDEuk2H%&G$m$yg1)(_e5Kq=aKQ?F%|gow{Gisj<}H% z{W9Ws#K8G+?)|#)>tFu^djC5=D-pLiJVq4|Tmtav(p{KNic$1@g-&8`y5qy5xVXaPgGB+_Zdttn2ZC# zjC7i-e6&gRbfSIrjinslfp2lR(`{RT-zpm;vn}Xw(!DThz!)F6Mih-C>NAvY2Mt8{ zB5_r^PR63;=@<^OnHKG#4&t`1MUXye_rX3>ft@01u=ic3Mte3FE3Gy?cZ9&%im{Fy zzSmeRl<0dw!(8?~F-cp7M)DL9ER+mw&su6rFAlUnfNB?)L{~nb&1co2nREco<{VG5 z4kn5S%@b;3p&IcxX{0`z@0r-$DkYK~&DdNip82Q=+8B{ygR9hnlG_JAh%NT6%Z9ZHQI{8Ax5c4hUj5|F1d#|!trkv*Pw+;3Qnf=<1RC(Xnf>^qH}##b{Gx(?s>51Q zlw)EfA_+hR=FL>hNb^C75osFA{tuz~5HL+4;03R*5~0H0O~6DMGv ziyolHci=?Xa@W7em-2~+?WS!LE zIMMSY-!q8asEDYx;7Y#J3nrF0JlL~qs)0;A$slhGaF2q>l;u*W^s%vgVpVYtBc)nc z$l=5a;QCk(H4!5wk}u^mYS9bY=p6Z7eCea-@}5_{-hC7QAySD=bpk%!KS4brDHHYL zLgLcgH(e^z5OT~x+dW}DN#!F#?hApXP+;e}<)ab@5g`E)t^`^flwF7Lt$-i!jj@+$ zR0PYYu;~TNJf&SWm{)buI8NOG7p!1K(}0U0=f!OpN$iLbDbVD+Q7%3?nyn^<&3h4TBU8oFD_(z zx4~^gmHVEFg>x!?hmXKcbi>G)_jhiF0z(=d+URd+0#9}TzPj4a_UKY9KNTD09XSg& zDA#wfCWes0fbRz1x#}2GBSF>12Hs)kP1qaS1IAqG%SMvZZBiUd9a}emvSk7G_{ROB zRyN)gAF+AW9~Z{q58iu4u0m&h)2o*QIJF{<4ky(vbQ*cM^rnXYHF_Jsb9+rLJMyz$ zce0M-ubV&eE$lk%vP+#^^a|qfnf6QW{ezx>bB$1A(F2pk7oWL@mL0LKv__ZI@rIOetfqE5+WKDUi*r+FG_0M$@vK^X|r`3xbGQ>EfuZN1)*HG8nFJG zh#vStM=3S*qD$Gn?>i<-!$0wcs;()>E`fRSi-}N}GD5;9`Lx$<5BtNU%&5`r@vF`~ zi>McYkr}h-=%722PZ5JCdy{hfxKK7WSX{dtnY5J{a6D311Vp-asbvb1+9bEhc77e1 znTiN4*a`tp%Yh699YHbEg~f3wTaS|2T4ma&1J zV1p{3&ZToVk*^WvNRCF@T{_ld;7#xb@=7n+8)J~#m{xx3^5*md-a`E5*Z-IL-nafW zz4M)aRquW0|DfmJ`##`8hnxVUKwG~e$C=pNu(1xzm22YckijBI)fn6n zzwNG>i!_PxCT-D6obG6==cm&T( zVq?FVn!fTk|9QQ7`UC}O;@^RQVx(}2#^X}Q!}U;zfVCT%*$#-`jJ-gP|KYXQEj9yQg zEu++C{ymekKIH-ENBfRJ*D^hZD(@Z;%ok#wRD&DWH2_HHWWb5}^WYpcFiA?Ei8eu_ zf*+Jf%*5bzOlotKu(-<|%eVF9n21+2$_sSqhRmk5s)=6(alns=;+r=ysNpIixRV;? zxV_OiN5%=?ddVw@>{ATX|L<4QRq6y!9RZDr3>Kw#&)cq9^usJcj#>#+a1{ZbGoVqq##BPz0Nb+)1; zWv05WsWoDiWM)K2_)lXX%#;)vGXEA5W~j;$Gi_bd;xL8{b$dD(mmG+}v=d;y%fzb! z1TGsOX(ZQU0eU{o@f~ylenti?y+=wWO$?-x+h3_y39XRFVCj)#e-qoXt$D%sQ`isQ z|2f^f_$kH~{cMwQE$z>Nhl=YjOV9oX+Wq)n)5{P4Wj)`&U7MM!c*+Lj?>l>8L^`i| z>i2ghQAYv;@eC-|lYw)Cj??9)C%GM2petR-XhuaG5%{09^Vq>Jo|(U?oyPz^8}rR` zXF_iaPdM|FlH4`Oy{OxfdG_u8Mzx+Cg})nKQ;!HN-!V2{u`!PLShXay&`7-^w%R09 zbd4iW{mz-6R6Rxg{fw%_+AeSE9r`t#@GB~_KYByL-qyI+iZ#P?X28J+cr$4S-7|Kb zH`uV=e6W)9^4`%aaBdiujJSwlVo%4-3LA|-qU)O=1LfYUtZEW#A^Qa?h%u`n<< zm~#qYMPv()a*+#0>@qHN)S`fI*X3MlIbauQ(}gYum-}V=vK}IjKcgc)l@a}|?BJyS zJl5Yh{AK2nE|-IX9W1PS_~q4=CSFu`=s5UBvLZs9rCEuFqJ7o!k%2QZ3H=j6Uw!|D zzFU9AdJ=PhPL|&0{reXmbbPE$opXn?t^tzj85mN?2j;SmdBL&UNgm*y*dvpBL}4^$ z;+Q|t=)yE-w9GLuAZ33Id-!vFXciGzNMf)>gtCQ%E+p#+H1_5hB0|37Y)sZf#{(P| zPQ@b8;DkKjdv97S@`;dBEmISdy+2!t;N=Q4Lm8wzN!{xFizE9|mCK0-RBRj9rmbq)V7_?^m~UT`xQxhN?)Lid z<&FGf@i(pM>HEJRxdYr5gFP+SG!SaatKYBb{eM-jZvIDlsdX)4`aF+<($cPj|2rU7E9bLCa@rdH!SJtC=biVM-D_zMdqW;n`7Kdev?vZCEU|Yk--+8DX{r$Jl zK0Q%5Exv~S=;_B|o~WmDQo%pDpA-=@*oF!wMsERScksKsYWx;(#m2H_WctT+zj)d7 zQ;&K*JnQQJ7V>ZEulr6OOt@2Eiz|{o(a{H>VYsfc8(p1=QsG6Pa>*$BobV873P3h8 znZ3D;#DPe2MUz~oWA>nop!UgKIVl;8zDxCA0DvoDXZu7a6^cwXbd;fv1>HUpx2N++Q^PnM)wbdm{`E(dkdHV^6vpKec34)`PSx=!mhHcDX=*t%VlB#!xQ6{8k4VLVhK){1A;EC~8N)I@K_&}`U=X+i)mi;ga@G3d&7*ku_xG}A+pV77Y&CS9e)HG@wTg?~8 zj?H1uc&iv0b3t6!Y`$Cgj$_3J>NphAfZVnbp^lh}55qAyPSH=CYSbSQtOF^pEv`QT z2NL;q2?7)$yOnJl^#&PC^m^z-a>l0glW(r|=Hs;@L*IV)m0F*A%!bra#)Uc-u-Zt; z!QsUxog^X36Qddd^|ahorg&lj7XcBBUKCis1qvP>MCi{8zVH@BVp zh_>g!e<1f5GZ3b{CX!Y~O7`!#P?7uDb9hIqfB5cO`ugAeAIkk`ndp!5Qw7-#04D$( z7>Og`dTj`39hgN^MvV#uJ2d}OmAOjRMS*IdA;_(K&|gLiSW==Q7V{`EDK0D*OAcYb z=0X7d{J%IEa#_~)@o{5xKr`*kBxdjL8(`lDK8 zf37ovAx0%msOuJ;>K_F8)gL|6M|?xOVc>Wy_;tYN`S5zl09-Q|{ikI7gywa9Wuke-;Ox>;%2?-L5ey%_TJwf&JZWg z$%xE%YhuPVV!bK$`zgKmG;WZIiC!C>c{(0Ylc>Eh$@?_bX69sVO#GPzfV8=Na-C%} zT&nK)P7q< ztJr}YwIBo1@+F4Bw2dxENA5J^Vsc_)zo2_BTp)6Nso(l${ALyf`SEy&F|D-}$KUwo zIJ6e!g_37H%Yk_jIM0%&4M$uWsj%8AMp;^M>rs@H%LhdnMi*SywJ>ba)DN5=mNWBlf$o4m_YR?vM_{}$iTh5N>Z-KVtugDL8r zad#7W%Dpy`qm$Rg8n`wrQl_<5!?9ZNo>p*(l?QBe&Rk&@e(u-4Cr{tJ#PZFRtLv-mxi~whHL`Od8eOT2X(gm-t$D7C zbIrv6^j99{m3OY!3;W#T>4S8sHa0E}eohW^J1LG# zjN`hPkQ_gz02qQ@Noy@O!T2KL0prn{wz<@ftYdc~_nw}XiHW;I_Y>D{KSh@o{+q)& zG$v_HojTc(CwzMgIC+_Y({4(yxQ<^>?>#Og6B~A$lD_M~zyzJs2y7vgM$X*ew=7gU zuo-Oc&4H_O+x2jXLXA;2&YZZVw-(zU4n&eAt+%4;HZn+PokNw@TIztehOCnS6*aEW zTspY5iD8>Ab~!S>x}(OMf1Y~u>VS^ZbpIl)_4E!g2DX#NCD@CYC-JBtgn`QgNQpe_ zQTi$uPGe}(Ku-LQALzNx*n-|Ex-`>?-r-u3vaNU{-kaUAw;3giIZp5}U&P<#RpXaf zd|rFwhx7SQ{;fQI`@3lEk}vDgaI8G5zE*+e)q$-=yd8Jhzx7v=xBq^wk00gr6Ok=! zAakDb;pWY!H#~67*>m4Kes~jKN#1ac+$8+Lg7=Gacw&6ruv%}K@O7cwO)Xw$7hs=2 zT5CLQwB;JpM$}wWhy3B=n|M5ad>iMSU7j%9GG8y5)4Qq1P4fnShh(CjYwpb*<8pI- zWX>(^o|wZo;EvzpC%4gGdcqUka!)6nigx6Ffp#|9K@~BdbI*2na^sR|>UE85hdLpd zu-UK6%bt&Y>|U)SufKbpx7qMN#F}z{KV@coE~d_2(qg}r?{#zrykWD=dp0P??wbDg zUCaKWhYOjDJsS!gyyWTZ{>46ovHtaRD!(u{1JirU1#6cZrQ_>7>hz=0Nc(Mj{dZ$dTAK>6y@!_|H7vW=uc%n?IN9M=yo+OD5ZjL`vE<59!3k%`!+mSgiwQ zS5gNFX9Wy{ldy`gWDWzgD@)4eA*_6>{W?S17Mj!1qoY7P5GujSS4fxY9B@o3AEeKg zX!D|)XpwRf5l(h&_2;qv`|r!`H5VRzT(E%xFI*p}ktqbSx5Q$pjc!;!q) z2~H>w${Z(3!`?lCG;_jjKz))Rrm2(ENl(&LKW0E^>Md>>QX{raJ&j4cf3Qz_OIpi; zn{{`|*r860iyPO(1f8j5$4$@}CntwA5qmfsxWTBH{DjAwC?3YJvD9l#Y}0P4x@Yot zay0A1Z?=!vz0r@@oLImqJ2&18IZ+yIDVf;CPp`zdKJ^^Ed+4{E)j19>qe@}vk`hk}iwqKAVcG62(PvoFbC1;9FLrIZ2Xk%-wLU{;-&s;Ysq1$tgT!$xI z%eNWFPyYMAlGi@<^EqBWz?u+7Yi1~Qlr-7`LUl{Npscu6q7kzI)8ijXfAb&Z_VLf= znpcv3uSS)@ArILY{ElsA&Rla--2&ET;e419pL!%SIX|AVkRE8K{TOu|xPBAyh0!4U zbIS*_U13C0tk2D8&s;LzJo;Og^XQhjW`5glJ6w@>on%zf;o71~o33h;OMF99ar$VZ z9&=J{2&r+gKI^85nEkfrWPG|huQ+FdJ8h){>E2)F!mh5r-@V?jDEWh;Pkri7 z<>71J9lBGw;-Np>zPHA_TxI)%c&F%705QcmDN2=ebx@a*7E-2#gM^yZ=`28CA|)ax zW#fcvJdBf)mR=s=cotKA#J2DiFSbNgh@wQ~owD^CcDcBuOj{~OUE%uSMLxIwd8|sV z;hc0mC~O1(01yC4L_t&pyWt7#f(t{jiJ~zd*Qq1tuh+$Xs;Am1#!Ws8F!AwDycTwvIlvo|1dZ1nrohQ|~#o zoe9;^YmpA|CU&yoJ561LMeN9W*|<cg~f2F;DA76aO&TsG`2~v)i~eg)1UkCJbL>(@VZ+Xm9-Pp(po!d<^r%Jz>8jIbQddR{SWuj z-uX+J-u~}$n~yQ&W2=X>SV2(q<>O7ze9u>praJrC~5a!TZD&d4Pj8V{n(Az8Vkyqd~Q zT`CNJxg;hj3ri)h!ox4UkT3qmdv8pAidMgytE)^js--arIg3L`AT4#Q%m!WY3CBr! zLt~j6aRNA@ya`%saWk8k0KIbo32u#Gh%;KqnGhPF1Rwn*Csa!^O+6EMQ5yGYE4>rY zTX?0?OV_VaxozL=rg{gyn|hppox4l>)X|M24-yq8uA?(Ivi7DQlQa6jTUvIPyEO7m zknNnQ!`KPD;x2Znqa`=IE^=d=iDzA`{Ekt$30SSjh9`cMnCHOQ^{J)PF8vw<*c#c5 z58*wj#fb5DY$_+gm7jLtmII4gN6^KAY&F(Bga$Z`{EZm%kTTx1jrzpA$uY&7RogW6 z8joq>MrBjQEg&&bLupnb;U`uUGIWR%lS)y^v%{F7X)oG>?;{uN38JJfz({n)sZ#TK z)xZ(+1BRQKmA70LK7{%fzA#`UL6q>-%~24}a2dJn_X(LBB!j*0JcGMHVur zlJ<-&xU^MnNm^^^Hy_LXb-r7>`N>=*)I39}1>QA}OC6t@`bEoQ7S4B>Xa1vTr8!vY#prA zP&bN;UFWsvA^Xc7s$(v-FfHOje<0Z-pOPkK%$#)MZdt{9!UojnXR1wUREvFvGtDZG zbrDXk7Q%8Q`F-l}$?PK^xJaK`-hTUv4SUW9_+H+e*NlU4*3)~7fr_ydBk8L!$gpZn5}=5xRG)7)e9030(_E8t8q76!%`A-D-)b!bim z95MM^=;HefTlA4@@YY%=OT-GQn`Z$_N|UYjAv!k7-hW-^lO3S~%DPm%ic6x^h+Dy@ z3e{F{W#*1{bt{zXHfT*%>X5(o$q(m^PkpGc_d8uZeUd4S37IhLIUQEg&?GB^ZkYg2 zxtZM15NQ)b41NuL;q4oolh#^VI5pyo+rpEyB)#`| zQ%=2CTlez06Ud!}j1fz4W*zHMqzw(d?$L+$lx zb;{0-8K*8NC)V62VmvAsTRhr0DM;wWIGF=AOJy)HN zLAN^6lpU2GwrZw$f%@Z1(Oe`{0;gyAoOZmQi+BE3`lDZAQ+qkK!5?J!^wg#}WpjN+ zYv=G3H0KG|)y+-&%siv=s?xD=L-0E8neX!JtJ~b%+RHFk5;rRSZ}`xnzwvav>Nt|+ ziiO^GIzGnxL5gZ=aSLYdn>n{G;>;cK&b+!}9XPV{HXLlX<9I~An}ee3$PX zY0rILO}Z|;@L(6G&&7Vq1Mck`o^;*pXihG%O=O$6PdjzmmR;+yzdLk)C=&WnHrm&~ zCN{!GKg2@&{Lsi?MB9;p!!3pFI-zrs{l8@n@l8*zc5`0&>c{hkzwsB6V>h(Ox`#m8 z5PYcXRavJdD0z76<}G^wX0Vhc~%W#6>TMO(ifIjfBif2@XIeKzK3r30{r^=DidQ) zv5KPM*t{o5;nkD_;;FA$9HTmV<6wPc6D>-a)Yb{P@C(1;n zoe4d4v7V_*jZct0lYZddpnE3Qo{6*HP1#M0&5i03eCjwlBm{SvonWGHzb2wYoXH+igcj*T)TI@`k1_>G+6;gU-4* zI!2n5gH2gpzWC!7^%kz%5ijVLg(m=wyxq2GGf)hOICx z*c$!mtz{xd*;=nYaL&<%jf*t1Ay#bJ=Csym8u>e39oaldS`ti}0iAO<64Q8+tKLeRjb zs~^k$t$)H3(vRl0hc*ToEAs6vZ6)t`^1EV#d&I_e#m3}ozQ@RJPI$*nX~!J7WuxJ9 z8&kGbp3b#B&{=NXYL-tUSC4KP2U@Y#(Yf~5%#&%~GBFp;=Z9D8y<}m(Wx>CYo12Mj zzH2rVUoZL{8tLoDF0u0j<3e4H@ue>qZ>StNWlyjr6YZjRxunhC^});fKS-w~Z@hbr zt(X2_@BJL+FhS%w+|1mTbNt(k_wP-4=N)`$yFWg&Ew}VxM;j*SmQAe_CO5B}o%3YR zJ#xdixwf^brB9ulw3Gg{*6O}#tuYQgj_rZIbE9P5wJ@lpY6*#NSO?wQW_sgOnZ8H* z`Y{MYqbO>~M^Y3qAFo3ErXI)Uz*|GQoHKnXO}=de4rD=M8$f-{k_@gF6}T zUG8(Sn~0xiw|+|w^K|0;HzS=5t?j3DX`1R2YM*+NmTsQ=`!woAp+2 z(Q5&a>kDayRXNGpPn0zk8Nj@5ZftUM+4p*7h9G{!MZadiKlKNHF7t7^o42%Y@pc$reC9+|TaqU&-O=FXy&h=2nPn;2*H{r~Wg|@+qjp{qXbn=`j!aZq1GD znt678Jf?A-uUx3{@e;Z*+2_XiPrY-wt7WXojVUl^!f$FVow!}^+3$PqUGD11&JAnF zeA!Jc7tF~WJ`G~X;!~N6yc?>ExLGG`S&zzFam?)&FJ)S5>G;(66F>n=E_%;LUfAaz zPhQsfl{cEdH>O-Rr|KDb=T~8j~@MJdSaz{V8pE`9} zL8o5tFMn!pLt1DL*QxJl8)G)@+;HZ!DG*pfSc~m+zBlS{jvT7va}L})M-n-%A=%vV zg=_aaw3&8(`StJ4zyH@ipX2R5&pjFe=Z2Yfonz{_V!C5I*J+NPw7J-OPvm$n2(ra1 zDVT-vslF-W)8+3=+d!SriHQkp7-~GsDIfTW4~H_Y{RFEVV2E+NBxRszyLqz9XaB|b z<>;sjuJq-vyp~HY+Qrn_AX-{$Sq?a*+C(BRu;iE4Z}Q2fZZaG(abDW-kWWv%6-X_n zpnh69I012*$UAZIr>SK(b?WNbq3^)=y+?fNVpAsZNo>Lo9eKCIcDc)*r>@4NnHzON z!PhI<;EmjUmxxXK7VnJPtDDS+Lk@hJqN?onQ>Z3P`%L5^OJ*kajGa54{s(-bo+-Ae zc_A7(p}uRl9K)_e%$!?3CEKn&H(aNU6K$OOME;hkciK)L=1yG(w{+@m+(5l|>OpUd zttaIl#_7m-b?RyKg}XNXqwDE%ANAI#pBt)EUm8J_y0K_ushqlPFc#l7k(ttJZ0IR+ zwE?{HiHo7b(utX>jcDeWXprMMQBgO!xCB5SLSIuHjMy}|4Qu#H+T?_jJWWpr z>$K1L`jiiz;b^_3d!1J&_Vk+97tEm@c*j057oC&VdCSJ>Q`$tHE7pK;*dEmQ1h;mf z=KaOQwWIOg|1>4$GY28DF>X9QnZ0nY=R+@DO2WKe1&-6!(w9$(pqNxoX0aZ$sc}r9ggTcGvr9SzWnBQ=6CsbQ}W(*QHtnaah@&zHu*K_#eI-4@;qW_uaR1 ze?P?yZ6eV$HS#t5u~V`himU;AD!hqbPP-_Wd#Q+vjh~bH#@UN=gF5-hRQYxjlLdW( zc96C~`b=s37w1blk~V!O<9bgYG$BJy%-(u-mrTUcd!`QU(V19{o4!xYy(g`=)P%*a zCFJKs`;N91v19MO)91z3=vcLXKhcuJNlkJ*TiUev1)l?-hUKjVb5F-+nnsj<>J9hG z#SPlotS0IT0S(92S|-~FkuDwG1=**-aJSgLj^E6{E8~!~Wa6gm#3*~SwcgU9Tl%x( z`vb?M>Lg!dN9gcgF|<*+<3IH@cu{MKgkD@(%8Dz0Jqib|oD=<`0x`xlKM-^05YPx{ z$IA)1;^Yu!nvSq3V5JRi9I`29WsIm?63&2p^vKLSa7-l^)P;_b-}0&3SB;Mu>p%K~ zpW^y=GEl78CL+c*4Vkp@Ah+xrlK#@kaZMy9iLa32pnm(&-2d9I=6Lh-x#5~zvoRg% zpZA=fyKdF14RcKi`x55XJA8+I!=~fraKOjcbA;6xn0sb^bn2~5fa~NdH~$jJEt{eD z|D|(+@p8^I{iu7wuS0b|kwknZw@*F5aq|?zL_Nul{&bYf-jJK4M-#X@i($+ho2dve)+ZJ|y5nAkVl zcVNR+zM!7^%7S}2jFE3z%-w0|*uXluZ0N*>7LEqDPrIozClc?GFy77~sz#h+tb>2V z#b<=W#gx~den)=iUwtBnn~T&@&Lu6Uwyz` z&UJmXiJwRTaAkCHRRjp208rE=LtxU#j`yr^!aPg8+D3wM`pNb=2aZkt= z?fSm`xtH_WZ+{GEF~0Hk>)H3_wMj3IY!4Q58R8H?67n zc+>U9i2QgHo6#jGY*}Aw5j1eBf{~Wu(gJq zme!y-;mmN%Y1C7n=#rANIka``=9c<2MV;V^ts931Oth)DhK;r(PaPSj*^Lw)4lD^i z4V&%hQ;+i86Xi~u%{{1LFT6G4D7~ioSQboS=*Tl>*t251TJhC!Wt9NgaZ{G-CO;Ch$cfD}Ev|8cxW(Wry;r~VeR=%$ zM{&q<45vjiq2QXaN*KJRkj&->r~)g1aq>lLJZ@#%s6 zH|fbEHln9&V1B?13-ko(60|t%E#Z3CT);lj z$4eIJsrMYcq0z6Hchl5zAki&rK?jr6?YguByTGUSmQac~0jI++b}g?c+oB>%jN^<3nLMT2C5v9Bz+guS-O{ygoQ2RnLJsy~pb5 zjGS*@eKf!I-~U{0uQr<*Rnui6)?yNA;L5A1n7G2=%I9<*qb?b9PUo@e`p6-#7wlO% z*$~XRS{M=}u+bT9s->5J-GWRhm^qXp04p+POTbwiS2utrWjTydk{egDCwyem5MTS9 zZ_7Jhc(K+OU&-ybfSqKG3I=ZmoQPY1#JAi$Z?U1>FrlqOsy5?ir!P5m0x30lYjUxG z?#SJx-qPV^mluUvTbx8KN#oReOX&>`b*cBXx>4XAe5Eel(5Ie`+*t{m)DtJK3-~ml z(AbtN^&@vSu11cIO=@DuxX^}{&dt*7C#1dOtA98UL&k(j-C6@lTJOXqLAB1-5O5T) zF(Q9F3d5!&dXrN}Lk_my=*QHSCrjJ2+M4!5;ww{Uz>fONYc=+-k!R21AUx6b{eBlY zm(9p@3{&fAt)=gJLLFk(IfG${a`Dpf!9PVU33^)6q~sY-0%TikS3Dd{f#L#mel$c? zQZG`G@R6-#%5C@pZ+wgeWMt#y%amnLXn5 zw_gMJVN?9Zr%yH@|8LrEdVb&K2Byug4Q_~cBf32v(wPhDHs9Ch6ZP!(o#C5#m3WLB zsLkCmZ+!ZDOkU^EEpyWk4NeWeW-$JRdsBA3)z9sn7ZdHB`y5%FFJ##*Nv^c7zj*#2Ak^pv{qkz+?Lzt8ur#6-m}zRX6# z6s@P&C%3s|v-DoUlndYD>>5wJ$IR@MZbW^L&Zgyk;M1I&_Td^k*TJdPwBy@|t3Ebn z5&88nzFs*pPDlFi?(GNi+yC-sbMyEC(QCnfm7Xy%X$F#%5v!<|aCREFzC#{dS8+-C zdGvlZd>tDY9pgOwwp^LI=r#@%bqSHF#~I@y#OoCg2T!;FoGCd~q=SS5WvLiJpNd14 zo6{I^-6iomIw0Pw)B;YUypU_m13q+JtSI(mPZfeeV-j zPuopt_@v{jtr45$=u=M-zFj-i=9YfBrzynlr=<7jla{!n%=V7H`^n5n-7s`~7_zk1 zG7)2Yyh$7hhBeyafzsgK_%puV7`6*2vjf%0UOZ`xmA1+D6VzJI?qXu>dRlKe_^L=7 z^~Etowms8CduflczE1K}DQOdP5Et6t^`EAy(_Fo^wAKjeK?qt}YbD2A%2{<~NgQ{A z@Jk|=vxAUA1}}xvx$XclHdvCftxB;vWqXv%0ET&R@sc@JS;q9pWaYBO*Fp6}qaTSJ zGZ!Nl^~dd)r!2Ie{lbsr@ms#J(CM2X@-VE=9I5x2@-0Z_(fu36V{gZOc5nYuc5nQ* zJRSXDe5$-9-hPb!xsdypNBnz-{_k6^ZsxcV-Lg3xXs}OLGmG;rtv2f#XoH8ZX zd^q#^-oSfrx#7cW=2kz<*t58Mts3}&Mcz5J+!M(q8(+gH-9x^|r&@n~c)`5eLlZHL zemXCA%p25vm<`SE!@l^|(_Aw5Ut$wH9I0_zz$8gX;@k4nwyb)Tl5zH9M=>Wb5dFuoDrVnDPUaoB<1I6Ueqv3I-UwnUd$9rCch*c}P> zOq@M@qA?xb@L_Iw4p2PF3)c?ysinzVBhN~`XTji1NM*bTZ@~%Mz!x5mUC*?e(x)kb z+$^U3ZqdoFOUz5Y4z;v|4mIVTG<{nqJ%p|G#yN4bnCWTh#QRCDQBOne#MCe~e8~~G zzPJ-ePWuMcjna}%8;xsRXg9Z+PoS-}!i}*l)wY&I@`P_V8uF3r;0D&n*{IKJ(`cvp zgPpZHq(j6TTw7X_@+YA8h_%)d>w+2;%Y;m;WI z%@KLZQEtVOvY@hj(77)DJZ!{ke;#e@)6IA0;%oos^oM_!uUS7FpU$q>u-v3({I2Mm z8=D)}kpo_{%7+}r-}1rffP4eLfqTh2airj$S~j`H z+!dF0+~=*e7^{9CU*oT7#|3^9^UW^ZV?McQJzxX*&2u4kex{%FKG z-0^9H7$^O`6jzUK;=OpdopYqWM>=|-?=$Ox_mpEfyO|T~*!ThAIB`pp{|4;sn+N%= zfBp-3^wp05+S3hL!A33d9HTAO@pF9Wa(yb86LN!)PUTEZx*E-!7@ zSHf=Di0J}Fq6Et%6GTBO2Ts_BMw=?Uz?#>Ye;Vf!jX)a8GOC_<4O~Zk9O+=qZR*nVF!A@JQQw`o zmi?2T$i?gbILD_ylOyxs5wFUwS%i5gW22ihHY_(bH@O?e?3#tzjV)YyUpcz5J>+|( zva=EG!4RJS01yC4L_t)z30<)%IG5e@-K1{78{%+=aX$GZ9QuCCcv$6u{ym(1&G?Bte*MF=;5mgl3bipM za1z_@n(tu4)} z4ULJgOz_1Aw^I?(7kB1-t4}@3%|@@4YVS-sd23i0t*Qg8qxaU+dQ17hn?yXG?|5J(*fU4%D=%>l_VMFx>@F}aM z;npez!dg8#CFD8sL>0!(x;nm%yJBv{c-JGhhD=^J%LeyTWA8lyZ}GoGy`yL2-+QY% zIj6N2Kbcl6a_{`?3>N;&HCCOb3Vtv%@?_N>#t`2#{WI7{a~KbITzl8my>xr!+i>S z%Dj``U}x&YMSYrj%@xzSsre6?udpw#FK4G|e6{%W>X2*ZuA7*f-3P!BYd9wO;z8m|l58vbaGd2|BU;Ww>zB`-p0NY+a=J4C^T;=BK z$P-)7gzhzL@LRC^_x5?|#XWec?GDNEIyCWzAU4+ic%f-lLcbeiTN>lwX0@ZPdh#N1 zBX4Ie)puYx`MZFMYl$}Jk#U`v#zuGGgReyQa-jV_rM+|gQhw`S{=)ljX4xF%Ev+g+ zQXewvscbQQGz_jy8v3w_DGwU@;NT~571}ljcFPG;7=9R3C598tf|0^7sz6%>+2k+` zlp&Y_b(DfvjPWnHFeKw)cZ#mk@X1CQ*qu1Q`JF$L!#jUE`ZiB>RkIw8C50a0mYUFO zBh)dSd=`N-_TF2@m&B-mX5r}g2TYsk zLXO}vI|%rh)4r82dfD*NpDJpQjH^5gP-pYB9gU~m{oXDUpH!P;qciz;Y>b_JQ|s}+ z+8BxKwuLs?k96XT2J&c;!NRNF|FyjlQ0Hci868rY?OwU+wyCY4~q#%HY$@x99#F|20o-|5c9d1F4M*+|8y< zEr%p7!dJ}C8~UBX<{XjRv{Z7%qutv)Dfvgo{i6xlCEQ-AP4W6rIfj12>p3?s>$&A# zp)g%qE|{NQYMpT0KtK0hP`McKB=<_vCmHyyEUnyMYiTauol6%P~M?ci1lO2CwMb;B1 z^R4qFNmT*Hm|XCbs7~rMa@b$vtn>QmZ4PYap&x!Y(y#N%^U>`K`JI3L3wiR!*`E_^ zdO(#NZrRG()g@)^&m-;Uxc-thNxNK3S=#CwyeY3XnXW}c8C+0V{~@oOp;Uq}QV`an zBB{cSU&VMm^7Rg#iCM13;wYpfEY~I`DHrAm2Qir1VggXN!-#qO+9z`J_`tpSp#wU(BowU+XY z9M1-ayfFi(B)uhpC=pPfdJ0!g%W}Xeg%7_n08(mTz!gh&VAQ!;jS+8+Gk7CE5_jTU z+1*53H4B?bDrwpg-qRuy7R5$MDbPIyH5^z`_XOuWu!5<*0@dk#@;c< zMSrGl(x-Qh;bUIlwc>-zT{_pp*Pfwq z57^wEuu1J`M{6y&T(jP35Es(T?HXGL_tm3+u4>1c=)xJnm4aMz07a_+fU@ln;%IX zCREsRe1)D%+N9?h-wz+YqmH4U`>St#wz4+jR)(}Gf~)V!7UKr*jMoBkc93Cri;>cb zZo~yS2h^=Vt6W`KLZ(DmRW1owx3Z*7KS^0qmP(#?`P%3Ii`-tl9Im0zLOL+rXc0=J>cm?}oDE|IQ5c*S<~&de7F=sR!Ur1@VnLHM0!JG zZzcTdyENv?4Lee8bi{=@1r+aD)mz5U&FqFTyFq@$CimuB*Kt1Ie|ewIla50>5$C4p z-S8p4Bl`gK;SXKJUmZH8?>@fGSKhvgwwGVn=Z4M7oW8caWTSE8antjT@X5~kEq0{N zP6ZQFcIrL;ablmi_xmYsWD_=@t`0m|b~akCy-#iC>b>#$@{n7;S9G)95i>!y=Rlul zIy!SN`LyL6Y23>*`3^jZ2Alo&dOBzH)#pfC-@3k+-~AtdIgh^j?O`YvD(B6qZR8;` z<|PhZ%6fVpwwmrR{meZ`qu7?jw96%B?aI$1?c(~Z^2$V){s}-_h6SsR1FYJ@MuKyE zu|7NNH)!iCrVf`m_{EJx;Qp;@RkhvG0de6>Q6LA>QjiZfFXYwF{B^GD&QKn?*@{fC zc*Kq|UrIAvA`G1~h4~*RxD7C@2x}u7=D<=1N<%1OGP!Xm2e~MvF{mxAwQ!>D25U(m zO2mU8KT#r-Ix_gsk%NzLYfUDS zU=BHf913W0RSk1|AYaVi%~CCl}Zlr=g*sx1J+j{_ zo&P4ieLVg$?>aM2Zgaho^p}mdjH%pyyYTNBn;RB-4~yql6wQJ428>S*!LKfUqpO}_Hx)4cY^Q!iyc#w$iHX?jmCna4LQ68->X z>ODI)#&_Pm4wox#92Yz#`Tbbun)w3|nm|mC8<07qiMj6eoO;Vdn{7uleT83>?;ACO zf{1|9FuD;K>F6P%gml;F66sQ6fP6ua?vn2A93VMrl#K2iNC^xOhQzz~eLuhd;Q8Fo z9p^gNIp-3OZ93@*l|k&+RSMRZ(MlLo9-~ z7gU^(&)*&xdBTF@?4z(YRouhlEtVmdSrh}PIL)U%iRiQv=Mfnh6{sY+($lYd?V^dR z{rRqezB-{4t}o_Y2;_l_)5OT3$?ff*pFaKKDGAPo9>f@$4!lgGf7~*MY;z|^H$J0T z{{p?X(EH@Dla3r_v+WDd6#m=H5?E-7p=3T#e!~SWir6*N4cx z6=HJYv3kLAfzpiwf0H>kW}gskg{tT}yrwEkUgRrcNvBUnn$no|=t^1#%R}Df3Y*pb zCEaNyd7!ON-F4uw-Q@|WI+^K;nvbg-kmfij5Ns3H8(ov{w?D03Kd-xD$N8o4w#q72 z&ZILsb9%7F|K@BZ=+2-q=!&Tb)!}QU;!^+b75Yc)YFoJw@V?`U$gL&08`zP85?oPbP6xO7>%?_i-JV8KFNzQdj^<|lqcT%qKLg3Helh0aW#$0LXTQ}|HHuL?y^(?f|LP1(eWUjo%j$9X%n5>r zWYV3vcv;QKiEVQliiAl5BwrhfYSXFOal=MGPc$)@Ut zG|+Q0H8GF+9*Wr9H6aGV_<|Vs8#w}^8H&`7d@nAYOoBX#SJUOJ5Fy)QgR-x2Hfcy` zrc(WNk01hUTuu~^5vOuhP_7W1(Cn>dwZ%q>FaeU};x$iCS}M&i`_*DW+~!c!WKPdO z@hrUELReLK#JT_Fi0t0*(b;r1`P4Vt65E^daPlYJ+;5E&tN0Fk+qHk;3N#PB8NfYk z^6Q6lSYnvH#}WXtN>!d2>AY|LjQ@`dSmAlT`2L}2+v0iEk;jczwmxH^$4Q`5%(cRV zdKcBbb<%zy+*aDy@m=#r#k_}M4mY%VSTp`$Oe~G8%mkEH{fDk9-s`kG?1LIVo=HMW zBzZhPmpJ1%ocb&E+Yg{}h|UY{r^!mY>2EVZ?=p=Z=|{s`rf&B4p1EYzlR{+qD5V53 zghORcPpv3z>x|ttP-gh*OExW@Dpnz<`I@LKHlmDk4VjD4EMROadw}FPCaqOADHD?j z+^CS`!p zz4lItvGXiw6t&%*)O0fJtN|_lEdcg)OvB3#8Y}qI*{g zMSIfy4F<3gn+E=211Xt1Tn`sprsW>)(VVGLPwD11$_Tp5CaPW2L)wn|K|aA*zj%B# zI2<<++9Ac;gu@(}(e~5Bg7_+Z6$mL!4ULry6AaVN(#^D>T;gue&Y)UcL7>`<{ z8*GIbWC?d9JKacA@ORcQer7OlV7iVE{Dzls-YC5N#t0{Rmomwp0Y!J0%);aq`N${7 ziA42vc?)Eb=u4z~IbWSRS6dTm=19?GXCaQofC1ibum6iJ%H20VTyo_Xr0JG%fA&7% zcJsE-)=ZrM zol$mJ6}o#aiwr4~KREOhVw+laFWnjsRh4ts{ytqgsh7iqkUlJ&28s>v_=UJS8kQ$D zNi^girMH5o)PCB(&B+J?J7Xk~rLqF`hC{oMt4mgy@9V*@6C?dG15ndXSCS)u8HW%< zHvNYl@>V&}TBW?p$A^RsJUNYw6LY^qg7ec^rsoH5MPD<9@VYugEq|?6^IagIo_4K_ zB3{};+~h372{_kpo(CL??DU4mxre|(GebCnAOKCmSHw19M*U-`erT=(KzTjiWhX|w zN@CI%nVWX|+|y<8@0K$7T(LVnJPypQyJOQ~WA)L#OW~95uhZs*buLwHt}OCGhkoC% z!y~Zpwh#MqC)p=Bs-2e2!2I-WDj{WIz2Q`Z{+*4yE8s0X#_Fw36}bf6NAnp}NNOyH z$Ki;dD8`8b7tvXVk9=VnA@QFau$aGg#CQ&Gxx9;#E;>_8Cr%7Pv-jdq&9U9*1)Wgv z9J%d3UCghmj-q~(#9bZ76&3)S4b>5-@y{=6@&)ZB0j?|CV0Y7l7@d z&vGZCTyLjWWN$roSBczp&i&cCbv!5jxgxQ+z6O)e(Gisjz;6?obV9&aIyYuFhyn4L zRR3O1d)09LES+~D7@-8P_`e1E=sAeQoUi|&J(O&)&N&%wWFswyJ+A(f#5Qu_?&4Lm zJ%F0v92nh6nt!Zd`J>f`-q5wv>%QNywd4-(_DYHUwZXc#&cL-Bz3)v0am}`TVV0C! z4)An(EonK5$2{;_9&_|?LS11>*`XUgRPrJSIkBUC=!IsUe-)*&n;bfeGND`8SZYC^ zUnICLwA}RU>=os*1DP&+XvwBJisJA>0)!~Oii=yVo}6A$1gHlahC?TWeBG-R&q!p3 z=9_LLvgr1TPhy)#L3UrG^zY=`O1I+LlY2U~aq0<-Uy0cKxqJ4~(UOyme zK}6Mpt-crRwrX%pCqG|lDFbj(hudvOy<*kM5qgY_dk>FiH3)V4-5-;I?p0>^GCLED zOHUO-(RP5?(iY!If7MFe6Ss!Ot*gugOlj(Kb3Td;;9(+rPAeooIN)d~x&*nWnFx4A zvhuk{*HSOLb2!}+$IZuXi9?j!Ad?2;+)mR-q^7(l@%o`n;byHa=1#6l$~;{*c1qau z({(@h#FTz>D{@J>Ma&cYkDL@ea8?vHl#TqQN>C|?nPo__@2C>#ndjid(CB^m{5|Vq~JrL$9g6c*2-VuIhM@ zg1g?QPzM12i|r-cX@ z*){mZ_I$>pDE1y#nepfx0gz3Uy`S$^V)UYu*HKIPA=(tAC2r08+?}X!7j`c9;5N(w zmqJO8oF+JiNUcQ<>UH!aYZSR#gjn;L`%nga*eHq%^(p;IYaQ@Y5>FF)DTxv%th5w# zx1LEsA>*5QMp-_nV^l_jH{=y$QeJY^)h}BJe793$GvCC$HZ%R1tP!+JEp*wIzq;Lb zp8rfH1Gl+|^CKC&^D-3m?XgINBcqT*EMHS1c^xO~XFEDZA1zo#jN)S*M0UR%e-php zt!8LuN?%159V<7basF(Z9>2bwM>z#vUUkLn_m`Ry?(y3m4QV9I)X6Fc?UQnf0TW}# zvya4q>d_9X5k}6Asy`%pnhu#=e{YHM^iPVHZ%$f~2Qj5ii&2(tzk?)e5|M?&i(goP}S9w#xdx37NN(;(8^kW@X1bq2h-gi=RM6 zb!MyV(o)>4RWQBN9MXXX9bb!NIVYHfkiu5$iFIq`a;DMihBUQ9E?$=;e2mTEA6u+OLo0);zF>Hyfr)dH=V zw=tmu4?^dWcTwd+Lux3xF)mRtesiH8$nlZGEjz2m%;^NRcgs1jr4f|l&_v$x7a4G| z(LhZrbOSZoW~n8j@kw;%F%2M7O?;)u;w+q=)T}6GY;p9TznRXK(&BOH^$@*F4T<~o zk6&ClO(g-7Ii=Ee@=i>8{r+LjBm@E3z7$N5n1!~Rj* z#y#GU4EZnhmN`Q^lPph$j6|_q#_M;Y_8Bvt0b~fj?=X8qHLdJe)l`Wtz?T;Zr@Ii4 zdbA(E6)$O)iY|C^FI{yfCBE`iQiT;mNU$Th07EaycVg|F1Ymj%l<_Ag7IGxZV z-z!ZAfux-Zv1=$s%~` zM8#tvoo8pFgSxSVN?5;E%b1M#2e3qtL08tL%AFgZ%TuZpxeLHYiAe_=r>tP{RzK}Z zwQ7!%8p*wx`i8`HPe~EFE5=;@uMeI9J=I?h{eWrNe>eSxbgv`RO|(-~5O=2@f4a}- z(P)#0T!`5Ngygs(P}*Z4W*>F+?{)6N%FeA&goZmf1M_K$DGuw0+?_QZed6kF0Z|mT zE+cIbMR@m{)O(*cU57RexlitH@BU8uky%{JQ=Y0;s%TJqwv$95A(=UOyqQh}sx&ck zHACxqWBR}@`p)C~1RLdlLL{bZhSXy0ele11nsX_ppPcU;C4N-#>pDe{?&v)H6=-m< zs*4Dr>kCto0}3MD?Ml++_kY^_EC@^M9DJ?{B&42Iwqe=+KxUqjqW9C*M59FonUZff z^^T8`#wjHEwerYP9?SM$KC!^NB8Nv<$@=?c|EVXmLj8MLha8+d53U@C2@1FRRLeUL zNXG|!H28gNr{A?}Rgk!(!`-&VekQgV|n@lS<~I0f;a&`l@G=#qY?uRa(aX`k*dL zyQ4@W8`$4S(TRmy!6SdUMTOD``99VsbBtaK1-s+H7Nc*f0Btw+(G4~-=)Mhaz;_ zb+d;3F>FG`a=nGN^tpFu1Q;YKI-BmRJU@$_8%nOIBH5R!D_uX}xbMGed!cQGu6$}P z^{#gPKh@yVEl!@zKgvEka|L`n|959;1J^LTzMJC@_CS&#keDiG5T$QkV9>R@TCt0r zwdc9=VWL5pi_31%#Wjd!>M>0Jy4$C`6jU<`r(bP+$qz6$6fs^I8$5ikeeRWd6F!yX z`NLs%-LkW-HA*ozQJv&mb;teue0(wiwzxm zfftp@`9+c`2gY_b_P}Co?yuNI>nf|vT9^N&tP_F1hqDB>jgFFBO;gx zbyHB_Ht`;)7qI;w7x263L&V!94)`k$&w}JXZc90|B#Eo4=Zg2yIyVG5d3GH!sp z=k#af65^WQ9kNBBhazepdG)guUdP3U8f(1sC`bd5;BBO5yfu5e{F}4*&lADYm8_+) ze6@^k9Itz5W|gT03bxDQC?`FiM>Mp7Z^*Rk4^Wjj;!fX34S7B$#q;Eow>y}(fs`__ z1Bjm(Mhd@(Bzaf)W`a#S1OLT2R)psM(($7B^4FNegZur*u6QOx=$VP|>!PAFb7?9~ z!cV`9%SPYq729MR->Q#uH9H%^tmxC*@151SfSeJP>-8^9o;>iIp(A^>{Ul0kygf5o zxrG7>JX5Wsh$`dS2CO9va^6S(-N)W#KktIZR8H=vAv;_iUaBmzOs3mo{e}VR=pokW znXPn{Bn{ant1ZdvlZ8Kx2`ko(y=*m4z(%lMdJ;vuc}S@LUnj}xVo;6>sKhO*O^zXb ze$dxByL4`o^Rorxmz*Uh^h+jddou5(0$HoiQ2RaIE9@kX>7(mAbN8G-H!g_R!MPYT z>F#v*z2|c?G1CNate*P|i5evpEdw%MS)9lhz82g|#y`~DUuC;hJp%UedrR5NEcJ~` zKzI6fO{%hp40RIUJ+P|YQ1_P#9^;g$ydlJ)P|c$D8J=Tv5bQGOdtH{L?;CZPC7jyy z{UGtz2AjSr8B z1xWrw8!(+=VwlZ^B$*SF#s-E7OTbiwD_c+a8B5p+KMWEQhgKNr5*32ilXwYab)&PM zoYoq7Zf)7Vp|PD+bhuf0pAe#(=X5`f8UukuJ`1e*Ukm%tdQ;#awYsZ7$;l<+PpZ;#^j5 z1ex_EEqfp<9tZtsECf2sOKG5;Lc`8Lg{-YR*85eMbymOd24kB0_At3=4oM?WF49%< z)2{q>ekivpFZJECp@vSJ?Hzi0an5I#9$t<}ZcJ&Sf;*?tS^j9N>Nc z3|w4GBOFPm;{!Aq5_9s4;p$voLl5QttG_+#{RD&70ddhNwl`B$Ap1*r!5*pzoS zPd2J*;?mJ$1I&+!-pd&eAi|-gINE>S6mhRY5g`T@n^mm)Fe?-nXK=39j&lxqtog{o zJcZKc4+;|v<;;nyGxB!mEH+h!%*sVCqT7a!7+puG}lu?%CL z^^x;oZ+dNmgFlGlrZRu6!aFiDatCm8Q_}?^whkr+SzIykmvSKZJT+~|Hgl-_M9d%J z9}UIr2?&*e5Y9;;MCm*_kEQi{hVd*CJa6emGpUb*hCe>t6)(eJ#) z@6L5QW^#g!meQN-wl|tgM!*=k1KuG5Og|>vdN|LGyT78TX)9-mL87=>`r*X`J(jWT z>EfS(Witjgi^ zC>zf5URmT*%H8GFUUBPvE$m^qTN0gJ&IQ^75T8*eh>bCcwE-Ac8D(Wo84ThwP11SA zq=`)%>R0SNf1KvJ?p>SSx?p9HTs7G#UZ6q~^h$%4>FLjfoKmUUpX;mhyP>u1&ePoq zo?n7Ku*Ct4oXvL7Hwp zVP&JYD^#`aF{OF#rye>A+*0YEesR$L;!%ZBWQS>K(mL(DNOY<#iG0-a&6DafHgVc= zOfY3zb0@{gy}JF^xA*PDKyC6A?DR(tx^}4JyfSt;R~N@wer*G>%xtL|6ponXaF$Q2 zR6+EE#oGj{=IRmMOMc)~SH~c!v2J4>F1ot-wUK3wIN#?O-Q6AZG&24BZWd6gR1Dtrht+^9`l@b zjLLVSpM8?Y`PhqfNh}GottghXjekr;Y41$|DY7j~-@0_F6vGB&B9yxWZ_nr($b}ux zw2Vv=GU!E8@p&8tXjcoI-P~;@EF;e@3pG9sQd;z+J|>Ru;VG{$kfCQYSUh-KX8Kkd zrO)&@aES6&o$;u&ZS!dfH_IA>y_^RHSUghDNm=j1=>2|NL;c;hw9n0#=@Qb?FrR1E z*^v4SwXy!Yu7UA)XsJdbFeKyeaF$K?NZ{&;?2h0UtWlO+!()?o)rc`4)D?NE;O3Jz&Y#B z&LdeAU93eU+16_N;}NYkD2L_pvJ7R)kRQ^4va+EX2=;1J!UMEHAV|(?520hLkT9S? z_^jYXZ!@;jH`}~a9=$53Lx1PTBAXhg)(u~AbYDyt{H!F~Eq=cxHSgZoZYlSdG`787 z;x~|<$X+$$E6_+EX7Taqjqd7_f$33Gy{5(@Z~P!-H(nxy0f}#dsGz8v#?4esY5z3E z;9;~U>eBNoRXZ+gk;aMWwGOGhOM|%J#^u0&9@e6Q#l9a37-Pd+WI{Z{rybE_Q(rjw zEQo^L3$2v)U8vqPUdGGM(kx4hOjwc|n~iMgDu^43)9J2C(_7VK3^4P(5t{g$BrsRq z?Tzg6t-^7rw*fKP+`S)8CO7+A6&`kai(eXwh^n6BSl6TiAB70~Ui77LUKeCB=+X;% zOZ~9dpIc=&h5i=Twsk(TYT2;p_z{Dg*&2Lx$d;zwCGzr@&s|w{BAw{dG@X}#XYMGe zi{8sAPUm`-C>4OIo}UKTbDv9qASGpnAP`uo(oRxS^{}C;{ctc$uy!A`(|ftDlxe2A z0Hq`9r927D^D8f=gTxDPEgm~PabkWg5%IJ zF?B<;*KQ%&hweP2PRFzFswbd)H7n+p090EMRoeQ(F(-nnDX^AnC&Pad5GVUX<6%$( z_1iABvH#s$bcvh7mWdLRGNh|GcwYdRhTk;+=WtGJD4NulP155qEv)^oCmwaM74rW- z`v#F;17-axh1O@n7jpQm53+H0_`Sq_*_#qRxnUL35@;oF-ljzVye8-@+InF`nYPSP z=i=e-KK1$L{!qp!@rQKYzO(B-DX~k3gIzb92F5%#|2_!Ox1_O=G050agjxZJ54U=V zu-p{vrAo2oh{9n|@Y0Gt;V1t1BJd-HRk%|u%joRuWlor+%qs;O2;6A(16Qpx3BqCJ z6OQ2Tj)pe5WISdu{~Fie*t4*v)$YX{yZr@ZU zsx5nGfNR9DFdSug*NQ7d=tN;%gdEi`4FzjAe4-sXVFc%VIoB?4k^jeIM)4k^gp88C(X1% ze1FYpIQ+AFAfIsMm>6Ns8}W<3A1 zaydqT!?m3-a5s!=n6zk7L#E;%J8Z>;D`4dEpJnNz@6EC8IN&%pBgE36-{r^nvd*XP zNlX%_lp_y>8`YofW>9#(?a(5-F@VCu`$3;-CC{F`%H0|n!U+9Ork%y$w9xpJnlQfX{ge6$^3Q?cvNrzxrM5lw6pAFJuCJbj}qQ zi6>vb4SEo|x~!HkhBl|0iHKSVH16hu;B*S2{J!#dtITd z;iZS(pNvRuG&t4cR;e~pPT(y-ZVOCTBpX6ZT?)<~1lyD$ONtLeN!#Tt;3BHqv zt!hRIh?nc4qDI7K8b?XZ?n59K)cv=S*<$dZ?-*M%DQriM5XDuCM_4l{ zucG+1*E||}5=$yi3HspwFfYE-+!kkmM?%!DgxPd6V;WYQ@VL(&zjhh(Qusxmzqmk- zZqO5NQ~Dnl5HWr_7e7i68%tp4VoVi^D&drBz{2g8qNSd;+(F#ovuM~yd5jiErTPL) zr24lEy~w$crln$%uhChE zI@O*VVFWs?tIW;lJ{&6$Pz#UwyhLKFWvfalV&m;_riDBQnm1)_b)8yYogc*28HV-0 zNgC0@I{11Vq6*h|ZXD9WEP12KRpe81r_Yb@rVSR`!}yqroQFNUl`#Qj=0Q?%ZyuOQ z*YEbFyMCtOv27-ZxSyf^6nDcBDs(feCS)>5qA z=A1q{p*o2$2qy>R!<-@yL(mBrOBd`o_j9wNFe+?Be0LjRm;asi{l@xjjC8E7BOT(zTS*EX-urw;yh~@8B&RCO z7`O;dX6m}7oSQMFOOJX;SP+ouL=i6wiK%V@z`mHSe?7Rq7Px(ej(g&?%Drzv1_!n+ z!J3b=ii#>&o1S_q)x$S7-liHW+0*C-`_SbTN*-7YIFxE?In#f5yx?Q#T@;eg4bx!@ z8!yN|+}bj~j5K%~n&7z)=~JBXE9j%}6n#waU9AQ^-GX>jx|xBYa5%)wWm)FEO!lIy zA50ymFCz3F+tp?Ytt?@+p8mKyW>jR$se!VX&D|dzyK>Nzo!|RT|8G!y@Nc?5XN}yo z0d;+$UPigOlU;r}{lbpmk~)h%ZCJOm1x{2f#I_{h>G_8`G<Kx9Kd*Y;y?=+Jn z?zWxGVapI!1uQ3p7^#|SuUW~bl6F8OuP6aU&hhmj@D?y)h-ca)NP@KcbP}Cn5Xf;N z{c~*0aWH($S#|+zTl2GjIvubq532aWv<`m&;MV$}pWgMDJkFhD+^n5+VsO%SaROIo zu<0Nd${%;WsGEpF0f*zkUx>?@B$ z9q`@~JXdk)A}x1$fFOH0tov`Za}=*izy0t5@;iANK4%*C`}P*BWVKu%tfrq#_DBM8aev+e@|d;vwcdq61ko|++Sv?sw0H1515lj!Oop-1GXO7=1o1{@U$7U--vd^JA^6T)s zt=xt7Kah2zqp@Z@>gk~EUHspjj@9l&W6%=mzNDoivI`0I?TCNGX*c21H5@L1HLuNY zmPk=o598~I=FE)ahU&xyXFW!U5d{1jLd|r)#4e-^p=*F36}8tAyS75Y)F4Js-Y6Lj zYCsWIzu|fo>1Uqu{O#{8n*(!bqrzCL(5PU-v<{JWTS>*>eOWnMnC`_Tne z_?ANLzVBD*rh|RDPhc#fj$=(`DXcP`cNq&HaMg&b)y`%O;TF$&M7ZTAL$T zoIlZ7u!}48W;5%$1-M^@2OBMTtI2ll8V*VvJoo_8>=V%JUrS6k7C#z&DY!SIeOC=_ zf~>q-sIm_0D0oWzY}Ifnmig%$_K@Un7An25)ldViTXy|{(DcGL>cbR;uf`6mw!W|r zf~@FV5^wfm*R@Qwz+4@|b=92%IpIlN9y!Z19LH=!8{l$SJ@HSnvfq5fi;qL##g^C* z4%B30go;V#{Q@8RWD~rRN?g(%M zaEv5R93314Jo=(`7S29jB{0;V5K}$SE#8+rtOi8;KWqx@$lmXoBQ_6^b44}1^qe$J z{8sYof8|vJ7FyADBLu{<*zN051%YU%MJda#TWw*@Bt}U4N>V2`XA>q{=PhJBYKh%e zxud94yEd47Me>s_7T$0O!Pv1DIiPdEOs?YKK37nVX=ai0>84a0sBA0;jv{L#ia3Hd zQ`codn1gP6*T-6qACho$+6@~8+kG)lYBQ4obHVSmB>NoetxBl4>WMnQ`Y^u8EFs2` zLgIvP&Nbf0WwNjNp+M;Fh|L@|t_3HjH7$*+a| zncR|BloB)DBdk6nY_wYB-T^j=h~*m{%!hp)9FT^O{D;h&*qvhbY@X|9P|oC=87E#s zlC|AwJwMKJY*c+)Ln{O4C7Ad5KBX^QW((>P)U}z&*pJ(moBr@wNYJe6O!?|M)Kx^u zVqxh=@|Xii%v&h(tX>HmmE>eMHanW(W4#@$s^v#YX~w1Y3`ti0?vsdoKhXS$sBHc} zqm#-Z`&xj(MW$V*s$Q@+K=q65iOOVS)K7bzMqFa#FekRQR1R=MRma`r@z-?Uq>{?Q zKn}wm0oc+gzH13(qH3g?DQe^H4Z~j7@SPu|SHesJ9&MO6HH?9-jNSLvFuyDR^FL|# zs%9ATKn_>vZrVA5>GlqK^X1`l*C{3!VM5x?W`5h3J3?-?hH@Ur)TrH#`%n{KX^g&k zmbgeK)>#S_gdXl^8LZv<+?TH33Y;%7Jt)_(sZ(S&jin`SL1p**b1pSoaUH%P%rPq^ zKp+o*&A=d)RGX;)4+H>xUK8J18eXAb6MkqprEW2hvozE=Wh?tawev- z4h#6yfIt%<_~SKVpasecs5J#*+hVQkAn48ujxWGZ;uj$jLQNewO&7NpQ9-g-O9bcN ziH~=CvLq)iiP*&|@X+<#JnHd81)zw_MCII--iwj{U>}W{NN}DMG(;n*R&cm0aUzd* z^jQoa)%}(qBh)pIRvvA{%kUSn6d}q~;<$Lnq(mWBG$?id8K$wY)5kSB$T`3Cqi-A! zQDLIy$PJ%#`ENKTM#x2VMsD;ee9h7cIOoXV;dv3o5LR^N7bd6Xtk5#l6)#dty9r{a@uqkA00l3hMQ`>a0D^{>`+R+xmK}%exJmVV|@-e5mfh_S>&% zUAqz=@xVPmJXqAE&1{=*KZAUnKWA(v69}m1zNQ0aTlG$$s((5k7nOCI9GN7KUwva* zyVVTMDz&Pq*a+o2UMrieuU9ov3VBKky)JV!z*a!mjSB%g$)`mT*YK5-23_(;I8p;3SeKgo z9Fqr+A4uYnI(cu8ClXASwLH^2IvD^b_?c^Zn-xt9+c}s#e>vTSCOc%WLw^63M);?w z%Sm8|TJ}0z}b@?BlmKZDFLb=Asz+An(jAo2_OMVW{2w>Z{U|R8Y%WR&uHo;<5A4?vi=+cny zz=u9k7hsWd{rDVz^Dp4evu)jWAWLSMs_&M^@|o}q*AGt6b@G~cwcnq-UVH|V%I z|G0oJX7>x$4PM&WYw--Y{#~mERti{1S&z%vvnIJiEulhY>iGe5Z%v_c%6D1t;)FL~ zEMLJl531`OXl(!|UZ=v@>pg>n9I(Ka&Ccx(D;<_Q2!WqI{Q4t>R$;pS2g8bA-?$jg zOV_~484S7OtQ6-DtVyI(8H_qFX?NaM9Bow{8H-hLS0%%CkF+^bw3AKQ`*Fo8v&g~U zJX0d)9lW(`ES?DRew&r7QO(p!dmHF}NC^A1-D?KGy(@oy9a=hrIpEaIM2q}5=~;M$ zG`3FYNxDW*dJTp?;#mn)43V9)fEF;M!8r8`J~3wT?BvG`_E`Db9kP(9?2oG{v#y;1 zI~0~*k}O%S-ekxpVd~i7{M+isH0r`IKGgI9RJ$=jUq|9a&L@9uRa1X?$7+5p=a?22 zEo^2ZvH9#^c{A0s%*9dI#FOE9-nqYK|IVkbZX!fA)>&suc59icmFSeiq`lCo+_72O zFLv+%^ggtF-$an+WT`5MkeTBAOwZp4 zjy_EwH8nyig55AZ`14&UvjqDBfYVoX|KkG6N3q=U;*273i4Zaz_N1ypM z$vY~>upaAbz#rxi!k&H=EA0QgQ9&evFg-IV9A|QPOwbLJu9)7Fe}C=_&Dt^VeCdtK zj7|;>;s`?Vdide;DlQTX@P*%y?xLl!9&Yc+IouDNsnf`pX$2zM$MSP02+m;2bFYF& zHAL+9&M`xY?RIto(LbuB=?ABoik8e@;b*!uZ#Z&MzjPq(C4Opue0IqcFh2>N8T>k4 z5c>uC{x>I*j*g-H)`|IJ!d7$v*rXck1OdcJ{HN&XvuQ3KD6;)KY_`s!Rb|jPS64Eo zaUx@7fc&P#iE~!(JoycKm&kmD?yZ`M2giq*;wL6EJ_|r%1XqFHH@qgf86t)GN8DR= zueLbc=qS^5n3QRCPW{ErW2qvrj+yeV;-`bCv4@#X5olSdn%c&g?~H&zQr{_gJbcFl zqH0>>>}KnZb!8|sVW`%vmlNA;%wQl`dl8TadoU-b3BYal zH{~kWt3Dok=f^!*?N%~H9VEO*mNsTC%e(k`&}JICJGod9P^tUA9G&jm8qxz5@9b{k z{{D}z_L->WOOER1YbGw0RGrkq-bnGy@KmY4ZojCjXfq!xeeCOdg-=l9g>kC@;mq#h zm_zN6Z=tRF>y3J%9e~WNz?As$KFK5d4h>n07ZnR-~>-S=!1>*N>AU_ zXWKk}G>2^04O~+}HRH@nr;_HhL3t-+`|f~kitrsx`sW!PEvA-U z4TZjsJd-tlmZyc>WyDx% zBU|Qt{zp5tp+VMth0pQRvHLSG$pTx|Rx~@YCul_A%aQnwz0Av5a!L zAL#MDeg{w&jo#gjBW3EpuBL8;ifGMTjJE~I=SpS%NKsL6#^|?fRo9#_J15?3m>7*M z$n}HVF6H_aGn)odnnyW~6VW{=WDhD4oQST&@`6$s>%}Cje}^r`7dQ;<=pkuBmdg7+#wJq@ z6V2170?d2%k2>{L7B8I%Z?fj%@oi-&_|JgEG zDgto&rvWA=II2Fs&s|tz-q3q_t$Lp~rs49Djm*311%n1n*-YgJ_$zpmowg_~p6%)* zotSR;(Za_+sxnrW0Zj4l`8GI`98bemklM%g1}xIWtX@wDJspV&{|m=6@OtuFx8i-u zD3q)1F&V;us?a2dK_2vQn(w?@4;=dIIpk{YAsb~}v{?(Xfw6O9Te7aH3Rw_3clki3 zKP8+g|4y~EQr9#XTP$T`qHvm;vGh59IceYOS<=sNq603m&!@rIjlM+Cf*Mr9(@6~j zGPOgNtPsc+#()_DV(e)Y-RX^anMSH=O4r_!PwM;ILr6IYgEcIK#_2R!*pyy4WD!9$ zmM91e7)1p!dDX|A#5d3X)e)O!rZ)|QK_?8lQH0Kp5aK7qi#t!;=xD6G4Fephsh5#G zIYX0Jfsv@wE?H942sWWX$W}SvG&qW9lwe;(5O(unXqj|pb^e}nby;pC;oHM7xnclX z@w1#{-4sJY9K1clA*pG$M8Rg{wTdBqdF#7_^ps7iKAj}4!{BQ6=Yx&pVKT`vRy2tA zEQlb-Yad5`istAivQ6@Nr;<-{Q|rX|!MZaB(f2!Zt55j&o86mJC0E{1Of{pge<;w) zsGRcPE=d7ubc54^l6E|#gk<1E!DO0ZvmAhOY zEZ@jzN>wnCU<)r~_Yo~_`m6efs83?&KfbvuMph~BSvMF`;Zw9?*NoMQ$u@^DG;or>br4}c$3O|*owOO zo;`g!1tk8b&$uwZy_=9j&D9mNdeCnU1g0eyzgGW9Ne%iMqe0u!4mL3*5W=M5gTz~& zoj3J<&82kyv=q*_et@{CnlZ@vQAVfuMm&rUSgw*@@ja!-VZ%zEk=~Q?QtpZLo=s5JLFC-Z!Bnp7gxCf_fUo1ysDfd2I-6>~6_ zZ9&gg0dZtx$7w+?&ajSfC9CnQ)=G;~p$vk?t)C#6HQ9YO%v_$k@0GorqMvKNv#7<$ zw^>ln0kW~1UD_xGNj43a9=60I9O5&Vs_YIZs*C{R5A)(%qN-U;YU@X~+SjXbtEOln zKfpJ0oQmYMg}Wt6jAQ$!iw3dEC~?-xFV-JJ!PV{{Q`c+0&>wSDunGQs2M6L0RI&7= zK1nLpRmZh{bPqgZM7b%xln{t-@#nOphOa2PFjCGD15yFhC$k6EcU`^pyG*_a6DO4? zF6xEEd*Fk1ENH+6D~*V?7zADi7TMwm8j^x3lAEj2!QTq0=c{mLkGSl{kKl89jrZkd^j8jgN8Y zuS5l{dNK;#ufN*zIHq<>s7Ry)hZXQrR#y-#OVUl_p9L~=-XMQ~Y_?BbO-tRrW{`_; z#Bg=6^1U{^xgl+hy1HHknBePo658g)^Hdk#AM)QnNp=%mS~bpJAcM!V;Ay!!&w`{G z`LS7|Sea^?Rd!{C?Vw`WQz+)m*A@!X3IK;sUui;FGZjsXL^yl5=lQYMljj&fa?)bH zG|#$Hp3M5Nt>c5f@s^IU^C$K)P>co4W|cQ>N~=SCozSPdpwQ+hZ?)kU8Sc}fhq(#DysQ=FS8RMPs@(|FfrxtUoY~VV} zG|xQ??llqTry$XtXo}{2XU+`~p3vK+Dg0@RaZQkzYhZ2w;yH%ios+OV;72nQh$meEin%*U0?@Br6-}$d-2W3Vy4Re09{pQTBH#6fPKXx=7!&~Qq z`!6Xv*5*1qxpLCLqeN|%*=@(Xj$GWL_kI0Gmz?q+CVGz%Q`p89!I4jiO`pFsBrY}l zFY=06{f*+yL_l%`#RKL#_X9=kZrb~;enwnhy9CpAY2-gb^7^|DM$;~FM&!Tq*M)Imp z{dzYad>kvxD&jLg7(yssX3ZvP(lfH|m^ptJu$|7Yba{pp!A%y|EbkA?q5S^3t2iKj zKYo}I+59UQV$G7OH?KO1-QA;tdLy$60jvJK;h||g+E8M($Ub(83*jyK(@*%46rz?+ z&*}r=5^AbikuA!%r24NOrEM$~1+jmFZTya0efunr2vyh z|I1#~l$b#(Z-C+#EBvXAAKH+lA^UHVMlFQ0Fy=q?jYM~@n3fx$07&a9j~~y}Lumq- zV%PRD#cKH^UY96$tlkUN6-0pb_5WFbc#vFs56L*F7!zm4T|`KIuBY(FcQEbZllsh!U<rQn_?S}yuQeR02W4&R!ttVdA_Vp%}o z?D-JY2z_bS;sSW6g5X+Zt6q;)GBwKCKGN_!DJ{Y}yB`X_oT^`rKeG(J651FN_Rz{gjK%D3%F_4#eWd+cs>Rh~yU z+ouCAk&WmZ5<`A|P{YYlBJcz^0TU7Jx)$ni^sKBxD|&9nya`{WZM-TstLMG9_CFmZ z>74=cBl6!pzy;BlMAI<$?bZp6ajH%r2^?V4JOA`XYy|0m~g%3;=R)kjLPJt1t=! za4!;27mvvDXG7eLnQO#A@yTEelP^wXWksZj5bI)QCYbBS=KP_zC1IJAPs*Hz+-4LK z=3TIge(aK#(6Ux77oD-~a0Y~+zo*S;R3NC5(saAa=SiCyQDx0YL*8(Y2A1n|r`>>b z9XM2?fV3wFH*x&noGXH9xpIN2W{Za6%?F8pIQ6GCFVM6H-pwL?O2S5v#Q)%-;Tb=K8G<~8T) zngWTlCEGwq3X?VsnTynSaeTF!{yWUw&^*yQ1WJ(=r zLEO5qt8u18Xse;FN93kNZ~t^Nn~iNGP4$~9s+SWl=K}T-m+1Cv9KM9#p4nx8gGzD40@Qo*e=RckujqJ{XGL>B7JXdx-8dhbV?oh_1WQ zwHjwf-yLKuWeWtXj0nxTk%X*tNi}eH5|sUk+t&4Y{_r^268^{GgWkHtwBIwiCvs&u zKYk>H@rj0Ml%!qQexACV0;OGl&`-}!(@Qq86)hx)5GEw}#qmq{TcEI1!@UNwVAgrd(Yw8Du66|L0kJlUq5U zD@KV8r|_8_kN-ow{feVQWI$;2qnwwjyQ|&-&pTlFcFQCC324*=DBBJY-jN-bK937F*$6ERH>oAu z4CDlT69+>pPtX*-o$x+0{TQ<`EAJd^bGwAF&(?70<}$Fdf9yZHsqStLck}Hq?@CD} zX417tduw%qbxF9YybkDi!D>tNoZv~cnX|>>B*^Bc`E@zF<3>$bXo|Hy4vBU#i)GZ4 zDjR)fHBxg4lC~^$iW!!Ff|sLRV70ul`+_g71LYnWw_Nw>r>oFf

P0zdB&(3z-Km20i%oVp(9R(7#b<(jrOe0s_ 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 {>i>YruLqRH6RIz(QR{ihdk` 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 XOGuq(#9e;IH%z)(`kKgx@BaHA0J?ZS literal 0 HcmV?d00001 diff --git a/assets/images/onboarding_2.png b/assets/images/onboarding_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a53af54ff037d245e36a28c97b6e436413b94002 GIT binary patch literal 478173 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�P^#eD!Xknn@VI&B|sY8atZAvKtk}>7`bpVx=iF7WZzA z`(~egw&4pqzU}8#CWY(k>HI@^v1-OP58`98vRAN~Hq*cbc*`S5N8$G!kbP9UyCt?g zXtlFrXx-)~Vyq5jO00iXZcSPDkoC8~_rWXLp37Q5mSC(>J>6)Gs5$nMu^)&#Hmr4D zn&_d?)3f1GGX!-$C&p;>*s^Q>e4LM!J|QX zGg+C6hKzbQO-D4Xc=5SN+glJc!o%ju>NDn&xF4#f?vQGW1uY$o6kna;UFheF{(7Q9 zrLVGEkDUEmDcVH@NLz>f>yEWWim2eWNc_NmOlQW{3n%=-c-Jd|5B#0@mViM2qxq19 zM(5Un^Ad%Sb+d1@%NMt4-~lq1EYK=Gk;{BAd0<7ABnCgdK}=RgCM{%Ii}-P~u-|0* zVSe$@9evZKJbu7@IyO}r^G|UjlhK7jRH)g?Y8F6r>#vvbTZV6`KhCf>i|AWZoGRN6 zEX916+UF&_$np0oH^ab50Nl+|EP#L)t!|~e&Ec1D_*lhbxEXlS_p9oub-)M#A|s0U zH{|`~B#pVJ0m=)ia+-H0%z0w6f1zeyS`pVTEs|b&!_&Uq8a9j8PI20;68_^&X})__ z1^Q>N!g<7tkY%|1T0&Yx&Vw{x?mz5%UtXRFlqpK;tq7x3!9b8)?iLci^qlijADO6#$B>>$(BuhWz#YJpw9!t{s4h`>u2U@_yM91*aKU(X^_^ z`zGhPo8vD+T)sIMaad(6t)b=5sz^f`$b(fjxwe|Mg&Qf84-%$!taYk5??T8qsq%rJ zN-s%GXAS}?`ho737#wxtu>3NR>xX>#f3wfRhNVhv*}wZwwxktkIoQOkU***3pZv8p z)^^YXrZ|$CP-Mgz5AZN)hhZB`mQ`ulovmv^h^= z%{uu(SS>%nV;S-DS@m^7Itg~>xn4Ve4kT@qf$jLjUd@L|#!gE8X&!uj|^foHPe$j~e((HUSmwruOQy=H9SNR(`ZgXRcWpCy*GjT>?(3W+U zfvTe9e4px;+59H$jpQHJ>f3pJcIQ~p*o@|ddRVD$j3SeKpQ0D(-l`!!bzgmRLQBM&3yx=38gaq3)6GtmH8nCJe za0_Y*<-0o*Xz8hPVTOQ{&A_-h$~K|Z5PlXbCe?D}*Zk2^G?wQZbCOH$(L2<6)L%lD zlsIrNrqov=1kG5Ch)H|$*^d(lmRCLc8(+Y=9?ZfR* ze|@$E-aQ@(s8T+7jlSfNB*jf>XEmNaobf2pcxZYTo7AJwIJ5F0)ofHL92$B$p{S_g zP!;>-KPKFZ2%o};Nhh>bVHL~lbioYo&xpfUhauHJZK`6Ch_e9DY`kIK;I(8AB{{$6 zH_^iq9i>+-jSHy3O+N)N72oRoVl?{mM7I##Wyw81%?Qgq*Q-Alih&_? z^-AaK&I{jKyb8+ee3`oQ#}#PL&2Wn9ztboenuzP!*$V-*LrfB%>b=7I0q)(yeF7)O zcZ*@0rGClz2d&7%m2C`c4~r$7$t=$tQCn&$W$qio)!JZ!80FRGJZDMb|3AJ)e7L->2IxuhP59jB%M8+^4Lk>vP;BGzUJJzlgg3pqYODVRe zpNX|CzCz$th&>(jlKGQ97_OAr)eYKjsO`ez%XRVJnxXy9om*gwC&~_z%8{jn5RM}7 zk9*L?ox3`}J#545x-yugs4wv7oWu5DeXEL~=V@@sAvyQLg zFUzO0F8Tyr{gY@N(H&B_?RYO=))f--Y8+>hfiM58>P+d+UmQ|LsuL#K3b)Z!+FLel z1A+aQii_DX#@F@1*QKAtaSk&dlbn=WH*xj~A^ofhttJ8>1!h_8{SY&5?ir58 z->79)Aiq63*vrogfR#dbWX>~uDO3ntIXebvrUDUk_0V#rmlo!E_@aLI`1)oawqm2M zh)sycK`Ksy*7M259WJXMzH04EIkG!SZQZ|~9u!EZ?amXwT>lUl8}|1h(RyU$nHyH; z&B9>1n?lbx_wHE?npL}ewy1?xgHIn04}B7N^M>brxWA3@KnFg-Vb(aBY(7(|Y|AlU zJ>Lw0KF=PJ%vSaNMlCQRW_Gqa#n+$cwgQfu|GePgX!UMj0U;72JW8K-1*BQxgLtHk+ zP_!K~FMb{8%Rp%Ihid(CXJ8px7w7q;(eZ50=Y8fywnIk1A!F~mD`975=>Za> zNS})#f?MScmi_Lr&(jtGrtf@nPr1RAU;Q%<+6B}G@=n8&-<>fZUq~)Mn+T5UgUHs# zSPAiLru`628OsysSc2uJ^6EM>rEmS#A{rI>{=0lYeV2ffmRJo^vQj5Ut>QDcHPFhCGM}Z$`I&~`$!FHnTxHCNUX>j(aKOt z=~N@oLS`i!4UwnZl#87Kp&P43h_JA2ugyQYrr)>Cbi3d0bJu_IcVJ5 zrP+UF?{2BTZyX`dK zA@k#R&T2C{ty?!wj-Gf(n7{QiVoUgEql#{odlSr0lQO~fu@Z-Nu*t3D z{$C@jvy&0;n7MKrr#ciOB8}H}uK|5hw2NpUnkO!-WVRk$a`Tftop=0`40GMvc}e8G_1&cYH^Jef|-R>ZhgA-ird@?@(Ip8&wBt-Y&97BO7(&H+=Y642#P=WOo@SLR?o%6FaKO=dE!vca^Z+_sOL&u% z^IsqyJu{YdQiDFfzwfiqh|YkN$4FT3VHV6JS~QWlnA+j00yczfxi5yM$W!#Akh0v* zz44J{2AQ9Rp!F(1`Qq!L-70;((@Zdh#(XCG789hTOD;Txab=ATenulK_m}ysx{}gW zPmad7dJ~JmEfm#@>fANvI5_uumQf793n(CM)_yz7YkPY=_HP=ssUiKD-v?M#(<0qqlpUfXk7q5FB&3{<+D8>J!G#ZfL1G(K_dy6y;cw; zL)oWrSxM#N@VJj#YO9WzYtX%iws-T*6^QfOoT=XG31cPHx;^ymSH-C{+mwJ`BY0f8 zj#*kE8ar@6A;WyaL>@gN@#1g1Pqov8ZDsjok96Mt7< zejdTG!whH}jLoX;^yEfivn>Bl3qUBnHN5E#rf9J4tlk{TBWP%FBg~pCL?=aCk~hVH@_=p%5leY~Q4b@+V<{bCw2ydrf*uf=QW~?)r(6?JqntwUk+FVz=dkqoTr^zDWvI55E>(u1vuk75KiM z|ID><3-gM5xa`4vaYmho0&jiTHO3)F+4-BLE{*RDXR}KkEN$A8*B%#^&i1{z&(j$C z^k}{7ta7Obh}#}CCpxLu?tvzDZjV7+~FV$I(AE+cqrqUZ9b@Nw*@d6XC z5=N0}X_6lZdKSOcE_(~Nt(gse1V!=|x_Ym;eh19+N9-!502r0dW+^wBm zZi-WWADG7t{<0pVeu4_x7we*|&QN?V$hJVt72!8!u|w=uf7Yd^@+*EfMi7ndLFFuJ z5U^FLp9mv?fXB7M!fnT$uj*vw(7AQPm z@GEPYD#HEVZYwu;pI|Zd#8_IM3xj%QPWx(0 zsE@X4-J~@^%is!w_++DOnZ8E5w_n%sTuJ2mR##Ta^8T`wyP`YR&+x7-C?C_tGYkdR zcBf4~YN?d2L;|-t3Vl^Cyb7)d!JYFC3%=3yG?fjS^_H;qH1w{0E$9?S$jXX0BV)UBRyH= zLYY3h$=hY57pz)BO^`%CR^E03>E#;c!)2E#C%7Pf@=SpLVGtoE=s(yq48(7$z_4LX z9iiYjD$o`*3#aVw5~5Z}JB4viFIqUIX2&Qc&9It{W4UvttXY5Z`FS}OoK1fDd+Cvn zEPeGUw^TWCiMs1NokeS0T+c#mJ2tp}>!u2#nhKb<$Nj|)C6bx6ysR;Fa++oHyy;G4 z_K9S7O8VXVra3aoLmB`X1@?4;sl^(mFGp3^i3RiT&>6=208}o>E~dQ82a~iVhmO1M zET7qPmI|F`99sAuAx~BA>?9a9wds}uDAJ2v$sW2 z4)MAhY2zR%HSrT8TquRq>ZT|3rq90~&fu5k^@{j1rFU>gA*?chN}a zeaK?z(FYbt=Z>&do^nHv-^#*e(5kcbc#h(5F|a@qi=YI25I;dLGHop6f4220pYXT6 zzqhqeOo{X-hDyiGGY1I~vdFlGxToXt(7k*a?nKTKxDR4h{Ul3muSID!KW-8ZFB}WU zfE8s)rL26VJQZqXPOt{>%XDMD?$xhXB3$^hKvr7)2$*Gaec#jcReDc!jP>tvY2s&% z`x0d~U7q0&{nJC_*h%*7i!GggsN~bxHZ|+|pY_XkCL2{2zP-1t4B-cYzOfth(S8T4 zWi@navFhvnYD{LCCna5N2oTk{X84*3wKLLi`{rZj+e-^RqKnVc4&BoZ?PiNcy$|5(aQwTzd^}C>1`TIM3WfR+zHw~V(mz7% zACAhN?IcjIZZ84Qo9`uHI+DxDN|z$7qkZQG9W&(hpQCZW|IQypY{?~<^Bhhk2XV9> z=M#zS;8Xs&Wk=Q88i(cNLWUh&r{-rrQ?ITTV( z0#K@_<+q!y*JpKt=vU{Xb&%wrE0K<_{1M3jnM#m$d6d*4TczIl9j{h^Em-dI*jdi%g zVkAz6r|EVc#{yz|UN75k(8(?d*y8m*W|Qp&bgb~IAp>x~2KwX$B8y?H_36>mxQhY2 z5_G&(VOPac?%k`oQwy%u@RNzx3QGe04Pb~KxmzPh@lH=>W|2Vy{{T_s2`M(TcTm>@ zxZRSUA`&GPQz3Kl)e#iN#s8veTw^`}j_+4z-p?z9YB7$T~ei$zq=BL`*1t{tZtF$djIsO9-cP=KB!jm2pxg2(`H#2GbQ#Aa}AZlPZmdc>+E2dU{F zTS-mkapt+3d0{M2cF~`T@!AcO$=^jpn5GRWEl<-7Us(7Dd?H(Qf=QQkhVJ(9=C1or zMT03dWkVL+HYu9dyJY`L@!Iv8C_OvxP>uRi5FmQamtBKSVR8@}QZbVteH(&wO+1=W zdemuE|MoGKPG7w2UzbVwB+YyEKoBu@OY9+!e$vfwuI~3YKmt82H|YIb+AQ}Uu)4|n z%`c6AlL7b;<%1_*D$RizEr#+3)8dZy*R-_BdN=tCd30Lpm4JMB0 zyKKrpJZI_bnX4D8nb>JHWAgr%X*J?)6G*_D(%ug z0?B2D^Y2rhs+G3Hpb)34<9)u1XLEagy``nIXMe3?GU%AShpg|{z7q)Qn&B-^EmrzI zNEc!@(P15ORZf^MxTSylO~m_bYNfie!8pG5wNR(lvTVXm|8J|D(JPMoqlR`@UiRd5 zao@cvHmlr~LDlY$%ZpsEjR#f6&~ZY#O{`Es^+tYUX$jAWS48-S?>p!~73{>t4pL1B z!{>TAanm2%S%!I;c5fyBIUe(@@*7&+)NXZsQ?&;Y+?YN0d?)iKH1K*$(1UBWXh>!F zmBIgv#b=hU$2LYbb`F=wH+d-*TSEOD*+SH-P>P@Z4(%e9BAbrZYm$;V^{P=7+b3CQ z3)ubTy(s4^=aD_pl`gwMt!_0C7xzj+v{edEBC8l!^w|a5A!&d+h?q?2JC#9_vHZnj z|7jTPwDf9`Z8-bV_y610j$CW`1Wh|!zm}3Aw>U7HL8T`X%8asc?|qviBP~l>?DH?i z-kiQoFL_hyaP?bl)DU|d4@jF6RH9Yl>?n(~T3^MxTek4$XJ%Ynz9+Qx6hLI9bj19H zPbGfgTo{PpVSICKfMLQ;x7*LDVxJnA7DKxIu2?DvDB|wC8oi8?6Z-SM%O_vyI9oi& z!1KsN_TjUsO8U9?&)#w}{8I#!?y)4KrfMXr*@YT$eH)vh{@V96-oA_=!KW_tNvhIj zn9rW@L9FZS7dYPiv4P|c{>jWZXh;d47yz$-wEly;ANzgWvfIB_Ec6Z%&nN7{)9$m@ z?Wd)wZR^8fYxOsyuYKhWRP@0p-E8aBo%FFm2Y0_lX=mx@Px%1tn%0#SNXs8wYEh}u zhR2E$Z%?ps|CNqursUVb@8M0FM)U=`-)emGdUE~m(?jy)wcmxdJZ)*+FQqsnHt3tT zYAqVr1h>AAy$m(O)3DhFa0IOFin^5ar~#1$!pJW8$QgG*mk6FnV6ZEiJMFI&&zrBN z>|>CeFy3=RBr&d=2X>Mqln){5iRHIo-VV=BjXmy{M76J|?{iwpdLB)8OCAM!IJ|t60KT*3QXPsN zUEDXpJ$TY+aL-6%!ys6t3v}mnGyCuB%cK7le-^tK4a-=dCQFIpd(>Ay-T}u;C}|8J z;j>MNz=dm?VT5m8Q!Jr#J6zqg{Gd;3?*Z`HK#{iAwcx|HJ|_p7#HB-oI?MPo;uw>G zYbnQJmD~WmOa0vjEI(f)_{7W&{$&2a+nsFq^k0!w_S8w^Ev5QkENb}%$EzRZPeR*l zxs5%*9xR*L4)fFK*V^+Lv>RCs{y9r#Wd15SOMjQSqT=6;R~#iK5p_NgIz}h4)z;&I zp!?u6At2HSL*rSr)kv>(UCGclc}A1ce!+1s^#8N~TW}18=uNIX-Jl$UzqTGGk$Ifw zzj6-U2~Rb0;UTSRQ&wYiT22d-$Hp(OeU@4!w+w{Q+AvEwDZfSuxuMfke^T;GeUX`K zRA8np!SLlLTj!V4kqU+#~ zS0UFtGG3hBR;4qaZ4{eDN5XA*q9vg#OTK|Z%W|9f1F!XL=L5fWr75n{JTEoQk%DGE zGITU=yF+s>N3GtbdVH6`8+pB&!E)$k`I3!+5BAkLgPF=e)q^>&vSE7jjqZJ4hpvJ7 zO%d_@9{&9-j&bbjFWg!BV%UZ$8ETmOL^N>b7+wB*I@G=N;s)lpobneQ9kgypNk0ra zJA?Bzm5*rX+ovLhbEGB&98%bRsDTn?9si4MX+uKF#7wiP!01hM(LD>qwW;B^vzm8evM^YYHkUP$|=*g#dqjb z63SA}&Frr|lrd}3!efK4bIt7-FLcprJ?-d&8`yr-k*mC9jc5Njkmf8aun@h2%jmJv zPm58S{(XJrNX9XE2|uQyXwrf);v5;|dRmh?GuotmH&5k)H8(*0{eoTvQp(rvtu7tbY~hO@Rhhmh z^J4zMSmHF)L7LjmxhU)0lXWUfCp=}!Gqh6hVcGg=&hc%{j*^?K_L)#AKdC9RANvW{ z78EBOy2m{-HCuf1x=$jcjBUnB2@^MlZN?{s5f-!OUt?VdH5&`ecCu~gf{Sr>0OkO% zhvvAi+KbqxXluKI6e|x<+*&Bm;t+yMX$urDr9iOY8r+>0cS><@aR~%>DQ>|bxCVC% z1pji*c+WRRe!+cb@3HorYhIJn0DDb};cf+~YWg^2|7ddRe$L_A2oA~CsH?PYxwDGr z7|E)e`nLtf%z$ZBr7e7QSGs8U`!cFO<-DTi5+AcvRqVk4$zi>o(!TC2bpV?X=-47x z^_#D>Gr;`W5Ac4;ohV67<^j{bn_q7R zN=9lRpUrO#`yv1OQKjAjNKE9T*OJKIhuJ&Dd$fFSvTzU5oWwbFwU_%owlnaTRTkA^ zb*gZA?zQ)DzeCfHoX{fg=19G4*^Bq-G{DQTSZa$FIvLN67j_2UxgwEi3eBBDCjITFof9ZCpR-)n`Lue>aiu~ zSFC=lZu-%1PA4q=lW8aiCw23X&NRR%pFTi1w^vllC^={P1@Bp^2fHYd`6$Tonx4^B zjEC~-PfOrhUwjc}ZEO5|q5Xl8iZhTSsQj)`sa&Mp;~v(AG6?fuyY(+_D+1m&&G)e1 zLuBhxZz^ylfx3K#*PBHiV%ZYQ?BLY#SfN|6zkvnNWUu>XGD{D!AAkR7GUOq)yl|kI z>bjp!GO*Vk)>w#$-PVtDtq^0lsJr4t%3bfB1ED+R!qq~$Ocal|fEAa2Zi;P*-RJP6 zY^u@o1>h^POAWlR;Z!J%$unN?^6UTV;Y;p!oWz0EsT=0oNe8H5$)r2%#G@-O4Sm#T*$88j_pO`df&W)V(#$S~cxaN9e(qfVS#$ zne-iC94}4Gbz0=S03;gt-PCAY58BXAoLt(Zmw0^hj+Fr^yfY|1y=20Y>>V5Fek(Nx zdt6ps-}k>&y(G|WE_0LYA~>4K&C-|W%DF6}q2!|4z?pwu;Br%C{cUIX_io^vfGvJh z_Urf~xUVH?NJFb?0lY=hxVqkqfv)0e2e`xkj&5VYQ;@$K`fb1M!`I2rFtL@jzmfgl z8J~tRaJ=;KEv=ku#`RH$WTG`))=7Bg%vLCTj9W$Pt&a>(Z-Kgwcr-JcQxlH)vy+-K zfsxEyGcesZI~km4zVX|h;#p{-j1%s(LNBdPwX|yP2o=#;I4?8h%jZNkFZ&W2c1X-x zKNBByVSn?EdkqC(fgFN!wbc3{U*S7OkFwI-&g)T1ocuX9>`^AsrToKs4$&07!XZ0*Wi}eR37w{{~_LmyQp_=;wo@M8$*+Xk?xN9@=*#uT zgJz6SoXO*R_*Kix&A*FLm+4@{vxxNaer|rCcv94FSOztuV?so(4cbsQe2wt8(Q<86 z7(=NkiT6_8-x-L~ZjJZP#vqaXt?MA>p;F4t35!ZtWLmnF3@maUdy##yF;DGJ~&F`rK7$HK##1V!its3)nRtlQDh&x=;LRSCDT9r+i1jV`usT) z()4-h@&$QiNM>-?F3^KMX@@MlY>|jc`qwzg;Le*SCV&{>Ii&~u5XS49QFKPRub*gH zk#Ylt?)w(Y3$A&OIGbmi$0QPIu#&4$5GLGiks;tZxdMjf$Z-WrwXXJZgFi{>u(QD1 z=4@Y8hSYiNoYqVzZSQIOua#@U?uG?pdY8w5T z)_bu@xva&jx^cY)o3?naBhrrl#v*@F-&L-@eEdc?2Fp50AGIR$)er6U!flzZBR{;B zc13C@o>o1#^+@BG^(`um&hK&`{MMT1{^Gy$XX{4{TK)^jZ@Ej}+D8nRlie^k$Y%TP zjQ^LwB3czzkCEJv)~C~>L3~+w3+kL@Jy{E_?Z6psfykLGuf6*R%Ax<8Fe+`kqfan3%A z^gNM~O^An&N@*m0>Ex8t&4i$)1y!EOzL@*r?1R(dF~J)E?_ZSd7Le@5BSRfb@bZtc zYNgv&)WS`g3F;ew;-XTn?@D`v=a}Y4cu+Ny@g~|xi6s@(KrNz1k#4leittG}_+&lI zd5B-~xOzDkgMto~RO$W@9o%swpPY3?U$%nZsxX_nNj*77kT`J9)N!;O8@$;4qooTp zKE`nc1Rrl4lqKSPWhnbb1oHK9`$CJrgJ){uC8;BCd(d@IaQ`wqNCZi;x>zM> z-1}jmxZ2KRy=e?r%UwRErFx^5sui@gb1|P;jzE20)O$m!?ft#xE9v4@gMmGw^$_P? zlM6Uhl2jAOUS@Txk@ufM&%0b>YPWFDkoaotzrmlLN~%|Ar~GMCHk6e|;m;%zTs0>c zhD-BmWW=!%Rc%^LiF|iu5N|Y0X=e_TfCbyZMwS*dn{F16;+pc*du48@1iEApcfHo5!!(YxmP9gXJ6$oq6Q4Qo zRgec0=p(@r$?r;;HGI%6O77UDtl>C{ z)AguY`krWmFPwCwSgbmlY)LJ(R9hL7)xICr4<=0n>bydx zz2>^y@qsCW4-p!^hr}?nI_3-Q5AVod1zJhvs#k2i-DzoOPS5|TD7e@r1{x`FvT-8s zwZW<8Syx{ixt*5DD$Sv?&|?r*HQi2E<5l&E4DgDe-C0nH2laJ}Rra#fOL+Ni^{vzE?n-EW0cu{|7z@4WOLAJ@cqwRtj4KEtEj*KsqeHL6yjcbOki zYKnj7reZv8E1kvF`9r-ss(cR^+44(Z(1wwB?RDEl%JR%+8XcYcaoB6bf$m;;3D0aD zfol?~_Bxm=%!J7KKB?(tufC?R&IJ6;DSczEL{!ZOSTaG#13Pzk#>G}e@>dQ~MI+b~ z?5>tN6(Xb!>(54)L$cmQ{-r_OtN6FJ5u9lAzjvsG==$}(>wGlk68!}qwA)(Ij}MIo zN4l4X^pjPrBxHIot(4RkljsgbR<>1 zIfEL*;sx!9hr>{l>bZG&j?AJ>lc2({%A|J!ep6YIZG&Ar7y<$?v)RFLv2U|{NWS6&( z2*ybwUUjF6hlp>;PNOE?AJnLfPdgkfV7~bO(*k4#Bq{nY;3TPDBMleA4Ib1bJWW%F+qBYEs{=NGGrS2jBrd0e=Bim8Y{vcK~!Uy(ydXZ z7r+l<0`YgC5^9f41j~JV#AQ*HIaikinh?>gBe?=dkOV)OJvWj8&%$LbSuh$xGF43L zkj<`8qt>h6;hw1-;BbK=4`{-g#g18}iX$Ebx37g_q_3W~dGzso+m8ivvDeCN zf9{!2kr!-IT30y=!M!-2pRTC2P|p~13;f)L?T8+aV9SBdOQw62%A+LTq(A44K6Jd* z+xxd*p_B-cWbVgd9$Kh$j^>_?v>CPO^UD2T)Mp5a?=JK=Hpwfx5vjbrQG7E|_j`i% zWp}0Qd3joTswI!f#oll&wl9AG@bW~MGRmA=P*5QUGhD+lR(G$}KO{7JsA)9{rV+nM z=0?@Z_ex#B7xm!kD>DDv3{0h7o~2)raB7J&ls#IiB71ks09;RDg8`qg;M`SWQ(RyagI?l(Uv?Vr^UZ#7Sq@eJDb@It-^km{d?VscP zhQ|AwWNt615eDGcdyd5+mEdq_EuehhBN61+oMrZVgr$CtqvYtAYk5n&gRi;bWIkb& z&+HRXGF$y>Nva{{w`C>OIKg)r(!HNMb;36R{FP&WQUdwoEtL&(cHb?K7|;lnj7sL zX>r=6DW&Pi>+$7TqjIl!jpxcMFR2s&U8@^$6HEtXt>D;byg6P<0@3(V&WcsNHz;?H z4#A(7=2d(+@#B%Ax|s-&uy7#i*g3~(72UsdlD!d37Jt{-!S+@@ug@%9u9C*L+q(IjEScMC>Ja2 zEY-SBCsx~$s*e^Q+p(TZ+>VgthaY;k`x1|x@&2-7_?P#d%we?Je^ce2t2vHI06y~| z1J(V5X*#LZ976a$_dw(^#RJ(!7wR|PWxP$vsRQ)?c_qrnmZ@b6;NT4g;?6p!eCoTx zZMKMnn>w(5Y{KQG8~Da2`DWoo!*TdI56#n5%DI0R$*<{_FDIyN;@^CbeOlXl)ECe#xppB4L@??Y37s6xQUh2ew`}`x7x?Fu`qm#y|Zm7#;n-R%rXo z!s3DOknQgMf&XK4`+t~h!Q-*iBZtrB*L*v|)@+HHy};^*jyGqCkt(bv?tDzryjjGf$9Tph`a^9IzObe#0~A zTI%ye%Jy0I^7EIyzbTh7AxGM(xs}bbJ_;3evn7fC7YwJIR@<+28yU7ULM$D?7l65w zQ@kd`=uRXN&OT5ivfGPj!*wuSJvIo7n)i(W;tGpnnQhLUqMgNVBrDjcliSnHsWO(9PdjN3t-NK#*w^M?e8 z5mf^W*^DDnp0G;5ij;WyK}7)p%yP5B;mtQKtjnG65K65;%K3NA#u5!NK;C%y0BBmXy0<(>a05K~qq~zx{2+NkHW7*-wvLfVc6) z@dyIs$;f1VK7#cr@99i%%`#|zad@dei(RD`T{o~uypmZBE0DF9g@rS>-P%9$Iz0qF z6fpVl2mUpf*z8m>MQDWa#-Ce<{pI9R`{_!q4(;Q=h5PNOkp?xfb5ta)X@O$SCX#u! z4u4BOx@K+GS@z8(IBwym>4avj`WjgHBN8vhOUv;`Lfy}tN7*GQRX;)Lt{&c6jn=vs zoW9fY4L-4VvS|Cvqv*7Psn(d^1Ry|_79Vu4I^bgtA&ou;)*qLW2KLoa>UoTx1_dIf znZdHM=AAW-va>uf(u=fRr+<|JtRNJ*dJO(i=SCmUZQ3x^QnQ_~MDyJx|BLYpPL;4M z`J0>^NFJc00D7gN#mPv>>H31iLC{3;r4Q%e6mprr7#wM^~d}h z38<>NDgMf#;i7D>#ocm(2miB#v zZMMr81i&i6ZNoe8tOj!X83brRf7MIZXp!0^PEfdx+uCI$4d0+@RFA{FjK|V_Z4BA$ z!F11Y?wCLCA<_?s5JDpDTKD^|t2H2_>7M4a^;@leE4TH2v!u(0L^~T|xdG*5n)5g` zH7a1{ji;1G97Y75{@ZWz-?P6=ZE$*9Qcow_PZO7l87@w#QcY8;`;LlVX1&kxwP5A` z-Q%=4lu*6$3*my|%|5YMOKR2PDtzC>G^yXsIQy`E1%AM%K^q5~_)GK6y2%`_Uf0C9 zU1HN&TwApZ*VgrNr^P)y+i?U&6F_?!Y$Z?lbq%&Tzu?FtQk|xE4Tk&QegmtEUxml@2Xw{mSg%>$qw`Uj0|^F7F*m$P<`2!aFBl{`Of0r>#5vtHvk>%D-EjXLa3V$Ff&g!`<3sXMNIOxv8dkhmsadH^Jk5Y2uW?Yh&HHDWE}YCiFQDBBqD`-S3lRbu3-w(<o_S|w?0L3}KP@PITTr)QZ)W=9WOVFm^=FZMv*FExj1 zf!9@DNlGsJ+rN5gV3!lx1nRefF(^?s$@4iOB*PZeigi->8KnfgIGJ*#S+-v;dW0&n zCMS6oT|QdU%mi?MU>D)LVrS;qd+VCm&DaQmF!AfIK&Dph{jIe7+33SwXnNXdSL|b$ly?!m zzWLd`wNTsPkW>sB(e8YA2M5G$88eObiHt~bMcMf<>CN(wz9#2X`u!#f9^(~FBa?}B z5QJ=fxs&E(H*Np#1=6s8&ARDPv4y6eBZa2Y+@^elsj^w~WR2f@O55hFd?M&F4Vva! zJ`**5WaB{VG9#ZUK^zqlDsZH@qvuyJ!z3D7!3}yz7jya(D~tL#W;|N!9Ri{?lU=*G z8YD5Av{Bu_+5N43u0I3BqezZ|7G0mLwxN6*zAUG`U0`e)vm`C-6n(8E7e3m!@I*t)^dqGq zEe1Aoxo?z5W=|6Mm_&Nr32Un5Fux16tJ7>@MQwsDOl?6nz`XQ*?%V&@-_6uG_%mCd6id=X25moi?P=WIo?7L@!o9S$y zq6LYVmu<-a+-E+k9!HHN@g?Z_aiXzp`X$T$Q}gc0Pp}TYVY|{4I_HLv)|cD0=rvpM zHgIf-y=Kbpd}S#Os_N#*+O&X+Ic`~d4xw)fkHZ;Q0LSAASBJ*}X{xzNijK_ldBkd{ zn{&bHh4zYcA(C$P>w8!OQ8e;`(kytXjb+N1u*9-{(j4Xl(l!&@?idw#2zt!8pwuFJ>1=F#Zzm}(CBDD zO5eT}=Acz_lG(8ik_|1&w&w^!fA z)z&z4M0-?YJ&HJ(uE_~s?~BB*CZcFw#};qB_~~lr18v*9{jk<>E;|(CbI=3|1e`o= z2-sY`Bzp_o{>8|NxeOV5Xdd^q`AiXj$Y17YUECqQtx!A%5tYWdlUBNZDfw+?kPX~5 zEnXSqn0_0Il_dXvT0sAWq&`pKoEn7gU>2CFJv;3K|C6EJ_?JCfc4nRDIpJ@~CtC*} z?3~9`-m$)rpnn1nRyI`E_l}D$i!?du`8^|4eXpMz#JT})ti^4?Kg4Z61?s!jcYa6& zdq<}40!vh&+Azk*QEJBBjl!v{w8a#RV@(DLM42EWP?$Xro25xnSZ5U2{2&H*S0iQ^ z!U`kesT+DAOXG>jdq#%bWM!~{7JJU0Opc-jP#uc-sx1$F>l(W*9OH)>|GU)n>`LG(5vQgsrq_Vh@OqX(Gus~ zJQhvIy^FB&8h0lS-jS5lF&flu*YvDc;|JP4UOBl-{`6SR)O>P%)7$55b=s-jY^nds zUuX(kb}a%gcc4bB7!6=t7W?FFjuli80(J&}p-xM5<5^m>0jf542m zG{BeFDHsgR%s|(Ky0rT)3TU-2f8EmH%4Mmc(NnH8H&h{moWUHYxY;NPZ`b$4Esn@( zYriGj89szvO_FL5be?k;t1*x`PX4K2hy}=(OXcb=gd3 z31r9IQbU1kSN3uIjB7cmcO22DZ zNKH`UWwVH^X7#28dETeAB)KT|cjIocnDSZwZ zu$k_UePC04i@opSNCX+yF|jw446hNE4e0xk|5Z1om9#fhPbJ>n-qW$FfBz?s`trg% zt2Ptn!yIQrajF(E(pM0l+m&lapX*Sq`S6xj?!wolS2LFzj$z=OHKBMCs#rj<0PHvL_odx&8hw40dn5 zJF~Gwt6W{}$BpAfPF`YG%YIjt5l+T&7PAH+c248lqIYQ*otcmyN_JOMjj^g3rZV|h z+@YZlc*Ef3bJ(R3ZF>G`Cw`Fd`_mV41E7{5PX51S2_B@=S~kf%*D+#smBY4{96UTg32)cVe$&Ub~AzU(QAUZ6&Fx=lUsYIX)p-WRmK^6 zEkMXo)1F^4cQ)p4#_pL+bZ*0n@AKx0hLBp7(bKJXXG<24;`;x8@S_wW%FC^rJp)WI z+%`DIL!;0&G(U-iVMWr<{wf?5W7s7YU}r7t(_rLFqO++vvwfQ~Oz^Jr5UfE4{oa0} z<~`q4UCZ#42XQ3xWqQH6qn_10))d#fR{wOV{qmC_2$0OE<^3O_!F`woO(Yv^X2Ux0 zS!;iCmdqk22Oq%ayyYY>Oxfzgivq)_3f6%1br!ay$2~(ys@h7`qT@JJ#5v3I;{(QHXYmC0SLG0i6YY5-J zuX+eh&)Dc3Liwh=7IldgeH=cIB78LBZis z^%W~=A;LK~Y@HR+N3*`G<#7lRjc*MH#Pc!(P9>(7;|kj`3n6Yd;hX&G4OOe9ACrjw z!6yccloEca1ZXUgG|xzAw~Sy}l#M1}EbDyi_S^02>(mqdK+}1qEx;7TQ8ijzqOnP( zf%Bd`+f#PkgYQ|vA|hAO#@N}_&h-MgEVACg!vLnYZMmlEflCs|J8b^k)H-PMhV?A* z1DyYUFUF|*y<_aZmyzPz&077voB!@k1SSB;l$CX|CwR*s)(Awis46x$BDl;sz0 zq?RSoeSwrj0RpQ}&!)_(obs#%lgb>jyDTfgbhU2UQ3GaGwpSvDsW5}Fq%=V_T_xuH z4&HJhtXV5)b_+Ou2D5o5u2Z?#y)G)XdJy}PHH4`q=a9v+L=)@)!LJ6DUTpX@Y{<{# zr|}R9y9Q0H2b&F4q)WF{n@0^vB9Y70(yO|p` zTe%!c!GWUmNv2blSAK87=5D4E7DU#a9YC#2bk8fDK)hHz9Yy_}t~hQ63BR+=u=ab4 z_W8Q`xNq?E-&eibp0~{%%LI z8Bl(KDa6~al)@ah#g1y|Ij1)M-`Ss-9_C(>^wC7?a=7NcvqfVc>hK~Z;n;$9fB=xX zN^dk}tzNkbeVr_4M6w>QsXbZGgem+Na3UMC{O0LPH;uPNM1j$TH+147?dX8rT0Y0H za!eNV+a|Ooa$%-R@sChe=--QzV`bMaVoB8cnp|OhJ*#H!Op>5FscvO)Jz^j!N9LDa zf(`47z%xi%4B^OIJM)*IWzxp;#Lqsp0YCTQK3P3TJ2iu~S?ObD+}q#&bC!+` zyoH7K;=nT={|NO8ue95-q;juPMqQtFZ^misyx!934N0>diQA!@FA+7+x+ht;5EIr>gHzP1OQseYYiRpe((Dy{BFk<}O9Vz&@%?_Ddu zq>zOCz^g4R{R}0|<9O7w#O&mkI$9Lh_@q%&#?ll5Q$&AxX_ z01K#$h7i7NuE7m0Cg%1qt{QI93CLww?s0Vb;9AvQ53#_*g8nw-2fh&NoF^lYi!8# z(!*;h$MHuPtOe8yDckq>qeF3Fw+X3hJncJ{#yq*=w)d9R3fTku_WHm7{Z=Rxp?Whq z9<16~%0NdVJuL8vI8ez8PX|W<%9bGabqPz&@!$|FUtsJZXv&!TLtmon@3+{>m9L{CJgU{AjGYM@#IjJ>C%+@sFpR?Uk%5}Rz2ebk(^5JJk}&pm6}P_tzI62 zt_Lypgk=tFFS%w8J}~ql`gssQpyYSdLH_iUqNeA%=yL{sqxVtHrr4Q0VcZIokRo2j z3T;;F$m#NPX+dixJ!vk6T)&VcA8&Tv@DDS5|BN&7INvurV>wOzyc{j_S^ZSLSM-4_ zSS``Q=<<^}IMA@98cbH7`qg>niaKiG@PV?h^=94ia&$A%g=Yc>grL5anfDjXHB;Wl z+9`=Sv|`|)=;O7I_Opa+6FHt)JU~fQ?OIR>>q}a2*>4v`x8UzT!IpYW}>1grkTQb?kwzsMDhxCCpK z!sYh+-6GzKnp!MM8parwVxQ@cyv)|&OO)S1!%g<63?hSNv%M4RmBZX4EAT7eWb@vJ ztlUwsZl&E@hJLSx>si>Zd@$p+s5<4_d(wA_spO3%)A4(Xc~I!y+X?a=r>Ni5u6ucRXhs{b36gkouJN;JzSO2=Tu7x8B8m{BmUwf{F! zOCA145^@4=%2xC`PeV_0*G&bCPMNt_aV<4SN%goX^Zrsb@T@&5rk3+XyfJ1)I9}ne zL&dLfeEM*#4~WfGnMS(tL&}^rxumauHx~Vbw)L)8hNJcb9JeK!w?yXq9q*&3_4Wy) zkM~35Tzt+qzx_lhrN2Juuq>DXs1(ICQd{Ds4nHdid=PZj0cb9%B}hVudNqoWk-}lo z&^=+Qa1oSh-6#c$tM_{li@w8tjh4*H{eGp2l=^S${X9XaWty5wA*4sA++WL!D}OL1_{W^&+;_Pmbh!^i!(?s-66M?~vS zIjUQxVO=4?N=Yi@PoSJdh10hXvq%n`kEMoO-OfqIW3UnsPT6vPjvvN8HR>f=zmSGzhf{_ zk%-uj6S5i6h|GU=bdwYLbZ@;gEHyVduSO#EV#Fqyudljeq~pfDQ5D~C$V$F;F7>h~Tc{>GZsbI}6h zuG3ZZ>eG#618#9GILP=aZY3>o#X_ga>#OFG{*{eG#PSf45cvKepD})B%4)r^IFXj8 zHvuvMF3f_IDUzAUi(lPs*0N_Y^tmpS7}%?&K`lQ1vf^a?Zmw+=IrxIgqzfJeCk)kN z1;rQL^OG)a>1gl*Fa*OYRX{l<%6*AN!_7H0+THHC2QLS?*4=XUwZa{GJNmVeIjh*B z$Jg6#tA=l$b)0VjhwY>J5!WOXMG*+d_3L+)^#~1(@i8-B|pe|VqFcgEn)JBV*zhX+qmwcvml55=hruJ8S%)(n$WAQnFi1IO5lqqhHa zxkP+-yiU4Ih3QPuTAH1J>Xp^P?4~uT zoo$o{vQ>~}u*YdK=T3#x?41#|?w_a3`hz~9W zLCG{zC%dcCGB-4xRRCWEOKX*AjBlE80HBD8FUKfqGpJE&wU1WlyGPE; zlhgf$jS^*RyC4k7wH+0$7r&5~y^vH|(fD#hl(8t#h(e2}`auw|XNJjZre`dp>mVrl zUUVDcW>PzUXDiT4(ued0{gB~%|GOl2p-REuF zf9a#@Z!KQxmSM&y{h@VN>7PJw5ix^=9;-+NkJ+h%O7T{d2N%QbH?wtL=F|b>Iz88Y z_xudamM1p{hqauZ7WxL=q>Qr@bM_si^P?Uk8^Km$+#206~UNm`~zO)B~d`5u+AbA0e{zFGv$XSUE)ebJY|d^t*@sB87~>J?{(UYI?mJxR{ij zkFZR!AiSR|Psl63R)*}PlALwJPnv$C%^r=ltxE6;l-&ZEixNDWZ6Ll=vm z=U)9eo8Q4mcOZsjry1GG-j04Vve?k_@~hmskFyJV!%9i)RDF0Y4yt>ny4Ha8d(bVqWg3kQgvs9WO4XzMz1|1rh# zHZ>LgQFDRE8_|D36d3zNj;Lr;OIb!zjX+$FRa7vYI5+A6^{dtPSMDEBgGoR_;Hs!4 zE{W||B0Zw1a4G)tJ<0xsM;2G>vgub*lv2QMizWsISCb6`?vKj>J>HK{YWsO~k5&Z* z1o%;R^{5fegcI9O1qT}Ji-)%>(8i^5R?5i+z-pIAmHz2D#wun19ck9dA3h&b0K6uf z52$&Df@UR_=J#KHWoZam$Tbcbw(0cr=+EuL-p?KbKi*dVt~Z2r?bbppuw;FSwoH3P z1sM;>fl+C&illH=9>l8*KZj#WLAPTNvQF zRLiq1V6t?wnd~vb-nYI)(J0JW`dxB_&A+7*BQD>4`Gf5-Dh`^Yg%UjvhIy>valDk> zJk1u`rjd0=V7BIied8h$_3iA<_XIYrFS?|Vu4ZeW>{T+C(@xjdP`!y{A2=zUFacQR z)YAeRo8A|@4X_c_G|Fql1X`b5IYy5;WT=WNLrr{!suAA z&)!Wvf~%!@oHtbumwZ(cTcG14thuMB^>6fq;-_xLZgL&Z&pF})`b=C#S0iAbWPCh> z_|>o5&cB9ourGmLsT--vnV$Xl`V}{I?-nm$&rCYb`oUKTjDYu&7t;{o^DVn`#j(%1 z{N*chFN&@-l)#hkoPmQoe^vS2_8#P!jKm9Tu_H~irMIJ-Lu?6?23R(43hbsFVU}CK z=XNSzTMRidUfuQ3X|4hK;DJWyz0cK(vf0&2&CJI;xOf(_>o!CWn2-BRKnMQ{c}Tkg_jcQHxKL6P(5>w{ZCN4 z@7t1kx+5&#xO$i7@p|Q;m#1qU_ysO^+QN$-&U*DR&(~PjI$jJ-PgoU!);Qi=^LANp z8yi+qEm(xC%!)hO{^)g3YVyE)es0oxMivP~0)%E4R}l>e6rIJuJPgnVJ-@lB$-5#1 z=!*Wd?F);9F;r^0zpi9boAL{0V)`T_@^zF$Vf|^HE9*z!?uL|(#!e;);KLmurQ+dA zWQncP)%Ga)40dp_SlRi~Y)#{^yw4!#?dx{$KgG^}X^DG`QXGy7i?i=MM(yn`f@9M% zL&;Q^)ZKfJOvJ%=y|ZI}X(F|O(LfW=%DTrO*~8H4muMrwO9HB>aVOi)Qnwj5#R7<^ zLy=jKcP}{MPR=}b0F^z$+Uf1?;3_SMh$`&AGrYD{Y|tCerRDM5!o3Zlg32zeybu&t zTDqXMfkrD~V#z9{w9c$af1FlN|E1mPC>v_*J>%}saeHy16M@51%q{4To%(Ickp>mf z%VWHyx^McmuaDNEgl=9qWRYa~B%=TAP}KI1(SAzAedKGchsKIW0^labtS55_`^k7? zRZ(MqDRpkmpt=2cRLk5Gjv4SsI=}_8GUP z_3Hi2PY8Eg#SkE=Yp;~GZEGUId7Qn&$+%Or&p}lRqpj0Kdt|%ze7%ZnZSdt@zqzJv zySx~&q#!C}v}?JJJyC}p37o6*2-XuTcM28i(TAZkwxFI)y$H)Kl+*fQXabe)Vq{Fl zg+q|*^DE_e-f+uC-|s+hXFTU)We`sd2G6Va!^NP6%Y$A`^s5Y* zhK1gA>5HbHrAObF6U!oATz)r#!fwehYl<@t-x;5@c~0YX=yBKik$ibT*uzIhjpvsc zN?1kjojR|SF*Q6bnC)V(m}T!kcf1C)@{?7NuI>*R6*6w(gKJO6(i_!6f*I!L<=-fy z8@9q(qG~$|{nx{jmmwIq*>K3F*0(apRy`*ZR-FCp$_%$Ng4soxUiHJ-ve3 zN}9e-DzCVUkZ3<)e!OpQdbpRB!C=lxQdf=6tUXPp0Jb_RkH(STOIruZ?wm4Z`#EhM zJ4oAfZZNPkcWc#XP$syHbvdJh4St^48oeEob+;I`tIL)ALCaN!ArkMSvxR=<_@ais zvPDyl83LDtIM4t}+Jn6<#(yfGk@_bKBW=YiIgbM090c#r5fRLQnPiY0#2r49-^-7P zSBHV)hBLp}2x(tY>IFP$qhly31Xbl$6ex}8wa~M*j=m|*bn^a>r|%7hQ?U8`A_9fU z@?k!H(^~v4dI=P1k05-n`ykWX4eVslVza4~na|lLUSz4VIyA4oMz4i({tUm;>p5m#a z!(A|#M*)MpIzb~(>sIa^3{S}$zwIVeDq0G)AZ3?^TmNIYTLa#?5sQBP zZbqZpj5d0l)b0J9B}ul1qbVWeGsZ!OtcK>Oe`1GbP>q8C2?fKH(!$2VEE{@9dBO#S z#W9pJ!#BM0J=C$)#*#W$TicJKNzMeGs4+;VJTVaVso>-9w>0{LuMro;g_3}^>!N4r zj_rySoXPg?a`GC=dmQx<5y>D&Uz%{>HQ(isQjUCB?3g`UZn0PPPg_fColrgwAN%4Y z=CMz_x=l~t%nIx*!ver=FX;g-Cshq{`jPTICIvlS&hz1;bayYOtsHKf+)2Mdxj+_b zJnnv0agl>K%mlR|4$5;_2Bw}bXOEfoZhysvcaW2Z1H6C!lUPfkMA)q6;08QP#L_MF4L%E%iO$i*;H2wDzp7Z)uA zsf+Qg7?ZWlZn#TTA=a$Zq)fiNuYX>Smn$1D;;nqQv5_sCe$)BKJ#bg3X`Q7u{w?1t zMy$WeI!azwKmos=lZpfG`b<~*iJRvJ%5!>|_#a1=U+p3g z)2;Y*^`?s(QK7IyEibD*duc3T4is4rP}a2l{Hm7cNNr`HR;RG6BI9PQ`!~lH1J#nO zpYv+w6WH$p!qvT;laNdhhu&XiwS*xDbkoWUA)?vaE>#Ar1}#s4wK0hC!H>UngjHUv z`ww%kIglK2YrHc>WCZZA55E7W1*DhIB;s`KSLeNtcEvS#B>%Mpllnf)qDi}fG)sBg zbqBANlyL+>% zim8XGBZ1CG0Facq%K25~O>**J4wE+LzeCEt4Aw#-zdcqVPvjL`6gZ!nJ=<~zV8B2h zG)u$#SQ(`59&p18XR(CI^6QKx^ z;tJ0-tW0ej6BbY{QNd;$?Ordz71?s}L>;qi2qYp8EuaQ^D9LqS3fID7zFt6A^?c_{ zL4`E$7yhSOC!GE&x$I(b2Rf{@ zh#hZ+1uwPM|1A^vmho>3@n@1~UP&U%kiU9D>XQk9<97UCHg+o$efm*Z!UpvT=n=4=bb@^=mdxSx&c zAPbetT;t;bh}cxJA;>x(a$vu2k0rdC~D_6hSJg6*8J0op-zchq8SqDhg=U755+B z7jdEwTBfX$Ia;90mYh(S6*WCS8Bsx>jw5W(&2*VnCvL7(Tz@uyU5LP2tNbqA=DU@6 zXu9PYCN3CRnw4eJ)0~>2bKTKvETRkzAGYfCBJwF{Fi^W++fQRF4o%ndY&7f-R8$pK z*GX>>Z)(cIM?91O=-t3wX*7>osjilV_C}lY{t94uWmp`qY|~g;a%e^Fwh8W}(5eYj zSsuviT@CyGF?I>g4Hfm2@G{c2nDGkc()@blB$M57JjAhsoKk>CDLL)k)X+Bme{{WN zRFwZ0?oA2O-QB6gFmy^IA)V4abT>%H&{9JwAe{n|Lw6%EgCHFe(hUMv*eP}HzL@;>jBjxa8tLk8sGO}D)(|LG7ymk5a1YHfDf+jUWhZ{M^)tcb&d&BFqiN9J44-@V-^VmV0R4h33+J1|KlVesioSn$R8F}r z_lDW*B@DwLK;k0*w#ov-DTMZDt;>+ODF1vZD4<32xw6PmdYQdYYI~~3J_D|~R=7ME zXkFX=1#=qZRe3IaVV|9y4!|zmXqX`_+W61^Jjd9@3JA#$z0(ZvDVJ>7>wYwmPM8VB z`hLzCUiCq`efMd$>NdBr>_feNUYiK{Yg$Bn`#aarqMFfvx3de;Rev`=^a|J~KgAd# zXgVGI4D&r>WwujnsJvQI~>@ZwTfsS!?Jb9|bn%=X8I zck-6299N#UECNQVvh+9k_>*JV>*|aBG|>39qW2FF)95`X^Cr@Ub_#AfT6@MrBZ|7| zudRypEjz9j&Y@j*3u7s?!N*^Hf2AdKNXzArA4R$hQQhTpCv8};E*|1Tj-2djkLbKh zry(08l)03PO&nx$hetlFH8lLi5b3+5dPNnk4)Sjo%TsI0W}Uf;Fvq>&Ji;Sj<9%PC zb-;NJ;vQ9_=7e&hz|JfW(Y#at-@|?X1ZdW|((*X>rRUEv(h9N7M=EQMEn4u`M$GjY zZg?x>CkP(tQtR&;yUrZw4``EJ|M@*X;NPpmOL})AmvJ>d;EP8En%;4kYrUQ34+w-& zTmE4~mQ4ma69SU2&N|ni<%-Z{W+@BZT4CNbYJ(-N3f`2R{@2V5<0DkW;A}eQxj<|C zcLM4dYaeiSo{F?%Eb52fIh#3Ku%`esiwi&uc%A#PiNFf_@n!)oxfyI);GT@b(Ws7$ zr&GA3fkvhLPYz_4y8NUzyIAbH4R65%UJE2$72e;HU(H41#`_EHV}$wS60mHXpTO+L=7E zP9l|_x!t3IeUZGYc1o{Pspl!mjpi*5`0?+a(q=vW{S}|cUSyY?xCR1qtS*`EMjGG~ z=pu%rU*7E>9X^IE>5&WB9Lb{(N&y)BI|MlwVZLNs+?&5x`mFM3-e3lKH7$7R!C=v~ z{zu@(cqQRbI1QDkG3>Ga@b!(lyup3!`qM0=z9UxgS@0!Fzn*7`_>0~e9ppOjjgcUY z_Ove>BS=nikLS&VoL!X*kwdVTE=O5QL;~`MkTS3uU3OGPgJO-#8`+uHmxYdhiZSlv zj02f3#+@m_<88{zsCbwl&4YJNSZez3BBQKO;*cj7%@$VDukf8om*&Cd!Gm5B8N=S3 zRf2DchAJB7j{%P>vEy6g`g*e+&u1zTY#&>`yhZ7bIALGtmsRy0@u*ybh3GkCR5N{^ z>sV%X@~_3rGXi-;9oPG|usv~2k6y26^zhl)eftQ$&h<1_&~YHpYB#hNTtt8>zwONO z$HVe1x|+pYJo=GR>Z=XPWv4|`N8OcaB#wR$?2(LutkB+>YKmgw)_9p`NC}csJ1AMy zd3!F9!m8(a*Sy}kNNeqlETCnQ$0$9P6wTZ{nLnx0LZuQTJX-X4*nThFH7qAA{oCm9 zaUU)O`$^O0xF52;TsZ;n&!a2n-AWdRcm7ru{3Z^{+L|^#ThJ?PlaPF$Smf`$J%!kd z(!4n|BU5rWQ`$WUcv!`+4PLG0(&uP*78VdHj~^*K-vUKO`z$Jbk#u4cHjCFkmpihY za$%nNy@>>BiJzeF=Y6_MaC>VN3|6^Q>v~s1YDl#@ zR17r7vIsJN>2{Z&oMa(i`Q7BSt&6L%B$GD*X|-4EUG=C*Yq;z>_sJeTG85k+BD{Hg zjpWmUI_I`(kHzilAuZ7Bh*YCu+H#jLV=IC-DbCFMl|C!SD9Al*8mcr$rmy$1AEy2OH;ow7_UTS&flElJm>t1SHczx{it>*yPCECQf=z@X?*r+5Z!s_ zOZZD?&c3DSkN1$>Upv!%^*@JxtdujFQ@oUQe}ksGo!z?CKGB8z;b}<}t&M1r*jBjp z>O?WU?t=#}sJR9^8ghj?tp66jP+O>PdXCcn{85*uI#JLPEc{VD3D^dx!w!g*24-~) z9%|}XfM2?vQqL4P#|tHo{@zex5BIM>yu5JyEA|c8SZ47LMV>r~{2)O#k_w=C8631v zILpbP)J&*-aKwP;DbweV2qTScN-Sx`FgY=BO27X|%;HlcXoPu}fP3788lPng;WJyy z;~4zBt@eYW)Kn!*q+|&t{g2J*By;>i^XF?y%I>&O8Jmkuy5!HVyb%MdDQuQ@naFZB z3I>>VLjxvSwO^fg6!$v2kg~wTmsoSt!NLJC5BV78bI#rq8e}-xPJ|_Vtg;|<>xZ)~ zli9rI5l&N6|L9dm{e>ycZwrQ|W^#s~-*~X!TP?t&Z{N`+x3D~XA0oADL~jN96yY-s z<=BcVNd&2xRYCFx<4FlR&94dPKRcGyk#kik(a7}~VvZgFH$=-%^N+v5uSBq%Hv?4t z_Eh*xINNG>SVG|lngY)!?nU>zgpZSi@W#SI)APG@sS7FY4BnSf9sSnn{N;{Uno~-R zL#}~4)n;aRZp&*c8$ycPg{0DVTcg=8x*AhE=S8jbMAAazRjt>CPnc6SX|JThDyQfK z0wr_sl*GG#;lmbf)+h08*rBQ#hZ%Q4VaKtAQc0bu`1r#4OOXj9X3cX0`C`lnwQ!T7 z1SElwvNO9KQ5}LayB$a^7L`(v$epgJbX7N=n2baMhLgrnjWBbDRO! z_~wck^*G9C`5hBkkho!BJB>+4l6&>Nmfot^7jrcMY{6K?#?N+3z6kkJqHJmxfm2%{ z_ZMntRysD{w0HFO$DA~pyDH&f1y;f%HHv1A143jR3}=d2yfx*>gt#381{!n9t%FSv zakA=yRTS`tMy+HQJs~Af*eA7aTB^_v^ zS;nGuVFu`*Nsq@r%qfIXGqyqjoui1x+Fc^Vr_kn#{ViUfd+%BkQRDf}wvV@sRtdt( z^5|0Q-eDx{`@NGk?*MzWpJ%2sVs`R_Ll~xi=Lv`j6QVp0Lg41gW0#40$S0uoGh)C~ zj|^g=|r3U*J6P+J~W?zBdv9Fb*Sf;dI*v0ZNTT;0;E6J+BZE2Wg8K3*m%Q6LzOhp?O z{h^V*vj)#$(e)2N1c36GL3wVOhh`p>YOjc3I+Tgf~2vy>*cEjkS8G}pv%r<)uc}#;Bn_CB-`X*)cd8A zIhGaJDD^dqomiFzFt`WqQyWBccSXZ`I9lE)k*9?{fD>)Bs*wv=^Zf63`wJf}wH)5j zgYqeyKz-K<5c(#4KrF%8D1=f+$FpD6Hh3D=lGLIho0i6#AkQ( z|IGsM1*EA%ZV0^+co$@9`_HXF|Ft8_?vdA!f4@fVbcB}A=LaDFf4~Q7>4o37Obyds zzkf>?inXhe0gn+!NE+#{`K1wB5rA}l2Y_rs{h7H)8d{9d>r;PP^kw`y9}ZN%Pc`W6 z$8cLk6eka3)H4`JKOvs40y#xZ131s_lh3^5s-*=|{R3vI%4dnBKZ8uH4zdA^7K*wh z9tI@j9K2+9*Kcttq57pL?T8$Ai>jX1Zdx)|*ec?lq#3ShOBQhLwnG&tjXXk>v4MjV z(T*Oo6Zo#$U%z3txkols^I*{cCR_0v0-(+d%CIriQ^)?eZd6=J`qk*aZr>y=+fEe7 zq=7aGC$>w;X7Cfze1UdGaw(d>^i(4A57^!_+0XW>HLKdohAGgi08-oZdMc=5cbz(z zP~W(&*1|z8Wav5uONqu*O`;E&OGu&lW zQ*B!HgOg&}@&!Q;Dh`8ZVUIJRz|amU**BCr{A|MiU*p~=WcZTikx=k`*swm=Kd^mX z@dZIkS{&EZJa@cUc4yDZyDO2}V=sSp+>1plHLOH0-JYY^L{%CQB2%IByUki^4T-L2 zuo81UWl?~rx>g{>|Felr3|0me_c$H%-szXWN_Cs#~=CtVY< z6f`Bt({c%U0tCAAzq@U}!!?Z3S{Nm<4m3^Uc1ukDC~gFAHcM0!next!Eqr`SSIzQ% zBzJ*uamRT#F_PC@?Fzv<#s!TT2zH~8S*wkSiL*4l{--ABV(HO}Kn z9S77K|HC$jH=a9Y%$o@NIt}h!Lm+^x`Iz~Xv6KQItALP@&bbZ2^-@TZkfsH4-MTW% z!bZQaY(Tbc$vkhBv;d|r{h8<@q`Fn^lX&NiHW81wiA0p@IkKE3A6fZj#RFe#A!Sew z3x@{baLqgieiqbiQbvoV(8wxSOI3fyux09&3P|u+PROy>-BLEX-{z8ZXv&wX(#nAy z;}hzC2)LKoBM{N=L1S=-3{I%gqwzkbogj2;cTEGv7~9+!Muj5tlDGV0X!emM_zX0z z^qLmVsdTyjr6r`vCGze>HuZi>gCY1= zH$(3yfw2X>ZddZ-!|MT%7qhNb%-dnBB)y)1OK!bsi7)%cOn*hml7|fNul-Ez^|X5k z3I4l_Ff=i&pe(dosfd2B>rPegb4+_4d3_1U$|XDGtB#Uu;@5Y(2*f5-JU`3 zdO=)0x6_hA4!T&5PiomLi~WCx9(0XihYid~Uq%d+1`wiy{iG3akx+|f{j?ageST+h z3>Q}P-|*mgXK?uz(U1C2sIIdd^@00mfn)d6y$TCI>lh|zl-+0-nmNBVl8r1qZPX0t zsUH~TkWLh#yH)CDHWtx;8g_Y&lzT_c$f8qqh!m*XaLa?2F6d_J&vyhdFn?00*o180 zsv`rq*z9u~>Awf|Z1|UMF{{F`t;)K{K)SR!x)lI}VF6L%E%^<)n|ebea*$1NZ>d1j z5Cr_?B-z6s9e|&k}ulc_W&RRT^NTRr_UWHnlBR-`ah-<|s0G z;vRgx)4A<*wCh6oF3!Q|{hYZ-Y5{iob;-NecDkk$3D`=fu@Zv)$3s6{m?l_vpr@py z=Ba7{onwRod7B%PWbLsW#F>idUu};?_;N|B(fR|RZy3zJG?B`zX)!`J+<>e*Vij*g!H_KMRm7FeDPNX8(J>9(xyRJTG zH{TVO7QRMTU-W;4cu$6teYmW>hL;CDt<;@0q|cSirW_Az76DDK97_xB&0H1Ffg3#f;_=N{pTa<2K5*hBoX|8jG?Jt3`K`E~Xe zn&G@*Lp!d`%0in;Kt(n_+BM7c08?dTyIR3-#}fK!p^eE`lk;R;&cqj)Vx#0qDxQ-M z<2G+;&OBvIHvD@ANaK`4T^vOScp2kr5_*-|bU!yUIDTAtB9vi6VLT8+CvZb11Dz>M zcc_U()i@xPsc-lQ?7jQ=>GelDSdqITaggawQ*!E9EZ(D9LWM<0<2!BSiD>9Fvr&Be zk8gtNrxxWFEN0Om*(h1L6!ZC~*f#Rh8WqA-140!o#)-*^+|vp{j=rZk2c&gvPULk- zL7FRB>WAO5a}U0nrG-wm0sG8CTt#lHr1r9mzFUaL^HcJDTeaWn&_Oep@8mURiw9yl zg$45)4EBnRplz3=BqS0Q^U{Oc&Aw#lroZR!rjh((BLwNGt5*ae?!t!#lCn)W<+VO0 z0fF0*mI#{^iS0hv=k_mG%;9f6Ek^2a4JGku z+5D2u$tCVV$dgCh2GDn-@dPFzmwEW;d_li4VYn@1ZDhIucrKJK)9rq8@(Cl2XaBZs?nm$F=lLaPF}Dc{p(DT_W(eSjU8Jr z{_A{{d@x+6W0AdSNjbDJ0Il%}xe?ll8I`&zsd8}Cp4NgWNYFinQo_E%dF7J zCAn3+!d@Hg=wA-s08MF*Qv-6izsGdoHnU(<^hlH=`9qvOt%$hrYOmM<8@$p297|=58?&s|sA#HF^Oe7CybHsd&b zS#dH_J$z{)JAOTQ4*glW^jI_BWg`7jis$mTu&!Q{EJR2~mE=_fS!JqRF|7ddI2o;F zhVN3t+I?b%|Zh1hhQDqmTRhu0svP{;-E{ck|NMmcd(4Y8Ddyl;}PoK3MRju4%?(1KtW;MW?#8Om`4mVTe>& zO~pnpw0Dz;@n?9kM)4QL4)#W8nWXNwoWscRhb^RCmHe7l_@M7PAE&njj@cYNQI zbNX6~t@=xT?u2{*yHxN2CLR9Tatz6lr{(5!k@@s~P8qF;d}6Rx7gX3(R~x|_2u7oK z*p%%*QgXHl^-ly+uy}S%%I8MqBS&$pev!l(wXx%qUmC#;yj!-;HF`H=km@*zf-W}T zK0Z3RU526t{qD=c?d=JQbffK7ZgSyaC{L>koEbqdZzaD{CfU5#4nLwjK`y9c-R{9R znzEun4H{*?IXrMXTEyJmS#*y-F5PcXB8LPHpqJ_}jMHuN-BeB<|ht(drq zM+<|Hl5P?wE!Sf@((t@HJFVEa;>qB8{rN#D3qOOdVvn=_g4O^XtCqK9rHNQcNV1C0K!N9!w|j_ls{D035N{m*XDRG zHSw!l+HraJ@BHQNfzTX0;bUKCl-RiBfTOJ#cp1K-~n3PqqDA%!vO)lbkI6 z)=q6`QE&?~2OGw`GDC)bUnc1?Tx)Bj(gwoR=QR#CaODHl!M`v@6ib?euq<8u(hsh$i$iIakZF}!PfKjL`G3lR+XJ90VF?GJ!i|4lYUufU`O9qr&Z zG7L3^D7eXnf*k}YY|Ik5?I4n3dcpcJq)9eG2J2>#;SbJ>{?^$>ioyLA2(8@z|{tK`_3rcg0z}Nw`ZQl-^yHTcW?N2-#0(P@FVWK#T*`WCGS0^ zQ!VZnx!@A%by_;0G;44Z`4@h;{sUmT;nIqCdra)cs3wrdV^Mqm;bSXkL%crQEs4__ zI$T}c2@>j_z_XjG^|$#mX$RknVj0HqKX5PkBS|mSlO+ADiCBb&tcW8R`4jacFBhj> zq~6>n(EzG$oyp)xPKT zeUd2C?3Yrw&4QOayLZLzfu;cgx{o2F^zZJx*Vipp}| z=~pCcc@ancluv+jNXVpnh)-vlP^Ml_le|i=F`MkjTo;(49%p2a$;)%Dnv(qQca!vivTy*Y%xb{Hj%2_3$40Xw7p1Xge6>ND$tr>CJjl9>ECa7b2aB6@&Sg_hsDf#XKQ6-*>`%JBI{ zul>~~4_6(z-W=I>YZ0yE$mMadH-?y-!FtN?_<~)mddLX-I+WDiKj^~g8u|PSEJnhq z!`mCpzS1otPktVtkWE>_PhadI@=&96JBJmShPr~KCV_PJ?%;0EopJN_hh5dj{F8m% zM~`-$-PO@Gzh9k`Rn$kj=h_+p8exa9@%hOB8z}5w0md@Kc`l^ehrZ{^_Yc|+rys}v z6n{hi{W>#$Jiy;mr702+JY#Wy5%5)guYSkgOFv3 z5oJ0S4Du6Xg{!hUW4(1!`sI3WoZub#Z^>SaB73C{PmNhd^2-m~fiZ{8KNrweLfOVe z(>x8$%`^bBy*J06mHiqyj_m?l7yQ18Zx0BnA65Kf3G(dOQ)3<3NgMeoMvzW++1GMJ|EscUy(F83WA zq4OkkYUOt`8IV?-QR`GVdMOoQZDcNR5>9a_$ex3il-@TxEZ4g{s=G-Q`SE%gJmO=LcXDRiDaTl2QVMYHJ zMJ&y0C#DEyrnbumrE4raAF83Lc8**RNwmGQ5Hp`QaUl0FiuvN7?k(p3^1?1i_p~0BQ5AH?9pGv7zrzRfAT5C^)&deET9b{8ji! zGH_oUJvV~KylOf%a0NFDB@Myid(EXtK4Z9Kaf+(`BV(fhLdn{KFS>Q0*auFu{_Y3- zbc(Em!E_PatF&wR8oOzoCz-M~)tM%RM`SMoc&%RM`_fyyCgMj)6gX^e z$H&BEEh#W#Jq>x%Ci*S$tq!=*XYV<)sS<<1=z2u~*p#yQ>s>>M&xKZ+eiDQ;G@h1= zYNS7^QkNuOTQ3Y(G;P_x>S7kRUhnTjQ@7!umWW3&@=_B%d`+RG)Yenpm?~9< zimqiH?+oWaz((t#?N7yyKetcHH=)YTXgJ6^WtELuO>^?Kla-{#O`#T}Br|E!b+sGo z#?DlBFH&8@vjZz3dbZIZC4UefAvIc}I{!qPQruUW*z&0TBcza(*QgaA+QBHyv!TaB>PCviBb zTfaFJVSD%e8dh|zaLsnlif0WPWG)$AqkZ}cuipy0D4`#Ixskrt z4!(SOO1f(eJ&QbhDX%g1N9DQ^yoO*VVk=R^D2-Uv0xyh*kYbLlPSqo*f$mwy?a7OJ z5tX7rqem@J3Uz#XEGMzI^*L-{tm6xioXK`} zW`3y*v0$|)x@B_^v@PS~J9RsOSYA#ndIiDhaO(sQoMr_(#diU%fAPtyP=w}jAaSF* zgg!{;D}q^^IdchzP4>uM&Kxw0g&uVayCEO!KS2zF&^rg>sx3Nx2% z;^hjjXlB2FCkMrsQ^1pa0cx~an00X60y@89>Gfs96a}5~>gmuMw>EV81mFzwOf*F+~$d#ej142CI%@ z`WOVc(@#=e<9+$}Pm_*{52|lK)bs(&GtPH)b0el68yllmHH!=s@e1dC{KYwqY4FlV zH|!p#L8nM-)B0qF3KbsTm93Ms4^xSlN8nw-ZLjK=kQdQ_-%bk=*5cnyhE`4OIIQSQ z?yc9{OV|cpl9qbzQBQ}2U!>RKdhUvX`Ja=*?qvVq3w`ri)zDg- zgO$nRTSQ6M(WfUQ$#(*1llk#p;3{Nm8k0Nq(QfMHb0N>QVNNB*JwXmC1^rF3TvWX! zo#UdP7dyf=UUvm+uLD1qvSCLK8>)f*a_X!c6M@9k7phchD`z=@IP#PGPh4&|>LXNw zRSszV&~%v^bz~P?}gX7rUU&u>YFu7?{`^Lb$a8q14#}e;?&%aLXi7WT}RmL zc?4_YzhS%0&89}XuQYVf_pzf`eYea!0`XV5<6O8;ZZNN(FF|ly8s6vAyjHSnh-bon zxV3+NDN1sf%&f@zoJkM9RNOtAUfzo;csyBL3$}(T8eO~5EPk|gZ^kIro`>a{_}9mD z)t8zzZ7nE9HwCopT@OPVp~W`@mkmrB6hI^JB6Bw5gy6`ieC4D9Z6uJcVpKHA2WJvw z)k#N^XEs&=TgkT;^=Ee1`Y~q1=?sV;qIGROD<6;^(2QIEN8e2smR3aaa;+&Duh|vk z#e}B8lZrZK;1zvP4Hz>9$pWP7+4BDT>c^# zQg+!TAsXWD9N8+J_WnRMoF~JPAW{HUaZw0362=XAupmsOW+f%@2FVt@n0#-yIv1*q zT}6Lqqe=WjTiWW;!Df6>e&Y*4HfOBfs64L&I!zP4<*KW)6;FSEMkaSVgW;Nm#SA}= zwP>I^G1TmFi>#LKK=1z7Xke|UhT({e$-Yx0EIB-20bZC~%-B?D%OxX<9;moEPPibI zV9AuM8a^|;=5{eWeyu0Bx;8Pmka_7D*a3(6!ku*#loUj2KgTD6i!^k_rW9F}+zAh5XII5q=My+q^1qP24fMR+4_=dH%D0 zt?@4?>^|wv?*(RZULLwv;(z>PLN%M!5eTrAUsdAAw{jaN2C&w0Oba8*@ z`^`qYKA6z8Ku%U^yfg2M{{}p!_3{JInm*vFCDCS(Zzr5qTCoL9ROY(u#e*kUgx{>X zaSi`w4vvPsTMSp8o?FQfT*&!aX;+CpUGLXJtrQbNo_k;wOeGZ<@f_vuB3Sw3+)@+@v(MnR_Lg0 z|HP37SUhT9-AD|MCiS-ov*Ih_uA&5=d(6n=fBK)Lw<3cK`V z#Y(Pa>Xo$Su2a>;MS}F!)C1LeI`|tC(5UfC$Oj~=f#vuq-apY;6aJWc#g&KcBYW!B zq;29E9*%; zSEoI6FDI>Cv|(G>MZ+cR!ey}uwER5S_#kdN*@LLtWkVswl6#Do z$VxiZlbT>s-*ch<)sm@j2OZzTi2oiE_ zYr^s}D7aR*DI1@Byz|r8Wp3_XBamJR@m0dJbP4-ZS;Xnha(Lk9T!%BB2-qenMd$x! z0fS@;jGrn3x};F?k|9LuZZE3D82bF(B4xNoT0ZFM4iqiETAnCs-9(-P8g=yP6=tl0 zR3_XkO1LHc5S$&%-$gCjQIGp=UCSth@5-Ty{WOJI5f>g3rX@Gh#2s5qsx|@0?5M9? z){xy}%8c?VQgfY5v{KKT6LC{`6q`Q{(|Sz05*Et&vk>b?#*ZGE7{B|>(-i&kG`uw` zK1lhbNs^A8%-l)p*41|!DKqWAK*73+D9aXxC2TmX*sIv$S7vRD_}mC5`4L5#cusqA zr+vKB1=qI<){UAfSr!ih_Ps@^Yi43P*7|tbqt>d1o`d;YEq*WU?C2&gp@tZ19J~+K z7xOCTeh!uO3L%7%Y=w3U{GX>fF&ke@8tPwcUxclKi68OJQo{b2tS3v~a7zppUUI)- z1y}hx{e|jq^Xr9m-5*5QmL#)XksSf~JH2seSxVe@WoS|TK1KrV*Kl(|X69}Jd4zn! zg=i#d7zta|Qo-uEG_cLYqOE?u8s>y;DQOL6TF) z*oaVj6tmbrgm=Rtd2!#IwcuKK*9Cuw!Ta;))hCX39@khEx%jWq(Mls_KFXSv5l6KKc%@1XJjH@<()2S&(i{=4M2Dx@_VK4m3nN~6t$!O=Rzjy zarHHHq%`Rd(NpZU#)?!G*+>6oa?qd=O2i<|gR8PxRZZhPQx4>a?n8*#?yaG_o!*3v zwCNq&>>$~Mi8g<)hG?d)goZ6mj;CuT)Vf z(DtIS7$1GYVWzRZq&fR6!2IK@12K66BSRy zn)mB69o_%qH5x&o^S46=N-Zj6{Uh}9tOiVrh5PUc;&n$s&!-3W%&KM5y7=b>*zY3( zajOJ?2+3zuzHsFq{*RhcdzaYJ`PX;P;lecZb`_Wci<}#}-i96MqKawp3;b58U%)sI zhX&`6lFzBQ$OHjlC6zOOe@Sm>n|9QGI3}iz?4Ytv=fL*Hj15h^;FtUx_Z38f&owg` zDF3J|ruRn8@?YrN_jR|r#>;;p{a?Ssrb-j@aX|O;$7aOHd4!WU;)4=IOsYW4E%+KV zUi!K+WsCRUqVRU!O9^~?{dw(nE9Lp-@=O}bw93Yp@n72)S-s=05?2gZIEL|YzMK5> zb1aYLDp8F~Ny8GVM-Twaw!i z;qJ|`DWSuj??BrHKOP91b1Cxmv?Oy$9dWYkXInJ|Hz@skt-1mH`Y7e0s|z|#=gGC{ z_h3K-Xz4g@i5aNX&->49#JGmb`Sq;kq2i zisq3_3{#ar15@O>Y|Ny#x|aoC&3z8ZV0SeG5=)Yt>&-b7e*H=SULbv@uu~G9_2~D$ z&6{6QieKyek%uc9W{Ah);O#1dIMO&x(|vHq9nZ|fTTo-BX9ns40?)MjS=Oe$V*8>c z@$M{aaJ}fda1N#Z-9(AOwK(ZZxl?$LXHjd@kkGd*B+w}35#vKQ zzYQ&~&nRh(voq!el_x99JEDT7GS9Qj)2K$pzp=TmV3~^DC`bWb3>rv3mt>ZbRwi28 z8|?60=7u899pfrWU~h{18D)jjmjaA-f7nKM{N!vK6sf#;%!NAW~9=NsjSUmD+Mr+!0MD6z%m@3 z$P^P3omlUw75P)y0=99}_y_5Sk$J{X)#A4`O0nX})53u5$%gn9Tv|<+D{!bVNQ0}QwOo_TQW}QRPe6z z_EV{9gm2Q3Auk-(xE2_Iu%&{d(>0y9=N=eC*={|=ybiDWuF30x!~7{p{~&o+CtXg| zX^=OEr?dao1?_opJ7D@CvuVU3l3xhs8xC#v=7Qo;Iz7~rSV#a|L|ZOn)_CrvhdbT6DOb~hk zK(=l}z@8vw?%hVO?Oq(fpHGoiW@i$ZW05v>Gd!@vG&p(-XA;@@9W+@u2yTBeA|&Ha zN{hFU@ppO;&W42-BwNSEiMK_Qy~6O2W#^kT)Bc(vO4Q*)|G~LzPYk*||N6AZ(V{a1 zd5eh5$U*JGGsk_=0LR=ks9O2&QRGyfkX~NoigiQ2M*WWv51_)FM&V^C&cMJerc|CX zilYACd@XmiIrzb`^f^Va-+tqDjX_m={ zyqmN*D+$#WvBn*})&s014*!95WUiZiU#`Lw^u3X!rJ*Jp8v5nYar48$(_ndM|19h- zWo?6fh&-&9; zpYiquN%KM*e{;Hf?M6d+zy@N2)(VbhWtt@hRGHG&)XS1thO_R?>ZEfTzHUp{IBF4s zF&w?k%MqLufbfnZ0fQ<|65Fgaze^E>JPvkro>lm~3OVj=wkj-vh*(;45?TB)e*aS@ zk3wX4_Si5)#fhr9!FDe(+MRgscbJDHsY-ZE`>>g?7fio^|A(?QTz^-9arvm%4(tat zz3q=}EMA^%@#~uv2ps`Z`dfQ8|9!ICY{OS%UXS;r zJ!sGVYe3dwE$+mhGHmoq<>X|E*U$CUNLNku?i%|yUjSV81kxEa&FSRkZ_EvFUc}iG zDLPRLwbtVnw4R!#W*B?5cP*GKKJo!)xr)bs0q?Vi|MBWk#jOL+$S68D4z>o(G@M*X zaD<4&#)^UMGyx4KLiV1KlqlywQr5IBov@CWPP`#BuBwjh6=8pgGjoiG+V>N6E27Ot z898cvz;b?B!RAB5_q!ZkaBz^6Da2}SA4L@fGhc(BS{AEHNM4&*;)M8JjDEnz%PuIN>@!q zF=k+iT3llGG)IJ#1u3oGM7AGx*X1bDb!m$9@q_tX_j*8L!?e7|t$QYzu}^6&bK$yb z+RxLP6U4^~;p)!-a2^De&4D zC~;zbYd+@xk|N;%n`}PDgLAhO^?OoZ&dC#awZ+ysx>cQ5iaD)%y%qTzY5hAp+KvW@ z=4Im}(LQgtx9{11Q#b2h=Ici<4Qp{4Jt<}`Vfv+mHLf^qNUg>C0r&Le=ydiFx9%Nl zd*J%!Ex#L+`FeWukBHav#smO{{HhupFfP^x`jpCqF^RYO5A?Y!S_)Kn51NZ;^MkR2Y=qJ^N92CbR!VM%eV zopEgJH$kG4I#k}I(jdf9y`3O|a3`TNe;^P;&${}Tluupbj=Emk(CV`4hfd3+>%oL* zn__628cLGk61!8)nB&DwuC~sAnv>%35LP^;RwC9;^G5GVy|=CB#J{3 zHbjrT)Z=l>IGrEZHu%NKW~$}`Z>iRB=gVQq(p_l{Y{%9^kJY|rjIuR*9y|lh&u;oB zP+f8}d*Jz!Q}~ukauunl$6V^eAgFCT0cfqBgun?S z8qVazxT;gpy|2TPLzByzZ$$>%LTdPVi6vCc*8_2tMAnpQ^D%+06)*xPD;PsjsML8>Xg}z zcAHO7X`$I_9g7wT0fK{o;^xDMf#~LBQir!19Weo)5)W52tP=iy!iG{E88>;Qv*cmG z8tTI57ybq@*exXL(W&1yX{s`r-Wc1_kaSwwH zxyyNLiT9-3^EdYGAUrgR)w%P6h=jmWYi zqFmqEM6Q;#(5+G-C8(iRjv@eS^(u^xqd* zu0+hO@3JT$;Z<;`72Eccx-F6c^$$wuW9QME1#r;EcTE-+re7}q@VnEdU~Mwj4FHExJr$PUtEk~$GtX=d;;fkkH>2)M z!RcY~*TXIaZtMT%QltcH-p_UHpa|*bwba*2z26Ng_*CM5TU%-VCZJ?TNbq>kkrd ztnMVe&XG6F^+)P__99E9y0fNv{%XeIrqpM>zweA+nX>bj*=cujPrt*3Jr~NIFYsAN z2IYS$(~pE$r~J-4tYa_glfHTN*a2c?tdqsX;s8(|T5;D2jd2oe_V18gB9#snt}p>o z#@?9>mKw4pkFeabP;$ELeid)i=N-8@c&Q zvE-;rH4R}Qop%`{4L7)pVysb{-Q!lG%2{|b74iY>wdo4<<$IF@zOTWD>rnwHZ&#s9MKyfAl>s+tr{l|<<6j~#Hl*7;6f8oFJmtlb@o)=NffhXjZum0q8^r= z^&61|G}8tCV*ZqD{Q`Z*vf<;e{<|UOLu;&u`){>^k8FpGCrdmeXH|O_ZW;N4!_-_v zu_aFT#Md%h2d&Tmg_M|dt1d8f|IykhRFpxMNUOG4x8?SNq&`BEoOboXzOtIP) zG#I@Xp;cQ&_c^!kb&8D>js)cpcWO%k8?2WS6NRs{tgZsZ3vxh7yDECRm;5VaU7^wk z@U}c#m$#lWn-eJ~FV*4dyN39>g@=$4Rzk`52f-9!eboePwROtW^oY2Oo3h%*^{O;{ zJkd)?^sb7)VM?^}aQNA9RhL4fI%pg`w~+YdROHosZ&?=fE=%=rCEWW1N&lI0`Or@= zQH^^#4~<>_P1L4k7!?*dAn)>OklE*-oDN>GJ!^hzNM6;EsRWo#IHqMej%m<%AuV7~ zL4?#c14Tf~)*40AOvU|kEVt%gh8oFu1JG1=T|XP?wEwpgGrlOS*~38d2Cb0Iq0UT) z6ph}3&r#R&?(h_WwU=y-muH+nw@ZO8?CEfBk4^%hnF+Q3$U->F&*Qsc?0|{t1C^ssJKh;4TU`+d5V9XSsqGCoxvOyHmxN(*bZJGg z$aM5H1Uk&${r(S4XBr6A|F-d@Qa{U(vM+^D*_rGk2`Niu--eKFVk}`W##UK}B(h7& z&JbgUj3tbnWX(3r*w-1$*m>sv;(2pko;T;5@44^mzV6R8!rdH)E{eEn3wv&7!4Erc zmV1CIA0O9A?)e^lJH(-H1(+OUQ1&msSI?npG*C!Y-EUFB*UI+oRUN&;GS7(#!E1h^ zNJim%($_}O#g^VbR^}MTPx>{}O8CCQlo;|nxvt^IjobQ}y&ilacWxY4-Bz}J-BR%@ zS2sz&F?R9Y5Pd6Wy}P`eJeA(HT>y3GW5+S$ZSO^j3tnFd8Itu`kAXd?<6$XrycI4n zQRHZHW8LkCC`fs)t16`;x(KIj>%VvvD5fo&=m&j%^WGJLVsF5f>LJ=NFM>J?4Ebs4 zbNt*1DLTW>uHYh2qBYBv+=1Kg5WsIlsz%&Cma8_c5l^xBbH<0NH_hLiQXv4PdvbRI zNP~ID*-H!PMf0hto(8Lp*MWysM-=KOYlsT%{E+V9*N+eWta#0oUKiGM=&V49i;m29 zw7(Q?72;J?6_q2?%N;izv}n;0%*OTE{3#OXa~+S|v)VZtDT7P~UJah?&~6Lb8HsBM zmXSirYA%r5=lBcaaRPW-^Bkv<+53uxy;j~jan*xN`+(o6wOimIkJVrt+b8i5gTW=U z91~btJyb9l9RBE!HripQZ&VYjj0oqqjWy!#=vLQ z%gV-fb0E!l+4Mo+Dvy2%pU}zj#pNn?>8?`VyD!>?jW|hZgC+9b0!Ef^lVSg=Zdm05 z{gxWmWs_5k%eov>tQ?B0&fdKg$-9dku+r-1yv#Wwu9V<+Hnsc=;c4o?I1FqXzh<=V zQRmx+TqrGUClj+XtEPH-LAYm>3hSery6{gJ#VJsH)#`gxhA-+M%bJwlRNY^~mTx_F zSHh(NiQTWX11K~1)#LSYviuk_g9rz&Bx^lGZJBSZqGLSn4Nrc5dHtdXv~3bL$Kd1~ z54@=x{pEV}IKa2#!tf*b!fuO`(cc6j-Sgh{Jm&&Eea=)ga7o!Oq&ISteVXL#Q*S%F zS2m+6|8Vi!+riqT1evBMR14eQ{2iaYlHYOOdqEP16S@z}0{vcpjQ27yvax9x(!1rY zfYy1c!0D0jcHI%ARD=zh=bT@3n~H_)mO_0}MT2f`}<`=P<^3z2XU3*8&5S8>AK zfis)M5ws|Rv=MQ*}oV|hgUcb@uWeoW(OV4oGnf!D;qKuppg zJLA2v3lVnlF{9C2IjRZ$5v(uZ1wCwb^1S5yJ!|v7Wp^oZ7s%+qQdqIRJ?PH2g!Jc* zQ{XA;%YLi!_ea&^JwAnC176@F6xp)&@$Zqab6>W-HY>FS2mk7;@hc2lK`^{9ySW<< zv0a)l_VzJIB>Z`9;lg1NdPk`CYak`WEc1Kk@kR63MB-gm&TF157OmJap-pDaAy<=z zv@EXw6guYB2WgRyk{8EHZouy8$vD3;Eb5<_X64j<$vg+L2?p?dy&pZUCUwNOmwr{m z`?s(d_wkE5_3Iy9qPwY!H<4X%P7Z;$ePxO#7aVm&mU$?wBWmDvx@ngh&zC6#NQT-@ zHj3cW^{*92Z*;W5hl;6-{bz?`WqmZobtMh=jNv{$#YVrLDrSB~nGjxpzjtf-ck@;H zGOve`-rDAl>^>RSn(lPD3Fm~ayncxDjO#sIqkkoeUjNs9LDbmU(1WY$FGtAd3a!=o z7x{EI?Ti^-l@3a@hCboby$H1VD9KMLy2f(xATa$Na~+^s_fyfAnVUrKpsP=O75S?1+6j*p>b;2Bc#zCro_01A?mzQXJ@x*z%X}+{C*2;kzn6%*t(!d#_)qX>`log!N}aW!HJd>P zwgxL+yq6Iuk=!*;d+^!UAfjbsRpcazc@yC7jV&Gro%e>IkHh6Q6vLsZu|Uu*QK+&Q z?@QoKHa^!hNb}vq+p*$M1UTPXgJd-@js32B z4j$6Clu+R++z`a50cY^}vhkG$r!tR%d7K7S{N&3cXC+TSMDX{@fQ~v(!l>;^e_6)P zk?kc5zjtD-^*|_G=s+$Ut=3~#a^!PbHdfyfn`wP&{uereI%uF)Ha!(Al+#_v4z@wa zDsCQQ#rH1i!N*d?7)&wND}@D9y{2-)PwisF%fN3 zR|-3nnf87qt>G>P1ksTYGJ3N40?&g5azbQVW#liY4YAR(+r1^7CJV%$^!s)_`PA0G zD}T8SIl{Zdv7qXjk zoFMDMQrUrJGT*jo2EpQ~!*0u< z#LB!A`pg{++tT$*6TIw<((4|OMuzrolzbbo?U;c+*CwxI=sOt|E4{4xTJ`Id+G6O&veH#B909>lTO&x!~<;c2&M$Yd9I(~v~W`qwv`Ot z#64pbeWwB`eAV0s%}9QHes_^1W4ujEPQv@Xwx18zJFM!7X)SN}R|9120Ipk&WBP`Mh45zi6;3H$?Cqr_p*u&cIyc2%tpF`Z+xcFo^8?D!x%6G?@A zj_1sn>PBH-Z}i<3^!td%9vd3hOXX#h++Eysswl6UOg+E&B=YXRfqkT-v^|6Owy{NvqO?9KkuL0LBI_@2d(p4^j;u2)tL zD8(=*X)2xGW7aS4^cwAsi|BubZ2WR8T^evsSsLBVW}WYORuXe{7KZG+`QF7~Ii%R# z_`ULsPW?VZcdiSD$5hl<*E z{->su4#D;YD=yE*m83B3)}h3~0|~~843&m2r%uO=TN^)UZG0`RQ8{?LL~U=;Y|8r> zC{~+@0HP~|Y0JcAH@6~uC4I};N-g_r+K1nQ3C@OnffBSUvdV%`yPe|5UpFBZEHWRV zdwSIYu`uG7OZEAYPdzZc8xD=09p}9|EBWWm9|23r5^0t{dowpuOE}m1+&YDlCA9cp zI;}ENj1!Y-d*x#B#G8%<4(h`#oOh&H=Uxs*HSid~``HOAjF`lVp=Y(ZIJuYpX<2hI zU$|C;h0G#L2Q9X8XX2cGe#J&7`+fo>r0-an&R~6y9()JJGm1+z4?6{e>Boc2w|?^X zidaeU_+qQN>*=Dy9hYMxMNG^&+U^@wJc5t>4LEonm?gfG$L1HGxNr3s;nVy`vo(CB z?JB*}K(Q8uRlZtOUQRIfo{qv|mt~>@6YmvPyOS#q@X;Nhu78~7#}eATj=Ov=;r6^W zK6cN9ebcpEvWAT;FXXdalei|A-V$;=9Qv2>sY+>>NbZH+qC{av&m`sN@AW%yZyrkv z=KsfRU&A#X%N9o*7qoSi1dGB=} zz}7#_VFo|RIWohxWH6H4jvjd>=8#?>6=>(@;5#vHYT_~0$q?13tZst5iQ-9ycp?`@ zaxxoK4o4ITGg%hdXH&h9zFfz(iC%Out%1xwnC+WTv`!Xnurgg9c78MkZn*KU=QFhJ zy;OIxk~@|2*~PVb>gcaVV1U{YG58yy!mUERZqaSVb1}mnx$j z4o>0j@*?vJUxQzYPL*E+y`5*0?90-=F3QAfE}j6-V7{Z*`!^5OZUtmC^Ubo%D?T~p&l#=qnQ!u`&1I+r^& z(ywobMh9Y9z2+}Xd=hJrcQ&9%Ns7k_T6e}5ussSPMw z`;;Bh@+#i=)EfaeeY-WqX7ne z{Xvl3)&8m}bNA6&OJOh$JEpw9sBrjz6f{l?@%rge@s-;MTIFI12Csd^O${@SjPdwb zCHY!GzW49o-N|nGqaqI@m(GOjqrD~XgOORveHPM%+!(t+uSNZclquPvjKc?x236o0 z(8BFZdC|9tFOPE;6uOGp+>aSPg=eVhgez|tdR~vwQL@z&OO?8RT?ADZ`a4+`xRBc5 z13g)0=ecwvj4j0E)#Jqr+3tcnMaKm)+%;Ovbk5Grg4)6?f}my|JrOcJ=SF-6&^T@F zn?pgMWo@VakQx-Toz8vc_&i5R;cw%E(ZVjbbm8t{;n;Zn{STi$a^DF%RNB6(SKQS} z3_||r&eI?>_&N0~z2bJyYm|K6;8l9dVOf;r*v$^7_{k`5vzpza@vhzn*0Bry9^}nz z#=x9-dsLO+W$AGXGNZkcyI?UFLu>D`vXky|*vPmex-7+^UssS%nR);3oC@S8WOw^$ zGcaz>JEt;}w?pt%fKoUCNYmFU> zCQ`95>iyI)D&Vo+<#|7=7kkg;?g5+Cnbyl}J}~e6?Yi}&I$LH@k2}23OP(nA!9>&*zlHKqiAykrmP}>PNPOd-jvNEP(H5 zK5Wpvi((*o&D*h{VUc)mIqsnd&wlEAktA0IA$%vDyM@+-<{M97QHV$<-{#D#na9DD zL406{{;A$S_4?$KDrnv(!OO=@tS`F)`9%{J^ds|2cWWs@3Zi}Jw*ut1`pb|G{4stid!3rayX1L>O&GLQC48xx zuKBfE1St|-oU;~=Wo9WImH4de=5P6{WWOzh=W+aVK>^pN_aA6VNc3A|+Kgn85+wh| z17*>Ez9fja=& zBCzD}`!}v_5G$wxx>EE8pvIyXw?dl0IvP4Pg5!&x@$;>E`NB$dopMagrhfw^Z0~42 zz0b<`XV2bVX_Vc5s|Ol>GTLTcsLAxLd^u; zUf87@%^Y%ZhKV$2aIezykueRtP$@Z2DWQWDnX7|YvM|AMaU8l90NVH5@!8|(1e6aG*$;)G@y zePe6?q>yl&fN!tsLCeB#=7t)cFX5a$=t!;hX5EyvJIYa@l_xQCMGSY$B7frZjj9}l z#47DHJsY+^DXiD49HxJ~AF_bFfw`mF^&j4bl_l})!oT%iB*TBj`rvG4C?OE z4t*9HeP{GJZ^PwA!yb(ML$8h@YjnaJ9@PE)Js?v8O4TYC9RZhRw~vtGtL^@&2NnOk zcgb=x%}cN^eN4ZGGZVUI5vrTt*`}Zc^uT9OKCh3V9Z!45jvGbwdaZ1jX-m9JE9e}V z-zxNyLfv_<-`x#?nOqEWd8earg-%#xgMUX{jra5Y7h;89T8C40G6EhJ0Du}CcP30+ z`HiDD=L>+QS@v8d7t@7;>bc^x73{J5AOvq%s)fLKw;KKVGt~uL;F}|2lxLVGfh{$J0Q|v723xgmC5O^t z5^dX-efY{-E*%3COU}o;bV2<(-acMB^B4Wls$E_9qQt$Th?IxyuU~Y060{D#=_-$r zGBYt)9?e4_?IK)ONQs_A!1>H;50x*|UetE)*oC17qpp{-QET)a&usTUH$rZe__xKn zMvykV=kp?Vx;wLbe%Ez89c`@8^Pe|x-}TGRF1)o8$*Zzc9*I&n(T~U*4GLyBB!{7V zSs^#+{iT)gYgW|Kw3-kId-tT_=)+-R|Jt+U&(~#sTWBCPHZOO%ExX@VH(`E%In8W} zN4eb5={PNGWp(n};REH%{Bg9Ug?TlMepr>L+87XOI8|V1NSIn(=!4uRj5jz>fy*{1 zm!=&*fT6Gb&iZc37J>>ZAa+&-35D>0KH;Rb=QfJ7^TVve9<_=ZH?n?S~*C`EJyx=E@2xpKZb6KeY-SxO9XRl^_ z{pYCo^c6*kS6?pwvl27DJSXRLkf!tOGD!sdmMtK1V(WW3`vl~`K9^?MS85B+9Vc?` z$WxL9Pv4yM>o#%NVNV?3gkudJ>Fs(Eg#6^e1OLPBqCoPAXbu6~?t+nS*MJ>WQxc&F zF~kbRg|wx9Ty>CxX%d^k2FVK$sOJmUc$b)T@|~u`vpNuIb&Gi6Vh~P3JE@&LnQt6^ z>C1gJvwjOzH*-iLk1q*WX{T-2`c)1K{gapz>2D}z6%V9yb+~j4N_l)Oo$KaSGBDVS zGwX+-jVGn)AQeM`oFB&7s)|gHyQcZZ__I3lt`Ao0eTzq}TMPu_LJf_!v45(z9+>}I zd~|?d8}Fz>m|#(N+wvrty%N4pzQZELDeARX$o~FgJ{fmwn6GtMF}~pAfty5)Cptg~ z)TtGDd+G9F7k(iYvG{uQl#-bDrWo$mXbC%pd+Xb^-fNR_XkcwcAD{o0n^k@S94Cb* z)+X$&PV~ktv`@q$Y0h@ym-LLp9>0*LYa!=t98BCd3U35CWs{>mTw43W?(izUHeE1ko;R;Eu z^E+_Zzd}NCwv9rjf4sd!qMuJ=8}Vdy5{dms|5^S@L=fR>Oa#N{6L;#MobO-Pa3gTs z!8*i(9f2M~%e*B;}hEx8xQj-nSvoIIe6b%vOAo(_)5K~Rb5-A+J0AgK7KMe8Y!Yv zaJKj4ZrwyRoXv^7S()>WXjcAraaWW0Pi0CmxQp2_4vB+i&pZdCf+%FwCi(;Z(xF>i zLKxdK__y_}dX1UiQ4_hx(larr(~Tu#;#pMt6b@0d{@y6RDBpJ@E-U#+ICo?WM!zt; zjGgg&$*Z~J!2BQDH|t<@1#OW4^n4?2@NczGkW>bI$(9;C{NEEi&mCH$|C|XWn&6$& zv&u_bVVU2pBIif#EPEHNy)|Lk=xp!0U08wBb3Aol9J82G@y)Oau5zBLPgt0k?>2kE z*0JBt6yV~)kjjk#qPA=tNqAa0Ea+11hN?Y|?s0yJ`2CHRi6%WduVDx=gp>zS-0v?H zCddNggAP+-_xw;?_VM4c{Fypy!ry$JdQxiie7hxY=)jMNfEDHdzuJ3r(l@M!Gg3yG(t0Md#-yWmV?bbu#l z{)Iokxi^2JASm8$93el0gYjfNy)?ujVD02A;?){)`o`i0yWhtTX0M``cw%pPgO5E* z6djn&nd(@6bYFR){><3PK;C$~D{bVRi?fdVxAW*0^^RhXMdLcym9Th z$F%{ZHCWLdbXQy&bvq-h&W&4SeqAKd=x$lfVzXcR-aMpeL`B;2@RA!=xq)iAR^Gr> z9pyJs!Egg$nFC|FC;Hoz#bD!ApZ zplf_JALr;0{)tR{$HX;VJ#Sd>@DXvAmj_gZf{E9rU*2fn-r(hhlv^Jjd##nZL9!dS zfqoCva(~V~k1UOw7`L$Q+3W!p8m?t5BJG^ZEkhh3qX>w^=x_xOX>reEd!l5+=D6Rl ztkL^0-`-e=q`r~l#bA7HmL}v-XeZFCSbFM&W8?oQVXX2n))jH~L_Z)wE{&*tr zIj(KneJU=?EK4LPyUIBm{EYFEg#!yN2$XtFTS=#YyO}Te64|bsY&TD~+r0W#(AEZ@ zsCG1RV2#nZ9!hF$;yj;ifwn>6eGHTp^O*z!4kiX7^8VXF1>P9YIJ_mLaVS$Es14s- zL>{DI5O;HIKryAIYuHBIob|Ye8m=*3TJ01L-;dJZYdRnfQId_$yib}rL&XuBak;UI zG-*^S@ZbM*G@go4sq&26hy2<5jly9q$A30_?K$+{#&h#808eU z)*1egvyH@9Ce%mxBX?|Y#~-EOU&FtDB;WPQ!Y{h(YM$qL*rEo(;5gD?v4hUXVvQlw zGo_Syu9-L~&sxg!WByRYcY+dkjXgEP!lU89X)O|P@Qt?m7JvVCAvm#XvNH>|pWSLM z(6ng5@IjNU6>#=5dmy~?jxcCgr z{%@OO;io{F$;e7TW_|34eK1ZW@PqiG)zrodhQHe*HIXYJbLej7k+eRDu+@X{w%zi7 zoKes>6|yzQ_t;Uj?q=YrI_iCwP?~DmwYFgXhGtJ%8pqO-unKX3Rib8?44X{&T81^r z_stsv2yFnX-ndC0NLxgC(4Bqym3T+NWn7s^%g=oGidFss)7>&h+}gvW^&~O0?gJs= zZdw50@{eAI@Q{$m&$@+CS1!9znOl_V)I*}LM5*{T^ALmbuNTWEeAT@qza$tkyn53~ zwC+_H@!}?Ktb&wp1a4czRGJI6xtuW=k;bIX1L2#8OGI1`hLnptl&9F?PU$HDgrl5; z1i(20-V>$4+5|gRrL=bpke;DHiFOx5r2#o&=0?PfxQ|gYhhHU$H4-FphxXOMu2%m(E#D*y%~2O(U#@o+4LqxO;Tcw?_G) zYxElzRFT6!&@`*q#nqv99RK9(T0&k=5#d5yPbZ(*o@@f2)RPZt?2fx}@hB{s4jWMRdJ^~Flj~7u1!e%W=eU68bReFX z7R&*V7cL!0N74@d4v6?GTNj=+U8&M2irI3F8M0Q{6mhFUZ(~UO{+J&>^WO&7{89bX z08gByWcsJ|B!WHP$~%vgjpZU?^ww)(3j_3(J|&@u67F7=#71hglDM(CVvx>opQ6vN zey>mpb40#+C7x%fQ0cUrvr8l~j=D6S0mLjW0D;>Z3-KELW(H%$c2!lP0iN5X>2{9C zknN*>ZV3KpC+noH_{Dt!t!3zN&xDqZ4Ldx#^Q-(Z4r_fd!HL@_q3cWp)U&B*A&*-x zRDXAGVW~PTsc8Gz+8a|A!(EgjZ|3=?aaAwc`?lR3RwfX(Rwh+3w4+woHy1wvN=o(g zpAY}K<2cK)j;WN>vjXn~SmidJ;SSDmr_+>NTSVx|h!|Wrm=s0K-q+w90IS7t!XZJ3 z9U;)cayi+0C`xgF*vFZhm>aYv*bacNFpxTC4oyx@z92v|A!nX86q)+^##l~isiju; zIBNl`F>`auy7Ty*v)CM7_!~@B9tu)j#XZw7xxq2!HMXlVe_Kib6pe-Pp{CSkx8_*9 zdj`HrgZp6T$!tw9O8UVR2|(O_)i%=FhY7Xx@{FPNTpfP52N+*Mx{MY!b~iqlh4cO` zWM6rqu^n0ZxZGDD`EIws<)SE6ZuyQJ9iwEeVA=wB4bzJSs|V4^f!}XH#ESoe7ljOA zaO`&bsvS+nr8y~nKl`P+a(H`6lB`q=D9&~Y)PV!I> za5UE%vO5tH80gW*4OyBBq0~p=ODmLd>cE{Nnm~qZ3=HWwqRnK^vg}AVtsQ%rZw;>s ze1upBNmc&j4{nNfW8bMzsVy$(nCz&0+ajwuG8yKitoHBY80M}bwCpi0X{LYA=XKl@ zg96){<&9CqYq@Hy%SrYKl28x7s)j}8DxFxtsl;j6QcBOksgYWYpvH;&37Kj{G~POS z+i*tQJFsn34w>s(BH>)N+T+$TvGawkvtli?2G*?_7$TToknFMUD|iAvp{h1< zY-t3mdXhvd0xhO1>;BF`v=*SQzWj*ei9f85xkK{(yLox1b&RZ6Bmlk1tb1Y*Np{8M^vodT0oy1rI&1XaGCoUnYXMHiwo@So75MA`p7MA?e) z3}BBGpcQ?z^dKnG!V}$JJ{4O&I6q-6JlX@n2bBlb;WubC@WMnq(AR^%G->UCkGH9} zY_N9?=)Hdf(uetC4cx{D`EIn^#ZW{sHmZ%4HzsuHH?`RC;@veCTc?jo$>@R4{Fubw zY}%jAnZ{X3vGi6nu-{H+cfY*~ntl6~(nm?{^x`;luU|x~i6}J7UFM$q2j5p!R;R&g zSj2I%Al}6;`1%&PnwZ!?5vKG+4YUpLA?`OW=U`Iqt_%1C7XFHiF3AnfMa9Z2b zTZvq#FW|F6KZr|hV$OKXbHp# zEPwgGSE^EeQpk>mSsdaKj;(mEvT<|`{^)UNb6cK9psl08w8zn3r+520QvqM^GlTwQ zKk0V_N*-WsAiK8tjRyZKO}0Juy|b-D_T6w*v=p|{w(=DVR97Y^h8x1aHsDxSo7h7; z`x7^A7d8#l2LuC&iN*hnFQPO2(kfSunrE*RrCrJwcd8-)L>(J$i>etV0h>19Y(1ad zmV{qnLuEX48`-Q?Hnn_G&HLKW5G}-pLCZI63>@1Rb@*yn}D@qP<}czewg#p6|`=_s3y~g1Cc27>7BV z8lM|m01ZS|$T$jeA3qSNc^E1PaEbMekz+^PRr^}R1n-66{cGnyX*4L2YN{?43uNxRPhBW_M8kb&O zZkWj`ka{Y}Czmfz_r~D`2cM2JpqRx$g;iMggS3JawS+5bE7P`#-lv*H;X~cxL}Kr$ zFJ#xMw2i8g_&?mWN|k@Y*f@OBO3d>Nggad1MOC5k8G(-Fq{a9JV3p{om9S?cZYo33 zGuh6skI<2xjL|78PqTRsGj2S)9QQ80QR$KHTt<9Bapn|4Iz7Xtl_daRpGM6WFSFgM z)1OJW{(~#|m9tI)+37<%ww`H!ju7gmc)~v}3BWd=T=BC$%!GByB}z$=qhM|H zi*yhHc-x;=b`ISufQC}6J--Nr^;B5EJ*xHgr>L>Zj4msRKa$ku;7XZ{88#H;pi8oU zJIE6@KJ%?&%2_{f_&@ z@0r(+zWpxaTwLJ{NVvx`G}!T7$Mq|+XmNFD%BGXCM`BUvJr z!MDYG7kSGLYJc+!e46)}jn|6x-Y2iq z40C49K%XDQG4|ZTx#4dssTUR$G_c{o`Tu0PgfDCVk9x4K=#$NV?O4!{TkRgP+#E$R z*EnJZEo(#<8fla#07h3W@PPowm^AqDwlOi1 zamGvSiJZ{37aPMifKurl9X)T9tO##ad5n*YWAJ|Re4Fm!x*}$6ZIb-z2A?9ldZ-tq z#OGSo9?1acB%3W>I#sQC7fL4I1WTDYp~lp_rq>t+9L^Yp%|Xwho}}A;nzR^O93koX5qnmKh(dqX7S9OZzswRN zhn5WJguX&AHVAmitSh-#W%TW%#0xpk6lCOG+D<4W6D|6AYb?kjTD$A&v(diqwlFzdtAp}0gd+Bq4tFdzLPkUS_xb{mv<*?SvMmc~ z%+XFmoi79lCsBQNoua{>#+9ilX}tCYtNynoCW_JN_oBJjnahQGYZ`R8@C(@m6#wbK z;`p*)n=&L1c9p4Bhvf@~^2;365%pyYzqfaXkbdy%{*Kz`gZdksoh8=*dCi_7tmK_< zgbV>t(2aC%P^Z*^fATdJ0kvh%<(q2D0ycca2&k3wcC+HwOi52zv(2Z_Ijtn9PYb9b z5N3P*cu|c{?!O9^4~v@-c`^esu{lWz!Tr`^uk87pU|Oh;da%@*dey z_5(0k0|ssact?a`O6c}{$k9xjuA(5V@Sy-m!A-k3%K6z}yTqpR89@7%IvfJG{?&O^ zXG$5CXY;k}@&;Qbe#F9i#oS?5O#+Rcoz34JS?I4ZdpvR}>dn}7!?bK8EDw14qP~{X zQ~$Kk_~;4;PAzsmQXbXt;JNS=keJ`?nij&Kl5GwyySyJ!@;huhS=g!Ef!uN57$E+s z!oy71iH}X}A)hIxvPxikqF-{Y9<`G-R*V)_blx9aW477(TEF!5if-~-mu%q*Szzov zI}ziR>oWM3w0*Gl#)3%vhH(|}Qu~~(aaoKtw9JxZY<2e9xu^S|QE3=wq4#mumLWnq zr>yFP31Wob_My$hnlcVYdjBVP9WU-$?bwbr9tNLwd>loEn7^rb);__bxS7$9**Y;_ z{bdxqR{ur1ra=@HgDz%!3PBpgOvbB9FJ-=@C78?umAA^bMP*3+<<_6XZ1V|T>GwL+ zN7p`wt$ZkKZ=x>S#f%A@(g_JT!SYk$#J}5 z){(R3Ij^4tsr8OL$*ZLm51#rwrWOWIv)N&tgk8AYf!6^bqL;!Ot!>D&L2dM(Y)7>g zyK|W=d(J~9fFVx@=ZvfRKJfr@s69rTw87%)CUnbnL zl&ctTO%@Y;r!GD2cnbJ62*L&N3_ztx8HAA;?5P8Mf0Dqf5xiqW`d7*}VCR?!I1CGD z;#uO9T6Ku{ZHS|<>Z0D4ruh$6WfVJ7$R{zW-W9g)Ho-3h@_;(VlX<6NH-|SBlvbbo zk=al3(N7iOZuRFx7#~wfT79EdA!n9fEeQU0a6!y!9|mYQ=JpY1mf-cqAiJs&{r*m& zpIS(lsFXH|`bjmXl+Ea|**nvGuH&mLK(5ZExg_b|cdr!UCup1k%EQJR<01vsx9|Vf zQ^Z)fot-P7so{ZTWj~Ynb|!5yTCq5`Lz3{XJ1I8G9&M=D12W} zj5$gt8EQ=$_4nL^c(%L811UXkY-#VwmyyoUx<>c2UzIb@j(2i!iB!l8rx_RmE-OEc zS54FiJstS5xUk!~Hu?wCl}QuK%bpOdOQy2slkUzH2xfMDPQQ5fQE`A2A%;^LBt+Lj zFLZJk$MB!sKOvd|DIn(=Qbd*qix@p5GZP9ba@1pb3I!h@c(qobXtEdmy9ZUaJ3F(j zK}!5AYOKo$JtILA&h(`8-6`V3Ey!rYT%M2ChNKwj{Lci#tR(Q}u{}{UZC)uIMqc)w zpJP2FznH(Qq3OKM)JRMCvKdk(M&xoSLjLgoQ42bG%D2sW)_d3u$&I(B`t%JXwL~6g z;0VvxK+=b``#<()q62c9*mI9&jVb1YgEfj>!*ReG;iLhvC*&z0AapWMJ<>LO^ObEt zJ@vyn7r9*Wkw^GzcOuPC^3os+_SYfJA?sCrE>(Z7P-ot2Z@x$i5FXucRZuE?W=o>lW|QigDsH_xUDtE&8((G z2vWJ6wE4>?d#DG4hh^-(BZd5F+g&Jfr1dqI1Z6MHJhSpD3cslR`2%4eIoX@I$aV+Y zi4A%iO$a)0hVNSwI0q^;N*JD#^8{n%NyHR$5>XbwEWp%4-;wG0tFCP@CCX^pTx}{s zIMA!84i_ZA3#g^vGoR%Zh!_YY+a3m34<9t|XcAAeY469073^6ll3~igX2-q`=4D^n zrq<~x`zfz!u7$)vk<38)DW2Re!ff^VjjR4!qqVC*bfMBa4QcRpHOV;v*EpLweHqZu zI`{2pB9!z96xvPrn)K`2Sq3y$u;D;vCXnLa5OV5yf)1sO5v>V_zbI<}5bu`8e9J~t zPT*JWHPx-uTm3QVEq)G*5wa+nae(9P*DKb=s{lInqcCpzXYQk7g@b9>uS1n(AaYUG zzT_tSspCdCFdj&cb2cK)=GC?<9vN)NOJAYu1a+sglaE>L(<5)`Vu=Z461 z@$N>LG76n-j}*qX3V6QYZDt0L-_Pu{c+f}j242`#ht?J;9i?TgWJn^RQ$qR<)X{r- z-(+Tv%e>2F>)N$P{%Co;Vw{+7Z@G;h!6wQR;4x_`4=_B%JU*8fou+`v_r&bNRvO{H z<*JEyOLrhBLwRud+C-+c-~9(;^(l5$JdV%{RnEw)gQ?zZU;f--{k*Kv463~CQt!mg zT9yIV*B=)@h`hV;h0TiI^ziqU5t#&=_?I?CgU5nrr&VGaf@kI%&;zgi$OaQo1MK19 zAM9eG${xcEFwmPVDvt4~?FEunF5&#q^kU=^^`0ESd-l~_>wB>q8-HGei=T*c4y(-; zwl^p>Crr)V5`F8nLm&sdX@rI)t*mMV^k_-k3VC=LAhw`cK9bH&yWMgodHi?%)mnbd z>B~z2eFD;lb>8{Z(WqNzgQdAw9d{UlZ1~`5+x822{_PlSYrA&C{(AYr?CR;k)WQ;p z0ep@ka(aUJ$7qD8kFu#PQ5}mncK${#0BLLj;59WZ6YVlP?1WOe8MmmC&hT#zjE9Ua zpWoXum&+BlgFt4(G?P`u2NiiDQw4L>+b$mse{E=JAl9|YA^SfsPP>&^595s2HVqJ_ z^QXtl9Lgx|4ndTFc?nuKv`l3yV0cQqT-}T?!sM*_@Aav5!er-T7b;gXm+IwV^$#xZ zlt}BhTB2{YTm`n=P92+%-@~8G1@7va?_1o-)BnBqyvZ>jNDni(1><)uEwF|eWP)<5qx6+}8F$|?jB&x-^%(v zqDtw_WjPE(Mg3`@cpm-|2W{xe3tZ&|e3)QIgVNw>+D>mya3&VMvr8Ip6;GzWXv`hn zsye&4>E+GF2@t@)KNn&U%))>acA9-K-mQwL$)9WF&R!)Oz6cQZ2_HZS?h?F9^9*ezA57t zE~Z;VM}GwHu#u=QaPiLI@rmE7lOp}HQ!g{>E`4{{LVKGkeoG=ml-tv>`_W29@OR`r zpLj-aJ@hDnHW~$QKUXcU3F7)e4^Kb5Ka!2{wxz|1#n?IL44u{)`)>%3nk=L7OXe@Z z5Tu1X$j-XoCbP=90SxfOUA3DOO25GkX~~OP)D~sE^)b2VW19XJkO|#={|~E0{!JsB zeW@7>7ekuQfu;)~*KRKgQ9b4VIUCZfD~7aM4IgBH69r*LQ4RldGHfrl)8c^s*CulJ z@W$;eRb?p~G)&Y{)xc@ZU#1_)qH^vg`HI(1(9!JzfYGn zh|x#stxd-NYOikfg9jbIu>p0%&bn{Uz!ofRK)tY*)};xCE7QgL1jfN+Tf>+ngZdINS+9LEM)x&H_C8irE&4|d_uE9f9PNI)$q3TuzFhw^4Pq1*&xD+UQiP}84<-TVT# zg1O#g8e?@@OgpvSl+_(J8?UNpbg_{p7Mn_Mg4}s(LsM)2UkeZ$dsGILHoU0rDafCh zylyd-WwA!f{>Eg4=4_iXgBieAUz!ySw>@XsIg;~CUG8x%GKVR+L zIpYfs_vL~RYh&HgEWE{#vBd)H+IyQ{Au6E#MRdy6*%HFt@W`kl>xj0qb(5>qZ4K)i z_=m!et6!4R`&g$Ijd+>xB#jyCLksxFgzYZ zPq-%qZtK%-+qXN1!zXn$SP4Npi9{&kAcSHL+Q*Q_2nQ)JJi+&};Edl8Il!5A#uw-b z=ln!-qn!Y4k-Dh1NOSNUU3;$G#)8(}@kB1(;~#dHpoNkz2k6J6 z9KPX*TV%OcD@_#g@OAhaeZqJX$+)^|j8~vC9j;W}0r4X56ai|!m!5rMm;?eQ;a+S| z&?)=`7fLCoC?d`^;_P5sE=1LtqlAN%eS``kBG)Uanz3W?-JM0(CZaF0sz9e2Zz1og z8uzc-{OiwDFQ87t>b(}~2Wbxj_lelFp*qhW@^W=%Xv0e{VB{syGsBJPqXK8$y0^b4 z=m!(0V@BMNdxC|)u^=?ffRLe@Xg$fZW3}VZ2isd!<;a94e<86*c4M2fdJQZ*`*N3V zWclJp%L*!x0o@dbd)wg3qWCUsn>`BNel_rPbwM>T&fHp?4c}>0Ge_6OIxQRQZwLj{ zadeMh6t2ovjC!-7@vqlg>)9)=3(EVorvAyNErrl`6unhY{O0{)!E7xH42IH|S2b>c z8rLRtYgDM}Wpy_@)H^yBZ0)M`QMEYOLc51M4`x#hd}vCjA1Mt<$7fAcb6VD+LS%5k z6ooVD2%zJ9C;wdT>}U_rq0w~a0PkctK{XtgQml_(os9nAH8QNI^nAJ|c&@2lB- ztq%G4j2MMdV+p;dFCYRql-bWXwwr6x4%j2Q+2CLw)MFs=Q?XJNE=czMUUy&c$?);>I*O)Nc47Ss_J(WQUN1r-L7JYVIb*;B z2k)aknM1dvs6^S)vD%0zClMDqyCwfw&E5=9v@nbJGZf@(MnY*x1u9U+&D%5O<#rI+ zvS+YYM^rgH@AFSr^yVJ(ZZ)b@oP4bYKX5^`p^z5l|pzF*#;O~6*K^dl= z;WA2W-`!QjV!du)a@@^A*EuuST=mUGRqre7LpfqeA-6_%YDwQ1;Nji68L0gKo{^QY@4Za}D06z{7NG z5R9#9=VYJAC=CWc@koYte4pm)17@j%*?oeuz90wu`Ei)I{Nn8z%AjvZyHS9e*NMOX zvkhiIb1A3vD&513%nVQRNN#;=dt_L=mlgBMi6q^7isApL_^{+VqafB^*6i6K7h zT^Zr4saXK^F%$zg-`^+weKS#v0`5L@n!5cxps!>*P~Ae_6Rq#?OkwjhhMd)}Qu4z8 z#;#EF_QMz^!$S&BedBZ!?T|++Nl@QWFbyMd?$Kv05M=&En)nGq&dPNo1fQ3~u<8lt zJ7Z^dL;zUBxsUlyDtBI>2hBo218V0XqaTIIqQ4Fe+AL8<0HOD?2I~-i7dkgy&l1x% zNnafa`4>H8W^}6r^Ak~DhA#uqP?clzqbQ-0$>r@O_{R9NU-!R>gD?1jB#Dim z&wVA09k#bwQ_%bL_s?taEd7$@x8xOV06p7>xRYxKlX6%uPz)IOL` z2d~pHL5;CyFMYSzF@)HBccLsh)*G8cy7z8QUaYRMCnMJ6t#b|I)vWW}%6Gz`&BEr- zy_)903|lobyyQS*Hr9;Vi?xp1%bnZ0AF-xhuYH_e-I`zZ=edsCTPI#?Gp}EJybQ0pRU_XfuXWtM*CBrV;x@kF@(;%U>hN#G*F5^eaqB~gnz~mugglIr zZzq}a!*o>Z%Bb~$WB<(LzIP*hYXS!kg^j)3@@?#f2hA-HjDz2Vs^%tW?lKW!-EEljTa*7{ z#shx(%*=TB%4>1)=oKWq2%J+DSnnP)#zF7k=h8qQIUcZC=XFbXfhI|1TwFYg2ag^H z5noby0MooDQYH-Ps=>9D*)&A`0AW3jfzVyvW2ni_4z#?#y<>t6U! z`}TL@Yd`ax>l*t9wrLH?xKy+khsVTzV7I1nlh@U%0LI?4HC>~(hkSe68*ApZ&UMey zIMMthH#uvpZ|gd}rc7^b8H6>OHF^#Dc5X}&CBUEaoc$;?>gGV*J!@x#TK8u_yiBM>tMoeu^T=B5c1&K zuK1AQ!~Wol$_G7KM%!NV~8X2*>{6|*YP7_m`*!{0r*Y}ki~KzO6T z`*2L(Tyh9DzTt&$h>HgitXG(akPnKD9vcr^`}qJIy>7xIA3lzQHPl`{dlHvVKSHv_ z1rO9)>s*WdgzNB7v|n62v=lSJ#n|w59$O?2w_E=1&VNC~8h>uQrp|APp36obKP0aC zmUhE+y5Sq_qsOm>4^tYJzhFQ9Tb@C;H$M1WeAn;(o%oxd|CV_F@nwAUn0;pkr^6|3 zQ3rAPn%Gap_=O7pjP;o7b8a%bc@6gf&5rK_ z=Czpr29ap&8cv-!Gx*YVa|HRg+_Kwb>ohn#)N z@9ZhCX3rBaED7%?`HZNm+PIQS3;7PMZLB}fb!=~LG$m2ZtI(_#91nt6TOnrrUNS4mAI^cwJF z+}B6$+}0v<_G&XHr`H-!Kb@KIwI~Y?>v6t@CmOlViO=koFCFhax{UAQ@6q19em^21 zBF2M^8|;=3=;Q-GC+`RL_Tp*C^Q4Gd9%2W+t>lA;k$ejY)+)~jeSO$d%UvG918U=j z$cu}i^8t7$ad_n6g00Wk9QEP9If+mD`c3PQGmrNHqXiF~aM3#H+wi!h=9ZrTgY^RK zEe|pO9?J)jdyuP~Vjf(X^ksE9_ZP|AJ}*MQ)m~^$uUj5uJ|x2j*X7gjftqM*e?BnD zXJmwiyWm`JxjxtI#p~vOf#icH@5lR>@5h^0Z^U2wt^ZH_r*HiA_{qbk<98l>DSR!$ zgSB+SSi3;`3Yb{HJ-ZfBByrWXj=1ubWHQDT*VtIBiQ781S6k;+KXbY}ebt$0GhVIv z_U2qSd8kGFS-z?Df6%yEPg$R0Jz(JU;Q>}>2mOgH`Qm5Xy^5Rl#gSk8oUcJT%*(6S z#PVgc*9nGWglkz_9>UtvL2}pezC!|UzO0f=a7ajkd%(4(bN1W!LS9@sYRnyK=LAgx z!$dbS?wmY5Vy`iw6&d4Lu}tUTt(U5L`3g7(auW_mTw1*QSg``{ZG9Pi%;PF_GSrjg2*8X<@BbfC-+N4c2@zo$SGk+HRsZZXSQ4HxG9*?&D4b1l{vKZRe1ERpY)o z`)e<2)HQnTWjcBD_G)WRUaXm$@pQ7|x|>^#OkYdsx|akeg@_p2MaB)k)L7pn9#gV&-uqO|Y3m<+Le)B3t#KXt2@!?-<RS7vhCZE@hIyu-x> z40)JWY20ynR~O(bk2ef-Rlme;20G0B*R=iV(Ue#Sy-CfV@#bW>f5CBO;K~%j>Z!^;~qX8gd7Y#HJpuuPaOeUkg$xQst zzl2}-L88n=Q4lc{L5hShFc1W000M($u*`0G09rX>Hrq_bO$Mz`IdaYco?~9;S21&wefvBe z^KCYr@;kNPJV&#wr|Q{jL*Iv`l1q`&q{BXq3v^p6HmHVjwkdpEHwkbKQ@R^BrE*PI zZI$DavDTsexdSOrJ_Vd>vu;99=FWtk`QRC6Zo=kswyjhHSc<+*HrTI{Z96NG0CO=n z+0j8J%ayF#4tL%$hcWwr?_k!APblN8Pi#92GvrD(@o@-$0XIt;WA=P{WA=S#yOULJ z)Ux@6GT$|LE~5RM!+fAURpWW<6OLhwjCW^p$bef+s<;))`*!2kk$nezoO{)$e44Mu zn46}4`*O8A-h@5Z&iJ4MaWm0Rb<}LvVUER^CS)4g(=8}4PufoByfQR-+~R`dfR4h( zL$^QYt-7-(Y8NXWR>5miqLicav*2SZWkf$$IG zmM_mFVuX(zLk`&&-a!Stfie#NP6RitqChS_$fD2zkY~eMZACRve=v5=&{{_axd?@G zGzwy)gn}JbG@M)0%Hy~QwG>)KNt--o1erQTu$$~89BEsv&z~qtQ9GYA{f&Iy>x(C8 zZ<bPFRk@vma?!A~fev+9*Qi3xl9SgvHuviU$co@L`ThxIB~KDAqxvrF_Y zYTx>+@9W-gaewIg!x?+aG+&QQ`>ECPRov9;ljR!c9G~pH>rrEO(PwL)#=lI$KWzNHH7xc#JgVWgmB7`>_E`zpWX1IJ!SvQ(Odf5 zOFu2K$Q`fmHWVthTimYs2tI)sy>(0E0Bu2Ysk(foACE}SgcTv2~crFRcyExsyuxhNS=x%H>Uou zDJ2WWO_md!bjGS}%9XDl{geI|e(n0AX74^x^z2jiS8*E8P~$PRj$jJaay42-(mZzi z_UpZ>dvCppsrV=HE?3-Mjx||+Hg*0)T$#DwuQ~a_-p@&+!@j;ZnsbSxazy1lVxiI` z#~5BQ^9sVPW*G8#mK8K+W962s4LQf1+Q7zUzrkj4#4Q*%S-y^@0roTP`AyG%G&yeK zoAa}Af?0iv9B1&8{HFFAV{V$-rt-(-b)4;{8Z%(2x-;2cX`)+9cRI_}Wryz@>E)$;in*89De7)puuDV&k~^)d&@(-U9$6|xCF(mKn(>lz=cng zzJRzOG^J4k-ZYF+iqw&#Y1EcR1z*7((^HY`gKz4{L07uF!e;qkzOb=vTq+7`Tnf>{5rZ8{2EDXp4z0rfk#+2TME zjiNL<_YYRs^Khb$h(;uVVDnalMDp zKC18c!+O+Sy(LsMIegFbE)&q=6r9SonT(k%580i|YUSe@8mu(<`kqa{LEpJQjn&+H zaXWst?fV%sIfwbaz2de(*XG-g!EdM49QHHq7`fdlR{g5o_;pydoA29=nH+0AP_Eq` zmZt0Cr+!n}0oF~(W+uel21vWYJca?2QS0Vaw+vMn@v2Qh{Js7#`Cdsb$(ZjCaU?dx zSWX*wwU68wevghC-JYH5*5U;P4_@)07rPCW77sFb7g86m@KGo{jCo)as)l0FG>saH zK}%f09#CT$pBZ^(ipE^gmww9i27&B|^i|!2@!0-pVUx zeWVHwJg;Fj8k;7oIDE&?K47x{Ky_ThiQC7N0NqqZ&E{C+l@g>I^l?o40cWdn<)Wxb zE^5#J>eWuIw_fd1G#<`9DhN}bE@uvSP3trEhN*0%&(T>-vSdnyZt6e9F-=OK0L z6Z4K(eGT^hM!I4CJ&!@N4^Pu%k-hCzN+7$EeUEFrp4Lq^?(rQT+dFp?+ShHWIV?|U z-`6_6W`gq>spoJNmBwD3h&}Le{l2sFSO01=ulPQ%zWdxU``DhI_q6?L&T2PS+4>**Pz-nMOAWy43Xzp;mXC~zxm$mR(gxqj+Xmh25u!kj2j-vv!%qtJoVBl zqNtB_T2io%RtGvfIMl+0TB11h4_L=_%uA5J zC)=_nCR|iF_aN7noyOKh6kE$~vE}>ytwn63qIGgE@@z|2^yWL2#^!JU9aq#Xxc9mefn$rfYgmGVLeKlTrcjFjbT(H_kZ?NOK*=My4P?TT1av}tHoVrM&SOZr%fX) zJHmWw8gw8Hy@5`SNk*gCx&@k zJDEF2<(8rA)_!zx96sZ^A*U@n$qyU(81y~S&sRf9=~DA0a@FM=a7bR^>buXYeaeSe zSfb`N%=egOQySgb0ixM#ZCJ1AoTlJ{sww%M3 z`EB8{7r8r%+m_pj)_tBfU!Fap_N~+P^6atv)Be-bSM_J z*Vw%-yaL!>CPZ~$Jy#wbeFs(}P=`k3AlcrFiPiG}3L>Z3NKf1I#}5#<9uMo#(<9=N zju?m5Ri0xK2`>Y7#j00D@T=kupW-#f+_-7#{BgK#Q{O5ZcOFy4EE})-ABH>D{*E7H z&fm!OWItOfC#H&doot&B<}1yLX+ZMcb+9q>0iTYaKE~~1J|TysF9L01*%Jrjz{bme zP0BHF>YIK5m8VlGDfQi+j(d({ZectRyc09GK%8wb5akm3oJ`^{Za3#Ztt|bjKKd9K z$T7yPnwzSeNq9iqI_Eo{^|@5I-AltKgOcJOSXky^o)2M0igqEta7C&YZ5={(1%B^tXL4K(V;x^2~#qDw^63*L{q6m}l?{MEz zK-RjXm~Oo=kjLDnzEw~}3q{HQGRR^+)4_5n7t+OSu6EX{Z5x$btD^kjvwXS%@P_QItmE z-5I)qGp7(Hx2|6IZmvUK9vrFZ&UJG=*K*tH-R?szE*lkUUb@qHTvh_9HgZ&PpLhF! z^{M|;w5P4I)S7mTd#-mkhzSt|L#E0pRA6{W7(2gh(Hou}j!%OgJru025sBfCpS~ z{AmG^X4E~d1Cw)(G0mU8UB;6I9>h5pjQP|U5K?r2NU%P?@UPURj1xW`q=7n*h}`o6 zED+_vSjpXW?jUp1)CQabnop_v*nc0dn0=L{RVO&Dza%)*(zSBi z5^z^R%TTIxG&Jsu>?a+;vlh?=oCKHhjNk*}0+wLxhS~ zm=J#m*A$rz5CBO;K~xb*NaR+3I5&RYH96mw0%Ec;+;O8M7Y`Hi zU$R5HTyIo)$1cd@`GeeHZ=$F`OoIXlLj2Za0Bn&X3r$Pr(Aq^5oN1wV@;sfdctCK{ z$uTpE(sI7ilGlwhzE{f~s&nGE0xRV7Yt7 zJ*L;HD>FUr&h(GF-_Xy!_t$mlX_7_wnOzaFsd$npJl$0njRHPX|3Mye4}OMOC!ae3 zG~*^4PPR zteI>vS?=%(3-Dy>3z}u)9fCP5Tb0diGg!H?DNSvb_ie@;YqD&6mCdc2Y`c!Gvl(-& zX&PgEs!!#8oAvABjZfn~tvtjHOyf$6V}BeV?hf}?WFHeqGCJCrCiBu6!(|KyvfAHg zC{sIXZ=?5T88*hHUv@?{jx&K0tGeT-`O*lG_U!r`evX(lIUG9)#}9@aTNYLmrT##Z#U&!xqN+Vj&*pL4+UV1;5}V zQ*IhH4L)!W6vPCf!pHiChfqf>3Dxk>_k&-7#TXBE=S3UanqqKC5nWTnoT4d>A_$=9 zQEBk&&?OMmj;U@HB{btTqcQ*Z;_=xNJ$~{;XXlT#U9Z(fXwDox|1EhojJ+X$$09`( zl7-fcyTMjU(Q3KU0lTM;xHDc2dWV*UkaMw*=Xc3p1lEwqA#!w_OAzav-S$#q3=*pz z9l1NkEYZmGES#5r(*MIB{f_=0zx#jHfA>58m5%1eDh=}?DAy2v)w(Njl$@z5mQB__ z!Pj%P8`m>ghSAYd&yE~X0eH&r8k0Wmj8$&gWSw}kk*0d}F*k0ijuo?B@yey(8hEEx zfBhJ&W+ib1)a4ul3re;Q*;l_yjf;bBG2B6ps5aD$7e2Ok1Mg*VbWngg49n5< zSkuG0{me()ib2StaYSV<3nmQ*4m71r{gLME(BU+MtCs$#=2M%`&$u7K-C26msnBT%yBPjco_SGwc#P|2RP13&LHLy zA=}P*jkn3-wBLQyhiZZZ9^M}%f=oAxMuoI|$QL{@oz6pJm? zk-y;66#THS*ISAngl)@%aAS^7NAYrjakz7J*j#Kn?5)=V?m~8U{)E@5=UQ_PO(~pr zN&W1}WBI$ZOU}>hP?%!`W5Q*gNtpm+iCwM~D(v_QuR*u$O#L5ao41^on8f+z6Ri#o z^ufhDdRWfof6c{t^@)cEN+&wYCd9F^IE>w^Q`;2Bnx^bf+y>bSZ! z>E~SasgLDhOf!6q_}qIw?f2vN^~j?3&7bRcYWo5<9L6o1n=Aw47m$*SUuCb7^NYjt2zb~R*Fdg5 zDKfv_x3fnNr4%aIlt-6+ALk6#%?EggRhzjDl|RehxP46aw{EJkxv657P1V2hirLR( zeafePQ`di>!Q`D@dKEL zcK!zYRE-mQ5pr*P%!3;rGh-^5TTac z)tvkd`J9LPBEH&^cTKrdlavpCd>K}q9T1w*sDKH1%kIaVse%)^uP19&LYx^<8a)ji9yk>W2|E=Ts9_<3^yo2>16m#dnRW90F|2vQQ znvuUGux1`#QDBXNbKUx15n&EdyqckWjmi8<;c)|h;^N6)F#faO|IhSyHvdGMd0{4> zvJDqF!n1KqdLPsEp6HJCy(tje z3>mZRdn9FS=2gGq>L=Fq%y^{l05}<vO;(bDeEL}CDzVcDF=_~?p2OPjmu zYai=V+Q+Ky_$vFpaZJ@c-lzl8d{3p@G|sZm$=q`=H#yd1EV;XZrglTt?dLIgZW_w5 zQW!e>4B{1IlFj+04rd4I*mI&>-Hx%20&D*bMQsBn^f}}B=l{MzY&X_Z$DE56i@D~U>ta6V72^V0 zL38;(*xpdcoNqRp$vdme;oQtkte?nliYW450K8_BA116@+QqSzSf36OYpK$*0-d&e zpH^5C=eH|h`kh~#>;A+0YUc-f@$@t5N`UKQj|hD5i0FBj2?0K?eXI}j--+GVZS2SL znpoQ<+f355ubMb^GvYOw4_fbGCllJ$IJTMw1FW#b)7Ou7j~u!0HOXz;NF&ZQOE9v( zzN@y#%r$4EvwKr2OqEFu;x4=L8KrR!yPnq4CsU;aluC}@OF(X2B-Zx;$X?2UTwyzZhjqAUvt~dO(|Ca z#iFU^G`Egvrx`cxfGGB@xMiSg+r&0}K6l)>Ry%qslbF=q)v=Imu4?7LrK*wn4RMw|Z}%bot#OUH8ZGHDMfy`Us7DR6r=vN;81jCEroZk1$^E% z$rtlB`7Fc&gm|VQ(3tx+&!N+@!3Y1t`Ai2CERVr76yYG{(NP>bqJ0iq&e?O=u$wz$ zmvv6z@>~o45ybc+^-=U4R2aKsxi;ERppc}}N&#+Cq&-Se;XFI$70j=rP+C^zW9~Wb zMr*!{+aRyW)y@~>yinP2WH5QSw%GOOarrOMnn=G5Avh{tk-DJFS=gkkCLCClXacooF{-XiGx(PAwmCB7d z&Sb2Tam&U{RR^5CJs!Zz*P`{|Qb zjXCX~L|5&Vs~!NDQ$v)4Q%~h;h{Uo>m#gsyOdJ+Xh#Ba)r#$IKyRplyZi`oqTlF92 zhL1Em2tVK(9%zLJ=#~eo^$vZ@uB`LJ7@tCXFK;PAYo^U(#)W}FXB3gZzNRpBekF+P z)?xFHDm=M{+|Ch1Ziy2GrHP^iJC@aKu0#Jv%skK!DS)P9^f`sHkfRW@q&OVnw`>== zlbSU}g_G;Z<=xtbaSL-DtC4@6efLT#Vx!~NZp$G!BfgNOAcv_`(*q3>6D zYl_C@<(W*W^DxhUnO;&BRDx&ZY}Bw*S?iLVYv! zW_ijjJFeo^P1cQDu4K$q_3L=G@AIjz^H%#*p88m>K9)_^?QeNX72mT}mCsLlCkLd- z_n5;pJpj^YiVZR*iR(IBSX=-A5CBO;K~!&h#_Q^^4O2d=j9N}kXW21`yNw{4Og2=0 zoo|k3hZOiQz@67|l`;;z>O0)AI{*rpe?j-l+uzfN=kLlz$Pd$IF;~lup^Z+30uVgN z8wLvoC_Iqzq0Foc4`e@xONlHF0k&m_v*uy4O=1iR1R-iDivFI<3lzYd0b-{${+ASi zjtBpivDS=Rc*wV9ChKSGGkn$x=HfVi7#r-UVhF7%UR#8q$bZ&qcBc{Z6W`vGFZ5_%=PHW`}%XA`H%E}e&s*W zSK2RVJn$Xm|38Ii-7Z)7m9#rVpoW6JHcp|6@DAJ53N&dQ@|6`W&jk+dH63j!1i8{c z7f|1N@2dBFItPEJ_ND*thx*JveB_h^5k+HZ2ffc#^(}{BeJtC@zLrf@Hh!IM>^gE>rK#Q6b-MGL_U-mHX0mJ_^Ga2(cJqo=UVY7N zH@D5Qx%DX-pX$$&tKVLZs$R=$%p~XV9Lq~;*f+9c^Ydl^i}e)gu5j*6@{KlR%y{>> zr^;CG-P*q{rtU$TxaJ@$#g**#ZZt z$wCqG4=OxoKXm;=i5a_yErrN>&LgCPulPW;%?mD@?MR;fq#aD&xh!o5abYnyi?Vwj^Xy@#(&L}YYDt$gw4KhkIZ5k<|)b<{hjWxKzo zgDtaK-m_{sw{p}S~ zuAmJjaoDrUs82Q9p8^M9KW^Xml+H~ zD!xavH$IIsn7J$rgcvu&9 zF{Lz$rfA;6**P^))SwqrNTq31qNp!$Gr~I+9?YR4A5Cc#L5cLq1{nH=LKWgqgi1(w zXok%@rvo1JD<1UAQq)pd3!lstW0=JFYl_tc~-Aah}3> zOv zefqraEpO_T%iCI9kh9a%hXV$5A~M4P++n>(M9*!yE@d}HUuShxrE0Id;^J&H98+6A zZr@+wz0~(Z(8zk<*vZ#>_OrAcgLkA?kN0wKu>7T;fAFzIEqd3?Fo@SOk9VD6KfdbM z`5N2L^GW`WxsDvSpKIT5-_D&hxKxX?4A97`ZOW^>??2V2a!qE;u_nvLr?T}*#;a^z z{mpGNH(trQA27B}G0V1@o2tEXV^gy4vusnpefe22&%zy_HU^|weTuHbGiKsB=+$+f zk9Tr4OhTuk&3+zay6lvpgP4y3`_v^iZr!BeFgA#CF3a{ew_hkM?ohSwfL3;r85pRh zsCfh`v^PJW8@-eR#H)?p;M}+*h$52s0FAN+J@(!(KCnDyyWoHu=0m)w@NoAOL()9jTpt%CN`V#_Rv3;cT8E}KbaUS5=AzYtNh~Q;hZLVV zJaL2+tJQA_^y<#}IR$tQ6_k^+B`u(S(O zHgYi&M~P5r8bxW81(!9Ru^ZcL)*`(cavvU_>fXJV^ytxjeel7LxDHAi{nL##+y@Qy zv$)PeD(1Csd0Ou?IG5>ZdqsM`s+nJxzR%J3_Sq*}rX)@C+G5?bYpIBNU&?y>mCXI& zg@rzGr>3jJ`L48GsoE;H)ib<~8=LxBpVHJem8;Kn*wp56tB<+KcJoTsP1emzu5Hz( z+}Z4L9aTTuuJfz*YOB2Bj+@HXtB>VM)yLd+Q{e=6gx+Cv4qhB?h5> z_y?7bovnRD#f&_Ys+0M4;?<|%=~Xd14Dz1%V~e*{<}3MO+cL2kM8g@!D2X>sQ3Dte zYD%L_jBV=&vI=TP569xd2Ge$X32k)9uIB(cETIGFIf~7_Wux26R(B5Ox_2sy`Z^55@SB9oq%Fte`-y+E%M}uHYPlwd}Yut@H94akW_S9i!AT z3;(K;S|}f(fH|wZk;&V+0)x6mgf9KhZ&8d((`dt3#8B2Vg0;m+I{Iff?AP5(Onr#S6&mC#Mi^(-4^dHLQ^b1BQ@MRpW^s}mfKqlqt_4{P zaNdUM{BWZgfzd4O6R<>_!x5Ncm(QnK` zF@J2UvF4`gT;t6v*=E^(=GHBnSAEJY+itSYl&WoteUf}#9>+}aXUS7Pk8Rz=1I3Ix zIN45Db5(9*^|xHf*Q3gR2tJ*L!*ZAjn7R#+KQK0#tg>NJkibW|!+wE2x zb{|cd>DFweLv|evI}<-5SIt6v8-=%YyPazljTX&3cVh=-p2cjz!+Xwy&p$G`w`%p~ z&82?&wHtcv27X1lv269y=}OO^EY;u_6oHdPqnC~sx^p2a3-zZOG=%W4mRM z*}6FF-^+Hy1He))B6c@WBBqGZUhiYAhayZ;s6Tq%drXU(aZ~T5J%4@T(Pz{cr^!+C z?sL0LvTE~oq*k>Pm$N^W3pMfA6MV0{`~wcl7zY$NJ*E6MgpPN;g+6JFiZ!-&pB0 z#NIk=wQM>HQb|&GsgvbQuirY>7hbrbAA9+>{`41L)z@FSrB^9%w-!YQu~DSNrqBCsf-h>&P3kC}i~58xClR&|4x zO{!5Ou%AgB<|d_G?9?9Uv;Lt-56VX$j|4_If(CDmNA*cNe!dSzBZBRfP-T1dttT_u ziMNlLG0UdZ-3?0G20dltQ?ku8!P3tdL`#dg=Tb(^f>Co*Mp+oB+RRM@yt69C9cNzc z*KynJXS&XA%swW|Q~J1=soylV%G21XT;r;r^{H&V(zEbtue|0TZsK~uM_&ER?fa~} zzDoA_H1w<-lUPqD)oXkc%1(J%2T^(KD2Ze@=1Yz4DS!_&u$xnu{6UD|q-n-YiCcgw zJjH;sIV^=w)v=S=Hd@Y(RoGRS92Pv3=YG(_I||$R<(kWagg)b;dqB~;x0vgN**14% z4ZF7sH9BaeJN|Nv6F6gXLDak{TD6h%XuZ)7AA5JRq42bN>&~gZ{pQPh>-k%{bG+1# zzjjCW*qOa~_e9_N%nSPQH(%6W{@;8}f9A*D&>#EaYx?6~ejR#MFHi(8DLQk;d+oVX z{h6k;hRba!p7UV6jO9PsrH|#+>WKsP5N^;BV%GKgP^LC{z_n!YU z>+jME3-2F%z%-jJC4@_g8OtE$+7_K(oU4?UIKGkNZ#r9cY#Z_^1RjbgIz76hgV~|- zi0mibQ^3Ub=|raW=^XLOxhwdCLbDzNhjDc^+QeZS>?z!ssm9wc!o7$OS@b&Q_K`JJ z?0zORIWS?49K-p#l&ZUpBZdF~5CBO;K~%qyiSwSAV-RilZC*dV{!5SgK!*+Fxp<6B zJ775_WOL)Tn}D)t8M~Gk$bPUi^Rcklk7>yXAm^==j@35dw%cZ&d4@QXEWgCvnXU;m>^bb2Dr9rsC4)U8kwJr1 zN5t9;*~?_P|4>z{#&ou8II5p9-<*b1wg9CaUNLjj%vJrZ?^5qor<|NbvyF79g$j4P zJ&ZRNc$jZ_CFzHC+wf>dJ}NT`K+!q7lENot!vmOlr9yYExh}d^Pqsy8Oyb_E(Q~{q zeED>tFTHT88wWG3*pc0#>UoECgYVC79WK=IK>w|G-qV98XF9>>Pk!mM`g7m zdiRE2WLNi-U-+#4(jWh}{>Zn#r62nuIo^6r%cG@!<{MwuPk!-D{fTeAt)G13dHu{A zcl6`0oa&Y1nO;6@^xARDYst__+wmRVR)=My+w-FOBNaBBYD#Fcx!|?qnbs5}PF@?< z#yho$Mh!c&Eju*pg+eCQ)z_hAH@4+mBMMMws3!{BX3bw1fLeBEPc9$ozyE`u)A%MG zymxfJqZs%@Q1rgOz$t~sYzTujEqzxJj6I+p>H7gn7Fc4C%q(9;Ny2X3xb3peJ)%5p z5y)U2=Vz>vZJ`L}jC(C&8V;b8%qtlPcLRm^L;Rp7`_j)pP!_e+`mRoEny0sj3_Xd% z_JIGPn*%37&QZy*Wph)N%}ow9x6L$_tta7R+>|;U&^UMQJ`h_?h}i~@DU=b$?O<+W zC1aIrGg-IY+*C2k6|Y#;%}w^HRDG&$zVB1@%CC!YoXI}bZrPZrVwLaMDpP3k(CM6(8_I^%Gc@B8?=sPzkRZw?U~P=2`6JF#B2kc@}!%(jIhD!d5s31S5?M` zmYP#rHW{dVDnARWcs&irn4EK;SDzYVdoOqWE!r7jjsp+A7kXv+lA;v;w%I9gF1YaM zPz!c2_fBM+Kfv%W5+82Fo<;hIcZRoDp)a1adYPThf>(aGmW@_?nf21D<-4m!E@FNy z_xSum&$ILTlV5m2fBwf_*K4rZd0F3h>s7t_{9V0x=cc;u zLcja{KhPtJ-I7<4KlA0c^zE;GNpHXQg8l+KuFt&moQ_YA_55ev&`|VR-S9!%8SLKqkK{J?+79biQxI|QaRF5>G5J!L2j90SFbY)fMv3-hH z-CP{|HlVTDR>}TJ?go!)vufFVVz#<-MXFC4_Bz`>F4pe$F|U4=Pci#UaoeV3n|-EO zmFpdAed;rn)3y&7gbbTJ2I|=Ssj*VI3D{$OFY?x@Ph2wG9;Q@=E`5mc zwMiM=K86rwx$>Gfbqo=7R-Q$EnDT&S!<7ZCA)6!o01o5}Ud2TO(V=r5(odjM3f*%& z;4$mQGW1}x<%MIXhnHJD-gJ89WUd2tHjgjRFE{Gg(LK4i&>eP3C#xB+{$9yfgm2!v z!7gs0Kg(;ufB&bxrdRIX(#grO7OS~lfBkhG931L%6sxa)@eBImTW{&k?OU47TYc@v zzol<}>l^yg=ibom(<63M8y%gT=;b#)t8f48&*~?B_J6Av-g;Zdcc0hd@KDFkzpSHM zcXWE|u5LbePq%K|(l>tWD|+k8U)LY~@vrNrKKG)Yzp;c?di#~<*uA}=|LAAl)}Q~z zXZ6(=PxXzLj`gLx2YTc7Qm-D*bN~uL^}b`)=&12duBc&c=FLn6e!+Qq7uK;bg`HXh z%_vkeikYvSe_XT0XU(ffTqI(`Yp>u>AxF_$H@~F6bo%cr*!5}Wh#l?ID}7wwf10Q+ zoqGRXc5m`IB*&vKJiS-n^DxIq<6Ll{S%wXI2d|z&#$P?bo@y>O23exf$yf(y4r4l& zK(blBLM`PW2$)r64M&}cqg>STKfbo3$v)--5cNqg{o;tE8l#5M7I;U~yun$tdj`&nPK4z0Y( z)z7-gc9Z2l4DIKc#y({m0AJ*(-zYPIbb$}pb<$wEV)aHLZ(XjdxGOhbgG@g_=|jw* zCQEyEsg9j}N7w>!W_GAt9zeqZ_`v^C2oKg$h<3}#h2}hvm&k|UzKzK&K_i{8L%Vmp(gSv8ZRxaT4tGyhI$Sh*!VczOwa{uY=g!>fXZZf> z1$JYFT){ZAwrE8mJGy?J%8^-{gJPHUVr9m zZ&BD@(@S@6>N77sr&~8q^o3XM>L>Xg?~i`&1^wwSy`rzYa6>Pju5|Bct`iFS4GP5Q2C^Q!`e*{kJ~SXZ)Soz7aj3{l=x; zhyGCdPR{9M_On!5<2tWlQIj z6fsqLOcSU_2Efczb5)L0gbfI_O;!8Z?v=1yeax+!s(IT~{gCX&+S<&C%9mDwk$<&+~R>v zp?df6hKF*|Jzmw_T!ik;q{Bwq@H+0@M;E$z(CW3DD_+|j>SW&NaY|Jm8O&Mz+Y zh1Xu9DE9d2>4|Ppgbq(`=m6SYoN2SZ(CYY9tCO2Lx_L*Z_g>cV?K@%$>ae#5M_Pd2 zeDiHB?%dP-=tKw4zpB~s4Hb$-XOU#OvoHJne=Hk_N}SA=tl-HjVJ^t0dk zrv9C8eNC_3xvdv&ovNeo-v97{7A5rAd$;xCjU&B%?}lEXptZ5pUB2%-o`wAD&Kqs$ z$c1<|)6smzYuBabWu`ehH?Q%A;?+daqG2xZ!eUx4A+3m+HAP!?xhJzD9bL}#%!6z4 zw2dS?;J&_N{FDkg{P`ceyMgy?SL;9a`1i(1-*J{zjg&i7OD-UYiJ6;ve7BDGyFgn9 zB7tLJ#Kr(RrW^G@k}0%%3~T53UBi|3_TPG-H~zuHE8t@!r#F3!%fEHgzm4%qUNAC^ zU($M-=w`m=orOUk*33vxHdZn+$c}S}$!l-Zr=gvT;am=?+{sKiVGPDiiJ?#0bvMe+ zJUqdPe~QyQ&TG)zxVgz#CF>^ZmG8^eD@}bW=G;}@=U!}+ar@PHbL+;hBioICoR96F zNF?$)P4i6Uop^lr^*Z+*{7SLe>3un)UL1gFrbzext}q_o3426}$g+jcU) z$x{K0{2sUA0o(EYPekbcdZTl0{?l2b7b#k+cB3<1BT~zBG?PAfe4#@g?1wyuSB>Oi z_Jfbk^}~l}x(j%hqP8X8WB=&GM=CtUPYzc(zlfswuvyL;FVr50%3{>mC{nAJ7^mf530vc~OU_H?=%GEf!Y8z8j9ndMvTWM5Pc618C#U{Mqy0@i z^sL^lzFW=h;|P=GT!dcma^wirPiU68lzu)93%r zL%sF)9wL8o+s*jN{!*@zBvaWoQ}vUB3_yroojdBY+8FA| zrc(@A0?nk{7q^{+T{JTl0#o)4^h{ zdpAyWc(Bw!nWnRwc-N9crG*@#i&G)@rY0~MKcOkOKdZrX>oY0X0Z~3DM}+z zG_+V!thN$)l1ea13Y&`?yG1l+$to~!pPx!mP&|Y0vx41Q!AFc6Yv%dU2WkjtiMY-8 za*clgf?tcz>1w98U%IV7`^8uEv#&p=&$Ih{^>m>ZPiDHyyVmEItqxnUYilWF5|G;H zDEy69jCaUf4=G@W6zK)U>;M_F8c9nE+~JmUJLf#mvqkoF%$;7$NqN{{N@ddF$Mx?4 z+fBXJ_vke3=-cvxfz$EG+~52Gmn01yC4L_t(^SNdDO@PMNBV8H*)SU;ME8E8DN zMjN4L3N=S{*w-s=Uh~?=WUP{P?tD~xSu>%UjrR@uPP5TuFk)OdFEWZzE(EOlASPbN zuwKcSW%Ei?z2-1yEStuaoBF3==%%>k0Z!&TDSSeAo!@l}Qs?xnbo=91zw7c>o4Mmm zmZ#*noQH*}VUTN#%@A!c@VTqDj33~s!vH1oj$`!eooaa6>v@}xepeob`l$5&Lv($P zyqEH(nTB3v>?M3X5H7ur;Fd5QH;Rj@ZHrBjcMBb_6oV~7QyR@FB#&`x;Ah)T4=zI| zv!WY*bx7Vd*n%SVxf=`lb>iu=k$(^^V7y33?q3dj|;$ zNaVHN$7ndJch5Ue`v!c{45!))Z~em4JGB~7dAeWIReR-j>9bnuX=>|{XZQQD`?@3d z^V!E_+my;wVYO1_^N>8d-PQMs_GF_S_p|PgJm?XF;5dt>l&gR;5uLiu2Mc2k0}U)O zcas>NB1WDj`#8>ID|!|4EgNfT|;Ao*G~Esoj`~_1J-}m~49% zk(Y+G?-BY|)f%5V3e93p6S;Su^fp#?$38KDrqQb&uTTWsClx^t|b{>&ZSIa=|sZuQ=ib3NocvkSkz zq<}m*zsT`Ey8pfw^JNwf0Cn3-irE>wqdr|wu-3>MiY9#w?mwGO(}EEv11NZj@ex8@<0)xAV;BaE{|_%zB&{eGq6UpgOyz5 z<`ktlg}Np2g7aPQn)Nw~+4Cn$z46?MzWVZW`u1C|>T9n)uP?sxoL;$eqF3(SWDOR& z!S`)19UtgLcBD5bj`OCGxDYLQ=4~VEr-vsx?T*A`w0nd^H?cWM+iBdA_Ivyoe|%~WOcN{q7OYrOheHdTF}+h(e` zT7vQ#EfppId}8wL)=tNd$pPG7y+tIT>6>=KeO52=e_S|+(G*| z*i$C^RKlLEI#p%ReXe#*c-mnYTzV9z)TcP}1Xf=66tr`szYz=AaZlI&Q)ELWJAn4A zf+Ij^VlhNBh1A_SBqA&(Ss&aoK6NbS!9z6p=pZe-1y&jbf}Y((qoxQ7yh5|G(FyP2 z?myY;-G>+Y;iF6O9M*kaC4O|i(f2+&lYg>)ylANdTb(Rhy~=k@cX+l6yD|PKsRpP)B#2AXtiYLHrI+B>oL32TL+E4^4bgf<3IUL{fVFamVWB1 zZ|gI6Z|gJ9Kc}}|xu@q?k9()b`uZEM<&Jg1E62n6O!KzY@xh@wc9dJje){w7g^?7Y z{uubE_oy`Bsz=p__z|vng37#j2K+pf`lQ)kT3?dt>Fv;BCZS6I$!h_`IgI2TJs zA`wT0eDwX5F6;rBYkcJ7GgbnR1nn;$sAdLxpWYI9`unsu|K0;6C5a;-H*2%fo2*y=s+(7ApWAj_O!c$PJ|<(uLekVy*kgA^%3t4eINaldZl_?VblDhwHHG2^`9ucnEkWjhH-}b zHC#mjrG2tCQz^RU!xs$sitL=h|BO!P;PXxgqxDoH2L1|3RcvoY+Muwr@Ez(k7Gdhok zoR_hYALMf$fIhQR-Z9E+{tUPaa9^ytZd&^7mcqkKUtDA!F;#9;tisP#p!%#Y!$-Nf+wODPqPt zb8>W9IJVTnjeNxlh1KJ3vBe-ePef5^8nw$qHOrM+)~78k>rfPwZqpIFt|MMW9?pu6 zC~R+j{`30s*S?`Y@yGv^{>uO1Ki1Du;9h&-u1*gQ^qCj$>F&)Fy-0Dpxths8HhJ#k zh?VKIS{!QDwamvY+)W6b)&pJ7h#G`}RUF4E4wjyQr!W|~U&L8Fl|~%tk{!y&wQGEK zpgQJWjvb#JrFYD*DSjpAeQU4b-nCe*;qx)DPlH1Y_?TnR&BC$xg_VKq7c7upKfcLM z4bfhM)pyP)rjoHk4u3alE2>$>RXOvZ*vDiYHGR^V&Ulh#s5bjm|B9Jc+%dKrOG<+> zx5e_5F=ws*n8+!*GdU8XDKi-p$36#g8~v;#fzYaG-sKHw>53AnIV)V_e8Kl^Rfp5K z2whIE?`i@mBCXi<^f8!Jxji~}17McAF~~Y>+NMyI$8!M~!>95jfp0VsfLWf0{ZqCe zA83A{!>pNXGVROhlAW9?FLy*BhkP)M*+|aOTZB))M8=dyh|rYWRXnUf)=gCh8e1rk zZG~OehKbm#niFC`V;%A4{s1O-hoe~s?`ImLm!W!3{r39z6%?C}@2pxL;7bb4t+LfR zLZ`E>UOJxfYOzqj8ZBD*yw!@`#jCfEb+Twwh&|)GGVj=0VwTuHdUBx;pRD!#=@D@= z&1WsI7hByvK9qN8#gpO$Itp6h)t{na?K`=UY$;+}3R>6(8qBLhKY!;t+I;vUZ61B7 z?$Jluy#GUOKKLO!Gm4oD9&z5Kb&nrN$lFH`w0(>%cVHLF@6{-35v&8}=>pkZt`(&b zoji|}OHtwbw1}c;7it$P1@nt`#%ypUwrN_G5Y%bTnj9==nsZV?{u?j6qFb-Msl%H$ z^bp&`9L?jA{L9ak_H2+ zd?X*RY7=0EMyxv9Fp$}fuYCrJG*)HcQ#Q3%e85W8&6!Ki!QA>lgX^G8*kIUm_cW`M zJ-AD_ox9Ae?0dOWe?(%I!=0?!X3}sthpj!imm(sE3e`UhqyBh{UD}(!z)@WfbjnJ^^7Mnl_cPGW=S zV3WCZ%avP(sw<+DeiH}l>W?cF(26I3xMKyU^^k3&!uo)Ys$&P;m|b(7P*ToLIUP+7 z!w$u*N2_44N8}*iu+BG{CBr@8>pbE}yE_xQ@y-k4U@Ks?5tgD|D;cY9j?2*Wy6UR0 zk%<07W7#yuGG6t|x!VZ!Snt(&_QZ!dHn$uTVVbo=HxA1d*?aw+xhK^e7}tFFG~-pD zu{jUwEwAIA<8|R7-=F!vFZ1_gT{K#;fq4J%n%9R5J@UT-!gpaVY)gvO@uJmNU%IJV ztGT}O-UDsO`Q>}ZdhPb9eh>W-zGvr``smSPia?G;k)-MoEE-}vS?v!MU*y?6D>o#*ry|H5C=x4->u-8eeX z3%Bp6iJ6)$3B_Oh?8NWjL);EF1f|K{KxTtU%x^~(N9G7DDFC=x_PuV|6m)@)pin*R zbv4Hho3#$J>B z&Ff}!PXJ?h70jo&JtsP%JQ1gsj|8~5TPr;c5TKKR+1a8ECLnR1RkUie2Efc@Jg@R# zh#1i{Wk;aX4=y|BXFMa^K^Z=Pgpt}k(kyAc5wQ(P3vvFw@1pk4EkF9`b8m-_3cI_ToX&!;6h>&qI&Sw|f6fYI#s!QlvhA?@0dMY~F-ipdOyD_2#{s zx^b{j;Trf~0%@_ma^pa+-Z<26evcg#JFV5M(f!BgdhW)t=Ez%eHANJ(C)%((QPW5i zlZL|9Qb-EMd|k-AwwGtxUOZ7@y2XDLWuAV;xOx1M)*rBAd+!I@Qot^M^qnkjI)9>I zM&{UuL?#t-3 z3>riBfU2gGI|C*HShId^$eyds=3zaRp&Rsp_27^rvFv(y>}@vhGrAq8o6QlAXdP zX6zb54Lgq;%c3KS+Y6^F`G51$@bv!R(V0HF*yewm_Wr}iS}j_YrqS_ouH(f_cPU&= z+wh9A)d5=<|3A)Nf9^ysWa40!%(hcg8Z;7?nY<$s#Wg4bB$Jri_LA?xE-$sEKwUom zP-}KwYrk&H@60Z=p@3Xc)YcTVEd}oKgLicC!S}U(_4H zR9bjpEQsP%T*Ov=5i83h#qwBjcvD@o(CpR=THbqI&GJNZ&y(WRm{=pHJ@@x}6vvAP z_j$W{u6DjqyI4^0Hew0%`M2KG*T4349i1HL```Hk{nh{5|3!<%QkN8MT{eoXI0CAz zLzwDT_jFmeAGVayJsGRdBz&sPqN(bcV^q|uI}TEUbxd(sHX&vklv8__YLJ_@BGQ`Re`{#f{i8<6D6d(b2^S$B%XWeA1pL8GKg7(%g z@+#Y^2?w(zI>%Jl;43AVyW68kT-=xA79>M>(X^<$CQ{SY#-Z< zIa}%}xRY$_#DRltsvKzAs*kaHaqVy1++#)f(%VB$(CC6fpnuA&f%CVfrveGD3+mzcUs>O;jO~xZW z-C_bw{1Y8)hCRHOy1BhA}J7n?43Y$v>G zynVEg>6G2t1x4s!-sp5S(@Qsx^@SI2>vJ#NC1$1>aof#?4U_4TlUgfWP={B3Qc<|j znAo+UsIxy0{Ox)z|0;2FaSnehCXVe=YYLlfo+GEAZT=W!qmG^6_WYdUc7co@3>S1X zMIjym9?_^Yt;%e!V9Y|nY7S3Tj&G_xxdp+GZb;0rE3Hh8A3x{s)WGdKC7^7$ zCjYpu`Z(Tx)-9W?SK8MrZf={&vdOZ^vh$f&D!xDDGx1GQy==8?vOJBlY{EuUu8DP% zIGhKTdEu#!j{Ra~47TJMhXb76Xiw-V3_RK3;OVA~F7v~kD{&mt4Q^OAh;h*qM|R7& z0ZW;VX44gALSjL1?K6>NfI+X?_@KqH<}rqvPL45d-E#7@T;)&IM#iY?XFtcKZRm_S z_n`L7Ad=a>Ep_J{?EQ(L46V0^qC_G=lIX?Mr=4x1zVDN9fV9yEAp*dJ?DIl{;f&so zjR4|a)lX58gx&QK{d)C!hnFQ|T@`vh^lP5}8(xn!euxJTbOvuBzg~Q@Y2??CTZ-1a zL5AOdaw*e~9&NOo72P_Z0PrBbyxi!~lMDUu!^iRz{W|iJ2mE@omDlZ^4<6{95AN%X zLiFzYA5sLs6^h_I*rB*cb#Osl6op^;wKIi@olZ2ZaPCRchTV{9%XehC>kH12q9_VW z=kMJpWL~>K-y(0=;nguB$X^2D;d?x(kU3PExgtV-e%~hy-`~DefV#(2%erNOrJ_ZhyoP6NfR_*wT*Xum~Oi$ooD%KhlwUu;Y^$ z{uXUZj_%ki-Dpn{q3Fe-zsfb@gMjPc0~@fMCvtLNH&ioKe~)c@h};N)6^4c|wCQ!Q zzv0;N7%o|0F`3l?kliwe6Qe}*PR2|?a=J8Ur#wcRwK}jD(fW1Nr%lTw&6PfkYhbZ$ zbh5g`y+eT^j=H3ySDFwc!+FWV^&!RT!Pz=@Wb+c5QMr#6joPNsoE_W!#}|4Z znzs$F&^8pTjb6BUq=PvRejey6UPCVMy?K1VSj>vnkY`RYX(=j&ol8($#o+=I?Lu3g zifam1=OV{>cg(x%0uRYQA}Nfu<@>bF*<%XGRxUalc81%nleY@S+xjQ^5ef>JA}CU8 zbzmk@=sFj{kP1b!cvnWTYL0HG$?wY!6!?mH#%!jBc@nG*-_4ypexxT)p6GJDk>}*y z?6&JDR*%(D#HHXXyvN#Hobd|uNAeFy4sSiL)xm*Ik4|*HKG)q>Uf0=2_cbf6ZqDy2 zkDw<{e~$*_G2mzAN}wlu4CRN zkP zjG63RGgaNZlIWA1(3!xSAJFE8f0YO*}s?Q1FCIs z_uMNKF>yfrI9tZxV;(UGRz8M8(OZYHBLXCLCv1<&!eG_BnaL0M6<^{!*KT!GHWagt z@572V6bJvHLif>T3 zg73AG&*$o}t=VNcpNps0$wjJTT`oOm_?n{kT*G+ek6>W_WiqtEQa{zDGm!Ks5y zu6G}c4{$HL-%$)m31ufH2Dw=`SssW~DdiZ|22b429t)Mgaqc`fAX;iy`B5jW_qNrZ zCL`v9Q=Xr7lN4dQCP$B70k)frOl-u3`ad2mB5<%hKqad=XGtL?DG#F^JGBQ{)DrrX zUBS;Iz_K}S3UpH$HOHI!8vDc0G`4u{Gvj`SI;y$JQKpacv)#TEpH#E!`eC}>m{2b= zg-%{ncO#yFWIaWM@d4RMGMG16Crt8T$g-(|=~5M(($*;v+XC4<0Xoao2UR|NS^JGX}5?>h0ySIqYd-p%m{f{2XuOJ^jdaOm$%FpbEhkQfP zD6@rvT}psEzRW3HyaEj7R8~Cbo0;rWyhEbEbP+0G!tNp$4FxG0bsf7ec5_=^b#DB# ze2UF>+fhW<@`K97(}gn&5`Jo0Wo#jqli5NY1$KLRK_NWXmO|APDIzG2-fdmz^2sBu zDZp#u&lzLG7@V&9`BP9cexnE9{arnJ=ezPN$PM#x44KGtuJg-I4P*NC>gnCPdic>} z{t|Jj@yNxrRt0lkFOzYTgSOKK*AT=TBze zzrt46vFDux7N)?{YL4sJ-s1kvUwo*yhVRt$DGsN3mK($DnC!cc?dv-Md&<<8+Zn4f z!Z;`Q+TpgDrcqTlW?3BORW}FPX=!JX45o}=4omlxvt#K2b5Y^6Dn<AK$d;gKR%D(-jt0F@eym)Oi3}9jN!S zVkup-Gx9XC1WdZ(L;$2a9Zjg!*bjqC0_GUUIiSMGucKp}+cqE=S}!2) zHY`e$7iem7BE~o5eCAJ)g9q>_ALkq5CkrrmU&lzsM9N0GJG)CUh%7|+DPWKJ?(F_$ z=mMLf=-mhB@^?iC6gxk>-?)9Ci}jWV{#Fh4Epu;q?YLxzQ~1Pe`L6A`lS7^OU(jIZ zwxn<|lz!)X?`X{fe@33B6jB%08fdxz01yC4L_t)h+Ntm-+L z$K`q{1p~`Rr(Q-!L=g)G(Nc$VR*A9p^xbM+vyEi<5U6XpRv5yFbG)aC|;!3Q0^nfJclGC(ZJ{aH3)O%Wj@TZq5 z7jwX)d zqzr)5y3|vk+iT-_;NMMb1I_|Zz&$a2ra^mlkDKQS{!HJ!c&kjsOVe#Px-oBccDdEO zi0{$FPAXKmxJ@a!bBhT1zdQTr?2;Wu(c_D?ZXPZuTuaTGCSNaZC}sx~vD2fKmh+ho z7PI6x(Oub=d9eCG3dX zvI{eLH|HYO&gVM2|06xQ|DGN{e55CjpHQ5)6#9*#6f*eU+G6`i4?cKDmlVCnAN)|4 zk3QtG7N*-~LHywR-_gC--q7Lg7c@IK)X~wgUVHUzwdX~?4jPY~jg<4VYyobTpasY+ z=tMY^kLYDI5L&A4h(+yj>sE{f*#f1@;Yoq)W-PFEkaZ$4c8ErGh02F{s;)*(YfNq)&p^ceXQyG+K7v zkrM4Y?y_D;qs8<_m<*)3Hkg^q9X{4!a%!R2RUC=Ija&B3>D$6~>k(mhJh+eskZcQc$ZddSN8{Q*a0rYs z;1N|CfXWQxi|f^3w%H#W&Dw;j^8`w9;_2ADC~3IrGIZisEygWZZrS8KJD3%djV8<2 zrcv#kU?1D@STRuV@)xjD|JWd*U3ZMAvyLMkEk41PapVl8*;fj9?+M%v5;=e zrFm1-mTlrU4`=ef7P2MJYTjtgyGg%lyvO%tA3S=Z`K;0L!6NAde(&ZH^O2fRjyfZk zcS5(05A@=5r&`Tt;GG(Zp#Pmj7lejgSL?#II?M;Xi%w9`f}KoIz+B{Fb)=XtRVZME z!j>2@T{H~T%0+Q@d{Yg6WwruqR7xY~j?$>i7Ao_(npvy%;7DQ?Y%|$)T`Eee9FH+w z+_(OIjH2dOhUXu?uPjb{mv-r$8MZaw_cf)_hT?a5$&N1zD4!U1Yv;U{eDdfcJ$k_I z3%=gBPc-Y{yt=gPyfN$G7*h*W*C z3HgX>W4vC*0mGP!xoYqc2X5{Mf{iwciPfq{Ds&cX>$$Mk5sY{)RaYMNMPOXd0cp}~ z>lEQg6X)Y~>)`1xY>?2wv#9Y3GClDD?l%R<0pVgOu@sD1Fo*1u1ZJN81778Q&NT3* z;aBAxA84ARpg-LR8bL=@-Lk1>G;T7c?0m+3sPUW?s^!6qHuxAcf!J1aS~dZ@jUtO( zV>JK7g17;(!8>ESUFB?p!z6&$3>Q~1~+_nj&%?7CY3wh!)is?IQ&kz`Q z-{Pu~7`8Dra$jUHoM@K%1;g$b`y%$3t#&e5hOj?s_y~6! z@pRT4{hVEvAJV)<#6kM#?1I8jbn{@Qc?sRS(f?BMfI{Ziibt!t+NP2DYB5*v$3+e% z+_juFdhzxt1#g+faLad9d4olf3yFqe(ok@^^@T)%Y7dSzP9;sy)Qx=RFt^6N2 z`@awKj;v7p3I%9(bfT65SLO@FY?ksI%+xMdYG!ja_=R6gy6{k_HfIkMh4Fc9S$Li4 z`D770Kj)R?TI(kd`2OnymEdeVPf4EZ#{Yy?w^bpwDa3bT*(gY0m*-D7d_8-_ za!(0ku`O992>QVjhaldz4%B|V-hqbUq|UwX9nh51*Wlm-*kOyf%57`!wuj*-C?XUQ z>W{8x*;m#8&I_t2p**3+jk46ORCd9E> zcg&RASeUDMPu1FMLvIkGrLVILmYp-P(LT0SpQ;-(v6vZSZXc6zgZ8yv$+$6d6IaP5 zIkw{F;AVD7s*3##V3#p->jN1wrHZd}_b!p{5xx=9Dg!+#-vxALT>K0|H6K{!aBK=v zgd;=sh#)UEqVsQnUN&b-`;aH~QN~hbM7Id?Rg7E=LIbn07M4`AGYUDtglO1=*tZ>} zhidP!^f7k(*=(|G8iuhr67!50oXpYtbGOHUTQu2bzC%M&$4>Ey?{@V>kB@#sPY!-t z+vO!*tTm}`AKXz>BLBuXb8%DAstJ{7pwMPpvY0(N-^l-c+8M7JFWIH7*;SnKD$(DO zE!svc5BTN0)!al8^Q%V}xFtod#XfIat(FV56u*|@Q)UYlc34@68j6*q!b4sZhb`Yv zZTWu7JG+RYX1Ubj)@{v>PbBh)*milS_TWUbn|Cxny`hGkThlJpv~%)6E@GU6Sd&6b zL6;Xb*CeD;poURt^SPSi8w&h7ijLi)DT)#*P{%GS!iA?}Q@7EE`6(n*gMG`+42!&j zTO<1%g4ehg=V$r)aei`JkKcP&R7#!m%Caz5zjFM}Z~V4qPv(+S$BDjsVXQGay82S6M!)D+D7 z7-64k;^@aiz($Y-6K)Z`?pRa8oLGlvue;kEheM~^vj8Aog#>|bI zJON`SL5VrO6zo+K& z|Fe$Y`ZXQB`Oo#_`Ttt?@BE^+i%Z=pJjf{?Ew19+wiJ{uxGM0b?R2^-x@6bpY1}wi zXvPElwR<;odbHHMZ8V!TM0FIZk`I3u029NiX@a6C;@6rlW@-SNrllScOEK~e%2e1{ zH54hYeNd1B9}PRXE{XzML?}wp?C@Ca>OcivPH!qGiovdD_S{{~UU{9ubSmd6j$wBe zrOCK5U#d_rTV6>v%OiOV7rBPQ7>w1OJ<^8Pg&n)FD4|k{y6sxC)k-r8>TJHymL1-# zZPRx4h0T1W14;m~m8bPC7Ndgy#?IsPn zIC`%@qNQTFjsWIn$Q%k{BRL%{(CwX}$N^>@mRgm^&!!zP8V@`W^E@J|7KW0lPrn+5 zs?Es0Zf|4Ce3m??M9E!IXE0vvvJIMI_UXyJBcZ%V);mH%{v&#ymy4SJLF07kjP|7A z2y<|nCFbXRB3gN5TuSOO9E~~7+yRzNcEBtjm0PyWWSKkE4C2J-X?8Us)@JVtc@&c| z+fyDCGwU9?+RU#b`zE;~Ic>)+^9+b>*6lh#$&C4o&Fy2m$wuoY9$cQzczU)Cl&<*D z?9x*@_BTyU+q*~FE%#DzWi(U!qBV*8wP$P=^Al*Uj5nmnfP^dhA^Odxd(Zc{mRcT;kViG;MNMblWz zrX0s!jxl#orzf|+uf?msq37iN5O^qE&))K7i=ZN2sR$NJ!f|3P}=QYSp5Pv?yu zvHRNa5O1{61x1dH35BZB`wuTvIQPeVUv#i+d7w+)fo<81%$v}PVl`_Ul_<<2l4dgs zn2QN(Sa^7E*wHm@t0k`ry_<3&YvxNS8U=pdsreOSnYC(&ZSiXKWgWN%mcCk>I z&$F13NG^V&_{CzS?&e)}6pWzo6pCd5iwLU{F-#LnLPzG8c+Cm(%~xwf2hgZr#0I$SL{_qhtX*Jn$Ne-%mPlUT1cyFLH# z#q;l26~6{OynRorgJW$rGkx^E2bx_r_|iH@z_WFDhazIoIP=?kceQ(J5daY9gpLz00Mv+OHpG)l?_BVpN*+BMZKEyb>12v%{ z(QvMDXgNaKQKtTZF04KE`79eZDUTXCaONBtgK>b6h8D?VuwR+G0a4G#9Q`can+7W^ zlt)+Rq&{vquebjGBfa(aA1V)8=U#mP01yC4L_t)1MvhGCRL8XdO8`DRnw>Oh^u?jd zIWoT1(;pf0=x;o8gWK+VR5`n}NGWUoAT2G?%2OFS$4+tUHcc_h#?5W>KujVFN>UzufHB|bri1|kuLyd` zUXg~OBcFAXY{vm8jS-7A|V^qczCQzBWQtKI4h~j8V>7&xKkYVF;B+BnWxQ4 z3Vr81b%I9H4CuQj2R4XqmW0EY3t(zuT|sF0IOnMM5Pjb;_X2(TO*rE8d^%ns-e3J= z{rc~HUw`B8|4aSSul$}?M~8a;rRVjvANz`a_RFv6t^5C2?dC!kJmA@=@L>pTcr`n3 z8r?i}9N;>Zqu)f|_^sDV>p>Z!&%2Lwou)h*I9$0bh8(}?X1i)}bByH>IhxsGLyN*fK5 zgXIHkl+npgPxFYdZ1^PiJX2sMV8qb_ct$VL`a9p(|Lf=f7yaO!AE~8Cz4i7N z^k=^PRlU5F&Ur<)YDv&-)D}MI@P=X)5qd%);43s8%xB`cPWr7{@CC}29UW1_Z59mg zhj~%U1Ak88nYXRHTbm)z*pW5uOtXUn%_u|-MXt=)$x*mmprR=%yy6Rr2^CNxhDsnU zR?0$VUP59NH4O}z^AKYwO7BB1Q8=;S6)KDoy`qe17ya&wf)-Fi&X})yUv_8R_EIxq z3SVsbanvwg!OD`TMPAI9e^WGXi+uhE^MwvqOC237b#i>96}z?~4qiL@!Q9~6QB+Ig z`F09;!+EXOq4sQ^>(=2O;n7%kuD|c=h+YrIHi}C&%f?cnOW6qqIpEn6%Z?0vE(A=Y z2kL->`i61t6zL**zlzmNo*U+D_L%AhBO>#W`iL zJ9!*~Pe67iMnw0d@u>6ffk=;(hg`l!Nwy^BWU?j=y@sQ=^h&@?WBwff%A=RA`Zxdn z!~C&`V+hS=+0>y`j>sM0emK8g{5R^I+X?c%%yY^U1?uOAfJ?;?0ro}*q$z{NF$N;n zhJ#^PA}J4w7blBBTGXepgE%HWHq?38Y%+$|CpP=$1G@LjtR5FN0+A zJX}uul8@Hk8#Y@phlrr>o4=p2j4C|ZimMY&d+5qj@?2==Hn_I`LPLIX024Sa{ zePp>h0$Qy14W^6v`#i%#OFw*h@Xwmi_uuo5Go=XBWe zfMrK_v}kp{mb?>r?*XqRAD`=l*Nk3|Ew3Tx6r=^@^=f%I8}m~+BE<7vGalfL1?E;t z!{%urb5G3_9T6RU0TC%FZbG?MHhB->3Ij!5oU3!TK+;z%FM zIWN2{gZB+T?PKV@k+~w+--K%fHj{H%bSyF^9H-5QsmJY zER_#l9@%bBaf8*@@|2#1*PK(|(r2ESeB$ZhGy^^n(=@>S0INV$zd70n>bQ!d_HD4$ z2av(x#C?nPV*?Iu8UZOq`8Z5owz{;`I9|_UXTweh5_8eU5&8uE#9_hzonj16^gosccIgk|L*g=udmCH!K z(}pNA_P+h-S1!I$Whe3(jZ`c_i3NgV%@N%uqSY(1A6mx2$2JX^$eeFK=^@Vk7Skm= zBR!42sA;03_3>b|O>QU;Wp5=X>ANqx_nyuybjWEYD{%HB^Y@ zVy2e384vfxVvaoH>#R=aXXlI&>7nN8!F2qiCivl!Py5p zLl3z4z2PeoKs3jR312~p}hMoa`PbanKY^(xtF za$cpkH4$&ZYi}OPvGE3{S00I3a%@i#A^#D*@D24x&-;Fi$H%g%_p)RkUx|tsv)prA zJwp-O%R;rS1L@^RY0!Z*=$;SGsmTZP6Z7rYypuv4!`R>`*%G$zm6nnwJ`!H(Lmo|z z#Ly?cE^2-S3F;`bTz3n5(S}B1gi)Rf&%&oZRW8b6Ga1Gc947}(lc$wjvZy?!z}}E! zd^*zMJ9R--k~_>+EDk#)Ulc>OjAVN%(?kjM-4xDq0-nZLp3ZCZw*c8rNVchr>FS)Z zvOb19zn=5q=wU-hZrn6Oj`Sgcc@K4HQUnOpi32Xwl(RF2Kno0hNPy(BL>NH}ROW)D zh=43fNZi*1sy`y47w7{kOcK3aGM>3kW==3hT0kR?V*iXswrOfJp7u0IIi>-VILvDt zs+*xP2MW!*Ae%U|o=tn(Q{TzI5eoNnb z=N%rpkM*a&@|te&+U#PzR$-1MO7iE9=X%WdJm;5Niq}lbd7}e%Z1Y*+;VsQ)4bUyQ9_)VfKN zxyZ4DqME8BSCm#-9ZGzUrXWiPd9B$^S&FvR{OE>S|FEQ)X-mQMkV}7mM^RkNW?He9 zOXz@CjfWJdljCC@9v)=6gM*dkvsO!r_$9Aun`qdJR&E3$p0oxoQ{H*uf zXe83>_6|fS=L7Et*45Ex>3dL4#!(&q=2y9~ecDE#N0MiPOp}m}rOX%+*824ma^f0v z2}vCI(1g~{4=;S>Be{(x0Om{2bn!vxdjw+Lk5v5(SRV5j7$~tpHnSi6&0l<=&;OkV zjDf-c`DmZ;Tv~MV3>jqW`((R`Onsa9CT`spc*%zdg7qYyb9z}wgl=%i$s0ET4-9FX zcrOqBxj=){4m4l`ll?Nc`lI5>>1cMz6YV`Fy^W|fKVtftkF;lW2oIk$=eefTchh+o zaj41ignGz{B!^fsiNiOzF~n@vdw;9d%W|jSk3Wcc!GXGgWIRvUh=zk(mH8S8BXqP} zdtf3`vn45_*8@ue*@dizJ8^hmCq%qz2I5NfJPd(k%BczLstpEDCPC{aD>Z@Tidi)z2^Z@+p+{#Wtuo*w8&_dnF{egB90-S7TD zr>mL1`tofpDNueKv`vx!DJ(V~?C55?dvYK@#Al^Z1I^g=ShwG5Ia7mwL}=DFa2{P+HzzWdAnRPX+aU)II@@2T^Dpp1X_(fiVe?@H{LbpB9D7ms`H*Nl%p zl0KlQxv<^;k@|v$pNk?zTFfn)mX%@6DAs2Dikoijn2G-8dzdaxJBE)kpa)8xRn_n7w8Zp>8m>C`jh z01Wb#+m*zasZiJ~?HJtLDGVjA3@Vz!xbS@)78 z?uY>|mXnx3@=TB938!~<05oG6nBA~&$lS;^46jME4Ry?o43radTFVY}eC9TYk1@04 zIMFi3o#n*sfIrRB4msC!%+cRoB%oQ+6t8(4D<1|-RW`2_lgMBlplX8eYQi^0LeO|H z58uo%X)<4X=LZceZOkd6|KN(Fw~N1vg!-c+-1a_O#DI5$)$40`Di>0NPSo@qe*fcx>;{j9ze;*&JKW?)3Oayj?GX~l_&O1p%}IL;wyJ_ z?|7-#@0{qB7oO9t8%Mf(<4~u|xqk5O{Kjlw000mGNkl^r=^h1*pWOwJJWBH z_t*d6hw3N|NK{eRe$e)`6d0W z|M~CgzxbTN2P&N=)8NQ;FRN274OE3 zx2@Xcp~QJLi8;WK`Xbtywgr$ToFDY2){@=(1JHyfx zl_G7J%B7YPiy8`v`MFoh^yKk99)sRVS5jD}lcQ`wpmF!nYw$Dgee9+2z>9k+(yNb6 z+2i4ZHG8_gh0;^lm4{>1XSJ zvv$e@j3!lF8~`+gtLAvt;0i$6*MT(6!?o1(u)p)zXOt%nwizGiR&CR{Nw57A7d8GO zhI!WlFlp0M_&C2wNQ(Qu+zbld+YPF_n8a&0*fIAAf+156WWS?Y@dDUV`4mgs z9iZ*GQ0S=i@|w!Hd>AxU89v&OYjX~!Cb=8@jag5Buz;-lqF7XaOhl>rio>a3xmY7U z^|k|)w#o@W%$OW!@K2To9B9nVS}5@90L#0IX*&WLlpC z0lc3>3UtOyh%`dz-8uz-G*GAgqr(yt&@waXCXgqSG+@{w>}S1lLyYT(w7++g59WNyj_ARoM|yZpvHIwN zT6S!=P7n3&gGV~wZgV~}K3PwAmG}F8?WT>^n+ug@t515gH@sr2;SHJbU`uTtO zkM;ljAOE)g^Z(+%)PMVPe_h}CwcpT#?^D?Bf1veyKh*mEeQh6nq%C~&_>s0y=kLt^s@e7Nfowl(m4ZCRFlC#_`5_2U z6D*tM8f(C^dBrW8rnqg!Ocl3m+Sez(qshVqcUTe_Eyb||pru;5m0@kUaMqxy(fNUD zv+o`xV^jP8kGcPVvMjr<1HpaYx8Z$6dRvuQ-d6!2Ko}DAAVm@!s!55XW~(JlYt3qD zv^1@jDD^Z)Yc%R%&!~H}Mrw}KGA%<%O^_5pf&fL>LIG7M@2j#hE4_=z4DY^uz4y8I zzW@G@ADLNz)JwPSx#ygH%)QV2f8xFu8D(;hllkQG+WDiSxQL?q;g>eMc51?IMLo0J z%GGSS6@YiRuslSWUAK;rWFrpj^0t$dD|T@K;v&$GogW)|+kqKMC3fm^@E$e|l#eGU zHGebGnSM$pn?%V(JqtIYa1mqS4M60=;nS1Bs~l|(A{4z<^NEPDdr3wTJFa~d ztZZyznAN7uM{xt(Wi?rV3jCtqV1bhieo^cAQWm6IqrpPdhI0;j1eYWUYV=!WF>7%P z(qyqn3Iz;SDlC2u_w1X-(TQQ~A0Ncb5DNs0%Gf{=Ej~`%J6OgsYvW0V_+3_LuKBxJ%pS zvDL`8_=r-+kyHl2YKeAzix->ktT-=9MW9&r|Awtp;xQy#$2Mx$&ZD`qh{oCq^#49< zvCy>}EVku}6{O186bj`kl422Qp}@Qe8a$tREIB$ki9%7uc#G$u4#n2EJ6v42ip?8W zq4N$nxTJ`i*RNt`W(+!?&~=QL+JP-9o;zN1!H%&hWjchO5^+Hm^RgeQ=X`}ZdV}P7 z3Y(W>)&+4b#tf7s0;2#wfMFh^5FkfT1nQn+N6X`k&(;=kVw@YyfUYJy0FJ(j%R$~k z+zT8j%ZHNhIcF1X;L^$E7jrU+2^+Oi7}gD;cq+-r`=;Jch+PxE8i7)s z<1zDG$?TjXb8wCrkAxD(lvt-b=S6 z=I1gj4H6SkA}+hGqmnaT-P>q3Oq_mVrYnO;7>Qk`QgaMtK3Z$BxD@!sUFGg#lLcpW zbsdYV8!TiEENwRM#+4cpzRx}V9sHZGzknA{ zoyF;kmvD)@wwpI^;Kua@)VLedqrMi;-}d?%wprL3>#L}9SJdL8$~NVcyEYU{{>;%| zzs=ZKn#bnl^VsC0&D!d+{c+;Pb`7jjK(PWhG>YQH42n~;l*i!scv63vBq>$V;JK@D zN2*=e@aP!xIwVOE)p7~N1ZZxplQxi)DsV}H1wMuyd+*<&G*SY1{tz4QFGzO|Ah-L+ zWLR?%;|!n-Yv#q@{bSBS4}IHc4dcE+7=y9SO|K8zJ;m z2+4ClO3frHfW;v;YV2N`nn2F-K;d zCxKFa_euFG-%=MG~MJVw2ru$I%Qv%GMy=aA_$V|MR)%OW8*G zctK+zd1@_+BXR9Ah{*zrb+Bg421ES-G6(0J1o-Cj@l$K69k&vKK15QI7pXfD=OyL{ zDh)+S92w*IMMsILEQ>ih=inX0IG6kg=y>G?Hk*Syo?GG0F^+x)Ge+FGfEgDe&loKk zENTc%zO=E!^5k`NTF8ye2ccP@$Z@z#WB1U%Z?AqE%oyBNdzZu9PRV+BvS)le$4l}FYjioGFDv(9)oVZ~_fdkJNgxABa zt=?#H$HYbO6I5@u7z@5GO0muNS}i`FD=_Z>*EBadj(d*m!@k*Z96Njf)01O3c3=-C zM+T6#8mRCwkAZ#w%wo;tUJKd+(peM!k;h%}vyJ z3{9?Eb2a#Ab9;S-JFYEz)K|NH5w%P2qkiQAw$HtT+U57LefcytudMxl(2jcsi39IdZ!!Hw-fvoM6ZtD;^UK)p1828P>cNw0B~d5^Bl?T2f~7ejKfHfLi2|NeWaD*98$FpVb5o z(O+Cdi20#7&H)G$A=fNnM^|3+7vzwMQoG0nEpn;M#ok$4-WKHD6DonHU459NpN+5& zj3WW9!&Jw2YManb%~Ts`CpQ-zFJ*NHC)Qa$9faunN(QQSx`pX<8mA$#9Jz&=W3%qNUqEMSzFhoe-jikvBfH?u-{@fvJ z^pUL%tX?l*YHk`sgM(((?qzXl4NKfTHCjy!atkre_f|#vPYn)WVyFuJLP(Q^sMTuY z@bnm;&=vUMY3sX~Jhd6id~BB_j9>mx{86%Yf%1Mek-;t$g zVw*(^e0(^+yo$>=7O}|pfY%q7apB@++?cb1>i`V@l!FB_#2(0scSCc#1m75E=$vg{7%XssZm+{u?Z{f}N&f)17-@=!k zehFWF@g02U?aO%n)HQthrPKJ@TbJDo=!66nyxRm$*~o<3~GH zGDYHfF<0seH@iZpi**q(9h&@fnBx54@^fmMT;&0#gf(j9GLo4$Wp>bmr`F#H)J+bU zU3>*{RgM_gq>=%gT?Iov4nCX=lHyfc z$&s9+2PvhWx^T-Yfs~R!gL4jQd0Vy)J6_nAG}z?h9Q{)f0d`?bVkaqtjA~ z#4SHX9y3QiIvar=gMnY91H+@XquSiwMuT74qbw44%?#sVKK?s7JBFWl>OLHv8HZBT zxWm!^E@q%o;!df6a)ICW0C!q#=HPCFJ2mGVTmm@mxO9vva7nR%CU+v2Zmi&?Ggt7! z=}S0wZIOY1eiN|hfTD9?i9{iVK-yX;6pAPhjbLbM561Q%!PJ4HIClIv9=rE$JbL^f zj?GMBl#fgY3yfrOYIBZ_tt~XTD_mG!$K{(VxHx|U`URKO^-UJOCbntcNpLg^6WxV?8Yq)mvCcg9LTX^A}v-tY! zr}4RGUd6xu)@%4*pLrSooR2*J(N~|v=bn8PUwZX4Uf{dPFTZsGzx&E*ym4&>SJoPs zXJNZ=a}5jEu3_!kWi&T8?0DO?Rs7Ds_K*<|4&Dm-@_+2t27 zYT!k4^iRn_E*-Hs3M5C|C5}q$j^6nkjvg=qTi!y|y6$5~$;r!6UFJ}%BCl^k}C3r{aCS}g1`5|Ho5D|_3;$b~ReHVt{=Mf<9 z(_=zx78ez9IvN(|C#F1vDY0h)Wp>(*yu68f?eU|(nnc-Sdb*~4QaniXUndnCVB4##@ z9nHZx?{7Xk>|8Pz;cc#C<+^Br4j6E7PB{z&HO}m1A16~UBhD@~&ZpyY^hgPc$Uqf48e^Sv8LSyS zdB{1(Fy|GHF)vRLaX){SpP=j=odN8Qo=gMhD3KIJ7*2zYjPME(2_lNjr_o%ZOn}}T zW2dj>l-_L-;)(e7BpUS^^yNP^G0h)DQa*w#V0^HM6LaJEzWa~h$$O9B;}0Ig;lq1y z-+>u$BZTR(Aq$`8^EJHp>dRQVK94%zO%0AtU_W~Vx?y#0uR`|$p4I67KSYMv!#;(qDvW1P6Wz@DdabsZt3oK$= zd=Iw8$D(KXUT%3~9q*hyhl|&5;QgytasI|lK1SR^g*(rIvg0}`_AYR+T;w~yBJ>zG z;fbqpJ!cn|@b>kacbN&=1h^`l~>=w%}c{*oG$?WA_K;GO?AEP zW~R*U?->)|8&9+sI7VEUm;ET6X5|u7?mT4qQ=ue9q~@g|&0>U!go1ur33a;5M8gUev%QLs_Y!F1X37-a>DC~6hPG#JLD#t9f#JTa=>y$@#o^y*_mw9(8j zON~9Gc_JiPMBUFAte zS|`MO6y)b6EC&K+l^Zl_lS%f%3n#<3j;}#(_?-dpL22spq zxt!9&IdTM2pqy+?6m0#Vm3H$(XwG9Cllm-HSJ&XU18TYghKGjuSaAURCx&qscV_!% zCa9Nj^yonh3=L!N>^R1U%C-}$mP^KqEFgs>u@6L%yj0|Fs#HQjyj($vR4tb=!bg@B z#tc?UEM$9ea_f;~Bk-JWyJTZw&Hy81p7hlJ>pM3#uoH}niuWE%wWO5wSd<;3jx%EpZ>wF)$%y(NW ze6MzsMRaLx6Ic1(YhihXk0Do}-DsPSPE`Q6xihV^xYt>9xKXqBgBvVjH+g=pFD&B< z3(>i2*Kvi#_v+#bM4Pmy+zl4F!yPQ97$NB|t_&A|;gZ9li6NZiIlD*y#&4vGy+b7& z94+GjX>x#to{x1G7Ur?JvV{M6rJV(M*^E&-ykD$;_9ZxcvFN1 zk{(G=ikOm_G zlS4_nFaGgB67I_aoS^cFD8>`+_&rZ6?J500l155Fj9vbe z!#gwr7AX#dxrn52{Li|REd``RrX+NB!UA<(FULyizaV#`SGXPfy_*cPq1p53`_*Kt*eu@5|;`SoZDR zgW>T>xOS6|7afjs=cX_G1`C1Sm02Rky+z_sND}VKN=V34e$kgI0~ip|#Bnet6SeRN^W8t~U zM~xR37NMP@c3Um3zs22Uz1hGTA3bi-KX6dtcxQaRMPF=CZw|)&YdCV>5J-q)xY@O9F%Q*PPgYZJn80~_4d`!KCT_Ig0 zUj>n~n~C>~ao$C;=uV2d=Q~H|VlWsL$zy&*)^uNIio6-Cd7NY!IKLB*x@7u@`L)QJ zr(j_mvKZOX(<0_)>lmd6Ehp-;%1ay!WR{;i-?Mc^kO|^65$eY+F6U?>W92JZ)Nel7 zd5qer-ShQTF3-ov9mEMh&FehV%;AW8FOKZ8iyQ}0!mkZGR?ty^Kgn_QJY^y;IeJNA zCc`L8w3$=0fnN$lp(byUWXS4ZO~;=~qOSQRnl7Q2=;L#m0Hpz&X&N-Qt;H0xI6Cq0 zDJ!cBJS8d_)eI3JxPvG#~cd;OFhcPgKv6(%nR0mPuE~>>M)Z&-_0q#0B>n#iplv%(W_a-S+ z7!oEOsFtB3S11)wDpye`6j0`_YjAuDqug0dj*nuTJE&pq)`qz|TVru}@A?w{)pKv* zZ-4$7{Mzq4gWq`iH9Yt3dAxV|I!<4{hD+DxS#;;oWWgzLCppMnWTiU5HSfa^bJbax zR@b&rEmbhaVmZvmohjFnx&$h`O&+88REtbo0 zTyKqqrNMxWT7x^d1~wWkzJpuE)#VM`Sg&DayM=XPYs|AwYVti@Nq<6&1?t3}2|Rps zA09h#7>}Ghg8Pmi#&JHTJ+gO_JI4x!S@6odm#W1CW5WYHR|SlZ3;SMGF_}HtS~Z8r!FjZMln>)FP_D$pa;pkvW}q!7-7KF&GF>wV z=~3y5_p{idgBaa1-sKGBF$cg-gSMI450Gi83cvXnuhHasfwj z_@=2T$tMjtsWM(84}-BO$+_U@VH*k4fnwf9H~9lv7tN-~lLlf?qrY?B?jZ-NR`BJ? zD0)evk65;v0F!|qbTh$GBe7dtPvq+|CsbXgrbjdphL z&ue1G51Qp8q8MT`lj#;DBcysw{vzaB)IE1jT;8JKCaCwE(a(EmqyxKLvP&*l6NePC znMmB$$$05&*GJHzTp)Pi_17?c^lse$;Qd%yS;q3!3s|{+4I4LZASn+ZW$~yK92(q7 z=n+wp6zm!oTmc2*33o+_a*^9|xC7!#DI|r06*d*Q@v#x^s-|$yk%Rc*ryj;m>V0m!`^PRS#(p% zDa%;OcZPK#)gP*cJE zCo#)i@$Bq0RNT{a8_msiq|RaE^d`?KDEV#L000mGNklXPdDNp!k=>E3r#2!D|3y5&-WbM+Ic5dV zLxAB-Na36$QYt_h#UrJlB`V}8i9G|QyB;6e9S7OSqIJhH%O0rLW@}Px4;ii);gM4| zoIG~r(-NXCStLASk@v%bO-1dYFRp+;R|Uk91i6=W)*~J;TgH#-$d15@Bz5`E+t$(t-7isCYp54Dcq&37)~zDMrI<%<`wL>d|z z!BKuG506gZGIvQYJpVFM7O#W_z&QtQFaQ><7I!)+=Px7)%G^Cw`Hrku;720`ivs=l z1)k8BFs9w8p;#&~HbJ#g!RQ#@ckS5&{kGx{efUxQ&_j3OsiS-FsgwKgiQ{wllOMhZ zj~<+b-oMSV2rROQT-a#f^wK*1-I=TS)};mf?(669KRx{>=2>*EY;5A0vkUll?_9xa zmlj!c9Ui;u5FR+V2ZyG|FwR}!P<0T6Vj0Cs1qt~U3$*^h^8gFaDBuEV3vL3=Z+U-i1d$^ie$W$P+lQXCDjcCN|br&~Da{au>OEc^%F< zsOf9lNDG3;gzqB4x#+_SV2+VXQ6}*|l*BmMaGKnN^60T40Xx)Yu6)P~$*PjR=hvfNO&_SyE_3z$B+;^MiEz5(OoHK*7+X%N{A@ z@{YYD}M7>_USj^|~#Cgsr zUK+|QMU=ap2xL8f&h)4&uX`s;LXr76`imd)`RoRBpeJ<9%H#bQBQQ&;O^iNS3ZLBjo6QE$ z1->yRQzQ!&7s*##6lHPwkaTWxYJMsxr))74Y|_cPyBzX}oJj2ch@;(r%+Zc75B08v zp1LMv?9ov?=8K%>(3LZP{q1;^*X;5q$;k``av;Xh)@q_dxiN_M-fCcYauWObPHJg+ z1uJWt)aOu03Yec?!qcyw#+#?kqD`Hzi%>2l*y0yGJKB6amvDDhX0g&;+HSS@WzXc~ zj_XNT^r)fCB2p@rFvwy#%wje$GEQs|t!9(Ep(ggtP2!$|GkEm)K0I~up#5UXryn|s zU;6mNc>LHt{Lp?+?J zjmCBxfLh92^Gs3Fy_avvEe7v)f|m4m_aUuF|qa$Rkr^>5xnv?UvHqsjX1d@^1OOF_n-UA2~HxEIN&8 zI!g2jpie+Eb(uuetShJ4Jt)=i>~3R>0Qra{+uZUO5fBS*)Yzp6q-b5b3H}Eq6Z_lE zWJ4#$R9lZQkwvgE#=2H^^M0KSk0> zazk%((0?9vWbzA~76R6JC&5%EWCu)dN|c=Rs(wV!wrfAXoj@rlFJ_+$6($ET0Y;!{Vb!R;9Co*BnD*ZJAUj^h`e zI*GsX;~&K*A3DkRY@^t>cMf+SKhB~#g(n|<1beB^?%9u#sTqv#J&durgBYFO&-a2u zsB!)l3ss5hY>*EQ4e+tzAf`tKv3Ft^2PTKHhXr(MsEpxC38O=UsB-5u$U;59^EEy- zg)#0Z$3{mmz#=|9I*Rd;VN8up;KV%-V)nohy!^r|*xcGeu~0;V@8GWM&vLPlwt23= zb7$At&RELPAvVLQ8c$(1$59g4yiB2QcZOOlub=;6h?k$T8M+1*1L8h{1`3>xh{jHg zatRU9i`{WGj+{L(O4j8IS`nJpgA$m9*wC3HsOHg`2U#ZNiMVmz*N#?`?Q@9GQlb(g zm+UkcbtF@BLz+J2nXCIwE4eQiSa~Q9nZ#sc4=Q>T)CF#qd}hg>l}w_u@`1 z8X{L?}2LE$9mZ0BSp1skRA&Kwai(Lv!60-Qf6aj4OWUD6Js zt9O%-vs%I&M%|WcE=(p98GNuYfAh;gVmACjNQa|oTkvvco@tlVv+Z= z2{UI2Brn@&17q1~uWyI9V2-VA~7!pzNvj)NVGzOVvBeXMy1uf4i~CZW;UJs2Dt z#&&HR4cbnA>|^+oKlw?xW&^LEzJN78iYv2l4Du14$X103)3BA-V($2qw( zOPh7>I5wfjjVfws+Tvr!5=xZ;l*$7r@DXNtU-9+(}+&pvrCe*R;R;+KE$3DT4JQ=fVqKgvgzAHMq#9y-1spL+Bj zeBzP2@zICw#pvK5rsfV{dTtN)PEYeu=O{)-#_TsY2g$4Blc)|4qr~D=tyVENF^X9p zzlxgPE2i7q(Aiq#aldzM5pQ2!!m0UHoVvb>cc_2o-HZ6fi|^puue^&l-#v$=jM(;bCj5hLsyP(b8Wy zL8m!pQICjpU4C(4`Z5>46}cXxbB-w;Q4txnRE!k!Nq58vS=Z-Zx=29eFduo7v@mq; z$e`vvB_YbuiQO@lQIvd-bAz~So{+VUJ%i{8k~{(MxS&REzF`55m?w=?psOiP3XoWS zEz)VV?&xoV9ZAkBHPOh9=!?*zTZ}PXjwXcjL0`*3 zp7mhQbj6U^4HEBi$tyC7=qXr4apw&qF!FBI4>d`&wbm{b949xH-+wnz3 z6Nuyyv5xFq#OTA`HC1M#zsYi-+^_dD1KbMSj7rEG}Sm zc?p{4sgwJ$v0dj?bSM{!oXsI|1r%s3Cj9y?6wu@&IqlY3+>wD>H3znKiv_KLl)I0V zMUFKO`btULP3YfUF`R|1gzCr$_8hqjPd@o!+ecda#1I;R>#=Zs6?V7S{Oa z@mj5oHx@Q=mGAQ$i{(w8gMaYq1^lgl_ac7fH@}X*^3T4A|MoY&gunay-@Fb76re%)vQF z?r%LV1E8A1w_q~GIXja)3#Q)Lz(nlkE6&uEC4ti@AFK)Cw~xt=7U@#Ng^Q%iX2iA7 zO^~g}QIfAXMRr9HVW$EWNq>aWz)5v=xRQt9~~`D9$b&3EL231>xz;z z$O~%SsMaaelWfX^;LWstaVEgaWclv>^9UGC)W7Fp471vW1)Fd(^_Y|1QbqKHsdR%{ zq#O=xW8CnOFhKJr_{Q82sRe2Qld<52T0ED6EQK{(@-?O7DabV8q5uTenJxn6%t5;RMO3q%)8&%kQe+d) zKri${a+Af*m4qIOc7yXuOcc2}aLD^mRp<5NT?l9nli}MA*N`hPi!sj(FwGAk*jSI< zR1TU?CzYa);V9W+B}?Lm^3+k+ZacTCEQKl1P*9#M*pR*WeCMkI+&UvUaP^Q_)7D zP(q~F`c;e9~@Y$dIN&Lc(|0tfi?>@|L)bR(e zox*Q?^LhN!FMS>V==Z;ZfAW=Y;WwXs5o`5reEiyIG=Hg#Lb(dEPn9V93GgPzzlbnckkbeu?pkLgE;)5PvV`L!z)`w{L#f_JbQ5o zFI`^7H{QR7FT8OYUu1Fq!dITgm!JLye*544Tl~)FejBT6E2wk#dw~Ue{l*m(Sg3W2 zr986^YLrrOPqKN5r_>Y&7XZ1@n~}5;YTD$A000mGNkl zL}p&hC6Of5$7m$k{4~TahagL&hiO`evs|5mi5^}49ZJor^eO!OyK$PW`~2S501k?A z6?W-lU7ayq z`ff^ZtWD&d=icKxwJ)r|@$+d&v<2?su~JX$bWm{4nXlI+6O^MwTKu}Gc!7vIb^WL+ zQSRcAvU~(&lTLSP>;gzJmsNb~v~+g{7);)62$~s#+{4VIIFTvAL9!^QGV3@^&Eck- z(Ih|g>hjNH(n%SV2|nCL+Kq?7R1WNhL~e?P0K{`8C`&6rL?4~saD&5SISLn#Bwv!{ zA~%>m?1-x6kRs3=I8ZlL+yr9k)WrZ;Sd_(cCbMZxc}$?KBRc2vMvR=W>nx7It-3Sg z@XAR%{f#YbY;00bQQ((+rCLR~Qo%6aC5@2EWy;k7Bq*Tm04+~tO}y1?p+RbKSEdhs z%EH!`%=bcVTXP#OVGtiZa?6G!DL@4-DVCr|k3~L;ERZT=;~1Kn!QSI1@WkU!;XnDI zPvg&g=Ev}JAN??XH7E({C;JT@)@;5l_HN(It59|MjJRx!ri*>I(Z;c5Z* zADqTR`=&5Ckl@JF06u;HAr{bw@Z*mh$D^~8_{%@~Bp#a?!kHJoiAfgl!R;FMRw_6+ zSi(%Xh`DMBNBJJ@KmD_Rjs^NI>>DUzmXz`bhYH%*H$IGgeALPMj_MTG&K1S(oC7-? z0bWuYQ?6IC%b_%c?mU-+*}a+{WfBSV+{b9N%ap}=tNgg7BGb%d>{=5z$RnbXY07#> z_k~RPMdpwRJo`3j#~bkeWau<+SD46fi!-Uu;Qiy;VlE%+M;((32J`0eSfZZ1&ba`~ z%Y_K8o2VmM&tl|bh&h-R;sZ*SMN$6u+`Cdc%$?rG!zya6Fpn*WGPypZyp^bcpJ!X7 zKV8la(V4+H&rRtXh+7e3CgFkEQA>}Rg^QGvAqGnq879yIAk`0ML?;);9i2W|CM!>4vfH+2f%{?3S2ZFkAj8QQ7+MMs9M3y=nw{3 zjLOVWE;!t?e+obL&@t>8E#t*A7x4M-yoUELUq*dvi3KagpLpab{?hl|hyVH$kK$K< z>_hlJfB%E{KEBVpfByuYI=&Bo>=Tawi&wCD@f?oNjNm9Ao9>?&<~&vKBxAHv#^iy+ z7}+xfHK#M=D5Z8d_Nk#pRG=i{COWgx&4Z?ae&}f(4;d^}f>CNw-5xS1w?~~*gzMxr z*al+qlRqeXf;FF)D-D{Y)O-wxg99-R=(KK4IFVFbImq?-V zlcS*UND&L%iW(n3=HIC)wJ5kC(T4__R7ni=LN*sw=M+MLb}u@HIBJ07e|9>|;0TD& z-7J}p&kTkIt;-~ZIV`X2(nXR*v}Gy%o>H3$eKCMZ%qSHx_d;F#GZh~yM(<|jQ;#C6w2UvG2yV{17SE_?*fd=t1bf0H|| z1_rsin3La7WCOTfq&Fg6bGeHR9Y;J6!fV|R*aCNDrGX(-1_n@2ZWcQ*FI+5UZSZ+2 z&q9jo&2*L!^nY=?8@mQlcLicMJo|}G9%e#MhPN1@F-+6KS+;6G`fTtq!Oir zA1N?eBQhQ(`GQSc-s0Hd1%561ndRf{^7I-)^B!K2#W9bLH7v^viZVe%R2=hDCj*?u zV4x^T1Zyb>8TkkUZO}Zamuw79-c3OswbA=|6F8sr9vAb=4|$({zD(oYWt6it0|iLQ zQMBhEznUIj0I@($zxnBA=z;TLDryh?!7`s*(3w5jEQERjP^6#<`~{+}D+5a zNzGFpH(Bw$4m7YEYKzYlLQ$sJw=>@k7h>}5!i5DuqU;&v@gU2V6X8#wKV8VTe6qZp z_X)DhcFm+KIRP=dhQu(xCtec>85HaE~+8v+@)%sk8H5usmL|CJ8Lx>Xx3^hY8zWSs0T-0oBnF>_2z_KmOE%_@xg$ z1U*tbbKx?+{o<>5`nhl6xo7_f-~Q$w;PqFY!{y88Fu!mE^Ye?)AAznEfT`gM##t~& zhXye=JcNDw=5X?!d$Ir6T>#H`c;=)!7>9L4Ti3qt;F!bRj_$%Tym_3HzLfU{!=C`mkrRgyedCwAVpjhW!h|xsLMvoRLLf2AVr)W&IMyq^96tk}LlVL#!Og_$W z4hqhB4y_BjH~*CcdU=0GiLZ80y><`Yef2K9_|`crb9c44!5tRwmqL=T4z;1bqgZRE zXt0>n`K718Npxsod3Y1CQW!cVZU>H`+RM1oaWh)c`6{`UjI2Iq2OBUlQgK(uX(AWa> z$g{D{11$jDF`~uF&1127`FNBD6zH2USD{dXa}Hx8gV6iGmfp$nyr*2BD-|$2Gm9g~ zj^L+0_96WIM;^zAj~~JmcXXTUTexv^*$P;@zKsK;6+Cfd8jl>D#L2la92g(Q6pPsi z*Elpdz}?^|W==kW$@?BfQY>O%x(rSXz(I{uaz;rxBG|dyLCQ0(Ti(w390<9<7ThT1 zI`erg_%km01%zgg*d^*(QLhJG)xEo<-0c49!jRNPAv&k9mWI)D*t#flJ!Z(}CC08; zk9VZbYJ$c5yxr0TIL~}ca15)mxizl^(Z;SA|6MF8M?L`{e{{DH#sx&l*-=ET+dFD8 zVbpuLttnu6IY3?O=t(ulcWMuPkvlcs`q8AdBv~v33+f1%j*nZ*gF`5= z=oKp!3{A~od~P3(bBFbb4?TrH_R%Nt+3$Y>Kl`yqNsr)%A3KRpJbV|PI(Y~WA3uPT z`)9FlVhmHG+@0|;>G)1NlO zqaonJL>V0N3G>AB?FAoUjyAwg7i8R7>txIO$5k>He@OBc$|krljict!S)QY=PA*X7 zS18cP=CXmRI9(~-vZt1#<7l^rp+? zu28aWi$EfQQR+QRgR;TmZ6Kr|$s($@9&%G{prRh+z=U*2IYbf3JLPfNb2_iTkXw?u z=kwjt`xeID9Msu;Kqh$A?uj6Z*>#p+i;-|kay{|G8*`|h|1q3CJ%MY>8z>hY>h&h; zLmLggbE~tGZA)iSXz<-xn+2rJd$G-H(O~gub0iWwXaE2Z07*naRDKn+l-oYXncKwd z0u#@;3YLn``Vw&c5{ub&Sn*=P^N$7jSaNHV1y99~w8jEBe-Y`W_t3s_9vi1#!Kpv| z98Q1b53qgpDjGNE(YkRB*jxj+JA_NX?IEDwu+%)oGFW8+u9X9yWH_;;ams%ZDY*0$17qx;`2aW?uqYJL%z8)H9Y)DVj1N-0qJC>N8bBWRKzWp6cRg32V0z*qV=E$mbrBVuGbv>V7a`g#Mik_Hh~WI1cG%3p4@t0eh2bIt=fxi?2%cRkskMCHpbiZzM*HdE=Yp|GYb5~a5t!8tdyOJy~!0*fLdK#TSc6 zDg&sFPhxO%9Qv)w!BNU%Q>d`$>7OKQ)tY>)SVohdr4~v^%L6En(mp=Tb5cN&k5XIQ z^(x&?ay?L9&&zU4HRMS4UMy$s73ChWDCfd+V)P=9juLY+)vn$@xXY!#(i_M*dLac8 z7PAZFqC!M6zc1~YQ}sP0$hmp^7UKu;RT`UuLF`iRm@F>my(8ZFuSL1=e$s6%@wSx9 zJNteOkNo}$k|ua()8KMhoZ|#Mi~5lJlO~By#PX8}$%O@z3!KbOI(g{I;+zX1jwlf( z;Yf_S?>snywEDRTnhY=$Su>Yt6DPp#?Ln6!Or*6(E?l~C4m)rH+1izhKI$gY1_>g8 zBtc|;y+PrZq}OQ(5T(!+D+;RRqioO)XBzr-Ig4b=#pFa;y2xxcbiv<~5|^+e$u5Rn z;2q%^uuH&hhmqky2+Y#uWq#+6G-hmLQz@08d#lERwpPWvjFEUmy5Skzb~H&&NX zW8OMt6+h^h=*y{*6beX^A`;G#a5v`k4zN&ye%rF%cG%*swqixBg48)Er{lb?P{h^^ z?n2SiT#tTR^#cclj648Ifk{MOHek2mR*tu_?Ut_>?{iE#*>bb=Hc0c-#~n_fNG|dZ zvP41uzUjNjn}vj>-D*j8IC7A07AW8rB;TBQ`kac|5)$xAXGKL0Oz6=0Pmnaa8Jg(? zTtb59DKmY-SreIr>Pc3ImIhV_3qQ zMvoP@S-9$?P3}OpS)5WHvx=H1aRunN9rf4gYqf1`Z?J%|cr>{yYw*3-_Sy>T$QD}d zCR7~i8!KpTt?>!q78=~O)s`1g<8Etf=>|3yu3-7np_2jV)QXCJj0?8IXx_obdhoqi(OD>(uk5rKXDPE*eym%6l5ovYJ-eD zM7zzii``%iB85iYD@!Nk%~U&G2F=w$x+Ix(zPiA?Vh(wrTb8*S$!WJV=KT7J`Pd-a zVc6gU0_>ICsQZ>~O@7hqQ>G1sIcfTK1m#FOB=;<1qpXrEf(vs;Xxdnp2Cf#HN17^9FijUfZS!$#G2RUu{66S0XMNpi?xjBX&eH27lEanLwp3!E4xQL1| z2C!2LJt{OtF<3IzHGgoTduHd^R_`n$_;eg7^TlX?>{I)}!~R zeG>GCZn32P0TESTkh|vYQlOu6{0%0YcRY7&>-83D+{xH)H?o**ai>owHY8(6)>N2K^3n`68#4cQ&_%vXUSBEzKTl$FC4ewHI^Q+;K+V2pdm?UidS%mmybZG`=^_ELi$`6uNb@8T;`#Q+ zpEsCmzhoO9A0-7)l$I_oO5OME=&;OtZ5px>>~Q%L=$<5n|8o!c`NvKk+~ zX}7krv5BR%P0TN^92g>IdXC0AEg zSjcYRy^B}y`i1Lwd=NPY6uy14#2gXM*J2HfgTFd^ZaFaX2Hg|U1-T^Fh z7#acg8~~XXuj1mR%h=H4(A9N5!EB<*BHm;%Z|mG7MSwg-0`30V+|ee)DpPw=<>S!d z{fAK=9zu0u3JD)cx@gaOP%0=Bk_`LjmC;cd0Kz@{6{V24^XRdXk>ubaXDnQ8o{9*-dszooNQeL50h8<+i|RCTASKn7j{V zu7w^pI$C{CnL%3Q9tBZPetwOfG^T*r5gOw)508UAV9|%R%vV@2_hs^>!Q3dbQ`@DR zQ;$tp43ZqoT$`6<6M4;#^y`ACdqdACCs7{G>74`5JA5#?-_$lmKSOV7bIgIgdd}1( z=5yy_KEUzl^y(Kocw<4k7hUdzp9W1+V?oiQ$1N2z%A2)1cWB#K*$~xmWpNE}UYI9c z!~544vAkKwJd53Rz6YCMUBh)g&bz#@gmc$!;QcG|yNWk2-N2a}t61J{V5nTgv8ho! zaBvO}9o>(+_swB;d=wijB$sb2V~dY0YkXvx-n;@Vk=9qBVuHyTK!0&WyDt5c0q%xa zfnWuUMF)inFfc;B3h03N&P~VYibbffl}be<33qHPN)Esv*Riru!!vKbk27b_qPDq) zt(7IzScvO8CDLk)+!w#-V<>YQw;?qjaP)+pmYN>tk`iTEoPdmkWD1;%R`I;e%PO#5iZRke z(j%Ab;KXe7lBqW2{Bok1>|_WGG1+=(HCedq)VsRyJdpRHEw9>|^1ig^RmpiM%3V3+ z6e$>NeG!X1*rIB@2QxKJVh%fpzPWe0^+#@#+x0aD1pojL07*naRDx^~CiNQsGaU4@4J$BQ-M_bvfVQssPRlYORd$a~$H0crKIhc=Su`s>OBK9f^-@DhAadl-A@)@fXacpKB_p+EB-7|xOq$3CR;=t?-M)@f5 z8>cSd>DS)DwR7)dS>^r;L34L!! z`n`o`(b>W>Av68^6}aFy1;s3Pl%vfIU5X()h8WjtxLs(p?-n2PMZc*3`{rSOUrT)Q z{MUkTBX6>AQi)oY@C*5(vytck=Qflf`^aq_<^`D zW(du>pmRlv63OIaG?z4=2aE=rd_)x4Q&M+N`GQ{&-Ke9=xi}Ano-SL2C}%#7GrDN# z;aZ{Q&Qo+zOh3HWPCc7TGAZkdmlC;Tk#v#fkRC}`KY17IcJ5v2gOZPlY4bd|foBbO z+G5NtbKlaKn<@CkoH+|_v!((Hd|%{HNE3d+gFo3N{_f`WX_H!fpC+pFeOishs?ltr z!JSQwJ2pLnRB^LEY|Q7B>)cr_@r(TC`X&q4Ixa1)lNI1<27u& z{T3SUzlYYvb7)^<5nEgUmgd3A2h3jr)@}m&(_1Vw7~!MIxuXCJ4yr?Frw*<%h~e42 zC{+hh8JR$Zwy8tM_%w4E1AGj5o@;*l{3YC2xM4+2#i_x^o_fUC;IY-WHc{t0!HrcG zGd_-OY;OX^5*mC|S>ujwQ@gpfRopmx1(%=UTClU}YVkDeG<>&+`)&gjr`3p)+NA$o zdTzlv@iw<=|CMR^F^A;-ULNhW_v+s3gO73k7fl5mz>_Ig-~Ygf2`ZRa_*QWTFjJVrRTTHbjs!cI%me z7KnH)(ADHG63ColM*T1|gu&ap&wnu4c~>q`z%nrtydhj;uW0mnC0QC1H1xy?>PL6v zmYbtrjttBD-BIE!ve=YZKuamO%W(W8*h^a-6py({sw!i zzT2vDw^b-4EOaSqjW$-dn|%COBd^=zLp@$x=eww(N(nQ=1K7iNW&39*F*`kl(aC9y z&F#bR%p67z9Kq!MkK)LOKaP(+^%U+uxE~i*xADKedKQ28kDkZh``xeLx4-mNy!_k? zxb)7uSU7tQt9M?=$ObC;F05aSFj4fCUzDL)nYkMi3Tyc|1LzyLt(`L0%<(q8 zH-C?NHchu*b}wYJ_Qc((YH71cz=MWbC%?3Aa=dv`7A5^f5PkrlcTKEo7OMM6|CqYY zM~oZwrWLDJyNyDUpu!?HR4rj_sDiP<3I<9A-B$KEahtohjd}~)+|8|%*GN^qw;HUL zF~fIe2lmZka%u{LEM|jq2Qakf5C&!sK)*GZ3=N?)w-0;oxgX#E(U0PRL;F$X4(RGy z4bNU)#6Nic6#mBVK7;?y7oNuNf9Ey4{KhG~{`%W^@7;HC;mj%A;N!`)^JlSj;S9FV zyn&@RU&gg}-^S(l&)}kp)WwUqNm{r%k1Nz~+*rc5zWEIdxF!aY0^jSEaBg`6r?20{ zxvST4?ZyqvFW$uSZ@h))UVRPA8=JVfvIhNIy(SA; zaq+8bP;(qol65I2>@sAIyV!37$6NI_Zr_{vjwa!O?shCR?O4EWzB?Ru0b+c=+%ZJ9 z=ohhmTzI6aFIi?yDOo(~3G5>rRj^TxUer20m)&Ay z>4)+2ZSk@(m$^kb=!!QV8FQHMK3{H`tK7}U1Wgo#$TSaSV>VDx*Bl+aBki=o^3$Ik z)+9s{5M^=c$|jO7E=-idIbkBNcOOSeFxn_Wval$V3nKG9Dv`@KFUxB;Og541k;ho+ zJe79dQ?A0}&Ux-FDXl3TBT*zGTa>^^grQrq*E0+i*bBRm!igk)?}`fBzvLY>~A5C43<%?lu%@W zV;CCR$uS2QJ2_azDtBue#0o5C1N0jo9>VzeIEvgE6)FQ(AnV)_t+HsOu82Ax)uk+) zX|0BYJ`)Fz;=vOqu%C}4#|8$Fu;6fmi0fMoeC7NN{Q7h6;Q#;3EBJ#q&fuHxoW--G z=iYo5FR}Q%{`%{9<%JjU(#x;ojd$O}=?hn&Us5@LeG%_oxQf?LpToN>JTH9bTi9H< zjKN|N&ZQVGCn)iFE-r83)YS#N!^e*o8B;2kF*s1gjl~r#t*%46))tD`T)x5gYuCB^ zo5#x1O{|eFzm%Z9+<WRdOA%${d=!`1-PdImEFkA8)gtqlWRV$j zLkj2ecxpC-47MR)l4XxP%F^=`a6$UCfPy8oG=LZ(2#1;}5=fFmJhkpFoMgG8U$;j` zqaX99Hos8m;-Y-4WMMqB`X-dWxpr`Gjk=7I^IS5C-TP(&)m}O3;>yE$H77kKfopao zSaUWa)4`@V5RpxUp5|x+$pIWafi3DFDj8XGu3PUIGRX_Oy6rSL&Y~c{T1t-8(_QfC zf%~eCmB{f6yjrdDRZsy*Az=|~GlOPGq4#4(JeOPCacQ>(T1)gRmFUkR(BM0@O%@{U z$PP`8;ISifSYcsXskbpcSb-ij>K8GVYE7KFwq(C3^5%u>c>CNHy#4muIDPsI-g)sk z+`PVk3va!NcVGB6E}nTCi#M)dY;qEN_-OLJ!~2+P5Mx~DSha*v?hy6w)|Ob@&MmLu z%*{2t&-Y)iU0%ZT=dR<~)7S9DH!k4czJ38;eDgBC`tB8c^Sz6B`mNLW)@yIz)amzd zg}b=4wuwqoM1j|;Tqr;}M|fOITXo#rsNouSW7n2fadUM8*ICT;%Q5SGq`J0U!_DPo zuJJNf7q4QC#rVR73s}6;!j*43o-Kf<32IJ5peRQ!m{W`W$4U8x#ufI%qOF(v+o%`) z-&fZfG-L0&dv*EjM$xyI%Rge0^OVQ622tJ~<-A|S$os+Bz0#8_?<+ZB{O!ACQzntz zd$}-C#3hS5y8YB1zu^6C55weUx|U-K2gT)ykh&mo`CG0SLvDI>h+NK+X;+MW(xeNI zM4QD%U3OB2Q8p9($Zg~xw0r$DT9?HH4s`50Cr!2<`N~H;V$w-n=bU<%zkG#-FA%A@ zd7R14P+!!PU*w@qQTA4k`Y~_wh{l*pvSK>9JaX$%ITfMvC7yYADMEJuJZeSD7Ag1y z7SVpZpG(9Xw>)V(!FH{VZGMTTZGiO&+>|ku;~8`;a4DMf(_^+x7Ak$I0|}bkeGx{T z&Rg7#9h@A+!^ihwo7=flOIs`sMaCxBZabV^*~EJbt2ljQ8E;&i$MdHz;w!JcgO}bt zgL8Zz^(Kqjm!EkWU;Wn8c=5&Ov2k+|7rBEved!WLM@KO|J%PCi()chAO^lL8FgsMm z6nBY5uCl=O%uP-sP0BdCxP{lRt>W7km+(D=4;NklBW-NRS9@7TT*%Axh3g5HM-@J(? zH)S_ooI#tM3Aiea-4xGzRzBa&qVoCfG(I2GyUyKm z>T$XNPE;DH^35pTryf_CSOoY(9tiqt|0zKkK zn7=H_3AQ{Q@Z-$h3DKn$ zt*OO=)n@Yrc%wQVNa~`)+cyi}%I|%g0I2Q{JZ7yv^jkpjmD|+-dA>7jcWJ`pt2t`SP*( zm^fYD9b|e4*i;axzgr2;9P${gy!J96c|sW*KLfT<}@HTM4Py`$2n8x?8v#0AUfJ5 z%Ew6{MLDJ1)wzBb{3Gsy;E0Q)>b5hkA&?^%DYx=^k_JY?nlMLA+<-0_)L_jXJGvrw zE^RcpebKM$w^^*j!QG3amndOGorSE;YgFUAFVPlvZ2FR~vWN^;%ecC{f%B`|jNsYk z#42W+^c^f0kWe2i7BE>YVb5>{PaWNh2M^5R!Grtp$p`PnlgAF?&Z(oIHx}J8>94`slrQ>evAso*L&Htu}X; zb&L&E@aU2Kcxc}YrU%L_hzVHNFi=cTObS@wn%`e<;O*sYytuH5Z(Ui%Gv}6ZnmfA< z7V8#wdt==BITpei&qISd&Mo39VytJ-F15yEDO85JV@t5c;=Hw)V*9;4P}8}}bGq`( z@q7@JO%yT7d7{gXF5ews0OGw7)SXPpi3UdL1N84E=(~xz(`vy)`{d;hGPl;hTdZu#wTnHGtwX`$~HdXJt_ zM?o^X4YX6|2>Zx%WM?|qT%f#v#ApgVT7ycaqD97@w>irj5%H8?Z=TFVe*)~X#T-%g z96U}%$Td&0f=R@qJ*AFZ6YkgG&thseKbpvy#pNdtaZX1_YjNcA6;ZS<+<5#eGDg9 z2oH>nuuu+QcDRJ`fg&C~x(`nsn!|yi3Wm9ZEI6>R@x1b&^!Rj{$8m$Zuk&j)oLZ{k zmHBPF#R9jm)#gsLfC=utmTGMb4{+DT#g;`~5&W%hVyl)p&6q7=@_DoO>A9P}Rrc1fOmTKS}z z-O&Toz~;zPa*#{b5lZ(fN{Pan!}jBCcM!itCpzWAW;BtjsT9?dAej^#_qJoyXdZ>s(hI zt$Gc^)6*E;y9aZ3-Hk(cpTO~x_u%n|AI1-S=qWt@z)3uK;uyZ~zGL|4@%=b4HHtB= zXKJ8~8SdbQ`B<^QgBmOsp_8}CV_Dm(=!bgzBq61j? zlj;D5Cb;|CvkyyaD;Oy3M|xovj^|T7@>EKWg!f|6EL)U!^O0S)yst2kaPj{T)Nj83 z5cAwNrxqf*t>Z2ZI!XC>>CrXfc`Vv`c|V_CtXJ>Nk=Ntgd8}8y(|jRUPeBW)?(}?O zei^~ZCh9js4`!+jAxmB+)T0t%S8g))ol*>lJUYo!MBRECR-WgI@jlLpOZTMF!Wh+& zf#}6=HK@tvGisFPJ*3Gl5(ng}meAqya)L;bl__$=ZGgo&8xfj3C3@~h>3}Z3&jGagFg{_yLAyy@$3;&Ts5ak! zrD$7$1DhN*T3;Jo`2?> zc=P2K@cOgg!gEi56VE>PES`DsMbZm+{)HED_Wd(hURwvMgD6c*BN-eOkVwHt*exr{0tp?xuwRue) z->Vf-Diu+!RG{Am9T=O$$oLeC^eWyveH!VxyI|)_Cl$HYqxYye#}6jv^Eifz$o_-% z{Cpp1lHR~x{R1VVbBvFi(D&5uZ_&LhKmy){AFUhY@9$xE6-lEaRI%ZRxc!yG=UP~JXvl`k2)G>>;O6AoP#%_Lj&q{(3E(U#gQ&PLk9`lY8* zNvUkS7UIGQWnL1T)0$+J#gijTNt#7Wy2#63a?I-l7;&8pU}s8=pfw*Y-FrJ)G@}FU z-jx#2c5M`011@Qi2)TruBuB;&vC%n21Kgm%u?RL<^lE%QsZ@IGxU|*8w0`T5JD>`S z+MdxW9y+`SKm70sjFu}{<)gdzS8HgvBKFTr;^d)y_~cU$;PLy8;9eG*k3V!b?msw( zaqjL!Slh(%wRv1Ta}j6XeV=q1Z@zU3@4R;w@14DbOE;GAK6iU>U!KQzPMyWmufL5i zfBQLn>FZD951)A+Prvd8UORgMXXbC>ovZU$WT6@uu3}(#0HZ8ohxX3m;p0be&%wPo zFgaqoH|->Ae9XGVN2E748Z2^cwD>+PDHc&ImQXI2Q5_jag>>N9QM~Zd^Oz|-f$a-L zohHDcyY=d{8pM;v)5&W_pkJpw!sZ{9K3uM%Xu6$$^y|mJm)L&!ZhJoR3(qIW<9V42 z?EBS~kG+-5_*E& zu%1xewLOqj=jglR$|$)fT7guf$YZeeQD;Y==3Fp@yo&1MhTU-Qn+Ci0(x|MSJFXy- zyqyM;tYjAH;2epnGKr*#M*Igc!N7H{nn#Pz;{k5#)c{wESFH?W5z?%;bX!FAASg*`jH>NBcJ{OJn+c<`1n(g;wOIor|{XI{c-&8 z6A$D6@ad1?7ytOr;Aem4C-Fm%JcK6>?!$@M85W}bn5dMIviLOXZKQ37HVHh2l3IRkDd^a)6Ki|rB?y}6<&#+BqFx>iMB z*#eW;p$IBjq>j}~!sRFONVY!BV^=lcCez=wV zHFjk$$t24yjI!WJ4A7Uoj~1BPDpQHfKr;l$E=&Y9%V&bj5(4KOyw39X z>oSuKinTBamfNy}?q=@{9+z&e6nwr8P6&-cldQo^Z9X<@Q|8>%99N<^y&u!B@Drj9 zNch8sik{YB1&vjzR7lWd0a@9sVc+;523QRA8U4w%Ic-|k*H7U$KK~{B!_R#lFT8sOH5R#%Y6(N7 z0(gk1^PQS@YDEC^8%>l3hA=Wchw;g2G@9FZ@0|;nzV=D9nUAMRmx-Pqu)E#;bv*+oIkSX_7p+=0+9PjA?6c^TV#jtJfQy7lC; z^WHn3boyCtOGqGcinr{HlYK{C;+9WFQonS0J6$?GIJ2O2ux=@M*j<~m^sa)7Fss}% zn-oJiLR@w5{)5hwnRyPo6x4 z;bNj>TtM1pZIzF(x3U$_=W%cKf}-e!Y|^pAOAFd_A@_&&;I1kaJMyy*Uw$WyO*!w z^2$2iU);ovjT(wP32}!Bo{M!AxpI-kt%(YY;x-BxnHa=bfc zc2N$xW3e|G^Vs}%oFM1O*xu_x2(SSksP$WeIY>!E5zfhY` z#vTf(_!;dnV8@Y0SNNvc`(@SaJ+3~0V?Td>ywNq6f|UfJNtYOTl%r3?gC3Z?IwT*F z5IICyx`-G%Y#p+R95n~u9JKUQYjrT$!2#4YQh*AQGfb%BMY4dXEDoRqHp@dUB+68+ zJM&37I@2|{9!*%vK{#2kb}|WfGH`vyj4MKG6OzI??;*{jDaAZS6;bDxwdD{N{ludl zW%@I(ZVg#H$tLm|vYf~@#z_lIVu!+U#iW6|o;<1P4#vP1{B&$7RdH}_CfX3tq=rJ# z@vGWFN6A-e{3>t5c4mA}#=6F9%V_0eh;t4}LIGgW0(WMxGoxCy!2(b!7Pw=Y#9*H?GYf8-gJ)i|d02bBBG9bJLSgbHsIY681{povz$>5-C5eLA=X9 z9G7ev9@ZaB9_~^+#E(J{axBC~B+eIk#CPNVN5{UI8PabN^3AgM%+8M~WJkU+N#>u& z6-!$lviL3_r^sJwZ;UY6B1xxD*BK6&n2~%b1jdhIPGM}e4$90UHxV`Z`H=#<1I^?y zgEQH||7VKj@-fZ>L^`?)z9~_e#f6DWkK}?NE}LVV&k_ubmoA$}oH0i~tchi}JQ!Id4~t?2${3l=qWNA9g#dTD;r>_s3^Op*d0<)!+vm zn-0!6a*clM+m%J|yPSBNMJ?r5ICp0DWzJbsuwbRoZ!*H-Qz)%IEZmS;Tng`3ND}CO z5z}G?+&ekS$98Qr`Pfc{qPDSu{YMYs&wl1pcy!+^N=#B>63ttrym0+GzVtg^z~bdA zcV^PUM7uDEG^qe!0#`;_97B8NAkxVh$_1nq z`jrP*{3g*pe9U+{G6r||ak#N@l=%Mb(#1;{;=IaIO?)AH{K#Iu^BcjQ;VKJT0X43D zx>8_qOQ2sOS?0U9&8gv(XPe;U+N^)+x2+3O{b9OUDqk*|07cW$CBFSCU5ZyAP0FeN3k!1Rc<*1#cc+Z4&uN23%`sL)1#OfEOQsNNz`hWZn_}2gY&+w1`;$O#wH{auIRlpSih*;FhLr9CmNZkO7U6n;|Xf;}(;cZ)G& z9O9a~0)sKyg4)Zv%!(J?(kW+Tu-tcBV;+|uFEKg?>+?h(vwO(CHgszT)%55mEZQO$ z){kOL%+2NYbIUN<z06xJzX9cZ~3SKF3wt zS0h2mWaeT66?UErS)4@XOQ|cbV zzB}5zRF~&S#R%A_f5djMcGF9)N*9{B< zo$YwZdG0(YUlB3QA!de5pq8RuYT=dEGdO$mn$CN`XB5r*XZ~oRF;+eny&vE(NZ{c75 zg%@uw;%YYjMP(=XQKqkL~3tqXtgw(OP z6{|>_H9Y(DbNH|R;(voO*Q(swNsbLx@R56uu--OUxLauHADJV?{=qWt-9Lf3=}8Pt zjpORoD;VE=426r_0dfZGIzQRDCnBBfyY4YQ@|dVs4>%8l*Mds4JIZ&^#}@;H~~&6&Vc#YE93 z2SXT5-k+m%5yc%{ej+nah-)&P10jx_%SIs1)9Z&^%lnudl8D(lB=qE}M8C%1qH$J{c&bo6OAy;^M(qqE=&b({x*|I17^V2O!1CU7Tbo z$ORcmj$}qdVQYgmSxq1&50Tg7=n+S|zqFK`Y#Kzeces_F?DnR5B=00eBXb540nHW76omYltX6km>ZePH1cd-0Xb)y!o)I=Qd}-C z;9KjT$K|D0(BxfTEDC1HawM+1m^e7+i<*j8lj-z5?1{;R)^Klp2Z6Yu`U@8h3* z_CLix|LH%0FZ}uc3tsr|{tkZcZ~Sfiv8O(TU-`xV4FC6E{x9)Q|M9=YU;WF!isj`M z4DuKc&yFKuF}>%|9On3lv|ewZ-fZ$1+uZj#oSYj$g>&vXeiSP!t0>p^pm=^ib~NWY zP)_WCLE?EdDRNVCgYXz1dCt76C|^+@hy2oHj@K+dRd(Uz5J++Pl=2TI@18dXgM1?}YPP5ZZazWIv*;V=je3`lK+Yv5Ts%)S>7(yS4kX#hZrQaa zIhZe#uYgJ|eGmkBX5^B#U%$QiLc%E04Ji&-o$W%oqU4qM&xM7~jtxZQ{{R+0F*J)*@!> zksy*^q^Rd7Oc~{jgzBQC6hxi#Nx*Unkwp|SM?t!XqIF+LWRcpO9Yjy)qou>VaA^9?7!5ZA_sj3_ckg~`*}Hj?@_ z2Dr0oE-hi@o%e9Rg`=E9H5Z9;jeuWB?<4FSoee0J!5Dx%vdsx;&`Ht`ivLTk(9@ZZW&z z${TF)356h0zuO@{m3;EV%VBCr=jEJ|&zF~TE_SUgkb`_O8z+`d*nFr;G>W(>9Ap#4 zSjl;!i{%hEqLJN14f%X|JRaW;pWtNkQD&D5Z(7(qhJ%fQa*$Dh*|M7-oz`V1tb7rZ zERrsw*;1Gs4FUs2Nb^b#u%A09vY8khESCW4?3Q1HofiV~=SM{zA|kR%>`H4uZjc{U zMU(C9vXj`cBTrnC8FBk2zkG~zks>25StMOHap`wTj8O=gkB}lM0@5Xu?>J`RfM8l7 zf;Hi;=WNOjWb<<&~VzEm0(E-k&lYr)E6CWn?di&#RG zbpi=P`F#&PN-PlIQ#-VHysebyiPQ1B9(ok1-vAU&ca&Jr60VEg3Y_Bf@6qTEF!$E> z7TWCwSKnsg*uuurb<{UjfWcuL|JWz-qd)h@@yQ?l0q74I53-<*jg4Y*|2`Z(b{vPu zkL}%$1LKo8Ffxq&+_g=X3Yg$~u2Q?jM~5kkQi6(Wq0rvq&Z~)mq=C`0!~Tg;@)C+X zprqhXNE}LB27}Ue}16a-_m2@^A2N)Q6G9iPo3Cy{&tnGXkc^9!&sVJ2{p zY@s#~U>By7oIydbxoFQ7G-^9~@ZNzlt(~zQh7Mq%^waDel#&c0ig(m^%OO0UK)UjZ z=W)rzb;J^NRlB$p*~LYQ7fBXHnLImY`dc1x5&dZ9$Sz%!=8oL!{#!w^3pPi8Q1%?w zR1zel92{+AVU#3PJX$12a?YbJ0_2Xd$|$0mb>Wc&cIu|cCZ>>%PXlG{J&L>)(+0p@gZ__^Bhv+Z?7uk9xVRp15uq$+ z)PIM1v{w?4!)SN7?fBj^y~Y4+6dDgIKA3ln)Lx(W)Uh^;%Q4m#4dh;YtamVgaKE598YMDoW`gG~OLW)^=XT%w$5ZJ+G(c z(LF?a|*xcnJn{>$r5{Q0@fjfraF0UOn0n8wl zk#tc877Ib3M~4tv44}$zcGL?EyxRH-&aQqLXw?{%@=Lo-0x7k3MXuzKq;1aIHhY2R zPt%k*43rX7Sq$`x9x7_)mI8DHIQU}5)U6cGIhG4>XXj92Y`xXSR-=K$C8(3vx3}S# zyF4&}79Z`cE-s+9d;{tFDsf=^{zvhtpZj@KSjbj4Hc_NsVPXt}A9@0V`}Sh`#NF6) zU?2AF-Gk$M=CF?i?eO?0?w*^%Uhdoujg8~b_yp#LM=&!!hLOQR6j)eOv{7YoDkTLR zV|DxZkvUWcN@x`mOw7%oR4!qIJFr@_jI!O@)NLZTRLQIEWzZ?pxTKfLIE%XGmQ;}jF1kkK>Q zWs}yA>+ogEp9952O!gSp7qQg zGdSis$E@k$tH4)mN9b4k){r=&^;gUJ*kr|7%v0!f-nqE@Zf_5dxKBf6S* zAe4)xwzKE$3hLE`^+rXXoXsE&IShH(=dg>_2luz1KOXNH$6jn_&gj|8JDy(B>f{r7 zm+Tj2E9-bWIOj>ek^G9BseUw(_gD(AJ91~B_XTwwp|lh*O{23IusLEPa6YOqnS!{Y z9Ayv%TX`_W;YZHk+Vy#yI(-hP)#0{la9a&HKAv+;?$SuYarH95-NWjsE2>9~j@@U} zsyw1~dFe{!9Nyae0$MB@jupspYnAZ)h`3-|MV&jSwN?XQ)k?XGNm*nZEkzcv0>9r2 ziQ{9r0;;7VD#Zfpje~Y+3jftiJa96inB9WbZc9f7VG*Q4o3 z!RB#43UdJy2V)!wY++?~7N}-D9+~_kM>0LEBXz*u`%aE6ZrrHgM_f)i4hen51(eiaJ-!XC@bmXK-QZ8{o?-IL?`%WsejS zu9jx7wxQK-W3%1BItv_C=9^n4F?nb**<}R~}%JLM~ z-qT&wb?&2lD^5Sf@LF_v2@~Kb&_yCop0OPRU3OpsVw~jLQLk@a&*zW0uqeme)U{lx zIvlDJyO!-71KDMWK7x2j1Q{t#nA}9N8K*VlQIIonO`;fyk)n(4>xgAMAD4j?gvUUt zS?`C-Pn0?J5fn!_FiN>DP^28X!n>#I#7o-N6DF_FB3;iJ!NzxGjdQQ8M`Ct zYsVPBguoDC(StI(G%|EIAsvbmLI$vDUNUxB$*fE6&L{+o(+w}~DEn18s40)g3FjB1 zunxss;v!kZorFM9XO=unt7A^0l;k5xTqv(4&z)aK93z)aa>{7OSZ7?LLW~DgUKBfa zO47x2`N#HO$I#3?w)t4GkR+Iyp2D|&_xG^%?rXpXi`BhzR4wMS497mJ3ZQBF{6S0DH_B#_~>tqMQylJ zAl!!C{QPD}=}|}$lnV(T*MZz&fCX)k@1Kee_M3<$J}RUqT3qWIC;u~l`cL7L$By7L_n*Z5 z+}%xZM>hAwhcUonRvj6JDQ-!P^%hD4!x*2P#lrkeET37$>f%cnoh_qpbI!w@ z#|yiS!7uvf-O`{0m!N^CG!t(r#JHFzI%`dNOmg&%KGJW6%TGSyk#f33kxY?mTIqR; zwtiUjk3Ny>_+^u>)23ze_7SXGPNJnVTmv214KpW60%W5c7$x=`PAxmvnkS1jL!Uv3 z6faZcl6NEdh-8mkawO%G+-vKHM@;^aVqC9HI>|oM(U-cNJn8z-!j4#)C)ss2oYP0h zV}6XYNbA@PWe~dzBtv)(g@_2T3l(WTkERq2p;aqM$u)CFhM9@8J1U;cjrm~+*c72i zM;Ss*h$yTXWD@8BHXZ}>$}3L@R^_7^YR<5z3F(kxGtJIf3bFvDfs6SpexyzlI|Z(T zMVD075B6sJ+qkjv9bzp`*7mzH9)L38 zUAY7|GKBPjlSoI0(cUwI^u!^g_mLjF3+YdM0&7!M6h8AQO#h$$6FmHjKaB&$3Lbmp z5uCX1UR1}%Fm(7BMo!#=*5(olr2lll0F$5=D?LDR;VjLXCrc1ax~VE!E>lZ1=1 z9P*Ww+*shUn;$`gI7FQg?7V25#N`V$$>NcM-C)TP7dMasxtVOBu1-wM=8!Bh;5I|> zvs4;?ha_tV*?Grw%Pv_XF5;Q57qqDw7y})0`|Q)j&#v z%`#CJPwA^KK;0WDF;Is!uL%#ti4_5QXl``1Xb~t`Bw1Pfye4TNY)F&?C(QNvI6rzs zX0L~JavfZPjGpM=3{X}PX?|HKQ1#u>>dEUcT_e~u16jZnFAdZI4L(0{od>372Q``;IVIxGG-rB#@VOnW zfaBdY_rN z$~*1h2y)lnvotsuB@$Li^ZzJ!j|%pr~U~+yV=0j+A=m4=drnX16wTO?ThDu z>({|b2-~sgA2eUS3O9cZ$@~J6m1QKWt4R0mL3)^v9|ubq`KiyKxOWcj)OjR)H(4C0 zqB=2-gpVy9A72jM`v6=qL1Xzkz;}j??M>7gb)K38v-=MqEfmp20pEJ&Eo`&cEwa$Q z_3n3QTL%xx6GC%=r{t1F6tgZoQ*I$BPLy|1tSI7=qdj8CglO5x702sh2FW@IULVu* zgHq*j#RwBI&N&L?*_2c*T$l+QqD)&p6)jL4VW?%c2oMyOCqmYhQWQ_TmSKh%ORhM> zyrYg#(-}#j3lwK09|M5EV2uiUoW>v<1S*D#F&ly+8%530olGDp`chPn?&eD%Gs_?% zmUS6L5tkf|y;#(vJ;$?O3XxCDVJCu4!bBA97`)xt`XuYbIvPz5T)IC?`ihW6TFMwl zq7%oIOhjgR#T^Hi*}T;`2Z)esrl*M6Q<_AM2t|N)2j3|EZBCCFv9?2@kSsRJPb~N5N3st0SO^~V&(4dO6XqM)!vovYVT^Li;#p?0#+-` z2pG&T3=A{VJ#DM2s>>bk&-rZb|B1}_>Z{W|NShUJy#5W7nek?1o^z@pYUG|6Y;Umi zBo5*qj={Y4qs%(N4q`9x!3 zY}?=pSbp@nmd+k%#O~(cfbV6NcJ@9lLSa*-G!$@>@NGGNs1YR7%}ZZ;7WpkX6IEhE^?aokB)W7 zm_i8Y2QP-q0o~DWy3SPjn9HxNj8icWrZRwWmfJi>Fyf)^v z+5jcR>M1zx)Xz%WO|=kNHY+!6IcgV^)AlU*bYMS&9Sqsdv?24x<_)G_35ZkQTQka+ z+t(7;2Bu+Zod(XxYk4guW+EzP?QXdxR#kWy-+|CbvPEcAUN9@K77cIYNvce|46<}K zN>B(Pb=g|ONw=Ud71{F+)Z(lSQ@i>?vo^Q_0=f_aluRWMhud>JrlRI*6WAn0Rto|i zwIn2&X#y8D0%-th+pIy*lz>f|!zM!JgY~t!L!r%#@JQObWa0>Dl)x^v zeF#B5LL)bAu(q|buZxdeP06a;EmZI^YCN83Zhl^6yHKlLO6-zaB!Hviz7B_Dl3HJ* z@mQPBzM9QMGb*2O2Tc&PSzOoJ_V3pm8O&$HKgk%dt3irr1J_L;{uq2P9?Gv9@1HNU z%&w*)nFM^r&d!OeD4b+*qIkZ_qExq4s7;^e+J)xYF(ow2bl4wjFr2XKtJ0`#?^lik zc5oy5P%tND5gEsXozRGR#Fm}Wn6@hLXmF&#!LHnXB!2(+NQZknI^5kRv2AELI9BC^ z#;Zu)RZ9JV#12X%9vzLLOKJ5`y0Rtt8DW3KFaqDy7NxmGRaKzvitm2NR#r6FTi57- zZ*rA1BAFfRAIN<@!>(>Pndtt<-=sdfIo!0*uJM?}dpI2GV7RT7m0K!11#RL?{j$PX zUnXP3QyE=I^hx)Vd@}kpm2C}KJxiaIP20mL)3&MLji=D?Mz1)AsbNhxmZ9ceUR!5y zyq9aIGcs+;w%BF9VUg4&g`u+CV5x^-Fg+_XZ?G)KGjChVj187qZ`#;=0@_Kk#7Op0 zbD+Az&nm1pZ!rA|;Fwcq2g)|44VgE7r8wEf*kC)uEN$M9WyIn6(h{Xfhfg@`MUN^Z zma92xT|g7iG{VHyv^9cPIs$c=axj$IFN6SH7q?N(Sf$CRRkB%-eX2%MmQ;V^rmyy?YQQo;64EowWJkpqCcD(ay z4K@}eEQCi00m^Mj$K{@0-2EjXl30ubeKSM_Mfsp7B(Vw*zLxa)ZniTSsN0e*EOgXj z2NSvK1Ii*q5P9~8k=L;ARTG}K@;(THT}6cgzX zZgq=6v{5kbs6L6I@4v=D|3-t64i65sPeR$<-qPOIhQ_@5D+xLp^|j9qZFh4`2m3p6 z`)s8ozWa$7BI(gFI!9}?pJX0mA<=OfY>6hYA8WX?rvr9=$3Y~vf%ac|PNHWcVhj!s zwYj-l|CoQfqgZzJ;Ag%=`}FIG`P}zwS(4fq-^(|y^F8g8dhlTqD&r%_e`CSfmX)gp z8d1aDjb`mKov|(LYnYW;J`2{HpSAG`vCQE9&+05QpZ(0wf_2QWJrcoQ`&m?q=cTzEdvstDj1iBZjdE+0RJ@Y#x}?}(|0Uu%6e1Q8^iMw z#+2xfr3TXsL_V+pxy}Gfn^gi^*OY5(>}R@a;?;CjtCGwTvz2Eq5v~l`3fh4|E;CZI zZlK0QGhuyzuHy!a?tqnWwGQGHigh8}@iU*zOjpD{t0YTxsuIgQ)mS(O zz(pL>@k1*M)f{>Y$QK+Ob2Qgg0nb>=hRs61V@%r&CAB*wlqJFSyjst{q6Nw^%1 zEC5&0i&{l2d=E3GF$I zd+6O6n>2}lWh^w`=|BY?viqE{Gfm?s+3f8d@HX*S+uJ+Z*xb+&NoGhA+2Y&SHoLTK zzNu|*tZKwJM<=cd`DA^a*N&SKuVb~x>&KlPksSecYRoU$QQF$nm~WGAXJ=9c2e)i}|8uYI#3lMz~lj;ne+V|u+ye|C7t*g4u(>|fF8 zb8X#qc))iF8pe~+kc6qJSy?SPQ4=iNghpkIxZ!GKSxt$XAyd#ZhS|pVvmwW|b=E;A zkIW|q;mKnEEX%g$Ux{`ML)K;5*gmr`Yh$^2gK66XUK^4K`p!Jspn;@pXd~Mhpc6_J z%qtX6Npi<#I>aPsj7_6!xH||LrRE`~aj>V?fXqY6HZ=~xbk@3e5BQ568DfkdB^Iw`y{B<%}s5RppHmjJ0z!V z64nOa)YjK->VSlIytk{Poh==0tf{}gs?j!y3%=UfRb@;fo7}po{@SW`z#HtW4tTXV z939ajS|S)8y1FnM`3Yu61_w_E@K5CBO;K~$te{<4CB z^;r&^NcSNTR$6FmfoWp{vc$TAwkTasrVW-SVN+RV$Z}(YWd_rYX^PYE?9gh8OFyg8 z*RrW#hM0Cf$#Ue35qdUo4+>_0J0&Dp&Cj-1OQ`XqZc0cv*(G_+Ct*|F(IJ?%!8Eam zU2IqLp&pz2XhnirlgQbM7&U9cHW~ZAt`vfKTV!0B0gMfhsnGh}lZG_w?Q1X(Q0nL= zEH_}DifPNun4ZC@FUXP_Y}J%D(a6+{-+E?3@NQ4(z>bp0RAryUG?o1uG9la8sm8_P zNcX+vvf6x;DI%})ND^aS&0Rcynpbe7A?P_4`$sP<>P?ScRBx`6{`R34n&S9%(uRKu z!SNhCXjqJNt@jB%fApVp{l+KK50V5DM<59m%qbVIqA}wyad9uiZf$~oFdpjw`Y4XH z(g|vl$Y?s*d(0KO39+(&Q5Gsfq>ZRfyOkiupfX0aTT%1K=GrB@v_idB$!o!iq&DIe zWCctT9PqvCh}Wx5x}CD6g8NP61RR@QC?UB^>Nbdb%U;X}2 zd+b=(cqMt`_H|vq`GRiVysWkL>sr5kO{+JqX#K`D?X2IHUr%n|yrK2ypVh5rpVif; zp3;lYd`h?3-Hn-y*r8&4!{Y-FR~u`$_^wuIabZD&VWp+ziyHB2a>DMkMG|+C^UNC? zDowQ2Ki1~qfi~&KXFR^GiP;+#M!gqImvTtj1CGt@S1WL3I0 zkvWd#kOXsm2O4=Yfv!y0A6f=1ldPd(6+*)p8EkJw24u;{a@!hPcM@A>z}`p=woBq& z&H7}zk-MuV(=e?&305{SO=g(-p`#?RvB8XS?t?>GW}M_O#wmt{@VVcx_MP%3urW&Q&(gMSz=K)8EHiC<5^OlD zGjFh+u>pE&Vxo~D&Lv&=nw4jI7MnI?FXLI>v1epiH65?@hN%K$^Pp5R-QZ+q8ko|d z>19YB(+ZQCo{^_^GminKwmDhP*d!nHWu>#P|AdxTIx1VG$OD@2gm3j+r=`aqyrjn- zx~O|Eu8=GW62M41d`}yaK$f?Y6e{)c66{VhNwn@1Q^; zYqv>iopz#Qh-#Om7Q1boneVENzSm|9-fhu;nv-F`JI6k|HIGR=_AbnI)$6vU5Y#2s zm?TS=wX(FJ`EEzI*=1d4_xjY$b-i$FUDwt(NJu+c-`&>sT8^<0kNup1pQOpSpHA z!L#7!uD+mWFF&oPFMmo;J^z%RzVfVISiP#v{+^1(j>`FtDt3{vRg$1vs+fx_S8r;0 zX-OfLdgj_qRgpY5R(iELe-acn0h@m1nz* zu}d*s0ogWTbUD6x)XM!gc8G*c*w%nimf6ScI;mM@GegoNFr93mQ$b)IA(Z4M0LvUF z$*>VXsa-OGo#nR6IH|JSOs13P-4&O$1-3HIkokxLg1jQM+i%BA-o~SvpJ}88c zWYdeg=2A@{DXFu)u?2w1q%>jBoddO!E)hy`sP7cZ4VKu~V0soTvyHLk&=gZORC;+_ zH2Dmr_U&t@1}7ahJ~I}XOkl=#iD@d!8q#R$YbHZu)68L(-i>qI2HS;LmHRLSd!VP( zW3o|Vte630pRO%pP7O_C+J5Lsox69W7T=CqMN4BA$u^11Q{x}cFGvEui`>4#&Fm1>daBsWYG zmd3<9VrRI?tG3lipX4Jg(hrZ)H>8JTz>Pw0@OAtNiKt=`S2}`ZBT&2DR=d^Gd6LlE z-uN1Q^Edr5{nSrY0|!~zK--q9(7oS5T<4ob2VjVi904zrW+hWL&#Tc6BK$Xw%UL!6-=hhH1a8* z4DM9Z{@^o};xo(6%4^!!PEDoygt6N)SeNh#JyUE|4UNv%XO<^XsxSek7?62h5|2FF zXH|+p-_09rXUKMTvD#q0ah91kZR~k9n6|&|42h@8GGo}f;7rL~^ojB8&(jJA?U*EuV!fH@4i^fKNiHg2@H`t{I<^n{)`{1ZJ>LV=--^d1HfVgJ}aa z#nc_he&94W)?h@D$15LZ(3{LKWv$CXeHqOWBUnTwGQ4vw|3FsF0p&S-IAQJro_XHGBcRrg)g=RNwMKL6DZ>W!Dq zsZa7-+db6PjU7FCs*QAz(<1sT|tH(rjbiV7`tW z)VNtJ1!Ai{Y?E}zEXnjVelnP`$H*d(lC2HxYe+&@GhjWe`(e@;R?7CO59^Z172q~F zz3Cj-)_P-9wF9;FLSfqssZZ$4TW8*od}o|-yE7>4U2JE$eGN%QWjQDn%co(cL{g=A z*1O$CBKzJoW*SItRKD)9Ly|m~Fe(q|fr~ zXg<@nGj9x}k6hi!0cLG7?O$T3&?T8M zknE@+QBt7O+(S-FqqNE}^|t{!iYdLUe_4UneukIDw(ul0ekmTl$;UR0Jhg8g9jNLa zseAwL>GbKdDp|b!6Lm-arC|KLTbdB3H{a9V-o6fb#ps`A^up}j%a~Vm4}JLu^t=D# zztDg9Ge4}|wck-V+|if?+R3gWLscZKie1FrAl~TJ{c&;%=p*g9t$xL;%xb6|7W#H9 zw8CzXd?o9G`%ZtvT^rN2rzCfR^$jv14!KX~7kc`f*F2_g`TFigS=M~7t6saUd3MA-#<()q)j4)(OAGV74vZd{Vkoq~yQ{!?Da%41 zed+}b*>#P94!g5Hx@)|$ynO4nO6Je;E9R$Sp2j>hc$enyXqIntP7jWcRHpMWVi$U- zEx!L<>~{6x^$+SdZvAT=FaDu!5B@-->QEwH2thtv*AS3eQbVJznG?0!G=vajC!^Fi zgmh6p&=_&)BTQ6XWxYB385?Y6-hQUDEYohsGV6_JA;+BhPo2bU)t1Q*xiP2~QfJ?( zAr09ERT4R-Y0KX?O0YzB-I|1<>}96$W_sJNw%#gH<-+$~Vg5 zS)An=zmhJ?W^7Uq9Ns!(bVg=V&rD1OW*WfGy=^#6ZN*_7kYbyK2I(#v$26!pvQ5LL zS+LB|*qMA;jK+T27aL)3lx(51$z8nV4WxdW&W3i*d_%iGCR2<=G{&|wZ!m2@m12UY z#d3q~ve2|;<}*fSUjyQz6}5D(#i9rEvbHU2ps{bb6Ns3WkWH!wep{!{%qc)SksTi& ztIun)gM&j2c$)9S58!(&%AL8E{C#W4Lhl4sgn9kW|MQ>f`TzN!tG#_o8nSEfPv?=y zlz^p`VR)+Q(_tO~i>(YO(jrG9vebVmYG*Rk&B-y^krvCSUx%;J}Egg`|*x5`jJ)+Tt$24AfP*rCc zuSzlW^gTcNr`U0=FutJmgORRo9cqolc5pP5u<~ok9d<>Bhlld(&F=i7+U>5oov!9c zZs*UfXnC=xbEg*dhF9IM_q^dTy^bB*#l?9QBw+ur$%tL;BD>%PUL&5u=bqCmdf@C? zonKhca<8ZPxj9;@oUfU_iDJ9QH^?m>G}^jxdrOyZuc=}e>ACEaoQFpT`rY694PGZ6 zt3~n);;1CgX`fwgp9hPGaKH}jaL^~04|tV4)WENcd2rYr9%>BzcyCFYqXT{9#gFRL zrGb9q=D*bC{ohh7CIoc6gg$*m8&=Y^k-Nt@AUSW;HJu0yT>!IpAS9oPI=P^yz}>O1 z+%ijM=_H$J*t%pxWwEatNVyZ{vtBcYV|X$pkLN^kx765CBO;K~&f|hV^%0 z3((D$9NTsVn^hrMl0 z8c-W0u$>_>RHh9%4x&`-<1mStsVtk?TW*1|9l)7|RElZB(C7uWf28|}8}q3pT3evu z>UIrS*4QPTc|(>N8!W>-#WLT}ZVj?7$P;f{13abHovf{&g;{-;+u4wHre}4~sXvV# zRU(~ee_xU57^a=8G9gRi`Ro)l2MP>vdc>=JQ$qT;>xnxB&RcH&*%-0JfP2f@Ls+7 z{(JP+hwjs3=g;cWnKL@Qw4{}}c`dO!>y$w)c3+FjE4+#Jg{p#wk>7(mEr_R!j{IKIB=_cwchn65H zv?5wmb6BD&A41&|%^Y<<@ki#EUPdrWKEZX6>l9ZU);p?gU{91P*;!|sI%=+!;)o;Z zs0a<$=o`lIEi@bOz|5>1(_kjcOb4puV*=VG>uqnbd4qLAV7Ynw87DbaqNyl0LsFMn zdrPdejs2~&%sio+!B`@jDIF+mo9L#>_NX}bcMGkvbB=B8ENz|RB|9o7;l!H;W^G|@ zUIUHU*6}Q_g-w?&FrZBS*jms1Z3?MNV<2nP97*lUU;|_8GB$0n&d|u+<8--L2BcPP zXMN^P8;~QC+f9Cr%zOfIWEteNSZ1)Z!3y)Uc$UsKmKm~bL%WYjWV=M5Fbzum$aKb* z8yY_K-TVwRs#=m`W{mWed{SHJro}<*V?daEGM#zbK;Km?%OJhy`|f4ItmNdid{0+r z9$nIdZ<^DW{i%6<*$*zOyHGUVp~0X;rV6G4YI@Y$S8?HKb$UIL*pW&WRn|7v%cvug znooTZBa7-W3+9l;bi^yS5&RH5*4nLs_BV%`XZNvCMD>b*ujA8%uVToMaFuQ#FJ9y^ zX!A9=jY%!kC`g;^%+|(z6(Oj{LciDwf=u9ioqma!o!>dW<-PljuhBPu!F%*oU+_M? z_3fXlb5FcUbN4^0;><;bvzJI_XGON=?g?NP@a_V1rAYFP`)i8(tBMD^V!I;o{Yv`> zdg8T@=#XT6G??h1Ki2iVV_n(Y)B66Aj!6Uq63Q++v?IQC4f(F9i8Mw&!lymgQ;%I(n`4rzU)ffn zpiBD-vD7DCxTbZIYX{qkKCJI-X)r$4hkyU0dTC=Gvcf56j(ubf5yFc7*Ced{ug-`#p%AG`X0Xwd$Mc88zRq&UKh zX(VPKFeUM@sRX!mX(z6(lB_0^BbPL7W=L7>o@SZbvQ28ERwmYb zYTI06oYYiPxpn3nJoQ0FvDBgjiOCg8#{hBfxi__6!oONc`FU# z$QaV9JSy0`OH$UNsf&pjdGfWaHk%!vQeUJRWt)@Ou>eXsgEmeksZxC;Wlg%ysyxG% zxgS~Xvy)`G$_jXgavKTY?Uw-Belw=ivA7-UFqyiUPT+tzWqmTJWo5f1R-_vE;4c;` z6{SMi)?=U9(bxa@vX(BiQ0pP}aN)Io!@pU@$T`-sKts6Wy^-;7%Rt}{PJ$U+gf z5U9N1v3MWx>hX}B+5ymKv48RTzUJ9Yl#Dgf-GkwfZ!Z(Ngb%!TVH08->K}KvkRE_= zQ39&q@r9Uvy!@-uLN|x4ccK z9(+QrrL*#m^7!zGMYpYr`S8MD(dY5@hDI-5R@fkc?QSXVkj%E%6m~b25*a%n?UUFx zH*|3GHvO+OUl*9?~>cY zWAK<=+7OGNZisl%HrJA0^?J?^cojLs{%q0FaTw{7TQ{|~b6s2Gr}WVq|4N@&`?p%} zKPeTCT%X2DGe@XpGm9+!a9dJ(=K9WBEwIOaR17 zEI1h1S8O9S|vvvtJ>6Q~^St3qUS#EnE^$hHuZ?K zr9XT-l4470_oNbBc69pQmcI7Sw{_~?HgN*rQn>;$hFsX!uzQ(=cC6LaO`Sh`M$ccq zs`d3vwYoj6oIXvnl_or`I~nzP&3JfttOFL>5wEANUm0q6MAK1ep%uq~)tEe>l)y-2 zz81YWL#A2rE5^!Rt zfAYJ&OK*Jp=a957sm1rOF#!f7j-$ODUUyD(w7spp>(?|Oc^zJUM!Qe`o_0U=huVAQ zN%cSZ2MSxO(%zOtQb>O|_;6pmw^McNrmFotee%N})m*EPcY=Kq%O>B?R`>e4zH_J> zTL;=cIM&+szP9%EH1;bzc4`xLObkV1=IX$Ix(e7^TT`DM-;m@rA@PM6nW2hi4-=H# zjtbi8leE@X*R{5>ty{NOwND?mw>MLAcQU(tYh54u#Pb@`R;v|Aaz`37&;DiZt81&; zr9ZnojI_mEDRM3<#URDh8k5XiR?Ja=ACWNk>Eq_{kq$=v6o;!uLz3CC_jR0`h|2-n z^Z`C?=($*EO9LH{2oDCwYIR!L7_I5awGZmqjh|I(aaC0u5Z#vx4vDHOa~Ui-N#h~Q zY8{k2X>bAnBN4+&P+{pgRzA>Y64eY@C6}pe)^3)bdNhP}RZTNxHQ{sR z&lnlSoRYCPY-Gp^(}+|5OdHG_1Jkx`4{uenHE+f;AonBL!&{XAJBqSC%kIL7X{uS@ zOgn(-3^ujQ*f2}m#+_A%>Fi8o_FZo64b6L7&D4ynEd&zp$^d^? zaXcvuw^bb-Xu`s+^t!Asbr+?D6^U0wDq1Y|J$=m&7g|Y4&9Q1F?FIe%rU|zSq27?WJWtiFM>1&yd~a;ns%wd%N0Wx8mQM8eBpWRJ^QS#Jpa6Y?RP$*UMs3Y zpUP0B#InH-X#H?VQajT1%>x|_M*8>**VA0>^MG;0E67k3QV5EzRvP1oZ-Ivg``RS2 z?QL!Ah#g>`5(z;70iS94@L%yR;W~H+0|PvNn(QIj@zr(7(jD$EU9UiuS7y z>gL{WswxK4OPg@1G|eaauBw{h5?x!SI#n}zlU!e#k!P~~~5eQtek7Wk)mK!o{x%muPZa(W~a8#Pf ztVNSXY2Kdjsn@10YhY^A@WL*|0VfgmwgJiVEKa&yA+#>Dw#{_H=o3C!Sq@Bnp_7U6 z$sn1xE*UY&mI3ZxBbp+_>8>(P}`kf<WQ8{Fz@ z@qABT`Td3FR>%x#9%z@QQkfg-uzOX0?N#u)vej*A``}2QeCj!^@V%!XG2Xm+Q=1zb z+F`-oXTkQOntx3H+H*ry!-+a<1qv2JFQ9?`c{k>vn0NOl$VOfqfiW;~|l*XBPAmU;7^Y)4%ln`s%OyTAh0AaYc5w`|EfB01yC4L_t)I zp7#l3^?#w_IoM~1aRzc#9S;}B<->M2cvK7Z|kM4+gjcGq&|85 zXGngZR9PP5Qx``itkOMMi|U$r75z$#=|o`G;8~Q^scNLmYvrKeMsf$aLCcLTy~__l zZZqo_ztnT5Pl?31~Z23dzZjWgR>p20HH#s+NT%Vw>ath*-%uN>7l+c?N{ zMv0dArm~H}Y*yLV{0ShsWLrbFNw{%r(98NNA5$eviUiIj^D{PXL&%K{Hg#KwWIlr| zK$%>jEr-3kAfHZ@X+vX??GsKxP#D|B7&fCxy265B2QT8`@=e)@KJWpTeTOYF2nj6-%rTRapTGR_`b&zro~z0PaiBVLs{UmUQjT;JX$X3+NWKsVSi z|K^jI`DVAPHvawNAu}HcSEQZXfY*j&=FxM$OCS8&u%&{e7KORmwClO9I4>at4M|vO z4ih~ld5(3=yd0Bwea;Hx)_a#%;M1KH8m9OnSqAk~Xu#`W?+PDYKCNx$^=#SIkmS}U z_5rUj=N5WeKit$up8qd;X6@f=^Z0`}?E8O$i7L2B-0sNZW@(InN9?i=`4r6OK09XL#B=G zGmB^S)|t;>JA>uM2J4IsmS-@Z!8Qi-)*ELqZ^(LM12Rf&W!_M8b#2~YBOoe`wo0{T z51-h?V`Xff6E9=)FN4M|$xT;@N>%pBI0>m74>Jmk3skmA*m0028jM61YeQQIXy0s;L|2n$%qO^8fVi8ZaPHHVKi{6}G z_2!`0f5ChmnKK|)sXIp!G^E+f`v&X#L+}hDLi~r_9UpLq>9T(E&?JfPgU;hn#=*eeE zW)t<8lSL9v$pb;juBgQaybcMi!(1ABhx+2?zMki`4#wQ>rjT@T9nYR4X0Aa<@Yi+hSc1%l+4W<)VnFuM%ElPoOCl=&XZ+aGNZ$A4Qzmm*0 zme1i9#)etjEI0n6z%#LoKKGwB-yN&P>%En^w#GbVFM{WLMS69%P9nRxx~3x*=njjno2+Pa3~{(u>2SBN zR*dv8sG#;@79^4r%O4BngeU(=!V`Ic9I=p&Ga&aRmKINz$hW-ltbXWEevZEJ1D~tc zzWvQweBd#)PoGtA-|3fZ?71N+RilCYdu~I&a)chSs7}}&IN|o@yE=bjT;Dy=o|8iid}>_KnM>z%gT(gKORK!zs}$1WAJif%^jd{hdM&k~ zBW*jewHa?K2KDGyhlP8SB=$Us?S-vF?UE#&kk(0NJ4Zw9v6~vQXz%q0+J!&hmEf3j zGGvad+uI>Rn=ym2@n8IH8e1HrSmcl4XjyrebyJtR?eTBSOjLM822%-tB6a2^Pi zrpC#!&(66`{1y)zCAefPrfqMdfU*5VpGNpjz++?s=GWkO6+B{_lLIQ13T&<`MHD4- zusALx#=p@&(mW3_E$F@BvChV>ibEJD)`fyF^=8ibfBjcP`6hs-+r-H|HA)XecpcA?SF;!HCyclE>m23(kOy)3?( z!+s5U2Q@((|2y)AYSc_qEpQCWX6;Y%wmd1by=4Z|wlSDDHq6RT(&n?RY1^L!%MF&l zlC5P1>kYOwpTT?v>n%6V0B?1g-$bAQM_H0ia%DWSP9irs>znlWW?9Bb?h4&Bo}Ddgz_#d$ z!)5gk=H&%xhaHx8C4F`zWE&QXiBz_wb_X2A2Mx6r3O#c1zv!h~zpP8=yK0v~kvZ$N zTB=Ak_UG|m3naF7yHKB)Ef(%>yQLP3Y6xDYq>XDwypD{DY{~3zX{;g(SOrXoSk=HP zP|;6H;;orj)+~OndgQcz@Vh@(U-va{)5A|ZuEmQFsCVkTqBvL>d9Nms#1hcI2|Kf~ zfBc@E)`T6KcPbMW(TaGzZdb?0eR(%^@5QrP+uYW5Ug_Q3++k;QsIC1Y62^eJlI9kc z)LUFiKX9>6;wj1&3wKZvqY4&kae;*pQesu3>$&w^ z9pXzi*7Z5WbVDt25G?0wyg z!QyZ-^0^9Rw30Kx@QD+WcWV;Vo- zyC@OF=Vs!En;>4*-q2H*e^s6KM|9!*3p#Utz_S*1;=q==F76ZdX@Kd{PgOk}TO=KX z#Rf=*=lTR>Wg|8_3yt^=a$rLvF=8Y6*ZXH3cGoTp-i@nii2l$eJW+DqESfF4K}ZowRok3_5XGW?O^o zX|TPlUtCPItwlxI&%-@;$#MNv~-c=_bOYmcnVPF(!iwr*7EaZ!mN9EP-fQA27`l-29 zRh#S5?zWtqRFKqK%}$Ml`wgG z)Lf^fgBv*Tu^)Alw#4+`1n8*#-j01A`$pCqZ3>DiB9;*WT=XBF`*rDs49X+ zlJ@EIr{rB(pG2^;y`zeM>w5?Cu56o~ly^zvP-<>*QSEL=Rf=INaa82{7JZD0$XjK> zyc8s_QoVMmrEaNZUPHFX6eV-gZWZzlu7h2Ni81UP4fM>~uAXLhb(vk;4zFkTfo&4l z775s}&2DS2PcmS)xJ@G6XNdbF=?287NMxVF_x8>qyJj)xC4Gp@7ky-`;$U_);krl( z0xVVPk19E)d+(&;T_i)mx=LfA%Qa0M8KM7RF>bsf9Knfr6M!~?5LX&=4a6AIt}I~D zA(`24OcD$dNiAv=Dy<&u>0);QspP*r(g_8+paI|2hCB!@a87Vn>I?S4+q@`U-CEVh zUwB%#H=owV>MyG||NA<9=DHS7?W*l}oZ?7M4R)hS6@r;!Q3i{lDGZ`ASA*lEd8*kI z#zq+$@f2lw4v}#(u+juVim6Wv+0+JZKieA{ET4swGW#dll&Gy8%anClWo%gn>oPs7 zo0ZSfww<*zZ@s~^b+fd2!>r79nKw3MnQdnw%d?Gn>y0e~eA>+Vl95juGF5r-;;?|r z73vjBt)|9@+99|w8dGGdCGugt@m=5^8153n%*q_cfVl3;Y@`|C=!;(tUbi+xlG0f^eZ zK2%GE0=7W{8$wzX{R%Nufzi`Bl;m4CAtpQ(e|x%g?~=aeYu>20z5Ov3&8S{)QKR9I zo#wuVd=ncS>?{3el`Q@fzJZMo4>W-uu~3e9y)`6Z^$+(oz;*~f7#wSdej(ANvyA{yT^KZZC_Wn57SRjcF8`=B+qt9-DUwzQ0lP}ABB~t=`8eQ}pIp@ zH&>t63paj;Yv5@T;|Dcq{eg=14YgWFc2hd&GhG&8ln(lu_$*JtW_n$^6JImdFW6MnE*t2%l87#}T zrY$qf(&jVF+S(>VmfOyP%a2oT1@k=F=+T!DoSkz&CbT z3T`BxB=iDodM8PsN0#DYor-M{C;DV%-AP&I9p^6EElmZP0ME){9n-$EZF==FZ@B@p zyNhE0wwWqm9LxO6e9&2*;RKs*m6!QsWALobz6Qjp(2ays1v6`FnfqigeNtzc;jVbZ zkim+exuX>pZk~K^tn2jrqHbQluFV@aRgnmEcqs2~yda4uZN*a0Jo%jVSx_rp)j5%j zNhYlr*b#KJveeZQiP5mk_o&6WE(_sAsM#ouRD@F7H~K7KA<4Xa)fe4_9#z-^+}tC^ zGi2d{Omby$mpUb3J9Wr?f+qS_>{9JJEaz&TS3f64Xqf} zDvPwBw}{bVVJ||#Ze^lHOpOw@6$sZSCNf63d&%ab*2%e!q^yMB4vF|=`LE$VLwB|dT!)+nV|G@+l3$(<}ANyq(ZnNgN}&f0?!* znWoBI1G5HMWEo(8LnE$lI^>x*cDO8R@TfJ>?bdZY+x<=5Ln8XT*FU0Xo_S8c|MWFo zCaF~p#G+%AfCRICYh6!%{23K2G$jjf#lliyQ!$5;1*21z>ad)>Ca?(5#JcYMx+>J&j+n_C+3 zIzf-| zV>i0Cy{*;lU4W#>4rytjr}Jl)wMbGf8Cby>O2*tJdvrT37RVw^iN{@%h*~VFEpVjc zmW2@Le{`1j)ne6m@?eV7`3WSPK%9c$p;D459hOQFNr3m5Cyr@5c=xA>EGH;a5{=R@ zxEB*)0t9@e7{r*x*dsW|*9cvuR19}SA}mz~sU%hbc01yj0Atz<1lZ+V&voY*_lO6P z+dACe(E$%LFLADSwWn*lzo*N$e^%Q&KgYH5aVhKpl87fCjLRs2Wri#>ofK5=IEc*v=Nq4Yr>J%Q9qp>oYy8Gi~`@dW4Cmg0wm{ zZyHgeEzG=WgLTHUkYyQLXWC%eF$|^+mYdJmw81*#EH`hk%wXDJy}>l{m`<`!91KN? z_X)9)<(fGxgT2cRemdY;+D49JWx`gz0@%*t6E-K<`hv2p!S*L%R-S41zv=T`=9b?j z_#+tm10hglvzK+wibkJS0qEQZt1=+Yo!A@9q3cUETOa-E-=y#z(vQ&%gC?{mSoO*5UE79(?#dg?3A9MWk3rt)6bb zbW0!nH$SgHA{&q-iWt+bq9}{BFxj?Z(JWbHy6sZ)?Y4TIwu&O~Icuc(URUea`zm5& zxIuwO?!bbn=J1dV3M|5m#f#U7SDvqW?2^9wyWgV+@1IvevT27R`ETs*X_KARCP`^T z;_UOP@Q5TeVAnDtfgZE-8uIGun8nS%W46D$t)1;nZR~95_Qr;;uin=6+iSXfb4^#* zcC@~CsMu=jo^xk)?(~Y>%K_~TNhTx4<#G199d%nRl_Zq{XfYT5sXVvmVMNAW#K>-} ztaob6VW-tfe7h{wE(*2FQmq!WF>}`VCJNYEW=M9pmx?6HLY=Bm2tlO+d_)>l z#K_K23Lz*RAY3$IFb09$i-i?gIn4j0t@UqCFa!j2(!bw5HTb{sGBXegA4V#eFNk-+d zf#`NpO)J|NtjpN6!F)C}?HHLi&NkMW&N5?zq042Ft87G;}nbzy^t+@&G~q)spOp zlzk!7#gei0>7vXAuMjb-Y&)yY@+`C7G6NTV61$y5P+6W31O<|NW7YtP+3XAZ>5C0N zy;kmv)vsvQG~OUOVapn@r_{9T97ow0p$!tag15?Kwl$4773&gFS563~Y%(lIy3u)2 zpB(=Z-&=lONmSl_?T}1Zd03zewTeQWRtq`;h1$?1i?%rS_YX8-@#(e~w6}4r7(-gj zT4j+E0}t-#C-PyP`#U0usHpV5FMfl*^#h-+(@Ot!99QXAGQ!Jsw0}^Z9>V-~JPSQ>V_K)+aywyINnnr8utCCY?pvF$7u*v=I_^ zErn2Hx5+byQkL||qGkI;g}VPiG96SOPGH`#jY)W8?zb{T+6v0wU^^ZtauLU|K_=^4 z1-WCpy&6|32YGxG4E_6X2kc}Ae(hZ_g2JsSecRjTVP<|JT?#GD(<8s8JY?=RNOD`F zn>srFO&#@rQ3sz7m1qNq_S;MP-y=md^U5I8oUy>oc9PO-*|uj5B2Wtj}^| z%VzbneAXM!+GN^t>?81BE%~CWxS(Ec+(fb>lg7Cr%U=m*_5ZaKF=LzhGJDaSi2cfa zY>eD5PjJJg;mpL&V$Ir!W5y=6k0_NC59*KTe??#IWAI%YW@6!)x?ns7#{}*&bBt_& zE|V|A*zFXXy3u)3&kcS-+nc|x_QnfZ;t6(+F_k2t*sAozgXi^?U+@`v^P`tE#}%+J zH>X{Hp907fy7K$KuiyGNKch}>UZ+l-Qe;8uvxpqf-|PJ2uh)n~-e-aI?y%eGXs*{`w^ho` zdI9y&oUlC)K98*;vN%Tt7Ulxl$*qVbV?`z@$;yI+Uy|qxwM#GyZyTHRDy;}gI2H-V z5EY?Az~A!)Fg2=zq~J<24?_v^TvrMjr+Kfhc-QW~ld6;O5j(J>_LBbC5B(K=<+pt& zNnxU6=IqLg&ufoYu^s$7v`LGKQi1?Br2e3H)8-5JiyoNA1dU|cAmrkRFbQH%A*luK z1m>`m+RRgn7>+w8$@)5Ue?6}Zfe002suB(gDu@+A#t{k9(6oen!~@6?=Y4`lhX;~a zM3jMqSgFs>dIWSTX^Bzw@UFP&c6ms<%Fg|8w5vz&*;B9hRSkxHVL3Gb01yC4L_t&^ z#qUU%=&pk{?&66x<=x@T(5FPs%93EFaxCi&^w(uZTa!6X&8hCsOrwq=4%-~5UouTWWUu#K@zGB!O6?z?pvW_9*ASZ8cq#->j~*4aMmGM%yIwli;R-e7uG zX5L_(0h%kp)TamEz#(9n3e~KsgU|A_bYtqv)MCdmPGG-AU!NEl%Q7URnaXNUDxwg~ za2>+m6%*ab62cwZsSeSUHUXdF&^E=A1W9JfLTpUBuc5x$YL-4Ef_A3%NpPnMkRb$x z5JUxNde|Ll&AS~_4Gs$CUKy~Nwg-J&40OGEMxPw~@4CMGAGN>w+bTA0s?GPMl13tn z3p1v`qkFd}`A6J$Huto-v8&Td^V-UEr}RA}v&SF3z-zXax@AzI3HFuBGRp1wIvNfKny^?M9vy0XZ(BE4Z)zsN8kBA1-?&>`QSI#ZEJbHrw)mzLt^T-f|htK_%J)#H$48R-uCvl z>8)>hgI@irM|65+Q6VTTrXUq8u1tpo^3EwTFRdaFt5ByM)h3=}me^5}Z#{p44hcA= z3Iqv(MVgDQ0tiT5rM_b%pML|VR7|xv%_3K%|A%dB7?fBD}$^29ki!ShR-VsAPy3M~EmXK~Tbo6hqz14#}I2 zYD9-d^xExoLZOnz#ymVY0XZ3`P7~WWofGIl+=9ME6VNTw;DQF+p6%Sqg!9zzAJNQ& zxMk{F2tfhc32{b1McXC(9MYb3>=}AQ}9n* zMeU#Hiy4nEVyuuOq# zC2SkZ4dOV75#{iyfz)?|*$y)49VdfzrmZuWH#S&qFl{iM^_e!d&S2VLn^}C4HgA~m z@ik&LK|VibDj3^_Gy|3}Gz%cD1Enz;zY^e{#36*cuo+)y$=UI0wNf*t4SM+z0=Jp% z8&wDam(Xx`Q0`lnxUCTGwwu~C;y|RPWH*HnYPvy*F>QcxjGzEjmk{pI*45HGwPkru zvUKX=ap9iy8D}G7>yy$9fa93=b{muHdUo_7J-7Gow0HPBY9Fnu-Dg+CZX+_mgi4DH zq`31{kql0q@9E8Nd_?!&cTP)-J?)d2?!Dk$SkNtYH%~wRobGw>L3PP|?RLkF)iDU- zCu9F$hJTcP!b&<~r-WD@+n62Ipg&Zb#jIVHyt1qG{F5)}o<}<*CCQ6+jK16=i%22w zeA+GPvClfM_k6``b??PfIHj6%;l?Ysxg(?=s62G%&S5)BcZ)XFNs{g1jYp(W5 z+WY-OlGmDUlBC!D|Br1Q=taJfEx+b7^;JLqclG5z@>g~LYhKToy7Z+~MK6?D&M|A%qkI=t@xnkzoTE!65Dhie07^0l$N_fj!48&tH6fr1D z!c0DVy+)W|2Joq8DxfS$9ISDWZ@Ata5AyqM+rv+fRXYZB;{bRpnR!Qzhje=9{y;cIh~ z31`C02?&kxtVsx=wrYe8x=U6w%nQmihKw6U2*jWyT_ZEX41|KZo*PDqQ3yd4q>foz zA+Gt5P_0Lm*i_YWL5C1DB8jaIU({23zpRgM{VUzv|0PWZ&#OB+RP6Uv@v+=(PPpQ5 zNjEd35)g!SOy|!nh*d}Hw>HvZ`@qFB)@Z;@e}&h1?WGl^y%GHwk0u(iAZ~4M%YQk) z&-a+I7abPRF|U0hHU)mc4IpoqQQb~U3*C+;GR0Ja?|PNao<6Pl7K<)%qWBjI#iGEz)P%N9FD>Z!XefWW!4lHV=-{|G+$4x}>lF$-l3!`jMZ~rB}V09m!asXe$tR#F!LYX@_`xe60PA zwe(-aeCU7rJNmhw`Vsx!zx!F;yv{ecokMN!AM3C`)(D?{Vqd*_T`xWVth9VlT3C@t z`r@_h(tQu;OTY8G)$4Ux3xmoc0)-0W5}f8p3PFldD&SkpRS86BhRn$8(-altgQ-n2 zSEeV-+k`n4$w6T6aQqibZtNawboPFI*4KVOf9kLQZT+!t{KnLex%ovcE}vo7Hq`do z8n1shw6^+^DjpCb-_Kf6@;9x5#=HoGgeCKV3lp_c*Md@yKn<>Bd+RN8G70V=KITjM z*DcF5#<8RrB0IsTPK;_X0rqPX$=7Mc))JBG!*M0dn1~4$0bFtZ$8sCd5=0SWw+ET@ z71u|YRMX#RjTNhZ6;uGI97qdm{*WbJ^ze8b@>JQTI#X;AJ#%=Py0u| zs@0?apsm3txZjRx1E(~;27^*@$BC2ZmsKbzG>$*cZhO|=ynRp^O(FR-oau&?Y5QlM zak(V+E_sqjmgU&?6~{@8NS4jonKxuvwlOwXmm%|cEap#w;~4Cdb(x=)S!cPiVU{*O z3)cM+zA+67hh$@8I%wK+f;bgK38%_7iKwd(Y|VMA*;Hryq(W^zLDJ4vC}ESXiEBEa ztaLG=cd`0pyu0LPfWUwp!}hS^-Z#1nrn*MzxXH(gz*xYEZ}fyracq}F)+gfS74FJ* zAq40e9M9Ic3ZZpjDsz^irvr>){iDO^xa~Vb~98N?fum2u-@U&JIx;h1PxU zBa$PV7`0k0?ei+{=;%nt{XyDQi6e$cpM$z=vD!tHSRhMQzlCm>*mH8SDHy{%$)`{M zHV?M7{OXD3?g7qMdez%c=}W%pO}hBtInA^1RwRtbWQ=H+At}T{1y9_aUR!0W)QE3s z$Hzyyc5Rh~tJ0~{3tHXY)U(%b=%tNqZPWKn;L5FCz2;qCuJ8Dp|49bTYmZIHL z*eEu5;B;bx+Kl~yC!SCU0af5^)F!_ELJTTmr0-EN z#AJh+0{>#ti3EsE5rhbTe2LF#OLVfuP8@seg0JlyX{)oWv!C@Yec&hmhQ9O1enM}1 z&wI77xTwI~br|=;(u%wbl@l1R+OA)HL0fC9TAZIt3BIHuE-h*)(x(XJCY%sr2*{92 zNNZfgNdId-h=cywr+~D5K@8mFn4S_R9bb2CBJ}7}wVTo}>9bx;V)^`7`ZXNuRjwaWnNO}&c55`^-pQg@s0V2b!k7ag6ZA9l1 zN|j}X#QYIewwaAPOJ`Th44FTP9VhFJna5;ec_OHi9PDCx7T?u*D}Zd1W0*IfdL?sC zku^1BJ9D$NdB-zYZm`UdWzfDJ?ur+JwPb@DMKB>O1y8RKqwKoR7l9uuri z2E%kJvSs33nE@OJge#Gdd;I2S0Zr;_h4Fse(F?=h(x-NRRyVf)6Fa5nwa}8(dD~Vr&sFQ>Y6_O+zYyLdtF-xeH{%aT4$GX`__@P-O?jZyhW@=DURou zX;G`Uq@vZ+trxE77ygI8r+@t4eTV+-PyeL;@W1>YI`DrZb39O=BsRf##N6!jz3Gs| zao8WFUvl2zn_&90Q^o;QyTQeNdZQpqcVN^+*$QW&Le=S<9Y}ZJqaNyaNc4O z%_8T#aB?PeaDw3k8W-7b2r*zxgHff!;aHmoBi+~=X>HQg0*==Ly-R^90Uy*Hz22I`U@)$z&-_5!GPSnfAN`gsrj-{Cl>N~=!AmnA*Qzhh3A3G zu|%fkVCb@MLG2`CaR{ODiAV$O;Y5iv45vsHpnbDUIA@tIu<@9Lf1S{zNWcss1Y#ke zjJY31B>OS<&-VVdZm+GY!}WOIsna?h9P3Cj_(n)E>fe!wK`mT5d?pOl4Vy8F3;lH$iBlmx1NkW)^eaUS{io+5V(rR^}M9 ze73dRbk>>Aw6XbFu*~)b)7H(>mYM(ba7SZX{C%!Hgj!)C6msf2#bSdc`9d*m@HJwv zkFjMLvd@&q$Tk_Katu)=*1AL>$ny<3y%4Q4pX?wgssFYmjMctYnF#v;01yC4L_t)} zeYs1?Na?U$BB)IJ=CQr~5|4aZ5M)IxXbEO|`3p{>r+GWxCvt)1;%joEP>@NH^)Yg4!RC6Sjg>F}Kt(H3NGA)WLi}PAunAcpdtEKsQJ$UbV64tVomKXKds~^_+3um>= z?%{!ZF6qGs?%~_rqPi@;CF7d#%}R^p=jtl+fzxj_U*>O%Blg0bWCqJ&A{~!Nf`s?5LrTYK= z_@C4>zw;}q1_vy-L0#s;FNyGwCC`WOtD-vK@Ye24UL%()s`28`GpIAJ;VJ_&M%o!}-3d5vAy4aTxL zYHPf5uNEG8lOB85SLl7;_I>)mkNu>+{YQU7U-g~eqxXFISLxwbzfKqKeTbdv1@*e~ z@~h?{uTM+H;~$&}%vsT5ObZL@)5j5W(VK5;`Scl$neT!=l|f3^4Hs$T`ZE+kid;8^ zWk7&7AJEqjl0KpnN8riH^2Aq?Pg##d#ue$e+Q38|UO~3#kCRx$#`a|qH4zMR9hfu4 zAWRfO;Igh1tOGh_Y!V?}%%M0UK(j)vV1{ePNi7M8RpOn-2F43BR;&swx(dLZ=4hdj zO_1#mj&yr#T}RB}(%d`=xzxnpgvWjSrINYqbPHASy7mUY$pgmEX?5@mI*gyvq}*0y zJdQgBVkbv;APX%sO?yUkFQH^-D(mfI$h>t1%QBdEoNQxxlDPu19CF%@=~=K(pt3C} zsWMJXQ(51TH98@%kHO-MYeW6fZL2^~X9B#@1(@W4lk5 z+crbeyF$^RM#V+lP+o`WvbZ>$~a#?2v{rAVh^T2P<Bqk6^YwTC%y;RR|K&enPH)LS zsd#R&r!(_iomn#Uw6X-xc$OBrJdKxXwF=QRmsq7CEA*HKhxB1U5*TZuV|K+(rnjDb zQaap|j`md@>}mr2=;wW*zWT@in!fM{{=7c#JAOc)`3>Ktw|vb9^x7}}T0Q>xB%*hI znI8YbuhkP@_%(X`i@rv0`0{Vk=YI1K=>0$XH}pOKkAJK`|4;sf{`^1uXZjvqBYyq& z|95)tSADhK`nm7a1CKtT^Y=cWGw1Ks>GSvSZS1t><`(H|TRmPc&h?hHa_S8Irte%8 z6Xtcmj&sN^GLl95EYy8o+3vAucNkwuB58%FB1naT3g{RlUn>a*5k<&_7EEnBUl@_e z36emPOx5*}8Ji<{b&8S)u(rhc_2u2>T(wDZ_A6qPk4`K##x=l(5K>!oQ$>vOkJyXD ze4w9Y4D=(WmI5(@Dj@=byCYb+Ehokx$(AL7TeM5)q>d1Q2ob&gz223`BC?8e?4-8I zj&^f*OMPCgFZOzJyJClXe0->iSKjuUFt0ota9xbFd3akdZU45e?frtD-{w=m?!Q)l z@*&R0kX9%GaPcG<8%$ennB}wFI77C{cE+MJJ&XX`Fx& z*d_^6RS8j|T;XDrz;+q#*jSR(cllY8G&GX&bbwYOH*aKC$q33Ap^;_AuqbpVeimko z!L&cfrZiq528U6qn!$t+bm!m_#^1c9Ay8A?H_KiIjcwA;+L^YovB9(fdxy0Bpcv?d z!LRA|-Un5Uc$LKhT5;zDUWY{JNXJ_kw&`rq_!>>P!4We76x$*6&0G*T0v;n81Zmn0C;wf>{k;Pn9`eeLK8=P$9r?%Nw|BL^v7-Syj(HMG{oSpn zWp-g_7Uy)9g!a(A7xd8m_v-wG3-Z(dnM?QT%!P|ObM}HR-FLrEojFT#JF8Qt&ua11 zDRuY;e|&qZLE(p9z`89Kl{wrel^ritFM3X*M3aD`ZNDjqk~nQS?K8e(wr`_TfApwK^Io$ z>HD0{pIX%UGfO({WJYqEpX;dCZfUO5lE+$>k%Uobtco-i6pEnZ(TILl39dc=oc69h zuY>DXwDsI4HK5Q2om00rr-g+j=Ip#y&YaW2;)=Qp zi)y#$QxYp%UDod)hOEGe9Ro$T+CuqlW*(J?dEqHj)U zZp(24opy{)QK(K>Qlybki726#iNki$I?4V4Q6N@YB(e42Q7Z~f1rWnx%u=!3F)vU~P25eG1aE|9tW?!+NRvK*J7~l{PKvUn{FAEIlFspT@ z8%XV%PD(1J-SJj*Nxk`LH6K5xbeZ0`WoKq|ir!S*4zwp9%w1W{^++P0v(ie*!q zfC_;TRGNor!xkVxEhU3QNoEoc1-{EZo7hJ6fe9Dp9om%Jx7=o?jV-6Sgj`wgn`0WX zAyRt{ZM)e6hgp1$OoiMmE7_Xxb)z%&RtqSRcMRX zW&?IeU6NTK2_BKi1}t_ho}#^Y_^E!2Wahs-zt8KiZmZN%w^Ku}qjOFQrLoYCC!S#=kefECU09ilzIs16HrcWFi4xkZ&_Tam?wp~wrwz&nQZRqeC$ z^5SsJD?2YL$Af`3c6Ri__3L_x?;3l2-x^Cg;1%9WxAyenb9-8U>6nGuqYq-u(m*2( zdm|n7`r^%}?pf*R{PLX6F7$M6aZYCzd%AdfL1&icwE};7X+ftjT%Pag)Z&5`dR;Bf zb+x?MMc>tFY+7ZZdB!b{5l`_$c4z~>Yq{0P0_Z<#{OlimM7N)R3X7=m$_0&Eb2?&2 zyS=rY9t8aGFk%t3z2kLyJrY(=oo<)J)6wF}X`MPt;^F~d@zhx@ojND)Ub}qvYIo-} zH@~D#Z$We21ugQ8Y~G2D*I&W&7$h&a6COZ@2fX^Mq}Xn=sCJOIG+B8J6c@S}Q5ga&Ks*?iv#vJP9 zCEFVtPFmpWd7#U8Yix_oV@(RvCM-A3e5Pmk8S>5;EHq%BLqOhL8vV2{na3f`E7%U4 zF(cV7iEPIpC`yOd1JdzVqx83Pohwy~|- zZ2F+)K%OY$WDM8f6dQILzmZ#%py9`1s22|Z6F1R^6?liwy&-W^6vXr^z#$8vv2W7K z3m8zcAatB~=$vr}zJ#{C6-!0#VB1epGIVQ|0s$ZUjEmadA8K`fpf-zWmxZjEwx*bxg&KTKO)KXkB3_5v~*@+PAl_Wod%yHA)HxW)F~3$;>sz_@$IcMKd%zZvlgXTYMr#cRgRtqtwFt+ewQYI}EISJE#> z-`35oU9ImOX?^ENFJ9Z#b5CvS=H){j?vFL%Nx)+bA&8ZQS8%1yEf>1~R9E+`baip5 zr*n%PEiBVhjh&%f{Xz-&}UJ!}q+=XrRI3iuxBH)7JKZj*mz5k5kF$3zCl%HLfZ- zDOU0keVR4ld>$Y5<#|3}4*Xiz_N`7=MXRGBi{seiEL!qI%b1D< zK(7V3r_e#u1C^3JLJ9 znOz*#Hd0>Qj+jVF~dAd+uf-*mpYTV5m>Xl(4=h9TQoE^anAcjnFlz+V>!FB zpi?W0>=fqIonKIk#lK)jP?V(#zMHVt$T$3$?=}-+SH9_ymq6e~4|HzK0_*Q&dwV&c6IB@k@|;pswx<9R4jr*88yGy z(!=-6>Gk(7>OK>Gb2T*TTEsulUCIX)q~> z+f{dAK|K;@hq)nuI8B;xE=^Qo&EZ_L;X^i2n!B>axs5txF8tGoOjByROaGlrE9R%g z9Ck=_C7ABepNX=q6jU&VAv;@6K$3gW9dI7^cXxU5H_@vef3?ovbB|VU-q7LdmfEqP zP5kH_g$PQCM)a+s18yV#z=t@JjjLoS#RiYqu@30pgX|*97*#~6r1FmKbgQFoyAY>| z2rfh>K}=|40xp{v0bBr)_$|i>(Z(v^LnSn}P)eGXi6a0`Qucww#&spfB|Lnfj{<9Y z5DMP4(pVjO0gUJWM|zhZ`v|LWAC|3 zw&pX~&a~}JpTyaL^OeZPCdD#sus@JU`$O9{gv=ml$b?eG>1c3+FrpCnt~fA=98Mx$ zR6guw$owl{d~4~avug~zOCYv{of}IanUxR3^cD*HqyxjHbKuId`eL?JQ$Nc!d*J7G z9M6zdh!bi1ByR+^b^N4s)yPu=&`EFk3?zSe)YKFU3<#3FX#+gkmzBH3*iB-kEBz1Z zXn0NH1{RBbD@Y~S@d6#JxMAv>v-Yl#O&ClOA~$xSHn=q4U$Qvit_r>Jgw=B58xNmO zx6tB)3z}b;*SRw*T3nn@LmiX2Di+zu;!_j_uiV&;c!6&f>a|PFlk^@TnVsi5(=xk( z)60umVuvG!6wzE&7JJyTO?&*b3utU3ktm8xC(^oMbx~j4j z)SfSN?>%#R>#I-ejgOwyg{7X(%=L7N#I+1KdHJ>C^86g*X={$%mlHy#-60XTRhC|g zf*jWKCLSi3a^_GPF?ajyoDO)^Ibfcgz>aw(J77#h_=jHmdVSIN|9O4!-}q;G6ZI zMM_wab2H(Bh()0i8HUUy3D!IinEy6OZ=NxVBQS>1aH3A9qow6#Ev_u-{H1&N7I#{n zy8-9r#ZNu0&R8i~MAg?8m!l#UwxK!EZ5cOeSr=@|xeC|?1?r0KR6699+yj0sni6fm zHfW#Sp?yx#4`X2;0zSk@^G)DDUkhXud?YRv6)~oMm2|*<(SFh1I7$l0TiBF#l2~KYMoq^U6k}AxuZRr}Q3dvajuKVel0YRVw~FhcPG*u5 zSHQ-*vKICQex;aE&gK68A>FEUV}DZ{n@@`HnjQfP$TD{qiASPTA)riY>yq3=70@%tWZfS2sb7sgDNG|zG?iJ9Qe1H)U6z6=NEyGBVxhMv z^$7x2J`#ra*sL>HZc)M}0NbTF76Qo*Atkjj%cG`LoCVN-Q*i^1R2$bdvYI$qH-_ll zA#;YQm6-;T9@-NQ@)(mDuBp?(1QH|bA?wLPU|;iwG&qQa(LqW$n719|G`8jPfskTK zmf2Q5@Sn=z?GLI;qq7V$T@1-KRg&fMVIBh`vk6eXxc@=E8$E|#tx!;lo6$G97p97vtc-zIW$gs*^BpblEoo_S zUh^#U4(NGy5{kr`kdPuV0*V$f7kEYFSBsC`e?br2b52eQPGk%CdNUetwq=k?Yn&gpYsd#@h9_pHv5 zXy;mO`Z}*+f0zWZmT8lSUjzhU@rz00=~#o3@|J;(dnZH5fKC=(LjS9cNv2s z5QrHhg%A{h5X{j*&=~&-*G3T|I&oi0f~QXRtkNeg%pmM(ipDc6O)d7x@0# z)5ov;uFjv^P^TNQpj5!L1R{v}Yy<&31Id(%f&x3&nSrK@)D-)GQZO*xsbiXew~HYJ z3@NjAvI3hdGdZQRE(vKL-XR(m0R>r#;ka1=O-Y>lXrIKJNK*VPXux8V$rimsCf+oR z<&bxpL6-YyJL?P<+qRx*bCv=Yg6c_0ge$|Wk$GS?BJ8vw%WXc3tp{@a)I<1OLa?!9 zGz;R$p;ViszS+hx9M6E6StU7)O%0H#WE<-(&)Bi;XqgQYrm{UKwPkv$GXW%7a^?iV zrx-XSx%rcTZgu=I9rm9_6Vk;Wc?9gxkrt3{3R#XCoNg+frrkscL0){v+}#y)6#qh0 zD{@OsBqu0$v{jU9vHKAIqloj_QkPCI%iq0Pg?+4%$`YCzFdBl0R;k-6wX)pPIqXj_ zFQgxmm}4=VXCd`#yFkn_i~oqEk$w!Em|MOtq^!m|Co73q>{GVB*Frpg2dgO@2KSUp2t|= z>u)?UM){f;@IC0})#r8Xxld_uds{8ybNc1QJu;3MXo$v)LokgSID~+d)+&Q5DD$uIvC$kpZ!C|4kd1LL(&u`!t5h&a^@GVYTJP?qdpu%Cx~cH;E{z5^n{9M1x&2 z?Ko~X^Yq&41W88Q$sJq^sS#v9w*{NpLPMz%oqWw9x5Tys&UPK!wyyOm*O9s^kUA{mM7nXfjIj$c;pi=O~8AZlo^%xp@~@bmzV3&dq7wz$?n$+`Q%& z7uD(ZF=B`kSJ~_FJ zNRmFKkwq*r)(9?WZ^+JMKpWOgFdVQ09kGj{X_cjWruqmVgcRgau|NP*fZMGyCAe5{ z{)pj)f5dCO691GKyImE~MJp=McEB|j#B&KTCA9)y`xmjG&mC>7-O$=iUT^ou>JF=v z3_=JBk^))9{e@NHVKQBDeRwBkoPY~)!i8{5f9`E9=v1q#w%Y*uJT%;9hu$d)o#8sd zlq8nC~i)$^TPmXWBalpuPX}aVAW2rr-Yny9& z{K7>&fBU+gzWj_{_3%ikD^!jHs(G9VmzxAzBZYuM0;@i1_6}c5Qw;l?NG`ZjlGZrs z;H)!mJ2kOS^CCOVcRHws-kSqKT$bI&34P z$q(aAQo+uSQ`;nLs;o0>O9%>q000mG zNkljb!^9XCs_uHGrveDufa>BvOxF70hf@0m%5uUD$>7q?j7Cs% zqeulejrBzk&$|`Li#D)>?Wu#G#fSTGU%!^N`vt z^fXX}NE<qPzq4$9N zlYB3cShn_#wE-0L@sq3Tx;?j}$KP~HU-tP==&L{fGxYAayk4(;_)*<|&x1O5=De0p zoz?up5>M+T{clSo)FMXB&v&#i*VCEPi;N|(z(@LetnI@Ct#0k==K2=NYg1R)ja}c| z)9tN8-2|`h9O=TFK1W~o-~R*siU0RM*Xus-y%JB?Y$OzU(oVp_9hqw;7@g00l}H%H z7!}ZsSlCS$EbL`bGWRXDTBW2QC%G}nuq+GayHuCmZ<}On@Q!VsejEGYqh*^ezRcGg z@(#2wo)+h+)h^W|X&6kqPbKYzAf{mgj8#B)T7}lGzo?IYb87LdxfXpGF~y;6V*T#M3}Yi7Xty|=Td6_R_M%%YBm1FatIt3$ue@V(VOBhJT& z`SW!ul3*Z8qG^W~WIE4Y@b!}WYuNVpQ> zL7Bzil$ndhx0@GmYO{Vc? z9dZ}zrXmx7Wz!h&wli=U$@1tbfjDg7=*F;lU`dZGHQMNnk{r9#hy@1hlAkd;m-=!v z#h^gR9zEA^GDUQ!AkT4`tE9KR#dnPErn1h>+t!dRk}fIgwzJ%UlMX?`sZwrQJ}fd= zI2+Tx4rv?H#>vh^15+Nu-O)2F2wMsvN+f`Gj0(*^_lo-?y~2q2Mr;ffdjABO=X}g! z;<>O7CPF12g%>D0RdD!)5Hw=Z={-8H&v?_rT3F~Qu!wq|MMpyjpoyIPO6U$x`Xw=n zvQ)rds7)8KlxTA_=V z41Mhvf1W$)`n+%d0sV!4^^5wzPyKB@ z`sUA|j}wiVvq@FR(>i1h2K^(A>31wkb-L_KI&Bp(s$d)u9AjWXZ^_9=>8KQt`P>be zC(qBA^CBXe_U^6n3K&G+qsk(t^Oh2Q2y)VE(bgOf0ZwKe+MDBbWxLZNX?IgXYm-3S zZbjl4u{$J_N$lXA=vH_I+dtmZAAIz8)tz6^TR;2rba?$X$xQTszDc4Pm`d)W=m#b7 z@=>{hwYBN0a&Ps>{IX8-kkchum$A_P@j$mY?{n>zPO&?8e< z*nKgC5JW-m0u5rwQjpaN1=sXBAd283M7gC1FL)cee`P4;PXPVFG2d`|y1Kckv&_ve z|N1ZM{_}h6z=PaY2w?jLS4uKfcd$+zAz+BU7FX%KP1#zg)D7qmu%*Zb0Hr2PAotkZ zS3zT5ml<7_+s>g9kF9w_;_a1WI8y2cq!29BodecP@=F9WWqZqwk=5&yWKjq~6s03H zwlK-Rv4>5~84H_)(b*=Qk0i)dHZb4NHcYHrvJ7XFQ+ZNSSqGXnVm{e&d4k;wiwrjN z32+?KQ?T8XQ3{o8EC(n`hY16Wo~l@kdi>4z=`4%dgam|(oWQ&y1?(#l>WJ521<&0jeqy1n z04Ew%MC3*lhGSkW`3FDzN|4;9A&dMmi*p|s4aVy8U1vNTYXHB$x3AUPtGa!AU5D`g zR&<6}g6I8e@a!r14-|J;^ynT7c%hzY239iWb{TYGX-;4G`iJ!GU-&kC#d|(SuY3I) zb>aS3YvJ@g>MWj7*_oG$R{Ckl37v6&-M?0=RGV*T^UDhgjOFn7STFK=^OMiKsApcf zr5n83T-!O+COgYDlG&*2>5lncqG-;Agf6Hkg34B*qKqtL zEw$)xr(J4czMJR*ze-{bM}!M0DcTm1Pg^?gMT}`|ZG4^NCO%i3iwcVnh+h`!vS1eU zV~%f+-ELdE+nf5`4}UoApkMc<&(zZ5DeYaou84iQxbSsxJ0S$g*A_r0To7}mx?_N^ z!AKvTSXj|g*;TLXsD$6=!N&hx&tj*eC7=kAIE^2{aix|xUB2{G(GEp6i!o>v839-v zfiBbl0WaYVX<4R?@t~{dQp98^cbJwzLAFmIAGWK#9L^GRrX5ECiH$*NaR=9I(#mvH zNOKlp3_hQ;vVcBW2e$_$}JTuBFYrz&fC}b*$H)X=OfnKw)WXVYye%cr` z{?pF9l1q{`joH?n&N9boR7o_gEF|`nH<5XC6i%*%fEgq7DL%AIBTmg(o*}h~($^m@ zHmw0!J&=0-Eli@uDAUH)S?pK_^V!$5b(!}~ygB&;*dc){c1uBVA_ea9lHLW9N}x0D zpKlmL$sM0~Y*O-KF~vg!NxOs*ueHWJ?T@^$Rg!EB6r9Nki|~D~zo`2zomIu6H?b|R z_bQ&;t1*4B4~w+Fn|0eAZq_2r<%oD=UK3Re$S@uaG#U)psf^`ULEL(p(4P_CyL`ir zh#8rT7LAU%fp4vCXpbFHgzwFDwa7QPc^20>=r--N%9e^46>;jZpcjm}3tsHC_3HaB z=qo?>E&Aejzg@3+{Tp=p(gRw!_>ej)XO)hkRDW*^*p(B>!PbU$wzm0}w3?dF=EdhV*8zpOocYPS?(RGY=A(_4_|y<*P%7f&Y4 zUqr|7Qc`L&wxaNOV;XmhWYfXF*J-Cj7L#pISr8AHpYLdXt|QM$knjm|jFKc)6om{E z`szPVHeh!gohb23F?s#iZWZbgdk)(Dx%|Rq?d%=st#5gYE?qpYIg80`$#o1Z?Ft( zWQF~e4ulC)B_-IR1g_xkk~gv(goaZeFmpeQ63#xxb^#|luw9d#JCOj+HlU=l%(P+F zerjVO%FIJfi&gfY)n(o~`kStm>|i^Cd2~u0kd%Fd)09>-!C;r{hl$w)mZdm}YpNua z97mF7!7B6VWSYo8P|FgFQSwD*KE=&@_4vdW+zh_RC(WQLaN@CvzHuDX{UMwe zGEj;)o>cM^bEQDI3F{6(r)*w<=T_Q!^o{pOEVSN*d6BNhG+s#_$Ao0&-A$`3SWF9& z-dM>OlR7p_7`_$u6Bas0cLMY8VvXqAAnnL(Q^^-jh0Q)Ymm&t8IlZE#r9~FvmKcs= z5fvCq2tg(7bviAb=C$LwQ_H&d+*v*G;C*_>8(*XMzT@qB)f2DL%DH>g?#-+0_GG_f z64(Cf4IT4JYY%#FdqX#0ysULz;q2_~X={5&Ya3g-eC>vwdj3VdaATDn*{*hu`tlDc z_^;$2>BK2969e;R45@XjISenarPi3p4ND_{*P>V#- zYPU5vzo<^9%iK;hWYMzEfTUlxS}Mzub5YgjL`)tN7{EbN3_&r9`3@2?&%Yl?d|oTg z=LB2ZST`}xJUb~6P!+Vj3`CW8Uvu-!4>4_D@c=XCfublP{p-^HSbHS0HvN3ZJ3dQ~ zKKihhR#vpj?ztp(qz9rsx`8_p8`{XKB!`#)BTnLdodw;`Iq5j5$C7SUTIE&k4vX{( z4=bH0ojNzK^RHRfeV=n)4}SgyJ^ap#I`@XtT6l0loqK!Ixt1m?g@$udzdg~Q0CPhO zc~BbzJZo_siv9#CCBP{E^DD`sk_!3}8^BFG1E%xn>)G;vP5_sp0-iw}DNex7w31vL zNT?;k)_7*%NfrNAj}VNShAMSp z;98sL{PJmyxwk%czQ+Y?NtmD)?9jN^GhcJJXh%H8wv5V9U>W000mG zNklc{JDhem&j?%oxkO!CeJ8C(;Wl59?cP0s%$~?Ms@mK_HKa)ad z8l;3xSf7-2R|0(MgLTO7qTyX;WsWlp2ioX=m zuzkVe=LI-~sD6K-35&|e_AKZX3#hnxL!^~TEHsrOe5B>ksA5r$T4W*Xb-7)+Id^vW zCeSK%@%$MrF3zba3J*(@G#U6aJ|d}zrFtYPzkeGl=v@4UK; zD{8en*cIyUY-zB&rS%t|)z0pYZa(*&4Q~t{$FRf$C z?r_)1iG+L1{O;|IwQ+r@y<3%vNn4A2`&oVVvLcDK?pja?k@1b0l?r)V1&OR6ktrg_ zXu|l$>}vg=jt-9YG#>WlM5LlnNncyNIkowo7O?j`JGpz@6Xwu!JqCM4pegGX1(kCK2x9j?VqL3{pPppOMmn$^o@V-JM>-u z{Co6`Km8T@rl0;YecM0$3Vr)O`6_+mKl(C#`QLr7zU1$`Q$P6kzgXY$ciyWn{K?PO z=lzAx(A$3KO?u0By#b}5sV^j!%a|o7kpccF&mViw7>Bi!t}!nEUz^=OfU} zwe?%t?XTf3|ludSt!z}4&EAdo`2j?2Y z2*Jb2CQ^_Rpq~b}Y?fDZ%*aBp(Tv=zAq8vXiHFYEI>$hiifQZqFW&wG?6%~p?}YzV zwf8yajW>2ycPq9+E3^`dC?gP(NFqoKU}GCFw#OKIz%$rpoNcgYJf1O5<9Vv z48{Z*5CS2TL#x%@>fC+%#y5u(cldt)I%mKA_SKcY^gOfgUb|MUwQ5z>s;afB_CEJs zLniR(XrS3>PM=1DK%UV6S={8atW(2+Earj7+SNXlnn{J+#xh+L;y%i|Z_am+85HmU zX2=Apw7>#~Ethj@nFTr1avlbEN6xA9R^f6vg=*Oh;N5MxjDwhG9Mnk$mo>f9tRk~ zn;RS2IXK|;;hy~W#V&7e>+;sNE^Y1V()O+{@{MeFIM%_W((Z7k&CRK@P2a7t~v8HXF-7{+LZhGBj)m8eSzf*>0TZB>ItZ zd5o8JnQ#45HUkYdjOez#f&w-Q$Vj%S!F0=1==3JTWopK#71M*@R}+XSPC3e0hJ0B> zm1WYPUup?(KE;rA#-w~=b1<{R9ASrQ*6QR*PRgsx1o0IuFRy5I{e-Em>;{^Ds z=j!G=U#2t9elg#~RyE}K)u80?;)b>#dPFB`o>G8)lb%|HQ2Y$U>M)giD>D04M>v>=GEWPu4-mJHM=Nt8|?|-Xa_x@Mv?LYVi zz2`^XuJ`@*ckBH>@jiX`KmLIJ4s-5tHHKJXXVQgCL{BQ$09Na zh7^*D7#WYC#CQft30@#IMB_%t!{$i_N9nO`*}NQZiuDOHZ%U9|UtX1M?i0kv@Bf0H zb4$aw)I>Qc1ju~hHZ1TEkcZ|h4aiA;nAQOzPvd0)9v$B)*?b$fe9rJNj?LxH zEO^m0aple|h-B5-CetBwZR=7<`F0V@TBmu|m&<@;UY3&CNA0#;CTM=;yoFtclzT2q zzSC`;o!k+BUVJVKk^89KPt)JYky=ldL$^}{JU3-k1mh)ux z>qm4rd0fJAc=6cbR5&d+bgrURWU#0R+6#_6VU|68F$O6V%s z@%Q>m3Ml}Q;5xuz_f(Vw6#~fgU|$D&JGyxOoTfPRJzh6nA%N}jEn;);KpVg|r?GAF zdwd_;1-AT;E?=7J^5c~buS7LtTFfh_3VT-sj1-gld;>f8z(Z0sR#6lxd5zY?*#~&S ze!|{Slv9{LZ6n6QyrL+TC=(<#v`N?#R3RddTu~&YM7=c~4M>sH)Qu_y^rjdy-``48 zj4F}0qb#spO%$0;XKIjdX$Pg%f(MX(ugC$bAgBpm!#K^ybuJ%5P(;7!69Rgl?__7r zp3v&@l6t&yEXp3bYJ&Al=fChpG>D7FaW~{@`sd;C34KUA%CgW)R!`}s-ati6iu?&7 zXf&yHZf8$}p7fj-uItWs->&OkaJyEY{Q?b_&gzLLp3o=$@DKDyAN#C6`l)+09IWf) z3tz6YFMYjkf9>1!l2^Y*&%g7!l-PkmB*8(aFxfADkqJAdc@)Zh8rhM&>j|9d~9pZv+6)j#~7 z{;mGe|N8IrkN^39)KC4ZU(vt#*Z)cX`WHT^fB$PA)#XbYIy|h@tew@FJ72Cl-u_-a z=k+huxBRtt=zD+eFKX?^73@-D4{mJDGvASCWZ*nDMT|;e4j}|_!(}8Eo0@iHP*C@_{w5(c-P9li-abm<|z@RvxVJmM@CS`4D&l)(>{1KUfHG9VGMHh3442Z8>jA5GPg+nnkQI zBRtSAYBM`0=2_mdnWy<>nlY#FLNH?gGZMiG}agn;u8HL9UV}85s8S99omd!LC=DXYx4L)Rj zS=|=Wv1=ih6L?OKbQ}{qjy{d=0%np@+}IIVu1S@)ho7JsNeQQ5=Vk|z7XXcJkZ$2N zIFSaYk|z>$L9=|tq%Vt}iZV&iT((BB%Y@)cqgtn+rq^vyTuC~0`YOzoQ!80PiEB9D%U~#YXX+R`dl!T1I4mbi=!UxZt7s;g7$Z=-~BCp-;e!W{n;P?N&UsY^N;kGfASycul`T}Gw?s@%^&zdz4HBk zUeA2fx9e~H#NXCm{qY~uU;L3D)}Q$^->>ifW8bCsecLzdonQA(z45ExpjW@*WqQH$ zo~v7KzDXxeoYaf}%+1MkU1x5-L0gwMbmE0yrQ6=~1M1)W3O(bQx9WR;@u!pqNv;22 zLvH0OB!!qjg93Jm-~n42hoL3}2^lOd+qrE68YCf`ib6%vm;cV@C{zm2VhHLLiH+cj zG_93b(;-DAXrKS$=X7#yq)gMXiz?JETC_+|Ba?GwAkMo4=$vi@LYU{|*Qp_p1C({p zQ*?TMgy1%}bIF!M^dW?xIYCcdkaC7J1V0ew7VO) zu&A!fWXk+unK_0`mvL%<;XaV$dqK*$uAvJnsiS9E%NQ}}Dg8NX9<-wy;_*IbJ;-p+ zMc`+|sfkVv;5(DgsBMN+&?veQt#CT68diWIPbxT(iEZa5I+areMHY{^!ZCb`6SDIQ z)&)JlZ_#B(>NZwwrIXKHQ^nWy6sfUkRB@81k#U(aCG^UlbCkeQ;TwV!i=?86QVdz9 zp^h2{N|R;XcFJy3zdulkY>nP2POyhV9RU4)sU=QrCAgJ_5ODG{wKzGqVN4M6tF?+g zG<@H(PWLrfn4nUPhdSK8tnDWs&;Jtq#VZ@S$hWbJ1fTukNc)r@aoQVkiaE?dvetO7 zQnAt3sVnQchxs~49!1y`!{j8m&R%`433e9d!o-7ROey?v-(`^eq; z;II6u4mpYZn}7Z5df>tH@;B1w+6<0UR`|rF>PMn)c*cNBgV4QlBP{xZLy-0x4&37 zz4*0y)+^tl=fCmmb=TX!MX!1Hcj>L)_I-Nicm20|_xJuqz3Z&d%eZ_;c2#9vTczd`Bj^K|m7zFEDSpRcp!mfrnW{uHOQR<>Kh zZYjn*re#bjz=I@@P0RSTV$isqh&g3mq)f9X}8iRWO$-HaLip zQ~sX0Hy!HpU;IN|e>P>&AfZ7L^>BkomN(tB3|%G*km1fk;)3ROlE`E$a@zyBIn7v* zX^P(rJj`=C!Xbc%Kx&rD7=tE1TNdJ)D16;k(zE*Jxwv8#)Ch`?an-QmJ=gNvk7t zOd=g~)Sc_s>vRt%*h&s0Jse0`1TC!wt(XhtJ`5p+Ak%|_FuO>UV$3wFF5J|U-t_62S3$tqP@#I+Ijp@_4`pv17I0gYPHmFG)QCh znmuWBS<{WjbnxW;x^n-g^_dU-ntu0}{;huhKm3e-=imPC`lDa^H~OW2`VaMg|C7I` zfA_!sZQyU{m;TA$&@cbfzoq~9FaC~x{r~t$eduR@O27Z_{*^xdt3Rht{rbPt=YH$o z>xobPo*w@2ujt_1y?W&1AJNtmk7~AiN$tToY_Y4jx~eg&vHXB8E4AWAXjz~f++ z0=C3p9*&08<6^K8TP-e-fZSp<6hcrDlXhk!P4mh@nsJ1j_17p11P9b9@JCJ1y^lYv zrQQ|RDs#hX;Rn(X`~>OloDXw3>NUBwBID>~;K{XU4OGhAB7rWRf~XLzKNICEbSPyh zVUlD7ddP_K)h_s%2G5(KjA!oR5xO*pYH|jQMt}x@a!$Z#qo2oN!Lf`BlOE?j9Y>b- zh(z;;p1LwIXJdXkZ)Hw1frs-XU)G9_Zr*Wu^2b?6bsm>_ng9iSn}3{c++f~UfFt&Q zt*m*5PPj`=>-2Us=S?>l@94)<^SZoo%Q-d8DX=^JBmrd#r(vPwL|zCLj-n;o=1CUh zu_L=MtvQT;J5N3JA_6H!1%zB4zlLlp2RKOJl6{kReb>FE1=`lV3sMd zz|aw-7^Ko4L7+DT)2skR4r;;mz$Z(6k@nZB`7Y*QSCoClln|$Fv}tv1Stm}cYLy*( zzu!~BiHb!l+CJkXRiitikF2bB#z|<*$tuKzo zr$6zBy8H8=)V=q9K@U7|pB{ebOM2|F2ld3G4*(D8{1XrB0%L!f)9~ijW$h2Qd3`(5 z^7^uFyZvVMS5|dpcc$|@6MgQ!$909ep4c7hp^Za*;oOcs{@`W({udt82S0wle)&V6 z*1!3+59xpZ#s94T?WccH|I5GpdHv7-^yl?A|K2~>zx04y%+Afb*nCkSx|(IhD-UzxMOGa)mM5f<$^s?UWDS=gnK zC5cCQBM@={r|`4Rj_$niE;VjBLq{`iFz;&UWV-Y?-?Xlraf9;)()217P> z3%_M>Qb^`5|S;IQ^yRvdZ&4Ra=dkNu%q^Ro%3-sx4kuK0G?))!0=1vLL7x z@@ui@-gHWDy6bwq_pQ&D@y~dtq#;rt#)^>==$frME&b;Q?+wN{(r=3K00C&1x1AruzjlrLPc9^ zKwKWbhJfxdsIi6lF+?Rc1j*yUJg`iluYK%VmIC%U1+G`LY4K zGzfN(|9~-)twIQjj0x{daU_*e0T;OV#e2093O#$}Btd^&XZfynl3?b)5bZkmClhT= zCz=qfuN(BW#`rpLqEPcIXzhk2jW@37%FdoVrl(Jz(leiRt8O@bTL0xYe_s!L=@DJt z9_gWrQ+@2dZT-RLuIR&`xuDyu8){HgH;=dV1WGbgq zZ3}Qh@KaFdDN?9JKvD={4w_%?i!qnYDf&!vKA6zKyg1!zb9wVKtIf~+2w`60DIWHq zgajSA5J=Ts=H-?_fX+=L7kE$z0h~g)Jg9;~2u9{WJ2R5gV{~L#QLs9iQv;-|%Q~Gm z7(Y&T-gJZM2IB_v45k?tIQ2O<2h$AmoYa-mvCA}PkIOmV(T}Isk~zlDeeYyUH*|UH zG;V;-ZORcmt=*<}0+uK5LEIgEf)Qe>Q;~yNSahf%Z|BC`MN(>51cneoUQFWhB(k{G zxm-?hPRTsLI$FwkOi<@U4GLFpT~WV?!VfE1UmH~vh3t?V{QT2@(|f(1Tt0*-A!n!C zE_Pcr3oG*!AxWCVLl6~!Q%Bm^1MldO8+X1IItC&&WAz$?Oa6SX*w?Fr0#adeK zmpJ`Od!vz7pg(8*gifvW_2_s{oArTKZ;5ocsQN7kEPohMZmqltI*5Z_}oVc@1d7~;*0wM( z7LDx&?x0Yi2UOAZ5Wot`7#Dq%f?8xPUvu(pT^2(%*u*s3vfnH6={m-s21Ond>vh>) zQ7EN|ceN=zrZST>q{pIydXai+Tn(&=)6Z!Lddph9scxGu?*RQN-P?RdDON+VTIs%jVho36V~pZ)9?bvSMG#e+3nzWtlE|LphZ^74!HTib`SQoxw)f_jcxhw<{cg$su=Wi zZeyhT9vSMy^Iyu?qL+CXLSTd>F(y3o%@E|&jCR3q5txr17-JZM%grGo9YT-;)J0Y5iol@ap6ja`W4BnV0{msAMS?wkXKHz%4d&;XF4M_d7LJx)Ui@B)xbCFpl4*89Ew*S*}aXGmsBvkXm0SZqgBc46#_w8VO(q})l*jpD5X5l9Hatr4f(b;#d3iXQeCtwu^N{ayy`@sGdim}8Q-AWS^~ZnYoqF&0eXYLw8{Vep zyy%5Gaq6U|yE{7ImDU)2wSppT3`JjuheLwx7)Q4yx2eI=v>ZQM(yE$?CM$qneDq72 z3=bt7d`-S>TbdBnkj5BUOXO)&Oa)~M#TYWJ!M?VQ0}cdvJWOk7yvr5668Vtjc`9GQ zQVT$T9^6*)I(3ux53{jCf=hLm#(ut&{QwiIRb>r>N z(OoZnv2MBPW_ezX$5VyD3H5G&qsD>ppW&?|<;!J-vacDoYfe5(H@@)$DsH|*9`|Wm zDD?;W*zf(G?)~&9RGz*~XI}g^ed6Pv(W6hE*Y!88E7HduzkWVEP!4E|aT^lQ{rCQc zY?y`)Za!I(jt$JO5p!cW9BIh7Th@VZ!mGX!@|Uk{!Uu~w#|3tC?7$u>8?6&Ljjc|$8GW{}SbS#J57=gA?@Q!OcCuySsWk`q{`WDqh>rCGM4yN1?$ zAk&-ycUkuZRK^#@U57~-Os7u*La;!qm>JgLe9kN$$7$v{Z&sHYhn^cpDuZbqba~4g zcWPdj8aJ5d)O3UK4xI1!rWrRFH<)ke@Z-FW=ClLLc3_(2yS(v^*5Mt`^bSnxa8eKV z?&wppBd|?F2udL;1S@ITwNb#Ra6pnm2$|-|Z%5ZK*=rUFQj&Nwh}KC)DMpf@hKb)G z)4;Qg`6oG@EiV;X!s)K^0l$y4Y|*vU@AC?-1bXUo>R4K0q1e$9NT%#wD;B-K33*~9 z7F>!+Jr4mebR`9a2b%N1!iBJ)BcXog)I-HjZ*ez$iq3)>jIY2E=8347j?vVEoMOOA2A8-s-ASInZEfRVPlKWOLLi775xi zo4Jvy;l4sORxbuEbJ`2dOf3**hdR9Spaz_zX$m%Mv~lqX?9#}68E#$CAO8EF)|c*m zP%pgm`5GNgw6eU!9H}_XAMgrzU)y{8oYoEqR6`9JtI=poofAz6s1xSS)N_k;Oi;^t zY~}H(7%SV=wra51gn4oK$tU&UpZc5n&EL3Jn@>#SJ_nwL78}^sWWhvYYLFm$Y{V55 z<;!``QR6~V&@0yHPBZ0=Nl*w;Jh5-0FSYi^Lq@B$stk(qlP)&h=XAx9BUl&JYdHtU&}ZSo?x<+*3HzC6e$v?+_(4m`$~os~~#E4)TpT3%L( z6KkleVmCWwK@UeG*#S)1)uIR|S1QFs%!ql{U9s?M9Cgj^TC~q;g_Cb+B~-Jhyyw}7;!2ZYQnd%Kz%bhGp4Q)?dbRV zDtYa8_T-9gIlZRqPb}%oYF{sT=5^{9mEQWDFW3A3^1JoU?|rLY@Y)w@{rb~5?jFt} z3eT3E>13Bc#j7U2*4)7XUfSH$qvy`+-uoZa!;fE(PlD$!U(w^|&*^YQle{oBHK{^phI3BZ80vLnDuq`6)>Q?7TAQsb411Eiv#^!@Of$-8Ni< zGPr?^`PpZ$YPfr->u!05BDQe9R(-1D^(|9CFT3k`Iz4+_hYx>J(~I{jjjkvhTvnWo zv|RMGGTT-2@JE&QF6xeF-_GgoChhM}bn3br6jx5@$wwbz&IY}U6ZWHzp4aE^eO$ZD zkufL816~Op_;ki5Wz75T|+e_GZNWp3-;EkSiN0;wX zmoYfsr55e-#tqIpJq{i1c)8zMvTvl4R9l}kkl}UAq3SpJWm$WZ2ua$DGpE01SywY)MYKGkSJ$T zZ@tv&$)19wo&BL^I8f79mj>z)OdQbqIKY*)6|L|(uqcYWqxO2TlMOD(?lsVsgqKS= z)HP(6IF%G3s^Rrph=n2!Qq-9!A7jjckRobuejz4y*fZ@B5YBVz5&R`iYAdv%M)%I% zNaIO`gK0Fz>DZY}rWL&mIAPKMHtX@XGXJaXFMjUrdhN?zsMp=~e7*aPuhjQ^!`J8o z-}a4q(>va(7r*uuT0e72Ws1^t1WeWP3a92f(2SGGgl|DZ;1GPoZhe!$w1WfOA5FDK zy1l=rZNA^_5@0WHZtKeCmac5<=mPD&cx6);uWaZN-&?M1?`cSxCBEgX-1=O#^uy!i zARj_dr2ZI5fdpO@iQp0$u~xQA2r=iK@vE_lw%EDKm&?bL?ctM&=RqzLDFZ|x)6j;R zJdR~qC`I@w%5{6(th3^@EcDsI@9iIGit{fB9wn#cXWV+T{C)AEPkdgx*kjD5!}FtN zjyOn2QGq`q6=@(%=n4{8m{Z8pMNz$0uP<^yyXCG|YWeg@wFLXYQeP`4Pw1vwpTUMI z=sUjs9s1UHy+rSP)y?|auex2|@HMZ{w|>J{>s!A0je5`5zeZpE>KEwUU-L%2{6%-@ z!TTQ4r#^j;KJ&Tzb2qItOdq}bOZwpN{*iv?4?eF=g56nk=kH={gvM+zCIp1} z9GYoH;FcRF-niMOyKD$phqll8t%8Nzcc(dLzA|R{ zHVd>6GNSoq+_ZTv=EO83&|P7MF7MP}8S|YwZ!q40c^%DZ2UpWAZ(f%k=NmVeZ@5~< zwEr4d{x}?$?ev;&y3>y4dVEojxGA;bDMRl>z{K{3^f6!k{H2QL{Tj7 zx(DpM6NS90t$_^?pQ$h&pvvV&KP8SDR=N)CMg40uo zNkUgy_DO;Qj?Nl@(d2);2=Hs*dza6GM~ z0ReP%d7!f=*LBl%XLZ}nH|a%pzEpR<;+4Afg?Fk4KdM$U9jY1bsphp-O`R1x+A-f) zrhFTjvYWSKKi~v7;>h4{aSmpOIKyp%+?c)>c;*r55SVb1*&zsA+S=0PtsPz2+##TC z^V;V?4bFf0#0kClUEic)?KB&On&D{`0@ilNXmi7uLd>)futkW9Awgn{+%Nb6+Yb6Y z^$75heh0vlz+*~5b$Qg~a-Ih*;~gLrMN*3B1S|_F-z|DwcY!@4_Mg(%m`W98A)hD@ zIGy^`vO8_{&?8UkkRVX@6J>)A>zQ2MAo|g|F{DBKX+^(zAeqn$1x#?FR!$e1w3^Mn z1pojL07*naRAau^4wRNoX}Wod108cBh}V5%ow)8sHU<0o!bd-dqIvM9+HWvvuY2w!ZkqhX`)xJbaK4=4q!h z1o8-37Pj1|BiwWg;uBnV8z9Knyo@nJaG@ZcJmh9r&Ny&X#tdsA^-bGE-P|O|xrphY z0YmVJhimJxh^%{K~~yjj-^-2I)7Z&cn8Od z(Y~j0F4N^YS*NBQ=UtueWK2JfJ8y7VgK>jp48}V!-!y}1PCJ@Y)0_e}vfI5i`8=nM zmR&cFj~Uw9DZzJ9A{S=7*n1}9Y8`H=b*Sio+HMNrWH5E@my5*%(^)O3GW z{@3@%J6oFY8gasD%O|nX;ejTc{aJ7zo4kFr-NCF}?^*w!0>ij6`(QD8IEXpX2_4SF$)66JzimuFBb z*H>Yu3a98c+nMJdJ@6gL`5L>`lvtWQ2fb+m&2in5Y3sKnT|B?7gHfX~-(PojM?y?9PE8{=5PQ1^8uIP) z(xq)Z{@9Z`f9|3#Jn^KSeEggqfAB#){-yi%@V)owq5Hn5hwi^e4}a+aJ@(+kI``;f zdi>Fck$YULD+Ar}?AvtLOP-rIHnypQ)ofblv6&GJe4?F0&B?x5K($C4-Y7t802@)l zp5O#m$^GFO1GbI2j@Q@^KXgu?{@5jjI?-1F$hgafAWHZFNOE80i)swGtOJ1ejfF zob0^OMy>+Ob)>LBOzX;Zsad9X;Jo2D-?+ha%Q-a|H*~x%HO>6v(9xV)u1k#@EbG+t z<9J7NYPzA5AsuNKNBJ0weX21#e>l40J)Hsw7BXt(EiyQeVJLp}$ zZyfS^&JMR#P+}3UEHCL4r>(Qsot9r=4*ESU4SEVuIMGJ72ci;>F()Voww9pgZ*Yfx zJ;rOn;nt>xn;Yz)uV}o#Bmc|yli^S^obmxDuHEe&*^yq^*who83huu5OM2wV3)X=64OW8jm6oviIr;WTZV5L4FIIQU>Q%eb6;xeP(CA@#-} zQfH(cPOZ~6$@Nf&%S_Q(qo+pRW6Y|~wsT!AfwW*8L&Tug-Aa-E6l_|0oCZDiYrL*| z-pgO4XWV?fZhii(1m=?OX$_mMMl(AM?h0=lsMg9bMXKwFvf*oq@ z`kQ#QJkn=B{%Ku&^1SZ5`wRNgz4z+LC!WxKU%X$R{oFnJ+}&T)XP|%Tb6?OWKK&Ve z;*+1&AARam`q-yGt&e@`)B5D6Kc~Cz`Jx_t=pj9R?wl^N3E5(dn!FKgH6BlS-8;!J zW+OJ?v@_u}K4TLwV*^rQLqkn!sB9zKY>`$Ouk&WhIGw=QV%<6(CswNyzzVhJ^rbp&CmWllIt{mPidkBA_KCBd;NAjcGHD zQDUru>jPMp=vBUgH8Ad{&z#iBrL9b(@Kb!|s`Fl>THsj-Jx)XLh#GQESS0;eKJED>04#70@4G`#`GR-((vcdEYoOiLz zb_PTXf>F1%BX?y?&$#6bE!H=&6Ew~FtD)mxP5(;y%esIOT)W$fTNu_094AR_xh+Xe8uANY;2kB z0Zxed2`0!)8S7wx?c|D7D1y%&nAv6`gJ|MaVv12Nh+6R;L#sCpR3N{^Nh-w%9<@X; z@vFuGPHnKfs*=F>nVhwih%64);NcjiW*LLe(lq6lBjX$ zEshjH*`XZry3co3f*I&~Ux}W>V3PJ)GYGf$8GbjvnR|aNk3Z=%FXh>tTZ0Ca1Rt zp*?o_vL3y7MUMa*oFMjbjHCQ($Dl-8N=`uDH7C;Lv)Aj+_k5ea>mUED-uweUqEoj% zn-c*WfLPMLg7z^EE#m-q%{17?_6an;pwG5(Z>fh|!wI35`x!!1L0^lMFa3fQs94t&aH!LQUN^nXlSr}R_QS7GxhPTchwhok{E?)R}PbHe(pOI$HVF@)$F zYsxrcX2tcB`Q)^Hcqk1DxiK}Ju&&Ai;0>Fjkjn@8kL&P>uQdW?d8yTi4cC?3u}kLfr6^Ka@yAN(EN^O;ZU!F%r3#m67k=EWy<>B2>w$L>!8{-*lGg)4gW z$%}gA@e6wR@$>r9W9Rh6haS~u?|(p_z4!hMU%2l<-T%PDdgRe3b^ggq+T_ITAA#f` zhJ&w}hu+9k*s;PUU0RcG7!O0Hk@q}pka7Dn(62Cu+uoegHP=^N-#bHlm;f4%; zg5>)t+>RbnE38FI1Y&qWxQ&zKn*!NnWcI7E`k~~cRmk(q<1*rPVr5&CVfd9VblOLt z21|!5TjB>!o;{;MbwSH(y+x%6TEANWIxh>tO~IV?!~LBXK-h#1sMDgdu#t|P)BJ!1 zV}9$Y3xdlW5u9IS7R461rxJ_UPe7Ts2SMtW^?<4~lDIOR0;ZEymT?A}xH6yA{Wj02 z*-pO<7L0}dc*I}OkMaxMoxV)(XwF#Pd4uzY4mZ#F<8U?4GNw7bmRv`(%(ZaSy0TZx zIB%ZQPR@DbrWuSM2lEZ)8H``eU*zjpYxnRW`CHJ4UGIzqGxg#l^(zL8;R+c;E7IJA z=$ns|Im%b#0fUa9YF1bXIRlS!i+o@ec^BS>TI;tgX)uVgV~(s2FS*1kx|Knx(oQrc zzCTP<<0wOnYFYFl1aW7F9+KqmQoX^lVv1^5XfsX}2b{JXjAsOreNIV}*;q52nG0Gj zve<%k<1qFP4)bf$^%JYS+5*;A<)GXr!1i#sWtmjs)XSom=_{)%N>8g}Z5dSWctrH}LLK>w)WfY)n#z%H=EYs9Vnp)T&o7q&TsGVt!Spp z1hg%J-TtT|U(t49&sG8bwp9_Rrzx<}s&2gFrFz~Q-=*igT5R!{2Q z&)uy{7dLeI@{YDP_Ox+nN1J^A+S%OI!8Wk7E&r2Y+uK{(B=7H+yUe9MPRkz0J?4#n zO}f3iuZ^ueUG|T1E^p}^I-fXyS&u(?S&ux%2IY|_^u)OfI^f%H&3dwJy}_!O%MMx< z{m3}|a8PJSJv0Df+_gsssJ(k)= zuG_2CIMV^yAcdfyC>|0ImuYe26>DRc_2bjoQY@5Wl6}FLbrj&22u9K%$#dQIuNljT zjvgoM1kan%c5)Oq6uuUzr&Jb!VmE~?dJG|^}{VbL{8sX(W|XPS(M zIv9_5y;>>ZG|Qso73VVFK-TzPbCU06YXq*IVn{$xLr|?*;A2j7Bb-^yg7*%3Mq8%r zzU_EojOx+elc!Fq&&h6vOejkYdCj!XE2yo#LtWn4*JT{!6=0KBj{Y9u?_+zk-#_#? zBq00Mr#BaNK%tSA>QaNfo{9^lmL4Cd|JbsIk0veYwBj1CLrB#oN{Jz;P8oYG#uvBYfYOWs%1djhX%X1EWi+=Yzuk76corS%T#$&(Sk?pBy)^? zFaQ7$07*naRK}o{uLjXJOIPT0dkaonWk~>JTvCd1ASeDSm%Qo)D$zHDCmaT%%%xUQtpX0!bEqMuAa|R2 zEdgyi9O@4~_(wW*{f$Zlf&1>hTf>8~Qq}7D*Pqm@pLLV&yy3J?(dXe|r2}BX_p}M$ z*YcP<<(1)>@tN}a(7}H~@E@}Y7(zc}gR;;3+hvTmcMb@Gd&()n@*KhKfrlQ`IbJ1? z*r>Q)wz=Ec($?c(T7{h<%W^e#@X6Pw{wedXBCt8Qo#Mo~yM3TnyynGv&P$%Jpo9e^ z<*^Bp3}Srd;GAt~d(8oR!HOB$EEix{Mtnl>hIF6P*pf>1Bf8;D@dpmN3|Ss8s=~%d zGZqbjxj`m`ppvoom?zq>yt1N|a#Mlv&BD}obO*PJoSj9+7kNloHq*$Um#0vtr_uG5 zuUy3HjAT8|0Ce@~rA&Z+L^KY~<&J3N=hl_7F6rqhd~S$3x~#@!EZ^zMGDu`zevmQI z;Ji~vGVXLfuXQZ1qw8wfj?vM(ywhvZOz+?;@jH5#x?LUavc^p_ZnzpZ-}DYTewUhW z==fKs<{2z+FyDEn&L783a~}F(yTK%k8Wc%AX6qrrY=V=X&RR|{3n5lm3y6y%3lj&0 z5R`v86vQNtswi8q03vi4QqW=&D*pw|0w)v+W^2zF=)~!Pdem95P+E4_{W9Uyf?^D$ zg<2L#i?daTiZQC}56~r?R3k6Efby71*ingHp<5bprsjnAi=Ti0NDE$2g!Qi|#koV@6hC8^A>X!ke` zx~>TUk46&AD@7J`h*2W~*%iKlJ$YqQS2%TD+C9)kzJpx`ws;-6!*1XIYqejc9T4yu z^iHRZ8eaL9lR_(pOFFf)u5>ABbiPqJEH!8c!pEsk;2afw?d(nU2;Xt)Vom+Qss>AI zN<}HZ)(jzm7a984u0L3!Ec&wpYH2Pu?e!F}cf+`e%Xp2=Tg~~3^p?J~q%|^j<~4Tp zTxggNK|u@#&mhz&Uo7Adf*h1)%%g_-B035HLB_An!FEiL7!qWCqIU47n0mdExmc** z@8xvB>HE~FQyMO<>Jq`=a$8ADrDix?>vAA#G1wluMg*D=XpbAg_y~c#A)#T_pwbqv z8x;%fZ*7R3kACd${&)Jh-~9#s-Cz7y`fES^PxKQ%_fz`$U;XF$)qnlt`td*Zb-L@8 z>lLZ4q7M~)c3-9hu?e`xdrqq~W9%K=Mg+G5+ObbN4ZFN1-sS|pO_009$?suKY!5yB zsJ5AVl{Wy)&1}aUz#8n*U`jw-(B?ck!tG$;An3Yg)PEb_&w8w-=ic!`z2xg(NgHH~ zP~IcA0Lozk-)dWQ<{P37opEKJpEjFIWn5AI9)5_%RqR!=Nok~fLStI6j-}W}D1mHC zyIaPC6uluv4SIbQtd*8_p1I+A^=Df;b+(T@w<{u{p~{eP9+Z^>8)&{QXIjoI9yC2; z9lc94F(`K?%Yf4|-7(1z8q7SCQx0V|2zwt~|?YahXrs zGS4J%Ckrq)w>js{3yRjE?lR3%2IHn1cWN-rVEk&jX&ujL2bME#zQK8?rWu@fYFY=T z8Sm&_-l=JZ<9y@h8O(EPn(?dCYtbyzLC5cOI5n8R;ElB{vAAr!B^=j?9ql2G|B%I7 zGa%lTbwxZD4j7PSTSrd}n5G#ARSGdratj0sn3s@S>K8h3a!JcKl)Cvv>+-iV*I5!& zmincZ;D;FUNrP#nkfI_BL@4#?Ylg$BX_vSHi;YBH1Ob`E0xFmMnynO7YQki82BGZ8cHDj=aHPr6Rez+2IbB zsfRiz<4PlT=VSOY9Fzmw*t>eZ7ah{por44I>>p}Ku-az_f50ooDLd>jIu9wgNs!xu ze=wSAOz^8F4MD5W+V+apcUQGcK${)5+TNW~capzL*e+w$`1DdQebr0!_22Lgz2h6+ zt(B9fwaQ7xyL#85h-rZAbZJ{dP(cap?=7H|ZQJ5F8v;{nW}r-nGCc%mB$HbPyCs+* z%D4*41f~m4jInUP8+3<&#Ynrr=yD~Sg92w5LQqISF-6KZn$TCOR9b9CB6BVTsm*_c zTq52y`Im^3!@c}Nnif5NEjXQ2+Uo^u5jCa0L`P$YN*?Q?kny1T6;T>vQ0&!OK2hd= zKkK>AR}WqP-T(2g^wMwt0qGg9P;>nY)m--+wP$Zrxc*r>`;xEHxBRK^)zADdKdxW; z%ip6v{rVT_+3U+{2=o;vx{4EUg*~R&b&AuT0ol%syYUHgZ_L^;Oh`w}3B&IGNEdi5 z`RHR$YHMpp6XwD+m#vwj6`RL8_q%mH^sQo}*RZLxeGN6ZHx+^O#?_?vz3t7q;khr+ z%`dz~4TDo-RENWc@xqjHz=#Y)w!y+Eb5?5>905V*%NX`jzFPTPdIN1$1-6Z=iQ0jkJAhbd@@%?#41+SuKha)X5uV^+t(Cs%z3WeMzeWi=?N30H~$Pq0Z z&m2+bh*>UkBx3?B(`cXQi_CLgT&6j%g&d^$-OeeHx#y%g1$;rtNlTvFdPtOY88ICJ zZaQlMR>}#FOeD1oV~{zf0rPv#1D}^|h1H-PzcUlUT!+-++g0-scDvR+VPAVoHx&@^9JJ`Eb>)#NuHm9lT%+& zp5R;URJ-j=JJm!}7H^I5BZC$f`WhCH9bLj1*`}WCX4!$wCpk+CLP}9(ztCW{rzM~n z2*^N-3yMuqca&qbZd_RD|A8XF#zRa*G2`1gr)JQUeVRgXX}MybG)eC=Ee4 z7L;daA5v6V6f9aMM2y*yr5I)BJ7fpF!}p940VPWLbk^$?>JtphUMUKxCg4=Oj;tnQ zwJc<}#naC}I*BRCfy)7Dp8(}_g43Gdq_5zl_6e2_o*SDx+GB_AzbjT@kO{kYpAM(I z#>uZ4d3CwT&VBC?`wnXr`=yq)2U^}+QX12bDv52cW)pZJYMr3FM4t-kpVIjmZU3#` z`-pz_U;eCq_d_3*f4tH{D{RZMNB>I&%0>EJV!IH70(|$QWf5jTkLfAd5>f~Ohgxe+ zD@;&@lb+DG8OK8QJUFVJ676948M|VRvxBJMH}o^al=Wo&t_NC;aLp;l0Rg3qN2#(b z)GHHdsRjq_vgT2QfH#rHnTFsjWB%cT>wL%8y;1LZ=j-*Fx4%jb?)x5d1@%*@q$s+> z-4bvm(Qk#o9hFYj5`7FsUuSQ;Ubo)$GOh8gQB>B3LMjGod&_EQXbv@WfVn%x9#iJ3UmY99 z(>lN2_U7d>r?tl(zmR`4GGVhbL(cZA94L?BwpWdAr!8rX&WiLzKWKyRbh{gzG_m*6 z`V!-xgsJI2edo?^O-LL1Xrfb(NkgVlfHS`X=n>3GNVFPq>Wwf~i$Wnp#-Txfi~%k7d>zmV?9xa6B(E70YjMi!{(>~cpff9nDhgMor!MphJ-(H3J#`_PGoI8L z;o-iJWLe91GNxso2^4T-r57eY1<)>SVE&4t86q@K*cPH8G1+H0C@+YbKor?c_m)c~ z9Bmte&P{d{2Q@WF_Bn++P1!O<`y5p`1OI@-ueK_7unoIZam6C>q*ip#1KSLz2h>vn z5GR;G0HggC!7U)!Cjg`n@LeTX4uJ=J6= z?)=YuZ&2jK;L-fQ34<^TER#H_hF!)7as4=Hq-TIe+PjwmE@q^PTK) zG?Y(GQ$FHvL)#*dZSEZMoo1qN7K*nJCrL#^yV+d$?OHDuS}ps$4lZ4V z{9Q8<)B<+>t{;5AzU4c=Nw+@t4iyCBhTvQv#~_g6VdOD}YA~ z6o8fmXy;nvFax%5zHtyjr)8|azz$V~y|G16CdHJ{!dgTorKplN6r=$gGo+koT6Xqr zPKP+|DQ%(}%}6H%%CTwKv)3yWB*qin*r=M0Sktx2vQSC@PO(g-{_qoD)PMS|Kh*Ev z^PuWb%O}-DU1f^-#9GlVx0@C*H(R+K5&p_q2~%kO)ETXwSl3|CS3KBL93CiA7g1Y* zK8V1qkks~<#rtN}ycXUkXjpH5bzQG`(ew1<-~KiF*+2O%{i#E6jCM_#$L{|Wn|cGZwR4~+p17R96kE|j;o?gHE-0A6pU{{Cdg84_#DRz2X zF?sH};*2O4k*`IaMi(q){Xzb7L=MIbMl3i_jYTBqy3IGtc~7TV(qO&;-2F0|jX@bm zPcM_1JTimSw{d{mxu?T%BKmT>oObjM?^2gG&w1kp;~jK)r7ELQ!aZIMjsGS3=>^a*u%3SFbEp!dqS$XnCoxQ>Ra8 zb!}CB^b{%ax@W3`-R=B?ibKlpae~{~-P431V3-ml-7Y(teFBzGVGd#r4Axz+kShYM zzv1}QHl(dnJg83|Qylk8`^E2+c81E>wv@<6tb;RM;jW3zmY4}^uNO16?XQx&gfWwW41h#{H1y1DbWaw-qp|kDLHtr?_*&cy@2LfHWdQ!JP?+*Rx zZ+NTz_4mC;KlXKZ>5jAOd|ztilXykt?r(#UU9QD;wh1b+8K*f1^I5}~)!Jh|JjqGR zufh*G?N51~T4A%?7i?W4>ps==%VW5{wj_+F^;l_lYot?WPD#8?2r=r`J8z}kt-MCs zyi!|*5NLY?K%rf&B-;d35uO1OxSy>|7X$8g51Aj!p-{;fx&1XAh%uNgKPvj=AYM~w zLVbPY$|7mi-)hUAW(S9wvN<{Ad*Lc4w(C23uJ0UeMJ5kDH8V+{~FU6!p z9|L`|-5PX>`s{pLY#u|D?e5fc+b$0;^?M`XK$fs|j6n_ZAtE1>BKeX{MSn0*+3OMX zN?9%yCF3K4QjJX1pueQkXV0pC=A>TzrdR6KufIz-KmRrrlJ=QjWh@jGltNMnK|zw+ zfbmtV)H;88Uk{z%)iZ9pombQowHueD(V-j+M8FKZ{tZ5@0l|5KV_+_hb~bdlv&|Yg zU_LT9sg#PIgv0KwpVUpa-mdTby0_@(e)#?RXCHX8-uB!ZR8W6Szin#+rE*(p2DLJ< zX`Eu;31c!QfbBCUu3XvX_2Z6)%tMdE*y92|qAfmQ4{6^Hud^>*+*CyAZ2wSRn}fls zSR}b0x7~5G6k6;CXnr*w1kjF>ZBO3zA(3K`Lc~mgav~Kg6QKP=UJtCRkmp*Bo(5WC zj;0V)(}pQ?paOiNtl_VuQa#3PeQ61`K@+|i`#bWKJ}$4WGB#0X2Sc5{kyDzkb%F;$l??gsS zTmZ7%bKZjF?~WP8l0Y}r$MG>r&s}A zG*vYtuvPL;@h3Roka`L@7(3$qogH?qJ8Zm1Dsi4Ii>yJ9c@2F`sZaquP*;r;Y|weg zX=_XX2qDUjb=r|5H$%ZCuOytbnLpr;hWyp1W*uLl1;;rri6 z`vfW};tLz~2qgVMKbMcl(*?EI&3y?esvI!>*wTHPVDp;x*dE?oG@KklOxU&HHDU$S zxoijldlp(*MsJyvuz5n4$HPE1N<~l({tBFsYueYUrrxF@rH+JcOXkfCd+y=D9bnz} z5B}PR^&fxfH}ttD&nqVB5IgsZs6nrw4^cgcWlBf=PAe1bup#kj=ESLWZCt*n;r$Ov zPdp~=?MiG^#A{R$M3_9B+75UPyszrqqdIrbJv!J2$0^s$Jxnk6y`_B(YawF0-r6ah zzWFwN-PgQb|LljpOaI}|f3v>hu4igMCoB4r?a9OIf+X9=eRM$Z>2=0QY=m9?&2@8g zOP*)5d`fHb__+V>d(GHK?7E^_mo^S`{pvs|U;x_1!0PO?Zl-OuCs2kq&jwJZt>85P z2sdi5y2R9$ak*iEyd)B8Xfb-3}^R^`&UAb~{uGIQL^X>Lzgh!TX-HfLI^8BVC_Z&a| zL|z@EOHDg2W4z;aIQcBbgL__~c?*D@vCPYu=GAlzQuA_~%_6VGb<`&dmc!fE+p!clmI)KT!6~ttbh7Nj zVPWAArZ|!ruZkKLN01cZ5X)$LASaw0!Hc>Yj8o&ZrsG34(?gu*garp5=U34l4w3X@ zB(bpiWm17dvno-};P#~$6>+GMw#E>ZVx-JOAtaSWA=83Ft~aH`>&TV72q)~4#{|5J z_77R0Ap}Lr#uT%|PB>DZ&?0n~p0exq;;(4igkUtLk3$^g2xl~9XI|Aoy&C;{%Sz*< zNW`?gX4s>`c!p_RWyfAKCdNnfaR_aQt!nxdVvvLT{r5er-~PE@*N1=kLrQ~Xt@BE5 zfJ1R`5`A$noMC%AM7e!H?k9cj_4=x5W1ue%Tn<)F9jro>dIWYuDhv7hTZ63UNTS~~ zQ@&g_l|8xK7>C^A?TuFiaVd!E6eNWZvdjcKn(ukj>y;`}lCKJfTwupUKE;$}>AD&o zb+%cpK%ZCmhIR7PDZTO?uh(0?{%iGyul;JKOOSt&8$y)Fy+95WD@id%1xayzs;%vb zUj6EqDN)B07dG_p?ylN{9qFO_Bm$Rs-K_CYIk@p^Z1$zk=%N4e>w5g$1vQ*h#OsTi ze$}*9*aEeha>5%C>}I^GbX$w16|LU%488Q#U!}kQ=e}G2=||qL?|selv|c6xQ!CrA zrJ$ifhhfT`^=WNJP#ZJXHaUfDZf(kM31+MdZ}w`&p2GC0&0|&o>Od90%!azMJ=IO? z1GSV>Rf~n8o8Ism-TI9*ekyJkfHKYJf(UA@LeTsoZNX~W9^utC zsUejMKsP>})*3Odh5-8<`IWCvX9LD`o!7+!=1xk5Hg~tQfh`ZQ&y>wzpHn!^(Jf~x zdEKC{Q~Oj({h5B$Aac2W(rezdmiy_fj&MBf6nB#3a~+mh;3T;rncm4c%?u;3Ek8%e zfWTwkXZ(0Mi{-o##JbzrOsAY}n)?Qx={&gSqR>E`jaiONE(e919CwExo6-D$&TYL0 z(0m)uY|DaldC;T5&-$}84>Jr4c_>G>%L=+7<8Zq4X*!^HG9BL}(=2D&q6!_yk7P2E zO=}Y@a^ziTk#jjS{V#)T3_l}J$co9^;y3~o;RD1>w}@P48I$@1vyzOL#zs5U0Sm~d z7B2_`#TApCQ;UOX05?8B4S^vqega2}rZG<7U}sk~uZJptCC|=0u}IzTRt`in=o3y)GhQuv zfu|VM5I`cGrCa!diKYaLR;>!33fSrQII)BfRrE^v|90|;#;<=y1SdP>0=dbwrd+K< zPG3_TU4C7JZN{{11Pl%2`BX*#4rq^B3WZj7`$~s}LSsuXUAw+9I1N(7IOR2>Rt{Vx z?Tj?Ep}!7n4&ZjMZ+Y)q^sRsT{krQNZ`IoRIzf0%F6UEJ!=OwErZb#yi{Tnli8fdd zgPvm05+~+fNjoG(=mq0cl+Fh=w7bTkHb8LwF)0;MWv|R&{SI`7DgA6|ySPFKD$oADMkhJXs>x8gzQW`erknmPyPOY%~RAGudP?t z`dT`*B8tfW=HQgJBF30Ed0a4oVp(bBOex#z_B)=(q=?$QvZV`E&=>B%S8Zyf&5Nq< z{){G{`=rMAeOf!8`mjFrOaETK_q!k0A#?U{IFw(lDoQiHjZW;Kv90YqV*dJV!I)RL zLxN(({D=hk{^>Ki_zn;)k_<-6|t3u2v0( zb8vDXatcwHRWU||DDZ%UjxG5LxK)DT0zZ2F~uA4rV$hh7#+|b%u(EM_3b1XldH4EK2{}mq=x{4XDLF+`G z#&U*=j@Mz_VEHaJo^>K?{8|vqGobT$Im?>t^azm2);7c7Jj_KRZ04IusyUEwGfa}( zk@X)5KP8gsn&&MCdUU&*E@NINYnt;;-6lJZj_1^Qxh@ne5*DrGG6t6smvPI3=KITV z%F7DiT9zc=om{3Z_?dAGcTvk(rXy$EnFTm+{oAuIs-EsJ;Tu()e&mUXOw6;K3Czcw zmPVH;;DnQw*r}DQ=y5yKMm@^Ew5xKNDC_j34I!YW$^A~?2~Ts#>xMBWjC}%%Qc&6S z)N57)(cJ(55CBO;K~zh5K~7kldDn}xwNpIcJAoH`N=Ye3B^;<|VGCG)OM4;?aj?9s zl%lo>WZuy}`Q!yv1Ss!h>4Fj`uHb%P5C^Un{ZWB{S<23~EK2ooI=!OE4yMFO3i*J} z5+~n;pfSO3M4NYZ_h{>k1>Mq$KnnocR-v=ODf`>TknbE*7P{!K+d<65&$J7WTIAa% zV8@>NmuSO5sidgjNyC6OK#eW!9NKnnzYv0AOtd?AxiH9B{I4$SC)U<1gQytUxey^u8(MQ_>{VnyR6t%>w$N><(g$^#MYM6d3nbAq4r4i?x#6FWbid8LFLeP1|yiB(+=!fpMF; zJBo?EM)WX_LQBo}QUB{4er;ue271LjS{f{AIwWuysD_A9tWO9^W8HMaDXpJ4rLD_Xc%?VhlNUGi*MI)E^fSNkf9qiTGHc;byAR!` z2Y>H(^r;VjM3=Vrb?WSCd0a;RJA%wr|JZ26E9%{?ZSC-C(Em-(gupf$9%^*3uZaT< z!LMfSP`MI;x_|n5-TtDN>d(CYz54e*`T_m;*S<{8bYP=x!cf`HYV)h)34z~%%X4Y} zV5Hr>Jz~{FHNl_(ykVOi9%wqQw8q+4=M|pUOUt*=>GqBqb~>wkXMF8qd9@S4^)V z)Lw(um46!Vm|U>HvAna#;c4Zv@Nq8qf)=d9`0;dsAMYC_Y*!~o(AD8|QN)R`y){PC zJSfNYSk`pY4C=0VNo5+Pa|$n~3m#bso^_a>$@xJwi`0!Y-*N`Tb^PkeWtooQvIstn zMxHxMm~CA-&6Ih4mbX5W%yXJyQPBM3^e&%M7*(8Tcldev120DhdEv89WqL-X7~K^d zW(x>fP>+Q%zy&WgQ35V&q8)Z=BTv*Ixh)OSDMmF^(%|TPqT|rVNBw}lq+L#9`vk0r z{OPc!hWDHk7DvTGg_IW!f~1_1Qc_GwQjm3p5EUpGQ&J)rc~KTP;W7nXxU?xR_)YE~?9YU(S+q#h@zmDOdT zPBR){XA&gY@zwOz8wab;^+HdvP?jYKPH{r5qAG&J5GOr6Jk*rHXg#La6q?cJAwgus z>sR+Xpghvfey>o;W+P#9*EPgO6Lb=vRWN3$DA+_4;Dr)$F(qo3W_~R@8gc@f(MJCO zBxQcD?5iwGg(&s=OIqP|2X<)?m5_kH1W zn$1Qy+nI)Z>$HuR)>kwD#>^FOY!3L2H=+NB!>P_)*wo&^BnOCc1!S20Ig%0}8hxc(VBef#tDfp317e)ccCPe1yW7wJ?l5olW3Ml}OJW6n)EaZNa- z%@{j>OFLj*k9h-NyW5_{bgaWstsD9YJC#x>)Yyi!VZxXw^mX?3Tl9k0-k~DKJhonw z)FOsYV(x?x#H}_cUpX-WuuRKi%BG`0AjBZsa>{xgQqN{P))mdP5)wK>w*C6jKqX_m z!aA#%TqEYu2Elj}8%)@k%vcXI`Xt&DQcpGcosD}H&^>PeEuhYf=Lh+mUiApa=*Mx3 z9kGrOsNmO>gAO;}ZGQ4t&@69&A}wg@E`+~~1kLQ6@aW1Or7$5Y>&l3(bscf6-*(SJ zP{~J;a_0eb3N5q!IBvIGC(I)n!X4hFE@NPgILSJVP|V33x=fcs?aDhvZ7!GD`GEkb z>252z++C-ZcbWkK#MH@Tnja94-oIr)ModK?Ij3cn~O_4h*d#Sj7}69)LVW6jRd5i8ZA%sn_pm=A9+4ln!`(w8w(X z?V(QzIRzX&{jdWL=&5i(W7=UGct>5~0Q~)Hj3c6I&4}hxpaF`5sKW;;jrM95b1T+7 zK#IPGfwY-~p+X3>El{Jfa~E~g1pF3??b0&QT}O*-Z)sWg-18-E>~2U)J$3f86CB|H zTLp?Yn$bqLzmKyKSEP=bw$`>a>6G!P=(o^Wq>@st63%I9c}4y=_+l*b+;toL>q+Zt zX?IDm=>d`Psc55ZRavL&h(YFA#{5V=*?!EGA#Izmk@1+133wrd#T@huqTg++DdSz+ zNbvGl4-YiMkss{u$@Ne8*7dQEe^MX*oj=gS+gF&ot(27i)eyInPAI>&E^Cd8k+yfn zTAp0dXMgnkmKwB|Ua=OJi&^BtZT9doSq+e&%=d@BZLZ+CAKpgVF)te71HE zwa@9yCzAsL^bX(4c7c5YRz+Wy`h_C>_0xZWxb?4qCx?7n8*0MlZOo=%LXh#PwxK_v z$HwFIO*(tWUHZ;%{(AkZ?|Zl2_1qiS;7Bd}mcGwCCfIY#+As`x<$1u#Z$x_z59o*I z0>S0h^`6RJAu-2ilacm!ceMSbFX+lAe_w&|y!};o^5#X%fz~Bt-GR17KS-sZz?cL* zbx}R?lwsbDd23VBJ1omwZa8VpwAqYxo}F2#ptZoK01BTd2aI*0K>?K@x95Ii()@Uu`exeNeNwSkDPOKQBi+NbcKEUMNREn+@CDyRm@lHYqJ7F2 z#B0fAnJggXGLnuv_^Zpv7j-&8r4wn9*EKG)Ivrh_>oj8_pV1>_Xv+ke{}gR58N}yX z%`eNq#}CZ&;BJ3chf{-@Ikh|)#CW3HPiVOeDYcrSoHu5g(*-zdJqF7x$a6(7O@A7# z%a{jr*{8{wXx?#f1D%I=RF7%okIFi4fOh<@;z$R>dvcpRhM^H-8JPSn{R)aG?BT$p z#3E=IhE}~8)gyY~Gjc#%uS;!&sr&zl9uDi*XI;uI(2a)v{khffGn;0~@qlj&4GjSX=WQ_3yzTIbBE zbuIJmzK4VDl|A{Ck~jrSahR3sqaAkOAp}JnK!De0r{7y$R&RL;$Iw%MFvw|kL^!Vy zgAi9tQHlQKOprk_&jM5B(>Y~Ydzb{r(D}s3M$G%DMc07Y`{)@ zd1Xl_PVl{MWf?AG!h}ocO);s)5st83LmCr##y(~{26&A`iG-ZnR+gpu{Za$$zP!4o z5P~M-vBm_8mhv8lnz3G9S=G|Y3LAl1Oc%99Pp8*b^~M+6s&9MKEA^h&yhzvIw91%E zRh+6fNLu1`sy8_0`b0{#whyQJt&cpQKlr_m=YMu;$fje;yqJ)Bti18~0zvPu{qBSM z8^3k89^2T_AwguD*Nz+8d)nOH*CuoEBCi=QZ*H@BnCZk?k2(W$CMuTFsWT@S!d6p) z@00*DBLMrvHlaV`gFTJ;zBW17)eOE@Re9pHp7HEE^kaYg8}&Ee`wHE>I$#sSDA4x` z$nE1h*%+Acc4Ii1u}P~4R*lxnpj*zYXo*b?CFJ_{hlhIfBfqH!f9F?tg}SA+TW-)` zdBFTaf-w@S#}H%0){F$>!VMy>FqcCHX|>FkF(=*<$7!1nS!X+JV9%wA#-Y~fwx_^2 zuJ-zjU#S>ko@+DKx!bur+}HV?O-(r=kL#(%1hpCKqru*RwhTSae2X8A&gsjp5S~uD zDm!PgUgpTtpXi%O4_e7$D4`WhU{Ue8cBoBGG>15z2@`h8La+^kq#773_a#B9;UTKAe7-tEu+|$epmRCI9#ZGbDHI62-SbTEn5j;>M1@u9;jJN{&5;DD_)N+47 z`+6$NLcM-ZDMryFHPlxY1@uw@nsqnmiO5BqsnB6PH9=`su~4T3dQN6}=k0n~&~~sc z=b&8UoO7^c(b{3pSe(QxP3ZRwo?%ST7`Z>R)dpDJELCh2QYA&41Ln!6h$%W|I4!$) z`2sP|sOYTQCFJX%EPsG~5BL@_qfH*ATCJXO+YNg4SG`PM{k3n92)K4C{XX>-iEI*T z2%Z()L`h2%u{j+*PGw}CVlnWzgFM)^>0xs&+2pMX8O{`1V`(6*lL2e9s?8Ras|v7 zgpXd_*I)Vl2lan`_6dFQ!dCv4c6n=0TRZ#O**#!0IMj>{fdf{}I-26Fi$wd1NI)LZ z=2k6pFVCy-A>ZaEs(3Ro-rLq>e;0hLCI=@5oq4&mc1Ewg>rVZhZ+oNO@to_Ggmq{~ z1x&E%bg?;_Ft3(q=9g+M6C~cQVvILA_?aHjH(ZQ)VsgkJxIT%|ZozG=9QGl`rN_ zPLav!(IXsT8R_JlIgUI36@dkC#5;~35$6c~o+DR3uP(F5U)3}QKK{FcfZpkyKzDP>wfu-~NobLlJWv<`6U6Bc&^eYxmqh+~@JJdpYS7)N=oN}ZME@+8uW_J;DQ(-jvXTEI#_i1=&G=qa;jE_Y zu3KzlTT}!tP>GBK+mP=^TR65U{Tp$*bZX~gzE}_~P}YT(uJlzN^w>N^>^%p|)HoN* zlhC%77Sb*H?8VTw}MnQY~2RVo=b87AP`zp#p1;Ia|FENIQD59q%u=m(y#~2kt$UqZlkW^BCuisOz zSIA|8Ak$~tV9JTXGzt(988bR#9p-ti6e+5t&V-Jbbt~&Z12=ti5W&`me50Fi0u@d% z7JUua=!na0zzkaA^qlLDjcyuD^^BE?RJw_~tfb<1o`9 zn;~!9P@@?^Zpw+NX0H3E{jat9CiJw{D|KRN zkmrzJsfQ3Wq7Mg*=>dJ;C!l%FqfC+7r@T$@ymvk@9}Za8_BX@fIYri`d{JLc{5TE^ z`Vr}P-Z*t1@s8t1#H*3;6v6TxWGWrbsUOGWobAB!9q#(E-#m-_ao#oYPJfqDW?q;l zG;WY%_naRyWsYYwKNiA^#N(XF*xR>`+9fWRH5>^qXvg!Aj&933bBv$+YTDJ%$#iMQ zci!N<^%;zJVBXa<^GtVYFyCOjgJb;N`U{HwS0)rmgA$!i7~VhnXxkwCl7w@yiav{~ zp9-azG$LTx^Y%he8IpR)_JJM_;ULVkkIo?hZIy|RYI!jify6UR;jIvGZtc_n#JoM8_Wn``|Q{!I8N)Sailf7RS(*P*A;%Qqd(31|l`=_71 zvPXbhmD_HW4W|X$(@=AwYH^YghWijgAda>`gT_`<0(1zpH72=TW4_z$^SaHy?wjDO z?075B1*2?ANRSyHj5N)s{8rKbG}Xy7 zimNBHyaubvuzXVGnVa>NZ~9jK%fJ1X^ecb%>-F6)xK3+D$U&`DKxYt#644ALiFQhl z4`=$V3;X(oFKz0>k8SII0^4Jkx3s-?paTNvWnMu(asHxq_x3ergEZnaHp98s^r^x2 z72l5>;M_-H<(i08A?F|$*jyNI2v+{@WT;YK|N6W155DW`bQ>F#h6z$(9|yFEKK~7a z0-@zHX8Sa}&SUTtQzEIL%^1U}#srMzTb`llabR3LHmMYzRMuuRLDukb)7bDSD- zhR1Q7EPCg4QBTHAGdORsyumc52GgB)>b&u5f%%5xJj-`ry7>mvy1dh?!F+>d4aO}) zTBoTFhxaOSyka`5h;acyeLE(mQjJq@SwLQlMTqJllVa4NKX&8T3uFq6n&1_RD%&VK zs;xNF47~&N9QgEuky;?cAW=qK)4Ecdf)W9!W_47(pb4iTh-we|y7>4A2Qd{*U>95I zkf3)s9BFTlz(<(|2Uz3edN|BpS+E-|)n8dwk6nF_lSoX78mX0ftfVBUmB@w=6sT8f zaQcV3@Z?3E19tcJvIEK|K1%wB5o4TD2qM?YHgJ9Zk;Ng7eTuDRYBwzPgPM%(W=&`s*64Q-$emZwipLhz_b zDKZM+ANu%x`sttf6@B(I_vh2ub=TiWJrSo?6A&8tmEep3HDRY-vq6ZAW5d|ac*Q#9 z73K)1*V@t0su`zH%cSHsH|VH1QB0|o`f!SYI^DmBj)1)FUzSN?(R#d=3APQo8uT;O z6jM}DmYm8;1rT*C`bn!AOXv~h0&^hn zD(}iiKBStqRrJjce8z?)psze}N^$Lki0VS2#M}{bDw4EzQd%dl-STX`^j+Vmzx!vu zLqGeSuhe^QTj3QNRVq;N+|CVk=PVT8d+7gz%ZK_!0^4stxS>x!c1aIixU7qtyV~WA zgHIj)D;)kii$0M|2wI23eT{g%Hev2mw7cQt)3Wiau|vgNtEU8FGZ1#U%gWV^Bu5One8m zfRqE;lAQrVFMpq8>T-rW}jF4lw&d3`g%2~$=6<=xWCs!~xZ z2I0I}QaH65N9`XG_!nw1QeV-_GEyu50&Oyyu;6Fe$=bIyILBVE)bdhaJqRUG;H0UV zB5huGSj)}lMmHtSR@2waU?^!LhAi2$QO`>{!{R}gG^>SLR- z*8?xIt`MV&vY?gXHCu%%lLEG=XfJ9+7gW>GF+tP;H9K-_7!*_!#2wHMIoZxQ5l?wF zRbks2e&v9QJ#ra%Es82^Ud=`d!);FTmFScL_6Rue{m=Y?4$hxfqTLPiVlp~ZT3S=N zc2bEGSxb9_9uYJ|P!V%2g%p7?dv$;T~=MIIkoB!vkCT;Qg2M;Dv2n+1X>>?rM|M{vNMUcR8)?5#$az!TA@n zBQ|FK{#vowYp}zV_V}bWV@`Q)=b%h`4-Q7!-rCXT#)ekeB>cn=yiXr^&7CS(L#s5z zC$t`Inb3v_CuRq;2AyJD0^?V4QWmZDH{qC)=!*OZA;@hvJ_jlI5A+s!mocS^&=9a9>`VEWLg^)R#U#*;LbLJ^4=WOQ8F@euz^z`ePE=;}xWRezJ21_-(+)bBE`N1uen;!dIz3MB_}8Lci`U6nPX`_Cn0#H# zv^V+!l#nNOlt`muh$@-*C4p;D;HY5ub(mF!5D0WhWeh4X`hZ5U=;Lll#_BJi}DFWgEoCLE$P!NKm^R}o0PNVhID1ht_q zUfNP3Sl9^*PuU{poxPo3i)Nv@!nyg?&XkjezgM(4#+Z_PVk>ZTLe8&qEJs&x_BgA4 zA=Kv6-2l8tQ0fl~`E{OyQ$b%7Ks1`Sl~-O9PLW=CZci+tX0|~QRN&a@h$hpZA#1YP zh*%;>be`s_cDn&6^3~D^ZnJR`*uo1O!5XH2{Lv!lwb7_mg>#<)6Z&+>4t|Iuw!Rs> z7W<#N;k0gf=51O!bxKtT@`i=|*kGU#BJ!0g9P4;8 z&97f=+m?2??~(q;loUt#$s&L{%PP=0Ql4T3}U_B`&f@oif*QY&?B|%HrfR9sZ_X!|(e^$NaC2U;j z(Eol~$k_k@5CBO;K~x&WlvzQY4eel>s@~sIy|tx!du5Wwy*XXam=SBJpFFmQ(o=m*rq_Nf~yXmMH5={(%*iJ}WY`8vr@jyTG zg^T*tyPwp3=Qecy%C;_D+0pjyq5RK1?GxPgIHB$A?`v;&PY!NV=G2T}?SM8K9>}kB zH~1#!Q{LXezC2$KNq2X)a_v9(?eEgx|DJd0_LD1GqL1rkpe-U^*Q%HwQ%i zAu-9Purc4n9Lx?`3uD?)F_>sqNgXBSBlCCOzw+<6m@@(bBams>W+1aAEy%xNJw zXKDxYyeQ8tUoA+dH>Z>_&Ah9@d}}a>x@>3Dw7BN z#2oLQrnziRjdYAfYP!*mb#>mnt7%^;Z`tF}$(eRszv+gKX1>8RgK>lTh7Lc@GmZTA z^d7ahU@#rKCW)5TXW5a^nZ>RNK6QnN~qfsCDU) znYJ&Cwa@pe5j)&nzZ%2|cxPw);-yR4-QLE(O(eGky$)ijDCN3MYj9XI+EbB+AVoS{ zlu2b-$bqP!uRZdKK9xm;FL){Qn5S|;!E6eY^W>WlJjXcIiUlk#Vv+oVkiDHsn_ryZ zJdyTIRHEBB+7=y+@Zov-`5Qw}kkD5{nW4vaww-L_7MkmA)$pg4X*GidmhC-cXFF>v zcFwgzlpf(5&j0nZzpT%F_@mk#){I|?vmD_x_j%QbU4mR2r?gU2f`(y2V6+2ls5`)o zj6-5PtgxZc4q84zjTnm|uU7q!HcuxrSuP+et_i1thK4rSeXgrfiizM;kOqOuV-Nyk ziCil&?xjlXed5Hb*4J0HwzjG>XHMsn@#^X_`8BPrpFl^6v>3j|4~1OEOndvo9H8W& zhx4vBE^7PoWzCqU`@EJu;M-ZttM7@wxdNlz4UGw4Q{-m^jA}Gg!~AJUW$>wuO$w1i zLI(|0aovr&@kOuEYv1xNeb;;5svmmW9s0pLPv~pTmb$qN^r@zbt=e+b5vy@|t>MXGa$)JcOW>qV_e>Hm@76BbdD) zuIUzn;~*BAvaxXhJK(kH0rSYdprPFb`UeXrC?7(gFHtF`oCYb^(K1dKvCR}~HUu-b zvkH}_vkMBrQo8096hzZASRnY3;pv!VOfi`4JflWw9hEgrQ0DYbuc_e7*%0QXO)-ee zvc?T$k8}m}C{n8;sAPg{yqEJUiW%(NWz{(Z^GPKQSOUhz%%+GbB&D zuSK(V3!x~t*fIvwI_PAs&L5ZSWI9@x@5*#($M4dP-le7+zEb&4&U}OOU21#*(>T)h z@NS$WM#o981~jv$#X6Bm=n2?M1&%ao3e(Pa#v+>n74iuq4{&^aMPypOX4C@FTG7|Z z9t)mVJU(3w%2EyTHTG+pRvv`flb%;14FPgiO*CaU=fV}=BU+pZVzfotnN%7fx4kuE z)4Zf79vJKK2M$=IyV~L##Wt^Wb_i@2apdRE%WJ7BEa43+y%t^Gk? z=7HioDpibALtT+JF8RkbfbErvLIq=8P;bdb!L$iMY>K0#Y64_Wi8&Ji%hk-6G5iVq zA*b^h<7k?p;s{WUTTZMMy)*f6EYFf~Uo!&s9`O&6 zHn#~v+uG;kHm#--_UZSc`b7e-6;aspMvHVd+EI(l>iQ|Y;hpc)d;ip*)N^0|CQbUw z+G69e%{S)rS2p#?d4lEczNXmwkN`Qn__)@tTV{QrlCk#K(@Zj8Aahbn7XtMG^eu=q z1nmc2%@cf{t>t_&>z6%M=pC_c9LPqtFKyW;+QuGDrKddl5k^hask;u&Nr&aS*C?!$^y&)T_j-hyURb7 zK84LCjy-9I*Wgo>d9Cy3oZ8{8-O%ODwPw?d8|HaqPl0J6_h3#7B&LbFLGx`|K*qYF zDKUtTr#Rm%X$k<1r!A3_Yd$PvF!Oj>=dT5py;|<-yvte6sloVh8RtzuPV4d=&-o5I zn&msZ<2mhUq?ae3Q^Vq|nS_Rlv|$=FHXfET?w!^F0mTlx!r4xltP>Ww^C1K+6@^w) zsil~3$Sn@hc5QUs5<5WTnZ-Ei23`PY0E@iB`v#n2!XXm_R3jH~pcM;0GB^`n*))ij zWz?XTv`76FC+m%kU1S?=o}cLPFCA+CV5&V9ZDl3M2g=$>*+GU7KTE8n43$ArDT6v#fyO1E_ul`ce&(P4JN?n`e@55cc!RDxdxl;6l3cI* zQPbWKgChN0Sy@uAUuwn)b4&nesmsBrWK0|E=6W5(T{b94)Sp4hKPPY7pb|S;7pQ9H z&y;{L=9^?g`!gL`DJu8bIDKi5D{;^c&Ow2;6pATkoihU41n^J2nI=+5T4J0q43a_O zG*Fa%mAxgLU8UW%>$G+5aUDGVpthfUTu)ru)E3Tr7l*z-8uHqACXergS9L8$bg*$- zom!XsSrd3$`fk3ky_gFkPzWcDal|5_?pFP^b)CBPnR?zUUZ*#|{p>HMrO9Ndz4MRixOb!%LKD2Yi1ui?K59SZH;WpcfFuK<2GQP_0a2bF-8=*E&xN5Q-q&V%ymte zgHQ5?1(GO&P?OW0gGUwpp%4m9$ad_~Hs`E%j?L$(^9XZWjzltIP~gv;KgX2w;tIf5 zzT3InLTHg7-U4%d8R0RffGqB-^Cmx4-nlP_d2gOhf4ZJP&s*9QSXr81-XZv;HqY^F z0pDG1U259Z(8+f6Yss2+wOl7}y7|ZR$MKG5xsHB3?dV;4oOc|*7Joq-hHdQ~eo-xx z-T|dz;Z)#;DGq0ZQ#l}zY_oIq_puo~f9$Q0n=yH(I7U#V7}YNd4MLG8=svH%s?hSz zJmJJ7|I;>8CVB;(5m1do3ru1=$_6^cRq!aG#h4U;vM80rM4=8Zm=R9q5Jx#<5l{V& zo&{PBlg@u>q@9fs@7hParW)wR>rQETxv%Bbfy#cN#KI3LO5E;tNVLg~rXejW$0vZv zXi8u_z=u_wWR_Hxg;;L{rDTgvMZX$|22jxyg+K#C5N42qRH4@=7N<3KZ-5$FR)Cyo zAq3emS3G9ullz0kzv@k|($~EAZMxyv&(vTrkOS}xJ61TJF|P@0_dgI|DC2)JX=i&E zCpSNBx`hcF1$6a!ZG{LsXZj;9+SNiZh(=n@@)7$wC`Q_2y2~bL=7}rC$my*RMKmU8 zx_Y1ToKDyrSYOTfPH5W{Cq7}ELx@T#QLZGI^oGY>IoDgPLy(2z0kYvZ_nTGQKJ zq@9aTYWvcY+T=ClBbn?wQtb7-~MKO(;Hu{_rLCi`o=rX>aEu= z=~+vW6N;!as>L<|{ZW2O=SG!&`QaV?>b+O=*w(&w4~Lq06UR7T{p~hu}Ik_1#NFxLpAN%!Q20u|CrOwWb29)5>P1ccI2j)zE012YflIK6)cS{gJ z+RvvTJcT}ucO<_++$*CYuyz)bIWOnuN{)0PGpEd(YdN>aG~>rp<5xonN1Co?<(fnI z%KWDn_;NY-!!k~zkq%0%+ylCNPOsJ4PN#W>EO_kkU!!$pEpFUkyere?P3xfJIdA-0 zGUi=PKb}91Th?G2;E8(a;A8R*bVl%+G9jm&F2b8Dm3(u&8&@qTpb4NgFuvM<0Dm z4K@>3MPXaLMW5~2(wG^JQqT*W`sxa=BzdjaFH80NeXEg>ZQ@&QEr>-tf0@(Kc&w!Ock<`I(j|oUs;p;RiC_G!)LurSH=w+lAsN~Kb_y)(RofM z=Pq5=<*h9?ExdAL!pu0KG|ZuvIo+aLF^S65(!K_|?aoMHo(A29S`C}AOry+PBtarchReIkWUaSwi{5E~VGf(Kw6Q%m}rw%dKA+89x zo-b^V^^5mz=+ozRw8d#ZAhXi%DI(ypR*;G^Dd3|pyLvqW6;Y#N?DuxIc|$ryXG8mH z@S*lDotJ}J%lL(&C%5zT+3WPq@Az)raNDyrpC{4|_LzRp!icDpZm$uur7%EhVxZ(m+i`OpFzJ0&|7A zvrRC>c=nFZjMQP;fGSLL~aKE6gd^;)Psz&OiPPf%QqBj?>y>+B;ocTaU~Ae}i9D zMJ}4#ME%Zm`ZLXhuK@G5g$1`upUTDsdX)6}o|c#-M}%u3T`#Z2`>)Zisy~Z%x;kE$ z&&*?wj^B~4&Uf_VsdX7l>r&$emtW9!+jH6p|Vps%OHG~$K3I#O<9gtciBDS&}4|x?fWIXoy?zqFI!((EHQe#8^ zcPV=~@m0Q|?D86`~Oyx1o$};eb>Wg+d5QG2yIB z`IndqQlbtlN>H3pSIG2!QOehplaj}=!3K%B5qrz3N zZBA>KIe}gwxcTpJ?GpsXd~cl&57gj@8-ip#9jf8fZ+#78Y8yA$#CXm8X|QX9ovP_b zer;V*zhCuD*%ZwPYL(|1^Ud>lg|`E@Tz^I{x#L-S`)gjNZ~5xG^j)uhjy~{$vwFeF zK7lHzroZ9}bTp7&VUGX$BRl%dFKy_Njf1>_TkiF>Jm}{WYFQSF^xbnplu0qMk(y=O zG|Zujw$Er&%Q_YL@%9x}1c#RXF`TMs+iZJNuYJ>3>#ok{ZJ2*{n z`aW$PvN-bla2EPLjTkkUotFWHT1>-u_HaK0GFv%``m-1aPrnX^;YG zi_;>{1Zrvj!tAm==(bwKyr}T&n)6!9cwiPOsBJZuM;B7IVF*EGN&t=nJ9{^bInmpw zcD+G*$;2HJsG+-VTMIpDP_LyhhL}N~^731z-<4p*9?nA`>4T>h{@8!A@brxDbvBs&dhmKY= z%H*I*I|};I&<^Vz@rtivURg(^kNtj6CH3~oGCTBwai5GwdX#elv6CqwtEk5iv0 z#6oMlc2uCgv(M0rzWGn+Yya|3>iUfIbf4B6?SUfBEUT z-7-f91lwoce1qP=sqLFy|1$mH8}1;mU8kD{rJ4}sO_^e5tr-87!H6kh(~|y1g}^)$B_kUP%2v5O6Gh9#pk{I)O%BC}HH8q=V(a0R zE4t~XoAk0bzEv1fd%HWj?)Fpa4U&+MFPcSd^ff=lvlZ%LAwgqj*oE2&x{d5FD*9Qp zfftZb{+7O6B>8n?K^t6UqRHPe1#AcLdf`tdAG*~T28Y3mp^EjiIjEnGzjw?y_h4%pNsmBNDJAc{6g(f{{IKW>)clS@}hI)U)HYN zrbR=p)t@g@)Y?Q}Miujb-G$x4f@j6n>w29o$VbVwXh%$t|95;u@@@S_j;CE&(~LVk zE@Rwur-qJi+;l^SJMH+U1AFy(4M!K`g;L{$JmF@{Jnys|oW=yMA+K0`3NVauHWMc9 zgus+jJ2zkq%^!h1v4<>lI}bbA0~{Xno^f==7`$bQ+MY~Nh^(dPgvFUuQx{E=15AU? zHZ;OJE3!~$yvp+;t|sV-iPKrDgp=r(ypm!6*0OlUw13P=&^z!M3#-+VKK0Sd`Y*ro zpuU7-c#Hsb?#WBKvazKtoSK7Kq8y@f5Vq5}!0!FA^P4)qv8&6w|1akL1X!~qyYIvP znR)O1zV9vdYOm^jpYECN*=H~tNCF_%A!w2yKoSHALLeuWPyo07-{^>zOikty-iTt);{0XZf)+DZ!%kZW9{(edsngygSwoaOjFmDnx>M2 zRb3~UWrvNxSWd@m9-LxEB`6;7-N>goDJX`>)8l5Wwnc)*-rlZuw>LE*AYlO-jaHTD zBhhb2p#&J)NynJ{yK8d-?(X(Y9Qm%s`dNMhuCr0O#%t#5oX&6F zxufl^+d3qeO?eGD-rLq8<>~&O#^5IVyP9&MH%|u(|9)6YaO{vRGZQTvzZTnVSsR_p zq%$1z-rm0M5IFZa0r{_cbOglH==cD=KtjKX2OrSyf8V?GL*MaX{YT&SPJR5*^V&dH zJxVI`E-3>0(Erl49sQ%{uj%K%bWLByE^i?J&i+K+NVVwGYb%@DZBa}|-&158vtjee zv71lSa+;hT?r1(aP)iy0DlmsrPHLytPw8#n@GK#fv4J8-xl2BP zG-Q(ycsq4${vCi@#+@J>rdUp8>&*Fxx$*p%xHRVxTmaxwo*@MK3bYKGdgDAEYm<$| z&HZg~l4GHPj%DA(5ZScO6#82VArzY5^hi6ImTOAr2ua$(Z8c6BTq7Rxe%RroW#-gM9m`mX7%^d-CK4`EAnL9 zlX=(wPGEY2>6R(^YS8KYW7|6Y+_qk-ew#qjVJx^`oNUJ;wX^G-XWT8R4R*%jX{l>D zG1+)$qy`7L2~K2Ipx2ai%A!g|_Mi?PHHMv0WRKC$^1RS=1icB4P{uX%^7;CMrZ>SlK6k{R?PWVnVm-RNs@tejcqZC9Stu+`8 zH9+RgpZp(m>mU6c4PW}CPW3yw$!6p?U)$1ezIsbvdi920yLMAI+2C9!sNJ}IOPhCY zYi9?#Yp-jYZ&158uajQW?k#L-Ym0-4#1!^3UH(Q6)3T0J$>-+lA0+kA0A6%3L}hC?sec z%zP?aAviZilyq z9AGoigV*xP%GkNrfj52%yIRPztp8o4mfK{@6d7Dp5v1f!JWh0eOi%R*G^MY--;CGE zHg8ss{uI8Jl?w7?W4*<7xA7YS+Fdm5;N$)FfNyG)?zvA;9t(Jcquo8kcZ)|P1+kt{SPZFiaN-0tC1sgtjGo5i57cR&pf!jUujpE}I6XTi z(LRJqA=YG*<``!hRP3y?swN?6z&Ul)2emkWNU)l6x=Sf8Xh`S08mpV2DId%m>N^&4 z^a4RBJCLC&jd{(r&w`#Ki+^nWkk>DpJ4ja7nvS!^x1(P9%)Vay?5;ljTQ~H{PhZim zefAZ7;>!fBmv8IKH}>?!n+N*zwSE2St9$y%7q|64@uB|j|MoTg{ZC)hPw^V)OILY) zbC9$a2W2cmUqJ!A1av9n?@K^wi8vkOTr514$i2|Dpvyw#q8dq6#%|}FG42qg5d2us z(M$|eu5)UhGn}|#4wDJ_ea6}0pk^T}1@u`3{pJ^6&_DTSKdmo({)-yc4FOmXY=#wpImwv@7BkjysQUL z546ci@8`aBRsZlezM`M`?HBZAHZ3o+v3dF04PEC{waE$R4gqX)Yg7L7QrE9u(=CGA zZGzl3>EX^cfo;NxXNq1Y=xQqeK+&D8UF{!CHRjdylrdP33kRH$t7bxbMG43nFee*p zr}X$k59+%=_HO-$AOC=U=($Jq;7S99cxw`{jQ}mpvUKfWrcb=Oqo4osb$#NiSM*ih zHoSKICT|<|nAe%C?;Hbq3371VXPs>C>=B^%%I~pF*l6_Vw&fd}gPLJ_u&thx=yM5q$?q5g`hEj+V9GPCxM`rdF{}~ zPBUN(q?9o3MpK-djj)4mZf6xFHe;ewMLNwGF&XvjDiZ+;e_R%2jI|Q=Atudmh6xAR zh(3Lw|dj0kuuMrQmwcBcT zSgGF~>GbTJ);CY<%=Rgr-PzDN($hPu+SnUu<8Y|6vqtx~Lp{=s^k^RGK8NDmc{2`XSD6=9>PqtddM!lj0gO|{y{lqj0rMRP8jp~lt9AijJ`rB z4Am0Qg~OY1Qi|0rp1Yt+k36n-z4IOVmiNCy-}v;ydhY%WJ#e}~ zlvba8{igogUwU4D{}-Rv&wl!4eV*X<>a|;X2&KR^RuQW-u2ERn>UkzeitBe zK#-@DSq%ySP$=u$_8Q4oii+SdzhYB8w%M_9>98T&2(7up0-)>3b&TKN-w&blhOGP* zegc~F9dl{78|g99EMwa;b2>EsaPJPAmjsui8~jo3O_H~&gz=kDzcuQJ59>#aS-wi% znWH*q-wJ*gBwyQf*=U(UaU!dw99mp)k-Ww8XuJcQb~+XuS~E0|Mc;njg`+li5#)|> zN10_?s(w%R$#y66CzuR3W_s{FxAfjW{$+i`pLt$SeC(<=?%$Vx)b|9LCbOUy`K}aE zNCN5*%150)9_2|pa z*2Ww{RK=q7PY6zNRx<)w^sx`4l?|1=cjNV-W}z`KzS&K1Om*#cm4bXFA)@B9PR92v z0{kk?vl=BO=4jH*G-B5~=Y)5F)40iZnJsXAljZMv8aBFlFwrJ$U*Fl+Yr6+}eftpH zT=)W2VU_-CU1~P;XtS|M4FjdMApSGNh!Sxu(vX^qNNp_|0XD1@jK zqavwDGtkrLBTqf1jf>|s=k-rOucuF)h9=1WELDroIcQ%vZwSBvwhn}O=VK#|i< zsvCts3p`4n^D&KOi7BckI1b<)X&<3WDQPfhefqulb^u{cNc+M|yYYaDCfJ6xv*IYWr5YH%SGM=j=kcI7MDeDU*I zSzpI4=$AGg&&rt#dg!4?_1(cp@+_lbaB1bgh2V5FJ05$`{gg_ z@BHlN^*?>$E9E5g5&^?O?Anc+x_09hulsK6i?6<}&%gAl{KG># zUysaw<#@npa7v)*IB^O&d&U(RUrf_(0EW8%RHH!(=rHKU!CarbvZqhKc1K^ia!aq=xLtmc+^0kbvQCmuI-A(} zHNQr`en+qKYW)`94G#|v)Nwk_*vf?OgtMJ3U3la%U3%;hr6ak50vt}<$nH`wK1g%g z_86;eGGNahM-QSSn6+$>=D=cprO0?wjI=D21kPSl^l*p_2knec12Z}AZ|^O7D?Ww( z5*=oE8(8ABH?N=$yI381gb@5I-w1zi+i(Iw|0ha!v!z*i2+{81k8>xP93#oR6`rax zGN()UI<(8GB7z@FgcO&}^>s2H*N9hYPTxQlj!MhaMe{c}zl7s5nUhT1&ak9=tMqrE zS-&{eV;{bz_kG`&^bLRdc|HD-D_XzEk-YGu&yp@53ua&b(k}1QCrUBM!OYO0)CTz) z)MD@t8LXzHHG`jbhRY<#o!Zl!VLBDxSE;*$im^-0B52RmDQ;7jqq?j-%I% z-E@^A0V8WTsFdef0p6@-e9(fnXE&a3d>MnTn+BSWg&-wK4#=7BVW~Ec1wGv&eDgD;3 zeFA6OY8R(CvTIObNcV9c( zJG@?-X-0X@oO)h692hDc~CR4BpU$okU0S4_+_ z^4HWQf|P#|+~8AUN|h?=6G67ZHda?FX zg6rt?Y5Bj;dB@|A=>yL^t`9x)h~EFiWxf01^LqC~XZ7s;r}P8?WOb1B+MON!#AjdA z-~8Dx>i_l&U(~<&+$(%by`oon{dkk_Zm;sn@A(&A)oV95W!>98YUCc#&-&U(XHKul z`HcRor+rSEEp``U5KBx-XoS4w3!K1u^eN_H$oPC>`-XQusXzAzKcFA}=J)9%Pd%Uu z8!KAj)V4Mn==7-3`ITBev27lB@VvcV4HRJxF97sD1%KZHUP`kXX*rNXC z?JeEBbw^vA*es8K?P2fwRct}J`1VJ2`CShnSeCEId^lz5e2Youj)>Xokd5Pv^)|!i z=k(K(y1$Y#W;abC%6hRav2^6m0CUk8uNak9Lm zIjUMF$LPDXaap&RElPLmtk(sA_IMrC$lkq|w9E8v%_4W);i9;Bo*+JvUDWY>vo`n8 z*}1P1#2)|X)p82+Y3!l*-q70l2@HJS%j9dzU-{e(CHN-DD<-yPfDOiHD0vKO2#jzd z!SJdg(iuK>AF^l<+9{`&UN%%aT$+`@Rq<`Z zKQ5l?N|^>&LU zpW|*We*{l3jsT(|C+5Kzj`Q%#22Q6=t@R9T4`nvq0I}s_h01+)%6I=!htQPaO9Ssx z72KP(kg4j`p)0rV(H2>pP>;{f^b*w4-nlt-Km6x^K!5(<`Lp__KlH6Q@Qb{jS=GvD zsEFPIf@K`X0Vi008w+k7q``2gfDT)nOM_1Bj1&6uiLL~vETxK5G!k~u_#_%aP)bpv z&z``9FvywJqZfZa^DE3T{mik65Q2Kzb%`@5gew>EW}hy0kXXkbY;px}VK@wQTNs0!2p88C&*x_Nk5q zr}1Q_L-_BPIcYWZcPsLDu3gn^pEo&dPT%`IA5&~n8H0{4rv4}=dGqF=w2xkA7~z~g z47Lf^fm+N(Ta|FB)9*ru%!2KKbWv;8K!+@}QLN-wkd0}psLQLT^wjC|@_+MiNU*Sx zR?xzx7-A96vVg;;WvA2f+Rx6jV}Vz7%_5&E!mnqsr<62fmmfo9akhmXPpFszzKPHj zU{;jgffKv6nfy~(EsJH!BI|Jy6C6fUB~4f~mb*iUE=Tp8w8!9D1li<71~+Z7)3+=W z+V|kcqz8FMuqeR1u6Kw9#|Ryg6van4};zgIYE7;L|~k{ySa+jXBY^1oR4ip0m1X z3XSQiDk;*pxOxOJgb>PW$RV$GUGD&C@TUGATCX{^?W^ zo@p@B0GnMucTwjqUDo{%J*-CwZf|?+alPl6r}crizfHgY-OuO`|Nal^Pkie~^_Tw0 zx9Q*izHit6=6kjga-?H|~ zsW+kHx~b)KFc_4-jB;vyRT2E0Ks&c==-JLbL03bg5NW@w-R(Vzz*L2x(V*6;wUHja z@4Pnb6D?`?2)M`^{ zm9}exN*gN!tx&F$&}c@x=n=c}sr}$^QhuPt0j($Ct(`xkN8bO0P-~eguMyk%$?~+U z5jJ^P>>T5qW0NeA!nb0M>KIEkHMIzNtZ=+h+~Gco=I)J#u8w0ra1a}?Fh+I7cce-eR@StEgV@LE&*3@8 zVC`%pJcLXc-r{O8-kLV7gQD6@9X78NldQiKQlShOb7rB%7)95#45}i-r8bfJl}3tD z9XruLni-QFe5TU_qtBK4*Aw5@Kc;+ zq<=41_XR7?Y~x`O3W3 zoNA8a4sx|N3=(m7w)twT>EEYapMstD9CYa0vR8Gb^^G;1J9}C)HVFrOck|!ZbUYYGGB#F>5yiV))(@MD!_cX99e8gV2TjzV zP8!t>8=p$nbB8@lu%!~nNaxIdhNp5+l*(J8Dh8z>Ajo;9Qp&=TvwCD9E0+r%LYm6@ zs|R!JCFo7B(&$ZVzCNYx*SIADmYW6`8K37a;Wop!IPsU;Q#9V$SB)l(PMa^kCEQja5OX%IqC&tht-s1{tJ zA1}TT=!ez8=xCZ1;o{w=kbl80!@d_J)C6RcI>yjpRNU&x8!|F@VP?vihM5LrRd^v- z2d)QaJXvy*%N;U#huOod(9^i^ppENY=e8X!OyjmnqC^fF_i23F<`RS)AVLVGo}|e8 z(36j8kKppsD=!hmdR@MBpK4Ap3H=NPjhqT%%NkQEZKnh&zkW)oQcO+3)eR}$V?3Q` z&dIrDeqxN&;}CJoJ$kl0N76~iH|J#B67EWHRh3eVrCC)qs&RlJ z1m>=l17VM1GQ0=89vmLMicGYrc_q3=0E#K8BcQhguL%x#PH>+1w8NYnjwf1s^liGq z3FnT3+Wwvnw>LG}-O`M2gdMWkM$DfnK<1zjlLEFJ8E;_x3rMA|V}sKXi0A0Q!6&dy zdE}9Y_1)k6QT@<&eUtv!H@rjNLSVbRTI>1SWBu&QJNnesZN6#k>N?-FZf@^tlc46{ zae!>Qdxtt8P&tT9k$Xxob0Bd)J+={2Qax;R{`?t@2wX!ThNz-<3B3jMl~l1|s8ZB$ zFwi>R6HlL7*ST}2b@9S^UA%N&7cQPJJkFij(7Cgx{TJDA{e9#K80i#=ISi#bF91u=8l>F2x==#?n@`}!$lUK=#{ghmZ=c@8Jo z!XEthS(^@Ot>=|7iYs6sk+wB2F9ksJ4ncv7m%`if-MzU^1M;aoz=G!4MvIl z?{J&p??7@~O&`bkf0G%;_%-a_4EHre_aNRc=wg^j}t7lF-nY)OWmR-n^;RS$qopnTa@W_A)xJ-BQ!t*R-`JZ?$peJXr1euOH1aP@P zhL%PoMOLbyR=N6k)E+&!?-r+Ho9U@7ZJ}(@O^ef=A}M4%dp-Z<7j*0OE4;RyD-8xX z|2dn1R)?Gv{Aw?tr@E^6rZ!SzeZnK6tCSLft5c5(nKm|!`fF9*$Rdk!i=ZNU1fSrZkTz!-yKN(Cx#u4`C7P17s_ z9Jsn3vZe@H=wP(6sv&`Hw6?|xc2(=^Yg%1j)#`})x=~YALUrnyS3|05rPOFPJy6fs z5*vw&kKbpt>+XeBAX`?}E^joVf>uMNv+z5Oo%z3ysbW-%{fr4>hrk4|FX+&(*9Xmo zDX3yR!xS}$35X&KH_0+(+RK+yjNSbNmwAK`6lu$iO;5G567_q&@>{fk|C`smS;d>- zj#|H2m5t}9`Z#$r+;QbwWZsOomdLD#e%_+x*Fn>sTPvK@tj-X^8z$azy8g{LEb)WY zxgLDiZN2NeU(iQ>@OeG`&9Ca*BfAPXa8~t+rpp#5P;Z*Om(H_xFU}2vHn(SG;5I&k zu^mEp>~Kj?Pf!S<(1buLfD|mbP{a#npM(60v1XxFsVYBV*mA0x0|CXDpN%_WttRj7 z6j%%$Mjo0<-tpQvZQ-dQ2;tbO0XxV+Qlh6Cn(4Gvs*~n8tjJ23;{?qs(m{YG#e@Ux zl~Q01vMh^L7?3R?bH{?M5+buWswm=UmS2xBR7Kj$fiOn-%H$DG(P^L!NPHYYBB&?d zQ<+bs&YJ}&YIs8A#cmzCwd+CAHkA5OrYl5K50Seu&gDfrO56c(ov6r+L4ea4!gPQg z5KNVYkU*c%T(*$_01yC4L_t)U2TDRGKH+`;U-$ui%Xj}lU3~NbzT2GEE>3iFbCXR& zs|Lqq{m%#_Q-Y0OX+?A>7#{BJ>R^9c9d*h*x~$~728T7kajxPVM@N5cq?`;&c?eBZ zRaF|`)I7%_go0}*+wqQYq7hMDXE7Z(oDMmGtx#7nLCv61RbxZUZ;yTW2P5`4VJ%LM zb4_P0FxP-nMrKZ}gP4*MviE&1X~G7hVKCCS{k#8rZFRM--rm%;+jn$lXGdEEl+DdM z+S|O%sclPBzl!AawG7BPM8pa*zd0MM34I=NS{WZsi{1Ep;*?X~n1FV$zpn#$CiL`< zhwj&Rf9QjJ+j_UY>)ns(JD$F%hc||LVSAz<|H>Wx#FuX9Q?K3DYqz%KpFrI8Patwy z+h@aYK)T0A?cKctZNqPyz`M7*r!gnXY@0`M0b4;Rc>^6RA-aqyp|4sM^BGf80zzhpGkxHRyOaTG0qtBgn0;k|$7xC@nV%k#-~W8sIS@*iIQ=X6&aQ;JdgM7bdpI z@U%GofskQNI;&cz>Y6o`*p~)gm3Dl$Zb^ID#xwHLM1cnss$+yU$iZyHd=INwf?K7i zx(KD?s|3JIkq-T-BErS~s(@u3A82JQL2%FQHus?3Pz)zaCkk)X?gYu*mM4iJI9WWI zzuVwnAqU^LY<05kZin$+`ny&4*4O~vh>P$Xva2tKK|TZ?TGE`%i>U}2ZOrt*yKm`z zfBY-@@SlBNPki)>&OErUMG(``<#vXn;#($PPf|B}a~?g0GuzpRAYgzIxmd(`F}5CT zF+vO|kjLWvRKUkAEyFvr838KAP#h_pE!q>f zGETrwt2h#(&y+=!D-}oD)5bew5yV;?TTIA@1EY6^5aib*4saQ|$YKbrvpj~qSpr~$My&|7XwruC0Dm%0d|+(8jX5JD(2cpQ-q8Iod( zN-0Uy8OEX4U;i6_TYu}n{xSW=um6@F6cke>RLkb3Q;d~P@eS-7fA~jrFg#m+Kg)l&@y_;+Zr|C~^;@^}>Z`Bo=C$kc zU;H@S-_qo8A3L3B)=o9y#5ZPq2fWU_ac4^}UAd;~*Kg?7&70ccHR2fg=A6`A-(iP= z5uV*x*9V?@T;KJ>%Vh*j(nt89Q1|21ENfmQ7Xe#u%O1b8QKGT$OcWf-yFP|-JZIc0h znCPOMJI$HDGr7^(YM_z%Q9s9CW}Kqu%;93aOa2}|h!L8k6=Ypu^Rm*^8q#kCK7^nc zqEd_!c?E`%#VM~BCa6W9K`{a;C;`q_%(pjYO#`uf(a?$EIP1(3T=6@BX@v-jRKCpK zhUNTQ0z{=rc^pxl%o|17<8ziCbQ0cx*NF?hCrWS3zIk0-%6eQ)zb6|m>rdiN=Btpk z{EtENF>z4lpXvOg^pAYthTiwRU(yG^{|kEjBUiO{;jq-Y&wq7rA51=-{GNCe;>92{ z?$LTpF{-k`pjcPqCom@Gf~!?77Y&v?&@T`}RLx?!xw~Ed>lwdtXeaYx#8pfp){FHH zvD6b>(x6g{vxpeBjWG>bKsbhaWuTr#S`8cZG|0%|1;M&ejp19&)Fc94tEO%+YUewJ z5a8P?Aw#N=rM#mHO2|c(gsk4(BC0A%_yBf?QTTiTaf>z?OaQcK6QvBH`!ijp^8$1NTDBv%D|uwHAQ74> zC1i~vcFT2k9CHFmi=vEke-|IVU;n|6{;>YT|M=h2b07Y&9(njtrI_Ska(FnwX+s51 zx>8K3)X^aUr8^1+L1p|rtk+2AGhV;>FYZrpwo?L#+0LF3lumTq%m+a%q(b6cCYZ)=Vnw(#2H)O7Xc9bLV-sau=7q<6|MCHr@{ zt`pcC%qE<0GqNSd5wP2a@m)G|R_}Y_aed3X-=Xh(|2y<2Km4rz%=;eKM;7SHW5=)3t#^vp981YjCEjL%-Afp=&1)X zbMJnGq^KavkwR3)I65{OExQ6(is4{;P*9i9)qr*8lkw_kpb>L1@`hoJfYvm;37Kn5 zaL)wJ6~4(4qa+KJNdRH%ew~lW>AVJ78=&tL)EQ5|UJF4|LL$EjaR6JZYpqp{R+yV1 zbLSuzkv9~87#~V=GLqZR2$n4?#d$#^`n66%ShNTdsElpQwK|wl@|~e{jq^*$WR^g- z-1pEdJ1%vmUGNs%I%!4tX zK;6B~N8F3th&@MgK}! zEj!w(snyLou|^f(k94Z&JB6T>qI^1QSU~1y8p{Bhexw+Kj5jSg79VYB7Z@v3DQkhE zM=bZb7;APDfdHf)d3q>%bkSQb(oAYv6EGrb-6oT&zye1eItNO+lc5h8-o5(LX%OlW z>?9f#ex&A^Vo(f72Qov;9-#!cIfR*k^vc@jRndR{5B`b%#((vH)oZU`*PON~C5<>S zg%C7FcT-NpQ=C?Za||h{8IDxpj0>Q%8V3|(QjC!e$Xx#ai(t`LMkUGhDK1BX*@nu#hj-og%B0ddGCQq$_&nqy2snb7**3}N;T34O^|=gcUiv@ z?VzjbN`t0Rkl@>Lx|^v-jt*XPXs!FqTx7~IL`@HN`A)XUMrWb{cGJxF^z85ZR{in+ z{O@Xh>V93lwW-aWJ-!c4`Ia@&Rlc)bxps?SbwjUm5_{p5*LC&!P3jIfh0f$}UVEG> z9R!`&C053)?!AREvI7Zd5WGFo1b2hdG-7{pbgkCRM}G%kq}iC_BCYAN5Cp|Yt{uYN|lE6 z)1+8vB6KMRajRUt7@=&%V%Q~^x0FH%;Dbz?VkC{Ui3%Zzr#i;9K9~xGe0j`LkP7H` zcbWWaD2?=3ow{O;Ir^e;L;`0ktX-%^D7|F7}>zCs}c zMGPfkSwR8EzA%{L92t}s)0~~6jhb~;3^#z!K+l5dV6rnk)Ji>2hHk*FeFf-nG^cPx zlWtBh>gC1OQSZebXdCDt5v)3_HxPs-yl$B%Y0meu*hDz@NQq{-`*~JONg2;+Pb zx~__O>zJdde@KFp^W1=Ap7M&TXTIiaKnx9ZcA_0Y%}%eTT-UYgx}wLRNZzj)Ytp)D z)C`8`FKR+y>NqKc7!+buBo*WKY0>g{ED#bnrfgg~RXD=opf16;W1{9btO)`5zyX*| zQ>Lx?jVT97!Y8@fZL#b1(LksBiB@0xtX}vBKc@fk-~K`UXFvG8`rN<#hx(0A zeOCYIlP~KRzj#&G{dYY#_vF*j&i+I@`%~T7B2e+2>$U55bcfgSDMf9pj~HiEW@9!% zFS~qS8e2!`YKD$%!wy0dPM94y%M}=BRW+P6*L0Cry>EN?VSVr&Z_{^t!@Kpv-}*uQ zg^#{nAA8`mYUqCD)ouN^pL|Kb`qkI<+Kt=V=>L#S$3F6n2~=~|oD|e}o(MKx6EP-5f=*&y zV~Vt4-O`8Gv&t2i=PVv#3iw9WsaE12c(3IcHLzV(m4@(KVeBhSO}G$m=v|KBCW1hdgGPfSUfI; zqueq*Djp|G{84)k_6>EeKdL*%JF~>Oo^mOc2L<0pcxMf7;A_MQuzrq<%XaW8ZAg#n zoLSa8zX1Oqc#E8$&=(R?^r^zbc)%zFS-DPJu6O?hC{M1f2>p{gx{n*2EYrghzf6y+ zZ7|F1ae9)*`8R`O;-iddjHy>#w5mDU?dim2nvfG1FMg+BX_)CZGoTDXp9Br{9Vv(fFA-41LeGofj6f{` z#bcz&;zsBU{oHAYj5X+8A9$B;-MOVteEPE*uv_0h*ekp%98F}LIYyl1q@1AqU!_dP zGaWKtK4Dae`ASKU$+QVwt*);trlbM8|KZA-s#G(Fo$SC5IJwxd1Z3-YwKy4%)nOBK zsJa=bW^)r$DyPEzeVj9M-Z3dPjxU4&k7+s8x7b9AQI@fE&Uh-?)y$z!mMa9UNWD)R zG*jI)a_~Ligfb?;_!V4J1r4H9Z(Y^iCw@|2`KNzhS3dVC`DX^UH@EfI|LT9CFTZ?K z*LSD-r_W#0fBv&y(EsqMSM;e@@8~*#Y>QWn`^Yz)_VQoKzqPfe8(Z75QLL>tI(=$I zD+JpH`>H}zL+}nLf6iv%kXM~8b7PrW0zqbs0eMqZ%TTipPH&vnqYpi#cR&4v{_r=x zSAXd{Kdc}6@H6_h$1mu@pwj2AZR;1mdR1S&eoH%h`x+C3_ISm6fKL57@__Oowm;#O z=+r5J-p+rE( z%8SQ#-XTa!Uvq50adW6!IzrN}G;nH^ znU&NJ!1yIlEcdeP)Ci{r=idxmcM?pqEIV&-`6yjquQexFU`vcKC^FC#NfU;dB8HjR zStWK|Np)2fV+yVZQcM_FkQb@{Do33thp526ZC=Ohu}eLB>a;=|bc&tYJkQzjbqchd zv8ZAlHD}R97LZsdNl^n9yx2)r)H#@?D#?qf#mK9s!b!4+gT}Z-yTBr`G54&t8H=_8 zm*M4|9Szk-DKM56XJd!dQkNK4&%)_w6C|djSAfnz%Ztl6L_`_^LH@yv9y*2vZ3ZOM z8fR7B3xc9AAT82NY6b%9G?UWGcL0a-GtgrXprEB5dAwtF+2B_0pGqkN98Zs2aAzEI z98-sWJhr)73GQRczwpn0S+9To1x-L*=C#*=pwi;>W;ogq=$LsA45B3fHG`27PPc9v zDWY@qm6-1VJN$sY0t)GIUW>L-K7mYml{g(AxH}DbRq44BZ7bSEpn_M?J@Zo6wJIRQ zDA%v73{)|Xt!2l#M)>=u?$%aEY=~+l`pk@@M@H+#^U^ZbG0uF(=_n{D#w4LP+3P8) z#co<`&H=UGxuM&?`7=6v{j0kC$Rql|2i~J^`QWp9?!j}~s9M#r=hP52!Zz&KfBn_l z`rE(uRsGeU`kemyPk&B7{<+um{Ix9|II!`SVRLt^E4OyEy+5YAtPO(NjN-416JkTMp zRx|w^+alBqvwSbF$k!<wSc&aUkPVa?c%(I4{r( zN{Ox|1$gV|3Z$+zkat2o$fLU;$WvGFl(|*%JYmSNkNA}ez2SNT>SV$EOnDOLvf%7G z@McUYl0E7`#~1w`=bb5Kw{zhH7*+VdguB#??~L^7FFa84|4NS~qc?5r9^bU$_k;|C zPy$+uvEl73L!umFR8Yi_k_L4pJF1B~?aU7qLL?Stl^;RIX>Q;o ziD24f=X}8TwY8?!45PCXtC~tZJK4-Tyi`ZNlS$2>R>zK0LBhg|)klPB`94S)w?0-zty37W_71xX7wqAAl4BOlnQUj z>&X35CG#|Zl>=K@sKF)4L9K&011bPMFLESc{B+r=shqmJfL^^Ew0O$AT`d{tH5;0WhB+~3vYa8DB)bB}??UR=0fuYEA7l^7sQFV=LM7Oq&7AG7Olwzbw z&)l^rBA4=jz-(EmRwfgmsp?uWF@vdM&UzhQeMLL3eOV(;L!;B@wSNAB9(&tU`q+D( z)`y?IU(emYuE$Q-dT71U}z0wly&EDrcb$| z4ZgKE)%833a$uV=t`K5*-Fa$#l~1)iZ`U76;P6%>i=3$T5kNzpn?X68--_JCm&B5W6bdD}N)@ffrTrC@c zIp5xpiW2g9GefW)oxh}&(P~+zTUTx=rl3$Lct9LNU=z`?If%@QahbW&Vvmt2bAyqG zOI8v37-A_i{E`Zew)q~Sma)tTwEknot$O}ZOPc^MpM(b~s!D+tk{>Z9<~nPRPjNpz z=}J9S2tmus_`CT7VFok%9VM7 zGtE&iAj%yANa#zUJQlPe81KBn6;6#?_6yI%XC#>~PshESSD5j?DL_1$~84w~9Ek zo`#W`Ou|a7o9_5*0Ank#C1brD=q!b_uJh+9(rI`Z_-N>oGPeD>{m(8W8)B#SH z95dyUAO$Vz1HBZscT*H@+JaaRL2FJb*D_aVz=UAwGBof3nNnntM|sR0AuWbf>R#X6 z)L;Ei|C;{RfAu%yUwB_%KPCUTeq!!A97k2vFpz3?w+|0@`YX;G-o(&vI_J&hyMY69paeH+xQ6HHed%oB(M%w zMjEcJYyb9jHc3;Z7*!GMs=84_{X>sDr1w7iq(1uWBl^&j7xk|DR`vARMvoEL?jI$c zuAJ8nxb(_Gpr2_(;gMG^@z#t)CgT7YK(T2{PJ*%f5 zdraT(?9=+d+aA^XAAd*>UpS+6)$J48lzC`bk948w;jS|4diBA_v~uc{;-Jy)mD|`rbhX?L(@<8B zPg1pF(Q~Anf`kbu@GpzY1yhz(v;|8(GH<~HfCO`t=hJVBEKAE~CWB1ybs(!#(x6K8 zk>G01ftm%R5Me3>=DEW@POY)=Q9@_#%-JnejLHc zyis?{CC4KGw#RV90N6k$zjM)tX)~AwHoJHXi&D|4dtDT%r6qZ8^5FDY8sIPW@&P7tRg@}L$up3q(Yqp~8dRN8D0mD%a7 zjT-qQ_3nJC^J{B*WaEq`EU1_GoITGJeJeK5kjIByZoe|J6WO*(0 zl0pdbWkaM>vXmL5=hw?4bAoU)ml>>YIq#jN4QBx~<6h=7dGlVT6lv$$yE(d00hqa_ z7f%{k4iY(#QYF*4RWK3=3d~RDDS1K1gtB5lwY|bo`ks${SU>vj|A_wdU;OiW@+lmX zfA|B3zQReZsw(wtJSMy@++0RPide;(6U4Hcd6NQBFoVXS2W`!u+ORO zkd2CeH_Ct2!uFGJIHS=}O;hnrZmcPRY|u1XT^-@92QuF=!RUbRXa3=ZIrd}yCFm>W z+~qmJD+I=d44vyqEoac;YB}w>JR=xpCd8-BL%-JJL}Gl;E71<8)-(6pH?DJ{?+9u$ zF<3?TMl?1e*j-|C_0*#e>s?PhtoJ|lpx*PyIX!!6r3AJo2yADntg4-9ymz26r?nnO zKWb|Ai1GQGJNgHoe_j9Z^H=p7uWst*!BkiI#`fB+ZEfxxasq10=E`fyW112~w$arV zui$q`{d;A%Zr?6}ZNjEuyuH1U5#AYlP9dpcel|{@*5eO9sAr#iRPTJ^VLg7|d7a-_ z(FSX4eN<_ssWc+U)vO(l-F?j%`;@@s*NZ-p`PAir<5!SAwJB>6IEo&zHS{qjcudis z+dI!P)2*A=wDa;8)oh&A=-frsoFKQaZ7QaqayfyQ?R1V&)*&wR8-u&hiHA%hbYI$? zc(`}llx@Jl%o|~+E}OiLNdxS9h%QDzLmBpqejwncn-0jTp>xluLc=(fkT3WFAf|jd zb)O5oMaeZdV!000mGNklIkbhT=8US(fBUL13oT= zMeeA-V`fL_MdgWS#xuS0vkz&y+km~7GpOJ5z3l0C%WFyh#*Q+QZ*K7ogtVioV~{qe zqCE0w3uU4_@&Riyc#)V^SWjf}1t8N_c-;}Z;EmOxGR|gYG}7a|<~fC9yt=)sR}OY` zc7@k6IMqvQ>w5gsdF``%4IyBVL3_L|saT+qetNcz37ySJgZwXwVln2Hj04jIAp)-} z8+P9<;ncgkR=onV=>9w9(lYld?I2eO!nb9)4;wE<5v$}p;>%;F89N&lT4Ep^d+H^z zaCPD`eFj%_MI)y@^%r=rDBj>UORmTc}G})EyxiBK^BPH3*!MsKa5~ ziCOLzCs@i1t_L!0hjx0G&+3PEIDHOB)@eq-@DAVYhMb@_&YUTKYbV*MUG@g0n zKE3^+i+cM0GkWUcnw~m4(!=Yud}3Sk-znt#(e~yZr{q^| zpZxMQy~;Y;CSc#;wcr7#BF|fhK>@j&VXgIb)&+BSF38EzW0G;QC+<>FxzpnK&?H1r0fsG-xphlCQa!ZSJk`4~M+?FCN8k z)4f$+r|h0iRxitz=p=rbU)C?n%hdF)Gc0k^tFKKp+uAK-64n|*kPXLU$UKU|f)qo< zcril3CwP+J5re#d#8qKf=LRD^vBr+B9_ak34V}Tsjd6r8^6lVeH__wkr*)dTbG&j) z@QFB|`v`EW>@;_wOE{YpA|I_=PFn;p3^XH?omhthuToIwg#xa^TOf%7xEYSB1(z`T zY1=FCucfUQ0SPn_XP#wQy}&|{V5gW8QUp@^GBYhMs!PVftqont`(YC6W08u5w9rGQ zzYIYSxZY_GXTt(-tkmI2oHHI$Zr7TRaC77>EU?f!)!bl3N5FAG9)o3D@|qF^%1MGn9aU`AQcG^(3MF-C<5Z|YH{I%Knh77RiR8m+ErP<|aCC^3(Ir8mV92Z&pO zc7rV*_|H@^o;d-nn;dcqav&Cbqhd<*Q)@&}Ut1aK46oJhKYvaS0na>qpWgMzMZM>t z^LqC3sS?~C-)QvEO4KRNz$2XRfPShVp+fCpyT9<&>-rnN@CE%hzwuRlk(12L?LA$) zwWULJIAdN~=C!J;@)|Owhzy~e;`RxEI|R2~HVTu21HP3_nWtU}+L}OJ^Bt=mu4u5b zUS3D8t)J2wZ#+h97MmkIC7gdiC*sPikCrtsMF$-^bAU3839u7n@w^0-7z59MSrN!O z)=#F~A>$!*dwhE{?bg6}q16w`wP?LZFcX|J+$%?t6LDSLGnt@R@I?xeq01 zWy%GpD>h4+Zj>pzT>%h1?IUw;xeRbuis%Wp8C{ohpiIvx2K>=osA2*e@EHkP%ZkvS zyHLxQ`z|Rs(YN!9thp|LE{@PyFp{rulre>l^2Z4}a6Qy!CGiYAeTPEi8e`phk$0Ve zrcea329h^cgE+#Ib8A7p0C6qq+++cMf<8)AXz%vx_NYq7SLuAgqmVB3aZGT;$aups zo{Y<`Hc(VyAZfDG=%t^2NSO)GATzjpoLZPA1k|+5JN-&(%$q?H`#r@ zw6~*u&Gqd184WQ!^SZsgr5l@DvV*$JtH(=xZ&|^ynCCVQNU>LvFixpvch<2$6_PSR zY|cB*Du%L<5~f>WsZTY>^T^aUVd+6$jto+?l04gMxq zWI;BX2u8~EVH{0Wx~5xk(JjLX@?uWt)pZ?sp^u(1zvn~m)Sv!Ke@0Ke>nT+@Y@cAf zo6qQIk5^xZIMJ4Ovr_`!43IJ`f*OLvkZ+$O9OjVC259a;z-rZ_=cXB`s+bE&KDikO z0lLb(nj33x_kg)!?8xBnHV%v}j@5KNc};Ns?#XjH<0R5C))XV{d(C(SJ)MkY`Q862 z{d??l@QE?H-$=iK!S~>1oFI$SCXmfJHP$sJL@Ld{$AZG@8QtMzHKDHMO@L2nEy1n# zc#$uJpolFD2n?%?cZC3Q-Y1{cRXuS2yx#uE{d(?^OM2g9m-OC;&*|-#*7de?D|+Ho zqes_j-8W3ysAE|_4sJ67!zW+8t^fMxp4X54!t?sfYq#aV=F`z3-?Mrq)G{`MT1*~l z%ZfCt>V&O#)MoTNMIAfeXp}AE)HgcDcEob^vfrY%} zjfQKM`&v8$V{v~mC9pvi8?Q5`(V0ug6|5W}gg{H$!B^y^AQkY_dA;EZ)Ga{dbac@Z z-DdMB+&~|dNholaOnJ~5<vk zcT`uj;Jyq{FbRGxVA;;y8M7=qU)q<9WPAZhX03a!{i|!b@*9`IE;*5X1EpIn>)tAL z8^e;;slmA44FtXL)dOw5ep_{@#4=G85>V4PEEWj{mRLx0l+l*~h2pGQoB?*JK1i7b z**Y<}3gQ-iTa|aVsH}g&0D{=rjDK%5+pFEf#x3_K2r1 zJIGc_jLzRfLI{OlPrWA@7VvN-z-@!=ol;R!^0wd1qXZu2Yk>z7B$g^Q0x0ub*7ekM z1U#pi)U^w$#gm~xO&%Vu%kBr++<&Qqky9uT6AI`82+M7n7_%6%B5h&{%wI$gS-<$n z&+2demp`VT`H7!ZGg?=Om2ThO(j7Ju2b{htUMp59YL!!TfPn)}i~(MBKp5@`LYaBa zAt*5qRaH?J6$15uPeCmX+;WL4grEpbBB+c;12s)88i1?iwjl&LSf-dXV{Tgq z_Ou?kaE4dpXY{uFPV1TbH}tlPt9r+U6}|KPP|pzH?jKeL%crfaBVs2s)r~a%n>*o5ratoF^?f zr-nscM>P8FU%Eo@NJ6XU`%Bk% z&>BD~!#l&wK*yjm2~cwGi43jxa?siLyy0MJqJ*<_kecB1VW|)xrk{c5 z3dh#Yr#d*;)d44N|M>o7yswPTO*`RK-C-AlL8B47W6N!PL)&#;FR!eOG~@*CU{`}{ z2t-wi%wNxD=8%BaD#eO%N;7O~j#Ho7sRI?>ca@;Bvbv(Gs-+N>v7_;1Uo&hbQjYM7 zDM>NXPeX93<$f+d`yS0lr}g^nO35N zsnu12+lD|fuAwfTUe^QXHuTH`7xcEvXY|yi4LyB%L+`x*l-_%JRnMIn>M>4k=LSi` z6yTrr`p#JY?6a@xAN=YU^qH5h>DujWZKL-wfu}=%ZP#ncc*g{u{qmjhP-DjBlkFHe zr|5i+elz+FjIkn^<9#!#000mGNklxU#0mRsNJ! z-N@|_fq8^3kU*J{$9-h-Ju>vzl;v^&ozb?(P-2J*{7Wzxu&Eg}l~%A5%Sk8Hs6c`) zB3B4OB^7%WAj8TvZ2-YF(*g?=F`w`EXpwmh7XXvaf=e@>BHzCti2 zI7>|^TwE6@6(p(ifkGfp!o8p%gJAA0Q?sZIMlx1`DNqn9m$P}9qhA`A5{6FdS^#_q zq=mS|EOw{b2MzRsM46U44}|I6xS`2>kx|CI-{e{JnZ zemI+G*#L3m)#dUMUs7`bAXfoDOa#ttoGmHkQbk$_O9hW09(w*$o0@Fz6TyR;P-#>( z1vqR88BG@OtGoR_8ok7!aa_dVwkJ*NIx*qECXiWj5 z8q=mj1{-fC^+Y)+?%}W$Fcv!8<)r3QTf=_uZKp5j(%P!_G}R6t;^T?zNU^?}gFTJGy%YX4V_0RwLPiuqknbzN6Fk~Kk9Q#-Yd?%r~ zCTuADQ+IYU6;8=xIoRLlbrbW-Nh;xBU@ZS|NJfV~{j|(Qs)i*Pxh(V>Q$-RrD|(Fz zDQaajR7ydnnfo+^&E$+0b7s_1Oo>1-0)`AcBTip%cJvOGf%*`GLI|4R>p(kvzhT(g*(IRNH0C5XA`myjTC1xg*(nd|T5E#_7!cSvwOu@`CoY}Ulb6nrp3*b- zozlB6uj{$&os#Kl8;a`nl&{))!y7uA5ss<&PZu2R7!6X^O6k zOnk$d@LG0)eEzdn*Kgj^w*Pw@zC+LW&eo%)fE;NsP}MZ52=XB$99NVBz#vr`RP>8( zVu%Xz)r;v+&7-LU>mg94hI#O-UyqGt!x*z{Tb}PsU8XOOza_xV_722QL@WA2z0Tny zCIqE{68xe<2&KI@o-GVJ?8I}~G3Uxkc7 zZmtVF7UM%zgxNLCoUcSaH0aAUvdNf%`Gu!u9fBpf@4;G3qNVx~YqO^D} z%TCSRSf>W(jdywymUYIt-r&46o&#Z5bKo~O2m^Vl-$H5Vpkah0z;F8$cji~ z=#Z`ty`K_`3^eM`inO(nWl9B?CE|@BlvJ?l!y*NtuHZ~`gd=<04uZl9x%xu4;Lw9F zJisq7Zshg`*Sbs%^(A+dA}(CO`^h+AL&24_L#D-FK*3;Xo1$6`-xM_gShd9TMIq)~J5Rx3&>ZZYwugSaW!^1r` z4IS!hHQ+nbh`BYd^^G%X2p%gdEAl*wxvlG3Aq1runaiGF(}K?GnG`#<-s1_NyymJPe*@fBSx+8 zO8bF#eMH~>SN@v1(J8%pQMKcUDxF^YkJ`Px*j@zS`VIEFYx4rb-nw(4Nh(A zddIn;9$2k7u|+mpDkrw*uieoL*KX_D)~;>=JABVP;8ZckF)N5MWNex-Q1GdFduLBu zTgZ6(mJa#;?EjFoW0Q!wg-V#CzO+e^F%KK9Bb!e-1qPLd%yGlXYgos!P6Bon#6{y& zC1p}GiXfu`b19)jK#Ghzv+jG=q-`y`N{gqP9dcS8q2t)|k%~U<5Q(rOJUAK@vP`@)hy~AktZkQ6U5g)nwZd{iFbnK7F_7WWq@| z!KXXe*Xc8~&OyPIfTcc}2X%ZKe+=|tT9uZ@iYu2AnMDd;=M9-LI(1U=*`=_cbJlRg zGlZa`TjKyq3p&O^@#r?zS*I{_8y5|Q?g;NPbpZ}gQCd97l-qdwhEh0L-y?8Hv7EfHo$^OQ9e`Q_f`ieRQ_~dVY%$Uf+O~ifmDI3! zM!a4kVz4N)rYzD43&Qj>UQ^Bq4HIykXWz~l9ucwDX=f)pnN78aQNHR|TkPuJefE-` zF5lpS4ro8Ynj?lir@g1Ev}x_HgEbuL)r4W+%xWFT{(3@ z@1`XWU1w5XOI;NT2IP7JJLb?~ts3qR|#LP zjn6p^m^6d{-yoS0V4ibqqDN;Hj;2mg!9kAs7;w^AUE9#P3zsw`nAx!*idr1V3`f_& z(-^L2)wlm||GL&5d{q0K z$gcA(@#?KRx_M`({1oE;;Z$3kKn@689X8^?vc0>@Ysy<1dmIGc9(&K|BSsO#lPUs4 ziczCMqg6Hpr`JY0y)w|bwV@t3yISB;0^8dzt?Qkf+@3f+&?=`R>tgG0rt3Qg+T>f$ z*8W(Vy9YW%2J6x%wT|(H6qM?uW;jr!pAz^vx!t&VQ?I}BvbH(7jSmmBM^N4cW{lHw zS)+>;=6uaTZP2JeZ;kmNZ;hTqkf#oa@<}Fvi!sT%%;-Kd|AHulpg>(S8YxjZLC&av zZlSWVkhgvAg;svUlR}W8N>MfPrVv$ut4W8kk~hpN)j%s1`l=hPHRMT$RV{By-4^ae z4(Fpp4^lKQz-4houqj6RBA2NTq78ZQ3Q^W!#W!53*QrxcM(f0tk=;;Gv@hw=!+4_% z0i1yZtq3*&+j5P{6{zH1ae zj&jK^Q>tBtzmBOWc$`Qc?~)x6N`(v(oxJWXn`qeKPX2HC-h&X8rD1+b5kY}%k_PM_0x9LK1R+RkI`$2q;`B2!~|;XTT=ydG14Gwp3; z!3d&94|sC>K8vn|d6w}bmROUbNdc;rVw8Vb)N(FdF2a7zO&{QLfef2mmgGFz#PRHbl~W(ve1c^su(0Kv^r8Lb^;r?#<2G_Bf2_X<@ zS2QGut?)X}e0t{I!AsPMp}Btt%n+k$@nU)6_GzbNbNvQ+nq9GkTIh zcXm|c)FZEETkY`Lcbn7M=H9+;b5h)=>`lcC-Fsd2=)#*E%R+3X&mhI9-MvG-cJ;ch z@d|ZoXJ6xKtJZ5W_f$vbu#)8&pqsi*s!~)6Q2~fCC^!vL$xE^xZDT<}F+`O>N8b^s z9neTyf_(^CzTo796LHT+flf8;GMEtH0K_V)LjP5rRI@p9-g4C7>Z*c&Dr+pE&&skH z=(nPrNFzMB6+)1&fR2M=SqELta$hlqGA?nMM-7j*2$}&%42~ICJN36e7o*m1xF7@d}TU{$IO>_;|i^0648I5aVjp? zEoqN&MgneY*m?PsZv6Ins88MyoGkvH@^9Yu)4zCC0jH8N{u(2xF^oBZXU=ZBX9sHe zVihz~UtSmbm0@{h!0BjCyE!x+(6WG*#)ZGcLFDq+JNEmTcH3!b8!)o&h|ieQmfOsa z6yY%oLyZdMUkgtMzkM8#Pjee}gW<=r@EZ(u>u{`fa38t!u-b0 z6JEL9xpP|w=sVzGI_BIzC^E;{htLp+)-@asH6W1L$mcj;+eO8E4A^i~b)$eR4n{Ma zi+Kj@pdok-Io*X+iCP!v000mGNkl+5SewXq@h6+%)=|5IcxC&I}g<(aCgX5OVKHh0K4Jl2C-SM}AezNnCDoqzIi zRS!R`z4f!Y(Th>cLhXMI}`km*XSu6F( zmP3&3EP)>l>+%B)euXx~ZdV4i{GVQ)TN~=Jb8C9y{HpF-ALzm=dSVkeW9`jg!!e+I@j^ zVmjk8Ekh}kr>R^5OHyb9IK!gMQ!)eU5P>|I1vNqjoxEIAs!E3HQn{dEI!j3|mU=Sg zYb@D_Lgm z%Yen*vgpTlA~>!V$-H=|l7An}ul~HKr_|XAwgiWgB5Vs2Ppkn`lZ}aLPE5kk`*OnB zBe2adz?R@JBk0U!N)*nZGn&jEB#MEZ=I}c}7Sq%zY7NI|C*cLRhhyAoCptG+)r>{I z(gl6+;zN4p*$V`@B$horWKHr+fi>L$hwh7hTE-LEVu)&SWDY1D^E)NLIS8ecw7!0dz_nULjo3)j3}t*ufgn?BKtRh(c1JL={WxFM zm4>`B^e(v}UpFQ1x47^J8=N>xh5MrY`B zMjwaF#~y+DfYZj9Ihzpl4tQI!4~%*B=m6%8gyj*J$6VGiZC#hM)T0~cJL?-7DJld9 zmVkT}m`u=Y)l(m^oe%;zDff(r0NJ9qin*^@cV{-%7iI=uQ7<}}(ynInNKjME)~Shgp7%}9o3tC(y<-x5|p*LP0i|c4+wH!l$ z*yAzcNF2#TQb|gkv>0n3v%H-*D3pH%9YkIb9|1{Wb%ZA=^-hZ$ai`E6-%BB#8cJho zow||fOKKdjyp1d1#}RUwEquT&2WMWw0AKmJ2Q}FmQ1fs0c7LD!#0_N()yf;jMjZ}q zLNJ??_6TB{j0`gjW}ycy8F1u3TlEx)0}3AI2KgGe;)K$cGxtP#*JaWvGvR%OB8>{O|rFJ@wpks&J@s zBPb%Y6#*q8(;Ua?zv$7^k;_!6M@e1IoMuJd4WeR-CEqiFJ~d43U~#HG$sHaX5ENU@ z*<_U92v3<2V`}KPs&Ufv9YVliM{KXt)F(o0Y0j&?RMlErUsp}w2_Ybf)HJnX!12a} z00DMEDZz*F&au@~NcJ zU^{%j+U6DD+)kT59aJD!ARj_f2tf(?MIQ|^ZV=GUudV4U>H2V>6~?$#WbXwF(f1*jpbLm0Z2ZK!81Jimc) zSDZA>t8=9_Uu+I5qhW^*Gqf#pWPR^Z<{+!pwGmxG1HFUJn3MicNl{ijc-m&5b6e)P zh4&nAA02XZ)L91Od-9o;+*41s$O>D95ESSo1fEo6cww%BfIG|mQeD!H{(E?I&~)g` zV{)CL=kE9pU<)rJkH953!4m}I&PI@RLXq6!E_oi@1>qEtkPk`wYK(9e zZMdDFFR5{^gQVa}o`TaQnC2w7Z7D-nQXa=yGRO7c`!?#upL|&DEV=7{V{qfzT-RT` zQ4D;T28HjKfHn1^KQ<}^K%PUsgB^4;O+v@1r{|kQ&qC`6YONfcY>*usIs~_2(yH86 zZa{?zD7v6NqqR(h(;0^605!L1)Eprf8!p2>!VeraW0lXj*# zL3Mx=81i~+#BR990W>VC2iMN%_uv1dzU`rB^r17C_3W7oI*mhJNm9!T)TTlLUdNrP z8{OBe=#l1>E`>Fniz7A2Tfw6ujX0fgZiU#&=pxG!@Ho0NV{xD^_)=dU&<151Wz+HC zrYxCOZ6?h!A1X4GRsaB+f^itAiJb>F26+S)l#KxTitnjtgI6!<4}jydxBJm?BR z<2QFE`Xr~fm$oO`8PBm%VS^oM%Q_&%;amQysTAv^5Tg>Z=MYpiwfqAe6=RLyn*rsf zDf(U=4RmI0RcF>$v^s25r=S&ZF(uYmN06Orid+tC4!$!S_Y8ec(Ul=1YpRlbA_*ZV zV(r7u{p*uQCdp3xkSM$vXlCh`W@)2~h%g~in z$Ur`XpiGLGaHA{m&KpceHJB{>9{Z9GesjjtqNhL$kF7&jvzMfCzz24{NexLsV-XSrXw0N!aPHH3h?M|txh`-a;z1+i>P!C8Z7yXaVQ+2EYf zB@aWlcX>&dml+`^Q0jOzD#h4aoDTs{e|D?NZ*);l%c z;5@QWyAaNq*?yx}j{ZDWk;jDhf(e(nx5_W;Nk8|iS9uSP1FIS(Ivlf8p0a2iP_SKD z#(+U~bclUmsG+=;%s9?DFf~vy!#G>=9R_DZvT>XQk4L`f6Ef$@z*_h^7|t+s@9d@+ zpMz=XkIs7l);cvDNyyO>sLUU8)+Ic-S*wEvnvwFB*)A@R+wb<~TEhtJr07w%h^fFaP0PM?R$;e!U z*W&3R87L}4D+=7QOr}`8HdGn5+uB|N1Ub;c8Isb5vg=%Qxl}<%r^FF5t~8i{qF@k! zCCYR%p8AX&fxP>xS4R4YpZR(Ho&WRS(95r0!?|@jI5^Zkuk{W%NjRN32%y^-E5(#x z`hC=kT<_YXD4K_{HBxIAwicF^L`67|KK;E+O)BJCrxj5!JI?d@oKc%T^p zw44a{_a*8>jH;VPH38TCI88WO|3u;e^zzDTolYuf2k1h!wfxvwwYInd_ej168;puYj9tcGu9 zA;mK1w(qQ3yCfHC3fLR_d4&JMosl>|iuSUo*fbwaK(C z8__J0_K28iAC>B)2!GM1b*d1QCCv$b)~yRHQ<5y$lSalxJ;7vaXJ0cm3z0TPh7f2e zd0woC6oXoV!kkn1xy$!yGtKqWU;UicSZjq4djHh%AV%bmsz_5J1sdjg0649|H!;bZ zDg#2ukcHCWkpQ|{;Er_WU{??bA0!#X705;SW>V1(l&s^9@i=vWtD6Q{Y6-gL)T+*G z1d~A?SX(743fzHIMZW8EL)Bsr}``dHyT z|CC@i=VakiC*tD-CuK+(zC(8GQBsOgkv>8Q$}~(>l!H*kf{Vt{@Q{&Oomte;h64ys z#zEZz&)APJh(>z~RB+4CyBMIMGLT>1y=%e4rl63Zq{k08rm`f^I)%%k8l72A^YdFu zsx1)I3obpfcjnD^S1?=A000mGNklM9uN`)(=2hW5 z=bUo;Bfa&^|CrZ@G}qet8YiNGM4?5O9rM#OcXX|WQ$*ENvIBK}#u>HDU5J(_$Z3#N zF)tQuh9jKt4ajK^pV1J$Fyb!G7Pcl+!udt!q-koLL@o~0eIF8l4-XEguT|9pXfvmd znG}=ix-P-hZ6b>3*%_`EK>Zw@c0`^T=@b}q(wedsT03mkOph&#b{*+5 zpBQJP&xju3TyD$aHP#2ov<_}Li@tj_CVB3B@=F0(!AIyaJTrqeSg@Y{GA*W@$eX%W z;QQZe?V(<}eM9RjD=>?i(q`m2Nl_`m1RF#=i&*rWC`9B6AyA(b>49E~0Mh4a)>x}XoU*iADsO9ZaraV2^)5fYlfVc&) zU|0H}3;4p*_YvOnexm3sjieAD@Lj+UmCHPwakcYqPc71wW+g54egH_%b5UnH7fL%a zPD$>zfhqT*d{pVOX%@(mQ{i(|Z;Z33#92DZ@*25IPi<+isJ@G*T=3;VJIcO~J9L4z zCz7H(*Bk8)ow|MrN32S5nZNyov)cUfnS%S*d3^deZ%G*63a{xFj;1ZIPFjp3W3(zG zBX=a29aGJsT*HtZ)J94Q0jao)9MEM9&iOts+Iis^dUy&0%LSHoixiY#Bq_*?&24SW zdET>oitJK*?QwGS4;rKpm10y=RdUx8f>pMh6l}Gw&pAS;0$@dT$%`wOLJ&it1UdlZI^_M{Km8~4$fFPH z=YIKDc-?qG4&-%JM7M~(O-*>d!R*+J;!CgCQH=M zcx~qsPY6NQRq)(!I_Pn<4kU&ST~GMF=HTMgb(wz3Ye7;68U?T+ zpKYHd_klbOC-p!-mP^df8n5WqIaO74g`ITD*t6|qLO{07*+GLU?PCgpjiytA&TOnN z{N`_H|6nHnl%-E52b{8Q-`*rh&WrN!lR9}>zNkPQ@*qyQnwTrEOo)g>8U)j;G zymDJF-Q3kSr{4qQIN&?i9^carD9=q#^MDP9l$2OcF(pOI#&|-AN{rtDx}q+Gz!J^O zLoWxj83D~aU?IPnjS5Q9PaR(&1aJoM@DqFyl_1;6r@J}tgk3gd+6U}9V<+|jfpTqG zg0RN`s9YYaGldp~9&F!6*HW`O(iX4cUpTlU+s}|-J%#ZwCddo-V;(}TY*0WXfK=rQ zii{y5r&B5w$Oq&wiSa2#C2TH&iy=w^LXd5zqrc1oY0*uKY%QB5`vS{6W4-$arb0}L z(06RAJcdykYq;LPNA3bXOsf_bWThNj%sdK$dgm$nHp;2t7)_?MF%qE2llvqw#nK_E z>oIc}GY-lOq4ewQo57NIX=4H-V8Xp<=d$r2xRsY><4ywdSQm7BgoV&d4M&(`hGs;y zoVt#-CBH0}!B9A+Aw#jCP3tx;J6!@K%WUE0!j)gUPy5$bo&7z+g4@<+)~nB7(J9`4 z&v+FxW1^=R!W@I>i7*QpP&66K6+%!vHAz;At)4<=#Ew5N`t}_EWt`uWAGnsD)K{nbcPIrcr zjWNhOaYVowbeb8DGj8!bQ%)jY1lePx(-sF4LZFK*%VY%yB?bP)l8Ru~sSO!SR=J#H zKWIk-=WI#r5-eUknCs`R?&#-u`|*{lcXWqubN(sB z1A^N=LCvS%3FEW_b~{)o#K>3@dQY5)8`V`Mg;4s*^wVOeKB+mVwbnZ}9#bU;@}{ZF znvCE=2x9ffZFw*qS<5~wp95N^J!JG3aI_B5+W;sQW4KQwCqL& zC6`fqN$F0DzIA-LuCzPCc#Z^*lQ>s_a$*)GEf0v6c(*Z>vLA**#N#9#dF}-t(<}?l zLuwvQELX|9-iUjkkW+_?poS7R8E$6`R8mr5qQ$jDxp(JHwy3%LG~V?~j0Gt;5T;+| zmnmr5Rq4j{eHZlV&poKwe(kCwaLrNnEt3Vu&-})9t=2&uuP$ulUMO=GjSZos&YL;k(=ag4oJM69xd3Dg^UMy>O)K82AIQVpc`*hg`J;%UjI6DXG zS>MTHbZWX8bxu3R$t{mFa&#+`&3LMqWV!Y)MQd37)nfb6R9YXu388gJ7k^6{lZK!Ymwm+aB z{aS_7P-A+gwFN;HnDd9BwBMpB5JT4wS*+BSMR zv0nVWb;b@D0tNat81Ff@W0|s1vZEP{hDz8F{+1WOi{5)^cWd$N1Ek85kgSa zjCA?_hss~B|E1shihlD8uWCG>!wR4*5h;V zo1h2NPiQkH@8A|fU|l9vsZtqhh)OXk0x3knwm_K^gyNQMTwFDJOq_U{suFCaws&pFj2YO?-CGDnZaai#hiO8GLsGqIkg>it^+#k$Upq#x{f(+ z@gY9lo;^*k+=cmDJ>ZKlMHZ)TMJ5mG-by;;z85ReXTg_;%2l%EQHma3$+-KHx%UB& zdr_r)68{E%6sY4V_aF83u0nN!fHH06hSmf{`8pQPl}0X8=S^?~rO3n8Mv;~EWpLg& z*UiV3UjFHa*&%;@@g!60_}aSD>gtznC}03nPCO1~GZxky11Uy8CuE_=sK~ot)|O@% zhZnaE$Q|3 z@9~&VN9V2+{lcAv=w~R7!FUJH#p_0yWC2J*i57k?P^FJWQC@_LGS9{BVNy#Wh}Mjf zEVs&K96&`W>TX8nzN9k=h`TokZm5Gic2^LO7yUD7*4?-NvHzLQT|BFw`Kg~)OsUZJ z1ol;e%&CnvojrS+WKt*3@F`}-sptUODc|vW zZ24{P`-rYzzpXI==FZN(4yR-Ib&BwzE7B~6qX3vdXTLI<^2id14uR;7F=tuFU}gKw z&VcnDA&3e(=%ml@qPrB;LU1^pX&<}YM-JOzhPVK2%|n4!F(Sue9Ayn)uNeTTOy9QK zL*7K}p^JmbT;8x{`V)E%^aCs8gb%zT`it-bp^`F=5TarNlxPw(M=!9IH;*v{a1zM^ zBt<|9>T*_#?RX9Om+GgxJMw?GGiMAF1MBVV={2pu*Cr6eMVpe6g@teDN?Py;8^XfR zxT4_T<+bOsQ-kvYZ*aLsVC#$KM#;F&IH2I@Ap*<%5Sz;`^UB<7#q{SK&=!o}_{>K| z3xjM&r8g$7GiFKa{1TQp(=7ALx@C%9mf53W9T!X4CAT-2hg0L6cWPMToIeSsah+j_ zzh@kAi8t+Wheo=Q!TC~2hVn9t4t;~<2Jf~`3V(>48mKLFrH+DeWz5h}bh83}7+=sl zCYwXO_VW*z1OUPFYwwfzpilqmbw1_v>=3;eIu=BSBLJA}mJWIrI~GEYc6gT*gC;g) zz&~Q|wPP6)Le?p2lq#*}qya~&no2Kbsu)kuBDMO0UmUC&e-9@*!?`zF zU0+jGS2~=Gb#QQ?ZT}Vd@tE&u>vDja<0vOM+cBr8$-$vIoZX;l)Nop>2{@^WvQ9$^ zyt*97y3Od_JKoimm2%PxG0Cs7B963UUIW5))-@19kR5wfC9SLsWSXW)P^j319qn*X zt4@i{PgihuJ_#H13DN<|jth4FkpKV?07*naRCi9$?FguzuY_D?km$E*YK0iF8v;{` zjH#7RLp_defIe0R1JxD0alY^P=r?I|XQt;aM4hWTooPB%%u@;?m0}2rB0Yv6Q1aaP ztpXC4n`&@=W>V7}0i{HPJzhh8VSA#8Jf^A`OG-&|r>MC1yr-?p46w|IRvX5N?v^d)#iASlHMBqg^c9}Ou|w-DRbYZ)e-q(cZ= zR%A)mS5L}vMmFkrnt9J0c7QhphirnjwzplQdFXYM4Z-+us*5Wtv=%}2^iaP%9NgswU^u{|^y zs8S6#$@Y5gRMuc+Q8s@quca`{^2yY~8sjjSmKRag7M3|Q`0y#{urDAd6Y!5o`VI@fV-g3`~v5akw*<&Tmt$(mht2`jC7rw z7+>-fxC>k3Ok=jk;LH(Y*PC|dl~cO$sf%Ejl}-(y%6&I~<9e&>FWhD^^=es6GoZx~ z93XlY9?_OT)llq zH@CL6$2T4?PzSjQuV);nrleCA;hZrzowdDY@O7Q}&(Oh?py*ex1&VX%bkGy#_7TI`{vj~BoES=QSDwWg6~p;M}(PV?QPhzpoWm#K00!o6)=Hn`2baBo|eP2&_`s60>H z$8}`P^QbD86r2ncTvxJw7{HaAJokdkLB)u#&HN)?kN*bVrS zC*`EpVVLaC)%LBr1%Z-zS9lJ}krmrejv;c|jLLjdoZuX`323+YR&jfGSN@9)hwMK6 z&EXKox`$Ks-;SK(NTxW9DLU|Cn3A8nPxN5b+3@LJTd9S&5WFao)Ojb1vKM-090up9 zEhRB7=M4c}xqi`t92ss`Q4>Uil1Bk04Pc#N2AmWyeSrWuAja;6EocLI12q!mPUM(F zdeXQ4(Lbco#)f|Cr+!L3bCb|rQ#UN=tifQU3NM^eMG%>=+n>vA6ngaCsb?-`oML?H z+E`mv6{BiHO#o{ut&9d54u3-~GcP-V{v0`A<=qN1rcJay4D2A2)agGXuPN=DYXe4%$0lnDWD9d~2`0|ea1?M+kKfplsH zZezU34aUEr3=(plup#rx&poK|RzuTJ<}$;;ZEOfxK`(!4U$P*NO0(_jMlG`N`aKXtjptmIge*U|V3_u}(kLD@) zWW9RsjGq6>m-LhWE~56WN0_nb9#Qo}1n(R9Y{eu}r$&Xax7-h-b#*K<9uR#T=Tz7@EOQnf@Y9HgS3yj#kt(0|n}O?U zJazuG9wET4&pNGex_bYEm-L>Cr}d4GU)KG!yT~Ah@a(pCH3KGFJDLHPnymLea!L;l zqwXU>-Zw~EN1q2*_I2&XzD9#u2a}n$j(%q?#GnovoG~7soIPHTt!0DNvC*>gjuHKr z%|xv#McD>D$fi#6JPy!dvJKGYkont#_aS|lM^=!ii}aJ3gP{tVyM~aFOp42-P znuA=6E3*OxWU#rUExO)9&#&LSt|EhW%pKe~j6`-8_p1|E0+}7a6E<1fQSkh2evL|Ru8T|2Wgy9%LW?4Q;Q2|Kq zqw>+PK^)yD_`7bQA?i%;#;!Mjk_p7+I+DeGR4|RRZnLO3db)xv`j^|A#;MB&=Z!PC zT*!Hpvfg+V9CiIX>gAt$MD65A+~ZDzutELyue_oT$Iwyeunz1(b`FsaA{{!lgGeb9 zqo`BTj9Kn+P*fM%On%OeNJm$oK9X-zEU!fTLn6aeX%Lg@7*xSK(Kta9Nkd6R=ny4w znS)I)6Sfv$u`_%(_BH4Whf6apuvEnf+A@5Zd70L)R0o9o|_D} zGbV;x2w_nVT9gg0KFU%T$OhfL7I`<%)EMs`gY$vj02+y5$R2J^0QRd!mwO!XJKp&Y zef&>+kJ9R@B6BjwVQz2ZbZ2u#^fbotVFs!=x%D`3qJk1K!kH7;iZ)K2(twZYK8X!^ zZ5NpLfYA(~Z-9&)#SkqG8kTzIhbiZzHBw#IIPRfRq8{XcU^p5L6;o1ORdTyXU*^%n z$HA+r6Q_<^rd#1VjBU-fT4-@nK0Qncqz+IN;UV}ZrHEd!OP)m*_bp|$Y+kAqOMObU zJeC2kB~zUkb0zan1lZ2D@z95L{@ebFp7~=xqUXNr`}Lmh`cr!BW8bYOe&5IS)W^P6 zkG=n6ny#KzyK!0L!G_X>`*r%!r?h_%b?wDXZN9Ll-LFox{nfFqeEyDp>!)ATmFI8k z#uvA=`IT+WUOiBEeWrug4s`Y9eO_6j1E~bIUA{Yw2|m+lTQ(dmn~oM|-LY0tH$%yc zHK?g8blPah#xbG*hO7=c7G@cD6)Sn{Aq35N#ktQ31aNv zlG}%1Eka8gLLlRY+2%zzSuHj+W%J@w;K8KTlub`f72 zL5M~+2cek|2-HUTOLta!LKbLe) zUB9d#Z#6HAPC+@j3;!R^{w&zCEWPi;{@+@A?{m(bGP5$X=IZM1LU&^#h_OL}AOS%n z2m&-I1`Q4(t#HsGGb}6U2tV0j`Oy!4@QWj?a45nKQo#@@GAt1$O$wA51PHKMRcC>rGTVHev2Bg_RCZC}Y1uws z-HZa9tS?%9AVXP?xeCTsj6pYiXypZR9^!H9I)elpxr!o0<^--A;YKVgUnI zbFG&PdFS8-?egMG3wAt(epqw-Hw=si^3P3I^KY6UzobmtZ-bXeKi7(5Nc&i^7=?me zG=Y`U+ve!-fIv1=Fm6gIjM0LR79j9oNz52kN%%2K+${=@&Re(bOPFZDP7&;O}@;;;Wt zG_0oDJZ_|i6TSO2UM#;JdgqO-$8Wbf1D5a2bYp$2_UcgWdsFpiQlhTYF6-!^(`?$Q zn>1?MtVF*w=yDFZ-c*e{QwLIN# z@18x@oTFrMd1eewXxa(Dlz``!v0E72!`HzKM&K+#a#`%t0jnPh!D!&rrLV`FE9Sn} z0L$q>)~!Unvl`Z)hPFzSJ*T7;2|rSTUK0SLZE2^r%9odC%KbvOITn_$;9&rL=soJT z#oU@$w$E>+lI8jXu2H|AcAx&Rq)uZP?M!1gwj*S{sk%HSKCBE*YM@oBt!!jJ291{) zgL$m?NK3YTI10heP}o@sEBll$GswBkRg-<%>T3mr`3gM7O4(67cz1O_G zeD>GB!6Grp3z-MVVDF@>9Zvxq#M+c)oR#SGsDHvHB5-1_Anrmse^cuj+#YO*lrhQp z$k;acnB-h1T+1M8fDTz3NiBNYBy5AXVvoUjZBRKA@*oQpC9I4?WB?F|+uh=@>oa-@Io zU;bnL!@u+Q_1^hXFTMDRZas5H-knTmv-%s2Ex{*JBlqJrAW6gqvAW3L7uE!^mPIq+ zZ+gH&+;-J=!$MM&wPs=4@DedVk2`>#9npqe+JXgiV5KYc&5}U4;8@Om6)Du@hOw2Y zLMTC(NHy5Z33fhaT=LfJ-C9p!Rx5%jJA$TZNSA9mT*&_mz=q?a1e5WRGUc%?i=OZ& zt_Atd{coi>Ub1bbE*U@Vq@x|CYPwd6VDVkZWtz>7)X*mFJFr4rqBKQZ|gt*yZ=ZR>mntovvS= z+Jd04WH;q`6|(gzTRx@@%leU%Hc}+VxwMtP$RA`$< z9{+{>R_v;JaLQRNZ4nX5DJwTwQ79?>xt#-|>`C_JG_{Y5IVpBOE~{-%DZ4ER51J_J zpzZV$yR#d-NE}aR680XqBv+)UZ0yNKKNOi4>>~Rtyd-V0G*DiH$Jd%~>8|6FdS3BD zv}A0#kHk9S^<_dmx+YPlMEPTzSAcQOQv>yzFRto~%jEcwdbiY@JUL>&bxfz||BuTK zZSIO0n;&WOBkap;WBG`!GmQMGv&{4eBR^u~*W`|HH4%T{zIJP3w8O%z!Tkoyjgs5_ z1jD`0K-)P81@}nU1MGNL@lHm2S8q8A{1A`{8;e?7wraAx|c$!G;%vv2XFgG|HC|r;kNcAF(^K}q$K-tb$ zgiHuGP{K9?Et6)NlP2H>+~BKANu82B_-&JM6xc?^1xnXYB!bwW8mQ0@*B~fq2nh61=uhFR=lCDSdiC1&j24-v|Pu*UW=5NbiD>GeO4*a zUViLwB|{|w$^ddY5J`Dr2aiRiMc!3jAEE@L;V!fVjI@2o7h)p-iW>rL0kngn@k$U; z3X@T^W~jPLNj`3*0u?{|iI3^$|MJi2ul&#cx^6%FJoN~vh_`iGs3sWX-w2#dr%Lcc zzaeR=P~4s@Bq`du2o&<#pbr+o*};(-7SI{Tfhh%nXst|J&t?bmvE%{zma$`h{;T~C zWL`{jZqzgc#9ksh4FsdY0##~WgUF7&Ger!_BgW`P!H?7R^wo;sw47gP#do!yeq7U! z2}eEHe_h|-guAX)*JSGH#c8NPU^+dJBB^CJ*R+i?V=)5Hz(A%0V<07VfY>ZpBv;6k zQY}v@Te~%Za>mzHd!j0gyr_NUF}a~^At_PjoRS>CJeQm{A}JwDIoEo+?m1;eB)MHu zNah>bqs?2HeR^ly^AaKkQA#{Q$^?O+4~s&wg6H6Na3xBCGX$9Wz`Ol>^b3OUd-Dx* zI&`Q;N3_i}kThA8yaW{ z)PCaVyWlXT(3J8|+lC;Wm2y%BB0}8cv(3wGxt;$TcIOw!C8{j{!j$cwy_+e(hupD~ zxdJ<~CLU?)tuvS&sHHw%qBLiFft>y&@^@?YZ?>C zl5qu;+?A{kGX^tYY)uJL+lRjWWn&u}@2p1B;wnPGy)BE0D&&EISrCk__2yk+>)vLU zcKX(#KKGk%@pdhs*T7)&B2%#kMG0jkO;V$i$&3M#)e{sJEI1B&g+)hPo)920BE_te zkNS2hIlmMMKcNJZQ}AZlXvQ0&2e|{92TsG_n_y?iO8mqgNFf1!ZU>_4K#6OX12weN zfy>HDEF6FwmMwu;i_74UdY2r_csP4#*`rh2*k(a?li-rw#tf zb~56?ZGd+uGJ%Oo6`1k?$`VnSQlUTs;tDB(hos;~^%|*w+k&4kSOnl4!|Zh)1C%8$ zYgND}{L)oW66>s#k|ylVe&~<>sIGW>{*~YO9B-tXx+okU-_Yz}#-iV zlwjFV?o9b6lZgg8Ycp*7Ad#kr_OD_)Ncot}{cgW40XU_QFY^QAUl9rf1=>5v6#>?} zxCLdJ6TEoOQ6jI@PL&PaOsSdFv9uz%t|+&CWqkkRzxVg_JHPQ|>OC-KN(DPF`1c(! z230Jj`V;cizZ;rFqntxMZR(w=7w|RZ>H*Q_Ig6ZJ_ckuE8q8|K-hYXzw) zN7uk45~aYd@>w*Rmh4ED?1EjshVln`_r3kr){N~4m%`?Z9Y!8wqtGZDf}z`W!7=8e ztCb${4efwge;AA@@G)%__#3Fpcf9bD986sek~72#{sy2>D_z3?HDE9>_QciGk3ETc zChLl^v0!X02%bykvFR1#!X6sxG-(@kK-(nRB7mge$F~?C;wsn=1VFd1!DH|I{2Y@| zYO)}7=T?#HFJEq$r*T;DZNNIihpE4ve6$_&8u_Q~&F|an)7Fu0hoJUu3wO3Vv{mlO zllC;U|JGptX}w`5+atGJnfwjiwO&g%O-PYzRwuuSnZQ5X^?F^<3rVXYCjvBxI zFJ92{F-tx|PxiuqsbdFS9+KKfI^j+Ikj3hJbEUWE=elGNFrMndK43pEz=|_wkT_q1 z2bRl&%7_ulph!tgWQKMqCl(Fs%fx@lv_^u+K_VskyQ%KT^{2gja=XB45Q1`TK~8of(UvDu^oqmcI{y zeMsDNogyIY5W^t`1??;71?~HP|GR%*zxmt0tu>4AU3O?bZuC}sHlek1C?tYftH=$o z9ooU9x7;=Gaa=R=V%};xJ0d`J?2hL0-*8-Td`NQmD?NGqKy!H4Cg)bUX{4N07gccY zV=f>!Ey47FUB*=1bW-!S4=*eZ4qlKGrSh-juh@n8&njJ>pUFWZwG$~q9)A(WgL?X@ zX|rbdI^?@w&Z#bxO9GSs0!N}=iN?6NIM?Gxk0|4UU0<((j`yN`d45%o8rRr6?>Z+U z(V9gKySbb@><8+&3iz{ZLMs??d9-bkT}3I%q6;(YWM=!hwHaVHa1Tj46c-xREc@ zE$!}lBnv%2Rq&aV>4S#0X#r!W7dhL1&)o2UF4)#2k!l-T=l&cBU;{P|EF1FgSrazQ zr6oJrv-whAeS9Si(urF6@3|g#tqL!EDJ5Q_mYQ^(j=htoOx2&ndg3GnJjgQlsX=hK zm;LwDe?$MS{E|d4^UI0z^gp-pOLW4|gnD^b=I@V_Hp}(TIZ?Avgds_x>#L_8OJ1f{ zj77KWWBRROz00gkR9X|hqusjGxfs`Ju8BQA*D@F0%!o~o@L{r1w~uXS-y>LO**;ii zy|KZx^`<`zthd}YJ9>vK-PX?nfEL=yXnXB9mVAv4Ff{vZ!FD6;+gfHGY-Ilx+Yy8Z z94d3N?gPAJk?MtQEnj7LkSO(?zVqZysW8cU2BZfnYnL*U?VxLQH0yM^p6kuCM|#La zZP}%H!Q3ziDq!sGKP*c`Fcni>bk_{{aL(kx7?dwB3;~gu90~uK!R5i{UlOSUkOAc2 z)-oX5CaYx-HaQ4rQT^f>kFf(?W3tcy*UNoUqWU)sX%LsOP6!&Hkgu?(=t6}= zPAHDsRRS6?4s2Z3W~W&05?E(&;u_pYf~hL-2sw9MUn4i-ni<;I!L_*s$n3iyEco(` z2oyUI?HjU>Kw=ETU6g27*JmtO6k!qCAdD39vEz6B@b~L){s(_af8tO6yL#^V=XCcr z3+{~*cFdjJpPtm+w3CkLKd`B#b9eHecL%$;Jl0`m6QlcC=CpAq&8_=4RyTjiN zcBn1mYr#%xpkH0?fx&D4JqvR~nh1&J*FZ-s*=_X%whiCf8iI16O$+0|Y1Wk6|CFF7 zz3XyCx!21%LG4@@r;nwk)#pC@IbA%ssAUNJQ4+x@NwpsXf6mSsCi=)PF&;mbi);NJ z1{YF9C;^eM27+?hK7pN9h%3h2?K}*H^1ByMaJwx!f=FH5BV$_dC%L{&ZqziH_Ri|S zla}B^dIx3CSvlVjFA9SO>Plin0bhUt8F|^B_Pe5=-acRG^|Pf8lyq1c9pjI|CI5r! zOM<_H$EIKD{ z?V9?Vo_;y=i*ZhA>zj@X^f=x*H7e*t`3EiO<05H=-!o1N9zA?dJv+?I_)66O<(E1+ zc?EF=Fy2mR82J&8Hv76!Hrg0lW}AJm%(@Y*Gi~_@<_*>vOdIxT^G}1*+r}{JOpkJ8 z>AIpY^|nDJc-RnBThDleeH+VcH-dTV4W@VS6szjfX;2tl^VnA&jEX0>iBSkkKgs1j zY;Wt6H-AdSL5Qf(rL2R4PK&b9H!n{0HVZ|M?1Z=RgUM7Y-i|gbT7D}V7%065IXG~Z zBk{5yS~A4!zc7i#U{}2uK!rkZXOwO4K8#ss$+`Ok~NZ8P5&wcb2J^%7^`sSkt`q!WNZFv!2bM&}b7rA`~+NPo1mmIAX z0)PXU7xIDj>gn?VS#loqVUSDHbjmDNlgWWHc?>jQW)aWG4_F8e2|Dh>&3YkGp{DKB z*In3Z3Se3Tcov;UUffZvo`b&RpxH4+-rfUCQl_p)hsU&CUuox=sAoqx+!m+rKG5ZRk90s;-Iqy8 zqC+^Dt9_R75sKZDKB`jlNyYt5z@_sP_bB5g$fwBVbURs}Y0H!o&D2ycB5$Pt1+pyb zZP$~b%hR@v44E|I3Ls(Mwpne?>d;T7ohH0AH1Ns(0NaSmzG@L^&ssblmeHhI@j`LI z&g{L*r9Ss)u0VKFT1~JG#@F%eK&Sq$h=WUBTn2*Qr(S+pf9gkmP=Dy-AJe3^z0i^o z&tk_r>~+SU2^?&eybLYq*CqYxb!crHk~B(`KWjpNPMfSIsDDBlNf})L_DKuMmfS$X$ta?P(_h^d&_qGGBmD-wDh3aK3+Xt zmv*FEN5?v0ks5eAT{Cz+$O?n5XW-UJrh%VQ2S~#pVCm2ry)*PtgKfbqq*Do095LWF(n3I1py|93pKfg+x*%S|b$lRcc8FBtu;UT-M$)3NTRK z9=riF>Xn(et%p1#yO6>zO4<5Jcu)kDuUmFb{8UKA-6@LoVGIzWZ-&R;Xe5MyZ7}A z|Ky+R-M8P>!Ht_rsgr+W?~>ihqsNc6VX-LWJ)2GBYsrp$O#s>OR@`yaHaj>{W^wjH z?geQzzfjMlAN=2fuz2{pSay46dKEvecSGQ~aqCVE3TyK5cv-I&@-I>Z1#Y}+m~=`x zYs&Zv`l)Bv*OJeaMR39{@$m3aC&x!RWDF*JyIhwnIE4mkn~5d_kU}H4Z#Rt1i;F9Q zPp=;Oia=Pudl7^R_5O9JBtKZT$!UVEC9 z8B-fwF+aR>yCBF8_&z#5)^pE2t2H~h#o|&O<-YyGv%27jezjQPGgw328$B;ryfr$D z3W3foMFpVz6wMcrm`j0zbPFlJ+o)rliUE_*89RB1pOAvKWYmyGT%@5L2LiYI69HC! zN)b`Ve5M^eZ{0?PN;`c-IO}SYa>%>Wfx0JriwiY%5cTh==SFMVt*8B#yl|Yc^Lhw; z{=G{*Xpz6r3_1Q zsy;*P1urM4Ox-Kj9nD;o*^*Ces$ZyhyGIVjC8-`Yr41vDPe5 zOBRFq<+(1;PiwFuSM@CPwq0IbR@n+W2hE0sEVa&SEnhvyJy)c4Ajkx=84Fw{e;<2x zl&M7)IpdE&P(q2mX^@Ek<6YOPmZz_J2imsnG$oLV%SVEK0SnrpYg*D~#=@Y10qe!s zV>0E0Tmn_xyKWp^E`c>|;qlXS6Ll=iP1|78)ZjW}k#<=lNlOA}A(NCc-Bz^WMc|kJ z$uH`iuYW^@MLc0Np!c}J+(QcpF&qIfeVc)hG}JK&#ch2c-<%fp??~Y$KyMqDtH}0) zdKlXcfdIfnLzRgUffcfWIw#sLv-oHFvuU%Mra>=kd-}Iju-%G4E;JdtLb{&7)q@jt z*g&u7vw{9~u(`Ne>LK49zxr^l*Ew!HP?C3Nj2gA1}C~n1yE!sZIHCw8uAg`hY<$BBu$i0X6>yhRqN61%{yJy@M*1Z>AKG-JTfA0G& z`-&Ys>PKv`?e=-gM%b5|w(Zk8%SV~2gYHfSi(Q083H%HaBWhqe;%1Fe5tjEs&iL1OxI1sH^pa=Tih31?Ww;L%c+o&eL+4~7kNM5uMyIi73*i3BvfUzP&DUDwLvD&v2~*zFj@Ubr*9 zT>b$cVhm>TYJe$6kJCw~oDua; zS}%L8*5r@fnq62=-67RuSH0saQ};xDB0>=WZW`*}v{?z?xk9S6`GSK&-?{$=GL8uP zr%}V)NYK``VA~G1B`?o?2ec=bbG`9op)Wm|tMo-jd^ej6NgVWOnzwziaXCr%;PgT% zvL2nE%m1T8hF&e#x;(pN*CkEbMt}HIAJ>XLx?*R0!6|_Q*_@Z*HScNl~ba;SqaQEz_Q5L&wxmPd{OS&p7=2vL3?9hyMa6w>^3hrL0I#Np{KkXzSsHX zr03=4_A{gy{Xo_Xj19=S=_@mPP=)ZuhJZGJK9JtL!8ZH&Y5K$X(ch@s=SP|G(_lM; z<;Ht?C(E7&+qm6EJJZ#sDk|l+-4ahfZF8Lvsp@?iGBN%;3Kl`IK@ zg~{Q;lE|=B`=Skrd}OdfSAWA0Tqh$wg2H4a**-^N@CJi5)Ujwzo0bW}AWm5hY7++U z1RK*0m@u?kI6_(D#ejvhf0iZ6TA27lEyF;=74j?S8y0{zCr!v_n{QIjw}&|cyTK-~ z8NeITm<|?^Afde*qn3l5>sYXXsZV3us9q$fSa_1Q4`j59eTvJzwzN~3GDt!FtP@wr zKM>#nWG)k6oMBWRpWvPZK^sw2eeM3Ex&Tj~c~&pI{Hk7f{zctkhjwyy5z`Z&CaJ~p>CS2z_I#tnk|V~o-)`A9 z1bx=?X79zYBY?P_7A#g9WG#VgdN5N%kZRjjEn`lMi7Srt>TgN9eW-t7?DZT2t|(Ux zg5=e+2-$}y-vqxM=?7#3w*9(%I{*L>07*naR2#mTH7v-PzD+69B0&>{To&hVUlBo- zi+X%z7RZh=G}Jfcq?|KpxM|J}`I1F#z@kd_E_;^bI$JU8w9e?J-*VM7aj+*+hwLZ>NJa{w#SN8{w68P zw1IwjexYgCX&~RT)6@F0`sD0fE%xuccdBidODR(j-dPDrp*7^~IL5 zv|U!FfSIx#cI+1I%dp)F={C!+ znUMh7#sK+&8yQng&M(!9BB*$0b?xt(*eOP2xzm_8ZEP56>r5L1+`9H(8BuCrq#>{G zF`Wf_dKXyexUJFXugb-R?O}7GkDvSmZ^)DS+dmry#=s!&8GzfJnCcr)&vOIV2gzi- zZ45U@@WwT0K(HaR0gwlbNXsZ=ylF$G9z1Jsk8Ge|A$~$U69X}n8I4U!OsG)T7#dBR zMzh>7u#-A;9gBf+4QkL0sU6%hH~}HyS(Igv>tPUOagllkY)|2O>KLRQs=TNUZ0hUu zh9c?{4j(v!wofI~5>?z1$ae&&0IHHLrFw-*m5F?+K%oc#CJaSPJX2tC(Kf7UWFlE= zNKjFs;H}7YjR<<8P^7I!@aqJhq{-cz`k9~kG5y@n{BgZ??_C9{Zr{E`;Glmw(g_yJ zf%;$a?dk0735)iE`u7BwDYhXW6FNB6qZit1VCPoIEwjiKc#5dj3rssv2Q*E~!nmn{ zF*TiX*DB|v$-#jp)2RmX+OQysK2OLS{3Obo2|huN{!PJ058joJ{2Va-8<1mgv+tmv zTnCaU<;>1z`mtXmLZU5^b5aVA|(NyZM2F3&(3`y5E) zIy)e4*cld=6I;t@I=Q_P<-TGkx?C*fz*xw0c5ti#-%A4V)#(#W4kya9My`{gcSBK@ z6jDS~kR8g;!c+3N8_3UPusKDMAd&){L=pA&>r4Ia*BcSL(UpMNg5m0>8~s zsT2N9e!&d!%suGo1Bz$h$1Odz62E7(RJ&2$r#j|lX#M`pOAs4geOYI zgf)kOAkh`o*7pO!KpjtcL3!uNd%EN(d7u+|#_P?)Ud<#6N2CFT-oK!^Rdw24WsA1H zKZLHfHBoi9vw$8GqN5wD*{BR;BW-N`XuhA3<<-{qBVcH`(|rJ}N9XiTg$j6gw>{gtu4Dg=B zwoUj=*l!^iz|tfq&2rX3Zqz}yhDf~Og)%s&1P&&Wc`=AXzFY>EM+{nL;UMOqYTOfH zEfbj<_e|EF@?`3Qh-Ya03n2_SA*iU}OS{X{!nRv>n`bq`_*>)%Y!Rgpz{)lWPs^Mp zD2VAGEn=Qqn=N19ZDoz*G7glrhfQb#?AvWCf?9jyrvBBx{5Ad8|LC9VoDcRnT0MSp zE-z3%id}G=(z8-d4<@>C>xOO->~8v-8VlJ_gT#vNaP6EYc}G@9U`n+A^x%YVOPw~n zohSNXGHGR>UL;%Zc361YCM(e=DU!;-!4Y|7(l!J>QGdUw7fCCE!<+@~^5R0dohYME zsUg#%rfCRsP*bU-$WDbv9qsKVrNfkoC0Z%5A~|>^cVZAcBIbm5d-iG?(Rj5W(pqWI~E7bO>j1-b0Xk&%m zyExUo#}72nE*t8YIFWef*{OUL9tP02+|@Ty`>OPwp=GG*ZE=PAsG|C~wy}K2?9i^1 z)vP`!sth*OXoSWx(6)XkYdLoMN>?RnbS8}qrtK$P=Va+FVO8!wtlQ`J=`qb{^E9@t zWd_s#L&5nN#`OENWqbbbPCuo)lTWFqL){1-lm(&!vY^tQsEO9&Rz3AXZTjY-p_P|IYS0v#|h z-y~$AhP*T2GGrzA#M7k}S3y(2VxR&&fX@x(+%V&}b(37zjHM{Y02n(!mr9cy7Zh7w zyj@=;@89S~W=j@5ZDT%|Nr9#Uw4jT8A%PD_1LBba7g$S6eUV6TW7&**q%P-%4;Vq4 zEF$TMpG=)VX6O_Dw&(BYlDM#C|kn@&3u$b0na{A&lp$OWaHZJspe;cwPIHZPD zl&?p=CLq%7O6^pKM>ll9Zl`0xb2$h4C$LM@CzB?ntU_Pql+=)C*G(0Hf9hV#D`@iF zxQy0MI_h<(>12XNHTX8vp~($nU{JzuM;pwh2by5hkcaEArY;eo7JkAJS=%-BCBQ+_ zf$#F-Qdfq{E47oEI?^8;9cy`Yp?~vF|C#O_9Z^2_P@>iVzGyyqjD=LoBCbsS8SEPq zB|l(_8xg|-@3s-xX-f&UwD>#k&Glb>_AR~nXs+}5y8f@@3wBYfRWHxAVta)mf|d!D zkRnr_fL0MKbx*Z^UDHr^yrv{y18ujVjeGh<*k{sZ#>JYTdCE@yEnbLz{jDc@{bE`F z;q=SHp`Ou1N2!(ji=^tEM{-{kcKJ*+Wr;SwB)GkMcAQ^XRM_{|5ZWd~1S=}_NokCBNx+c&Ak}~CMBdLq525jDKm=vN2>KR`fO0yxj z^>ly%Gg&Rtn%K66XeZG>;vua__tv8aTJn<8^J3Q%%%8cHs@}=)j^Xw$pbCEMD@+3x zm-@iaH#Fj!k6HUOwhgM9hx^OrH$UpkoBkHSh`XlS*Hs@iqit5s$53rZuv1mm4@5>v z^=S?Z?rm!GhN|RI72w@nSwCVYFfu=4(+2Yf(+2w-!E%G;#s=$*forjeJvpim-qu^P z!#ku`4?nFN%?k{QK?5CJ8+`QRmNCE=k;1K4#HJuA@0w)I$R6<9lhC`N8noam&G1<; z&{pVr(i?A(^?)aEM9_{n#6F?V;0z8#hK$++*>7)ti<>c^ji-#(jHB5`(z5 z>CG9akOHa8<0Pi-t71~WFAv`6F+^s4BJpT%A6reSt&AmBs(vwp4s9^bz#sY}KdkTl z#4Flt=K5`R3~g$3K*f7rVcbpJ=e44gF?XcQ*v66~{vU zp0!x4>&N`2ok(>zJ?P-%rY5r)i~XD()J8%7CGwuKi|Zzx>5v_ie=#JG`}lChqU3RW&VqV+_JoCYjo(Cm8(k8ZRxGd^cIN}VKOsQ1T}PP) zU0uy}PMRh9E4~|@pI@^0E|r^B&)m7IW7^VnE{x@tbm^ecRo8q}sl9@0<-ZK!Xd zECY7NPLn8H!UpjNZrivI3iTWS+q=iRrc+^jXWk$$E?4?5Kl`RW^NlBZ0)5JEt^RRd z+JkB^mL$-SLmeKEb_U;zl@10%h z9s1!u^b<}V=IcQW)w=#93g6~dleSf+K83su!`S{bM4@&xBzKXo?K5gWxz2`5zL`Eg zJ5zF?=2-RFyVN2?njJWy!HI!D7d5Y~-dR+zP4ECP6Ws^1yOEhHR+!#FMSfUmFb&wu zw%0J~z|MbPjyVOf0@&S7Z_?Oc+UX3Yot|1k*3{ed)CmE%Wd_K4j~-wu>4yPcBi^?k z<<=R@TR(z%!>BX1&N9I4by?tR9#v@O+W>m*T9JsPPu%)RhUx*G$Phr`j`kvJUo|T~ zkTa4M5z5KKNwT=d&=Yfm@xX-cX{`--fcHc*?*LXYKGs!VnD~92c#Jy_^DXC4N20Y1$qevj-dK@`JHdR)mR3Y#a&_O!lsC@OzdQYyNMRvm?z&gkx;PA@8 zri=q%yMc#yl9IiMD{A{_#|Py$T>+KbLc7bXN#nqNOG8m#o)Yy6Nx=^yl1BB-lidB> z>S`Nkd(jh>uq?1jaCrwbhk67hhyK;)zM%i-FaC<&c8OBt(IW3VPUzv zT1b?kZ99TRtDyaQ-q7bPUheBTi%3tObu8}F*;L-?^aL6a&@AgZrwIbmQtRcKfV9?z z#b?d}wc*450PP^sgEt&G4Q^ynMK>zdOS#o#dQ917HE##3Lb>ceDfp3U8XBi(#jLtv(biekO`D2XC>MP7x-SuZLsFM*qZhlD3jY`vACj+%Q{Z3Sd<^!zpsZ6 z-ot)P+Tc6dO8@#F|B}{ERumH*1N?tBvCZ_xv+RrDQ@j9>oArf{9s%aCc(h? z6iT<{k~VCyZ}5A-$fh9rZ@+p^|M0iJp)bCD$}!o69-Uq3l-=W;<76MX_1L?w{qpAd z*Hah6hB3dUKYIMTeiTY==Qf}SwxN$*|5NW&;4Q$__?Y~Bl`P%wQU*#q3OW@C~&h=Z1$NG))2l}nE2l^`MpD=c* zfo9!Aw`PYrVLWuad<1P)+m*HqM-|#W6gG8h%S1$20$@qm9&(&aPiaFL>R;YZ=mXQ; zjfpT8$?AA2c)C`bFi0{YJAKQAko$w;ouK-L9>#=K#qM{Jp4-|lIh^#IJFm2rk zqii2TTkUd>*yU_vrtiJ|(@N2(Fu9_>30DjH9}FKLF+dnEMip?!6c#`ilmCDoR0s5C zDDuSG(3;!8h8@Ztxd*lND;7~$Ro5yS%wUh1oR8(<2Np&N#(}N%5mA#gV{tlc8XZN} z6zG)Hf^AbskZ)~F!JzTefSMwaW+yAOL&m|1fc5YEiBIc) z_n-VNtyrWo6MDjt+5waMh@DGIz?%|`X4ti~6HeH5EVN)T@d7?&r!k$e7@XYH0lS?J z+lDrE3AVeP)pk748HwO9J3P{ix9b_UlgU&A?Yic>L*%5Eg{5(zp#KKG@d%sMcX9C zkQj^BIS&$O#X_4>=+JSm!!0)#V*KQ!L>&sUoCLzGJ8$08 zufFj}?_R9+0^iF%sw2vsb*NTULjL8i3;Jh`_XV(F&aA2VP|Gi!GZwn0(SnzZhWWWB zkH?o6`o?zKBrVD*$c%~eW`>L^%fO@ zgn`QRbCa{qcrozz-JbSqhlP%BcCM~4RK2$5v>=@6f)@a8YhoJUwrDG>6c5`QMkS)^ z2pQdN?i#`}bKpI+^|zC48Ed!TG^48OM#gwA&zcv!#ZH-OArP3kPWbJ3%bn7=Cg5S- zurEVgZ_6veV@JE7HBUtKwtP%$Y~Eny$QzqCm>%^bMs6`^+hJyQx})y4zW?q|(^F`7 zvc#;bWGbHD^1xB8d?9^dx`k2%x&la?07~eG3PpvP)w9qH6$*iF*xGSCu>q_fXz3oi z4N-4145~+%*!S?(ZQCI5C^As>>4iV1q^@l=X>-M%_!BW>B=YHjK^qp*9&j~(LOVaO3Tht z(J19kJp*ZSa4456B9tS^<@F-f5Y%#N)DgHHSf|vbZCfQ4u!$El^j$lV6mlLNvW#qC zM|yR6sZ#>dg%>b(bUgvlzc4dLzJaz)+ja^Teg!>ETdY}}ON1JNOxv}(`{Ijw{R>~w z*FOJst9D1&LhV}v18~+8OpobI)PHG{Jl~rHVN+zH* zI*crzNO)fS_Pr+^5k*YCY`U*CB5q3%6+tOpzyKH=!}ilfQZW+2!X z`eH-htZCOlOe-zz;}=O{;TG0nRzjp5{)M1dgx2 z{ia@h_F0Y|2aba0`tF-AX>u~tTWPL`vCw0!^h9f&`6yDoycTrq24@}{;5D=0oznvWjG?UqIhTtBF5${CT>`2&w zX=7}z^M<$ByxT!0w0~i6&DwIGw_@b2GmNrPZfv>1I>U~x$a>307kE2^8)l$^iwX;rd6Fw*8`AWE>E6K#2c8TYg4&9OW({nZ5aw-bJlgfxlB?>Z$FXsb4>pZ56b59c@eor!7_l)-~S;*Z7FQ0I)B&vdg}~#$}F(y0{9w;rOxV8{dYsnZ6-A z-r8>{=cFZVcK+yzo`3$fsE%4?7XHuyWuDPa9l{15*@>t$Ir7}~pBZ${TfU%;425y- zaVxAd@?+{bRnoB<9r7LPz!;dK3xysM9DeuSh5q&H@9CGna!uYc5 zi?4rEU;W10dh_0Wy>ah>zWDXG^gCa9UH|s;U)65_|J~<*Prv-R*Y&Ty^tOKejmP@( zdsjL=@AdL#rq{}mZfOE^E{ZxOUDD4%S?0VP(zsfIlcHkJN7cH9RTUQgYag`R1us&M zE-rLMd;0G{Ub2fko*d~m-y>I&zWnw#l>I`=ONSWf|H+U1w0`>btNP>V8U19rsUIDV z^*#N8zN0_X$A+0+1wLL5^a;xNiE^x$nqx&ue6#DdU_4y1^Ph8k?6#bBO$}}b1h!ez zX~MW0gPY6lAUqI|3u80c2W2g+M?JgDTSpsFJ<%0g98%?ti&SZGnFrN-l<&)`f`@em z$a>pmpMQ!rYq+*GVS&?`Ha2g11oNZ(Y1+KOw#Gm*eGLdcK=1RT!ZO3iJF}6t+%WRi z8O)E^^k_3;%SPC@vuxx?ypx4_gL%V9^L?&JUmuQ@M(A%hzM=^6>soMw9;&Lr~`I!DTP+N0dEL!4m|G1uA9lb zs)j|plnw5CCH#t&DPbQG^f7YE<(<%m05QcHhTMfsjm=}e(Rlc{l+(*=vROLzJBE^-_$RE@lE|pc9OsJrElt= zf8j0tzdrj7{o~JmQ@{AdclDV!PxbcWwKUIqwLj9wh9ljHnV#c&ndhKrTmOAi(*yPB zfJ|B1TAxH94~m);l)2DRkwP2h;G$nDrABI!Higkj-@L^)uk+1P=fg_(&YtK^jv9Rw zesXZEd+h$td6~IjcYoX->#zU7zoS3$%BS?w;Z1#Fc3VFN7#Rd{G7CBet3ydR+hj5CBO;K~!ayC~bij5VWGV)t)5w9i^^TB$*igQRq=e6wMa+J@VA1@FNFtdEWjE1w9Y?P-g7&N) zo1UCJqa$_>gA(|L8hrZuUrJ3adm_F4o^h1>_V2x=v?^*sYLwaCZnWwdRgA}ua-^K( z9kkGkOd|pm6r*gh2R~dyNZjJ8L5(q9kh>kd=-#9b$GMdQ+W|QpL?d25bZcmJS6#(3 zf@)#xFP4MOuQqy*?_cknuJ!eYOMT&;Oa1QK=j_1d`ugLg-acFF2|KZ)C23bveWX7E z4&*;$b&FkD!*L$*fEU)xm>bA3v{A2)W6uS_s*P5Dsm!#+ikFy7xqZ7j6x}3oFi0n@ z>8A?<&5AKFP{}j;dWnw}FC2Xdy>t3RbAs5N8_(#JZ;~sHLD&68Z@%>n=Kr8qUU)@k zP0=^Yr54Sg!`W1K4vzHV(G9(FcuTjZNAg@h<+Q;^oXfuG65m(6IJqyD(5D=$UNC0J zUNidpa57QLIP02*v6FSe@q2<7ZN6GB>i8>^aTZrPxG}M~*2(F&1kVBl;M=sZ0h!yu zWVMH{*aFkGHH^Gv2J@C1%o|%~FmL=n6r6taXKb)9a5ARes)e+ncGo_Q;ZFKK8fBy1 z$lGF{9(l_~u*@)~4Q(6Qylt#AJWX5ww0z{PGnhB*r!@~`Ce9yu>Cb7B52*40kbvGY zRU3kd>tsnu+h6w`EQ+IEmK@AZ)J$nIc}7lL&u z+ThVaas|C&wm7IQNxx)4T9`+_#A++w)FZ@!{GBhk$`_?JLMnNYsf#J;s*p0qmOxU} zhf|J{Z8KBMns#TlhYG37jyDeY9ShoWv85u=#g_IHb92riLAyO;XCbiaRiFw>r5C{} zfDc+*lr_Yolq zuMG>wK;UnhP9+k@eHR@2UCHU%u2s`E8r!O;V^-`=f0W2E2K1DVHTxODDJVy7vP7OKgHtHwL||?RlvA}$ zvPwCJx~{FdfrZTVbv`cN)y0`?GVvQ z>L&Cp;G}PLv~Dz8W}wl*BI{_`=($y=kM{@qM1Rb2-HC4Xo$ipf8$vVkXc=iq;#st0 z40+to)vKjEREK&d87Ce+JE@3zO7y9YO&CR(}%hu=sD=TegB^3wErhhZtIm>xAnDhph;AF-6tTP^Sy3CAY1~T2aCS1$B#bQ*-(}_`crm*_AScaFfLLGO?dg4 zb*&Dkof7gjV|@b@cQ`xzXKp23Uj=G}*wLVRn>SQu?_v8rR-?_ne59Y&S#H=*Z`v}$ zNE;hQ*+}pE8)@tIV6S#a?ZAcx*bm&+?F&YmQEuL}!L)7n=}|VytusA>^_Cf1wojWM zzO z(GCiHfes~p#KP}sg(Laertxz_DIAzB4btpxvw$rMB7+pJh(vzD(|1(emJ+n;6}BkC zUN)}spw2-_BAf;bV{8((suxVfvK6o$c7Eoq2P?E;LH_kGeNCVJ!sql4e&JuzM_EfI zw*$+X-Ativo}8U4=T3tsI^U37i(t`>h}wP*AWM$z3Jvc7H_&gM*oMX8LMs**(=(2R z4h~KzVNs-z|4SL~z9K?7wc79|ydA^(^kV2gA;rb^|J z$i7A7@>>`=Gz zOgCbpHb{rPeN8EQMB+t|`GD^$f{%mnn#tNKn2SYJM?HmcsRCJ{O^t&Tnq%3veF+|{8Fcw!V3Ugj|9LQGm z_l7b%*j+FOF6nR2jY9dTmRkC)Wu=hS6rE%^UX9j5^D#GgxNcVESp9<%UsiY_Mzx%n+ziIAS|Pe0^JPu)sQlX@lhk z%Zx2Em^O^`h%FnzvVE|8pSMqgWg|9iu&rf=kv6stuvq2|@Z)Xv&cQ4CzGr`OtG2+s z%V3BI)k(pk0*iD|fhY{1fkmk>s0x@Fyp=Op24ov{1_J}E+E#le1iB4?hidE01|c`# z!vov8fkmRgbK9*saFGL%>wr7TQ2-L+q!t%40WFivi^)dzEVSaX#TMplm0Tus!h?Mo zZ$a3jaVFYHN+8oUn6kuR+Ifo0eC#l&+PmEXUjaw9JhvM2TMDHKG*Pi1rh<}%GHt(} zHv0bWepP?wr+-S*Su3S1AH{XeMBerIJJ5_b&*`L7@N)K-7yKXvD zM&DvL^YKf{~ft+wmbU{?lujPbG||A?fB&;aj%bmqV2 zes!sVz?3O>LgyfS#Zjz-(uVOSt~HC@99f|}8_MVZJMHS?LQB506w*YdZ1`*`$02$9 zo8jzWrj9^1P{(t=JI?2qlzpW~5ASP3aQ@-%eofEJCYrDi<|G!zkhoX89IQ#R0SXmL z1tBe3pLA<70iT>NV714kaRqTsSAoH4o}AT4;& zSpq8-4EN)jKK3`Z%la*N(1t*pQq}>-kR5r8akN}60I1$p z8!EH+u#M#-j4I1bTfR?Q_F=qbBiP32M!YW{W&7Cl2)1=v!$^Zu)mvBz9;Q)1iJskp z8Ox2WGnhA6W^9@15nE<{#HL3WWg{Nt``CU)*q868K_9@r`a@~kI33u?HXpnBefs#V z?`NlhaM!aLXDx44DJK?`VOxC$jwistfUe+4%|t4OovydeJU~K~D#tIG6=t+OA>ysD zpf0L|%kn|+p#f9dV7|@M&tgudDqzC2a>-RoTPHfbw_-qVEp4IQg-=q=Q%{L*2Raj3$#tGlJS| zcBDf8(YTrr#BSZX#W$oAbu9}!{Zlls0IpFFq6>wnmMB;x2in>}K}b4wM45c2hew(o z91;Mg)!&pnrW}9frcrV}ES81EqQUMv8>r19h~U z$kc69Z6k54+3WQ5RA*;rnqSSeX3_IbuE9^!Bmz9`L%kg2Uj5W3^r=sOTDPXuH)j^} zBrz}-t6p;!Nxz&K+^;Eul5Rou3W^IK64j9ggeEFaMPP#z9`_i+Nm+?JLS#{QHTK&f zn_$8u=V1DiFAHod?p$bb)NAj3Moj7iif>h7%t zZ)o3CM2Z3@xqca+1wT#XDqqvb9{={yBPWTL7g8H$c3GhGtgL_g(}C=q!ge{yx9&wT!O_3oRm>p%X!AJ@-*@(1-^TIkJusc$Ag z3%yn5@;}l(=Y{2}2DXhBtT!vt3tv5ru;j(YdG@?8dEB?T)rv8;ARrFZeIO9tm@d^a zXKLo!UA6E#+Qrd4pxf2Fnd2ZEV=LG5=xUbhb18FuipK>qb1cu()i! zj6oZ~G!BqT5pXQT0*PyfDisK~eqifuiI4)6Ikdfus|y<=GEdV{ri5((svxe|flW=r zUhB$rdAAgEQ%khVtCb!;S+bY}$95ZC`g;~TDjyNvefBxM@WKl^JUk@7sEf4!G4*_Y zT7%UA0jQl$Sbqjx@|NuH6_*!JH1IwL^$-965CBO;K~%lLi}<8v8H+3*Ew0vc-ey^O zSq$2Cs8tKY=$kn ztcHN(a$T_)uGpEToOOJBtOEk5lMSV4I-BX}=t%avUd`nr$lSKd1Z5wUt|@QRb?UlC zzxP|8)t7$z^XeCCMT)w(duKLhLHC$;pEJBQ<;|m!6mA&R2lK@}EUutAO6^%oOjQ%i z%$u%wYpE_}C1`pA*(?yhYE?YaTyG27VRKa4K$KSq9zCqM5YeBQ9(Q4 z10|WI$`zhT8@vY8P;HVNpaRP+6r|WiU}bt>90}i9zETa3;y`dInnw=A!ZtCwlevbGm(WQ_s*Rs3>Qz16~$-g5P6~EpMINVEzufJd^x0UvBgppZlDC z;>C~awb@Or@cWQpb}wD(UYhIeywKajLiaf~e#Fb&DdTBDdt5TM{EI0)-poJpE+3mi z0&7sFv-1mWuqpIq<|O0fnN|u(v`@v5l{Ow>UpLB(oz8e4_GM1DuN&!ox$Vu5*f!>k z4Wr|r#KXKWa0r#EeExxu{g zK3F!|7z5m@^$}NPz_tUq<1DHZhY9fMmwt|2!3mmBun;9i>xyp?0|qsqjhLC^x2(bh zv#XGsjx_iXnRyBn6k|Hu_C%)vs5({zteGUiKnj%r3z9TW$4Vg8Sz;kNp$=v0{LJP@|oF=sY$`R$>^IR@!=PFY{YUHE(F!foyGb4O{v4X`zd5ZVQ$ewhjaG zeJ~~biEFDDoT)+DwcvJP$p?*|yM04{?yvlLJ!JCDS)?O^kK2a?jtL9GMnSy~2xdJy zh82tPgay87CoJ5Dv`}FOypeSqg3_9|Sg~Ms?4Aw|kJUAe{HD6uEY(eC^5W@WQ+S&l zfS_DKTlMt4|6+!Jg?>XBybx@7(_Ry(3MK9t2Pw0FYLFt-QHCiChx6P}riOqq&@WE2 z;%(f=gg(*?i982(nwK^3ttn%Vy?2H^i_)4rHoQT5=T=DH5oD$W=eEr<93IZpQin|5 zh6dUJ>-hMlX1gG^TrA0>P^_d(TQ%&&JhqnX%p$d#5a67bk0+aEBKLbxu5)(3Klj)F zs{Y#l{6D}~rxoq7rX2?A=%eJ8dMD~S*+EW8!H@4k1_d9!2WUn%e&L`=4q=IB0AdWe z$#%=Pkq8(e`{t>E7ckEmRmVK-Lo$brDh%|rbGMWp;E1oM-=#~+?6UL{fk0}Mu6JTi zli{s%X-pRl*woUXArZL*$oU&PO<2bKb?|i1ToVE#axK4iWf#Lz8+M4cbAD3}M&DUp z>Nno}eZ6u2p6;GJqi1j4)ve=OI^<>Rh_N`3um7x9L%&Yx!&(A-cxTwb-IK6@4~dc7X=P3@kp^bUdTt+dozK8|F3J>)3zocZG4w!B~rtq7QxyfEE+{74JN z@119EsmK2nFI}QN3uBIh4Qk3AfNx`i3uAu7rboH4dBdpRmzlQQ*fz!^Z*19!O&iSH z&h*n@x%HNh*tB7vA8FeI$$G{}MM6+v%YEz9`q9C+YIU9VX&a{-L0liENBk|f(~P#p z=ASkiW!75<=4N1+*@MvzT=ihryGt|u*h_ywN{tE=)dfigk6yN4GU#%TXpzy$-AyoZdwK9TeFZD{EHTa^r2McZ8K3#!x2+U89Q(U zx`^s$dmMVG2>~mSr;xW@r*_iS9hmFW5-6o0K)Vf%H;lg?NvNefUc9~2a}b?#oVemB zD#&9+AYbzK?f|^t4ZfSrbbNAChsQ^9@HIF97wT0QCk}AIcbZ@Pd;f+0_kZhu!%^>* z*3`vA#KG(+H=59vEd`xYmrNcij2#TN^FcHpWrT;Ii~`)d*hq-11FKZ|fN!TuDbxUy zCd-TYb}ogOR>DvbP9Jy>DMd+3#e+$3AB`gZ_svz&N$Y5HEo=De$t*?&S^~NKZ zN0)%@ZNUgz$p@dKZggNgT39#I#@3Cp5nH}b+s0t|K3Hb3>}h+;4Eu7^hFu!^-WKnJ zb?cu>K0}@yK91~Vonfo-a|Fh9B}Z*#c8{nfO6r+#Yi5S?RrOV;IaUEkXKAywBttI{ z3C@}=jL*VYe?OP4ubLd|EjL;UiMY%=1=UAlPE6-g>DcL2IdP5heT`+?5@Wy}v|f;+ z=+2!J{q#@#sQ$*^`j7ZVu~y>kRn*ZRx!v|HM}lkKJTF-w{H<@=b{f!oVOuU1S}|EK z&(8<|8#OGvhetP9_&fO*F9xq5%16*kDU?}gX9p*m z%?_1lZ|9YAQ*FGnN-3*#U_;mO&8ulA^0DH@=|lOLbHVZC)#ZgQ{TEBv6^hG#+cpa) z>e=xHWfJLI>Y74o(A8ZTycbsQ@&adEY)u=k*|Dv7oA)0le)Q-8eUSC<{`o(r|I`2N|Du;(d5KgM zk!RP?MigwrjxmFagGfr`E3^O$>~^FSdyHt&$=_+aFRx z!$6Fwwm2-QkD^F07}=Mpo}4rM8teeG#;<)BD=RJS+azoUY>jP0F}GG`oTlO;sw~%` zA;STStc13Z+69r;)M1V1jQ)_LJ%2lWrk&{{(-W<+{2FchnKynx@U4dD8~VM;PTJ9_9OZKMi(w z4qnwOC*NNOaAAOn!72hmO@iL$$qx(QllptX1Hj7J0x{6(?JupKOrg;WK+ z6<}0pA>G1Or+Ou%5g|_q%Ttw#Qi$nEIiOZha{`**UL!&gfI`XO{Eb6AB~_ic?9J&> zTyqfk6Y#!9_%Vb6b?|gbfw$o2C<$$^g0?^o;2?d%V}ag!mM=^nv#a?0*Wc9N{yYDL z)|(>leB9nsb~gtc=`}2_4jMgu^Z4OIoj&1R^^cH^%8eS=Ej5Y=`PkJ# zWJ%jx@qKYgTSOrD4vyX1*S_!t{b&D&|D)cyPkkG=skdn)n2xd8v7xGfa zzZBYDxPlJqQmSCUhi$w_7mO+<4OOT%kYLHjBhz z96`Rvi_-%F+avn+l)yIUW$5k4kM&ER`8PVedq-1_>o*)zPSQ$8HySdPs$*BupuNi# z9@%|*l;j@pj?u|hp{z-+9@nI1P|vM*qkNa4Ou~=g6cm*a0x1p-jh0`OVCl%X-63k(lxiG zV#jaOBcl*Wk|Dqbw-n@P3AvR95>@ask!G8!AahRQ^1?IFPPd-BtsnZn@6!t}zs!-$ zpeA<&gJ*Q(<}*6Ec|+Z#mEVASg3N3-Q)2PXlZK;|Q_U~uS`%0Xg3p|{(glG=T!q!s zM_IFjLww!Rl5b2`^GjtG`L3O4Nt!uFGY*7pcTg97)rFW+kxx%x>sb`+XF<9$^omFX zwO&5%3;g8VNc2fJoyy01imXd^W)I%Gug6awY0ld=>%T<06@hPnNe)Wn52@UA)z_A8 z2;`gk!jkdbu%leDFfG_wxo$m1Yk225CBO;K~w0)=zZg-jN4 znS|hm+1Ag`fxZf*IvbLF1+=O^moVX=Cr@K?MOO$Z3HOCm*pfa|FM1nGVL4QJ!4+BV z?CgIaT_yk*1@$V{lP+VuqymSj(WGs4FlpuSwxX>k(dgx)o9c(q1p(&E?|ehTsRN;Z zo3h}2$?>57Vf2jyzUiu{43rE1DQEc`vd8E5f8^%a~tTg(b z{)UdgkIIUmHrGRTYY$?j`(>#Ie4~BBPJGUe>~+59{mQTYYaPG*q9P|{ws^Pviy^Lv zxJFF*;NHK@8{U_EE9JC?QS-F@$d7p6&gm>SjP$5CZ+gV0Z8zel<>rAzJGv)rwgrS+ zV)ryZI@*aU8fDg3!R}#x)Qxzjs>pg1BOd9|b{~(lZAaSnhLN|?Z!pz8>Xxl>}2FZq~15D+)`a{dDWZB2d~j{6+UQqGzk9@ittwrMF^ zQA04BunUq>{bdganI!=-B5OK5RNGDzl!e@|%{pY^noK%1ZB{1FN!Mc2AU|NkxRC?b zVma4>pp|l_{H-!OI-C&n)&%ZLZ78D`{!ID^`i@1gCAiz~Y&sDlvGQuoBD!Wl%ak>_ z5tO9Jw5=pB>eK_G|y>pK5+_iN4+}prHwNr7v=uWc;LXp7vpYE?@-`50^xCVh=p#4p=!b5+DF5xp97zxH{U9wVNzx~Wn|i4n=z>1IkLSn0BL_4GH+F1~ z=;Mp!Mql{-*Yz8}{u#|)dcJ1#>@!I?(0}h$uyEl()qbD0Zj_t0Zp8a?(+2AdBW?SU z-p8g#ooT1}cD!{4+hLPxAaXjhjz_%77 zWQcf5!9ueoaA5Ta;u<7RR&k-NU9iP|R?ldjx}6@&4H=A90Y6%Ma-PPzPP|~US?A6T zZLf-VJ|fHosiP|W9FJK{t7^8CX;}FRDrBDqYY$SZj>RKcxdY2T2to1!h*H_eB`wff zSx-Ym3cd9FU9HdOnluxZ6|tDlv?e$`=E!6qh}~q;9}*C}E4gCF(hw}x1e+y0po61B zov@RuJFy!#G^xMEIBb7anZ+ch?IM%gj-$E*x%!3)LC?5hm(;OC^LIK2!41cQOY(MK zPYA3B1hQkk$=Pg^yYMLFJn>uvJ8l7sd@Z)}n@yLnRs={F2?|IY_0XRV-@ z^oVyBQcw$N6Wc!YAf|Yf!L=*$6%iDxU}-UO8pQz^PPR8L;^|^r2c5{@je=HPx;>q#W3ITbsWRb6 z^7l9YV%MC2bHxkH&BFr~(zvfgj?U}!>{Mq2yhC==FCHK3$M1ezKbW6!PI|~r>`5%@ z{QFor)<<<9PU`jEu+k&Kso_Ch>0N9d3`_a9AV2flzoXy#+Siq)ou0kZ=mS@w4nUO| zZ!2Hf4?L{1V8o_J7-hyI?Cb2){D^I1-Z08c8?3X;VBTPv@rS|AF4flAH`pnvXr%WY zjWQcpZr<4Z2$t=G<>o&OKb_V#BaFKJw3dy$?Mz!{+F*Xfquesn#v|Bflo^}f!9jbX zA9>+tl~ZPNBJ?ZQ2O5e5_~Axh7=Ez@CUanJ5Ohsa7%0d<*h1{?Vx>oSVr%2Fhqg3NNa3QcEvA{L!U<(Fr|Zkp z+Y-Yl41Ae4B!r%nPHZ}=??C$g9aSctwlWU++CJZ>66I|sjXwRye^4tHiJtEeDjOXg z9qOYWd$s=iD*t7Rciw(Sk&;es9IMF;T^4|jqdo_w$)r&2J!(c8}oF&;xa>WhNQ<+glq zex@6Y$%H{+jujd(QKkhiR_E-T-+g#rDQC^-nVJPTW8Mtkv87vP1|M%?t?99g<(u!=}22{FmJHVV41OD zlv_5^BevdPegyL$22O9V&iHBjZzr?;)3%n4_NJ{j9>F@(Bi_^BIe1y$clW30a0>zM zIvZ^dFt6Sp3uAiZ9~c#u4;BJWZv^JXucwQla%d3oEbn`T6Yc`At}s!pHCUdIZ*?2e zobv4~Ga1CBNVw#f+(rti2Co8T8dE5#K5Q>86fOxA;;8mK%>qs-=>(Hw)_ zNmVN3d$w>P@iauW$Z!D^Ndp)pJE)WT-b4Mu-~F$2|C{%eQ?3*E&fVw0t$G%~p0d91 z(u;cT`R7QI*je<7l2`&X9N797AIU}HDg7QE>U-RZZP*&G5CHoTXO*ya~ zhzxDps&%lE$VFCC&W)Dr8vCBH!g1;RYEk*sYN3m>Go7BE;X?$iBTWd%G$et!BmJNU zye$0Mul)v32caYj0nLg*>n@fUqxwrh!ssmivKY(!@M5AB?er+*VQT z!VX|V3Ecn}q-A`Ne-D+D_ts)gk$5bCF$9j$9M@pkB+Uc~cbyik-q^10)wC?+_ zjm$6f&wla0A^){*-kMOF-5p>9NIOgsHPXiBT_)4=Wjh4i=C-ht*=CfFm@3gms$l(S zYIy|<_5qJIPdl(2zTW05vG+h`Ti0E7uBR^yuH~i;wz1=p9`Pu*&a}Zg^ZVHHeX!nO zn|=8{ZM|W%F*d(%W0_%JZr(N{9(Cpo))_|HdV^&K;G;LbSN`)@Zm0^#YQyguhH(o; zA}c{vSN)l>F;Eu!iYzbk4FM{#lku@%Vo~v%Zb~je(TZJ6uKGsJg!I6aH{+W(Z>gaS z_PgQ;@XA4vVB-E5z$uavzPffI=NtHoz^5}+$Z6)6mo>Ovam-ZQ=0Mx#>es##wi|-X zhF~MoCVb@FD&-6W0eVyGwInEe7quZMD}o{n3iaqVECjt$3hGJun}!ikG+^gr!wqe< z;+t7Y4MCW;gYMY?Jwd|0k*?W=QUx7z6x&kA9ws%7e0*tNR~%_wu;@O+i^328(5rgk z?y;McF(gGMXBO@yJJTh;{1+*_m{TexN@c8imF<%{bIU=`0@GqFR*axxKL#_TCYi^f z@FkVq&z1_yY%4B>gdno3ap#P(w**9iFry?bIN35V9AHkZi}@T0^xRz@Bj~f_(-? zh4B;tMG$bkgiWq~wiYf~m6N&69_L;+Q%5jsMADkK+fpdq_n65qX*CaI_s^d2{p^B1 zF4dOVO3*FZ5b%7;v8HVw6VPsPB2nm{TJ8Ff9z8kJjgw>W6YN8CjucPN9_i;_`~iKe zIntBZ=-s%~g70R>G114%kzOuSwW2-naZXS(JVt*{3;FLue&xYC`se@jpI|YlUcu9a z2G!d%K+&&R8XbF8z^z%vqf`arvJX&I?C>Zub{dOK8;@|!n;_4c-q;4nTn3P;99dOW z0nF~U%wXGeU7(%v8aa`zt_3^7GV6A1&FI6qhFF~d01yC4L_t*eQ8r@Rn;yY_EHhZP z&zm+_XE1FW)5arjJjyILJ%agt*q4v=n11A+#^}HA?oaCO;YT#KlLxm!zL;pWrO9X8 zVI)8fTgBQXvb{C7sk8|j?b25yk|47kq;^T=%agIEp*_7aii8kTo<-*j=nIZNTL0fG z=rZ4oKsb|Fi&QV1zE3-4U=mf8piBgXuq444Opkzwd*nteQkpg{OjOk?kO~NGulI4t z11=C7w)F^>j>1GA^yM$TrN8}u{m=D#zxOrymm3b){TwjCZ{K~E??#8(3>$TA(xhuO z;|R_Rhyz8}HrjBkw^=V)TsHU{Y5k z;D8<6%^Np$a&n>+p_H;3c3>Oq9E=n!LVRc+*g*+<`|Z)?j2!`1B9GM8bQ>0_1;NPy zB@~psqud9&apOn_lz+-@tR=v-U8j~~(wtKbjQ*bH?}Q#A-g&O6+rX;nazoLKf zt6$PL-+e4!B|JB4{LLMRIM^ zL88)lk)N!T(;EtX3Erh0kOyT**f?2%9su*k))jQ-jpqv7mcRHj$Qi@uif}L;Mj=_xVwW)2mk^kJ4 ze{)f!U1R8AwgLAB>bPVaUGPoygzseofv%7^V_V33SoLbi>n(QCH|{*Ecg`Q`YH_Z= z^wJOM<$S;{ZKZoUCrGY!!nc2aQ@a(N8rl?By3&BQ*CVa;?!Yl6LGjl<_gO6$Z;NcS ze-$&q1E5$C+uQOHP;G@gZ9_J66wLl@qY;ps1l8NL)78AqAgw&uGUr3J%~hy;r6lJy z+KzI&u-s{q_OH>x*kH>MKW%5-zHFrTeC{?bg(`H zc)Cuv(}1KpLO_y2QYylphsu^$Qmzp22?)4t+5A+!f@h%H>O~ofoWAUAg-*J0IML7l zg`d#>^l$w8dhNAWY0sh=6T2rUT=DJc@?y^9Tl1}`=gl{1#Zg^Q->z$wBgqRuX7}Wr z2GSUM-gM`r6#=YgRuAw4LC=f4cQri=ynp?@28G;cI-98{NG$l4*0YGG)JQCF8+JH_ zfa0?B?1l=y5{p?&ei@rgP-@y%qMsts|Mcqx-$cA)TXOujWT)isWD9nEtM!6BdZm;o zbFWMw%tV0=yTT>G&u{mwgVS`PrfD_fJDvm572m~5EyG3w-&Ho0qh*1cU`LMl8suLW zkCfC>mI=YKWA{0bCPc}oSI>g!_B!Ehzw=9g+mL!693Im|Ss$U@|LmXo0lo6VZ3T(! zZ=n9$fFNZhwJ2I}28Z|wafK4Rint5?(~Bkm=xK;*VjVDG(NiXr+z9aD`VH(_1G?5l zzJk`YKLdV9XUZCLTP#NZU~;D|wT!fo8hp9jA;w143dz>KLAD`f#=0k$1m9zm7@LEH zbeogqfi6i{6`iJDPY7mH=Guz{k(?5B2t@>`OATB-?PXs*W2C3<9;d`J`FrF!$G%Gf zXOA}$A{!_LfSvOti5^^>>4j&WA=koOlOl!4MvqRP@FH|f+ZMh4#v6L+c$|9iDZjO#DH{wqoiO5ahF znyNstu5qBN43A3k;D+1X1#H0xuueaMEJxuW>A>lk#LlyKEVi`9JG}{*w#L) z9Nx5*Cg~MOQ=m~{@|v!xkQk2udwp9rroR^M5!Uaqm9*^XH0CX@20TXEas#4z@6#68 z?rE9j2J4JR*tgr)ncfH6n>Qv+nRD66li8gpBSikyy#QY}<1V)r!HBmZWe%U9;%3Ay!4I_?;>ofOd4d13|y4GAx$ z>MX;J1<0a;nJ7FfgnT75^>zjp0G`IyCZ=Dm{I-T+!^&@|fKC;l>=;_4Db+4`hR!Y* z`a6IBpXopS&;GXF`sUken}(pZ(uSb(`^hoaGR^nMKuaSR`DT<@{1T zt4G^TboS)2{7WR>$$3$C5R+F7a%0WWrr)qDTx)u8pq2ozanrgYSuI5*|ygb*H zf02YXQ=*2ED%_f z^IGS8Tk)T%3Od0%Mf+|DkUhbsI1%zfxlOMf#F|c#S~avoPheQnKGr$^&O5!fQBIjP zZNM(8p&cV6@7|^aIk)R%GSfhCZ)nrWwBzXUNd9*Bf)2%d7M5s#*Ig2`p_8c@&!5&G)3^MoEfY+i>Pamd~8PgjiK@J74 zrT(U)cZD1D+}hADm%NbO@XMS91#{A0a4dY|_y&1|mh9plJwDaVXKw3_M{nyHUV47~ z=4;w8x86usIxiPWDRhUR_Oanmj5xwwvLh`h-xF>0Zd&Rw-`4IwcteZ+9Z~eEr&<-8 zH*K)MJjF0s!Th!lRmCo*Ww@6w>%s&u`mmwx5XmyzSKfwzdFw_Wh_1_3?W{y-+O~$B z=-STwwx*^Gwl+5G)BC*TIJQV5Heqg$PeXx8?XSwO8WtNY!J^EyFM?dny&qLA(Aeb6)4HN}@;lhF~)zP#v=X zH0@Lyg3f}SQqLljSePRvb(5){x%CVc>$N11ZP<|wEFcaL1A(K-SuMe%v3*D>g&G3Q zVsTadwdCi(Sy-C98(b3*d(strc&9b6Fh#H!&hK;^k{Y|4-yyb5CAR9-ry%ja$0l=AensEe-PUPr^k!V?Y;&ba z*XV^j(`)^qo*yQF#KXJL7pn97wP;M!Zv|}o=(1aDH zjRA|C&bFp&9Uv?-U{ddE`onb9Vw>HLyhdX>`?b*H$6&tdC`%F#D_w|+pMH>O71_?T zaTV||Z-A`#sI$zpu@$Bb=8X-Ok1+Dawi&_vXk%=C)R`Z_vVEO->nt0=ykXRtei}yG zeVaY{g~N~QyYKv%+-7b_t31dmmKd_yHlqbw3aOofp1LiqW*;KA$b)=~{S0Rb5qJ%G z;J(fg!=xl-B?fBLAZ9Crw0nlo1~viS(g__en>%}P1+cv>cYVxxQhT5Xds|e#(q-o> zN${#yRGHwbZ7roKaRpK-;VgNThZ}&Xkg$|4&zJgzfAp{QPygw^(#=~pbbK_^(aDkg z>-m{r&@nk1c2ZX?zW%0E7i>H?1Od1Bik*t^-FBTkup1WZ^=eW7v2*f5Oxl!aI~J6j zlOjYQvwkiw5cci9V13et-CLv#?$zM0285J2>gyH!h>o}K4M#Q&3%uy{lp8f|C$dmW zc~f>?MUzRV>1?Jc0kmy8QsaTl+m3SXa3YZd?1n(K;^=X3{?siKNH~d;1F?hChK14r z(dB8|tcE;-IyX%#T# zkMDx-1A;_Px;48YkNu%qo7#f;0li3IiRq&4Wo&Tzq(n`6(HaD@g0*X?Ydlcj47Ub1 z;0-=$LDCdadL%;P9Hjfqv14Y}3uRjCbyn8(|Avc5*fJ(4l*do4Gj$pWHiZFb-q_I7 zb_2SUlP-O%Ov(-5vKHq=wzfBKSg<>v({48yH%_Zi&D%%h6UGtl7>m*yZ@#7PeDyWm zpP%Xe!?*QQul}H(O;bHcD?QYemVA3XB%s~SQ@u#}pC7>eR41j8^Lb35en)dXc>Fc> zdA03J%JqSpvT<)kl!M|{`dS7@b$M=Ys<|cn#C~7rdRY8n@PTw6X0VgtvQnd8^Fd)o z-sN-8sAg8RdjB$y@wLwM`&v11Wo>7|_-PxDAua_f3oTHr^ks9t&|;_G>#pckhsOcB8pj%w$uY!%Xu53qfxUcu9VP$FHWHD07d zCI!AF?PzfYV1DagG9UF>tYS&S=3R5fSRyfry1*V8)+c zoXh`c`S9e14)DKOg9FOs+DnBpv^m35L()6%loPH(K|Vc!%X#HwnaHQB z^(vI#!6&E8QR+(Gea`qsc6@Ze+j%4Vae(wrY*m9!QbS;K0PP8aJ$}8zGz+dy3wiwpGxX2Zq9GhLl82!w??h>CF2sY@2vD`1V!)oP;+ z*zpVt?yYS^RC-`cMpCV-xI&C6`g+&_!vx=?L5E5eB-P!YvL=k1RoUn)Ew$u()ga1% z(H3vh`8o2v9b#kbyw>mmzX2z(Qwy4E?4BZU4dj#vc7r;6FVR#}XyXii6iYqHOFd5@ zc!nSm5ju)iO(dNTORZ?{!eAL_h(aR6z{9YneKzd)jSX(E4ei%;4P$hmB?JsLsI2)e z;6E%t67{rQ!53OV2(l|7LP2ML8v1a0Kq}pFS1x?|&_MiJPBa>E<)H^x*1= z5-)H+cK4H%M!HA)JsK_ve1rV!{0G$ZhFZO-nZ9E<(kmQAHstll!EZR%)%rnAr`V!z zd0I~Ws(hcWg7+U3Ro6a7d;I~IeW9-Dz}IP?rg!`YT$0x5J|M#`(YkJ7NbaY#BtrVW ze&nn0sfW{AKVqw&rbpQ*H@0j{XWFnYH$TGDc9z@La)bF1EPtA|%wW0kK3Fz_<)-a( zA1niY__;r$o0I2i(``GUi18uQUi522JDqS;#1&A`Hh}x!ZTVJGlR)CFK4WJ;;sSq~ zH+oMiP06rf0SGJ;bOM_W=!)UD9cNCYG}r^UXio)$33rvnmc_ov3!-@nzvW3*?cf4X z1wRv1NIbQ7l}Z;%S*|s18;iHrfjnu=PT`AR{F>$js2~0GcZmeLxH=;!&6Vjf8G?_FaW&s5^NvY|Sfk>I7nKg@ir(4h5(XE@$h)s+N3%3KnX1!ML6^9%%fheUU zNM(XuK;)Fv5+Ek*o`^fFD}z!nJqR>8kvD0ke6Kh>KGq3=^7#0Kv`KS<=bXi6y|?-(gJDS9aytX)o*=YX%vpGPnmE)WTN11yW$M`~=g@|uOc&c}9hjB` z_7%G;2d))w;XR9Gh;q`f+klc35xQ~nmX1$Obc-GD;cO~rd31EF1A;GARo6~5X*xZ5 z{74(Nf_GkcSueiyj1Fg=L}uKSX^^jga(aOat8c-+(&TB|f{{rOV}_I#z_{F&yT2-S zdK2g%X=4nz8zr?lX%bmCI2!BVPYEigytrM(nvjE$YK}a|+oclO2klmrp&ZDJZEdYv zmDV7uf{&rvY-NRjR|B-vn!7sCGtEQ?xmA<1{12#~p-<=RApQTK z`L_~#US0+&xuJp!j(is!cWZy8Sf!H2&Q#ThZtMVQp1Q_htLM<+j_Gjr@phv#&S357yh(Fw!HoY~OaI zNBzj}W9#<$k+!c9Mw#&_8?n=mV3}o5pG$A1-?pkj0MIHY#{jx8-*#Es`;^`Rvbt|+sic;d#%)c*tUX1kB`mtO;amb{{JsVcWJ-ato~qJUwsNiJ*~lqcs6!&bP6Fg{R4h zh8S3k2K=(H(-#AN3cIof+qOkU;R}n{nqabK$3pRyQ_`fHYC4;!VF5{z)Kbp2N!3@s z?zJKCY}>mKz*hv{UcNd4=#1l~N!RYuWF^{Ty>qcg_)<1_~^b;Uxx(Lk>_KYPMIoFz%A1~$3}3;g5Q^csDE z-hc((@}@*+p`XcbLCOW(L-Gph^(woVHEnW9pA7^fe@7J8QR+0Ky%sTOMZ2%j`@eDW zZ!<0lXlra8yqwl@2Q!y#0r~mIu^R#}Sx4&=W zD^)uim>99?F@dqcI>SiY=4r5QUuOG#eqaBzZnU$FVdVdR!M3+Q;}M?bEw^mnpJfKi ztTUJ%WyY56W9yO4+GG6)JGIOJu}Dl7`3jWABfu79o`S*#R^w&2BW=93F|~zIB89j@ z3^^@$o-*+=l7_*V@tdH%L$e_)iv@yuheZ|42BR}fTmxJI;Qcf}R(soS>9X~Q-B#~s zRGar7TRxlsaN0l_(4?+ZEhAK-fCahl5hvuqWPRKEqQbHG3OlYyp$Sk z*s&1f0T`$kdH8 z4jT&s1W39>F0XfiM;uGGZHu2)2kgc&by{)+<)E99SKs(-2(lBtJ2uq6 zC$QVsWOkr-GSm0`;E(7p{l%ZtYajcFatH`U+qP{(UhfJ;3c0-^iL&VZD}rjG5A4VX z1i`al0$+_`E4HZ8MI@`~GDHiAa=TtdiG4(?19oc@zWLnc`_GcnT(DcapXPcJOXk9c zUDm*CFcff6Cfy3ky<6zWB+3Qukgvg(_uv7rYy-C4gS5~*^?I!w>yD&g5|7mUFT!EhVQXrct< zP%tKfy3_rn4B?i5Ip`5DTDK36lw6`Bbt!AwcGS~019LNUdU~qYZojA}?8qKGdZ-t= z8+x`q(42C-l@|Jao#`P#&B5@H7r>N?8c7Gd{Jhj1>lWj_X?i5Pn|vt5j(G~j9&fun z)7KTAI{Px1Hhh?kuZnbZ=H0tE!i224mH=R2L@ zo8Bp+fBzlteovh5e&^ns39h!{#1qf_>}T(Y*iY<;@B5Cyb_UA~m7eNMSEx4TZCkNv z>kOtZLbbErwDCoot?Z%wSLp2ze}JoUG#EU9TV0WGQSDe_4V-mD(Q!b;ak_^i03)uN zUOl&IuRFYMJmG0F6Q>32pMql$wHFsSAfYiJlM0*o+f=vBMUT68}a!Z7E|ZxWR%O`g^|jhxOn5$^Ta0_jkTW zhX;GCcIG-hIoGq#-_j{7ij+cKn~ByJSobTfnIKM%pVv7Bgqe|Iw+4kGLTeW%B^~>f zAo^}TFRuz+;6hTQq}+6BnDA$9tJ!SEYt22m*kmUBhQcwQA82p?K;9O9HArz87&8|P z7pOgAx=0L6X#Pdzh@_@z)#OezAWu+hijiMQiAFuyt^HKb>aOQCG=fKTD`Y+mS9I@BW+&4Xwuq?wim zWd?jdHS%l0GrsF>7*qFoPJzAJXVyL|oeoQRRmRXNBINiX$&ff2Oh0sVRX_La$MMlm3N z^}J=c&bPE@H>dg(uOZ+4=H;kjZ)q#8gZFS~~4MfF|XnpL7WGtbANphhMnxSgB;Tx=+N^CJ= zHw`DQ(*PTav>ePup@dFsTdqtju(VYqPRJ}!c&uX^QQOV(0vy~;10+^9h=Kz@0g0Q1 zxmX|tZ8+~nq6YwNdn)^;Z}@WkCx7U7=}SNGg}Q$2h7yy>iitn-xOzC>(;1WRk^<22 zYA^8Z`S9-H?AimhmN8i`nVdHixdjE#ujn>R4zu}O9ji3^HQdY%#mccmi8*^HFp$%F zb*|NlDS(2profz?9?O4Ke?<;GZ4Jc2S}id)t1~TG0rljTQ=%Bo6_M~?vT9l@vm#@@ zklS*bGuqFoktZO-_=>TU6msEpoZf|wZ(|z@aY|V|6WW4R;)192HTfjkiD0s)xaAaD zF^O#`Vg_OB$#zBV)CNU_dUER}YEG}{X$_H*TCSFTpaD!@W2N-?W?xspjots}mL?(q;7T+cV} z+|jGAKCF-Ej-I>yoZfc$sODTJ1C5*!^Z8io!*Q&i?w{4qY;Ng8>zn%d#Vvh`>)0#* z<@!vKLS@^cLf1o;4OMUfTVKJd``XzE1EZ;pdBmjZXPKeOE1v4CuP~KYTk9-0 zZ*1OB>58ql++f;pfqvVAU!;fkJQ1KMei*UCvF`|ZEVxhf!fjv(hjLL5g%b2gm5UtN z8mH&DVG|d87fBuMWCA9D`<|oZC*34Lhj3AVww%0~4b^{w0*F%x*##X5mUtB-Xa2)v z00Pc?6uKT0cctkO3*8`b)OH(4#1aj*GDsPHLLMnh>CgZ9zoY-#fBC2N&;P}b>)Q1z z+CP}{I_^*pJovCa_Q_A`n47k18ZG%?es*%A)6?5JIlIlOj8{-R{hpneUPyrrg~2Ns z_sEmbn%QA|Ww_w`)j2UvSh?NQz{DI9?Mpeg@S&8+jJ$-jX(>8Pay_tja7F&{`@}?% za;Ho#IVZUotX$kE3}UlSfV-J(k{WEfCd<4S1h2}Dk8jid9eHJWa_5$oto~LMt(=l( z`1#Cd^4Q~b;EV~e$C1-6{{YG9>501~7qB%x$E-k4c)i)v7qPW%Bl~VBkmr6a%C|=s zy5r-M(m(&?XV3XsGn1X1oT~Nz2}gfF{*e#s`+xX{^(kIkiN1%#aZrP<0wnGBDhUiC zN+=-=EL8xZqzEMR#oQEncY=#6B7~ztQo_z`1J{|RuMP4wyeIyyTr<)UMWp4SV1v%k zsZqkluO;{S)^;?^^w6-cYZZt2nXdPp9-v@7(eLY_zSXPBDzDX};C)tGBEAbyqb$Nn zB%C37#xtdm`yTL%exrf>ovS$PsnK3!(H#XtV%vm#>`#>3W?UmH%GC4cCwiVjd%|l? zziyO5Ig-4>&M6C4k%F<6Hav)|XuEe?|ry0e>i^tNkHFoy^Ttu*L7q%-hs^0*xvofDr+0EsA^YsnNgM$QMp z-F<+x4peke87TtV`UQRItuq-nasG!A14n$G%1f?NxcRNda`?iXVK^t?)n%7JAAGuAO29Hf^w6?z0bV-hW;kVH&BW+vFNaTEI6RUu4g~usOF@H(ji8YGID%z{k>ludxV0^E@-;3k zAXo9WL}hcP5h1tXVwWU2uOf#Iz`Nyxdq;fI-9@o&Rw}%Yo-{u2#qZG{{v*Fn?|S#U zG-t(?m@G0k?!lFPz2X&5>dMutL>lA?I=Z4O z*RE^U&fw?TuyXOFe)Hx{-MMp9Yy3LC9Smf!rV#Z^BA!6}I?hES$jyHe$`g)gb+lFsd2Uw*Nt0zuG&{n6}tW`%*!p%~NOEOPrR~SHdP!YZjIRNZ#J!-pA+Sjl2aX}lBdY;&;z5C^^1Tv?98xJBIU!G>nHv5D zkpgc3pE*`@WgVe8idKi<7MbBNIvpg&8*Be?M1veJEQm)=XWUmbBcE?hiA2AgxBEIM zlzUOkdie)EHss9^$m8A7o*yp#zg#4295W<5q=tYl$hViLI@U)1(^(riTBsx6Sv1Pv zNO%NeNMFl1iES`g=60oLcxd^^&1bdXA;sr=e{Zjx)5H0`x~9?jYN_+ng&JahYB<%i zx1P~^uf4L&8xBQka^40$Lz9i<*RwrM4`jQhPjraJXxIDT!xpe9RFxUqz6f!d&_z`A zg+jT-68l#Ef`ZG3BM6#q3{!pO zr*@_d)vjX84AsZjQ1zw_7kSGnSXaTaDP3b%Y@KZ?U$JEsEHl{FFs04g4q2OLdfyYj zo{MT`$q4A#M|yW0wnIK@e6d+#u!*Ind#wE2L}>Y`?rEOBEN?NIaoRE`C_^WJdy=^# znF77e8Yw1J3bxv4EDvboGG;b;x&$`99NG+bJT+|9kXV`MZn@d8Mvi#!rj3@0m6I2jqEM}Z#ismV+t5d&b)d2 zr^gW)*0>&ch2h;ugDK5-J5 z)9T&5BmqkfbP?i`z1m!&Dxw$DSDoV*~Ktad!~I$Vn(=-eB7D zN>^;T!MY0OtKKrxhAOwrQ2B~2Gnh9v*stQt}FzCa{6fR{5R*g4SZRLzxO?L&-Np zpdDq^#u6bl48>Y(q{z`S(ceLy9K|?A1Ssih*XYSd9@d@PClsDT9rCT<_U&WczJ02v zpSdNGRBk%8U8hGVcGe$Wc>uYz;QPdqZ(U0Y*zxV> zY8&W?kXJJsuaLr_23g)yG*eC#);;)EBwT(+Zb^Y!^X)2e4sy!moq0N5$%SpPSeABA zc(r%NE5s9C4X&8b9Iqi(@aP{A_ylckgSb2o-`H#mf)lr$2lj_x&}G}+ueu^ii5jQ9BNS;`~(kh`bcxYPHa)^ z2=CL191$AF>=+Lh0}F%pBBJCYwx09UT1Jb`Ltt9fK4aTqWtqoCY)zzczxZ553e7p^ z)}K)!+QfK<@D99!BAC@PE*oO^eC< znXYyhY3r@4*tEfXwKZ*7g(^2crOj8ck9AXAbyIA;d1KpGu*|e^)tRnfouTr^Q-167 z*uiV{<{Mvtc2xRk;OarZU)=p;0q`s(5ryhVhbSl zp~y!&_aW#<&|k+u=XSVQ^G15?wNL3S@A_Qj#1k}6jSE&5J>LYb9PO1~625x%niQFp z+D)CFoidp(wV-(P*b+?)dd2d? zs|s@R@6h?D2@?}grmd8cTvR&>iRpp-Y95}b+P0yf@9XIBKnb7uywjX^TZ(W4bX}_% zgme+obQVw~AQna*PYy(ph8p;tw!P?U32CLC< znmG~`!ntCkh)|#}*Bgchsg;m%St!H15JXCnXjf8$qJd68039$JvO0=GQj#~^okF?J z=IBx+1+b6J$*@*n6s%5NFa#IHkNAwua@BL*X_z1bItPkDQ0R^E6Pw48RNMs_3;P5( z)KVMDO0VNs>tKhY*brZwl$MeT$K zxHZ@O%CD#G4;=GA*Y-(^==IFzOeg2Zdc*$1j)+$3`L`l37syi3G|*Hal}a;ipjdAY z0j7D5FK>T2wzhFxM>IBHY2%B$Z7lyZAQjuGqiKVK8y5o(<_(a$-F$^=Yu*NxH$8=_ zuejQoue9w=TV|;I{jhBe)yH<`jSZF?WM&K6Cd-)s01yC4L_t(le^G9A)m6IM7+09u z*v?=ba{qa(R~&t|CE~gnv2{?sa4|v51yzpXqB0!?yO?2Cc0Z{uc)EL@g2pqY8l-#N zF)iSm$2Xd|Nkaaoax604-2&18D!b{R-HM0erQOk#*hYO6d9@eq20B>^!474vLSQif zv6Y9s4IG?rg^n9~hDBpJkm9+@)jv+Z{vN#H=HKv|FQ__A1mD+Mc~x_8aHy1+ zRVkK2>`M4gf2Efx#8;FgIH8(%Xi=Mp=o%nD&8uL4s_%59@f zDcXa2CcH!*L7qLuIylccB?&D0z4S!LDsy>$O1m>1@~!cJZ)W!U*FW{s`pbXjZ|Wa> z|4-PO2O9k7XK+D9IMSdcuN~LK+0c$xA&6B#K^wHfmV!U&Ugz<)FMAA6af?; zmCYV4GEewPLGfZ`A*N#5Bq13(CA9!&TaBcQT?_DR1;;)F=Y7yXJFKs@7g-1>1{>(M ztW;Kv*M_*~6gR^uE1FX+bvi6{&b_vzJs0gnE<_?|&`zS&C}ZREvI%KOp&q=UBDlQ` z+9lW8n(;YimH$k$BHo7V267FJ`81l5(~O865k;Opf4CBm*2v$ngqPb<87s+lYhNId zbk19XJ3Pppb5AS`T!%}p@0Q}d!SvR!kpGg&liiW7u)0skyszljf}-YgSc+P>J%C&s z-!?Q`P|0VcUfz*$*cndgop4L|e4DKJB5l6H)TYW_0;ke}spDmIP0-ljpw-U2!Lli~ z-e9?L)lGTJD_CBk$}aj`)SI`h?F^GkKz9oc<2HB(Lecr)$jSE{|7zx*rR&#@h5cU=o;h3M9{Uw5R+05 zpR^uQ`5v_9X7>FaNJAk{%o}cQPqzKpWrJbCTX0wjiA-QpK3S?(I7@VG*N+NFt@$uJvmVVEF_IvczU;V3v ziI`XA33Xts8L~1#_8OR92PF&wPjQIwK`IE+d1$v`-w%cJai@l%RTj{@o+!Zth_S!OoQc;Hhfo| zF}a^n)XZ<_+Zwt1xS|-jc8G1j9wgCTM3xj-k`v?JZ;O{-O*-B==W9W{Q$7zo&&uo+ zngJuT(2V0g;McbM#F-J#(FVt%(DZ=w9*j$0-Ez=c(3nKm8HZlyTu*BZS0s2$Q9I!^ zyZ-{oMq*T)Tj-R2ozRC9&hb-64;Fb4smErmp{yP^V1@%r0SyhH^gj6T89?VR!FY;5}gpQEf)N3#II%+n$)~@O6MQ4oYtLVRWTeYcpr??MM?HtQsvnn%fnR(;N zo3_mS6fB?e7isJ5XPD|LZ)}+AOxw>e)tR=;dPAixH&|wDxv_bJd4p-oft(tB{u5uT zz2>M4C)Xg_7-^0hxE{#RQ&s(p*!l5E2k{~O+6P8w?89R*EZ_uP;7GmY3SGTI=;ht9Xg1cbD|*9qmWYAzM;_K z6Oz9%&StF|autpA^apeKb?b)7Fg2|X{GIa7O%3Qj@v)ES`~T+O*U$aiPbzs_iD5rq zw`F`px zhWy&`Hm~ZRyYrl0ck~DusN@pPm1rCA8rU${2Kj@UE^KjuCzVlhQGs+SD)i16<;&RZ z!})zNOPe(0JEwph@_piJv(`1>kYZ+;b+$>nAm(-qM9t}<92H~X;|SHxT&3+}nDW+7 zq3SEP&h!+Ut}&+cWp>tAuurwI%(TI@bq3Q@u-;I0rmZ)wP31+2)HbG}_>;Tv8?wm}zKLykI za^G=)EMwtUT8?pWu&4Kb;Qe~T8{VXdtkrU@oLkK)AT1MY*EBlVJ5a~>sRo&K+|$Yw ztm_XvM8P^JH+&?O6-mb41Jp60@AG{trBEi$)vHHL_WQ(X`7U==hewCnr+^;q&uOcr zKy2in4h#YjuJpqf6Mc=s%UUQYB1X`5D^89< z1d5vE-VO3EI=f9@@4aIYLA06CHxvc8>|(MZOBb+})^b7F*iPOC`L*F_Gw}9fLmBKf zSH?R^<~7E`zQ8FK=fqnA=g=!&u{yIc2L9ZOJ~!qqcRz7izi9!CL395^R#b4|WW+FB3fnPyU0tGk;UF5FhW zMb58?r-x#@Gni^5i!a93B^!C{r1)fDMzJ~ot~BH7%d0T2##$aA68fF}gh&&*kR`5- zD-`ME;N-2VBGZ-`s?4;Z^2WBCV(Y8Sa`OhuDz@BUnX$n-!&EknoTC9^89EpZn+sxO8ARa+^VL#BU8>ikSx;Kkirg0`Lv& zcif-kDKueYVV2Y>mG26PcLiMIx_1k^0#U?1M&W!MptJ+A1#ovCIZptVnX90!R}`$W zjcwD1B>7s62r`pG+Tz&K#(@-DoVd54eM<}y1>4_x0!zc1oA09^{e+%7y)9p?*RLH= zL{j;)SI^zN%}4HYt@s9(JlXK7B_z$}GwsbfwQW|Jw3)aqUvaY!RJ)F1)==1z17e?< z$eAgyZ{#1eI5?Q8YZ@l^g-*{F;H7#d)sC36uE8$r>fwP}Z2XGnjAG^|Y8Qs4>D&>C z{Kxp77!tCcBDLaG;aXBsLh1!PIVJXctkvT|99v$f6S3IO^5Bhih#FaNFN#(lBP)%@*P|is?h1jui z3!G1}83DeW3!p{1-LdnIe=w=4WF|I*J|Zg=la+Bp@L6PD)g^Kr#A)#*Qzqt_lJ=qY zDNV))(1wnfjmEq;TqiC*13C0SLYL4PTKof|z92 zGAe;dlHnM6#)~1Z@oUy{ofBe`F!v0bH2hv=7 z#F){?hCVv}1{)VY+ib|SO$Q8xTe0>cTp}mlMJoclP-KbSX+t|7XKICEq&d~Tb3gJn~_X@hkJ(-mx6!Lp0`i!$pC_Ob3FSZCQq{YAdoRD0tJ=w5y0&3eQ2&*gT2 zVfO{Kg!6L0gyLimTx314=Emun>~HbPV$GEr3~b<&!JU#abb<~5vg{*Y$a1K<7h>TR z@-}R#$_)s)kC8%f9OZ(lU<;8!?5+)_8bySHE0UuOD%&^_26O@f%>Y0a|1dH507av? zYlzT_RoQ;tQ|49Kg4Zg?$0ypbs=0o&&jhfcNUU^ndM+`$jcpD(=R3jeTQ_y)U$&;; zoS&Y`Kl$jDonQZnb|OMKWgsc%tQ1KudP~|{uzE@;>X|fV ztO^hI_9-|GJZB48&#G$0_pjCYviy*SUn#o14J$A)fr)l9#gK41I5^Z1ulQ2VQp%it zB8T(X;1VhuqMXD?_2eie9Q}hFo05~{96X)#TcnTww!?;v+cw$OX4~A{X4|%HyEc2{ z#L3$1+HBi)J@ft^$LIME=7;;3x#xPF*LmUYR7ZB3>7-Q=zPDRZQBmD!v}PbD9eBg7 z@N&)h2rR~kxVw2(l?h%et#{pLn;j9hT*L29mmj{Y*kF3?B}(pZCci!n2^RQ2DER+U z*z710!_37d0h@akbkePJPoO=g!+OFZ0t)$BFnHMV{+9(9uCLRMNqvQWfQ%49B&q;Z z0$%TvM7E=eMS@}>SZR@W*~lREAFVxr2LowN%Cj6+T;|Beb4KZ8)`NY$*`%D%JQsk^ zE2VHBB0s{&R3)ZXa{?#3hnZ%hDhuy;j)y>Klfm^ZHdut^p3$1JL;h-Gow%Yiz&Z1Z zcEB-f)N;~S590ewW8?`9mtILv%Fnw}XX&FBo2Nl;rjP#O>cG?G!@`heYKuJPM`%hl zsV#2x!wxMMl3Vvi=ZkoXMIi;IaU78F;og?|A)3+?MsAHE77R&YCP+v^TM&h48~x z*a&VohM~MsJYJ#bpYu(cDWbky%z>6ckBlAiX;tyia*IYp6D^co6=H znCmesIf#WQtn(?!AXmdA-^tE2S_LB0F?%1b9mQbeA}Xx9wmG?wE4&5UKPVQo*9_ZM#?OCCfYK2nwQC48|0m%3p-oWcFVk!Qi9Ks4Cqg_1Vyq^@SI8BZRi+{ZI7xL6UC-c4v+zAKgpIBm zU2mayz6X=UXsYK&pOM#l+s|vxQ-Vt$M2_IM9`--Qy-HTx@idl(fq)QMiN^74#P?6#)kP9&ad4tgTLiP8=Q7EO&ODLaaw zwcAECVFK!4ICqn>3=-IkRo#TpoE_JS5(pLfbQKT4KK8|)-=|KZfhWhG5N1?fM)`1F z3>I3Z?tIH%%WXNH?z1l`77L=6!yJi2@XLm_Qhe|YgB=n%v~JcNMw+ezh`t}Iz?zZP zf)}L(x4k#RI^tKt6Ju`vQGU?64Mz!4aAIVRnmIC)aaJV^h~ZuB=Hg`G*tQt7I^dwt z=y}IvA!;9QSiI0V?b$6KoFJ8vOyFG{gl#YM)FWu4y;saxn0HcOWN~D0{#sc&$Nmp* zRJGGFoi~fByeQO7)i?82GT-n*Pr2tm|H}d#E&+Nt0hQ(7$?Gw6J%R^V?}! zit|I*MK1J$oyKyXQoYgn;YoG5YA!^}AZiDQBZxIKg2gs*|3ko8Q1r)_4aowQT&Ykv z#g|(7RC1xiVn8P!ov8=>5wNsV+z4oEse53?-h!(WEW$-;eR_3TAvveJL&VY7^i*N} z4xSJ14?ijet1n+KyR)7O`pI2=4mn(=WN1#Ofg39zK!N7r&YblCLTJK%Sgs1TS(OyN z{{(_rU#!235(z||32Unb`FB?m1c?sQ??sl}dh#YPtW1_jPcM8nM<(2Yd=E7qwugV~ zjGFfT9u$gCO#hZH8L}HdZ-`zG106Q_K0i)BpvF<>>t@RG*S%0NE_QINU$s$_reFul z3IujfxhSl5?%tAj721Cwe#Bv+RpEQ>@AN;_{pAI(3s8TO+((XQB)|)w zDee^urIC_Tz6Cmu#GON+{;|`>Wfg|)h4Ky@2#a`t)l5(j+3?07WHwa~}GO)WAX)-=#FdR|lz8>@Uf+(3S>UNJh@LI$dI@LMQMn!M~yD znW3l!zHpHRAO2Hrp4Bp!9i>yl>2hc8)hfv#NHbcf{chuuuf|~3V1b?YEj>yNUroom zgmJ4k_?r>lP*EcW{xaI=GYm4*9l{GPnn@u2=#lui9{*uI5$w7!x-jovn~>+ED@ZHv zG(VG$w0}9-zp?wFQsrp7XlTyvf!v3S7$@GYm-y`m&MZ!R8h2UssFgtiIPM|1VC7JM zx^V5(9b58A_iAOt{@`8rWxz;h4|HgumIR$YF8SkWnDOq?fDiIs!S||aj;RV@S~vDw zrPn7FPuq?!RRPTIrs2q{Gx?)cIggjG)g!3-B{s*KVkn%`B46Cd5_#;L&Zi2Jji`-T!N~t-h!k2ohY9OKtpf>NQw??6GxI>7qdikIqf>?(>|Xt2#651Io(Tb ze&l`Fy{~M3#I9U@c^Ogg(}`^Nh$yyJ2O6+h#EWq3x{}*Db*!;ld7NwEpo4uZ8aV8+2<2;{~mgK1K)h@uE<5Nqoi&?ly0JDvTJKDCF{uO zlgG@n-(VW6U_IYk3y9m8(srb0wElrs-637aWxI5F(}%?EpkE^tqkh=`L@@M(8M7W_ z-)$j37|G$)%E_xJ{PoXflPe-y=-J~Vav?vo>;;zuz>B6SPt zZStp`a_(-Z0uKL)lv(OtC;{~b(gMPY539ye0-;R_l;=>w<>6Xqf3Tz<BDIx zJD?JyRY(3x;R5{T+TVah3?wQ=ii|^|**jfz`kk`MenBqn1a59bfIo@fc^Z=RTG!J9Q6q5G+6>N+2Zo>+{) zelq|g7U%n?p>f8b+K3Xu`uewoPu(tMknoUz3`nfiLr%SR0W=6ZyO7xhud3%bubxNC zS;MmWYr_TR^uNY8sPYW}URh9A5fsKoIq496Hky*pW z2lHBtsRf%3%f8w3%VCJ4ST-WR$=OB!#r&L6AljzlG1&+Xh72i*U)eE?Rs~u0<%sW* zwn+m2BHv(6eqSJqiA1lK*L4ayPIi&ZXk6rR(C0{Z>$^n-#ndF~ z%MroTl814)vGKvAB8gDpMj9v%;5YrR0R;Sf%mCr`;EbW@A9U144A3IHiUwhSfz(Go z^~zJNA?3uVw^ITKUC2#W?tP(25xn-|NI|(0@4*0TpY%K13D>4xtKdoXt*F;TNyz7+ zEAY~V+Lx0V&!HwhgO_l@hZNUZdNa6`zrKTRd5(GeRq&4`hxeOdPP5703fAmFMHz&F zV+yd&#iWV(&mztmDm{_In$b`ZY*&ncn4z$EKrmObI9L>x*tio|W{Pi6hd^a!{*WuO@2EcGoWS`Lf6>KYrgkT5NP3uH4Yrd#2i6C&MWmpL6=Lt5Gk%^BeU|Jo{)JQ)0;-h%K@Glz})!c3oq` zVc0^Bgk(WsB7InbI?DCka%${B{%XBy*{-_MCe(~!PoqB^IBZK%dyFQsR#r@~1CayZ z2CTj{t|!nsLzg%d{|;{{4|fWFEyGV0;W{~5N$lGC*(GG}{n)-o6zhMnY(CFo=`HT! zFw8b%L*;$eUP@D$KOR!YrCQ?ke9ZXs+Cw~|XhRG(A0U8QZn_wSh8D%MC@dd5~@3%K-(&z?sFdx$pa~a0x{UUfr7q!Ce zIOXylD0v^Mf8*J9e`d?_Qw9xJoiv;GrdOQ*=jue^;_teW-5Uw#P;%F8YK6bJ#7Y6v zjwXzt;U$vbJBXD4B{8Y9hd$w5Ge|%il9pu=;h7@zApc;tFFo}RgWZ88Mmd0cbjdZw zf0k1GTXYb);+|M9N+Gh-=UejN2V@4!%oH{%(B*CSk+YS^p1rc36pziWg--N^#94lR zvn=6Ur5~kGiN<6?_Eo2uepeu2WVDre(%R^eP}GDSlaxCz2(h3ZgCE2XGGg-e#lh36 zIV8UsswW~SfUTzHBDsKW5&IE83)_jPCFvKq=3OeqkvQ*Iy~gDw0_XMZG=a0(x*`%> zpc(}t0NJcP@AvZrz<&$ehLdAI`9qWNjH&W2lgRjuu#8nS-2aIsrUrBOG(y&|T-2JX zn!k|#T7R!Sx9%GZv$D?V^?|tsF>_>qCS3+f=``GC%tqDQX+R&OT=GrKy7#L89e7*^ zwLMOuFK4XdH~KqQS#5&ljj9y}qh6-R7&6h5T8>z@sH(<8Z9M_i!AOdbhDfAQ@!(#s z3@YVxtjC;KVl3RI%YtUw6{}irsl?R`k3Jw!-e#~Ep2E{q0-aP3>1%&X-6H9`IXXQLXd5nwB=xgFwHHk z&GWW&@@WIKRx_teN`&>zsKud`$?L}cw~n9rdBCNocZZ(~$#`RXsZdD@dzR}cw^9IC z8AWUtV7M+IG+Uo@H5oCNYQ-0rqMY=e?z4(JyxJx^&b`^Q!m&H`Yq;1V=aXghpLk-> z*+`w?jtk*!XC}{z-Kts?HO$6484SXd%m=F`-Qbub>YFaGU}7JKu9>wYWxlphD$&)c zYhe~#Dd!dVoM?O4!U!!!Ca&QR6R}3YqZ|?i(WdIR57ZN!F zh1PqoPhb7_9}6v6S^JT}yd)5Rx2gWul$FWWA1J&PT~@o(Ah^u%es$akV}}iE8#QV* zm`AO8tw*{sXT4Jf4|Z=9fB8LQLh5+SOF#$20y!TxtfRfmhj-+9kLxrvlyXr~>AW!S ztT5|hwsXR8YH8E9fkVs&vzUDUwFX9haxr{kqQVQ#@_t1aI>yKU_SDLD5aG8S#h{HM|hPP|DzgCx6@QP22k zH@S!o*E^^XE0K%>Sf(AfCu%3YZ&pD?g1+H$QieK}{@OEY=+|0H$P^hS)V6~_%$s2V z;gYc1@(pLTqE(b|8^Q@m6bwpr$?Gg3P(ENAQe$S~F&9J#%aAn5?#Q78LNEx2{Or1P z@#)bMc#jcynTfZYtT;Z}LP%DoE*qE2Xfh&oj|nTAi&J;}`rPwnpNNo~m$#(47#=qv zDxT_zqOuewxmDe_tOGp$GG43m1FTf^zBkgwBFD-Jbi*`9%)!qa8L&4Xbq~BUX+3C) zkJgrt6iE;ZE~(Dt!*4!RwV><{D@>`CCIKn-6-$~U5}@JUa+m(8!tQ}oh5bpV=J508 zd}RCXOa~E*Dau|g$=FM)Z}Wp*2B=2xnJ04(v&$~%VSsZZP#1yDf^)sDtH z?7fzl2B2o$0v6#0^)KKTpUd8-dc_`|I=d&n7_$W7}7&u4ZQ)xJ8LmqC$?trVu{`HvKfnW zm?OP;T~o93NL8cw2>h1!7Fsp=x{JIx76#RN&AzP@aryz|E!Y;y-reHANvQOGUe;-WHgDn6j*V8b~a5BkwX@g^L7TN|&Bn>ZfBw zpRQhGZ#2(kD5vf~O2g9t72-0Q*GpbGtUs@~~ZTDkWB-z2blK?^uw_DRF6YXv(CsQ4TWK2k1Yn%hM& zdhaZrHm(|nh9x8?V9QcRMhnvI;r)rOLMq1fj&6ppglL4eZKiG!6E&Zl4a)yIFro-y^wW+OUKhi_x?&Ek6 zIe9V4sMbW;9nuQ>w3r-NZw459@AExpj=Zcp8M7@yMjuPUSP62I_l)(F5ni316bizl z6#dK}?GfA806DKwT(1vqA?AK$T=EwfVWBzoVuNgXHnZ!!DD@8Ur}cErD5+P$p?aVN zwGaPwnst}A@D%kLJzd?5gi}FGLI}O&^ZYK@`(>fmU^h4%mL|J0Hm{rsh26sx5^}Kj z1d@-p7xwDl87!pXU`5dVsht}^dpGFbr71JsYPd*^s-i1DN<)LolpxjL z+V(lQPKSJJgcopZmz7AAT@e<@7T{PPMk%;d?UR7$WiV%uvyS5RI?FQ{oEEbi7Cp_q z6hAxkd}(@?VLiDVWWAL=pRO+*SJ`Noy%mX*_=hTZGQmTYqh{EvTC@6&Z7;IUbgfNb zRR1-jfp(QutO%M=;~^`~h+~$|-AbjhzojLft_J5bG!ePget6j!iqt&lJ0pUSw?g54 zpg=p^_wxlM>7v^`h8g=z7c43SIfjqr5DS%YCV0&iP)lz!Fkfm!S6ylF!Sd&&JkK)t zJeF>0p&lVk0US(Ef=ddSpqd--Ofu{-G12iU(R=Jlx05IwDxXbx(AZiCWAnIpdaI%w zTwP4EJpvNc7{ul}GqtQN+gBcvrpXLEbDk@U4!Cdx5PSzzrv0~X*(R4goLf?XWVqol z;vvdX^MhQ=L0>mK&0mP+oeGXs#=aQ1e#iUk|FJ7r-TiUc_4D)0{?qpVrZ7e^*nM6t zv{>M;E9^_NGecgQbgI&P1aC%T%tj(&GDG=DzC@Z*W|vydJ--45DnsSv)TYfwHT69A zQuaXnkoFp>Tv$V>5zig_?F%{$J6WmM?$?&ra%fgrvS(>bE*t1{Fnez)^Z0ahSV=G* z0|-4Zb^|h3*`&+KI{RAnXK;C5LO{AKp^^td@>xW{})q(^ZC zLXWC_?qpmC>Biv)L%-_4^A4UG`0MNSdMckM+Ed4k?Te_#)leJa$?%;sy1XvjuGF%0 z`QGBJ2iaMkCKJ8?`Pj*OQt^6OKHT#dKSWp=PaOTiHEo(|t2muII0J_)ZiS;ueMcR* z_WgaKH6J_5fA~}4F%W9sx}O9NMen-oTe7nS>bd|P&u%1V+=~8-bEcsZyCcri6gS@46 zXMn|+*c-bn>h+lFesW6m%;URC*R8vGy(0LB(f921{&(f&T~}%ciynQCqfVXh*D&B)ZOyzYk)ClP;mtFtdif`o5C zKycZYU!Ea5#2fiV3}hC^ti^{magbLceL8x&8NqiuDGa9bPAQV`w}Dmr;U^LYznNF1 z>=A~Nx+rWnThMhO_+;ceMD)V(Uh&wiU_18f@0a>*-+wu~&Xk+6D`uqz%1zZI;zh{7 zoqDRYcRH)~R;OeNGt^IF=~=cCsUOrFh-#L4rW20`GOI@QMy^d}|5hO;g>zv>%1^Z@ zZqCfM$n}sJnwD)E4KNyusXgkQUN8K=MZ@mzkoz10();>EpD(FF++$2xt~@+E`NUJq zUtdIo&G?*1xfWkOJ_6%V;@ON{=gA&hkA@4Z@qQn%EB1It#aT4k*0VUOm>5NNESORl z=jf{6xsK2}4~&X2PcJ}eSmhf4Y3iHp*5?N4(i+f_tG0p!Hd{TT>vB$4=HURjKaTr2 zKWa8hhxA^p>XUVTar7&vy+Nah?nL!6iWe>mD+74zU<@K(9k9No`6@2ub3!v42*K*7e)=Gz4@*r0pl^R$YK=(e+wP>jR8~Wmp5*M& zQGT+yIvzu?b$DpZ3Wz&7UyRc61xzarbvB2`M=uLoHEluw8ahi=(s2{>IriFjUan5Z zo2D>Oi!S1Y@20j(z8Pi4!Pj9aZSzCG77Y5ScR&e{tX=$pZ&q3aRUyUS_0QnlaijVt zZhTg37VE!;+0UwX9Aw=O#QUUfIPRZ&nLIcg19wmBW0%q+-C5)Z;%Yz`mjLt~zqZ#A zs+#V9dv?Qo2I(k0AZH3rqOEB9%%_9gmwa5!Gw^%xgA-K2H|Mnr^wL4RoPo%`(i7|a zD5dffS%q!Cn{wd!1fGo`%vi<763;He0b@hvsI9gw!#_~N_>$szkEEdB5kVQSG3_GM z$LRa7p@H1inWW-~gine%Bg7u>fl^hMG^Bp`mV{BqexssRmN^W>pN6bAN`HRX#~D_U zHc*luU0ZOTgpY zz4xW1pByOyGMF@Ba`Fgo+s?3+hUtK7;KQ552znZoCS?;cx+l|hs_J(bYANEfVp$T4 z4ETjy4{DR#C;siFjk_=_1H5qzZU}{iPOmfZHGuMBlhrDUTRwG_D_Hu`kj&}{bzzqC zpn=h(t7dTem&{>{%Ys_aq28bbM533hl9}>5Zp~S(uyev}!o4~)TctFi`Z!$O!-;9K zdp}s@unOFmv-NmgaGw5IO>;ztFdKDg$1gtB`lP3&v~;$~QO#nDpOAKA>{sG{_iFIoz1M6eafzRVj14zEy6`dQHs=R9yf zhH1{GKpl5@->f*;KIjPY*Tr(Cp@BUN1^c#FBwP@oVQe+;5Lpz+;TRXBmN?CxHQ^8X zC7e3`%^MF_aQ6z<$gm%Da>a9 z+i1acbZ{ZP2bAqGi&6R_qu&o|8viH-56YJ*nqt-2p4o$oE^Q}2Djk%}1jmp-fuEz+ z`Vh-h*Z<1`syGQc5=rnN9KB&U71ZL$557NBq7e|XcH0X2x zP)ig6exl`}p!*{amAVu7-2(H@jrv3TNGDLf}S;5Oh;5A+^?{uWFQ*vZ(_^jmQ`f7ry_epecAWG=hjm&6}r zWd-nD(TT3UA7Co|zWOCwvRg!dyyA3B|CaYIcc@#<-skGpHTY7mAWi5D1;T6jwaogm zr+1sBd(0#wZCxNV1D|052jL*I&*9MH9^gAhZ9jx@NxxUfQ~K!ta}%=JuQ z;^vRX9-0X)lQDCA>45C7J~z&1$6Rue;-xh-*0X_jM!tj4yrUi3IzqH|Xg^{h9CwGJ zA+D#giRu-~+e2RFX?_{;e{b-LvzJl#5U09vBe`=YDk(M~&8@4Knr5ZE2W67jWn^8xf7O~=PPZp zw&>Xh)wjrQBQ;O!PJ!WKdv+RiXtm0V-ow^QzK(xTT{a(2FBzF_r7;IzbedIf!f*1h zTROh`K&b@&+K1$E7L_cM`4&5J+jMcO7hq)!YZ<`6dlwOGEk+u1Vn&q3TN(vjWEq3j zCoO9@)sj}mWyIQL7`jx8h&wn(0|EJG={20$u4c;RALCc>x@|C+XE3Jl?{S|At|`%g zET0#)bImY^a5-s&yWCMlz;P=zkC9$vyTP6oYL(!~&O$zHG^m*&1fM$*zN;?hBT#;g z6kA^m)Hy2Y7`=zqna(S^2+QU3D%!ZYNV1G!fQ z<_2sRhs6hcpRA^yQadU#pJnvJD)r~(&MNLR%bXuBzZ2ttWZVAO`2T6Ng2y5 z2wXy0`2_|-+i1Yk)tUFOw~VkL_N7vzS=ih3Kv(popU%ExyPH+PjrzF*Ng`k{3n4b^ zdOakH@cd6!ZdieoFPWy-qV=CraeGf8n12XynUs99h?wvv>j4EtTp;_WfJmWXJ37Ny zDbog|L4{-fh9bkB1b5(GOhCv&D7#0Gj#LoZ zuAIgqPC;rJw*Ijpd#f4#15%Tfvefr;5__P~N4-yQ|A)epx9mq3Ifinnhv`mfipKHX z_rJ)Y$9H$KczQI*vRZPhRub6@p}|lyuICGkW5%nicCTz*-GYm$MPw6?4=GM+#Z@?- z++FJSWo3s|b84pKWJzztyE+Svt$V3QPECe4NZe&-J0nZgy5E>jGG)^Ne~~MPWzTA| z$}P3d;7af*J{6fNf*1Dsr&(&OSK#T@jQ!u*tvT)Z{-llgiLT)oyYHVM9|TO_P6_Dy zp%Xk;Us0?7tfK)mj5YP-`W2d3n_|$d!1Gm#{7Ss(Q_4TTa&W06C6%pp-G#$~*@g zGW_zQ<>ZH11$Vk-EpNldOw#Zy4kf%rH=mX`|LoT63;fU(iCKgo2uK<2-og$=l@KhZ zudWy0Zshg4QCcp<_Z11FS5-3L*8@QR`o%m0cT_N3!3Im?SPyLp1>yx|q!Bca~YI79Vzb?ruV|?j3wER4QM0Z($UIbdpLuwjfvCXk2;uCGsY}RwA~TX+>5Nq5qR7AHFN~@9w&rfTVUl)Yyt+#6nv=ZMN~sVmVmCVn z^tt`hr0FZB=YL0pZm+?z-YMfu73D>8DLvCc_IK`|8D^tf}S+GQVk=T)bCP#xAe?fzvo(QX~V=6gUEB7%NFaKaR7L}7a zcH;53s#21EQ#!AcyZ_vPrvd);8gz}_jJjpQZ0G{q$hwTWokLo$(^ zgLM$t#|(_1>X^!}Ve1_^v4;9i&DF6s_Ds5l6_qTj;6=9jsA^W*oL-mI%$jB#N+^Rx0Hpq#>^Q-itJc!K;$bp%Y{R#}r%9^c-gcZt)J4_f8-vcrrt zj0Y7qToI9$Znfx7_A+w+2YcBK~kx_1gk+w}Q%%mV%>p>eE;J4$Whv(YcR+9_KuGa}a1b?gt z5f=n>B!#JN7Jr4ho_E&9!!VqO>yz9|{o<#5=PAZ#;KtRow`OXme1jQL_<7uBT3a+j z^7?$-oGAx$1vcr7?m4L3hbkmvlrHuuw-cmt{mWA@uY3Xsc*g;yTD=NzGk;|%sgxVY z9uip)0PDG`cxJ=C*WtU zbtdrN`bwbXDQ)hk99|Vr(R1~`CAEzuga2#o<$|ZwP(M@`H!BwjI>j%vp8~2KBVr+A zoG1|GAdK)3Q2w;3uXqSqDAwJ~{6jFhkrB#A_N=@P6~h7<_0HNwN-}UT%Y0klR{lFQ z(3>n=|9v+*i6sisuV-3iL3`sR<>Tt|b>ij0{_~ut%`sSYu*;4p4-CmxS9Y|m?!FEQ zZJ(IQu6eU27Eewp>`R-E>}{~IBKMEUshRzK2-*9(PM4kgmA|aNxwL7aV|2BMX`IHW z?_1S@yo-~QJZ~1%gEN`~q+1oc!U13W?4%Y2N}cu_-b$uxbsWmWlUh?5$Xe!=P7j7b z$D>mu--0JR@LGx{#d$F9P1mO_(`i+aw_f@Cq8SkR!J2Xs8NFhtvLF_7Sg!Cr_6^x) zpu$QHO^(J|V3SI(EFz(~H<<Q$X^OM9o_!9(0C-C;lc*+U%NgtZl~bnbM<)rJ=U40(uB2=1shdq$G*;^YJzs7H~(oF@&0 z9(fzDPm8C}z;}X|4)u?)oAuMk%Dn2nW!G~K-t!E4w5{^BM$-s=7k}og*JFm{?qA;X zWjk1MCqe(}kg@t7O$7;7Utu$;BZii{=mIvG_uE$8qE3ye;;}=~FfMGqA!}ez9>d1CjT!_uhLnZ}+9CKo zN^ARypsGedYu{-KZvUrda%kv7X1NQzK=QNs2XPzZ(?P;Rpc+AAp*Xd}EkTIv78wRS z?6ESmZb_FobU(;H&*0-eqf*MuiieeCuI$Ph>DdD3Hx6b0FW79 z%Yx5g4a~lsYbOyA*>EO#t3>sc^?&=kPQUy7Xz*7edYx-Hp&KIq`ngU012ys(FuloQfS?V!)0UHBZyD!Wn)% z+m=mniEIMhFRQ`(+RCNpD$lRm>Bh#J>GjUupjUUuI9m_yx|~B(P+E72e^YtO3Ob`| z+g3E}l@8WE6gz05XM~gAh*X0Ma&CZdk(Ay3uK?^UZzfLu3eRsyrB)Oh&UI5o1mp8*tIhV8to;cr5>fwrd=Ca;AS@N+)ZYS|czhq*nCE z_oBLDAJ_5#M;z50kMSep-(Q(zdIbN)Mb2|BnW8}~;lGsI#t_V3;Ujw&f-mfHgMPW( z41T@w{3=`6EOdm=IY*m5TWgY9YgPi_dwBT_|INNEabvQR_u_Twy;-sO%l@KkcS zxY1isquVZTXc-z!szteg0VKrY;TKSom-ggPVO^d52dhlO6Ng&P(t0~#BB}(Sqxkpl zck0y0ap4=WMBiy=XD7~jnZDZ2T$3D)2Y0A4B&7|DJ+)A0G~)-i`3(kLXNkNg@=1pA z%<`WyeYAqU;P>xkk9$%i$DVS>fk;LYOq3Ahk3;#XyY;lEG{0JArxKbWOUszFE`xYZ zdDvsrv*CTwr4O}r9wsIR@1UED^pXF!iMvU#R#p{ zKqVfmX&>(m$g$o?(vo4;r~>&aYQT@rMrA1mi_Sr2#KDO}pDlxL*Vu}NltkZAFvW=> zxk%%noS4zIVXqX9#50Si4 z!x5`tf9aIga<=7L%{##yusw(SN@`Zq0O#T0bD!FLYK!XM>UW>KS^U_2(tL6bPS$hV zJ{Z=Q{FQZcPjl%nwj~Bx`i3JZn^xDR2w1-(1zyz6_<}6QUo!xXO<5rJlIR%xyIf%z-q67=fDEqk4gjG(2B|>j#Lhi z?!W@h4_5FGHXjUF$u`OM()kdvh}RAN+6+e5t%Rk`Y6VZuFyTXarSzt(XP1bOy-A)G zv8Q2EvDrB_Hj3Gh)m%%WT)Wl2L*s#(H@b2y@rML=*4gRNWf;((!V15|5hX=~6(^Y* zzR2(YSf@^bpVi%Ec^{$rDgGKJ0;ev@et#XRIez-dwV1%vtNn{|d#9aBwqI--rAgmW z|G1l5Zhhm`9#^u;Dt!wOm6zro!n`U=$W~r^v$}e-QHokKYBj@XE_Gm_@xyEVV?rr} zy1?DmFMcW@5%T@~yiVE1`CpiN#s!^`r>e!0qQ`fR%r)GoM8r*aJUxA6EftToLos<8 zu*jJ~1NoWfFxTqev}Jr?wh$!s4uS)-bmWd$c8vWPwmYB%T1|(w))-~-O#;v70-dEkp#<@tq)eGDyDjw2%&yZ5_dm8SKh0hv0 z=Tc{#q?uO5r7%foWSdXqPz&y7rj{p7)4#+`m)Mf5z6vE38~%ii8-~LFLwtEbk{5id z0oImbfcfnZe)At98$LGFcA0S5A*JVd{7d{*>O@`Q_P$p?@5ST&i@I)7yHzfI_fGG^ z-~<%n&jd?u$Zp;IXs{)q8O9Q?9O+m!^Kayf;X!bFnCrXks+|yquTaa;U-6f`UNbpr z-T+w~OM{A*yJPu-<)HNC4js){Q}6#cXn}Q(D~0*=+YT~D3d&x62PjIOSNVID6|>Y$ zJ!_6dM6k|i5V1Ld9HD)6Vu4H5VuRV%zVk3J$Q|~ZT997t>a-$8sjW4W?!Jo6dJ5RN zQ_Wh#Vmuau{GUIhPrPe1!qxU8V&mf|eVz3e2WO0#l8a%fBCX`@b}xjE%eXZdKlPf$ z0G-emI{H+`hC&Yv-zNIYFk4WJ#~{#1cDS$! z-_hQDOCxQ*c)I%~86IBcW_D9SzE2KRYXi+EsuO=~!&EH%P92JxU&`Ti-}~B3Wu=JC z0@JH$qtV->o2G6OR%0!bl^a9gERbi(aT<|>F}^}lN4qA4=HskoCCz+F4NpH%UZgQ@ zPXAEtb$8fkyF~-NT=k|EXbjVNM>l~1om8zOdVnvH_` z*f_-56~}@87X!RcZo4XxsS^S=9TWJBX8Juw6h5_Q{2lh=hqlZj9_)#_4q-mWY0zB6 zSj|PqO#LF}|!58rwX}7DiPU*6u5^nJ5A5{L$zLtV8vw zNi{lS9VqnYt!sQh8}C=?CyO07S$A3bpKy2gz!w6q%|4H}LQ`wm1~sNT8F!qL@@kHIuK z*Y;>@y2e~ZV|RL173N0cfRH6S~T?)xRhTfO8Z1gL{&%Z;p$ z+IaZddfl_f%~a4V+tHv&mqiIv2Uh}MVFXcz>%G1#9&N1@5c*E+dfm;yx$M5EQobmj zs{3`aeX!{Rx^p8v`X1x|y8)`2bsf&`)n){bPi7uQ%8B!~EmSx5w0;NB%hjeS5d+J7L^r zwDD#jhmO-~_|0-&M?}r`$Cgy#tb~4LGLyq%(YT>d5HHG+RBg6V>t^%;UjqVq_jJD8 zGrkUSarx_JNPu5w(k`#yp>@uXMgDu*?Uo-Bl2mEuvyXnFB`byP!p}kCN=x1nso$4G z6{4SVo7eO&*^eE_nOB9gB*@TcEe=BPONpU>5tiX)F7(BiI7FZisO_J`dri!tHfZ%l zDCJfcDcOD{c(&>MDwS-e=2PnV3U5=imCdWW?jO3*FLUY(d~$tRS$wziy;td0$@_d# zKaE`!R7XAMFQ;U0zv9|xNaq73=@K=+p~%I$i9|s7wR*?u*6r#RGv0tQ|FXrGpU)kz z76`6uFb;j}FLnH?NyhHN9fk3Tk4Hwr#Ptq{na~gUx%b%l?P{OrkeWdtpd}S3klHMa zY`dNUihU-)#Dlt3H089tl2iP$3N43OVc@eiIafM7R*(^EY}`)ojar{$SdsUS18h_B z1Pkx%+k(zz)jjtskv?KkeY*$+Jm|mUJ*RPm<(y^6wY2Y9SmxDfyR*~w5rYz{VJVJ6 z=IRQ!gjg<0M~TWq39wDP;cd!>A!U$g(20_psd~bsouxb=@z{d!eR|B1KRzx$h2Q&8 z-~afX<-OH9*}1rQ6dTk}R8g`Bj16cpP@0>UwLQPd5o~sq^#52={$YmLR6!F>ek+#7@b}bkGx0?NyZeM=X}dxdQGK`PKUT$;3hFvY)SSUn`R;XZPQX@ zHiz38iGfXbL9J#Qc6gi!pjD4R|x~uoO-SaYwf7koVnl2pxH>&$$l8+EW$vA z^kahGIb-JdsRp{!NGq9}2F6aln}aaROnu&GlRl5^KSkfy!u^#d8&I8$)RVkkc5Zn< zkqJV~EH{|=NPo@ySw@5jOM}R!YolWec8`1&zja@sX|E~v8`>{;CHy;Z5z%n3}Vb*<@UpGn47Ye;u>YlebgJl17^1 zn*}hGl})B=cNC|*YRyIulhCtjTx65BL{t-NB?h0yRV2Y+5o*5%MvaFP*cU(sqCE!8 zyF)(f!Xj+Ag&85n-(8^SyQn&$HehIl>0W~;TPuuaRrM`zQ)}E*&A`pCX*kY%Ucyh> zbN9t*B!rKz*n75o732nT8X8<76&d_QwcuK!u zr3J7OMS8`upsXqX!Jo}MW)HI`H|lG8hE8*6BBOhWTt-@6TGVXbbicyBzu3RP`Y!Np zmMHk#sI)mdY16ZZ?mn;Xq`9>p%6xI^D; z2W?;34MrQK+XL4^XZ*>W_DQ9C>o>#xHX80P+Eec}X4OrA&2!0GvotDyICkTo8f0z} z%m=Nf+!ko2ZK;2m@3m6OGbSQRt~dz5`oxw zYPpBQT57qW_P9~^LG}@JFrOTNuJ?CncHJ_@x8M3j>OK#ZsZWQOxgtb{l}wiMwX}GL z11^v+cA=KLh3fZ-G$WE?A!*H0!K6PDMww%m3a=cDJlMR2fGsa(ou7%QC#an_tM@~> zFJv$Dz$e?6o$xMYprBVn+=_Mmd%kyb^jqgjd$#I-C zsY-d1INaDi&UhcX`eE{3S9E{L1}hlrG`157-si2XDF`$@yBwt_ulm}w*nsF&gQGnv z8UCCg+cS1dSIN%sp4qlm4$MI!SvXa?3qHI4KLFl9 zA-`(VY#VNHm(avLIEqBbhGJ)akW==tFEUv40(>b9U|U7OSpp}fk^ls4{h;iVVn7l^ z@mLz$E9DS#sZu0XEVMO9E)-@mvLGn7AtVms3*LcH}-&(>A2)aR}wqDAO1B`-Fb3_{Qh&c#h|M56IhX8)g*8fwlyk zoSx}AV}5w$iVpccd2o1D=Y0R``_NDS=#Q)0JCs+~gT^h5h+_cKKu+HMz)}Pwvm;60 zk^&g3DC}w&3b#EVC_EU+EML)$!`JCmH$Go)dGgok3!eH`ecr3TNuTrBm+LLp-k~RF zkIB~$re*i|6oSJT0fOD~%9rrSyjxx{ha%??z%EDR7kBsN#q?t*FM53%Jc+W84$fty zUi`Ro!0e@brnZ=WTDxQ4&);(E9k624hKsyqQ+O%;)b=7h_1)5Uug|UE?g?|2V}yt; zZJRAQYAzh7I@?yY<%Y^%z`O8UpWVf_<#*=9u&wn5%Zmx}Lc>@NVuFxtTS42+diT+C zi|lH!PvwQ+9^Q&6pr5jiXP+Xgj>Z@5Y%rDC#~+hkOY zRFq@_(G)!SsA%d@Y)qx)ShaUOM#>k+2{=k3s`}MjvzKO}Y)$Loi)%%YJ=g=7iXu$;Q zS9$*FJEAM6q!^MsDd(KD&$q9x&1Hqtwygr0^D@vB1$F#Ej|QFfxoH$BR}!gk3|thTeCOsiXKjlt$$d@4+AxMLSQ}QQYYOC=*No@9cJ%5h ziH)FVr{`L*0u6=E&lmD{w&il6(^FoRg4fG)+Fj`C)gyHjIJ{KGjXpMv`}x@&J@MLC z>*e`M+8x9U^uOTa?i_pr0StP#r`!*JgSTZL^+R&4s;1-w`;we5;)`xp6X4AU3&_Osmh zrC{p2rG5EH^(<<;S-Bf+ZmCKa`PSw#hSXX}4m_N-I7f_su5LRsdB5sS>B^w%B@YY1_O2teZk{xL{RfwzJB7rOj8m zV#{n}s4~;YALQfrXFdD{7gDm(P-KiAR+sO#7*GY4vBjXWkG#s<6i9rLjF=;P3QNSi z>@p_Kkt2ynfCmmXnDquG{xz$S<*-H}t(fS~;QbdF{6z1``Pn*#oFI}cr|#3f_Llr=QRFaS|ggF&}`KCCn|F) z`MB?-sujg*^liY$aRx3pzwUFp#za#hR_Eep8*F}&C03KK%80Isp|}_cymcX@6lx*0s@fESoyA38%|tO z3T*ICk+tMiY*>zo1gp!z5P|cU2k~w*XqgZ@6q-B*Qsmv39Qoau-ngsM`;26tq{qTc}+ zS4dkvxIjXJ3qWkf9@{{pvXN9sezoRt3+z$~38rZ>oXJ5AP7RZH%jC%1S>%ZH&|?qk zOTOrRddKH{E)(a0_V)JGwEMbp^_pf($}7H~xiBo(gPwWrdEI*6-^_Zxt`(F2Ig_#{`VGav?R!Nw<5gkK#1@+A{3t z^G-9M$=RvMaz;ogk9?Vl6dwOXB$_eMDr z5B=Z!OMjcVfm>+Yf)od*3|lcQq%iS=3Y<(Ey7ro`AAFXcc;Hv-^^bm?-s)!nSYIzyFDvGs0iDs#Kl{xUtC zmTjg!7wL;JtNx|@s@)5)6DrBPKyz1My*b+&8>X^KTW+|_&hm?3KSPyI{i>|usa=&# z@r(IR?LHIwLfc6f8@tH6kt*ArF{1b^fy%{;&9orFUcTGjaJhCTbu$icf$0iWX1Qt0 zjSYoHaWPfP5qo|uU9G(BOxw385I8lEEHf^C+e6{YVcTQVcCg-HdMYz*xiLESt)qqa zfntQt*Z^7fZHz)s50(ROdE`rUeedz2fdx;GuE5BDBG$r@({~E1y zk)Vm8P)~bp(^9M`F2v0gk_|=YyyVbppbdXJTTw(e#56siX9(~PWr~pH&MhZt-nE)j zROkEqwAra;JkR*vb#i=6Up8tO#~C&)#cCjk+v>VTr8x5nF+vogo(F`v+F4u1sORAz z(b}4VyrA%J7>|?NXF5GOQMfPdOgYcAX3UyyrYny;so(mCezy*;9m<<+2x}4;0CtvQ zEXX7jP2Sg)y;tkeYwy;pANp#2_7mT%H$3*6^yH2A>%pV9Xn*#IBC;^$JgaQmD22Ad z=fyJH7#pmtxX>^~Z*0Osz2-7tZZvM1>0M0J7eqYXFLVlP5DY!pUO{h ziQ|KzDyFn$6MjdQWUQRPPKnHV(0%t8(|@MAi;cZloQt+E#ZUWoKijFzv~B3by>LG_ z?aul%fY{8}vuYaAZYQV=7F@s)Tfr9DWCxeYcFK{cO`5B8#g-Xfkj^%)o3?Jt?z&z4 zt*|p-vdFeHNTom3Q7Y^%fF_%rCu||NGP@UYOYG=k#Gwel)`P}IOibXSZtIhx(c2&Y zHJUd^_oQWYC?)|skHpr-S`}@QH&2VkBP1s8gtmgEj+B`An8Rdjov;yu+oLQGH4I)b z!$p!>3Yn7p8O&@<&^NvP^@%#wdTBBv<8VuexrusFk_N;k<1jI z6*m4O#cPUIPmyt{O1XlqTOwBEmOW_m;7&Y>X}=as>vQTpOp*{k1(D8a(S2Cu zlx2IbYVG5EB7&79nbUSeq8P3jgS8G14>dnH(*7Z@7Q0qFp{Q*$1-a9W2OiSl(N!&u zpV!~}tADHfbSKFWnm8fakW%U>P><=MD{t4U9{h5B_T&GN-t_oy(Q6+3NptDDH(ronp5Xx~Qwn<|65XD7pvH-R19FFd3}6}l2O83o%T zMvhzMrneg1O%M`0eVUtHN?a58me^Ao**$HTzaMPBP%%{xoc+ zF{f=>Znzk#+FYVzy4hOSGe0#dqrTO@Tx5U4)PBqRCXOJREnfy6wwO+32&PTj1<`%? zYFk58Lx;BR9yvnxYEp2~bFjR&1zU9G08`?C3xDxoM`SzojzBosi`iDUqYE)H+Un~~ zS2Rtq-=0{L^%i1m)YCcR0sMJi_%6NrEw9t(eA)XcG@ zJV&1xP`7{*E4aN5Sd`a$2 ziQ_&tO`|!l8{4*%SCalakBQveP9`7Yh9Z@6BDH}wox2#T8O33v#W@cR?M&And{_@Y z^eD0RiQnp&72ApbatK$!+ur%BG(SAhL3@K&grBV^Ci8QN000mGNklXBco$FBLi*K5`BFhwKY3uwD}Y}|(`-0|p1Rpx!DHibuL-g@hdi=2bysPEY= zGfag$pQ&(5TQ{}$y=@iYW!)}U3#SB{u=;#Vr_{bE{fxU3!b`4U|!wjR+JJ7bqP7QfHn;2U-4=A_KrFaG`H z_5qwWh>PQ1!z$l}M?LLcmD{&MkzwZxviet@kh2?EJ&G+Dsqr}FO_zY9%EujRoxwum zox%dZGEix3icMFjHug1Gj_m6E5&f#izhZQqbiyVE?Y4Rr0^0;wVOoXG9LTg6 z=wKBhAsFxDI>uptR#hG>*SVh8ah|+g+=dkLY5)_hA^-kA{6YP*@A;?t7vJ{-+TT0U z!QmC~zM4F))>wpTEL@FdU8`A3VW3S<(#-c1ofVTa?FW5AF!0LKzq936cB{>r;?S$Z zXEvWHF(y4WOIBPPR&@gj57?7N(QQb!X>!SLU>)f$wzHOEZO#<&ZtSl@ z9R+lc;&pJa&$q(^9Ukr%S*FdNKDa-Laar+tbfEnZV?tjYw}o71!UV2M*q# zdG~-sTRy*H^B90cn!316bvqiPk{{T+Y2%&01zTg2MaN-E3nl=YfzaOFFY;A$QEtBY zLoh_uOeL-rmTa+Qh28R|?*U@e@hI|YXE_41z9k@ExLau{w(O>MaFKt30$=u>_#!dw z*G1hud<{~um8K1*|9yk|3`{C{UhH)}dqv6N)9KW-q09U(%FG*RrtJ5lt(?Y&ucp3% zVatUmY%X?Z%A0og4E8bLVpPB}iw#_rn=f)?-V5!683VL!923$KISV^$eVE}Wxyt4&a~B_@|W?KtTOyp+f!u9g)}>y>ks_r-==T*gWsx0 z-||*ny?#yWVWV5OZ)@R+IfvSg)dv%>|2oH#SAEO%f=QT_%xb0O; z6@~2d?7Xa6T*NH%kLIs<-M3t>CGu|?=P+nR5i#!qpy^RY3ID|T%tQCkC4>RX3h!RDEQ}MYn;f* z{X!w9(#&Rz%UXTE))_HxfBabuA3E3K2X5;5Kl^X>?0@kg-Tc3QSa<%1r*-zfoax%? zx^iS)y2VyHfDNE3GTw@i-rX9H9VY+h{kF>MSh z)5ZqE8x?yK43kl@v0ddYH18OOD!0tK3g)ddF0$G{VI=D=h`4W5ww+JmIJ`hGkxg}` z3F_EbT)JE5ykDTS?^H;f!d7g(X+u%G$icQRqJBx$%kjUT%>{Y7w6RM^;8M$9S>b&K zZwZvVJg4|_r^FE-UUuj zFN7pf$ZSb`LY4`0*OH5xBnHl_4aCa4GMjge=53~6^{DV=0zX~$`eT3WPw9{UpZ_GWvmWag|+8a?#DHC?@O1f5yYG`#9N(}D>+r-qfuTz&=T$-iOck%^m|MlB$b z6NO<$q3I|>Ub$>2S}7&9*mYg2oXCR}TBhjurx`<1&PnrGOYDXTzt@Uyaw`hxDMe(# zt3JOHTvL!UG2K?qts>l3&nj`P#Gte;DggncoYeqs+phzI_!-`Xt0%uT?XM`>{>vo_ zm3CWVdzQ0)U}@TucW;cnXlujk*fp;vdy3u}MeXeDR0;XOAafcN{991yPVOAbd7qQN z`)?b^4OYsFe{)BtKlGfI-~F7L?>yF(zr4}#H*V?dd!N?o=T0=7!ZRL(^3j*X3&9#U zSRoJ?KxIeHUdVE|hba=LQ{omk4(z4LdW#e*3kxwG9HxlMp}4C!Y22(Ise5${5hGMJ zFU0mUSmV$J(+2yRH#T3vGSgE(=U(O3y%f}#74PgX3sPkj+jvTwe+j6$mch8_yHjq1 zRK4XFVQW(2n69>_4YoIaxp2|{<@(v~f-iTUrJp9e;0)kj1K+PR)u-CwqAD|OxXkw+ zdyH&jnE|%$}`Knjxm9KoII$rB}m2z@?DzD5=kB^19_W1s_T%7Cdwx%-X4deD_7(n zraAk?Tl&QJd`Lh0r+!pF@gM&~{n&5*JNo(m^2c=ZZ~UV4Gv~@DIMv+&DqZn-%16%n zEf|#sO&GA)B1Zf!Q)G^DS5(|!Wr8k`_M*>QupF`=`x_j>wuOcD%d+e-m zdd4-!Lf6AiSp{2c`9;{OE{$WI?TvpWp~l?y>3*TpJ&M}%dxV!TFBny9rVZ7`5%2cu zGqtNS8(rpOd9}B`(#8hsftvO-9OApXeeZIr_7<78pRsw<2Ga&NV<_~N*x6bLY{gJq zOyxKpF4~P!j^tC?sE%8_MHon!Xtzz65_4*}HJX^n&N;Pu`;%XzHg)ngx_HVH>XDPi z({C=2GVLlOOOg@|1vrqqS5fEzE)&)8&QZh*kf zufK-bT>s0D{DgkuU;azoI=-XzdQ}QX&*Xpm_8l$G&a^yRC^wxVH}a}1MN-qW1qSu< zs)!WSN;wOa8di-8X~n85$gRnZs5j-cWzI?6tkaxA zGV5Boz^xpg*j?N3oo`=z2YYIW=hvVocTTigZs0reY1A|TF(N`O_WS#LC0@{=U%L*H z5^c6!tL!|Gr<8QgE5?oUfe+h6D*3tKE?8|Xc?~(xSxig3w(I1i2NGXBd#Y!D=p*`t zzwnd#kw5Tv^}S#Fm-Hk5`~OM*`cM3@KKeiXtWJL6CZ@E^P6(oJck^4aAoGU8Y!6Om zOB$7H*Te*-F4cT0D?SL=$$4}v^hna0E5Dxez4N?=&+AWQqB!FY5|26NUMPoetWPga_lI2MvajXCu*UF=N& zJDZ6RS2Wvw%1r64`X$k4;^Uy7sh@o-O!`zsQ=GKxJ>tto8SyyKDNKCw>hf6W$hr*iE5EZVCbWz%6O3j1+czG-VrG zo0i<6u}@ha4^HEoH!_GXp=AO1D{*dO^m{hROl zNj>}HAJ^u5?e03PNO1&Rvc*I;Z0Rc7;w{=LK^Fvtt-h#D78!Ke%~Y_!wDAPEG)kJr z3`NltGarB=x75MGh&XEWkqY*~>Z02crnlr67J+$fH`9m;XKXNI`8^l`yPMd>;j*zw zky*I&#gLtAp{QT{V8g9N_204@1FLLBR}P%giOa!pDBAOyM%O-$&$Js3@ zsi6<1!wvEpG30G9S0GV1WE-I16rixtJ^3UgrGQcF&Y8SVDHtnOUY@KSZOGD_-~GAL zd{4J2NHbP3k3aUP9)9pDE1*tI6FNAU>H5_}iUpyu$uzUsP+%yCGhRQYl(Fk5KrMx? z!-$2J1u1gB$`PowbTZb!FL;lhHv(ttAovdeo7p#Of6qtx4 z#~hFH_cj`y};6KpM{D1z1KK@TW zti|(Zx@U_CH>E8$Z!mokw(^38trE;WGL@)!lyYs2#65l%*{%phZ$}WDMHitMpexu) zXuIDVTw-|S&0|{d_E2o6^frb?hMgY9D)R=|7w#CamvdH?Znw&e4c6^&B@k9yW4AF; zp}nx9bYE;I=&CLJma*Ps#U<|4z{)91<4ovc0{>#JjjH#F000mGNklr-|TM|@zQ!%1XYp;H8ywcMEH3{oX@4y6xmV++c z9n*@fsmTJC8w&Hn!;6J{fiVC9ycthSi84NK#15$)&J(RVGnbLpn$Qga7cK>LWk(v-(u| z1Gt0M6ouug*C_>NMd7hO^@&77E53tmC~*wfJ=#eza2g<9+n_zu?QByY|?2%d7*%!rZ?N0Df5cav0T7% zlgn$r2H%8V&RIT3ZlfnaPyc#WlnjY-Yu%s?1+?mO4mJ3BMV8apZca&OAHAbbe&2`n zQ-AV@^*{fvzp20T!9TBm{5$?f{mcL759;6k-Jj9%FW!{LT6J?mhKu}VvT9SYZ4Bls zhAt%M2=elMsw>8rAuA*p?w%AYQ}if}3vlq5fl8k$F813voE|(>QBld;R&V4nwqi$H z51218x3qZ!>|`%Z-@`jr6-@1GEaP3?)o_a~H)(7;`x{$ku-v%hYyvQCJIHbk8CTx4 z!G5+gZMdkntb%PTy|bGnv6EpmwT0ER4f9i&gqVu&rKiEC^u1Phx%&luDc}3($2;k6 z_{*sm>!m#|>Ye1p2B#x8wZCZRc$Wb&BQ7yUKD_`hbA3tKBy3I7IO49t&6qXRc%}_* z-}Z*8GcGzp7+YryySr!|({?*R$v(0swgx5*j!~3mOjKNH+aq&3774mw4sU(mUAY`pR$kpwCv1nS6l3HTqjJ?FFY^Bw5tu=+t ztF|@8)OMm%Yl@FoaDKITeCJgDp%VAW1xyhoK4$W2&;^mMs>itixw)80j5CGJZER>` zKtEn9j4%#o&z|U)zVF}Y|NG~DOh5el|E~T4-@U%?H~&@r^FQ_j`h~youk`%?`YH8% znar7tGG0A-yE>Cp8>M$wk^5ARk`C983JSTsLPJ1V9QMy zSAE4*Zd=DUe-Z3=nanZlx6@f*<{qI1(hFi#n+dM%7hB5>dhx9`d5_gazl(e|zMtGd zFY2cJl&-N}1g96#-BsPw`@7;Db(#Lf5~=pP0QVu>*@>!52$e5qqB6fse4kw1-mV#J zoVKC1wxciRiGfAdSJ?6B>h9QtEo{L)*w8ScO%|hisDg@-yB*NDBWE8c3dcg4DJt)N z;;XgaUV*!Jw@D~zEH=fH31Gxx^EiMM{PS+wF!<_;kYy1;QIitP7$^9aG{8w6MWkaz zvZRc56cg%-KK%48{lEVBpVmM4tKY3pJbhDFuU^-+Yu70Xo8r?@*xaWS8LvT2+feK% zM6BWl7YtruhKSvD+T**I3(dfasONPd)lKHRt}Vro)WD%86N^=zi;H~|x%9*$jDn<= zyjFA}>nTDB-mx~sGd-gngLy@i)mfyVAg*+JdPZU0(9cG;vAsll#Bi<+E4!u--TLWI z=@Yv0=*=KXicL>#%vZ3yLY3LC%8aXgN>>}}rt-=oV>c&;i0e!;E+97h8@429ypC~V zFYNseMbCk~_!#>dD)wfGYgC{die}8g{K%^0vbB{rbnL~>nA1PfW~{#ewapjc3wCC0 zV=#R`D0=cKjb1de99c=F9AMZdn$b6 z-uYg%)4is!<6h&AoJtIBxBnk??;dMgmR9$D^PGEcy}FBjRMXJBF>*-21T2u-#ERu8 zv5Z47b{qvK_CM(;e(;YSJ5i)Oq=^3#M~SQ`vgF9IgE6rZw;jwIV%`r2oCY_J@*!{dP6=}uFe^| z`g~<~U0vYVy&@ODpmsaLj$nNcncN229hxWF}r`+w$TC;10ExB|u z#_Y!~nUP4%%+UETu%E2{6h+9W^aPFA?8Q0Qg9`9QOz#PbAmP#LC*rH$@rUB7>Bb<5 zLo!95A$`%1pMdtTr1E&waJUTp>ZAUpqrU8p?Y7xVZ6w1L3&aT zbOX@$y5vLr-hb_P$A9pr|K0d~|K``n%ld7O-^f1k!VB@tbI->co_sPMd&3*z`rh5R z&%d2%?tyM(FYDi~o_+4wc=^Q_8~Omjq9rjy*zsD4{@#LTC?2P__sCw z!w&x1@SqzWe|7larTf9ZrQN-IC+-M5WxYDl9!5O>tIxzQ|Gj@4@BNEE7C-W?cgJ`A z>)#wd{%5}<{-3|{)A7%K@R#HH-+V6ep_ep_6tu9Bp*DRgAd5$(-vd7SUIq`~udq(_ ztScIMdIQZI&p?B_7T(a9L%V<(gBT@0w-DLbG~`ru#C+|tiQ{AR6hMxu?RsVqeQb}t zG%^UTa6s=Y&r#8!rYAFd8la|n=2(Dz5;Ounz34o&#pDp3f|9_ieTrkreF%V|%_1%5 zR0BdCW}%T@=z&NMsGWy-noqK2S6v=}O z&$?HR8wdFw>Gt!8zVxrIbaT;- z=KUZ4M11%6|7d*w5B+Go@yR#DuX(QNPDQ?nhyEbiFo&QGkp1_m*au{ zZ7%d+4}RO?-}>&{xmNaJX0NqBe}(vn{@sjoKh(Ld@7{?=^>1j8NV~qe3Y{iGukW?y zu5`ov_^*E~KJfj&81Mb>ems8U8^0~S^K1Tk{NTU$?s)Hi^JDSr-~GOL_Ln}I*Bm@} zxip&>2?yvE_y)Q&X!Ne=0F7$h6&=*xe6Lz#2DoQ$dH@ITJ*-~swO?)XHCXmggqQZj zLeHo-7?t+|3etZKOU`Q1ah&Fa64>9!3p*xGnP&KL0ir?G7WrK089-w{bNu8i1Ne#2 zXVC^|$+f7}dOXfy=XBq?A;iy-Z_3Dm*-&aOlF*p#Le&?%h1)? z$$9p(iSx#}Szej*Q;{zq8DDIS2Nx~9HHbCy61Kl%<=$iT)`fl89+V+nO6f!wU&`*` z7?rIFwWgbZh>F(ZG0!oAqvQ|AF%{Y8ehN@|p3DMrXaKHA;D7ELzc{}9soxW!rVZ#e z6W6){@z;w7X`u&uzz=X~hd5|e^GZK2Cr9BPCRMkrL&qV48=AiBGHjAwOoyL<0mJn@8nE4y!<17-MgXtV!Wbjyi(@s`mTOEdO2Qr{`t7C8z48KyUIM|Mk_R3=|kNRAL=(Zu9NG# zy1tIk^*q!~>gxJh^eXP%<2STx-3YIAL%oWo3w)^ghkEi?x?$aWM84_+{hQiLx+%W! zvFGFIpZY-jqW+rjC;#K`j_>~?e=~mYkNteoDtnz3fz9u=Td4SE9&P6coPulu@3gOh<%0U9u`9vZL@2hO;n0rh&> zH!stWQ$Tb^TlK-OMm;Tl6;>yo-71dW-nrQk+bvw6FP4D!f)D+$_v#FfSpJa+Vr|`n zbKsxD>U*Da`J!_pDD4U5C26gkU{KHDGeqUI*l<5(G>}_};Hl*2j4ZRYCRcz8W^ic# zqHbuP^~7(Je28nU*JESZ+N!T9jSFbAis?o%TD|1T>gfObW%{n+!eqXp%)=`g*DacE z9xsaX{=FiP|Lgi+@?~EfpZSHK7w`XPAB-m+e@y=l^@;e{M?b2Y)5{UM@x7qG&eOdm zuJ2yQ{Z}5wv%10Ed*qS0bLVdUb)!xkFTL=59CUNK_voWJ)2{VbsV(B_&XvyDbc4Fq z1+{qT<(Ksv-^-fSUk&Q!#3eq^UtzwYn-rD*g>L>@@u7NMUc90`UwYx?c>bB^<3sQH zjrgU%{qyl2-LQW6PyFrp`+xLr#XtB@z9)X+ue~Qe^wS@Rmp}fJ&Jq35dfBXc39_f2 z^YMWF${9vS18_7raF1s0YKf~q6nTDEu}*lZ4vmQ`5wdBD0@;OIx<7H(V){%fw+#$q@4>! zNA4*~28)UYmz)Rtq5G&2Y)g4=W2= zlCjud^j_u?wJDXEzU*Q;3e2VDVUoac~AU${vbmSOKqyZay-N{zw*&||9AaD zyyw6Eq4?o{|L?^2{h_}RKcRp3`uV@~N$|xJ0IFQgGL_Ms~nA<9DE=Pnmm03veld0t5&pz z4;M}jJk6#qo|HvgN8QSi(1$O0u=j{s>Q#eyWKy7~QKjJ3YhsVg$wW_xbEF3mm{SS- ztSkcCT2q?`Su~J>mdvTvJ=Go$8O)tL>0=^UW|Bp)XOze6wO8&V!Fi+-jm@xfahu0p zZqI*V2aT2F`E!o!2WO_2! zlLUfLw#l5Ay{BM}$|+A~wO`JwI+Gu=6!Q;|x!^IYSUT)AKWr(=?MK|zU)z24XZ?|Q za?R^6as#KGzl}Zr;!AP3x)V>n z<*9f~H?iwS?!`Ub#3HVAQ+gQs$F;blzh1nf-?nr*o&RCnRo~P+&<%?J++L@Orkf(y z6RpKd`i+nO3;g%>o0)cqhaY`8p8knnkN5r6|0{mt&wYD*@7H~E{P4Tp9Y6bD{c!xo zcl}~~;{6}fz6YHv`lIzSUmjXC00;02vKktamE$d*{Z>Dj9>m=-WxyjU;aS+{eSCQ_sRWp~)wY$w)&ed;d z2>DEuj)ANh*E_F3`lHWcjeH6_i#+B)y6UMnzCsF(C|^|S&L6sr^X4s`y*;c^Cm?0d zrJXMsy05>+rO%hbx-?T)zdR>d1=1@sWKxsI0r#ol_y7-h6wkS*p7`AO{I~vYY=Hz$ zh2%V>u^ABo8v1qTAfjK$g1^E$NO<|-D{*~&rJK^-cvSU1Hy_RO?`NO>MV}S_;eYyP z;v4^?KOIkg=I6wnJ1su);g95h<@iu9;Ny=yu7B@(DRKYh2f_bIs*im5L-FD#J|6t< zrg8JSd-slZYr#$Ku6{G)-@snJ|8iWlt2jJ3#D{+NH{yMN>mS8Wf7AaF-}lG9HNO38 z{-^i{f8jghpZ@jt#0P)mSK{T5yb$vzziBHUdQMY^qf=K@9S+E_7cfU(Q9Zc999jCx ztx?ed9GFv?vqo>ARgWIv*J^H^o;g9s@%2InDMAL^yLun@t|OkW^O~_o#an04s%PIi z-X)M@#&u+o^wI0jQBAeg=B2vUMj!h=qXB%CzKt6A*gi)p=Vy-~^G40XwMBmQCC?@z z=i>B{IvH8yvlqX3D7fb60dunZbE7fFIe0=`_eLJxC=t1VwwOYkf1Jyl)5qRiM{ep~ z%~j+x@Fdlc8zo7*3-UH@%8x9sMxJ-fRX(J7vF=}MUH9e^!QOs*`kuBoi^kJ)9*$;M zAAM^Qbc{A=WAwZ{)?L#d4O@?BD$dWE>drETm?ul+obb25>3782-}EKA9Wj?qT!|i* zHzJ)TgX5uG{Kbh;R9y-yQ$sU;Uf$13&uX z@vHCuwYYodUR>!nzE||y*8K-B#|zKDsDDp;J`Vb8%@;oLoV+`6_mL;!o^EyrUEzx_ zycn;j-nnxpp8M60#RtCoeesKb`91Ly-}vqEJzx9H@gslg@5Vp+Z+|R)?YsU-`Z|3C z*L;Y`3J*P~XaH`|%g)1EHe*2>bW=QM-<1#?zgD=tTH$1=WDI%(%^7O#ouT4UE6{*7 zIH0EjIC}zfs$rch+`vbp?tvUSl^lRuquvJ00B709+*MjeR8vyrbD7+WG}H7nkP?fa z)^_M49DIH<7kX?=*~&`|d}!KQbOf-bACK(GL9%L)jLPwlkTa^z*rdlxXrZ@PtE}4Q zQ?NFx2-if=70$I$WmBT|^?b>7jiJXVV#_f%+3I<|vqRhLNw+hnKhpY4xPUP#I)I}A z@p|=08;pErFzBf(v`;>hp;tbnEOVdiBGx{Z$DUvJ#^;iNN72l!qv;Y;wwBGZI8$Zv z=k$`}x0?KP4J|K|+0maXFlMi zB)XJL`{;;J!@pG>bYlx15_RZS6Y-L6M$f)-KVA^{&+hpR?t${xZ+c_A^POKAU;b6^ zj63)4F%=*F=+p7R-+DS8QGf5=b-ex4-;#gr$TeQyy{DJypx^!;#7iG~E}s6eUyEP) z8}E&u|IdCne)5n1@9}^B$?u4N@|S)(e(l?SA)fh#r~7|0uk+-_EL;#3SVx1q;=v6( z0}bCmN23DkRC+u(FsA}*&@>UJoWQfa+#4iw}OySrSLhG9qgBVHY|}^&dbn|=h9f} z&eI2vLCE2aHfM4V3H&?}1?J=d88l|;;b>$5nzn#;Aas^1c}rPyiM&>O)EEzQVw^K& z8jwxDbUc9MN(7|FQZO?P*xT#-pgBTs%O@ry?$u?A-wD{)S~pKY(c(XrL$L3 zGBK{m1!&Q<1;1(aK`1pQDK$ z^eNGAV+Y;cRN|pde$a1fSNsPd(yq0yQt{{;AB(Se=U2ot&wMO?@@L)??dqDrxOaUo zuG^LVit=9EQTCZ5;jVD&)?D#ckX<$M*5ROL=qvEZqrnAzj3VDp^cauf zSIL=S=`%I5F4M3us&pNZ^U)to8>1Phc^x9MwCcd5jGFT{RmrPF>d_zc?2YCzI3SNk zhV)b@(3eIX52HNUiWbsS#u#8@&aiFH$`SkD@sf9D_wvNFReg8aJu)jZD+(di zyVsA$m%QU^@#v6-}B3LLXLf*1U0z-_Ckz`l~=~q~q@Obv$MU;4H9*vDT8{z|eb_qm_<`SF&APsD?N_>uU?x4bW&{);~sAN((V zHa_;3-xtq*#|PrM_xx7efBHo>(b;uqKW%vIC1r1&-as>~QFV=!IY(19`W5!s4^B16 znp5d3$kXG2%H5+mM@2X20hx-bIcpyejUGJ~eqw%LBJm>9YAMi1v_2O#C=NQ5XFzBS27(b7i{;41n# z(27Z+3OXWvEjr}%%R;9?g9CcNc>x^Yku%SWpee9#iJ9bs*suGhuVqBUbT}xw9w+bB z8YummojoT5CA&xUb+eP&?BcO{#g*gJ8}t?0f4&-Ud2@ee)bAa0X2+cKi&yn^9uF)d zvF29)Qm?0T@*&yN&h0_AdP~2wJ?WQh$K>g)PiKvh3HFcy2W+gCl6c~gr}UfJ@7G@) z9)wW5yNpGi;Gmlw+CeS9$sK|REB^t=9sRa-rSP?u2Rgw+{e9yrdZGUCpZKHkXa4-3 zjNktUzAhg7kbYbH=oiIT{?pHo-~L@s#Akf(RXqHjkH+EWo{#pl{?+XvyRoYP)qY|T zRQk{Zt}+kn2-QPh;S4!EdH`QF>r^~y1vBp9#-2B{ zUt!%9-<euZ=B&QOi2!w2RVxuLn>f$S%V{5S=VIs-2m z>^%?x)zimapY)+D`(&#D9T_;O2!!O0lGn$c*~@no?RPk3@l{R_h455nwubDbKaAX8 zoF8+1(cQydot;66%)74~EoXfqgaWeZ4~;%4d63P{qI06^hIUL1P5Mz&GmfJ>gi`Pf z&$^Zvlo&O!X;R6BXHlP3igj7`CSPs%I=`1m?aVc>$4yu+W5&M;^ef!7I?o z0Cf7bp7YQFGp=ypp2~g(y+ICrt@!A!aA)A4dX?iD%ou3o+*8r0=@2!iwcHBB!PA-Xi!J~C~`h#TvJ34rlymcb1liGZB9zB8GM!F zG4!Kwo?Yb^(eSyzKHJwJtJMCOiaayDB6*1Gh+tuc8vV^x=?6Lt55O1Xvt6`J>pg~8 z^Lb4}uf>__qb*z2krQ5LG52P9N_#r_*BM-X-E!?$kIQ$)m*{?z9nBX!_0D+e4POvf zdOurhtodH@*Qs>=Fw*CU{!Q%3G+p~YlmGiCv64e7%4w9O98zZ3+8h#!B01$;5i%jO zu%RJza6aVF%tmr1r{v6AImOKRd{TtiLiE`y(ivt6;(uHMoW0>e37!5-vx^Xcs5KIJzZ6R*Cx2e5#Dd zyx1%sXf~+xVPW6rA#RW(Fyf0-)9=xO_N~PoRLXAoucojoj9Q1kRv@j)=aW1Dk7nj&#)pwpN^@kAJk68Dc~~FyQk>)tFBZ zI=Jx4f+SG}9?Wl;rJ8-r8?VR70H*M6kqcWFsnV#h4pOuWj9UveBML#EFLE(3I-VV> zZC^H^tx7-}Nq=Az&zostsFC({?#s8vo&$5g1H~IH# z&+Z@d&cP{%!X`I%^iKD)0-PUb_&S*m%*P_1YUvGmA#FQ`-=_>oVw{HERAvl#!JnK3 z+m{;8^}9yK3xDT9+AQ(Vv$JKD_*qJa`w!4D+D-Z$!zV zChX2^G&*80Pz3?07;8osS*y~1hZk=RAkB$LnAE3m+IeYfdwZ4hpT_?McdIX5OP=w% zU|rXLd6BAd=a+w;G1xb&3s^gGquLPrrBvI1ZNC&LP*MWu401bfB2w{S`Hd9OpSiNp zFWPWbovyGJ@n%NcUZP>^)RbVuEV}+;;MmyT#9gLL!)5TBIfWjPhTl4K&u@weOv)@e z`0mx_T_=`R<-Cfj_p*eIT_Uw_XmMLjcd}QcysFUkSVg1;ff%+kjYxEbYUS$WUL80R zAqk@L0DV1A>$_`WJh@mHi|3lgyK#b%#45Rc@OtE8W{=58v6u3GULOa_Gm|FQD#PEo zQsa}jdf`z{dV2J^mP@v+E}xWmSi;_1i_U@AD&L%3!X_i!J)ZU)J!9dn&r5=#8-SpYoL;65kPi{1_t z^g(6Fzc2sFCJ%4Twzp0SSXB4Cx+jT^D8Xk7v3DhD9A1DO2wxZtJNu0yU*{?$g!5eZ zY`J|cK8WqbmRj~%$&dWwnZk@la3WZu{@K7ndwhtA+_Gh+4@Hna?E@Dh*M$rD7>UJ$ z+WJi7@|;)oC&#zP<*{A;mTKyPjqS&N%n-S$X~kl^G2}l@xvRF}t124W&~U|d^t9q& zinJ>J>#&%Fm!gvQWtpUdccdWY^1IwB)2+PXF%OWUM;9VL7^*Pu-ZP-}4}~mo`I;hh zuANlYj2Axf@alnaEYD_~13FE`Kw8fr3VTc?_ma$Um;7**>3}kf`sa6U6>~s@R>)`3 z(ZkBv>7d)3w9%l~$HaM_s%OTI+4QvaKRW7Y@2o3*y3j_Tq*NFbyH0!_>r-pk-tgW; z40@j&DSI3uiW8Z1;+y%DGt_tjiBAvlC$_+F14{??ic^P@OK<0enZX<`FiEEDn8$$Y8VtCago-+( zpFPF?WzDm=Elqr=zkJTwLeM#ZF;yBH-M>h@=BBZ8Z9YzFucQmPC}tz9&+o$jYk}R$ zT;XuMotuR>_^|gdM7Maw>+HSqBf4p1y2-wmtDVZ27aTU$TvccV4>R~|D$~AYR_qn( zK5mgB=VWDPrJn7`)cta1zUOC??7YZLB~#e6WB|yKG_TonSPxTsf(y+Q+g(KXd&PGU2P+1nwkkp;ks93{J$XNu6|TlBCo%Y6wZ~e%60d@4 zcpQploj*FTk#_LKtCM4Jw3GL^WpSkEp?9V}A`~Q->{zQo4bC@E0Z!%D=%1_G^K(ZZ z{|g(G5$V4C;&+7xr*TCGCZj^a_I-TH1^zw1ED=hQh^5H$^K7ObPL(7d5MX=Qq?7ItUI=_0fW)WmK`!z#MOO) zrdy_IhZovaNYJ&M`74f$0w&Vr;15=%ZktQ{qEfn|qqJ{=R|Ri8& z+qOJ;l+*oaD;7E8uE#^fMu2em9wp~gKPNtu_x*&{kMF9c7$M1lwoJY*ZOs8QHExwzheA z4c4YFj(6LM5BGiOmRo(j>d>?uh7_|#iT6D>JXrQic#JIaST#{K{^WpFKL0JL?0eZt zXxgTct&O=;$1-+-i5K%rr-)Qnls=ehNcD8!nG5vf%H7Sp)I$S#yR@6ge?(qZ!*c-0 zl)2{_ye^+1=U@(7w5yuK1X3^tZ3~02Wc4`a0Mr;*-GTyqIpKZ}F*~MsIyY!_B$MTd zTK|CI;$KnmquZoFshxF0c>|Lp71&SQ%b!h#0`ko3$V1%?mA~_rfiDbtIeKE%Tg#td z|A%PsLeW;!n#%vi??RIwsK1A+t)I403YRY8w<}ngR9bnj1TSG-Sk~L-!6@o|CA$1Q zbchJ5B}47VUq2gt)j6?@Px&feG3HdK@;>c7BgdwYPww&njUA+H%GSW?)PL|vm{@47 zM)C<24b+*KGTmXVcM_dn(v^^3lQ6xWllpb_9V_;ETTl^lMf#?&!|wI%UjJ)F6hc15 zkKc|@4Ih4;ol@%(C}NT{{h>$&Df`6!ps30s)#}2Twg9R7HI zDoc}VLU_l;bBWoA6qIP(U<)YpYz8AC6_w_4VlkZSg1uYLq~%0Yc+XtuoO3GpP3j5p zwzTa5B;9j7^?=x4&AkZueW^(M;;N`+a5_Mf?0h;obw~;W_g2u@rB6*?iwZT-EUbys zNq=~npR_PV-S@EGE*28C2(#AATU0>)Tr#b07!%K6C;-Y_e;lGJ0U0Q=n111+J`HGnDtG^9V(O3F+ z>{mu+zh?hQ3gsSt_xs+ryE(YVpgDh3=k|uy;)NlE{@;i>bM3p6@l7!Hm2c#|9{m8R zjtr37CCw}%c=OR^w$h$Qmgx!8ltobzyriBd5d$C;ON^=u84KmL7A zwJ79*ZFqs7C&%3LMsl@A%(P|h>tg9sE9Yi=;^N(Gh4=0TxV)mps+2uZj1T%X+&9=3 zH#0ySGAqSdm3ZikWZKmmtyEXu+g_BnWHp1BNuHnY3tuko|9>nX#d&G(yUSoUZJzy3 z&l&kMRwfSGygrawNna%3lw9Q2+2I2)3uTtMC}{^?zGQMnu^BkssKENqg)O_$*{dHcrygO7|2#3$(vt{wu@~RU z9OW(amGx^33Wh)GO$sQs+M*lQ^I>9fv9nOpmB-HzKR4PS23f74nbN1Z7y*Vq(0)ov zXUY}aKI+J;maoo5%3M38+2cO?HFBb+7y3iq_IHU7AF{zxIZ4Dqc4K#p4WgOxdblXk zJSTBkZFbmzU7YfcCTD?7vv!3IXO`c~N*hxQP^c<)MH(un?cB-dsGO6*x!CJsQc9`} zf3nwV8F3%Xgq$rqLC{SZl+;nx;aW8tfltA^x~d(|{r>GO#Apl4k6Q!wdYc#BDofinMDUWAFTD+snz&L^t@_Xj?(0E?Ns|kJ7%`<#TL{c`BJ6 zFlj|DjWD2cD=KyQrmOw~#1gmoK}D{TnBXJU5x9 zJL@0N`&IWR*2diix{ww-wpB`d!aEWE_x58xFzyz?HIh6p&L(RH1g_2~4I4eb6|BeC z$SDqK?iNR?lr5{`PAq!pXfx^`Pc>MB4XUW3e$BntO8D_yq3!e6b z^}p5Rixn<$TJN?M#ah_(eSRe3i&C7fkGk!TK*mXMTQj z9^;>TaOe+B-E_>=eA!-#bIFi;4R#1q_`2leYohqG_(|-3m3)LH-R9-g*C>VktsypC zC%v#9?7J#g`P!rlJ)hCHw--&mzLRZHfQYOU=z63yf|@C%A9VA?P=bTrQ+T z$^gv!t>2d(#U2k0a2e~}jd=C0VQPX35=i}xC0aF3W+d z{K#rU^|PHzn+Pf*fEVFqied^fSh<38>%0i%yddX#^IGmhxIN5{6I?b3xL2zoMP^cT zuwhG`T&mXB#l-j~d%09}k>hcBb^Eqwa&+AMXQkj5z z&uP$pH-}lQ|Yz!)ITkX#Ja!5GxMYUl9A2vB3 z?ZRD4i)TTbH?l?cpI_4 z`22}wa`72!I^ieMXp{CZY?oG;!@l?VJCm57lx!t_njS~kP!q9~O|2@Hf_Ckbj41fK zEcr#u`qRW}vE94Er(YRC*Elr^5>>HzmC3$@5mT1QK)it8@fs7$zG%oR zAf9VtvV|A9O8>>sEq{rXF%lqLM z?>m_xn5=EFowc&@8CgGX3iqRqkAGSQ5{Rx2l_BS1!E$nR^&AbXcU5eES5ukXZCYtK zy9i6zKY^NZHt=~c2sRM;m3_zW`u2ypr%2JRYM%!I&Q)`C*e78WhLRM-m3`fztZwf4 z-60~z(rZd5v+$J~jER2if4$Y{nqE1`s$Tkx3UNPP+YbdrrSz3ZK%ojuV!LeQ)=Tdf zodkc%qy7Z{S~p7`%dHE-UM7$x4h$urE7@ct$T^4Uiw7r-B_!c@mmT#&o?-# zU8O8e-9*H|gWC@Ml5XxKP%d8kVV>bT8}>;F%hX$|Jd|u$8qcY29j&-qxygvWINwP& z@NDc`#k}pka%ak`b=84n^0}pRK?)tq?^ia+GY+;P@5x5m^|ou#f(uW3{w^?#|#$py)fS~;|&8iN=JMv$}Hk5&#QTl)W` ziExsSjt_sOA*U}1OWOrRqFP86=Gf`{PA{8OTCwFpdzB-Vz~e^Re1xA6~3c#;fa%*pkJM` zWJ~7e#g|?K;i8T(kf5odeNzO^i^;~9=Ui`*_FSl+h(N+?{}6QRX)LueN)w7p96*tv z)WQ^i#jb%{$PsuF33B6_XfD2W;CehQxDP$9SXm8}jHkk)H^>^zVB02Bdilq0& zOZ?+`%IztMWqm6?bvLgX1`1K~_JqUh@wXU`ZhI8^V(%Y2_h2ny+Z;0b8(s`UeLlz z2xzPto|Flahbx{W6|V<6=J6H#(W!C;Np9+OXY!9R+3L*0(x-Vgngge``hXa@dJNn z?s5p%G#64`FtVC8XxpA#lVL{USTjQ^*X9)>g%8atUmLc9I;Rqv0RF|vA|_YFa%Wv| zAir#GJ!f#nMbHc#hYZZwr+?cK3xED&#_(Dk*%21 zYNw_*_@5U05f>)es_x_ru&tExUJ`qY^%k$_s(V7d&UCrWLorJ!b)L)YzLIuo)QwAv zBNJ(@CUt?mp-lbeW;L%c^G?e4t)%@@-wAbXBcVwQ_iRPuH8P zdGZ+w6^tVXp76zFXEdX1F*`t6<8eZEL40{m6nT;iN45xq3ryht`97Daof_31|5)B$GjI)Q|ujt_}vHXUwts4&HF30Y5pu+@)`@FLz#OcYx+wkga4EktsX-0TxapLFF zeWZQWauugY@_#7FB-+y62$s2hCU)ncJ$O@{m*9_bfI#zQu6<({Yd99bx-|K|ZYJ)6 zL1WOAxf1!|fD%I|Y+3T`Y||cBoox?T*gLEJfzIG!1V(2w2T33pSHgjG`A&cyKx^jwGqL`k_A(M{-yuBEvA(LPXCk#bH*#@k=w}aI^O{<&ML})lb zr4+3F-^qy;Gt2iZ6+}w<<6MNnmXcW#pLNf`v|p~4IJ&UE4h|ERJ(dW*o_wh+{f!Eh zT|?EkJ#mLDnwqO%@y8dJc%KudDI{*l>B1yUJHFZE{WEQXK& zZmQl+dCECNh{WZ4K^&4cBI<+>6og=mGlg*9^#qSIQ->`g=t{)Auf11YKR+N&LQln(Dl}Rrnrfc~L4`gVk zMa2qy?7T0vuU#KSIUk*V_VOVBEFzc8f}@t(j$!e4k&{$Uqd@FC_6*^Nv$EB=e)%9` zv7GB1B+7s8V}FWy+_Hdvqm;x^OQQ05Y)oX_O{!_n0UudU^kGkss{7N$pWa?)4hKKo zuIIYXk>GvtZ5fvTcZg*0 z|6>8R*FDZ=H#J-fH~Pdq-DwQ+?-O1L%!T~fJ7?zn7)S4W^uXhS%aigw6^p6yAx)1P z&GOj*E<>otitqot*UxV8{+ze?J^5-~zk<{QLS$ROGX!a`h*p7ieL z%O>p{yLRBZeNXyyBhnHri&Rep|IhOABRh_RVXFK?P6Vk58K2Fp3g-Z_AeuQm{r_kE z_>eb%5Jo7o>2WZNXmo$CFbMHg#oFRH!|0h1Av4^hHNx6epJgL`WgtUp*D@|)>RZ25 z`}H>}@sYeK?RIa|tL7ZY5+yN6vZzQYN$OG5Y{*>6+21j)$h_}-!%Gc*X$|bY4J-Z) zuco24mLZpiEAElWaQcU^^HOKAH_n#HG(pMb4E~`>af>S}#-Crm(8HDHy|`lkYGC2x zuDIZeUYeHW!Ob^Hdas+RA}~ea0n0=WKeH&= zq|wk5N-jFw8tc<2ozK*;S3xKQBak%A-+ zv_(0$H~zahYN>uMVzCJsVq{ckHSgO9Q&UHhd<0uNcElceTgGA&^tNY?rEkTx6}x`# zu-p?hdVtM)OmjtFUwXVwHf2k{5W>Ktvl4#4mJ8%U8)}Ki)}1g;bbrqX3%gSs^1%=>?AOz~ zrkZ2rY>8bZ*#a^3JGo7%7jX2NtlDjYTph*>uMUaf985#oJ{uWDZ_8iFt~9hqVnYaf z`MIiHd*f0*tIX{L2*hp>*)2Sjdb8Ex6i3=`_IAtT{>rj3%KYAet#*H zMNJG>W*qSauv4I2Q%$Z$#U^3d$7L>)LxPbug)Hg}m+%jatQ7#5TJAVTE|ROVk99ws z7_!;}{>)OYQErL{Z@p7bV_tFHPEKM~g`UGFIAZk6X>ZxPH}`$gaQ>$cqRY$GCc~vR zA!0{O-FKYFpb+qvW0z1BU$-=`Njg;B#R$$nS$ms`(BSxUZl{`j@8snhzSZm1nSSj8 zBZrplip;IjgEfi{cqM^K1{-A%>)dL2uQ2-C-XL* zni(i>a!MNr-sU8~SaH5`^jw^b=*PpRXRBuqqWzChlO#2!PMArJGy0JawYqTKrr9j&nbBU_Kwa=_Dckvd}Dq zqq~tkAPu5dtO;`IZ2BKOU5lLF(uKv>3GEbN%vrx2(#WdA*?dF92qYjhUV9|{am`BY zj1eZV==6G37&~`dVT#VVJRim&p^WD~&-77%Qqb&)kw z99o)ZWTa?oP$bRI;v6Ad50rkT)KY$f66F7u>85m*W|ttfW2MYI4rys~1S@a^+$-#h z$E>C1nOB8(uUM3M(p$3pYKP`UYJ6>$?$5XW{Iv4iT}{VbQ+FDz=}6LS&OAv-1#;qU2ZuuYV}SXwBxC{m<1y2a z`eSKCVW7>?OfwfLHE?bI@tTYQzpcd~9=PxmfYsyN6?B>Ng_P%0@>Dk!~HgUnLjYAY#;x7rf^v%*e z!-E6&(wY1XkJ?H!c_X_BlCRs%gD-wE2_9D$@m#Zl4CXKdUBY(AaV2(gb}Mp25mA37ykqh`DX9lp z&!pznFPSEG#cHT3wFO`B54)`YCrsB^?^x=|{mTcxJI%%}RRl-iSe!0g#J!$dd3rR{ zhJhc=s=>|zh*8I**O=uL^|qHkk6RdvKZyFk_gF7o?e0>zPee-OCd0jL>8zEX>Y;)~ zLy6U$=}?IiG}E2DQLgzDFIvBr`9)2-TfA(ny8e8jD>vnIt%*ta1c-35S0J|671(VWEh)ii?)mzRHw$^7nxURwWZ5~k7e!~)t!`1 zqUYh{%N7(zmj*W5YsxLEIwJz|ibAtJ=H7QG6+K0}mfq2=(BpiJ`_}r{E4Cyc(5s(P zDUn7DnD%!p?bc1dX2xnudKhN)UQ6EhZbqlNXsGubY`ptyHYpU}@#!wmUua7;rDJkmbs=`;A=E^YhN(vW|urS0UF)bz+Rr#~}W>u3$Z>FU!Oa zl8l%dFeO9lwK!42HtE_>gG0o;huJJs>a6N2MGTq ziR~+i!AgTRHQ>=K&gfa@cNzXR@9bhGp`m-b0+mA!$V7aHObk=Ld@}09rZw5(%F*j! z`XQOV$K^B9w``l&xe@7qtqhBh{#9w)ac+~y;goB~Ru~;p{Y3y`L{)2QYt*$oIAzVjMh*rSGO*BhumISR z$}2L=VzPWfIcRu{8vGlVD%G`RKkr(rGkj&hV8grT?!Pve2Iup_+{KvF$ox(U?*rEY z{^%<62HFP79vzbXz@6!LZM81}Km~LY2_Uh^F#WZ$5AGNCI>(9n7vxltsLCN0;I?^cTVxK z8oKCKJ=f61oh6?#lQd_KZ)ah#zWR+V`=*0|bDJ8QIcV*44}l|MbbSVK_B&(=oVjD5 zSuiZ$^<(7AxNUu{kX$!FGG})+`L6EGsflhZ>m17X+ZOYLX6AQ5R2V+n)bzhbuiSO$yu( z`y_I)-n^7;O3+?|lVPm-L*o3C458ydg2Y+({&R`w?BkFJAhiIoCK80}Y zUb?fD*ex6adUxcbqH1|;%qzsXp;yaKDQWqR7nH_LJZ`7uT6$wCCmFon9Nps;3kD>h z7{9K#R98lv3l+5vaie;;`-=LhOsu`6k0HI?#kV9>r;!Diz8t#d*2r}4rl@-j>fe{P znw8kurN9b%l@9cEkrkLY|M*-yEc_L$rn~E46G7NgXEIiED_Q|b@)M7FCdc0y^2F?* z|NA)}AZ#eZc)h2rl!wG_HAHQJZ$5wOuMQQ!mXf@%BkcPb-B{i>wN)dl7nNZRKV++`(x<>O;{Zz8;EY_czQvGHJ z&iqJZdwuMIK|J_yGUwlATrr1!1hrfOe*%rZ|)BC(=YUa*pH z77L1-uJG(gKdT(v%rYjYtxG@lXihmg&CsG%ltkUQ~!utY$gv&-neS$fUaOcGQuQyee=s5U#mj=5%;s_QE$0Ku*~IY5MB z)jY$vscgU0q?uFhTV*8m{G%88ImA&! zUV1R5)FkHru>c`2*}asJ{9ZAE38a^`0=$}E;FD--f;;N@?@@zMWZQ~xKE=c3LEv^em+a|c(4*T1t4(`9uaTuI zlwxpwa@zNJ4B1^EdL~+pIs4$DJ(DZ^WI*`s^fpD8*3Xu0hU z$)|;Yq~^%AU2vQR2=xBEDtoARBTr*-V}4^k5;9F#l^5QEqSEyFB&Z>PDM;7_Z)t(R z=9SA=<;>uJ50NFfj$afVnAz}?P*pxBd^O>u(ft`9gXrLNK4DT=4Xl}&0XR#jIf8RR zNZ;+A9-Eon)vjF9K65TduMS!+RJhlIW?uSoYP|C{zeW9>u6u29U#iAKinR6PTHuKK zLqH8N%UP{h)N7iWq#IgN%4zpQ$R8}n;{pV>6!*2dp?-MkkwGxZ-&rRdlr-;BnJk zhszA@gZSDqYpl>Zsy=)#=TU3IrNFb{BpsIb%<>OD4`JOUoEPmpmpZGaW(NryVo1Pd z+G}B`;q4eO0oJJX<(v&u>HYQNK6*?#*nB5<+!$qwU$uhadTPuK!3839Pt#qen{x4W z696sYg6$HyJR{0u&vgxeo^$3pBJ+0&j=uWz`>rgs{FVKZ97%}szk4OQ_C;6yZtT=` zHO(OGmvCzK6LCkaHCn@1B+Kg>+Bw8oDUiHbO>rFVgQ>M4=6DwS@-5MMkfq7VQm2BI z0k4tPovF{LMs>jyS(wcXAQ|FZlg7?AWxmLMvL+rji_he0Z~ROohKkNLw3hH zhmE3ICGkeakuY$~&uwEvJbyCzm|Bxn*9NaMV+I@2^N0t8iBqM$^DMZJ zec4McuHdxrBHd$?72AT!S=k|-n#L<>>k~MS@?&f1TaIDQ0p*{)+Q*LTHBZ`bp*y1z+`({}F8{ji2G0_pzzi%L2p^L% zd0J<_3B<%SA~7rNWDYfT5(uc$MiIdYQY&aMhskCb=1R5b7L$ms29A!u5%p;jF33*; z3}YhWf{~Mg?vK$c`>&r%WWq7Je-GtlLohR8VTJt&WhBgTrH5P1Zj_C_-4ay>=7oX4v-|BsGbx(mq(JC;XB# z_>3(37^Zklpvck)MEI3(R}t)HJ1FpdP}+PkI`0 z0xSVBU}46TO)vX@vVSp=fce#2wrK9QkUVloo*6Jb)RuSz#S6elI51Wqj2^9l&K~wU zIRb1^Iz~oM0rti1qU7fiwI%pmLgDdl@Y5HXP76D)E&6NK zy^H6R=YIz|`jdYLqRYqAxe?kcNR4T4U5kp?(3?}bD@v-xl*b1TvW=?OL?#4)rTm;{ zo-}OLXe!`>)7qtCnU>~B7e#D`qs?zxdwvp>Km7`4>aQt+l=kmOn@g&U`>T!=C#ZLO zy!b9cM)S>CUn~EQ#Z_LGeO48OwAC;Ivd-zpop6-lr+I&oGRt@9Ng15&=O{Me^I8@s zy*!!A7xB7WoOiAt@mtfjvW(qbI|sp0T(S}eFKKP~)J)X^h&2qk?$q9T8m9S?uQ(?a zGRWA$M;mf3(_O_2y#Vzk&?Rx?TeGfp=4g8Ru_e!1Zk!9C+}bg1t_EPyA{WZQ2X{3C z9XY68K~Hi#`(i9v^xOt;V35+j1l!l+0lAb$OsMeNkB*-|rb1eax@vjN#Ao%~-GVj4 z%%KezO}Au9u+7=K;m^#y@Kro6WQ!D#YI0sv6VJK-)JX;p=@d7i z{PJ_^gmg6Zfx2+B(aXBy*lDrE;pP~*`849942O)-b1ptcF77cJ zu&4pt|Map645^t}r0L8z9KwP4mOX1BzA8T;=}bzAFK*2Ak=A>|w@X=lzTPv$Q~fj@ z%*SQlx*I_oIw^dA{%X0*g%+7t+P6l$1X_fJFk_3{mBH0!);Jwn*;@|E{J7OdPum3m zgz+nMT*w6=Z)_;kqEuXAD)H+Lu$eMH_O!k!k`^*`>40}(cY^$l7?55z1WGO7%ib`? z8s&92u_{*QM!hDk|IJ9wyS?`yH=r!fC|XuwtLTONsj5rQ>zO#_qbtQ)+NeZkD!*+Y z1>5aLk*ApB{5}k%5_rn`uPus?`V|!}@INs4^y#MMxd8R#l_$T)b;$)M^rf@8RmDZp zaB7T84uP5IL%zZvnXwgL3h?#r2@oK6#V0&@Dv z$__#)%$YG%0A+GJv9L=;j>FBGs?>G4byt4i^|Tn?3M>LhXf7huqPAn99SC+{v+A<8 z#wcml^ZlJ_jq$C!Nm);=eEzrhMv~o8MXU9WB*!|1{olA4yxw^tlO2mQ#kyak6+O`C zi*(Yof4E;Qc`_`SyY|`&H~q?xm3CYoN~P)>2R-Y>=62TCG=^u+)mTGD5BHs=*r~f_ zSN#bZl^YACvmMeG8ZF^rx_iVw4 zoa(W8^Dk>i9)Vn#UC(-Yu}k(@bY6+4v?_UgPOj%+rOpR>(mU61v4B7xg_aBdy&aS- z;(-3=H$=_!sz}KdX$Dm0#a@Ud&u{wxh;E4v?3UqZD-e8{rUhx^z~(gp`7{|OfR&nE zIdhTbOCk4g0E4LrJAnA;L~2UOJf;jlgzy{1iDEIIepR_$?rjdTin9I}_WJO)#N_W89MJ0455>kxx+{%=zDZ21IF21Klr<65YD?)TdN5QX-#{rcsd@%ICZC()EV0zaxydS84E~cvF@0sH> zWbJHhv6h&`HiD+NlQ5A`)vhs7BKO;5A;Wyl;;2KgJ-ghsmgh6Qa5^>C+v|o*PqrWu z+j#l9_2-XuQzF?r+pwW*A1S&Ym%g$&@k30(pi^*2{s#l565X ztOAps9obYZF6t1H!9Gch0>r)Jo@@ULZ~V4q)uVe|!+AHeySt_LY{RoxVT+T3yyeEfeQd&n+{($v$K+G;(+BY1;;f1X9fyX)LNJbp{vbuse%?fBW*j%Bc4qaSj(X}~Grq&W>(|yaSL)jhtv1!yrc=iyaJ8-hl!eln zgt$2wXo`@Nsd~!n94u|bt*fxE^@qCsr*z^{Cr|L|a!l#6>zQ_El6>VrN88B(@Zl97 z|E}nh#HgCVbKaTov5QOGTix=5&V`m68#5>TS>3O~;!j_Q2}@7&9V~G)9WA&Q_I{O^ zr=A0V79d6=;RFA47({hpw-H@om3@r$CGJ%y2Lce>6N3P^$9VJqqB>T^fHf;kq2 z2HWHFi@&NtWVcA5&IcPj7o9))hhm&_@H_+R$itkJJ*3N)jQJaQKMh4DEpG^g=@}V04F``b(o|`g)5UzLRc@4n9;w|iAfwcfLrIP z?OseHMr8SKZ?2a1>8vk&M&B6wnB!Z<67Qb4+}V2wSOi+}Nank(E5GqkTd zfQLl8Q!OOYz|+D^oZUcs9C?DOj?;>x&oh=b#^ zWcFR|r6N`eXfX+}9VCsdZ=&gzs8m03{n_6ap z>M~vBIlwRW_@s}umMmE@CN$|SeLrEhqpx@Z=Cd0feEM%QO@b~5cr2%#%r3dlj1ue@ z#y%^O%LeT_P^SFbs)P5sEQ+9oHpvF1wucXD&2Y{hXrlYPtHx*R>%@(D!q|bzSY*liC=XnhkE%ro0nN0(9Pz3xI;Be^XP^IE=PQVH>F^&`wlO>h% z{y!FA+ARjekDdmtS+L z9w2txWEJ#Z-`gHf#5vUw#yy>L%Wi$23`0UG z3x$z%aezC0R+_f-;$^$j!!>H#rfDO#2>z*_Hrx)MWw?}XlEQz)Jy5@$IX9NL#cg7? z$)xSOEF8;HV!Hzy{>XFCOFw-)c2OQUm197`0J7SHo@VxOKlDz~+%!I-WGEg=0D2my zC$8d8&zO%6q>XJK`Nl|!KMw>RdVViAmRg%AsJ~J{Q@z$ke){F>$T*> zz(Bk8LfrQXm7}kX{l65!sY~hRkM2M6IJG&g;^#$j8p`)x>l|HMp!CZH!;Q0`xCBKyXx@CVM(-59onrthiO=K_!>S0JB!U8zq zIS@}}uOd&5!m068;wjbi!PNVWFF7^lsFlVRNG1ao`-+J?npeA1H`Qtr-?n$Vh9=R} z%unE6GWC`{Xk_$Kpa8&EuAoDz^(5Hah78NWi17ow!b?;gIEJ_AuFgIwZ zm8`pF*95D;eqr%Nctq1pr2Pi#Sr;$(O{Y+JH3a5;Ajf&D)3rZtyovvy9z)OV65zr# zF%C+9pB<1UDj;SzzCW!fP+}YN^vy8GpD(g={u4HSvxftwyT#khK06lbMkD_AOr)P* zgDT2YfhxNxo?@poGz2gfHP@Y)7oT$jwn=?~+agEJkm4<}@-g&QRX#^HMIIzL`CnZo z84N&~(HQx ztl?MNB5eBmTJ0!9<*QS5=O~!k#P~s`%fKnvVe_KQ#rbiyROns0Aj*`|W+uAr>1(x0 zUz|v*?!(jj?eiw3?b?FGi4j4=_))*x$;gjUSx4~Ml4%VntI!u%MbF%rhCie-1miM0 zIGHdVQ)T3Yy#YzWe^YZ7JHG$T6MQbJfg08r;(@-61I~F;%XagBoTZ^Agg4mX6t3 zsLOU4)B7%06XwKt+1^N<|Ae(1b1J^<=psZ;?Q1Cu9fZ>g5SWQUGbR-q{4HU<|>5*N%u z46^0^hIndI;WP1NiS?7S79F+k!9b|shtm`VM==q{7J*TgxU)^8j?Cr~^f?A`$I zJ|RWgKYDDB3|8SP`^Fi#ecgeYJxzUu7mF**>j1}c%B|r7X>S-b-1v)`Rw1(?YaPiU z(HQ)2hfCli#`4946DJx-ntUHZ9s6Zfxaj8-y|%j!&zoQBsVCas&I+F0%$1oXNY3fP zJ^iN%o;5lEzv$@pbS(1nzXVFYq%_F^aBYHHLS@kRL#a~_Nnt@2x`4tu)h~E#5OoWUE2M{43rjW~OyMp{ z1p)suEIpcJPy3S=R0Cuh%pf@+SM!>3$;E?7ufRYnNbO*wL+*~hci~PoH*WFM;(RCv zn2BRDbERwVrvLfr6U}V)g9CwD%s!6%vVPAJ{mhO#u-(uNR}p8_{Zg+X12rB(9n-a~ zyFVMm=968Fv;V?Dly{o0u}gf|8=*n@`JB5zmll+^n|YeDP1JgJCSg5n;NNzqPM}Zr zI=qH&>qFA+^<6&$cty=7%zxMXU?$kuyV;@AFT#|xRAePm;>01Tr#*jIKT$g?*;H1% zP5>}p$ptx_4E~{>nH#|SV5Z08D4?Pa)1;Sh_jSmjP1g6XK9QP;evSa)@9kfP%cohr z7Dri~PVIMARHpmM;jX^OzXN0X`%d42r#)jDzCcJbUL)sWFjEw$M3=DHwLSg(9H--A z-(A$>y}RC=TqP+M92sAKGWhek&4@RD{g{zl)rViTTL5P729IcJ$1uA!uFBud&k%>M zZz>JlvF4>N?N}3-$ILVsi)xTQs;J9MXL0@}_A#tImB87%?I1q#=bw}pZayM4FVvWa zM3eh#D6k2wf{Hi1oXrdVaK1_$-IgM9b+kqcz(G@s>!RA)9p`=}9YyB)FIJl}%498j z_}7yq6}N7qhSDdE)R1w1&yS6l{;N4h@LBpv&nexm1|+9)DIua~dEW<1clwi9 z06%|x*L$6qa6+MF^7m_vV#@Ku?tjmQ;`3HXB1%l?XL>YQ6ScT)Nxj>J4Y~icqf473 z;*&@3G+2y`ldjV!itC@408lRYP^z|CH^;7?RnE)}e>Mc^Fzg|Mz95JTTf^&})qCF> z)hesnwpsDVh$@WT?o#3cqQSAwuJ^EFx&gz1Xlg6j_C}j}1ARh}_msd3IQn;j=hkL1 zpq9m5a2A7Y@#(Qjz^!fe^`OzSkV>5hUNgCl@K{%$Bxjn|@(CIDv6dA0I18kaz7`oc zjIhJtrS^t|v1m8uC!VEj8Rl$*q9+zdZApG5BZy8m-(i$Gws_C&eIjPEIawSi``@>3 z`9>qKY5>=mxleHEaIj&rcz{fBUJ&hrTSGT0WO&3bRtg>o&2sacNtH0+4 z#!dUg7fnhTM<1Pn*N79TCigbx_xm<$Bv3`4|zJx4#Mv#h9-QQVE1sjB>kLCJz- zF3}P>e*LdE9zpBVsyuW)vd*ByjBmlG4kzZJQo#WO-5va=ifT@NHP6>CXOsOl-}6pV zG}dr6ARymKsEW?iwM*C8+Qap~Dm36*7P%xjip#z(c?w87*3v#f0e%`x#g<*TN^#g0 z@tNLZ23|2+k^rzVU+DxrmFJ_tDNLit7F~7T(|0~|Waj?YS4t8`@vp_->~I*6Ol)zB z!8x44M7^ZZ&|Z>CBav8|8QOd4ooc0#g5F1wj1yVkIf(d}w#<{-^pRG}GfV%)4kdvUI-TXnCWIJ z;{TP7#24dQo(<-NJa2#e^2MP?BmY2~7Go{k_D1nuyWAm`-;E+!YC&31RDLLOkRB;Bec4gbGO zXueo`)7JdT_wY}+rjFLSqZELPkIY$G3D{TI97-xPuJma}+|$LRv86MbIh#q{-h*Gq zi)M~X#H7|YpNk!NP|=skC;~|#&Jbq>fXJwZx%&EBih^HRm$|<@Z~A=TPKTiFDx1{>;VbXy-)-4^ z*fzjCI~J94z`vi7g-=@jMX{4UXgOh%1;OCEOR2Lz^n!j1y;(n?@lzs1+7r-XN5!iF zC{u*}DK8$@p^}hb;5_6M&_@@E11T9Yjc+ zH1Z1hOWR4xOd}(xNR(ezk~$p7#XV+(BA0z?S&r*$hWN<4kRF0QzHfv&mdBLFpwoLz zAYfq`WR5?!VHYGGNJ_?@ciZic*p2iGEHNMxNPU+dYqcRPQ6`uQM`s%Z_mz)vCTaMp zyN=pi+4`l<+7dpPM$u5aZ*xb7v*Rvmr`b+rZPpUvQdVX}W~p{i+D8NaS~m_>i+5;6 zyPdFo*BO~&TV@O2{OWv!=J(4jgTv+@1vi?~`Cx`W#L5#vuj>BJb{Cz0Y!W*B@WW3e zbGGFV3|XIC4)3DzeVV_Zhm~!hO#O2!7GO^V>i*JqrT>^NCAffo?)WbPQsihy6$O1} z!qcRLq|MV<gG0H}c zGC=&NaaJrj$>xz z_?PPq3;m4-k(oz*)0GTuFV2luC5uq$_jeTZE#&$)`r^hX$-N$b9H|{;Ji}dls1tu- zJTa<$8Ii8B^tk_N4(l?rHAUhsD3x>@`zOW*TnqyJcr zW21pb@n;Fzi#l;4w*{LYQ`VtP-3wH1KAcN>^?>}Z?VYvwbdCNKhKa@O6Vcqj&@=@h zZ`QHQ^n`#Lut))6f~7T79yZ)0;WmbM6^Hk)guql=0~Z)vMm-lL+*@Uuqm$34b^;V( z4BamKQy2N%n0fFhv(lTz{joGlceqzgyk|zO>}gE+;Wn?GV5_XR|oN2u8{FO zdhRCe7nor`%s}@Fu*ZqZK3VV{eNlODC+B`csDCX+pvBS1hSHnu;-rhrm(p zw~~2Z$M}|M8+(xJ<_LnIL)5LLGkJ5*jHCr8H_Vq*%eVL@>JGb$%XYcRj9sWBC&z8~ zVe^K5@wJ4QRm(hu2B^THZEj|FJS%5Ca=4L%rc2557 zoBVPxybdjNPn~n+#vvxXGOdVWI*DF&P~jzt+DYt`9$uc%0*qQ1UjRYn=~0}gnfd|( zpGmTQaU3HZ9_@Zv<`hfbKAMA3ui}QL=&`Ar#??T1=Irb5*HADpiV+a2d&Exl--7{D9T2&dE@b4qJI0S89$O6`;eMlV7(C4ax_|Zh zlzh$DVvsAmIRbOud@9Wf3-_IOy*ELrhRb=87l%m!QkN9|R0BU_`mBIB(koD*2cVV2 z-}p~h@HMyhS>jtqB@0=k`&_j1XM${j|NG<=zB4F$vZ!0Az~(hH639k56u|!B$Qh$g zbVYd1EH1&8{y?zOLpNHqx2=NdkS%*UKZzT~UMeL0)U0qO$XPg!qjSG2ydwx67J?;! zEZCdP6niS349oq^>mI$onU6mgNpQiPJcIXm=yvlpSLC$kL<)nyea@*r60A$U^~aH1Q0{Fzc29EgUG@?Wh_uVoh;F@t z3VDt-_mTpnMK6vt)PS)WyI>4~F?J0wn{d-p>9|hz$asVIt{=n!=cj)WZXxBFzZBFy z%Daou;gEwx?syKznVxtoO03>qq)9IHA5**kbY&kry#fDln!8tV{fqnam_{bNZ%17y zq2hT$uqIcM4k5H&W5jbKvE8n4(bp7wa*kM=Rk+@nhn=9l$^7mhznUCM2=UBvh{9!Y zczs32ZKZiOsqEc137r*FJ0f1?MO;4-jR%(JgxZB|vi?oyCe~EM(*2m2dn4e^2lP6+3{iByBX6frIyh=j>TYrd)wj0 znyO>lbNk5z)k1EqJ$=}Z{1bYou4e1vkJHbQDT_}VjFPwa8Cn3^S-nbf!j|r}k@s!I z?m@gX>C)Jg-*9T{>auKIN%mlGv~tuT+?}GObrx#O`J@T~#xNzkyuhv>rUE3{=09fs zrqgAwVl=%q{iNbr%Zi&$E=u9#R$~y$(L%c?!*$Df7ScCu^5*A)B`5fjldDhI@is`p zX^(Si0Y9gnSAQ`^>k|lD-C2fR5)}Uk#6(u~>pZhWWj*v=zi$GBJO!?^Jma<)`a^?4 ztyXbOn>pDtL+z@#tVN%``FVP#!ux1!e{LCUZsw%jij|3IObt#3|@vTQD5M=5^-^ikDJj*&jR~ z?mybQriOK}T3W76)*t)pK+z1~!^ULc#tGVEGe0P!!G&l(*ch-8zS#TM2?0w!V> zK{M?D&@W8b%($JbceB-{JG-`y$qeearT0{XN^gOS??tucem}h1H(L3J+eMcqr!HhK zfA!B0jOV)=D7n9>Dd?c~7g^##Jc6KUQ%KbxUcordF}$C`I6!x>qq++s2%sq2b{68; z4$0UU%3%i;3Hkyz9Dn11rc!Tx0dR@OAEQ$*zxTkFBm2wU!hKd0g>(1ZwVaYJPDg5r z)(1)_nzj8(r3Z`!(tm3>6B|C&h7=~a>tJi4gd@{k&?npb6^!JtFft$mT`XgH+%CuV zPBAy&=-`0z%bL&hAcJ?zc4Uhom3YX=xJ9#H=`yw0TS@qkJEc>! z5K3wk{?q0}%@nzzDO7@)nKzzpVv-kMrflWjGu7ZE=M~@7SC3-Zxms|M+_?W<^KP70 z4YU7aPgeCOE0h~=MLxK@13aV|UIAR?>9*KF=eKv}`7BR#DbPwt(zDokk@Sr`Q7o1L zW7?Rde`hYOZM%%5?dl`#Ki%8^M4@K;;wj3e;9n__E1WnT$l{3+D7~FlHp1=9J-2~| zSPWQeVQcdugXZC@UoU8Q@~2}4!!El0E&~nT_YcPCKAsTky(K4_ z<@1=?c>9yhjvC!d56Sbb?7IE`bP6X>rv{n_7+1qNOpQ1;4rBW$=0_v zwN%kGlcz$WANP^(9DcwS{LBQ zw=`aprzwAWhoE$}Nw|A?!=LgtkcCR#TPoKqnB6M~1}D`Pw7&MyI9Fb990z?rd21eg zY(JaajhAf!2Qn|Z*5Hx6l&l_*f-Ikt#%3ekP!wt$whnPCeIwya$&aI+J!GuPmEaZQ z+!nYV-K&&(8>mAZezNb$-DV-Cx(jV|!odGmx4`LJop4AXBh&SNOoiGpK@loSe1?5d z!*}1}%!cF~bKg%!{LDsjvqZw~ap#9?48GoZwt7SF^o3qyMH+0K+qhwO`7`W0F7(9T z1V5}BHbzIVe zlVCq(nnK>>^=jyuuO8i*NdC(IixTL5IZ&5U>G|ImltZrDuv0{_7J}(^b3A5sPHX6; zV1*I0cVopkpo~EQr;u-}_7~oYpDJdZ8n#drD>9K&cDP0>v@l%VcGRR{=N~79K(9xI zM)+_(px-XhA<3+r!Kh9Umo&o>TeHIUpK_w-zI(0(zECF9=44GF57;?Q2KsMTLfmaL zZ~^Cyom!-jYOcT7kGyX!pKDkYkc4_uWGMIIbx1xmJisvi2N!Q$&hxwDTtg@)jA|ke z=i|rLltX%?$nwxxZ+Dphu2?ql zKqKy*OuX~6zm(@#d_XAyG3aN5fAU|c%(3sxmesr@w}gCo$JLB9pQ;!}4gD3iDI0L^ ze0;;&`~PPFl&mRQTCXd;D;(5a3YsugZn`BwrOv~;>lqDLoP68Yn;hH>55Tzz6pbEk z6pO9MadNg!#o8Iz=^qj-pCZb$!1)IOIt3M%cjo3W4(;e(IvIhN3}3NoM;C0X&cQ4{ zjON&mkh!hO{9A5w#qauDTWm|oxaPK}!#Q;%#LvkV9sou-Q{QLaGUtn53(At`Bn|}A zZ%vvdzRv1D7hyej1=5}BzV0Ugssn+lMN~jYnEY!;gOxXG#kcEn9gx%|3Kf>sUGa&e zuyl2^@HFEr(|qug3YP-S<>`qr=GJWWj)JqO^ZB0uIi2ks_a8d`(AE@-!%0~F%-IuF zm>kFB6Z;9yr=c!AGFcbRc5>QkxWfg-A?Wl9=P7v`&f%>(gYtjL709ER{r^vX~JVO}SC%eo>_IG@{I4^U7?>BK@ zkzX*MJ=%bLOlni=p0S-Y!V#ZQSNbWrT`Cway%lF6>k0`X8Y|C5& z%-9aOkV|JnKWVsx)1o;&=zsVyMGT}=ezz{Z9Hy2t>5`K_rN;FXZ5RC=JL!7-)E4+< zI@S{Vw&O1^_var7Ju7p|LL-sggw?d$06(fINTKs9G0#6V<}mlRp1Od^Y+-J$KXh%L z%ehD&Gvo=EZ<{tErI%H2b%THWU7J(<#m7fPiImdR1?pcXS>m!Y(=X?uyX4zowmf1G ztK2Wt4x`^#Cz(lDC86r~dG9*L`u9_0a&;-}sXz||ZnRRJ2{bmSO245eLVg$Lu%oHi zxO(saE%i4K*ixERc1&Zu$cF!9xfQ9yXBp%|?K2Sv>m4Uprc#3q!V`jTY za%o$y%?q|)sFu+Gqx02Rym__|kIjE9*c}NLmQm@ImYoTdl8{A6eO%D|H8Qn{n>>~* zvutwvE*Xr4r76aE_)Ph<6fNK6*T5eZz(goIJHGXv-kQyoT@y|+yPokZsrq*9eV4u@ z$}>GBE13F~Z5UOY8SBI9;b)3V%tNUg7B{5EP|!*o$C0{g=YMM% zVZhE}Mg?revl*bN@Mmr7P&QGBcQX~h;i_kqYqzEWy3w*L1%iJGjjiiIhs zc`q@#$;$;wO$|H!W;75!R51NOHY1&Ei%PWf zs8k%6Z^w2XmUC&?T4!%eC;ao6AY7YnIJ?pbJr(v~xA3OLKj+3aZ|B78?`ZemL=FMq z=t2H&+v(U|1b$PF?DZF&H?7c3==*LbkwkbD=Zl&!B=9EJ9Uoc)g7srVmL~1IkU<^F z7$y79kv7jyJ7cvgc6^H!L7cb;M-K{x=7ek$=$UiOc@JLz#M&s`-!N#){gSj^l;!uj z=WKN18SOAS{%A&X{i^q#1ybFtM}6y4MzwR+EYpR5a*5fwtIEZb^b@FbLooOg=B$BV z{2<&~hHK@unNA;Ud02N?GO7ha8snQBYRQ67ExdaF5>(YyT#`gvM^xHL+Mr!B%; z*QKsN;h61Ay^#Brz$(v;TG>0f@)fSFd-}iZde0T|-n{z78r7;w8e^2ncy1kTd9wt} zpE$H*x8eSq3D*M$;&(Y4ffXW$8iMaWF`YYwa=+RIgJOx26x#t5pKS$HPoqg3i8wpk zt+tUu7Bm05<+~zuEz*Y|Yg;4fjhUUpQ;`y=yS&ODIrnOw6}#S5x#C|cn~Hb|J0*yJ zej4#1tKLwU{Bp0}6C)~`C&^MrjmU>XPRM~!NBNcYO)$sSPboH+*Rg`>yT@87R3x{U zm^T$+4A>vO15*OPpRtYI`fcXB_LdB~OKMVXEG4u%O*SA#3Y%)KZ6|3hYTOo8WW5J% zznQxv4(X|8>y9Pz=ZpV(aF=0tfIUSq?fr#l+~#ASma%}62G&26wrP@lLRqwq$n}kLYMDCM6 zESHLOvd>(DErFnJC~#WSnq}W%08Lg|)@uGIw>tsdug{Cih;b_WHoZgm^$pfe}}GP9TokVrgECBS5T-Q+VdAo_ujqV`+JAAk;RC z&)=Pw?GCr~-F=VQP}j$N0$h%f=z1?&St4u}X45Lgsql@Jx8Yq?wrP7lBss}J=w;)A z^>EzW?bC6)408U>JG#Kpjd4sxqKtE!2=}DX_4jFU8vVh51g-R1-`s~npS3eN8kZ#8 z<;(HtnQ)orlVS{O#cmS;;*X!d$Z#R%2a3k!Q5XyO&rL0=x{dGaMF&k<1n^pWV*ZjzkUe90XBqFpxF`Q()~cf5ZlpAT|5d@z>%7 z^$fuiAsXEQ_=Fnl(i3q2aWnD^rK)}8^WtS=B$D2?*)&c+Y_a|9hm+3CZ%J&AS%oRK zm8c1~#N2Ynkb7MMxh|lG{oJ1Qqg7JbZL4T9%oLJW^S0DBk`NQq4r_?m=wFA^@I2GQ*K2*6q->G!)OHE$1Xq-`Ac;4O#d+F z_}&dtxdYJ=esLEBc44b78BL~(-th>9sa}|0KWauUA>@V?ccCX>J-~?0zD37nEyeg@ z9TOz_mKVjpc-`+68Hog&Ai=Ax6^ETA*ik}=bH=6xegOhG&}=R|+`(rcAgUC&2&W<5 zr)tQ*JuKSj%o@!7P=Htw;}gb#6~4kwYPr9vddDc$$Be~Qfu>>e*8QX|JSK?;Wmxpx zg#|=WRHU)|T$+!&=ha(zw_|s0i}Pk5XDD%FV}bBo3B9F71356$98W$xGJ9PsP~6sED@-_9FDBI$+#CVA|Xn5{=NV{<%u@DpE~`N&40na^K}Y+B0);jPrnIa zm8R!Zt>zP+{NnRPPPVvSIsa(5+RLsCUtUOpUF>MuNKHGjY&IcI+5d)G2drmlvI#+R z%q~4Q3@dHdakDZ>$%##_AKk6cq^BVS`-11HMXda+?W_LbG=wGIzPj(2%^ijivVAL{j<;66bf{x1CHw#c=SIusVuuKC^)a@T!&UO~yIPJwpF^{LV? z*su){O(}l&A~Vlp=v+>0hA{=hnv_`+EB%{A_RZ}CuduZr9rQ=!Y#b{cK^KUT({vM^ zrH}Ou3)?N)OK&^+bZe+cJ}D(+IJz^Vv72BKFx=tUJ1FxX7gtB>K-kW%Z)IE-szq7& zasW2rIZQ+paHm}UG48XHlOnv=Z`a%F9HUMgHsCIKHxzcCA^;cE(9TyBQ*@m&7@KUt zr2jX83114XGkUu9wxX#xGwCR@#AZyW`K7(nd4{!G&CSN&&8ACmupGkDPimCS_$yZb z`R@f0dSDb>*Ux6PSepV&KtGJ7QYW12Xr0**UQ{T3O^fwce&QXqLMQ5HqTR5Pza8}< zC`LMDse^ax=4WB=&4aJE{OqIc(eingS?NAS>ly>J{H$)ezu#-$wBI3F3`Q(e0aIgS z=KTR~`AL9;&YWV##3dnFujH^#{OsOFhj&y>Wds0-m9S&_3)&M8PI_$^;wa%n*a^Bh z`HyJ7s8fzb1UYNh+98V<-(oF@p0f_Na_ZQvDPpER{PzwYz)x~vjALmE&ln-}(c-8= zDIdGHvkNjmZfzEz6r2kE%(?0znDp6iKM&s71#-{w%FK>OjlCntQf+S6GjdgIFJrCBB^S zN7}0}W_!7{9zbEk@d)V0!%_{uA(AB*m8Drr%2M|fV3n=ojj<-7;XY%*R4-GV@R={s zvH!Rh`+k*QsupAaYk?h1b_x*DM6)?rB<HV2jCXmECwXYQ8TX+WTVM{mpX!`2_ znq@?U-JbhF8zy5mGl61QJ(W^Z>wuUWGQoF=R?VZr@d&V?4O-e;kN9dVyZU4L#x}vS zM-M_76aR|bBeQyh)U4rA^$ztl49JfU=H58`f???#O5hv0WJb7a)<{ykL_Zg4=LodF zdC}+V4#U=5KJmH|;3h1#jO4wm{M2fx?`;9)Meu7^J7pcr)?519?m{Nl*6wgWpY#UG z3ii4U)));p&vdBSX;J#R#|wl$5N{kUh$Lxc8rGsdU8C)();AuS+({Loka*y2VPZU+ ziSqF4B?N!=JRonn*GkMrpMCu}{>DkFZ5l~4BLPz#R=1+BDGICjC4`L@8ne^hBK7#t zw^?o2qb%{G&aK>xSsQVngO3Gr9lG*Gu+Bv-D?jE{TcouJ3-{yJ$!^#F8P zzfX?&*=$V;x0ky$^8tmBAYYpF+aQihO=Vd-P;y3_VDiy)q94F+WZ50gX|c1^W(yqe zyXXzJ(h+m1xEKqBZ9+oLf+?^&8*HsPa#4?#i(;I2&x`vD|9=)B=u>H?%5SntdnX8# zZ(@-9toN0|Z(4<cbL>}%kmSgreX`Bl(+7&y-TrEBfxv$aFgQoCXX9uUvVHwx3t~5-t{CupL)IQf z@9v^Zf%`{$z*v;m0`UKBIf`^(lgXL@dDXxS0-nx!dW)LcJ#gLeSH&Mo?=%ymD>}Zn zB+qt2T;;WIx^@$B*;ucPZko&cOr=bHDcnCIE;~0QHx(7zJ435Xol7smvm+$<+?=t= zd`Cq!KaLrB-rq`ued)itlbFQMt2DPAUvX%87nIrxJ=vyvlzAX^so31ejM6pi zy^4~9dG(#6t1$`28)DKQO?et$|Hm&e7Pt&Oas$3czG{kp>{g(AlP+wv{2C&DH!wUm zPh9WYT=(r8Ts=Zh%DLs@WFy}}8G1a1p>A+gQx|l|l2>gly@z-VMwo7G*Cov01$MYp zWiwBF<$zFe-gYW<(xV(lJ$^|G5{+oYqVpK_}@(aOE*es@9aPIrk_?#o!V$#N}`us~lRH_e> z{OMkt6!lbAYdmvIM<0WK7V(?$Z<0!j@S`d@1}5#H6Y5;qR3{#-Me`~vheU_r>=fSo zuC&%`G$V_5WQ{P~_~ur>Qo$IdBv$=y5RE;Cbvnf(fe-_um3J>+8skUHB>8P-T_OF&QpPc@*_GylBHCLEv@^Z$!*xY-9drrm(Ar;boot$`GOBv^6FERSGm&G(8~mgo7J|%kb?U zOztxrWgmpPV9=3Lgpc{oYByo5?EVXPzc-%&!SuE^Q}2Y*kp3LlNQxBFDrjUs`)J`~ z!MvkOvmXZ@!zR#P&6*E_3EdO;A>^rV3?|aN2r^qJ(liplT)nF5S_YJ*7$XLgjYwNf+o<_#23CM_~v;Tt8Y*`z6aXcxXC z|I~$9(w#M6RHmU&b@Rx5`%lMy9C*@LWo~FkbNr9Llp@hLRQcO z{8`@lrG>V!aNDhzuR-cSWpPR;Ad-8GH*nW$B6Ys)oZL~WTsL*=J#*}jtiL0KRC#Tb zryyn1K)}J;SJ6j&R}XGoHpYD)8DuKRog#xiNgDtg-{ieB&EGQP-=spReRFSz5lbV# z(!2*^3@C0<**XLlJ}P4`1-;CwEZ>1}!ubp_$84r2DW0PhA{0@UFt?(tcpz)O6h5GY@JksR+mB99d2; z6Yjdaq3vHz-|6CqY>@T#^TQm z-r-lC7uUFFwys%}U$n0WfMX7W{j#8yFkb<=b9S$e;9S*wso0zY?_AvfHHKF~-og#{x z>xAG(Uv5MAdKf3Nzoq>iTn9~&pNa231U-KeCz_!~ucLOVoAu&(=ELu%L+iTCEB6np zu=-bEFDTtbnPuLU)Y!@CXaC(5+VWBUKC`B?F`7>;-;UnGU(^CD^;(s>n-Aq;b|1Bs zZVQ|r-#j9}n9ajtaK}eDFvC$As4W}IV4a=mGo}bs9e-@O~lDc49?DcLgC!gBRn;nelA!>DM;x9kGvb@qLjixt1-Kovw-f zcV)jl{5V_ZH>4rdHD9fKtiks)`c{6`@Ps;<#H!M<=I#&Csq0r^G|s#`ozWOIAV{9i zlLUcz<(>31H1JQ3w~p-}ve#pjGI>lcezc1+W1STVo}A9F;4kJc1`br4vEZxmI}#fp z+}&|@38a&{#bJ0Slk}^B_zp`^UR$k4xi=Zh#JL%V&y6SQTD=l8rCLEB!UA8d zM@*Z75>sL(?BYpV${Yuz21;wRc?O>jFJ0bEm4&Z+d#(&{rE-k_uta8f-d?Us205Bx znNHUCmzK}DPQ1}O+e;SnFt}fmj_y_RwX@co{{keLUz_dxwt%pXNXPDU=cKW!L>zq^ z;cu9VRTw_Lv|{SJEvpZaZu@l)PZ^JwTG#~g8`Yh#5{=IqqdYv~w7?GY%bWTMVs- z+d_MHN8~~-n-7wXAb*gbW_7&9C+~}IOzVD}XoQq-wAEt0^csQZe#D1wvexxM;+yPLS`Rs1!`eSTTQciWkyrY`luqw9cfVma#|LyC&M;r7c(8GhIY7~UlH?MQxzUCFa-nNN$K z+CE4=wv?cEYuf~=!qpR>?Udg&nDZZd2S>&3&xG5Wm7d*c%kaB(I%N%P2C8~1*m$E) zzER<79y!HgGm2Clm7Ov#40G$)!A9XGUvEmp4w(0!c-Pe4KqQJE6jz#9;U8<33(HD^ashYYJ!7gUnyY>G(kx+?GZhmmAOHUn?Kng))eMHX zxpE!xdRKhk-E6-<(onACO#6zDXHNUfQy+@S$p_wWbhNQDkCElx*ixU9Zd&n6Da8Pa$8f&i4hM z9wh6J2z{f*4#zMy4XYQ1R$kWj^e-O8jsfTHIDDyg%SmWdp%=)N(bj&l+^zl)9PzUv z><_DQB~4spQR)=APGDHZdq#d-H3lD~qi2~}C=YzVGf@k3>*n(9Jm=cqW;<))+B_nc z#$Eo%^GgdS$pA+k3zZ-{xg^!>bjATY4JtSJYE|)I%SJwqEzn%$-qF`~u2ub$1mg=^ zwOyGrotm))fM*s+;!Wo1Yej&UJi&q*R5W+r+CS*uega7Dd4_idkRLo#24#jnxCKX0Argra--x_?V1#{)AXbB~R7-X8@YbCn zHAN-N{sq8q=+Y1C)K>`FQcjLpL@*!F6{el{zG(vSJuF9xV<@zyRR5j;(lEabCOoU| z_ESs<(TJhy)kTNZ5L~H4AfPEiOUOMsT1C@>xAiLY#nkgacv?Dqt2c?;{{c2o|RGwl(>u}z+Nbgt9L$Up$aap&mP$aqHg zHC=l~H^b7$HId`EZaSY8$SRNL*DU!=OV^TXm)b&7Ppy94>mb_~m+Crpq6ok#<-yHs zRF*)bxPODnlu?|i`;#u~$I}Ilks|LjM`HS3h0vcq2PN|h+vdd4CLJmEzvhpnR+OOZ zeOx37<98AA6-t*eU0zH1vZl#-@cmtS5av8$6G=4Q2hl=q%^%~f7y0?0qEGE>E%ZvRw!?O@%_o+EecO_2db;uS z&L{ERB-EC+J3Ro>M=_>Q%5wqIU4>*c$$HDPD%Ct>n<7UP*zs6$C8bh~a!GAFZ+JD5 zoBVxf^2_R!Cu?K8C4v{R^7x4`Hu{OzvcHb-vzQM_mx+-#~h`=$N zO_d?DDs{cf+v4RZEd%mYg3(>w?$|$ufS2uJgLhUqEW~!X#C^$}V}m~hlmcrni@)4D zXHS7@KDGv@W`7Z#R`RJ37ru-o(XTST0d4(LL0s`hrMHX8Q3_Pfpt`}>`^C$(qX1ztHPms!I91{9(kUhmv6hA{=M|yR0W*g^XQ^} z>CRNh63bxlAofN|FvX8|jY-}0OKRoy!#7W$g_xEyt| zorSqz?rvkCrcVdW$6D^!0~ZxDmofEyzo#Q9&Hwf^FP*J>z1L~jm_Bp)(XN3-Y)m2? zk1rqjEVXbQ-&j<%}z1)EXwuaTJ+sW0axoO~H<-ea2Bzl;VsM_=7MJD^eCx1BvS+s{B}C^}?% z%p6;96LidWiLfo|j5UW4c%5C_RVm)bAr^67Og+dRe>wye8oqN2b`6V~!~AKb$(?cKvN}cH!*Ln>oj1 zrZa7S(OvdU!ws4CtV`uHS*tRYPS<{0g)`1)RIhwny(EwB=scR915|PxgOg0T$zZCo zX;qf@-JNjg5EySKmW^RMg1~Prm>aFGCN~P2s?k&2sIbn7kk9{KwVUmIl%K&oO;cZLVgUv7eLm&A}HM-5qT2$z5 z&#on9+sS>OYyTYxpQ%?ndo+v3ts?TwU^d2BFNC;bpihizCx>I_^~0|!blDV*3iMC8 zx3#vic%0BV%`h*AoW47aD&VooVjjT*T{e7wEAzp-xJn=>Wlp5=8m*X4$S5RdE&O@Z ztesYx*3ELKjf!9VU8sbwMQE0|I|_Q*Fjkezec{lXu;X_gDG=3Wejy5lSa65_gP^&h zv@HV^%}T<6)!b+nPVMdw(k}Ivq<4^AN$n30Ev|{3aloVfC&tJn$gTqy&QZ#_nEv}P zRpdair*Zcr;hOW>)-LP7C1cY;4!>0g6F*i7mH9mm7w=P~+nTe?gJSyL7v%(Z6qEam z8O-zmf4mrbomeVKb*Wkq;iYQJ_hSDGE6m_KKFD`MxXkbY*Y4qtSL*flWb!*b_!uE5ru4nVeDfWW*CfR7-Ri?p5Hm&bLJ0c{ut+c&gZ`G z>waIa_xoB7x=(eq_+|aOU~7220p4HoQYq#Iz*zV*j)o&D3WNn$>i|ujaDYeRa7r==C=5{;A85J}Jrd$&Sw! z;jm!+aGu2~BLACoCaWv}w=fYp*=cKF&k)#L1j=W7Nw2UrK~cm<*DT1CBnmuCjyrZQ zNXkJGoz1SQkqqLSx0Wy5%spD-F{klKcd=eE3y)bj7#neLRrzK=l%UN=#RkT?`L zU??3>&+4B3Z4^1Dkr%;N&l6VIc=et5_OSNaN6PqNCXEl?QjY`F7nC~l_9RTT$F@2r%eQZq6A7^>i|FL_&W7}-sp zRE2FeJ(p1a{Nc6h0yhce*XV8hC5;i+b{=Z@MSu$9${R$uMgq#^&OiKnrq|Gb{je#M;xtz+2T|x3L7#gwh)w+i)YL9I)0k&4j*?3NZ`RpgP z+-GmRa(7`e<|aQaIH0zcs(YyQ%LzOQF_ppYYfR9HNOo7bUyNRPUc}h3D2E&m_qNZm zC2pAH745u_Jk>um&9;xjH8CFzDHhj)qTr7~fnkJ0qS_hh3fh}!PXVxvjZ=_f(HJ*w zXfE@7+mN>b;KZ_zZ4E=$4OFy5QBQQs7C@eJ4HP1h9;v;R`U;_3q?RZp>Cb>|UX)!K*?? zqYrE~S38&cK_cmSd+3eu?c=`(;?9kDYWG{s>8<|ES;;tD;cqKJ|H^#b#(V{>X*w&drtx;%KZ?L1o)iLygks|(we!=@E6j95~8~?LIftKY{ z))H9bJZp5|DepPQ=h0P3NrwlSSH^9ort{Jq@K(pVf6ltDUT5KCTZ1~VGz|p5m?3J7 zW?o+=5!5>TfNjb>fFYKfz1vH1hs^*zT1x#aTiQPO!tsG(h2h^Y_WL8m$BI3Z5`v|~ zk#m`HFuuXuM0rI5mhFCDD{;-g9c)7ngV2w9hO#l_g^7`7#OxF8n#xwdUqO|}B3}=j z8mr>#*Xq;IbNpgMK)+XhR$j{EbC}tI|C9UpV9afTR@x)~TPWr^s|cSMP^J`>eHlUl z#RS1!U-4$5U&VRkHGfbe`et#3KE3W;wfG+hnZYTM=OFIimoBLcWN zY~lRkUX(m!uSaO`>w@&G;?^2;jb;1`>)d`{7LAn!umtgSK)!W&(Hg!eUU}j@1Nrt~ zIncZ7q)?03!4%dj9o*Ng+z09W8~EcZ$M)CCKlFHglkC+8;igtgF-uYF%2wTw~b$ zI9B!yZJ%oC^zw0{!hPr%#(p4l33v$l?V!bxivbjQEaV2M73!mVf-*EW9+XKH%W^vB zbY84)?Ve`&)cxLt{RM6g|KL~IWBN^0e_{=kNsj5V{4zmk?ptgZ4^z z0uYipvCpp*&@!n(QpCRZ7J@7er_AZ8w(gLNhQ~QYRO5xZSD-c$D@6%EkM<%$_X4+e zC$qO)P}P!~;;wT?R?~q46F1oRf}}8BL~1T=8pJ!U3M{ZyrBlm#Lsq4qNr4NSti+OgNF!4gK#e^}jFH zGllR0eT_lE1uji@_CW>K_z3!W_xb19$BD<r5FHLh-IXes z-ci=Q_Dl5m>#Rc_`bpecMMy6gPt_qiLjNp->$PT6H&zZP`%S`uM3)Ai4Hz7X2K+oz zHN?GVC=K>ZF1FRSMq8XLYCtq>8pDAMI=dg*I7?Neb1L`Z6e}F4BJ{@0YY|s3eM;c4 z3;)g;RJ`=X=(=I4!hOO&U2H0`2tF77(Va0BH>j|k;L~!6Fx~8>`cT*=O9gyG7H4<@ zU8yH{K9-Wtp*-Gwc(dk#FeSPKc>E{lq0^LmEB>i{f3T)|pnli>u*k8^_!|V?{bDmg zmH|ocun%IR_R0&*dSC!KlNFH*ibJ4NJ!W~Pxf3|%f>8>JiR+xv$KJRiwz>``pFf`vAM9R zp}sp+sjOK?=PS9|lPDC@@dvzXb}>R>+_fcAck;+iKO%|JmY zIKdJ7XqSAV1LV^eG@qQtH%Z%yCks7znjRWJdp+N8qsaMkHxr6tF7`3q(G{e$5dKr| znPgxMulj+p=MvN7@PR9SGdo&INlk3fSGno|PUly3#r-Gw*^(EVQrOz$Xee30*>cDQ z6iqe2Btf688>iE_v9#8VbZfS~A^VNHQXZTS&9(lg1vrI(W-_NiSq59k(i}@%TO9 z5lI!~@hkoW@X(%DssdHxZhdIJ_mF?1Bw73=APbk$h42LqOTALuQjz~@c!5S4v@^J0 z+7{{wCib!0$L6~&4?LV#lOiT-E83oAANAh;&Tl{XW}XSk%#_lgU?l9fgvZ#Vul0Po zN{meuxb~8fZ#@*aPJQEK1o4C7ffqtB>A&y~E;aF2j#)VbqL4}>>OD4)Zt#l;aEMsE~a1cYUz5+2{bN_;wMM!K{_|JQL zE!X8}GjE;P26dmdOtIhP1mz zpcYG%0hdz@t8i{*q`3-*Ttq=`CV4}1YtYKAYL9cK%sl_E=dGvuvlq0F{f7uR57w-E zzL+O#-TvIOuFVn%sh>aKX3$ZelMK4_bw=-?{TP{rjfKU8I=f#a^yd;&DS6i} zCjMU(ON><)3z``p=0jlGTKFohZ)ZCzO9>QFv%sjIzixBjOX>$HAVSupbD_^kRDcE_9C%r!(m7;QWIeg2N(WHb zAW((`hxqJ+p)H`TC);K;*X7`#f9cZ@pUH^NyThDZ#v|3)Tx4!HQ6e$!n(f)R$@A<5 z1dy*u0qH%{P|oAUOy%dU72nM*tOvyFo;y)5J)2XTfAd2MsWecHPcRQdj7)jn12a&( z;G{nad>pRF^+WnD*<^@C;7LwTMc8+Vxf8C!=NV2%UK0>b;bkf}0LQfyFw5BP6}7 zf4uu4oSXifj0y|*_MZWH*1W$EGNmg^+BX?S$JCu~qWNQ{tM$${>FMcLnala*viYsW@N1PTdUza)CQjJ7CJuz2*Zr$8>0Xlu|BM$c0GeM*{ zu5JzuFC2RUVEIxexm}RbmL}4O#|8f#op8UKtIBM~-W3ijKMQWyp5;>t1z!01Nu{89E&i@2SS1l{B~w*N%l zl(;c#zZXD+`UJ-z@nD$)BMGqlPxXvctOtmHna<~9vFCD<6#hF98Ma3#+{4XrtWAX~ zSV@}+o&kF4iv^7u1T*iPb>H+*J&N##WcQYAdeR79P=0&o&tRhIB~5H_^6ee{;rIuJ zL$p^xH*b?vj7)KtZfpxnabF)HUo?r}j;6-7arT(>N}o3;ebXE*oUNqdlfR5p#-B*9 z2Bv@Ym_dD|-1%J#Ix4BZb1X)|+Ll9vmRoDu9y>_(R}+O5MEeipPIVLMAzv~jxa>bN zQ9nFIAAK*Vy$Ybh%u21FVj48mf~XTWx&Do;> zCEPvSJ=Cq}LCZ+@xbCFh)Bp{qyl*y^97n!JoI@%6_hB4PW0FqV@6v9&LLxk1T?0e2 z?Jzqpyl_44+u^*ve^u79p>#15QLJbU3bKF}N-gy!T}W3xKWn~<)Txfubc6xeq?x=Z z#fjz6Y=JEvHQ5`8){pLz<;i3%hWskw{LiWDRm){5w9v&Q#52a*6dTTODwN11b5CI` z!tUnXqhpOn#$9HLHoF}kHQ4%wvV4rVdZ_dIN#|_1u+mG%h@fydKHPdx5(n^2^hDW)Bs}L``zHmIV&Ml zD(hUOPwcWKr-)!}|I*R6&1cB*`{JSv;zrz~Yi2I}P;qmB7Q3eS)>3L)D1DbeJ^tCCo;w zS?V0(b(46&{Yzhp<=ZZ+?O6_^9g6g7Ng%dZXT95$Hm36Sb-_fVFd8exl~*y-VNUWz z!Ds53(QP`H@a6Wm82J12;E>+KDszp|5@7;d1Y(;`OjP(svP;e}9IC(NIMELbqF%BJ z%=Q93_&w7^9NBx=EH{|3>@&5?lPPvF&Qp&!CbNO)pg-poRN8`T$*`K;6|O(gowgsT z8Pq%!)AMLrhDL_aTlCn21n{Sr4^YLwe^lQUKlkFaq8lYYd=D6#T3Q!NWsOVt2W?c5 ze^swMh^*&Mko5>MzRqbb$nP2{*z8>bv^5Q-AB&AxzLn|X@AYM?HMyCVqu|IPFO8|g zZysLQZQbz|&4T0kvzPgTF-JI0T0#B0vev0o;YMr0=9d#GuX&Z_UsElIx;0mOD%I^_ z=Xasjzcn@?Gsl2Gc%G3&V3-BFlhvF$*%6qzKS`bVi48a73bJsSA~=uyNrKz! zme=pK{@3EecM)t~@uP~PBpP;Lhy=v0gy``C+yJ4EuI#H_2o5apo4hSB6fNepAY$!f+t~_JU{G2I8VqWff#N+t{{WxKgZ5{HZ&0 z362ek3A7IZuhsR`_k(a-#kG}x&6>Di_wvb4FRrV{K<}eu-^*_+Bh_>uHoHIzE|Lm#8)qr-Up~X@7Cis*j&T0J(w_9R;u*I_O^~k^PMXnz2&=S+}#FN`(k4C>tGQ#4l`%< z+4#3yUS*%wFF(?(@oIOT6J~Hy3u)(M@7`*Q`392_IW>7rQ$SE(FQO)A^>uK4E8s5M z9L7~3mxB5~&7yM+zY%W}#8lx5Zkr!rvScEY2tyg)Dsr=zdWL}1XTVQg1J&D~62 zmHVm2dT-6cgkh_lcOI+6VEO|ECHiN_pE#vie?;c5tuqs} z{fwzgW=zTvIqeZOx_S%#DKlv*R7mv6Pphxa?-MuPgcLMmvi|e*OF2G76?s~Xi5UP{ zMwOf;xs2N`n3fGnphNiXY?wyYc(pSZnBLP^rBPFf%ZE<~n^!oh(M1IeJU1f8LgRRb zWFgZ$oH>j@zoR>f%0n2N*WdrMgFVzHif*r2JT*%p|EeK7cmwSyY)=!;JWfvN)aT_3 z{g*VP#p&bWp9p;(glAUfe~w*K3TJCrtCe8=fV_JLgj1gd35}ccFi})8$>&l-e4fkZ z&baxhD4tu)Pq9EHw)L6}|8_6t}!=mBLZLF+82Ay!P%thn9lfb)cVfMEcpTU^_@N z%T%B2d8|`9wuHd%8u4#zxW#hEbFI6noi>dNQRvxge|lCtJ}?b>t1&@Q5z{%d$}@gM zp$c4@kKZ5vF!reZ*-%4@AXn^Vd=NadOJeCaLJ2&q z3d;F+c{^tW$_%F;EyO)b_qnxwWDvEqyd)Cd3WN5sGQ^$(_Tx+t5O>59Bda8s*B+JQ z0XVFNLU$Cp0Qt2Am|Vl+%A}~oLW(8*wZ8=CM%upeF9vf6cb9s?n3RxiSBP*GasJ&Y za^kNJn^TyEJ)i9Ke<2B(QnW0fX3b24(k^;pb~f_&7$v;>hwDxP{`nbWz{I2E^Pw!c z{u)~>v#ikR2mFCz|6yR3y;7>+kp&ewBI%Z8P9)^Om)CUrzXd4?P`qm+jyr!{Qxhe2 z$C;Qoi3#llPkK5z7^@y=ec*fWvDxYB6TdFQ;Lh$yCCAnd%$(1-+Y1ge1?eW5*??8{ z@q{E@tQ!xfzY$QyCC^s9+iNksew_0?GAl`vSq*zy7pQJ!#M!IE!ee{8MQqqbRrs%_ z^d)t(O^zGCuHl-gPihmNc~Si<3`<-_|BbfO4fNB6R=@w3xB%i%+TfwH2lz68x7j`C zcoIMyz+N=FgkV#wiR9heb>Qc@DfB}DR@D5WBK+gOH@w4iK!06n23W3Ct`3%4ioArG7XaaC z{&|)?D7iTK@uT>Rb|cGPOnJ)fR~nbI7=G^D;v@yweA|6CKb08kOY0`ub!hGOW$)?k}kKPhuW2%jcgc9Mw{pw9S%fiVfLl0V#PqIjJ>f*au zDiuS{THLzm>uY^y-yQyC6OReMf9$?74##gj^z@kM+fuzD#~6FAx(qxvk#@y@{Psb% zWuNo`vqCahzG;~!0RWYJvOpZw&UzcNK+-oO2>2*wYKg}$Lz9;+8i;!h1A!C+c+j|0 zn(CcNi9&Hl^<^~CsP&wDh-!$1o6hFDVX?wl`?eV8PU7@5XBMBP$F|Gn0G>vw!RD7G zYlp*bPidOCgMGx*#R$!O*!jd+7~Xf5eP91m=4_b0(Aw_6$}Lm`Yk50kV`!C!`^$>M z{t_nQ-X4iZfm}HHsgk0e5)QLIXQdi>Eldkaz1ALl)NwBLEADr%oWW=`O_Lv!t0(hF zvEYj4xly6Ca=Q=y3wzbstj_9p#-=4!yh|!2M-}-acm6bw{?x_xg4U1;^pVzi{#xg2 zwfb6vj6i*28hm3%d6pXc4B=GoX;PG`dS?9}9ic(BXs@BEI!|WDy}vG%X>(~()^GZl z(PXHhHTa5W1x<~(&oIjl-@9Bf59BHXtFszTUvj_vc?ErXRnB>TdU0ALkZT=(Ray6u^SW^}ho?5-f!acCC=x;*^CNhKM1 zRi?W@td#upP9(PD67PGu21o1T$Y_?^a`YilOwCGG;V zKDhHAS@xUTSik9pr9B$pk&mlXFD&6Z^G6&$`$VqZLGfX(dTOtT`OZam8MidG?obkX zeZO0-9AX$YLXKqiXP34V)FZUK3U_aCe$hfq5lo7%ybyD{MPPtlPM}Yekr&FCgIPE{ zYJCPg(RqQfWjBZGTJT`a32SjD1U}la^~DySlg@$7!1kxiwK32eM015N15zlU^ibH! zI!8b0@R6R8jeN0?oiDAkedaZZD=*Q~63HgMoB$2;ZD+G1E_2Ui{5NIQJ zd%O(zo!wBh=(O)>>8Z0gHXiMI$zSGEWtodsRwk=W<0k`==j0xvE3^8)(I}wDPXQ(~ z#sG%FwoF#SH_>#LU_vwhze@kqy)ONTU?;gHy&jQQtU7PCAL*hj84kL)aPPo{vvRAVcJeU(+#NV*a7NS~u@xi&4 zyM%_Gx!B(&bLUK6y}^C5GwI?@zrOw~#o_)FNSG#)Gp69yF4V_*htfK>tzt2yBX;ik zvixz5@cj4((IC?!-IT}t*oVKRds*=H_84|>3D2@e!YcQDo6nqrcI?lP&;_(Hy(8KV zkl7&)1hv}&)f#6Vu#6C(M>!4Q9A8urAc1A7*@3t+HN@P$5|O~=IGQ(g&Cgbq_8c-z z%QkoKzj2}Vlv_}OKK0EP{Bpb**m1yoXp%p0eF4tr|)S2b5M zA0lEk5V(0}uQs^)+5ITqeZ&c`qOPnXUbm@fHmevXi>G_3{Zi>{x?;pq1 zoUqEl`vZ&imh48p?;!P~r|i(bWP9IWIC!F5kM_(ek{oK{6#RyD&!%C&vm31RmfDI| z__MOMOb^4wwYvF`cz&Vyh)Y}NH9$KmDe&!tN`A8sPk104DU&S=wmVY@46 zT#-`n)o$gx*5Z9E<11hxO6GK%eQd;kDVZ}z`iuCloScVysKteO7+T{sLaBe;!?Rh< zwKV?}A+H-Wob64h-3VoB9-C{EZMLN)EPB4?VR-%}>7RyZLc* zTFJJT9#4adVkVSt{|v@F3%Y$Cet958>Jb56vb-nyC{+j;ND^QZc#GQNz0piF&+q{G zdSna&e0a}uQrH)n^I-@pKfcTTU&oHZjb?<0Si1Q>gj?0T`10_p*mnONiKgKVad&e` zbF~MUknQW8p1TDeDcdXSJpMo@>4zZ4Z8us%Q_(gW&2IfsgT$nzb_g1>6g0;Jd78Wi z(soFispSjOk0zd5p*%`L?=fKs*wD9z%cGb54b_=$Pq5O@?4fB!z5j&)Dy~!pb1C+3 zPW((8m2c^nUz~OcA8jWq^WK#Gr94Q3t^U-^CT*a4gpLdR*td)o9esT~`9X7TAHtB? zNDid_OJ-Na>0;RTgQa`Vok)U4!8;2=k$qeXdpYJ;#tpb%U=u}5oURD+Z{A)ho)NL< z75%kjn5W|xWLmlXMG@GkD!`X_gMYC$0>;|!_HpE;2U74-l4Z1cvQ(-g&0E|D*0ikf2>`lz zN$r}oalqluHYa!nhv@^d?_xQ=aymoAk2ykGZ2_ONJQMzjpKT|rsJBpGbK!}s_MOSxz91}O!nM{GZ{5wX4g zLs@TY-i;l&V*(!V{p*1Xa`i&NWV-i8{SKNkVm3Qk!nh0x@_8Qgmh`Cf!mg%E+}~9; zUr5l?D-o6nZG{SftaYn5(!tvgYtMXa{)FSO`)nZnPx18x4x)oF>1XurfLeaQNUoCj zrh3j(-EuB!anXqGD`q&bt-u=Q%<_(hIe0W~t6Sxw3~vlyREZP4m&o)i0D=VrTH%Xq z=e3?^>47P`yHrJ`?{M3Tddcr5g%>gD7Ag$%4=OV%E9hjHg!h%(Cdvd?$DiCOF^uPE z8wutS$3R304A@2pBbe4-^Zli8H*Ec7ner5jVdpv2&*j3JHCzy_;Q9c9Gb1a`POWz;S6=ge;tlL5 zA3;s^@yI79y*L|#+wV(ZWNnWWg&n>b)w3<$3wU3>K%sTdqNFi|;u^kpQ-ATmK?ce& zi;zRvar}qhpRymWv`)~i21}OhN!@%xc)1qZB=I^Hc-?(3)-IUPhcp@Am20I?6a#NX zkNH>xITPX^RPq0Qn2Qm=UjSwbkGq!6(4}0?YY?Ux6mL}~>)x1Yqy{fY(Bgk8 z3iM!(SKL{|nqB`fGq)uwth`S18%rTSIXxhsy{>BcHHdIyli~0l(%mymHisy*8WrE< zoCRvdm2;I`C+tTtL%cMpS^10s46R{&56A|y8fo{3Qh29}no(&p+)h?*K*dS5StN5j z0!D_&8Or-TFyU2)xSTmT>wj9XhuzVp1s!K*`y2aYkfz|Y1SV;(*s-{8xNf%QQ@Lt# zaGgc)pTM{gq)-gspsQL9j)yZwD@)5cJ~j4CS-1b_YOhLgy~>|j1^K))x~a2UfO_W5xLZ=>e!lab6yta90d`c~2&9(d$1;yl)8?BUs(4 zn7e@dHxq$0&>#p$w_1|0FG6z}LSHFO8_rq?)p)mjeWYNu;a8d;Ox|jx2K=g*RP3k! zm>n1+tuD*FJRdXX!?uwKcK6V%J!P9+AJ=cnwyRqAqaipDnG`-;Q_upH$%)F^JTG=j zVlA(k{^#x_7P?%S)DcYO3?)Zs@|Wj|UhN!L^xdp)=I=hE_;#;Dc&=K5FCF|VuE$O* zC0sr8(wpIw!m0OKR(S(ub(I4~?WrI5YXurxuRVJxnXJVww2`A1qs3M!qe|-ebJBey z()zAdS*GlD@Iq{fgmqayZ#Ij>!qTFPtnb{-n9GSZ4E;U5nfLVl z)H6{l)zq3^Bs)z;-_2svvj^sh@dzN0T*Cl5RIP(@Bs_^Cp>CNw)9P85PNsUHk9_!d zd8%82A}`)V&ZP??!O3bQaN(MMLp$^;jn5Mi*`lX+%)1#PG}tt0G?+9yXr~|j_MD-) z8qMmxMTY3^?l1ee#WHfuwu?Vy1TtjR_`T%^F?GjANMCWiM4>6}4y}~6pM&88pW}z4 zttWYfxIHxd`;s~^gM^;@_x;tK?A;#}yw9WZX#VPlR<7LP+8W>aALhLucv_?+kb@E! z7>NnUW?*0z&{k76R(ICIeN4whoIKeonEX=G^I~Di`II;PX>W)wJ>c>;8?}N6bJG01 zbRnUi;rUlF(dtsjG0TO$Ztgm|WnYUnJGA>ILjB7NOWd_8z{C(;`V75I{l2u)ty{-O@58BsVdkB{2~-lqne3-g{Y^OjwVhb%)F{T#zFcr>V0Ze=PS&FM@1vr*%Onpkc^UJu5%~Q4S*^~4U zN2_eN@I#|qZqtuU?$R=vVN5t6UIFJHYd09zI_Y0YQF`*w=Av={D<>=}1XtzXRX)K* z-yiy0ev%|4T$KP9Ti$;Lnpg7Dwq4IX3)x9no5|ysk|wp0r`mXiUVd&6AOFZbe}Cy# z@r~rUel4utLD>AM=SXzNgF&P%2!)xcL+T)dHR;ET7eUL zc^9P8Blrma)R*C`#))Q>AwHXIM(Ir>p*&97G+K}kSWtlYW!4g|Q33y((A3FBSW;p6 zPMFcudDO3y?Z*tBGa`*0RLOF_$wR8Us~+_JX140oah`#gv!J0(vpYW1$FY=V?06EZ ztPuWNzbCqWDbTQroYxhNM$FH>CWy7-_KvVLO6>@{(0XmJPc^+%=Jh2NWGeYW&5)EDgt@=;Qc&ZLNMau2KD+)JXVojKKtEIR-yOj6d1s$% z>9|JopdQz+XwT>0fvm> z=g57yWD#RWov9%YY;BAq5XU8B#EHf6!zK=P|6`ztH6DC-u_ugj+ZG2HS#v}@j$A|H zX=Z16BbS%_?*_kHk@F>K8}+krRgl|Xs8^u4vZc&ia0)m-in^fCdj*ETh*jx~RkTe@ zuC`JiiyhJR_}%K>QAx~NY@>z(M(OU93WuWHuGODUTp#S>BluQ^Sw_$W^dZz4=0xW9 zT*((46OwD$?DXBR#~G+)RpZt48wh7MA#|v-L55Pg@!)8=K*jIL`&-@}7AudH6jGf} z8gr4aQzWd9&lh5S$fIsP{XNp0Yy^?QKLqznxNlkoOLxRA%29dpz6C(V&bJ0LpZ=-o z)FvCi0=Byj?b6Zn1boR%m7G>`zn`PTC{xrom4#*kl%%sg2@)ld!v>KjN@TxnyT2B9 zx!ii9yDQSi(B=7|$VH$S0TlaMqP`8D8_4H5>4zcxz77=<8sD|Z&hwJF~ulwUfDYH>5oZ_SLIiZW(Gpev~%opQTVn>P(l|-}ECjSL!oT|3K3i#EW^IBpc)|pwPvs{CDE2;n!$H zN2Lu$b9%iaXITn2VyT%lrx_S3xL=*0IYW*@-sK`$9|H8sQ}&{8Qo z!#bCx>_7XL*Ru-utA)X&UiMFOa)60hKK%--b5=3v`Bs2;8_*v*Mom^`?d{J&>ehHP zAMCk7yHtV9guttl*&QRGG(y%~c1S%fT@H vmL*NbQ+@^phSSp>?QdUzKbZeJEtnX5`}3pXF^_V9Zy2=I_0%d=UcUc77JJ7l literal 0 HcmV?d00001 diff --git a/assets/images/onboarding_3.png b/assets/images/onboarding_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d300f4ed6bebbb3de3750984a8e68275b2ff4c2 GIT binary patch literal 453012 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�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�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Ν)U2EV^Pe`1mXAdHeUoIi9y!2Lbp)?NfF;?v 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 mr@gQ`;2YlN*>vj5?f(L2^S%e`t6Nb30000 + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 13.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..79e3510 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,616 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..e3773d4 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..ed66cce --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Yimaru App + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + yimaru_app + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/ios/RunnerTests/RunnerTests.swift b/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/lib/app/app.bottomsheets.dart b/lib/app/app.bottomsheets.dart new file mode 100644 index 0000000..777004c --- /dev/null +++ b/lib/app/app.bottomsheets.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedBottomsheetGenerator +// ************************************************************************** + +import 'package:stacked_services/stacked_services.dart'; + +import 'app.locator.dart'; +import '../ui/bottom_sheets/notice/notice_sheet.dart'; + +enum BottomSheetType { + notice, +} + +void setupBottomSheetUi() { + final bottomsheetService = locator(); + + final Map builders = { + BottomSheetType.notice: (context, request, completer) => + NoticeSheet(request: request, completer: completer), + }; + + bottomsheetService.setCustomSheetBuilders(builders); +} diff --git a/lib/app/app.dart b/lib/app/app.dart new file mode 100644 index 0000000..32e28cd --- /dev/null +++ b/lib/app/app.dart @@ -0,0 +1,80 @@ +import 'package:yimaru_app/ui/bottom_sheets/notice/notice_sheet.dart'; +import 'package:yimaru_app/ui/dialogs/info_alert/info_alert_dialog.dart'; +import 'package:yimaru_app/ui/views/home/home_view.dart'; +import 'package:stacked/stacked_annotations.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_view.dart'; +import 'package:yimaru_app/ui/views/startup/startup_view.dart'; +import 'package:yimaru_app/ui/views/profile/profile_view.dart'; +import 'package:yimaru_app/ui/views/profile_detail/profile_detail_view.dart'; +import 'package:yimaru_app/ui/views/downloads/downloads_view.dart'; +import 'package:yimaru_app/ui/views/progress/progress_view.dart'; +import 'package:yimaru_app/ui/views/ongoing_progress/ongoing_progress_view.dart'; +import 'package:yimaru_app/ui/views/account_privacy/account_privacy_view.dart'; +import 'package:yimaru_app/ui/views/support/support_view.dart'; +import 'package:yimaru_app/ui/views/telegram_support/telegram_support_view.dart'; +import 'package:yimaru_app/ui/views/call_support/call_support_view.dart'; +import 'package:yimaru_app/ui/views/language/language_view.dart'; +import 'package:yimaru_app/ui/views/privacy_policy/privacy_policy_view.dart'; +import 'package:yimaru_app/ui/views/terms_and_conditions/terms_and_conditions_view.dart'; +import 'package:yimaru_app/ui/views/register/register_view.dart'; +import 'package:yimaru_app/ui/views/login/login_view.dart'; +import 'package:yimaru_app/ui/views/learn/learn_view.dart'; +import 'package:yimaru_app/ui/views/learn_level/learn_level_view.dart'; +import 'package:yimaru_app/ui/views/learn_module/learn_module_view.dart'; +import 'package:yimaru_app/services/authentication_service.dart'; +import 'package:yimaru_app/services/api_service.dart'; +import 'package:yimaru_app/services/secure_storage_service.dart'; +import 'package:yimaru_app/services/dio_service.dart'; +import 'package:yimaru_app/services/status_checker_service.dart'; +import 'package:yimaru_app/ui/views/welcome/welcome_view.dart'; +import 'package:yimaru_app/ui/views/assessment/assessment_view.dart'; +// @stacked-import + +@StackedApp( + routes: [ + MaterialRoute(page: HomeView), + MaterialRoute(page: OnboardingView), + MaterialRoute(page: StartupView), + MaterialRoute(page: ProfileView), + MaterialRoute(page: ProfileDetailView), + MaterialRoute(page: DownloadsView), + MaterialRoute(page: ProgressView), + MaterialRoute(page: OngoingProgressView), + MaterialRoute(page: AccountPrivacyView), + MaterialRoute(page: SupportView), + MaterialRoute(page: TelegramSupportView), + MaterialRoute(page: CallSupportView), + MaterialRoute(page: LanguageView), + MaterialRoute(page: PrivacyPolicyView), + MaterialRoute(page: TermsAndConditionsView), + MaterialRoute(page: RegisterView), + MaterialRoute(page: LoginView), + MaterialRoute(page: LearnView), + MaterialRoute(page: LearnLevelView), + MaterialRoute(page: LearnModuleView), + MaterialRoute(page: WelcomeView), + MaterialRoute(page: AssessmentView), +// @stacked-route + ], + dependencies: [ + LazySingleton(classType: BottomSheetService), + LazySingleton(classType: DialogService), + LazySingleton(classType: NavigationService), + LazySingleton(classType: AuthenticationService), + LazySingleton(classType: ApiService), + LazySingleton(classType: SecureStorageService), + LazySingleton(classType: DioService), + LazySingleton(classType: StatusCheckerService), +// @stacked-service + ], + bottomsheets: [ + StackedBottomsheet(classType: NoticeSheet), + // @stacked-bottom-sheet + ], + dialogs: [ + StackedDialog(classType: InfoAlertDialog), + // @stacked-dialog + ], +) +class App {} diff --git a/lib/app/app.dialogs.dart b/lib/app/app.dialogs.dart new file mode 100644 index 0000000..2a4e944 --- /dev/null +++ b/lib/app/app.dialogs.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedDialogGenerator +// ************************************************************************** + +import 'package:stacked_services/stacked_services.dart'; + +import 'app.locator.dart'; +import '../ui/dialogs/info_alert/info_alert_dialog.dart'; + +enum DialogType { + infoAlert, +} + +void setupDialogUi() { + final dialogService = locator(); + + final Map builders = { + DialogType.infoAlert: (context, request, completer) => + InfoAlertDialog(request: request, completer: completer), + }; + + dialogService.registerCustomDialogBuilders(builders); +} diff --git a/lib/app/app.locator.dart b/lib/app/app.locator.dart new file mode 100644 index 0000000..4319ba3 --- /dev/null +++ b/lib/app/app.locator.dart @@ -0,0 +1,39 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedLocatorGenerator +// ************************************************************************** + +// ignore_for_file: public_member_api_docs, implementation_imports, depend_on_referenced_packages + +import 'package:stacked_services/src/bottom_sheet/bottom_sheet_service.dart'; +import 'package:stacked_services/src/dialog/dialog_service.dart'; +import 'package:stacked_services/src/navigation/navigation_service.dart'; +import 'package:stacked_shared/stacked_shared.dart'; + +import '../services/api_service.dart'; +import '../services/authentication_service.dart'; +import '../services/dio_service.dart'; +import '../services/secure_storage_service.dart'; +import '../services/status_checker_service.dart'; + +final locator = StackedLocator.instance; + +Future setupLocator({ + String? environment, + EnvironmentFilter? environmentFilter, +}) async { +// Register environments + locator.registerEnvironment( + environment: environment, environmentFilter: environmentFilter); + +// Register dependencies + locator.registerLazySingleton(() => BottomSheetService()); + locator.registerLazySingleton(() => DialogService()); + locator.registerLazySingleton(() => NavigationService()); + locator.registerLazySingleton(() => AuthenticationService()); + locator.registerLazySingleton(() => ApiService()); + locator.registerLazySingleton(() => SecureStorageService()); + locator.registerLazySingleton(() => DioService()); + locator.registerLazySingleton(() => StatusCheckerService()); +} diff --git a/lib/app/app.router.dart b/lib/app/app.router.dart new file mode 100644 index 0000000..0e07180 --- /dev/null +++ b/lib/app/app.router.dart @@ -0,0 +1,1035 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedNavigatorGenerator +// ************************************************************************** + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:flutter/material.dart' as _i24; +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart' as _i1; +import 'package:stacked_services/stacked_services.dart' as _i25; +import 'package:yimaru_app/ui/views/account_privacy/account_privacy_view.dart' + as _i10; +import 'package:yimaru_app/ui/views/assessment/assessment_view.dart' as _i23; +import 'package:yimaru_app/ui/views/call_support/call_support_view.dart' + as _i13; +import 'package:yimaru_app/ui/views/downloads/downloads_view.dart' as _i7; +import 'package:yimaru_app/ui/views/home/home_view.dart' as _i2; +import 'package:yimaru_app/ui/views/language/language_view.dart' as _i14; +import 'package:yimaru_app/ui/views/learn/learn_view.dart' as _i19; +import 'package:yimaru_app/ui/views/learn_level/learn_level_view.dart' as _i20; +import 'package:yimaru_app/ui/views/learn_module/learn_module_view.dart' + as _i21; +import 'package:yimaru_app/ui/views/login/login_view.dart' as _i18; +import 'package:yimaru_app/ui/views/onboarding/onboarding_view.dart' as _i3; +import 'package:yimaru_app/ui/views/ongoing_progress/ongoing_progress_view.dart' + as _i9; +import 'package:yimaru_app/ui/views/privacy_policy/privacy_policy_view.dart' + as _i15; +import 'package:yimaru_app/ui/views/profile/profile_view.dart' as _i5; +import 'package:yimaru_app/ui/views/profile_detail/profile_detail_view.dart' + as _i6; +import 'package:yimaru_app/ui/views/progress/progress_view.dart' as _i8; +import 'package:yimaru_app/ui/views/register/register_view.dart' as _i17; +import 'package:yimaru_app/ui/views/startup/startup_view.dart' as _i4; +import 'package:yimaru_app/ui/views/support/support_view.dart' as _i11; +import 'package:yimaru_app/ui/views/telegram_support/telegram_support_view.dart' + as _i12; +import 'package:yimaru_app/ui/views/terms_and_conditions/terms_and_conditions_view.dart' + as _i16; +import 'package:yimaru_app/ui/views/welcome/welcome_view.dart' as _i22; + +class Routes { + static const homeView = '/home-view'; + + static const onboardingView = '/onboarding-view'; + + static const startupView = '/startup-view'; + + static const profileView = '/profile-view'; + + static const profileDetailView = '/profile-detail-view'; + + static const downloadsView = '/downloads-view'; + + static const progressView = '/progress-view'; + + static const ongoingProgressView = '/ongoing-progress-view'; + + static const accountPrivacyView = '/account-privacy-view'; + + static const supportView = '/support-view'; + + static const telegramSupportView = '/telegram-support-view'; + + static const callSupportView = '/call-support-view'; + + static const languageView = '/language-view'; + + static const privacyPolicyView = '/privacy-policy-view'; + + static const termsAndConditionsView = '/terms-and-conditions-view'; + + static const registerView = '/register-view'; + + static const loginView = '/login-view'; + + static const learnView = '/learn-view'; + + static const learnLevelView = '/learn-level-view'; + + static const learnModuleView = '/learn-module-view'; + + static const welcomeView = '/welcome-view'; + + static const assessmentView = '/assessment-view'; + + static const all = { + homeView, + onboardingView, + startupView, + profileView, + profileDetailView, + downloadsView, + progressView, + ongoingProgressView, + accountPrivacyView, + supportView, + telegramSupportView, + callSupportView, + languageView, + privacyPolicyView, + termsAndConditionsView, + registerView, + loginView, + learnView, + learnLevelView, + learnModuleView, + welcomeView, + assessmentView, + }; +} + +class StackedRouter extends _i1.RouterBase { + final _routes = <_i1.RouteDef>[ + _i1.RouteDef( + Routes.homeView, + page: _i2.HomeView, + ), + _i1.RouteDef( + Routes.onboardingView, + page: _i3.OnboardingView, + ), + _i1.RouteDef( + Routes.startupView, + page: _i4.StartupView, + ), + _i1.RouteDef( + Routes.profileView, + page: _i5.ProfileView, + ), + _i1.RouteDef( + Routes.profileDetailView, + page: _i6.ProfileDetailView, + ), + _i1.RouteDef( + Routes.downloadsView, + page: _i7.DownloadsView, + ), + _i1.RouteDef( + Routes.progressView, + page: _i8.ProgressView, + ), + _i1.RouteDef( + Routes.ongoingProgressView, + page: _i9.OngoingProgressView, + ), + _i1.RouteDef( + Routes.accountPrivacyView, + page: _i10.AccountPrivacyView, + ), + _i1.RouteDef( + Routes.supportView, + page: _i11.SupportView, + ), + _i1.RouteDef( + Routes.telegramSupportView, + page: _i12.TelegramSupportView, + ), + _i1.RouteDef( + Routes.callSupportView, + page: _i13.CallSupportView, + ), + _i1.RouteDef( + Routes.languageView, + page: _i14.LanguageView, + ), + _i1.RouteDef( + Routes.privacyPolicyView, + page: _i15.PrivacyPolicyView, + ), + _i1.RouteDef( + Routes.termsAndConditionsView, + page: _i16.TermsAndConditionsView, + ), + _i1.RouteDef( + Routes.registerView, + page: _i17.RegisterView, + ), + _i1.RouteDef( + Routes.loginView, + page: _i18.LoginView, + ), + _i1.RouteDef( + Routes.learnView, + page: _i19.LearnView, + ), + _i1.RouteDef( + Routes.learnLevelView, + page: _i20.LearnLevelView, + ), + _i1.RouteDef( + Routes.learnModuleView, + page: _i21.LearnModuleView, + ), + _i1.RouteDef( + Routes.welcomeView, + page: _i22.WelcomeView, + ), + _i1.RouteDef( + Routes.assessmentView, + page: _i23.AssessmentView, + ), + ]; + + final _pagesMap = { + _i2.HomeView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i2.HomeView(), + settings: data, + ); + }, + _i3.OnboardingView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i3.OnboardingView(), + settings: data, + ); + }, + _i4.StartupView: (data) { + final args = data.getArgs( + orElse: () => const StartupViewArguments(), + ); + return _i24.MaterialPageRoute( + builder: (context) => _i4.StartupView(key: args.key, label: args.label), + settings: data, + ); + }, + _i5.ProfileView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i5.ProfileView(), + settings: data, + ); + }, + _i6.ProfileDetailView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i6.ProfileDetailView(), + settings: data, + ); + }, + _i7.DownloadsView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i7.DownloadsView(), + settings: data, + ); + }, + _i8.ProgressView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i8.ProgressView(), + settings: data, + ); + }, + _i9.OngoingProgressView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i9.OngoingProgressView(), + settings: data, + ); + }, + _i10.AccountPrivacyView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i10.AccountPrivacyView(), + settings: data, + ); + }, + _i11.SupportView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i11.SupportView(), + settings: data, + ); + }, + _i12.TelegramSupportView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i12.TelegramSupportView(), + settings: data, + ); + }, + _i13.CallSupportView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i13.CallSupportView(), + settings: data, + ); + }, + _i14.LanguageView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i14.LanguageView(), + settings: data, + ); + }, + _i15.PrivacyPolicyView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i15.PrivacyPolicyView(), + settings: data, + ); + }, + _i16.TermsAndConditionsView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i16.TermsAndConditionsView(), + settings: data, + ); + }, + _i17.RegisterView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i17.RegisterView(), + settings: data, + ); + }, + _i18.LoginView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i18.LoginView(), + settings: data, + ); + }, + _i19.LearnView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i19.LearnView(), + settings: data, + ); + }, + _i20.LearnLevelView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i20.LearnLevelView(), + settings: data, + ); + }, + _i21.LearnModuleView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i21.LearnModuleView(), + settings: data, + ); + }, + _i22.WelcomeView: (data) { + return _i24.MaterialPageRoute( + builder: (context) => const _i22.WelcomeView(), + settings: data, + ); + }, + _i23.AssessmentView: (data) { + final args = data.getArgs(nullOk: false); + return _i24.MaterialPageRoute( + builder: (context) => + _i23.AssessmentView(key: args.key, data: args.data), + settings: data, + ); + }, + }; + + @override + List<_i1.RouteDef> get routes => _routes; + + @override + Map get pagesMap => _pagesMap; +} + +class StartupViewArguments { + const StartupViewArguments({ + this.key, + this.label = 'Loading', + }); + + final _i24.Key? key; + + final String label; + + @override + String toString() { + return '{"key": "$key", "label": "$label"}'; + } + + @override + bool operator ==(covariant StartupViewArguments other) { + if (identical(this, other)) return true; + return other.key == key && other.label == label; + } + + @override + int get hashCode { + return key.hashCode ^ label.hashCode; + } +} + +class AssessmentViewArguments { + const AssessmentViewArguments({ + this.key, + required this.data, + }); + + final _i24.Key? key; + + final Map data; + + @override + String toString() { + return '{"key": "$key", "data": "$data"}'; + } + + @override + bool operator ==(covariant AssessmentViewArguments other) { + if (identical(this, other)) return true; + return other.key == key && other.data == data; + } + + @override + int get hashCode { + return key.hashCode ^ data.hashCode; + } +} + +extension NavigatorStateExtension on _i25.NavigationService { + Future navigateToHomeView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.homeView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToOnboardingView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.onboardingView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToStartupView({ + _i24.Key? key, + String label = 'Loading', + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + }) async { + return navigateTo(Routes.startupView, + arguments: StartupViewArguments(key: key, label: label), + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToProfileView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.profileView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToProfileDetailView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.profileDetailView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToDownloadsView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.downloadsView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToProgressView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.progressView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToOngoingProgressView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.ongoingProgressView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToAccountPrivacyView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.accountPrivacyView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.supportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToTelegramSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.telegramSupportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToCallSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.callSupportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToLanguageView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.languageView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToPrivacyPolicyView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.privacyPolicyView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToTermsAndConditionsView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.termsAndConditionsView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToRegisterView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.registerView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToLoginView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.loginView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToLearnView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.learnView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToLearnLevelView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.learnLevelView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToLearnModuleView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.learnModuleView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToWelcomeView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return navigateTo(Routes.welcomeView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future navigateToAssessmentView({ + _i24.Key? key, + required Map data, + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + }) async { + return navigateTo(Routes.assessmentView, + arguments: AssessmentViewArguments(key: key, data: data), + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithHomeView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.homeView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithOnboardingView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.onboardingView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithStartupView({ + _i24.Key? key, + String label = 'Loading', + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + }) async { + return replaceWith(Routes.startupView, + arguments: StartupViewArguments(key: key, label: label), + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithProfileView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.profileView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithProfileDetailView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.profileDetailView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithDownloadsView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.downloadsView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithProgressView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.progressView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithOngoingProgressView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.ongoingProgressView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithAccountPrivacyView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.accountPrivacyView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.supportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithTelegramSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.telegramSupportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithCallSupportView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.callSupportView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithLanguageView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.languageView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithPrivacyPolicyView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.privacyPolicyView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithTermsAndConditionsView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.termsAndConditionsView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithRegisterView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.registerView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithLoginView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.loginView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithLearnView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.learnView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithLearnLevelView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.learnLevelView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithLearnModuleView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.learnModuleView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithWelcomeView([ + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + ]) async { + return replaceWith(Routes.welcomeView, + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } + + Future replaceWithAssessmentView({ + _i24.Key? key, + required Map data, + int? routerId, + bool preventDuplicates = true, + Map? parameters, + Widget Function(BuildContext, Animation, Animation, Widget)? + transition, + }) async { + return replaceWith(Routes.assessmentView, + arguments: AssessmentViewArguments(key: key, data: data), + id: routerId, + preventDuplicates: preventDuplicates, + parameters: parameters, + transition: transition); + } +} diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..c3f54fc --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; +import 'package:toastification/toastification.dart'; +import 'package:yimaru_app/app/app.bottomsheets.dart'; +import 'package:yimaru_app/app/app.dialogs.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:stacked_services/stacked_services.dart'; + +Future main() async { + WidgetsFlutterBinding.ensureInitialized(); + await setupLocator(); + setupDialogUi(); + setupBottomSheetUi(); + runApp(const MainApp()); +} + +class MainApp extends StatelessWidget { + const MainApp({super.key}); + + @override + Widget build(BuildContext context) => _buildMaterialWrapper(); + + Widget _buildMaterialWrapper() => ToastificationWrapper( + child: _buildMaterialApp(), + ); + + Widget _buildMaterialApp() => MaterialApp( + initialRoute: Routes.startupView, + theme: ThemeData(fontFamily: 'Aeonik'), + navigatorKey: StackedService.navigatorKey, + onGenerateRoute: StackedRouter().onGenerateRoute, + navigatorObservers: [StackedService.routeObserver], + ); +} diff --git a/lib/models/assessment.dart b/lib/models/assessment.dart new file mode 100644 index 0000000..e1cc5e5 --- /dev/null +++ b/lib/models/assessment.dart @@ -0,0 +1,20 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:yimaru_app/models/option.dart'; +import 'package:yimaru_app/models/question.dart'; +part 'assessment.g.dart'; + +@JsonSerializable() +class Assessment { + @JsonKey(name: 'Question') + final Question? question; + + @JsonKey(name: 'Options') + final List

+Last updated: October 26, 2025 +

+ +

Introduction

+

+Welcome to Yimaru! These terms and conditions outline the rules and regulations +for the use of our application. By accessing this app, we assume you accept +these terms and conditions. +

+ +

User Accounts

+

+When you create an account with us, you must provide us with information that is +accurate, complete, and current at all times. Failure to do so constitutes a +breach of the Terms, which may result in immediate termination of your account +on our Service. +

+ +

Content & Services

+

+Our Service allows you to access learning materials. You are granted a limited +license to access and use the app content for personal, non-commercial purposes. +You agree not to: +

+ +
    +
  • Reproduce, duplicate, copy, or sell any material from the app.
  • +
  • Redistribute content from Yimaru.
  • +
  • Use the app in any way that is damaging or harmful.
  • +
+ +

Privacy Policy

+

+Your privacy is important to us. Please read our +Privacy Policy +to understand how we collect, use, and share information about you. +

+ +

Contact Us

+

+If you have any questions about these Terms, please contact us at +support@yimaru.et. +

+"""; diff --git a/lib/ui/common/enmus.dart b/lib/ui/common/enmus.dart new file mode 100644 index 0000000..a289b0a --- /dev/null +++ b/lib/ui/common/enmus.dart @@ -0,0 +1,10 @@ +// Registration type +enum RegistrationType { phone, email } + +// Report status +enum ResponseStatus { success, failure } + +enum ProgressStatuses { pending, started, completed } + +// Levels +enum ProficiencyLevels { a1, a2, b1, b2, none } diff --git a/lib/ui/common/helper_functions.dart b/lib/ui/common/helper_functions.dart new file mode 100644 index 0000000..98f81b5 --- /dev/null +++ b/lib/ui/common/helper_functions.dart @@ -0,0 +1,17 @@ +Map splitFullName(String fullName) { + final parts = fullName.trim().split(RegExp(r'\s+')); + + if (parts.length == 1) { + return { + 'last_name': '', + 'nick_name': parts[0], + 'first_name': parts[0], + }; + } + + return { + 'nick_name': parts.first, + 'first_name': parts.first, + 'last_name': parts.sublist(1).join(' '), + }; +} diff --git a/lib/ui/common/ui_helpers.dart b/lib/ui/common/ui_helpers.dart new file mode 100644 index 0000000..f4f72f9 --- /dev/null +++ b/lib/ui/common/ui_helpers.dart @@ -0,0 +1,283 @@ +import 'dart:math'; +import 'package:flutter_html/flutter_html.dart'; +import 'package:intl/intl.dart'; +import 'package:flutter/material.dart'; +import 'package:pinput/pinput.dart'; +import 'package:toastification/toastification.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +const double _tinySize = 5.0; +const double _smallSize = 10.0; +const double _mediumSize = 25.0; +const double _largeSize = 50.0; +const double _massiveSize = 120.0; + +const Widget horizontalSpaceTiny = SizedBox(width: _tinySize); +const Widget horizontalSpaceSmall = SizedBox(width: _smallSize); +const Widget horizontalSpaceMedium = SizedBox(width: _mediumSize); +const Widget horizontalSpaceLarge = SizedBox(width: _largeSize); + +const Widget verticalSpaceTiny = SizedBox(height: _tinySize); +const Widget verticalSpaceSmall = SizedBox(height: _smallSize); +const Widget verticalSpaceMedium = SizedBox(height: _mediumSize); +const Widget verticalSpaceLarge = SizedBox(height: _largeSize); +const Widget verticalSpaceMassive = SizedBox(height: _massiveSize); + +Widget spacedDivider = const Column( + children: [ + verticalSpaceMedium, + Divider(color: Colors.blueGrey, height: 5.0), + verticalSpaceMedium, + ], +); + +Widget verticalSpace(double height) => SizedBox(height: height); + +double screenWidth(BuildContext context) => MediaQuery.of(context).size.width; + +double screenHeight(BuildContext context) => MediaQuery.of(context).size.height; + +double buttonAlignment(BuildContext context) => + MediaQuery.of(context).size.height * 0.9; + +double screenHeightFraction( + BuildContext context, { + int dividedBy = 1, + double offsetBy = 0, + double max = 3000, +}) => + min((screenHeight(context) - offsetBy) / dividedBy, max); + +double screenWidthFraction( + BuildContext context, { + int dividedBy = 1, + double offsetBy = 0, + double max = 3000, +}) => + min((screenWidth(context) - offsetBy) / dividedBy, max); + +double halfScreenWidth(BuildContext context) => + screenWidthFraction(context, dividedBy: 2); + +double thirdScreenWidth(BuildContext context) => + screenWidthFraction(context, dividedBy: 3); + +double quarterScreenWidth(BuildContext context) => + screenWidthFraction(context, dividedBy: 4); + +double getResponsiveHorizontalSpaceMedium(BuildContext context) => + screenWidthFraction(context, dividedBy: 10); + +double getResponsiveSmallFontSize(BuildContext context) => + getResponsiveFontSize(context, fontSize: 14, max: 15); + +double getResponsiveMediumFontSize(BuildContext context) => + getResponsiveFontSize(context, fontSize: 16, max: 17); + +double getResponsiveLargeFontSize(BuildContext context) => + getResponsiveFontSize(context, fontSize: 21, max: 31); + +double getResponsiveExtraLargeFontSize(BuildContext context) => + getResponsiveFontSize(context, fontSize: 25); + +double getResponsiveMassiveFontSize(BuildContext context) => + getResponsiveFontSize(context, fontSize: 30); + +double getResponsiveFontSize( + BuildContext context, { + double? fontSize, + double? max, +}) { + max ??= 100; + + var responsiveSize = min( + screenWidthFraction(context, dividedBy: 10) * ((fontSize ?? 100) / 100), + max, + ); + + return responsiveSize; +} + +InputDecoration inputDecoration( + {String? hint, + Widget? suffix, + required bool focus, + required bool filled}) => + InputDecoration( + filled: true, + hintText: hint, + border: border, + suffixIcon: suffix, + errorBorder: errorBorder, + enabledBorder: enabledBorder, + focusedBorder: focusedBorder, + fillColor: focus || filled ? kcPrimaryColor.withOpacity(0.1) : kcWhite, + ); + +Border rightBorder = Border( + right: BorderSide( + width: 1, + color: kcLightGrey.withOpacity(0.25), + ), +); + +DateFormat format = DateFormat("d MMM, yyyy"); + +OutlineInputBorder border = + const OutlineInputBorder(borderSide: BorderSide(color: kcPrimaryColor)); +OutlineInputBorder errorBorder = + const OutlineInputBorder(borderSide: BorderSide(color: kcPrimaryColor)); +OutlineInputBorder enabledBorder = + const OutlineInputBorder(borderSide: BorderSide(color: kcPrimaryColor)); +OutlineInputBorder focusedBorder = + const OutlineInputBorder(borderSide: BorderSide(color: kcPrimaryColor)); + +UnderlineInputBorder searchBorder = + const UnderlineInputBorder(borderSide: BorderSide(color: kcPrimaryColor)); + +TextStyle defaultPinTextStyle = const TextStyle( + fontSize: 22, + color: kcDarkGrey, +); + +BoxDecoration defaultPinDecoration = BoxDecoration( + borderRadius: BorderRadius.circular(19), + border: Border.all( + color: kcPrimaryColor.withOpacity(0.5), + ), +); + +PinTheme defaultPin = PinTheme( + width: 56, + height: 56, + textStyle: defaultPinTextStyle, + decoration: defaultPinDecoration, +); + +PinTheme focusedThemePin = defaultPin.copyWith( + decoration: defaultPin.decoration?.copyWith( + border: Border.all(color: kcPrimaryColor, width: 3), + ), +); + +PinTheme submittedThemePin = defaultPin.copyWith( + decoration: defaultPin.decoration?.copyWith( + borderRadius: BorderRadius.circular(19), + border: Border.all(color: kcPrimaryColor), + ), +); + +PinTheme errorPinTheme = defaultPin.copyBorderWith( + border: Border.all(color: Colors.red), +); + +TextStyle validationStyle = const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, +); + +TextStyle style25DG600 = const TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, +); + +TextStyle style12R700 = const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, +); + +TextStyle style16DG600 = const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, +); + +TextStyle style18DG600 = const TextStyle( + fontSize: 18, + color: kcDarkGrey, + fontWeight: FontWeight.w600, +); + +TextStyle style16DG400 = const TextStyle( + fontSize: 16, + color: kcDarkGrey, +); + +TextStyle style14DG400 = const TextStyle( + color: kcDarkGrey, +); + +TextStyle style14P400 = const TextStyle( + color: kcPrimaryColor, +); + +TextStyle style14P600 = const TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, +); + +Style htmlDefaultStyle = Style(color: kcDarkGrey, fontSize: FontSize(16)); + +Map htmlStyle = { + "p": htmlDefaultStyle, + "h1": htmlDefaultStyle, + "h2": htmlDefaultStyle, + "h3": htmlDefaultStyle, + "h4": htmlDefaultStyle, + "h5": htmlDefaultStyle, + "h6": htmlDefaultStyle, + "li": Style( + color: kcDarkGrey, + margin: Margins.zero, + fontSize: FontSize(16), + padding: HtmlPaddings.zero, + fontWeight: FontWeight.w400, + listStyleType: ListStyleType.circle, + verticalAlign: VerticalAlign.baseline, + ), +}; + +Widget buildToastDescription(String message) => Text( + message, + maxLines: 4, + style: const TextStyle(color: kcWhite, fontWeight: FontWeight.w500), + ); + +void showErrorToast(String message) { + toastification.show( + showIcon: true, + dragToClose: true, + primaryColor: kcRed, + showProgressBar: false, + applyBlurEffect: false, + icon: const Icon(Icons.check), + type: ToastificationType.success, + alignment: Alignment.bottomCenter, + style: ToastificationStyle.fillColored, + description: buildToastDescription(message), + borderSide: const BorderSide(color: kcWhite), + autoCloseDuration: const Duration(seconds: 5), + margin: const EdgeInsets.symmetric(horizontal: 15), + ); +} + +void showSuccessToast(String message) { + toastification.show( + showIcon: true, + dragToClose: true, + showProgressBar: false, + applyBlurEffect: false, + icon: const Icon(Icons.check), + primaryColor: kcPrimaryColor, + type: ToastificationType.success, + alignment: Alignment.bottomCenter, + style: ToastificationStyle.fillColored, + description: buildToastDescription(message), + borderSide: const BorderSide(color: kcWhite), + autoCloseDuration: const Duration(seconds: 5), + margin: const EdgeInsets.symmetric(horizontal: 15), + ); +} diff --git a/lib/ui/common/validators/form_validator.dart b/lib/ui/common/validators/form_validator.dart new file mode 100644 index 0000000..faaa377 --- /dev/null +++ b/lib/ui/common/validators/form_validator.dart @@ -0,0 +1,64 @@ +import 'package:email_validator/email_validator.dart'; + +class FormValidator { + static String? validateForm(String? value) { + if (value == null) { + return null; + } + + if (value.isEmpty) { + return 'The field is required'; + } + return null; + } + + static String? validatePhoneNumber(String? value) { + if (value == null) { + return null; + } + + if (value.isEmpty) { + return 'The field is required'; + } + + // Regex validation + final regex = RegExp(r'^251'); + + if (!regex.hasMatch(value)) { + return 'Phone number must start with 251'; + } + + // Length check first (optional but recommended) + if (value.length != 12) { + return 'Phone number must be 12 digits'; + } + return null; + } + + static String? validateEmail(String? value) { + if (value == null) { + return null; + } + + if (value.isEmpty) { + return 'The field is required'; + } + + if (!EmailValidator.validate(value)) { + return 'Invalid email format'; + } + + return null; + } + + static String? validatePassword(String? value) { + if (value == null) { + return null; + } + + if (value.isEmpty) { + return 'The field is required'; + } + return null; + } +} diff --git a/lib/ui/dialogs/info_alert/info_alert_dialog.dart b/lib/ui/dialogs/info_alert/info_alert_dialog.dart new file mode 100644 index 0000000..fe05f6c --- /dev/null +++ b/lib/ui/dialogs/info_alert/info_alert_dialog.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import 'info_alert_dialog_model.dart'; + +const double _graphicSize = 60; + +class InfoAlertDialog extends StackedView { + final DialogRequest request; + final Function(DialogResponse) completer; + + const InfoAlertDialog({ + Key? key, + required this.request, + required this.completer, + }) : super(key: key); + + @override + Widget builder( + BuildContext context, + InfoAlertDialogModel viewModel, + Widget? child, + ) { + return Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + backgroundColor: Colors.white, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + request.title!, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w900, + ), + ), + verticalSpaceTiny, + Text( + request.description!, + style: const TextStyle( + fontSize: 14, + color: kcMediumGrey, + ), + maxLines: 3, + softWrap: true, + ), + ], + ), + ), + Container( + width: _graphicSize, + height: _graphicSize, + decoration: const BoxDecoration( + color: Color(0xffF6E7B0), + borderRadius: BorderRadius.all( + Radius.circular(_graphicSize / 2), + ), + ), + alignment: Alignment.center, + child: const Text('⭐️', style: TextStyle(fontSize: 30)), + ), + ], + ), + verticalSpaceMedium, + GestureDetector( + onTap: () => completer(DialogResponse(confirmed: true)), + child: Container( + height: 50, + width: double.infinity, + alignment: Alignment.center, + decoration: BoxDecoration( + color: Colors.black, + borderRadius: BorderRadius.circular(10), + ), + child: const Text( + 'Got it', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + ), + ), + ], + ), + ), + ); + } + + @override + InfoAlertDialogModel viewModelBuilder(BuildContext context) => + InfoAlertDialogModel(); +} diff --git a/lib/ui/dialogs/info_alert/info_alert_dialog_model.dart b/lib/ui/dialogs/info_alert/info_alert_dialog_model.dart new file mode 100644 index 0000000..0070aa1 --- /dev/null +++ b/lib/ui/dialogs/info_alert/info_alert_dialog_model.dart @@ -0,0 +1,3 @@ +import 'package:stacked/stacked.dart'; + +class InfoAlertDialogModel extends BaseViewModel {} diff --git a/lib/ui/views/account_privacy/account_privacy_view.dart b/lib/ui/views/account_privacy/account_privacy_view.dart new file mode 100644 index 0000000..9599dc7 --- /dev/null +++ b/lib/ui/views/account_privacy/account_privacy_view.dart @@ -0,0 +1,158 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/custom_list_tile.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'account_privacy_viewmodel.dart'; + +class AccountPrivacyView extends StackedView { + const AccountPrivacyView({Key? key}) : super(key: key); + + @override + AccountPrivacyViewModel viewModelBuilder( + BuildContext context, + ) => + AccountPrivacyViewModel(); + + @override + Widget builder( + BuildContext context, + AccountPrivacyViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AccountPrivacyViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AccountPrivacyViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AccountPrivacyViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(AccountPrivacyViewModel viewModel) => + _buildColumn(viewModel); + + Widget _buildColumn(AccountPrivacyViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(AccountPrivacyViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + verticalSpaceSmall, + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppBarWrapper(AccountPrivacyViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(AccountPrivacyViewModel viewModel) => SmallAppBar( + title: 'Account Privacy', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(AccountPrivacyViewModel viewModel) => + Expanded(child: _buildContentColumnWrapper(viewModel)); + + Widget _buildContentColumnWrapper(AccountPrivacyViewModel viewModel) => + Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildContentColumn(viewModel), + ); + + Widget _buildContentColumn(AccountPrivacyViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildContentChildren(viewModel), + ); + + List _buildContentChildren(AccountPrivacyViewModel viewModel) => + [_buildMenuColumnScrollView(viewModel), _buildDeleteButtonWrapper()]; + + Widget _buildMenuColumnScrollView(AccountPrivacyViewModel viewModel) => + SingleChildScrollView( + child: _buildMenuColumn(viewModel), + ); + + Widget _buildMenuColumn(AccountPrivacyViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildMenuColumnChildren(viewModel), + ); + + List _buildMenuColumnChildren(AccountPrivacyViewModel viewModel) => [ + verticalSpaceLarge, + _buildHeader('App Settings'), + verticalSpaceSmall, + _buildLanguageMenu(viewModel), + _buildDividerWrapper(), + verticalSpaceMedium, + _buildHeader('Legal & Information'), + verticalSpaceSmall, + _buildTermsAndConditionsMenu(viewModel), + _buildPrivacyPolicy(viewModel), + _buildDividerWrapper(), + ]; + + Widget _buildHeader(String title) => Text( + title, + style: const TextStyle( + fontSize: 18, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildLanguageMenu(AccountPrivacyViewModel viewModel) => + CustomListTile( + isLanguage: true, + language: 'English', + icon: Icons.language, + title: 'Change Language', + onTap: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTermsAndConditionsMenu(AccountPrivacyViewModel viewModel) => + CustomListTile( + icon: Icons.handshake, + title: 'Terms & Conditions', + onTap: () async => await viewModel.navigateToTerms(), + ); + + Widget _buildPrivacyPolicy(AccountPrivacyViewModel viewModel) => + CustomListTile( + icon: Icons.shield_moon_outlined, + title: 'Privacy Policy', + onTap: () async => await viewModel.navigateToPrivacyPolicy(), + ); + + Widget _buildDividerWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: _buildDivider(), + ); + + Widget _buildDivider() => const Divider(color: kcVeryLightGrey); + + Widget _buildDeleteButtonWrapper() => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildDeleteButton(), + ); + Widget _buildDeleteButton() => CustomElevatedButton( + height: 55, + text: 'Delete Account', + borderRadius: 12, + foregroundColor: kcRed, + backgroundColor: kcRed.withOpacity(0.25), + ); +} diff --git a/lib/ui/views/account_privacy/account_privacy_viewmodel.dart b/lib/ui/views/account_privacy/account_privacy_viewmodel.dart new file mode 100644 index 0000000..6dcc0b7 --- /dev/null +++ b/lib/ui/views/account_privacy/account_privacy_viewmodel.dart @@ -0,0 +1,21 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; + +import '../../../app/app.locator.dart'; + +class AccountPrivacyViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Navigation + void pop() => _navigationService.back(); + + Future navigateToLanguage() async => + await _navigationService.navigateToLanguageView(); + + Future navigateToPrivacyPolicy() async => + await _navigationService.navigateToPrivacyPolicyView(); + + Future navigateToTerms() async => + await _navigationService.navigateToTermsAndConditionsView(); +} diff --git a/lib/ui/views/assessment/assessment_view.dart b/lib/ui/views/assessment/assessment_view.dart new file mode 100644 index 0000000..941d6b1 --- /dev/null +++ b/lib/ui/views/assessment/assessment_view.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/Assessment_form_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/assessment_completion_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/assessment_failure_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/assessment_intro_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/assessment_result_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/result_analysis_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/retake_assessment_screen.dart'; +import 'package:yimaru_app/ui/views/assessment/screens/start_lesson_screen.dart'; + +import 'assessment_viewmodel.dart'; + +class AssessmentView extends StackedView { + final Map data; + + const AssessmentView({Key? key, required this.data}) : super(key: key); + + @override + void onViewModelReady(AssessmentViewModel viewModel) { + viewModel.getAssessments(); + viewModel.initUserData(data); + super.onViewModelReady(viewModel); + } + + @override + Widget builder( + BuildContext context, + AssessmentViewModel viewModel, + Widget? child, + ) => + _buildAssessmentScreens(viewModel); + + Widget _buildAssessmentScreens(AssessmentViewModel viewModel) => IndexedStack( + index: viewModel.currentPage, + children: _buildScreens(), + ); + + List _buildScreens() => [ + _buildAssessmentIntro(), + _buildAssessment(), + // _buildAssessmentFailure(), + // _buildRetakeAssessment(), + // _buildResultAnalysis(), + // _buildAssessmentCompletion(), + _buildAssessmentResult(), + _buildStartLesson(), + ]; + + Widget _buildAssessmentIntro() => const AssessmentIntroScreen(); + + Widget _buildAssessment() => const AssessmentFormScreen(); + + Widget _buildAssessmentFailure() => const AssessmentFailureScreen(); + + Widget _buildRetakeAssessment() => const RetakeAssessmentScreen(); + + Widget _buildResultAnalysis() => const ResultAnalysisScreen(); + + Widget _buildAssessmentCompletion() => const AssessmentCompletionScreen(); + + Widget _buildAssessmentResult() => const AssessmentResultScreen(); + + Widget _buildStartLesson() => const StartLessonScreen(); + + @override + AssessmentViewModel viewModelBuilder( + BuildContext context, + ) => + AssessmentViewModel(); +} diff --git a/lib/ui/views/assessment/assessment_viewmodel.dart b/lib/ui/views/assessment/assessment_viewmodel.dart new file mode 100644 index 0000000..4506612 --- /dev/null +++ b/lib/ui/views/assessment/assessment_viewmodel.dart @@ -0,0 +1,252 @@ +import 'dart:math'; + +import 'package:flutter/cupertino.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; + +import '../../../app/app.locator.dart'; +import '../../../app/app.router.dart'; +import '../../../models/assessment.dart'; +import '../../../models/user_model.dart'; +import '../../../services/api_service.dart'; +import '../../../services/authentication_service.dart'; +import '../home/home_view.dart'; + +class AssessmentViewModel extends BaseViewModel { + final _apiService = locator(); + final _navigationService = locator(); + final _authenticationService = locator(); + + int _currentPage = 0; + + int get currentPage => _currentPage; + + final PageController _pageController = PageController(); + + PageController get pageController => _pageController; + + int _previousPage = 0; + + int get previousPage => _previousPage; + + // Assessment + + int _currentQuestion = 0; + + int get currentQuestion => _currentQuestion; + + ProficiencyLevels _proficiencyLevel = ProficiencyLevels.none; + + ProficiencyLevels get proficiencyLevel => _proficiencyLevel; + + List _assessments = []; + + List get assessments => _assessments; + + final Map _selectedAnswers = {}; + + Map get selectedAnswers => _selectedAnswers; + + // User data + final Map _userData = {}; + + Map get userData => _userData; + + // Assessment + + int countCorrectAnswersUntil(int untilQuestion) { + int count = 0; + + for (int i = 1; i <= untilQuestion; i++) { + final answer = _selectedAnswers[i.toString()]; + + if (answer is Map && answer['correct'] == true) { + count++; + } + } + + return count; + } + + Map evaluateAssessment() { + if (_currentQuestion == 5) { + // A1 + final correctCount = countCorrectAnswersUntil(5); + print('All : $_selectedAnswers'); + print('Question page : $_currentQuestion'); + print('Correct A1: $correctCount'); + + if (correctCount > 3) { + return {'continue': true, 'level': ProficiencyLevels.a1}; + } else { + return {'continue': false, 'level': ProficiencyLevels.a1}; + } + } else if (_currentQuestion == 10) { + // A2 + + final correctCount = countCorrectAnswersUntil(10); + print('All : $_selectedAnswers'); + print('Question page : $_currentQuestion'); + print('Correct A2: $correctCount'); + + if (correctCount > 3) { + return {'continue': true, 'level': ProficiencyLevels.a2}; + } else { + return {'continue': false, 'level': ProficiencyLevels.a2}; + } + } else if (_currentQuestion == 16) { + // B1 + final correctCount = countCorrectAnswersUntil(16); + print('All : $_selectedAnswers'); + print('Question page : $_currentQuestion'); + print('Correct B1: $correctCount'); + + if (correctCount > 4) { + return {'continue': true, 'level': ProficiencyLevels.b1}; + } else { + return {'continue': false, 'level': ProficiencyLevels.b1}; + } + } else if (_currentQuestion == 22) { + final correctCount = countCorrectAnswersUntil(16); + print('All : $_selectedAnswers'); + print('Question page : $_currentQuestion'); + print('Correct B2: $correctCount'); + + if (correctCount > 4) { + return {'continue': true, 'level': ProficiencyLevels.b2}; + } else { + return {'continue': false, 'level': ProficiencyLevels.b2}; + } + } else { + return {'continue': true, 'level': ProficiencyLevels.none}; + } + } + + void setSelectedAnswer({required int question, required String option}) { + bool correct = false; + final generator = Random(); + int random = generator.nextInt(4); + if (option == _assessments[question - 1].options?[random].optionText) { + correct = true; + } + final data = { + question.toString(): { + 'option': option, + 'correct': correct, + 'answer': _assessments[question - 1].options?[random].optionText + } + }; + + _selectedAnswers.addAll(data); + + rebuildUi(); + } + + bool isSelectedAnswer({required int question, required String answer}) { + return _selectedAnswers[question.toString()]?['option'] == answer; + } + + Future getAssessments() async { + _assessments = await runBusyFuture>(_getAssessments()); + } + + Future> _getAssessments() async { + List response = await _apiService.getAssessments(); + + for (int i = 0; i < 6; i++) { + final generator = Random(); + int random = generator.nextInt(15); + response.add(response[random]); + } + + return response; + } + + // Add user data + void initUserData(Map data) { + clearUserData(); + _userData.addAll(data); + } + + void addUserData(Map data) { + _userData.addAll(data); + } + + void clearUserData() { + _userData.clear(); + } + + // Complete profile + Future completeProfile() async { + Map response = + await runBusyFuture>(_completeProfile()); + } + + Future> _completeProfile() async { + print(_userData); + UserModel user = await _authenticationService.getUser(); + Map response = + await _apiService.updateProfile(data: _userData, user: user); + + return response; + } + + // Navigation + + void nextQuestion() { + _currentQuestion++; + Map response = evaluateAssessment(); + + if (response['level'] == ProficiencyLevels.none) { + _pageController.jumpToPage(_currentQuestion); + } else { + if (response['continue']) { + _pageController.jumpToPage(_currentQuestion); + } + { + _proficiencyLevel = response['level']; + next(); + } + } + rebuildUi(); + } + + void previousQuestion() { + if (_currentQuestion != 0) { + _currentQuestion--; + _pageController.previousPage( + duration: const Duration(microseconds: 100), curve: Curves.linear); + rebuildUi(); + } else { + _navigationService.back(); + } + } + + void next({int? page}) async { + if (page == null) { + if (_previousPage != 0) { + _currentPage = _previousPage; + } else { + _currentPage++; + } + } else { + _previousPage = _currentPage; + _currentPage = page; + } + rebuildUi(); + } + + void pop() { + if (_currentPage != 0) { + _currentPage--; + rebuildUi(); + } + } + + Future navigateToLanguage() async => + await _navigationService.navigateToLanguageView(); + + Future replaceWithHome() async => + await _navigationService.clearStackAndShowView(const HomeView()); +} diff --git a/lib/ui/views/assessment/screens/assessment_completion_screen.dart b/lib/ui/views/assessment/screens/assessment_completion_screen.dart new file mode 100644 index 0000000..0170cd9 --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_completion_screen.dart @@ -0,0 +1,101 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/views/assessment/assessment_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class AssessmentCompletionScreen extends ViewModelWidget { + const AssessmentCompletionScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar() => const LargeAppBar( + showBackButton: false, + showLanguageSelection: false, + ); + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/complete.svg', + ); + + Widget _buildTitle() => const Text( + 'Assessment complete!', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’re now analyzing your speaking skills', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildContinueButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'View My Results', + onTap: () => viewModel.next(), + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/assessment/screens/assessment_failure_screen.dart b/lib/ui/views/assessment/screens/assessment_failure_screen.dart new file mode 100644 index 0000000..39a6617 --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_failure_screen.dart @@ -0,0 +1,125 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; + +class AssessmentFailureScreen extends ViewModelWidget { + const AssessmentFailureScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset('assets/icons/alert.svg'); + + Widget _buildTitle() => const Text( + 'We didn’t get enough from your assessment', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Your assessment wasn’t long enough for us to analyze your speaking level. You can retake the call to get accurate results ', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLowerColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(AssessmentViewModel viewModel) => [ + _buildContinueButton(viewModel), + verticalSpaceSmall, + _buildSkipButtonWrapper(viewModel) + ]; + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + safe: false, + borderRadius: 12, + text: 'Continue Assessment', + onTap: () => viewModel.next(), + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildSkipButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildSkipButton(viewModel), + ); + + Widget _buildSkipButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Skip', + borderRadius: 12, + borderColor: kcPrimaryColor, + onTap: () => viewModel.next(), + backgroundColor: kcWhite, + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/assessment/screens/assessment_form_screen.dart b/lib/ui/views/assessment/screens/assessment_form_screen.dart new file mode 100644 index 0000000..aa88c8f --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_form_screen.dart @@ -0,0 +1,169 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; +import 'assessment_loading_screen.dart'; + +class AssessmentFormScreen extends ViewModelWidget { + const AssessmentFormScreen({super.key}); + + //final PageController _pageController = PageController(); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildAssessmentScreens(viewModel); + + Widget _buildAssessmentScreens(AssessmentViewModel viewModel) => + viewModel.isBusy + ? _buildPageLoadingIndicator() + : _buildAssessmentScreensWrapper(viewModel); + + Widget _buildPageLoadingIndicator() => const AssessmentLoadingScreen(); + + Widget _buildAssessmentScreensWrapper(AssessmentViewModel viewModel) => + PopScope( + canPop: false, + onPopInvokedWithResult: (value, data) => viewModel.previousQuestion(), + child: _buildScaffoldWrapper(viewModel)); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: true, + showLanguageSelection: false, + onPop: viewModel.previousQuestion, + ); + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAssessment(viewModel), + ); + + Widget _buildAssessment(AssessmentViewModel viewModel) => PageView.builder( + controller: viewModel.pageController, + itemCount: viewModel.assessments.length, + itemBuilder: (cotext, index) => + _buildBody(index: index, viewModel: viewModel)); + + Widget _buildBody( + {required int index, required AssessmentViewModel viewModel}) => + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel: viewModel, index: index), + ); + + List _buildBodyChildren( + {required int index, required AssessmentViewModel viewModel}) => + [ + _buildUpperColumnWrapper(viewModel: viewModel, index: index), + _buildContinueButtonWrapper(viewModel: viewModel, question: index + 1) + ]; + + Widget _buildUpperColumnWrapper( + {required int index, required AssessmentViewModel viewModel}) => + Expanded( + child: _buildUpperColumn(index: index, viewModel: viewModel), + ); + + Widget _buildUpperColumn( + {required int index, required AssessmentViewModel viewModel}) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(index: index, viewModel: viewModel), + ); + + List _buildUpperColumnChildren( + {required int index, required AssessmentViewModel viewModel}) => + [ + verticalSpaceMedium, + _buildTitle(index: index, viewModel: viewModel), + verticalSpaceMedium, + _buildAnswers(index: index, viewModel: viewModel) + ]; + + Widget _buildTitle( + {required int index, required AssessmentViewModel viewModel}) => + Text( + 'Q${index + 1}. ${viewModel.assessments[index].question?.title} ', + style: style16DG600, + ); + + Widget _buildAnswers( + {required int index, required AssessmentViewModel viewModel}) => + ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: viewModel.assessments[index].options?.length, + itemBuilder: (context, inner) => _buildAnswer( + title: viewModel.assessments[index].options?[inner].optionText ?? '', + selected: viewModel.isSelectedAnswer( + question: index + 1, + answer: viewModel.assessments[index].options?[inner].optionText ?? + ''), + onTap: () => viewModel.setSelectedAnswer( + question: index + 1, + option: viewModel.assessments[index].options?[inner].optionText ?? + ''), + ), + ); + + Widget _buildAnswer( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildContinueButtonWrapper( + {required int question, required AssessmentViewModel viewModel}) => + Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel: viewModel, question: question), + ); + + Widget _buildContinueButton( + {required int question, required AssessmentViewModel viewModel}) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + foregroundColor: kcWhite, + text: viewModel.currentQuestion == viewModel.assessments.length - 1 + ? 'Finish' + : 'Continue', + backgroundColor: + viewModel.selectedAnswers.containsKey(question.toString()) + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: viewModel.selectedAnswers.containsKey(question.toString()) + ? + // viewModel.currentQuestion == viewModel.assessments.length - 1 + // ? () => viewModel.next() + // : + () => viewModel.nextQuestion() + : null, + ); +} diff --git a/lib/ui/views/assessment/screens/assessment_intro_screen.dart b/lib/ui/views/assessment/screens/assessment_intro_screen.dart new file mode 100644 index 0000000..c93fe2e --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_intro_screen.dart @@ -0,0 +1,117 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; + +class AssessmentIntroScreen extends ViewModelWidget { + const AssessmentIntroScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'Want a quick assessment to know your English level?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Answer a few quick questions to help us understand your English proficiency.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLowerColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(AssessmentViewModel viewModel) => [ + _buildContinueButton(viewModel), + verticalSpaceSmall, + _buildSkipButtonWrapper(viewModel) + ]; + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + safe: false, + text: 'Continue', + borderRadius: 12, + onTap: () => viewModel.next(), + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildSkipButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildSkipButton(viewModel), + ); + + Widget _buildSkipButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Skip', + borderRadius: 12, + backgroundColor: kcWhite, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + onTap: () => viewModel.next(page: 3), + ); +} diff --git a/lib/ui/views/assessment/screens/assessment_loading_screen.dart b/lib/ui/views/assessment/screens/assessment_loading_screen.dart new file mode 100644 index 0000000..2c9c0cb --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_loading_screen.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/widgets/page_loading_indicator.dart'; + +import '../../../common/app_colors.dart'; +import '../../../widgets/large_app_bar.dart'; + +class AssessmentLoadingScreen extends StatelessWidget { + const AssessmentLoadingScreen({super.key}); + + @override + Widget build(BuildContext context) => _buildScaffoldWrapper(); + + Widget _buildScaffoldWrapper() => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(), + ); + + Widget _buildScaffold() => Stack( + children: [_buildColumn(), _buildPageIndicator()], + ); + + Widget _buildColumn() => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => [_buildAppBar(), _buildBody()]; + + Widget _buildAppBar() => const LargeAppBar( + showBackButton: true, + showLanguageSelection: true, + ); + + Widget _buildBody() => Expanded(child: Container()); + + Widget _buildPageIndicator() => const PageLoadingIndicator(); +} diff --git a/lib/ui/views/assessment/screens/assessment_result_screen.dart b/lib/ui/views/assessment/screens/assessment_result_screen.dart new file mode 100644 index 0000000..f09b05f --- /dev/null +++ b/lib/ui/views/assessment/screens/assessment_result_screen.dart @@ -0,0 +1,133 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; + +class AssessmentResultScreen extends ViewModelWidget { + const AssessmentResultScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceLarge, + _buildTitle(viewModel), + verticalSpaceSmall, + _buildPrimarySubTitle(), + verticalSpaceMedium, + _buildIcon(), + verticalSpaceMedium, + _buildSecondarySubTitle() + ]; + + Widget _buildTitle(AssessmentViewModel viewModel) => Text( + 'You’re likely a ${viewModel.proficiencyLevel.name.toUpperCase()} speaker!', + textAlign: TextAlign.center, + style: const TextStyle( + fontSize: 25, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildPrimarySubTitle() => const Text( + 'Great Job! Here’s your next step to keep improving.', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildIcon() => SvgPicture.asset('assets/icons/b1.svg'); + + Widget _buildSecondarySubTitle() => const Text( + 'Let\'s start your practice', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLowerColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(AssessmentViewModel viewModel) => [ + _buildContinueButton(viewModel), + verticalSpaceSmall, + _buildSkipButtonWrapper(viewModel) + ]; + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + safe: false, + text: 'Continue', + borderRadius: 12, + onTap: () => viewModel.next(), + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildSkipButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildSkipButton(viewModel), + ); + + Widget _buildSkipButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Practice Speaking', + borderColor: kcPrimaryColor, + onTap: () => viewModel.next(), + backgroundColor: kcWhite, + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/assessment/screens/result_analysis_screen.dart b/lib/ui/views/assessment/screens/result_analysis_screen.dart new file mode 100644 index 0000000..f3442a6 --- /dev/null +++ b/lib/ui/views/assessment/screens/result_analysis_screen.dart @@ -0,0 +1,79 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; + +class ResultAnalysisScreen extends ViewModelWidget { + const ResultAnalysisScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceMassive, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/progress_indicator.svg', + ); + + Widget _buildTitle() => const Text( + 'Analyzing your results…', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’re now analyzing your speaking skills', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); +} diff --git a/lib/ui/views/assessment/screens/retake_assessment_screen.dart b/lib/ui/views/assessment/screens/retake_assessment_screen.dart new file mode 100644 index 0000000..2ce9b1f --- /dev/null +++ b/lib/ui/views/assessment/screens/retake_assessment_screen.dart @@ -0,0 +1,128 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../assessment_viewmodel.dart'; + +class RetakeAssessmentScreen extends ViewModelWidget { + const RetakeAssessmentScreen({super.key}); + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildAppBar(AssessmentViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildIcon() => const Icon( + Icons.warning_amber_rounded, + size: 100, + color: kcPrimaryColor, + ); + + Widget _buildTitle() => const Text( + 'We didn’t get enough from your assessment', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Your assessment wasn’t long enough for us to analyze your speaking level. You can retake the call to get accurate results ', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLowerColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(AssessmentViewModel viewModel) => [ + _buildContinueButton(viewModel), + verticalSpaceSmall, + _buildSkipButtonWrapper(viewModel) + ]; + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + safe: false, + borderRadius: 12, + text: 'Retake Assessment', + onTap: () => viewModel.next(), + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildSkipButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildSkipButton(viewModel), + ); + + Widget _buildSkipButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Skip', + borderRadius: 12, + borderColor: kcPrimaryColor, + onTap: () => viewModel.next(), + backgroundColor: kcWhite, + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/assessment/screens/start_lesson_screen.dart b/lib/ui/views/assessment/screens/start_lesson_screen.dart new file mode 100644 index 0000000..719f74d --- /dev/null +++ b/lib/ui/views/assessment/screens/start_lesson_screen.dart @@ -0,0 +1,123 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../../../common/enmus.dart'; +import '../assessment_viewmodel.dart'; + +class StartLessonScreen extends ViewModelWidget { + const StartLessonScreen({super.key}); + + Future _start(AssessmentViewModel viewModel) async { + if (viewModel.proficiencyLevel != ProficiencyLevels.none) { + Map data = { + 'preferred_language': 'en', + 'knowledge_level': viewModel.proficiencyLevel.name.toUpperCase() + }; + + viewModel.addUserData(data); + } + + await viewModel.completeProfile(); + } + + @override + Widget build(BuildContext context, AssessmentViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(AssessmentViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(AssessmentViewModel viewModel) => + [_buildAppBar(), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar() => const LargeAppBar( + showBackButton: false, + showLanguageSelection: false, + ); + + Widget _buildExpandedBody(AssessmentViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(AssessmentViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(AssessmentViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(AssessmentViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(AssessmentViewModel viewModel) => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(viewModel), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset('assets/icons/mascot.svg'); + + Widget _buildTitle(AssessmentViewModel viewModel) => Text.rich( + TextSpan( + text: 'Welcome aboard', + style: const TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + children: [ + TextSpan( + text: ', ${viewModel.userData['first_name']}!', + style: const TextStyle( + fontSize: 25, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ) + ]), + ); + + Widget _buildSubTitle() => const Text( + 'You’re ready to explore your personalized lessons.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildContinueButtonWrapper(AssessmentViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(AssessmentViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Go to My Lessons', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + onTap: () async => await _start(viewModel), + ); +} diff --git a/lib/ui/views/call_support/call_support_view.dart b/lib/ui/views/call_support/call_support_view.dart new file mode 100644 index 0000000..ccb5e99 --- /dev/null +++ b/lib/ui/views/call_support/call_support_view.dart @@ -0,0 +1,125 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/circular_icon.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'call_support_viewmodel.dart'; + +class CallSupportView extends StackedView { + const CallSupportView({Key? key}) : super(key: key); + + @override + CallSupportViewModel viewModelBuilder( + BuildContext context, + ) => + CallSupportViewModel(); + + @override + Widget builder( + BuildContext context, + CallSupportViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(CallSupportViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(CallSupportViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(CallSupportViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(CallSupportViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + _buildExpandedColumn(viewModel) + ]; + + Widget _buildAppBarWrapper(CallSupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(CallSupportViewModel viewModel) => SmallAppBar( + title: 'Call Support', + onTap: viewModel.pop, + ); + + Widget _buildExpandedColumn(CallSupportViewModel viewModel) => + Expanded(child: _buildColumnWrapper(viewModel)); + + Widget _buildColumnWrapper(CallSupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(CallSupportViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(CallSupportViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(CallSupportViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(CallSupportViewModel viewModel) => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceMedium, + _buildSubTitle('+2519012345678'), + verticalSpaceSmall, + _buildSubTitle('+2519012345678'), + ]; + + Widget _buildIcon() => + const CircularIcon(icon: Icons.call, size: 50, color: kcPrimaryColor); + + Widget _buildTitle() => const Text( + 'Call our support team between 9 AM - 6 PM', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle(String title) => Text( + title, + textAlign: TextAlign.center, + style: const TextStyle(color: kcPrimaryColor), + ); + + Widget _buildContinueButtonWrapper(CallSupportViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(CallSupportViewModel viewModel) => + const CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Tap to Call', + leadingIcon: Icons.call, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/call_support/call_support_viewmodel.dart b/lib/ui/views/call_support/call_support_viewmodel.dart new file mode 100644 index 0000000..119e069 --- /dev/null +++ b/lib/ui/views/call_support/call_support_viewmodel.dart @@ -0,0 +1,9 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class CallSupportViewModel extends BaseViewModel { + final _navigationService = locator(); + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/downloads/downloads_view.dart b/lib/ui/views/downloads/downloads_view.dart new file mode 100644 index 0000000..27d95ac --- /dev/null +++ b/lib/ui/views/downloads/downloads_view.dart @@ -0,0 +1,218 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; +import 'package:yimaru_app/ui/widgets/download_card.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'downloads_viewmodel.dart'; + +class DownloadsView extends StackedView { + const DownloadsView({Key? key}) : super(key: key); + + @override + DownloadsViewModel viewModelBuilder( + BuildContext context, + ) => + DownloadsViewModel(); + + @override + Widget builder( + BuildContext context, + DownloadsViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(DownloadsViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(DownloadsViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(DownloadsViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(DownloadsViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(DownloadsViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(DownloadsViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppbar(viewModel), + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppbar(DownloadsViewModel viewModel) => SmallAppBar( + title: 'Offline Downloads', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(DownloadsViewModel viewModel) => + viewModel.showDownload + ? _buildEmptyContent(viewModel) + : _buildContent(viewModel); + + Widget _buildContent(DownloadsViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildContentChildren(viewModel), + ); + + List _buildContentChildren(DownloadsViewModel viewModel) => [ + verticalSpaceMedium, + _buildStorageSection(viewModel), + verticalSpaceLarge, + _buildDownloads(viewModel) + ]; + + Widget _buildStorageSection(DownloadsViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildStorageSectionChildren(viewModel), + ); + + List _buildStorageSectionChildren(DownloadsViewModel viewModel) => [ + _buildStorageInfoWrapper(viewModel), + _buildStorageIndicator(), + ]; + + Widget _buildStorageInfoWrapper(DownloadsViewModel viewModel) => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildStorageInfoChildren(viewModel), + ); + + List _buildStorageInfoChildren(DownloadsViewModel viewModel) => + [_buildStorageInfo(), _buildManageButton(viewModel)]; + + Widget _buildStorageInfo() => const Text.rich( + TextSpan( + text: '1.2GB', + style: TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + children: [ + TextSpan( + text: ' used of 2GB', + style: TextStyle( + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ) + ]), + ); + + Widget _buildManageButton(DownloadsViewModel viewModel) => TextButton( + onPressed: viewModel.setShowDownload, child: _buildManageText()); + + Widget _buildManageText() => const Text( + 'Manage Storage', + style: TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildStorageIndicator() => const CustomLinearProgressIndicator( + progress: 0.75, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + Widget _buildDownloads(DownloadsViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.downloads.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildDownload( + size: viewModel.downloads[index]['size'], + title: viewModel.downloads[index]['title'], + duration: viewModel.downloads[index]['duration'], + thumbnail: viewModel.downloads[index]['thumbnail']), + ); + + Widget _buildDownload( + {required String title, + required String size, + required String duration, + required String thumbnail}) => + DownloadCard( + size: size, + title: title, + duration: duration, + thumbnail: thumbnail, + ); + + Widget _buildEmptyContent(DownloadsViewModel viewModel) => Expanded( + child: Column( + mainAxisSize: MainAxisSize.max, + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildEmptyContentChildren(viewModel), + ), + ); + + List _buildEmptyContentChildren(DownloadsViewModel viewModel) => + [_buildUpperEmptyContent(viewModel), _buildGoButtonWrapper(viewModel)]; + + Widget _buildUpperEmptyContent(DownloadsViewModel viewModel) => Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildUpperEmptyContentChildren(viewModel), + ), + ); + + List _buildUpperEmptyContentChildren(DownloadsViewModel viewModel) => + [ + verticalSpaceMassive, + _buildEmptyIcon(), + verticalSpaceMedium, + _buildEmptyTitle(), + verticalSpaceSmall, + _buildEmptySubTitle(), + ]; + + Widget _buildEmptyIcon() => const Icon( + Icons.hourglass_empty, + size: 100, + color: kcPrimaryColor, + ); + + Widget _buildEmptyTitle() => const Text( + 'Looking for something to download?', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildEmptySubTitle() => const Text( + 'Start by exploring your learning materials and save them for offline access.', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildGoButtonWrapper(DownloadsViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildGoButton(viewModel), + ); + Widget _buildGoButton(DownloadsViewModel viewModel) => CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Go to Learn Section', + onTap: viewModel.setShowDownload, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/downloads/downloads_viewmodel.dart b/lib/ui/views/downloads/downloads_viewmodel.dart new file mode 100644 index 0000000..0cf971f --- /dev/null +++ b/lib/ui/views/downloads/downloads_viewmodel.dart @@ -0,0 +1,42 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class DownloadsViewModel extends BaseViewModel { + final _navigationService = locator(); + + bool _showDownload = false; + + bool get showDownload => _showDownload; + // Downloads + final List> _downloads = [ + { + 'size': '120 MB', + 'duration': '3h 46 m', + 'title': 'Duolingo English', + 'thumbnail': 'assets/images/image_1.png', + }, + { + 'size': '79 MB', + 'duration': '1h 34 m', + 'title': 'IELTS Listening', + 'thumbnail': 'assets/images/image_1.png', + }, + { + 'size': '120 MB', + 'duration': '3h 46 m', + 'title': 'Customer Service', + 'thumbnail': 'assets/images/image_1.png', + }, + ]; + + List> get downloads => _downloads; + + void setShowDownload() { + _showDownload = !_showDownload; + rebuildUi(); + } + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/home/home_view.dart b/lib/ui/views/home/home_view.dart new file mode 100644 index 0000000..8ed1ff8 --- /dev/null +++ b/lib/ui/views/home/home_view.dart @@ -0,0 +1,80 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/views/learn/learn_view.dart'; +import 'package:yimaru_app/ui/views/profile/profile_view.dart'; +import 'package:yimaru_app/ui/views/startup/startup_view.dart'; +import 'package:yimaru_app/ui/widgets/coming_soon.dart'; + +import 'home_viewmodel.dart'; + +class HomeView extends StackedView { + const HomeView({Key? key}) : super(key: key); + + @override + HomeViewModel viewModelBuilder(BuildContext context) => HomeViewModel(); + + @override + void onViewModelReady(HomeViewModel viewModel) { + viewModel.getProfileStatus(); + super.onViewModelReady(viewModel); + } + + @override + Widget builder( + BuildContext context, HomeViewModel viewModel, Widget? child) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(HomeViewModel viewModel) => viewModel.isBusy + ? const StartupView( + label: 'Checking user info', + ) + : _buildScaffold(viewModel); + + Widget _buildScaffold(HomeViewModel viewModel) => Scaffold( + body: getViewForIndex(viewModel.currentIndex), + bottomNavigationBar: _buildBottomNav(viewModel), + ); + + Widget _buildBottomNav(HomeViewModel viewModel) => BottomNavigationBar( + onTap: viewModel.setCurrentIndex, + items: _buildNavBarItems(), + selectedItemColor: kcPrimaryColor, + backgroundColor: kcBackgroundColor, + type: BottomNavigationBarType.fixed, + currentIndex: viewModel.currentIndex, + ); + + List _buildNavBarItems() => [ + _buildLearnItem(), + _buildCourseItem(), + _buildProfileItem(), + ]; + + BottomNavigationBarItem _buildLearnItem() => const BottomNavigationBarItem( + label: 'Learn', + icon: Icon(Icons.school), + ); + + BottomNavigationBarItem _buildCourseItem() => const BottomNavigationBarItem( + label: 'Course', + icon: Icon(Icons.book), + ); + + BottomNavigationBarItem _buildProfileItem() => const BottomNavigationBarItem( + label: 'Profile', + icon: Icon(Icons.person), + ); +} + +Widget getViewForIndex(int index) { + switch (index) { + case 0: + return const LearnView(); + case 1: + return const ComingSoon(); + + default: + return const ProfileView(); + } +} diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart new file mode 100644 index 0000000..10002ba --- /dev/null +++ b/lib/ui/views/home/home_viewmodel.dart @@ -0,0 +1,78 @@ +import 'package:yimaru_app/app/app.bottomsheets.dart'; +import 'package:yimaru_app/app/app.dialogs.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/models/user_model.dart'; +import 'package:yimaru_app/services/status_checker_service.dart'; +import 'package:yimaru_app/ui/common/app_strings.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../services/api_service.dart'; +import '../../../services/authentication_service.dart'; +import '../../common/enmus.dart'; + +class HomeViewModel extends BaseViewModel { + final _apiService = locator(); + final _dialogService = locator(); + final _statusChecker = locator(); + final _navigationService = locator(); + final _bottomSheetService = locator(); + final _authenticationService = locator(); + + // Bottom navigation + int _currentIndex = 0; + + int get currentIndex => _currentIndex; + + void setCurrentIndex(int index) { + _currentIndex = index; + rebuildUi(); + } + + void showDialog() { + _dialogService.showCustomDialog( + title: 'Stacked Rocks!', + variant: DialogType.infoAlert, + description: 'Give stacked stars on Github', + ); + } + + void showBottomSheet() { + _bottomSheetService.showCustomSheet( + title: ksHomeBottomSheetTitle, + variant: BottomSheetType.notice, + description: ksHomeBottomSheetDescription, + ); + } + + // Navigation + Future replaceWithOnboarding() async => + await _navigationService.replaceWithOnboardingView(); + + // Remote api calls + Future getProfileStatus() async { + Map response = + await runBusyFuture>(_getProfileStatus()); + if (response['status'] == ResponseStatus.success && !response['data']) { + await replaceWithOnboarding(); + } + } + + Future> _getProfileStatus() async { + Map response = {}; + UserModel user = await _authenticationService.getUser(); + + if (user.profileCompleted == null) { + if (await _statusChecker.checkConnection()) { + response = await _apiService.getProfileStatus(user); + } else { + response = {'data': false, 'status': ResponseStatus.success}; + } + } else { + response = {'data': true, 'status': ResponseStatus.success}; + } + + return response; + } +} diff --git a/lib/ui/views/language/language_view.dart b/lib/ui/views/language/language_view.dart new file mode 100644 index 0000000..100f9ae --- /dev/null +++ b/lib/ui/views/language/language_view.dart @@ -0,0 +1,115 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_small_radio_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'language_viewmodel.dart'; + +class LanguageView extends StackedView { + const LanguageView({Key? key}) : super(key: key); + + @override + LanguageViewModel viewModelBuilder( + BuildContext context, + ) => + LanguageViewModel(); + + @override + Widget builder( + BuildContext context, + LanguageViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(LanguageViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(LanguageViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(LanguageViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(LanguageViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + _buildExpandedBody(viewModel) + ]; + + Widget _buildExpandedBody(LanguageViewModel viewModel) => + Expanded(child: _buildColumnWrapper(viewModel)); + + Widget _buildColumnWrapper(LanguageViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(LanguageViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(LanguageViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildLanguages(viewModel) + ]; + + Widget _buildAppBarWrapper(LanguageViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(LanguageViewModel viewModel) => SmallAppBar( + title: 'Language Preference', + onTap: viewModel.pop, + ); + + Widget _buildTitle() => const Text( + 'Choose your language', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'You can switch languages anytime', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLanguages(LanguageViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.languages.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildLanguage( + title: viewModel.languages[index]['language'], + selected: viewModel + .isSelectedLanguage(viewModel.languages[index]['language']), + onTap: () => + viewModel.setSelectedLanguage(viewModel.languages[index]), + ), + ); + + Widget _buildLanguage( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); +} diff --git a/lib/ui/views/language/language_viewmodel.dart b/lib/ui/views/language/language_viewmodel.dart new file mode 100644 index 0000000..74ff8ad --- /dev/null +++ b/lib/ui/views/language/language_viewmodel.dart @@ -0,0 +1,35 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class LanguageViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Languages + + Map _selectedLanguage = { + 'code': 'EN', + 'language': 'English' + }; + + Map get selectedLanguage => _selectedLanguage; + + final List> _languages = [ + {'code': 'አማ', 'language': 'አማርኛ'}, + {'code': 'EN', 'language': 'English'}, + ]; + + List> get languages => _languages; + + // Languages + void setSelectedLanguage(Map title) { + _selectedLanguage = title; + rebuildUi(); + } + + bool isSelectedLanguage(String title) => + _selectedLanguage['language'] == title; + // Navigation + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/learn/learn_view.dart b/lib/ui/views/learn/learn_view.dart new file mode 100644 index 0000000..a98b2a9 --- /dev/null +++ b/lib/ui/views/learn/learn_view.dart @@ -0,0 +1,84 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/learn_app_bar.dart'; +import 'package:yimaru_app/ui/widgets/learn_level_tile.dart'; + +import '../../common/app_colors.dart'; +import '../../common/enmus.dart'; +import '../../common/ui_helpers.dart'; +import 'learn_viewmodel.dart'; + +class LearnView extends StackedView { + const LearnView({Key? key}) : super(key: key); + + @override + LearnViewModel viewModelBuilder(BuildContext context) => LearnViewModel(); + + @override + Widget builder( + BuildContext context, + LearnViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(LearnViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(LearnViewModel viewModel) => + SafeArea(child: _buildBody(viewModel)); + + Widget _buildBody(LearnViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(LearnViewModel viewModel) => Column( + children: [ + verticalSpaceMedium, + _buildAppBar(), + _buildLevelsColumnWrapper(viewModel) + ], + ); + + Widget _buildAppBar() => const LearnAppBar(); + + Widget _buildLevelsColumnWrapper(LearnViewModel viewModel) => + Expanded(child: _buildLevelsColumnScrollView(viewModel)); + + Widget _buildLevelsColumnScrollView(LearnViewModel viewModel) => + SingleChildScrollView( + child: _buildLevelsColumn(viewModel), + ); + + Widget _buildLevelsColumn(LearnViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildLevelsColumnChildren(viewModel), + ); + + List _buildLevelsColumnChildren(LearnViewModel viewModel) => + [verticalSpaceLarge, _buildListView(viewModel)]; + + Widget _buildListView(LearnViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.learnLevels.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildTile( + title: viewModel.learnLevels[index]['title'], + status: viewModel.learnLevels[index]['status'], + subtitle: viewModel.learnLevels[index]['subtitle']), + ); + + Widget _buildTile( + {required String title, + required String subtitle, + required ProgressStatuses status}) => + LearnLevelTile( + title: title, + status: status, + subtitle: subtitle, + ); +} diff --git a/lib/ui/views/learn/learn_viewmodel.dart b/lib/ui/views/learn/learn_viewmodel.dart new file mode 100644 index 0000000..00b418c --- /dev/null +++ b/lib/ui/views/learn/learn_viewmodel.dart @@ -0,0 +1,33 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; + +import '../../../app/app.locator.dart'; + +class LearnViewModel extends BaseViewModel { + final _navigationService = locator(); + + final List> _learnLevels = [ + { + 'title': 'Beginner', + 'status': ProgressStatuses.completed, + 'subtitle': 'Start your journey with the basics of English.', + }, + { + 'title': 'Intermediate', + 'status': ProgressStatuses.started, + 'subtitle': 'Practice real conversations and expand vocabulary.', + }, + { + 'title': 'Advanced', + 'status': ProgressStatuses.pending, + 'subtitle': 'Achieve fluency and master complex topics.', + }, + ]; + + List> get learnLevels => _learnLevels; + + Future navigateToLearnLevel() async => + _navigationService.navigateToLearnLevelView(); +} diff --git a/lib/ui/views/learn_lesson/learn_lesson_view.dart b/lib/ui/views/learn_lesson/learn_lesson_view.dart new file mode 100644 index 0000000..f67ad22 --- /dev/null +++ b/lib/ui/views/learn_lesson/learn_lesson_view.dart @@ -0,0 +1,136 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; +import 'package:yimaru_app/ui/widgets/learn_lesson_tile.dart'; +import 'package:yimaru_app/ui/widgets/module_progress.dart'; +import 'package:yimaru_app/ui/widgets/motivation_card.dart'; +import 'package:yimaru_app/ui/widgets/overall_module_progress.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'learn_lesson_viewmodel.dart'; + +class LearnLessonView extends StackedView { + const LearnLessonView({Key? key}) : super(key: key); + + @override + LearnLessonViewModel viewModelBuilder( + BuildContext context, + ) => + LearnLessonViewModel(); + + @override + Widget builder( + BuildContext context, + LearnLessonViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(LearnLessonViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(LearnLessonViewModel viewModel) => + SafeArea(child: _buildBody(viewModel)); + + Widget _buildBody(LearnLessonViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(LearnLessonViewModel viewModel) => Column( + children: [ + verticalSpaceMedium, + _buildAppBar(viewModel), + _buildLevelsColumnWrapper(viewModel), + ], + ); + + Widget _buildAppBar(LearnLessonViewModel viewModel) => SmallAppBar( + onTap: viewModel.pop, + ); + + Widget _buildLevelsColumnWrapper(LearnLessonViewModel viewModel) => + Expanded(child: _buildLevelsColumnScrollView(viewModel)); + + Widget _buildLevelsColumnScrollView(LearnLessonViewModel viewModel) => + SingleChildScrollView( + child: _buildLevelsColumn(viewModel), + ); + + Widget _buildLevelsColumn(LearnLessonViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildLevelsColumnChildren(viewModel), + ); + + List _buildLevelsColumnChildren(LearnLessonViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceTiny, + _buildSubtitle(), + verticalSpaceSmall, + _buildModuleProgress(), + verticalSpaceMedium, + _buildContinueButton(), + verticalSpaceMedium, + _buildMotivationCard(), + verticalSpaceMedium, + _buildHeader(), + verticalSpaceMedium, + _buildListView(viewModel), + verticalSpaceMedium + ]; + + Widget _buildTitle() => Text( + 'Module 1: Greetings & Introductions', + style: style16DG600, + ); + + Widget _buildSubtitle() => Text( + 'Learn how to introduce yourself, talk about your surroundings, and start simple conversations.', + style: style14DG400, + ); + + Widget _buildModuleProgress() => const ModuleProgress(); + + Widget _buildContinueButton() => const CustomElevatedButton( + height: 55, + borderRadius: 12, + foregroundColor: kcWhite, + text: 'Continue Lesson 1.3', + backgroundColor: kcPrimaryColor, + ); + + Widget _buildMotivationCard() => const MotivationCard(); + + Widget _buildHeader() => Text( + 'Module 1: Greetings & Introductions', + style: style18DG600, + ); + + Widget _buildListView(LearnLessonViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.lessons.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildTile( + title: viewModel.lessons[index]['title'], + status: viewModel.lessons[index]['status'], + thumbnail: viewModel.lessons[index]['thumbnail']), + ); + + Widget _buildTile({ + required String title, + required String thumbnail, + required ProgressStatuses status, + }) => + LearnLessonTile( + title: title, + status: status, + thumbnail: thumbnail, + ); +} diff --git a/lib/ui/views/learn_lesson/learn_lesson_viewmodel.dart b/lib/ui/views/learn_lesson/learn_lesson_viewmodel.dart new file mode 100644 index 0000000..362ed48 --- /dev/null +++ b/lib/ui/views/learn_lesson/learn_lesson_viewmodel.dart @@ -0,0 +1,36 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; + +import '../../../app/app.locator.dart'; + +class LearnLessonViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Lessons + // Downloads + final List> _lessons = [ + { + 'title': '1.1 Introducing Yourself', + 'status': ProgressStatuses.completed, + 'thumbnail': 'assets/images/image_1.png', + }, + { + 'status': ProgressStatuses.completed, + 'thumbnail': 'assets/images/image_1.png', + 'title': '1.2 Talking About Your Surroundings', + + }, + { + 'status': ProgressStatuses.pending, + 'title': '1.1 Introducing Yourself', + 'thumbnail': 'assets/images/image_1.png', + }, + ]; + + List> get lessons => _lessons; + + + // Navigation + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/learn_level/learn_level_view.dart b/lib/ui/views/learn_level/learn_level_view.dart new file mode 100644 index 0000000..7bcfed6 --- /dev/null +++ b/lib/ui/views/learn_level/learn_level_view.dart @@ -0,0 +1,87 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/learn_sub_level_tile.dart'; +import 'package:yimaru_app/ui/widgets/small_app_bar.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import 'learn_level_viewmodel.dart'; + +class LearnLevelView extends StackedView { + const LearnLevelView({Key? key}) : super(key: key); + + @override + LearnLevelViewModel viewModelBuilder(BuildContext context) => + LearnLevelViewModel(); + + @override + Widget builder( + BuildContext context, + LearnLevelViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(LearnLevelViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(LearnLevelViewModel viewModel) => + SafeArea(child: _buildBody(viewModel)); + + Widget _buildBody(LearnLevelViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(LearnLevelViewModel viewModel) => Column( + children: [ + verticalSpaceMedium, + _buildAppBar(viewModel), + _buildLevelsColumnWrapper(viewModel) + ], + ); + + Widget _buildAppBar(LearnLevelViewModel viewModel) => SmallAppBar( + onTap: viewModel.pop, + ); + + Widget _buildLevelsColumnWrapper(LearnLevelViewModel viewModel) => + Expanded(child: _buildLevelsColumnScrollView(viewModel)); + + Widget _buildLevelsColumnScrollView(LearnLevelViewModel viewModel) => + SingleChildScrollView( + child: _buildLevelsColumn(viewModel), + ); + + Widget _buildLevelsColumn(LearnLevelViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildLevelsColumnChildren(viewModel), + ); + + List _buildLevelsColumnChildren(LearnLevelViewModel viewModel) => + [verticalSpaceLarge, _buildListView(viewModel)]; + + Widget _buildListView(LearnLevelViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.learnSubLevels.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildTile( + title: viewModel.learnSubLevels[index]['title'], + current: viewModel.learnSubLevels[index]['current'], + subtitle: viewModel.learnSubLevels[index]['subtitle']), + ); + + Widget _buildTile({ + required String title, + required bool current, + required String subtitle, + }) => + LearnSubLevelTile( + title: title, + current: current, + subtitle: subtitle, + ); +} diff --git a/lib/ui/views/learn_level/learn_level_viewmodel.dart b/lib/ui/views/learn_level/learn_level_viewmodel.dart new file mode 100644 index 0000000..01141b6 --- /dev/null +++ b/lib/ui/views/learn_level/learn_level_viewmodel.dart @@ -0,0 +1,29 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; + +import '../../../app/app.locator.dart'; + +class LearnLevelViewModel extends BaseViewModel { + final _navigationService = locator(); + + final List> _learnSubLevels = [ + { + 'title': 'A1', + 'current': true, + 'subtitle': 'Start your journey with the basics of English.', + }, + { + 'title': 'A2', + 'current': false, + 'subtitle': 'Build upon your foundational knowledge.', + }, + ]; + + List> get learnSubLevels => _learnSubLevels; + + Future navigateToLearnModule() async => + _navigationService.navigateToLearnModuleView(); + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/learn_module/learn_module_view.dart b/lib/ui/views/learn_module/learn_module_view.dart new file mode 100644 index 0000000..918f09b --- /dev/null +++ b/lib/ui/views/learn_module/learn_module_view.dart @@ -0,0 +1,114 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; +import 'package:yimaru_app/ui/widgets/learn_module_tile.dart'; +import 'package:yimaru_app/ui/widgets/overall_learn_progress.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/small_app_bar.dart'; +import 'learn_module_viewmodel.dart'; + +class LearnModuleView extends StackedView { + const LearnModuleView({Key? key}) : super(key: key); + + @override + LearnModuleViewModel viewModelBuilder(BuildContext context) => + LearnModuleViewModel(); + + @override + Widget builder( + BuildContext context, + LearnModuleViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(LearnModuleViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(LearnModuleViewModel viewModel) => + SafeArea(child: _buildBody(viewModel)); + + Widget _buildBody(LearnModuleViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(LearnModuleViewModel viewModel) => Column( + children: [ + verticalSpaceMedium, + _buildAppBar(viewModel), + _buildLevelsColumnWrapper(viewModel), + ], + ); + + Widget _buildAppBar(LearnModuleViewModel viewModel) => SmallAppBar( + onTap: viewModel.pop, + ); + + Widget _buildLevelsColumnWrapper(LearnModuleViewModel viewModel) => + Expanded(child: _buildLevelsColumnScrollView(viewModel)); + + Widget _buildLevelsColumnScrollView(LearnModuleViewModel viewModel) => + SingleChildScrollView( + child: _buildLevelsColumn(viewModel), + ); + + Widget _buildLevelsColumn(LearnModuleViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildLevelsColumnChildren(viewModel), + ); + + List _buildLevelsColumnChildren(LearnModuleViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + _buildSubTitle(), + verticalSpaceMedium, + _buildOverallProgress(), + verticalSpaceMedium, + _buildListView(viewModel) + ]; + + Widget _buildTitle() => const Text( + 'A1 - Beginner', + style: TextStyle( + fontSize: 18, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Your Current Level', + style: TextStyle( + color: kcDarkGrey, + ), + ); + + Widget _buildOverallProgress() => const OverallLearnProgress(); + + Widget _buildListView(LearnModuleViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.modules.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildTile( + title: viewModel.modules[index]['title'], + status: viewModel.modules[index]['status'], + subtitle: viewModel.modules[index]['subtitle']), + ); + + Widget _buildTile({ + required String title, + required String subtitle, + required ProgressStatuses status, + }) => + LearnModuleTile( + title: title, + status: status, + subtitle: subtitle, + ); +} diff --git a/lib/ui/views/learn_module/learn_module_viewmodel.dart b/lib/ui/views/learn_module/learn_module_viewmodel.dart new file mode 100644 index 0000000..5cadb77 --- /dev/null +++ b/lib/ui/views/learn_module/learn_module_viewmodel.dart @@ -0,0 +1,38 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; +import '../../common/enmus.dart'; + +class LearnModuleViewModel extends BaseViewModel { + final _navigationService = locator(); + + final List> _modules = [ + { + 'status': ProgressStatuses.started, + 'title': 'Module 1: Greetings & Introductions', + 'subtitle': + 'Learn how to introduce yourself, talk about your surroundings, and start simple conversations.', + }, + { + 'status': ProgressStatuses.pending, + 'title': 'Module 2: Everyday Basics', + 'subtitle': 'Learn numbers, colors, and common objects.', + }, + { + 'title': 'Module 3: At the Cafe', + 'status': ProgressStatuses.pending, + 'subtitle': 'Practice ordering food and drinks confidently.', + }, + { + 'progress': 0, + 'status': ProgressStatuses.pending, + 'title': 'Module 4: Asking for Directions', + 'subtitle': 'Learn numbers, colors, and common objects.', + }, + ]; + + List> get modules => _modules; + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/login/login_view.dart b/lib/ui/views/login/login_view.dart new file mode 100644 index 0000000..068a0f4 --- /dev/null +++ b/lib/ui/views/login/login_view.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked/stacked_annotations.dart'; +import 'package:yimaru_app/ui/views/login/screens/login_otp_screen.dart'; +import 'package:yimaru_app/ui/views/login/screens/login_with_email_screen.dart'; +import 'package:yimaru_app/ui/views/login/screens/login_with_phone_number_screen.dart'; + +import '../../common/app_colors.dart'; +import '../../common/validators/form_validator.dart'; +import '../../widgets/large_app_bar.dart'; +import '../../widgets/page_loading_indicator.dart'; +import 'login_viewmodel.dart'; + +import 'login_view.form.dart'; + +@FormView(fields: [ + FormTextField(name: 'otp', validator: FormValidator.validateForm), + FormTextField(name: 'email', validator: FormValidator.validateEmail), + FormTextField(name: 'password', validator: FormValidator.validateForm), + FormTextField(name: 'phoneNumber', validator: FormValidator.validateForm) +]) +class LoginView extends StackedView with $LoginView { + const LoginView({Key? key}) : super(key: key); + + @override + void onViewModelReady(LoginViewModel viewModel) { + syncFormWithViewModel(viewModel); + super.onViewModelReady(viewModel); + } + + @override + LoginViewModel viewModelBuilder(BuildContext context) => LoginViewModel(); + + @override + Widget builder( + BuildContext context, + LoginViewModel viewModel, + Widget? child, + ) => + _buildLoginScreensWrapper(viewModel); + + Widget _buildLoginScreensWrapper(LoginViewModel viewModel) => PopScope( + canPop: true, + onPopInvokedWithResult: (value, data) { + if (!value) return; + WidgetsBinding.instance.addPostFrameCallback((_) => viewModel.goBack()); + }, + child: _buildScaffoldWrapper(viewModel)); + + Widget _buildScaffoldWrapper(LoginViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffoldStack(viewModel), + ); + + Widget _buildScaffoldStack(LoginViewModel viewModel) => + Stack(children: [_buildScaffold(viewModel), _buildBusyLogin(viewModel)]); + + Widget _buildScaffold(LoginViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(LoginViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(LoginViewModel viewModel) => const LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + ); + Widget _buildExpandedBody(LoginViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(LoginViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(LoginViewModel viewModel) => + IndexedStack(index: viewModel.currentIndex, children: _buildScreens()); + + List _buildScreens() => [ + _buildLoginWithEmailScreen(), + _buildLoginWithPhoneScreen(), + _buildLoginOtpScreen() + ]; + + Widget _buildLoginWithEmailScreen() => LoginWithEmailScreen( + emailController: emailController, passwordController: passwordController); + + Widget _buildLoginWithPhoneScreen() => + LoginWithPhoneNumberScreen(phoneNumberController: phoneNumberController); + + Widget _buildLoginOtpScreen() => LoginOtpScreen( + otpController: otpController, + phoneNumberController: phoneNumberController); + + Widget _buildBusyLogin(LoginViewModel viewModel) => + viewModel.isBusy ? const PageLoadingIndicator() : Container(); +} diff --git a/lib/ui/views/login/login_view.form.dart b/lib/ui/views/login/login_view.form.dart new file mode 100644 index 0000000..5a64de2 --- /dev/null +++ b/lib/ui/views/login/login_view.form.dart @@ -0,0 +1,269 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedFormGenerator +// ************************************************************************** + +// ignore_for_file: public_member_api_docs, constant_identifier_names, non_constant_identifier_names,unnecessary_this + +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/validators/form_validator.dart'; + +const bool _autoTextFieldValidation = true; + +const String OtpValueKey = 'otp'; +const String EmailValueKey = 'email'; +const String PasswordValueKey = 'password'; +const String PhoneNumberValueKey = 'phoneNumber'; + +final Map _LoginViewTextEditingControllers = {}; + +final Map _LoginViewFocusNodes = {}; + +final Map _LoginViewTextValidations = { + OtpValueKey: FormValidator.validateForm, + EmailValueKey: FormValidator.validateEmail, + PasswordValueKey: FormValidator.validateForm, + PhoneNumberValueKey: FormValidator.validateForm, +}; + +mixin $LoginView { + TextEditingController get otpController => + _getFormTextEditingController(OtpValueKey); + TextEditingController get emailController => + _getFormTextEditingController(EmailValueKey); + TextEditingController get passwordController => + _getFormTextEditingController(PasswordValueKey); + TextEditingController get phoneNumberController => + _getFormTextEditingController(PhoneNumberValueKey); + + FocusNode get otpFocusNode => _getFormFocusNode(OtpValueKey); + FocusNode get emailFocusNode => _getFormFocusNode(EmailValueKey); + FocusNode get passwordFocusNode => _getFormFocusNode(PasswordValueKey); + FocusNode get phoneNumberFocusNode => _getFormFocusNode(PhoneNumberValueKey); + + TextEditingController _getFormTextEditingController( + String key, { + String? initialValue, + }) { + if (_LoginViewTextEditingControllers.containsKey(key)) { + return _LoginViewTextEditingControllers[key]!; + } + + _LoginViewTextEditingControllers[key] = + TextEditingController(text: initialValue); + return _LoginViewTextEditingControllers[key]!; + } + + FocusNode _getFormFocusNode(String key) { + if (_LoginViewFocusNodes.containsKey(key)) { + return _LoginViewFocusNodes[key]!; + } + _LoginViewFocusNodes[key] = FocusNode(); + return _LoginViewFocusNodes[key]!; + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + void syncFormWithViewModel(FormStateHelper model) { + otpController.addListener(() => _updateFormData(model)); + emailController.addListener(() => _updateFormData(model)); + passwordController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + @Deprecated( + 'Use syncFormWithViewModel instead.' + 'This feature was deprecated after 3.1.0.', + ) + void listenToFormUpdated(FormViewModel model) { + otpController.addListener(() => _updateFormData(model)); + emailController.addListener(() => _updateFormData(model)); + passwordController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Updates the formData on the FormViewModel + void _updateFormData(FormStateHelper model, {bool forceValidate = false}) { + model.setData( + model.formValueMap + ..addAll({ + OtpValueKey: otpController.text, + EmailValueKey: emailController.text, + PasswordValueKey: passwordController.text, + PhoneNumberValueKey: phoneNumberController.text, + }), + ); + + if (_autoTextFieldValidation || forceValidate) { + updateValidationData(model); + } + } + + bool validateFormFields(FormViewModel model) { + _updateFormData(model, forceValidate: true); + return model.isFormValid; + } + + /// Calls dispose on all the generated controllers and focus nodes + void disposeForm() { + // The dispose function for a TextEditingController sets all listeners to null + + for (var controller in _LoginViewTextEditingControllers.values) { + controller.dispose(); + } + for (var focusNode in _LoginViewFocusNodes.values) { + focusNode.dispose(); + } + + _LoginViewTextEditingControllers.clear(); + _LoginViewFocusNodes.clear(); + } +} + +extension ValueProperties on FormStateHelper { + bool get hasAnyValidationMessage => this + .fieldsValidationMessages + .values + .any((validation) => validation != null); + + bool get isFormValid { + if (!_autoTextFieldValidation) this.validateForm(); + + return !hasAnyValidationMessage; + } + + String? get otpValue => this.formValueMap[OtpValueKey] as String?; + String? get emailValue => this.formValueMap[EmailValueKey] as String?; + String? get passwordValue => this.formValueMap[PasswordValueKey] as String?; + String? get phoneNumberValue => + this.formValueMap[PhoneNumberValueKey] as String?; + + set otpValue(String? value) { + this.setData( + this.formValueMap..addAll({OtpValueKey: value}), + ); + + if (_LoginViewTextEditingControllers.containsKey(OtpValueKey)) { + _LoginViewTextEditingControllers[OtpValueKey]?.text = value ?? ''; + } + } + + set emailValue(String? value) { + this.setData( + this.formValueMap..addAll({EmailValueKey: value}), + ); + + if (_LoginViewTextEditingControllers.containsKey(EmailValueKey)) { + _LoginViewTextEditingControllers[EmailValueKey]?.text = value ?? ''; + } + } + + set passwordValue(String? value) { + this.setData( + this.formValueMap..addAll({PasswordValueKey: value}), + ); + + if (_LoginViewTextEditingControllers.containsKey(PasswordValueKey)) { + _LoginViewTextEditingControllers[PasswordValueKey]?.text = value ?? ''; + } + } + + set phoneNumberValue(String? value) { + this.setData( + this.formValueMap..addAll({PhoneNumberValueKey: value}), + ); + + if (_LoginViewTextEditingControllers.containsKey(PhoneNumberValueKey)) { + _LoginViewTextEditingControllers[PhoneNumberValueKey]?.text = value ?? ''; + } + } + + bool get hasOtp => + this.formValueMap.containsKey(OtpValueKey) && + (otpValue?.isNotEmpty ?? false); + bool get hasEmail => + this.formValueMap.containsKey(EmailValueKey) && + (emailValue?.isNotEmpty ?? false); + bool get hasPassword => + this.formValueMap.containsKey(PasswordValueKey) && + (passwordValue?.isNotEmpty ?? false); + bool get hasPhoneNumber => + this.formValueMap.containsKey(PhoneNumberValueKey) && + (phoneNumberValue?.isNotEmpty ?? false); + + bool get hasOtpValidationMessage => + this.fieldsValidationMessages[OtpValueKey]?.isNotEmpty ?? false; + bool get hasEmailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]?.isNotEmpty ?? false; + bool get hasPasswordValidationMessage => + this.fieldsValidationMessages[PasswordValueKey]?.isNotEmpty ?? false; + bool get hasPhoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]?.isNotEmpty ?? false; + + String? get otpValidationMessage => + this.fieldsValidationMessages[OtpValueKey]; + String? get emailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]; + String? get passwordValidationMessage => + this.fieldsValidationMessages[PasswordValueKey]; + String? get phoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]; +} + +extension Methods on FormStateHelper { + setOtpValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[OtpValueKey] = validationMessage; + setEmailValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[EmailValueKey] = validationMessage; + setPasswordValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[PasswordValueKey] = validationMessage; + setPhoneNumberValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[PhoneNumberValueKey] = validationMessage; + + /// Clears text input fields on the Form + void clearForm() { + otpValue = ''; + emailValue = ''; + passwordValue = ''; + phoneNumberValue = ''; + } + + /// Validates text input fields on the Form + void validateForm() { + this.setValidationMessages({ + OtpValueKey: getValidationMessage(OtpValueKey), + EmailValueKey: getValidationMessage(EmailValueKey), + PasswordValueKey: getValidationMessage(PasswordValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + }); + } +} + +/// Returns the validation message for the given key +String? getValidationMessage(String key) { + final validatorForKey = _LoginViewTextValidations[key]; + if (validatorForKey == null) return null; + + String? validationMessageForKey = validatorForKey( + _LoginViewTextEditingControllers[key]!.text, + ); + + return validationMessageForKey; +} + +/// Updates the fieldsValidationMessages on the FormViewModel +void updateValidationData(FormStateHelper model) => + model.setValidationMessages({ + OtpValueKey: getValidationMessage(OtpValueKey), + EmailValueKey: getValidationMessage(EmailValueKey), + PasswordValueKey: getValidationMessage(PasswordValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + }); diff --git a/lib/ui/views/login/login_viewmodel.dart b/lib/ui/views/login/login_viewmodel.dart new file mode 100644 index 0000000..a58582d --- /dev/null +++ b/lib/ui/views/login/login_viewmodel.dart @@ -0,0 +1,161 @@ +import 'package:flutter/cupertino.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/models/user_model.dart'; + +import '../../../services/api_service.dart'; +import '../../../services/authentication_service.dart'; +import '../../common/enmus.dart'; +import '../../common/ui_helpers.dart'; +import '../home/home_view.dart'; + +class LoginViewModel extends FormViewModel { + final _apiService = locator(); + final _navigationService = locator(); + final _authenticationService = locator(); + + // Navigation + int _currentIndex = 0; + + int get currentIndex => _currentIndex; + + // Email + bool _focusEmail = false; + + bool get focusEmail => _focusEmail; + + // Password + bool _focusPassword = false; + + bool get focusPassword => _focusPassword; + + bool _obscurePassword = true; + + bool get obscurePassword => _obscurePassword; + + // Phone number + bool _focusPhoneNumber = false; + + bool get focusPhoneNumber => _focusPhoneNumber; + + // Focus otp + bool _focusOtp = false; + + bool get focusOtp => _focusOtp; + + // Focus node + final FocusNode _focusNode = FocusNode(); + + FocusNode get focusNode => _focusNode; + + // Resend button state + bool _buttonActive = false; + + bool get buttonActive => _buttonActive; + + // User data + final Map _userData = {}; + + Map get userData => _userData; + + // Email + void setEmailFocus() { + _focusEmail = true; + rebuildUi(); + } + + // Password + void setPasswordFocus() { + _focusPassword = true; + rebuildUi(); + } + + void setObscurePassword() { + _obscurePassword = !_obscurePassword; + rebuildUi(); + } + + // Phone number + void setPhoneNumberFocus() { + _focusPhoneNumber = true; + rebuildUi(); + } + + // Otp + void setOtpFocus() { + _focusOtp = true; + rebuildUi(); + } + + // Validate otp + Future validateOtp(String otp) async {} + + void setResendButton() { + _buttonActive = true; + rebuildUi(); + } + + // Add user data + void addUserData(Map data) { + _userData.addAll(data); + } + + void clearUserData() { + _userData.clear(); + } + + // Remote api calls + Future login() async { + Map response = + await runBusyFuture>(_login()); + + if (response['status'] == ResponseStatus.success) { + await replaceWithHome(); + } + } + + Future> _login() async { + Map response = await _apiService.login(_userData); + if (response['status'] == ResponseStatus.success) { + UserModel user = response['data'] as UserModel; + Map data = { + 'userId': user.userId, + 'accessToken': user.accessToken, + 'refreshToken': user.refreshToken + }; + + await _authenticationService.saveUserData(data); + showSuccessToast(response['message']); + } else { + showErrorToast(response['message']); + } + + return response; + } + + // Navigation + void goTo(int page) { + _currentIndex = page; + rebuildUi(); + } + + void goBack() { + if (_currentIndex == 1) { + _currentIndex = 0; + rebuildUi(); + } else if (_currentIndex == 2) { + _currentIndex = 1; + rebuildUi(); + } else { + _navigationService.back(); + } + } + + Future navigateToRegister() async => + await _navigationService.navigateToRegisterView(); + + Future replaceWithHome() async => + await _navigationService.clearStackAndShowView(const HomeView()); +} diff --git a/lib/ui/views/login/screens/login_otp_screen.dart b/lib/ui/views/login/screens/login_otp_screen.dart new file mode 100644 index 0000000..ad80f70 --- /dev/null +++ b/lib/ui/views/login/screens/login_otp_screen.dart @@ -0,0 +1,157 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_timer_countdown/flutter_timer_countdown.dart'; +import 'package:pinput/pinput.dart'; +import 'package:stacked/stacked.dart'; + +import 'package:yimaru_app/ui/widgets/custom_cursor.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../login_viewmodel.dart'; +import '../login_view.form.dart'; + +class LoginOtpScreen extends ViewModelWidget { + final TextEditingController otpController; + final TextEditingController phoneNumberController; + + const LoginOtpScreen( + {super.key, + required this.otpController, + required this.phoneNumberController}); + + @override + Widget build(BuildContext context, LoginViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(LoginViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(LoginViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildColumnScroller(LoginViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(LoginViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(LoginViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceMedium, + _buildSubtitleWrapper(), + verticalSpaceMedium, + _buildPinPutWrapper(viewModel), + if (viewModel.hasOtpValidationMessage && viewModel.focusOtp) + verticalSpaceTiny, + if (viewModel.hasOtpValidationMessage && viewModel.focusOtp) + _buildOtpValidatorWrapper(viewModel), + verticalSpaceSmall, + _buildTimerWrapper(viewModel) + ]; + + Widget _buildTitle() => Text( + 'Verification Code', + style: style25DG600, + ); + + Widget _buildSubtitleWrapper() => + phoneNumberController.text.length == 9 ? _buildSubtitle() : Container(); + + Widget _buildSubtitle() => Text( + 'Code sent to your number +251${phoneNumberController.text.substring(0, 5)}****', + style: style14DG400, + ); + + Widget _buildPinPutWrapper(LoginViewModel viewModel) => Center( + child: _buildPinPut(viewModel), + ); + + Widget _buildPinPut(LoginViewModel viewModel) => Pinput( + controller: otpController, + defaultPinTheme: defaultPin, + cursor: const CustomCursor(), + errorPinTheme: errorPinTheme, + onTap: viewModel.setOtpFocus, + focusNode: viewModel.focusNode, + errorTextStyle: validationStyle, + //smsRetriever: locator(), + focusedPinTheme: focusedThemePin, + submittedPinTheme: submittedThemePin, + hapticFeedbackType: HapticFeedbackType.heavyImpact, + separatorBuilder: (index) => const SizedBox(width: 25), + onCompleted: (otp) async => await viewModel.validateOtp(otp), + ); + + Widget _buildOtpValidatorWrapper(LoginViewModel viewModel) => + viewModel.hasOtpValidationMessage + ? _buildOtpValidator(viewModel) + : Container(); + + Widget _buildOtpValidator(LoginViewModel viewModel) => Text( + viewModel.otpValidationMessage!, + style: style12R700, + ); + + Widget _buildTimerWrapper(LoginViewModel viewModel) => !viewModel.buttonActive + ? _buildTimerSection(viewModel) + : _buildResendButton(); + + Widget _buildResendButton() => + TextButton(onPressed: () {}, child: _buildResendText()); + + Widget _buildResendText() => Text( + 'Resend code', + style: style14P600.copyWith(fontStyle: FontStyle.italic), + ); + + Widget _buildTimerSection(LoginViewModel viewModel) => Row( + children: [ + _buildCountdownText(), + horizontalSpaceSmall, + _buildTimer(viewModel) + ], + ); + + Widget _buildCountdownText() => Text('Resend code in ', style: style14DG400); + + Widget _buildTimer(LoginViewModel viewModel) => TimerCountdown( + enableDescriptions: false, + timeTextStyle: style14P600, + endTime: DateTime.now().add(const Duration(minutes: 3, seconds: 0)), + onEnd: viewModel.setResendButton, + format: CountDownTimerFormat.minutesSeconds, + colonsTextStyle: const TextStyle(color: kcPrimaryColor), + ); + + Widget _buildContinueButtonWrapper(LoginViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(LoginViewModel viewModel) => CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: viewModel.focusOtp && + otpController.text.length == 4 && + !viewModel.hasOtpValidationMessage + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: viewModel.focusOtp && + otpController.text.length == 4 && + !viewModel.hasOtpValidationMessage + ? () => viewModel.replaceWithHome() + : null, + ); +} diff --git a/lib/ui/views/login/screens/login_with_email_screen.dart b/lib/ui/views/login/screens/login_with_email_screen.dart new file mode 100644 index 0000000..e16f87b --- /dev/null +++ b/lib/ui/views/login/screens/login_with_email_screen.dart @@ -0,0 +1,200 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/login/login_view.form.dart'; +import 'package:yimaru_app/ui/widgets/obscure_password.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../../../widgets/option_text_divider.dart'; +import '../../../widgets/register_for_account.dart'; +import '../login_viewmodel.dart'; + +class LoginWithEmailScreen extends ViewModelWidget { + final TextEditingController emailController; + final TextEditingController passwordController; + + const LoginWithEmailScreen( + {super.key, + required this.emailController, + required this.passwordController}); + + Future _login(LoginViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'email': emailController.text, + 'password': passwordController.text, + }; + viewModel.addUserData(data); + + await viewModel.login(); + } + + @override + Widget build(BuildContext context, LoginViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(LoginViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(LoginViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildColumnScroller(LoginViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(LoginViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(LoginViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + _buildSubTitleWrapper(viewModel), + verticalSpaceLarge, + _buildEmailFormField(viewModel), + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + verticalSpaceTiny, + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + _buildEmailValidatorWrapper(viewModel), + verticalSpaceMedium, + _buildPasswordFormField(viewModel), + if (viewModel.hasPasswordValidationMessage && viewModel.focusPassword) + verticalSpaceTiny, + if (viewModel.hasPasswordValidationMessage && viewModel.focusPassword) + _buildPasswordValidationWrapper(viewModel), + _buildForgetPasswordTextButtonWrapper(), + ]; + + Widget _buildTitle() => const Text( + 'Welcome Back', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitleWrapper(LoginViewModel viewModel) => RegisterForAccount( + onTap: () async => await viewModel.navigateToRegister(), + ); + + Widget _buildEmailFormField(LoginViewModel viewModel) => TextFormField( + controller: emailController, + keyboardType: TextInputType.emailAddress, + onTap: viewModel.setEmailFocus, + decoration: inputDecoration( + hint: 'Email', + focus: viewModel.focusEmail, + filled: emailController.text.isNotEmpty), + ); + + Widget _buildEmailValidatorWrapper(LoginViewModel viewModel) => + viewModel.hasEmailValidationMessage + ? _buildEmailValidator(viewModel) + : Container(); + + Widget _buildEmailValidator(LoginViewModel viewModel) => Text( + viewModel.emailValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildPasswordFormField(LoginViewModel viewModel) => TextFormField( + controller: passwordController, + onTap: viewModel.setPasswordFocus, + obscureText: viewModel.obscurePassword, + decoration: inputDecoration( + hint: 'Password', + focus: viewModel.focusPassword, + suffix: _buildObscureButton(viewModel), + filled: passwordController.text.isNotEmpty), + ); + + Widget _buildObscureButton(LoginViewModel viewModel) => ObscurePassword( + focus: viewModel.focusPassword, + obscure: viewModel.obscurePassword, + onTap: viewModel.setObscurePassword, + ); + + Widget _buildPasswordValidationWrapper(LoginViewModel viewModel) => + viewModel.hasPasswordValidationMessage + ? _buildPasswordValidator(viewModel) + : Container(); + + Widget _buildPasswordValidator(LoginViewModel viewModel) => Text( + viewModel.passwordValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildForgetPasswordTextButtonWrapper() => Align( + alignment: Alignment.centerRight, + child: _buildForgetPasswordTextButton(), + ); + + Widget _buildForgetPasswordTextButton() => TextButton( + onPressed: () {}, + child: _buildForgetPasswordText(), + ); + + Widget _buildForgetPasswordText() => const Text( + 'Forget Password?', + style: TextStyle(color: kcPrimaryColor), + ); + + Widget _buildLowerColumn(LoginViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(LoginViewModel viewModel) => [ + _buildContinueButton(viewModel), + _buildOptionTextDivider(), + _buildLoginWithEmailButton(viewModel), + verticalSpaceMedium + ]; + + Widget _buildContinueButton(LoginViewModel viewModel) => CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: emailController.text.isNotEmpty && + passwordController.text.isNotEmpty + ? () async => await _login(viewModel) + : null, + backgroundColor: emailController.text.isNotEmpty && + passwordController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); + + Widget _buildOptionTextDivider() => const OptionTextDivider(); + + Widget _buildLoginWithEmailButton(LoginViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + backgroundColor: kcWhite, + leadingIcon: Icons.phone, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + text: 'Login with Phone Number', + onTap: () => viewModel.goTo(1), + ); +} diff --git a/lib/ui/views/login/screens/login_with_phone_number_screen.dart b/lib/ui/views/login/screens/login_with_phone_number_screen.dart new file mode 100644 index 0000000..e37ea46 --- /dev/null +++ b/lib/ui/views/login/screens/login_with_phone_number_screen.dart @@ -0,0 +1,158 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/login/login_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/option_text_divider.dart'; +import 'package:yimaru_app/ui/widgets/register_for_account.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../../../widgets/phone_number_prefix.dart'; +import '../login_view.form.dart'; + +class LoginWithPhoneNumberScreen extends ViewModelWidget { + final TextEditingController phoneNumberController; + + const LoginWithPhoneNumberScreen( + {super.key, required this.phoneNumberController}); + + @override + Widget build(BuildContext context, LoginViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(LoginViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(LoginViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildColumnScroller(LoginViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(LoginViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(LoginViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + _buildSubTitleWrapper(viewModel), + verticalSpaceMedium, + _buildSubtitle(), + verticalSpaceMedium, + _buildPhoneNumberWrapper(viewModel), + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + verticalSpaceTiny, + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + _buildPhoneNumberValidatorWrapper(viewModel), + ]; + + Widget _buildTitle() => const Text( + 'Welcome Back', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitleWrapper(LoginViewModel viewModel) => RegisterForAccount( + onTap: () async => await viewModel.navigateToRegister(), + ); + + Widget _buildSubtitle() => const Text( + 'Enter your phone number. We will send you a confirmation code there', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildPhoneNumberWrapper(LoginViewModel viewModel) => Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildPhoneNumberChildren(viewModel), + ); + + List _buildPhoneNumberChildren(LoginViewModel viewModel) => [ + _buildPhoneNumberPrefix(viewModel), + horizontalSpaceSmall, + _buildPhoneNumberFormFieldWrapper(viewModel), + ]; + + Widget _buildPhoneNumberPrefix(LoginViewModel viewModel) => + PhoneNumberPrefix(selected: viewModel.focusPhoneNumber); + + Widget _buildPhoneNumberFormFieldWrapper(LoginViewModel viewModel) => + Expanded(child: _buildPhoneNumberFormField(viewModel)); + + Widget _buildPhoneNumberFormField(LoginViewModel viewModel) => TextFormField( + maxLength: 9, + keyboardType: TextInputType.phone, + controller: phoneNumberController, + onTap: viewModel.setPhoneNumberFocus, + decoration: inputDecoration( + focus: viewModel.focusPhoneNumber, + filled: phoneNumberController.text.isNotEmpty), + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + ); + + Widget _buildPhoneNumberValidatorWrapper(LoginViewModel viewModel) => + viewModel.hasPhoneNumberValidationMessage + ? _buildPhoneNumberValidator(viewModel) + : Container(); + + Widget _buildPhoneNumberValidator(LoginViewModel viewModel) => Text( + viewModel.phoneNumberValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildLowerColumn(LoginViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(LoginViewModel viewModel) => [ + _buildContinueButton(viewModel), + _buildOptionTextDivider(), + _buildLoginWitPhoneNumberButton(viewModel), + verticalSpaceMedium + ]; + + Widget _buildOptionTextDivider() => const OptionTextDivider(); + + Widget _buildContinueButton(LoginViewModel viewModel) => CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: phoneNumberController.text.isNotEmpty + ? () => viewModel.goTo(2) + : null, + backgroundColor: phoneNumberController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); + + Widget _buildLoginWitPhoneNumberButton(LoginViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Login with Email', + backgroundColor: kcWhite, + leadingIcon: Icons.email, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + onTap: () => viewModel.goTo(0), + ); +} diff --git a/lib/ui/views/onboarding/onboarding_view.dart b/lib/ui/views/onboarding/onboarding_view.dart new file mode 100644 index 0000000..89a3bff --- /dev/null +++ b/lib/ui/views/onboarding/onboarding_view.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked/stacked_annotations.dart'; + +import 'package:yimaru_app/ui/views/onboarding/screens/age_group_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/birthday_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/challenge_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/country_region_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/educational_background_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/full_name_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/gender_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/language_goal_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/learning_goal_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/occupation_form_screen.dart'; +import 'package:yimaru_app/ui/views/onboarding/screens/topic_form_screen.dart'; + +import '../../common/validators/form_validator.dart'; +import 'onboarding_viewmodel.dart'; +import 'onboarding_view.form.dart'; + +@FormView(fields: [ + FormTextField(name: 'answer', validator: FormValidator.validateForm), + FormTextField(name: 'fullName', validator: FormValidator.validateForm), + FormTextField(name: 'challenge', validator: FormValidator.validateForm), + FormTextField(name: 'occupation', validator: FormValidator.validateForm), + FormTextField(name: 'languageGoal', validator: FormValidator.validateForm), + FormTextField(name: 'topic', validator: FormValidator.validateForm), +]) +class OnboardingView extends StackedView + with $OnboardingView { + const OnboardingView({Key? key}) : super(key: key); + + void _initFormFields() { + answerController.text = 'Book'; + } + + @override + void onViewModelReady(OnboardingViewModel viewModel) { + _initFormFields(); + syncFormWithViewModel(viewModel); + super.onViewModelReady(viewModel); + } + + @override + OnboardingViewModel viewModelBuilder( + BuildContext context, + ) => + OnboardingViewModel(); + + @override + Widget builder( + BuildContext context, + OnboardingViewModel viewModel, + Widget? child, + ) => + _buildOnboardingScreensWrapper(viewModel); + + Widget _buildOnboardingScreensWrapper(OnboardingViewModel viewModel) => + PopScope( + canPop: false, + onPopInvokedWithResult: (value, data) => viewModel.pop(), + child: _buildOnboardingScreens(viewModel)); + + Widget _buildOnboardingScreens(OnboardingViewModel viewModel) => IndexedStack( + index: viewModel.currentPage, + children: _buildScreens(), + ); + + List _buildScreens() => [ + _buildFullNameForm(), + _buildGenderForm(), + _buildBirthdayForm(), + _buildAgeGroupForm(), + _buildEducationalBackgroundForm(), + _buildOccupationForm(), + _buildCountryRegionForm(), + _buildLearningGoalForm(), + _buildLanguageGoalForm(), + _buildChallengeForm(), + _buildTopicForm(), + ]; + + Widget _buildFullNameForm() => + FullNameFormScreen(fullNameController: fullNameController); + + Widget _buildGenderForm() => const GenderFormScreen(); + + Widget _buildBirthdayForm() => const BirthdayFormScreen(); + + Widget _buildAgeGroupForm() => const AgeGroupFormScreen(); + + Widget _buildEducationalBackgroundForm() => + const EducationalBackgroundFormScreen(); + + Widget _buildOccupationForm() => + OccupationFormScreen(occupationController: occupationController); + + Widget _buildCountryRegionForm() => const CountryRegionFormScreen(); + + Widget _buildLearningGoalForm() => const LearningGoalFormScreen(); + + Widget _buildLanguageGoalForm() => + LanguageGoalFormScreen(languageGoalController: languageGoalController); + + Widget _buildChallengeForm() => + ChallengeFormScreen(challengeController: challengeController); + + Widget _buildTopicForm() => TopicFormScreen(topicController: topicController); +} diff --git a/lib/ui/views/onboarding/onboarding_view.form.dart b/lib/ui/views/onboarding/onboarding_view.form.dart new file mode 100644 index 0000000..3cf07c4 --- /dev/null +++ b/lib/ui/views/onboarding/onboarding_view.form.dart @@ -0,0 +1,339 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedFormGenerator +// ************************************************************************** + +// ignore_for_file: public_member_api_docs, constant_identifier_names, non_constant_identifier_names,unnecessary_this + +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/validators/form_validator.dart'; + +const bool _autoTextFieldValidation = true; + +const String AnswerValueKey = 'answer'; +const String FullNameValueKey = 'fullName'; +const String ChallengeValueKey = 'challenge'; +const String OccupationValueKey = 'occupation'; +const String LanguageGoalValueKey = 'languageGoal'; +const String TopicValueKey = 'topic'; + +final Map _OnboardingViewTextEditingControllers = + {}; + +final Map _OnboardingViewFocusNodes = {}; + +final Map _OnboardingViewTextValidations = { + AnswerValueKey: FormValidator.validateForm, + FullNameValueKey: FormValidator.validateForm, + ChallengeValueKey: FormValidator.validateForm, + OccupationValueKey: FormValidator.validateForm, + LanguageGoalValueKey: FormValidator.validateForm, + TopicValueKey: FormValidator.validateForm, +}; + +mixin $OnboardingView { + TextEditingController get answerController => + _getFormTextEditingController(AnswerValueKey); + TextEditingController get fullNameController => + _getFormTextEditingController(FullNameValueKey); + TextEditingController get challengeController => + _getFormTextEditingController(ChallengeValueKey); + TextEditingController get occupationController => + _getFormTextEditingController(OccupationValueKey); + TextEditingController get languageGoalController => + _getFormTextEditingController(LanguageGoalValueKey); + TextEditingController get topicController => + _getFormTextEditingController(TopicValueKey); + + FocusNode get answerFocusNode => _getFormFocusNode(AnswerValueKey); + FocusNode get fullNameFocusNode => _getFormFocusNode(FullNameValueKey); + FocusNode get challengeFocusNode => _getFormFocusNode(ChallengeValueKey); + FocusNode get occupationFocusNode => _getFormFocusNode(OccupationValueKey); + FocusNode get languageGoalFocusNode => + _getFormFocusNode(LanguageGoalValueKey); + FocusNode get topicFocusNode => _getFormFocusNode(TopicValueKey); + + TextEditingController _getFormTextEditingController( + String key, { + String? initialValue, + }) { + if (_OnboardingViewTextEditingControllers.containsKey(key)) { + return _OnboardingViewTextEditingControllers[key]!; + } + + _OnboardingViewTextEditingControllers[key] = + TextEditingController(text: initialValue); + return _OnboardingViewTextEditingControllers[key]!; + } + + FocusNode _getFormFocusNode(String key) { + if (_OnboardingViewFocusNodes.containsKey(key)) { + return _OnboardingViewFocusNodes[key]!; + } + _OnboardingViewFocusNodes[key] = FocusNode(); + return _OnboardingViewFocusNodes[key]!; + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + void syncFormWithViewModel(FormStateHelper model) { + answerController.addListener(() => _updateFormData(model)); + fullNameController.addListener(() => _updateFormData(model)); + challengeController.addListener(() => _updateFormData(model)); + occupationController.addListener(() => _updateFormData(model)); + languageGoalController.addListener(() => _updateFormData(model)); + topicController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + @Deprecated( + 'Use syncFormWithViewModel instead.' + 'This feature was deprecated after 3.1.0.', + ) + void listenToFormUpdated(FormViewModel model) { + answerController.addListener(() => _updateFormData(model)); + fullNameController.addListener(() => _updateFormData(model)); + challengeController.addListener(() => _updateFormData(model)); + occupationController.addListener(() => _updateFormData(model)); + languageGoalController.addListener(() => _updateFormData(model)); + topicController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Updates the formData on the FormViewModel + void _updateFormData(FormStateHelper model, {bool forceValidate = false}) { + model.setData( + model.formValueMap + ..addAll({ + AnswerValueKey: answerController.text, + FullNameValueKey: fullNameController.text, + ChallengeValueKey: challengeController.text, + OccupationValueKey: occupationController.text, + LanguageGoalValueKey: languageGoalController.text, + TopicValueKey: topicController.text, + }), + ); + + if (_autoTextFieldValidation || forceValidate) { + updateValidationData(model); + } + } + + bool validateFormFields(FormViewModel model) { + _updateFormData(model, forceValidate: true); + return model.isFormValid; + } + + /// Calls dispose on all the generated controllers and focus nodes + void disposeForm() { + // The dispose function for a TextEditingController sets all listeners to null + + for (var controller in _OnboardingViewTextEditingControllers.values) { + controller.dispose(); + } + for (var focusNode in _OnboardingViewFocusNodes.values) { + focusNode.dispose(); + } + + _OnboardingViewTextEditingControllers.clear(); + _OnboardingViewFocusNodes.clear(); + } +} + +extension ValueProperties on FormStateHelper { + bool get hasAnyValidationMessage => this + .fieldsValidationMessages + .values + .any((validation) => validation != null); + + bool get isFormValid { + if (!_autoTextFieldValidation) this.validateForm(); + + return !hasAnyValidationMessage; + } + + String? get answerValue => this.formValueMap[AnswerValueKey] as String?; + String? get fullNameValue => this.formValueMap[FullNameValueKey] as String?; + String? get challengeValue => this.formValueMap[ChallengeValueKey] as String?; + String? get occupationValue => + this.formValueMap[OccupationValueKey] as String?; + String? get languageGoalValue => + this.formValueMap[LanguageGoalValueKey] as String?; + String? get topicValue => this.formValueMap[TopicValueKey] as String?; + + set answerValue(String? value) { + this.setData( + this.formValueMap..addAll({AnswerValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey(AnswerValueKey)) { + _OnboardingViewTextEditingControllers[AnswerValueKey]?.text = value ?? ''; + } + } + + set fullNameValue(String? value) { + this.setData( + this.formValueMap..addAll({FullNameValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey(FullNameValueKey)) { + _OnboardingViewTextEditingControllers[FullNameValueKey]?.text = + value ?? ''; + } + } + + set challengeValue(String? value) { + this.setData( + this.formValueMap..addAll({ChallengeValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey(ChallengeValueKey)) { + _OnboardingViewTextEditingControllers[ChallengeValueKey]?.text = + value ?? ''; + } + } + + set occupationValue(String? value) { + this.setData( + this.formValueMap..addAll({OccupationValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey(OccupationValueKey)) { + _OnboardingViewTextEditingControllers[OccupationValueKey]?.text = + value ?? ''; + } + } + + set languageGoalValue(String? value) { + this.setData( + this.formValueMap..addAll({LanguageGoalValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey( + LanguageGoalValueKey)) { + _OnboardingViewTextEditingControllers[LanguageGoalValueKey]?.text = + value ?? ''; + } + } + + set topicValue(String? value) { + this.setData( + this.formValueMap..addAll({TopicValueKey: value}), + ); + + if (_OnboardingViewTextEditingControllers.containsKey(TopicValueKey)) { + _OnboardingViewTextEditingControllers[TopicValueKey]?.text = value ?? ''; + } + } + + bool get hasAnswer => + this.formValueMap.containsKey(AnswerValueKey) && + (answerValue?.isNotEmpty ?? false); + bool get hasFullName => + this.formValueMap.containsKey(FullNameValueKey) && + (fullNameValue?.isNotEmpty ?? false); + bool get hasChallenge => + this.formValueMap.containsKey(ChallengeValueKey) && + (challengeValue?.isNotEmpty ?? false); + bool get hasOccupation => + this.formValueMap.containsKey(OccupationValueKey) && + (occupationValue?.isNotEmpty ?? false); + bool get hasLanguageGoal => + this.formValueMap.containsKey(LanguageGoalValueKey) && + (languageGoalValue?.isNotEmpty ?? false); + bool get hasTopic => + this.formValueMap.containsKey(TopicValueKey) && + (topicValue?.isNotEmpty ?? false); + + bool get hasAnswerValidationMessage => + this.fieldsValidationMessages[AnswerValueKey]?.isNotEmpty ?? false; + bool get hasFullNameValidationMessage => + this.fieldsValidationMessages[FullNameValueKey]?.isNotEmpty ?? false; + bool get hasChallengeValidationMessage => + this.fieldsValidationMessages[ChallengeValueKey]?.isNotEmpty ?? false; + bool get hasOccupationValidationMessage => + this.fieldsValidationMessages[OccupationValueKey]?.isNotEmpty ?? false; + bool get hasLanguageGoalValidationMessage => + this.fieldsValidationMessages[LanguageGoalValueKey]?.isNotEmpty ?? false; + bool get hasTopicValidationMessage => + this.fieldsValidationMessages[TopicValueKey]?.isNotEmpty ?? false; + + String? get answerValidationMessage => + this.fieldsValidationMessages[AnswerValueKey]; + String? get fullNameValidationMessage => + this.fieldsValidationMessages[FullNameValueKey]; + String? get challengeValidationMessage => + this.fieldsValidationMessages[ChallengeValueKey]; + String? get occupationValidationMessage => + this.fieldsValidationMessages[OccupationValueKey]; + String? get languageGoalValidationMessage => + this.fieldsValidationMessages[LanguageGoalValueKey]; + String? get topicValidationMessage => + this.fieldsValidationMessages[TopicValueKey]; +} + +extension Methods on FormStateHelper { + setAnswerValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[AnswerValueKey] = validationMessage; + setFullNameValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[FullNameValueKey] = validationMessage; + setChallengeValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[ChallengeValueKey] = validationMessage; + setOccupationValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[OccupationValueKey] = validationMessage; + setLanguageGoalValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[LanguageGoalValueKey] = validationMessage; + setTopicValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[TopicValueKey] = validationMessage; + + /// Clears text input fields on the Form + void clearForm() { + answerValue = ''; + fullNameValue = ''; + challengeValue = ''; + occupationValue = ''; + languageGoalValue = ''; + topicValue = ''; + } + + /// Validates text input fields on the Form + void validateForm() { + this.setValidationMessages({ + AnswerValueKey: getValidationMessage(AnswerValueKey), + FullNameValueKey: getValidationMessage(FullNameValueKey), + ChallengeValueKey: getValidationMessage(ChallengeValueKey), + OccupationValueKey: getValidationMessage(OccupationValueKey), + LanguageGoalValueKey: getValidationMessage(LanguageGoalValueKey), + TopicValueKey: getValidationMessage(TopicValueKey), + }); + } +} + +/// Returns the validation message for the given key +String? getValidationMessage(String key) { + final validatorForKey = _OnboardingViewTextValidations[key]; + if (validatorForKey == null) return null; + + String? validationMessageForKey = validatorForKey( + _OnboardingViewTextEditingControllers[key]!.text, + ); + + return validationMessageForKey; +} + +/// Updates the fieldsValidationMessages on the FormViewModel +void updateValidationData(FormStateHelper model) => + model.setValidationMessages({ + AnswerValueKey: getValidationMessage(AnswerValueKey), + FullNameValueKey: getValidationMessage(FullNameValueKey), + ChallengeValueKey: getValidationMessage(ChallengeValueKey), + OccupationValueKey: getValidationMessage(OccupationValueKey), + LanguageGoalValueKey: getValidationMessage(LanguageGoalValueKey), + TopicValueKey: getValidationMessage(TopicValueKey), + }); diff --git a/lib/ui/views/onboarding/onboarding_viewmodel.dart b/lib/ui/views/onboarding/onboarding_viewmodel.dart new file mode 100644 index 0000000..4459afb --- /dev/null +++ b/lib/ui/views/onboarding/onboarding_viewmodel.dart @@ -0,0 +1,397 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import '../../../app/app.locator.dart'; +import '../home/home_view.dart'; + +class OnboardingViewModel extends FormViewModel { + final _navigationService = locator(); + + int _currentPage = 0; + + int get currentPage => _currentPage; + + int _previousPage = 0; + + int get previousPage => _previousPage; + + // Full name + bool _focusFullName = false; + + bool get focusFullName => _focusFullName; + + // Educational background + final List _educationalBackgrounds = [ + 'No formal education', + 'Primary school', + 'Secondary /High school', + 'College / Diploma', + 'Bachelor’s and above', + ]; + + List get educationalBackgrounds => _educationalBackgrounds; + + String? _selectedEducationalBackground; + + String? get selectedEducationalBackground => _selectedEducationalBackground; + + // Gender + final List _genders = [ + 'Male', + 'Female', + ]; + + List get genders => _genders; + + String? _selectedGender; + + String? get selectedGender => _selectedGender; + + // Birthday + String? _selectedBirthday; + + String? get selectedBirthday => _selectedBirthday; + + // Age group + final List _ageGroups = [ + '8-14', + '15-18', + '19-26', + '26+', + ]; + + List get ageGroups => _ageGroups; + + String? _selectedAgeGroup; + + String? get selectedAgeGroup => _selectedAgeGroup; + + // Occupation + bool _focusOccupation = false; + + bool get focusOccupation => _focusOccupation; + + // Country + String _selectedCountry = 'Ethiopia'; + + String get selectedCountry => _selectedCountry; + + Future> getCountries() async => ['Ethiopia']; + + // Country + String _selectedRegion = 'Addis Ababa'; + + String get selectedRegion => _selectedRegion; + + Future> getRegions(String country) async => + [ 'Afar', + 'SNNPR', + 'Amhara', + 'Harari', + 'Oromia', + 'Sidama', + 'Somali', + 'Tigray', + 'Gambela', + 'Dire Dawa', + 'Addis Ababa', + 'Central Ethiopia', + 'Benishangul-Gumuz', + 'South West Ethiopia', + + ]; + + // Learning goal + String? _selectedLearningGoal; + + String? get selectedLearningGoal => _selectedLearningGoal; + + final List> _learningGoals = [ + { + 'icon': 0, + 'title': 'Learn to Speak English', + 'subtitle': 'I know some English, but i want to learn to speak it', + }, + { + 'icon': 1, + 'title': 'Practice Speaking English', + 'subtitle': 'I already speak English, but I want more practice.', + }, + { + 'icon': 2, + 'title': 'Skill-based Courses', + 'subtitle': 'I want courses for IELTS, TOEFL, Duolingo, or work.', + }, + ]; + + List> get learningGoals => _learningGoals; + + // Learning reason + bool _showLanguageGoalTextBox = false; + + bool get showLanguageGoalTextBox => _showLanguageGoalTextBox; + + bool _focusLanguageGoal = false; + + bool get focusLanguageGoal => _focusLanguageGoal; + + String? _selectedLanguageGoal; + + String? get selectedLanguageGoal => _selectedLanguageGoal; + + final List _languageGoals = [ + 'Speak confidently at work or school', + 'Travel or handle daily situations', + 'Connect with family or friends', + 'General skills expansion', + 'Other' + ]; + + List get languageGoals => _languageGoals; + + // Challenges + bool _showChallengeTextBox = false; + + bool get showChallengeTextBox => _showChallengeTextBox; + + bool _focusChallenge = false; + + bool get focusChallenge => _focusChallenge; + + String? _selectedChallenge; + + String? get selectedChallenge => _selectedChallenge; + + final List _challenges = [ + 'Pronunciation', + 'Finding words or grammar quickly', + 'Feeling nervous or lacking confidence', + 'Understanding accents or fast speech', + 'Other' + ]; + + List get challenges => _challenges; + + // Topic + bool _showTopicTextBox = false; + + bool get showTopicTextBox => _showTopicTextBox; + + bool _focusTopic = false; + + bool get focusTopic => _focusTopic; + + String? _selectedTopic; + + String? get selectedTopic => _selectedTopic; + + final List _topics = [ + 'Food & Cooking', + ' Hobbies, Sports, Music', + 'Tech, News, Business', + 'Travel, Places, Culture', + 'Other' + ]; + + List get topics => _topics; + + // Languages + final List> _languages = [ + {'code': 'አማ', 'language': 'አማርኛ'}, + {'code': 'EN', 'language': 'English'}, + ]; + + List> get languages => _languages; + + Map _selectedLanguage = { + 'code': 'EN', + 'language': 'English' + }; + + Map get selectedLanguage => _selectedLanguage; + + // User data + final Map _userData = {}; + + Map get userData => _userData; + + // Full name + void setFullNameFocus() { + _focusFullName = true; + rebuildUi(); + } + + // Education background + void setSelectedEducationalBackground(String value) { + _selectedEducationalBackground = value; + rebuildUi(); + } + + bool isSelectedEducationalBackground(String value) => + _selectedEducationalBackground == value; + + // Gender + void setSelectedGender(String gender) { + _selectedGender = gender; + rebuildUi(); + } + + bool isSelectedGender(String value) => _selectedGender == value; + + // Birthday + void setBirthday(String value) { + _selectedBirthday = value; + rebuildUi(); + } + + // Age group + void setSelectedAgeGroup(String value) { + _selectedAgeGroup = value; + rebuildUi(); + } + + bool isSelectedAgeGroup(String value) => _selectedAgeGroup == value; + + // Occupation + void setOccupationFocus() { + _focusOccupation = true; + rebuildUi(); + } + + // Country + void setSelectedCountry(String value) { + _selectedCountry = value; + rebuildUi(); + } + + // Region + void setSelectedRegion(String value) { + _selectedRegion = value; + rebuildUi(); + } + + // Learning goal + void setSelectedLearningGoal(String value) { + _selectedLearningGoal = value; + rebuildUi(); + } + + bool isSelectedLearningGoal(String value) => _selectedLearningGoal == value; + + // Learning reason + void setLanguageGoalFocus() { + _focusLanguageGoal = true; + rebuildUi(); + } + + void setSelectedLanguageGoal(String value) { + _selectedLanguageGoal = value; + if (value.toLowerCase() == 'other') { + _showLanguageGoalTextBox = true; + } else { + if (_showLanguageGoalTextBox) { + _showLanguageGoalTextBox = false; + _focusLanguageGoal = false; + } + } + rebuildUi(); + } + + bool isSelectedLanguageGoal(String value) => _selectedLanguageGoal == value; + + // Challenges + void setChallengesFocus() { + _focusChallenge = true; + rebuildUi(); + } + + void setSelectedChallenge(String value) { + _selectedChallenge = value; + if (value.toLowerCase() == 'other') { + _showChallengeTextBox = true; + } else { + if (_showChallengeTextBox) { + _showChallengeTextBox = false; + _focusChallenge = false; + } + } + rebuildUi(); + } + + bool isSelectedChallenge(String value) => _selectedChallenge == value; + + // Topics + void setTopicsFocus() { + _focusTopic = true; + rebuildUi(); + } + + void setSelectedTopic(String value) { + _selectedTopic = value; + if (value.toLowerCase() == 'other') { + _showTopicTextBox = true; + } else { + if (_showTopicTextBox) { + _showTopicTextBox = false; + _focusTopic = false; + } + } + rebuildUi(); + } + + bool isSelectedTopic(String value) => _selectedTopic == value; + + // Language + void setSelectedLanguage(Map value) { + _selectedLanguage = value; + rebuildUi(); + } + + bool isSelectedLanguage(String value) => + _selectedLanguage['language'] == value; + + // Add user data + void addUserData(Map data) { + _userData.addAll(data); + print('User data : $_userData'); + } + + void clearUserData() { + _userData.clear(); + } + + // Navigation + + Future navigateToLanguage() async => + await _navigationService.navigateToLanguageView(); + + Future navigateToAssessment() async => + await _navigationService.navigateToAssessmentView(data: _userData); + + Future replaceWithHome() async => + await _navigationService.clearStackAndShowView(const HomeView()); + + void next({int? page}) async { + if (page == null) { + if (_previousPage != 0) { + _currentPage = _previousPage; + } else { + _currentPage++; + } + } else { + _previousPage = _currentPage; + _currentPage = page; + } + rebuildUi(); + } + + void pop() { + if (_currentPage == 8) { + _navigationService.back(); + } else { + _currentPage--; + + rebuildUi(); + } + } +} diff --git a/lib/ui/views/onboarding/screens/age_group_form_screen.dart b/lib/ui/views/onboarding/screens/age_group_form_screen.dart new file mode 100644 index 0000000..9957d6f --- /dev/null +++ b/lib/ui/views/onboarding/screens/age_group_form_screen.dart @@ -0,0 +1,136 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class AgeGroupFormScreen extends ViewModelWidget { + const AgeGroupFormScreen({super.key}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = {'age_group': viewModel.selectedAgeGroup}; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildColumnScroller(viewModel)); + + Widget _buildColumnScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildAgeGroups(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'Which age range are you in?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’ll personalize your learning experience based on your age.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildAgeGroups(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.ageGroups.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildAgeGroup( + title: viewModel.ageGroups[index], + selected: viewModel.isSelectedAgeGroup(viewModel.ageGroups[index]), + onTap: () => + viewModel.setSelectedAgeGroup(viewModel.ageGroups[index]), + ), + ); + + Widget _buildAgeGroup( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: viewModel.selectedAgeGroup != null + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: + viewModel.selectedAgeGroup != null ? () => _next(viewModel) : null, + ); +} diff --git a/lib/ui/views/onboarding/screens/birthday_form_screen.dart b/lib/ui/views/onboarding/screens/birthday_form_screen.dart new file mode 100644 index 0000000..d832eb9 --- /dev/null +++ b/lib/ui/views/onboarding/screens/birthday_form_screen.dart @@ -0,0 +1,121 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../../../widgets/birthday_selector.dart'; + +class BirthdayFormScreen extends ViewModelWidget { + const BirthdayFormScreen({super.key}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'birth_day': DateFormat('yyyy-MM-dd') + .parseUTC(viewModel.selectedBirthday ?? DateTime.now().toString()) + .toIso8601String() + }; + viewModel.addUserData(data); + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildBirthdayFormField(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'Pick your birthday?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’ll personalize your learning experience based on your birthday.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildBirthdayFormField(OnboardingViewModel viewModel) => + BirthdaySelector( + birthday: viewModel.selectedBirthday, + onSelected: (value) => + viewModel.setBirthday(DateFormat('yyyy-MM-dd').format(value)), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: viewModel.selectedBirthday != null + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: + viewModel.selectedBirthday != null ? () => _next(viewModel) : null, + ); +} diff --git a/lib/ui/views/onboarding/screens/challenge_form_screen.dart b/lib/ui/views/onboarding/screens/challenge_form_screen.dart new file mode 100644 index 0000000..020a802 --- /dev/null +++ b/lib/ui/views/onboarding/screens/challenge_form_screen.dart @@ -0,0 +1,186 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_view.form.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class ChallengeFormScreen extends ViewModelWidget { + final TextEditingController challengeController; + + const ChallengeFormScreen({super.key, required this.challengeController}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'language_challange': + viewModel.selectedChallenge ?? challengeController.text, + }; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyScroller(viewModel)); + + Widget _buildBodyScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildChallenges(viewModel), + if (viewModel.showChallengeTextBox) _buildChallengeFormField(viewModel), + if (viewModel.showChallengeTextBox && + viewModel.hasChallengeValidationMessage && + viewModel.focusChallenge) + verticalSpaceTiny, + if (viewModel.showChallengeTextBox && + viewModel.hasChallengeValidationMessage && + viewModel.focusChallenge) + _buildChallengeValidatorWrapper(viewModel), + verticalSpaceMedium, + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'What challenge do you face most with English?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Everyone has struggles, let’s start fixing yours 😊', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildChallenges(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + padding: EdgeInsets.zero, + itemCount: viewModel.challenges.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildChallenge( + title: viewModel.challenges[index], + onTap: () => + viewModel.setSelectedChallenge(viewModel.challenges[index]), + selected: viewModel.isSelectedChallenge(viewModel.challenges[index]), + ), + ); + + Widget _buildChallenge( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildChallengeFormField(OnboardingViewModel viewModel) => + TextFormField( + maxLines: 3, + controller: challengeController, + onTap: viewModel.setChallengesFocus, + decoration: inputDecoration( + focus: true, + hint: 'Write your challenge…', + filled: challengeController.text.isNotEmpty), + ); + + Widget _buildChallengeValidatorWrapper(OnboardingViewModel viewModel) => + viewModel.hasChallengeValidationMessage + ? _buildChallengeValidator(viewModel) + : Container(); + + Widget _buildChallengeValidator(OnboardingViewModel viewModel) => Text( + viewModel.challengeValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: viewModel.selectedChallenge != null + ? viewModel.selectedChallenge?.toLowerCase() == 'other' + ? challengeController.text.isNotEmpty + ? () => _next(viewModel) + : null + : () => _next(viewModel) + : null, + backgroundColor: viewModel.selectedChallenge != null + ? viewModel.selectedChallenge?.toLowerCase() == 'other' + ? challengeController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1) + : kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1)); +} diff --git a/lib/ui/views/onboarding/screens/country_region_form_screen.dart b/lib/ui/views/onboarding/screens/country_region_form_screen.dart new file mode 100644 index 0000000..2ab2a50 --- /dev/null +++ b/lib/ui/views/onboarding/screens/country_region_form_screen.dart @@ -0,0 +1,141 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_dropdown.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class CountryRegionFormScreen extends ViewModelWidget { + const CountryRegionFormScreen({super.key}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'country': viewModel.selectedCountry, + 'region': viewModel.selectedRegion + }; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildColumnScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildCountryDropDown(viewModel), + verticalSpaceMedium, + _buildRegionDropDown(viewModel), + verticalSpaceMedium, + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'Where are you from?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Select your country and region from the dropdown', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildCountryDropDown(OnboardingViewModel viewModel) => + CustomDropdownPicker( + hint: 'Select country', + icon: _buildSearchIcon(), + selectedItem: 'Ethiopia', + items: (value, props) => viewModel.getCountries(), + onChanged: (value) => + viewModel.setSelectedCountry(value ?? 'Ethiopia')); + + Widget _buildRegionDropDown(OnboardingViewModel viewModel) => + CustomDropdownPicker( + hint: 'Select region', + icon: _buildSearchIcon(), + selectedItem: 'Addis Ababa', + onChanged: (value) => + viewModel.setSelectedRegion(value ?? 'Addis Ababa'), + items: (value, props) => viewModel.getRegions('Addis Ababa'), + ); + + Icon _buildSearchIcon() => const Icon( + Icons.search, + color: kcPrimaryColor, + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: () => _next(viewModel), + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/onboarding/screens/educational_background_form_screen.dart b/lib/ui/views/onboarding/screens/educational_background_form_screen.dart new file mode 100644 index 0000000..bd9d4dc --- /dev/null +++ b/lib/ui/views/onboarding/screens/educational_background_form_screen.dart @@ -0,0 +1,142 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class EducationalBackgroundFormScreen + extends ViewModelWidget { + const EducationalBackgroundFormScreen({super.key}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'education_level': viewModel.selectedEducationalBackground + }; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildColumnScroller(viewModel)); + + Widget _buildColumnScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildEducationalLevels(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'What’s your current educational level?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'This helps us tailor your lessons to your experience.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildEducationalLevels(OnboardingViewModel viewModel) => + ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: viewModel.educationalBackgrounds.length, + itemBuilder: (context, index) => _buildEducationalLevel( + title: viewModel.educationalBackgrounds[index], + selected: viewModel.isSelectedEducationalBackground( + viewModel.educationalBackgrounds[index]), + onTap: () => viewModel.setSelectedEducationalBackground( + viewModel.educationalBackgrounds[index]), + ), + ); + + Widget _buildEducationalLevel( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: viewModel.selectedEducationalBackground != null + ? () => _next(viewModel) + : null, + backgroundColor: viewModel.selectedEducationalBackground != null + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); +} diff --git a/lib/ui/views/onboarding/screens/full_name_form_screen.dart b/lib/ui/views/onboarding/screens/full_name_form_screen.dart new file mode 100644 index 0000000..0df2e13 --- /dev/null +++ b/lib/ui/views/onboarding/screens/full_name_form_screen.dart @@ -0,0 +1,145 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/helper_functions.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../onboarding_view.form.dart'; + +class FullNameFormScreen extends ViewModelWidget { + final TextEditingController fullNameController; + + const FullNameFormScreen({super.key, required this.fullNameController}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = splitFullName(fullNameController.text); + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildColumnScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceLarge, + _buildFullNameFormField(viewModel), + if (viewModel.hasFullNameValidationMessage && viewModel.focusFullName) + verticalSpaceTiny, + if (viewModel.hasFullNameValidationMessage && viewModel.focusFullName) + _buildFullNameValidatorWrapper(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + showBackButton: false, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'What should we call you? 😊', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’ll use your name to personalize your learning journey.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildFullNameFormField(OnboardingViewModel viewModel) => + TextFormField( + controller: fullNameController, + onTap: viewModel.setFullNameFocus, + decoration: inputDecoration( + hint: 'Enter Your Name', + focus: viewModel.focusFullName, + filled: fullNameController.text.isNotEmpty), + ); + + Widget _buildFullNameValidatorWrapper(OnboardingViewModel viewModel) => + viewModel.hasFullNameValidationMessage + ? _buildFullNameValidator(viewModel) + : Container(); + + Widget _buildFullNameValidator(OnboardingViewModel viewModel) => Text( + viewModel.fullNameValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: + fullNameController.text.isNotEmpty ? () => _next(viewModel) : null, + backgroundColor: fullNameController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); +} diff --git a/lib/ui/views/onboarding/screens/gender_form_screen.dart b/lib/ui/views/onboarding/screens/gender_form_screen.dart new file mode 100644 index 0000000..e292d71 --- /dev/null +++ b/lib/ui/views/onboarding/screens/gender_form_screen.dart @@ -0,0 +1,129 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class GenderFormScreen extends ViewModelWidget { + const GenderFormScreen({super.key}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = {'gender': viewModel.selectedGender}; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildAgeGroups(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'Choose your gender?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’ll personalize your learning experience based on your gender.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildAgeGroups(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.genders.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildAgeGroup( + title: viewModel.genders[index], + selected: viewModel.isSelectedGender(viewModel.genders[index]), + onTap: () => viewModel.setSelectedGender(viewModel.genders[index]), + ), + ); + + Widget _buildAgeGroup( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: viewModel.selectedGender != null + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: viewModel.selectedGender != null ? () => _next(viewModel) : null, + ); +} diff --git a/lib/ui/views/onboarding/screens/language_goal_form_screen.dart b/lib/ui/views/onboarding/screens/language_goal_form_screen.dart new file mode 100644 index 0000000..ae8b086 --- /dev/null +++ b/lib/ui/views/onboarding/screens/language_goal_form_screen.dart @@ -0,0 +1,189 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_view.form.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class LanguageGoalFormScreen extends ViewModelWidget { + final TextEditingController languageGoalController; + + const LanguageGoalFormScreen( + {super.key, required this.languageGoalController}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'language_goal': + viewModel.selectedLanguageGoal ?? languageGoalController.text, + }; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyScroller(viewModel)); + + Widget _buildBodyScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildReasons(viewModel), + if (viewModel.showLanguageGoalTextBox) _buildReasonFormField(viewModel), + if (viewModel.showLanguageGoalTextBox && + viewModel.hasLanguageGoalValidationMessage && + viewModel.focusLanguageGoal) + verticalSpaceTiny, + if (viewModel.showLanguageGoalTextBox && + viewModel.hasLanguageGoalValidationMessage && + viewModel.focusLanguageGoal) + _buildReasonValidatorWrapper(viewModel), + verticalSpaceMedium, + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'What’s your main goal for improving your English?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Your goal helps us tailor your learning journey.', + style: TextStyle( + color: kcMediumGrey, + ), + ); + + Widget _buildReasons(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + padding: EdgeInsets.zero, + itemCount: viewModel.languageGoals.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildLanguageGoal( + title: viewModel.languageGoals[index], + selected: + viewModel.isSelectedLanguageGoal(viewModel.languageGoals[index]), + onTap: () => + viewModel.setSelectedLanguageGoal(viewModel.languageGoals[index]), + ), + ); + + Widget _buildLanguageGoal( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildReasonFormField(OnboardingViewModel viewModel) => TextFormField( + maxLines: 3, + controller: languageGoalController, + onTap: viewModel.setLanguageGoalFocus, + decoration: inputDecoration( + focus: true, + hint: 'Write your goal…', + filled: languageGoalController.text.isNotEmpty), + ); + + Widget _buildReasonValidatorWrapper(OnboardingViewModel viewModel) => + viewModel.hasLanguageGoalValidationMessage + ? _buildReasonValidator(viewModel) + : Container(); + + Widget _buildReasonValidator(OnboardingViewModel viewModel) => Text( + viewModel.languageGoalValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: viewModel.selectedLanguageGoal != null + ? viewModel.selectedLanguageGoal?.toLowerCase() == 'other' + ? languageGoalController.text.isNotEmpty + ? () => _next(viewModel) + : null + : () => _next(viewModel) + : null, + backgroundColor: viewModel.selectedLanguageGoal != null + ? viewModel.selectedLanguageGoal?.toLowerCase() == 'other' + ? languageGoalController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1) + : kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1)); +} diff --git a/lib/ui/views/onboarding/screens/learning_goal_form_screen.dart b/lib/ui/views/onboarding/screens/learning_goal_form_screen.dart new file mode 100644 index 0000000..250614c --- /dev/null +++ b/lib/ui/views/onboarding/screens/learning_goal_form_screen.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:iconsax/iconsax.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_large_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class LearningGoalFormScreen extends ViewModelWidget { + const LearningGoalFormScreen({super.key}); + + IconData getIcon(int icon) { + switch (icon) { + case 0: + return Iconsax.book; + case 1: + return Iconsax.microphone; + case 2: + return Iconsax.bag; + } + return Icons.book; + } + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'learning_goal': viewModel.selectedLearningGoal, + }; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyScroller(viewModel)); + + Widget _buildBodyScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(viewModel), + verticalSpaceMedium, + _buildLearningGoals(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + onPop: viewModel.pop, + showBackButton: true, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle(OnboardingViewModel viewModel) => Text( + 'Hi ${viewModel.userData['first_name']}, Choose your learning goal.', + style: const TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildLearningGoals(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.learningGoals.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildLearningGoal( + title: viewModel.learningGoals[index]['title'], + icon: getIcon(viewModel.learningGoals[index]['icon']), + subtitle: viewModel.learningGoals[index]['subtitle'], + selected: viewModel + .isSelectedLearningGoal(viewModel.learningGoals[index]['title']), + onTap: () => viewModel + .setSelectedLearningGoal(viewModel.learningGoals[index]['title']), + ), + ); + + Widget _buildLearningGoal( + {required String title, + required bool selected, + required IconData icon, + required String subtitle, + required GestureTapCallback onTap}) => + CustomLargeRadioButton( + icon: icon, + title: title, + onTap: onTap, + subtitle: subtitle, + selected: selected, + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: viewModel.selectedLearningGoal != null + ? () => _next(viewModel) + : null, + backgroundColor: viewModel.selectedLearningGoal != null + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); +} diff --git a/lib/ui/views/onboarding/screens/occupation_form_screen.dart b/lib/ui/views/onboarding/screens/occupation_form_screen.dart new file mode 100644 index 0000000..9e1db8a --- /dev/null +++ b/lib/ui/views/onboarding/screens/occupation_form_screen.dart @@ -0,0 +1,148 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +import '../onboarding_view.form.dart'; + +class OccupationFormScreen extends ViewModelWidget { + final TextEditingController occupationController; + + const OccupationFormScreen({super.key, required this.occupationController}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = {'occupation': occupationController.text}; + viewModel.addUserData(data); + + viewModel.next(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildColumnScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceLarge, + _buildOccupationFormField(viewModel), + if (viewModel.hasOccupationValidationMessage && + viewModel.focusOccupation) + verticalSpaceTiny, + if (viewModel.hasOccupationValidationMessage && + viewModel.focusOccupation) + _buildOccupationValidatorWrapper(viewModel) + ]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + showBackButton: true, + onPop: viewModel.pop, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildTitle() => const Text( + 'What’s your occupation?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'We’ll personalize your learning experience based on your occupation.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildOccupationFormField(OnboardingViewModel viewModel) => + TextFormField( + controller: occupationController, + onTap: viewModel.setOccupationFocus, + decoration: inputDecoration( + hint: 'Enter Your Occupation', + focus: viewModel.focusOccupation, + filled: occupationController.text.isNotEmpty), + ); + + Widget _buildOccupationValidatorWrapper(OnboardingViewModel viewModel) => + viewModel.hasOccupationValidationMessage + ? _buildOccupationValidator(viewModel) + : Container(); + + Widget _buildOccupationValidator(OnboardingViewModel viewModel) => Text( + viewModel.occupationValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: occupationController.text.isNotEmpty + ? () => _next(viewModel) + : null, + backgroundColor: occupationController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); +} diff --git a/lib/ui/views/onboarding/screens/topic_form_screen.dart b/lib/ui/views/onboarding/screens/topic_form_screen.dart new file mode 100644 index 0000000..3bc0f43 --- /dev/null +++ b/lib/ui/views/onboarding/screens/topic_form_screen.dart @@ -0,0 +1,183 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_view.form.dart'; +import 'package:yimaru_app/ui/views/onboarding/onboarding_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_small_radio_button.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; + +class TopicFormScreen extends ViewModelWidget { + final TextEditingController topicController; + + const TopicFormScreen({super.key, required this.topicController}); + + Future _next(OnboardingViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'favoutite_topic': viewModel.selectedTopic ?? topicController.text, + }; + viewModel.addUserData(data); + + await viewModel.navigateToAssessment(); + } + + @override + Widget build(BuildContext context, OnboardingViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OnboardingViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(OnboardingViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(OnboardingViewModel viewModel) => LargeAppBar( + showBackButton: true, + onPop: viewModel.pop, + showLanguageSelection: true, + onLanguage: () async => await viewModel.navigateToLanguage(), + ); + + Widget _buildExpandedBody(OnboardingViewModel viewModel) => + Expanded(child: _buildBodyScroller(viewModel)); + + Widget _buildBodyScroller(OnboardingViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyWrapper(viewModel), + ); + + Widget _buildBodyWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(OnboardingViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(OnboardingViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildUpperColumn(OnboardingViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(OnboardingViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceMedium, + _buildTopics(viewModel), + if (viewModel.showTopicTextBox) _buildTopicFormField(viewModel), + if (viewModel.showTopicTextBox && + viewModel.hasTopicValidationMessage && + viewModel.focusTopic) + verticalSpaceTiny, + if (viewModel.showTopicTextBox && + viewModel.hasTopicValidationMessage && + viewModel.focusTopic) + _buildTopicWrapper(viewModel), + verticalSpaceMedium, + ]; + + Widget _buildTitle() => const Text( + 'Which topics interest you most?', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Your favorite topics help us create fun, relatable lessons.', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildTopics(OnboardingViewModel viewModel) => ListView.builder( + shrinkWrap: true, + padding: EdgeInsets.zero, + itemCount: viewModel.topics.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildTopic( + title: viewModel.topics[index], + selected: viewModel.isSelectedTopic(viewModel.topics[index]), + onTap: () => viewModel.setSelectedTopic(viewModel.topics[index]), + ), + ); + + Widget _buildTopic( + {required String title, + required bool selected, + required GestureTapCallback onTap}) => + CustomSmallRadioButton( + title: title, + onTap: onTap, + selected: selected, + ); + + Widget _buildTopicFormField(OnboardingViewModel viewModel) => TextFormField( + maxLines: 3, + controller: topicController, + onTap: viewModel.setTopicsFocus, + decoration: inputDecoration( + focus: true, + hint: 'Write you interest…', + filled: topicController.text.isNotEmpty), + ); + + Widget _buildTopicWrapper(OnboardingViewModel viewModel) => + viewModel.hasTopicValidationMessage + ? _buildTopicValidator(viewModel) + : Container(); + + Widget _buildTopicValidator(OnboardingViewModel viewModel) => Text( + viewModel.topicValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildContinueButtonWrapper(OnboardingViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(OnboardingViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: viewModel.selectedTopic != null + ? viewModel.selectedTopic?.toLowerCase() == 'other' + ? topicController.text.isNotEmpty + ? () async => await _next(viewModel) + : null + : () async => await _next(viewModel) + : null, + backgroundColor: viewModel.selectedTopic != null + ? viewModel.selectedTopic?.toLowerCase() == 'other' + ? topicController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1) + : kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1)); +} diff --git a/lib/ui/views/ongoing_progress/ongoing_progress_view.dart b/lib/ui/views/ongoing_progress/ongoing_progress_view.dart new file mode 100644 index 0000000..4cd3fc3 --- /dev/null +++ b/lib/ui/views/ongoing_progress/ongoing_progress_view.dart @@ -0,0 +1,97 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/course_progress_section.dart'; +import 'package:yimaru_app/ui/widgets/learning_progress_card.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/small_app_bar.dart'; +import 'ongoing_progress_viewmodel.dart'; + +class OngoingProgressView extends StackedView { + const OngoingProgressView({Key? key}) : super(key: key); + + @override + OngoingProgressViewModel viewModelBuilder( + BuildContext context, + ) => + OngoingProgressViewModel(); + + @override + Widget builder( + BuildContext context, + OngoingProgressViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(OngoingProgressViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(OngoingProgressViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(OngoingProgressViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(OngoingProgressViewModel viewModel) => + _buildNestedScrollView(viewModel); + + Widget _buildNestedScrollView(OngoingProgressViewModel viewModel) => + NestedScrollView( + scrollDirection: Axis.vertical, + headerSliverBuilder: + (BuildContext context, bool innerBoxIsScrolled) => + [_buildSliverAppbarWrapper(viewModel)], + body: _buildContentScrollViewWrapper(viewModel)); + + Widget _buildSliverAppbarWrapper(OngoingProgressViewModel viewModel) => + SliverAppBar( + pinned: true, + automaticallyImplyLeading: false, + backgroundColor: kcBackgroundColor, + surfaceTintColor: kcBackgroundColor, + title: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(OngoingProgressViewModel viewModel) => SmallAppBar( + title: 'My Progress', + onTap: viewModel.pop, + ); + + Widget _buildContentScrollViewWrapper(OngoingProgressViewModel viewModel) => + SingleChildScrollView( + child: _buildContentWrapper(viewModel), + ); + + Widget _buildContentWrapper(OngoingProgressViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildContentColumn(viewModel), + ); + + Widget _buildContentColumn(OngoingProgressViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildContentChildren(viewModel), + ); + + List _buildContentChildren(OngoingProgressViewModel viewModel) => [ + verticalSpaceMedium, + _buildText(), + verticalSpaceMedium, + _buildLearningProgressCard(), + verticalSpaceMedium, + _buildCourseProgressSection() + ]; + + Widget _buildText() => const Text( + 'Track your learning journey and see your growth over time.', + style: TextStyle(color: kcDarkGrey), + ); + + Widget _buildLearningProgressCard() => const LearningProgressCard(); + + Widget _buildCourseProgressSection() => const CourseProgressSection(); +} diff --git a/lib/ui/views/ongoing_progress/ongoing_progress_viewmodel.dart b/lib/ui/views/ongoing_progress/ongoing_progress_viewmodel.dart new file mode 100644 index 0000000..0c3c308 --- /dev/null +++ b/lib/ui/views/ongoing_progress/ongoing_progress_viewmodel.dart @@ -0,0 +1,21 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class OngoingProgressViewModel extends BaseViewModel { + final _navigationService = locator(); + + final List> _courses = [ + { + 'title': 'IELTS Preparation', + }, + { + 'title': 'Duolingo English Test', + }, + ]; + + List> get courses => _courses; + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/privacy_policy/privacy_policy_view.dart b/lib/ui/views/privacy_policy/privacy_policy_view.dart new file mode 100644 index 0000000..f4a04f5 --- /dev/null +++ b/lib/ui/views/privacy_policy/privacy_policy_view.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/privacy_policy_tile.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/small_app_bar.dart'; +import 'privacy_policy_viewmodel.dart'; + +class PrivacyPolicyView extends StackedView { + const PrivacyPolicyView({Key? key}) : super(key: key); + + @override + PrivacyPolicyViewModel viewModelBuilder(BuildContext context) => + PrivacyPolicyViewModel(); + + @override + Widget builder( + BuildContext context, + PrivacyPolicyViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(PrivacyPolicyViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(PrivacyPolicyViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(PrivacyPolicyViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(PrivacyPolicyViewModel viewModel) => + _buildColumn(viewModel); + + Widget _buildColumn(PrivacyPolicyViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(PrivacyPolicyViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + verticalSpaceSmall, + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppBarWrapper(PrivacyPolicyViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(PrivacyPolicyViewModel viewModel) => SmallAppBar( + title: 'Privacy Policy', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(PrivacyPolicyViewModel viewModel) => + Expanded(child: _buildContentColumnWrapper(viewModel)); + + Widget _buildContentColumnWrapper(PrivacyPolicyViewModel viewModel) => + Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildMenuColumnScrollView(viewModel), + ); + + Widget _buildMenuColumnScrollView(PrivacyPolicyViewModel viewModel) => + SingleChildScrollView( + child: _buildMenuColumn(viewModel), + ); + + Widget _buildMenuColumn(PrivacyPolicyViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildMenuColumnChildren(viewModel), + ); + + List _buildMenuColumnChildren(PrivacyPolicyViewModel viewModel) => + [verticalSpaceLarge, _buildListView(viewModel)]; + + Widget _buildListView(PrivacyPolicyViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.privacyPolicies.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => + _buildTile(viewModel.privacyPolicies[index]['title']), + ); + + Widget _buildTile(String title) => PrivacyPolicyTile(title: title); +} diff --git a/lib/ui/views/privacy_policy/privacy_policy_viewmodel.dart b/lib/ui/views/privacy_policy/privacy_policy_viewmodel.dart new file mode 100644 index 0000000..11c56a6 --- /dev/null +++ b/lib/ui/views/privacy_policy/privacy_policy_viewmodel.dart @@ -0,0 +1,23 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class PrivacyPolicyViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Privacy policy + final List> _privacyPolicies = [ + {'title': 'Introduction'}, + {'title': 'Information We Collect'}, + {'title': 'How We Use Your Information'}, + {'title': 'Data Sharing and Disclosure'}, + {'title': 'Your Rights and Choices'}, + {'title': 'Data Security'} + ]; + + List> get privacyPolicies => _privacyPolicies; + + // Navigation + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/profile/profile_view.dart b/lib/ui/views/profile/profile_view.dart new file mode 100644 index 0000000..fc79f97 --- /dev/null +++ b/lib/ui/views/profile/profile_view.dart @@ -0,0 +1,147 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/profile_card.dart'; +import 'package:yimaru_app/ui/widgets/profile_image.dart'; +import 'package:yimaru_app/ui/widgets/view_profile_button.dart'; + +import '../../widgets/custom_elevated_button.dart'; +import 'profile_viewmodel.dart'; + +class ProfileView extends StackedView { + const ProfileView({Key? key}) : super(key: key); + + @override + ProfileViewModel viewModelBuilder( + BuildContext context, + ) => + ProfileViewModel(); + + @override + Widget builder( + BuildContext context, + ProfileViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(ProfileViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(ProfileViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(ProfileViewModel viewModel) => SingleChildScrollView( + child: _buildBody(viewModel), + ); + + Widget _buildBody(ProfileViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(ProfileViewModel viewModel) => Column( + children: [ + verticalSpaceMedium, + _buildNotificationIconWrapper(), + _buildProfileSection(), + verticalSpaceSmall, + _buildViewProfileButton(viewModel), + verticalSpaceLarge, + _buildSettingsSection(viewModel), + verticalSpaceLarge, + _buildLogOutButton(viewModel), + verticalSpaceLarge, + ], + ); + + Widget _buildNotificationIconWrapper() => + Align(alignment: Alignment.bottomRight, child: _buildNotificationIcon()); + + Widget _buildNotificationIcon() => const Icon( + Icons.notifications_none, + color: kcDarkGrey, + ); + + Widget _buildProfileSection() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildProfileSectionChildren(), + ); + + List _buildProfileSectionChildren() => [ + _buildProfileImage(), + verticalSpaceSmall, + _buildProfileName(), + ]; + + Widget _buildProfileImage() => const ProfileImage(); + + Widget _buildProfileName() => const Text( + 'Hi, Bisrat 👋', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildViewProfileButton(ProfileViewModel viewModel) => + ViewProfileButton( + onTap: () async => await viewModel.navigateToProfileDetail(), + ); + + Widget _buildSettingsSection(ProfileViewModel viewModel) => GridView( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, mainAxisSpacing: 15, crossAxisSpacing: 15), + children: _buildSettingsChildren(viewModel)); + + List _buildSettingsChildren(ProfileViewModel viewModel) => [ + _buildDownloadsCard(viewModel), + _buildProgressCard(viewModel), + _buildAccountCard(viewModel), + _buildSupportCard(viewModel) + ]; + + Widget _buildDownloadsCard(ProfileViewModel viewModel) => ProfileCard( + icon: Icons.download, + title: 'My Downloads', + subTitle: 'Access offline lessons and saved videos', + onTap: () async => await viewModel.navigateToDownloads(), + ); + + Widget _buildProgressCard(ProfileViewModel viewModel) => ProfileCard( + title: 'My Progress', + icon: Icons.stacked_bar_chart, + subTitle: 'Track your achievements and learning streak', + onTap: () async => await viewModel.navigateToProgress(), + ); + + Widget _buildAccountCard(ProfileViewModel viewModel) => ProfileCard( + title: 'Account & Privacy', + icon: Icons.privacy_tip_outlined, + subTitle: 'Manage setting and app preference', + onTap: () async => await viewModel.navigateToAccountPrivacy(), + ); + + Widget _buildSupportCard(ProfileViewModel viewModel) => ProfileCard( + title: 'Support', + icon: Icons.headphones, + subTitle: 'Get help through phone or Telegram', + onTap: () async => await viewModel.navigateToSupport(), + ); + + Widget _buildLogOutButton(ProfileViewModel viewModel) => CustomElevatedButton( + height: 55, + text: 'Log Out', + borderRadius: 12, + foregroundColor: kcRed, + onTap: () async => await viewModel.logOut(), + backgroundColor: kcRed.withOpacity(0.25), + ); +} diff --git a/lib/ui/views/profile/profile_viewmodel.dart b/lib/ui/views/profile/profile_viewmodel.dart new file mode 100644 index 0000000..ec35e68 --- /dev/null +++ b/lib/ui/views/profile/profile_viewmodel.dart @@ -0,0 +1,32 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; + +import '../../../app/app.locator.dart'; +import '../../../services/authentication_service.dart'; + +class ProfileViewModel extends BaseViewModel { + final _navigationService = locator(); + + final _authenticationService = locator(); + + Future logOut() async { + await _authenticationService.logOut(); + await _navigationService.replaceWithLoginView(); + } + + Future navigateToProfileDetail() async => + await _navigationService.navigateToProfileDetailView(); + + Future navigateToDownloads() async => + await _navigationService.navigateToDownloadsView(); + + Future navigateToProgress() async => + await _navigationService.navigateToProgressView(); + + Future navigateToAccountPrivacy() async => + await _navigationService.navigateToAccountPrivacyView(); + + Future navigateToSupport() async => + await _navigationService.navigateToSupportView(); +} diff --git a/lib/ui/views/profile_detail/profile_detail_view.dart b/lib/ui/views/profile_detail/profile_detail_view.dart new file mode 100644 index 0000000..9fe7573 --- /dev/null +++ b/lib/ui/views/profile_detail/profile_detail_view.dart @@ -0,0 +1,575 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:intl/intl.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked/stacked_annotations.dart'; +import 'package:yimaru_app/ui/widgets/birthday_selector.dart'; +import 'package:yimaru_app/ui/widgets/custom_form_label.dart'; +import 'package:yimaru_app/ui/widgets/small_app_bar.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../common/validators/form_validator.dart'; +import '../../widgets/custom_dropdown.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/profile_image.dart'; +import 'profile_detail_viewmodel.dart'; + +import 'profile_detail_view.form.dart'; + +@FormView(fields: [ + FormTextField(name: 'email', validator: FormValidator.validateForm), + FormTextField( + name: 'phoneNumber', validator: FormValidator.validatePhoneNumber), + FormTextField(name: 'lastName', validator: FormValidator.validateForm), + FormTextField(name: 'firstName', validator: FormValidator.validateForm), +]) +class ProfileDetailView extends StackedView + with $ProfileDetailView { + const ProfileDetailView({Key? key}) : super(key: key); + + void _onModelReady() { + firstNameController.text = 'Abel'; + lastNameController.text = 'Abebe'; + phoneNumberController.text = '251900000000'; + emailController.text = 'email@test.com'; + } + + @override + void onViewModelReady(ProfileDetailViewModel viewModel) { + _onModelReady(); + syncFormWithViewModel(viewModel); + super.onViewModelReady(viewModel); + } + + @override + ProfileDetailViewModel viewModelBuilder(BuildContext context) => + ProfileDetailViewModel(); + + @override + Widget builder( + BuildContext context, + ProfileDetailViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(ProfileDetailViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(ProfileDetailViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(ProfileDetailViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(ProfileDetailViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(ProfileDetailViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppbar(viewModel), + verticalSpaceSmall, + _buildColumnWrapper(viewModel) + ]; + + Widget _buildAppbar(ProfileDetailViewModel viewModel) => SmallAppBar( + title: 'Edit Profile', + onTap: viewModel.pop, + ); + + Widget _buildColumnWrapper(ProfileDetailViewModel viewModel) => + Expanded(child: _buildBodyColumn(viewModel)); + + Widget _buildBodyColumn(ProfileDetailViewModel viewModel) => + SingleChildScrollView( + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(ProfileDetailViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(ProfileDetailViewModel viewModel) => [ + verticalSpaceMedium, + _buildProfileImage(), + verticalSpaceMedium, + _buildNameFormSection(viewModel), + verticalSpaceMedium, + _buildGenderFormFieldWrapper(viewModel), + verticalSpaceSmall, + _buildBirthdayColumn(viewModel), + verticalSpaceSmall, + _buildPhoneNumberFormFieldSection(viewModel), + verticalSpaceTiny, + _buildEmailFormFieldSection(viewModel), + verticalSpaceMedium, + _buildCountryRegionSection(viewModel), + verticalSpaceMedium, + _buildOccupationDropdownWrapper(viewModel), + verticalSpaceLarge, + _buildLowerColumn(viewModel) + ]; + + Widget _buildProfileImage() => + const Align(alignment: Alignment.center, child: ProfileImage()); + + Widget _buildNameFormSection(ProfileDetailViewModel viewModel) => Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildNameFormChildren(viewModel), + ); + + List _buildNameFormChildren(ProfileDetailViewModel viewModel) => [ + _buildFirstNameFormFieldWrapper(viewModel), + const SizedBox(width: 20), + _buildLastNameFormFieldWrapper(viewModel) + ]; + + Widget _buildFirstNameFormFieldWrapper(ProfileDetailViewModel viewModel) => + Expanded(child: _buildFirstNameFormFieldColumn(viewModel)); + + Widget _buildFirstNameFormFieldColumn(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: _buildFirstNameFormFieldChildren(viewModel), + ); + + List _buildFirstNameFormFieldChildren( + ProfileDetailViewModel viewModel) => + [ + _buildFirstNameLabel(), + verticalSpaceSmall, + _buildFirstNameFormField(viewModel), + if (viewModel.hasFirstNameValidationMessage && viewModel.focusFirstName) + verticalSpaceTiny, + if (viewModel.hasFirstNameValidationMessage && viewModel.focusFirstName) + _buildFirstNameValidatorWrapper(viewModel) + ]; + + Widget _buildFirstNameLabel() => CustomFormLabel( + label: 'First Name', + style: style16DG600, + ); + + Widget _buildFirstNameFormField(ProfileDetailViewModel viewModel) => + TextFormField( + controller: firstNameController, + onTap: viewModel.setFirstNameFocus, + decoration: inputDecoration( + focus: viewModel.focusFirstName, + filled: firstNameController.text.isNotEmpty), + ); + + Widget _buildFirstNameValidatorWrapper(ProfileDetailViewModel viewModel) => + viewModel.hasFirstNameValidationMessage + ? _buildFirstNameValidator(viewModel) + : Container(); + + Widget _buildFirstNameValidator(ProfileDetailViewModel viewModel) => Text( + viewModel.firstNameValidationMessage!, + style: validationStyle, + ); + + Widget _buildLastNameFormFieldWrapper(ProfileDetailViewModel viewModel) => + Expanded(child: _buildLastNameFormFieldColumn(viewModel)); + + Widget _buildLastNameFormFieldColumn(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildLastNameFormFieldChildren(viewModel), + ); + + List _buildLastNameFormFieldChildren( + ProfileDetailViewModel viewModel) => + [ + _buildLastNameLabel(), + verticalSpaceSmall, + _buildLastNameFormField(viewModel), + if (viewModel.hasLastNameValidationMessage && viewModel.focusLastName) + verticalSpaceTiny, + if (viewModel.hasLastNameValidationMessage && viewModel.focusLastName) + _buildLastNameValidatorWrapper(viewModel) + ]; + + Widget _buildLastNameLabel() => CustomFormLabel( + label: 'Last Name', + style: style16DG600, + ); + + Widget _buildLastNameFormField(ProfileDetailViewModel viewModel) => + TextFormField( + controller: lastNameController, + onTap: viewModel.setLastNameFocus, + decoration: inputDecoration( + focus: viewModel.focusLastName, + filled: lastNameController.text.isNotEmpty), + ); + + Widget _buildLastNameValidatorWrapper(ProfileDetailViewModel viewModel) => + viewModel.hasLastNameValidationMessage + ? _buildLastNameValidator(viewModel) + : Container(); + + Widget _buildLastNameValidator(ProfileDetailViewModel viewModel) => Text( + viewModel.lastNameValidationMessage!, + style: validationStyle, + ); + + Widget _buildGenderFormFieldWrapper(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildGenderFormFieldChildren(viewModel), + ); + + List _buildGenderFormFieldChildren( + ProfileDetailViewModel viewModel) => + [ + _buildGenderLabel(), + verticalSpaceTiny, + _buildRadioButtonWrapper(viewModel), + ]; + + Widget _buildGenderLabel() => CustomFormLabel( + label: 'Gender', + style: style16DG600, + ); + + Widget _buildRadioButtonWrapper(ProfileDetailViewModel viewModel) => Row( + mainAxisSize: MainAxisSize.min, + children: _buildRadioButtonChildren(viewModel), + ); + + List _buildRadioButtonChildren(ProfileDetailViewModel viewModel) => + [_buildMaleRadioButton(viewModel), _buildFemaleRadioButton(viewModel)]; + + Widget _buildMaleRadioButton(ProfileDetailViewModel viewModel) => + RadioGroup( + groupValue: viewModel.selectedGender, + onChanged: (value) => viewModel.setGender(value ?? ''), + child: _buildMaleRadioTileWrapper(viewModel)); + + Widget _buildMaleRadioTileWrapper(ProfileDetailViewModel viewModel) => + Container( + width: 125, + alignment: Alignment.centerLeft, + child: _buildMaleRadioTile(viewModel)); + + Widget _buildMaleRadioTile(ProfileDetailViewModel viewModel) => + RadioListTile( + value: 'Male', + title: _buildMaleTitle(), + activeColor: kcPrimaryColor, + contentPadding: EdgeInsets.zero, + ); + + Widget _buildMaleTitle() => const Text( + 'Male', + style: TextStyle( + fontSize: 14, + color: kcDarkGrey, + fontWeight: FontWeight.w500, + ), + ); + + Widget _buildFemaleRadioButton(ProfileDetailViewModel viewModel) => + RadioGroup( + groupValue: viewModel.selectedGender, + onChanged: (value) => viewModel.setGender(value ?? ''), + child: _buildFemaleRadioTileWrapper(viewModel)); + + Widget _buildFemaleRadioTileWrapper(ProfileDetailViewModel viewModel) => + Container( + width: 125, + alignment: Alignment.centerLeft, + child: _buildFemaleRadioTile(viewModel), + ); + + Widget _buildFemaleRadioTile(ProfileDetailViewModel viewModel) => + RadioListTile( + value: 'Female', + title: _buildFemaleTitle(), + activeColor: kcPrimaryColor, + contentPadding: EdgeInsets.zero, + ); + + Widget _buildFemaleTitle() => const Text( + 'Female', + style: TextStyle( + fontSize: 14, + color: kcDarkGrey, + fontWeight: FontWeight.w500, + ), + ); + + Widget _buildBirthdayColumn(ProfileDetailViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBirthdayChildren(viewModel), + ); + + List _buildBirthdayChildren(ProfileDetailViewModel viewModel) => [ + _buildBirthdayLabel(), + verticalSpaceSmall, + _buildBirthdayFormField(viewModel), + ]; + + Widget _buildBirthdayLabel() => CustomFormLabel( + label: 'Birthday', + style: style16DG600, + ); + + Widget _buildBirthdayFormField(ProfileDetailViewModel viewModel) => + BirthdaySelector( + birthday: viewModel.selectedBirthday, + onSelected: (value) => + viewModel.setBirthday(DateFormat('d MMM, yyyy').format(value)), + ); + + Widget _buildPhoneNumberFormFieldSection(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildPhoneNumberFormFieldChildren(viewModel), + ); + + List _buildPhoneNumberFormFieldChildren( + ProfileDetailViewModel viewModel) => + [ + _buildPhoneNumberLabel(), + verticalSpaceSmall, + _buildPhoneNumberFormField(viewModel), + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + verticalSpaceTiny, + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + _buildPhoneNumberValidatorWrapper(viewModel) + ]; + + Widget _buildPhoneNumberLabel() => CustomFormLabel( + label: 'Phone Number', + style: style16DG600, + ); + + Widget _buildPhoneNumberFormField(ProfileDetailViewModel viewModel) => + TextFormField( + maxLength: 12, + keyboardType: TextInputType.phone, + controller: phoneNumberController, + onTap: viewModel.setPhoneNumberFocus, + decoration: inputDecoration( + hint: '251', + focus: viewModel.focusPhoneNumber, + filled: phoneNumberController.text.isNotEmpty), + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + ); + + Widget _buildPhoneNumberValidatorWrapper(ProfileDetailViewModel viewModel) => + viewModel.hasPhoneNumberValidationMessage + ? _buildPhoneNumberValidator(viewModel) + : Container(); + + Widget _buildPhoneNumberValidator(ProfileDetailViewModel viewModel) => Text( + viewModel.phoneNumberValidationMessage!, + style: validationStyle, + ); + + Widget _buildEmailFormFieldSection(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildEmailFormFieldChildren(viewModel), + ); + + List _buildEmailFormFieldChildren(ProfileDetailViewModel viewModel) => + [ + _buildEmailLabel(), + verticalSpaceSmall, + _buildEmailFormField(viewModel), + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + verticalSpaceTiny, + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + _buildEmailValidatorWrapper(viewModel) + ]; + + Widget _buildEmailLabel() => CustomFormLabel( + label: 'Email', + style: style16DG600, + ); + + Widget _buildEmailFormField(ProfileDetailViewModel viewModel) => + TextFormField( + controller: emailController, + onTap: viewModel.setPhoneNumberFocus, + keyboardType: TextInputType.emailAddress, + decoration: inputDecoration( + focus: viewModel.focusEmail, + filled: emailController.text.isNotEmpty), + ); + + Widget _buildEmailValidatorWrapper(ProfileDetailViewModel viewModel) => + viewModel.hasEmailValidationMessage + ? _buildEmailValidator(viewModel) + : Container(); + + Widget _buildEmailValidator(ProfileDetailViewModel viewModel) => Text( + viewModel.emailValidationMessage!, + style: validationStyle, + ); + + Widget _buildCountryRegionSection(ProfileDetailViewModel viewModel) => Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildCountryRegionChildren(viewModel), + ); + + List _buildCountryRegionChildren(ProfileDetailViewModel viewModel) => + [ + _buildCountryDropdownColumnWrapper(viewModel), + const SizedBox(width: 20), + _buildRegionDropdownColumnWrapper(viewModel) + ]; + + Widget _buildCountryDropdownColumnWrapper(ProfileDetailViewModel viewModel) => + Expanded( + child: _buildCountryDropdownColumn(viewModel), + ); + + Widget _buildCountryDropdownColumn(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: _buildCountryDropdownChildren(viewModel), + ); + + List _buildCountryDropdownChildren( + ProfileDetailViewModel viewModel) => + [ + _buildCountryDropdownLabel(), + verticalSpaceSmall, + _buildCountryDropdown(viewModel) + ]; + + Widget _buildCountryDropdownLabel() => CustomFormLabel( + label: 'Country', + style: style16DG600, + ); + + Widget _buildCountryDropdown(ProfileDetailViewModel viewModel) => + CustomDropdownPicker( + onChanged: (value) {}, + hint: 'Select country', + selectedItem: 'Ethiopia', + items: (value, props) => viewModel.getCountries(), + ); + + Widget _buildRegionDropdownColumnWrapper(ProfileDetailViewModel viewModel) => + Expanded( + child: _buildRegionDropdownColumn(viewModel), + ); + + Widget _buildRegionDropdownColumn(ProfileDetailViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: _buildRegionDropdownChildren(viewModel), + ); + + List _buildRegionDropdownChildren(ProfileDetailViewModel viewModel) => + [ + _buildRegionDropdownLabel(), + verticalSpaceSmall, + _buildRegionDropdown(viewModel) + ]; + + Widget _buildRegionDropdownLabel() => CustomFormLabel( + label: 'Region', + style: style16DG600, + ); + + Widget _buildRegionDropdown(ProfileDetailViewModel viewModel) => + CustomDropdownPicker( + hint: 'Select region', + onChanged: (value) {}, + selectedItem: 'Addis Ababa', + items: (value, props) => viewModel.getRegions('Addis Ababa'), + ); + + Widget _buildOccupationDropdownWrapper(ProfileDetailViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: _buildOccupationDropdownChildren(viewModel), + ); + + List _buildOccupationDropdownChildren( + ProfileDetailViewModel viewModel) => + [ + _buildOccupationDropdownLabel(), + verticalSpaceSmall, + _buildOccupationDropdown(viewModel) + ]; + + Widget _buildOccupationDropdownLabel() => CustomFormLabel( + label: 'Occupation', + style: style16DG600, + ); + + Widget _buildOccupationDropdown(ProfileDetailViewModel viewModel) => + CustomDropdownPicker( + hint: 'Select occupation', + onChanged: (value) {}, + selectedItem: 'Student', + items: (value, props) => viewModel.getOccupations('Student'), + ); + + Widget _buildLowerColumn(ProfileDetailViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(ProfileDetailViewModel viewModel) => [ + _buildSaveButton(viewModel), + verticalSpaceSmall, + _buildCancelButtonWrapper(viewModel) + ]; + + Widget _buildSaveButton(ProfileDetailViewModel viewModel) => + const CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Save Changes', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildCancelButtonWrapper(ProfileDetailViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildCancelButton(viewModel), + ); + + Widget _buildCancelButton(ProfileDetailViewModel viewModel) => + const CustomElevatedButton( + height: 55, + text: 'Cancel', + borderRadius: 12, + borderColor: kcPrimaryColor, + backgroundColor: kcWhite, + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/profile_detail/profile_detail_view.form.dart b/lib/ui/views/profile_detail/profile_detail_view.form.dart new file mode 100644 index 0000000..d5e8df2 --- /dev/null +++ b/lib/ui/views/profile_detail/profile_detail_view.form.dart @@ -0,0 +1,278 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedFormGenerator +// ************************************************************************** + +// ignore_for_file: public_member_api_docs, constant_identifier_names, non_constant_identifier_names,unnecessary_this + +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/validators/form_validator.dart'; + +const bool _autoTextFieldValidation = true; + +const String EmailValueKey = 'email'; +const String PhoneNumberValueKey = 'phoneNumber'; +const String LastNameValueKey = 'lastName'; +const String FirstNameValueKey = 'firstName'; + +final Map + _ProfileDetailViewTextEditingControllers = {}; + +final Map _ProfileDetailViewFocusNodes = {}; + +final Map + _ProfileDetailViewTextValidations = { + EmailValueKey: FormValidator.validateForm, + PhoneNumberValueKey: FormValidator.validatePhoneNumber, + LastNameValueKey: FormValidator.validateForm, + FirstNameValueKey: FormValidator.validateForm, +}; + +mixin $ProfileDetailView { + TextEditingController get emailController => + _getFormTextEditingController(EmailValueKey); + TextEditingController get phoneNumberController => + _getFormTextEditingController(PhoneNumberValueKey); + TextEditingController get lastNameController => + _getFormTextEditingController(LastNameValueKey); + TextEditingController get firstNameController => + _getFormTextEditingController(FirstNameValueKey); + + FocusNode get emailFocusNode => _getFormFocusNode(EmailValueKey); + FocusNode get phoneNumberFocusNode => _getFormFocusNode(PhoneNumberValueKey); + FocusNode get lastNameFocusNode => _getFormFocusNode(LastNameValueKey); + FocusNode get firstNameFocusNode => _getFormFocusNode(FirstNameValueKey); + + TextEditingController _getFormTextEditingController( + String key, { + String? initialValue, + }) { + if (_ProfileDetailViewTextEditingControllers.containsKey(key)) { + return _ProfileDetailViewTextEditingControllers[key]!; + } + + _ProfileDetailViewTextEditingControllers[key] = + TextEditingController(text: initialValue); + return _ProfileDetailViewTextEditingControllers[key]!; + } + + FocusNode _getFormFocusNode(String key) { + if (_ProfileDetailViewFocusNodes.containsKey(key)) { + return _ProfileDetailViewFocusNodes[key]!; + } + _ProfileDetailViewFocusNodes[key] = FocusNode(); + return _ProfileDetailViewFocusNodes[key]!; + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + void syncFormWithViewModel(FormStateHelper model) { + emailController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + lastNameController.addListener(() => _updateFormData(model)); + firstNameController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + @Deprecated( + 'Use syncFormWithViewModel instead.' + 'This feature was deprecated after 3.1.0.', + ) + void listenToFormUpdated(FormViewModel model) { + emailController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + lastNameController.addListener(() => _updateFormData(model)); + firstNameController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Updates the formData on the FormViewModel + void _updateFormData(FormStateHelper model, {bool forceValidate = false}) { + model.setData( + model.formValueMap + ..addAll({ + EmailValueKey: emailController.text, + PhoneNumberValueKey: phoneNumberController.text, + LastNameValueKey: lastNameController.text, + FirstNameValueKey: firstNameController.text, + }), + ); + + if (_autoTextFieldValidation || forceValidate) { + updateValidationData(model); + } + } + + bool validateFormFields(FormViewModel model) { + _updateFormData(model, forceValidate: true); + return model.isFormValid; + } + + /// Calls dispose on all the generated controllers and focus nodes + void disposeForm() { + // The dispose function for a TextEditingController sets all listeners to null + + for (var controller in _ProfileDetailViewTextEditingControllers.values) { + controller.dispose(); + } + for (var focusNode in _ProfileDetailViewFocusNodes.values) { + focusNode.dispose(); + } + + _ProfileDetailViewTextEditingControllers.clear(); + _ProfileDetailViewFocusNodes.clear(); + } +} + +extension ValueProperties on FormStateHelper { + bool get hasAnyValidationMessage => this + .fieldsValidationMessages + .values + .any((validation) => validation != null); + + bool get isFormValid { + if (!_autoTextFieldValidation) this.validateForm(); + + return !hasAnyValidationMessage; + } + + String? get emailValue => this.formValueMap[EmailValueKey] as String?; + String? get phoneNumberValue => + this.formValueMap[PhoneNumberValueKey] as String?; + String? get lastNameValue => this.formValueMap[LastNameValueKey] as String?; + String? get firstNameValue => this.formValueMap[FirstNameValueKey] as String?; + + set emailValue(String? value) { + this.setData( + this.formValueMap..addAll({EmailValueKey: value}), + ); + + if (_ProfileDetailViewTextEditingControllers.containsKey(EmailValueKey)) { + _ProfileDetailViewTextEditingControllers[EmailValueKey]?.text = + value ?? ''; + } + } + + set phoneNumberValue(String? value) { + this.setData( + this.formValueMap..addAll({PhoneNumberValueKey: value}), + ); + + if (_ProfileDetailViewTextEditingControllers.containsKey( + PhoneNumberValueKey)) { + _ProfileDetailViewTextEditingControllers[PhoneNumberValueKey]?.text = + value ?? ''; + } + } + + set lastNameValue(String? value) { + this.setData( + this.formValueMap..addAll({LastNameValueKey: value}), + ); + + if (_ProfileDetailViewTextEditingControllers.containsKey( + LastNameValueKey)) { + _ProfileDetailViewTextEditingControllers[LastNameValueKey]?.text = + value ?? ''; + } + } + + set firstNameValue(String? value) { + this.setData( + this.formValueMap..addAll({FirstNameValueKey: value}), + ); + + if (_ProfileDetailViewTextEditingControllers.containsKey( + FirstNameValueKey)) { + _ProfileDetailViewTextEditingControllers[FirstNameValueKey]?.text = + value ?? ''; + } + } + + bool get hasEmail => + this.formValueMap.containsKey(EmailValueKey) && + (emailValue?.isNotEmpty ?? false); + bool get hasPhoneNumber => + this.formValueMap.containsKey(PhoneNumberValueKey) && + (phoneNumberValue?.isNotEmpty ?? false); + bool get hasLastName => + this.formValueMap.containsKey(LastNameValueKey) && + (lastNameValue?.isNotEmpty ?? false); + bool get hasFirstName => + this.formValueMap.containsKey(FirstNameValueKey) && + (firstNameValue?.isNotEmpty ?? false); + + bool get hasEmailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]?.isNotEmpty ?? false; + bool get hasPhoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]?.isNotEmpty ?? false; + bool get hasLastNameValidationMessage => + this.fieldsValidationMessages[LastNameValueKey]?.isNotEmpty ?? false; + bool get hasFirstNameValidationMessage => + this.fieldsValidationMessages[FirstNameValueKey]?.isNotEmpty ?? false; + + String? get emailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]; + String? get phoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]; + String? get lastNameValidationMessage => + this.fieldsValidationMessages[LastNameValueKey]; + String? get firstNameValidationMessage => + this.fieldsValidationMessages[FirstNameValueKey]; +} + +extension Methods on FormStateHelper { + setEmailValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[EmailValueKey] = validationMessage; + setPhoneNumberValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[PhoneNumberValueKey] = validationMessage; + setLastNameValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[LastNameValueKey] = validationMessage; + setFirstNameValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[FirstNameValueKey] = validationMessage; + + /// Clears text input fields on the Form + void clearForm() { + emailValue = ''; + phoneNumberValue = ''; + lastNameValue = ''; + firstNameValue = ''; + } + + /// Validates text input fields on the Form + void validateForm() { + this.setValidationMessages({ + EmailValueKey: getValidationMessage(EmailValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + LastNameValueKey: getValidationMessage(LastNameValueKey), + FirstNameValueKey: getValidationMessage(FirstNameValueKey), + }); + } +} + +/// Returns the validation message for the given key +String? getValidationMessage(String key) { + final validatorForKey = _ProfileDetailViewTextValidations[key]; + if (validatorForKey == null) return null; + + String? validationMessageForKey = validatorForKey( + _ProfileDetailViewTextEditingControllers[key]!.text, + ); + + return validationMessageForKey; +} + +/// Updates the fieldsValidationMessages on the FormViewModel +void updateValidationData(FormStateHelper model) => + model.setValidationMessages({ + EmailValueKey: getValidationMessage(EmailValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + LastNameValueKey: getValidationMessage(LastNameValueKey), + FirstNameValueKey: getValidationMessage(FirstNameValueKey), + }); diff --git a/lib/ui/views/profile_detail/profile_detail_viewmodel.dart b/lib/ui/views/profile_detail/profile_detail_viewmodel.dart new file mode 100644 index 0000000..16769e6 --- /dev/null +++ b/lib/ui/views/profile_detail/profile_detail_viewmodel.dart @@ -0,0 +1,86 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class ProfileDetailViewModel extends FormViewModel { + final _navigationService = locator(); + // First name + bool _focusFirstName = false; + + bool get focusFirstName => _focusFirstName; + + // Last name + bool _focusLastName = false; + + bool get focusLastName => _focusLastName; + + // Gender + String? _selectedGender; + + String? get selectedGender => _selectedGender; + + // Birthday + String? _selectedBirthday; + + String? get selectedBirthday => _selectedBirthday; + + // First name + bool _focusPhoneNumber = false; + + bool get focusPhoneNumber => _focusPhoneNumber; + + // Email + bool _focusEmail = false; + + bool get focusEmail => _focusEmail; + + // First name + void setFirstNameFocus() { + _focusFirstName = true; + rebuildUi(); + } + + // Last name + void setLastNameFocus() { + _focusLastName = true; + rebuildUi(); + } + + // Gender + void setGender(String value) { + _selectedGender = value; + rebuildUi(); + } + + // Birthday + void setBirthday(String value) { + _selectedBirthday = value; + rebuildUi(); + } + + // Phone number + void setPhoneNumberFocus() { + _focusPhoneNumber = true; + rebuildUi(); + } + + // Email + void setEmailFocus() { + _focusEmail = true; + rebuildUi(); + } + + // Country + Future> getCountries() async => ['Ethiopia', 'Djibouti']; + + // Region + Future> getRegions(String country) async => + ['Addis Ababa', 'Oromia']; + + // Occupation + Future> getOccupations(String country) async => + ['Student', 'Worker']; + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/progress/progress_view.dart b/lib/ui/views/progress/progress_view.dart new file mode 100644 index 0000000..4b90527 --- /dev/null +++ b/lib/ui/views/progress/progress_view.dart @@ -0,0 +1,166 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/course_level_card.dart'; +import 'package:yimaru_app/ui/widgets/skill_progress.dart'; +import 'package:yimaru_app/ui/widgets/suggestion_card.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/small_app_bar.dart'; +import 'progress_viewmodel.dart'; + +class ProgressView extends StackedView { + const ProgressView({Key? key}) : super(key: key); + + @override + ProgressViewModel viewModelBuilder(BuildContext context) => + ProgressViewModel(); + + @override + Widget builder( + BuildContext context, + ProgressViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(ProgressViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(ProgressViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(ProgressViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(ProgressViewModel viewModel) => _buildColumn(viewModel); + + Widget _buildColumn(ProgressViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(ProgressViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + verticalSpaceSmall, + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppBarWrapper(ProgressViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(ProgressViewModel viewModel) => SmallAppBar( + title: 'My Progress', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(ProgressViewModel viewModel) => + Expanded(child: _buildContentScrollView(viewModel)); + + Widget _buildContentScrollView(ProgressViewModel viewModel) => + SingleChildScrollView( + child: _buildContentColumn(viewModel), + ); + + Widget _buildContentColumn(ProgressViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildContentChildren(viewModel), + ); + + List _buildContentChildren(ProgressViewModel viewModel) => [ + verticalSpaceMedium, + _buildCourseProgressSection(viewModel), + verticalSpaceMedium, + _buildSkillTitleWrapper(), + verticalSpaceMedium, + _buildSkillsWrapper(viewModel), + verticalSpaceLarge, + _buildSuggestionCard(), + verticalSpaceMassive + ]; + + Widget _buildCourseProgressSection(ProgressViewModel viewModel) => SizedBox( + height: 250, + width: double.maxFinite, + child: _buildListView(viewModel), + ); + + Widget _buildListView(ProgressViewModel viewModel) => ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: viewModel.progresses.length, + controller: PageController(viewportFraction: 0.9), + itemBuilder: (context, index) => _buildCourseLeveCard( + viewModel: viewModel, + icon: viewModel.progresses[index]['icon'], + title: viewModel.progresses[index]['title'], + color: viewModel.progresses[index]['color'], + status: viewModel.progresses[index]['status'], + subTitle: viewModel.progresses[index]['subTitle'], + isCompleted: viewModel.progresses[index]['isCompleted'], + ), + ); + + Widget _buildCourseLeveCard( + {required Color color, + required String title, + required String icon, + required String status, + required String subTitle, + required bool isCompleted, + required ProgressViewModel viewModel}) => + CourseLevelCard( + icon: icon, + title: title, + color: color, + status: status, + subTitle: subTitle, + isCompleted: isCompleted, + onTap: viewModel.navigateToOngoingProgress, + ); + + Widget _buildSkillTitleWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildSkillTitle(), + ); + + Widget _buildSkillTitle() => const Text( + 'Skill Proficiency', + style: TextStyle( + fontSize: 18, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSkillsWrapper(ProgressViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildSkills(viewModel), + ); + + Widget _buildSkills(ProgressViewModel viewModel) => ListView.builder( + shrinkWrap: true, + itemCount: viewModel.skillsLevel.length, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _buildSkill( + skill: viewModel.skillsLevel[index]['skill'], + progress: viewModel.skillsLevel[index]['progress'], + ), + ); + + Widget _buildSkill({ + required String skill, + required double progress, + }) => + SkillProgress( + skill: skill, + progress: progress, + ); + + Widget _buildSuggestionCard() => const SuggestionCard(); +} diff --git a/lib/ui/views/progress/progress_viewmodel.dart b/lib/ui/views/progress/progress_viewmodel.dart new file mode 100644 index 0000000..042b9ea --- /dev/null +++ b/lib/ui/views/progress/progress_viewmodel.dart @@ -0,0 +1,65 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +import '../../../app/app.locator.dart'; + +class ProgressViewModel extends BaseViewModel { + final _navigationService = locator(); + + final List> _progresses = [ + { + 'color': kcGreen, + 'title': 'Beginner', + 'isCompleted': true, + 'status': 'Completed', + 'icon': 'assets/icons/b1.svg', + 'subTitle': 'You’ve mastered everyday English basics!', + }, + { + 'title': 'Elementary', + 'isCompleted': false, + 'status': 'In Progress', + 'color': kcPrimaryColor, + 'icon': 'assets/icons/b1.svg', + 'subTitle': 'Continue improving your conversations and fluency.', + }, + { + 'title': 'Beginner', + 'isCompleted': true, + 'status': 'In Progress', + 'color': kcPrimaryColor, + 'icon': 'assets/icons/b1.svg', + 'subTitle': 'You’ve mastered everyday English basics!', + }, + ]; + + List> get progresses => _progresses; + + final List> _skillsLevel = [ + { + 'progress': 0.8, + 'skill': 'Speaking', + }, + { + 'progress': 0.95, + 'skill': 'Listening', + }, + { + 'progress': 0.75, + 'skill': 'Writing', + }, + { + 'progress': 0.8, + 'skill': 'Reading', + }, + ]; + + List> get skillsLevel => _skillsLevel; + + Future navigateToOngoingProgress() async => + await _navigationService.navigateToOngoingProgressView(); + + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/register/register_view.dart b/lib/ui/views/register/register_view.dart new file mode 100644 index 0000000..e84a96b --- /dev/null +++ b/lib/ui/views/register/register_view.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked/stacked_annotations.dart'; +import 'package:yimaru_app/ui/views/register/screens/create_password_screen.dart'; +import 'package:yimaru_app/ui/views/register/screens/register_with_email_screen.dart'; +import 'package:yimaru_app/ui/views/register/screens/register_with_phone_number_screen.dart'; +import 'package:yimaru_app/ui/views/register/screens/registration_otp_screen.dart'; +import 'package:yimaru_app/ui/widgets/large_app_bar.dart'; +import 'package:yimaru_app/ui/widgets/page_loading_indicator.dart'; + +import '../../common/app_colors.dart'; +import '../../common/validators/form_validator.dart'; +import 'register_viewmodel.dart'; + +import 'register_view.form.dart'; + +@FormView(fields: [ + FormTextField(name: 'otp', validator: FormValidator.validateForm), + FormTextField(name: 'email', validator: FormValidator.validateEmail), + FormTextField(name: 'password', validator: FormValidator.validateForm), + FormTextField(name: 'phoneNumber', validator: FormValidator.validateForm), + FormTextField(name: 'confirmPassword', validator: FormValidator.validateForm), +]) +class RegisterView extends StackedView with $RegisterView { + const RegisterView({Key? key}) : super(key: key); + + @override + void onViewModelReady(RegisterViewModel viewModel) { + syncFormWithViewModel(viewModel); + super.onViewModelReady(viewModel); + } + + @override + RegisterViewModel viewModelBuilder(BuildContext context) => + RegisterViewModel(); + + @override + Widget builder( + BuildContext context, + RegisterViewModel viewModel, + Widget? child, + ) => + _buildRegisterScreensWrapper(viewModel); + + Widget _buildRegisterScreensWrapper(RegisterViewModel viewModel) => PopScope( + canPop: false, + onPopInvokedWithResult: (value, data) { + if (value) return; + WidgetsBinding.instance.addPostFrameCallback((_) => viewModel.goBack()); + }, + child: _buildScaffoldWrapper(viewModel)); + + Widget _buildScaffoldWrapper(RegisterViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffoldStack(viewModel), + ); + + Widget _buildScaffoldStack(RegisterViewModel viewModel) => Stack( + children: [_buildScaffold(viewModel), _buildBusyRegistration(viewModel)]); + + Widget _buildScaffold(RegisterViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(RegisterViewModel viewModel) => + [_buildAppBar(viewModel), _buildExpandedBody(viewModel)]; + + Widget _buildAppBar(RegisterViewModel viewModel) => LargeAppBar( + showBackButton: true, + onPop: viewModel.goBack, + showLanguageSelection: true, + ); + + Widget _buildExpandedBody(RegisterViewModel viewModel) => + Expanded(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(RegisterViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBody(viewModel), + ); + + Widget _buildBody(RegisterViewModel viewModel) => + IndexedStack(index: viewModel.currentIndex, children: _buildScreens()); + + List _buildScreens() => [ + _buildRegisterWithEmailScreen(), + _buildRegisterWithPhoneScreen(), + _buildCreatePasswordScreen(), + _buildRegistrationOtpScreen(), + ]; + + Widget _buildRegisterWithEmailScreen() => + RegisterWithEmailScreen(emailController: emailController); + + Widget _buildRegisterWithPhoneScreen() => RegisterWithPhoneNumberScreen( + phoneNumberController: phoneNumberController); + + Widget _buildRegistrationOtpScreen() => RegistrationOtpScreen( + otpController: otpController, + emailController: emailController, + phoneNumberController: phoneNumberController, + ); + + Widget _buildCreatePasswordScreen() => CreatePasswordScreen( + passwordController: passwordController, + confirmPasswordController: confirmPasswordController); + + Widget _buildBusyRegistration(RegisterViewModel viewModel) => + viewModel.isBusy ? const PageLoadingIndicator() : Container(); +} diff --git a/lib/ui/views/register/register_view.form.dart b/lib/ui/views/register/register_view.form.dart new file mode 100644 index 0000000..222853d --- /dev/null +++ b/lib/ui/views/register/register_view.form.dart @@ -0,0 +1,308 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// StackedFormGenerator +// ************************************************************************** + +// ignore_for_file: public_member_api_docs, constant_identifier_names, non_constant_identifier_names,unnecessary_this + +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/validators/form_validator.dart'; + +const bool _autoTextFieldValidation = true; + +const String OtpValueKey = 'otp'; +const String EmailValueKey = 'email'; +const String PasswordValueKey = 'password'; +const String PhoneNumberValueKey = 'phoneNumber'; +const String ConfirmPasswordValueKey = 'confirmPassword'; + +final Map _RegisterViewTextEditingControllers = + {}; + +final Map _RegisterViewFocusNodes = {}; + +final Map _RegisterViewTextValidations = { + OtpValueKey: FormValidator.validateForm, + EmailValueKey: FormValidator.validateEmail, + PasswordValueKey: FormValidator.validateForm, + PhoneNumberValueKey: FormValidator.validateForm, + ConfirmPasswordValueKey: FormValidator.validateForm, +}; + +mixin $RegisterView { + TextEditingController get otpController => + _getFormTextEditingController(OtpValueKey); + TextEditingController get emailController => + _getFormTextEditingController(EmailValueKey); + TextEditingController get passwordController => + _getFormTextEditingController(PasswordValueKey); + TextEditingController get phoneNumberController => + _getFormTextEditingController(PhoneNumberValueKey); + TextEditingController get confirmPasswordController => + _getFormTextEditingController(ConfirmPasswordValueKey); + + FocusNode get otpFocusNode => _getFormFocusNode(OtpValueKey); + FocusNode get emailFocusNode => _getFormFocusNode(EmailValueKey); + FocusNode get passwordFocusNode => _getFormFocusNode(PasswordValueKey); + FocusNode get phoneNumberFocusNode => _getFormFocusNode(PhoneNumberValueKey); + FocusNode get confirmPasswordFocusNode => + _getFormFocusNode(ConfirmPasswordValueKey); + + TextEditingController _getFormTextEditingController( + String key, { + String? initialValue, + }) { + if (_RegisterViewTextEditingControllers.containsKey(key)) { + return _RegisterViewTextEditingControllers[key]!; + } + + _RegisterViewTextEditingControllers[key] = + TextEditingController(text: initialValue); + return _RegisterViewTextEditingControllers[key]!; + } + + FocusNode _getFormFocusNode(String key) { + if (_RegisterViewFocusNodes.containsKey(key)) { + return _RegisterViewFocusNodes[key]!; + } + _RegisterViewFocusNodes[key] = FocusNode(); + return _RegisterViewFocusNodes[key]!; + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + void syncFormWithViewModel(FormStateHelper model) { + otpController.addListener(() => _updateFormData(model)); + emailController.addListener(() => _updateFormData(model)); + passwordController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + confirmPasswordController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Registers a listener on every generated controller that calls [model.setData()] + /// with the latest textController values + @Deprecated( + 'Use syncFormWithViewModel instead.' + 'This feature was deprecated after 3.1.0.', + ) + void listenToFormUpdated(FormViewModel model) { + otpController.addListener(() => _updateFormData(model)); + emailController.addListener(() => _updateFormData(model)); + passwordController.addListener(() => _updateFormData(model)); + phoneNumberController.addListener(() => _updateFormData(model)); + confirmPasswordController.addListener(() => _updateFormData(model)); + + _updateFormData(model, forceValidate: _autoTextFieldValidation); + } + + /// Updates the formData on the FormViewModel + void _updateFormData(FormStateHelper model, {bool forceValidate = false}) { + model.setData( + model.formValueMap + ..addAll({ + OtpValueKey: otpController.text, + EmailValueKey: emailController.text, + PasswordValueKey: passwordController.text, + PhoneNumberValueKey: phoneNumberController.text, + ConfirmPasswordValueKey: confirmPasswordController.text, + }), + ); + + if (_autoTextFieldValidation || forceValidate) { + updateValidationData(model); + } + } + + bool validateFormFields(FormViewModel model) { + _updateFormData(model, forceValidate: true); + return model.isFormValid; + } + + /// Calls dispose on all the generated controllers and focus nodes + void disposeForm() { + // The dispose function for a TextEditingController sets all listeners to null + + for (var controller in _RegisterViewTextEditingControllers.values) { + controller.dispose(); + } + for (var focusNode in _RegisterViewFocusNodes.values) { + focusNode.dispose(); + } + + _RegisterViewTextEditingControllers.clear(); + _RegisterViewFocusNodes.clear(); + } +} + +extension ValueProperties on FormStateHelper { + bool get hasAnyValidationMessage => this + .fieldsValidationMessages + .values + .any((validation) => validation != null); + + bool get isFormValid { + if (!_autoTextFieldValidation) this.validateForm(); + + return !hasAnyValidationMessage; + } + + String? get otpValue => this.formValueMap[OtpValueKey] as String?; + String? get emailValue => this.formValueMap[EmailValueKey] as String?; + String? get passwordValue => this.formValueMap[PasswordValueKey] as String?; + String? get phoneNumberValue => + this.formValueMap[PhoneNumberValueKey] as String?; + String? get confirmPasswordValue => + this.formValueMap[ConfirmPasswordValueKey] as String?; + + set otpValue(String? value) { + this.setData( + this.formValueMap..addAll({OtpValueKey: value}), + ); + + if (_RegisterViewTextEditingControllers.containsKey(OtpValueKey)) { + _RegisterViewTextEditingControllers[OtpValueKey]?.text = value ?? ''; + } + } + + set emailValue(String? value) { + this.setData( + this.formValueMap..addAll({EmailValueKey: value}), + ); + + if (_RegisterViewTextEditingControllers.containsKey(EmailValueKey)) { + _RegisterViewTextEditingControllers[EmailValueKey]?.text = value ?? ''; + } + } + + set passwordValue(String? value) { + this.setData( + this.formValueMap..addAll({PasswordValueKey: value}), + ); + + if (_RegisterViewTextEditingControllers.containsKey(PasswordValueKey)) { + _RegisterViewTextEditingControllers[PasswordValueKey]?.text = value ?? ''; + } + } + + set phoneNumberValue(String? value) { + this.setData( + this.formValueMap..addAll({PhoneNumberValueKey: value}), + ); + + if (_RegisterViewTextEditingControllers.containsKey(PhoneNumberValueKey)) { + _RegisterViewTextEditingControllers[PhoneNumberValueKey]?.text = + value ?? ''; + } + } + + set confirmPasswordValue(String? value) { + this.setData( + this.formValueMap..addAll({ConfirmPasswordValueKey: value}), + ); + + if (_RegisterViewTextEditingControllers.containsKey( + ConfirmPasswordValueKey)) { + _RegisterViewTextEditingControllers[ConfirmPasswordValueKey]?.text = + value ?? ''; + } + } + + bool get hasOtp => + this.formValueMap.containsKey(OtpValueKey) && + (otpValue?.isNotEmpty ?? false); + bool get hasEmail => + this.formValueMap.containsKey(EmailValueKey) && + (emailValue?.isNotEmpty ?? false); + bool get hasPassword => + this.formValueMap.containsKey(PasswordValueKey) && + (passwordValue?.isNotEmpty ?? false); + bool get hasPhoneNumber => + this.formValueMap.containsKey(PhoneNumberValueKey) && + (phoneNumberValue?.isNotEmpty ?? false); + bool get hasConfirmPassword => + this.formValueMap.containsKey(ConfirmPasswordValueKey) && + (confirmPasswordValue?.isNotEmpty ?? false); + + bool get hasOtpValidationMessage => + this.fieldsValidationMessages[OtpValueKey]?.isNotEmpty ?? false; + bool get hasEmailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]?.isNotEmpty ?? false; + bool get hasPasswordValidationMessage => + this.fieldsValidationMessages[PasswordValueKey]?.isNotEmpty ?? false; + bool get hasPhoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]?.isNotEmpty ?? false; + bool get hasConfirmPasswordValidationMessage => + this.fieldsValidationMessages[ConfirmPasswordValueKey]?.isNotEmpty ?? + false; + + String? get otpValidationMessage => + this.fieldsValidationMessages[OtpValueKey]; + String? get emailValidationMessage => + this.fieldsValidationMessages[EmailValueKey]; + String? get passwordValidationMessage => + this.fieldsValidationMessages[PasswordValueKey]; + String? get phoneNumberValidationMessage => + this.fieldsValidationMessages[PhoneNumberValueKey]; + String? get confirmPasswordValidationMessage => + this.fieldsValidationMessages[ConfirmPasswordValueKey]; +} + +extension Methods on FormStateHelper { + setOtpValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[OtpValueKey] = validationMessage; + setEmailValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[EmailValueKey] = validationMessage; + setPasswordValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[PasswordValueKey] = validationMessage; + setPhoneNumberValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[PhoneNumberValueKey] = validationMessage; + setConfirmPasswordValidationMessage(String? validationMessage) => + this.fieldsValidationMessages[ConfirmPasswordValueKey] = + validationMessage; + + /// Clears text input fields on the Form + void clearForm() { + otpValue = ''; + emailValue = ''; + passwordValue = ''; + phoneNumberValue = ''; + confirmPasswordValue = ''; + } + + /// Validates text input fields on the Form + void validateForm() { + this.setValidationMessages({ + OtpValueKey: getValidationMessage(OtpValueKey), + EmailValueKey: getValidationMessage(EmailValueKey), + PasswordValueKey: getValidationMessage(PasswordValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + ConfirmPasswordValueKey: getValidationMessage(ConfirmPasswordValueKey), + }); + } +} + +/// Returns the validation message for the given key +String? getValidationMessage(String key) { + final validatorForKey = _RegisterViewTextValidations[key]; + if (validatorForKey == null) return null; + + String? validationMessageForKey = validatorForKey( + _RegisterViewTextEditingControllers[key]!.text, + ); + + return validationMessageForKey; +} + +/// Updates the fieldsValidationMessages on the FormViewModel +void updateValidationData(FormStateHelper model) => + model.setValidationMessages({ + OtpValueKey: getValidationMessage(OtpValueKey), + EmailValueKey: getValidationMessage(EmailValueKey), + PasswordValueKey: getValidationMessage(PasswordValueKey), + PhoneNumberValueKey: getValidationMessage(PhoneNumberValueKey), + ConfirmPasswordValueKey: getValidationMessage(ConfirmPasswordValueKey), + }); diff --git a/lib/ui/views/register/register_viewmodel.dart b/lib/ui/views/register/register_viewmodel.dart new file mode 100644 index 0000000..decc358 --- /dev/null +++ b/lib/ui/views/register/register_viewmodel.dart @@ -0,0 +1,311 @@ +import 'package:flutter/cupertino.dart'; +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/services/api_service.dart'; +import 'package:yimaru_app/services/authentication_service.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/views/home/home_view.dart'; + +import '../../../app/app.locator.dart'; +import '../../../models/user_model.dart'; + +class RegisterViewModel extends FormViewModel { + final _apiService = locator(); + final _navigationService = locator(); + final _authenticationService = locator(); + + // Navigation + int _currentIndex = 0; + + int get currentIndex => _currentIndex; + + // Email + bool _focusEmail = false; + + bool get focusEmail => _focusEmail; + + // Password + bool _length = false; + + bool get length => _length; + + bool _number = false; + + bool get number => _number; + + bool _specialChar = false; + + bool get specialChar => _specialChar; + + bool _focusPassword = false; + + bool get focusPassword => _focusPassword; + + bool _obscurePassword = true; + + bool get obscurePassword => _obscurePassword; + + bool _passwordMatch = false; + + bool get passwordMatch => _passwordMatch; + + // Confirm password + bool _focusConfirmPassword = false; + + bool get focusConfirmPassword => _focusConfirmPassword; + + bool _obscureConfirmPassword = true; + + bool get obscureConfirmPassword => _obscureConfirmPassword; + + // Phone number + bool _focusPhoneNumber = false; + + bool get focusPhoneNumber => _focusPhoneNumber; + + // Terms and conditions + bool _agree = false; + + bool get agree => _agree; + + // Focus otp + bool _focusOtp = false; + + bool get focusOtp => _focusOtp; + + // Focus node + final FocusNode _focusNode = FocusNode(); + + FocusNode get focusNode => _focusNode; + + // Registration type + RegistrationType? _registrationType; + + RegistrationType? get registrationType => _registrationType; + + // Resend button state + bool _buttonActive = false; + + bool get buttonActive => _buttonActive; + + DateTime _resendTime = + DateTime.now().add(const Duration(minutes: 3, seconds: 0)); + + DateTime get resendTime => _resendTime; + + // User data + final Map _userData = {}; + + Map get userData => _userData; + + // Email + void setEmailFocus() { + _focusEmail = true; + rebuildUi(); + } + + // Password + void setPasswordFocus() { + _focusPassword = true; + rebuildUi(); + } + + void validatePassword( + {required String password, required String confirmPassword}) { + if (password.length > 8) { + _length = true; + } else { + _length = false; + } + + if (RegExp(r'\d').hasMatch(password)) { + _number = true; + } else { + _number = false; + } + + if (RegExp(r'[!@#$%^&*(),.?":{}|<>]').hasMatch(password)) { + _specialChar = true; + } else { + _specialChar = false; + } + + if (password == confirmPassword) { + _passwordMatch = true; + } else { + _passwordMatch = false; + } + rebuildUi(); + } + + double validationProgress() { + int completed = 0; + + if (_length) completed++; + if (_number) completed++; + if (_specialChar) completed++; + if (_passwordMatch) completed++; + + return completed / 4; // returns 0.0 → 1.0 + } + + void setObscurePassword() { + _obscurePassword = !_obscurePassword; + rebuildUi(); + } + + // Confirm password + void setConfirmPasswordFocus() { + _focusConfirmPassword = true; + rebuildUi(); + } + + void setObscureConfirmPassword() { + _obscureConfirmPassword = !_obscureConfirmPassword; + rebuildUi(); + } + + // Phone number + void setPhoneNumberFocus() { + _focusPhoneNumber = true; + rebuildUi(); + } + + // Otp + void setOtpFocus() { + _focusOtp = true; + rebuildUi(); + } + + // Terms and Conditions + void setAgreement(bool value) { + _agree = value; + rebuildUi(); + } + + void setResendButton() { + _buttonActive = true; + rebuildUi(); + } + + void resetButton() { + _buttonActive = false; + + _resendTime = DateTime.now().add(const Duration(minutes: 3, seconds: 0)); + } + + // Validate otp + Future validateOtp(String otp) async {} + + // Add user data + void addUserData(Map data) { + _userData.addAll(data); + } + + void clearUserData() { + _userData.clear(); + } + + // Remote api calls + Future register() async { + Map response = await runBusyFuture>( + _apiService.register(_userData)); + + if (response['status'] == ResponseStatus.success) { + goTo(page: 3); + showSuccessToast(response['message']); + } else { + showErrorToast(response['message']); + } + } + + Future verifyOtp() async { + Map response = + await runBusyFuture>(_verifyOtp()); + + if (response['status'] == ResponseStatus.success) { + await replaceWithHome(); + } + } + + Future> _verifyOtp() async { + Map response = await _apiService.verifyOtp(_userData); + if (response['status'] == ResponseStatus.success) { + UserModel user = response['data'] as UserModel; + Map data = { + 'userId': user.userId, + 'accessToken': user.accessToken, + 'refreshToken': user.refreshToken + }; + + // { + // 'userId': 10, + // 'accessToken': 'accessToken', + // 'refreshToken': 'refreshToken' + // } + + await _authenticationService.saveUserData(data); + showSuccessToast(response['message']); + } else { + showErrorToast(response['message']); + } + + return response; + } + + Future resendOtp() async { + resetButton(); + + Map response = await runBusyFuture>( + _apiService.resendOtp(_userData)); + + if (response['status'] == ResponseStatus.success) { + showSuccessToast(response['message']); + } else { + showErrorToast(response['message']); + } + } + + // Navigation + void goTo({required int page, RegistrationType? type}) { + _currentIndex = page; + if (type != null) { + _registrationType = type; + } + rebuildUi(); + } + + void goBack() { + if (_currentIndex == 1) { + _currentIndex = 0; + rebuildUi(); + } else if (_currentIndex == 2) { + _currentIndex = 0; + rebuildUi(); + } else if (_currentIndex == 3) { + if (_registrationType == RegistrationType.phone) { + _currentIndex = 1; + } else { + _currentIndex = 2; + } + + rebuildUi(); + } else { + _navigationService.back(); + } + } + + Future navigateToTermsAndConditions() async => + await _navigationService.navigateToTermsAndConditionsView(); + + Future navigateToPrivacyPolicy() async => + await _navigationService.navigateToPrivacyPolicyView(); + + Future replaceToLogin() async => + await _navigationService.replaceWithLoginView(); + + Future replaceWithHome() async => + await _navigationService.clearStackAndShowView(const HomeView()); +} diff --git a/lib/ui/views/register/screens/create_password_screen.dart b/lib/ui/views/register/screens/create_password_screen.dart new file mode 100644 index 0000000..5549882 --- /dev/null +++ b/lib/ui/views/register/screens/create_password_screen.dart @@ -0,0 +1,251 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/register/register_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_form_label.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; +import 'package:yimaru_app/ui/widgets/validator_list_tile.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../../../widgets/obscure_password.dart'; +import '../register_view.form.dart'; + +class CreatePasswordScreen extends ViewModelWidget { + final TextEditingController passwordController; + final TextEditingController confirmPasswordController; + + const CreatePasswordScreen( + {super.key, + required this.passwordController, + required this.confirmPasswordController}); + + Future _signUp(RegisterViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'role': 'STUDENT', + 'otp_medium': 'email', + 'password': passwordController.text, + }; + viewModel.addUserData(data); + + await viewModel.register(); + } + + @override + Widget build(BuildContext context, RegisterViewModel viewModel) => + _buildBodyChildren(viewModel); + + Widget _buildBodyChildren(RegisterViewModel viewModel) => + SingleChildScrollView( + child: _buildBodyColumn(viewModel), + ); + + Widget _buildBodyColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBodyColumnChildren(viewModel), + ); + + List _buildBodyColumnChildren(RegisterViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceMedium, + _buildPasswordLabel('Password'), + verticalSpaceSmall, + _buildPasswordFormField(viewModel), + if (viewModel.hasPasswordValidationMessage && viewModel.focusPassword) + verticalSpaceTiny, + if (viewModel.hasPasswordValidationMessage && viewModel.focusPassword) + _buildPasswordValidationWrapper(viewModel), + verticalSpaceMedium, + _buildPasswordLabel('Confirm Password'), + verticalSpaceSmall, + _buildConfirmPasswordFormField(viewModel), + if (viewModel.hasConfirmPasswordValidationMessage && + viewModel.focusConfirmPassword) + verticalSpaceTiny, + if (viewModel.hasConfirmPasswordValidationMessage && + viewModel.focusConfirmPassword) + _buildConfirmPasswordValidationWrapper(viewModel), + verticalSpaceMedium, + _buildLinearProgressIndicator(viewModel), + verticalSpaceSmall, + _buildCharLengthValidator(viewModel), + _buildNumberValidator(viewModel), + _buildSymbolValidator(viewModel), + _buildPasswordMatchValidator(viewModel), + _buildCheckBox(viewModel), + verticalSpaceSmall, + _buildSignUpButton(viewModel), + verticalSpaceMedium + ]; + + Widget _buildTitle() => const Text( + 'Create Password', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildPasswordLabel(String label) => CustomFormLabel( + label: label, + style: style14DG400, + ); + + Widget _buildPasswordFormField(RegisterViewModel viewModel) => TextFormField( + controller: passwordController, + onTap: viewModel.setPasswordFocus, + obscureText: viewModel.obscurePassword, + decoration: inputDecoration( + hint: 'Password', + focus: viewModel.focusPassword, + suffix: _buildObscurePassword(viewModel), + filled: passwordController.text.isNotEmpty), + onChanged: (value) => viewModel.validatePassword( + password: passwordController.text, + confirmPassword: confirmPasswordController.text), + ); + + Widget _buildObscurePassword(RegisterViewModel viewModel) => ObscurePassword( + focus: viewModel.focusPassword, + obscure: viewModel.obscurePassword, + onTap: viewModel.setObscurePassword, + ); + + Widget _buildPasswordValidationWrapper(RegisterViewModel viewModel) => + viewModel.hasPasswordValidationMessage + ? _buildPasswordValidator(viewModel) + : Container(); + + Widget _buildPasswordValidator(RegisterViewModel viewModel) => Text( + viewModel.passwordValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildConfirmPasswordFormField(RegisterViewModel viewModel) => + TextFormField( + controller: confirmPasswordController, + onTap: viewModel.setConfirmPasswordFocus, + obscureText: viewModel.obscureConfirmPassword, + onChanged: (value) => viewModel.validatePassword( + password: passwordController.text, + confirmPassword: confirmPasswordController.text), + decoration: inputDecoration( + hint: 'Confirm Password', + focus: viewModel.focusConfirmPassword, + suffix: _buildObscureConfirmPassword(viewModel), + filled: confirmPasswordController.text.isNotEmpty), + ); + + Widget _buildObscureConfirmPassword(RegisterViewModel viewModel) => + ObscurePassword( + focus: viewModel.focusConfirmPassword, + obscure: viewModel.obscureConfirmPassword, + onTap: viewModel.setObscureConfirmPassword, + ); + + Widget _buildConfirmPasswordValidationWrapper(RegisterViewModel viewModel) => + viewModel.hasConfirmPasswordValidationMessage + ? _buildConfirmPasswordValidator(viewModel) + : Container(); + + Widget _buildConfirmPasswordValidator(RegisterViewModel viewModel) => Text( + viewModel.confirmPasswordValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildLinearProgressIndicator(RegisterViewModel viewModel) => + CustomLinearProgressIndicator( + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + progress: viewModel.validationProgress(), + ); + + Widget _buildCharLengthValidator(RegisterViewModel viewModel) => + ValidatorListTile( + backgroundColor: viewModel.length ? kcPrimaryColor : kcLightGrey, + label: '8 characters minimum'); + + Widget _buildNumberValidator(RegisterViewModel viewModel) => + ValidatorListTile( + backgroundColor: viewModel.number ? kcPrimaryColor : kcLightGrey, + label: 'a number'); + + Widget _buildSymbolValidator(RegisterViewModel viewModel) => + ValidatorListTile( + backgroundColor: viewModel.specialChar ? kcPrimaryColor : kcLightGrey, + label: 'one symbol minimum'); + + Widget _buildPasswordMatchValidator(RegisterViewModel viewModel) => + ValidatorListTile( + backgroundColor: + viewModel.passwordMatch ? kcPrimaryColor : kcLightGrey, + label: 'password match'); + + Widget _buildCheckBox(RegisterViewModel viewMode) => CheckboxListTile( + value: viewMode.agree, + activeColor: kcPrimaryColor, + title: _buildCheckBoxTitle(viewMode), + controlAffinity: ListTileControlAffinity.leading, + onChanged: (value) => viewMode.setAgreement(value ?? false)); + + Widget _buildCheckBoxTitle(RegisterViewModel viewMode) => Text.rich( + TextSpan( + text: 'By clicking "Sign Up", you agree to our', + style: style14DG400, + children: [ + TextSpan( + text: ' Terms of Service', + style: style14P600, + recognizer: TapGestureRecognizer() + ..onTap = () => viewMode.navigateToTermsAndConditions()), + TextSpan(text: ' and ', style: style14DG400), + TextSpan( + text: 'Privacy Policy', + style: style14P600, + recognizer: TapGestureRecognizer() + ..onTap = () => viewMode.navigateToPrivacyPolicy()), + ]), + ); + + Widget _buildSignUpButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Sign Up', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: passwordController.text.isNotEmpty && + confirmPasswordController.text.isNotEmpty && + viewModel.number && + viewModel.length && + viewModel.specialChar && + viewModel.specialChar && + viewModel.passwordMatch && + viewModel.agree + ? () async => await _signUp(viewModel) + : null, + backgroundColor: passwordController.text.isNotEmpty && + confirmPasswordController.text.isNotEmpty && + viewModel.number && + viewModel.length && + viewModel.specialChar && + viewModel.specialChar && + viewModel.passwordMatch && + viewModel.agree + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); +} diff --git a/lib/ui/views/register/screens/register_with_email_screen.dart b/lib/ui/views/register/screens/register_with_email_screen.dart new file mode 100644 index 0000000..fd6aadc --- /dev/null +++ b/lib/ui/views/register/screens/register_with_email_screen.dart @@ -0,0 +1,145 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; +import 'package:yimaru_app/ui/widgets/login_account.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../../../widgets/option_text_divider.dart'; +import '../register_viewmodel.dart'; +import '../register_view.form.dart'; + +class RegisterWithEmailScreen extends ViewModelWidget { + final TextEditingController emailController; + + const RegisterWithEmailScreen({ + super.key, + required this.emailController, + }); + + void _addUserData(RegisterViewModel viewModel) { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'email': emailController.text, + }; + viewModel.addUserData(data); + viewModel.goTo(page: 2, type: RegistrationType.email); + } + + @override + Widget build(BuildContext context, RegisterViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(RegisterViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(RegisterViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildColumnScroller(RegisterViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(RegisterViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + _buildSubTitleWrapper(viewModel), + verticalSpaceLarge, + _buildEmailFormField(viewModel), + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + verticalSpaceTiny, + if (viewModel.hasEmailValidationMessage && viewModel.focusEmail) + _buildEmailValidatorWrapper(viewModel), + ]; + + Widget _buildTitle() => const Text( + 'Create an Account', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitleWrapper(RegisterViewModel viewModel) => LoginAccount( + onTap: () async => await viewModel.replaceToLogin(), + ); + + Widget _buildEmailFormField(RegisterViewModel viewModel) => TextFormField( + controller: emailController, + keyboardType: TextInputType.emailAddress, + onTap: viewModel.setEmailFocus, + decoration: inputDecoration( + hint: 'Email', + focus: viewModel.focusEmail, + filled: emailController.text.isNotEmpty), + ); + + Widget _buildEmailValidatorWrapper(RegisterViewModel viewModel) => + viewModel.hasEmailValidationMessage + ? _buildEmailValidator(viewModel) + : Container(); + + Widget _buildEmailValidator(RegisterViewModel viewModel) => Text( + viewModel.emailValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildLowerColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(RegisterViewModel viewModel) => [ + _buildContinueButton(viewModel), + _buildOptionTextDivider(), + _buildRegisterWithEmailButton(viewModel), + verticalSpaceMedium + ]; + + Widget _buildContinueButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: emailController.text.isNotEmpty && + !viewModel.hasEmailValidationMessage + ? () => _addUserData(viewModel) + : null, + backgroundColor: emailController.text.isNotEmpty && + !viewModel.hasEmailValidationMessage + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); + + Widget _buildOptionTextDivider() => const OptionTextDivider(); + + Widget _buildRegisterWithEmailButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + backgroundColor: kcWhite, + leadingIcon: Icons.phone, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + text: 'Register with Phone Number', + onTap: () => viewModel.goTo(page: 1), + ); +} diff --git a/lib/ui/views/register/screens/register_with_phone_number_screen.dart b/lib/ui/views/register/screens/register_with_phone_number_screen.dart new file mode 100644 index 0000000..7d3499a --- /dev/null +++ b/lib/ui/views/register/screens/register_with_phone_number_screen.dart @@ -0,0 +1,160 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/login_account.dart'; +import 'package:yimaru_app/ui/widgets/option_text_divider.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/enmus.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; +import '../../../widgets/phone_number_prefix.dart'; +import '../register_viewmodel.dart'; +import '../register_view.form.dart'; + +class RegisterWithPhoneNumberScreen extends ViewModelWidget { + final TextEditingController phoneNumberController; + const RegisterWithPhoneNumberScreen( + {super.key, required this.phoneNumberController}); + + @override + Widget build(BuildContext context, RegisterViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(RegisterViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(RegisterViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildColumnScroller(RegisterViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(RegisterViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + _buildSubTitleWrapper(viewModel), + verticalSpaceMedium, + _buildSubtitle(), + verticalSpaceMedium, + _buildPhoneNumberWrapper(viewModel), + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + verticalSpaceTiny, + if (viewModel.hasPhoneNumberValidationMessage && + viewModel.focusPhoneNumber) + _buildPhoneNumberValidatorWrapper(viewModel), + ]; + + Widget _buildTitle() => const Text( + 'Create an Account', + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitleWrapper(RegisterViewModel viewModel) => LoginAccount( + onTap: () async => await viewModel.replaceToLogin(), + ); + + Widget _buildSubtitle() => const Text( + 'Enter your phone number. We will send you a confirmation code there', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildPhoneNumberWrapper(RegisterViewModel viewModel) => Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildPhoneNumberChildren(viewModel), + ); + + List _buildPhoneNumberChildren(RegisterViewModel viewModel) => [ + _buildPhoneNumberPrefix(viewModel), + horizontalSpaceSmall, + _buildPhoneNumberFormFieldWrapper(viewModel), + ]; + + Widget _buildPhoneNumberPrefix(RegisterViewModel viewModel) => + PhoneNumberPrefix(selected: viewModel.focusPhoneNumber); + + Widget _buildPhoneNumberFormFieldWrapper(RegisterViewModel viewModel) => + Expanded(child: _buildPhoneNumberFormField(viewModel)); + + Widget _buildPhoneNumberFormField(RegisterViewModel viewModel) => + TextFormField( + maxLength: 9, + keyboardType: TextInputType.phone, + controller: phoneNumberController, + onTap: viewModel.setPhoneNumberFocus, + decoration: inputDecoration( + focus: viewModel.focusPhoneNumber, + filled: phoneNumberController.text.isNotEmpty), + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + ); + + Widget _buildPhoneNumberValidatorWrapper(RegisterViewModel viewModel) => + viewModel.hasPhoneNumberValidationMessage + ? _buildPhoneNumberValidator(viewModel) + : Container(); + + Widget _buildPhoneNumberValidator(RegisterViewModel viewModel) => Text( + viewModel.phoneNumberValidationMessage!, + style: const TextStyle( + fontSize: 12, + color: Colors.red, + fontWeight: FontWeight.w700, + ), + ); + + Widget _buildLowerColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(RegisterViewModel viewModel) => [ + _buildContinueButton(viewModel), + _buildOptionTextDivider(), + _buildRegisterWitPhoneNumberButton(viewModel), + verticalSpaceMedium + ]; + + Widget _buildOptionTextDivider() => const OptionTextDivider(); + + Widget _buildContinueButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + onTap: phoneNumberController.text.isNotEmpty + ? () => viewModel.goTo(page: 3, type: RegistrationType.phone) + : null, + backgroundColor: phoneNumberController.text.isNotEmpty + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + ); + + Widget _buildRegisterWitPhoneNumberButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + backgroundColor: kcWhite, + leadingIcon: Icons.email, + borderColor: kcPrimaryColor, + text: 'Register with Email', + foregroundColor: kcPrimaryColor, + onTap: () => viewModel.goTo(page: 0), + ); +} diff --git a/lib/ui/views/register/screens/registration_otp_screen.dart b/lib/ui/views/register/screens/registration_otp_screen.dart new file mode 100644 index 0000000..8076159 --- /dev/null +++ b/lib/ui/views/register/screens/registration_otp_screen.dart @@ -0,0 +1,175 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_timer_countdown/flutter_timer_countdown.dart'; +import 'package:pinput/pinput.dart'; +import 'package:stacked/stacked.dart'; + +import 'package:yimaru_app/ui/views/register/register_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_cursor.dart'; + +import '../../../common/app_colors.dart'; +import '../../../common/ui_helpers.dart'; +import '../../../widgets/custom_elevated_button.dart'; + +import '../register_view.form.dart'; + +class RegistrationOtpScreen extends ViewModelWidget { + final TextEditingController otpController; + final TextEditingController emailController; + final TextEditingController phoneNumberController; + + const RegistrationOtpScreen( + {super.key, + required this.otpController, + required this.emailController, + required this.phoneNumberController}); + + Future _verifyOtp(RegisterViewModel viewModel) async { + FocusManager.instance.primaryFocus?.unfocus(); + + Map data = { + 'otp': otpController.text, + 'email': emailController.text, + }; + viewModel.clearUserData(); + viewModel.addUserData(data); + + await viewModel.verifyOtp(); + } + + @override + Widget build(BuildContext context, RegisterViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(RegisterViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(RegisterViewModel viewModel) => + [_buildColumnScroller(viewModel), _buildContinueButtonWrapper(viewModel)]; + + Widget _buildColumnScroller(RegisterViewModel viewModel) => + SingleChildScrollView( + child: _buildUpperColumn(viewModel), + ); + + Widget _buildUpperColumn(RegisterViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(RegisterViewModel viewModel) => [ + verticalSpaceMedium, + _buildTitle(), + verticalSpaceMedium, + _buildSubtitleWrapper(), + verticalSpaceMedium, + _buildPinPutWrapper(viewModel), + if (viewModel.hasOtpValidationMessage && viewModel.focusOtp) + verticalSpaceTiny, + if (viewModel.hasOtpValidationMessage && viewModel.focusOtp) + _buildOtpValidatorWrapper(viewModel), + verticalSpaceSmall, + _buildTimerWrapper(viewModel) + ]; + + Widget _buildTitle() => Text( + 'Verification Code', + style: style25DG600, + ); + + Widget _buildSubtitleWrapper() => + phoneNumberController.text.length == 9 ? _buildSubtitle() : Container(); + + Widget _buildSubtitle() => Text( + 'Code sent to your number +251${phoneNumberController.text.substring(0, 5)}****', + style: style14DG400, + ); + + Widget _buildPinPutWrapper(RegisterViewModel viewModel) => Center( + child: _buildPinPut(viewModel), + ); + + Widget _buildPinPut(RegisterViewModel viewModel) => Pinput( + length: 6, + controller: otpController, + defaultPinTheme: defaultPin, + cursor: const CustomCursor(), + errorPinTheme: errorPinTheme, + onTap: viewModel.setOtpFocus, + focusNode: viewModel.focusNode, + errorTextStyle: validationStyle, + //smsRetriever: locator(), + focusedPinTheme: focusedThemePin, + submittedPinTheme: submittedThemePin, + hapticFeedbackType: HapticFeedbackType.heavyImpact, + separatorBuilder: (index) => const SizedBox(width: 10), + onCompleted: (otp) async => await _verifyOtp(viewModel), + ); + + Widget _buildOtpValidatorWrapper(RegisterViewModel viewModel) => + viewModel.hasOtpValidationMessage + ? _buildOtpValidator(viewModel) + : Container(); + + Widget _buildOtpValidator(RegisterViewModel viewModel) => Text( + viewModel.otpValidationMessage!, + style: style12R700, + ); + + Widget _buildTimerWrapper(RegisterViewModel viewModel) => + !viewModel.buttonActive + ? _buildTimerSection(viewModel) + : _buildResendButton(viewModel); + + Widget _buildResendButton(RegisterViewModel viewModel) => TextButton( + onPressed: () async => await viewModel.resendOtp(), + child: _buildResendText()); + + Widget _buildResendText() => Text( + 'Resend code', + style: style14P600.copyWith(fontStyle: FontStyle.italic), + ); + + Widget _buildTimerSection(RegisterViewModel viewModel) => Row( + children: [ + _buildCountdownText(), + horizontalSpaceSmall, + _buildTimer(viewModel) + ], + ); + + Widget _buildCountdownText() => Text('Resend code in ', style: style14DG400); + + Widget _buildTimer(RegisterViewModel viewModel) => TimerCountdown( + enableDescriptions: false, + timeTextStyle: style14P600, + endTime: viewModel.resendTime, + onEnd: viewModel.setResendButton, + format: CountDownTimerFormat.minutesSeconds, + colonsTextStyle: const TextStyle(color: kcPrimaryColor), + ); + + Widget _buildContinueButtonWrapper(RegisterViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(RegisterViewModel viewModel) => + CustomElevatedButton( + height: 55, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: + otpController.text.length == 6 && !viewModel.hasOtpValidationMessage + ? kcPrimaryColor + : kcPrimaryColor.withOpacity(0.1), + onTap: + otpController.text.length == 6 && !viewModel.hasOtpValidationMessage + ? () async => await _verifyOtp(viewModel) + : null, + ); +} diff --git a/lib/ui/views/startup/startup_view.dart b/lib/ui/views/startup/startup_view.dart new file mode 100644 index 0000000..77f9458 --- /dev/null +++ b/lib/ui/views/startup/startup_view.dart @@ -0,0 +1,101 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_circular_progress_indicator.dart'; + +import '../../common/app_colors.dart'; +import 'startup_viewmodel.dart'; + +class StartupView extends StackedView { + final String label; + const StartupView({Key? key, this.label = 'Loading'}) : super(key: key); + + @override + Widget builder( + BuildContext context, + StartupViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(); + + Widget _buildScaffoldWrapper() => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(), + ); + + Widget _buildScaffold() => Stack( + children: _buildScaffoldChildren(), + ); + + List _buildScaffoldChildren() => [ + _buildBackground(), + _buildColumn(), + ]; + + Widget _buildBackground() => Image.asset( + 'assets/images/onboarding_1.png', + fit: BoxFit.fill, + width: double.maxFinite, + height: double.maxFinite, + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(), + ); + + List _buildUpperColumnChildren() => + [_buildIconWrapper(), _buildSafeWrapper()]; + + Widget _buildSafeWrapper() => SafeArea(child: _buildLoadingTextContainer()); + + Widget _buildLoadingTextContainer() => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildLoadingTextWrapper(), + ); + + Widget _buildLoadingTextWrapper() => Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: _buildLoadingTextChildren(), + ); + + List _buildLoadingTextChildren() => [ + _buildLoadingText(), + horizontalSpaceSmall, + _buildIndicatorWrapper(), + ]; + + Widget _buildLoadingText() => + Text('$label ...', style: const TextStyle(color: kcWhite, fontSize: 16)); + + Widget _buildIndicatorWrapper() => SizedBox( + width: 16, + height: 16, + child: _buildIndicator(), + ); + + Widget _buildIndicator() => + const CustomCircularProgressIndicator(color: kcWhite); + + Widget _buildIconWrapper() => Padding( + padding: const EdgeInsets.only(top: 100), + child: _buildIcon(), + ); + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/logo.svg', + height: 50, + ); + + @override + StartupViewModel viewModelBuilder(BuildContext context) => StartupViewModel(); + + @override + void onViewModelReady(StartupViewModel viewModel) => SchedulerBinding.instance + .addPostFrameCallback((timeStamp) => viewModel.runStartupLogic()); +} diff --git a/lib/ui/views/startup/startup_viewmodel.dart b/lib/ui/views/startup/startup_viewmodel.dart new file mode 100644 index 0000000..6a677e5 --- /dev/null +++ b/lib/ui/views/startup/startup_viewmodel.dart @@ -0,0 +1,27 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/services/authentication_service.dart'; + +import '../../../app/app.locator.dart'; +import '../../../app/app.router.dart'; + +class StartupViewModel extends BaseViewModel { + final _navigationService = locator(); + final _authenticationService = locator(); + + // Place anything here that needs to happen before we get into the application + Future runStartupLogic() async { + final loggedIn = await _authenticationService.userLoggedIn(); + final firstTimeInstall = await _authenticationService.isFirstTimeInstall(); + + if (firstTimeInstall) { + _navigationService.replaceWithWelcomeView(); + } else { + if (loggedIn) { + _navigationService.replaceWithHomeView(); + } else { + _navigationService.replaceWithLoginView(); + } + } + } +} diff --git a/lib/ui/views/support/support_view.dart b/lib/ui/views/support/support_view.dart new file mode 100644 index 0000000..0010b9f --- /dev/null +++ b/lib/ui/views/support/support_view.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/support_card.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/small_app_bar.dart'; +import 'support_viewmodel.dart'; + +class SupportView extends StackedView { + const SupportView({Key? key}) : super(key: key); + + @override + SupportViewModel viewModelBuilder(BuildContext context) => SupportViewModel(); + + @override + Widget builder( + BuildContext context, + SupportViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(SupportViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(SupportViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(SupportViewModel viewModel) => _buildBody(viewModel); + + Widget _buildBody(SupportViewModel viewModel) => _buildColumn(viewModel); + + Widget _buildColumn(SupportViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(SupportViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + verticalSpaceSmall, + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppBarWrapper(SupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(SupportViewModel viewModel) => SmallAppBar( + title: 'Need Help?', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(SupportViewModel viewModel) => + Expanded(child: _buildContentColumnWrapper(viewModel)); + + Widget _buildContentColumnWrapper(SupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildMenuColumnScrollView(viewModel), + ); + + Widget _buildMenuColumnScrollView(SupportViewModel viewModel) => + SingleChildScrollView( + child: _buildMenuColumn(viewModel), + ); + + Widget _buildMenuColumn(SupportViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildMenuColumnChildren(viewModel), + ); + + List _buildMenuColumnChildren(SupportViewModel viewModel) => [ + verticalSpaceLarge, + _buildCallSupport(viewModel), + verticalSpaceMedium, + _buildTelegramSupport(viewModel) + ]; + + Widget _buildCallSupport(SupportViewModel viewModel) => SupportCard( + icon: Icons.call, + color: kcPrimaryColor, + title: 'Call Support', + subtitle: 'Talk with our support team directly', + onTap: () async => await viewModel.navigateToCallSupport(), + ); + + Widget _buildTelegramSupport(SupportViewModel viewModel) => SupportCard( + color: kcSkyBlue, + icon: Icons.telegram, + title: 'Telegram Support', + subtitle: 'Chat Instantly via Telegram', + onTap: () async => await viewModel.navigateToTelegramSupport(), + ); +} diff --git a/lib/ui/views/support/support_viewmodel.dart b/lib/ui/views/support/support_viewmodel.dart new file mode 100644 index 0000000..9691bf3 --- /dev/null +++ b/lib/ui/views/support/support_viewmodel.dart @@ -0,0 +1,18 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; + +import '../../../app/app.locator.dart'; + +class SupportViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Navigation + void pop() => _navigationService.back(); + + Future navigateToTelegramSupport() async => + await _navigationService.navigateToTelegramSupportView(); + + Future navigateToCallSupport() async => + await _navigationService.navigateToCallSupportView(); +} diff --git a/lib/ui/views/telegram_support/telegram_support_view.dart b/lib/ui/views/telegram_support/telegram_support_view.dart new file mode 100644 index 0000000..0d5507e --- /dev/null +++ b/lib/ui/views/telegram_support/telegram_support_view.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/widgets/circular_icon.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/option_text_divider.dart'; +import '../../widgets/small_app_bar.dart'; +import 'telegram_support_viewmodel.dart'; + +class TelegramSupportView extends StackedView { + const TelegramSupportView({Key? key}) : super(key: key); + + @override + TelegramSupportViewModel viewModelBuilder(BuildContext context) => + TelegramSupportViewModel(); + + @override + Widget builder( + BuildContext context, + TelegramSupportViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(TelegramSupportViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(TelegramSupportViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(TelegramSupportViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildBodyChildren(viewModel), + ); + + List _buildBodyChildren(TelegramSupportViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + _buildExpandedColumn(viewModel) + ]; + + Widget _buildAppBarWrapper(TelegramSupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(TelegramSupportViewModel viewModel) => SmallAppBar( + title: 'Telegram Support', + onTap: viewModel.pop, + ); + + Widget _buildExpandedColumn(TelegramSupportViewModel viewModel) => + Expanded(child: _buildColumnWrapper(viewModel)); + + Widget _buildColumnWrapper(TelegramSupportViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(TelegramSupportViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(TelegramSupportViewModel viewModel) => + [_buildUpperColumn(viewModel), _buildLowerColumn(viewModel)]; + + Widget _buildUpperColumn(TelegramSupportViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(viewModel), + ); + + List _buildUpperColumnChildren(TelegramSupportViewModel viewModel) => + [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + ]; + + Widget _buildIcon() => + const CircularIcon(icon: Icons.telegram, size: 50, color: kcSkyBlue); + + Widget _buildTitle() => const Text( + 'Join Yimaru Academy on Telegram', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => const Text( + 'Connect with our support team instantly on Telegram for quick assistance and community updates', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildLowerColumn(TelegramSupportViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + children: _buildLowerColumnChildren(viewModel), + ); + + List _buildLowerColumnChildren(TelegramSupportViewModel viewModel) => + [ + _buildContinueButton(viewModel), + verticalSpaceSmall, + _buildOptionTextDivider(), + verticalSpaceSmall, + _buildSearchText(), + verticalSpaceMedium + ]; + + Widget _buildContinueButton(TelegramSupportViewModel viewModel) => + const CustomElevatedButton( + height: 55, + borderRadius: 12, + leadingIcon: Icons.telegram, + text: 'Open in Telegram', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); + + Widget _buildOptionTextDivider() => const OptionTextDivider(); + + Widget _buildSearchText() => const Text.rich( + TextSpan( + text: 'Search for', + style: TextStyle( + color: kcDarkGrey, + ), + children: [ + TextSpan( + text: ' @YimaruSupport', + style: TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ) + ]), + ); +} diff --git a/lib/ui/views/telegram_support/telegram_support_viewmodel.dart b/lib/ui/views/telegram_support/telegram_support_viewmodel.dart new file mode 100644 index 0000000..c9f6120 --- /dev/null +++ b/lib/ui/views/telegram_support/telegram_support_viewmodel.dart @@ -0,0 +1,9 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class TelegramSupportViewModel extends BaseViewModel { + final _navigationService = locator(); + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/terms_and_conditions/terms_and_conditions_view.dart b/lib/ui/views/terms_and_conditions/terms_and_conditions_view.dart new file mode 100644 index 0000000..2b03944 --- /dev/null +++ b/lib/ui/views/terms_and_conditions/terms_and_conditions_view.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_html/flutter_html.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_strings.dart'; + +import '../../common/app_colors.dart'; +import '../../common/ui_helpers.dart'; +import '../../widgets/custom_elevated_button.dart'; +import '../../widgets/small_app_bar.dart'; +import 'terms_and_conditions_viewmodel.dart'; + +class TermsAndConditionsView extends StackedView { + const TermsAndConditionsView({Key? key}) : super(key: key); + + @override + TermsAndConditionsViewModel viewModelBuilder(BuildContext context) => + TermsAndConditionsViewModel(); + + @override + Widget builder( + BuildContext context, + TermsAndConditionsViewModel viewModel, + Widget? child, + ) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(TermsAndConditionsViewModel viewModel) => + Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(TermsAndConditionsViewModel viewModel) => + SafeArea(child: _buildBodyWrapper(viewModel)); + + Widget _buildBodyWrapper(TermsAndConditionsViewModel viewModel) => + _buildBody(viewModel); + + Widget _buildBody(TermsAndConditionsViewModel viewModel) => + _buildColumn(viewModel); + + Widget _buildColumn(TermsAndConditionsViewModel viewModel) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(TermsAndConditionsViewModel viewModel) => [ + verticalSpaceMedium, + _buildAppBarWrapper(viewModel), + verticalSpaceSmall, + _buildContentWrapper(viewModel) + ]; + + Widget _buildAppBarWrapper(TermsAndConditionsViewModel viewModel) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildAppbar(viewModel), + ); + + Widget _buildAppbar(TermsAndConditionsViewModel viewModel) => SmallAppBar( + title: 'Terms and Conditions', + onTap: viewModel.pop, + ); + + Widget _buildContentWrapper(TermsAndConditionsViewModel viewModel) => + Expanded(child: _buildContentColumnWrapper(viewModel)); + + Widget _buildContentColumnWrapper(TermsAndConditionsViewModel viewModel) => + Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildMenuColumnScrollView(viewModel), + ); + + Widget _buildMenuColumnScrollView(TermsAndConditionsViewModel viewModel) => + SingleChildScrollView( + child: _buildContentColumn(), + ); + + Widget _buildContentColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildContentColumnChildren(), + ); + + List _buildContentColumnChildren() => [ + _buildContent(), + verticalSpaceMedium, + _buildDownloadButtonWrapper(), + ]; + + Widget _buildContent() => Html( + data: ksTerms, + shrinkWrap: true, + style: htmlStyle, + ); + + Widget _buildDownloadButtonWrapper() => Padding( + padding: const EdgeInsets.only(bottom: 50), + child: _buildDownloadButton(), + ); + + Widget _buildDownloadButton() => const CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Download PDF', + leadingIcon: Icons.download, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/terms_and_conditions/terms_and_conditions_viewmodel.dart b/lib/ui/views/terms_and_conditions/terms_and_conditions_viewmodel.dart new file mode 100644 index 0000000..589a058 --- /dev/null +++ b/lib/ui/views/terms_and_conditions/terms_and_conditions_viewmodel.dart @@ -0,0 +1,11 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; + +import '../../../app/app.locator.dart'; + +class TermsAndConditionsViewModel extends BaseViewModel { + final _navigationService = locator(); + + // Navigation + void pop() => _navigationService.back(); +} diff --git a/lib/ui/views/welcome/screens/first_welcome_screen.dart b/lib/ui/views/welcome/screens/first_welcome_screen.dart new file mode 100644 index 0000000..7efacdd --- /dev/null +++ b/lib/ui/views/welcome/screens/first_welcome_screen.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; + +import '../welcome_viewmodel.dart'; + +class FirstWelcomeScreen extends ViewModelWidget { + const FirstWelcomeScreen({super.key}); + + @override + Widget build(BuildContext context, WelcomeViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(WelcomeViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(WelcomeViewModel viewModel) => Stack( + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(WelcomeViewModel viewModel) => [ + _buildBackground(), + _buildColumnWrapper(), + _buildContinueButtonWrapper(viewModel) + ]; + + Widget _buildBackground() => Image.asset( + 'assets/images/onboarding_1.png', + fit: BoxFit.fill, + width: double.maxFinite, + height: double.maxFinite, + ); + + Widget _buildColumnWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(), + ); + + List _buildUpperColumnChildren() => [ + verticalSpaceMassive, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/logo.svg', + height: 50, + ); + + Widget _buildTitle() => const Text( + 'Small daily practice. Big lifelong results.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + color: kcWhite, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildContinueButtonWrapper(WelcomeViewModel viewModel) => Align( + alignment: Alignment.bottomCenter, + child: _buildButtonContainer(viewModel), + ); + + Widget _buildButtonContainer(WelcomeViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50, right: 50, left: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(WelcomeViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Start Learning', + backgroundColor: kcWhite, + trailingIcon: Icons.arrow_forward, + onTap: () => viewModel.next(), + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/welcome/screens/second_welcome_screen.dart b/lib/ui/views/welcome/screens/second_welcome_screen.dart new file mode 100644 index 0000000..cf3cf5c --- /dev/null +++ b/lib/ui/views/welcome/screens/second_welcome_screen.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; + +import '../welcome_viewmodel.dart'; + +class SecondWelcomeScreen extends ViewModelWidget { + const SecondWelcomeScreen({super.key}); + + @override + Widget build(BuildContext context, WelcomeViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(WelcomeViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(WelcomeViewModel viewModel) => Stack( + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(WelcomeViewModel viewModel) => [ + _buildBackground(), + _buildColumnWrapper(), + _buildContinueButtonWrapper(viewModel) + ]; + + Widget _buildBackground() => Image.asset( + 'assets/images/onboarding_2.png', + fit: BoxFit.fill, + width: double.maxFinite, + height: double.maxFinite, + ); + + Widget _buildColumnWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(), + ); + + List _buildUpperColumnChildren() => [ + verticalSpaceMassive, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/logo.svg', + height: 50, + ); + + Widget _buildTitle() => const Text( + 'Start speaking, Confidence will follow.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + color: kcWhite, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildContinueButtonWrapper(WelcomeViewModel viewModel) => Align( + alignment: Alignment.bottomCenter, + child: _buildButtonContainer(viewModel), + ); + + Widget _buildButtonContainer(WelcomeViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50, right: 50, left: 50), + child: _buildContinueButton(viewModel), + ); + + Widget _buildContinueButton(WelcomeViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Start Learning', + backgroundColor: kcWhite, + trailingIcon: Icons.arrow_forward, + onTap: () => viewModel.next(), + foregroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/views/welcome/screens/third_welcome_screen.dart b/lib/ui/views/welcome/screens/third_welcome_screen.dart new file mode 100644 index 0000000..b9a633e --- /dev/null +++ b/lib/ui/views/welcome/screens/third_welcome_screen.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_elevated_button.dart'; + +import '../../../widgets/custom_circular_progress_indicator.dart'; +import '../welcome_viewmodel.dart'; + +class ThirdWelcomeScreen extends ViewModelWidget { + const ThirdWelcomeScreen({super.key}); + + @override + Widget build(BuildContext context, WelcomeViewModel viewModel) => + _buildScaffoldWrapper(viewModel); + + Widget _buildScaffoldWrapper(WelcomeViewModel viewModel) => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(viewModel), + ); + + Widget _buildScaffold(WelcomeViewModel viewModel) => Stack( + children: _buildScaffoldChildren(viewModel), + ); + + List _buildScaffoldChildren(WelcomeViewModel viewModel) => [ + _buildBackground(), + _buildColumnWrapper(), + _buildContinueButtonWrapper(viewModel) + ]; + + Widget _buildBackground() => Image.asset( + 'assets/images/onboarding_3.png', + fit: BoxFit.fill, + width: double.maxFinite, + height: double.maxFinite, + ); + + Widget _buildColumnWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _buildUpperColumnChildren(), + ); + + List _buildUpperColumnChildren() => [ + verticalSpaceMassive, + _buildIcon(), + verticalSpaceMedium, + _buildTitle(), + ]; + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/logo.svg', + height: 50, + ); + + Widget _buildTitle() => const Text( + 'Every conversation brings you closer to the life you want.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + color: kcWhite, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildContinueButtonWrapper(WelcomeViewModel viewModel) => Align( + alignment: Alignment.bottomCenter, + child: _buildButtonContainer(viewModel), + ); + + Widget _buildButtonContainer(WelcomeViewModel viewModel) => Padding( + padding: const EdgeInsets.only(bottom: 50, right: 50, left: 50), + child: _buildContinueButtonState(viewModel), + ); + + Widget _buildContinueButtonState(WelcomeViewModel viewModel) => + viewModel.isBusy ? _buildIndicator() : _buildContinueButton(viewModel); + + Widget _buildIndicator() => + const CustomCircularProgressIndicator(color: kcWhite); + + Widget _buildContinueButton(WelcomeViewModel viewModel) => + CustomElevatedButton( + height: 55, + borderRadius: 12, + text: 'Start Learning', + backgroundColor: kcWhite, + foregroundColor: kcPrimaryColor, + trailingIcon: Icons.arrow_forward, + onTap: () async => await viewModel.setFirstTimeInstall(), + ); +} diff --git a/lib/ui/views/welcome/welcome_view.dart b/lib/ui/views/welcome/welcome_view.dart new file mode 100644 index 0000000..7613e2c --- /dev/null +++ b/lib/ui/views/welcome/welcome_view.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; + +import 'screens/first_welcome_screen.dart'; +import 'screens/second_welcome_screen.dart'; +import 'screens/third_welcome_screen.dart'; +import 'welcome_viewmodel.dart'; + +class WelcomeView extends StackedView { + const WelcomeView({Key? key}) : super(key: key); + + @override + WelcomeViewModel viewModelBuilder(BuildContext context) => WelcomeViewModel(); + + @override + Widget builder( + BuildContext context, + WelcomeViewModel viewModel, + Widget? child, + ) => + _buildWelcomeScreens(viewModel); + + Widget _buildWelcomeScreens(WelcomeViewModel viewModel) => IndexedStack( + index: viewModel.currentPage, + children: _buildScreens(), + ); + + List _buildScreens() => + [_buildFirstWelcome(), _buildSecondWelcome(), _buildThirdWelcome()]; + + Widget _buildFirstWelcome() => const FirstWelcomeScreen(); + + Widget _buildSecondWelcome() => const SecondWelcomeScreen(); + + Widget _buildThirdWelcome() => const ThirdWelcomeScreen(); +} diff --git a/lib/ui/views/welcome/welcome_viewmodel.dart b/lib/ui/views/welcome/welcome_viewmodel.dart new file mode 100644 index 0000000..531b43b --- /dev/null +++ b/lib/ui/views/welcome/welcome_viewmodel.dart @@ -0,0 +1,35 @@ +import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; +import 'package:yimaru_app/app/app.router.dart'; +import 'package:yimaru_app/services/authentication_service.dart'; + +import '../../../app/app.locator.dart'; + +class WelcomeViewModel extends BaseViewModel { + final _navigationService = locator(); + + final _authenticationService = locator(); + + int _currentPage = 0; + + int get currentPage => _currentPage; + + Future setFirstTimeInstall() async { + await runBusyFuture(_setFirstTimeInstall()); + } + + // First time install + Future _setFirstTimeInstall() async { + await _authenticationService.setFirstTimeInstall(false); + await navigateToLogin(); + } + + // Navigation + Future navigateToLogin() async => + await _navigationService.navigateToLoginView(); + + void next() { + _currentPage++; + rebuildUi(); + } +} diff --git a/lib/ui/widgets/birthday_selector.dart b/lib/ui/widgets/birthday_selector.dart new file mode 100644 index 0000000..e6f3e7d --- /dev/null +++ b/lib/ui/widgets/birthday_selector.dart @@ -0,0 +1,102 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'package:omni_datetime_picker/omni_datetime_picker.dart'; + +class BirthdaySelector extends StatelessWidget { + final String? birthday; + final void Function(DateTime)? onSelected; + + const BirthdaySelector({super.key, this.birthday, this.onSelected}); + + DateTime _initialDate() { + try { + final parsedDate = format.parse(birthday ?? ''); + return parsedDate.isAfter(DateTime.now()) ? DateTime.now() : parsedDate; + } catch (_) { + return DateTime.now(); + } + } + + Future _pickDateTime( + BuildContext context, + ) async { + DateTime? dateTime = await showOmniDateTimePicker( + context: context, + is24HourMode: false, + isShowSeconds: false, + lastDate: DateTime.now(), + firstDate: DateTime(1900), + barrierDismissible: true, + initialDate: _initialDate(), + titleSeparator: const Divider(), + padding: const EdgeInsets.all(16), + type: OmniDateTimePickerType.date, + borderRadius: const BorderRadius.all(Radius.circular(15)), + insetPadding: const EdgeInsets.symmetric(horizontal: 40, vertical: 24), + title: const Text('Birthday', style: TextStyle(fontSize: 16)), + theme: ThemeData( + colorScheme: + const ColorScheme.light().copyWith(primary: kcPrimaryColor), + ), + ); + + if (dateTime != null) { + // String formattedDateTime = DateFormat('d MMM, yyyy').format(dateTime); + + if (onSelected != null) { + onSelected!(dateTime); + } + } + } + + @override + Widget build( + BuildContext context, + ) => + _buildButtonWrapper( + context, + ); + + Widget _buildButtonWrapper(BuildContext context) => Container( + height: 50, + width: double.maxFinite, + margin: const EdgeInsets.only(bottom: 15), + child: _buildContainerWrapper(context), + ); + + Widget _buildContainerWrapper(BuildContext context) => GestureDetector( + onTap: () async => await _pickDateTime( + context, + ), + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: kcPrimaryColor.withOpacity(0.1), + border: Border.all(color: kcPrimaryColor), + ), + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildButtonRowWrapper(), + ); + + Widget _buildButtonRowWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildButtonRowChildren(), + ); + + List _buildButtonRowChildren() => [_buildText(), _buildIcon()]; + + Widget _buildText() => Text( + birthday ?? 'Pick birthday', + style: const TextStyle(color: kcDarkGrey), + ); + + Widget _buildIcon() => const Icon( + Icons.calendar_month, + color: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/circular_icon.dart b/lib/ui/widgets/circular_icon.dart new file mode 100644 index 0000000..f1241a3 --- /dev/null +++ b/lib/ui/widgets/circular_icon.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +class CircularIcon extends StatelessWidget { + final Color color; + final double size; + final IconData icon; + const CircularIcon( + {super.key, required this.icon, required this.size, required this.color}); + + @override + Widget build(BuildContext context) => _buildIconWrapper(); + + Widget _buildIconWrapper() => CircleAvatar( + radius: size, + backgroundColor: color.withOpacity(0.25), + child: _buildIcon(), + ); + + Widget _buildIcon() => Icon( + icon, + size: size, + color: color, + ); +} diff --git a/lib/ui/widgets/coming_soon.dart b/lib/ui/widgets/coming_soon.dart new file mode 100644 index 0000000..3c5eb35 --- /dev/null +++ b/lib/ui/widgets/coming_soon.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +class ComingSoon extends StatelessWidget { + const ComingSoon({super.key}); + + @override + Widget build(BuildContext context) => _buildScaffoldWrapper(); + + Widget _buildScaffoldWrapper() => Scaffold( + backgroundColor: kcBackgroundColor, + body: _buildScaffold(), + ); + + Widget _buildScaffold() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildBodyWrapper(), + ); + + Widget _buildBodyWrapper() => Center( + child: _buildBody(), + ); + + Widget _buildBody() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildBodyChildren(), + ); + + List _buildBodyChildren() => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceSmall, + _buildTitle(), + ]; + + Widget _buildIcon() => Image.asset('assets/images/coming_soon.png'); + + Widget _buildTitle() => const Text( + 'Launching Very Soon!', + style: TextStyle( + fontSize: 22, + color: kcMediumGrey, + fontWeight: FontWeight.w700, + ), + ); +} diff --git a/lib/ui/widgets/course_level_card.dart b/lib/ui/widgets/course_level_card.dart new file mode 100644 index 0000000..b3e1074 --- /dev/null +++ b/lib/ui/widgets/course_level_card.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:yimaru_app/ui/widgets/progress_status.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'custom_elevated_button.dart'; + +class CourseLevelCard extends StatelessWidget { + final Color color; + final String icon; + final String title; + final String status; + final String subTitle; + final bool isCompleted; + final GestureTapCallback? onTap; + + const CourseLevelCard({ + super.key, + this.onTap, + required this.icon, + required this.title, + required this.color, + required this.status, + required this.subTitle, + required this.isCompleted, + }); + + @override + Widget build(BuildContext context) => _buildContainerWrapper(); + + Widget _buildContainerWrapper() => GestureDetector( + onTap: onTap, + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + width: 200, + padding: const EdgeInsets.all(15), + margin: const EdgeInsets.only(left: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => [ + _buildIconSection(), + verticalSpaceSmall, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle(), + verticalSpaceSmall, + _buildActionButton() + ]; + + Widget _buildIconSection() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildIconSectionChildren(), + ); + + List _buildIconSectionChildren() => + [_buildIcon(), _buildProgressStatus()]; + + Widget _buildIcon() => SvgPicture.asset( + icon, + height: 50, + width: 50, + ); + + Widget _buildProgressStatus() => ProgressStatus( + color: color, + status: status, + ); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => Expanded( + child: Text( + subTitle, + maxLines: 3, + style: const TextStyle(color: kcMediumGrey), + ), + ); + + Widget _buildActionButton() => CustomElevatedButton( + height: 15, + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + text: isCompleted ? 'Review Course' : 'Continue Learning', + ); +} diff --git a/lib/ui/widgets/course_progress_section.dart b/lib/ui/widgets/course_progress_section.dart new file mode 100644 index 0000000..ca54b1e --- /dev/null +++ b/lib/ui/widgets/course_progress_section.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/ongoing_progress/ongoing_progress_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'custom_column.dart'; +import 'custom_elevated_button.dart'; + +class CourseProgressSection extends ViewModelWidget { + const CourseProgressSection({super.key}); + + @override + Widget build(BuildContext context, OngoingProgressViewModel viewModel) => + _buildContainer(viewModel); + + Widget _buildContainer(OngoingProgressViewModel viewModel) => Container( + padding: const EdgeInsets.all(15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildColumn(viewModel), + ); + + Widget _buildColumn(OngoingProgressViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(viewModel), + ); + + List _buildColumnChildren(OngoingProgressViewModel viewModel) => [ + _buildIcon(), + verticalSpaceSmall, + _buildTitle('Course'), + verticalSpaceMedium, + _buildExpansionTileWrapper(viewModel) + ]; + + Widget _buildIcon() => const Icon( + Icons.book, + size: 50, + color: kcPrimaryColor, + ); + + Widget _buildExpansionTileWrapper(OngoingProgressViewModel viewModel) => + Column( + mainAxisSize: MainAxisSize.min, + children: viewModel.courses + .map( + (course) => _buildExpansionTileCard(course['title']), + ) + .toList(), + ); + + Widget _buildExpansionTileCard(String title) => Padding( + padding: const EdgeInsets.only(bottom: 15), + child: _buildExpansionTile(title), + ); + + Widget _buildExpansionTile(String title) => ExpansionTile( + showTrailingIcon: true, + initiallyExpanded: true, + title: _buildTitle(title), + iconColor: kcDarkGrey, + textColor: kcDarkGrey, + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + subtitle: _buildProgressIndicator(), + expandedAlignment: Alignment.centerLeft, + childrenPadding: const EdgeInsets.all(15), + controlAffinity: ListTileControlAffinity.trailing, + expandedCrossAxisAlignment: CrossAxisAlignment.start, + tilePadding: const EdgeInsets.symmetric(horizontal: 15), + shape: Border.all(color: kcPrimaryColor.withOpacity(0.2)), + children: _buildExpansionTileChildren(), + ); + + List _buildExpansionTileChildren() => [_buildTileWrapper()]; + + Widget _buildTitle(String title) => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildTileWrapper() => Column( + mainAxisSize: MainAxisSize.min, + children: _buildTileChildren(), + ); + + List _buildTileChildren() => + [_buildLearningStatus(), verticalSpaceSmall, _buildActionButton()]; + + Widget _buildProgressIndicator() => const CustomLinearProgressIndicator( + progress: 0.5, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + Widget _buildLearningStatus() => Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: _buildLearningStatusChildren(), + ); + + List _buildLearningStatusChildren() => [ + horizontalSpaceMedium, + _buildWatchedVideos(), + horizontalSpaceSmall, + _buildCompletedPractices(), + horizontalSpaceMedium, + ]; + + Widget _buildWatchedVideos() => + const CustomColumn(title: '15/25', subtitle: 'Videos'); + + Widget _buildCompletedPractices() => + const CustomColumn(title: '8/12', subtitle: 'Practices'); + + Widget _buildActionButton() => const CustomElevatedButton( + height: 15, + borderRadius: 12, + text: 'Continue Course', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/custom_back_button.dart b/lib/ui/widgets/custom_back_button.dart new file mode 100644 index 0000000..5e045fc --- /dev/null +++ b/lib/ui/widgets/custom_back_button.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class CustomBackButton extends StatelessWidget { + final GestureTapCallback? onTap; + const CustomBackButton({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildBackButtonWrapper(); + + Widget _buildBackButtonWrapper() => GestureDetector( + onTap: onTap, + child: _buildBackIcon(), + ); + + Widget _buildBackIcon() => const Icon( + Icons.arrow_back, + color: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/custom_bottom_sheet.dart b/lib/ui/widgets/custom_bottom_sheet.dart new file mode 100644 index 0000000..619bfcb --- /dev/null +++ b/lib/ui/widgets/custom_bottom_sheet.dart @@ -0,0 +1,64 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class CustomBottomSheet extends StatelessWidget { + final Widget child; + final GestureTapCallback? onTap; + + const CustomBottomSheet({super.key, this.onTap, required this.child}); + + @override + Widget build(BuildContext context) => _buildStackWrapper(); + + Widget _buildStackWrapper() => Container( + height: 400, + color: kcTransparent, + width: double.maxFinite, + child: _buildStack(), + ); + + Widget _buildStack() => Stack( + children: [_buildCloseButtonWrapper(), _buildSheetWrapper()], + ); + + Widget _buildCloseButtonWrapper() => Padding( + padding: const EdgeInsets.only(right: 15), + child: _buildCloseButtonAligner(), + ); + + Widget _buildCloseButtonAligner() => Align( + alignment: Alignment.topRight, + child: _buildCloseButtonDetector(), + ); + + Widget _buildCloseButtonDetector() => GestureDetector( + onTap: onTap, + child: _buildCloseButton(), + ); + + Widget _buildCloseButton() => CircleAvatar( + radius: 14, + backgroundColor: kcBackgroundColor, + child: _buildCloseIcon(), + ); + + Widget _buildCloseIcon() => const Icon( + Icons.close, + size: 14, + color: kcMediumGrey, + ); + + Widget _buildSheetWrapper() => Container( + height: double.maxFinite, + width: double.maxFinite, + decoration: const BoxDecoration( + color: kcBackgroundColor, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(12), + topRight: Radius.circular(12), + ), + ), + margin: const EdgeInsets.only(top: 50), + child: child, + ); +} diff --git a/lib/ui/widgets/custom_circular_progress_indicator.dart b/lib/ui/widgets/custom_circular_progress_indicator.dart new file mode 100644 index 0000000..64fab28 --- /dev/null +++ b/lib/ui/widgets/custom_circular_progress_indicator.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; + +class CustomCircularProgressIndicator extends StatelessWidget { + final Color color; + const CustomCircularProgressIndicator({super.key, required this.color}); + + @override + Widget build(BuildContext context) => _buildIndicator(); + + Widget _buildIndicator() => CircularProgressIndicator( + color: color, + strokeWidth: 6, + ); +} diff --git a/lib/ui/widgets/custom_column.dart b/lib/ui/widgets/custom_column.dart new file mode 100644 index 0000000..bb7488d --- /dev/null +++ b/lib/ui/widgets/custom_column.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +class CustomColumn extends StatelessWidget { + final String title; + final String subtitle; + const CustomColumn({super.key, required this.title, required this.subtitle}); + + @override + Widget build(BuildContext context) => _buildColumn(); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => + [_buildTitle(), verticalSpaceTiny, _buildSubtitle()]; + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + Widget _buildSubtitle() => Text( + subtitle, + maxLines: 1, + softWrap: false, + style: const TextStyle(color: kcMediumGrey), + ); +} diff --git a/lib/ui/widgets/custom_cursor.dart b/lib/ui/widgets/custom_cursor.dart new file mode 100644 index 0000000..358e817 --- /dev/null +++ b/lib/ui/widgets/custom_cursor.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class CustomCursor extends StatelessWidget { + const CustomCursor({super.key}); + + @override + Widget build(BuildContext context) => _buildCursor(); + + Widget _buildCursor() => Column( + mainAxisAlignment: MainAxisAlignment.end, + children: _buildPinIndicator(), + ); + + List _buildPinIndicator() => [ + Container( + width: 25, + height: 1, + color: kcPrimaryColor, + margin: const EdgeInsets.only(bottom: 9), + ), + ]; +} diff --git a/lib/ui/widgets/custom_dropdown.dart b/lib/ui/widgets/custom_dropdown.dart new file mode 100644 index 0000000..be63f7c --- /dev/null +++ b/lib/ui/widgets/custom_dropdown.dart @@ -0,0 +1,127 @@ +import 'dart:async'; + +import 'package:dropdown_search/dropdown_search.dart'; +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +class CustomDropdownPicker extends StatelessWidget { + final Icon? icon; + final String hint; + final String selectedItem; + final void Function(String?)? onChanged; + final FutureOr> Function(String value, LoadProps? props)? items; + + const CustomDropdownPicker( + {super.key, + this.icon, + required this.hint, + required this.items, + required this.onChanged, + required this.selectedItem}); + + @override + Widget build(BuildContext context) => _buildDropDownSearchWrapper(); + + Widget _buildDropDownSearchWrapper() => Theme( + data: ThemeData().copyWith(cardColor: kcBackgroundColor), + child: _buildDropDownSearch(), + ); + + Widget _buildDropDownSearch() => DropdownSearch( + popupProps: _popupProps(), + selectedItem: selectedItem, + onChanged: (value) => onChanged!(value), + decoratorProps: _dropDownDecoratorProps(), + dropdownBuilder: (context, value) => _buildDropdownBuilder(value), + items: (value, properties) async => await items!(value, properties), + ); + + PopupProps _popupProps() => PopupProps.menu( + showSearchBox: true, + showSelectedItems: true, + searchFieldProps: _searchFieldProps(), + menuProps: const MenuProps(color: kcBackgroundColor), + itemBuilder: (context, value, isSelected, isPicked) => + _buildPopupProsBuilderWrapper(value), + ); + + TextFieldProps _searchFieldProps() => TextFieldProps( + maxLines: 1, + autofocus: true, + style: const TextStyle( + fontSize: 14, + color: kcLightGrey, + ), + padding: EdgeInsets.zero, + cursorColor: kcLightGrey, + decoration: _popUpDecoration(), + ); + + InputDecoration _popUpDecoration() => InputDecoration( + filled: true, + errorBorder: searchBorder, + focusedBorder: searchBorder, + enabledBorder: searchBorder, + disabledBorder: searchBorder, + focusedErrorBorder: searchBorder, + hintStyle: const TextStyle( + fontSize: 14, + color: kcLightGrey, + ), + fillColor: kcPrimaryColor.withOpacity(0.1), + prefix: icon != null ? _buildPrefixIcon() : null, + contentPadding: const EdgeInsets.symmetric(vertical: 10, horizontal: 0), + ); + + Widget _buildPopupProsBuilderWrapper(String value) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12), + child: _buildPopupProsBuilder(value), + ); + + Widget _buildPopupProsBuilder(String value) => Text( + value, + maxLines: 1, + style: const TextStyle(color: kcDarkGrey, fontSize: 14), + ); + + DropDownDecoratorProps _dropDownDecoratorProps() => DropDownDecoratorProps( + decoration: _dropDownDecoration(), + textAlignVertical: TextAlignVertical.center, + ); + + InputDecoration _dropDownDecoration() => InputDecoration( + filled: true, + hintText: hint, + hintMaxLines: 1, + errorBorder: border, + focusedBorder: border, + enabledBorder: border, + disabledBorder: border, + focusedErrorBorder: border, + hintStyle: const TextStyle( + fontSize: 14, + color: kcLightGrey, + ), + fillColor: kcPrimaryColor.withOpacity(0.1), + contentPadding: + const EdgeInsets.symmetric(vertical: 10, horizontal: 15), + ); + + Widget _buildPrefixIcon() => Container( + width: 30, + alignment: Alignment.center, + decoration: BoxDecoration(border: rightBorder), + margin: const EdgeInsets.only(right: 25, bottom: 7.5, left: 5), + child: icon, + ); + + Widget _buildDropdownBuilder(String? value) => Text( + value ?? hint, + maxLines: 1, + style: const TextStyle( + fontSize: 14, + color: kcDarkGrey, + ), + ); +} diff --git a/lib/ui/widgets/custom_elevated_button.dart b/lib/ui/widgets/custom_elevated_button.dart new file mode 100644 index 0000000..b44e509 --- /dev/null +++ b/lib/ui/widgets/custom_elevated_button.dart @@ -0,0 +1,97 @@ +import 'package:flutter/material.dart'; + +class CustomElevatedButton extends StatelessWidget { + final bool safe; + final String text; + final double width; + final double height; + final Color? borderColor; + final double borderRadius; + final String? leadingImage; + final IconData? leadingIcon; + final Color backgroundColor; + final Color foregroundColor; + final String? trailingImage; + final IconData? trailingIcon; + final GestureTapCallback? onTap; + + const CustomElevatedButton({ + super.key, + this.onTap, + this.leadingIcon, + this.borderColor, + this.safe = true, + this.leadingImage, + this.trailingIcon, + required this.text, + this.trailingImage, + required this.height, + this.borderRadius = 0, + required this.backgroundColor, + required this.foregroundColor, + this.width = double.maxFinite, + }); + + @override + Widget build(BuildContext context) => _buildSafeWrapper(); + + Widget _buildSafeWrapper() => + SafeArea(bottom: safe, child: _buildButtonWrapper()); + + Widget _buildButtonWrapper() => + SizedBox(height: 50, width: width, child: _buildButton()); + + Widget _buildButton() => OutlinedButton( + onPressed: onTap, + style: OutlinedButton.styleFrom( + backgroundColor: backgroundColor, + side: borderColor == null + ? BorderSide.none + : BorderSide(color: borderColor!), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(borderRadius)), + ), + child: _buildRow(), + ); + + Widget _buildRow() => Row( + mainAxisAlignment: MainAxisAlignment.center, + children: _buildRowChildren(), + ); + + List _buildRowChildren() => [ + if (leadingIcon != null) _buildIcon(leadingIcon!), + if (leadingImage != null) _buildImage(leadingImage!), + if (leadingIcon != null || leadingImage != null) + const SizedBox(width: 5), + leadingIcon == null && + trailingIcon == null && + leadingImage == null && + trailingImage == null + ? _buildExpandedText() + : _buildText(), + if (trailingIcon != null || trailingImage != null) + const SizedBox(width: 5), + if (trailingIcon != null) _buildIcon(trailingIcon!), + if (trailingImage != null) _buildImage(trailingImage!), + ]; + + Widget _buildIcon(IconData icon) => Icon( + icon, + color: foregroundColor, + ); + + Widget _buildImage(String image) => Image.asset(image); + + Widget _buildExpandedText() => Expanded( + child: _buildText(), + ); + + Widget _buildText() => Text( + text, + maxLines: 1, + softWrap: false, + textAlign: TextAlign.center, + style: TextStyle(color: foregroundColor, fontWeight: FontWeight.bold), + ); +} diff --git a/lib/ui/widgets/custom_form_label.dart b/lib/ui/widgets/custom_form_label.dart new file mode 100644 index 0000000..2b1142c --- /dev/null +++ b/lib/ui/widgets/custom_form_label.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class CustomFormLabel extends StatelessWidget { + final String label; + final TextStyle style; + + const CustomFormLabel({super.key, required this.label, required this.style}); + + @override + Widget build(BuildContext context) => _buildLabel(); + + Widget _buildLabel() => Text( + label, + style: style, + ); +} diff --git a/lib/ui/widgets/custom_large_radio_button.dart b/lib/ui/widgets/custom_large_radio_button.dart new file mode 100644 index 0000000..8a7bbd7 --- /dev/null +++ b/lib/ui/widgets/custom_large_radio_button.dart @@ -0,0 +1,86 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class CustomLargeRadioButton extends StatelessWidget { + final String title; + final bool selected; + final IconData icon; + final String subtitle; + final GestureTapCallback? onTap; + + const CustomLargeRadioButton( + {super.key, + this.onTap, + required this.title, + required this.icon, + required this.selected, + required this.subtitle}); + + @override + Widget build(BuildContext context) => _buildButtonWrapper(); + + Widget _buildButtonWrapper() => Container( + height: 125, + width: double.maxFinite, + margin: const EdgeInsets.only(bottom: 15), + child: _buildContainerWrapper(), + ); + + Widget _buildContainerWrapper() => GestureDetector( + onTap: onTap, + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: selected ? kcPrimaryColor.withOpacity(0.1) : kcWhite, + border: Border.all( + color: selected ? kcPrimaryColor : kcPrimaryColor.withOpacity(0.75), + ), + ), + child: _buildButtonColumnWrapper(), + ); + + Widget _buildButtonColumnWrapper() => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildButtonRowChildren(), + ); + + List _buildButtonRowChildren() => + [_buildIconSectionWrapper(), _buildTitle(), _buildSubTitle()]; + + Widget _buildIconSectionWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildIconSectionChildren(), + ); + + List _buildIconSectionChildren() => + [_buildLeadingIcon(), _buildSelectedCheckBox()]; + + Widget _buildLeadingIcon() => Icon( + icon, + size: 25, + color: kcPrimaryColor, + ); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 18, + color: kcDarkGrey, + fontWeight: FontWeight.w500, + ), + ); + + Widget _buildSubTitle() => Text( + subtitle, + style: const TextStyle(color: kcMediumGrey), + ); + + Widget _buildSelectedCheckBox() => Checkbox( + value: selected, + activeColor: kcPrimaryColor, + onChanged: (value) => onTap); +} diff --git a/lib/ui/widgets/custom_linear_progress_indicator.dart b/lib/ui/widgets/custom_linear_progress_indicator.dart new file mode 100644 index 0000000..6651618 --- /dev/null +++ b/lib/ui/widgets/custom_linear_progress_indicator.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; + +class CustomLinearProgressIndicator extends StatelessWidget { + final double progress; + final Color activeColor; + final Color backgroundColor; + + const CustomLinearProgressIndicator( + {super.key, + required this.progress, + required this.activeColor, + required this.backgroundColor}); + + @override + Widget build(BuildContext context) => _buildProgressIndicatorWrapper(); + + Widget _buildProgressIndicatorWrapper() => SizedBox( + height: 5, + width: double.maxFinite, + child: _buildProgressIndicatorClipper(), + ); + + Widget _buildProgressIndicatorClipper() => ClipRRect( + borderRadius: BorderRadius.circular(10), + child: _buildProgressIndicator(), + ); + + Widget _buildProgressIndicator() => LinearProgressIndicator( + value: progress, + color: activeColor, + backgroundColor: backgroundColor, + ); +} diff --git a/lib/ui/widgets/custom_list_tile.dart b/lib/ui/widgets/custom_list_tile.dart new file mode 100644 index 0000000..c345915 --- /dev/null +++ b/lib/ui/widgets/custom_list_tile.dart @@ -0,0 +1,70 @@ +import 'package:flutter/material.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; + +class CustomListTile extends StatelessWidget { + final String title; + final IconData icon; + final String? language; + final bool? isLanguage; + final GestureTapCallback? onTap; + + const CustomListTile({ + super.key, + this.onTap, + this.language, + this.isLanguage, + required this.icon, + required this.title, + }); + + @override + Widget build(BuildContext context) => _buildLitTile(); + + Widget _buildLitTile() => ListTile( + onTap: onTap, + title: _buildTitle(), + leading: _buildLeading(), + trailing: _buildTrailing(), + ); + + Widget _buildLeading() => Icon( + icon, + color: kcPrimaryColor, + ); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + color: kcDarkGrey, + ), + ); + + Widget _buildTrailing() => + isLanguage != null ? _buildTrailingRow() : _buildTrailingIcon(); + + Widget _buildTrailingRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildTrailingChildren(), + ); + + List _buildTrailingChildren() => [ + if (language != null) _buildTrailingText(), + if (language != null) horizontalSpaceSmall, + _buildTrailingIcon() + ]; + + Widget _buildTrailingText() => Text( + language ?? '', + style: const TextStyle( + fontSize: 12, + color: kcDarkGrey, + ), + ); + + Widget _buildTrailingIcon() => const Icon( + Icons.keyboard_arrow_right, + color: kcLightGrey, + ); +} diff --git a/lib/ui/widgets/custom_small_radio_button.dart b/lib/ui/widgets/custom_small_radio_button.dart new file mode 100644 index 0000000..7f6061f --- /dev/null +++ b/lib/ui/widgets/custom_small_radio_button.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class CustomSmallRadioButton extends StatelessWidget { + final String title; + final bool selected; + final GestureTapCallback? onTap; + + const CustomSmallRadioButton( + {super.key, required this.title, required this.selected, this.onTap}); + + @override + Widget build(BuildContext context) => _buildButtonWrapper(); + + Widget _buildButtonWrapper() => Container( + height: 50, + width: double.maxFinite, + margin: const EdgeInsets.only(bottom: 15), + child: _buildContainerWrapper(), + ); + + Widget _buildContainerWrapper() => GestureDetector( + onTap: onTap, + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: selected ? kcPrimaryColor.withOpacity(0.1) : kcWhite, + border: Border.all( + color: selected ? kcPrimaryColor : kcPrimaryColor.withOpacity(0.75), + ), + ), + child: _buildButtonRowWrapper(), + ); + + Widget _buildButtonRowWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildButtonRowChildren(), + ); + + List _buildButtonRowChildren() => + [_buildTextWrapper(), if (selected) _buildIcon()]; + + Widget _buildTextWrapper() => Expanded( + child: _buildText(), + ); + + Widget _buildText() => Text( + title, + maxLines: 2, + style: const TextStyle(color: kcDarkGrey), + ); + + Widget _buildIcon() => const Icon( + Icons.check_circle, + color: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/download_card.dart b/lib/ui/widgets/download_card.dart new file mode 100644 index 0000000..76c0ef3 --- /dev/null +++ b/lib/ui/widgets/download_card.dart @@ -0,0 +1,149 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import '../common/app_colors.dart'; +import 'custom_elevated_button.dart'; + +class DownloadCard extends StatelessWidget { + final String size; + final String title; + final String duration; + final String thumbnail; + + const DownloadCard( + {super.key, + required this.size, + required this.title, + required this.thumbnail, + required this.duration}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + height: 75, + width: double.maxFinite, + padding: const EdgeInsets.all(15), + margin: const EdgeInsets.only(bottom: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildRow(), + ); + + Widget _buildRow() => Row( + children: [ + _buildLeadingWrapper(), + const SizedBox(width: 10), + _buildCourseInfo(), + const SizedBox(width: 10), + _buildRemoveButtonWrapper(), + ], + ); + + Widget _buildLeadingWrapper() => SizedBox( + width: 50, + height: double.maxFinite, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: _buildLeadingStack(), + ), + ); + + Widget _buildLeadingStack() => Stack( + alignment: Alignment.center, + children: [_buildImageWrapper(), _buildPlayButtonWrapper()], + ); + + Widget _buildImageWrapper() => + Align(alignment: Alignment.center, child: _buildImage()); + + Widget _buildImage() => Image.asset( + thumbnail, + fit: BoxFit.fill, + width: double.maxFinite, + ); + + Widget _buildPlayButtonWrapper() => Align( + alignment: Alignment.center, + child: _buildPlayButton(), + ); + + Widget _buildPlayButton() => CircleAvatar( + radius: 14, + backgroundColor: kcTransparent, + child: _buildPlayIconClipper(), + ); + + Widget _buildPlayIconClipper() => ClipRRect( + borderRadius: BorderRadius.circular(50), + child: _buildPlayIconBlender(), + ); + + Widget _buildPlayIconBlender() => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 12, sigmaY: 12), + child: _buildPlayIcon(), + ); + + Widget _buildPlayIcon() => const Icon( + Icons.play_arrow, + color: kcWhite, + ); + + Widget _buildCourseInfo() => Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildCourseInfoChildren(), + ), + ); + + List _buildCourseInfoChildren() => [_buildTitle(), _buildMiddleRow()]; + + Widget _buildTitle() => Text( + title, + style: style16DG600, + ); + + Widget _buildMiddleRow() => Row( + children: [ + _buildSize(), + const SizedBox(width: 10), + _buildDot(), + const SizedBox(width: 10), + _buildDuration() + ], + ); + + Widget _buildDuration() => Text( + duration, + style: style14P400, + ); + + Widget _buildDot() => Text( + '-', + style: style14P400, + ); + + Widget _buildSize() => Text( + size, + style: style14P400, + ); + + Widget _buildRemoveButtonWrapper() => Padding( + padding: const EdgeInsets.symmetric(vertical: 5), + child: _buildRemoveButton(), + ); + + Widget _buildRemoveButton() => CustomElevatedButton( + width: 110, + height: 15, + text: 'Remove', + borderRadius: 12, + foregroundColor: kcRed, + backgroundColor: kcRed.withOpacity(0.25), + ); +} diff --git a/lib/ui/widgets/finish_practice_sheet.dart b/lib/ui/widgets/finish_practice_sheet.dart new file mode 100644 index 0000000..faa065d --- /dev/null +++ b/lib/ui/widgets/finish_practice_sheet.dart @@ -0,0 +1,56 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_bottom_sheet.dart'; + +import 'custom_elevated_button.dart'; + +class FinishPracticeSheet extends StatelessWidget { + final GestureTapCallback? onTap; + const FinishPracticeSheet({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildSheetWrapper(); + + Widget _buildSheetWrapper() => + CustomBottomSheet(onTap: onTap, child: _buildColumnWrapper()); + + Widget _buildColumnWrapper() => Padding( + padding: const EdgeInsets.symmetric(horizontal: 15), + child: _buildColumn(), + ); + Widget _buildColumn() => Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: _buildSheetChildren(), + ); + + List _buildSheetChildren() => [ + verticalSpaceLarge, + _buildIcon(), + verticalSpaceMedium, + _buildMessage(), + verticalSpaceLarge, + _buildContinueButton() + ]; + + Widget _buildIcon() => SvgPicture.asset( + 'assets/icons/alert.svg', + height: 75, + ); + + Widget _buildMessage() => Text( + 'Finish all the practices in the lessons to take this practice', + style: style16DG600, + textAlign: TextAlign.center, + ); + + Widget _buildContinueButton() => CustomElevatedButton( + height: 55, + onTap: onTap, + text: 'Continue', + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/language_button.dart b/lib/ui/widgets/language_button.dart new file mode 100644 index 0000000..53a4bac --- /dev/null +++ b/lib/ui/widgets/language_button.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class LanguageButton extends StatelessWidget { + final String language; + final GestureTapCallback? onTap; + + const LanguageButton({super.key, this.onTap, required this.language}); + + @override + Widget build(BuildContext context) => _buildContainerWrapper(); + + Widget _buildContainerWrapper() => + GestureDetector(onTap: onTap, child: _buildContainer()); + + Widget _buildContainer() => Container( + width: 40, + height: 40, + alignment: Alignment.center, + decoration: BoxDecoration( + color: kcPrimaryColor, + borderRadius: BorderRadius.circular(10), + border: Border.all(color: kcWhite)), + child: _buildLanguage(), + ); + + Widget _buildLanguage() => Text( + language, + style: const TextStyle(color: kcWhite), + ); +} diff --git a/lib/ui/widgets/large_app_bar.dart b/lib/ui/widgets/large_app_bar.dart new file mode 100644 index 0000000..d3dc9c4 --- /dev/null +++ b/lib/ui/widgets/large_app_bar.dart @@ -0,0 +1,74 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/widgets/language_button.dart'; + +class LargeAppBar extends StatelessWidget { + final bool showBackButton; + final GestureTapCallback? onPop; + final bool showLanguageSelection; + final GestureTapCallback? onLanguage; + + const LargeAppBar( + {super.key, + this.onPop, + this.onLanguage, + required this.showBackButton, + required this.showLanguageSelection}); + + @override + Widget build(BuildContext context) => _buildAppBarWrapper(); + + Widget _buildAppBarWrapper() => Container( + height: 125, + width: double.maxFinite, + alignment: Alignment.bottomCenter, + decoration: const BoxDecoration( + color: kcPrimaryColor, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(24), + bottomRight: Radius.circular(24), + ), + ), + padding: const EdgeInsets.only(bottom: 25, right: 15), + child: _buildAppBarItems(), + ); + + Widget _buildAppBarItems() => Stack( + children: _buildAppBarItemChildren(), + ); + + List _buildAppBarItemChildren() => + [if (showBackButton) _buildBackButtonWrapper(), _buildRightButton()]; + + Widget _buildBackButtonWrapper() => Align( + alignment: Alignment.bottomLeft, + child: _buildBackButton(), + ); + + Widget _buildBackButton() => BackButton( + onPressed: onPop, + style: + const ButtonStyle(foregroundColor: WidgetStatePropertyAll(kcWhite)), + ); + + Widget _buildRightButton() => Align( + alignment: Alignment.bottomRight, + child: showLanguageSelection ? _buildLanguageSelector() : Container() + // _buildCloseButton() + ); + + Widget _buildLanguageSelector() => LanguageButton( + language: 'EN', + onTap: onLanguage, + ); + + Widget _buildCloseButton() => IconButton( + onPressed: () {}, + icon: _buildCloseIcon(), + ); + + Widget _buildCloseIcon() => const Icon( + Icons.close, + color: kcWhite, + ); +} diff --git a/lib/ui/widgets/learn_app_bar.dart b/lib/ui/widgets/learn_app_bar.dart new file mode 100644 index 0000000..e3e331c --- /dev/null +++ b/lib/ui/widgets/learn_app_bar.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import '../common/app_colors.dart'; + +class LearnAppBar extends StatelessWidget { + const LearnAppBar({super.key}); + + @override + Widget build(BuildContext context) => _buildStack(); + + Widget _buildStack() => Stack( + alignment: Alignment.center, + children: _buildStackChildren(), + ); + + List _buildStackChildren() => + [_buildProfileWrapper(), _buildNotificationIconWrapper()]; + + Widget _buildProfileWrapper() => Align( + alignment: Alignment.centerLeft, + child: _buildProfileRow(), + ); + + Widget _buildProfileRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildProfileRowChildren(), + ); + + List _buildProfileRowChildren() => + [_buildProfileImage(), horizontalSpaceSmall, _buildGreetingTextColumn()]; + + Widget _buildProfileImage() => const CircleAvatar( + radius: 25, + backgroundImage: AssetImage('assets/images/profile.png'), + ); + + Widget _buildGreetingTextColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildGreetingChildren(), + ); + + List _buildGreetingChildren() => + [_buildGreetingTitle(), _buildSubTitle()]; + + Widget _buildGreetingTitle() => const Text.rich( + TextSpan( + text: 'Hello,', + style: TextStyle( + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + children: [ + TextSpan( + text: ' Bisrat!', + style: TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ) + ]), + ); + + Widget _buildSubTitle() => const Text( + 'Ready to keep learning English today?', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildNotificationIconWrapper() => + Align(alignment: Alignment.bottomRight, child: _buildNotificationIcon()); + + Widget _buildNotificationIcon() => const Icon( + Icons.notifications_none, + color: kcDarkGrey, + ); +} diff --git a/lib/ui/widgets/learn_lesson_tile.dart b/lib/ui/widgets/learn_lesson_tile.dart new file mode 100644 index 0000000..8b359c8 --- /dev/null +++ b/lib/ui/widgets/learn_lesson_tile.dart @@ -0,0 +1,204 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/widgets/progress_status.dart'; + +import '../common/app_colors.dart'; +import '../common/enmus.dart'; +import '../common/ui_helpers.dart'; +import 'custom_elevated_button.dart'; +import 'custom_linear_progress_indicator.dart'; + +class LearnLessonTile extends StatelessWidget { + final String title; + final String thumbnail; + final ProgressStatuses status; + + const LearnLessonTile({ + super.key, + required this.title, + required this.status, + required this.thumbnail, + }); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + width: double.maxFinite, + margin: const EdgeInsets.only(bottom: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + border: Border.all( + color: ProgressStatuses.pending == status + ? kcPrimaryColor.withOpacity(0.1) + : kcGreen.withOpacity(0.1), + ), + ), + child: _buildExpansionTile(), + ); + + Widget _buildExpansionTile() => ExpansionTile( + title: _buildTitle(), + textColor: kcDarkGrey, + showTrailingIcon: true, + trailing: _buildIconState(), + // subtitle: _buildContent(), + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + leading: _buildLeadingWrapper(), + + shape: Border.all(color: kcTransparent), + expandedAlignment: Alignment.centerLeft, + enabled: status != ProgressStatuses.pending, + controlAffinity: ListTileControlAffinity.trailing, + backgroundColor: ProgressStatuses.pending == status + ? kcPrimaryColor.withOpacity(0.1) + : kcGreen.withOpacity(0.1), + childrenPadding: const EdgeInsets.fromLTRB(15, 15, 15, 15), + expandedCrossAxisAlignment: CrossAxisAlignment.start, + collapsedBackgroundColor: ProgressStatuses.pending == status + ? kcPrimaryColor.withOpacity(0.1) + : kcGreen.withOpacity(0.1), + tilePadding: const EdgeInsets.symmetric(horizontal: 15, vertical: 15), + initiallyExpanded: status != ProgressStatuses.completed ? true : false, + children: _buildExpansionTileChildren(), + ); + + Widget _buildLeadingWrapper() => SizedBox( + width: 75, + height: double.maxFinite, + child: _buildLeadingClipper(), + ); + + Widget _buildLeadingClipper() => ClipRRect( + borderRadius: BorderRadius.circular(5), + child: _buildLeadingStack(), + ); + + Widget _buildLeadingStack() => Stack( + alignment: Alignment.center, + children: _buildLeadingChildren(), + ); + + List _buildLeadingChildren() => + [_buildImageWrapper(), _buildPlayButtonWrapper()]; + + Widget _buildImageWrapper() => + Align(alignment: Alignment.center, child: _buildImage()); + + Widget _buildImage() => Image.asset( + thumbnail, + fit: BoxFit.fill, + width: double.maxFinite, + ); + + Widget _buildPlayButtonWrapper() => Align( + alignment: Alignment.center, + child: _buildPlayButton(), + ); + + Widget _buildPlayButton() => CircleAvatar( + radius: 14, + backgroundColor: kcTransparent, + child: _buildPlayIconClipper(), + ); + + Widget _buildPlayIconClipper() => ClipRRect( + borderRadius: BorderRadius.circular(50), + child: _buildPlayIconBlender(), + ); + + Widget _buildPlayIconBlender() => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 12, sigmaY: 12), + child: _buildPlayIcon(), + ); + + Widget _buildPlayIcon() => const Icon( + Icons.play_arrow, + color: kcWhite, + ); + + Widget _buildTitle() => Text( + title, + style: style16DG600, + ); + + Widget _buildIconState() => ProgressStatuses.pending == status + ? _buildPendingIcon() + : _buildCompleteIcon(); + + Widget _buildCompleteIcon() => const Icon( + Icons.check, + color: kcGreen, + ); + + Widget _buildPendingIcon() => const Icon( + Icons.access_time_rounded, + color: kcPrimaryColor, + ); + + List _buildExpansionTileChildren() => [_buildExpansionTileItem()]; + + Widget _buildExpansionTileItem() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildExpansionTileItemChildren(), + ); + + List _buildExpansionTileItemChildren() => [ + _buildProgress(), + horizontalSpaceSmall, + _buildProgressText(), + verticalSpaceSmall, + _buildActionButtonWrapper() + ]; + + Widget _buildProgress() => CustomLinearProgressIndicator( + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + progress: ProgressStatuses.completed == status ? 1 : 0.75, + ); + + Widget _buildProgressText() => Text( + ProgressStatuses.completed == status ? 'Completed' : 'In Progress', + style: style14P400, + ); + + Widget _buildActionButtonWrapper() => SizedBox( + height: 40, + child: _buildActionButtons(), + ); + + Widget _buildActionButtons() => Row( + mainAxisAlignment: MainAxisAlignment.end, + children: _buildActionButtonChildren(), + ); + + List _buildActionButtonChildren() => [ + _buildPracticeButton(), + horizontalSpaceSmall, + _buildLessonButton(), + ]; + + Widget _buildLessonButton() => const CustomElevatedButton( + height: 15, + width: 135, + text: 'Practice', + borderRadius: 12, + trailingIcon: Icons.mic, + backgroundColor: kcWhite, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + ); + + Widget _buildPracticeButton() => CustomElevatedButton( + height: 15, + width: 135, + borderRadius: 12, + foregroundColor: kcWhite, + trailingIcon: Icons.play_arrow, + backgroundColor: kcPrimaryColor, + text: ProgressStatuses.completed == status ? 'View' : 'Continue', + ); +} diff --git a/lib/ui/widgets/learn_level_tile.dart b/lib/ui/widgets/learn_level_tile.dart new file mode 100644 index 0000000..619c097 --- /dev/null +++ b/lib/ui/widgets/learn_level_tile.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/common/enmus.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/views/learn/learn_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/progress_status.dart'; + +import '../common/app_colors.dart'; +import 'custom_elevated_button.dart'; + +class LearnLevelTile extends ViewModelWidget { + final String title; + final String subtitle; + final ProgressStatuses status; + + const LearnLevelTile({ + super.key, + required this.title, + required this.status, + required this.subtitle, + }); + + @override + Widget build(BuildContext context, LearnViewModel viewModel) => + _buildExpansionTileCard(viewModel); + + Widget _buildExpansionTileCard(LearnViewModel viewModel) => Container( + margin: const EdgeInsets.only(bottom: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + border: Border.all( + color: status == ProgressStatuses.started + ? kcPrimaryColor.withOpacity(0.2) + : kcVeryLightGrey), + ), + child: _buildExpansionTile(viewModel), + ); + + Widget _buildExpansionTile(LearnViewModel viewModel) => ExpansionTile( + textColor: kcDarkGrey, + title: _buildTitleRow(), + subtitle: _buildContent(), + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + shape: Border.all(color: kcTransparent), + expandedAlignment: Alignment.centerLeft, + childrenPadding: const EdgeInsets.all(15), + controlAffinity: ListTileControlAffinity.trailing, + expandedCrossAxisAlignment: CrossAxisAlignment.start, + backgroundColor: status != ProgressStatuses.pending + ? kcPrimaryColor.withOpacity(0.1) + : kcBackgroundColor, + tilePadding: const EdgeInsets.symmetric(horizontal: 15), + enabled: status != ProgressStatuses.pending ? true : false, + collapsedBackgroundColor: status != ProgressStatuses.pending + ? kcPrimaryColor.withOpacity(0.1) + : kcBackgroundColor, + showTrailingIcon: status != ProgressStatuses.pending ? true : false, + initiallyExpanded: status == ProgressStatuses.started ? true : false, + children: _buildExpansionTileChildren(viewModel), + ); + + List _buildExpansionTileChildren(LearnViewModel viewModel) => + [_buildActionButton(viewModel)]; + + Widget _buildTitleRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildTitleChildren(), + ); + + List _buildTitleChildren() => [ + _buildTitle(), + if (status != ProgressStatuses.pending) horizontalSpaceSmall, + if (status != ProgressStatuses.pending) _buildProgressStatus() + ]; + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgressStatus() => ProgressStatus( + status: status.name.substring(0, 1).toUpperCase() + + status.name.substring(1, status.name.length), + color: kcPrimaryColor, + ); + + Widget _buildContent() => Text( + subtitle, + style: const TextStyle( + color: kcDarkGrey, + ), + ); + + Widget _buildActionButton(LearnViewModel viewModel) => CustomElevatedButton( + height: 15, + borderRadius: 12, + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + text: status == ProgressStatuses.completed + ? 'Review Course' + : status == ProgressStatuses.pending + ? 'Start Learning' + : 'Continue Learning', + onTap: () async => await viewModel.navigateToLearnLevel(), + ); +} diff --git a/lib/ui/widgets/learn_module_tile.dart b/lib/ui/widgets/learn_module_tile.dart new file mode 100644 index 0000000..20705b5 --- /dev/null +++ b/lib/ui/widgets/learn_module_tile.dart @@ -0,0 +1,197 @@ +import 'package:flutter/material.dart'; +import 'package:iconsax/iconsax.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/learn_module/learn_module_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; + +import '../common/app_colors.dart'; +import '../common/enmus.dart'; +import '../common/ui_helpers.dart'; +import 'custom_elevated_button.dart'; + +class LearnModuleTile extends ViewModelWidget { + final String title; + final String subtitle; + final ProgressStatuses status; + + const LearnModuleTile({ + super.key, + required this.title, + required this.status, + required this.subtitle, + }); + + IconData _getIcon() { + if (title.contains('Module 1')) { + return Iconsax.cake; + } else if (title.contains('Module 2')) { + return Icons.all_inbox; + } else if (title.contains('Module 3')) { + return Icons.lightbulb_outline; + } else if (title.contains('Module 4')) { + return Icons.search; + } else { + return Iconsax.pen_add; + } + } + + @override + Widget build(BuildContext context, LearnModuleViewModel viewModel) => + _buildExpansionTileCard(viewModel); + + Widget _buildExpansionTileCard(LearnModuleViewModel viewModel) => Container( + margin: const EdgeInsets.only(bottom: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + border: Border.all(color: kcVeryLightGrey), + ), + child: _buildTileStack(viewModel), + ); + + Widget _buildTileStack(LearnModuleViewModel viewModel) => Stack( + children: [ + _buildExpansionTile(viewModel), + _buildContainerShaderWrapper() + ], + ); + + Widget _buildExpansionTile(LearnModuleViewModel viewModel) => ExpansionTile( + textColor: kcDarkGrey, + title: _buildTitle(), + subtitle: _buildContent(), + leading: _buildIconWrapper(), + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + backgroundColor: kcBackgroundColor, + shape: Border.all(color: kcTransparent), + expandedAlignment: Alignment.centerLeft, + collapsedBackgroundColor: kcBackgroundColor, + enabled: status != ProgressStatuses.pending, + controlAffinity: ListTileControlAffinity.trailing, + expandedCrossAxisAlignment: CrossAxisAlignment.start, + tilePadding: const EdgeInsets.symmetric(horizontal: 15), + childrenPadding: const EdgeInsets.fromLTRB(70, 15, 15, 15), + showTrailingIcon: status != ProgressStatuses.pending ? true : false, + initiallyExpanded: status == ProgressStatuses.started ? true : false, + children: _buildExpansionTileChildren(viewModel), + ); + + Widget _buildIconWrapper() => CircleAvatar( + backgroundColor: kcPrimaryColor.withOpacity(0.1), + child: _buildIcon(), + ); + + Widget _buildIcon() => Icon( + _getIcon(), + color: kcPrimaryColor, + ); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildContent() => Text( + subtitle, + style: const TextStyle( + color: kcDarkGrey, + ), + ); + + List _buildExpansionTileChildren(LearnModuleViewModel viewModel) => + [_buildExpansionTileItem(viewModel)]; + + Widget _buildExpansionTileItem(LearnModuleViewModel viewModel) => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildExpansionTileItemChildren(viewModel), + ); + + List _buildExpansionTileItemChildren( + LearnModuleViewModel viewModel) => + [ + _buildProgressRow(), + verticalSpaceSmall, + _buildActionButtonWrapper(viewModel) + ]; + + Widget _buildProgressRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildProgressChildren(), + ); + + List _buildProgressChildren() => + [_buildProgressStatusWrapper(), horizontalSpaceSmall, _buildProgress()]; + + Widget _buildProgressStatusWrapper() => Expanded( + child: _buildProgressStatus(), + ); + + Widget _buildProgressStatus() => const CustomLinearProgressIndicator( + progress: 0.75, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey); + + Widget _buildProgress() => const Text( + '2/3', + style: TextStyle(color: kcDarkGrey), + ); + + Widget _buildActionButtonWrapper(LearnModuleViewModel viewModel) => SizedBox( + height: 40, + child: _buildActionButtons(viewModel), + ); + + Widget _buildActionButtons(LearnModuleViewModel viewModel) => Row( + children: [ + _buildLessonButtonWrapper(viewModel), + horizontalSpaceSmall, + _buildPracticeButtonWrapper(viewModel) + ], + ); + + Widget _buildLessonButtonWrapper(LearnModuleViewModel viewModel) => Expanded( + child: _buildLessonButton(viewModel), + ); + + Widget _buildLessonButton(LearnModuleViewModel viewModel) => + const CustomElevatedButton( + height: 15, + borderRadius: 12, + text: 'View Lessons', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + //onTap: () async => await viewModel.navigateToLearnModule(), + ); + + Widget _buildPracticeButtonWrapper(LearnModuleViewModel viewModel) => + Expanded( + child: _buildPracticeButton(viewModel), + ); + + Widget _buildPracticeButton(LearnModuleViewModel viewModel) => + const CustomElevatedButton( + height: 15, + borderRadius: 12, + text: 'View Practices', + backgroundColor: kcWhite, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + // onTap: () async => await viewModel.navigateToLearnLevel(), + ); + + Widget _buildContainerShaderWrapper() => Positioned.fill( + child: _buildContainerShader(), + ); + + Widget _buildContainerShader() => Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + border: Border.all(color: kcWhite.withOpacity(0.75)), + ), + ); +} diff --git a/lib/ui/widgets/learn_sub_level_tile.dart b/lib/ui/widgets/learn_sub_level_tile.dart new file mode 100644 index 0000000..b50e48a --- /dev/null +++ b/lib/ui/widgets/learn_sub_level_tile.dart @@ -0,0 +1,136 @@ +import 'package:flutter/material.dart'; +import 'package:stacked/stacked.dart'; +import 'package:yimaru_app/ui/views/learn_level/learn_level_viewmodel.dart'; +import 'package:yimaru_app/ui/widgets/progress_status.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'custom_elevated_button.dart'; + +class LearnSubLevelTile extends ViewModelWidget { + final bool current; + final String title; + final String subtitle; + + const LearnSubLevelTile({ + super.key, + required this.title, + required this.current, + required this.subtitle, + }); + + @override + Widget build(BuildContext context, LearnLevelViewModel viewModel) => + _buildExpansionTileCard(viewModel); + + Widget _buildExpansionTileCard(LearnLevelViewModel viewModel) => Container( + margin: const EdgeInsets.only(bottom: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + border: Border.all( + color: + current ? kcPrimaryColor.withOpacity(0.2) : kcVeryLightGrey), + ), + child: _buildExpansionTile(viewModel), + ); + + Widget _buildExpansionTile(LearnLevelViewModel viewModel) => ExpansionTile( + enabled: current, + textColor: kcDarkGrey, + title: _buildTitleRow(), + showTrailingIcon: current, + subtitle: _buildContent(), + initiallyExpanded: current, + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + shape: Border.all(color: kcTransparent), + expandedAlignment: Alignment.centerLeft, + childrenPadding: const EdgeInsets.all(15), + controlAffinity: ListTileControlAffinity.trailing, + expandedCrossAxisAlignment: CrossAxisAlignment.start, + backgroundColor: + current ? kcPrimaryColor.withOpacity(0.1) : kcBackgroundColor, + tilePadding: const EdgeInsets.symmetric(horizontal: 15), + collapsedBackgroundColor: + current ? kcPrimaryColor.withOpacity(0.1) : kcBackgroundColor, + children: _buildExpansionTileChildren(viewModel), + ); + + List _buildExpansionTileChildren(LearnLevelViewModel viewModel) => + [_buildActionButtonWrapper(viewModel)]; + + Widget _buildTitleRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildTitleChildren(), + ); + + List _buildTitleChildren() => [ + _buildTitle(), + if (current) horizontalSpaceSmall, + if (current) _buildProgressStatus() + ]; + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgressStatus() => const ProgressStatus( + color: kcPrimaryColor, + status: 'Current Level', + ); + + Widget _buildContent() => Text( + subtitle, + style: const TextStyle( + color: kcDarkGrey, + ), + ); + + Widget _buildActionButtonWrapper(LearnLevelViewModel viewModel) => SizedBox( + height: 40, + child: _buildActionButtons(viewModel), + ); + + Widget _buildActionButtons(LearnLevelViewModel viewModel) => Row( + children: [ + _buildViewButtonWrapper(viewModel), + horizontalSpaceSmall, + _buildPracticeButtonWrapper(viewModel) + ], + ); + + Widget _buildViewButtonWrapper(LearnLevelViewModel viewModel) => Expanded( + child: _buildViewButton(viewModel), + ); + + Widget _buildViewButton(LearnLevelViewModel viewModel) => + CustomElevatedButton( + height: 15, + borderRadius: 12, + text: 'View Course', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + onTap: () async => await viewModel.navigateToLearnModule(), + ); + + Widget _buildPracticeButtonWrapper(LearnLevelViewModel viewModel) => Expanded( + child: _buildPracticeButton(viewModel), + ); + + Widget _buildPracticeButton(LearnLevelViewModel viewModel) => + const CustomElevatedButton( + height: 15, + text: 'Practice', + borderRadius: 12, + backgroundColor: kcWhite, + borderColor: kcPrimaryColor, + foregroundColor: kcPrimaryColor, + + // onTap: () async => await viewModel.navigateToLearnLevel(), + ); +} diff --git a/lib/ui/widgets/learning_progress_card.dart b/lib/ui/widgets/learning_progress_card.dart new file mode 100644 index 0000000..f1a5330 --- /dev/null +++ b/lib/ui/widgets/learning_progress_card.dart @@ -0,0 +1,106 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/widgets/custom_column.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'custom_elevated_button.dart'; +import 'custom_linear_progress_indicator.dart'; + +class LearningProgressCard extends StatelessWidget { + final GestureTapCallback? onTap; + + const LearningProgressCard({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildContainerWrapper(); + + Widget _buildContainerWrapper() => GestureDetector( + onTap: onTap, + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + height: 320, + padding: const EdgeInsets.all(15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => [ + _buildIcon(), + verticalSpaceSmall, + _buildTitle(), + verticalSpaceTiny, + _buildSubtitle(), + verticalSpaceSmall, + _buildProgressIndicator(), + verticalSpaceSmall, + _buildLearningStatus(), + verticalSpaceMedium, + _buildActionButton(), + ]; + + Widget _buildIcon() => const Icon( + Icons.menu_book_rounded, + size: 50, + color: kcPrimaryColor, + ); + + Widget _buildTitle() => const Text( + 'Learn English', + style: TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubtitle() => const Text( + 'Great job! Keep the momentum.', + maxLines: 2, + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildProgressIndicator() => const CustomLinearProgressIndicator( + progress: 0.5, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + Widget _buildLearningStatus() => Row( + children: _buildLearningStatusChildren(), + ); + + List _buildLearningStatusChildren() => [ + _buildWatchedVideos(), + horizontalSpaceSmall, + _buildCompletedPractices(), + horizontalSpaceSmall, + _buildTakenQuizzes() + ]; + + Widget _buildWatchedVideos() => const Expanded( + child: CustomColumn(title: '120', subtitle: 'Videos Watched')); + Widget _buildCompletedPractices() => const Expanded( + child: CustomColumn(title: '85', subtitle: 'Practices Completed')); + Widget _buildTakenQuizzes() => const Expanded( + child: CustomColumn(title: '45', subtitle: 'Quizzes Taken')); + + Widget _buildActionButton() => const CustomElevatedButton( + height: 15, + width: 200, + borderRadius: 12, + text: 'Continue Learning', + foregroundColor: kcWhite, + backgroundColor: kcPrimaryColor, + ); +} diff --git a/lib/ui/widgets/login_account.dart b/lib/ui/widgets/login_account.dart new file mode 100644 index 0000000..4c17a03 --- /dev/null +++ b/lib/ui/widgets/login_account.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; + +class LoginAccount extends StatelessWidget { + final GestureTapCallback? onTap; + const LoginAccount({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildRow(); + + Widget _buildRow() => Row( + children: [ + _buildLeadingText(), + horizontalSpaceTiny, + _buildRegisterTextButton() + ], + ); + + Widget _buildLeadingText() => const Text( + 'Already have an account? ', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildRegisterTextButton() => TextButton( + onPressed: onTap, + style: const ButtonStyle( + alignment: Alignment.centerLeft, + padding: WidgetStatePropertyAll(EdgeInsets.zero)), + child: _buildRegisterText(), + ); + + Widget _buildRegisterText() => const Text( + 'Login', + style: TextStyle(color: kcPrimaryColor), + ); +} diff --git a/lib/ui/widgets/module_progress.dart b/lib/ui/widgets/module_progress.dart new file mode 100644 index 0000000..e8d1635 --- /dev/null +++ b/lib/ui/widgets/module_progress.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; +import 'custom_linear_progress_indicator.dart'; + + + +class ModuleProgress extends StatelessWidget { + const ModuleProgress({super.key}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 25), + child: _buildProgressSection(), + ); + + Widget _buildProgressSection() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildProgressSectionChildren(), + ); + + List _buildProgressSectionChildren() => [ + _buildProgressInfoWrapper(), + verticalSpaceSmall, + _buildProgressIndicator(), + ]; + + Widget _buildProgressInfoWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildProgressInfoChildren(), + ); + + List _buildProgressInfoChildren() => + [_buildProgressInfo(), _buildProgress()]; + + Widget _buildProgressInfo() => Text( + '60% Progress', + style: style16DG400, + ); + + Widget _buildProgress() => Text( + '2/3', + style: style14P400, + ); + + Widget _buildProgressIndicator() => const CustomLinearProgressIndicator( + progress: 0.75, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + +} diff --git a/lib/ui/widgets/motivation_card.dart b/lib/ui/widgets/motivation_card.dart new file mode 100644 index 0000000..6c26553 --- /dev/null +++ b/lib/ui/widgets/motivation_card.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import '../common/app_colors.dart'; + +class MotivationCard extends StatelessWidget { + const MotivationCard({super.key}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.all(15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildRow(), + ); + + Widget _buildRow() => Row( + children: [_buildIconWrapper(), horizontalSpaceSmall, _buildText()], + ); + + Widget _buildIconWrapper() => CircleAvatar( + backgroundColor: kcPrimaryColor.withOpacity(0.25), + child: _buildIcon(), + ); + + Widget _buildIcon() => Image.asset('assets/images/deer.png'); + + + Widget _buildText() => Expanded( + child: Text( + 'Let’s keep going — you’re more than halfway there!', + maxLines: 2, + style: style14DG400, + ), + ); +} diff --git a/lib/ui/widgets/obscure_password.dart b/lib/ui/widgets/obscure_password.dart new file mode 100644 index 0000000..f66d66a --- /dev/null +++ b/lib/ui/widgets/obscure_password.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class ObscurePassword extends StatelessWidget { + final bool focus; + final bool obscure; + final GestureTapCallback? onTap; + const ObscurePassword( + {super.key, this.onTap, required this.focus, required this.obscure}); + + @override + Widget build(BuildContext context) => _buildButton(); + + Widget _buildButton() => GestureDetector( + onTap: onTap, + child: _buildIconWrapper(), + ); + + Widget _buildIconWrapper() => + obscure ? _buildObscuredIcon() : _buildUnObscuredIcon(); + + Widget _buildObscuredIcon() => Icon( + Icons.visibility, + color: focus ? kcPrimaryColor : kcLightGrey, + ); + + Widget _buildUnObscuredIcon() => Icon( + Icons.visibility_off, + color: focus ? kcPrimaryColor : kcLightGrey, + ); +} diff --git a/lib/ui/widgets/option_text_divider.dart b/lib/ui/widgets/option_text_divider.dart new file mode 100644 index 0000000..de62133 --- /dev/null +++ b/lib/ui/widgets/option_text_divider.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; + +class OptionTextDivider extends StatelessWidget { + const OptionTextDivider({super.key}); + + @override + Widget build(BuildContext context) => _buildOrTextWrapper(); + + Widget _buildOrTextWrapper() => Row( + children: [ + _buildDividerWrapper(), + horizontalSpaceSmall, + _buildOrText(), + horizontalSpaceSmall, + _buildDividerWrapper() + ], + ); + Widget _buildDividerWrapper() => Expanded(child: _buildDivider()); + + Widget _buildDivider() => const Divider(color: kcVeryLightGrey); + + Widget _buildOrText() => const Text( + 'or', + textAlign: TextAlign.center, + style: TextStyle(color: kcMediumGrey), + ); +} diff --git a/lib/ui/widgets/overall_learn_progress.dart b/lib/ui/widgets/overall_learn_progress.dart new file mode 100644 index 0000000..1a047b2 --- /dev/null +++ b/lib/ui/widgets/overall_learn_progress.dart @@ -0,0 +1,70 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; + +class OverallLearnProgress extends StatelessWidget { + const OverallLearnProgress({super.key}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 25), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildProgressSection(), + ); + + Widget _buildProgressSection() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildProgressSectionChildren(), + ); + + List _buildProgressSectionChildren() => [ + _buildProgressInfoWrapper(), + verticalSpaceSmall, + _buildProgressIndicator(), + verticalSpaceSmall, + _buildSubtitle() + ]; + + Widget _buildProgressInfoWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildProgressInfoChildren(), + ); + + List _buildProgressInfoChildren() => + [_buildProgressInfo(), _buildProgress()]; + + Widget _buildProgressInfo() => const Text( + 'Overall Progress', + style: TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgress() => const Text( + '35%', + style: TextStyle( + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgressIndicator() => const CustomLinearProgressIndicator( + progress: 0.75, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + Widget _buildSubtitle() => const Text( + 'Keep up the great work! You\'re doing amazing.', + style: TextStyle(color: kcDarkGrey), + ); +} diff --git a/lib/ui/widgets/overall_module_progress.dart b/lib/ui/widgets/overall_module_progress.dart new file mode 100644 index 0000000..2c736c4 --- /dev/null +++ b/lib/ui/widgets/overall_module_progress.dart @@ -0,0 +1,63 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; +import 'package:yimaru_app/ui/widgets/custom_linear_progress_indicator.dart'; + +class OverallModuleProgress extends StatelessWidget { + const OverallModuleProgress({super.key}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 25), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildProgressSection(), + ); + + Widget _buildProgressSection() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildProgressSectionChildren(), + ); + + List _buildProgressSectionChildren() => [ + _buildProgressInfoWrapper(), + verticalSpaceSmall, + _buildProgressIndicator(), + verticalSpaceSmall, + _buildSubtitle() + ]; + + Widget _buildProgressInfoWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildProgressInfoChildren(), + ); + + List _buildProgressInfoChildren() => + [_buildProgressInfo(), _buildProgress()]; + + Widget _buildProgressInfo() => Text( + 'Overall Progress', + style: style16DG600, + ); + + Widget _buildProgress() => Text( + '35%', + style: style14P400, + ); + + Widget _buildProgressIndicator() => const CustomLinearProgressIndicator( + progress: 0.75, + activeColor: kcPrimaryColor, + backgroundColor: kcVeryLightGrey, + ); + + Widget _buildSubtitle() => const Text( + 'Keep up the great work! You\'re doing amazing.', + style: TextStyle(color: kcDarkGrey), + ); +} diff --git a/lib/ui/widgets/page_loading_indicator.dart b/lib/ui/widgets/page_loading_indicator.dart new file mode 100644 index 0000000..e582d57 --- /dev/null +++ b/lib/ui/widgets/page_loading_indicator.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import 'custom_circular_progress_indicator.dart'; + +class PageLoadingIndicator extends StatelessWidget { + const PageLoadingIndicator({super.key}); + + @override + Widget build(BuildContext context) => _buildBody(context); + + Widget _buildBody(BuildContext context) => Material( + color: kcTransparent, + child: _buildContainer(context), + ); + + Widget _buildContainer(BuildContext context) => Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: kcBlack.withOpacity(0.3), + child: _buildBoxContainerWrapper(), + ); + + Widget _buildBoxContainerWrapper() => Center( + child: _buildBoxContainer(), + ); + + Widget _buildBoxContainer() => Container( + width: 150, + height: 100, + alignment: Alignment.center, + decoration: BoxDecoration( + color: kcBackgroundColor, + borderRadius: BorderRadius.circular(7), + ), + child: _buildColumnWrapper(), + ); + + Widget _buildColumnWrapper() => Center( + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => + [_buildShimmer(), verticalSpaceSmall, _buildText()]; + + Widget _buildShimmer() => const Center( + child: CustomCircularProgressIndicator(color: kcPrimaryColor), + ); + + Widget _buildText() => const Text( + 'Please wait', + style: TextStyle(color: kcPrimaryColor), + ); +} diff --git a/lib/ui/widgets/phone_number_prefix.dart b/lib/ui/widgets/phone_number_prefix.dart new file mode 100644 index 0000000..ef73e55 --- /dev/null +++ b/lib/ui/widgets/phone_number_prefix.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import '../common/app_colors.dart'; + +class PhoneNumberPrefix extends StatelessWidget { + final bool selected; + const PhoneNumberPrefix({ + super.key, + required this.selected, + }); + + @override + Widget build(BuildContext context) => _buildButtonWrapper(); + + Widget _buildButtonWrapper() => Container( + height: 57, + padding: const EdgeInsets.symmetric(horizontal: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: selected ? kcPrimaryColor.withOpacity(0.1) : kcWhite, + border: Border.all( + color: selected ? kcPrimaryColor : kcPrimaryColor.withOpacity(0.75), + ), + ), + child: _buildContainerWrapper(), + ); + + Widget _buildContainerWrapper() => Row( + children: _buildButtonRowChildren(), + ); + + List _buildButtonRowChildren() => + [_buildIcon(), horizontalSpaceSmall, _buildText()]; + + Widget _buildText() => const Text( + '+251', + style: TextStyle(color: kcDarkGrey), + ); + + Widget _buildIcon() => Image.asset( + 'assets/icons/flag.png', + ); +} diff --git a/lib/ui/widgets/privacy_policy_tile.dart b/lib/ui/widgets/privacy_policy_tile.dart new file mode 100644 index 0000000..f6529bc --- /dev/null +++ b/lib/ui/widgets/privacy_policy_tile.dart @@ -0,0 +1,80 @@ +import 'package:flutter/material.dart'; +import 'package:iconsax/iconsax.dart'; +import 'package:yimaru_app/ui/common/app_strings.dart'; + +import '../common/app_colors.dart'; + +class PrivacyPolicyTile extends StatelessWidget { + final String title; + + const PrivacyPolicyTile({super.key, required this.title}); + + IconData _getIcon() { + if (title == 'Introduction') { + return Icons.list_alt; + } else if (title == 'Information We Collect') { + return Icons.all_inbox; + } else if (title == 'How We Use Your Information') { + return Icons.lightbulb_outline; + } else if (title == 'Data Sharing and Disclosure') { + return Icons.share; + } else if (title == 'Your Rights and Choices') { + return Icons.confirmation_num; + } else if (title == 'Data Security') { + return Icons.shield_moon_outlined; + } else { + return Iconsax.pen_add; + } + } + + @override + Widget build(BuildContext context) => _buildExpansionTileCard(); + + Widget _buildExpansionTileCard() => Padding( + padding: const EdgeInsets.only(bottom: 15), + child: _buildExpansionTile(), + ); + + Widget _buildExpansionTile() => ExpansionTile( + title: _buildTitle(), + iconColor: kcDarkGrey, + textColor: kcDarkGrey, + leading: _buildIcon(), + showTrailingIcon: true, + initiallyExpanded: false, + collapsedIconColor: kcDarkGrey, + collapsedTextColor: kcDarkGrey, + expandedAlignment: Alignment.centerLeft, + childrenPadding: const EdgeInsets.all(15), + backgroundColor: kcPrimaryColor.withOpacity(0.1), + controlAffinity: ListTileControlAffinity.trailing, + expandedCrossAxisAlignment: CrossAxisAlignment.start, + tilePadding: const EdgeInsets.symmetric(horizontal: 15), + collapsedBackgroundColor: kcPrimaryColor.withOpacity(0.1), + shape: Border.all(color: kcPrimaryColor.withOpacity(0.2)), + children: _buildExpansionTileChildren(), + ); + + Widget _buildIcon() => Icon( + _getIcon(), + color: kcPrimaryColor, + ); + + List _buildExpansionTileChildren() => [_buildContent()]; + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildContent() => const Text( + ksPrivacyPolicy, + style: TextStyle( + color: kcDarkGrey, + ), + ); +} diff --git a/lib/ui/widgets/profile_card.dart b/lib/ui/widgets/profile_card.dart new file mode 100644 index 0000000..6563a8a --- /dev/null +++ b/lib/ui/widgets/profile_card.dart @@ -0,0 +1,68 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +class ProfileCard extends StatelessWidget { + final String title; + final IconData icon; + final String subTitle; + final GestureTapCallback? onTap; + + const ProfileCard( + {super.key, + this.onTap, + required this.icon, + required this.title, + required this.subTitle}); + + @override + Widget build(BuildContext context) => _buildContainerWrapper(); + + Widget _buildContainerWrapper() => GestureDetector( + onTap: onTap, + child: _buildContainer(), + ); + + Widget _buildContainer() => Container( + padding: const EdgeInsets.all(15), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: kcPrimaryColor.withOpacity(0.1), + ), + child: _buildColumn(), + ); + + Widget _buildColumn() => Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildColumnChildren(), + ); + + List _buildColumnChildren() => [ + _buildIcon(), + verticalSpaceSmall, + _buildTitle(), + verticalSpaceSmall, + _buildSubTitle() + ]; + + Widget _buildIcon() => Icon( + icon, + size: 35, + color: kcPrimaryColor, + ); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildSubTitle() => Text( + subTitle, + style: const TextStyle(color: kcMediumGrey), + ); +} diff --git a/lib/ui/widgets/profile_image.dart b/lib/ui/widgets/profile_image.dart new file mode 100644 index 0000000..42f61f3 --- /dev/null +++ b/lib/ui/widgets/profile_image.dart @@ -0,0 +1,47 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class ProfileImage extends StatelessWidget { + const ProfileImage({super.key}); + + @override + Widget build(BuildContext context) => _buildSizedBox(); + + Widget _buildSizedBox() => SizedBox( + height: 125, + width: 125, + child: _buildStack(), + ); + + Widget _buildStack() => Stack( + children: [_buildProfileImageWrapper(), _buildCameraButtonWrapper()], + ); + + Widget _buildProfileImageWrapper() => Align( + alignment: Alignment.center, + child: _buildProfileImage(), + ); + + Widget _buildProfileImage() => const CircleAvatar( + radius: 50, + backgroundImage: AssetImage('assets/images/profile.png'), + ); + + Widget _buildCameraButtonWrapper() => Align( + alignment: Alignment.bottomCenter, + child: _buildCameraButton(), + ); + + Widget _buildCameraButton() => Container( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 7), + decoration: BoxDecoration( + color: kcPrimaryColor, borderRadius: BorderRadius.circular(25)), + child: _buildCameraIcon(), + ); + + Widget _buildCameraIcon() => const Icon( + Icons.camera_alt_outlined, + size: 18, + color: kcWhite, + ); +} diff --git a/lib/ui/widgets/progress_status.dart b/lib/ui/widgets/progress_status.dart new file mode 100644 index 0000000..76ef5a8 --- /dev/null +++ b/lib/ui/widgets/progress_status.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; + +class ProgressStatus extends StatelessWidget { + final Color color; + final String status; + + const ProgressStatus({super.key, required this.color, required this.status}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + decoration: BoxDecoration( + color: color.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 2.5), + child: _buildLabel(), + ); + + Widget _buildLabel() => Text( + status, + style: TextStyle( + color: color, + fontSize: 12, + fontWeight: FontWeight.w600, + ), + ); +} diff --git a/lib/ui/widgets/register_for_account.dart b/lib/ui/widgets/register_for_account.dart new file mode 100644 index 0000000..933712b --- /dev/null +++ b/lib/ui/widgets/register_for_account.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; + +import '../common/app_colors.dart'; +import '../common/ui_helpers.dart'; + +class RegisterForAccount extends StatelessWidget { + final GestureTapCallback? onTap; + const RegisterForAccount({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildRow(); + + Widget _buildRow() => Row( + children: [ + _buildLeadingText(), + horizontalSpaceTiny, + _buildRegisterTextButton() + ], + ); + + Widget _buildLeadingText() => const Text( + 'Don’t have an account? ', + style: TextStyle(color: kcMediumGrey), + ); + + Widget _buildRegisterTextButton() => TextButton( + onPressed: onTap, + style: const ButtonStyle( + alignment: Alignment.centerLeft, + padding: WidgetStatePropertyAll(EdgeInsets.zero)), + child: _buildRegisterText(), + ); + + Widget _buildRegisterText() => const Text( + 'Register', + style: TextStyle(color: kcPrimaryColor), + ); +} diff --git a/lib/ui/widgets/skill_progress.dart b/lib/ui/widgets/skill_progress.dart new file mode 100644 index 0000000..3543d51 --- /dev/null +++ b/lib/ui/widgets/skill_progress.dart @@ -0,0 +1,100 @@ +import 'package:flutter/material.dart'; +import 'package:iconsax/iconsax.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import 'custom_linear_progress_indicator.dart'; + +class SkillProgress extends StatelessWidget { + final String skill; + final double progress; + + const SkillProgress({super.key, required this.skill, required this.progress}); + + Color _getColor() { + if (skill == 'Speaking') { + return kcOrange; + } else if (skill == 'Listening') { + return kcGreen; + } else if (skill == 'Reading') { + return kcAquamarine; + } else { + return kcIndigo; + } + } + + IconData _getIcon() { + if (skill == 'Speaking') { + return Icons.mic_none; + } else if (skill == 'Listening') { + return Icons.headphones_outlined; + } else if (skill == 'Reading') { + return Icons.chrome_reader_mode_outlined; + } else { + return Iconsax.pen_add; + } + } + + @override + Widget build(BuildContext context) => _buildSkillSection(); + + Widget _buildSkillSection() => Column( + mainAxisSize: MainAxisSize.min, + children: _buildStorageSectionChildren(), + ); + + List _buildStorageSectionChildren() => [ + verticalSpaceSmall, + _buildSkillInfoWrapper(), + verticalSpaceSmall, + _buildProgressIndicator(), + verticalSpaceMedium + ]; + + Widget _buildSkillInfoWrapper() => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: _buildSkillInfoChildren(), + ); + + List _buildSkillInfoChildren() => + [_buildSkillRow(), _buildProgress()]; + + Widget _buildSkillRow() => Row( + children: [ + _buildIcon(), + const SizedBox( + width: 5, + ), + _buildSkill() + ], + ); + + Widget _buildIcon() => Icon( + _getIcon(), + color: _getColor(), + ); + + Widget _buildSkill() => Text( + skill, + style: const TextStyle( + fontSize: 18, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgress() => Text( + '${(progress * 100).toInt()}%', + style: const TextStyle( + fontSize: 16, + color: kcDarkGrey, + fontWeight: FontWeight.w600, + ), + ); + + Widget _buildProgressIndicator() => CustomLinearProgressIndicator( + progress: progress, + activeColor: _getColor(), + backgroundColor: kcVeryLightGrey, + ); +} diff --git a/lib/ui/widgets/small_app_bar.dart b/lib/ui/widgets/small_app_bar.dart new file mode 100644 index 0000000..97a28af --- /dev/null +++ b/lib/ui/widgets/small_app_bar.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/widgets/custom_back_button.dart'; + +class SmallAppBar extends StatelessWidget { + final String? title; + final GestureTapCallback? onTap; + + const SmallAppBar({super.key, this.onTap, this.title}); + + @override + Widget build(BuildContext context) => _buildAppBar(); + + Widget _buildAppBar() => Stack( + alignment: Alignment.center, + children: _buildAppBarChildren(), + ); + + List _buildAppBarChildren() => + [_buildBackButtonWrapper(), if (title != null) _buildTitleWrapper()]; + + Widget _buildBackButtonWrapper() => Align( + alignment: Alignment.centerLeft, + child: _buildBackButton(), + ); + + Widget _buildBackButton() => CustomBackButton(onTap: onTap); + + Widget _buildTitleWrapper() => Align( + alignment: Alignment.center, + child: _buildTitle(), + ); + + Widget _buildTitle() => Text( + title ?? '', + style: const TextStyle( + fontSize: 18, + color: kcPrimaryColor, + fontWeight: FontWeight.w600, + ), + ); +} diff --git a/lib/ui/widgets/suggestion_card.dart b/lib/ui/widgets/suggestion_card.dart new file mode 100644 index 0000000..88fd382 --- /dev/null +++ b/lib/ui/widgets/suggestion_card.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_strings.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +import '../common/app_colors.dart'; + +class SuggestionCard extends StatelessWidget { + const SuggestionCard({super.key}); + + @override + Widget build(BuildContext context) => _buildContainer(); + + Widget _buildContainer() => Container( + height: 75, + width: double.maxFinite, + margin: const EdgeInsets.symmetric(horizontal: 15), + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 10), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + gradient: const LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [kcPrimaryAccent, kcPrimaryColor]), + ), + child: _buildRow(), + ); + + Widget _buildRow() => Row( + children: [_buildIcon(), horizontalSpaceSmall, _buildTitleWrapper()], + ); + + Widget _buildIcon() => const Icon(Icons.lightbulb_outline, color: kcWhite); + + Widget _buildTitleWrapper() => Expanded( + child: _buildTitle(), + ); + + Widget _buildTitle() => const Text( + ksSuggestion, + style: TextStyle(color: kcWhite), + ); +} diff --git a/lib/ui/widgets/support_card.dart b/lib/ui/widgets/support_card.dart new file mode 100644 index 0000000..dd3a92c --- /dev/null +++ b/lib/ui/widgets/support_card.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/widgets/circular_icon.dart'; + +class SupportCard extends StatelessWidget { + final Color color; + final String title; + final IconData icon; + final String subtitle; + final GestureTapCallback? onTap; + + const SupportCard({ + super.key, + this.onTap, + required this.icon, + required this.color, + required this.title, + required this.subtitle, + }); + + @override + Widget build(BuildContext context) => _buildLitTile(); + + Widget _buildLitTile() => ListTile( + onTap: onTap, + title: _buildTitle(), + subtitle: _buildSubtitle(), + trailing: _buildTrailingIcon(), + leading: _buildLeadingWrapper(), + tileColor: color.withOpacity(0.2), + ); + + Widget _buildLeadingWrapper() => + CircularIcon(icon: icon, size: 20, color: color); + + Widget _buildTitle() => Text( + title, + style: const TextStyle( + fontSize: 16, color: kcDarkGrey, fontWeight: FontWeight.w600), + ); + + Widget _buildSubtitle() => Text( + subtitle, + maxLines: 2, + style: const TextStyle(color: kcDarkGrey), + ); + + Widget _buildTrailingIcon() => Icon( + Icons.keyboard_arrow_right, + color: color, + ); +} diff --git a/lib/ui/widgets/validator_list_tile.dart b/lib/ui/widgets/validator_list_tile.dart new file mode 100644 index 0000000..b77e981 --- /dev/null +++ b/lib/ui/widgets/validator_list_tile.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; +import 'package:yimaru_app/ui/common/ui_helpers.dart'; + +class ValidatorListTile extends StatelessWidget { + final String label; + final Color backgroundColor; + const ValidatorListTile( + {super.key, required this.label, required this.backgroundColor}); + + @override + Widget build(BuildContext context) => _buildRowWrapper(); + + Widget _buildRowWrapper() => Padding( + padding: const EdgeInsets.only(bottom: 15), + child: _buildRow(), + ); + + Widget _buildRow() => Row( + children: [_buildIconWrapper(), horizontalSpaceSmall, _buildLabel()], + ); + + Widget _buildIconWrapper() => CircleAvatar( + radius: 8, + backgroundColor: backgroundColor, + child: _buildIcon(), + ); + + Widget _buildIcon() => const Icon( + Icons.check, + size: 14, + color: kcWhite, + ); + + Widget _buildLabel() => Text( + label, + style: style16DG400, + ); +} diff --git a/lib/ui/widgets/view_profile_button.dart b/lib/ui/widgets/view_profile_button.dart new file mode 100644 index 0000000..fe45130 --- /dev/null +++ b/lib/ui/widgets/view_profile_button.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:yimaru_app/ui/common/app_colors.dart'; + +class ViewProfileButton extends StatelessWidget { + final GestureTapCallback? onTap; + const ViewProfileButton({super.key, this.onTap}); + + @override + Widget build(BuildContext context) => _buildButtonWrapper(); + + Widget _buildButtonWrapper() => GestureDetector( + onTap: onTap, + child: _buildButtonRow(), + ); + + Widget _buildButtonRow() => Row( + mainAxisSize: MainAxisSize.min, + children: _buildButtonRowChildren(), + ); + + List _buildButtonRowChildren() => + [_buildButtonText(), const SizedBox(width: 10), _buildButtonIcon()]; + + Widget _buildButtonText() => const Text( + 'View Profile', + style: TextStyle( + color: kcPrimaryColor, fontSize: 16, fontWeight: FontWeight.w900), + ); + + Widget _buildButtonIcon() => const Icon( + Icons.arrow_forward, + size: 16, + color: kcPrimaryColor, + ); +} diff --git a/linux/.gitignore b/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt new file mode 100644 index 0000000..c576a2f --- /dev/null +++ b/linux/CMakeLists.txt @@ -0,0 +1,128 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "yimaru_app") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.yimaru_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/linux/flutter/CMakeLists.txt b/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..d0e7f79 --- /dev/null +++ b/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); + flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); +} diff --git a/linux/flutter/generated_plugin_registrant.h b/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..b29e9ba --- /dev/null +++ b/linux/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + flutter_secure_storage_linux +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/linux/runner/CMakeLists.txt b/linux/runner/CMakeLists.txt new file mode 100644 index 0000000..e97dabc --- /dev/null +++ b/linux/runner/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the application ID. +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") diff --git a/linux/runner/main.cc b/linux/runner/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/linux/runner/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/linux/runner/my_application.cc b/linux/runner/my_application.cc new file mode 100644 index 0000000..9b6f031 --- /dev/null +++ b/linux/runner/my_application.cc @@ -0,0 +1,148 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Called when first Flutter frame received. +static void first_frame_cb(MyApplication* self, FlView* view) { + gtk_widget_show(gtk_widget_get_toplevel(GTK_WIDGET(view))); +} + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "yimaru_app"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "yimaru_app"); + } + + gtk_window_set_default_size(window, 1280, 720); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments( + project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + GdkRGBA background_color; + // Background defaults to black, override it here if necessary, e.g. #00000000 + // for transparent. + gdk_rgba_parse(&background_color, "#000000"); + fl_view_set_background_color(view, &background_color); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + // Show the window when Flutter renders. + // Requires the view to be realized so we can start rendering. + g_signal_connect_swapped(view, "first-frame", G_CALLBACK(first_frame_cb), + self); + gtk_widget_realize(GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, + gchar*** arguments, + int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = + my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + // Set the program name to the application ID, which helps various systems + // like GTK and desktop environments map this running application to its + // corresponding .desktop file. This ensures better integration by allowing + // the application to be recognized beyond its binary name. + g_set_prgname(APPLICATION_ID); + + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, "flags", + G_APPLICATION_NON_UNIQUE, nullptr)); +} diff --git a/linux/runner/my_application.h b/linux/runner/my_application.h new file mode 100644 index 0000000..db16367 --- /dev/null +++ b/linux/runner/my_application.h @@ -0,0 +1,21 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, + my_application, + MY, + APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/macos/.gitignore b/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..a1d1dac --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,16 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import battery_plus +import connectivity_plus +import flutter_secure_storage_darwin + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + BatteryPlusMacosPlugin.register(with: registry.registrar(forPlugin: "BatteryPlusMacosPlugin")) + ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) + FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin")) +} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..827ddde --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* yimaru_app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "yimaru_app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* yimaru_app.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* yimaru_app.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/yimaru_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/yimaru_app"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/yimaru_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/yimaru_app"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/yimaru_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/yimaru_app"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..61eadad --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..b3c1761 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..1bab4a5 --- /dev/null +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = yimaru_app + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.yimaruApp + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2026 com.example. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/macos/RunnerTests/RunnerTests.swift b/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..cfad602 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,1162 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + url: "https://pub.dev" + source: hosted + version: "67.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + url: "https://pub.dev" + source: hosted + version: "6.4.1" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" + source: hosted + version: "2.13.0" + battery_plus: + dependency: "direct main" + description: + name: battery_plus + sha256: ad16fcb55b7384be6b4bbc763d5e2031ac7ea62b2d9b6b661490c7b9741155bf + url: "https://pub.dev" + source: hosted + version: "7.0.0" + battery_plus_platform_interface: + dependency: transitive + description: + name: battery_plus_platform_interface + sha256: e8342c0f32de4b1dfd0223114b6785e48e579bfc398da9471c9179b907fa4910 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + bloc: + dependency: transitive + description: + name: bloc + sha256: a48653a82055a900b88cd35f92429f068c5a8057ae9b136d197b3d56c57efb81 + url: "https://pub.dev" + source: hosted + version: "9.2.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957 + url: "https://pub.dev" + source: hosted + version: "4.1.1" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d" + url: "https://pub.dev" + source: hosted + version: "2.4.13" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 + url: "https://pub.dev" + source: hosted + version: "7.3.2" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: "7931c90b84bc573fef103548e354258ae4c9d28d140e41961df6843c5d60d4d8" + url: "https://pub.dev" + source: hosted + version: "8.12.3" + characters: + dependency: transitive + description: + name: characters + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + clock: + dependency: transitive + description: + name: clock + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" + source: hosted + version: "1.1.2" + code_assets: + dependency: transitive + description: + name: code_assets + sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d" + url: "https://pub.dev" + source: hosted + version: "4.11.1" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + connectivity_plus: + dependency: transitive + description: + name: connectivity_plus + sha256: "33bae12a398f841c6cda09d1064212957265869104c478e5ad51e2fb26c3973c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + connectivity_plus_platform_interface: + dependency: transitive + description: + name: connectivity_plus_platform_interface + sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" + csslib: + dependency: transitive + description: + name: csslib + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + url: "https://pub.dev" + source: hosted + version: "2.3.6" + dbus: + dependency: transitive + description: + name: dbus + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" + url: "https://pub.dev" + source: hosted + version: "0.7.11" + dio: + dependency: "direct main" + description: + name: dio + sha256: d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9 + url: "https://pub.dev" + source: hosted + version: "5.9.0" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + dropdown_search: + dependency: "direct main" + description: + name: dropdown_search + sha256: c29b3e5147a82a06a4a08b3b574c51cb48cc17ad89893d53ee72a6f86643622e + url: "https://pub.dev" + source: hosted + version: "6.0.2" + email_validator: + dependency: "direct main" + description: + name: email_validator + sha256: b19aa5d92fdd76fbc65112060c94d45ba855105a28bb6e462de7ff03b12fa1fb + url: "https://pub.dev" + source: hosted + version: "3.0.0" + equatable: + dependency: transitive + description: + name: equatable + sha256: "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b" + url: "https://pub.dev" + source: hosted + version: "2.0.8" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" + source: hosted + version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: d07d37192dbf97461359c1518788f203b0c9102cfd2c35a716b823741219542c + url: "https://pub.dev" + source: hosted + version: "2.1.5" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_bloc: + dependency: transitive + description: + name: flutter_bloc + sha256: cf51747952201a455a1c840f8171d273be009b932c75093020f9af64f2123e38 + url: "https://pub.dev" + source: hosted + version: "9.1.1" + flutter_html: + dependency: "direct main" + description: + name: flutter_html + sha256: "38a2fd702ffdf3243fb7441ab58aa1bc7e6922d95a50db76534de8260638558d" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" + source: hosted + version: "2.0.3" + flutter_secure_storage: + dependency: "direct main" + description: + name: flutter_secure_storage + sha256: da922f2aab2d733db7e011a6bcc4a825b844892d4edd6df83ff156b09a9b2e40 + url: "https://pub.dev" + source: hosted + version: "10.0.0" + flutter_secure_storage_darwin: + dependency: transitive + description: + name: flutter_secure_storage_darwin + sha256: "8878c25136a79def1668c75985e8e193d9d7d095453ec28730da0315dc69aee3" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + flutter_secure_storage_linux: + dependency: transitive + description: + name: flutter_secure_storage_linux + sha256: "2b5c76dce569ab752d55a1cee6a2242bcc11fdba927078fb88c503f150767cda" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + flutter_secure_storage_platform_interface: + dependency: transitive + description: + name: flutter_secure_storage_platform_interface + sha256: "8ceea1223bee3c6ac1a22dabd8feefc550e4729b3675de4b5900f55afcb435d6" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + flutter_secure_storage_web: + dependency: transitive + description: + name: flutter_secure_storage_web + sha256: "6a1137df62b84b54261dca582c1c09ea72f4f9a4b2fcee21b025964132d5d0c3" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + flutter_secure_storage_windows: + dependency: transitive + description: + name: flutter_secure_storage_windows + sha256: "3b7c8e068875dfd46719ff57c90d8c459c87f2302ed6b00ff006b3c9fcad1613" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95" + url: "https://pub.dev" + source: hosted + version: "2.2.3" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_timer_countdown: + dependency: "direct main" + description: + name: flutter_timer_countdown + sha256: "0c73e1593ad7949c007752199a17e7ed50bb581568743dbc32f061f49873219e" + url: "https://pub.dev" + source: hosted + version: "1.0.7" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + freezed_annotation: + dependency: transitive + description: + name: freezed_annotation + sha256: c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2 + url: "https://pub.dev" + source: hosted + version: "2.4.4" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + get: + dependency: transitive + description: + name: get + sha256: "5ed34a7925b85336e15d472cc4cfe7d9ebf4ab8e8b9f688585bf6b50f4c3d79a" + url: "https://pub.dev" + source: hosted + version: "4.7.3" + get_it: + dependency: transitive + description: + name: get_it + sha256: ae78de7c3f2304b8d81f2bb6e320833e5e81de942188542328f074978cc0efa9 + url: "https://pub.dev" + source: hosted + version: "8.3.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + golden_toolkit: + dependency: "direct dev" + description: + name: golden_toolkit + sha256: "8f74adab33154fe7b731395782797021f97d2edc52f7bfb85ff4f1b5c4a215f0" + url: "https://pub.dev" + source: hosted + version: "0.15.0" + graphs: + dependency: transitive + description: + name: graphs + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + hooks: + dependency: transitive + description: + name: hooks + sha256: "5d309c86e7ce34cd8e37aa71cb30cb652d3829b900ab145e4d9da564b31d59f7" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + html: + dependency: transitive + description: + name: html + sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602" + url: "https://pub.dev" + source: hosted + version: "0.15.6" + http: + dependency: transitive + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + iconsax: + dependency: "direct main" + description: + name: iconsax + sha256: fb0144c61f41f3f8a385fadc27783ea9f5359670be885ed7f35cef32565d5228 + url: "https://pub.dev" + source: hosted + version: "0.0.8" + iconsax_flutter: + dependency: transitive + description: + name: iconsax_flutter + sha256: d14b4cec8586025ac15276bdd40f6eea308cb85748135965bb6255f14beb2564 + url: "https://pub.dev" + source: hosted + version: "1.0.1" + in_app_update: + dependency: "direct main" + description: + name: in_app_update + sha256: "9924a3efe592e1c0ec89dda3683b3cfec3d4cd02d908e6de00c24b759038ddb1" + url: "https://pub.dev" + source: hosted + version: "4.2.5" + internet_connection_checker_plus: + dependency: "direct main" + description: + name: internet_connection_checker_plus + sha256: ef43530f24de6309f99802358f8a543ea1f2babc153effc84a75133751716892 + url: "https://pub.dev" + source: hosted + version: "2.9.1+2" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + js: + dependency: transitive + description: + name: js + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" + url: "https://pub.dev" + source: hosted + version: "0.7.2" + json_annotation: + dependency: "direct main" + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + json_serializable: + dependency: "direct main" + description: + name: json_serializable + sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b + url: "https://pub.dev" + source: hosted + version: "6.8.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + lints: + dependency: transitive + description: + name: lints + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + list_counter: + dependency: transitive + description: + name: list_counter + sha256: c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237 + url: "https://pub.dev" + source: hosted + version: "1.0.2" + logger: + dependency: transitive + description: + name: logger + sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f" + url: "https://pub.dev" + source: hosted + version: "1.4.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + mockito: + dependency: "direct dev" + description: + name: mockito + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" + native_toolchain_c: + dependency: transitive + description: + name: native_toolchain_c + sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac" + url: "https://pub.dev" + source: hosted + version: "0.17.4" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + nm: + dependency: transitive + description: + name: nm + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + objective_c: + dependency: transitive + description: + name: objective_c + sha256: "9922a1ad59ac5afb154cc948aa6ded01987a75003651d0a2866afc23f4da624e" + url: "https://pub.dev" + source: hosted + version: "9.2.3" + omni_datetime_picker: + dependency: "direct main" + description: + name: omni_datetime_picker + sha256: bb360790e76109ea2e53b45643cdaab779649c4bf1a9d2794d3a135bfe9746e1 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e + url: "https://pub.dev" + source: hosted + version: "2.2.22" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + pausable_timer: + dependency: transitive + description: + name: pausable_timer + sha256: "6ef1a95441ec3439de6fb63f39a011b67e693198e7dae14e20675c3c00e86074" + url: "https://pub.dev" + source: hosted + version: "3.1.0+3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" + url: "https://pub.dev" + source: hosted + version: "7.0.1" + pinput: + dependency: "direct main" + description: + name: pinput + sha256: "692e1c29703abefad6c502e97b4d946d506384397438ea242afadbfe48354819" + url: "https://pub.dev" + source: hosted + version: "6.0.1" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" + url: "https://pub.dev" + source: hosted + version: "1.5.2" + provider: + dependency: transitive + description: + name: provider + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" + url: "https://pub.dev" + source: hosted + version: "6.1.5+1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + recase: + dependency: transitive + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + rxdart: + dependency: transitive + description: + name: rxdart + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" + url: "https://pub.dev" + source: hosted + version: "0.28.0" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + source_helper: + dependency: transitive + description: + name: source_helper + sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" + url: "https://pub.dev" + source: hosted + version: "1.3.5" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stacked: + dependency: "direct main" + description: + name: stacked + sha256: "5f4a6ba6cfa43c5854690de0f946eef1694250cf46ecf7859519d90bf764b1e4" + url: "https://pub.dev" + source: hosted + version: "3.5.0" + stacked_generator: + dependency: "direct dev" + description: + name: stacked_generator + sha256: eaa6447e3fd4d4010b746629b5518364d7fa7f6453ffb6416ad449fd352d1181 + url: "https://pub.dev" + source: hosted + version: "1.6.1" + stacked_services: + dependency: "direct main" + description: + name: stacked_services + sha256: a70c5c86f89a9258139ff174bf045a527099ea8552f8497ebb0b755469841bb4 + url: "https://pub.dev" + source: hosted + version: "1.6.0" + stacked_shared: + dependency: "direct main" + description: + name: stacked_shared + sha256: "3d69b34d87422b78a7e5123681d3f4bcdd79757170454933f68795c54812d003" + url: "https://pub.dev" + source: hosted + version: "1.4.2" + storage_info: + dependency: "direct main" + description: + name: storage_info + sha256: adbf5fd1a7c2ca977dd828573820db0a0a16f4aa317e0ab72e9b3282eb5bbe42 + url: "https://pub.dev" + source: hosted + version: "1.0.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test_api: + dependency: transitive + description: + name: test_api + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + url: "https://pub.dev" + source: hosted + version: "0.7.7" + timing: + dependency: transitive + description: + name: timing + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + toastification: + dependency: "direct main" + description: + name: toastification + sha256: "69db2bff425b484007409650d8bcd5ed1ce2e9666293ece74dcd917dacf23112" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + universal_io: + dependency: transitive + description: + name: universal_io + sha256: f63cbc48103236abf48e345e07a03ce5757ea86285ed313a6a032596ed9301e2 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + upower: + dependency: transitive + description: + name: upower + sha256: cf042403154751180affa1d15614db7fa50234bc2373cd21c3db666c38543ebf + url: "https://pub.dev" + source: hosted + version: "0.7.0" + uuid: + dependency: transitive + description: + name: uuid + sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8 + url: "https://pub.dev" + source: hosted + version: "4.5.2" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6 + url: "https://pub.dev" + source: hosted + version: "1.1.19" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" + url: "https://pub.dev" + source: hosted + version: "1.1.13" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc + url: "https://pub.dev" + source: hosted + version: "1.1.19" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + win32: + dependency: transitive + description: + name: win32 + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e + url: "https://pub.dev" + source: hosted + version: "5.15.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" + url: "https://pub.dev" + source: hosted + version: "6.6.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.10.3 <4.0.0" + flutter: ">=3.38.4" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..8bb6287 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,59 @@ +name: yimaru_app +description: A new Flutter project. +publish_to: 'none' +version: 0.1.0 + +environment: + sdk: '>=3.0.3 <4.0.0' + +dependencies: + flutter: + sdk: flutter + intl: any + dio: ^5.9.0 + pinput: ^6.0.1 + stacked: ^3.4.0 + iconsax: ^0.0.8 + flutter_svg: ^2.2.3 + stacked_shared: any + battery_plus: ^7.0.0 + storage_info: ^1.0.0 + flutter_html: ^3.0.0 + email_validator: any + in_app_update: ^4.2.5 + toastification: ^3.0.3 + dropdown_search: ^6.0.2 + json_annotation: ^4.9.0 + stacked_services: ^1.1.0 + omni_datetime_picker: any + json_serializable: ^6.8.0 + flutter_secure_storage: ^10.0.0 + flutter_timer_countdown: ^1.0.7 + internet_connection_checker_plus: ^2.9.1+2 + +dev_dependencies: + flutter_test: + sdk: flutter + mockito: ^5.4.1 + build_runner: ^2.4.5 + flutter_lints: ^2.0.0 + golden_toolkit: ^0.15.0 + stacked_generator: ^1.3.3 + +dependency_overrides: + intl: ^0.20.2 + + +flutter: + uses-material-design: true + + assets: + - assets/icons/ + - assets/images/ + fonts: + - family: Aeonik + fonts: + - asset: assets/fonts/Aeonik-Regular.ttf + + + diff --git a/stacked.json b/stacked.json new file mode 100644 index 0000000..16fa6db --- /dev/null +++ b/stacked.json @@ -0,0 +1,17 @@ +{ + "bottom_sheets_path": "ui/bottom_sheets", + "dialogs_path": "ui/dialogs", + "line_length": 80, + "locator_name": "locator", + "prefer_web": false, + "register_mocks_function": "registerServices", + "services_path": "services", + "stacked_app_file_path": "app/app.dart", + "test_helpers_file_path": "helpers/test_helpers.dart", + "test_services_path": "services", + "test_views_path": "viewmodels", + "test_widgets_path": "widget_models", + "v1": false, + "views_path": "ui/views", + "widgets_path": "ui/widgets/common" +} diff --git a/test/golden/home_view_golden_test.dart b/test/golden/home_view_golden_test.dart new file mode 100644 index 0000000..38879a4 --- /dev/null +++ b/test/golden/home_view_golden_test.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:golden_toolkit/golden_toolkit.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:yimaru_app/ui/views/home/home_view.dart'; + +void main() { + setUpAll(() => setupLocator()); + tearDownAll(() => locator.reset()); + + testGoldens('HomeView - default state', (tester) async { + await loadAppFonts(); + + // Set device pixel ratio and size + await tester.binding.setSurfaceSize(const Size(393, 852)); + tester.binding.window.devicePixelRatioTestValue = 1.0; + + await tester.pumpWidget( + const MediaQuery( + data: MediaQueryData(size: Size(393, 852), devicePixelRatio: 1.0), + child: MaterialApp(debugShowCheckedModeBanner: false, home: HomeView()), + ), + ); + + await screenMatchesGolden(tester, 'home_view_default'); + }); +} diff --git a/test/helpers/test_helpers.dart b/test/helpers/test_helpers.dart new file mode 100644 index 0000000..df3b057 --- /dev/null +++ b/test/helpers/test_helpers.dart @@ -0,0 +1,85 @@ +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:stacked_services/stacked_services.dart'; +// @stacked-import + +import 'test_helpers.mocks.dart'; + +@GenerateMocks( + [], + customMocks: [ + MockSpec(onMissingStub: OnMissingStub.returnDefault), + MockSpec(onMissingStub: OnMissingStub.returnDefault), + MockSpec(onMissingStub: OnMissingStub.returnDefault), + // @stacked-mock-spec + ], +) +void registerServices() { + getAndRegisterNavigationService(); + getAndRegisterBottomSheetService(); + getAndRegisterDialogService(); + // @stacked-mock-register +} + +MockNavigationService getAndRegisterNavigationService() { + _removeRegistrationIfExists(); + final service = MockNavigationService(); + locator.registerSingleton(service); + return service; +} + +MockBottomSheetService getAndRegisterBottomSheetService({ + SheetResponse? showCustomSheetResponse, +}) { + _removeRegistrationIfExists(); + final service = MockBottomSheetService(); + + when( + service.showCustomSheet( + enableDrag: anyNamed('enableDrag'), + enterBottomSheetDuration: anyNamed('enterBottomSheetDuration'), + exitBottomSheetDuration: anyNamed('exitBottomSheetDuration'), + ignoreSafeArea: anyNamed('ignoreSafeArea'), + isScrollControlled: anyNamed('isScrollControlled'), + barrierDismissible: anyNamed('barrierDismissible'), + additionalButtonTitle: anyNamed('additionalButtonTitle'), + variant: anyNamed('variant'), + title: anyNamed('title'), + hasImage: anyNamed('hasImage'), + imageUrl: anyNamed('imageUrl'), + showIconInMainButton: anyNamed('showIconInMainButton'), + mainButtonTitle: anyNamed('mainButtonTitle'), + showIconInSecondaryButton: anyNamed('showIconInSecondaryButton'), + secondaryButtonTitle: anyNamed('secondaryButtonTitle'), + showIconInAdditionalButton: anyNamed('showIconInAdditionalButton'), + takesInput: anyNamed('takesInput'), + barrierColor: anyNamed('barrierColor'), + barrierLabel: anyNamed('barrierLabel'), + customData: anyNamed('customData'), + data: anyNamed('data'), + description: anyNamed('description'), + ), + ).thenAnswer( + (realInvocation) => + Future.value(showCustomSheetResponse ?? SheetResponse()), + ); + + locator.registerSingleton(service); + return service; +} + +MockDialogService getAndRegisterDialogService() { + _removeRegistrationIfExists(); + final service = MockDialogService(); + locator.registerSingleton(service); + return service; +} + +// @stacked-mock-create + +void _removeRegistrationIfExists() { + if (locator.isRegistered()) { + locator.unregister(); + } +} diff --git a/test/helpers/test_helpers.mocks.dart b/test/helpers/test_helpers.mocks.dart new file mode 100644 index 0000000..651298f --- /dev/null +++ b/test/helpers/test_helpers.mocks.dart @@ -0,0 +1,684 @@ +// Mocks generated by Mockito 5.4.4 from annotations +// in yimaru_app/test/helpers/test_helpers.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i5; +import 'dart:ui' as _i6; + +import 'package:flutter/material.dart' as _i4; +import 'package:mockito/mockito.dart' as _i1; +import 'package:mockito/src/dummies.dart' as _i3; +import 'package:stacked_services/stacked_services.dart' as _i2; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use +// ignore_for_file: deprecated_member_use_from_same_package +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +/// A class which mocks [NavigationService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockNavigationService extends _i1.Mock implements _i2.NavigationService { + @override + String get previousRoute => (super.noSuchMethod( + Invocation.getter(#previousRoute), + returnValue: _i3.dummyValue( + this, + Invocation.getter(#previousRoute), + ), + returnValueForMissingStub: _i3.dummyValue( + this, + Invocation.getter(#previousRoute), + ), + ) as String); + + @override + String get currentRoute => (super.noSuchMethod( + Invocation.getter(#currentRoute), + returnValue: _i3.dummyValue( + this, + Invocation.getter(#currentRoute), + ), + returnValueForMissingStub: _i3.dummyValue( + this, + Invocation.getter(#currentRoute), + ), + ) as String); + + @override + _i4.GlobalKey<_i4.NavigatorState>? nestedNavigationKey(int? index) => + (super.noSuchMethod( + Invocation.method( + #nestedNavigationKey, + [index], + ), + returnValueForMissingStub: null, + ) as _i4.GlobalKey<_i4.NavigatorState>?); + + @override + void config({ + bool? enableLog, + bool? defaultPopGesture, + bool? defaultOpaqueRoute, + Duration? defaultDurationTransition, + bool? defaultGlobalState, + _i2.Transition? defaultTransitionStyle, + String? defaultTransition, + }) => + super.noSuchMethod( + Invocation.method( + #config, + [], + { + #enableLog: enableLog, + #defaultPopGesture: defaultPopGesture, + #defaultOpaqueRoute: defaultOpaqueRoute, + #defaultDurationTransition: defaultDurationTransition, + #defaultGlobalState: defaultGlobalState, + #defaultTransitionStyle: defaultTransitionStyle, + #defaultTransition: defaultTransition, + }, + ), + returnValueForMissingStub: null, + ); + + @override + _i5.Future? navigateWithTransition( + _i4.Widget? page, { + bool? opaque, + String? transition = r'', + Duration? duration, + bool? popGesture, + int? id, + _i4.Curve? curve, + bool? fullscreenDialog = false, + bool? preventDuplicates = true, + _i2.Transition? transitionClass, + _i2.Transition? transitionStyle, + String? routeName, + }) => + (super.noSuchMethod( + Invocation.method( + #navigateWithTransition, + [page], + { + #opaque: opaque, + #transition: transition, + #duration: duration, + #popGesture: popGesture, + #id: id, + #curve: curve, + #fullscreenDialog: fullscreenDialog, + #preventDuplicates: preventDuplicates, + #transitionClass: transitionClass, + #transitionStyle: transitionStyle, + #routeName: routeName, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? replaceWithTransition( + _i4.Widget? page, { + bool? opaque, + String? transition = r'', + Duration? duration, + bool? popGesture, + int? id, + _i4.Curve? curve, + bool? fullscreenDialog = false, + bool? preventDuplicates = true, + _i2.Transition? transitionClass, + _i2.Transition? transitionStyle, + String? routeName, + }) => + (super.noSuchMethod( + Invocation.method( + #replaceWithTransition, + [page], + { + #opaque: opaque, + #transition: transition, + #duration: duration, + #popGesture: popGesture, + #id: id, + #curve: curve, + #fullscreenDialog: fullscreenDialog, + #preventDuplicates: preventDuplicates, + #transitionClass: transitionClass, + #transitionStyle: transitionStyle, + #routeName: routeName, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + bool back({ + dynamic result, + int? id, + }) => + (super.noSuchMethod( + Invocation.method( + #back, + [], + { + #result: result, + #id: id, + }, + ), + returnValue: false, + returnValueForMissingStub: false, + ) as bool); + + @override + void popUntil( + _i4.RoutePredicate? predicate, { + int? id, + }) => + super.noSuchMethod( + Invocation.method( + #popUntil, + [predicate], + {#id: id}, + ), + returnValueForMissingStub: null, + ); + + @override + void popRepeated(int? popTimes) => super.noSuchMethod( + Invocation.method( + #popRepeated, + [popTimes], + ), + returnValueForMissingStub: null, + ); + + @override + _i5.Future? navigateTo( + String? routeName, { + dynamic arguments, + int? id, + bool? preventDuplicates = true, + Map? parameters, + _i4.RouteTransitionsBuilder? transition, + }) => + (super.noSuchMethod( + Invocation.method( + #navigateTo, + [routeName], + { + #arguments: arguments, + #id: id, + #preventDuplicates: preventDuplicates, + #parameters: parameters, + #transition: transition, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? navigateToView( + _i4.Widget? view, { + dynamic arguments, + int? id, + bool? opaque, + _i4.Curve? curve, + Duration? duration, + bool? fullscreenDialog = false, + bool? popGesture, + bool? preventDuplicates = true, + _i2.Transition? transition, + _i2.Transition? transitionStyle, + }) => + (super.noSuchMethod( + Invocation.method( + #navigateToView, + [view], + { + #arguments: arguments, + #id: id, + #opaque: opaque, + #curve: curve, + #duration: duration, + #fullscreenDialog: fullscreenDialog, + #popGesture: popGesture, + #preventDuplicates: preventDuplicates, + #transition: transition, + #transitionStyle: transitionStyle, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? replaceWith( + String? routeName, { + dynamic arguments, + int? id, + bool? preventDuplicates = true, + Map? parameters, + _i4.RouteTransitionsBuilder? transition, + }) => + (super.noSuchMethod( + Invocation.method( + #replaceWith, + [routeName], + { + #arguments: arguments, + #id: id, + #preventDuplicates: preventDuplicates, + #parameters: parameters, + #transition: transition, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? clearStackAndShow( + String? routeName, { + dynamic arguments, + int? id, + Map? parameters, + }) => + (super.noSuchMethod( + Invocation.method( + #clearStackAndShow, + [routeName], + { + #arguments: arguments, + #id: id, + #parameters: parameters, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? clearStackAndShowView( + _i4.Widget? view, { + dynamic arguments, + int? id, + }) => + (super.noSuchMethod( + Invocation.method( + #clearStackAndShowView, + [view], + { + #arguments: arguments, + #id: id, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? clearTillFirstAndShow( + String? routeName, { + dynamic arguments, + int? id, + bool? preventDuplicates = true, + Map? parameters, + }) => + (super.noSuchMethod( + Invocation.method( + #clearTillFirstAndShow, + [routeName], + { + #arguments: arguments, + #id: id, + #preventDuplicates: preventDuplicates, + #parameters: parameters, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? clearTillFirstAndShowView( + _i4.Widget? view, { + dynamic arguments, + int? id, + }) => + (super.noSuchMethod( + Invocation.method( + #clearTillFirstAndShowView, + [view], + { + #arguments: arguments, + #id: id, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); + + @override + _i5.Future? pushNamedAndRemoveUntil( + String? routeName, { + _i4.RoutePredicate? predicate, + dynamic arguments, + int? id, + }) => + (super.noSuchMethod( + Invocation.method( + #pushNamedAndRemoveUntil, + [routeName], + { + #predicate: predicate, + #arguments: arguments, + #id: id, + }, + ), + returnValueForMissingStub: null, + ) as _i5.Future?); +} + +/// A class which mocks [BottomSheetService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockBottomSheetService extends _i1.Mock + implements _i2.BottomSheetService { + @override + void setCustomSheetBuilders(Map? builders) => + super.noSuchMethod( + Invocation.method( + #setCustomSheetBuilders, + [builders], + ), + returnValueForMissingStub: null, + ); + + @override + _i5.Future<_i2.SheetResponse?> showBottomSheet({ + required String? title, + String? description, + String? confirmButtonTitle = r'Ok', + String? cancelButtonTitle, + bool? enableDrag = true, + bool? barrierDismissible = true, + bool? isScrollControlled = false, + Duration? exitBottomSheetDuration, + Duration? enterBottomSheetDuration, + bool? ignoreSafeArea, + bool? useRootNavigator = false, + double? elevation = 1.0, + }) => + (super.noSuchMethod( + Invocation.method( + #showBottomSheet, + [], + { + #title: title, + #description: description, + #confirmButtonTitle: confirmButtonTitle, + #cancelButtonTitle: cancelButtonTitle, + #enableDrag: enableDrag, + #barrierDismissible: barrierDismissible, + #isScrollControlled: isScrollControlled, + #exitBottomSheetDuration: exitBottomSheetDuration, + #enterBottomSheetDuration: enterBottomSheetDuration, + #ignoreSafeArea: ignoreSafeArea, + #useRootNavigator: useRootNavigator, + #elevation: elevation, + }, + ), + returnValue: _i5.Future<_i2.SheetResponse?>.value(), + returnValueForMissingStub: + _i5.Future<_i2.SheetResponse?>.value(), + ) as _i5.Future<_i2.SheetResponse?>); + + @override + _i5.Future<_i2.SheetResponse?> showCustomSheet({ + dynamic variant, + String? title, + String? description, + bool? hasImage = false, + String? imageUrl, + bool? showIconInMainButton = false, + String? mainButtonTitle, + bool? showIconInSecondaryButton = false, + String? secondaryButtonTitle, + bool? showIconInAdditionalButton = false, + String? additionalButtonTitle, + bool? takesInput = false, + _i6.Color? barrierColor = const _i6.Color(2315255808), + double? elevation = 1.0, + bool? barrierDismissible = true, + bool? isScrollControlled = false, + String? barrierLabel = r'', + dynamic customData, + R? data, + bool? enableDrag = true, + Duration? exitBottomSheetDuration, + Duration? enterBottomSheetDuration, + bool? ignoreSafeArea, + bool? useRootNavigator = false, + }) => + (super.noSuchMethod( + Invocation.method( + #showCustomSheet, + [], + { + #variant: variant, + #title: title, + #description: description, + #hasImage: hasImage, + #imageUrl: imageUrl, + #showIconInMainButton: showIconInMainButton, + #mainButtonTitle: mainButtonTitle, + #showIconInSecondaryButton: showIconInSecondaryButton, + #secondaryButtonTitle: secondaryButtonTitle, + #showIconInAdditionalButton: showIconInAdditionalButton, + #additionalButtonTitle: additionalButtonTitle, + #takesInput: takesInput, + #barrierColor: barrierColor, + #elevation: elevation, + #barrierDismissible: barrierDismissible, + #isScrollControlled: isScrollControlled, + #barrierLabel: barrierLabel, + #customData: customData, + #data: data, + #enableDrag: enableDrag, + #exitBottomSheetDuration: exitBottomSheetDuration, + #enterBottomSheetDuration: enterBottomSheetDuration, + #ignoreSafeArea: ignoreSafeArea, + #useRootNavigator: useRootNavigator, + }, + ), + returnValue: _i5.Future<_i2.SheetResponse?>.value(), + returnValueForMissingStub: _i5.Future<_i2.SheetResponse?>.value(), + ) as _i5.Future<_i2.SheetResponse?>); + + @override + void completeSheet(_i2.SheetResponse? response) => + super.noSuchMethod( + Invocation.method( + #completeSheet, + [response], + ), + returnValueForMissingStub: null, + ); +} + +/// A class which mocks [DialogService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockDialogService extends _i1.Mock implements _i2.DialogService { + @override + void registerCustomDialogBuilders( + Map? builders) => + super.noSuchMethod( + Invocation.method( + #registerCustomDialogBuilders, + [builders], + ), + returnValueForMissingStub: null, + ); + + @override + void registerCustomDialogBuilder({ + required dynamic variant, + required _i4.Widget Function( + _i4.BuildContext, + _i2.DialogRequest, + dynamic Function(_i2.DialogResponse), + )? builder, + }) => + super.noSuchMethod( + Invocation.method( + #registerCustomDialogBuilder, + [], + { + #variant: variant, + #builder: builder, + }, + ), + returnValueForMissingStub: null, + ); + + @override + _i5.Future<_i2.DialogResponse?> showDialog({ + String? title, + String? description, + String? cancelTitle, + _i6.Color? cancelTitleColor, + String? buttonTitle = r'Ok', + _i6.Color? buttonTitleColor, + bool? barrierDismissible = false, + _i4.RouteSettings? routeSettings, + _i4.GlobalKey<_i4.NavigatorState>? navigatorKey, + _i2.DialogPlatform? dialogPlatform, + }) => + (super.noSuchMethod( + Invocation.method( + #showDialog, + [], + { + #title: title, + #description: description, + #cancelTitle: cancelTitle, + #cancelTitleColor: cancelTitleColor, + #buttonTitle: buttonTitle, + #buttonTitleColor: buttonTitleColor, + #barrierDismissible: barrierDismissible, + #routeSettings: routeSettings, + #navigatorKey: navigatorKey, + #dialogPlatform: dialogPlatform, + }, + ), + returnValue: _i5.Future<_i2.DialogResponse?>.value(), + returnValueForMissingStub: + _i5.Future<_i2.DialogResponse?>.value(), + ) as _i5.Future<_i2.DialogResponse?>); + + @override + _i5.Future<_i2.DialogResponse?> showCustomDialog({ + dynamic variant, + String? title, + String? description, + bool? hasImage = false, + String? imageUrl, + bool? showIconInMainButton = false, + String? mainButtonTitle, + bool? showIconInSecondaryButton = false, + String? secondaryButtonTitle, + bool? showIconInAdditionalButton = false, + String? additionalButtonTitle, + bool? takesInput = false, + _i6.Color? barrierColor = const _i6.Color(2315255808), + bool? barrierDismissible = false, + String? barrierLabel = r'', + bool? useSafeArea = true, + _i4.RouteSettings? routeSettings, + _i4.GlobalKey<_i4.NavigatorState>? navigatorKey, + _i4.RouteTransitionsBuilder? transitionBuilder, + dynamic customData, + R? data, + }) => + (super.noSuchMethod( + Invocation.method( + #showCustomDialog, + [], + { + #variant: variant, + #title: title, + #description: description, + #hasImage: hasImage, + #imageUrl: imageUrl, + #showIconInMainButton: showIconInMainButton, + #mainButtonTitle: mainButtonTitle, + #showIconInSecondaryButton: showIconInSecondaryButton, + #secondaryButtonTitle: secondaryButtonTitle, + #showIconInAdditionalButton: showIconInAdditionalButton, + #additionalButtonTitle: additionalButtonTitle, + #takesInput: takesInput, + #barrierColor: barrierColor, + #barrierDismissible: barrierDismissible, + #barrierLabel: barrierLabel, + #useSafeArea: useSafeArea, + #routeSettings: routeSettings, + #navigatorKey: navigatorKey, + #transitionBuilder: transitionBuilder, + #customData: customData, + #data: data, + }, + ), + returnValue: _i5.Future<_i2.DialogResponse?>.value(), + returnValueForMissingStub: _i5.Future<_i2.DialogResponse?>.value(), + ) as _i5.Future<_i2.DialogResponse?>); + + @override + _i5.Future<_i2.DialogResponse?> showConfirmationDialog({ + String? title, + String? description, + String? cancelTitle = r'Cancel', + _i6.Color? cancelTitleColor, + String? confirmationTitle = r'Ok', + _i6.Color? confirmationTitleColor, + bool? barrierDismissible = false, + _i4.RouteSettings? routeSettings, + _i2.DialogPlatform? dialogPlatform, + }) => + (super.noSuchMethod( + Invocation.method( + #showConfirmationDialog, + [], + { + #title: title, + #description: description, + #cancelTitle: cancelTitle, + #cancelTitleColor: cancelTitleColor, + #confirmationTitle: confirmationTitle, + #confirmationTitleColor: confirmationTitleColor, + #barrierDismissible: barrierDismissible, + #routeSettings: routeSettings, + #dialogPlatform: dialogPlatform, + }, + ), + returnValue: _i5.Future<_i2.DialogResponse?>.value(), + returnValueForMissingStub: + _i5.Future<_i2.DialogResponse?>.value(), + ) as _i5.Future<_i2.DialogResponse?>); + + @override + void completeDialog(_i2.DialogResponse? response) => + super.noSuchMethod( + Invocation.method( + #completeDialog, + [response], + ), + returnValueForMissingStub: null, + ); +} diff --git a/test/viewmodels/home_viewmodel_test.dart b/test/viewmodels/home_viewmodel_test.dart new file mode 100644 index 0000000..5405153 --- /dev/null +++ b/test/viewmodels/home_viewmodel_test.dart @@ -0,0 +1,44 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/mockito.dart'; +import 'package:yimaru_app/app/app.bottomsheets.dart'; +import 'package:yimaru_app/app/app.locator.dart'; +import 'package:yimaru_app/ui/common/app_strings.dart'; +import 'package:yimaru_app/ui/views/home/home_viewmodel.dart'; + +import '../helpers/test_helpers.dart'; + +void main() { + HomeViewModel getModel() => HomeViewModel(); + + group('HomeViewmodelTest -', () { + setUp(() => registerServices()); + tearDown(() => locator.reset()); + + group('incrementCounter -', () { + test('When called once should return Counter is: 1', () { + final model = getModel(); + model.incrementCounter(); + expect(model.counterLabel, 'Counter is: 1'); + }); + }); + + group('showBottomSheet -', () { + test( + 'When called, should show custom bottom sheet using notice variant', + () { + final bottomSheetService = getAndRegisterBottomSheetService(); + + final model = getModel(); + model.showBottomSheet(); + verify( + bottomSheetService.showCustomSheet( + variant: BottomSheetType.notice, + title: ksHomeBottomSheetTitle, + description: ksHomeBottomSheetDescription, + ), + ); + }, + ); + }); + }); +} diff --git a/test/viewmodels/info_alert_dialog_model_test.dart b/test/viewmodels/info_alert_dialog_model_test.dart new file mode 100644 index 0000000..98d1d0f --- /dev/null +++ b/test/viewmodels/info_alert_dialog_model_test.dart @@ -0,0 +1,11 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:yimaru_app/app/app.locator.dart'; + +import '../helpers/test_helpers.dart'; + +void main() { + group('InfoAlertDialogModel Tests -', () { + setUp(() => registerServices()); + tearDown(() => locator.reset()); + }); +} diff --git a/test/viewmodels/learn_lesson_viewmodel_test.dart b/test/viewmodels/learn_lesson_viewmodel_test.dart new file mode 100644 index 0000000..1056224 --- /dev/null +++ b/test/viewmodels/learn_lesson_viewmodel_test.dart @@ -0,0 +1,11 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:yimaru_app/app/app.locator.dart'; + +import '../helpers/test_helpers.dart'; + +void main() { + group('LearnLessonViewModel Tests -', () { + setUp(() => registerServices()); + tearDown(() => locator.reset()); + }); +} diff --git a/test/viewmodels/notice_sheet_model_test.dart b/test/viewmodels/notice_sheet_model_test.dart new file mode 100644 index 0000000..98d1d0f --- /dev/null +++ b/test/viewmodels/notice_sheet_model_test.dart @@ -0,0 +1,11 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:yimaru_app/app/app.locator.dart'; + +import '../helpers/test_helpers.dart'; + +void main() { + group('InfoAlertDialogModel Tests -', () { + setUp(() => registerServices()); + tearDown(() => locator.reset()); + }); +} diff --git a/web/favicon.png b/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..973ac20 --- /dev/null +++ b/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + yimaru_app + + + + + + diff --git a/web/manifest.json b/web/manifest.json new file mode 100644 index 0000000..eaa3083 --- /dev/null +++ b/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "yimaru_app", + "short_name": "yimaru_app", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/windows/.gitignore b/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt new file mode 100644 index 0000000..6c27459 --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(yimaru_app LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "yimaru_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8ac9fc6 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,20 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include +#include +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + BatteryPlusWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("BatteryPlusWindowsPlugin")); + ConnectivityPlusWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); + FlutterSecureStorageWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); +} diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..e1ff19b --- /dev/null +++ b/windows/flutter/generated_plugins.cmake @@ -0,0 +1,26 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + battery_plus + connectivity_plus + flutter_secure_storage_windows +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc new file mode 100644 index 0000000..6523212 --- /dev/null +++ b/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "yimaru_app" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "yimaru_app" "\0" + VALUE "LegalCopyright", "Copyright (C) 2026 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "yimaru_app.exe" "\0" + VALUE "ProductName", "yimaru_app" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/windows/runner/flutter_window.h b/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp new file mode 100644 index 0000000..1f36e7c --- /dev/null +++ b/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"yimaru_app", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/windows/runner/resource.h b/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..153653e --- /dev/null +++ b/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/windows/runner/utils.h b/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_