From 602f2059fde644d77062adf8070608c1ccf1afb5 Mon Sep 17 00:00:00 2001 From: songjunxi <3224266014@qq.com> Date: Fri, 10 Nov 2023 14:59:47 +0800 Subject: [PATCH] release 0.3.4 --- README.md | 103 +- apps/web/.env.example | 18 + apps/web/.npmrc | 1 + apps/web/app/api/auth/[...nextauth]/route.ts | 106 ++ apps/web/app/api/collaboration/count/route.ts | 38 + apps/web/app/api/collaboration/id/route.ts | 45 + .../app/api/collaboration/local-id/route.ts | 65 + apps/web/app/api/collaboration/room/route.ts | 107 ++ apps/web/app/api/collaboration/route.ts | 180 +++ apps/web/app/api/generate/bot/route.ts | 109 ++ apps/web/app/api/generate/continue/route.ts | 99 ++ apps/web/app/api/generate/edit/route.ts | 101 ++ apps/web/app/api/generate/route.ts | 81 - apps/web/app/api/generate/translate/route.ts | 96 ++ apps/web/app/api/share/all/route.ts | 51 + apps/web/app/api/share/route.ts | 168 +++ apps/web/app/api/share/update/keep/route.ts | 45 + apps/web/app/api/status/route.ts | 9 + apps/web/app/api/upload/route.ts | 74 +- apps/web/app/api/users/route.ts | 50 + apps/web/app/error.tsx | 53 + apps/web/app/features/card.tsx | 24 + apps/web/app/features/guide.tsx | 305 ++++ apps/web/app/feedback/layout.tsx | 27 + apps/web/app/feedback/page.tsx | 19 + apps/web/app/feedback/wrapper.tsx | 28 + apps/web/app/google-analytics.tsx | 28 + apps/web/app/invite/[id]/layout.tsx | 28 + apps/web/app/invite/[id]/page.tsx | 19 + apps/web/app/invite/[id]/wrapper.tsx | 233 +++ apps/web/app/layout.tsx | 33 +- apps/web/app/manifest.ts | 26 + apps/web/app/not-found.tsx | 9 + apps/web/app/opengraph-image.png | Bin 0 -> 196021 bytes apps/web/app/page.tsx | 27 +- apps/web/app/post/[id]/editor.tsx | 506 +++++++ apps/web/app/post/[id]/layout.tsx | 29 + apps/web/app/post/[id]/page.tsx | 13 + apps/web/app/post/[id]/request.ts | 182 +++ apps/web/app/post/[id]/sider.tsx | 655 +++++++++ apps/web/app/post/[id]/wrapper.tsx | 56 + apps/web/app/pricing/layout.tsx | 28 + apps/web/app/pricing/page.tsx | 19 + apps/web/app/pricing/wrapper.tsx | 254 ++++ apps/web/app/privacy/layout.tsx | 28 + apps/web/app/privacy/page.tsx | 19 + apps/web/app/privacy/wrapper.tsx | 37 + apps/web/app/providers.tsx | 2 - apps/web/app/publish/[id]/layout.tsx | 29 + apps/web/app/publish/[id]/page.tsx | 22 + apps/web/app/publish/[id]/wrapper.tsx | 138 ++ .../web/app/server-sitemap-index.xml/route.ts | 11 + apps/web/app/settings/layout.tsx | 28 + apps/web/app/settings/page.tsx | 19 + apps/web/app/settings/wrapper.tsx | 23 + apps/web/app/templates/layout.tsx | 28 + apps/web/app/templates/page.tsx | 19 + apps/web/app/templates/wrapper.tsx | 11 + apps/web/config/site.ts | 61 + apps/web/lib/consts.ts | 402 +++++ apps/web/lib/db/collaboration.ts | 140 ++ apps/web/lib/db/prisma.ts | 11 + apps/web/lib/db/share.ts | 103 ++ apps/web/lib/db/user.ts | 23 + apps/web/lib/hooks/use-scroll.ts | 16 + apps/web/lib/hooks/use-window-size.ts | 38 + apps/web/lib/types/active-code.ts | 8 + apps/web/lib/types/note.ts | 21 + apps/web/lib/types/response.ts | 5 + apps/web/lib/types/user.ts | 10 + apps/web/lib/utils.ts | 160 ++ apps/web/next-sitemap.config.js | 39 + apps/web/next.config.js | 34 +- apps/web/package.json | 41 +- apps/web/prisma/schema.prisma | 112 ++ apps/web/{app/favicon.ico => public/512.png} | Bin apps/web/public/android-chrome-96x96.png | Bin 0 -> 3014 bytes apps/web/public/apple-touch-icon.png | Bin 0 -> 2962 bytes apps/web/public/cat.png | Bin 0 -> 26661 bytes apps/web/public/desktop.png | Bin 0 -> 153918 bytes apps/web/public/e1.png | Bin 0 -> 85804 bytes apps/web/public/e2.png | Bin 0 -> 42013 bytes apps/web/public/e3.png | Bin 0 -> 77707 bytes apps/web/public/favicon-16x16.png | Bin 0 -> 643 bytes apps/web/public/favicon-32x32.png | Bin 0 -> 1050 bytes apps/web/public/favicon.ico | Bin 0 -> 15086 bytes apps/web/public/follow.svg | 7 + apps/web/public/logo-128.png | Bin 0 -> 18426 bytes apps/web/public/logo-256.png | Bin 0 -> 18426 bytes apps/web/public/logo.png | Bin 0 -> 63772 bytes apps/web/public/logo.svg | 3 + apps/web/public/mstile-150x150.png | Bin 0 -> 4732 bytes apps/web/public/opengraph-image.png | Bin 0 -> 196021 bytes apps/web/public/product.svg | 26 + apps/web/public/robots.txt | 26 + apps/web/public/safari-pinned-tab.svg | 27 + apps/web/public/sitemap.xml | 4 + apps/web/store/db.model.ts | 26 + apps/web/styles/globals.css | 26 +- apps/web/styles/search-btn.css | 66 + apps/web/tsconfig.json | 6 +- apps/web/ui/editor.tsx | 28 - apps/web/ui/icons/index.tsx | 4 - apps/web/ui/layout/active-licence-modal.tsx | 116 ++ apps/web/ui/layout/create-room-modal.tsx | 196 +++ apps/web/ui/layout/edit-nickname-modal.tsx | 115 ++ apps/web/ui/layout/email-login-button.tsx | 146 ++ apps/web/ui/layout/footer-publish.tsx | 27 + apps/web/ui/layout/footer.tsx | 114 ++ apps/web/ui/layout/nav.tsx | 8 + apps/web/ui/layout/navbar.tsx | 91 ++ apps/web/ui/layout/not-found.tsx | 50 + apps/web/ui/layout/sign-in-modal.tsx | 60 + apps/web/ui/layout/user-dropdown.tsx | 124 ++ apps/web/ui/menu.tsx | 115 +- apps/web/ui/new-post-button.tsx | 91 ++ apps/web/ui/search-input.tsx | 20 + apps/web/ui/shared/counting-numbers.tsx | 40 + apps/web/ui/shared/icons/box.tsx | 18 + apps/web/ui/shared/icons/checked.tsx | 18 + apps/web/ui/shared/icons/color.tsx | 20 + apps/web/ui/shared/icons/expanding-arrow.tsx | 36 + .../ui/{ => shared}/icons/font-default.tsx | 0 apps/web/ui/{ => shared}/icons/font-mono.tsx | 0 apps/web/ui/{ => shared}/icons/font-serif.tsx | 0 apps/web/ui/{ => shared}/icons/github.tsx | 0 apps/web/ui/shared/icons/google.tsx | 47 + apps/web/ui/shared/icons/image-down.tsx | 22 + apps/web/ui/shared/icons/index.tsx | 12 + apps/web/ui/shared/icons/loading-circle.tsx | 22 + .../ui/shared/icons/loading-dots.module.css | 40 + apps/web/ui/shared/icons/loading-dots.tsx | 13 + .../shared/icons/loading-spinner.module.css | 79 + apps/web/ui/shared/icons/loading-spinner.tsx | 20 + apps/web/ui/shared/icons/logo.tsx | 16 + apps/web/ui/shared/icons/product-hunt.tsx | 75 + apps/web/ui/shared/icons/twitter.tsx | 14 + apps/web/ui/shared/icons/widgets.tsx | 16 + apps/web/ui/shared/leaflet.tsx | 73 + apps/web/ui/shared/modal.tsx | 84 ++ apps/web/ui/shared/placeholder.tsx | 15 + apps/web/ui/shared/popover.tsx | 50 + apps/web/ui/shared/tooltip.tsx | 71 + package.json | 16 +- packages/core/package.json | 12 +- packages/core/src/ui/editor/bot/chat-bot.tsx | 237 +++ .../ai-selectors/edit/ai-edit-bubble.tsx | 15 +- .../ai-selectors/edit/ai-edit-selector.tsx | 105 +- .../translate/ai-translate-bubble.tsx | 15 +- .../translate/ai-translate-selector.tsx | 2 +- .../ui/editor/bubble-menu/color-selector.tsx | 70 +- .../ui/editor/bubble-menu/node-selector.tsx | 22 +- .../ui/editor/extensions/collaboration.tsx | 113 ++ .../ui/editor/extensions/color-highlighter.ts | 56 + .../core/src/ui/editor/extensions/index.tsx | 24 +- .../ui/editor/extensions/slash-command.tsx | 7 +- packages/core/src/ui/editor/index.tsx | 71 +- packages/core/src/ui/editor/styles.css | 71 + packages/core/src/ui/icons/magic-1.tsx | 18 + packages/core/src/ui/icons/magic.tsx | 3 +- pnpm-lock.yaml | 1303 ++++++++++++++++- 161 files changed, 9921 insertions(+), 347 deletions(-) create mode 100644 apps/web/.npmrc create mode 100644 apps/web/app/api/auth/[...nextauth]/route.ts create mode 100644 apps/web/app/api/collaboration/count/route.ts create mode 100644 apps/web/app/api/collaboration/id/route.ts create mode 100644 apps/web/app/api/collaboration/local-id/route.ts create mode 100644 apps/web/app/api/collaboration/room/route.ts create mode 100644 apps/web/app/api/collaboration/route.ts create mode 100644 apps/web/app/api/generate/bot/route.ts create mode 100644 apps/web/app/api/generate/continue/route.ts create mode 100644 apps/web/app/api/generate/edit/route.ts delete mode 100644 apps/web/app/api/generate/route.ts create mode 100644 apps/web/app/api/generate/translate/route.ts create mode 100644 apps/web/app/api/share/all/route.ts create mode 100644 apps/web/app/api/share/route.ts create mode 100644 apps/web/app/api/share/update/keep/route.ts create mode 100644 apps/web/app/api/status/route.ts create mode 100644 apps/web/app/api/users/route.ts create mode 100644 apps/web/app/error.tsx create mode 100644 apps/web/app/features/card.tsx create mode 100644 apps/web/app/features/guide.tsx create mode 100644 apps/web/app/feedback/layout.tsx create mode 100644 apps/web/app/feedback/page.tsx create mode 100644 apps/web/app/feedback/wrapper.tsx create mode 100644 apps/web/app/google-analytics.tsx create mode 100644 apps/web/app/invite/[id]/layout.tsx create mode 100644 apps/web/app/invite/[id]/page.tsx create mode 100644 apps/web/app/invite/[id]/wrapper.tsx create mode 100644 apps/web/app/manifest.ts create mode 100644 apps/web/app/not-found.tsx create mode 100644 apps/web/app/opengraph-image.png create mode 100644 apps/web/app/post/[id]/editor.tsx create mode 100644 apps/web/app/post/[id]/layout.tsx create mode 100644 apps/web/app/post/[id]/page.tsx create mode 100644 apps/web/app/post/[id]/request.ts create mode 100644 apps/web/app/post/[id]/sider.tsx create mode 100644 apps/web/app/post/[id]/wrapper.tsx create mode 100644 apps/web/app/pricing/layout.tsx create mode 100644 apps/web/app/pricing/page.tsx create mode 100644 apps/web/app/pricing/wrapper.tsx create mode 100644 apps/web/app/privacy/layout.tsx create mode 100644 apps/web/app/privacy/page.tsx create mode 100644 apps/web/app/privacy/wrapper.tsx create mode 100644 apps/web/app/publish/[id]/layout.tsx create mode 100644 apps/web/app/publish/[id]/page.tsx create mode 100644 apps/web/app/publish/[id]/wrapper.tsx create mode 100644 apps/web/app/server-sitemap-index.xml/route.ts create mode 100644 apps/web/app/settings/layout.tsx create mode 100644 apps/web/app/settings/page.tsx create mode 100644 apps/web/app/settings/wrapper.tsx create mode 100644 apps/web/app/templates/layout.tsx create mode 100644 apps/web/app/templates/page.tsx create mode 100644 apps/web/app/templates/wrapper.tsx create mode 100644 apps/web/config/site.ts create mode 100644 apps/web/lib/consts.ts create mode 100644 apps/web/lib/db/collaboration.ts create mode 100644 apps/web/lib/db/prisma.ts create mode 100644 apps/web/lib/db/share.ts create mode 100644 apps/web/lib/db/user.ts create mode 100644 apps/web/lib/hooks/use-scroll.ts create mode 100644 apps/web/lib/hooks/use-window-size.ts create mode 100644 apps/web/lib/types/active-code.ts create mode 100644 apps/web/lib/types/note.ts create mode 100644 apps/web/lib/types/response.ts create mode 100644 apps/web/lib/types/user.ts create mode 100644 apps/web/next-sitemap.config.js create mode 100644 apps/web/prisma/schema.prisma rename apps/web/{app/favicon.ico => public/512.png} (100%) create mode 100644 apps/web/public/android-chrome-96x96.png create mode 100644 apps/web/public/apple-touch-icon.png create mode 100644 apps/web/public/cat.png create mode 100644 apps/web/public/desktop.png create mode 100644 apps/web/public/e1.png create mode 100644 apps/web/public/e2.png create mode 100644 apps/web/public/e3.png create mode 100644 apps/web/public/favicon-16x16.png create mode 100644 apps/web/public/favicon-32x32.png create mode 100644 apps/web/public/favicon.ico create mode 100644 apps/web/public/follow.svg create mode 100644 apps/web/public/logo-128.png create mode 100644 apps/web/public/logo-256.png create mode 100644 apps/web/public/logo.png create mode 100644 apps/web/public/logo.svg create mode 100644 apps/web/public/mstile-150x150.png create mode 100644 apps/web/public/opengraph-image.png create mode 100644 apps/web/public/product.svg create mode 100644 apps/web/public/robots.txt create mode 100644 apps/web/public/safari-pinned-tab.svg create mode 100644 apps/web/public/sitemap.xml create mode 100644 apps/web/store/db.model.ts create mode 100644 apps/web/styles/search-btn.css delete mode 100644 apps/web/ui/editor.tsx delete mode 100644 apps/web/ui/icons/index.tsx create mode 100644 apps/web/ui/layout/active-licence-modal.tsx create mode 100644 apps/web/ui/layout/create-room-modal.tsx create mode 100644 apps/web/ui/layout/edit-nickname-modal.tsx create mode 100644 apps/web/ui/layout/email-login-button.tsx create mode 100644 apps/web/ui/layout/footer-publish.tsx create mode 100644 apps/web/ui/layout/footer.tsx create mode 100644 apps/web/ui/layout/nav.tsx create mode 100644 apps/web/ui/layout/navbar.tsx create mode 100644 apps/web/ui/layout/not-found.tsx create mode 100644 apps/web/ui/layout/sign-in-modal.tsx create mode 100644 apps/web/ui/layout/user-dropdown.tsx create mode 100644 apps/web/ui/new-post-button.tsx create mode 100644 apps/web/ui/search-input.tsx create mode 100644 apps/web/ui/shared/counting-numbers.tsx create mode 100644 apps/web/ui/shared/icons/box.tsx create mode 100644 apps/web/ui/shared/icons/checked.tsx create mode 100644 apps/web/ui/shared/icons/color.tsx create mode 100644 apps/web/ui/shared/icons/expanding-arrow.tsx rename apps/web/ui/{ => shared}/icons/font-default.tsx (100%) rename apps/web/ui/{ => shared}/icons/font-mono.tsx (100%) rename apps/web/ui/{ => shared}/icons/font-serif.tsx (100%) rename apps/web/ui/{ => shared}/icons/github.tsx (100%) create mode 100644 apps/web/ui/shared/icons/google.tsx create mode 100644 apps/web/ui/shared/icons/image-down.tsx create mode 100644 apps/web/ui/shared/icons/index.tsx create mode 100644 apps/web/ui/shared/icons/loading-circle.tsx create mode 100644 apps/web/ui/shared/icons/loading-dots.module.css create mode 100644 apps/web/ui/shared/icons/loading-dots.tsx create mode 100644 apps/web/ui/shared/icons/loading-spinner.module.css create mode 100644 apps/web/ui/shared/icons/loading-spinner.tsx create mode 100644 apps/web/ui/shared/icons/logo.tsx create mode 100644 apps/web/ui/shared/icons/product-hunt.tsx create mode 100644 apps/web/ui/shared/icons/twitter.tsx create mode 100644 apps/web/ui/shared/icons/widgets.tsx create mode 100644 apps/web/ui/shared/leaflet.tsx create mode 100644 apps/web/ui/shared/modal.tsx create mode 100644 apps/web/ui/shared/placeholder.tsx create mode 100644 apps/web/ui/shared/popover.tsx create mode 100644 apps/web/ui/shared/tooltip.tsx create mode 100644 packages/core/src/ui/editor/bot/chat-bot.tsx create mode 100644 packages/core/src/ui/editor/extensions/collaboration.tsx create mode 100644 packages/core/src/ui/editor/extensions/color-highlighter.ts create mode 100644 packages/core/src/ui/icons/magic-1.tsx diff --git a/README.md b/README.md index 68e707f..9b43c0c 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,42 @@ -# Inke +
+ +
- - - - - - - - - - - - +Inke - Small is beautiful
-Inke is a Notion-style WYSIWYG editor with AI-powered autocompletions. + -See live demo: [inke-web](https://inke.app) +# About Inke + +[Inke](https://inke.app/) is a notebook with AI assisted writing and real-time collaboration. -# Install Inke +## Features -```bash -npm install inkejs -``` +- 😗 WYSIWYG Editing like markdown +- 😄 Efficient Shortcut Inputs +- 😍 AI-powered Text Autocomplete +- 🥰 Local Data Storage +- 🥳 Image uploads(use command or drag) +- 😍 Cloud storage notes +- 😄 Export as json/image/markdown +- 🥰 Install as PWA App to your desktop + + +## Self Hosting + +You can deploy your own version of Inke to Vercel with one click: + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-link=https%3A%2F%2Fgithub.com%2Fyesmore%2Finke&env=OPENAI_API_KEY&envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%20&envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&project-name=inke&repository-name=inke) ## Setting Up Locally @@ -42,39 +55,29 @@ pnpm build pnpm dev ``` -Then, you can use it in your code like this: +## Environment Variable -```jsx -import { Editor } from "inkejs"; +| Prop | Type | Description | Example | +| ----------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `OPENAI_API_KEY` | `string` | The API Key to use for the OpenAI completion API. | `sk-xxx` | +| `BLOB_READ_WRITE_TOKEN` | `string` | OPTIONAL: Vercel Blob (for uploading images). Get your Vercel Blob credentials [here](https://vercel.com/docs/storage/vercel-blob/quickstart#quickstart) | `vercel_blob_xxxx` | +| `KV_REST_API_URL` | `string` | OPTIONAL: Vercel KV (for ratelimiting). Get your Vercel KV credentials [here](https://vercel.com/docs/storage/vercel-kv/quickstart#quickstart) | [`"https//xxx.com"`](https://github.com/steven-tey/novel/blob/main/packages/core/src/ui/editor/default-content.tsx) | +| `KV_REST_API_TOKEN` | `string` | OPTIONAL: Vercel KV (for ratelimiting). Get your Vercel KV credentials [here](https://vercel.com/docs/storage/vercel-kv/quickstart#quickstart). | `abcdefg` | +| `NEXTAUTH_SECRET` | `string` | Only for production – generate one here: [generate-secret](https://generate-secret.vercel.app/32). | `fasgagahhjerherg` | +| `DATABASE_URL` | `string` | Database url, recommend using [MongoDB Atlas](https://account.mongodb.com/account/login?signedOut=true) | `mongodb+srv://xxxx` | +| `EMAIL_FROM` | `string` | Next Auth Provider: [Email](https://next-auth.js.org/providers/email) | `Inke+ Welcome to Inke 🎉 + | +|
+
|
+ |
+ Button click without response? Try open this link in your browser. If you did not request this email you can safely ignore it. + | +
+
+ Lightweight
+ {" "}
+ .
+ AI Powered .
+
+ Markdown
+
+
+
+ 📖 Integrate rich text, Markdown, and final render with JSON. +
++ 🎉 Continue writing, editing, translation, chat with AI, all in + one. +
++ 👨👩👦 One click to start real-time online collaboration among + multiple people. +
++ 🍥 One click simple export of PDF, images, Markdown, Json files +
+${Account_Plans[1].pay}
+${Account_Plans[2].pay}
+You are being invited to join the collaboration space
+ +05NB??jfn}>D3v}R!tg}dzK*a zak%5yKj~+xg!`PbZxoW#RPj3VOYQrU5DQDogVMW`LTI<|NiMVlM?uS5*L(JMP{=n_ z;O3YDdQEJbrCS 8-`U&;3F@0QhTq=ugi4HQa(xl&qMT`iHGZ+&H-;)!X;+ zn=7~QJI#h(<4hJw(~#wT4tz=eBb_}wfjR0iab2OGjJA)ctLSHndDMJtInnWTTWrz` z1Bs XRzS~q$c#{{%q(vU5BSG390lw%n%cQ? zW^Y1s?9zr zd$1bLTp=EwVb@PBbR`L04#W()kdgOPoi$DIp1fOLOMO}&Nyyf<2!Sqb4-eFouVG*K z-mKjdBMO9G$aoDH*h?oNaXo0K1sApaQMGkaN;B^I#bcO|WR+ADz#w!T1^m<>H$Z%1 zGn;Icw5GUcG%PDl>4q#h=}D{GSgWk1MHD~)&=Q-_*5a?h4&lh~lfa#q8mB}ve9EYt zmX)4P{)vBcFfqQmTc!2eGh+58L&Lk>jJ6D{oY1vbhWxxuK&3Sd@^9;zu;3u^g0HJ< zmi$J}=gxwquFx(npPNh0W<$NmTFOt_yq`3^7~p$ym?DObEUWHpHC|hmQf5w0Pj9ak zg54drf?@xm@-Kl%O*b#}E1dThtEw&aD~EgzPdP224B8E5-v$ym#+puT?>~UOjzyb% zl2Ht7cGz_qmyVn7ptfz6Yx49kd;g|s$E~INWbZR0pn@mdH~?T5M>mBFH`>6mgE`k} z>ic75bMTmxEDp8&ewn;73!`R5hgzwgb(FxJSj~3BREay471xg>-XsFohtmG;S5Us_ zJjLbUARo`9ZxgRq$4~7&W^RM@M6MG*xrr`NHids?scPo1HL42>OG!#x1fIvfwWI8% zg+x%KVoRCFxp|9<##k?vx4%~S89iY^0e1_>5V>+vK|#4OoSat{=oOT~8!K4Ib{RPx zpKZkbNmSn}{SbrgM$n$e4p`8XFHIH`>9c1muTOH4M2I~`l`9A`bkllW9{^Ge?*co| zaVD-tiF0;Oxfql@B)&}eCMfh0_uLq-`jW%5fxk(9L9o0bk7iz0w{*B$$afEjgQsBA ze0y;)p08{;XWY+J4!l{ehb~?;b*l_e*5<$Oy}ej4LVv*|rI&O*2eGtlBs(ftuxmee z*((OhT1D?>GEaHkdoEQ+d0o0BvKUExsE1dRrx}56%?r1csnhOT0}2cZO^}GvCG$T@ zksn6j2{bm?nF5%^`}8y4!)mP)dD>TiNGy|IUAc6uy$YV>guN5rl9qo6{wk$tQv~Ch zn~NKb@f_%Y(|cBho|f?xAvA>jEck0`=pv?anz-%db~LK7Sx{;LA`75vd~$LY7ZbFe zk?$L%og<%!PY2!}pd$y<8H`OvcjGgUIU5B=*@mRfo$YWs?~bplYSuFfMJR3QtEr_B zsF$5&QVNluJuxiw1gIIQWfLDH_Ct&h#CA|0q=f!Y5j~zYIBu03Yq_p=ps9`HfA1}G zpX~%*^+<|##{7|Uk_Nmo=Ng2x{Zaa7?#og$+u1F nMg(WUg*oP*QQNA}X?vozNF~QO{s`m2w(Kq7Cle}S<*|ss z&d$!eC*$&kB_$QR1s3!tFvC%DO#P0f$@f^Ia#IOx^(7^PxxfPOPdy*E(T;cauA0p$ zllW#c)t>RH7==$&<-)>l6F)MJxUKH^w&6 _VOlaO10Kha~acuB#gO3##ST0U?LL3B|tWxN`A8s}HDldG5C!3s*$lQ>{ zr&khhew~rR*$95GtGlpaBRY`ZA7f1Qz=@<`D+*IpoByPX8m?n5bJ!@5C#K(iTb7L@ zGxTDcSSsPM$Nk-{p;mf90bOAp%>{rqJ6$@=gWqve_7W7` `9HVh n#BI00;n9n9@;2;-renZ$w_Hfl6Iu&?-cq_n Sl=^`7U27d+`vBs`mA8%b!1d0$G}h%zN2pDJ&e z!S1Z!cH@n1288t7g4!7#k&R&0D2aau0QG~SY}XMYm}eB$-d}EIh4`^Ad>z{Qn7y%~ zw&NIM=>^{lVtR|O?mO$i@Ygu!0gnIi)jyqfINqT1WTU_CDd;TwC_S(EtKzPT80)WG zPI!NeC95DJso2S;;Xqi2t;t_;>&HXx*VUGX?r*}OwL{*MujTp{oVsfT9(z38@bJ H@uJNq;sI|_Qf8%Qo<@ QlBr?U?L%c^&%J4opv0RMf}Uq)LE!Ye$?2!D5nznlwaSy=Cn`TIkH zM1FIAR4l6%o` Gj^r9puE zd(!noXvI%?{BV}PyPG?$a2XXd5dX=8GRWWZE?gG0^>>1Jc+vk8`~MR=925W7qP=Ap zYuYz&(CNSJup1_R6u{W1WCZ;02KoP3 H(xdZ_+q5`G3Uw&T+%|C`CpG7M5urJ)q_H~ESt+> z|3M?+p+)!~%kk9_E>a%qO@xP({vAh+&tFcD5_3RB{!WJfmgYZ3J+*L=CgC{#<|Z8k zcykWRYA1pS_ICt4By?Q|F4DnJp8sL#Z+ZPc2ZU{rP(f!B5#E0*!v_Z(nBb;)tApe> z85U0Cg0GoJW|!bYO8<@{o)<5tqa8nB{1?Lihr$0F)ga8#2kCbhcw>NAk6As n$M54R6IP!3@Pe}AmY-m%;Rl&EB)&!UdM$eGe; zi<;bz-lYx}Of25Vosj#0lJuJ3I?)?18DRe>2)$`ROvtXPt(|G^%;bs7+ F`}SD&zon(1 2Ysv74>0;zDRWxY567ia?IuLjJ$ka5h3#6E)&Ly>eNa6d(~bpArlc3@1N}` zf6_X+_5a`{DlaU;dV9Fz`t?6L%pfG6vvu0ij>O`{Z500! bkk!sXuL6ux-88Sisr#mFrW>#MinXZ$w9)_U9FCM8{x?4QcPumVBhe36Ohj;`o z%uv_g!_mOxyhHqNH2Cx5eimi)`kE4gi6P2MjeMERPYraD|7**>r>=#q6vv{MmyXm$ z#&1gx{9`%~6ArX%zwVMh$?7Sm|K;PeR!*C)@Rr(_X>`&^gM&em366i=kKsU3W &i(!d7%oYOCNa#_$RtVD2IpbOt2#2(qGvfq8;;j913hEvHZoEeP#4N zK>303T08D+jO|g1r@-lly%e~c+^Hq>{4=^}{#cB>CoD8To+sW+Xn7yPebmkWME5_= zJyThpMhjpR;4p&iqaM%qM^ZF?#D^QRnP84To%)o}f4kkGZv^8f%6A;XQN)Odh)=`8 zXB5AB|GEUV&ySC!hp`B-;AA~+^N}a5x=iBLmdF1SgN`a``T08}0*>;;{;jlWOEaUR zqpdt{5)uDn9RJ6Np2f5rdWReYO%Pj+UXHAMe!={6OhIz<%`H6A&K9bM 4=`>C%=KRzK*0wszXv%O1EIEa9|N z Ub|a )LG7OO|%GhrQ?`(gqaOW;dpWQtTca z$Z%?lzl#y5GRd*#e^a5}Ed^E%S-YNg#@KR@DIScrf*caZhtvZ~DQ#Z_Y0uKvDRxq6 zS|2aGo@TuyW0Uyu? 5|_w{5=vh?=A!QrHM`%<_gD8k3@oMR<;Nk%0MZJv+4K-ckv9 z*reZ{U0sC=2sw_SbHbnIz)G!k+9a#L<+H8qip%J@UR?aaS+IC_$fd6Fy`Q%1-pf7i z*6RGrq6=5vg>n#nkm{;5V=r~)%kUgx>5{GtSl!KPJU!n*W?DECppEh k5a{4b$0m9Ab$MthZ>m*qJKKjQf4HGf7@h(f3Ro6TYzd27UOkECQ z@UF1LxjC& aGr&XZRGO^UC)B305N0(W0LDovxP zPa9gghpO5+UrNA?D3WH*saj LwZhbVX-1=3WkWkLE!>68%ZPgpgaQn~w_bq $I@!IgGEhAk8|0m|KicUfL+I-JEh0Sar#ojY(XL2iFc2oS4h<4 z%+Fv6dV0p{5sE_A$lCPsUcIHVb__B>6Gp~jH8zi$WG>GFAuegQL!44>x67K_{Z`ZV z1t-p3*zmVCL+^pS6}9)#SH86h$u`Hf7$g |sPQ-NL>W)-S`ok?2AXYPqfQhgf|2_vRL=1e#FBuBtET0qwi zTRXn>`2t)#we%eXO;? 1)0D-EO%HiFq$!xYHL1X-9Xwl=eaaS(>CZ@xrM3(F{VKf zXy1I3EmZ04d9nG?Y>isBtn|Je>@ezD!aH!o t@m3z>Zuh6URX^0*FwMit_hNHz6hmt$kXpT{JPvd^CXom}s@~FHFzAmTtVGBE zB~`EAV7E8u-I_D3Pmue>$K^oaBc>oEgM&kyL)EtC1Tj&Uk7bd=zF4?_2 $jXeW{xi z`stHaSKYXeWEJ =S9rrGj(bKmoOCT`5+v0|| zo|KxDV#xNjx@NBgs<=1JI5x62XE1H}Ns`|R6&jY+ySC+j?Wce0^GJ2Y&0=G=Bb3HV zQB~7WZeSo3vn6UOwF-E5gXXz)9zWe-pNTWKxfT&WWdoYn0|k%Y1LvV2FOm B7r?APXFn^*S PM1|>Qa2~`=iz?=iv5>TLSm_z&2`o6V~YEwNo3M+@s&MoKK{2bOW z*rfBxxP 1`*isrw(0HD10GOnVG5HwnZOz);Q)%=CA z+Il|LmaoPu%nnuR?MA*_el@%*)z>i9b|piNYA@Ua&279Glq=c_p6M#~6!?WF5H$q# z>O}ufCD|_VTO13cOA^D=f|4;;P*Be;c`mqTP3z6;+00?Qm@Dp&bOYaQemgoPM(2B? zz4?XDxKmu(xk_tc=hd8h)@ghkopeGmD5sI=BqbBi okeX2cLG4a**1#x2}K&V7=3lAs8Wt$&7r^ znFMF;b~KBy6U{L`^ cjVY61g{;}`}a4L3Ux@Uix<5-P>1YA1kBlAWT?Uk w^bM> zvLLXuND}xTwHJb?i1~QhtPxjRr5NA~1_2X1Dl$I^7*j%>W3KGIZ*vtn!2M=oK$~A8 zLnEYF0bJSF !pu9lUE+fV>>TK`T*?8+iH)JQkzKUr1Ews5Q zvmM{Ka{#(RKRJ7T>hj4tBl5;%yRaoPnW2&|m3wJ&pKQ#q*{(Z^P}M3_jWNltqseJa z#;3b`4HjZwt?Rp^zBOkF8x67Gb>-)d+h26en|n;k=TY;ll;|}sG1u$sS4OTblPo8- zA7oqyS9E4`V5v<>GIUAw|BOeT^7^wqi!kIRe5R8gY00de1R;rIN-}3IUBG>dQQFj0 zD_XWOcMmCRE;FmP^tu;-MY$OVE~M`U=CEIDjH(EC@5+0m89GnD7W^vMlgw*gr0cQL zfaMe#-#vBx^738kYx7g6cMh%T_}K>q;AcIrJCZ~pOX&u4RE>t3Sy6nC*i|`TgAXhO zGiZ*(NMah+Fe~MtjI~CEY24BJOqFTmzJob|OTcIX(|h=?P``PW95utQhe|Mxg<>vu z=AGc+jLp^w2^* &cw|# zEoCfoi}Xd#gF?YLmGj$=xTs@CfwKgdCLb*T;C<+l;q74#=Q(7(fa~ogRmpLt@RvK6 zhK=YeP7ks1Qbbyzx(h-~`>NTSpD{PCMrs!7>2HU97cZ=)O;T(t8O#%P^#+|L=!pd` zaf8;_zki#EB{L|1H1mz|oo6HSf=%_cj(n-1)Pu@HV9l{^&!yycHFLh54=ZCs&Ck0E z%5_|4-g?>}#4&+5Q#bdh_*U^E;9Q;4i5oRU59hqGj&m7Z`WgOWh&>s6_gb*gLiY!v z^xpXW8_Yr-&mBZ%zt`2)bIxVOrDnS{#mwi;LZ_yl+zf$o7C^}Dp +LK}5mhZKPgc@)g4neS+sx6Rb(Yr5D|dkrU3CYVU#hTv^E?x0UOvIIsl zFD9`a-bp>&q`j J6-9;kmyguciHwo^zi+aqT2Wo{%bdEc+@6+cwko zpt;;W NVK*_=c3u$Q zT=p_L^O6;hg`5LS#U4duC$}+b`CbGL&7$4=3DwftofZvA@)}wV;oQ~ocdxT_fmID9 z9%ZcyD>g7KR15m4DSPPSxx7ydcm{ZUaFW%O^ICcebQD=o{DnyAr-p# %otieHQ zt6SMH%*h`h*Lu2)Q(Dz{X)8n@q#j8sWPTw8typl|_;623K K$Ik1p|H=A9SgXz; zydb$_g&;_16?8w$;<-Oly%G`b_R}XD4|^ng(f49h?%UaS6dT-YDVuA)^qoKqpgE=i zW$DqOHL|tK(HQviFD4!C_CRW5(}nXd_j1D!OcLJ1F+N(Wv8M1r&ukRegq!P)DbS}D z*#@<_9oyN*3Jq3AO)IMy{)}=|)tdtckQ{QP%mcg|t=lfnxjp|Zu NYpotD{a*GLKm&ZwWMekbkmrTC~@A<6b`wu}tpr9ZwaiBROg2@W2>(SdM|0j?Yqx z?$F4;uJbsJ3V%6%DdVR6vgkC7TJGJ^R 4j%qc~34`L6zp3>N$^~iN9{8L83LZfcm0wv>Z?aI=+;x8*CpfTlCGcvETV3z}cA# zd>@P7sM>fiZ0BiUU93Q?Vt`If0@~X=0EplnT%?Cj&6O@DjoM3-6K;DGG&eP l^0ZvY>r>Dk6G_kFTh^dRyMmkD9zeqfP(Co#nR(km!^5F#-~n|zKSdN7w%}l zOOSN4LNFYw9iVAsz(1=tJowz}K(%gbFRr(Q1;2(ToCE;XG@sJadMWR_e00u5fIj#8 z{-!wTap>OH3GS7zVYeptX)cA0J4>rmO_=<54GIyJ3}n&jpJ$R#tACXw6XX=;lc?bf z7U`YuUJs|zRduw+ZOClR1cjRh }sB=gb9oJ7#c>Gi~a%@2%t3oK-{4+c&CFIXe2Q7w;sGOyJiZL3+<`ESm z7;adr`LU%zeJ^&882fqELwmaHJ;u5>mAx@RA2Xxe_SYILzR}UqessAIrMDjZ5}Ixy z f zwk@0xoFEAnJOm4#;0__d-KEjs?rs4>2oT&gxHJw;H#9Vm;O^R3aBJN4^}hF<@4d74 zdv(A6D2giTx7J)!#vF4@7HomHD+!dg yMl(yyxSr)lN#9A0r@# zeGLzuW%-f%4Jr{J=Yz?deQFeMU}Rw=Uj~Y8&%wuo6H9>}(iwZafHK#C-%V;8% QV48=A}JPwofoUJyuqPqD}55=)$9v4nz=V!;0uZRxR zHpqBI#S}<~YV?1iE1G$`ojT$lQPwd2oMt!FNKO? HS-zA}*LB%x%)K=g4-ZCI|hAM1oBIq>7^eLoL&6pBd z?twq!h>q>rvdeaK5yXIThpDBu>80xxbwAHFR69pz5U@_V`94Djk#P#XCSM+YgxzPP zBJz0a?_v2DoFAoSW=7t<_DHlI6KdPze+hw48v&VP=SgzTY$6}la|Q@Cs6?AgBM}1X z4sFf$hO>qFjeRMKLgt(Z`^Rz3g%U~D-OZWI9ytF`J?o(tKMaM=zXTir8^(SG*yH?8 zl6AnK>C^#Ezl7u{5*A{!*)Gm8;SF~FAwj^i?^j*UXU>0xV%V>JI~NpO*cWuGEN0xf zPDv~ PXQ{vV!uCzRg?X*SG9_yLdAEx!SY9mfcGnls`ZkZMv02( XuxjuRRt}v ztSb*qt7q(@FIghyR+IHOe6c~JVCO5>`NZM|@Xl>kynQBW;z|ly41%sEpz+Zu^lTsK zLgx>h6QyS%DbZr9FRZb%{b&N-qrT8&U&pO(&5L4bddtRT)s33T>mV5plsj&v3&+R# zg{SnMPz9&R13Uh0QZ7LR3$RlOUg7QY(c7QMx6$3kZ%0FmP0*VjTX^WAEM&F#C=!M0 z!H$9@wlmp`F`5%M+2mm_e(NJIAsT%`D0}&gl$Ih9*t^Grlrbj=h+1&eIYMoa4i1s^ zU#O}w)+JPGD|V=YRd_8g`IN*m ^$D}H;k^{b2M#-V9#LuW%N}hF73QPDt^PS+c-ZjO-z7lW30`dL)-v47 z4N)zdco~%2Heg47no`Ws6-P4n6|rNkqAs>`rkU7PcDU>}$_pwrAQO?+(JWPW-W!yD zz5%zSle;5Hvk)3XTkam}`W@Z}264oJQ?L@bo)sKl>JWe1d6#xV*zEX4!RdiOqsvsu z@8gd&t)^0PZf|DuEiS9FP4Qcd$}{sCyctsQh7P5P0fW2B$@Ai(&97hBj(LtCUfJ0p z(VQ;Am~Y2gM3C9-NOa+SI9~GfqC5+BaVIUYmiLa0tdwbnf#$cJy|tqa&iix(oFbsC zsyd+PKs@j_>g|oVKdXm}(K6F)!VErs=*K6)ZfYhod6s?`=hA@YhCVRD32erse;2ep zEQK}P#E+5_R`Vh`j4!|-o*l>z9w1GcU4Jhpce&&)BzrM7DQbIT0?3PN La94@Zj@&?(;Kllt zp#yw-igXo!g0-JprA Wc~Awa+HV7);CYcbfL5gZwBE}qQd`mMePI+C|MUU z^EC5-m>yfBxL adI%-qtJd(VDs Zcr3Rh|x+M0L#RJ>RWn@?dtH=>U8bc *~O*9Oh@A6@X zo`IO1iNp0*1DI|OKTz7MjWRSuAFY)p^p#B@CQ7t!vwB?o&d(iazw2s~!`P s4|Ygzs7{s+t51QT;xl=zhjtTd>A%heCLGfRDqQUE*`3K*k^@Z&p`2mo@yF@5B(COVIJbS4m(>!!OV?c z>mPwizRFGAa1#Z0vH6BmzhR-z0>GHW@!R>u0tf$wrO>xEuGPIK(Ew^lxN)Xq^#QdV z0Pi{E=G)6^%890tPyBf*u~S#)8KMOhW95T|;31=P3pInXE{u2itAn}t;Lc fR50VJ^;~9wc+`6WysHkhX-Qj}Y?fxU6&HX%_xo!3pE(+#z zsiy(2^6&|e6WJ`-Gxt6@*dS!dFmbV-@$Er`t%v+G3ib!8GAFE59X|efd}?6}9Zrr0 zKotkg$ E6+rT?2U=(2jA9|VnF}frauU|Jc|b bklT;j{k;asry0uf$-2ABS%b5N*%(h&`QCI{-X6T2LhA$bl z4YYk2UHL#F>J;mn95=&ne`%u|<8vNQ_3#^^T1q|%Z>?`y-d;r!o=v+sX|a+~rJ1wG z{!rQ<$&oQHGqLnGDPL8=n^21L28I$@j0Ny~sK5(Pfv|+{FSrSO?HIl~%mWK=YWa-w zD!~g(6n5P|9rJv`j>lENmMZ%kp3!~UPRQxCtFA%Zr4)PlwU+K 2`GF*4{{8-Z*D$ZwP3-N|k z*(DUK%&)};ISn&4iT^`I>|Gk_S)iFFUDq YUPX6`WpYj&=3PYCXH};tXIY z(RgugVgIbwY0HcJ)|3c2am>pbrXWrk^YJg}b@AnBxCu6VXMCH+nfNyRJ@l*xvO(js z^W%OZfT?V7yiz7I+LtA_W^%%gVxRDk63L{Qy$ z!o{y*KGLNt5@~*iGvn9Z-Tm3R3q8HCIEF46?TM@vKX~*_p7ASB8J_*QjW;_t<<=_b zom?%`;Hp%Ch>&ij9SFb-i*4C%-rai}`gt=nRA0TlFuwtH%g6Ba&fD3gCK_v zWqdyeEMt%!#3t3S#k=_NQpDG$y61SzYWm8c&zG*qPibOe`%)_SySLDrFlM4v^-S?{ z*pJE_vp&SiALx2>wj--zfyuxhFw2|y*BUEq4WH#phR4}v_mfkRwTh+^y{BxwO&hx} zL 83Iv3{VV9Osg;(O!0`*^yVawAO5Iny9HY>7y=1ntLR zl&+@iydPi2Gd#Qd{y5!z>-=}tM7t^}rZFEjbJT@A3tG 4B#j2Lc+X{ zf84u(MD5*xYDJ1J3jCP8^~-ZNL8;Nd=oS)C;SIIV;ek-Ke}Vhy;zPahaVYG#xas2V zePgCOf6+y@Yb7Y#S=rffpQciKjSf)-o}BHdY87N=){~*YUaB&rIxYE)mw;^>F54KC zZklyqn={I5JuzHiPbM#@1;)2b6pHIL-hHBJXF2n{Csr7DEXE& T&dcN;R4N3wbg8;b^6W~mtaf8@3F)wU%xo?F=V+}CQAS8QMT<=>OTL#P@wx-I5K zSqC^_&aJSU?rBwzPg4OWw6m_JTJe=aOAwQ&o9) )!b`TtPTv{w#!rqaLIX8YVfz#JoeqdhxKir6XGNvF zT0xs~^Wj+PZy+mY`XOI7D~SGZCKb-WAmup$NcqYlnCZ2TGv#c~NvI{~$jP zk-K&BOg* z^*=*`R=z1_dgzNe4)zk*t2tXtpG9O(mjH6*8C^=HZWpdnaD?nhbON?(YAC!Iebbm6 zi8m}3sYj5l=KGFYs$cRNhlS-RwIkx@2XX^bf*0n`t>B(NR9@uUq@C$*f86=QOe6I3 zm^pZrMTAbqo$av6W9#A5Wg^pA>*uK7I-He@M8IDQCsmLuyS+0`fd+#|gjz2b&HPLJ zqQSDaAlwqD@dmxm!n{s^c>%1}MW-}FegDv?Wer+HhHK?Zz<>v~_T_3oP|HWaiAjeb z=@UZVlAt$+2Jfs~F~QqD`PgswAkrE^N=M5d(KJ_!dmPikdzEhvVGpg7$~#LCmV^>< zjg>csH5P5*9=`MXFn!B~1lE|&fmOROcRYxeo4QAd0XksSjAez(X|vFI?9`ALkYfyE zt}tq|P$@Mhbjmz{LSnZt@tbxGynK)3VoRt?){D2&MAQM{J-sDr@|Uk{^eY;bj&_o* z|7L)gSqdn9#DKHao17_P&vo e(fyS; zaaXi9_gxZ|z|uokzBgNjuPpqN6FO*qI+UuUG FI9Z^bkm5poH=!v33Qfi$zRo=hgfsf zISPfNFWKP6^(7Fc;9-);HX?Q^RcsCtgz9^oTIls`BJ<>{zOPk}5fX$sLb ODr3w_VX<4dEY~7aaT$VEB0Gk-BqP;BjfPNS zLfCF-1`C?~EVOxoQU9S=gA?AN(nz3d3#3dZ9C!31qRP3_y*?_$h)#$l)0|r zn;T!$d@c4 W*j=Vrli7+Xyz1?2K7p!naVdqcuebL>-<4AJLwr@4yuzKXC%;H? z)lYlQW*_^qhM~=gf~tntiy>`_gJh+c+ry9$ENn@0TYx7hJiZtd7Qf2u0~+~S%j~3n zW!7fncPmzQZwsye^KeyO22`L7QCneX=$d$gSn{I(!RrAFVO0^i^ldDajL0bNiYV#U zgE= ;~Y&Yl99lT zs(a?e?kM!&Q_tj=-17E`$L|haD?3<#h!r$E1866DbTvR*QF;pm)%|*=;L<2PkdXNx zO!zoth{UuXgF1#E*$t0RZaO)53xonYSZhNl{%)Jk)t kH#K5}kMw{3zoQB_=G_AWHZMH$2lA&b$cZG{B`$N`)^Mj9b zE~RUG*QM}nt6eN>8{IYW1V|~111L(Q 8IOG4TayzrVFj7 zNoolASBC(pNiX>=7nx&^S!FoLfrgW2eI~IR64c~;*;>ltR;(c(*v5D5S&UfQ= XO}ta<5)1 RHRg z>7m= xqw2O*|Jwr<8l1c@NDkN>jM}lu_d5TR1zs4Ic1z>%YMf-= qg}$CXL$2^6I-2#8O|0*9izH-p5*u&4dI|)&jIKCH>zRl z2N*iD#Hm?Uz}|f4SeDRI-{^UwpN xU*Icz>OG-}gB$0droeoYq_1iUF1{1d@`7m{NM~yNT@?nP9n* zGw192v3^Y|J_YYO2uCW9M?2&Iu1h~^6hC~!1$e?I%8eA<1)DRqf?o=+A9aIHByVRs zxo$6VxECJ|QzhAvoB+#m8+lqZ3FJ&$2nq*jmX2L=M}AWR@e{!LE+c&EVhBeGMy#Vb z2Kor>&bydA-P`Yv+6r4{QsTUr1oFQOhA5h8dAy) ?}wKk zXB9ldXk_3!m)dP+tVT-&l0-uIqBN^~LDTer)6JNp%Z*=5MqrDr5xgKyJj$xmlk&{p z%ScrHz=$)4zhOYhV<|&h&a7!Qf7?krRrt)M=z-7SWSPI=hOh*261B 7HAM_np$J8dVXWaehfVs0?tqSkJDzMxvA0Vc!h@KE^i zB5%OB{v@H>I%s)+wvVfNcl >!HHh>j-=>bF$?nGcNXE)}u5|nE$Qasyee}nfczse-)f@qJiy^=ML}PRuU*P$$$V=3eYH-gf)V;sOUB^j5do?vVC2)-UIbg>X!y!1o0a zf57+Km_3g7N><~E#byh47p(g|mts^g#}zu)NR-I1QT9Xpwp5(hLdCf)Ex>ahC-_@4 zjea~P)LI-(Nf{Jos(zc!S9Tx70lCIlh5n#4vZ3+6)H2nek_n~?<08^*+KNvuGyKY& zUe$behc~bsFyVUpCrI=~@gLQV^vPZB4DeQ*O2gP<3i9C`yn@y*!mFBk1AQN>KU$EW z$!dGc%5loA?Y_dMzWe5sxIkny?#^KAOL;rL6o}~hBM8JFA{HB$8X0TU|8X-Tu;hCl zCWdR&c6aCtQIVU#3NW>8y5E=R&?{jWKl=!rOc+vC5E(5`<*ez^uE70(8m8#(Qa73q zIMm^04DWXMJ$qp?_7K{$e-N%6cE1{+3Huc5Rm^AA{i!;mjv1)9M={iU vSBK zE=lL>SSF-^jFO2x#pep5)+Gc3M)-!5qJiVoK2S3$2CW}z4H>@{HYb(O+83t@o~zZY z_gq$DYUv~87zwK~`sHYU*Eh6^ TZsVgAKKtU8$E#|GTRWrpZOu|@; zv4yfc-|26aeiLHS^T<4rMdR_Grq25mRzf_5d(1C3zf`^x{p(vm$9^{&^_?mca^b|p z-o9~=3UL|ivxltjm4|>jNX%sr4`Tvq9j&5EwDb&W)92~8m*9|ngN1QC)aJQNoV`lB zn|E)xfrl|VDj7B09I*I@a0C3iyv~4+8yG42d6w+Cq+I%PM;yBx)qmw#xP1<$p*n2m(N;>c_K3{`St?~p#7yI?A z<2rxn!%6DH-~|GqXK{WI6Lj|#>*74 PqyRq|6KvjYikyIWF7)(X zG^!+gdtl{f0L*NzrS+_<74uBnq*M%_=?8@cq-BqtYI8x; +G8hL5GmVn@pX#n#j@&sTP$o492BP z@PMQ&qY=qrz55@<>UU!gdG==~oId4e5I3Kgo!D6)o4Xnd-!mSmLBG2eVn%h1MtZ!4 zx1h6&J&uE;g)u&C!Y&7SxVz5rz57g`QCVyWSZ68)zT_6I62{G v|#kOy82(l6 |yC$lyZ5!#<+I? zLdF2{>fcO|`_1GFJTI904y7M_igXrZ8Oi^Aspytbwzzt1;Q7ZugCT3T|H4VnCi~%G zB#Te%jL>P|A1Xjw315~@74Hb!)FyDgFipqSBm;m2t&>*rZP3RFQl_wTUk%!d%e@$O z-+I|KAG4Xae*5Qrf1-2Oj~Om+5j`pM(8V#$%f5SSzvcHnYO9_tjJr&=0t;7vfT#BG zyxkhRR~b$%)~g?yT^>9$xi74}IX?}k@Dafu1NTwjp0f}oM U&=JT|e z7ZSP4X!7#%cNAxc3G_3|CrD{RUq1`(APPUT9 sPxi|P&@QG_^=*4-<9 z#*Lu<3H!__DPT)3b41KcHs*x9;@Rsc$!Bwp8Qq1ySba+q 5WND&+ z&)gwp`CnMVlafi8P+pYX0#ClMKs1w*8H-Ki7a7l6vv?Sk lao?Y65406o)x=X~6 zV6-j9-E|(HuenEwgo5rLaq7U6B2@<&)3jxu<%Z+c3d3^!kq^}|8isoDypNN=vPH<0 zViTbLZx?0;$dn#kSB{Pel3wv!ekysV06l$vdwrNcFI!!ev}a?+W04@Kg5B-0rK|MN zT(L}t_Aa4BL*9!c)F=Jn!CL6GR)JhjN?FO)WMa>0u1=TQMrM9K3jQoerz Di;sRwWd$50&u<^+n(+l#f%V60_;4H;+j#sN zS=`*Wue;Fsh~)M&UJ*v~`b^#N9xL(qtYvOfC@k@}+D49*Mzn%;B~&AMKA;lY$ZHjP z%_6z{4_oPrZe9lqZeE9ruz{uKTj8H07M8 jx zAlH%XH!R9X=V#5g5IM*q?q6F;*?;+vnA*FQl48IiPT6dzEcjkW-;zWys61a!zu&^k zDC5o}(5sJAIRT?YNY8+UyHVu+gHw7#vBnAt=h9uUd2xzB5Ja7W6#|aOSf-}k5}ebo zB5xSh3+yGU*6Z@VjWzErSGXOxEmwYi#w%=?J;?IthPYL>m+KO}bL)HU6W}wYKKyu% zKpSscdkVQWwMx&U$PpfK_kfhi6>%ZCh-5QfneO(cbw@&Gf-l~NpK_Zcs-{ow#uF_L z;|FsC4FNRCJtb^ai43IRoYaOErUst4{$N`c`+5?WvZoBh7T{dmn4BZx?g1q`Z%& zpZ$5HwfXw-E03SwwED57{V{rB7FVH@te;cZ1-#a;4WLzPd~9UXH8hiR=s=!&%O*v1 z2cGmZQ7|>ls}J j;)XY#)`gj zh+Xo)nIW ~7f8C|rVGQjdZGGsD6W8v0d(e` zA}cqE{5nMwh5S~ZLE%l5XE*N2BW<&*ch7!s%^jU{%r#o1np+e$FMAConaL~PYU7em z=AVupa-jW ;C8umxaNsDs2KCSeiR)=;dh=Bo1~LFe*i1C#u^BI@QBq_J|CuH!e$(mXQ+fD9CZy zVOKIKtZQe5XYyx7PX) O7BOyZD5BEP_=`k(ZYW5|oK0h8f6kKH0KIuX{jkc#Cl z_to!n%zqixG5ctPhF{asz6Nr$=yN#*rG>|xthbMqv4<+p>g^O!(#dRG|LApWY}ca9 zdA(D?+n{!PfVkATyVrq0c8d%5%l*gBZT? D1MC z4hWMp`_LaO5BCgzi6^jriL#VSf{WhQ+v|J?cxJTQ0*ZOyp6O=@-o?=f)jBh-C@v{! zb{iQP!AEV{<~`@UKNlNpvz@vi`fv8kE=w+cTeILV_6Q>u6n%~CM^6%_o62`VsGnKl zvXg0VcE=csJG#wll9DDHv1%gvaNqx5mT?e#e45xLl}bIHKW6|MMul}AsXr&iKtTm} z{>p48A}DowT7MU3B=bz4r$#DN;*1#6-X%oC7O5Ep-wl1g*bVwb@X8DYz~d}soSvQ@ z{G2D_S63GQFLukS_t{LL|4n&{L(XQGMYpG*20lyoO(YyWWc#}v|7F&>zE5#2^LPTE zJ``6RxAiQT5|WNS!AJgcbkKG=2s9ax-cCYT`Z?sopo^0G7$}PIHRFPa;!&if)fgXg zd4i*Jj9$L%p;FXRDhckFF|mK05kcwIVg3U|{h1^)@-~)HZVY+TG1vTx2l4*%DZS1? z&FXnG%$?w!@xsl91?6V0;I-;c6#vd$jnvu~-=94V@Gc6bCSS>$(|0$125`4CBB%cx zqB*Et;&?IS^Ee&k_h;U(=L9K6Z54Bm7;3aUV2qQB<#mf9S>(Tm0WRr-{xx&)g*7fC zqr1aZ3 wL~AD#;LLbnRB0d@(;>8htT_9Pwp+c>M>B zr~PB71jw4jO_c8!8zVudU*ggig2kE7;3ZFGi fXsiOgRip|#I?t;=Z zStY;Ce8Uovlb=S 4DIbL?e!+{|3-&OU~T>M-mwl< z?PD8`!T&MJjl3&agWzAH8iZaagCcooSNjZS@Kl0CrWyv?B}T>w2?VO*lkXSG%F1}C zU(>$eA8KFTb0W5)ab4hm`Sif~*8Ev+Xqu<*G}Qp8szr9C<&b=S(BaU|3I$+K22i9q z^kCuaLH{p{2xjCo2?2P2Sy~sze$pB7WVuhkhc4|u*B8aDpqQc8fE+^F!mxw`#Qd;s zrx^x2vFzp2AdwMo2q>O9<%WwVMjFwoS~X?)4fg?GawN)YrAFGb6=%;u*K~NX_nX#) zWQwyd_&kE8p=$%%tFY8u&tweVY{+@ue_Lj7@f#EB!puP{rH$4m71UKFiMCL4+X#qP z*!928?q6-72 !(in72q*+(4j)wj1m<{ zIy#aOxcL@y67odc?woz_3Tba&GKm=yp0njBG6z?%Bzu6L5GFb>j84BF4KNgXTk73C z eF% B=p)58$SzraJHA&&a(%-~Cv)xizF?D47v(2)?bps_JWn6t?(K416e= zHqX>ejcG?AQo@wi(qL@Qt|qG4LmIdLjhP@G^c}{(4u_!O%Yzp`L)c>!0WT%h--*@8 zI4AHjO+dsDkA^*!bZfI`tRhX`jIi;dLUC+_94&Z_cGUV|`eu8~e-7r=wlD6i%f&Up zP!a&JSq3-IGx0AL@+{lKnH5qhUBzXV$rn^^&Uaiy#54@(o}!-RC6hR gwum?4~Q?CzOSU5VZlf7ZR#bmNqu<;%GL{ zI*2vF;O FOJdl?8X-YWeRl*K_1_PX>iq>PDgsyC5(oGSyUEQ z*#hGA C;-{ z)(d vrcm9%v|MI({pHuJ;3Q 5um5h{;r zr@2HKCM7bTS C1V+@fCOT({_qO-0e z4YpJAzUR9e$Zaif9qlRuW|>%O+#fU?U%CvI?H41o(V?ij3u@PNMyM>}LI>_VrqgZ4 z@w8r#4V#+bOM%C(oP+<|WbkiW4*o>Cy}%)NkduKxr}J+F%W4N0vMukkyQQ$O&?PG5 zw>6!M1Pu+2vk1#Uy<`)RzT9H)3lEC^?p)TN4jg)WlPK}hA~R*-ouzYB8#uIRos_75 zDFDM_v73Du-!(l^FJEz!U7uq)#~+-i_gil-Bt(LcWc2mRQ+0GF)hG&+d=K8M!eZ?^ zcS;d&Rpi2rH*<4y<1IdJkW^vtf#9>fOBDsANM`et#dom%-0Fdqxq0KMGk%sh=%+B5 z%1R`_iagC><7?%XA_drmZnRb@!QefI(u32}_!XDa;&(6p#aI5PVhtlx?o$q^NPO#C z GBW6_(N4AkC* -&`c6yOAga6K?0@|KbmTDIuTf z3+o;{6eYEGbD^;cmWL-Khk^}bhtbp5p|Z$}La@nz#tdVuHwV)ba&ithJ{AV>j9Sct zY@n> ^P3@5{a`1V=Br_N%HNIGJ5&XdT zKMLu&u&&S($hXuzN_3qt3Y`xAILpl?Ib1X^Eb056$Akgob9`W|ae^Z$cqxm+srnuCGX;9Zxy?Q=R#!GnPDmy_uuA1*^* zA2C@RHV)3>Ytjj$*mDam@b)WT`|k1FlpIk%-*ETKAs;V_Um}v|xo vuO>BGfe4G@aVA+Vut-FKX=IBcQb~vB~ b`dCa^q3&Y|7ObIl z?P;Fu00I0X6{ 3~I%N~ITafKx8d?rplYVPbmxsEjZ_ye2n1!CUU2vEC`qh>$+~Z(D zuUIktO*lS{XWbjYr#ix3{l!X|3;XOPIle&QyY6U;MSJ#2{e}c&8>Kn;ox?mRp597L zjH&~*F0CnT4+A`W&P)C~JG= Myh zNmNn5!7_Kz&P*)Ylb7snwUo@rT0?EOPH(NyHOe4`QjXI&^(9R96Yn|(oup9;k>A 1W;RAc|l0E*$W?vQ>O*m@9wokxHP$!nBkJIqWYfHHD1cQ0= zVfzPu?;eWD&o_Ib!&Hs_hEBPc(VRpE|vZIMBIt6{j1fDUNNc%$dnej-e8cM6a-x zQ&33E%A$l+Nkv7Plvh-+L8_3u5gb*cz}#l(0VQu#t%i3Xok0#0OMq&Rq$|R=Z&^~? zV8+C~TsP}PWDE6Nk@WpL%AP6Q8A6OarBdNz?POH9F;StRq@-14*sJx15U-L#WQ2?P zYXOt43e`-~2%lE8)$Z*7v}{!39%#^C*IHX99)QQE{*|dMR zv>!{@tpJQcyu8SSZPT7_FDr1d*8fTp+Ihlr)z#KATBo9eK@Hu@LjSqY)93FBoCs=k zAG9G&`yHvZhk`&!&dG+|;z8$FmA7Y=zu^hVeZxm^W(#{b1FWUf^k~>{&qkb6jCN;A z!u_IKVbErU_ck9rbnlMky?p3KMuQg(n=hLkpzi(g6VlI9xJLxKhA_>z%(hQH4d_(h zf~-nxFt=|H19l8EN51N`Px`Ygr`C*Oe$5J=VxR9Dj)SuWjIoQ`-gwGP{-~PIVCt z)vQ+BY^Dr5e0+5C+KdB&=eLs*fg!pqz7bgqmB3{TRxJDX9QOZIOZtz(Q@{u%Pvtmf zCV9_0n_HQJ@su=Z72VESwWpt#VnN5vN-sO>!l5XUkUswdC3Ib`vF;{H$#un~%1{59 z1xJ a_R*XxC15lt@ zAefnk&44juN@@$zGv^y>*y1MdIgXpf{lK&5Dsw7+$3vi65X_gz6zz5(M;iWO>p`gZ zyHhsXgcW;&2-9993GNXYUtwGG;iFk^dn;G2akWIlaEW22wz9 ${Ca0F;Z^9Ke)dNH}*?~0m_4O8= z-(NU>BNaWQnHlUk {!w|i z&6o(Fs?j~)K+q#WvB^YIRW)j7wBFCEo>kcM5NH3^3tceXXddLaQ|-w;y3K_Quzwz# zl#imYY>)YJRs^g^qtIu!>m q;y%ugj% WY~ALG@~}Men%?=++n4e5H8LeX>nKeZ-2If zn6620)vK@b9WJ-EDQ57 5>&GIAStYkt zKo=uw7|wfaZg^P}RPqKm6*o{#F$2K4@KvbX&Nxdmmu+E2`p;cG>fYwU__l!zcC7&_ z++*|4>21*6jE|z{X3EMgp(gHGB_*UnKWigj^x#%u2a ZhR6i(I>s} zsl*g`hZur2BeFy9Z&^dC=D`lENQrxQ6(%Mf)Ti5ga4g3$P6J X`S629@8i zgBL&SZEF4EB>Yy`>#ed90fC*?VkRX*HPH$w`#4h<%r*{qVG6kE`|M~^8wV$!gz;14 zw!m^+qlt*F{k@)piD<20?qHnS|4~c!oFi_O3~(ouLHk!d^Ow6+6m!a||1tV@>zA(< zLH~`?GAfjaNYgy?9r2Bc=)wSKtdhgSyuY{_+;?_K+Lyt}-xvI`NnO)mpRGaN66@tV z(R{dXeF={j7kIKr0B3lzh-?1Ihkt7U2nSF^d (6#ls*xPxNfXe|Elb%f zA;x_BrMjQ3uWusx=4TAJOFX)Q-gpUq;7m5AI<%PmyK?(~nC4$F|Jv)gBQgMxdwe5| zF`HL@DZQyZ0MlsO9Kh_Ef-3Kk<7jEFiPp0HssyjRSICs2x)7wP&Qh-ivYlISs0-LK z(nIRqNSy9hDB3JnHGu4M*ll*o9JNVtJ^#WFg89Y{%r!Y)6yD>}h`n_1nx`XpV^Wuu zR*4?IZT1l9oC@4TrUOuwb5`ymYu2Hb{9v{&<##gxC)kE%0J6kphxwknLgpcETf-;U zTR)qZ+jb^OqR@XP3oSFTLlxsGKC22=fiE%2)Alkeg^eecsKUfwDw)7rxqR&8Y8A<} zUW~f#r19uMt5&&9n^VogZgwg#rN=hD0Rb^@MH|wINQ4zesW2ZtjTmdaDLF5{8d)TJ zrfz;rTC{qn*lh7(LtV;Ej58%lrMi@o|E(0?{#%dwervkA22I^#rvC)F{)Gwt?*ti_ zHZCrh-L7?(UM9=pTS6AbLdkQA6){cx@YLk=Kj`VmG8?LNlJ$d?{3!ptc>Ck&5|bxy z_zMS!{o)JjnMws2GPijMN{?kpP0j57v~Bq>u3}1|EIZG+H>!3|2?g@u?XBDy{3i7K zD>+HTl>kTz?Z pENt0?T|TqVJqd%qISEe$SjFO^PP3J`vO|lOF@N~VXRFu* M&RW?u5HbI(vEGUmuWq`EK`KnF`+Y zL0G7*pa*+>^pA)QVxhW?QqWg%lS7x$Lb>_E0Wd&T5{^E1b?f}&i%z@wr}qFi4uh5N z;5|5`+I??Y>0*Cw&C+ztgt-1w{7yB3XLKV!io+G2oRlP+$>&fg6-5#}0=6j!xCPWt z?d`QTdkkZ2{VBCQqzb+7B)A$$#aVB28g>m;x>LaLIb2DMF5)V+>Z<$jQKe$mcO>&( zkx946?l$rZG47W>QIb2Gx!N{GsE2HVBO;N$nJdN;Qs1eXUNV;o7%=z#X}&Wyc76EK zx2qTFDC>I2V*lR1_@@!l#ZA6Tt%Pf-i0yQ?KVhAzNWI6v!-# uI>VXwQvOE%Q?`dXIF^ae77UHc?c%eK(?LS}PDKUq`Lpm-$yBTx+X2sG z^fpu>>Dt77wxGfR3Y#&ETQ?GaHU@@Y3ZB;Y7&xg&AO?lmImBIYMTsc23|xjzFqG4# zNy7FpxvMdAI%SlV*rOyNE~D?h7Z9e{KA}8fBTa(qxPt^iWsy=-{A 5Y27_zTs8?5{geW z8A@eF3$v!ox(fgQD0{tvzYflh7iq*Gm*X{mpeEmbZ?`1l8j`qJXcq42D4n>v`kB9A zKxcWMU}*Mpe_U|DP*wBP8nSr$E50aqM{xOgUAz&bErGcoOn&Ik4(e_*n=!hy5IPqx zE165K$` C4$x(xZFtYu(>u^8StX+``XOMAoQ zh4V9_Xf{IB$5lUX!No-in|P=+Kiz2BkvVy&Ih&1589n9wGj)0xSBg|BrSE-5K0$cX zu&bnov=$HWiYRK(=tWECXi290kj$jv8#xTU7VvHxEp4d!-$%{=VaCY7j`XEK*9So} z^WnSLMMVbR7Q4&9%c9$deEc>QGCm34%l%z(2CG;a=80wF^_YTR>~OCG7vqO- teyXVoaWixS0_7) +!)?wJg5IUBl;!V;gZTMO9lcv)Z5*G$0q~E36J3qM4F`q6kU{zgK%Y z1+J#lfqTPkYCcR6vvS&ZSBjj0XIMmw>A~%X#+-2_jstk8#j^*NJJ6Rl;??N}ytG52 zi&awGWWsN|e9$1%u^k=NBmy72f1UffzpgfjAx=@y_Lb6AXsz!YUF!JtlLpb|VBD1; zH7_&5ah<=*ue$da_W6(F`agf??2q=+mH7=r|8Rd&-&S-Y^`elRy80EocW^MyjWNp- ziO9IPH~o}TUipq*HCreC7wl+5hu){l O zGm8wss+0}SJ;B%5a`doQ5k`7vKe&$*;DSOrw-Cgl+bQR-Wj6LY=`nDCkcYH* o <517(M+f`72{zw
ujcxM^<6ob WdH8-Jg=VdtKRp&gX8 p<=xh_P%8j4Y4KQypK=Pg!=LibG #Jm?)&B7cEKEYA006F>E(vmG&kPVGGI?(M$bA58D)NDxF zW%dr&ni }6{=1v_~U8EWIWR@6nhV( (@DaRZyYtd&4vcufZ#++(-ASiA_{oTSH%M-<7>1dUSd?>@;SqN|!^&H7X2Bgf zAY8{vi>8baKoC4WC)LIHegYo? =8sQD(H zT`h2?@%*G0lwOz@%_Sx{Lb9l@z7epr%pV!mmwgcP HQj`IqOz!su&fK~hVx)0#Hjy?b5$5lOGKSO<;Nn6jv) qA8vBniv!7B#9PZg2aSr9@fmY^#b;$hqYZ7L&NxTXRQXjd zlD_g{ )nhw3}TGs?_`|z{KrRKJ_aG1pi9F3`r^gb^40 AoiOZk#xG;D2cN7MX)CPu^0KW?Ei<%u&W zuqKM3#wr|yRXpD#tX_SHT!={`D%nZU`|krIK>6T281UD70cxn24rlp36OLs!xYF(# z9Rq`%w+O3TszGaH*{!+{+@`ugQ2uE=%?Ep?FdR1i{Ggxh)qnm@&dJLK&%E2OHTJ S zcXt~LI?3-ZD{YYt^A^iS2El{HJkFa^|Br8YT>5O|9A^Sr3>kXBZQYl=+dL+_4sr7h zu1rYRoX*3*hBft&_tOXOZ|hNCeS0qPvwyU)&p*fHUw*2~6CLC*_NW#MvQD^uNyGOK z@Wk>o7VzDh!MQAvN=bZLU9*>ZxZ}oD^j(XruLMb8*f4GPnevT>XXn!?caKV*-%-{{ z4=(l{zEg7h`aUe|HmI?F^D)R(0F^{GFI*QjGc&VVGmofV Lp!d4-cP!rv} zsnAa3 Cdi4CZofs@~s -oZearC!NH&hqBy(PX!&JN1J@UEvv zzB{j$)S4bgwB7-@hv4(EY-Y1qNRxFfTifC)kB1rMZXQ`j<45Q*b=mXJwIj{g(7ZOh zd#3|8NN|dex)P3^^Q~p8h-3s}HU3|I?+?fK$MPu?@Wz6DIWW9|I=|ld3OeaT@pFr! z+!MG6Y?&_NvsnB@9Tv8r`ITgurCY2lQaQ_a7T&&N^ma-AI**oxbFJ%HACTOx{TF4y zlp6SWi@y0Y9vA=8)xm4{1aE#nf1fU<`ebGN?M@pn9|F}HmonhrnT(M@w~YX7*ZF=M z)ZYFgGyxQqVvkezy@>dD2)H(-2kv0j+}!+jwmq(C^4ja4Mw$Zeh$;1?-kn}N_osaj zIKC8Gly+jCLb6{rplwG1KRDEM-=FD8mm%|T=xb^UCVxk){hTUQ$J8`?)cP|H)lON~ zVBu5mws; *g%zr>}G{fZawz#-BNuv$;v8DVf*;qC^gins&=1i1M%hCRp_aj779yU|; z{mfwR1H!I7E&fv$!?sXBh_-^xeb%=AzW$B*>8JCRyTfJ%pgB)RY|#HP$v<{mHmbWj zeD8mxTwK$h=-^okw-|xF8WkIXS _ z|76>tVgtn5P)9t^j1PgV|Fb)>2xS3pHTT_;#O9U=25QpD-pBleZoIpLdbX>TbMO&C zZ!FQiC{S4VFRT5>k8(7jie;_0ez #ysnOeL|e1%*sjo6 zf&+me<-4-)jdRlTvAja~4#aPH9N7S%mG!}3eqnoiyGt_T5z98~&Snb5u{gWs=yOey zqZqy5rG~h#4co4^BNpY&n8cb_ZRCOy4H3C&%+J?#ok1IqGC2QsZ`9wYbuUuj*t5|5 zd(Rp#kc 4QZ?E=Mp_up(-hO{SGGK@NjE1#&67(eKYC-gDNH8 z9&UFD2XH#fn&Wq!D+Fs(qeD??VJ#H8 @4q383e+{jjVB{fZ0q z3K_C_SqyUwn7b<@v lJyM?)chnQB#ICm4J|sLPP6#M{$~2~r8kQSI&M2k&Ibz_ zd3&jKIR$kma8&jh%yNvrpn5a#Xus3L5kuM5&Teea1MDkAt-AB!O8EfSJk#>T`yU(W z?}jVsEwE-iUy*W_Kkig4yo9=2Tp3bg)Cog~sgpFz3j-nJjXkGXmD9M}fI7d;q=*@B z#14aQ>!7@XZ{R`vlNZ76?Q8@7&{Gi!X*4Za$|cmQX5TkrGN1Ypo?jo`uXPO YH9-m1B4x$l4+gzt+tNn z2Px?vJ|&zUEEO1lErZy~NOXsnCA1t678;lrVOI66F;04H?<@_pc7pBtJ@Fn(>E&u* zW|CXW_FGZ*t~rdxb~1qW;PI=QW<)9A`3m{92aBP0>Klz@R;o)`KleUfx@hPcFL^nI z&UOxIT75HZA|tTrIF%e)35Gk1{Zu<|6^-k}Bg@q)tUt{6+$^K}7AXlo+H9p^V=H49 z?#T#7ht)>{12|yQ*En<>;&GHB64sw-gLHc~-ame_%dv#>@cV@KvqM}}G8JXM&9BtY zT1`_0Jz`0Ge?gx2gMe2aRW|gWf%AGqZM~2drM^a^x$a+9l+gqG(gmDM9-cM-(Yo;C z&aY0NArbc9UJ*ayy9m*v*KO?((hU-ql@0FShcD&71A?k*=M$1dbl{AbK?-bW^BWSD zM 3Sg7>M|&g@jf#zm^+bc$EU<#2 zW$(#iRn0_dOan81CFTtlbe>Cc^5P4y9T3eY)3p3W2r>DgIu8%ClH ~j zTtvQ>S-atV{jXOSMl0=P#>^fTNO`{4=~n^LwemjjDI#lGN;%3s`C2@{mV_K;+k|oh z1t!LEb#$Q?W;G54 %I#IL<&xKguz2(PlVkoG-O}gy>cAv;+Tg_op$1t$o ztL%_vW>Kjb8K_ddIIl