From 21ad718e3d7082cf7a9ee90734f0a9b5aa31c564 Mon Sep 17 00:00:00 2001 From: AppCakes Date: Thu, 25 Jun 2026 05:14:39 +0000 Subject: [PATCH] build: 444813b5-5daf-49b2-bf1a-7e4caeab4e17 --- .DS_Store | Bin 0 -> 6148 bytes .yarn/install-state.gz | Bin 0 -> 322822 bytes .yarnrc.yml | 1 + android/.DS_Store | Bin 0 -> 6148 bytes android/.gitignore | 101 + android/app/.gitignore | 2 + android/app/build.gradle | 55 + android/app/proguard-rules.pro | 21 + .../myapp/ExampleInstrumentedTest.java | 26 + android/app/src/main/AndroidManifest.xml | 51 + .../java/io/ionic/starter/MainActivity.java | 5 + .../main/res/drawable-land-hdpi/splash.png | Bin 0 -> 7705 bytes .../main/res/drawable-land-mdpi/splash.png | Bin 0 -> 4040 bytes .../main/res/drawable-land-xhdpi/splash.png | Bin 0 -> 9251 bytes .../main/res/drawable-land-xxhdpi/splash.png | Bin 0 -> 13984 bytes .../main/res/drawable-land-xxxhdpi/splash.png | Bin 0 -> 17683 bytes .../main/res/drawable-port-hdpi/splash.png | Bin 0 -> 7934 bytes .../main/res/drawable-port-mdpi/splash.png | Bin 0 -> 4096 bytes .../main/res/drawable-port-xhdpi/splash.png | Bin 0 -> 9875 bytes .../main/res/drawable-port-xxhdpi/splash.png | Bin 0 -> 13346 bytes .../main/res/drawable-port-xxxhdpi/splash.png | Bin 0 -> 17489 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 + android/app/src/main/res/drawable/splash.png | Bin 0 -> 4040 bytes .../app/src/main/res/layout/activity_main.xml | 12 + .../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 0 -> 2786 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3450 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4341 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1869 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2110 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2725 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3981 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5036 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6593 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6644 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 9793 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10455 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9441 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 15529 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15916 bytes .../res/values/ic_launcher_background.xml | 4 + android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 22 + android/app/src/main/res/xml/file_paths.xml | 5 + .../getcapacitor/myapp/ExampleUnitTest.java | 18 + android/build.gradle | 29 + android/gradle.properties | 22 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + android/gradlew | 251 ++ android/gradlew.bat | 94 + android/settings.gradle | 5 + android/variables.gradle | 18 + capacitor.config.ts | 15 + codemagic.yaml | 380 ++ configure_xcode.rb | 118 + index.html | 28 + ionic.config.json | 5 + ios/.DS_Store | Bin 0 -> 6148 bytes ios/.gitignore | 13 + ios/App/.DS_Store | Bin 0 -> 6148 bytes ios/App/App.xcodeproj/project.pbxproj | 380 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../App.xcworkspace/contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + ios/App/App/App.entitlements | 6 + ios/App/App/AppDelegate.swift | 49 + .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 0 -> 110522 bytes .../AppIcon.appiconset/Contents.json | 14 + ios/App/App/Assets.xcassets/Contents.json | 6 + .../Splash.imageset/Contents.json | 23 + .../Splash.imageset/splash-2732x2732-1.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732-2.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732.png | Bin 0 -> 41273 bytes .../App/Base.lproj/LaunchScreen.storyboard | 32 + ios/App/App/Base.lproj/Main.storyboard | 19 + ios/App/App/Info.plist | 66 + ios/App/CapApp-SPM/.gitignore | 9 + ios/App/CapApp-SPM/Package.swift | 25 + ios/App/CapApp-SPM/README.md | 5 + .../Sources/CapApp-SPM/CapApp-SPM.swift | 1 + ios/debug.xcconfig | 1 + package.json | 55 + public/manifest.json | 15 + src/.DS_Store | Bin 0 -> 6148 bytes src/App.tsx | 309 ++ src/assets/basket.png | Bin 0 -> 59243 bytes src/assets/dad.jpg | Bin 0 -> 120343 bytes src/assets/mom.jpg | Bin 0 -> 153909 bytes src/assets/pill.png | Bin 0 -> 44530 bytes src/assets/sarah.jpg | Bin 0 -> 103402 bytes src/components/ActivityListItem.tsx | 155 + src/components/AuthFormFields.tsx | 116 + src/components/AvatarPicker.tsx | 115 + src/components/CareAlertPill.tsx | 88 + src/components/DashboardSkeleton.tsx | 246 ++ src/components/ListSearchRow.tsx | 86 + src/components/OrderSummaryCard.tsx | 209 + src/components/OtpInputSlots.tsx | 82 + src/components/ProtectedRoute.tsx | 66 + src/components/QuickSupportActionCard.tsx | 94 + src/components/RecipientCareCard.tsx | 239 ++ src/components/RecipientListCard.tsx | 117 + src/components/SettingsRow.tsx | 115 + src/components/SocialAuthButton.tsx | 55 + src/contexts/AuthContext.tsx | 292 ++ src/database.types.ts | 673 +++ src/main.tsx | 113 + src/pages/ActivityPage.tsx | 649 +++ src/pages/AuthPage.tsx | 355 ++ src/pages/EditProfilePage.tsx | 330 ++ src/pages/ForgotPasswordPage.tsx | 207 + src/pages/Home.tsx | 30 + src/pages/HomePage.tsx | 1072 +++++ src/pages/NotificationsPage.tsx | 241 ++ src/pages/OrderDetailPage.tsx | 882 ++++ src/pages/OrdersPage.tsx | 250 ++ src/pages/ProfilePage.tsx | 417 ++ src/pages/RecipientDetailPage.tsx | 840 ++++ src/pages/RecipientFormPage.tsx | 724 ++++ src/pages/RecipientsPage.tsx | 348 ++ src/pages/SetupProfilePage.tsx | 366 ++ src/pages/SupportFlowPage.tsx | 1761 ++++++++ src/pages/VerifyEmailPage.tsx | 297 ++ src/pages/VerifyResetPage.tsx | 317 ++ src/pages/VoucherDetailPage.tsx | 276 ++ src/styles/activity.css | 479 +++ src/styles/auth.css | 600 +++ src/styles/home.css | 1181 ++++++ src/styles/profile.css | 305 ++ src/styles/recipients.css | 1141 +++++ src/styles/support.css | 2230 ++++++++++ src/supabase.ts | 7 + src/test-globals.d.ts | 51 + src/theme/variables.css | 159 + src/utils/statusBar.ts | 32 + tsconfig.json | 22 + tsconfig.node.json | 9 + vite.config.ts | 41 + yarn.lock | 3762 +++++++++++++++++ 142 files changed, 24809 insertions(+) create mode 100644 .DS_Store create mode 100644 .yarn/install-state.gz create mode 100644 .yarnrc.yml create mode 100644 android/.DS_Store create mode 100644 android/.gitignore create mode 100644 android/app/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/io/ionic/starter/MainActivity.java create mode 100644 android/app/src/main/res/drawable-land-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/splash.png create mode 100644 android/app/src/main/res/layout/activity_main.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 android/variables.gradle create mode 100644 capacitor.config.ts create mode 100644 codemagic.yaml create mode 100644 configure_xcode.rb create mode 100644 index.html create mode 100644 ionic.config.json create mode 100644 ios/.DS_Store create mode 100644 ios/.gitignore create mode 100644 ios/App/.DS_Store create mode 100644 ios/App/App.xcodeproj/project.pbxproj create mode 100644 ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/App/App.xcworkspace/contents.xcworkspacedata create mode 100644 ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/App/App/App.entitlements create mode 100644 ios/App/App/AppDelegate.swift create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png create mode 100644 ios/App/App/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/App/App/Base.lproj/Main.storyboard create mode 100644 ios/App/App/Info.plist create mode 100644 ios/App/CapApp-SPM/.gitignore create mode 100644 ios/App/CapApp-SPM/Package.swift create mode 100644 ios/App/CapApp-SPM/README.md create mode 100644 ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift create mode 100644 ios/debug.xcconfig create mode 100644 package.json create mode 100644 public/manifest.json create mode 100644 src/.DS_Store create mode 100644 src/App.tsx create mode 100644 src/assets/basket.png create mode 100644 src/assets/dad.jpg create mode 100644 src/assets/mom.jpg create mode 100644 src/assets/pill.png create mode 100644 src/assets/sarah.jpg create mode 100644 src/components/ActivityListItem.tsx create mode 100644 src/components/AuthFormFields.tsx create mode 100644 src/components/AvatarPicker.tsx create mode 100644 src/components/CareAlertPill.tsx create mode 100644 src/components/DashboardSkeleton.tsx create mode 100644 src/components/ListSearchRow.tsx create mode 100644 src/components/OrderSummaryCard.tsx create mode 100644 src/components/OtpInputSlots.tsx create mode 100644 src/components/ProtectedRoute.tsx create mode 100644 src/components/QuickSupportActionCard.tsx create mode 100644 src/components/RecipientCareCard.tsx create mode 100644 src/components/RecipientListCard.tsx create mode 100644 src/components/SettingsRow.tsx create mode 100644 src/components/SocialAuthButton.tsx create mode 100644 src/contexts/AuthContext.tsx create mode 100644 src/database.types.ts create mode 100644 src/main.tsx create mode 100644 src/pages/ActivityPage.tsx create mode 100644 src/pages/AuthPage.tsx create mode 100644 src/pages/EditProfilePage.tsx create mode 100644 src/pages/ForgotPasswordPage.tsx create mode 100644 src/pages/Home.tsx create mode 100644 src/pages/HomePage.tsx create mode 100644 src/pages/NotificationsPage.tsx create mode 100644 src/pages/OrderDetailPage.tsx create mode 100644 src/pages/OrdersPage.tsx create mode 100644 src/pages/ProfilePage.tsx create mode 100644 src/pages/RecipientDetailPage.tsx create mode 100644 src/pages/RecipientFormPage.tsx create mode 100644 src/pages/RecipientsPage.tsx create mode 100644 src/pages/SetupProfilePage.tsx create mode 100644 src/pages/SupportFlowPage.tsx create mode 100644 src/pages/VerifyEmailPage.tsx create mode 100644 src/pages/VerifyResetPage.tsx create mode 100644 src/pages/VoucherDetailPage.tsx create mode 100644 src/styles/activity.css create mode 100644 src/styles/auth.css create mode 100644 src/styles/home.css create mode 100644 src/styles/profile.css create mode 100644 src/styles/recipients.css create mode 100644 src/styles/support.css create mode 100644 src/supabase.ts create mode 100644 src/test-globals.d.ts create mode 100644 src/theme/variables.css create mode 100644 src/utils/statusBar.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9fe4e25bca92fd658db823ac31413601edcf21ec GIT binary patch literal 6148 zcmeHKF;5#Y6n-X`G^ME&wjwdy)DaOOb-qSnVL((FK}tx1;G`rMHBF^#H+1M!SXmJ> zWB)>bLI(tbsz_{1Of3DL?OyCVuC0VrRh3_4e?GrwzwbWZons;r^+~TrR3)M^3ZplV z>H%XvmyFHno+Y4=a}4`?wPrUOj54vV!ztht`1cgxcehB(G^HJSOZNL)`1IZO4x&b* z(~mmnEg!t|P_d8qvpt1`wj zoMN#41`M>v%>ChM|L1d?cxUUC_1gL5d&Bqs7{i{;R(__?)lLDYfKwn*fWHqu3S*!# zRwzFmsN@j<=%HI0+Es1W!F8+F{0-di&_$9t`h t(new9xLBbaf=X}4vcX&N3lwSa`P={o8e@g%fw?~dQU+H!1^%i6KL9Er_AdYc literal 0 HcmV?d00001 diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..735c838d4696e33b0c0d0a6468287e898c2742df GIT binary patch literal 322822 zcmV((K;XY0iwFP!000001FXH<&b3LB9^@ScgNy+Q#3A}6Bo3IF$cV_u$eA-ha01*z z?9wjW-PP*qF|tNTzH`vC8et>1WSTW~RQ3Ivde^&h6Y=cg|NJLE|M*XT_0w(4#^%g_DSznWkE=g;r^@!$UV7xTMc ze){=0KmJnwkDq`1d%yht=ikj={rFdZH&)y6n9E0e@f_J_#S-)7rE#5?-B=}bHqXEfBQfF&ENf-zxU%` z{awx#LUL-a_bzR&rX|X`LrrF9z9n~xtYX!cr81VvM%J~@*2R}qi%%b;te_h&!>oLW zcbpP^xnDD9oGF&bqk4k&@jdt7{=|Rzcm9;;A6+YFk*<=n)VCAAKk|+JY0obc z%4@jic;4;ZwM5h2@HKh&ruNg__pLZJ#V#Z)m-ad}{gX3a{?Nul9{#Rzl zV}1Mlth-Jt*GakS>U-MJ%}XQi3sb(H7MBbkO=#Vd$7_qwj?_pKDW1OiW-HGY8-HXw zwl=e@XNm8X?|w&B=uAoOr#)-wwQryQ+#`f9IZx-@EStGUIL7xI&aibZJ<@e{>(JhA z(h@K4MEF_zYIq+mI%7k5774LCKZ*LBTfF)tu@OHewa0zhLxlYhfBXEz`&>?%IOVV6 zbal4KqMdX1T{n5(m%=7E|9Z(}?G?LxN&4Lub6@CInzzo4wRP%xDmjtST4|g5)muAF z>#SKKnxyewe7%34P`g<~dT3a_YeDPyIaSu-EGDueC}`4VL_Ob;)sdn3-da4D!gM@1 z?#MfL`dP`n`{4>n?^$9NVm4@831`baG~k(@HX}t?OFv^38L#YDwX3 z?@P&#v`+e##_z2cXXksgH|rtV7I$`Wk_IWz1I_Q{YnH~JEDDrjd#2o+n{d4hI z=VZ(}wYcBCyhyjbic4JkoV)61+_2b8$@>)f_Bd2`^7-wxpKqIIarn+Fz4^lI2&afp ztk;9G!(GLUNMl`Ew(!r_&%flD(%NOKmU-CA*6l<^!MkIY6bF-^Qdto(6LDU?<;<+k zeiz}rdft9Je7&tHd+#n$TpV|(dCk7g@7O60lGM`@^uDeiD!S`bDyio5Bj(-ABmL?w zUi0iJ`yzcj^5QHFr_2@PRT*>3q&Ci}VvVbZXZCVA$?MH3mneOvYoAM-ZnCNBOup*9 zzkdI9O+ww)zB|XG%B*Rx{Y3JvSGDXN^Op7SO1IyA1W)yv_`KCl-ShUPh_k4sB%EC* zW&0-XdwP25xq3YDon=?;9pP);^Y#5}pMAN~izwf#dG~ETI2~uzMjd+XdUa`(Pjj!X zHF5oA;3ElLKD6CqAFq1T7pt3j*?26Tz4mQpu1idtomakh3M+Pfy?!)2w_WGG!pcO| z&6FsbysL|7yNsq+FTHiVEA`sC%odk<)0%4SUf8k`b#`rkE9%G?_S?=Sn=Y&54BMMGd)u8-;}vw-+7o5- zh@wu@+5Sk69y~oOSJd^r$d^aubJC^$ef^;79xIHFM*Ci=`fvkiU0vIcu0Bt-R@5GB z;AY+^@pns0cb6R_kGJ{dO>AGQz7u&`XjRB6>%+?Ga&58DTF%-xx~_b^etf+r^`aKu znf6w;B5cxnAwlacL4CJfWpAAIu3q~cqkSt6?`_;TXm+j6YaPLlHVqT4YBwzsN#%OY zIKJ+#%M15M?A6~s|FyA9Ez^7%xxAGJ2e<9*?^tQMUOBv99|_O3-m{}P4+A&bebyGy z?}?o5Yq!+zkZaVP_aZ}1zjG?1_p;t82bW`~2z~whyW^$2%peKAk6xZ#bXPjQU!~RW zmTW6q`PSHU)>1Oxl21vh?%V0weyvJR30^#^45AF2Zp(5{tcbg^luoosK6W1WulH{? zPfB~Ik8R1aq$9H}&dA!*L!C-RYwl%_wY=yYvP*m3Tep`!Z(il+zIWHAby!AKQn7eq zjNX3eMR_V`on~#ja>VE5*Y!W{@w?aJBXMcYM7+77jXM9-?6L0G$@+AyP2zcS&VDl7 zb=i-(j{CTI+_&CtU2-x*7xpeKfCIkN4M$KbnVc<^Prd!?`u~MYj_K4j=!gGUrWE;7obC}**WOF<}~Gcq1F1< z-I8a2eg2$%lYK<*o_g-vGzWd+I!WQ<-qL%WxrcT8@g|~qWA_A+wjW;{_`*)21-gEg zzs*xVX=T&sv^3?t%Qr)1YZyx}k>)iOyTPBWSP`^wsn_iZeKLk-kbHI zPvpaww$~|JC$0il*;kFDZR1*gNBQmP^+-<6vyFDtMRxI>eG}WfH~Tlmb51IUUJ=qEK}YQb$`!tmmG@sT5DJ6yZk!zMd-f6 zgVzGU_WJVCtg*>~Idcy^JWQ zFNd>zdUG@00SMIXNV}XJQSIVGD|*$)+>9(-UvcfkEZ=2>zODWBJ!X+iL0{MZq?ECP zQF`sSys7~>tXyWf=XEn+5D^x6*{CsxXd6V5NZ<}7# zbI!c2eQBqkKKr6I0oZUB){DnuxhK|n_qE*ZkF%A%*7x|~zE{#>3(f9!HLAWFWhfBJ z_RJb~PVeoZ`|%mlw<$93Q1S)#=+{XLVD+A4L#H3M-$-4){Pq=_m)@%71u#)p7MZ>G zHU8W|v*YZmdr9(%t$>?VoYk)Rn(}pdg>BpdiguwQ*EOkndZ{9hEMi6%(K~Rre!7$4 zvNxfzS?<>0lW0{b@`~2Eo^0~R7?0ooZsyPa`A@(4)sKHzzxwIV|F>WM^6&jgOX>g& z_ljdRa;}aFN4!{(boHT(ujJ~NXaW2z;}O2IRtYN0c-kvhR&>ef{q&kuh|%pgo8)DA zsb!qk<7BbD>Vj_It6v{UY?|Hg^3nw&rc;8W$5$>MRH+8&*52wS7riw5@VX)A5m4Uq zd|mV0+rcwUrMpM&ex5S>_T;8nt(!wo3-Y}t=ZLr1`g%*#m`%7aAdemtlr1MI0jw#7 z-q^f{DylixI#$_ieXl;wTE4U26~Zywef*>+7>qrw%b(x5iq8oErZ^`8IL2aqKnLdQ zD{YdKu;hCy_UVh9y1V1#C|&cXF;kgxcb88@&hC8}?ZdoT>H7#ir>X%j=i6dV)y(}4 zDYgnp_7$)LQs*@RzFAz0Exs=4?hUH8Jz$99#4#1pve7MfdV`odZv9N(dBR#|kBLHU zQV*6EJ+x<3tLN%eW!+vO_dF9znL@Ku=N-cyVrw~vhgeU4-4Y8^_dEQ~jYF5ty-~p^ z&J>va-f<~c&Me+iXJl{o*L+E$Xz#PdKVOWWUQf<@uTIo91s*d4dU6ecY4ViK_arIR znBL3xj~uB#{=?t=-1BGu`#<}s{@IWJQ7wh zm+RCRFP;^VarmqRzTTQaGiRweiRk#=$yctYw_O_F6Ivd74#jGGw?#O;S~=Va-RIX0 zv+Z*8xpW9+6WA~gowGHX`zeo;Q|h4`eeXOwMYCdee?HxuJ`_?7y0Y&nknMc4uVwK& zv&2CTxKmIDiyhi0Ox{}>{B^@~>g;oH`Rmg2VMrIh&6MfoVxbHK@x(?Z}cR zE2rJ?3;JQz($;9A-Y}gj_p({~GBn)l_FMcsV#_7)x#ud|*9|jpgfceN(3Z;sw}f>% z<*p>grJEB#YTv9Q{$3d=pL5$9hi2CTzSNE0-3E?HJOc3yRD z)!6zq;h~ncWWNt#zsm1KsomAheEaCkoO{x)56Q80C(pZ-o?)4wm{P8vd`;$j?5uaj z*P*VE>^yRxyF;U(EV|cvmnLQx?aufk1;?M*@YggB>UQt8mUTWNhd0{+7A+g_c4cP6 z%}0l;tLXKvp^~=QOf3=Cv<~GQr+zlJRG-wCq?Knac1haX4n_6z6-v9(|LExyzyIl9 z%%A=4uYdF7KmMFe|IdH_X=l^ba(oAT9`Wpp_ZK2#(OBiel_7qf0T{J-<-CpU)V{`f zp-Yg(dUm7i@+U@2V;2Nbt_r7Nc>tK*PRK}Z9|$sd?-%rSF{?S)-HaN@`B3Qk^gYM# zt8wZ?(Z|P_0Ly_5+jUT&6xp)Z={EE7%r)}2^~52;mG`a=v#IsFOV7KTQFig_wQ-p? z;kA5y^9gGX+nEi(0tye7c)a!P2>@IgNp|1T4z%0sPW#l71D@*ozT8mOh=jJSWj>Gd zl2NK(^vv(<7l$}EXF@GGpcJZmng?=HF0MX=eots&7RLNffl~P(yL%oFOBL!GbTWlXl8omaDZMi=Ib5!O~ zaB&@bhw3?<8J$)`9kM2Xxwe*6*FDxRJIHa#o*Q-ZJQwUzT>@IEE&@kuKD(4bv0!i2ahmk-s@6+ zN_(BRl~1mEd19Xh+-`@=12-{!Wy&hm$E>~pG0d=K}`U61THS7au>Z*D2f;1n6R@)cI>aupX7J= zY|~`~Z6Ldyd0MYVMWSPSpaOD!nviBeHWy$w1bhbprXxX5vyz{#(bBr!?xUyIahIEl zt(A6TCvMOcAT>ce->+-CoGPPyI$rMVTS$02&hlJrkTRK_yi8LujW&+XRCsSy_+YKIZ><%t&+-jwcs1a@pz&eFA2;-q)NMv_ zFPd3T(ar}vbH>bSLpK(E)A;-IpTo%R+79?JWJRaNQ36+*!A&pxbse&*dmf)2$LVxH z^^IO9-~oOv$$9)*jBnRQtrywH%I^B~Xjq73Gs@RuVy!zpf22106Uj6)H1#KF0)!=< zZD7&#EdmScv^mcq$1P0`PL(b&vYmo1H1)-_-YEzeTjn{Xh3q@4)>Z(suBZBVDbt=D zd5p~r*z^1QmzA+TUlW}-W?g_4m!B68kl4z!BikoNct1N`n$bQ)N@BE#m+}(vRgWc6 z)`e%E2M)AN76=AjEkG(E;LQbKgmccN`!#YQ>Z?5B=99T9YhtMfD+)>|MDRbdXE@nU zHyC+nyl~F4=F+p)+eG3xUJ2A&0q8hma_b#lq31mH1H=Xu3H9CTMh(T|_hOKdH!FDE zV&mCQRql&?C9DK(;N`x&HT@o%Wd$Trit0d3nJ+JBN;*p}6bJ%93>2Uo%_baB&m!+6 z%0oJ8m5*`r)vFcf>-B$7sezvX`sp=&ER)treAnQf+%nQ47Oi^wy$!Lf(h_nAcI!Tk zJR}!gfQA6ECTJfMrIf}+b<%BVUA8CaLmVz>d!KzTrY;DlYXZ!Z?fu@0E#hZ&F^7*e z-K8IG^vNre4>a0Kf-W75w;UnLJ*G_?01JEhC82zFM)+m5hu=;UEmn^_CIVUW>i8b{ zs^}rYIW1?VB^la!KLgpvS(^+;)T`aqXQ7Xr)2pz}FO_Y>Yo}gxS`AnB&C;z*Y@k#PxxFUK85IxnJd*9j>jk4_QkVC7)$2#JTYHQwiBC4_w1ZYX zq;K0Us{`_3LD49~5b|INt~3hU`8}B_Z+UF_v?vhE?1&9HBk0O3*VLtuo`;Q|*~d)k z;_5{O$GeSY%k@ZKbM8ycdJX@CE?cGm9CwvJMqPBSSubXdITC%8{>b|I@sED`<*u$Jp6`YV zu`KEh@mZ(r_EM4+DzoSKiFKjgKg)ghO*$7a_k>)31J}(G@HB3-<6iv1GnMEzWqe-% zS-iFd8l+ZNKj6r}=Et8=6+x-4uUc{|+Va;8pi%eA4ao$%+XW8Ho9E^Aoa+T^6UjpL zYQh{Gd)bbOvwfvJaRmo)t?aNVL~V_F^tUY2m;*>~NE5oZ5iwEVVZ?_dpAA|Cm4M z$3OhtPrv?MydVGBpZ`Vw^vm!6Vt)BG7@a@=^`E-8f%+#D({l}_cNVAUe3}RE2i?Nm z2O{iaaGb5RYYun&r+}(`dBJaU{CVtmKZ1COO>FX5b#xqM8wfFM_?$zXOIi*?1oQpg zSmk_=GfP}sv*Hk)Sr0|WrY^_@VS*&{EeHlQ)>sfld~Vb5+WHF>aVZs$R{@z`+}a7KW+o}Ahx~0bg19(<-Eh3W*msj?e~FD z?^DsYci?)c8VG#hnpzij3_A8;_@L!m7P!Y}ED!kiz&m$2-hAEezcw_Sbzi}$V^|DIJm0<6u3P89gXy_p!UW`XuTfGeWI(b{ z7j1NT{MPqyT^^1PZ_(DZ6;|^S>c6_hhd5a<}pdNyjrr#<(Px}Iovk$+&qWOgD zzA#fjbi+Dl_%2-!nuK?m@R5aYeQ>eaX0+xQntE>5XFDY!^0BcBI8E0)FhXCqo5X%& zyaY_CZZLjEg#`r-Jc@_&dOsUimbYG4zb*g(9$(e-yzK+8TG zAw2-_V0=Agpomau<|vwk8R4c){L)EX>3+=BkKe!tkgWu@)OFdt3X+WU5E^ldwTWo` zF)HvM{xZM*7xTLx{}?pjAO8JME?FT0zqD{psOuTB(9^u(?7*J>C@|YpLeuv;%lu5= z(g3dgmO6~&UH9Ipu6z(h>I{qkjat1ov~0si-uAT>!YK_H0(c$%UXphXG1mOTqB$@X zI4}tg0|jn!SwDc+fwV5SwOxbIW#v^F0Dv3tVn2OqCyS3uPn3{h-8~fmU*1sVW$3}B zfeJ)>!TSC+i^FGsdc*Cwa;~ARLu*rDK`gDFFl-P_S?^XZpu7?Hu1Bie)?u5`yfKVh z=fJ-e-n9H+y)MdSLNT^a2H`7yPnN)P{r(mdBIcCyI)mXI6+uVFh28nQ%^pf z&jCsE&JJvSsKp%h_9ELOaJKD_%qVne=98Sa;10z5Zy2R+HpxwteMRhRulf4<{Rns8 zx610Nvck&2as`@Y;tT$!_v_tDyf*HPnq%V!I#1~>v}LUzl-mygQZKh0Uk1sBY!nf2 z_ROVH-Ci&k!Xa=15~r`YTJ(rq=}<1zot3`wxxdCLK2U_Hw=tu^ zuIJpoHdq2?@b)mR(ek)`oY!+W%}GEtNWK;{7=R3jzD6PCb_u>{fBQT-uupT!Tp}@J6NeXMq4cC?GYxR}z&Ns#aM_kSJ1gd?9Zy8PH-nr!NX_^-yHa%IZ7S|hsEb7`5 zy#SY2#5pisJcb8$<7ir80n^N@zlHM?C<)12-%qx5?&DXlksV$-lwu8`Z?*?m?=3Pg zsGyIat@aMo9#U9_ZgV3q%oQ85;oN+fZP5i!-m@SFs`gzCFKzhu`!_THAYF&omF^qh z3dpFy>TF2OwwG0LcpD0X#QHzuS~L3^7$py0Yl}WP+I@50ds zne@CzT!+6#@o1msJZ_Xdz$rky0|s`bSohitI>U?Cy|UPM8WaatE}RjcSQ^!VX|aur zmrJiMJf9sIpL(rOR_9jK{w2mn zgV14fy}BB^Vz=Yy3t;a|ffN(?mdoGAIh_QLkbCxn6}$~dz#?EWHw3s)XD*nibuFlx zRrsE;0>?=JnXl1_BVVt7Wlg+s5bNOwaTB}myLqRH$99mvb)iowt!2b9a!&IQ${M(1 zl`PodA-yA|uGo>$r>atOWBCr@pTr7W-NApr8rpF=2g(6l{m% z+KlF~xTJeK1in`5Fj8z&^3aWX(BTey<$zgdp2tuBCtt z8=B1(P_-dKpoCkw^YVJg*wKCcetrHQU?mLZ@)N|OLMZqbaXn6Je~hpg&v(y zW#|#2F=BdOs332?6fpHKpkjnmaIY4nq@l%LL;N zP`5HfhX!`m^!rEzR>U4HP(!xGQQCfjO8BY(gcm@*$zw;6VGt}`NYM~_eD`^?ue{hK zz+-aDE7Eo0+ERwxIRz}gLgkn;YUGSoqi81le!qY3Ge5au_Q7#|PGCdeK)UNrWt6Dx zK}rl{nI;5l{tR7Nr!S=}dfPU>MBKNzSl8)%m-z-P?|dgKcS2A^kgQR#MWbAw_r1b* zXg6N)Iz+K;Nr|qrKqsva__QkblGQ7%RfQ)nLM*W4kY(ZfyoL0GrN&e5Hb_<)Nf0)U zv>$W7MKLFlU$NBW!3oC@6n=evGF24_RLAp$yxWQ`a3Ss556MDzyvnP>frJEbp7!DL zcUH{qHdI$s#4n;0{50&r4254kBnPA_7y|BAY~_{ zn?MG3{7^H}bTU&sp@fVJs7`x{g~-|YxA6RH(!$X;ZQr$!r;#=0kQOsXQ*~gS(t|tA zZ5L!a2n%?0+qY-kw0Cwl^g@0)PNXzP5+XlHXK}Ann{{rVi+j=Z%nLzR{q^~Yw}`%^ zbb~2nZfw3f9kIhvkR3gHOUVI1uGhBht4TCQw4O}WfK(e=ih~_dH;&t(HNa)i@_RBB z^iFQQ9lVOoARYWZlE}A7zc6I4DXcxZPLQr_anY1hGi`J?L_|oJ+jq+xF-zNTclHqU zetEGoBaH8Xe}dk~L0}7*)mbs;VF$Oxn?o*F{37n|Yg%SEoY0pMaRgyT#iIPQx6clT z>pa~83pXm!w;o5uI68T4H55sI2=Rf+PwPPib+kSV$a7#8>Eh-V7Y7y}7(W2X2#Ef# z*MCRBR&xpgCHZOn?sb@2k-0TZuaHUSDnoPh`pt#H0rbW_Bzvt5dH{80LcWVHhG%rg zh`kZIv0fs1;{?14iT3VR=YUN7cRc@(|LC_r|ML5ve)G%k<5$1>@t?zn_Fw(^U;GKx{7omfx8m zOE)>>IWe9hCko9DQoJ^5zoJaOBkRRO0v5`n*2Vb}=I7I7xdd4?cO3rfukUDr2kyyb zuLd>uv_8QPn{r_6lT~QR1g$S56LAW5~h=03!=n zLA~*LW(zS4Qm_ls*F6H>1TUrQSLCgMMpw^5Sxj|eRvTNBu0yr?& zCWNH5mmCl$g6^&k6I`q1j;rqC;J8_kWGxU|EfWGK&e!V)DGZheygjM_LgT1(TNh$K z_|#6`k29cP|Nl?x~Wkre@2m**-vVU-I%r(D)!X;+?4X$t{9S3=z>`P9s*&J)^}!7dS#sWWdUoqGku;!U>l0HmL2i8q$E~a*Teatt zkL7HL_H2UgE7s_H+&3=6I*exUds)a^x;MvA%ieN`I2UnNqc*y5)%CjM0Bl$gq9p=9Jz~oBo1Q$<2TO0A#=gIM4_ABdx_v4UeCMMbDLOw0D0Z32qr%3f&nzh_o24R)`BQO zb}B4`l!>UwzlHa|9`zi6C2xsZuQ)4^+zCg)WEy?S1nE$CqTubWcV4p29L|r%uronb zB3;cMuYnkr6Ivt`w9SERypNq9&I$Db+)kg>`n6KflIt1UCUT0+r?dGZl*3)%ExdPq zWV*0UA_VZ@_~)hfy*Zj2fQra7-$<}|RcaCErc+4VwcrhZap0GOaqEf#1%~=RhhEbwn3xZ4JR2{mmJ9`Vzm)v&p)xrVwAhn50F?D!gS@@8$|O2;`8nzrJe=7W66GqcEqDf9C6-E__!Sg(>?brjeT(! zK3ja}nryZgFe(y3>Fm{TLh*r%6R5?T@10JMk(zXn@qO+c7)-iIKU_Klz(%TLMaWsi zv9#}brGX+t{gY;qy>b0H6X0z>&|-v>96lTk>f8Y@qTr5)ESun=w_vY*->-iMPXsxN z@IDbMVDGDF1Xsg_jwH3Gh*ou^t12R&U!Fi1R;P|ZO816w4)Vv7 z0JhIp#i<}qot|Z`{b|#?@GA_srtg-*aSZ8w)^lCS+$!N{P$qgg*@W zQTU9bHa=J%2&7Or6l}xE8;s>e3%p^vS0exwyWquzrG=FyRn*Tsm}zCZuZYx8&)_&7ouFB*Q>4PZ!J!fk$c^xLRlpmU(S z+Y-UG@>mdGWaZ+-Wf>sG;iTJ$%R212k<#lOaed?o+MK;nZXucW`}%+H4fb4>50p&C zH862#Cn>Aw4OT>I62f0$-}8^NbQ;Og z;d#(d#XkL#{A-O6>{9Y>ZF+hf3Hq?X5F=OE7ch&xMU`NmVZ=GW)75fY|3Jk!vj3E3 z4X3{Xdq>Ne7NyHkdUpr1#%J|~Hb0SjR|qxRNDcV<{YTI(K><|xkbt@2{DHMrUqX0W zd6Eg5+$c#k%P~yK@Vk<4Aep^=oy}sYZ!Hn}K-|1eZ00UHbZ))p4&mA6g3Tilg|+#6 zr_iI!9fXHpG`SIlX5ercdY4Ey(!uW^+J z{pNi}`^~G$>-!8CkUi<}@dNw)zJHW#oc*Bg&SMSbW~2rr#~#`b$zfoH)S>)?M4;fj zy2nqoS*+YQ)+&m38Y3gNH+rsp*6~G{PJqBxzlEV60N{6$C?WaODZlR@uiVv$hZICu zTpi~ZA1qYgFyvHHgP;jy+fWk5h!`=;K>%{`*vdLZ$fJw=I370>!e#oRleXRGt=an% zBLd(3wu3edUbgQu-hAOoeR;&g&aG%9Gb2;t7DU|Q@XSB}ofSA)5M|n!RzPk^`N$!p zXL*M#48jSxlVPe9*>+z>JmHWe65KR66AI>R#B9vh91U>i3!}664U9lSFrX#hr>5}7 zYj*~`PTf4nCy=)~fXYqxGw&1(jzOhegaq!hn?GC*1cJi$$d>S4CeHZK8b!AeTnuCX z_Zq)WWel=d@WM5Zfv|gmwwgf+ZGth13QN7(Xd!Gd8&|yzUSTMYZ~`C zF_p*Ab=Vc%7hgYbohAYjhq&eUJx4(Oc+a2;8V!13^aeRR3r_7rNT5K}mO<^5*H_pe zk!};FS3N5#_6g%g0!YvbmkXu)H8s}ag$>kcB#GD%o@7J;N%oq%#OgvQQy6Ezty#96EtujiYlgALnD5CV0dDi1hov`0ek0{{7E?_N$+x=XZbh zPvQ1!!}7Z?&L1gpS}rA%G){;C=qS z{B~->&4pBon~k{uVe1_vYMh47u4BD{O$|s_!65=!MT;r~{qm7tf+zhTe8(Aq(}n?8 zi2p68LQ{cUP0&>rUou!=6vo@XzW(kpl25McXM~*bGTG$eI4|YAz^Q|L84NyvU}5s} z*pYbJTQK}?V8VFkZ{ykPf+Y2FZj`OB5!ID)k7j&^aA?Mz#Zmj;HTCBIO;P=qAByV# z{1NO{3Qn6VAvph zLHXPcZ@hn*DS8-Q0%`arATzQ;l=s1S2;Aa=c`s*>I4uX#PS|kcnNSLvl8y7!zCPtL zkD`gcz0Q8?bIXSfR4mBcLmnjtzoqf1iwrWoruQw_2-MzqcrD}@Kp6wtFB(v)C??}5 z$m?Awi4m;U^PgA#Q)4M}vfqR}MiTv|x8#u}bLs@9GQf>zj`|+w>FmT5$BT zSUf>yM@YWx_lTxy!&s3=ECDLXR-6V9!1N&LF^+W&#wC`{>R#DjE5Y)5Z@GY8lHC^E zh(OnY6@k8KyTA<~+`+WKODYw^mkaH)UicbUAmXc`ol(*`3ll8}XeGSdgAe~+$w~=< z&P3ThA^ykS*S9>-;fE{@A0%7w^ONJR!#8MHq`K~SKv|0K!Z1C8)a`tY{~xY!likR6H?B+rS9H2kKZqwaby z_1P~4^vg2*ZM%?P*3hqS&Pm!8)jHZl{XDzBsQg90}dcCcbePZh^l;mVNGD z_vM|&J0GEQTno<0MhjmjoK~cRoyP3IQo3p+^7Z{i3o}$Urc~7yc*B*tv#73w9L4xl zV-=s;$m)V&Etb3Nsd|`%a3J8hs|(Ut#ehd>mjbrCx(|TxlHQE%l{#yn#sl$dt*^em zza)u)tA4x>w}T+N^V8zcepQ6iOF!e-mAteFqPskO5DbA6b#~Nz+zO1OcP{tVif2fY zhJ_H((~U8#Q0*o|>cgk(A>!<7CEmKZ2?r;pF31$7mOKZ_y--`?qCxN?Yce+6JqP1_ z2g&2TlL%#V<&bwnfLvoC&(!x=2k5lVvh4ipCEn;kICf34(q)RAsDt#hIL zQqeGhXL9q#Sf@+UXMD?hl}Jd}xpqD>o2Q0Lm7lfRi_`It&a;}#3WB`Ae3XkRfX-b< z1h>he!i*H|v%k+nbU55*Ho>WdY!CElh%FWe2!@=QKLiT|VkWT{W)AE%k1%R+6^1ES zt`^Kl+*t&z)LWRCyXnPxK=w zz79x0)*+F|QuMz_hkb~kS#XIXn&kkSw{&0wuo6W9#>eOb%&IPL9O4N4w7UxF7MK(V zQw14gBnZUzt4k41g5I`y8gUtkZuOU77|y5J?i)oxDEH*t%{fo%o+2o%o9J$g#K8&MRxC@a;j(EUl!IiA9WBK)BEG|AAG$ZUx~%t!ugo2m ztOn|nE)`?gd+qs5q*~wS$wCR$3OyI+Br?v>;_pq+Y$4$tvWvTl68Jha%crss^U)=g zYaZ|OneKiO8=G<=Nc(u&D_b$X-A=L~smMRE=@+vhmP5|`{UnV-{@%Ng6}3T72Uy#3ri7EFcd+>`@X^YQj;6cpZLz-QZ?JU&%Nw z9#W_3dnNEjvAdW9@fV7mkjZ!8%3Qiriwp7zM9Qc?3`Ii5(gVW-UpKO4dEXt6Ag#_; z&oo58y~K=j*=g4pb*FCrL|!5ocRp#xvF-ce&byKCmR9Ri)t|Kn7du=xQ%MEYdOMs@ zh|E=7I=-l{9KXJMpgYBETLevB%*;lVw88MpMXzqTXaokg-d%5#ojLn6GMr|u`*r=l zkd|2ypU9iXnCo_5pnt5kTeA8yZE^o0Oy&>iI1=fGP)S4&3*|OUs@%L8RYV92r=LO3w^7Bl0L9n**3r(I}3Esenmb{_A)6_p6mIWTpno-gv~ z0=fOt)#R-Ef3fy9y_zP;c^(XN^g+v_ZNP@Nu8lVyD_h>NV?Xd}aW> zW0!;sg>+@cvQq4D7o(sH@A*KctOrYZ#{lb7=V}m9Bl+N4zd&9G4FFv=8$91dT|@>E zs$w6XKbb98xNkNXedy3wIZFiz19d3LD0BImR3hlB!$gj8kW=JX(t4HyyO=VqaySB0 zNu-PSUOnFs#(KA0PzlWPLI*AKy6@*(TI-&3i})N`>g|idZj)BvOwI$dwvF25cI;Jg z)?3JqDXXZ>3VFZ5axlK6mciALIq3pdxn;pIiVpZnM{%kxV=q5;Ex7T2-o&rgS1*k8 zpY8evTu`IwL=k+wpE}DvnZvea8NK&i=kS{2O31p)UTq)BND-UA3K zm$hr&IS|RE#@M&r{P_79Hu_LaXdh*<{nHKL4A%XE-G<>4(RMvoih|2Om_ErVb7vNd zR#6$~oAGEUwbBempEebK*t+W6-fC^Kw_w>N-2`*ZB@2G*C}B04GAkicR^QOy41{G~ ze?qwNlrO>sL-70GKN8}@N>qXI}0^afP%QdAo%#}XSHjPrAxI-9*1b=*k={6PGU$R z?)77PM>9S{wO;|7XFFbs2mqDpf5*u+oG`~9w5 z^4HGK>sGBYi7c)*DmV3|<%A?HFpcK2k*}wHw z5k8N@$D|%Ht;%Aqz6U$GuTF(`tex}jmi^o7wk#Y%g^r!4hz~vcH*mEX{wV_+zoTj4 z`*rt9ywB2wrlSP|(794ASO`3B?t)~Lvw@5Es@UX-tBp$*3cWH&iR zcNpP$=YMd`imkRs;M%pN8_j4Ncdp%bh0$tw7usu>B@d{L1)SBF3m2JZ99PV<{qy^; zOCf}8!&Hw_N-{>6hqN;2g*7b%x6S5?vZR*6kG*bcSjS>kYXk3Gh{xCgnIsF4a>L+{C!F4xuqF@Poc zlIt&wRw_@I-Yqk%-l^T@JP+J9;?&aWjF`~8-qL1|a+E(xjU~t8V zRe?^I%S01JCyAlGXQM#YDom4Is__d>O|GpeM4NlPl4H%Op#MwVt2GSn*Ynz3`DrphAYhnwr5#gPpN)%=iRkF?$lU_9eO3yd5hsP`gkgu zAf9riB$$V66grU14d#e|JP1$gCZ2WbDa|0e*WFj`v*MITOEC{8{}ndvMyvwhH}QPL zg_W>&cNF3+n12wDJd?|D_Rsk^fy@+S?=81)W3+{k0jlUc{41i`!mUN4-O3^rKvvcZ z%+d>ZK5e!lVXe)=wQ>lV**SGEoKxV8`?}}_Vl!&Qqzbiq$sim*Jx|gZ2LYEmiDbwYo>YACw z&N0M$he7c9RJ5GdkGF=2a}NcAckRqNZD<+SbI}&AE5|s%Xgc)ldB*TMIx8HcXo{j1 z=eT%*&(!+)@~~>OA$^R2qosy{w4kc`@l$DYVqB6t^}y)0)7erV?9v?$MWJ=W z){abITU4cqX{&NQ7j0|-I-3qwV3jDv%qeBsDX@|&5geayCwtsOBFmW?{qlbM{8qNk z$-$%?BMmF9>1&*C{O4`ZVOln%t+UGEt02|bO2y2=dt>@0;lqbaC^GWKaJl@xo1S8A z3OxA6hL!f_40cgUz9nuOAAkOHZy(&SW;)Lga580|iHW`USkFTaNup{ZN5mAM^|lgV zQ1II(b=;v{!*!9I7<{deKyr?41^yTxoBj3y0`cICKG~Ms@p&pmqr{q_#RFYixo>eA zApNDv?JRzcHBpqaz1&Kp&TOGV@|#sP$C*Bso}ZX8E00-ul(=dF&medg`FkkecPK3XhH zKDsXl)zcBZpEhgB9V2N5W6W5F^Ue1i>H0mC$(MiiET=E8S17Q#H2b_||4 zxRloRcv#kf(0&3UBx&*a>VPq4jMku2ovu^X7-a&oMi!7*<omzpfg7IbhOchX5_||;{*cWt68X-y zwVzY?f7|jxTXg{FzxBntu3sAfENa{uy}e`z(bo}0+QsU2YIjI0wSHbY8e;3NJaZX2 zw|;;m_rPHsS7v&!{P1D49A%Vx>ZbKt2=O)}C+gn#t2~Zi-`Yp$EK^8hupt2iIdFw< zL$+*GnSg!^P0x=HPU68JefX)=y~~j;zUCm3kV3~hVpV->*+H;zctImM!PjfTUq;-# z=R`xar7j-NRWZR6Nn3vVzH1C^D|%^5>lzAQ0oGdo{NM`VxU;rlQchg2;)AsuYvuK; z*4tbmJ4UHXucdm>%ChtKrd6L1ug zAjZ}FUFw=x8XF(#K~S`}E6aItoCe+QZgSTtD|)uhuKZlf5#3_$ot;tIpjrn{)e|)W|XgsE`&K><6*&TmSW3~~{)3ibHs*A2U$>p4aQ+xG(8CO~? zh$uWs`QN!w?X5)l!38tb`oh}1joM0FJ#DqocH5tS{q5GQ<$`|*Bmo;o`K;|gn};_( zyuF;nY5NjW1TRy)u{Do4z8hRbuQJrUr=Rt0&^{e9A5f-xR|=G=^Xdt z0kL>PN4rG_>bXhyxOs(ObYij!SOw-k`2=m%P8rVQKdx!5wl<^R=sZHBkrO$DU@O|& zSfE{o8tZeb7gB)*Q?#{8=9Ih2#|v^zBJ+@yRT+W-*8A4RNE!mWYRhrf5EAZe)VO2g zjfmS}l-(*#z%{Sskx_fkVpDgwl*8>OAQ*3*T72y4?D^YTg`zn;`|kidK*YcNM*r8p zd_7T%C}eyD z2dq@5+lBhdXFdDOfn2tzNIa8f zH#`M>^|6|B2=wT*N3}k$PI06hA4l1@9U|p@jS>YuJ$#1H8(FY zI@oCBVZ;@58$9o3(ne{nYv%B5WhSAcL1R~?l)2n*8_Nr*V+L8Epg)c>=t9(h1h8m3 zd}Qd<5FC_1d(nuvq;Ub?i@wfYr`{cYj5U_e%*k((#x+~z3JDUQ3qIvOC7dx%t#wv1 z^b5R98Nx#@s(c=$wcM3)wxSuap3?%JyS3&s7auM->mz47vnI6&c?F#69C_P5k|$)% zHIlh~TQ-^Tk8jzlbNi@^u}EokEs>MjX)eA0>ea``Q6xoWeTtnUdUWjB^7gf#2C1Gx z713~<)j~?3B9=)bT7>A5Ov()P@DC&!>Ga9vj{@x17l$16TD!GdX>ahI? z(^N~>6UF7ujJ#{Wt%P^pbO9@wpAWsydh|9zMpqdQYu|LTUcct3-+I|R58O+oWows! zUB2{!nq^2ST*`*#0R=ObvuZCB0IZ7D=(H6^ZOlum(i^6q3Id_z=fKvrNv4I%`}D9} zzHu~iYtq~xVF)Cpw_RI|iUQG!IU)x#4e{6mceg?|U}3OOo5gz6&<5D`?eU0~$85M= zm)I<2QSpq=U4hTcfuc<Ts1qqGy~2M&(Xzd|H;;+F||580!*n?@OZ85IgwYE`L)~ z8;KCj*REV^z0TF%^(lQ9;lt{d zpoV5?yz>I4OQGErKAp$rDTCGJsmvZHcce{jHcGCoW_;<+?{C}Ha@`Rb(O_)4uy@cg zXO1#}W1r7~n_Vc*C-TeIQ4o{w&IS@|O*g5>q68rF)5p|-X#R03G?-(TS_wBp z*ItTn9L%+4){^xQG=~bZdZEvFrRM9|(oy&vn8JD+c4@D&pu1@Ff;$yjz&t56V|Bia zbsAEEslf7+txC#y}cCr^q175zB_kL^&Z1jnQf3`D+|`8RPSf>SisRf{`{;~ zbd?-idcs7+_+``%kIt$9imI@_$~BQ3hU|4l8vb^E{?zTKLKT%&>LhJNQjk)!`QS~^ zOqGc}oCjcdTvavWUJ3SzQZ4 z4P!ESCjJSDqU0~${nxe33BJ2E3-4z!y7vW zJJQ`Ggu(A2=fC)j-VI@mcz-+hcM@R=*^l@0o+&+Wu@<$J)OUkiMP zcp5I|c-)rp!QN6XKM)8~1>XFbt-c=D6{3%M*_+hI_fX!{1*|f4yl8_~!|1K{(5jOT z81NI_{QMw>@w=-)UhZlBap+~AGP{V<(B)%KH_k9O^t;;G&gX-AlQsaRz{W)jFNr$~ z5={2`W!faUk-nN;LbF5HCc+a@Qja^*fYBSKms&5bSSQ@=?c?*mbOb50BWQ1>V1hhQ zqi0*@x8TSrjtpUuQ7(3fi}4=n(EE@?aS|On*X%3exR;T1Z*&&)j>jGsdeaiWD|B1< zDq|=kFSqYaihheI)fm9G$C%n?FwZ$=jq&DottDe zYxDS_%LpFYaty{?7wI_tGzr9j&o#c}FvthS=^xMUDy-15)~c1hHpb!Z4s)Q&T^o7B z8ld7&N5Tl5+-n{>jAdWFq&sCDtp}Bi9SC_%Ig=NzzXv>>y(2ZP|6|m;id5CnX_kMk zL3j|Df{AJ|aX)>k8;|i`03jtUR+7JayQD$Cran|Q5qU3MJI{c&G<8z{oqfzkt0&eR zyq3?bDzHVUUq`7VhDw|}1z9$amrgym%5sd6NRb)Br}wP8dcanZaF+|cV)aCi zJC-?xV3K&Oh_quno9yyAECMgz4rq=2(6Bfr*fPYRqG_nhAovlTG|6~JI|?XZto6NFDbQ(3*5kFGtX;Vv#eR8Ic8t# zbg-H6A1*m@WDoRS2($JHz?fsyV!3-SWa;b2Z?&;UYZR;RWr%FvHP&hhhPz0P!ptEp zArni%m_3)}g9ZanzoB?50vzO?r5_0r@^#1>9Wjdaq$1W8 z;<}na?dIR#A4CE@*ixo!gy!^0Wj@Q`r&x_l5U)f40}vI~OR=SiUSOhob)_CrXW{~Az$Oa7 ziBnr4Uzf-HcJPl3NE?1!UTs%AWK?>4y}fyb-Ntcx0qTR6`thma9H74?Wg)t6cln)< zf>A@uY6K}3_G-HLoQMjJMc%{IX@fY1AhJ{34=XU$#Zqu@XD?17M^0%;jzo$Z0Dq$} zwVNIwn4hZxErW!Vm0jCbju$r)j5urTvr92M?Ves6ytiTV2Aigqr`RaI*COc%>K)X%kSdXk9uJc1H-8I21+oTey>$A&C;S4stL3XRfDX5Yf%|Qy_)IApC2Si(HWm~$pS}`(Ze0F zh>FTb z-JmJgkuddwjVN5@0$5k@>4P9c9`=&b%?ieCPf9<)8i0 zU&`)({I>1hzT?N=fBVmVbqG>VCGx;$8-UNzU?@j7eCug#uqNB@`n71aB~8x~7oz4a z6tXuBk)i19y879%IZ}vZJ;hA9I#6_(t(t)=hz&h=ltB{cb4oc74c=DETwLo+FvZB% ztrcTGdidCrkM9g*0L}0|+>MD4u2?MryY6g!FHUAV7sl(OC-)Lro|xErPB01$8|rkc zNUv#}eSAI3o~RoyjQidq5@OV;jSxB0|JeDkBEIg%&VsY8X`EGk_y8j%xDd}Koa*l$ zgBK#5Lj=8s2@g!0PeHuA58$}HDh#3ay{5&N-~Gq0LBN8~*89g__lf$(kg`S7-m!t6 z)lW0M#lC@|ykM;YOuPdSFlve$a)ts!kv0uwO|^D;Bn&^=FP!b2Gl1Qof149F&GEsL zLulCIqv^1kK7Qf3JdtJ&e#}Rv=(6NrFcG*BF^P5#;U$Z zriFtrC2+7C3a(1O{W>q3$ipxKeM_F`a}Xx9iXEXltDRGr);xXj>1Tl*l6_S^|BbMP zWYu2Wy`QDl?v^+t?XGg?9g?@*Mjv@-s%p;ry4Dsgh;J{Y*>Dl-@BpJcUt#m(jBZkMW!nljCe}Bq6N4 zJUKa$2FzuY!+VdM6wOYW%TxIPO;Rh-3`T%?g;wcBtwA=cT>ebgI13#9UAw=*aTcjm zSifgO`SL$+{~AC3@KgN$&wst&|DFHwk3anMAHMvn`@`2?{tbW4^K1W}w>*_*C0mfU zl<1ALHpQ@W7D-uQT-jzG>1FTRz|p958+u6U781gfy!6Vx5l`J#>S{SuoC$9{3`v6z zf|a53IcPvhE3(Fq-zVzhthq9>!d5IXkI&%=8$FmoIw!kqj0lMEwY6H)#%m}=s?lrW zf>OAYM4RTvOYWrn`N+()!)F6#y7JRMt-kX1|EGUJD`!pp+h46ssvur75=D0JL`IzSiEe6>a74r7B)`3+=nTVAQ&cu{U=JZx-3G%Oz z*JRJp&FnW=(hW5qEN_x%)k(7O3rh2nm`jyZh$TL0>o0@5vdfVt5FN9OHM#_9#%N9h zHv4R4JL#I5F7 zo2+tq%vLvk8@pH|*6sU14(_$;JEHXDa@G~-v1zR4jI__?E3F|p?h*x< zA(Q-U)-Gyp_-`0J9dH}{y1hwz&Ux6B*~PEj^IT|xD<`X$#la2~MIry$RA!xxXU4f7 zrw44@_l1HD?c)Isg53{a^d<$i@3%`t<1RR^ocFvxrds+SXtk10-yHP{r~&-iygmw> z?Tc~C#mI^GI&-hhU90uYi)Y;XISBSn=5^`tW$CQ>DChDorDNRBC|3$JIz*ey%g$^_ z#b$!hnnWF-9(HMs{~}5zrE-g0>V-ZLb|pEJ>OCwGR(a$t%^8dN=PwSJKrG+dS@(KD zCQ#kE82Ph?<{q&boH@u~mm`>O`hiv@U5h{HL=)UcKFc`;%Gs^=N|g@T2fL*v+jyGZ zBhi>%2q|j&o@?g|!J&VC<9&`jFaQErsdBlN_6J<2C0gMyjlEb(+8t&Bi?ZW}ASySC z5W(s`7rRq*g|iYp9;pRc~SYD*sn04F`R8NCpJ@5oWBx+r7uL z#ksHVX|t}*LA~{*+sI6<+wSb^_GI30^YcJZu?d-Dmo=uSLY074eQp+is@+aNlon{+ zSg>UyNGt7?!*}9=Pc5&kTY*vx6=VuPe42`1+V z*oB~*%cWZcaZG?_f@J}kj}6GV8!ee~{V~O;V$EJQ#^F5{Hw>bZTUjz5FM8@lV^GMk zPHuGj3a5>87Gvya_4Cz*)BR|pPlu9u9`W^9-!q;asMEVRu|b!vW4yVKkqm9GAKfBW zu>7J2K;&b4ySlaIQH+k5*-KA$MvNCPVxGQ2mduh+_&;Aga=Ln0MFG{;Cv(~n(C=)s z`<*>KCDxQR#{hKJ>)o>2O9K^3NH>N-wO*NI&hEMT93zM_cFkZNf;fzZ*#)NA)(kc! zdOlvg^!_+yyB6vUw)6xYIGn){b(w8;jsWiA^B<<7OA-qGx15fjGxe zRmBl@=m(%`sBiyqIK$7=He3DaY9Fs&Z0x~pAI0qTHE>r-C6POqvF*q2H%XEUGqfOB zDcbw6HfwYGhRgZOMbqpKM(Lckhb3rCimdalTqARi%V426SlR2#LArnZ^-uO^=Ez;j z%~fmG5Xoey4=qD&Yn!9(sQ67N9hc*}2Qch(nO1oA{ajy_D)v#g(tDNy2_R?F!?d8)oSlhr;~ekm z1oQwTVm{A_{c>$)A};viUaq$!t!1`ltCZPc$By30=SPa8+|xlS(7p*6`E$UQs7&Si zIYcyyWLYl0J?$YoXR_D3y|KHaM94SukS!R9B3(o6_IqbM=!sFSkI{EQd2kHx=KiLqF zLBYJUvkx*-(2|oL=mJLlV#L+l=iNsZ4ZXk}nanKPtO>h>7$C(}{3OjjFXVL;E8@gj z1;xf7Cz~Z;lAg)|r_vYa+`u(<9$CXt=e)usE$0g;zMAT)jmh#3Y+sk(p_bMJDIcq$ zJ?x4Qkp*aaClS++-(UN50GwoTZ%6h9iP~>-EyGAU=%(-R$YR*bb#f&?$lp*zxb!3Q z4JwS5t#jBoD^N+|<9P|*YmPH2c1V_BEOQ$G223dvaG>t9Myz)U1a#D2j`ldveL7 z%yWP&0q$a<-oIg zmYMJsm(>`A-OA3io!hYlgp-~D)Ae$btnrLWQ!jUKQ>6hV@6|Zv^UuHU&Xr{z$-&%; zea4uFfg&r0Y?$}NTG?CkT=aE?khgD1uMd9_lP(zOysSZ58@^ctqt@tjL1&wUy3xx; z?$Jm`?ZU_O<6Q_O9VVM>K#($zu*!aBa^RT`L-Ne9)j29Gi>`pnPswkay42jcPmD}- z!NpK>G|1bt6bvgIY>$E6J5a)*BVJ;5*cGJI>6sN|wy+JHq-**)M3@$r04e10a}8KZgIyGE zAnLB$p=N?n^RZ|vvVu>)_|-nX|4vxNF$3Ux;>C$?A=-O=kH|AqchqN0Cc)Bh;F@zOv0sls+LPj5+tF`hz zD*$<0oVuyXY+G5~PWilgQQIIaLHM&SiZHBZa62kF)K+{yCLTxY?ASADu zf58+GYQh+5Ocxx&8gw0mgv=ega4uStTP-!gYzBLP->G}%#S|t7TDn^CyT~WtM>R^t zvVH?M4Q-&?Na#QhRmg}s$b0};@8Sy{>d3kzUVM0+aTaA*GagN|?y`hX33mH_{ZN98 zi8K^FtLCCk0Hx9Eh}Pw;Y7fYc+rPJ~{HuTX;g|TI9 z)mpfAEw%nFiIWN)ZatnvWZ1v}TxR3#T>=BG@EWXrDwcSa)(eT_1&CNklbEz7W$Vn+ zGr1gmZzTQYpU2nz_doo2zx}QL{D=Sd-|GMCivOGEivRPU-rxWK_c5?zcOa}yAuyr~ zRlkd8!`^q|axX_Pw< zO$^wF%^b|@=VMe*wXNOWqIk5`0TyveIHa^qvQ$9h%vZ=8b{(p>4G{ zWFj23jLe+cqOkgzGbmNhcM$GwxGc2U>9yc2`urFbaCzaI_kNcj$t3J*+uqFuPu>Lp zw94JdE@|B|YiAX*6-AQ2tk$@8R&?^kH+nsrTz~8guRDBCk`Tl5HhnBBJT4^iZ_=zOc`oN=I4rOt*x&kqZX-gZF!*(hb$xLpT;?NT{usKr&eC;$r9?6 zyWMhLP5@rUn(ZZY;LPzbsA2uVhVNl9`*I7CepZ7z&ABBGzat-Cqx%wo*>vKCUstKO zv;Awr@(a~3`WVePHf8E;);pW|1NJEr7g*n|qiG|fuqp;m8}3DwWHqM~I7^lb?adVi zPHVEW==AJ9-pt}`LjDL{sHk!bItIblX`aGx%O?h^%*k@DJ0YU$CK>MD+QS#NUDvs# z#nBmUj=f8NeCvIqa?jNPFjMX=z)wu~9l{Uij_LV0HPQ-POCh_7=;-&5aEnG#0Pu20E0W5@sj-f_jkFBt+P5nwh~_Q z45TT$#$HuDt7grVo-p&OZ+i0ZAxA#3E0-CU3|N?8wU$m0bcNO5ZaaENR}3?G0!wUP zXiZh2cYUs?+7*VPSM7=OXDIFqNBs+73zXBggU0-c<1fVx$Bl@3E(P=?2Xv0|JYJ@z zD~<57wo(UaZ}CNTPvLoLtQVtRv(m=V*0q9?+nc*=b$&|sBtm!8oVc~pA$TrRn~oK zhdoq6t=VWSI?DUhD%{pgQ8S&ae4~kXvOJh&x6_;z+djHi6?@u={uF@wbV04f5(`0C zA$^OJx8EIo>;{43e4gx@?eJ(Aq%)?+nMwv>y?XWat=E0;Gfz93v%c`bI>-glxz1h{ z#w{N**ho1@l@=CTDQ}-(*cUL8&Q1I%xR<-Ej%W*Ni+92BJedW@!K~*x*5em05gMMuYHRHi-9BFfQj};b)5S}5v5xt*rUHs4pU7Kzph2eIEI(Eq8WKDcSdI z597+*NMnys@SsvXIKvepYhKyLax?8vNjki>d9r)V!-sKI%x znw?GYW6(d9%WR`AN5gnn1@CldLn?gm?hDoJb|z)4{;~~}7H zqTY6vuhWNjo)g^OsnEl3Vxn?u@d4*+?qv^u!CWi2Kbz0sZe`3b?AkH1YNh5e@U`2b zdBSbD2MzJ(F$AmL2d3gXuiY*_8rl0At_=+E?9$G|Q%P?=FBuO*S^*^GZiSfNB5UX8 zK`^HklWKha0>}Iy)78l$M~AwDxm}KM(eGuB?>zs%{0oLyzyA;a_{T5*{kPJ=KmGYv z5A-UVYP-vDsts^L4i-M^OyN*NK;1eY^a)*O=%vT)w#3SCifde4rd@JLm6T*{%;BFP zejd_=V&H@Q^mJa{rEFNlR2%F!@PEVbh$G`{p6k(uEE4G5wRM?b$Z^ru5&wu>o+cc7Y z`qe*@d99m2rI%0-@E(?TP&V+D4CaRL`)w;gT(aFMYuq^J&;pxx?33G>U_Wt{rWmfv z2TCX~&wGErRpVZJ*a54a&U9AdeopMM4w(dVtL5^j{jku~HhgrkB(o)MeUMbVQGyng!H_|6^zqtCN?p=@QZ?Ni zcIp5noU_Os%#j)+jIzS#u)2~taIdrZ3`AWaGJ*13O@N3YL&qAvYa4e#`_pB;-+}bH zCHyD3&F6lbF>VhZzb{C14H~GVQHcAN+J!?-A<4rfepi+}IeJX-D_}gjYIm@NTEVu{ zsncPg9J;mWBnNgWQPxC?xc6H3t|)>u^Ldx9IrAg^m?M1Pf~J-5m%C&xh$=^Kx6OnU zEYQBnjP#B+4@&Sd3-K-XbVa+_gm|Na+bJQuE^Ta9xlDdH2x}oQ+{U@$$#ApixB%)( z`S|;wH&YqY4*SF+=nT9QUi${2AMpQ2(E()QhBZT?c<`~H9V>-T>9 z&wu;F`P+YTM7%%z>Srt6%?d)P6E)bEO+{sG#)N+PntQTyUkX(b5c0eiYeIf&4HDK5 zh~cK5Ho_s3d4;6EdTGULh2762>?g63dYg zaPG-uiUnynHltE0qtZs@)I?GwP5*5<3uHbq8Y>=Q7E zzX2mT*&A>6p0#nEY}{;$kY&%o-8a;C;9y9cYdv!Bee+q|%FEbZk=t(Gie86b18pSL z8TlF_x6V>(FliNBwn2$I%T-)S->Yx_5d9=fGoFJK3rB0`ktm41kr~1oyCOPxAZ7uz6<8VWhrRCD9atUJ z$+0hUmHqjYFB-YDF?x~!5Ut1DnX}B$QATW_y=8TAd}3BG`^_tKv?amWwNd*}Kd!KK zMx&*4iJC9=Kh>I*CV)#?%MQ~^&Raq(6n)>L$A0-|fBN~yAOHT3U;gId4EW)E`wxC4 zA!jSZFiuJ_jXrreU{>lkHu~fZSXhAG4X~R6RDX2qfO50!P$a9a)h)-Kf=RUJrX#>w zBaD_FTkBIfrb&-W|2^8lbnrRRpd;6AQ=iCiRyYP+JF2iAkFg?{Sj4&@eF@=pBIyS} zEupOw z-THB=oG_&}Ne`-$U}5{af9@mPx#hz4;zqUMkDc1}g=JQ!ALB!yuKo#oxZT+w^q$MYPe;!!?N0TH4Bb=Ds4o5~sfst)NFSo@&UD1I)e zCDf55gbp4A?m_@z`V=}P`OqFp>z1ZbO|U&>ZAZXuXKLG~*SRE@n>FvH@cMZ%`#hqS zTrwl~&{IIdevb6ybHE(lm4_>j%>jIFMBgwD?r803Uu!U1Dr5IvpGIIe5;$tDMAKPQ zq#e)EakN4X+Q|#sN4M;s-%tk$DdgHCmX11EXxfC5Gcb)}Y|w8$2^n~YYu08T5SxuD+y<*&EZue`=jz$DXYu;EKx_@>mTC@8jG9yKvwPXY zxsY~GJM%SC5v7>4eOrBX5SnPcxlEg2S8oMqyMm1o5}~FFh~1>d ziCFD>03CczCo3fDM}kR`j>s>vb%V(rzgq|NctA z(pyWNq`^Fm3(Y9kB5ncvaC;cmh-V!vrA*0n%Gq4W2H_%($nk$j6J&`V!v$SF)6|Q$-*{znCP3J)m z_qK`xLaZ&bo?Ln2As7;&eHRSU+$3IQy?2x(l)3qiQLVIAK28zSLep{W4h{~yBE_{_ zJ?o*t-|e9hZk~N3w7`-Y#n!XL;*Y#J3ix4d&q4I=_@W4gPHDRG61mkDS!$0t7TjgO zt)fEMp9>^0jo$j2)Jc}urqR6VyJQ6uxrhf$*SXu=^Bi*MtMr?lQjzuB3&H4vwZ6Q* zZJCn@DEEm0m-`G_iBs)7Ny|K~oO!smN4AfjKRgO1X{>ZzL+|Z#FJD7pB%CUeH=Iaw zX%Ol59nq2uy7rUjT-@)yE4v9}`06;(?x;wG)?QCRXtlI5R5EL;C!B;?) zQ7&)l!Ejg`Pp9#q*ficgK7Z;mwvl{{XkNzI*W0-Dh{6^pE{m=G+Axv=P3¥Np`L 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�Vbl6f{3ZjO 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

aKj2hWG7>znxs|SE zN4rHtiSPqLskWp(?(_YYwgq+1@8v+~8As|(bC>$D(atG3ZE8-ZM3SVcg|vHQz$I=!(A`k`5= zOqR>&%G)$)k*QLz7MTB9wleWpv&N9Sta64wy}3Ytd?x!Ja8z>(z~(3UNFu^eFmn#6 zw!!gUxOuZi$PQIs*ixfZR3iLyADJ z5&s%tPfk>V!x|A-;oq%1!yk9H$UBP0ToA*EDtz(^!_AnF1bBQ7joj|? z5b)gSI8c8O$PYFE!vXJ<4gebg*9G9P2wcB{#kv0FItc5T@PDNo)}Rh4Us}L{e}xzW zhwt`)j`M)mP=G6H0;^&q=I0{jU%bIRkF#uLF;{vVC&H|_uc literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..244ca2506dbe0fd8f6a05520ac7d1a629ea81438 GIT binary patch literal 17683 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..bfabe6871a17a5e95b78fb30d49b7d2b4d2fe4c0 GIT binary patch literal 13346 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

VwO4Hu8X}%XHUAz_J@50rzbkIsat>4oWtQt< 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..6929071268eb03ee0f088142b6523566b78550e2 GIT binary patch literal 17489 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 KR&><$`~L^lv%S~= literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/splash.png b/android/app/src/main/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b5ad138 --- /dev/null +++ b/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,12 @@ + + + + + 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 new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ 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 new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ 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 new file mode 100644 index 0000000000000000000000000000000000000000..c023e50595074292c7361183a64de08cf9686c9c GIT binary patch literal 2786 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2127973b2d318df7085734d236d0ec649a2b0292 GIT binary patch literal 3450 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1e077104cd61e6a4c3707e87363b523077245a GIT binary patch literal 3981 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 nm0GElTB(&OnKI&V600000NkvXXu0mjff+~0a literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..df0f15880bee46332dfc6622583215194f948b0f GIT binary patch literal 5036 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdf97c1196d48e9833487ff6de7c4cfc4e1232d GIT binary patch literal 6644 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2960cbb6104b915c84760f889deed9bff2b3e17a GIT binary patch literal 9793 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 y3vD~Wi9;mL_v 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..a40d73e9c68ea638c28c7b13e4bcd1e179a3a102 GIT binary patch literal 15916 zcmY*gWmuEn``^Zh(J)ZDQ$RtwTR>7kN=j*DB1ktQ21<++q+3clB!@IeNJ@8ujBfbv z`+N6)vF&=^JlA!0?)yHUI*~eBDn$4+_y7QaNKI8q7xRny?}LYf`PQ9x!UX`NPt=s; z^}S{f{2_i68+UD{K=BRopI{(%Dc8%=0+TOyrFG?X<&<^!5%&~_pE(VD?XT+2&J8Jl zI$>j1ae4C71p^>zjTND9u)rYZE!&z4t<47+!Nca%jNiY9e-Ae|cVvug-H|fQ><>$g zT-^A@Ufg7U(z0!*@to)gpLFO?+vT3gu&3#^nEl+Q<~Nb+EW&N*P_NeeFL2D8I3vnN|*;9 z<3l=1XktkT!)UvD2rLM!v5%xreYHokhKefAoUdmu#+SmDW;&Mr>ozx{$EIgUd>~RZ z57RMa>itb2WrqFN@G@!ZBs~DFIS~=j*fFlcJNI%GLa<_7pk4*lSGm9~hHD12d4T#9 ze~U`=#SojxH^QC4(Xob!OV1!jUSqvt;U6MBULkS@RO+PQv(Kh7fjZy6yApI*s*W~( zyXE!QY^f)cEZOl*f4OwRpD~hnPPoJKj`~gUeYwAT#)U-eGw{!<z?c6ckFV3zH`^Pw+%5kk5;_3qy7snl@m3Qv5+e(`SI2IReD9YDj9xQ=gJe7D!+T= z@!d`Tti}|DpMlNCa(C^qY2zoK^dG|IT*-}T@d9qaw=BRwB|E{H6}DwzH909cY-V|; z0CH6qZ1ce_l0N73036Cx`Ea7s8j>+IzJs@0{Q#ZgLBPu?P9Y>4%7K*oGReSPWBnKx z{>~=aMtlN%`+8ltrK{BbwjH$||Cw;()cjU|gL3?M+o^Apt4^ATa9X)Q50BT;bWx|3 zlPR<_61&w0*vJ%2uPx^mYox~8K26Jiau-GDn9~rmn0H>{<~YkLWLT`&_D^HV%KAX} zy$|T}qkDN#huNX_6ZB+e_OEvufI$-Uji0=vi=t5{&$79+mciFrAxGPe^3_9nF7%hz z*qr^xWT)ysy@F(Ck}Y^RzCY(ir0gH1)ZB(!kD~FrPZ>OPyhGh8)8P{B*sKcvtrzAj z@9ViUZNQgae~SqNY&^c_&hp`eTxT-%S;szGUO!BZkUOMqu8%wO-H_Jm#VvL?`=ech zuT5x>h|Ff@RW(N96d2epYb!5{7DGwN+j^T7n#^r@G!D&!rM-*;YBdP5x9gBZW1!{|Nz!fWAb)K>8y9QW~kq zB~+D?{gby~|41DM{h%_-A=a0>Q|6KV`**=JTsCbk3I(j`4}u03)aa?=YH3{!xqE3U zd|{HEPLO%nzI+^^()m>g_YuQuw!a%^K7onJO2jW2ToX9s+ncG;ad{$%1c3I^KgXhx z5PQq?UDt>@QG3dtfPiKgl+G%I6h`TJb9b*Y7SE-H&O7~Aa?+mHr$lRV7qMBiEP5@I zPYTSo{5-&%yd{e7wNVf8eAxwdbY?p6JGoghtF)9a6@oYgEp52Evj$I+uOFLzko8IE ztU@uy^f6==>)Ykg;TNTEiq0*fcEQCgh;95%`=9eNF1L`O5MzQ;zZXoBw=`@}P{qAFsgh3;*1C7dxPjZQr z2gv`};fd?J?oJfHA5#_#5whc=xDH(36QsD6FIex0cK_L0$@^+b!ur+uHlH}ZRwiA% zZiY*}sC}I#8_lhkjL}O)WZCeCNq>_UTcx^p zfZ^@3GYf)T1H?H;>sO|Qv~&)?IRssrnQJ~9Qk7fRk!J3o=j}hrU=RLv+`uHd-{8ii z|67CPgHVFvWZhZ4P3%)h1YNw8JRCrgoxIe4j$=&B{*=G)n}vz(bEPimWdvOl!N|Sj z9_0Hb?q#6OquT))uUhQ%Vz*CKQyRoa=inFK0SspOE!MH>isxM{!P9$ZNy*9gG4a`F zp5(VmCrjUXKc)iPt6Sx{5$OSyXT1EIN^na$V8zZsQu-VROLfuk`yFb2@`;4f{QPyh zC2n$lw69cVY5#OlIou-kAh2T~HaJul!b5SlQJfFHDO0$8X0o2yZ9d7eyB`0knq;mL(VN7R@Xj-IdH60yWTj*Zy%7sO2GlquwiUu9BcK<-E=1TDz8iQ zO7F<$Y@@iNE8taAvQ|3Lnr#zXDMS6_i1V5u)%Mwc)pF(vwr4{-E(HX zRu9=1tC^iljY>g%hbcIydU@#?1w^;y=rECzYNv};`F6mu7mVr}#p}guv&Zbd8H|?N z2DVhIG{ADrlNFh@T))3mB*tcmh7}Xs7p_f&)X&ncR^9%PSZK>Z&K*38r4v7fu*-e1 zr6d{cd~8C>u|z2xVLU!N=!)n1tG`D?Q@l$+l7hNT`Q-L&aUx5qXwkf1H{W%uJT_rp z;I&-m`Ab!1myt|qC>LZ_h;wH=x1^+m@rtxJ^-Q#h86e~1o8K5TuIO<@992xIX^^>; zT0G%uInU*LDKzv`LqB!}8{Uy^WMbm;TvC!2;Z@t$-|vudJcbCEi3h-bB<&DUU3Qgz zD@{~v0j;e~0*^{rvWyJYoIRFftw&mzk50^Fs?aG}SeMZ@vF82&-R;pFMT;l9SbVxN zdy4rZ3$J=PdN899MHoi2L0a)A%ylmGL_TBiS%kAQWf!giWEC;jnJfDD78QHZVwuGh zW6Tl}*!QTb^EEtg@vrR?GBo4!XM7jTUXkRx8APaM9UmW?gHLd+)EI3_1Wkzhg9QxL zRaC<{L^)MI_OM1AlA@QsDo;i?K=XHQU}dH$YXrNn$H{FB_48mVgQNBSgv^$f7TVxC*j#;`S^=s7o5=4g zjT$50479nTx6_a~N6YdRaYpguu7-#W#s*z;D?>+QP?;};OlDTiI^&tJ4GHf<2H@eH z_uUHw7^$diS5`0jcZnyPGmMlJ`mFM^Ww~%EN&e?^XXDqeZzS_jqQ5;{jqzMrQ?W$t z#I18+x!;1W4q$Mxx5B`OlD}+?f$UO1=5MlfDA@*8(!lmIvfD9}{6h#6;y03MOjLi% zi{|yOiDJE?E;t;16Z|vZFv4Nbks!B!xV*$;%lA%RbB{45uN9aYLGu-%t~}?^g(9nTgP6Tja%xnfX4z0uo(E@aAuWNyU1hlWcw!Qd*NDT;czV)b?Hd>0Fn zEn)$V+SzQs{_@U1^>5;z`TpZbejug=TM7glSkh_99m8X+9&2aG@I89;NJbNDH7eia zAw4}kWCT{5zfJlszn)3nc`2)OY04fqi8 z>kujMt;IfTwVgP&EIZ(hBl&F)6Gsr8!e^m*>xv-6&5>RoUIzi4lvm|;*2ArxVTqgx z`_OfQ=t;Kj4VGA6m3q@RhX7pXAU1?)WP)Onxx8N>Zq@Dk?`Ia}njlv3{Bz7!Mn*we zC~iIZk_2Vi-@JDe=9a{d%_6lu+UMccKbBq$!_zKJ`B zqn*^8-$up2e)dAVs|NP#S+c%Yw`T*Q8@GlVSgUHOOU#Y6=3?z%%OfzuY=1BAi+!~C z`vqEsjOh`Ckd5p~Pg?Ai_aMX2BZyb<>gplp&3#jA^Q)xub4%c!4p(Av?fuK4k^84{L7h1h zZ@cd;%tIUn=y-07Qjl^HYVaciHMvNDxc=T6*8RwrjiATNv80v`PTJWjAoj~YB1cR9 z_Spm`v*tVbkH43eLOl-`TazsXSl_w>3-1O82P>>_^*S#RlzHlj2B};9`vZ}Gw0>Id zub1eap4>!+4U20D9X9=CvuBCautxNZqyDOq%boifCCPVry%A&-<2|xunkI>h7MzctpEQN|qpMPrN^e<_W@!s2tv4d{oXP z;|K?@S;aAx7IOk1g@+z5h=VKDiOG=UGlDo%fvLoh7#m0u$6{005bIzzi=Iy zArU;GOk+0(mb-Fz#d?`E7{wVuNwwzth=J7YCN2LU={2VER3ph1qkjGEPZhK?2RRL= z2;>ntgKAki4wXDeX@F)SGg5(hbjL@KDA*JP9*_9k8cjCkP9LWjTT$}}8YP&(awpMN z4^caTYRbg444avNBRZj$IWUlNtt*yD%0!`Ny}>x z@VKwZK@1OJ{Pd6jH{w*4e~L*mv_0=j?d*G3L3M#E>UUR%=1(i|Aj$na$)f!6ihV3^ zi&7@dJ{;FV?p^U9RJAV|#a+8J-vwm>@=UEsiTF*Xr>EP&L6gu=q}rS8WUhT&l3hKN zvu8>`7K8!gBxeVh#~sdl@KhIx>VpCjEf|n#2mgjAn1WtwXR`ozagov<4PMu`k^RIu z1Vt?^rt_6=J7t4k^@gk%TKK4JT3y;YO@1`1M$jqLO`DiUn_1Yx_)A&^QknA+(eC z-~7)S^z8eJ1Hv-h-x5559*^j6<;_}`CgnaoXc_N$#fU|laYihHN36A56%|XDAxL^3 zx=bd?`;=vw=oHIuB{0ypzzLzoks^!x}D1X?@FsWFRCdj^N_&~1|@W;g*tm6YJQVY`L z(z^)l-a7uZ+O)>Zoi$?9M3bagILq;la!?50X6!-lx#is=Aw&bG=OQjE!;tM`mIGUc zaSt;;4u_dLgUiWOhRtEy&A*Sm|Gm7cb-tMHxc_8ZXQS|2qi8FXUNS`LFQ+JZWVJkL z7CW1f1lbZFTU!#fqW0WehRoLd8C$)l7>IWkrqiM3zwor8&3rk$vSg zJ|-Q)vFUnqt1u!fC5IDPZ6QkIx$5>bt3Ss}WL)1Xa)XoPJTm&&C;f-rG5BbYyp1iQ zR@0icNc8~R<48VV$`ORE9aJCLjT;sk>kN@F;{0BOOU=UDO(C9ZQV6U;eK4iZEjx-X z^9X2{P0N){kD#Tfpes2eSQUDA^?;mC1fanQuGsxhbfRLDKnD%MOb#zh+AEH$s~X zEt|?y!TDDg32^1w3Pr(K>fX+E(fAU%d2AqOq1mu^=2gg3@j|8!>NFViY~K&3DUkNB z((A_W-@oslOCMgP5BEA~m7rE9!vQKeFK9F|_ z_f~l$5=u$NC4w^+b6#&Ysh0PE|8fRpyeod*H625zn>CoNig*_rgvNl7d8~bM5=%*9 zdwB@*)$7-1ez~XZKR7>j$3RHYpxXqI{;3D<8aAe-ufDoZ9bMEOa$u_|;dCZ2I;hwR zgaw=(m>YmLjzhXa%gX6iXyT+xj)YYUu=2Kv@2>YM9*FmK2^%Vt9vG#4gxGW>$pH_N zao0=RbijsTjaT^+vWqIb4;%cDKd* z3CQye{Vn*N!a$6(oja%<2-%(C&Y-DDlLPc+@9sL*s;p@Qd!Q=IeE@ekQ`2UiW}M`J zEsiw6D;Tuo(f$+AJvI1tWL=aTK)y}#5@f^#)Yc|-NUMxzF{5thY?M{UY3J-7d1?uR znp^0RH`du`LqV4Bl;q_*>Ia`T6C(C!H~?jVX;&v(7o5-1(SW}ikBf!cLi;jP0fE6x zGMaekQx0zdaw;EC9o;Nb0#k#=)W4Q@@Fez4RZF|su2vd0)z>ptDf9|+p}(N~LyUWV zwvX@*7n&RPF*`tqPxv1-i(UYTS#1qx$g(`!-82K#tU+Fu-mUV2?$xf29Tfn4;)%2& z;LoU(B07^I)i|xnKa$oW{5>+k%D7>P4C4&%Wr2eyX;Opo5|)RkV5~Dn|I%B zruo$bZ5aoZdne!9%cEvW%H?o<*CY$ZqsV6;49MgV;K0!%uurgn6i_!mn5|B8o9u1+ z|N2Jz9DnGzk7G*2rRf)Yff^s3HH!^AhF+56sc9pc%<^)EKs$U0@zoL!oo3*b&El7FY~e4n=^r zNXfW)Z2Soc^?2W~ zqWa=k$*|l$HZPp$aRa7ibzEn7;TTmy(;3kCM_BYk(!!knR+OJKxm=v%_RIVGpe9|f5$|d{4 z(&@Q!Q|6~RB{s>#g+#m~gDAZnB=M&MBIcoeoiKso zlPw?81O^53x!tBAHD<5|8Q=S0@$T5Mad<68(N$AJtr@q{ScE102KVhf3Mi_d!&n@W zWna`I>NLHG&Oe0!x<2MTs%$W{0&pU!nEWaI;RzyhBZdB@31)_UVKp>x^o8$mQ$W2~FiTZ; z_!v?TaY(rRx6rJu^-ahDTpCMR)&v1Fw+(9!?RWK6+)9Iq`;T^dV$BWih zV^FO%*yyJ#J059}WXG4|Z$}Y&>=}vDFOv275Sb#W^ghq0hO3EOyS*s4>Lbs5U{K<8 z{k1M;dfP%#F^8)L4wt%QkEs@`4tmuK~m9b^ohUCjF??KS?xSh0Ln+6IARSwVm+{fXt5FBdoWN3nso zAfrO^K04sGsHah_{U5Gl_*oR-m7To!@-LR^-aT!5fbCzAs{T|>;m8kZmBOydcKZWj zh&c`;)S#Y1>2)x8`O``L!eaZq`v4#6xGNGm_l5&?dv(&TZC+`j7SxBcDTbTzvbtz0 z;Uk)dZ)aYS1IvmwbNOcrTfJskWFTn4NFu3e_Um=E$`=4?f3dZ@ZbbHBOq&mC`70C> z5B`Q}g{1XvEr&@U6G9FonHjWk1!ebjs?!wH5eP``&*5)>m->g9{wUMx_b_kG9_052 zt95~=^ns5kDPK$7pN>ys4T{bEdJZhqNPR9uikG-e`D_2T7a@n*d6#3FSC92v7o(F~ z+>ea~5f_d2Bp-P6Q{5Vbo7lqQ@~Jma((|8`%fsD8Y^_ERhJ9~wg}OIhEc)VJ-rc{; zd&w_}(;G#%nzZGaYb0X$n$v66n&&Lx=Vra(%W)1dAJAN9gN7H}y-ODfH(PC<^i14{K%qG*=ZtNeR?gB!#%4pRM)H^6Dbku90#6^o-Xw$m9#2qA zOP@1NMmj)eHnl5+<|IQiZ1jXxNwp0*Nk9`56A?THWk$r9BcVZL0l$OeSDb8fmYB;b zj3;f?AM>V0xy1t_sT#$x+DJcI?y>oa6p_u#|=IBBTp7*|j`k9L9NAqg zr=7Uv9WhnpXnmxYU0lg5$Kv9Xh=NI1d7%^*hM?#d^EGzb3m9Q9kcjZVa>;uQs-+Wl zq`=2DWAHP;iHdy@l>W%F{tsy4|{O0lb&XceOk5v z0CjlG(*$zd)$1Nrqg^E+Ake;DecX-;SboZ?5@QV`Ewsa`qkC?x`bI*pz!L_85wpwv z)yiB_|6&tN@l_EJ_z1YF{>B=uUMi;y2g$T5j(k`RRPFtiH#H()kN|kVL1!JMWX)wQ z6C&NT{_akeHjwX|;}K%Sw^27TUIl>2cbu!VR1SI+6YFpjaezE4EfMKZOo-`IXG_HqNMiON7TDr;XFAhZy2&RjcKs z`kR?vT%=HQ`C(DFFVl#2A%Piz2P6fE(njWTu3` zIw4;b#|-*%b90y9SG0P_R{9>)O?%YqVnwh3qBEPN&;ME(BIPb=ZJ6ky@)|fTM@8c7 z(G^VJ0;@r{ufTuHm=Salkl*@IPyrarjeQD|$w}-3w#CDH#2GB!HPA>wv_rMqM5tq9 zYwPQx_g021$fNvGN3L$p-SwFw$F`IZ#cM;u3hUrXH;q^6l;-92kxGx7lIfvchV}hT zjC)sn9BMlD3izot74s~#5~;SGa0w-(Y@!uP@Ll&nsj?-Rf7zS~D=5XSJuk8+L4WV>ZaM=WZkDnDwkpvylS5iKTu-1%ArYBS z4h<@ol9pXsI*Xmt#Ks;?Vdj6!7RFB^0%sTT0?f#rM4ln2$Wn?bXCqv7BEEZ#dazye9?rGsshJ^a>T{gf=y!GO2mjN7deU76yJMupwQM;>GAqgj-Ftg` zKhqnUWcny2mWJJf(FS;Zf30SDl8-tYmccfqItT<*F{;Mvf}T$6yh2S1qcW;JFL`K?Q{I0!|cA)*HV+SmR}*7ieu^;9inL8y2^qC+jH zBa<-F-8qg0mZ*3OvMP0lBiY8K-kG&(qcPe)X@w((WHtcvI>U+fv`!w%SJ~zA8Ai+B zh~_K0tS&0Ev$GE-LL0q)sLq9|X)_f`bguGH-0s?hwS**Flh7))k${9W59A_A2atqLFes!txyvZ<^sdv`^2w#H-d1Em}SqrZOi{Un4H1{F{R==@-cU#@7jUU=xG#{pL|A^ul~)4c~nqYZAV z2sLeVqoZtas-gtV$O_RLE#W4w0p@WAH5^PSp;dK{N*f!E{4hZOp3sTBz!gZpGd>I1 zV@x7Gn6AiT3;EEv5?+e&GKs$h4aCGK^cF7(jb}%vr;gC(Rr8xb9F5f(l z?e+{(vYrivV)Q|B7!vnbfjCUuzAiD? zqJxTuD#BPBjhpu_b(oo+Csu?#*sQ!<&H4$V5!1#rrpjZaHMbuuCN2}4+pb=uW6XIw z6kE3~C+CJXlv)TA=ja07sqy=j4sMiaCK8UNDL-)tSiQDb&;(S-16Z{!IXL9zz&?od z^m)roBynrBux-qH5Jcojz2U&|uQelD&>*pV2&V$E+OnszwRZkl@bE*K?{*I2ADH7= z({`@8)?gOLO!i6NWShS)KdcY4#7CV3NKp!W&W|TpgTz1m<@=wrPF~?p5yL<&PT>F= zHq=7}@5ZMO$?9v!n4%$D1fgp7ym7J~&4>BY!5mzb5-1bLvOeec@5wiv`A)Gc1j^&+ z94Mz&1i>R-BP?D}0;(`!hH)sD%9tLPm@Y!jYPr^7yk~N9G7NfvO$9MXy37x{NXqzZ zBM0IM7BI(cRg@x$4l%si*SSS_@43gxWIcZLNxfyPme|}ZU)S=t8U`GvOPS5(Q{nE# zE;YdBL{^dv&AsW2==d$=oGr&AR}FvX8eudYGQtbiy?8|gae0wBQ#uz~y@T}Uk+R+G z>dnn-aJITOaVj%LIoBFwC`GtwjH$iL9<6r2!NWlSztp}xF=aR|QgbE+MXNvk3AQT2^}pUJiY0%BtW31eyH7NG z=g`X3rsot5elf#*E9--}g-A&+IL?KpvYOga^q<@s&yH@KyW9~n1?#!PRpY+2+0`x^ zj-pbGAIzFPBJ~P2yn$5zK{46a=)o|+s}BCRbP`H8A;Db)>#R&G2iUo3wKNy?4DJN0 zxHqtPIr*S=dLP8tYkz>d2TUE%RLYABR z^{_cwa}4n5M=fF$7yjE4f{|szXH@^>QW2sbcNSZHr{Ai?_(|!deA(=c7QSwK9@|Fu zoF$kJ9S(is`>tNoXkI%=)-Ha;eD8}3BQs)GY>?T2v(oX3vRcJ?{N|5UZ@2d5Z@%oQ z2Zhfa#8M#^3j_Qf3l|4-kFVeNVUA?+%*Mi?acPC<>fZMQuKwy$9k{q|>qs0RQhDHs z=8uioQW(5U&03QuUOFOGhGu?5LaX(jOne=4^#7vq4k+h~RjsF>pa5rjZ>FjQ|HM#` z(;_|fS@wZzQME{T@WE^yZG=&FWhI&?v2cdlKc=7IOA|TUC{YyU@wvD}IhA|;ur$R~lH#S$l+4d+r;GdJ z-MvWCR4eVcYn_3L*6}O{WE33^Jsgl)z@ZPDOMsM$fQ)28a%-5R(Y!x^|V9!MV5}4!Y8KP6epjeD0~P$E(<`bxu#Pmyw9vk0s%dl>FI>j_89{Fi z6}fwwN}tQBG0P=10X){A$-kt{nj9xfW+*8sb$KmCpv(Cih6&k?EKEP19K9rR8#?;^ zyv+5hg{eyyXJ(oE{c?w@M}$=dAnoG-&tCq?nntaS`rI(43OR?r3BL#OPyYP0#f&n_ zJ-N3PRQTTIzK1axcR`O6m^OAX%}$x4$zlLw@;RwH(L?Ti-*{`5KeW-vQT~#PmUeCB z<2A=fJ*4pJXx24D?!mYw{Q;AeVDcw6``Cd!4bW3Ew_1jYey$7MxEt~bCY+6R31|Pa78d$k zZ2ws!*WbenkrnekW@D98Wa<5YI$rB3wRm$5E)KL!{R4E{KE#E1dBJr~+ur<%bgOS_ z4X)F)m-1D+&Ypo`0)!7Z;atf+dQKT>QME-IK`BiF!KT5nEWm)u6>h>o|ViZRH{R&K}KG+54mG8x(%GM*Aj{ ze^fp)ky2qz_r(hwnNjq!wo6Bbm@2|Bg_xm7Hp>-1>e@vo_tAW9)tqgDb(I%iJw5s` zAvW=b-ZJZVg0_)Lk1(9C4UY5;2pZF$HXJO$IXAcU-T3Us^=qNRNV(VX~%1pt> zU)rjT(KGVBEc=kmvj2J39uyL*)HOdaO4_?e4mNNsD^7%g@;d1i;fJTLs>W5$j#qpP z?E^e6ysdnVp8g1Ezdn7LDG;oOP@*bO-H-svitC&2 zB#-A$4WGn^n_zs&vi%sze<=NiL2izx`BVJ zc_ChX40$O*h8ZY_8LPxW1m{N+;;PeaY6SofH!O%T1338gnXD$^vOh`=)7jx!tc*_n zGTo}po5v1Xp+Uq*h*KJn)%;wd-jati2bD`$GSQV6Uip1U^ z8`OJcko>vMpoPraU!gAeXcB#J>wsV2mruj->eLi9EYvb+C*;3Y1>P@JMK-zghce>DHQ*3{A(W}g3U$xr2w*-7NV`SFq4~?M{XZg?bO0&SYDxH&gVp?d4*oTBAm=xH!gCt%1wsbO=AmY|VuwTFb6c5xx3|7L(It!CA zqO#w`_g8rzx&{BuH9Y$^k5fFBL2V~_SvQtPzm0<%3GQMiE)un;a7o%bKbU)Fpg*-* z7~Z+E4wq#RXN$e|;LJenN(38=vuQh{zs+)u|5e^4uwv}P$QLd_${(_1{C{-TNI%@3 zROke?({`ggac)i0>=W4{y1=m6+Mm};52<(F0UZWa_4Oh-<3(0JAOf@eMX@>B#sOxi zS^i4pnY_vNF0Z5+_m9CDF0C|?10E^$k}HJXOdd{P=^^=Lv?^0K7;|XYuu&bYAQ;~H|QGHl^(A{~*F+tqB{o*yR9)qc1_y=pvWHz4%j z$#Cn#W*IC{7~ubml~s|YWAIt~ZP#qw`&j0uOdT$Yxg=}+PHA$Fi+f)9Rz&BiCRD9g zacRzRBrc22{egg%QM>Hw$%$Glk2C2rnKRin-K&E{i2_1UDFv#ywXiu4u0K(R@wDC> z7+Ya2i_fH%%M%koWf7UuQA>1lMu`;jNC$t_^Tm?YCjA_*XbUp0o9w0gj>#)Ve%k!q z-@Xz~8xU+aRbw|oR!iU_1mE$x7&MFvq0=0l)DADiIw6QwdNh5-R>2=|0SxTqz< zJA_ciCq=O`HORt@^W*dlZHM!(-8EARiiQZpdCSSLq+s!)UB|!fQ|j~FkyFXIUAGdW zsj%}fOPqDmTxNtIxzzP`9tkFJ_2{iBL(h-wmP{vS0Ev$IE6$--NI~Piz{|Mgq-M5Q zTcPSulRHw6i=5a%Osw~&Ptcoc1ZN~drj+?~=1gDTYkaw3ROC;Li1J&Ud^bAipZKqD zPg!a=er{#@4wV_#Y?3-JD;qL3 z-Q>RK#~5(AB6Z9g5Mc+m3$argPxs%c*~{NOPzzZCL1xG5jgpxanA{;>2rOMPy;dU; z7&EsCEBSj#$>(SbGIE0Z7c(K<>pGu6?a!Bq!ty+ms}wPpKl1bA<{nnRJoAvgMR&%o zQuDV4#zkLCVf@m-p9;sPxg#%Acho{; zhlRMm5J>Q_k+}{iCM_;cy>V{!Ki{AEf(h*I3cSG~iEeTVw!=~7nS*N2DLvlN%FM4dcuq~8ZJ0@eLj{6=+A7|(p8Br-&(X+$z7=kmbKO}CER69W1c3EtMb68%zPjcly)HS$;T56M;2kd*El9*ejKwW8yO+pQ;4z{^tsp=(FV=q< zG7m;Z=XpoVp^nKqw~>)aaae1YIY1ZL`kDQn8u`AvqTSuSBU@$tWMFE_`@^`V&~d8F zc#x6faor_vGuF=&=_j5zqrUSQizl^{+ANTX9o=N^T{SboF_*{VmrS4W8Wud}oMkVU zL#WliK9#O?-!lLL1<&wbMoysIs`Tcl?l2GxzK&eIQ)m2MKm6Fk7o?j^SVeZVzta8X zF{9sM>xJ#Yf9UHqFc3U>^?2NO=Ii2{sVCoS6A~hX3}NR@K+G8&B<*$Qthl_ zG7@_6C;w*a-gMcqXYzkh?d)&F#cY+R{x1KrU`AkD_`KSiJBlF+n^7TCPG!H*SZ{E3 zK2?rNEQ8^=r7=tA_MbfGwC6Sh59D{v$#KBolbvzOciv&@193HSuMU{Y;z0tz7%s?+ z&~I;+zgk3@-b%(i!p^BGdN=dAtXlk&jM)t)QFpf%PWz$J?CpWdviWjmI;-|St4Hlw zpv#PH=^<4+uWzxuy3kmFL?mb=%kL+QfryKf%?+`YyN z{YdK1a&`zZzK@PI>W5kyQV2|_b0eOV)D~${-TJLRb^tPD5{#ddZadFZch_LV(N4Xh zA=9HV^=A*!euWm}*#;mP8Ns`K!%Lx@Va9@BAx-f{_x=g{cLrdaK{V!E|S0ZDmDpSM5-hlIf?4t*dfe0xdVKp z;%wi8__){!&Eg*80)ZajBebqP{_l~IioxH%rJ^n_F%v@5AER6`(DGZNqW3@XkB*P@ zSr4*f^1b)|)dqF0$E{NW2m#<~xmTuEp;R*!7VUp9H&@coU)ygt zoW~0_Z_-U^@wkcqn8V7Vf zlhF%9W8dUq>kb&rsw<>u=>-*_#!Tz)K#`^3s2eX!W7_puV~4ze}~avX>ndXz5GyS*LUVun+Af zL>{*vT5!L$$`_pDx2UujUT5O+@cKJn&ou2A-55A52VPXacv&%O5JD(jthBA}UL8*w zj|j5<)n-^yp+Y)%dxx=X0vS>JV+DhgPvAx-m&PqP<^&ay(}i+h&u4Y%M|fMv(T~S2 z{D60aj-w5)jc?oxI1eaU%;nX>iS=31RotJmDltA`#~C%fvV0=&G{=(eMQ~*F-B&%h zsTvln{)cWkj{`w(l70nA(bTQ)X9)}OA04NjB-w`ru^{xqj_*GW*$|pjhxb`+ z8VSsbWPpo`j z)H73i39AN8h}Ial%a_k;TV)S<#GHb#*S1mS#7CXjTh3&FYB;eSp5Yt4ps2qdEw~ju z_ix=EInS?{%xF9JKJ|3ZZEtS<_3J%QhUofq1CM$lbd*I|62IpYB|}~woGpWrLFs+f z!(smAPhxyzmU4$ + + #FFFFFF + \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..1b49c6c --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + + kumusha + kumusha + io.ionic.starter + io.ionic.starter + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..be874e5 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..bd0c4d8 --- /dev/null +++ b/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java new file mode 100644 index 0000000..0297327 --- /dev/null +++ b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java @@ -0,0 +1,18 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..f8f0e43 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.13.0' + classpath 'com.google.gms:google-services:4.4.4' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: "variables.gradle" + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..2e87c52 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,22 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b33c55baabb587c669f562ae36f953de2481846 GIT binary patch literal 43764 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..5eed7ee --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..3b4431d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,5 @@ +include ':app' +include ':capacitor-cordova-android-plugins' +project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') + +apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/android/variables.gradle b/android/variables.gradle new file mode 100644 index 0000000..ff89f79 --- /dev/null +++ b/android/variables.gradle @@ -0,0 +1,18 @@ +ext { + minSdkVersion = 24 + compileSdkVersion = 36 + targetSdkVersion = 36 + androidxActivityVersion = '1.11.0' + androidxAppCompatVersion = '1.7.1' + androidxCoordinatorLayoutVersion = '1.3.0' + androidxCoreVersion = '1.17.0' + androidxFragmentVersion = '1.8.9' + coreSplashScreenVersion = '1.2.0' + androidxWebkitVersion = '1.14.0' + junitVersion = '4.13.2' + androidxJunitVersion = '1.3.0' + androidxEspressoCoreVersion = '3.7.0' + cordovaAndroidVersion = '14.0.1' + rgcfaIncludeGoogle = true + androidxCredentialsVersion = '1.3.0' +} \ No newline at end of file diff --git a/capacitor.config.ts b/capacitor.config.ts new file mode 100644 index 0000000..9797d08 --- /dev/null +++ b/capacitor.config.ts @@ -0,0 +1,15 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const config: CapacitorConfig = { + appId: 'com.kumusha.app', + appName: 'kumusha', + webDir: 'dist', + plugins: { + FirebaseAuthentication: { + skipNativeAuth: false, + providers: [], + }, + }, +}; + +export default config; diff --git a/codemagic.yaml b/codemagic.yaml new file mode 100644 index 0000000..96bfc2b --- /dev/null +++ b/codemagic.yaml @@ -0,0 +1,380 @@ +workflows: + android-debug: + name: Android – Debug APK + max_build_duration: 45 + instance_type: mac_mini_m2 + environment: + node: 22 + java: 21 + cache: + cache_paths: + - $HOME/.gradle/caches + - $HOME/.gradle/wrapper + scripts: + # Template ships with optional native plugins (maps, push, firebase auth) that most apps + # won't use. Keeping unused plugins in package.json adds SPM/Gradle deps and bloats the + # build. Strip any that have no import in src/ so only actually-used plugins are compiled. + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + # Delete package-lock.json (generated if user ever ran npm locally) so it doesn't + # conflict with yarn.lock. --legacy-peer-deps silences peer dep warnings from older + # Ionic/React packages that haven't updated their peerDependencies for React 18/19. + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + # Firebase config files are injected as base64 env vars by the Appcakes backend at + # build time. Decode them here so cap sync and Gradle can pick them up. Optional — + # builds without Firebase still succeed; native Firebase SDK just won't initialise. + - name: Write Firebase config + script: | + if [ -n "$GOOGLE_SERVICES_JSON" ]; then + echo "$GOOGLE_SERVICES_JSON" | base64 --decode > android/app/google-services.json + echo "Wrote google-services.json ($(wc -c < android/app/google-services.json) bytes)" + else + echo "GOOGLE_SERVICES_JSON is empty — skipping" + fi + if [ -n "$GOOGLE_SERVICE_INFO_PLIST" ]; then + echo "$GOOGLE_SERVICE_INFO_PLIST" | base64 --decode > ios/App/App/GoogleService-Info.plist + echo "Wrote GoogleService-Info.plist ($(wc -c < ios/App/App/GoogleService-Info.plist) bytes)" + fi + # cap sync copies the built web assets (dist/) into android/app/src/main/assets/public/ + # and updates Capacitor plugin registrations in MainActivity. Must run after npm build. + - name: Capacitor sync + script: npx cap sync android + - name: Set up debug keystore + script: | + if [ -n "$CM_DEBUG_KEYSTORE" ]; then + echo "$CM_DEBUG_KEYSTORE" | base64 --decode > /tmp/debug-keystore.p12 + fi + - name: Build debug APK + script: | + cd android + if [ -n "$CM_DEBUG_KEYSTORE" ]; then + ./gradlew assembleDebug \ + -Pandroid.injected.signing.store.file=/tmp/debug-keystore.p12 \ + -Pandroid.injected.signing.store.password=$CM_DEBUG_KEYSTORE_PASSWORD \ + -Pandroid.injected.signing.key.alias=debug \ + -Pandroid.injected.signing.key.password=$CM_DEBUG_KEYSTORE_PASSWORD \ + --no-daemon + else + ./gradlew assembleDebug --no-daemon + fi + artifacts: + - android/app/build/outputs/apk/debug/app-debug.apk + + android-release-apk: + name: Android – Release APK + max_build_duration: 45 + instance_type: mac_mini_m2 + environment: + node: 22 + java: 21 + cache: + cache_paths: + - $HOME/.gradle/caches + - $HOME/.gradle/wrapper + scripts: + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + - name: Write Firebase config + script: | + if [ -n "$GOOGLE_SERVICES_JSON" ]; then + echo "$GOOGLE_SERVICES_JSON" | base64 --decode > android/app/google-services.json + fi + - name: Capacitor sync + script: npx cap sync android + - name: Set up keystore + script: echo "$CM_KEYSTORE" | base64 --decode > /tmp/keystore.jks + - name: Build Release APK + script: | + cd android + ./gradlew assembleRelease \ + -Pandroid.injected.signing.store.file=/tmp/keystore.jks \ + -Pandroid.injected.signing.store.password=$CM_KEYSTORE_PASSWORD \ + -Pandroid.injected.signing.key.alias=$CM_KEY_ALIAS \ + -Pandroid.injected.signing.key.password=$CM_KEY_PASSWORD \ + --no-daemon + artifacts: + - android/app/build/outputs/apk/release/app-release.apk + + android-release-aab: + name: Android – Release AAB + max_build_duration: 45 + instance_type: mac_mini_m2 + environment: + node: 22 + java: 21 + cache: + cache_paths: + - $HOME/.gradle/caches + - $HOME/.gradle/wrapper + scripts: + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + - name: Write Firebase config + script: | + if [ -n "$GOOGLE_SERVICES_JSON" ]; then + echo "$GOOGLE_SERVICES_JSON" | base64 --decode > android/app/google-services.json + fi + - name: Capacitor sync + script: npx cap sync android + - name: Set up keystore + script: echo "$CM_KEYSTORE" | base64 --decode > /tmp/keystore.jks + - name: Build Release AAB + script: | + cd android + ./gradlew bundleRelease \ + -Pandroid.injected.signing.store.file=/tmp/keystore.jks \ + -Pandroid.injected.signing.store.password=$CM_KEYSTORE_PASSWORD \ + -Pandroid.injected.signing.key.alias=$CM_KEY_ALIAS \ + -Pandroid.injected.signing.key.password=$CM_KEY_PASSWORD \ + --no-daemon + artifacts: + - android/app/build/outputs/bundle/release/app-release.aab + + android-release: + name: Android – Publish to Google Play + max_build_duration: 60 + instance_type: mac_mini_m2 + environment: + node: 22 + java: 21 + cache: + cache_paths: + - $HOME/.gradle/caches + - $HOME/.gradle/wrapper + scripts: + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + - name: Write Firebase config + script: | + if [ -n "$GOOGLE_SERVICES_JSON" ]; then + echo "$GOOGLE_SERVICES_JSON" | base64 --decode > android/app/google-services.json + fi + - name: Capacitor sync + script: npx cap sync android + - name: Set up keystore + script: echo "$CM_KEYSTORE" | base64 --decode > /tmp/keystore.jks + - name: Build Release AAB + script: | + cd android + ./gradlew bundleRelease \ + -Pandroid.injected.signing.store.file=/tmp/keystore.jks \ + -Pandroid.injected.signing.store.password=$CM_KEYSTORE_PASSWORD \ + -Pandroid.injected.signing.key.alias=$CM_KEY_ALIAS \ + -Pandroid.injected.signing.key.password=$CM_KEY_PASSWORD \ + --no-daemon + publishing: + google_play: + credentials: $GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS + track: $GOOGLE_PLAY_TRACK + submit_as_draft: false + artifacts: + - android/app/build/outputs/bundle/release/app-release.aab + + ios-debug: + name: iOS – Debug IPA + max_build_duration: 60 + instance_type: mac_mini_m2 + environment: + node: 22 + xcode: latest + scripts: + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + # First sync: regenerates CapApp-SPM/Package.swift with the correct plugin list. + # Note: this project uses Capacitor SPM (no CocoaPods/Podfile), so cap sync replaces + # pod install — it regenerates CapApp-SPM/Package.swift and copies web assets. + - name: Capacitor sync + script: npx cap sync ios + # Decode Firebase plist to disk so it is present during the second sync. + - name: Write Firebase config + script: | + if [ -n "$GOOGLE_SERVICE_INFO_PLIST" ]; then + echo "$GOOGLE_SERVICE_INFO_PLIST" | base64 --decode > ios/App/App/GoogleService-Info.plist + fi + # Second sync ensures CapApp-SPM/Package.swift is consistent after the plist write. + - name: Capacitor sync + script: npx cap sync ios + # Run configure_xcode.rb after both syncs so its xcodeproj changes (plist file + # reference + SPM product linking) are not overwritten by a subsequent cap sync. + # configure_xcode.rb is stamped fresh from template on every build push. + - name: Configure Xcode project + script: ruby configure_xcode.rb + - name: Set up signing + script: | + keychain initialize + if [ -n "$APP_STORE_CONNECT_PRIVATE_KEY" ]; then + app-store-connect fetch-signing-files \ + $(xcode-project detect-bundle-id) \ + --type IOS_APP_DEVELOPMENT \ + --certificate-key=@env:APP_STORE_CONNECT_PRIVATE_KEY \ + --issuer-id=$APP_STORE_CONNECT_ISSUER_ID \ + --key-id=$APP_STORE_CONNECT_KEY_IDENTIFIER \ + --create + xcode-project use-profiles + elif [ -n "$CM_CERTIFICATE" ]; then + echo "$CM_CERTIFICATE" | base64 --decode > /tmp/cert.p12 + keychain add-certificates \ + --certificate /tmp/cert.p12 \ + --certificate-password "$CM_CERTIFICATE_PASSWORD" + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + echo "$CM_PROVISIONING_PROFILE" | base64 --decode > "$HOME/Library/MobileDevice/Provisioning Profiles/profile.mobileprovision" + xcode-project use-profiles + else + echo "No signing credentials configured — build will fail at signing" + exit 1 + fi + # --workspace: Capacitor SPM projects require workspace context for Xcode to resolve + # the CapApp-SPM local package. Using --project causes xcodebuild to fail on + # Xcode 26+ because SPM resolution requires workspace scope. App.xcworkspace is a + # static file committed to the template (not generated by cap sync) that wraps + # App.xcodeproj for this purpose. + # --no-show-build-settings: xcode-project runs xcodebuild -showBuildSettings as a + # pre-build diagnostic. Xcode 26 fails this step for SPM projects even with + # --workspace, so we skip it. The actual archive step still surfaces real errors. + # --disable-xcpretty: xcpretty reformats and filters xcodebuild output, swallowing + # the actual error lines when a build fails. Raw output makes failures debuggable. + - name: Build IPA + script: | + xcode-project build-ipa \ + --workspace ios/App/App.xcworkspace \ + --scheme App \ + --no-show-build-settings \ + --disable-xcpretty + artifacts: + - build/ios/ipa/*.ipa + + ios-release: + name: iOS – Release IPA + max_build_duration: 90 + instance_type: mac_mini_m2 + environment: + node: 22 + xcode: latest + scripts: + - name: Strip unused scaffold packages + script: | + for pkg in "@capacitor/google-maps" "@capacitor/push-notifications" "@capacitor-firebase/authentication"; do + if ! grep -rq "$pkg" src/; then + node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));delete p.dependencies['${pkg}'];fs.writeFileSync('package.json',JSON.stringify(p,null,2));" + echo "Stripped $pkg (not used in src/)" + else + echo "Keeping $pkg (used in src/)" + fi + done + - name: Install dependencies + script: rm -f package-lock.json && npm install --legacy-peer-deps + - name: Build web assets + script: npm run build + - name: Capacitor sync + script: npx cap sync ios + - name: Configure Xcode project + script: | + if [ -n "$GOOGLE_SERVICE_INFO_PLIST" ]; then + echo "$GOOGLE_SERVICE_INFO_PLIST" | base64 --decode > ios/App/App/GoogleService-Info.plist + fi + - name: Capacitor sync + script: npx cap sync ios + - name: Configure Xcode project + script: ruby configure_xcode.rb + - name: Set up signing + script: | + keychain initialize + if [ -n "$APP_STORE_CONNECT_PRIVATE_KEY" ]; then + app-store-connect fetch-signing-files \ + $(xcode-project detect-bundle-id) \ + --type IOS_APP_STORE \ + --certificate-key=@env:APP_STORE_CONNECT_PRIVATE_KEY \ + --issuer-id=$APP_STORE_CONNECT_ISSUER_ID \ + --key-id=$APP_STORE_CONNECT_KEY_IDENTIFIER \ + --create + xcode-project use-profiles + else + echo "$CM_CERTIFICATE" | base64 --decode > /tmp/cert.p12 + keychain add-certificates \ + --certificate /tmp/cert.p12 \ + --certificate-password "$CM_CERTIFICATE_PASSWORD" + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + echo "$CM_PROVISIONING_PROFILE" | base64 --decode > "$HOME/Library/MobileDevice/Provisioning Profiles/profile.mobileprovision" + xcode-project use-profiles + fi + # See ios-debug Build IPA comments for --workspace, --no-show-build-settings, + # and --disable-xcpretty rationale — same reasons apply here. + - name: Build IPA + script: | + xcode-project build-ipa \ + --workspace ios/App/App.xcworkspace \ + --scheme App \ + --config Release \ + --no-show-build-settings \ + --disable-xcpretty + - name: Publish + script: | + if [ "$SUBMIT_TO_TESTFLIGHT" = "true" ] || [ "$SUBMIT_TO_APP_STORE" = "true" ]; then + app-store-connect publish \ + --certificate-key=@env:APP_STORE_CONNECT_PRIVATE_KEY \ + --issuer-id=$APP_STORE_CONNECT_ISSUER_ID \ + --key-id=$APP_STORE_CONNECT_KEY_IDENTIFIER \ + --submit-to-testflight=$SUBMIT_TO_TESTFLIGHT \ + --submit-to-app-store=$SUBMIT_TO_APP_STORE + fi + artifacts: + - build/ios/ipa/*.ipa diff --git a/configure_xcode.rb b/configure_xcode.rb new file mode 100644 index 0000000..85e1e40 --- /dev/null +++ b/configure_xcode.rb @@ -0,0 +1,118 @@ +#!/usr/bin/env ruby +# configure_xcode.rb — stamped fresh from template on every build (see gitea.service.ts) +# +# 1. Adds GoogleService-Info.plist to the Xcode target if present (xcodeproj gem) +# 2. Scans Swift sources for Firebase imports and injects matching products into +# CapApp-SPM/Package.swift — the correct approach for Capacitor SPM projects +# where all native linking goes through CapApp-SPM, not App.xcodeproj directly. + +require 'xcodeproj' + +PROJECT_PATH = 'ios/App/App.xcodeproj' +TARGET_NAME = 'App' +PLIST_SRC = 'ios/App/App/GoogleService-Info.plist' +CAP_APP_SPM = 'ios/App/CapApp-SPM/Package.swift' + +# ── 1. GoogleService-Info.plist ─────────────────────────────────────────────── +if File.exist?(PLIST_SRC) + project = Xcodeproj::Project.open(PROJECT_PATH) + target = project.targets.find { |t| t.name == TARGET_NAME } + if target + app_group = project.main_group['App'] + unless app_group&.files&.find { |f| f.path == 'GoogleService-Info.plist' } + file_ref = app_group.new_reference('GoogleService-Info.plist') + target.resources_build_phase.add_file_reference(file_ref) + project.save + puts "Added GoogleService-Info.plist to target" + end + end +end + +# ── 2. Scan Swift sources for Firebase imports ──────────────────────────────── +swift_files = Dir['ios/App/App/**/*.swift'] +firebase_imports = swift_files + .flat_map { |f| File.readlines(f) rescue [] } + .grep(/^\s*import\s+Firebase\w+/) + .map { |l| l.strip.split(/\s+/).last } + .uniq + .sort + +if firebase_imports.empty? + puts "No Firebase imports found — skipping CapApp-SPM update" + exit 0 +end + +puts "Firebase imports detected: #{firebase_imports.join(', ')}" + +unless File.exist?(CAP_APP_SPM) + warn "WARNING: #{CAP_APP_SPM} not found — was cap sync run?" + exit 0 +end + +# ── 3. Detect firebase-ios-sdk URL and version from node_modules ────────────── +# Read from the ACTUAL node_modules on this build machine (populated by npm install) +# so the version we inject matches what @capacitor-firebase/* already resolved. +firebase_url = nil +firebase_version = nil + +Dir['node_modules/@capacitor-firebase/**/Package.swift', + 'node_modules/@capacitor/push-notifications/**/Package.swift'].each do |f| + content = File.read(f) rescue next + url_m = content.match(/\.package\(url:\s*"(https:\/\/github\.com\/firebase\/firebase-ios-sdk[^"]*)"/) + ver_m = content.match(/firebase-ios-sdk[^)]+from:\s*"(\d+)\.(\d+)\.(\d+)"/) + next unless url_m && ver_m + + firebase_url = url_m[1] + major = ver_m[1].to_i + firebase_version = "#{major}.0.0" + puts "Detected firebase-ios-sdk from #{f}: url=#{firebase_url} → using from: \"#{firebase_version}\"" + break +end + +# Fallback — should rarely be needed +unless firebase_url + firebase_url = 'https://github.com/firebase/firebase-ios-sdk.git' + firebase_version = '11.0.0' + puts "Could not detect firebase-ios-sdk version from node_modules — using fallback #{firebase_version}" +end + +firebase_pkg = 'firebase-ios-sdk' + +lines = File.read(CAP_APP_SPM).split("\n") + +# ── 4. Inject firebase-ios-sdk as a direct package dependency if missing ────── +# Normalise URL check to handle both with and without .git suffix +firebase_url_base = firebase_url.sub(/\.git$/, '') +unless lines.any? { |l| l.include?(firebase_url_base) } + last_pkg_idx = lines.rindex { |l| l.include?('.package(') } + if last_pkg_idx + lines[last_pkg_idx] = lines[last_pkg_idx].rstrip + lines[last_pkg_idx] += ',' unless lines[last_pkg_idx].end_with?(',') + lines.insert(last_pkg_idx + 1, + " .package(url: \"#{firebase_url}\", from: \"#{firebase_version}\")") + puts "Added #{firebase_pkg} to CapApp-SPM package dependencies" + else + warn "WARNING: no .package( line found in #{CAP_APP_SPM} — cannot inject dependency" + end +end + +# ── 5. Inject each detected product into the target dependencies if missing ─── +firebase_imports.each do |product| + next if product == 'Firebase' # umbrella import — not a linkable SPM product + + product_str = ".product(name: \"#{product}\", package: \"#{firebase_pkg}\")" + next if lines.any? { |l| l.include?(product_str) } + + last_prod_idx = lines.rindex { |l| l.include?('.product(') } + if last_prod_idx + lines[last_prod_idx] = lines[last_prod_idx].rstrip + lines[last_prod_idx] += ',' unless lines[last_prod_idx].end_with?(',') + lines.insert(last_prod_idx + 1, " #{product_str}") + puts "Added #{product} to CapApp-SPM target dependencies" + else + warn "WARNING: no .product( line found in #{CAP_APP_SPM} — cannot inject #{product}" + end +end + +File.write(CAP_APP_SPM, lines.join("\n")) +puts "CapApp-SPM/Package.swift updated" diff --git a/index.html b/index.html new file mode 100644 index 0000000..e19807b --- /dev/null +++ b/index.html @@ -0,0 +1,28 @@ + + + + + Ionic App + + + + + + + + + + + + + + + + +

+ + + diff --git a/ionic.config.json b/ionic.config.json new file mode 100644 index 0000000..a1d1b22 --- /dev/null +++ b/ionic.config.json @@ -0,0 +1,5 @@ +{ + "name": "app", + "integrations": {}, + "type": "react-vite" +} diff --git a/ios/.DS_Store b/ios/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b49404ce4062e6f064d0e4612238afbb9f7b8104 GIT binary patch literal 6148 zcmeHKJ5Iwu5S<}GvV@RQQtlOU11B;k$OTXcf+CUKKtbh>d*m{?3KyW~&4=K~0#Q-G z8)^3K&dghDU*Xvm5nVoR<{~o@so;k4V#C-hZ$7fKj7))Qd(2n2?XL5v#eQN|H<5*O z(rxdD{L8z~%&u*k^|oCjQa$PO{_XX!7-l!$WV?sKuIGMEP-#?v3Qz$mKn4D-0_fRh z)kPpjDnJFOz)=DFKNPrOo!AHZuLFZW0f5KrKIVSM1{RbWw@&N>5rJt?fkD-LVrbA2 zFIiV7_JKhc^)F+e{Icc?Me~NQ#mhzOK#o*^3Y;o1iRH}t|26!J_x~x0D=I(*{*(eb zZC1?^N6OwhI-K>|0>6QO7;3#7gSTR!w_+@;6<-bNip`O)6Z=4?Bkpt{F9N0ujSBpR F0`C{dCtd&m literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..f470299 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,13 @@ +App/build +App/Pods +App/output +App/App/public +DerivedData +xcuserdata + +# Cordova plugins for Capacitor +capacitor-cordova-ios-plugins + +# Generated Config files +App/App/capacitor.config.json +App/App/config.xml diff --git a/ios/App/.DS_Store b/ios/App/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0864069d52a218778beed6a3adf1a696a40a3a56 GIT binary patch literal 6148 zcmeHKy-EW?5S}$x1b;AKW4TWtq_w()6D)T+HWH*a@?7nj$J{nKok>tYc>{GAn!2^=>#<#pq@ckgSnm`QLf`7+qfEfe&?K1u4VD4upZ0xsQga`aA&jBS3Ig! z29yD1;FAIVK3FJYELeDSpAHz;0steponXwp1jksxSg`Pj8Hn+rKp$$P#V|e`ek=k&}&dD8`+R{jFP0CibXS8Bhj72Bb%C@cqB@eg7W@>60>`4E!kuOq6tz zHcFDawNf14wHCS$W#M&&M;8Jk*RdP$RlEsxf;r0rU@Ta8ga@KO0*(eX%D|5@Faegp BgDL<3 literal 0 HcmV?d00001 diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj new file mode 100644 index 0000000..1bfcffd --- /dev/null +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -0,0 +1,380 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + 2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; }; + 4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */ = {isa = PBXBuildFile; productRef = 4D22ABE82AF431CB00220026 /* CapApp-SPM */; }; + 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; }; + 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; }; + 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; }; + 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; + 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; + 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = ""; }; + 50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = ""; }; + 504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1A4EB3C21FED79650016851F /* App.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = App.entitlements; sourceTree = ""; }; + 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; + 958DCC722DB07C7200EA8C5F /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = debug.xcconfig; path = ../debug.xcconfig; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 504EC3011FED79650016851F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 504EC2FB1FED79650016851F = { + isa = PBXGroup; + children = ( + 958DCC722DB07C7200EA8C5F /* debug.xcconfig */, + 504EC3061FED79650016851F /* App */, + 504EC3051FED79650016851F /* Products */, + ); + sourceTree = ""; + }; + 504EC3051FED79650016851F /* Products */ = { + isa = PBXGroup; + children = ( + 504EC3041FED79650016851F /* App.app */, + ); + name = Products; + sourceTree = ""; + }; + 504EC3061FED79650016851F /* App */ = { + isa = PBXGroup; + children = ( + 50379B222058CBB4000EE86E /* capacitor.config.json */, + 504EC3071FED79650016851F /* AppDelegate.swift */, + 504EC30B1FED79650016851F /* Main.storyboard */, + 504EC30E1FED79650016851F /* Assets.xcassets */, + 504EC3101FED79650016851F /* LaunchScreen.storyboard */, + 504EC3131FED79650016851F /* Info.plist */, + 1A4EB3C21FED79650016851F /* App.entitlements */, + 2FAD9762203C412B000D30F8 /* config.xml */, + 50B271D01FEDC1A000F3C39B /* public */, + ); + path = App; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 504EC3031FED79650016851F /* App */ = { + isa = PBXNativeTarget; + buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */; + buildPhases = ( + 504EC3001FED79650016851F /* Sources */, + 504EC3011FED79650016851F /* Frameworks */, + 504EC3021FED79650016851F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = App; + packageProductDependencies = ( + 4D22ABE82AF431CB00220026 /* CapApp-SPM */, + ); + productName = App; + productReference = 504EC3041FED79650016851F /* App.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 504EC2FC1FED79650016851F /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 0920; + TargetAttributes = { + 504EC3031FED79650016851F = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 504EC2FB1FED79650016851F; + packageReferences = ( + D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */, + ); + productRefGroup = 504EC3051FED79650016851F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 504EC3031FED79650016851F /* App */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 504EC3021FED79650016851F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */, + 50B271D11FEDC1A000F3C39B /* public in Resources */, + 504EC30F1FED79650016851F /* Assets.xcassets in Resources */, + 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, + 504EC30D1FED79650016851F /* Main.storyboard in Resources */, + 2FAD9763203C412B000D30F8 /* config.xml in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 504EC3001FED79650016851F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 504EC3081FED79650016851F /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 504EC30B1FED79650016851F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 504EC30C1FED79650016851F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 504EC3101FED79650016851F /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 504EC3111FED79650016851F /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 504EC3141FED79650016851F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* 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_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + 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_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 504EC3151FED79650016851F /* Release */ = { + isa = XCBuildConfiguration; + 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_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + 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_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 504EC3171FED79650016851F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = App/App.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = App/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; + PRODUCT_BUNDLE_IDENTIFIER = com.kumusha.app; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 504EC3181FED79650016851F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = App/App.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = App/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.kumusha.app; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 504EC3141FED79650016851F /* Debug */, + 504EC3151FED79650016851F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 504EC3171FED79650016851F /* Debug */, + 504EC3181FED79650016851F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = "CapApp-SPM"; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 4D22ABE82AF431CB00220026 /* CapApp-SPM */ = { + isa = XCSwiftPackageProductDependency; + package = D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */; + productName = "CapApp-SPM"; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 504EC2FC1FED79650016851F /* Project object */; +} diff --git a/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/App/App.xcworkspace/contents.xcworkspacedata b/ios/App/App.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..b3795ee --- /dev/null +++ b/ios/App/App.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/App/App/App.entitlements b/ios/App/App/App.entitlements new file mode 100644 index 0000000..6631ffa --- /dev/null +++ b/ios/App/App/App.entitlements @@ -0,0 +1,6 @@ + + + + + + diff --git a/ios/App/App/AppDelegate.swift b/ios/App/App/AppDelegate.swift new file mode 100644 index 0000000..c3cd83b --- /dev/null +++ b/ios/App/App/AppDelegate.swift @@ -0,0 +1,49 @@ +import UIKit +import Capacitor + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { + // Called when the app was launched with a url. Feel free to add additional processing here, + // but if you want the App API to support tracking app url opens, make sure to keep this call + return ApplicationDelegateProxy.shared.application(app, open: url, options: options) + } + + func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { + // Called when the app was launched with an activity, including Universal Links. + // Feel free to add additional processing here, but if you want the App API to support + // tracking app url opens, make sure to keep this call + return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler) + } + +} diff --git a/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..adf6ba01dbe256605c5152ac1fd78ae99aaa2a8d GIT binary patch literal 110522 zcmZ6zcU%))^FF*GXhbA*P$|KJSP(>zUV^BIG&`s?Q2_<%O)OwDgSjGH$qV>6Xo-g!2g5b5?rAjB{W@d3(adBE17rY5hlXhQ>hkAR1Bh!T=C&KBA-x?>~0mab$ z^yLe4#*Sc^xiG#k**LBwdZfyoM&Mv{3a2f8*~+KbG0EB5zG%KEC|l+4Tw&KY8(6Piy_W`;&Muy{PI41GFFj})>j)`sH+AyEh;kwg$B5}C>1 zztKY`j#QZ7H`g(TALgipmuU z5~wUaI9-^VyGct}ij7_aezf9c&3^eQ)2ragfb$vG(A~&NgIR*8=)=x~kTTT#;Ke6G z_CsdTSzh^6xOXkb2-(D-z96asg=~A=^&}o<$KvNaiig>V=s}2`M%pQyJv~uet%hds z%exRqCMv70p&5H1F?WcEePhFR*ZTSf2oIPpUJ~mlc+LM=d zK?Ji0<(y%+dX25X??%K|l*^m_7LLEKQCu$5hZ>l2F(20F1LxSn`mvO^Nei4~F$97R zv12PZsyV7pK0zi)IcND8Krzx!ZZ{;siN!k~9D+`iP~i54Z<@47MA~dnAvm}cZy=f_ z3p~69S_wk)#A%u>IYX4h3a~|R9`Bu1Q`3%OXt{r<0Pm{Pb_Vy6N1(%Lu*q7llSMXN zSmK`)SrZ4M-H#j$Sb>1_lpzEeho&L3Ey)Bn43Wvf4q@!V(H93@!&%D$@o>2iYXUSN zAgMi2)(}+I8tb+BKZLjdO(U{~karOsB1ik*Bh%0qLF_63U6KqFT+Ja0=^Zw=?4Dl; zm>Gx^KL|Bx1tKR!_V9lX@bJGU_^c+|bT6NU2I+68QrJ7_zYW#9K=9BXQLrKa8WEAh zKg2F?{@-3Wz$Sv3Cf`w>UzNzi&_XJ_7CiB{s#BOPS7Q77!Ub_m1?qAX^8k_Bck-pA z!iG56!DKy?(6wumvyn?K|75%&6|1y#FWh5i;t$n|l2pdAa{GVcLcqoI&zO*rp|_MP ze)N9#|EMpY4&P@?>y)SQ5Jy!jW{iyI@7ZqX4Zskro%9s&XaisL~Z{ZCk|2lx@}jeoNstEvgvmu|`nTU`9IT(c%Jxp>XT z!+*KGTXMFJ4{QHy>+&HAcL8lo^pd40W#$5vfT3GbyZWX)+RU$Iag5eh*Qd*NmdZD2 z&EGt2nk8d^i4{4v*Nogp@bLWRL5-o2FbvZEE>yJI@lV{jAFOazn`w>7`nlWy8}jRE zw{TXMY4DpI3HBr|?Abs8Tcr(~Lbj}2QA;6A&MnH!ZbP>HLUfQeyd(rRjHpM-ndsR} z@VKWM%pB)!gX$zdFG5nbQ9nEQurANMbl0w3YXcgu3J>xj9vE3#LeZu6;n^0UCiwGx zG2+9Nc1O}%zG_Rqi#4m5B_Pe=(WskCsC~_ZMJ9ObBDrD;{rDX`QGag(Cf-G8KlQTG zqOuwmUN*L%3vB^@5J4_WcPDi{#Qp!%%!aP6>cTi%AMqPG0B1JQ< z`^j>(m%9;lCY20&__z=v(F*M-hhTn6qC{GumDJ&4lR8w(M{5M@>U(C^Gzc4-|Idcm zFqCp|&T#HANLs;X0rg}_N%8qAWZE^{U!a7ua`LtRZdQ9&Q>TDR5T;An@WzS&bVjHo zTK2_dSNIWMGA(i7ytUB|hVSz-RnsdEXC1*obW7}}Pv~5B0pF?A=mAXEOe2R4&T8n> z?ltHNoxsW9&kMiQi}~3CPogP_(b^x{H1TKPHQ#Hx|9`-_H*NrRd)$DA^mpK#H!KBg z`YW17g;T6|0UueM0yg?VOQcSar6`L z@B~K8%4u!RBU}ssV&@p-+hTNv$Q0qrN0|qFSndfBqYNZvH7#W&ACIGLHnfdD4ztV2 z9WB$Ab!yNo_@cC*W-QI$_80uSw~*MI3SZENOPXN5;jtxg;DSSpRKRiyy{M1Co0}S9 z3TGRS`+Mio;LUW)6|bJ@?=`LZ>`7O!xuM{SY0_%Gg(vw&IxudHHk*O0I}_T_zKIpAhz(CeB1u+)UVv#SiIqp{|t!dt~*2_4S}DsCx7Kyr!Q-}`iwvk zF2om-YAlzqKsxWJ1D}W$9n9wiFDVgD-l+eQE8F|~kR~=)0n^otbtW0G%*|>Sjr3jj zR6YlvW7I6vL|CAbAMRxNtuz;6!7H?bEEy$EAGwJ5QeYbr$>+d)1wqVs8MYs&s}$&T z#Zl2g=U><(Z((13*eQvS;(>K;;sIkrW$=|?j>uYo4bov6Sowt|b>uYSv@AaX`d^kuSt zXgP9H-o<9&F%@Q~OQ~+B9-~+}O*%6>CBWSK_QqNC^|wFGE&DP*V^{w4={xuag~Us< zTsL|VxN{hZOK!4+1@sZJSrwv@PtkKWB`xy~nBaCHn>6--fLEhbn{fOfC{&()*^BGQav-T;{BnSnS@FYXbdLfmDME22nj z0zAdeQJ|D8s@BGptWd>zGkW^i7G$Lu{PB}8ZhF5Dg>ah&_suH&S_-a2DVK%rP{H?6 z!4x6y5CB3P@_`S6nLS!G@*TSD)(YU8#Km_|z{X`gh;}`jX~sO9o?tPE&xVa-2R%o| zIJk)b9CRFnc(qRg$l0yGBH*hskU-IAw=qmUDUOj9eY!cp93itIbbQ))`5nW)XlOHid1tZ*z=Bh`hsr=*Y=_bET)|#|Xd)0UFCBZ*h;Dz$m zjvuf*B1TR(qB;Y29Il%9@uOCBP{!+>-@;b96!Ag2HXDunG!#pY1 zz?~w0*p5jhyyOJ1s4BE?YIO^IpYsjGo7$z@!Q5j_@HSHG&EKQfk&t$592l~8T?dd~ zP&CJ0JRJWPmfAwBbpDm&eO^L-F}=5uOMck^v38W)PVR*Vw|}ho!mX+U-oyEr)q)q zQVdWA`7WLC1jtqFf}iy#tn)p8HU= zktm(<;#*HGjtyfMgBBfu^h0VMFulGiG5?fwmZ-&kLaT$oS5AA&`NipH3>E!8XQQpMs3+Ig@*w{0ncxyplHcxu93=?aJfWkn{n9x?DD) z;A;n2Y&xg;S-@)=eB=>R=c1JLty+^#uN#lwNF>3b47nC{Rhu@R6OWk2t~6PGiNIaQ z`;*`z;A#+`^bSPb5(zHvq(^@qO@A(7VFWAVgQ)}y0I2){lwv1YYy{$D4YD~7azO36 zFs2LfV+$<0Nn#da4D)Gv065~tp@#UlAs{%OK%!k7SO^AVvW(v|b?zQZxr^#33+ZOb@;moD(${v6quV zd4SxZ@WSvRQR3j4)!|>tNYYY6BlUmJwKYrl9HBFSn;wB${nIazPmUWV!J9aUwGnSv zVFwN%>Ru}=RmcPTN|L9Mlo4+_4y6kh6ew3br-Bhla1=7+!%+qyKb2y68dk2zqmt+n z;yZOp~^3-oBqmxoN@!_XB>S3gzki71Zi@kG}O z5v_o{!$wbR9~ptFwzk5LWsQ~bzElDS%Vd#Ug-1UbevU@cFd!Eoj}O}zvPc5jp;A%P zS{vKzD{57=k<)>(^~rDw8sdmZhu?7^8pOkmPhRBJ>Tl#uK|d`Mgmi%l=S9-U3+bO| zBm;2D;z3Av&EEcymyc`|Ycq(BRKS$^&zMmxchn?Ex2zPcYD2xx>EYU#%G!fUhzY-- zj1Q*}R@u(F5-na_ZLk5#W+lQvoIil9&ZfYOvh37O!*$Io8*YWBbqHfRJI)5cK!dF@ zUFrefEfkPMxc@DDa3^Z(fiGs}HJ?4CyS#>h}@Z{(( zU$xj9W^W{}>cGCW$%Lq^l%mpNwN>|DH7D?}@sHnI`JRA`MCs|-_^I*{gU)m~{A&}* z{wEe6YTkvhb3lU88&oa!HRyye1zv1$O%z-Md(q01`f9xf?V%GKI2lU%P#AX3CNhu@ z1P=A}i_7tD#DUI9YIVQ48%AEJB*!fi6%wR$OvG-Z3}>M`7txL9fw8` zb49g+T0MO?N-XIeZFc8*bkZJ6?m2491)e6nzrh6R;ALjhD<33N5fn_l`1a_JcO2H; zG`P!|?$rizS9lw59)<(tD)HGEN;91K4(|5^hZ+3uFz&9nBo7)c$RA4iMk6r0RtCDh zPpY!clO@&H>`$a!OVNd=sSQQMK7Ff;%r0OSf32gJW@AP>lz?&RDnIbaOpwpAH`@C;p?G5 zz=H^F!4IImt}OtWh*~w!NFXfw7|)s)78Og%S@U(HC%+#I25;9+}Mw>K7xk$9~GXB!&a{epIX%xOFY7wRSR1 zwPIp}DcGPsnh4>Wk_Mr}+aG)?#yWf6^KVrK0VoUY1e?yJo0l~J%W`ib0qq{m>^+FM ztBTG;SiHi)nYGsP%YlgBs%<@}j4z;)s@aY>6A?m@HE6O{Y|xHy13?Rm;Sd>tYVF0N zW1&Ki^|TA*+Z+2GoD}?T0H6*CUqE(Wfm-p2k3oM}bPN0sjD$;KRwpT>unxJLn+TXq5C#OTrD~d{ ziPcmtWQ-^U9v+(KW$BWH#^(MuFIC;Yap7!$1|g9kM$T(s8izpk2|I{MOyukT$0X^y zvwVcC8??{c{WA0$TXDO?1@r$?*h#P~NM!$iPv3#3b|q*B+8Uc774j*j51PGGjJVpjGehtsWN z#fUj38>&bVq>;X~-@hnhjKuah)K4|2wCg5DS*4^jOw5Ylf0v8y^awrW>t?azd42@E&IOU=DSDcPqght90>9tvtCA7qq zwhc=NIn@LMw+mL>f@%7Oy|(jEe^sjPVcoUZ*kfNV1{--m*`EcDnOv&A)L9J}eacd{ zA%(!^ zY%0nz89&tY*wJrl6He$K5pF<-LAqQ4Zp$1y?cB=Ji96LbL;#+<5elC^pEy!wEoLQx zWC)^G)l`!8W(t9N&Og>)y)0xfyZFc@rO#(Wz+katLjR~R#`HaUN_1)jZYn_YZApY7gJ9Zj3 zqj%vQJsRw6@HV!|e(WJyA(Gj8ZbBK~Dpq0B0eI{A<7vBql-<)-xTVHN8eb-$sv^uM2qzF3#=nDkEQkJ|b<{*502Ea`e1QP$2U*{%58ONQ zhDGe!a1+em$jKT|tOwl3hJH{C9T2)Hptc+O-0%3)-^>(RKndx<>9Q&CL6CIG;gWXE zkF_^s*=Z7|b3mz}s>;+-e+=E%7as?HL(vHA4B0@YmSz+)i|5%^KF_c1eni0k>bo8r zN9UrC9E(lJJMj#6Nw_)TiP zu}+BrLb=??;riba{;zUUVg!pgaW5x&t&gyT5|Y!&otFk{#{oGZ2L&?r>O>_Ju${rf zSq9*AAYycnVd`VgYOHK#UD2S%q5h1SHJi2EM3ABoXuKsk4KkNIP&~vPpm=e4Rv(42 z+X?&$Yc7^su^yhlO)mhGg;3Ek=q8@Qhrs{XXFftJbfZ#auCZ?rm7f3u=z_rm(|giN z=sErKbqO}FW@_0@mkuSjB|HAGzQ1u>(}z`|b3+?>jlCaoxN$0w};Q~w{;4E`Zp$av@_73kTeLCo-YcLlAD+6{ABg z2D8{e<%%F#W6O983mrJi5Y8GyfmW*N=slM&`K7F^uh708zyZ5`HL(B@B^_m?ZrgH?$;;;Ppq@Y zJ&$m3GEftVuOHDtSQ`ri_>erC5Sd5qaASj+AIbtkcpT(e22oHgZi1+Wce^+L>djzti z+I-+gB`_Bt5KuAl8RtJ?Qdwzyj3pjgpv`H9Rp#$Z3kjwNIa775$ zlR7D#48KZ)vm*+04=2GhDiB+)`q7!oc|$T~r&u8qi&syAv1$+-gj<+Mb0elQBDntV zCmTH6drf4v=M-%23S82eF%QI0H!y=@$E6k|De8-T^Q zTP|=SeP0?-Z|UCATm$Sr1AS%$vbc|h7+qGGcrjh+pHP4b4(Y?$p2RN`dU=>!_W6lh zvQw9&bPC_8>b<}4PW5^cy!l6SY(Jwv`%ODN&tsj0e!;1u!dBHnsH`X93VNG;n2h19x#*PF%|rX#Pz#wXar|)lxl_UKh;|4(FnIh za`CW!5`mi$=|v1rQ^C)wf7?iRz+j*PyD0QcDy%^x2_W3|wK1qn+v-4xySJkEh_L*d zlf6ywiZa8`!{zoE`ot+iY3XvaK0msv#*d6-K&2VDuC79cdsVZ%i^PuqRt?cH;kf?c06ug^GgQ)j;Q|S z0cn@Kc1RHVqHf(c?MccSjTe}2bHMf@VT6u6w(WWz(x2;%xy;gRu!? z7l!Uj@GtiXMXE+}hrkQT1nXyDY{GCLI=>d!9jJb1|NAi`X`Bx@p3qIdb4zbN#$lU~ zN~jC;k8($j4t}gwBbGWpQNlL)VKN#l5U#?8!lJapFaZ6DreWyPi{M&+q*n3cM-RQ{ zjb;|Bf1?uB*ZZCE0ezD~@LgEp0Sv9w0uq1l*SZpSAOV{*riqnqZII7b=2<_2#Hbtj zaVu*h!;*-as$Qx$#Y(8X-dOGoB(A4KZ%S%=rx=D*>Y=8q%5{P-fTh8KqQl)U>;+DU| z@;1?KmnKHTSK`U2E=nVZ1qdj2P&M)Hno)uv#6+NYm zz(R|_ec%mG4>4z!(maSD#KlPL1APEYqmwXMgPdXXk<2W;qEbQs@#7lUX2MT&;*8QE zI_%!7^Ca9iQ*kUZ^IKoC(W`Yk9HT510mnm!Kyz}I>(UCLOq`{3V*FUz_DR>u^E%kh9Cq;lr( zr^8W^@KSBDNHW2nZ_#OWNXd&Zt~+Ywb$>ZbVqXhPHJo=Pi@Memg{tP5un81u`UXnAe`H~G zaolYQC3FT}>>=S?Nsr6-VPIK?*18lj3nvAkBLV!Tyq7d9f}&;Ly#}ph-08woXz6IC zxhKx*)P>QIdsUP7<2y0n+3t_J_Hasw)>(LNbLNX6(5Dp=)k?Yn>he++JdFdGrzdxN zd*X=Q{NZm2j4e~>e9+2e3Nhd^OTv1?xQ8t7>N3-~FJos#XDsw_0OO1)i7gFgpWjC3 z{-%j!ifRd<6XR@8?F`b>;C&M}SWSax4$x)+eR?gII~StEWwLwd%Q{U_n)LAJDBM=` z%|ekTGRAq_#H%!d{aiB~sS(Z;V;w2z=M1_pQd0GbADD6Us#)C_ zI}?y8$s)QVt5_~u9AnIHUN3umhOLj1qxliD(yKLL@rfJ%L6O1T$!zEN+h&Ec+DC)i zsiVheB%fz9=*K(09@hU=32tCK9O(9b&t?!EfW8}D1`{*>9ir5KhC^0@BZz*C$lV_2 zc>p8tx_&N^Y3yj@%v%Gzr!@*IQG4(^Xe~gvCE%XmfsFA;i{{8i9+Lv}&Z*50WE-^a z5tqNOf-v^e8yZZ0RF_B*_#Jmnxk8-^PqjF+(MW%>xdT$gZK&6$ykmTbCBbJnGBBn` z7~JKFzHUL87(2bQ+@RhMo0Qcho*g_Cc**bh5y!S|?k{_J?w|pnRszY){MA;t$3Iz| zXsSWi%A?8NXMD14CZ&qA6najhLMK@q|GGEig+DQqN>a_59n*$Y%dK%q8uP2`V*p#* zQ}^v_g~vVOf859m;ByZRIDV>tvbF^G)NZ0T_GM`RHttd~9D0e=$d3ZjKLLwOzROIi zI#~59y|y;XWexgFGg?>1>wxV8t{)#z6)+Z@ie;E3Iex@9} zW5Mbds{4g{%aK~>gRnfl;b`d?Q1t-~am~yQA?%UY%(Y9TW4}uZzYwl+A2Fau`mlqZ z!vfw@1f-dvCU?9syDABH70Pr^igMnJJ+ev43?$hX#FBU~MxEzegzo3jt6Jb6>r_%$ zK^r<>$^z#=((KwX(sIH8W|YEDD{&2y&)$s153f5Po!C*~qlACkfj;+kK`l{{K!;r| zWil}ms@n+yssZ$Y>p5B0yXm;4hR?S3FM@nP(CqCgO6u<>bEb1%f-PXQ}bYlqUW@;A8BtAbz^*1@YdC1oOjd@O$#S+mvv^!pPadU*d4Rzpv=}*;95;1#8?c1R()@bTV3jb8K_l=dv%n zj#s{!B|T~)?Getn#5>ByWp=eOFqj#9iF97)G=pHRN(h^VZCC zxwD<%?l`eVg=d*=1W&Os>kPx(+}n!9=BFyBBCgfU!EKxf)5xFaO5B&`CLlK0?8W@x zD8S&3+%B4Q2|G6?h_#}?vx`*AblNr(8OiHBnI@~RwwRupPi-cpT-LZGi7%7qxtc_C zg5zaDJB2Hq+a6BMtBf>a-@)~5OS+D_@t(HdzHU7lBPr#>|5kc5<~A-im|u%+N`;Lh zQeio)GYH&|T7XL6F$T;aEUxt9;iGTiBi)^I6oKbNK5o#gGE{v;|Z-3`F<)0s`sH*R$pg(f*(`RHsc~|1$&I}oR(G3lo zC<{Yp;qj~7RJb^lh8zAf^|z&iosIw_hYNK5n}x_?#(L`W!b4{LC)m$T1*%}ZZ? zG?9m{9Oku_krH(5+P9y!h5o}=lxWAzfLp*Kno)J%9CdGDP+RV4k5xUpqKGjU17Tcf zjBcx}c6{TegH15gXHVnAeqld3-(zf>=-em6sHT?YZ|#K?b+4=q^bTl#^*USX zO|9Ep$rDMdOdm~lf(bL}@RvQpA$D90-G_3!c#YZ)->Gppi<_N(z?DuRT#hd@*(La1V#0}2 zniavXXVLjDnf>5$iSj3UR-KtfM?XotMOPvpKHwk1uyqnykG!m) zpMs%l;Ns3sBA9c|URo^e;hM8fDsl&*N^YGXp{#L&8ukc`X_Q{M?b^0&Y-g^#JkvF%;!7 z+MSj3B!$ul<>EVevA&Tj%4*#w_26R33{!fPHFuJ=y+k5)lfca2NiO~KTH$D(h!hw% z>9tNfp9Ir3mz3sQfK$a3Wj#EfUU;{ZCr5Ndav}-H+>O`(Qf^Q{3}(XLoM`d{1=9?p zhrAXm2YP(M?hIcMIr+IN=C!cznzBXv8LaPp)h`07$KU0QKqurWS|1qUI~~nc4dVph z34h1VL+e@5c?N#|syB`6sO?E2*rs&2*8Z3ttJV`jwrZ&_I8R7FWBSHu6%6|i=TqCl_qHE4K)IdU9Cs!lYc=4a z(5(4x^t%_7(B=VuB8p+zpKm3@gV2qw8odF_b%)gS3Zhn91r{ zJe6=uTIn|To7*v?rz!_c0Bb~GLs8zK-4j?D@;pteZheQjvZVRrZJg68KO$Gu*yf`H z{puy}6Sicoe>8)58n;}qxPC{ndP)(96a=OO1H-l7X;UThsq!g~T0?E8#~fGe{G#P| zxH#73TtfkG!NHznkImi9Vm4}1;O(c~;l!8KlEHg!V~xKK7F?XRkB#{$Q1Qn>_GN}K z?;2E`;oO;K z(qudPEGS$)B%SB)`{VtEA_@qda`-Rf#0K@Ua2=i=_QRhVHJFbJtsUeM`=e z+ZpwzUFHOR$}hrT_fjIAz)(E)tty2A|2g%j_lkvJn!ZeX{rFi+zVt<#{RzU0wp!~a z8#;B%PeksB=M6ogb>Qkb{%xS|w8B7a@a8Hu_YO@fWRGZ)hD(zorimtdAb4**d$rNt zWBkx@na_)CIW(&f>7jE|^gp?)p^fgc9Mx#+D7pJ4E9V;AA8VxEI!9;YT}Xqk50KiV zPHd-$DE;+Pd?)2X^uA#*`txK294uu5(=wOY-!?EKk3Rju7%)=C7s)FFDeOq-O<+@a zWUi>xk(Fn6r3eqcl-Pw7$)9qzJy#|bs@UtuoCU6u;iS$SSS`+A(#xOLIJE@QvS#ifU4E``>n;9ZLr|00r_G%YtEb{_A{@~!g4(8Z!hV8lHT+6 z${FwTWO{`rBQGM?}Uu`EG$tQ;f)Q!&G{rSV!aLNTobFZ6=c0Cp4dj9jKq4p5yPEhET7Fc%q zeSjf%z$NY%lYcE`2PQ}E{pJ0LtE!zE^PwA$`ly76wyW{SU2HA%MK@r_+0hhUQ;ymh0(^jmKGi|;S^${K!T1_n6n zi!=)T>X^(MaPf5#9UGc$)Dd}kGAz8)#KR@GTox1vBbe=7YEkyjuN@4JEMffFxgh*v z;X>e2jM`1{vlpqkxZWxKs7+e>971D|Gh1^$h50S&e67Pc+WE59f#FpsG7>c1%u?M3 zekynMs`{0w{dhMHIH-wihOcnME-^m*_I;{mvZ9X#B3vh{`}FxP&R^bJ#f{s$o}XcP z_?OORdX(My%#32T93eG-4Z6wsXb!^i#J2@Y+wbrZsp#lOOj36`A@qsdIh`YM@h-bO z(e>^3edDiIdoATI7wL5`RfQYwIqvB)uQFEc`FGLgGVz2w#=+=WtTS8pttV=$V>yLd z%CWO&_Q&BBcq7$F=(E;QF;mFqWuN;)_XvI!nt1se&(go!#VAB zXY4(;kuzIbZi;y#Ux@I+mP$kVG+(c_vB*oXY(Q6A|jbR6j>j+jU9 zZtlf&wXQ)4{=^?YDwj|P>2UD5MqHxKme>NGpZKY|^9S}Gq?|mF6Q_}Z{!hxUgV7Mxuu@+ycl&a|FignPhOPkr#%&? zl<4_^dJY_$&sL7qng$$|Kg)Q!_B|!7G0iZ`kMi`)-lZ(*r0pQZ4`t?s9ZWq#JbUXJ z+;|JCHU1oB@m!_S-^?&6zi&VwQ8vKz0l#Zt<;ORfJh_!t4Olg!mG1C2dHon7{}v?j z!Q;sH)GEZJTQ6di-`q#jDDbsNa*=7L$!Z1rPU*dycYOK$@g}}S@|51L{jPzkg1T?< zMqj17B&X{zN}+pAZ;}Xc+0k{fiU;4waZ~EA-Zp(!jS9iTQc7~~YW5v^zd6Y{y6Chc z=2+qTS5NnPigr8D^luzo{&bu2qAiOo7$4+;a$A!8vn=s?5Lj*?1U?vepGSY5=hJ|l z>sbu1n=JN7cy^y7=@y!B_PVLmz97kB2H7V}=v z*-`YM>-Mdk+Uq~%TJ&^dhEczSM7uCA&l!2b=@d}t;r3;o_H*bY%%yFs$hx4T)c@Wo zvSE|{c(U4A<+aa0r}H$Wi|$_?r)P<(UDg4n>3!P- zDeQX9|-klY` zHT$P!4{aa5%p&&YI(KW_iF*&P7Y)_k#95uB!ch$Bm+93#F}uw_^#_#J3YOVT({$pE zmQ($1zQ1E!xAs?M@#DC+iiLWaKe;S+}r8Cp%WZgOar?CBED1=p^&G=xX_q>z!PUNrC6qC=Yfr zE}eSLW2C@qqHJG#aJ#p?nG}rmNE=@H>ufL5EYz?WM+mFpZd>lSEM+Us=17`pB z@+a`E<79$m#!$P?k(+VqzERq+RNU94^hu8GA04mmtjGK;uM?f>dd4R20X!WZ0u6An zlanS&aqXbTuLJeb(OBywHn$+JEG8XxT3ln4cpr0d4i7ODe!cEUOzxL69h%G!=vO9d zQOoZfYYvSUnhGBnii=^7lMFC1jrS5OH(CvS6EdwZRP<7C`B zdc;5QXmFh7qeY|RGxOC6^$+uQF?TrykG9|a_B_U){%K;Hs?*m!7Ta%#4*qE!9Th~3 zLL7GizGb~}H=tcYIuosLLX zhaYkNbm4m%0r4Vs>EpK-}5#b!=S~>O7s`RZ2oh@!Z{l zy^x+cy5j7lRN%_Nkk!QAHJrQQbgBz!7@ajh-ynERQVcKhJD3$WtUojG_)zp@?Jeii zGyQU9uvuSYdijsY*HEz6HZjJn%3@MpKRq@5&1(T&%1G`2K;8;C&AFfV}FvUYplLQVUzFUjm*XPSp5smJe~Iv0v@bP$TP*^oOGrB2=8Ji(#L&B8b|76n+@GlmK4))+l?d;YCQUxy zKag^rcPL|FNkUrG(BpF8_< zPR)MPF3$a}0(KLI&;d2jm@}J9NHMR{-+ES{`HDt}h2b2p8dS^S8hBOUwoDTq_?piv=*0oO$9HaCDiJX`E$vx^ku!YoeCds5!ChGY!e*0tQO!inU!{7y6}-&tJsUBbjco!{?(bb zdN)R)+b()k3x|m9?jk>z$6hx2N2Iw{p5Hi8Q2OD>pj9iZq~+sQ8UVig--53JUwMEM z#kfjEf9m=RLc#Kyu*m$o{+emoRE|^|J=w#)V&>H+dFK=?Zw@>U>Do3HS`QLGlS5tgfc#hN{C)gwEuA9{djGk`VWWiI}S?DdKBGodA`lI z*!{h@X0yie;KcK?$)~+MZW&#@D|`8US?xOk&E=6U@*LbAX|^8h3%*2a9vFOjxP{=M zDJ5SCzPantwLA`T{FE(4cnvyCSPp>wy!qN+eYUteY1@2Ra5biH_}TVtH6jmnxAaNy z)3F_T%05%Cw-Ih9JU`{|$3Z2>GjhKzIkKbw#jxHXmFDMnRMw6gTQ4>brtMACiSs|y zHo03kqYS{9G~Bp3Mk`goPlKbu*DdMv?Tm-?1M=Pt?Rg(Z2<>Z5=X$Ow1bu&%Mu;%F znMo)!Zs2tCU9=I23Tx9E)3JEU7d>|^C?mF5EVfc0QQP?HSYgygN!u)##SGE3GRE%t z7LrOXbh4ARkY+ErSLo7vWoyQ8|G=!JW60f+7iILYYBLi%!VZcQv813+LPkrW;Bv^E zmBpw`*16Q%cT-H%4{O?p;odC<&u0}){E1$0(+~=N{vu27=fzW9WD#-mmu8{_>r~W_U;Heax&Grq zxO{p9#igGwTsN03hvZ!Pd8ghP_w@yVq;W`VIlkX3*cY)%_b?{Lh@8a{kQaNm&-s!o7IvhZU0jLhN%$hL-J%h$Avu> z1s5T%w{WDCaDkVG+}dJmHatq6RgK3_)kJLiTXZ|V`h7S1NB?ALQ+G#~i#(!>BT>U` z1M8+2t_hx9S&WIp$h#{0Kdt0j91LT^OOa-! zWa@1iLaC=Rz!7-$C7^il~wxL`#H-q;hB`B;E=*^;fc5 z^Lj{&z^-ZZeAl4#d>3;vO}VRj;minqT!Ek(zY_cOii5xvx1YzXczabjFm@OQJmK6E z73t>JHl$P@7^%Vk`TNKZ+NPuYX$!A29|dLR{ZeaBk-GQy2iIF=E$^VdG|Npx*WZbw zrI#!dgV)Z9IiKsi%z}ZY-6L72YOaynRQE+ za8Fs+EpOZ?B?~+HM$kGWs*vkme8&go+k13o*ssLIQ5^~o|hSE9ZIZ|nQbUV-A+l%mqZ(%u|?B|g^ znVJbQzt#^Ff2fTt)1MWKM7znvItU*PPYE^urWYrh5F4Wvb?T;oz}3c;@PynGzl@5m zrmmO#k*DRXlfnO31AGvSbL{Rj&G9ChNdQ_7Y4YZJ3@VPKK`0`fFbx@HOLvH{QMXup z$~$?%TF;mF&i>_-D{|aNj{hkhE&9FJ^P}?N{fb*&4PHzkyhz}^{zz7VtNyUjDgL1N zGdWwUlXiscC~MTLF$3-V6wBXBvGFzkA5CY$7FFA}Z9+f+K}tYk6iG?xkP<2B63HQ@ zyK?}gL8QC8yQI6j8|m&Gn3->Jzt8s%uC=x+&NzPKM`C|>QFikUnCfcLlL<4 zF%xff&5mj0H`u0b?9?W$e!hOWVt*as&LCCGQ^)j8O4~Xnk?_M#^^-#GdAs=pBnYt8 zk^8t}!f-br4?hDTH!Dsp)#>20_=c50M&@V}x8++-cl3ctzgtAtba#VPCI6Aa52H=UYQnUh~pu2lIGT z<6Vb)*UhnTy^2+#%b0#+OCs-SFyrFpU~tVn4jzYEhGR(R2SNVj;U~{$4ga^pA@6Tj z;2y05xj&CV4F=UAo8j+Co%Nx$E?Ie(-&>xHjNF# zqd)g5O91Ieg%K1nv%1(ORpOD0%F3ZBCKpLY-7yz_uVc+yV>IZXGGfbe8IyIXG+Cun z-WwQ>Y3X@Eren?A9{<7IvBh@_$H}Di*+Hed5b1}vT}3Z+F8^@v6d8Pi-L4@Qy6TxE zyCVTbMPxu4Y>Slj1!2Lizfx@P({_^&(k3y>x$Be}?75fsV>uYu91d}p@;HmLr0zT6 zf)$W&ONkpT3rgayAHwN29AXEHbido{5law0Oo)J03Xe97zYEKMwA8v15%>Nc#PIqV z#-J}MAgO~Gj9>Qkz2Vy_xHQ8IADtwPU7ek(B}54f^IYNW-|b(fF<=?xUU4y>ww`<| zb3{sZooOGp%R%~RhPwRm-ywk?`;x9 zT^JWd|Fz3>aqgLZ&DT)VWp)xQe!yY6NMdX`WZFoG0kqU`*&$z|44G1|V{1m_gpF*- z9`@{zJ1o7dL86wz=^Y1m39kkBedFEcZLQr7-~D4Klx;jyTc3J>G7yTijAnjX>X@hc zpu%!)n@)(+lK2~Fx@F~7;&UMp!N9}5a4|*P@stcoJ-(~9M)--VCKMO%0NJySPeHl( z0BcjOI@@o`E??>NvF0z&!I?_@Qb?lnRz7(jSu8J|R6LG=!*-QCPn{k=QDWs7lL>oW z&N|s?A;$MtFhuv;Q*eEHlr~wqbYBW9HO`FWLxFJY6dGOQPugVI>EJeofyuCVG|ObP zro#ATqmYh#UQ&1bNMUh4azK`6yagd`uD zW5JpfabKO6bz2?Dc@Qwftp0V)RK-syINiJ~pl;OkWs_D_)@GSv4t4sUkK>wVve}Ps+vSyIP5CHP3(uBZG`LnY7vO9 z;lqz#$RLr&B}x4vxdhLLKSn>P^+aku@VBA@A~sw*duO)+p!y3)e)s@^V9)U}_MULJ z9w=ky*GIueg3m$3-D(f=)kJTd(m^Yj4hGpo@qRHz0+W&Oa5K^U0;Dy00`f>R%NqGNxp$5m`WyK;Qt9=;nKuSHV2n%YZ~A3&Arc zd;(OQU-=Ma0e0+)1YOzD`6H#I5}BLDiM*95t(&;0~qKYUvE4NYe-DdNaD>^d&u z7k&5$Wz(kpKUG7ybVb)`hpF8^I$Dy*krsTBTi8sZ5W8ORKOh+gjVu+BJS=u;IMnPz zE{v~0y6fsD#JotpNF~qycNp<8?(R>^4$Va6BQ^$k(3nOq<%;RDG24P0d)&9xqQ9t) z@}4hEoz;PaulgJ9QM-rd%N<`fDC+#VM_V06!{SIgXezeCB-fL_0)I+y*mQcCzk?fk z(eNUjx^!Vmf&v1ws%|qItP~&N@WrhFkW3@H;T~u zizP-;Cj2q3fM#|VeXikV`T#b#ik?Pg@`1nX3O&e3Cyey)nuZSR?>a<~6)A3HzRIfM zo_w*?2tJCIMN_-|%jJX#eZ)R_<8(@)mdUH7xjqsxPw-{Bq~&UP%*t*5rq$`^`UKDL z#4OW3#I~$Oa5UeX7*`14YE`(yO&U1b1yX9G?Z*Zl!s%rc72V7+bEMui5 zTTD}!&r8a#f*Oo*ijTu418pO+3NRazDgQmJ-&hB7s*3mkCa|~~NY8m&FNBRuQad!g zVsl7&FQmd{A>aG?MLBgjOQ~L&iT$A*k{XCLDw2Zq{m7tFb9JNb0ovCr44XQW==-0j zub4y1a*>!*;bLDJMPxi_za(K@0W$AU?F@js6(q{?C)89;XKsW`H}_@t;Ynj=9)IIP z_$1|*kKYPu=f$^5@4W5B%iU4*gOuxF25|MI6p(aL2*+szvrPiDOWwQOoK#xw%n}F) zdc7yl-yLPM#3||A5r&J(80=3Oyjk&`CLZOD4amWTpEH{7;~y)L)O+d|FkDGt=_^wEVz*It$mJ$ii%PBU zkY#gR-%4jW8x(42dpQSjRH=Xc$eztsMP?`DO&VpDTs%5hfu&EoOrznsI%5J&;LINu zSm!7s3a|o=Bt9v1fv&OglOu@*Q1{d%z-_EgiKP)8$Z#N>=`KWBer`%V;3}`qD^}~H zP!%nC7=P`U!}MX>JGD`cNk)ccH}mY#NxctyS<9O}k!(~v-Diuvibmj=7lvGZr@WmZ z6T>G6)v)&kbib=7kKN*Ll%R3t5z(^Q^0fhi-aOL9847ul59%#jlSUxRIpB7M8I{Q{aJG4g-$>FY=jQ?h}>4#?}X2 zp#25TI4=|z=WMR^=9QAS+~-wpHfj0}<3NmHjR0J%L_C3@t+P&kpRmbnuf;kV-;)~S zuc_fo*I$i(bVpyOJhGlU6NspXLOnz3NT+g~l@4I9%cCYzE8qP1C72E;IAP@)nh-X_ z?{(}VFU+5Ay!x&N33Bo6o+a8H)HHWU7TeiFFnEeEUX1yYV$R zO5e?HCQx8Tv+T!CK@Ly#p!ZICJ`By z%8p?o`#cGbPsN@5W~8YpUmHoeGz(SSQ|=Ro4Kvy*pk7wU`{5F$Dprn|k5dcI^xQryFK8_anpm z&pcV2q!$@tUHAf!at4x&VvNuHG!sm3Y_RA|xBgz37QZFiTFbh^^I`UC`|9UjW1$rW zYaL9U{gdk;{y$Hw9BGxT5Ja2>qmjg`u(UT^9V!!u(mnnVsaaY`zkjgn;*=*pqoJ|@ z#71jy_WfIlx}(dNIqYM_iZ)jErO$}pUOu!v|5MY~_`p*K(J=d|CaCI|$z_#9j-pJw zi0zc(Dz`YIqXSj$vE_5scxPNWOIj@y$v(HaFRm8P2DXka4SXL=i0sPjGfg_k;3iGU zl3>_+*^?+=wyOLbm(o0G0PT$eLioNIe)KJ?Ol2bSa46)p-dukDkgd|P#|)Y<^AUGn zq1)p>zL>DwP%`Vds>ALh{JZXF8)?=5+J|DyPVI?7R z#CWaKLf@^j6+(jY_T8G!3m^GE3AE}s#G}PW@6i0V`^NEKJc<|6- zd0ahLPRUL={kq9vV`KUH2z6_3&FJX+#vI{cUIE50w1KXBL7ay zp82|`Xs1C#XW&Hw!&I>IS(cXLfZX4Q$eFN-wdCrX|MKLJ$tMja0QPb5Ic-dT;K{>{ zKu+C)mS5U_RZ*Ifxj0*mBKxiNp+!wh*~x?wPiB|qF{D>GI5TCRgMY(#C8vmen!o8Y zgZW1>v5lnlg0+n~^;KkSn52Ed>xrJ^oiqcL(Ox2SYO~va&MM@mvV0z%;Pl4K{t*M! z1!^Yg9i`^66w@eE*%%i>kf*;Ud|Hfp0m}G7ZEE%@r+G0^WpjuPh&H2=Bi5dnB2Uu1 z=I-y?N$XFL8^}4v^4i_InU1L$!!JDx@U5Z(C03Bc@Vf<#{Gz?_KznIoI;~LVF(Sb% zt}yypuB0ft*K#_eI3MEd`&>^ql)z4P!5nS;kG~Q-spD?2j}kF4H^uQ?QgP)dixH)+ zHshkJZMqL*IPq)_C8}O!3T!+YB}1}VByq_PpOMQ#hn7d=<*8e;-*X!+1a}kkvG?dMnQlScgO3f z))eEd0>Vny?x5FNg2w>u78xLUzVkl!I59zl`x~ZjE-XV^LKlOf4WtEIaWbjN24=H$ zr(t=#!Ra-Zue_PU1kUUfCh>84fB)OuN|&{7lR4_ytzxi$@md$#@c^VTvYIim2+?H8 z!u=pzw^R}n!IMtjemz(}Z|o#c)ESSG znoI4E%o4xEorSpWg^*PPT1|egTae*;u7U|v3{XLF-~@;M%^0|Bku z!2W1nkmu$l(EeQI7ALH(OZdG!c^Ss}dzx=~pu2MT#CIA&QIhGNzGWEm+VBcw=^@W* z{#G4jWp!0X*{o(L^dnpr9k(hIEQ;EsO#*xi?a#sR=yi4 zU3~5cWAH_6XZOaD&#_Y8A8ULfZ~CRaZr>5;A#iyQMt!|K|+R(%-v@I)kQ5P}*jG1M^d__3NnZ}#EXI#|64#K``>1ZbnVE_MXZ`(u4|Iaf8aG=`m#R5_S&^lK0 z?m{&xu0~6=Fakz7Z_dwi{v}jY&&O<8dvHb01;(Te_ZfLF4&6hKCk->j5f(QhRqd2{_kiF7 z#J}_#T_#i=m0bH>CL{o6^OA*scOPL2DcyGZ z(RSu_tKeNf?*2)u%RG~&>_^yNXNhp3eA0O%$SR*!b|M+&r?OQQ(fOG7-W=tv+ONrl zXC^jrc?5IVDj1r}YQ(e6O%`U7*8eRcoLUd+Pll-P(G^D*j$=&o%4KJM3Pbv(C!MRO zH61Ume2r*pI2dp7DdPMMmFEifDwpr;nx!`suf$eo4{~hOi}%4^>U~@tL@%22X%oKV zA^*ppda}kZoQJNt2tPCx@nwXOp~fZiYo@(S*(3v9za6s+i}*{wc#c9~g11*#sbts} zG`%U>=KQu8&QqQrMwDT7ksN*VOL|$vP~#S`g|f^nwk6=bYHc5PE1%MdJ$l9xFKmwm zDz+M9ZMB}tiDiOTR7H?lJ=~?#2T{CWayDB19@|foK$D+VAUfCjiD`Hta~ie7)NBVA z2RNpNd*Gr?Z*g7{4AT@k7Vu#_M(uBKPTPDv8_kmLzOC!|$=Xsjw96EJ zm_SEh?BhBhyOoNGpZ)R~topA`)EjT|@ca=(N1rSyw&XMc&KUHN!rq4xhA0wliv8|- zRQb;T{BL3;4nJ`Lo4m!K=rjutnS6}lp8S`nu#G{@wFEGQpk7JP1o@gBN9*uAOWlUC zV=prc<-mpH(v$Hvd!M1hWPmS}Ajx^o=oY)bmV5nwsz#tL@b$|z5|IQ1fVQ_-X$ZD| z7;ht+LG3QZSE-URp{MdN_WVYitdrZozXf zBCV=#(aoS(kvXNjtGO>MOrvime=w3Y95l+ZGC4pFut3z~8@JDSF}K7@E2S&zQ`WMq z7D$Sinh-?KN5hyLXBu281AieK=~C-3y$z!4Sh+In|D zqo8xW7j-V{&q;SWxI`$lirL??ch{3+rPUc#I`EnFUS#PO8QlVrZY}OmB&AJG1${dK z8ok?BcSdn+$u_tJKi(P2Iz09eMu(6eUZi4(ckT~J9`2y_YJe5)>Qw;)I6Wje0q|r3$i6~j+qsEl zC=t(rW&!b$B(ud8)V)w zVH4FoCMtps{a2c}fxyx)ob$^2d7Llrtlqn$l&)fsl)=`5yk~xB{~QG0E|6CjFcze7 z<}Zx~=<;ArwS@gv8=z2z@?uL?t>%)X;^=p*0%%K^4E3(B5P$NK?w`200@+VdR+YH) z+2|U&r}B4ON6Hvh5paa1$^Ke6Kt=x)?qcE)~U{?Nvo7nL2$v zEBp$tSzVh_unNxE!Z+Eyy(qDdsCPosuk(?nyd%{3RYz1Xp)xr+qRo41Kuw$beQnOf7q0D2B1n0bd<=~Z63#;b5D~nNfQfs zb#6~kxpN}=P1e0D3^SHo{@SxTaJ>9#Pr;*Np-lHE!bu$4 z*H~kuP?zWLoB0Sz?&I4@Dvale!dxXX%0hU~_BmytXJu^t8YX|6wyIynw(Q7l*9)P* z5}tWg1_n+mG?h`3=8(9lsK2tJGFA!e#taDM$3k1+p6TmpG#u?wd%1ZNA7wJ%k|xY* zi{$D9(7T#wr;${zAUIE-Ap~@2+g0`uu#gGFTll1&ye)E@d5Pk{Le>RM^S1rZ7Uijk zc}B7!=0RK3(V!(P5^gFwpuiVou(G3ADA(eEwn%)QUvwBjmGLB2=0kdA${DUQ%ucQv_j zs0vgF@UNBnLi3uXjF**VVF`RNV`OkXQ1Sxof)!5r#a__7C$Ua=V^d5}-up7KlS~>@ z#Q}OIe(DW{0$65w5g#Hr zbX1Qc`HGT)`fDq3&iazzT-_eTR#s9dCKJNJG55SbVG=l~7dSc7l4#5ZadWU79M$Uz zlxxeZQtEU|+r}-|h^R<(vgh78dH5}cEGn+qL%6-XVQxN=H_iLEkN3W6xsXjH0id1l z2^IEiX{zA^5dQ$1!EJ4k0L)@7u_G>D9E(p^n;ui5eHmJsUvtp=Ti&YkYLo0` zGOpqTLIIv6+!VKg5$g#ZCBmUL0lVI};HMk?TLM!^Fm^w1u$1wf4WxEaRM)M0X>4Ey zX03_@MUY=NZA8SIEFNnHr3NbkX3eMF^1QK=wip(-5*9y~Cb5kG|m5X(p%n^ud z0D60tol>qinCt6slN}|2aL^8Sx-N5$F(?Gb33dvc zT*j2As(5uSq&|l5?HkFT21U4l7A#SE{%K(sl7WnHZ1yh1!vnRGRK zomuSOX?@UK%b?79*C-+eZHqmlz3a^X@kTL;n~lZuqx{za z*xjvvI9*5bQ40-qv(};nbsZM?CbpUi&=>g_QFDD!8=Gm$-Cv5^^!|H&m5vaJSlhDq zrCdigK!M#VjP;x#i69)@=^h@Q^rD`^EbrnP0E~t(7y1LzK&O|tQk&|_BbgU$(n>Zh zyhQ}ep5A$8DRckwG#6(`<@h9mZeM13%wW}im;*b?D^-nZyFwd@Npc;fet>DZ?Qf9} zY9TWpRdOo4B8?)qao?qiY_sRm8aiVgFxb2+?Ck?-!1ReIXZsUW!Vy;Qd<)P#f}{L$ z{^0)*p1FcCxZ7Kg(X-f8^v%3;LlBgqGMWbrs3sTY6I=uL1!~t1} zZa>fUi*0u#mEv_vzHp&1*gTKYbnzi#)8gVOr@^^8eVvH%3^w-3zER`}x!24Q8qu?h zA_~x-b-@{+H?@6AukdfTUbx{%Po*`;DRx7%YcP}|UeOSSzZYGpYSAtF=%5wq606@e z0zFYK{_R~ikx;QG-7Duy6{|EhDC3gHT-rKuX~XX1oDcWr3| z7Za#Ad-2iA_0v-Dr90N1*Ye#dFaF^uKN)BVwG<-@&jdr-8oYc&$I=z%*z+D8J1^ty z;R=h?A29aBr{g+tVg?mtc$7mhzMt$1BwMIH=wD2P0U90#*Z^g;I{(2+12M@goDoWQ zieQ-Y2Za4CU;?1jSp@V|jiBH^z*YzHWHv2mx%{cc9t7ZH0L8z7S#)zcfRv>NqLR3dFfV!Z zn2##kd`zd)nUmGrC*B|KJHE`<2G50m5oc8j^gmEW^dtR#W8`Itm#0yrLI8oOxU0~b zoldadtdD`yt5JcP>{@>VX1JgA{g>x0jB{NQJ-7yBJzu>;-V2qyrb%Y670$` zi|$l}3-#6XyOv}dQGOfoI}-xjNBzuCP1~`cVu%!HR= zs5*M~=jEG>DV-?l@L`H$a0_VZv*4T%O)>RCoY3Y74Px0IEp;={&+IYw*ITicDyAaV zKe`XZ+cK-W$MnofTsG32&<|cseh2g~Jne}Q1q%fnTx&qEpEO2v{e1A#55H5Pg{gt9 zI-+N9tK#=+Cg12Omrh6C{vZIZf}qB!wqy%DwyU=FJ;?mhzw+s4tRHocZ9t=cX-S~z zD%j?JsWNeV#?w44igygb#CtV?Z%!nP_N`Vba;#>pByT!&nj^3{#p??cTs76PrY$bH zRfHvXq>ZaNzL!fPcN6Yy#-2Rlkq$Tc!=&(Us_s0#(+ zw-op*CEL;$R`dS7DiyZ7meF`fmo_r@10?`gG3!?(%;Jf0L^Flnt{zZh`$9fEjqH8} z0nql0=p3EcTj6m^UYReO(*n13*eMzH^#`~$gH0#vMqaQL5lmrNR4TPP4Vq?o&+{d_ zGQWP%ULKW-_%*o2B+e?gp&`$b1l#85=e;wTIJRq+D|xdb0sF)dsz^b>sIPn)KskQay~FB zp_<9!f7{pW{Bh+6hGZv@0&gPto~V7iz_=5HKNeCW{g9)N`V)6pPYS^^j_?F1&Myxz zndQvw;}Y(_T!#)%_qxw~W4{y#;iCq;$&21}E@Mf%!_|M3K+-&J%I9aL;G+iG@wf>nn+pCiO44_l-I!{gBl(L zq=j^j{O}7^pAJ-5U9w-oLmB+OT&`vNmCDgT)3E1Fv}JHZF`ob+ zGJ2J=?O`LMb3Is=uDEk(brB{HlBQFOJ)x{69r=CuMy&bol<6c7=fGEm6Ruv{D{C>I z^@6DDZJ@9OL%0kqLR=YpV@{#_1UD@Q5it~l77>`B>t!Z&kHbm}rOJjn+IUB`ByHZb z5Np*Erk!!8O$^+8%p$sF>6OB7bJ@}N9Bl=wJJB2m$ln6tE{-4W?h?-NY;W%00PEkn zMLq#oRG)JmkXlsX$%Qw_>{o37GyWrbqe#|0uRxac@M6BgzI>F^+62B$J51j@vb>QQ zH#AbRfX34%UbTm%7a9b=Mh%j_zzHJV4oPUH1zi>t+S=MV{i3{}$(?{HUP=!CY$7iVg)1Iu#XP7UXn86Rvwc#%^7sgSCN2w?jS*oTz+0!O8|PP&R3qk% zS9lokwn*rj-yxilhGnmnIrwU`@C+=#K$SM}i5~^s8G*SNK!`F9IiFAXha-{>*Ko2{ z1jd2^L$!GBzr?+oDO5^*8-lid{BL#irZ;*Y0bBtdUs^DM+50{aLzEW&w?}Twt z-WT?A_bAXdwQ9Mhn8Gx*mwWnm1xS0!KMLQr(-qG;S1v0Y>A%UX)~d#D>N#(26#*hy z#8kSj%s$%An;WB@cT!&lSX7J!POhPy1sF=%09;VDn+P3keg%J5b~pX3$xr7Q4cQtY z{ew{#$8@;Q@LNA=jI?`E8`*WPL}4rd&z^zc!vyBY4BuUCL$RJPqz!@(o?N*=TWKg9 ztcas{P(q69%U(i)SZFT`z2~)B6AI{fA4I&;JSivt@ch|nGefr{TG}Ny;!D+L%3xRZ z*HekQ(;{{M`~~lull?}KpS1`Do{e62sT*fIyO8GeAFq;SRt41)igwtmIN^U1#uL=m zjzSCNrVI@^g+6OX5%T!&OsAF{os0J=0GZxP*iue}KPD3CF5n6f173U}p#F%zyC=!2 z+H}4@*NC?3n5E*}s9t^=;xE&3B4902!ThOT{uf1;Lo4>E9ghn*;Wg2YNul4f^c8+Z z?B4PDk#{^kz?}w0GW_=j0Y*UJ_oe*TAcU=8_iy=rk4h}ju=?Y! zuO=Ka8sco-c}AN*-d6VPx^bcuO_pfLXmkNZ1^n2;BEZ5^8a|o*xp+3qOiM9MD-u*r6g;N z;PPNI2_z34p|w{ktqU7s4e7qN9fJJ#Ds4|7u%A7Js=zWuocO(+oRMKXgUA71zK$1R z)uGF|kJmMcvYnxS6BS;|(w)Vq@8~_u1TnIV&$fLX3Lw<-%oFn)xv({p7KpbMP7}D? z$P7rGu`;4PM*UTbFl||`$syM|ThEe1l4frmoWaQ*7}>ygWC=^UDZ1cY5|pOOmRd#F z>bYvE|5;F@r!anhIiP@a#>X6K7sr)@kVD9^Ljb5);T1v|`9DOZ1kO5uX0Ules)suv z#gFU&-~~lI)6Mj=q7{$*-wZ|KLzA?Dy0p{o0rtbsjl^rO22c!|-%!|h>sa>)+(Iwa zdV2Cn+OQ_Bi)wJ$zCQ>zy)HkrNVU2=?W3*S`=AvoPY~}C!I~`JbY~)LknTX4Kj}(4 z8`sb&eCXCCbaIr4>}Sf@yJSLjU!Qx&y(6^3Qv!5=zo70R#8IC7{ZE$Ezu&E`O4f?L zm5xIksHRaHa)=b9Q9T)Cnq#_3lb}szRW(D~Id7J$3w9kC=CMnXH5++u zV=HShTX}0g$OYH|>4XR(;2~91|278wzLwQL?n|Rrl&rkch4sTUnaaONSGLdYisCPR zB<9IZ*lp9QqR8^jALYOGAI=K)P=BgNaRNTV>RlkJWDb8C7b|{=ET4#5k@7$H{oQ41 zJOtVT13xt2z<4;|$`E&(&{|#rs7TwS;t}HuTNzlC&X;@4te)gbQwCVF0{2&w zs;)FtX!0)W{Tw3=!Q_}eXZ`o1*MULTRC{gb=W+K)jIxLmHz3@HEdBKI+3CLDJ`Plv zLrj5AV8ZHTGlh5Rt6;Cq5diEzeCLlyZ>bNhWNInvx;a@(+)q47d&kgAl1#WQB`5yd zbSUS7S`Xb;L~tkknN+7Aj6?)C;8AP=Ck8})`jzQHTogMB=^md%iqfdNo&MFu2d%B~ zq{z2QFX)SB04~{rhMN4B{^_IGwf~HKAFhS*|*a7ZSj5MF@kKvr5@+Df_E3n~?agCYD zql$tO{JpMqg<%5p*yE&+ZOfnA#feeOz(gxEUvDXdv0&xZMYy*769}c}BAJNjL1ZEL zRW4Q!G9~=jOWpet_XK{nvv6Yu>xo!iA|{9 z1n%HMP(=9&thV_2UYR_@oOut?`T|(_29jD|C>$|&x(e&KuD0&F3Kg#GLmp+_eWot> z73WOZfN>$*IOfbEeKr-c_U<|}2|)E^n2sh0<;aZ6On9>-1BLDQm!%RNKxb87r_9ircdeY7p zb>la;u6hHFLZ4DP^D%t!_i5pe=6=^2ccEQI;^Vf5p3jILRf?04XtZ~l5*Ad$4l44XQVS!y$W^nMB|xA&|8ze@wOX;kK$?9;%h1HI}4<_neBs-oRw6P^T zAA2e2X2d7YrjQ@9g6)t1NxOC0EyQGel`5S-SC$Ok8+zZWi$=vC@x6)F6ldWk-y5Nk ziC8I2dLg8?2gU*N#4AWuF%&5R2?jYm!Ce(jMu%`u^shpSaVvH@!z$n=pK>%M@W(+2 zi;Y@F=YmLG9}DYjmx-Flyg0Xp#GN!)pH!Jj{VQVs^502BkADNyr8~!wirkqR|1{2- zJNKl>M6C2lS;j9;VSOjuU;3P9lSKWgE{n<;axHrr@w~wR24#C zi9Z8Rvk~Ct+rrO?rf$O~W zg8O+8^isSVNX04^8KNPmffJ{bye`sidM>|Y+$Kf39QXf-@&+-%#reelguVPdZM>HR z$=F0SK!(;$9Q22VDVM!YQ6LUdCMfAc_EA!_j*7MP;#q;=DZQH&)UBRhH}d?9Zk~D8 zjD@Z;z=mFi9QK`(jaX;B_%{!VRfB!TBg50u%xm``0#85GozLf>FP#DBEMvS)EI?^6 z4Ae4%@!di05=k1L;BXXAg66HVJu3zI+Y_>THah+U_m#)=&$!4P^^31hWkB3|p*XQo z7#mQKpX?{OhT2L-dG9t}ub8Xm)h%jQ1GOm$xqkIJtMcEkIB?Bbx!F<3KBm!0-`*I@ zh}1AYN;A8K@8LNnm>o=DnKF7phjbfF5zRLMoLIG#3^sIu4crqdYTlIXN7ptL&-vL`Pc=SoRL`toE27BN)bH_2;&MC3($=d4bdE;!d@(?5hKspo*;Y$Ocu5 z=6sw8e?n*Z0!ea`$2-^Wo6%uOFuYEG9}Wll8BZJ0pC&Z$lO0pcX8KW*?{Uq&Q^e>U zT6tcxSzypQCBtj^+{Ya_Jwu~1?hsEG>d%b&6s7a@$@S9r3Y&h68|WD=8B!WmwPz+H zX9A9*yjLFhb!(OWPc}9rUV~e@qaxEeB0+YR8#QR`&`_2x6kH-Gkm&j(D6;dSRFYKiME-=Q;SNk66J2{LT zln`Y#LiOr_^Lze3iL0fn|ODi5Bzgn$Ot= z*H6bev{5f^X@%PM^^p&CZ{Of+j}+fR{0^5M1})@BTzgiti1#Z+ z@913sN9IN75;~h@F=E_wTHW(Uij2(J=EOh3vXnKKN2V(XRq+n8JT)|a{^^>anZe+- zzEbc&L~-rKlJh0;)jwyHuslHZbUnPmaI#YW{-Bv*QBub?zR?Aqszu>uIW3@#uZYA= z0>zM+eK;J)F3qa`^Rg?Ss&)CEj+B2j}W3jRp7cuS`plhZDF`kiteF#_lJoBChK zk)tJ!&r&;TBx#1!0}>7A68Dv`hnHid(ada?=j|jGI4wjA0*IO1F2Bs+rrd1?$SnUd zH}@7XEPj8mbqn4@kZ>=i1l5C?d~tiUhF=$0f(%J z?vb|3eTN8jkX~%hr*DHl0n{pFUIDd%mWM@3EKhtXM7o z6uXj9&Ac@RHRR=ycSs-<<+oy)AnjhHHvE}2>)O8WyV{s~pHt_X1v4|jge|8py_ix2&OhOyb3&l&r~y>Ik%%ZVZz3HT;Sb{tkMj*I8jli>7|@ZX{1 z7d2&rLzGT-LYBb#%q^@crHU`o3N?-7V&()kS~;VJobZ_xGTL-qViXGb$Mf7if3A(e`T4jMcgSH66WFNqI2GA@Z3I4_5o$fizlmXp(9;!IM|ic;o0JpO zMN=8Ij@X&Xs0emt3*u2_ z3@@KAa5G@JSZIqR4^inMdFIq=WVTlLz=E^njZ=DPbkZ8}E5%p_fRl4i=i8@aHpvdCjB z{lc(wgXZoxLMsS&LGDv%j_|3eKzb*-V;#EkIIV`y%_5?z7fYlIT)p|Ax0$^R%&>B5 z1O?Y)sJ+B4k`pkkul#TYF&`R1T`qO=Nfk#t@LVjNt}3b3;=7`+Ki$Nyh7LtfsN5wj~24*JDt~yIlyULzCickuEr8Py+0d3{Hv5v@0N*z(kL^Q#kzAR~xv|x~8}3SarQGDsRRPP{YO%Z3*MT-kt_I@|Qn}lY$-f3Sg*$e!n<` zmcA{wd0n4FZg)Ye&1zmgT(b@sts-~%)1un(m_6S5dp6kHJtG%o14{GdG}#%Pu)=I< zO-=sfZmn5twkrR9j~UEjO+GBr;n4m$$m1a^0e&yBDc zb(wO`>UMk%qKatE@=e>;J3An*IjY@^H^n;X}474ShM5O~-j) zyN_wRZ3OoLvD(recpSZE95Ms&)l)Z+e!(HOu#(KtKHfe8k)NY>pZEjb3$$wg zLxl0&MNk-+bRrBoYsdCxuahvAI}6~fGn2#`C80B6X%1GhxV*PS z0UqV_UBhtsvr#OpU%X@Af07n92tEg-TivOPsAVavS70^rb?OX+{L`IB5sBKYMh=vS z!mEpdi!w({f1ody48AHqj;naNPs!!=2_bLiLp0|wHmF|KAz@h)s$W7IbQimxB{oAr zp&96tq_FklUfWYBNaOlX`N#+($-^!-PRu}g{(z`&y@?zI*1wo6JP$odolb#O8yE-_RI%Eh1CYi&BxL5JtQj4)NZ zNL~Z+lnN+Apoy%YQ?|FMdquFf9CP3gMW>vrYTv@bdrKkE1!0spzTR@5X@}Mu+E|Q> z_uJW|+Ht%tOD?T$dW-1Gy@7jNMTP@*)bC}&-&^StQc4OMscX20@60zDyRM9gu{xuS z$Z-@uXgR;$?GO7*EVY@d^(Qp;D-FcJc|cZAq6T#pGIkOJYxt4kIe z-u`^+;oDS8SUc@O^{y=gFKleNwZ8*5&E>V|#}2=W$c8*zR$ZzYtgtTVdZ2c5e?I@j{!XMn(V#D+ zJe7NW=9V!a*7+Xio8Qal%8msV=aDg!Je^{79r!8qs0XK(0G^_lH~%h&=gHvkG5d*C6QY2)ncU9K3S_J3QJc~Ov#ZDH zziKz`zM|UtmD-1oT7bF@SbU4NKY%k*fx)^?dB7>07`#Td1YT=3~zL@pia3!+G&<9lar0ia5gL^6g;RfDwJp4!&zk(Wq?_Ukx`D zElda3h4H+^fuBw9#HNOMN!{(Zz{a-nCe>x)$)i*2_4tF{LOIU_v8UTm z^%|K93h`Rm18d^js?AIsv>ev2xt(&}AOqxd8##@(bvvOVBUW(KN(0kaOl$j^iZuRr zCAssS2+-EEr^x>R-REHr1RgLcQ7OS-uMzv_vz%*fmy4T-Q}F8+u$ka(iRZEA!JzzT zh4(1OQ3qWp=8q8~9f7X6Y5@_RwG=O#8qyt8ws&$|hZSzi%a*i>O#xe)<)WB~>}ZFs z63ml=xMk%8$-EOv{dud)=U)W6a_>#Zz0wMmE*E)ZJ~dIx_*rjc-5BKwvNO3Y+P2lx zig;x3V(L#@ej+c=98v>5#``b>*ESP&>3D;D;#onq*Y;dQ4Vdwkfmm}tKfx^rT#Lm{ zX@py2@H$+R-fBh3BF;!!=f-(lrqUHEe&8 z&e>5-F;@rSO~uEVEclTHLEg-}&zp*qe?{cwD?)8&$yQT3UpAo!bh$7sQ(msbA(B>zA~x}=ZQ8UxLa{|EfjZxL-7K|t);koahGDni(8>s@#5~T#a)ZLQ<4|@`=9g9 zdmoc8+3e2F+_`sVcEazVh6r9{$oCrh01HfV8-TbRbIhtZ$odM#H3vPgRH#CTUN2YS z;mU%4g2Z+7*BHX<6(vq#`5A9)%XADV171$ZWdRmVKqN|$&qL)1$8)k?9_vp+qj-mQ zC6c?|*1ib3L(d5A;la^PqBX?k8ao>+9=0;HxwP|R-?8O$^{pfhS@8PS$PS?;=f24A z%^tjKj+oaaojcd(__ZTNF>T8!%toMR3dBH0L^ySS`s?t?V~2LfPZ@kl-A6Ly+prqN z7psc6*%Rh>SZSSse12O8#(6e|L4*-iBZCtZLSQk>|BJ(z?b|2*M`Uf<^;e|&MLPlJ z0pt1P`GR|2VNd(8!Ui6=z%Wh_oUkqtkZG@nI(m;3atcjuN3k2>oYzTDD8&3h)Ur;} zpE2pIGuAdU>`jxm`rWvnh0yJ@&*?o#yJ834uEc8V+K-`!P(Ua;4NLy?j1iR1u(^`h zAy0-G>8}B~DI+{S`Uk)>UH{wKexXG@Druxst zk4sZqx|4dB2Ygz|2dzdnw%zIs#{Lp^f^2$nLO{_mPt7H4iAf z-qP=0LzQt2-hh|HqE(6yof9;;^S761)YteKwnNIGz-W-EL0( zX%yx47U#{iO8+$&k=Jq9c=Xf5-blPjFLzbuzl|kBc$O2OK*H7v0~W)9;(fC#W zD!&AxG*Ij4zm!ac^f5I7pe33sM68#K@!0X%otU&F%#0?K?7i}aN`oOkC*CNHH}Wvk z47?|*3!?ux7+bn?{Q>WxjdC8<&`K0q?sKygEtl-}A;A94!TV76_?Gs9v`5&x4h&5V zuE+H%Tt&-BnoIpqIFi`)hHv!8#I?e44}R(dRaNX(v5;gk?pNTZenJOB_t|i#WG>>r zn&7V+jW}rA*KvKizED(rBVJx?wmh-~21evsv74*ilb=>t&;D(&KptHFqf*50pw}wU zo%~tR4Nyv9dEyGogrA`!D9_7|M=FjZ%965`_nInqjz3(mM}tD!q~h>t;G9%bPwtz; z{Y&b=tQEfOlZsRcZ&HE=J4xgfo=(-gwS%Qs2(lTjg~U=UV69yT)NaX zIt_JXc8fVaOToiPvstnYjvZ2ecoPQ`n&nZ^)rB&bQMwSKYj#@S#xS?pKAE)j-S<8= zuTKFf+mg|;m#Az^c1gJ+42*-{#CP}=TWO+jD0wW%?s3P(Jy9DRnK1laQJ86R1r2af zi&~J7piH}}uz02s1&IP^zCs#=6`ucvtcthz&CzM=J;g1eo9@?Rc}r?KRS>#Od=x%6 zbKyB;qFWTG+X4u80gVuAv+&1Cw1fBSMbGN9w=>Iz6ZAw4+n*I)H4f7tflZ?acI)fL zKVF8JC3#CwIxHKhXg=PJ6u90XGF!GQBwzyAFp!%@$`rc6r_ppM4_y!8_Fb-O+T-g_ zHyjH;SdJQCP`TuP4vB6b+F;cB)Wdu<9|lKpNBxrk@tE#tRgplBj;EfL6ZQ%w7D{o@ zZDfHOe7nNWfOHfiK_pL^_J?-^c0)z&A(fx6mN5gJtlpIF7*<;D4=EZ>Bea+6&nR(! z?2)4mAs@pOAi>6Bi&Yem?NW{0E9J{>e|5{-y}-)>*;EffuRz1(fmeq63yj7CPP|w#B?W4?#K#U|nldkaZIHVySUs1C zwmDAO-fT(8iF>^!v0smHa*7AoMy~$gBJeFg@&g( zlF-y&qB zXvuI4LP#8O#dglfSh69&o~wwwZ8Ro6YeX|<{X|Hv^_F?=`im@;{aX4EmG{Ds_kOqD z0!aYCJjOZy!9P6>=SJLK3Th0a25%y4{`dr{P&}p{0yIT;yr7RK4cd!H3v$qPVK6kZ z3X#q0J8ed2j7mDX`(j&ExA6!(`Euc`kT;w40@-ND)HkuYfR8U(ogIUY39ELGE%?r_ z%S@=@?P|B%gOiAMI#byFJv++6H&9gUSSaGi8uK3B^Hlykw#sTFYi;ZEnX7~=eV;=E z<2#5vD5;Xp*d3HOr#_j{u`%72z(lMZ7W5iAFYft!_Uf+PXgH^I_IJhg3$e)or=~?_ zA`4|dVSOeGrDE@}`T;*y@Db%pr0{2*x33Q4R42W!olTQy_R*49a@l97$bEhYbe0Ns z1`-rMFD|WX8|o1>gFaDd75w-bqHA;|H~9&SMW>rNV~LoO*k^g{&nw^N_AaxxV{oG% zUp!@oIfnE!&O{Hd6g;&QUM-F)3s%@adv62}oirh(S}so%GAk)rhxwRLNZw0WtU4M} zLUTQuvI=}$^9PaTf-QCO4zgGMG2q97SnNKY$0J|~=G?>7VNeMZV>4t70d$%|x z=nvy*XShlDc?n#1uV}EYzy00fNFH#oOSC!#=SA^RH!g9}mcqvHV7~I&nS^A;rY+0T z1(UGV?K=zmSnNR!oZI>G>ATcFsWxl4?dlL*rt%cjd{x1$FdZ1$98VaMaUf&f4I#d zfJIbM@d=PlKous#qlgLOEX9wvI(kv41bXtL+)J7P0W+2#;fhdNwXbq@1*-*Q2IOC% zaKWma*^*z;#w^OKrx?dGLrxZrSKc=b~>~3=+DzJ`7ULlZ}3-O_4ES`+i*eu<bNH7uUL`!$>FWP7 zL)Ab+!Zsn~6K@dQt*(hGj!g_;1GDqE)InT%VFK&Y9b#KbqjB?)L(uPFEmJV&q|$qH zb<{mG-fBot(jYi0sDSMmlce`K->$gkV{&mScc1X9t3jTK*riWg0&ljtd!L3>-y&n^ zG+1b6K#}b8gv^s|>U%w{gF@gOlT{_HAH@B@qV3S~OUv;IeS9Ic9;y zdQzf0Vx8pIefYEs8K~{KSBv({r{Y>S_aIy5)p3#|})?s4s3`n|%(rE~h z&&%98a+1Sl?@QT`7Ot*{C}Yw)R4%+9lcZz_SwRRb7@kGv<0gyk;7bZFN*Bs!f5_So z80J3FgS{x51~SeKhp9QD|1N0BHo$}GWP~v~b~0=yHrSAl8;-}mz&A|Vd{Lw`e~tzV zUB%akU`r)6Q8F|@PdE|gRhoL;}fS#JFaq<Je7d2-tVkSUR=J@Fdz&nv10`fZe@B)8?x z0T>fM>`3KzVLep_?)>>0+m32W)kTC;Fp%K}i~HPU6%Dyy@z(mkoy&Rs!mQ^04+7eq zK_7J=br7oqmsLn5Eb2(_;xL|)#Kw~1POBpH9Jz=)X>lYe!qZ%%&j-yS`q4@7XEb0r ztT+;QaTJhzmvi_Hy%_#EdV1%m<|Mg=T=V%`4V#8NtqV)fz5Ym>2f<{AnT?UDqx(*l z+x;yv%Tc;K*0z9|Ae({78P!_H$C7tTqb&yim{M3twEq0rs<6zyu{Cm|wbm>1pxu~; zO3D!>$N6WAKm&|Z=?iewR(HtMZE*eO{4FH87VdA}B!S_<23}+JwZJr=??k<~(KUn5L%WREk<&MTjU@mi7oe4zfm!9&A^QwV$q=@9s z+Rf`G%xsmmIeEk4Z=pz5+18VgDGBk+QWo;}$*LUkXDfY&77O;94;5XG)t(>l@r&`L zb2-gKB1~zYX560~TwidQiuB0@yf~1%>yF~L()ocj^c{IX>8rWwJK)k9bb6fLGbbuw z0nkrFzdE!nIxdaN=_%=Og(b#bKjv9|GNzazKsJ&-kbkO_))_GL3kinK_R=qbz0bO} zGGdPzPxjdM{h+m9Y?1CZBo*hUjp)sG_AB&RJx;GhOBVfWeq(gQxKD&dgrn>8PfHuK z#NIxA86$Wp$IXmsC{?xCtIykI%TiG2y#vgr3R&IEweVN2cZvo0ZKW~BRbx3?PjzS_ z0I#drcCm;8pYyu#KNY~8~yS<8p_SMDP^NS4M z{(h$Sh6Yw+)L-pKlA*B|At1~%9#--eiXFS7x#hjyR6u*i47m} z->q4+f8ZVeC8W6p33Sd-#(=0E&k}167zI6TtZyZv^pjDAV^zRPMPzSg} zUfQ9NROwoaIAhaDn`Yl^@E&xdQ_;zDVsmRznvC82&BWQ0s7DxOq3T2VKz$9HA( z0@fK@$FijmD$9{La6#Y#57GR_;4W-RmHpOY@8?+CyKm&sZWZ~n!s(V0vVbvRLZyv{ zByDYm{cBGse)vzMFDO))zips$Zp|N-rAb2NO4DKC!OgJ4>CaEvF_6GDhjJE2mtXiy zRDLRQDBeN7Lu8baP%EoIr)%Ki2l9=lJg?>Y1z;hntwb>XpO4=P8I;$HqpNteCy+Y|t@uy+SS-5ntUMrKV3zR5Z=Z^;7 zp`|j>g!_}4s2YibI<@Oz0Ov<(tPMr(BvkVyaJd-@y`wadgobx9@LB2W02 z*Cv~aWY*+`*Juh6cgFz1%Gsu7ST$6LxiPa$USFwPYIuHGg^{aV03rrF32W=XHWdnJ zI|3))9f(y5kMe21>hrvfsk~3z(QU+eqp%a-$Twf|x5SB@FAwKCVOdL@C$;c(B|(@S zn?L2C@nCnd#BiQzf`r2L&KgEEs0kwzMe}c%G>lB2c|S0X6tNF2QT&1P&t3z`UI>FS z(Dj*^m$$g#1BmFlMZMi&`Ujj6VyED%v##Ez$P+hC@F-^Q?JA{ymp#xV-bk7{q$lRTT^IT!ve2&`#j zi@zx6{Xnt7Nm$<}g>V*OEesDwZULV5q2d&t5O`1FYgWy;4lRYQ6|s6=wJ`XV9?kqN zi>Cd-u1p!>rR3fd;UeGK+UMUVHx6}EwZ+XBWYEK!_mV+Zo+>0WvY~&-tSL;!ex)I8 zSVkZ|zdH6+>QYCV`%Iz8?~r3d%793ju@abc#)rCYSqqP7UXZe$9phGf8U3Z_39#== zJ09_OdojIAJE8k)u$Ox|K{ODa$9Y^wp-2BK!!(-+ee&xFTx#)(kv}jg@fA{|17=k? z#F+Iu&Ow+Lr1p#Tmm7siFyze-IUz z`v>8(vK5~rHqRF?UP;U1YZCC{wO)E{zIvD&S)5jmze6{|aBn4zR0gt=18bRS1~Jab zJ=T|bs=}W7x;%Ku-)&pLXXnPSdPmZ7UdIJr`q_*56`@u=pF?QL$l6^QdopCbWl~|l zODjgOb0FvQrB6TbAIcHJA=}u?YFKk3+lb`;GjWy&r8E+^vDe^!vUTI^?kA10Z616@=6sBPF#27?RMpH@QSO^2|9wKR0j5AE(7JW;!3+ru_Ck!Q(AW*r?GtSBV}a~R+luNi-NGLBGb zlXeH&+0=H)A_;5eEn6}BmzKtM{%@VtWE&Ox9iMNeu^h7Oa+3Jg3KYeoUr|S(=LKBs z`L3YR726qM+v46r1{?u5pl&$2S)~wclP_JKh4OdeCrI(sbeDtu4>^eP3u`j%2EH)C z84Z>W(lg`}10&2E84?`!EfmQw8U*luj*h3Ca)*qB=Qj4=wsVPp9XurRXyFG=$&{A6 zhCO(rd!t4@a>n>+FU{2!cm%T&o<48CkPlkBM<*T*?c#f|v>8T(W$9p^=bhw186h)2 zU5b3gZoUfJUCUb0sa7=o)^vEW-v8NRBFT=aJzFzvu3uY2@- zvo7FT5ZBG~n>5>t0QfWcBAJ8%^qTXF?>`N*^l9h+u54+!0WxOuv~R4lfGw6bfUR4D zp3A8#Uy5?|F&4Le8P6odQr|S(4}A-Pl!VBX;0ZGU#ha||OF@qko2&-#o+i>y+O+>~ zaXONYAkuyRNR`v; z*%_;vAKWMy!|vrODA>g{UOC#&E&=tPa4wwm*P4BH2`EdY^gmk7_-_|SAH|{f3P^JqxE00g-5f|v&x9@f0)+4&zKqX#SSslT3pZxbg}HFvI1wsB*|Vv0|X zIOxz{MSB^a#MVSF7dx3pw1kE-vg)PwxUu9~pLLWTT9S3b9*x&YhWVbdo4sXz$ZaCO z_*E~`zI$Z^pX;|v*6|T>lihmt`5mF*l4hLeWy!}9y8SMm@Ah56=ahH=t^-uRK%Lh^ zW+>gj;?s1?PS;c7Z3dh0_rop-+^6cE$7|5rE1;i2lxyLy9ISJ0TSQcOp0VCpHk$mO z*xV6tRTLlP6sJt4iXJ}5O8oBMhL0irTG?UFPlouVi-ut=<6%bL-Yiu&?7$>trwC;L z;hGfN3jvj%m*GhFHq2=^=(zxv;%J4Jz3ejXCG2uJ{DhHZCoHgPucP2Lj??tN>y_dc zjQkU59}uz^6dCp9K$Sz;9&jP_H~j|bqK?~eKBad0hGTc=xPb{c*o!nSaGYBV$wQf% zms95ASc22~7Anl%#xHPY)+dm&&c3WtnGELu&1#By2B1VaT)qxSkJAEQA8j1%ru`CD z9XcalN36Cpmwo%(&(0r3{~4~kR`f(oRh$8OOt_n<`djE{sSqlkr5miZT-EqC-tWTQGfU_DY(dgyl;jCH!!e3kdK_j8%j$1x&v zg9f0b)e-=4aQE|v_1&oY9Z#=AkJD^Y&rs0peq>o`RlCD;Bm)I`{8RWtMetv(SgwwDmn2e?E9PP1;o>Yc`Hoy_~=P9OR8W&{99p|&SsEE zVEO1$=A}WN9$1}en=Uo9D0FPl@a7!~3%SCQHA}5XBzYjsJAQ~mIHbFw6``nHdVKa- zHSOM}yKdPx4`gq@skEZJBocK#cGyxm;s8NnUU{eG=6QW4;$PJ4Jz?a1^}Gdm33?=t z(0lIGTZs4j-7{n14M3LlHg?-vWVi#_6e)ph@juI*V7Oe`NMy(%=IfS3nftY_ z7<)hiYA@rEqt8rWeMQe)Qy-AyEwNdN4fD4gY)c@5{T-o81gs#+8uMIxw`@KjqBOjU zrIY(1gSO^S2&t~k&g5ph{t9WBtnX9FX=7l_RZ)vgF3yVfW4rTt+8dvVivCkKAyN?owUb@RmiOhAb9J~a)UX$L(w+)G{n&1!(#vwO%Y2aWZ* z6Q+o`w4D=Pj)@0Rua1s$t>H9tQldes%s!!g;U%TN_*A~syUv_mv@IC>vsDbq!!6Tj zjwpCcPX1jF7WaDQkN79;kPZl%ICaM(|E|Hwyp|R@tRHKF@(+gBUi2w-_|>2BIX6~V zMwLGao38?W8o7fw#(|{2vmSe7FRsd4hsB0Px=5Ce_teCTAk)&tORTYc2Qo<(;u96B z$wVl^25L)^jVjIo_NIds6aKJ_lWO+X!e`QayBJH20+pwMc#Ns?3{EbPA}qYb7}&~D zhrd#+^E%N8?&(K)B4x{h^10+<$i3@zJqqpGAcyaCI(7o<-}BC-Y<2-Lq!PgE1BgakX7|8URiB&U3jc6 z5frG19G|FQ5`Y8GkaiXMz-=|t14o*I`p))GYlTStaH z3j6C_0giq?r)}7<$;|9Hyj^$&Z@xMwn*vwLt~5xbnlZ^68%odd1?=Tpulbidkm>nK+Gx0$r&ijl6wXOx=G#bT7>j`z%R;9Hf2Xr6lVve#Tj(XCAq*G}{}NN34y?Ya`JH*e!XY2DX^H)veB;q7 zrGJ*ar3wAstg!`Wa-f*&T7b)F&U$Ed6M3izl$%{=BOJt4wrPSb!tc|(W;+FGmOfbh z_y`?FDuz`mzuZ1BqPR6;?qNti^t}MqhKM6Pe!~_~kYGD@$QeOU8(rs#i7pdUPW`AY z4pt;4wf>oAgDFaOwm{@ju1>B@SGan;F)?vuAJUY{ebft8pY9Ww^lZ(J8Pq6&1MX~M z-!nm+*EPX#fR&-Rd8pGnb+G9W5d&L7y~IB1Btk)f>+l0ZWuc-4-cXUN8#mF-)2CtuZsNO?nz_B z2EPu7mW&BOM5wKzp*;%{SccB-IVs&4eiG@Ia`dA#I+8+c25G%G@S0!Y`82nThJygU;vK)PrPI@6 z(Ov?sF#1T5s5VTV2Rp1vF)$3p!mM@i8u+^2KYQt)(c;BIgpux#Axc#|7;!aD5bC#b z$Up-Lc|`yX(%q)A8dZN-^}^CUGb{xtHh6bqf;{2)WC=0&xrC0f}Y%PeIN2 zlcXZ8trFVfz}r7So{1JMT3ST|d9%rqG)oGd!fqZ#>%NQ?7iHrgCWnRDbyx$AKe5_u z5l!An=@(%L)RadbVYIlvp%Xr)vNRz)uu1wXFp$|5FembF!E>`Caj%e=P}FAi4qu95 z{5khKW@XW?$BFB(yRKO|k|i{StMiBvjQ&nVemc`5FqGl6w}$jfaj0EW_5Q8IYJ9h4don@sVNyPnk;Aa{5oglB z45o73Kw_3pa(*bIX~O3o*5&$d0cJ!1evkHj^pQOLmgxl*+C(iDInVLv@?jzgDxt5N z;_gJ%b7{tRc``#ZY~bKBTE_-uPGC( zrpKNfUMJzakp(*x&~lpb2Zx+ZjS)v+ym7}cDkcuK4~G9d>CE8AwT5764?JmtymtyH zg%N?X2$vWtbce%d9;W~HY% zRm1lFj_gq{L2H4!gA_`;kL6uP5FQFtd4;r)XH9Hszeno(_$-Nv!9yIAk#SZZ6S0N; zy!~ikHdt|0^tyJGx3<4Qp(dDfi5od9CX}sf^C|98zs4{h=IdWQ!dj_dbr6$Kcg*u; zj&<*cRc`I&i6UuHG6HWaD7z~e*zL1z<_6PeD;9mN;u9z0xG|4rrpBAy&pujIA$EE5xa%CZ) zZ+`V;`ic+1;rT7B!e9bugjvN)V$7m3iGM&-*1KyGx#u_a#-qwLSjrNjc9f}WfPJ59 z!K>48-a-ojc<^9OL=z8h`~*wcNbVAfsguF>$^Rct4TWIA9;7&5<(9~zFoVq@KkmV%Tl2FAZL0I#$^2C4VR?b@!3NoW(Bwwl9`S70dzXG8Q zfB2R&6-inY#w6fqjD2(Z=jgZT!lsI1O$()$NwWlJ#sv(di#M;|eKL3)DoBbGKYumo zK?t}jJE~x+F8Y5C(AOnk&B8+}glj>1R3zvU%Q^KVS;Aex6hn**_&B$ppJ|GmPSw;| zRM?X%v;7{fb2(8ez7Bl|JO(Py0@bCN6x<8y$`9zr_6{@ES?ipmUG1Vjzv?&d#n}i9 zPT3wM`6yJsYIZ_7wAE1foJY?>5Y>gB^UI#n5-MxcPGQh`c5w;#Wxmw4d{@Er5s0E$mUr?9corX-7Kyg zxxs9Pn`J&T5Q{wIfH>I!!;oSskk^)|%hW|Wm;Qm2$m+);dAMH*?GpAulT(pg+$^^v z4z{yGdJXT=dzsyrTOh7?B09gu4RgxJJ^`>)H_Hfye;(k7pB@wW2Wvig^au(4USQIB zV$`TT%mC3)|3LSCK2+7JKiO&_1|`WgL;!wOQwq*xu*butnKpG`21*z9^cq7Zc2gm> z%?|JN5((tDjQoUUx&bs1gi9D~h6;gzLahX4ogj*-gN{rNW z-go}>{bi?W7 zb{`XSOI^f6K24tI|M=?-#gA$kMaGn8r_mBxg5!nST6qQm_LdKeM~(%U59J6o5y3V( zR{)#We=rVHCjjNbXysD@jaLWOac)`s#LL0MCMLc^+DUT8_%0Xqg7*Td)H9tsT4CeH zZ)+hmk=ySx5uASn`iH_=u&!}2Lo3Szk zKll!ml1n1I?z4kBiOhfdmybGO#_Gb9^7$)R*Gi>b%EdLmA?nXebQG3j-h*C3Y#xyZbrSen(SoQChnV2nE8Q z9<^-vsah-ijbT9jMX6y`6}{E`4d?5aUk8S1BP`eJWxJq_KTTZ>4ZTgvyQ3z5SS7 zDbiNUE`IDAA8!xjrZd>|9cvQGlL;xaIgAKZi^%c^R2|s*HHJ7MnlnF+K7JZ9m{u7& zCDfQmUE=Fnd(fnO@zYZ*2OtsOgTD`W(@0FP5~lrimjGYmT#xbMCxN&RTel?+Qr@Iz zQ>N5diU||m{vjI-N#JNUeG`!N8A-j+vwNw($qsesS}*oh^^m6k(=tk!ree= zt}>?8aU`=cEC(G%eF9Iw^YCY%qNvxR@iGwurx$)?4`22qTfX8`$jH`w6(Yl%>3s@G z;kTSs$%DRBZ?tD~i*&u9TG+9Nfd1ZgDOJ7wb|mu$L)ex@ooweO-9%waCUscetsqvi zaY%B=UFhdXBKCf6k^d$yE~n&PZh|?Pbp14X#QrC&CEEL|Er3nM9>(ERY0MZDc2p{; zAx{O#LRSQq(9t!~MrlAIU(&dn9<_Qy7SlDU2+%_ngCOme!7C|^&o@R5r3 zC?7lSmNL#NVXqX~{uk%`$AOR=%8|QuMBBXcH@2Yf6_K-%-)rkZ-VRa7V$zl++?RI& z5np5S?Wr~JHf62MaB%l9Xow^oCVO4TX*7F^EPTXK``IFJ{;*GP0gnCvve%ZTH_8i! z4b2mSE{M-?OO2}bl^HLyI@u5r;OjGy&<3fONH&;%Gdq#MQ%Nl2F$E8H<^a|RG;2(^ zV0Q;bxPtIsjLaWKUB4G&`{wCtMhQg)&@e>NQ|_ctnhE0uwYh&nQ&~*G4?~QA%Vl|+ zsbG(PuI3>+ue8EJ9NO74aBQ}z!NNXi?*u^0&Q9sFS7b1C?WOF!3pM-9vCeLLs=IkI z!)R{@_F5jJ2VIL(j1M(UbV7$~lj@Et;HR?USW2Y2rVNf~t{i^ff#rX7JbJ zJ-2_}*u=-NYwiT+Z`WVQhVzR>NGVkWf+IGudBB{AT?7~e#EmdkKaZuy%nDy;rI>!Y z)DGD9UxE3>WiB(FQIh!EenYtHMY;estd!2n_XExvJPu;^aa)0_Mo-=38DVsmRr@jW z#tHV>J3b;!Vg<~(|6gPSD9l7%F0+ERiUTOA5Tg-@BxvS?_OaB5PglkKP$YBPOE|uo zSDj!_Eg5g*e3VM0rzAQ~L^dviJh2!>u@Z+A6KWhuB8g(bmSaRkpDki91l5A5e05ll6Q zms3kUEFWHfwt67d7UsMmbrAADFW~k7Z`x;1B*~fcMl#_J&7xt1Uaza)u8Ru{5qzKu zz~cF014t{e`4GJt^Ufy}>w6+4nGCl+{(%0{ulJnB4*E?msiqf1_hISR7-fPP-)jjt zdiS^ThMbgChc^h<&%;f`!yU!cMpE~fS#7s=q>t;ZWUUtZO92;xj*Oi30(JBRHtyn= z{QM5IDP!ac_NaADzTH;GS%+uZ|0Nz;30UWI6?-rC=5@XgJusAk4g&p7Szsgbjl5HY zUzIXY&L~qCa3K!7rCNZy*6xIV)(}^|LYQ1P@JKK-UG|}*p1S57p%Y?`m7AfS9hbu0 z!21SzgK&gAicPI6P#ApX537)bac#lTRdWXU2cHerTiZkf{gNFAn#L}zN{HV48T;8K zb@C9DaeMs7A|11^Ur9i1<@z@MB#755$8sBKM{CLc@RnjLS}ss{>Qg5_+KNWixh$|U z?;pz07zciVm6&>7cRXe7^#kFnN=oQ*{vskiEQtp&LkJwX(@}8WA?tpRvQDpJ7YYxS z4en#`k|oMYfX6V}qs6Rx@EzNicGM-VMwX%n-RiP|KGXn{ykRYh%uae|PMb8;Ktce6?Trv8pYrevpP)3xB+6)0-Y6+Oob`V9{gARXdwi zM-5(Ae_@W%(Nai!!LVfeRV`isB6$|$qb#9>nGYqq67|FuIEw?O+rUELj}*{v7?F9A z2PK6?c0s}Yj#qmiXxK2)#Vy7wA#*zx^Pb-#Vr%FX#<1rOu0lN zl@7#d_~ysz&{eHuqCvU&=fRPu^Kx-dr`D=!|%WXjW)niB8 zp&r$Nyw}IMHw|Z2P!6Tb7|yu2>(a*^raZ{3Ae$)+8mC~S;Rzcw-0Z41oe-JC^87oz z6-UQ~-&ifT)ElD-Na?Ae7KvCYJY2Q-!U8=n^jWs>H~iQe1;OC?je(+ z(`%@8H*{{?;pb14TK~efy7iAIz&|wMzdri}kbMvi(PW$G`BDws^0}U=Gg07^qkrHN ze~)|A^$jmcgkZw>QS*~o>N%m2&mB}@Ub9?yoez^IcG-_^Ehe@~jB%Cm2 z=TcpLh42y_#jyGW&jSj+hIxdK+t)uaMQsw<&_F3$Tz!uB3*gC0U0Yw>^V0W^AG)_o&=_Gs&vrB3plmJuprSVL#%~gtd2HRPIO;dh#zhHxY61hS2>c?!DxKH z19{Tdnw2ZZQpI>&FB^EBz5Eo=&h7B`%-8qo7Aek9z{7nN5^e!qHh%uq)&k2dVK9Z( zF@W;KDL~(MKV@>5h~7K8j9dx(ZCG}@)J{T-B5qO*6>vHi2hJzQZz}`P9j5TMM?&@! zsT@+jYna@j@#l0`2Fa^|-^7zX(T#aTvlPCtfdnv~U>M+4nH zqsKfifB}So5Qwob@4ml>;J@>M?!X#gVd8_Y*>z=(=iZRZj}reCfliwSQ>bbuSZyJ~ z5nc@Y^?)?pZ&D_Dq|L-f<9T>$H)Hh^Kp!G9N?f%mCYAhtJN;pve~@jRcl4Jj^bg(_ zM7KMiUI}O&7-%kvIX8>V*!+d)Uuweo!(9SK2=AT%{UpAyc^uzW(rKB-_urd#v6AQ< zR9VeE$uG^j*BqL~BT`w(`BeljXFEK&hauLj&=p|E@`ftX?UQ|VdxPIS@~8oueFB3x z=>nZ%z=fxdf4C=Z6ll~$UAca%2JZ46$Z&yoibZgd>P84@50N zh-%3!=66g9CHangdI#(ehURjrB}&tWLaU+~;iaX&%EO2xKTJoz9MC?p5_b(@RrP$J zs--?sfADdy^Gv81RvA+-+&3uQy6q!bXB`RBG7vq729zx?lSZW~?{6PUXsGf79ut^;Ra zXslE#P-m%J^O3HCDjj+Eu)1V%o@r5)w@+lXcL7PschK?le|O;Z?| zNSI}kkbI|z`C7}Tf!gvbNkyqx=dfU>2CRU?ZTv3?ac~Xmu;tz0OhF47UyJw- zPeSdT0&1Zn(7)oVtv3??{>nf%(5MZ8G>v4>CJPa)aASixsW-@@d=Ctya2=OG-pa1~ zXs@i~iMv0Mh`w`GK)f+;)-lt`C6hI-4~kItpNsuqf(Py?)9APBgEf}qG_h&F9;R%4 zgSS*qv;dqzWUu>aLpS+VG)4YcTLC~)!%U|sVJ}&?5E4&MAz1z_9b>mjgivP@I6Y$gy<`-7uT+>wiYJZEfe%Hs_ z!;hXdhKnZyM8@4r3euF-Nf(Fb#Sp1md`p|r?USl5;)#3CK@<0T1C7q~EN4SqnpKiL zmH<^aOWi4eS9=Do=_Uni7P1#mAK&XmWox)DIr9+F$9=u>q&X*A6qeQeeUWcHm@hj) zd#{;f4L*QR(H0%^RGYNPtB-X?B+B+QX5*yr$-xpfa}D)5M;_Dhmfvri|8~4c06gp5 zX1EXadvP1YMMOFtKXO*mSsn55p(Hy(d7Pw>)^c+h*2h6$vMv*2La8S)U5g&-fe54d+Di^660+!Q6 z1UxET&qcFqg1VR(@EETbYH0VTJ#fEZb{u$6CRv5u@_ocQMnfw9hfwi`fVU`}5a=sd z>Lv|6BYf6h5GFf}WyQi!yAgwx z<4(-#ZjoBwTQ>vAW7p9|`~xF?BeX8LCcX^())2~3f0^V>ys}uuBhsqB924 zw3C9)qdlK7AuV7B{O8S5LAH;8IdS7GDfwQuZE{tv&OGC}HyHAPGGX~7j;ZYN$INp)gBLH^#n86Tn$Y|mpv}ej#P^+_)QQIp2N&bU5%_nSC6id&}p!hrlB(=gR zBl0N}&mf9y7O_4h4T<>Aqcd#ap(bXtUlAwT z3Q2}(uEYnb)7l++!;*AZTrk6Q3@C>6Bu4=L`y5TS;i5sg@!qi_>7t6wa*mh8KfJA9 zo-z97!qwzA1rr9`7Nc*k7TQ8r9@DF!Roc6EC?#+z&KooB3taRUQmD?fZmMH?f3^Uu ze*hUifE%)Jd=D}1`*NoOhx^sRtLb=QO#L<<;kv0qb~4==+%X2JGuNXvpD0tBo3!b& z(PGSG>^Jg|VwmY2Jsv1~xwmgv|MRE3d6rv%2C;>n<+!gPPdK#~LKynS8IXyj7OG@? zMb(2bFZ;Qt^Qs>$NKP3+VbyO*mO<7gFuVi25Q7nIi-#oA9Z!&`WI&xQ@*Odf zBu1?-{B^_2aK@L?_4Yg2iO#p$+Djs}@(8@9I3(|wQ$))hYciw7u9DWwuCm+L>-cMx zzy2VT*qJL2Wal#agT99dd#FS{6L(|C1doz#+P>_ig$#DqSV&*xMuE6+oO=M+NK07f zEsj7ZYzj%ve*a7e@iFIGPd$&qs9h+ReHG{GH)({A1_3vjCYvV;@3;h{q-f7_Uu&hu zb*K|41g-5SfB0T){{GY{hpU?{vk}|hY3bnC0IV;|<-{g%{A>cg<-mn}auxArxEV+s9MWQ^8f%5f5T&L8Sq;>>Z=X~-z#nm1(d)OdwNStWF6W#px`%fr?6Kx4(``Wp? zCw2Y?4}c$d&mFLky5kr?4TQ-P`yG?eYL|d{`|2el+zb+Untog=3CCapeu6-S)S1Si zZPS%X$2gjZr_da0VzOVJ>K6M}IH$Cs>RiI_FlO2$%s1s?HMAx(`@cA;oRo}^y6%$Y zj=?Vv_N=GWS+lUsP58V)+9cDL{gSL4cu7xU8KFR=6kcsI!#1TPlJ23f85tD8A>pO! zdCBqH;#wJWQ@y^6;YBh9H3UQBj6EOU=0VB#0E#c@jZz6+ zi)Qn2!73kd4=ibCmLq%9B&o~rh#QllFT|nt`|LcUGE$hZR#a{`YGL`2nD^5~@F)Yz zxsp|{mY(*a9AMhT3E76X!>B(mBRbxafCqIKN{#AW>$csi4^9`z{pPw{ag&zOoFk_h zVoepRq`xK3eK^F&d+L(jd?Kxo;HOibu_1gP%n!hXOMAS7l|=tQcwT3}_JMUAC7g_{b7vUv`}vO=s*!WnTXMT}b`nD^nS>zlXr zh8;u2Hh+NPql0yWv#@Dr(Ce;ED2&!i_SuJ$mkpy^^J&d4nRpiNh5dV#)~vFuo5nWd zy$RvL!yoPhJ0qX6kr1^=Gu7r4X%#YBrGvKMtQ=e#byGk6kO};nd{fY!Il3WNj$qcW z%w=viR`bQHio-g1p+@(0+CZyg6pSVV0;Ze+aNVc))jIP6y$5=@1o4F-5hlFEbFh9+ zaP8n28ex2cA`uc2vHd>Dzrk^w%sv+mv&p!{q{p0lqZrfct#fcLW~`TJrgi$xi_n4$ zBi%EtrVDni@p2G3U|apFTdSVk!kssk@b*psVbVcW zLvP{HelxhyDpY3@4D@sw9TaNNh1n8se2{=je^9z!q)a_YIbbak%%5+rtIM)e*_Vt8 zN+5*Iy`s(KQA@&^DPgj)*B&H=CglntYa!hX*k^Q}d9~;e_$&+vPp{bYNV27!wTeNL zRI~{+(M_Pu(pKbwAiH-zpo?&-?E9n&ty-p4wlgk{CSHCuNW%%Ba zi04Dm4|D|a%?XRFJhGPiMW9Zgz43X+A8>4du^^O@$okct6On_qR>}hNsI3tUH}@Ae zrwlbU`qQFt)VHGWF-0*Em$d2tK)y;b4=kD8VTPFiY@1A78w1 zgCwveH%_X*l=#aZkYFY%dVaIImVm*MOt%1ioCx3)hvq}>4@B(iVw9NUN`#X_SM&Ty zsY@onX>QwV$F4$1n6E7gD0~_tbKioACa$|UO(T=1iVav<2K;Bzd29)t@Gzc6D0684 zfGUYDzDB4y7DZ>p27KQVJxCOSIJ09jvj^h9$MAHIPaO8#Zl)8FR=_d>`g_ZK*MR*L}ocPW5DqK2Qe3hX&Gr3y8Ujl z7^Z#>h0o;$@;|>h1PQ>^R*nl##C>L&`2sX;3&Cdxgv1}#SS7H;F%#+NKGG4GDeAJ> zdcc1OQ@@GeU^2>v#_Rqi(ICdS2{-TsY(A|yCY#U2Bi8*E*%_6?PnA>$=pX^cVcu_n zHD$l@-+A-WCM1Vy(4&yz+UGJJexfdlRvPMPWiGnN89t& zq+b@D(2o_W<3l=U@q)Z*=R$_*SUtP1v7FMr*mw*1>x&X)n((|t6Hw&v6&qN+O+f1g zTAP4m1CT57dzgws&xIx_0NiFp?<%-s<^@RrNI`tAd1d_VqIVTSq~?%Z$X{65aa-vt z{EPDbcA9E1hclaT-N*dS>=bN@;HW^@Tx8;I$vpP?Jolyto zKjnZ9k^tU$vi1i-$ouh|w#HyUwzF>Nz^07bNuSq1d`~(Qr+Y%E7&XYzV{w?ij$fCg z8D44z$3yO{6$@ub3V$@QoWJ*2pf>{=t(YTpd6>x^9&HDs#HO=N_Th=3^HOVj zaM-*rp`K45S$?!-US^|;s~)||`0tlqtfe%yps@2D3gu~uU4LNG3UK+Q39u+5c*O;R zJP1f!0pwHQ;Y$~w@!SXI-6*aWc zCg>QYTj9#d21Zj&_ata?U_ZL=^_s+@A$-Mj=y@v!z#icCWG)afpMly(%$)fC`kH{o ztzgT?aYa+8qY@s2vCO&nrZkF}HLbk%*6a_~1Gg|K-CArWLsc$1#TSQan&l2`!`@kn zJrRMT;@AJIoC-|>4S*CN$Mxb@@&d>z@~w)`GpyOb*wYZLuZeT4o16u>gbB#ZJFbe~ zdE{3`ghu`R+0R_7q`x>TFR@FU8%{Rp8oGi`m_vv8!BkG2?-~%-189_SO>zp>#R-M^ zqxDiXBhtXZE5u)-PgEOvahdGp0avHNOHdV-TV4?Xi%=s*g?7AC>oXI-==~n-@Dxf@ z^_<)BqBf~2|M^yi8)TOf@U2$~MK*Y!JqR=d#q|v($wxQR!{{0cMjRHJIZp(tpzIa6 z58`juY|^0VVhH6q!>WWQW;(SO(%@0|!>EE1+lgP``72Tt%I9p#z23sf;!#aEbxJJ1 z52Vw*r^?E1hze(4yV35wr6ya;Zcn5>An6=&5IVRa4i-{;#64SgOdH)M`5q|v4X@V{ zy_(_xf&NfvFUQv&=MgjUBv7x^N%GN15Rpr3V% zb@34|=nT{qlQpBJ4T%g4+~%6EFBO*+x_PgEI-EOXo6Nm=mBFr~;NNvRn!{{&?$6c@ za8k|g5C!D&MnJZBalq_%W}QzM!N{*z_>NH)7UMbz2kMDq^n_hU3P%mT0`fCsH>l*2 z*(BS-*yM092ywI1JiBLi{a4jLO9FF`yRRtqYDsGN>?ZNrjqod0RH1cs{2r6o+DC-T zPwfDuq-1gO$2L9fJC97J8m7W2zcmx(-U-cE{Mhb(rJ!=UMA^U}rCF?kLp9;M6R2h8 zMtL^ios8Tp{)63)gxxe`_ZsM;G>ACC&)|yNC}r?Z<9#w?4^5?X_7-h}oyiEv=cQOx zUOso@lf*E}vh$|$;^XYvY;xg9|G8~GG(rzlJORk(MRS?>5At{SKw{r_L9J+_fvEZ1 zu8Z^0R|3#zOy>f}gAH^@so zErv}qc^5ht|4-8dV1*8D1ptv53mwEtZwr|8eRD*|uByK%4JC~q{j0^-qa1_PJ>uk` znGU=dV}cZh{L5o$R6Z?`&782R?)l21$ib8K{STqS0d?U2Jw1+B1bTyHvqPy(^EK0@ z@v3dZwF~dZPyH=aLdxbHA;&gb+2sSl)Gu!-apub*psN*&xRh(+t)T6i>5zaxEN9i&{2?V;mN@9>v|$!?XS!c9 zv@imHQ8;c6t#EG}V#~|hPWv5s9~y6MYTzTBMDGMd1le@7|n2dAnC6`mQA<=7kL<9nS>G(aa9VCr5FkLLhEqoN9Yt z@rJ`PKytEvrOE>mW66Wn&i8_8RMsKKDVgdB_D!iC==aZS04-*qDZ6sJk^P{)b%r!i zyGa^vHNr8sgvb@MxuWGx_|2PS^G|!c%-=B6Y+hk;uEAV*SSLgT9itUMTwyFai{{2gPLSa<{FP$lXSmL^W}I&l0O;w%H1qJO&JwFBd!k5lwUrJ8BN?8%3iTlEObHiE{BXmgSou zMv^MMHZ}i*?%YVJ2@R>%=@y`kCq_h2aEm0<9_Q_leJhyo{knjWl*~bpA|j=^4|MCc z(8C{m8{>_vxIV-k96p-uX0ZnM?UTj-!S^$KwN09xYhRHh@ z9}UlYSYiw2HYLZO(3%^?_BGQJ0)134Sr4TR0o3c87;AYB`@>+fcyUiElI$m_fV~%7Se_9C-9PHOuh|oeOh;_YaCgGUXh)9R<0uik=9l$bee>nV zV_4CE?)`^9T`TO@h2}Ig{R{1vCaJ!xhG;XaEvEK<;$uPA(qy5HwRmfrP(K z+FIUML8)FPaJ$Ap4w2hf^AaL5t$@A@N~Zfj5|20$4fhjsbd{o3z+T-u)K-xqiDdAh zdH*$G5`p>e;DKE4mAqTF3S|k08OIwLICP6HB^rUz_--=p6bntU*D2wdgW9BH0uf-Q z$7;WfP3^-}QJ{1BOqCKya|)&0YnG>x3@mYB`-Yg<-ZIyGE`UC`HsadfqL#1{QK6gb zJ&3CT^k0WgMLl#>2}S7B%3Q z;U~dlg#Y)Lr^TqnzEalyh)g<-WMOu{A=!cqj+ldwm>j9TL17d4U?UEPTekIyw7;3p zkl@d;}By)EO zi^utqdQIaaii~o?L>!pad12XRi&QI^7i-Iw?tqI< z;5dzsk@^JT@MQove#nz{kGz-4@*?S)!1fvZaQ>66T$U{yQ)=PYq#TJzrk4XF5#frjUt-nv>4L;TdHHZ8UPw5p8`H}(l zKX9Xhh)A+u$Jj1QJQULTUJ@-+s5*~koN|u%hrpSDR6E*}nAdYo6_Av)xI?sFYjwcK z#4PB?!(w#toPy+`UxD)63NKpkZu?maP}#dJF9$KrL0H!1CS*R&Z`dhD#!Qa&Q6dYq zbkze9!fw!XxD7uSPxEfU5y+_t^a1Uknz96A2cRot);~*;L<(d48%klk4hqOP1QAq4 zgP(R>&f7ehI6h7vfg5L`P#^AB6)f|k{>J>CO(D&MY!slMw zVIngj%8w`Pgffe-JtUqjG=eYsgiNUsHdQAYdg&3(q>~UBdjK#KVC!%(|6h*Q!&wd0 zX$zT=P}v3Y`z*-GVFybJ8&g`Gmq<+nMeRGojr>X$#)PkaDK-_?BwTS|VHGQ3rnh!k zi6cg^m|fE>@$;7H>kJs6Sz(#=St3|bDsdy)Yi^~>%7g#s`cP1akg3b2}cx+y$gPVJMEIt^gOr)_(oR|mPP%upLWZ&KVJr~PppC-KJ%}*YRRMv5$6)H=^ zooKcG>hhl0LxhE(o>xJePw4EnAv-@XQ@REGs!^5}iH%EH<>gvc1CD)0Cgc0zqKlmP z+1E{aT{Yx|RE=^?ar}KK*`jMmV5tuKG(z@uu%}-An5zMNxE0=ml#KCu%$v zk$G7Lv)%G{S7sC#B5+Xo*-*sO2?pJ4?m+aV?s$*NsZHoOZ%6pqS5oGO1vY* ze}bUP`$N1hUADfz`)vx_>4a6Ca{}q@SKeabSIhIEX!k_o%G-$EEQKFdmNm1UOIir4 zm{Y*y8s$f%Wg9ij^3-2tCS`(L*i`9YE>QPxjWaeM(f@1%Y!hJav)aP19v9y|ijnjo0=2L4udZv>+?MzZlrbPn@MkfL6rb${?fHfADB(wws)pw&M!k4hJA(QSdAZ&_)=s@G7DbE1Anhl; zKjNmY?)60loDh1P>XnC=&yV*nw58Mb-u75HFtPa}VxTDLDfF^#Uyxx6S!CMjk{ zEp;ih5^y+ z2i7~h+|6gP0vw#5I0;0o1)CP)*vGxrmvq4f$jF-Dpnt?LLa3-Din~rbXnDJ{dm`6D z>4TVz%;)OZ8|?x9tw5mzwOaGt*a1j*&i)I?@0_jhm2)sYJo=RM%ABc?YS-xAVbLGA{NIR6a+%Jb&qrdDX$GB2zmZ zCUxJj4h5u#MDl^*WizGBN5RyIOY0WC%lrb3^=YhNEFtc=-bjdVFd3VuTa^2JCVN>< zZUqK=sBvRX7Xi(KU@YWD`d9@q1NV2Xr>GCL*dFj=d~HrYwidZqyVGvIwgTg!pA|=% zr9JW=ED}RACdct!IkQi)Z8Y#2?>k7^IWp@;8R|=DTZ5~r`foa|7VzQBbH{35eiYBG z#ZM8(r2j6>-^$qnpbx#qs|=cbQQ`CzH~dz}8QsZ21ybCC{u2z8PV)Ne%kMT`^4>^% z)gtHH=^~>z%gXb9(A!6EYCJ5)Dr&*Tm8P2kn#BA;h|sPhntj-GItqP!KNcU{fPBKR z=OH#=*Ye){;NDX~`=ez{51td^!9m%&lmXSZ$4=gW2JtT$@VF>vehP=&WS`Y757ue1 z!riy;i>c)Ew~vY`ZO;M`Yo^EMp=7RJ?#vIww1EqNg9XWl7IwWj-UEv4=iPvA&h4wE ziO_!UtiilP_?BdG``r>{n-WX2~$$*KIUN3UxF1=1*l$T;A~G0Y5tYjaKZdz|6qX{NKnW@%2#V%A8y%} z1F}_n#iHntG`OivatoD752?21P??a_`c(?NSCYsdRHH5BLpb+H z54Rg*272-`mVrX`_?Z5Y_PuLI0qt`lp53}fYre!0&i zzT04S(2T5H)rxw?jpwH&NJ1X<)suB#F7;{%vgA+At+t0bSH9tb4$M;(4^0*Xzgw|Z zE8=^L4ugZGm(T)wGgdkuz7I!Ns0Pfm0qT{U{g1Kr4yZAk{d}#RB}3)eru6BL5dwt1 zb>bc?+|My+wC=6}L;5ZCsB#E{srWyf@S24o(_IX+;fROP)i#;>y=D0HCV)U5@Lv4% z;}_^{#xA{HcFrw%kw=ZlYlP;`n3yzN1zOClAi`UJ<~A``OPy zeM<49BQ*O!d~k&3ZD{0!Ops^e_`dXaZ{`EXah{%R;p}sfp(59f5?t{x-?Q0m@9>!+ ze{WjTR4-EXEOFR&#gBr2mY%WGd9ctU-poLIr(m8vv>8s<3}#NeMn4Wa$))B zq?3`8@EZC(R?OYbBY;Jjka9{XJcR_X2jAC@&*WN*BU(AWJ?GwJz?EIRZp-miVedUV zuAcCB4&uA??!NSAAJUV&v&Q@=gVva~u2Kd%5$EI>C)qJcQ<`xx!Y}YNx#gdwqqPfh zsp7c?nb)k6^!7xh*bK@WBiP(7=+{t~rRb$&+R5;}>Qzxjvjb{x|1}8jiL1v)Xf}8$+7EL6 zqsn+CHbhEgiy$&yWBx8RhxQ@?0k0hin_IWUg zv7>}^Ubc#%`S6oQ42G~WzEtPI8&97>kUZh7JYZG5Yu8`Sz|(6LE^5IwX~2 z3ri>hn8v})l*gWHg-p5k}FRQFRnqnSebTtHo z%1Whg8~(S;FMnTT(7n8{pR6rcYg=TBKyU3I-67I1ddTV#$QBsTzBekPKc2myk~f$&1WV5xle2ITg!O)gKIW!<*BGhG+z$EPQ@cX z5{NMcQzrbh>)Te|0=}Fuy!=&>r%^Lai7#~#G|m0AetIsj&81Uowyyd3N)4{{g62+c z9Y*GsYS`^8=K@xtHR8D3sc& zDjiLB)6~eZOGcrbU%a0}`#q5?c1hG5CQ}Vnr(%TPa1|RdVm@`xn+a}c$%kT0#1P9f zFxHbbiyb<9-^hGQS6vw@`$}OOn-4Gl+6k1Ml6w!d-8Nr`HLuVynMj@6X_6Aoo1%(8 z(JsHz-`u!xcg3plgsZbLBW*uu(lx9#Rp@ap$-xJYl9~Jz>D4htzvGIP7(x0(ToZ@7 z$6jFC%KJg-9SeQS{rl!Q!inIow4di10^`No-{|tu%Z#sWy&?3&vh_nB(1UU6_rvcc zPdj{AMTl*~ZIiv)XoC0QE+wM?{Oa#gsv1NwAptr4P|RLJ=`WP;c|bkk*LAC&1^BiJ zlQ>L|G>Gv}5zLa(BXBgX?mmKsO!V-gN{S0}aT3f^@VB0+=iaXUGpzP%1PG(XU^zeL zn|ATtn)B!I=c_Ii*SOOPF1RoGcx#{=mUnUUmK!dR)aa4w=Ak(yf9zk}YA?R?3%CIw}HsOZF7*CrUU%&ajSXe^;CK2iF3%qtg`R95v=irTkD^N+J z&q?;`=>5^Sd}$;sh3EUI!BKi~5K;P7NRV>N#Z#CK8V70%YHpfiV=`5nRW;TdMKwv@ z77cz2boR6Rsm+<5d(-3yT%Hu=Hs)dN=#UiE?>FDt4{toscwtqqzM?u4&kstzi^gc4 zbQ&O@NN- zkk^~wH_6%GBA8F!zCFzq1NPC<{b zUe_t$b)>eJ5L1o}a&1WO`-Eqtp#6P__#w&TO}K_)9^8lolg80upxYRxE61!UH?3Kq z+Jvk=>R#O}1wVZg7Q;64bUFX(ZQtOw7W^T|2h0Cl?=#t!_EUdNNb|xT%r9=%M#_)8 zg2;#=O!e8Z1_H^nYQ7E_pcEB-+KNz|tS;Iw;LvAGYKz&gG9}qG$|_xIwTSYV4ASz| zYI?IUYg|-c&?AOrKWr2S=f!!HU+<4!br@$$=q`1fh5_n&w^7B z(NMU&u3bo`xz0U<|=-cM!dr7wlFZ@VEZ}8Jp`@zMFJXdO?%tVeqnYm%7{782pof0A;P55JoOT7j(&$f zxVjdjdG~1O-&0IeCibb*n%q%nxv^CdA%R6e%_2X_E=vnHe>Y5xscuZg*I_Pu3yO%( zqvL32B=6l^!J71`N-H_Y?7&gzIuO{i*uB42@{1-yx1R~o4-aa(ewR)*DNQuG_#wLP zV?pSX+zdV+yoA@Po* zk=E2P%{DYa(q5$}$8P<})IW9Be9*U% zXNL%-i~g&XjNhAtCQ#~{THo?qiC1Wv6FQE|8TkpB0EK=1ZiqF8S=~-w?9St<=%vV- z51wE8#Ty7E36+_?Q0!kC^Z(tMom{)np5SS!hkp6KWHwsNL@#bV98}rW2Lc$3YjhhV zvPVG!FCN?%>{ugiJ4HJc%~i#px_A!Eh6}+wExU(={SM&BfjTxRRxzFf&~6Pd{2adY zka);urdiK_^Q?X=lU=^nGX*Wh=$81^(VrZpU#bs1Op)L4G-RLr{m^&0lf8N2B0kW) z$D0AF4{RI!$jZM_p3ZHrdVDjmpRFyS>tOyth}Iz(tzF!k>DriRa|{e!5`fxqqUnLx zFBjR~PwBBADOKrfo0l(`eOEOZ`l#}y&ul0;9o5U32kEPjhUyWi$+~6^b|Ae!B;^)# z&UYt#cEiET|8ptQiOD`pF&BZmv!#BGrr?1|O1nIFS4RlWVzQo$KO4@!aL_TvMyC7H z7B+}D*c8p7S!E5M0RUlsdq-TAKPYYDG0%es!d4bK@H6NBs)(KzZM z^5+tE-<#UbJ%01VNWkeMazuMbxfB=2nD17e>MuEv-0__Wl29g8F_c1}d67Cpb$5jW zeaLX!+(L%mN9ArUZ=>?Q?`q8ha3QT_!TkK<>^hl5r ztIK*yFMMvVGBsm2e*6@-a$wQ>EfZ&2%75kb9-&?-WwqM@)tRb_4zHy_Ndo=~<0)+e zDr3q%^)Qe8Cy7ZX4Fm8J!<4X`o z4cA;Sti2S}rjK>2tzDiF4@o@L!XSU*W|{X`g(lU6sV5W_&)wOR5R;NO91 zf4$7Z#!S*+Mo$gHVj#<8G7=?+Z2c;#!;aqjDlwX*F(Y^nMRZi@?5phnf4qFFm;tRp zt(o1qhd_`4V87#n$eIOSzZ!|KbGXW7S#`{ti-*9 zgPT_jZpLVC2|YM*4^85DO*}L9F2TpkPFdq?L~U76Uhm7{0&b<|$eutc-PMGm$Nq!(PwVk~UNPboMN*ye!kqlT>e6iZiyr zR7)e}x8J=!@0a}cyff7ua0fBABfV=R33 z>Tue4+BwkC3{$Fq8F4A*4TgJQ>mf!aQKCL1@X>~E73;xBWa8!>JK;T)Bi2?H3l+$5 z_}9D+_!<409zuhCnT$j+NR?=cqg8?*urR6+=kxs_uFD2&s#hStl-0mMks~wps_Kbi zsM3O)l3boKEP7S=zJ93sO_?|i59U*1y$I8RgfS8pPwkVwyWudQp^YyNlN!DZQEiLv z2vrL`=j2o1yXUES;Hr-6R|$c$m(&kl0j*(&t;Y$icmiIiA>q6C0$m}?yi~{Kr0Zj{ z7Sv&Z&soV-S~FcbgM2eto)vCcN?bUJ<*mNi&zSot5rWEn4C2ooIN4jO$Hi`F?ECj; zn=?g^bsP_WLR_n9TD*QPs>R%Ss;HY8b;4D6OBLjeFBXO$PKV#rrU5gibn-ii;8U2~ zRFHSf#QXTh<|9?$Xxu0Nr3;2%zTEvKxBUkTRa#o;6b0yrk}${Jn&aIC96PSXl1~xT zYtm{^?^qME9WR{X-n~=A+{cC;L|mWGN}NPdGyfoE(mX!~_0v3<=wwu^Ak5BJ63a0& z7OmVK5<;QNvMRvi~16(({CG*1Kt)?vB+W>iQjag@E(3@poGiM(TP2NuLG?KGigAA;}Z zO9Wou(K6LqukX;pe}7c>X}E*#rV1sjiz0~wr5;d)LNQov&kdFi=7q}E#s4CV2n777 zj3regB|02~wr?%HLr`YLTCC>g{HwN8FLGiZ8KYD!tQ$LgaheYu-`0JJeXny~#bfOG z2BX4SvfD+0JuxysxR7gs>dD+r?t4yicx(0xec1lw=B#qn$4A0C{wLSkYWc|O-glKQ z9%7lB!Mpn-(@Q@GGj@fH|x#wEc#s zdwM7?5-*e@I1dK@M=Shw>xv!h8&{C91_VKC&PEg>jRKN!Fghy6w?(|CRrcH()`V4) z!=~xi9$2INz;`(653yBodGFu0RY7RY)Meick7<6!7J(k`_m_hiv& zRDE`qVx-J|p@z|rC2}|o|4umgLU#RM61J{CuEhR@>>oE#{n!2*?ESaQIVg?UmAu{=vQkA9+iAJRh{j~{dSY!o z&znO3zH>xPKBzKx0^D+2wD{m_{?tGJXgM~&-Ffu^TFMCHtMAQ5 z!E8#MC4*^$kH9B3sMowrn-?^``S0B%XoRlj77FWCjd=~{LftfwCGJNc9Ur122)!FE z73`|*^Mfmq-4p^R62z?)CS@SIWc0i*&K-b!NRDb@PE^8Os(oc#h@RQ{c*AoL;22?y6)(_GQ0BN>f^IZ>#%!SJLl0x>sGf#RDD)Pr4R; zK#ER-dnhnE&VMwV*VmsOih{#i{r&;K0tm+QV(0rJ)35!gEIw8`;M)soJOw8m(hL2b zoKzV%U>+l_mQ8du?Rq$O1&eT`LUNcC#cMiE?AU~b@U^+Q(F>I^Q)z$46*UXI*<~)Z zY<21s0w?0sctPH;NYm&|f*Q}z*L!JRIm%X}51WCcXHY*|At0UAW&Tq|l34oU{;d0D zA_r>^*d1KBA1qQP;CD_UJ=)v6n8nL+3#uS)0?QXSl#5W4Bc@^VcQ2)Nj`=I)2YsjS z17u|Ex^<7n#@~z%5?>L&+-5wT39td?*Pr-?D6S@ZZE*ZOBf%g~=g+-`<)o(ATFJ|{ z$oCC*A06v;G@|`%ab#5qwDwTBqt7QdoRS)B0ao$WZI z+0dU~a^5Xk$$R!n9hGRk4dxt5e`NyRIIDqutNac8t+W^Z^iz!lZRcY0Hho)6csn9ibgjm zcD8%5%2PSj^PqbMHg)YK!^4-rh-cWH@ai5^0|%l~cvyadmWi%u#AMVN=MmjVob_HJ zCgre+71H>&ry%cuv`tXY&C!c)DEzKfg`ocFfX3Sd>2!wGB)WwQ&SHj>l$GawKEVBU z`UOCZmlGl01!I=xznG17WV^`>2!#DDkQX?a*})qDa-P3lMAF+ZEU@AZW%~n(R*F2~ z439ep6W)ye_>1!+(Cp>Y+l_Lid8T^5dH62x;3uJ%n?HL>_^;e1bY1viQI4~-QM-#N zi$A2gx~$~o*2bUjdHBl|#H=T974-snf&HgH2m5mH6Z9G8TQbj;82J&b#tl9E);!k0 z%IGVv?r1Ic2WBmM6r`>MaWA*3Qx1h1o=X1X>g1SrAiWz9^*Oj3P6T9Mpit+D`iB7R zUXvKEdMO$5LB`tIy=h;WfOlK@2V}^L5%=p}CbY?-$%?MU632ju0ir`5)kDe-4q809 zVmXS`$J_5rKnHGE@WEKuLlT;rM9mx!63ao?B`?4Z;;tsw3pMNjZ~x#PyU;Y`^b8)z z^R3y`TZJobBonAB3=?}>3*Q(tn$l=OsmbX2UUuw9R4r}D1=il-pgc$P3Z@5)?F_18 zNQzae0^A|K0-p)4C~I3h>3c@^&=JE${OJ6K&c$4}g7&^|oOd-ecJn?QeaX|Q;c*LX zY>+h&027G6a8Dw1c(NRT^z;S}UuNU~4)iSq-Xu6(`k{3H7E09rZd2-_(CGeaut$7j zbOzcMPBQj7PBZ#z-V|<}duuBZdHXv=PAWDq!k1OVjDd?gV2U_@7K?FR$Dvvp#IUiWg7z1 z2;A!iRQA2$%+EN8weJ`)sdy7jFom?y2~)9%8l#~cVJY-In|T$nek)1_y}JSJo`Yk# zl1$`S#IsWv135$}QmrM6Cve1#xED&JnOqP;isiY&Z(lRPv?EgM88K2i&`%Ny`w;sIdXSvtO9fB`$f%fkDLcLuE1Pe+ z9bH8<#)W_+$gmmA{QE^^sBsIdap1jer?H9ijxW8bt0CHl+_zCSogs>ojha~qT!CeV zD|BDy&SBlTJP2zC)@tW!gXwf`V{~-_ulAR7vr{2#D8K%jl(CL-VlPDyeC3 z5OEhVuM|j&>}b=ph}_H}_jOI;#8DBbd_J!XH~O*uVjV13@}eOCKdL{Y{{yl2Vn%F_ zgn~(_4A_XqAJm}R*89G*vSIEv+4Bt$o zi4t}6<%EDYMk0+xlaw1zp14xm#yCyBRc2)5wsES3X#nrMIN{&-PRXWmF&$ z6XXS`b8PoDEdPabAP{xAEh+ij&MeD(bv#LT|1lpLC3nCPdCEM`6IfG{#|r_M;p}_b3EZU^9ck_SZli$ zTh2b_ny`8^t3V<1bBAAPLHcn8yK~4=Qt9=#tKJ590{1R~F$7KIr1!sciG)AxI2Vm# zHZ3I!zAa24=lP8=IJDX5(-S^)P5Ump;IMK2qX}AM!W|j*x8K;}j4X`8o^LV4)*oJ) z>F&>uz+_hF$vkKJGDtJ-r7s#|u-_D~#I&Ab>0tcjNNG_WATP&ulCj|?&&^SACeSe` zM>0}&`8rM6h$RyI#~I_F7O{WARq2OO&h{x>&Qn_rANW<53>Kv5RoeN`(D5U(e}PT4 z+*APSa8-7pWjBk}mF&{lkoFNMBC|lvn458=qLKC3&`)1`q0ACnHxM&jO+m3e!DXr- zQ(~gxKiu5Z(d!#x$9Wg>_qWf=zN|A#lT6F6(FV0Qwd4gr5v(Wjv!_->cICtKKw)Xe zIh|f2(R^YI|Ky$%WFd_uw%m z=A6r17;VJFA$Pom$jN2qk_S-q_C$kB$DR$O@{0+*Pq5`z_FM&XLk}_Z92p zgHm`Df`8tWxipO$!CDo~@p=XsW+XI6=CMg~26?iU{)mXi5gv@kgoR96e+_N+<4*%} zpuV;7>UQ6WzXqe3U(=ioP9_k1_K3yAu)Wcj=e2LaPPkcNI#R|nI!f5xsE~_BANWe) zD;4!2Xt5phaz1~^oL51;HsZ84cZo;c9 zVQP_>uq7>t;Vl;Q0F`su#yMj2G_9zPmJt2dec2A~h8x!MkVj57{W^R(GgYY=1T~yF zvC+@GX~<0&mhIvjyP0;I^3aL7+Mu#jkri2ObR=Dzz6l%93>UXyQ|ViIy|^$bR*WDu zm!F((&k9*Y{@U{;COsL3R5*&ckihf`04y^aq}8J;}5m}4^@91Rpr-pkHd!sk?uxB zQo1{&B&54Tx}-x|LK^Ar?(R*&99;cnFR)t@-F zHA-R@k7GgWXlI)$4VfA868$)}r0gV#r&IDi9GM|A|H;W#Sgye&YfdutLhHOK?^Kf6 zdH8*CqoGUzVc85a8`P^E} zih)7ejVNQJ4lDvl$CI-Gj5A0bKA-mi^1gwP3gUDnRGRI4Ncj~<8+D+FpR1Zde{SEG zGd=HogX@UF9LHKIX#A{!ONB378Y-SFFF{h~oU5R`(?Ua?j*W5yQ6;`oy)2aRl9iiF zn?yl>j5#==S|D?qe7Z;;9TKMV7F5b|&e<5|YO{`6W8T5`8pa;wZFS z8nlAkx%lP@_6zR=teDOqj{;E-xOYiEvfLu>oX@@FKs&}c*fZB5R_B!YZkoz;_oKd4 z{SnKU`1I?%NOopz2$|+itRnIEEZ1Nw6Eb8A&l~-tpYlo!OPiyNMIqV51iF1{<^Ota zRGi?>9dQLvh&_CZ$$2>E4?-Ff-g^cp8Ru~8>py)l#TxMw!M*{>m8oy=x`yIa;43_+O%nX-n~dzjl89+07;UAG&B3 zJ`QMjP-Zo;zMj~kQLMKPF`eiNC?z*-#X*iBy7jIDF%YS`Un}h597~{(S>5btFw5-~ z&fiG?jF{NE5T2p2KtNRS-{ha%DZT%#vQ$+MG$o7}EC>WrWdAM6A|R0Mo=|(fRT0&v z)9~268w+;Fqfzr~8nZG}*@k=`mi%45c0!VG+*ir>>BnC@;Quzr=u8N}@f(AcU(f|G zOQud8Qt&4(JL(-4oM+O)^!>lAyBM$|6pfkHxBuNn2n%^M-{JE{Ir`#0>Ookxp=F&y z4GE7|&jQ9YO)iV_n0?JRf8BFuLBobGOx&hOVe!=ssDTEm7@K#$-g42JHcu&ER-}m) zQ3BNZ5;qmdQMB1)$C5)dEwb}Uz{_73zjWGrR_yHaXf~u~v6(3*E`Gjdr4uy^dB8r1 zny*S|aoI5k*x5t!osU43We-Yu1$np!3AGRzFNda{lGkYFD(!_P;FI$OSzpgYP|&e;XY>VJ~aQN6A7s+SgF zDy8GaGhyv6KvNX|E}6S2$UuSAL7|#0{#d!V(!&C;)Y-kpLktK926->S!C%lyLP|0@ zZyU{BNw)n_)?pS7t*;CSW;Z$3ZP z9Kvt5eTA$Q8x-rVg5DE6%}`R?sRBoI?J9RO7iT5J3R3}(fx(=Lo;+t^QMUaz_W9c% zv4oLr40YMzTqrF(5; zW0$l$-~0byr#(mu6=H=I-<)?W=JDEXe7j>|vb$j!^@iyD_yKkp{pwzJOmvFqtuKbb zoH{D*Xj8(@%3Qv6jk0n*mSX}NA}Q|K0i)if;=x*Wne2R?u}@)WNEqU_!Myf|{jNns zHW{qzoW#{OMT75>!M>J0ras&@?oi=eH2(6p@Zw^lQ||=1zNum>d!Pr>=ZL|;+RLnl z2e&?K4Jcy(>Gy6n;2xxl9uA%0tE`V4t@XGk`-XuYyYn&r{%yWY+*%*pBf{?Ovv+7% zE9E)o9mzLzoj;v4Spmt1|Bw!i2WSkHrEHFblLCCIraQwDWOWH$unV{?z9 zp!yU%A=VB|sQFX5>CT@ejqJr@d|QeIoOz+;4ZB&N-O!kpFv19INqf2O{@!65)#u)a7y_QOXFw# zaxuPk(#>r_#gT%q8XuELggduN)34XMYwAQo!N?S@O1E%r-0qIL4NYA6A2|?;^-ssq zG|p>+9;OSd%|c3mpd z_Aw;&!xuqzGj}$(3rm4+63t^mu;}kEF@-@QIa%nJ-bU>5*Fwyv4xC%TZ`p3cwPn9U z6##^AW?-vI4~mL{G6G~4@X)E);xUyt6RvGYcfe%F-tmNfAu3%c@8p6?tEusRpBxI9 zcd_qtZyhK!QtGE==pH!;ZPZK#&kSbUk69NpRbpjKP3o>{kkL3at@6vrJk2uceW{N} z0aWpg;GU&U8-|EE1`kLlcMS;-%5HYT6E6d_rzo#{Y<}O_qZn3x?RXEHx zBA_PJGB5p05^;pG;gjMC1q*U3N#)(YwYL9|%~_W18+s6W3{(LLm>_f3+6v%I_m<;; z<^Bi4*F32665|zuJfivYof51SXMI;*#fW)towt$hG2@cB^4P`1v2B^DB77jq`r)z| z+BA*br@oBB5^A7NMXe}#kB^^^Z*n@6L3>$+RX@Y^i62|PS3m!T@Eqrs*TyA{|Eawd2{_6q zp6-D2P~hI^mNNVUpC16MAK(aG^I)=oL#7_3Ee$~L?RhXi^sMwjCw;Qgca#SMDZE$? zA+BVhZw(ll$S+Nbt=H3+91Ht`IB>PWGxZns!6vGILEjE(=l!e&Utx6OWw}%1X4{R1 z=iFh9FwGfaQ2o~Tuq6>h5u!D%T>M#OQ_pk7*sg&rh$nLdR6d~?~l5sRnsfjgl~9*lzw&9E3Mk%^yYS%%y?;Wb z-bg}CRK+Hj7wZRm za29ir>hx)M*uxt9|7a7zOuaO;zJ`JTKpixi1VTu+0A`3jZe^TPaDP;Z+BP^<)f*DR zVmklqTEN}&YN2)3!nA@oWbV>iGSk_7^kc_gcSQJai@x_U@WxR@X>$WHx z#Mx7|&a<$v96u3+Wujsl^!xYJj>z=&9Av*@W$56eS207cr78@_QZNuu%7pp5B}NUL z{8M_KLLIH&zH&gntdtc3pCVgeqp9R6)!Ka^RWpHn4~jHJHp=4mct_}VMFkAR)3s8M z;(*gJ0~<5F{2>Gyb%ZtlgrG!^WSM%o9a5zPLzg)qjY1_Wo)NhYNDlq{3}4stnN*}QBiZzTy~5AB${#jb2GDBR9xQ!`)Z#Gx zi7+VR9Z0t{4r-Mn##xxN9CLu$<~tvSG6^^H4FRKk{FrAhUlc1MX+CfQr{zzdq*}v= z!%0@e<$v(!^JL?l>BJiKE`xCRR&)jR8uf~wyVh{i%Q$ba|Bd#QaPlTxP9=|AWkP&+ zkyk@ZN!lpCw_~EDxntsMP9gVa@+S)d=wk9t3wXI{SnQ4$P9WY$S&D_s;9pt)U*gxR zVQ@l|%_TmdT#g3r951|GzhXll`Bk^-;oM?Rl|FAn37t>ZVZX7^ItXYX1)m z0hEPU&#m(!MjtTS6kyvvVL<}?BB4`8jr>h46(8aYetlSB=|2?8xTXHe+Zq1rD%XxF z9&#Ga3h&u$B@{5SykLeKLq+Y4|6$59o=@u546fsZ8J{6FP4g`|Sj&=611z@q^_{ic ziaUe9Ucnlz-_onplbaaQF??;6lP%KNf&>Ng!G5IvN}X-3@~aYo=@<0m)UDWi8>LK; z9&;zeaE+oPSHXoJzgKr5fOg*gb(@kG!97VkC0XNX_Rs&;Tz*e?8~{s?ZiUm4_>Vne z%!ds;*9tjr5;eXF!Vc6!&hUafL~Im@m+ZDWf76{?O4QsByy^bUoU2=it+tdHl;1W| z9TugQR7>+Ir&6_n-!LSS2|Z@MUryFg!-J^b*|Njhnnw^6zogI zBeC7*Pp$TZQ@l=ICnX4kXl$RB%@vt_138wrA@5;JGa@uAheR&1O_m7}PzDeTBu)53 zkPcTwIU?iHTJhLRs@BN((|;?r$%Dnw9p}na!s+P#-w#YOQ_OWs??Q+=^QSSTA_vDK ze`7Hjnf_Lc`IGD^jS)(!NI3L;GonQZ-dL1VvM~0jPDK}q1g08?R zyIhS(gk_#=>P>_-nN&%b)_mH1M8ikZSPjBCJXC5Xx=sh~L+#)WeJHe%wc{+4Zp|!cx>-oNS?0>Z(Rke0Cv#n!4lWYC} zdY}SWX7{gPv3X>Z;klPOfF5|wPqX*=-cAP`mc{WC4n+19WnIH$K1dgpgs0Tt0>UN! zYruaO*&^Qdi@IDNrBB6>T+T_ZQp3}sPZhb^;f6dRXOT^zgQe_E8@|G za)Z3~`Q-1SroGnRP@7NeU58f?%OZg@v)G82zj4}+EYF+2!ud=lXehmk5Z#XQ=!+uK zHzT6vDZ;9K1isQDXP=X_6k`_X=g$4)(}DWH1R%j}V;AuDDcq&lBqjCPBk&ch5i*Xc z>;hmr7{K%y6smEyB0lRS^5cN<=Tsy0pO2k{pBplU*>D-a5v1itg8m972+HJUly^waQd?J#&U zHVF>nBf(dy3`1rINn&eg?aW%!>aiZhdJ;)Y&8ubOJbNM9zOV)5T8%GV+?mmR$bIIUn z^wJ-MCYJ0gD9xf&1P|rpuMKFL-h(C3Z!-7kY5nz+%-_%vsN-wE=TY?rT*zqDWx%_O zeO}JWyTg-t$IkZ&!wSC*)bYT~H6WuOM|lNh3ut~g66-XR)r9)TAI6cKK&y3$t59-3 zs6n8$Y+_fvr7z#+@$w!psasGGLAE=*Lq|Tq0d^t)w0#7oHHsWnZpz)@UoE}uci!$( zLgN`C-B&x)-}(!$spcOd5Ewze%Y$&rl7wsXJ6Vu2RuF`-ZN513#ghFpfzMk7zg6Tg z^5eHOk*q(Zzn05D9(=P|Z+n_&yet#5^4R1O5#Bvr?Cem;l8v6MKX?G%flIg^Af5tl z7MS4;sQ-N9rl1>RMacXIffsW+wKb{lZs6>K^-!94!uEv#wSa;OvLGkb_Z^A?s1dri z1u#GAUtaXNm|h9chLJiZcup+zNB=8V5`r3D}zv_W?7GQ(0#v&2h_+a*BkJJ*d{QgrM2v=WoNkOnr@P-H8lO@$r^~ z>3A%nbr~Sb`JprxyecR;i@`3EPHy)_`|L_bv|LKfkPQTV?osfR*mW6& zW0CecqZj*1>(>@-`38%nU?l*6_!R|heaIED%ZJ@Mfm%Fswv_&h3RgfL&8hGoUbCOT zzATL>2>JF1Ixxn;qvI6x7gP%=X6U2TPa%K?(_}xNHeZ{3qQZthhki0V&8UWi}V4; zzg)vNx8HX&G%q(DBYt()kuozo{n4m3PzH-xVL6}VVT>^+9`^zp`d2LwP~-{$IiDa8 z#(FWK=EvW6_R4*LDoR2q!GZSr%Q#HGVl?X5n*F{+{EblV8S^WjNpzAD3AdfT&%yXy z_Q*c$j`_Hz@I;+?2K*(L;TcNbS_B%2enAD!gG7bQsUU=Prh;F(2R4RtIcAxJC-<(q znYE-d1_$Q|d+tA|Az(~8n4~go6mZtlIqni*+t>U+=f3Q4v4LE5yL`#OGf1&>z~O+# zo!5Qxqm<*eIo}BSwn)Bn`yEO~@Fgf`BjAz0RVrzYz!ZdnBRxZ|;L2%gV@>l!NnH|PeQDQ|#!kypR zCW2!jf4KeXM@#g`v9YM9=tLKgV=88F##|2!pVWSfV%#L@u%VeLW&h~0Q=d}nL?N@0 zxXyGyYV^VT$q`j%ln&S#TS{C5dmmQ`KH#F`u?*R`m|3waUnE*UCpBLxQl=-dR%F1x z45ZW<<6PlwSNSfO~ZeZcB}} zAe{WjjD%{!(YayfcwnkIq)gZ#SEg%UPED?;Z9qM>Nl&fx*D^Z11Kt90E}jCrhiJSz zDJjA`Pxem*$ezidlP4Zec6KCQwDwYSp2)iCu5AHfQ8`(wlWcXSW$Ne74Zuu3D+4ZY zAotH7!@iONu0P<`$bS6<+eL(&De0Oksn6;(|GnBQxv)W2S+V8F@*lunTayjtO|j?8 zWNA3xEMw)pOw_2530 zHZFr`pTzoYPvB_TrcUz$g6md-3lY0+i)I4nPp!>aWga%8NkM}*?%NNqHN5g8hGsZy z--k0IEjM z>F#(n#_Neo7aCux7^o)O@%>Gfg2`3`f6e{W>&p#Rwh{)SHGq_08qU$la7uY9SsYeV z<%<5p;`%Jb5L4sraintvNEhxPN2R!12ByZif4qG1sL=n$W_xnnI?@dFeeO_N!HB8( zO>z@vn%~HCkVL$a1dY-U$1cyYE;A1q!JMK4ta6@Lv!&EUW$TE~wO{6)b&)NThSsFV zS(t?A(bQjq>p3z4MCZ2$o}Sx{ED!?9w_x_TSh;_b9*L3qM&^py^gY{Dg}oRvjA-H`Mb8 zM$YIgj&RqQ%7l1TIcyJZ7q25vU9Aw7!I{S-@~?;9Tuw)HZf?xarTbUub(+9NOmKe< zc$w(9UFSOa$GZk5EcHJ;x?u*|ef%dM-ve#mkoXSGZFIq`(*x>?wBy`qdjLhjnt&>r zITp(Elmj7Q+>9poB)yNxxBfuNS4UFZw?T&`eZ6(%@Ybn~KZ1GPcPUl|Q_xHBqqk+_ z+t@nM6shM4If*bLX-sJ-=MXO}MnX!xZWfmW(A4U&x%d z6)1*IWDV&VX8VfhyqfMFe{RA4^Qs1j~^`&OlJFDY0U{K zi#l1*$zdM)2rXJR1|MOHH3@E(5#b!^*g}HWD55pTUC3+f8AXaX)8qkx;;6$9T~S?@ zSMF2RCO)q{u16p%VZ~hg(0ziJpZs<*09juEM*n3l3>5H{2dc5g5FAY?b9!LR}?7g^;{$b&FCn3@pnr zvHulkb+kb2)4|=cRO6?F{bRWO$81S>#(x=aFw3OtjzJIC(Rc3_@ZjCl0@uR{R%qBbm zqxO0jkVA6y0MdIdK&O=F<)(`zn1K@o9CKy`FsiwbP2~B|Dbrn$M20}%&SiU_a8Txu zUEI+PS$EzkOACn4_gPkraWd zxCbT8D+KodnvuEt%dY%s3aEO?XT`FSkr?J+UQF%c0Cx{N4iEQ*9SD;!s~~(YGDSop zUL#%$d{PH>&V0Pz8K|7Aj-cl0#Q|Bw=F<4i_ED7iGMU$~?dGogOVL%1QK7ZY^6EFl zhzSqA#cf#PqbsTI05@HCFWix?y2X+GsB^$6_KZQC36f%DS9w*8H>^|c&FYWTI%&=k zz~aM%rvlFK35(Gqv+DlJ0V8FwZfB`G?9q;;)ZD&-* zec>7TzRD4=VWNmDK?{yAql9{G_aui+wfd?^uif~Km9sG5zg%*_K34IsRq_}=hA?>FN9`ZVYu(~NoeNzzi>m| zTQN-!l^CFWmG%?h${@d+6%1wYZE*SvYJ2SB`R`OlHn z7*DcJ0PBeK^he9{dia-Y1rELAbYlvAc#b3&Ydr7J5M^Kt6|?NPLw;JSdX?lb>znyy zG3UU~ceo4MI7{8~g}+VeuyAcjnwgfh$--w1vFptocuEKI2lxPQPSTy?LH{6qz|qn| zIv)d79;_P%CTj7_y*wQL2?Tf-5a9SP0seRvkM8E_>%`VB9u)+|AZ``tvCo7P{83pl zoF8ct5~-uymxp{(29<&*jJMUMVU22%?AK#c%o_?-_|`>za`H8=nV}JX?kI%xd$j@> zrFJ1IQQ&XSET6wrfcNqz4GsSkp~R)%d=`|vTS7i?sL>SG3_0!TXXHP!%f3$!GHmY< z=oIrbE=5k}{4h6^joXn}V_wRI_22g1%AdlGgaUMIBgD-!;At7QKRseBssr0JUePrc z`a09%Xw>fS{k5vaoca+pe467BXQT)e`$HBA85v*GpHem>cltr$Vjec%pHN> z(ha9{4~6Z-kUZsX$|q9p_&zWl(y<`dfjWd_Q;shJOC~%pH%do|y&6BB2&N?!6&X+! zlz8cp;F$*2x`zcDq-`0y;nG)J-@q?Dus3_tk}#j=I$g>FLp49I~R z0jL;Qk70=aS25r}h}Ma3U9&=*t3iP`@qW`IVUDk3Sbx5z^~9|puWd}z&O|go;=FoxCktfkR7Hi+Kz|O zcGU?@)3tY2xfB^sMy8O5Qz6bN;OQDrR2JjP4gvP?G%8aLzM~74eOb^JbeWxRmaA_3 zAOjMKI2cLzB-WLj28G&%`+#mIUla1lsA7Xv5jCDa1xyD1aloP*XE=u;B~1%goVwu>xgJ z7QN;=&A|K`3f%U=Y@Q%Z5JYx~djvDdro(ipZdAmAz>McQ_?6e_Mam zOOuRoUJKTii9-+d)cZu8X83b&eN zD<9~#ywY{rEDUb^eIAe&UT$Lw$U;4%IM8_i<2c|8(+<3$UT-%bR5r@M0$v~IhJD}W zwWw&ge>)DP)73e>@@xEROtoKGL+7L1Wqj18jUljzu-&22Rmv5!iBJDV^LFWdZ&r>dFR8%pW{H6yi670$4+Lpk zy}Y`BCJ{-nST#McQeKh1mH? zHvlrM!lBD-U0%M#FFbx<86Zjnwj!ro(WlbC^dPvWZAEY|?e8N{T<*C)pj#|RzygG& zVaW9$NgkmmduQ(bDvIe4g697 zcryCNfXZrPMxakEKOn;u9=i}W@g164;ezSR3%HGPc0;SaW|+@jcvi4bCO=qV~%_XWL(>LFyT>wS9z;CNp<`4<;npjKdl_q>_v{y zO8UfmT8{`?Z=POS-nhPI z!gB2S^7$%vSHz4LW?vC*wXV*NI*0e&s-s&k#mdz>q zUyoMbEl9$8P^h&|FM_2mbmK?PahbC^5zO`*W4mEzH*%O($2hM8_-cATm)wiWec`9>n||x{Nh@w@UR>uK@O5 zU7dBdV-Nnq&&5foU3^p))`_uMy1q_0?-ja#u(4I*f1hjXd{RxkexHGy@dbsu^s*ob z`s01XdzjeoZw!*?DpHHbZ_S=k@5O1d-5`c50y2@R9K^|=8lqFRKe=A@ZpnwD59!TM z@-!>mNt5T>`la85!^>3Gm2>$r$@C=lxOwy^wG7$Ww)=jke9)1L$t$2ZB1OR|2-sd~ zd7AHQ*W6b8C7L9}`GY%!qX}_ak#&|~PE6V$PdO3Y%^yGjfa)^!zx2vxiRB!8O!WxC zpA+~NL{L4ok3qJ+CyX^Fh2WQCdW?PJ8c{zGa2Qz+zk^J+&U8@eTF*_b+&3vJiQu)O zaX6N#c84CXZ{PYa$ng_}^2ttbX6i9jkAKJU_C09UchZM|-`FF|KVWX`BqzPPT~yM- z7bgNyUy|s`B>PcU`aRK9hw+<%9p~}7#rm17!OvsFD7wX7HtGEQO3COFG5KigBtS7B z6Y)aj0mH>$?f=nwKpF;UJvM)CQ|Jz~?19rl37bu52;`tbqwD#x9jk$BRmq??dlLDm zSsxCZL`%eBhuKFzO{(#6$HO*@!OkSTFj70|=jrnM86oiFB5wj8Uu^pQoiH%ouO%>z zwwWXilD;nxsM)ipKgpxDTEpD*3;&MKg9+{Q`~C$36h2((lTRh@PI-^@PVicqDPs~= zx>-rB3d+f&{jcVw$>6WPui^L3;bOl5B}}I)@=K9^4$KP4mC$|3wePDSR)21?!#m4S z_{|^(&@DdEu50J*M`n0|b=?mYJ4_bqc20LG&Vhd9xMxtfZrNRd@SHJun;TW5VSR(> zf3C=CNaqgM<&yrMMR4r2cVV{T5b)$Z^rD&;d>MEA{D9BA*`kBN(S~Dcr&w~Z8QC_| zFV|o7?vEsj8F1oQh)l8ONyEe1dJ2R`yf!PfdA|zN}-| z&xLNl`B$ul#ac+{}?y&+KzhI~JD%(C!uPUtu?pO&qtnz=^zksp#qGJMm#4j#P6AO0`vQdX01W5X^ z5l}HoswZuXzUjhEU@F5Z0+9a#9dgxTeZvucys^@bGoFAmRo|q^cQwG9KFVFX7+!xSdbu3>csU z-NKCx?FFlR6R`Dda#^#piwY_^xm@&djdbR4!bACP61gTPEPNh zW-5U5EHDSNxC)q}=1O88;k~X(<0U8KV}gc-EB)H`gRjjEWzC8;-9F+N@1D+yHPG;X z$KLML6DIBZszpWu?zeREOte%yevX4HWKksGusd1MNo67*SJwN%bYz!oS2DxlR;G@f zCf}az>8$P1WIj&Y$j8rK6P<47E0f<;NYIHW(|YdrcD5l;DVCCiL!NF36XeP2PoljP zkYZheWHeDsc0jo22t>zgzhVGz&zXCVcQ^weHzoR)SV9KG1fU)B0u!>2q1i?H#glg< z3Bxl$(<$#uX2UL{f9l3W{9(s~{#V*`^L77ioE>9gXdk7eH_G_df!;Zl3a05|?(0K- zT-@KA>Q0V;Ra>3!rK~y~S|Q0_dkpsY>XdBVNEk3EZ~mRt{gII0b2;)4$Jdy}vWgs} zRoPc*xl0=%E%_|^YkCg>`KUU#3&Cw1RMA!0ZO(09u6LZE{6`>jDOeJqjU?wH*k1{E zXSxRZg9E&!j$zm4S34pKz!1T!;AsJIwx@uyxd5*1<8a87+7&Nphb^-3sJQ{tz>P(KLOWXU+ zscc8VTGz2~C5VE<*#JKLC%eay=o~M)q<2vC03|4KD#B1G3$cDD6ZK=7jGiHjSfgKr zhkMDnUw~@>2ok_JZK454y1>+h>dHdFv1TCNZ?&i4d}d+yP}0`^^f&t2{PPg)E`mak z{8>TUX&4>z`{C)Vgt3PE7`>Fa$RuvL0;ZaGwc0ZJkn7@hx`g`MTCkE#ni8G!uBB7} z!lqQeXrrvKNL{sRLBJ_@zwuhd(YtJG&1iQzX^%?hcklmLK3f%tJL>zJ1=F=9s0WdB zk1P`ynmIU8Ym(4x!d4Kz_|Yu=!w)02u>UI69QDpQ1j6NV@LJzM7HR&B^R0c=i?xuw z0YC|R1p$&c&cKus0pGw$G|ai)VT=50z9s{3TXIqWx`32*Q=^4N>JDrSN+jjf)=-cw zcl0!XQ#rW{e7K7uUVV+lgNCGO8kOH6bt37$l7_BBKn4C?|4TgYYN_n0C~G~WQ|&+ zlnFNKD6^aCaC;_^Xj-PEQn`T;P5A!~Z1Fi9@IdhLOP*cAAym2tVStq_V$@$VrhiPg z`7tBs;tH~a5L0xXsq*~!^Yf_A<1lk64hsYX%Y3%;dl2;d*=6 zna9lLF|Zp3olvU%(9I2gtC`%tzMx4o%a!=UvO;uUQ0*DPoE>OM+0ge%sp$d$0~4mG z7VZfy>(PzxoKuFI2l3@(%v+nzg@XvNl$>??ok3-CrtT$G(vucBQ&}e!fG0*45Ur!@ zSS_*Y0*`xnUyf(&F9ZXf-;{j?0a|7T=529u+JX@yKI>bT`5lucz%;ObZ%>OwylB+g z&EIDX&T%-jJv(ixC9iah!hb0hvkdEYP%AJMX7a>8-NqRxSin(_cX_vIkSVb{|OFRAv-fdGY8^<@z!Km50pg_i2y1QIU zBKXL};MBl1V6|E1ob>INPr4vBD^{I z0?zUnwn}Qoz0{d!*7V&m6~{f?eNf0^f*9hs8i66Qynp4ff+6ii`%7Hr@56&nH}juR z27|F#H2f0(W_zbZ5q>p_JjVF(*N05}bW><+Ys8Fzp9!VR2Lzi|a7Vopt)?8^$2M7- zfE(SkeAo9BrK{&tM`JHy#385SLzvTI`@5`ghn??(!RRVZv4-cH8@P3Xa2CSoUBo?p zeCbH-G87$Z0BH6NfI+!6@>q4wz~!><0N`Ta)Q;9z%^aA_U0q(J=2iu>%_;+wfI9f< zK7ZXab8~@*ni1PkaKhE;pX3~IKMlJRO;Jo>k^&ZRUK^Zo8c^`4!XB=1c(SQaCK4P3 z`j_)UW(}RO1pIV?zSkTDn_D&N;(^p=&g>cg9xRx?NfovXL_4$Cc)xU3*2DGHcde^6pr9 z2#Ok^U5d$8YPU@XrocHdp zlv=Ngf^=!m^-^cmQDr!`|CtB?q<$AUUIJu|U?LYkaA76e9^Ge3gtHP`NeFzV+2!>*b1Qa2gtWJH3 zh3})0SIm2j+z^htBQK;+tY#iF&3UbD6W_&*j`~;n`h9Yuh}^05#fN>wKm!f-Pz?fi z8jqa5$d>x{dfMY&|5`;bD8Re66SW{Q&b^b^#f$v&YpIn(iHO6G`cG2hc)ip&sG8tf zqUOxvSU+=bc2A}VWXM>{8@1tC+#eTDOXbfGOH)WF4ctC~#1N{!<7R2dn14qn>?RvP za>XyhZh^5}sX*KPF_7Hgw(WV&QVtlynsG`H20HEP5a`quY zS+(nAOl%3mMu+ugZ@m;U?Drc3dbu|fm3mW5u2a*$KUVx^u9$4E|3v&(0hbYl7IgC3 zPG=H((k&TxlkGYVDr3^Z2-o=9yv-`r9JB80ac;ql^fcUbJ?0UpwZ^cm?wczp4qE%3 z6zGozS!8>$Y?JSRAiY9&&wLgAm}r_i0}jJx+~lY%ei3Fn?=T419MyiLe8Y@|4>lU2 z2ok?c>(3ThRkqw-gEAw0@BQ)>K2j|f^LF;e)z9=FH13u{{Sc&fVeO1V7((}DLXI5n zb;#SH-Z{r{+Jxy$rJ*z(TpX;cUcRe@r%3YFau!_)0pg_?MA;tAs;Rbf5vEu_6t=L3 z8%ew1RNVhDYPL?n$*DG&*aa{mLJWu%LcDv5NFb-Z5iuABn(rA>gNNVPt{cI>?vpSu z!?@EGOXrXQ?;{+cYwWnoWu>9V*ci!*FnuYVy)M2{HV7ahDBciGmB1um5qi=V=`+j= zSN$xm>p|Fx*RsK>PC+4?of-cc-Y4I=D73M>hm9BwAE|2l#^in9bc1>lrq00D@+M~0 zD3Mh1nydwyoS7K|U7WEB>#R%Ri%R}7{}e+U&>HCjq1zDPHI{&>;8I?n!;z(O|M<^r z@##!`%Eav$2^3btXQU5^gwX3s1QrP!S~))9$MLY;%@H5uGLk5n0|%647Jviw&#q;A zb6Z-9!as>JE0>D8!G->;fG;Lbx=*Tb9Jhv?crTq$BmOT?+|v!dr2ftO2ck(&~wYWQnKCp8q6m) zk-knmR%|2Y6q&0bxQFb*2We8^6rqY0RDL`&q-*{B=|k_Q3O~(V5LBDJeNq6DStDNL z>9aGf@X?W$G%n%?xuUUOP@8yV$p0e=0(e0{Y9YsiWOfJGs@~pUiKMNaIQvr1_03G_ z1ZrT3V~C=5sst00?P*AS;6S{hxm4jnDbFRK^|8}+Aa1R3e^{>!d(mc~B2(}*zb}~< zS2`|jF7)Q{3<~C;e$=#mUM4e)w!WX!k@IR3@NF@($k9>BXw5&LaYcW`yUuv1Sz=DT z)r%15tN5=g5?cPI*$Bg&%niSx_}U2{F8-7 zWqDKc&t%qHmevo(;;zOubqnN+bl)@r$a)1=w+dUo*leJW9BG?T7?2k^EF)iS)4DH26l2vWbec!;^V9InT!puZhbVG=(7A5(7~ z(De8H0dEW(A&sCkNQ#7lQo;r(rBc$3fFO-Z$3_WAsvy!WASoq1L`p=u8>AZaetM)gx8n5d#okcv(^+KnmFhQmU zVCJeE-kR=oNn>h%r98&AV)=F5-bji^jV$HxK`lOONX*h`!NOL{;i*1zJ>F4_6*ha~3Tabsf=}2`_mrQ)9$EB%3JK^UzHx_oEswTfqAUv^b3?sQ|7D|4hS!Kcc<^oA>?57NrUytX0sUjDxlle9cRe|08%B1X zDNCEPx`yN)%CuRzddgp6n8-`W#2dfF)9gInX!pJk-mq8P^z?MhsTi?fPz|6f8W?8f z-7%h*D zOm=J9b}s&MVp_Rv;5GGwE(^9+Cx`oz#StAfUEF2Pq$ar=U~O1?6dtu1E(P4*EB|Uk7dq@q_2$46HL?0;|*{chg5I6m)MJ@yGM( zXhbYUGshfoOOp1?+_nN+Exw(vS54#6=lsp!B)BPl=T{s;v3lufc?3lZ61 z58h~T@odPHbI5P`j>GuPySQVu!pmguODTSLtT=xOEiE<^_FPrEQPoEOM$Dyz-2Xu_ zZDHIfqsGrmv(J8*U2|CbbS=Q&=R%dxmOX$F)PgzgF;~}EA}dk3v;Iq*j>K}UogGXr z=`X2iJ_jm2LMmU*!u2JRS7ozFSmh6|k>{!vIS*M|Wznen!+x=R~QS7*Z(UI%~tk*xN$^0JAgg2S`^)MN&jChT2*3GMes@;6EN@EXh zeAe9MrzMMcB=$bm_|{OfqcG>-+n;1EH!q~VLHw=?M**6F?!aD#BlW-H90E+980erY z`#isaEuDs&HFq=knbz&N&b%gqO(H%EJgvX}RZMLAvHUo3yZ5UOhJh>bEsJENioWOf zp894P*#udHjb^FJ_N|MfwTGI6bvq+`70Swg5@NXIu6*o_bZi3C&0 zvxh50Ve7#05O@fe3_Nr@;=Kxa{Wo_gq0kleMbNM#p3ixr{DN`P*6)tg<$Y_&A0n&#MP3T=OYroK682W%ljoZu5(OUWQyPOsM1g0l3Hls zDt;m<3-^J;5%4(k?(sKC?Y}=_9Fy+4g4-tk4)P1EUV^R+mAL37v!Vm+JT>$FJq>$DeRJK%R!v+hugy7@fZf|Fy~O_L1q5 zsoTAq?&R=u9y!)6s`{t!8lPJy__zTW*el`a*_}wr62==3k*@^zo+D9KjqJUZ8;yFe z%Cn{h_4|viUypEFU~#VmFqjW<(hsXnsIn4+-SM+xQ3Bxu_L zdq}%eDIFP`Vs06yJlo(k2QZQug*8#kWv!HQNqTJ>L6&Lc=}zFTxdZeI3K9maVopL&ry#F#Q%Y)HcclBXZxi9Z9M5k|8O{ZI;*Qri6mIyi7-`ql9L z=N4C}-7?=*CU&iG@O1KZLyCN6{HAugA>TgnTYU^JgH4BY|1}H$SsC(ZYRQZ@_OI0F z*pFA5UgF7!t{rI0!S%B_@K}&l6HQuH%Ky zZ2Q_ycfQy5((*2IUpX;7qaT#(;P)ysR8OMp76_N;{FiFyDAFNL^C;VLjiGMIp=v4Y z(WGi=m6x}Dyx%Xg8h2}uslAT92<(>~<79C8{{!JfIAUvWfSPFH5OVRxy{iQWo0z9&A=%eYwO$}UsXyl(R2^N(Lo8Ly<@dVdid zopC<8Z-1}nENo)to4O=w>MtSSGz(9$49I48D&RYvarjKu5|Ogd)#$aGUdDF{UdUr6 z4fgthb~7ubgL!z6d7pFbG4yi`JiZ~EHMy4B@2n-kuYyt<4^XLDne1^`*~}TX{%G&H zBL>!AL7z9@J%!3*UmUm?n`e_|-+skC|$QJXBWH6Qg z%=eKss6`(6UZm+zjicAoJN@4C$@fS3T;f>~L{xtva@WjZ>5#fM6NNmhhq5J};yysZ zFiaJzVdShlO_Av?JNIt7`TJx``RO9sb#CKWY+X z&=Y6v|87Nq8}{|z>iQua!)}>4h~Om=aJ)%zfUQS9S?$+Y`)e)PN8!=M^*jE%<^7;- zB&M=e)aG&#=_LhCG8#@D{T063YRp$Nl#Z$3sv32U-V;;BESg+&FVW1qkaf}iz9|oO z>WM!ISjYL^>hkx+f=pnW3ePW${CJ12%x_H}z2A^K70R(o6i2VmSGrpgJxgpnbwWN= zvKC;L>E58^we*`h#5ungQq4~!Nt1bLaAvM5(`hNdLo@m;?IwuF0NDr3s~;pX{rz8t z*NAoyCeQ!V2)*<_We?qg+vT|KvliH`<8YCE*?%GuzXKCA;<>oH7?o>6Z0>d6Eia%>iVEV(@|>*Z6H5TObZUoeaUD{w_`(%llnu zL+*P#+N;H0wR#+ZubE0rGp2nzpd0l=hCHbw|7KVW3FNluOf~c4W}~0p+^jxV-S23o z;n2;yI+!%#9_zz#^?H%XFFG|DE7zz_@btLMPW+?|c*lszEaRQB%drDDi=9t7E3Q2w zT@KE)b2D}LSoZu`GBe$N+w@?R+Z34_j|Qnm=q%TdN36YNYKw&r%adDJFAo>4p9{7O zPN?p?@1Y&GOxS^P;H(YvcWW($Fd08^b}j$S&Yo)j$4kO(LS7uE1UofK-)6OJyD*v# z?3_E%s@HSa)5sB!eZFgH>DZwv!q;1u9kTE-#$T)&&gScJg$hYqdX272@oT$+pxeW& zqSMKx1%@=;U0miF{+f5lCG9@Gv_6kitJP}t@A=-5V~M@au0~PzTmB{0?dld=xxq(* zf*L@)zXiA5_2>Bu_2Jruuaj9_e|P5weQhiGvW)C)1%G6 zo0KM4(}wS!CP~eKmGQteuyUjGNP2Y@5*I7`UwAd9j)frn>VVyFN9xQkl~|~laqk|5 zIjvls3U&OMN8er6R#2%}xHQOV5$6p0r>-8nCng&uZkHdhFJH!~g$WL^8d|=hWitHK zPxW_rWzsOM6D`El)~%^_duOY}4=p;MBHXd0dYwTlpu$S&qhpY_&!t$#cdXggHdW7B z#XqzEK%UIbcGpd4`BT4O;QiIrXVlOYara>P*(yh6=6}Cc*Ev*5otxE z4Z|}!M`7^$35U@X9fGc&730+Z<}(C(K$aS zZ_d42$M2uAWEwT3r`}&Ksh>;TzTVN5IK(Hi-1x?s`R=D0ezZGcg zn+lCl`fw>$7X8X7_YLx91gTcaOW%~w zbc;oYwFpJ-_vHIYDo!*@;#*JRq%*haq(blJ)%|5{sM7#OYo_yD*4sCYUSzBWoK8M*N&l38bYo7Btc8o#XO~X+PN#J%oQqn8 z+jfZ|$@_8kE%VC^X*-`D$hFaDLMAWgRqM#|d$(Quh5xva?!r~MP$9Ecj@})7dp&#- z2h*>$9enp^a#?;(D|&k^8AfB{nwZLzu4MffGvQg-OV6OKzP+PNX(rFYtEm}3kr#OW z(hqY`57G%0!$2xGu>V?V8Z2#m%}@ef*X)rzh5rbY{Fdzq9eWgvyl<_$;%?9V@!?gA9D@5B;5V3miWev$qj>5NUsT~ zvSuFs5)$x@!v#?f7B3y1u|};zyqF2EOhRl*?^A0fBi@$1y|rI_4iDOUF7oJ#DohKH zo72cE{RE!33Em5MzxPw*Mq-XdtYQLrXWRGR`nkcHuOHbK4XF+4$F+gob1+&>)Z}(A z4!Ln5Hu&gV_-XU_`a_c=xu^8QEaWrSW#WwnU5c87IaT{XI?i1Ka#gfGF8Z0csib|2Y}%qH_KjR1yUyMeCOZ*mpWC}RCHUb+ z>x|Q-%aYmK^HHvMd)?ivV+WmMZ_snuQ-8Kqr#^$nCuAV5Z$qE?LOlDVhjtMj7?rZW z4?O&wov&YKd)64Ae~?3GY^_$zrXN=mEmgF+mX&Mi=gHd|Tm77lA}la}n-2!{iU<)& z&svcOFPZpS2LG4^?EE`p#+D6_H^*WU*EzmvIzTEJ3o_*1$AQ&v9=>SIY~WZp9?D7D zo^|_^{&O|t0Xr@7K@eA@-MxNcD$=x0R%xA|Oh zQsXB@4#bQo#RKvCD6-xA7m?$4v#ykL@iME$JvxG5+`uz?q>f&$K&~u!9`x6mVIh2? z>Fm+JBx4PcTq{*6uoYK+ITr;p>E(DJh_-I#oI<~-dB{O57ce!+-L-8w- zZ0r%Q9b%I=^5&pGYsgjo&bK$Ae{QL6XdR{YWO6MVq<7#9u?*l&)g4fDg`-;DuA^vu(O!-0=p%K` z*iTBn56G5(P40L$#i{OiZmq~?T3>++C8v?t0ow}q^O+tN!y<0hs#~;Ih|*~8n@-O+ zRlq!ru^cVfb%VQ^gk&G*R-qh3|6d^ap#pxo{sjxR5^gKM1#J~p9!leApU)uvMd!cr z5XCa^r{^Zhqwx>>mLXBgeB3Lj9fOmU!}X-O8PQ(5E4cI3gqM4$FTP+AHHEQ)=c~$! zQHigRn!DrQ%!l!BG{~zqMyP&A6*eC)PRArr3Vat{Euc~8H#M!eFCKfLuo+)o@s@8B zXF3#qkP7B+YM74caiXf!6<|vXb@SwxU_Aag0X#ewlE}SK(qUTX=zn;&0vrt&2lxT^ zz|tps$3UK})!%KrVu2BCc{FTg3^{i9RofW9m_XwG8s!j&Z7V51R!r8_T0)#o{6eM} z^!iBN-slz^ctXy5X3_n*1xa+x$TZ!md5kfr9PB_)Y+Bl{_{*wHH*i`fM_J#J=Lo3s za%qmaw-K4||@;Zn|AH$UE?Jt&M@Lt+87fF75>7(l%6t1;#J z{CBBiV(KnU(d)5~?q*t#s_%VrHr@N2sGgL9AcY7T&UFok7c630n9cNS=U$}xBIG|` z;}&ke1>qZzyh&~~SHa+5)UPY_#X!EjpZ7{IlfE=<_QMFp8>=rj{80JYf*p6%xG&qk z42n%~X9`2^Df`c&@rN6b+0n+EA$4>vrkcZ7smW|>LPu7N+)1tB^;%xRb)WcSKg{VE+&mvBP2(YL zsr`idllpxvY0y$)^=1cDRs9)9B_JWTdhm>c1DC}0)AU^%9p}4;XL00cd5vP=cMG`w}BOJAzFa?WAgpXII>~QrOOyYBBSu*>Z*IcPXV9cuE#>Z*7Uv4+V1h+8!UVJt>+oO!RGh(p6s7vUp=mMXki| zhMD^wqTlG4%>0;i*dYMuh?&S^Vgr&duI7t(`*l1OFuE*5OF-JY~SRU zYJ8$njBanpDb#h@oGyhd?J=qkSF5roDBOTKAG|v|x397vV+gN^%f1{qlZIPEiLmr^ z83V~a5Y6xR(5_h2VBx5PItuMoihyX#J4oH&`HJOOJsVyrIPO4Dt<2+PuBv@G_<%WN zZ1UWa%l3F{L~D_}&ZJ%-)^%sDY&KbpI^N&)6(ws>ZJ)x_6*6Z$=}d>3M9K^H>QF^q zo%~xX9{xGwuD8lQZTUcQ-=-NmKgrwma8HvOdewKIY^=*+X;keRmolY@p7>Cv0Q>f! z)5ljeyHgC$XPGAqnI~LGv)G5?@xU~u#B{8E`g~ad&a?_`qCA9T3;sgadvTcj3Qv(d8AtE3}{VB()z1LZpM?t0;u!zWp9&5xMCYWhbxP7=}eybk>Hqk zfBK;3F_XF}Ph4|_N_VO@qu**BPbu@)is|InG5FLl3>u?nw3<+qtLr_Fwv$x?;Yz&QuDaL;vxuaLh@EvDzw zLrR)3z}*Mkt4hlo#J}mY8vHuq%qIT3x=V80-nK-2=nEji@KGMNX1%bBJ^q-~+#_-0 zmB)Som|MT|Ue!fOUWy2XR)m!muQloCK5_k1^W|RQAh8zC`W{!jR_VOIQ!|sm%D8*& zLc9Y4x-y43i*el>h6i|ApM0KlxkbHTt$3C4?W@jv$WPevz?ebmi4P9M==hmo%rtap zP_{-JJ;-t=*r{|AGd0|`soD_qxl}}zN?mJF*_r->DSqDn4RTuG`CjVfcRxRn`;`WJ ztY-nivPg?!5njCsy`D8!qcDW3b4Y&K54B0dZAP==g9kKH4OA@i>{qxF70WI1w&T1! z$w<=zT1Gk$3c;5JRC-U#{x$;$i46{TD>NcKj%2c67*z?Y!_YxFdAhKBuOM$LduJmB zW7Rp_S7@>={??SKc_x{zyc3N!Yy0sS88e>sn8a|HNFjczS*Th1vphe|)vefsjK_D6 zZf4>d7%%ws@eH%joCaiDi>;{FuHVj8iXiLzh4;(uF^*8 zn^BxihmEcCiS+t@+Z2YGPzE;MIWH%}#=#aKHi)w>=+Jj|h>pM+^16&`{2H2 zq1e|?XJ@aIb(amy8*lsP%{C%^lz*$JH^0_gNU@6|$4?**yHeNZBX8oEj$z&@zNIh5 zw{(wikbq;DjRJ7k|K*L?F>FG{tWOMvB!2*C&o~CrIh^yfDYP{(6`5~bzeaNqoP1?n z6|Uqud}G3+U(Q@wI4_b-(c+=yHjNm`bq~$pW7v^F*4W*8@{PezgWJ9@5=sjujGi0Y?mXJO^p&uIf#hiji zr;lc1J?ILLSJU0T7j~k;MG1>Z)2@0<#$j4-r^YpmA79FuB^{a)y8e#Yn^%wT%5MJ$ zxpjgzW&t?xr`u~@WP4Y1R~2jnVOU0T_B?*#`c2gZ>y`e_9Hyd~*#sRE8d0oA=Zjfu zRg+2%0SXx1ji9OW2W1#Dm>;d^qc<4yy1>x6TD40lUsS*7(E7#1cizxO_V(Wo+m&<*^%QLHoqvJj;ADU-Wp(Hs^2=cN7DleTa>Ig36GervqcR({1JkF03~g`OQxT6ux^(kHimg%QSL%A z#^OrmXVF-_N`rk4t+6Sneyu)I|H!cT-Lhw{9G)^k88dWa!#e4*8(@A`^%@IU;46ko zcK+7eg#7%aR|UGeq+|_5%PsJt7+hDTbuX;s`(?;MEPgLe1qf>4Kh=V10h~3wr-K?Z zq)hq%&)E5^Be__L zc#liCq`QL|3!Iw~1-0MwDZGru)fFu$7+gshjo(9e?q88PgHP!iUg)*?HXx@lLSdeW zxhD9txEJ~46`QStlI`yudKiMl)Tso{KZe~F%XP5`AHdKXWqgG1-?;<2y=(yO10hCx zs{`+)aVXX}eB3Hz>?yhq8c#xhz=*6jZ{YmBLK75mP0sc~)xg8g-K}4Ixy%Dgzur$& zm(`(NjQI0pN%m7i1Zh=-_Jw!B*+Eq~xDEK({lgOE3rzI^I(J3HGmPUf?%)R>8}nyL zvb&ek2QC@&6yF_GG3Fk7e?`ZEA}Bbo@0vDAzkRKO148VK?6#O>e_<7L$dI)L|CQq_ zbv}v}0!QPi&sa@HNZO!=MECu30F@YgxlEEldhV>-+%w^LShwUAs&|gvwL)q3_^c0i zEfC4^jU&wS*m4~sR~pUxg~LRhnVkN8<+h)wk zu?{#PIG~*E6le2uP@VN@)BZh&aogjE>R|gb^I!M#u8>iVaEO#lr4K$0IVyg);Rgv0 z^{d)K0z4g1y6~t<%1)!>o{6rUfG<!SOe(RD0qqn6)4!BYnBm>8`yTE>Kr&B(>!PY~bRJ-!qb|WidP0#G zd&hF#*{?3S-JzU)@aWY+L`mxr`A!3``!^4Yso;(V03<3HIw+d zEx8SCE4@!I_Abpm?^SgiKmW9II=FBp_0gQs?Ni6Y?i0K)e4yvkB18%TI+?t1IY{1p zEXTGsi>?fNWa>HjRe6U%w62ZwjiNj+PGC!#WevD)6c$rW0z z4&>KfPG8IcOzW9-xyNKwWBfi&wK|jQIk9{j?0SmQC!vA(Y2KIlBaE}jeg@n5Ql0w5 z`6G!9?4qhS$Ua{-Y)ad(hmX5M#hR(jG!Ay?FdAB*3b=)TT1LAsyH}V zxXXJ_VAWeSpUZ~xC#YL5Lj-AYDrzPaJdz1(nin6AxHIc`D+V6ow;s@?Q(S$tB&Mp$ zj8HR@wL&)!TBupfvkH%UUNmf(x9#xaER+Bq;bY^hQ~xAitF+dDa&zNf0X2c&+qQ3i z8a?&8tZ;Z|;=9r2b_;IVq>0P0oi1a@$Mx^Bg=W>CE|7*vlM|>I@M&!{uff~u5;`Fk z4+F0)Cvs>M#g{$kReqm|%m!@b=)aVa2?W=r#7DT8k#9Y>4W?5yFyo}1myAINK4(&t zF+cnxG_uLtmLh=0|2Q`4gI&x$zBg|>cJ^o zJKJDCp$*5K&SIlG&!~1MHbEia?iuw*c(SexiESDMbN-ptylvQ+n<*hoGduFA-mIuRigctc%=abaq;}y*vSK%LJH?wF zX*?tPi*HOYYBi>Dqq7%%_^fe8m#Vv2*f3qQV(f2SR~BJ6b=X#D`pc)IJ~cpaq3s^} zE67%{@TzNv5c84_(dl~-BBZ)HkOJcwC!rIZrVop_@G=%htII*lMEAMB(S)kv zZ7PlhqK?Q5FK?j2ZkkyO4@_?@q*sl6ANg!+L9wjImZ4Kh^7IngMgw5VhS;2cKHjFb zTnuK2C0ZIp6n)GYqtiAa>DVE{`la0!Po{+5gsV2#-AKSgHf_G=tZJ$P9(_8MUf^;E z*oyA?PMS24_Zd^}%b%(bA%XgfH-8Y8tVaW&g1dPVsiOnoRm9AV#Q|?a zYZMXY_bd&rF{%G}yKHW@T0A`2#lvN=_-Z|qbsYNc7?yXG_v8_hh53wIvWqNjppCnN zb505veJ9T?#vw7bJy{&N{kA4;<#Y*-`wfvox@^o-^m#VbzLx&-;iQ5%0tp=2dj!>9 zTcBkkec7RSnV0)DEVnMZ`kK9&puOIAyMS>E<15r5JWTOZm7#T6Z=$u8ixsK^aa=gy zuK_p)er*)QxdYS8C!9i0ANgHK#vos3PQ4f?k9|;Y9F)trO4li--6Ch4$PgKnU~Fw^ z<#DQ?shiFlzjc?`A|MA4V~Uwd|H8N~>lk$J@#GkhPhisQ7sl?Pji&Hx5F%Wcbe}P2 z;?sm{kVAdjteH~XT|wrb9>K^-rRTZf$GT^kSVrik@8ueCciB8Zw2DI!ST6i>4r@Q@ z8(xEk4(UoU^R+Er>I;9zNOaAD)nnoAIEmVmS&wbaEyIia6(*d@mo;b^!YuG9d+W~x z8+J}nN2k^DD#XV}&jfX1AT;m%&Je*co)Wfq>gU2%xI07k>{SdKDQ1_Jw&x z5ko3!mj)2h;V}EseQb@4PO~HjkIT>%ld+S8UGD7I&&IEvP3A>n^zf-XK-aIyd2cm9 z3JGP+8g;^wFGKzsTUl7bk&y0<4Ge-bTuWqqeh0$Rc#YQt?R$M*?TX@a_L55NEZ0k_ zHZ)dO%x<|9+^C}I?6)^q6+#7ili=RdgRvNk{Lqh8^(04Fw}FMoZ*#`j$IWF^S%Ob@ zS-%+PMk6^wJW&u^n}GCTjQv=XxlR-q*$g14&=8t+loEbV6@LQr4NYc)jMV0yjeYli ztU=cj5lVUKhpb@8^3=*8(7%xh_G1Fu=GtV$-X3VwBW7^{WE)(%kJK}W)8os`nTze1 zTuNiTeiCo_nidhUFNfmYA*`*M@4$l^>54L-VrK!ma8)ykYQ0o368&ntf=tv^UJ@{@ z3-TLwBTvl3!l)RrfZfbFznvGvBjur??C@^z<{+1hh14(@5wFZBDV9>{IC1b~bEK$j!?Sz}{>L>qMOp$Gpo|}>!&)?+jViv992LSXfcg-mD&i}Uzf!P4! zM-McxwvdwfdV}_?#q&?8uWF0ug+`3O_S_D5Taj!iAmI8@85?~?X<{@u`%Q;v=2BPb zWdETuAO)d&?rhv*lOfnv~D5cFSlNm7J zbE;vPc+Pjm1p44_4}ar|98X!XOMO77>9 zaMF?*wKH}cn1YDMZ;{k{ftiumca1)1#UWIWYf>YD$|HfUR}il;C+;IXB}GA7fy*3P zvaqX;p;+H##ddMB*CaPHiO%=~Wm@ME9mS40b4-`~8@K$7pAZL`HN3RQP_Xq&hQ z&d!R54i+J4|A=s}}@M@zhfQ@az;F~JDSkuuB zB)7tq;G<^1kZ#1CMZk9CNh7>>BhwdXe+V}`CXFgJbO`fG>yXbc=8RM2_imn9bLd1S zThXga%2hFa{IeYfvReYvf4Bun>?+{8{sz3);8_dDLII0Ih)l9Y$Vq~z&Nw#e)K%yj z&6J4MlR4Wg6b!3*@yh{$^a>dJ>FwTE=~f_?W&SbO&PUcl;Jb>d^IfOEb!Q~X3jN5v zJ)xtn(Oc&=by$uH4o(B3U3g*9IdqQCJjm2%9bvc)uiL6+`8z|cb+9wSHGraGUGS>) zgls&;+lQ2od?ghE8XC6Bw<)zG?>JCo>D9y^G&rnhF1JDP3(soo`EN7|hUqLl*@=Ez zGT=`CrG~#GFs0&norPuH_U5z@wUMhmI@IUF6mt zBX8iK3FHVJ9LC6K?=V76N=ydiU=%_zNNpYvQiQ1c60WY^4n22O?Sv|zw0mc zJ(s(#C>|XczV-w0Kaj1pxCWV@4_wHgF+aOWv6&CyVo6uQjfC1+G2{HEGA5qT$eTe! ziXJ3tTRkg-xX0i(h@?Nmi3T!sls(r$A6u^2$rd)+ zmNj^Ya%S|I1vIGk|Ga^D3--@RA%AQjJkjPEtXWHk`gBWzIL&Mjlf^7~H_8Y9uxAT< z8{$x})?O&w(77@CFzafeOc2)BPS6@tpK!Tu70Q&SxJZO!MJzKXW8m8p? ztHoPHHa=)bS*b|Eq4x4{*L+e(Gw@;vm2lu4n5#mPRNS|s7e19G{|v;@6tZpwAl90D z1!qm=5Yl%JvGLxdS;tgRRhU&b{Ps=CL6)CjxU-SSqXmDc|Jp`(+4dwD5nEgv%mxwQ)1fejYaZF|BSO z9@?!y)Sl9;m%bgz2~*C@mBzgUOYM50uRUs%YGtgS?M_@NYTOw$ZctcoNomG!C4q;R zI-qWlbxbu?#o5QIq_;71eAL@;&L7zMApB9?32eJzU(=zEjpK+j)H9q$}dO)2jKyamO9vj;IV%*VSf;v7t zjehw9n_D&@(Nud3yO}f^;9bRmEEKx<2x^$%SC?xB0V>i{&Q-X{m{+T_7o-}G>m2);GyC)lY?TL-%P~->sCb`(lIT$zsf9h znBk}4R&pu$H(P%T<(ftsOn!I->6>%b2tzHH8UwR|X4VDn5lHMKbJi@cVHq0fY=B!D z?WWJ)0VTzv>R=Z;$Hlt)@q4 z(e3@*)os_T|Dg5f8e~^f?wFV!j{6Ei_n(kYr$6)LzP0(c&a_>{y`NfBE!p*|1(PG{ z34OMpy?V{@OO-|N8t|3Guo(z*W)}zD?c>2>UOL(M_ynMQ0)BUUU*+$XlczkH4kpKO zs81hfSUxQ1XMH=A8SMjEx5x#A)=_ItjU1N0iL#Hbmz?vj^e#C6iLwwmg9)&#*jDH9 z5A|uTMIJP>QZXhn_)(um=mJJnaT&)bqOrQTSBWWTi?IGtT@OJKaxO z?b!JR?{`Db_V404L~X12rNoRc$g6U89R$>zMJUe@>R=45eVhTW*fUfD!tDZel?s^c z?on45K|t%sy#CS!USVVTWsB*I-)04ZVIPI9umdl?N7qttW-IMCjf?)v)SD2H+6g|P z4sk=j8vt;>w=SQZ{DOYK0^c{{T(VG#PeEk~gQ@Dl#vFqr{xG@wQU1&L*1m$Q10!Sy z=O$p~Y$=35jHOFqQYTO)AT&>=wUWQJ@@}Ew9(8P2!V+Wvm}Fgea=w)E&V5b>i4se9 z0Y?ZpQMt`?w8Rx8OSMvg3X24mdqG}CUpWaKgQ*Do?w+`^zd{G@BXsM7|4wR$deTE! zA!qy`#b~^K6|333OGTpuRH{|nPWv$1k_Eh!LRtuMgu_m^ARH9&FQvhGvBM{fAi>uY z6Tw>!C;xE;@+v(r@6;VgwQyDW5c6V>1I}q8-TDBx+VB_Ip$U?W=`vjn@8uI(2y52W zWDy5E5-^fMwi#!E39Ika1s0${j$fchSDeA#R+ONhvyp|9x<3in%L1Otwr2b{i~Ij( zQ2@Jn1}o9W|6FjSCrrYHFo`bcF<^7AshKqh|1g6?q9Zf#Z(WIMA|5#P#C{j@#nDwN zO(oT!PE3AhR`Y%HmHm~pitP`)7l!ZWU@>Z;p3B4x^G|f?3UPINIMk41_mtXT?Ci(; z3kB=d1e<4gjh`MsDU&_G$S_|F{#tmUjSWg>s|U}e(jNgkv-|u> z@7M+3aJ?MS#&!zsDu=D=uXz>5LSc zx4Ug_pLZH_Vywq6B47AuW16AMl|OvOh}aY$!KEe-X{gsxV&|u5d~*(9TPB;d7~>Q_?YD6(%Y{@W|1?DkoLsHg=0E{RJkC)unWwY4cB z3C91R!U7w&^FBdD!fn+aRNfW4GhQPH^jJ| zLn#4fufW7weHH-vjY*YL&2oB@WzZ_c_|xH1pCH6VJ1eAE%^?DVD6onUm4a}c4}$R{ zEM9IMMfpMsDag9e%{#=%n-6ZuU&EbvoVh9j_#srq$J55<=V2Um2Q@Eyj5!rObAdZG z_W75MC=&F*cM9Vqne}p)>}t4oebZ$egD$!^KvDW!vMi13g`Fw@QACfck~M(w0SpFP zu8uf_gl<0uWE#b&7aoAA_jtV0t(RlxcI>UiX;0Y~c!(A}(NVr}?{vWHn8n%qMg69S z5md--?SEF@%?^S@!Z)Y}FM-i%Qe~r9(eb%p47`AWy_#Z@lxm&aK$#l^(#MCn4ok9T zWl^~)Lc#4I6x|Te6h3bbewrp{0I-*0-ctdD;8!&{&R)YzJ&l=IO+Zubf~v1W3a+5T zV7;1b;NPOxahlH-yLPzc$2+?Cm8L(Q?wAe}^-?C=C z*km#;jp&yvt!ZBm_;Y&SjB_3H3X2+@49CMZiD=h>t5^=h6{_#|0#JTzO)um7InG6t zPnGX!Gp&zcE#{N)Yk5-ede74j58||#1isg85$(hh^JhX0J3$A~R5*W|8noC*FxL;C zwYOmhJ#+W~ieVLcL3RjP`vlDOVL1TgD%8Jc(OIdVhaewn90yp3Nv#PZxN-O;`2G~s zm`Tz=s`VRoo+G+TB^Slo`UEbuP`dyY^MS#}KWPdNqu41mK>v+oXU%d~`mWx;ju?d+ z6TSPH3QN-?Ksg5}DAFHk`1h=q80Rx$xBwXlJP%%=Us520VPav#ID+%%S_7XBfeY|Z z1j^n5Uk`IfU;h8Tr1#&RG3bc1s;S~*AjH)l<)OH*DKYF=3o63X|G5GlA@Eo71xPX( zAwK^1&}2{-Kv+RvME7agfgf-EDQ*Sl>DD0(3lo7w(UPOT!ZK+7w+A>ZgUt1u?tuDx zp`%G4aH&hUaldil*hkXfw{wC@qooBW74fP;MKh_Q9n~-Cl_@n+EaukT8baPe-g_-Z7PZ}YHDs|4xE+iS$OWXI z=(n%AG@6%xs*^Y%CJS}l1Cih^4kf-0RL(U9;j3~1YRwJQ!wr5g0KW|yCOxP+1%N;= zY?+8GG~D<#=T!yyF8sE0=@!T|q980PJhTSP%plZ3lh^!Ua`j;& zqksw+KQanXt1fJGx#VNPRXTqJWKNkAES9ji@kNQF&_54AT@s1US~@Bc_d+|6u|dvG z`01JcWjHnnu=;PY33)7-u0L2{xl;+c%DpQ%)K6hhM#KcGT!!>_yh2|Lfp#uUM+(ft z8arMEoe(Pl1Hf|;u5B{D0f6>4dq09PPoMPk&*$$M3zu)Fi=srbfm-29(nAek9p|z#-8$5Lmt6{%wxNTiz9FyNBe) zF|Axr0W%)|XT?ZRAHP9+6u}?=IKclcENefMF=^yN2B`*)9SPA`g!ssKWTDm(FX7() z%&~;<=U=Rh3XG>ft*Ed70GKHKsF95V-%2n>WZx#F^jYrO zd)NflqTB$H6b%AQ*5F4Da@K`cf^BxM6ywD9z;1=|rdW{a_$dJCbi=5Mby~(Z_J=v_ z7P6)Ilu#tVV*S-I;6FO9D~)m(?J$dW@V`r?@>|8#H&g*&?k1z9Vy#h`@NN?5Q;4e= zHanphM*lkWK}+Kh4eJ~iCn0!OdG{!=-e&(EYx6B?FsTy)Zp$DJUV_foD(%4!)%_8No&;w)rAEb4z~C1{vou3Y|4v5~-YJZppd|srvdGL}YY@@nV4RQ@g2X}n zQ(fEu%EpWS7is;5kfJT91~?v7+6ymc0Z|W{Q5wdg>lpW!qs!e3|IEk@E&jhplWF-by>8YSt=4BhIfC3-As9*2xJgAF+1Uj^HelL1P)I8KcJ&$&6)vc_Zu?z z=`?fUQ2yJjr`dB+CaMlMWJa66(-|g|fHQvUfZ++*{eec8JEB{H;~GS`_c6&&qNq^w zaPYFf4f-^N4_>z%95NTa{`ft-UkCP*z;Tc)hmyiIa?7`;rIYgw8r@oNHqHYvweZEe@^8aL4e>TseNs6Qmn0Za8jF7cS$r}&I>|*iwhF| z&y@aedSYJasD{ft|1>@91^OIsSt5(vYq*x7Ie-zx&X2$8txk>Ey#u};&$a=aPj3-u zTXzOk)}?<#dMbmanbHo%i|3+>+X+u0Z~@M1;8(=KmL*K%O0VnCdd+$&ZBSbdqA0*c zR`Ye)0D0B>5bN)@r*m@6100+oy2Xj{l+i<+i9T$;6+?{^IOuls5ixY42l|0b^Aib9 zd?Xtc49<+_I{fMq>g*+;ppuatNtq zmXuJscO9n^*DKFhqflTRSHYf7Bp0AmMEM4?tqKe>5eEAW`XXU%&vl;QKhr?)LxV^b zIW5HrF&P9lf3`hYqXh>{5W@RjHqMJe{|;znK2QVe-fz}oTlkZs@srb)Z6O=s{~gq% z9gvaz_h$NX)&=~5$7`64I)OH@Ej+K=GKq#Hq=4x9pO8Rp0(MxlJpG0*QM!SMOW+S_ zF?f?-%G76~$*`HDsXPBn1ucrT_&c-ZL>&eiHyXl_{Qo}TV3NSXnBY>P|GXVhJT=%f zKaZNQUaYN-XM43<9t5qi%K^HfZ6{BIL79;vxxgVxUHcz{OlGqjwIVDC8CAR_sCa~N zoPy&Z;0+odslxF&YAQ>rH3$sywsfgqBUm}t3KS05vP_BGa-Nyj!X%gvk6#d0$I}fB z2CAX|KG-cs7!Dc`9PIFj-6(jzVnVxAHtr%|FmvF2T#Cr*QY6RCD*^X4y@^5#6#REg z1(tNBK~kuB_fxH5OAhz8rPMAaTI#mlC*ZGHw0ifY^!+a7xKK?dc|rRHD@D4?vo|HG z*J&H)JqH6<-XS-yF>Zpmx$~HoVjB#Qz-m5l7npq&dbdl&Ek1dyKwY;6a2$7bPqncreg@6F`e@k`H3%yiD4W94y zmh|__1Q*F2!axfZASC1o`a{rT0;YhglMsccXUj5g-bx(*-@n1Qg24X>itP_d_`mlO z!}rNo*)v~X55w=gP)nA9G=~sGPxJqY9`u3ZZ$!bw#s#RC1p9fT34Q}sGjp8TXf>D(!M9z(%EAG_+uu0mvNrcJebygXYpPGKm$t8RSp^tjLyn&qAI zh`Ru4AG_^ckGM}O1{TGK#(wf3W48+=!x4Mm!MzDO?$&Y1ZOfg)0yEw{>=n6qc;1u; z@Jk0*D>O#NcPJ$DCWIU^2sAajLY{;33I2(B5&(Xxw1s*^m<1LnW7-FAeIDu7u0aJk zkjbDL|B&Cw{GrwGFl^m^D6201&C(dGK}KmwALT6@hiw&)z#lw zN25q>rEm7Y9*eJ|L1q7d_VeTI`hY9PiKc?)sp!*K!8bkYBSlKbl8as3`U0H+|S3mKzOtZa#K3l`r83jEZTshX?`0l*maeeR}xA11u>~m9KmT ztp`oI?BVtY$2j~H{wW7~PEAckzd$L1A)n7!zLNZskU1H4r39aIREf2R zg8o{a!dBmcAMK)nyGpTxMo?S`Xq&6xlLksdwUzM*#FO@h5sA8{aP+{B99SGD28C=|n$Fjf_t(gq)w5!uI^vXszT)WJ5kkc%Fqqx%$X&T4+Y(ilwud5#=w})0 z-WcJ8N;w+E%_I!0#P5~%ucBa#qXkg72sc!~F_kT9`*E>?SrHI8vH2D{qf=LpY=`idVOu7B)t63P2@Xu+qf#_ue;Cq-S)IMuPSY&< zP<%SB=sf_jE{>9yx=fA)$#p?xujW!JOXQMGMT>g1%r_zURl<EzDG6)@jj zrVvo)V*0pD+j5a!5J5|7z&*aB9^^&6-5W901%^gDWggEarlP4g+KF}0Mr})u7iK=G zfh$pLZbscWEw0IWK?>ic(nR`iIOr5Yt@9$&&xU#2vlUB6(mV}jfSf|wR>5U>>=y?y zIov;#B45FdhB6I)A;l>e8-MSd1fP>`moFr{rnh}JdDHO~Wf3E(IAoL^h^}5w8?tOo zbQI;q$ik<&PSj;N?y_7vDXZXMp>|72*AvdbfV51$D8KXf3}fE|P^OydfN`Fd(JQA` zHl;5VRYvlS`WIba6+Yq)5eYMF7qXCc3NZyYW0IHP=NERDGld8}3DU{%dF)m-cI zFP|)WrBi1QSgq-GMTC5Cc&n9CD%HO?Sy}U+Z$m%3$S^%f+1w>pqcjky%q1HuL@x6_ zJcbtEJtt+xVt%vaUF4d#8-SU$8RCak50lXup*8yuTYl;wjky|T6LfHxO`M$0>n%*6 zuc6zNd9JMV(UNi==CW4CzfwWIg;RPDES7%ZK?l;m3oH5tGg5AVRm$MGGplBfkl(}T zF))gAw(Y!7PXNiq{R-ARl{=5X8PdZvv33BDn4W~M7Lp7_ub$FvF~2Z-7>dnl)@xjg zfhqN#e*BH_j9uCNrzw90PoGiyD7GTRenu|i7;bJ~o2{0?g=*h&&Dst=Axyu?asnU+V zv4uos=ElRaDtl5OhD0qRo21c>N#OS`jC2qV$YqLZO+3Jq2G~sLkzx)I^?X-?&qL3Z zt;{r$c83m}KwVwogoXxO`*g=daKYjZrr$3pX7uqC+DfBD7*9jVLej^o^k7^wIs=<# zP>4SS?-0q60^pl$)MMU1YQm77rj>KNsj@8r|jBW7(oEXv8Vxr2M^0)4OWCYqO%&uiP58ZuXY zPQdr;G^QmjvE5MSk&)ta;QntD5&aszv7FPA%q89S5S~cw2|ZX#hZCqh(Zs~ev_!95 zl&$a;RPkq4&3+XZta`z=gs(Nv4YL<(0u4v@FuW2>q$X%9PcXb{DWHKLd zNStbX2#pyYPRwUWv%t-sI1oSYe1Aw4lR~Qe9Q#kI(sKHhKSK1LGrSMz>d?y~QH*WB zW~YrS{5O~yIM{c7!uxM(&C(!2l92;1cMokzo{WMmQnKHHymSrVn;$>V zHIxAsd>+k;Rb?}_$AaZ){_)#9{UC1tGzW;@3f8_&?+>bs+yC+%VznXuO-)~x_<#=v z!KW4PzxYOJ{pxVKf;?qOSsAK3W_%9`D~12uE|z+r{Up595?$8*K*0%uJ=8?UAUc_3 z1bJnN{Dad456I36zC813BmdO5$^?PWirj1DtZFUTnx>TbiIO0%jDzh{f~4`7-}6y3 zfh<&F_-P})Z!uGBy=2Ohd?+C`i2^S!EaVS81;2iWcN>DF;2#xu+wsN7Sj@0;{=XPv z*b-2~NGb^*@4a5m54ig&ef|AsVm7fMNIqc0JkKa+NSqi9uv?>&&uXC&vkI&=SlUb> z{~7*g@AURm^5WS|+coHBYSwi>Hn56(8+J8^drVD=pgDe^N0^>ygoQz~OTkui@f2e+ zjVb)zbq;#FmL2}`OA|#Pg8qG=V^WlWJOnCZv|s$40Pbf5!bj{_Lq<)OygGQdI2L-% z<%nm)J48O2`{o;iqf#qG9uJ%_p(?e1RX6N8N-7oL)M#R=7oacW{6gPq({?V9!fy!P z>u1V1Ir)L-5VF)z3aat8i%n z!0-M5Mah%|umB7nyO$!{q5$i<)?&C^^C#A2IGs!_27)tU_d#Vq8mZOlOLU$bIfQr$ z5PH-i7M!6?nYT0;%Ve5GFW7bmNA}Y0RW(5$)!OK`{Xp?it5?$&Ew+0q;B-b2{-O(e ztu+k|Mn!0fnks0U)mM^{UIi{FxA zX)*kKO6jkm^KaXqtMF~l_h8XmN{&r$`A#WvCQVnwwKeSUwrQ5!<>|lu0x+S$qs%P7 zbA5(!RzXmK_PScXi`M6jiEf#QrX1F9gQ_yb56BHYrO1^uP1ESZOo98*l+K`%yK$vj zH$aN{)34WL2!e^1R80ruKB5|dZUF>PNq)($!N;r_SfE`)yS#m>?X3RR?2`&o-W`J? z651oS6~&lckWaM%OCsQ?mCx^}f*$RDfqsceSJnwd6Set`rZ_eKaX z+A(ZLd5M2N6fMSAquvJDPOI>}q5ENJV5uWbdWDpf^BbW{AyB-FQ}su zL=Cdtk`749#9<`k;SS8@4+&d*w{Jw*?ePDa5dC+K)yZEi{i_na5Qbvb;oDxz^Py$R zBVKIga1WaZmw_#|U`%6~psO2OamE$2y@RPH1F2v{Q4RpPSwjm>(j0Z)HB!F8Cgs0K zh3=#`PapY|8k#26;e{t_XQ$8%d@-g%Z`|2hyyrTex9d>a$LX*vDOh*`{;3CBkXCS~ zi{ZtC;G;G~vBN0S2l_ypJ31-yDj<#+C2*j25|h{`9i2*wT@57)#{*J=rBPn-QG&ZH zGnQhF_G0MqE{LTWtiy!-=CHp>Jv1A4RX3&u+Jr}ngrs}K&C!jR6^$Uu%-uvPRPA6_ zEmeGd1srl3-6pk*qv_Fv%qqOFa}6D~@9+2Fz@r6yTy7Se4wYg@FULTebpJTQTW0c4 zX~4 C`SD)> literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..9b7d382 --- /dev/null +++ b/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "AppIcon-512@2x.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/App/App/Assets.xcassets/Contents.json b/ios/App/App/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ios/App/App/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json b/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json new file mode 100644 index 0000000..d7d96a6 --- /dev/null +++ b/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "splash-2732x2732-2.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "splash-2732x2732-1.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "splash-2732x2732.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Base.lproj/LaunchScreen.storyboard b/ios/App/App/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..e7ae5d7 --- /dev/null +++ b/ios/App/App/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/Base.lproj/Main.storyboard b/ios/App/App/Base.lproj/Main.storyboard new file mode 100644 index 0000000..b44df7b --- /dev/null +++ b/ios/App/App/Base.lproj/Main.storyboard @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist new file mode 100644 index 0000000..c6d0684 --- /dev/null +++ b/ios/App/App/Info.plist @@ -0,0 +1,66 @@ + + + + + CAPACITOR_DEBUG + $(CAPACITOR_DEBUG) + CFBundleDevelopmentRegion + en + CFBundleDisplayName + kumusha + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + NSPhotoLibraryUsageDescription + Kumusha needs access to your photo library so you can add profile and recipient photos. + NSCameraUsageDescription + Kumusha needs camera access so you can add profile and recipient photos. + CFBundleURLTypes + + + CFBundleURLName + com.kumusha.app + CFBundleURLSchemes + + com.kumusha.app + + + + + diff --git a/ios/App/CapApp-SPM/.gitignore b/ios/App/CapApp-SPM/.gitignore new file mode 100644 index 0000000..3b29812 --- /dev/null +++ b/ios/App/CapApp-SPM/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +/.build +/Packages +/*.xcodeproj +xcuserdata/ +DerivedData/ +.swiftpm/config/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/ios/App/CapApp-SPM/Package.swift b/ios/App/CapApp-SPM/Package.swift new file mode 100644 index 0000000..5cde8b6 --- /dev/null +++ b/ios/App/CapApp-SPM/Package.swift @@ -0,0 +1,25 @@ +// swift-tools-version: 5.9 +import PackageDescription + +// DO NOT MODIFY THIS FILE - managed by Capacitor CLI commands +let package = Package( + name: "CapApp-SPM", + platforms: [.iOS(.v15)], + products: [ + .library( + name: "CapApp-SPM", + targets: ["CapApp-SPM"]) + ], + dependencies: [ + .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0") + ], + targets: [ + .target( + name: "CapApp-SPM", + dependencies: [ + .product(name: "Capacitor", package: "capacitor-swift-pm"), + .product(name: "Cordova", package: "capacitor-swift-pm") + ] + ) + ] +) diff --git a/ios/App/CapApp-SPM/README.md b/ios/App/CapApp-SPM/README.md new file mode 100644 index 0000000..03964db --- /dev/null +++ b/ios/App/CapApp-SPM/README.md @@ -0,0 +1,5 @@ +# CapApp-SPM + +This package is used to host SPM dependencies for your Capacitor project + +Do not modify the contents of it or there may be unintended consequences. diff --git a/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift b/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift new file mode 100644 index 0000000..945afec --- /dev/null +++ b/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift @@ -0,0 +1 @@ +public let isCapacitorApp = true diff --git a/ios/debug.xcconfig b/ios/debug.xcconfig new file mode 100644 index 0000000..53ce18d --- /dev/null +++ b/ios/debug.xcconfig @@ -0,0 +1 @@ +CAPACITOR_DEBUG = true diff --git a/package.json b/package.json new file mode 100644 index 0000000..26768e3 --- /dev/null +++ b/package.json @@ -0,0 +1,55 @@ +{ + "name": "app", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "lint": "eslint" + }, + "dependencies": { + "@capacitor-firebase/authentication": "^8.0.0", + "@capacitor/android": "8.3.4", + "@capacitor/app": "8.1.0", + "@capacitor/core": "8.3.4", + "@capacitor/google-maps": "^8.0.0", + "@capacitor/haptics": "8.0.2", + "@capacitor/ios": "8.3.4", + "@capacitor/keyboard": "8.0.3", + "@capacitor/preferences": "^8.0.1", + "@capacitor/push-notifications": "^8.1.1", + "@capacitor/status-bar": "8.0.2", + "@hookform/resolvers": "^3.9.0", + "@ionic/pwa-elements": "^3.0.0", + "@ionic/react": "8.8.7", + "@ionic/react-router": "8.8.7", + "@supabase/supabase-js": "^2.108.1", + "firebase": "^11.0.0", + "ionicons": "^7.4.0", + "katex": "^0.16.0", + "qrcode.react": "^4.2.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-hook-form": "^7.54.0", + "react-katex": "^3.0.1", + "react-router": "^5.3.4", + "react-router-dom": "^5.3.4", + "zod": "^3.24.0", + "zustand": "^5.0.0" + }, + "devDependencies": { + "@capacitor/cli": "8.3.4", + "@types/katex": "^0.16.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@types/react-router": "^5.1.20", + "@types/react-router-dom": "^5.3.3", + "@vitejs/plugin-react": "^4.0.1", + "terser": "^5.4.0", + "typescript": "~5.9.0", + "vite": "^5.0.0" + }, + "description": "An Ionic project" +} diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..2ce8c03 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "Ionic App", + "name": "My Ionic App", + "icons": [ + { + "src": "assets/icon/favicon.png", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#ffffff", + "background_color": "#ffffff" +} diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..71ce1e6f639b3ea0712bab03f2425eb82c94494e GIT binary patch literal 6148 zcmeHKF;2rk5ZrTuFan8`l>S0~U?NjdMnH!kBuYTGYzfl4}+IKTuIJyL&ix z?1(NxXji%$dvDj{8=t&)MC3-x>5ynZL?IeuaDcAEc${0y0`EBjI(f!pIv`xEKib2nor;jFJHd)Ki}U@HzTIML==nq3gLAJ{wG?1 zJ)>E3{Tx3uN9+987pv#oUoTkGc`MB6)si^7Xgc;BA%+8-soUp?mNjSM!(Rx$B6lf~Y z)7t^p|FiAq|7McinF6N3zf!>UlW{V_lzeS%O^$1Agm#0*#&M-$m4XW?#farne1awh Yf5aES*kh>(56m_KB7=3Nz)ltT29g41%m4rY literal 0 HcmV?d00001 diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..1853a75 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,309 @@ +import React, { useEffect } from 'react'; +import { Redirect, Route, useHistory, useLocation } from 'react-router-dom'; +import { + IonApp, + IonIcon, + IonLabel, + IonRouterOutlet, + IonTabBar, + IonTabButton, + IonTabs, +} from '@ionic/react'; +import { IonReactRouter } from '@ionic/react-router'; +import { + heart, + heartOutline, + listOutline, + peopleOutline, + personOutline, +} from 'ionicons/icons'; + +import '@ionic/react/css/core.css'; +import '@ionic/react/css/normalize.css'; +import '@ionic/react/css/structure.css'; +import '@ionic/react/css/typography.css'; +import '@ionic/react/css/padding.css'; +import '@ionic/react/css/float-elements.css'; +import '@ionic/react/css/text-alignment.css'; +import '@ionic/react/css/text-transformation.css'; +import '@ionic/react/css/flex-utils.css'; +import '@ionic/react/css/display.css'; +import '@ionic/react/css/palettes/dark.system.css'; +import './theme/variables.css'; + +import { setStatusBarStyle, Style } from './utils/statusBar'; +import { AuthProvider, useAuth } from './contexts/AuthContext'; +import ProtectedRoute from './components/ProtectedRoute'; + +// Auth Pages +import AuthPage from './pages/AuthPage'; +import VerifyEmailPage from './pages/VerifyEmailPage'; +import ForgotPasswordPage from './pages/ForgotPasswordPage'; +import VerifyResetPage from './pages/VerifyResetPage'; +import SetupProfilePage from './pages/SetupProfilePage'; + +// Main App Pages +import HomePage from './pages/HomePage'; +import RecipientsPage from './pages/RecipientsPage'; +import RecipientFormPage from './pages/RecipientFormPage'; +import RecipientDetailPage from './pages/RecipientDetailPage'; +import SupportFlowPage from './pages/SupportFlowPage'; +import OrderDetailPage from './pages/OrderDetailPage'; +import VoucherDetailPage from './pages/VoucherDetailPage'; +import ActivityPage from './pages/ActivityPage'; +import NotificationsPage from './pages/NotificationsPage'; +import ProfilePage from './pages/ProfilePage'; +import EditProfilePage from './pages/EditProfilePage'; + +const BYPASS_AUTH = true; + +const SetupProfileRoute: React.FC = () => { + const { user } = useAuth(); + return ( + + BYPASS_AUTH ? ( + + ) : !user ? ( + + ) : ( + + ) + } + exact + /> + ); +}; + +const SendSupportFab: React.FC = () => { + const history = useHistory(); + const location = useLocation(); + const hiddenPaths = [ + '/auth', + '/verify-email', + '/forgot-password', + '/verify-reset', + '/setup-profile', + '/support/new', + ]; + const showOnPaths = ['/home', '/recipients', '/activity', '/profile']; + const isVisibleRoute = + showOnPaths.includes(location.pathname) || + /^\/recipients\/[0-9a-fA-F-]{36}$/.test(location.pathname); + + if (!isVisibleRoute || hiddenPaths.includes(location.pathname)) return null; + + return ( + + ); +}; + +const App: React.FC = () => { + useEffect(() => { + setStatusBarStyle(Style.Light); + }, []); + + return ( + + + + + {/* Auth Routes */} + + BYPASS_AUTH ? : + } + exact + /> + + + + + {/* Setup Profile Route - Requires authenticated user but not necessarily complete profile */} + + + {/* Top-level Protected Routes (no tab bar) */} + + + + + BYPASS_AUTH ? ( + + ) : ( + + ) + } + exact + /> + + BYPASS_AUTH ? ( + + ) : ( + + ) + } + exact + /> + + + + + {/* Tab Routes */} + + BYPASS_AUTH ? ( + + + + + + + + + + + + Care + + + + Recipients + + + + + Activity + + + + Profile + + + + ) : ( + ( + + + + + + + + + + + + Care + + + + Recipients + + + + + Activity + + + + Profile + + + + )} + /> + ) + } + /> + + {/* Orders Redirect */} + } + /> + + {/* Root Redirect */} + } + /> + + + + + + ); +}; + +export default App; diff --git a/src/assets/basket.png b/src/assets/basket.png new file mode 100644 index 0000000000000000000000000000000000000000..019680daff5b710bc22438e8c1b28026a11c1eac GIT binary patch literal 59243 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 F{|{SZ8G--+ literal 0 HcmV?d00001 diff --git a/src/assets/dad.jpg b/src/assets/dad.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5638be0f4db32e55d1acf57abe2bec35ca0fac4b GIT binary patch literal 120343 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ⅅ`egduw}O9_kkTEN%?_ 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 S6^FJOq9YY8M%^o%*#FtW(Vc|= literal 0 HcmV?d00001 diff --git a/src/assets/mom.jpg b/src/assets/mom.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc87965239cd92bcad275142f95a1a464257a484 GIT binary patch literal 153909 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

ffZgsjBfIRi)p(6x0sy4#C-9p9UIrb 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 UT7e9U$V#$k*i_Odjepbs1A0tnQvd(} literal 0 HcmV?d00001 diff --git a/src/assets/pill.png b/src/assets/pill.png new file mode 100644 index 0000000000000000000000000000000000000000..609daa1918f9d60859f88f689732b20577f93e34 GIT binary patch literal 44530 zcmZs?WmH^E(*=q%_~5}c5Zv9}U4lCVcegOOYl6E63GNQTZGhk|A-EG9?(n?#TldfX zF>B47bEaySba(acI#H_1GHA$z$WTyFXmYZW>QGS7*6$wx0_2MCAJcg#C?J%aq?o2R z^ob#25N^}LD?3Na=IMAp42r@z35w@Q7mV3?mzPvtp&5%wz`rXIhUhNgj!*RJ#djMm zEvseE##XvgQhAiMOkRH#+2v^X9@ww{OpLB|5dM~-$OozdKEV-E!$jv3?bUuN!GS@B z4ui@E=o!L8zKHHh<`Y;~1KJ5t>yHY>MJd3%n5uB=yu(U1)sR1O!ouN*@q~zJ8`{SM z%7uC0-+zXwX$HK@%zT%bwO3oAOb3SpqXZ2t1y(Y}(IR_ghNwxFq_5{~kYrhXA>S>9B3Ip~&|w0xoewjNagGtU?JtJt}ZTs6w zR}BFN3Xkj6o>9iU(FUn$75-0~@H;x;(hBMSLQ<;*gkaM$(ft0O%Mqcq{?$Oj@L025 zEdL&UWYB3mMEfavo2}}9+Mc=IW5|`QNf*}pPeQb*7`PM(c_2=-{2d!42RPqzpb=B; z@m(M?DDK@?fKX&Y6c~AxFwtuzvq&kc{Rkv z5IGd@atiu14d1gN6AywqYr(r><6Wu}0AvM8O6xVv&+jU%f*=5_SVt;i{+Ia>4ZFlV zB~9;Xj|#jG%g++~qJ{rotVGSlA$QFQnMx|(??RFmZoMj8-$R=MOpR$>pQ8@9ZV{pF zq4*BxilRr$?(6fzm#0i1v<;_2XQF;$<2Vjwz)1U%*4-tCB@g4hv-QG1m8F4g;e zsCf@7+jMgQRXrdfVSNwD#nz|!ceMNO$+a)^T5-i!t@jgBHj@Q6=?0ZU@H1B$g}8r7x}Bu!zP1TYV8EUj0b4Cmg#G1SAX7>6k0= zhH6T5aIfqT1K-#+D@+2&onK2n-|@bjTt{rMn(Zy~81WyamXQVCfLKIcFZxPQ{%#V} z8Gely`M$=NEq|+|@Uf#<*E7p~*fHshoM)ifje}TV5j)C#es|`~mvR=LOG~0M`g2}` z?cwwIm+5T()o-Jln*qJuej5QhZE4vaFIHXF)y^`m?(uN2JlYt?~bp}FW5xLy6%j@~~=zu~S;OB2YAD#1DXMLP+`2d^h&}h1} z;VKvwv_Swg{Im|`p0)!88>VuDZ`4(G#>Q`($-`sm7dIwrG>@pjk| zWj?gwu^5Ui6YGCEK{eHRKeXz&@n!5}`BW!t1qbFfx|f^k!1wgKZKoO~>vjmn%9(3# zw+ylC2*q3Ab{lOTW?coxT++z~mX)#q?;*8G4fPi3iJ_BG8|)`qv=5OSh^YNx0;qks z9Tq8f$ zg54y3Napd0JbMq2@T}d;k_w>vvNJFoKibTdHfamn1(!7YiUp;4cQsZLY5|^Odlj5| z)?E)kh@{RZb;H7Zhbby~|I#nJ8aOLG@J`5)G#evAy2Xe4s#msx#RRsD5s8DI!qEmK zXtRSb;lp?Ap8@pu2Lt=CrP z>2;Sw3dEgaL(l#Vc=&^Ji~`n7$$#Old)l8VT1t_ZaR{uWKO|^(4C}^zk;)*e7OV8e zsiwkgtokWkSwY`eT_Gk$9j-l7%h?v0zTpbzH4zfQV5*& zlEsLrEcD7skx%H=O%g77!o}l4t8-l}vBBlQ^=lJv>!7hya*aeu&9LLjNH-FnqM=A! zxv>>~70GTJXXY*VVtj%(B~B3}%9(tq^lKHT#z^RDROanvXSpor>*eX)8b@e=?3ZRp z=C0yE7OhnrBdrG~%nxs`_u5{uUFOrYq&_ASoq45(Sz#7NcIhByaIK#-v-H2S5Dw1| z!AV_@J3-B-GszZ540O=)(U^)fNeKkf;2{qEme_uH$)#eCDkn_%>8CENg-5v9)sQ0E9Rn~NSLtcbcmwW>Rr*~ z6~;~F)E#FC=Nt2}+tHnPBX6=fEi4|l?`V_c@u-ZN@c7|4hxHk_2l!o3OXs8WOHR@W z?G^M^ghlTLW`$TCU`ZJOREHthuoJCl!;M=r#Gzd<)t!Xe0e4J#u638$1%5k6R0+St zaykl`R_)=*7cU-5l^-rg{^t6fW!9MwpYb@Xa1t)5l7;nZOF#-b?GSaXMn1T3G9Qb# zH^I9TrXSHu&<_53`CY(+?MqYZ)#eYvCgk`}729-7VH)bl#$%GodVq{W8*(j5b=~-? zY?w_=B;Inlug*|SugK7eoPF(I@$8fLd7T*-MpOaN1$K!)G4;A? zmrBzfLmL_}r^ZaW5Y(eSjrL&GMY}eRDn^u*B1hqlC+cc}B>ZlEU33SqQD?^!AI%C2 zon#5x%u=*$`tM3Ob-zA>leH>WL<4YO^pW1nP$XHc$r{Xj{eiE&(1<7ZQ%__%+)5ERboFs%e0&JmMve9!w;}-U-JR(?cs#bPbATTZA9JkZ|Lo5k_X2^l35s{{M{rl>ZY^qX z1CvM&uJ!!KEnhzZ>3&BKI-BRh2Aw)%Pyt1y^*#hDg)GXG$2?jL7g|rVORP3Y^yGs~ zJdjUO4|3etXE%Lcnqs8mx;=ko|8V0UzlPM?uSoBu5R&iF+9V~b!&GBDi^$s*8WA4T z%6v+6n7|CoMoldV`q?^um#aR-NSJ8bec22~=Q1*(YGICS>&mZP7s*OH*){YRVdUr=bnsMFR?={xV?V2)k*I*uEH% zC?cx9VCag@PKq9$hz`s5$0d8|E5LKqF$~7D1Y9#v5fvuldp?PxEPNe$Ec{@rPDWFy zL{TdRu-11^<(H$VC4k%b`WB;|u>N#z{`Z;n`kv7m4G@yx ze_TLV!#*mR-?_u0;Qc{SN5fC)ixIH%a1kG55^v{=f8;*64n;cm^#9r~koK53G9DV@ zxXl^6WC`GZ=#-`Mv6=raiw*M{M24QhG6m1$4TciF!b`08(Gu(<-yuiaRhMcQBIs;=F(^ke?`d#!w-d(5X1BqESlX`**!1q3yaL z;$P~UXAEt*62(Ot@P3!!nkDBaG96q{P0uU;*XJ0P>`vR|-~he;b2}8WPD@MPd==vZ z%aV)4eAwoo;bYimQtR-b{HI=!)cuIX8qX3_M(Fl!`_adWilkz{fl@nZd_w;~7R7Z* zEhVHz3)Br+uIv(q+OJQ{t^c+Lz!HlExLV{WtlU+4UDxYg8@|^82|}G^`WY*b4Fe3! zit(p8VDu*v!cQ>%_KQPnd{*G>wuge*g*udL6B9+_n`jIxYt#pzn%{o>IoQugahVc z$QI~Ie1L9OPq$UFZ_UgHS>icS8uOt?{1M_Tv1>0IRJ|~sD5OTvYkQpKRwcoT6bwnC zD#n0ev?b^P-&<+?R5=BmZXFk&JTGDY<7hj_?z7*z4K(#JGtHV{IO5wu67{E63=~P74HB}tOZ8YQ8!ct_$`qO%8 z9a(sZShVyC0+Y>wg?)Ht%HEs=lU$2(ajjn^3@Vd#geTO>ef|?x($Bo^r%MlW=}nKD z2&X`u5erD^5Ev2kuLB3dB;CgV1YhrWJBH{hJ0eDUNhFMJMn|O(^T-OUi3z0=8||?g zCgHhy!}C4l&Vm)D#1TV5kFT;VgQYuwiaUJxldM`exOE*#M(& zEIOgFWAw3Wrhxc$Q<=sun?ir&FbqixT4)tpUoO9jxDV;?4&PNdF={@cVL(<+G$%#E zFzFN;CEM#4p3Q7RxM$tpt+bPfYfu>5+KVQl^gF{FWAlTu+@c5mUV7e#ST38q%aO z_n<9E34U?p=h*S|Tt@0s%#pb+<8eO?+?v1rvP`c+QR@R|ErhT4Lvz#Jkb_;PSVmdl z#%YGIk5F&=I~yDt3+3epdm~eIQIyQVwMk4ub$%qhyIwqxy;Cc$tsJHGKn6uKhB{pfw-4sL_a$TkU@mXA+V}#g=iODJ>;RG71#T3^NmhU5BRgVi&6G z9M2T1jCskJB*gYGQ*J5m+r{dkr~7SER9>$JFi--8b)_NQFk5%y1(4B}I&7OyFOw5JPd5loIoK2RTJQqN63GczkbS|&1y3{ENr-CRZzMWt zME%JY@F(tMhD6-{j74)}a5{aP3nr^MTUd-*j{)Uk;O})mpc>1=;3?D%P@7Dg>#tZx z&27LBOXTDHb-a2_wqc#Ad_XJI4INxpEH3MmDrpR+uw#s6lnx8Rt(}5}d9XwWjwh1+ ztN<=#7+FttzEwQw2lYN`RqA~J+T7&X&c3Y)u`C8uEAl8w7S5N`JTx!)u&RO)te0VA zRV1>t8xQA9`hzWLDHyRc9g=REML`H2$OHu3a8lj#YP8AOePIK}noR`)c%7cefeav3 zdeDg^4ya@?3zAWJ;;Gxr2!Gm4hiP`IL&r#p3Ay1M*jPInJwR09v7{-rm3oZJoRsV z6)@9<{5+@n+paw^ony%v4l{G&{U=2u6Ygl3cFe|urF$5VQJ@o`sToZiFgYJfyF8i1 zLL|}kz|L@6waH9tgikgI1$E;UN!lsmR$4e=ziKUu>(7r^M7rF^##uISvMw~AhBjnM z-b5rspT3k;He?aO%=Nqp>ohvPD0ez@%7I~#S15o#KnaRj`M4yz;yPB-xuU!zKz^V~ zf$yRGJvL2$d*84>QM>zveDXe(Nam7^r_vaiM~p_Yo!mGOY&y&p+La+X3(`^p5i7ff z33r7wTMgD>8wcJh|Lr;VbV+3zckgya9Zup{A)Bw7&7y?qoX#|B(adYch1vAyq8qQD zw1)+Y7iT(Fuk`+i7cEwg%#`ER%@{dW4*us2^^hrT!?!Szjuhe;&pPK`(3jYQ{sq>0 z-=C`W0I(Y2{To^lx<(|3vpsZ$mGK6y;ndO&{dIrv^SSToncpF_ouxwmpF)#b{QR*E7Y8(Px;OV`^ z846TmW}Ow&!Ye0iVFjUB4qg*Y{=*CFIy@(7O6?4s$ZT}#)fYpzNRTCp{XY-h^u&D@N^)9n0de=LIoTjSVS5owjn^n%2(A(|+7!6uk8H7H_qxc4J zI|!Y0kN-3{cH07D{SF0HWZIqxJnICZ1V;`-nVKDzy-7_6`-gV&tIvG0kDxFl5-(cJ z{F@*3wHUWccRQGlSXsjtHC0RbE<8lE7glM}^nQ2?esgfd5kp^v5K5Vo$ zyiYG6Q|zq)eLK;1?<>iSHy^xz5RM^Yy0(^@_|Lj66a=VslvVejZxVIgm*&` z(6SHXT_$&GwA9uVjEj>6DcNCEm*6euouV{YFyrHchV_q+b^4X|*()9RQ$$O~0+lit zZ(9~uoPX!;_+S5cYV}D+L7kUN|7cNfCk4t0kudd{RQDAU7n>WQr_7==*{4 z%-ar|wU-n9nNqtGPfXc8Oc^=k8TuwP$4Jm+r+{ozc;EOBi-`Wnj;&oGz&h(NO<|h`g7?=@c+}<{CRT81!x|j}UCLx>cDj;G%8ew*FPh^+LbkG(m&(;X$#kurZ-_6|_&0&3zi zlv$tcw=SYcBuhALI9X3%uJC=FaTJttPD?O`01 zJP49DrYi;*X>$j)%Hc;!UqMe4572rl&2qunFG(ZQrRD4XTy`X+WzXp4-N8{4fQ0;1gE%Y;pvv{XM@lW}@b^j`N>Cbee1z!_K=FFH30i?D+zpy;)S8 z0`;+v>mXCBPMW3{WNOW{lso!9#15B(FAm^!*A*S&g3WBa8JS6}@nA)3L{`%C)gD8L zfiZ&4NjPeDnEj&UT6#{{SUQs}LTxsT+nVwnE#`s`_)E%phE)hBoCPO%`xa9GcEbc9 zC|X>Bpe0pufq6_kC+R*K9U$WW?`>$!dE;Y?q4$FBt|OVpu~?Bz!j$6_m^-Z7PN@L9 z0%H{s6h!L$?5=k}y@`WFom-oTHzrv{uPlCPe!GIE`3ugPBqWvG)h$Ue6A&>V>yr{W zyl`FhDHs|Poup^1CbBs-r5n_0$$7 z73X;4#FIo!qmXOC(i(vp6G10cz^Ws8iRVKt+Z3s>orL6%{tQk;EsE zK1`BvG<~J{19SwhUqCiB^h2J*ibbhuS^R08LIjLE(t{v{P64jM-#nM=>Z0@3gS8k0 zFiW+Qi~i9sUop|jG;OV-I4n@r^K<$Byh2Ltft07Jrdl}f%SeCG00=?CJ5kRVfm&{x z8%jdPb38RNlP=v~GYw8DWc8y>isgyLSQAiJ-9bM%XiJV%q%Dyo@&C90b-I|CIyH-{ zs1lWNgOiN{Ay3DQ2*;pY#Ny+qCFlf^ey##RC`mMBT`iQ#){Ar2@3D z9V|#ywF%A z=H+f(8b!V?e>e)KH(Tv)lIF2+9LKr4UD!h`Yg@zDxExOt*?)K6{9U8GH}ot?$3`6*`Pi^pDIy1v#HB*znB1p|%I zpR)pcNFeL#0sa})r&yYplw$bAP5S$b0wypXjm~*9CDjEOkTY)s{zG=nmE1t99b(S` zG9ox!YLK8kS*YhiM#F%S8~!U-c-^|{)U&&WGQDOu_Ki*~x2hQ-G-x5n-KMjGlWNlM z--&MB`72_eJ#xyQ+g^&*wG#py-?NPkRF?VEQ{y2lJ zfko2%i z`DEfE2fU6^puk6cDIkZ554m5N|MX&mAS&|7-N+2yA#t@5v9JJ2{!a^rO;_J>!RBvR z8P4Q*9v!Zzno1&xb{_IDoNBQz6+?pq7(!PQDo$J#i7E-~^X*0@{ zFslxPiS?Y3BXUOv=Hqs?M}D+6ix>dhox@hwLe1opdG;dyGQaTY^p|wfG;}fsKoUU~8^d+>`_z9i2)|_I6od@=UUv95Q zXuHYJvGve+K!o5;S%9XpIu{e%9Pm^TRvIq)^zU>WL(ut+$LFt%dVBof_dhz?M$yUM zxX;kAZAP${@Cv3Xd9a!@lN9dxcKCbfM{y=k{v*cUe^RI=j@ukBE1~6{u93-s36a{h z?bVx~)}2O|-07C-dMgou=$4cRw_+;P`7_B=(NbXLrKJ`H72@At$shN=kgpfwPray3Iz&Sb9h7ENFMDEp`w+=GX>jD9XiSf1Y;$i1b{=$O zg3(J6x8y!18sQFBI0Y87v`4pfPF&R|Hq1d4dmRUvG3yQ5*#_}0OX&GA7Bn+S_Rg4w zP;w?Fm}1&GlR%}yro$+&g>QQwDkJwFqx4qtT{uH8W|d2`8imAzfd7sK0I>X?!KTpR zK~ui$J(;|hjjPg|p3Cnh|(SeLx@f#O(98}zwC&Wz)vPDMEq+eIDhoSnfSwY9c+Xh4EM{FyJW|(IN*c3 zjE}XD--n2c{LU(5;mL&T2`Kxk_EK0Rozw0-2z{i$+YGR3G z&IC(e4%{p_#*qrrx!{B)@4Y%JSbkcm1o#-uN}?dkkBPFsA_+jr#>A9-i_YSVw-1+> zRX+F5J6@k4C(kn2{F!it)VDWyZJuR3OfYo(@#9}^GL1TwiG-!v8reZ={ zSHR6`+vX80`qFv#H^*-^mgm~)Mh|BKj8#=)fo009ZJ)jyv=J`&>&?b?>}NO>tatkr zohQkdXiE_+Xlqf*x&B~gkP%E0SFT*By>IO{mB17fX5o}6Vmr9F)DK~1auA+UsGK$> zD4X)P=$Q1t78eDGX?|iRrT(HfOfDyoiIjrUQm4bU_qA?DkdV?p^9QTaF9`~2_SuWk zi9FSB^}q-agz_;Y{hRBB9?$PcJytoked`kMLBYV$SYy`6#RfJ@lWF- zKWKK0bpp$Tg2;FApj&G>#Gf`wU+K3ZYJ;oB zr}4PtIo4%=1y7TxN1{`U2>7qm^7$+iYH%S!=OM!25$l2FI6#1H`Qj2&p}JfngJ6}v z$^%zdl;5b}7q2#paJstk4isqUhIq-@B<&%@b!=RFVbe7dufbju+eic% zks5*YHA6&mr4rr4-NmKp3k~5EerHh}Q+)V_9iGEmB%Zz1=0jVNMe&k>SqrimrHJBo zch7FqBJP{(cc(m-W8a=v@O}sCQ$kw7^b1!NkA$~F=RV_j9=>+}kqX6$#r2QPy%=aI zNAgZgS%;~9roai{L9=uUfU44!2>uw;a#J)o^OQf%hM3>3gr2IkNS@rdy>0d#n?@k`Q84oDgmINkFS&)B|npL`-PWH1pVg6hR zrV56+v=5)KUMEhUX^?5Scsm1WcHc`Cowi!w8QWPJvss4jp4!lasKZ9Ivy6?GcFt-!}6_$GnoJ ziE<-d?7_v#&s$}MO*+^$(v{lPTi>*IhLO&T9*@aD(S)s`M68KETdxNKX1v+Wr))Ll zsHyu>R*nkH+CB&SfZpFsOX08wI5y1k3}9}b?y&F|JjCYl;kv;g&ky`fg_l3XnTf|@ zbvT0wnVU1kSds}S7=K1>4d^ypPOeZ&y5~p7)CPF15De$I@IRuHMtZXkZvRN^{_k4@O8Jx`Si9(RdtE9efx5Fr*5rA_-&_soVk4~ISQNB^V{jC<^Q+ql)FPuhSYN@ zS|cKlotf&JP|YVSl~MSCgw%<_i3+sxf40_hg&(gNNpLmx`!jgabfj0Alv8*)5WBnX zB!&mjLkyRokFgAD3*ng*5l4>zXjb9vXnKEx()Js2Vc@z-D3N6pINg#{TWW&L?QoJg zdVMB9j=HXKK*GPA&ixI+Vww-I>BhQo(|F9i7{}4IAWQ5%Ry~i?=pto7(kIL}6JA)z zDX}wa+!Pj?)vUOW6zP4U~bIS_j?Q^4p|+F5;qAhE=hApB@^HET^F>iq1cqN|I&_OHnWk|k=}2)NS^ zbm@9n=!*NC=aY3FFrvYDo!?0i3Gr_Yj1#H9e7GpK6rY}y;9Gc&Ku&_;AV#jw6H8Ks;7rZ@i6v!@o0@ii8SiLc(#Uz zhkso2xt<~t@I29iG->*OF8$%aK-H_ZKE_pXl*t4`^5njDvGCS)sd{%NG(1<60lu2M z-0v^(c38kj*KLNTq=I!gOleNTGd&f+26=TuXMD(?kIhG1^80+#xrJ(R(u}Q5qxem8 zuz=Qm={x3<+-#s~$gYQ~x<)+xV^vAh-$Y*W5`w}runM)YTI0b!P`nkuo2pc$UaN${ zHa8S5iTtrY<}>X}P)lHD92d7JBDQ}4YxT}d>wSL=I1{A};pHLtwrOnC67|A|le8}m zQ6kWq=vd@oFXeKG$Z4x~Afb1sWW3Af@UVNi;Y*&+(T}p%FKewX>jocxJ62NUJ2Yi# zN+Cm2vbH+6%>T^}IHP)rKz%gn3$M^*$4*a!5;hXVZ;)RoU?h~N>Hj%W-pKYK;zWKm z^%aC$8KjBDYA)LH@4&m?*`5C$>KmfOr+x9%Go(Ip!(R-Q=_P(kk(FmJQIN3s+g~d3wf|1U4Cw`YjHE>{Jd%!M?__%zl?;FEYEsWAY>%Jh z-eQvfc{5?NkaH_6B{$sK2e-E3L(1C=PT|`Nu?`w0vDg1`0WAou_W8I30VWt0B%C-o z@qAbeHY74(i0%6!Vlm(<%B0U=M3TGSni2^&vP-*F$9TUuM}QbilUxB!)H1uEY*HhY zyN%{!$i2xwdqpPt{=1StpXxzyg^lVq*VjF*m>{45*JI@3FeytckqTJW&`194*L@sZm5PNcex%5x&lgh!a1;q+6A6( zP|*J!`mRd@IRDvxlq2hW>uX?c-AZOCC^Fa!wbO3U*wobCX^S#8k)n@o@9_QxXc7y zmSNm)G5bxaa+#gtWz48Oabkjzu`I@%J?f!o5Jgq)O~g<+(it^g;Ds~$>+8e8S{Fl= zEOBu0B)x3s#GZ7wbj}5MowujI$Ofzf-Y*Q25@`{upBkI$gDfp!!U2!HRBt`hTe>}g zFW|CVU)yIxul1&3NLvVwTnE7ML3#B`V?F~JBqE*fwAuaVuc7D0%}mRhufMo=sit=# zz13yZ47=d-GNKM<<96dzzp?;&xVCmYT}^km4@)PUVjenJPr{QMTnN9C?SnV#wTVr1 zuhSjAmwk1gl$whqg5TCF5i-`KmGR-jDZCVJQz`(qgapi(kC5BF;^!d0rMVUW?dObR>+yMnMG2LnV#}Q{( zZyptxqEce8ZE@pb;33VxMZe>7GIX{w&y-Nb z3eV~b_D3NV|H?TpKu5>K1tdQ;^SdqlVQrFI7tSuNaM<0pDTqw4XU@2X~MH;k@>7ISr)JjVOQU^pg$5EM({<6ET1R`eYyH z@dNqWV6@4hfhLZ2QNQ^yz1={w*~Np0cZl$};oW<}?Bt#Z$PTn8B8|Qa9sr;? zL7C>Y96R+|_fU|(X4KI%_%3VVT^H-2q}PLP%w!xjKf`;a*DMxZZMys!yKbwx#crL1 zGgT~)_Mid%yoY7wL;&XxpRP_)Z2r)$^Nd2sM{fd!p>pg6g?);Q3kwx_Ny4jj?} zzNuN4lR6Lbt@}Z(SAHKZv}|Rw@>c11_kpv{&wooMn_Xa78`c5SDmIPu`amuk-0FV$ z;m||VE@6zHosW9i{M6n7-(XuJCm`fa z3!cOEAX;EJPdWl#n7`jZJ}#P9l2(Yb!ofvfP})uiqR}=;hG#1MSLE&;`P5g|qP4O`2)%UjYwxKL+%1 -{ZF0i`Sj7d&$7@$&12TCntA@ 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 HlYsvR8}=lk literal 0 HcmV?d00001 diff --git a/src/assets/sarah.jpg b/src/assets/sarah.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3cc4b108e222f0cf56165d85645ab4b995c40ff9 GIT binary patch literal 103402 zcmeFYWmFsA*ESs7p}0el7Wd*_iWj%yUOc!v6e$IQLxJM%9$bn;f#MLLNT5KmK#^eK z2NUZe4k&saU1^?5|$IDxQ^ndnPfc!suM1mBc{Ev^USAzcEKL7rae-{5R z@DBt3Fz^op|1j_m1OG7a4+H-&@DBt3Fz^op|1j_m1OML)Jgosf0g(P}$Vks=I5ILa z3M$I8p`xSy%g`~<|7{rmHOzk-*1rtre+}th-$Fq_dw%0!qGSGV`~S7`wDFwR(>?VA z2r-fMkRT{Xi~wXpBosoVry-=GXAuJJKS%gKFrJSS6%8E&6AK&X1ppZd1qB%u1q}`L zS$IGS{+E=1N{B|pz$c4NtYwM8=uW~Po?M8@^tN$;RC^Z2EMVmkfrU**PC-fa>NN{1 z8~YnUAz=|wF}Zj03W`d~DmuD)`UW2ijjU~KKib(lIC^?{`}q3#2Sk2~ijIl>9G8-s zmY$KB^)Q10On(tQLl) zJ24}FI3~&4yME`eyBL06N`d>i*i{}Xfz(qlN zK4BU5N3}5>YSZjqiO@Z+OlRKp)5-8-?tJU zGzGF;hy&E#zeUU=FyI)anDtM9`Kzw94X5&V{o?pJyArqV_sOZVvM2C?b4BRQ&{=}P zlsi;Xws$;t)Y3KUgo!r#$HP#l|3%0*jzJ089hblnx|f~j(sA6sZnSzs`Tch#nnPa} zxK)Xu0CY}h;@N6)zo?9CF#xniFDf+NaF9_P>7bgmmn7l7o0+Q}#^lhD0ig64>(cV+ zSpoT&AnbDmB9c|Q>iv43Kp2eQ!onHZB@d%;aP{K`Pc-g%B^^F++Zqq~o{u=yHK-L> zHCcs4VAUS6!l!JRoltx5 zo``6Pj2M^73%YL=gfB$PPN2UlR}~$F@Y9emp{3%qRhk4qK6TmkpZv%jG;^#jt=4w1 zom>)xZVfG_=ACXgf`mEfRFHddlmsuCc$CJfXy8QulWoi!%tWzs8GBt64D>wmFnJYA z3`kTwHkw5|SpAA2L}*?}`;%xP0Or9eRosdVprFx-cNCw;L)AZJ#Wjay892u4BnQqR z&F)i7F*tKc3godRwo@F*OuWCnu9zf$=44iL9a?H&zu+PM6EmQG@-2JI;wA} z6Gl=wEgnTbW!cr?loB~kwq+rw(+Jy1|DZP8tv|`~0b6W*ib1VGh~Jx=lOwGc1S$Z> zeW?XhR6B}Nl(_dkETw?aGpvh5HiTWNe0&|-mv+1!Rzj(*!MHAK!Kw6xfT&OPuI_{r zs?;RjOtaCLRqR-_?0REIQ-I)RSn74}Iez#XBc7oR$Ttu+_fI5u^80=ZC27E>(If58 zs}1TQ$a|_^;hwY`rQc5zKTPX_5a4ph2drsz-E*@u7!MR!3j+;dHw(-ZZHSO(4Cea$ zec|JMit&pkz}io*Eq=o5p1!FzMWkdxPf}d7Y4Hu*n*)o?IPjApqnD_@0wro7p@GM* z^f`;rr=N)XSE#{*bA34=$RN~vbmR#TFMQWi6Lp!u^=nW~CdB;p>p>-qnmXaot`?vA zwI=`sJenzu*Nfy=K1}A)w7Z&PY=w`ReGsb&x>2=*)&Ks)l2P<#>m?u<%~tD@8*>i) zwd<-bZuRbChm*+_(9^gfHB4N0sLTtd98dLAT>)#LM%+4#z-Tq00fR;_#Vj7>Cc&PC z0bix4pUT7{E}BNWlQ91!^-p`TB1~BtI+xYA2E=KVGnQ!I(m<@9vP>OfvU5o z1RbnKy&UhC-iH(iR@)a6zaK!_3cM#ULY20lR}qRd>`W|t1L&M*@X|wk zEdl9Bd3Vsez17Ab3+C%6*i5(>vzpTsxC;rYi}z7*%=2pSzE#m^nJ%7!Mvts=Y$G$se1}=f&AlD{#{`OGX-6>sQ&V7egvNWC?N6?ye+|Av`!tuu_B21+M-+|F1v{kDUSecx{qzxEsmbuVI0kp94ONBrFN_VR)yA2jl8RW18 zskqVDTvk$guuVvrWtF`|=$VeF8KUH|lbe=>UA}~fY3ju5=4t-%D_tF17b$qB((S3R zNRyowM!rWf*Nr}6kJJtkDHy?y)aV~UQ|+fLz)Z%FRm6Cy`{`7g>ka<*Fs2b|ri)5q zu%kb<(oMO`*`W-5VQ6Fd&@FfEX$ZL!KQK^FScp>kVp6(0KD1NGLK5qk<4lXCHH7Bj z&H4LY40w1kyo{;QguyQEh8V` z>^$4{Wy%rq8U>!tl<_{qo&%QNAwqf|`UF4|AA_?M(BFYZp8zGxr0^J!+=nSgC%n%L zN5eqHpTHU?H+~G2jhKQ;nJGUdXZpF;qL=RTf*_zMZUFW|49M|kDsVGAuD6_H)N%6j z`HV^zHSX3`nR5B_YB7!FbSZ$BCcBAw^v#gT47I#?9`@h3n%Y#I2ucOEa0%S+vS+4x zSrQ*Rl$HtFI!^?#v>;8{+!(5W{;K8;w5(xN7XfZzw0@i`=5V-vX@g9@FbuS3Qf2-a zGaX^oRqVrjcXk{806H`|-XKp{cib{jfZ26{G7)zs;dgr5D9OJGy5jd6=*_a~-z*@Q z4l=kaxFfr)owXF1o2A^)$7T(4L;>y~6NBkZ(ohEttRQxnEIj61^w_JGZJ+E~i1<7A zsVgvXBT12}ZMoCRefOn1{dvQ%vX4|(#uGsOSJ2n3+s0g_Z=GI(sTJ#T7Oy&+Oy{aH zQa0VR*A(Ok-in_`NMk=R!$02#AQm?Xy-m%((_=^wZYOX z>v9jnMgGcT!gX@6HC>ZUoFyZ=08n3>S0FOARdLTu6}lOphYNQpSKFaHTW;Jn-+opes zp`=`yh$$DmZhrzqBs|dP3@-cb4>uobI})!+UX`vB1y?D-ifr&}7{|9FqGV7~vwbZm zLZ%P%TL>ar`_N~g^jI1dj;wS39#c*CoB`*9ny4Y^eZwkbW$B0=S$-hS(rj;nabo z8MR4mO^3_)U}3bkmV1(m3lOQ`=o%ysfZUS!sER zcIzY!Qm-La>ZBg0P-OgNS(NqF{ZJ@OR|8_aZ5OXEsW?bS36I%+6*K+GkG2l$lO>kG zn+X%NX^&#mpA-d$Gp;+4*wPVvOoA2NPe8W{WU>cH4E8`Wo|G4FX z821<%S}h#ce*`;KtBymd<2@QIIpy3DxIpU@)0mh(7kXSj?djb^p|+pn)njzma}%PB z(OdFh8xZ4I{l0?0U+dH(^`%*4r^;)(gmaV;df59Xz-M05HOD*97X&H1BD~b`E~IEF zpfpRZeUhmghnIo}_q^M)C?07laAu?r&K1=+$V0ID#*BWh+qmMFarLTWgV|*HaHYZk zGOeO2nC1AQ{2X&bFUtmi7oriQz2qDs>Zfq?0Uk^jQ@*-#tKn(s6euAqpvtO8H0UId zZpF8VFEh<&5;I`_>8@{3nhtV^U|aAKSL!w@`o;C}?p0TFcv|@c1)1MQ4(1P%t(!vQ z3a2Ki)TPj^N^_W&s?tg6BDY{D_GmQ{C&#t-yfYmJEAa&Q0)P7_FhybGDEmXVRe zLruGy;C$PUF1-wX`iP|uE$y{-s*eF&c5l-*m>uwoU2rQtW>dIlD6QQn&h^T{k6<^l zO?{y4kYZn#8dFCI|7hV6BlQnaid;d?oXl3;|@i(H=oFC2k;2Uz~dH=JSp z>*c#QDoes+&1+_#GmH%jGaZyQM>8(gX(~rGRIWz5RRfVKO~z3(PRWU7hLeCJ!Zuzf z?QW9Qx8=__1RccE9qr~ZxG+fg>no5sjCrPPs^r_0yGOLlc*7|d#$*=4x5JP8u!0@I zD2YELDZJ^o4M@<;()UBq&u>0;+j5=gNvC+ z3h__HG|{wUT7~IaEyFO5G#in8exhJkyEzC|<;MBA&n1+E$@4O###a?;Qj%R=JE3MKWYR z!Z%kFeGQ$fQvAz`60cW+x+Uz0s$LQvm&LoL1>j2^*2(xI5@u+^CRI*ZhWwt;595RyzV^Q#pl>*rt>MTS$<+&FXdCcDVXdJL$ zz6QIRV_k)i@pCK$3-vTP<`oI?ithUgU_c_crVdor7!ItX9TA|LjU3gtYAm4Zsow9S z3sUZc{Z4nOIM62-ORV=JlWv@1XU!7{vt|?%`E_2&poPhgOQ3Q~ejWW-TQ9*-B3lLM;o&0j;c~4tVkp0QBPf+J@t)^e%9`U;9d`&y4@RD>Su1$*$#W`xvsya zPQ|M^Uo{zY#r)V3Eo6Vj^<%yvzG+vOS!mXLivFY=N>3H^0p5fE#bqaQXB+qDVbUb| z9c`K~5r3pp`OqG!)>;(dI3HzdhU0~c!8HtC3r#To9$@$7in8^H2d&?^MZPyx!07w* zYdz)g&7pP+Wfpq~KF7ZKi$BCB8^JNUzMUPuJbP>#zbD1fU-eo~5{E|+)M7d6Eha_` zekV)*W6(xqW*;DtZ95wwa>WrTX41)Deo94R0d>30DLi&J`*uzbbsegmf%%S7Jp?Q! zOMy0J6P4|3wum`TXjvNK{Bvt zZIN+qO15D|D}J4Yb^<% zasA#IO6pfW$p53wK1Bq~G^Vxzllth|E%j+Pm;=;xj%!ro?&x9qF4N{Vl%G9o6hM>6 z_s9L1J%v$?$;X^1fo>l`xFG}~=TxwfM_M@_#YpM>3c%j(YuyzFG9^;JSNjovZy4Z> z(|=7$R%rV=(>LL*b2ax)|Kpy>foFJL7=m=d_#lLJzLbu2z94VuX9J<~%kQ4?tSm@< z)9h(lIbRQ|-IkUxOfsGF1+BfOS3MMDxAtk=hds`!9hdH6uHywTf0^$vpD-mt=Wmy6 z7Z)E98J+cKuiF!4nk{UKUhw)!c=kg}fgj8qGq7-qob|#s#!(A>_+Rs5rykz8>!yEN zMeXGTx6+v$U4JF9Ak2cILeK2ZLL`sAHuX4tFmh4WNKe|HK?B_&O^4*ASKU2E{TS8# zc>?`FjxpXo6v3T~tge!8UaHq2me4aaj*3V9gG@W6!WmywUV5Ko{LLE|1I;8k$=ou% zY2@M^`NJD^|GOsu`_jDkt?pwh@U<}I#kG(>wxV1ThI%ObZ;j|H>W|UerN*gmlzIKc zUMp_QASsQC)Qnx}&q2vK#3n#XLX@});$FpRqM)`*dWhW4bmTVHWu;*36QJpgiEPuh zS1)g)_?Fz+@&1RU`-8YsW;?uGIKD-1Hpr>Ud}FY14b#hE{^mx=7SjeiDSej_;y3;t zubswVQed-ZBmep;?X9?c+FON_VSJ>u)F+g;u6E<922?4m-4qwZ2${;I+Xq=-%uh5bku&fA;PP z@afc;!u!BjqwCp?LA(xd0%Bvf$9en#(4cE2xzF{I#~97Om8@;_xA4_$YCtyq9PdG} z!+u>Jx;^#Yur5nJx2lWzFTPcBG_T@~=REC9E1NtiS*W2jOoa!+GrURMOMSG7TVGea zcm;~d^f@er0`amYMo?VWEjj7%MhjB7Cr8hM%ZCz>IryrTdV|w9n$}lSTTFnrvXN(Y zKXgVUWl0gPoA|9~6n?_yVxXu8HTMFu^baRMuCGhz-Zqavrl`^NrU55;EA_K#7}r(L zfAvv^0bJANJKwz4A$}hxxHKm6CptUs1;m)vjeC(&t*xh=A38*9OaiIOLVdG^zu+z< zDf>}c<~T;Dx!72tqxdkj1=8`EhOW)dW=v7pp@?hR{gvdn-Ff`<1lTIdegY(%7Q!@! zR7)eScW?|E78!3Zo!U>ai~N)GTvV0HxbZgyUP9v@f5XbUd|gnNz_W_De>p#jK#_dF z*b};ZNXebhHg;`lNiv91orUtYs6HTZ6H(>=exdF9h=h$M7=WBNTVE?|rNbU{d9|S} zZXQgMKzonIz25iOoAh+w&bE(k;S3ZwkC`)#-f+)?;BtlLnP# ztNBqK^tjz3qECP%(|kmn(SxJcL<+}s;I?Dva1(6*G2-|MaH+kNcKi>SN-YTPx z88F2G-6sAwlaHJ5GzUw=v}f}p#a=uCDvm?%)FeY*cL#-WVCQ5HT701x*lBgSj<;$i z-rH$m0*X}1eO#AUqBt^2-lrJhU|&X!%wG8v!Rz$y;|EHX#EmNZ8}AB`y1Jw8c9_ z5rx{xb1n&Oy2Nd$s@yL!nONg=w66ys%{6+T(To%=t2ec#cn19l69~?g8eZ2@zMWS5 z1>q&n4L5(jK<-Sf40j2DkUs9!Tt7>d0Yh_GoZY{5p8&Ga42;EDQu67ydLMBTH#tHU zrCTr(5L|wJN}->{1dNRoamnWo!3I*kdCTlEUR@tB$F-tjky-#8+dOe8#(wpq0WtB; zws91{!G=UDe_M+&i70LdIA%KmB0CKpy|I6y#F^Gx&FLS6moHwGQ}-Z$+|2S2Ge~Z1 zJeTkx%cJ;PQ~m+fps5Y52t4^Ut&&=YR@1QIWfaiOFOCRu6Bnj)x7JJhUXtw+Ga zvip~stHrGV+WM-n*nSNbIx0?&8DyWcQy$~hUILzHdSN)|X^Yzsi~UJ_PDV@l{c#YG za@wzEN@qkYqz_6AHDywcR1;NvVRXv-T}cxMC_xR7trm zODjo0ai}NZPzH|X+!EGYe*)M|qh^5dULVv6fH@TuX~PioW@tvHxa&1O2(E?t@=ovq z&?-y3K8GfynjuSwUqNFk&utJi(c~43fgq+;9SVqvu9q5iaiguOF5M8QqKo3%ms{aqYCE4jOrhnV?fLyIy{9-`f>$K=WTW0PKewilJ9~aGti_ zJDlwFbToE?6Ug2+B{3oE2hkB4h7inVvUwN z_LVq5daHf$%A#DkF2QO|A}$N#0(2sneZu$M`n1uJXj2V&D8FkyY&P%NVxatHIo)sd zGNU+G?}P0RcN&1+l={7zXHos)5)o51+M2^l_sZ8=a~I$4Mpq^ zLO=|!H}6|KtFuh8eZAwKts(q;dz$#t(k$K~?uJ1>9L51$8zK)-jIx29HluZ^F)1+l zhX;P~n@>q5S~GALWm%)qM7REB{GmPZrwKz)$a#*n&$h00@{z$M52iUhZuLsFtGy;Y z#L54aVv_n~!T`1%lA=ixMB>b>(A-Gc)60=>k9_m=4Z2RKq!hWOE@X=LK9m6!bSoDB znJGOCdD+neI==h8*A}j%eLnP7z)~GGFkEx=jPS(7ta#g$wC3ZzL;`R&O%8QvhDn+d zGFzdE;pS8T|0;7$YK7csyY8OHfcXoNi zL|RhLGhmXpvM>6_eL*wHWR^;;!@SYqw8@`!niTY73n>@(aeLi8Tq~a-ID2AE{{o`K zGA;aq^gC4KB}`J9{j{|WcAf8vc9Q;g-Hg*s!_|Ecv(RNiVvN@BRoZ!1;hh0#fnVMJ zy-XKHhR?0bkA4d4eQ`GrzQYl=uuKE0FUDWsVSI`$BxcEx@yG&3lTg$=EW7r3E>l1LIW85hoNJJzne(U@<`z~|~bV9$Q zfumaPz!l6%mO*b1j#ukOBHu zXDR%pdgmZ5Pwz56MS0l5UDkYUDW^+0IA!gTomX8h+Uit{AJ?mfMlG#Hy1iDwbpDEU z@x()p)%B}S5+=o%wAluS+5&M#eWtWs{%5h}cnR{rQh4IUNU)P?uMn<_@m`Wbm31cN zmKq&1#np9vdCE4BIArb<%?n3`*i9O3q^?pW1w|6pTQ^oE8)oY`k9{D!9*tG1!#b}B z32s8bR$RKGq?lG1{u;)d@zg3Yu~FDV)!oGNM41D&0PLRymoAN! zUv?^lXG^F0o4n|5!*sU6zLmbteyozhN6bi3=4ive?idH7i|B=V5#&^;@3IjZ8?kM6 zgKq8NvSy_Bh9RrMzc3eD>SIFjm&8r2b(Fa?&UCz^F}bYF^R|k?cde9|hHmCGR1a9^ zGm!`q#7}eb77bJ*qbc=EB^RsC#S&Zlg-JduCU8P{aFqy!8K36<%F>%0 zNu2A5=NP^45Hb@61WGq}2j=v6+kR2W(dtU1c5>1jBdIN6ep3?W+g;8AMj?gY<qCgWixXfr|h26Mgjk0l{gh?!1}&lpi5n1?CGPXMca1I@*= zddT+g3sSjBu*WEsKtyBJ{>yCmugUGDl1|C`1VJ1>$jD`bxk#+x#0!G-mi@g`nVP!9 z*pW3_^4Jh=`Tdq_w9q0CnxEbGUea^H)|>c~CqSF? zan=|tEFaShUrYDuFiI^-WuW+tzF zCzKM~QOB^RB?U}I(s$I%X5RJAb2WVSsiq9xchgkRQwTYK>3L{0B1WO&WZlzrj`ytw zMJG;+L}_x5(w!x15U966Lwe10^g)`)8+6j+?(J8jjR~A4nnV6BLJdlJp=_%m3$h&c zA8ySaX1RXg6^Z0?brX+7q|h+bahW0>ER2~vbHWZcc8SE)`8?0K{L)X@p5v zy`XA0Ogyo-w*OH7qv^cuLd(0DA^ms#b9+`a^t=}6Tlt;h?ndNJWq3lrjte^+a?V;- z0Lc7hd^a8;XO5SBq;P2kbA0)oCjj0-%IkFGSGn`O)ud~WHDN*H?_~Tf{lu%(rH&=+8_pbJa;QFyMSug0Tq-*QBe)hXwSt(Zy_mb~lP)gTHH$XL_i%iIUThlA?T7Kc=R45c%b*RhqT&6G*8 z3~rqftjTRXQ)P_0NQyRf+;%hLOEwpFORZ9|L55|AfdMA{>+&6Iov5F{$fYI+JYmb1 zPN6A~n#VWVYVV@@y(Y1=jg_6;jwwEX%7-wMyEIs`#YdPZBaTs}@<3n-?4?wgv1K%- z&Gmque*JQ^zE#<7J7?{HxgGp@>@#jox`$BxFHzczYV!~4!zkt&jJ-QO7s{@GZ*@>A zdSYZ3B(yuN9Y1pMzrxIXEtHh5H-lL&YTbW$7B{@?-Iddo<$Q(I#=)BLiv;9&EWZy% zO&x#TU=^X(208y!ApWIf-)9*>Hw*{D*4MGwS7NFA4kuQq@>+skVt&3ze}_$Zvg2B9MN#dKfm zyc~q>^r@U}IAmE;M;Y9FQb+t|N}boZ>$e^?v8*pntp^4HK9K{o&(Y9j0sf4ZLOZy1 zNn*eiMV7WbX)nHMIP8zEP=JMX;pn!>;4ft-8qMO{&w~sY=@|5^qE|<^x|s$L`KYy# zSs^&{#P;Eo26;D`eoi-%iaUKBg`ajellP1dO3iKE^AboU zqa=5~GlMKTJ=WeqoXL_Y>PW$~f2@;r=@hn{uHqyu-&=ds_>XQT8zhPon-9+%yWbnb z=LdSJV4I)2#cO5D`fW2+z>WFNO|L4W`P|>U``e-v=_vgETT$P~2Z3i9oboaEfpF_p zd*3-t=hOnV{P$mn@7_(iq zJ}v;HlN~&2yWKC+#|D^AcOsmFXQ(h9w@-%I%szS53&1jmT=D%t8Zp{GUrF1w?-ggB zeSfeuW&v01bR9_=t9K=>LDuC3602&ntvF9EOE75L%O+?hP=g5LlUD+CnkM5f3*Kc- zV;(AJ%M8_#rMdCR5XPfi%n6|MQfPqyG9e9ypuT6JR*^r}7h^U?=qO%@w@hk689dV78oP;pb7( zkWG6^Qf=lbhqnb>D)LnNd%hOeq@gEfT1pn07t$LhTNd6dE5RI$Yhf2&lz)P&bIw^} zTc!w<^Uap(w5J!DnEhjbyRsdh&l0}^>}Z>0s#m5*)$0A?mStwkmahWWKDgBUoDvvM zOJI6$lQCmCzX0Qasb0@K2PQdw(~~3MJS;ehB|*L&fW8$v;{f+G zzSKo6ecRasiF=KNmOIRDd#ZFy%r50-xoNGLQ<&d{5Umx#!}Ds^_Iop{$iz+`Ly*CF zq#Uevfhs1f{t8P+<1Z>#&B`FIhuL}+2LIZaInj#`%@-d|wp?mTrDA`5qpP`P+2I-5 zOfX}CmwWC6+YLVfTo<_^O8DjWCwo&=)_$h<%JJ6N$Wf9q^$f7HgjOzrq2*spndXf4 zwJX#eDB?ei?b)LDSsGs&SO?ZY%pTO{y~(;)8jJjiG;T(utr!T%*;lWPeL~4 z6h_kQhQFvy;&M%KXc`(R!7mY7zj1&-U*zQcJ$reSpm*Xeiq>iJDg}!<8u^xh&m@_W zDFl-)-Rx5>zV^LA!#Pc+fMeq*TDDRbz3*N7G;aw?#ti*?1LP1&c(DO&1JN-q}u1s764sP$5(r zXN~3a0}meJ>n>tPbp+8|xZM zIttn>PIu!^_mf}@H!GPFH5kMpX;qmgp-8~kP^k!qM6+o|z~a^!y8mv}B!sl`3!h83 zG4l&~$AnJE6y$@2GsTkO+v*O=QxeZ(cD#^Z;FvL0wE36f-Qos8$^Wg!C`g{W`k!c5)U2b20=} z`M)6|t+uWY3f%bQP_mkZm#v^`^UAGF*|Kb(Kipc3NU5#=4bOEqn}?kZ_fo*XQRiiV%-Pc(=2Bm1VrVP?)bH0S=e7@jeV*+r*;m)148_XKig(8_wS68hLSmWhZ)Oxbl)IC`7%0S|fpeVJ5IgFseHusI5=~@ZC6$l+e zgv=Bl#jPgD?AQ;v`amB{$FRr^YC)w~e6ut~qFNzHHE zg>B&0){LFs$^>`qmMBRA4b&|#=)LryO=3UcQO88=0@84|0sgb@KRK;?6$Sh%f2(AjEFHr)fQ` zHzGWZp@S<3c+I-L)>iSIz}bhi#}V?rv!`vG?ia+3NLeV8J@7oweN+WHTSsIv`u8q? zMt^F^O6j|yorSy=)=XJQL>T?G_?o}jlAzx@ZXPymu4jbo=v6J3wQ;Ie#E_h0gTH2t zZ6>q&Bq$%Fmlt0=uGYR-N2BGBFOe!EL)@!rB@rZk4J0(NSs-V@hxaM3_lX7@!f!BG z^72*+-pU2jkd0e=q9~PikD^-MoIv`7%UkW`P#oq4JdqPp3eaLE7c4XD57%x#3YFYs zzy`>)KQ#Z1-ir)1nrm5bb@?2(+AIM(UIU8|j41fg^Ssv-XzxAeH@DaC6x_iAo~&Cr z0}it2xjp|9k6zS8{8C0wwImtPlx)!9-Wp_pquTBDAO7k-@zz@amc;oZ11gD>!Fvq6 zQqDH<*Ee+$Yc92EZv9ol9>;y7@s^4rJ7x0ndF=?s?v@sCv+^%d6*LPa9jZFMpIe^e zJ00gxj=tBX=*ybz*%LmLamx7L2iHWTqujxeYE=t{sE1*{HfX0XN?m|Ee90^m_w_H1 z$>v1sBVTg3VTo}@dDE&>Corc(D!k(GXGi+tZifZkR@4Zov54&Dk*RA~uLvBv zT~>9M|EWHqFBQaSCM-XXN^@_JAk*n&!r7MWuexF7d`japWp8xY*7+^(GDS5?@wSLU z!7OX+4DMAlcqwg-06YN(jGh3Fruf0)vc2av+CNz2b^F4}$j#HNlmpplovy35!4IU% z_j;BKL3S<$qjr{J#^xj7ev{l2I`3vsdK#U3V)}!PS;_3qFV-QK(Fy$DmZOw2d&UU5 z^R#UAf^1WW0!%r|%Z(Rlgl~rKkwZ#*UR5EqG;@#uLOm!Y)!b@|wcSbX?teX3@@LYM zfL=oF#%5Fj5JBL06D#!IUR9$}aR0g3M0-$uo}&2qa?G29G)Vmm!+WcD>qxhm47OMM*FZef%!Nc5iA44}r1{dfkrXJc>ctp&4l7u?NEdPbI|XJ0G&-xXTiQrIdzC7Q zE%O}i>g#-|G9wTDHV9o*`heV0_hCsPP)0Z*VXB(^j8R$zy-(U}1Ar#~mm;Wp{mN!E z!4rUNd2l`S$A48c$+52#*Yzu)XqnLOZLpiiNG|E;vS1RU;?okM^;tyoe*#1a7lc1o zuZEs=G>4;ewRVa#^EP^zcGS#3EoLHQ_uq9v*73uC1&Q(pii8~f<))@RO{ifgOekPq z*%q7q2R5Dj%u>%@*2S8ZK=kx+|3!~v7EZaK9t_zTqa?9UJ<-#10+Rh{ggsvy05qQA zVSp2J0>rF&E5SfM%4qFDD3Rc#8jp7OJY-X?^%ve*#(2^g79@p|iofeRQL?(?u}JEr zUzZHreMjR3T+*sp4MVYa0c~T8PB+zPu=9=5B;Eu*7T17C|L?wx%}?gdh|GHp$ACKU z&MmN8wQiioAiHHbAb*7c9GH^xzRtI~VRs8J+zp*iMZ3|h+|zgvAq{t^gh2d^wa!T# zyly-k!I{Dr^zf`dH2|XNLxwfd&PL3yEK_JPcxKf8TV0_EeJ#?lT)o7OcV1$WrA2C< zm5x7VAudtmK_vnLU0s9;Uot3Px|Ddv_Ul#gPQexAEBR=*P_afDxX{ z3I&--atLVlw9`@fQ~mj1ORXeJ_dCDLV?$5Z!l%w>NzK4?={eW^q;nf$(b6Gl)xRBp zEVFw$!l#?ewUXplGU78#WC4)Sy`GpRFYc1x#?-<7dt#t3- zQs~`S0MW!>1Uu!QFYv(?Kco%@1T7imvJfeHlDUiVQi!lrjQ-H*<@gHQ7@h`I8Xer# z5YXpK5F5Xr*0J7`@fJmKO2j&53t@2}DDlfP#fR+GpK?al?j}W8s76`;##A~Y!es?w zZ0jd~yA*w7F_`0OeX|gx`6`d1VcZ4y);~w7pKF#pv4GeROch;N?I_@6{7HV7zwSd= zNs^4&bFHAp->SWLYFxAWg^U|7Km;Z3#6?2-34rBfbQnU}yein!^=4?iqm=EhM2rYF zU|Z&x{l~zz@vbTdhiJmkibEZ@he zR%)^EvAW^_Vq;)A{NtwW*W0maImJE{Pk{T_c5rpz_V7>u=>pZ+X9}~`k-D}F{+C~W zrvfZ>_pRzpH$-+4&=ck4QilTWCY{O{2kl(%m+ah7Ew=1_Fw<;V1Q?X~k$+!)E_7e* z&v(;1&zm;3H8eJS+0RxsKdlM6gnH76R6d9n_!$rV9Isdp`NQ#fj-O65u2~h7EOQhl z=Ju@G>kL4a3SnRLdlxysUXFX+KuVc6*gjG~J`j%6^34n8el0QZ0LO)(_?^karki)x z9(j%fT%&YcC#V z>Cb|S^V}pk4*O#IXqIdU9TVd5JhCe>wIz97GSL$1{VQ z4}q!33K^9Jt5K7Nd|w|U%SdfVW4n<&ByJ9y6LP+W``W@L2a`HLC-s$P8%j!nU!qN8 zk?r<$O`ZVV%7TL{qvhje@0PnPE>^*WKbq;JG{so8jtn(7#_f8Dw!Z6>4e#dPbjBUD zOuUi~$eL6NLneWyD~wKH z7_G^h$AYQw^U>0@HzM(qubsRx|01s@zK^^abLn`lfS3BqUlnoIR<5s?t~k6m?_%b& zz<7T_e&21-7=&>iodeq+$w0j6)cR)(|3Du{w5NqkuV%p8Auq&K{mRDBO!0 zsRcJEHljW{IK6fh)<3lgA8xiJ;wr(5^X$&ULJ1EySx$7l6t^r;w8O5Fv!$LPvaTLe zMhhReYJYxSDSZJkdsln152`)Mo5K^LXjzkH4ZDg!oPCr{f>(tX4V;mf73AvC@&A#hf8Cw6U!{^ zg~Sv_-VuO(7RM!?0Nhs#4sty|-8#CpHroX>#r!8LIf0He8IODWS zD9=-P0%WL#BPyU0H0Ww6 zw$@0k5JDdJ$DH-;=4L)0-knRvY5Q*<~h>0wgx3>+~%9i``;U(#vZqxv-=$Gv!+(vf%3d1vM zm-VHMwY1Ro-w4U0fl}Ds={JmY_Z~tJPQt_}sB7~HP;ZvN`JM&VJX!mxQgug>!_Loz zNLAnM!jg!w&$G?La}8YT9l*fl;j-(JEDF);B%>HbDZHkiXnr|c5;%-Qw~fLEnHu!k z`a2S;W2ykM<(h5)@38Pn{Gq1zHhPO)_ptRsahF4XHsZ57;{IM-$yj82eNOFncTd|0 zZw0S=lDftdz^Kko<&Wy>XX9|3D@Z@ZSHBsIpWd}RgiaZo_Ta`3vcVGmPCV=5sCK(F zLe$cHf7m%BrGK=&elf$@?k=27Z2#WQ(FWztT|3Txc^)VzepuExUrb07U&0q=;(i2HMG8wG55@If_eTDF>jx>)h~GLc{xr$$ zGP|&HhtXa<&v`gVt5-O?+E~76oh@C5kUcU?N_H7`sCW73v#*=7;p$_x5^^fcGU+}r zu>ZHx>20cFpoWEL&xNCruQkve_pJU z<+`Bkjf4`Kydlq6W_#?hrtw)@AF+skNS3C-&D|;Kp0BBYjOE!$iL^&R>wowV zWoK=cAzezp8iT<8a<2-n-nNTsNuZYd$>R+okaI1m9X>5u%FIry!pQhS?KV^~Fh0Q8 z=h0`~w>BpYaT)-*?|cKmt%t-Up$>PgY4af$BNq}uO$>lfsa46tp_KV3LDJi*XW`{K zP3J=2q+=~|CbLJip8$#(8^SCZKUMR(y-&>Qw+PlWc6g4v?&W1`k9a4m9h+m1uUh?Y zs8=wxC{bx#QBE7jhdfHggR_%5L|zx( zy2mfbE*b#Nm29V`k~Q=xppm-zTV9p8)uV6FzN~#Nk0`+|U@^fZRKI^GV=Jyh=<(iJ zNedOf3e`hcNZ#j4K}_oUle$q})6eFVTV2dOih-?2H%hbIWqv>R@5 zy!QO#B+3Q5pTzO0{dWdoL0;!Ap?JOIela7<6JVZ_)yWF=0vdiu!aXL zc^$2^Fx=b5V@q2o+{kcPDsBUEf=S}P4g3kD{7>vH2{JGzBX47j*U;Vs_&4x=-{7>~I`DfzKaV^;rAc*s_e?HUEs>*1D+y#Nd1YzBYN|Dxpr(@`IJf(zB7%6>Se> z{ht7E1JEiJh5Ikd}_~Ti*jXaxIXKAeC3mFZ!gbFc(o_(v~?N7wo#pbvm*KbVs zQlK&U-#Zlm1W}eDIl#xDuAfxbZTxNGd9@2^-fy)LxXG1~f`#N3Jm^zhdj;F!z7PvB#}TERlbEonGL`J{xEET^7?fmv2U@;j3z01@!Tz$&4*1c_$oW1Jb(h4#(uh_MJxOC{80t z*LiZJWqmz{axvPXva__h((ThphG%C7&fek6Y}>*r<7(%Op1mu(eFhyTSJUnFyT3Bd z+871lhXBSMvgnv2<{rMZ0Yg~Sd{g6XCG?#&Jk^G1nJwZ9WFeFyD96ns0r?uSqDv=( zCwX<5S#@nX(Ay*%Nb+QpBj;?46$cpXMlns-?=)dp%1H_u7z9jJk zx|Hsy*Rpwzdns&t^cCoz5xgOOgu5C(5^sl*>(6cCPc<~)0BPfl zO*q+(B0@rkeu~ZVj^eLso*>_(HjUw%iFEsU?n8fP2WHBIU9vQs4EEYM2c=kTV#`Oj zvap6|E>lcTk&-RGY>q>|BxjCm(R?4TCV{PK zTD{GbTAY^G3wPvP978Em2om7^-N14E-Yd{NGw|zF@pi3o;!hSon>F0+GlRzYWMIc5 zwq!=7h;7XwnfxhbQ`d^4hWkH;;f#KFtyDq)IARJigBZ%FZzos7+a=yBS< zt?(bfYs=e(wY+fmGknTkHdSNBdFg@rSJFQSei>=YEbvBwMXZY(6ONz)bM*Zy?au&w zKe}s#ZRRkaEEw#(bJqZ$$fLd@WTi%QYMB#a|Di<0F9D-t`zW2aKqDz{W#FP z4;G!aIGSAd8QjM>2R*-)Xpe@G+}j8e)+dEdRb|O;-*pM&^REh@5!RHw=^slz7NHng zFh4WAAMk-JTppUa9U*+7>V$YvimZkfe*T33fI;Qi1! zOaOqBjxom#(02ZnmNPYNZf$|dp&p-s@pL``8ZMGF?+WQbQBKrGK155LWRuAw`5Nb! z;f=t$w`+@Zjzk5ab(E4M0CDqiv=N=B)84-ClfxU_Tu$Yt#uSVw1C9V4E0w+Ql&v?} zSD!G9=Z51P4sns&&{rgLDR(=kl}6exk?=o@eiK7?_I+WkpAGfa{)i+rc!cE8{Y z-9J-nskYm^pL8(Va6rHcGt=CCD~|rbmrS*NQrcfOd`4A|$&I`cHk=YWU~oFu=r4%; zA>o$3lUITjjwcwBcsL=323R*EpQnGNcn6KVAr6+!VPSXnxg{L5OMscj938(xEABA4 zl9EXL_ZgHrcWECO>#^R=Kg`?XJvM~f+tY>5rE(KTdnib62Hk+Fw47{S4;=phFXdjn zt!Q!S*FjkYv#{GDg#$bc2Ep5(LtbNj3`ryx#y$IAi4*~nxcNso%J<^{SGi6}tq+^2 z28xnvaB3QivrQ69_J!CGFOsU*3JQhb5sqt9!>^%2^Vn*H!E+K7jzIf&AD1fXI-Gsn zVz}kiBXaVzZ6(`E&Shu7!Rj`T@##u5*pkQ3xVJIxQ0U7q@Sozxrv|q%It_N)N)bmV zhvqV<#`Kasj~`Cm2=zUx#+hp6VsE$zCN*Q7`*0f^)m7Evj?&s|I9@5D2h3vIk@^l7 zJu%y*Y51A${F@8gSXwCUZQ)fRw<;;<+0V99DWZt%F2a_QFv@tw#>N;QPRIFIOXH1uLAW;e8gu=p?K*r&%%q33 zx`^O%PayH1YVb`?{@h&0XA3u*YMWh&`E#87qdWjRS8Z*rSjeziTu0>ZOvqGlIswP> ztlUjhx*xlLuoj`>e~8}>Ak{u6Yj^sNoYya>i&*tGhVUaQF8HAh`@}=n&nr9=F7B{YsZgiP=L8YJ ztR$^=jnhuZ{{TfzBgb|cwx1o{ox(aYj#TyFRmSmUs$qB6^L6_c{@z~}ykYSRUic;P zj?%?-jTY7`>r0yj@|Nn@;4-pxA9gN#&=o3YJS*W$otd& z6Icf<;8*VF!W;2%@SDQ(kK@uToAZS$`7E2qcY!&Rx2=CupR?85UVH)YJ?4Mb_=Thgs_Dbun4(EhxC;G%yw!JQx;+SFhAB5M3F)+|=(ouNq~ZV8nn3HN)R*dF7h ze&~O}M3+AXbe8P8%wPH@YWyGZ7Q0||3%x6Hl+)5Cxfum_&60}T@B)nEyAUcQIG+`M z)ZY~oz`9P2;d={RPsQ4&i!}t&;nQtrj@-`*F8S0lh4Q1?0?63;l#ySF-?!eE@k_;i zA=kbmG}hK^niZ|4v0$}lYU3PN=@;$eeW*pFw}|{V6V2ic z5*F2TxfWb`R}sgu>Jp*<0C;4#JJA;y+D&{r;$I(VejoTjZ}C{`vgtY$dQjgQg_hd# z3%FJ>3$F5BZRk~;XJ$uA<(B7dC86+*=Y{-xci_zj_KMV-PSkuouBFD6bD>*Z{f6Ru zYdwo3av~p@2~h0gIW_S2i#%C%;~jZ!Zf=>QjS>_<#QmPuAT}ao{nP_)YwRx+d{g)z ztp3UV9q@;h{{R(5oy5`I&E=ieb|L)8ql!;3i9E(RZV3Q(uY;dYyYl}4wsb3q#nzX% z%z{&}NfekE0I=g9czz<0O_B|NMrdvqu^{65b1IsAVS*mSA?V!Pr5-ITu9qQl6WkO-XfF3L|;JN-pLD=yAd1} z-C?)J*yCI(L~wFjAd~8TmEHI=#M)h+i?8@5dls%;l10Rsm*tP542rB#n!7Sar)jLL8e9s+&fI^&AUH~OxWl4%#A z;g@oWRmKWuHtEbexhZMYK6-T{qRRq$4dG8;kUxQOX41+ z+J>f%$c>nz2MdM9dGt^@$9nxc_($;jPWXGMSPd%9J87quD6Tt?E#j=_%rbC%TCdw)8ki}i+PgCH{Oy)&TgD++#xsBirZLwYDgOWrdmZ2g}LLKNw!#b|k6ouM_hJfr3Bz&k+6AIi5I!~XzifZ9gt=-fI< zkfd?OMoIkZ+3Y+Vu}XaS%v|yq_T%55(z?5U4r#&EM6a=iH?x7y90U~+TANDNJUYX| zw$WInt+ljqg#a$a18)PN&1TEtS6#?em~aot<>#ju;2*-io`b`N-4@z3+m561>FH41 zXjaOn_nAY(VM!gkb^NO37G|19%5vxsCARB$LZXcEz&$l%0GLG3$H2!p`gO0R zwNDJgCC0%h3Bl-oZk>(}FJZ)9^WavKbcs`!>;$AKAjqHA6*`b__ zEI)NXL5u~#AMh_){RY19#(}9%J=99di6Mccg!CW+hZ*B~^1i&+fc#4Ec#3_uG6@OV z+xGm54lux}>Bl(d754Z%!)TwLWAeKvB(y(2uVKEn)I5?7>2SPZcLE2#IQ=T5R};+_ z_GH^F-rY70-!4Eo!*lspuY5(&ZM6MY&AFZ_;y)|2M7NmBkGt+qQN?&cf=`-RK2^s2 zo|}04yz}W_OG;`{O!+#r+$Cmq-V{r#tH|`rNk4mZ!Z_4nj^o&8jGC=>_c}GT&Yuj@ zc{dn};3v!ese#(cdf|s2m4^e#ZEqdZBdX*b>f^Q#$_GmCwKThi2%hfsByt3?Ho*I% ze0tAP!Nz*LHE-Ts+Ts zs*nj^DPWpjlRx&=t41e`4>|^q1?+i>IDjbJ zkC*+NW80+`8O?d6Z};CpxJKJuLBsGs#d=nlz8s%W@)@L(ReWy*GOT+?4!!Vro@i^EAfl!HvRFTecSTWslW=UoP562r5y(c zsqWUVrNyHqugNCij-M}K&-C=^U0=cdFGbS4Ueiq;%S)>(l`hNx;W9SzImqexSBu50 zS;H$^!lpSu%S2lOKAhwEipN_GTf`~1LT8d#IWd!u`{$bHly0nbMpkz}PrqTGk2+qP z@&11rc*9W<5A5~RqmlA*yeR3<0>7h=g#Q2)^p781nY0_2ZtSIvQR9h&GO~a-<2+`+ zkFVK_;*O2*=frc55!p(z$m$wF7+}3PV0ab#X>svS;m?A88n=wJ-9G!m9xi}Kd8S`1 zW;ia_E50+2k(X}(R~+fJEe^O%IBI_LSXkVIjv2mmfAw$e>02$L&PLFOHR|6AbQv|D z1Zdjb^NYJZTFx7Un`j0%krlgkuXeQfdv7cV`v*#X#j_VtBjQt_T)zf0p49d5)!|&E zX1?S90EKmHw}c;+GyWC)11u7k)yM6RhTFpz!7;R)(nsMfLH_J#>0fb=0YlKB{Hn}8 z0)UyDG$_I#w+n1{0#wI6|ddT zgRuRR;U9%zrWz2IsX8KGo^(9pY4c9&kMveb@s33 zEB3UI_&>ud;{7%_{{Xg@>ef4Av;B@7yod>zgABzO9Pa5~(@*>qTKs8W1vH!40c9H0 zDTV5HLpA`f&MRfImNisFG9AQkLP6R_uN(Mw z3yps2bE0Xv`#Rlj7MUb7#{l3ohvxZ5;fz<<{{XWFoAArWI>(8ACj3Q3yMx1)a6P)o zAX{EoE40jH$&+9y8SgOk6^-#@;*xkb#X6K9vi6|!Xrd*~pMI-xactA1YTFgdD@_<& zG^iBg*0|z#+Q-QrKAy%;62+=m7_PLxfEZGv1E9`v zS(-)mv!%e(c!B=UY`6n>2a&gkhksM=)1_#aVV?Z!Y{ z^v5SX{VO9w@qdW^8F-#uPr$mKBe)EvSi+QaoB-(Yzsg8cjAH|}S|>z!+5veXn5_eW60V!mQ#(VuF?mkVR(Y-DegYfC60Hw`NPMA z3OWE#02J}l(x^$P>af_!qr-H~XE|4Bf%!6=1CGRWr|Gtq=IK`LcSRTa&8Gn8peMJb zQ3qMz%{x%IQ-5kzW3(P)?p0uLK~=&2@ffa?UA(>V4y&qa`mC0=v)v#s5&4S~w+kO9 z=Kk@>#ccR~`&YNqC%l5xvd1JIY|t;s5L{tc1GN4$&lKx+UOd+mUX2|!3&;NeN!X~6 z5*2^d1;AbhN}HB@kAS`wcwfa>_~Q@W_#RWgxU2Kn-P?F-(!)=?NnnCM?HQF@ zY*D<&Xe6@$UvC&u>0I8U;fQqGyGxBjQd^(2MkbZ5iDD4#;5p-P=yTGfu3p3%Oq$P! zVNVlSg(~7mZP|GqW3I!-atO{>xyKdno*X_HxA-$PlNogH6zS{s!*wi$QSBMm5h&aW z%n#3>aoZK%{37_drF=Nn?X2}nS+u_k>tZhgFu!nX@Plc&n+w@Mfb*>VG26@Q#G!Bns$jP@0u#O!RXO-y+KrrMfR(#q-daLE!P8%JDSGvz3#hx{he#6%? z)_#EUdCOs{%el4RB%40ps#-Mu7RXz9td4e$Cj53;vGiMPMb<_`(Rr~PrU2N zVYC3fJNj1JXmjtW;PC0OMW|b7k&Il$DHBZ-ZUk_CQO7CI<6VD`{ClAI%T`73_LemJ zcpGZVJcetDV+x})F~BX5Sl|x0?OuBZLbQRlu;Ys8;n5RNuxm&nBJS9E^U4@)Sbk6j z-2VUxIW#snuExiO;=jI%TT3F%ZEWi<$b=olSS23^a{T#~w11 zPt;Mxt)z@yGsIDX0NOLb$A9jRYVonnO81qc9a;1lY<-=r3(8t9$I%}Pelh8qNA_lg zrdSxSAf7xrA#`QP{_i~J=Hs<~wEQgibFcXJ%w1}>?Qd&yG*eG08zq%v*ups1_!Dpk zals&C74hG~KZjlr{{V!x)8k2Jq1GV{^4nY=S{NbjMGneF>v! zCL3WoM#WTt)8)?`b;fGbL==V{@aKAv^dRgMQv(4WimpiT||aI3VR$B(6T5qN6k+lgb1@Ywm85S$El z{#dVB(R?icl*{Em`y0P^>C?ae09v=3Mze{3c>-?8o7) zN47teb6TB+yIQL(Oe6$sV8pWY=XOUOkK`zo0F86zZ9_*F5F|?Jz+(eE^d6$VjGsh}_uSj3mm8nqeaZ(PFFi5ajt*;xy3xG5gBg&CFbX?xPfwKK z@JC}@H7Qu_r%?IlP|}E>dnVB1+m4@~^shM7^s*p$qg;c=f1nlgP4%SFCiNhP>Q5e? zpQU+*yA+nm@~Bcs9eR#9$FJjD$=K*?L*>n8)IykvK`ZKTKA(kr`{UmZ+TWp`NY~6g zcMJkJ>PJt*>0eZMo+ne07}|Ivu6lO&uMyQPp)T-+3Wpd2raz^6xM|x|d047y);~Hm z{{RFwhvEqDY{Nn%{nJJcQNrPZFwZ1%6!z`Xyn9m9Ui(A8(zOeHms)(Pv69Ld^!% z2(Q6}E78<;w@hn@)otHjumB*JR(sR@JyWZI7q^)J~M&T1L!J!M$5^Smf|wk3`S&;@CE?mZ>auVE0>l>St5{1;nR_p z`?$wKJJ-=8<*j4TEi8b&h-#|#(cMPTubszHfKN_`{{XE~_*+)A@OHoD-k`g+bTD1T zBx5@p0Qp3pmB&?Kj8`Fdu4)?LGhUtVAI$Q95$HMR@~-bgNHx7K^G;c9*7iFYT0cDF z%<}fO*v@#DXghszfzBudWB8+3xWCp}ttEN%@_*4cjDGKcGP%G$zO~lh*l4~C@m`;K z;dzbBw(%pGBe+QvPqcD8ylnuVxOw8dx+X@px3+?8I}&8`IE^|5{OWx^eMd~xQqVM3 zBQt zbFFxO*7-(-ADucmCPDJR%((fH4)){a-?P@V(cauyUqvpRc5q~h41&rI zbH#ppcw+lm*7T|T8S`9NULC0xIgUY%ti13)opH9BZh>p!3q1zP^5ES0!W+2m0F47~ z0|4jq&q~LX-u6GxtM&@`)8IcG`~mQmk>IU**IpWSnQd(;iN~0&8Ym%`s3N~c^oO*b z(PfF0r}D4jOZI2h{15Oq;h&3V)1LFgpAj^Vvc88coTg}RU5bW)ggaYsuj<$KW%%o7 z@h89I=U*;RSwLnge}wQwIK2s)vG$6^1Fq%4sNUW$?&7Td-U!7t z%78FB)tQz4&mR~SW;ml>FfmEF7v(%tOoKVi01_g%Ok%%b{uihp4LmwA(@eDg0MScd zj_oRe(!XPV7&-p{g=yj6`vzKn=%uSjhJXLk{=+|S`zWtI3+dukNY*`O-OIadRSOi{ zlg0q`?O(!|?Q#1@e$syvzBc%q;ZN*&ZK7LfT7B-DrRo~yus&IDbp!=sf;J^W1P!@> zIbMA$`tbh%g6n?LJ{$d)e_|x~k>Z09x0hVEut?^~S!ABx=W1+BGnU(pi~NOuoTL8$ z!9l(#__Fs{@ehYIh_BO9*5lT$qM!Tm!mz^z#C@eBPrHtotSh@CqYqB*=g3|w@b|=T zfS(uF!@m>O8@ns(@ATVS2lDK%7TQo97imy7kjEIntX%`bem3~M@lyWR;Wm%uPdw7R zQ6$@K?5)_Z-C%|X z+a3mSl~>3t6}q079C2P*{{RSnvpv_AsU`06sUO*gnh)LkxH(U$;-4(mZ>Y&>dVHZn4K*0e~C&%wmd5MD8k6agUIw~_V{hG(Fjxb( zAmB2O%DAZSCV_u(fLp8gIqh1-Xk#tP>l-|SJZHUk`c=KX-kEiz>GG$TvqtJ4QLgQwx%+E{j@?KE zFd6QC{zu9ON^D6L)@@r#@FU5mA|=?=VObgF{rdz=sQW)cibp5#u5VAc)Ni$?*KRKa zS2O2&#;SpgfD9lQL62V5>FxGCE-hPLwP-J{Ewdk+23P{v22NXWPwpIa;=3Q&zu_N> zekJNxuxS4PXSK7ovy%4q?(w3HBZ2^|&Yoi~PeFy|vu?=ND(=UL{{X@_s|y=FR{9{; zX!t=t5x(3EAkI!Z*U;A{fwbwnk$-4VBOF(-_?zM-$HcD!Xz_eSwSs#+5&>fz;w6se zJ*7yD6ku8L_nEVSf;}r4^tsVS%Jwj|{Y%49>62@gJ}QG!gIRSlS~PDR#7vmwm+mMW z?ZaT;X1;6JmrK`m!6$~xO&^iwN?2{djdH{SeFr|LHP(2J=06cff2Md-NRG-lAQO=k zg^YIb0lXZx8HpovW1I{M@>n90*%jjfpT2r1@5gXOX-+oO!mO{M)!10uNvgyqxs76V z59V^gMl-hqobig-@jt{L75Mf|GRMUivfjm|T1BT>2@ZUlSbpSd?72AhuVV1$hdc#+ z@G?&l+dQy%k51GQ-t-fgF3TJF5$8J1bb^codH{SLSlWcJ6yubz|V$Ykd}IEbgRDMoCgTmB;S< zt}vmua!Y;X_NX+qM@=>SDHNaDf^|lLIbi1-3JmuHn&^yo(dk!HSkKFba(kEKe}Bu; zxN6mQvOPL9RrT2;+_YT_Mbd2|&~$Ni+l>6juReeQ&3x`Ez7~vRr6(qRP7e!=uP90|QHt30{{VvekBYu5 zYF-+)@b;H;YAp37zqr3>%rGn>ExuBQAiKFB91XYvzok!u=(1^cv+7s@La!qro;bk& z06nYotKgS}ZC36EWh$5eY#fdU9>dbVO}-uJGR1QQVZ?C&3TJ>=WAPRFo@b4XdWk|d zOQHI%SAlqXZO&J3<BOGc8-8r8&@z(9E5sIFHbH8Z*TwW1+Uw z;Uufb7>=ADZaVg)lG&W9hHiQc4{pBRm3GE&IyH@P&l^*MI&eAb`c;>sXOswV zndlEYv5!jT^)zX)AC%g_eqDP0RW&Vbi>D@d&ZA*(YQ=W#X8F$1w1dWb^&gwG4s~?2%PZGl;ua;YnM(>PuuM^cFl1X?y z_JPp$UajxPABA}|&?$5~esXwY?TpuE9(FjZ)4Aur*}h~(2T(BG zx^a(wDxRUH$2=v_l$AQ|?Bl1g&3Yu(;j=Rh#9$CRfBL_bWMA0@U633cewFA(w_}0P zvOhgOF?c=;=$})P1zDgB$uvAV?ZM#WA7ZDEPAl`D;%0-Y>H2(njC)O+H<__7B1Fm(5}RvNrx8xcA28?O&dM6)Y_@(J8hqZ*M1EqcP>N$zI<< z_*dBE_`6vj37%lCn@8ubi$(6Ac^I~cUCXByibfqkk$&p{dB#o;Vf3#cwuC^@+RX!* zTkZ!tG7dX`D)&!_dPTK^N2r1Jl$)7Xci&Q1Ibe9sFguQw;aam=HnA<=mGa5+MH08l zpyLaYbA%Wb`X(BD&`lqgVrlZtp`uf#>W>YQ#vTr+r+AYX$oKkIRJYb}-cR-@NlBC{ zng0BF#&M24hqYx+k;O8%n7JS~$=LdRew924ERW}_<)b6-S3%BLiB>55&AZP}WyN+g zTPCeNotzCEaJL%<${eif%_;>n`$=uuqz2ZTr0IL@Ve_{)mn63!a7NyWIqQL5!K--3U-*@K7NdC}jpl~h z(W60)(OROScj{DUJXe6}<51M@Uh*BN;j($a`Oj{8SFu@*U*YU_HyZS570m4ZM2jlO z(V+QQGAZMpS3aC^SntWy|a&q3+wUjG2`V(;NM$4`hc zYnpAXzlYxT!6dzv2vm~!Q|4eY0`4Fm#=a%L)O6ia^)GEM{EOAVVB7~h4Dr)GmFZp( zva;9R^c`aa-3_sw*kqH8VCSd*0IIQZH&fEb)xYpgpMd`W5I!(`QHM#F#ItyM#%sT` zY4@LgId7uDMO>Z^0L6b&AF+4*EsZz!z`5{`#2*z~c(QFC!JyRdKoQSxD(zH>#~H~S z8vaQ<39S5L_)p+{UqI5|$Me z-D=c#V>ldDa*LShT62NV75ho>v;*+R!-qff3$yGtNgFHE-_@Cg1!7Dv()vn;R_@8Nb(Sf;k+vysk7G>PIR39+| zo;Vf!Bg6X#cqhc)wbzTj59xj;pH0zKE%jSQw2Vyh!+yZ|Byag}*$ba){?32k>o>KB z_6hiZb#~Llko-ilK6R-gXixTLqy&kELzFlqbCt-&e=VP|2B)mrXg)CgtUfa8PpA!I zZ7ag|Q%4`!=G0|TzE33s3_iwC8*i<0)%dJ+(b6|Qaq*Arqwur#e$*~Cx74K6X435> z+o{bmK$i19!5gF`?`GO@7Z?sVecV^(*T+qB;fAZO{{U!wH8*LeM-*X__yxK1h+W&T z#1cp+AOJd7=!g6iJK`3T<4=rNy4}I`E6)og;o#x$+2671<@&-Bz$u)C!v`3iOUM%{9-|C2rs#V%%=)EuoJ$idr zp=o|D@I;0`4EWy4I5hc=-?Uk-`@3`U{K1JE*RwA;8LkrY=S(q0VLHb1Aq zvo@T3L8ry7!=;-`3k6uNE}`7W^0z8jx!4%=+P#NL%G2z%TZ>t37ktsgpCU8y9{gi( zI0w{@)uPcDJz2`#S!yB|lIt9@ibap?xW(%Ya4r=IyoYiTd07! z5?!jIvMzpSL>y#b4sl*p;LRIZz1B>cHQF1CbX$QqeW<4@2IeGSZuwW#)@Q^&5o_t< zY5YB}g}Iu>W=TtY%+l}=&6AuTyU$9Oey*`Ja+iGWI{{X#_WGCh;5~%r4&A=xZ{HrhF-R85R>eqK#C7km{ zh!S}%iFblFz$YW+8@hAHYV>atU3h!NR<Lt60?*<62MTs@=6;qDAaY|fcoiVkyujsUN!yl3LHe}kH5!|xGUK$lk9 zm-d8L(EPH+_KS6nNStok$l+0w`?zmf@LvmjIlt9)mC&L|66Eev8NhTAD0X9p0|=m# z?OwI<_ffv_Z;Gw_GixMkJaE}TWGB7vc~J zd`PgG>qgbB=d_;A29o9%MBK22Qb=NX&wN&ggY`ca{4Le=vMOAv zmHAloWI0@nW7yWW(&s(4Rye6O%L#6*bcm;GJv+%$aK*PXlu*sk^T@(_QR8nC>Ygd_ ze4Ze<0wZ|Iata_-3c*6{RrzqBV1dUK?SC75HKlmJShx7g;VVrx%E!bkWS2_Q$=P8% zdr{GmkI1qg-Yzn{;B>`#-M*0}lt?udA}CO#YR5YlJBp5ddXIX>bz>8HbR{i18CF_e zs`t#3&I~sf2UajFBPWQ)tRfYYt88WP%Q{(RA1+sc}KAkJiuU=Y7tr6>Cu+dk9 zWvkfr{{Vruy55uGTaOO-mi}**P^4^BM)5vAVUB&hEA=1YXM!v~*9=zZ6+m8}cehS! z;I9Ll?;3nVvemR^7FT*DysdDOfxF632@DCwJ1?bv%6tp(e7Cl?@=1X#%B_rGat9dB zIIqq4hZTAAY}(ZysBqR5MxV3YEuWYC4UeFH7I0cKHhI=4@LsT2Jo};pxUR$*)#c ziqP_7d2VUEsc{OZUU(aWU=Edwb7>^-Kbmv6Y$?-*;FH)4bgFP_7n3)b4(3pK7{}v| zKQ6+w>?AT_1B`9XT!05oP7go+s^?NqLw-jTaXQA88>W8hqJ=@}w-^VX!2VU^y4IBl z47UFOF7_vB;K#ch9(e=!Na!oybp}!kLi{M$gB&-)7EFEa2n8FT`{eZPU!`6xc@joU4D|IM z{68vw zo2W@-!*BOl8{J!se}z5ZD$qUoF~>6Q1afv~8OPyN))tJ&$%jbs&#~#ndnbfigfWmJ zKOMhLD|=AU<QlEqojfWYHDhDB1bxM(0r)tAgrLgWvZ>F-)C;usE%4XiNY>^pCq zo_6toJw50HrhO>dM`Uec`LCCJYxkA2fB@&$ufIy~z8ZKB!=5pZUDP~vtBn#pBEn0E zL#F1rxE6Z2Jwsv+fSlKk6y8yW)WJ!_tJpjd0@dml7>hg=%keFPJ$M{U6 zu6gQe8Z?VY?`>t$qJj08ZPx1M3~h|^6mf!mX}WH$aBdd*-8MX@aSPM8PJ2~v4rpOS z8nhdr-N0oap~wUO0IYrMb4;>ZTV}JIe*91Jk^S6rj(U1lZ$m_nqcnKDZ6CuuQ^Fb( zokG{eR_la9ODvF(Nh3UCn)_4!2-hdWSUhp!T@T`SjAQV7+KA`2l3+QKBZG{b0=VZL zYvr$j{{R>CFNT^1vEluDNS9ELSG0R%mN)X++EM^n5c+zK^|9d3fPW9C@ML<$o~L_d ztv%?9`r(yjw1VDErC6xvuN9s2HRaV<{pbGxf_Qk};vd8R0FT~1m%^92e~dJ*5MRl0 zarR4vOPMw>#K{rHMhr-{57 z;xD!8S|kwN*y?t>t)z{(J5&<69^XM<)(`A)@vB()h5I`AW5%90g_l&4-Z-yWcqVKQ zoT%x$tyMX6F{>ReebO%!uN_4qU15ODa}m$vg2d#%%ui~KZ?hmu*ylYS8-nZYiv8O7 zOaA~QtHVF`39|nH(J5bn_E!Pp0N3wd!ZlX-QQ?9+={8^bB`WL)|J42T{{Vx7z6|*1 z;}7ib@PgaH(eJm=J}BuLzN~iz38!1yUaZFjlXngV(bqjI`Mv$A{3YPOgt`MB zvG5kA@#*%fFt>*0{&XAU4d!r`ibvfUU7%O>ZT|oTrtwCr;V;>j!&>%|6K zH1`iLl(Bhbe7s=pXXoxOKb2t=bjYjX9VlsDEjqu5We|u4(*#SL4WUBd90dpOXT5Op zXgY_5HQh7*63sSQwCUD6w2g^}?KaLw%#EC=Jb-gj6NutCb!htCYt6x zink|ecloZvdo4!w@1?i6NW|9r?nx_3fd1t38m2NJau=X zYx=IDzY8pN2s|gHvfQK>*9#=jBW+FX_fvU13@%9P(zvJbHiu#15vN&+&B1movSVW$ zU>uHtLEsMJqwyo?*1A=Rvw!sIBQ0?Y42ZBs!VX9~hdAx+Tn@jie`?DJjup3xG*n2_ zr);0bwMym^m9{Z=JZzI8=e1wIx45v>#f{Uin1OfTpO-k``-;xHcwaYA0D!gxdCmqa z)h%LA68(fjHMH_b6%U;lRzfz6Je(h)&U;puGK_m0nl-GR7Vy-Um(ECe_IYvq$t;ne zC_eD{5E9Z5{(`;F#SnNyMzAq>H_p4$ zEG`n@Lpqgc+DMg3fLrEG!yx1C^{*uG4uz=r_r#M}$#)fucWxSaWEg}JM%=3Q&tNM% z>2qF7G>=e!9qGOp@Fm8L;26!68okO(BD-#Kw)hH5qh5iv&J~n(F@vnjPn_u2oYF76avCnSWMCow~ zMs|Q4DgE0Hgf}(7cw+wm#rjX#XVOtFEN%C&SyfsfWB@sCct-NDxHPn&)mKJ$m%)>+! zE`Cr?u)yutwNdfW({C)Hy0g>T3$<~+=gnp<9uz7%=K-_OfHbCgxP-Oip z$$VAu3g^bYHNNqWh_~ELtW6}+ZgcXpecU(u0|TZ9PAlqd3*pN6gZ6O0i~BtrSh3y4pb9klVXI_|~*Q-j}{ zihQj*7gb3$bI`O#)kc^sB3#G8XXrrVsL$o;U1jRt>2SlQ+)EwInN#Jk4zYCG-yfY& z@S%t`gyRAD*pR$3-d7N0AK(QKspNNw7(zdUkWc%P_ngA zGq0EXm-7-pFf+7~j+y$`olD}aLibXW!`dP;2^;r}zj?ZF26#WxsB1b!q!7br1ZG`D zCmA5_MvSQHxjchW3>uaFv(fZ4sgLF5R28{;pKE^4-xPFP&lBoCG4ZCL)^_@oF##tgGcJLuYA1*gLoG;lwnUy?8(bx_?xADnc=x%I&@b;MJ*W&0q92q zpKim_zl|>iUU>7vc6R!dTFmpn?5QjfUX^Df7zxNblw*PqwSAB9kM`2>cZ7%8bbkZ@OFcwhF0@OO_A%`K&9Zf1vL*(qQXS zth8s^@OYvr#BwSoPs#{xy*TUJ(y7a>M{pa^~~ujyn1s&jyj|LRGX03ns%JFs;InHv9DT z&sy1!TC~%`6(UB)aUzVyc>BEa2V7T;#jV3?hmE_B1rF?-4jZ}0punzfUl2(c7ctGb z$?MACah(4EA&!-A7^A3`68avwed3sAMjmu?7vtqP2N>(l03MyIfVuGvy!Q;VNLpS2 zjYj8SF@gQn1Js)HThA9f4fc4OVvq*VHjMTBKMtn8dGXin2jPtaLZ15GaL)-<+t3Cl z_=bOk44UJPB6X)^bhTCpMywoW}7j94l%onf=G_uZVs)cnd?iVW{d>qz)Mj z=&Ui0Mq3=ri}-(patHITc8>^QV{U0*6?Al z{{VNdrG6sm{{RO3PkFNQLx$=|hx)k`6UGK{oN??&PL!8l4m@q7#xFFjF63NVks~}m zCroqXo`iNPMkuYrnR`~JE?4SSABpo6)2j=|(EX42o1`wEaAk~RZy$%IE9HH8r{+W) zasGe8yg%WW?RkB3aR-2YGP4Mz+Y}m%oEXW#0&i9S0B@-8UrFowTU*{FFUaErbUifvR{ReE-3y9{+KTs@^1^6Y#)@yAJu^TTt)v~z=>On0xw4;xyxo#H#4I^jNO zTNxjRO8xQpzo(V3x{$bX?&SKE90Kn9V_klTBZ4-etX6g(&UlK z#_13Gz(eEZJ%v|}<>Q#jer?<^J@Zkd&Je~96pzqT9DKR2u|62vi4to@xsdJJLa6M2 z{Zz6=0$WAoOS)#=y>Y^hG0kSf_LjG3qUABWAK_k)@b^U0%unLIfA`ilQUsdaP9!NJ zmEOGn00G8m1BUxMqRndw5|kUaFQWQaZQ(bt@h#*!HSN5{BI_)o1BJ>A0)M&)<29QN zo`GQ^PLmswRr4R+=lFZ{HLIX_&r{L7H+kWGInpa@_EwmM9%BXm9o=^Obg5&B>9&47 z(fl26bK$E97Ut6HjjVThKX;WpayyK5sPy|N*HYbmDc=JDmg8{1+uwqCtVnciAueq7 zTZ~4K>@z3j&3j+OJu_6lhfCG$ZM^GCT|NnQQ*Vv&2^`_1sstsq_o~0N>9Phmp80`~rG+9+>s3 z9}ItN4~Y?Yhr%Bde08I})`{WLZ4zKIc1TAByW_TfDeb8ZUqkyo(0o*8o?8vxVxl9V z{{Uo)>0#F5^As}xPaSLHPXYWzm&95wlj1AOR!DB3NfT>ff;br6>t8@x-a*9iV2(Jg z;&91pW9hvnb!e6IU(hGP*9YMrg-`uK?0@u1SMzt_&2bC@I{uG-3(FgP9q^la=++bDf}Kzs(oo zXNPWdI=uB=e7#>svlA*Q`8E9)iP7 zg1`nAZr&?1oBF=k^B%YlKoFb8ND&feIluY5vn zbO+Ne;J1#?SC$z60JP;s2HB$Pu&FJKAD94m83MA7=R}r=oNKz4iKH~zANuFFA~l;P zD4+vw^;q-seBH^cUmruGpwpL6h{JVr68)`w)$*gAkIJf`{HJIH@@kg5Wi6JpvL)q} z#5U4lCA4!ab8Xv=ioiEN?I_RTUVVG!U(5EVM!T4^OE%W~ppnZFo;wbJR`Ew9rO?OM ztgbX`;BS6rak!^()2QiYVG~5sgt)g=g%%4Et~>i^Upmi0@|}9){aPQmp>~W`w@jmN2>UoRZAM43K{c zx8d&>Cb?j~9Mmn~wzi4@jA4yYq>XUQ(y+m90Ouo~I#)m8%Rdaii?m%r#ope}OuLG0 zMp=2xD=ON!T$gg4aHs{xEo^|g5Z<$XVbNMcg7!wE28*`^(`L$(_4eY z6Ui=&_Ht#+6G$2`(C*z61t0`G@I`#ptLfL;KbfWKer>Jgth)>jyIEaN&AYmgc*O}O zik0H@KTW2aKeWnZ8&)OCSQTCW5!93)EGtX>dvW>3Isy5Vn z8$K`i_pJDf!1`x^?ouQ6YlOO-rY0;v0PELa>ShQPI1M0&CmQHmd^J2 z1-zGnIHQgYR(5M*?6}K|VURfaKrPdnQhbroSg0pbe)GA`czaw+D|_7{;^7iYqPwM$ zPUca`3nw_w^Q<2bc!m7`0PL$zkt5hosctX;&u>cfEjvzAZf%_ekvR{whFfyrl^pO} z+P3^B@QUjGZ}>{JxFj=9-fBVjc18%n$vr^p=qu0m^q~3VdS6zpG^s=W85o`g_-*2E z8F+;)F9S(E{{Zicme{8l=Od4oxE-tYGxlfwk+k`IOw;(6Pl@1y-W6Xl{J|urmSjEeF~T5CFn7I_pI zK_Ja{EGGCoZ{*HO*DA3 z$S{=`xVc&U=V^L&x#8_f*7cqK&d!m(?2XwNOsP3t%ar>4F<+pcv$u*h`z;3Y&hlbm zRsG9nELu-51F!J_azDHceI4S@gx(y~kJ&s!r>ibh?jJ8Jf~O#khNIDb6Zm^WUq8dI z<%XU)%xriYbHKsr&jYqAmm8bHta)a&I{!b1JIlg^Ze=5mW4qhoAIZN<3~!XW~_TK6qeo3#nBk^yoWR#uIo)OS#mi zywo`pIv*x8zzO$MpYX3&DV%BEQb&`TQ=Lmj2j^C!;Qs&>>zcHBOp7G*ON)z%56oB0 zAmsD+k8f(Nr2fx-Jn=Q;u<2S?*yB;MCYiRX=N~(stWRz@uh?G+{5$(>#!EXyN1p|l z0nRbh=eKWq`ftF00Bxj%Y8Ol-8-VmVIP0FC)%5YtYulETQS&n4+CLRpACrFw{{Uc% zS>c8+6y14}{JZ|nyaUE?Tc^Jq*WR8M{gJ*4_&dle;rK6Rj|543`|=oLvwXaLI2HOo zp?o^h^j$hQZ9KFqgOWa+5KrY?KaLkoX$b{m^1v9+9AmFF=i@QBxvSKv@>(8-4=%yN z(WgxxI{lkVu>;70BoUClSXJW~$4q0`SDtvkK=4P3#FqNamAuifA2N-^amhK(Ju9s7 zJ>{Cni*0~Hvf7e*?fPJUOjq;O@oESc;uf=b=jV>=gd-};?t5d>zPp59y+1?YxXoG={eMHp zS8fPyJvgVG;WqyO2|Ruj2wb)Z$JdH$70(?7ebM>(VkzWgTU=+-yznUEY=D)^{S(bh$yeq0TGOdE^`O9^@!;2Ts12tcxh6WfCHmKft5-vDfmg8>`lySfP^KTkMZ(D&%h* zWRQE~rB=RzLyG>8U+NPH!v=Onk+BcBA?O%Ut?|cV!d#&0{ z;i5}Q%eWA5S}+FXJo2~$1Eq4BM!l(Om(X3AIYG38!ue_k-oYN2HR$>_jjqlHwcr_+ zf3<(1%N%5VqCYqfkgj59av2B=0MBe!VIGlX zu4=7eJj!4wt#2|6B9I5m*0FXrk7M_D#ad>M;$PUV@q7pS+gK)6jubnYU~&i@eJh^v zo`vx7z87eo2k>;TUPa=VZK8$<{{YrOI+fqKbHNqzXY6m{zZm#y#a8|S)HN|_WqtsS zZWnZHP6z;c9@X^Dr|^HqJ^=XD{{RVRhG2?&=*cf?{{XvOxF0eO!l#<(ZCRhVzYldw zPYvk$e~0g9Qw^20amF*tY*ie4SF&07gY4F$Ez5KH*W!fV9eyqN15UKme0!x^C4$_? z8#+t6W%CN-kMqTTglL}-B-JgzKQ_=XeTc4zNgOp|Jwc{ka#$+>+|3=C;k*~gFoyAr+?`>R`FUHCV&6d{Y(DVU zD}&H*IL&{dFZ>q_~&0a-U5HD$4j zO|g#NNLm>G0M@1#&B!cz^2@^Krp_yg*EQ?gdk46&4-;w-{gPeJxcO*CKsnFNj(F+C zWNq%HpzjPMx`g*SR-bgME!u(R%-aBs7cJia_Ngz^!&+Rn7FuQG*COJ@TKKYs5#42u z$hrBIR3|67JXZy#Lw$X7Yh|ZK(@%2ZIO9%PornscXQ}Kv*Vy-d8u2%W{4XEDooh?e zPnU4>3(0)7ohMzQO_w>yRl!zMz{Ukc?G{`YGO}A91*iCm`%`!|3tMHk8c>fCLGrL* zM$%4sVn+t7c&=yhUyiSD{7*FZH`kK+w=%=?F_uC%9=x2N!n@6DQn>I3gtWf{O{Oa9 zHoA=ZGr#86o*lbB+aZUIWw~^6OXBZ?!|GZnc(nC^t0jq%etj$jR%|fkN(z zYgHC{o~@wiULCv9{0-ug_7K1j%hsuFgtNwr-!1~ym6(bn|J>J6APU+VoPYGAlw+{WdUPtz_3>3 zf#^8mxzCEeF`rS@?zBxt(%K7%CE0TJ>E*oALIQl?Hqo$-0`MvqV^?IZc`mWyC-DZp zw{oKS?o|OlCrkmjbjPPoE88?pI2-GGD~zABft6wWSRHxo)AFwZ)2;2V^|&qMhs{EV zf6ap1dCy)kUsd=)0vPV@oA)s);h(nyuRs2}*NM)1Q+sSS<2 ze4(7Vaf|_jl6`UQUERNrEi{c5MOYpDrxHmUvW86KBWrf<0LBN>li;)IzAy24x>el5 zFZ5K9a>#@Rbs6e0#yeJz#&3t$*2nusDB-v_SdCKUaVqr2#vOhC04n)b;_9jueNVHD zXBr<^qv&$_5b>vr^}9b8X;4~ev2HOW%1h4b;3)+0oR7Lqeb?aMiM|y06`{iht1z~S zaH^!`ow(=$B)6@6d*K~Me*<_nJrZUU-oQylClRLXV3XVr{{U5d{{Z4|i<(A(dvkl@ zIi$VTvl~Hio!(EBRko`1P=8P>D%cOMPubhtTP4)n51GdS1yTHOd+d+hKM8)<{wUR^ zx3ciQhLJ}wkge9MFtvmC05k9dK2>?!fPE|KzX$wg`0e6bd9H1|N#WZltdbUgvuX2Q zfF|-hqFLpS0sQpZar~?KT)X(i`$qWt!`kn}Uklqkrh%s2!>M1~#TXDra@%4;8MxfU z<6{0b)_%emaZYVk@$w|75evskR+5|JdIcK}AA2d)6EDDYC| zRC*@4PSKKeSJAZjmxirAxlZ?UxM3SpHJ2 z$-v^Yd?))|!K&)kz8mq~jmL-eTeSuVZtzlY0-V7rlN`A8Q@bC+EBVp*{{ZlR{t6HK z3!jI+EcnH%V0e!}`*x8VT#Lnu#oT$e^C|nT3HjHayc+sv;n&CQPCYYB@c#hqP2t)l&+>GC}cn~UkM2p?A0Rj+ejUHg zEA%tr@rq~yx-6WoLv+U-{{WSF9H~_0JEuS0-4ot;a$%$i&>ty3=c9~gk9zr2$G>N? z^CXN7C-wZRKjGe&Cb@8zGX^W{ImaA(dsmTo zuTZ|$wKTUw`?hc~>(lh~ucv%JVBQ<>+D&&SmVrUQ!1Ump{{Z@{wv8TGBN~-2CvB1R zPK~eVUIn)O>Mf}NXMQurJ^ujxRpTBc{j0oD;%j!d_$_3Y(Z@2wF0DKLn@o+%A|Kyi z`GrdW!X-H4kzXEo=1ouHZKcPIJb8TDKf`?;@iUk5q}8QEg9Jw-5d;3Q{{V~bt$uob z(I4R!HWwu|jdB}hSfmm#e>|Rk%J4c|er^_;Gm6~7h67~N8 zBjz(~?v@%ZU-0kH{ifACPw|G^R!uL*zY`kD;Kb9twvDI79BT}6tS^R2X=Tlo-88Z(4NZOtl2$MG=qug_0{AMj7#jz6`> zf%HEW_`Bmqf#Bn>U%{kk)_TsZ`^OW*=f3rg!G%>-36E)Py76C)-Yd|2UGV$Hy03=k z)c)3*KBF~*-CIo3TTIr{?B5yB&V-<4_Qid7`kJ{Es!4sw_nJr;h34-o#v*BIiR?0dl4Uz~06=TEy0JKJhYYWCv znn~#UKhdAB(`x44@o+&>cpZH!t-7~5#gKjm&Hy5(YPMyQctk{VV3Nv|R?SeNGP%97?=)K3(zi zG`0^T4yt+ltNHo($87O<{{UIME1O|-&`O}=cR~mC2NnGd_~S{DB)GC}#Nd5;e}#Sx z{?J-nR(}(GMP+WA-_42HbMr3c9H{O)A3IS(wK@Bw}}9 z3?4uO7{ynb-Jwjs%5#mUt}&ebE3njHUk~}(Wz-1L2?k35NMy!WuTE0005N01N@?U!W#_Z)+KLR<~DjtTu>bW6&>NE2Li(Yv$VHOP1zevR%rO zTtcS^?41reWK|t9dswu)h^B!{mQp4DH3P8c7(MGxLcWEsVulFU%S3-LNsJMWPvP2_ zinh1&&#OnMUY3=SmzF%?F@gATSA0<} zz5@gGuW|5{Gx$5i$ig_ro}p(wnxXoOaUcSF%2*ITr-^tWQ6EhEKK+TJ=2#TJZjrK;Mw#|L&O%> zI-J7N0Cvs&*2u>LJ^R)(S{uUGRzC5w_?M>1@s7^^`cK{I&kPpgG09lAgvJm50I#Kf z)p&bM@pp~&tFMU~w5fi#8eTR7vtl3|E)P-qSM#T$X!o8p_^oMa@cMD5-~6Hkocxk9 zf%i%2?V9~_{ht0j>s}nwH9v-)H%VgFZ^GF}B%iwxHwwUv;BnI(s|t2TwUc`tBsvuT z02sa^T3$h9_P!PH^P?rajk;T#fseiI#})TCg!=>^Bo~{PXc^G z8it8DyRf{pNN(+hLnM&_hfJPx-oDlNXW((-n+rb_tYsl-2ieDboDcFVrU>(Dv)?`m z_-gdTjUp0wuj}97f(U*KctR36O%qRF$^@^%PlJC1{>!FB(nrn(e*1hmv|A5{x($f` z0G2v+tbg~+N-MEO$i@f%*Zo8P0E4#ftn5EvPlfl_@Td~(TUo76E#jArtuH($_eT}}fIskeO5Mr-00i&&b8l*5j8E}D zOM#`F4=N!xovBB;{S|j-+P{pS21)SS_HOulAH&}s+g@vz66();eGQ&tv(#)Oh<%s$ zta26P!PrLt^aR%>ea`GJ!h8v?+g-sl7q^m`<#%Dc9FGD(L*q#WS)=L4=itJJ(%d#ZScP)n_P1k$V`cSx;=%M@Xl9f^~cDh@JF z%6^sLH}JKxT>zE3DrumUEWQ z2poS9>5AtyB(T#Wjtx9Z70N^e-f0}mo^}C@DvSdvkg&Ds|OG636#PYYcUINi=x$4R}O5q$WLFX1kBmg&>_ z9+l{id^N3J+AS(UGi_BId0=C1R~hY&wNJ%5Y~C611Xo&LmTl*O8Uwsd8%D|$kbO62 zx5{{}F9djA;{O0pf#a0J34&XhJJq+L3O3O6i1a-tRM0Lp3x6w0 zh+U5&+CpXXFb43g)B%rdpK9{Y5H+l}pJR$3*9#!?CJ&N818N27k<|Lvq-s}w6G=I6eX~_yp}(;?3zo2 zky)aP2h3^6O~Fuul7EPwrFq5ghjg1Z(vhr>E_qCebCwrLNR&?x!5tO8p(3I$*tLFP8kc-VGU%V&}a z=y~oq1JbrUJo?VP;)uqdFWDrI=g$5ijWN!1k^t*hZ7gJ@xvqLE-f7+uiYsetg`ZIm z6w0D9B8^7F^GHZ6tT+Rpt~XcIo5dR3)9LahwWBnT97KcVAj1$(C)jd*I#;Ocuxb82 z)oo{<_S)9y+PdFP?Xo9mhCxr50>oo#fCYIqhLdMwWi^lzrTP%e@0HsI2MHhE+;j6} z;}sFHtwi?dZYGxorKsup&ALYvcZu^x2vu2Q1Aoh$g(C!gYuF~9-%iuzwQ^3_3AF?h z=CM$tzp2RjSBQ8v;t}HOXyu%5aw_q3b^dJTsKHKRcRt)#)l>W= z(q+_R)O>tAJfPeQu! z4eH!HUu8r<1XFHi8;ZN9u;#Z1QZ*Q0&I3N`)Tc;cv{qnr{MQwbZb;w-w`MC7-uD`+G z@Q>&$x;5;OhF_QF<0FnRai3}_@kM%6xhY%jBBu!9t5x=ukDM&NFMKWWf9!MOuh{S7 zABLB~_qW=2lc(!iWFBswZy?z4H0XoOi!OjOVSohmuf*GL1^jB(yeQrgv(R;6EvC`B z%GzlnY!QYMLwCjq0q_R1r^wM-#|zw{K`ct5NcUh989CbDg=?RI{{Rd0 zJ4o%k4W`)X(!mso4AV5SeDb2E<_P})y({;DIKjsi=;8Ry$wgIKqt3+eG*fPivh05* z{t@_f@mE@HH{pJz73^2Kl&Nh4YW{2xTP&MK=4rT&D96m?U;r!n_V~GR{{RHZ)PH2( z3VzJqGx3&_;yaHC==Pdjz2%xp@`>P$P|F;Ohh|%m?T#zWHE#m=OG2^Jt?uQ~VS5po z9V57!dzUJzOq<;G#&-10dCTiw6tuh-%WV{{m_(7`j@S%fakLpbdX6imd{rlP6tytJ z@MI%tPEA{DXnt`EKOBC}z9EA}_@Y)ZH-w*E_QqXlfNmdna^{`w;g^~$?INpSF?SeS0KZVwV z#On>j-W#&iqJ69WlVJm(>CnohkLO=iNp)%Pzev@;+Pmf1osC=)VY(5C_wbU-E10Z-z3g zFr+Fo)2ZNe;=X&*bZN9JBMJGMPQO!*ztX+C!D}_N2^3ibwhZzn)vf$Bc;N1kOTcX{{Tw;8E3hlN-(2j1>|ESbm^1) ztKwgcI%-c5x{a_^cArKS+l$0Hjt{ZNgTtz7Q9nHI^czh+`o?*ClqVjXf018I{@2>K z!SC7g;H|I4FNzXR9+z}ug3n8_e>U>^W>7?GcnB~vBXm{w;=GdX&K*|3!UyjnZV#}p zb@1)=zlimX7UNq>Ym18ucel2C$ks%*ow0`-@)WombBgsc%tbzR8oL}hg$jx-({?`< zC2ceIvDP(T6@Jv7Hq-nq;Qs&({hB=&!k!#w)b2GACd07}vbw~vAp%E}Yi{`z4r}di z+Xi3Q%j3uFIS0Xyf>+Y$8o!1ox74&NOWh{&$~%c6K^wwc$Fnjc5F}zU*vYTZ-EUa& zr-ZH83k}wB@giD6kh+nMv7qGf)K`>U{9y36i6J&tx}>(#6Z83O1dEJ+%Q-WT!oJ@R z#9vnTAq1n^$HiiJVPgI1)NS{={H%W^9wPmn{yBKEaT)NQt>$U4F5zot)2NJX`Pj#} zbimv?;a5z%aN!-8cgYX1Nu^QZRU_~GO4+J{Jw!#@i=7ykeV#)oXaOcPxd zmh;NMQMNSsBN*Uv#8>4Whx-TXwwLfvaArmf8TPOYM;XECn*Nowxc(jZ5(yH@6$vAm z0NuN3IN>sWMdN@tuOGL%v+30S;?}5+GApl7az;ozEd5Jsa|~2k@a{SzMdWmFpZCa zzAgEhe~2DQ1{PKQMSctZ)Vf8q{{S1_;h9v=Z5!b5Ujdg3gVf*;rGG%*9yH<*-Jr?u z>Hh%gufZ?c-3FQQIt@*SF=>k;{Maf)gaQV6BaS^Q?l?kUzD;&$_&zm<`#VpgN5>u{ zyVQ04ZfPcM?;K&|-c@##MGQLNk&Jqp;+VXxxsFY0>K75kcX5y3`J?YYQJfs{-m#ZB z;=f9c$K^8IvaC`j3UQoQVc_jw!x|>Kx}S;k^QhV^Z;NG<$_*i0CP?RKJdir{u4UD( z=JMhBl@Jeg2Z^`X`VZN#bOkM=S%`gW=%9;d1NOI>G2pGmm1w@1FYj_P^# z1(8f^v13dhl`wh%&MO* zKf5WA7Yo>9ky^JGz6H=UNGxIdOKLWk4(oFkHnI@B5POc^)di!)t|B(Fx+ltW`B$j; ze^1rtux%}u?K|z7>L@pK+6T-AdVn)oI<(jRDUbU|!mQCLW}N^{=rPoE$o8jrVW6G9 z&g@W_*heCqVX@P%L(>$P;)>Htr`&5ux<~pYx!9w7aHouteF?8n)ASubQ`VPD@kPSv zF+{tS!spE3Z3qYVxaPcNzS*e8wh;)!XBprV&~@~$L$=W`^y}ZXUcZ{wyI_8EwU-zJ zpUR?kv2@R^{0(Q}+kc05x~96#Z?0J1LG~6yi3;Fnobm1N^slS`0B7GDYQGiye+HBB z67gmb&bM((!pQ8P3=@&Y2Q~3mgnTpO4-x5W;!P=pi8Fapt6%_l01TcDdk2R6Ll=d< zF?epKi9-aCARr+fHe{{XTUnSHN4-NmhpVWT0U zX&4_XIK~ct4%qEqw*LULj+bu)Hq%d-H68e3c;_RIy*;bH53Z+;UN&|=Rz4hfQW&)8 zqYKUjeuMaS1&71-Fyro9#6Kk!@(;tnTE;0cjs|P&ogq*5Rjxnhl7Asxk|HZZ|Iq#I z{{VxDd(GIgRod#vE{YnjCHT{2>$?rmFW$u{0FeN zcf<**2_-?nkrvv2lybfBe+vHqJP-IQ4zp+BAB|FJUK!LH?%z>{Iq#y1L*&gW;~Z`$ zfzA*3S1uwe;yZAY`zPW*iL}e9uI+T&SYG2{5x|k=PnofZ!O!348Ll_QS_EDb*5T6c zj`=Ow4Z|lVAgN_sH{MQ_=o-en6vua_tj+=v49rYHC46TQjCq?^y?Iu#d#UP^rlEUr zvep5zIeQ+N$2ldt`c_ajsBHxz{%}a zEj(P-mfDAfC6r4Q++y49Hj$!+RL0SkP}>OuA9VWFyebTdh!76SRNpAF`sVLWPY;O9lEXIW znNCm7fKUwclY*nxzK8IihCD&w&lSNG4R3FErDi+7waOOTY{6C1L%95yVhG0_>&pB& z7A9?O;?sGKNX%wAb|M^%Zs#N}GusvI_Ikdb;!lUVuA4Nm%cwS}WR_`2+*V9tT$bQu zWAUPFbfS)93Z3L`KK&T=^ojiWfIb!+*&RjM6F zT)u0SwsRiK_GFME5UQMHbm|8|USX%`n%1QYHjQmG>%ea%OZs48e@gTiFSWaSEw?tZ z$+ZzL5>;hh2nmu~DshfRImSf}DLbHqn^x##_=X#3yhA(}a)BmB{{SduQ-QTqgN{09 z(z-njZL~Yb*JTr-k{>SKSjcGBLIBIC$uZ-g_32r*UK#$=zqU3p+}}LMbheAd!p6IK zEzp8F45RB>`o5?%`R}zocLGg90u}^dB#bWKB&w;x6dYl>0A~V|eG#N1_L@2UQu=F0 z`xWUIgn&VnT@f>a4mi)_^sdiE8cf(|~bfuj2`kd0c|I*HTJeR{M{w$S|%ik$E%i&xV=`URk6lG8YFQ zKs$XuO8ZCQ{{V&KjTTutag236IR60a*Ms~w(Za(ClZ5~euTHi1H-j|zV-Up%+zO1b zJm-!89+mlKV~WHbA|bZg4`9*t@+wx{K5 z{>)zz^!uYHfjnDik$=xAtt5z!ouiPC$Wp`mK7P^KitN4dMw<|B8)S1fM;)>U;a{hB zo(foilNiTL^zFx5$b&$?b#&p?i0h7=U=y0{hAujD!F|Uk)tX-9&(GZ>_A1tO8>E}X z-Z8nBKJnPXmZ0MtZaHt#y_>WG9aA)7t=7*cKihZ!@%5 z9FPY=k6t=gRcmXeS-`R~i3js!Swn2|H z@Yv(-j*IwLoZRV)85ej1YZITYGvAY5=i>ch-gq$@`A9|vkN$+lq%zjbAsr$XU*RptO2(6eSV3dlADK6g9#bZWd0OS?I_Ts)a_}I!<%~A5dZq@b5 zYViG#M>gV^<&)R7e4Fud#iz4r;B1Wj-rt3FRGRlpDJ@y?rS+p(T&$MI0Q2wKyDtpN zmU^lj1`;nh>D#xb@)edg$uHPvTod2&tt$nV+TjC_l?DMF>bd!LG~`VB>ewKKeKPe2n$DT;y0cg;Y&rF^y&fptM#H^4$CxnIDB?&FzxzN zMuPBpd!bUG0m1rr&m3|3R`SMav79izXXcNG{{UqzR!2+k6l+&9I{yF+F~)=*ILinA zRrF4U@Ha)!H08NTZti4IFlM@y{Xc{0H$-%1eC>>Cuc{$I92bJeCMy8QG7z=XmYh@;^HH@5bd}JCNY_^%%$U_OGnG zX*$}+ggD5+`d7vu5hh@{&&ZkiPvO)0*Cii%S{+qaEKiX>F-mUq`HpuTr>7j_{Nvic zp8o*a;!&;qLyiIiJbHD$5BD>ZfnUFW64LdfVxuU_!OvAA75wvl(7Low@pDoH{{Y9l za6$OSgEjhJ3Pq`D(I1#`i(H94nem0B^AiP?Ztkf z9g+DAw`J`;VM+H~%3@q~13#r`$!X@rad%+BAkOvkN{Ji;jy+C#;enI&jMxbr1{EdlHP0=|pz=A-blTZ=)m)U4*eyO2q5 zd2heTT=a@ad}P{;z8Vw$y?A?VK}#^5@WfE5CzIyI%`h_>aTTJ6dUvAKLC0 z?b4f5^*n~-*{K3sZ^_0M=tw0B{)z6dRYk3zRG3PnP58+xGPN15eq*`fy#~kvfnEaJNz%7AY zliooN{eMSRwzHJ^Axj2+gCqPsDV{3PhLfi0{wUF5Enz%M9IOUVObEC6YtsHdc-B_&hL@rE z7S0VK)!|6k*|*6)am#a$Ox6w-b~+VLcIWJ8{1eCalhrP~ZQ+lEx}}fU^((j-wBhj5 zs)3BDBexa(VtfOGRMqsWX{QQ_70L4*d1)0u10Ril6hE;wzLDW%*M2T|-g}F!cSuOB z^!u2P?xEZOB>H++_HFwWYWH${GVs=`b9yeVbt`i#?)%Fj#~(`S!@h?GCK}xRm-un5 zII>GgB;DnKhV@?6_s)ePzK3M^>jY>2038+iE#b{p<4=VyVSI3YUvAa_G7vDf#Mk5;L@j(a8T_kQr2=#axiv-k9=`o z<)8and{Xfj$B)_)?r#vt48$!rD0UWtvyBxhj#UAeK9N4#L09SH~U$(mZYOvVV!+6FgOq9o)#asidMRc`#al zhtKq5jxqe}j}+~0$94`nJ0CJlXDCFTaI;&y##o|b!VUl`LC6GfeRvh*ek1U1u{HR# zwo~RbiyB3q@?!yc10%mm_RSN;eiOR7)6M!DOIvM;EJ)k81ly81<0td>sy`B@z0@_! zjek#uHM6;IxLb3DAxA^dk<;3-gR!+#nmj|r){^*geM3vWyOG*kRkyeD92<8C${1u5 zlu|gyddHIcOR>1OHbyw-M2pOZP)dnV4coaRVdIL>xY8E$!>wf-=j<~FRnHq!>^8D__E)jRB3)aP z0G9>bh2JacOyUAUy^rZmLrnK*Veh~TbH!DTa`aNe6Bk%=~G?X-`l)!>Il&` z(CfToD%^wa4{F&#C!vd*akDES%!;gbu74`px)&2+WL?a9749nojNn(id>GIn@qdVg zrRfSIL$r3!YQq;*Ql{#?k<)>s>eN(MQ`UYPqWF{G&Znj0{WnJAJD5;=wIxJ@&5qAD{ATU7?Wq$ zVcG}jU!G?bV^Wn#Lu=pf{{V(RO~`3Fb*aXC+TV8Hnff!~J9d}Kwv9pL4a2wqV~_L2 zeVgEIFg2_}$2l0sewFgSfZ}`0h-M=$*vReMiv0ojZJ{bevrfN0GoN8!nqzc!KUl); zbKJZmX)G}ZZg2oxbv5rAE}y90tZSYJ@aJltolp72a=sJMqYV?cx8!lszJ|~==-D^I za2W0Re-1ywmJbWg?9B0)g%zRCj|!wfIgN5LkVa2$eE$ITs%xDG%Ly|e1-SXtCPy9n zAH(Thq`G~ug;BE@1a8~L(e2JT?@>0FV+`g4g55X=cWwtcKEu+z-|YCUj}PmP=Z^mX zV@lt+0a3gE02^RqpgaoauC&>n54PKbAsjC6Yz*V2dY-Z39S=u=Qt8n)5O(J|QI0SV z8UA(iCy%~4S?S_SeFa07I8oGt$Lm}es#Kw;Hm7D9btU$6DtL!T`!*ixMZ}pWamP-1 z=clE4!(VCX2b!GckLCVFc~^*a?-1)(fJ*!B9|WlTs17kx+v)d~iJPe#<{vTi;C8PL zv?7`8QoD)W+shTr!ibJ@-}+aeX_hkW=bzK_uOaXiy~P}zWmuDs-^EcRLDUjDln?=FCP>%lfk^jg29lGF7z4(9_J7{(y7qFr?{A%R zK8vfSz!nC?czeZIZFDZ1^_S|{0ppgMtL<-W(bucZKV7Ypp5$NfLkbg2lO=EVXuYBK zUH@pvLW;?KZnoA7)E^Yn+R)2wPb770^8TZO$1O|>9u#7vi%ccv06AdR3g8dPh*6#= zWTh&j7leC_2t~I?vy{AbP#xKKyutZ3#ORpHYTqOuAv0Qm-!*2sOQ|l_rl6Ppp z)A8m92TCrtyk3u^BFTxHYpN`s{!f%$;8dz#h;jqc` zE*gC=5Xp{7a9(RVE zFbIi*{;t>wB+l+IVtHq>17h?kD|i#wHgWe9G^*I#%Hot_C4(<)SC;PJlO=1!Q{#|R zS5!FMA0g7S58wbp^>0mt+INiS#fG;E3oo!6|7f^o(GQzc^Wfc;P+bE3Z%dt>Pk;Za zDT5YZQmOVf%rc&}Gr#g~`mB2A#Ki~AWJdU9Zm$UjIri|2G;pw14=aQ#BlwJQGgzGnr{A2&PwW)rHAFbe#u^2 z2Hm?Bp&7mhv|k&i-!|dDIVJb8rnxI+hy3XSiu;vw(^W1QTRz~oQe<%dJ%d>_LNTQ=a8i+NM2;9g29X zL$k@bGNUaSqmEkrBF3lADbzBN`Mc)yD;F#N4ciEQh9kti-1&!A*5`X~`uP>9VO5@a zMtVbLQ@Kq=B)A^BST(_p3EtL9IK>kf5G`Ytv`+fXkc$=savgkA~wL6^jwz9~l zd+{H>f~TYpuKcG}D%e>H;j_!L8~5@0IL*7ouCxxm0OU8QGakGKh=g8Ulj1PnLX3Y#zREIyCRR@vNM;xJGOh zunT2R;iXQTU2UWAJwDfeG~d!%%)65QjbAKL_rISg!laZ{?T+P-?UMMS9qP z_n-9+*SWaN;ua?R!AQK1BTq1WFZ@eGOs&*yDTEY^FCcNMulb-wR*xieJIXGbyz~t< zHcw&JCD|21?JwfU0Q@pY*FuG=X6k!0|KB~WCSSS0g3-qyyIt>1%uHA5q`zrD7C7aU8o!Ku5iT{6SYls`lt66 zJxKixFXBB|7*3}E>|1HO{y%XHzoJ}vLN_uErQ>gp*qwsL)fr|~ecd4?0quW9epI(2 z`X}8o>kI59L2j#uL3Uq}S;snpF%FU~!v1$DBPa#?X=VO3ZXt-*4KVHjQ8=@PDdUXC zR~I|Oul{@}Cdy;jp|$3jP#nA6>bN?%D08iUqwd@nmp$lN0`AklEBEz1;PdCM2Ge10 zG-nlqMvh#0jQi)uW`+`*MyVeO;jPEC*?ve3!a~%GQMp}%TaR&-$BbE^oWJqkPQB>Y z3Yfl_@s@4^BQz`uH1WB2st5c%H@Z-=xp$2J-pzVc{>VYV?#4FgXuE1pYJ6v^zF+A| zFdnX_KdavBVGA->IC9uO&MWNYCQmJhYsGYgw|g~S)9odgOq!RhASPu z3nWNXQfA~QTc5ge-z-`e`npa>BM}24JTk!XW+K+$U z3*>!8R#6is0u1VN)Z*efH**4Tht${D4l=L(8dUZ?4Ou)NZt7PDc9%>pT*JCLCX{$IGP`0u?FjZ_`4(|pOpsriU z-o@?BQo!q=t&?t|>Cc3p*@$jFvBTRP=|8$lDqK241(N1fJxQQt$`u0ByjlJT124>k zU`7g_0cv)t^r7dn6n?NP71RsR^?@d@d)kZ?2IM|4)4lzHhGzCJy)w%yFu!y2(L2`9 zmsya{)OK4w_H^J5NW)4aMV{lmzrKuO>Tk(vPfJ6e)I~1(^Zg3a$&v2!YHLSbxDb|k zpdkI=$8_alT3QRd->`{!z2x%V{Z?bqTYZf}rB_z?vyYK!Fd?#@{)4>VUtE|AfFpUo znjJExvNp8t9PGS={+=PF5HfK$=buqwjVsKl9VDQ2V*tQx>YLYQs`^K2Z+01&qRMCH=6{-Lgf z9%$1rJ&WE^Ih^zW)Cs(?SRYZk+h0>f8xiaL(r0I^fN7&NB1fSRknIud3C?2&)}C~OWBen*mt2Y5+3VhPtp&e1 z(d3^>@bR{5U3siSW9JeRI014iCC8<-_~~LtrqqYZp%Xx{=o)~2TT95L`@}WjtLLb9 zZe9ZPl<@wrdt7G7&4k~6QNSjYh*jkUAq>{GKfS|PrEL#EaRj3^Bceey&w#Lp*iWvk zR!yL7X`$E3LCIJt?(uJ<7{%%4Y=ig172O-0TiR@!{ET?D9}Gd^SNA9CpfhWTxHRs^ z$|Etp59H1@-H&HpNB`&ZSBFef^?H-SbO~>%)nF+h1yYV#)vawv(-c9hVaiXr*NfBF z?(sakaVAvrUFH*@O&AeGTKwunT;gl5&$x7OOU>l7z1;$+WvOsj4iz$kK9%cq8mm>_lV7Pu0on z6|mT`IGUUFnV9GvjtBGS<9}kkEo8PaDJ2i+r_bkjVe&+&D9SzOv&zEvYg$S4j0_@t zz)xOqera%GyJFpxDod$k(|wzcABztFJBRUsp*{>heU6dE6dn>$Wl=^Up&L(s&1ahe zOJxK4J3rlWzEb9V?>#JXIiSaYeiw9CMyVfzE^gOS0j0SrpPKV&*!wVW@&+?^H`E1Q zAfo-BwHRu9p8Ec2Lb3+rn9~@iGN=X3@L3#W&gipneo*YO=+TgP%#bL13i=IGY>&KV zJN7m_#4~oM)nx6zFNJQPuLI~!uoP*ckC*Mg6)d6%5?OG6LWuR1mPk|p)=a1F>YIjF z%M*wLF+7UcLbWNlw!Jzvw|QOMAW{TtA}#mOn^lQKrE4mk9d#lTp_X{sPB;fe)S5bE z=f$u@9V1v}v{zl@(BQpo-`nw+;YGXK3ha*=m}akdgMCv?64^aVji1*A`B>uSU<`kn z$ToLVb-E|&k?se;tC}trg|{sAKM!c0&uw{0hn<0n$WA0N0$_!qr_yd^zjx?9#nvMPPp9+bjlCd7#mBUr6@F@`F<^*eTBDYU#G(neX0oQ0(U{4$-@)rRz!pliJk~ zh}~%IthqKZJsC;A5*yL(r^JgLZ=RZzESwY5lb zaTfTKzpY&~%pOm%%VE?@1)^(!FtP&P3-nzb3iyiGPQ)m-PjW#|>J2Y-4D|h-A~meF zh*he9Qp~%4|K#lhM)CS^;pQ?R@gCzUbA?cPhq$4dKVfLf8g;zFok?u7ZcJG}OTNIW~}E#JM4ej5JpX4Krz9{5dF zWA|^cfzgh*Lf4?ypwxxp3&#}Bbw^d^2cN@lZrM>rmL5{O%Aae#n~|z=N&3E(|7eQz zYV1B_oW__EFT~FJsd@xo4T3)QPt)p1JebRZCqNZ=r5@w(S%^vaEo%|nIFSwpqD%oV zso!+XW8&!pGVj|?K%cJ4T!&eP;ut$H|7a8mEG@AY4Hwa>PaRk~^XQi);T?YWYns=nGR7{yjb;ovH)4vJIXW&XBHAk%02(esa7`F;}Gf3Bq zh!I3pH#eky%fJ6ZF(Npj^1(GDR_AB*6L%wI z(uX7$TRMc?MrEF&8}$CsJa;Eaph78fR09mr2H%$6abaG&sBcJsR31-?iX_iWdtj_j z)5=IHFEVLB1O|dw#~CeIcM9siX25;YIn%6=cwjTXJn%;+;~d%Iu|iwT!&i=Ag*oIe zM!KfW0Oeq^TX^{UU68av^Au!d>Ymq}&SpwNzW>{G!Vw#RA#lcjVvW-0$;}I`>QZLdqS5Od^o=kN+S{bcEK}t1kJSA zW_#t>kC%H47aq`h^0xxIF*OMZ#liec7>VJe5^cyGG4TnhUn=)KM;Q2&r*k9JbMJlB zXsp+b_ktvAKL$$M(2Q{I<7`s!Cq{L;RqvbYgSTbw>Iea4vqQD{LPASg#a1$E5z%W# zw=EYjPR_o3mAD=k^F8%R1+dGg zR9ZgF!FpjcU#+n>fKvXBtup@Qwya*b&dHL+qV`7Nbw&(Z%;{7lvldIGKfhuveuUUw zl69}}Kdr>O5&R)5a-8P8>$LUHu9Xo&J?G_DEtZNs105Kfa&?~r#NW*eNb#~1yDgs*|alrwUF?HbSnRhHEQ7 zDDPMG`{ehnm?z6EoHq0!)z%NNYV;KJvl`U6j}$Ji)+{yFGIK2^6SDq=-?l9IT1KC2 zynQ^gSYtE6@C#&BW%>G|D@VG8Lw0g|lC6;OofI8~z;OoKyQefNAQ7cL>8$liA9(`s z6WwxDr5y)`-Qx63T3SF(jqrRnB<^p$@^wJ5EOMzEIuMl9>%M7!%4&bthnDt-JkRXJ z>J)F*X_s%T0+$laCM|Ubr@Yr-;8(r$>_2_(hmW3y&QhdaByCTZ%@^KK&V=m;P0t8D ztWS&I7D-~X?w^n3Ohd0`n`9n65)Auu9ZPaO79nPkbgN)!c+E@~Dq=>TtvE(q)OnQp zuQyBLl>6588l>OgNfw|Bj6D%=Pd$ZSyAspdeDRI?qBsnwXW@V?DFo#vz2ndPUK|F! z$ClH2qggmiZq^Sc6z_PqHQvia+AK&WD0sX9_9po}JLOovdh6|uUMhE;K=Xs;x_>l7 zVnI%U4BhVYGn!+ns&Xg}XRo52@8iTqD$vJ~few~>4A=`Hyla0bS-F<6`sm@#eSvr{ zzl=_+nH48L8PG18e4G2N&oV1Umd38FHpThK*I{Hk7Vn*nxEj&@2C1bG1aq9R=c34R z#1%y%??Hn6v~e6!NQb%{$vfEp7|B0eca1KS`hdb3V&qxcQ<%-vp?uD#;Hk+CMp{1U ziBtb7gl1N-%7`RzMM-EI2hKJv=8nE_WHFzpL$n{c-?@7i=izN#OuqN1vYnWcg!o4T zB7ypX;4#GsYz+|F12yGo?Ra%Dk*K4SWb;STXrR%7*gzVCrO@mdMsM%rA5Aozt-@#i zwqOfWnMxi7MP0EQtRe2eM%BfX6(jAF`M5wjRb;$~IaboK+uoUT^7T}h2ImqkkFnr{6 z+eS2>rRG^IqTc3<5vQt$r}YQ!FKL6>tetx*p0W6yNw2huBj=JnQDM(^6})6lRUf|f zZTMr(BeeSlIM+tz;&ZE7nX6Q3rz_Fl2Ei)2y%oTA7VWmy?7o~!v;PM5Q(RIfsk%0? zxIu6EYFv)u-=9oJf@))=-747dYQA~CBS(D?=lk=Te9lhh#<$wj)ct!Dpq8Zv_33P* zA&MfY;-akoBi`jjQ)B)1N6F>m5@1YqYw*l=ApU+-`TZ$OWzt9k-_KJ}CRv{ZSPikc zbmfus$aQVOpx~J%eOB%t8|6I6UAtd7B8GZzax#aODdYUSUOa}=d-oBv%nj11LI@)2 z;VA%%##ta;i8bQg_tvCht(SZD!ygH&`l0#Ck6NL!c(SqB{0Eg_f1EXYUcQBSx%yak z$*WV-I&bHa0}YL=G-HFoT*oM~Jn5

T%>XGZPy0hag`hQjQLxSI2tk*NLiKaho?G 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 void; + onStatusClick?: () => void; +} + +const ActivityListItem: React.FC = ({ + id, + eventType, + title, + subtitle, + amount, + statusText, + statusTone = 'warning', + avatarLabel, + avatarTone = 'brand', + avatarImage, + onClick, + onStatusClick, +}) => { + const getIconAndColor = () => { + if ( + eventType.includes('grocery') || + title.toLowerCase().includes('grocer') + ) { + return { + iconSrc: basketIcon, + badgeClass: 'grocery', + }; + } + if ( + eventType.includes('medication') || + title.toLowerCase().includes('medic') + ) { + return { + icon: medkitOutline, + badgeClass: 'medication', + }; + } + if ( + eventType.includes('airtime') || + title.toLowerCase().includes('airtime') + ) { + return { + icon: phonePortraitOutline, + badgeClass: 'airtime', + }; + } + return { + icon: flashOutline, + badgeClass: 'electricity', + }; + }; + + const { icon, iconSrc, badgeClass } = getIconAndColor(); + + const avatarSearchText = + `${title} ${subtitle} ${avatarLabel ?? ''}`.toLowerCase(); + const resolvedAvatar = + avatarImage ?? + (avatarSearchText.includes('mum') || avatarSearchText.includes('mom') + ? momImage + : avatarSearchText.includes('dad') || avatarSearchText.includes('father') + ? dadImage + : undefined); + + return ( + + )} + + + + + ); +}; + +export default ActivityListItem; diff --git a/src/components/AuthFormFields.tsx b/src/components/AuthFormFields.tsx new file mode 100644 index 0000000..295e361 --- /dev/null +++ b/src/components/AuthFormFields.tsx @@ -0,0 +1,116 @@ +import React, { useState } from 'react'; +import { eyeOffOutline, eyeOutline } from 'ionicons/icons'; +import { IonIcon } from '@ionic/react'; + +interface AuthFormFieldsProps { + mode: 'login' | 'register'; + email: string; + password: string; + confirmPassword?: string; + onEmailChange: (val: string) => void; + onPasswordChange: (val: string) => void; + onConfirmPasswordChange?: (val: string) => void; + errors?: { [key: string]: string }; + disabled?: boolean; +} + +const AuthFormFields: React.FC = ({ + mode, + email, + password, + confirmPassword, + onEmailChange, + onPasswordChange, + onConfirmPasswordChange, + errors = {}, + disabled = false, +}) => { + const [showPassword, setShowPassword] = useState(false); + const [showConfirmPassword, setShowConfirmPassword] = useState(false); + + return ( +

+
+ + onEmailChange(e.target.value)} + disabled={disabled} + placeholder="you@example.com" + autoComplete="email" + /> + {errors.email ? ( +

{errors.email}

+ ) : null} +
+ +
+ +
+ onPasswordChange(e.target.value)} + disabled={disabled} + placeholder="Enter your password" + autoComplete={ + mode === 'login' ? 'current-password' : 'new-password' + } + /> + +
+ {errors.password ? ( +

{errors.password}

+ ) : null} +
+ + {mode === 'register' && onConfirmPasswordChange && ( +
+ +
+ onConfirmPasswordChange(e.target.value)} + disabled={disabled} + placeholder="Re-enter your password" + autoComplete="new-password" + /> + +
+ {errors.confirmPassword ? ( +

{errors.confirmPassword}

+ ) : null} +
+ )} +
+ ); +}; + +export default AuthFormFields; diff --git a/src/components/AvatarPicker.tsx b/src/components/AvatarPicker.tsx new file mode 100644 index 0000000..a5fe7bc --- /dev/null +++ b/src/components/AvatarPicker.tsx @@ -0,0 +1,115 @@ +import React, { useRef } from 'react'; +import { IonIcon } from '@ionic/react'; +import { cameraOutline, personOutline } from 'ionicons/icons'; + +interface AvatarPickerProps { + previewUrl: string | null; + onFileChange: (e: React.ChangeEvent) => void; + initials?: string; + disabled?: boolean; +} + +const AvatarPicker: React.FC = ({ + previewUrl, + onFileChange, + initials, + disabled = false, +}) => { + const fileInputRef = useRef(null); + + const handleClick = () => { + if (!disabled) { + fileInputRef.current?.click(); + } + }; + + return ( +
+
+ {previewUrl ? ( + Avatar preview + ) : initials ? ( + + {initials} + + ) : ( + + )} + + {!previewUrl && ( +
+ +
+ )} +
+ + {previewUrl ? 'Change photo' : 'Add photo'} + + +
+ ); +}; + +export default AvatarPicker; diff --git a/src/components/CareAlertPill.tsx b/src/components/CareAlertPill.tsx new file mode 100644 index 0000000..d30d538 --- /dev/null +++ b/src/components/CareAlertPill.tsx @@ -0,0 +1,88 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { + chevronForwardOutline, + timeOutline, + flashOutline, + wifiOutline, + medkitOutline, +} from 'ionicons/icons'; + +interface CareAlertPillProps { + id: string; + type: string; + title: string; + severity: 'warning' | 'neutral'; + onClick: (id: string) => void; +} + +const CareAlertPill: React.FC = ({ + id, + type, + title, + severity, + onClick, +}) => { + const getIconForType = () => { + switch (type) { + case 'electricity_low': + return flashOutline; + case 'airtime_expiring': + return wifiOutline; + case 'medication_due': + return medkitOutline; + default: + return timeOutline; + } + }; + + const getColors = () => { + if (severity === 'warning') { + return { bg: 'rgba(245,158,11,0.08)', icon: '#f59e0b', text: '#111827' }; + } + return { bg: '#ffffff', icon: '#6d28d9', text: '#111827' }; + }; + + const colors = getColors(); + + return ( + + ); +}; + +export default CareAlertPill; diff --git a/src/components/DashboardSkeleton.tsx b/src/components/DashboardSkeleton.tsx new file mode 100644 index 0000000..59428a0 --- /dev/null +++ b/src/components/DashboardSkeleton.tsx @@ -0,0 +1,246 @@ +import React from 'react'; +import { IonSkeletonText } from '@ionic/react'; + +const DashboardSkeleton: React.FC = () => { + return ( +
+ {/* Top Greeting Row */} +
+
+ +
+ + +
+
+
+ + {/* Loved Ones Carousel */} +
+
+
+ +
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ + +
+
+ + {/* Quick Actions */} +
+ +
+ {[1, 2, 3, 4].map((i) => ( +
+ + +
+ ))} +
+
+ + {/* Activity List */} +
+ +
+ {[1, 2, 3].map((i) => ( +
+ +
+ + +
+
+ ))} +
+
+
+ ); +}; + +export default DashboardSkeleton; diff --git a/src/components/ListSearchRow.tsx b/src/components/ListSearchRow.tsx new file mode 100644 index 0000000..828ebaa --- /dev/null +++ b/src/components/ListSearchRow.tsx @@ -0,0 +1,86 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { searchOutline, optionsOutline } from 'ionicons/icons'; + +interface ListSearchRowProps { + value: string; + onChange: (val: string) => void; + placeholder?: string; + onFilterClick?: () => void; + showFilter?: boolean; +} + +const ListSearchRow: React.FC = ({ + value, + onChange, + placeholder = 'Search...', + onFilterClick, + showFilter = false, +}) => { + return ( +
+
+ + onChange(e.target.value)} + placeholder={placeholder} + style={{ + flex: 1, + border: 'none', + outline: 'none', + backgroundColor: 'transparent', + padding: '0 12px', + fontSize: '15px', + color: '#111827', + }} + /> +
+ {showFilter && ( + + )} +
+ ); +}; + +export default ListSearchRow; diff --git a/src/components/OrderSummaryCard.tsx b/src/components/OrderSummaryCard.tsx new file mode 100644 index 0000000..d41f344 --- /dev/null +++ b/src/components/OrderSummaryCard.tsx @@ -0,0 +1,209 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { + chevronForwardOutline, + checkmarkCircleOutline, + timeOutline, + closeCircleOutline, +} from 'ionicons/icons'; + +export interface OrderSummary { + id: string; + recipientName: string; + serviceType: string; + merchantName?: string; + amount: number; + status: string; + createdAt: string; + avatarUrl?: string | null; +} + +interface OrderSummaryCardProps { + order: OrderSummary; + onClick: (id: string) => void; +} + +const OrderSummaryCard: React.FC = ({ + order, + onClick, +}) => { + const getStatusDisplay = (status: string) => { + switch (status) { + case 'paid': + return { + text: 'Paid', + color: '#3b82f6', + bg: 'rgba(59,130,246,0.1)', + icon: checkmarkCircleOutline, + }; + case 'ready_for_redemption': + return { + text: 'Ready', + color: '#16a34a', + bg: 'rgba(22,163,74,0.1)', + icon: checkmarkCircleOutline, + }; + case 'redeemed': + return { + text: 'Redeemed', + color: '#16a34a', + bg: 'rgba(22,163,74,0.1)', + icon: checkmarkCircleOutline, + }; + case 'delivered': + return { + text: 'Delivered', + color: '#16a34a', + bg: 'rgba(22,163,74,0.1)', + icon: checkmarkCircleOutline, + }; + case 'pending_payment': + return { + text: 'Pending', + color: '#f59e0b', + bg: 'rgba(245,158,11,0.1)', + icon: timeOutline, + }; + case 'failed': + case 'cancelled': + return { + text: 'Failed', + color: '#ef4444', + bg: 'rgba(239,68,68,0.1)', + icon: closeCircleOutline, + }; + default: + return { + text: status, + color: '#6b7280', + bg: '#f3f4f6', + icon: timeOutline, + }; + } + }; + + const statusDisplay = getStatusDisplay(order.status); + + return ( +
onClick(order.id)} + style={{ + display: 'flex', + alignItems: 'center', + backgroundColor: '#ffffff', + borderRadius: '24px', + padding: '16px', + margin: '0 20px 12px', + gap: '14px', + cursor: 'pointer', + }} + > +
+ {order.avatarUrl ? ( + {order.recipientName} + ) : ( + + {order.recipientName.charAt(0)} + + )} +
+
+
+ {order.serviceType} for {order.recipientName} +
+
+ {order.merchantName || 'Service provider'} +
+
+ {new Date(order.createdAt).toLocaleDateString()} +
+
+
+ + ${order.amount.toFixed(2)} + +
+ + {statusDisplay.text} + + +
+
+ +
+ ); +}; + +export default OrderSummaryCard; diff --git a/src/components/OtpInputSlots.tsx b/src/components/OtpInputSlots.tsx new file mode 100644 index 0000000..924a99d --- /dev/null +++ b/src/components/OtpInputSlots.tsx @@ -0,0 +1,82 @@ +import React, { useRef } from 'react'; + +interface OtpInputSlotsProps { + value: string[]; + onChange: (index: number, val: string) => void; + onPaste: (e: React.ClipboardEvent) => void; + disabled?: boolean; +} + +const OtpInputSlots: React.FC = ({ + value, + onChange, + onPaste, + disabled = false, +}) => { + const inputRefs = useRef<(HTMLInputElement | null)[]>([]); + + const handleKeyDown = ( + index: number, + e: React.KeyboardEvent + ) => { + if (e.key === 'Backspace' && value[index] === '') { + if (index > 0) { + inputRefs.current[index - 1]?.focus(); + } + } + }; + + const handleInput = ( + index: number, + e: React.ChangeEvent + ) => { + const val = e.target.value.replace(/[^0-9]/g, ''); + const lastChar = val.slice(-1); + + onChange(index, lastChar); + + if (lastChar && index < 5) { + inputRefs.current[index + 1]?.focus(); + } + }; + + return ( +
+ {[0, 1, 2, 3, 4, 5].map((index) => ( + { + inputRefs.current[index] = el; + }} + type="text" + inputMode="numeric" + pattern="[0-9]*" + maxLength={1} + value={value[index] || ''} + onChange={(e) => handleInput(index, e)} + onKeyDown={(e) => handleKeyDown(index, e)} + onPaste={onPaste} + disabled={disabled} + style={{ + width: '44px', + height: '56px', + textAlign: 'center', + fontSize: '24px', + fontWeight: '700', + color: value[index] ? '#6d28d9' : '#111827', + backgroundColor: value[index] ? 'rgba(109,40,217,0.08)' : '#fafafa', + border: 'none', + borderRadius: '12px', + outline: 'none', + }} + className="otp-slot" + /> + ))} +
+ ); +}; + +export default OtpInputSlots; diff --git a/src/components/ProtectedRoute.tsx b/src/components/ProtectedRoute.tsx new file mode 100644 index 0000000..8f8308f --- /dev/null +++ b/src/components/ProtectedRoute.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import { Route, Redirect } from 'react-router-dom'; +import { IonContent, IonPage, IonSpinner } from '@ionic/react'; +import { useAuth } from '../contexts/AuthContext'; + +interface Props { + component: React.ComponentType; + path: string | string[]; + exact?: boolean; +} + +const BYPASS_AUTH = true; + +const ProtectedRouteLoader: React.FC = () => ( + + +
+ + Loading your profile... +
+
+
+); + +const ProtectedRoute: React.FC = ({ component: Component, ...rest }) => { + const { user, profileStatus } = useAuth(); + + return ( + { + if (BYPASS_AUTH) { + return ; + } + if (!user) { + return ; + } + if (profileStatus === 'loading') { + return ; + } + if (profileStatus === 'missing') { + return ; + } + return ; + }} + /> + ); +}; + +export default ProtectedRoute; diff --git a/src/components/QuickSupportActionCard.tsx b/src/components/QuickSupportActionCard.tsx new file mode 100644 index 0000000..16d430e --- /dev/null +++ b/src/components/QuickSupportActionCard.tsx @@ -0,0 +1,94 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { + cartOutline, + medkitOutline, + phonePortraitOutline, + flashOutline, +} from 'ionicons/icons'; + +interface QuickSupportActionCardProps { + serviceType: 'grocery' | 'medication' | 'airtime' | 'electricity'; + label: string; + onClick: () => void; +} + +const QuickSupportActionCard: React.FC = ({ + serviceType, + label, + onClick, +}) => { + const getIconAndColor = () => { + switch (serviceType) { + case 'grocery': + return { + icon: cartOutline, + color: '#6d28d9', + bg: 'rgba(109,40,217,0.1)', + }; + case 'medication': + return { + icon: medkitOutline, + color: '#ef4444', + bg: 'rgba(239,68,68,0.1)', + }; + case 'airtime': + return { + icon: phonePortraitOutline, + color: '#3b82f6', + bg: 'rgba(59,130,246,0.1)', + }; + case 'electricity': + return { + icon: flashOutline, + color: '#f59e0b', + bg: 'rgba(245,158,11,0.1)', + }; + default: + return { + icon: cartOutline, + color: '#6d28d9', + bg: 'rgba(109,40,217,0.1)', + }; + } + }; + + const { icon, color, bg } = getIconAndColor(); + + return ( + + ); +}; + +export default QuickSupportActionCard; diff --git a/src/components/RecipientCareCard.tsx b/src/components/RecipientCareCard.tsx new file mode 100644 index 0000000..2c7d9de --- /dev/null +++ b/src/components/RecipientCareCard.tsx @@ -0,0 +1,239 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { + cartOutline, + medkitOutline, + flashOutline, + timeOutline, + checkmarkCircleOutline, + ellipsisVertical, +} from 'ionicons/icons'; + +export interface CareStatus { + serviceType: 'grocery' | 'medication' | 'electricity' | 'airtime'; + label: string; + statusText: string; + isOk: boolean; +} + +export interface RecipientSummary { + id: string; + firstName: string; + lastName: string; + location: string; + avatarUrl: string | null; + statuses: CareStatus[]; +} + +interface RecipientCareCardProps { + recipient: RecipientSummary; + onSendSupport: (id: string) => void; + onMenuClick?: (id: string) => void; +} + +const getIconForService = (type: string) => { + switch (type) { + case 'grocery': + return cartOutline; + case 'medication': + return medkitOutline; + case 'electricity': + return flashOutline; + default: + return cartOutline; + } +}; + +const getColorForService = (type: string) => { + switch (type) { + case 'grocery': + return '#6d28d9'; + case 'medication': + return '#ef4444'; + case 'electricity': + return '#f59e0b'; + default: + return '#3b82f6'; + } +}; + +const RecipientCareCard: React.FC = ({ + recipient, + onSendSupport, + onMenuClick, +}) => { + return ( +
+
+
+
+ {recipient.avatarUrl ? ( + {recipient.firstName} + ) : ( + + {recipient.firstName.charAt(0)} + + )} +
+
+
+

+ {recipient.firstName} +

+
+
+

+ {recipient.location} +

+
+
+ +
+ +
+ {recipient.statuses.map((status, idx) => ( +
+
+ +
+
+ {status.label} +
+
+ {status.statusText} +
+
+
+ +
+ ))} +
+ + +
+ ); +}; + +export default RecipientCareCard; diff --git a/src/components/RecipientListCard.tsx b/src/components/RecipientListCard.tsx new file mode 100644 index 0000000..802f156 --- /dev/null +++ b/src/components/RecipientListCard.tsx @@ -0,0 +1,117 @@ +import React from 'react'; +import { IonIcon } from '@ionic/react'; +import { chevronForwardOutline } from 'ionicons/icons'; + +export interface RecipientListItem { + id: string; + firstName: string; + lastName: string; + relationship: string; + location: string; + lastActivityText?: string; + avatarUrl: string | null; +} + +interface RecipientListCardProps { + recipient: RecipientListItem; + onClick: (id: string) => void; +} + +const RecipientListCard: React.FC = ({ + recipient, + onClick, +}) => { + return ( +
onClick(recipient.id)} + style={{ + display: 'flex', + alignItems: 'center', + backgroundColor: '#ffffff', + borderRadius: '24px', + padding: '16px', + margin: '0 20px 12px', + gap: '14px', + cursor: 'pointer', + }} + > +
+ {recipient.avatarUrl ? ( + {recipient.firstName} + ) : ( + + {recipient.firstName.charAt(0)} + + )} +
+
+
+

+ {recipient.firstName} {recipient.lastName} +

+ + {recipient.relationship} + +
+
+ {recipient.location} +
+ {recipient.lastActivityText && ( +
+ Last activity: {recipient.lastActivityText} +
+ )} +
+ +
+ ); +}; + +export default RecipientListCard; diff --git a/src/components/SettingsRow.tsx b/src/components/SettingsRow.tsx new file mode 100644 index 0000000..7a96e51 --- /dev/null +++ b/src/components/SettingsRow.tsx @@ -0,0 +1,115 @@ +import React from 'react'; +import { IonIcon, IonToggle } from '@ionic/react'; +import { chevronForwardOutline } from 'ionicons/icons'; + +interface SettingsRowProps { + icon: string; + iconColor?: string; + iconBg?: string; + title: string; + subtitle?: string; + onClick?: () => void; + type?: 'link' | 'toggle' | 'button'; + checked?: boolean; + onToggle?: (checked: boolean) => void; + destructive?: boolean; +} + +const SettingsRow: React.FC = ({ + icon, + iconColor = '#6d28d9', + iconBg = 'rgba(109,40,217,0.1)', + title, + subtitle, + onClick, + type = 'link', + checked = false, + onToggle, + destructive = false, +}) => { + const content = ( + <> +
+ +
+
+
+ {title} +
+ {subtitle && ( +
+ {subtitle} +
+ )} +
+ {type === 'link' && ( + + )} + {type === 'toggle' && ( + onToggle && onToggle(e.detail.checked)} + style={{ padding: 0 }} + /> + )} + + ); + + const containerStyle: React.CSSProperties = { + display: 'flex', + alignItems: 'center', + padding: '12px 16px', + gap: '14px', + minHeight: '56px', + cursor: onClick || type === 'toggle' ? 'pointer' : 'default', + backgroundColor: 'transparent', + border: 'none', + width: '100%', + textAlign: 'left', + }; + + if (type === 'link' || type === 'button') { + return ( + + ); + } + + return
{content}
; +}; + +export default SettingsRow; diff --git a/src/components/SocialAuthButton.tsx b/src/components/SocialAuthButton.tsx new file mode 100644 index 0000000..88d81c2 --- /dev/null +++ b/src/components/SocialAuthButton.tsx @@ -0,0 +1,55 @@ +import React from 'react'; + +interface SocialAuthButtonProps { + provider: 'google' | 'apple'; + label: string; + onClick: () => void; + disabled?: boolean; +} + +const SocialAuthButton: React.FC = ({ + provider, + label, + onClick, + disabled = false, +}) => { + return ( + + ); +}; + +export default SocialAuthButton; diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx new file mode 100644 index 0000000..3fbb9f1 --- /dev/null +++ b/src/contexts/AuthContext.tsx @@ -0,0 +1,292 @@ +import React, { + createContext, + useCallback, + useContext, + useEffect, + useMemo, + useRef, + useState, +} from 'react'; +import type { User } from '@supabase/supabase-js'; +import { supabase } from '../supabase'; + +export interface Profile { + id: string; + first_name: string; + last_name: string; + full_name: string; + phone: string; + country_of_residence: string; + avatar_path: string | null; + notification_push_enabled: boolean; + notification_email_enabled: boolean; + notification_sms_enabled: boolean; + created_at: string; + updated_at: string; +} + +export type ProfileStatus = 'idle' | 'loading' | 'loaded' | 'missing' | 'error'; + +interface AuthContextType { + user: User | null; + profile: Profile | null; + profileStatus: ProfileStatus; + refreshProfile: () => Promise; + setProfile: (profile: Profile | null) => void; + signOut: () => Promise; +} + +const BYPASS_AUTH = true; + +const AuthContext = createContext({ + user: null, + profile: null, + profileStatus: BYPASS_AUTH ? 'idle' : 'loading', + refreshProfile: async () => null, + setProfile: () => {}, + signOut: async () => {}, +}); + +const withTimeout = async ( + request: PromiseLike, + timeoutMs: number, + label: string +): Promise => { + let timeoutId: ReturnType | undefined; + + const timeout = new Promise((_, reject) => { + timeoutId = setTimeout(() => { + reject( + new Error( + `${label} timed out. Please check your connection and try again.` + ) + ); + }, timeoutMs); + }); + + try { + return await Promise.race([Promise.resolve(request), timeout]); + } finally { + if (timeoutId) clearTimeout(timeoutId); + } +}; + +export const useAuth = () => useContext(AuthContext); + +export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ + children, +}) => { + const [user, setUser] = useState(null); + const [profile, setProfileState] = useState(null); + const [profileStatus, setProfileStatus] = useState( + BYPASS_AUTH ? 'idle' : 'loading' + ); + const [initializing, setInitializing] = useState(!BYPASS_AUTH); + const activeProfileFetchRef = useRef(0); + const mountedRef = useRef(false); + const currentUserIdRef = useRef(null); + + const applyProfile = useCallback((nextProfile: Profile | null) => { + if (!mountedRef.current) return; + setProfileState(nextProfile); + setProfileStatus(nextProfile ? 'loaded' : 'missing'); + }, []); + + const setProfile = useCallback( + (nextProfile: Profile | null) => { + activeProfileFetchRef.current += 1; + applyProfile(nextProfile); + }, + [applyProfile] + ); + + const fetchProfile = useCallback( + async ( + userId: string, + options?: { showLoading?: boolean } + ): Promise => { + const fetchId = activeProfileFetchRef.current + 1; + activeProfileFetchRef.current = fetchId; + + if ((options?.showLoading ?? true) && mountedRef.current) { + setProfileStatus('loading'); + } + + try { + const { data, error } = await withTimeout( + supabase.from('profiles').select('*').eq('id', userId).maybeSingle(), + 8000, + 'Profile loading' + ); + + if ( + !mountedRef.current || + fetchId !== activeProfileFetchRef.current || + currentUserIdRef.current !== userId + ) { + return data ? (data as Profile) : null; + } + + if (error) { + console.error('[AuthProvider] Failed to fetch profile', error); + setProfileState(null); + setProfileStatus('error'); + return null; + } + + const nextProfile = data ? (data as Profile) : null; + applyProfile(nextProfile); + return nextProfile; + } catch (error) { + if ( + mountedRef.current && + fetchId === activeProfileFetchRef.current && + currentUserIdRef.current === userId + ) { + console.error('[AuthProvider] Profile fetch crashed', error); + setProfileState(null); + setProfileStatus('error'); + } + return null; + } + }, + [applyProfile] + ); + + useEffect(() => { + mountedRef.current = true; + + if (BYPASS_AUTH) { + setInitializing(false); + setProfileStatus('idle'); + return () => { + mountedRef.current = false; + activeProfileFetchRef.current += 1; + }; + } + + let cancelled = false; + + supabase.auth + .getSession() + .then(({ data }) => { + if (cancelled || !mountedRef.current) return; + const currentUser = data.session?.user ?? null; + currentUserIdRef.current = currentUser?.id ?? null; + setUser(currentUser); + }) + .catch((error) => { + console.error('[AuthProvider] Failed to initialise session', error); + if (!cancelled && mountedRef.current) { + currentUserIdRef.current = null; + setUser(null); + setProfileState(null); + setProfileStatus('missing'); + } + }) + .finally(() => { + if (!cancelled && mountedRef.current) { + setInitializing(false); + } + }); + + const { + data: { subscription }, + } = supabase.auth.onAuthStateChange((_event, session) => { + const nextUser = session?.user ?? null; + + // Supabase warns against running additional async Supabase calls directly + // inside onAuthStateChange. Keep this callback synchronous and let the + // profile-loading effect below react to the user change. Deferring the + // state write also prevents auth event deadlocks during sign-in. + setTimeout(() => { + if (!mountedRef.current) return; + currentUserIdRef.current = nextUser?.id ?? null; + setUser(nextUser); + }, 0); + }); + + return () => { + cancelled = true; + mountedRef.current = false; + activeProfileFetchRef.current += 1; + subscription.unsubscribe(); + }; + }, []); + + useEffect(() => { + if (BYPASS_AUTH || initializing) return; + + if (!user) { + activeProfileFetchRef.current += 1; + currentUserIdRef.current = null; + setProfileState(null); + setProfileStatus('missing'); + return; + } + + currentUserIdRef.current = user.id; + void fetchProfile(user.id, { showLoading: true }); + }, [fetchProfile, initializing, user?.id]); + + const signOut = useCallback(async () => { + activeProfileFetchRef.current += 1; + setProfileState(null); + setProfileStatus('missing'); + await supabase.auth.signOut(); + }, []); + + const refreshProfile = useCallback(() => { + return user + ? fetchProfile(user.id, { showLoading: false }) + : Promise.resolve(null); + }, [fetchProfile, user]); + + const contextValue = useMemo( + () => ({ + user, + profile, + profileStatus, + refreshProfile, + setProfile, + signOut, + }), + [profile, profileStatus, refreshProfile, setProfile, signOut, user] + ); + + if (initializing) { + return ( +
+
+ +
+ ); + } + + return ( + {children} + ); +}; diff --git a/src/database.types.ts b/src/database.types.ts new file mode 100644 index 0000000..638530d --- /dev/null +++ b/src/database.types.ts @@ -0,0 +1,673 @@ +export type Json = + | string + | number + | boolean + | null + | { [key: string]: Json | undefined } + | Json[] + +export type Database = { + // Allows to automatically instantiate createClient with right options + // instead of createClient(URL, KEY) + __InternalSupabase: { + PostgrestVersion: "14.5" + } + public: { + Tables: { + activity_events: { + Row: { + amount: number | null + created_at: string + event_at: string + event_type: string + id: string + metadata: Json + order_id: string | null + recipient_id: string | null + subtitle: string + title: string + user_id: string + } + Insert: { + amount?: number | null + created_at?: string + event_at?: string + event_type: string + id?: string + metadata?: Json + order_id?: string | null + recipient_id?: string | null + subtitle: string + title: string + user_id: string + } + Update: { + amount?: number | null + created_at?: string + event_at?: string + event_type?: string + id?: string + metadata?: Json + order_id?: string | null + recipient_id?: string | null + subtitle?: string + title?: string + user_id?: string + } + Relationships: [] + } + care_alerts: { + Row: { + alert_type: string + body: string + created_at: string + dismissed_at: string | null + due_at: string | null + id: string + recipient_id: string + schedule_id: string | null + service_type: string | null + severity: string + title: string + user_id: string + } + Insert: { + alert_type: string + body: string + created_at?: string + dismissed_at?: string | null + due_at?: string | null + id?: string + recipient_id: string + schedule_id?: string | null + service_type?: string | null + severity: string + title: string + user_id: string + } + Update: { + alert_type?: string + body?: string + created_at?: string + dismissed_at?: string | null + due_at?: string | null + id?: string + recipient_id?: string + schedule_id?: string | null + service_type?: string | null + severity?: string + title?: string + user_id?: string + } + Relationships: [ + { + foreignKeyName: "care_alerts_schedule_id_fkey" + columns: ["schedule_id"] + isOneToOne: false + referencedRelation: "support_schedules" + referencedColumns: ["id"] + }, + ] + } + merchants: { + Row: { + branch_name: string | null + city: string + country: string + created_at: string + id: string + is_active: boolean + merchant_type: string + name: string + } + Insert: { + branch_name?: string | null + city: string + country: string + created_at?: string + id?: string + is_active?: boolean + merchant_type: string + name: string + } + Update: { + branch_name?: string | null + city?: string + country?: string + created_at?: string + id?: string + is_active?: boolean + merchant_type?: string + name?: string + } + Relationships: [] + } + notifications: { + Row: { + body: string + created_at: string + id: string + order_id: string | null + priority: string + read_at: string | null + recipient_id: string | null + title: string + type: string + user_id: string + voucher_id: string | null + } + Insert: { + body: string + created_at?: string + id?: string + order_id?: string | null + priority: string + read_at?: string | null + recipient_id?: string | null + title: string + type: string + user_id: string + voucher_id?: string | null + } + Update: { + body?: string + created_at?: string + id?: string + order_id?: string | null + priority?: string + read_at?: string | null + recipient_id?: string | null + title?: string + type?: string + user_id?: string + voucher_id?: string | null + } + Relationships: [ + { + foreignKeyName: "notifications_voucher_id_fkey" + columns: ["voucher_id"] + isOneToOne: false + referencedRelation: "vouchers" + referencedColumns: ["id"] + }, + ] + } + payment_methods: { + Row: { + brand: string | null + created_at: string + expiry_month: number | null + expiry_year: number | null + id: string + is_default: boolean + last4: string | null + provider: string + user_id: string + } + Insert: { + brand?: string | null + created_at?: string + expiry_month?: number | null + expiry_year?: number | null + id?: string + is_default?: boolean + last4?: string | null + provider: string + user_id: string + } + Update: { + brand?: string | null + created_at?: string + expiry_month?: number | null + expiry_year?: number | null + id?: string + is_default?: boolean + last4?: string | null + provider?: string + user_id?: string + } + Relationships: [] + } + profiles: { + Row: { + avatar_path: string | null + country_of_residence: string + created_at: string + first_name: string + full_name: string + id: string + last_name: string + notification_email_enabled: boolean + notification_push_enabled: boolean + notification_sms_enabled: boolean + phone: string + updated_at: string + } + Insert: { + avatar_path?: string | null + country_of_residence: string + created_at?: string + first_name: string + full_name: string + id: string + last_name: string + notification_email_enabled?: boolean + notification_push_enabled?: boolean + notification_sms_enabled?: boolean + phone: string + updated_at?: string + } + Update: { + avatar_path?: string | null + country_of_residence?: string + created_at?: string + first_name?: string + full_name?: string + id?: string + last_name?: string + notification_email_enabled?: boolean + notification_push_enabled?: boolean + notification_sms_enabled?: boolean + phone?: string + updated_at?: string + } + Relationships: [] + } + recipients: { + Row: { + city: string + country: string + created_at: string + first_name: string + id: string + is_active: boolean + last_name: string + mobile_number: string + photo_path: string | null + relationship: string + updated_at: string + user_id: string + } + Insert: { + city: string + country: string + created_at?: string + first_name: string + id?: string + is_active?: boolean + last_name: string + mobile_number: string + photo_path?: string | null + relationship: string + updated_at?: string + user_id: string + } + Update: { + city?: string + country?: string + created_at?: string + first_name?: string + id?: string + is_active?: boolean + last_name?: string + mobile_number?: string + photo_path?: string | null + relationship?: string + updated_at?: string + user_id?: string + } + Relationships: [] + } + support_orders: { + Row: { + amount: number + created_at: string + currency: string + delivery_channel: string + id: string + merchant_id: string | null + meter_number: string | null + network: string | null + note: string | null + payment_method: string | null + platform_fee: number + recipient_id: string + recurring_schedule_id: string | null + service_type: string + status: string + total_amount: number + updated_at: string + user_id: string + } + Insert: { + amount: number + created_at?: string + currency?: string + delivery_channel?: string + id?: string + merchant_id?: string | null + meter_number?: string | null + network?: string | null + note?: string | null + payment_method?: string | null + platform_fee: number + recipient_id: string + recurring_schedule_id?: string | null + service_type: string + status: string + total_amount: number + updated_at?: string + user_id: string + } + Update: { + amount?: number + created_at?: string + currency?: string + delivery_channel?: string + id?: string + merchant_id?: string | null + meter_number?: string | null + network?: string | null + note?: string | null + payment_method?: string | null + platform_fee?: number + recipient_id?: string + recurring_schedule_id?: string | null + service_type?: string + status?: string + total_amount?: number + updated_at?: string + user_id?: string + } + Relationships: [ + { + foreignKeyName: "support_orders_merchant_id_fkey" + columns: ["merchant_id"] + isOneToOne: false + referencedRelation: "merchants" + referencedColumns: ["id"] + }, + { + foreignKeyName: "support_orders_recipient_id_fkey" + columns: ["recipient_id"] + isOneToOne: false + referencedRelation: "recipients" + referencedColumns: ["id"] + }, + { + foreignKeyName: "support_orders_recurring_schedule_id_fkey" + columns: ["recurring_schedule_id"] + isOneToOne: false + referencedRelation: "support_schedules" + referencedColumns: ["id"] + }, + ] + } + support_schedules: { + Row: { + created_at: string | null + frequency_interval: number + frequency_unit: string + id: string + is_active: boolean + last_supported_at: string | null + next_due_at: string + recipient_id: string + service_type: string + updated_at: string | null + user_id: string + } + Insert: { + created_at?: string | null + frequency_interval: number + frequency_unit: string + id?: string + is_active?: boolean + last_supported_at?: string | null + next_due_at: string + recipient_id: string + service_type: string + updated_at?: string | null + user_id: string + } + Update: { + created_at?: string | null + frequency_interval?: number + frequency_unit?: string + id?: string + is_active?: boolean + last_supported_at?: string | null + next_due_at?: string + recipient_id?: string + service_type?: string + updated_at?: string | null + user_id?: string + } + Relationships: [ + { + foreignKeyName: "support_schedules_recipient_id_fkey" + columns: ["recipient_id"] + isOneToOne: false + referencedRelation: "recipients" + referencedColumns: ["id"] + }, + ] + } + voucher_redemptions: { + Row: { + created_at: string + id: string + merchant_id: string + order_id: string + receipt_reference: string | null + redeemed_amount: number + redeemed_at: string + voucher_id: string + } + Insert: { + created_at?: string + id?: string + merchant_id: string + order_id: string + receipt_reference?: string | null + redeemed_amount: number + redeemed_at?: string + voucher_id: string + } + Update: { + created_at?: string + id?: string + merchant_id?: string + order_id?: string + receipt_reference?: string | null + redeemed_amount?: number + redeemed_at?: string + voucher_id?: string + } + Relationships: [ + { + foreignKeyName: "voucher_redemptions_voucher_id_fkey" + columns: ["voucher_id"] + isOneToOne: false + referencedRelation: "vouchers" + referencedColumns: ["id"] + }, + ] + } + vouchers: { + Row: { + created_at: string + expires_at: string + id: string + order_id: string + qr_payload: string + redeemed_at: string | null + redeemed_merchant_id: string | null + status: string + voucher_code: string + voucher_type: string + } + Insert: { + created_at?: string + expires_at: string + id?: string + order_id: string + qr_payload: string + redeemed_at?: string | null + redeemed_merchant_id?: string | null + status: string + voucher_code: string + voucher_type: string + } + Update: { + created_at?: string + expires_at?: string + id?: string + order_id?: string + qr_payload?: string + redeemed_at?: string | null + redeemed_merchant_id?: string | null + status?: string + voucher_code?: string + voucher_type?: string + } + Relationships: [] + } + } + Views: { + [_ in never]: never + } + Functions: { + [_ in never]: never + } + Enums: { + [_ in never]: never + } + CompositeTypes: { + [_ in never]: never + } + } +} + +type DatabaseWithoutInternals = Omit + +type DefaultSchema = DatabaseWithoutInternals[Extract] + +export type Tables< + DefaultSchemaTableNameOrOptions extends + | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) + : never = never, +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { + Row: infer R + } + ? R + : never + : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] & + DefaultSchema["Views"]) + ? (DefaultSchema["Tables"] & + DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends { + Row: infer R + } + ? R + : never + : never + +export type TablesInsert< + DefaultSchemaTableNameOrOptions extends + | keyof DefaultSchema["Tables"] + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] + : never = never, +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { + Insert: infer I + } + ? I + : never + : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] + ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { + Insert: infer I + } + ? I + : never + : never + +export type TablesUpdate< + DefaultSchemaTableNameOrOptions extends + | keyof DefaultSchema["Tables"] + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] + : never = never, +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { + Update: infer U + } + ? U + : never + : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] + ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { + Update: infer U + } + ? U + : never + : never + +export type Enums< + DefaultSchemaEnumNameOrOptions extends + | keyof DefaultSchema["Enums"] + | { schema: keyof DatabaseWithoutInternals }, + EnumName extends DefaultSchemaEnumNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] + : never = never, +> = DefaultSchemaEnumNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] + : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] + ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] + : never + +export type CompositeTypes< + PublicCompositeTypeNameOrOptions extends + | keyof DefaultSchema["CompositeTypes"] + | { schema: keyof DatabaseWithoutInternals }, + CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] + : never = never, +> = PublicCompositeTypeNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] + : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] + ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] + : never + +export const Constants = { + public: { + Enums: {}, + }, +} as const diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..7f9c5d2 --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,113 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import { setupIonicReact } from '@ionic/react'; +import { Capacitor } from '@capacitor/core'; +import App from './App'; + +// ── Ionic initialisation ────────────────────────────────────────────────────── +// ?mode=md|ios overrides (used by Appcakes preview); otherwise follow the platform. +const _urlMode = new URLSearchParams(window.location.search).get('mode'); +const _platform = Capacitor.getPlatform(); // 'ios' | 'android' | 'web' +setupIonicReact({ + mode: (_urlMode === 'md' ? 'md' : _urlMode === 'ios' ? 'ios' : _platform === 'android' ? 'md' : 'ios'), +}); + +// Derive the studio parent origin dynamically so this works in both dev +// (parent at localhost:3000) and production (parent at studio.appcakes.dev). +const studioOrigin = (() => { + try { + if (document.referrer) return new URL(document.referrer).origin; + } catch {} + return 'http://localhost:3000'; +})(); + +// ── Safe area bridge ────────────────────────────────────────────────────────── +// Priority: URL params (first load) → sessionStorage (HMR full-reloads) → postMessage. +// Capacitor sets env() natively in compiled apps; these paths cover the browser preview. +function _applyInsets(sat: string | null, sab: string | null) { + if (sat) { document.documentElement.style.setProperty('--ion-safe-area-top', `${sat}px`); sessionStorage.setItem('__apsuite_sat', sat); } + if (sab) { document.documentElement.style.setProperty('--ion-safe-area-bottom', `${sab}px`); sessionStorage.setItem('__apsuite_sab', sab); } +} + +const _sp = new URLSearchParams(window.location.search); +_applyInsets( + _sp.get('sat') ?? sessionStorage.getItem('__apsuite_sat'), + _sp.get('sab') ?? sessionStorage.getItem('__apsuite_sab'), +); + +window.addEventListener('message', (e) => { + if (e.data?.type !== '__apsuite_insets') return; + const { sat, sab } = e.data as { sat?: number; sab?: number }; + _applyInsets(sat != null ? String(sat) : null, sab != null ? String(sab) : null); +}); + +// Re-apply after React Fast Refresh so insets survive soft HMR cycles. +if (import.meta.hot) { + import.meta.hot.on('vite:afterUpdate', () => { + _applyInsets(sessionStorage.getItem('__apsuite_sat'), sessionStorage.getItem('__apsuite_sab')); + }); +} + +// ── Session bridge ──────────────────────────────────────────────────────────── +// Post auth session to the Appcakes parent frame so the AI can test auth-protected +// Edge Functions. Uses import.meta.glob so Vite never errors if supabase.ts is absent. +(async () => { + const mods = import.meta.glob('./supabase.ts', { eager: false }); + if ('./supabase.ts' in mods) { + try { + const { supabase } = await mods['./supabase.ts']() as { supabase: any }; + // supabase.auth.onAuthStateChange((_event: unknown, session: any) => { + // setTimeout(() => { + // window.parent.postMessage( + // { + // type: '__apsuite_session', + // access_token: session?.access_token ?? null, + // email: session?.user?.email ?? null, + // }, + // studioOrigin, + // ); + // }, 0); + // }); + } catch { + // supabase client failed to initialise — session bridge unavailable + } + } +})(); + +// ── Runtime error reporting ─────────────────────────────────────────────────── +// Forward uncaught errors to the Appcakes dev server so the AI can read them. +// Extract projectId from the preview URL (/preview/{projectId}/) so errors are +// scoped per-project on the server rather than mixed into a global queue. +const _previewMatch = window.location.pathname.match(/\/preview\/([^/]+)/); +const _projectId = _previewMatch?.[1] ?? null; + +function reportError(message: string, stack?: string) { + fetch(`${studioOrigin}/api/agent/runtime-error`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ message, stack, projectId: _projectId }), + }).catch(() => {}); +} + +window.onerror = (_msg, _src, _line, _col, err) => { + reportError(String(_msg), err?.stack); + return false; +}; + +window.addEventListener('unhandledrejection', (e) => { + const err = e.reason as Error | undefined; + reportError(err?.message ?? String(e.reason), err?.stack); +}); + +// ── PWA Elements (Action Sheet, Camera, Toast etc. in browser preview) ──────── +import { defineCustomElements } from '@ionic/pwa-elements/loader'; +defineCustomElements(window); + +// ── App bootstrap ───────────────────────────────────────────────────────────── +const container = document.getElementById('root'); +const root = createRoot(container!); +root.render( + + + , +); diff --git a/src/pages/ActivityPage.tsx b/src/pages/ActivityPage.tsx new file mode 100644 index 0000000..9959c2e --- /dev/null +++ b/src/pages/ActivityPage.tsx @@ -0,0 +1,649 @@ +import React, { useEffect, useMemo, useState } from 'react'; +import { + IonContent, + IonIcon, + IonPage, + IonRefresher, + IonRefresherContent, + IonSegment, + IonSegmentButton, + IonSkeletonText, + IonLabel, + useIonViewWillEnter, +} from '@ionic/react'; +import { fileTrayOutline } from 'ionicons/icons'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import ActivityListItem from '../components/ActivityListItem'; +import { setStatusBarStyle, Style } from '../utils/statusBar'; +import '../styles/activity.css'; +import '../styles/recipients.css'; + +type RecipientRow = { + id: string; + first_name: string; + last_name: string; + photo_path: string | null; +}; + +type MerchantRow = { + id: string; + name: string; + branch_name: string | null; +}; + +type OrderRow = { + id: string; + service_type: string; + amount: number; + status: string; + created_at: string; + recipient_id: string; + merchant_id: string | null; + recipients: RecipientRow | null; + merchants: MerchantRow | null; +}; + +type VoucherRow = { + id: string; + order_id: string; + status: string; + redeemed_at: string | null; + redeemed_merchant_id: string | null; +}; + +type RedemptionRow = { + id: string; + voucher_id: string; + order_id: string; + merchant_id: string; + redeemed_at: string; +}; + +type ActivityMetadata = { + statusText?: string; + avatarLabel?: string; + avatarTone?: string; + avatarImage?: string; + voucherId?: string; +}; + +type UnifiedActivityItem = { + kind: 'voucher' | 'order'; + id: string; + event_type: string; + service_type: string; + title: string; + subtitle: string; + amount: number | null; + event_at: string; + order_id: string; + metadata: ActivityMetadata; +}; + +type ActivityTypeFilter = + | 'all' + | 'orders' + | 'vouchers' + | 'completed' + | 'alerts'; + +type ActivityFilterRange = '7' | '30' | '90' | 'all'; + +type VoucherActivityStatus = 'created' | 'redeemed' | 'partially'; + +const previewUserId = '00000000-0000-0000-0000-000000000000'; + +const dayLabel = (dateText: string) => { + const date = new Date(dateText); + const today = new Date(); + const yesterday = new Date(); + yesterday.setDate(today.getDate() - 1); + + if (date.toDateString() === today.toDateString()) return 'Today'; + if (date.toDateString() === yesterday.toDateString()) return 'Yesterday'; + return date.toLocaleDateString(undefined, { + month: 'short', + day: 'numeric', + year: 'numeric', + }); +}; + +const getMerchantDisplayName = (merchant?: MerchantRow | null) => { + if (!merchant) return null; + return `${merchant.name}${merchant.branch_name ? ` ${merchant.branch_name}` : ''}`; +}; + +const getRecipientDisplayName = (recipient?: RecipientRow | null) => { + if (!recipient) return 'Loved one'; + return `${recipient.first_name} ${recipient.last_name}`.trim(); +}; + +const getInitials = (name: string) => + name + .split(' ') + .map((part) => part.charAt(0)) + .join('') + .slice(0, 2) + .toUpperCase(); + +const getNormalizedServiceType = (value: string) => { + const normalized = value.toLowerCase(); + if (normalized.includes('grocery')) return 'grocery'; + if (normalized.includes('medication') || normalized.includes('pharmacy')) { + return 'medication'; + } + if (normalized.includes('airtime') || normalized.includes('data')) { + return 'airtime'; + } + if (normalized.includes('electricity') || normalized.includes('zesa')) { + return 'electricity'; + } + return normalized; +}; + +const getNormalizedServiceLabel = (serviceType: string) => { + const normalizedService = getNormalizedServiceType(serviceType); + if (normalizedService === 'grocery') return 'Grocery voucher'; + if (normalizedService === 'medication') return 'Medication voucher'; + if (normalizedService === 'airtime') return 'Airtime & Data'; + if (normalizedService === 'electricity') return 'Electricity'; + return serviceType.charAt(0).toUpperCase() + serviceType.slice(1); +}; + +const isVoucherService = (serviceType: string) => { + const normalizedService = getNormalizedServiceType(serviceType); + return normalizedService === 'grocery' || normalizedService === 'medication'; +}; + +const getVoucherStatus = ( + orderStatus: string, + voucher?: VoucherRow, + redemptions: RedemptionRow[] = [] +): VoucherActivityStatus => { + const combinedStatus = `${orderStatus} ${voucher?.status ?? ''}` + .toLowerCase() + .replace(/_/g, ' '); + + if (combinedStatus.includes('partial')) return 'partially'; + if ( + combinedStatus.includes('redeemed') || + Boolean(voucher?.redeemed_at) || + Boolean(voucher?.redeemed_merchant_id) || + redemptions.length > 0 + ) { + return 'redeemed'; + } + + return 'created'; +}; + +const getOrderStatus = (status: string) => { + const normalizedStatus = status.toLowerCase().replace(/_/g, ' '); + if ( + normalizedStatus.includes('completed') || + normalizedStatus.includes('delivered') || + normalizedStatus.includes('active') + ) { + return 'completed'; + } + return 'created'; +}; + +const getActivityStatusTone = (_serviceType: string, statusText?: string) => { + const normalizedStatus = statusText?.toLowerCase() ?? ''; + + if (normalizedStatus.includes('redeemed')) return 'success'; + if (normalizedStatus.includes('partial')) return 'partial'; + return 'warning'; +}; + +const getSeededRecipientImage = ( + firstName?: string | null, + photoPath?: string | null +) => { + const normalizedPath = photoPath?.trim().toLowerCase(); + if (normalizedPath === 'mom.jpg' || normalizedPath === 'mum.jpg') { + return momImage; + } + if (normalizedPath === 'dad.jpg' || normalizedPath === 'father.jpg') { + return dadImage; + } + + const normalizedName = firstName?.trim().toLowerCase(); + if (normalizedName === 'mum' || normalizedName === 'mom') return momImage; + if (normalizedName === 'dad' || normalizedName === 'father') return dadImage; + return undefined; +}; + +const getRecipientAvatarUrl = async (recipient?: RecipientRow | null) => { + if (!recipient) return undefined; + + const seededImage = getSeededRecipientImage( + recipient.first_name, + recipient.photo_path + ); + if (seededImage) return seededImage; + + if (!recipient.photo_path) return undefined; + + const { data } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600); + + return data?.signedUrl; +}; + +const getAvatarTone = (serviceType: string) => { + const normalizedService = getNormalizedServiceType(serviceType); + if (normalizedService === 'medication') return 'mint'; + if (normalizedService === 'airtime') return 'sky'; + if (normalizedService === 'electricity') return 'gold'; + return 'lavender'; +}; + +const ActivityPage: React.FC = () => { + const history = useHistory(); + const { user } = useAuth(); + const [events, setEvents] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [range, setRange] = useState('all'); + const [typeFilter, setTypeFilter] = useState('all'); + + useIonViewWillEnter(() => { + setStatusBarStyle(Style.Light); + }); + + useEffect(() => { + void loadActivity(); + }, [user?.id]); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const fetchOrdersForUser = async (userId: string) => { + return supabase + .from('support_orders') + .select( + 'id,service_type,amount,status,created_at,recipient_id,merchant_id,recipients(id,first_name,last_name,photo_path),merchants(id,name,branch_name)' + ) + .eq('user_id', userId) + .order('created_at', { ascending: false }); + }; + + const loadActivity = async () => { + setLoading(true); + setError(null); + + const activeUserId = user?.id ?? previewUserId; + let { data: ordersData, error: ordersError } = + await fetchOrdersForUser(activeUserId); + + if (!ordersError && user?.id && (ordersData ?? []).length === 0) { + const previewResult = await fetchOrdersForUser(previewUserId); + ordersData = previewResult.data; + ordersError = previewResult.error; + } + + if (ordersError) { + showError(ordersError.message || 'Failed to load activity'); + setEvents([]); + setLoading(false); + return; + } + + const orders = (ordersData ?? []) as unknown as OrderRow[]; + const orderIds = orders.map((order) => order.id); + const recipientIds = Array.from( + new Set(orders.map((order) => order.recipient_id).filter(Boolean)) + ); + + const [recipientsRes, vouchersRes, redemptionsRes, merchantsRes] = + await Promise.all([ + recipientIds.length > 0 + ? supabase + .from('recipients') + .select('id,first_name,last_name,photo_path') + .in('id', recipientIds) + : Promise.resolve({ data: [], error: null }), + orderIds.length > 0 + ? supabase + .from('vouchers') + .select('id,order_id,status,redeemed_at,redeemed_merchant_id') + .in('order_id', orderIds) + : Promise.resolve({ data: [], error: null }), + orderIds.length > 0 + ? supabase + .from('voucher_redemptions') + .select('id,voucher_id,order_id,merchant_id,redeemed_at') + .in('order_id', orderIds) + : Promise.resolve({ data: [], error: null }), + supabase.from('merchants').select('id,name,branch_name'), + ]); + + if ( + recipientsRes.error || + vouchersRes.error || + redemptionsRes.error || + merchantsRes.error + ) { + showError( + recipientsRes.error?.message || + vouchersRes.error?.message || + redemptionsRes.error?.message || + merchantsRes.error?.message || + 'Failed to load activity details' + ); + setEvents([]); + setLoading(false); + return; + } + + const recipientsById = new Map( + ((recipientsRes.data ?? []) as RecipientRow[]).map((recipient) => [ + recipient.id, + recipient, + ]) + ); + const vouchersByOrderId = new Map( + ((vouchersRes.data ?? []) as VoucherRow[]).map((voucher) => [ + voucher.order_id, + voucher, + ]) + ); + const redemptionsByOrderId = ( + (redemptionsRes.data ?? []) as RedemptionRow[] + ).reduce>((acc, redemption) => { + const existing = acc.get(redemption.order_id) ?? []; + existing.push(redemption); + acc.set(redemption.order_id, existing); + return acc; + }, new Map()); + const merchantsById = new Map( + ((merchantsRes.data ?? []) as MerchantRow[]).map((merchant) => [ + merchant.id, + merchant, + ]) + ); + + const mappedRows = await Promise.all( + orders.map(async (order) => { + const recipient = + order.recipients ?? recipientsById.get(order.recipient_id) ?? null; + const recipientName = getRecipientDisplayName(recipient); + const serviceType = getNormalizedServiceType(order.service_type); + const voucher = vouchersByOrderId.get(order.id); + const redemptions = redemptionsByOrderId.get(order.id) ?? []; + const latestRedemption = [...redemptions].sort( + (a, b) => + new Date(b.redeemed_at).getTime() - + new Date(a.redeemed_at).getTime() + )[0]; + const statusText = isVoucherService(serviceType) + ? getVoucherStatus(order.status, voucher, redemptions) + : getOrderStatus(order.status); + const redemptionMerchant = latestRedemption?.merchant_id + ? merchantsById.get(latestRedemption.merchant_id) + : null; + const voucherMerchant = voucher?.redeemed_merchant_id + ? merchantsById.get(voucher.redeemed_merchant_id) + : null; + const orderMerchant = + order.merchants ?? + (order.merchant_id ? merchantsById.get(order.merchant_id) : null); + const merchantName = + getMerchantDisplayName(redemptionMerchant) ?? + getMerchantDisplayName(voucherMerchant) ?? + getMerchantDisplayName(orderMerchant); + const subtitle = + isVoucherService(serviceType) && + (statusText === 'redeemed' || statusText === 'partially') + ? (merchantName ?? 'Redemption merchant unavailable') + : recipientName; + const avatarImage = await getRecipientAvatarUrl(recipient); + + return { + kind: isVoucherService(serviceType) ? 'voucher' : 'order', + id: order.id, + order_id: order.id, + event_type: serviceType, + service_type: serviceType, + title: getNormalizedServiceLabel(serviceType), + subtitle, + amount: Number(order.amount ?? 0), + event_at: order.created_at, + metadata: { + statusText, + avatarLabel: getInitials(recipientName), + avatarTone: getAvatarTone(serviceType), + avatarImage, + voucherId: voucher?.id, + }, + } satisfies UnifiedActivityItem; + }) + ); + + setEvents( + mappedRows.sort( + (a, b) => + new Date(b.event_at).getTime() - new Date(a.event_at).getTime() + ) + ); + setLoading(false); + }; + + const filteredEvents = useMemo(() => { + const threshold = new Date(); + if (range !== 'all') { + const days = Number(range); + threshold.setHours(0, 0, 0, 0); + threshold.setDate(threshold.getDate() - (days - 1)); + } + + return events.filter((item) => { + if ( + range !== 'all' && + new Date(item.event_at).getTime() < threshold.getTime() + ) { + return false; + } + + switch (typeFilter) { + case 'all': + return true; + case 'orders': + return item.kind === 'order'; + case 'vouchers': + return item.kind === 'voucher'; + case 'completed': { + const status = (item.metadata.statusText || '').toLowerCase(); + return ( + status.includes('completed') || + status.includes('redeemed') || + status.includes('partial') + ); + } + case 'alerts': + return false; + default: + return true; + } + }); + }, [events, range, typeFilter]); + + const groups = useMemo(() => { + return filteredEvents.reduce>( + (acc, event) => { + const label = dayLabel(event.event_at); + acc[label] = acc[label] ?? []; + acc[label].push(event); + return acc; + }, + {} + ); + }, [filteredEvents]); + + const handleRefresh = async (event: CustomEvent) => { + await loadActivity(); + event.detail.complete(); + }; + + const handleOpenEvent = (event: UnifiedActivityItem) => { + history.push(`/orders/${event.order_id}`); + }; + + return ( + + + + + + +
+
+

Activity

+

Orders & care timeline

+
+
+ +
+ {( + [ + 'all', + 'orders', + 'vouchers', + 'completed', + 'alerts', + ] as ActivityTypeFilter[] + ).map((type) => ( + + ))} +
+ +
+
+ + setRange((event.detail.value as ActivityFilterRange) ?? '30') + } + > + + All + + + 30 days + + + 90 days + + +
+
+ + {error && ( +

+ {error} +

+ )} + + {loading ? ( +
+ {[1, 2, 3].map((item) => ( +
+ +
+ + +
+
+ ))} +
+ ) : filteredEvents.length === 0 ? ( +
+ +

+ {typeFilter === 'all' + ? 'No activity in this range' + : 'No matching activity'} +

+

+ Try a longer date range or switch the activity filter. +

+
+ ) : ( + Object.entries(groups).map(([label, items]) => ( +
+

{label}

+
+ {items.map((item) => ( + handleOpenEvent(item)} + onStatusClick={() => handleOpenEvent(item)} + /> + ))} +
+
+ )) + )} +
+
+ ); +}; + +export default ActivityPage; diff --git a/src/pages/AuthPage.tsx b/src/pages/AuthPage.tsx new file mode 100644 index 0000000..54289e7 --- /dev/null +++ b/src/pages/AuthPage.tsx @@ -0,0 +1,355 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { IonPage, IonContent, useIonViewWillEnter } from '@ionic/react'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +// import { useAuth } from '../contexts/AuthContext'; +import { Capacitor } from '@capacitor/core'; +import { FirebaseAuthentication } from '@capacitor-firebase/authentication'; +import AuthFormFields from '../components/AuthFormFields'; +import SocialAuthButton from '../components/SocialAuthButton'; +import '../styles/auth.css'; + +const AuthPage: React.FC = () => { + const history = useHistory(); + // const location = useLocation(); + // const { user, profile, profileStatus } = useAuth(); + const signInTimeoutRef = useRef | null>(null); + // const navigatedForUserRef = useRef(null); + + const [tab, setTab] = useState<'login' | 'register'>('login'); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + + // useEffect(() => { + // if (!user) { + // navigatedForUserRef.current = null; + // return; + // } + + // if (signInTimeoutRef.current) { + // clearTimeout(signInTimeoutRef.current); + // signInTimeoutRef.current = null; + // } + + // if (location.pathname !== '/auth' || profileStatus === 'loading') return; + // if (navigatedForUserRef.current === user.id) return; + + // navigatedForUserRef.current = user.id; + // setLoading(false); + + // if ( + // !profile || + // !profile.first_name || + // !profile.last_name || + // !profile.phone || + // !profile.country_of_residence + // ) { + // history.replace('/setup-profile'); + // } else { + // history.replace('/home'); + // } + // }, [user, profile, profileStatus, location.pathname, history]); + + useEffect(() => { + return () => { + if (signInTimeoutRef.current) { + clearTimeout(signInTimeoutRef.current); + } + }; + }, []); + + useIonViewWillEnter(() => { + setTab('login'); + setError(null); + }); + + const showError = (msg: string) => { + setError(msg); + setTimeout(() => setError(null), 4000); + }; + + const handleTabChange = (nextTab: 'login' | 'register') => { + setTab(nextTab); + setError(null); + if (nextTab === 'login') { + setConfirmPassword(''); + } + }; + + const handleSignUp = async (e: React.FormEvent) => { + e.preventDefault(); + const normalizedEmail = email.trim().toLowerCase(); + + if (!normalizedEmail) { + showError('Please enter your email address.'); + return; + } + + if (password !== confirmPassword) { + showError('Passwords do not match'); + return; + } + setLoading(true); + setError(null); + + const { error: signUpError } = await supabase.auth.signUp({ + email: normalizedEmail, + password, + }); + + if (signUpError) { + showError(signUpError.message); + setLoading(false); + return; + } + + localStorage.setItem('kumusha_pending_verification_email', normalizedEmail); + setLoading(false); + history.replace('/verify-email', { state: { email: normalizedEmail } }); + }; + + const handleSignIn = async (e: React.FormEvent) => { + e.preventDefault(); + const normalizedEmail = email.trim().toLowerCase(); + + if (signInTimeoutRef.current) { + clearTimeout(signInTimeoutRef.current); + } + + setLoading(true); + setError(null); + + signInTimeoutRef.current = setTimeout(() => { + setLoading(false); + showError( + 'Sign in is taking too long. Please check your connection and try again.' + ); + }, 12000); + + const { error: signInError } = await supabase.auth.signInWithPassword({ + email: normalizedEmail, + password, + }); + + if (signInError) { + if (signInTimeoutRef.current) { + clearTimeout(signInTimeoutRef.current); + signInTimeoutRef.current = null; + } + + if (signInError.message.toLowerCase().includes('email not confirmed')) { + await supabase.auth.resend({ type: 'signup', email: normalizedEmail }); + localStorage.setItem( + 'kumusha_pending_verification_email', + normalizedEmail + ); + history.push('/verify-email', { + state: { email: normalizedEmail, resent: true }, + }); + } else { + showError(signInError.message); + } + setLoading(false); + return; + } + // Success: keep loading=true, wait for user/profile effect or timeout fallback + }; + + const handleGoogleSignIn = async () => { + if (!Capacitor.isNativePlatform()) { + showError( + 'Google Sign-In is only available in the native app. Use email to sign in here.' + ); + return; + } + try { + setLoading(true); + const result = await FirebaseAuthentication.signInWithGoogle(); + if (!result.credential?.idToken) throw new Error('Missing ID token'); + + const { error } = await supabase.auth.signInWithIdToken({ + provider: 'google', + token: result.credential.idToken, + }); + if (error) throw error; + // keep loading true + } catch (err: any) { + showError(err.message || 'Google sign in failed'); + setLoading(false); + } + }; + + const handleAppleSignIn = async () => { + if (!Capacitor.isNativePlatform()) { + showError( + 'Apple Sign-In is only available in the native app. Use email to sign in here.' + ); + return; + } + try { + setLoading(true); + const result = await FirebaseAuthentication.signInWithApple({ + skipNativeAuth: true, + }); + if (!result.credential?.idToken || !result.credential?.nonce) + throw new Error('Missing token or nonce'); + + const displayName = result.user?.displayName ?? null; + + const { data, error } = await supabase.auth.signInWithIdToken({ + provider: 'apple', + token: result.credential.idToken, + nonce: result.credential.nonce, + }); + if (error) throw error; + + if (displayName && data.user) { + const firstName = displayName.split(' ')[0] || 'Apple'; + const lastName = displayName.split(' ').slice(1).join(' ') || 'User'; + + await supabase.from('profiles').upsert( + { + id: data.user.id, + full_name: displayName, + first_name: firstName, + last_name: lastName, + phone: 'Pending', + country_of_residence: 'Pending', + }, + { onConflict: 'id' } + ); + } + } catch (err: any) { + showError(err.message || 'Apple sign in failed'); + setLoading(false); + } + }; + + return ( + + +
+
+

Kumusha

+

Take care of home from anywhere

+

+ Support your family with trusted vouchers, airtime, medication, + and electricity in just a few taps. +

+
+ +
+
+ + +
+ +
+ + + {error ? ( +
{error}
+ ) : null} + + {tab === 'login' && ( +
+ Secure email sign in + +
+ )} + + + + +
+ Or continue with +
+ +
+ + +
+
+
+
+
+ ); +}; + +export default AuthPage; diff --git a/src/pages/EditProfilePage.tsx b/src/pages/EditProfilePage.tsx new file mode 100644 index 0000000..627f4ed --- /dev/null +++ b/src/pages/EditProfilePage.tsx @@ -0,0 +1,330 @@ +import React, { useEffect, useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonInput, + IonPage, + IonTitle, + IonToolbar, +} from '@ionic/react'; +import { chevronBackOutline } from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import AvatarPicker from '../components/AvatarPicker'; +import '../styles/profile.css'; + +type Profile = { + id: string; + first_name: string; + last_name: string; + phone: string; + country_of_residence: string; + avatar_path: string | null; +}; + +type PreviewProfilePayload = { + first_name: string; + last_name: string; + phone: string; + country_of_residence: string; + avatar_url: string | null; + notification_push_enabled: boolean; + notification_email_enabled: boolean; + notification_sms_enabled: boolean; +}; + +const PREVIEW_PROFILE_STORAGE_KEY = 'kumusha-preview-profile'; + +const getPreviewProfilePayload = (): PreviewProfilePayload => { + const fallback: PreviewProfilePayload = { + first_name: 'Sarah', + last_name: 'Moyo', + phone: '+44 7123 456789', + country_of_residence: 'United Kingdom', + avatar_url: null, + notification_push_enabled: true, + notification_email_enabled: true, + notification_sms_enabled: false, + }; + + try { + const saved = localStorage.getItem(PREVIEW_PROFILE_STORAGE_KEY); + return saved ? { ...fallback, ...JSON.parse(saved) } : fallback; + } catch { + return fallback; + } +}; + +const savePreviewProfilePayload = (payload: PreviewProfilePayload) => { + localStorage.setItem(PREVIEW_PROFILE_STORAGE_KEY, JSON.stringify(payload)); +}; + +const EditProfilePage: React.FC = () => { + const history = useHistory(); + const { user, refreshProfile } = useAuth(); + const [firstName, setFirstName] = useState(''); + const [lastName, setLastName] = useState(''); + const [phone, setPhone] = useState(''); + const [country, setCountry] = useState(''); + const [avatarPath, setAvatarPath] = useState(null); + const [avatarPreview, setAvatarPreview] = useState(null); + const [avatarFile, setAvatarFile] = useState(null); + const [loading, setLoading] = useState(true); + const [saving, setSaving] = useState(false); + const [error, setError] = useState(null); + + useEffect(() => { + void loadProfile(); + }, [user?.id]); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const loadProfile = async () => { + setLoading(true); + + if (!user) { + const preview = getPreviewProfilePayload(); + setFirstName(preview.first_name); + setLastName(preview.last_name); + setPhone(preview.phone); + setCountry(preview.country_of_residence); + setAvatarPath(null); + setAvatarPreview(preview.avatar_url); + setLoading(false); + return; + } + + const { data, error: loadError } = await supabase + .from('profiles') + .select('id,first_name,last_name,phone,country_of_residence,avatar_path') + .eq('id', user.id) + .single(); + + if (loadError || !data) { + showError(loadError?.message ?? 'Profile not found'); + const preview = getPreviewProfilePayload(); + setFirstName(preview.first_name); + setLastName(preview.last_name); + setPhone(preview.phone); + setCountry(preview.country_of_residence); + setAvatarPath(null); + setAvatarPreview(preview.avatar_url); + setLoading(false); + return; + } + + const profile = data as Profile; + setFirstName(profile.first_name ?? ''); + setLastName(profile.last_name ?? ''); + setPhone(profile.phone ?? ''); + setCountry(profile.country_of_residence ?? ''); + setAvatarPath(profile.avatar_path); + if (profile.avatar_path) { + const { data: signed } = await supabase.storage + .from('avatars') + .createSignedUrl(profile.avatar_path, 3600); + setAvatarPreview(signed?.signedUrl ?? null); + } + setLoading(false); + }; + + const handleAvatarChange = (event: React.ChangeEvent) => { + const file = event.target.files?.[0]; + if (!file) return; + + const reader = new FileReader(); + reader.onload = () => { + setAvatarFile(file); + setAvatarPreview( + typeof reader.result === 'string' ? reader.result : null + ); + }; + reader.onerror = () => { + showError( + 'We could not preview that image. Please choose another photo.' + ); + }; + reader.readAsDataURL(file); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + const cleanFirstName = firstName.trim(); + const cleanLastName = lastName.trim(); + const cleanPhone = phone.trim(); + const cleanCountry = country.trim(); + + if (!cleanFirstName || !cleanLastName || !cleanPhone || !cleanCountry) { + showError('Please complete all fields'); + return; + } + + if (!user) { + setSaving(true); + savePreviewProfilePayload({ + ...getPreviewProfilePayload(), + first_name: cleanFirstName, + last_name: cleanLastName, + phone: cleanPhone, + country_of_residence: cleanCountry, + avatar_url: avatarPreview, + }); + setSaving(false); + history.replace('/profile'); + return; + } + + setSaving(true); + let nextAvatarPath = avatarPath; + if (avatarFile) { + const extension = avatarFile.name.split('.').pop() || 'jpg'; + nextAvatarPath = `${user.id}/${Date.now()}.${extension}`; + const { error: uploadError } = await supabase.storage + .from('avatars') + .upload(nextAvatarPath, avatarFile); + if (uploadError) { + showError(uploadError.message); + setSaving(false); + return; + } + } + + const { error: updateError } = await supabase + .from('profiles') + .update({ + first_name: cleanFirstName, + last_name: cleanLastName, + full_name: `${cleanFirstName} ${cleanLastName}`, + phone: cleanPhone, + country_of_residence: cleanCountry, + avatar_path: nextAvatarPath, + updated_at: new Date().toISOString(), + }) + .eq('id', user.id); + + if (updateError) { + showError(updateError.message); + setSaving(false); + return; + } + + await refreshProfile(); + setSaving(false); + history.replace('/profile'); + }; + + const initials = `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/profile') + } + aria-label="Go back" + > + + + + + Edit profile + + + + + +
+
+ + setFirstName(event.detail.value ?? '')} + /> + setLastName(event.detail.value ?? '')} + /> + setPhone(event.detail.value ?? '')} + /> + setCountry(event.detail.value ?? '')} + /> + {error && ( +

+ {error} +

+ )} +
+ + + {saving ? 'Saving...' : 'Save profile'} + +
+
+
+ ); +}; + +export default EditProfilePage; diff --git a/src/pages/ForgotPasswordPage.tsx b/src/pages/ForgotPasswordPage.tsx new file mode 100644 index 0000000..f39bc9a --- /dev/null +++ b/src/pages/ForgotPasswordPage.tsx @@ -0,0 +1,207 @@ +import React, { useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonInput, + IonPage, + IonTitle, + IonToolbar, +} from '@ionic/react'; +import { chevronBackOutline, keyOutline } from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import '../styles/auth.css'; + +const ForgotPasswordPage: React.FC = () => { + const history = useHistory(); + const [email, setEmail] = useState(''); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [status, setStatus] = useState(null); + + const showMessage = (message: string, kind: 'error' | 'status') => { + if (kind === 'error') { + setError(message); + setStatus(null); + setTimeout(() => setError(null), 4000); + } else { + setStatus(message); + setError(null); + setTimeout(() => setStatus(null), 4000); + } + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + + const normalizedEmail = email.trim().toLowerCase(); + if (!normalizedEmail) { + showMessage('Enter your email address to continue', 'error'); + return; + } + + setLoading(true); + setError(null); + setStatus(null); + + const { error: resetError } = + await supabase.auth.resetPasswordForEmail(normalizedEmail); + + if (resetError) { + showMessage(resetError.message, 'error'); + setLoading(false); + return; + } + + showMessage('Reset code sent', 'status'); + setLoading(false); + history.push('/verify-reset', { state: { email: normalizedEmail } }); + }; + + return ( + + + + + history.goBack()} + style={ + { + '--color': '#111827', + '--border-radius': '12px', + } as React.CSSProperties + } + aria-label="Go back" + > + + + + + Reset password + + + + + +
+
+
+ +
+
+

Forgot your password?

+

+ Enter your account email and we'll send you a 6-digit reset + code. +

+
+
+ +
+ setEmail(event.detail.value ?? '')} + disabled={loading} + placeholder="you@example.com" + style={ + { + '--background': '#fafafa', + '--border-radius': '12px', + '--padding-start': '14px', + '--padding-end': '14px', + '--highlight-color-focused': '#6d28d9', + } as React.CSSProperties + } + /> + + {error && ( +

+ {error} +

+ )} + {status && ( +

+ {status} +

+ )} + + + {loading ? 'Sending code...' : 'Send reset code'} + + + +
+

+ Remembered it?{' '} + +

+
+
+
+
+ ); +}; + +export default ForgotPasswordPage; diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx new file mode 100644 index 0000000..3a4203e --- /dev/null +++ b/src/pages/Home.tsx @@ -0,0 +1,30 @@ +import React from "react"; +import { + IonContent, + IonHeader, + IonPage, + IonTitle, + IonToolbar, +} from "@ionic/react"; + +const Home: React.FC = () => ( + + + + Home + + + +
+
+

Welcome to your new app

+

+ Chat with the assistant to start adding features and pages +

+
+
+
+
+); + +export default Home; diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx new file mode 100644 index 0000000..6caef1e --- /dev/null +++ b/src/pages/HomePage.tsx @@ -0,0 +1,1072 @@ +import React, { useState } from 'react'; +import { + IonContent, + IonIcon, + IonPage, + useIonViewWillEnter, +} from '@ionic/react'; +import { useHistory } from 'react-router-dom'; +import { + chevronForwardOutline, + ellipsisVertical, + flashOutline, + heart, + notificationsOutline, + phonePortraitOutline, + checkmarkCircleOutline, + timeOutline, + wifiOutline, + medkitOutline, +} from 'ionicons/icons'; +import sarahImage from '../assets/sarah.jpg'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import basketIcon from '../assets/basket.png'; +import { setStatusBarStyle, Style } from '../utils/statusBar'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import DashboardSkeleton from '../components/DashboardSkeleton'; +import '../styles/home.css'; + +type ActivityStatusTone = 'success' | 'warning' | 'info' | 'partial'; + +type HomeAlert = { + id: string; + scheduleId: string; + recipientId: string; + serviceType: string; + title: string; + subtitle: string; + icon: string; + iconType?: 'ion' | 'image'; + tone: 'grocery' | 'medication' | 'airtime' | 'electricity' | 'default'; + cta: string; +}; + +type HomeRenderableIcon = { + iconType: 'ion' | 'image'; + icon?: any; + iconSrc?: string; + iconAlt?: string; +}; + +type SupportCategoryTone = 'grocery' | 'medication' | 'airtime' | 'electricity'; + +const quickActions: Array< + HomeRenderableIcon & { + label: string; + helper: string; + tone: SupportCategoryTone; + } +> = [ + { + label: 'Grocery', + helper: 'Voucher for partner stores', + iconType: 'image', + iconSrc: basketIcon, + iconAlt: 'Groceries', + tone: 'grocery', + }, + { + label: 'Medication', + helper: 'Voucher for trusted pharmacies', + iconType: 'ion', + icon: medkitOutline, + tone: 'medication', + }, + { + label: 'Airtime & Data', + helper: 'Top up mobile credit quickly', + iconType: 'ion', + icon: wifiOutline, + tone: 'airtime', + }, + { + label: 'Electricity', + helper: 'Send ZESA meter support', + iconType: 'ion', + icon: flashOutline, + tone: 'electricity', + }, +]; + +const renderHomeIcon = (item: HomeRenderableIcon) => { + if (item.iconType === 'image' && item.iconSrc) { + const isPill = item.iconSrc.includes('pill'); + const isBasket = item.iconSrc.includes('basket'); + return ( + {item.iconAlt + ); + } + + return item.icon ? : null; +}; + +const HomePage: React.FC = () => { + const history = useHistory(); + const { user, profileStatus } = useAuth(); + const [alerts, setAlerts] = useState([]); + const [alertsLoading, setAlertsLoading] = useState(true); + const [alertsError, setAlertsError] = useState(null); + const [lovedOnes, setLovedOnes] = useState([]); + const [lovedOnesLoading, setLovedOnesLoading] = useState(true); + const [lovedOnesError, setLovedOnesError] = useState(null); + const [activities, setActivities] = useState([]); + const [activitiesLoading, setActivitiesLoading] = useState(true); + const [activitiesError, setActivitiesError] = useState(null); + + const formatRelativeSupportDate = (value?: string | null) => { + if (!value) return 'No support yet'; + + const date = new Date(value); + if (Number.isNaN(date.getTime())) return 'Recent support'; + + const today = new Date(); + const startOfToday = new Date( + today.getFullYear(), + today.getMonth(), + today.getDate() + ); + const startOfDate = new Date( + date.getFullYear(), + date.getMonth(), + date.getDate() + ); + const diffDays = Math.floor( + (startOfToday.getTime() - startOfDate.getTime()) / 86_400_000 + ); + + if (diffDays <= 0) return 'Last support: today'; + if (diffDays === 1) return 'Last support: yesterday'; + if (diffDays < 30) return `Last support: ${diffDays} days ago`; + + return `Last support: ${date.toLocaleDateString(undefined, { + month: 'short', + day: 'numeric', + })}`; + }; + + const getSeededRecipientImage = ( + firstName?: string | null, + photoPath?: string | null + ) => { + const normalizedPath = photoPath?.trim().toLowerCase(); + if (normalizedPath === 'mom.jpg' || normalizedPath === 'mum.jpg') { + return momImage; + } + if (normalizedPath === 'dad.jpg' || normalizedPath === 'father.jpg') { + return dadImage; + } + + const normalizedName = firstName?.trim().toLowerCase(); + if (normalizedName === 'mum' || normalizedName === 'mom') return momImage; + if (normalizedName === 'dad' || normalizedName === 'father') { + return dadImage; + } + return null; + }; + + const getRecipientAvatarUrl = async ( + photoPath?: string | null, + firstName?: string | null + ) => { + const seededImage = getSeededRecipientImage(firstName, photoPath); + if (seededImage) return seededImage; + + if (photoPath) { + const { data: urlData } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(photoPath, 3600); + if (urlData?.signedUrl) return urlData.signedUrl; + } + + return null; + }; + + const formatAlertSubtitle = (firstName: string, dueAt?: string | null) => { + if (!dueAt) return `For ${firstName}`; + + const date = new Date(dueAt); + if (Number.isNaN(date.getTime())) return `For ${firstName}`; + + const today = new Date(); + const startOfToday = new Date( + today.getFullYear(), + today.getMonth(), + today.getDate() + ); + const startOfDate = new Date( + date.getFullYear(), + date.getMonth(), + date.getDate() + ); + const diffDays = Math.round( + (startOfDate.getTime() - startOfToday.getTime()) / 86_400_000 + ); + + if (diffDays < 0) return `For ${firstName} · overdue`; + if (diffDays === 0) return `For ${firstName} · today`; + if (diffDays === 1) return `For ${firstName} · tomorrow`; + return `For ${firstName} · in ${diffDays} days`; + }; + + const getAlertPresentation = (serviceType: string) => { + switch (serviceType) { + case 'grocery': + return { + title: 'Grocery', + icon: basketIcon, + tone: 'grocery' as const, + cta: 'Send support', + }; + case 'medication': + return { + title: 'Medication', + icon: medkitOutline, + tone: 'medication' as const, + cta: 'Send support', + }; + case 'airtime': + return { + title: 'Airtime', + icon: phonePortraitOutline, + tone: 'airtime' as const, + cta: 'Top up', + }; + case 'electricity': + return { + title: 'Electricity', + icon: flashOutline, + tone: 'electricity' as const, + cta: 'Top up', + }; + default: + return { + title: 'Support', + icon: timeOutline, + tone: 'default' as const, + cta: 'Send support', + }; + } + }; + + const getActivityStatusTone = ( + serviceType: string, + status: string + ): ActivityStatusTone => { + const normalizedStatus = status.toLowerCase(); + const normalizedService = serviceType.toLowerCase(); + const isVoucherService = + normalizedService === 'grocery' || normalizedService === 'medication'; + + if (isVoucherService) { + if (normalizedStatus.includes('redeemed')) return 'success'; + if (normalizedStatus.includes('partial')) return 'partial'; + return 'warning'; + } + + if ( + normalizedStatus.includes('completed') || + normalizedStatus.includes('active') + ) { + return 'success'; + } + + if ( + normalizedStatus.includes('delivered') || + normalizedStatus.includes('created') || + normalizedStatus === 'ready_for_redemption' + ) { + return 'warning'; + } + + return 'info'; + }; + + const getActivityStatusLabel = (serviceType: string, status: string) => { + const normalizedService = serviceType.toLowerCase(); + const normalizedStatus = status.toLowerCase(); + const isVoucherService = + normalizedService === 'grocery' || normalizedService === 'medication'; + + if (isVoucherService) { + if (normalizedStatus.includes('redeemed')) return 'redeemed'; + if (normalizedStatus.includes('partial')) return 'partial'; + return 'created'; + } + + if (normalizedStatus === 'ready_for_redemption') return 'created'; + + return normalizedStatus.replace(/_/g, ' '); + }; + + useIonViewWillEnter(() => { + setStatusBarStyle(Style.Light); + loadHomePageData(); + }); + + const loadHomePageData = async () => { + const activeUserId = user?.id ?? '00000000-0000-0000-0000-000000000000'; + + setAlertsLoading(true); + setAlertsError(null); + setLovedOnesLoading(true); + setLovedOnesError(null); + setActivitiesLoading(true); + setActivitiesError(null); + + const { data: alertsData, error: alertsErr } = await supabase + .from('care_alerts') + .select('id, title, body, severity, service_type, due_at, recipient_id') + .eq('user_id', activeUserId) + .is('dismissed_at', null) + .order('due_at', { ascending: true, nullsFirst: false }) + .limit(5); + + if (alertsErr) { + console.error('[home care alerts]', alertsErr); + setAlertsError('Could not load care alerts'); + setAlerts([]); + } else if (alertsData) { + const recipientIds = Array.from( + new Set(alertsData.map((alert) => alert.recipient_id).filter(Boolean)) + ); + const recipientNameById = new Map(); + + if (recipientIds.length > 0) { + const { data: alertRecipients, error: alertRecipientsError } = + await supabase + .from('recipients') + .select('id, first_name') + .in('id', recipientIds); + + if (alertRecipientsError) { + console.error('[home care alert recipients]', alertRecipientsError); + } + + (alertRecipients || []).forEach((recipient) => { + recipientNameById.set(recipient.id, recipient.first_name); + }); + } + + setAlerts( + alertsData.map((alert) => { + const presentation = getAlertPresentation( + alert.service_type || 'default' + ); + const firstName = + recipientNameById.get(alert.recipient_id) || 'Loved one'; + return { + id: alert.id, + scheduleId: alert.id, + recipientId: alert.recipient_id, + serviceType: alert.service_type || 'support', + title: presentation.title, + subtitle: formatAlertSubtitle(firstName, alert.due_at), + icon: presentation.icon, + iconType: presentation.icon === basketIcon ? 'image' : 'ion', + tone: presentation.tone, + cta: presentation.cta, + }; + }) + ); + } else { + setAlerts([]); + } + setAlertsLoading(false); + + const { data: recipientsData, error: recipientsErr } = await supabase + .from('recipients') + .select( + 'id, first_name, last_name, country, city, photo_path, relationship' + ) + .eq('user_id', activeUserId); + + if (recipientsErr) { + setLovedOnesError('Could not load loved ones'); + } else if (recipientsData) { + const mappedLovedOnes = await Promise.all( + recipientsData.map(async (rec: any) => { + const avatarUrl = await getRecipientAvatarUrl( + rec.photo_path, + rec.first_name + ); + const { data: recentOrders } = await supabase + .from('support_orders') + .select('service_type, status, created_at, merchants(name)') + .eq('recipient_id', rec.id) + .eq('user_id', activeUserId) + .order('created_at', { ascending: false }) + .limit(8); + + const serviceTiePriority: Record = { + grocery: 0, + medication: 1, + electricity: 2, + airtime: 3, + }; + + const ordersForSelection = [...(recentOrders || [])].sort( + (a: any, b: any) => { + const timeDiff = + new Date(b.created_at).getTime() - + new Date(a.created_at).getTime(); + if (timeDiff !== 0) return timeDiff; + return ( + (serviceTiePriority[a.service_type] ?? 99) - + (serviceTiePriority[b.service_type] ?? 99) + ); + } + ); + + const voucherPrimaryOrder = ordersForSelection.find((order: any) => + ['grocery', 'medication'].includes(order.service_type) + ); + const primaryOrder = voucherPrimaryOrder ?? ordersForSelection[0]; + const orderedStatuses = [ + ...(primaryOrder ? [primaryOrder] : []), + ...ordersForSelection.filter( + (order: any) => order !== primaryOrder + ), + ].slice(0, 3); + + const statuses = orderedStatuses.map((order: any) => { + const tone = getAlertPresentation(order.service_type).tone; + const isSuccess = + order.status === 'redeemed' || order.status === 'completed'; + + let detail = getActivityStatusLabel( + order.service_type, + order.status + ); + if (order.status === 'redeemed' && order.merchants?.name) { + detail = `redeemed • ${order.merchants.name}`; + } + + return { + iconType: tone === 'grocery' ? 'image' : 'ion', + iconSrc: tone === 'grocery' ? basketIcon : undefined, + icon: + tone !== 'grocery' + ? getAlertPresentation(order.service_type).icon + : undefined, + iconAlt: order.service_type, + label: + order.service_type === 'grocery' + ? 'Grocery voucher' + : order.service_type === 'medication' + ? 'Medication voucher' + : order.service_type === 'electricity' + ? 'Electricity' + : order.service_type === 'airtime' + ? 'Airtime' + : `${order.service_type.charAt(0).toUpperCase()}${order.service_type.slice(1)}`, + detail, + status: isSuccess ? 'success' : 'warning', + iconTone: tone, + serviceType: order.service_type, + }; + }); + + const primaryTone = primaryOrder + ? getAlertPresentation(primaryOrder.service_type).tone + : 'grocery'; + const repeatCta = + primaryOrder?.service_type === 'medication' + ? 'Send Medication' + : primaryOrder?.service_type === 'airtime' + ? 'Top Up Again' + : primaryOrder?.service_type === 'electricity' + ? 'Send Electricity' + : 'Send Groceries'; + + return { + id: rec.id, + name: rec.first_name, + emoji: + rec.relationship === 'Mother' || rec.first_name === 'Mum' + ? '💜' + : '💚', + location: `${rec.city || ''}, ${rec.country || ''}`.replace( + /^, | , $/g, + '' + ), + cardTone: rec.first_name === 'Mum' ? 'lavender' : 'mint', + avatar: avatarUrl, + fallbackInitial: rec.first_name?.charAt(0)?.toUpperCase() ?? '?', + lastSupportLabel: formatRelativeSupportDate( + primaryOrder?.created_at + ), + repeatCta, + repeatAction: { + iconType: primaryTone === 'grocery' ? 'image' : 'ion', + iconSrc: primaryTone === 'grocery' ? basketIcon : undefined, + icon: + primaryTone !== 'grocery' && primaryOrder + ? getAlertPresentation(primaryOrder.service_type).icon + : undefined, + tone: primaryTone as SupportCategoryTone, + }, + statuses, + primaryServiceType: primaryOrder?.service_type ?? 'grocery', + }; + }) + ); + setLovedOnes(mappedLovedOnes); + } + setLovedOnesLoading(false); + + const { data: recentActivityData, error: activityErr } = await supabase + .from('support_orders') + .select( + 'id, service_type, status, amount, created_at, recipient_id, merchant_id' + ) + .eq('user_id', activeUserId) + .order('created_at', { ascending: false }) + .limit(5); + + if (activityErr) { + setActivitiesError('Could not load activity'); + } else if (recentActivityData) { + const activityRecipientIds = Array.from( + new Set( + recentActivityData + .map((activity) => activity.recipient_id) + .filter(Boolean) + ) + ); + const activityMerchantIds = Array.from( + new Set( + recentActivityData + .map((activity) => activity.merchant_id) + .filter(Boolean) + ) + ); + const recipientsById = new Map< + string, + { first_name: string; photo_path: string | null } + >(); + const merchantsById = new Map(); + + if (activityRecipientIds.length > 0) { + const { data: activityRecipients } = await supabase + .from('recipients') + .select('id, first_name, photo_path') + .in('id', activityRecipientIds); + + (activityRecipients || []).forEach((recipient) => { + recipientsById.set(recipient.id, { + first_name: recipient.first_name, + photo_path: recipient.photo_path, + }); + }); + } + + if (activityMerchantIds.length > 0) { + const { data: activityMerchants } = await supabase + .from('merchants') + .select('id, name') + .in('id', activityMerchantIds); + + (activityMerchants || []).forEach((merchant) => { + merchantsById.set(merchant.id, merchant.name); + }); + } + + const mappedActivity = await Promise.all( + recentActivityData.map(async (act) => { + const recipient = recipientsById.get(act.recipient_id); + const avatarUrl = await getRecipientAvatarUrl( + recipient?.photo_path, + recipient?.first_name + ); + const tone = getAlertPresentation(act.service_type).tone; + + const activityTitle = + act.service_type === 'grocery' + ? 'Grocery voucher' + : act.service_type === 'medication' + ? 'Medication voucher' + : act.service_type === 'airtime' + ? 'Airtime' + : act.service_type === 'data' + ? 'Data' + : act.service_type === 'electricity' + ? 'Electricity' + : `${act.service_type.charAt(0).toUpperCase()}${act.service_type.slice(1)}`; + + return { + id: act.id, + recipientId: act.recipient_id, + title: activityTitle, + subtitle: + (act.merchant_id && merchantsById.get(act.merchant_id)) || + `For ${recipient?.first_name || 'Loved one'}`, + amount: `${Number(act.amount).toFixed(2)}`, + status: getActivityStatusLabel(act.service_type, act.status), + tone: getActivityStatusTone(act.service_type, act.status), + icon: { + iconType: tone === 'grocery' ? 'image' : 'ion', + iconSrc: tone === 'grocery' ? basketIcon : undefined, + icon: + tone !== 'grocery' + ? getAlertPresentation(act.service_type).icon + : undefined, + }, + iconTone: tone, + avatar: avatarUrl, + fallbackInitial: + recipient?.first_name?.charAt(0)?.toUpperCase() ?? '?', + }; + }) + ); + setActivities(mappedActivity); + } + setActivitiesLoading(false); + }; + + const handleAlertTap = (alert: HomeAlert) => { + history.push('/support/new', { + recipientId: alert.recipientId, + serviceType: alert.serviceType, + }); + }; + + const handleSupportClick = (serviceType?: SupportCategoryTone) => { + history.push('/support/new', serviceType ? { serviceType } : undefined); + }; + + const handleRecipientsClick = () => { + history.push('/recipients'); + }; + + const isPreviewMode = !user; + const showInitialDashboardSkeleton = + !isPreviewMode && + profileStatus === 'loading' && + lovedOnesLoading && + activitiesLoading && + alertsLoading && + lovedOnes.length === 0 && + activities.length === 0 && + alerts.length === 0; + + return ( + + + {showInitialDashboardSkeleton ? ( + + ) : ( +
+
+
+
+ Sarah +
+
+

Hi Sarah 👋

+
+
+ + +
+ +
+
+

Supporting 2 loved ones ❤️

+
+
+
+ +
+
+

This Month

+

$185 Sent

+
+
+
+ + {(alertsLoading || alertsError || alerts.length > 0) && ( + <> +
+

Care Alerts

+
+ +
+ {alertsLoading && alerts.length === 0 ? ( +
+
+
+
+ + + +
+
+
+ ) : alertsError ? ( +
+

{alertsError}

+
+ ) : alerts.length > 0 ? ( +
+ {[...alerts, ...alerts].map((alert, index) => ( + + ))} +
+ ) : null} +
+ + )} + +
+

Your Loved Ones

+ +
+ +
+ {lovedOnesLoading && lovedOnes.length === 0 ? ( +
+
+
+
+
+

Loading...

+
+
+
+
+ ) : lovedOnesError ? ( +

{lovedOnesError}

+ ) : lovedOnes.length === 0 ? ( +
+
+ +
+

No loved ones yet

+

+ Add family members to start supporting them. +

+ +
+ ) : ( + lovedOnes.map((person) => ( +
+
+
+
+ {person.avatar ? ( + {person.name} + ) : ( + + {person.fallbackInitial} + + )} + +
+ +
+

+ {person.name} {person.emoji} +

+

+ {person.lastSupportLabel} +

+
+
+ + +
+ +
+ {person.statuses.length > 0 ? ( + person.statuses.map((item: any) => { + const isSuccess = item.status === 'success'; + return ( +
+
+ {renderHomeIcon(item)} +
+
+

+ {item.label} +

+

+ {item.detail} +

+
+ +
+ ); + }) + ) : ( +
+ + No support sent yet +
+ )} +
+ + +
+ )) + )} +
+ +
+ + + +
+ +
+

Send Support

+
+ +
+ {quickActions.map((action) => ( + + ))} +
+ +
+

Family Updates

+ +
+ +
+ {activitiesLoading && activities.length === 0 ? ( +
+ Loading activity... +
+ ) : activitiesError ? ( +
+

{activitiesError}

+
+ ) : activities.length === 0 ? ( +
+
+ +
+

No recent activity

+

+ Support history will appear here once you send support. +

+ +
+ ) : ( + activities.map((activity, index) => ( + + )) + )} +
+
+ )} + + + ); +}; + +export default HomePage; diff --git a/src/pages/NotificationsPage.tsx b/src/pages/NotificationsPage.tsx new file mode 100644 index 0000000..311216a --- /dev/null +++ b/src/pages/NotificationsPage.tsx @@ -0,0 +1,241 @@ +import React, { useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonPage, + IonSkeletonText, + IonTitle, + IonToolbar, + useIonViewWillEnter, +} from '@ionic/react'; +import { + alertCircleOutline, + chevronBackOutline, + chevronForwardOutline, + notificationsOutline, +} from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import '../styles/activity.css'; +import '../styles/recipients.css'; + +type NotificationRow = { + id: string; + title: string; + body: string; + priority: string; + type: string; + read_at: string | null; + created_at: string; + order_id: string | null; + voucher_id: string | null; +}; + +const NotificationsPage: React.FC = () => { + const history = useHistory(); + const { user } = useAuth(); + const [notifications, setNotifications] = useState([]); + const [loading, setLoading] = useState(true); + const [markingAll, setMarkingAll] = useState(false); + const [error, setError] = useState(null); + + useIonViewWillEnter(() => { + void loadNotifications(); + }); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const loadNotifications = async () => { + if (!user) return; + setLoading(true); + setError(null); + + const { data, error: loadError } = await supabase + .from('notifications') + .select( + 'id,title,body,priority,type,read_at,created_at,order_id,voucher_id' + ) + .eq('user_id', user.id) + .order('created_at', { ascending: false }); + + if (loadError) { + showError(loadError.message); + setLoading(false); + return; + } + + setNotifications((data ?? []) as NotificationRow[]); + setLoading(false); + }; + + const markRead = async (notificationId: string) => { + const readAt = new Date().toISOString(); + setNotifications((current) => + current.map((item) => + item.id === notificationId ? { ...item, read_at: readAt } : item + ) + ); + await supabase.functions.invoke('mark-notification-read', { + body: { notificationId }, + }); + }; + + const handleOpenNotification = async (notification: NotificationRow) => { + if (!notification.read_at) { + await markRead(notification.id); + } + if (notification.voucher_id) { + history.push(`/voucher/${notification.voucher_id}`); + } else if (notification.order_id) { + history.push(`/activity/${notification.order_id}`); + } + }; + + const handleMarkAllRead = async () => { + if (!user) return; + setMarkingAll(true); + const readAt = new Date().toISOString(); + const { error: updateError } = await supabase + .from('notifications') + .update({ read_at: readAt }) + .eq('user_id', user.id) + .is('read_at', null); + + if (updateError) { + showError(updateError.message); + } else { + setNotifications((current) => + current.map((item) => ({ ...item, read_at: item.read_at ?? readAt })) + ); + } + setMarkingAll(false); + }; + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/profile') + } + aria-label="Go back" + > + + + + + Notifications + + + + Mark all + + + + + + + {error && ( +

+ {error} +

+ )} + + {loading ? ( +
+ {[1, 2, 3].map((item) => ( +
+ +
+ + +
+
+ ))} +
+ ) : notifications.length === 0 ? ( +
+ +

No notifications yet

+

+ Important payment and voucher updates will appear here. +

+
+ ) : ( +
+ {notifications.map((notification) => ( + + ))} +
+ )} +
+
+ ); +}; + +export default NotificationsPage; diff --git a/src/pages/OrderDetailPage.tsx b/src/pages/OrderDetailPage.tsx new file mode 100644 index 0000000..d43c1b3 --- /dev/null +++ b/src/pages/OrderDetailPage.tsx @@ -0,0 +1,882 @@ +import React, { useMemo, useState } from 'react'; +import { QRCodeSVG } from 'qrcode.react'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonPage, + IonSkeletonText, + IonTitle, + IonToolbar, + useIonViewWillEnter, +} from '@ionic/react'; +import { + callOutline, + cashOutline, + chevronBackOutline, + flashOutline, + medkitOutline, + paperPlaneOutline, + phonePortraitOutline, + repeatOutline, + shareOutline, + storefrontOutline, +} from 'ionicons/icons'; +import basketIcon from '../assets/basket.png'; +import { useHistory, useParams } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import '../styles/support.css'; + +type Params = { id: string }; + +type Merchant = { + id: string; + name: string; + branch_name: string | null; + city: string; + country: string; +}; + +type RecipientSummary = { + first_name: string; + last_name: string; + city: string; + country: string; + mobile_number?: string | null; + photo_path?: string | null; +}; + +type OrderDetail = { + id: string; + service_type: string; + amount: number; + platform_fee: number; + total_amount: number; + currency: string; + status: string; + network: string | null; + meter_number: string | null; + payment_method: string | null; + created_at: string; + recipient_id: string; + merchant_id: string | null; + recipients?: RecipientSummary | null; + merchants?: Merchant | null; +}; + +type VoucherRedemption = { + id: string; + redeemed_amount: number | null; + redeemed_at: string | null; + merchant_id: string | null; + merchant_name?: string | null; +}; + +type Voucher = { + id: string; + voucher_code: string; + status: string; + expires_at: string; + redeemed_at: string | null; + redeemed_merchant_id: string | null; + voucher_redemptions?: VoucherRedemption[] | null; +}; + +const previewUserId = '00000000-0000-0000-0000-000000000000'; + +type ServiceTheme = { + icon?: string; + iconImageSrc?: string; + headerIcon?: string; + headerIconImageSrc?: string; + iconClassName: string; + cardClassName: string; + accent: string; + soft: string; + label: string; + explicitTitle: string; +}; + +const getServiceTheme = (type: string): ServiceTheme => { + if (type === 'medication') { + return { + icon: medkitOutline, + headerIcon: medkitOutline, + iconClassName: 'support-service-image support-service-image-medication', + cardClassName: 'order-service-card order-service-card-medication', + accent: '#16a34a', + soft: 'rgba(22, 163, 74, 0.1)', + label: 'Medication voucher', + explicitTitle: 'Medication support', + }; + } + + if (type === 'airtime') { + return { + icon: phonePortraitOutline, + headerIcon: phonePortraitOutline, + iconClassName: 'support-service-icon-vector', + cardClassName: 'order-service-card order-service-card-airtime', + accent: '#2563eb', + soft: 'rgba(37, 99, 235, 0.1)', + label: 'Airtime & Data', + explicitTitle: 'Airtime support', + }; + } + + if (type === 'electricity') { + return { + icon: flashOutline, + headerIcon: flashOutline, + iconClassName: 'support-service-icon-vector', + cardClassName: 'order-service-card order-service-card-electricity', + accent: '#d97706', + soft: 'rgba(245, 158, 11, 0.12)', + label: 'Electricity', + explicitTitle: 'Electricity support', + }; + } + + return { + iconImageSrc: basketIcon, + headerIcon: storefrontOutline, + headerIconImageSrc: basketIcon, + iconClassName: + 'support-service-image support-service-image-grocery order-detail-basket-image', + cardClassName: 'order-service-card order-service-card-grocery', + accent: '#6d28d9', + soft: 'rgba(109, 40, 217, 0.1)', + label: 'Grocery voucher', + explicitTitle: 'Grocery support', + }; +}; + +const isVoucherService = (serviceType: string) => + serviceType === 'grocery' || serviceType === 'medication'; + +const getDisplayStatus = ( + order: OrderDetail | null, + voucher: Voucher | null +) => { + if (!order) return 'Created'; + const combinedStatus = `${order.status} ${voucher?.status ?? ''}` + .toLowerCase() + .replace(/_/g, ' '); + + if (isVoucherService(order.service_type)) { + if (combinedStatus.includes('partial')) return 'Partially'; + if ( + combinedStatus.includes('redeemed') || + voucher?.redeemed_at || + voucher?.redeemed_merchant_id || + (voucher?.voucher_redemptions?.length ?? 0) > 0 + ) { + return 'Redeemed'; + } + return 'Created'; + } + + if ( + combinedStatus.includes('completed') || + combinedStatus.includes('delivered') || + combinedStatus.includes('active') + ) { + return 'Completed'; + } + + return 'Created'; +}; + +const formatMoney = (amount: number, currency = 'USD') => + new Intl.NumberFormat(undefined, { + style: 'currency', + currency: currency || 'USD', + }).format(amount); + +const formatDateTime = (dateString: string | null) => { + if (!dateString) return '—'; + const date = new Date(dateString); + const day = date.getDate(); + const month = date.toLocaleString('en-GB', { month: 'short' }); + const year = date.getFullYear(); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + return `${day} ${month} ${year}, ${hours}:${minutes}`; +}; + +const getMerchantDisplayName = (merchant?: Merchant | null) => { + if (!merchant) return null; + return `${merchant.name}${merchant.branch_name ? ` ${merchant.branch_name}` : ''}`; +}; + +const getSeededRecipientImage = ( + firstName?: string | null, + photoPath?: string | null +) => { + const normalizedPath = photoPath?.trim().toLowerCase(); + if (normalizedPath === 'mom.jpg' || normalizedPath === 'mum.jpg') { + return momImage; + } + if (normalizedPath === 'dad.jpg' || normalizedPath === 'father.jpg') { + return dadImage; + } + + const normalizedName = firstName?.trim().toLowerCase(); + if (normalizedName === 'mum' || normalizedName === 'mom') return momImage; + if (normalizedName === 'dad' || normalizedName === 'father') return dadImage; + return undefined; +}; + +const getRecipientAvatarUrl = async (recipient?: RecipientSummary | null) => { + if (!recipient) return undefined; + + const seededImage = getSeededRecipientImage( + recipient.first_name, + recipient.photo_path + ); + if (seededImage) return seededImage; + + if (!recipient.photo_path) return undefined; + + const { data } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600); + + return data?.signedUrl; +}; + +const getInitials = (name: string) => + name + .split(' ') + .map((part) => part.charAt(0)) + .join('') + .slice(0, 2) + .toUpperCase(); + +const getMerchantLabel = ( + order: OrderDetail | null, + voucher: Voucher | null, + merchantsById: Map +) => { + const latestRedemption = [...(voucher?.voucher_redemptions ?? [])].sort( + (a, b) => + new Date(b.redeemed_at ?? 0).getTime() - + new Date(a.redeemed_at ?? 0).getTime() + )[0]; + + if (latestRedemption?.merchant_name) return latestRedemption.merchant_name; + + const redemptionMerchant = latestRedemption?.merchant_id + ? merchantsById.get(latestRedemption.merchant_id) + : null; + const voucherMerchant = voucher?.redeemed_merchant_id + ? merchantsById.get(voucher.redeemed_merchant_id) + : null; + const orderMerchant = + order?.merchants ?? + (order?.merchant_id ? merchantsById.get(order.merchant_id) : null); + + return ( + getMerchantDisplayName(redemptionMerchant) ?? + getMerchantDisplayName(voucherMerchant) ?? + getMerchantDisplayName(orderMerchant) + ); +}; + +const OrderDetailPage: React.FC = () => { + const { id } = useParams(); + const history = useHistory(); + const { user } = useAuth(); + const [order, setOrder] = useState(null); + const [voucher, setVoucher] = useState(null); + const [voucherLoadState, setVoucherLoadState] = useState< + 'idle' | 'loaded' | 'missing' | 'error' + >('idle'); + const [voucherError, setVoucherError] = useState(null); + const [voucherRedemptions, setVoucherRedemptions] = useState< + VoucherRedemption[] + >([]); + const [merchantsById, setMerchantsById] = useState>( + () => new Map() + ); + const [loading, setLoading] = useState(true); + const [message, setMessage] = useState(null); + const [recipientAvatarUrl, setRecipientAvatarUrl] = useState( + null + ); + + const recipientName = order?.recipients + ? `${order.recipients.first_name} ${order.recipients.last_name}` + : 'Loved one'; + const recipientLocation = order?.recipients + ? `${order.recipients.city}, ${order.recipients.country}` + : '—'; + const serviceTheme = getServiceTheme(order?.service_type ?? 'grocery'); + const serviceName = order ? serviceTheme.label : 'Support'; + const explicitServiceTitle = order + ? serviceTheme.explicitTitle + : 'Support summary'; + const voucherWithRedemptions = voucher + ? { ...voucher, voucher_redemptions: voucherRedemptions } + : null; + const displayStatus = getDisplayStatus(order, voucherWithRedemptions); + const merchantLabel = getMerchantLabel( + order, + voucherWithRedemptions, + merchantsById + ); + const latestRedemption = [...voucherRedemptions].sort( + (a, b) => + new Date(b.redeemed_at ?? 0).getTime() - + new Date(a.redeemed_at ?? 0).getTime() + )[0]; + const createdOnLabel = order ? formatDateTime(order.created_at) : '—'; + const redeemedOnLabel = latestRedemption?.redeemed_at + ? formatDateTime(latestRedemption.redeemed_at) + : null; + const supportRouteRows = useMemo( + () => [ + { label: 'Recipient', value: recipientName }, + { label: 'Location', value: recipientLocation }, + ...(order?.recipients?.mobile_number + ? [{ label: 'Mobile number', value: order.recipients.mobile_number }] + : []), + { label: 'Created on', value: createdOnLabel }, + ...(merchantLabel + ? [ + { + label: + order?.service_type === 'grocery' || + order?.service_type === 'medication' + ? 'Merchant' + : 'Provider', + value: merchantLabel, + }, + ] + : []), + ...(redeemedOnLabel + ? [{ label: 'Redeemed on', value: redeemedOnLabel }] + : []), + ...(order?.network ? [{ label: 'Network', value: order.network }] : []), + ...(order?.meter_number + ? [{ label: 'Meter number', value: order.meter_number }] + : []), + ], + [ + createdOnLabel, + merchantLabel, + order?.meter_number, + order?.network, + order?.recipients?.mobile_number, + order?.service_type, + recipientLocation, + recipientName, + redeemedOnLabel, + ] + ); + + const showVoucherArtifact = order + ? isVoucherService(order.service_type) + : false; + + const voucherQrValue = useMemo(() => { + if (!order || !voucher || !isVoucherService(order.service_type)) { + return null; + } + + const partnerGroup = + order.service_type === 'grocery' ? 'grocery' : 'pharmacy'; + + return JSON.stringify({ + type: 'kumusha-voucher', + voucherId: voucher.id, + voucherCode: voucher.voucher_code, + supportType: order.service_type, + supportLabel: serviceName, + recipientName, + partnerGroup, + status: displayStatus, + expiresAt: voucher.expires_at, + }); + }, [displayStatus, order, recipientName, serviceName, voucher]); + + const voucherRedeemCopy = useMemo(() => { + if (!order || !showVoucherArtifact) return ''; + return `Voucher redeemable at Kumusha ${ + order.service_type === 'grocery' ? 'grocery' : 'pharmacy' + } partners.`; + }, [order, showVoucherArtifact]); + + useIonViewWillEnter(() => { + void loadOrderDetail(); + }); + + const showMessage = (text: string) => { + setMessage(text); + setTimeout(() => setMessage(null), 4000); + }; + + const loadOrderDetail = async () => { + setLoading(true); + setMessage(null); + setVoucherLoadState('idle'); + setVoucherError(null); + + const activeUserId = user?.id ?? previewUserId; + + let orderResult = await supabase + .from('support_orders') + .select( + 'id,service_type,amount,platform_fee,total_amount,currency,status,network,meter_number,payment_method,created_at,recipient_id,merchant_id,recipients(first_name,last_name,city,country,mobile_number,photo_path),merchants(id,name,branch_name,city,country)' + ) + .eq('id', id) + .eq('user_id', activeUserId) + .maybeSingle(); + + if (!orderResult.error && !orderResult.data && user?.id) { + orderResult = await supabase + .from('support_orders') + .select( + 'id,service_type,amount,platform_fee,total_amount,currency,status,network,meter_number,payment_method,created_at,recipient_id,merchant_id,recipients(first_name,last_name,city,country,mobile_number,photo_path),merchants(id,name,branch_name,city,country)' + ) + .eq('id', id) + .eq('user_id', previewUserId) + .maybeSingle(); + } + + if (orderResult.error || !orderResult.data) { + showMessage(orderResult.error?.message ?? 'Order not found'); + setOrder(null); + setVoucher(null); + setVoucherRedemptions([]); + setLoading(false); + return; + } + + const nextOrder = orderResult.data as unknown as OrderDetail; + + const [voucherResult, merchantsResult, redemptionsResult] = + await Promise.all([ + supabase + .from('vouchers') + .select( + 'id,voucher_code,status,expires_at,redeemed_at,redeemed_merchant_id' + ) + .eq('order_id', id) + .maybeSingle(), + supabase.from('merchants').select('id,name,branch_name,city,country'), + supabase + .from('voucher_redemptions') + .select('id,redeemed_amount,redeemed_at,merchant_id') + .eq('order_id', id), + ]); + + if (voucherResult.error) { + setVoucherLoadState('error'); + setVoucherError(voucherResult.error.message); + } else if ( + !voucherResult.data && + isVoucherService(nextOrder.service_type) + ) { + setVoucherLoadState('missing'); + } else if (voucherResult.data) { + setVoucherLoadState('loaded'); + } + + let nextRedemptions = (redemptionsResult.data ?? []) as VoucherRedemption[]; + + // If order-based redemptions are empty but we have a voucher, check by voucher_id + if (nextRedemptions.length === 0 && voucherResult.data) { + const fallbackRedemptions = await supabase + .from('voucher_redemptions') + .select('id,redeemed_amount,redeemed_at,merchant_id') + .eq('voucher_id', voucherResult.data.id); + if (fallbackRedemptions.data) { + nextRedemptions = fallbackRedemptions.data as VoucherRedemption[]; + } + } + + if (merchantsResult.error || redemptionsResult.error) { + showMessage( + merchantsResult.error?.message || + redemptionsResult.error?.message || + 'Some order details could not be loaded' + ); + } + + setOrder(nextOrder); + setVoucher((voucherResult.data ?? null) as Voucher | null); + setVoucherRedemptions(nextRedemptions); + setMerchantsById( + new Map( + ((merchantsResult.data ?? []) as Merchant[]).map((merchant) => [ + merchant.id, + merchant, + ]) + ) + ); + + const nextAvatarUrl = await getRecipientAvatarUrl( + nextOrder.recipients ?? null + ); + setRecipientAvatarUrl(nextAvatarUrl ?? null); + setLoading(false); + }; + + const handleShare = async () => { + const text = voucher + ? `Kumusha voucher ${voucher.voucher_code}` + : `Kumusha order ${id}`; + if (navigator.share) { + await navigator.share({ text }); + } else { + await navigator.clipboard.writeText(text); + showMessage('Copied to clipboard'); + } + }; + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/activity') + } + aria-label="Go back" + > + + + + + {explicitServiceTitle} + + {voucher && ( + + + + + + )} + + + + + {loading ? ( +
+ + +
+ ) : order ? ( + <> + {message && ( +

+ {message} +

+ )} +
+
+
+ + {displayStatus} + + + Support for {recipientName} + +
+ +
+
+

Support type

+
+
+ {serviceTheme.iconImageSrc ? ( + + ) : ( + + )} +
+
+

{serviceName}

+
+
+

+ {displayStatus === 'Redeemed' && merchantLabel + ? `Redeemed at ${merchantLabel}` + : order?.service_type === 'grocery' + ? 'Ready to use at participating grocery merchants' + : order?.service_type === 'medication' + ? 'Ready to use at participating medication merchants' + : 'Successfully delivered to recipient'} +

+
+ +
+
+ {recipientAvatarUrl ? ( + {recipientName} + ) : ( +
+ {getInitials(recipientName)} +
+ )} +
+ {serviceTheme.iconImageSrc ? ( + + ) : ( + + )} +
+
+
+
+ +
+
+ + Total paid + + + {formatMoney(Number(order.total_amount), order.currency)} + +
+
+
+ + Support amount + + + {formatMoney(Number(order.amount), order.currency)} + +
+
+
+ +
+
+
+

Order summary

+

+ Payment and support details +

+
+
+ + {showVoucherArtifact && + voucherLoadState !== 'missing' && + voucherLoadState !== 'error' && ( +
+
+
+ {voucherQrValue ? ( + + ) : ( + + )} +
+ +
+

+ Voucher code +

+

+ {voucher ? voucher.voucher_code : '...'} +

+
+
+ +
+ +
+
+ )} + +
+
+
+ Support amount + + {formatMoney(Number(order.amount), order.currency)} + +
+
+ Platform fee + + {formatMoney(Number(order.platform_fee), order.currency)} + +
+
+ Total paid + + {formatMoney(Number(order.total_amount), order.currency)} + +
+
+
+
+ +
+
+
+

Support route

+

+ Who received it and where +

+
+
+ +
+ {supportRouteRows.map((row) => ( +
+ {row.label} + {row.value} +
+ ))} +
+
+ + + history.push('/support/new', { + recipientId: order.recipient_id, + serviceType: order.service_type, + }) + } + className={`order-detail-send-again-button order-tone-${order.service_type}`} + style={ + { + margin: '4px 20px 20px', + '--border-radius': '999px', + '--box-shadow': 'none', + minHeight: '52px', + fontWeight: 700, + } as React.CSSProperties + } + > + + + Send again + + + + ) : null} + + + ); +}; + +export default OrderDetailPage; diff --git a/src/pages/OrdersPage.tsx b/src/pages/OrdersPage.tsx new file mode 100644 index 0000000..cf8cc63 --- /dev/null +++ b/src/pages/OrdersPage.tsx @@ -0,0 +1,250 @@ +import React, { useMemo, useState } from 'react'; +import { + IonContent, + IonIcon, + IonPage, + IonRefresher, + IonRefresherContent, + IonSkeletonText, + useIonViewWillEnter, +} from '@ionic/react'; +import { receiptOutline } from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import ListSearchRow from '../components/ListSearchRow'; +import OrderSummaryCard, { OrderSummary } from '../components/OrderSummaryCard'; +import '../styles/support.css'; +import '../styles/recipients.css'; + +type OrderRow = { + id: string; + service_type: string; + amount: number; + status: string; + created_at: string; + recipient_id: string; + merchant_id: string | null; + recipients?: { + first_name: string; + last_name: string; + photo_path: string | null; + } | null; + merchants?: { name: string; branch_name: string | null } | null; +}; + +const statusFilters = [ + { value: 'all', label: 'All' }, + { value: 'paid', label: 'Paid' }, + { value: 'ready_for_redemption', label: 'Ready' }, + { value: 'redeemed', label: 'Redeemed' }, + { value: 'delivered', label: 'Delivered' }, + { value: 'expired', label: 'Expired' }, +]; + +const OrdersPage: React.FC = () => { + const history = useHistory(); + const { user } = useAuth(); + const [orders, setOrders] = useState([]); + const [searchTerm, setSearchTerm] = useState(''); + const [activeStatus, setActiveStatus] = useState('all'); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useIonViewWillEnter(() => { + void loadOrders(); + }); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const loadOrders = async () => { + if (!user) return; + setLoading(true); + setError(null); + + const { data, error: ordersError } = await supabase + .from('support_orders') + .select( + 'id,service_type,amount,status,created_at,recipient_id,merchant_id,recipients(first_name,last_name,photo_path),merchants(name,branch_name)' + ) + .eq('user_id', user.id) + .order('created_at', { ascending: false }); + + if (ordersError) { + showError(ordersError.message); + setLoading(false); + return; + } + + const rows = (data ?? []) as unknown as OrderRow[]; + const normalized = await Promise.all( + rows.map(async (row) => { + const recipientName = row.recipients + ? `${row.recipients.first_name} ${row.recipients.last_name}` + : 'Loved one'; + const avatarUrl = row.recipients?.photo_path + ? (( + await supabase.storage + .from('recipient-photos') + .createSignedUrl(row.recipients.photo_path, 3600) + ).data?.signedUrl ?? null) + : null; + + return { + id: row.id, + recipientName, + serviceType: + row.service_type.charAt(0).toUpperCase() + + row.service_type.slice(1), + merchantName: row.merchants + ? `${row.merchants.name}${row.merchants.branch_name ? ` — ${row.merchants.branch_name}` : ''}` + : undefined, + amount: Number(row.amount ?? 0), + status: row.status, + createdAt: row.created_at, + avatarUrl, + }; + }) + ); + + setOrders(normalized); + setLoading(false); + }; + + const visibleOrders = useMemo(() => { + const query = searchTerm.trim().toLowerCase(); + return orders.filter((order) => { + const statusMatch = + activeStatus === 'all' || order.status === activeStatus; + const searchMatch = + !query || + [ + order.recipientName, + order.serviceType, + order.merchantName, + order.status, + ] + .join(' ') + .toLowerCase() + .includes(query); + return statusMatch && searchMatch; + }); + }, [orders, activeStatus, searchTerm]); + + const handleRefresh = async (event: CustomEvent) => { + await loadOrders(); + event.detail.complete(); + }; + + return ( + + + + + + +
+
+

Activity

+

+ {orders.length} support updates +

+
+
+ + + +
+ {statusFilters.map((filter) => ( + + ))} +
+ + {error && ( +

+ {error} +

+ )} + + {loading ? ( +
+ {[1, 2, 3].map((item) => ( +
+ +
+ + +
+
+ ))} +
+ ) : visibleOrders.length === 0 ? ( +
+ +

+ {orders.length === 0 ? 'No orders yet' : 'No matching orders'} +

+

+ {orders.length === 0 + ? 'Your support transactions will appear here.' + : 'Try changing your search or status filter.'} +

+
+ ) : ( +
+ {visibleOrders.map((order) => ( + history.push(`/orders/${id}`)} + /> + ))} +
+ )} +
+
+ ); +}; + +export default OrdersPage; diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx new file mode 100644 index 0000000..9b4608a --- /dev/null +++ b/src/pages/ProfilePage.tsx @@ -0,0 +1,417 @@ +import React, { useState } from 'react'; +import { + IonButton, + IonContent, + IonIcon, + IonPage, + IonSkeletonText, + useIonViewWillEnter, +} from '@ionic/react'; +import { + cardOutline, + createOutline, + logOutOutline, + mailOutline, + notificationsOutline, + personOutline, + phonePortraitOutline, + shieldCheckmarkOutline, +} from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import { FirebaseAuthentication } from '@capacitor-firebase/authentication'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import SettingsRow from '../components/SettingsRow'; +import sarahAvatarImage from '../assets/sarah.jpg'; +import '../styles/profile.css'; + +type Profile = { + id: string; + first_name: string; + last_name: string; + full_name: string; + phone: string; + country_of_residence: string; + avatar_path: string | null; + notification_push_enabled: boolean; + notification_email_enabled: boolean; + notification_sms_enabled: boolean; +}; + +type PreviewProfilePayload = { + first_name: string; + last_name: string; + phone: string; + country_of_residence: string; + avatar_url: string | null; + notification_push_enabled: boolean; + notification_email_enabled: boolean; + notification_sms_enabled: boolean; +}; + +const PREVIEW_PROFILE_STORAGE_KEY = 'kumusha-preview-profile'; + +const getPreviewProfilePayload = (): PreviewProfilePayload => { + const fallback: PreviewProfilePayload = { + first_name: 'Sarah', + last_name: 'Moyo', + phone: '+44 7123 456789', + country_of_residence: 'United Kingdom', + avatar_url: sarahAvatarImage, + notification_push_enabled: true, + notification_email_enabled: true, + notification_sms_enabled: false, + }; + + try { + const saved = localStorage.getItem(PREVIEW_PROFILE_STORAGE_KEY); + return saved ? { ...fallback, ...JSON.parse(saved) } : fallback; + } catch { + return fallback; + } +}; + +const savePreviewProfilePayload = ( + profile: Profile, + avatarUrl: string | null +) => { + const payload: PreviewProfilePayload = { + first_name: profile.first_name, + last_name: profile.last_name, + phone: profile.phone, + country_of_residence: profile.country_of_residence, + avatar_url: avatarUrl, + notification_push_enabled: profile.notification_push_enabled, + notification_email_enabled: profile.notification_email_enabled, + notification_sms_enabled: profile.notification_sms_enabled, + }; + localStorage.setItem(PREVIEW_PROFILE_STORAGE_KEY, JSON.stringify(payload)); +}; + +const buildPreviewProfile = () => { + const payload = getPreviewProfilePayload(); + const profile: Profile = { + id: 'preview-profile', + first_name: payload.first_name, + last_name: payload.last_name, + full_name: `${payload.first_name} ${payload.last_name}`, + phone: payload.phone, + country_of_residence: payload.country_of_residence, + avatar_path: null, + notification_push_enabled: payload.notification_push_enabled, + notification_email_enabled: payload.notification_email_enabled, + notification_sms_enabled: payload.notification_sms_enabled, + }; + + return { profile, avatarUrl: payload.avatar_url }; +}; + +const ProfilePage: React.FC = () => { + const history = useHistory(); + const { user, signOut, refreshProfile } = useAuth(); + const [profile, setProfile] = useState(null); + const [avatarUrl, setAvatarUrl] = useState(null); + const [loading, setLoading] = useState(true); + const [signingOut, setSigningOut] = useState(false); + const [error, setError] = useState(null); + + useIonViewWillEnter(() => { + void loadProfile(); + }); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const loadProfile = async () => { + setLoading(true); + + if (!user) { + const preview = buildPreviewProfile(); + setProfile(preview.profile); + setAvatarUrl(preview.avatarUrl); + setLoading(false); + return; + } + + const { data, error: profileError } = await supabase + .from('profiles') + .select('*') + .eq('id', user.id) + .single(); + + if (profileError || !data) { + showError(profileError?.message ?? 'Profile not found'); + const preview = buildPreviewProfile(); + setProfile(preview.profile); + setAvatarUrl(preview.avatarUrl); + setLoading(false); + return; + } + + const nextProfile = data as Profile; + setProfile(nextProfile); + if (nextProfile.avatar_path) { + const { data: signed } = await supabase.storage + .from('avatars') + .createSignedUrl(nextProfile.avatar_path, 3600); + setAvatarUrl(signed?.signedUrl ?? null); + } else { + setAvatarUrl(null); + } + setLoading(false); + }; + + const handleTogglePreference = async ( + field: + | 'notification_push_enabled' + | 'notification_email_enabled' + | 'notification_sms_enabled', + checked: boolean + ) => { + if (!profile) return; + const previous = profile; + const next = { ...profile, [field]: checked }; + setProfile(next); + + if (!user) { + savePreviewProfilePayload(next, avatarUrl); + return; + } + + const updatedAt = new Date().toISOString(); + const updates = + field === 'notification_push_enabled' + ? { notification_push_enabled: checked, updated_at: updatedAt } + : field === 'notification_email_enabled' + ? { notification_email_enabled: checked, updated_at: updatedAt } + : { notification_sms_enabled: checked, updated_at: updatedAt }; + + const { error: updateError } = await supabase + .from('profiles') + .update(updates) + .eq('id', profile.id); + + if (updateError) { + setProfile(previous); + showError(updateError.message); + return; + } + await refreshProfile(); + }; + + const handleSignOut = async () => { + setSigningOut(true); + try { + await FirebaseAuthentication.signOut().catch(() => undefined); + await signOut(); + history.replace('/auth'); + } finally { + setSigningOut(false); + } + }; + + const initials = + profile?.full_name + ?.split(' ') + .map((part) => part.charAt(0)) + .slice(0, 2) + .join('') + .toUpperCase() || '?'; + + const paymentMethodsCount = 0; + + return ( + + +

+ Profile +

+ {error && ( +

+ {error} +

+ )} + + {loading ? ( +
+ +
+ + +
+
+ ) : profile ? ( + <> +
+
+ {avatarUrl ? ( + {profile.full_name} + ) : ( +
{initials}
+ )} +
+
+

{profile.full_name}

+

{profile.country_of_residence}

+
+ history.push('/profile/edit')} + > + + +
+ +
+ + + +
+ +

Payments

+
+ 0 + ? `${paymentMethodsCount} saved for faster checkout` + : 'No saved cards yet' + } + onClick={() => + showError( + 'Saved cards will be added when payments are connected in a later phase' + ) + } + /> +
+ +

Account

+
+ history.push('/profile/edit')} + /> + history.push('/notifications')} + /> + + showError( + 'Security settings will be available after MVP launch' + ) + } + /> +
+ +

Preferences

+
+ + handleTogglePreference('notification_push_enabled', checked) + } + /> + + handleTogglePreference('notification_email_enabled', checked) + } + /> + + handleTogglePreference('notification_sms_enabled', checked) + } + /> +
+ +
+ +
+ + ) : null} +
+
+ ); +}; + +export default ProfilePage; diff --git a/src/pages/RecipientDetailPage.tsx b/src/pages/RecipientDetailPage.tsx new file mode 100644 index 0000000..cd69285 --- /dev/null +++ b/src/pages/RecipientDetailPage.tsx @@ -0,0 +1,840 @@ +import React, { useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonPage, + IonSkeletonText, + IonTitle, + IonToolbar, + useIonViewWillEnter, +} from '@ionic/react'; +import basketIcon from '../assets/basket.png'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import { + chevronBackOutline, + createOutline, + heartOutline, + alertCircleOutline, + timeOutline, + flashOutline, + medkitOutline, + cartOutline, + wifiOutline, + checkmarkCircleOutline, + shareSocialOutline, + paperPlaneOutline, +} from 'ionicons/icons'; +import { useHistory, useParams } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import '../styles/recipients.css'; + +type Params = { id: string }; + +type Recipient = { + id: string; + first_name: string; + last_name: string; + relationship: string; + country: string; + city: string; + mobile_number: string; + photo_path: string | null; +}; + +type OrderRow = { + id: string; + service_type: string; + status: string; + amount: number; + created_at: string; + merchant_id?: string | null; + merchants?: { name: string } | null; +}; + +type CareAlertRow = { + id: string; + title: string; + body: string; + severity: string; + service_type: string | null; + due_at: string | null; +}; + +const RecipientDetailPage: React.FC = () => { + const history = useHistory(); + const { id } = useParams(); + const { user } = useAuth(); + const [recipient, setRecipient] = useState(null); + const [avatarUrl, setAvatarUrl] = useState(null); + const [groupedOrders, setGroupedOrders] = useState< + { label: string; items: OrderRow[] }[] + >([]); + const [careAlerts, setCareAlerts] = useState([]); + const [totalAssistance, setTotalAssistance] = useState(0); + const [orderCount, setOrderCount] = useState(0); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useIonViewWillEnter(() => { + void loadRecipientDetail(); + }); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const getSeededRecipientImage = ( + firstName?: string | null, + photoPath?: string | null + ) => { + const normalizedPath = photoPath?.trim().toLowerCase(); + if (normalizedPath === 'mom.jpg' || normalizedPath === 'mum.jpg') + return momImage; + if (normalizedPath === 'dad.jpg' || normalizedPath === 'father.jpg') + return dadImage; + + const normalizedName = firstName?.trim().toLowerCase(); + if (normalizedName === 'mum' || normalizedName === 'mom') return momImage; + if (normalizedName === 'dad' || normalizedName === 'father') + return dadImage; + return null; + }; + + const resolveRecipientAvatar = async (nextRecipient: Recipient) => { + const seededImage = getSeededRecipientImage( + nextRecipient.first_name, + nextRecipient.photo_path + ); + if (seededImage) { + setAvatarUrl(seededImage); + return; + } + + if (!nextRecipient.photo_path) { + setAvatarUrl(null); + return; + } + + const { data } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(nextRecipient.photo_path, 3600); + setAvatarUrl(data?.signedUrl ?? null); + }; + + const groupOrdersByDate = (orders: OrderRow[]) => { + const groups: { label: string; items: OrderRow[] }[] = []; + let currentLabel = ''; + let currentItems: OrderRow[] = []; + + const today = new Date(); + today.setHours(0, 0, 0, 0); + + const yesterday = new Date(today); + yesterday.setDate(yesterday.getDate() - 1); + + for (const order of orders) { + const orderDate = new Date(order.created_at); + orderDate.setHours(0, 0, 0, 0); + + let label = ''; + if (orderDate.getTime() === today.getTime()) { + label = 'Today'; + } else if (orderDate.getTime() === yesterday.getTime()) { + label = 'Yesterday'; + } else { + label = orderDate.toLocaleDateString(undefined, { + month: 'short', + day: 'numeric', + year: + orderDate.getFullYear() !== today.getFullYear() + ? 'numeric' + : undefined, + }); + } + + if (label !== currentLabel) { + if (currentItems.length > 0) { + groups.push({ label: currentLabel, items: currentItems }); + } + currentLabel = label; + currentItems = [order]; + } else { + currentItems.push(order); + } + } + if (currentItems.length > 0) { + groups.push({ label: currentLabel, items: currentItems }); + } + return groups; + }; + + const loadRecipientDetail = async () => { + if (!user) { + const [recipientResult, ordersResult, careAlertsResult] = + await Promise.all([ + supabase + .from('recipients') + .select( + 'id,first_name,last_name,relationship,country,city,mobile_number,photo_path' + ) + .eq('id', id) + .eq('user_id', '00000000-0000-0000-0000-000000000000') + .single(), + supabase + .from('support_orders') + .select( + 'id,service_type,status,amount,created_at,merchant_id,merchants(name)' + ) + .eq('recipient_id', id) + .eq('user_id', '00000000-0000-0000-0000-000000000000') + .order('created_at', { ascending: false }), + supabase + .from('care_alerts') + .select('id,title,body,severity,service_type,due_at') + .eq('recipient_id', id) + .eq('user_id', '00000000-0000-0000-0000-000000000000') + .is('dismissed_at', null) + .order('due_at', { ascending: true, nullsFirst: false }) + .limit(3), + ]); + + const queryError = + recipientResult.error ?? ordersResult.error ?? careAlertsResult.error; + if (queryError || !recipientResult.data) { + showError(queryError?.message ?? 'Loved one not found'); + setLoading(false); + return; + } + + const nextRecipient = recipientResult.data as Recipient; + setRecipient(nextRecipient); + + await resolveRecipientAvatar(nextRecipient); + + const orders = (ordersResult.data ?? []) as OrderRow[]; + setOrderCount(orders.length); + setTotalAssistance( + orders + .filter( + (order) => order.status !== 'failed' && order.status !== 'cancelled' + ) + .reduce((sum, order) => sum + Number(order.amount ?? 0), 0) + ); + setGroupedOrders(groupOrdersByDate(orders)); + setCareAlerts((careAlertsResult.data ?? []) as CareAlertRow[]); + setLoading(false); + return; + } + + setLoading(true); + setError(null); + + const [recipientResult, ordersResult, careAlertsResult] = await Promise.all( + [ + supabase + .from('recipients') + .select( + 'id,first_name,last_name,relationship,country,city,mobile_number,photo_path' + ) + .eq('id', id) + .eq('user_id', user.id) + .single(), + supabase + .from('support_orders') + .select( + 'id,service_type,status,amount,created_at,merchant_id,merchants(name)' + ) + .eq('recipient_id', id) + .eq('user_id', user.id) + .order('created_at', { ascending: false }), + supabase + .from('care_alerts') + .select('id,title,body,severity,service_type,due_at') + .eq('recipient_id', id) + .eq('user_id', user.id) + .is('dismissed_at', null) + .order('due_at', { ascending: true, nullsFirst: false }) + .limit(3), + ] + ); + + const queryError = + recipientResult.error ?? ordersResult.error ?? careAlertsResult.error; + if (queryError || !recipientResult.data) { + showError(queryError?.message ?? 'Loved one not found'); + setLoading(false); + return; + } + + const nextRecipient = recipientResult.data as Recipient; + setRecipient(nextRecipient); + + await resolveRecipientAvatar(nextRecipient); + + const orders = (ordersResult.data ?? []) as OrderRow[]; + setOrderCount(orders.length); + setTotalAssistance( + orders + .filter( + (order) => order.status !== 'failed' && order.status !== 'cancelled' + ) + .reduce((sum, order) => sum + Number(order.amount ?? 0), 0) + ); + setGroupedOrders(groupOrdersByDate(orders)); + setCareAlerts((careAlertsResult.data ?? []) as CareAlertRow[]); + setLoading(false); + }; + + const formatDueDate = (value: string | null) => { + if (!value) return 'Upcoming'; + const dueDate = new Date(value); + const now = new Date(); + const diffMs = dueDate.getTime() - now.getTime(); + const diffDays = Math.ceil(diffMs / (1000 * 60 * 60 * 24)); + + if (diffDays <= 0) return 'Due today'; + if (diffDays === 1) return 'Due tomorrow'; + if (diffDays <= 5) return `Due in ${diffDays} days`; + + return 'Due in 5 days'; + }; + + const normalizeVoucherStatus = ( + serviceType: string | null, + status: string | null + ) => { + const normalizedStatus = (status ?? '').toLowerCase(); + if (serviceType === 'grocery' || serviceType === 'medication') { + if (normalizedStatus === 'redeemed') return 'redeemed'; + if (normalizedStatus === 'partial') return 'partial'; + return 'created'; + } + return normalizedStatus || 'created'; + }; + + const formatSupportDateTime = (value: string) => + new Date(value).toLocaleString(undefined, { + month: 'short', + day: 'numeric', + hour: 'numeric', + minute: '2-digit', + }); + + const getStatusDescription = (order: OrderRow) => { + const normalizedStatus = normalizeVoucherStatus( + order.service_type, + order.status + ); + const serviceLabel = order.service_type.replace(/_/g, ' '); + + if ( + order.service_type === 'grocery' || + order.service_type === 'medication' + ) { + if (normalizedStatus === 'redeemed') { + return 'Voucher collected by recipient.'; + } + if (normalizedStatus === 'partial') { + return 'Voucher partially used at merchant.'; + } + return 'Voucher created and ready to share.'; + } + + if (order.service_type === 'airtime') { + if (normalizedStatus === 'completed') { + return 'Top-up confirmed on recipient line.'; + } + if (normalizedStatus === 'delivered') { + return 'Top-up sent and awaiting final confirmation.'; + } + return `${serviceLabel.charAt(0).toUpperCase() + serviceLabel.slice(1)} request in progress.`; + } + + if (order.service_type === 'electricity') { + if (normalizedStatus === 'completed') { + return 'Token delivered successfully.'; + } + return 'Electricity support is being processed.'; + } + + return 'Support action recorded successfully.'; + }; + + const handleShareVoucher = async (order: OrderRow) => { + if ( + order.service_type !== 'grocery' && + order.service_type !== 'medication' + ) { + return; + } + + const serviceLabel = + order.service_type === 'grocery' + ? 'grocery voucher' + : 'medication voucher'; + const recipientName = recipient?.first_name ?? 'your loved one'; + const merchantName = order.merchants?.name ?? 'participating merchants'; + const statusLabel = normalizeVoucherStatus( + order.service_type, + order.status + ); + const shareText = + statusLabel === 'redeemed' + ? `${recipientName}'s ${serviceLabel} from Kumusha has already been redeemed at ${merchantName}.` + : `Hi ${recipientName}, your ${serviceLabel} from Kumusha is ready to use at participating merchants. Reference: ${order.id}.`; + + if (navigator.share) { + try { + await navigator.share({ + title: 'Kumusha voucher', + text: shareText, + }); + return; + } catch { + return; + } + } + + try { + await navigator.clipboard.writeText(shareText); + } catch { + showError('Sharing is not available on this device.'); + return; + } + }; + + const getServiceTheme = ( + serviceType: string | null, + status?: string | null + ) => { + const normalizedStatus = normalizeVoucherStatus( + serviceType, + status ?? null + ); + const successLike = ['redeemed', 'completed']; + const pendingLike = ['created', 'delivered', 'processing']; + const partialLike = ['partial']; + + const resolveTrailingIcon = () => { + if (partialLike.includes(normalizedStatus)) return alertCircleOutline; + if (successLike.includes(normalizedStatus)) return checkmarkCircleOutline; + if (pendingLike.includes(normalizedStatus)) return timeOutline; + return timeOutline; + }; + + switch (serviceType) { + case 'grocery': + return { + icon: cartOutline, + cardClass: 'service-grocery', + statusClass: + normalizedStatus === 'partial' + ? 'status-partial' + : normalizedStatus === 'created' + ? 'status-created' + : 'status-redeemed', + trailingIcon: resolveTrailingIcon(), + }; + case 'medication': + return { + icon: medkitOutline, + cardClass: 'service-medication', + statusClass: + normalizedStatus === 'partial' + ? 'status-partial' + : normalizedStatus === 'created' + ? 'status-created' + : 'status-redeemed', + trailingIcon: resolveTrailingIcon(), + }; + case 'electricity': + return { + icon: flashOutline, + cardClass: 'service-electricity', + statusClass: + normalizedStatus === 'completed' + ? 'status-completed' + : 'status-pending', + trailingIcon: resolveTrailingIcon(), + }; + case 'airtime': + return { + icon: wifiOutline, + cardClass: 'service-airtime', + statusClass: + normalizedStatus === 'completed' + ? 'status-completed' + : 'status-pending', + trailingIcon: resolveTrailingIcon(), + }; + default: + return { + icon: alertCircleOutline, + cardClass: 'service-default', + statusClass: 'status-default', + trailingIcon: resolveTrailingIcon(), + }; + } + }; + + const renderServiceIcon = (serviceType: string | null, ionIcon: string) => { + if (serviceType === 'grocery') { + return ( + + ); + } + return ; + }; + + const handleOpenOrder = (orderId?: string | null) => { + if (orderId) history.push(`/orders/${orderId}`); + }; + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/recipients') + } + aria-label="Go back" + > + + + + + {recipient + ? `${recipient.first_name} ${recipient.last_name}`.trim() + : 'Loved one'} + + + history.push(`/recipients/${id}/edit`)} + aria-label="Edit recipient" + > + + + + + + + + {loading ? ( +
+ + + +
+ ) : recipient ? ( + <> + {error && ( +

+ {error} +

+ )} +
+ {avatarUrl ? ( + {recipient.first_name} + ) : ( +
+ {recipient.first_name.charAt(0)} +
+ )} +
+

+ {recipient.first_name} {recipient.last_name} +

+

{recipient.relationship}

+

+ {recipient.city}, {recipient.country} +

+

{recipient.mobile_number}

+
+
+
+

${Math.round(totalAssistance)}

+

Total sent

+
+
+

{orderCount}

+

Orders

+
+
+ + history.push('/support/new', { recipientId: id }) + } + > + + Send support + +
+ +

Care alerts

+ {careAlerts.length === 0 ? ( +
+
+ +
+
+

No active alerts

+

+ This loved one has no upcoming care reminders right now. +

+
+
+ ) : ( +
+ {careAlerts.map((alert) => { + const theme = getServiceTheme(alert.service_type); + return ( + + ); + })} +
+ )} + +
+
+

Support history

+

{orderCount} recent care actions

+
+
+ {groupedOrders.length === 0 ? ( +
+ +

No support yet

+

+ Send first support and history will appear here. +

+ + history.push('/support/new', { recipientId: id }) + } + style={ + { + '--background': '#6d28d9', + '--border-radius': '999px', + '--box-shadow': 'none', + } as React.CSSProperties + } + > + Send first support + +
+ ) : ( +
+ {groupedOrders.map((group) => ( +
+
+ {group.label} +
+ {group.items.map((row) => { + const inferredServiceType = row.service_type; + const normalizedStatus = normalizeVoucherStatus( + inferredServiceType, + row.status + ); + const theme = getServiceTheme( + inferredServiceType, + normalizedStatus + ); + const displayTitle = + row.service_type === 'grocery' + ? 'Grocery voucher' + : row.service_type === 'medication' + ? 'Medication voucher' + : row.service_type === 'electricity' + ? 'Electricity' + : row.service_type === 'airtime' + ? 'Airtime' + : `${row.service_type.charAt(0).toUpperCase()}${row.service_type.slice(1)}`; + const merchantName = row.merchants?.name ?? null; + const voucherSendDisabled = + (row.service_type === 'grocery' || + row.service_type === 'medication') && + normalizedStatus === 'redeemed'; + return ( + +
+ )} +

+ {getStatusDescription(row)} +

+
+ + ); + })} +
+ ))} +
+ )} + + ) : null} +
+
+ ); +}; + +export default RecipientDetailPage; diff --git a/src/pages/RecipientFormPage.tsx b/src/pages/RecipientFormPage.tsx new file mode 100644 index 0000000..fd35b66 --- /dev/null +++ b/src/pages/RecipientFormPage.tsx @@ -0,0 +1,724 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonInput, + IonList, + IonModal, + IonPage, + IonTitle, + IonToolbar, +} from '@ionic/react'; +import { + cameraOutline, + chevronBackOutline, + closeOutline, +} from 'ionicons/icons'; +import { useHistory, useParams } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import AvatarPicker from '../components/AvatarPicker'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import '../styles/recipients.css'; + +type Params = { id?: string }; + +type RecipientRow = { + id: string; + first_name: string; + last_name: string; + relationship: string; + country: string; + city: string; + mobile_number: string; + photo_path: string | null; +}; + +const countryOptions = [ + { name: 'Zimbabwe', flag: '🇿🇼', dialCode: '+263' }, + { name: 'South Africa', flag: '🇿🇦', dialCode: '+27' }, + { name: 'Zambia', flag: '🇿🇲', dialCode: '+260' }, + { name: 'Botswana', flag: '🇧🇼', dialCode: '+267' }, + { name: 'Mozambique', flag: '🇲🇿', dialCode: '+258' }, + { name: 'United Kingdom', flag: '🇬🇧', dialCode: '+44' }, + { name: 'United States', flag: '🇺🇸', dialCode: '+1' }, + { name: 'Canada', flag: '🇨🇦', dialCode: '+1' }, + { name: 'Australia', flag: '🇦🇺', dialCode: '+61' }, +]; + +const locationOptionsByCountry: Record< + string, + Array<{ + group: string; + options: Array<{ name: string; description: string }>; + }> +> = { + Zimbabwe: [ + { + group: 'Major cities', + options: [ + { name: 'Harare', description: 'Capital city coverage' }, + { name: 'Bulawayo', description: 'City merchants and pharmacies' }, + { name: 'Mutare', description: 'Eastern Highlands coverage' }, + { name: 'Gweru', description: 'Midlands city coverage' }, + ], + }, + { + group: 'Towns', + options: [ + { name: 'Chitungwiza', description: 'Harare metro support' }, + { name: 'Masvingo', description: 'Town and surrounding areas' }, + { name: 'Kwekwe', description: 'Supported collection points' }, + { name: 'Kadoma', description: 'Supported collection points' }, + { name: 'Victoria Falls', description: 'Town coverage' }, + ], + }, + { + group: 'Rural districts', + options: [ + { name: 'Murehwa District', description: 'Rural collection support' }, + { name: 'Gokwe District', description: 'Rural collection support' }, + { name: 'Buhera District', description: 'Rural collection support' }, + { name: 'Zaka District', description: 'Rural collection support' }, + { name: 'Guruve District', description: 'Rural collection support' }, + { + name: 'Tsholotsho District', + description: 'Rural collection support', + }, + ], + }, + ], + Zambia: [ + { + group: 'Major cities', + options: [ + { name: 'Lusaka', description: 'Capital city coverage' }, + { name: 'Ndola', description: 'Copperbelt coverage' }, + { name: 'Kitwe', description: 'Copperbelt coverage' }, + { name: 'Livingstone', description: 'Town coverage' }, + ], + }, + { + group: 'Rural districts', + options: [ + { name: 'Chongwe District', description: 'Rural collection support' }, + { name: 'Monze District', description: 'Rural collection support' }, + ], + }, + ], + Botswana: [ + { + group: 'Cities and towns', + options: [ + { name: 'Gaborone', description: 'Capital city coverage' }, + { name: 'Francistown', description: 'Town coverage' }, + { name: 'Maun', description: 'Town coverage' }, + ], + }, + { + group: 'Rural districts', + options: [ + { name: 'Kweneng District', description: 'Rural collection support' }, + { name: 'Central District', description: 'Rural collection support' }, + ], + }, + ], +}; + +const fallbackLocationGroups = [ + { + group: 'Supported areas', + options: [ + { name: 'Main city', description: 'Available merchant coverage' }, + { name: 'Nearby town', description: 'Supported collection points' }, + { name: 'Rural district', description: 'Rural collection support' }, + ], + }, +]; + +const getCountryMeta = (countryName: string) => + countryOptions.find((option) => option.name === countryName) ?? + countryOptions[0]; + +const getLocationGroups = (countryName: string) => + locationOptionsByCountry[countryName] ?? fallbackLocationGroups; + +const getSeededRecipientImage = ( + firstName?: string | null, + photoPath?: string | null +) => { + const normalizedPath = photoPath?.trim().toLowerCase(); + if (normalizedPath === 'mom.jpg' || normalizedPath === 'mum.jpg') { + return momImage; + } + if (normalizedPath === 'dad.jpg' || normalizedPath === 'father.jpg') { + return dadImage; + } + + const normalizedName = firstName?.trim().toLowerCase(); + if (normalizedName === 'mum' || normalizedName === 'mom') { + return momImage; + } + if (normalizedName === 'dad' || normalizedName === 'father') { + return dadImage; + } + + return null; +}; + +const stripDialCode = (value: string, dialCode: string) => { + const normalizedValue = value.trim(); + if (normalizedValue.startsWith(dialCode)) { + return normalizedValue.slice(dialCode.length).trimStart(); + } + return normalizedValue; +}; + +const sanitizePhoneInput = (value: string) => + value.replace(/[^\d\s()-]/g, '').replace(/\s{2,}/g, ' '); + +const normalizePhoneInput = (value: string) => + sanitizePhoneInput(value).replace(/^0+/, ''); + +const formatNameInput = (value: string) => + value + .toLowerCase() + .replace( + /(^|[\s'-])([a-z])/g, + (_match, separator: string, letter: string) => + `${separator}${letter.toUpperCase()}` + ); + +const RecipientFormPage: React.FC = () => { + const history = useHistory(); + const { id } = useParams(); + const { user } = useAuth(); + const isEdit = Boolean(id); + + const [firstName, setFirstName] = useState(''); + const [lastName, setLastName] = useState(''); + const [relationship, setRelationship] = useState(''); + const [country, setCountry] = useState('Zimbabwe'); + const [city, setCity] = useState(''); + const [mobileNumber, setMobileNumber] = useState(''); + const [showCountrySheet, setShowCountrySheet] = useState(false); + const [showLocationSheet, setShowLocationSheet] = useState(false); + const selectedCountry = getCountryMeta(country); + const locationGroups = getLocationGroups(country); + const [photoFile, setPhotoFile] = useState(null); + const [photoPreview, setPhotoPreview] = useState(null); + const previewObjectUrlRef = useRef(null); + const [existingPhotoPath, setExistingPhotoPath] = useState( + null + ); + const [loading, setLoading] = useState(false); + const [saving, setSaving] = useState(false); + const [error, setError] = useState(null); + const firstNameInputRef = useRef(null); + const lastNameInputRef = useRef(null); + const relationshipInputRef = useRef(null); + const mobileInputRef = useRef(null); + + useEffect(() => { + if (isEdit) { + void loadRecipient(); + } + }, [id, isEdit]); + + useEffect(() => { + return () => { + if (previewObjectUrlRef.current) { + URL.revokeObjectURL(previewObjectUrlRef.current); + } + }; + }, []); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const applyRecipientToForm = async (recipient: RecipientRow) => { + setFirstName(recipient.first_name); + setLastName(recipient.last_name); + setRelationship(recipient.relationship); + setCountry(recipient.country); + setCity(recipient.city); + const recipientCountry = getCountryMeta(recipient.country); + setMobileNumber( + stripDialCode(recipient.mobile_number, recipientCountry.dialCode) + ); + setExistingPhotoPath(recipient.photo_path); + + const seededImage = getSeededRecipientImage( + recipient.first_name, + recipient.photo_path + ); + if (seededImage) { + setPhotoPreview(seededImage); + return; + } + + if (!recipient.photo_path) { + setPhotoPreview(null); + return; + } + + const { data: signed } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600); + setPhotoPreview(signed?.signedUrl ?? null); + }; + + const loadRecipient = async () => { + if (!id) return; + setLoading(true); + + const ownerId = user?.id ?? '00000000-0000-0000-0000-000000000000'; + + const { data, error: loadError } = await supabase + .from('recipients') + .select( + 'id,first_name,last_name,relationship,country,city,mobile_number,photo_path' + ) + .eq('id', id) + .eq('user_id', ownerId) + .single(); + + if (loadError || !data) { + showError(loadError?.message ?? 'Recipient not found'); + setLoading(false); + history.replace('/recipients'); + return; + } + + const recipient = data as RecipientRow; + await applyRecipientToForm(recipient); + setLoading(false); + }; + + const handlePhotoChange = (event: React.ChangeEvent) => { + const file = event.target.files?.[0]; + if (!file) return; + + if (previewObjectUrlRef.current) { + URL.revokeObjectURL(previewObjectUrlRef.current); + } + + const objectUrl = URL.createObjectURL(file); + previewObjectUrlRef.current = objectUrl; + setPhotoFile(file); + setPhotoPreview(objectUrl); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + if (!user) { + showError('Please sign in again to save this loved one'); + return; + } + + const payload = { + first_name: firstName.trim(), + last_name: lastName.trim(), + relationship: relationship.trim(), + country: country.trim(), + city: city.trim(), + mobile_number: + `${selectedCountry.dialCode} ${mobileNumber.trim()}`.trim(), + updated_at: new Date().toISOString(), + }; + + if ( + !payload.first_name || + !payload.last_name || + !payload.relationship || + !payload.country || + !payload.city || + !payload.mobile_number + ) { + showError('Please complete all required fields'); + return; + } + + setSaving(true); + setError(null); + + let photoPath = existingPhotoPath; + if (photoFile) { + const extension = photoFile.name.split('.').pop() || 'jpg'; + photoPath = `${user.id}/${Date.now()}.${extension}`; + const { error: uploadError } = await supabase.storage + .from('recipient-photos') + .upload(photoPath, photoFile); + + if (uploadError) { + showError(uploadError.message); + setSaving(false); + return; + } + } + + if (isEdit && id) { + const { error: updateError } = await supabase + .from('recipients') + .update({ ...payload, photo_path: photoPath }) + .eq('id', id) + .eq('user_id', user.id); + + if (updateError) { + showError(updateError.message); + setSaving(false); + return; + } + + setSaving(false); + history.push(`/recipients/${id}`); + return; + } + + const { data, error: insertError } = await supabase + .from('recipients') + .insert({ + user_id: user.id, + ...payload, + photo_path: photoPath, + }) + .select('id') + .single(); + + if (insertError || !data) { + showError(insertError?.message ?? 'Could not create recipient'); + setSaving(false); + return; + } + + setSaving(false); + history.replace(`/recipients/${data.id}`); + }; + + const initials = `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/recipients') + } + aria-label="Go back" + > + + + + + {isEdit ? 'Edit loved one' : 'Add loved one'} + + + + + +
+
+
+ + +
+ + + + + + + + {error && ( +

+ {error} +

+ )} +
+ +
+ + {saving ? 'Saving...' : isEdit ? 'Save changes' : 'Add loved one'} + +
+
+ + setShowCountrySheet(false)} + initialBreakpoint={1} + breakpoints={[0, 1]} + handle={true} + className="country-sheet-modal" + > +
+
+

Select country

+ setShowCountrySheet(false)} + aria-label="Close country selector" + > + + +
+
+ + {countryOptions.map((option) => { + const isSelected = option.name === country; + return ( + + ); + })} + +
+
+
+ + setShowLocationSheet(false)} + initialBreakpoint={1} + breakpoints={[0, 1]} + handle={true} + className="country-sheet-modal" + > +
+
+

Select location

+ setShowLocationSheet(false)} + aria-label="Close location selector" + > + + +
+
+
+ Choose a city, town, or rural district where support collection + is available. +
+ {locationGroups.map((group) => ( +
+

{group.group}

+ {group.options.map((option) => { + const isSelected = option.name === city; + return ( + + ); + })} +
+ ))} +
+
+
+
+
+ ); +}; + +export default RecipientFormPage; diff --git a/src/pages/RecipientsPage.tsx b/src/pages/RecipientsPage.tsx new file mode 100644 index 0000000..3f54d98 --- /dev/null +++ b/src/pages/RecipientsPage.tsx @@ -0,0 +1,348 @@ +import React, { useMemo, useState } from 'react'; +import { + IonButton, + IonContent, + IonIcon, + IonPage, + IonRefresher, + IonRefresherContent, + IonSkeletonText, + useIonViewWillEnter, +} from '@ionic/react'; +import { addOutline, peopleOutline } from 'ionicons/icons'; +import { useHistory } from 'react-router-dom'; +import dadImage from '../assets/dad.jpg'; +import momImage from '../assets/mom.jpg'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import ListSearchRow from '../components/ListSearchRow'; +import RecipientListCard, { + RecipientListItem, +} from '../components/RecipientListCard'; +import '../styles/recipients.css'; + +type RecipientRow = { + id: string; + first_name: string; + last_name: string; + relationship: string; + country: string; + city: string; + photo_path: string | null; + created_at: string; +}; + +type ActivityRow = { + recipient_id: string | null; + event_at: string; +}; + +const formatLastActivity = (dateText?: string) => { + if (!dateText) return 'No support yet'; + const diffMs = Date.now() - new Date(dateText).getTime(); + const diffDays = Math.max(0, Math.floor(diffMs / 86400000)); + if (diffDays === 0) return 'Today'; + if (diffDays === 1) return 'Yesterday'; + return `${diffDays} days ago`; +}; + +const getSeededRecipientImage = (firstName?: string | null) => { + const normalized = firstName?.trim().toLowerCase(); + if (normalized === 'mum' || normalized === 'mom') return momImage; + if (normalized === 'dad' || normalized === 'father') return dadImage; + return null; +}; + +const RecipientsPage: React.FC = () => { + const history = useHistory(); + const { user } = useAuth(); + const [recipients, setRecipients] = useState([]); + const [searchTerm, setSearchTerm] = useState(''); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useIonViewWillEnter(() => { + void loadRecipients(); + }); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const loadRecipients = async () => { + if (!user) { + // Auth bypass mode: fetch seeded preview recipients from Supabase + setLoading(true); + setError(null); + const [recipientsResult, activityResult] = await Promise.all([ + supabase + .from('recipients') + .select( + 'id,first_name,last_name,relationship,country,city,photo_path,created_at' + ) + .eq('user_id', '00000000-0000-0000-0000-000000000000') + .order('created_at', { ascending: false }), + supabase + .from('activity_events') + .select('recipient_id,event_at') + .eq('user_id', '00000000-0000-0000-0000-000000000000') + .order('event_at', { ascending: false }) + .limit(100), + ]); + + const queryError = recipientsResult.error ?? activityResult.error; + if (queryError) { + showError(queryError.message); + setLoading(false); + return; + } + + const activities = (activityResult.data ?? []) as ActivityRow[]; + const list = await Promise.all( + ((recipientsResult.data ?? []) as RecipientRow[]).map( + async (recipient) => { + const latestActivity = activities.find( + (a) => a.recipient_id === recipient.id + ); + + let avatarUrl = null; + if (recipient.photo_path) { + const { data: urlData } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600); + avatarUrl = urlData?.signedUrl ?? null; + } + + if (!avatarUrl) { + avatarUrl = getSeededRecipientImage(recipient.first_name); + } + + return { + id: recipient.id, + firstName: recipient.first_name, + lastName: recipient.last_name, + relationship: recipient.relationship, + location: `${recipient.city}, ${recipient.country}`, + lastActivityText: formatLastActivity(latestActivity?.event_at), + avatarUrl, + }; + } + ) + ); + setRecipients(list); + setLoading(false); + return; + } + + setLoading(true); + setError(null); + + const [recipientsResult, activityResult] = await Promise.all([ + supabase + .from('recipients') + .select( + 'id,first_name,last_name,relationship,country,city,photo_path,created_at' + ) + .eq('user_id', user.id) + .eq('is_active', true) + .order('created_at', { ascending: false }), + supabase + .from('activity_events') + .select('recipient_id,event_at') + .eq('user_id', user.id) + .order('event_at', { ascending: false }) + .limit(100), + ]); + + const queryError = recipientsResult.error ?? activityResult.error; + if (queryError) { + showError(queryError.message); + setLoading(false); + return; + } + + const activities = (activityResult.data ?? []) as ActivityRow[]; + const list = await Promise.all( + ((recipientsResult.data ?? []) as RecipientRow[]).map( + async (recipient) => { + const latestActivity = activities.find( + (activity) => activity.recipient_id === recipient.id + ); + let avatarUrl = recipient.photo_path + ? (( + await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600) + ).data?.signedUrl ?? null) + : null; + + if (!avatarUrl) { + avatarUrl = getSeededRecipientImage(recipient.first_name); + } + + return { + id: recipient.id, + firstName: recipient.first_name, + lastName: recipient.last_name, + relationship: recipient.relationship, + location: `${recipient.city}, ${recipient.country}`, + lastActivityText: formatLastActivity(latestActivity?.event_at), + avatarUrl, + }; + } + ) + ); + + setRecipients(list); + setLoading(false); + }; + + const visibleRecipients = useMemo(() => { + const query = searchTerm.trim().toLowerCase(); + if (!query) return recipients; + return recipients.filter((recipient) => + [ + recipient.firstName, + recipient.lastName, + recipient.relationship, + recipient.location, + ] + .join(' ') + .toLowerCase() + .includes(query) + ); + }, [recipients, searchTerm]); + + const handleRefresh = async (event: CustomEvent) => { + await loadRecipients(); + event.detail.complete(); + }; + + return ( + + + + + + +
+
+

Loved ones

+

+ Manage family and care recipients +

+
+ history.push('/recipients/new')} + > + + Add + +
+ + + + {error && ( +

+ {error} +

+ )} + + {loading ? ( +
+ {[1, 2, 3].map((item) => ( +
+ +
+ + +
+
+ ))} +
+ ) : visibleRecipients.length === 0 ? ( +
+ +

+ {recipients.length === 0 + ? 'No loved ones yet' + : 'No matches found'} +

+

+ {recipients.length === 0 + ? 'Add your first loved one so you can send support with confidence.' + : 'Try a different name, relationship, or city.'} +

+ {recipients.length === 0 && ( + history.push('/recipients/new')} + style={ + { + '--background': '#6d28d9', + '--border-radius': '999px', + '--box-shadow': 'none', + } as React.CSSProperties + } + > + + Add loved one + + )} +
+ ) : ( +
+ {visibleRecipients.map((recipient) => ( + history.push(`/recipients/${id}`)} + /> + ))} +
+ )} +
+
+ ); +}; + +export default RecipientsPage; diff --git a/src/pages/SetupProfilePage.tsx b/src/pages/SetupProfilePage.tsx new file mode 100644 index 0000000..32fa534 --- /dev/null +++ b/src/pages/SetupProfilePage.tsx @@ -0,0 +1,366 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { IonButton, IonContent, IonInput, IonPage } from '@ionic/react'; +import { useHistory } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import AvatarPicker from '../components/AvatarPicker'; +import '../styles/auth.css'; + +type ProfileDraft = { + first_name?: string | null; + last_name?: string | null; + phone?: string | null; + country_of_residence?: string | null; + avatar_path?: string | null; +}; + +const SetupProfilePage: React.FC = () => { + const history = useHistory(); + const { user, setProfile, signOut } = useAuth(); + + const [firstName, setFirstName] = useState(''); + const [lastName, setLastName] = useState(''); + const [phone, setPhone] = useState(''); + const [country, setCountry] = useState(''); + const [avatarFile, setAvatarFile] = useState(null); + const [avatarPreview, setAvatarPreview] = useState(null); + const messageTimerRef = useRef | null>(null); + const mountedRef = useRef(true); + const [loading, setLoading] = useState(false); + const [prefilling, setPrefilling] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + mountedRef.current = true; + return () => { + mountedRef.current = false; + if (messageTimerRef.current) { + clearTimeout(messageTimerRef.current); + } + }; + }, []); + + useEffect(() => { + loadExistingProfile(); + }, [user?.id]); + + const showError = (message: string) => { + if (messageTimerRef.current) { + clearTimeout(messageTimerRef.current); + } + setError(message); + messageTimerRef.current = setTimeout(() => { + if (mountedRef.current) { + setError(null); + } + }, 4000); + }; + + const loadExistingProfile = async () => { + if (!user) { + setPrefilling(false); + return; + } + + setPrefilling(true); + let profile: ProfileDraft | null = null; + let profileLoadError: unknown = null; + + try { + const profileLoadRequest = supabase + .from('profiles') + .select('first_name,last_name,phone,country_of_residence,avatar_path') + .eq('id', user.id) + .maybeSingle(); + + const result = await Promise.race([ + profileLoadRequest, + new Promise((_, reject) => + setTimeout( + () => reject(new Error('Profile setup loading timed out.')), + 8000 + ) + ), + ]); + + profile = result.data as ProfileDraft | null; + profileLoadError = result.error; + } catch (loadError) { + profileLoadError = loadError; + } + + if (!mountedRef.current) return; + + if (profileLoadError) { + console.error( + '[SetupProfilePage] Failed to load existing profile', + profileLoadError + ); + showError( + 'We could not load your profile yet. You can still finish setup.' + ); + } + if (profile) { + setFirstName(profile.first_name ?? ''); + setLastName(profile.last_name ?? ''); + setPhone(profile.phone ?? ''); + setCountry(profile.country_of_residence ?? ''); + if (profile.avatar_path) { + const { data: publicUrlData } = supabase.storage + .from('avatars') + .getPublicUrl(profile.avatar_path); + setAvatarPreview(publicUrlData.publicUrl); + } + } else if (user.user_metadata?.full_name) { + const parts = String(user.user_metadata.full_name).split(' '); + setFirstName(parts[0] ?? ''); + setLastName(parts.slice(1).join(' ')); + } + setPrefilling(false); + }; + + const handleAvatarChange = (event: React.ChangeEvent) => { + const file = event.target.files?.[0]; + if (!file) return; + + const reader = new FileReader(); + reader.onload = () => { + if (!mountedRef.current) return; + setAvatarFile(file); + setAvatarPreview( + typeof reader.result === 'string' ? reader.result : null + ); + }; + reader.onerror = () => { + showError( + 'We could not preview that image. Please choose another photo.' + ); + }; + reader.readAsDataURL(file); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + + if (!user) { + showError('Please sign in again to complete your profile'); + return; + } + + const cleanFirstName = firstName.trim(); + const cleanLastName = lastName.trim(); + const cleanPhone = phone.trim(); + const cleanCountry = country.trim(); + + if (!cleanFirstName || !cleanLastName || !cleanPhone || !cleanCountry) { + showError('Please complete all profile fields'); + return; + } + + setLoading(true); + setError(null); + + try { + let avatarPath: string | null = null; + if (avatarFile) { + const extension = avatarFile.name.split('.').pop() || 'jpg'; + avatarPath = `${user.id}/${Date.now()}.${extension}`; + const uploadRequest = supabase.storage + .from('avatars') + .upload(avatarPath, avatarFile); + const { error: uploadError } = await Promise.race([ + uploadRequest, + new Promise((_, reject) => + setTimeout( + () => + reject(new Error('Photo upload timed out. Please try again.')), + 12000 + ) + ), + ]); + + if (uploadError) { + showError(uploadError.message); + setLoading(false); + return; + } + } + + const now = new Date().toISOString(); + const profilePayload = { + id: user.id, + first_name: cleanFirstName, + last_name: cleanLastName, + full_name: `${cleanFirstName} ${cleanLastName}`, + phone: cleanPhone, + country_of_residence: cleanCountry, + ...(avatarPath ? { avatar_path: avatarPath } : {}), + notification_push_enabled: true, + notification_email_enabled: true, + notification_sms_enabled: false, + updated_at: now, + }; + + const profileSaveRequest = supabase + .from('profiles') + .upsert(profilePayload, { onConflict: 'id' }) + .select('*') + .single(); + + const { data: savedProfile, error: profileError } = await Promise.race([ + profileSaveRequest, + new Promise((_, reject) => + setTimeout( + () => + reject(new Error('Profile save timed out. Please try again.')), + 12000 + ) + ), + ]); + + if (profileError) { + showError(profileError.message); + setLoading(false); + return; + } + + if (!mountedRef.current) return; + + setLoading(false); + setProfile(savedProfile); + history.replace('/home'); + } catch (submitError: any) { + if (!mountedRef.current) return; + showError( + submitError.message || 'Profile setup failed. Please try again.' + ); + setLoading(false); + } + }; + + const initials = `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); + + const handleLogout = async () => { + if (loading || prefilling) return; + + setLoading(true); + setError(null); + + try { + await signOut(); + history.replace('/auth'); + } catch (logoutError: any) { + showError( + logoutError?.message || 'We could not sign you out. Please try again.' + ); + setLoading(false); + } + }; + + return ( + + +
+
+

Profile setup

+

Tell us about you

+

+ We use this to personalise your Kumusha dashboard and keep your + account secure. +

+
+ +
+ + + setFirstName(event.detail.value ?? '')} + disabled={loading || prefilling} + placeholder="e.g. Tadiwa" + className="auth-field" + /> + setLastName(event.detail.value ?? '')} + disabled={loading || prefilling} + placeholder="e.g. Moyo" + className="auth-field" + /> + setPhone(event.detail.value ?? '')} + disabled={loading || prefilling} + placeholder="e.g. +44 7123 456789" + className="auth-field" + /> + setCountry(event.detail.value ?? '')} + disabled={loading || prefilling} + placeholder="e.g. United Kingdom" + className="auth-field" + /> + + {error && ( +

+ {error} +

+ )} + +
+ + Logout + + + {loading ? 'Saving profile...' : 'Finish setup'} + +
+ +
+
+
+ ); +}; + +export default SetupProfilePage; diff --git a/src/pages/SupportFlowPage.tsx b/src/pages/SupportFlowPage.tsx new file mode 100644 index 0000000..8e72c7a --- /dev/null +++ b/src/pages/SupportFlowPage.tsx @@ -0,0 +1,1761 @@ +import React, { useEffect, useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; +import { + IonAvatar, + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonInput, + IonItem, + IonLabel, + IonModal, + IonPage, + IonTitle, + IonToolbar, + IonSelect, + IonSelectOption, + IonList, +} from '@ionic/react'; +import { + addOutline, + cardOutline, + chevronBackOutline, + chevronDownOutline, + checkmarkCircleOutline, + closeCircleOutline, + closeOutline, + flashOutline, + logoApple, + logoPaypal, + medkitOutline, + phonePortraitOutline, + timeOutline, +} from 'ionicons/icons'; +import { useHistory, useLocation } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import momImage from '../assets/mom.jpg'; +import dadImage from '../assets/dad.jpg'; +import basketIcon from '../assets/basket.png'; +import '../styles/support.css'; + +type ServiceType = 'grocery' | 'medication' | 'airtime' | 'electricity'; + +type RecipientOption = { + id: string; + first_name: string; + last_name: string; + photo_url?: string | null; + photo_path?: string | null; +}; + +type MerchantOption = { + id: string; + name: string; + branch_name: string | null; + merchant_type: string; +}; + +type LocationState = { + recipientId?: string; + serviceType?: ServiceType; +}; + +const services: Array<{ + type: ServiceType; + label: string; + reviewLabel: string; + amountHeading: string; + amountHint: string; + icon?: string; + imageSrc?: string; + imageAlt?: string; + color: string; + bg: string; + cardBg: string; + selectedTint: string; +}> = [ + { + type: 'grocery', + label: 'Groceries', + reviewLabel: 'Grocery voucher', + amountHeading: 'Voucher amount', + amountHint: 'You are sending a grocery voucher.', + imageSrc: basketIcon, + imageAlt: 'Groceries', + color: '#6d28d9', + bg: 'rgba(109,40,217,0.12)', + cardBg: 'rgba(109,40,217,0.03)', + selectedTint: 'rgba(109,40,217,0.08)', + }, + { + type: 'medication', + label: 'Medication', + reviewLabel: 'Medication voucher', + amountHeading: 'Voucher amount', + amountHint: 'You are sending a medication voucher.', + icon: medkitOutline, + color: '#16a34a', + bg: 'rgba(22,163,74,0.14)', + cardBg: 'rgba(22,163,74,0.06)', + selectedTint: 'rgba(22,163,74,0.08)', + }, + { + type: 'airtime', + label: 'Airtime & Data', + reviewLabel: 'Airtime & data', + amountHeading: 'Choose airtime & data amount', + amountHint: 'You are topping up airtime or data.', + icon: phonePortraitOutline, + color: '#3b82f6', + bg: 'rgba(59,130,246,0.1)', + cardBg: 'rgba(59,130,246,0.03)', + selectedTint: 'rgba(59,130,246,0.08)', + }, + { + type: 'electricity', + label: 'Electricity', + reviewLabel: 'Electricity', + amountHeading: 'Choose electricity amount', + amountHint: 'You are buying an electricity token.', + icon: flashOutline, + color: '#f59e0b', + bg: 'rgba(245,158,11,0.1)', + cardBg: 'rgba(245,158,11,0.03)', + selectedTint: 'rgba(245,158,11,0.08)', + }, +]; + +const amountPresets = [10, 20, 50, 100]; +const networks = ['Econet', 'NetOne', 'Telecel']; +const previewUserId = '00000000-0000-0000-0000-000000000000'; + +const previewRecipients: RecipientOption[] = [ + { + id: 'preview-mum', + first_name: 'Mum', + last_name: 'Moyo', + photo_url: momImage, + }, + { + id: 'preview-dad', + first_name: 'Dad', + last_name: 'Moyo', + photo_url: dadImage, + }, +]; + +const paymentMethods = [ + { + value: 'card', + label: 'Visa ending 4242', + detail: 'Default card • reusable checkout', + kind: 'card' as const, + }, + { + value: 'apple_pay', + label: 'Apple Pay', + detail: 'Wallet checkout', + kind: 'apple' as const, + }, + { + value: 'google_pay', + label: 'Google Pay', + detail: 'Fast wallet checkout', + kind: 'google' as const, + }, + { + value: 'paypal', + label: 'PayPal', + detail: 'Pay with PayPal', + kind: 'paypal' as const, + }, +] as const; + +const getRecipientPhoto = (recipient?: RecipientOption | null) => { + if (!recipient) return null; + + const photoPath = recipient.photo_path?.toLowerCase() ?? ''; + if (photoPath === 'mom.jpg' || photoPath === 'mum.jpg') return momImage; + if (photoPath === 'dad.jpg' || photoPath === 'father.jpg') return dadImage; + + if (recipient.photo_url) return recipient.photo_url; + if (recipient.first_name.toLowerCase() === 'mum') return momImage; + if (recipient.first_name.toLowerCase() === 'dad') return dadImage; + return null; +}; + +const sanitizeAmount = (raw: string) => { + const cleaned = raw.replace(/[^\d.]/g, ''); + const parts = cleaned.split('.'); + const normalized = + parts.length <= 1 ? cleaned : `${parts[0]}.${parts.slice(1).join('')}`; + const dotIndex = normalized.indexOf('.'); + return dotIndex === -1 ? normalized : normalized.slice(0, dotIndex + 3); +}; + +const SupportFlowPage: React.FC = () => { + const history = useHistory(); + const location = useLocation(); + const { user } = useAuth(); + + const [step, setStep] = useState(1); + const [recipients, setRecipients] = useState([]); + const [merchants, setMerchants] = useState([]); + const [selectedRecipientId, setSelectedRecipientId] = useState( + location.state?.recipientId ?? null + ); + const [serviceType, setServiceType] = useState( + location.state?.serviceType ?? null + ); + const [merchantId, setMerchantId] = useState(null); + const [network, setNetwork] = useState(null); + const [meterNumber, setMeterNumber] = useState(''); + const [amountDisplay, setAmountDisplay] = useState(''); + const [isCustomAmountSelected, setIsCustomAmountSelected] = useState(false); + const [platformFee, setPlatformFee] = useState(0); + const [totalAmount, setTotalAmount] = useState(0); + const [orderId, setOrderId] = useState(null); + const [paymentMethod, setPaymentMethod] = useState('card'); + const [isPaymentSheetOpen, setIsPaymentSheetOpen] = useState(false); + const [loading, setLoading] = useState(!user); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + const [isRecipientSheetOpen, setIsRecipientSheetOpen] = useState(false); + + const [paymentResult, setPaymentResult] = useState< + 'idle' | 'success' | 'failure' + >('idle'); + const [paymentResultMessage, setPaymentResultMessage] = useState< + string | null + >(null); + const isShowingPaymentResult = paymentResult !== 'idle'; + + const [isRecurringEnabled, setIsRecurringEnabled] = useState(false); + const [frequencyUnit, setFrequencyUnit] = useState<'weekly' | 'monthly'>( + 'weekly' + ); + const [frequencyInterval, setFrequencyInterval] = useState(1); + + const requiresSupportDetails = + serviceType === 'airtime' || serviceType === 'electricity'; + const totalSteps = requiresSupportDetails ? 5 : 4; + const amountStep = requiresSupportDetails ? 4 : 3; + const reviewStep = requiresSupportDetails ? 5 : 4; + + const parsedAmount = useMemo(() => { + if (!amountDisplay || amountDisplay === '.') return null; + const value = Number(amountDisplay); + return Number.isFinite(value) && value > 0 ? value : null; + }, [amountDisplay]); + + const selectedService = useMemo( + () => services.find((item) => item.type === serviceType) ?? null, + [serviceType] + ); + + const pageBackground = selectedService + ? `linear-gradient(180deg, ${selectedService.selectedTint} 0%, #fafafa 240px)` + : '#fafafa'; + + const themeStyle = selectedService + ? ({ + '--flow-accent': selectedService.color, + '--flow-accent-soft': selectedService.selectedTint, + '--flow-icon-soft': selectedService.bg, + '--flow-card-soft': selectedService.cardBg, + } as CSSProperties) + : undefined; + + const flowTitle = selectedService?.label ?? 'Send support'; + const isPresetAmountSelected = amountPresets.includes(Number(amountDisplay)); + + useEffect(() => { + void loadInitialData(); + }, [user?.id]); + + useEffect(() => { + const presetRecipientId = location.state?.recipientId ?? null; + const presetServiceType = location.state?.serviceType ?? null; + + setSelectedRecipientId((current) => current ?? presetRecipientId); + setServiceType((current) => current ?? presetServiceType); + + if (presetRecipientId && presetServiceType) { + setStep(3); + return; + } + + if (presetRecipientId || presetServiceType) { + setStep(2); + } + }, [location.state]); + + useEffect(() => { + if (serviceType === 'grocery' || serviceType === 'medication') { + void loadMerchantsForService(serviceType); + } else { + setMerchantId(null); + setMerchants([]); + } + }, [serviceType]); + + useEffect(() => { + const fee = parsedAmount + ? Number((2.99 + parsedAmount * 0.03).toFixed(2)) + : 0; + setPlatformFee(fee); + setTotalAmount(parsedAmount ? Number((parsedAmount + fee).toFixed(2)) : 0); + }, [parsedAmount]); + + useEffect(() => { + const loadExistingSchedule = async () => { + if (!user || !selectedRecipientId || !serviceType) return; + const { data, error: fetchError } = await supabase + .from('support_schedules') + .select( + 'id, frequency_unit, frequency_interval, next_due_at, is_active' + ) + .eq('recipient_id', selectedRecipientId) + .eq('service_type', serviceType) + .eq('user_id', user.id) + .maybeSingle(); + + if (fetchError) { + showError('Could not load support frequency'); + } else if (data) { + setIsRecurringEnabled(data.is_active); + setFrequencyUnit(data.frequency_unit as 'weekly' | 'monthly'); + setFrequencyInterval(data.frequency_interval); + } else { + setIsRecurringEnabled(false); + setFrequencyUnit('weekly'); + setFrequencyInterval( + serviceType === 'grocery' || serviceType === 'medication' ? 4 : 1 + ); + } + }; + void loadExistingSchedule(); + }, [user?.id, selectedRecipientId, serviceType]); + + const showError = (message: string) => { + setError(message); + setTimeout(() => setError(null), 4000); + }; + + const resolveRecipientOptions = async (rows: RecipientOption[]) => + Promise.all( + rows.map(async (recipient) => { + const seededPhoto = getRecipientPhoto(recipient); + if (seededPhoto || !recipient.photo_path) { + return { + ...recipient, + photo_url: seededPhoto ?? recipient.photo_url, + }; + } + + const { data: urlData } = await supabase.storage + .from('recipient-photos') + .createSignedUrl(recipient.photo_path, 3600); + + return { + ...recipient, + photo_url: urlData?.signedUrl ?? recipient.photo_url ?? null, + }; + }) + ); + + const loadInitialData = async () => { + setLoading(true); + const activeUserId = user?.id ?? previewUserId; + const query = supabase + .from('recipients') + .select('id,first_name,last_name,photo_path') + .eq('user_id', activeUserId) + .order('created_at', { ascending: false }); + + const { data, error: loadError } = user + ? await query.eq('is_active', true) + : await query; + + if (loadError) { + showError(loadError.message); + const fallbackRecipients = + await resolveRecipientOptions(previewRecipients); + setRecipients(fallbackRecipients); + setSelectedRecipientId( + (current) => current ?? fallbackRecipients[0]?.id ?? null + ); + setLoading(false); + return; + } + + const resolvedRecipients = await resolveRecipientOptions( + (data ?? []) as RecipientOption[] + ); + setRecipients(resolvedRecipients); + setSelectedRecipientId((current) => { + if ( + current && + resolvedRecipients.some((recipient) => recipient.id === current) + ) { + return current; + } + return current ?? resolvedRecipients[0]?.id ?? null; + }); + setLoading(false); + }; + + const loadMerchantsForService = async (nextService: ServiceType) => { + const { data, error: merchantError } = await supabase + .from('merchants') + .select('id,name,branch_name,merchant_type') + .eq('merchant_type', nextService === 'grocery' ? 'grocery' : 'pharmacy') + .eq('is_active', true) + .order('name', { ascending: true }); + + if (merchantError) { + showError(merchantError.message); + return; + } + setMerchants((data ?? []) as MerchantOption[]); + }; + + const handleServiceSelect = (nextService: ServiceType) => { + setServiceType(nextService); + setMerchantId(null); + setNetwork(null); + setMeterNumber(''); + setOrderId(null); + setAmountDisplay(''); + setIsCustomAmountSelected(false); + }; + + const validateCurrentStep = () => { + if (step === 1 && !selectedRecipientId) + return 'Choose who will receive support'; + if (step === 2 && !serviceType) return 'Choose a support type'; + if (step === 3 && requiresSupportDetails) { + if (serviceType === 'airtime' && !network) + return 'Choose a mobile network'; + if (serviceType === 'electricity' && !meterNumber.trim()) + return 'Enter the meter number'; + } + if (step === amountStep && !parsedAmount) return 'Enter a support amount'; + return null; + }; + + const createOrderAndIntent = async () => { + if (!selectedRecipientId || !serviceType || !parsedAmount) return false; + + setSubmitting(true); + + const activeUserId = user?.id ?? previewUserId; + let currentOrderId = orderId; + if (!currentOrderId) { + const { data, error: orderError } = await supabase + .from('support_orders') + .insert({ + user_id: activeUserId, + recipient_id: selectedRecipientId, + merchant_id: merchantId, + service_type: serviceType, + amount: parsedAmount, + platform_fee: platformFee, + total_amount: totalAmount, + currency: 'USD', + status: 'pending_payment', + payment_method: paymentMethod, + network, + meter_number: meterNumber.trim() || null, + }) + .select('id') + .single(); + + if (orderError || !data) { + showError(orderError?.message ?? 'Could not create order'); + setSubmitting(false); + return false; + } + currentOrderId = data.id; + setOrderId(currentOrderId); + } + + if (!user) { + setSubmitting(false); + return true; + } + + const { data: intentData, error: intentError } = + await supabase.functions.invoke('calculate-payment-intent', { + body: { + orderId: currentOrderId, + serviceType, + amount: parsedAmount, + currency: 'USD', + paymentMethod, + }, + }); + + if (intentError) { + showError(intentError.message); + setSubmitting(false); + return false; + } + + const response = intentData as { + platformFee?: number; + totalAmount?: number; + } | null; + setPlatformFee(Number(response?.platformFee ?? platformFee)); + setTotalAmount(Number(response?.totalAmount ?? totalAmount)); + setSubmitting(false); + return true; + }; + + const handleContinue = async () => { + const validation = validateCurrentStep(); + if (validation) { + showError(validation); + return; + } + + if (step === amountStep) { + const ok = await createOrderAndIntent(); + if (!ok) return; + } + + setStep((current) => Math.min(totalSteps, current + 1)); + }; + + const handleBack = () => { + if (paymentResult === 'failure') { + setPaymentResult('idle'); + return; + } + if (paymentResult === 'success') { + if (orderId) { + history.push(`/orders/${orderId}`); + } else { + history.push('/activity'); + } + return; + } + + if (step > 1) { + setStep((current) => Math.max(1, current - 1)); + return; + } + + history.length > 1 ? history.goBack() : history.replace('/home'); + }; + + const handleConfirmPayment = async () => { + if (!orderId || !selectedRecipientId || !serviceType) { + showError('Order is not ready yet'); + return; + } + + setSubmitting(true); + setPaymentResult('idle'); + setPaymentResultMessage(null); + + const { error: fulfilError } = await supabase.functions.invoke( + 'confirm-payment-and-fulfil', + { + body: { orderId }, + } + ); + + if (fulfilError) { + setSubmitting(false); + setPaymentResult('failure'); + setPaymentResultMessage( + fulfilError.message || 'Payment could not be processed at this time.' + ); + return; + } + + if (isRecurringEnabled) { + const scheduleId = await upsertSupportSchedule(); + if (scheduleId) { + await supabase + .from('support_orders') + .update({ recurring_schedule_id: scheduleId }) + .eq('id', orderId); + + await createGeneralizedCareAlert(scheduleId); + } + } + + setSubmitting(false); + setPaymentResult('success'); + setPaymentResultMessage( + `Your ${selectedService?.reviewLabel.toLowerCase()} order is confirmed and ready for ${selectedRecipient?.first_name}.` + ); + }; + + const handleViewOrderDetails = () => { + if (orderId) { + history.push(`/orders/${orderId}`); + } else { + history.push('/activity'); + } + }; + + const handlePaymentResultSecondaryAction = () => { + if (paymentResult === 'success') { + history.push('/activity'); + } else { + setPaymentResult('idle'); + setPaymentResultMessage(null); + } + }; + + const handleRetryPayment = () => { + setError(null); + setPaymentResult('idle'); + setPaymentResultMessage(null); + void handleConfirmPayment(); + }; + + const calculateNextDueDate = () => { + const date = new Date(); + if (frequencyUnit === 'weekly') { + date.setDate(date.getDate() + 7 * frequencyInterval); + } else { + date.setMonth(date.getMonth() + frequencyInterval); + } + return date.toISOString(); + }; + + const upsertSupportSchedule = async () => { + if (!user || !selectedRecipientId || !serviceType) return null; + const nextDueAt = calculateNextDueDate(); + + const { data: existing } = await supabase + .from('support_schedules') + .select('id') + .eq('user_id', user.id) + .eq('recipient_id', selectedRecipientId) + .eq('service_type', serviceType) + .maybeSingle(); + + if (existing) { + const { error: updateError } = await supabase + .from('support_schedules') + .update({ + frequency_unit: frequencyUnit, + frequency_interval: frequencyInterval, + last_supported_at: new Date().toISOString(), + next_due_at: nextDueAt, + is_active: true, + }) + .eq('id', existing.id); + + if (updateError) { + showError('Failed to update recurring schedule'); + return null; + } + return existing.id; + } + + const { data: inserted, error: insertError } = await supabase + .from('support_schedules') + .insert({ + user_id: user.id, + recipient_id: selectedRecipientId, + service_type: serviceType, + frequency_unit: frequencyUnit, + frequency_interval: frequencyInterval, + last_supported_at: new Date().toISOString(), + next_due_at: nextDueAt, + is_active: true, + }) + .select('id') + .single(); + + if (insertError || !inserted) { + showError('Failed to save recurring schedule'); + return null; + } + return inserted.id; + }; + + const createGeneralizedCareAlert = async (scheduleId: string) => { + if (!user || !selectedRecipientId || !serviceType) return; + const nextDueAt = calculateNextDueDate(); + + const recipient = recipients.find((r) => r.id === selectedRecipientId); + const firstName = recipient?.first_name || 'Loved one'; + + let title = ''; + if (serviceType === 'grocery') title = 'Grocery support due soon'; + else if (serviceType === 'medication') { + title = 'Medication support due soon'; + } else if (serviceType === 'airtime') { + title = 'Airtime running low soon'; + } else if (serviceType === 'electricity') { + title = 'Electricity top-up may be needed'; + } + + let intervalStr = ''; + if (frequencyInterval === 1) { + intervalStr = frequencyUnit === 'weekly' ? 'a week' : 'a month'; + } else { + intervalStr = `${frequencyInterval} ${frequencyUnit === 'weekly' ? 'weeks' : 'months'}`; + } + const body = `For ${firstName} • in ${intervalStr}`; + + const { data: existingAlert } = await supabase + .from('care_alerts') + .select('id') + .eq('schedule_id', scheduleId) + .is('dismissed_at', null) + .maybeSingle(); + + if (existingAlert) { + await supabase + .from('care_alerts') + .update({ + title, + body, + due_at: nextDueAt, + service_type: serviceType, + }) + .eq('id', existingAlert.id); + } else { + await supabase.from('care_alerts').insert({ + user_id: user.id, + recipient_id: selectedRecipientId, + schedule_id: scheduleId, + service_type: serviceType, + alert_type: 'support_due', + title, + body, + severity: 'info', + due_at: nextDueAt, + }); + } + }; + + const ctaLabel = + step === amountStep + ? submitting + ? 'Preparing...' + : 'Review payment' + : step === reviewStep + ? submitting + ? 'Confirming...' + : 'Confirm payment' + : 'Continue'; + + const renderPaymentResultCard = () => { + if (paymentResult === 'idle') return null; + + const isSuccess = paymentResult === 'success'; + + return ( +
+
+ +
+
+

+ Payment {isSuccess ? 'Confirmed' : 'Declined'} +

+

+ {isSuccess ? 'Payment successful' : 'Payment failed'} +

+

{paymentResultMessage}

+
+ +
+
+ Recipient + + {selectedRecipient + ? `${selectedRecipient.first_name} ${selectedRecipient.last_name}` + : ''} + +
+
+ Support type + {selectedService?.label} +
+
+ Total paid + ${totalAmount.toFixed(2)} +
+
+ +
+ {isSuccess ? ( + <> + + View order details + + + Back to activity + + + ) : ( + <> + + {submitting ? 'Retrying...' : 'Try payment again'} + + + Back to review + + + )} +
+
+ ); + }; + + const selectedRecipient = + recipients.find((recipient) => recipient.id === selectedRecipientId) ?? + null; + const selectedRecipientPhoto = getRecipientPhoto(selectedRecipient); + const selectedPaymentMethod = + paymentMethods.find((method) => method.value === paymentMethod) ?? + paymentMethods[0]; + + return ( + + + + + 1 ? 'Go to previous step' : 'Go back'} + > + + + + + {selectedService && ( + + )} + {flowTitle} + + + + + +
+ {!isShowingPaymentResult && ( +
+ {Array.from({ length: totalSteps }, (_, index) => index + 1).map( + (item, index) => ( + +
+ {item} +
+ {index < totalSteps - 1 && ( +
+ )} + + ) + )} +
+ )} + + {error && !isShowingPaymentResult && ( +

+ {error} +

+ )} + + {isShowingPaymentResult && renderPaymentResultCard()} + + {!isShowingPaymentResult && step === 1 && ( +
+

Who are you supporting?

+ + {!loading && recipients.length === 0 && ( + history.push('/recipients/new')} + > + Add your first loved one + + )} +
+ )} + + {!isShowingPaymentResult && step === 2 && ( +
+

Choose support type

+
+ {services.map((service) => ( + + ))} +
+
+ )} + + {!isShowingPaymentResult && step === 3 && ( + <> + {(serviceType === 'airtime' || serviceType === 'electricity') && ( +
+

Support details

+ {serviceType === 'airtime' && ( + setNetwork(event.detail.value)} + > + {networks.map((item) => ( + + {item} + + ))} + + )} + {serviceType === 'electricity' && ( + + setMeterNumber( + (event.detail.value ?? '').replace(/\D/g, '') + ) + } + /> + )} +
+ )} + + )} + + {!isShowingPaymentResult && step === amountStep && ( +
+ {selectedService && ( +
+ +
+

+ {selectedRecipient + ? `For ${selectedRecipient.first_name} ${selectedRecipient.last_name}` + : 'Selected recipient'} +

+

+ {selectedService.amountHeading} +

+

+ {selectedService.amountHint} +

+
+
+ )} + {!selectedService && ( +

+ Choose amount +

+ )} +
+ {amountPresets.map((amount) => ( + + ))} + +
+ {isCustomAmountSelected && ( + + + $ + + + setAmountDisplay(sanitizeAmount(event.detail.value ?? '')) + } + /> + + )} + + {parsedAmount && parsedAmount > 0 && ( +
+
+
+
+ +
+
+

+ Repeat support +

+

+ Set up automatic reminders +

+
+
+
setIsRecurringEnabled(!isRecurringEnabled)} + style={{ + width: 44, + height: 24, + borderRadius: 12, + background: isRecurringEnabled + ? 'var(--flow-accent, #6d28d9)' + : 'rgba(23,24,39,0.1)', + position: 'relative', + cursor: 'pointer', + transition: '0.2s', + flexShrink: 0, + }} + > +
+
+
+ + {isRecurringEnabled && ( +
+
+ + +
+ +
+ + Every + +
+ + + {frequencyInterval} + + +
+
+
+ )} +
+ )} +
+ )} + + {!isShowingPaymentResult && step === reviewStep && ( +
+

Review and pay

+
+ {selectedService?.reviewLabel ?? 'Support amount'} + ${(parsedAmount ?? 0).toFixed(2)} +
+ {(serviceType === 'grocery' || serviceType === 'medication') && ( +
+
+ {selectedService?.imageSrc ? ( + + ) : ( + + )} +
+
+

+ Redeemable at any Kumusha{' '} + {serviceType === 'grocery' ? 'grocery' : 'pharmacy'}{' '} + partner +

+

+ The recipient can use this voucher with approved + participating merchants. +

+
+
+ )} +
+ Platform fee + ${platformFee.toFixed(2)} +
+
+ Total + ${totalAmount.toFixed(2)} +
+ + {isRecurringEnabled && ( +
+ + + Remind me every{' '} + {frequencyInterval === 1 + ? frequencyUnit === 'weekly' + ? 'week' + : 'month' + : `${frequencyInterval} ${frequencyUnit === 'weekly' ? 'weeks' : 'months'}`} + +
+ )} + +
+ + Payment method + + +
+ + Saved card will be reused for + future support in the live version. + +
+ )} + + {!isShowingPaymentResult && ( +
+
+

Total

+

${totalAmount.toFixed(2)}

+
+ + {ctaLabel} + +
+ )} +
+ + setIsPaymentSheetOpen(false)} + className="support-payment-modal" + initialBreakpoint={0.58} + breakpoints={[0, 0.58, 0.84]} + handle={true} + > + +
+
+
+

+ Payment method +

+

+ Choose how you want to pay for this support. +

+
+ +
+ + + {paymentMethods.map((method) => { + const isSelected = method.value === paymentMethod; + return ( + + ); + })} + +
+
+
+ + setIsRecipientSheetOpen(false)} + className="support-recipient-modal" + initialBreakpoint={0.55} + breakpoints={[0, 0.55, 0.82]} + handle={true} + > + +
+
+
+

+ Choose recipient +

+

+ Pick who should receive this support. +

+
+ +
+ +
+ {recipients.map((recipient) => { + const photo = getRecipientPhoto(recipient); + const isSelected = recipient.id === selectedRecipientId; + return ( + + ); + })} +
+
+
+
+ + + ); +}; + +export default SupportFlowPage; diff --git a/src/pages/VerifyEmailPage.tsx b/src/pages/VerifyEmailPage.tsx new file mode 100644 index 0000000..492039a --- /dev/null +++ b/src/pages/VerifyEmailPage.tsx @@ -0,0 +1,297 @@ +import React, { useState, useEffect } from 'react'; +import { + IonPage, + IonContent, + IonHeader, + IonToolbar, + IonButtons, + IonTitle, + IonButton, + useIonViewWillEnter, +} from '@ionic/react'; +import { useHistory, useLocation } from 'react-router-dom'; +import { IonIcon } from '@ionic/react'; +import { chevronBackOutline, mailOutline } from 'ionicons/icons'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import OtpInputSlots from '../components/OtpInputSlots'; +import '../styles/auth.css'; + +interface LocationState { + email?: string; + resent?: boolean; +} + +const VerifyEmailPage: React.FC = () => { + const history = useHistory(); + const location = useLocation(); + const { user, profile, profileStatus } = useAuth(); + + const email = + location.state?.email?.trim().toLowerCase() || + localStorage.getItem('kumusha_pending_verification_email') || + ''; + const wasResent = location.state?.resent; + + const [code, setCode] = useState(['', '', '', '', '', '']); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [status, setStatus] = useState( + wasResent ? 'We sent a fresh code to your email.' : null + ); + const [cooldown, setCooldown] = useState(wasResent ? 60 : 0); + + useEffect(() => { + if (!email) { + showError( + 'We could not find the email used for sign up. Please sign up again.' + ); + } + }, [email]); + + useEffect(() => { + if (!user || profileStatus === 'loading') return; + + if ( + !profile || + !profile.first_name || + !profile.last_name || + !profile.phone || + !profile.country_of_residence + ) { + history.replace('/setup-profile'); + } else { + history.replace('/home'); + } + }, [user, profile, profileStatus, history]); + + useIonViewWillEnter(() => { + setError(null); + }); + + useEffect(() => { + let timer: ReturnType | undefined; + if (cooldown > 0) { + timer = setTimeout(() => setCooldown((c) => c - 1), 1000); + } + return () => { + if (timer) { + clearTimeout(timer); + } + }; + }, [cooldown]); + + const showError = (msg: string) => { + setStatus(null); + setError(msg); + setTimeout(() => setError(null), 4000); + }; + + const showStatus = (msg: string) => { + setError(null); + setStatus(msg); + setTimeout(() => setStatus(null), 4000); + }; + + const handleDigitChange = (index: number, val: string) => { + const newCode = [...code]; + newCode[index] = val; + setCode(newCode); + }; + + const handlePaste = (e: React.ClipboardEvent) => { + e.preventDefault(); + const pastedData = e.clipboardData + .getData('Text') + .replace(/[^0-9]/g, '') + .slice(0, 6); + if (!pastedData) return; + const newCode = [...code]; + for (let i = 0; i < pastedData.length; i++) { + newCode[i] = pastedData[i]; + } + setCode(newCode); + }; + + const handleVerifyOtp = async () => { + const token = code.join(''); + if (token.length !== 6) { + showError('Please enter the full 6-digit code.'); + return; + } + + if (!email) { + showError( + 'We could not find the email used for sign up. Please go back and create your account again.' + ); + return; + } + + setLoading(true); + setError(null); + setStatus(null); + + const { error: verifyError } = await supabase.auth.verifyOtp({ + email, + token, + type: 'email', + }); + + if (verifyError) { + showError(verifyError.message); + setLoading(false); + return; + } + + localStorage.removeItem('kumusha_pending_verification_email'); + showStatus('Email verified. Finishing your sign in...'); + setLoading(false); + }; + + const handleResend = async () => { + if (cooldown > 0) return; + if (!email) { + showError( + 'We could not find the email used for sign up. Please go back and create your account again.' + ); + return; + } + setError(null); + setStatus(null); + + const { error: resendError } = await supabase.auth.resend({ + type: 'signup', + email, + }); + + if (resendError) { + showError(resendError.message); + return; + } + + setCode(['', '', '', '', '', '']); + setCooldown(60); + showStatus('A new 6-digit code has been sent.'); + }; + + return ( + + + + + history.goBack()}> + + + + Verify email + + + + +
+
+
+ +
+

+ Check your email +

+

+ {email ? ( + <> + We sent a 6-digit code to {email}. Enter it + below to confirm your account and continue. + + ) : ( + 'We could not find the email used for sign up. Go back and create your account again.' + )} +

+
+ +
+
+ + + {status ? ( +
+ {status} +
+ ) : null} + + {error ? ( +
{error}
+ ) : null} + + + + +
+
+
+
+
+ ); +}; + +export default VerifyEmailPage; diff --git a/src/pages/VerifyResetPage.tsx b/src/pages/VerifyResetPage.tsx new file mode 100644 index 0000000..ee2c20d --- /dev/null +++ b/src/pages/VerifyResetPage.tsx @@ -0,0 +1,317 @@ +import React, { useEffect, useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonInput, + IonPage, + IonTitle, + IonToolbar, +} from '@ionic/react'; +import { chevronBackOutline, lockClosedOutline } from 'ionicons/icons'; +import { useHistory, useLocation } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import OtpInputSlots from '../components/OtpInputSlots'; +import '../styles/auth.css'; + +interface LocationState { + email?: string; +} + +const VerifyResetPage: React.FC = () => { + const history = useHistory(); + const location = useLocation(); + const { user, refreshProfile, profileStatus } = useAuth(); + const email = location.state?.email; + + const [code, setCode] = useState(['', '', '', '', '', '']); + const [newPassword, setNewPassword] = useState(''); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [status, setStatus] = useState(null); + const [cooldown, setCooldown] = useState(0); + const [passwordUpdated, setPasswordUpdated] = useState(false); + + useEffect(() => { + if (!email) { + history.replace('/forgot-password'); + } + }, [email, history]); + + useEffect(() => { + if (cooldown <= 0) return; + const timer = setTimeout(() => setCooldown((current) => current - 1), 1000); + return () => clearTimeout(timer); + }, [cooldown]); + + useEffect(() => { + if (user && passwordUpdated && profileStatus !== 'loading') { + loadProfileAndNavigate(); + } + }, [user, passwordUpdated, profileStatus]); + + const showMessage = (message: string, kind: 'error' | 'status') => { + if (kind === 'error') { + setError(message); + setStatus(null); + setTimeout(() => setError(null), 4000); + } else { + setStatus(message); + setError(null); + setTimeout(() => setStatus(null), 4000); + } + }; + + const loadProfileAndNavigate = async () => { + if (!user) return; + + const data = await refreshProfile(); + + if ( + !data || + !data.first_name || + !data.last_name || + !data.phone || + !data.country_of_residence + ) { + history.replace('/setup-profile'); + } else { + history.replace('/home'); + } + }; + + const handleDigitChange = (index: number, value: string) => { + const nextCode = [...code]; + nextCode[index] = value.replace(/\D/g, '').slice(-1); + setCode(nextCode); + }; + + const handlePaste = (event: React.ClipboardEvent) => { + event.preventDefault(); + const digits = event.clipboardData + .getData('Text') + .replace(/\D/g, '') + .slice(0, 6); + if (!digits) return; + + const nextCode = ['', '', '', '', '', '']; + digits.split('').forEach((digit, index) => { + nextCode[index] = digit; + }); + setCode(nextCode); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + + const token = code.join(''); + if (token.length !== 6) { + showMessage('Please enter the 6-digit reset code', 'error'); + return; + } + + if (newPassword.length < 6) { + showMessage('Password must be at least 6 characters', 'error'); + return; + } + + setLoading(true); + setError(null); + setStatus(null); + + const { error: verifyError } = await supabase.auth.verifyOtp({ + email: email!, + token, + type: 'recovery', + }); + + if (verifyError) { + showMessage(verifyError.message, 'error'); + setLoading(false); + return; + } + + const { error: updateError } = await supabase.auth.updateUser({ + password: newPassword, + }); + + if (updateError) { + showMessage(updateError.message, 'error'); + setLoading(false); + return; + } + + showMessage('Password updated', 'status'); + setPasswordUpdated(true); + setLoading(false); + }; + + const handleResend = async () => { + if (cooldown > 0 || !email) return; + + const { error: resendError } = + await supabase.auth.resetPasswordForEmail(email); + if (resendError) { + showMessage(resendError.message, 'error'); + return; + } + + showMessage('A new reset code has been sent', 'status'); + setCooldown(60); + }; + + return ( + + + + + history.goBack()} + style={ + { + '--color': '#111827', + '--border-radius': '12px', + } as React.CSSProperties + } + aria-label="Go back" + > + + + + + New password + + + + + +
+
+
+ +
+
+

Enter your reset code

+

+ Use the 6-digit code sent to {email}, then + choose a new password. +

+
+
+ +
+
+ + + +
+ +
+ setNewPassword(event.detail.value ?? '')} + disabled={loading} + placeholder="Enter a new password" + style={ + { + '--background': '#fafafa', + '--border-radius': '12px', + '--padding-start': '14px', + '--padding-end': '14px', + '--highlight-color-focused': '#6d28d9', + } as React.CSSProperties + } + /> + + {error && ( +

+ {error} +

+ )} + {status && ( +

+ {status} +

+ )} + + + {loading ? 'Updating password...' : 'Update password'} + +
+
+
+
+
+ ); +}; + +export default VerifyResetPage; diff --git a/src/pages/VoucherDetailPage.tsx b/src/pages/VoucherDetailPage.tsx new file mode 100644 index 0000000..13254a9 --- /dev/null +++ b/src/pages/VoucherDetailPage.tsx @@ -0,0 +1,276 @@ +import React, { useState } from 'react'; +import { + IonButton, + IonButtons, + IonContent, + IonHeader, + IonIcon, + IonPage, + IonSkeletonText, + IonTitle, + IonToolbar, + useIonViewWillEnter, +} from '@ionic/react'; +import { + chevronBackOutline, + copyOutline, + qrCodeOutline, + shieldCheckmarkOutline, +} from 'ionicons/icons'; +import { useHistory, useParams } from 'react-router-dom'; +import { supabase } from '../supabase'; +import { useAuth } from '../contexts/AuthContext'; +import '../styles/support.css'; + +type Params = { id: string }; + +type RedemptionEntry = { + id: string; + redeemed_amount: number; + redeemed_at: string; + merchant_name: string | null; + status: string | null; +}; + +type Voucher = { + id: string; + voucher_code: string; + status: string; + expires_at: string; + qr_payload: string; + voucher_type: string; + redeemed_amount?: number; + remaining_amount?: number; + voucher_redemptions?: RedemptionEntry[] | null; + support_orders?: { + service_type: string; + amount: number; + recipients?: { first_name: string; last_name: string } | null; + merchants?: { name: string; branch_name: string | null } | null; + } | null; +}; + +const VoucherDetailPage: React.FC = () => { + const { id } = useParams(); + const history = useHistory(); + const { user } = useAuth(); + const [voucher, setVoucher] = useState(null); + const [loading, setLoading] = useState(true); + const [message, setMessage] = useState(null); + + useIonViewWillEnter(() => { + void loadVoucher(); + }); + + const showMessage = (text: string) => { + setMessage(text); + setTimeout(() => setMessage(null), 4000); + }; + + const loadVoucher = async () => { + if (!user) return; + setLoading(true); + + const { data, error } = await supabase + .from('vouchers') + .select( + 'id,voucher_code,status,expires_at,qr_payload,voucher_type,redeemed_amount,remaining_amount,voucher_redemptions(id,redeemed_amount,redeemed_at,merchant_name,status),support_orders!inner(service_type,amount,user_id,recipients(first_name,last_name),merchants(name,branch_name))' + ) + .eq('id', id) + .eq('support_orders.user_id', user.id) + .single(); + + if (error || !data) { + showMessage(error?.message ?? 'Voucher not found'); + setLoading(false); + return; + } + + setVoucher(data as unknown as Voucher); + setLoading(false); + }; + + const handleCopyCode = async () => { + if (!voucher) return; + await navigator.clipboard.writeText(voucher.voucher_code); + showMessage('Voucher code copied'); + }; + + const totalAmount = Number(voucher?.support_orders?.amount ?? 0); + const redeemedAmount = Number(voucher?.redeemed_amount ?? 0); + const fallbackRemaining = Math.max(totalAmount - redeemedAmount, 0); + const remainingAmount = Number( + voucher?.remaining_amount ?? fallbackRemaining + ); + const hasPartialRedemption = redeemedAmount > 0 && remainingAmount > 0; + const redemptionHistory = [...(voucher?.voucher_redemptions ?? [])].sort( + (a, b) => + new Date(b.redeemed_at).getTime() - new Date(a.redeemed_at).getTime() + ); + + return ( + + + + + + history.length > 1 + ? history.goBack() + : history.replace('/activity') + } + aria-label="Go back" + > + + + + Voucher + + + + + {loading ? ( +
+ + +
+ ) : voucher ? ( + <> + {message && ( +

+ {message} +

+ )} +
+ {voucher.voucher_code} +
+ +
+
+

+ Expires {new Date(voucher.expires_at).toLocaleDateString()} +

+

+ {voucher.support_orders?.merchants + ? `${voucher.support_orders.merchants.name}${voucher.support_orders.merchants.branch_name ? ` — ${voucher.support_orders.merchants.branch_name}` : ''}` + : `Kumusha ${voucher.support_orders?.service_type === 'medication' ? 'pharmacy' : 'grocery'} partner`} +

+

+ For{' '} + {voucher.support_orders?.recipients + ? `${voucher.support_orders.recipients.first_name} ${voucher.support_orders.recipients.last_name}` + : 'recipient'}{' '} + · ${Number(voucher.support_orders?.amount ?? 0).toFixed(2)} +

+
+ + + Copy code + +
+ + {(hasPartialRedemption || redemptionHistory.length > 0) && ( +
+
+
+

Voucher balance

+

+ Track redeemed and remaining value for this voucher. +

+
+
+ ${totalAmount.toFixed(2)} +
+
+ +
+
+ Redeemed ${redeemedAmount.toFixed(2)} +
+
+ Unredeemed ${remainingAmount.toFixed(2)} +
+
+ + {redemptionHistory.length > 0 && ( +
+

+ Redemption history +

+ {redemptionHistory.map((entry) => ( +
+
+

+ {entry.merchant_name || + voucher.support_orders?.merchants?.name || + `Kumusha ${voucher.support_orders?.service_type === 'medication' ? 'pharmacy' : 'grocery'} partner`} +

+

+ {new Date(entry.redeemed_at).toLocaleString()} +

+
+
+

+ ${entry.redeemed_amount.toFixed(2)} +

+ + {entry.status || 'Redeemed'} + +
+
+ ))} +
+ )} +
+ )} + +
+ +

+ Redeemable at any approved Kumusha{' '} + {voucher.support_orders?.service_type === 'medication' + ? 'pharmacy' + : 'grocery'}{' '} + partner. Balance updates automatically after partial redemption. + Do not share code. +

+
+ + ) : null} +
+
+ ); +}; + +export default VoucherDetailPage; diff --git a/src/styles/activity.css b/src/styles/activity.css new file mode 100644 index 0000000..7b3840f --- /dev/null +++ b/src/styles/activity.css @@ -0,0 +1,479 @@ +/* Activity Feed */ +.activity-top-row { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin: 0 20px 14px; +} + +.activity-title-block { + min-width: 0; + display: flex; + flex-direction: column; + gap: 4px; +} + +.activity-page-title { + font-size: 28px; + font-weight: 700; + line-height: 1.05; + color: #171827; + margin: 0; + letter-spacing: -0.02em; +} + +.activity-page-subtitle { + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 14px; + line-height: 1.35; + font-weight: 500; +} + +.activity-shell { + padding-bottom: calc(130px + var(--ion-safe-area-bottom, 0px)); +} + +.activity-type-filter-row { + display: flex; + align-items: center; + gap: 8px; + margin: 0 20px 12px; + overflow-x: auto; + scrollbar-width: none; +} + +.activity-type-filter-row::-webkit-scrollbar { + display: none; +} + +.activity-type-chip { + flex: 0 0 auto; + background: #ffffff; + color: rgba(23, 24, 39, 0.58); + border: none; + border-radius: 999px; + font-size: 13px; + font-weight: 700; + padding: 9px 16px; + margin: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); +} + +.activity-type-chip.active { + background: #6d28d9; + color: #ffffff; +} + +.activity-filter-row { + margin: 0 20px 18px; +} + +.activity-range-shell { + background: rgba(255, 255, 255, 0.78); + border-radius: 24px; + padding: 6px; +} + +.activity-range-segment { + padding: 0; + background: transparent; + border-radius: 999px; +} + +.activity-range-segment ion-segment-button { + min-height: 46px; + --background: transparent; + --background-checked: #6d28d9; + --color: rgba(23, 24, 39, 0.5); + --color-checked: #ffffff; + --indicator-color: transparent; + --border-radius: 999px; + --padding-start: 2px; + --padding-end: 2px; + text-transform: none; + font-size: 12px; + font-weight: 700; + letter-spacing: -0.01em; +} + +.activity-range-segment ion-label { + margin: 0; + white-space: nowrap; +} + +.activity-grouped-list { + background: rgba(255, 255, 255, 0.94); + border-radius: 24px; + padding: 6px 0; + margin: 0 20px 20px; +} + +.activity-date-group-label { + font-size: 11px; + font-weight: 700; + color: rgba(23, 24, 39, 0.38); + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 16px 20px 8px; +} + +.activity-list-item { + display: flex; + align-items: center; + padding: 14px 20px; + gap: 16px; + cursor: pointer; +} + +.activity-feed-item { + width: 100%; + border: none; + background: transparent; + display: flex; + align-items: flex-start; + gap: 12px; + padding: 14px 16px; + text-align: left; +} + +.activity-feed-item + .activity-feed-item { + border-top: 1px solid rgba(23, 24, 39, 0.06); +} + +.activity-feed-item:disabled { + opacity: 1; +} + +.activity-feed-item:active { + background: rgba(109, 40, 217, 0.03); +} + +.activity-feed-avatar-wrap { + flex-shrink: 0; + margin-top: 2px; +} + +.activity-feed-avatar { + position: relative; + width: 53px; + height: 53px; + border-radius: 999px; + display: flex; + align-items: center; + justify-content: center; + color: #171827; + font-size: 14px; + font-weight: 700; + flex-shrink: 0; + overflow: visible; +} + +.activity-feed-avatar-image { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 999px; +} + +.activity-feed-avatar-lavender { + background: #efe7fb; + color: #6d28d9; +} + +.activity-feed-avatar-mint { + background: #e8f7ee; + color: #16a34a; +} + +.activity-feed-avatar-sky { + background: #eaf3ff; + color: #3b82f6; +} + +.activity-feed-avatar-gold { + background: #fff2df; + color: #d97706; +} + +.activity-feed-avatar-brand { + background: #ece9ff; + color: #6d28d9; +} + +.activity-feed-avatar-badge { + position: absolute; + right: -5px; + bottom: -5px; + width: 24px; + height: 24px; + border-radius: 999px; + border: 2px solid #ffffff; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + box-shadow: 0 6px 14px rgba(23, 24, 39, 0.12); +} + +.activity-feed-avatar-badge-grocery { + background: #f1e7fb; + color: #6d28d9; +} + +.activity-feed-avatar-badge-medication { + background: #e8f7ee; + color: #16a34a; +} + +.activity-feed-avatar-badge-airtime { + background: #eaf3ff; + color: #3b82f6; +} + +.activity-feed-avatar-badge-electricity { + background: #fff2df; + color: #d97706; +} + +.activity-feed-avatar-badge ion-icon { + font-size: 13px; + --ionicon-stroke-width: 48px; +} + +.activity-feed-badge-image { + width: 22px; + height: 22px; + object-fit: contain; + display: block; + flex-shrink: 0; +} + +.activity-feed-main { + flex: 1; + min-width: 0; +} + +.activity-feed-row { + display: grid; + grid-template-columns: minmax(128px, 1fr) auto; + align-items: flex-start; + gap: 10px; +} + +.activity-feed-copy { + min-width: 0; + flex: 1; + display: flex; + flex-direction: column; + gap: 4px; +} + +.activity-feed-title { + margin: 0; + color: #171827; + font-size: 14px; + line-height: 1.2; + font-weight: 800; +} + +.activity-feed-subtitle { + margin: 0; + color: rgba(23, 24, 39, 0.54); + font-size: 13px; + line-height: 1.3; + font-weight: 500; +} + +.activity-feed-right { + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: flex-start; + gap: 8px; + flex-shrink: 0; + min-width: 112px; +} + +.activity-feed-amount { + margin: 0; + color: #171827; + font-size: 14px; + line-height: 1.1; + font-weight: 700; +} + +.activity-feed-status { + width: fit-content; + min-height: 28px; + border: none; + border-radius: 999px; + padding: 0 10px 0 12px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 5px; + font-size: 12px; + font-weight: 800; + text-transform: capitalize; + background: transparent; +} + +.activity-feed-status ion-icon { + font-size: 12px; + flex-shrink: 0; +} + +.activity-feed-status-success { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.activity-feed-status-warning { + background: rgba(245, 158, 11, 0.1); + color: #d97706; +} + +.activity-feed-status-partial { + background: rgba(245, 158, 11, 0.14); + color: #b45309; +} + +.activity-feed-breakdown { + display: flex; + flex-direction: column; + gap: 6px; + margin-top: 8px; +} + +.activity-feed-breakdown-summary { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.activity-feed-breakdown-pill { + min-height: 24px; + border-radius: 999px; + padding: 0 10px; + display: inline-flex; + align-items: center; + gap: 5px; + font-size: 12px; + font-weight: 700; +} + +.activity-feed-breakdown-pill ion-icon { + font-size: 12px; + flex-shrink: 0; +} + +.activity-feed-breakdown-pill.is-redeemed { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.activity-feed-breakdown-pill.is-remaining { + background: rgba(245, 158, 11, 0.12); + color: #d97706; +} + +.activity-feed-usage-note { + width: 100%; + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 10px; + line-height: 1.35; + font-weight: 500; +} + +/* Notifications List */ +.notifications-header-btn { + --color: var(--ion-color-primary); + font-size: 14px; + font-weight: 700; +} + +.notifications-list-card { + background: #ffffff; + border-radius: 24px; + padding: 8px 0; + margin: 20px; +} + +.notification-row { + display: flex; + align-items: flex-start; + padding: 16px 20px; + gap: 16px; + position: relative; +} + +.nr-unread-dot { + position: absolute; + top: 24px; + left: 8px; + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--ion-color-primary); +} + +.nr-icon-box { + width: 44px; + height: 44px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 22px; + flex-shrink: 0; +} + +/* Priority mappings */ +.nr-icon-box.critical { + background: rgba(220, 38, 38, 0.1); + color: var(--ion-color-danger); +} + +.nr-icon-box.important { + background: rgba(245, 158, 11, 0.1); + color: var(--ion-color-warning); +} + +.nr-icon-box.informational { + background: rgba(109, 40, 217, 0.1); + color: var(--ion-color-primary); +} + +.nr-content { + flex: 1; +} + +.nr-title { + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 0 4px; +} + +.nr-body { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0 0 6px; + line-height: 1.4; +} + +.nr-time { + font-size: 11px; + font-weight: 600; + color: #9ca3af; +} + +.nr-link-icon { + font-size: 18px; + color: var(--ion-color-medium); + align-self: center; +} diff --git a/src/styles/auth.css b/src/styles/auth.css new file mode 100644 index 0000000..23bd545 --- /dev/null +++ b/src/styles/auth.css @@ -0,0 +1,600 @@ +.auth-page-shell, +.auth-shell { + padding: calc(var(--ion-safe-area-top, 0px) + 18px) 20px + calc(var(--ion-safe-area-bottom, 0px) + 28px); +} + +.auth-content { + --background: linear-gradient(180deg, #fafafa 0%, #f6f1ff 52%, #f4f0ff 100%); +} + +.auth-shell--centered { + min-height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + gap: 20px; +} + +.auth-brand-block, +.auth-brand-intro { + background: transparent; + border-radius: 0; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 8px; +} + +.auth-card { + background: rgba(255, 255, 255, 0.94); + border-radius: 24px; + padding: 20px; +} + +.auth-card--elevated { + box-shadow: + 0 24px 60px rgba(109, 40, 217, 0.1), + 0 8px 20px rgba(17, 24, 39, 0.05); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); +} + +.auth-social-buttons, +.auth-form-fields { + display: flex; + flex-direction: column; + gap: 14px; +} + +.auth-form-stack { + display: flex; + flex-direction: column; + gap: 18px; +} + +.auth-divider { + color: rgba(17, 24, 39, 0.45); + font-size: 12px; + text-align: center; + position: relative; + margin: 20px 0 16px; +} + +.auth-divider span { + background: rgba(255, 255, 255, 0.94); + padding: 0 12px; + position: relative; + z-index: 1; +} + +.auth-divider::before { + content: ''; + position: absolute; + top: 50%; + left: 0; + right: 0; + height: 1px; + background: rgba(17, 24, 39, 0.08); +} + +.field-group { + display: flex; + flex-direction: column; + gap: 8px; +} + +.auth-field-label { + font-size: 13px; + font-weight: 600; + color: rgba(17, 24, 39, 0.66); +} + +.auth-text-input { + width: 100%; + min-height: 52px; + padding: 0 16px; + border: 1px solid rgba(17, 24, 39, 0.08); + border-radius: 12px; + background: #f8f7fb; + font-size: 15px; + color: #111827; + outline: none; + box-sizing: border-box; + transition: + border-color 0.18s ease, + background 0.18s ease, + box-shadow 0.18s ease; +} + +.auth-text-input::placeholder { + color: rgba(17, 24, 39, 0.38); +} + +.auth-text-input:focus { + border-color: rgba(109, 40, 217, 0.4); + background: #ffffff; + box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.08); +} + +.auth-text-input:disabled { + opacity: 0.65; +} + +.auth-text-input.has-error { + border-color: rgba(220, 38, 38, 0.28); + background: rgba(254, 242, 242, 0.8); +} + +.auth-password-wrap { + position: relative; +} + +.auth-password-wrap .auth-text-input { + padding-right: 48px; +} + +.auth-password-toggle { + position: absolute; + top: 50%; + right: 12px; + transform: translateY(-50%); + width: 28px; + height: 28px; + border-radius: 12px; + border: none; + background: transparent; + color: rgba(17, 24, 39, 0.5); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + padding: 0; +} + +.auth-password-toggle ion-icon { + font-size: 18px; +} + +.auth-field-error { + margin: 0; + font-size: 12px; + font-weight: 500; + color: #dc2626; +} + +.auth-submit-btn { + width: 100%; + min-height: 52px; + border: none; + border-radius: 999px; + background: #6d28d9; + color: #ffffff; + font-size: 15px; + font-weight: 700; + cursor: pointer; + transition: + transform 0.18s ease, + opacity 0.18s ease; +} + +.auth-submit-btn:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +.auth-inline-message { + border-radius: 12px; + background: rgba(220, 38, 38, 0.08); + color: #dc2626; + padding: 12px 14px; + font-size: 13px; + font-weight: 500; + text-align: center; +} + +.auth-meta-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.auth-meta-hint { + font-size: 12px; + color: rgba(17, 24, 39, 0.45); +} + +.auth-link-button { + border: none; + background: transparent; + padding: 0; + color: #6d28d9; + font-size: 13px; + font-weight: 700; + cursor: pointer; +} + +.auth-eyebrow { + margin: 0 0 4px 0; + font-size: 22px; + font-weight: 800; + color: #6d28d9; + line-height: 1.2; + letter-spacing: -0.01em; +} + +.auth-heading { + font-size: 32px; + font-weight: 700; + color: #111827; + line-height: 1.12; + letter-spacing: -0.02em; + margin: 0; +} + +.auth-subtitle { + font-size: 15px; + font-weight: 400; + color: rgba(17, 24, 39, 0.62); + line-height: 1.6; + margin: 0; +} + +.auth-mode-toggle { + background: #f7f4fb; + border-radius: 999px; + padding: 6px; + display: flex; + gap: 8px; +} + +.auth-toggle-pill { + flex: 1; + text-align: center; + padding: 11px 12px; + border: none; + border-radius: 999px; + font-size: 14px; + transition: all 0.2s ease; +} + +.auth-toggle-pill.active { + background: #ffffff; + font-weight: 700; + color: #111827; + box-shadow: 0 8px 18px rgba(17, 24, 39, 0.06); +} + +.auth-toggle-pill.inactive { + background: transparent; + font-weight: 600; + color: rgba(17, 24, 39, 0.5); +} + +.social-auth-button { + width: 100%; + min-height: 52px; + padding: 0 16px; + border: none; + border-radius: 999px; + background: #f8f7fb; + color: #111827; + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + font-size: 14px; + font-weight: 600; + cursor: pointer; + transition: + background 0.18s ease, + opacity 0.18s ease; +} + +.social-auth-button:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.social-auth-button__icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.social-auth-button__label { + line-height: 1; +} + +.login, +.register { + border-radius: 999px; +} + +.otp-input-row { + display: flex; + gap: 8px; + justify-content: center; +} + +.otp-slot { + -webkit-appearance: none; + appearance: none; +} + +.avatar-picker-container { + display: flex; + flex-direction: column; + align-items: center; +} + +.avatar-preview-circle { + flex-shrink: 0; +} + +.auth-form-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0; + display: flex; + flex-direction: column; + gap: 14px; +} + +.auth-field { + --background: #fafafa; + --color: #111827; + --placeholder-color: rgba(17, 24, 39, 0.38); + --placeholder-opacity: 1; + --highlight-color-focused: #6d28d9; + --border-radius: 12px; + --padding-start: 16px; + --padding-end: 16px; + color: #111827; +} + +.auth-field::part(label) { + color: rgba(17, 24, 39, 0.62); +} + +.auth-field.ion-focused::part(label) { + color: #6d28d9; +} + +.auth-helper-text { + font-size: 12px; + font-weight: 500; + color: var(--ion-color-danger); + margin-left: 16px; + margin-top: -6px; +} + +.auth-status-text { + font-size: 13px; + font-weight: 500; + text-align: center; + margin-top: 8px; +} + +.auth-primary-btn { + --background: var(--ion-color-primary); + --border-radius: 999px; + font-size: 15px; + font-weight: 700; + color: #ffffff; + margin-top: 8px; + height: 52px; +} + +.auth-social-btn { + --background: #fafafa; + --border-radius: 999px; + --box-shadow: none; + --color: var(--ion-color-dark); + font-size: 14px; + font-weight: 600; + height: 52px; +} + +.auth-footer { + background: transparent; + margin: 16px 0 0 0; + text-align: center; +} + +.auth-footer-text { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); +} + +.auth-footer-link { + font-size: 13px; + font-weight: 700; + color: var(--ion-color-primary); + cursor: pointer; +} + +.auth-intro-block { + background: transparent; + margin: 8px 0 24px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 16px; +} + +.auth-icon-container { + width: 56px; + height: 56px; + border-radius: 24px; + background: rgba(109, 40, 217, 0.12); + display: flex; + align-items: center; + justify-content: center; + color: var(--ion-color-primary); + font-size: 26px; +} + +.auth-intro-heading { + font-size: 24px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.auth-intro-body { + font-size: 15px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.auth-otp-row { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0 0 20px; + display: flex; + gap: 12px; + justify-content: space-between; +} + +.auth-otp-input { + width: calc((100% - 60px) / 6); + height: 56px; + border-radius: 12px; + background: #fafafa; + border: 1px solid transparent; + font-size: 24px; + font-weight: 700; + color: var(--ion-color-dark); + text-align: center; + padding: 0; +} + +.auth-otp-input:focus { + outline: none; + background: rgba(109, 40, 217, 0.1); + border-color: var(--ion-color-primary); + color: var(--ion-color-primary); +} + +.auth-action-area { + background: transparent; + display: flex; + flex-direction: column; + gap: 12px; +} + +.auth-resend-btn { + --background: transparent; + --color: var(--ion-color-primary); + --box-shadow: none; + font-size: 14px; + font-weight: 700; +} + +.auth-resend-btn[disabled] { + --color: #9ca3af; +} + +.auth-success-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + text-align: center; + display: flex; + flex-direction: column; + gap: 16px; + align-items: center; +} + +.auth-success-title { + font-size: 18px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.auth-success-body { + font-size: 14px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.setup-avatar-container { + width: 88px; + height: 88px; + border-radius: 24px; + background: rgba(109, 40, 217, 0.1); + margin: 0 auto 16px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + overflow: hidden; +} + +.setup-avatar-img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.setup-avatar-icon { + font-size: 32px; + color: var(--ion-color-primary); +} + +.setup-avatar-input { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; +} + +.setup-profile-actions-row { + display: flex; + align-items: center; + gap: 12px; + margin-top: 8px; +} + +.setup-profile-actions-row ion-button { + margin: 0; +} + +.setup-profile-secondary-btn { + flex: 0 0 auto; + min-width: 112px; + height: 52px; + --border-radius: 999px; + --box-shadow: none; + --border-color: rgba(109, 40, 217, 0.18); + --border-width: 1px; + --color: #6d28d9; + font-size: 15px; + font-weight: 700; +} + +.setup-profile-primary-btn { + flex: 1; + height: 52px; + --background: #6d28d9; + --background-activated: #5b21b6; + --border-radius: 999px; + --box-shadow: none; + --color: #ffffff; + font-size: 15px; + font-weight: 700; +} diff --git a/src/styles/home.css b/src/styles/home.css new file mode 100644 index 0000000..125c7b4 --- /dev/null +++ b/src/styles/home.css @@ -0,0 +1,1181 @@ +.home-shell { + padding: calc(var(--ion-safe-area-top, 0px) + 12px) 0 + calc(140px + var(--ion-safe-area-bottom, 0px)); + background: linear-gradient(180deg, #fcfbff 0%, #f2edf8 44%, #fbfbfc 100%); + min-height: 100%; +} + +.home-topline, +.home-header-actions-row, +.home-section-row, +.home-action-grid, +.home-activity-card { + margin-left: 20px; + margin-right: 20px; +} + +.home-topline { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; +} + +.home-topline-left { + display: flex; + align-items: center; + gap: 12px; + min-width: 0; +} + +.home-main-avatar-wrap { + width: 52px; + height: 52px; + border-radius: 999px; + overflow: hidden; + background: #eadff8; + flex-shrink: 0; +} + +.home-main-avatar, +.home-person-avatar { + width: 100%; + height: 100%; + object-fit: cover; +} + +.home-greeting-block { + min-width: 0; +} + +.home-greeting { + margin: 0; + color: #151624; + font-size: 20px; + line-height: 1.02; + font-weight: 800; + letter-spacing: -0.045em; +} + +.home-notification-card { + width: 50px; + height: 50px; + border: none; + border-radius: 18px; + background: rgba(255, 255, 255, 0.94); + color: #171827; + display: flex; + align-items: center; + justify-content: center; + position: relative; + font-size: 23px; + flex-shrink: 0; + box-shadow: 0 12px 28px rgba(92, 63, 134, 0.07); +} + +.home-notification-card ion-icon { + transform: translateY(1px); + --ionicon-stroke-width: 34px; +} + +.home-dot { + position: absolute; + top: 9px; + right: 9px; + width: 9px; + height: 9px; + border-radius: 999px; + background: #7c3aed; + box-shadow: 0 0 0 3px #ffffff; +} + +.home-header-actions-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-top: 6px; + margin-left: 84px; + margin-right: 20px; +} + +.home-tagline-wrap { + flex: 1; + min-width: 0; + display: flex; + align-items: center; +} + +.home-subcopy { + margin: 0; + color: rgba(21, 22, 36, 0.56); + font-size: 13px; + line-height: 1.16; + font-weight: 700; + letter-spacing: -0.015em; + max-width: 134px; +} + +.home-month-pill { + min-width: 142px; + max-width: 154px; + min-height: 46px; + border-radius: 999px; + background: rgba(255, 255, 255, 0.92); + display: flex; + align-items: center; + justify-content: center; + gap: 9px; + padding: 6px 12px 6px 8px; + box-shadow: 0 12px 28px rgba(92, 63, 134, 0.07); + flex-shrink: 0; +} + +.home-month-icon { + width: 31px; + height: 31px; + border-radius: 999px; + background: #f1e7fb; + color: #8b3ff2; + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; + flex-shrink: 0; +} + +.home-month-copy { + min-width: 0; + transform: translateY(1px); +} + +.home-month-label { + margin: 0 0 1px; + color: rgba(21, 22, 36, 0.42); + font-size: 9px; + line-height: 1.02; + font-weight: 600; +} + +.home-month-value { + margin: 0; + color: #6d28d9; + font-size: 13px; + line-height: 1.06; + font-weight: 800; +} + +.home-section-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-top: 20px; + margin-bottom: 8px; +} + +.home-section-row-spaced { + margin-top: 18px; +} + +.home-section-heading { + margin: 0; + color: #171827; + font-size: 20px; + line-height: 1.15; + font-weight: 800; + letter-spacing: -0.035em; +} + +.home-section-link { + border: none; + background: transparent; + padding: 0; + color: #6d28d9; + font-size: 14px; + line-height: 1.2; + font-weight: 700; +} + +.home-loved-ones-scroll { + display: flex; + gap: 12px; + overflow-x: auto; + padding: 0 20px 4px; + scroll-snap-type: x mandatory; + -webkit-overflow-scrolling: touch; +} + +.home-loved-ones-scroll::-webkit-scrollbar { + display: none; +} + +.home-person-card { + width: 264px; + min-width: 264px; + border-radius: 24px; + padding: 13px; + display: flex; + flex-direction: column; + gap: 10px; + scroll-snap-align: start; +} + +.home-person-card-lavender { + background: #f6effb; +} + +.home-person-card-mint { + background: #edf7ef; +} + +.home-person-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; +} + +.home-person-meta { + display: flex; + align-items: center; + gap: 12px; + min-width: 0; +} + +.home-person-avatar-shell { + width: 54px; + height: 54px; + border-radius: 999px; + overflow: hidden; + background: #eadff8; + color: #6d28d9; + position: relative; + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; +} + +.home-person-initial { + color: currentColor; + font-size: 20px; + line-height: 1; + font-weight: 800; +} + +.home-person-online { + position: absolute; + right: 1px; + bottom: 2px; + width: 11px; + height: 11px; + border-radius: 999px; + border: 2px solid #ffffff; + background: #16a34a; +} + +.home-person-name { + margin: 0 0 3px; + color: #171827; + font-size: 15px; + line-height: 1.12; + font-weight: 800; +} + +.home-person-location { + margin: 0; + color: rgba(23, 24, 39, 0.52); + font-size: 12px; + line-height: 1.18; + font-weight: 500; +} + +.home-card-menu { + width: 30px; + height: 30px; + border: none; + border-radius: 12px; + background: transparent; + color: rgba(23, 24, 39, 0.62); + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + flex-shrink: 0; +} + +.home-status-stack { + display: flex; + flex-direction: column; + gap: 8px; + min-height: 160px; +} + +.home-status-row { + display: flex; + align-items: center; + gap: 10px; + min-height: 48px; + background: rgba(255, 255, 255, 0.46); + border-radius: 12px; + padding: 8px 10px; +} + +.home-status-empty-row { + min-height: 156px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.46); + color: rgba(23, 24, 39, 0.52); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + font-size: 12px; + line-height: 1.2; + font-weight: 700; + text-align: center; +} + +.home-status-empty-row ion-icon { + font-size: 22px; + color: rgba(109, 40, 217, 0.42); +} + +.home-person-card-mint .home-status-row { + background: rgba(255, 255, 255, 0.46); +} + +.home-status-icon, +.home-action-icon, +.home-alert-icon, +.home-activity-icon { + width: 34px; + height: 34px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + flex-shrink: 0; +} + +.home-status-icon ion-icon, +.home-action-icon ion-icon, +.home-alert-icon ion-icon, +.home-activity-icon ion-icon { + --ionicon-stroke-width: 42px; +} + +.home-custom-icon { + width: 24px; + height: 24px; + object-fit: contain; + display: block; + flex-shrink: 0; +} + +.home-custom-icon.is-basket { + width: 32px; + height: 32px; +} + +.home-custom-icon.is-pill { + width: 34px; + height: 34px; +} + +.home-status-copy { + flex: 1; + min-width: 0; +} + +.home-status-label { + margin: 0 0 2px; + color: #171827; + font-size: 13px; + line-height: 1.12; + font-weight: 800; +} + +.home-status-detail { + margin: 0; + font-size: 10.5px; + line-height: 1.12; + font-weight: 600; +} + +.home-status-detail.is-success, +.home-status-trailing.is-success { + color: #16a34a; +} + +.home-status-detail.is-warning, +.home-status-trailing.is-warning { + color: #d99a12; +} + +.home-status-trailing { + font-size: 18px; + flex-shrink: 0; +} + +.home-send-button { + width: 100%; + min-height: 48px; + border: none; + border-radius: 999px; + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + padding: 0 18px; + font-size: 14px; + font-weight: 800; + margin-top: 4px; +} + +.home-send-button.home-tone-grocery { + background: #6d28d9; + color: #ffffff; +} + +.home-send-button.home-tone-grocery .home-send-button-icon { + color: #6d28d9; +} + +.home-send-button.home-tone-medication { + background: #16a34a; + color: #ffffff; +} + +.home-send-button.home-tone-medication .home-send-button-icon { + color: #16a34a; +} + +.home-send-button.home-tone-airtime { + background: #2563eb; + color: #ffffff; +} + +.home-send-button.home-tone-airtime .home-send-button-icon { + color: #2563eb; +} + +.home-send-button.home-tone-electricity { + background: #d97706; + color: #ffffff; +} + +.home-send-button.home-tone-electricity .home-send-button-icon { + color: #d97706; +} + +.home-send-button-icon { + width: 28px; + height: 28px; + border-radius: 999px; + background: #ffffff; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.home-send-button-icon ion-icon { + font-size: 18px; + --ionicon-stroke-width: 42px; +} + +.home-send-button-icon .home-custom-icon.is-basket { + width: 40.32px; + height: 40.32px; +} + +.home-carousel-indicator { + display: flex; + align-items: center; + justify-content: center; + gap: 6px; + margin-top: 10px; +} + +.home-dot-active { + width: 18px; + height: 6px; + border-radius: 999px; + background: #6d28d9; +} + +.home-dot-inactive { + width: 6px; + height: 6px; + border-radius: 999px; + background: rgba(109, 40, 217, 0.18); +} + +.home-action-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.home-action-card { + min-height: 84px; + border: none; + border-radius: 24px; + background: rgba(255, 255, 255, 0.94); + padding: 14px; + display: flex; + align-items: center; + gap: 12px; + text-align: left; + box-shadow: none; +} + +.home-action-card .home-action-icon { + width: 42px; + height: 42px; + border-radius: 12px; + font-size: 22px; +} + +.home-action-card .home-action-icon ion-icon { + --ionicon-stroke-width: 38px; +} + +.home-action-card .home-action-icon .home-custom-icon.is-basket { + width: 30px; + height: 30px; +} + +.home-action-text-block { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; +} + +.home-action-label { + color: #171827; + font-size: 15px; + line-height: 1.2; + font-weight: 800; +} + +.home-action-helper { + color: rgba(23, 24, 39, 0.56); + font-size: 11px; + line-height: 1.3; + font-weight: 600; +} + +.home-alert-marquee { + position: relative; + overflow-x: auto; + overflow-y: hidden; + padding: 0 0 4px; + -webkit-overflow-scrolling: touch; + scroll-snap-type: x mandatory; + scrollbar-width: none; + cursor: grab; + overscroll-behavior-x: contain; +} + +.home-alert-marquee::-webkit-scrollbar { + display: none; +} + +.home-alert-marquee:active { + cursor: grabbing; +} + +.home-alert-marquee-track { + display: flex; + gap: 12px; + width: max-content; + padding: 0 20px; + animation: home-alert-marquee-scroll 24s linear infinite; + will-change: transform; +} + +.home-alert-marquee:hover .home-alert-marquee-track, +.home-alert-marquee:active .home-alert-marquee-track, +.home-alert-marquee:focus-within .home-alert-marquee-track { + animation-play-state: paused; +} + +.home-alert-overlay-state, +.home-alert-overlay-note { + position: absolute; + inset: 0; + display: flex; + align-items: center; + padding: 0 20px 4px; + pointer-events: none; +} + +.home-alert-overlay-note { + justify-content: flex-start; +} + +@keyframes home-alert-marquee-scroll { + from { + transform: translateX(0); + } + to { + transform: translateX(calc(-50% - 6px)); + } +} + +@media (prefers-reduced-motion: reduce) { + .home-alert-marquee-track { + animation: none; + } +} + +.home-alert-card { + width: 215px; + min-width: 215px; + min-height: 94px; + border: none; + border-radius: 24px; + background: #ffffff; + padding: 14px 12px; + display: flex; + align-items: center; + gap: 10px; + text-align: left; + scroll-snap-align: start; + box-shadow: none; + transition: transform 0.18s ease; + flex-shrink: 0; +} + +.home-alert-content { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; +} + +.home-alert-title { + color: #171827; + font-size: 14px; + line-height: 1.16; + font-weight: 800; + margin-bottom: 4px; +} + +.home-alert-subtitle { + color: rgba(23, 24, 39, 0.6); + font-size: 10.5px; + line-height: 1.22; + font-weight: 600; +} + +.home-alert-chevron-chip { + width: 34px; + height: 34px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-size: 16px; +} + +.home-alert-chevron-chip ion-icon { + --ionicon-stroke-width: 48px; +} + +.home-alert-card:active { + transform: scale(0.985); +} + +.home-alert-preview-note { + min-width: fit-content; + align-self: center; + border-radius: 999px; + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; + padding: 7px 12px; + font-size: 11px; + font-weight: 800; + flex-shrink: 0; +} + +.home-alert-error { + min-width: fit-content; + align-self: center; + margin: 0; + border-radius: 999px; + background: rgba(220, 38, 38, 0.1); + color: #dc2626; + padding: 7px 12px; + font-size: 11px; + font-weight: 800; + flex-shrink: 0; +} + +.home-alert-skeleton .home-alert-icon, +.home-alert-skeleton-title, +.home-alert-skeleton-subtitle, +.home-alert-skeleton-cta { + background: #eee8f6; +} + +.home-alert-skeleton-title, +.home-alert-skeleton-subtitle, +.home-alert-skeleton-cta { + display: block; + border-radius: 12px; +} + +.home-alert-skeleton-title { + width: 118px; + height: 13px; + margin-bottom: 6px; +} + +.home-alert-skeleton-subtitle { + width: 86px; + height: 11px; + margin-bottom: 9px; +} + +.home-alert-skeleton-cta { + width: 72px; + height: 21px; + border-radius: 999px; +} + +.home-tone-grocery { + background: rgba(109, 40, 217, 0.12); + color: #6d28d9; +} +.home-alert-cta.home-tone-grocery { + background: rgba(109, 40, 217, 0.12); +} + +.home-tone-medication { + background: rgba(22, 163, 74, 0.12); + color: #16a34a; +} +.home-alert-cta.home-tone-medication { + background: rgba(22, 163, 74, 0.12); +} + +.home-tone-airtime { + background: rgba(59, 130, 246, 0.12); + color: #2563eb; +} +.home-alert-cta.home-tone-airtime { + background: rgba(59, 130, 246, 0.12); +} + +.home-tone-electricity { + background: rgba(245, 158, 11, 0.14); + color: #d97706; +} +.home-alert-cta.home-tone-electricity { + background: rgba(245, 158, 11, 0.14); +} + +.home-tone-default { + background: #f4f4f5; + color: #52525b; +} +.home-alert-cta.home-tone-default { + background: rgba(82, 82, 91, 0.12); +} + +.home-empty-alerts { + background: #ffffff; + border-radius: 24px; + padding: 24px 20px; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + box-shadow: 0 4px 12px rgba(23, 24, 39, 0.03); +} + +.home-empty-alerts-icon { + width: 48px; + height: 48px; + border-radius: 24px; + background: #f3ebff; + color: #6d28d9; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 12px; +} +.home-empty-alerts-icon ion-icon { + font-size: 24px; +} + +.home-empty-alerts-msg { + font-size: 16px; + font-weight: 700; + color: #171827; + margin: 0 0 4px; +} + +.home-empty-alerts-helper { + font-size: 13px; + color: rgba(23, 24, 39, 0.6); + margin: 0 0 16px; + line-height: 1.4; + max-width: 220px; +} + +.home-empty-alerts-cta { + background: #6d28d9; + color: #ffffff; + font-size: 14px; + font-weight: 600; + padding: 10px 20px; + border-radius: 999px; + border: none; +} + +.home-alert-chevron, +.home-activity-chevron { + color: rgba(23, 24, 39, 0.32); + font-size: 16px; + flex-shrink: 0; +} + +.home-activity-card { + background: rgba(255, 255, 255, 0.94); + border-radius: 24px; + padding: 4px 0; +} + +.home-activity-row { + display: flex; + align-items: flex-start; + gap: 14px; + padding: 13px 14px; + position: relative; +} + +.home-activity-row::after { + content: ''; + position: absolute; + left: 14px; + right: 14px; + bottom: 0; + height: 1px; + background: rgba(23, 24, 39, 0.06); +} + +.home-activity-row-button { + width: 100%; + border: none; + background: transparent; + text-align: left; +} + +.home-activity-row.is-last { + padding-bottom: 15px; +} + +.home-activity-row.is-last::after { + display: none; +} + +.home-activity-avatar-shell { + position: relative; + width: 53px; + height: 53px; + border-radius: 999px; + flex-shrink: 0; +} + +.home-activity-avatar { + width: 100%; + height: 100%; + border-radius: 999px; + object-fit: cover; + background: #eadff8; +} + +.home-activity-avatar-fallback { + color: #6d28d9; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + line-height: 1; + font-weight: 800; +} + +.home-activity-avatar-badge { + position: absolute; + bottom: -5px; + right: -5px; + width: 30px; + height: 30px; + border-radius: 999px; + display: flex; + align-items: center; + justify-content: center; + border: 2px solid #ffffff; + box-shadow: 0 6px 14px rgba(23, 24, 39, 0.12); +} + +.home-activity-avatar-badge.home-tone-grocery { + background: #f1e7fb; + color: #6d28d9; +} + +.home-activity-avatar-badge.home-tone-medication { + background: #e8f7ee; + color: #16a34a; +} + +.home-activity-avatar-badge.home-tone-airtime { + background: #eaf3ff; + color: #3b82f6; +} + +.home-activity-avatar-badge.home-tone-electricity { + background: #fff2df; + color: #d97706; +} + +.home-activity-avatar-badge .home-custom-icon { + width: 12px; + height: 12px; +} + +.home-activity-avatar-badge .home-custom-icon.is-basket { + width: 22px; + height: 22px; +} + +.home-activity-avatar-badge .home-custom-icon.is-pill { + width: 15px; + height: 15px; +} + +.home-activity-avatar-badge ion-icon { + font-size: 13px; + --ionicon-stroke-width: 48px; +} + +.home-activity-copy { + flex: 1; + min-width: 0; +} + +.home-activity-head-row { + display: grid; + grid-template-columns: minmax(128px, 1fr) auto; + align-items: flex-start; + gap: 10px; +} + +.home-activity-text-block { + min-width: 0; +} + +.home-activity-title { + margin: 0 0 3px; + color: #171827; + font-size: 14px; + line-height: 1.2; + font-weight: 800; + white-space: nowrap; +} + +.home-activity-subtitle, +.home-activity-meta { + margin: 0; + color: rgba(23, 24, 39, 0.54); + font-size: 13px; + line-height: 1.3; + font-weight: 500; +} + +.home-activity-meta { + margin-top: 2px; +} + +.home-activity-right { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 6px; + flex-shrink: 0; + min-width: 92px; +} + +.home-activity-amount { + margin: 0; + color: #171827; + font-size: 14px; + line-height: 1.1; + font-weight: 700; +} + +.home-activity-badge { + width: fit-content; + min-height: 24px; + border-radius: 999px; + padding: 0 10px; + display: inline-flex; + align-items: center; + justify-content: center; + font-size: 12px; + font-weight: 800; + text-transform: capitalize; +} + +.home-activity-breakdown { + display: flex; + flex-direction: column; + gap: 6px; + margin-top: 8px; +} + +.home-activity-breakdown-summary { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.home-activity-breakdown-pill { + min-height: 24px; + border-radius: 999px; + padding: 0 10px; + display: inline-flex; + align-items: center; + gap: 5px; + font-size: 12px; + font-weight: 700; +} + +.home-activity-breakdown-pill.is-redeemed { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.home-activity-breakdown-pill.is-remaining { + background: rgba(245, 158, 11, 0.12); + color: #d97706; +} + +.home-activity-usage-note { + width: 100%; + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 11px; + line-height: 1.4; + font-weight: 500; +} + +.home-activity-dot { + width: 6px; + height: 6px; + border-radius: 999px; +} + +.home-activity-badge ion-icon { + font-size: 12px; + flex-shrink: 0; +} + +.home-badge-success { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.home-badge-info { + background: rgba(59, 130, 246, 0.1); + color: #3b82f6; +} + +.home-badge-warning { + background: rgba(245, 158, 11, 0.1); + color: #d97706; +} + +.home-badge-info { + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; +} + +.home-badge-partial { + background: rgba(245, 158, 11, 0.14); + color: #b45309; +} + +.home-badge-default { + background: rgba(23, 24, 39, 0.05); + color: rgba(23, 24, 39, 0.6); +} + +.home-tone-brand, +.home-tone-grocery { + background: rgba(109, 40, 217, 0.12); + color: #6d28d9; +} + +.home-tone-rose, +.home-tone-medication, +.home-tone-success, +.home-tone-mint { + background: rgba(22, 163, 74, 0.12); + color: #16a34a; +} + +.home-tone-blue, +.home-tone-airtime { + background: rgba(59, 130, 246, 0.12); + color: #2563eb; +} + +.home-tone-amber, +.home-tone-warning, +.home-tone-gold, +.home-tone-electricity { + background: rgba(245, 158, 11, 0.14); + color: #d97706; +} + +@media (max-width: 380px) { + .home-header-actions-row { + margin-left: 78px; + gap: 8px; + } + + .home-subcopy { + max-width: 118px; + font-size: 12px; + } + + .home-month-pill { + min-width: 136px; + max-width: 146px; + } + + .home-person-card { + width: 264px; + min-width: 264px; + } + + .home-action-card { + min-height: 70px; + padding: 10px 12px; + } + + .home-action-label { + font-size: 14px; + } +} diff --git a/src/styles/profile.css b/src/styles/profile.css new file mode 100644 index 0000000..0f8a51d --- /dev/null +++ b/src/styles/profile.css @@ -0,0 +1,305 @@ +/* Profile Tab */ +.profile-shell { + padding-bottom: calc(130px + var(--ion-safe-area-bottom, 0px)); +} + +.profile-page-title { + font-size: 28px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 20px 16px; +} + +.profile-summary-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0 20px 12px; + display: flex; + align-items: center; + gap: 16px; +} + +.psc-avatar-shell { + width: 72px; + height: 72px; + border-radius: 24px; + background: rgba(109, 40, 217, 0.08); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.psc-avatar { + width: 72px; + height: 72px; + border-radius: 24px; + object-fit: cover; +} + +.psc-avatar-placeholder { + width: 72px; + height: 72px; + border-radius: 24px; + background: rgba(109, 40, 217, 0.1); + display: flex; + align-items: center; + justify-content: center; + color: var(--ion-color-primary); + font-size: 28px; + font-weight: 700; +} + +.psc-info { + flex: 1; + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + +.psc-name { + font-size: 22px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 0 2px; +} + +.psc-location { + font-size: 14px; + font-weight: 500; + color: var(--ion-color-medium); + margin: 0; +} + +.psc-edit-btn { + --background: #fafafa; + --color: var(--ion-color-dark); + --border-radius: 12px; + --box-shadow: none; + width: 44px; + height: 44px; + margin: 0; + flex-shrink: 0; +} + +.profile-quick-actions-card { + background: #ffffff; + border-radius: 24px; + padding: 8px 0; + margin: 0 20px 24px; +} + +.profile-quick-action { + width: 100%; + border: none; + background: transparent; + display: flex; + align-items: center; + gap: 12px; + padding: 14px 16px; + text-align: left; + cursor: pointer; +} + +.profile-quick-action + .profile-quick-action { + border-top: 1px solid rgba(17, 24, 39, 0.06); +} + +.profile-quick-action-icon { + width: 40px; + height: 40px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + flex-shrink: 0; +} + +.profile-quick-action-icon--accent { + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; +} + +.profile-quick-action-icon--soft { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.profile-quick-action-copy { + display: flex; + flex-direction: column; + gap: 3px; + min-width: 0; +} + +.profile-quick-action-title { + font-size: 15px; + font-weight: 600; + color: #111827; +} + +.profile-quick-action-subtitle { + font-size: 13px; + color: rgba(17, 24, 39, 0.6); +} + +/* Settings Cards */ +.settings-section-title { + font-size: 14px; + font-weight: 700; + color: var(--ion-color-medium); + margin: 0 20px 8px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.settings-card { + background: #ffffff; + border-radius: 24px; + padding: 8px 0; + margin: 0 20px 24px; +} + +.profile-inline-note { + margin: 0 16px 10px; + padding: 12px; + border-radius: 12px; + background: rgba(109, 40, 217, 0.06); + display: flex; + align-items: flex-start; + gap: 12px; +} + +.profile-inline-note-icon { + width: 32px; + height: 32px; + border-radius: 12px; + background: rgba(109, 40, 217, 0.12); + color: #6d28d9; + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; + flex-shrink: 0; +} + +.profile-inline-note-title { + font-size: 14px; + font-weight: 600; + color: #111827; + margin: 0 0 2px; +} + +.profile-inline-note-text { + font-size: 13px; + line-height: 1.45; + color: rgba(17, 24, 39, 0.6); + margin: 0; +} + +.settings-row { + display: flex; + align-items: center; + min-height: 56px; + padding: 8px 16px; + gap: 12px; +} + +.sr-icon-box { + width: 36px; + height: 36px; + border-radius: 12px; + background: #fafafa; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + color: var(--ion-color-primary); +} + +.sr-icon-box.danger { + color: var(--ion-color-danger); + background: rgba(220, 38, 38, 0.08); +} + +.sr-label { + flex: 1; + font-size: 15px; + font-weight: 600; + color: var(--ion-color-dark); +} + +.sr-label.danger { + color: var(--ion-color-danger); +} + +.sr-toggle { + --handle-background: #ffffff; + --handle-background-checked: #ffffff; + --track-background: #e5e7eb; + --track-background-checked: var(--ion-color-primary); + padding: 0; +} + +/* Edit Profile */ +.edit-profile-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 20px; + display: flex; + flex-direction: column; + gap: 14px; +} + +.profile-back-button { + --color: var(--color-text-primary); + --background: #ffffff; + --background-activated: var(--color-surface-raised); + --border-radius: 12px; + --box-shadow: none; + width: 44px; + height: 44px; + margin-left: 8px; +} + +.profile-back-button ion-icon { + color: var(--color-text-primary); + font-size: 24px; +} + +.edit-profile-shell { + padding-bottom: calc(32px + var(--ion-safe-area-bottom, 0px)); +} + +.epc-field { + --background: #fafafa; + --color: #111827; + --placeholder-color: rgba(17, 24, 39, 0.38); + --placeholder-opacity: 1; + --highlight-color-focused: #6d28d9; + --border-radius: 12px; + --padding-start: 16px; + --padding-end: 16px; + color: #111827; +} + +.epc-field::part(label) { + color: rgba(17, 24, 39, 0.62); +} + +.epc-field.ion-focused::part(label) { + color: #6d28d9; +} + +.epc-save-btn { + --background: var(--ion-color-primary); + --border-radius: 999px; + font-size: 15px; + font-weight: 700; + margin: 0 20px 20px; + height: 52px; +} diff --git a/src/styles/recipients.css b/src/styles/recipients.css new file mode 100644 index 0000000..727cd45 --- /dev/null +++ b/src/styles/recipients.css @@ -0,0 +1,1141 @@ +/* Recipients List */ +.recipients-top-row { + display: flex; + align-items: center; + justify-content: space-between; + margin: 0 20px; +} + +.recipients-page-title { + font-size: 28px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.recipients-add-btn { + --background: rgba(109, 40, 217, 0.1); + --color: var(--ion-color-primary); + --border-radius: 999px; + --box-shadow: none; + --padding-start: 16px; + --padding-end: 16px; + font-size: 14px; + font-weight: 700; + height: 40px; + margin: 0; +} + +/* Back Button Consistency */ +.recipients-back-button { + --color: var(--color-text-primary); + --background: #ffffff; + --background-activated: var(--color-surface-raised); + --border-radius: 12px; + --box-shadow: none; + width: 44px; + height: 44px; + margin-left: 8px; +} + +.recipients-back-button ion-icon { + color: var(--color-text-primary); + font-size: 24px; +} + +.recipients-shell { + padding-bottom: calc(130px + var(--ion-safe-area-bottom, 0px)); +} + +.search-row { + margin: 0 20px 12px; +} + +.search-input-container { + background: #ffffff; + border-radius: 12px; + display: flex; + align-items: center; + padding: 0 16px; + height: 48px; +} + +.search-icon { + font-size: 20px; + color: var(--ion-color-medium); + margin-right: 12px; +} + +.search-input { + --padding-start: 0; + --padding-end: 0; + --placeholder-color: var(--ion-color-medium); + --placeholder-opacity: 1; + font-size: 15px; + color: var(--ion-color-dark); +} + +.recipient-list-card { + background: #ffffff; + border-radius: 24px; + padding: 16px; + margin: 0 20px 12px; + display: flex; + align-items: center; + gap: 16px; +} + +.rlc-avatar { + width: 52px; + height: 52px; + border-radius: 16px; + object-fit: cover; +} + +.rlc-avatar-placeholder { + width: 52px; + height: 52px; + border-radius: 16px; + background: rgba(109, 40, 217, 0.1); + display: flex; + align-items: center; + justify-content: center; + color: var(--ion-color-primary); + font-size: 20px; + font-weight: 700; +} + +.rlc-info { + flex: 1; + display: flex; + flex-direction: column; + gap: 2px; +} + +.rlc-name-row { + display: flex; + align-items: center; + gap: 8px; +} + +.rlc-name { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.rlc-relationship { + font-size: 13px; + font-weight: 600; + color: var(--ion-color-primary); + background: rgba(109, 40, 217, 0.1); + padding: 2px 8px; + border-radius: 999px; +} + +.rlc-location { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.rlc-activity { + font-size: 12px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 2px 0 0; +} + +.rlc-chevron { + font-size: 18px; + color: #9ca3af; +} + +.empty-state-card { + background: #ffffff; + border-radius: 24px; + padding: 28px; + margin: 0 20px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.esc-icon { + font-size: 44px; + color: var(--ion-color-primary); + margin-bottom: 16px; +} + +.esc-title { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 0 8px; +} + +.esc-msg { + font-size: 14px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0 0 20px; +} + +/* Recipient Detail */ +.recipient-summary-card { + margin: 20px; + background: #ffffff; + border-radius: 24px; + padding: 20px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 16px; +} + +.rsc-avatar { + width: 80px; + height: 80px; + border-radius: 24px; + object-fit: cover; +} + +.rsc-avatar-placeholder { + width: 80px; + height: 80px; + border-radius: 24px; + background: rgba(109, 40, 217, 0.1); + display: flex; + align-items: center; + justify-content: center; + color: var(--ion-color-primary); + font-size: 32px; + font-weight: 700; +} + +.rsc-info { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} + +.rsc-name { + font-size: 22px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.rsc-relationship { + font-size: 14px; + font-weight: 600; + color: var(--ion-color-primary); + margin: 0; +} + +.rsc-location { + font-size: 14px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.rsc-stats-row { + display: flex; + gap: 12px; + width: 100%; +} + +.rsc-stat-box { + flex: 1; + background: #fafafa; + border-radius: 12px; + padding: 12px; + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} + +.rsc-stat-val { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.rsc-stat-label { + font-size: 12px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.rsc-cta-btn { + --background: var(--ion-color-primary); + --border-radius: 999px; + font-size: 15px; + font-weight: 700; + width: 100%; + height: 52px; + margin: 8px 0 0; +} + +.detail-section-header { + margin: 24px 20px 12px; + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.detail-section-header-with-meta { + display: flex; + align-items: flex-end; + justify-content: space-between; +} + +.detail-section-header-with-meta h2 { + margin: 0; + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.detail-section-header-with-meta p { + margin: 4px 0 0; + font-size: 13px; + color: var(--ion-color-medium); + font-weight: 400; +} + +.recipient-history-date-label { + font-size: 11px; + font-weight: 700; + color: rgba(23, 24, 39, 0.45); + text-transform: uppercase; + letter-spacing: 0.06em; + margin-top: 6px; + margin-bottom: -2px; + margin-left: 4px; +} + +.recipient-history-stack { + margin: 0 20px 20px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.recipient-history-item { + width: 100%; + border: none; + background: #ffffff; + border-radius: 24px; + padding: 14px; + display: flex; + align-items: flex-start; + gap: 12px; + text-align: left; +} + +.recipient-history-item.service-grocery, +.recipient-alert-card.service-grocery { + background: rgba(109, 40, 217, 0.05); +} + +.recipient-history-item.service-medication, +.recipient-alert-card.service-medication { + background: rgba(22, 163, 74, 0.06); +} + +.recipient-history-item.service-electricity, +.recipient-alert-card.service-electricity { + background: rgba(245, 158, 11, 0.08); +} + +.recipient-history-item.service-airtime, +.recipient-alert-card.service-airtime { + background: rgba(249, 115, 22, 0.08); +} + +.recipient-history-badge { + width: 40px; + height: 40px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.recipient-history-badge ion-icon { + font-size: 18px; +} + +.recipient-history-badge.service-grocery, +.recipient-alert-icon-wrap.service-grocery { + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; +} + +.recipient-history-badge.service-medication, +.recipient-alert-icon-wrap.service-medication { + background: rgba(22, 163, 74, 0.14); + color: #16a34a; +} + +.recipient-history-badge.service-electricity, +.recipient-alert-icon-wrap.service-electricity { + background: rgba(245, 158, 11, 0.16); + color: #d97706; +} + +.recipient-history-badge.service-airtime, +.recipient-alert-icon-wrap.service-airtime { + background: rgba(249, 115, 22, 0.14); + color: #ea580c; +} + +.recipient-history-badge.service-default, +.recipient-alert-icon-wrap.service-default { + background: rgba(148, 163, 184, 0.14); + color: #64748b; +} + +.recipient-history-copy { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 6px; +} + +.recipient-history-topline { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; +} + +.recipient-history-title-block { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 2px; +} + +.recipient-history-topline h3 { + margin: 0; + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.recipient-history-support-meta { + margin: 0; + font-size: 12px; + line-height: 1.25; + color: rgba(23, 24, 39, 0.56); +} + +.recipient-history-amount { + flex-shrink: 0; + font-size: 14px; + font-weight: 700; + color: var(--ion-color-primary); + font-variant-numeric: tabular-nums; +} + +.recipient-history-copy p { + margin: 0; + font-size: 13px; + line-height: 1.4; + color: var(--ion-color-medium); +} + +.recipient-history-meta-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; +} + +.recipient-history-meta-row-compact { + align-items: center; +} + +.recipient-history-status { + align-self: flex-start; + border-radius: 999px; + padding: 5px 9px; + font-size: 11px; + font-weight: 700; + text-transform: capitalize; +} + +.recipient-history-trailing { + font-size: 16px; + flex-shrink: 0; +} + +.recipient-history-details-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 8px; +} + +.recipient-history-detail-chip { + background: rgba(255, 255, 255, 0.58); + border-radius: 12px; + padding: 8px 10px; + display: flex; + flex-direction: column; + gap: 2px; +} + +.recipient-history-share-chip { + background: rgba(255, 255, 255, 0.78); + border: none; + border-radius: 12px; + padding: 8px 10px; + display: flex; + align-items: center; + gap: 8px; + text-align: left; + color: #171827; +} + +.recipient-history-share-chip ion-icon { + font-size: 18px; + color: var(--ion-color-primary); + flex-shrink: 0; +} + +.recipient-history-share-chip.service-grocery ion-icon { + color: #6d28d9; +} + +.recipient-history-share-chip.service-medication ion-icon { + color: #16a34a; +} + +.recipient-history-share-chip.is-disabled { + background: rgba(255, 255, 255, 0.52); + color: rgba(23, 24, 39, 0.42); + opacity: 0.58; + cursor: not-allowed; +} + +.recipient-history-share-chip.is-disabled ion-icon, +.recipient-history-share-chip.is-disabled .recipient-history-detail-label, +.recipient-history-share-chip.is-disabled .recipient-history-detail-value { + color: rgba(23, 24, 39, 0.38); +} + +.recipient-history-share-copy { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + +.recipient-history-detail-label { + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.06em; + color: rgba(23, 24, 39, 0.42); +} + +.recipient-history-detail-value { + font-size: 12px; + font-weight: 600; + line-height: 1.25; + color: #171827; +} + +.recipient-history-description { + font-size: 12px; + line-height: 1.35; + color: rgba(23, 24, 39, 0.64); +} + +.recipient-history-status.status-created, +.recipient-alert-pill.status-created, +.recipient-history-trailing.status-created, +.recipient-history-status.status-pending, +.recipient-alert-pill.status-pending, +.recipient-history-trailing.status-pending { + background: rgba(245, 158, 11, 0.14); + color: #b45309; +} + +.recipient-history-status.status-redeemed, +.recipient-alert-pill.status-redeemed, +.recipient-history-trailing.status-redeemed, +.recipient-history-status.status-completed, +.recipient-alert-pill.status-completed, +.recipient-history-trailing.status-completed { + background: rgba(22, 163, 74, 0.14); + color: #16a34a; +} + +.recipient-history-status.status-partial, +.recipient-alert-pill.status-partial, +.recipient-history-trailing.status-partial { + background: rgba(109, 40, 217, 0.12); + color: #6d28d9; +} + +.recipient-history-status.status-default, +.recipient-alert-pill.status-default, +.recipient-history-trailing.status-default { + background: rgba(148, 163, 184, 0.14); + color: #64748b; +} + +@media (max-width: 360px) { + .recipient-history-details-grid { + grid-template-columns: 1fr; + } +} + +.recipient-alerts-stack { + margin: 0 20px 8px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.recipient-alert-card { + background: #ffffff; + border-radius: 24px; + padding: 16px; + display: flex; + align-items: flex-start; + gap: 14px; +} + +.recipient-alert-icon-wrap { + width: 44px; + height: 44px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.recipient-alert-icon-wrap ion-icon { + font-size: 20px; +} + +.recipient-alert-icon-wrap.service-medication ion-icon { + font-size: 22px; +} + +.recipient-alert-copy { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 6px; +} + +.recipient-alert-topline { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; +} + +.recipient-alert-topline h3 { + margin: 0; + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.recipient-alert-copy p { + margin: 0; + font-size: 13px; + line-height: 1.45; + color: var(--ion-color-medium); +} + +.recipient-alert-pill { + flex-shrink: 0; + border-radius: 999px; + padding: 6px 10px; + font-size: 11px; + font-weight: 700; +} + +.recipient-empty-inline-card { + margin: 0 20px 8px; + background: #ffffff; + border-radius: 24px; + padding: 16px; + display: flex; + align-items: center; + gap: 14px; +} + +.recipient-custom-basket-icon { + display: block; +} + +.recipient-empty-inline-icon { + width: 44px; + height: 44px; + border-radius: 12px; + background: rgba(109, 40, 217, 0.08); + color: var(--ion-color-primary); + display: flex; + align-items: center; + justify-content: center; + font-size: 20px; + flex-shrink: 0; +} + +.recipient-empty-inline-copy { + display: flex; + flex-direction: column; + gap: 4px; +} + +.recipient-empty-inline-copy h3 { + margin: 0; + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.recipient-empty-inline-copy p { + margin: 0; + font-size: 13px; + line-height: 1.4; + color: var(--ion-color-medium); +} + +/* Recipient Form */ +.recipient-form-card { + background: #ffffff; + border-radius: 24px; + padding: 16px; + margin: 12px 20px 14px; + display: flex; + flex-direction: column; + gap: 10px; +} + +.rf-photo-picker { + background: #f8f7fb; + border-radius: 24px; + padding: 14px 16px 12px; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + position: relative; + overflow: hidden; +} + +.rf-photo-preview { + width: 64px; + height: 64px; + border-radius: 16px; + object-fit: cover; +} + +.rf-photo-placeholder { + width: 64px; + height: 64px; + border-radius: 16px; + background: rgba(109, 40, 217, 0.1); + display: flex; + align-items: center; + justify-content: center; + color: var(--ion-color-primary); + font-size: 24px; +} + +.rf-photo-label { + font-size: 13px; + font-weight: 600; + color: var(--ion-color-primary); +} + +.rf-photo-input { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; +} + +.rf-input-shell { + min-height: 56px; + background: #f8f7fb; + border: 1.5px solid transparent; + border-radius: 12px; + padding: 8px 16px 7px; + display: flex; + flex-direction: column; + justify-content: center; + gap: 2px; + transition: + background 160ms ease, + border-color 160ms ease, + box-shadow 160ms ease; +} + +.rf-text-shell, +.rf-phone-shell { + width: 100%; + appearance: none; + border-color: transparent; + text-align: left; +} + +.rf-input-shell:focus-within { + background: #ffffff; + border-color: rgba(109, 40, 217, 0.42); + box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.1); +} + +.rf-field-label { + color: rgba(17, 24, 39, 0.62); + font-size: 12px; + font-weight: 650; + line-height: 1.1; + letter-spacing: 0; +} + +.rf-input-shell:focus-within .rf-field-label { + color: var(--ion-color-primary); +} + +.rf-field { + --background: transparent; + --padding-start: 0; + --padding-end: 0; + --padding-top: 0; + --padding-bottom: 0; + --color: #111827; + --placeholder-color: rgba(17, 24, 39, 0.34); + --placeholder-opacity: 1; + --highlight-color-focused: transparent; + --highlight-color-valid: transparent; + --highlight-color-invalid: transparent; + color: #111827; + font-size: 15px; + font-weight: 600; + min-height: 20px; + caret-color: var(--ion-color-primary); +} + +.rf-field::part(native) { + color: #111827; + font-size: 15px; + font-weight: 600; + line-height: 1.25; + padding: 0; + caret-color: var(--ion-color-primary); +} + +.rf-field input::placeholder { + color: rgba(17, 24, 39, 0.34); + font-weight: 400; +} + +.rf-phone-shell { + align-items: stretch; +} + +.rf-phone-row { + display: flex; + align-items: center; + gap: 14px; + min-width: 0; +} + +.rf-phone-prefix { + display: flex; + align-items: center; + gap: 7px; + min-width: 76px; + flex-shrink: 0; + color: #111827; + font-size: 15px; + font-weight: 600; +} + +.rf-phone-flag { + font-size: 17px; + line-height: 1; +} + +.rf-phone-code { + font-variant-numeric: tabular-nums; +} + +.rf-phone-field { + flex: 1; + min-width: 0; +} + +.rf-phone-hint { + font-size: 12px; + color: var(--ion-color-medium); + margin-top: -4px; +} + +.rf-actions { + margin: 0 20px 20px; + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; +} + +.rf-submit-btn { + --background: var(--ion-color-primary); + --border-radius: 999px; + font-size: 15px; + font-weight: 700; + margin: 0; + height: 52px; + width: 100%; +} + +/* Country Bottom Sheet */ +.rf-country-trigger { + width: 100%; + border: 1.5px solid transparent; + background: #f8f7fb; + border-radius: 12px; + padding: 8px 16px 7px; + display: flex; + flex-direction: column; + justify-content: center; + gap: 2px; + text-align: left; + min-height: 56px; + transition: + background 160ms ease, + border-color 160ms ease, + box-shadow 160ms ease; +} + +.rf-country-trigger:focus-visible { + background: #ffffff; + border-color: rgba(109, 40, 217, 0.42); + box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.1); + outline: none; +} + +.rf-country-trigger:disabled { + opacity: 0.6; +} + +.rf-country-label { + font-size: 12px; + font-weight: 650; + color: rgba(17, 24, 39, 0.62); + line-height: 1.1; + letter-spacing: 0; +} + +.rf-country-trigger:focus-visible .rf-country-label { + color: var(--ion-color-primary); +} + +.rf-country-value-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.rf-country-value { + font-size: 15px; + font-weight: 600; + color: #111827; + line-height: 1.25; +} + +.rf-country-value.is-placeholder { + color: rgba(17, 24, 39, 0.34); + font-weight: 400; +} + +.rf-country-chevron { + font-size: 17px; + color: rgba(17, 24, 39, 0.46); + transform: rotate(-90deg); + flex-shrink: 0; +} + +.country-sheet-modal { + --border-radius: 24px 24px 0 0; + --height: min(560px, 72vh); +} + +.country-sheet-modal::part(content) { + height: min(560px, 72vh); + max-height: calc(100vh - var(--ion-safe-area-top) - 24px); + overflow: hidden; +} + +.country-sheet-shell { + height: 100%; + min-height: 360px; + background: #ffffff; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.country-sheet-header { + min-height: 60px; + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + padding: 8px 56px 6px; + position: relative; + background: #ffffff; +} + +.country-sheet-header h2 { + margin: 0; + font-size: 17px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.country-sheet-close { + position: absolute; + right: 12px; + top: 8px; + width: 44px; + height: 44px; + --padding-start: 0; + --padding-end: 0; + --color: var(--ion-color-primary); + margin: 0; +} + +.country-sheet-scroll { + flex: 1; + min-height: 0; + overflow-y: scroll; + overscroll-behavior: contain; + -webkit-overflow-scrolling: touch; + background: #ffffff; + scrollbar-width: none; + -ms-overflow-style: none; + padding-bottom: calc(180px + var(--ion-safe-area-bottom)); +} + +.country-sheet-scroll::-webkit-scrollbar { + display: none; +} + +.country-sheet-list { + padding: 4px 20px 0; + background: transparent; +} + +.country-sheet-option { + width: 100%; + min-height: 52px; + border: none; + background: transparent; + text-align: left; + padding: 14px 0; + border-bottom: 1px solid rgba(17, 24, 39, 0.06); +} + +.country-sheet-option:last-child { + border-bottom: none; +} + +.country-sheet-option-text { + display: flex; + align-items: center; + gap: 8px; + color: var(--ion-color-primary); +} + +.country-sheet-flag { + font-size: 21px; + line-height: 1; + flex-shrink: 0; +} + +.country-sheet-name, +.country-sheet-code { + font-size: 15px; + line-height: 1.25; +} + +.country-sheet-option.is-selected .country-sheet-name, +.country-sheet-option.is-selected .country-sheet-code, +.location-sheet-option.is-selected .location-sheet-name { + font-weight: 700; +} + +.location-sheet-helper { + margin: 0 20px 8px; + padding: 12px 14px; + border-radius: 12px; + background: rgba(109, 40, 217, 0.08); + color: var(--ion-color-primary); + font-size: 13px; + line-height: 1.35; +} + +.location-sheet-group { + padding: 0 20px; +} + +.location-sheet-group-title { + margin: 18px 0 6px; + font-size: 12px; + font-weight: 700; + color: var(--ion-color-medium); + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.location-sheet-option { + padding: 12px 0; +} + +.location-sheet-option-text { + display: flex; + flex-direction: column; + gap: 3px; + color: var(--ion-color-primary); +} + +.location-sheet-name { + font-size: 15px; + line-height: 1.25; +} + +.location-sheet-description { + font-size: 12px; + line-height: 1.3; + color: var(--ion-color-medium); +} diff --git a/src/styles/support.css b/src/styles/support.css new file mode 100644 index 0000000..7ea2169 --- /dev/null +++ b/src/styles/support.css @@ -0,0 +1,2230 @@ +/* Support Flow */ +.support-toolbar { + --background: var(--flow-accent-soft, #fafafa); + --border-width: 0px; + --min-height: 58px; + --padding-start: 8px; + --padding-end: 20px; + color: var(--color-text-primary); +} + +.support-toolbar-title { + color: var(--color-text-primary); + font-size: 18px; + font-weight: 700; +} + +.support-toolbar-title .toolbar-title, +.support-summary-toolbar-title .toolbar-title { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; +} + +.support-summary-toolbar-title { + letter-spacing: -0.02em; +} + +.support-toolbar-service-icon { + width: 32px; + height: 32px; + border-radius: 12px; + background: var(--flow-icon-soft, rgba(109, 40, 217, 0.12)); + color: var(--flow-accent, #6d28d9); + display: inline-flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + vertical-align: middle; +} + +.support-toolbar-service-icon ion-icon { + font-size: 18px; +} + +.support-toolbar-service-image { + width: 24px; + height: 24px; + object-fit: contain; +} + +.support-back-button { + --color: var(--color-text-primary); + --background: #ffffff; + --background-activated: var(--color-surface-raised); + --border-radius: 12px; + --box-shadow: none; + width: 44px; + height: 44px; + margin-left: 8px; +} + +.support-back-button ion-icon { + color: var(--color-text-primary); + font-size: 24px; +} + +.support-step-indicator { + background: #ffffff; + border-radius: 24px; + padding: 14px 16px; + margin: 16px 20px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.ssi-chip { + width: 32px; + height: 32px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: 700; + background: #fafafa; + color: var(--ion-color-medium); + transition: all 0.3s ease; +} + +.ssi-chip.active { + background: var(--flow-accent, var(--ion-color-primary)); + color: #ffffff; +} + +.ssi-chip.completed { + background: var(--flow-accent-soft, rgba(109, 40, 217, 0.1)); + color: var(--flow-accent, var(--ion-color-primary)); +} + +.ssi-line { + flex: 1; + height: 2px; + background: #f4f5f5; + margin: 0 8px; +} + +.ssi-line.active { + background: var(--flow-accent, rgba(109, 40, 217, 0.5)); + opacity: 0.45; +} + +.support-form-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0 20px 12px; +} + +.support-form-card-themed { + background: linear-gradient( + 180deg, + var(--flow-card-soft, #ffffff) 0%, + #ffffff 58% + ); +} + +.support-select, +.support-text-input { + --background: #fafafa; + --color: var(--color-text-primary); + --placeholder-color: var(--color-text-secondary); + --placeholder-opacity: 1; + --border-radius: 12px; + --padding-start: 16px; + --padding-end: 16px; + min-height: 54px; + border-radius: 12px; + background: #fafafa; +} + +.support-payment-select-wrap { + margin-top: 16px; +} + +.support-payment-select-label { + display: block; + margin-bottom: 8px; + font-size: 13px; + font-weight: 600; + color: #171827; +} + +.support-payment-trigger-copy { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; + flex: 1; +} + +.support-payment-trigger-name { + font-size: 15px; + font-weight: 700; + color: #171827; +} + +.support-payment-trigger-detail { + font-size: 12px; + color: rgba(23, 24, 39, 0.56); + line-height: 1.35; +} + +.support-payment-preview, +.support-payment-sheet-option { + width: 100%; + border: none; + border-radius: 16px; + background: #fafafa; + padding: 14px 16px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.support-payment-preview-button { + cursor: pointer; +} + +.support-payment-preview-chevron { + flex-shrink: 0; + color: rgba(23, 24, 39, 0.5); + font-size: 18px; +} + +.support-payment-modal { + --border-radius: 18px 18px 0 0; +} + +.support-payment-modal::part(content) { + border-radius: 18px 18px 0 0; +} + +.support-payment-modal::part(backdrop) { + border-radius: 18px 18px 0 0; +} + +.support-payment-sheet-content { + --padding-bottom: calc(40px + var(--ion-safe-area-bottom)); +} + +.support-payment-sheet { + padding: 12px 20px calc(56px + var(--ion-safe-area-bottom)); + min-height: 100%; +} + +.support-payment-sheet-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 20px; +} + +.support-payment-sheet-title { + margin: 0 0 4px; + font-size: 18px; + font-weight: 700; + color: #171827; +} + +.support-payment-sheet-subtitle { + margin: 0; + font-size: 13px; + color: rgba(23, 24, 39, 0.56); + line-height: 1.45; +} + +.support-payment-sheet-close { + width: 36px; + height: 36px; + border: none; + border-radius: 12px; + background: #f5f5f5; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.support-payment-sheet-close ion-icon { + font-size: 20px; + color: #171827; +} + +.support-payment-sheet-list { + display: flex; + flex-direction: column; + gap: 14px; + background: transparent; + padding: 0 0 calc(132px + var(--ion-safe-area-bottom)); + margin-bottom: calc(24px + var(--ion-safe-area-bottom)); +} + +.support-payment-sheet-option { + box-shadow: inset 0 0 0 1px rgba(23, 24, 39, 0.04); +} + +.support-payment-sheet-option.selected { + background: rgba(109, 40, 217, 0.08); + box-shadow: inset 0 0 0 1.5px rgba(109, 40, 217, 0.18); +} + +.support-payment-selected-dot { + width: 10px; + height: 10px; + border-radius: 999px; + background: #6d28d9; + flex-shrink: 0; +} + +.support-payment-method-icon { + width: 44px; + height: 44px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-size: 20px; +} + +.support-payment-method-icon ion-icon { + font-size: 20px; +} + +.support-google-pay-mark { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 2px; + font-family: Arial, Helvetica, sans-serif; + line-height: 1; +} + +.support-google-pay-g { + width: 18px; + height: 18px; + display: block; + flex-shrink: 0; +} + +.support-google-pay-pay { + font-size: 11px; + font-weight: 700; + color: #3c4043; + letter-spacing: -0.4px; +} + +.support-payment-method-icon-card { + background: linear-gradient( + 135deg, + rgba(109, 40, 217, 0.14), + rgba(124, 58, 237, 0.22) + ); + color: #6d28d9; +} + +.support-payment-method-icon-apple { + background: linear-gradient(135deg, #101828, #1f2937); + color: #ffffff; +} + +.support-payment-method-icon-apple ion-icon { + color: #ffffff; +} + +.support-payment-method-icon-google { + background: linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%); + box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05); + color: #4285f4; +} + +.support-payment-method-icon-paypal { + background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); + color: #003087; +} + +.support-payment-method-icon-paypal ion-icon { + font-size: 22px; +} + +.support-payment-sheet-option:last-child { + margin-bottom: calc(64px + var(--ion-safe-area-bottom)); +} + +.support-recipient-trigger { + width: 100%; + min-height: 76px; + border: none; + border-radius: 12px; + background: #fafafa; + padding: 14px 16px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.support-recipient-trigger-left, +.support-recipient-sheet-item-left { + display: flex; + align-items: center; + gap: 12px; + min-width: 0; +} + +.support-recipient-avatar { + width: 44px; + height: 44px; + flex-shrink: 0; + background: rgba(109, 40, 217, 0.12); +} + +.support-recipient-avatar img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.support-recipient-avatar-fallback { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: 700; + color: #6d28d9; +} + +.support-recipient-copy { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 3px; + min-width: 0; +} + +.support-recipient-name { + font-size: 15px; + font-weight: 600; + color: #171827; +} + +.support-recipient-hint { + font-size: 12px; + color: rgba(23, 24, 39, 0.56); + text-align: left; +} + +.support-recipient-chevron { + flex-shrink: 0; + color: rgba(23, 24, 39, 0.5); + font-size: 18px; +} + +.support-recipient-modal { + --border-radius: 18px 18px 0 0; +} + +.support-recipient-modal::part(content) { + border-radius: 18px 18px 0 0; +} + +.support-recipient-modal::part(backdrop) { + border-radius: 18px 18px 0 0; +} + +.support-recipient-sheet { + padding: 12px 20px calc(24px + var(--ion-safe-area-bottom)); +} + +.support-recipient-sheet-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 18px; +} + +.support-recipient-sheet-title { + margin: 0 0 4px; + font-size: 18px; + font-weight: 700; + color: #171827; +} + +.support-recipient-sheet-subtitle { + margin: 0; + font-size: 13px; + color: rgba(23, 24, 39, 0.56); + line-height: 1.45; +} + +.support-recipient-sheet-close { + width: 36px; + height: 36px; + border: none; + border-radius: 12px; + background: #f5f5f5; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.support-recipient-sheet-close ion-icon { + font-size: 20px; + color: #171827; +} + +.support-recipient-sheet-list { + display: flex; + flex-direction: column; + gap: 10px; +} + +.support-recipient-sheet-item { + width: 100%; + border: none; + border-radius: 16px; + background: #fafafa; + padding: 14px 16px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.support-recipient-sheet-item.selected { + background: rgba(109, 40, 217, 0.08); +} + +.support-recipient-sheet-avatar { + width: 48px; + height: 48px; +} + +.support-recipient-selected-dot { + width: 10px; + height: 10px; + border-radius: 999px; + background: #6d28d9; + flex-shrink: 0; +} + +.category-explainer-card { + width: 100%; +} + +.sfc-title { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 0 16px; +} + +.support-context-row { + display: flex; + align-items: flex-start; + gap: 12px; + margin-bottom: 16px; +} + +.support-context-row-amount { + margin-bottom: 20px; +} + +.support-context-avatar-wrap { + position: relative; + width: 74px; + height: 74px; + flex-shrink: 0; +} + +.support-context-avatar { + width: 67px; + height: 67px; + background: var(--flow-icon-soft, rgba(109, 40, 217, 0.12)); +} + +.support-context-avatar img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.support-context-badge { + position: absolute; + right: 0; + bottom: 0; + width: 24px; + height: 24px; + border-radius: 12px; + background: var(--flow-icon-soft, rgba(109, 40, 217, 0.12)); + color: var(--flow-accent, #6d28d9); + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 0 0 3px #ffffff; +} + +.support-context-badge ion-icon { + font-size: 22px; +} + +.support-context-badge-image { + width: 22.5px; + height: 22.5px; + object-fit: contain; +} + +.support-context-icon { + width: 44px; + height: 44px; + border-radius: 12px; + background: var(--flow-icon-soft, rgba(109, 40, 217, 0.12)); + color: var(--flow-accent, #6d28d9); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.support-context-icon ion-icon { + font-size: 22px; +} + +.support-context-image { + width: 30px; + height: 30px; + object-fit: contain; +} + +.support-step-kicker { + margin: 0 0 4px; + color: var(--flow-accent, #6d28d9); + font-size: 12px; + font-weight: 700; +} + +.support-themed-title { + margin-bottom: 0; +} + +.support-recurring-icon { + width: 40px; + height: 40px; + border-radius: 12px; + background: var(--flow-accent-soft, rgba(109, 40, 217, 0.1)); + color: var(--flow-accent, #6d28d9); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.support-recurring-icon ion-icon { + font-size: 20px; +} + +.support-amount-hint { + margin: 2px 0 0; + color: rgba(23, 24, 39, 0.58); + font-size: 13px; + line-height: 1.4; +} + +/* Service Type Cards */ +.service-type-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 12px; +} + +.service-type-card { + background: var(--service-card-bg, #fafafa); + border: 2px solid transparent; + border-radius: 16px; + padding: 16px; + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; + transition: all 0.2s ease; +} + +.service-type-card.selected { + background: var(--service-tint, rgba(109, 40, 217, 0.08)); + border-color: var(--service-accent, var(--ion-color-primary)); +} + +.stc-icon-box { + width: 48px; + height: 48px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; + flex-shrink: 0; +} + +.stc-icon-box ion-icon { + font-size: 24px; +} + +.service-type-card.service-medication .stc-icon-box ion-icon { + font-size: 22px; +} + +.support-service-image { + display: block; + object-fit: contain; +} + +.support-service-image-grocery { + width: 33px; + height: 33px; +} + +.stc-label { + font-size: 14px; + font-weight: 600; + color: var(--ion-color-dark); +} + +/* Amount Selection */ +.amount-preset-chips { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-bottom: 16px; +} + +.amount-chip { + padding: 10px 20px; + border-radius: 999px; + background: #fafafa; + color: var(--ion-color-dark); + font-size: 15px; + font-weight: 600; + border: 2px solid transparent; +} + +.amount-chip.active { + background: rgba(109, 40, 217, 0.1); + border-color: var(--ion-color-primary); + color: var(--ion-color-primary); +} + +.support-form-card-themed .amount-chip.active { + background: var(--flow-accent-soft, rgba(109, 40, 217, 0.1)); + border-color: var(--flow-accent, var(--ion-color-primary)); + color: var(--flow-accent, var(--ion-color-primary)); +} + +.custom-amount-input { + --background: #fafafa; + --border-radius: 12px; + --padding-start: 16px; + font-size: 21px; + font-weight: 700; +} + +/* Inline Action Card */ +.support-page-shell { + display: flex; + flex-direction: column; + gap: 12px; + padding-bottom: calc(20px + var(--ion-safe-area-bottom)); +} + +.support-inline-action-card { + margin: 0 20px calc(20px + var(--ion-safe-area-bottom)); + padding: 16px 18px; + border-radius: 24px; + background: rgba(255, 255, 255, 0.96); + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; +} + +.ssb-info { + display: flex; + flex-direction: column; +} + +.ssb-label { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.ssb-total { + font-size: 18px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0; +} + +.ssb-btn { + --background: var(--flow-accent, var(--ion-color-primary)); + --background-activated: var(--flow-accent, var(--ion-color-primary)); + --border-radius: 999px; + font-size: 15px; + font-weight: 700; + margin: 0; + min-width: 140px; +} + +.support-payment-result-card { + background: #ffffff; + border-radius: 24px; + padding: 24px; + margin: 16px 20px 12px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 16px; +} + +.sprc-icon-shell { + width: 64px; + height: 64px; + border-radius: 24px; + display: flex; + align-items: center; + justify-content: center; +} + +.sprc-icon-shell.success { + background: rgba(22, 163, 74, 0.12); + color: #16a34a; +} + +.sprc-icon-shell.failure { + background: rgba(239, 68, 68, 0.12); + color: #dc2626; +} + +.sprc-icon-shell ion-icon { + font-size: 32px; +} + +.sprc-eyebrow { + margin: 0; + color: rgba(23, 24, 39, 0.48); + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +.sprc-title { + margin: 0 0 6px; + color: #171827; + font-size: 26px; + font-weight: 700; + line-height: 1.12; +} + +.sprc-body { + margin: 0; + color: rgba(23, 24, 39, 0.62); + font-size: 14px; + line-height: 1.5; +} + +.sprc-summary-slab { + width: 100%; + background: #fafafa; + border-radius: 16px; + padding: 14px 16px; + display: flex; + flex-direction: column; + gap: 10px; + text-align: left; +} + +.sprc-summary-row { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; + font-size: 14px; +} + +.sprc-summary-row span { + color: rgba(23, 24, 39, 0.56); +} + +.sprc-summary-row strong { + color: #171827; + font-weight: 700; +} + +.sprc-actions { + width: 100%; + display: flex; + flex-direction: column; + gap: 10px; + margin-top: 8px; +} + +.sprc-primary-btn { + --background: var(--flow-accent, var(--ion-color-primary)); + --background-activated: var(--flow-accent, var(--ion-color-primary)); + --border-radius: 999px; + margin: 0; + min-height: 48px; + font-size: 15px; + font-weight: 700; +} + +.sprc-secondary-btn { + --background: #fafafa; + --color: #171827; + --border-radius: 999px; + --box-shadow: none; + margin: 0; + min-height: 48px; + font-size: 15px; + font-weight: 700; +} + +/* Orders List */ +.orders-filter-row { + display: flex; + overflow-x: auto; + padding: 0 20px 12px; + margin: 8px 0 0; + gap: 8px; + scroll-snap-type: x mandatory; +} + +.orders-filter-row::-webkit-scrollbar { + display: none; +} + +.status-filter-chip { + padding: 8px 16px; + border-radius: 999px; + font-size: 13px; + font-weight: 600; + white-space: nowrap; + scroll-snap-align: start; +} + +.status-filter-chip.active { + background: var(--ion-color-primary); + color: #ffffff; +} + +.status-filter-chip.inactive { + background: #ffffff; + color: var(--ion-color-medium); +} + +.order-summary-card { + background: #ffffff; + border-radius: 24px; + padding: 16px; + margin: 0 20px 12px; + display: flex; + align-items: center; + gap: 16px; +} + +.osc-icon { + width: 48px; + height: 48px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; + flex-shrink: 0; +} + +.osc-info { + flex: 1; +} + +.osc-title { + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); + margin: 0 0 2px; +} + +.osc-subtitle { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0 0 4px; +} + +.osc-date { + font-size: 12px; + font-weight: 400; + color: #9ca3af; + margin: 0; +} + +.osc-meta { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 6px; +} + +.osc-amount { + font-size: 15px; + font-weight: 700; + color: var(--ion-color-dark); +} + +.osc-badge { + padding: 4px 8px; + border-radius: 999px; + font-size: 11px; + font-weight: 700; + display: flex; + align-items: center; + gap: 4px; +} + +/* Order Detail */ +.order-status-summary { + background: #ffffff; + border-radius: 24px; + padding: 24px 20px 22px; + margin: 20px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.order-status-summary-modern { + position: relative; + overflow: hidden; + padding: 16px; + background: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.98) 0%, + #ffffff 100% + ); +} + +.order-status-summary-glow { + position: absolute; + right: -28px; + top: -38px; + width: 168px; + height: 168px; + border-radius: 999px; + background: radial-gradient( + circle, + var(--service-soft, rgba(109, 40, 217, 0.12)) 0%, + rgba(255, 255, 255, 0) 72% + ); + pointer-events: none; +} + +.order-status-summary-topline { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + position: relative; + z-index: 1; +} + +.order-status-meta-row { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; +} + +.order-status-badge { + min-height: 28px; + padding: 0 12px; + border-radius: 999px; + display: inline-flex; + align-items: center; + font-size: 12px; + font-weight: 700; + flex-shrink: 0; +} + +.order-status-recipient { + color: rgba(23, 24, 39, 0.62); + font-size: 13px; + font-weight: 600; +} + +.order-status-summary-core { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + position: relative; + z-index: 1; +} + +.order-status-summary-core-refined { + align-items: flex-start; + gap: 14px; +} + +.order-status-summary-hero-copy { + flex: 1; + min-width: 0; + text-align: left; + padding-top: 6px; +} + +.order-status-summary-title-row-refined { + display: flex; + align-items: center; + gap: 16px; + margin-bottom: 10px; +} + +.order-status-summary-title-copy { + min-width: 0; + display: flex; + align-items: center; + min-height: 70px; + flex: 1; +} + +.order-status-summary-title-copy .oss-title { + width: 100%; + font-size: 22px; + line-height: 1.06; + overflow-wrap: normal; + word-break: normal; +} + +.order-status-summary-title-row { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 6px; +} + +.order-status-summary-service-badge { + width: 70px; + height: 70px; + border-radius: 20px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.order-status-summary-service-badge-large { + width: 70px; + height: 70px; + border-radius: 20px; +} + +.order-status-summary-service-badge .support-service-icon-vector { + font-size: 35px; +} + +.order-status-summary-service-badge-large .support-service-icon-vector { + font-size: 42px; +} + +.order-status-summary-service-badge .support-service-image { + width: 38px; + height: 38px; +} + +.order-status-summary-service-badge-large .support-service-image { + width: 48px; + height: 48px; +} + +.order-status-summary-hero-art { + flex-shrink: 0; +} + +.order-status-summary-label { + margin: 0 0 6px; + color: rgba(23, 24, 39, 0.5); + font-size: 11px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.order-status-summary-finance-row { + display: flex; + align-items: center; + gap: 12px; + border-radius: 24px; + background: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.94) 0%, + #fafafa 100% + ); + padding: 14px 16px; + position: relative; + z-index: 1; +} + +.order-status-summary-finance-block { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 4px; +} + +.order-status-summary-finance-block.align-end { + text-align: right; + align-items: flex-end; +} + +.order-status-summary-finance-label { + color: rgba(23, 24, 39, 0.48); + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +.order-status-summary-finance-block strong { + color: #171827; + font-size: 19px; + font-weight: 600; + font-variant-numeric: tabular-nums; +} + +.order-status-summary-finance-divider { + width: 1px; + align-self: stretch; + background: rgba(23, 24, 39, 0.08); +} + +.order-detail-recipient-hero-avatar-shell { + position: relative; + width: 102px; + height: 102px; + flex-shrink: 0; +} + +.order-detail-recipient-hero-avatar, +.order-detail-recipient-hero-avatar-fallback { + width: 100%; + height: 100%; + border-radius: 28px; + background: #f3f1f8; + display: flex; + align-items: center; + justify-content: center; +} + +.order-detail-recipient-hero-avatar { + object-fit: cover; +} + +.order-detail-recipient-hero-avatar-fallback { + color: #6d28d9; + font-size: 30px; + font-weight: 700; +} + +.order-detail-recipient-hero-badge { + position: absolute; + right: -3px; + bottom: -3px; + width: 34px; + height: 34px; + border-radius: 999px; + display: flex; + align-items: center; + justify-content: center; + border: 2px solid #ffffff; + box-shadow: 0 6px 14px rgba(23, 24, 39, 0.12); + overflow: hidden; +} + +.order-detail-recipient-hero-badge.order-service-card-grocery { + background: #f1e7fb; + color: #6d28d9; +} + +.order-detail-recipient-hero-badge.order-service-card-medication { + background: #e8f7ee; + color: #16a34a; +} + +.order-detail-recipient-hero-badge.order-service-card-airtime { + background: #eaf3ff; + color: #2563eb; +} + +.order-detail-recipient-hero-badge.order-service-card-electricity { + background: #fff2df; + color: #d97706; +} + +.order-detail-recipient-hero-badge .support-service-icon-vector { + font-size: 15px; + --ionicon-stroke-width: 48px; +} + +.order-detail-recipient-hero-badge .order-detail-basket-image { + width: 24px; + height: 24px; +} + +.support-service-icon-vector { + font-size: 30px; +} + +.order-service-card-grocery { + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; +} + +.order-service-card-medication { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.order-service-card-airtime { + background: rgba(37, 99, 235, 0.1); + color: #2563eb; +} + +.order-service-card-electricity { + background: rgba(245, 158, 11, 0.12); + color: #d97706; +} + +undefined .money-breakdown-list { + background: #ffffff; + border-radius: 24px; + padding: 16px 20px; + margin: 0 20px 12px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.mbl-row { + display: flex; + justify-content: space-between; + font-size: 14px; + color: var(--ion-color-medium); +} + +.support-review-primary-row { + margin-bottom: 8px; +} + +.support-redemption-note { + display: flex; + align-items: flex-start; + gap: 12px; + margin: 0 0 14px; + padding: 12px 14px; + border-radius: 12px; + background: var(--flow-accent-soft, rgba(109, 40, 217, 0.08)); +} + +.support-redemption-note-icon { + width: 36px; + height: 36px; + border-radius: 12px; + background: var(--flow-icon-soft, rgba(109, 40, 217, 0.12)); + color: var(--flow-accent, #6d28d9); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.support-redemption-note-icon ion-icon { + font-size: 29px; +} + +.support-redemption-note-icon img { + width: 29px; + height: 29px; + object-fit: contain; + transform: scale(1.08); + transform-origin: center; +} + +.support-redemption-note-copy { + display: flex; + flex-direction: column; + gap: 3px; + min-width: 0; +} + +.support-redemption-note-title { + margin: 0; + color: #171827; + font-size: 13px; + font-weight: 600; + line-height: 1.35; +} + +.support-redemption-note-subtitle { + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 12px; + line-height: 1.4; +} + +.mbl-row.total { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-dark); + border-top: 1px solid var(--color-border); + padding-top: 12px; + margin-top: 4px; +} + +.order-detail-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0 20px 12px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.order-detail-card-modern { + background: #ffffff; +} + +.order-detail-card-route { + background: #ffffff; +} + +.order-detail-section-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + +.order-detail-section-header.modern { + align-items: center; +} + +.order-detail-section-header-summary { + margin-bottom: 4px; +} + +.order-detail-section-header.compact { + margin-bottom: -4px; +} + +.order-detail-section-kicker { + margin: 0 0 4px; + color: rgba(23, 24, 39, 0.56); + font-size: 12px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +.order-detail-section-title { + margin: 0; + color: #171827; + font-size: 18px; + font-weight: 700; + line-height: 1.25; +} + +.order-detail-section-subtitle { + margin: 6px 0 0; + color: rgba(23, 24, 39, 0.56); + font-size: 13px; + line-height: 1.45; +} + +.order-detail-total-chip { + min-height: 32px; + padding: 0 12px; + border-radius: 999px; + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; + display: inline-flex; + align-items: center; + font-size: 12px; + font-weight: 700; + flex-shrink: 0; +} + +.order-detail-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.order-detail-grid.compact { + gap: 10px; +} + +.order-detail-tile { + min-width: 0; + border-radius: 12px; + background: #fafafa; + padding: 14px; + display: flex; + align-items: flex-start; + gap: 12px; +} + +.order-detail-tile-wide { + grid-column: 1 / -1; +} + +.order-detail-tile-service { + background: linear-gradient( + 180deg, + rgba(109, 40, 217, 0.04) 0%, + #fafafa 100% + ); +} + +.order-detail-tile-service-compact { + align-items: center; +} + +.order-detail-tile-amount { + background: rgba(22, 163, 74, 0.06); +} + +.order-detail-tile-time { + background: rgba(245, 158, 11, 0.08); +} + +.order-detail-tile-payment { + background: rgba(37, 99, 235, 0.07); +} + +.order-detail-tile.order-service-card-grocery, +.order-detail-tile.order-service-card-medication, +.order-detail-tile.order-service-card-airtime, +.order-detail-tile.order-service-card-electricity { + color: inherit; +} + +.order-detail-tile-icon { + width: 44px; + height: 44px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.order-detail-tile-icon ion-icon { + font-size: 20px; +} + +.order-detail-tile-icon.order-service-card-grocery { + background: rgba(109, 40, 217, 0.12); + color: #6d28d9; +} + +.order-detail-tile-icon.order-service-card-medication { + background: rgba(22, 163, 74, 0.12); + color: #16a34a; +} + +.order-detail-tile-icon.order-service-card-airtime { + background: rgba(37, 99, 235, 0.12); + color: #2563eb; +} + +.order-detail-tile-icon.order-service-card-electricity { + background: rgba(245, 158, 11, 0.14); + color: #d97706; +} + +.order-detail-tile-icon.is-green-soft { + background: rgba(22, 163, 74, 0.12); + color: #16a34a; +} + +.order-detail-tile-icon.is-amber-soft { + background: rgba(245, 158, 11, 0.14); + color: #d97706; +} + +.order-detail-tile-icon.is-blue-soft { + background: rgba(37, 99, 235, 0.12); + color: #2563eb; +} + +.order-detail-basket-image { + width: 54px; + height: 54px; + object-fit: contain; +} + +.order-detail-tile-icon .order-detail-basket-image { + width: 24px; + height: 24px; +} + +.order-detail-tile-label { + margin: 0 0 4px; + color: rgba(23, 24, 39, 0.56); + font-size: 12px; + font-weight: 600; +} + +.order-detail-tile-value { + margin: 0; + color: #171827; + font-size: 14px; + font-weight: 700; + line-height: 1.35; +} + +.order-detail-tile-note { + margin: 6px 0 0; + color: rgba(23, 24, 39, 0.5); + font-size: 12px; + line-height: 1.4; +} + +.compact-metric { + align-items: center; +} + +.compact-metric .order-detail-tile-value { + font-size: 16px; +} + +.order-detail-voucher-shell { + border-radius: 20px; + background: linear-gradient( + 180deg, + var(--service-soft, rgba(109, 40, 217, 0.08)) 0%, + #fafafa 100% + ); + padding: 20px; + display: flex; + flex-direction: column; + align-items: center; + gap: 16px; +} + +.order-detail-voucher-qr-wrap { + width: 100%; + display: flex; + justify-content: center; +} + +.order-detail-voucher-qr-frame { + width: 208px; + height: 208px; + border-radius: 24px; + background: #ffffff; + display: flex; + align-items: center; + justify-content: center; + padding: 16px; +} + +.order-detail-voucher-missing { + background: #fdfdfd; + border: 1px dashed rgba(23, 24, 39, 0.12); + padding: 32px 20px; + text-align: center; + gap: 8px; +} + +.odv-missing-icon { + font-size: 32px; + color: rgba(23, 24, 39, 0.24); + margin-bottom: 4px; +} + +.odv-missing-title { + margin: 0; + color: #171827; + font-size: 16px; + font-weight: 600; +} + +.odv-missing-helper { + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 14px; + line-height: 1.5; + max-width: 280px; +} + +.order-detail-voucher-qr-frame svg { + display: block; + width: 176px; + height: 176px; +} + +.order-detail-voucher-copy { + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + text-align: center; +} + +.order-detail-voucher-code-label { + margin: 0; + color: rgba(23, 24, 39, 0.54); + font-size: 11px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.order-detail-voucher-code { + margin: 0; + color: #171827; + font-size: 22px; + font-weight: 700; + letter-spacing: 0.04em; +} + +.order-detail-voucher-helper { + margin: 0; + color: rgba(23, 24, 39, 0.6); + font-size: 13px; + line-height: 1.45; + max-width: 260px; +} + +.order-detail-inline-voucher-slot { + position: relative; + border-radius: 24px; + background: linear-gradient( + 180deg, + var(--service-soft, rgba(109, 40, 217, 0.1)) 0%, + rgba(255, 255, 255, 0.72) 130% + ); + padding: 14px 16px 16px; + display: flex; + flex-direction: column; + gap: 8px; +} + +.order-detail-inline-voucher-body { + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; +} + +.order-detail-inline-voucher-frame { + width: 280px; + height: 280px; + border-radius: 24px; + background: #ffffff; + display: flex; + align-items: center; + justify-content: center; + padding: 12px; +} + +.order-detail-inline-voucher-frame svg { + display: block; + width: 252px; + height: 252px; +} + +.order-detail-inline-voucher-copy { + display: flex; + flex-direction: column; + align-items: center; + gap: 3px; + text-align: center; +} + +.order-detail-inline-voucher-footer { + position: absolute; + right: 14px; + bottom: 16px; + z-index: 2; + display: flex; + justify-content: flex-end; +} + +.order-detail-inline-voucher-share { + width: 42px; + height: 42px; + border: none; + border-radius: 12px; + background: rgba(255, 255, 255, 0.88); + color: var(--service-accent, #6d28d9); + display: inline-flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + cursor: pointer; +} + +.order-detail-inline-voucher-share ion-icon { + font-size: 22px; +} + +.order-detail-inline-voucher-code-label { + margin: 0; + color: rgba(23, 24, 39, 0.46); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.order-detail-inline-voucher-code { + margin: 0; + color: #171827; + font-size: 19px; + font-weight: 700; + letter-spacing: 0.05em; +} + +.order-detail-receipt-block { + border-radius: 20px; + background: #fafafa; + padding: 4px; + margin-top: 8px; +} + +.order-detail-breakdown { + background: #fafafa; + margin: 0; + padding: 16px; +} + +.order-detail-breakdown.modern { + box-shadow: none; +} + +.order-detail-list { + display: flex; + flex-direction: column; + gap: 14px; +} + +.modern-route-list { + gap: 0; + border-radius: 20px; + background: #fafafa; + padding: 4px 0; +} + +.order-detail-list-row { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; + font-size: 14px; + padding: 12px 16px; +} + +.order-detail-list-row + .order-detail-list-row { + border-top: 1px solid rgba(23, 24, 39, 0.06); +} + +.order-detail-list-row span { + color: rgba(23, 24, 39, 0.56); +} + +.order-detail-list-row strong { + color: #171827; + font-weight: 700; + text-align: right; +} + +.order-detail-activity-card { + gap: 12px; +} + +.order-detail-activity-list { + margin: 0; + padding: 0; +} + +.voucher-preview-card { + background: #ffffff; + border-radius: 24px; + padding: 20px; + margin: 0 20px 12px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.vpc-info { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; +} + +.vpc-label { + font-size: 13px; + font-weight: 600; + color: var(--ion-color-medium); + margin: 0; +} + +.vpc-code { + font-size: 16px; + font-weight: 700; + color: var(--ion-color-primary); + margin: 0; + letter-spacing: 1px; +} + +.vpc-helper { + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 12px; + line-height: 1.4; +} + +.vpc-btn { + --background: rgba(109, 40, 217, 0.1); + --color: var(--ion-color-primary); + --border-radius: 12px; + --box-shadow: none; + font-weight: 600; + margin: 0; +} + +/* Voucher Detail Hero */ +.voucher-hero-card { + background: #ffffff; + border-radius: 24px; + padding: 24px; + margin: 20px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 20px; +} + +.vhc-code-pill { + background: rgba(109, 40, 217, 0.1); + color: var(--ion-color-primary); + padding: 8px 16px; + border-radius: 999px; + font-size: 16px; + font-weight: 700; + letter-spacing: 1px; +} + +.vhc-qr-placeholder { + width: 220px; + height: 220px; + border-radius: 24px; + background: #fafafa; + display: flex; + align-items: center; + justify-content: center; +} + +.vhc-qr-placeholder ion-icon { + font-size: 64px; + color: var(--ion-color-medium); + opacity: 0.5; +} + +.vhc-expiry { + font-size: 14px; + font-weight: 600; + color: var(--ion-color-dark); + margin: 0; +} + +.vhc-merchant { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-medium); + margin: 0; +} + +.voucher-balance-card { + margin: 0 20px 16px; + padding: 18px; + border-radius: 24px; + background: rgba(255, 255, 255, 0.94); + display: flex; + flex-direction: column; + gap: 14px; +} + +.voucher-balance-head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + +.voucher-balance-title { + margin: 0 0 4px; + color: #171827; + font-size: 16px; + font-weight: 700; +} + +.voucher-balance-subtitle { + margin: 0; + color: rgba(23, 24, 39, 0.56); + font-size: 12px; + line-height: 1.4; +} + +.voucher-balance-total { + color: #171827; + font-size: 20px; + font-weight: 400; + font-variant-numeric: tabular-nums; +} + +.voucher-balance-pills { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.voucher-balance-pill { + min-height: 28px; + border-radius: 999px; + padding: 0 12px; + display: inline-flex; + align-items: center; + font-size: 12px; + font-weight: 700; +} + +.voucher-balance-pill.is-redeemed { + background: rgba(22, 163, 74, 0.1); + color: #16a34a; +} + +.voucher-balance-pill.is-remaining { + background: rgba(245, 158, 11, 0.12); + color: #d97706; +} + +.voucher-redemption-history { + display: flex; + flex-direction: column; + gap: 10px; +} + +.voucher-redemption-history-title { + margin: 0; + color: #171827; + font-size: 13px; + font-weight: 700; +} + +.voucher-redemption-row { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; + padding: 12px 0; +} + +.voucher-redemption-row + .voucher-redemption-row { + border-top: 1px solid rgba(23, 24, 39, 0.06); +} + +.voucher-redemption-merchant, +.voucher-redemption-amount { + margin: 0; + color: #171827; + font-size: 14px; + font-weight: 700; +} + +.voucher-redemption-date { + margin: 3px 0 0; + color: rgba(23, 24, 39, 0.54); + font-size: 11px; + line-height: 1.3; +} + +.voucher-redemption-right { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 5px; + flex-shrink: 0; +} + +.voucher-redemption-status { + min-height: 22px; + border-radius: 999px; + padding: 0 8px; + background: rgba(109, 40, 217, 0.1); + color: #6d28d9; + display: inline-flex; + align-items: center; + font-size: 10px; + font-weight: 700; + text-transform: capitalize; +} + +.security-note-card { + background: rgba(22, 163, 74, 0.08); + border-radius: 16px; + padding: 16px; + margin: 0 20px; + display: flex; + align-items: flex-start; + gap: 12px; +} + +.oss-title { + margin: 0; + font-size: 24px; + font-weight: 700; + color: #171827; + line-height: 1.1; + letter-spacing: -0.01em; +} + +.oss-subtitle { + margin: 8px 0 0; + padding-left: 0; + max-width: 240px; + font-size: 13px; + font-weight: 500; + color: rgba(23, 24, 39, 0.56); + line-height: 1.45; +} + +.snc-icon { + font-size: 20px; + color: var(--ion-color-success); +} + +.snc-text { + font-size: 13px; + font-weight: 400; + color: var(--ion-color-dark); + line-height: 1.4; + margin: 0; +} + +.order-detail-send-again-button { + text-transform: none; + letter-spacing: -0.01em; +} + +.order-detail-send-again-button::part(native) { + font-size: 16px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 12px; + padding: 0 22px; +} + +.order-detail-send-again-button__label { + color: #ffffff; + font-size: 16px; + font-weight: 800; + line-height: 1; + letter-spacing: -0.01em; +} + +.order-detail-send-again-button.order-tone-grocery { + --background: #6d28d9; + --background-activated: #5b21b6; + --color: #ffffff; +} + +.order-detail-send-again-button.order-tone-medication { + --background: #16a34a; + --background-activated: #15803d; + --color: #ffffff; +} + +.order-detail-send-again-button.order-tone-airtime { + --background: #2563eb; + --background-activated: #1d4ed8; + --color: #ffffff; +} + +.order-detail-send-again-button.order-tone-electricity { + --background: #d97706; + --background-activated: #b45309; + --color: #ffffff; +} + +.order-detail-send-again-button__icon { + width: 28px; + height: 28px; + border-radius: 999px; + background: #ffffff; + display: inline-flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + margin-right: 4px; +} + +.order-detail-send-again-button__icon ion-icon { + font-size: 18px; + --ionicon-stroke-width: 42px; +} + +.order-detail-send-again-button.order-tone-grocery + .order-detail-send-again-button__icon { + color: #6d28d9; +} + +.order-detail-send-again-button.order-tone-medication + .order-detail-send-again-button__icon { + color: #16a34a; +} + +.order-detail-send-again-button.order-tone-airtime + .order-detail-send-again-button__icon { + color: #2563eb; +} + +.order-detail-send-again-button.order-tone-electricity + .order-detail-send-again-button__icon { + color: #d97706; +} + +.order-detail-send-again-button__icon .home-custom-icon.is-basket { + width: 40px; + height: 40px; +} diff --git a/src/supabase.ts b/src/supabase.ts new file mode 100644 index 0000000..48a0919 --- /dev/null +++ b/src/supabase.ts @@ -0,0 +1,7 @@ +import { createClient } from '@supabase/supabase-js'; +import type { Database } from './database.types'; + +export const supabase = createClient( + 'https://pdtnuymihtxnhmzaybif.supabase.co', + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBkdG51eW1paHR4bmhtemF5YmlmIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODE5NTQwOTYsImV4cCI6MjA5NzUzMDA5Nn0.k-3YKruldYrh88JSt4E-Q8veUbnAE6hrsxlrWmwjzeM', +); diff --git a/src/test-globals.d.ts b/src/test-globals.d.ts new file mode 100644 index 0000000..c9172aa --- /dev/null +++ b/src/test-globals.d.ts @@ -0,0 +1,51 @@ +// Ambient test globals for optional *.test.* files in the editor / tsc. +// No test runner is installed in the template; stubs avoid spurious TS errors. + +interface Matchers { + toBeDefined(): R; + toBe(expected: unknown): R; + toEqual(expected: unknown): R; + toBeTruthy(): R; + toBeFalsy(): R; + toBeNull(): R; + toContain(item: unknown): R; + toHaveLength(length: number): R; + toMatch(expected: string | RegExp): R; + toThrow(expected?: string | RegExp | Error): R; + not: Matchers; +} + +interface Expect { + (actual: T): Matchers; +} + +declare const expect: Expect; + +type TestCaseFn = ( + name: string, + fn?: () => void | Promise, + timeout?: number, +) => void; + +declare const test: TestCaseFn; +declare const it: TestCaseFn; +declare const describe: TestCaseFn; + +declare function beforeEach(fn: () => void | Promise): void; +declare function afterEach(fn: () => void | Promise): void; +declare function beforeAll(fn: () => void | Promise): void; +declare function afterAll(fn: () => void | Promise): void; + +declare module "@testing-library/react" { + export function render( + ui: unknown, + options?: object, + ): { + baseElement: Element; + container: Element; + unmount(): void; + rerender(ui: unknown): void; + }; + export const screen: Record Element>; + export function cleanup(): void; +} diff --git a/src/theme/variables.css b/src/theme/variables.css new file mode 100644 index 0000000..b9b55e6 --- /dev/null +++ b/src/theme/variables.css @@ -0,0 +1,159 @@ +/* Ionic Variables and Color Palette */ + +:root { + /* Core brand colors */ + --ion-color-primary: #6d28d9; + --ion-color-primary-rgb: 109, 40, 217; + --ion-color-primary-contrast: #ffffff; + --ion-color-primary-contrast-rgb: 255, 255, 255; + --ion-color-primary-shade: #6023bf; + --ion-color-primary-tint: #7b3de1; + + --ion-color-success: #16a34a; + --ion-color-success-rgb: 22, 163, 74; + --ion-color-success-contrast: #ffffff; + --ion-color-success-contrast-rgb: 255, 255, 255; + --ion-color-success-shade: #138f41; + --ion-color-success-tint: #2dac5b; + + --ion-color-warning: #f59e0b; + --ion-color-warning-rgb: 245, 158, 11; + --ion-color-warning-contrast: #ffffff; + --ion-color-warning-contrast-rgb: 255, 255, 255; + --ion-color-warning-shade: #d88b0a; + --ion-color-warning-tint: #f6a823; + + --ion-color-danger: #dc2626; + --ion-color-danger-rgb: 220, 38, 38; + --ion-color-danger-contrast: #ffffff; + --ion-color-danger-contrast-rgb: 255, 255, 255; + --ion-color-danger-shade: #c22121; + --ion-color-danger-tint: #e03c3c; + + --ion-color-dark: #111827; + --ion-color-dark-rgb: 17, 24, 39; + --ion-color-dark-contrast: #ffffff; + --ion-color-dark-contrast-rgb: 255, 255, 255; + --ion-color-dark-shade: #0f1522; + --ion-color-dark-tint: #292f3d; + + --ion-color-medium: #6b7280; + --ion-color-medium-rgb: 107, 114, 128; + --ion-color-medium-contrast: #ffffff; + --ion-color-medium-contrast-rgb: 255, 255, 255; + --ion-color-medium-shade: #5e6470; + --ion-color-medium-tint: #7a808d; + + --ion-color-light: #fafafa; + --ion-color-light-rgb: 250, 250, 250; + --ion-color-light-contrast: #111827; + --ion-color-light-contrast-rgb: 17, 24, 39; + --ion-color-light-shade: #dcdcdc; + --ion-color-light-tint: #fbfbfb; + + /* Typography */ + --ion-font-family: + -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, + sans-serif; + + /* App generic background */ + --ion-background-color: #fafafa; + + /* Utilities */ + --color-brand: #6d28d9; + --color-success: #16a34a; + --color-warning: #f59e0b; + --color-info: #3b82f6; + --color-bg: #fafafa; + --color-surface: #ffffff; + --color-surface-raised: #f4f1fb; + --color-text-primary: #111827; + --color-text-secondary: rgba(17, 24, 39, 0.62); + --color-text-tertiary: rgba(17, 24, 39, 0.38); + --color-border: #e5e7eb; +} + +/* Force light mode globally (no dark mode overrides) */ +@media (prefers-color-scheme: dark) { + :root { + /* We map dark mode vars back to light to enforce light theme for MVP */ + --ion-background-color: #fafafa; + --ion-background-color-rgb: 250, 250, 250; + --ion-text-color: #111827; + --ion-text-color-rgb: 17, 24, 39; + --ion-color-step-50: #f4f5f5; + --ion-color-step-100: #eef0f1; + --ion-color-step-150: #e8eaec; + --ion-color-step-200: #e1e5e8; + --ion-color-step-250: #dbdfe3; + --ion-color-step-300: #d5d9df; + --ion-color-step-350: #cfd4da; + --ion-color-step-400: #c9ced6; + --ion-color-step-450: #c2c9d1; + --ion-color-step-500: #bcc3cc; + --ion-color-step-550: #b6bec8; + --ion-color-step-600: #b0b8c3; + --ion-color-step-650: #a9b3bf; + --ion-color-step-700: #a3adba; + --ion-color-step-750: #9da8b6; + --ion-color-step-800: #97a2b1; + --ion-color-step-850: #919dad; + --ion-color-step-900: #8a97a8; + --ion-color-step-950: #8492a4; + } +} + +/* Custom Tab Bar */ +.app-tab-bar { + --background: rgba(255, 255, 255, 0.98); + --border: none; + border-top: none; + box-shadow: 0 -10px 34px rgba(82, 53, 121, 0.06); + padding: 6px 12px calc(6px + var(--ion-safe-area-bottom, 0px)); +} + +.app-tab-bar ion-tab-button { + --color: rgba(21, 22, 36, 0.5); + --color-selected: #6d28d9; + min-height: 56px; + gap: 3px; +} + +.app-tab-bar ion-tab-button ion-icon { + font-size: 28px; +} + +.app-tab-bar ion-tab-button ion-label { + font-size: 15px; + font-weight: 600; + margin-top: 2px; +} + +.app-send-support-fab { + position: fixed; + left: 50%; + bottom: calc(var(--ion-safe-area-bottom, 0px) + 38px); + z-index: 10000; + width: 64px; + height: 64px; + border: 6px solid #fafafa; + border-radius: 999px; + background: #6d28d9; + color: #ffffff; + transform: translateX(-50%); + display: flex; + align-items: center; + justify-content: center; + box-shadow: + 0 16px 28px rgba(109, 40, 217, 0.24), + 0 6px 14px rgba(109, 40, 217, 0.12); +} + +.app-send-support-fab ion-icon { + font-size: 28px; + flex-shrink: 0; +} + +.app-send-support-fab:active { + transform: translateX(-50%) translateY(1px); +} diff --git a/src/utils/statusBar.ts b/src/utils/statusBar.ts new file mode 100644 index 0000000..6e2db3f --- /dev/null +++ b/src/utils/statusBar.ts @@ -0,0 +1,32 @@ +import { StatusBar, Style } from '@capacitor/status-bar'; +export { Style }; + +const _origin = (() => { + try { + if (document.referrer) return new URL(document.referrer).origin; + } catch {} + return window.location.origin; +})(); + +/** Set status bar icon/text colour. Use instead of StatusBar.setStyle directly. */ +export async function setStatusBarStyle(style: Style): Promise { + try { + await StatusBar.setStyle({ style }); + } catch {} + if (window.parent !== window) { + window.parent.postMessage({ type: '__apsuite_statusbar', style }, _origin); + } +} + +/** Set status bar background colour (Android). Use instead of StatusBar.setBackgroundColor directly. */ +export async function setStatusBarBackground(color: string): Promise { + try { + await (StatusBar as any).setBackgroundColor({ color }); + } catch {} + if (window.parent !== window) { + window.parent.postMessage( + { type: '__apsuite_statusbar_bg', color }, + _origin + ); + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..29e1016 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "types": ["vite/client"] + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..d6a1d11 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,41 @@ +// NOTE: @ionic/react and @ionic/react-router are pinned to 8.8.7 in package.json. +// 8.8.8 introduced a regression that breaks IonRouterOutlet page transition animations. +// Do not upgrade until the upstream fix is confirmed. +import { defineConfig, type Plugin } from 'vite'; +import react from '@vitejs/plugin-react'; + +const injectRouterBasename: Plugin = { + name: 'inject-router-basename', + enforce: 'pre', + transform(code, id) { + if (!/\.[jt]sx$/.test(id)) return null; + const next = code.replace( + /]*basename)([^>]*)>/g, + '', + ); + return next === code ? null : next; + }, +}; + +const hideScrollbars: Plugin = { + name: 'hide-scrollbars', + transformIndexHtml(html) { + return html.replace( + '', + '', + ); + }, +}; + +export default defineConfig({ + plugins: [injectRouterBasename, hideScrollbars, react()], + server: { + host: '0.0.0.0', + port: 8100, + allowedHosts: true, + hmr: { + clientPort: process.env.HMR_CLIENT_PORT ? parseInt(process.env.HMR_CLIENT_PORT) : undefined, + }, + }, + css: { devSourcemap: false }, +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..c63de7c --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3762 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/d34cc504e7765dfb576a663d97067afb614525806b5cad1a5cc1a7183b916fec8ff57fa233585e3926fd5a9e6b31aae6df91aa81ae9775fb7a28f658d3346f0d + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.28.6": + version: 7.29.3 + resolution: "@babel/compat-data@npm:7.29.3" + checksum: 10c0/81bddd53ce1b1395576fbb7cb739631a976f6b421cd260e6cf2715a9691b9a0ec12ca5c4e1bb88088e60dc87875f6e4ef7fa8674f1dc96ae1bd7c357416605a7 + languageName: node + linkType: hard + +"@babel/core@npm:^7.28.0": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa + languageName: node + linkType: hard + +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.28.6": + version: 7.29.2 + resolution: "@babel/helpers@npm:7.29.2" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + checksum: 10c0/dab0e65b9318b2502a62c58bc0913572318595eec0482c31f0ad416b72636e6698a1d7c57cd2791d4528eb8c548bca88d338dc4d2a55a108dc1f6702f9bc5512 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00a4f917b70a608f9aca2fb39aabe04a60aa33165a7e0105fd44b3a8531630eb85bf5572e9f242f51e6ad2fa38c2e7e780902176c863556c58b5ba6f6e164031 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.13": + version: 7.29.2 + resolution: "@babel/runtime@npm:7.29.2" + checksum: 10c0/30b80a0140d16467792e1bbeb06f655b0dab70407da38dfac7fedae9c859f9ae9d846ef14ad77bd3814c064295fe9b1bc551f1541ea14646ae9f22b71a8bc17a + languageName: node + linkType: hard + +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + debug: "npm:^4.3.1" + checksum: 10c0/f63ef6e58d02a9fbf3c0e2e5f1c877da3e0bc57f91a19d2223d53e356a76859cbaf51171c9211c71816d94a0e69efa2732fd27ffc0e1bbc84b636e60932333eb + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + languageName: node + linkType: hard + +"@capacitor-firebase/authentication@npm:^8.0.0": + version: 8.3.0 + resolution: "@capacitor-firebase/authentication@npm:8.3.0" + peerDependencies: + "@capacitor/core": ">=8.0.0" + firebase: ^12.6.0 + peerDependenciesMeta: + firebase: + optional: true + checksum: 10c0/a52f6ec85d18438ed616c78f29a8cea4a64621d13208a4d79d914344090630ce549f4e2d5d75da94b012e8799b4794e0af8d0e736edd97973b57205b62258ed9 + languageName: node + linkType: hard + +"@capacitor/android@npm:8.3.4": + version: 8.3.4 + resolution: "@capacitor/android@npm:8.3.4" + peerDependencies: + "@capacitor/core": ^8.3.0 + checksum: 10c0/c24c0ad18df8de1ef63bc22392cc8e3934acbff72a7cbd97eb1710f38617cc42728c410cd9e2f74c62d93da09d678ce2dac96a819005343c1c0a8ad8ee629cb1 + languageName: node + linkType: hard + +"@capacitor/app@npm:8.1.0": + version: 8.1.0 + resolution: "@capacitor/app@npm:8.1.0" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/670a5bc3f0c1706f9d09ad03873836ac9b56e1ca6c9853e283d43b4ff04c7295b30801d49f563206aadcf882245025be1ecdc12c22c7d479c636b34123e9a0d3 + languageName: node + linkType: hard + +"@capacitor/cli@npm:8.3.4": + version: 8.3.4 + resolution: "@capacitor/cli@npm:8.3.4" + dependencies: + "@ionic/cli-framework-output": "npm:^2.2.8" + "@ionic/utils-subprocess": "npm:^3.0.1" + "@ionic/utils-terminal": "npm:^2.3.5" + commander: "npm:^12.1.0" + debug: "npm:^4.4.0" + env-paths: "npm:^2.2.0" + fs-extra: "npm:^11.2.0" + kleur: "npm:^4.1.5" + native-run: "npm:^2.0.3" + open: "npm:^8.4.0" + plist: "npm:^3.1.0" + prompts: "npm:^2.4.2" + rimraf: "npm:^6.0.1" + semver: "npm:^7.6.3" + tar: "npm:^7.5.3" + tslib: "npm:^2.8.1" + xml2js: "npm:^0.6.2" + bin: + cap: bin/capacitor + capacitor: bin/capacitor + checksum: 10c0/e9f8f4bbd10f1eb4cd80b450cab75c12a78490fed2caa540f5fc7b7ba9cb61e309e0d214bc4b30085f686eda1de4da72ed0ea84902a9129d257deffff65797c7 + languageName: node + linkType: hard + +"@capacitor/core@npm:8.3.4": + version: 8.3.4 + resolution: "@capacitor/core@npm:8.3.4" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/12341743e5d4c532cdfe1f3a145ac0f278f9006a46cd9a31f79c9169cfce6d86b77c60082230975bf265882a84e7dce7a4d5b137a5841a5b86d1b9d230f67995 + languageName: node + linkType: hard + +"@capacitor/google-maps@npm:^8.0.0": + version: 8.0.1 + resolution: "@capacitor/google-maps@npm:8.0.1" + dependencies: + "@googlemaps/js-api-loader": "npm:^2.0.2" + "@googlemaps/markerclusterer": "npm:^2.6.2" + "@types/google.maps": "npm:^3.58.1" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/3b947ef116ac2efcc6611cd2b713adc3466e1dca8ea3cdd9e8e73c8d20265d216dc3c2ee62c273305c68f04eecf1190e54016449f9adbf16ce5b48f4519473f1 + languageName: node + linkType: hard + +"@capacitor/haptics@npm:8.0.2": + version: 8.0.2 + resolution: "@capacitor/haptics@npm:8.0.2" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/cf6c9c0c6035dc66cf6e483aa513d69a147cafde70d9c3bf8792704322478eb0cc7cee6a4179ebea7c5b6effce85a4753ab10a7f0007375527676bf4e2827c6b + languageName: node + linkType: hard + +"@capacitor/ios@npm:8.3.4": + version: 8.3.4 + resolution: "@capacitor/ios@npm:8.3.4" + peerDependencies: + "@capacitor/core": ^8.3.0 + checksum: 10c0/1725f5d38ef762c0bba6368fcf13be62758e0159041d83e7570b0163e99db6e6be4fab5f2863c32c2bd4d05e1dbea70bbe55def635a07862e850fae35ae83563 + languageName: node + linkType: hard + +"@capacitor/keyboard@npm:8.0.3": + version: 8.0.3 + resolution: "@capacitor/keyboard@npm:8.0.3" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/502c7ff5b88367df92ab4c0a51f04d70a6bd2b7ce03ead881035e63286282bc4abfb35d9fe55c8ebed538fe8b665e632050810e89ac6014a70fc98afaf8bbf23 + languageName: node + linkType: hard + +"@capacitor/preferences@npm:^8.0.1": + version: 8.0.1 + resolution: "@capacitor/preferences@npm:8.0.1" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/cbed0229a685f484c396fd043354688fdeec69264f322180b62c5adb0322561b288a63eb38ee9b38cf78ea7dbc3b9dc8dd8c2e52b54a7f752a1b2f07bfd29f0d + languageName: node + linkType: hard + +"@capacitor/push-notifications@npm:^8.1.1": + version: 8.1.1 + resolution: "@capacitor/push-notifications@npm:8.1.1" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/4641fd997e03385676c12848c9ba3bb36a180450926614efb1769d8e6579c60641365e1018f8d846979c5c411f9152b50be4bac7c2e4d06dbf7c1954c07e181c + languageName: node + linkType: hard + +"@capacitor/status-bar@npm:8.0.2": + version: 8.0.2 + resolution: "@capacitor/status-bar@npm:8.0.2" + peerDependencies: + "@capacitor/core": ">=8.0.0" + checksum: 10c0/2e27cf6629666b9e3078ac26e68a13d211a442b24ce64e40510ca9741666abe72c64c0be05b2645ebfcd297413a2f5238812218649e74b906d11893378a15231 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@firebase/ai@npm:1.4.1": + version: 1.4.1 + resolution: "@firebase/ai@npm:1.4.1" + dependencies: + "@firebase/app-check-interop-types": "npm:0.3.3" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + "@firebase/app-types": 0.x + checksum: 10c0/81b0913877438c080e7c22ef2aef207ce4aec921d34a82c0bb58b2cd829612ca2acc726fab389484489374af7b1e0270b7c9d9f98b9dc5c32f658e90b69af6c2 + languageName: node + linkType: hard + +"@firebase/analytics-compat@npm:0.2.23": + version: 0.2.23 + resolution: "@firebase/analytics-compat@npm:0.2.23" + dependencies: + "@firebase/analytics": "npm:0.10.17" + "@firebase/analytics-types": "npm:0.8.3" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/61ca904bcd8eafe91f2db09c592ff0da911ae1f50f6ec95cc2eefbbe1dd5b537cc8838d3b03ab8dca9e06c42c4092a447dc69c61a1b8a1ffcd0fac1047eac71d + languageName: node + linkType: hard + +"@firebase/analytics-types@npm:0.8.3": + version: 0.8.3 + resolution: "@firebase/analytics-types@npm:0.8.3" + checksum: 10c0/2cbc5fe8425bc01c7ba03579cdc5ca6b23de51b08edb62927be610a33bbc961bae97aa48ee12dcdb039b752c158d095f234ed20f1f4d2bd7a5c39f44d82cdf22 + languageName: node + linkType: hard + +"@firebase/analytics@npm:0.10.17": + version: 0.10.17 + resolution: "@firebase/analytics@npm:0.10.17" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/c6669c3d090a52c1e8fa0071f541237b811dbbbf5a4dd497e3ee4175fd2c25e55da272dec5e73801d7ac4688862e1719b391daa445bf1e2dfadc8c2b153ef73b + languageName: node + linkType: hard + +"@firebase/app-check-compat@npm:0.3.26": + version: 0.3.26 + resolution: "@firebase/app-check-compat@npm:0.3.26" + dependencies: + "@firebase/app-check": "npm:0.10.1" + "@firebase/app-check-types": "npm:0.5.3" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/1ef896356eb6656a836f68bb860dcac0b9af2021a3651e26064d9d936180b3e6d0b8b2adbc834a0353b68cca249ed707e01519a14f9514e1b38fa9c911260c01 + languageName: node + linkType: hard + +"@firebase/app-check-interop-types@npm:0.3.3": + version: 0.3.3 + resolution: "@firebase/app-check-interop-types@npm:0.3.3" + checksum: 10c0/4a887ef5e30ee1a407b569603c433a9f21244d50a19d97a5f1f17d8f5caea83096852b39e67d599f3238f1f7e2a369b02d184a184986a649ed1f8fed12fbd6be + languageName: node + linkType: hard + +"@firebase/app-check-types@npm:0.5.3": + version: 0.5.3 + resolution: "@firebase/app-check-types@npm:0.5.3" + checksum: 10c0/59af0ae698ff2172e84f504e3b5e778c2cc78fefdcceb917eb899a204ad130ad5497011ab94459f6f9dd0a9062a0455bbd745ad3e488b39dae4625c3fb0d0145 + languageName: node + linkType: hard + +"@firebase/app-check@npm:0.10.1": + version: 0.10.1 + resolution: "@firebase/app-check@npm:0.10.1" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/95504658f10b957b6c0080b7d48a7e3352dd23b342c81868bc17242f0812b315ed9db9a022a50f26a1ffd44d6760de5114cd3bf1f5176319a40706cfb2b0b5c9 + languageName: node + linkType: hard + +"@firebase/app-compat@npm:0.4.2": + version: 0.4.2 + resolution: "@firebase/app-compat@npm:0.4.2" + dependencies: + "@firebase/app": "npm:0.13.2" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + checksum: 10c0/265b9b6a2284feb3a768a4a7506e336521549894f557016a77e05867a0d37daa9a496f275844cc007047b4248c930743cf0e89c874387a8c7888ca6a4aa1ff84 + languageName: node + linkType: hard + +"@firebase/app-types@npm:0.9.3": + version: 0.9.3 + resolution: "@firebase/app-types@npm:0.9.3" + checksum: 10c0/02ec9a26c10b9bbb2a1e5b9ae0552b5325b40066e3c23be089ceae53414a1505f2ab716ae1098652a0a0c9992ba322c05371a9b2a837cccfae309788372a72e0 + languageName: node + linkType: hard + +"@firebase/app@npm:0.13.2": + version: 0.13.2 + resolution: "@firebase/app@npm:0.13.2" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + idb: "npm:7.1.1" + tslib: "npm:^2.1.0" + checksum: 10c0/e6c315aceb8c5c415d536d4468fb8fab468a4e75ab292259256e3a1007293254f7394816637398ebef0c8e9cb192c60392b18d1367219f49bbac8048e34d789d + languageName: node + linkType: hard + +"@firebase/auth-compat@npm:0.5.28": + version: 0.5.28 + resolution: "@firebase/auth-compat@npm:0.5.28" + dependencies: + "@firebase/auth": "npm:1.10.8" + "@firebase/auth-types": "npm:0.13.0" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/2e22d37054ee5dd2861ec2dea32fe39e7628c49bfd74cdf06f6959b24e94eeb4f7150f26bc35da2b6166f25772c90f241cd403d7ef8ed4ebad4b8c858ef260dd + languageName: node + linkType: hard + +"@firebase/auth-interop-types@npm:0.2.4": + version: 0.2.4 + resolution: "@firebase/auth-interop-types@npm:0.2.4" + checksum: 10c0/ff833bcbb472992c6061847309e338dac736c616522c5fd808526d6dc13b9788458a8c9677d91c33c1288ee38f42896c2b4b8fe10ee74f1569d11f3f3c4f53b5 + languageName: node + linkType: hard + +"@firebase/auth-types@npm:0.13.0": + version: 0.13.0 + resolution: "@firebase/auth-types@npm:0.13.0" + peerDependencies: + "@firebase/app-types": 0.x + "@firebase/util": 1.x + checksum: 10c0/a844c4a083ade9ae946337ec7d7fca8b0a384439be455d6d60d1ba01671c34b2b5162b7b8c1341a699fa70f78948c145c3bbe4723ca444f3b2f17cace40a4fd9 + languageName: node + linkType: hard + +"@firebase/auth@npm:1.10.8": + version: 1.10.8 + resolution: "@firebase/auth@npm:1.10.8" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + "@react-native-async-storage/async-storage": ^1.18.1 + peerDependenciesMeta: + "@react-native-async-storage/async-storage": + optional: true + checksum: 10c0/91cb05a743d61647d4f78a8bc8b31d1ee948d24f049f6a4d76012eb6f004ac1b8754ae85e79f9e0183fa8b8e75a246d3aca6f25d76f106a44b4e5d0983b67f6d + languageName: node + linkType: hard + +"@firebase/component@npm:0.6.18": + version: 0.6.18 + resolution: "@firebase/component@npm:0.6.18" + dependencies: + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + checksum: 10c0/8132696aed9092b9c9274a1191db0f4c93779a23a416427cf2c8bdfb13ce6ccea8f86a4b4e55638f54ee17aab9d8ad7b4068ffc866efb67ff9510da1de179b6b + languageName: node + linkType: hard + +"@firebase/data-connect@npm:0.3.10": + version: 0.3.10 + resolution: "@firebase/data-connect@npm:0.3.10" + dependencies: + "@firebase/auth-interop-types": "npm:0.2.4" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/fb04aca45fc837daafb9dbe3d573dd86b208e57fed6cfbe8bdc0a41c56dca094ed2e1572bf69641d89a17cb785b945d412b635337170b7d05bee670f77d2b4bf + languageName: node + linkType: hard + +"@firebase/database-compat@npm:2.0.11": + version: 2.0.11 + resolution: "@firebase/database-compat@npm:2.0.11" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/database": "npm:1.0.20" + "@firebase/database-types": "npm:1.0.15" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + checksum: 10c0/908f6f0295505e1b4e112cbf898a518ef74d09a2511f8c451b49c93c7bab58ad707d1ff3e9db2b28a44d87ba06f8137f23f398c7302b89856ab56685d249e6f1 + languageName: node + linkType: hard + +"@firebase/database-types@npm:1.0.15": + version: 1.0.15 + resolution: "@firebase/database-types@npm:1.0.15" + dependencies: + "@firebase/app-types": "npm:0.9.3" + "@firebase/util": "npm:1.12.1" + checksum: 10c0/379e61eb1b7d949c499ea36b5937b496b59b56adb51f3967471bb96f93f29ca870df1bae006a68c59e94cfadc47e19db5a49a52f50338db71a445db9c44e3c78 + languageName: node + linkType: hard + +"@firebase/database@npm:1.0.20": + version: 1.0.20 + resolution: "@firebase/database@npm:1.0.20" + dependencies: + "@firebase/app-check-interop-types": "npm:0.3.3" + "@firebase/auth-interop-types": "npm:0.2.4" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + faye-websocket: "npm:0.11.4" + tslib: "npm:^2.1.0" + checksum: 10c0/40ef1037b00baae94c6d32c48ca4eb2812c36bfb23cd15fd240cba9450860e73c216420989aef5886f0f0e5facd34a1bd7d2c0dc751a527f2f0a0c6f369d397c + languageName: node + linkType: hard + +"@firebase/firestore-compat@npm:0.3.53": + version: 0.3.53 + resolution: "@firebase/firestore-compat@npm:0.3.53" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/firestore": "npm:4.8.0" + "@firebase/firestore-types": "npm:3.0.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/a588fbd28c579a6c1d59225e3fbd6f6ec748a65b2bda4766e12d2b2cb843338568a883e5a170fe23333a7710060a1b714304a69a63b8282514be6fc72bb1c6e1 + languageName: node + linkType: hard + +"@firebase/firestore-types@npm:3.0.3": + version: 3.0.3 + resolution: "@firebase/firestore-types@npm:3.0.3" + peerDependencies: + "@firebase/app-types": 0.x + "@firebase/util": 1.x + checksum: 10c0/8196168a2de68bd60e0a9053a670d14d2917bf8e30829a4a2f8435fa2aceaaf97ce7438cd9525786a9bf8c5d6104ced3086acd792439371fea7b35497a53bdfa + languageName: node + linkType: hard + +"@firebase/firestore@npm:4.8.0": + version: 4.8.0 + resolution: "@firebase/firestore@npm:4.8.0" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + "@firebase/webchannel-wrapper": "npm:1.0.3" + "@grpc/grpc-js": "npm:~1.9.0" + "@grpc/proto-loader": "npm:^0.7.8" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/87e2a16fd432a1e6eeab537bf24ca8f3a5b01268d5ef0a7b4bae72032bdcb009159a6739383ff786087937c773493e67e8614f5835044d264dfc7954b1a6c209 + languageName: node + linkType: hard + +"@firebase/functions-compat@npm:0.3.26": + version: 0.3.26 + resolution: "@firebase/functions-compat@npm:0.3.26" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/functions": "npm:0.12.9" + "@firebase/functions-types": "npm:0.6.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/815e657273c4333177163b1e9fd1cc607189dd5be7b0766269d3c796baef800f3c65f61469d60c0214e36c1cc6b3ccfbf5294fca1d95c809f43ac7dea2b26ddf + languageName: node + linkType: hard + +"@firebase/functions-types@npm:0.6.3": + version: 0.6.3 + resolution: "@firebase/functions-types@npm:0.6.3" + checksum: 10c0/aabd7bdd8c479323a419bba9ad275d96cd44229bd2213c87be08a9978af5ff0c1306279229a358c77280ce54fa6f42c91a6fd6c947808b1103174db0261b86e1 + languageName: node + linkType: hard + +"@firebase/functions@npm:0.12.9": + version: 0.12.9 + resolution: "@firebase/functions@npm:0.12.9" + dependencies: + "@firebase/app-check-interop-types": "npm:0.3.3" + "@firebase/auth-interop-types": "npm:0.2.4" + "@firebase/component": "npm:0.6.18" + "@firebase/messaging-interop-types": "npm:0.2.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/99666f7500004b4073b8b617edbafe4efec758816f7ae980b9fdd149bf767edb65353c41534ef1e2bb988cd72c08d46e4f64a98b6d1cf961a81009ec81a7e7cd + languageName: node + linkType: hard + +"@firebase/installations-compat@npm:0.2.18": + version: 0.2.18 + resolution: "@firebase/installations-compat@npm:0.2.18" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" + "@firebase/installations-types": "npm:0.5.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/22e1bc4b4da0bdee9881d8bb4c43794f8f5743b87f071afa6d4c30bbe6a2f99786c1864b9054429c8fdc35f68b5f9dbae825164e1c5c3272c2564c7e877836a2 + languageName: node + linkType: hard + +"@firebase/installations-types@npm:0.5.3": + version: 0.5.3 + resolution: "@firebase/installations-types@npm:0.5.3" + peerDependencies: + "@firebase/app-types": 0.x + checksum: 10c0/f8af07a17e9c0cd1738009b880579b57d112f991ac99e4a17f327d89ad9f8f633fd50757bfd97f470edcc62045526dc59432fb7fcb1f76daa3c72c975519af62 + languageName: node + linkType: hard + +"@firebase/installations@npm:0.6.18": + version: 0.6.18 + resolution: "@firebase/installations@npm:0.6.18" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" + idb: "npm:7.1.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/d7fbd65b89f59c57b05e82c3748b17c4fa973661809c0d97f0b57193609da4b0f4926b1bf63d03346330c5d194487c7c5e06433f4bf4987bad2e2ba884799304 + languageName: node + linkType: hard + +"@firebase/logger@npm:0.4.4": + version: 0.4.4 + resolution: "@firebase/logger@npm:0.4.4" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/0493468960c1243bad71ff932fbf89c17870b07cd3cb25b9565661689e52e93948e43cbd423f9903bdd80c40b98c28e4b2d85698e9ef09d4c59e23beb9140bda + languageName: node + linkType: hard + +"@firebase/messaging-compat@npm:0.2.22": + version: 0.2.22 + resolution: "@firebase/messaging-compat@npm:0.2.22" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/messaging": "npm:0.12.22" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/b91cd3faa6c3e8787143e5977821cb8e36e29311bfc8b84c099ecd4f32a70c5d9c6c4a2bec5ea07a8613ddc295facf1976a8bf8be0c886dd8fc1ae33dbb46216 + languageName: node + linkType: hard + +"@firebase/messaging-interop-types@npm:0.2.3": + version: 0.2.3 + resolution: "@firebase/messaging-interop-types@npm:0.2.3" + checksum: 10c0/a6fb8f02db6a93f277cb5bd530934509e49465f775f2b5ed159116d9ce30b6255213781639b98984ff8b424a8fc36a8e5779e0cc3f0cf5e1bdbd41ae938d6c39 + languageName: node + linkType: hard + +"@firebase/messaging@npm:0.12.22": + version: 0.12.22 + resolution: "@firebase/messaging@npm:0.12.22" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" + "@firebase/messaging-interop-types": "npm:0.2.3" + "@firebase/util": "npm:1.12.1" + idb: "npm:7.1.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/8c9d9c9c6a5cf9c08ca790e3d60e54199e47c957312a9208c70c9b391e02cafef1588635327990f18269a8556fec0d48db6744e0c754ce2622e4f0a55453cd11 + languageName: node + linkType: hard + +"@firebase/performance-compat@npm:0.2.20": + version: 0.2.20 + resolution: "@firebase/performance-compat@npm:0.2.20" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/performance": "npm:0.7.7" + "@firebase/performance-types": "npm:0.2.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/bb85d8dfcaee63f30ecd188f8ed04a83c9f0ef0be61479e746dd82c3ef6b8b5f588e492c3022238e19817bb3186aab411b0b941202987213841c9551cf22b5a7 + languageName: node + linkType: hard + +"@firebase/performance-types@npm:0.2.3": + version: 0.2.3 + resolution: "@firebase/performance-types@npm:0.2.3" + checksum: 10c0/971d6bff448481dd5e8ff9d643e14b364ed4d619aca1d8d64105555c7f4566c9c05bca3cd0c027b3f879cccf8c7bc0e31579f7f0d7b8b1de182af804572b2374 + languageName: node + linkType: hard + +"@firebase/performance@npm:0.7.7": + version: 0.7.7 + resolution: "@firebase/performance@npm:0.7.7" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + web-vitals: "npm:^4.2.4" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/4c9cf7607ebcbcc2a2a48b2a548bfe1738d1839c75fda37622aff9007e86618a20cde41ca1b81e39414e18fa409ff4c8695854306bb2ec5ba9f52c21bc95acf4 + languageName: node + linkType: hard + +"@firebase/remote-config-compat@npm:0.2.18": + version: 0.2.18 + resolution: "@firebase/remote-config-compat@npm:0.2.18" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/remote-config": "npm:0.6.5" + "@firebase/remote-config-types": "npm:0.4.0" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/e14035320c9ada6f0130440bdfffaf671614452c3743599800f89b5790de30407c88ef10e0b8ae9f38e05738553595d7c80bf792de96427a3f2589f7cd93df8b + languageName: node + linkType: hard + +"@firebase/remote-config-types@npm:0.4.0": + version: 0.4.0 + resolution: "@firebase/remote-config-types@npm:0.4.0" + checksum: 10c0/2b80a82559f8025ec2e16e98b2fc0bebc1aba6ad461895cd5544c7af964bba9faf6e351aeb356dcb28cd7fe75bc9f120f02ccacffa70f44b160a1b27fd00a5d2 + languageName: node + linkType: hard + +"@firebase/remote-config@npm:0.6.5": + version: 0.6.5 + resolution: "@firebase/remote-config@npm:0.6.5" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/8f33384205c43ab65d0c725fd5be3fd949970eb755583baba11331192ed95d881928598d2dbc771aecf80f843617367bb4f6b3083107260a213344f1c043714e + languageName: node + linkType: hard + +"@firebase/storage-compat@npm:0.3.24": + version: 0.3.24 + resolution: "@firebase/storage-compat@npm:0.3.24" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/storage": "npm:0.13.14" + "@firebase/storage-types": "npm:0.8.3" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app-compat": 0.x + checksum: 10c0/cfe0ec9ef4bccc96675334e5e89dcf7b150730834e5d188cb06c60d0e91241d5673e32c9779edd2e3f48bb23dc4f7d4bf3e6bbe3f4ec30a09fecabd866afd493 + languageName: node + linkType: hard + +"@firebase/storage-types@npm:0.8.3": + version: 0.8.3 + resolution: "@firebase/storage-types@npm:0.8.3" + peerDependencies: + "@firebase/app-types": 0.x + "@firebase/util": 1.x + checksum: 10c0/4b34edca4fcbf75ba6575b02d823f5f5b0680977488a2e8101116313903d75973623cf4440f1e0f8048158e0804d0f5a7730f15bbe5af4ceb35fae6ff532a696 + languageName: node + linkType: hard + +"@firebase/storage@npm:0.13.14": + version: 0.13.14 + resolution: "@firebase/storage@npm:0.13.14" + dependencies: + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + checksum: 10c0/e6b40c7057783a390b89e6e52e9994763246777cd74ac1d25be98478a50639feedbac8097683aa288b90eda1cc4f9345dc682b8f416f13cbcf7f7394721194ad + languageName: node + linkType: hard + +"@firebase/util@npm:1.12.1": + version: 1.12.1 + resolution: "@firebase/util@npm:1.12.1" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1ba735478eb06f718b971a39fc9b91dc1bab8a76e9a63f199be56c31fc0a46a9e062fc86d63c7be65dff791927ab964f0264ef0fb9bf01a4650890c6c6a08c59 + languageName: node + linkType: hard + +"@firebase/webchannel-wrapper@npm:1.0.3": + version: 1.0.3 + resolution: "@firebase/webchannel-wrapper@npm:1.0.3" + checksum: 10c0/faa1e53ea82ab6bda0b9dcc5f525101a301c74d1cffb924269de947a46511a633662dd6ee8ca571470e06642b35a596625228c766f37cc2d657321edfc560d28 + languageName: node + linkType: hard + +"@googlemaps/js-api-loader@npm:^2.0.2": + version: 2.1.1 + resolution: "@googlemaps/js-api-loader@npm:2.1.1" + dependencies: + "@types/google.maps": "npm:^3.53.1" + checksum: 10c0/06cb6eaf686b838be51efd8293010b7bee42e341e9ad41b42a0ee8909cf06cc5711ba6cfdbcd0c62ff05c8ba35d8622c34130e738bc5844011c8bc457d14de64 + languageName: node + linkType: hard + +"@googlemaps/markerclusterer@npm:^2.6.2": + version: 2.6.2 + resolution: "@googlemaps/markerclusterer@npm:2.6.2" + dependencies: + "@types/supercluster": "npm:^7.1.3" + fast-equals: "npm:^5.2.2" + supercluster: "npm:^8.0.1" + checksum: 10c0/bfe4ffef9dc9f635fca93968d71b2019c936b46480e38dbfb885c3bed1589c9a353e428880a018f8fbc50c2cb16257c4822742d2e49f963dd9ff5d7ffe12f9cb + languageName: node + linkType: hard + +"@grpc/grpc-js@npm:~1.9.0": + version: 1.9.16 + resolution: "@grpc/grpc-js@npm:1.9.16" + dependencies: + "@grpc/proto-loader": "npm:^0.7.8" + "@types/node": "npm:>=12.12.47" + checksum: 10c0/dfe2b1a670d650489fe82bb7afc1c0336313b0cde4a102623a1331267cbdeb1bde9409143fb1432db074bc1845b38d96b82a4277bdd99929aa8322cf97d305aa + languageName: node + linkType: hard + +"@grpc/proto-loader@npm:^0.7.8": + version: 0.7.15 + resolution: "@grpc/proto-loader@npm:0.7.15" + dependencies: + lodash.camelcase: "npm:^4.3.0" + long: "npm:^5.0.0" + protobufjs: "npm:^7.2.5" + yargs: "npm:^17.7.2" + bin: + proto-loader-gen-types: build/bin/proto-loader-gen-types.js + checksum: 10c0/514a134a724b56d73d0a202b7e02c84479da21e364547bacb2f4995ebc0d52412a1a21653add9f004ebd146c1e6eb4bcb0b8846fdfe1bfa8a98ed8f3d203da4a + languageName: node + linkType: hard + +"@hookform/resolvers@npm:^3.9.0": + version: 3.10.0 + resolution: "@hookform/resolvers@npm:3.10.0" + peerDependencies: + react-hook-form: ^7.0.0 + checksum: 10c0/7ee44533b4cdc28c4fa2a94894c735411e5a1f830f4a617c580533321a9b901df0cc8c1e2fad81ad8d55154ebc5cb844cf9c116a3148ffae2bc48758c33cbb8e + languageName: node + linkType: hard + +"@ionic/cli-framework-output@npm:^2.2.8": + version: 2.2.8 + resolution: "@ionic/cli-framework-output@npm:2.2.8" + dependencies: + "@ionic/utils-terminal": "npm:2.3.5" + debug: "npm:^4.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/a7bf9379201225f20dc3fe1ff93d8b811ef6f9437762785ca80d0c26bcb5aa6fe1661e9d8e1a41d6b193036d7c09a97215d6ec36f4692fa6ea860c1aebd5a97f + languageName: node + linkType: hard + +"@ionic/core@npm:8.8.7": + version: 8.8.7 + resolution: "@ionic/core@npm:8.8.7" + dependencies: + "@stencil/core": "npm:4.43.0" + ionicons: "npm:^8.0.13" + tslib: "npm:^2.1.0" + checksum: 10c0/46d442018b1c70ec6182e3b449dddc77c192df1f4da87078ab20f4740ce7eca852929d4987004a60bf5416fadb232a9cf5e492160179092c80b0fb7a252d62bf + languageName: node + linkType: hard + +"@ionic/pwa-elements@npm:^3.0.0": + version: 3.4.0 + resolution: "@ionic/pwa-elements@npm:3.4.0" + checksum: 10c0/4c4f9251d30e7f4551faeefcaa40846618e9567a5c091175b8502e9da931d0411ac8575a8128d9f3edac575d70f36514a29a8a733d7cf0189b91dc646e6e37ba + languageName: node + linkType: hard + +"@ionic/react-router@npm:8.8.7": + version: 8.8.7 + resolution: "@ionic/react-router@npm:8.8.7" + dependencies: + "@ionic/react": "npm:8.8.7" + tslib: "npm:*" + peerDependencies: + react: ">=16.8.6" + react-dom: ">=16.8.6" + react-router: ^5.0.1 + react-router-dom: ^5.0.1 + checksum: 10c0/302d6ad9c0d450cf6466ff18622aa7708af77c1c4a676d2ff39eca6add440fe96d36a157feae146c3da460c32e7799357320b3270740b050ab040a664b9f0ff2 + languageName: node + linkType: hard + +"@ionic/react@npm:8.8.7": + version: 8.8.7 + resolution: "@ionic/react@npm:8.8.7" + dependencies: + "@ionic/core": "npm:8.8.7" + ionicons: "npm:^8.0.13" + tslib: "npm:*" + peerDependencies: + react: ">=16.8.6" + react-dom: ">=16.8.6" + checksum: 10c0/f5b19ca029a56dcf218ae735b53dcafca3325f9faa62e0bf8aa80095fe3e28053b5884fda5eedfd1392b8ab2cec1f4b29baa28b321e1e421f0b5cd42438a2837 + languageName: node + linkType: hard + +"@ionic/utils-array@npm:2.1.6": + version: 2.1.6 + resolution: "@ionic/utils-array@npm:2.1.6" + dependencies: + debug: "npm:^4.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/07b9a1c77b34e0c4d0e3bd1f638d7f7ede9481e8903328f4d1ecce20a96e92d71faed7f1c7572bcc7099d14f5c26d815c38b15a7c0679d71ee0ab40c3fde3d20 + languageName: node + linkType: hard + +"@ionic/utils-fs@npm:3.1.7, @ionic/utils-fs@npm:^3.1.7": + version: 3.1.7 + resolution: "@ionic/utils-fs@npm:3.1.7" + dependencies: + "@types/fs-extra": "npm:^8.0.0" + debug: "npm:^4.0.0" + fs-extra: "npm:^9.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/e6d71395530ad7d60ee2a698ed5f3c1fc4df85083808a7847a639fc5dfd3cb701563e1652e7cc80b7915b19a62071138a8a40e47537dc750d1a262bdb43daf6e + languageName: node + linkType: hard + +"@ionic/utils-object@npm:2.1.6": + version: 2.1.6 + resolution: "@ionic/utils-object@npm:2.1.6" + dependencies: + debug: "npm:^4.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/17b55abb65008d6be72db8cd4d3fffd2fdf103de11b38f48b65c9f6f8fe0501ff19bb7dd972014852b19dce79cf4029d0a905628e041894be10f4d2fd19f601f + languageName: node + linkType: hard + +"@ionic/utils-process@npm:2.1.12": + version: 2.1.12 + resolution: "@ionic/utils-process@npm:2.1.12" + dependencies: + "@ionic/utils-object": "npm:2.1.6" + "@ionic/utils-terminal": "npm:2.3.5" + debug: "npm:^4.0.0" + signal-exit: "npm:^3.0.3" + tree-kill: "npm:^1.2.2" + tslib: "npm:^2.0.1" + checksum: 10c0/0ee9c9810080fcf77dd7bed457f65dd074009d799b7c4efa147f3c53049993d08c73409653bc402fa9c7bf67b691d3c8cce7cd6836db4fdb75334e179ae325fa + languageName: node + linkType: hard + +"@ionic/utils-stream@npm:3.1.7": + version: 3.1.7 + resolution: "@ionic/utils-stream@npm:3.1.7" + dependencies: + debug: "npm:^4.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/738715334237cbafe4c43f3620ffd6ccbef3a6148958d6d4642dba784acb55223c4c059d7593edddcc72fcab7b5fe7c5c51b74cfd54521dd91ff1a9de7d5d121 + languageName: node + linkType: hard + +"@ionic/utils-subprocess@npm:^3.0.1": + version: 3.0.1 + resolution: "@ionic/utils-subprocess@npm:3.0.1" + dependencies: + "@ionic/utils-array": "npm:2.1.6" + "@ionic/utils-fs": "npm:3.1.7" + "@ionic/utils-process": "npm:2.1.12" + "@ionic/utils-stream": "npm:3.1.7" + "@ionic/utils-terminal": "npm:2.3.5" + cross-spawn: "npm:^7.0.3" + debug: "npm:^4.0.0" + tslib: "npm:^2.0.1" + checksum: 10c0/b4f4b02c3ebd7dcc587c5db077ddade5d938f7693fc7aaba7e5356404f272dac8c9e032adfb496115ab3ca5ec7ec37949ce7925394f4a7574db81f30e3b27eed + languageName: node + linkType: hard + +"@ionic/utils-terminal@npm:2.3.5, @ionic/utils-terminal@npm:^2.3.4, @ionic/utils-terminal@npm:^2.3.5": + version: 2.3.5 + resolution: "@ionic/utils-terminal@npm:2.3.5" + dependencies: + "@types/slice-ansi": "npm:^4.0.0" + debug: "npm:^4.0.0" + signal-exit: "npm:^3.0.3" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + tslib: "npm:^2.0.1" + untildify: "npm:^4.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/a3fdd68f6913250f49a302e03f4c93c2abafed3064f982c10b69a2e05439df208d09cc25dfec062cbfd741d22ebf5473f72831aeba96e246f8e3d82d6caaa03a + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/50a4fdafe0b8f655cb2877e59fe81320272eaa4ccdbe6b9b87f10614b2220399ae3e05c16137a59db1f189523b42c7f88bd097ee991dbd7bc0e01113c583e844 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/aspromise@npm:1.1.2" + checksum: 10c0/a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f + languageName: node + linkType: hard + +"@protobufjs/base64@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/base64@npm:1.1.2" + checksum: 10c0/eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 + languageName: node + linkType: hard + +"@protobufjs/codegen@npm:^2.0.5": + version: 2.0.5 + resolution: "@protobufjs/codegen@npm:2.0.5" + checksum: 10c0/1b8a2ae56ee60a56e9d205cd4b6072a1503c5069b8ebb905710f974ff0098a0d0700641c137e0a8d98dedf14423156a106a9433695cbf52574810f55000fdcab + languageName: node + linkType: hard + +"@protobufjs/eventemitter@npm:^1.1.1": + version: 1.1.1 + resolution: "@protobufjs/eventemitter@npm:1.1.1" + checksum: 10c0/8e06193d4629c5e7c09d4f8c2ddba8fc4dfa739f0149f33a1d901568d35bb7b8b5277a4e8452baf3bdd0b302fd599cf255d193267aa93a0a4747e23cd073c4ac + languageName: node + linkType: hard + +"@protobufjs/fetch@npm:^1.1.1": + version: 1.1.1 + resolution: "@protobufjs/fetch@npm:1.1.1" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.1" + checksum: 10c0/a497ff5433854e8577f0427983ea39b9113b49a8120f94515291d763327061d2c3013e60e24ea436d091dafae01a0f6eb1867e3b1616045d96a31d8b3c646ed4 + languageName: node + linkType: hard + +"@protobufjs/float@npm:^1.0.2": + version: 1.0.2 + resolution: "@protobufjs/float@npm:1.0.2" + checksum: 10c0/18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 + languageName: node + linkType: hard + +"@protobufjs/path@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/path@npm:1.1.2" + checksum: 10c0/cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 + languageName: node + linkType: hard + +"@protobufjs/pool@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/pool@npm:1.1.0" + checksum: 10c0/eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 + languageName: node + linkType: hard + +"@protobufjs/utf8@npm:^1.1.1": + version: 1.1.1 + resolution: "@protobufjs/utf8@npm:1.1.1" + checksum: 10c0/641fc145f00626405e8984b6e90b9edcbcc072ffc82d0647ca3176e09c730b2d022f988e65f011a7a17e2e4d77cde7733643aa10d8ac2bfa30f134dbcad553fd + languageName: node + linkType: hard + +"@rolldown/pluginutils@npm:1.0.0-beta.27": + version: 1.0.0-beta.27 + resolution: "@rolldown/pluginutils@npm:1.0.0-beta.27" + checksum: 10c0/9658f235b345201d4f6bfb1f32da9754ca164f892d1cb68154fe5f53c1df42bd675ecd409836dff46884a7847d6c00bdc38af870f7c81e05bba5c2645eb4ab9c + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.60.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-android-arm64@npm:4.60.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-darwin-arm64@npm:4.34.9" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.44.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-darwin-arm64@npm:4.60.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-darwin-x64@npm:4.34.9" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.44.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-darwin-x64@npm:4.60.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.60.4" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-freebsd-x64@npm:4.60.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.60.4" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.60.4" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.9" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.44.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.60.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.9" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.44.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.60.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.60.4" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.60.4" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.60.4" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.60.4" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.60.4" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.60.4" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.60.4" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.9" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.44.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.60.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.34.9" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.44.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.60.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-openbsd-x64@npm:4.60.4" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.60.4" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.9" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.44.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.60.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.60.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.60.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.9" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.44.0": + version: 4.44.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.44.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.60.4": + version: 4.60.4 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.60.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@stencil/core@npm:4.43.0": + version: 4.43.0 + resolution: "@stencil/core@npm:4.43.0" + dependencies: + "@rollup/rollup-darwin-arm64": "npm:4.34.9" + "@rollup/rollup-darwin-x64": "npm:4.34.9" + "@rollup/rollup-linux-arm64-gnu": "npm:4.34.9" + "@rollup/rollup-linux-arm64-musl": "npm:4.34.9" + "@rollup/rollup-linux-x64-gnu": "npm:4.34.9" + "@rollup/rollup-linux-x64-musl": "npm:4.34.9" + "@rollup/rollup-win32-arm64-msvc": "npm:4.34.9" + "@rollup/rollup-win32-x64-msvc": "npm:4.34.9" + dependenciesMeta: + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + bin: + stencil: bin/stencil + checksum: 10c0/e267b68a12f992ea4f0c9ca69499551d93f31ed9aa9f49a5c421618cc2e104edf56a50c63cf25f1fa2690d30c3c5f699957ee4e7abdf22abf06f5edbc6102641 + languageName: node + linkType: hard + +"@stencil/core@npm:^4.0.3, @stencil/core@npm:^4.35.3": + version: 4.43.4 + resolution: "@stencil/core@npm:4.43.4" + dependencies: + "@rollup/rollup-darwin-arm64": "npm:4.44.0" + "@rollup/rollup-darwin-x64": "npm:4.44.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.44.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.44.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.44.0" + "@rollup/rollup-linux-x64-musl": "npm:4.44.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.44.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.44.0" + dependenciesMeta: + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + bin: + stencil: bin/stencil + checksum: 10c0/02a4ae50986a83110dcf4c5bdfca6013e6952df2678cbc905a9c0eef915a98f6c3e8f2295c3bb72ee2e1bd167ad8f599405296665b15a59516b44b310138c474 + languageName: node + linkType: hard + +"@supabase/auth-js@npm:2.108.2": + version: 2.108.2 + resolution: "@supabase/auth-js@npm:2.108.2" + dependencies: + tslib: "npm:2.8.1" + checksum: 10c0/31617770accb5910c1e7d19f230e3f1e5e1fd3e78912ea5ae342dddb7e032f58fb1d277560eae9a7892ef2d20b03c4989118a9ff17cb48aa5e7dd99eb566fb02 + languageName: node + linkType: hard + +"@supabase/functions-js@npm:2.108.2": + version: 2.108.2 + resolution: "@supabase/functions-js@npm:2.108.2" + dependencies: + tslib: "npm:2.8.1" + checksum: 10c0/06e899cd3445f519f8f595c648b8fa38f174f01335b18cf1ebcc87efc7cede997896e6b06c74747b4275c7b2514accee26d5ee0d4bb2bf5fc757c82070435624 + languageName: node + linkType: hard + +"@supabase/phoenix@npm:^0.4.2": + version: 0.4.4 + resolution: "@supabase/phoenix@npm:0.4.4" + checksum: 10c0/b4ba930c82b20d412358826aa87ce0735147fd168efb817bfc34e31d78605220947dc7c5844726268ac6bf338f0cd081f9908a7bab87aaff4058cb80bf71ab5b + languageName: node + linkType: hard + +"@supabase/postgrest-js@npm:2.108.2": + version: 2.108.2 + resolution: "@supabase/postgrest-js@npm:2.108.2" + dependencies: + tslib: "npm:2.8.1" + checksum: 10c0/eafb794763943f1c72683157785e325647e5cc8eb17904b6922b896b5c25f0be75c11376cb7a518b6f6ee983ad7d94a509e75950533f3da4fcf8f910f1e11433 + languageName: node + linkType: hard + +"@supabase/realtime-js@npm:2.108.2": + version: 2.108.2 + resolution: "@supabase/realtime-js@npm:2.108.2" + dependencies: + "@supabase/phoenix": "npm:^0.4.2" + tslib: "npm:2.8.1" + checksum: 10c0/3a5c19c4283b64cf22e91d264580905de0a724376314acf6a9f9e53ae74ba05bad679eaf57fe5c31e95213608c1bd065485127824bed377500b021d01cec0454 + languageName: node + linkType: hard + +"@supabase/storage-js@npm:2.108.2": + version: 2.108.2 + resolution: "@supabase/storage-js@npm:2.108.2" + dependencies: + iceberg-js: "npm:^0.8.1" + tslib: "npm:2.8.1" + checksum: 10c0/9e7ed4560150012ea8fa45c12b180533f166d6900b4a61e1a2bbf7f12e872ea42f85670db3dc781b7e76f983f5c9d320d84574775969d18804c6a0ca4aa44e7d + languageName: node + linkType: hard + +"@supabase/supabase-js@npm:^2.108.1": + version: 2.108.2 + resolution: "@supabase/supabase-js@npm:2.108.2" + dependencies: + "@supabase/auth-js": "npm:2.108.2" + "@supabase/functions-js": "npm:2.108.2" + "@supabase/postgrest-js": "npm:2.108.2" + "@supabase/realtime-js": "npm:2.108.2" + "@supabase/storage-js": "npm:2.108.2" + checksum: 10c0/1e627189af3d8088329fdbdfbff754285dd757f30d7d4e0415881d75b684143b6c1fe519449b69d4b30b52f732a7f4510566718640826a966e124c8331becbfb + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 + languageName: node + linkType: hard + +"@types/fs-extra@npm:^8.0.0": + version: 8.1.5 + resolution: "@types/fs-extra@npm:8.1.5" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/c9f7965bc499a6cc1cadb37a4e9002c0f33810867a0a47a132c4165cbe3b49c6ea52e26c3c38f07720540dd5c470619254c0ef00a2e14a8bf4971ec5d478ba69 + languageName: node + linkType: hard + +"@types/geojson@npm:*": + version: 7946.0.16 + resolution: "@types/geojson@npm:7946.0.16" + checksum: 10c0/1ff24a288bd5860b766b073ead337d31d73bdc715e5b50a2cee5cb0af57a1ed02cc04ef295f5fa68dc40fe3e4f104dd31282b2b818a5ba3231bc1001ba084e3c + languageName: node + linkType: hard + +"@types/google.maps@npm:^3.53.1, @types/google.maps@npm:^3.58.1": + version: 3.65.2 + resolution: "@types/google.maps@npm:3.65.2" + checksum: 10c0/790aed74128385bfa6c8b41c6bf18b8f1901e6c7b7c806615e904e9093703a8238f8b2504027ebe714e95f9cd5b2a94fd63306f8b71907a23ba24673754843ea + languageName: node + linkType: hard + +"@types/history@npm:^4.7.11": + version: 4.7.11 + resolution: "@types/history@npm:4.7.11" + checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 + languageName: node + linkType: hard + +"@types/katex@npm:^0.16.0": + version: 0.16.8 + resolution: "@types/katex@npm:0.16.8" + checksum: 10c0/0661609353f4f5e62bd2dc78da99e842761c6474b19f2268b195bbe9dbf20e6f766a31155d79eec2e7c3eff4e7eba4b30f4f519e9c6a11c75bb45e257a2ddb69 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 25.9.1 + resolution: "@types/node@npm:25.9.1" + dependencies: + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/9a04682842bebbcf21a1779dfeab9aa733d7bd7bbc0a0edb641ab3a9a3d43eac543225acf669c334f458f1956443ebc072bc3c72840c543b8b356cab5c82d456 + languageName: node + linkType: hard + +"@types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": + version: 26.0.0 + resolution: "@types/node@npm:26.0.0" + dependencies: + undici-types: "npm:~8.3.0" + checksum: 10c0/f36e21634fd8e8ded162ca486508bd8bb229d398a8d5541f6d8c1255968d4464e53327a77f403b216ef98e3b6f6956882eef83e4857d4bc2be9569dd55d37aae + languageName: node + linkType: hard + +"@types/react-dom@npm:^19.0.0": + version: 19.2.3 + resolution: "@types/react-dom@npm:19.2.3" + peerDependencies: + "@types/react": ^19.2.0 + checksum: 10c0/b486ebe0f4e2fb35e2e108df1d8fc0927ca5d6002d5771e8a739de11239fe62d0e207c50886185253c99eb9dedfeeb956ea7429e5ba17f6693c7acb4c02f8cd1 + languageName: node + linkType: hard + +"@types/react-router-dom@npm:^5.3.3": + version: 5.3.3 + resolution: "@types/react-router-dom@npm:5.3.3" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router": "npm:*" + checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 + languageName: node + linkType: hard + +"@types/react-router@npm:*, @types/react-router@npm:^5.1.20": + version: 5.1.20 + resolution: "@types/react-router@npm:5.1.20" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 + languageName: node + linkType: hard + +"@types/react@npm:*, @types/react@npm:^19.0.0": + version: 19.2.15 + resolution: "@types/react@npm:19.2.15" + dependencies: + csstype: "npm:^3.2.2" + checksum: 10c0/b554eab715bb14e581f0ae60e5cefe91e1a5e06c31022b543a9806cf224aa056f21e4fb46208e46eb934d86ca0b247ebc82377192a0dead303cb28b8764c6e67 + languageName: node + linkType: hard + +"@types/slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/slice-ansi@npm:4.0.0" + checksum: 10c0/5ea517c6739652029ac13810fe8b3b360e7cca4b2fcf99fc879964c2a4f12f8e6b559dacda5b9f016415f0c14017fd9e2b614ecfe0eb056d68e16b3a04cc48bf + languageName: node + linkType: hard + +"@types/supercluster@npm:^7.1.3": + version: 7.1.3 + resolution: "@types/supercluster@npm:7.1.3" + dependencies: + "@types/geojson": "npm:*" + checksum: 10c0/0d55dad98df0990fc38a7bb64dc23dda46014187c0d7638e6f2b6717ba8931b13e5b1d394789833a2ac822014c977ef64623dffd81a0bbf39e52c53c8183741f + languageName: node + linkType: hard + +"@vitejs/plugin-react@npm:^4.0.1": + version: 4.7.0 + resolution: "@vitejs/plugin-react@npm:4.7.0" + dependencies: + "@babel/core": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1" + "@rolldown/pluginutils": "npm:1.0.0-beta.27" + "@types/babel__core": "npm:^7.20.5" + react-refresh: "npm:^0.17.0" + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/692f23960972879485d647713663ec299c478222c96567d60285acf7c7dc5c178e71abfe9d2eefddef1eeb01514dacbc2ed68aad84628debf9c7116134734253 + languageName: node + linkType: hard + +"@xmldom/xmldom@npm:^0.9.10": + version: 0.9.10 + resolution: "@xmldom/xmldom@npm:0.9.10" + checksum: 10c0/38a9c9b95450d7fccebc61371c8e0b90ceaae992886484108333d29ccbd2640e3555b6af012f15ce1beb5067aeb40486659b6183fad38af179e82d28028bfc5d + languageName: node + linkType: hard + +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 + languageName: node + linkType: hard + +"acorn@npm:^8.15.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" + bin: + acorn: bin/acorn + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"app@workspace:.": + version: 0.0.0-use.local + resolution: "app@workspace:." + dependencies: + "@capacitor-firebase/authentication": "npm:^8.0.0" + "@capacitor/android": "npm:8.3.4" + "@capacitor/app": "npm:8.1.0" + "@capacitor/cli": "npm:8.3.4" + "@capacitor/core": "npm:8.3.4" + "@capacitor/google-maps": "npm:^8.0.0" + "@capacitor/haptics": "npm:8.0.2" + "@capacitor/ios": "npm:8.3.4" + "@capacitor/keyboard": "npm:8.0.3" + "@capacitor/preferences": "npm:^8.0.1" + "@capacitor/push-notifications": "npm:^8.1.1" + "@capacitor/status-bar": "npm:8.0.2" + "@hookform/resolvers": "npm:^3.9.0" + "@ionic/pwa-elements": "npm:^3.0.0" + "@ionic/react": "npm:8.8.7" + "@ionic/react-router": "npm:8.8.7" + "@supabase/supabase-js": "npm:^2.108.1" + "@types/katex": "npm:^0.16.0" + "@types/react": "npm:^19.0.0" + "@types/react-dom": "npm:^19.0.0" + "@types/react-router": "npm:^5.1.20" + "@types/react-router-dom": "npm:^5.3.3" + "@vitejs/plugin-react": "npm:^4.0.1" + firebase: "npm:^11.0.0" + ionicons: "npm:^7.4.0" + katex: "npm:^0.16.0" + qrcode.react: "npm:^4.2.0" + react: "npm:18.2.0" + react-dom: "npm:18.2.0" + react-hook-form: "npm:^7.54.0" + react-katex: "npm:^3.0.1" + react-router: "npm:^5.3.4" + react-router-dom: "npm:^5.3.4" + terser: "npm:^5.4.0" + typescript: "npm:~5.9.0" + vite: "npm:^5.0.0" + zod: "npm:^3.24.0" + zustand: "npm:^5.0.0" + languageName: unknown + linkType: soft + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"balanced-match@npm:^4.0.2": + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b + languageName: node + linkType: hard + +"base64-js@npm:^1.5.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.10.12": + version: 2.10.31 + resolution: "baseline-browser-mapping@npm:2.10.31" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/ecb6a10b4bb62d8660e3a4c525acdae2b1c7f68e4ec1e03f473b2050781b7131fbd562a200489ae987d11eb8ae85ec95d3ac77d9d84b4afe6548dfdfdceb6734 + languageName: node + linkType: hard + +"big-integer@npm:1.6.x": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + languageName: node + linkType: hard + +"bplist-parser@npm:^0.3.2": + version: 0.3.2 + resolution: "bplist-parser@npm:0.3.2" + dependencies: + big-integer: "npm:1.6.x" + checksum: 10c0/4dc307c11d2511a01255e87e370d4ab6f1962b35fdc27605fd4ce9a557a259c2dc9f87822617ddb1f7aa062a71e30ef20d6103329ac7ce235628f637fb0ed763 + languageName: node + linkType: hard + +"brace-expansion@npm:^5.0.5": + version: 5.0.6 + resolution: "brace-expansion@npm:5.0.6" + dependencies: + balanced-match: "npm:^4.0.2" + checksum: 10c0/8c919869b90f61d533b341d3340be5ee4413232ea89b8246cbc2f38eb014f1d8182785c98a006eaf6111d02dc9eeffefdc240d5ac158625b2ed084dccd4bbf9b + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0": + version: 4.28.2 + resolution: "browserslist@npm:4.28.2" + dependencies: + baseline-browser-mapping: "npm:^2.10.12" + caniuse-lite: "npm:^1.0.30001782" + electron-to-chromium: "npm:^1.5.328" + node-releases: "npm:^2.0.36" + update-browserslist-db: "npm:^1.2.3" + bin: + browserslist: cli.js + checksum: 10c0/c0228b6330f785b7fa59d2d360124ec6d9322f96ed9f3ee1f873e33ecc9503a6f0ffc3b71191a28c4ff6e930b753b30043da1c33844a9548f3018d491f09ce60 + languageName: node + linkType: hard + +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001782": + version: 1.0.30001793 + resolution: "caniuse-lite@npm:1.0.30001793" + checksum: 10c0/bee8f8b55d1ccdb2076b7355c06fd01916952eadd76b828e4d5fb9ac62d17ec7db0e2b7c326b923478b93526ad1ff74f189cf40c06de0e4a5edbc677009b97fe + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce + languageName: node + linkType: hard + +"debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.4.0": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.328": + version: 1.5.360 + resolution: "electron-to-chromium@npm:1.5.360" + checksum: 10c0/2f5936e5f3c1483c7fb2f741b109ef7eb4e1761b0fc944bf2898b0835aae235c7b257790edde4679ad780fbcb8be8734caa720a4644526110c77f7216b678233 + languageName: node + linkType: hard + +"elementtree@npm:^0.1.7": + version: 0.1.7 + resolution: "elementtree@npm:0.1.7" + dependencies: + sax: "npm:1.1.4" + checksum: 10c0/669e56d5092382ceaaa2022f3c391b0f6702e47876095b0e00a790181b7f6b5f49fe6e67ebe8339fd6b1b1b66ffe53c87dd47f1e550661ea55722279bf24cad3 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"fast-equals@npm:^5.2.2": + version: 5.4.0 + resolution: "fast-equals@npm:5.4.0" + checksum: 10c0/4fdce3a8f814e78af7296ca4ebe82f4765074a6dfe557ee98c18f5d2958c3de59025fbff7556d65f250165ccef424d37f9952ee159400f8ebe5f2edb704ec80e + languageName: node + linkType: hard + +"faye-websocket@npm:0.11.4": + version: 0.11.4 + resolution: "faye-websocket@npm:0.11.4" + dependencies: + websocket-driver: "npm:>=0.5.1" + checksum: 10c0/c6052a0bb322778ce9f89af92890f6f4ce00d5ec92418a35e5f4c6864a4fe736fec0bcebd47eac7c0f0e979b01530746b1c85c83cb04bae789271abf19737420 + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"firebase@npm:^11.0.0": + version: 11.10.0 + resolution: "firebase@npm:11.10.0" + dependencies: + "@firebase/ai": "npm:1.4.1" + "@firebase/analytics": "npm:0.10.17" + "@firebase/analytics-compat": "npm:0.2.23" + "@firebase/app": "npm:0.13.2" + "@firebase/app-check": "npm:0.10.1" + "@firebase/app-check-compat": "npm:0.3.26" + "@firebase/app-compat": "npm:0.4.2" + "@firebase/app-types": "npm:0.9.3" + "@firebase/auth": "npm:1.10.8" + "@firebase/auth-compat": "npm:0.5.28" + "@firebase/data-connect": "npm:0.3.10" + "@firebase/database": "npm:1.0.20" + "@firebase/database-compat": "npm:2.0.11" + "@firebase/firestore": "npm:4.8.0" + "@firebase/firestore-compat": "npm:0.3.53" + "@firebase/functions": "npm:0.12.9" + "@firebase/functions-compat": "npm:0.3.26" + "@firebase/installations": "npm:0.6.18" + "@firebase/installations-compat": "npm:0.2.18" + "@firebase/messaging": "npm:0.12.22" + "@firebase/messaging-compat": "npm:0.2.22" + "@firebase/performance": "npm:0.7.7" + "@firebase/performance-compat": "npm:0.2.20" + "@firebase/remote-config": "npm:0.6.5" + "@firebase/remote-config-compat": "npm:0.2.18" + "@firebase/storage": "npm:0.13.14" + "@firebase/storage-compat": "npm:0.3.24" + "@firebase/util": "npm:1.12.1" + checksum: 10c0/4a24f5e6e3b557aa0ded1ca208135ef8e733adef7df2c69f9be264203f82a1260e05fe7b9ff508852a9c50c1069b560004dd59dd375f30ae5e41035403777675 + languageName: node + linkType: hard + +"fs-extra@npm:^11.2.0": + version: 11.3.5 + resolution: "fs-extra@npm:11.3.5" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/33e80bad6b5d17308faa197e5ede99ecba4b6f6cb4aa4645d52745476c75afc57665bdf39ec75b2ebb38b97b7110f634a8dcc0a546e248eb4de059275cf5ac90 + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"glob@npm:^13.0.3": + version: 13.0.6 + resolution: "glob@npm:13.0.6" + dependencies: + minimatch: "npm:^10.2.2" + minipass: "npm:^7.1.3" + path-scurry: "npm:^2.0.2" + checksum: 10c0/269c236f11a9b50357fe7a8c6aadac667e01deb5242b19c84975628f05f4438d8ee1354bb62c5d6c10f37fd59911b54d7799730633a2786660d8c69f1d18120a + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"history@npm:^4.9.0": + version: 4.10.1 + resolution: "history@npm:4.10.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + loose-envify: "npm:^1.2.0" + resolve-pathname: "npm:^3.0.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + value-equal: "npm:^1.0.1" + checksum: 10c0/35377694e4f10f2cf056a9cb1a8ee083e04e4b4717a63baeee4afd565658a62c7e73700bf9e82aa53dbe1ec94e0a25a83c080d63bad8ee6b274a98d2fbc5ed4c + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.1.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.5.1": + version: 0.5.10 + resolution: "http-parser-js@npm:0.5.10" + checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 + languageName: node + linkType: hard + +"iceberg-js@npm:^0.8.1": + version: 0.8.1 + resolution: "iceberg-js@npm:0.8.1" + checksum: 10c0/e504da64cc26e8ad7c5344353a7203c671a740c14eb6086f20505f5e9739cab774493e616032530c962df97f2a855115cc2e89a47dd81581df5917b21a69ec48 + languageName: node + linkType: hard + +"idb@npm:7.1.1": + version: 7.1.1 + resolution: "idb@npm:7.1.1" + checksum: 10c0/72418e4397638797ee2089f97b45fc29f937b830bc0eb4126f4a9889ecf10320ceacf3a177fe5d7ffaf6b4fe38b20bbd210151549bfdc881db8081eed41c870d + languageName: node + linkType: hard + +"inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^4.1.1": + version: 4.1.3 + resolution: "ini@npm:4.1.3" + checksum: 10c0/0d27eff094d5f3899dd7c00d0c04ea733ca03a8eb6f9406ce15daac1a81de022cb417d6eaff7e4342451ffa663389c565ffc68d6825eaf686bf003280b945764 + languageName: node + linkType: hard + +"ionicons@npm:^7.4.0": + version: 7.4.0 + resolution: "ionicons@npm:7.4.0" + dependencies: + "@stencil/core": "npm:^4.0.3" + checksum: 10c0/0f0e9b5a390514e864f098fbc6b69823fa2cde1758d0e43ca6a9a3b19d3a15b595c913e5a4445945bbbf779454c710fd101edb00f5f1a658dafd9073cc10b0b6 + languageName: node + linkType: hard + +"ionicons@npm:^8.0.13": + version: 8.0.13 + resolution: "ionicons@npm:8.0.13" + dependencies: + "@stencil/core": "npm:^4.35.3" + checksum: 10c0/4f12586359ed5d68dafff0440ff7ca4c195bdea5fff1f9fa4626add1e4fcea78a862db87c20930199f93817737695425b319aede65ef2111cf0191cdc346ce80 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.2.1 + resolution: "jsonfile@npm:6.2.1" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/e1abf000ecee9942d4d028a8e02dc752617face227d72afd1cfb2187e2433079e625bf82b807a313689db71b6472c6b2b389a2340d2798737b1199a39631c28a + languageName: node + linkType: hard + +"katex@npm:^0.16.0": + version: 0.16.47 + resolution: "katex@npm:0.16.47" + dependencies: + commander: "npm:^8.3.0" + bin: + katex: cli.js + checksum: 10c0/b10f4d0651c60771a48444879e4227255e26e2b2ec061b1ee4b08934863ad2324ba8dbb772455f7768aeb14dfcc13bcd309174a0ddd5ef954a607f644a197710 + languageName: node + linkType: hard + +"kdbush@npm:^4.0.2": + version: 4.1.0 + resolution: "kdbush@npm:4.1.0" + checksum: 10c0/b47c8a27de438df1e60080f73e3793217b4542a62bed7f07c8c29b0bf53359bbdba1e97305e396f7f4d28f98e31ce3fd21500dc3de03a44d8cda71a3d70ff7bb + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"kleur@npm:^4.1.5": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + +"long@npm:^5.0.0, long@npm:^5.3.2": + version: 5.3.2 + resolution: "long@npm:5.3.2" + checksum: 10c0/7130fe1cbce2dca06734b35b70d380ca3f70271c7f8852c922a7c62c86c4e35f0c39290565eca7133c625908d40e126ac57c02b1b1a4636b9457d77e1e60b981 + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lru-cache@npm:^11.0.0": + version: 11.5.0 + resolution: "lru-cache@npm:11.5.0" + checksum: 10c0/b92c2a7518128dec6b244bf3eb9fd79964d316cdeb12865ebfc2cebb4dfe9b24e3767a3923d71e6eb735f56b557fc55f08f150a53097d7805afb628c90158df4 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"minimatch@npm:^10.2.2": + version: 10.2.5 + resolution: "minimatch@npm:10.2.5" + dependencies: + brace-expansion: "npm:^5.0.5" + checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.12": + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/ba142b7b39e11e80c16dd74b0365d407880c87c1cf7e1480956981ae940ee36060fa5b6f092cd1e315184dd19244c657bd017d03327bd3c62247d691c5e8edfb + languageName: node + linkType: hard + +"native-run@npm:^2.0.3": + version: 2.0.3 + resolution: "native-run@npm:2.0.3" + dependencies: + "@ionic/utils-fs": "npm:^3.1.7" + "@ionic/utils-terminal": "npm:^2.3.4" + bplist-parser: "npm:^0.3.2" + debug: "npm:^4.3.4" + elementtree: "npm:^0.1.7" + ini: "npm:^4.1.1" + plist: "npm:^3.1.0" + split2: "npm:^4.2.0" + through2: "npm:^4.0.2" + tslib: "npm:^2.6.2" + yauzl: "npm:^2.10.0" + bin: + native-run: bin/native-run + checksum: 10c0/ce7e4fccca1f3dce3a4c5c8ceca5ad84dde66eda5c912311990c7c4cf8bfade607d8ea4707349cbe309bba151e779dc1a1f8428b7ebbc114ada4e8f08d717d6b + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.3.0 + resolution: "node-gyp@npm:12.3.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^6.25.0" + which: "npm:^6.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/9d9032b405cbe42f72a105259d9eb679376470c102df4a2dbaa51e07d59bf741dcffb85897087ea9d8318b9cabb824a8978af51508ae142f0239ae1e6a3c2329 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.36": + version: 2.0.44 + resolution: "node-releases@npm:2.0.44" + checksum: 10c0/004337ee9c0c455e81fdfc85cc8a585e89932d28338cd35a4ddba21ef2b68ff20cf06097544e7859c1868579d8529ed230802b127be5357c153e267079e8d851 + languageName: node + linkType: hard + +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: "npm:^4.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.1": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-scurry@npm:^2.0.2": + version: 2.0.2 + resolution: "path-scurry@npm:2.0.2" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10c0/b35ad37cf6557a87fd057121ce2be7695380c9138d93e87ae928609da259ea0a170fac6f3ef1eb3ece8a068e8b7f2f3adf5bb2374cf4d4a57fe484954fcc9482 + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.4": + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 + languageName: node + linkType: hard + +"plist@npm:^3.1.0": + version: 3.1.1 + resolution: "plist@npm:3.1.1" + dependencies: + "@xmldom/xmldom": "npm:^0.9.10" + base64-js: "npm:^1.5.1" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/af681277c2e541c6aab0ddee57f59459c43beeea1ee7aa2d4218aa39595fb41c068e2d2be3e4abb17e3252eaf2c1b806ecfb1d402fa5a3f4a6e1a7a32c880c9a + languageName: node + linkType: hard + +"postcss@npm:^8.4.43": + version: 8.5.15 + resolution: "postcss@npm:8.5.15" + dependencies: + nanoid: "npm:^3.3.12" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/7f2e63ae22fbe43aace1bf652bd99da4e90737c64194d49e51ddc9cd0f9e51ff2861a7d734379b494deffa03a880a5c65eec70bc29ee9ebaa7136dde3eee8f31 + languageName: node + linkType: hard + +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"prop-types@npm:^15.6.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"protobufjs@npm:^7.2.5": + version: 7.6.4 + resolution: "protobufjs@npm:7.6.4" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.5" + "@protobufjs/eventemitter": "npm:^1.1.1" + "@protobufjs/fetch": "npm:^1.1.1" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.1" + "@types/node": "npm:>=13.7.0" + long: "npm:^5.3.2" + checksum: 10c0/6403eaa9c5a72cc6450c11f38fefafdde243fd806e7ac606ac8d591bc3fdaec45ae764febf83181a2d9aac51aca624e0f46dec368ceea191f7e85e2d6ccaaf93 + languageName: node + linkType: hard + +"qrcode.react@npm:^4.2.0": + version: 4.2.0 + resolution: "qrcode.react@npm:4.2.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/68c691d130e5fda2f57cee505ed7aea840e7d02033100687b764601f9595e1116e34c13876628a93e1a5c2b85e4efc27d30b2fda72e2050c02f3e1c4e998d248 + languageName: node + linkType: hard + +"react-dom@npm:18.2.0": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.0" + peerDependencies: + react: ^18.2.0 + checksum: 10c0/66dfc5f93e13d0674e78ef41f92ed21dfb80f9c4ac4ac25a4b51046d41d4d2186abc915b897f69d3d0ebbffe6184e7c5876f2af26bfa956f179225d921be713a + languageName: node + linkType: hard + +"react-hook-form@npm:^7.54.0": + version: 7.76.1 + resolution: "react-hook-form@npm:7.76.1" + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + checksum: 10c0/77b502ffc76a99527093cc67205baf3462ac4b4d8699ba3f45f2efa53f0678dfe8c19aea284a6bdb25f4c598464615e6b9567fc8c194e220313aa9f3e48c6da7 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-katex@npm:^3.0.1": + version: 3.1.0 + resolution: "react-katex@npm:3.1.0" + dependencies: + katex: "npm:^0.16.0" + peerDependencies: + prop-types: ^15.8.1 + react: ">=15.3.2 <20" + checksum: 10c0/a61eb2c19a2dc384ad5864a27af66f40c504643f984150f4e270373df88293c2586779b53b2ee7ee4e75076f3c5284b36f425bbc1021d164ccb2997d11d8678f + languageName: node + linkType: hard + +"react-refresh@npm:^0.17.0": + version: 0.17.0 + resolution: "react-refresh@npm:0.17.0" + checksum: 10c0/002cba940384c9930008c0bce26cac97a9d5682bc623112c2268ba0c155127d9c178a9a5cc2212d560088d60dfd503edd808669a25f9b377f316a32361d0b23c + languageName: node + linkType: hard + +"react-router-dom@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router-dom@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + loose-envify: "npm:^1.3.1" + prop-types: "npm:^15.6.2" + react-router: "npm:5.3.4" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 + languageName: node + linkType: hard + +"react-router@npm:5.3.4, react-router@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + hoist-non-react-statics: "npm:^3.1.0" + loose-envify: "npm:^1.3.1" + path-to-regexp: "npm:^1.7.0" + prop-types: "npm:^15.6.2" + react-is: "npm:^16.6.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 + languageName: node + linkType: hard + +"react@npm:18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 + languageName: node + linkType: hard + +"readable-stream@npm:3": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"resolve-pathname@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-pathname@npm:3.0.0" + checksum: 10c0/c6ec49b670dc35b9a303c47fa83ba9348a71e92d64a4c4bb85e1b659a29b407aa1ac1cb14a9b5b502982132ca77482bd80534bca147439d66880d35a137fe723 + languageName: node + linkType: hard + +"rimraf@npm:^6.0.1": + version: 6.1.3 + resolution: "rimraf@npm:6.1.3" + dependencies: + glob: "npm:^13.0.3" + package-json-from-dist: "npm:^1.0.1" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/4a56537850102e20ba5d5eb49f366b4b7b2435389734b4b8480cf0e0eb0f6f5d0c44120a171aeb0d8f9ab40312a10d2262f3f50acbad803e32caef61b6cf86fc + languageName: node + linkType: hard + +"rollup@npm:^4.20.0": + version: 4.60.4 + resolution: "rollup@npm:4.60.4" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.60.4" + "@rollup/rollup-android-arm64": "npm:4.60.4" + "@rollup/rollup-darwin-arm64": "npm:4.60.4" + "@rollup/rollup-darwin-x64": "npm:4.60.4" + "@rollup/rollup-freebsd-arm64": "npm:4.60.4" + "@rollup/rollup-freebsd-x64": "npm:4.60.4" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.60.4" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.60.4" + "@rollup/rollup-linux-arm64-gnu": "npm:4.60.4" + "@rollup/rollup-linux-arm64-musl": "npm:4.60.4" + "@rollup/rollup-linux-loong64-gnu": "npm:4.60.4" + "@rollup/rollup-linux-loong64-musl": "npm:4.60.4" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.60.4" + "@rollup/rollup-linux-ppc64-musl": "npm:4.60.4" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.60.4" + "@rollup/rollup-linux-riscv64-musl": "npm:4.60.4" + "@rollup/rollup-linux-s390x-gnu": "npm:4.60.4" + "@rollup/rollup-linux-x64-gnu": "npm:4.60.4" + "@rollup/rollup-linux-x64-musl": "npm:4.60.4" + "@rollup/rollup-openbsd-x64": "npm:4.60.4" + "@rollup/rollup-openharmony-arm64": "npm:4.60.4" + "@rollup/rollup-win32-arm64-msvc": "npm:4.60.4" + "@rollup/rollup-win32-ia32-msvc": "npm:4.60.4" + "@rollup/rollup-win32-x64-gnu": "npm:4.60.4" + "@rollup/rollup-win32-x64-msvc": "npm:4.60.4" + "@types/estree": "npm:1.0.8" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/2734511579da220408eefb877b51281767d790652cee25da8fcd4936c947e3db14882b5edb1d0d5d5bf60f2a71a58ae7d5f7f46c11e3fdf33182538953886243 + languageName: node + linkType: hard + +"safe-buffer@npm:>=5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"sax@npm:1.1.4": + version: 1.1.4 + resolution: "sax@npm:1.1.4" + checksum: 10c0/805371d5c326f48e6b180e059315d9e97be8e38620538bc7d5debb05c1b2f6ffc14c5f26a50688d5e61a79949e2c8ff2781410de6718d3323137ae7e7a32cbe5 + languageName: node + linkType: hard + +"sax@npm:>=0.6.0": + version: 1.6.0 + resolution: "sax@npm:1.6.0" + checksum: 10c0/e5593f4a91eb25761a688c4d96902e4e95a0dd6017bc65146b6f21236e3d715cf893333b76bc758923c9574c2fb5a7a76c3a81e96ea15432f2624f906c027c1e + languageName: node + linkType: hard + +"scheduler@npm:^0.23.0": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.6.3": + version: 7.8.0 + resolution: "semver@npm:7.8.0" + bin: + semver: bin/semver.js + checksum: 10c0/8f096ca9b80ffd47b308d03f9ce8c873e27e2983f36023c559cdc92c51e8433fc23ebbfe57ec9623fc155636a6961ee989501099841ae4bb1babc8d2b3f048cd + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"split2@npm:^4.2.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + +"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"supercluster@npm:^8.0.1": + version: 8.0.1 + resolution: "supercluster@npm:8.0.1" + dependencies: + kdbush: "npm:^4.0.2" + checksum: 10c0/79121e6dbff67b3036ea6651f3baddb942478830ba3ecbc27455715ab5bd269de8381dc04618c0c15963346ea2ed0f81cd5f767c2978a63e2841807c73445d57 + languageName: node + linkType: hard + +"tar@npm:^7.5.3, tar@npm:^7.5.4": + version: 7.5.15 + resolution: "tar@npm:7.5.15" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/8f039edb1d12fdd7df6c6f9877d125afe9f3da3f5f9317df326fdd090d48793d6998cede1506a1471f3e3a250db270a89dace28005eb5e99c5a9132d704ac956 + languageName: node + linkType: hard + +"terser@npm:^5.4.0": + version: 5.47.1 + resolution: "terser@npm:5.47.1" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.15.0" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/e7017001aff657b8eb444edb4c4ad2425b90c141c5329f06b1939161f38884622972ec7b12d197207229c8079d24d20bf44be93852f735fe3bb4b32d80775775 + languageName: node + linkType: hard + +"through2@npm:^4.0.2": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: "npm:3" + checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.0.2": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tiny-warning@npm:^1.0.0": + version: 1.0.3 + resolution: "tiny-warning@npm:1.0.3" + checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.16 + resolution: "tinyglobby@npm:0.2.16" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/f2e09fd93dd95c41e522113b686ff6f7c13020962f8698a864a257f3d7737599afc47722b7ab726e12f8a813f779906187911ff8ee6701ede65072671a7e934b + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + +"tslib@npm:*, tslib@npm:2.8.1, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.6.2, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"typescript@npm:~5.9.0": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.9.0#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + languageName: node + linkType: hard + +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca + languageName: node + linkType: hard + +"undici-types@npm:~8.3.0": + version: 8.3.0 + resolution: "undici-types@npm:8.3.0" + checksum: 10c0/c8aa7e2fbebfce519654dafadc0ece59be888d2ccaf180fb4495da875e7b536d2456345c384069c7e6f3e9c9ab7435f074957da306f142343eee86ff8048855a + languageName: node + linkType: hard + +"undici@npm:^6.25.0": + version: 6.25.0 + resolution: "undici@npm:6.25.0" + checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"untildify@npm:^4.0.0": + version: 4.0.0 + resolution: "untildify@npm:4.0.0" + checksum: 10c0/d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.2.3": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"value-equal@npm:^1.0.1": + version: 1.0.1 + resolution: "value-equal@npm:1.0.1" + checksum: 10c0/79068098355483ef29f4d3753999ad880875b87625d7e9055cad9346ea4b7662aad3a66f87976801b0dd7a6f828ba973d28b1669ebcd37eaf88cc5f687c1a691 + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.4.21 + resolution: "vite@npm:5.4.21" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/468336a1409f728b464160cbf02672e72271fb688d0e605e776b74a89d27e1029509eef3a3a6c755928d8011e474dbf234824d054d07960be5f23cd176bc72de + languageName: node + linkType: hard + +"web-vitals@npm:^4.2.4": + version: 4.2.4 + resolution: "web-vitals@npm:4.2.4" + checksum: 10c0/383c9281d5b556bcd190fde3c823aeb005bb8cf82e62c75b47beb411014a4ed13fa5c5e0489ed0f1b8d501cd66b0bebcb8624c1a75750bd5df13e2a3b1b2d194 + languageName: node + linkType: hard + +"websocket-driver@npm:>=0.5.1": + version: 0.7.5 + resolution: "websocket-driver@npm:0.7.5" + dependencies: + http-parser-js: "npm:>=0.5.1" + safe-buffer: "npm:>=5.1.0" + websocket-extensions: "npm:>=0.1.1" + checksum: 10c0/843a3c9f529ce07f2721829f70f62986247525ab22625e857b69da13dc90967bacfe57b85e196801b565cd797e309ddd5b06fa8435732e34e8a8ab6201d7abed + languageName: node + linkType: hard + +"websocket-extensions@npm:>=0.1.1": + version: 0.1.4 + resolution: "websocket-extensions@npm:0.1.4" + checksum: 10c0/bbc8c233388a0eb8a40786ee2e30d35935cacbfe26ab188b3e020987e85d519c2009fe07cfc37b7f718b85afdba7e54654c9153e6697301f72561bfe429177e0 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^6.0.0": + version: 6.0.1 + resolution: "which@npm:6.0.1" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"xml2js@npm:^0.6.2": + version: 0.6.2 + resolution: "xml2js@npm:0.6.2" + dependencies: + sax: "npm:>=0.6.0" + xmlbuilder: "npm:~11.0.0" + checksum: 10c0/e98a84e9c172c556ee2c5afa0fc7161b46919e8b53ab20de140eedea19903ed82f7cd5b1576fb345c84f0a18da1982ddf65908129b58fc3d7cbc658ae232108f + languageName: node + linkType: hard + +"xmlbuilder@npm:^15.1.1": + version: 15.1.1 + resolution: "xmlbuilder@npm:15.1.1" + checksum: 10c0/665266a8916498ff8d82b3d46d3993913477a254b98149ff7cff060d9b7cc0db7cf5a3dae99aed92355254a808c0e2e3ec74ad1b04aa1061bdb8dfbea26c18b8 + languageName: node + linkType: hard + +"xmlbuilder@npm:~11.0.0": + version: 11.0.1 + resolution: "xmlbuilder@npm:11.0.1" + checksum: 10c0/74b979f89a0a129926bc786b913459bdbcefa809afaa551c5ab83f89b1915bdaea14c11c759284bb9b931e3b53004dbc2181e21d3ca9553eeb0b2a7b4e40c35b + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.7.2": + version: 17.7.3 + resolution: "yargs@npm:17.7.3" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/7a28572f7e785a57886e34fdbddb9b28756dec552e1453d5f6e7cdd00ad8721a4e8c4321d33683f5e61cacb36ad43258adbb48396b71ec4ed14abee0fc0d0c1f + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard + +"zod@npm:^3.24.0": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c + languageName: node + linkType: hard + +"zustand@npm:^5.0.0": + version: 5.0.13 + resolution: "zustand@npm:5.0.13" + peerDependencies: + "@types/react": ">=18.0.0" + immer: ">=9.0.6" + react: ">=18.0.0" + use-sync-external-store: ">=1.2.0" + peerDependenciesMeta: + "@types/react": + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + checksum: 10c0/e4e76af1c324c797e3cc6ef094cb15c5884ca6713697140c2be292b2c612f5445fa21d222671b97797a4376154cac14a140f05728f0ac17b4b9e10f45e0ff29e + languageName: node + linkType: hard

GCbwU7x<;8172x%hRO4S-!d|D> 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 documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.getcapacitor.app", appContext.getPackageName()); + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ace79b0 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/io/ionic/starter/MainActivity.java b/android/app/src/main/java/io/ionic/starter/MainActivity.java new file mode 100644 index 0000000..73e3a98 --- /dev/null +++ b/android/app/src/main/java/io/ionic/starter/MainActivity.java @@ -0,0 +1,5 @@ +package io.ionic.starter; + +import com.getcapacitor.BridgeActivity; + +public class MainActivity extends BridgeActivity {} diff --git a/android/app/src/main/res/drawable-land-hdpi/splash.png b/android/app/src/main/res/drawable-land-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e31573b4fc93e60d171f4046c0220e1463075d9e GIT binary patch literal 7705 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 wKmFJ0_JHhk1&0B>;%YXATM literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-mdpi/splash.png b/android/app/src/main/res/drawable-land-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xhdpi/splash.png b/android/app/src/main/res/drawable-land-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..807725501bdd92e94e51e7b2b0006f69e0083a0b GIT binary patch literal 9251 zcmeHMX;@R&){a`F6@fZ2$YhHaL=+Jr%uy6^0u)3B$1ZwbY4hL4)@C5Hq9nWtKai&>vt*`@mZjzr1xZ}*Z6 zvgY>gvv`p7;!Rzjr(o`O34vcjdYF{)$z!T*a&SycFz1b6e3rb*uPVY}wgGm=b~tQR z0Nz`60*}qnC&z)&r?-H|=k>tjKs>OVQy}2qc+ht7NazfF{q4hlko+SZe=hQ;)Bd5z zzqj;XMgGF#ekbx*{jn*s>6zaN|9iv!vhOy3{1^ZK`7EE_65ITjP5H}uH-G#)jDJuG z|EP&SkI8RN{%!OhBJ_6{|G=&P4b}L0{og?O&!M@ezrF)>>ndL*nYiLH97H8|Tw3jB zFMlW{H5{ok0*!s50Fs+bKsHfFl&Q541OEp;$5Q3ZSr6kbAZyjl!-I>v%UJmE4R>z$ zA?hIz0Ga_oVqK!^_C$xqMGaf++K7-Iw92R=GcZ`%_faH}<1)$@%nsFo4?N=?C-2rpCjJdVPqNUW@~ z_g6^xF!iK|(6-y5n^nV9ENtwtZPZ>&g*PVorB11{QoLO4971)DR^};j;vPDEy=h%8 zzhWtBNE9QmIfC6NyD1==u45_SQAIVJkxX9~lDm?)s8K&sI@GQwB`vPwg8>9#7-f=PxHYcTNWPNYWSk zFuJvYjOoka-V26p7IEuo%ao&m;hlIy5!?2KTTe|$;eeE{+q2ERUpYcrY@Rll0=Vnb0O|(;I&+pE-lJRTo1)k#EpJTQ${t7 zSX&Xn25)>?lA`eqvnAkwvhLo6MRE>-lHO)CpURpHh8ASd`F%yviicyFYuHM1bT={IV7Q)3x5nB-lIK#-LdxlL&z+mf2PxMD(UsH)5$>l!bqe1$|m zPevgJ+MV#em++j|hCSLR#c_G3dNYlPGYT_1u3h~ea+Vos=u*PWw-nYejK7*u2V-0( zwL=_JuqLDbF>N+~apFC)-Tt%Z8=`h2TaVBb*;A4fJ_i82YlW(XwB8RmX>73-a^|0b{ z=hClOdx#NKhrBQGakXqJW?|~`jB>b_FJ3qiE-GDa-U{@9_!?B>t+Uqbg3aWaO!pC zg*OZx*m+vdY^KIs2qz*}IbD6E3R0ZR8sO=BRcVlj)lPR1m{{Ub6%g7$?t)`nyK+T! zHlj@%ta{rlsO42E$8C=MBy{V?<-k>6KIR<=$wTy&3`u3YOu$8)afva7tH+FErsv=* z?~c<=Tcj|!gEmVhxZJ}kGH|QjOFlHHP8eTmGtUbXa_9-n31vgG?aI1yaR`Fa;ro~K z2CGAgu@u+2S@@G@m*5F`Vb)e|yI7Tyie;ClkCH%5HC)yd7CudLRjr+kOq5C*B2Vp`Ns`0P2 zxnNVQS=w)HRVR909HbL+tcRO0ug*zapMVC6;6g05-110VR>x%UzJ{n-Hh;Wa+DDXK zJ==s3ZW^J{RbNHQ6f71NPbHo)3g97%7R*LKyn~^0&8WG=b#kq+g|0bKSrh&X0Tym2 zn~78m((AsU54QZZc!t{o$5$#KQ3$zVF@@Zut}3*6dn0ie_JJbc>B zBll+H@@bg7gn3=EmzOnm>HVZ0XzL9iZWHST};m_&P@aYqiP6&d~{_5kuKF!#hr zU<14>hUnF9G-yx#`CKLlK2*6Nd3JQgMSm%(C#73QT*P0S;dd+bHfMY5O5-EPBFdGI zm^C{0V42yqt_DY&Bw_nEgja&8{*V<@y(>^MLd#J%>SzETkwOcdl@~kkvWiQZY^)Aq z{fA`~y$PqUvGmKT6NAujE%*`qdg`FzIa1RUrnnH3x?ys{TFw?kVK$3)F#zj%pkLz{GfNeJ%bhtoQx2)UbC^# z>owl!8xQn@_jPp+E@#L$`5s8(!rg9yLk9tcj;S4(ZkdyR-#{LrI}^VeUGd@W_aut< zJ_iO{=uH1~sL<|A<-(U!zVybYbe%hL#;nGo?P(s9AtEQ;c6JZ@g9yI~oI%HAu1bhOJx{W5DJn{DMY&<0W!r!kwC$KPtY3T4H?WI<+BW(+At|$L zwPiFyb|>8e(@6^PFGXi#sg95#xPmyKD3VYA^Uus%gYQiPwJ7}I_) z&fBh}AqQ1@U7z|-?#7(sb!Mzvg>PinlCk9mqk&iPg9DpM^&o5^;wG_HP`IFNr-wv6 zOCJmKtQ?Z7mXGA9tMJ0A4p|0f`pZm@hn_pTqSz@ceZ90pJavewOBxg2%#Mk$nxq`Gf?29dAFZw=i90v0-nG5BK%blDno5nRJ(s>d zEh2aI@%SmG0x5A4Jz<&9o(a1`&+2-QMB?uhX^q;eehR18r(`9L?sBaI6XGM%*L$Zj zG3RtDkZpccY-KW>s2LlT;;#cz&JdHE@Dt%HdbIA)GGk~?Ll3*ULWt#BT^m7OX9>~E z?`3JIS~vF~yVAQ})_9f#wm;!-N}NTJ?DbBCa4%rv$gG1`^LDy>lVFUTn@Jmk}U-8PN{wqZTBcfh8kWn5sXg$Hn||M zT?8ZmMsbh_>sgwAi|Nc}3^#O;<`+x!41P@9E>36O{^k2&a*-an)x&GKhCia zb)|9={g9IFva8SN^-Dj)N%RIwRWO!vDR9KyBYz9fAL?)DNfGo^U0O~LkR~YvU6`>$ z>baj#;i}8YmOw45n5_=M!z1?R%Ak24lq`c9XOt#xezf%*AbEtZrm9*|a;IDhmrlK) zMJ_U0J4!03l_RXpRo`KL>5*S6Oc**!>3L!J`7ytp$G}1QgAEMhk!L4G%WZs%ZDJIu zk&bR???>`21oUEBk3FiPzx#R2?m`>bB#aT&<@m7UV3={TD(fZtNqG4gw78#3!gkAh z-P-i|AOV7*D$17ZDTJz~KmBj;97ez0L!K6%L&Y3*teL%c0sFdF? zF4xw_p832UtE=YGIn${cw8CIi|HX=V0tL*1hAIUZOR_8PP9?C6q1T7ae$MrY=sNt- zFAmvGjB@$N#YTVq!M#v`6rpjNoj6}wC8SDZ=TZ}@3y@=$;`>ThJLqWYwS7KiI8r<* zU3y4LT3no}1qo;cs?kY7^4KD2$?$C9hW0l)Atq90yo+C+!%{{TLtV$pX7xY*Jv|tD zpprTYz`xO+cPL@FC*ob|_*?~y0b}G$>jz|2m#rQOm3-?3>3t~;n0Fvv;y9?dlat6s zNFD=UeJa1JX*u$RX@<*pjJJG?LSceN23sbR-@Is3Lxc)--u-c}2^2Cf114*fp*WaUUtkbZRQ z46{va@|Ji9pyf_YvIt~|{SJl}kP}HepmW-bY16S|nwSH}IA^j)OBcx~)d z^b3Mo^+th?`FdTdh#wc%Z|r7u?K4ux-~^3F7{8TfJ|iP_4;c8hfO?e`h&ORt{b zgvJ>TIw;}0u4fZ5nT<{4d6vYOJavDZ1SsH9>|%hjd1sx&5`11pcR*A*i$2jQfw!Kz zK9kywbX~a}9Re@DY%|-WUGlIBs!%#;ch^^VsA#P~SURj~RmCB54tEL1#+N(I>Z(Ad zhYh!Ek9S*eg(Rm_M;v`(8>`}q!k(NlRFRSg@9k+4qRbwa4BAil(zU;q!wo&u$7Z5U z<=BWlX&oIQ>#l+0S={wYG_S&CnavPBCr z3ji~OhTwN)-e*FKaaA)Co(5H0{71)3c8a<8AeL%7=k*nmY1*0V-<5Z`b@nl4Qbi^y z#r+!enrke7>;7tpraKZObsVF4a%D@|V^H+{t< za#CzZRX&6UW?V66S_?DWJbtXnjaF6LI5!&aKwc?*9}8QCF*KE`M942C&13WxBfa>Z4PA*eqPV6GMm9LQJP46**CXx$HT4 z@iNZ>(fK9nPQfub6Z&CB`IRCJ5UGkRy0!9=tBRF**jIoS z>QMBw6qtl0^nWDyr>+vMW;^l-yHLBP##4dD?H!_xkA<#%<6eFQoeh`noYfnTt_l#C z&Rclo`!C0?F~+Co`r17=Ib%`Mym|!( z*~@W8sFa3#@c6PajnXEx`i0zF40;@byxdvH@+jfWGD3C`Saa12FO(EE^(?Q(aAyc* zClu`r?u69m$e*U0VxA)%FrDgkU65F2@I)2DD0PqCCPSwsl(c~xTC7*1M4D|;^5F~;7FS|YQB=I-!TIF`X9ox0uAl} zp=>x$FpVi$-81%uIl4o_(jg-MY80(QsY=;i6b3X|XxYa6viS=KvV!gP9{!6MleqrM z;E9XBc6`+yFs_B(UA5AlAGCChO~ysn&fcp@8Lu*B8qR_NI>3(@J8v}76lP|_jr5@R zwi;swfhYi_AAYi}7Y!f_zRY{U$jzNlh%L3UjY}r9{HY&$ zmWrGhdmDoNY?8+tT7RWQsMTiM39O(w$asl`#XcHUZs<84WQr{*%8EAEiRCG3te;pV zP>zW7-)1QAz4V1h4N-?5H2q6_dsM#t7yc$DnEw5j_HXW0ey9s`9bSe6-d#IW`e;bA z>J$lo=mzW4#hj|#Yoh7xetZixn{>s(qzBAB`IEKPpm?|O z4e<7{3*+ph>plL)Atm?UwrwLd?5P|vL5DGWoDmiAt9iz8_ITE}hQ3~v&FJo`1|DJN zX^0c7VCZoXUj&IXlu_XlB;wtsK2eC*NJOeUOy@l0%%u!49&vf~UR^!&g}%O+k_l;N zoB0|lY6h^#@EZO;L;kem%4g%*BQnA zAn!6YUHpEWVLV#SSZ$LYZnNlf;9k7bE~-aCokCq+8I3M|JD_)0e6x1SKVrAq&>m{+ zEf?a7-1FxNygNk|J`;lW)J!u`S>%N_7-I-HnG4mA68Nv|PTDrERq2I-W?9Sy5sWca{uHO`+q{1}a;WO%lCWLM+I*Ae zy3L=*QksY_C03hxsts6b*7nglbY7xgI!dES{S8zK?)jE%LNF5QuWVAyw4M%+d|{k} zu5W7}gzrf#fC_g(MT5;~)R+8U{9fvQ425`0?T8RIDl|^Q5Po zF`<|TZZbjm1KmVihTpGXDN8i)ifL5>u)Latp{_A{g(ne!eepivVNO;efO#DAUBFy^ zI*a#?jF4xh=L9Try7jN854kT)r3n1bvZG-~$rebW?r2y70R2FFeRUv7!+M*)kv@#O zh|J6^cXN$qk+{8dL*eE|`}Y^005b)NjrliMpyHPBQRKJLUl0+u>;KC|>$d;@+dT29 zH0bZk-hYb3e?=Jo&$oo4qd@KfnDp1833P`)zW)DR?*EqYzm0%e`;W8yU17fmn7=FR rf2ZVsMTKqF%74gb8_I^%agb$tWlX#2_ijMygDzOwoW)q&`u2YSCS7pS literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..14c6c8fe39fcd51a0414866ad28cbe8ff3acb060 GIT binary patch literal 13984 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®q@N z14_H8ofW)l{|J8q+a)eH)I0r)>WXdzV%7J>PA~6_J)KLT90iYa^K=Wz7D!OybzqSru=f4?|KFl;Y)gP_H6V4x`~kZ6fE(xM1&;?72-TZNk+0 zr+Crr5yl%Iy@vfmt3eYFl!jIvPGFz^8Ek+2`48O1_pCX3xNWh-zBa{rIcc%+=|XVj zANYTg&s}TKb#OztQrCW(Xk?V^i{`q~%HtcveTxq(_HKeC9GzrtguMT4Nvs@KakPTA z9>*8bBZmLz`lK5=l)=b|=dT3a5ag^a1^znZyx5QKfUb1b9yacArRp%3@QWo(hrsCU z-K!-=jDmv!zb7XT>)r|-Z0Ry}lk2;dk-ECqMwr_nKN#x*X6~B5hVIN>6$1HwBz3Of z=Pk){AL5*=d90f17_qZEJLm;Q%WMdX=*N&!ki@E&cy7?>{1ssAH(tACtp*r@d^til z)x(1#6(kPD+joSF&J3sxJU@{-sWCS+pZq{Gsx=?z4wP;>?)1yHv0?X?VP{}cX4~aH zxeBPKw_rgW8rvewS1W2#^y+c>-183iMbJCqc38RN_o~__9-n|jcd&oA`m7*&Fqqpc z;Tev*0LS-ZK47Sq1unfvP1S43uA12P?PJmI8BeTYPr~R*tYUm^0;U%Hmu?bSZHEK6 zPjsW=E67Kq-&trmf;)UkmRABH2U)V)-eRT$j(%G12lLMsThSsU10iP#{)ZnvjzN$d z*K%P3`}oqyvpWP~venr>3viH8^`)Ma*=B31hw*Q+tqE>i2y7w!(o^lI^Yss^=tHW( z;cnCT(%B1gLz+TRGW9roFjI1EQTu-u`(f#RmZ8;FSN(bsC1J;+(i_R6mrW=yYx$cy z#%QKVrEx~kVMg~yo?^N28Wnk6x%L;J8i|*|ANEiNjq(Vhzuzl3ikpA*G!Z}kLAzAI z9qnySo%D|AuJj12%h;Otqjs(>LPj?rNdeU8so>P(C>XMzlho94ZD#w=cCOOU;=3&^ zsqAG!i{~lY271D|m>ztPV`)X@FO_;`wPjppYNQpM+ncvtz1lZjN>!Q^*I}T%uP78Z7tbV2$q3W_)14=kLFyJ z1GqL6T>ClgeZorL!}xP4f%OB_EsmJ`uw7dGWNV9OLlhb|UMpVhc{4@Bhh`tO!ZqzD zhusd<=K^ah!L@gQ?6dOpI-ge^e>S5W9eII57Zu16eU?GRbgKTeVk9yS{iK|O(zLR> zheb?;jwGCHS80NCn=jKxgJ>}qu4l%5NPihjzazGv#J?Jcyl;<#IW&x4mm>nrW8>}C z3U@aeD~)*F(0o^2{GnKVm$Jr#aZE ztl~TOkM^SdzJapQ((!-i8b!RkVQBKkL`2ZCBuy!qI1L{3Er526plVols~68U-^9Px zR(3{j;Z9RHX^muc0dUywJ|`yyZFf=k&-Gb#m4u73Lm5Ks%BfHj%2|gjn#i> zLC5pO$2Em9H;qoKQmMtl<@wgtPF1%2HariD5O~u>8=^*J&au~JH%Ih@&2Uging3U_ z0bzfKucW$ZHSx}!#buB?+-J)%RQbbXM-!BJTS&#dU_@lxU6>te2O+9 z@F{F{Nb!;{Cd`Gx+$G?11aB~S#wIH%D=*=7f7H@D@%B1)&bF$@t3JDq4l*%(wJTlh zo`?uMq{YilKUewPNaC)GuOr<8j9&ofqRU__BRUX^x8Cj3a;a$rXzgXqW>LR#CUn%~m)t zYC&ol(gAkbc^fd`xWU&bk5vT6KbFmsR=O78Bn%t7 znbw&=c+|T&#r+bls5rU6D#HMvqA<|;)BV%jOMonkm^p$7Vcel-Wwn$=uAJv&(8W>% z9))Fxpl*(%E#wFm_m!U~2HqgZs^2vaGeY(UfYKrSHV}w^D0N6!se5Ewy)Yy-!(2