From cd9ac834dc05fca5b9ec2d5d0f6b4e1e1f51ccf0 Mon Sep 17 00:00:00 2001 From: Milad Zarour Date: Sun, 11 Dec 2022 18:52:57 +0100 Subject: [PATCH] Updated the project-final with TextButton + Migrating to V2 Android + added Padding for checks --- .gitignore | 60 +- .metadata | 39 +- README.md | 15 +- analysis_options.yaml | 29 + android/.gitignore | 13 + android/app/build.gradle | 32 +- android/app/src/debug/AndroidManifest.xml | 8 + android/app/src/main/AndroidManifest.xml | 41 +- android/app/src/main/ic_launcher-web.png | Bin 23720 -> 0 bytes .../co/appbrewery/quizzler/MainActivity.java | 13 - .../example/quizzler_flutter/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../res/drawable/ic_launcher_background.xml | 74 --- .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2387 -> 544 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 3147 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4294 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 1579 -> 442 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 1995 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2715 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 3175 -> 721 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 4368 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6107 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 4912 -> 1031 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 7309 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 9559 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 6935 -> 1443 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 10546 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 13717 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 14 +- android/app/src/profile/AndroidManifest.xml | 8 + android/build.gradle | 8 +- android/gradle.properties | 1 - .../gradle/wrapper/gradle-wrapper.properties | 3 +- android/settings.gradle | 18 +- ios/.gitignore | 34 ++ ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Runner.xcodeproj/project.pbxproj | 119 ++-- .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 12 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 4 +- ios/Runner/AppDelegate.h | 6 - ios/Runner/AppDelegate.m | 13 - ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/100.png | Bin 4674 -> 0 bytes .../AppIcon.appiconset/1024.png | Bin 66665 -> 0 bytes .../AppIcon.appiconset/114.png | Bin 5690 -> 0 bytes .../AppIcon.appiconset/120.png | Bin 6134 -> 0 bytes .../AppIcon.appiconset/144.png | Bin 6174 -> 0 bytes .../AppIcon.appiconset/152.png | Bin 6720 -> 0 bytes .../AppIcon.appiconset/167.png | Bin 7646 -> 0 bytes .../AppIcon.appiconset/180.png | Bin 8497 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/20.png | Bin 723 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 1250 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/40.png | Bin 1549 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/50.png | Bin 2124 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 2610 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/58.png | Bin 2633 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/60.png | Bin 2768 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/72.png | Bin 2843 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/76.png | Bin 3095 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/80.png | Bin 3417 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/87.png | Bin 3825 -> 0 bytes .../AppIcon.appiconset/Contents.json | 123 +++- .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes ios/Runner/Info.plist | 10 +- ios/Runner/Runner-Bridging-Header.h | 1 + ios/Runner/main.m | 9 - lib/main.dart | 107 ++-- lib/question.dart | 5 +- lib/quiz_brain.dart | 21 +- linux/.gitignore | 1 + linux/CMakeLists.txt | 138 +++++ linux/flutter/CMakeLists.txt | 88 +++ linux/flutter/generated_plugin_registrant.cc | 11 + linux/flutter/generated_plugin_registrant.h | 15 + linux/flutter/generated_plugins.cmake | 23 + linux/main.cc | 6 + linux/my_application.cc | 104 ++++ linux/my_application.h | 18 + macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 10 + macos/Runner.xcodeproj/project.pbxproj | 572 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 9 + .../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 + pubspec.lock | 146 +++++ pubspec.yaml | 48 +- 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 | 58 ++ web/manifest.json | 35 ++ windows/.gitignore | 17 + windows/CMakeLists.txt | 101 ++++ windows/flutter/CMakeLists.txt | 104 ++++ .../flutter/generated_plugin_registrant.cc | 11 + windows/flutter/generated_plugin_registrant.h | 15 + windows/flutter/generated_plugins.cmake | 23 + windows/runner/CMakeLists.txt | 39 ++ windows/runner/Runner.rc | 121 ++++ windows/runner/flutter_window.cpp | 61 ++ 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 | 20 + windows/runner/utils.cpp | 64 ++ windows/runner/utils.h | 19 + windows/runner/win32_window.cpp | 245 ++++++++ windows/runner/win32_window.h | 98 +++ 153 files changed, 3461 insertions(+), 406 deletions(-) create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/src/debug/AndroidManifest.xml delete mode 100644 android/app/src/main/ic_launcher-web.png delete mode 100644 android/app/src/main/java/co/appbrewery/quizzler/MainActivity.java create mode 100644 android/app/src/main/kotlin/com/example/quizzler_flutter/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png delete mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png delete mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png delete mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png delete mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png delete mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 ios/.gitignore 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.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 ios/Runner/AppDelegate.h delete mode 100644 ios/Runner/AppDelegate.m create mode 100644 ios/Runner/AppDelegate.swift delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png delete mode 100755 ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png 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/Runner-Bridging-Header.h delete mode 100644 ios/Runner/main.m 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/main.cc create mode 100644 linux/my_application.cc create mode 100644 linux/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 pubspec.lock 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 index f622824..24476c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ # Miscellaneous *.class -*.lock *.log *.pyc *.swp @@ -9,6 +8,7 @@ .buildlog/ .history .svn/ +migrate_working_dir/ # IntelliJ related *.iml @@ -16,57 +16,29 @@ *.iws .idea/ -# Visual Studio Code related -.vscode/ +# 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 +.flutter-plugins-dependencies .packages .pub-cache/ .pub/ -build/ +/build/ -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java +# Symbolication related +app.*.symbols -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/ServiceDefinitions.json -**/ios/Flutter/flutter_export_environment.sh -**/ios/Runner/GeneratedPluginRegistrant.* +# Obfuscation related +app.*.map.json -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata index 460bc20..3fdf532 100644 --- a/.metadata +++ b/.metadata @@ -1,10 +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. +# This file should be version controlled. version: - revision: 5391447fae6209bb21a89e6a5a6583cac1af9b4b + revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 channel: stable project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: android + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: ios + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: linux + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: macos + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: web + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + - platform: windows + create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + + # 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/README.md b/README.md index 5174133..b657b9b 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,16 @@ -![App Brewery Banner](https://github.com/londonappbrewery/Images/blob/master/AppBreweryBanner.png) +# quizzler_flutter +A new Flutter project. -# Quizzler Challenge Solution +## Getting Started +This project is a starting point for a Flutter application. +A few resources to get you started if this is your first Flutter project: +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) ->This is a companion project to The App Brewery's Complete Flutter Development Bootcamp, check out the full course at [www.appbrewery.co](https://www.appbrewery.co/) - -![End Banner](https://github.com/londonappbrewery/Images/blob/master/readme-end-banner.png) +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle index 80aa675..630c5d9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -8,7 +8,7 @@ if (localPropertiesFile.exists()) { def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { - throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } def flutterVersionCode = localProperties.getProperty('flutter.versionCode') @@ -22,26 +22,40 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 29 + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion - lintOptions { - disable 'InvalidPackage' + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' } defaultConfig { - applicationId "co.appbrewery.quizzler" - minSdkVersion 16 - targetSdkVersion 29 + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.quizzler_flutter" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName - } 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.debug } @@ -53,5 +67,5 @@ flutter { } dependencies { - + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..be0a02b --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index ab91221..e796efa 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,39 +1,34 @@ - - - - - - + - + + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme" + /> + + diff --git a/android/app/src/main/ic_launcher-web.png b/android/app/src/main/ic_launcher-web.png deleted file mode 100644 index 4d8582636e5d59f82a0d6aa220a508fe6334e055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23720 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 z zV4^W6Tiod5edX(C(9;^SV55P8`vb}szcM=|8NEln%w39KybwUCaUysPgy(0B^C=Z_ zUNCX%LcXorwGYoX+MSXPh+JCp2{$7HV5F+e^)~l5;(iWmoe3SNXZ9zMcu7sS%eOD^ z9l9XfUc_C*F1!N!QT~Jw$5{b8Y^&zBck-dNMcXUhwJ@0dFRzHIf9a|UY&K+-c$H&R z1@>|q^IZaQznhnti{JZ`kOM?7m1HLo$ojcAz5x|gUR?|zUWrqIZNrjh4j1)A3iz`N zIlL9me0k%U)n03go4`WA8@~ogk~kGj(dAFC+;dYc89{6$wfiDlI7U z+85)t#B0o#H@n90uFwnhsO2QY=4e0`8Njw3+UVXwj12zJ*)rJW?yix*pZ2U8=MGKf z?#oK=hv+SyO+PxIF39VTEzS>guU5GrB9Tw|ET{|ER=txKHD55W+UN?MQd+A4d#@Ro zUdbk2cvNR>y4z&M(B)Z(PmSY_=IXQGh@b3&#tapcg`xZYP~R%k4^fdLk@#cNlRk+j z8N%w+p#{o_MBF(AHDN3p81-90vYFgi5 zY^^nlR7LLJmul#|EjfpWEa6#208|Lp*QV zyFCmJ*~rZI&I@mJ#o5zW)Ns3|q}!8ZT#$g()3UvH$(cn^n(DDm%j}CK-MF=H?UMzQ zA%E^_>4G8SlNpOsPCH_-Lg`zlxNupue9A|@BvR_F4&GZ2KW2`dtRd3v*KsFk@$rOuIm%Q=TXd|m^Ese;9ijO%8s7Qsi zBr!06n5t))MK#U#+%L~_$6xlWuITh+QQIPIp<$V@$ULT#&ZNZvf4s$b| zXW8)c#|51kQ0hn0=vRR>BKZQ6k@!jKiR-36axr%~L8E#&XdPF{7l1_HdMBk=3GDkt zo8@ei8$a|~2QQZB73^w1^N11G^0KyL*Qs1V0PNr_OwJxC!Rc*UrMd|eX|F6hxksNb zy@G`0?`F1LVRFCT(c|;RsaBN!#~49h0TetkB>#%v-!E>LsfYL0Vl#JZp-#%6npro8 zWtqGdC&o4FmH<+XWxfi}qvI$}u&{`fcYC$;Aa;-Ty{>Vwzq0<;tF{wy4SjY!9q_rf zBDwCNrpGB1L2ycDl`E0+_Ff5~1@$Kh7E_9*Qq#jMe1rwfXbAdf#ZNI@W6cab)WKgr z>XCP--AP*uwMR!&ah_J3Qf%yo0v6sXw0ddHXLMjgulT||WaT)Ct650sXR5o9r|t1$ zr|U@G@gm8ZDB{B(vR9MgO>>^;?8auLFG0tJ>v2Kf=Ww)Yfo;l$C8D8Lb#IMIma%kV zsu;)3#d0D+`@Kk#({K2#c+C0p(UD;Vf<=EmPWx~_GbLn6Pmkl%%RkQ7%-Rav?un?; z$3hjd%Qf3B2z8ic8Sk@ufQ9{7gxfjOc9sOMk1m)?&R7`D zjnmA@*U7}C+Af`o-UqQ~F{gKmG|LJD{}A+Udgsg52{E-7Woou79-7lzN zX}@P>P~2N4#sBmX(!W)gpe-dNf8k!VpBowkIdRUP!k&hWd5iK@2*Ti5QuQEIS#E$k zJVR076>v3Qs9?Wtb$)TvM6C2xVlswv&ha37w*nz5 z*n*v=;K}ZHiN@+~(qD&n%Xq_d&`N|066#klh0+uZ1;N$OZWp?MMG%ITcE4Dc<;m)x zI(9^-sz)ux)TJ0$3H5nm9i(!O)zb|ckZ@4wGuF3JQcR{OEq4|O?xRTF&A6bh1h#vO z8rDEDu}^VcMFAc^$Eq)OrBcUqen??7+9nXVu)T&n3yU)llZF!X>PHiex+zW6Yv#deN;GWPveVd$~y7O;kyhYeUgR6=^q4>FV+ zmqmHGK-#lo-lu1yrDi3icgA*Jufwm7=}kZ%aadK0+_S?VQ47-n5B&XkxYKEXu k-$bk=;{V}?T=*6e9aCC0M0%e36CU63V<*jDnt4S358B@L$^ZZW diff --git a/android/app/src/main/java/co/appbrewery/quizzler/MainActivity.java b/android/app/src/main/java/co/appbrewery/quizzler/MainActivity.java deleted file mode 100644 index b371739..0000000 --- a/android/app/src/main/java/co/appbrewery/quizzler/MainActivity.java +++ /dev/null @@ -1,13 +0,0 @@ -package co.appbrewery.quizzler; - -import android.os.Bundle; -import io.flutter.app.FlutterActivity; -import io.flutter.plugins.GeneratedPluginRegistrant; - -public class MainActivity extends FlutterActivity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - GeneratedPluginRegistrant.registerWith(this); - } -} diff --git a/android/app/src/main/kotlin/com/example/quizzler_flutter/MainActivity.kt b/android/app/src/main/kotlin/com/example/quizzler_flutter/MainActivity.kt new file mode 100644 index 0000000..cf0f82f --- /dev/null +++ b/android/app/src/main/kotlin/com/example/quizzler_flutter/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.quizzler_flutter + +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/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 2408e30..0000000 --- a/android/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index c4a603d..0000000 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index c4a603d..0000000 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index b1d1133b0c95fe2f8ea1d9d37a87974e5fa1e2ba..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 100644 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 2387 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 B;#~j$ diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 4613a1939200aaf11788024539a64793056c0f3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4294 zcmV;%5IOIOP)$uE-2+?zp#dQ=H#O)Bp z5d{HR0|<-;9Ndsqz{D^_5QsoR(pBAE$)9(BS3z&Tx;i8Q=1iaSPj@O+zuvq5?eAAb zMEw7AVSQLcL?dm~=QS4(AbEL>S!(Jf_zwDilj*XG+}u_UtF?n{vt5sY-#CW<)n?9% z1DK&hn}7-LV-9n$u=`(rLHlI|theWxK72ewRshTNMqbI`F%U|BueWxw75< z1g^y#KKB7obgzpC7!d5G3Y8YiwUW(tk3876oESbzj57>}%^KFwuEQJz)-ueAxqZ~o zZ$U0RiSZJ7huxm&wAq!K(f`yN z82?qThf!1I4;0Y=TKws2cyPv#kJNtC>OCymt&$2%O#=WU0*c?07D)z8!Dwwza7fp$ zlI+$MXC%gIaW^0+L5D^Iw|h40O3>J#AZa%u@Qvm)>qU~Z2`g>3j5+~l_%J5jeHW9Td4@Uj7ckeCUo!WPKQj03 z-OT;-&&<7dFLUqQ$=u(3!(3l{!JKcr&ZLJPWR5YTnd7#>wE_v!UP-?X<>X}7DM*?~ zp0=A|bL4XYN4o1yV)hN@-m--$Cr+^H>T2V|@_n&g3amm}BUWT7gtywaELk z)Bjv2>ZZjIlr%P%G=m&2ID_p>nly>I7B6PX;lr%j=?o7T|DhlI!>;J^co6p2GsD z(q{Q2TVW)vVz+)i37{Z*G+=X;{@XqeaqFVAyLRizc-)B00*bQ=DOW+BD|4V~nw2kX*WS|3v0| z>rLj~zdy7mgd~0YZAeMdcq_@y`qGfW*2JvbmUEMQmhg}g1cMyX=74CpX2dYH2=>kl z3KpID`Jv+|ikn=kSBJV+4fyAP6bfr|SR1ASu86!qqdBM>}H9{$u{lH@6oCj~a5vEatIXdJMRAM94e{)RP>5 zQ;!+DH1=-h-nLCwf?Z3OhIIRQ=C(4S5DVS_l)IU zN~SYzgI2uBD$d<-h^%{i@wAp0UFbxK^$56wUPJ7&er-Hf^kxvDV!E&h+$8 zM0Ti2xh3~2BLJZiD7HO6c_QR+z!@=|ITtQuipYj|d&T?(x`tnVR)@CTyM!6PRx3J? zk+GGqxHMolNoq{Y8O6 z;k@p>dxSx&{M1wWo-8~2*psobfdS*^x7-p_X|K=>PzN zP2+aWXvTi>1UJe-7jW%baq2N^rhY`7W3HIpt5>%GfR-fR)U`@0j_J91FRgx0@@`-Z%c+irD^Mm)r0KNG} zNPuSbj*AZf=)JyuyPURJD?+N+=uy0HB?QPoyy7B{<=(zsU)l(0gbTX49%7rRQ^Rs1 zDC+5{*l#)J)05-k{uBVv3<|MN8!^)4C3u-ZKmaO%An3;>8e&5q}qzcvymq8%(;(Rpv_12ktgbFEzI zqp~u(t(!M97Xg7ZBOs2Vq!;!kC_vtGsS7AdqLs4ao*tS`ptvhz;J*or=01U<`s0d2 z*`|+-0EAw-ZXTu=>Avthd7o8hQ-hT&Jg#2Nx={r{jVEAHmMt>`kTm{YVO)jQHA*9T zsm9i{)X#v0PpY8;bm@*kgQgluR*@5(ValHfT0OlAp8V7l=KlVBE*0|3=XldEfa!vQ z0BR`6%3qu+Glqo#B z4oVCWiPnrroFy{MuJ!BAq#6F#%CEi}99WXN0Du;Mrq-s%GNq_UtX^BU@BmcL{uHJT zC?E{3-Waqd?K#-=s{sQZGLq555bL#jkXNDTB~&$vm)u|d%LB63Zmy^xW4u(DsdL-s zwM=6mQ<7S4HFr>S1#>o7}D25b(Y+)CPtJV`K4*R@(zvSsM&V5xT30Jwj9j(YHd0 zqb@*#N*XD$DMyab!rU9OANFXq9*UkBVT_D?NJ-EjK7dJOQOtAtcc-!s`k= zg)WMs!)@yz&Vege4jv47FE|N#_AKFocuUW;?%l_L=Xt@5bFj}{F)^3Z*L6P*x^-EV z!AA_xk-+99L)Ac15p*9=U>DYwy@8?h0aD6?KqH$#5oUbwfqrd@c;dDvIT_v5>r|eN zeHM9aQPj|m9g~lkvn#k18R^xd+q!RGcr|8h#N4}wmq}3xM6rwSonEqpI{=<|hBF_) zd3)a3x)eadB6xwNd9MAL85QPs?b5(&Uby=d^E`;Q{WR&8JnX_EkPL1AMYPIyT!>y^6e*vwC%df&_!iZ4M*_;lTUv1=O__a`~=>3%P2oPf6K8yj`#ISi7gG zRk3T)u35AAeHj@=VLkFh`5HDaVSi4&fU8f1w=59QdgKoAwhT|+9pecZU> z=%!5*z}tAEhFSC(f8BLW>Fe6jojRFIOj#9jIJ@m(VDF#ETfRJYG1$^E+CW5v%!5F` zILG<=>jC#7a1=(L;-aF{!;_M%;7R4}+&`mYW1G`g`)7Of82g(!yIQWrBMI1_10#%G z7U#6N97dfIPo7%|JfL&lJfC}L;FOk@R!^Nebpr9yLFK8=UR2P?787$deaFm+kALux z3X((JYaG_z!aK(BT^5ik^vcl==7lhSdj$s3HzUbI?Fq#$)N^>r0$I6Ez=`fDT1LPH zYNdfQW5$d}!GpPD#}*Ow@D_*0$yZ&4iMu=<*L_@3Ru=EVN;YeFAo&HDU>FR+!=Rjj zz7<+C2nbPNM=Hb96ob!VXr){yIf)wBoSGU|TwGi+dGcgPPM5^EI27dT?Lpth1KYL3 zn-4mV=+MEkebB&SHQL6b+84|tnV?0weMEH?d9v+m*A@@8TJ4~D;Egw4Q=j0R0V%V6 zd#pmI=8=(oHw@@s@H@p6UMg2}9)YO=4ZK52G_6TVSx+?H1X@*^8|)GBMuS?kz|+L- zX!MxZr_YT28R@66L+gA1B?1!l0EO|;9#ALWL0@yAi!TuA*-EGNDS_Udp_JP_8!mx zT2z`Yn3tV!Y3kgp8Q#Xyg+{M&ojZ?SnwYp~Z$|p>Xs2jWrM|jCQ32yGH>vb6?KAi> z?L8fIuB1wetUjE3oaV&bxW_%6JEL5IEh}9>!-XI4JOW-k{-P zc#TjKB!N9V64ikQc5LUOX>Z@(u}NBO)$CfT^k<_WoT@ z<3@PD$jHdvH2Q++q&96b2DEK!!oY7FqyP26IXG9n2G_R7T$mGcH>B&Xcd$qoF2!mm zHgDdt*OgbcY2B<@ThxM8;9%rCsiUKMEE?zFTwH@|F~|QBD7uCnjHZ&ONr;GuG{weV ohONjL_>E(!9xv4Rd>Y*U0)k%h3^X`T!Ti*pfB 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 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 5166ea73f752a617edc952540c1b534e5a4cd356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2715 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 V2Y9@Ls4D;f002ovPDHLkV1fk=9GCzA diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 61921a0e3766bee8dc9b3e0b1f93a00d74dc5016..09d4391482be68e9e4a07fab769b5de337d16eb1 100644 GIT binary patch literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!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 3175 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 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 0c67c7af5e98c481b9a7a413ed790431d455b0f3..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c 100644 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 4912 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 literal 6935 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 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index c35859a1981ba21f2aafbc3003a4793a79ba093c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13717 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 + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index 00fa441..cb1ef88 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -1,8 +1,18 @@ - + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..be0a02b --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle index 6de3728..83ae220 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,18 +1,20 @@ buildscript { + ext.kotlin_version = '1.6.10' repositories { google() - jcenter() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.3' + classpath 'com.android.tools.build:gradle:7.1.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() - jcenter() + mavenCentral() } } diff --git a/android/gradle.properties b/android/gradle.properties index 38c8d45..94adc3a 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,3 @@ org.gradle.jvmargs=-Xmx1536M -android.enableR8=true android.useAndroidX=true android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 63ab3ae..cb24abd 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Jun 23 08:50:38 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 5a2f14f..44e62bc 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,15 +1,11 @@ include ':app' -def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() -def plugins = new Properties() -def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') -if (pluginsFile.exists()) { - pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } -} +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } -plugins.each { name, path -> - def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() - include ":$name" - project(":$name").projectDir = pluginDirectory -} +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9367d48..9625e10 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 8.0 + 11.0 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 2c4fa43..6d0191c 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,20 +3,13 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 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 */; }; @@ -29,8 +22,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -40,17 +31,13 @@ /* 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 = ""; }; - 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; 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 = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; 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 = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 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 = ""; }; @@ -62,8 +49,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -73,10 +58,7 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 2D5378251FAA1A9400D5DBA9 /* flutter_assets */, - 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 9740EEB31CF90195004384FC /* Generated.xcconfig */, @@ -90,7 +72,6 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, - CF3B75C9A7D2FA2A4C99F110 /* Frameworks */, ); sourceTree = ""; }; @@ -105,27 +86,18 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, ); path = Runner; sourceTree = ""; }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -155,17 +127,18 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0910; - ORGANIZATIONNAME = "The Chromium Authors"; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; }; }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -188,9 +161,7 @@ files = ( 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -210,7 +181,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -233,8 +204,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -263,7 +233,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -275,12 +244,14 @@ 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; @@ -301,9 +272,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -314,28 +286,24 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = S8QB4VV633; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = co.appbrewery.quizzler; + PRODUCT_BUNDLE_IDENTIFIER = com.example.quizzlerFlutter; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Profile; }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -347,12 +315,14 @@ 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; @@ -379,7 +349,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -389,7 +359,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -401,12 +370,14 @@ 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; @@ -427,9 +398,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.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; }; @@ -440,20 +414,19 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = co.appbrewery.quizzler; + PRODUCT_BUNDLE_IDENTIFIER = com.example.quizzlerFlutter; 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; @@ -463,20 +436,18 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = co.appbrewery.quizzler; + PRODUCT_BUNDLE_IDENTIFIER = com.example.quizzlerFlutter; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 1d526a1..919434a 100644 --- a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> 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 index 786d6aa..c87d15a 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 949b678..f9b0d7c 100644 --- a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -2,7 +2,7 @@ - BuildSystemType - Original + PreviewsEnabled + diff --git a/ios/Runner/AppDelegate.h b/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bb..0000000 --- a/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m deleted file mode 100644 index 59a72e9..0000000 --- a/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#include "AppDelegate.h" -#include "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@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/100.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png deleted file mode 100755 index 932c32a1de3df8b4776898c44e49bad52ac183f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4674 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 Eg1ZsJM*si- diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png deleted file mode 100755 index d3b8b7c6b8abd12472621a82d477b6908cda7bd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66665 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png deleted file mode 100755 index 63364c2165547d402c5a66f4f4d23500390f6f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5690 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png deleted file mode 100755 index e21d08e7686030fe148378be68d689a9f3019135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6174 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png deleted file mode 100755 index 13c85caa6144bd3caba54532949053188664a7b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6720 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 Q+1sLMs)AK&LDu2_13|pwYybcN diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png deleted file mode 100755 index 5b845912e7e96f9c85369b22abc60a879314b3f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8497 zcmcJVF#a;0bvoA7Nl!w>5xuo>4*D& z_&qOX=FME!oSAFRoH?KG`J%2Whl~9Z8vp>{D#*Xrd>-NdHB9v9UUU?l2LPZ4D7=@{ z_BK8;!bl^d?U$3C6676l2rVj`E76)uMLS`uvjlD zI*BA2qog`CB_=qSYieD*DNCmNc+A~v^g{X5j1cuIWYME_e^y{dN5Joc@I-wW+C(Ti zN)b>2AWYBBR`!#R9`F`Mz>140fnhJyYl&KbhK^DS1nx?_EzgJnz`G<0o@dZhY>^}r z!pJBvQ_xWhK#e)(JSa#MP|zd{;9iiXr7R0DFr`<2NdUu}hDHryO5nUeRRp0RgA7!; zDS@^@K@xTn0AclEw%3e+w_N|T#jfgel2A!FFxlSXvT6@JuKJtMLpdvqL;6+S4w7RSMVXlEg~Z%Z;5yexPlTD%5~kacfu4gds6S4K#;hj5 z7$97}rKW-wMHZ&rCb+rK$S_xd_0>>FzMh&KskhEmeY9xyc+WecBiQhaFYe*hUdnfNcsG7olOn`oRe6 zs~?)YJFRMwb(j=alVkYJvKLq9Ep~y00@xYh6#>>GP&{a*U-f1znVt?^O=L8i=6PYw z&As{=zYpUC#G?9spJB_7aaZq9P;qVBIcC7So%^Uf;FoVANxa!`atoRaq*Cw zpBO z423F;TBN?}^Qz;J91Kznr%47L>8y1H>2^MR9Q*h2ThPc<;QdyUMB2Q zW%_u!Xpgd8LF`%lu)~4?dCw6(#Qa`;WhIt?HT2hRgLU^p9fO@@E*$ontNg{w9D*o; zcV$77zcEDp3T2kxBV{Nr zmp%h-zCM~(8#B%19h^MyWrvw~22vqxc4Ej_s$ksqPo^f4Z=cnJnTZoeA&yO1* zgCzRZ00_=gOerKA?0x&R64nTnIr}A0QXN+m-wj;6Oe{4wzrf+bJ>@f-@z8qB9#s9Wby4J}Vkl%Sz~V6A@VP(-7!l&2)} z-#gRl5K%jX?`DtQDKfU0CX%S?4Zx!d^qQ$HK5h zcsNuXL0pzKV(0>3s=z};ib`a2)yz-n0z+Rmf!#!eR^YLIMl`uw@}RW3Ik3f4(w34k zA)0iDTL4*}C?%{fA|=s~Q>?2!Uylrb5u}_aqdK|-$1=lycgfzz9PPtIQjiKZD&T94 zT|9O?UXK1-^5rMbs1Kl6`%=?31Vj2&k|$nl=Bf2)@J%lf-sHbXd1{GtFs{>(_JGeh zG?Vg5*U2@ z`J_98m*v_Bh4JC+Y|FwK+NhcA;aU>r1+h41%v*^ zP}WsghS<*AOE@o(*v~m9RA{F6%MNxG%E>W@UUM-3zTwdUw}#k7D`$?KtMx(tOM0%; zktHg(Z{n!%5mI5#Hr+$~NiV%t!WHC1^0S{{V0~=125VO#h*p_`?ccRf{IP4FQMFFv zmi;%jA?R*5JXvy&@0;cDR~b+JFyKr3sKJ&z z(9w5>#>81Xl(Pb>E{R*Zk)1GAl`vs=G71W$>?D6`G)?T%-E}^NTIP}P>FT!2#dzhnR zJG{9^(9Yeg&CdjFZ~DrRzL#gLXmxQk(i#6wXKSxHhQ9$!fZyDYUtC^6mf{}V#a{(Y zVBjfNWT5Ci)k#XT;!-VCSAZ4FGmIYM#ZCRbqi!cLe@FZ!dlQvbgYJyX#8LZl{Pr*8SDy$ZMFm5d?iW(m!zOUwmud*EiO5u`Gv zvbTh`f7J9j&ED^!(Le6$>kY>9QobF+ZVqRZ!J5wBH38_mOPglbTq9mH;)Xz0jGVuR#r-;&xBrN?)7 zil>~1P6?=2hxxtN2=zW!sX7|^z+oE`9QOJKT$;lbEaO=b$$BYT}|i{p#sKovq!<4;S;NC%w4x_|lv3HA%;N4WL$IQ>sQ+ z5nFrCC&Er5<-H`R*I9kZ)URS=0(dKc0NRh|<#Ey#YA~98i!Gkqt$3d~#jJ#w@G!jH zRZ8#95XHfaFltwGp2uET_G;bFo*$g-!L+gb2i3pEK#pe3Z~ZoG3E}0GF1$OAwTtP| zuQI40fcMiztEU$0oW1 zU?R|W#gIbVmUV2DMZzn{H@it)=KOk<@c6;haYm<}2~NmJK}XH*`okQ}9lCe60Ub{6 zzv5rBO`_NFj-4 zM$UBm=s{CQ*Gv8AHkkU1jalW^N-Xyadxa*-p%wQ~Ans+BTS z9OB*|r+(siWZm{eD>QJld?TjD13k=P!PhkQy>WL{I`h-d=I`D1-}HA}L0J&Jc1f-6 z6vFSz{v@32BS~1&@i+L{B9tuiA13~(y-xkDHz3;$*fDZq$}n@j#%M94*VR&&(9}-G z%{b&{43gJJ^_{mj0&WLtlu>d9d;A&ZJTl->jgwD(!{AZh6hqvnczb`&<&Vj5iH1D; z*0jKa+wSY*&0Pn ze8gKANaSeK$rm8sM){P^Bp0nyopEHmBVlNF{5$CH0AXC)*E1uh0#_GbjZ%(-))Q)# z-2R>pfI&+c7#{E-vU=E4+kt%^cps0VIm%vuOEaXXR~PohrVTUoy1gy@A>?cq%yLF^ z<>9K1Aw$DOp!jf`SJxYy+!y!VM`mN`9_Zd^@9FV6-nFUkdR02m5ydNYB2oTemS+2S z8B=Sm4S$QnTbtLky1@VLeg5bx1!P{pHk^3yo4NkKUD#vSNoOnRdP_bh4Bd(%K7UQL z>*=J^NeN@;{M%$B)wK1f>3u!f?LguLdpZ#r>so#e*m$q4;`LBuV%(tJ7||og9f;k#4yS1A|l%6LtDqDTkAkO{-}V& z^QDn)ztkPqvToEi_6e&Jz2z%#TPS3+wHqLi*8vYs+{<4<`wAsJh;q@Fm55R#Lke3; zT0Ky0c_^=Z35G7`KJ%1M28Rz?Uf9JO?4HxHT-_D+&_h@)?e71IUQqHd(fvp>OPAMfRTPMODzxjmE1sou$31VxmWVYO-OJG=fDb(iDfm=iRAkcE-{r9-LuvT@mTW0~C#BH~km z_aHt~PVG`f!c>~QATETy_+~l>`zjP?`uLjH&B*)AQm->l68~ehU;|+*kb)U4wAIVa z^Wv`yiRmnQ(N+`+Qt@O(J$s2jVTSN&Z0YE|#ajw5T-!J<{FvtvcYsvP~5 zPG`>YRiPbnXSCrallRH~ekv|$=W-DAyuC=4rMl}~DvOAgObeIRM(Otu#-U2@|WSIK! zx}Zw?JMaj48f(;AFvZ;^nGCK$b-MTNKZ%+BoPX8+(pvW`V;>hya}C*|O= z1LY;T@jylSrshhditSb3P%5%q{O8h49+m$#-LYF1S-QTa@#j&`wG=jskOytWv?(u* zB8gpagbA}bdals$DdbzR9HDQC$r!|ay<7bbAEw#fGW9j*x((q^)osxy2yOfvuqT9a zj|MN3q!9^K^2d*s*NtpGZCY*Km9I2Nofy`9Pj9q4AocTb`R1Irsht?7KNAGa{#LW} z1epHl?8+z5m#YFBV|b-esYA8U6=ay9b;+6b`)bGVBOfNr&wbqKYZfmcZ7*q)}42x8=BkXK`_}%HOWR$QfQu& z+Wq2U#NpWCZ-D^n>ihtxm_VH9{c@q*D|ZH;eY^1;TcX~7%e4L^v*=>2d_yT={FYps zJXV=Q-=rfkCu-wBR^VaP(N&WE7A+HszMkk1x z+YmMVvWZlReBI}!1H|cm1_4aA!%tl<2BvwbIeu_By`hJ`3T+*)1KBgTMPq=FnD76>fQpzuJ=_JVPb$F5W{i zg%M*^#(92n+t8D+At4p4ryu$>vR%H}=2N)j#`z55X!KDj^85E^V)$S5ix9z*{r&#A z3~UueH<>Om_k`!EL}^tJOq=x-Xd^<2Lt)70#IhqsoZCW|SU!d(OI8-)PB}&Iw(#yZ z;<)jH8Bym;PTr(SsY^>98`uVplZ zt`p=Sywb!fYbuid^q=dt8Q;n+XSGh1Aefx~oqbG7$3$umgd7=D?GK>K=54s$749ac zi@5v~Z@9B7qqlL0? zjiO)V;=30b$Y+0ii`xYi(NbI8C1mnqr@XXc(iP>wH^l#i= z|3cw&gD=@97rNatCGq1{61@w^DRzHst_ki*XT!e=_m$op5Y(MXH6MF7Gp2Syap1Sj zHTY*xel#8IA$a>+EYAgIZL^nHYzP6@Ym&Z)4dr^kJl=EDJy0W=-^6W`?5j*}*EBH`!~}S_!mE&JMQd z`=f0FcACLcH=J4vjS&m41DJ()3a+rXIy?cn6KydAm9=<{W&sz8EK(HxoZB-DpNt{%^xgVd{Rb56PtPpN`xNb1Sx2NVosIE3 zP^FmZF`7+_A^DpCdaNf+R0CI;6;n*p@E~6)I&OgmrfrNvT=qwPMiEcP?p0ADI;7>L z?Ih|xNK{0Nb`zE4{I40s`D!r2QU6R&65I?J!WDptRExYKZJ5HhATHeuKk4*3`*^-J zUjpD`4NbPE65i}~Dblzt(KHf|nw~Prw`g_qkvR~el;;~KS`6$7FF+~NJl!yShE!+` zcCVBbu-+TzRon_%{2c`DYJqg=_V5wLqRxaq^WayBZy*1HVy;(08Z9EOSrN7pFGqR9 zaHK1}x&KThSLsCGSS2L>`Hw_?Fpjf!$2wKk1ZKVYZf`kMrO6B)Vk{y%pEEHFxO+R2 z%6<TeMF)cdk z*5Z9kEtXg>h6EWFxT7kgXIL^uT(Z!=`uPk9EIYF7LkG6M=wfgv1Rsv3j2xuy2rr~V zeZe;X6@9Etcb{hbxr#R1O9e?G_ZQp(PQi^H?9X)9^r2&MrFW^%XbQhUp75E^EIduJ zFF;%~dAP-mt=@fl=GUR+YHE5r3aSpNDX=mug%RhgiEK|mo z0w1v){-EnYJi8YfiD!RGchN;05oj)KVZtp9hO^VHS{jB8=b;JgDG}O;s9fFBH?X35 zn?E;~LT=76w=mCb5XMqv-&}wKj&0eyjm(2Ze9gVd4q(^Z%%6Wy&ynA4SnF(BNn|6A z#gJ!>tyhE7m0X7M4~I*;_m}2Qh&(5smwHTJN)B(+`F7ZQpam(r)Emud>r`PV>TCbZ zNYg$^(O-Id;630di58r7S~7$oxk!k4zE5%e%jpy44CtkO=4;12zwX<48+Kk}d8z>iH_udb<= z??~U!Tm8d?0DsFcIw*MWYwI2S`KZG04YPihq*%2v6|axg_h*S)FWDsO2fBNs&Dw-G zZE9`uMEFNtN3*~M_n*j<6@4%EK-8ie3USF}KT+Mw&^5IrFEvx135|BW;$G&d zhC|0zH_GPwUJzaNlt@;ty2~O0@sQc9cbA@g$+*>8K z8~Nwlob4SyJX&(cT(8D2oR=?srb~ewuNARdJoxUW)Tfey>|c<*@&eqZY?KUhHVKIj zv{SpB=aoKde=FVK0M&+u#+Vlad!&f2*u&{{R|_+z`ED6wCI$pHQkl}uE}^#Lre!!5F>GEIek~Z%2kMHSdyt*y=yA0ZeiO3N5qSruSEhi574#MfN zT*Sl>RG$!EDpF7*@KNZKp<7buG}@=n6umb_(!T!bII? z+aNFp5FrUlD`z2Bjh^ml>g4@+76jrVdmDVStO&`7WX%1>?=QT0M%p~0mQ#qRm?%z| z)+V^Do-8Qz4=Rxoy*a!2;Wh=9v)r3q@8N244!fE8P&Zo>s~<$W^>|mfs=%ujzVNRr1+>-xbJgB+s zUE&+I(*bmQ^t&F!*N783=XMSEtl-)XD^X6`PjA@Bet*^-d_HK<{ipzAT3i`AbX;-2 zVwMY0coI!zb&1kTa^Sx`Q5QBFoP*^S9Z(f=X$!4K*bm8XQu;kTZT(q{u;gPT*!f8JdBf& z!&IdVzcAR;0-r_qxc?u~{ePhF=h{weluL}tE5H8Wu=WJ37J;*H#YAH~?;D^Xqx!x^ I$~5@@04&ctH~;_u diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png deleted file mode 100755 index 5ba88e6b8387a4b61e0f4d7f9e00917b53c72a6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmV;^0xbQBP)a}b3^2!{hX_XDG)1(ue=py5Cv&^%t$f&%=bqnO=Y zu)ZGti?}$nIyY)w9{%xh%qPuYntL_jK&KPy^A`kGRxs-B!^XxwEcOH#dPr=uVd?Hh zNw%XusE3)E$Usq1fyH$Vb7%;^uP;=js)*`pv`d#^a}%SzjljeNYGoB#X(`6Q0P<~r zWT4j4f|`?y9u$p?fTAEOt6*mbwWtu~{+oG&e;9wxZ_bptrRV z_%Z^isk^Y<)-?@Fdj}#V1-+pGVr*DFUi@RDm`zcDqM{Ou%Y`}g4!_R_>FFpjv1qlm z7*AVK>~^dVAE9@5A=1;)N?jO(gUJ3jQHJ7hgod)Vis5#H-;Y{ejyQ7`<5?%n&trZ0 z3e(qzT2_XVl#E{QhS}LDz+h||n?jKYdehkf+uLEW(Q57?^7B#RtCy9 z7|7{q%)ZxH-1V@whT(Y(y1v^<^z)@@;B+D`TtsAK1aAZK+jr!rk1#g}2?Xay8!-R?002ovPDHLk FV1nHoPz3-0 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png deleted file mode 100755 index 9dd092bd14d971d33f1d0f5184d0e314912b1c06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 zcmV<81ReW{P)ibzW+1WI^-l(eCjp|*3*-e&Jp3}vRJ#Go&($CG$QM^4a&r+v;Ga8(|HU5kl`9q;rND6@GzRhLBe*M8;6DBYT5I(6cD&uY z(MOIXWhOajIE?#p74EEA2*<%caRTq7523FwdG>~dacRhP>u`&U(MqAt{DHS~XVM-g z1$8QxAeSwJ^mJ5fE8aVA!_AwCSsSq16)Poj^A;;OdVBHq??ctqCEQB{&B{Vnt;Q`Y zL-+R+-?ACq+&uK-X=#v?gUHT?SPX3xd*g;ZBMJ)%ZQKN7#-L7~465zy7y_ICDvFAb zRaH3o1^8#r;#I!~U0uN?Q(0yv&b;}!^XDNRoM`*&A3cI!Uk_KWLP`p9<0jm~Le!;8 zcr~8|N#7QUpvA?uQfJa6yv7FnJ$r&)nn+K#AgOs?H zFCojzQAWwNwWy;*1(g8ml$O~_4Rv09J^q*V(BE&BYFH4H!l>4Bh_PdF%F1x(%tcI? zfF9^)VEuaN=)hUNoY3}yr(uM{*Cbm*35hW!7Rc0n*G21tH zk-D^YL3+@T#k!yDI>Fb`ErR<1Su|YH3C_ zG$8WxgY&t$#J6up{qi$%!v@@<>4QD3K{uZnxl*#T1ND}cqWk)YZ`&GFXXt%qHf~7? zP9%aleHw39jWv4t=36+^r{it^!1}P?^G zSfFvF_p8CIvLqp9K1Ilg$js^Z@zx4ebF)n%+144}d&|m@t19jOw7{*c_`7P*ZEb+hzefM|E4VJ&7=}^$Nair~Ux6^Q7>(lOO||A=s=hO9b-lf)%a`%L zI{-aBgkF8kf_imzsBgc4c>M2cqklQfo{dxRSm3wDd!-C|Y`nLl!!B_3(~r>Jj)+DH zt$ihMD&uN<_YPSYqXWH_V^%gIH;foR0YVbu9=fXweeLSdH`3(ExJ#DWCyn295Pj-Y zpo77E6|F;y)|0y{`tAT0IEndYn$eG;s5{u M07*qoM6N<$g0uc&lmGw# diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png deleted file mode 100755 index 710e34573068734e4270d277ce1692c5d814d7f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1549 zcmV+o2J-odP)1i$6vuyemRACWlmdl@Vjv(}$_D}wD+(V-Awjkl5hJt_Bb#BZY_cgk2~gSsE@4Xq z62Jhm$Oob!8cKpdKo&t{my*y8gto|gGjq+%gDK;CZQpBaqLE2n^4^_$&;0KBpL5Td zC;m(uCixd%;sszG)p_B;Iy#X5i3bxC5gj`sn#O|wSz3y`dKC%^>gvE+dQeeNQc_S} z>4iv6M#RM-gz&&fDUlBzATM0NI&lK)rxRcpQ3FRWabhC++<7RiTSxUU>-XCPR;_|N zccNMsIiRAT4j+#C<{(6qCQ&`)*<@K(hH>x!)}B3JSrOTY4A7Qz@L;sj83fF;sj1FlJ0YBy+q}7YIG+z1HUz&PDk?(es^cf1_V4dP8prc7SFf%epuTYv zO0#A`z_K#@)22dcX?SBoproav4j6!li9s3$)~S=2Teo_{AvPA@XP>(?tF*F(yldFc|yCkx%pY15{o z_UYr=@~>WnJbpYnKxJ4OdS+%N;J$sB+rIJ|v8zi~7V_RbtfNQ4mN_{YEi)4l)1WfB z0s;K9XTi;zK__Npprxg|_XAtDU>!ObC16?_ddBmBdoj0d^BQT>2DNu@%$++u%k;>uB0icsaW~>i0<9dMvZo=g0X2Ml$3zahrWITO7rFp zly&hUfd%t}NwRbqN~cbhNiuG1a7~!2+Jiden3*~S?%#LKh?Limzg-EoUv1kuBQZrBi<6CWRh(KO7nXE7EpLY*)HHMO1&>PSkR=++Hw>^MZzIIKGb7%Nx89}j|n zw#+#>D6JAPPoKivyBFWGUP*4%E{$+BXlr;E0Vi!s)(N1pq+O2f}?h?hH} zFJJEICGC6i(Ifox=GOQMP&1$%>?1~?jeG~8C@zrGJRCWKxnny#ejMrryYr5TLCwrW z>p#G=5vQx(wX2>QRwo@5l%Ye>-W?UbeR$4qzQTfI8-V)PDUOxWKwRC^68oHAqx`g>z4P*_Hm=<<|5*nI?!f*K4#9^dXhLQVXK*J|6S6)JybkK{(8B} zcjWr@vbyf_pIrYJ^{Tb`o8ByO00000NkvXXu0mjfX5Q|c diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png deleted file mode 100755 index c2e15b1a806d0af2cd51bc4cd01de59ff67c0717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2124 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 UK0{QQX#fBK07*qoM6N<$f)%U(I{*Lx diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png deleted file mode 100755 index 3c862ab67bd6554447e0511c2c6d804a0295d16a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2633 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png deleted file mode 100755 index 3c15df578d18744c1d50b58dc298fa7d3c08fd47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2768 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png deleted file mode 100755 index b61b43ad7cb8b00c84944773221aa6f2262e17c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3095 zcmV+y4CwQTP)st9@4bYX`p!R@$@|WCzVkcZ zch0w6_S0>*+K3O|2(UO{zOix$tZWalix-5G0RlSR61x z1O&2edY}8@4kb5>^Sh{7eH;T z;1**`-u!^cGSHy|Sl_;oZ~QH!-o3#X^R+A6vS5Ai0jz)g-T8}?Cjry+H8)m7%?cRH z&W3X5U0`WxKth6Vpc-%1wr!xU4)(EQFgC1*y>DNv@bKi*EPzSB&VhW>O<9_0F%eu3pqCzOi`LdXfLL=uEYH6 zc9`qe0|a6WM{EIW(E{@Qg^+V{gtdw`X`em~{P-ha=)o;2D$uGGSerIr^{$4`&6Bp7 zJ9fZax7K+eVl`q4m|Qdg$_+ON$!31~Da^`B*zfEG3?uwpRfY7cY)E-|kh^sg;%`*# zfVpy|&>T17m;vUPA-#k?d@AeI_b@kYf_2~k@b%YXn@LTD)W1LEJMV&&oa{N*(X=hE zz+AV^lhzMGOaOB(_z4p|?=1W5S(rO_!hGpPAQ12)AD<>M5i)69?ohB6EnIoofdKUR zWij#Bq6aMPGH8nzgJ~L9XgXyIZ}i8Cfp5Nv4yeYnJ9UCKuM}w4&QrVV#*d5I<%k+E z<bLDUD*#l#KSyVDa1sHko>cokz znq?h40HdM;ID0lKK|LoYB|&*~3Zy=LxQ9oYt}mD$m5&w`VCwt@kh*v0?!`KJ68fZx zO{ZCnS8me=+QLO(9Xjx3I&=v7)W$TT}g}G=#yY`T-yAG^t1|Z3>kA4M<(l;kg_~OfQhe9nV z2rHv=`7c}uyLy)|UJZ#N0!*1b2Xdc2+{Nk&?-%#riJK&WU2~1&j7oj`f>Cz1!EiFJ z@4W}}mCdjZ9(3O`wE{Y9}MJYelr0_i^4p`4#NGL7k0um@IgZ-9Z zE=pFQmX<=g;tJnDJ2B$UD%ZeT%FTs(-~D_`pjZ6J5#MVPp)g?5pg~Y4Jj1 zdbn9_+CZII0!c6nL9EC`jh9}8RaqH+(@9Cto_n5~7AGgx+P%Ap0UJIX>gfEii&)=& z3;n(V{{kc=Kq)SU-2ZB4j!o$u%M!}c+GJXfJ_3CCW!QDKHEY3=lEVI`KldE0?c4mz z8;OR=BSu2W%L@fAZ(Z;|+l!X_z?&WAF5czD1Le+qrFzYCvTemT@RbK%6A%a(

