From 0c58426bda9fc7f04f26166bd56e6d755f446c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwas=CC=81niewski?= Date: Fri, 24 Jan 2025 16:23:25 +0100 Subject: [PATCH] feat: add expo template --- packages/expo-template/README.md | 50 +++++++ packages/expo-template/app.json | 41 ++++++ packages/expo-template/app/(tabs)/_layout.tsx | 26 ++++ packages/expo-template/app/(tabs)/explore.tsx | 129 ++++++++++++++++++ packages/expo-template/app/(tabs)/index.tsx | 78 +++++++++++ packages/expo-template/app/+not-found.tsx | 32 +++++ packages/expo-template/app/_layout.tsx | 43 ++++++ .../assets/fonts/SpaceMono-Regular.ttf | Bin 0 -> 93252 bytes .../assets/images/adaptive-icon.png | Bin 0 -> 17547 bytes .../expo-template/assets/images/favicon.png | Bin 0 -> 1466 bytes packages/expo-template/assets/images/icon.png | Bin 0 -> 22380 bytes .../assets/images/partial-react-logo.png | Bin 0 -> 5075 bytes .../assets/images/react-logo.png | Bin 0 -> 6341 bytes .../assets/images/react-logo@2x.png | Bin 0 -> 14225 bytes .../assets/images/react-logo@3x.png | Bin 0 -> 21252 bytes .../assets/images/splash-icon.png | Bin 0 -> 17547 bytes .../expo-template/components/Collapsible.tsx | 49 +++++++ .../expo-template/components/ExternalLink.tsx | 24 ++++ .../expo-template/components/HelloWave.tsx | 43 ++++++ .../components/ParallaxScrollView.tsx | 85 ++++++++++++ .../expo-template/components/ThemedText.tsx | 60 ++++++++ .../expo-template/components/ThemedView.tsx | 22 +++ .../components/__tests__/ThemedText-test.tsx | 10 ++ .../__snapshots__/ThemedText-test.tsx.snap | 24 ++++ .../components/ui/IconSymbol.ios.tsx | 32 +++++ .../components/ui/IconSymbol.tsx | 50 +++++++ packages/expo-template/constants/Colors.ts | 26 ++++ packages/expo-template/gitignore | 38 ++++++ .../expo-template/hooks/useColorScheme.ts | 1 + .../expo-template/hooks/useColorScheme.web.ts | 21 +++ packages/expo-template/hooks/useThemeColor.ts | 21 +++ packages/expo-template/package.json | 54 ++++++++ .../expo-template/scripts/reset-project.js | 84 ++++++++++++ packages/expo-template/tsconfig.json | 17 +++ 34 files changed, 1060 insertions(+) create mode 100644 packages/expo-template/README.md create mode 100644 packages/expo-template/app.json create mode 100644 packages/expo-template/app/(tabs)/_layout.tsx create mode 100644 packages/expo-template/app/(tabs)/explore.tsx create mode 100644 packages/expo-template/app/(tabs)/index.tsx create mode 100644 packages/expo-template/app/+not-found.tsx create mode 100644 packages/expo-template/app/_layout.tsx create mode 100755 packages/expo-template/assets/fonts/SpaceMono-Regular.ttf create mode 100644 packages/expo-template/assets/images/adaptive-icon.png create mode 100644 packages/expo-template/assets/images/favicon.png create mode 100644 packages/expo-template/assets/images/icon.png create mode 100644 packages/expo-template/assets/images/partial-react-logo.png create mode 100644 packages/expo-template/assets/images/react-logo.png create mode 100644 packages/expo-template/assets/images/react-logo@2x.png create mode 100644 packages/expo-template/assets/images/react-logo@3x.png create mode 100644 packages/expo-template/assets/images/splash-icon.png create mode 100644 packages/expo-template/components/Collapsible.tsx create mode 100644 packages/expo-template/components/ExternalLink.tsx create mode 100644 packages/expo-template/components/HelloWave.tsx create mode 100644 packages/expo-template/components/ParallaxScrollView.tsx create mode 100644 packages/expo-template/components/ThemedText.tsx create mode 100644 packages/expo-template/components/ThemedView.tsx create mode 100644 packages/expo-template/components/__tests__/ThemedText-test.tsx create mode 100644 packages/expo-template/components/__tests__/__snapshots__/ThemedText-test.tsx.snap create mode 100644 packages/expo-template/components/ui/IconSymbol.ios.tsx create mode 100644 packages/expo-template/components/ui/IconSymbol.tsx create mode 100644 packages/expo-template/constants/Colors.ts create mode 100644 packages/expo-template/gitignore create mode 100644 packages/expo-template/hooks/useColorScheme.ts create mode 100644 packages/expo-template/hooks/useColorScheme.web.ts create mode 100644 packages/expo-template/hooks/useThemeColor.ts create mode 100644 packages/expo-template/package.json create mode 100755 packages/expo-template/scripts/reset-project.js create mode 100644 packages/expo-template/tsconfig.json diff --git a/packages/expo-template/README.md b/packages/expo-template/README.md new file mode 100644 index 0000000..48dd63f --- /dev/null +++ b/packages/expo-template/README.md @@ -0,0 +1,50 @@ +# Welcome to your Expo app šŸ‘‹ + +This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). + +## Get started + +1. Install dependencies + + ```bash + npm install + ``` + +2. Start the app + + ```bash + npx expo start + ``` + +In the output, you'll find options to open the app in a + +- [development build](https://docs.expo.dev/develop/development-builds/introduction/) +- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) +- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) +- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo + +You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). + +## Get a fresh project + +When you're ready, run: + +```bash +npm run reset-project +``` + +This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing. + +## Learn more + +To learn more about developing your project with Expo, look at the following resources: + +- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). +- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. + +## Join the community + +Join our community of developers creating universal apps. + +- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. +- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. diff --git a/packages/expo-template/app.json b/packages/expo-template/app.json new file mode 100644 index 0000000..6ba124e --- /dev/null +++ b/packages/expo-template/app.json @@ -0,0 +1,41 @@ +{ + "expo": { + "name": "HelloWorld", + "slug": "expo-template-default", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/images/icon.png", + "scheme": "myapp", + "userInterfaceStyle": "automatic", + "newArchEnabled": true, + "ios": { + "supportsTablet": true + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/images/adaptive-icon.png", + "backgroundColor": "#ffffff" + } + }, + "web": { + "bundler": "metro", + "output": "static", + "favicon": "./assets/images/favicon.png" + }, + "plugins": [ + "expo-router", + [ + "expo-splash-screen", + { + "image": "./assets/images/splash-icon.png", + "imageWidth": 200, + "resizeMode": "contain", + "backgroundColor": "#ffffff" + } + ] + ], + "experiments": { + "typedRoutes": true + } + } +} \ No newline at end of file diff --git a/packages/expo-template/app/(tabs)/_layout.tsx b/packages/expo-template/app/(tabs)/_layout.tsx new file mode 100644 index 0000000..d1d39bd --- /dev/null +++ b/packages/expo-template/app/(tabs)/_layout.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { withLayoutContext } from 'expo-router'; +import { createNativeBottomTabNavigator } from '@bottom-tabs/react-navigation'; + +const Tabs = withLayoutContext(createNativeBottomTabNavigator().Navigator); + +export default function TabLayout() { + return ( + + ({ sfSymbol: 'house.fill' }), + }} + /> + ({ sfSymbol: 'paperplane.fill' }), + }} + /> + + ); +} diff --git a/packages/expo-template/app/(tabs)/explore.tsx b/packages/expo-template/app/(tabs)/explore.tsx new file mode 100644 index 0000000..9c9715d --- /dev/null +++ b/packages/expo-template/app/(tabs)/explore.tsx @@ -0,0 +1,129 @@ +import { StyleSheet, Image, Platform } from 'react-native'; + +import { Collapsible } from '@/components/Collapsible'; +import { ExternalLink } from '@/components/ExternalLink'; +import ParallaxScrollView from '@/components/ParallaxScrollView'; +import { ThemedText } from '@/components/ThemedText'; +import { ThemedView } from '@/components/ThemedView'; +import { IconSymbol } from '@/components/ui/IconSymbol'; + +export default function TabTwoScreen() { + return ( + + } + > + + Explore + + + This app includes example code to help you get started. + + + + This app has two screens:{' '} + app/(tabs)/index.tsx{' '} + and{' '} + app/(tabs)/explore.tsx + + + The layout file in{' '} + app/(tabs)/_layout.tsx{' '} + sets up the tab navigator. + + + Learn more + + + + + You can open this project on Android, iOS, and the web. To open the + web version, press w{' '} + in the terminal running this project. + + + + + For static images, you can use the{' '} + @2x and{' '} + @3x suffixes to + provide files for different screen densities + + + + Learn more + + + + + Open app/_layout.tsx{' '} + to see how to load{' '} + + custom fonts such as this one. + + + + Learn more + + + + + This template has light and dark mode support. The{' '} + useColorScheme() hook + lets you inspect what the user's current color scheme is, and so you + can adjust UI colors accordingly. + + + Learn more + + + + + This template includes an example of an animated component. The{' '} + + components/HelloWave.tsx + {' '} + component uses the powerful{' '} + + react-native-reanimated + {' '} + library to create a waving hand animation. + + {Platform.select({ + ios: ( + + The{' '} + + components/ParallaxScrollView.tsx + {' '} + component provides a parallax effect for the header image. + + ), + })} + + + ); +} + +const styles = StyleSheet.create({ + headerImage: { + color: '#808080', + bottom: -90, + left: -35, + position: 'absolute', + }, + titleContainer: { + flexDirection: 'row', + gap: 8, + }, +}); diff --git a/packages/expo-template/app/(tabs)/index.tsx b/packages/expo-template/app/(tabs)/index.tsx new file mode 100644 index 0000000..08d122b --- /dev/null +++ b/packages/expo-template/app/(tabs)/index.tsx @@ -0,0 +1,78 @@ +import { Image, StyleSheet, Platform } from 'react-native'; + +import { HelloWave } from '@/components/HelloWave'; +import ParallaxScrollView from '@/components/ParallaxScrollView'; +import { ThemedText } from '@/components/ThemedText'; +import { ThemedView } from '@/components/ThemedView'; + +export default function HomeScreen() { + return ( + + } + > + + Welcome! + + + + Step 1: Try it + + Edit{' '} + app/(tabs)/index.tsx{' '} + to see changes. Press{' '} + + {Platform.select({ + ios: 'cmd + d', + android: 'cmd + m', + web: 'F12', + })} + {' '} + to open developer tools. + + + + Step 2: Explore + + Tap the Explore tab to learn more about what's included in this + starter app. + + + + Step 3: Get a fresh start + + When you're ready, run{' '} + npm run reset-project{' '} + to get a fresh app{' '} + directory. This will move the current{' '} + app to{' '} + app-example. + + + + ); +} + +const styles = StyleSheet.create({ + titleContainer: { + flexDirection: 'row', + alignItems: 'center', + gap: 8, + }, + stepContainer: { + gap: 8, + marginBottom: 8, + }, + reactLogo: { + height: 178, + width: 290, + bottom: 0, + left: 0, + position: 'absolute', + }, +}); diff --git a/packages/expo-template/app/+not-found.tsx b/packages/expo-template/app/+not-found.tsx new file mode 100644 index 0000000..963b04f --- /dev/null +++ b/packages/expo-template/app/+not-found.tsx @@ -0,0 +1,32 @@ +import { Link, Stack } from 'expo-router'; +import { StyleSheet } from 'react-native'; + +import { ThemedText } from '@/components/ThemedText'; +import { ThemedView } from '@/components/ThemedView'; + +export default function NotFoundScreen() { + return ( + <> + + + This screen doesn't exist. + + Go to home screen! + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + padding: 20, + }, + link: { + marginTop: 15, + paddingVertical: 15, + }, +}); diff --git a/packages/expo-template/app/_layout.tsx b/packages/expo-template/app/_layout.tsx new file mode 100644 index 0000000..6109bcc --- /dev/null +++ b/packages/expo-template/app/_layout.tsx @@ -0,0 +1,43 @@ +import { + DarkTheme, + DefaultTheme, + ThemeProvider, +} from '@react-navigation/native'; +import { useFonts } from 'expo-font'; +import { Stack } from 'expo-router'; +import * as SplashScreen from 'expo-splash-screen'; +import { StatusBar } from 'expo-status-bar'; +import { useEffect } from 'react'; +import 'react-native-reanimated'; + +import { useColorScheme } from '@/hooks/useColorScheme'; + +// Prevent the splash screen from auto-hiding before asset loading is complete. +SplashScreen.preventAutoHideAsync(); + +export default function RootLayout() { + const colorScheme = useColorScheme(); + const [loaded] = useFonts({ + SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), + }); + + useEffect(() => { + if (loaded) { + SplashScreen.hideAsync(); + } + }, [loaded]); + + if (!loaded) { + return null; + } + + return ( + + + + + + + + ); +} diff --git a/packages/expo-template/assets/fonts/SpaceMono-Regular.ttf b/packages/expo-template/assets/fonts/SpaceMono-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..28d7ff717769d29e5d1f036bfa91eea660ce8a24 GIT binary patch literal 93252 zcmcG131D1R)&IS3)+CdCnIw};W=|$FStpZql1%okP181MGihm)?m#I83Y5JR3Z(*8 z^h3~!h=}5XQ#KJn5f%Bcf8av|MN~jUK~zM*jZXf*bKks~$z;+NzyH6}%)EJX-(Ai* z_ndRjIrm(~8DlwkQ#01TdSqy7?bOE@-&uycRYR+%dY65^?>CH3KhIeH;EL6Cjcu16 z{sv?GAby|SeAe9Vi+7$k%9!p>#`Mo^zF?1~;4h|b#>#W>`=M>Sx1ZI0kNHbzU@v1C zuWg?@Z#T7u`i|jKzkTOL+wLxk_!+ZLGj4oj$JV(m`b$5ULH!2&-n;`hv@f#1;(I^7 zJ9eD4XYcu;^FNF4e_%}W$j-Aj&y_cB8$o+V==)i7dv~il3?Jh69Vlb+HTa<5x3YV=DZrmbUQ2_=QP_q-oqAlRxHb{#(J@z;jmT2Nw|4YHNE%40*g zyACyUpq*~kfTz0IF#fu^p54QqWVf>;xOW-P;#ur6_BQ(j{^*@PX$WopGK~{z+H%aru;1LO1}T9Er) z2mGdfsTbWJ#>`Nl)dA`#j(%I%uO87)`Q5?f&nDnhdCAZ-fzs%;Df%gYqxWk-e?)-` zUqp|IuQ9Zr`elvXkHe!1_xcx%XBt!;f4SKGpz*}lN>KcXUx~HnVQ$bXv4?cMF8Uh4 z_4%w7?_KCchv-W$AhHHCsvdpYCT3SF?tc!iBY1tCU5Z)Ij`CfA=OFWfVt27wMpQ9@ z=PqGavVHiy6Sa5+Y#Z?I$6q7f+u0mmJMs6txT0_L8pdBYus?@#UtsUDo6&YN`y}&V zw$?K@1fx8UP z*R#vn>+C7^KPYhwpHJiUvUq=%JqUpJwS_-ikVzjh^D?*)XfWLu)I(*SAt+6#EcU#-Au z;;WsNp~nT7cQv?b#dRhtMXyVN^&q~V4k*v!Wyb3?z)BVUE0g)Y_9Y=RAh?)X`(6C@ zLtt48x?rFi;&L;1_F_Qy>wF*oIKPR1frt6a{P+Bil1XZj`lMCTq!g0oq^;7~(nZp> z(v8w>(vPM8mVTw;sx*~JWmnaz8dQ&&v&~ks)9f*Km`BW;&1ahrm_Kg*r1{h4+syy8 z6j(|vW{b_@vea9AmUc_OIS#Gp^%JK!vot7_KzHYhK@_^;r)_kkQYO}hm zwbn`N2J5Xh$)>es+wyFMwo;qf=CKXiW^G%YPyJh(pT`(TV$}nuJ(w4BpyAuuJz^BM z^KbJ1!{6XTTvkw_PQy&8X)%Z^W`50l5Laj8-spVWeAT>l z-Z)~9|Y%{?zq>4wAz z9>;^f#vkcH@30Rbukla1M+!^#O3zBqNze=N9omufbGlmiPkJ)x`wyk3q+`<4c=9Fb z57NI>OqH%8O%I>=dsy{d6}1=rry|WI;h!q3x;No#>{4~Re5v|6>cC&pKNWPF<@~Sw zZ+srw*D`R3A$GcyF1XtyX4x9HR?3mGrCiY3cJRtE$x<6r0Z@E`I2 z;ZL%&xt;Ci4t5@|WLNPPb~SHh*YI|BfVZ)OJitE2yV)oB0K16~vQP41_9;HZKF<5t z=lDu?8(+mf&sVeC`6T-yU(4>|GwiE;1Gvg8yO(ce-{hOvH~2PQ#-C^R@$Kw>zJs66 z9^hxNZ}FY%L4GECgrCE{!*{dq^7GjD`33BId=I~voA`6=DZY;#;~!%`;a9R>L0kPb z{}g+L{}=lWznQ(xKf`{S@IvqiBY%b$@u&G6+|OR%*K-yB4m+2-z(?lT|Ka=DzxjRa zIDdde_=9Yoe+%mQL+lQ|hCR)%V!!8~V}Isf;xF)*_>24({FhQd>XtgC9;r?0V%PCb zc8GVeFYqaLC!c0t;vx1BKZ|{v?_v-0v)QBkT=qD>ko|z~Wk2K>u~+%0*=zh3_FH}{ zdy{{jy~S^5f8lqrcleiiI)9vJ@E>pk{~^!i|ILf}vuqEqV&_BSzkpY>3%Q5w@$3veU`6aNB9H_ z^Udri-@=~ZSF>mN0ro%q8ulE&mi-iKxaawG>}UKCdy(J3e$H=Xzu+HdFJTq(Oa2MY z`M0^mALeTQ2-omOxt4#I>-hJ$o<9b?{Ry7OpW^xaC%k|kgJ!-05_SR-bT$72f0J#M zmPyn6AJXa48TZ2}e_xB;CpX zoorUOLJGD+mIfe?yPy#SAxjp{bT!smTBZY!PGjlNfenzrSX|Z zUP~aAO^~$Z3%G-sRX|EvnT^>Yx1G?|E1_AtSv9mIFQj@cByl~~K8?&LG_GdoZc&bc z;So334^HqH`)|zj3e0i~X1En|yczR5C}#M2%yF9G=VNwXg86*~X86}IyJ>F!K{5%R z^cLI7{|GMeC-9^{g9o)sMc^_oOQqmSc~U-qU#gVMfVPwWPO?C9{vK<>CVmt6(u`Ch zS*1}(QX4d+SvCzmcLw;>lVUcKzD@W9W~EH2fcTu~VJytNmN1)|9tc@1V-K;cm1AM; z>Y3?qlPO#kn%!nOG&LQToO9pS13{ZN+c%l4)-Vf&S)aZCUPz|C+1{Ek_l7OA+iJp+ z*RsVDerzJFcFo*d#nbx+HV=fg1Jl;9${AX|E^0A3&3wm>C&Js?an4ZNQ3;mW(SIuI9ji9VvsARXD3W^t3uQEkTqlp2UkzyHxmsl+I~$~ z;|=TjJomz0ARwj1S9`A=5V!Zvg{4i~z!lJou%@~utn*r^s~LTpA5ybTD1y!gXG2tE zwqJBr@4Z)-!TJVztF1BEr+F9RB3-V9d(Z{+-8pL+IAotAya;$P6TviWF`<)6FM%EV zT)*5z#uAT*9e4^4$A*^pkby|Z-g|FGx(diP*{z{!YfU)QdsLDJ!dvG0Yr7(i` z{UJvu+Oi5BMY8TJyb)_TJ=o^TCjVI3yG5GXa}G_=pP+KD5cums4kCR`swEiVe! zRUg&x!hvZpGD2WOB4if-+~~FVMSp!L#|IX312CDC-J|=g=zbxz`@8I|M;mz|M%0Ay zqr)j5nZ=}-Ypn_Uy|uSA;pu^|s($c6Icgr`V#KK?d{^K8&^97J>hl`UrzUiJ7T5J zpf95Inc|8{?-W;5^ek^U5G%TizKEh{iz_O+TU=4mbG+fsSkZIoizs@YxT2za#1$1i z-+N!0T2d6RUQbxRHLP+>>{Ucg4dek7`zKdH%i%YIHOs2}?xRfC`v88ksaZ8$2h;m` zv(~LC)T{N;8w0FMRWDU&#f^;KM{|RjkEQR^?1PUo4Mnnh$)2_kub_NK#rlsr_`#LX zTMtejRc+}%>Y{HC>-RCP4j$YL zp7x{KQ~Wo9)zK&$CGVQ_2!99Gx>nUg^JeL(`FEwKcx3)v`8!sjZCC}?V+9(TZ=(`y zBsra@)cH{#S41UfECv3+|F0<^CcbD&}*d|r0+?;R2fu$)w!yB z)H&+4>L03qtI5;&G+Q;F(>$qpU;7PRr|w35h5lmw*V0DQ_N6_X_V@Iv^kwPa%_z<| zJ>#E-Lz&jht1|D;%Fps;ZOytl>!s}U>`mF9%>G?YPtKm44|31Wy*;lw?~c4@@;=Pp zp8s4ycER$3jRkuOZZEjE;1`9)!r{W}3V&YIR&;vNw~AgcYK6(wIQd9w5erb^Q%O?R3eFg;;<(eww?Kg-g~Ol97(3(Kx6 z`&W5Ed2RVG%io91*=_DKZ!}*7OY<`o-LS?Uu-pt=@VgH9C%~9&`I656G95*?>=(ykU zBgYGl-#h-{Ommhx*E@GR_d7r7ywmxh^T*C#IREH8?lQXEuC=bsuJc{jxIXRritAz5 zPh7up{iTvs=2qG&eU<%{QLdp)nDA#x^Hpc?S9n# zwELCn-s%I@zpQ?{I^xOkRC@xRhdlr7dCBv3O>50a&AOV$YW}D8hT6}Ar~aV!uXR#g zex0MvUpH8{wr)q=MRkYjK3n%%{b2oU{l)d4s=uqDpy9HH8yh~~IN7+h@xsP~jkh*_ zwedTR#~Odt_~*uXUyje_yV3V~U)cA3-*dj#o9s=OHGQk;U;bu)kAInet$(}!T>oYM zgZ@wYZ)-l%d{4`A9!p@!lWwzS#SA@8A2RzRbSz zzN-GbetW;af2jY4{#*LL*ndy|xBGwC|6c$6!0LgA2A&%D*}y*s&m6pL@auz*4n8yZ z>fqmo+J?r4_6=P>blcF~L-!ATZ}_a?y~BrwkBrogw2kzStQeUY**da&%Y1F_ow+z`_=~ShMP8)ZtUN9>&9Qs_RoH2u6gdVxkoouZ#uB) z{mt7q|6xn-mh-n@S}E>)nRkjk~{hj_RC=a}J(!&pD5tbL^aB=lagwaqgGTeeyihd8eKCr9IVq*6sP~ z`I__V&;R`S|GHrCf=^y>?83|o%P#a>*nZ*2h0_;qzwm+!4_x@E3%_{bD|^j*&))mf zi#!*7{Nl2UcU^ql#ZO+sF0ov)^^)&h^4m*ST>7O;e}7ryW$P}x;j-H1EwFYaHne{TQI{TJ@PcK=QLKezw;`+vIs*Zbex|K9%jtJ1G>Tvc~f`&DOM zb=Or7UG?%+A6}hxwfE}It5;k-clEhfUw!p$SBI~D@#@#Ee(&n}1Gxvv4%8l4abV`a z)&si_Tyo%s11}tS^_tpiK5@-s*J`h=x%T>NA3j)eaN^)C2cNmlb={`xzIok04%HsI z<HK)iK4TpJDqfxCxZ!5;M=(w~F;Ic@|II~$yrG@!f2A!5w z@=Beqz~gM}lKg%jb=+=qp|j0CF%Y}IR%N$oF_0qO?CGq`pR{zX5A4~$e@|e2mt~UY zR|Y&QSFQ|}H+0(#2LEXTl{Z~~B>tXT&70R?GwrJj6iVeGYmem5w>Is62x!+3vV4aX|wOd>O|u1K}ZM%)-#oe0#o)2+axd zrb&nCS41!Z7=49y{?9YFZ@+M|e{isM_~(J=&N}bBvznWGCnkFNk#RwLm_5<}+RA2C zL1%iJq>;e05aGro%^V@tI7aNM7%e#zlJ=qdxjybIgnJJy*uOD3Y2=wZBEROfXGGpK z%D~Y^?lDB}(ehS|XD!+&K^q!Y5`=#nU&j3Iy?`w{!Y1%ud;12%hTF#t8*bTP z7)P}`q+5t-i_aYdX|y0y0?j;?iiZe&=pXLS5c)(1m4Q1kY^oXc`}lVZlV5oXe~ws{ zv;biN;I0buk2sVoXh)p_RTTgu_|rP{+`^Y-XB8C?e{$M1x*|_L@kyCK0fELSo0q9Q zuzwHn$vyi&0CCel{`G@5-+b`M^*7yg{j+CpKRkOuj5ki9d8dF@v5;{p4F`*o=0Gxn zFN#qCk-%nAUJekRWzE%6^E4bq;MgmDjk1)vd-7k+6MmBkZ+9KJeqiVbw?tl%9;s*= zaG70${)+LvdHx=G#9PFOjgWky2Mf|Acz8$0!fD_jr65{0a7Cbo7k&e}B11#H%oH?< zA2Ihx&?NmD3TBlQTg=7I5~sBa#R+t$=x>3=AB6}+xLl# zYV)wy)@wMtZwc5LnU#5i?t**?&el<=31AL zm8PQv_N~JIU7$>bYlB>)^wb$>@jLC7iqc{S+V^n5Ewf04FiS>7gRs@g!dY+!^t!TE z1x$BIQ5nr&G}Q*IFC=&;F#PxGrnTwI{#F_V(Xmpb(|KoPV#qc zO}4!3GPg-v?k>;QydaP^~h6Z$ry z^eutU0P(U!kozV$jLL4B`Ig~ZGf&*1FcqpH12u%i3v{4_d$;#Af)QDI{*f(Z6 zQ_X3?z6Hw`@WfpNN>%O5h^j@)gCe3`@= z4;c_;5{F6#aWjYl2neRxElUP4@Wl#`(=HE3Wru9g=lycSeTMrs{4#Iy1O7y0KfgTE z{sC(BV-z(QMFvToG`&hv6Vo7ODQj~iA4o3;`_0eISBQd>D&^;X>vH~lWIYc@^!(1q z9_f+GBV~s1%lYdD%#=FNNDq%7R2cT^V_dpd0Pc299=va#OUv!N@eb3>1ww7;ta^^ffUY8jrG@?gEJEl+^-3EFRX`Zy5e&=%86fMKjwQ-d zQMN9seweUoJH=`VN~ThmqqNRcSKyWv%TkZ5wKPYUBw~qDD^=Q!N$@dCpBx`Il&){C zUDfR*2o*QhxH1iQIRZ5$B{iLPd!VMYv?hSr@8epUzNe#S6>QB7y3Bp(Zj$KJVk{nuq`N9vMKoG?n8H5q)L5dV4|Vvv_ZFf@U*77iOx#hxXM`BiVoMCO!Yyhv!&9g4!Z|^WwxFT zorb_{ucOR2=*}x`a2A;w`l}4peYGVyU2!pAMEvhyVgSjAc2bKmz=L;YMIwy6kauEXgiw1+!Q(x4$ zrpM_DuBrEhK;z?g$(ZZ3**gi7fn`QpQHCwJu`?&Ik!YNk9`6st3B10yDyO=)t^|xq z$Q=uCSdLXyXRtjD%O~PiSl+9cMunxlTCD&GVjwD$E6j{J?B=S9Dm+*2uC$5OeG#ND zFleL&P6Cb#3oC(PowZhVShZ%ky~%0RjTW9W>kkDT&fZW{XQ<8embJ}eQuCl>^0d4% zI+Ii8EG!sU>+IjqR@^kx*#Rt6R$*Wa)aU7LJAr&|m zn4q#)&9mBJ?=V4srbRnxSA~UmCn3D*R*&t6Uok!N%=oSRoy%?BVe_`($Ta^7;LLSSM2s>euU|fJx&~erp-Sx>GZQmdi8>18~P4qVl9D+s2l7037q9 zGyp=%6AZJ-(qy%Rl59EY7-njYskK{SdGV(psAmnus~Z}p`zot?r|X+n8V%zfTjWt* zX<9^7H8nAks;e14elx-Awp3IluZn2ZUm#X_k_Jj17U_azMlCKjW$lF}9ux*z<;A&J zQ6aDca}d@EUjoN6t`4l+IzAW}S_#(lQhn>0XGVU`i^s?3RuTno#v6x5nSnKBO|TlR zL{}x?KVnf?ij}V1hKX^1?bMV*zjH?nwP zJxrALq8GwZF~#i}t0LP%T=Z6|HQs5f%i+vPZK@ zfHTovBP@CXYHRPm=fnFWqr;MS`1tk1RFBZ+FoW#ua(Vt#pns*p7^z!FQvj+4Nx=}T zTVmxAWw<6%z%=X9bP^R$DiS36=D}WNZ6fX#2y_YL{qesMkCvp2xT%5V6{%XH=z# zuc?w%FS8_h-2Lks8fW_5?tz(xhM58PKOLR5rKPo9c6%3ncD~yMVPxys*k$P4*lV-( zZtQ%#q`t3OC|yFWsP3y5GHC$3w+=mAAhqKP5`YrZyNEnwm5WrcvY28U*Si$ORwku| zWf$mOC#*J6YRC01V~mcXHf<7o|FPcnr1a4EDd=4iYXN+$$?%D*A7UU;*(7Tz;E9k; ziDJnSQ&&gEvJ14D6IPoDpA%^{V6k@9Vy)(Lw{EmUM7-K~QKG72)f6ic;Iv9=ZR z9A@w6)U_l&!Pe2bcTqW7FnyGo0cNh!sW|M{v0i}0Q*?q>Nf}sVlTA5l6jb<_j^rh2 z(oyqk$Nh%#p3i!7$KST-|DUZg`l_f{RVhzsn-!sq|VEwjU~|K)wIamO|p#KB+!zhk`6k3Wu>FiBaHS1MTv%($`(=to5>0T z8B{0OC+tQ0CePkBmR|nCXVQZJs0ionyy_Bj2UPA@-wi zwi0|(hZu~a1YR#}$-9YlV|EBnLsY$qdm3mNLKbJGl)~}hkTVglU+`m66@u3nD*6#8 z6-8MOV|gGOf%vzrI-F; zc>8ILVl6mlCR!+GurQ%DGAscxk_2cdCdWi2-U=O}&?bl_rdP)xPZy+DLxCg1Ljnp& zh5p^VDG3W)k`+1h10D`31O3QgwLwpMnwpppMjEvYkunhFLBghuVi_1Pnf{!zk;rd_ zdqT>HOz=&SJNa#qBg4a&a*JVjZ{%eId2HjB`U*(-#$X-Hy&6fa*^E&}wPP(tt*qy= zv#P5cw&J3!itGv}RO8fkdva6Bc9y8YS}4wmR{R2YXO%nPE?AlCDlK)hxpTH3 zu3yn+v9ztIKfL`MZjnp4X!dph9+jBA27woj5pWeb^Ms)cQ<>Z$it>ru24;Yeku85t z@>=-e7$LsLGY#jhzUqrlL@eXdNaUYd?t-^P_=19{%mt0zO%Mk`0qL-ofsSSOuSR%a z~1gFP{=# z;Le#q`IcR?GvniX>xXriWEK3*GkId_7hg`TiC^mVD6p z+9IiYo9Es>2g@xs*5KAeEpuA4CDK5 zGL$xs)aTWVw^<$CQ}xaD7-LaUrQfXW9s&nz0Bp&pmk#a#=w`r8g6II4MgU~E_sAQo z*gj=@GbV481%s!70T&`Hz;7%Bf8(w%?%X*Ud1UxQIHMy)<5yq3r_{ioAn1^VoUFqQ z?6R@2QP?CkdaYig1!U5=UL(Qn3+WU!vPLyT%xgtKB)<&YzR^ciOed*yn^Qd+e*nfd zz_o!jxb1~*@)4$!AC8=Pg}yG;V!%S~3AoBLMK{hLj2tnfTRhFy`jzcg3Jf5F+T>|t zRh{mFLZ`o?&|aDga|=Ir{9gsmvRq61s>Zy=&_ETTqO553>hgvjySAda%4o zu-Ra8EvoL|@ARxFuIX~_@HSQirkV{+Yr1UYbD3|M>9(2MRyIbK8LQjv277z8k#v)M z5TFrQ$5K)%1J-kyC0L#fmL;1Q6*LQBP+TOtS-})(E{fUN0#o`hOzFQUELx?@Hs9y1rn;m%;tFxHjBY33((>g>?E@wl*euv$V0glW^^;`|tgIcv2nuB1K6=Q%d z)<_gA0u87q*ieri4hEO^EN^SB?{4TSDPncJHVyG28pQagThxQj~a97WcyHGWn9)Y<{;w` z8@0afZlAWXcQKtY4lW1v6!a$1>U1~M2uY)pHpi$7ffiAcgYA0>I%^??h31E%!z6Ig zEXWqv4D)3H6Jt=d(&wXOW?a+Ouqt46^o0EWP>;jeGwt(%gra2DZjX}LF`}|g7pTnK zF$pSL+l|%d8sCSlA(_hf{l(r6o59}ZE;3dTm4Q0JHT3ga_=BoxP?-%D25=iNUhoEJ z<7=TMksU`;Ew|dOHd2zvh$GC1F};!NJ+`?4lWAbi=24}SUF^f3limpWy$3a~kJYS# z*F<#Q^l$(Q88+G5;gx2HQU+wVvQplE-J0G zgQ>JS)ixT1jz*zlTD4BQ8IeyK^;%Md5yzv}EH^k@rvQQGB&j3AZq1BM4ppwL>P#z=1qJLBk@+o>4WlwKimrmE5n^#O zlsxEaYlW@{g;0gv%?u?<5qnIko(7g`#f(nmrg%vtn`3a_ruOzt`vx73<}J%=YnN?l zUNzdZ`TEd@(>H8x8ud(^H~il4c@rLjXD{ISq-YuTLdtQ&U!Hl;yFyc4Tp4Wbh_On(@<9-W}JFPp!a|6b)n1KRu0 za=i!p3Qn`vgyru{zE%3J5|TqBh~zcVg5p- zI=Pq7!t1f7TXOc z)ZB!zgV{97TNV@pRKn82cJM~KNYo=lTJyX8+aCpk=feLAv-RhLv z78*XJm*O`eLnGfy4S8(7I+HHF%q^8t1DkB#W^;+kodBx>*84yXO;Y%%vFkZl7+-q; z@3OIl*1&m0l@i|=`&qRt^q|s%cxa4lDfh#-BtuqoK%a&V2>X1j0}1dgfF6&CSZ9v# zX~C{Tbk8=*D57hrtQNMyeY9cm%nQaji zVYI0nxzb z(vX9i{t+N2s*aJqg!<7tSn@KEQKBMPMshLg-A?GK!yzVjVqbG*$Sv%*=yXE=`R9~@ z0NY|DXsLi%Xw4^2bcG6_X;Ad7jg&%V@!=3?A}3f%idfWx7rliqtMlC9bPqA5t!*{oDA4Z^*yevvWa@vc?zicuHI&?xvA1PJzQO1I~jD@I+lC# zDuxfF%-Ur@N?{QZ8 zqYhGj=UZ=SpL@=5+mYL*Z#3M9jG+rkYp8S!j4PFXpRrK)@N>^;-+Id+O5zE^#5glZ zMWXI}rhgza9Xfwv{l0iht)ivp7Pc2_H@T+lbS(B!Q><-!?25ZYH-5daGqFx_Wbk_h zxm74er5JLU79NPG6;>q1m&?i)h29_G-pKR3Y8Yc4VXq+f%SoRY;m<{CE;80J- z3g!}aD$0=<o#h$7$#>n1<3{o|YEtZm@+OgvAop+Z1D6`bn{E zwxkwD`L>ptU~LfK^E6UWOP=4FNme(6uh0S$t1_r)3oQt-s6a$gz?PM4tSUl?!}=W_ z+l13*FtpV8Qf10+<&ojpEs7mqZEjr& zi`+z;*=}uyFUZUbdio+=MU_qFyt1Y$qqyjv0M?s;`hM_#+95RCS*mHgao@$XRqDFQxd*PJ-BJ|yTGoKgQf(`; z44Go9R6Vvz`LxYlXPgmv@~!S>ZBqy6z8yK~s--m;MSrlT&g-eFbl7!FV=?JTdoDH> zD>n^MzAZ0j(lG6}1((=;W(o&#`0$y}FBN(f_QfD;kD)A29-+~QQ zl`VM3($d&cS=nO5I|hT2E&SipjhdQkudUHEPWz_I3|YfjhB92GxXIr;@$U%_K_ZA< za;i%u7p5M}98%N#Pmv2$e^lb(V-N}{O88mLNlG+>TcxVwW3g7+P~sW6m1h!Lxj9y% zU8zG_*pJ~@3HU}*wh|u;BF|Hncs5o?CrUg;{gA>>CH5m;2mFJHb%3I?=hsWSLD7Y* zgmni4>9FSW(LyXrMqq-0MG!Pib{5S>J&+uwZCb&CqKk@(N{UL1Rkgtg3X;6tz^C%Tafk!|8Bjl06W_8})c&GU_TtToEm{ zYzPI(PuyjhQ?N{zmsMDjU1U_%>uWug&2GCpQ=5Hl;_gf7&+D~W1$jjUCE0oAs)lNN zqox1&V+mU_W3>9b36I0jicMGMAvi9e~DBl}z3&#WSL;mQC zl;;=X+5Q3yq@aR$jUnzvQ!DkY7s7FpOJrM38dvFBCV;(&@?%5 z>4a(~1@a~nkhg1k`hp7-Y+#><;77n9VdHjS0~`ZdzQD%qG6EmsLqyjK?JGPi`phwy zY~?wy0E6;eP})(w9&3kq1-0XcuHKZ?PLt9OWZ6`TXPV}JapGsxy-Dp1NkP`2+9lR2 z3&y0{mDpAS9F+cj6gUX}cOp0tH^Z1{e@!+t#nzyoSeIUnFn&FP!S!q|4NEmeJ|nI> zL|dA{$nt5owD>0?37v>Cpbb0}G(vxs>widU83+|v`C>oR1#nRGwdYafemri@M zVaJtp@MH2jDzOER{!17d>H$-fkusD>(HeR$Q*P?=dRC8+26Hoi!_kwJm z-O0VcShPAQ$EP}&VBlmmU_q}@Z%hRhX_-)}%Mn=6+1k=rPvXmBE-~ikX41y?e%^1u zT0L=NyIm)Tk_tOeJdVq5gR0gdG*B3T$r+G(*Sp@J&4fT}uJqLE>s7|0?2^K)Jl(Rq zb(@#o4c}~Ov{yG&ne(zs3X1Xyvb3vnZoFji26=EYv5#MHKTKmXvV<#1KXY8uU%aYoYRNO~|+)RA+O&Dl78osPKtv&V(D_9N{#|cz|=2(3yEmXO^P) zBb~X5Z49nopyiRqtWk*&q$G_Qd5zO_BHe=6EQwL1rKN|!jEd8j;bfmmmsry#D$EAx zVEHFfn03l<@p*g+)$7>>$tF_h%Z+mWi5OkdicH338_N+ZGVp}xij3%CNJY9dN-)yI zKvROh{D_lY9OWJ{otmiKif0Tdo@ttwb?HUVpiXLMTIkYM*c|wfM*|Z=kERuoqDPDQpzx|V#-sCM0mfr`wAkw?o}q0x z%1SFywj`HOR^?Gz0M*DPh&Rb~bc5a&a-NRJZz#iwQi4s*e>lGuoR?ChYa#w6 z*P_@5lG`EvC6`dv_VE(Ly-i{?8B2_YRHM@&)WQ&A*rg`Q#Ekp4fC%FV+ zS1z#_yUBGdrXsln;a{#J3IAXUlaNk9A)Q)+O<4ON%o_QkAe~f57^8-VIVP6K{~X^4 zFC>#9muT}#l1!rQ9U|{bTq0ekB!G#FB&33g;pFjXFKMM%CH*<-*#ebGe~!}oBq$LX zXq3^Uq{QSAFP?jpcV;apfcX2T!QZt+na~YcOnVGr?jc(Y+Q}jsfrlhx(cFW7LMjn- zg!Lro$UlE^5|xM&(xa$Flt4_+7v}#Koxy*Lj%Y1fLe7|2nJK1Q+!98eSY{Gs$j+5G z|JG6&710XX0w3#u&MMmjsBCIJwidcwLcR2i(CtvKtlNP)kP}j5vdCnvpgq%&Ardh_ z&xM;mIl)a~u1Ii$$eI?Tj`WmVUFF`%PTNMlJ~Gj1=iB*I6 z#^>k=up@ImQ35>p7mKhX*Fy7HuBDq*C-(&7Nvs7Fx(I)yXD5^aF4#g`0A3=JUr-!& zUUU(8$m4u??O%H+SZ-uJ*R> z?zVRR@;R67+(c1^BK8KMKyUBCzauMFf4F>VYWat&SAYftyo8+h&%Yt${0jh4qMVPH zXqvzE1SLo_!LuB+F#l#uGr`=9X(n<_#5JiLa6kY3ByXP!7zg&0641N8FQmZ28U9sJ zg%S>%b*Rpu8M^IhaEmNywxs*1kQ(6oO~mCHD2YVhyhmeqK&?7L<$hG`*JP@?44=vc{t? zNz2EdD(dX!UP=}Bjxe$lkG<*oeFtwAD?w@31+#l7gQkjNS|q3HQb5uQKYSqA7R_}A z2PHDT=&*BYsibE%o6Tu+=E=Fw$YFWX+-LdNZ@5(cv%gFZ_b!FNn~CnR@E`%ja*sep-(lHjck*!ho=yzzSk=0pZN!NrRN=0N)bbMbXxa)}l|W}%*1 z1Kc7D9&jt_0B*Au>X^{NYv5U-OnEarntvu6M~>)C2p6iVl+@%xk;D8J+|~%sN>V|^ zv(gEBfDX|^*uJC3|6Q;^syU*PfH$PHB0qTAIvDVPDFmm8xK@$Hgd_{Hm_(avNv=e~ z$`KoNPvLRlD^7m=qxON^DqSfm!5&F6c%9Nng0N^Wg2aLf5D%bMA$RQ}h;Z4dQalry zT-6)w3^e%~>%G-ZdqsIku_I$i8a|3R!k2>0oD_AYm3_1Ly`I%s-F8Ho1t#%bd#rJCaFFF0)I z?135Sj`4=&KGXighLVQiT7!34n{~X<(P-A1>#VsLE!HSetnozPULsw`eVqInVX%`w^$(U8b=Dv{$wxWda}|7z-0kD40MI2`QIi|Sc(!#>{?tVCD*Z7YRM%?o0VH> z1G*MkM&uG?1CUE7Hh{SGQZ7L@0J(%>16aBr$_hWZ#M7}lD0WTo7bzU&FUe!+LPkt6 z<6?G%sIa$xSJi#Q8e)(?xEX7&L{e1#DY$0^l z8uA&Uk2toJAwWb6Zh;+|o6{)^0+x8l&qBK^Eb3)ywYQpl`lZF{LUo}%AIZKlXhSzP z{`16cQpjv>;(mj~YyL74w@*eMj-`+tl-F0~?kANC)z!U`58`8x^U7{X-UJb&!+*)R zgRV&was(7h(MF?Wk(9zmlvVp^bR{j1eepBE*(pCmkx8RyN3LopAcU8+0pwoV z-rCwexiMkczj^z{joUG6@|O4YE$4rJEOE{M;jS~z*u~!^jEWIO*ZRMsl|14*7q0c= zC7R~{YjFt-N-jYd?_&=Ja}zM`;d&_9^4`UcOc>fyA|I-dfjlU$7w42r0(=n!@+Y) z(Al+1;3k#N{Y2=BVe4b?z_j6{`ezcc6}2%}VTOW2B^Tk5R;crjF4P-Q3%rq1NXWuc zDkIwkW$iO+hfXd5-jF0MlS?f2^~ohj(#fq5Us)(&Oz6jm=tr68$KpDYODyh3a*4$< zSuR2SkXu=*AEb@TB^GPrCO{Rrzm*ax`JUX49R0CA7)qE0a=f%4eZ(p1(si2j1#txw zI8BM;z&UiflZSqsFjiWXm|nYR35x8Fr`=A)`j9tU$;Az7k;g?kjSL;duK_(EN^^eT zu}0vL(hrcNawbtra)}nuprD1A=TI&|Sd#1LhTk=*1aN?y;7W;rf(taK7iI+(m`;ZX-S-z+_H zDAh>^^4Sg+=3zMDC$@DE93GKM)VQ!PQwEgi?oQ|*Hml2F_1HXg$O*i{bbgDRBZ*G; zi6%*k9{zw#2IBMwE9LDE@LMQV6pqWu;|tEqf&V1(2#!19X9Or!l)0e?TXyKs9C0iJ z9h!6RIoq{fd$57dHW@)SFZj=(GZDOyqeX=6f)Z)vNO|e8B#MUhmPwT3EFY;rh4)&V zc0qfI5P^rhPWJe@7o8pV-fk|QjGlh+;d>pO<7K7tu^Nv6L1>({5c+x&X`?)T&xxK?WWP$l~+RZ!DnEs$kQZlPVo zHOlQ?8oS$(P*=P+f%skIK~ZYxjNeV@dCTjB%{r_CD5JiIb@Ns7+C0mHv|DbNw9JSR zh#A?UcUk-{C3#FP8@r*GAI7>@t`ru)G&NFC?#3D!i}+cPC3J+eG+|}4jX{Hy^RggK zzql5D9b_1aZU0MpoSvk;Hql2J@{ltom#2RH$IS(sPTWx}JLF&xxE1w!rI)n4&#&>e zHha5ky0Pg;Wbez%kX!@N!2iQ81qV;w zn}x%pFwp4Wct(ceh9o+%b_N(yW(8Jsu4rp%Zfb0(udDHV1br5ZaPUnfFAn8zM$D0t zc4!e5{cQ;);v zQMsmhTVgrb2m~#vw#l@})=KM_q{gZI94QN1{Izr|{ z*w&iOu*EcU3lUbRHo_O?TwA?0|oi{ z1=7Ggp?eYzpXXv{IhRt>87jFsot$!Dx6hZ+02(ClI}7VD;ANZm4M z{w~B-HBr`2pVd;XRx#u@K%xU_6enjPDjIW(Z$SnJW+P9yyxCA%R*$To^-c9nwO)_A ztTZVmFpuU|i^H8&1;uW4>f*ZSIcn`*G0N5nxmcj#N3I334W)m&k)w^kP1 zplPnpv$ofiMs9T0+*P%^Whnh1t!>gULOQ+5ihZZwlhxElxHl-;o57j@FJih{7qu!x zbu^4puP+{>4e&A3Z}hy>lRhawL<%Va4RK!TNgr6$6r@xUAm+8TV3BIc6~`=K7nF$p z7s)OtA}A?EtvJoZ&J)w_ijx7;0^|4IyZET9@c^$+KJDt_-rnKEN#`yslNuxGOPqP- zl`26u!+g68)52k2qe`!{AdC?^d8iHt;FvmPL_PPS(WN;OTt~Ug~&B@!z?Z_aej;R95`18>k4*Yiyh(u zu&*YK<76UGAXyn=5uFHomJ`0iI8asDSYO#u)nT=m%kq&G6M4E^*yKxLg2+d_@Q4?z ztH7TSG)OZm@yJb{*4UEQ)t=X#=Nqjns_dU>q9b3b`lf1pBYB3b?&|ztAnDu}X-A%R zG_Al{?kroi<-EY~nM3y2DKJ&$hLMu0^5Y+tHVoI%>3i{mV34Z{91Lek!+Y;WzUx;X zXy+NosUuIjcJOcKUa(vZ>WtLkqoEBE!g>e{k!e#%~3ZJ8m%RBLPL?&MbT<;HUAwOgvJ z!Hr!x!HwM(ml+2W^asRA>dwA~@^zt{>Ge`Od3Tj;dxCD2NJA^x$stq!vCvu~$|zBT zqKwor|Br?HhC#hV|8ps&l8&U3o@vtcFnSADWJZQ?s0!J8BB^wOCrK))kwjC(Uc{u* z2_C@IS=iJ4J&btBR$!~2Dyv8QmWnU()l6==6^@A@g+sspyl{t`H192d^-u8sDWQ~>Y zb_i~j+*&|zs~%WbD};r$ne7c4=zKwSX*QGt2@{#lQMSWa&pF$H><(Ow(;g z_3#He$j{sp>=+0Pl((0+`+e0_@f{*rC$k8sPI~quS1+-wxGM(i6C4Ve(iHdIlb#eA zgEo2IWLj;jRH%JO*xcwYR`y5&Nxr`yCEDEZw1ei=qH<01y@}NJ8Ab7vQdBHK)7O@utjK+*LR#e~Ff2vJPex+b zkV#3QD2rI3CQ=l3p(ojtC<-agsiTw!f3Q5;V=Gk9o;ZP2@N_Ug_}ZHPLhU5q4ZI(} zOFTs`+a15FYLf55n>GIa8M3eK4A~kb*F}6>eyZbrhWTmM2;^y3bl2qI_PoQ1Ac<%iQ4~neFz4q z%NgnCCimi$hCn7%v)^y2@CW>Xj`p_JmS!AP9Y1+B`=g({iX9|$UR4V}bHN4E(?lO@v2e%~Q4UCx22R&Je_v9B0_`Qnsh^+)QDSj~0@Z^3{t0DL z?Dv=~%X0k!B02al|hF=+SoZ zlPxJw)+AQ;@grf!1OJz~H-T@fy7GYEy|NZt@*-KXY|EClS@J4tu_SNtA}>)KTh8Jv zPC|&2I13m%I1T{{6evR}rIeOsXq!?>H_Eg$Ed&^bX(?q|N-5J)Iz#C?old92%ycre z!!U&?-~ZhAo+K{`q2KTK{XQqQp5D9f-gD1A_uO;OJ&O>QPUNSB&1854@a{veVQ~n1 zBFct=)9RlSE|%Yog;u*8*U{a*q6T0^siE`LTv^OE31#zWbI+HJ!5Op463`7>} zF3y>S7QLk`bPQ5_F8eII__f#GRua#4CC|K|q?}y^?!;-)D&#Bj5~0Y~@EybYkKkg^ z!oZgwLB$HR7h`gYSE5{V0luS#{XWjW>c=r)> zIsg7I+^$-QBAFni$ITwRCbJoAv)Cco#V>8`-<-EPas%y zDhpwcyE3fIJNmHZVYuoX>&3q+XkYEv&!0CAm?_9NjG5w>cS7*XS`vYBm9gs4qNq$E z>@?yH z>`V+Tc(X>$V~If*Zg@3f^Gm$6Q7wDN zeiN?|X(UCuJbQiw_Nlku&Sc~y&UdRbTBA#zk>rfdH>)AH1-$Q7)&Uta-OJ+^05%yn zWX%TqdUErG5|A6fg0fi-?Sc(u3EyV6mC1x3(+3h{4JATKAmq!oNBg{cAAWnlvyT!? zf6p}(W~Nl;W%pq84=Ht=1f>8P5mDl9;P|W*0#@6_j;cwSrz;~c$WW36QL|VfVk6m+ z7m}BJH&KPKn-r4gM3|J%ZSP`sQAMxm7L zFA3DU>+9vj)09-3lC@)fUXplPStXWgrj}%*-n2vuwKO+%=C*v5Qx48>FvgGu0S@&!D7(wHEmkLLP=M$UclS zgeFFL;Dp(hvVSJ6BV2kEePYvUZ)xeR!b0s%G7zL?Oi@I=%O=2DOZ+~{`fc$dSq%-q zs>p_c;fhgNzXazyPE)fq#NHQ@;-Z|PHF0~awwaS-$>Ro zRZ|2IjOQT~WD?thWl!F;P+mxfc!)z68uDdNf%f|U(0K*lMYZU~bN)od_t5ELCyk6Oi2$D|9aqrdCi zuS-S(qR1%hj8*{vOsRg|I--Sj8`f=@NR!HEB~_HYlcwiFs3L1abgp3Bo8E~!cArnp zv*$vnL^dDF@*bh<$)^?aEm&$l)QOdY=||&q5&b;MbwwPXhGhUr;5sXm1b$8)0gBms;@3F5eiKt>gqbup)Hr2dWBEe zj|Y>3N&IIIDXW!X&BaNNCwcK2Q_saouN)F4^Ofl>rj0W*8%o|S_#Q+gY5jEiV5T5AQuym&;qNF|A*AE90%yqRW5b$R*P^6pVue2kSw z^N6`?eP(x)cR_2?dV7P_U!;@UX7A-%uCV7Q~vVoI5em9 z6#2Gb@i(r}!tys0Z;Cf*#*390&uJw-dyk-ntdA+xF1P|oIaI5kcb~~GnOn2TJK;JZ z&1j&DJtGqPJXTW7br5MB;-Zj^D*gpwNdwn=4VD0Cc9?V#T(#5`Y;>upeQ28NcYtLe z%%;K^0;{|zD`RCol2@FJ_x_A_ushLc3$+@U#LKXOQK{MCa9%Gfr1BvnRcnc})@-)b zlS)u%1hwSROp+~aIP7{P`4MNTA|5E>fL@k)hV^D%eAHAv(zYd$*Xk^}F7wR7 zfg6)Nlxz&_-EA6PLwTiNLjKP^7=`V~l$Q~_IV6vK1&!bGyK$jMUw$|7Cs8)@W0nzP zjT$i4TO`BTaV0{dpc3?V``H#MBc<6VWyW2#c7*E-+k#xDZ)B3L1oj$^YFG?uRg0l> z6evJ}{&PIT%c|v2T+$cn3iY6aWfnw*g+d>IWdga_X_-LGe7Hs}wIB**-_BYRz2kdi zN%ZHpN~)+tw$D=Sbej7rw83;3FZjgdoarodc8s4PlQ zcfMd0K}{|!en14;l5>mM^?pH%Y_P2~JkonZ9krIu;pRY-Ppcam(0OA%i=(-t#uADb zS{ykVroEL+*?ls#o{cS`)=5z7@|Y|X&nyaE@*pedHx4pMZ!wFIEHddv5lcib70~{P zHpTlfkJWHN&^Ap$&kUJDr-RR(vVf7XjBIMtb|J6QTNK(we$5QZ__JCBRRB%|NTIFV z1p_LWPGUWP*@doGxSA?E24M=~jIV2HTH9V*-4w53`zqUpTXhWsZPhic zola9Q-riZ)>L|W59@19&Yf49xnIiUJsw6blUQ-nuXw(I|8tpi?mLA0##&F_NBFT9t zm4Iv5--^ic7!;8x)l3>$Qn2B41$saD8hS*aoJV__JnL~inTObeSg1!( zYXxexK>EBEvS*Qq7vR9Cw83eKL7zb}|-%&UU;=Lge+7t~j9~^`$fd9(@`;4YDqo(2Z7RG`L;7$drrDquw%#=sfB-6v%O2 z=r|>0Kr%>1lfj6@_E%and0$$)6sMepi8nRlX9qX{nA z@3L9UlI3p}A=5}9Wnn%S+_ECjiu_8A^WfhWmkZ0Q@7e!dy82QX@VxvolV@L9#`8eu zXRi~ZuR$cX2xwc8Q3wlk=9D*jswgCrrlL^SqR&|~Fx3qW63HuXypfrcJ4ggcQb-;R z5^R9_w1)il1^m40>?=}UlpCT;DgnBzCRrMRUI7kLE6S#EMYJE{BEp%wY%}Ra(8Kr#_63 zDkuzY5F`l6#EJD`PlIWlQ;;d^o_qDeWFtYW0STrY{TEgtWMZS&=CQ%MR(O!pA zTGcNSCZljM!1BcYI$f*!%X&7K^nup`}{T)UB-&Xi?OX>oAwK!gC+kok2wHN6ps z*76u@ny{y<#!fCG{f*2QBT@kfg1U}ABa-K|5w=MNSlLoCCSZ%0oCrg<0uR9pc#{+v zWUY*pSFqE(fESiE1q@ljZN!@Dfhci~YNACPI|p(0yAnTnr(a9rA^iizL#l-p#bh6ib{~+{9MHWl*KR=!L#cUMI8@ghhzs&u$cSP$fxWq%QUQJnrSG zXU-dc#EwaoO)Z<7N9T&cblox%Sxo^QSwSC|JhEQzG;~2}bT<6XolcMeBz1zN4Nz2{G(lRSz`c$d8P2>JiULY{F>+ zzFHV31!oWdvaDxMdPz8^w8`Avk=~I`#0J)|(@VlR{b|S-+_jyJW}fZq+%QCQC8wi{ z{e-k^f3sY3_krbiNppu%LUZ@atmY0nm(?_PU(bJ=GemB-Y{gLm|dMDQ)pLK0R?2=+pFKQ&slPJ6VZu>8(hUIr<805QD zuUtcZy}7#-4+y8!WIceDt`;;$@tJ9REWw8d5gQFU?X)7HBD9wh^%WbsUD(i(`GC)j zuq8H+FdxXqbI6V~T_}DC+B|;BzOjUPrkg!q{)i)UugVjbvrK;GQQCSW70xL`O!$#) zoe%c!Ut%w0%GwKQacHeItiq1SW(XY+rxs9k7>z|cAa&PJRw@cR5Dv8>v$4nZZW6h! zSU}{yBO^^D#*F8%DSF>>JY@dmtYbAsk?B~rjBwc^CO7^hN68~CpP}vqnv8;i=VSC7F0oHp@}q#)d6>Dbx^EOv)W2f&M@edya=nHtwcm^+@T1&vJ{#- zd?2nZ2PMR*I#!Y~N44Kq-R5W$PJE!9>SjBRrp+te_Y@sKh#n9*dx?!X(#RT>%{pIP@qbA zVmrG7D-#YMBHxP`^%^Lc0kq8tXHVUJ(gwTo+Zj@d+-l^DBUWfVDDtg@OsdL(kG@)FSn$@@(MHi=tNh>)T+W!s( zO?n1@Rx-4EXp}S-3Y>(Q){DKA75cYQegof+6%cN?UzPY1?6i8CfaghiE;;#;Ri2aA zR0C*ut>nT1in?2(6Bn*4#ecSS4$=%sZyH6TtZ{BlsL7IrR(D~dBFXpNBW2_B}9 z>ZVafIc|dgP1eP^4)6NB&W5@MyjR;8@EBnCz+@e#oZ*@rowMipG>a2%r-r?xnOg6T z_^J#e&iPI4I|l0O2c}}Z+dCbvxjUO31(~N=O>=^kjqb42`pcce6Tal`uFBYsWPR(< z25;BP6nNRy?z0ki5_agKA7q`*q^%e~6DZv(HPLJn;V6&5!d8}z#2f~v7bGu?iOWR( zd5CmoL2LQq$=AVRau&px0x9Mp`(bQ?ey7Z^873qxL96FrrW+!J!CD<7FQ*|LvX^f4k>L<>~Z`FY5l;@?W}FUpEyvQIKYqgpZf~=4UUSSdi6cVE%AoCQIwrDwGvuV8l>1_5q^LdB!)UJC? z_wG_Ol?M=;`_T+mbS4dF$?jo4<~9J3M>GxuQ&9Ss76UUMSF#nvfI- zRBsjZH4L1TvEKE1is&otA|mb+!M>=OT41P?H0femu2P6vK5s1q$UD>mwZqa@uyhpc z0u^=1nK~dw5J&`ee_3sf*Ig5+4Y)n!4IV=w0t_oLn1srk2wl}J1p-h!$jg_tf*mVr zgFmm&X7hz>y6w7TSxLxR&C{-6v)9+u#Gb9Ju=+cEzC^&<;QFDt$7(HUZfk9g23mp` zPBA9m!I+dI`ZDs6(b`5(_2TSUIbi5xV>YX!%35cuYw&3cD_|3+=-?H`L=gv7Xg*oh z6sxU?H&smg4dgU_~Y-tJ7FHzPB=~eceSP@6opY#H; zHY|d|T1+_kl(Ynk}oA(`e{qMq>aB zC3zVY#hI5#K&*ONKtBl1aAJYr5r5e2w~PQR`a`4fCE($2frl<>Op5nM*YSb$rZQ-sZJ65pRUWBH1gbV}$n9v7xg!t4>dUmc&F9 zxe)Ns9&blkoVNvF0AQ_nq6ldtt=^!cF61g3^3+z>c%$vHBE31aW_az8&+n~vhirkm z@)L$~J#&W&t%Zzv+3(9LjYg-Xse&nAak84L z#-#4AmLE$vQ`LYu?*m%YhmZwfD{nS8$c`Ws){L+t)+}%=2!T-Lv0`T|V7CWi&PP+e zl(V_n$sVL{bQc`(!OV8{V6)Q+V_1#U#oBq3#)ml*fUL0NtGfL|{S(O1t1UEW=}fp# zTY%A&G;n~1=@3kR^@aQ3eF15>0GZXnl=wE{&)5ZWHqqEX2`)O3IlQ%{VQu5uhK2@Y zxTtLYDsqP}pJ@pQ?jpH@5-UK&`UG2$$5Y-JW(OR->Iw|*j7E132Gq|`U3^^=MPpDu zpR-rTkz6Cu5stRUtL^rh8s3us0=<}D9`D^zTVXK;ySsxs=#R-#QCnMaprRJ*PCj0G z;GwxeU}m_3X$>R_fp!sVRU8=RV+MyR+5!VIn=C`j@L&@%7gz}&G?6X@A2=rfv15*z z$zmF`ZUf09N~_>c-gm|ZYls({+Twd!Tg`S$*>x^Eeq8T}kS8}AOJ1tI; zvZ}nif@X6sJHhQ(ne~wK4W~*Bu+X8fp)wOlkXM?ZL0Wpv-rg71$JhVnP^qr$P+Vu( zVb&o}W9anh5F7@6#dsz|zoO225Wn^rNKBomGwRe)oorcMfu&P^`D`clAZ*HQUKYx4 zaa*;m+-|RL3xuMHu6T{Jvcg{57>hMU+5t>HAkW+E<)vne-q7rA3ax1^GC17!((-bx zzP{BLjQC5a_we53E=bHyXhRIA>g((#>ODq;C|CsU$psiBF*g8X6C}5c`Th5mj`!3j z{C54&a%bh*aG*xd8q8yCWRtJm?DX3#!`teIc6a8Sz+Ww`a+&)^ykt6r)13p{$+tq{ zsFSW;f3gZIOMR)4YfRvr5X~vexjkMItz8Asl?P)wI&I;F*@`w$L4Vh8*P+vLm9Qg<2TOU(|LJ|yVImlZQG>Evv4$Y?K@RL$M zW)EC__0{->zv6=hXQ@Xmz-kAu>V@2hd{8AOT>%WL-L_IngyF)7fe&g%iy=y<>R{}) zmiQ3F>J_uAJ<`-rQ{7O2TspL31QK@H>POCIhN)xMV;KPD$o6l`IZsEWy}Pr!Ze3I3 zXdNyps;VmJ`)Fg+I{I#}Ogn;oK3`wZp?NT`;n`mUFw$B z_oq6WjbJnd9bu0N-Hy1Cby7200WohKj#OZI4s9D^^Jv%{t(c6@p)fDl0uh441ge0K z*V)aE3Ob)>2*x5aawCZ?dvfGsn}UJ*hO<^$vVu*1RG2R1&_hzylwt*c`7<1ndQAL!f6vxM_SKWa>fOvd0?xTPtg#BaN2o zaD7EQh|UBf_WDq@rEw%$Q_qoN#kx;xrI|eA;@a5gbJ8@HN;0L2)Ghq1N5qaj9@pHXl(4_jfacV+MbS@W@ou3 zU2>(SX|a=T652H4Ia|@c3iPiM^Uot)zy4$`Rt+2gX>~_22*naBo-Qdu_&WF+k)?o< zvO-Byw4zAWbgCL!Qk3pf5wIrtHE2G!i1(pNKotdAEFRU>RUVw7)i|nZt7|LmG;h4v zsF#&0-KGG%Ht1K7W((P$g>C_zjU>FbSQPTk)}AjVCk%ak+-$rk^E`F?*K5q5|Gat4 zcJ|BT!;zG+N~=pf`DCgMKgY2yYNYpoul@p*SBLRym9Fi#`D%%;YFio`yx^V{<(Tml zb=i)t2M_^@X(=cSdZFQmNX4K9Rf6L%&9tJ))fS99fTSfQv0XVwQEb(!usqr-gz_lI ziP1@%3=%yH{u>wMEE^=-!GmKlw#nP>wWOV{+fpWDYieZO`k~YZTyC%P1I~Ir4GQgX zn@pZgGNR$*Rrab1()Q+75i@}YQCyD6p9en7 zscmdKz&59yb#>0P8JDTyQ2>5xGD$GEcGba;H)hP-UKI0KEUwPhI$d9{@xaa_+X(cV zX3N>-_JhO#uE)CYdr+oZ(mi4({YyEB!Iq^BTE}Do80y^w7#B$6dNwyvqUjybIqkNp zbXmohZtpe!{O9K0+xga%uEdtId5TOLhyB$37Hg_8B`meNq`!wf^zYGS-6Pub*5!vh+Bei;^E|B}p14Ql*#Z-2NBBj0}ZPw<(SH49OwIR>ST z{pkVl>_Mj2Cc&mP@Sw+}fv5tPKLl*o>dBr<=ws~b!N=vZ4!His+HF>(W$BCcg@S&c zs){JmS2QzKH>zxR^?9m@^F1p^m)MTV##n7_tg%x4yfY9A1@Oy0qTW$I)h8zi3%rGt zDb_$jC{^%zQ>?i;7HbZLGS8mt3H!RhoK9*1R(gOH%A37LS_co_oy0$T1zlWw8D{>qd1zjugChU|NKluB!vibRyw)Jv>GzfsK4HV3)1CN#Y^lPEpz>unDGJFwh6-Kyx0fYL}Eu5FSk} zEmpTdXK>kC@MCk~(rs;N*=aQzt@v$Jk*I#E$Ykr35*38iZ@09Um6VjVx6G;+_c+Xl z%ntE~^_&Z_Kg$)$0L7%y#++>?n>BU@!f$|&pM^32US=Dl_he>pBEb0*nHl9oV0qcJ zbZ2G;WyL$Pm3g*ocv-!oK9rp}JA-!M8Jl14*|%Whn}cCO`ouZwjft|)WZ_MpJuKiA z?-0B!4_=gAt#6ak-E!YFxw4UEWhc%a5cRHBmSD)QSCm2DHl79Jp}ytS+jWkzo6lal zv@AH*wDcjc%Ql>Jk#6yvsyiVl3eCQ%x1)t%`pc;=<3GER{(hNiV_o3JH|Dqw_@8^4 zJ&@VWZcO3%taLAS3qG`_dqhW^tDZJ5*xF!IV`qPN=bcgY|Gnx3?$CNTEiC{}I(jI@ z%p^TJ7DFs^q(&05Hn_e{Ogli@sD4PSEM|-8C1CrYdd#MN0@xds zGkA7bJ&b44%aE+^U{67-q%h_T z=!stP^w%wce+#ru%1!|oSB@(oP-L-4n0!8!B3w>OHv%JFs73b(oU#E;tlp-@KkCyp z>?UTp_m0UMO*i5+dr4Uc3ZdpitRDZU>`f^9z>T8d9rx1ybsB%?SqIBOPZbrq4TOm3rso+A%Y39fi#vHHm+iw zbXm+x5!=h7yk^%erdxL1cQ1SJjW?K;YMYj>1CH7SC71;6qo802N8&d?OMAjQ{i1iI z=Kc3oKK6b8+B*7V&tFn8iNRZ}*eyn|Px=-2u@8ctdjw2jJ!BbVI!8=EC`eOQ2IT<6 z8jv&bM-fXxoKZ?_!tV=MNW2kn(uOF3_GN7V9Zu>otAw_IZ9=RkgXsqUdrIo;0S|H- zm;X09OJO(C)7+!YJ0C zrJ-RHgQH!N*N93VNM%0HZagsw{I^Tr=OOlA z672yyab6w|HTi4>I4_rHKZHBNH1uPF2`CG8kSA0PAC_#@Wdb9kYsVI-)*CCel*YU@ z?WE9duTj3%Mg#U&Nrg?nDfNQwCJlF;9sd<=clKHoRLjxGeVRSUz6Gs3ofS0+nj-$P zs(Q)iZ}6!Uw49IS!~1EqRrNCq81GaS^4U)rAR3X^*~{!YKvE)=_m{!MUIRTm6mW2L zWU@j_(fpgk(KbCjBv@Hv9`fS5!S@uSL9{SNJ=0QVUsSfjik?Yec zae_4~A_PBe>Yli$)iQP4baYvK;2W1k24+tLME{{JEM8IrtCgFTIUp7T&Mf zju=i@$;Db2MdMMl>}|e(()8@c@1Gdk!*0wxplN^mLDmI`OYz1Qv`6cn;S}DXwSiu$ zcWb<*FW>iarkU;kl8HZcW+=^}EJSR1ywQ%452KBGTD9EXSTAyf=f`2TW4=aJWuW4B zM7wa_{))5JSxV{E8haY8rTFs7-awmoU`Iz{=YY2@uy?YkERuT9xg{tBucCg7y57y_{M6 z;~&{=nU+7Y{jXe~HoZFeswsW_E7TKoM`UQDwOZ`hV1(o~<98i@;+W zx60OHJ}j682(6_(LY4}`?nzjQiQS;^qO5^#MLyeiEiX&4d&pBNTdx0ts>7kX5$WQf z5%h?~Ubedgiv{vj8(Um>VU%R-?da$=BHHuDo}P{AbWcq%Sd)1h0zV8{(rH$iDf|Bu zMg2Lm;jpxUy~SrSk05>OFdLXY5YXF!ibR0eT$H^P-CkoVNtKvtwnsmZUUswkG-FZ-bY!B73QM#EI z@jd|u4z>YD0!#}KFg?Rxn|I^TE7v5Tw{MPSeq3QHO|iFzQl+Mf%#Wk2xk;P2W?3D@ z0;jNA3gCT)zhEqOUbN(uS0EHpouUq^69zY{KvFN>O`sNr{=}lZNCqYQ+VcVu0ol1A z!6_tgioDzSOa0nNfMnkQAP+3*+)&=gI6xs~OGZY)DyW38ykwNxW#W*>Ec1f+mK`yL zlw^_+U#Pz-6;V4SOQ;C76D8tg3T-T-sFii8)U_H2)XuMY7i5T&STO=ZmZ{;i=96s+ zK4pbFNjH+ltbt4+L}9x(z0Q>at)tF4Ns#6y|j^F zkfqB?Xjuu8gW%Ly)JVt#I9!5!X%~+mVJ>?z)o%ieEUXRq83iqcZ7p=<7E)MecM7d_z_ybmxvY z%w;5N3D7AJ!8bC$W!1bZNn>>jVqW|ltGh#ri+7v#I&5WaR^UnO+Rw3z@q1JmR0KLc z*DhwGwg^s{p>Sh~zq-zC))yL##vpxj)Oz@Pi;9X8O<{9YO`WO86r(FxeF36g_A{)b zWW!r8V5$Z%pqy=D?8t%{8!4y>vLIxINa)?N5+tr~QS|~jm#3Q)t$=E9`~MPq-v;LI z1C^OoDx-67L1o$TCW91d7mfFZW#gUqL>_OmWQMOomdaG?6E(wXjNO;ZPIPifiXkq& z07&lD=mgf@X$NsG)X8c}A&$Jz-Q3(wzde-}OC|mC`{f(m&GPq3>e78^^?5N*^-{YS zt48=)X$1L+3(R*KJZT)>-0(U?JY5)AVd6v7lj#xDHcC^s3sd(sW%_~z;FbRX9b75s zK&9$sdugB8K@e5v6Tp9{gPt|6MqMw%M;byJEc>4&C}qjW2o-{afFwAPQKMI6Z;{nx zfA$*+sQ!~~;#@e-*r&tE4e}e4lhabOBUP570va6Wz=Uqqjhv(Zo$DemCINO0#d`4S zalB6bb)UyIIl-z{_ei#`a6{fj2tB)t-He@5iL`|aKxHUtCS(jz!X2Gz-i5_m=-dS{%Ld=FbskPJ|MeWc zE~~kh(o* zWGg&i{WxLK<0xvHXy@Do;q+=UnOr6pjHj`}map`>D2Jeof7mRlyIWh-%&u2wx$Dd6 zW5=33m!utUWheZZkI7brsY__ry9rweu_wg|AB`f#wuT8Kg^#w&wzyL;`+!r79u_Zv z9j)QV;vy|2!)BUJ#q%J*uI2uZIEUZ-9?cqsfzlKUkW+Q@_LF>$Sm=A;ilE>xqZR0V~6~~ z9@|76>`FaJ9}ft9>2LT`?0QWE^WuVKFJiyfgY{}6V7waXdDxPF9Or1okO=}3#T3Bi z5w@|}Bg9_eEG-5VCf210?CEk=SW6tGj(U$CR?G|#Q)X~kT~7yx$`%*rV1YaxKKr<8 zA9>JTEi5F9%8N_PFw`h#XR~IIcM2Ow@#jE^#ZrO-G)sQSPOt|so<<3F>11|J3Dq$# z4*{K|G=vE{MO4-ZXQ(bRJFAlmz>aD45;ChbN=6!fh$^sTib0PIAsz$}Lw>x9nCp_Y z-(xSlbkTcGheD|B1;B7GFy)pIBN&Vcx|{-X$|AO;=|%JmC4>pt97`zW@|HK6b%i+G zMujj9%kKTfS6LSccO@Jcvb(<(3b{)wD(#MVB3fBrS?mk>D%lI6cvGvyR1#onPs1Sy~!Ky60&DiyCxFfYRwL_gT%b$gc*f z6EVzjsAXjRq97nu@BtHN)=eMzn@u`jDA5|~h*#O|RkddB9IMfVCTnz!f#z6epsd91 zsI*o>&(A@_C)h*4L=kqG7#mm_V%@^IFIlsZf?1e$30E`pU8Cv3tjAB8mIhsnH%7!8 zv%{9q%j)(uG{kQVZPM|lo(#p~Nt5mbaQz~1P4wrI;AI9Y4sL^GhmMZ|U9ddS9Rd*K zXtU}wSPPqZqzEgVWs8zA9_2~33KXtRt-0Bau z$7>s^O!0VSwY{{slyk?YLmRx|mbNuz)ozO}T8ChDCIj`Kpu0z$g$JbJ{v@nnVDv=! ziRhpZBucS3m^gz|Xcf$mQ!uSQJ_b`uN%ofj18~&){2oNDha;RHN^mekaXg`lrpgq@ z166ipJ7FwQq0?4X1%jQ;t%*c)OYCA>Rh13DNTgO-UEw!b5{+#!97nfCLruL7yWK&* z0PSZOwG+T;sRUm@lB%%E%3Cx-AA=HftiGa5QwViGMfe9aVj6*Re)jZUgQ2_FbjdyZ zsqJ?g%|=scS(W8J9oFb9F35K{M%b{ygA94t5X%@Vc!7qZA`4|0Tvb3D5`s7h-;w5~ zIwyl8ep9SDhIlcJb&X{uQZ1`3EQFnyFm;C&4a`wgjwVc^ah8zpLXyb0nuu6^4zt^8 zcE%bTW3bY9n;rG#*6M02{gyi%<@jay6xr%3oNh$Jt8;oA8@McG{z-$1CgHZAp~!y~QNwT^_VLpFcR zb+s$zr(JUnE-+37E&>Z4As|PZAl(%6gd8b^BnmW>D2fkN76or(Qgvl%F#y|YQJ;OAi7`Sb1ow@k= zT{^+eEIus95GUm2Sd60v3=O;n2x7B{rCCkC5ANB1`;OBZv;3_(^Wf8=)3mxhi54FN z4=I<1PQeQZ3}pRD^31Z3+mLVo>l6|2vASVH09XWz6G-Y+A51;&fi7F{RVB2y;Bho> ziJP2`$92YLXS6du67ZrqSA(spr|03%Zig6w<5u^aVV0N9dSH}gGq7xI6> z`U&2YAkNjN4d_OhGlq9LXEJZ)5oDG~m$XdQ9p{`FOJ;@P-OY;3TiFKlfIwScJR3pm zi`@{QU1ZS>-4$)kAZSC#*5rJHL*VR+Z*UlVrCO4lwbd?%iv;gLy~hAtXzBP}r|uN< zJ%i&3Z$$kHe;`h#mGVB=fojk-&3ZV2c;r)g|z3VQ6;hSv08iL>2rs|vK) zT#HTB)lJ|WaabaI`2ARW!cqrLp*z}xtrc_%4J$nPkTU?ytFUT>Q9Km#ut1jok{z-p z9!Ij|3VS&gJ3Bsbi+f5g+g?0UWUv@YM=YUkSLawu$w*P5#ZWS0Zb}%^nu_wZu}*#F zYn2trNbg*UHEl2#v5NE|{hHDcbRBC;x4AAEHO00KG#dI#+py#fmQGYpL@m`JOXe}t zXiKo6-_AP9clMn^sMaIk$0Tp7mh<(}ME@A1JK5n##xrywh|)t05pEw667(Sy+cYv) zB5K7JN?=K0z>AFIP+)l66wsyy8$BqxAaIq)X1L1k4xUBC85BW7F=kh+?C0{$>38gy zni3ZF%nCBg`62CXtD+vKU-Cjmv)>%hj#WP~?e?nRhUyIpO; z)|NoMtJ&RL=S0F+l9$cGj5-@Wjx3CIxmB3D4qNIx*-(R%CRQ<pr5#txsir=`l# zy2k5|7z<|$TjTLo{NBN=ng8GspD&rYqNUm?VoEj-wN=&HClB?;V!ia6c`}I+7N`7( z3t+^~DuJ2R;&GHgvV+}{Dv@CmL8%V%K*Hj?GGzbj{_1K!{j$!6p`DS)&Y=eN^ZzKS zbak-Tt9-sG7xb5OU)1mM^k39nsa`x+*_wnsX0o+1dx1fMw8g97*KNXyOA(z@)g$Z~ zj;ciZni#X24o+SBnTInSX?E=+x|cG$(^#w+MOde33*Z^LN2=&Nh>qxJ!-zw4afS{) zC3{#1t7v#6e2MMNjP99j>G747I3vE~MBxUVr)yI@u`yO}xN10wXb(t7~(#XGf1)GpU^zO{Rx>9$35{$LZIbs-x>drr<=k$Je{L ztt7p5!(bAoCGgca+slK%5$)CB%V$#j?vMzCoDkf!3xm$3;r;^$CNs~aP9uZ@@bt_x z3za5z9l<*Sc*?ktT2NWZ1M}(iu&9Jw44; zCaWEKPcHQ#;z2z$W(~;p3=hIakDcsJg4Rw8YZ5)33Br;J zOOs&4SdduEJ;Gkh{L)sjNndI&V^x`}+3Bk@W3FJO(`RwH>nqu3aX_X)oE^&T`aF14 zpEQoyIMN>vRY;hP*>LCy)s-fyn0t^xKY1w76s1iQaelGK#0I2%iPnfUwomrBDtv8K z_J%r3UFSqt7oOt%8ofzh z;}6%GviZ4d!+vqIsl#V#9FEqGjdbXGhlYA}9V2Wq8PP@i`l7lB&c|p>J9s_jq8~m* zhEw5y%SP5OWH$$Zm-4&3u?>`GHy~tQL}U9IeQIcUtI58#6XWOhA*@JjYQX31-`*bC z(CN|sLLSd9uQHz9gImUTwM3lVlNifwePBRaqo+Hzt#LUbLrv_Pl`Y*Klee?6!rnk* z2^zo{(5a#o`)4~iVl&2|(NkAxqcJGY!#Mde5XPa{QgII3AqD$8{yj1tb68x>Rgob_ zY&`PslOO3G9qGC2uAY(6?vL=NM3U{=kl&#!RI&0Y)gi z8ZbDddRSi-JsxiI)>M(aL$;N09#)VfHp?;`08VLLO!@4$Jv}`uppoI2ot2?Fk!CNg z0uj4e0F${UEyIRU+zY5IfT|FB)u(4GaH7ph6uauh+cyu^X?v^2Wy=3J$i| zY%PPqt^BELZh7>UYtokHRN}!zs@ZbpSE!M+<7AgwjFs7Nsi_nJ1ddZK!MRxXyv;QixUUGKw z1=9i# ztzOX+%W6L03c+0Xr3VilpBx(ThMdKdFI{%@=w;BjZL$RtZuT15p*jvw9#DQQSU>WB zN}tcq0}71nK#3x>0#`X2X@tp=$Hhxla-@}3m5S!*j!7&5N_!(6u;t2p{3fNv4I7f| zHR!$9p|-UeI$5`2uTU!$_ZK;;?G;pQff(*ps)Z4Wh`6+FY4w@cp<-u`(GlnJhMuM< zOMsmsS^B|iTCr0woQedU8o-{7Sto~9SS|plkxODi&ra+UflEGXvW|5&4z$`GZTJldyxHWoC1MtLS8H_*nCDN) z;>@~jt*NP{z75zH@KMAzegpQAh}c$5RJ#0b`}bD68~;P@F5?K0C! zaNhW#J~GZ%_dE~#0;1s!SjEyHXlvV<pUZUFCz3 zXtLbZly)~Yxo@C9sqs!7#qb(RxT8fTgU4lYSc^3#Yro&rkPKBDbn8sT33q*8u)3sJ zTVZlmvdc|I*x1Ni5|f8-lkswr7XHG1-K@Up1d z!>=({`lW2Yj-N?!m{5p%xB<3*TI_)gr;LiEE#9qH3}kPhH(4~7Bpa`a1la&i+K)fG zAgM2>x)OA9F$Gf^rOY?PE(^Yrq@92bX)d|4nUx^3@91(YM3Km31$(Fy6c6*;okp#I;<_56h9 z^!_71CC^@DTl=YUR<$4FlHU^i)0Rf+20jHoG?XEGb(-HLXdWr8-+n^I5A_iiT+ifs zz_9}t`!2Mt*l{tb1wE(%$F9KaE+>5+4$tLN{A?mJ8t;~6*~iic*y;SlW3U;15G{(@ z#C&>O<^!{Y>lS33LmR*n?gC3&&fc;Dlgr;sh&^r#B!~PrC-LTzyiVCRi6_c!b_*`k zf<0&6o7i*SvZC)I9xynY1${3jZzlv0#Xb<+4T0dj8sYlHjxPz$Dg31nEi^O69!1-7 zL}B78UzhtU;+!wPE3X6cU7CGz*)G9>mY0=dt#_c`l($Ee6*KkGrTqp)$ZwJq--a26 zm~HRKKM=ckMfb|i!A#;yy1hDI$wvl_vkVb&Yq^KWh=N(#CB4dH$tbwd92jU4f%G~Q} z(3%Q6qK!k*n%d})zpb;x)Y*4MvZp7>j%04#edv;1H|^Z#sQQy9SYt9ef}TX*nz~w7 zle_=o-m?CS`&@qK29!-^bjf6DdWP%v@7=LGGwDqA2#r?#V7PYYRM~bIjx%T;B}6lN z9%~iO1H=qgz+QG-MyCXHz<;F^=|^XdPbNqD`>(u`?aEktdf41GvB^&76_-GtvSH)E zHR+eq_)oQ4vD@iE?c}W&5Z)(>U#uPqTiXAT?h3!8^CX3qT@l|fiO|-Df*UUH+12Zs zWaWXL=J5^M`|i8%liCeq&1(YXldj%fJx6ZP;^>Y&b^Yyu;frF3A=4kOJ+wXTOYfYn z4flCXrr1Tpf%m@;Hvo$RJzWQWZwD-;!Z%2sqZ$PU(2?BikDl25i0P5tfBnA4AAfuj zzpR&Cm${LCQPFkRQEeKj_3USPSW^joN(@@*qQ|>BBVnJ3cEJ>ROejJ{NSthNGP8OP z3oVh8qL?Wm%3_qfGe(i0{&6UJ>48fQraQKF)lQBL@4B?MeO+rBIn5lCy6$9eU*?(4 zuF6K2g}vU9H2&Uv@q}s1WrhtKbuGzl5ohIw9SEmop4x1x?+?`#;I_YG*x!_SqphRl zfAz^ITh|&b{dIxGQEw;O1ujy+1x461oO0F_)9iQ0vXPm9elT+SmB+`X!7#CF?n>Q+ zpOpG>*9*wobQdyF$sg>&yGUE#0nGS-nHK11$v3()9%@7IzEHDWoJM0>#PiRhiO%RW zx))BI*!e(luMcRf;#9hvPNf5Xa9hW!HXolgkChgh4Y+P>oMeT@L+&11u^mV|k1 zs^VZ@@3vCQ73Q+S!d+#@QlC0;}BiA$^=FIyKa! znJ8m>$0O{YijQo`JY*=~4F;U=XXirzRN^TTE1Dn+c`h%T6oegRVt@{NmQ0P~$Cb(9 z_oX-GPmfI?pj*@FTM_2_80DaV#j{=6m0S(wEs4K@Il{x zcILKMUcp&6Ts$eK5j=AMj}2EYjGfa_Sz)2EqmT*|bqzg6h&5retc~F4Fy_V)l()L) z*WvM)vtUhcL0xQp`1Z*jX1%H`^9NR3IMj0!w|xOev7WSNO{*jGEA}14P5we7oum8C zUe7n6H9BMMra9En;wh!p@{fJxh;Dhz)SI(;QV&A(7z9>!aR>0k3^(LuY!hNCF)(d>6%6SbW;1&LX%BN8 zEnSYHaE&Pq6uHtrjj*H>AjcD?n{5Sr>}R-ce@7ocfd!shD|1CN6@X$yplON>5UjRZ!q3* z!-;F|G;KVSnYy%uM@!}>Kl=^SuJt&V<5E8$YXM{dAwwXkPz~)tWT@Z~k3e_olooSb z%zO%UC&vb3dm>}))sw8GwzaM1A+1CJ zx(nRD!EQ%>%!amg;i~jtxVf{$74~i4XtnOy726PZq(_pm&i1t%rhgbk@QAgEdVLSO zqs8M1>D=)^MRjYp%T?VPZSq;2wo+~Jc%Lrl^)wq&JDl-UleMg8B-9jWG@4Rtw;0My zrMNVhi_L)sj3}A;{}K2r$9aU|R81?M=j48FIi zkHKRiO`cL&r-YM1EI9JXjbe$aju%FNPLN35q>5^kSebfELL4cO80<(=BdOu>jRQlY zDUaXP(8MA$J0ILRBmSg1`yTA;6o0gEBQiW!FJ<7EnJp2pF zwLvPAzNcIlN?z%w%C!;EBs0o&v2+K6A*!gSM5<<=m#=Zd%AQuPA@8!6L36C25ao8W z-znF)&qtJNE|u^d$~9yqen`14$Sb3j7NN0{>(NObja9kUODRoUxi&~H&2`Fkp){ho zPq{WqAtg0AP~R<)+O_TSeZbtHRoZ39xTd{haQ?_u3x^LLT69H1;kaw<{QSY$ z8P~eGeL>g2?5t}OJv!>zG;?%j;fk64!Ocge_szJ*=jY}(%^W;7JG~GNhC-q4!4a3M zTRfvjt;(~lGYdx#&(FE!G8;CFi)ifYWa6pn=3gp zcggf+hv!^_3x^jM=jV} z_K5h}MR7f@qEY zbpw_Wlyl)K_n!Jz>$3N@igu2oeX7;9q@E3UKX)gJ`VOJgBH*C1S7e_BAsvMA^fEwl zDe9v#2LR73YTXMg1hJC~0uNC{cM9S2ouSH=$o1ES+6X(-_+3Pgr-7Ln(dGhLb)nS* z_?wUEpcs`|JUJpDr~ZxL+c7}DA2nR{j?Z1-h%PCKcIKe*pGIqk1(pW!_F+J=h}!0) zh?;0LX`JN}ghLwlIYANoabJd> zsDtouNR-_Sni|9R3G|f8%KemU9$QjF3!beu=0rcPJjj-|t3or4QJ+SAM00!bm*6~( z?*xZDG9#erjpBL{>w^pT2}?(C-G+Zh(HFwp5!^e97K!d=@hRh_4e*bkAAim}TTmzU zeE}^@3tY*wYf;>r!#%n>irVJ^@jI8JHBkJVJp~F@*GT!6_{)Een~3-e&hLZOlpnHs z18hH=V8hh{*&>ME((I22s*i!{6PP8Pz(Y57!fT`<*fETNT2mOgQOLPtnAd6ae*>_$ z3DhtNz4lhPOK*oC+76uA?Sd3g4nJ5MG{SbQo>kaKIuwkK-i$l=LjT3(Qg}Fd%rq%TSjVRinR^oaB=>HVN_FErT2 z(wC+0O5Z`=*S+u^(MtP}3P2CPvqEHIH!>3|W+kkYl`%83uyU;1R?MR_38tQsr+jPx9Hz@M*%)iNimV=m@q9_D2}R?qy1_tGG}$r>4g#jqCE%7XAK3Q2zt zo1pKrFg(8^(w|tAwX+zDBc@9S>x2(kH|t?*pfBo^e$D#X086q#=>QvI!)%1Dm3}1s zK>DHd73m;Lv2|>et!HCw949{$Yy;cKHnGiYl5JsI**3NvzLOu3PO=?rC)>p?LaeTf z*&a46{f6z8-eUXMem27nu!HOnJIpR&mrDO2y)6Bh%}R&ZWo(YkU6sPj(yo z5WAgy7~JGAxYlLTEMi=KM4DqCWp}c>*xm2|{7ZH(`xyH;`vhETKFRK5pOWrp_k(IP z$harLhvhZ)8TMKBImj26gW?w;FCArHKqR^^vWM7Tu`jVNvxnJN*h%(P_BHm1^ndJ8 zc8Wd59!CbPzh+Ou@8TF{!WD?Cd7S+%`#SpudzyWdJtO@i`xbka{T;mKzr&tm-(}CU z?@9m6USQv6FS5Uvu4F%8KV&blA3+Mc8hrCT(zVhx?8odM*gvvY*iYE2$XfO@_H*_N z_Dl9F_D}5B?4Q|h*uSvfN}ra#%Knx8j{O^Zjr}|O5B8skr2H?4@Aoz`c>TBZ0rook z1N$TUANB_OU-l;ZKk2>j#J-;WNxFf(#olITke%)hx~eX#fS z^8mE7jnIHM^A_n7(kG?+q#LDYq?@H%qz_8BO1JS=4%=kuZy^c)g>(;ZlWyW6#BYuu zj%~a26pz7X|J&04NPm>x;BlV7-nbJv#k&zk;lHHQ(i8C9cR>T_hTX&6(w*Rm9|i~d zg7jJGqtg5M8s012EB!UHJbezXoBh(qq>u9f=`W>ENe}WQALK)P7(1)A&?Byc&S*VW zsSio7NdE+Xs-H-=ORqwT{<-u^>1Wa}q+juIp5_zK^=#yuq^G5CN}uPO`K0vU((BS6 z5dUo}bYR>06yL#j@?HEQzMEgn_wZ@Hm+#~I`3yh65As9&Fu#Of%4hjye2&laBm8o{ zz>o4pevDtikMk?}Rs3rH9)1nKmS4x;%dbZ^!5jJe_)YvT_|5$N{1*NJek=bVzm0#0 z-_AeG@8BQdALV!QyZGJw9{!j7Uj8xuasCN@f`5|V$3MmI=bz>e@Xzqi^3U&x=VmUY@8RKr zkn$N(KHHVgxboSdd=4m|gUaWy{FzkVPb%*xmG_h4{ZOPmY8>2mcwyhM%MQ%WTv;@@ ze|~X#A0**L-O#>i04LWHQfdtiyR6^y~7$9aO*_9MG*39W#zDtu_>n#&u)U`;INn=*F^m!ri3YXjB=U zs8UgMpkNHJ%MaTly0rXiI`7r?nDSJCw_T~Cy+c1C!&*FX=-AxB>4jsL%}yU%)J^13 z%}`kG$gqOnK?T2q3Vw$a{0=Dy8&Vn>QW_Z&aE8JvwGAot3@P;tDfJ91^$bUJo8&HR z%IiW*sV%0w9aG+p4eK_G(#Flp&=?6T2#PBe#}xoOhjo*AHOsd{k+4#8T&X!eTrf$4 zx9;~feQ3Ebl|p*-(YK9%7dR?sypItVn4 z(DU%{umZh`_F)CAVFg_yA>+2CJq{0dC_U{^dfK7XJrXfatthM3qn1$+4A+Al0-;4a zmduFoaHps>6z&+&49^|p>qhnKMny^ew1S)IJhB0KOy}?bW+TW5pHaDg0}4$J2)y9F zzzaSVybKH}-3v3iM#0fs6*Wxf<1#)Olaz5(2`^qtC;e3OnEytqB|-|8;>r-ZzQZBE3Q-= zk7{S<=MEm#EoSS3;!FS!=A+abSL%%`P<18>7HQ0n$zy&@A=YD}W7=ba2_0JncbL>U zasYWK%thtJG7rXmm8mGW8&)Qhy0Q-|eNe|>SOITX0dFL1JifHwU_wfNJCt$hQ0g9u z8n0SWR;@=Zqfp66r|xQj)}pJIOc*essAgvFAdPq^5>4>Km*@{)k{hl_OmM(ZBqkG2 zBqq2UzRQbHBqqOpAvwP37yO#si11P_Io#A==F;4@8p+(M3X0rKzYGgh(VLgA$G?pW&!}dSPMy z_^~5};&cD}@j3ZwcILohk+>(cyQ11~r}A2-Km%G4=)`BI{L)?kEngiwvR}w`p@__a zLeY?n!l+E*fJ`R&XhcSJG%62CXdqN526Es0WqW1(CB$GxLJ2X5_*C$gQ1F_Np$R2q zXhQN}p_~{Te9D6pN{ANlT?}d@BrlWrRPM{mCBDnZ3dzeRzANo@DDBBafcr{&9rE~v zWMaU5rM*rCUYX^94%F`oyaUO?t7jJGgNyS==V;{R3yi$DC=$ahE(@VqUQn(u>~guI zhp&{&iP4uY1r5jr=MF0sYLmg~*+ruu^Y$oRYlrBset7W^eHO_=xN=E?H(gSBER%zI z*TZzJ9i_jed9o^f$Kj_as0ae0;57X$nigXzUmjeT2JrOybdCYg_u}dO|4(n{9~;L} z#qrs>y*u}8U!uqj#R}1p2%{RPeEwA@X%hd4U57YMYg|Al#mSw29G6^d*XKZj3N&fj z(lkO<6bTyC6ig~b2vP_TP=zW~2^3I?suuW*zpAJ~l_F98sH!RveBPT~-Wm=FUuFfNKRejITo&&jF3*y18&Hhp=}JWdsZzDMOV#Es{abUFRy4PpM`%gGTp}!0 z<`d#ixw(Uj;>MFON_KD{(r5$PXz>HWT@{&WNH|^=H&w2b^A#s}Zl)3DB-0ERL&rt& z*2(N51TL z0jf|UgIlnlIec6{t8pB`VT z;2R5A_fCQoFJWPpIIFRq%NK?|iIsdiR`78w-9@bQ-@pd#@;yWA7ftZhinf z<2W|8v-~6VQc$C${=eW;*y{(d$3KKk{UC_JV_5LMiv{mzL99A#@fj@rJy`M|z*4^- z9OH;NVV=RNcLB@0ySqEE*Sjy73}V;+0ye-ySWh3v0{tBJ_g@6HN@3IA0AjEiL|_bD zWfmLj6Icq*VWGbq#F2fKH-af_0W}WhfE+)6-K%77x8C*Vcn-NQg~m2niM` zD>(T#5IBikm-RVpyrh)P!!#sFrSMpji_4}fxG8m6?1;Y!*DAItp}RCB2&aTtPYrJ! znq5L`G_(c{oghRFsi62`_*`An8Y9i9BFxnqTFuDNVn)52_DU=f`@6s2znVxVu;3+* zCtl&WR)4wvaSG*f#;&J%Mt|dIGB-Hx1S{?^Ye8#2Z|(t`Et*d7*N06XsOYn1 zCphRivj^PsJl|#ct#`#d2txU)c?e|jhWVoR4p`y@NaDL@A1LB2GYM|?SyKYtI=~o@ zbm-Ian04H#D^RvE(vC7}PcSEul`LOpygkW0;52iSvy8h-%m;qRzLCd3Fk^NE{OlmK z4BEzCu;65)mVI|Y%l6p4&^hq83Ftg1+&<{TcFgXFE`Y`5p%puB3(!Rnxk+l$!zrul zHgj&_ypMA$=QhsmoV}cVv@&Zfwb%6!@<8YoY00YOtuyt3>ZeR6b30hLInE4G zbfiu0VE*cH%FprXMaj-&C-*E@V#y834d^(h=R{`ZTUe}COtSM`4CxR`%#4;+k5+6) zj&n%xDQ5OBg9yLx$&Ny-bd9yf(ww^EDB+Lm)mW^_z84d1E4gfN*Fd_j$$v9eTsvZ4 zBj1(RjiS;5m05n2yIp&t0u9p`OC?|&mt*0Sp07K2Vs z`>GrJM2@7FipCeI*$KT{T>hn6jnN#5F-(jWi_3p{aJ5$#T!x9~JJ(^E%zUzU|^Up9}THP0{>T;R>{*R1t;jp>F@f9xSm;3IA5%Q+uw zGy*QXfGZ^g+}tuZx6I8sE_DoY7N6s)Pt!6c2RVx`f6_+Wv!iw-pgEyZJ4fAhDG}Lirycuw-yfs@78rdO zc$+;=Tb^cQU1C(dWL{#O%^%F`tYmr9ylrKi8%8tuO1D^fD#PfOgwkHeM{g(}9iV(P zkMilwnx54yj=wkHPXzpe@TsZh57qpknm<(Yr{w{!q;ys`*1Tf2igUEzs*C z?PcXdIm48ql-wNMD^yEY>aI&}%!-=P2(2G%H7hF%r5)HQ6x!>;)JwzEOZn8pg$oka z`y#COrC}GJk~F^7TlpWTx9CDCMJcfzEeO@zl)CHx;jZrpQY$5vqXnUwTB*CPsYUCC zt0A`(_79;y-?M_2<8zbyZcLtE#X^ zL3MTA-+%1K|9ZqQu|lk*{_p=k%CXN{4CmuV><2~!1O20lm{dc<*Dqh%K7Vd(Zf>oq zsr&S)uA$)zpWj$jh0&@1^r>DTXsWAgZftC+umAFwk(g9L-5UhHwEawUMxdV5=IdKl9436TVl;2HG#c;&s>?qV=bZ<1G1 zGL92vWDII5F@*Q-Rgk(*nG6_q=^VO{)x0`lqq2GV~}@c!>8{Rh%N*#!Md zcK;8gf67wupJn>jNdIgNpZR|v@cIA03H<+(hK<+%dm4_({I~3;yCGk?+3uu{%&A)1 zP|cr?lT925PwRQ?kWkw`F7W*U9t!16S{OM(7PR?fkti+?J% z7t5SDGUlQrKxkX1{4X56^_wp&@p8D-UXyDn@OD!Neu1W6OE-Vp{U<+)W!P+q)zBy! z&z(NXdS(=_xBLY;#F~pon__oo^`e~z#+CbFrzoXRPOG}Nty51XiyX4#FXgyB7C9~+ zJiO_tZs0udqi(V&y>k5{-ZTz-4E1}^yLQcB{usz{%pqgzyG_r0V|yEqf`yyE$R)>* z+xu$G;G<(8ht7;~bBj=7#?I_I?L-p;lKU*@(E{93EbN=5lI zX1!nDlH@P$yx*N#<(=LojPrW6v$gn-{GG3wk1pnq240wq5w>zCpFLjjwyA1~#p9s< zV0B3aDPIliFkyvKZ0Pr2ab|n2-P{-d_~EU+tk(nym16NQ;7R?l}n==EP3XY7;&ok_M4wThw?=Qb2&IL0r zAa_W>q=IjB4!et=pWgJ$Km!5ZBoQtIu~QNcr*ea<2{!itWk|z~7Ga6;9*2=I4YnbG zXDOh~y{+b6-rN^!E?Uh7sMCeE(5b1)Y(vJ0(V|%Z+1|iAGa9U(W5Rfp-YkJ(==~F8 z4dcXe@<^=?_*UUyUlDslpO&B{T2&hdymLe-{x%w1HDxa-ER)DU(0C~@xT99v@;sM5 zGC{%ts)QA+J6*tjnmJk)fQ!Nba|zIrKJO8|%N$KG2&Z6-?Es7|UyjD6boZ~$L!fQ} z_!fV(nQ7VdVwNoANg?ob{)7Fg<`+;01YGn1eNfb_nJKrB;sLya(vT;Nm|DnCjoyTV zWG0|g2d3~Oy-D$e|w|reqyJ}4Ynk#J`ZSh$+7UESh|JJ z%E?JpXj^*PmAp-4rX?`Bh%1?y4R$^fg7A^LDl2zEqz@KfoRz*)d-&3ME4z3RecXF( z&VAj}EL`d22JTP~{^a_c`^!!rO9~#1rN``Vtu@^d~$&2DJ0 zI`*LVx=i7T@zn{|Ae&_LKU;BmoKcvu!U;XNLm?- z`9$AWwdIi*vT?H2j1QmM_$p!dZjaBkMBW#Pu*SPs+x=rj-rsZX*Uwl!jw##am$Sla z={ixqgTqq43kA2TwznpSACvKQ?_e*>7MqBphDh`@kC8vNX-atL-E9HOfm@-rwJ=!w zDy4O~H&p86Sz}lqM%YCejH?s7llrpn7o|E(7AL-qjJvf?n&W*AizC+tjmNU*K603| zOZctr603w>uzzZk8S@TPdM+BTjUhn)Om0Fx>)e6c&g69aMU3{3>0#cH)>-E7Fb4xL zE|i~fXJ!s`NKCviTy%@7TtBJv0o|VUVl}1~Xq$>`E*)f6MK}#<-u9w0g2uL2uH;F~ z;~5|aFmT)-w%2QFu6?3Cj|DS}7BVo&fGYwubm2pNG zfKnrxw>zt-xwPQgF7D3eTN17Zn8d$T!bPGbdqzU1VlKHm7aaN4sY`3%{(~59Mt>Kh zH~8zY;jeVo$CVOoIp;9%E7sP$0*Cqou8a-Ums!E502h{ZMVy|XH-E90W)USFDzSjp)b$rmB9eaA1>h zZ<`M7V|PcDSP0lL>GO^&xuaLpig7~Y3;E3E-f@>AOliK)rS6N?W!Ewu&$OpE$!k$O zaLmm(Mc^4B;87?dW}9o?nNiMKp`gG*vUHILV$rTk(~{yC4BJ4FL}qv4PKJ(FmZoN@ zf|$>xsToZq>tp$D45U%kZ{Yf>yDxT|1U6z|=Gd72{_2tfK_NV!wi$5$YHK zit#+!0%p>@;*o?ynW3w3DzmcaYj7$Ugi}A$>gcH+HY0MFwdtaa5#@JRdVzm>uSw|l3VvL-Xln~r6!H^zKLy zMW|W{Z090XJupzJv}xo0(X~6Sw%SEL44A8V}VDElH!d z>*G!)H*=2~OVBZp!LEl5RY8LHeZr1S@jirblOln1(L=0JXmj(B&(FeR9WkOlWteu+ z!X75~kC)10m8Pej+-&6T_*l|x`G(%!Dw)BrWM*0Hk-%zF{{H>1(kb7 z4)}@b!KeU2)@MzR_YE%3o4g*xJG?EcRK5kXSbz@E+m@qx9_R7a^9cb7fKr1-sL|Hx0;y;miqVzfm7z;p-)CAP(ZiJ zP1Y%M-_+4D9~cib;p}(HG??Wn1vnmg@v#rr&i#~r$Wwqk85%Axbzh6#3IZUMvhhU@ zBb%DLm(GHgt(!WkiH2z!-&2b)YU6_KW!G-9J9i_z)(0`howk{W+m9T>>TqI6;Kuqb z|3voT4@T;Gn&UNdx+g&bb`SsFzPp(G$EED)YUct=@1m(ZU8{F5ge^GUuf~;Y&sv=* ziv8_;Y3c?0@zpo_DU#(lUdOB1Khv)>OY90tw#Z*6m~Q(nw1v2@21||3i}LH~zg2&a zRK~&B2OrDXKnKp}GXpMm%ZJ^HTRWKRcroCL_|6xZoD-#3qpC`X$a{Y<{(DFR?P~WM zQQ@VwTnF!hBK3w(sjs%RMRvk>BDzO+c~_XeFvaf`)o;ylGq9&7%V_)#L?|%aFD2pF zoisAcCNS58Cjcq8wDKX22JiM0;_|1*TYpvgziQ-IT%qgY2JJ9>qg5V>?yDuVJdArVp_*M5f^p;!XL+`CZXIz z&rC=}cLo@_Z*DU{LE$PR$sXxXn1@wOg5yi(z4XV?=*+KPm8XtGOiM#Ju5zxQZ<-j- zWUgqFd9cs}49w<*_`4A`Bw*I&f|oI<xl5> zVFZ2Nj~iRjUXAa>(fXNh^l0ZvZCj}@-|mHBAfc{{giu1V*5YbZoWSQk4n50vJhk5U z(%~pjC}zxiC;H4m8q}m=m3wS(8#hGA^wk5xKEb6D;tiW=`Sq=s+BIa}|4PYKfRlyP zYrl_^WKrE&P?=hyvPG`OPl^JBy^IJP$fDS=kV$jySp_Zfo)VztEnxJtA5%{TMQ}>f z7)(c`oDc%)o70pZfU5mSJqy0NhtDg`JF1d_Q7)jK{(ULJE=`#LdopdJKEt#k4J7#7 zHOIUCTFM<46TmOC`1i`8O@L5bv&=_jYTiD>IYC~+Q+)RoebW3r;^Iehpng2|yd;de zJ5KgeWK#i0JHt%Vh8L}%06l3tR5^>%5BOp2+sz2Y<-MfS!PB1Q+#>y2%&eMwBd@3j z=bIn_S@vrd%|mYBFpKmmI7L9WK=$|y5pIxl8kb@Q#9?S5lzDIp^6t|E@mn5>h0@LX zK5t(Gk#`NN?T}O)dwhpjGXabPxSDo34&-s^4bs!=oG}g5WIH&+s$#qjWa}Qzc;|uF zjmT93Tt3wV$xyw$Q~~O)n_sRbDAq6)VeKQ<$BnQn+=~XDTd9hO;g~ILIS_U-iVNE> zP8T*%AbYt$AGdO!n3*5rLc@Me=!J(I1z=v0T1R`o5m|{)C|RTYTVNuTL!n>uc);VY zt1hK}GgHuUkg;EwmlnFSqOS2-CBtR8u0_ij`@xIE`~XqG)j!s3H>CR&{$1(jD0v2v z6LK_DWF351Q^EywA@pKn@mWuJI!C z9o+gLqgrVDv1G?Gbl2z+c>ZjT!aEb(B{_7@enEhJW20r8cE*WQ<|85nd`diS#GH21^>;;XS{9)Aw*KEZw0W{OW#6hHPovJN zjoem5<5LbVSqE%7SLA7TIMy;;N%3TEhr=W&^2TFRJUWPve86@7iEsH^$p;U=q`H!)9EwB9#Y=V-g&lcJVX;dw}$ zvE?Goc@I7bt>>~=%SafT(`sK|(8U+Z0hvZ`rKHT|)(H2{XAd;2_a?X5K#5EjWMF~@ z=Dx$iW|qOsStpJq`5mS6o{?&hDkjLH2Omg)(og-e>X->WQU8V^@vGI{=FC9ES5e{A zptfOTbCVipp$%$%4Z3!I{EpC`i1AM}X7`m)lAs2KXqp( zxS7r0jzS+aeOwl~0r4WDc$(~!?+=hpubxt&+pyJ|MT1$(WA>^N&d@0YIPh1RcUwrD zVClN;B7^C`fzofKtfG7=oGn!WXK-ng6(+_N?txi@qgah^A0zsqx??_U68mb73%o9x8I-BGbW3+qPbqD(RL3!8Is3{2QUr@pfV7s zyDvbLe)5av)u%m{PWT>milh>L)XBGX5hkYLbwus;=c-=K&e*&CVK0|4H9Is98XSS3 z?u#8@a~?u~@IWW~;+ve_(hA~~Fpp2>DDWKD-8{zTU8$j91k|r1fqwhasxVvo0@rBl8WY}*oQ9Qli~1-fda^B`uahETKe zW2a_^&5=2w7|N;ZY+Cn99syF%rJm`4_ehNznD=O)C3=B-MC=0}tSBRwzsf*r%ch2U z-|x@x9AkL*xT>L}=7IyUlfB$Wh-7}4GV?|UtBfPb|iP*S;^5@Xl4#xc-reL)N8g-aP-H;@?3A`?b4>#KAW#~2t$Lnf@L(h&flZE%(6UHif)My{j zHKntv_d94HiH`>MIeHL*46n>b$nl0U9XiixT2^=yst zTrW!v9UQnvt-ow8GyWB+Q3N?UjTr zT*VeybJ8~IEqwnvI1Z+8zpGbPQt*i4~_e?dK-4%6+$D>w61II;f zl=$T^9g&Htv*eRMTt2s^XOjYM37Mt}HRpl9vCaGZW`UOf$bn4W{Wlk*_=dx4?P?dG zc#bUGmYTaS^iXdm$hX@@-@0;Cv{8xFn0*_Crfn}XIG@HmE`rk z_0-#^aKI@cL52NhLEZr{LQq5cDvSB8q&3%qGa}t1t3Fhd+_iON`Re{;nlv=n^uo`( zn0&8)ZX$v7H0-r zBJE^dvRs$sS!1MWb2y{NIO<_huhf+KvH2^_pqq@=u{mwQM+P=4apqt>Mv*kd^v%AY z>FL~qxn5Hn>3~%y=6$CX)ZfvZt(a3}f&Gwj8@f*d?{BSvkKx-&1>jTwdR<0H-Q_{gH z(h+qS!JO~g9}y>>(0!#1RKpoU(;A+m|2df6OmoD#K6&xZXSO2=MeK49(A#1>_cSK$ zxNTS+{T1SB0)*+{nsumSHMf!pNG5HuA1`$-Wjg9T(L@gIMhp~B|Dm}cwL*0tGV+qSmExLEP?K_cA<;ea@WI{6 za6THY@lQURt`WtlVfNM*|8R28OSRM_Trp~14J z(Zzsnr9G0C2^O8T-yW7pSMI-|lgV2}v!)DmLWT+$y6?Y4yt8nJC?JpEDGwk0%`nH@ z{@YsI5Fkt(BdW!DT}M*)AT;Xn4EeZ=kmyOWLx}g_BT+b(c&wxKra^43UvaXoE8}*&NOlT4U)?L-3@=;fJx& zaGV?(r4A(EoRO!`4x5sfDGkfqDQ5ug=R+xpr=V3Gl<*vVyB4G9du)3ZA ziDzy}JA7@I6Kg;jB>IgnL+V`q%~d0KG(c5fuxODH9*a=M_KaVXzgA)8zi9;+J+nvo zkNl=-q^o~L;Z>owxJT@rd=E*8^!|~GduhQ|tU+9{BxPfkgdK6)-C#Ai*>ZbxCawR{ zL_C7c;xY(LU=X;;IMRj<#sis39%c`>|Le8OdCnNq)A- z6tK0J+l1)b(M9a<&B&1Z#Jth4%xQbdMk#d&1u)0q$nTKM5UWkt%8|YvW(#deR?fae z%)66!ej@HC_=ybH>NC04N(ylmN6wg;VonG`mD(Cfpl$nH3&z>*>n5|8ZU%gwZbU@T&zVNT;AD+*xcGGUnD4;S-eHESm;G=N^fJppiQ z*=j&7*2!U0RR2%QeBal1k5oO`4bW&xQ7V?}630?osIEr?H6d6IH03~d02>&$H&_7r z4Q{BAcwa1G-0`{`sLMgg!uey%s7i00r@+$*e80`XVtNz{`P<46o``|bzj$2@uFv^> z^X)jBG`(!J>8ts)&*9%&EHGXD2P($T^zUQQC2>s%`TdVaGA*jC2-(E&iB~C+?J7gs z$dS{OxS0@WXeDA3GkYF}T!d_dyr-kh=)tmt$V(_4leSc@rwBP=3K_|XBlxyP0_2MG zj5%u%`HKkj)byOt-9JNYA@&!xk@|2AMZ~dh`uKr0hP?>y z$Qt7a<%|=UfZJ3eRCIk7!mg|7FF(q`)VExGyLVLq)&(;SKIB48IrO5He9P!iTROJR zs0KTFhltr1o2(X2Nb3lM6bePKV`Cl;#iOxfEz5s$kDuNqz_n%XHd?BrBYo$RKW1*c z&9tu#UWeDd_C`?ASQyyaJ{KFv&i;>@n&fW5&Jmb7QYhSbLY>q9OAx+|>n0up zw2^SLO!XASLHCE4Im8)F`X1QNU}mk@ssu*!ViT@5Ep%hB2w0kS0XQbRx8B(|dSEMr zF^e0IZ1$x}$^kaa8ZGi}y=(Rn1V4}l?Tx`s=6Vr7^|9oYiiuHlWJ&7W$}3x}Agpk} zeM0Fa;wuFuzh&67?b5ElegEwyD4ctwO6z|2^Ryh;U^}gvl|f-s>9f9hL_ybM0@xG( zQ1I~tGO7&d2be|<#Cs(_l&dG8)_#H8s7G?8-|1Fi-ZN~Kf$1)`tnZ~?Ea2SPC~w!% zN5N}H_G0#jI!9Cw#D~!7Al;b%PS%DkYv#jUfx;B3nk6lv({hlhK8q$+H zSstPe5?7Eo_xBsM+SKCKh%IedpelOV3!4B6ur$i+c`Cnzb3;0t8j6jpL&VDTLWE9@ z3s=jP1Xh)8C?qKDfqDpf<<%O4BFG&7xVNe1sCq?yITF_X-6D6zE_o& zhBM=Z$ijRnhk*=f4 zCuo^l{2f@<$|23>um~C!xJQm%KW|oB|Bt#l3?A6&O@H=dslsfy@L^pVDV3D5x#PUp ze0|@LGO(FTb6f#UI7f!({D2mvw+ylGbk*;XB~C2dDKd3ufIC$IZ0%Uq%L`5wuGm}3 z#e?0n)bjvHRXGhAbPC)+GIh!(q=}cRwFBBwfc~BY4g-2{6rEbM-{m650qx z^|{n|;_zWeo2#3Y=>|Ve0(#Y)7Nywel&yjJMC1AS;p%g=3n+xHW&&@kHGo5uu=vKS z=`3?V6S|~7w%a5 z{}=htve$^OJZLo1W}!u*ZTG9|M}ecn)6-YdK>$e;PpbW+^8K8}!6N_KMOdDCdW!;} z?sFLI8mGJntXnvi29p;0^HLaV;t1fLNND@^-92U2w4$!I931qha#C`Q2sk*fIsVZS zBna`<`##i>ropjwol`Lv8)&Aq#+2uuqa5@y@ESIbAaU=4w-amDiy~LO&Kx2}oY0hb zGjdkEmn*sQy#_>m`Y<}^?qkeuXQ3nF5tT&bcWzljE#R0njPvCnS#j%!jZnsMu} zJi-)e37^AC zGZ9?eDy7|+gMy$=B#C61?=CHezhL$l(70~|4vj?)!gYJqN?=+!7E5lDP}AKdn9=du zhk#)cDB7uK#NIFXJDxce8?9sh?A$KeWNjKGjcPNdpGDHEU=>}`HxpYfgHfHh29cAa zUW2P@AB)UO>aKdfoIqg0SGRpc4E&-TfB3Y9Q%|WAj|mG4e1$IOk1CmNVl)I9Vm4wo z3(oVdo}JO$pk8E*ZwuuQ1THZ4-TXOKvqfwqg^A=8eE+D`MRVo|&eynm{Ofwwm}6xr zi-ZBSj>L9g$p$AoVv9fu6%h7%f%`)l+O2bZ@%rC3f+-_J_0ap(NLXgyPxdw$HM9~= zFABy^XplC%j6ExbJHBu#cganl#xs`^X-w*M1U9Y{Cs%L|!sU3)rK(498T1HYtO-*t zE>i}}Q^5VijVUo+a{N20QKeZ&mUB)$2x>!>nfd_<&42MzO_oU^Cuw3W1U>C8k4Z-;I)Hwz}clprW*1#cN9Eb zc+)>qHS%7}9^t&jOjsczIIrb)IhH|7_FvnJ#3iry6`pc8JS^|zdc`sIrW~1v44uAu z4cXW$3L?~kE9>1tR}nrfv_T83-xr!;EgYul%$1fy>9C%r0(M(5`Ww>Z8eY8jc)$22 z79&%(H(PfzKGg~3+n=o!mLRb+v51(qU9bb zgq44mOQDCxkf_0mCPe6MW31cl?In&&s*%%+%XbEe{59^Z=D4z^C9H>b{DB2~UamwF zuSv;}X)m89VM~{>c0?+jcoejZE9&8ah~|E{{pZCGFu4RXkTYB4C|2>y@e+&j`Bw8k-+O@%1cfIuz5?+=-ggCj*qoolI4MOO5YF&V{*r$zYEKQldnW$~DOE*= zjCNv~z^rJMo)l+4GaQ}uX*i+ZO3((%4R}J!+$z^OMmeQ@g}-0CU`Y!IT4V!T zsH%huM^)eDsvK%fc_5tS-u|u^DRCgx=wgz($x22;FrR=5B;OZXjMi_VDiYp}XUphZzWH>!3ft&F_FLqSF|@5jm9JvT11!n> z@CqC{a>@2;3KeP51s@~SKihE2k(Kjdwd01yXiR-}=DVK^@%#vBgGbQ|M-N^V9?bl; zYiRd$W5aSKGa8u$=O)v(V@!?6b~`0p<7X1Sjt{K}4ra2qvAR|bjSoFMkHzE!p!s|f zuR@#dF(OAp(es%Jcl5&UhHSs_C;X87mP(b;q0cEtzzDitS8l|V6*s)!#endR=$@lM z@zW@rnOyQ#L8v!Uy4Lf}gWp9dR=@Z^)2;d-9604An?7U4^zOHu-y$2d#C+DDwdwt6vZ)P1r zEmnfv)gMQ5Fez$I`O{_|`eoD#e|h-ho*m}aBCqU7kaYS2=ESiXipbeV2!9|DF0+)m zvFag{YuNeyhwZn-;5^V zSd2{0Oy(}~yTCmQzWXEMFy`G#&V>ypu4f&XDvubOHzbVle1bo;(7-=3fvAS1hB{r{ zK9-O65t+fFL#0b~r6L-?q<5=RcKTM}V$WkcEkv5iL&ukW?jO^a^rU=0Cen1H^wqC0 z{sv?taDA@di!}>PKt}4{dQt=zaJRlDSS3%YCQij$@El(EeS)@&@lx_+=r1t|Q3>2v zCDdxkooWqzrf(+dORYXyBnry^vm>wyd0hE~6T;p-9~f0^4m~AUeAv={cet7m*{2|~6vVAM=vpL?8r|>+7ZfuT;*FKMLJGNyc z)!M?FJlzd>mzyrCJi3SQM$eUS@xCJioofaUwqrzeQ%S|R`Aa6u$h3~pn3ge8H;U0% z+Z~w$tX*TF3?Bia(5OK1--uI#gzJ;b5uLoH{ZFw&E0w}REn0XA!4#HLjdvE}GHCBT zMj7g$9;PwAHTUKI5ZL0?jTRutws}W@-^ZQvY+I`RRUq^H(;hro2sF&qX0$Sn8yjq1 zS-XgbgdmyQukGKXhM9c#5rJ(q^!e2^A|dvfiB5oGPSLeAt5%D5*PeG3-*&*guZuuC zJBU$e7TQYCv=P5Uu*IQUHW?0y%33xDZpbd98PO};2E)HxOQVOU|UymxHgZ9B@5W$*}2MWJa*c^h+fpc9wwZ5c?$46XDvb@ z2}v~Q+LI9-eS9J4lf0KKW+gGo70QNXC1;t@eC1Od3WRDxuCWR+h{JeQTln@;u^A#0Ge4Qp1=`> zt(XIo8r+4#xfGhRFBQT(lgt$%8A30KhUoG{+ik~fuoeR8Ud~f*o zN#9})#5rW_+dgG!l}{1c%z{6AH(Tvg3|h;u2D`;{o73i$bqh7Iop3+H*fcNREDYT_ zV_$JL|Eylt9GKs|rOxX5$xtGCZEeAQKH}yQj-e(UJp}D!_2yJ@gWOA&MM>%1!demF z{DzSMQm{L!n=px(sn{+@2(U%8ziqH>-40JBY~3gL*LpzOteyy^!}jjLw(L1_o}Uk# zkKOf^Zc3kM+N-motfgs9@a}WnlbNk!W-goXTetqGjXAXc z$y3qKU$bLO7v=B~DBGp6MY8{jqh`(d-;*ilDsa5kLsG3nql?h0gTJ>LMhtReWbRU)S)mI$^JHKjp#>5BrWm#uS z&6^i@GHwk&nGLSz%FztTWa8``W>tAC{;-Vadc3icr+*5Tpg1 zb4{+jDC;o(mNXIT&m#g)lCPKSRP?zt$jhdxu=L}y*CL>gNCS=sCl`j~I9IwR0hkQC zNk0%Mc)XPszHT|{`-Hp9ZCH;eb4c<7?i;#qszYtx_-^5xDYJR3FZ*l<8yA}Xb}g`% zQvia(gm>;D3o7NQ-GgipuW{}`$MPFUGAzrbx{1i|?cuMGeLCu){I)gxeT2lY%p5>f$g;-r^p8fOaa7MlL zOB$w}<1+naU2bU$qq8(UphBVS{il1Y%H%Ot66gsPl;7oMV}Eif_WZ)$l#gYl_f z`!9^`Ih-`#inT$_!|E=KMw|AP$5OZan1c}{81&!%*f?-6`OBAih;H|eKf;SD7SvYJ zzI!=qL9#@V=6^Ed&Vox>nvRgDbxB_G?scQ-4ZOdqdj8RP9skm?jMwcFwCnt`DMh#3 zPx|w1K!Ml)Gcv<|7Q?Lj&cj$OXm*u%PCL^ivl`om5G&#SR#@4=SD~LX(^Jcxbdhw)5wf$X(QCS-?EVV-)KgU*f@rc_QJ!#&y zOnFUrTYr6Mk}Z@%Qbo3$IlJ$M@?-X_S_aKG-u<$&rk995uEm5|lZ&I?TEYt9$7B^P zh2HP!B7$3DdD#;0C|DAv-v(3*Q|JpR9rtw@KlcjR z0u>+jpcaF#*%yK3>on*QPT$n!hVmV?3Ts*6GgSv4WmL`R|5df<*oLdRtm2wssW!KC zANH}}tLuVDmi`i0E&R1Fka^c(-X?U*iL8Ni3u&xU@Cju*t3?-7mMgv#d@i~fK9iXzdGFDTymtyi!gn^Fzx1BNJP&lM zUsmCM#g|#v+_f=Bwx2VIz0a!?{k_u&wdY!H)n;5Filb}BC~Dd zleclQdsliFY_`v=OWBaLQw%{>Irf^2qsPwfC@p5@P%HZ<(=Xl}n2EvcWSC?(i?OY1 zvC~5z*DPj7bacJde*UiO7_88zd&53d@@}-WtQqfPE7fZ3pqKF*Fq#f{D`xfrsa@wU z<*UY85uCMZSrwZ8)Zjhj&4|Xa6JbcI39UBcTjM8SJm_RGI+SF6%`K{6%jaGz3>bn} z+_X**pz=y>rP<-ElPQyC5s&80wYvX>jrC9)DWiw(CWwmOALHdL;J%ZxDSOP~B6*A^ zvA9^=p}pk1%Hw;g2LAW=HZgN5 z)~zf0COD0!sIf(4tefY|r#UNQ3*Ed-xx_2&1=P{a1GYu(heIonxLsE;4z5%~5PV+G zn75(GucB<9ey_JzfqTF@|E^G{2lv&{W8A+uCNx8}!;{`fXXNVUWdk>vQT)x8#S=20 zxtV0no%fhw&@#V3{rh`fUu(DC;I3ADmQ?4kRO|GN3w_z?IEURYnw8c~?CjFGP#-#o z6gxi=DS(5ZOw^TRNj*Ya+u14%%PLH@XN&L{9qlq7QswNCL;D{qRJt{qk!YsZZMQQ& zpL9?2Be@!`V@xFODnG)ykGOt$GdusL$~Beo#G*t!R!z>WA%1S}UVPj`)8)QQEp)R? zNRlD9@_AzW1FNeC<#_Rnxwu`2rChms6a8n8-s5H)8!6wf;y=ezsBCb@2=?%+ZjD~>TkD?9{hd{mviZq&e@@syMi~U zd&=3NKjgbW%mK=%vv}3C|XwTn{657 zbb~Af2pBjxh4)hb_DyqU?}{vGa$0wA*G2sYHC$?DOmM^-6W#0b4l|R-yYDFkj_7%~ z4GR*+&k3YxnbR@Lwhi2Y$1K&)$0tR&(no+~FJ}E%z!Lfj33|sT#!5-MsBQ|fpxRI7c%fg$8dcKMWe0Kl% z5&ro-HQiOeU6N*GaPWJz@Xp;^$)vl2N`-Y+6Y>aJpuz5qRzjJ6dWpvbc+4+Vzlz!+ zMa$YdGf{^1e)cq$COm-0*!-aHVF}nYbz{GW)v>Gr)~Kp70Mb8(Y(ZihSi|qF5 z089q9BJI!Buu9C!yR2*Y2q4kcM{t?tq@|G|_%<@ea>STGXz2%?AASW~uXEq{Br=wk z;iYtbm+uz4>eazwD!eYWHz5TL$FioIQmm#<0q=S&yGv%>(jRr+j0xVP4fwW~TW!&C zW;FK}vhuHx>NIf;<_bI%=cHBC$gQaA$55KdxcRQYC}{A?n*LFZVSxOh>9RMUq!p+1 z3b+o2kA(^lme;OnzCpiD>d8gsM4FWk<_TASAE>{y?UnzI-kfutXG!&%xG*OQYE5*F zKRZ&$x^-pS>w0-i6XiYyMz`?ph1BT6l;^LoTMlfY1M1dsU~3NdWv|JT*W!B*rE?zN zL$=&u)^hz_W=Q*Hu=D)oB7Utxr|bE&BI={s8ij4!u?rlcer>!d<3W$RcL9~X;OWqh zSOiRkO`m12Srj~HGB&B)ExJ7|u50z<(mvj`L@%c-=D=^^l(TR?pzXQK52^Y;==qY< zbRwd8@ak?QQX2^_l?sygrJC<#-Opg|dNb$inQC298xt1{gp4!Wo&@1F_^@xEwSV(I0PKsI}kIF$b$=b-aygh z_b$B~T;22GMW4NvE`H-P(UguY{5O4^L-@Y)A^35c5x&<@_XlVuj^_#=jcOblZG9 zdFXYD{dweuA(en;gvv?Zj!k?tAC0ob&U7=9LnCI(7O$!wjHZbdX?2R^6+HWEZ%V9% zo*v1!(M=0%3%Va$Tnb&|yXAO!r=M81O3%#UKV2`L?dh#%H&0!C9C)}_jHl$DG`ufC zGqzclc(&4Bj`#B)7r?LJDesZEAF2vUhtdD~;y3HR z2K}eo-2b>8-t@0;kN*oyG18CF>1w{Y zBeHf{*q3<2*AtQf4s&-m0MsH$EBv51Nj=s=Appw|nd1Yi(-DKZBN$9bAlWN83A_)0 z$4U=S!XyBuAm(`t#aW=l*tHPgHRE~MrmzGWN*Eidc=$BV2uYe|Rpi@t-me&ht6I?| ze$M(9=%DxSVTwNL7B*O`z`fRE$T)18O{B^J5OHo#W%kD-}gAcJO3n1x6Q{X*TFh-d!yx?Z$G16f%*K?exQ+p ztyb%4*R_Y=)qQBLG-9hc_A|ub$th|8Sk1bi@fFe$DwUpU57nc*-z8<&dM#e3a2hB! z16wLhz7o)!MC8}$7Jv9c-X$w^Xr(M9+`Py)~O3rGmgbvjOzXjGl>h9lp*QEn%coj{`wU^_3U|=B`xxU;X3K1L?JT?0?+@K!|MWVr zmC=;rjX@CoW3kMZA^8ZAy52^R{+-YG!J5q^YP&$t9F`&J8*KzV4t3ZZZJ>~XP7}Bs z<}$a~2r_E?4rlN=(}RBkF~6rBo}Sz7#r{X49&!gODP+TcB*@uq57EII-_>qWEt44B z`5o+tysMLY*Dq^n@4_vzKRu3We5|DI+i%NV=Z|)QAl{di_@%07*qoM6N<$f(5Fv<^TWy literal 0 HcmV?d00001 diff --git a/packages/expo-template/assets/images/icon.png b/packages/expo-template/assets/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b1526fc7b78680fd8d733dbc6113e1af695487 GIT binary patch literal 22380 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 literal 0 HcmV?d00001 diff --git a/packages/expo-template/assets/images/partial-react-logo.png b/packages/expo-template/assets/images/partial-react-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..66fd9570e4fac42bca15352def191c563100b2ed GIT binary patch literal 5075 zcmW-lc{CK>`^RUDF*EjzZN@faiImZdeUh<+LiR{8$Wp|Fki?9!D^2#LvJW9kmXEAs zO%Xz+kg-+vJzMzA_xHy=&+~rW=ic`{=bm%Vy*JL>%#e#6$qoPjxQvbTEdc-)HUI#K zgMygk$)C6`W`Gfm?EL`%L7D$Gps}U&Iuio@Ee&-66$7FROu_1bH^l=0)z3KoIfI!x z&D_M=fEl5rVrV!GN-E$bRYJoGq2Yzlumb4gB4z>!FMyJYprjmVSP=&^2`hqx6+*(8 zl{v7mLNJqrGhrd@F|)FWJ(R|Tu&^RnI1LtF1R*gY4f2>t3fM^nFs39ky9%LXCMjei zF>4ChNi_D*0_G4XDW5Hr_WzDd_re?F>9fq0DF;}ZSpiUOI=oX;Btp&_0X2mVA6(;I zL+9iYE6oR~&nk(}h*Wc;?=z<=^FecSUxIntU@W5{3jpAYGuFpj2Rkmmi1V3M=Zj82 zJ?Ke7Ii&f%zn>_+);)dLHsQ`k7=Z_P$Q)VP)h;~(>UI3qG`0}xUl!0)>tD8=BFT@8 zXxA86H1WiD{7}?b*kpTwt})HJ4RPRKr8JKH=sd1{7bRp)JJg$QrPUuMw^}0Hv#sh^ z)>%|#ZpmL>ySJkKXZ`%B4TAbN^jLqSPFd^wj~zM97gritK3dr}0PPqX-}A~kxQew4 z-NsHxdMnZJmC6oQD*HSV~a7*rJfmTDP45WC=wlG+Dpz2EO4R=|ZPkAR;JInJpjs{KW z0m&JEkwZ@CHI-$$S#}B|lN>*>iKf@}Cy+CDJkiCqa|i!|kurF=H$k-Wz9!e1j-j*oAh zM4&42%aQ)+=nygmY4-ne&IK-b9jGLI!D=q@dEX#vWwC1=tP6S2S_U%6wo#a^FR2|**;HbYA9qkP@ zC+tR0dKFaWIg#|~#-$qUo@t8RNKj20aos`OwaV4}b8bGVHRmDDN1e*&{Crqz+p@_~ zXMAK~9DG$RAwEV3Iv8xhs5I&7B&R@axt8Et0{fkbV%*Xg{n9wn<}kBNf6bmP{nrP;S2YDg`(V*_Rz_Wc53E~{Yv z-4pKC9ZaAt*#5{a;`x>5CvA6Mf$Z@L2Dz$p2IG@X&ObFtUwIt@a>`LSDSy2IJ3@qX z9MA~btRB|sh(BLf&b8tG)4viWtrNrRZ5#Ust_ugreQNLvbix!|gQhNZp9a%$5SA=E zz(g3&-2mz-k{$08$m_!-FfbO}9*iE`n9)&$PJzbXsq?1!pmw`no^}+C1y6@xHvuMt zsu>};GmVPb;F>^Qh#uglQpG=fCDeUMr@r~3QF~p49qAE0yk(mL=!ziX&a4BI?08!t z=NwPRgQp)+XH@e4C)qQY^4lyv@zbepmI=_YSJb8Mi1mwfh!ICM%9CduX%YCzOAVN2 zXF2mG!aLd4c>R%VgAFgov1x!%BLrN}O#MtNu@A?@Ylm#{W-sPV*R(hVHcsQsUd4i| z^Mj1QEBN@JCocFs@s!~AX9OeH+HY!?p2QV93UY2UqIPZZ+SI+7Mn8*f*aO&C${SAZ zFxr9-dEdZ$Ww||H+E(;7aUEXDrU?B`f!M2r=jLk*62$f6g`X3)PFDkVNhb^xAICx1 ztWWFeGFejf&rf78kRm8Ngt-`&JCWY2xxm3e;7QB#B-{?(ivm|ccDultvTYW?FOueR zwlB;?d$IelD!?Y8+Yq#Gx5!on*w%q_lq(7teIbE!AqkdP200$U0pL-8`us=5>#K^f z0y_k8kgK#iQaa$sTbX11*_!W%OFaKov}5i9SKE^gedLqLcnH%};WJ(78VO8-ESsG! z62nqQF7E?4LMC11_q|Z2x<7eMm)dpjf2GHR!#8-4{bIZI7T7Ts%E{-8Rn00?TV=^u z>Bu)*mwat0>{SFl9)l75;JfK7EbcW6oEq9U6~vWIsMgm1{7jKis}48_#x^1pfJ>$FkyW$T^;G zSmm$3hwZUdo@Jiy;dxVIg>8g_sWTpxbO(<DJmcE{loifrBifhGc4^!?x_?`F?{#l3clu8@biy>EYEmbcmBE_p#Q8P%_p)Of zcwKhpa}FX=#hgv4RDgJJ3y2AYskj?Yd$F)*)S+8sqP|pH31oOhBK*^CCX2r?HHyG= z?|e$E^O}0jeNzdZG2Qo>OG0YZ2v|l$5Lht9zdWP4PMsvB(}f=pXr2)ZZCBHbQ*QEQ z6cNAR^q&-9u1zdJJ*vxLF+?URkzBvP+UV^cYBpYKtQ5o;5^G-1S{+ zKkO#ANpxW+w%yF%JiPyR+UI&AEAi|jp5su4Z;N(y0j!S^(h6?!D~w5PnHq>G;eJ)c zIZ&9g`_8Ffjxzk*vVML-$vv4YS+`tp!BOrk=vw^#keat@a!Nbdy3;~TRNRPdDe6S9 zN$ld*>`l4wJ;5s0$qOZWqJJx9U13)(6IV3HYx*$Pm4&_)xFD=!wjQT$#t&zXZoTqL zUp-#+zmo^OoX1&8X{)rX)H*Bn+QWe+8|;C(gU?m{ccMUa+G#{h4uPuH>gHTmHSV%X zJm@8~K+Arr5kf+s+96KWtxnqEonDkGPKCc;x!xh0m^WLiKHaZ;7C3}F({4QMPc|Yo z57KU}7sRsc8{@|(IlZe%bg-blpbW6nbq~2LE#j z7jjs3980K@!M_TcTY6)|x~_m??fG9F8CXfwwswQE$l#srp`!^7tQ)=sKDUR4DE=fa zo{CdF$pxX zcO<^#Gu16eit@dh+jQ1To_Rc%BAm3QCpxSnc=^nQ)M(l6dgQm0ipR9dK1&-*MQK{^ zK@0@vh%Je`EZ9-jb#P&1j-hPj@)B7Y!;y#H-^$DT;M`*p_urf+`X;nnIY@gOi~kop z(Dz10Kr*tpf1gV0trr~xkALEqitL%6NUSL|b}{VJ58U&ZyZV{LOE?WWTDLQueKdH9 zvHrou0+eNtcZ;op+c)gKo8w8ue&f2Y;ZkIvcwvsCMqQ)48B}R+OMWlZE{4N*W~yqs zFI&JY?$r-v*ByIW3M`&R?TZ;Ww$wQr+P<%=ab-kUb46tjEOoZ^m#5&fNWxA}cJ1$> zBFmX2hVdriF<+8cv%NPjGI%DVf8kTFs6)x?rwWqpx>6k<09gj!+5x_zk2>06h5F)m z3Uf`Y)y{`Q_RJP7494U1t)(Y;%L3nAr6vw356;z(b#!<;+Swa zPBy(KG*T@eP4r9Ap}F68>SCSydkeQ)Pm!e*Wu^GW?PRul^wX_g(Ui9jULkcbBf1zG zBABddu|5~Q_KxR+yXO8oCE!%IM`Ea_nKE21*){v^T6KACfgmb@^U`IJ(@H>*Y$Cs` z-bjQ0Lj3_e=pb-UeFH{dV-RC`;wRp7FTS|yA2u=Aal4_P&=zO^o$D)k#TD{jdCal5 zhI`WxBfDE7J0o+Fr&+9-=A%MD3RxuzWplOK|2qZt{0y8~b2;#_rbD_V02qKZtNtz0 zx1Vh0@ZmA>%Qx;}soAFM3iKs{LyTs4EUY_U- zpcyz=EZ4(GwMceUx)d~?6qDDoD$nlc$3XDOjYjf4+V<;JzL}s3n$u(ndrY=k&J}Fp zrSqKQ;MA_!9Hcfpva6AP0~&us&a7@xd!?Bz#vgGVypMOwqnjm~oa&Yr9peV5 z0BNA95l-Z`#zWlo^##ZAjr6)g9Y`Gs5m^!;Uc z)bmsiWMoWoW|gq^B&HzD;pReGJsm~a4f&cT25>~;x@Q+zp^m%pA;#su#9xEc{*;hp=%ng|E z?R@pZF}xWjV};&}lltZZK_s_(LrgT@$xSRnRVZFhYQ&x}%J)q9tX?2cBbuPQEbLYf z>gAUEb!0qVYwlW2o%X9p=Db4JyEwD_f-0scujclR3dK@*Q#YktAu?|71K+UgU>GI* zY5R4^k32z~aq1Yf#W}MsZpHccf#vM#mb=9{ymd zszl$)0KZ=JgM(E+#r@nV^7*#10>8!PK!OqV_h05~e3RWm14w{Wkz$WL6l0- zY;l7G;O2-O6WvONCVS-+gb1eeadXD`dx?k=aLWhJsK8Vb2`X8uGAPV5TOv*~sT)kf z)!z%l(mCA`-e+}m`2PsUp~VB^7xxo3$J#d~Zmk9~qcg`qLqTLZszVoRR kvXn3fU`gP6K*T?Yo!&0+^B6>v`J)9eHZaq#&?Q9tAFP`sjQ{`u literal 0 HcmV?d00001 diff --git a/packages/expo-template/assets/images/react-logo.png b/packages/expo-template/assets/images/react-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9d72a9ffcbb39d89709073e1a7edd8ba414932c1 GIT binary patch literal 6341 zcmV;$7&_;PP)#OzF;@4h$(c0?u zg^(FgtCp&*RcTdJd={+=B9LT~@KT{#EGRIUIp^$k*PbLZ=S*fM^E%w?_s#!(`7-;x zXRp22-s`dV0F+Ti8D*4FMj2(4QAQbMluTI4g!RqV=|Y3cICwJuRV7pL zBOZ~4vos#)j*>G>y{Xc;H0M7|BbsO~?7%^YtrpCJ(CSC=IFU1)d&>;w70{^c{Ukh#~vMw!zh19oO zXQEB_@y8=GWKk^YRRmJ~8OWa}5W2aiz|mGj6!3}ypS0CDqn z6gRE#W3(rJ>U#1G)a)tD$!9Q;&UM#9!x6Qo8(OUUkE+q;%}2EQYWLzDG(i8%TmUv* zo|?v!!Qw%G5+p9OqT2Hhj7zRQwa+!STGx_*UommC?&#xVc62uXzYRQwrz>PWk-oLf zTF*$93^gcR0t0+`@Rp!kG% zObEJZakcMl$bvv?Y!2tXH_ zkZ=j~-g|bD31^4K7_amyv$69m6xxH_*dS*-0=5y-kAi;VZ;&GbEzD{WCMW8U_BlLyc2SR@1B{H=Wm>~D1BpoOWe2!;vz!}-l9Q#kuwMSEl!7VpM zQJattG2#$-yF09Z2Rw$S1mPKZj3X#DKP-nl5gLO#f;GOmyboQ-D=e|+@ByGg4Rn30 zeT51KTA~Z2z~Aux(9cnP7ataW7_8A7AM)d8kSC1YnmR zCFDU9`V=UOY7IPsA(5n*x!RxM-H~C|g;FruvgNXHHvo_NRC=!Iy z)o&P8M0sj=-4KXQqLLT^pMr<*j38`7P+HU-j;LxV0-dIP6aPypDFOBfl4pg!QW=i7 zH>xts3c+*0Vc25XXA+v$5-0+)M+WJtaO)yOPd5>dH+A`rBXDp%Q6&_B`qs`Xcx2|d zYL;~Ml3L%J&bVN;@wz0tA*J}aGuvXbp#UfiG*cnTval3#O?G%p5bYyZumkc|J=YoaxSb;|>BKAxG$W13gE*YU z)s+ol>s@Ad9YWG}FvK>E?5#(9;A@$GY8s;#!HLeGv}9WCKq=v=J*1(Tsz_Ly_+ytE z1!*hV#?fe4lXxt@#u3%5qo2qu$j_<$;r|Y-MW8UE_&e`a9jv^3^T7W4Yr8tlwM=Dy zcb<eWr7(Nj6ZbDMfYtGSB5;7N`srOw`O8iEpHRj|f51w2N{38L7~?2f44vbD20 za5l4woGpZzE9JAlfX%#;_OQKUFV`7i)@3rAvXn|Z-mD@rs{>d-G&tbn&uZVPL0ZK-YE4NXXN4oXBHjtj5~33D!=wx)!tjlZVm47Bi| zVRFzoXB!#D*tpbRB&NQ;t>3`Ghpp!RCS?mjcLb|_SES~h88-iekI+f`JHc9By#shH zXVo_FiEo({+OI;RFboAE@6C1I$22g|8oiBWfwkO)=^2O-CKT6^LF3sTUdQX(CD;iY zd%5?_YK_)0F`R=#n!q`wAcn&7$wMO&gPU|Bk-hthDBQemw>~uT`w3>h6e@QPDqNTxFUp|8NAu|Hd-Ns`N&ZptTSGR zJdpDWX$afbaqd4u3NiQ#@reg+#|phJSfkfBRU0oliJ`E3s5%wl3P+)S6=;8}Cm3k9 z&H-?_41G+}m=Ap*E>N~o9nZ*9XRze1!hMyoHSGo-ti&eF1-|plIQxvA@V?#l6m*$s z@sCbo#A6VN2YOYgMn6ybtg$HI4p65*SLeWw8obcZX6L0x%ZVTjE#`cdpl{+vQiL~J zik;Tc!CK?TO-JEJ+3Mgg`G_mR=1r4vS(qxg7r#!)ep{$6yJuoUICd9**^g|nHjsoD zG$GbDw%I#*1>9S|F)}<;*=3_}E7`EX-8Wj;rAUmQ=q^g>_v4TSp%MKy^CY}NROw^5 zo(G(1JXtG9%KI9_=1(C<^f{wgDL0Q*(08Ro?_?9v1;J6q^N=HyThP{4YX{HaLwe%K z)<>XjpT<-Den*!&$k4`Q+B=x%*9*c$TuH37>g;_{{%?cPjTScS5US5)FOM`T~B z85K`U+iG_hz;+Gu>x1VbO2`piY+ZdH9PW(gQ{`1nwZ^aeDxYd6EOm9v6*~g3uYxoykaoe(sx&&B{nNl7Ovwe zcZ~L5VB6QGn1=r+A7Uslw|E|ebrScpBc;6?)p+(*KI;nMv-?W!;5QvnZ`rm!Wmz5W zgaXjmLBphFZB8_f5M`;*X={In)e{ramfc3xa-a2g?r}b+m)$aIPgpv(vOQfQA0(8p z`L#^_5kmK~MBWAkV8#bDSl?$Ur@l#v`T<_n{rYLyj9eL4NMoCMf{Pfac&|0BP+}-7 z8HroC&cw<}A%^PB)tSmt#JoOFVkjJd72>Llsi?c!bM*)5#X^apu*@3<7c_%dr$zFbu`q!nBG#! zwvkopvQD}*KCq?lXC8=4?no|&Z4%;~Y-KX`MW_sHn=6#ciG)l)?>o z228$q?T%a&rG4U}4SR>UBzc6as-TPnL0cyE{iM`SaxRnr{oCRLUzgfkw~i<+sw61q zf&zVmahLX?Z&Sup#9o?Y-h9Vb3>bVIlmNQn3%DDEb=mS~B#6+(pPXTq)PEdkqino5 zCkP3dROu(q3P(;!mvE;aqX^Ulh2e?Nsp;jKnJwnGAa%8N!-mqCf*7e({E zmb_C4YeA+&A;hiDa7uqpYurG?pg<^XFUwrZxz@xaW;U>L$!O!XY~?Z%WYI)4rKPEh z_RbCIYbN$z9r&=Ym4dc5(-~&9d=vBU?a2%k23UGg|f?p=s9B;1D`hZ=_~l*;m=DsuNc5v1t`< zaL3X}*kisDXs6R44=7z0|GP91fxK6n+AX}Kf9cAIun;n6ZCM?^Sdf^5`Rokn`N=DuS>;Bg?HO5_n;EzjH=?Yv<`Y`jorSaqg<2HNFMGS#!B zM!OFU-LG!uGE4n;O7cHB{vM0;+E9%zl&KDgT9>)6T4Vd3n6Yf}=zePReqe8C-0gxxkG}{Jy($sV8RxRbXRm4(j+@qEwjx_i`moLYlXCf1$Ks zb@@`B_%nLK0&&_BzaGDpJ99(lcZ9AvZ$#~~HGP~?l|wct50~cH(Uu_&)@`}{z8YVP zvQ=a&QokuO94%wD%L@hN_t6z+_vnMcq!c%)rFY^Qf z%Ut4@O@6m4Y&PU)G2CcQMjb-kj&1IW5cjY)_gUT;?-=%w{>uFMNiC^z36&8`IRJEZ znBdcXU($!&eJIA|3niNjXpLVraNGlDi(!oi7Q>cUh&$`t%bsF|=2<-f^>mXDtR2vE zy_#V6p8oofxRI?JQ=XxUAvM-ylByp1K1U5oZHHIMdOnC;v9uOfLLSJAKPq!1M)!SP zf?NnGasdl_15vpE5xlfzy7hh_Y~P^#Z&jMLH>UO*$LyhJdWfO0oTXv``t@$B8_t}u zu`?%jkt^cITuiP~P~M>+uW{y4W@SDNJ(%nU9565vi|f&5gk$3aZT2-o{MLKQDAsKX zP9;W+XX3*Crt$TBiP6Q^Qf1M>Lv&$(ozGRL^X#9Vi(i(y zIK)K$y@A@Ti~QIQMWSS$i?iG5085$|@lu}7U-tMs>Q+j;b-V{{Ws~ANOo5?%6mE2+ z$Cw?S7^?NLji_em!48NbMD59&?_DU)cYdhdh>BEkoN7|%?T#VvK= zL8`SRQSxzLa9gB&dn=g54CEY_Du%&O%9+U=G?pF@G-N! zof5V8gCn6W9s3D{W6H$ad=I*})0%1A? z$zIKaHzE;n;=C8>~3|_37CC^_xRL|?uzeTV{b1-$Z?HceH-d-&uw>?3OGTwtcaes|(4IfQi zYH;3*t_`$Ce~>PJeRFIs??*1Vg;&^hi|c%O&+N#~f4a1@OynWpF}x)RQt|~k)?XF+ z3IZ$l)Xm)#A6pS@Y&K7D#;}EM67K~I-TCM~*8Khs3V^!85Px5|r$xZ8g2(WTAhTJs z##1V3$U-RU6$CQ$MwVxs*V-yr0Qqx$JH-{9aaE3G|0U%X*P3XjQIsi`rS^n@i&xr^ zxGlv)c=!0srnn&Hna(jSJBAyrNO~pL6zYtkZv8-`I`W!f}pKZN7 zqn(a|Qb5Q(#oF!!v>m|H=T>@r2%lm5Ikfk+@`IXHCSm-bBYGm~O0c2Gp-H zXtwoQ{l;hso(9K6zq#Gc!-sr9pZHV1@ezMvx*L2Ns#d>r0|g?`9Qz?FsaEr-eAyAL zJh&F9M`2iTnd*dgq|n4$4Pom-C=g1PV&W!DzPy{P$@hv|zVLKYXa4I{l?d~I*qM+g zF5F3jcu*I!{Ym*XC63ZehzM(iuMGK(_#MU2=*r)6Y=is3el}7OJ*aNx&fc&$Z?%Wj zW={jx7-8P3pM2pdL6}WF?T!$Ax>7pP*k*pa;#2!=a+`D&>)4Hi(?X-&Dv@A~FUV9- z9xf@5!O$F2uXweg**q2U02?Fcxx%*f6nG3z2~sggd!Bhp(s>SHa$~DKr>}Ce+F}y| zE#_lP&=r*Oz6j6yw}rIE2W#}SgVR)Nyjo#c<9k2YPa|0k@&ecU_^f8?)5g-!W?#*G zHu+;Ntorfot@tZ=jQ#O|+0{IVw>nz1g%H;d9Vu>e^5cuw(g3}G{LcDJmL<;WWrvU3 zwCRq)5#whI$MyY-ZOZwss?EHIC&VRbGY~wX5ib3(W7A((oas-nxhY|)IE<|8d0>=> zisLz_-0qnd3(pDC<&9$TOo!v$4dZrJZ@eRr*d!_r<^zCw-!OyXjDz4=3;N~K<|k^Oa|}?#b0oQQ&N3%IqsbU`t3OJ_Mt-~;4wTWh{D_!IwFeZtEsOW z*o6px2t-(rfa&Yr?G3Tz1NOX zl$U^m#)bw00)ms06jlCh$NpC#!GE8%nsxcV4V0s#mJ1LNI@$j!u#__C-ESwbi?W0; zP~8mf`R@y;g^-*O5Kv3;5D*8sl&FxZC-8M1gfH&!^55N@?cNmINlX=Cr@<8| zdP5c2+afSz$VA1sI8vNNVG1HdzjU(|R+9v#D3KMoZP;xGhaNr`Lh#-861nPL7)JOr5GZshWd_@eY zAuaHPF#2@N-GJLalkLS-6ysasYz4$wiX}{EoIi))(fZqs(-a7p{t%pPTJ%k{Px6lw zaxrKDGazhYJWfOAF9C@$m?;nvEhFgm)_*k;H?fAWU0mDhf>qgv5Re1ikVXvl#~@wM z!aS0mIiWocAJ20x?ePQbcfcC6W%)MJ2LeE-7*b zm)B|slB7Oc!$8&J<5*RR4%8SaabpjcKVEW2kWM31XZWA6fI53Oky!z5kV8dKS<

+L1RZ_)2HVI>t4=P36y~fTekjR(YtH4n_DyD8xV>aMmJm5BS4Ec~!ow&sC2VaZ zX~ z)<-bhv6t=?=?pL5VEXvuCp1xWEe?Od&4Xo*Gdf^5p;lx62&4EIvkjpNXYNtujNBCl zxYEk`VqM*!j7}6$1UTjT`RpjGWP;b{b%?hd3Owl;KNddj^bvlxFumA!Vo9#;ZBchx z&Kg|_3u^|>H$X$ED-jvmGwt$&obEzXa#3_5?ryq)b#z-N zN`^2d)?kiFQG3OpW0fFp#w!Y{^)D7kY_~NDC&WT%ZOG_-X~?qX#!NG!kj@md#1#Hi zi89CE7ZBw|%mVqyLp~V78a7;R_xFamk2x@M_J!xR{m)cBAQU1zA)&K9{ims}$Tw8e zAnJUZ#=U9deM-5*7Rs0JfTl3N+mIyu>Oz<$)&(Nc+zK~xSM_!CyT^Q(Z6E`fv7s{7 zCHLF_D}D4y`210ZYV@X|4zb3ha7G4@#46xYQ$)kK@(`a}DnIYczWgl$9>V{~0i!3I z%rEZ9HPXocB#&{?ODO|BWcL^J79+w>h0_06JI#nnHTQRa`C_?D`B@;m{7@d)u+-a4 zru^f>>Ulm6XTT4pWe&m7))Uo*JjxyGeXyy_O;P+otkc>>Dkxhbkwh^oi++h0AWEW_ zRpWg9_?D}C{MvB7{IrFRAa2?5j6P+kw~4+&WX`2N1AkQ)OdZ7q{Swpw)qQ>1$k*k z@%ShCHL&jOEXmcj#474;ATkv^Q!`m1>nzSV118NXnnlamFA#et^>)CXlI9>1P1tol zY+Dz+94$sWcLW%saC~-HKr})U?yn(c@o)susY`dCH;-9GgJPPH+xEDN0j^>x;D<%&_xX`UNp%k77-gu|)yF?S^ z&UakjYK?#SbbYp1o4H>k#Ru&>0Q|hNUN`mu^5DDN z{c@G58ncoExEcig3`K#e92>LFG~7kaCRHT|FLM~au?!N4P}PPycZl#{P@0fn=I@4| zxU`R>Tb|?rz5S9gsE#hw1NTqOYKm;iT zekfWauG{=|l}UEZp0Y8v*G`&bJ!RfZwR_c;PhsJkQ09+y4mSosX@qV=ghvdwjj2r|R*O?Oofe2QkWgE7R=O{R|lS55cB=yp^ zy7^GMzoW0pf}v5`z)o;Jc&J1OqSE@#cBi9JUl>#a_~&K8XQIbw5yYX4J?b7?iS{dp zAV(;D*EhUvR|;DGTU==K8mG@NUJNYIvsfVTKxqe!iH7| zF_~~;6A%73G4xaT zyU27A#)Giu5-w0;JlPe&3}B$+%kMz4NYtvP3G$Wp<#=OGKNHhsFz9$2;?j=}YA{xa zs7Ov41Y*O8iY<@*s&^G7h{NRDPR@D7jk$kb{|e5;_-cf>9y_`eMv%t9StT-VM~t#! zBzSB%w2_a%V@ygetAQWZ$HcuCS~6-FWG1{mT{_ z(=equB++XwickaRl+}n6qZEd$6Ssu?@9R+3&-Tl=g3;E~D&W*1J8FCeRAgZXv>1s| z%qPwN_(w88nB7>L&J|I9(k(S85viezL|z%Ih5k!M{ZjnbK(9jM-_Bq7EuPM$A11M^ z7uY(L2Rd*Cld;&QNVw*Dja9B@S5BS&=Oyc46EAFwr`;2u6dN4OaKRTEDa?Mqdr@3n z0+ry=_i%0F`>c|>imnGfyW(zCtjh+;(2MnCiCwyKtY55YpVCK_#9q4Xz4fgL>=uF0C@=#{4Y8D`yii-JJZ=^e1Vek}6$U-dv!TZ8-HJx@bpb zK<7PX>3Df(c=V-@PO@>Y9xwt`J>L-&#+9Gz=-U%0iDZ$Zodr@gO}@T%)(}?)9eM9V zbX1!Q0!##d1>}H$dWx3`xz$8!nhjfa-$6ov%mW@zI1=gyT@Fo!XcUD?>g1zDzNO;s+MfXjp=MHl7goj>Q)5KmocZ#)kQ2_)3QZ~*j z5bnZHtb_-ksn!?{ILR!HGf7j69pxIdxLDF!RUz4V4T*~x1017t+4s4_8H?jDhiFN* z_J^+jz(zS2rB7V~;@xnhS`0d8#itYvD5r8KT)ifN3K*dy@@jE&#!rJ9 z#s9&K8cDMh@;(3Q2^!jM`=^n4$3V*8R0st9AFeYHEm}QKXO9a~I$fsP_Su#&xo?zG zr+DabHfJb@Fiy)fCe*dwHRp`M4gf`X%m)y1_VE@munICz|7y1qV$&0^B6WuNeQG3` z6!nsVCP2&|Dgcibjzx41uQh)KOEh0W0KFE~=YUhD(NSluQ#>|mfZLC@lz2CdyF?hNxH>0d-RU<^7S~NExblqU8j4j{mImMf6w$=>pS^UKA`kyZyp>mf) zv-!eEedQt_)Rqkaa318C)z$Rnw(0FS-YfprV%$-%5AvKLPHtXjf;{JzWK}1ta8elJ zIW)Myo34>v+vg82@t(_PK}iGE%r^w?p_3*Y zkTvC<+g@Pte<9 zc15O!>beg@Is`n|Ci@);&ZL8wt*o^Qj>RpKScAGKsD z#HH&ynj&{|t){-#YJ2}KN=$zWzBKk71ZIgjO$5X5RAR_EaGVt6zNmXHv(Ndl0?$Ba zsee~BvZjch$W>_d?-MtM(DeG)-uBuqE!1lX>8tdw(UzrzBi_}BK(}*51IcQfwrAGl zb3eSUZ@R8G=aM;~(+frSUWpZCfF!)Lc$_bXZ!e?&BrLqMgX4HWA1s-FkLtu{uj@9N zk?x{TXIz>Aud{sqo9o4UV~Cyl+F7LR$%hi83g=K@-)lXui}`A|qmtcNZ*{#(iLK=*<|CNFBsnc>91 zr7a`ZXU1vGyjQUg!xxO|;xAj=y^`)T-vXzq){{?T+ZHE4^WVkLLgw&{3TdxO-~At~ zlyE1@K}25+<)h$qIUaGdbE418gz{toCX^14zP*`~{ssIKyO*a?g+fTm%&hjVvfcnU zl~4Hf!K^{FN13rAM^eEOi?5wmv#Nn2*#AObAr|V{BbzvW9*nbHtCHrNt{;U^3}ONY z2HgCs^O2N~01r(JiW9d-(wwN)`y>hW8bh0TVr+3UsWIAr1W+@3ehF43>Md71A85Cua(b-sc^I#J5qzP>>+~W45~orZsVkX zZ0?Q=x%?+t)^9BMu%^sbrMrBf7&x7d`#?$ zbbFkNp6hF8ovZ9N$`yvmm3|cp!lYT?S_zPw}C7)DSB){5zD)s-}uv9u+uA2lsh%d30h~2Upx?& ze7^+-Vb$%DJC~vw{geY00;$A6QXibNLK481bvSp2}q+e!KfAxHTn+?wt235Kwp5 z1}f4E-ntEv>{y)Utw6#uql4O?i)HNq@y3o=x{apkhlsVY-Bp8pq-*0m16l9&{ERqx zQP`y(I7ClnOYl>6a0U=>~??rt0Q4F5mYrgT>)%9R=MBBpTWQgxd670mOfdq zBryO(7-6b6?0tm9T!o#7GL`w*v=Fd}2!9i21&^aXlTgG}3>bLV;~pr=>_nlyeX*Sd z`3#0b%&(U9Ve77Fp8m0%6S|}6gNzWCTYDq>A(v__(Z@Z`KXFUsyS4Cyh9K3yTRex9 zH~@(6L93@wXrXRvAjYfQ;wP8Ef2_#$C;6H%s4+x;VLD5${L(LThIhmM!!%3r4$b~fFz zwA~i9O;g1EmStpWL+w#C3+$y#wmT3{zEjp>$j($IlJ>adHEw4Ze?0rCYaVBZ)B&%Z%fsDxIaOJhwk`lfRqcbPXK#U z*4M*3bThuQpgLG-*YFpZq?bw6v6t}+SAtQWX~puC?M2Ej*x2p3;3j}Vdu=Yf>dwUpAEC>65cO%@9bK&I>@VQ`6x< z?M{t6*+Ty?91IJ%0O@rS$x*~$vgvzkuM+=I1Y`sRN3`{iB&=dn3rC2gOS-Buaiy24 zmgrXnBb!Neb_1AQ*-W!)DmB^Sp4F@%B~tA!7Q?J!t7teX%zT=}C<~tWCCdhe9ptoU z?bOrR-oei5xqS|G9}5zR*kS;*humHA?j0~%oHzRdm1*r|JMCGDR`7eBgQmzc2N&cY z?}ut_Rj^h+e^ozTZs*hXNBj?0f=<`8J?JerqlyxQ3&<0iu-fakGO^=^#qTARbJpfF zbCJ_;s#WoX(#IztnT?b_g*Ep0sL;r*okDqx%uD~NjUl0=&v~rn^~C-<+lqTT(3m0Q z@InhJ4XUsY+nsK`%2uCLty!NjVr7R7=CIge4ok+vAYP>hi)>h%#N2H~%r0a^0pngU zmB9rfVSG=qK;uu22nod2>j<$X5P3$N1rMY0hqx5#r_pEhPf1OsPT?$KX5i+xUD)d? z(2_G%@1o1+!s%xZkOLP}2%4NXvPG00hMonjSpSyF)PoPq5_sR0ujn+@nCd<$N z%n$NFb_6v$Q{hHKXqL6IiPTrh=6@k({Im#_1qH;HC|iqhd2ozC_q`s&!EPU@N3 zv(is*Hkk`ONyQfwVQVe9)t`Em)9>z9G_nzws9La1H!^MQ-5iN$wen$1kkCba_t-k+ z@-3ydfg>8U-`fLS3;)I2%KXA=$mYR?IG!&?+Z_y9uEyn(NAU{P}>yhnd=>T1U%qX{_ zs1wXsQ43YZBI+A{CI4WwpGxq&>yAjox_~?zNNRCF%o4tsZ z7TmDHF|ylZvBC;@+^_i{SEKvKN0cX#3=U0^-9NK+QKyZ|f-jVwkM+akVQ7+!`T+{Z zO}#r%q=-hMxMUqo=#lh7h7|8*KGcPy}pp2EG2EpBueRKmcQzx zMnQ|)T6iwlY0|^M5bxyskUIb%GN_cZHG{Ba3ofBGUV-umx zAPAhrhneAm;z__9*gcZ~o?hWFP@@g{U(yg*BF9kKDXrxu)`F>G=RK&vAw(h+sKYdF zv`kUp5<-85meeboWoT}}Es#fJGl6SRET|~=v)IP*BxwDTxNv2bp9`$cpBwW$ZoNUl zR8rlfsPBoqX6W&(S=w$M&2l&GE{e+9TKcS2%2BG)h-vc6mQ&NtLI_$7yQxK|?)AbT zJ!!C{w!lANL0cE`_uMnqliXCM8-xCJjO_le$R1>m3%u8HL1|c=U}DG>j|` z#uI@NRR0PnF7z#MMJ!i$*7i=V7D9HgAV*~xd2!k4KW%e?N>m9FCK6e}NRE?Z4#Ca1 zL}2i^ea|c6Pn<(fx+;Q26QiFhs^S$^;)Vaz)Dg_P}lWk{zgXJxA+Vs#LlK? z=;wzut#}JZK;6K|yk%zsQiKb-R)I{zb`)Dhys{pLdfzLFwsrI8F>0~#hKiEBqc+L$ zr;3V*GXIUdx&9nsk3{nGTwFe^_5%s=x>$PXMHpwe<#6NuvLdfgdFEGZwa@hC-PfRLJ`|oTImI@FBC+Mz3HdEy>&ubR|(> zwqIQ10&7bsRKnqCHP&ix5KxLtl!NxxTyjh(1i=&GU^=Vy{__eyRp-5BNg4ULh`lgB zwNyV)kSn9D{=*aTF_I8u9K4CG1MlWfNcDHxb{NQ%kPvS(RNa~6!4?$sb+9Vkll__B zG%V^?34vW&FKvXX3_MfAl=#R^MC}0c9rFQp_blS+_`IU~+go9r?ObbTsFfO$5EbgQ zHgF&LygMJPqt;#pT^k%L`S)6k5pC`1&!bYYk?zc=T^FqnT_59)9B%({oiUo{{8Kgl zMsEr-Z$LDA_u)y}D9I<6&cQ9w;E0zy!}Uoex&PH52OMlrR< znm7N6ua{dKlQ3&T3)W%he_rNNq=-1fG+Ds(*c166{%ze5P289uc^c4P-T!u zHlZF><#2~R(dMQMQAyM9dznCgL6uAi-*#mCqZj%Xh|F*Y2=A575X!Exjrxh4-Nj=L z3=~f=5d5zwFxH{5Z*&AKEoE2*&3yS%%_cHy{`-sW*R)v+07Lc2=|C27NVgZ2&+~&q zgZe}+hu6vGiP~-#T`J@#6uBzImT-mnL~h-N2xX$^*?c1{h+Ze{0UvqKvC;#6GGA5) z;ul#m_g*jQ#|(dNBs$ymc}hhA)+As&lKFy6^uz9zQ_y2;a6f z_>({VxKSk!xtxzatq)T(PU zkzP%$g*n5Fd~)@ReJ<*5Zloaw-Jch)BozJu+>ok+mct_4R)4P)b&6f>lgL!Sy{;{7 zX&(j|nB#vurS$c9_GP`a;(Rd3-?}=Idm{f4kHCH(W!>gp+MSxgm`DiaE810b4Fdvq zHy0CW5xEDbCoQKf1!h-VDC?vRU^}nOo9bNFs20tigCmjy=Rdc*o_Z zJR3dzOXQ8VWwu%(1ahYtdbf%vP$y0@4w`Pp7EA^Fc}^NzkRCp9Cx(C2DakL01icJB z-7tIZaf0D?=JwK<2Y!3H0FfT@Nrhe(5&jxmAmh#XfH@=VaNiQH3S?D^tEpS?6-LH^ zj>Imyq}@B^ZmHYK1;%2u_a6oFhtoKlxErc=UztlD>J6uTB$}&}D|ukwjh)-6^pQ4!yUiLph6SJwaz|yWSgFG&8N5mqo`(e`=(EAY^>B5?WX zD#`-uSA4P849BMHT}BCBRyE%4J=Q?;N?vXhu%X9Euk%Ac0wVKVmXoL3MagMs~ORI?K|>Wh34FS6zhGFA6lG-L~8{A243}Sws4IDJ7OhL+tmQbvnWeUrYhVE zV)Jo$Bo`zraxYhrwTVQ%5?m5@VzVo0LWmqI2t#DM?>ROKt2a6nQ=U#17LBtXxtp0}djEO|$yp3!dfGN>hFD0+*FDjtr0e zFB8N56^HF9!+*fy+^hK#WIW3wO^Wi{zt~rV^zNtpQPRE(N1-DNuf;vtTlmO{Ee5z3 zU3K2wLeb4=zJ!QHR8yK0Pf@YilFp?WtinrxR9vZKFWuxyq1@p zD9J<&d^7ktianNl)&zJd>`Q_corJGz1WC0>nK-wsQd3k_8p6go&j1q#lCA}?Y)lyG_uv;P$<`_j zd8@J{xQ;vbQ_REQk=JdF&r%kqYA|RSl+ikRHeURD_qpSKJrgR+a`Oa~+pOze=BVP0j-K_T# zdP#qyz)Z_AR}^An%5TRGs_UVPNbu;e&%jYJWmdR(Hv5W4ODGd5yPAHatXj%fh#Rht_C$GRLyB{r&`BO;~Cbw_0ly{A$GbKSHvhMLo?r-4T zobuIHP7eTXLcMfW?ubXrnuG_+g8P-l1laJ4du4 z#OTDy4CR72r&Fwa1*`Pt#R*0&i1K3kcmt{9rfn~Ro~a>G0xqS?zgZ;>wbpn~{S4RA z>_`OT$FoO1Yb7-E`kG)mw371pibmT7x9>9_Gks1l9QGF3d;tS|K@(?7%hx%j$qEl5 zJu|Bxfq1y>j|SXNYK71d+D7HKOL?iR+CwsMyNk?&RY5P)&p-ZgY87_I2kJ*Tw z7#ynUrP)}pTHAhTJuh|Lx+l&=LyUEMDQjF^H155Al}lLdTIF7&OGKK9mRw+)*gQp@ zy#+BR%ao1eR&^1yfAP;?*2mMkP@-@|W8gl?E$a5)^t zAB1%|vq{MMm8i+3_yF@5JtDqC^cgQZuxGB+J{^b2b?QYDT0oUcc-K@hAn3s_;7%xe z!}R@GPUIoQI;gHHtF838QPY&C3K&M&$}Crnvg&xTxG?Jqb z-?d2W&cy7i`@>)D#`qdjuJUpEzTM8tTCkQtnVC>}J+EsiyEmGbopGw=QF=)RprYKm2UWY?E)#TBEvDRM=n}9DP$NcPKmuPS0tD%A&vhK*7 zTi}<;Y$P*2qet}a?Dy|Ed)5r9&Lxvf&(rzCZrY={m78c2)s9qDj5yC_>YE6YGu)@~ zzgDc;rUYyy&tyqz#r%oE+HK=#NCsc1`<8+mmK$^hHF!B}`8f~Dmb~7R^n%*2) zU%Yz@#}q&QbqWiZ;QVOgN3A%DtdYVtj<=$8eUPhvZ6?N2V#EeZDXo%0z&Q>gZ*|}} zqd@KBGLBiX4G@#svX}-PrWS%3VR^{(v&w)9F@Ub?K+_&-EwpW|eK;rd;jPZke6qjL zDc;#SsH$rRck(h%w@B9n$l^dwM$^Cdfg3=MaVVwC4O@)Tzzxj@4|#NcaDk`T_rZ>_ zQ1h?hOi)pV`PTY7b_^>B-^=+@5bCHbWA;VT{MbWMVk<^Iu7~oXbpa2v;aUI{&yiWV zHur3^2?kxEE`=7Dxhdd4ZYsQL3y#d_ZKpil4fe!W>+We<`;U@wrc%6VG**21Z{bD~ z(tOZwJ<<|OkH(6AUKawUx9J2^Y(2u|SC;A%yyTKvC;rkEq z51hQ)mr@uY;PA2l)VgGWJ?4t9)aYuk>OTMT;KdNk3uCP(fb5!6a~l-j?w*C+pY}N3 zl%C_Ev%KLXT{6?dVmLtOq$+2ri{oPHUmT&kD~1S}X@^8<=3Q%GW*z2v@C&o&N?5_= z)vbYps`t-j!B1gs8qLQbVaApb@BMCGJ!9tXGoj-#{g$Wu(X8KCh1-a^B^59SBvs#$ zh30UT6%5B6I(jHN^4uCWLMw0f2)y`>s{X!>{MA299n2`*Rz5DoMB#y|6#E3uVU8jF z2-eq)n9YZ$*+rf2I^rRZe?j`?Fuk~oH#SLYL1E?)!k<(GGnBp-_?eT&_Ylv@^%5F& zPKtGnv5wWQanC_%b1P~;B2oy4Pnt_atxIjqho2Hp_T?e7_pO0c{1&q5yW6qsk6IxzSqcQU5u{{eIcBO{J!=U zFHS`HCuT&tkxNmdO4sgd19RJwr7H(lOt*%~#~QDD>zG;F%ZIY;9$|+-_PcaKy*S*8;47l&48+5z&9#z>C9I3y?<#`>7c4u! zt2_IT3kR4c7gxhB_M9nAe?Qm`WFO;B?=!EuM+D9O{@@*|3J+I$cn$`z(vrjk;3%6n zMJJYhfjdW_zQ*2NA)NJ`Yk@CKLB8n-U;E80K8qhyAcEHjva(tE9yTVL9L=EoSE^U~ zS9&%CR9=TQHBPgGN`;_N|F}^|?0Hcu0+yX%b(Jymm-VJNXlm6EC{1z zE*{b40{EX0z24{wLYhDnwzqq1p`)UFL}o2{`b$;mDDGrEA@y;-_MBwzEKQX z+t{v5u}g~ui0j>t|A!!H?qUaE+)(0NV+W%D>};`%?iJGjI?_%kS$dZC&W*jYo{_+~ z{xwYsrr1eKP34pMN$EP**S~Zyn2bTrIh{4pU&#QA`c)a8^j+Fx%TdIyfAn=BW#%Mz zM_Z(iYDExf4n=gEymY%0DQ*=Ng;tV7gJT%*NB>|1bl{d!ssYs9SYRz6Ev-OxaXhgl zz2NU7qr#-JLWol6t23xmS;=k!K0{4(YZwnn$9y=PhV$cFdmCY;S7b-Vwhw}Lnf|Nz zI#&Uk&MBIlCoZX-9*U-3T)vi~FBKuUv|SkvDKv6<6AONa5*(psa(kM&> zl&T|$H0}?zR=dFs{GH122>osg6BENSF8`&X`A>s1NKZCxfGB8gAnwV0!wjC@CNmCy2+nGQ7RuWm)6=y)zz0w{HnQR ziMW5Af_g39w`;@q^U4e7l?6eE(h^({!b!n(fI2$hcMr9r-|uhLen<(F!`hC z6qS=cC02kaQEi_3_w}p;)bwzof!Z=GAKP2jai9V8bu_>8Lx#eG;$5Z%F5cr=ugbBC zXktHgVwW<=lV+BA-u~1D(fw~+DWkhaBjPcm>a8~GkBt@>*f}zcT_&G1PA#|Y)vJdD zQ80NP%eBE+Pmo#+6^Ln{B(WBAPQ8$mp54&<;D2Z<1X2?^nxM*!pSgkNXKxqc(&)#e z7P8Wyg@_+Mc&Bd*qfvKQ{3CrzazH1R@pij54i*8wc)&x-Eye|0`c%&z(}#>^R`|x5 zBwLe!$$sOZJ-leY;Qqf)Xq3wRWPL*gK?`{~8Q-l^*y1wRv@{vJ)^$K#0zX?W-M%{S1jwuR$=3T9Cr-7*icLTKt=D-ahnH9A_({sXI0 zX6ybAR8AWY<}di$=sUWEhm7JrTkea{U)r(1X44kSC*|i}w?iV(;KU%ZJKM=?MgK}vO zy!FZW%a)Et4`?;9I=F;YIn2pjCH17RF}i-4>yoCi82ntWt~}k4dte6X3fGa9{=nC) z)&6@tx*{P=P^t{@=7NjJWJwXY$@`V&Vr{(E?%cR$a!li(vb*DkS$yMVQ4pb!)ETG!M6)41 z-RPT_v(&206_Imdr2Cw8FZcX~@|sT+Gc0ET6c=U zH;sN$%QATna|VLq2_Vz^#3}OFgT?16UlyB+nuELR4U9EdU{c&T`K(uiL2!gCc5>GP zH3(+q@-XrxU>#Bbo#(>x9Ncw-I~`>SPpu22Ro-4>!VKdIacc`9;#+aK^ix{9iEAAk zw6X}OvTi{*_V!0|8;Dw?9~>Ej0N*qI702rfqN>T=gM;#NNHt>8jCcr70W2hJ!*Crpe4*2{X6QcEsw(6yL^oj%s`tjc zCzBkmntVJf=?|CII&<7vWu)tlEV^<7mdhRYxD-T0%>H0^L2U~QTC2BQ3pd{Be7Y-- zOBA&o0tQz~Go%if^TS%PNGEmw>b*IXyn@|Uq-TnRH-uT|p9@d_Gb-v4%{YCV>sMZ2 z1)S2CV*gbLJi@7g_8&{hP#7i3R2PjyueHp*m`E|}TEyxcV%Df?$-JVYvkhY?AG$6H|< z^TYq9s*n&yXOn+aYzZzk#eLQe4uo?2h@t+YL32ih9(zUK$Sd_>k-2p8njVRv4rA5R z!+_d`--b2F@oG009O{Y7xs>b5MbipF79en9;Voj@adrM5>C}lQ$U!1E=$_2!%HBwv=Oq1x`JTEp6w7i?oJ%7S++V@VqwL)u`St}J6^=HR6c-Bi@kUjX43qubJ5L9J&DM z>^wU{URE3d78e!-1O!1+LR1k11eE^23jp=~#KR}n<-35fm(Xwm0U_c1?*bJ|VbTA7 z2H9xA9;pBelA zbD@C{NK!CQpN}$^LWMR13b8H533_x`^4*yVE?KSHeTh%-EJHi4ZcOa9C*_|th#~n232H!k}{r&ZB;`Z`5 zNVFp``Hu5GGFFW2F|fIx4;3RRBxQd|Cc3wAz-{Xcop1;+nHu{fx%KsHVb(g}(-PO=u62O3UM~L!LAeoJ&q5}AHX8S`% zWw5qbeVZ|vgTFCh`}2-_LF#%-xD(~hYYf9nVR3M>%PaKxHAx%A80yXm1F&Cf(itj6F)nOK?2l(Sx4O{DV=ix?XeqcB7JbY!8 z!d*(3BQ~7N?cjFq&6%{;veYl&{sb$$25uj{p|FzA3cIexP62j5lS*?51h^+-^lSYEb562H1D1MD@S#=UKCzi!&VaAF0c#d zN)`-KR*Ji;>ig_{*%ep}uYfrqd>rD{_gTsC-m`?rSX15UgWV*YQt;Og{h{jMuIez6 z2tF+Q2plk!3|`>TM6B3m z0DTc{HgEKF1LhCxt)bn{n3yAhydJeeDy(blx`~I5NyF*<#ba^7S@LBY@FaZ?mh5;! zQi<>@T_y(5RgN1e18T-rVnr0V#RTJ`FA&I8~ns@%pKEkoxi_cQ&3SaDwkS_zSn= z0PV~Eb_egBaQH6c0+OV^xLHMgH$6*hAk#W>YLiguKzAbFlkV#e=N5+s9WvJEM$Bs>Tb!_e=~7ep4+u?<-`il@A18e52IfEvf10Sy`Vg_WKuU=kT}}A~ z`BPqKi~P(dBnn&8E#JVD)FqF#_(%+*DPycZfg{eI;>9vae1lo3Qv7cx+IQiGU_+(~S$P3teL#^Gg@Pn^URMo#7s zg)w#cC9(K#h?uJwGtkOEDVRhey63n;Czp*bnVdesLJ17PmOcFm){X)~)o)O$5%kX1 z;d}-vW}gjwLYzVxzSrV#L+ZrK-PP#79RX#ISGCey4M5syaP{B%=`d1N037`_QaO`T z)iGVIVukv}`Z(69OO}y4kOv7qfEiPjqsEU~(b{YL1@;2x9y@1Wqkg#L7aS6X;=IPjMilDUd&bB;-MH}w!KdippN+AghBVCLX%o}+0Z9&fsi zx@1wiz)t+1VTg6+k?ZBgMVBSoCY08)!cW-{g`~rkdTK7`&?(I1XhlLF^pcjTo>tAVA=>ZHm z-s(|c&5$-sLQt1>A2?*{I`Z}Du8YzW;!Hn(V<$hTSewSuXp1%ZkP8s7n!o+cOVT%c zM~+zBV$wX#!YuST*lnuz?0SNxa0QYQ97Wk{31#>wUzkt4)@j~#@m3@kzT0erw{+`t zB)Ec!#9{ZIf=PMqJ?~&+H*})k1NH&uY+D0#5nCi%0%;eCEslPA7D+hYIsb-?*QKkqZ1&4lt-B(+S?8}Wl4c%>UT|gW6Iqp)vPjw; z?>@F6$C*afBkKG1M^(=Ee8E9Pe1LQO(k{ba0|u2)yRNw+nn<5XHc>0-Fzf4eWh!9E z=~nS-pN3qlFeIoEt9J)F3!4G5BbTRUS%jbG|kg`R2r-c5wo$iBPBLwx3B@PyE- z*86PX4et0S&B&e=ZbDNSSoMfHuRzq(JYdBY}>>!v0o3aH{ZW&0Cln z=y(?QgyFC!GQ=ncIn;VCBXQBf(r0jO4R@X+!3`QJCwQRf*bBL}6#D6SWxM<`+DrWx znqu(Q;asxUOO!`?TAMnF^-eX+lbWcdlTHP?;H=5cK;tZ?%I+i&WbGQ7!0@@5O#0{#E#M$>O(VVHQ$6iTq%1@BC@;~Vot25EJU z+2Nloj{0k=pr+Jdub@1w?;Zyd&GdlAo}ayv6XEx7^yM(rt#HQyKAB=_!U%z^mg5(! zuRckTi_Dw%592w_GCs zK(HsY0E=R~+R%n_k`df~xjN@hlm7&cpO zQyjkX`4|6xNI;O_>Mo}U5FMv!*b=ZRNastfP^3R0wm0V3uwP;xJ7W6AZEjS`;uCo zFvuO?-fE#lJeMJ!@6z41JSE>90m`mQ^5McX4k^{xy{}AxOs@)1u&l;pN|+5XD1wc7 z$;d_mBmoa+V?&Ry$5`g{HLyyic~t)a$n5UJNy2<3-fve5mIp~-p*S~ou!%#6`S=Sx zPPfL~YRsd~5%M!LAQ7HeLMf*P`n!&>#0iv5#?@!&Xp}`N`7#r-5RP%^O)P=O%^Z6J z+&+uuM=-Jd*V%vS0m7}ShmKnU-F@1iO5xkzr(df!i(*wWd|(>W((3d8ZlOcjMv(r$ zk72A~)_?Nm$f~mVaKqSl;;l$NsT@Nt2WH4;+1rKjLXtf94Ec-!{)b#UZ!?4)!|e}R zkA;`ZB5wl4GQ99VnqwxIm2^#J43h#9#XyEWQ)cHVlnPl1(wNDK2G)I?WSHu75I>mG zhnV7v$*F+%V9SFaUr6raE`8+zyx>9*RiXWh%TWKTw49<|KHDMx;z=x5qAkVpI9^Ka ze9`E_zkLO%;59Z8+bn<3Mi~iy}1HiLf9nqc3Mqsgdh6 zd&k0}Q$`g$;W?@sZNR_Bx$@eqkp3w@We3qD+N&$HR%VSYd2*`${DJr_cJ@#`n3BjH z1Ds=-nDiKxdd623w>kvS>DS?C`<(Na zNC@jGSl%Nzz^m5YxxR0idc;SV1hZF~c_bIzMq$G%jciv^5TwnB&+w3}`CHX@QrmV@ zq410>)F6`c}$> zP{Ql^ojaJlW-KqZIuqG=g&sO$&WuQ4$v{~C$to%GZiv=MxdWk$y2dxTg|D9f0B-{U z1y}1cVCAQZg3_)7MtYPz0%;i_+mI*A;<&nJxe9-pP8-b5aUZf;L$F-+Jvln7f%c8$ z%7h5+b+3Yc*Y}q%U?e)s)vw(un|wTypNSmM+h>pDQY%at-*l^>dtMU|L~G*x#S`ND z!G7i>*YNx!27Wcg+Yb`k^IN}Q<;uz6PD&S}9n8B_Sl-$iD)56l3u$h_3RXneS3fZZ-l%N_>0E_$kf30{(#f&#Ka}aU%-tM7phoip0vd&hsQs zzd+~0?LtwV7K+`2+Br{P0?==B>w9{zEsH%o5K)W9G51ug5pC zOAs>5lc@dQ3u_kQs=f}(sz3<*%sQj**p%0Wwz~CY7K^~nnO0;cJSl$utgD6qHFd_% z?>2(WCAXUr5QFLea_{(s5JlJpQ3CE`jWpCYaQb_+lAZr>5GGP}8x8!35w97z2|@y&oZ`^bK*r#HlV1Nf?$Bs@ql2zZ2>#NZ zAZ)J3H~nQ2%>rA$dU=y20@^&Cgrr z?mt!mXAqmr$v&qFOxht7#eS_lfBd|;vAeB>w#upquD49zZ)_|Aq6lb>0Ra3u6xa9= zWa^;bHV9$R2yW2>#*gm}^A{Aif6cTSEY(z&Rq{E9fjVAxodmTV_-;b_OV(+kaF-g=M(fDJ|MT%C=d>(V^O zpJBt5L%UPnaj!jsN|*iH^fFY0g!KiX$!~J>Zh?hrY@%>$wzh(o#2+T*Cp$ftcjg?<>+gFxkA7RMICg?95h<|%=!M7AYv$+>tr+xD^nyq6z0aT9 zRYg)Q-MMHDBB(mn5B8ysuZ_lGX~w&-iuYqm^b4~m;8mn^dm?DcR zq+qE<+4Pv{oy#L{brCISImylkLD4(390T5L6P{Vj5EA$o+bZy${vx`3*E_^YUSK1$>H z>RnvMGv~6a23KcGT6cS%#l_o4fY`2YG;tMd4(bIgB9=(C2$)74hx$+IbmeDHA^M2; z_OeRr<^^vjXQNcvgmZBOkszB&wSbR=EwQw~jT+QC_RQGLqLjxzqAJpaEZVVbt`o?s zn|G&3fkFlugb_byFPMV;VrN$BV{9=dLD)DYkK10zVD%r^>EPtYooxJJ3|6>cZSsK- z><*T{Naxb;K!Dvg$Qzua&>1WR_)roWQCg|B$L&r^&am_%I9I=sb45>8DUFxB#ro3H zPf(jwc2BG(1y_d3h&8_PCnQ;^@d=A9@a_GolVG@$j=YXi=<2crB`x#zc^?OSO|?)8 zT3}U@qtokNxAz4svOb-M{@qujdTrE~c^#$#Cu@h#9zdFdS=XAE+6Ec%o5ut~gASS| zIMxfkqFdk4l+UT&maL%4O3w$`WQaLQvnkHaE!6oe|E8+jEB~1aFYznVzaoL$AVSQS zMO_vq>Oi(4h^M~hA~>AquDg4PH0^Go$qnFYJpRlY^;Xbj)5+-tADVE%zI5UisM6}a zr@xb&IhploWsQ>g7mPoT$bc-f@8E?9cfA?x!Lp$|m;*?KU)pOeEqcO## zl=QDBUR69{X`EOWXe+!NOL_Ww*vc)Z+7+j|V3XfZ_eJ^a+{O42~%ba#y)yu)>SubfZ$5F8kJpHwsH^6eYEYI z{P?@*utD{&(lm)~KTBVR%yFIaYMj?lckDAR@fq#g2!g8U(*ReU+yD5vCwhBBD^TWN zOqF>(g~$l~Tvw%9?{97Hk{Gifc)x18TZ(8jnbQ0AXDuA#fT+5lHphOa2Z6(REMmfpdJ0V{q?rOs*mMIs%TCyySn{=##U$mEzo5hcALtaEq>ANdh75yKXPT6=g^xasv?vCR2CFsO&MLa1^`NSw_!Le&Mqlrx zLy7ft#;MlJ^4e+UU!P^cPbAVJ1jcFVG|N4^0NuJ^Grciq-TT1-CZo^9rE9q3&+LGDcq2r4qtu%na!J zbW~K|!yP-nvlL&uGbNmm{S6~$*_o4cB!v6hD-r6suT!VJig;$yNlNB*{`MwP@AW4An-)$pS zJIrBKcsr9S#j!Nd$hh%erzJ(q(9b8zCi|&F*2!hsXjqPI-8%nn0h&T@sRmI@w{Rt_ z%q0mC*cqkdNN8v;H*(2nq$*%a563CHs~;n-LB%AmaU+s^7df4dss zMaBtLl8^r#v87HtT}D;CYK{A-rUqsAKB$@62>LtTtDT7NkxXfRMBB81)j@zwOo$p_l;m>G^$=64W6^)9_40i|qipJGjTkxL}8j}K- zu}t|lI`^Q=FqS(#TmN7pTXUXI8*I|rPV_WmaUR4Srfd*1F>9@%?y+lrR_esuPIgpp zE9KssU+JYhxFK*$;6+Vl*vQwsa2KrpPtg=>DOJ3xj3KV03a!4cE38-${4up~-`kDv zNxaQ)kl^FF1({fGwBt$$7I>5mi5tXkC2#Kr_C|R2OMG+B%frH% zqdb}+4{jN+6sq(0zA4>}kEgY7pI5%4M-O+VkEp7K`a;ZR8gIfx=tT%fUx+?mw;jXF zV?}6f3)oz4nFXGkqqxd2Oq25OnxWbYAJf?0Nn~JD${b18RcF~jyRZb%=4uHK2eU4D z%*~t`(}On3?Dt-csgQFZZc89x50Yzuedhvhl)#0*P5-G8g+(Q@ZcCv{62m#JYPTf4 zB^ik|^1N*H)qJWZlIdQcj4B{S(~^Pu8c)5V3u@<1?Wfz-ANEyG(h0opKzxn~2`s)} z5czZ&T^v73;l(|cUW3}D&;Hu`=UX6@`5M(i%#eVvK-kr!WX%RH4E$RvKX%t)GI+7v zpKVABJsdj$I3ZprP=oS!9M`%WC=wP25-}*zRXI#!z0s_*V_E~k zq;#a6N@iGBqs*mr=bUOwSk2Bhw__zZE5}5hUeb;nFKKlwF`1Aa--FKQU~5h`8^?DhhhUK1GHW%x@x`X&=(^yKr&BC@k#u}vru=!KZkj}^HW z#N+2b{;D=UOE`RX&@@`}DY=-pDS|T<4G>mZP|LL*{WTarBxC{+llDKtRnDT3SrffS z_`B}T=wRy&na^2!%Vb*wjGuO#VX3r9Mmu*E$d49Rf4FxyyOyhQcy#Z^AJ^qxtW0Dp zs#!j@VAa&ke(=l5`9k4d2f3PwXzV*4iz&Y=){%3q*HuKu<`)Qh#iIv3uiKEG+|<3B zHVH4*nY3f~y!Na@(0TDpkS0&gdT(x3(z$rTlclX6%j^i%f`au;J-*?NU0BRWYh&9H zS)qLbt3SAqrBq>lqs}3$$j4U5L6mzc+$z@HFap8`d8uS;Eb^LtlBX9)4#$9 z%Lp)Ho`!N22UC#0WOVUKV$NVPW}3s6RP>$PWWKjcFX#;|jLy$Gu_sZV8jXbyoUYcJ zy*ZNOoihaCyK62iXST;8o+>r-UFGSN9x!n|7Eu@i^j07rS4%0s2v5u31!!UYRQmKr z7sY1q_ZSdgp(mm-=r2xFRUFh}&X@e5ARHA%H10`8h)=sze!d)O398vm!z8V1m&>q>U2oCdZ_tMms*+I`IR@*n-jBs&9e6!J%;~oqw*Af zm|cMR!b3e)m2gW11VjaPX<puGV51tAF%z!+i zfls;i2UbdGn@i1Cp=0nA*dEb5BjcLTpbN?j4{gzZo;26XU0ih}Xo$|gkFQF)b+k+c zl#gvI^x;mh2;dY;`*Jb}-ka-qjwp}GJSY3gem|>S&wXA15h1F9S85#5bP|FoJ;JQ9 zsqk1(Hq%%gMfx?J;zyO-);gsf8dQSzBcR;grn%>7uO;_$T}RWW)bsHM&*{8m*6pT? z=I_Wq1Z6T~O#_ta!XSm>b^`1_uh|!u{>t_Eg>jWA+WT*E!{SnnNLh$oIMn~570`8+ zUs={A32q64&Vd0!(fg|1-q$QKRO;5&l%Za-0B$`c2udqxq0d?CB`eS$ShNQSI0+m0 zo_2N@yZIWPa4DxWL}<-*5G0`3)5oq zVuIgwDM{nY@z$nA@8{7^k&ktTz%{FtU4Em8gjOdeHLdy<>@n4k+}URHe+XEpFN5Z$ z#irrDI&v=)G`?*YKh%z}Z||JYYtt<7?1L^UYRxB6Aa+Xpf-E;>zc}|`jGO1gSKQOk z1?BO4Tn^k4!Bh%6blm^6Q3Ghu0bde+11iV`9}TIOlx3YI?DHp1NMcmih;Ck3Js8TvB`2nAUe- z;(bq$4@MVTJYrKqxfgqDhgLbS-d3Y^RQ&CMxi z|8}OZZFf|#D<`s1E25OSQ9$oSX09p9g6#%H&cA|yrMkZk<_fk1uLYMU1m%T^FSBs% zh~P++NL78Io7K7yqhl7`=6&kC9jdZ1emk8$5!B$;Wu|%U4wDhq#VKip5r;^4@aL{K z!F3~aiVi_YLss7?c`y`$^~R8mojWN`k}P0d2hI2wqF_sMa%qq<8J6z?WeWRsz3|b~8E& z>>&C5&8gct8dPOeAdgAyFGG+O^5D$HtvrC(NE#5;h6MCQdf#InSj6jogN+fPCk&tW zfu+v|+^bgEBzju(K~z`GcM18oG?6(=KnDkmA(hiBj49dQ zk#o3c))tv5H3783p1;tdHUK609}M4%(TE{%AjXmcL)dr#+X}J!NNNP+ecKjdD;=p7 zHcGV~s}*Nqtcx(PIEh0r6h@~e674ghg8!?)1-TDS1d4lULV#WSEU!6@3-xPMc0~SP zxHnWB=ldYSuVHeh@)=0rL-v(S77Lp|**{o|(&Q$2B8Z<%hjteAgdxZ$ z)OY(mUqSf(AJ&?0bl-CD^A#BuehqbZaBHNRgh;;DNWoa?pYaY5whs_|a{x{LuuugM7E`oJeb8zx|=e(l`aH4nq*fy>Pd^U4`efcTTLSa5`1%c#2tOVDauRu0fhXYHZd;!3dW zX76V^$5{v>B?VTzIZL743&yKZ%qRI3#=T(a7_zF!?o(j@v%~Y641lAOpEc8l>uFYFi=YOPVJ%d~4tC!6-|O#JFSVarXUEBe~owjQEm(VV!S*L3g9hjpjXs zXvj}6y$0`V%DcYmQ%rg;eLCehzXuxd`olPU2I8#mL3seNdD~+|tVPAT4xxRei=%Q~ zB-fk6oy-`_!0c^IUrik~VUO6D`zO^K(AKv&t|$jy*NJ&p{!h16qm|Llie% zUyP#{dj_^9(a)dP^su)jChOp&0-KMoZ2l9?7$m#x+pu3kN-SdlL4PSPPv412b_$Sw zHW_%|c#aq$2Tw(onbTPkLE;dz^*RzTxhI+1@MYDy}AiUKHJ{D{w|`7?^WV9 z!w~+Pw%d$1?{Y|^Bejqtq~c9>MmXX$e!?Doh={DCnKIjOx--_iACmgjO?luLt_T&i>;X6>qn$%P1$jJFr_-C#YMB!FaFsrjO?iEkq@nzLDaT2(uN*;sqzOL+O+pjKx;8m3I>YQpOjdz2dI`uJ z4Sg*^;ND-xf_YRTC=iAHedkObtD&iOQ%Hi6DxTv&dtnu_m{8tg^O;2<`s08c4QT55 zOq(xKw%$ncHE=Vv{ew^8t*0M#yNNQuYo-A78@{W>*biTv+yYW3L{e7g%~Nir_9rw6 z3}+`pIa6-^!jeoM^$?-8x2AOv9O4FO!|KT6A6c~cng{8@0NPIG0H za$DSRAR!nbTjT0D+*ipm*WDdpj~Egtgdkm97c#gY9x-lGGb!QAm(8LnLQnvinkF+q zQIXIZT(A-qV`0aGk%w#V3B*YeK4sw94+9gJYpkLK*yd`<*F|U`Okt|3EOXcN>?5jN zdA_V{UfmpOCQ1vJzW3B;+GrQ*rLHh)z}?Yx_|GoRU1-${ZQRhi!m;cSPo`iPRGl4KZlFcWJm>6X9)QRQdfZNp@Ux(4c99mtnpsiO>G z+4IY7JT?Q5#NuwxMsWJ1vQPc0^8@lrEhOQQl2!0kjApMsH$Qugz#pi7^J?$}thcm} zk}+unHW`8!ww3T6Ihq!YE zPgK+$8~R?&MAe#tiMm_ue;|h;E2QvgOeG^zf*~!Nw!VpE%P%Z*r(+10U)|ij&rPuW zsl86TK3XStIjhBh+2KWX%?s!f_WW!nwjNiRqfv3V;sxMjCmxB0kP=-Zs_-BQ7cNU> zi-;P$$%p)&YbHkej&x%b)R^6bb15Hj8m!S=+Avj?*8$p6=6SsbFv++*TlM7r_t5%(V&8yzTTH6{jE`aCv7A-TWFw zHB)9%_#k#um^LWio7z@6g~=V>8Z>t&{2}p6l^vq@Ay*?j085r>9lV1`o>5CvQg86q zm@1iN!BbaGdA^w9sSGsW{&6TTlduV66*+2ZFYFv= zM0k1l@wbl$x$>EmjzE)AH8@|xB^pxKLZ<>G7ut82quT8c z8xYlWXLAhs1M^swD5`@2<`P6FTnuh7PVMS|FS)eSISpjATjJZ0Ymkj+roFRu<-6g3 zGM_IuY82dvIOD5Su#vrWD{hk|eXcl#8kQWf+Rz~EGCqh*_UoRs$ay9M2`>Bd)Lur> zQ>}A%lVdguN;On-#~?o%Y}tMaGXWKZYM_?8ccEE}Ci2fgcw9`@eJnJ|iW)nMI7%!} zsgIFcxLMZVvymUkEO`>;-06-7MG$D}HfGeGl*2@X*^6vKyNXu8UMkxn180ap^gOqW z%2mq+Zh#(%ZE`8sW~cbWrYj+d{CUyjwQz}}SGH^AHU%81$=l8nF;AlHEpVO@(Xgr) z%QBl*I9JJZG5^^XUw0;8-+Dxfq0 z{m93or$hTTE9N#Xg_I;3-}9OGF6RLII9mg^tvLxh04eO*Y)tA}naBHD$kb8rOwU?B z+rk6b6kX#l%bP&dshD@U<&}Fe1;ct#dFpq{B=YTY#zOjykPE6Q53Vt?KiDAclE?#Y zb0*0@p5*9}*AtU+p)KEy1tm*|0oA!nR>l<7K{@(`SO^=iot#>(eNUK`9+7ZhQRA(k zm=!1M?8N%2)m0PN=6zvhCz+th1EC!KTP4wr&Dej%2zECmi#Gr|U6%%aEaxEYXYohF z?-wE3jP-u?)y6p-$)0aBJhUY6g)6*IlTw|MdzCk~sY0jig*mS@riCQH~ zg(xHC0shAS1>5<%nyV3y7WPtqT-YZ6H`U|?3%~o7D#g0q@9%>ujU6K7rkThX;o!GZ zTGx-joZ})GwB=%q)_6ah7Frl3LH_mc%mFYh1nvo3op%EtkNfidJLlAGpAiu2HhN=& zXHStrXZmCL=AL|Rm6oMsW_1w?UsyIW%LXFZ8H zSlFZ$;0}&to-SK0KG!otF9lc^PgNRKON7CMkly{X}XWyLA+L+c|1S!jP()S z;N~nB$VXk>uiSl_k4X6f%n<4k^~Vwavp?!K#~JXR=7|H+zMRJSgZP-YeY1SfImEpPPdSg02l4w4DEynfgUgfagEEZ5` zbi+_App;te`L$PdY=1|RUdcJ@^LQQQObU4Zgk_z<%#~;NlP!07Q{2O#f4f4Z~F)jKJ==Q{2O3O ztt}7g=#Ty0n3_C&?LpkM?7dg+jVHw}M$85AYyTE!L7G>juUnxvj$b2`tkovg(F86_ zX9rr1F^Gn1yiE@lm-%rn*RK-f1^*j)sgLf-z3-^70EOQDXNSONnFE0nUhw6h-AY}u464Q z=S18(J2i8zpu4nK_{yJ~Q0YhvZrMav5*6qK|Lh8nh^YY-wh?6y2f1!j=K)Uky$V!xuO4~5p>j7$pL zel3?$Da!RMVkAnwTWI@tT{V79strfXg0&V!t#K z_v(?y5}%*1=Dy6@5Z)wO?(og@X{9PR#74%1kZWvSF`Fu*hUbg(c7jNz0qlfN(Q#Q1Jry|_}SM}~6_(IIR)8o&2|BLk{I98p;a-6K1Z0t=i4x4g= z=a$0DiZ%)U=4uv&4svT;?=(Ew&F(|2yk0^=$W0qoxUmj!E8ydzTHcBJ!Db zhsU>m_V~-zss;z6xq|a-_qnlYNc3;RY(!kSkJm2u=?5OHr%*n5RViJwZ4kP=g~sa7 zHaiqUjUJJoT*kwuDQ=zL6ugn0haE>HmGqSlCXEW^WeLM@SJDR2W}paT|zdGg!{NXi}88JWl9RYGZC)ZT@Ssg?>``%-l5m^0LCiajxrW_}HDYlK%uLW#xr*l~Z5*45HTnPUl|6xT8H7dQ z|IM9ZTeg2$Td^HQ%e(zhrcPpu4A^3FzL<46n6hd8*6NvP6@DynAHp4F4(0#eZ@L1_ zf553N+DM~7tR@Gw?d74gpoF-voA)8^=xHyDwhIyF^J8gAts*+z9!p8Eafqc6RFX3Sx*1az@-k`B>_3kAIn*?Sz*bRHh8H(1a%G)X+P{Pq$%Sqd5OEjfjJBJA0UlC*GC$LoUs<8vWRGB4>GD^h9+~(XEbQ9oL9KoINw}jv zjR^tSot<+L=!xN0cHS_xpszT|(Ol;>Jf`iJgFy-N%iI%)kl&%rNg?q){7UaQM$pPq z{;?c;_-&tIbNZ(i2VTtmHNyKP=IZ{DWLIGc36Cm?O%kFv^mHzWS^V+BH*|OP=ueMa z;wMrg21uVS*z1%n{jmHSmG(&CL4d;NA~b%PjmD(}sMtLKiZE*lFqPWi)kH2?r!S*= z>7g*H`G|?TNaiVV^c}H6&?Y7K5R%V(Q@5k4=fJX`89Z`Me+Y!kP6^tz_*nW#K8o}S& za1+y^_pG{+^0dv6yaE1-@?kr@GEl^3o_m%(iS)i=?eg1y{iMVID7u!d&VlO(%_a41 zRAEU@&UeOrECTJfqkZeknu1w3$ChwrZ-lGEtjP`#+okdyQ3Dl)o#R})k7k^@( z>1ofy4l!ui7nHXoxp@zS1N3JfkG;Dp^z)>0Do|-*QHm}iFbce_$v64{FJO96G2Wm# zLdbIMYZYdP=W$xS*O33wlEdn|TDI+7U2;a%j?I(Pq2NPnR=U_tx!~Td$OjWqEINO% zj@MJ%vwtV<^@N;RaI~*znN@&@Kmjjow8Ba@@bm$qQ@`4tFc*tAKYvxg;|QapV?K

OG^bt6yG2??7FhdGVc8feK}syBta)V!iG4 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 + setIsOpen((value) => !value)} + activeOpacity={0.8} + > + + + {title} + + {isOpen && {children}} + + ); +} + +const styles = StyleSheet.create({ + heading: { + flexDirection: 'row', + alignItems: 'center', + gap: 6, + }, + content: { + marginTop: 6, + marginLeft: 24, + }, +}); diff --git a/packages/expo-template/components/ExternalLink.tsx b/packages/expo-template/components/ExternalLink.tsx new file mode 100644 index 0000000..8f05675 --- /dev/null +++ b/packages/expo-template/components/ExternalLink.tsx @@ -0,0 +1,24 @@ +import { Link } from 'expo-router'; +import { openBrowserAsync } from 'expo-web-browser'; +import { type ComponentProps } from 'react'; +import { Platform } from 'react-native'; + +type Props = Omit, 'href'> & { href: string }; + +export function ExternalLink({ href, ...rest }: Props) { + return ( + { + if (Platform.OS !== 'web') { + // Prevent the default behavior of linking to the default browser on native. + event.preventDefault(); + // Open the link in an in-app browser. + await openBrowserAsync(href); + } + }} + /> + ); +} diff --git a/packages/expo-template/components/HelloWave.tsx b/packages/expo-template/components/HelloWave.tsx new file mode 100644 index 0000000..05264ff --- /dev/null +++ b/packages/expo-template/components/HelloWave.tsx @@ -0,0 +1,43 @@ +import { useEffect } from 'react'; +import { StyleSheet } from 'react-native'; +import Animated, { + useSharedValue, + useAnimatedStyle, + withTiming, + withRepeat, + withSequence, +} from 'react-native-reanimated'; + +import { ThemedText } from '@/components/ThemedText'; + +export function HelloWave() { + const rotationAnimation = useSharedValue(0); + + useEffect(() => { + rotationAnimation.value = withRepeat( + withSequence( + withTiming(25, { duration: 150 }), + withTiming(0, { duration: 150 }) + ), + 4 // Run the animation 4 times + ); + }, []); + + const animatedStyle = useAnimatedStyle(() => ({ + transform: [{ rotate: `${rotationAnimation.value}deg` }], + })); + + return ( + + šŸ‘‹ + + ); +} + +const styles = StyleSheet.create({ + text: { + fontSize: 28, + lineHeight: 32, + marginTop: -6, + }, +}); diff --git a/packages/expo-template/components/ParallaxScrollView.tsx b/packages/expo-template/components/ParallaxScrollView.tsx new file mode 100644 index 0000000..7b947ae --- /dev/null +++ b/packages/expo-template/components/ParallaxScrollView.tsx @@ -0,0 +1,85 @@ +import type { PropsWithChildren, ReactElement } from 'react'; +import { StyleSheet } from 'react-native'; +import Animated, { + interpolate, + useAnimatedRef, + useAnimatedStyle, + useScrollViewOffset, +} from 'react-native-reanimated'; + +import { ThemedView } from '@/components/ThemedView'; +import { useColorScheme } from '@/hooks/useColorScheme'; + +const HEADER_HEIGHT = 250; + +type Props = PropsWithChildren<{ + headerImage: ReactElement; + headerBackgroundColor: { dark: string; light: string }; +}>; + +export default function ParallaxScrollView({ + children, + headerImage, + headerBackgroundColor, +}: Props) { + const colorScheme = useColorScheme() ?? 'light'; + const scrollRef = useAnimatedRef(); + const scrollOffset = useScrollViewOffset(scrollRef); + const headerAnimatedStyle = useAnimatedStyle(() => { + return { + transform: [ + { + translateY: interpolate( + scrollOffset.value, + [-HEADER_HEIGHT, 0, HEADER_HEIGHT], + [-HEADER_HEIGHT / 2, 0, HEADER_HEIGHT * 0.75] + ), + }, + { + scale: interpolate( + scrollOffset.value, + [-HEADER_HEIGHT, 0, HEADER_HEIGHT], + [2, 1, 1] + ), + }, + ], + }; + }); + + return ( + + + + {headerImage} + + {children} + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, + header: { + height: HEADER_HEIGHT, + overflow: 'hidden', + }, + content: { + flex: 1, + padding: 32, + gap: 16, + overflow: 'hidden', + }, +}); diff --git a/packages/expo-template/components/ThemedText.tsx b/packages/expo-template/components/ThemedText.tsx new file mode 100644 index 0000000..c0e1a78 --- /dev/null +++ b/packages/expo-template/components/ThemedText.tsx @@ -0,0 +1,60 @@ +import { Text, type TextProps, StyleSheet } from 'react-native'; + +import { useThemeColor } from '@/hooks/useThemeColor'; + +export type ThemedTextProps = TextProps & { + lightColor?: string; + darkColor?: string; + type?: 'default' | 'title' | 'defaultSemiBold' | 'subtitle' | 'link'; +}; + +export function ThemedText({ + style, + lightColor, + darkColor, + type = 'default', + ...rest +}: ThemedTextProps) { + const color = useThemeColor({ light: lightColor, dark: darkColor }, 'text'); + + return ( + + ); +} + +const styles = StyleSheet.create({ + default: { + fontSize: 16, + lineHeight: 24, + }, + defaultSemiBold: { + fontSize: 16, + lineHeight: 24, + fontWeight: '600', + }, + title: { + fontSize: 32, + fontWeight: 'bold', + lineHeight: 32, + }, + subtitle: { + fontSize: 20, + fontWeight: 'bold', + }, + link: { + lineHeight: 30, + fontSize: 16, + color: '#0a7ea4', + }, +}); diff --git a/packages/expo-template/components/ThemedView.tsx b/packages/expo-template/components/ThemedView.tsx new file mode 100644 index 0000000..af42a9f --- /dev/null +++ b/packages/expo-template/components/ThemedView.tsx @@ -0,0 +1,22 @@ +import { View, type ViewProps } from 'react-native'; + +import { useThemeColor } from '@/hooks/useThemeColor'; + +export type ThemedViewProps = ViewProps & { + lightColor?: string; + darkColor?: string; +}; + +export function ThemedView({ + style, + lightColor, + darkColor, + ...otherProps +}: ThemedViewProps) { + const backgroundColor = useThemeColor( + { light: lightColor, dark: darkColor }, + 'background' + ); + + return ; +} diff --git a/packages/expo-template/components/__tests__/ThemedText-test.tsx b/packages/expo-template/components/__tests__/ThemedText-test.tsx new file mode 100644 index 0000000..1ac3225 --- /dev/null +++ b/packages/expo-template/components/__tests__/ThemedText-test.tsx @@ -0,0 +1,10 @@ +import * as React from 'react'; +import renderer from 'react-test-renderer'; + +import { ThemedText } from '../ThemedText'; + +it(`renders correctly`, () => { + const tree = renderer.create(Snapshot test!).toJSON(); + + expect(tree).toMatchSnapshot(); +}); diff --git a/packages/expo-template/components/__tests__/__snapshots__/ThemedText-test.tsx.snap b/packages/expo-template/components/__tests__/__snapshots__/ThemedText-test.tsx.snap new file mode 100644 index 0000000..b68e53e --- /dev/null +++ b/packages/expo-template/components/__tests__/__snapshots__/ThemedText-test.tsx.snap @@ -0,0 +1,24 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders correctly 1`] = ` + + Snapshot test! + +`; diff --git a/packages/expo-template/components/ui/IconSymbol.ios.tsx b/packages/expo-template/components/ui/IconSymbol.ios.tsx new file mode 100644 index 0000000..9177f4d --- /dev/null +++ b/packages/expo-template/components/ui/IconSymbol.ios.tsx @@ -0,0 +1,32 @@ +import { SymbolView, SymbolViewProps, SymbolWeight } from 'expo-symbols'; +import { StyleProp, ViewStyle } from 'react-native'; + +export function IconSymbol({ + name, + size = 24, + color, + style, + weight = 'regular', +}: { + name: SymbolViewProps['name']; + size?: number; + color: string; + style?: StyleProp; + weight?: SymbolWeight; +}) { + return ( + + ); +} diff --git a/packages/expo-template/components/ui/IconSymbol.tsx b/packages/expo-template/components/ui/IconSymbol.tsx new file mode 100644 index 0000000..9f6bf48 --- /dev/null +++ b/packages/expo-template/components/ui/IconSymbol.tsx @@ -0,0 +1,50 @@ +// This file is a fallback for using MaterialIcons on Android and web. + +import MaterialIcons from '@expo/vector-icons/MaterialIcons'; +import { SymbolWeight } from 'expo-symbols'; +import React from 'react'; +import { OpaqueColorValue, StyleProp, ViewStyle } from 'react-native'; + +// Add your SFSymbol to MaterialIcons mappings here. +const MAPPING = { + // See MaterialIcons here: https://icons.expo.fyi + // See SF Symbols in the SF Symbols app on Mac. + 'house.fill': 'home', + 'paperplane.fill': 'send', + 'chevron.left.forwardslash.chevron.right': 'code', + 'chevron.right': 'chevron-right', +} as Partial< + Record< + import('expo-symbols').SymbolViewProps['name'], + React.ComponentProps['name'] + > +>; + +export type IconSymbolName = keyof typeof MAPPING; + +/** + * An icon component that uses native SFSymbols on iOS, and MaterialIcons on Android and web. This ensures a consistent look across platforms, and optimal resource usage. + * + * Icon `name`s are based on SFSymbols and require manual mapping to MaterialIcons. + */ +export function IconSymbol({ + name, + size = 24, + color, + style, +}: { + name: IconSymbolName; + size?: number; + color: string | OpaqueColorValue; + style?: StyleProp; + weight?: SymbolWeight; +}) { + return ( + + ); +} diff --git a/packages/expo-template/constants/Colors.ts b/packages/expo-template/constants/Colors.ts new file mode 100644 index 0000000..14e6784 --- /dev/null +++ b/packages/expo-template/constants/Colors.ts @@ -0,0 +1,26 @@ +/** + * Below are the colors that are used in the app. The colors are defined in the light and dark mode. + * There are many other ways to style your app. For example, [Nativewind](https://www.nativewind.dev/), [Tamagui](https://tamagui.dev/), [unistyles](https://reactnativeunistyles.vercel.app), etc. + */ + +const tintColorLight = '#0a7ea4'; +const tintColorDark = '#fff'; + +export const Colors = { + light: { + text: '#11181C', + background: '#fff', + tint: tintColorLight, + icon: '#687076', + tabIconDefault: '#687076', + tabIconSelected: tintColorLight, + }, + dark: { + text: '#ECEDEE', + background: '#151718', + tint: tintColorDark, + icon: '#9BA1A6', + tabIconDefault: '#9BA1A6', + tabIconSelected: tintColorDark, + }, +}; diff --git a/packages/expo-template/gitignore b/packages/expo-template/gitignore new file mode 100644 index 0000000..c9d575d --- /dev/null +++ b/packages/expo-template/gitignore @@ -0,0 +1,38 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo + +app-example diff --git a/packages/expo-template/hooks/useColorScheme.ts b/packages/expo-template/hooks/useColorScheme.ts new file mode 100644 index 0000000..17e3c63 --- /dev/null +++ b/packages/expo-template/hooks/useColorScheme.ts @@ -0,0 +1 @@ +export { useColorScheme } from 'react-native'; diff --git a/packages/expo-template/hooks/useColorScheme.web.ts b/packages/expo-template/hooks/useColorScheme.web.ts new file mode 100644 index 0000000..7eb1c1b --- /dev/null +++ b/packages/expo-template/hooks/useColorScheme.web.ts @@ -0,0 +1,21 @@ +import { useEffect, useState } from 'react'; +import { useColorScheme as useRNColorScheme } from 'react-native'; + +/** + * To support static rendering, this value needs to be re-calculated on the client side for web + */ +export function useColorScheme() { + const [hasHydrated, setHasHydrated] = useState(false); + + useEffect(() => { + setHasHydrated(true); + }, []); + + const colorScheme = useRNColorScheme(); + + if (hasHydrated) { + return colorScheme; + } + + return 'light'; +} diff --git a/packages/expo-template/hooks/useThemeColor.ts b/packages/expo-template/hooks/useThemeColor.ts new file mode 100644 index 0000000..0608e73 --- /dev/null +++ b/packages/expo-template/hooks/useThemeColor.ts @@ -0,0 +1,21 @@ +/** + * Learn more about light and dark modes: + * https://docs.expo.dev/guides/color-schemes/ + */ + +import { Colors } from '@/constants/Colors'; +import { useColorScheme } from '@/hooks/useColorScheme'; + +export function useThemeColor( + props: { light?: string; dark?: string }, + colorName: keyof typeof Colors.light & keyof typeof Colors.dark +) { + const theme = useColorScheme() ?? 'light'; + const colorFromProps = props[theme]; + + if (colorFromProps) { + return colorFromProps; + } else { + return Colors[theme][colorName]; + } +} diff --git a/packages/expo-template/package.json b/packages/expo-template/package.json new file mode 100644 index 0000000..8a2f409 --- /dev/null +++ b/packages/expo-template/package.json @@ -0,0 +1,54 @@ +{ + "name": "@bottom-tabs/expo-template", + "main": "expo-router/entry", + "version": "0.0.1", + "scripts": { + "start": "expo start", + "reset-project": "node ./scripts/reset-project.js", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "test": "jest --watchAll", + "lint": "expo lint" + }, + "jest": { + "preset": "jest-expo" + }, + "dependencies": { + "@expo/vector-icons": "^14.0.2", + "react-native-bottom-tabs": "0.8.1", + "@bottom-tabs/react-navigation": "0.8.1", + "@react-navigation/native": "^7.0.14", + "expo": "~52.0.11", + "expo-blur": "~14.0.1", + "expo-constants": "~17.0.3", + "expo-font": "~13.0.1", + "expo-haptics": "~14.0.0", + "expo-linking": "~7.0.3", + "expo-router": "~4.0.9", + "expo-splash-screen": "~0.29.13", + "expo-status-bar": "~2.0.0", + "expo-symbols": "~0.2.0", + "expo-system-ui": "~4.0.4", + "expo-web-browser": "~14.0.1", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-native": "0.76.3", + "react-native-gesture-handler": "~2.20.2", + "react-native-reanimated": "~3.16.1", + "react-native-safe-area-context": "4.12.0", + "react-native-screens": "~4.4.0", + "react-native-web": "~0.19.13", + "react-native-webview": "13.12.2" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@types/jest": "^29.5.12", + "@types/react": "~18.3.12", + "@types/react-test-renderer": "^18.3.0", + "jest": "^29.2.1", + "jest-expo": "~52.0.2", + "react-test-renderer": "18.3.1", + "typescript": "^5.3.3" + } +} diff --git a/packages/expo-template/scripts/reset-project.js b/packages/expo-template/scripts/reset-project.js new file mode 100755 index 0000000..5f81463 --- /dev/null +++ b/packages/expo-template/scripts/reset-project.js @@ -0,0 +1,84 @@ +#!/usr/bin/env node + +/** + * This script is used to reset the project to a blank state. + * It moves the /app, /components, /hooks, /scripts, and /constants directories to /app-example and creates a new /app directory with an index.tsx and _layout.tsx file. + * You can remove the `reset-project` script from package.json and safely delete this file after running it. + */ + +const fs = require("fs"); +const path = require("path"); + +const root = process.cwd(); +const oldDirs = ["app", "components", "hooks", "constants", "scripts"]; +const newDir = "app-example"; +const newAppDir = "app"; +const newDirPath = path.join(root, newDir); + +const indexContent = `import { Text, View } from "react-native"; + +export default function Index() { + return ( + + Edit app/index.tsx to edit this screen. + + ); +} +`; + +const layoutContent = `import { Stack } from "expo-router"; + +export default function RootLayout() { + return ; +} +`; + +const moveDirectories = async () => { + try { + // Create the app-example directory + await fs.promises.mkdir(newDirPath, { recursive: true }); + console.log(`šŸ“ /${newDir} directory created.`); + + // Move old directories to new app-example directory + for (const dir of oldDirs) { + const oldDirPath = path.join(root, dir); + const newDirPath = path.join(root, newDir, dir); + if (fs.existsSync(oldDirPath)) { + await fs.promises.rename(oldDirPath, newDirPath); + console.log(`āž”ļø /${dir} moved to /${newDir}/${dir}.`); + } else { + console.log(`āž”ļø /${dir} does not exist, skipping.`); + } + } + + // Create new /app directory + const newAppDirPath = path.join(root, newAppDir); + await fs.promises.mkdir(newAppDirPath, { recursive: true }); + console.log("\nšŸ“ New /app directory created."); + + // Create index.tsx + const indexPath = path.join(newAppDirPath, "index.tsx"); + await fs.promises.writeFile(indexPath, indexContent); + console.log("šŸ“„ app/index.tsx created."); + + // Create _layout.tsx + const layoutPath = path.join(newAppDirPath, "_layout.tsx"); + await fs.promises.writeFile(layoutPath, layoutContent); + console.log("šŸ“„ app/_layout.tsx created."); + + console.log("\nāœ… Project reset complete. Next steps:"); + console.log( + "1. Run `npx expo start` to start a development server.\n2. Edit app/index.tsx to edit the main screen.\n3. Delete the /app-example directory when you're done referencing it." + ); + } catch (error) { + console.error(`Error during script execution: ${error}`); + } +}; + +moveDirectories(); diff --git a/packages/expo-template/tsconfig.json b/packages/expo-template/tsconfig.json new file mode 100644 index 0000000..909e901 --- /dev/null +++ b/packages/expo-template/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "strict": true, + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ".expo/types/**/*.ts", + "expo-env.d.ts" + ] +}