_%r7m2=HFtyZWNX)Y9!f)kO9PlJLzz7rICBQZ zoH_0Sr=>X|nAFuh)2c674D0pRLwH?!z{rg9?ugDL+qHwbbQyHg3aVavjkax}J+sO+ zLCMpWOKy_VEw@0;9}^xh%1#uF_1Zq9A-@MwQ(;ko!tdzP1zKqt81-U=8D@1gjEeG* zU)(SKXJKvM?pFebPS_;bph3{w+zN6A^>bApjwtffsjw>l0=wpu3lvltN=tJxv%Cz4 zTvP<*hTnt-Y~MZ@vu9oWTXJ&Ht>DxdC~a*C)-QztLyw+Fa0w~&@^V;jx|i(L1?4c7 zEQWo~6=2=EK`ogD*1EN`Vg1?FuwH#Nw5CXY)#_)%nx=JNKlGB4ivVN8hCv(4cXR3{ zP5?gtylFKI6dJAHz;y=A&pw0k@FZ6ul$j+kH*JJ{=#XQYT15p|%U0*-kV9&2ei`P* zjUjxL$EHHg&JOv%wSPbKSq%WA(CDeBxh{oWTZ_P`dzv9MqWWsdEXaNPazXJbHb{AQ zKuSr0v1}=%+w-7~92vrkOfxX{-jM%GLxw;t92fF`v$09iK~V6`DFBIcXafIkSh)gLRTW>Djvb-VD>;1{Shvd^U#sywLk?-+_CJL3$jn4Sc||B- zd-uYad%;DKZoU~x{uq9GC&Jvm_#H-~QfX_+lP(FwQ_%l7p5HAfNl>2n6IkcYFspVz z8F_aoV5d(bkUu&UFj|^R+A~3F?fQd@ua9oiLX#4?ABTHy+C1!5973(8T0|0w_a=ao09K z{usvNQ-g7<;D`(`@<+0=pgum0d->Zx{S-V!w^o4ER0lMcl5$?doY?R`@4=uKkJpab zs~5Dn^Dfd#vwBysoYy4-T6sD5?sAGC#l^sXYXqSRl1B^}O;$_GAoc9YUD!T(5&=pk ze*ZmRxE3wIdiREu^-IT%pmd8(n{jI;Xx$px(@QVPLO71=>Q%wwj9Z!Q!w;cPdpshr zq6Un5DzwRu@BypW7CL!qWs22c3{-KK`(3DXTQxPHOsw3im#aK_={(qPza6n8QE3>h zs!W>>DJ#ppRp9;igC+VHwhFK-dqbTyD-}4VViTMhsTe8s@A_{tmsE9?d8e zWCv!>;3oPa*@g1(WXJ;t`kLyvDdP$wE6y}nA!-eCP#-YBNn3k$2~u{{tg3Pv=y3Lo zuZ?nvl9M6lkAaetJplqy+q=j!)RJfx2uV6;#|0_6OB$b*OY-cY@K zqzROPrEiPQyA+xh%wSOJ$0tAy`I+0c!F=(B3r)f4>0oW!!X^)2v{m#R1WkH+% zgn%fqA$9sDX3n^9!6zj{Td^W++-uc*0)5I9p@o|aFh`2iR4AkKAzgc|ut^E+f@+#n z39sH2{FtGExrK{6&zr4n!&ti(*48b)mup(U>g|5O04Vf=_UO?xA7>pp1cMq>!g%mb zlAs4ae6s{=sm%h|`Qy9tN+@Fsf{l0rFJ0r~uYX}_v&M=Qu7R{?Tj|lG!RnRI(Y%0> zQ1tmP~Lh1oaPY>qaJ9KouD}qL!Ff+%!uzxu1RFSNsM}e=t63)Sc%5yVI9CxDe zus-=1`c$#JSo3RGOi&hN(zPp8%J5QC3LTKH!#Z*#n9@FVN{HFd12BSwKAG;=(di7L zm@Uwow75>l2{|5${BcXEkEN}n-002ovPDHLkV1m&!*?#~4 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png deleted file mode 100755 index a56f9c25cd482e91e571bdae6286501d490361ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3417 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png deleted file mode 100755 index 766176f0bda782314656435e37630c1c2121a17a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3825 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 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..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ 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..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 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..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ 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..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ 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..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 zcmV-m2cP(fP)x~L`~4d)Rspd&<9kFh{hn*KP1LP0~$;u(LfAu zp%fx&qLBcRHx$G|3q(bv@+b;o0*D|jwD-Q9uQR(l*ST}s+uPgQ-MeFwZ#GS?b332? z&Tk$&_miXn3IGq)AmQ)3sisq{raD4(k*bHvpCe-TdWq^NRTEVM)i9xbgQ&ccnUVx* zEY%vS%gDcSg=!tuIK8$Th2_((_h^+7;R|G{n06&O2#6%LK`a}n?h_fL18btz<@lFG za}xS}u?#DBMB> zw^b($1Z)`9G?eP95EKi&$eOy@K%h;ryrR3la%;>|o*>CgB(s>dDcNOXg}CK9SPmD? zmr-s{0wRmxUnbDrYfRvnZ@d z6johZ2sMX{YkGSKWd}m|@V7`Degt-43=2M?+jR%8{(H$&MLLmS;-|JxnX2pnz;el1jsvqQz}pGSF<`mqEXRQ5sC4#BbwnB_4` zc5bFE-Gb#JV3tox9fp-vVEN{(tOCpRse`S+@)?%pz+zVJXSooTrNCUg`R6`hxwb{) zC@{O6MKY8tfZ5@!yy=p5Y|#+myRL=^{tc(6YgAnkg3I(Cd!r5l;|;l-MQ8B`;*SCE z{u)uP^C$lOPM z5d~UhKhRRmvv{LIa^|oavk1$QiEApSrP@~Jjbg`<*dW4TO?4qG%a%sTPUFz(QtW5( zM)lA+5)0TvH~aBaOAs|}?u2FO;yc-CZ1gNM1dAxJ?%m?YsGR`}-xk2*dxC}r5j$d* zE!#Vtbo69h>V4V`BL%_&$} z+oJAo@jQ^Tk`;%xw-4G>hhb&)B?##U+(6Fi7nno`C<|#PVA%$Y{}N-?(Gc$1%tr4Pc}}hm~yY#fTOe!@v9s-ik$dX~|ygArPhByaXn8 zpI^FUjNWMsTFKTP3X7m?UK)3m zp6rI^_zxRYrx6_QmhoWoDR`fp4R7gu6;gdO)!KexaoO2D88F9x#TM1(9Bn7g;|?|o z)~$n&Lh#hCP6_LOPD>a)NmhW})LADx2kq=X7}7wYRj-0?dXr&bHaRWCfSqvzFa=sn z-8^gSyn-RmH=BZ{AJZ~!8n5621GbUJV7Qvs%JNv&$%Q17s_X%s-41vAPfIR>;x0Wlqr5?09S>x#%Qkt>?(&XjFRY}*L6BeQ3 z<6XEBh^S7>AbwGm@XP{RkeEKj6@_o%oV?hDuUpUJ+r#JZO?!IUc;r0R?>mi)*ZpQ) z#((dn=A#i_&EQn|hd)N$#A*fjBFuiHcYvo?@y1 z5|fV=a^a~d!c-%ZbMNqkMKiSzM{Yq=7_c&1H!mXk60Uv32dV;vMg&-kQ)Q{+PFtwc zj|-uQ;b^gts??J*9VxxOro}W~Q9j4Em|zSRv)(WSO9$F$s=Ydu%Q+5DOid~lwk&we zY%W(Z@ofdwPHncEZzZgmqS|!gTj3wQq9rxQy+^eNYKr1mj&?tm@wkO*9@UtnRMG>c aR{jt9+;fr}hV%pg00001^@s67{VYS000c7NklQEG_j zup^)eW&WUIApqy$=APz8jE@awGp)!bsTjDbrJO`$x^ZR^dr;>)LW>{ zs70vpsD38v)19rI=GNk1b(0?Js9~rjsQsu*K;@SD40RB-3^gKU-MYC7G!Bw{fZsqp zih4iIi;Hr_xZ033Iu{sQxLS=}yBXgLMn40d++>aQ0#%8D1EbGZp7+ z5=mK?t31BkVYbGOxE9`i748x`YgCMwL$qMsChbSGSE1`p{nSmadR zcQ#R)(?!~dmtD0+D2!K zR9%!Xp1oOJzm(vbLvT^$IKp@+W2=-}qTzTgVtQ!#Y7Gxz}stUIm<1;oBQ^Sh2X{F4ibaOOx;5ZGSNK z0maF^@(UtV$=p6DXLgRURwF95C=|U8?osGhgOED*b z7woJ_PWXBD>V-NjQAm{~T%sjyJ{5tn2f{G%?J!KRSrrGvQ1(^`YLA5B!~eycY(e5_ z*%aa{at13SxC(=7JT7$IQF~R3sy`Nn%EMv!$-8ZEAryB*yB1k&stni)=)8-ODo41g zkJu~roIgAih94tb=YsL%iH5@^b~kU9M-=aqgXIrbtxMpFy5mekFm#edF9z7RQ6V}R zBIhbXs~pMzt0VWy1Fi$^fh+1xxLDoK09&5&MJl(q#THjPm(0=z2H2Yfm^a&E)V+a5 zbi>08u;bJsDRUKR9(INSc7XyuWv(JsD+BB*0hS)FO&l&7MdViuur@-<-EHw>kHRGY zqoT}3fDv2-m{NhBG8X}+rgOEZ;amh*DqN?jEfQdqxdj08`Sr=C-KmT)qU1 z+9Cl)a1mgXxhQiHVB}l`m;-RpmKy?0*|yl?FXvJkFxuu!fKlcmz$kN(a}i*saM3nr z0!;a~_%Xqy24IxA2rz<+08=B-Q|2PT)O4;EaxP^6qixOv7-cRh?*T?zZU`{nIM-at zTKYWr9rJ=tppQ9I#Z#mLgINVB!pO-^FOcvFw6NhV0gztuO?g ztoA*C-52Q-Z-P#xB4HAY3KQVd%dz1S4PA3vHp0aa=zAO?FCt zC_GaTyVBg2F!bBr3U@Zy2iJgIAt>1sf$JWA9kh{;L+P*HfUBX1Zy{4MgNbDfBV_ly z!y#+753arsZUt@366jIC0klaC@ckuk!qu=pAyf7&QmiBUT^L1&tOHzsK)4n|pmrVT zs2($4=?s~VejTFHbFdDOwG;_58LkIj1Fh@{glkO#F1>a==ymJS$z;gdedT1zPx4Kj ztjS`y_C}%af-RtpehdQDt3a<=W5C4$)9W@QAse;WUry$WYmr51ml9lkeunUrE`-3e zmq1SgSOPNEE-Mf+AGJ$g0M;3@w!$Ej;hMh=v=I+Lpz^n%Pg^MgwyqOkNyu2c^of)C z1~ALor3}}+RiF*K4+4{(1%1j3pif1>sv0r^mTZ?5Jd-It!tfPfiG_p$AY*Vfak%FG z4z#;wLtw&E&?}w+eKG^=#jF7HQzr8rV0mY<1YAJ_uGz~$E13p?F^fPSzXSn$8UcI$ z8er9{5w5iv0qf8%70zV71T1IBB1N}R5Kp%NO0=5wJalZt8;xYp;b{1K) zHY>2wW-`Sl{=NpR%iu3(u6l&)rc%%cSA#aV7WCowfbFR4wcc{LQZv~o1u_`}EJA3>ki`?9CKYTA!rhO)if*zRdd}Kn zEPfYbhoVE~!FI_2YbC5qAj1kq;xP6%J8+?2PAs?`V3}nyFVD#sV3+uP`pi}{$l9U^ zSz}_M9f7RgnnRhaoIJgT8us!1aB&4!*vYF07Hp&}L zCRlop0oK4DL@ISz{2_BPlezc;xj2|I z23RlDNpi9LgTG_#(w%cMaS)%N`e>~1&a3<{Xy}>?WbF>OOLuO+j&hc^YohQ$4F&ze z+hwnro1puQjnKm;vFG~o>`kCeUIlkA-2tI?WBKCFLMBY=J{hpSsQ=PDtU$=duS_hq zHpymHt^uuV1q@uc4bFb{MdG*|VoW@15Osrqt2@8ll0qO=j*uOXn{M0UJX#SUztui9FN4)K3{9!y8PC-AHHvpVTU;x|-7P+taAtyglk#rjlH2 z5Gq8ik}BPaGiM{#Woyg;*&N9R2{J0V+WGB69cEtH7F?U~Kbi6ksi*`CFXsi931q7Y zGO82?whBhN%w1iDetv%~wM*Y;E^)@Vl?VDj-f*RX>{;o_=$fU!&KAXbuadYZ46Zbg z&6jMF=49$uL^73y;;N5jaHYv)BTyfh&`qVLYn?`o6BCA_z-0niZz=qPG!vonK3MW_ zo$V96zM!+kJRs{P-5-rQVse0VBH*n6A58)4uc&gfHMa{gIhV2fGf{st>E8sKyP-$8zp~wJX^A*@DI&-;8>gANXZj zU)R+Y)PB?=)a|Kj>8NXEu^S_h^7R`~Q&7*Kn!xyvzVv&^>?^iu;S~R2e-2fJx-oUb cX)(b1KSk$MOV07*qoM6N<$f&6$jw%VRuvdN2+38CZWny1cRtlsl+0_KtW)EU14Ei(F!UtWuj4IK+3{sK@>rh zs1Z;=(DD&U6+tlyL?UnHVN^&g6QhFi2#HS+*qz;(>63G(`|jRtW|nz$Pv7qTovP!^ zP_jES{mr@O-02w%!^a?^1ZP!_KmQiz0L~jZ=W@Qt`8wzOoclQsAS<5YdH;a(4bGLE zk8s}1If(PSIgVi!XE!5kA?~z*sobvNyohr;=Q_@h2@$6Flyej3J)D-6YfheRGl`HEcPk|~huT_2-U?PfL=4BPV)f1o!%rQ!NMt_MYw-5bUSwQ9Z&zC>u zOrl~UJglJNa%f50Ok}?WB{on`Ci`p^Y!xBA?m@rcJXLxtrE0FhRF3d*ir>yzO|BD$ z3V}HpFcCh6bTzY}Nt_(W%QYd3NG)jJ4<`F<1Od) zfQblTdC&h2lCz`>y?>|9o2CdvC8qZeIZt%jN;B7Hdn2l*k4M4MFEtq`q_#5?}c$b$pf_3y{Y!cRDafZBEj-*OD|gz#PBDeu3QoueOesLzB+O zxjf2wvf6Wwz>@AiOo2mO4=TkAV+g~%_n&R;)l#!cBxjuoD$aS-`IIJv7cdX%2{WT7 zOm%5rs(wqyPE^k5SIpUZ!&Lq4<~%{*>_Hu$2|~Xa;iX*tz8~G6O3uFOS?+)tWtdi| zV2b#;zRN!m@H&jd=!$7YY6_}|=!IU@=SjvGDFtL;aCtw06U;-v^0%k0FOyESt z1Wv$={b_H&8FiRV?MrzoHWd>%v6KTRU;-v^Miiz+@q`(BoT!+<37CKhoKb)|8!+RG z6BQFU^@fRW;s8!mOf2QViKQGk0TVER6EG1`#;Nm39Do^PoT!+<37AD!%oJe86(=et zZ~|sLzU>V-qYiU6V8$0GmU7_K8|Fd0B?+9Un1BhKAz#V~Fk^`mJtlCX#{^8^M8!me z8Yg;8-~>!e<-iG;h*0B1kBKm}hItVGY6WnjVpgnTTAC$rqQ^v)4KvOtpY|sIj@WYg zyw##ZZ5AC2IKNC;^hwg9BPk0wLStlmBr;E|$5GoAo$&Ui_;S9WY62n3)i49|T%C#i017z3J=$RF|KyZWnci*@lW4 z=AKhNN6+m`Q!V3Ye68|8y@%=am>YD0nG99M)NWc20%)gwO!96j7muR}Fr&54SxKP2 zP30S~lt=a*qDlbu3+Av57=9v&vr<6g0&`!8E2fq>I|EJGKs}t|{h7+KT@)LfIV-3K zK)r_fr2?}FFyn*MYoLC>oV-J~eavL2ho4a4^r{E-8m2hi>~hA?_vIG4a*KT;2eyl1 zh_hUvUJpNCFwBvRq5BI*srSle>c6%n`#VNsyC|MGa{(P&08p=C9+WUw9Hl<1o9T4M zdD=_C0F7#o8A_bRR?sFNmU0R6tW`ElnF8p53IdHo#S9(JoZCz}fHwJ6F<&?qrpVqE zte|m%89JQD+XwaPU#%#lVs-@-OL);|MdfINd6!XwP2h(eyafTUsoRkA%&@fe?9m@jw-v(yTTiV2(*fthQH9}SqmsRPVnwwbV$1E(_lkmo&S zF-truCU914_$jpqjr(>Ha4HkM4YMT>m~NosUu&UZ>zirfHo%N6PPs9^_o$WqPA0#5 z%tG>qFCL+b*0s?sZ;Sht0nE7Kl>OVXy=gjWxxK;OJ3yGd7-pZf7JYNcZo2*1SF`u6 zHJyRRxGw9mDlOiXqVMsNe#WX`fC`vrtjSQ%KmLcl(lC>ZOQzG^%iql2w-f_K@r?OE zwCICifM#L-HJyc7Gm>Ern?+Sk3&|Khmu4(~3qa$(m6Ub^U0E5RHq49za|XklN#?kP zl;EstdW?(_4D>kwjWy2f!LM)y?F94kyU3`W!6+AyId-89v}sXJpuic^NLL7GJItl~ zsiuB98AI-(#Mnm|=A-R6&2fwJ0JVSY#Q>&3$zFh|@;#%0qeF=j5Ajq@4i0tIIW z&}sk$&fGwoJpe&u-JeGLi^r?dO`m=y(QO{@h zQqAC7$rvz&5+mo3IqE?h=a~6m>%r5Quapvzq;{y~p zJpyXOBgD9VrW7@#p6l7O?o3feml(DtSL>D^R) zZUY%T2b0-vBAFN7VB;M88!~HuOXi4KcI6aRQ&h|XQ0A?m%j2=l1f0cGP}h(oVfJ`N zz#PpmFC*ieab)zJK<4?^k=g%OjPnkANzbAbmGZHoVRk*mTfm75s_cWVa`l*f$B@xu z5E*?&@seIo#*Y~1rBm!7sF9~~u6Wrj5oICUOuz}CS)jdNIznfzCA(stJ(7$c^e5wN z?lt>eYgbA!kvAR7zYSD&*r1$b|(@;9dcZ^67R0 zXAXJKa|5Sdmj!g578Nwt6d$sXuc&MWezA0Whd`94$h{{?1IwXP4)Tx4obDK%xoFZ_Z zjjHJ_P@R_e5blG@yEjnaJb`l;s%Lb2&=8$&Ct-fV`E^4CUs)=jTk!I}2d&n!f@)bm z@ z_4Dc86+3l2*p|~;o-Sb~oXb_RuLmoifDU^&Te$*FevycC0*nE3Xws8gsWp|Rj2>SM zns)qcYj?^2sd8?N!_w~4v+f-HCF|a$TNZDoNl$I1Uq87euoNgKb6&r26TNrfkUa@o zfdiFA@p{K&mH3b8i!lcoz)V{n8Q@g(vR4ns4r6w;K z>1~ecQR0-<^J|Ndg5fvVUM9g;lbu-){#ghGw(fg>L zh)T5Ljb%lWE;V9L!;Cqk>AV1(rULYF07ZBJbGb9qbSoLAd;in9{)95YqX$J43-dY7YU*k~vrM25 zxh5_IqO0LYZW%oxQ5HOzmk4x{atE*vipUk}sh88$b2tn?!ujEHn`tQLe&vo}nMb&{ zio`xzZ&GG6&ZyN3jnaQy#iVqXE9VT(3tWY$n-)uWDQ|tc{`?fq2F`oQ{;d3aWPg4Hp-(iE{ry>MIPWL> iW8 CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Quizzler Flutter CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -11,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - quizzler + quizzler_flutter CFBundlePackageType APPL CFBundleShortVersionString @@ -41,5 +43,9 @@ UIViewControllerBasedStatusBarAppearance + 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/Runner/main.m b/ios/Runner/main.m deleted file mode 100644 index dff6597..0000000 --- a/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/lib/main.dart b/lib/main.dart index 4f6bbfe..817116b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -//TODO: Step 2 - Import the rFlutter_Alert package here. -import 'package:rflutter_alert/rflutter_alert.dart'; import 'quiz_brain.dart'; QuizBrain quizBrain = QuizBrain(); @@ -34,48 +32,26 @@ class _QuizPageState extends State { void checkAnswer(bool userPickedAnswer) { bool correctAnswer = quizBrain.getCorrectAnswer(); - setState(() { - //TODO: Step 4 - Use IF/ELSE to check if we've reached the end of the quiz. If so, - //On the next line, you can also use if (quizBrain.isFinished()) {}, it does the same thing. - if (quizBrain.isFinished() == true) { - //TODO Step 4 Part A - show an alert using rFlutter_alert, - - //This is the code for the basic alert from the docs for rFlutter Alert: - //Alert(context: context, title: "RFLUTTER", desc: "Flutter is awesome.").show(); - - //Modified for our purposes: - Alert( - context: context, - title: 'Finished!', - desc: 'You\'ve reached the end of the quiz.', - ).show(); - - //TODO Step 4 Part C - reset the questionNumber, - quizBrain.reset(); - - //TODO Step 4 Part D - empty out the scoreKeeper. - scoreKeeper = []; - } - - //TODO: Step 6 - If we've not reached the end, ELSE do the answer checking steps below 👇 - else { - if (userPickedAnswer == correctAnswer) { - scoreKeeper.add(Icon( - Icons.check, - color: Colors.green, - )); - } else { - scoreKeeper.add(Icon( - Icons.close, - color: Colors.red, - )); - } - quizBrain.nextQuestion(); + if (userPickedAnswer == correctAnswer) { + print('user got it right!'); + scoreKeeper.add(Icon( + Icons.check, + color: Colors.green, + )); + } else { + print('user git it wrong'); + scoreKeeper.add(Icon( + Icons.close, + color: Colors.red, + )); } + quizBrain.nextQuestion(); }); } + int questionNumber = 0; + @override Widget build(BuildContext context) { return Column( @@ -101,52 +77,55 @@ class _QuizPageState extends State { Expanded( child: Padding( padding: EdgeInsets.all(15.0), - child: FlatButton( - textColor: Colors.white, - color: Colors.green, - child: Text( + child: TextButton( + onPressed: () { + checkAnswer(true); + }, + style: TextButton.styleFrom( + backgroundColor: Colors.green, // Background Color + ), + child: const Text( 'True', style: TextStyle( color: Colors.white, fontSize: 20.0, ), ), - onPressed: () { - //The user picked true. - checkAnswer(true); - }, ), ), ), Expanded( child: Padding( padding: EdgeInsets.all(15.0), - child: FlatButton( - color: Colors.red, - child: Text( + child: TextButton( + onPressed: () { + checkAnswer(false); + }, + style: TextButton.styleFrom( + backgroundColor: Colors.red, // Background Color + ), + child: const Text( 'False', style: TextStyle( - fontSize: 20.0, color: Colors.white, + fontSize: 20.0, ), ), - onPressed: () { - //The user picked false. - checkAnswer(false); - }, ), ), ), - Row( - children: scoreKeeper, - ) + Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: double.infinity, + child: Wrap( + direction: Axis.horizontal, + alignment: WrapAlignment.start, + children: scoreKeeper, + ), + ), + ), ], ); } } - -/* -question1: 'You can lead a cow down stairs but not up stairs.', false, -question2: 'Approximately one quarter of human bones are in the feet.', true, -question3: 'A slug\'s blood is green.', true, -*/ diff --git a/lib/question.dart b/lib/question.dart index 7726615..5211141 100644 --- a/lib/question.dart +++ b/lib/question.dart @@ -2,8 +2,5 @@ class Question { String questionText; bool questionAnswer; - Question(String q, bool a) { - questionText = q; - questionAnswer = a; - } + Question(this.questionText, this.questionAnswer); } diff --git a/lib/quiz_brain.dart b/lib/quiz_brain.dart index 68e1339..2325b71 100644 --- a/lib/quiz_brain.dart +++ b/lib/quiz_brain.dart @@ -35,6 +35,8 @@ class QuizBrain { if (_questionNumber < _questionBank.length - 1) { _questionNumber++; } + print(_questionNumber); + print(_questionBank.length); } String getQuestionText() { @@ -44,23 +46,4 @@ class QuizBrain { bool getCorrectAnswer() { return _questionBank[_questionNumber].questionAnswer; } - - //TODO: Step 3 Part A - Create a method called isFinished() here that checks to see if we have reached the last question. It should return (have an output) true if we've reached the last question and it should return false if we're not there yet. - - bool isFinished() { - if (_questionNumber >= _questionBank.length - 1) { - //TODO: Step 3 Part B - Use a print statement to check that isFinished is returning true when you are indeed at the end of the quiz and when a restart should happen. - - print('Now returning true'); - return true; - - } else { - return false; - } - } - - //TODO: Step 4 part B - Create a reset() method here that sets the questionNumber back to 0. - void reset() { - _questionNumber = 0; - } } 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..30d8675 --- /dev/null +++ b/linux/CMakeLists.txt @@ -0,0 +1,138 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +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 "quizzler_flutter") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.quizzler_flutter") + +# 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) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# 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 dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# 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) + +# 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..e71a16d --- /dev/null +++ b/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} 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..2e1de87 --- /dev/null +++ b/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +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/main.cc b/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/linux/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/my_application.cc b/linux/my_application.cc new file mode 100644 index 0000000..9724a26 --- /dev/null +++ b/linux/my_application.cc @@ -0,0 +1,104 @@ +#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) + +// 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, "quizzler_flutter"); + 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, "quizzler_flutter"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + 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); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), 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 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_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/linux/my_application.h b/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/linux/my_application.h @@ -0,0 +1,18 @@ +#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..cccf817 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a19927d --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,572 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + 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 */ + 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 */ + 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 */ + 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 /* quizzler_flutter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "quizzler_flutter.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 */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 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 */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* quizzler_flutter.app */, + ); + 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 */ + 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 /* quizzler_flutter.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 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 */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 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; + 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 */ + 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 */ + 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 */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + 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; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + 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.11; + 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; + 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; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + 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.11; + 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; + 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; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + 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.11; + 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 */ + 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..8ecf2a9 --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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..d53ef64 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: 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 zKpxF`G*X(YOz2^@7i#D+s-~A1E;3&x%%qL5hkiy^JhYjJ74{hvVmAx*6BH`M`!qGC zO9pjEsR)A-n1`6KLACSL%FS_Kcm+?4*z-V?WAZPs?RkzoijIr~I+oh1^~T`q^dCFvG$Gbd8AnTYBjLKYUmayaQz#S1le7Q^Hyr#;X&h*1wDpm+gZC!rSKom zq|+o&UGpeXtlQ1;?@JukKG!8PGS1Io0z6O}ZeL&DsON^I0K+>Mxv#ohK+;ByAZ`Eb z2orY{j0Pa3edA(#-pJA0AaJ6h& z81Gl(pd#j~mrizktoid14K5ig7u8FvZmLLP%l@dl05IprCyqDB?mA2fc*6UB+49lb zZ8`V9epdo=OeZoiY%zw-w`8DNwTORV_>>3T{r)1-YsGSo0E2s>tix9OBqKFBjg#}G z`pgkCblKMYs!Z)r^(qT_c+}gLhR|gnq!1~Qr|~kt&2@_yswx{i$KEn`8J1W8BGljl zr@GEG#W(s#AKKyuqLp+cl1C}7%`m#-!$15XF{M(M*-fD%+i#mFbP35jlgN3{8#A-dmj&OQtG)!031jTwGMal=&YtPfq2AUWekP9J-JT(p099!L`+yen$ zVH1?kRrhV7(mGKkm_jPP_U@Xd;x=ppk}4WY0Rbr> z0MJM_;$GGxL*P68y%KBqHntF{>X&<{aeI4m6+{TQ%~Zp}v%Pujr)zg5mV;cFKqeA- zQm5`#Sd{B6Rc*4PS-rO(vf>YEdXmOK?>K@`L5}|9q}#t_IE%g+U<-1qw3mr5&v;2A zCQ}BEn9_u;;>n5N#dP0RhCF-_UplC+U(i~Zjh>U5+b8%@p3HK(R*IMQwE!uritb}< zF)AK2?+0@-aE3LYkg`B*&N&m~JWB9>(Z>`aqRwgioU)0w{U1K4?>-#i|ZfhNa9hV)2)(%ch zJMH1twoeZWwkE@I!dz$ma+;9GeACv>Ncupl@+gBSeU_uzfj!$+h&@EACkZG_vwLGA z(?^;rcJu1$5H~xI@6lHIYC-$+b&hF1p`AoAOKqw{t0Fu#X`OGt$)7Q!nmJ=&)xjq@ zHoxT4pcYKSPT5(4yzIuQ^S*N2NJpR4v0?rB-^JuaXNLis?E(l>Jo8mUw(gsFLLOy? zEszHWGaCn|lw$LSwoj{G7Uq(zK0W^VVWu#ms8BMRlF2z%-g`fOXmndgC(na8fc)s` zz$GAoxP+l|+T_S4$r1sLwkV77ew1Gug*`|HiE*?FGLm1q; z^p0A0eqqbmk3?|!CB9DBN1Zof6d7+ zJSn!`VD~tVaqy<*Mw^8dM5v3Bvj2VdVFb=)U3L2eDM3@>n(P z?Rr_=I17+r4fE{>1LBQG0&o97nef67n-aNnVP<{dd6*B!Q344 zZbsAof&jw+;CLeK2d87t9s~YZ5?6Qwf&{NPEBN+)LbjOcZRXNcR&h)x`TtdpI+b!>$E~h0o1L*2OddpR9!Gw~-E^Cj(7i69S<66ak$)AYMv|xG+;uR(`;h zGIV3}?+Qxdjz)s;s}jHY{JPmeo@-tN$H@hxaV@)}K?y~ts~E6H(F|SlsN5oH8g7*h zGiC!8c1doE3U|D}Vul1yPmXuCk*hmyU4MG2ml#V0+(G5I+`L_=3cD$%$I=@*8m-LU-!fn&-sZO1%ls63+w}AiAK`Jv z>`q~ztr&&(gCkFpci+*1Ekdv*MhBCzGfPBj9dM|YEjZk(tWBuz4?MGeq+*)t>Q=z6UXF_w z{QDUT4^JQ8J%hW;d2xGB>Fl4Y-bRT!ttP2GE5jYoI1e(eVK0&V5W+>zludt=nf|UN zi1IV;MK$Fy%$yw<oGeW?JIGjmfGLH$Y;l|T0p1V!N*Jvu zHSAG0WpwPip0vm7%VRq8$2O2>P5b!WBfTz*6dZ4Wd6O9Y(8A;nOuG((y?F`ac_u2( z#~17CoTK)1G<~~Z4jXlout{e&nZbDHyHf(=a?OtaJ(2Q(!g#)Ugw-QQ?A?mN#yN%T zBtJ`sA6Lpg`k>Pi8a7GssiY$eG0Be8LCoQL{GDqi-;j0pLmT!Z)szldvbN7GVcu*S zzb1rEq|M)1qa7rM*I8!<#w7FnQ?{v^? z0`MlS3+`#ZB5$DT4+`7e-Hlp_2G0`*F@STbRJ|!tk3cC~1T%NR-p4s=sTT+RqsMjF zyrp-Jv?CD4Y3N&Zb1gr=%`MFR8;|r)uxQ6*X{OpEhQ~+tu}^n8Wijiy`pSMw0uKNi zSNX^Z1y;WirM0o_x%zft0U2GcLm_2BS`b{Z>g|9VOVr%QF*R?pTpiJsEbj4jLVAyd zTA;x15=f~b0^(e*Vo;Tn;WTJSxpI9LmL($Lxob<^S!k7mGhnnVNnAC*g!$ms0#Q|q zs=25I0<>fUw_&+KU`}5P9wlmjRWdMYh%Np6n?AAHQ;JzG?s(Z9UR`pNh79Nzk~DF+ zX~jy>>f-2bl?drlM8 z3NfIQnrT@pLmv+QA6efWPv!sqe;mh3_RcOj5>Ya;4hhN13dtx*_TJ-=kX_kZQDkPz zIw}#e_dK%au@1*L&iUP^cfH?zf1iK)tHv=t|>-9mMT!;;Vg|svSzWkN7q#t$c4N$Q;tl3EYwef_4q>GO<#I89VhY;`X*hz$n*GZ%f+;uViG z?uLlxD1OIeid}0r9%Ssoc7@vJjZIsZlU9zvYpjhYiOrzD5sq3OC zpf-X;Nb!DLpxqX^zDIK%=46-Z3%i-bac`RIBS5*wcw5Pu>G|kF>TQP$dGRYh#1hwD z{|cbbTOKL>Gb1-;X6?vWLC+KJ_^Ij?KzJ7eZ?^8XNgoYU9^z&>d zsIjX*uOK`#Wu!`>L@y!=XpQcW+mBaRjm|XrB@etLdr}Ob57e7EkE;7a*t7=M#XFL6 za;KHHk-rBNTjp-gS^;ehKNv>K>+_jPQ45J%4><1HyKJ?;T9#~k_23?xD}B&@Wp{%H z($hU+nWR?g!9dsJkgVz(J_Yrdns+m~9V_gQ7Sb`&F4wZZ!k}##j$>O{4{?avCbCZfyW zO$)m7LE=P?$CXHDU_RUD+sYwT;nKI7 zSs_XTv!BuxpJ!7(b~uYfsgzt~mj5(vf2r~`LHwpePs!o2A3zEr@#sxo8HEe8>V||d zBiz0@e&6}p*}!6jsm}I0bN9Mc2(c#jg@;Nu6!Kv&4&P8-UcQ-00WJIO%4OuUn;^jU z;I3r=T3KQtiMQ7&x32eVtB`mCe)9ws^7u%2P`B%Xc}=Qc&O^{FmS^{~Rho}^s`B+H z=1_T);9LRK?{$Vx22!5m)Er8aoPOA8&{7fyt`t@~Vw%gtx~+g3qs8LFR%(2Uny28A6dFYnNQgcUa>Sq=%alFh&8#@1o_qgwve* zVFimnUtL{4aHP6s?FB%bu2SP=e*VGqXC8iuZ-JOc{5%Lx0g|VvyWkdh&FD^Gkc!0N zhoolXvp6GC8wj?Y+V;r*EN+<1ac`-+!8Mqb@Nz)=OqV?4gxhR^t7*+^+AfxxVt(n{ z+fkk|-xSGqmkZa@Q%`;;r`-Z|? z0fR6b@l%pTwK*@xY+(MwBUwf^z+F*~piC64BWTrz}-HS1-XF-IA%?Zs_#F8 zcmUuEZ6Of>YIJOe$&{V;3vIBw7|jSGPeS6cvTMdj96Y~pI-z7InGW;(DhFqaiTTO9@KWvQi9__j0btLZ9 zAa~-Po%^sDFfme4@Yiq}r`BgnYK2eTwCjg9_zC4V{{&_GTm-!qHGVR6JXDjw;}GzF z6lXA{xo1+tQM{9vwb1&sRXPdGDHbEMbnwh}t+%tvcw5p4J4r#hEpDl=A{;Mjc%0)T zsG}v<$^HhdcE)5IJ^iBWK{7?Zn)vb%c!5eIj4 zbT}CGO*u)Od@^LuIC@_2{=AP2-O99NglFudj{!T}0e8wtTQcB@F9QW6$J!0Ye`T+U zXDx84b$!hD#4YzSyZLy~!IIZuFa3%eU zG4eg5?}sZ6Yj29P^-PcXG*8%VzLL$0!oL?c(!oQ+G!kORsa+lsf5YER>PX83R4LgF zgPNQJ#Bo#)MXU%J9k?RWD;c>|as5b5p>xAwau=X5XbERX`_ZHB8_XSNDe`s?n(e>) zGF$G%n6o+W{6A-@4hsIK0*J%jpB#Y*G^B48eQD(CDZR5oBl-P=)r7fH^PLf?!aK6V zwkIM35?l*I6p@;^H}JIDNs-fF*IFN?k?kj(M)QKM%%?dSkf1d$Nly2z(>)oq8z}0H zH?Qa{x&36#W@y04!9zx@x7un@ob$&)V8#f~0n1|jF0kFs4aZ{ND1~QjWHToIY5)LY zrgKDCj@dFCx&-w$QMi=CqD*=`$NqC~2k366pPXl#>Y7A=iQD}f`)+B-pS@LIW_M?9 zlBS_)(vGz!L$#P`?<3Hvonw@B1uJ244y)M?0)z0-hq++sJ0GZ+{oiiH;lFi&wy(C! z0Bv9z^M;`4@)USP)7dhg@K5K&U&|7&-@I0Sk>I+ZH75_xEn>qh9qmc%aA@NEKBsVBgUuK zC=b{w-0oU|)~tAVI zyJ3BAB}%rsjz7qZ?x_XCWe6!_u-{e_3u68Asso0IvwKdxq1lN#%4w>J zi>}P;$JZ>58(ZAjsmSJl6BWUTe`0eGEf3f_yS#H6vx;UJWO7CCK!{)4C}`C$j5gNj|k znb$4QRurEE3tPEe!JzG-a0DmvXePO zSD#Q-qOAjTMm|=aBSnvwHoEbgyVIz@J$hT*legak-hhb}e#%cm2$nR2 zV9A{kc)WT$np=5coPQIskbGMO@Fn2NxPv$@SJZdG6}jV;+%(cH+*RFQ(+DjsJlman zy`D(yN?8MCtjWD3w}Q|jQccb$}BDW%M$zZZnri2+5ls)@@(wQD`jt_GpTKL_^CO&SSCcHbfMX#JXYFI^*947 zPh&S-G=l*C@`E5CU1$m7ao(Q&oSmY7)ZZ#5_fEyYzLsFJwJ%GfErFeRN@7lUbUrL| z$6;gQSNsI91LJvT+$Zb0>g<4g8T{B!U05lfKmoSRH^pB^^8sJ3{8PzVq0NeypMF5k zU3qOqksdq{>AUjm3O~dZx^vS6C$ldgCWszl?xd8-sJ;-kPnISB*-f=L*8XggOx$?u zg%B-QovSjBbj}%sShZv~r?`*6PiiQW;nee<-=+y4}S#}q_BgXIJoSOf$YbE7vXt4;Np zrKzZf6Ny0aES8(-cqmnIGMg&ieYWryBZ0VTB=4<*@auP4NdIk&q(Mt(OLPm|Yl za!0OpC9sA#tk>OsaCSx0;!$5r6naw ztzLBo>#LKaxxsO=yWe%yGilL`A|6E#TK! z+1VRQlo*D?(k0-mlRM+`OMT8kVB*-%ZGv}Aj1u^j!wu*~>L<-T+u?6sX!3C}lQte- zk(6_=iwXsQ0JbRvJDwMnk!c99w~s~uD_4vMB=m~-ft-*|z~$*g4g;pgG~Ap1m@@Fx zWS)8IKSN6`^vVQ8hv^Oc+O(Rt7!U%wVsGP+Y6fyS%GG+v+dIdVfCXPzAV~~li+3m5 ztFQmbE)(#2#Oi@k$1#zUS6ijD_yYsa{+BHZAw+^zAEI3bc(h0qm?|pNf?oS}Km#OG zrOfCKn_-CVO;}DXu|5YE#d8I2o>}vUxYlv&>=+I28WY>a1;uI)HUM_IvpF;Ln4ROT zf!=1rpKihNFUo=R@sD-pT!EOm%%ncl43f;aem^;|A#s3`b6vjeAzO!M-gwc`-Kj~{ zBX)tq64*kJl#TrgW4o%hTY3x$P01nD6a6s2#MmwM$vyX5PU|YngU*wXGK*?f?#Eg$~^OWW3I@of-=XVuu-b%A1Z|nqY_2 z;~jD&=QnB#WGU>;RwFq(I< z34K1fCMwf9F}G%k(&?~2EY&)W*-_z0ReS$;7+I1)zz`)M zpAF{5ZHLPMJhYU z;GE*@hM1NM{G{L94dL$!Y-h6A9K9W=I6AYb`Y=v{(tpyLQz^^Aibea(q()R*TU|-m zozpyr!|-BZ_Dn+$*2|vq2Y@ghHo!-`WjVtU-bab(SJp2*2i-}$UP9^qnF_OIFS~-< zYj^VS!)Wu}vn6!LDIt!HJ1SU-@ce>z8f4cT4R9V@O^Xg9)4`VpjsXm*~@%l^Ux;Rf#Zck`BNXu0Y(!C zj%Z}UAmD00nsOS%Uull)dU(fZgJ$bo>3Oa`8h~Wt)EM?v(ndlTS1p0|E9Pg>=&>58 zghD~%R;YpqZAw;F;M(lx5b_wkVbnd+ER+6A-SYj^1XUgNGn0I~ES|f|5emjyPIW)S z0z8i6)BZt&h(qQxih4HbFYa6~jyeKbc_`QEdLD@9SBGButjw|b^l*oQjDk<7Nig08IK zb`ATVGzK%LP+>9aFM0hr8t+m`uNr?h&8o3Rp$T&ql||K}7GgobFhCViaDH~+F#yC- zt>7T3&_PZ*feTKTyd6vlF~JmEA1f+*>CCE4ex}5N^$4o)YuxX&3T$P0(IS!+kan^J z_p>v#1J8bWELml|S02YAQe-&yVew+kipZr~H-I@yc$=8#rZ-8L<_nDx&Qv3dJDwUX z!)@=h1`~R2M{$J8bM^1O&Gy2oxe1T;K?NA{iv_eYuhpLyc3%xu%z`dVc}Z}%cHGHQ<7P!Q|e?dwnSpL!AUf!B^!?#^Q#W!Ry+7ofwPZ1mZq z(Id0{htmX1W?2cAYWZo_lOtT#+Us-nlP$=CGK|Ri4x0Xh>(|iN9y1 z=9y26A4Y}ViRi9Fxzm{>J`YM>GX1D|$4BY9xJrY{oY2~Z&};B{Zq9Pp!pox`8e#0C z-h~@fohA74(#ws!{7kIe4v6XUX<)9bd)g66Bz%^Y4p0~OF+rY;l$v&7T<3~4y!bv> zR$r#LblZcVgy2lq!ff+>yuR4qCcljQa03x|dTcG7`CHcxh#POtGKt6ymNd_0qF7Wf zBj_KC8{jl!zZ>0neDp19n3sD?HC=|WM3!}cK4zCnu6Uoj*hbV1<#F2BD)@A~y%@VXx+u}Hcn=_s-({PxzmMZ^xJ1SV zoZMY*FarYvO_@z8Lr2ep)%HgIL7rhYa~#X&&V8oYSw zA4m{3{hw1Vb~~26K^xro&e7i9eg^SqK0i}kG3z(!_~E?sjJlSWIWXJqKiHAWTG*SpPcCMD`kEc1gx`R^YkYWz zEN4vEIkj@&e4tC!(_~x`-K$w6CU%X7U2Y z)Y}T5stEyoSsB{H{+xfST3tov~6@lO}2gx#N(rHXiOAHT!dp6FiV8V)B4{L_P_% zmX0rPa^-{1xG6|#uEGo+!v)QAOjRe|jg2ICcXU!|Cr+LMbLHlhJ)ErR*P9*z$NLlt zmYjAUbljq004ZyOco?HJovV7M*Wb2nF8vT2D;3kGi%F)6Kr#TVW>}zTHnUQxoGmD0CY9J`|d%8@}n;_co2q zWr98`R_c@PQbMi}x3bWo4XZj{it6qYj+o*XvNoS4>rF;7WNn;vA*|A!3H}Wh-uk@n z*hV0S+XnX;K;BOoz?&*9_{NnM25s4^^QUt|>R!()^Z6#G3OmL{CU^-IG_M7_a~B+& zCrV;ouC1ljbK(K=ygqAE_-}ewnH2&&t0enS7}I4i0wJgNvCf|P$`|DHku`K`HfDa2=n@DCg8MRi_)vpMR2Mxy4PE2Qe! zD||kNXy=0WeU(43v%md9Hg9Zu#CP%d%C67gk_#pfXs8lf>M=betm(}0fdDKq0{26# z_c?J!Cgo-~*=wswLXkR|W8d+rDdV00`22Ouv=_Hod9bmB!=D$I4r@7DZX7e+0tO!9 zR{0d}A6^K#yRx@ykotO4(WUJsmFvN)d-o-wZ(wcDSUS`8jO-JSAMa4y@MK4fDP`(P zzxQ2})ofiauWKj9{Rm$Yw^?g=?`oO(Vf|T^I+-A+o1#F`>tn59d=FtgVJAV=y;G&` z0GMvtEeil5;e$Ln8-41(UeMl2kYLk%vPl?0+Egg_;g)494o5FsvdeZKP;&&fjw7o{ z|B+e%Z|)8Ts?=>@p|hr!nYXgV=ZjI4Cp#$E>+g^6r7Nd3<>-t=G%B5IyZUI{e{49G zqnIXEB=M@5Ndf1J#l5YWcLG=A4ufF8S{z5Kz-uM?Ni{{%mr);=l0=473h#cIc{K3> zZ-VUw_Ng5^HgWQhs5tQU@qv-YBej9`R$a^|lknX<*+sSVXue8M0#EPBJ6_Liwl*8l z_zoD#!l%WIXJZ$jm?|zUu0LdeP&8IW*(|39&QzKGnem$6--u{ZGtHt#Hro*h)?lu zXGKo-4Hv1WP*VLj;uA6UwGSV*6ro%PRbwR{@tXoCOb=OFTB4ru-|Id!rP5Y6LF*-D zy|t0qDSVPo$ffyoj#CIZV?l3VsPRYye$F^xxv~Z78_fwlCWbwW!nYCR2nx0_+@tg3C_UDMVa2Br=X3hfP}^Cp4Yg=#OK}K zKYVY`V9jEKD!UrCbSX6Xym2T-cg}!n;?;o{mM|zWj0P@D|FO-rQ zKt#ApEh#AX%_f%9!G6`I*K=bSnMIhQ%W5&BOMntzVr*eS;WR;FgM)+k`#+Vze*z&V zkU^I-R|!Nwy<~>eeQ~hJqa2|DdpX15kD=6U73Du;T|VarycBP^n#IZeIJ&H3S9#@oec~poZELqX$DAc>XZyuIqd^GK0Jq~0kI=d zA7gMo8%zmkEdnqMh)tkp?V0I;Tm3`>aU3^~dXw zlhdd3=iygnUgYu#GRhxln}4D?Gokczq?T;RjCk0=fUHy18$lt!-q!%sNxee7No^+N$9d?Es*``)0UJ4SC&FNY0pf z_MlbGdUy$|F}YDvJ9GTCkZbsNKj3DL5;=BGBx8xI;n)=A0d0j6MP7Mi6MQdk@Tux2Qy`oI_&*%EQ0bE?|R>P$rDhcFa8O?JIK zPOpFDa?-L*+Q7RrCg#y5z$l0d>n@+OYo3g>-Z*x&`Jj5|=*UOYaJer6;FAbdtt0O? zrFGUE?!XeUG}G8wMgeTs%+r;3uUU;Nq5EuU{h-g&UOBKhdS`;J=m!~xn*ztv_p@dD zR)tR!P=~5kX)FRsx9)uyuu?0dh%Ht7`PTM@e#Cq!z2ts;O;L)tQ1ipDiWqbGz@o_p z^D=UKR#`S7HAt4vQtD(_SeWyj_av~#tJKlb9>-s5Ykuzx_E1ZNl4)~f=zG$*;-y=T z2ozmFva9az<{2&63fQ?(Q8{IPx@t1LuFcxP-LXVctWh3AwazVTt2)w^*Zn-#eB`bD zSHoAusjOBK5(>uQPGj=ijdOH3jqG?(<5#C{*JQ?Lt~@zow=Ii4Al$Vr!#+Cf-gx)A z`_h(>b@7?*6bYM8%628gGW^rwWoG$mK_eCk`}B&llStfwHf12*{5spmTeNH$4{gCY z@Yuwr*k@%m;T<60bw9z6^WpWi@Bu^qe-g;YAzI+VjgsuZaGA=^G*I{KLy@rIjSpWb zFQNsCp2T;S$VaJtZ<(waRu8y7^X;>YhsWp zM)mKgCeE@K;J4vQSV z&-(Gl5AJCp>K*2-`U|4i;u3p8xo6(isu-38>cY zml1Eo&FBBKJpour?}q&nggpFiGM%m+YX`ng8P+uRnJiMyWcv*_AZ8KAB$w;rfmN8C z<-2EB6TqZO>A~P{*<);wYqZgxQS8E*syOXvGkGxF@s(scud0uv?T)fQ z(DGrwM7lvpitUG~6!*}kZUpBn9PuP`5^nMK@($xI^0Q~axP5qU>L~uF{R_<9&m z({}$$WuD1y-QzMVb3jLPk`~bDJNkw(Dv-6cKUb4uzD= z-w?i0NZ2K}AbT}Zi^uOZ32xmSxJw+6(3j%a!~Tdy-@RxVx6YUw2|V6JX+mSJNclfl zF~SD#eo+lnB=ZpHLl{)E+`sI^-V1Vn!6#Ml_W4aH*Pe(++sNI`M=5L3?X1z0;CJeE zJiX5Mp6JH*=R9W0t(1@>>1y=lP^F=yJil6JxU~I}EpTsBx?rJ5LbCbQ zuLBmmX1MO&!E}khx=+#hCesIB53`IWwqyFtR{AUv7vJ{Q^dn1S0@*^UOmRwctFy&> zd={(J@avBzmu$MbyamRMt_$kfHY<*v)%%&nY4hUDH=$k)$8LHlUG0G3Kv#T~-vQjw z)hXbsNIg?~b-jRw)ir5Q(gfwM+Zk+0haf z+4ER%>T8RnKAoJ-(s&tu&-iZ@A?^J|d z6md=9C4am*v2r=aa&a?~37bc($n#wQ<8UGXL+!RtrRXGSj-2INJ#+3J=}e6nOC}G8 zN~lvCS@rxoq7w$CLg-wx!%V%ymw>~xhUw4cADX*$A}D~{21F$!Y61aHwpdL!QcrsN zl~$s5kk%7HWHkZ43%mOcwlk3RcbKGQ*}K(Fxput)rpE0zH0vY(EyY=blQZ`odG#hD z)~{&r6XkSE(^csqsaMm>2c%xsT2&g_Nab1bTY%fIoNHatDY@C@Ei~v@19|F?szU6SWRS)uDXqNY!48RlAb;S*ijqus; zp;bteR835>3BXML2CewOM<^q3M*ubU`}gnI-oS&(vf=GF|JJB-inGOH_dc1xb|iqR zWgrcNy?1*8)vAlAaiBE%K3Q>5Ygy-#Wf$>FqL|Kvgb&6H?iQC*Z|PN)xZJhH#d#=a z@s9O0oea6Lg}submzNZ{iZ*_okZ$6G*h5YO!dE=7c4=YA9g$y%1xjkVl#|1DShEjM zH3(sS?uRfB3mhW5Wrm} zrY>KpBxM&CC;s5Ie_{o}upN{vdb8x<_$5iiQN49`z`+Zz`&E`yLAim;X&}$HAfKmT zkO2Dgdno95mWMH~h2c4);H=MigT8hyzl|4g;dU7F;p^X>w!fa0zf{^rf?>~ z0w{=F_R}ru{g5i@&xwC%R-!-1x|(k6pSb5_)$f`zyErIvSCs{z`iVvU4x_znFKti!!av6BkRX_=+kEc;*`_rla zB`g4ruCJGT3XVTTrlh3Yj>1>PNIy?sV%Yo*=qaBIOY87_?P04yx6TV?_{~K? zOHEo3|2EA2JAMPYZM!H<{|!s-$r>l5{19icxV`Wf-{<0I>{v&H4FZaCy$B6Ludz{v zRH!!HV#JGP?5(L!Zp#}NlOODgWqjO+yo~+LasPYxH+ht2KjdfCFQr(oovP3?vkFK^5FvPJ4^LD=DpYQi4tUXuY1;erJaBQ79 zHcp(>mKvoD+)bq5SX9siR>(%CL??*D>Snn%p}NfGO4(RY^puLI+j$Pw)NZLb5bKo{s|0L~ z-A3R~;QHMg0bHSgESOM&N&@oF4|8gkPF-nVM=sQ;d}wcS{{!iW-)yQ``D6t#xlh(O zRF0Z@O>0uMz9g)u{P))ptV5lH2(gC8I5i(FDRG5Gp1bgBydKgxJy5gBfK(#D7NzZU zatG}S^z#KL*Do5=K*F7hk(`mbdgI1XoM!8*-};#UzNtEG@Nki#`7)GfV;VlfW^)=` zBaAjK5>gx@wf_D!B!2C6xBK^K4%x|+#?P@5N7tlfWo6xWJD~Wz^cnPfFF($Ixt4!j z9%x^1$on56XZB0Irm^kw-*rd1YVO;(*LbB21@7OPJspo%WO676#~oUMws(zP#+shG+$ns0IC3W z_{kYU>N5<_6=j>*0d}r-?8U+--eXfy2M+opoYL|=I932TMp=&k#tzJ^72OtRJ8BVOvTYPh;@EE=LJLeOk`y?d|Dd9%fWlhON^LnB^6x0LyZqz@imyogJ`$C@Lr9Z4o)ZQz>NCavG$$@e2#r3 z4I=}I5KgV>wl)~_Ja7gLQGju0c1{h%cV&6c`doWWv$>q*=ZLc8J{hBiKXNK?zx2Nr zz!pph;BLU2OaZTv>Pzj(VpSp2&OWNCF<~>NgL!nezhxEgj;&2 zl>z@V#>sykFCnFL?|(j)J3SFr|FFa`n@KbhC2pZB7 z#3>qIn&~mG_Vki=p8_x&CFeD4V7MvgJlk^G7H;(apFxr+7Gc0+1KfI6$@aeF+d7DJ~_-A|H=0?Da#&^Cqb=!=fVz>giW5nw=jWQBS%L^t1EZ@ zCm9;qlG{($@0W3T&l17ownc5pWhfM8Mwn-fLtb7H|IYl)8@QikEc_Le+s60x?&B*m z5kObB5{BD}gGr7l84~vP{N)C~3V;xhBWd%=^j0&KBw3T3-HU`;hqWA3OWW~<8nl-M zfYn-BI0_?g`3$_;&Exw<(G{QM|8)Kq28x9NF-F$>r@_BO)t^T*i-U1bX01<)zC_uE zR@8qEQQ#cm$YbXIUPVO?z7KI$pw@r=-V{V@>dC9Hn==1QBVy_b;#*jR+&f*$AwCl?o&G?2Uk4=*Ej zFK^Yvw*HTO9n!XRBWe++o3)4O!OC9PC=_l_<$M(W8(Akk`zv5?nJifb^rH3N?Hhio zo$=nNmSEz_QFHj|XF!vQEcdqPyZz_4|M_GBH)k)KA9XGRlTJD;3*y1c#?ZWkeaQM* z^`Bf04#Z)ARgrE4rMmlk8E5F=NpaW8xKNd3)-orW$m+kh(W12jQbQ7oi z)=#qbmhkplt}u`FC0sV9sdnb5$E!zX_xlA{4wW&j0*DCm`=1;Sh_sB1xiH@C89Z93;8d)EUk=lPNIZ`o3H`Vd+Ig`=CV}#?PAXvzWk{x96fn z0(rYh<>?PJ>Hd8v@c8=*vm+)>P1k@i2>yMaKw2nihLV6Z;wcdc*E2{8=xNh(FkEe3 zq_pc;ISw&}`?lqKx<4vIa67!xu|P}G$c3MDyg?u^InS?uM6Zzys0QM9ChW>g-ypzA zkOUSfvhTTWq{_>TJ{+kpgwX{@>P5ptiJ1NTO5)8 z8BiLUY_!*AJ$V386^TicK@z0qOPWP#Ea5?}!$_&fQ zOcRKuR^tLX*&CM(ahYftiNg!a=uU|He)2nU2(~iX@Yo|foZp906;o=d%aK09YEW7_ z-yX*;XE#z@?zZ&fQ?2fYX!T8@-$(K5Jo+AkyOM+(944x4B%2NR&avFFJY^9_br5UtzSX5@gmYYm@ z@S$jtqFn18bXQr0IYhQ=+2~ZDB_DRW3d=*B+3q`-*1P$i!GVIG(AMp=vBQ#^_mNxp z(;4Iz#_~&9jZ}}7oW?R;_x8&h?b0N326NJq4~>W^TeI^!o4=G5G{|9ff|`NN5+?ns zL@IWva(*@PXPmVGQ#rgIOY*nnoqNDDy$hd2uMT>wBgzg>YT&BV2U{k1ah1(1j_v0` z@o;6~SUGW=!+j!oa9ko_2^G75?VolPmWk=Pb-h{k=phZga( z88Rp7QzbHkpYG!aug9e^DF63Bi|1#CeAW^CpakO9DTT!p$yhuT8Aq10^cl2O@Zl-2RXr`+zCPj#_FqXs}W2{Qvn2Y{BmNsG45? zB{BF_rVgT$u0 zE8o6|@C>uOK1Ba}!V zx!M$9J1B7#_JSs90cKlucib?T&HqQpLE9YV1?v{gh2NWKEt9FX8;3DePnCL5Z=k)Flp=?-i$<5H4zc z`?2ZZ+p~Y8FYr;m3Vn2(u5Z`Av6#S}zkpQpZ|vNP0DY^I-oa$HXzg+ajQC7%wldRN zfOAL!UwFtuphqqR41v|3He4cQF5;UU9M~lti-k<HSTs^#>-Tf|C2&~#m%6WZAy1jz!Q_-IbpZP z8ht8}UG13lz+N-7+01+RlE)6OT^3px7fn@1|_b7^{bhPet}< z_)77(<^>8-qQ2X(n4faVhm@T0@Z{5HFSWs~EDXtV@7IAMbVUP6;v8^%l3PZ#wOZ-* z*Vk4lRj6OYpAZ_$*`t|tYKmLar&&{5{d+5cst)rQTn`n8>Xi+0zXc6YbTPMgzewFg z23F=+`8=FXXF6b*CDVN$v3|6iy;TSFSYh$qrbhKDcT^U9l zj}3g#zty{k*>s8S+>t|cng#3@Rz`z}njy{*?90mV6_Mkvv=iL9pb0ttHf$7;TxkX1 z-klTGb`2~-Mxx6~+{b-KiFd3XG`p?+6-0PMorB#Q@TY_CH5)En#5WrmHqj;@Fvi1A zeGpO@wuYIPOgRY&02e-U+j7!$LZ#5mS72R3MJS^gfheL5`kQV_n{8}KXaj)V%4b~As zFrQ7yZal}~{ELX@8c#V?2LlM@)g(|;VvcBjEuTJ=`WkOem{DL!+7Lr!U;F!mGm_^~ z+V^T?%bz+8noq9{ybcq16Gzd^fS2`skac)@6|;8X8l6Q19epZ@l^3@1ES!x2XLNA4 z_FI8#x5sq7hXVr83D;_5$sU!*Ye}zyx1wMC?Q{DSgrUx#fM?_Fj@{syA2x2yL^J{S zPPLkQ#O+9E9a^H*USdriL6rGHDt$B!vu~t7^)@_e=(<|SVd!MenX48AP(Z$4WoC9_ zeN;I;hEAr{ZvB^gK*1AWfI~5H0a{Y#2UBjn9`7;3JDrI5leeufemoZol*pDlVTSHP z3#8@6kxsJwUFg9(;)>Xm!{nsFC<7}Xwv_?o=eP)$>vvvj>yw z=YS7{pIOg(u@mJ%G0G^TM@L6>l)?_{_e`(yLxmX%h*D zMJS13@e!}HFR{?GNtq;%=4#zUgfFP^$g|Ax1<`vC&qIPbwGNo}3>ZM?=Evk6r|J&S zi$UD-za)A$kcqu)8)1mG z{FI*zS4{wM6S3;RP-!$0&8!6*;>|%T%HJxZt}cmap#~4vD0Pkx22gBbPo~=2iEMFa zSN<~qRz>jf54?e)>3%j;Gc6C1_YO0C|CDQDt7+bE({$0($tizZ)xn2L?@6_ zR3$`yiwH?E%X*^k*^oQ=z!1GA|E&fXHPR=rIEGq4%0=SGvror2Y%k#d`aPmx5@~7a zdkmPa1d-<`6M%& zp9rn|?C(5SRowEcasXoE$)s`=GvJk9wPt|2VX31T2F}6x3#(&IMqZND*a1muBh9?X zX_HSLo?$y$a;qFx^U1W|YAd%)Gaf|AEHqZ*{PW96FF*&nO-@c?c6t5=K_z@2f$8<^ zY}d|9NRviy7sF$61>@bV$B3*VeDg4DX3qScxVTL~5Go^T?}aG+th- z2`EduJx~ZcSssR;yX%oW&ze|$TF?;>HGHp~Eq?$w&SAD?d#s$$|4F@l*T7}X$7>}7 zRvPwxrPaLO5X-qYiQ7{P^4Ui2GDbq&DJ3Yu`)8zfMi1{>HEq`+uR1bJ4x!#n0D6_M8Zs_# z3mc%u30aK|avL-!XI&?{^%v4OXUr4OzaL*|-HV&M5GPx)SUqYMWw@Ex;%DHx^&FOD zncjYHD@AiYbGx1O(rsKW>Eg}cid)6bqA}!r!G{?x#)c?^k+q_uv%Xh3ha^A^{%wnpRPY({1LqK{NQy>!UjUc8f7x2` zgyLiGpsKlFO75ee2#drn3Glyna)PvUP}e(t6P z(8^W6g23+fzT5gZQQ^L-Yg#^P;QK8FTZAe)*|CKS6(I>8a2aoN+XEkYf2jAF!Zi3! zjS($tF@bu(ypeC>`IZtF;jz`F6A-Y7ZUQBuZxp&q4zHb9cc*!1`T3p9xL9`nWhNVr z!2lf=fCA>;1E&E|yfmrHqB#XnUCu28b*4#eZ{lLL(42#`ui?BO&uZj|d_Fh!Bw8g$ zn@2uezsJz@^XM(T{!CEw+EyG*eaF`FuTN%C zOZg)khBpDobCl(3ud$bhr>EdmuQ^l^Cic|y2m>LM+gsZGYKUAeJE5YUX9}j^JDoojv<}Cm&t+agmp?JE0%d#fo}m_cYogpjn5&egilTvDFz-Df}1i zB4)bXfn$dqb!cCa13DdCgMNehaa&${n5Mw&bxeKfNmHq%e{T_H@WB!H3QgFK2gNpB zP<;xkez-y-Lr(0^P^G!YH~WLut`0=mPXbVN64iv6Nd`s=eUQ;?V((+QU0&B4SF3*{Pm$AVrq;v&)c>VLy_UCe45VEsI@ZWM2TaB# zRU6XaLx0^H=0)Z!$rIu`3*s{Z!W7pU@6aHvX*vUuzME+!B5H}k_gFD)3=f;nI zi1|B!@iO%p;L{!JSEI~vyUByf_{HY=;RuAK##-h!06XFwxYi?xl}oWStJ*P{OcVe~ z_v(y8!+BaLQB`(D(XrL0ReKMn$R)8mU2@$q$Pq; zbZq-$IkP4V(`m}e<)cwnZLrjiA-X0@VY~Gi5-PKX20#Eag!JOw1br%7Rr}`(v@d!u zCo@&wE1SwM=zt~$K!eJ**9GAv!}Cogn9(d0X~BwPkU4gaWh?WVRcE3N?C%_R_D)Vw z(YmJTJ_0~fhItqHPqoIFGQYE2!~?aSRa{vjcDWhy5>oT zGOMFTWfL`aLx-!QL(9r?~D6y9Uhq=af8z!rqg#p zXk%gE-;=@G>MUv7p@P#ni@zP*$YQwA0Dlc21`%pV;p!_F@xI(^eA5&SZ{rU?^Wj}! z6Y%C^eMYilc_~MAwqV`h=I0;WA)MqJ^$IvyJ-O0)*RuLYjTL1TWd|(NbhIZ;nOop( z`4bc=fsxaeI@zc!vvYFFetFRKSMjef2_#oIzzPIxZ4oB0sxKOzX4Wltz#G@LD2Qr5 zm9o~xF;EU*_!O`}IigC{sU%1^$$B@>Fa_H0*>*1Amc^7tnKxcPpr8zZTme`6(0@J| zXfBE;0)lcuv%tqq05V8P2B^)Nhq~qdR|1KCfe>(GeuFaNc)T~zvma>o)FZv;sVD@D zynx%jpd8m<{zI zz44BQcmN85TNhy2plu`Nt$b;sKELSBpW)my@*ZnL{lFaD|7-8c-;zw*wh@(1yH+~o zQd6mwOU~P(B4CS|mX=v+F44&NRvMbQpcpDmU!|BhndzGgrsa}~;RGs*v>~aLX|A9$ zxrCyC3y6ZiciVh3@BH@t1LJY%FM8{e94DY4JQ} zYS0fcOC|N!{@iq*a@H$Qe9ONriBWJrhLhC?o5K2)!=~i)0hGh-mMd~RkqdIGCB(fU zy5*IvHssJ&gxudt>g(3w2{)axskJ_#h96qTc~<{c!`n^f zg+SOfdm8=UI!4%}d%RkXd}yWU1H66h)eDTsQr!qkcZE^zbI#F$k(dn7l7z}@YSv1+ zIcEYw{HJjfg()x7R@zQ&o;LdJ2vi6Fkl?OHM-Ga!%w}co(6=I5LZ>n{9pr~6!z|S$ zq_VfE7##n|{H(t$wPI-D`~L#((@V(MZ>p6Eb8k%4{lIGT;hZ9cg%~HhcbDCd%0RbM zs?uZG1wSL{Z0f+NzDiO?w9~XT^dWptKJ@M~0(@5*az*ZgabU465JN9eFY7vD8Wdz_ zlAIonnlivB;uDXov3sIgoKx2>G6a;@?v0qg;r`RnZ{4wMw2%}(e*c8k`R7sNT@>H} zfUU~mHR~8!4rJTHVlT=v3wz2kx&95Nz?@Tj8)s5E}t{|AFA=d_Y zOTqb{ATx>U``k~NJ2hYk3r#Gn1}|1Xj}jq!9%;{k(?9!WZt1z#{OATvapC-}#$LWi zi2R>~v0v6A<|?Eg)Ye#VyRyr7RJ$N4vFEFfmb1jHF(yZN^rc!ULDen>KWu(D9Z5!P ze(qg(G2HmSqyi2B&W`vo@N=3l?+dXbWn-`1LrY1^_mSilpKLLxQp}@s?=Tqw6Do5Pui*IhPZtaT|GAE&MF$;(4s9Bt5f+vbITElRv3( ze&@3GgY%ltiz;PZXq||TeA+sP9bc(#*G<2ck&zF3W?0$Bxit`EwvZb7jke;810>h3 zb}}!oS_xUbJ^$_PWrSlJ-;v4qq!@|L9uM#ALcMu|+|fni+AqPpu+CtjBrs#Y1jKVU zEc6L$d!2l-MgMi5&7?{Dfxj)qn;mIZudn7I6V$88%05A!PtCQTGSxXKMGh;qXa|fE zJBUmhM!}@e#A?s%bajm+=Ka1WxHZWaj;k#XT{T#;bH9c5zA8txVHEz(EeE*PP9eD9 z<2|evdxmVLj_n@`lp>6@ zy_ZTczm54_lGjPwPaq$dF1HdIks&Mp;%bge$QZnnp${}#&Z3)z95ei@b9;c=kJpY- z$G#RZbgyTi3&d4=3%+gXOSp|g^~^%K1id>re4gTka;7m@WA}bFo`GUbT8-n19VVdO}IkuW(H_iil_S}@$xy(Q*fCcNaD60 zxqsWK5lESLWnKgy^ci@da#k9^aW5)oLzbFxlUVBA&UM~79PF7=rW@Ot`>9(Gju3N{A4%EK0dPuz{=J_LUv|Pe^*x3eq_ExMNjB3?{$+xH^_Y z;e5pH)*~Lo@y=;b=P$Iqp9KR|j(>D-kaI4WeI&&HPFRtbZBMiQ^PwE`pF$Z7#(@UF zP2~&InXDTNx3`4)H2mD8yHl{Jk(|C(VA2vwY}3IRqo*qy9HvN7a!$$hlZqjmb6tZy zp1fLd^be5LmcI`_d3@@A`jLDS!b0qXVvP%y>+DfL86Ie=*TZ)PL??Lk^F};4=dwv; zPRBV>*)f&NE0vtjYHw@vs9l(Dk*g-}ARSciwv!f)E361d_9y<;9b7)PBw$3dh`AZi zAY4)BVh3t>;gR=s)nZW3PT_3bOLDK)eTZT^*m%P!HdC!FvK=Z=_iA>Bg!`SsC|P3u zz+oMr^PUcTebccFK>bqp475+?5RUC{Y7klp^p=Q;ZM+c8Zq6wBtH*5c=QHlp7wZS%6AszeebN>>_2^H7uuK@g%1{vF}DT>U{h`}c+u5ubXcFMH)fZ6-l z!y=qVN>jqgj)3T!mALcM;1!8}PDcMCU6<9?l#euNff${zE=b0d%;TcPFfw`y>zjLg#_WgnwatH|t}Y&WrR32m5W_AWNa`OqIc{ zW{_mX(Ck1psRCgMhJ*hXhcAG1ocb_kuY)%9rlYzq8h$K;X}=5m+8CYpJ4Yw6zLi%S zpu}dkAc_hVv>NfWy9eLsQ-6OzoBl{WAkRi|U;anmJ5dFwz(C9~-A(!Vfw z(E!S5ua;@}(q5GrIc6|PAOSPg{il$s$UBI}tk5xuP-VedGyZd}xqXvWvU_`{;Cf0> z5fN79T(#iq-q$RLb(of0ZA0lfepj^!a2-6 zv{v^7r2J*xmj&XVgZ>Wd=RqwGGe1`-Svll~bz(-y7*N1ooU5J*aY@&5ea5ss6n(a? z`N9l?w~=^1g2wLDVRD5ovqLc^Z#YRDFR+QYV4emH*fzOpzer3>Pudh??f``be>dD3 z)xB}1O6bZpnt=j(m92Fxq0dz89n>B05xx10QDL-YDz&e>h_u@9+RG)Pv4{2IYNiMy z8auH}j+fW*;q%Ymtbq+KI_r4gxGUeYJ>hq~vbe!N3%NntH+Dyh7I70!cu(qE_`Vp; z07NvH4Q2s#9;mKj;>umoviK|H+#CbgGq`D+QxI*$r6&D`yf%-M^{H;6gi4*j3?c9c z8$}NK?0I4%b?c`p2;SvL3*xY`0fe_KIZqPm`M%{DCrPUt{bS|zlhbHBNlUe7zcK}E z$L2zIl+z#Z!thJW!}{G&JAC@Pg`H(}GLM_m;uV}C9Yt(vF+F0Dy7{`k zY&v=ZZf?8^qSD>~2iP#{qQK632aMplZye6Q3X>dctS@JHSz2)zJaqXvFEZlr>9$oY z^&9^4pN`1EJcEw_wi@P{zJqQX470?WZTB*5Y7F!3#xJO^z|Gw@)bFoY5#daTP5OgI zcbKI$Ok(|9g_%#If*$3ga=U0_n%|#}eWwyeW~(19Te+!xF*(rd=LU(nM15;<7Z&oA zrqIw#r7}&_qgCdvS7+!|3?8w7JNRtHQ$~8Yyw(xC+n=- z7SQBo3+)tbg2NJn^=lukNOCkiEsgt~4tCrZ{aSnrHRMk@_?1^whFrEn3mT1NSC9B&c-(JrWu@FUhSNf+(>-_%kX#@LYnzq`^M#XX}(*!_LZCY za24(5Y$WH^=;GY^#0c{Y4{_!GPvm_bd#&6ypUpfwu%|+=UEe^Q+oe$7cXnyF@O67L3%SKO#rdayD^4^vH2hG{w%vp|_*jKf4 z=jb?40UP4S+Mi~(Uz(^cvgVB+r+Rt|;wnFRYcz(i=&Q14Ok=V-tTPw4%v&;ZrxI#w z6&rvLjj#yzBr5~N*7o09CkIE=>EWwo`ceL*@Y=504RB*xY#SY{)p3Gvn9zBL_FCN0 zl^axu8p~su8HpiDNi{%5ojAv1{0?t7*mflF9&Y_x4#)X(jyLl~c+s6*I1G7{zBI;tH*_ z94)o##4$cU4ohj~e#C^E><)3E`d;ftdwTQZpDmp)9)n5^+h%BE?)8LI2A`L!zjTBL zPYE&+#0&jDFc&4Tg}VC}E@4ZGyWbiK2dvn6Mpu!cQT_^6!RG!7)fE>V>?PNFm?vc5 z>A8gcW=5Xm2#LEW_;XgMQ$=Y-#lc|zs2}}2ny_4Kb%D@Vrtu6rOmUe!ph7;;L`XHi zXcDHc;OYbIk44?|A9-=Ml{Xap)^{jb5$Kl?v`CIT`bDXV*x{h+UARtzOd}#US>a%X zOdU`5^_P@lkQxB*B<&RQB?FgJOH2-~rMnXf_{5%~s&OlUM^i30FeOM{`XOXs)3_BU zEAyNr%bz8RJ=Cvw8y=)3p z`K|i!j$l~LqQ)kabHK}7WeyB$x*({t#cQWf98qh&X{R*Y--9)~g)?XCL>&z;v9#hY zTFY?DV&1fPE&*z}6Ki`Y5#(-eVYB;OzZjPSDnN%ArA8D>wODpQT4Jt}ah556JE+G_! z_P0uQ!qDhR94VdpAqajIOl4~>oTaQ8H5yXaTZUOb%cRAkWYV?KSNlTqgSM=Wgf)JP zz=?Q5f5zPEVO!NbOCbqEwP^Ff_O_`gdm67#U{Mp^_bKcq2IoO%zcJb(M5z`cjv1Ck z+!awNRhwjj6CQqu+xC#{UWo^3+h?6ymzq3r?3JV}<|u_9x=MWAm`1AqAnOsJ*@)^4 zr|`FkZlg{Cd!#Chmhn=_ZQe;~-DTUOv>)Tbmh0{z_42vWa|vNUO% z_5KA1xNHBgw0zjUH|s5xg$b4k z@Koa#-AFizrr6h2#$k*41tm7_jp$yL4X*DZcklq!u+>9E0WnhcOFPn7Vh^ao@~tno z@RwY)*+8&|Hpdq)`a=L*Teuw;_B@u;o!a!YaOO@bs-?*gqpm?nRkXl~mKFfF z+OVzE%RlC`M5-+KM_GXZ@9b;=2C(sq+R&Ko_RzZ%5P~kDieK3yzV4BN*{$E%KY;4k z)s?*vacHYN~u+?SoI`e@S2!9Co!cdvz;@N@{yj`0-9^8osR(V7PR-O&gM)x3owqs5oJpIwc zgY`#VzjI$V>YYDrIr8D;0JK<10@ycefw z;;oV(!gUR*xBg%xTl-#d>u(5}#jFrLKo}q0b{IuuZhuO7n++ zo@9)d#`(AT$mbW5g;c;&z>1_2Nk%;L?TIhfeK%PYp>5N<5wdihxw4-qvVsN6t@bol zDFgi~t`B&ZU3ek!#fXVE5Ao$7AwI+@amT_m2SclwQE{cLcv3kwhokq+!S%>Fe_*(Z z75)vhq@YqZqa~Hf$0S?T@nr_%mV%*aT${~4)6|(P@Bq_Q!VC4tZa`7?ra`4?oV+wSr2`TVSUmKS_>V@3%0*S#!+L=3f@oF=4k9U9xv0p1;Fx&}V;X2J~h zcz^}G3|;s8JyEFR*LB*fPUm+?f+ofnBQ5uK%NrwA+RV_~h<6-mw_wU?NGRI!zNTh% z&>ty6x8&gW75gdW)?p->&%?{*brS|k@b|(>&<^nyO55Pi_q*eK)=J*Uunw2cw--p%E!VXuDa? ztZ$HPKJ6$Sh7!UrpxVBLFSnpZOw$(ftvg!Nk1LVfL+FL(u zh1Abu(oCSmgqQ2IrE;Zz2f2DAD%T4XO6tU&)2IB}vV3{^xpz1MYFEPy_09RP2QvmA zIqw<(UaCnCs!mFX$+3sjnV*(O5)y`jW!*wzF-l^K`Bxgap+0Ej z@c^nf{Ic`6I5#9bcE7fwiiP8JZ9dr3FsD~SBiW_`8{UgFt*{$@qj#E)90JYra>Zs3 z$sCTuzOye2GdTO;4@;wgJK@!ij-|c--insluCR}{#q=D6Xz#nL6;`rkc*UzLTR%Y{ zN2YK;Zcz4YY=+|(0_?E=#~3U@I1fIyRiBF zIeWj=id+b|L;kSMs>NMfeB^(={IdrC;NYJy_$L+olL`OdOqgH0OpSa?FTRhwb<|%A 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..11b053e --- /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 = quizzler_flutter + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.quizzlerFlutter + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2022 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..2722837 --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + 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/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..8e125ca --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,146 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.12" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.12" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" +sdks: + dart: ">=2.17.0-0 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8a9bcc4..33afe02 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,12 @@ name: quizzler description: A new Flutter application. +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# Read more about versioning at semver.org. version: 1.0.0+1 environment: @@ -10,15 +16,53 @@ dependencies: flutter: sdk: flutter + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 - #TODO: Step 1 - Add the rFlutter Alert package as a dependency here and use "Packages get". - rflutter_alert: ^1.0.2 dev_dependencies: flutter_test: sdk: flutter +# For information on the generic Dart part of this file, see the +# following page: https://www.dartlang.org/tools/pub/pubspec + +# The following section is specific to Flutter. flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. uses-material-design: true + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.io/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.io/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.io/custom-fonts/#from-packages 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 zcmeFZ_gj-)&^4Nb2tlbLMU<{!p(#yjqEe+=0IA_oih%ScH9@5#MNp&}Y#;;(h=A0@ zh7{>lT2MkSQ344eAvrhici!td|HJuyvJm#Y_w1Q9Yu3!26dNlO-oxUDK_C#XnW^Co z5C{VN6#{~B0)K2j7}*1Xq(Nqemv23A-6&=ZpEijkVnSwVGqLv40?n0=p;k3-U5e5+ z+z3>aS`u9DS=!wg8ROu?X4TFoW6CFLL&{GzoVT)ldhLekLM|+j3tIxRd|*5=c{=s&*vfPdBr(Fyj(v@%eQj1Soy7m4^@VRl1~@-PV7y+c!xz$8436WBn$t{=}mEdK#k`aystimGgI{(IBx$!pAwFoE9Y`^t^;> zKAD)C(Dl^s%`?q5$P|fZf8Xymrtu^Pv(7D`rn>Z-w$Ahs!z9!94WNVxrJuXfHAaxg zC6s@|Z1$7R$(!#t%Jb{{s6(Y?NoQXDYq)!}X@jKPhe`{9KQ@sAU8y-5`xt?S9$jKH zoi}6m5PcG*^{kjvt+kwPpyQzVg4o)a>;LK`aaN2x4@itBD3Aq?yWTM20VRn1rrd+2 zKO=P0rMjEGq_UqpMa`~7B|p?xAN1SCoCp}QxAv8O`jLJ5CVh@umR%c%i^)6!o+~`F zaalSTQcl5iwOLC&H)efzd{8(88mo`GI(56T<(&p7>Qd^;R1hn1Y~jN~tApaL8>##U zd65bo8)79CplWxr#z4!6HvLz&N7_5AN#x;kLG?zQ(#p|lj<8VUlKY=Aw!ATqeL-VG z42gA!^cMNPj>(`ZMEbCrnkg*QTsn*u(nQPWI9pA{MQ=IsPTzd7q5E#7+z>Ch=fx$~ z;J|?(5jTo5UWGvsJa(Sx0?S#56+8SD!I^tftyeh_{5_31l6&Hywtn`bbqYDqGZXI( zCG7hBgvksX2ak8+)hB4jnxlO@A32C_RM&g&qDSb~3kM&)@A_j1*oTO@nicGUyv+%^ z=vB)4(q!ykzT==Z)3*3{atJ5}2PV*?Uw+HhN&+RvKvZL3p9E?gHjv{6zM!A|z|UHK z-r6jeLxbGn0D@q5aBzlco|nG2tr}N@m;CJX(4#Cn&p&sLKwzLFx1A5izu?X_X4x8r@K*d~7>t1~ zDW1Mv5O&WOxbzFC`DQ6yNJ(^u9vJdj$fl2dq`!Yba_0^vQHXV)vqv1gssZYzBct!j zHr9>ydtM8wIs}HI4=E}qAkv|BPWzh3^_yLH(|kdb?x56^BlDC)diWyPd*|f!`^12_U>TD^^94OCN0lVv~Sgvs94ecpE^}VY$w`qr_>Ue zTfH~;C<3H<0dS5Rkf_f@1x$Gms}gK#&k()IC0zb^QbR!YLoll)c$Agfi6MKI0dP_L z=Uou&u~~^2onea2%XZ@>`0x^L8CK6=I{ge;|HXMj)-@o~h&O{CuuwBX8pVqjJ*o}5 z#8&oF_p=uSo~8vn?R0!AMWvcbZmsrj{ZswRt(aEdbi~;HeVqIe)-6*1L%5u$Gbs}| zjFh?KL&U(rC2izSGtwP5FnsR@6$-1toz?RvLD^k~h9NfZgzHE7m!!7s6(;)RKo2z} zB$Ci@h({l?arO+vF;s35h=|WpefaOtKVx>l399}EsX@Oe3>>4MPy%h&^3N_`UTAHJ zI$u(|TYC~E4)|JwkWW3F!Tib=NzjHs5ii2uj0^m|Qlh-2VnB#+X~RZ|`SA*}}&8j9IDv?F;(Y^1=Z0?wWz;ikB zewU>MAXDi~O7a~?jx1x=&8GcR-fTp>{2Q`7#BE#N6D@FCp`?ht-<1|y(NArxE_WIu zP+GuG=Qq>SHWtS2M>34xwEw^uvo4|9)4s|Ac=ud?nHQ>ax@LvBqusFcjH0}{T3ZPQ zLO1l<@B_d-(IS682}5KA&qT1+{3jxKolW+1zL4inqBS-D>BohA!K5++41tM@ z@xe<-qz27}LnV#5lk&iC40M||JRmZ*A##K3+!j93eouU8@q-`W0r%7N`V$cR&JV;iX(@cS{#*5Q>~4BEDA)EikLSP@>Oo&Bt1Z~&0d5)COI%3$cLB_M?dK# z{yv2OqW!al-#AEs&QFd;WL5zCcp)JmCKJEdNsJlL9K@MnPegK23?G|O%v`@N{rIRa zi^7a}WBCD77@VQ-z_v{ZdRsWYrYgC$<^gRQwMCi6);%R~uIi31OMS}=gUTE(GKmCI z$zM>mytL{uNN+a&S38^ez(UT=iSw=l2f+a4)DyCA1Cs_N-r?Q@$3KTYosY!;pzQ0k zzh1G|kWCJjc(oZVBji@kN%)UBw(s{KaYGy=i{g3{)Z+&H8t2`^IuLLKWT6lL<-C(! zSF9K4xd-|VO;4}$s?Z7J_dYqD#Mt)WCDnsR{Kpjq275uUq6`v0y*!PHyS(}Zmv)_{>Vose9-$h8P0|y;YG)Bo}$(3Z%+Gs0RBmFiW!^5tBmDK-g zfe5%B*27ib+7|A*Fx5e)2%kIxh7xWoc3pZcXS2zik!63lAG1;sC1ja>BqH7D zODdi5lKW$$AFvxgC-l-)!c+9@YMC7a`w?G(P#MeEQ5xID#<}W$3bSmJ`8V*x2^3qz zVe<^^_8GHqYGF$nIQm0Xq2kAgYtm#UC1A(=&85w;rmg#v906 zT;RyMgbMpYOmS&S9c38^40oUp?!}#_84`aEVw;T;r%gTZkWeU;;FwM@0y0adt{-OK z(vGnPSlR=Nv2OUN!2=xazlnHPM9EWxXg2EKf0kI{iQb#FoP>xCB<)QY>OAM$Dcdbm zU6dU|%Mo(~avBYSjRc13@|s>axhrPl@Sr81{RSZUdz4(=|82XEbV*JAX6Lfbgqgz584lYgi0 z2-E{0XCVON$wHfvaLs;=dqhQJ&6aLn$D#0i(FkAVrXG9LGm3pSTf&f~RQb6|1_;W> z?n-;&hrq*~L=(;u#jS`*Yvh@3hU-33y_Kv1nxqrsf>pHVF&|OKkoC)4DWK%I!yq?P z=vXo8*_1iEWo8xCa{HJ4tzxOmqS0&$q+>LroMKI*V-rxhOc%3Y!)Y|N6p4PLE>Yek>Y(^KRECg8<|%g*nQib_Yc#A5q8Io z6Ig&V>k|~>B6KE%h4reAo*DfOH)_01tE0nWOxX0*YTJgyw7moaI^7gW*WBAeiLbD?FV9GSB zPv3`SX*^GRBM;zledO`!EbdBO_J@fEy)B{-XUTVQv}Qf~PSDpK9+@I`7G7|>Dgbbu z_7sX9%spVo$%qwRwgzq7!_N;#Td08m5HV#?^dF-EV1o)Q=Oa+rs2xH#g;ykLbwtCh znUnA^dW!XjspJ;otq$yV@I^s9Up(5k7rqhQd@OLMyyxVLj_+$#Vc*}Usevp^I(^vH zmDgHc0VMme|K&X?9&lkN{yq_(If)O`oUPW8X}1R5pSVBpfJe0t{sPA(F#`eONTh_) zxeLqHMfJX#?P(@6w4CqRE@Eiza; z;^5)Kk=^5)KDvd9Q<`=sJU8rjjxPmtWMTmzcH={o$U)j=QBuHarp?=}c??!`3d=H$nrJMyr3L-& zA#m?t(NqLM?I3mGgWA_C+0}BWy3-Gj7bR+d+U?n*mN$%5P`ugrB{PeV>jDUn;eVc- zzeMB1mI4?fVJatrNyq|+zn=!AiN~<}eoM#4uSx^K?Iw>P2*r=k`$<3kT00BE_1c(02MRz4(Hq`L^M&xt!pV2 zn+#U3@j~PUR>xIy+P>51iPayk-mqIK_5rlQMSe5&tDkKJk_$i(X&;K(11YGpEc-K= zq4Ln%^j>Zi_+Ae9eYEq_<`D+ddb8_aY!N;)(&EHFAk@Ekg&41ABmOXfWTo)Z&KotA zh*jgDGFYQ^y=m)<_LCWB+v48DTJw*5dwMm_YP0*_{@HANValf?kV-Ic3xsC}#x2h8 z`q5}d8IRmqWk%gR)s~M}(Qas5+`np^jW^oEd-pzERRPMXj$kS17g?H#4^trtKtq;C?;c ztd|%|WP2w2Nzg@)^V}!Gv++QF2!@FP9~DFVISRW6S?eP{H;;8EH;{>X_}NGj^0cg@ z!2@A>-CTcoN02^r6@c~^QUa={0xwK0v4i-tQ9wQq^=q*-{;zJ{Qe%7Qd!&X2>rV@4 z&wznCz*63_vw4>ZF8~%QCM?=vfzW0r_4O^>UA@otm_!N%mH)!ERy&b!n3*E*@?9d^ zu}s^By@FAhG(%?xgJMuMzuJw2&@$-oK>n z=UF}rt%vuaP9fzIFCYN-1&b#r^Cl6RDFIWsEsM|ROf`E?O(cy{BPO2Ie~kT+^kI^i zp>Kbc@C?}3vy-$ZFVX#-cx)Xj&G^ibX{pWggtr(%^?HeQL@Z( zM-430g<{>vT*)jK4aY9(a{lSy{8vxLbP~n1MXwM527ne#SHCC^F_2@o`>c>>KCq9c(4c$VSyMl*y3Nq1s+!DF| z^?d9PipQN(mw^j~{wJ^VOXDCaL$UtwwTpyv8IAwGOg<|NSghkAR1GSNLZ1JwdGJYm zP}t<=5=sNNUEjc=g(y)1n5)ynX(_$1-uGuDR*6Y^Wgg(LT)Jp><5X|}bt z_qMa&QP?l_n+iVS>v%s2Li_;AIeC=Ca^v1jX4*gvB$?H?2%ndnqOaK5-J%7a} zIF{qYa&NfVY}(fmS0OmXA70{znljBOiv5Yod!vFU{D~*3B3Ka{P8?^ zfhlF6o7aNT$qi8(w<}OPw5fqA7HUje*r*Oa(YV%*l0|9FP9KW@U&{VSW{&b0?@y)M zs%4k1Ax;TGYuZ9l;vP5@?3oQsp3)rjBeBvQQ>^B;z5pc=(yHhHtq6|0m(h4envn_j787fizY@V`o(!SSyE7vlMT zbo=Z1c=atz*G!kwzGB;*uPL$Ei|EbZLh8o+1BUMOpnU(uX&OG1MV@|!&HOOeU#t^x zr9=w2ow!SsTuJWT7%Wmt14U_M*3XiWBWHxqCVZI0_g0`}*^&yEG9RK9fHK8e+S^m? zfCNn$JTswUVbiC#>|=wS{t>-MI1aYPLtzO5y|LJ9nm>L6*wpr_m!)A2Fb1RceX&*|5|MwrvOk4+!0p99B9AgP*9D{Yt|x=X}O% zgIG$MrTB=n-!q%ROT|SzH#A$Xm;|ym)0>1KR}Yl0hr-KO&qMrV+0Ej3d@?FcgZ+B3 ztEk16g#2)@x=(ko8k7^Tq$*5pfZHC@O@}`SmzT1(V@x&NkZNM2F#Q-Go7-uf_zKC( zB(lHZ=3@dHaCOf6C!6i8rDL%~XM@rVTJbZL09?ht@r^Z_6x}}atLjvH^4Vk#Ibf(^LiBJFqorm?A=lE zzFmwvp4bT@Nv2V>YQT92X;t9<2s|Ru5#w?wCvlhcHLcsq0TaFLKy(?nzezJ>CECqj zggrI~Hd4LudM(m{L@ezfnpELsRFVFw>fx;CqZtie`$BXRn#Ns%AdoE$-Pf~{9A8rV zf7FbgpKmVzmvn-z(g+&+-ID=v`;6=)itq8oM*+Uz**SMm_{%eP_c0{<%1JGiZS19o z@Gj7$Se~0lsu}w!%;L%~mIAO;AY-2i`9A*ZfFs=X!LTd6nWOZ7BZH2M{l2*I>Xu)0 z`<=;ObglnXcVk!T>e$H?El}ra0WmPZ$YAN0#$?|1v26^(quQre8;k20*dpd4N{i=b zuN=y}_ew9SlE~R{2+Rh^7%PA1H5X(p8%0TpJ=cqa$65XL)$#ign-y!qij3;2>j}I; ziO@O|aYfn&up5F`YtjGw68rD3{OSGNYmBnl?zdwY$=RFsegTZ=kkzRQ`r7ZjQP!H( zp4>)&zf<*N!tI00xzm-ME_a{_I!TbDCr;8E;kCH4LlL-tqLxDuBn-+xgPk37S&S2^ z2QZumkIimwz!c@!r0)j3*(jPIs*V!iLTRl0Cpt_UVNUgGZzdvs0(-yUghJfKr7;=h zD~y?OJ-bWJg;VdZ^r@vlDoeGV&8^--!t1AsIMZ5S440HCVr%uk- z2wV>!W1WCvFB~p$P$$_}|H5>uBeAe>`N1FI8AxM|pq%oNs;ED8x+tb44E) zTj{^fbh@eLi%5AqT?;d>Es5D*Fi{Bpk)q$^iF!!U`r2hHAO_?#!aYmf>G+jHsES4W zgpTKY59d?hsb~F0WE&dUp6lPt;Pm zcbTUqRryw^%{ViNW%Z(o8}dd00H(H-MmQmOiTq{}_rnwOr*Ybo7*}3W-qBT!#s0Ie z-s<1rvvJx_W;ViUD`04%1pra*Yw0BcGe)fDKUK8aF#BwBwMPU;9`!6E(~!043?SZx z13K%z@$$#2%2ovVlgFIPp7Q6(vO)ud)=*%ZSucL2Dh~K4B|%q4KnSpj#n@(0B})!9 z8p*hY@5)NDn^&Pmo;|!>erSYg`LkO?0FB@PLqRvc>4IsUM5O&>rRv|IBRxi(RX(gJ ztQ2;??L~&Mv;aVr5Q@(?y^DGo%pO^~zijld41aA0KKsy_6FeHIn?fNHP-z>$OoWer zjZ5hFQTy*-f7KENRiCE$ZOp4|+Wah|2=n@|W=o}bFM}Y@0e62+_|#fND5cwa3;P{^pEzlJbF1Yq^}>=wy8^^^$I2M_MH(4Dw{F6hm+vrWV5!q;oX z;tTNhz5`-V={ew|bD$?qcF^WPR{L(E%~XG8eJx(DoGzt2G{l8r!QPJ>kpHeOvCv#w zr=SSwMDaUX^*~v%6K%O~i)<^6`{go>a3IdfZ8hFmz&;Y@P%ZygShQZ2DSHd`m5AR= zx$wWU06;GYwXOf(%MFyj{8rPFXD};JCe85Bdp4$YJ2$TzZ7Gr#+SwCvBI1o$QP0(c zy`P51FEBV2HTisM3bHqpmECT@H!Y2-bv2*SoSPoO?wLe{M#zDTy@ujAZ!Izzky~3k zRA1RQIIoC*Mej1PH!sUgtkR0VCNMX(_!b65mo66iM*KQ7xT8t2eev$v#&YdUXKwGm z7okYAqYF&bveHeu6M5p9xheRCTiU8PFeb1_Rht0VVSbm%|1cOVobc8mvqcw!RjrMRM#~=7xibH&Fa5Imc|lZ{eC|R__)OrFg4@X_ ze+kk*_sDNG5^ELmHnZ7Ue?)#6!O)#Nv*Dl2mr#2)w{#i-;}0*_h4A%HidnmclH#;Q zmQbq+P4DS%3}PpPm7K_K3d2s#k~x+PlTul7+kIKol0@`YN1NG=+&PYTS->AdzPv!> zQvzT=)9se*Jr1Yq+C{wbK82gAX`NkbXFZ)4==j4t51{|-v!!$H8@WKA={d>CWRW+g z*`L>9rRucS`vbXu0rzA1#AQ(W?6)}1+oJSF=80Kf_2r~Qm-EJ6bbB3k`80rCv(0d` zvCf3;L2ovYG_TES%6vSuoKfIHC6w;V31!oqHM8-I8AFzcd^+_86!EcCOX|Ta9k1!s z_Vh(EGIIsI3fb&dF$9V8v(sTBC%!#<&KIGF;R+;MyC0~}$gC}}= zR`DbUVc&Bx`lYykFZ4{R{xRaUQkWCGCQlEc;!mf=+nOk$RUg*7 z;kP7CVLEc$CA7@6VFpsp3_t~m)W0aPxjsA3e5U%SfY{tp5BV5jH-5n?YX7*+U+Zs%LGR>U- z!x4Y_|4{gx?ZPJobISy991O znrmrC3otC;#4^&Rg_iK}XH(XX+eUHN0@Oe06hJk}F?`$)KmH^eWz@@N%wEc)%>?Ft z#9QAroDeyfztQ5Qe{m*#R#T%-h*&XvSEn@N$hYRTCMXS|EPwzF3IIysD2waj`vQD{ zv_#^Pgr?s~I*NE=acf@dWVRNWTr(GN0wrL)Z2=`Dr>}&ZDNX|+^Anl{Di%v1Id$_p zK5_H5`RDjJx`BW7hc85|> zHMMsWJ4KTMRHGu+vy*kBEMjz*^K8VtU=bXJYdhdZ-?jTXa$&n)C?QQIZ7ln$qbGlr zS*TYE+ppOrI@AoPP=VI-OXm}FzgXRL)OPvR$a_=SsC<3Jb+>5makX|U!}3lx4tX&L z^C<{9TggZNoeX!P1jX_K5HkEVnQ#s2&c#umzV6s2U-Q;({l+j^?hi7JnQ7&&*oOy9 z(|0asVTWUCiCnjcOnB2pN0DpuTglKq;&SFOQ3pUdye*eT<2()7WKbXp1qq9=bhMWlF-7BHT|i3TEIT77AcjD(v=I207wi-=vyiw5mxgPdTVUC z&h^FEUrXwWs9en2C{ywZp;nvS(Mb$8sBEh-*_d-OEm%~p1b2EpcwUdf<~zmJmaSTO zSX&&GGCEz-M^)G$fBvLC2q@wM$;n4jp+mt0MJFLuJ%c`tSp8$xuP|G81GEd2ci$|M z4XmH{5$j?rqDWoL4vs!}W&!?!rtj=6WKJcE>)?NVske(p;|#>vL|M_$as=mi-n-()a*OU3Okmk0wC<9y7t^D(er-&jEEak2!NnDiOQ99Wx8{S8}=Ng!e0tzj*#T)+%7;aM$ z&H}|o|J1p{IK0Q7JggAwipvHvko6>Epmh4RFRUr}$*2K4dz85o7|3#Bec9SQ4Y*;> zXWjT~f+d)dp_J`sV*!w>B%)#GI_;USp7?0810&3S=WntGZ)+tzhZ+!|=XlQ&@G@~3 z-dw@I1>9n1{+!x^Hz|xC+P#Ab`E@=vY?3%Bc!Po~e&&&)Qp85!I|U<-fCXy*wMa&t zgDk!l;gk;$taOCV$&60z+}_$ykz=Ea*)wJQ3-M|p*EK(cvtIre0Pta~(95J7zoxBN zS(yE^3?>88AL0Wfuou$BM{lR1hkrRibz=+I9ccwd`ZC*{NNqL)3pCcw^ygMmrG^Yp zn5f}Xf>%gncC=Yq96;rnfp4FQL#{!Y*->e82rHgY4Zwy{`JH}b9*qr^VA{%~Z}jtp z_t$PlS6}5{NtTqXHN?uI8ut8rOaD#F1C^ls73S=b_yI#iZDOGz3#^L@YheGd>L;<( z)U=iYj;`{>VDNzIxcjbTk-X3keXR8Xbc`A$o5# zKGSk-7YcoBYuAFFSCjGi;7b<;n-*`USs)IX z=0q6WZ=L!)PkYtZE-6)azhXV|+?IVGTOmMCHjhkBjfy@k1>?yFO3u!)@cl{fFAXnRYsWk)kpT?X{_$J=|?g@Q}+kFw|%n!;Zo}|HE@j=SFMvT8v`6Y zNO;tXN^036nOB2%=KzxB?n~NQ1K8IO*UE{;Xy;N^ZNI#P+hRZOaHATz9(=)w=QwV# z`z3+P>9b?l-@$@P3<;w@O1BdKh+H;jo#_%rr!ute{|YX4g5}n?O7Mq^01S5;+lABE+7`&_?mR_z7k|Ja#8h{!~j)| zbBX;*fsbUak_!kXU%HfJ2J+G7;inu#uRjMb|8a){=^))y236LDZ$$q3LRlat1D)%7K0!q5hT5V1j3qHc7MG9 z_)Q=yQ>rs>3%l=vu$#VVd$&IgO}Za#?aN!xY>-<3PhzS&q!N<=1Q7VJBfHjug^4|) z*fW^;%3}P7X#W3d;tUs3;`O&>;NKZBMR8au6>7?QriJ@gBaorz-+`pUWOP73DJL=M z(33uT6Gz@Sv40F6bN|H=lpcO z^AJl}&=TIjdevuDQ!w0K*6oZ2JBOhb31q!XDArFyKpz!I$p4|;c}@^bX{>AXdt7Bm zaLTk?c%h@%xq02reu~;t@$bv`b3i(P=g}~ywgSFpM;}b$zAD+=I!7`V~}ARB(Wx0C(EAq@?GuxOL9X+ffbkn3+Op0*80TqmpAq~EXmv%cq36celXmRz z%0(!oMp&2?`W)ALA&#|fu)MFp{V~~zIIixOxY^YtO5^FSox8v$#d0*{qk0Z)pNTt0QVZ^$`4vImEB>;Lo2!7K05TpY-sl#sWBz_W-aDIV`Ksabi zvpa#93Svo!70W*Ydh)Qzm{0?CU`y;T^ITg-J9nfWeZ-sbw)G@W?$Eomf%Bg2frfh5 zRm1{|E0+(4zXy){$}uC3%Y-mSA2-^I>Tw|gQx|7TDli_hB>``)Q^aZ`LJC2V3U$SABP}T)%}9g2pF9dT}aC~!rFFgkl1J$ z`^z{Arn3On-m%}r}TGF8KQe*OjSJ=T|caa_E;v89A{t@$yT^(G9=N9F?^kT*#s3qhJq!IH5|AhnqFd z0B&^gm3w;YbMNUKU>naBAO@fbz zqw=n!@--}o5;k6DvTW9pw)IJVz;X}ncbPVrmH>4x);8cx;q3UyiML1PWp%bxSiS|^ zC5!kc4qw%NSOGQ*Kcd#&$30=lDvs#*4W4q0u8E02U)7d=!W7+NouEyuF1dyH$D@G& zaFaxo9Ex|ZXA5y{eZT*i*dP~INSMAi@mvEX@q5i<&o&#sM}Df?Og8n8Ku4vOux=T% zeuw~z1hR}ZNwTn8KsQHKLwe2>p^K`YWUJEdVEl|mO21Bov!D0D$qPoOv=vJJ`)|%_ z>l%`eexY7t{BlVKP!`a^U@nM?#9OC*t76My_E_<16vCz1x_#82qj2PkWiMWgF8bM9 z(1t4VdHcJ;B~;Q%x01k_gQ0>u2*OjuEWNOGX#4}+N?Gb5;+NQMqp}Puqw2HnkYuKA zzKFWGHc&K>gwVgI1Sc9OT1s6fq=>$gZU!!xsilA$fF`kLdGoX*^t}ao@+^WBpk>`8 z4v_~gK|c2rCq#DZ+H)$3v~Hoi=)=1D==e3P zpKrRQ+>O^cyTuWJ%2}__0Z9SM_z9rptd*;-9uC1tDw4+A!=+K%8~M&+Zk#13hY$Y$ zo-8$*8dD5@}XDi19RjK6T^J~DIXbF5w&l?JLHMrf0 zLv0{7*G!==o|B%$V!a=EtVHdMwXLtmO~vl}P6;S(R2Q>*kTJK~!}gloxj)m|_LYK{ zl(f1cB=EON&wVFwK?MGn^nWuh@f95SHatPs(jcwSY#Dnl1@_gkOJ5=f`%s$ZHljRH0 z+c%lrb=Gi&N&1>^L_}#m>=U=(oT^vTA&3!xXNyqi$pdW1BDJ#^{h|2tZc{t^vag3& zAD7*8C`chNF|27itjBUo^CCDyEpJLX3&u+(L;YeeMwnXEoyN(ytoEabcl$lSgx~Ltatn}b$@j_yyMrBb03)shJE*$;Mw=;mZd&8e>IzE+4WIoH zCSZE7WthNUL$|Y#m!Hn?x7V1CK}V`KwW2D$-7&ODy5Cj;!_tTOOo1Mm%(RUt)#$@3 zhurA)t<7qik%%1Et+N1?R#hdBB#LdQ7{%-C zn$(`5e0eFh(#c*hvF>WT*07fk$N_631?W>kfjySN8^XC9diiOd#s?4tybICF;wBjp zIPzilX3{j%4u7blhq)tnaOBZ_`h_JqHXuI7SuIlNTgBk9{HIS&3|SEPfrvcE<@}E` zKk$y*nzsqZ{J{uWW9;#n=de&&h>m#A#q)#zRonr(?mDOYU&h&aQWD;?Z(22wY?t$U3qo`?{+amA$^TkxL+Ex2dh`q7iR&TPd0Ymwzo#b? zP$#t=elB5?k$#uE$K>C$YZbYUX_JgnXA`oF_Ifz4H7LEOW~{Gww&3s=wH4+j8*TU| zSX%LtJWqhr-xGNSe{;(16kxnak6RnZ{0qZ^kJI5X*It_YuynSpi(^-}Lolr{)#z_~ zw!(J-8%7Ybo^c3(mED`Xz8xecP35a6M8HarxRn%+NJBE;dw>>Y2T&;jzRd4FSDO3T zt*y+zXCtZQ0bP0yf6HRpD|WmzP;DR^-g^}{z~0x~z4j8m zucTe%k&S9Nt-?Jb^gYW1w6!Y3AUZ0Jcq;pJ)Exz%7k+mUOm6%ApjjSmflfKwBo6`B zhNb@$NHTJ>guaj9S{@DX)!6)b-Shav=DNKWy(V00k(D!v?PAR0f0vDNq*#mYmUp6> z76KxbFDw5U{{qx{BRj(>?|C`82ICKbfLxoldov-M?4Xl+3;I4GzLHyPOzYw7{WQST zPNYcx5onA%MAO9??41Po*1zW(Y%Zzn06-lUp{s<3!_9vv9HBjT02On0Hf$}NP;wF) zP<`2p3}A^~1YbvOh{ePMx$!JGUPX-tbBzp3mDZMY;}h;sQ->!p97GA)9a|tF(Gh{1$xk7 zUw?ELkT({Xw!KIr);kTRb1b|UL`r2_`a+&UFVCdJ)1T#fdh;71EQl9790Br0m_`$x z9|ZANuchFci8GNZ{XbP=+uXSJRe(;V5laQz$u18#?X*9}x7cIEbnr%<=1cX3EIu7$ zhHW6pe5M(&qEtsqRa>?)*{O;OJT+YUhG5{km|YI7I@JL_3Hwao9aXneiSA~a* z|Lp@c-oMNyeAEuUz{F?kuou3x#C*gU?lon!RC1s37gW^0Frc`lqQWH&(J4NoZg3m8 z;Lin#8Q+cFPD7MCzj}#|ws7b@?D9Q4dVjS4dpco=4yX5SSH=A@U@yqPdp@?g?qeia zH=Tt_9)G=6C2QIPsi-QipnK(mc0xXIN;j$WLf@n8eYvMk;*H-Q4tK%(3$CN}NGgO8n}fD~+>?<3UzvsrMf*J~%i;VKQHbF%TPalFi=#sgj)(P#SM^0Q=Tr>4kJVw8X3iWsP|e8tj}NjlMdWp z@2+M4HQu~3!=bZpjh;;DIDk&X}=c8~kn)FWWH z2KL1w^rA5&1@@^X%MjZ7;u(kH=YhH2pJPFQe=hn>tZd5RC5cfGYis8s9PKaxi*}-s6*W zRA^PwR=y^5Z){!(4D9-KC;0~;b*ploznFOaU`bJ_7U?qAi#mTo!&rIECRL$_y@yI27x2?W+zqDBD5~KCVYKFZLK+>ABC(Kj zeAll)KMgIlAG`r^rS{loBrGLtzhHY8$)<_S<(Dpkr(Ym@@vnQ&rS@FC*>2@XCH}M+an74WcRDcoQ+a3@A z9tYhl5$z7bMdTvD2r&jztBuo37?*k~wcU9GK2-)MTFS-lux-mIRYUuGUCI~V$?s#< z?1qAWb(?ZLm(N>%S%y10COdaq_Tm5c^%ooIxpR=`3e4C|@O5wY+eLik&XVi5oT7oe zmxH)Jd*5eo@!7t`x8!K=-+zJ-Sz)B_V$)s1pW~CDU$=q^&ABvf6S|?TOMB-RIm@CoFg>mjIQE)?+A1_3s6zmFU_oW&BqyMz1mY*IcP_2knjq5 zqw~JK(cVsmzc7*EvTT2rvpeqhg)W=%TOZ^>f`rD4|7Z5fq*2D^lpCttIg#ictgqZ$P@ru6P#f$x#KfnfTZj~LG6U_d-kE~`;kU_X)`H5so@?C zWmb!7x|xk@0L~0JFall*@ltyiL^)@3m4MqC7(7H0sH!WidId1#f#6R{Q&A!XzO1IAcIx;$k66dumt6lpUw@nL2MvqJ5^kbOVZ<^2jt5-njy|2@`07}0w z;M%I1$FCoLy`8xp8Tk)bFr;7aJeQ9KK6p=O$U0-&JYYy8woV*>b+FB?xLX`=pirYM z5K$BA(u)+jR{?O2r$c_Qvl?M{=Ar{yQ!UVsVn4k@0!b?_lA;dVz9uaQUgBH8Oz(Sb zrEs;&Ey>_ex8&!N{PmQjp+-Hlh|OA&wvDai#GpU=^-B70V0*LF=^bi+Nhe_o|azZ%~ZZ1$}LTmWt4aoB1 zPgccm$EwYU+jrdBaQFxQfn5gd(gM`Y*Ro1n&Zi?j=(>T3kmf94vdhf?AuS8>$Va#P zGL5F+VHpxdsCUa}+RqavXCobI-@B;WJbMphpK2%6t=XvKWWE|ruvREgM+|V=i6;;O zx$g=7^`$XWn0fu!gF=Xe9cMB8Z_SelD>&o&{1XFS`|nInK3BXlaeD*rc;R-#osyIS zWv&>~^TLIyBB6oDX+#>3<_0+2C4u2zK^wmHXXDD9_)kmLYJ!0SzM|%G9{pi)`X$uf zW}|%%#LgyK7m(4{V&?x_0KEDq56tk|0YNY~B(Sr|>WVz-pO3A##}$JCT}5P7DY+@W z#gJv>pA5>$|E3WO2tV7G^SuymB?tY`ooKcN3!vaQMnBNk-WATF{-$#}FyzgtJ8M^; zUK6KWSG)}6**+rZ&?o@PK3??uN{Q)#+bDP9i1W&j)oaU5d0bIWJ_9T5ac!qc?x66Q z$KUSZ`nYY94qfN_dpTFr8OW~A?}LD;Yty-BA)-be5Z3S#t2Io%q+cAbnGj1t$|qFR z9o?8B7OA^KjCYL=-!p}w(dkC^G6Nd%_I=1))PC0w5}ZZGJxfK)jP4Fwa@b-SYBw?% zdz9B-<`*B2dOn(N;mcTm%Do)rIvfXRNFX&1h`?>Rzuj~Wx)$p13nrDlS8-jwq@e@n zNIj_|8or==8~1h*Ih?w*8K7rYkGlwlTWAwLKc5}~dfz3y`kM&^Q|@C%1VAp_$wnw6zG~W4O+^ z>i?NY?oXf^Puc~+fDM$VgRNBpOZj{2cMP~gCqWAX4 z7>%$ux8@a&_B(pt``KSt;r+sR-$N;jdpY>|pyvPiN)9ohd*>mVST3wMo)){`B(&eX z1?zZJ-4u9NZ|~j1rdZYq4R$?swf}<6(#ex%7r{kh%U@kT)&kWuAszS%oJts=*OcL9 zaZwK<5DZw%1IFHXgFplP6JiL^dk8+SgM$D?8X+gE4172hXh!WeqIO>}$I9?Nry$*S zQ#f)RuH{P7RwA3v9f<-w>{PSzom;>(i&^l{E0(&Xp4A-*q-@{W1oE3K;1zb{&n28dSC2$N+6auXe0}e4b z)KLJ?5c*>@9K#I^)W;uU_Z`enquTUxr>mNq z1{0_puF-M7j${rs!dxxo3EelGodF1TvjV;Zpo;s{5f1pyCuRp=HDZ?s#IA4f?h|-p zGd|Mq^4hDa@Bh!c4ZE?O&x&XZ_ptZGYK4$9F4~{%R!}G1leCBx`dtNUS|K zL-7J5s4W@%mhXg1!}a4PD%!t&Qn%f_oquRajn3@C*)`o&K9o7V6DwzVMEhjVdDJ1fjhr#@=lp#@4EBqi=CCQ>73>R(>QKPNM&_Jpe5G`n4wegeC`FYEPJ{|vwS>$-`fuRSp3927qOv|NC3T3G-0 zA{K`|+tQy1yqE$ShWt8ny&5~)%ITb@^+x$w0)f&om;P8B)@}=Wzy59BwUfZ1vqw87 za2lB8J(&*l#(V}Id8SyQ0C(2amzkz3EqG&Ed0Jq1)$|&>4_|NIe=5|n=3?siFV0fI z{As5DLW^gs|B-b4C;Hd(SM-S~GQhzb>HgF2|2Usww0nL^;x@1eaB)=+Clj+$fF@H( z-fqP??~QMT$KI-#m;QC*&6vkp&8699G3)Bq0*kFZXINw=b9OVaed(3(3kS|IZ)CM? zJdnW&%t8MveBuK21uiYj)_a{Fnw0OErMzMN?d$QoPwkhOwcP&p+t>P)4tHlYw-pPN z^oJ=uc$Sl>pv@fZH~ZqxSvdhF@F1s=oZawpr^-#l{IIOGG=T%QXjtwPhIg-F@k@uIlr?J->Ia zpEUQ*=4g|XYn4Gez&aHr*;t$u3oODPmc2Ku)2Og|xjc%w;q!Zz+zY)*3{7V8bK4;& zYV82FZ+8?v)`J|G1w4I0fWdKg|2b#iaazCv;|?(W-q}$o&Y}Q5d@BRk^jL7#{kbCK zSgkyu;=DV+or2)AxCBgq-nj5=@n^`%T#V+xBGEkW4lCqrE)LMv#f;AvD__cQ@Eg3`~x| zW+h9mofSXCq5|M)9|ez(#X?-sxB%Go8};sJ?2abp(Y!lyi>k)|{M*Z$c{e1-K4ky` MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..f84efb3 --- /dev/null +++ b/web/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + quizzler_flutter + + + + + + + + + + diff --git a/web/manifest.json b/web/manifest.json new file mode 100644 index 0000000..80449df --- /dev/null +++ b/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "quizzler_flutter", + "short_name": "quizzler_flutter", + "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..af1ed68 --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,101 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(quizzler_flutter 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 "quizzler_flutter") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# 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() + +# 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..930d207 --- /dev/null +++ b/windows/flutter/CMakeLists.txt @@ -0,0 +1,104 @@ +# 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") + +# === 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" + windows-x64 $ + 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..8b6d468 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} 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..b93c4c3 --- /dev/null +++ b/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +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..17411a8 --- /dev/null +++ b/windows/runner/CMakeLists.txt @@ -0,0 +1,39 @@ +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_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..9afad3e --- /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", "quizzler_flutter" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "quizzler_flutter" "\0" + VALUE "LegalCopyright", "Copyright (C) 2022 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "quizzler_flutter.exe" "\0" + VALUE "ProductName", "quizzler_flutter" "\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..b43b909 --- /dev/null +++ b/windows/runner/flutter_window.cpp @@ -0,0 +1,61 @@ +#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()); + 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..d5d556d --- /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.CreateAndShow(L"quizzler_flutter", 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 zcmeHQc|26z|35SKE&G-*mXah&B~fFkXr)DEO&hIfqby^T&>|8^_Ub8Vp#`BLl3lbZ zvPO!8k!2X>cg~Elr=IVxo~J*a`+9wR=A83c-k-DFd(XM&UI1VKCqM@V;DDtJ09WB} zRaHKiW(GT00brH|0EeTeKVbpbGZg?nK6-j827q-+NFM34gXjqWxJ*a#{b_apGN<-L_m3#8Z26atkEn& ze87Bvv^6vVmM+p+cQ~{u%=NJF>#(d;8{7Q{^rWKWNtf14H}>#&y7$lqmY6xmZryI& z($uy?c5-+cPnt2%)R&(KIWEXww>Cnz{OUpT>W$CbO$h1= z#4BPMkFG1Y)x}Ui+WXr?Z!w!t_hjRq8qTaWpu}FH{MsHlU{>;08goVLm{V<&`itk~ zE_Ys=D(hjiy+5=?=$HGii=Y5)jMe9|wWoD_K07(}edAxh`~LBorOJ!Cf@f{_gNCC| z%{*04ViE!#>@hc1t5bb+NO>ncf@@Dv01K!NxH$3Eg1%)|wLyMDF8^d44lV!_Sr}iEWefOaL z8f?ud3Q%Sen39u|%00W<#!E=-RpGa+H8}{ulxVl4mwpjaU+%2pzmi{3HM)%8vb*~-M9rPUAfGCSos8GUXp02|o~0BTV2l#`>>aFV&_P$ejS;nGwSVP8 zMbOaG7<7eKD>c12VdGH;?2@q7535sa7MN*L@&!m?L`ASG%boY7(&L5imY#EQ$KrBB z4@_tfP5m50(T--qv1BJcD&aiH#b-QC>8#7Fx@3yXlonJI#aEIi=8&ChiVpc#N=5le zM*?rDIdcpawoc5kizv$GEjnveyrp3sY>+5_R5;>`>erS%JolimF=A^EIsAK zsPoVyyUHCgf0aYr&alx`<)eb6Be$m&`JYSuBu=p8j%QlNNp$-5C{b4#RubPb|CAIS zGE=9OFLP7?Hgc{?k45)84biT0k&-C6C%Q}aI~q<(7BL`C#<6HyxaR%!dFx7*o^laG z=!GBF^cwK$IA(sn9y6>60Rw{mYRYkp%$jH z*xQM~+bp)G$_RhtFPYx2HTsWk80+p(uqv9@I9)y{b$7NK53rYL$ezbmRjdXS?V}fj zWxX_feWoLFNm3MG7pMUuFPs$qrQWO9!l2B(SIuy2}S|lHNbHzoE+M2|Zxhjq9+Ws8c{*}x^VAib7SbxJ*Q3EnY5lgI9 z=U^f3IW6T=TWaVj+2N%K3<%Un;CF(wUp`TC&Y|ZjyFu6co^uqDDB#EP?DV5v_dw~E zIRK*BoY9y-G_ToU2V_XCX4nJ32~`czdjT!zwme zGgJ0nOk3U4@IE5JwtM}pwimLjk{ln^*4HMU%Fl4~n(cnsLB}Ja-jUM>xIB%aY;Nq8 z)Fp8dv1tkqKanv<68o@cN|%thj$+f;zGSO7H#b+eMAV8xH$hLggtt?O?;oYEgbq@= zV(u9bbd12^%;?nyk6&$GPI%|+<_mEpJGNfl*`!KV;VfmZWw{n{rnZ51?}FDh8we_L z8OI9nE31skDqJ5Oa_ybn7|5@ui>aC`s34p4ZEu6-s!%{uU45$Zd1=p$^^dZBh zu<*pDDPLW+c>iWO$&Z_*{VSQKg7=YEpS3PssPn1U!lSm6eZIho*{@&20e4Y_lRklKDTUCKI%o4Pc<|G^Xgu$J^Q|B87U;`c1zGwf^-zH*VQ^x+i^OUWE0yd z;{FJq)2w!%`x7yg@>uGFFf-XJl4H`YtUG%0slGKOlXV`q?RP>AEWg#x!b{0RicxGhS!3$p7 zij;{gm!_u@D4$Ox%>>bPtLJ> zwKtYz?T_DR1jN>DkkfGU^<#6sGz|~p*I{y`aZ>^Di#TC|Z!7j_O1=Wo8thuit?WxR zh9_S>kw^{V^|g}HRUF=dcq>?q(pHxw!8rx4dC6vbQVmIhmICF#zU!HkHpQ>9S%Uo( zMw{eC+`&pb=GZRou|3;Po1}m46H6NGd$t<2mQh}kaK-WFfmj_66_17BX0|j-E2fe3Jat}ijpc53 zJV$$;PC<5aW`{*^Z6e5##^`Ed#a0nwJDT#Qq~^e8^JTA=z^Kl>La|(UQ!bI@#ge{Dzz@61p-I)kc2?ZxFt^QQ}f%ldLjO*GPj(5)V9IyuUakJX=~GnTgZ4$5!3E=V#t`yOG4U z(gphZB6u2zsj=qNFLYShhg$}lNpO`P9xOSnO*$@@UdMYES*{jJVj|9z-}F^riksLK zbsU+4-{281P9e2UjY6tse^&a)WM1MFw;p#_dHhWI7p&U*9TR0zKdVuQed%6{otTsq z$f~S!;wg#Bd9kez=Br{m|66Wv z#g1xMup<0)H;c2ZO6su_ii&m8j&+jJz4iKnGZ&wxoQX|5a>v&_e#6WA!MB_4asTxLRGQCC5cI(em z%$ZfeqP>!*q5kU>a+BO&ln=4Jm>Ef(QE8o&RgLkk%2}4Tf}U%IFP&uS7}&|Q-)`5< z+e>;s#4cJ-z%&-^&!xsYx777Wt(wZY9(3(avmr|gRe4cD+a8&!LY`1^T?7x{E<=kdY9NYw>A;FtTvQ=Y&1M%lyZPl$ss1oY^Sl8we}n}Aob#6 zl4jERwnt9BlSoWb@3HxYgga(752Vu6Y)k4yk9u~Kw>cA5&LHcrvn1Y-HoIuFWg~}4 zEw4bR`mXZQIyOAzo)FYqg?$5W<;^+XX%Uz61{-L6@eP|lLH%|w?g=rFc;OvEW;^qh z&iYXGhVt(G-q<+_j}CTbPS_=K>RKN0&;dubh0NxJyDOHFF;<1k!{k#7b{|Qok9hac z;gHz}6>H6C6RnB`Tt#oaSrX0p-j-oRJ;_WvS-qS--P*8}V943RT6kou-G=A+7QPGQ z!ze^UGxtW3FC0$|(lY9^L!Lx^?Q8cny(rR`es5U;-xBhphF%_WNu|aO<+e9%6LuZq zt(0PoagJG<%hyuf;te}n+qIl_Ej;czWdc{LX^pS>77s9t*2b4s5dvP_!L^3cwlc)E!(!kGrg~FescVT zZCLeua3f4;d;Tk4iXzt}g}O@nlK3?_o91_~@UMIl?@77Qc$IAlLE95#Z=TES>2E%z zxUKpK{_HvGF;5%Q7n&vA?`{%8ohlYT_?(3A$cZSi)MvIJygXD}TS-3UwyUxGLGiJP znblO~G|*uA^|ac8E-w#}uBtg|s_~s&t>-g0X%zIZ@;o_wNMr_;{KDg^O=rg`fhDZu zFp(VKd1Edj%F zWHPl+)FGj%J1BO3bOHVfH^3d1F{)*PL&sRX`~(-Zy3&9UQX)Z;c51tvaI2E*E7!)q zcz|{vpK7bjxix(k&6=OEIBJC!9lTkUbgg?4-yE{9+pFS)$Ar@vrIf`D0Bnsed(Cf? zObt2CJ>BKOl>q8PyFO6w)+6Iz`LW%T5^R`U_NIW0r1dWv6OY=TVF?N=EfA(k(~7VBW(S;Tu5m4Lg8emDG-(mOSSs=M9Q&N8jc^Y4&9RqIsk(yO_P(mcCr}rCs%1MW1VBrn=0-oQN(Xj!k%iKV zb%ricBF3G4S1;+8lzg5PbZ|$Se$)I=PwiK=cDpHYdov2QO1_a-*dL4KUi|g&oh>(* zq$<`dQ^fat`+VW?m)?_KLn&mp^-@d=&7yGDt<=XwZZC=1scwxO2^RRI7n@g-1o8ps z)&+et_~)vr8aIF1VY1Qrq~Xe``KJrQSnAZ{CSq3yP;V*JC;mmCT6oRLSs7=GA?@6g zUooM}@tKtx(^|aKK8vbaHlUQqwE0}>j&~YlN3H#vKGm@u)xxS?n9XrOWUfCRa< z`20Fld2f&;gg7zpo{Adh+mqNntMc-D$N^yWZAZRI+u1T1zWHPxk{+?vcS1D>08>@6 zLhE@`gt1Y9mAK6Z4p|u(5I%EkfU7rKFSM=E4?VG9tI;a*@?6!ey{lzN5=Y-!$WFSe z&2dtO>^0@V4WRc#L&P%R(?@KfSblMS+N+?xUN$u3K4Ys%OmEh+tq}fnU}i>6YHM?< zlnL2gl~sF!j!Y4E;j3eIU-lfa`RsOL*Tt<%EFC0gPzoHfNWAfKFIKZN8}w~(Yi~=q z>=VNLO2|CjkxP}RkutxjV#4fWYR1KNrPYq5ha9Wl+u>ipsk*I(HS@iLnmGH9MFlTU zaFZ*KSR0px>o+pL7BbhB2EC1%PJ{67_ z#kY&#O4@P=OV#-79y_W>Gv2dxL*@G7%LksNSqgId9v;2xJ zrh8uR!F-eU$NMx@S*+sk=C~Dxr9Qn7TfWnTupuHKuQ$;gGiBcU>GF5sWx(~4IP3`f zWE;YFO*?jGwYh%C3X<>RKHC-DZ!*r;cIr}GLOno^3U4tFSSoJp%oHPiSa%nh=Zgn% z14+8v@ygy0>UgEN1bczD6wK45%M>psM)y^)IfG*>3ItX|TzV*0i%@>L(VN!zdKb8S?Qf7BhjNpziA zR}?={-eu>9JDcl*R=OP9B8N$IcCETXah9SUDhr{yrld{G;PnCWRsPD7!eOOFBTWUQ=LrA_~)mFf&!zJX!Oc-_=kT<}m|K52 z)M=G#;p;Rdb@~h5D{q^K;^fX-m5V}L%!wVC2iZ1uu401Ll}#rocTeK|7FAeBRhNdQ zCc2d^aQnQp=MpOmak60N$OgS}a;p(l9CL`o4r(e-nN}mQ?M&isv-P&d$!8|1D1I(3-z!wi zTgoo)*Mv`gC?~bm?S|@}I|m-E2yqPEvYybiD5azInexpK8?9q*$9Yy9-t%5jU8~ym zgZDx>!@ujQ=|HJnwp^wv-FdD{RtzO9SnyfB{mH_(c!jHL*$>0o-(h(eqe*ZwF6Lvu z{7rkk%PEqaA>o+f{H02tzZ@TWy&su?VNw43! z-X+rN`6llvpUms3ZiSt)JMeztB~>9{J8SPmYs&qohxdYFi!ra8KR$35Zp9oR)eFC4 zE;P31#3V)n`w$fZ|4X-|%MX`xZDM~gJyl2W;O$H25*=+1S#%|53>|LyH za@yh+;325%Gq3;J&a)?%7X%t@WXcWL*BaaR*7UEZad4I8iDt7^R_Fd`XeUo256;sAo2F!HcIQKk;h})QxEsPE5BcKc7WyerTchgKmrfRX z!x#H_%cL#B9TWAqkA4I$R^8{%do3Y*&(;WFmJ zU7Dih{t1<{($VtJRl9|&EB?|cJ)xse!;}>6mSO$o5XIx@V|AA8ZcoD88ZM?C*;{|f zZVmf94_l1OmaICt`2sTyG!$^UeTHx9YuUP!omj(r|7zpm5475|yXI=rR>>fteLI+| z)MoiGho0oEt=*J(;?VY0QzwCqw@cVm?d7Y!z0A@u#H?sCJ*ecvyhj& z-F77lO;SH^dmf?L>3i>?Z*U}Em4ZYV_CjgfvzYsRZ+1B!Uo6H6mbS<-FFL`ytqvb& zE7+)2ahv-~dz(Hs+f})z{*4|{)b=2!RZK;PWwOnO=hG7xG`JU5>bAvUbdYd_CjvtHBHgtGdlO+s^9ca^Bv3`t@VRX2_AD$Ckg36OcQRF zXD6QtGfHdw*hx~V(MV-;;ZZF#dJ-piEF+s27z4X1qi5$!o~xBnvf=uopcn7ftfsZc zy@(PuOk`4GL_n(H9(E2)VUjqRCk9kR?w)v@xO6Jm_Mx})&WGEl=GS0#)0FAq^J*o! zAClhvoTsNP*-b~rN{8Yym3g{01}Ep^^Omf=SKqvN?{Q*C4HNNAcrowIa^mf+3PRy! z*_G-|3i8a;+q;iP@~Of_$(vtFkB8yOyWt2*K)vAn9El>=D;A$CEx6b*XF@4y_6M+2 zpeW`RHoI_p(B{%(&jTHI->hmNmZjHUj<@;7w0mx3&koy!2$@cfX{sN19Y}euYJFn& z1?)+?HCkD0MRI$~uB2UWri})0bru_B;klFdwsLc!ne4YUE;t41JqfG# zZJq6%vbsdx!wYeE<~?>o4V`A3?lN%MnKQ`z=uUivQN^vzJ|C;sdQ37Qn?;lpzg})y z)_2~rUdH}zNwX;Tp0tJ78+&I=IwOQ-fl30R79O8@?Ub8IIA(6I`yHn%lARVL`%b8+ z4$8D-|MZZWxc_)vu6@VZN!HsI$*2NOV&uMxBNzIbRgy%ob_ zhwEH{J9r$!dEix9XM7n&c{S(h>nGm?el;gaX0@|QnzFD@bne`el^CO$yXC?BDJ|Qg z+y$GRoR`?ST1z^e*>;!IS@5Ovb7*RlN>BV_UC!7E_F;N#ky%1J{+iixp(dUJj93aK zzHNN>R-oN7>kykHClPnoPTIj7zc6KM(Pnlb(|s??)SMb)4!sMHU^-ntJwY5Big7xv zb1Ew`Xj;|D2kzGja*C$eS44(d&RMU~c_Y14V9_TLTz0J#uHlsx`S6{nhsA0dWZ#cG zJ?`fO50E>*X4TQLv#nl%3GOk*UkAgt=IY+u0LNXqeln3Z zv$~&Li`ZJOKkFuS)dJRA>)b_Da%Q~axwA_8zNK{BH{#}#m}zGcuckz}riDE-z_Ms> zR8-EqAMcfyGJCtvTpaUVQtajhUS%c@Yj}&6Zz;-M7MZzqv3kA7{SuW$oW#=0az2wQ zg-WG@Vb4|D`pl~Il54N7Hmsauc_ne-a!o5#j3WaBBh@Wuefb!QJIOn5;d)%A#s+5% zuD$H=VNux9bE-}1&bcYGZ+>1Fo;3Z@e&zX^n!?JK*adSbONm$XW9z;Q^L>9U!}Toj2WdafJ%oL#h|yWWwyAGxzfrAWdDTtaKl zK4`5tDpPg5>z$MNv=X0LZ0d6l%D{(D8oT@+w0?ce$DZ6pv>{1&Ok67Ix1 zH}3=IEhPJEhItCC8E=`T`N5(k?G=B4+xzZ?<4!~ ze~z6Wk9!CHTI(0rLJ4{JU?E-puc;xusR?>G?;4vt;q~iI9=kDL=z0Rr%O$vU`30X$ zDZRFyZ`(omOy@u|i6h;wtJlP;+}$|Ak|k2dea7n?U1*$T!sXqqOjq^NxLPMmk~&qI zYg0W?yK8T(6+Ea+$YyspKK?kP$+B`~t3^Pib_`!6xCs32!i@pqXfFV6PmBIR<-QW= zN8L{pt0Vap0x`Gzn#E@zh@H)0FfVfA_Iu4fjYZ+umO1LXIbVc$pY+E234u)ttcrl$ z>s92z4vT%n6cMb>=XT6;l0+9e(|CZG)$@C7t7Z7Ez@a)h)!hyuV&B5K%%)P5?Lk|C zZZSVzdXp{@OXSP0hoU-gF8s8Um(#xzjP2Vem zec#-^JqTa&Y#QJ>-FBxd7tf`XB6e^JPUgagB8iBSEps;92KG`!#mvVcPQ5yNC-GEG zTiHEDYfH+0O15}r^+ z#jxj=@x8iNHWALe!P3R67TwmhItn**0JwnzSV2O&KE8KcT+0hWH^OPD1pwiuyx=b@ zNf5Jh0{9X)8;~Es)$t@%(3!OnbY+`@?i{mGX7Yy}8T_*0a6g;kaFPq;*=px5EhO{Cp%1kI<0?*|h8v!6WnO3cCJRF2-CRrU3JiLJnj@6;L)!0kWYAc_}F{2P))3HmCrz zQ&N&gE70;`!6*eJ4^1IR{f6j4(-l&X!tjHxkbHA^Zhrnhr9g{exN|xrS`5Pq=#Xf& zG%P=#ra-TyVFfgW%cZo5OSIwFL9WtXAlFOa+ubmI5t*3=g#Y zF%;70p5;{ZeFL}&}yOY1N1*Q;*<(kTB!7vM$QokF)yr2FlIU@$Ph58$Bz z0J?xQG=MlS4L6jA22eS42g|9*9pX@$#*sUeM(z+t?hr@r5J&D1rx}2pW&m*_`VDCW zUYY@v-;bAO0HqoAgbbiGGC<=ryf96}3pouhy3XJrX+!!u*O_>Si38V{uJmQ&USptX zKp#l(?>%^7;2%h(q@YWS#9;a!JhKlkR#Vd)ERILlgu!Hr@jA@V;sk4BJ-H#p*4EqC zDGjC*tl=@3Oi6)Bn^QwFpul18fpkbpg0+peH$xyPBqb%`$OUhPKyWb32o7clB*9Z< zN=i~NLjavrLtwgJ01bufP+>p-jR2I95|TpmKpQL2!oV>g(4RvS2pK4*ou%m(h6r3A zX#s&`9LU1ZG&;{CkOK!4fLDTnBys`M!vuz>Q&9OZ0hGQl!~!jSDg|~s*w52opC{sB ze|Cf2luD(*G13LcOAGA!s2FjSK8&IE5#W%J25w!vM0^VyQM!t)inj&RTiJ!wXzFgz z3^IqzB7I0L$llljsGq})thBy9UOyjtFO_*hYM_sgcMk>44jeH0V1FDyELc{S1F-;A zS;T^k^~4biG&V*Irq}O;e}j$$+E_#G?HKIn05iP3j|87TkGK~SqG!-KBg5+mN(aLm z8ybhIM`%C19UX$H$KY6JgXbY$0AT%rEpHC;u`rQ$Y=rxUdsc5*Kvc8jaYaO$^)cI6){P6K0r)I6DY4Wr4&B zLQUBraey#0HV|&c4v7PVo3n$zHj99(TZO^3?Ly%C4nYvJTL9eLBLHsM3WKKD>5!B` zQ=BsR3aR6PD(Fa>327E2HAu5TM~Wusc!)>~(gM)+3~m;92Jd;FnSib=M5d6;;5{%R zb4V7DEJ0V!CP-F*oU?gkc>ksUtAYP&V4ND5J>J2^jt*vcFflQWCrB&fLdT%O59PVJ zhid#toR=FNgD!q3&r8#wEBr`!wzvQu5zX?Q>nlSJ4i@WC*CN*-xU66F^V5crWevQ9gsq$I@z1o(a=k7LL~ z7m_~`o;_Ozha1$8Q}{WBehvAlO4EL60y5}8GDrZ< zXh&F}71JbW2A~8KfEWj&UWV#4+Z4p`b{uAj4&WC zha`}X@3~+Iz^WRlOHU&KngK>#j}+_o@LdBC1H-`gT+krWX3-;!)6?{FBp~%20a}FL zFP9%Emqcwa#(`=G>BBZ0qZDQhmZKJg_g8<=bBFKWr!dyg(YkpE+|R*SGpDVU!+VlU zFC54^DLv}`qa%49T>nNiA9Q7Ips#!Xx90tCU2gvK`(F+GPcL=J^>No{)~we#o@&mUb6c$ zCc*<|NJBk-#+{j9xkQ&ujB zI~`#kN~7W!f*-}wkG~Ld!JqZ@tK}eeSnsS5J1fMFXm|`LJx&}5`@dK3W^7#Wnm+_P zBZkp&j1fa2Y=eIjJ0}gh85jt43kaIXXv?xmo@eHrka!Z|vQv12HN#+!I5E z`(fbuW>gFiJL|uXJ!vKt#z3e3HlVdboH7;e#i3(2<)Fg-I@BR!qY#eof3MFZ&*Y@l zI|KJf&ge@p2Dq09Vu$$Qxb7!}{m-iRk@!)%KL)txi3;~Z4Pb}u@GsW;ELiWeG9V51 znX#}B&4Y2E7-H=OpNE@q{%hFLxwIpBF2t{vPREa8_{linXT;#1vMRWjOzLOP$-hf( z>=?$0;~~PnkqY;~K{EM6Vo-T(0K{A0}VUGmu*hR z{tw3hvBN%N3G3Yw`X5Te+F{J`(3w1s3-+1EbnFQKcrgrX1Jqvs@ADGe%M0s$EbK$$ zK)=y=upBc6SjGYAACCcI=Y*6Fi8_jgwZlLxD26fnQfJmb8^gHRN5(TemhX@0e=vr> zg`W}6U>x6VhoA3DqsGGD9uL1DhB3!OXO=k}59TqD@(0Nb{)Ut_luTioK_>7wjc!5C zIr@w}b`Fez3)0wQfKl&bae7;PcTA7%?f2xucM0G)wt_KO!Ewx>F~;=BI0j=Fb4>pp zv}0R^xM4eti~+^+gE$6b81p(kwzuDti(-K9bc|?+pJEl@H+jSYuxZQV8rl8 zjp@M{#%qItIUFN~KcO9Hed*`$5A-2~pAo~K&<-Q+`9`$CK>rzqAI4w~$F%vs9s{~x zg4BP%Gy*@m?;D6=SRX?888Q6peF@_4Z->8wAH~Cn!R$|Hhq2cIzFYqT_+cDourHbY z0qroxJnrZ4Gh+Ay+F`_c%+KRT>y3qw{)89?=hJ@=KO=@ep)aBJ$c!JHfBMJpsP*3G za7|)VJJ8B;4?n{~ldJF7%jmb`-ftIvNd~ekoufG(`K(3=LNc;HBY& z(lp#q8XAD#cIf}k49zX_i`*fO+#!zKA&%T3j@%)R+#yag067CU%yUEe47>wzGU8^` z1EXFT^@I!{J!F8!X?S6ph8J=gUi5tl93*W>7}_uR<2N2~e}FaG?}KPyugQ=-OGEZs z!GBoyYY+H*ANn4?Z)X4l+7H%`17i5~zRlRIX?t)6_eu=g2Q`3WBhxSUeea+M-S?RL zX9oBGKn%a!H+*hx4d2(I!gsi+@SQK%<{X22M~2tMulJoa)0*+z9=-YO+;DFEm5eE1U9b^B(Z}2^9!Qk`!A$wUE z7$Ar5?NRg2&G!AZqnmE64eh^Anss3i!{}%6@Et+4rr!=}!SBF8eZ2*J3ujCWbl;3; z48H~goPSv(8X61fKKdpP!Z7$88NL^Z?j`!^*I?-P4X^pMxyWz~@$(UeAcTSDd(`vO z{~rc;9|GfMJcApU3k}22a!&)k4{CU!e_ny^Y3cO;tOvOMKEyWz!vG(Kp*;hB?d|R3`2X~=5a6#^o5@qn?J-bI8Ppip{-yG z!k|VcGsq!jF~}7DMr49Wap-s&>o=U^T0!Lcy}!(bhtYsPQy z4|EJe{12QL#=c(suQ89Mhw9<`bui%nx7Nep`C&*M3~vMEACmcRYYRGtANq$F%zh&V zc)cEVeHz*Z1N)L7k-(k3np#{GcDh2Q@ya0YHl*n7fl*ZPAsbU-a94MYYtA#&!c`xGIaV;yzsmrjfieTEtqB_WgZp2*NplHx=$O{M~2#i_vJ{ps-NgK zQsxKK_CBM2PP_je+Xft`(vYfXXgIUr{=PA=7a8`2EHk)Ym2QKIforz# tySWtj{oF3N9@_;i*Fv5S)9x^z=nlWP>jpp-9)52ZmLVA=i*%6g{{fxOO~wEK literal 0 HcmV?d00001 diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..a42ea76 --- /dev/null +++ b/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp new file mode 100644 index 0000000..f5bf9fa --- /dev/null +++ b/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#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(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + 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, + -1, 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..c10f08d --- /dev/null +++ b/windows/runner/win32_window.cpp @@ -0,0 +1,245 @@ +#include "win32_window.h" + +#include + +#include "resource.h" + +namespace { + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +// 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 registar 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::CreateAndShow(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 | WS_VISIBLE, + 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; + } + + return OnCreate(); +} + +// 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; + } + + 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. +} diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h new file mode 100644 index 0000000..17ba431 --- /dev/null +++ b/windows/runner/win32_window.h @@ -0,0 +1,98 @@ +#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 and shows a win32 window with |title| and position and size 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 to will treat the width height passed in to this function + // as logical pixels and scale to appropriate for the default monitor. Returns + // true if the window was created successfully. + bool CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size); + + // 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 + // responsponds 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; + + 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_