From 9dc2dff84ae385cd3a719539ba9f7d72ea7709ba Mon Sep 17 00:00:00 2001 From: Ahmed Galadima Date: Fri, 13 Feb 2026 19:24:20 +0100 Subject: [PATCH] V2 --- AI_PROVIDERS_GUIDE.md | 110 +- NEW_FEATURES_GUIDE.md | 8 +- Plans_and_Todo.md | 123 +- README.md | 119 +- Screenshot-advanced.png | Bin 0 -> 407171 bytes assistant.html | 4 +- background.js | 1783 ++++++++++++++++- content.js | 178 +- contentScript.js | 2 +- local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md | 88 + .../__pycache__/server.cpython-313.pyc | Bin 0 -> 4550 bytes local_stt_bridge/requirements.txt | 3 + local_stt_bridge/server.py | 92 + manifest.json | 5 +- popup.html | 4 +- remote-access.html | 4 +- screenshot.png | Bin 37273 -> 186845 bytes settings.html | 222 ++ settings.js | 1296 ++++++++++++ sidepanel.html | 332 +-- sidepanel.js | 1508 +++++++++++++- style.css | 544 +++-- 22 files changed, 5897 insertions(+), 528 deletions(-) create mode 100644 Screenshot-advanced.png create mode 100644 local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md create mode 100644 local_stt_bridge/__pycache__/server.cpython-313.pyc create mode 100644 local_stt_bridge/requirements.txt create mode 100644 local_stt_bridge/server.py create mode 100644 settings.html create mode 100644 settings.js diff --git a/AI_PROVIDERS_GUIDE.md b/AI_PROVIDERS_GUIDE.md index 482943c..c780dc1 100644 --- a/AI_PROVIDERS_GUIDE.md +++ b/AI_PROVIDERS_GUIDE.md @@ -1,84 +1,66 @@ # AI Providers Guide -## Supported AI Providers +## Scope -Your AI Interview Assistant now supports multiple AI providers! Here's how to set up and use each one: +This guide covers **chat/response providers** used by the extension after transcription. -## 🤖 **OpenAI (GPT)** -- **Models Available**: GPT-4o, GPT-4o-mini, GPT-4-turbo, GPT-3.5-turbo -- **API Key**: Get from [OpenAI Platform](https://platform.openai.com/account/api-keys) -- **Recommended Model**: GPT-4o-mini (good balance of speed and quality) -- **Cost**: Pay per token usage +Note: Speech-to-text is configured separately in Assistant Setup (`STT Provider`, `STT Model`, language/task/VAD/beam settings). -## 🧠 **Anthropic (Claude)** -- **Models Available**: Claude-3.5-Sonnet, Claude-3.5-Haiku, Claude-3-Opus -- **API Key**: Get from [Anthropic Console](https://console.anthropic.com/) -- **Recommended Model**: Claude-3.5-Sonnet (excellent reasoning) -- **Cost**: Pay per token usage +## Supported Chat Providers -## 🔍 **Google (Gemini)** -- **Models Available**: Gemini-1.5-Pro, Gemini-1.5-Flash, Gemini-Pro -- **API Key**: Get from [Google AI Studio](https://aistudio.google.com/app/apikey) -- **Recommended Model**: Gemini-1.5-Flash (fast and efficient) -- **Cost**: Free tier available, then pay per token +### OpenAI +- Default models in UI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`, `gpt-3.5-turbo` +- API key: https://platform.openai.com/account/api-keys +- Good default: `gpt-4o-mini` (speed/cost balance) -## 🌊 **DeepSeek** -- **Models Available**: DeepSeek-Chat, DeepSeek-Reasoner -- **API Key**: Get from [DeepSeek Platform](https://platform.deepseek.com/) -- **Recommended Model**: DeepSeek-Chat (general use) -- **Cost**: Pay per token usage +### Anthropic +- Default models in UI: `claude-3-5-sonnet-20241022`, `claude-3-5-haiku-20241022`, `claude-3-opus-20240229` +- API key: https://console.anthropic.com/ +- Good default: `claude-3-5-sonnet-20241022` -## 🏠 **Ollama (Local)** -- **Models Available**: Llama3.2, Llama3.1, Mistral, CodeLlama, Phi3 -- **Setup**: Install [Ollama](https://ollama.ai/) locally -- **No API Key Required**: Runs completely on your machine -- **Cost**: Free (uses your computer's resources) +### Google Gemini +- Default models in UI: `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-pro` +- API key: https://aistudio.google.com/app/apikey +- Good default: `gemini-1.5-flash` -## 🚀 **How to Setup** +### DeepSeek +- Default models in UI: `deepseek-chat`, `deepseek-reasoner` +- API key: https://platform.deepseek.com/ +- Good default: `deepseek-chat` -### 1. **Choose Your Provider** -- Open the extension side panel -- Select your preferred AI provider from the dropdown +### Ollama (local) +- Default models in UI: `llama3.2`, `llama3.1`, `mistral`, `codellama`, `phi3` +- API key: not required +- Endpoint used by extension: `http://localhost:11434` -### 2. **Select Model** -- Choose the specific model you want to use -- Different models have different capabilities and speeds +## Model List Behavior -### 3. **Add API Key** (if required) -- Enter your API key for the selected provider -- Ollama doesn't require an API key -- Keys are stored securely in Chrome's storage +- For cloud providers, if an API key is saved, the extension attempts to fetch live model lists. +- If model fetch fails, the extension falls back to the built-in default model list above. +- For Ollama, the extension reads models from `/api/tags`. -### 4. **Start Using** -- Click "Start Listening" to begin audio capture -- The extension will use your selected AI provider for responses +## Setup Steps -## 💡 **Tips** +1. Open side panel -> `Assistant Setup`. +2. Choose `AI Provider`. +3. Save provider API key (not needed for Ollama). +4. Select model. +5. Start listening. -- **For Speed**: Use GPT-4o-mini, Gemini-1.5-Flash, or Claude-3.5-Haiku -- **For Quality**: Use GPT-4o, Claude-3.5-Sonnet, or Gemini-1.5-Pro -- **For Privacy**: Use Ollama (runs locally, no data sent to servers) -- **For Free Usage**: Try Google Gemini's free tier or set up Ollama +## Recommended Defaults -## 🔧 **Ollama Setup** +- Fastest general: `gpt-4o-mini` / `gemini-1.5-flash` / `claude-3-5-haiku-20241022` +- Highest quality: `gpt-4o` / `claude-3-5-sonnet-20241022` / `gemini-1.5-pro` +- Local-only privacy: `ollama` + local STT -If you want to use Ollama (local AI): +## Troubleshooting -1. Install Ollama from [ollama.ai](https://ollama.ai/) -2. Run: `ollama pull llama3.2` (or your preferred model) -3. Make sure Ollama is running: `ollama serve` -4. Select "Ollama (Local)" in the extension +- `API key not set`: save provider key in Assistant Setup. +- `Failed to fetch models`: key may be invalid, provider API unavailable, or network blocked. Default model list is used as fallback. +- `Ollama connection failed`: ensure `ollama serve` is running and model is pulled. +- Slow or expensive responses: switch to smaller/faster model and enable Speed mode. -## 🆘 **Troubleshooting** +## Storage Note -- **"API key not set"**: Make sure you've entered a valid API key -- **"Failed to connect"**: Check your internet connection (or Ollama service for local) -- **"Invalid API key"**: Verify your API key is correct and has sufficient credits -- **Slow responses**: Try switching to a faster model like GPT-4o-mini or Gemini-1.5-Flash - -## 🔒 **Privacy & Security** - -- API keys are stored locally in Chrome's secure storage -- Only the selected provider receives your audio transcriptions -- Ollama option keeps everything completely local -- No audio data is stored permanently +- Provider API keys are stored in extension sync storage (`chrome.storage.sync`). +- Keep least-privilege keys where possible and rotate keys regularly. diff --git a/NEW_FEATURES_GUIDE.md b/NEW_FEATURES_GUIDE.md index ea36f52..e39998d 100644 --- a/NEW_FEATURES_GUIDE.md +++ b/NEW_FEATURES_GUIDE.md @@ -10,7 +10,7 @@ Context management allows you to provide additional information (like your CV, j #### 1. **Upload Files** - Click the "Upload Files" tab in the Context Management section - Click "📁 Upload CV/Job Description" -- Select your files (supports TXT, PDF, DOC, DOCX) +- Select your files (supports TXT, PDF, DOCX) - Files will be automatically processed and saved #### 2. **Add Text Directly** @@ -44,7 +44,7 @@ AI Response: *"Based on your background, you have 3 years of Python experience a ## 📱 Multi-Device Listening ### What is Multi-Device Listening? -This feature allows you to use the AI Interview Assistant from other devices (phones, tablets, other computers) while keeping the main processing on your primary Chrome browser. +This feature allows you to use the AI Assistant from other devices (phones, tablets, other computers) while keeping the main processing on your primary Chrome browser. ### How to Enable Multi-Device Access @@ -94,7 +94,7 @@ This feature allows you to use the AI Interview Assistant from other devices (ph ### 1. **Reload the Extension** After the updates, reload the extension in Chrome: - Go to `chrome://extensions/` -- Find "AI Interview Assistant" +- Find "AI Assistant" - Click the reload button 🔄 ### 2. **Configure Context** @@ -177,4 +177,4 @@ After the updates, reload the extension in Chrome: 4. **Practice** - Use the enhanced features in mock interviews 5. **Customize** - Adjust context for different types of interviews -The AI Interview Assistant is now much more powerful and flexible. Use these features to get more personalized, relevant responses that truly reflect your background and the specific role you're interviewing for! +The AI Assistant is now much more powerful and flexible. Use these features to get more personalized, relevant responses that truly reflect your background and the specific role you're interviewing for! diff --git a/Plans_and_Todo.md b/Plans_and_Todo.md index 9f933b4..29d921d 100644 --- a/Plans_and_Todo.md +++ b/Plans_and_Todo.md @@ -1,78 +1,111 @@ # Personal Browser Companion - Plans & To-Do +## Classification +- Core = works in extension-only mode (no extra server required). +- Optional = requires extra server/services (MCP, cloud sync, external APIs) and is opt-in per user. + ## Goals -- Start local-first with an option to sync to cloud. -- Online-only operation (LLM required for decisions). -- Auto-start mode during meetings. -- Integrations: calendar, email, Discord, Nextcloud. +- [ ] [Core] Start local-first with an option to sync to cloud. +- [ ] [Core] Online-only operation (LLM required for decisions). +- [ ] [Core] Auto-start mode during meetings. +- [ ] [Optional] Integrations: calendar, email, Discord, Nextcloud. ## Phase Plan -### Phase 1: Local MVP (Foundation) -- Local storage for sessions, summaries, and user profile. -- Meeting/interview modes with manual start and overlay UI. -- Basic memory retrieval: recent session summaries + user profile. -- Audio capture + STT pipeline (mic + tab) and transcript display. -- Privacy controls: store/forget, per-session toggle. +### Phase 1: Local MVP (Foundation) [Core] +- [x] [Core] Local storage for sessions, summaries, and user profile. +- [x] [Core] Meeting/interview modes with manual start and overlay UI. +- [x] [Core] Basic memory retrieval: recent session summaries + user profile. +- [ ] [Core] Audio capture + STT pipeline (mic + tab) and transcript display. +- [x] [Core] Privacy controls: store/forget, per-session toggle. -### Phase 2: Smart Auto-Start -- Detect meeting tabs (Google Meet, Zoom, Teams) and prompt to start. -- Auto-start rules (domain allowlist, time-based, calendar hints). -- Lightweight on-device heuristics for meeting detection. +### Phase 2: Smart Auto-Start [Core] +- [ ] [Core] Detect meeting tabs (Google Meet, Zoom, Teams) and prompt to start. +- [ ] [Core] Auto-start rules (domain allowlist, time-based, calendar hints). +- [ ] [Core] Lightweight on-device heuristics for meeting detection. -### Phase 3: Cloud Sync (Optional) -- Opt-in cloud sync for memory + settings. -- Conflict resolution strategy (last-write wins + merge for summaries). -- Encryption at rest, user-controlled delete/export. +### Phase 3: Cloud Sync (Optional) [Optional] +- [ ] [Optional] Opt-in cloud sync for memory + settings. +- [ ] [Optional] Conflict resolution strategy (last-write wins + merge for summaries). +- [ ] [Optional] Encryption at rest, user-controlled delete/export. -### Phase 4: Integrations (MCP) -- Calendar: read upcoming meetings, attach context. -- Email: draft follow-ups, summaries. -- Discord: post meeting summary or action items to a channel. -- Nextcloud: store meeting notes, transcripts, and attachments. +### Phase 4: Integrations (MCP) [Optional] +- [ ] [Optional] Calendar: read upcoming meetings, attach context. +- [ ] [Optional] Email: draft follow-ups, summaries. +- [ ] [Optional] Discord: post meeting summary or action items to a channel. +- [ ] [Optional] Nextcloud: store meeting notes, transcripts, and attachments. ## MVP To-Do (Local) ### Core -- Define memory schema (profile, session, summary, action items). -- Implement local RAG: index summaries + profile into embeddings. -- Add session lifecycle: start, pause, end, summarize. +- [x] [Core] Define memory schema (profile, session, summary, action items). +- [x] [Core] Implement local RAG: index summaries + profile into embeddings. +- [x] [Core] Add session lifecycle: start, pause, end, summarize. ### Audio + STT -- Implement reliable STT for tab audio (server-side if needed). -- Keep mic-only STT as fallback. -- Add device selection + live mic monitor. +- [x] [Core] Implement reliable STT for tab audio (OpenAI Whisper chunk transcription from tab/mixed audio). +- [x] [Core] Keep mic-only STT as fallback. +- [x] [Core] Add device selection + live mic monitor. +- [x] [Core] Add separate STT settings (provider/model/API key) independent from chat provider. +- [x] [Optional] Add local STT bridge support (self-hosted faster-whisper endpoint). +- [x] [Core] Add STT "Test Connection" action in Assistant Setup. +- [x] [Core] Add multilingual STT controls (auto/forced language, task, VAD, beam size) with session language lock in auto mode. ### UI/UX -- Overlay controls: resize, hide/show, minimize. -- Auto-start toggle in side panel. -- Session summary view with “save to memory” toggle. +- [x] [Core] Overlay controls: resize, hide/show, minimize. +- [x] [Core] Auto-start toggle in side panel. +- [x] [Core] Session summary view with “save to memory” toggle. +- [x] [Core] Sidebar automation preset selector before Start Listening. +- [x] [Core] One-click session context selector before Start Listening. +- [x] [Core] Profile-scoped context loading to reduce cross-session prompt leakage. +- [x] [Core] Profile manager UI (create/edit/delete profile with mode + prompt). +- [ ] [Core] Import/export context profiles. ### Privacy -- Per-session storage consent prompt. -- “Forget session” button. +- [x] [Core] Per-session storage consent prompt. +- [x] [Core] “Forget session” button. + +### Advanced Settings (Core) +- [x] [Core] Open full settings window from side panel (⚙️). +- [x] [Core] Webhook test: send sample payload and show status. +- [x] [Core] MCP connection test (basic reachability). +- [x] [Core] Cloud endpoint validation (basic reachability). +- [ ] [Core] Automation framework: triggers + actions + approval flow. ## Integration To-Do (MCP) ### MCP Server Options -- Build a local MCP server as a bridge for integrations. -- Use MCP tool registry for calendar/email/Discord/Nextcloud. +- [ ] [Optional] Build a local MCP server as a bridge for integrations. +- [ ] [Optional] Use MCP tool registry for calendar/email/Discord/Nextcloud. + +### Automation (Rules Engine) +- [ ] [Core] Configure triggers (session start/end/manual, meeting domain filters). +- [ ] [Core] Configure actions per trigger (MCP tool + args). +- [ ] [Core] Approval mode: auto-send or review before send. +- [ ] [Core] Run actions on session end (hook into session lifecycle). +- [ ] [Core] Manual “Run Actions” button. ### Calendar -- Read upcoming meetings and titles. -- Auto-attach relevant context packs. +- [ ] [Optional] Read upcoming meetings and titles. +- [ ] [Optional] Auto-attach relevant context packs. ### Email -- Generate follow-up drafts from summary + action items. +- [ ] [Optional] Generate follow-up drafts from summary + action items. ### Discord -- Post meeting summary/action items to a selected channel. +- [ ] [Optional] Post meeting summary/action items to a selected channel. ### Nextcloud -- Upload meeting notes and transcripts. +- [ ] [Optional] Upload meeting notes and transcripts. ## Open Questions -- Preferred cloud provider for sync? -- How long should session memories persist by default? -- Should auto-start be opt-in per domain or global? -- What data should be redacted before sync? +- [Core] How do we isolate interview vs meeting prompts/contexts safely? + - Best solution: Use explicit context profiles (e.g., Interview, Standup, Sales) with separate prompt + context store per profile, and require users to pick one profile before Start Listening. +- [Optional] Preferred cloud provider for sync? + - Best solution: Start with Supabase (Postgres + Auth + Storage) for fastest MVP, then add S3-compatible storage as an optional backend for enterprise/self-hosting. +- [Core] How long should session memories persist by default? + - Best solution: 90 days by default with per-session “keep forever” and a global retention slider (7/30/90/365 days). +- [Core] Should auto-start be opt-in per domain or global? + - Best solution: Opt-in per domain, with a one-click “trust this site” prompt on first detection. +- [Optional] What data should be redacted before sync? + - Best solution: Default to redacting emails, phone numbers, calendar IDs, and detected secrets (API keys/tokens) while letting users add custom redaction rules. diff --git a/README.md b/README.md index 2b7f40a..5c79810 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,66 @@ -# AI Interview Assistant Chrome Extension +# AI Assistant Chrome Extension ## Overview -The AI Interview Assistant is a Chrome extension designed to help users during interviews or meetings by providing real-time AI-powered responses to questions. It listens to the audio from the current tab, transcribes the speech, identifies questions, and generates concise answers using OpenAI's GPT model. +AI Assistant is a Chrome extension for live meeting/interview support. It captures audio, transcribes speech, and generates concise AI responses with configurable chat and STT providers. + +Current extension version: `1.1.0`
- + AI Assistant side panel
+## Screenshots + +### Main side panel + +
+ Main side panel +
+ +### Advanced setup + +
+ Advanced settings +
+ +## Table of Contents + +- [Documentation Index](#documentation-index) +- [Quick Start (2 Minutes)](#quick-start-2-minutes) +- [Features](#features) +- [Installation](#installation) +- [Usage](#usage) +- [Custom Sessions (Context Profiles)](#custom-sessions-context-profiles) +- [Automation in Side Panel](#automation-in-side-panel) +- [Plans & Roadmap](#plans--roadmap) +- [Recent Improvements](#recent-improvements) +- [Privacy and Security](#privacy-and-security) +- [Troubleshooting](#troubleshooting) +- [Contributing](#contributing) +- [License](#license) +- [Disclaimer](#disclaimer) + +## Documentation Index + +Use this `README.md` as the main entrypoint. Additional docs: + +- Product roadmap and task tracking: `Plans_and_Todo.md` +- AI provider setup/details: `AI_PROVIDERS_GUIDE.md` +- New features and updates: `NEW_FEATURES_GUIDE.md` +- Local self-hosted STT bridge: `local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md` + +## Quick Start (2 Minutes) + +1. Load the extension in `chrome://extensions` (Developer Mode → Load unpacked). +2. Open the side panel and set **AI Provider**, **Model**, and **API key**. +3. In **Assistant Setup**, choose **Speech-to-Text Provider** (`OpenAI`, `Local faster-whisper`, or `Browser`). +4. Configure STT quality controls (`Language Mode`, optional `Forced language`, `Task`, `VAD`, `Beam size`). +5. Use **Test STT Connection** to validate STT endpoint/key. +6. In **Session Context**, pick a profile (or create one in **Context → Manage Profiles**). +7. (Optional) Pick an **Automation Preset**. +8. Click **Start Listening**. + ## Features - Real-time audio capture (tab, mic, or mixed mode) @@ -15,8 +68,12 @@ The AI Interview Assistant is a Chrome extension designed to help users during i - AI-powered responses with multiple providers (OpenAI, Anthropic, Google, DeepSeek, Ollama) - Persistent side panel interface - Secure API key storage -- Context management (upload or paste documents for better answers) +- Context profiles (prebuilt + custom) with profile-scoped context isolation +- Context management (upload or paste documents per profile) - Speed mode (faster, shorter responses) +- Automation preset selector in side panel (automatic or one selected automation) +- Separate STT settings (OpenAI Whisper, Browser STT, or local faster-whisper bridge) +- Multilingual STT controls (auto/forced language, task mode, VAD, beam size) - Multi-device demo mode for remote access - Overlay controls: drag, resize, minimize, detach, hide/show - Mic monitor with input device selection and live level meter @@ -38,21 +95,56 @@ The AI Interview Assistant is a Chrome extension designed to help users during i 4. Click on "Load unpacked" and select the directory containing the extension files. -5. The AI Interview Assistant extension should now appear in your list of installed extensions. +5. The AI Assistant extension should now appear in your list of installed extensions. ## Usage -1. Click on the AI Interview Assistant icon in the Chrome toolbar to open the side panel. +1. Click on the AI Assistant icon in the Chrome toolbar to open the side panel. -2. Enter your OpenAI API key in the provided input field and click "Save API Key". +2. Select your provider/model and save the provider API key. -3. Click "Start Listening" to begin capturing audio from the current tab. +3. In **Assistant Setup**, configure **Speech-to-Text Provider**: + - `OpenAI Whisper` for hosted tab/mixed transcription + - `Local faster-whisper bridge` for self-hosted STT (`local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md`) + - `Browser SpeechRecognition` for mic-oriented local recognition + - Tune multilingual/quality options: + - `Language Mode`: `Auto-detect` or `Force language` + - `Forced language`: language code (for example `en`, `fr`, `de`, `ar`) + - `Task`: `Transcribe` or `Translate to English` + - `VAD`: enable/disable silence filtering + - `Beam size`: decoding quality/performance tradeoff (default `5`) + - Click **Test STT Connection** before starting live capture -4. As questions are detected in the audio, they will appear in the "Transcript" section. +4. In **Session Context**, choose a profile (Interview/Standup/Sales or your custom profile). -5. AI-generated responses will appear in the "AI Response" section. +5. (Optional) In **Automation Preset**, choose: + - `Automatic` to run all enabled automations that match each trigger, or + - a single automation to run only that one for session start/end. -6. Click "Stop Listening" to end the audio capture. +6. Click **Start Listening** to begin capturing audio from the current tab. + +7. Click **Stop Listening** to end the audio capture. + +## Custom Sessions (Context Profiles) + +Custom session behavior is configured through **profiles**. + +1. Open side panel → **Context** → **Manage Profiles**. +2. Click **New Profile**. +3. Set: + - Profile name (for example: `Interview (Backend)` or `Meeting (Sales Discovery)`) + - Mode (`interview`, `meeting`, `standup`, or `custom`) + - System prompt (instructions specific to this profile) +4. Click **Save Profile**. +5. Back in **Session**, select that profile in **Session Context** before clicking **Start Listening**. + +Each profile uses its own scoped context store to reduce prompt/context leakage between use cases. + +## Automation in Side Panel + +- Use **Automation Preset** to choose how automations run for the current session. +- Use **Run Selected Automation Now** to manually test from the side panel. +- Use **Advanced Settings (⚙️)** for full automation editing (actions, MCP tools, webhook args, triggers, approval behavior). ## Plans & Roadmap @@ -76,11 +168,14 @@ The AI Interview Assistant is a Chrome extension designed to help users during i - Ensure you have granted the necessary permissions for the extension to access tab audio. - If you're not seeing responses, check that your API key is entered correctly and that you have sufficient credits on your OpenAI account. +- If local STT on a public domain keeps failing with `Invalid HTTP request received`, check protocol mismatch: + - `http://` endpoints on HSTS domains may be auto-upgraded to `https://` by Chrome. + - Use a proper HTTPS reverse proxy in front of the STT service, or use localhost/IP for plain HTTP testing. - For any issues, please check the Chrome developer console for error messages. ## Contributing -Contributions to the AI Interview Assistant are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests. +Contributions to the AI Assistant are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests. ## License diff --git a/Screenshot-advanced.png b/Screenshot-advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..e289ae688b7596ca337686c921c8fff063cb1ad3 GIT binary patch literal 407171 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 z�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

(C3Mhnk`LZMZVeJa_6lgZA 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%0DwBq|7-OMo?sd1Zym3Z`a0@PqE6aQ|lE9op@ z<56b>-n)dozSS*v;Q&=VhHWfqSGOmc+sg-HVdmb;Tmg_>KnJa3T&(fFWO{K_XFsn7 z9?}d+G3RQMxW`j*>Q7aKZxb&Lvo$|);~CBoqs#IYAG2$Zt42T415@2?r8kO89lp_b zts7jC9heEMO&QLgykC|BMOwy#fYmG33Lg%9{@TXbr+b(++h6xv(Rapy9r?DyhZNi7G~c`f~0bYqyio*&X&Fo zYNPLle5#trTidR6?iGEFXQj?Co6q69N=?zOY22=c=(Wly>3ufF6sg;LM7q+ya`P8-kw}k4|7%yOV+O|7s@FmlWJVw76QYmu zVQ8T}^srYY8Jv@RDEb*C{kCedoVGlB;qNgLMO84%c}O0%Vp87e{H2ncvjmMfebgL2 zet#4!u|_O6B!xIaSPkU|1b4YWBmes9rX ztC+)?^WH+ZrsB{I+qWd-47Ub3KG$LvV@zK`1z9-k@;zM<_gXI)@S@v1^kVWS?YWE# z4)z6xYb7GjCQXT+Xsh$3){MtD^iF$`>*6{3%o_nR=z$kkF*{|__2VNgNCe}8gC9D2wvYhznYNp?lE(YkY!LyN|De`q|7QeME!9qc<55u;&N^lMjInTt~ej{^*b zY~j!a<`9ACKeAU&socApV5;E z(`u!IfBGUxy4{oEcJCKZ9M*N|vx^5e`Y4haH!;&U8poM^v6a4GUqmbi`eTkOTfS{d4=EyxsT<)6ebZh1;20-KNy^@7?tY@S3*$97d>-ll>sqE#0uHX|c zjCD}FX2KPoxWXdfWUj=mh#<-|xpB$5RC@$kWRx}Uod@CJ1x5;Lo|^5O;UOPM14KEF zE;p*?je_-20&!AHsL9n%?qOzz0#&V_QWgq_|>DkyX>Z{;Kf*<@}E7hAdF%;tbCx;fc&ZnWWT>r#v8+3}a9Ml+w0iH28Ry&o)SI2*G!9V(hF7t6 zZPdyrlZG;r?;j;3kP%Ut3dN3fm3%EI0UP9SC%%5|{i)+EspB@DTaa1k|cy`>%5XQM1ZKi2mq8$Q-py<~N4-P{GBjg+B< zE)eFiFED_3XGh}$#W~->8=iNx@wJMu8ss|Oh!l(0UWu##B0&Z%O5^*lX0{1*pba@1 zxJ{kNO!u%}`Ql=+a0M8i17ay+XUftQBeIX<{G#MXqFXv45TB1(R2mdS;EOQrA7O|l zY*aWID>(MKc0@m~ZZ#|r{o7TEBSN|hK8APK+}(t4{O6+WAQsN7S9)r+ADTw|?{c20 zb*jl4xESy^3~y$7_6KF#S-GohndX+;pf|$6`CwG7-G2vEvJ5o)JCr(gLub=0Hdke| z=jMD%AyU!0c3K!f%ER51rSI4IpLG`uJmA08?x}^$;tAsuPqqff=20lDeJk(TQg0g2 zxs(R~F{dUl!W^mq;FJ99hj}nUxum9+x4Y;18plt1MAdGR)ms{9|D8XGP-So3vkH1A zN_bgl)>2RFJHMt_XFymHqy#jK5rFw9%p8nnk*V}wxcSXp^QMsJo{SpLhHQmDkg*N$ zzxw6|OkzLDG&z^H-hw&WV_cpy zfwj(^=ckaPqsWsFx00BBHTb>;K$lpRXiC*vpaMwxTMb!Jff7^9Gt~>_pO>d4a?r}k zE74-cl)QJn=6Aw)>aqAtL!hogOy_(rDpYZ?x0?kG##c4|HdVhiYd-?t0D9u8W2oZO zm=Mf-(-Fn)+>S$VPe&%<&*6Yt>Y4sN_+{@xFi#l^xZYnx`5hqX*dB`AYp;$)k^Z6G z4Fmg_R-G3R=P%?SBuVnW z?&b_nuw6B7jhR#rAtrdq6bx8bsyb_V^EHG1ihtA|bdP83@NC9R zs4M_VTOV)^n>#lJ9L<~V*}+y@a7obmD3-XQ7?iZ&@!g5pJ|H+CmU+5z;jqI|6fbkY z$5)Cj^CHHI$1iVZv1p4WOJ$KGvatuj;b{#XJaAuRnP*sFDF0y98|YURk5B3+r9?hS zix;vJzUMvJCGm$u4PPydFp*nZc9fTRiUcfh*8e;R)S2vmL@+5#8>(m?GZy^ZD&SoN z_YehXj8SAvmCCMA@w(>Rm8j>XNf(WFg?H{x(;WFkX5e~w38Y%7xq*h(wMtahA}*KO z(c?KeZ`I&vimyy$J1ua#vhYu0dwq0vFNT^n*g$Ek6QmCw8{IYL&rV$}^YcDX>=nj@ zB`D|M^7&!Q#%rTHtD@lpg*Piv`xi4GK>KCWjT`ZYN_lBaS)Z8i4Qpq@ebmQW)Mroz zhc(TI9Yak~Bl&&^)FlQ9V<+~`?jk3B{D^lN8Fyq0clT8S3eTKiNDoN>98SbPF*v)Nu@UDE1PAy3$o7- z%pFw@v_WN3R@cl6WQA{-1aF_x%%9yIcu@|k?i{|~6gHl__Ih?sVO**$f^1A2-fmks z*h;FLKkTq?VSPrg2MOEsVBRuCgvt_TUMwb?%CrvA{W%;bEirWvjc1>8jdjcPzLdHC z;3GHhg$(|O9H6ncD(1kD&UT=?j*9Ge7E+j$W6fFi=m$k&Bt1w_^vP}Sgv@& zF7gAf-QkLDM&!$JGfgz*qIJrO!p!{-G4+SlgcmP;SwX_j!vgZRAs|fL7R^ZQHp-+s z2YhxMrVjk1q(^br5j-OXV5%w6&<>Hk<6vdZ|2KLe0&m{`lL1(O$3A;A*H6vOVoB-+e#n;V`-+T(@k>PM)+;&u2QgcVX9@eMD)HUUTRtz(waI7jN% zk8iF?*SvWUf0~b3IWmUHfv>}V5pP{3-+m+=vW~>jV)X%^M?S=Z7iW4B&BKM_z_Xdk zY)vz7^ox|6D!3sWp2U*za4(myuU$#jYyrT1r=H04S{Ckvz3)P8*j=j`{Nq~oJodZh|hG(TN>fmTjO zNQ9589!N7F;Q@vV_kNHWU|Ko)A$4Jkag6L0+KrDvhR9e zaOL7~uF1m;N3{L~UU6zrb~7WZr;sWTkJ;e(Y}q;%{Xo_W6{iRA3eze{ z&7(@{Y`zQ180*;%SoHAeZ9d<3A7I|dG?3a8HUE+CsmFx{=26EpAd>m*=}|*Me%Rud zDP=XYrn59cl1&v$-p3y1+u%GMsmU(zmODN}Iv$?Ub0PHm6pf?Hwg;QtZ_Dc?KiIWJ zh?;oDYYL>utdu2%`FOE?P%x2d6znQd4uSWQ`X{1^4YUhZ&W^bWSMIEZ+;q>5^xr(~ zv;Q?_uYDPxS{Zy)m@R5}S2x9BzRej$x6#@73G53Y*~Nap)|Uj8*9D3l-Th%bEe;%0 z7L+|tE|oKw|M^DulWxlV4W0sKCJ#9Bxt=}yN@e-&@Tfn4<6Pl6!Ui*3`C4&sZ#FrN zM;_cl6*)DlBlb?6WhYn%^!h_)Rox$CDQ}$P$=i|iSYnd46hkjJc z@6^-gsPRmbyS)qm#X%nb!%`@7Jc{wu8J=n4LzfD|#Js$YU{nD;)rAvV_nj05lD!g* zwGMnv2eaphob2rn6% zc`T?%Y$Ry9I~E>;Um&cf&sP*A){l_mp6m0!|D`wBX!-$zb_Ob*ksT5|JC|i9zw#ZX zXR>;1E>Gl$X1nsIZi#bm3ZQK?kqnTz4&*P^^t^V(+x)zClEgHSoV#t6=c4{y)8&tX zniyMN5y7IfoRlC3>5C&pJI}{|w#TBerDD&0aX{VUynGCaod)M3&AZO&fk^gld(k=_ za|ugIjYNkzDFAzbyVyYeJ!fQ8K@xxl?mdfWvQk0r)tY099WNTAaFz&OSX@aHWELu~ zGze9yAf2+0@IJRaN$~(9n7B_IXz;T1m?3Y2c-UkK7?Due=E3yZkE! zjlLS(*#l?_={}h-x$Rldvsgp1MQ3}nN9w5osP;RqW*>;)4)e=PkpL=5XMK$3^4I12 zy%up#EhUq=l;r~WzcE}mEVi~IkFSWGO;xGQ8Qi9@hcfX+6r|XM{U#BZymFbZ`)EU! zzPU6cGCb$uZh0LCpsQDN_VVW!h&OK3O=+h=IbKH2>(2x-M;`q*5OG6Iv$!^=rwex8 zdyIK_*N-T=_Ii8M4v!=iWo&+*^d4urF6^iC}e|fyBn_V&44K$0}kQd0!f;k6I+YJp90~&54 z$wtt>q)&+M7>R;*EF9*p0lL0{$nDWB_oGj5%^FkbygvVBB#DD{KTBD0JFmYLNNir4 z5B}SfY<(}GG@B_~kw`&;^TXT+0x zBA$-A`A8bFNtv&j&tW@Nq8(vL{z@^>-GQL~c8~-%ewOhlbK7iw)7Mo|%!uqk+YS~V zow!jfIannfHK;Oq`7IYUEBc#9^Xj9Yo0$&Ye~7LGaLCR}RZV|!wHEhb??3-83{UKk z3Q2gj*EGvBpZ~{u;BN)s(O~)qr&1nqR21z012F4VXD;tQFRF3&I-LVBE@-dkd7o>N@gDb^3!lckeAFHUrYID58<*F@JBJJ+$J{hu+78!UmrG9yni9AC z3YKvex_W)k;mk+nAPSl9_QNox#LVCT|E+(b6kB!%g~a+iriFg+$P)w_`a6{@AiW#VG%@o>?~~3xK8%l;gqA#ZzC%Ub zc+u=^7ku{FIEGdmTqWL7aBN7iy#MP{sgdf0>LZdyI3e3*Z^(+ZTQobAQCB#e3%z7@ zx4-1K=Re1pK&NFaTWOt+DX6SZWjhvFk5Jmbuu%a=Pc8h+O-hX$BH*O`*GCh{&Xu!2 z7T5Zm(fS+#FgNCr^?x#YSZMQT5%MNw(CZ#_ygw4wH!TC>L);p>a_(_`J`!8;DTn{t zKa!0W2u;VKCuai$XB>Qh`0bZKD@cE2VQpA5m@pp99v^Ma&wy(2JfFgfzv@ff1qN6* zX_j}wRlIOd|DOB^IG1f3L@2gg!MP{zv^`H-R3mrn&0XjI0%~Qkf@ESRXs|Vm?D?3z+XnA8%=R%y`D1 zm6;zut{0Z6G6LKcex4FI#zQ{s!(*S0C1#lAXM5ThXa(zRv>Swk2aD0OCa#*CAJQN= zeqaAO+xg}H8?4$ESUdR;e<{jjE&)^>eSz`q)|8DtmvM}^mY2)+^|1OE0e4%f$4m8X z;|{*9RAwumM_zBVESOHC_O~j9f{*LDm!oykput`n1NHC|-xTT*wL<=2H!dJv<}6Z& z<}Ec`A4MG`{Nk*9C7s)&{63tfpQn!Bb`-?i#@n{szVc<0>_c3B8S-qA_)L1F+fmNy z->aCva;k3DdljbW*+Le>#eW^Eb;`+i7xm(5mxZj%K6)I!?Sn(5^r`9Ef95{uEJw|bOdbjq`BmfOsmPixH>0*2Q+ zWDzv|W(pSqKYU_Ztq6X>6arCNQi6x8ocXLbKV3W=X7?>h@Q{>66~xZ%*$Q0XUar5R z^$)cUhaB29En|rJqyDlZP^={TVIe_(!=%`x{!LKjVoEPEP#4{hRSlMtG%&EAzn8Cu zd|$3y_YQvP7C5wr5;o`V60o|n@cb|DmI9^fB5WAo9zLeOQ=A{BaP!T!P)@m!X@+yR zV#V?ea7Xea!R{gHWu7^gi6utD5*tqcMekp}>{`v>Uk!m_`LpLFnu^V$F$g7D0F&~A zgFFAF@+y9%xT;O{;Wx$Ps7?*y{5|GNNES1@Jk6EEf%mGHF=n=!77)A7&y{d_(`eu9 z5z>0w;;?Jw0Mequ0kgmGdZ@n>o2x%wr@dD=9kc=y&zD`{=n3oa<3-4>5@+7lv2Tx` zZB^#DrgbZ>G(??r66CWm_na{#ixEkrnmv=4nqN~!?`wTOHHI0+fNTXU4ARNX5?03j zZm+EprjH0hrZ^L8KM~K$cgFL&ruJ6pFhApJ{Mu$0j{~n38=;iAlS{3%Xa2rv>#y5G z1vk~XQNUzL*EZg3=EW^mT(p#pFQ8mwE6$V94^z#mDNr^d)cGYZNRYDM7c)I(l5XRx zGPg}s_yVtKo#56K=l~v1_%MaRjY=he6p-o?oK3BBHGDhaB}x6$vd6=}Ujyp5S8})A z76A0S0#t3=^8?SRP4@{k#IB|GTJn7O#(=c1{7%jIzj*1H-Ol7BK@NZ1-J?i~wuiB5 z*4_Q4zOV$yPj4)L=J`^6Xt6vX1b~62aZma|4qo6Y&O>X4dORvxU@XjMrRXdaezhE$ zmoY9sGTIsN#h?WvyR3XdiVIv|vbUVU7#JCi+O+u6#8jq(pkLjLW$CkgHEhyuBTUjP`61G-&qFPFD4 zrAu~MG*!L9rj#?TGg-i8aOfZ97z0S2QtLGp&(~IG>B$qh@0xMp?`R}O<0;O)9@A<{ zR{|TK9LKfN^*kWDTQ=bV^OIzJdv`jkeAJ2?okpPw;nQ1ouh84tV1mCLm7QLU+1 zR?TAPK-zL-*OqGwKXuGSfmYbwZ3&u)BS*By^ak9D8U(XDpYb0o=-&mj+*WK$h-mh0 zdXm+L>&5SvCuSs`QvNST6R;UrbBwz_@fSI}=DO{Idn&E$Yc3s+iQjlnmN>Ill>W(F ze#KK+VRb}9&NiJOm=6y6mW(|7yq_U8POR^Zv_2(k`u6dl#ps2!T(d7$@7>!doN@Q3 zDRf4D>FXX9rksgg7jWGkb!ODJG~u$=TmK$Em0nDgqZFXkL+ozdRT#;~2Lt8gM0H?V z)OV%_KSB%_WPWF)~AO2T!Ua&|2+p^<`*88Ix_W822EVMV& zFs~v?86s5}ydJ}17M)UaEKUD9r#^;4DT6TGRJ);=0V_@{!i&qElX>A(W(Axo+LQDGT&D!~V3@f!rszgeML_REUlyIJ6uKEc@B8q(TAmIp zvwrIcF8@#`V+ZuIXmGd`@r^Kl2JLO4FNKrD@mk@08Vr2Ie<@>ghV@SoX3E^_~Fg9b$66|@B)!|FS8|T zne%Eyh-vcqh%6Be#&fK+&F56DTf&P>rRNg#VF|13DSa^=zBZm|Bo(gMJ&hrzXL35|XqP<8q1kXwPJIk&{F{n&;kVX8!g zp-O>Z;p*+jJA&MkH_Q|;l^zG4BZ|+b)vjmT0C65kiq8#cL1nB3>%)q8i?nl<=bC9s zKO>np&Gsd|om@I6GYy9qDWd#4nS7l`?H}zneNkjWL5r+R3=20f0opt{) zz1%Zki$2}YX^ErmHagp33C$cfjPmZ6sTkB2jb|Y3a892K)<5g{FQ=J1mAnvS3I0*B zd9T|8`jAX==ULrxlI+!NNV((xxX&4aN~ya!zH@*IH9#`FKj#YIZv9z?!uUL|0bloQ z*X;^E)lyvV9_y}}N`paN_5PU5u zki)tV)`{k;Oji0a=c~GN433}yoDT5aT-9^gfU3U6Si^Oq(4ueHJ7IfQPME6Y5r6V6bqN4r3Lp5pcHq7- zm#1VD-8Hv>cSmUP7lxdrNUy6JALZjdm4_B)!6*k4Xd^!{!ZV zG=z?cKd8>!lzrx{WKx4$gLOJ1a64K+_}_NzWH&Bd=H&ml00|DuLh zdAr9=_eEF}<)S^KiQ~j&T>9a?-#f%Mu|E?9NjsM8OU}6_iq7eSdesxZoqs!IR5g23 zcIwQqPe;9ek5D|7BGkS1P_lT`rz%Wok^KXal@S^CRI`P(CyQAZs*;^}D$+EG4ku|Z zl0VJWB(YU$kWn7bh(&3VU%rwXS&l7KcH$5Pc_#P!_ zpg+{HA(VftT%!}kjCUF$LwTZa?0?>MoFka%p=nlRDf6V# z_+&>io>w?cC#tlgx+uafb>t6VGBC4ycG zSNGwXMuC?U?9IkV3gt{~HhQtL_bGvw!ba_rFVO*i=S(sA4p08uch<{HRkyZlpM*Ee zi+k5v?t)%>-v{ZKvOnM}%Mv0qW=S}&N^#CZ&2RNFxqX~7T*FO!C^3q2b;V`2(nsz@ zILYI$+tEIz>?2xCM-Png|1ux1RdDU##9cFgk%Qh#v_a;vX8YKg7wr>-+ddczsy4nV zHQQ*^l;{ofxOv%{ipF9ew#p~DUS9AlYT^yb8iOqRc z`NF+80gvW%Yl^TO$r{7yEz|cD7Lw#OI^sW7PVQ4fQ3}E-dzCu<*MDPExV;1JBI&tA zue!haiEAdO09tD`D3&EU7CR@|eN0{9or%VkT8VjoFUvsH#i^vWFqUMhYSk&+>!fe_ z5CTf6J#d)0JZTKuzu-|h#|@a?Y-QC)@rF$tR~>%tod*(Vwm(4ZuVY9e^%hHS!t%8V zh)W;!0)sM`{7N-+1>C)4A4f{|~-^=gufaIk&>q9!{#(fB1 zw#jlx-XCWYnUP80%A{I${OgwuE7h?$-{hXAeX>-QJRI~kU6(qxq3;)i#Y=VRYyiL4 z?3pqXmUXn&?LBvRSQg3SJ-w|MmB8-vHQ~9&4K2X5z(uBy`7GgC$IdK-pz;4< z*OCr7{8CSu9b+d#SV3te5B9BVEHJY#v4ry->| zdoy95_T$@u0gEXaL8p*@Oo}~f-*(5pr_f3$PPL~p#kmwCqCuov`fZ!xF}4s-yuO!v z7b-hAhP!|K|9^g72{cg)bsdxL+8IeWMu{2qI3Hf41nbclf6JM#pY2DtUAs%#_H#1b zJ6AyCw4~C9>6PJT0VY-41<7$h_UVYZQ)#S79yiFcg6||{tUuFmNbOeKy=;BkV=a8z zE8GbU=sP?~AO*2eLx&KDOd1~lg5&04KnLkpaaKx$Ely9WW9Xt=&p0(M!Qa2$NDDAu z{oK%89_m*3^9`Gp_+6kR@;JNub9B5y0x##70Oy>mypqwaW6i*FWEyC$irJ!;PCu!j zpHHPUdlnpI4DMQbD$fLRqSH@DNE(=XF_j4(i+0B|r1N9i1m>K+52y+`RocvN zlO{xsPXDiG0i}^UO-+9b-j&4c(hC_rqT~rENjwg~e~H3bZ1diz#A#d0Aa3~LOW|*@ z&8kK3F8e)RHhdMEHq9rvNy;w9L<8p+gANz<|J9ZX9>%wT985=(e)iJbU?>RFi@cYD zzSFilqPcbDx1C^JSIwyB-i~}TH2@dqtP|N-%a@1yGKYlQf66eKmbe*3*t{sI$W;P{ z2Bo$txM57qEAat+R85+$JZL*qq%lS-fQi(_H)#~!Wm@rL34J0 zaJyQePGz1XZF=65IIhB`1&RdH^M1z~%&t14W8a`dt)*_7mHiMhV{6SF|IHM0(k%f% z59ymypgjPhHp;PWoJbR>_U_v0ylfOWqmPf97mBiR!`s}0Vp z>h}&^+0A#*z_XaA-;ROxV-dJS=Ph36sYez`arpCfGylT|LhC4o1bxj0vLA|&*fo*X zi9^{%V)Vtm>KUMh)zem1C!)NjgfR8ScL22Q4vs9}G44G6LwKO(1n&C|DhvsDlM+@Ecr#=rPJImkl{;ninL7$791JP_cAT^`I*HmO1kLkw>ZucfjWB%dza#0F{F-pdITvh zQr^f;c)r~Q!m^r$YgzgpA5BWJQc!EEak$!aAav+%WO#SMUaoBIPn$54E+WS&CH&TE zi82u8Pgh9myq%)nI!#kvB+%`y@c&^cXoF&;0Pleyv{72CHwPm*48+!OF*i5F&LZxt z+7?_=CXMaSPV63+WRcZ+DXeB%95;*#ub@~=k0RZ|hORkOj1)+A0q%}ImODF-@0;Q( z%!}fbL!b#AK!Jdp2RO%vQAaZGJ^!KWV!1zR`cmCM_p3fq_NUmJI7<1HV@t7sfn5*s zUkxTOq5f?L^9B1vfOBw9?$v(iyR)BinqzQ++1OGj7&ZhH@bf;PBLyv-P_|t!Kfb-v zm$lCginLYffcOPB)eY#!l#d8kON(+sZ@){Gp5i5)t(v({4t4J9hDoxxHKJ!jUD63h_yA6KCRQA`(Yrt+_}CRjzDn;^%#Q?G@2a7G*k)5 zc2OEtFEyuvK-D8qp^2gE8MRV_xr%lx=x+xAF=^QzYu&lLEF{10M$o&~80@|1%-Guy zi0;nvX))CPEor=oDFA)(wPA+ZdsUu2JC@u%5-0*G|D_b-CUXAw6`(27`rcIHokh|P zi3bqV0uz#cf_#$#(YmZga^;lMBlzfs*WlivqS*cGNt>0Mpt{$?Y!^M~fRQ<7$ftBxn zC+#_gj6?Fm9Xz_enT7FFy*bylCjiqIG+;Y_s7mdm=U?JGB$rWtfon6In@@^Ogj=(n zI%QuMtGx;UBV()5qHc%p!y4lO-T*&{x9qo#>4BKz!khzXA+QI=1cwGl=VDV0gSHhb zmr6yzg!;yPoZJrRY|TsaV1fEwZPxC^QnOmtS8=A?Gwxm3&XgGYM;v>Yt{9?#DV;sI2R?~yCrzjeSX-eaLv0FvW!@VIUI_*IjilIN4tY|ObrlBx0;xoMa zQfKYY1g*Sb*hIi>!s;j>G8<$3#q*c{<_<7lM3d=~h0=ItY26757ws*PPc_6&?jh=5 zH@-3!U)y_o07w?B-;kN#=3o6|+D)J0YWa>AtpT5e@|3X9NPfDYA^fp>j@{72eqM*7 z^W)jW=7Dp{30)iB!*FIUyFUU_R$5=`4_~q+Kh^CtQNR%>^ln)#|;ut(PE3Z z&X4pq^@bix*&YjY?9Skw>ff)Gk!;*Go?py^rGx=7Zz)uB1}^PmDs1*cY{N79OI82x z_Tdt9%;z8~!Htpy9P+OcGHoZ-tq8Q)V%fSaR2P{uU^EB#=+JAfQl>*-E0Sz?o_vsU za@=mM!N~(7eM%KCo24&kDa52n5tu>;36bQ|XrE(dG^-7|KAf0>Xqx;}*v1Jcer>Y% zTfU5cog->jE_>zD-?eM*ai3gcZTyd`nJd5Ul-y8|U976t-?*;XddAJLSu2VFk**W% z3KD73TmNy%TX_uL$C$FOY_isqg&YPD7oa7#7UFdr8l28Rv1qr9ZY}TLmVjfd9=m2_ z>h1%HN`@F#0NZxRc;0Yd7v00Y#2jDu6t+AsGlDlQ+|L{>QeNyLC#7%ZX*0Cp?CnDQ zcbXBx)ie8${4afHQ$80zBd4&BNvouG_qz^uM2MUE{GV>DK3LgF&G3$U*3LTeIX{X z?N|T2p?=U`?O=2M4VgCOkUuY;2Zcq3xZ+*@wz?xzWavc$FnL%eNX=|dvd zYM-0+)wl&NuGD<>LsHnp6|PFK`P>?alQv7svVSVq1ly!3{SSF~vthUT*p=QeD0SzB0$*o!w)=Y19QrQYF3-z)?M2N^60ZHqJ z2u&A|w>j^A4BYre5-r6ZeBRo7#yg~zhy773Oj&=P_NZCUUeb9NVzSWIO?wl?S(hnj z-|apt&!4m_+rw!mrz;puMQwWW#JEF+7iNs)dGwINc`ruu=aE(>JFIK}-%!@Ue9xZV z__@-aZ|6vOB3WqoKW1aHrbMjR54=hJKSOf)QPX{Gu7wD+NtMf1a>Ql8Ss_2-nHG1+ zm{5M9ngzRlmWI?~YVv)P>0U%=7zEzt2Y3!Df^CB982UwiV{}y<8qM&VXTp9H1yxTo zeASOxFxs0@U2lGBe$QIBZ&~8-|FhUVP`vJpJn= zvrYkR)9Xu41zgKBawV6Wz;Ju58I28&qo=mS_q8VT1oUAxre?cTx zP=4=o$pZdr{Z4(d<9npC?VFEXQ9@3^^j{5b@mf5AZvHD6d0~%yBf!`0^fe{?>LJLw z1Zd+kB`{6D?YQ?`-Y4<}y~j5)6-cKV;#SPg5bxZQkiCE>KuQzV!9+i*8d8YCFFa;BoU_5CxmeSZ4!IoVdSQ#BaAbkA2%FxnMxp0PGXy6@4+k}m{GuJCp-g2HE$Omy)zlQ zqoCOB72ZgFQxVqElMGE2)$Gn z+Whe-w(oe}DDKehuvNR+e<~mq>hh3dUTXZQU&ST1vx);hG|1a*3eHC14zleU%L0NX z>I(~xGjaT6`#;bU@JraU9XTxw&id*(a(mEjH+i%>O5^KwOSNlLf;uiUqjPUdJj&p7 zp>Ognylc%YqU2y*192v1-`KB0sH6*~zK8+->0|O=t~LPG+~iWRG*3YfpDg87mAE|b z3nbb^uYCC}RIC$G4vZ}}tqJiq#`OpfHB%q$e-wE}6SY9I@?p^R4Ykj}>4TS^8^yP4 zN6e`)E#LOLF)UGr#m+EtOFS1E`D&wGHj6H$eSRguwV)`*cri=<0{6;81CH!#gY>PT zGt=0@Ud7BQQQzkj4J2HTIy)!o2hFNH!=OXkf1B=Aa{p<%2X}_(RRVS+@J6s0zv%iu+>ze?Pg(f$Im)1VV`$q%l-8Ru=I_Z)*cQ1)q|GfL;BYoci@#pq0sqtr&E!AGN7MC31Pj` zZ2j*914<}JmGe6`B!H8os{VvRd`Ru9@M?#NwAy59i~lkn$9gY=Rk;|JS!-|oNf83A z-r)c8@B5x-t6mmKw)bj~du4m<(qpG%QgC!>3?Ty?NKk`sfpJaBz#(^yf-iE}dr`2N z8d~Hby-J5yUi*1JLD&XI%rUdZ-S|QYhd9Y4P=+83};-%yvm1l|ZU|>$JnR#xF zR+PIrWy*>K7*b$KJqIVB{n!qqKo+oG0k~dHH}8K+dz4H<(}brP~jIFw$va8bn;scrIUl zYa%x$BWuC~;Kt3w3oE{Rzj7=+&q9onrQs5*y8-fjqoHzgb3^Qz!Ao+%NEh1o|8d|8 zBp@1y29{1W2KZF@uR~#P`s^>(G~m~jC(mfbw4SWMDYrhFNfx^|Q?t#31;}C3{8428o5K|3#+bmn`ok1H$c4;V>1S7v z7WbR9tdM%;(s&|oniq1F+#L)r7l=Y?v11`T~qWTA*lFM!cj>{RDc5T^>eB1 zFc(#3Wvh>CS&`YdEu43c2K(B#;+;b#tW}8+*L~yLao3Hq!AVY-Dt`sDQ*jtuB}QxZ z{~D)kPxS2aN%(ej2$5_5MusvnFee{XaUtJSOe-*uM1IlOTkefg(J^mC=KV745tKt0 z(leZ)Gx7LgQde5lYLY3@ACrl|G>1!2B#=q^kva{3MlO6x_W39(_q3k>1C`${+xer# zTlA(w+^If{Unc}|0xEFr3TU8u*f^-eGLlhX7s-gBAy4gkR@%IjGqIN&o~?6{!Y05j!^y&x*q+G~JM=-+=qs_no0Iq=-Re zRgWzaWzWZtaGmVk2+#zApdgCvJftDl26&~sYAd%%B5rhWGLrb?H!}5~}l1T@H_%(IrCOKhuscGtm>EPd>Z4$-2FV9f+Wq>!X*m+Yp@Xb1aAzof5rD=zo3Ms36d?LS^Ed_t~%H?8*1R{>*HtH3~VA}Sl=Dp}J;cMqnx zi3dc2PB%E3Pgp7=0?MA3K4AFei$fJU?8xY>89=MPwE7_E6Ev_=B|g1pFpvK)n*=q^ zf?AH|V~QWtJtRUFrq#{Rt)6-p*7|U~fQ;~J)C=$}9!I6>WJac(P6RG{CMFY{sgo=u z$%tLoQ1!&vM*`LlKgl)gqt8X?O(#=Yu5@zw|;3*fIW%v#Z5_^i)t(Q6x+Cn*DKH~ACyIHc=3$!LcsUG&YG z#5wROA{#L!M!0@Rsr+Y5_G)~pg6mwkywJ=}t}&L0fwetm>fe$9JE4YVT|u)B#7nVZ z^1)Pmi>yB5&&Jg zLDASxVV=6(-&T51S7X52hmk9`fMTD@tmtT*;5k?BVXAO3^zl1&Jw=?q3kqwBO;T_LOeEV!E2CT5hPrS7;!d5Sv)6q6^iPd|gSllH0at8*oBlDEerlSMfIb zN;vGyw(-%mfk=+rCvZTVQs5&kzm2X*q7AK2H~WVD7LG`QvFF+I%Xx*_ZjJxVvUW)( z($QZeH?_etZ56ZeGGl`FqD`^HPwyi8`=0Rq#?nPh_EpzRDQa(NoHFs@or`x}sx>iX zQ(0JsAq!O$qDe#c$XcVbZ&5Y;Q3D^-6h&0rUfDH3+H5`4P&9HVR)oU6m{A(lE9EY_mfbEeuV|urx$-OZ<-pyM1u1{*=^J@j17w2&)5+fQ1VWs;xuV0#ra-jbKH%i?~ zSK(idfz$&Zc-rRw8R=P}B`tCYf0FxI^F1+kauwI7x(Ad*pk~la+Db;4@CtkFwXIEM z%!Hj)ajgxfOHUR_Z4gz{Uy-vTit54J$~lFh*$(+sQQD)tMKpWqAN>NKOPH0Q4ia?)nb(|fij zHm{dfU4NbNqjw4sc9NY=l8+yHkK43UV}ZiPRD3l~;cF^4KFVTE(PF|148O2jKm``o z`^J<+``F{7IgjP)W#7cqGKH|T@IuO%KS{0cTsDct;PS6C#D8l8eNr3cFL@ypsd(jC z%DH>F$Djs_5WXQ15B$LvOz!s_sHU~Q!(VVCR)4V@`{2WAvh_eDYse>i`|L)0^H=8n ztm~r3Gd;q}>HbucYP@G;R3WxxJ{~Z++T~p2#POu3I|f6sxDivhIR@bcy`}ye!hOX{ z#wnvKFRpW9f%9^TTO<1LP16fj?O~E)%&B}^7scn4Y;U=QzOgQrYwCX{#tR-}`#$z? z?XR%U2RUJ>CzvQYBu9akyM zBB14n;a;!yzKYY;S3f@sA(qmKcV^C`#_ANo6N{lH1cgSU{K=K|AriGJsb+7l@;rDJ zGfN54*Fi-ly_lHxZxH{9rfb@wG{*3=-leN~gOrW8k0 zR;?S)%Zww7oKP7HHmATQTp|a4s$q9xwWi*Oq+61-z=?eHZv3a553=~rZngK=&`?X4 z{fnswMLO%m7hB#A^J_8mwGJD1!+NKEusSyN={XTW&mx`6BjXc^NbEUaLe_DzHh+GA zZ*glv$JW!~HyZg$h8XO<9J)Po>WP&-=MvHl77e3dd|d{f@<)T&TKMKkVp)}nARyw_ zJDj1GH~8S#SI|TB+7G3@0iL}YMx{C{EMrvUbAce=NQ7RRb&Et;BKO zkSnEBxy=LtyRfk%^jZMZ9!S%)^7MEh0%AWgGW2{wlDLQEt&MH0YjOKHDjFEj2>>k9b;<&IP-bI5Af{=kr-<7&e}}0Y%%=0)(Rm; zHpNH9m+}^O=SHwj-dRS%((v^ZiES!GN=Ibs2dyQ>v#WtaEZsrph|$AgWb zDHBYPNYC1OE|g5X_}hbpzqEjVG`*PqS^1rP4z$#dAH5^mN=g8iCbgo?15m}fELv&E z2SaMIY9#$mWEndS@hKCj!T<1FM0~zmza~9y8Zp9d@ROzzU%a#QOALFF%5(Lj`qm1a zbh#Q+34QibF@NLb{RcL!AFN*%W5{ZAt*uZPJ;?$YecJ}Y_6{6fD=TkLw= z-~8o>S;M=yZU=k-?0koJru}w9?hERPe;`e}jF8qa=tfHAc0 zte9_t0w`dyI#tbxIGUV%EFcz{ZXpr3={U`o?j=LW=3CVT;~BcW7O!Po?)Zv#ErN#1 zU|I@+KVxwU2o?a*9jr(w$7@0VYpS7r`u@L6fR(~?WUAD}W_STQ| za?-W8Mis=dj7uAVI?JKaWd>K_F?UXTI`4JK9M>z!zmDr;VKxj3ZtV8{?h8~>tfhUX zd$3J6{(u!{9pYnA{rhcFqK;G1=4ZZmD05!B(#}1U&sUu=?a}9`8rB-T`m?GgVi^VU zv#3rvEY}S5RVN22vrgZyZ@B7@@=IZB-;U2<&t#)>W5hkh`U8q@f0YO#_5Vk>u4}kC zr!Ma4sde0IyS}jDSgzndo{EnVqK_4>ybT)_nwzRe2|>0>e{f5O@z@4GoYzHokBizf z@@+7jFp0I$Klh~S;kxzVHE&dBAbF-nwKetAI0^Qd;ZaHdJ2rGxNfv8ahV>SbpgPa7 z=+-Cce@5dJ6GZLRs<%y(YLg+;9U_p?&H9(4^!0gB4AK$&%8bypcU9@|{<5ffW5uTV zObzQ-TMw*#qV>~jG_`#(3WHfDNs($}Z!U&-Ycq*!-euJ8%CKa_sE-HS0T}t(J z+z9UY7|a>E9`icw>wfJJK zW8^6_@mP((W{;fVKMI@+@%dPv`Y+c{(ywogetp7L%3j zy1GNrkQ(WbJ%32wC$3J z-lZF28uo0Je?1Ov2>HZN}0#L%YRHq zt*7TX&X8D)d;v~>r|A4P47qV(!gn%mvp$}>lG1q2et@LDtZBo^%KW?!-HGR@k83=6 z0NJx&oGkrHM_ui+r(X=ss6VJnQa!j-?d$sASpbPJ@FoK9Ww)N=aF&hYa^dT@Nne`^ zZ+0d_A=qmu>6!Z7!Rdn%h-bIR`Ad#(yEbR6)r$`g?O?S>hhDe>dnHih)S;zrNx4rq zbc?pD2KWyo*Y%qw$>;J!H#MY1moC<#hU^w^CvfL>afQb`&sI}$5gS8E972VQ5DtW~ zM`-Y|C-vpegUi>pM;FpBX;;J$H3V~UUz(00j4nI)i{OaQ1CLj`Cd4YBZ!1}~ zLS>KhspXQ8+_sXY8bB&edvLCTHuee z=T+nSIcv&;P~n;w4{pY2iK^G~V2eYdy|{r)d`*n#RACNM&rFJohg63-yuh$=I;l2oKWCs-OXH?Bjw<0*CpREYLZe+WLKTWSv= zpbLqAmNWES+2PAIbfA19XyMhBBaXmo8{VUnXo>6&O~RP=1*$GGkMKjLt4s|&r`meE z6SRYgh}pRgk~_77zF8TpP}c)om{{9@&W$La;lU%O7Yx80c5@0-Szj(V^;MW#GCSI; zhimu1&#sMni@xBRe4Cp7mHp#3oXrU>cQ%OkT$0O)g;`zP;qeQ|Eajb3+%583h==$2 zq|;q3!c8pD=Ku_i!==QKG2}OSa+9FK@9IE(wNyVRwBYu;cPOzkz5Xgzr?F@#^UZ_w zaQJCa{bSom!lsH0j}Lcsoz8?bPry+OVOwv)@0K&#MrqMJ5Xm@{1P9OIzj^p3)X|Gfvt9Mo#QrQ_K6bR&=Q%eK6&XBc6unz1mb ztLC;0*;RA*!LN3)k96SoryNX5mYCnN&d+8iAJSN!bTLVImA>AI8MNj^*#6PJ zdzY;l;FOs=Oe1D@M$#snSv7v`iP)|m^bP$AF|ae*6*mTtp0CCJ zR);;zfB57FFBwnX3Qvq5*VSm7+hI@K6z zW;GhMu_}CQ%5=w$xW*Ft6r93DIlJ^6N7fJKigowcZ}!J+vI&Fxia7`Ljsd9UthhMp zN7WU;ZeZmO|E3|ruXjM{p%j=|4uzx`3I8;Wi#u4#3clT(A%C=RDNVjrGZ5LxPAh0t zT7MAS)gb*>+fjk~_;D>yE>iDw zi$z>oY`*lS*7iR;e+;8lsX#3^V1G<=S#!sAn$$;{U91v>s*y8pG+k!d_Lgc5E4aGe z;rrE;5AqLNSMQ%zVAubGNR?7l=LowRLrxUot4DaRs>+8%z-*qkQQ(n}_{Yn%RREI6 zc1Jm+W*JGs_Fz5=cBFjR9ke*Gr236NVzon*4i&x4i_?*QcMBfC$=}f85z))~)$G1G znkKx@4C$RihgmgW{@qdp7fPb@(#hYPg4EdUN2YQ6AYJEEfiJUw&%-86p*_lvuBd81 z8?p2TG5WO4w>smRDBih;qh!6L*)+cye-Q%c7%%I z1d#Opwx4}tG zC}-1vS|fliFpafuYodWu%pp?DX<8mByluiF<5E6A(-df0{*=+=Eh0+<OAEa~r1h=Qz278cd=%k?Uof6yi@)b;a$sm6o?mxMD$QAfvURiF< z!tD6Bf7!3F7wR_ciX|3tSG*P$jpKx?pYm+AUwy6*4FBa{47R&$r$x`U=HBUeB)#5( zmsDpmg(I>Xm|DM0uIPA5nRgDq$8u6g-bdZs8FveCCIj2#Yuq{P}nKfVx#ohDfMeAXD^)G(`J)BaRNa* zLKusO!fPQ1d5WHa?(_NJw6`t^A~y?m!QP%1(|y*++rqh&lZq)P6B6S6L7_tx*_>n> z>PgQX;-os+wGTot_!-tkX2^s_LLWQ4R}Y2^IoMmgljd3xye;ADn+#&*;A$N4+yGI3 zOTC?nusI*s7~i)=%KA#ZZk3M8{5!!?`DX|FS{W~+Wg_j+B_r5A+kF_j+WtnunDw){ zv9Mg{CHKo!t0=BSic^g*=&-eq8I%STlSV@sDJeQH+{5D@@32@0=EW(I#@*Esez*q# z?0NLfC%=y?13O6f)kdNhDUwn@f=h97eK4~rRdmbOVVazKU}mNl_?xsXiMjsNhV?%P zPmo+S`ox5=o{-XX;7advMe9)P{||UWeLf0J+!LRq=nTbj{1S?G6z5<40_ibS%Vl1J z!iP+tp<(Nx9Dpv}2D^Lv#y6cg&Y~plzrlGfJBRi^bo-mL=r7oSEw{N~S?BIIpwk43 zi@f0tbYQ6xV$9a1{gd_yh0#o$3414K2N0UDwMoAI#}Fc>ti^KwWO+`!XHOTR$bCt# zz;GdEQxE!!df5bK1qY&is9pV z9fBQkKB+TlU3!&`(=l)Xvx^kXQsthrsXtg_M^HsQ&L2=ybhk!W$4J=OQ#`% z3UA(`JRoz`u-v!Q9&kc0%fas){QG}XTk{-1;>{etRVwUU3!}kV|)_l_dJFt zlbMel8I&Ivsx#6)rG;V*GZl)wxOBbBpJwbD2&(pEYeTJB6(edI1AUn`5W6tBpJGL@k*1swU7|v~w$IOtsDE*hjhJ4HzYh0C8N@Fpb@VmgOX)id z^wzJrO`PJ9A-Rx%=sc)KytB}6Bb6ku+RwLdQnuH^o|Bjf>iyN1kzCC=;fW{cwFgKO zU)rU4u0Ey*4ET0_-WN(Mg7Um$;CdYQ3Bzb!PFm*&=qC^gFP=qWpWxH=-k-H7=_^rw zqmT^oU}l@QeOY`GjklUJ9Kq>9lV%7&gLv}w(Xv}XdC+cZcV2D}#@-D;<4B0k^Oe!P z`1>Yt2n%la^^Owov_`M>RVzLfMq37Es`})bxxTc=_W1Eri?ocdw)tzkT-yYuj&Gk= z`PNve|2NKMTsKak?&9W~J;#!pg@CR)_Y`Q{?3wFs{nbe`nQMAr!*-mJ@}mzSoF;$f zSQv2y6L>5ZfL4|ds$|?-qV@a{M~(p&hTFEv$s!s3df>Eki=ZI zpRZoEbu~1${_@4#srmD7tPOup_YYB1jS5t%?_OWLXcgUqeh@_uaNqmebar(Yv9dug z(%Dy!D>g;x*leX*^h=^$qa9PIqiL(StH-;vhH1DTF{=W|I1c=`z>wNq<()-zjE@xP%Fx7AX$GCO!ybImdmE)ti>8s^i;&JBz`dppvUl~P@k4ZD~#<`e% zDTqsLOQ^3sg?D}uOn=|u5S-F*4~oCGKbLzzq74>(OiU94s8tI8)T-zYhPv;6^Ud5-Nv~WeTDIN^xuNn-e(DJcE(LV)8f^q9yZV-=;4`2t z6h|0k0n%2)Cn|Dq`o;t&nRSZ1uKWJl-P>p;%Yy@F(pW#vCy}uDX5R4nWysr#;WZf# zrnR~b;lf60=~B}KsALN>>$|{@Dywp9*iGQaoJA){&YvYTKTLPS#;`gTP|cGUb&S1g zu4g2k?^yFGaHqqK8_l>bP0un$#=@wxCd+@*y{6XXAtI-P!fpw#0)y`ab{q~cAvOmn zM0x&sK9{K+d4xOBx*@O2bslhR1tAlK*&wMs?K|KKS^7}mr4|f%K3~?yhRd*1-5%HU zR-LK3Pc|?ty_G`rhoDI>VYwHM#or{ldT(3LzTJnw5%=zm!mR5nK^zWoVEal@r)Zy* z@^#rYvz~)Ai#(Sj*}IJ47_-7RO*l#>dstMjn%L_uzd<^P?*8V$Vm%8pg<|kN>%x#p zA|Zr|sv^gkqhp=wWqrh58Oc0XoGEeP@A30HWN|i(+C`9gNmgBK)pOan<bK5ae^dKh_5}i!Q4J zWl_TLHAQ3}wzKgtXD2pC8P|gQqGuLYHpA1Bo&4;^zxw2a)RGg23Yn=iOh1BF&3_uU z%_<|Y?w3YGLo``Biu8Aqd{P=*iCz;&$DtvyX;QN=f z6MXda01p6i9a_xv*qn~;`vJ~#GUanisM`HSapk0Z6< zNX!MxC`s#@{5tV#=Tt9CU248SiW`YU87%Ii?ZFh$?ypyjhJ`M=6W~{_Pn!RTAwMSg zI^uoABz=R4a2~b_O4qf$8c}g+Ll~nZZR?~Njj%HfD%^?3aesUu4@p!#PVDujMfWt( zmZy1?6HQL37;)I?vYLeBJfvkSS#5V9%%_*)A}H=mpv=9J|Mv45hXHNb6yJ=^523@6 z!y1-iQIPZ58cN`t7QvGc0iRj>sGj0qH%OLt^l-s?lEhm|e9m5n@#3mcT2!H~$a&@F zC1mED$L59vK0*n(#r0ky5xY=^&E?xZLjVWpn2(cQ5XO2oYJ2Q6H9-wb*UqtbWSu3~ zKZrzoZXXmoa4hb=znHUj9%l&qcqwuSO==jyb^EJwr}iS6Tjq%@weX3O53K%DrTW-( zwp+uvp?AM@@*$4PsC>#=td?ortkuwpepfQYJ;Z&x58=cywY>hvFAPvPR-K(2%Jzd- zG79sH8hwI~C1-|6E@$(<1=ss5K(9U{_+Q z==<8^D`O6DClkCmnsz;%wkU@;y9H2Y0p)fkhm^c5@Rz1@eaqP>y~$W`Jq9){!tWu% z$oy)U1^&ogWR&`QYVYWQk(5(~@|?Kwu*5=cPFHCo8I)O!IXjt`=@+8>KUi$U%(cZ! zXV3%}Oqdpw?dVuQhaWiFbW#Dz=8rSFcQl0L;*75-Apx?2Rrw+3Tpd(^e$!-7-YMD? zsA#+5EH;hSBI$5-JUpC-R%l!1*!jkAB-gAmo3#Do1F2k3-r8!h7};ZQT+uC*TZe_s zIvaH?LyCeu!MbrSC`Tc3#kfp#+c6O^tv0Qz$L~x)XN+xTqV87NYj49uP@sB~0`Um; zpu?ErDG8x7+T4>E+zuDHP?ruOb-T@!a|g@IqeKN9=eqt@@ZpFM*B;@_5q z>2L+;FNAUP3EcS?&}2}@*pNKe>EO-rnZM_e+JoWz1rbof(&uf8>lhu;EXofK!S|Vh zT>1Imm4Y$FD{tcj%7I3*F5MVTx0_>Z*WP<)*P_2AA+g`iy{MsPDG`|EhMZ=P2X8Z_&H?J-t1$4Q}Q)l?67hnO1Y-cYwRT%@?q*XJgyABY_0ioD}3Eed*GX7Z-%s8cr`sm?H9)WSRRhR$tETT57 zhTN7|hh->|p`aHTbvDYi-eIbIWz~WEBB)cCj12Ex+SvaYaiTxGFw>SJW%#Dlt2@z? zbBo}FLYl4gRtqBU3717?zusiItQcT{(o6=tOoX5?z}fMx5Z=J4p=$svmR>p|2{Fbv zfLoSx^-={&Q7QFDpVI_Bv-zP(+ywEh&&r0H@%JZmxl68j6_OmrlB} zLFoJwq-`DMP``J|&1dx``=(Fg&MseZULQ-sRSGMTpo_ic>`bN2-znjW zhm-d~=Mp~RITTvdyh)I3nmmEW=XN6U4C92rtqgl_i%*;$RxPL1l2M!f!}dp znuqT!cP#zDX&K4gv3v&j5J+cauh2TlmcL?k2#n!kSGQA>0%obs5S6w)CrLIUALMLd@^Y2-W6HLz-@sFWxPy;%Yot#J^lP2(PIT z4H89x7Dwqd7g??XGEpmvbc@Q+z&@XKJ#Y`-@W&JflH~KrRapI3)%wokX`ynrFSYkIG>#md1ILviG9Ab?RH$ z_{V(}!-ib@719DT{6$lukJt^B8JDBM0m~g>>Q_Wly9w}zmwCebvAGXjeH?CKx{Py( z)6^5cPSSXs!TYpXCCxPjMf~%AP%#fK!*jrb74W6ip+aq$=rwGhZa?h=ls~{zP>nyX zs`=~B;-e~{98Vb3`S3A6=ZB@LFm|uMgG*cDr95(fqvlaDw_G`QP+Qax?+;B{xd~C`Gs=^t( z^>wHXq#Bb=kgNO#n4{rXQv!1s1rQo`uv&uRfR0-_3s6`&f>W8`(2eMf~b~p zr4JhJE~1gM=sgT`)yqLG-NWRb!?4!W>i;wq-g30_-23Vo^vgJ$?blzDuUp99`{@gR zL#=)KWP;+Y83y^Jt z(p{h2=}Tv<^T;18>0%7)jh?qC0^9RSLK$-@&w+=cftI3ywFxDI+TVs&8jfK@M#A*4 zp67Z%8}@BTT$-+G0$vYiY_DdCf=aRof`eXlG12N{d^}DbeNh-PT8z-NHIH!Fu~qHO z3a(FHoW(a^Y2vQBaDGU|C{eba3d-np?5;P(Ypkj&&VAO9=-Rct?0>YwD&||Oc?Cc% z5^!Jw%X4;y_s)~jbX}!qb-=~UJTU~Wq!#~C?;KDKxGTF*%*={|tXQPPZ-b)WYNMKD zEPAPN9J0^C=&#BDy1A83v#s?3a{KmnH}tQB>(Gi8{3>hq>!|#haqg61d)VAH!}4-K zt~S1b@-;E@6S&gj><3Iv!8_!ZB^AHWVyL&W<83**sUMxDe2}l7+7IerkCpb|q5J1~ z#6SjRX38b4*#`69S_oD8)k?A`KRnaeQCufxV@JvGI>VQ7O`sl?n!0J@$8CQ;_r78f zlacIjjzxDJX5M80ycxmw-i)>9(J& z2aSa2s0 zf?Eh~!4upa1`Y1+?i!o~cbDMq9^5^+GuR-*4D2D#`+c?Rx$pPKuG+PJQ8hKpwXR;h zdUYRXuU#O=7JaFFi9AGQxZmD+FeON0o8_KOttWOz*#{xHQUoB3(7^1_?)9=P2EwRb zlV5dY6(I5SSdCqx_TcIFx`RCf=>B!r6EC>-g?0*S7dgpvcF{}Js@bOgoI>P7`^?uktz3+bCUil{8{cVFzQ& z1cz&LPPpX2MRLUHNN13_FKL!f6vj?%5Gra!pthX} zt8+BUMsyF{!05vj(S9CC=%Y*ZJf=m;jS@Y2ec5WPPj8g|X?&L&GNugQp|>cHbQT9)DHSRc z%j7WSB>IN!+z}a#zI~z~ycGB3w+tCveOKPx_QfCYn^R33W;3Bh$v^&13H3-&ta|_y zS-~_G8eJk*flbF!fJ{of2S~ktplj9%${3lto3#{!PO?@?{pA5|zbj=fZK*(G(5_l+ z=Fg=(=?cV_h2HN4P0BxiZ~mBzNMx`C^ikzkc~M&1XxyD$0sYK>Vm_a+2Zb~nWHty4 z_b#`Wej>Qj`D&5ncN5a}{eYXduXu~|{T^ubXP4tgXG*h==k05LvJ^VL?Mh5H9{xh_ z3)kaCz8jxmYGr)5pA~0@Udm4>8uUGQBudj2m6CG+`j-i&EVNwkF9uQ(4PKy!kE-M* ze60<5TgTX_&`AGoyZ6AaCtnY+ncD-aS%q-0ABBRcOJ|Ji&7SkI_-rPI)`TP6Mo%)Y z_Fh7bx{he3SqyGmMWD;wB1#Vk17Aa*IGJx?9jrFZ61Yb%Jgsy{LoY*nTn=+kNd740 z%R?%(65V&a*e1PvaUYaD6FBKNEPpo04J*Cg>PwQ_&?QmHZTgvG`haHjV zWHGt&ZdQ`j;XF-?fbL%D@D~M$emYHDQ$~w5$G!%xGN~@wMf~3JZh={eLL~DlBThLA z{ddPTrUvw?9Z@BwIKkOCd+|mLuT9XcmvRQLqjNqU{0TwYh1V{S^!4wU3qdt8#gZ3I zdUEEA^cu8+^fYyRS38hA6zcYFR(a-Pt|@Xc`AYI{ zEgw1(0g-cQzm*JQxyvmk$VpZ-Np`5Uf{0j|DcI!h;fJj8gM&xG~ zQLo~4EQZ$pqHR4JoX9@Xx#Q4%a7eRQ+X_rA}o;M;E(`yA5Z(0okoL&0r4=}-6 zPaT5_2nKB9zv~|o<=<+gD_q}(>5c|q)mq)@S@MTb9G;ps0w#l(s;QP5@^7oE9KJ&o zQazA^ui`Ua6+Le*&oL^5Ot2p8b6>4V+{DiYL~=-vpAY=9BU437uQkvO zeF@B1=I4r_&R$?P!MKT*Wo67mn9n8#sN_z)dRIiy*T z0N8{-m!#(k+At+&dOokK5Q!@sAvn+`rX;JBbz%R9#P@&PH5=n@MX$nKh=y@cLM4q}9nKQZtL2$Bv(b`O@Vxo$e ztZ+PD#=?voT5P$_=h$9`LtK;v^ARDfGfQId+Ne%la97#p&Fs%UoP*s`n5mO0u$7=$ za@zER7Ciy#J<7K}uFa$4H!c;o4 z?#sB3Bd|&VJmXA>=HTRR)BeZ!%g`>$QrXkDuM5asR4<3~y~s&w24G<+ZX;ZZpgXP@ zN{5R*9?NFvaoIO*2eP{lF;FxG2cL`l{Ktim-L+QPvB#jnBI zf00%Zrn0wy>8e!!cRuHTp@R15pkKZu%3iNl2W)eWL0`8|38+-f_%~q$521dBPoH}0 z^V=oN*Zl!WW5^g|W45n(oDO74ao%S7sH;bjNS-JJ4#+JCII`OAZ!AnLE0oKEN>e2% zOAz~D92rD-pTTz`&cv7=166HDTBJU=D9Q92&|2wh{^ICSq$maWo2Nh|G!nr_MUZ~@ zl~&ZW7oDFKiu<=uHXXO{Fesb6W$#67;auNRfE^!EosfWvoc~`vu-Thg+Xd%)=j`Q2}h|b-echzy$|N zzy!;vawRE!nG@DVt(oR8b+0r;r4P2L-_g?a-d&7SZhUn#WutxAxu1PqgZ{9>m9M{$ zaBj0|SCddUZrqctJ%rD_tFAxQ>%jKxeYuhn%@{7RFZ}@oIhvc~6qh`-fFc>axA%U~ zLYcq94-5S5uV;gi@{YPE@kSMMy{zk-ixAJw# z@LL=FJIfAS3&UkrR7XJ9z0a@RAC#9Dh<_;9%*SXv3L{O|M_d_m3$o0q)iAIC!K(g} zk3o~U*xqeUej~AX0VncoVqln?LeaUD6k1b?Yzl)V`SiFF+5Jt7?`dIy(sL4w*0A0! zI=R{pCh8Ht?BdRlh9Z+o|B44bbVvPl3jc4h=WRHrmi`?hfS&Z}wlHMKh(9 zBJx2to5IZ-*KsX$9N$Zc!>Aknk;oB5&r5+w3z-vK)%PdT zse+uRl3g9}uWaklZj|gmNUt~tsQW2c%?8x{InKk#Hx2h^?m&wt^A{Dy-Ji56(vq*b zkPY?V<~uQ^&+0c{v9|LHHhwq}%gIzIm;Iz9ity}*Lm{H3cknbyH zJ9v6V{mVhIcIkYX(`RB@b%b3$O2P%rpuPZ7vl-{c`})Sb(PSjNAPbgf`QTKYAKx z)c(xe!UBscXkNYjAPv?>jFDT1L_lfDj#lk3#QbbmC#gqT8eel(Yw)lDOWn9tB96Rp zWK?tQ+rEg(lVW*5sq2LS4%}m=xMQ0Ffw8az>9xWIbAkl|wV9?(P6CT{-(k3LHb=I? z)N$?t5Rs~VZ_q3NCgA28SeMHXe88vP?PB!-reGIvKUW*6`n@8AAPdN3*c{3rmk}== z$TbFu#-AhCbY*0D;%!nCN55Q^l2{I8L~X}6@?U6Alh__o1V{R`^|;B!$t3n2ZMglB z>%}55AF%KLPOyrpcH494j4jhn9WUWNeSsD(u0wo@;@v>T81+`D8^*j3sFl?z`vln& z;02MyB1bxW73w(wyrDy>V`V03h=!JC>*}~qqLka6q`HiyQvhl7fu>kSz;Q`YV>%WE z(gA{#TO+m~7FG=?_nWMskh~l1pap2ILiJP>+ID7>Ve}oG*srjjXrCnX2s%l6cP5xt z-}$H(>jXWt*^c|n<76R@DKV}{L~u8SZP$Yqzoc>0x&GixGm$4{ODreGjdncSxv?FJ5%mDsjyq9IF%SuslM2}5bD)LNu*T-Lhdw<3C>eB6_{{Jc6!5lIy z4u;uwbTJ09a_+OB+&XDFO{=`rf|0rY;&%3&TL(*w<45(~tqDFfT><=DI*h}y4FQd8 zf_@n2shhaW{tf1oeNU>g)1A|)97xneS5keR-S5G3gb7nA^V*0S>Qx1XiwVJQLyt@4 zvw`%JRgZtH3^l|r6d=XfuKaYM=yOpNA2{tsX%&jl2`8-{4v0-MV!2j7i-`NdxS8X( z(T&O%=ApFB6{I^O(#dty@5%WnafQtH4HZ7V;JrqK_{E2(iilSn>{`d>La!<|Xm@s% z81RRJ4HSQ&1XrFX#Sy7cEd%Z2EMxZhAz?oshVss)2KSopuWItrw8uaH+jt;M{bZi| zli$5hHjDRJ)~tF&2dMrki-W?&g96=&^*^HZ^8ZGTQ7?iH1rM?);Mq;*L51}ci-Czt z`_zm0gg6oBe_ZjrL!Ew6sK9PKhNGR8k&CN(iE6kFqpI;lwD{j~`k{sxh$8b!|oS zmsRA#&0X>6RV?J+{Aw9X(N~jH%1>t2Y5MFnY-FvHTUSdP@*ZV59G;%1Pm(J)qhAFb zJ>TgKIa-f?omwC2GA1mMsWAA;fX044VssA<3wfByl;R&l|GTk1Pp2Y+sq4m-pSH^$ z|9#CE1CvKr*b!M*jR8)?rJ_N}w1TUq2}-GeM0Ae8GLY^0%y(QO%I?I&m=y12ypCUgkJ5X=wW!v4k- ztM52UIP@<=V~6nbR9M#2c*lgm`JY}J9=s@Bu`SoL@>Fc3;!cImVWEorAQsk7EN92O zvySv+cg{!q5Fcl*xymb zv&Ll{5dS&I7T#oY!upmBl33uX*p~;F7TZ^R*s^CF6nsM~D0f`pSMWj9h%|(#0w7S- z1K+mzAscxaNvYscvA4zS^B0CJ%n@MpsZ|DJglddt{ z|KG+SAAGUmw^2zYP!3neV@X@+cYi7Ge29PbocUt0XnXLq6!8%kj<(w$S_{^R>L2B_ z-EB@egE1%(x!7R0xLDlmyG-#nUpzMbGA4sPL-PFZ2W6;I?Iv=+n7d6Qcn_gH@3(|3 zW~EeM?{m@1&p*@H3lG(*=yn(W?Z>414+_D%O@1J2yPr&Nwh7^8z zq1R^N1O#U$#r}CmAvWBFVkOW){`ih;7=IB={=I5&=-&*I!c?FC+l$u7Voimmx_b;G zrX%*UR<9hj*<7tA^9#hoFM9Q&x=6ECOga<@TYZM=Sii7Ac|{Ig^iEDF9AEv_oU*xT zi-V9}n(ub27=?inxcJ<_=8&Ct*L%tAasM({^*;Lj2(DM)5U-jORGn=?$ogpB-ap2T zQ((4}_aXB5<4r=TT^9b3xi!HN`#nJ^y|j$6U(rge;n0p(7hJLFO2P-skUXTtmO6^0 zYz(_7r$-2a;rsvPeP5)!^uodAh@2NudYWCU4V!)qQX~aPN^~F<&r}PAYRQ1+LR77) z19PW2FEu*T(vwXssHU%)BC3l&`RW=!~&TH1n4=Tc!}vNy@3Sdnp7 zu0M;QwuGv%zbrFU@Pco@f}?z_w?oAVU)O?ON+mz|8%S zIM6eDH=kG4@iD(GR6lxI!EMVlm;XS*mzAQ4GA|-GIHOUx=gSm z_i?i+u=%m#L?$I{{7*xi6h^GW6G6s?&cuIvtuu`)Fl$iW>K64D-8sF+!}3?I3w!1f z8mk^onAvPrSiDSVo^x7|ny|7UThO-DLIWd*6)9#&HvE;7T{)Ho+$VUVZ95jOHLo(y zvxe5@vPXN_0!ox*S5o`BR&dsnnok5nlEfioqMobC8^bLWwlV&adb{CpOiDBgdn6wm zR3oD-hoh>s+J<%U=yabwSbeo|-PsD!vaYIg^IPM@@rGirGde^70Q~@?owQqFiAT>y zXpCozHZ_u&(ETBu%@`<4@!s*!M7`v^FXm}oe$~Iqw_Xdz4!L$d^&*@FuUMZJ%4ZcG_01Fxr#LbTpJMFm z{_&yiH&g9B`|}P6$v%68o(8b1?#Lo_4z_QO0Ub=!T>?C(ZnRqgkn0s;kk1m@+EaG# zCtLY-W6|4Cp~rsjbC`&4!gtTCaqx_<6_D-_!UqY9Z7Sk7!EQXApK#fL&g1L0t=w&A zrJwjXOqZNRBXuw@8n5$U_|eJ$l+ln7{Xk=U1f zQGp_7;y%?9UzPK~+slLxvP!}@sn}y#2-(4;l!{0qiU%P5gWRl7@e8b&oIi>Pk{XC) zniWg9*x%o;@%TFNoj~XtZxFQ)Z5DNFf%CE9XSGi&bJHD2BwIcXTP4f`MVU9mwF z{071EP5DtO@BOkjC!|knSwk`VXBMWn>TT=YoWw3jfSOz3k-$gKSV+^e9_Dn6uK4-J}aRNE*1g=}0fJCxx>c*tpYR5S37tJA;>Yb-HZ5MdA_Y*#S zV?Vhj+P#2WO_o)yiXa8&iK}3IUb~6av`!vL*Ur*v`uh}7bfFRG#zL$s%ZfM6ZA>HC z!Fa-2o$k$|yzB33%Mim|u1;vX=kd>5N4_>Q;%6bfQ|IGpbBlH;+?nEcp1lNeC!o*1 zcHJb8l*`u9GFJ>=H|b4G;HtFCvYycR{dQJnY3>H}QGTs;-Lr1REYKO&*a58PI?;aH zj1Rp0VK=e83A_($RX(eSZ0!ru+n)eC?oY|T{NAu9E^mxkIqY94LAwLE&qsjqU+)|sn1|6vn#pRQ_fkkwykT{-F1rU)4)#~d(RX1Y`g|?!6RLpy^rj5scq1k zCkr3e&c*1*t_O5`Z9#8G*Py#Way*BB#>$`nZWuw7(g55$s%!L615vJM5vD?M;t>`m zF~x)$pGeD(H~mhtggvgD7T?vs#H3Oo!`oZ-htp#QG8~9JUC&HTz}hp}DY8dY4zs|H z74R5*`O_8YY?G9$o3Vo6oZF_xPS6Y0Ht>;eYv-u9z4A_G52@?oJgM_FTMJdN2%IR* zKn%f3xDfArMco#Pl2y9`FzMm&YfeHE;rh76DHL;m`)RVL9 zMK5C$5(*?BTtp@UJscFIhJDa7n7WO+CIz;)q&56}fmzA&9 z1dS>WI5PAM3v?(ZKa!4biP2f^C75HS+mw0YFXJPkuuHvXn4?+kQZ& z&Q1s9J~kM3WztrgvP&qw4Hd%01J2{&gzrr5!8uVzFeOHdC=`9g&Xo-6$bvLg8fAQo097q&%0!AUX(mqOM#SKKr+)!|F>XL! z?m$qHGWg<}+^NpSCb&myrXiT6DLXdzgPggjNtDg4gvLcwGd#0%^pc`BDohI$lpN|oz`)*M(W>UA0#=5TKq5Px=dKl1o z7(?m;S2M#QiIUNBlPH^&&&ZfsG>U$-RtubhI{*{gOb4WSj7q(0g6(_uPfcK=(`DN% zfwfpU{w3?`VaK%<45;5vUgro;VH|c4cnaIstsJJbyjruoS?_K4s)C0JFZyS+*Z_WmoNX7nbk z)+%mSH=aak%3c4}gNB>RQL!C%bi{*wN#vYQE1~Hm*C$7D16NOw%?-Eqe|iBV;TySW zg&UA~DUslKe0;;2&rwvEcJy=30C1rw(t!M^SlySWcv9GpMqbe;`MGQv=2;uB6^C(@ zO(`EgQbd!t_OWFy^EjrNe7e0|_v|Fg6SBS|im1rERl1!QT?am1WgU~c?6_@FXx6goSg}ZBhNCO>|i?kzD)U2lZ&OwT}y_V%lu~-c)sd-n(9I z;pT=$oH-wH1LKJYDnH+I5NJed3jsCHR6WnmroxNHHD}s ziDk@)q@hm&Iunhz%owxg$4WXWON4l02hsGv9UICt5v`5=r%;*Y94u~wv zOEFsmt(vONxeq%<Wb zeb_;@b@OiWT)-zEeGC+S{!JKoeP=Vm;6tWNw0$7m# zb8oYNuQSd<>S4G2y$1Zewks1%%%Xm*Bl^lQ#*<*X>Z}Pe;`_?lOT}fh$Xbs`U4Jj| zzt8Ul%b1V$JvYBgN1hY#9K?I|s(nda&) z#nwI;7{z5C*-@1TehiL>mEJ!=ivr{FEFu()c)DImLZ*;7+g?Rtc%i*Qsl}Pu8Wg-o zX!ivMUS=oz0zBJSb_-aP@G|3vVfI5XSll5K)_Q1-ex!em~m%SH!xUU)wv}s6+m8;Axv=e$q_Tp+ATYl={klK4_h_hY(jqf z>s2Ah@afeL^;c8Jm94_DT&w!+lc9k=?kvdjFII`ec?6FRCJq9lI-DV~@1K0N{QWNYpNXKIx!^1a28C88|&^q zZMmy8zMCoEC_Tt#H)v7gj;a13K4q3f1EF&2{e~0BSbZt`d6)I|`Gw(4b}*GwOh(Ug zwJbKBRDOw|pi%@J#>Sy*%IcsiOyW*wFtkmVP6LHFg@$(j+2k1XhSr`P%CE`DLho7d zkI#rZK5Uh5Kyx5Tgvj6Cq-uNNTsIj#EwsxDN`YIT8-)!DpE7PDfgukEK9_-2$I71@ zS1yvYxH}Hf9-7+o<20-FJ61r{dow$8$QiGY4b%CHd)ACxDDB&Pd>dHZ>CdSPu31gDFVRW>?`|~u3b@j^AskT3 zWxL;;NuDI4^O=NP;_Yv2*!lzp#|qqJw;n`b7Z6N&On8caCMailWpA1{cuv^G%1KB>R`=0yFUqcp>>?-B_e;c3>soBblj@qg*A}*V z2^0SX2l1lnj&~ScVO64`q+Q2*f%c*phs6sW`vTnS!-^C5{#(*52F^RXj z{mciEoF7NqeB?B;KNh!9#b?ra97zPHwHEe%yK5N90-@yz@(=d0dr}{L_|3k>ahk15 z)&_f0Ug$=Z-Fv=$_tcw}&WHi#nO^gLP`$)jYz6UAT&S$A{`0^Y=l|2DeYB$Eh_Ph5 z3G~gK5N~j)?f#}U|0q6}Y5C6!a)nW)Q+y1R$yj(p980%Mx`S6-@-}>BmI=n9$MU}1 zqt+BztG#=8zB?gYK`ihhFKJoSUTEQ(iBrUSvlWxIk?bH0_UHQ8=Pma7nsDY;qx1(5 zm_6YFAh4F&RGW8aoj%rM9BK?T$~uM;*?=4bHk@KrYeIK344-8)+CFf!ZBmkYsZ-zs zhGZnUd|bc$3?9B^;3B~%VBS)Xs1NwQa&*|tgbh&5z*YL_yA_=oBkw`{6F^9iyQOfs{z;Ri5$xHa+o_ zmlgWcVCsHzZtwdhQ$;E1HMTk2ML3)4n!Zk5u92Qs-u)+~O)+e#ctxVS04G9((( zKp6UcH}1b*?tnC+268=N?7S(*En_Zvos_g*L3W+T*b(zJ@xoE7u%VK-{p*Mx$1Tr| z##Z9AfQjy&4uXcjj}kffcXmbu8EWl#9%|o2271bJ?f?9V4KZN)U($mYurwF-Qx}-fPaGzvYPNO`Q$kENgu>BU;P*_+lR0!zvcSaw^7bo z!iu(EXYenvkB*xS&NPF(ang$)?f4bB?)xxMxLN&@BnVbhs}^}x$XI5Tdvha)m~Luj z4wZ|V9*p7s<>>cZHX(>5{5)n@ui#llKyy^y1Peyr;HF(@gr-?3ru2iffiYD12_O2k z3SmSBP=#)P>PwmX%Hum=5H;jOASO3H*-Kr$A_myUL#q8-le^_;LW_^|78}V zQr_sRUv%?0l3L(d)qoyF#b-~*2U6#?wc>I(mC5e(21ef&;WU8jzhckjMrcfNcOT9u zO!Y>nFsKtofp8H>??<}yyW{bxg1wqdv8Hl}1+jmu*P0Db(8_)pLDKVCGI4UfK(0;Z zYKHvy*GWC+Hhq!hr(+&$;;ddHhyysDMV)o%vB{D;Sc_27%Q1^bXXw5D%ym}xC6W+_ zqQW^(oUQ}Wz9$Ha18uvZ_Q1PaxcGBFIvb_Gv?0aNCiPHn$cwVH;G*FCSE^rw<-hL6 z#uUl_+$tQ}_j}@d5PZG=@5O@irf)CmhkvmbwVErHeOlqW*6R3%!l@xTd@${S8k}~6 zkU3}YMXY#1EL){h*dQ?^7YDqY%_5}6m|K{j_j<@T538Z4@(%+iLed~A2s63aEQ^`T zF$5o@3W!5)7zLEPonJ7|0NIk z>`Ru%Uu0zk#Aa-{(>KY+@I?gP8FGj%>FJ!+lnyVLEgmNDMj()md{nWz*)n-ipGj3u zZ;=Yi^S_T2Cy7lzZx?DA+!Oc{112{z+b!MIWlUAe52^2oe$!)jaY{+lfu4OtCT4Q? z@hv=;RnX;$Je^=XulKSF*ZyX+%^6i}i#D)nWh|@nbK?I}PBasOzatZ0#p4n^iX)sU zst0Bd80xecY>zd7yy^*#q#54J&cFXng7C#M{R}&wo`+LU$3D0GqXVZ-QQ-Xy# z`AIPa$w-ZUP(A`NZ{3ei10vmwJ9Pk1M20v=0hks68e;NRi(u9;vm$;uTCOxb&|5BGFYMt{O3luO_lnn>D> zkRyz4>zd1$m%~hqezU zOHNfD|8OnY{XbCJ>;O|yX5#{By$a6Xu9g;LsrsbBb})8dTe`my@%?`~P}2mtnN`Vv zoaWuipF77<9f^wQ{eM-w>C!?yObFt#MleF$HRF~PeE*NI0VZ}^aO5?LMrHY}1+P=y zKZFkbz62K|!_*_1S>wd>9;UA$t9;Qx1>@b{+1qQNds25&nAyT$2;2Oj{l+E| zjdf6x7dF!lk1H0Sm7XnlEDX%xDn2yct~98G=(e_5ZDhqk=#h`yMM8&y)B#wZ(bE0! zM)_l|gC04j#c~gVp=Yj&BQ3Z0&tim39JB*C__jntuoRRmuXdK@#cp13k6%mg^$Z#) z0W-P?25ml*xH4Fg{YG^`2#M7xXqViR&2Q<^EKA;#8=S(hPV)GkGzf;zGk)nn(zpG? z0*(=b$P~txG?0Xfk+U46sX@c9N=ST1)Gax|IlVRz>rq55 zPol_SCjvFoDQ+L$eM0`4rvHL)9zH0>IS}7EWa_JcQy@8zv6L1u&x7*?>1r3jJexuu zOc};fF}p`M9y@{mB(`%k08!9;)K{>8DZV;zjK-y+-H;1JAK%qp3=pYvKqevV5(a2J7;?^}8VWmzO}6gQ$|6RT%r!|Gg|D1ihhl zI6T=ZlC*u=&9l!aFW$MS%c}HQX8(UXJtut-oqfK00M;_`S(cV%+v52??Y!#?tn>G) z(Bq17(mJgZ5S;H9nf8Ks2b=f(yw5+EnXg? zeiRaxL}u@2UrWZ&g9;L$QZOQ~)mYI}ox*VkUrael1mo&6l;z|F*)qO+@3$Wzhs%34v&DpC?@*YBF@HhXps|{kZomMhEt(eR$CYegd%g0jcE>xq?FmZL z;vT!appZQzvZ`i{5P*Kl1y7H;Lowkq>1K*mgx#aPgTui2=|V`N-1JM5z+Rge!X%&s z@P z2&MBGz2;zn^(O!N+?)LQau;|akC$%k!XP@+XB`~e)C`9fD~yUR$rpSdPV@{fpwSQpU_{f+E%XQ7(sT|!T++>6KD0s%fsZ{p0hVzHlvHzvyCzC znVUttep>RxrX8y+PdMeDSHt1M7*9tsL zP@GfTaaS=EmbinpXC=wB4@RL&Cl`Pl;e}ljn$ii!t$kV_PJ21M{fj?`71?v(pG}oV z*Gb-0S(~ydkm29w%<-HjsC-j9|7+d zp`0qY%Ghb{+u=B?j#b5Kl#uqVV20(vgth|3s9#I(hCIW=qp$XAiqyMEF8`FdMv<$eYZJwnWUvsM`NnsT+O?%H!ab`P&+<=pR2 zIYFvMLN$?1ywtYJZQbWDzr|p1B#nA(O#{q&*!7yGfnoULy^%MK;_X)Ap3nw&7SntF zR`oVJ*PqLJTt={e%sEQ{yXEHd{n@$4TWqA2?)ptt{m7cw*uF1>(Ka;dG z6K}y8mzUV57t|Y^po(7n_8(q>3rq1Gd+oh;!|7yhL>}5&cMg&%Rx#k#TAneFU%W_e ziBYS*rM67@DJuNy<7M&;v$j-fyyz*T%(O%jj_czanqsxXNPahtmJg@BKHsq55$X^W zk=K>4$7kL9j@+@0g|rAekA`!%!8eqJlHNPh9b{?yG#;c^9)UG1TZ;BkCVHU*GRyBC z*%P-q#tZtvF25z`k|Ew)RtuEtVE*wo7tfF_@wJ272>i2~l9a-`Q(TtSkkUWAi=O?c zu7k6`_9Sc`{DL;xIy-uP|76L&>UMl^c3(OTld#a(DEIwqnn+2d*?5We6R|8+c7qIU zcH)iGqc*6eXgnM6zmht)tP=LB5<@p&FJer&>?6SChPij^kKEj}UZ=92Pi_R255n$J z>2>SS@q10=rbxcs-P`kA4OM}L;bR{%%!dL1C8i9|C%p)7ZL7+ z8?Jl;%osd(6g%!NmJiVv&n}kvNaJD#)AnCOWA6P*AkFj_5^T{c;#Zf2`|bz959VL3 zFBq=QK%^7POE7`BxFF;gtiunaLB6KNL!}Lm8RUMk*S5oQZ%QG)oxBizi0*zbYjz@= z%&rk07;lIJg<}y?mp`SRnElS~ll-vL9WS{!q?ewuTJ?BeW6U>^Qm)%6Kz3m7dnQQU zc)4!F0nBnnIg4>S7Wp%nCHpBNM3g(fwI9`V!Te;4(xz&I%(nlJf^M?=AQLz_#Y=>A zeZ$j;?BXLDl#yj+*>+gZVQN|Z7mpVCtz74;nw|pj7hUw*dVmYNZBYtKty$PriZ=MQ z8QXIUY2x!n9cQ0=oBRg?#)92z%zxx8e?9D{Vk;MwC&>YTjImfGRSvszGuLF=AmbC$ z!h-w5DX#G`Dek0UAw+p@(di{GUeMhyz8sUsp1=-8X6$QxNGNJ5>}Z_uVr0Mar&*Ve zJT>go&br0UIIS7PW4OApu(;Ffsg}hTG=&^cUn~TO0h=F^2IJf`dfv_yB+vJpbD z;TvtLWziQUOj2!zNgbj%0dHZ5v>8#;+?<9^!u=Wb8khL>89-6kFHA$(%-R_egu(N1 z(_(bNfYM|pO%=o*871OmkzV1}hj=C`+8j^+2zw&jIgkE{8QSFCeQ?NafTEc9xdo29 zS@vY{37u9-%G#TLtgz^x1?@gXZ4fe-PZq7I>Qx(fRRJmOp|5()t2TH53a#*Y!H2KT zU~?}?0vfr}i_ir{bClw%6=C3cbY9^>E!K0c&TbwNmE~fMB7}sNH}-EL@GFbwseDXl z6-V}qp67dIRy`Ve9XNOXp@%rGZKc+$c(YSPUgs$IgXi`x4K&7WlfUi2eFLvuXBSr0 zet6ui;x>qZFJW??QuA_&`f9sz>>AnFZZiOTAnRf_#(a~{?xR=MjHov-6Ei-nO00EPPXtd-1Fyl>P}K4;sZOanFsGaPPj0 zvF_3C3rnAjEc3q6F3E?0gA3z1*i9%BO4%Ze32%$)Q}m|kHl(Uk2)J7x1ve}Rpado= z)9-hFp%P_KmWpF?>AKG~=8OzwGV&5AZQd4&U^A6w5*V)JhyG|oCE__briuL2zjbt0 zu$AU!)u?H|g2d$fIpf&FSg^y8(Wk8Qr&+M|U`yMHU@xs;tlig|%8bhnz6Ml(uAJ3& zsZP#V_UyHcymlYh24<55_Gj>c`PN3J(&)+V4cH#ZSJ*&rQ-?n3(bf?_(inQgaC{~- zhw7@^eli{?@ughe8#%erM z^gB0D34GQyLJ)*7-qnk*e~%D!6YC%HsV99oQLs%TSC~K}UjXZ%onLFpWiG^=2lvm> zs_YMsbW?=Ny!a&)T`v_K;4~==wQgCjl&1y1MxT1L_86jZ*~GK%dZm6;p7Pm#e%GY& z12sRhS&QL;rNI{V{OfkB--2Lcu0u#O;!=+YI1}+bF*idhm`&-x&p^=P9L3gfMAlaH zW_%2=G`K5k{}T-^w9!cbbRv-5YJkfbrN2j7ehjl8vulN#48>PnsbC?yOXHUPMX0&a z_GjM9;@&!5w@rln?T_@V{}|PtxJ|c<7f$0o$*0(j8`i*f7CC&mbTNEDC<(%HsYUwTFGOejMu-4-ES=C1ui{HDPy(dvnCm0uCeu8de}`x z_7KO85%HMP`%<&37}`vEYi8i^%*=V)HHfXQPxjxi;Zzs(j5uJkn)g;aPhxRb0y7zZ zP|G&R3P?N|Uu1d$rA@~(Wz}_Via!yFo&L`L=cIco`%7XSH;b>^aX{bw%_z1j~Q`w+oPuxALm^rlKe(Zy+TEBD)!C*K1C z7v{-IQD@QS`q3BhU^+cik=#_^Sc13^=OQ`@xdKN-Z1Yx_5|NXN{y)Ya;o=uRB)q&X z$30KH?=PILhx+GVYor7`L4-vWr1Q7Z)COl}nXB4&#aa%HF!Fx_c{9%V{X^9son!>F zEh7AQ2Jv~`FuHMD?W$j&6@4iAgC%R1pF+NxmFct-aDBpnUdZBg@@^t@;pS~g3+s`h z_9w7b4J%R*8R4&&Z}2RKpqh;Bd%J2Y!VMP1UlYd=E$9{SqERD;{G+N+s|`lKSBo7x zN2^mwVs0OAghV2kW4OgJ_#ttb5ddp%_aHnH zZNr11A!C+mQO3Ryf9%7?r>zdB{fn_e!Yk$(;Yk;}SDm?CU*y~|Myo=)T|w^!9+ zfsX|?lt5l*<~8rZ5~l=j$Od_fkoR1D=nQIQL?KpWliW3C3PB2pqIayxe61NP$9zI1!w6L15meUmmrrPjc2+l@Ly_2T9a8NTJpyRS zT&m+poNj%-)qKibEcOKQW%>$EiNvt|V_~q;pJS@L06tv=U5vM$YAdl^ek+lK2b;0b zev>r7AMycN-xdlr-TPQdtOoKfi%xpXr@NAN*~MiVbVA0x-@0+5Mf|z7 zk4POO=`b7MvM@Y$Jqi>^7IfNJx(3O&1YP)jKg}gBzt80$naQ)A)&LVq98~o8;NpKg zr%a)F7mFC1pnC^z)bB^^!F%KUfT2!Vr7QD<4P+-ITQJMs!e zuiXdv^Ag+#L}}8*z*$UsGG&3Uj=`Db!kaeP=|^ubDTGad!w-w8e`TFGUK)9Rk5AP^?(7gyK-7NQ+C0Yp~+(ZovcL<+*pg zzjg2XeSYiwagwZ+v-X+UGqdG0dx&&K5w{V9bELhSFEC%OQe-)La2DwM4=vVuA0xk& zpB)>FgES_0EeP87sRdqVup{=+YoPu-!X$6_(#h^K2Sx_YBOftaVDIk~fU02R~3 zSTIwztz<(8$uM;ryty6D8a1PH?kvyd+Ko4nS@!CpDC5CKr{?IUl~E4du{J?jN73_R zb=GSP+&_pXrWd#V%8oUOeLQxsmHpw#O9Og2FM3l z1YDXpixL3--T{}$_?_V#OVn}bIqm&oj}#B{^@vj0nYR;yH2*QcsmSO4;;glYh-kW> zh2u`ni}*uM=tDaX8+pLh>3;Xu2IobO!a4Q!G2q`%QW=Fftvhk#MHd$VCt8}-6AQBx zy`>ox^6Em~I-V+_PBnkK!_p|`Rgav=8w*7Kvk(8;TpNDWh zHpQ$cF42pcd*PyqLuNCv@u%Oh(|9+iMpa*nd-bY>*q8~meLI>eUX(*`#-)}K0_GQo#3NFQl zUj%`o@R6}ffiSnz$IaM+ka`Z#rwQqZo5fYVOCd#)4Llz+G0UG%fVd*Ds@*A~$(Mzy zW5#G>#cVtRFQqbFn+Xpa-g)a7!67!6A?4G!ZD57h#(st)Y=5@oTw;^V>n-{*TNMi8 z^&Omyu0`T4>2wE>&Gij%24M$i880HfJ*pMVBO@%Aek5;Sa|(H!tLJ|H*OpW=Lk7hs zYBLeGKgERRg>p^k5A0Nv-Ur1wGA!}kux9o50REZVYp!oxBXs`!+TJ}Uj^WEj*#;Ed z_`l(Cy9)rjbofE~4hkvj+?JOdlD4~;zdYwC^bXkzV}wmPAZP1+K5zB1bg<3NJ3`;q zbR_b`UfFa2Lfs4%=^pB(K=vN;dVI!g&V?oXao>qY+R$<(-3Zbaqq>mRKgN)uvxUPq zrThL<0m{0%Yf)y9^HJ-0ks+ocrfemTp~ z?`(gIrNx~Yzja1h)#*68ExlH-Dx27r4+KN=>@!{5AEm?l>^DvBHhAbi09|hGw(qK5 z*a}`I{vZ_qoEHcWTwlUGgK7vr=Ut>|tYFy*?fu(ZL|BIHQHQ6Uy|C6vS-pX;nx)Z0 z;=YCb7-ItK)lP(dl5Sfq{R8><`=Vn}E_vmOF@!0vX;b_M9VP*THuS!lQA-W-5OCSL z-`~Mw0kgBptiGcK$+(Yv_CO&R(KHYJ>9NdkH*@#9d3*OUw6v)#@@a?>%Mh8R_Kw@v zQsk|WU`P@kc+c=+VU_F%y2P|ge#Bc7LLg+_`1dTkiJeBp-$h|Bu8!_N(;{Pcd_%=9 z`Bp_qwdG)3ShlU=v70GK2RSaO$4NPbBsdFFd*PJnb=oNT^ z?Eg`t*V2KPfWZ8Bl^n&JkT$X4EwRoV*ZbI0Z2{ojX-PyT1OEHFh+e>#*hIF^>P6_A zN%huMO~WB#s-`I$*C8FQQEK?p?sak)7=#Id1g6m8>XSw)A@_9j%TM~SGjyFGWEaJA z2cnzf#ZQ2-c{e4o_osBSNDr`ZJnFSOnl=g?_REiwuiDSlXF6MutkzC*XH`)?aBPmX zo`9RK>gpY!B|6JqZnhE}G9DXYmtCmWi@6oG)kh~f%c+OFH&Uh$+K;m-quVkZW)iDX zta>*f+G^FoPJu(S!482JvmrqXfPmab%r{c! zgNu`kPscZ<^3R)&U%TCTq%C zGY!?Km}2l*7>F7AK;h|?b!lcIu@M_cZP5iN6KFfy`>_$8+lD|}13u|IPOrXNg$D}= zV^gfJi23N5Cs;>Ed4Aeu(Q*aQ4Cb;Wj3r^NXk$>ozhs7(wXA;-PzODkb@Wf=r7Zg{ za!h(X9mG$jf}d$W#*p(_M+pvi;cSPT>^8N4rcTH`?iB6HtMBj-W$s?eX7N-Gf zfgACi{Id7+R>`h+jGb94kBnAh91u!|WygLW}t=RNs;D(E_}yJ_(~SMbJY zO+81B+GGbRe2}#Up~Q3cusJl-3pU13;pq;EZc`i?D8?L>A2zuY^8D*Y{d%hLl|TSg zgP_H!Os^-%2XFkb^UBOk8+03UDxUG-%|vAsNhj}+5^{k{v|1!~i`Pn_+v)wU#;1V5 zD`!i!QsW22_sQ0$i{KC1*R3`FcK2&BuEonqh`CM;en|B-z`3B+3Sj_&@OCGTQ zrx&aZn2bYDVUMG7c6a40Ey&{H+IL?5jwDA)I;**FPZg;hpNWEp)Xr;}$<&UGoTEh@ z`RtV&8Tp)*%LtG_JL1VdRt)5Z%Nttay}c_Z5InZ}2=>0peBi5piuOL3TizcDzA2Ge zIq&oS1Ll>3$%F`6zzZ^qpm%+zuV)|KR=>*Kw-^_v`mLrgz;XrD8#^Bp_Lt^G_UABH zb$HF?t`L5Ob{deTef<53-3}&Ckthz@Hi14^bVVgPdwC9@_5GC5X=;~)tP?teF#=O! zn_0>K4Trwv1)pP?G08S&;iFr?FyDSjW5_20FoTzizp(HAl_>)b5fAy;%Msrg64#u} z?=^_ZzRh}urzTO3=kxlU>z1b=*J<8sU187P*Y7#(T1(~bq{n7cEc}0?V>i*vTKKtS zr;cv_s{Y8oDm5>C#{yk(U{vQ|M3s1hK^&8Yn?E{os zb^K)oAg^>YO2U^$O@;K4w&VQ`(#{9kNlHY{Q-<6VW{A-8nb?z{3s}l_mHS?HAAIwq z@=MlpdFtZf3p9j9VRC=7f3lsiB@0$Kt8|J#M-B;M-R+kTah`kt6SigQFxH4Jlk0%A zTi~*%ulwa5!n_YwTBp*X55U05*yayHvOc($PPf9n&Pox4{{&SS% zbyvzb!7t3t|Kt=p28Ok+IweWQ2PM zbK72La};ry*ajT`G%jVlMS#BW%LKBG4uT&m9f%G!I&RVT%{uQ6r+!CZPPNnt1pbCq z`ogCqKvNo1nU4tqHs?X}?39d_JgYG<8uv2amg?s08lJ_`;IC#8mb^TKOS=EN3xFj? z3iRsj9m&fua`{<+oV#^r>3AUY`eJkDY1tK8+#Q!YPfp?=Cv0uZ4!SRQmz z=ce)a=slVlV%T!ieX4U4eEU>i8oO%!b>$(qHBPL2|1xLVobUOC zKWAhN0Jui5AMwB4RPZ~Wy>Qnz@ou0qB3qE|`AC?jV|z&c%&EuM$N(n82f+4Z7v#;u zo|@|`wWPVm70=+>ox>V<>+V=?heZ4Sai=}f#6SQK75(>!3lGn}Mg*f*t0b5BZS~4` zM!zU7_}`nhH|fBvr@j7Dbz^zNYic~{e{uGI#E=iT!HHR^2Gx&I?o$>|)RS5daI$`= zh0?W$cRXI4J|^h|I$L{+^3f^cp2{NAq}wufNVVU^bczL^$OBDV4*EJXjwh1ZP9Q*^ zzz5t;-sQ8#PO-;xzhJwTnGlBa?9P3V^yUg-2eiZD%4~`faa&`Cdh4*i{ItKlUxOH^ zDN>VNm+pI9V|>sKgt|SL-yh1mb!z<$u|MB=y7<1I=+`b5e6Z80Zgr+4KU}nW8?mYw z1jIeiM~umT9cv ztkSBS;*B@mPI2priXg(OOJ=?iH*aCjmTJhsTP~|1Ak+Kj*SBwh2cQ1fIj!2akiUs| z$m;0_?BcFxsGa)}dmGE%M7>|RS?o+cY2R+&PnBqw3qDJKVy6$7)Su^M8B2%W1I6P6 z0iMhHlPQOfYW<1xq=V1@zf%|Y6tNBcawFCyudHZ;%T~F17!KL&k)LJ}Es{N*vFu*Z z_8g#F@EZmDdr1FP57&CkY4y|n29Ix3PWy5*HNY z4sF~IKx3sYw-~=&4qVK;b}7p&WM2zHWM2$sVvrNw)n7lw(h;Q_AOQ(4cOJ&M8SVS(mFDGmu+_Y zI6am0e3VHas%WYrULL2BGQ;T4`E>{CZ)8y&JMtH`GSB4zB*!{3$z{nw_7jeeBJuow zYSs{uj}IdSH!etxPuCthmj`Z2!7y6O)avFPnh;v<4nFeL=oXJ%`kUgZ(({;|zq{Y{ z(8Q(zIH$B~nUYleHU$~@U${_#*Mc6s!`0vV1}ra7#O?nzg5`;R;0ODNRB`Lrc%W$J zj2CAfi~*;}ei@HY60ft~RMk>$=-U`4Pr_C+xe8%uzR_1zXg=Gsn@MVdz%v2UsDrB$ z4>(p(H~#8fj?RIMuCu|8nOP!MM?{vgMrlUj(>E)XM+dt0ef`mPWbZ8bHCXx^*N%hL zF8Bg~b}-oPdrcYn(!`OQJIOF|erZ+sv;w!3b3X9HT5%>_M|Om3FHeP|o7Jx1&c6!p zgMJob6(J9y`uy0Td5to@X(78u9z$5v$`IOzk;7IRRck8hg_s_s;kc-aU>FluuR?aZ zU0FSzPZjk&yyGG;mrWe~qz_jb-wBvUNARfE9ym^5^>UjC=QyGz)Y&w|c&@ z9DSQTb4-cG&eArw5$R{eWgM_?{{}JL5@`HAr6O79T=k&wHvLETb>Mlvy2{`QMb*os z{eN?jyUS1z2*%R~7kjPbCw;3Q0v3MLAO<2AqUb1E?chi;)?uE~Jf~_c2p&x+|Nk>FtQ#VORy%>gJGT5=q|yLB<<2$6 zuhu8RT)9xygsR0>d9pt#IvTjY7Dw+)>6N&wt|iES!O*`q#y~s+?%62=Q=?QTY4Y!_ zc9i6{+d*G)i9*)xS@HTJTbc$kZu2#`Jv32p{qjkU)CorQQZIlV4?3<8j zW&dnL_USP#!_P(#Cc%*ohfbdTXAkOsiS+sVKgYeN?hwK2aegpp(9t*VJLadw@S(s3 z)BJB`^49xCy}wLuNBG_wHaTk7brw))-aVI@_8H!Yp-MdXHAdN4c+FP^ZN7Xdu22^9 z1YOo$FYFw=7xUlQ_&x7NZYed-U1qfr-&W}u@~fG8mH(rY=%2ZtNH@J*TEkAvfx#26 zQ4gZL@@mT28ubz3xZ^mqYmLyl(6U-oFlN_t!1j7(8NV-&>2?2iqcU z3`^$m2LDY7mGr`tuI1?65a(kMDAh#%=mQ)W)N)%qYi>|%;zvXR9V}8xHH>a7USsAv zHm)_v#_oMwdR@oPIAAw*9|m_erqhH5rUid@xze#94&+0Ge68j;Wt979;QaK%Sk>oJ zI>+)kTiu$?V*J>wJa{}<5S6&vP?%U>DhwV_vTmZwUy_Vi(h8jT7O_8)RljMb_mlYl zvF`t|^Z}9NlJ7@k z{L%|szVLPuDxGWjK7nP{>99NQvGYa=p<3h!ZMCG?LowQXu>Q$@v^y$J*un6uxyeZ|O8kwIQz{ zZ7}fVSDr+5*?*7mnS?DKKi>An5I!3j6^crrH=yKt`z~5q_wf?%O+(6(&Uc;6S5=LW z*PxKya_`|{ceOH)Q>k7bEd3nOpV!rsf%cx-Wh9 zG9|}bfqSJ9i64kylMf$P3LJ{N`lbtaCXj7~)ETt4?{uN%Yjo|;E=GA!QmL6+D=U4# z^tyL>@aKQato^tl@3P|PIwhW${9$w2EAY$j-iOlqyuC1s?T>c1cTV12LXzB9#85gW zeXqCfa3oL{sa5 zkIx-PQ~ZD8f&na`U5gsPc<|7Q<_isIh%SHPRi%@kSnQYc+0S5&y{(jzOfwO^=kWZf zC+XQb8}ZScpg=#%4vD~>_+E+zVJYtOo&(#POe=qpY}MnQe~H_-8Y4g6wFDi7;fKTw zuwPe|#vIEarboWn^q2(zw}?kkXc*_j0>wy*N{AtOlrNCNsxaJXSI7>}qPwF%`|l7n z`G3ju8k7|D4WLkYm>l@sg`s&TIlgo4?;%gaBAXQ9wI`d{pWc39x`CX8L7qHRSn|Sk zYva&Y|GI0zDgRX;=Ji;1?=8OUr?GX~IC5qrV+w;dvkC#T@Bg-dD|bClK&!T2;Pdnr3H2v&~oQq-Cg^doERmJ!?qCxSPP?7{`0aV zDG2vWfRf?8Z1b8_<~PoM_g za)x7Nc^;zseqy+B&{=5{mf@!BmCrlQe-<~T7i?$h@ek1o_{qKbaY26elw81kf*V{h z0w}6^#;GyfO6V4Pqhkd7DlK0Zn(gyU#Y{B3WvchIl+XOzkzqYPf7nq?{!E(A?!z7> z-6`+RhVK(IABbQ5T9UG2DKC~N^*oLezHxO6X zw{_OV=Rtq@Eh}sVzoiPcZLJ-b2KJhP#UF5-xG$J)S1c)r3IfRqS)f-;;68C!SM&t? z!!vIEaI|_}M)^|R%73Y%{ZI93xWr*!h|4qjEbYE=lNiW_gQ&jX=KPNG-T;&Jzgd43 z8s^!Vo9ky9xBmkub?KS@r=L*AHhcN>4++V4P}6fVy?04k-L7we)vh}Jz4OR_t3_&@jQw(qbK@4$ zB7BH#y<36X(($v0vzsZs6%&Vz&){{Qk~hMX@xtXIkfcQCAsy5>M}uK(#I#-E|KjkoP;BDhm`y`^1FenfBO z<~xL(7lL_t7dmgkpqkPtCiV#mu@JSCFH~<|S4dR3gNnafK2ei8N-zd@ExJ8*-FR** zqD{s70muj+Gi>U)r|aIrnH)BwoU+k#U+gw(L4J{piJG7yYDkL-73q-Ua>g{4WVe?R0HT zIBnV7p0!C1YK2{plhdgHZ2rvJ77#Z}Lpyl3_>V^E$xtP%KEs;JJ_lxID<_R@W8lkw z08z8F{_ZjSRa;ulyZljS+8e7U#v3Htjkc7t4dIoF<9Bqyw?{*g;`xHVg97z`qemEE zf9=~=Odvj;QU1A~HdI~mNx8#(qtZ-3J!@Nqvt9(873Q${L5~U5jdG7X(}A2f?N*0X z6IaJ@V43rXJ4pF*LXR*S>6_)aLu;t1;_Y#1db_Nts6P%bYhpGx6It>NfIb_SpwVpo zKyKkc(=@qUZgDppdEtyZ=<;Wdf3ce4$YLzrzJLb+QzDLF@EY0WN2~#{wHfH(cXNTq;VR)qhuKvId zDnwB$&;Kom5MZQmI)XhVNMIf>%JEa<JweO;xg{BR^j`RD1kKpJuixNK=v5&z8(-TnzWn8e9bp_Y zP?LPJTyoH?b_VgBE-cT|bu@4VW!O`yoP+m-^4C|la5LJGo|bDYlq z3Dg$Invj}$-QHgAi8YR~=)L7poAfqwd#E4nnQKD0+{=;4ifn-8Z#)%>x$@q!ei4+;`Z7Ps3%$UQ|r zqPA+CGV(WzlT_@2&N3={^crC6#E^Ja^`8nobMGo`>d^n_CjE=-)8r0|^d_68)c1N{b)TnY33+fYNP8bBTX)$EJ-j&4-q^ug@L=-AUVo^S*6;c6I zn4$NH(22j9TsiEP7vO4BzNY{ci5hw$uKz5qZ9DBC8=} z=#$@dH6c%1Z>9rSeO#|+KB|^rr02!O$L*D3f2b{w$hI83HU5Y@;p1Dzo|sSW!j?K@ z69VU;%U3`W>=n>TP?>1En8&621A7?((v1dq|P+rz&XyU$7^-6 z<~kcuX6x(;Z0TP@d?SHIy&)s2=>K^=w|rj1N~iH3r)=B|h^Q};*Dr4pSJk=JSc$qn zH8cy-n4<|NjSSd~&yHn%luABvLr5R3g0t17NL-oGo>Y_&0`srmdvSn%Z0N!8G$-Hr zmm7oOxA_Q{vKia?chiCktEQrd%^dL^B>J8z^eSl2y4`j&os2pc+&)5nYRDUSh+K%~ zJ<&p@2+$=osoonCLhL<5H)itp3eUL7)P5oyI>TH(TdZuP8a31>f?w^M{9D^GVG7Oh z_xl&+x0){Dr~}fKT`5m#I9#GgEcv{}R!JA%nSM1&>*7Z(A$n(Jctc4j3`gP|Og6JJ z_YXzici?AdI!MOVDWmhW-$sKS7ZHUL`&?pcXUO4+lfbJQ{Lw+_d?g zGlez6m1i^H8GmQVzdJ)3-d|RE!9+zzx2{hQa&E*-s}}@S&y}I>wk3oD*Wc4^k5}f$ zu?DLgigKT~OdYwB7PGeStJ-EFYgO2N5|93#g{Qx3$8XxP5Nz7&f+QvR9v1Q&=kM8_ z&oNwRgYE|*ozx2yNo1rrVm+@eje-2VD+m<4CI*B_4 z<8MuduzoARrBNPvkf&AXtMKPcDS3qaZEfGow_&sF@qI&{i*k-@fEjqv;;10vbus-R z$N0u{QyeKz0xJ|8qRUxJ_c?pU_hPLsfYgtw{@XkSnLHP_q^w?Kd^dJ(T9Z9u!A!eo zHE_4qd)LF6NUH5jNQ}i{_MP#AP}K*jcr(3utvf+cT6W{TiX1c84s`$%`R64jnM2`L zjE^;At~QAgz05QpGtw^~?B4;bMC_3$=^H;rXHQdQiEz<}&s@;qy*NpDYyF-(;COaz zf{r2EeWw#+?xtPbq2tBZTpvER!Uod68hSKNn$>=2U5l&2)>TN`=!a66jO2!?X{&7p zA$1&vU0_w+zJ9Q>NwAq>s^6>eZ@-80CvA=^W+S8HjWU-Fey|LP^vw0EJ^dU&-Sx^> zj%4KyP?42~DT7~NPDW;bAqISA&yS^U?FJ-}+2wuE6t>E!Bf+#E=&_oWChuER3VYy%{)@osElcY9^d~&A+#Ohg%lq!uM$>(ODgn3h4}7kDE-k}=m-UQ5 z3e|Q{v1RS)PPeI!%i%RR}q>oA_B6e z^}m)eCl5{4eRO~-H3hx|n;hj_3+Ti8vwa}M+tGg!fj03pmhE+4GRN|EnWUryt8!?2 zeYC3rM_c|9P?yIJh~OE9tgc0EW^<{j#7^nqETb4xHJhrj$3#&(KEb3#2ozsrs&kkz zV_=k97`3-830MF43F-iGi=5#2)92vhIs)6O?S#JJP?2GUee7ZBK{(LdV<&zgWze%G z-^Fj+PEXRGbB1h#xn@F{50;9wag0ZXMjj(1!n027i(ZT)t{Tt?KoAaj@k^U_G3c}N3-`(F)=yeo6aEfKAEL*Rpl0 z(*txTe|Ij42lpb%wOpvd1^U94VKMy@ss(j*^YfWvjU&M}1g&a?EjwtpW_ zdwxaEOjZ&ulQkHsbT)!5IL@Le?)|)>`2-+|Bl|&qU8YS?SR~1Kx@`2l)bVJWgdltn zA@ecC&-Ci*P2OwEDkbBU@>Xgl%<1JAK<<>BJq?zmP?=%LLQ{4Di?o_X!{7jHoWpi| zTW>?3pNUWSV2nB2lv2GCrtntk)-@}C6{(Mm%qeIIrZTOx9TD}+_)YbbAcU4bxpiOo~)De@P{J%OQsspsrpONx2N)-omN;5 z5d~h%a{9w~>6a3Cd7ZVE9F3d-)Qsq&qy!VzxPt;FvG4Z{;AQB$k9I~TE=OK{Lh?<0 zVIvTS0tHgJKhii4M@opIjrwmo`Q1c5)lD%KTz+%Y%J7U2oal>FFBDMO`b|RV>LU(^ zcWJ-pqE`j*mq@uU^v7XXf*=#S^k4yje9ZR@zOgXf($CF9d;tNn{o+&;a%?2CTdDk40 zZQK?@&gpP+z0hdtG`Iy7(b_;7PWfng{u*m~>n`~7sG}X_QTnP?+l zL&amg)~|7fM&VTabgQ4{^#*0>+Q&Ws3LFSA;heaG{Vh<9{*hEp(^#nJrd_PgyWp$4 zcP3MDLlMC0OxnHe5TuJAOj?wRPt`03TD4sD zWL^GDYGpH~y+K~d;r!iLc28}SxA{@Xj||IXGTu17r%>+N)?a$JMTa>3@beX_29Rv# zG_@p2x6Zu4K^q<+34N}8bjph|g-oPSEp8L`SuLCjU*M7MXD^ak$l0+!=-kj#Ru50_ zmxTO@^B!osBxs7U?bJU9=S+yKrgV}kCg11LZc=w$LET-luZ%E>&j_=iy*w>KF@P@e z&1dd!G&Pn$OR}NUYr$TkQ*&O%7967!lG$HnJlh3bAMsuaM(ofvU~@L^{+^p&3h*wXB_VALBJ_`1vY7lF9SU@;r5*BvDHf-<;Cm^%44L#>B@DK2h z&{o{ev|k)I&K469*7qTk@a9*45DW61s|KRipgO&-bM&#PTu49c!MfshsJy@>kihLg zd+DNt%r|OFU-}xO$|pd!)f}jZ4_c;F=HmvmIg$U&*5#-1)f^x{4sR*4c|({+rQ|um zYu=c>0lP?C?KRTOp=ltrz#ZUiT}#0_3dbZ(o2}pH=~(N+Wp&gZ2vEbXicQlQ(+MGX zQ%zsV!u$7o3T0YuMvM(gI>mfeX-}ErM}>N*_ZYg^(~&idr1=pz5rQZ?e*Gr&3n)FK z#E>e-^OMnwssiCIvc1=c$ub1^cve+vK{bp9oT+7 zmbx~n!4NcubuvKZ`}4{F(MH3BgWG?7_rv~&IO!Q*(hz3GYJDkIZRgz^wN%3w1Fj$P zrFwR$fJcp1-ra=v8-LQf{!-TJGpMM7Lobv5Y{tlEHC*OXXkUNQW;7RkNmw|$;t6>C z9dzmtI5N(kuipC2+nc&%e7#QDf?0_QiXTWBVkLa%~H9_N32>w#8 z6Sri%;cs_RR_EdvMgJ77#7hQ(9;h&L(XPZjkNjHv=jMv*V&abxfXSLPecqo;jEFWoUi zgQoHe5>hVAvFmGNIa83cH@ag(=BI<`1ySu&qEU)%0)F(p#)upt9iIL5DK`NbD~3Gn zEn$XU_v#H+t&&^Az*ll%+{o;fv51`9lYG}r{@<9smie?nW4`2Xlu)7TEY4dPhhPj# z6T`hv&?gU@GT)PR4-2V#c2OXC#2xh;9b^LPXLCci7Y%^kjtmei@~%GPuenJw3901? zJ(oXvhrvLihgRB4XZNneFJhqg96+e%v{P3V9P5Jfrb~Hb03DGiTCA)4+Rx;7d*NkC zbfA9&>ex?i|5%mLBB4Y7J))KpYnD8&Dy2T)OQdK;UC7KU-2^Jr?RsoRF&9f#(Yk}H zG!si_CW%k+@j^TY3do_jz(F)}tBErkOYu_5^3ihCj|uB#nnFLQ<6roef4J>MLEdsr zhiCx!(_F*nh?&p2W`#d>zfU2t8FSR$S${Db`vL1~{OBM?6$~{w$H)eKzDr5FbstVDpkZsu@1+VLQ?~uOpnS>uv zPO0-}Un);5P0WdaC*Ibm-F9A$!Ko%Ifn5v{)BJnVV!RShL$5zMgT?16xcx%M8Ljh{ zZs%(n6tvSa?4LfD7DYM(>0e9}*}Tu@V5U6%h?Rh4G_5R1p2OvY)NEmX+7|ngNoD-Y ztFK+SC5p9AVpfYv#R@-j8C-x_={0Dt-O?oS-cXQHk#6iac{O!KziV}r2|SR**`jNI zFWCsqpt4i|Q08^8(WFx*Iv(Lc8L!!L=Fxyfx?>I$X$C^6%q8Oe&h{D6A0op_lZHSn zq5N*2M-zkXvH8ci1{vrjX?#ifQU%sXpAH13-!cx7@Ex?)7 zx1WotUH*}P5}jk~=ec9j#--V9Eo*(gwqVnbUf!?CY8^0Wh9d?DFc)lFtA>gzv<0+X|$f3OQeFx2W<3h9u<#*P{$kRsx^{!B*pGaO5+T-e#cMqiGe7jKFgIAufT5>ZP zC;%+hyl=RcD%)R5gv}zH$j5j>PfoRzH|B~<)`?d76hFN1AP~lv%5w&77sGI@;GDZZ za53F!Jy|yiJiTA5H2WKs#Jws(UV}4S*Ct7A52z#mP(8NN$uhlew7v^{+lN;%VwQa> zFeG54KEofl+<+@^_}$@5Pim3#EhF9$>$|81c9*cBkZ97IX6#5dWajagLQ?@l(?^_` zKVNlpatiP*?$f%T!r(&aGktPYREr%o>7df%1=*t7F-S>@5)(y1$A`p z$rXB~NW8<=3Ap14H_9*xk+(&ef!6DW>&NvPDDjqC7}Tg*&Wm8(e$0=(aJ~^bb@0Gy zIGe(VoAI^(A}`+~)dij|+;tY?)#JdQDg91*NQKe)bWZy0EC>{(KHRp5V@x*=aGh*Y zwRdE6v%$A}(m>-O%NoE8wK`noy*Hb{+f~!)gTpUtXEu98_ABozEsHbh%iV-a-cr)2 z;2n{wj!E1;NQ*O+k*S3Vf{ytJZ{1{~L@*+S*?Nod+LGCP7tTwHbB$s3_?LD#rNx|N zeUZ_fg*L(Vm{Zx4`k7t$U%F9gT?@p|fh7j&Mf8bhFE)_uAGOMZlk*;M3}3{}Tx{FN z=)|_{8%(3eq*?0z$&rq)wLcS?*7Ib~t-{v| z|7rbx0TQEqIx+ICPY)$*tH&cgOKl(klb@mhra+8WLA*bXv4PF_D5ImKNAi1k?*_1x7IJRTC6o0;{S zWH(evbPg=KEml0DQW{RcOgWO5li3)1AxFz3IDGh4l24%?WQ2RMlXW9SGIo<`kNkNp z*5tivCFx7x>qlUK+z;UucbrpS`?soHV(Xf?R(PE>36E3aMl=f^w%H1OpCsZ3AJN6I zno&c$v9hhs#wcCRnD<~`@@x%f17$RMjVOF1tgZ7W6zdZ6G&Acshz)RRxpWF9(8?sL>h4=9crOzVu;_yw z6dqjo7qnSDUSWeB8ixnd_U~sWVrRI6hrqlynb$(X_jes-lFe@TNku zE1bHJ-qnA9w~U#DkjO)ZP)?oy7fHIT|Jdk{B}x6jLl;6p!s3_mLIo(OVy4re*WJ}V z^?-dQB1f-Z=9pIMmB?|H1jeAbU6 zOV~viPqd@GCv%`(5$(oDdnC=mR2lFG6Od=RO0VCp0(|~R;@ax@-rNvD&M;$nqLjfg zbq-Hk^07>xhl1uamPve{RV&IcTbBl?i^2+>uI zc(vwl#9-hxS#SefQnrJ_6M@G{z-Z3r1D82UoDa8U(Arz6bx^UnW9SB1RNp-SZDXro z0UVg%-yVP@(=qzGmzEtb`84eOT>PT+43o3dCG~mncNB5IkiEzf8b{dCV5iTDZ{ykjCa&v})ALQ*S*BRcWR7HKWqEv}i72mVwrnTD%@F^jf1YOQt9J(W zO&O7<6zzIQG?TMx*wuh=6sbuvzE%7&qS2zRUpa}MCjsGp?|A+7+Gi5Mg=>Z0)vX8T z;FjV<+&~0gT3t)IZ)JKAp(+LD%p2^sZ*5X+toj@o1g_{gQ`9D1L)@?P(snQXD3r$J zFjsA;FSJs<4xMEc=^Z?~^(^spJ&%qbIzHSFMGn99n0T&&)dRjmM>2vEd&dCIk|jWL zLPX63IXpVLqc$k*{|CuHHotgM6pRX!TRQkViYPcTLt3Pm#|KO?#~`(fsDzp4M26J% zOvSq~8%3B#O~{)HFDU#)#ya#!6&f7P(I`( z1g$^nBm%D{rE)H9YGOFl2UQI-rAt9T*zn+D$eXcfOguj@uArAQ5KtHtHo=n`R!u8x zk5cD?x%>JoctApq|G*MO7R0V7lpHH4RRD26XCrcmflE0|9MH|(MXs*PKGSq+-+-Bt z-Uxj4LA6~-Lj{mI9x~L(Dduk3mdW&zLv7Y%d&Jhs!NSi?jS(L>EgF=FMWe{8h1DRP-Y^f1{6 zKsI`QB7}iH79Hr7FFj_RL!BdGY1~(*g*=I7lfPyx++a=mA1&$ z%%+%`QjiWM&L|y%W~)kX4)V@l$wjbQUi&q8G^1rb%TEp?Y`iu+Uz6c%FhsS^96~@9 zjdZe!XXi_UFmDI(uo_G>U|j-HTRFJ3?=Nmf^?9iMJX+w$zo!wB@v$e_+$P|&Ub%Gw z8B}VlUGiLh_EEN{ zfkuZ%g#e}D>eVr|;L zOwFJ2j+&zuG*6-T0+1@@a)0q0BqyizYU*Z->Z-g|v~ZfmX(I9r!+PcW2jbYJrex@u zgSpyIh|ZZ_4XlP4X#aD0GETsBM8^u)7!5UM)yvC0;tE^)m!Aw1EA|_pk)U4JA&{a_ z1q{mjiX&S9ixB52)4b63JQ$!4;Th*?#CZd6f_yx~Tqwa70%r_S=bSZ}!ekoysY3w3 z$85^}+1gB?{p)GL34bM`4Gi8-2ZDP5ef}zW$v-FP6NyC~p{=gzR4>&@G^5Es=%?)O zFv15b^#NLYxm-^YabLjTIkIWZL#6x1y7gdDi5Ll~UZT{kxLER&W)Vf^3mPl))gk3- zYH}9KCEkx-B zRsFP1o*i>56xn$hoQn5C=nE8d@Jt!ht&noqsqjRDiOVOn1SU?tgnv;h4@bz$@-j8A zm%IQ(jj)R}0xG*Ge_eo_5+^bYn)5&`` z(YX+xsjUE&#C|i=+TY-qUs#m9%)=F?@gW*)A$fx&lBH9;f#WO|=-FVEvA?1j$E@K1 z-bR0aneeoNi`#3N<=_CsK4L#*Hlcwt*>4l5>|xT7SXSB3&_*`XFm-?$DLaIL_`D!D zE}w7kde-aODHqxtIPGIa0}m&HRg3eW&pSL{b-|d2UE(~{DPykXNM2sg%*OQE=dkDs zrhS{xI1iKiP3K<trMZV^X zp>5Peuj@%gOCelU^M<4Q%Y-sZ~lp`;f3(3bipT986`MH<8gR4l!t7MoeoQKiz z%ex0R4VXr`^Y-ZFraYFYc0gFo=Lb0HfXxQbKKA>p{hazkgT*f@%d{Q!~H| zQ?+Puoby;V5BSE`WO@H%J2Kz72b*y+UrqdMUm^4x zJ!+wI(BWtSIWH!{aGqDZ2ANIHqC`ba;LA$}@ky1o9AvggrN~f~0MqI`kj;U+{YEWl z?zALm(i*42D@o_z+!Ju91!=@13#cfk)|aW9H`gYtX~@^q1iC%Aqbvkd@t7Jyetk#a zywBjP^Dwh>^v?^hg`iUY2?Z#z@0O6CQ^Hw(&MTvW8xrPKv|=OOIvfiieevjKl>w$r zxlN$gbCGxZoi{Fkj6ZwofpqHFJ?YTVE7HCL8_YxJO81+Bq6CURGnAOS=s6=)&Ibu? zo=qq2x;-5{ay0F~@DMGPr+e5n<77#hm@c2MkjmUCcg!^u$UzVgDx&r=DE8O>`TeG% zaSn3eoPgo@0_SPY&*OQ1FjaizRM9p)hc|U6Zh2D*yF&6Q9eab;I)A>2b0NNGdpqS5adN5N6H$2NRUn zv#qt_3r_fJr-T>0pN_CLQ{|KMlV3^DXB{kr5G~cKkvoE48yqH3X|<2Y%fyzu_OsdN zI&x0DkJ#N`Y$N^ihSM(dl7sMyq|B5qXh=n6lzB}=%>Ywmsfq6&ms!O)E;y_K8}{@?2w+4ym;y^Isa=*R>>CFP`U||P(XEY5tf}z{ z8>4(BDR{|)dN#DA{p2e`b^yGr<`0Nix8LyT5*NqM60se{jne_m(sbl)Qp~(!R$&=5 z6o(hqnHruB2<7G{niD4a9Gg{xTC=Fq7j8 zmmhxRe@?f*{f+7F_q~%CxIF#~|7LpfOTH~#aOq_%%O~IZC+Y3~{$FOjCL4zir^np* zMd^uO{?c^u146qakIoLXe)L$nv<{WQ2ZmW7&YomD`!M8Kl8gUNC^JzWd$hBD8* z4r)j7K0*7JDf4nquPX8k#Ll12$XN26-$EX-x}0AJTW-X_#LF13WB+`CjPRaNlm@C` zQwVbuALpsy<^&m_JzrV|YT^a;Wffj<3~LB2TFY~(d7sU`)JaX{g zhKk>3W4!H~emg4HU_9@Q*iRG-Jp6(})IM2+AZ+`(h;OLO;kWhBYgm>Wh{YP{q*7xN z@t_zDFa4Av0P^F)g0A9OV6y|IowCfnVhQFcVoboa}bEa5e-y2yF-(g)Py!B)0hZGa@vDYL3$b( zt=M+MHmbOF`|S&~;Kia3p#9WW_%rR!!(;=QFfPg{md|{Um-wK_-( zojps$llR<}KJwaEq|2W2taSNPpG_Gqhp&8`UGwgGJrN@ZqFNWD8d$r1t~zr%{pr8@ z*7T&m^^NJV)-2}z4a`zS_q*e5ueYWJ&7%8*;)x*|MT~RyRF9fi)O-G~pGmjA=D(*S z*F7!W@HO9(F0|(G_IJE7-S+>!DxEogUwYPe|FHYZQ7U>`kvp@BFzRN{1i)_;mGO|B7_U)z_uF-}?^B>ow`me)4INrZR+Kn) zscGn4SUhx|G7ThF)BMp;FhnkM;4-S?Zn*=PR#g zxg$y!Kmmj1{e+z*o9{1i9>h;@gq!hvO}c+Ds)f(*XB=K$N^nY%ay7(~+NBCdE9tX~ z3ND3sGk~by$Go32=fML6P{zr?1k~rROf!yWq;u$;UF9BA)JX#&^2^YKFl8NOP*dTE z);e?2&m^K?sF`@h!~Fo@_Whk6C-{7xD&CWbKz$vSc*#l4cP`I5=WdR(tn<7<1_-DQ zJ~%AZJhchcApo%ju$ahRVmeTnUzm77VJP36Xvq131BBs)$l;7ZjdEHFLNw@5O1E*^ z@uqcmT-}iQ5)^`v2gM7C(w<5$3V)c^l%Bc-Zjf-}+URCxq_#fKXG(=c+TjRqB1Z8{ z$a;%Lta+Sppc0ps*Wn;FV7$;!(M&B6c?Hb=j)NOK7C1`-2?^^ffi|^KB@VV8N-rqk zO`pYZ1wTU_2HI-Wh9<^ZFf!fZ9C$QysBx4)AUSc|V&)NY-VqlI(RrW<2GxjkXan(t z58J%T5}-nbhWcQqx?Y9NZuj67t4}B$22hd;5SgRxT=YT+y1zTjDr-mvY zWoA6{LOwW$(mOTQ7qNoEr%^`%7}gZ|91tCX@DP<;G#Ak9>_0y7`|`BkK}`sxa{mfk zB*Wo+S-$c3k22bjwbBrk;@TH~y&Kx~zK`C*X7P$=JU3nY;+MK};D7;^?+)?_bx$)| zOyoco7@kqy=l`F*H-XkJEvo}h{q+|$GgLuQP|TDvD}w^A6{H_rLe6 zdrPW{_uhN<`%L?J-r=0@p8E~g{-Kt{XBqGHCEtiXl|k^Xm%Y@UQp+8KdBgwxv$|2d z>d}u`?*C2y2fX7tbJe52aCzl(o-W(l{@}NkJ3Zoal5bh=^r@e>T=B4f2p+KH27S%* zp1r*8m!7k{`{gfPu6*R@td{RRuX9t4A&c%gt+hv3aP8Ua#AO&)%Vu#%t@)s7*67vt%udM>y*~EK0jotj_T{QB7>x39z!s)2{i=>yPetP} z1@`O5Aj*{y>!@|xK&`LWIZ$yuUothmzOJYzW-&ZMlgF`)D7$lD9G^KfH_v}QqsSA} z^QEddV|HG(002M$Nkl` zjpq53Zin1Pj3Fa{Tnk>48%UO(~&D7=~@OmbT3HU12J`A1a{O;Xt2C=vkW3>p!7_`*`yhGhwiG**Ujpaco%1 zaeAfpLFqEK+@Rdj2Olh2znP(vr+wh{9M+p-_dZB$>s*yYWgQ>K?)@h(m4p4rImj^Y z*Q%)IhtcrEH`_-)bnWt*=RHf$)_vq}-@DxAUiV+F{_@8!x4s*m{Y$qu{nqoBzxsck zw_Nj%H!T<4@vh4q@v_c)eaScIS-_Y6(07RE%`f~FJrnmS|N6&7-Jc!K#g~rq8NmOC(n&{zT|%{x4QIp%YDB3+u$3;_&Rg-mp*R! zC|)XReGMqbrE^V{Ez9lh`^n4lOADT5e3LYqCd`wOFL7o22kNv{Sst4g&X%@R{UK*=btREd;Wh#j+bNZ?~9mk!3`>2 z7L5JC_58p)-m<*vzyJ91Zro6xy4Cs1?LX-sEcgA&Z(YvA`zd4W*Drtf*1uX_|I5$C z8omg1-Uc_hpNnTl|M7CoJKwsz;y*u4V|&F<{rlyP5C06@On>(Ba_H{&_1~^%7&%?< zf5WSnSO5Gov3`FZIq>q-`+ViMEa%_u_KJP^v;W<4KHevK?)m30Z~pCHSw8gMcQ2RS z{~^o$!EwPIuGE-ox5hHH(_aic*bv>>L1U3A7SPw1LS^ZB%r{}o3QmJyEW})rx#~qAr(dqyFtD19H&C+hXtXC?7_1L}cqlk>brtzLgWUKDmC=nLPxz67(1_I0Mh zTPLgX%p|Mo>gTJ=23uXOHpV9v=YTDd=UOMKGTPc@jY9a$o)KsQuVaTW)iY7~I8kzu zn!NFh*+Q=)4!+K$cd_&_QCDj02$5aSrVxsQ=L-&+hzur!Wzuu+Cc%tTrk2?gi%PV= zdhGU>_n9A0m@b+}kRk`wwLx^b#Pl&%h!r!!fvS0)yne32=W%7I4K))&=6CLc!mKQI z4PB-<^Q{VoFI>HTtsbQr*O{>sZPB4a4nJea5z|%I0g>XMnu+8&EM`L0@8qnR{aL0e zbOD%!<^tovZS=(rBNduRj!ab(+1(GhSiu=ItW7fLT&L~5EN|74{*DV8RmQHW!oetW zFUw#@S!bb>!VRAwDmwhBZ#~wOGI*pXij&9;IHat6@}gn-u}@(a3tdnV zBTjNkQAPOMN*Z}5GR$LMp*R~0d(n)L)Fp}g#Iz?=Snq;9Te&!-!=kY+LR!ouON6i7 zGe!dY{-Kj?3K$PLqvbNp3F2f=oaZuV8^a*OS#pP|Xa$Eu7DT~6RAqmd6mUvT?6@Oa z=0vQ&g2@s%^_@sAeh)dA8cMZ8pj=22aUo_MsV1NFbP3{cj}V83tzudkE~k%8nl;Q$ zl)E39aS*17BwI3doSQ)Q!?WrcWRI~Sy^DDa3bKrktL|%jU9=_B14qI&(W z`_KoMx8WtIS3csiWb=V9O?@A39xr>q!N!?{GZ>sT>H+qVP5~4UJm@q=lqA|U4QmsFkY`4 zF5aa6(bN9ba_)r}E_eU@FUy!G=|g;2C_iN9_rLp_mv`X(m{&gXvzNPm&KKim`!|-~ zd&)o8OLw`3AHP{=kb^gh_xz%Nw%p}2zF>Ll@BYT}yWjQA%SS%&{_uIz>vVJc zm(P8M_^$YrPuGp^AN~8MfPz)fEfJFBL`sx}=t$}@7sGp)Jkg9PilsM+WOQYS)y7cC zk7l+W*=Nc^bwVd!%4k(qhzB1tCP>q@)3rGWTg(t^2q(`)oX^ai7NT4_6h%d@lTqX1 zg&-i3N2pH7S#YrN7`7EsO)KL2TBTJEQp+hhDhQM_ZiN+RhNw!6$-~f@ zVnxRQG=*&7$|%AOM-wPuJlIs29o2_E#j)0IETWoZIE!L6m?Wb$9I_Az%rdZr=&-uDXX5~qnZ`5^_5u;lrj9mHB$Ed za%AW1O+$fO4T&M(6Xk@v(nzoSnYgLZJyyzbUz>X06KvfY!PB4|u1k(}M60t{l*@Ok^8m+t;W?B@e@ZoPgr(Wu}wNL%2w$J7w!= zMDF+t3%U>`i`3+tN*OX4^xa=tAT&MvIC!2ULduHXMuj4}@lnXu(N?<7#4cUfJdLFY zbsRe$4ntFIWGsH7x|k=)oRglTBxu7Su-D5!q8#mwP?-LpBq2x zg#*`9b1*HF*=F>7Im>_$YQDwC-0Zl~yCssf3kdISy^+lOp^wXvfvZbs9%H6dey&NT zt-lDCJv)YBKvo8F?4GX`!lfTwMS8-TqIyw2$Iz=n;9Rg7YoivQgBnJCh=8i?%U~!O zMnzPZJ4&{5npI4?u+zQ^~GPW1Xq2= z7cDRR_J6Xx=J`LhJowvxus&4gK~MOeLV2y8M@6k+N{K^KWyRoSWFFjwb`a4hh^5rjo_9vD{e9wP`P9%B;_Q6m5 ze#w04?Em-VuUr1+m4Ce4;lYoDF53OR?upCY@r)y{H<#Y!9?Q#~^&`vsUh|6O_78dF z^7>!=8GX>s!@v7KVBYZTD0pvs@B1x(_@n=7dCPDADsC_zyS(9-e|GsGZYm%3gU?!S zeb2brJ&l{sH@x8IF~?tpo4?2C2J@;%f4)A@=5Jo{Cz+Wwo`Yu;pDp=O|K^#?MOWTM z{afGtYJ6DG_b+e!wdXBYKlU5bf5Ce`pS4_y56RJN;Ju}9`@P@P`$l==-u7~gU2`Bu z9D0;MRrnS9Trj3x$@_RL16{noY8~MyHzNefo2_@;bZD_r4yxST4;dT$lVi1~_?cD^n&=+5^e!eQ?db0%0 zH)O11%!L!p180i)CQRL+=HbbZCdkl2)G3pWVGbV_#F~6T3Zco=vw0lyW2l0fpPZm~ z?kEawSzny842yaTT^}djBpsTsFo|>2$%eeCcU`d)l9I4Z-#J7#<}b#pdBZr3^57WJ zak(*<;Y0f>O*c;wD3*4Z1DYj!Nni;DaxPRSbleXddm$D`vKCI2!mD9z_Z;Z(o&!c^ zoKYKt@zQ4z#is&#`rLo1CoputSSgRH_JO>ZrVBt^cz2i+?)?z#aLo7>PJHxKOP*$) z>k6iRKg2)~tpN=*+9TAQZ9laAIr0Qs>L@S=TAQbq*6D?CU{2N<%@HAa9Sf7O_JQSo zphXB`@1tEfR2X%{{^UMQ8H0)a37M2Aji_cUF%(vNKM1=3?~B!hd*Wuy#C1J{%pA4< zP^@Ge0(tCP$h)S&rw7N(W~?$oy*_IFl3UJE$NOG`XTs3<62o`D;-xjqe5vVsUin8# z;17#=@eh96a@D7Q0bU0Ah~+`w`aK#z&5u|hWkIzMJUrJ6zdJtsvzAx>m#5)|>&?13 zd3(MD^*p}J(+&RToW{S#K>H|O=E;(oi@y*Eb4K+zMWZ%mB;iYDX!?SAlyzg?q zZ}?7ps0(j)^(|vWoTD4bGavbIo6p)n<_J$lzUMFgRLU#ytfI$z;pJE8(^B92>Oa>_ zw27{G*r!D@@cBmUx@)hkI1=3f&jy<3lDphX-1;O|qpr}^>(9~8^N`B- z;@Qxf*WjvEPJ00DPT3#OB&}zf&BlN&7FxqP4?sFMN6H6%TzB z>bnYlVY?hJb!Fp+<0uY&ez4G`xQV1puUq4$Q8$a%UbCFO_>vqaqq-J!u;ul_a_zM6 zByBgHNc?)-kJXGS6eUix%2CpY4(R z-g6Z*#56JB!rWJ@>&+Bzp2FnG!lMpSCts^8JW_qY^)CvK>T((&csfd7*3Xy| zm(#EPN*B*(t1Hjr;;>z^?M9@^1^{@6xSC=gSN%Q&pHqw4J3CD(j~L)Dc$b6u9b0!8NywS~-_`@y*NIKdek9xs?I_X8~)K_Ggn z4{{cqQaKO@lB>eFW^Fpx~j%Kp$5Z6%@)nhWmrEJyg^c4xWsv-ZB6N9m2}Cm#oFp-H;hsEWUe1*hb+>x5$tC#*P;7ICh_~JF~(^L)4*2qC?#jXt$kcLs4}KcDwx`F|xzZt+U)x z=A4MjJU|6b*zw3c54Artd|)HRG`<>dPhu{h%ijzGU+e=1GbugYI+Y6+iu>Ev)PDnK|AR@e@T~ z|0_SUy!wCqq<${MCx$-YaZko4tMb_{H*)4^F$|y2nkCIiEbkQ$d6aGz|N2jUPoFx< zPeFaaH~vdZNjfE+|INh*-tqZR(jvvX}k~7>$gJWfc5&x+{n8{X2zcQ7^dc4$BAM^Dcd2>M6W; zvG=(g@AKo0+lTSKPp&W9t!|AQV0BUTsZ+Ws<)^*&f#<}IUh*9a%lPJ?)9Is)dl~ar}$z-ah9;2lr>hS z9qlS@;9+uUhr_JOB`w#%F1~FZlJ@2(oAbp=yZK|~OfqlKoMC$!eSPtTF3&u0=DN>3 zmRXQmtQ@iUw?V*6MWq>0v*dp3pe@pKRRo^0Sz0iBiE5otBYo`l0XtC-BtCN_&~nSFiP zLhq-BS%&$#s;XOcZBB>WJiLSE%jL&?=7(u*cv4-#uVlclZa#8X*P z52~mK5m4<~N7uO#u5yP1csQNpVkf4SijavayOU!~&2CxO4f(+ajO!&6K*m8pOqp7? z@asJ69|7TXmZLao-k0Sx(#K*YCW8<%ub?H*g+HtWJ33mS2yk19c7zCiyap%8_}w82gn)KzjT zs^dxJNLy+A7dOw3WDqy^n1FgX;>6OL$Pg`qj{SnFSPMaRST#^Z_07PEB#Vqo;t z1z!P>La|2LR|Aj|>d5DLsyh4SRdguAo3WmN;Hh=5GIG5&(NK2#Aqy01<1t^Km}Hr^ z<6+I-udz=(y4Yb+Q6974)p-qCj(MO(2(xXr4xnCEiZq}4eg8RbY-%ziB5q#J zS+4%lZ^rxCzD6Hl!<)P}|G&S8_sKnR`JA8pjTp4zsyfU?W~>t?h*`m{@KRL1 z`t9YSEBI^{o?XKYq@$(4fzK@R|1rMrwXa-0if7}_y#O~rF$7L9Ze-rE{QgrOw_I?$ zJ1mcW`Y$+ax$ufRFMfv3$~HftnPukT&Eost_!>N8#((S48vpeO|8)j$+#da-&(%w5 z`F>88Qp<)u-($&kK0c7=8r)p7`2o5WE;SAw2z~IEWUphVXP3|Box(gk@&|sxfrY2e z<$t-lUhBq}-9|kzi)TJ~?ee#8e*JREo$n?e1t}#D>PW@)<$E>#-ozruy79e@7vK5r z<2FQ$}6dU#w>km6?tn>5Q|X z))72h3ZFmid=4(A*=%!yX&CGJBA|t(Ja5dDd1DxLb%;Xx>kJtvtL@+s2_34w%o|aN zp5-vibZvrQN66MX#%`!Y;W$hL0xb^{F2eB7LcOm7V~v=&p7~MPO*Wmv!8BDd$S`XR zo46Gy$MK-_JxwZV-jZi?xQJ`(7^Re4#1mm{Smx90otWmUoKd+%Si-;1Fd& zR(Vvw&V!L+2!$T-fD9qYgrN$4W^G?|%`Z6Vi>QDJX{8>Rg*KTw|4cse-Qq+9ZTt$9 zLb9|}^Q%Yk&|S(AMF%|*Up-P2s>F;>@-Q=m{1KRFrVI}k*#-*I&OeiH(h{Z|Yk5qt z5g?T+g=-=Upgs%hF=~S+Yvk9A5gAM{@{3MlBr1TY1hSDS6>B6zIB(;?8NN8mSI9n7 z^@tdhfhE&ftzo!8rb-+W(w}<4gw*K=`bJ@@NKbt@1qL0CsV7Rx zgM}@GZs4NK==c^vR2X`w;osFvKgu0apsa`)d&Y1gfwV~yGF8;$N7>j_QI->_ReYed z854D-p1S-IlYPi3W}QStMR=y}JPIp-NdT|=#plSMK67J!wgFXB=&0|1u6*QY$^Xyr z{|G;dns*kgAlGu?RDmob=v-;U1&)Tn@-MBxio37#T=r6&CT5m58ze z_n`Vd(~ z0b3yJjDFH6J~$$^^m#~1N@1j8{z;pCg>s8t$xKW=V5}u;Vzsm-s;3ZYB5)VVA%c@! z0iEB=uV#=qb7!hUPv#> zJtj}oAr>A&tF#iNlb%WNtsg+)*rjEA2;vNzs7yCw@+no?NJyCn#!4pg9w!dE*HJfb zigbO3o$qDDq3n`*&olX19*c*c2O5djvh*xTg}Fcm9@v z^wqJwY-p)c8XV`Y%A6n2gNlzXYNi`Nda7wT{b6)O^8OYQ&Rb z_wux{iL`fwf@5JTjLnMrCVl!vHU#uME+Cl#BEGprhN|0qP zgU}MBWdb`UR()`zs=})-?+5dgha&u!K<_K=7%~;+2KRm#H++}T`)NSeV?W5Mi`O0Q zL)!yYA(d=9aHY-(@b;^HV1jwVtvA*Lf*Id+{ezyl;%oteM{d8 zFW0A~{>hI$b-DUWz83##z)CM|`HnZ2#ChkhGy<4Ai;ThMOBO3~n*v>B~q|SP(&h*V{QBMqaK={=8oc_$E zX1*c}MLUln^SiD$8Bp;%gR7i3IClOsCn%VW~5=ZjI@yybd& zSvyM*O^+8@KokOxt;dO|EAkx3*VmB?=Q`@Tk~C(EqPkGj^svcHFUU+1Ih0?aVQ(Tpq;brzf+j_d{ zxJE`s)-WLGXz#}?d+KG(g5h`Ly=M_)zy#^>o_Wzf&E(o-ES5!kJgtjfjD?e{ zF{Mo3eqA*A7-%39&=Eh0mW5P9-=CPh%sXt!@FPdfFJ&~+wuZ}sCs@iZDR}%K$02%!dTuY?=mAsVaD_$-6mgEB9C-(A0b&7 z$I3P!b8ul~3VRCjjDXaGhdn+32$M;(2nE-Wsd(YflnP%R7|fP9h!AT1a~W)ppp9ea zz{+Bsb2U+jPlS2>(*uM~G@0^K@`He(Fh#F zg?R5DpQ+;q!d&s-{De}jzkE<9{c=Ct{~Ny(?-9Jy@-BSJ>0dmTpEMfnsz*NtpVaxd ze7|Dw(h@mx`M}eiMq9IZq=JAvNx9?qE z{>&d)Ui5=cR0_V7_I_XUt+HQww|n8erFhxzi(iQUr}!%TyOAf$2me)>#oz;W9=Uwd z6TW-l|6zP_#`FD(5Bk>c!vEU5x2lf%xSpt!YeNRtDy+GtW#LoO8c#BWzLIsiouCNv!bf(OJ+V^RdJ8bcXBUDKT`8JFi z6c4#aG`unt==KwytIfdmybT|er!~r~xU!$4QQoGrnwjU0;(40MPn7VkNK*`kG zt_gI(M(6BgrG>1zVDHPY`w_5)2OekHg{HOL@_;w6o?$#rWJIE#-s)Yby0!v_f{!TF zggMR$LiTz#Ypy>k*FG>758_uFcGrkD^aBsFsvP)He~9Ml3(;{obGAd!tzC+EZ90r* z7+wzR2G!Ts;{hI~kR3ileem)6w=`aN6WG#Z{%=6O6!8N7Bley!&qzL_cP&0tg&*2- z`oc>P=)wc9yY>SjJAL6rWBlqm!}=KQ>yG6>S2SRjd)mS00@0^1V-Z>vPv~xWl`MdWo{7{;BX3-4J0~zbf5AWf7L-nsP zYJ(%g#(roCssfM&Z`*&l?-1|DojS4S0?#VD)=G20hUt7ax*mN$EDv|X{p_kDgzG#V zXOAwAqCv;?+yJ`b9X3qU9?)|o;j;OA0}4Fc?+^0`Aa72*{an`BWcy8YP`mmqY*8D% zBL{47P&M&rxNG(7CV7*w=i78Rq_XGfrguwibD%vkPpuzhIoQ4@7GK2s`r(PR9B6Gk zeheeuN|6xkAaBPp3VI477~j@jrx zI9Y!4JKnY6-5>GCMV^oN10b)s{6k(KV}naQQGpS!9`*Iu`j1}6JFV?@E_h$?E6-mZ z`rrpHr|}+o#_$8)PV)_u{M6Anp>ThJFV6Ge8A`qT(FSUkUJ)aYni`qh%p)tOV#P+9I~Th6Ef$dZ`c0ju>!GM_Bn3?sJVar}&#Qu)Et z%rRiqn@s5%u+tFp9!QpuG#TQ*!zVsNBIrJ1dFv+isAtP_CRFKL6zr1B7~uI1<%g_H)5Y z&O*E&T3v_}pDOMOW_D!7VL;WL^}^tNP<*D@flftEwp!%T8UF_k(%PyNI7i+O;YuD%w>~JAV-C;yaq^!p09{;g9M|cdZT-RadXC z;I5+_I4H68jZy1}Pd>f)j`;AMZa+xhXGT0^6FP;h0-WEfi zSndgfA%+DCuYZlRc&fmm6YJP#$+`(F$rCa}Z3rqK>#KG2Jmq@B<^qrU`-86^LXJK6 zL17Klg&MQQZU9k+_aVjxg}0SQG(}szo*>f`Ira=JtVm|cXubaySoLL!9BRUy9Rf6cXt>Z z26uPJH+j!@@4Dyy>jgctrt7KNrMvpOQw2LrA7@*&TPLslV4lNkgri_Zjcs{ZvZfOw zZioLaobq3fFD0}$B^-sNCnMj2J0FUOyVyXiGB?<@;TNYz*au9fnFyB74b3gG=264~ z?o&H0-*;`UgOQ4fR3DAt3^J*4?&-Jk)V^bw0*Q^vQZZ&>XugE zC(TIEr-2PDN7Ak^GDu`S7hU-Cd7JV8E~Ii{5Ev3wWQVZl%Nf+FBd=_DovL@!gCole zHP@pMr8a)pJ?)SSHcEEdl^IkUdL~6XkfgLw2@_PME&r7XwHv5!Eo@?fWmVq$CmIir z*d#eQ#gR?!>|-kcIiSXmZX77{nc?=R*u+rPl;l9vLqC8;7Okr{RQ@{<<*%7DVUNOH zF8T|Laso+;)jG?Y)MP-VZB|v?Suj5#ml{w%8wl#V3p~9mzmqSF>#*ko%5?x-wiVEh zmH7dg;5prAV{FeiR-S@ME`jZA>dIkzml^1`86s zU|m;QULG-3`5+fj;=Sn6lWH-D6IN29@z0KVc;OsN>$^9!lKStd4tl>G&5sSAo`gRH z?)7FURyI+efrYSdFnID7pt&exjN|zM&`!N8%;J~WA1#5u8#^7F9<%{_6@*W3j>$FuB=2~X%VfphQA%H5t(aO<-{gC#Ec)p$zNNiiSV9%lV}S$eX@{Jd`(rozPwIXS}jr7*2E@ys;GOQF#BiHiX}-9kvrd?hZDE7FZwaN32xETGR6 zGu=rjG_i_$NatJ?Q%&f;{nYFUc>AV)FNyC{A{taa2Gpo~4_)-HX?<9r_??IPR-l*2 zkzgISPlt5ydxGF99M{z1@k}%`_>&nf@9tJ1_D-|#4_701dhx6njDC9mFQFvWMARG# z$jqj8$$61Yy4 z)q_bxC&hoSJLe&ZEl@3=-TU{a(M2WJB@}bzcnoWj^KLENIC{p$4K7;w6uKLbsnScQ zqxMH(h>17M{R-+KNoFv{P`uJ~9Uk?ys{K82x4#^2&ti=K!IhK!-H&uvhO|>RVY~EM zcr%RIP94aysAAH>rk}-e#Pe6R$-!U=6rk|vY3r^wmE=pSwG*%h%_rN!*tx-)6rp_u z{cFz`=f+<$z;y+|(mYL6kabS`9F2V{e!&?fA~8-D9`<%)lCy$x30oh~am2XP^;P}j z7KlLOn1wu*bGEc@M^`!6(P|I6BM-Krc{Ebw^hZ$Tqgn7wTjo@5)0zfLr<}^oK#I|# zhW=;@I`b2^amO*dh=Rulksi9Tg$$#{fL^8ZEkMMCBEOo*$3OhyZDd7Vw)zq3ZhwDkAn=rO9LQ&UzS_d{yg zB^Q}9|IR9S;D>x-6W;g|YlXU#Y@Y>DsSGJ)@I;EP+R?S~+qd2#)eFo#GQ3D_$**aJ zC&Crx6t*_#@+RAqjuvkEa0ZG(?8)}_TMCz-~7Qwq^$((;*p?bTp@ zCfBYqsPGbSam*)}qxxCXxnY%+gB&M#FxeHEb0BVK0fP$d zo&~uQ7fb-BoT8s7@c@mc-pmt)admxKDkwwCM>v|bQlm^4MzrQ%&GsRQ1*v9@nP)k! zLlNP!V`*3-xk$8O`0g}K1`a=391ytlp-(fTd`$+5LVwzHp*(Vfg+kxm>2$p6g7?S5 za`Y`P(egeCA~0Fx&eu{rPI-u;KR1SORB0SJ!k~_+fFih4UjQ)hQR3?j&s(iTDjr$< zm@$GX&gphc!)N_@G#Qc2POtK2L)1752Q#_|ltQ-IZxy{q1D9VgA@YmB!T0x29#zBN zW^R^c{w1?c7D#Iz={0&<_1naTG}2Z-V0>J$@UUVxV{V%u7TwHF95A30?`E*Zh2uIR z{{17wv|=n;`XUr{4{4-AI&BKhxcpSfDVl&I(7{A3^sth7a3?#$=x&yX*!z=+BN8o3 zikb90iip~B+O3jJ+?6`Yxmwf7Da%U|dG=?66!!^z%|saaCMS&G&m&r=sr8G+@gUPi z;el2nO%+oMrJytpp}Mb-$Yk^_hje+#YxT1YtctW zF&5&2EdC0W8ca3HyCe}A$SPv-;zO$%RCH=SWJ459QGXIbE%GB_%0UV%U+$KNizoLE zoWa*S36!NG0?jU0cd@TFLJ63=xWXJIfJ@*wj*1*cT;3^XMb#pH!*#)QXUb_=Dn~Sv zy1363IK{#DHF=#Ku}Wug9SPST~8cV^r+MPRO`9W*GlWs$6ZV?Cwu5tn`Uf^&MZNGoN#^FgH~y-r5{CD z*{YQX?&>##iD!2dVi6bXDQqR}ziXh*xkyJEoLpqcF6x+YK3H~vC4!F_hUsZ-m9p``(YZgA>gocVr&t;GT0X&NxF|A-x_L0a|e9hv>l_q3IIX{Iplf zNR-OH7ZHxVb^1%nOAh0mbyiL#dY=)qn_7G3$b?zP=Y>GMXy$qmm4Q}a^&hdS@l4v4 z#)-VBLl8EnnTjc9v`K?dPgOysXMbyFb0L*$xQPi7i|Z{w0^N912V~!hIvzjowDSHg9ret$cVl0r?%$ri5z}8t4)Hz>I=_M% z*?9=&*TyUjkxB`*=Hr?PsXCE9haLMx;(XOox#lt+%mw2Gk@pib(qncIJg zTLbNV&#q7K=c%;Q8Pb}Pvhlf*S$^qJiAHHbX{PW>-`kLppDffK$L2IlF$2*fWezUW z5*3FSy$KKG`{)-VvgO8JIUk4tbs2KPHl@*3X^|a!-a~4B;(C`FiWG+V8=*Jmfm?aT zfHvpj^Ew5aP9Z}K1d7=Y8#H_Gm44QeFh)EhO{OnN(`x$ z3BLXv@q2!K3(1*H?I%#Ll+*Lok;6TbJjTy^7BR5ij%SLo{NL^T=1fxQ)zK@j`WW+5 z1JI+N)Q)Y54*Q-A>hzt;WBj4rTZQjQ3?*EBx$c)&2ubyxcL1K>7%sKu=prOdwuy4O zS^?FxrY<-~#_tC7Y(p|`Q2u|2Pj=yI7S(BK`Cbt!8wz4k7HGJ_6S& zc4Wgi@>L?%9)IHDUc^%+fo>#hRyz3X`ZDoi$hOS_ko}f&HE|+SUbMu6Cbhp06|CsA z=)00O*t${Q+6&P8+mdm49Q6hiS`Sy0kXc|wd~%}2{JnIW(=TAqx>~meOeLxS@QqY%{ z#if(s8yx6geCHPSn06aztM3SJmyh5$1*b=$8f(F$^wacJGExm&w;aYvN$%-}5 z5Eu_M5nbdq?{V_Ng@L^GHAFt6^V>on_wXR@ji(Tde7xqveC;?1q0aCCmV`lNc5+SK zu$@K@i6LWoB|`?3=y8w;Vxr{)tZbe5l+(Bqh(YpS14BW(UZSgO*pNrDLfwXw)2@u> z6K!-_qW-A%O%*-v#^_Ks8 zw(&zbX@`7vPhHrf;Jm>isc6^NX#`p3p>es=z2?Mv~Xg%|PKy5j1p*71C!dZt!;V4NCNQo9oNc?Tv&66YPF) z%3UG|$bRsDYA5F9KVkc{sD&Pw5b1otUb2VQ1AQQJt-*!5dcAPc8e6z90k!V)@7ZuZo?wsuZeF{F z`D$Of&`-wv!AW<6gNKMwapge?RRtNKxjJD=(Z@1d-~wwJU4ks0M=1hz9&L^AX;S%@ zhCGBzKeW1Ud>aP(a1Io!?nC2O;v&ZP!oMy*>+jmUM5)$PF8@%}FF+m}jFoGtvN#hf zL*Qa?VF0xN*lZ*s}$sG@;c_T40>d8?HqE zoK)+S!nHVcW0G1Hcan9oS$UIUNM4l+V~8J1%&^iLlx-5lSH<#+a01+#Myp1E=b`QG z)?>geQ5Dl;6Ut_n8;A$vZLXEQWNGV5> zcuF|17VKw3xo#4V9o}S_SR(6yx>LeJQrPcG1F?TF3ChWrOcYS$ zMnVZ)OvW-w)84ki^hTx1MC@yLb`8=(!tr!gkrS*hndn80nKi1=VkmEKO-qTW6tGIs z`AbLxbUPwN1{2Wt&LzwU0tlCqWC#x^V!ZbKGbZyhj0-bu-DnB?{b-+hG5z-FJ8Nc! z*MOs~6q@WOIH{ez4dnroBN}gvvi%i|PZ-H;_qfH;)1q)f#2O8h@@9rA_)M*6WUAR# zr$tXT)m#bm!47CI#Mh(jWC^pYsc{(2rzUX`gB0e5Y?KLi>$&YDl(j=G$Fb=2C?xKp zT%rO$F-yF~o4l)&2~1GqrT6(^OOz(HaLN++m@`(0RB`%_2zfzYij7yO%4p)MS48Vq zEFK7pV{Rw5p<$6CQW@*bxy&MtPhUvC^Ceu-amIrQ33Mp}f-SaLE+BHD=;E|Wcf z&y^~cYZVu$y=oRIOjBDR6Y{dm@1_VB*|%5ihV}&xR#oqeqb`Ipxv^%1{=Y1+ z;xu*w*__{32FixcD#XtiLt1S$Ay#qQv|$SdaS@C5!@}Pg$GXkbvaO-Q{{JMf(uVjt zETE`0PRDQwfl@)ayI-`GTK}TD8JEJ~CBl*<=wU22vyKA^+LrBm&~Nz!^mD1YJsQ7> z4>bAg5E1}Mv*s>gn(YDiu8-)hmn`0xw+0u?z!hVW&yT##BS^}6N?55FZiv~YwPw>O zpfoK{>_+x!Gc^_=(#SboCJ+YCnM*6z$6CKK0d zauU!#o@&IjjX4YjmTTEsRAMNP*?d`A|8#mz#b?Bno&5$x5bI1+K&jJ0B&7(2^Fxxe zp0=o#GaWTJ&F+ecgU9yPD%9lcQ*WEL-FGliD3=9*i`m}k%Y^ZG!YB$+*$IQ6=~R>u zl&?X37WE;oKFv6)x~5@Pbz!ky!W7eODJmzn&7j72>eF_}i(Jqc-8L&w#l_T`d88H@ z7 ztNpR%qi!glHrl0vRne*M}}%cr0B(qT^$Jl^ffc2h*Il*95HO9 zjkEFpXBPl5ZtkSiSC@skNn-ov$C~OGZv3_^SrUw_Dxt1;*pE^+!GniRHU|!jQdOT= z`gEF2RSJi2G3rAlaY4Lwnj!;jg~-}&Z1$zgW{AJce~6tRo}^S(7Ve|S?PM(ihKpP6 z51DAJPUx^E0;w7GRnI?-LvcGUP4Swfjp%0F2;CKcZKSzM!*on4yKcv9Kk=01I7X#j zL#q5ILrgE+#`AsyzezjUsm-(;6j`E7ve?pu^_|S9MBM1-3wFx8oMD6&5Oedokzy&P(hHf+fRuP4Jz5Q@yHOln_4s_m3z3WO6tPTx(2;+2QZ<+_gIQ z(RpTBY(bE_v0VLwNHt9yZ2cBh#$#`=?e@~RgKp2(6{^^}aX!;J9!qXnuONrpES(Jo zv%y$q;cR|iZZUuCGU><07z7sPDaV4J9s<*(pKBgw=xq{3ofrDvM!fKx0A|KM!W85u z2fh2->us z`kOC`lSRh%%&{KrsjIw$z5=1v62ueh^hqWbF2MuiIm)%pl# z{BZ?Y&i5dQr69;Bd$-P-{%(xQ&9XFilbmKrG)C?QLI*f_wD-u6x-nQQw4iuqTD;J> zwxA!Xr$F6;qaIXc3Ut6RFC?WF67o%KXP!}1wkMfHa{+GaYAG)UP93Q`9aZo}fp^bt z`ai{~Dm_+gf9W@`;j&E6ZJRR79kIAW#T6}J^PjX{zgB#{hx4ggr2u9+2;g)uwBmmF zUvwd%HrRH$|8FaRC4~+`7jl^=^&f}qM+pe7VxUn;Bv3Vpu)_VF%^uVKK9G`Pzo9o@ z)3O%RYJBCy?aY$1sV|jI5!CWi{|1^4qoFI#ymAbPuTbkI^2-p7=i{R631?N^61q1Z z%8sR>ukT?AKZNI;gzz#CVGPZnZ~2;ZYc8RokH%CCg-hr=_grsDPg$>(^K~jq^n|uP z>qr-sK67VQHg#k;vJqShR`Y(dDQycE&{kh^=FAk@vV_t13Ca!%vqO}jL}X-l~zTH2A^6)rB`^}*oM~ysojfv8(;`IJ(T^WdsMLv}D zad46ALoBPf$RO=t3NKSLX!27E^{wOCUX0(2BUEn>$X!25-QD1^su#Z^#}W?>^59*=bUAwWh^lquvtKIYNa+L#0?{YMpIKF z@>A|~RQT*ES%Go|4B361A>o=>^zWp|w|9j#)5A#`yt#CId|OI)IXN-t@jXu5EA`|L zgh{N>5exlNRH87jDFIUGGAAQ<153wOl>apeZhlj6DO+uZa$#&_S6Xz}w5Kp|${Z{1 zqr%3?DQulGx;Nc$-6r8%4=#mTbuObZS!XOH)C`;KAO$ntl~N;uf42fbf222?&6mqL zl4i%K23&KhCKNlT%ugITf+JH;mPvbNQ>@;A#PxTPoB|sLU@}C&AoT<$x%D}NHS8KZ zLsm)O*BM@Y5;5eYi(e-L`W!8{CuCkw{8#hmoqnp|Sd{lhD)!LGxKf z&Z%tuyi$X8CybX891IaVQUKS`oD!bSd&B^rVw2216xnK#o}dpjrOH^dI!uf>w}6>3(#e!E^as%13hvYbTo{*fnZRuS49Q|LN18jh6c*zKy%4GmylP6sn z48_=5XoBP%SwMAI8dFT7bySj=vsNAz&bnynU7yH(Ak_o)@r(_X;}1qFLI8`n%*a5q zuH1<3PnPp<#Vy0jD=2W+I&tz2)TH;z&fok@9=3i28bywf#h?@JA%=LDq0~0>1lYNv zzljCi2UZqfNvDN`5oF4kH$W*+5QLOcGWMo4&DG%t*~@c@%yD?-WQ9Esv*CVnwOIe&rj=8(E&LeIa9C@#D1Lz(&(Oi`yuai^lwfr#;ZB5NbAt-gGM4+? z%}O>>VvN3{FpO+UWdV>pH@ z%(dI(S6gF*`x(zwhcyU0hi4h1wtZ{#7!U@LpLj%MPY0E0S)@Jg8bvC5;d!iZQr#fG z>AkujGkdIf6N9kX{tx9_HQ?ltebn%mI*$BiqskFp#&ZJ1b`!F=-;fb=$@(?J!D9Mb zOmb0u_St)ap3<-J+AX_&BGI_XP~Q~;oB+9@?W{ov4(36-`D-V|a>_vA-bC{2j1wmM6a4EYfy>YF!6X<{tU0?HAH6_dVbT1OjR&#%BW!g)P^2UpCbRZ0xA?jl zA-j_ki&x7#dD;%*mlr%x|A)HVymCOA=5MZy6 zEL{9a0d;6zdA{|J#N7*u~aam9Ol-+5&r!nz>-p*i;%`d4bQ%SNm5y*`q69ChS9mP!t$Zs z$=29qE4Mqu=G)p`^4kjR#_zLFzYT7_n;EuFp0;m@$_d10%t4uQ_=P6%tJIu{;`jdI zoo&o}cy`Ai;qfK*35wY1$sIx*wvc4)C5MdQ9AmBxwb5Uw5AIM_Zd9C3$~=2>BI79P zouR7skn;or4Hv-PA?UMLim~X!ZIcJZ^^5VmEhy|Y)K$J@UvM1s8(MoSfq=`#GW+C4 z-_j(e>PXGm77m+!=>_h+;W>Ta5Z|6`OQbX z#2E@IHqB8fxbi=)M*eZ0$U_aL7VxsELZvXQ>j9ST4~1$?VdY$s+PBv{DD&}FSN7M! z%AS@MeD9u!)SWEESAM*5N;7R^WsR=UBn^gZ&ypLnqS#NH)@WMYfr5J zxv4gzh2Ojc(e-+6Qj`VW2FOH}E^;ym&8lzWVLKSO(obaN0fPBu8luTmfNVbb5<7^~*iuqdK zbGS0K#oO&s7c#f!oqWU6bWWAXC^eBLInbPg$P<b1S|0)zJJzX0j;)^~`+RD*y=k`vCO3Eoo{O8cjFlrBoUM3ZNB+`s>GGY%C$ksG zO>fJ>7pzmqoweWymh3wYs@tReJb5Yh3pB+8Kg#F*uq==03&>Y^6IjEv6G}5Vt=zF9 z*8N=};`mlrvkrI}>m=zo%Jl*4w5$zo4l=DiB)&Aee-3No;>!cdx`quzYL>&%%zDMo zD;lmz%wTVXO$p-Q2)w{jA$ACe;l@b({DXu1oG)B7)4{RUp-y1yCTRbxSDe2L;`48! z%<`~(#fIPT%re7T{|<~$I1~?m)5_b5ix}m!VE<@D^#J{ol#*keS_L_XEa{FH%f)+{4&nMot0VG>2m^OPkYm+LQKw(beT4@9{x{Pee+1>|Fn^hJ5Q$`tEuX=`D4e2G)yg^VMLvmJ_s_$bx7$$t(U z{JRQ0Y`FsuLcY6$D#z!-A{x8Wox9JAuhFe20}$U)IrQXOqdeJMD_?upB-y`a?F^WH z@7L*n*U|8pSMA8(ka1Jv%T3aPAISU$(goC#uV&NiFk4E|Dv1)(+qL$7nodAK*a5sA`p! z{kGS5xjXE1rIp?&QekBNA8HJ<45QkH*1}9I3}034>O|LG#1JO$51K<$Hrds!t@3Yl z{T%-=wbhvk(bROJZee`kk3NMM9@ z=}H_e9xTYafzm!ie{hr&sxv_lCJP$pT9}?a0I212SX4^)T6sR%F;{E7W zDX}`(><0CbD<(!zs70CdkwTv6XyX;bam#l}sbi=9W|k$qmF7Ic*$5}$p70o3ih9Px28YABmQ|YtrS+D2%PZxmc%B@q4-5zDUmuy>&cPMTv70Ft z&@RKDq{aDbjy82d4i!lqBz~NMySGs1$c6SCh>|#psd=J~F?f|uwjvl=zf@;5+`%tW z@d?Z0V&zn_uqbL|wKy%4YkF9FRPKJG+AHRaBd1P~>Wyh^!=`LTw6mG#$jtIypxmZQ z`@7ZlPBqs%sFOtG57HmkFL4dnbf27rlQTRTc0n5^7u5M8w8RnZqD^NTXG!x@_y3T! z9mkw|2)i8uSOSl!E)aS8%DzWfQ=+;2H8ms$VB$V>ME_{jK>%5d3H)T=S22yOI z|4P>G!^38CX3}=bVO>BxXB4`z|Cw3F*}p^M&Zk^^#GSYtNZ^KpLRx@x(N1(>(H ziAS8UgpD>saQ-ZkcgYP}gz(HI13f15K!d3=q~ct$vZDKHdu-x8I1%#q!!wJ?UoBOs zSrW+;_=hL$O&xoSo=r{$X?Bd#u3bHB9{GoaEma{519A!|#S(w%_>#7m;)@(VZ?SBFr_{tA4^n zzkUMGX>P0gJN2#~ri*Q&@60JojV!H_{;0=@NS&IQ;J_Rrbsw%_VV4MH{7Tm z%#qY=yUPEP4Dk(Xm0i_0FV*+Ab${vbm>$w}r#6Gi_l{0IM&O?xbF)7R9BVYiaUHOK zvi2ydtZa%oYHG@GqxL2r0*lxA*o=63g28wKFQOJ)#0QTaqI~C9X3(3SQ+Y(#B*}bW zxBMS%^zzk|(ZmwuC;P=$SORWEL*~~sC2ohl_zdpiC+AKoSg&Ftd?`+Uv7BJgZ-Kdv z_xtIh9{ViesHp)^UluzZpUjY)$Rtxcbwh+-{?;7|VilX66MS}B8+NK2sZ2Q108rIY z_XEGaDJi#lC@oVO$^xsmy-F^F)!63rpZ8rH5{=niq8%EEWfyI%*$LH)C)PpHno;5M zg=T4u)lyp6L-Q9jJm+TNTuyAAa*LwQ%tf>2ByZ~l0_is9Id0qwS-ScJ?7gaoHW#~~ z&Z<++d?{apCyKDE<@rGXX>H|j3S-RB9trVh>B+h0pwY=bl@|VuN}tVQU@5(H-UEh^}2hJ7cB)?wmAs%Ivke6ud6Nhjr9B8kv^oR?#gp((}5 zMv#x2=I@M2g$Z_-Hu6T_s)Wzbue=1#M^Wy7p%%^IT+iLV*y>A-uF)j=L;Owa7~l7- zf2KZO?2vd9)9x{>)fwr^-xE;xL7=9_iOvsaiFh|2ceo`#+lDAxDh%qbJp7{@`gb3u z?qVz)cWUuB+9q?XZFr*v;fN@llG{4J>l|9Wm%vrSsNHQ8I|BLaUIE5k8t!4Sz%<*+ zAIf1PHIdvDkm^CRS$i0|DKdp+Nw9QBGOAS}zdzpNsjc@o605z5^k0^YFM~n@59-H% z>6FBv@y>R9%l{6A2r_5%ETjy3a*0YkO1*s{{hHgr`wvyDc;C_`**U_&C@Cw=Dt&|J=G>3c2e0zgUuwXpAx>M-7ZoH-WQK`0rmexd`iG zoc|Es+>w8bXS!(4N_ftv@!uI6V=?Iy02f>$fL$1FxR-l^|J~*S&f`d`BT~E%;Av+! zq8{zs46<1=@4s2~41F1XC;W53G9`=6w7LFTKa`r{Lih`1Y5$_( z?|*Q1wbQmv0*5-{xQ5t2b#zp4m)q#QRPBx{->1ixw;T`FB}aU#ggO}dmGtN0v~72v z6lTtsxK>W4iix2`KgevSZU+2{^&b!RH#$z)s z-BatBtF+!}p7(AO**QLxtz0yzD|ZtlMa&*1xhce)uLnLJC-~+c;wCniNo{o0+v^B5 zLP8DIEjBd_PbR40y=y?%g6f!0eD>}WCR!+{mU2zOewK^EW5=87#}P6wos)eHq-Aw1 zl*5`rN=p0@_hSkv-ulDHVT+ynr8Q~hZ0*g)hZd|Kl-F2f2Ri2j7dF|uTJUz=W)B;Q zFt4zq_Se)wKJgWQIh_xHlgaz=!It;YwCM+&v229%*I%{i>;8_OBgLRK^4LN`(%{Ca zcVcj@dG@uR52J2>7wr+*}l8fy-Ku6 z!gTtdwQe{s-9dD{4SPq5t^Z%(W-M+;_qWm+g09i%UhAv}|H9yz*aOr!wT*xGK}9=u znAV_AL2ww&iSDZRE6>KI|6B~^?)?z;n#*#f{YuRkpbqW19Z*hils%=kK$m!?1AE=l zl0{f+%P;$>pzVCg%KqEQZC>v93$yFXyX-R*%Iz89us)c|YdeuY5=atl6_M^5}ZykHS#yNd! z$*c(M4TIDLF~0xFwg4I%kr_npZJm%G&yxe`Zy9nytlopnYVPxPb!goi#5^`aLR743 zglOIT3H5BVX3`;9Zp|=nU8;q8`q@7>A95%`raQxHNI3aVlDL^u*T}bHx7RahMGVB> z6!o8p)fzXw5657LVRt@q%iVyJGR>iCI_jwjxStzFhrW3nr2PxIh_#0yUZa=DCvo%g z=B`}^ebZ)>%3KFT33`qO*UvD?XO#Ny4_F&_{X-rEVSRJnU9zzjPt2}3u)FO>D?iz{ zq??%g-HOM=4Bn^5nZ~(t0W(~6D}KGBXr}&AV)u0$`+|}OFkWnxO}#+XW08HbMlHmn zOMKeMnc28XpSp-Gmq5IYoz81>+LLhcv>=9SwSrHKq)>{H*ng{GdvF+s2 z&`?unbT6kqSRh_=Aw6T`F@tFW7Xte(vRso5i|OblDXoCGHqK?&eDUOGU3K95`Ra{1 z(E-^k!II}b&JDzQ93@0Ei7xe_?xR4rVmuO-mlQ6=;&0T!k#^3Y=m6rE$e!|+%@7C& z>C;hR!t7Vzb#$mHB5qSD-+&fXcBELrA>H}g_Yu&hU70XB3PwQVtpiDuU z0R?RLfcn|09b~Gp3UD^q{3Vh`qLKX_qIV}V04y#1Kj5;#b`F6EmZC^&?R&(fKvK*k z^A|04yDfSTABv%4kdORrenJ)MKijx~W=hu*Bw)Y!FF0<4B^8~(zxroWCYJ$}{XTD3 zV5t!Ing~EkbGl?% zkhnPOQ1@!lhoI(bO1T@6?KHRzd#N3EcytbgLgnE`_Ep_iZoAScojKvp1KT)!jPtq> z&MiGp&3VnYnrJ^P_%c(;FL_=G<^HG=Qt{Ol0)W-Vm*Mz8q~x_D>mu+=p-P#?gzjkVrBT-T>zP4AC0 z_|Dij|5cJC1Y3`jRTn$aIR5kE^D08suS}6#Y!cq>H;;`wfXEqB3OhtL@0Y!}UDIK8 zGQ;P@N#HhyXh*ugQc?QUhHaN9=;l3qNjj^cotOo9B^>?X2`whz!Ti$78~rM%m~+sq z@2}?PftK9q%3{#{mk;6m4CjHM22|EBq3AK&tPV6) z>)aNhX*&c@e-oeQtfyCrko?i8RRjkMf+e%p{|cLtVR}Elt8U;^GzFq`Qlu}rvbViW z`su~w+lJ&n^Gu=DY#7G^AgZ`3K3*%w!z=X-rAmeD|HAsv^~d6l1yHo&z1+2_`M=r% z&FxXV|7<=E<>4dzM_{V8&eFQ({tD3m{|nF5&^Id+UESbBr|d1uzdC5Jjhe5HSq68v^RVFI?8l&Y2K*YpAg&h8u z)BvJd=ot%hdnVD}&55xTSTvNliPCrCk>%x9XSX#v*YAHp9w>skm9;vqlOws5AB7on z0|f<93plF6e)#<;X8i*vg-(khhSu@PPY+G#@lL8{Lm&Dh0x6uI6xx8~m6T$vp2(K~ z!QTPj3o>5#r(XE2D>PZ^9yqM0GENhU-57n2; z5SzcaU#IGL9~k3eE?NVgFsYTV$WQ=-`|tCk8LKTNI_}^@8rU5himE$~y;*eXtVi4*iuk*L6RVHwT!s z1df`Lrog9K<8hY)6YF+K4=u;A8gkGC#y=DTCY>kuBs5;s--vpzWyI@NUC)OBFYbgo z;bRx)BH2n@Ra8+Z9ebhtl@}hLm-@1XmTXcmpG%{2d+>rOEnMZ;js*C&XIp_AzV}P+5ldwSvok^VmC$Xu{3oH|E1rn=vp>0+$6yx><+Tv(YXW_@ zX0NbgKJDESn_B)k$upeMRBL}7XTJLO4iVBxEgf&lnOdVhvTW8IX@>#8JWXaA;}LJj zqcq?NcR=#XS&=6leOGv%3q}yKn7p|4`7CYr6s81vAKwq6$=wt|5BR$R^)oy0p2aTa zxCDaE#>}cUZ~&y6;xTli1(8W@F^i%e_P*8>mo%;T4jRK%2v7XM9q9B*|K2wpXoDf` z0V3qLc+;%!N^T0LcFWZtlW0~o^@u||SB(quE=(pu@(@%f{~4rnQenM&*EVHJ`Q&*H zsC|p=<3e-Oy*^QoYlyTs*z||W$jt6Jy`I4^a6Y@PDd0s&iM+!K|ns5^X3K{z4m%77iJcasuh=H zu=wSt91klz+vB##k$6bBOGe?Yh?o}X1?YqWZiB*kp*3FOpCK7~a0%rLDoqx0PXj^` zuS#4-21wF|f(N|e{+&py4f{zKB8V)}6KiKK*fpNc{c^h9p0{6wwx1}q9R#os-RHd- zpYiSpNhim6J6@#O>+~cmIfWY}+L6|!CmkTtm(Gi3b0-$VPV;jxXaw8Jz9@PTuhJ54 z8!icS&=D`Dzl#Hp&iLm)t9h6KoT}vP5Vb%Iff;udI?loaX!=lIpUkEp#zL6G&8#&2 zA&|(YZX8=*y?EEnFKX4iWd}}I->xlQk0v>@`o8G-XML!DQ561|^_y(VZNOr71kFYO zH{t83;!Ak!Pk>fSl@^WwLl{{nj8*IC11E!n-+s*4q#~sH6mkOmysSmvhC6(ucUU#B z*MtT#O$j&L95v-YF&;+ExWea(=<8fUZl7GZL9iu@>^VPz<=Eo=vCGF7Unj}mQ!_Bj zkMP2lk+~&2$pbtRvJqbsN^*y<#w5j&=@7b46)Wr3FWvpP>ia&x>Ur*`1q z#4$O|taB%|ZG+P&&R> zPjediQis8{=22W0s>Q!`X#53f?l!8mJ_;{*HJ7d%{9lzc2+&96}-6 zX0 zb&2&WN;8Xjf_$x~V^DT*(Zby=yk=3dp(RX)Q}M?mJt{e!ea7jI$r%*gd(UoNiq<^x zY}5thZ(+k8qKTUT7nE+(k0B_r=*`8pdzQ``lA@}yT^$jp;fL6_eLtF{LgG9F#-f^i z+ZU79Y3I8~i$nWIY?2Oh=NKNY0{LcB2Aif5s==cLl6P!AYEz%6p-E_v>?5Q-XRb= zfdBy#(%|lR-fw*O{<&lL!;uVN@BOSb*IaYW=h?E;k|xtp)9Bg;;_wU4cZP}RM&yx} z@pyF>Z>+@|#i;qsBBt)i(e^mxBwA0PNlob7>0VVka~=bIxTHb9{z^)i+RN^obDvC$ zrqFzuGoGgN^U^`R>-($_V z`VV7kU-2l*cEB=?6;t)I2C5h4-~>vn4z=adsyY2_UBb{-WQJZq-9}T>H1%6p~o6nv00Q_P}oN&C6LQRtnHFA zi2M~z;b{u5pk@dw)*=vfRis+=>bvgX25^eOQa1xoaJ5NS?Iv7fXIu@rJIRmKB*?S3 zz2V+hcOUa-JLM^Y9r0EMj2m~Zf<=Aai>)=%KV=@NC?{X%{0fTXkQ9u3Pi_UlzF3Z0li%C}5v13kO#S2Vw4 zV^=DYCXM}`ZoO}Pn?`w8jGgiXI`Y;^5m*v2$y=TILI(~ zH($9d?v2MlBL499%glE+L-!xITw&;6d=2)7&M6CN}iUeo)=Q~K3%~ZuDx!}HSx*=M5m!B$Q34L!(hvO z-8^I8qj;mlTRpHQRximii2<(0Yb_z5{+1SL>+chUJIPr&*4sFO1st4hY{&TK&@vRl z`{Bl~@}gJl^gMk$l9}!0BdbP-Sx&)a z%fvM^w6_TRe0ZK=i)kuofKuQ-??mP9yDDy4nx5rW>d=elJ;4TQF8D9g-)JRvN~@9x z^*QNuySp$QY$myBc=kZ~vG}U*zY8IB7fqB205AwdJ{upjU75c9(SRR*8^#-SuNVHh z@Pe+?6asCOV+z4Un77!vl?mn4-%16$PBa#ul55MK??$#h@4ne{NPkLL@G*^xSv}83k0hRDD%zUO;Q{5qMEI8OKJe1)MvO~(wa*PcD-nH6zeR5(*>ZUyOsN;X9= z1|(&##jA`JEWFViL*3Nh$}FJ%{hqc^e z@^*&l#g(ub7x}%yyj|_APj(qfI>xNsWuHIOg};6Sqp#{bS$fw($*A#8!fIK;(=)o! zIA5|kuljX>^DQH`6K?F%OV+HyVU9^_f0#+|yPauFQ~b0K5cnq}QcL(HLRv>#*m7-i z@_>5pXk8)VtAxW!mDIh;EuK1OZgCIBW8PieD+`xoe7dZ}IaJFnrfQp)CEn1t$9i=R zHCUUuOmckeEgOA)r>wnnyy45h`Da3Z&~kJfXNM4M9nDL)Knr~Z+LA~QZui8ke9feP zY_Qds7n$C3DS4*CS#Ic;I4#MJ1=(EdWE*>{D90uP!=Jps^s{7+L()ko!u5flmKZo%C%~E=A36Y1?UF)j6j-{C#nFi41!a ztox(VVpk{r9smh@v`KGjB04!oPJVP7F0}=8D`h@)-E_yL1-E|fxELJwmXjsUuAF0M zys%=xc)ZWP!T0C(Aiu%xK!rvg{9+m<#6TOSMG)QQozuH&vhdGw#%G|(Q28YlwN!y0 zzW49dS2Zn&1=d`%r!PjX=CjRodvtg3&Z&i%8GT+1R9?8aRr%_ZsNWv0nYwDskIchupnuB%ODrS`K^+fU|E~;e zz0W3r@=rTWA*K{X4L~?&Mfg6@qpygWf7Wf)t_(v|d+D!4a+R$923?Z$io^q1!e|r5 zm+k?8dKhE8hrvg;(w;sgEAX0@Tp}{o=*{zt?v1dr1v7*e^wFmH^)@BL)Wz~$TDh9K zA5_0NuA#yVWZO%Nc)%M;r@@Gm;%myOGOg3$WwLhI&+al^ipL34n?Q4ECAUn+(-+X# z<6Gu|Iq3Y}AV!io=Vph^jLPL$m}*r=Z8x}I z_tE7VdU>5IZeT?x2A%xRk~1%TVGW7=N6*3q8)m`#kLA;#)rCVjlvNG5yZ;`xwc_MI zkQCEptC=0!o<%cGd^h~yHYiGf$;(K+W~~ifkcugi)ijU06Ve{+Is4<`R_8Z?p2@q) zdjxDqe9X@1XJvsVnK0I(1?OPQG&+)Uh?Ko9@k>Hq(+X6-;d5*If`TpOq|L`b7fDXA z{yq;Vwi;Lnt5Lr{FqxVrAW6P6Dq`F)ytse2+&ikjLN9DSXGCk2G4$*{0=kR(N`Ozn z*%=RgPZ$GJU9%qc+cR!vR#9f%1=h;sjxeK9GI_~)blx0l)x0jN&wnF1e4*Jm!-pT- zQ90%kd}TA(LuP6w_6B>m_reth1t7hVvJIR&i{8Cp-j>5qqLfy1w@O7M>g(&oe;{4^Q#-mJbA=0hXyxKu}Yk33Mm~ zV)19WYLTIF0(6CI=MS~a5QF-SiQ-=H>6;J;##-Bpu_Zfl@D=`hn#4RLa9*Hn@32B} zjpq3-w&Y-5)1r=`Jn^{J=N4L~Ql|$Ue(0{qy&JZSV!lS?pv|A`y-khl&6cz@9q?Ot z8P^e4@bPTK_Of{0ja0K7FRGLaapEyc6MR6xJJV{1ajEhG*XgJ{5W{9moA+)2K==m+ z^dJ2IV&v;)WPz!#HFXs4=ej?qh65T6CZ(*1jhX}Gbp?Zg`VHJ0Puki5ei-n%GR^n7 zQQ*0jkbbwyw~Vpr`$z>?bWydC8#188#O0;Xu+VgqldK|~$(@&9kQyzm&tDc!ge`|Y zriDaLCO5@$sS5hvYwyw*{kn6YlYC;JJHVSgWrS06!zQk2fxWkQOb2)cT4W;bupr;o z!6p3amvv?z>1VP(d0W2m@?K;5o7&$gv=aDcA@y;&oiSf~R^K6M#C^gAEV6q8Z5Svs zoYLdLznQu^iRLynb*?mzL|Oxf0dbkfg)W5~`>d^q25g^b-bs+!G>(u8UH}Vc?sXJ? z+@oE5pOnWaFSl&_;idT9qe}66Bc8x_58M#&Q$!l05>?Qs=LBV8}sb!)3e4zDJvUD~mIOMzi$56Jv^erYS z&Sm!1Qm0?HGV!?BUZi|Ik2P5W^}c1}Tr8IQP!AI+qDTuy z0*K3d?5S)&NzHJNH&aqJ^y|BUFk@cRSUtP~KWs3ZtIQjrFo})ZSnAZ9VJZ=^N zIg$7n>&NjbR%Ya!sVF!cQ-Mc4Pe8irOvSlluQWY^?68@Djh;xqlbtCSRu38sW_|Vk ziG&@LJAmnpoUc1whf|hv2?fSVd@<-yY zQL?Pm{k<*%nX=BH=8I4n?6k*ylrD$m$DN~@8i1d=bJ7%%u31YQaYe#%NgWM9i3fcL znnB%@weie<1K-PDu2(4DNlwRx_4s(3?^TdlARuF1NdrRdk)-pQ6-W^u1 zp|+rYkWIRpY6e~(?Px~XeL~WI2odxRZJQ01P7%z=uCHBkD07PDPQuvITR%aK-&M4_ ziwQG@QP97AuHn7Zo9)U|GLH%pzo|xL_QiKOH_CmwpWj(3|I(Xrk@t7E!g=FI0Ye|` zn)*BDCw+`Jc=Yg?_k$r%Qa{G3KU$wZ)be{!Hf&0kjudDXJ1@{j!|*{ zU}!OF%5Z%w-Pkpy`^jdzczPab_Fy=d*H`A&9*p=IdFAdVABVA5vC7P{Gc;h7=4@9a z3PrEnuMt~mW*HQJBPc>8z-7kVEaLu!3QkngK-|ceVK7xa+4K(k9x+-U%*}>&qC5I0dJJ2EdP}#q@OX!5 zE&Y{eqsuX{CZ0^Wx>jj@wd?~*F0!v)m?VV3I~VVkLP2y@whq2J9;D87eX`0OYg}`t zIIT;PN10@;mu7PM8*j-Ut~t}@ma*I6Kj+2Wf6Ce)Ad?)K@3m36WO$kQ)1!Wa&e{S< zxyG_-B=JFq1;UWfvpS9DE{h*M@zN?AUAr1-bBSp!lvk?LxZ^BJi)QuiNZX|a=;2+5 zoC1aS`9Ay?yemD^QzE}vOnq~y}6~;dtr&12;PpBEG36~E%by!>4G&C^?;p> zt*~`S_cX!ajVn6js!#e|cOP$oUCGw~>0ZNKoxBVovZrjB`~lq_f~M#%Jfy}mU>;LA zeKA14Hv3P&zuaS1VAK506LT&nm`ft?mVsn=HvOr{ zKOOSwEr4pH5G$MVn{BFVcRi_RDzjhgvE!gQi_~401tVZB3n|;-t4G*Yt+NP zI{dj7jO}-yU8j1TxDGw5=W*9sTHOQvT=6MENh_HfymR${g(E4vG z{8dfKH~9ph{7eIb|0iYM{AOR>1B1$9s>{RZF7EA50%{g;&q|{#Ap(lGKRli3;syY8 zAAnu0B{GSMXn5{wb+yT(L0y$arW@$KohiB(j4W{BzXu>Ov%kJTTJHl4QOkNQX&PuC zi#ygqKzQDVM+2Ju@qe2A)?SBE+y|d;i*!L#*xjMrK=c#&S7xS2`&~=9F01LpDC0;A znIGGa)5_E%>`AeaH6VRs&jebD?qP@gbx_tzbhzLBgLlj&Bv61I!pFSA)KUXOis@zG z`P#qdjrjeQCnr>Z50AuBy0HtDz| z8QwbYwkt=7C_z;0vz>?aqM(1K!Xw%*eZH2&TX;!S$5rJemp=27!BdYdgFg{4X3@8X zy+8(rL?=Fpk)DGz4PhdR&39^nP(n%W(rmfNhe~Kvl*DOY9RI9D(mQBfFiFMBKxSj2 zTa^PSw|JZ~8M#1qWb(F|b48I_Glq-}PPWHWAKt$Ibh!1>Da>1b`SQ=u0YeOzF(`uD z8BsNFQb?7h4*k9r<+?xYKS~~njM-Q$l8NG84&99qt2R96=03NbD>`C(TYW2zkXZIZ zOXdHZ1z?ub(*fzGu|9PK5VM=g(sc1W#fJVKYuJ#68xTWV3Ozgo8|QTucU3Zi zn%t2bx>lgDRQ>{-qGVjVw;*FlplSHMg%`Hd|EonzU5Mssy^LnS$dk#tWz$gk>C-2( z^3Fhomw!4Jt2=gwi2;}d8C;Fe##lcu;hu?;^u1XgmP^ud7@Jwki9BiJzXm$F2-fBs zxWJ5<*V38@b1PB1@0s{YS?RFt+on|1BMlgn@cSOhD0)^|ty&8KIeE|Q`mi(p$UL-R z9Yp@S*I$ zKfIqD>PnrqU%r4g%!f>xAU=YNQxNR$E~xd~h)kKxO}BO8l7ATJNkq zZT$23eNwj=}9});V79IY2gaVAYCy<}t0fysuuI;=u|i7PaD@4Z5@M#w_hk;=_9Yg!qPw zd{e`C9z{E>pt(L3q_~{I8D~4?1Ia451lZzpIB>OWT`w>AXp$)aAb|^gj1x7_G2-Msb~>tJQC;3XDN1UAY%NH49BQ#&%I#nU_f^q38Rp>Zwq} zFm6M*A=4(28qhwL+J^4$`mE7LPM1GsR`Vsk9orA8IaBs{CiCyKh(bB@4pQmbzJ1^L zB>xma2kiX|ywd@v>lAgx9mD4)JL{WU$+E}RnIAs1x%Hk9n18MIEX5dfgH6D{c0~7{ z=v^B935WiiVS7Qd!D0o(8&Xp#z*II?my(ME*^xZcP|FvLEU?)4Tcr z`gSh%b>-)Z)Rawt-1<7d?-cg+{&c@yK|226;*)NLH=Jv$nIKz1XSB63=m7`d9GJos z!A;%?T2wv;a%XerGhqiZm<%rjEv^ z!etSe%U6aq{_%5IB?ERc@i*v}qx{JZz?7RL@JWZ$c+%|6ug{IgJ%D8+ck_ZV%o$b3 zx9671(-30`{{NG@+e=?h)8c`#u`>labgaD$s50SVz8it>;(ipCuLGe~I`S|IZSx<5 zLZ9Z+4pecf_%>?yTAYSoW@UYV0k&Enx&=OzdF*`nLoFA6sgr48#!nl|w!YC{-;Hk0 z=ezaKaLdKGHxmngxFlWLDlHk@W=_2SBj&N*QihFsRlqdLgm%(=m*M4z)We{^ESPM2 zxUc-0JRNo|(@zi$s@p`b7V6toks6GB)tCiFt>#i)K9O69i|MK<-*t1R?q@*~_MX1O<^vtsF~q<-Xx5l|2$>=t#205DyP@)le8ZbU6edt8vFcpk~c z$6W(NS-!Dv6Lr*;CzWZ^R}?j_d`kZ*X4fX+t7mjr!ye|J0L*N71*CEi;T)qji~U;F zly&YQ?$TsgTkHG}xb_%{`FC7b#gX0R7!vX|y|w5yvQ+oEhQAa9@zM-b05KC6OP$82 zvRcDBJ!o;{5sI)^q8z_5S}w}IM&e7h8LahhvoE5kvD3{O*HwDk7BqVSV{Wj7&DtSM zQsk@UUZQ;F-z{{FLg?nb!yjS7C->-Qd{kh#!F&EcZih+b*Qxjc6M-w=zjhH+Es~Dy z$e{Ku&qAw{#&xFM%1iOXsD=aljnmHmwYWqM0Ox1rwfp^X{m!izo(_>j;&>Z&Xcg8j zm-hO(vafPNDLTIyygE_ebnl8MeQx?kP3d-PdpX`}v}N5OZB=zFuE215wXMQVD!b)9 zn_eHrRHRE+uw+jct^$2#w^+}kg3%CE{XjDNvcHd@zP<*_hV%=%0$ov5UP?^weB-y4 z?+AyX-wqu?G3oX7<=}NwFa&9BIzTY?rQj?05*uWrXyDneYSy&=okI6MSyQB|F~_#v z$RsNmJbs(L&%RGBz6Rs~z$vojV|`u(ju0N@CQSfc4gKxS6eg9fj3j+LkY;B(avWTx zecrXw?lqS>cDh9D05lzBUxe<2e&bSathQkhD^Z@geQlKXn+S)~R#odRB=OShkC9Z| zpYBoFY8xlP~ zH+QR_?3>YjV-NR}c+~*~BUb{T^6hirom3^oM+5D~$lBrUPOgs#x_U%oUOrM2u_Aa_ zkzF{WRBhMkl^1Yqn^ScE6rV2t1%q~m=3g@^smlp^yz9$Fgz$L-o7T%Z&BfYN%6YR z#S=+VQ6v{P0&mn$J*n_1{QAHc0JljR9tAsHoIR{PpzBXiFyh^>Jv%XeGPG}0zpLED zWZWwJ!*qt(mn*7<@jZF$czZhbb<*=QPHlg7maOwMrRp4unf4b$oF4mQ)F&0i>ol1` zs^xYxJA>eVwViAJ6TRT>%mLszlfxfAtW~Un20uri5K1Ai(h@M_V~kK}4aHV*D-9_$ zd6%p@$*=P-eMMa+E&pARJIS>~Oasls?7Q9ytt+wn6ll<1Y+y7$;CzyYmHw$`CO?BM9^sH~HCkJA7gEaSsiE$~mpz@zC#b0&AS_ zeT_3H!k>2tub&zbfFvOrl((`>(72SCF2v>iSQPw(f|5h#nooUz&+ToGIOM zeqq`$rxZpK@tlXNO*ED<+C1m>HgvX1J(h6-><)+=us45s!!hQ*A-r0AFKCZrg*97# zsnb?R?o?u`)-M!Ul!v(?fj5@#cuL9>D6Q|#nI7a)ui|ilIynfGp9o40XGb8}(awmI zlg0yj88C5p^J9NIT}|G_+dQ4WL1Zqr^=RR?j#$a%`fEel3p4ayk{sg{0r$l`zSTBJ ziq=x>h7?-=b4A{g{a7ep&+;OdhL1DoaJnui~o4D(3wWhymr1@Z`~$C(gVsKxtR z^HScKv;Z`WRc6uuVhOOCH{6!51p_f@deLV5F?ZprztgMLz|&XAmgo%cHQ*mG zZKxNr`(P1sh>%DffUzpxFL8>L8dh-d)pnbd^1ae(m!f}pw!YtL6ZanfQ!1*?+(PPF zh}hc5c&rw_%jLP3@iHq#wE5PffZ_wEijuK&bIv}gMuOfxI6Pbjg#sTsVgQS zPdW`{hZpZ)Mn|S_e> zBlrISDJrx^avN{KH@W;rc`pr@Jpm1`X|hdjV#%s;h!wbk?AW+`kM+hlAg#^Zta(Hb;^&BmYcFSJ*D>0#x0{+MB z4L}K!31fc4`+HGcd?P3Om^wD~j=xx2AiGl0yXNc#UF8$e;*dunY&z8zAp~mnalnND z+%Uk2ALIX!$bA!e3~@`CXY4Xf9`$}~wDy3CfMSeHn4-KTQX9+_UDQ5b{A<#o@9qzkwk21| zS+Y)n+=BI+y7NwBPsracjuqNIf&x;-ALe8$Z2{hGTFA5|?&5;+7G54o?w?+?eleXO zLsGbyA*0+h@IU=<<@w6U?9ZjZhqiq4LK{sfuw_kt@Y#JQ$}It6j>DH4QIj8$yPXB! zyzY}e$S0p=byXy+-dV3HnHIK`$anU8F2B|Zq{Fa^>Og8q@&u+Z06|I!@5+}^0-<#K=ihGHdjv1^k{ek%>@kSKw1;e)5hD&MV{uQ zI1e4A?Xp+309KE?OW}7alC0MY{^!T>zj*SxUgJ8FW_e3cZPdoNc%(HSF%fHxB|b5@8{cX@Vqaq;U?!gjMA&cAHw z5Hlcae&^3O!QR=&IFU|HaL>J8WLY?V%cKirL3kWnruYKt^hlhoSNA8lf$eyWA$7^0 zuSIX_O+yM(bBc4Hn#2SBmT$JV@I`Xh=`{X%+vGaaYsE7WBA@!Ba7iDYFpXAbuNLfL zIXFPxeCzzIsA{pwmrek;@2=R@n6{dDKbuTkH^~F(o^@+>ye^L!Q+k6;M>5+@u$raw zyT>KvYcoHR0At%Mo7-`vnopI#AS45 z9P)_&7q@4CtyAcMvwi8_`Z7(Ar}ZeWdA`eBOQe0?_fH>I-?`7EX~_N~Jt)!6_*=Cc z;1e$c-`#durcG&k4cNMc-;zgi^{&Qu^DH7H;M2=!sYtqiUBwfo|3)E$Ml)4Q#~{PN z&B+|#qgAwvwMi9Vp{LHfa(`V5_g8EK4&4SnH~!J^B*dSs%<7MF@F4)H^Pk1cg|J2A zK6Kfexj6mIznQ)W7`@&4?fJodlPhj=eI3pT&fQ0N2mGlZp$!;ZAI~bPU7rMKErsT> zhN(a^821oT{4pTLgwuNRVQQ6>d1h{rtmQ(Z8?9?86QH8G%M7(7P3;TaOwIB}GhuMR zocu+pU{f^f**jQm8AmoVecJSkn(_#HtJD@(WBo)Z9Ry*+Cx$rYqK=kA>(0iiYP>@h zgCqw<+!w6*!9$|PE2bDKd)!x6)J*k4+pO!%;oVG%2H`bjzJGt@ax?`@IA1vU6LXI^ z6UaKB)#c*!^?J?aey`tQ&$w@T-aokAPw`XO&h>7Kr#cVgUX+<^0il1^Y)_!|6oG0B z%4@WUYfT`T{OOG6*UQ%7V}~Ga;2>r)P{K%<+!&ktvG8JTc>v9ktr_cpUh>&BDct-6 z@8Q`^Pq4&Z;uHsE6MZY{6m_~M4xo)(!D*{{?8N>;Jz{eXQsN)G<|y*{{OzT7P<{XInSO1;9mWD)duD zSFo9p^hI&-hLxPt<(=F-{{qccRY)x7sxWaL3^!+e@$kvV-(jp9M^QIS7fifIl@?Xx zPG(WN<=OLWUh8>|tF8`S#|(nb89n8n3bM|86zA_{BR={Qpe@x+<6cVzO~a4sQLU>@ zpdU?p;_ytfvj$S=d@ZzR%6V#9~6uTt1 z(6VZBzV3;Ja#?-}g$_YZ-g;HGyglro4KVh??gwgOy~_O(ajt}VgY!Ts!ns%qA)qm1 z5kI_m;^a+0>4Wyfo5}t;qo>GMx1=5i7QP$$5BuMZj zW{jt5YV~-Bp*#h)#zC0jxy|9e#qW&6qCm9%I$rgD(mx0=Y%}aA9;$nDaqAqd)#qNy zp>{O(S~lRmNX72@mvO zNY3wNPvQKdR5LQG%;3bln{yvh60wTUI=#hSLt?;u-MXQ;2%C?|*-N${aZ#KUxNnVf z13tLff0x=jD_dgQr}(2b!Pr_(H~3P0u*eZ?j#2#$MT^2<6{B zc>$)W^N>fWrV(d5^dC;a5~%dtn+jLh`do?M!sN>QR-(=md{xZ0U$dQQF5&9}_fbc| zwEMF7_&A<`S(ATH@zdw-*kP}89`~kc8EA%Mz^JO})S|`DbC~RACaNBc4O{dIgwuL# z&P82xKMJUcnWqRmEK=+8?DN0 z)&YUkhD|&_<7j@FGG3VZOE|-*8dwCvw_^6iFM(0+IGL)E#(u(Md};DPS=fCPRNvWR zd{Zpz9&HbqYrPo!^)^seCBv<$c~3zAI_`$$!hH-s`a$+hXGBe*?HpvlYhi5WkJIUk zU64kAaBe6Y#|4D-cgb|8bMEzkfNd(_!`FV39B#*aZ>8=P;{fs04t&b&RG>|sY26T> zvS^mZNI|u1C&#rwQs(mU?*VR2TPiC zb2%y9ydPju2|md(oa?bWzkHc@ZrL_4KO-pVMQpI+HMf_Z2hM?nI7E=qhwGa6^lM<} zCHMLsdI?BMN$=*0+9h8WzQBIbo}AK2o|jeD;xav-!9Vy8(Z?dyoAJ7h#U|^_JJpG| zojBlQ0IrnJ1fT}18>t0q)TX}6;Y6iZkE}i80^0@CYEw7Qrpi6`@%7@L01dc- zAz{Q1J{Pb?;f%}%-dtFDBcn_oiaF^66JzhyN(-!0A3=S)?7suJ;@^Y1!;?9Z<=V}J zC!J?Nr&^Bo%J)r=#062PQ+~MO;`u4;90i&d({Axk(x=V2!N0F9ots45D`@>nI?|2{ zupE25?v%CH;{!*Iw1PvMsnTv8?KBb=kf@)6q$vGQV8ZV0L0w;pnrko~7XYe7=-B#+ z7v~#rGh<6qu>s`ayi|@~W^cTVJcP0#bV3Jfk30q-L#Auv?_AQJ@$NKx-~FKOLqWVnY|t1_T7Y>M@+qqf5-n zJ?M==H=_d4&_}6DISM~_AT(KahWa($91Bv9l(GU@3L@T&B9@xbIMNiitR2 zCYefQdWcRvl5*I%2-cFelY?v7Z%)WAkvitz!lcf>pd$5~jlCKjF9|lcq1GOj5gAVX z>Zr7E!Ehf>Y#U**xCv9MzU$#U*apq)B#iFV;!rO9szo3jXS-8gY_$PaX6Dezm`%vlU(M{oV~ z>fRjQ1tBWs;935`^Rq_W`wKEh1~8;RUHwA-+fH3s@M$Mc;%Os~$vnQR72lTqUivf) zHBMR%fR;B+V*|XrLI=!p2*1HTPgY6oi6GG~1-LXqE6$p9WO@+TXf2JbPvgO_2g>c! zHqL{_7f%`At;NCqZOo}Bc$5bwwuoZP7yHDU*^UBcxB?sfV1cVBzO|VpuGv$Ovs!9_ zt+SnSvmxXC09cdunP1?kyqk2z`F@}VNbeX^-(rPLV3L7K;eH}D&yLN`OHsv}+4BJh z3LNIZsSV=9)r`H^wcs?kSKvNHQ|cLx_YL+vb_pB!?HLE5)3$~bmD&2Qd+*T0paa@GkubpN?UwNJ|~bhhW@7xjthR98%V!k&Hl z#A;J!yXCP@DLL*E3LTO+KWF@i4!gnZHlc*%UPB`>?|;csk+^+Mx81j?eqUnXt}vq8 zPTu=IG%Do$*!4Y!+hn!E%x$N7;ZzPz)*WyD5(~2Y^La|BhJSKD^XL_#4NSz)Z6@@1 zIRJB`u}3Bt((5IKf!ZGXrvH3ntcM>JF&lidSV%RW^JWz*7M?25F~RL~6#wshvszUm z6eqp$a%YvsN2VLVR>$Wxo##?y`9S!!EPuU%XOZ0Z$JAP$0ts+W2vH~eoz()FEJkca zkHOnn%LZC!ziYet2I}n(*u_>nEb^*5$rFnjLG1IPdNw&q6a^Ar{-SHCTJpkyY=h;z zG5hb`&W{?1GhwZciHEZy!&UlvO{kyttgvrpgt^d#nu_`TaqUz}8qH-V(I=U<{&4pN1y?L$qFvjVj zEjFn@rkY^X6m=SaJuO2SL2;PHqd>y#vy+|t^Ac<555GfjOQvujiYg9O<~dpH$x$&h z&1*)&)&#C`v3JrixxMxYwO%`~;2>?Iz)PpotRqZk+h(3}N1X-v4HDjy@H2{Y^?>o> zMwZ2`TcEFVM^AIQ&JV)mu85{2YRL8#VLbMIv3|X?=h)}xMviapI=BR${*fCY2@)3W z^{dF?spi{EzPa(b6QTRwUSUx8J!&^6kAaK_Y%>98gCb2Z==vaP0OK>I4Mzv|LDw^! zdrq05&KaywuY=1JpH7hQ(~k{1xXb6`sb{)g$;HMHzd7yfkpOfexDNI~wxOdTXW^K| zsk2_}{DjwRd ztVuDD+>JK}N(ci&;Y|9d*mqrvT=%=R3d&0z2gzfC_Iueh;vdaxqXDb7wTre@PN38d z=gV7@K$Ej4z;~y&^P?M0_$-=X>C3nYVx=B|XVlsE@XG{L=mdRWOQqWNL#{ic*ewUY z-aS4E%ZCY48L-9Bk_h7rUs1m(U~7yX;D#pa&@FlD$WopBHNet%Ax`3z>@tXL*4Pwj z<|fTubdqOAtG6Q6*lK?~vTbWw^0xV#2zi5bs)GHCa)-ej8xyUQ?iALbA7&}(sZZEe z8!e0k{7fS=T(Va{Z}k0VuSO;a(Dfk3=rpPd@3tl5@&-b0X4Gi-#-x;vtQRoIVg2hv2drnO3T!KlZ?`eytXt+n~e@ z!geYQ2*Xl=_AlAaHt9L0Th3|&M*|4;0V2EyX~W|h=MLB|!GPa{UuGaiju36}T zZM^8`qe%p#vsS;Jd9&1|Cq!P2^Yca)_-PWVx`3qOwb;OmTaEL*ird?DvUe4dz)F>Z8DBW5@@EG& zi&|8y&y157K5f0RE*Jwxwx{az1O5vU1E`u~jSN2AlNwoQiFl5gcjh_pw~d)goiP4@@`#vodTdz2_h zBuQ_mG}IQVZ19Iufy$kSKJI&8okU0KUZLw{FqY zLtN_^S4IpKAci@EwO|}>L>*h*f-@vE9#Ne@i;E|C^{~3X@q%(RTYH7gFFyOdGMup) zG5vM92WP=fx;kIcQseizC5DmZ4#R@39}y-~OUQx;nqyDI8$fe9EptogtAuGHo7gkV zEW{5U?5vy2<}ZEb8n@%*GvK_-e*BqG*eEqFON|#GcRwkP|9=bb`mLt8nqnZS85IP5reB(6E8^OPyulBjH_5dF;LmI9{g|* z-VVDBLe?+j5XzdCB9g(iusa{#uoK(-yf}#a^`G_wuyRLE$8yAuj7I&|{{1=m!;5|_ zPTK=2PGCpI@)vS55(;JbS(_^|WXWe(@o6;fa-FNEC@FgWuT4zP#_^~b2yU{yf}a(! zqcNZekbUxb16HGVG;4zF=Mz|mw*`d`x9U6XA@12}d6;Br;(Zbg4uyBP*H{EE8Vo zm3!P+i^>bDm3<8cm*ruvBgR}KdL+d98IN=4VE+guj7wccS@?6Vk9+;`m{ZJj`Ox@CZcF-lp zWbBd?pp0rqU2KwyP&-WBt7o>Qvhcpz+%@DJ8HrlNc=n=2zUoxU`VOvw;=zyn@giql z=9^(I=s&ceOB;(c>X2;xbh9^a7al3#ezepIeTgRo_e|GkRt*=)y3Q4Nd#|!A-dzuq zc5>i_V-fiTD__CdUP<)m?Qmg(4ktHpVx`!J_&MF*D!C(zH?u7=eYfhJ^w zPwN8xD0M+?Vo_Gv^({mE&sx=H@x*7-ko<*r9P=6}GxINWf#2(~IE;oAJ7%-v4mfsN zu_&*ITk)2}+cv>eMhm#EV&+EoQ!|WTFw?R~_E^F3d;O)DW?73rb5ZBYT+OVztxI!d z=tr#&m}^am509!C!9j{IIGS2z^j7r^mk=A`=F)2su&`Y3rh~LWY9AFWi_@Va(3RHh z@39|`s2m9hChv0M;;tR?&Qo81I5VT5dSY?a)_^>1dO+vMN1|yEE#cuCMX9autAnZ-d&> z_opeb7+ib#d(br@%v8h4qe1@1pi+ImC&FUOS)sOCIYU8vu3YeI(1pagi#fq>kv@(S zd6(-{$DEd2tyx)KG%wyVd*{A{Gpnx8G__%Aj5_rS3UH-4JJ8d8dR@*jh~|NK1ZHaD zXpa`(RzA0X-)%Mcr>_qR>Eu!DY$8bzo3@IRtL#k{wb#+$t0uf)+~B4(?WO8-v(tP2 zD#FA47r~ff*mmn#K71j|ZPmF7^b95o^JzmJFXsAT%H@*HTqvlUC(*1;s)QD71MkBD znB4Yu=W4lUE$W6>+oI|-tHpHzFUifRlz`K=!pOtoIqPGc;VRgL#~j4673%Y2D^Kw~ zj@*7?TI$)}~LYqpSXZ9*@j>C!whrt7F=FdOtFW`)B#zA)~iC5GB>h04k@~-<(2SHb2oxdk-QTI; zRPZ^1HrGnQS|^X9VF9g#0&!@lhrdu(27H&r`*cGaK1b>aZ0`BGdDs1qHHY>K6m!Ex z53gI#pvN`v11S@3xjk(#YRMe(WBJHKzeW%zxq^(XhjA~(dpP@#LvL~re-O}7L0hS! zXCqO0zDItE8F&+IotCu+g4VL9Y@K0qOv}rv&IkOztUze@F%ObD>#nRHe$!?ed9LDf z9*C&X@N_<}_wu9#ZCQ+2O9Y-##hIVkH1>0l`c!ck%hSO4fR)((N8$}mo!I|}v$qVZ zs(agh1w;e{1nCrzZb3pyTIrDPmXeZ&1t^`;NO#Agn?-kb*P^?7!Jc?O&%58}{y)e5 zus^{E4(6OAu5pcPoab*O$boj*dC2I*9w(tlx<}x$@$1!!q5)k;zm;3Y;DXji{@dHT zgWyO~SQN(Ich3e*N3y$XGeuiox3B4B(1BrkxpLl^0tUmZ`W}}AiSMUB%@iL1C!|S< zz-#g7b-4?FJPp;GTJa~^0B;y4=09~?l-X}d)tH{ItddN7Ej+>_<|q3$R4+xs@TIFi zHEX!OtX;G8k4@LMKkcTNaFR#G9iZiWl_aEt<{E7S)L0PTjOYcVqGz~Co#Hqw`Q+xZx~0OZ z!g=jPwTdOLY}v>tgIcM2;dB0|T_;(ZIWOfj&+NvFLjONsQ6NYeen0_kD*PA4mXisSK!;8hhOU>X~gnH#iD0`CNjUh(p{ziI5 z>gu&7C~Uc--CMQ z^6!oJ`D!pO^rrcDG^%?&kf5;A+{c{7gZs!uv%$m})P2N|F%(dX9Ph#S4-bnw_q=|? zpXOd4^yAh}+233oSl`B$bAHc__&|K{<0<9jeA}H3esVMYb&4vagxR~)evzN2X)Qu< zo-F``r+nHN*qP;Wr+KNp7YDJogqK-L97C^je z2k=@dRq06y4=v7!PIyfyO0(lsIa0g7;A$=!8=JE(co;dKY>iJffUvR({6B7_{*>W? z{UG9gNNl*BW}SmaVq{^;OhdDUvx6|$v>2!b9JMj{lv@Z@Rx$!vi13ZHoKuFu2T~g8 z)6`mHpGS6{F<)fT5o*%lME2y1!zrE)#u+a=dzDEk9YgM|c?B82!OTVVN{y?OiP^fc zS>fzj>>lM(N!u65si(;!(Ov6#qD|-G*OTE5c1{&UsRK0;Yv^n0x&YgucHY^qiT~`! zoqFhS$_*9ogXGohaH<&Sb_+6*>@qcbNfeCdn49z?^ss9hQjPKZUiEr}td4B?eSpjt zZBS=(%Z57SAsY0M(~(?rQ}=LD(r*plIs9&=xM+@c>7ZnJwCQxib3yyTE=~fWf#z{I zRTe_u~c%S_hO!;Zu_H){SW&X`=~01 zi3?_#0lW#2n|<9KcZBXCS=|A6<8_ZH>stNVtnqb(aa4F%M-Xb`p*rN!=#C;@0*peW zSBdQMxI-pb+Hg^9EzUbTUU$PYba+@`b@UMaSWb9#@%r*HHHT&Sg!=)lINa?#+_BVS zGPr@^BvaHjN4yU@GzFFOZrsvT?AD|{`Y+HvY`24G^WA3zD0i(c>1Uud zlqc*Av^9{$V%j**BNFwz8cyg4{XyJHPuV&93NH95Ew$r+7eK5KU+g?%1t{U%K-&vY z;ujaA1a!-@3v=6D-mP#&slP?|q?iSz43b3-8vfA}A(40)PGW##hqs)uc1q{`&UE;0 zh$NCJr6cJ*nq)S{EQF;ROrNkzotU$l5GshrA>&i2ELQaBX5Y5w?t^*e)5xWOkzXY| zVO^e2CvkQIHNmYiwGf7(m*OL!d*RZjC!s}zULkQNx1#=~H27d5u@N}^qx47@wZNLs ziD%~-ki7ds>iR_>s$ce{eYET21|NivqpwckhsEsptO`ao85D2vSi@K_-L_wo?`Fki zD|NPMXTo$gu8oxmf@UrYb{Y>^EgsE~eNU03XhMX-`*BA@)%2IVe}~4%fSS3R`z#uW z9wAkxvUIZyD7cI~v=H==GFLllS?WsuI&2@-Beo(6DI{?!B7ufwX^37yF=CJFE)Vjq zkrCW?UJ4kRk{u4zoBuYaf1v6=u{TW`)$RtFLr>#sWDKYvGj_0R8iC$n>{BVjcVw-@ zGjd;7z90&Ab5qEnDYnB$Jm&6O#cjD?6fS;{<16D`0;&8O?_I~6GvyOJPRE#!J9VD` zaX*|`c9uSzviuNy=pi#B1*0CYXXbjWDJ|lZIJj~-f48)yVCrt9+8 zj?lx_!~?xypC8#ZOLpN>sM4<{z#Nf0y@<2PX#4Pt^gnaJra`OqB(&;dMN$x=h8>I zJmyl7xWwIk5=LLkC(4r6u68*)%uGBes5mt*Lf$RD>q^tD$p#pxD&9J3!#&c7bJm!;+I?s>2fTl06>9vbS@jPunHc$ecUX(A`gWzzX8_`T-1r=#|rQ}4?t8r7ygW$C%NtMl2ke>|8k z#5*tyJ2d_K92tiU-Pcv2F+99c*1bRJ>#>ZhwQLs_;@u=46r0G13vOQ~&V2}{lu8QR zjWd&_61Ro90A^J3TYR~419$?96=w#sbtX6MnO>QaTN2wFOpPUeK-@{3>Ck(`H&jwa z+NNn4arFO5A4*1-e5wReerrGUAmdI=RJxb@tGvfIq}bT=zLALQa0uS&K(BRTCS9}! zB#5Uyn;E_zUoNDGAhaKLYH|}i)Z!R?<1$wVWp>Cnyn&cY*N`*Z@sc@l= z)1Ad|?)YLCQry|Ymx7IP?&#?uZDbLy%aTxAyw87!$qX5_pK{|9GRS(iwm z2L2xbxG~0@;eqrGa8rOmoLB!{^7NNN@QO%SU-=Tx?y=F^1?2#l3PB{tI(whzTl1oI zEd3XGDfHl0>$xN7(U2yyNy8B?muFw=*$L-_r-z9vQNbY!d63pwMW~IQgQM%rJRiG> zhtxE-Z2iEy-$=A=q9}n|0^o1Z^-lg^$*U%_D;X@($jDs6a z80jT1%ug-D*nXF#=QI?Ixmx0kSZrd_%wp6EMlAwIT&3N!b~>u}uH`6y1;e4#PlDn4 z{~;KD(sRg}Bo1#9J0!k6_0mx{*XjEaVjr~Z6@;dZPYgctE?e8NjPoL%bT#HD$*lqJ zri`EF#h-9UO|&uamd*j<+Hts)g2d^JZrj=yam!5sNfM)_h6kk^2&7P7Tkj^xK{sLA zn7;S)w!C%j*K`}P;6H=GpE561@?F<}gSK$S4xRxlz-9prgxBi*E6b-T$zOF5<(v%< z##;$uM~WzxQ#0m@vuNuFB{85^-ku~Cf=KICuk8V!_+Pt$VeK+#2pLbaF^Pw|`-M@Z z&TW-DXSk&?7ohMBudrY$&7W@)KjQ~7<>;9n@?n2IJ@zLd}QsYgYO z|GM5TBnwU0m~B#W*ZXY%-PKF)TB6>+>|b25BUV}DTaqnmgA?EGBZ^Gng=|gRo5^Q& zV%4fJz<^OFO4BpZ0iMzX?aOSa>obvU5x*o0?MvO;t5j}$+LGyUkOOQgJNwSIjs7t6 zSGEN}nG~>KnDp(nX^{*~X@+!A>a1Y`+?~COStw*5;V-gV?u2cf*P(#h(A8LHueVq* z`0{G4HZKwn=msB6}SUW&_zHpd$tSguh{U#0w`59WH(2PcvAs2cM!H;MSqCqsbFowgB+8arkh#4+`X zWqZKbWrCZUJ~gftA89vG+8Yk+wf!~3se6sD7YM!M>NlM?(2)sk4!lklYp4hSzXrd3 zi|#%xk+k-HXSS919*)V@09X@KL>=`;J#kFCV_^-UjU!vmH0Ze1pQNiJqi{}tN?8ls z68AopeQ{iQj|0NA->f#B1M6AMyMl||P{Igj0_&u^37@5CEn8v43G{5a@@H|Wi@vck z=l$GMr?U%4p(fj7=l%&)E;|YzTqmS01>CsR48lNB*fl%owGDc z(XHqQ+)W$pOBtXQ6ay;d-IsChI8M+mExs?zSCyIH!?|9X_8JoTTO5x;;qDRRS^9kc3QsYO14%-wfV;4>?0h5Je7QeGUbK3<9I}%|D z+i%}TKv$l?Dok;h=ka7l;myiJuSyGPU_Uf{_u{kIgE_!d-jlOI>yf4DaReY=Z^jum z^rrzFb=cHieBz}w`+v2_Nk`2mqVFly1LNno0Ho)fh2oLjIlVp@eYBu_U|nOl-Pgm{ z3&TeXP~ONa;Edh&kG9{M{>Ah>srnBCME4{eX20EW;BIT2XZC4*cl7=6WjOWzkbL4} zCN-cMP!n!X*BXAMO(*jR{<2qWd;MqqFQvzNI(+9sd+(U)7u%>JsL&=fqy!RtiZ4wj zgc-X1v(ct%M4!iLwHz=Gc-abP-J;diD{d);nm6xC3Gks(Eut(&CBr2VT=E91U@ozl zuGwI3;D$0@^tqxqJM~rBd=zfzQhT8YJ8c|5nJo~#%s0>FyT^T)(XbUEK6Urm{Ry1U zN}ZSJK|(fl`x(ARi`hFyCO&&mHmDSHc#t`L7w;i2?rYmRsdux0$pxhYq?g_SG%xcP zxh>briS$Bb3c^qN7jUWp1nV`b+ayhg-p1_O{>a&9nsPiP(jFAkvCAY$0eMhQw7UiMUT_Ms+Neu2U`Az!^EuuC;wq5$HGbsVD4-+SNJQ&Ah>X`~*(hdxd)g5PJM0 zL8-vEZ+vaBouMiEhd7K0dH0&1kYsrpd&`zYaUA<6*i-KhQ3@tsD|x*r;7& z3}M4mN@1^~uH2__NjTn?{>DQMv#LFhmB?ui`LVuDu({Kqboj^A^G_yCfmyv&Z3$kV zHG4_=S52Zatwd&h& zlGMEbOcv5EPg90^4Zf3RSbw_f!#mE8nGgHtEp_^jT2IV~7a`R9&Nsiw(y6O!(}Q9I zvup1egT)ZGo%Ku5yVrapYsUxvU-B7QEnQ7G>}ucG={oJgbo4=IiMe3i7f?j6s>B?8 z5wBJKLU{W}$CYCrPDb_14+lwrdGIbF|R(aBm~q8 zd^jP|UjC54CnWYtf*bm|bG-r}nN~IJ#)*j1_OJ0#m*01d<7>-|ot=>M-Y2f!5Li!;1-QCZJZ8~G2ossx%RZJ!YuczTY(|v6nk5mdcSr?nKrA3LgLn*T-Rp!k!;2r^F#;l- zn$PO|haG`zvO=CEy%U@jHv#0q;~`V@jvOyW!`R*u*);uRggtqF(Jw6O&K=-u;KtXCHr!Ql69GVyMo<45GhS%jOh631z!hvp2Ubg=Hk_#=Sg!R8X zoxY|26GA~jg*thA@z7+9dmVS(*eYJv5DW`hR~ePJtF07 zX3dJsVE}#qebO&NwOI~Ze6i8zd3FB>L;u9m!73I*m1702zgs7~9+?M_VdS@ZXnUix zDM8S=q}7RfG)#3vlCLQuhkGWmHMTcmWY_hH)Aq&fB0mcCJzjw~&{>|G-8IO&6@l9; zGUsJ*J3CB6nOy5}F6u1SJ)`K+bTGzn9{C-){<|lV&h}uiQHbaR^3%{=Bo<|kZ~lj) zGm?{j<+Ac*27b))09;#!6h@E#&7cR@Kj?*i`V+iVHw%zQWb^m{01rWT3AwRAYUU&@ zDO)P~ABM0@)3w5aRDr}^V=g4vZ6p)`bF1b#s;|e#FEkp4c~O!x>=w$fR(U&}++GfK zk)?;>iJvIR&oKQwbHcT4ao6h(O&NK@4uk(L;>kyC%zr2OEF1p!UCzP2sk7~&YW~R z9<~!Ly^lb=0Ejw&CPgivQx@@V`24}cWg$p_9UFkj$3wG?y<9%)q=`Ez{Y?UNo=y#z zTN#!9^aI${17!#!h2#@Vo*RJ4w{WgEj<<(_{ju7cpB5b}|AwoIKu*8yjP0XF>9q02 zJ>c>IDd1$}zYz^;9S4*9Oc{kkUkk@wiBXERYysD$R!vn3yoY7v!zWTXjc_m5>dJ53 zv^6oB)4YkZCEtgC1H3FaNO0=5eT zX-HDG-BYT0?;3#6gu#C|F1<(Co?nIFIdqvLkd~LV-1A zihIKwtRUgGeDFt>J1Kbklk@{yho5~BNb(U}A|X;^Zp~E6&07Fw;m!$m$^y2ZzhiH4 zaw~u1X*r&aZhfkLVzi&;=?DwD9dR=QdGeR9*0e`(TtWmGXvB7EVit7WwyD#n037=; zwJT&CxH7?&wPQ}>C^Ck!={;n2fj7$JI8(4n6F@Dxtn%KdHK2cqV|$vcr^s8}DlmZZ zM6|_F=pOXmxb#+FP3!cY7|1dcMsBnIPZ|61f0VJ!!p);N{sF@qqD!CaR~KGXuO>~^ z9kEG&lRACkqrVUpr(@v-jt+@38i=Rdv_#LD)dMqSET^CUt$n1=Q8mAqVl%PJ>SzvJ zp#CqPk%;eSj6|;GKOYWxwOyX?Qk6$9a{`h$C1(EgwLt4&%kqol4S#H;Ck*gTj30i+U)%x? zW*Cp+xIB%g2Y;`rzK>{w+20!y6i5tYQ6WRD(N*rI3)JE`V(wHEpXi^AbPN*=^9jyC zlqQi#4s+e`cq+}|XQssZBD$m$;;M>10651&5$Ax;ABBqjrglWHn_=SQ9G?(KK~evI zf$u3tuh#x#pY{MtzV_b$M@A@~j~RO#aP$8}|; z(=l>qh@t|#VhUYt0|sU|YeZb zP(jO+G;Y~tJB~Sd$9bnK^@mF}?^eB0@6n^-5$`i9o}h}mCAa##sOJ2r9W=kOagxx71v54Q!kdpkRSW*7f( zxn0SsdK^`6?xASI2KV<1r`ap$H@HTH;z7|^jkw{k%>Ewnpm_|b$T@j1#qxJz<>brk z<}iX9a;s|&X8m$Q3F0_#jQ~$c8rpza&wQX#{A8*llcHmTEt#<=qtHpz{gy95+}Nq? zmP5+XU7zz?hc3Dcel`qC59=LJ)cpsCsES=PuI7m!9F+3~TVhrpnB6SJCs%pVG<`VT zLhvzCai|Z@a{5XU_gtcGfLXWDgR#Yo>(Y(>Jm=TOr6f4h76O|W|Mw64RPWACU-0ypqFRHagBrv!bc*ZR?fGuf zZqV-ygTh4oVH14^_1kgdqTvEWfeGWupSo_aoX#0hMfs^!UR>2)zEN;rZKdISnAef^ zghALODWgIlR{O_7Y31~I$3H$8#Kn<5P$TIEQoHd@`}RMk)+ka^z%@ppdu)1Y6|O8X z4{NWu5r(|jSN^XbEqwUgXGJo%uj8X+1(+-szyd|OG-8yJWCV=NM&a~U=vqP{h`Pnh z?Jew=a^&y$ktapEe-00^Huu0O_N+? zxsUG8+8^-dwh;})A=V%N2aMMz zc7@5}6NjR@`_9B^oVh~msWK=0pJf5WfgVORXVaI{k zfT%Mv2JUxav!3Cf>vMKXe=W;Lk0$xAW3bMD^@q(1M@|G-siNUN*W!*o)V)f&cj??(zBH+luSveBVB`I$!}LviM`o(WlMWVX zkv6}7rKGzz{fZ5q^KH7ez|xPySevkg%mCrh#Q)LS|FnHW0^9^OEk2j^5}_1Xp=agH z*dR(KU*DZ+DQKenvn#-894oK3}hfLz6>-bkt8fOdmq99Tspwft`?_`JPQ#p@2E27^>FC91@TEt(@+%632D~J5&%s?@EwmkD&GEr@79p4w9<;XHB zJH^5_55L$wSS)EmdwjPdOCq%EqZOfP2!ncgy!H%pvYD|0`vhID^b5&;MwQmj=;};z z-{+~rEiX3zuPOIm6R-vN|8W@^CIso{`7yGblR!(+&6Udb?=_e;1{R0<jsM17R5F~9h8vE^DgT@F%~ zb!#oi@R+7}p{_y2#aMnQC6+?%`y7)I*N^epXy`tcN+yctrZQSy^=XFUy`Nsz>fnD& z&?Il10k2qFS`T?vV+T3iB1F9Vs`PVFqY3RXItP4|R^_7ZtQxdjR~f@By&!6c-m5w^ zo9+zvVG1K+)k5*FVFB4#^Ut)oFO@Lzt1=ry=rNtu=9@j-uFp~*i9zR?WWIv19l2Ha zx|1KKRWga3J2Si%jb_j!`yrlHB*AN;+}WvO&GsYD$Gc-F*(3M;MX6^DRM^R&o%G{? zRqSOPAbffxP@K2ww9?Y2}FN$YTr$pC%73(ST-Z5Co zIulOe!*u1{8*c`!W4mWk5|i+7aoaE@h%rlkWHV$pyI9>XKf-jcue$|Fb#BMvhAaYf zY$1=ZBY(gLJiiJ^pk>>Sc$aTvuSfg^zV0nMEqk;_NRSd-E_-?&JnqPO5(=C~g!`}$ z^C_L+l-M9{*qNE-Z^r$Sb65&0-pokb8e%2)2yVbjB)_O5`tkB{y8Q>h{enxRr+hxK^ewL|M5gQEh~ zCUZlI+*D9KZjfqSpK_ZOfD^D;Mb+gd27nZ+nPjkUfcAVDKjkFE)Q5eDo3in4@dzDU zx5a;yuhk5wbg{hq~18@Y6r0_gk%A5K;q&xTM-fpOiQ?oUeC3=BDX@iK=aw`E>E#8+sYuT_R0 zfU(~TwX5-!(ptmPxYzp-dSFO)7hkenykz0PeGV3BKltv%JDXbw&kXTl2_h_-Dps$c zUO3O;LVFrMlQ9e~@kl{B>)rKy+(?vW69Z@Ey*rl;$rN=z14H(=c60knioI;u8plIw1M zeW|rWp{8%C`vwDCVam!g_w>(Q*#q&sD2CYM|6Z59BfVV~E8>F+)x6BTdt6_AS-;RA zn#w2|s1Cf~hT1-HDVzZoaYxo+5F<=$(t@tU1^}^eK4QzoCqWrPY-qX;) zUwJ<=47#jX?RXyllOX;BEV=~Ex?w-AE3I6}PPFAG!~3cCD;3w18&nSM^B zIo|+NB$uD|cb}i|8^n1}*tDlF;N3u51x#yxxZbqH*7k|>-!QAcFMiaH5giSHM`s9I z*`nsE`$E91kKKwy<_^Y<$!Gt*A|Q@k&4_K!uR_sEMTjD~pV=d(Uc)oYnf8XUg#RjHtHXltyZ6ju=_PK-nEmu;MPW zp$Ky;#ubZ31QJ1oBAv!(wJD>@U-pAK;1?aJ8vdeUMFr{?xWz{dDwqoI($qxKeIM1T zggxgs;^9qPp8iu91I>597Q!oAa|1tb0l0-x zbk8&Je1W$t)F?_r@Es*Na+a7(e=BPHbMk%BLi%d?Ffdf>cf;ZF&V=B6g*RVt)p~Ej z@oIGi3S%G=swnmQfr`Mpc$T=5MQi-4$Z{j_*qyX2LQOql%vhuk$Nsr)xT}5?gjbvf z#^?+cQOp}KV6Nm`k>R$}Ei{_h*UoenPEKv9b-C1cL2k8tG;S48e!W8gK=#U7)6NZ|IUIY z@ITG^#2zYhsOd**7(|^bfv2Q3tjTRSN+ylR1R28Wq_G34M1tD!9g%~Bh^LJN(zeG! zBHorgAAO)bd(MWmGUUgdk*WtDgEd27$cY$~*06Z+{kET9B|@H6Ul{{Kxz#w3cF4p` zwfQtAiU5TfJ6J87?|S9e1?V%MKDIBd%9VU{+S@_R2UZfxOy^E47Us+j6r#gB5%Qmp z-)MW}-Pay-1up2cts1*Nlwf{$ZYSC`&d{Q|AG8K#B2u`^FQlzD4^$gq#_22pGesq_ z8n5V>e_tPCT$!^2285Rkh5#0zXWJAcNU{;}@8y4|r*#_tsWm+Tm`Ya8K%||188|6` zJw)p`Kj(V|v02$DwYpWm1EU1Myzl7CtdEaLwFERcmm1<9Bc3605^}dUi$aZSxgA@O ztHTBgrig??h+ zunpk7Hk=GxV#tb*jhX}Vh79d*RnTOsh_QEdb<|;*lAfpBurM-yQXlU0lPr(Euqy+sAh(GFlHo zeldbt-vb}x8rP{VQp9`8R~0q*(sBxI?hc(Gg@_FI$3{vst7ED~^cgQZ0fwrYvT-|i z?f#q2H!8yYemIiHT{QWzw+JjAX*!Y#_HsnnOSLQ!XGVg?DM%{FH(tcksk!#+n>eh^Pz)1&Z?Bkg_o|m-y0gcxiK+p`u@Dyq_sTOMIM?zWn8~4ryDdO} z;Ji8Mi(R(&r!a57Mbq%n7khQ3OnQ-&*(L&5&MSj_;n5KBRdCAe{APw-rz+r4WUzx7 zTbLd4rFc zcCpn^?enTaZr@>?l5d5s@rFw_flNVS$05R@WeQ1|t1>ONwz@Pb#t}3q^FSVRQ(qr& z6u2(QV0f0!(YW;nriScC;`|@eoH5S(5UXc5Lvs12@o|Cx)tkNd#UBd^i;IS-q1Z+C zA{0^%0eD5f`joV?4bAiwP(*G@|CsS0Bbd!>M$$4W<7L0>jIQ(-O_hBI7u*i|5qHJt zxH^H63qr%N6Iwk79EI|!(ScI3W#$1HFA+&07O#C@s7%?&t!@q`Ug&dfe5T#CaiKuL z<&$|+7_F9Wz~(EZsL-?O_R3bBPPGhwtDWotERg;N5ieyf&_BE7g#hh{{M*%X89s+M zXg8~o5`6bBV6@K_-llW6c?92wBQ5ADW8Ub+lM5AZ)od);-w8hjou!D5t{_dO_057eu#zkF-Uv{AqIslfF&A%AuSJ)r;LDu{3C%pYk=FXqkFyS1JCtJ-e<%Fk=N zv??vvlXw!uwmt$(F>*R$Lp!KSk6fo4&iAQK2xupV+!^cEFn} zv7sn0um@3KJw`AbG5Ek4tc)qSn^F>99*I1*+O_eA(BhYQlHRW%`AhJvVb-I$aqO2; zhVvVKqx$hqlj~( z^O;ILc+T%9{MB}A$sidbsY>^$8&N-T+53PP(IUSXv@3xOn^mf~Y*IOGvDUfG;4+1H zq2;OH?3>EDuZr+;*cS&wtP^!d^ ziGwbcf~hhrG95qdd`xHd(`@zcpibrdDW#}2V+Bw+=(s_E@UnS5d!s<<>yJ|{j2jP6 zGo)BT9%mFkQX(%~OT7%?zULfnK5d+eiE89mlX%bzA2lX=mY4yNPvNB+@e`*=nbD54 z@VQkb6fZ&JT`AGLT`3#_n~s4}S_T@fU&7%reK)eEl;g*c#H><SUdSV_Dvm!Wq6p`w(hIi7hJQ6E8h=~GT8I}4E-d-YPQ*U0ipsvB zEYfXjiLd^$11l59>2*AT;<{tBc08=Evd9u^*64@gFSZvmH=$y~Sq7F{rW=(1Ss#@& zdduP~|2PmfSX-XUZbGof4pi$Camxs%#c)`sdorvv_{TzcET%>Q5`^E z))FgQFI9f~IAUk>s$v{bXp~kx*P(YI zjFVj+S&67OWfZP4D>?qn`v^Q4+Alkio;Gbw*3_7yuATCGGWM*VXR)BNuZD?4skfQt zc`M^0EK~p9=sXpV)J9)@b$Gp(E^WREW0j=-YIKXBTHI6_l|30UM)Ak=jzL(njA6O3 zRs=;{{cCiL7%V|d^K*0`roLXhl#k)HqA(H?c5;C6QaRfie{ir})JAOamhXqctF~wV z>(dlorJ0O=M9KbrZ?W);7Drh|S5HN6XD8nU5qGchhgjaWyk~3oyIr=z2{mxS+-`$< zfG~N2J6p>0kr*+TsZbnOm4mX~iu&Q4ujjos=7rKTGaYPZ$aFHg9V$jdCXd*4uBDf` zc5^KcyZ72h+O20u$l&kmTge6=fDoOs!Z zyFYWTA+KUMh761L`+bU`OVVxN1b4-_dwkrTR{SWX?ajt~|J!FXAkgS>^beRy0VnY@ z)ov!^Ny3N1c7k$*#(zhApojp*B2Z&kewh}7CP{QpBs9mTV47}RmC*L8Jxiq<4%hWs z+U!_p=_Ov)H!ZbjJAl5iveY4$PE=H{QqerO;~7EEVxuvFRO!cb+jRlA(&@?0-~&i0`VPy# zDk4v{(tYz6Hi+w>J4^7GL}Y7rE^Y8G76xjl>W_kE7dc7>rnB*vw&sd*ogZa_nWI$$ zRH9f%(Mcq9j+Jio-6Y*s;E3A1<7R1XaoaN7Rd3eTC{%DUyJCsXB&(X4sMT=_D~8!# zOi3zG8>{~j-T#8$M{ofYlhCAsrB+LGle|a&*XEWY_+(Wsv>Sb4M`ffwH&Hgpue>wf zaWNLy`8LPD4HHe-=0GAIiiK9KdKVvU!^U-Vn>hy<3ga z@9<)&HzsBidI9>jCAbL8+;f;cG zS3*$1jx)NjN)08dd?2{%lkBL#3UY|+`Kr)oS?u+Oz%<32XJ(aVZdm#i>Gw>XU2@cr z_k#Jvqm?ET!oyzF)GQj;W_Yo(gXm@!9%`Q%&f@VyHU#ZL$~*RtD6i(7j=XX+Q(PP` zT8LN(eNCL&`Mqey8Iy^MSNb9-&DmD-3g}&;22}a@Je_qEmh{_e_{6f=GhNOZzD_?< zXbsbb+=!$+e9M%MJ;yhhRu`Bw+XHEm39GH5Si=7!(|nqS#P}^&w1-ud*g&=E&D22+ zVRp=<0?f{Vz*OnX2nj1f~J3XABR!;+b#E*$dX82{d&sM}r3iGTGz z$3sNc35iZ=)UQbodl*S`B0~3zjp~e|Aj?249%Gdv6n@V%clMdBBh>av@pTg*J!Gm>?X+`^DVj zT?35=ive*BQ9E}{>Q4s{7DuXFQbnxF_EFmygnr8DvVn?eo{Cwh^AqZ+4Uv|6&}3&e z$^0m?9*YTunjUAh!A#j7RZ)YNp4g=--}-t3hbYQ;o{t~F(+MfBiy3<(nj=_OY)jqw z7$ZDbZh(wEJ^x5BHGWuCOkGtJ#2yb<9Dn_(k*J@`<4=!s7PJ~9MAS0xQwx;z9mEwGJu6`pLMw){X&o2)VRUuJkK-| z=&+BlUBe<8bX2R#43yE_xibu7FJDI=hmy~qbYz46c7H0&w*x7GB=Z1CEuYM9W6{eH z(M_&95zj=c&yMf1<}-hF`2(h{1EZvS*Pu~8S)uA_CnqFoabS=7!4KYtTi?G26BRRUr$6Sh8Oo;o&QekLx1gkU`!>H`c z+3)h8gkcb`?6W(0X^4(uUEe7_oD_$dFg@r;$_`29(aUYh4W%rxF&k|b#g*BDwV%!1 z`qT`;uWt)0UPgU<`{t*H#@xw^GP%lpY|XD3v~QUfw+GbGB5`%qf&BggF^u)bG#(M` zh`jfv3}0U(sWbaQP$#7Eb^@TKENS63)y_ zdIY*qLPM@rpuMw<0c|oujJX*^Wj}mNhom@Y4LnaGwpz*dp?Iien~2ChsVtk+M16$1 z!%9V(Wsa-tVxWZOKok7q`OXiB0PjD zi8G8H2u-}2KieBGS|kMz#HPRjb^`SYXvKC~|*zcZyep~!?zwm;@Q-`bO$qeB0IO5I)}h_3mDiw&v> zd1FMZ=u~TG@%6kbL?r(V=Mx`ZpiddJNLdpY+wZFlS;G};j;6*-a;1;*&>?@rO!>#R zzO;vVIqSOhH$%W!=8`_OqJxA;KFsi5auN~&O~DacFy0=ZCTs=(-~;x9*{5+T1J$L? zb4r?ZX1=96An42zPr&Md`D!;9RI4H+jf&$q7_S$=#pct zA~cjB?kQBwQccl-}7m@O1}*qeppg`-!6AbR{c^*1SCs;l4^Q z8t)zAvE&{!0P6eMD~U(Pfm(1uxM@5L zmL(>}cSaPnBca}9=$WYXn?;3`R4d%H9NqleOOPLgz^nSEe5+jf)q&youAY_+d>&L1 zz5BL0A(DIb*PEf@v9A?-Qg`ZX2jVfDY{x%ekREFoC|{1mU3Sr|iBn_>`OXRg(HdI& zloBYNvSc41#eykM_VGD%=E@H7=Xr}S+XTY2!KJsr)FpWf#b%T{A;XlSwc^fE(we2_ zJUC^8hA`a78cjs7A**s4h4?_7k-Kf(3`%_14&|i<``(k@*#|Pn*oDv?eq?la47Dy0 zP6eV8E~9n~zuO1o)t2AxX|Lquf=b{8?(pKh2pYakyXF z9hzrEtZ<>b6et4f>Ix z?(R=M-T!U)uduc1%4Q5NxCp{)R6()`c; zpe_IHyVpzj`jTq!0 z$Hq=h@e^wFV!EzEj#zsyP(|wXJaPJi3Ks*#%diSZe)i?kL?>UvRGh8ZJ)OPhpP@K_ zPwBhYIMhAuqkBpNtjOd=Z3;<~K)m}`$@6Va9&+CAr&n7(fb&|R1wV9GA2TV6SHU0w z0d}u=gb0X#uPSa=qz4r3qK*YPCe>udaSiF5USFBMEwx*3n>mqrhNVf;~7XhWT}Rxk;yT=(>v@uSpmBVcxJLe;NAWqy^$?3xXUaVC^A|-_2d)YbFB{W7M66}YEc^p+VHcy%1Mu-tFO)G1dlqY3h;ZWE5 z(&pGBLS_%+8?)s(yrA9L?@MgV)^}f|yNtg-;9SWOUVn6YsouTZJUJfKXLg|>62fZY ziI{O#Y+#sW(rW2+IQKwv?*(9+t{Au2@ptoNoTFn?zLlxxYX#R7B-%YeC8vE|VXVy? ziv>S9!WH)J^@#a#U3dF18YX6$?{Qi9&?@o!CH~mcoDI&Nmd|HQ$2cv|d)gw(KCuU? z%Mjo>YZ|4zCu{i9IKYiyJ-}xTgVi6bq1<{Y^(3A8*5x}KZOnideE#nn`N{FHMxzOq zS{Z~3I!pi+YK8X=UT4xGPRzg@w(%&PjE&uwG%3sfyAnt~GHt+PO- zSkUXB>=Z(#xG(z=0UoH>vSL?W955=ZZZ3o}BdJ0yQ^q>-BIBLg?QKLJ|cy@{_d2pr}uDU)SNKrDw3`VJc!TDzV*C$Gh+{TI1mw% zn!62;Yx`olvHPnZSRt)U;J4rH;NuH!o=w1pk0f0*5=~flz2-0{c+m0{j*FpW*Wrs| zCp^mWqDWWCaWIsEfCv{FV-LE}-LaSa8)$TBhQ0a zvvhVR;G_e2qg!^T+;bbBT@g>Hf`(vE0^21+!u}>AeS)9|4;;VSU=%))Ny?v+iS7z3 znXgGSPO5pCfgT6crxvH;kTYiCpNl)31V6(hnnn8Y3L0W1PhuXne8G&WyAQm8EosXo zc)@OS`Fx>M6I-0lF{0A&)cZU0B=Gk=CK*;Yh~ijx4LLOl+1csI(aU-;th!^Uy)n;& zkE8mKDn6g=ClqKlcXBldCl#NlJ*;iy6Bi(vp?9w#ZN!HyfNMp3N!eX&)qk`RIFS$tc}+uW$w7Y~o{8kZe7q$Y9qz3Qh+@xeu4le}!5~(1>)HN7&# zDzHqiD(fg$0S~w10`F1OaVh;6mx@jBaEO`604Ru3Tq=*(Yoz^;@tq>x^mnNgtp9B% zsj(ZVFPLe=tG&!|<>cAJ;yb_H!-+l{zk4u8qIkusFUGtL-(tp)Xa_3_sHCDtfHxl` z4@vFWV+V$X`(^ftWTO6ziDiq^V9;o*baMEddY#jJK&kSKYma8CsGxPyr?zXv-h&Fh__L5rt@`GY#-(YrL zcn48udo#=o#mmwVPA=%=phtER+hjr6Fo~9Vrl;suv&p7E@sgSIQRKyXvFZK4r-}hS z*@ug%k_y>#-olK!RI7!%RHsFFKhZvKI)q|M>hdnXYlaW0;7)W~k1e5$u8&*t?!B;R zVrFL8rDly+ivPPNed!0+6%tUq?CZYJD?_vr*>Mx75Wl!uh9YshPd=dw5@*^ z!s*lpRqhCr7fI#n5yeKwy`^aEFPBnB+gZ!v+6$%NM&*T+e(Ad1&LF(%_|>-xojq~z z&+udAd#pc@av=aIe@u0LR99#89X5JSYWTZ6z%+19zo zd$+70$i_d{$BFy@Ae6hXs}q%!=t?#FqRjNGcqJ}p!!Fg8#_~kpbLd72{lIsr4F8~} z8v7YJ?Nc^3SsVe{apcNnR`gPD*qCk7RNm=0eUzl(#^hWd2r$jJ0W6 z{KJ{<;Ud+d14`6o$|`ip+o<>tNlDg4VX7u6yYFETCXg*B<*6B!xy|*}<0HQPVUl~W z{u`v<_x9NQpIQKaS?>Sx$#_i(D0#?_NO3Gt$sPK`3^Q7>MFhSy0DNN(FLqz3g1A{q z-xnK9H?WY6s81U*;*L=@igm0eXo>c9BJY|GeyZTm5UbuaJ~IG1h(iTK{_wzPfhRo0 zNXYK^(n7#1oT=~h@94>&fW6_1F}WYU92`ReoU;`%1-a&v6H@i@lp`AEbPqkv@aUL# zhg_VcKyU%G7w4j~U$_ecPV0RNSMZ{fE6tw1rdn*&YI#C#*GJ|2Nv6Z^>-|>aN z33g(XhDc_tsWwwQjhtQn&m{b1;Htrhx{fG1yC#l^#e~Wq)Dfqd-0UG_saxtAT(Qg8 z`*p?X5>XVEqV)at4Awgh4CW~C9MmTc+@3~c0->MrUqImkyr@oXMq{Mp`GH0T+kryvXt*kzx>!M7DnQGYl4A^VxkiZ% z)YIFAxc11dM=K~-nuiomY^9qEIt*Y&n(qG08)M$6x4Qa3;CKCRb1AO>2WB4sHdKyW zmklpr2iG6wu3J`7yEDNuwZ}}ml&ex(IQuT%F=@sI&~^t9nWOa|zZ)R460K?!KT_-Q z?pfstb)?3*_wm7q-}%bJe5|J^FhG`X$wjQf7Qq#-+Qmc|NAHHX`Oi_N`os;t*w4)F zii%Y`WxD6?Q_w#n(BBWe#QLPHqBcT}e~|E*8N*_rybB{Z$5|XP?};2LxS-u?SasJwn~rpA8{7tL!v?sWVGa@O3v;Qf(H4@4g^)js-**ZcH^J zsZtfcBDrO!^jA-S$5{4~ej!q@qRdcmzPzCMxA%E&$y%i^>ZYay$xBdjjpmNgk$Z2a zE4*<>d9IhdBEHls-Aa@rs@_MYY06ZJ)__l-V z>e_10=oRg2rvJI zZ+GH?5+YYr7EViKLxa$UQHzBul}w6*Bp~d#Z0bzr0~9LhgNX=>c4H*%4ss7kc(lLN z@?1$?(jMp!P-DI4=hI&IJ{)8&{en1zxX-R1wphu1S?}DgldfJX1(o2kH2(Q!Q00jO z&ub_pz;S=ZdXW1U?d1>*4%X^u`NXH>*^JLE#dy|FSEaS3dK(PF={Nvwu-nnsR zv8C$xFhvRc&jVUK)(G0b(y_*9(Ix7-t{57tfJ+Y6D3vJ-d8+Jb6%2!3w3oi568~k2s&rxO2k`s)m^UZ!Ib_YJX=L;%^c01jVI*g#RgfcRu&p#9~to= z)wBM%%Qw>8GeGmf4TmP$b)v06zPnx9mXCa&Zd;yw3Gz zG|*H_ZQ>2RqSH1=V)rZvB7~QzhXyWn#x75O9^5`*rQ}yM_P&?)Ezw zOaLnKGwM{kj@|Qu9*!FM0!C8Ckgl7b_yUG>j=rDt&En%*yPkJS-B7{9%DYb7T^c!a(a@3?lK5at-tK2n3X==E+tH}d%G^Z zPe<3j?rZRGSvkB~tBUke1<>;j{3DOZz}G#WhBF`!D$hP@%#fHjM5B2akl$Ly zdl1|OFyfGtoQwz1{1$G)$Bj(e`^De#Esuvfk%*Y{PoLMApU%Qg>TEnHL8m&8)U9_b z8H^s5F+=8rn6g;$hlShiAUsIOtpCTAUG_B{LK~s0-+7|FG)GO$V}VbT@4Kbmw(z@L zu|6sxw3_f88?hcGyw7ui*XyYiIp5&I`-D#YCy?VOGSInMBr?zwA>kxDM@Ql9?%ZF*FS^JEpJ<6=Kiy#N6QR`T z)qK9~p^q{xwWcMjF)3 zjei-7Nmk4cE|Eqa{Gpl#+YUOOmw}ITy+GN64CxTydfk9C0;la)R;_HloS&3#w|`i= zJ4rD|dBFlet3Qn09n zx(PibR5djbuNxQfyNFe)*Xu5tddL|t%DsPE1UQF|{XTYcrx#@O+?5C*CA?j=ZCPCU zJThCMQ$U+ikmlw#g5T7!o9OJ{&$orLR%pV@@5s^o!?COE*mmV)y26tdkBlp`ZRb`- z0uTRwamC{0j7bMkpSSmh!n-vELiYykW%mmACFWGGz9c{!bf?ysGfZq_<96O+r1P7* z_1vmn-|ezQiy8!;7uhe~Ez!A-x19?wPjFb>%A{SARdLbrx~O3rwtCxvPaX9is&^f*AZu5r9>r~{mwsC6Y;oq)UcNnNr-vc@3>C`~|l44mGak>|lg>=k! zLi_@8IrlJ!&Bw}JU+uWyAC+o)(LW+jQcRSD6t?;%r)*39|m(aeBw5EOC zs?b<~Mx)YnhORCEj-GD$NrRi<@MReGpi)-wD<)`r00*|j$C3|n%jo#NB+-&1mIU#T z!+v+SR{s(Ik!fi7BNj$E8JLi--5QK~rS&byKt*z+XrJmd}da>!|T|F5Jg(qmG zQ__~Zew0?$9 zm~%(gG+{yj6g-0>WDjV5b^3!6i>z6^Hj}L#`M9N2Y8l}0VeymR_b9Y&Kwy&o*9A0CS_sxo{ zeBjFe{UJC}0GC0^P@}H0b0ld)h_Tsw7IOMCGgV#RnFUUy0Mw;KVu`wObyDQB|v&_j`Al>He)WiP-i3ib5! zgT&KLErM22?XR!NE zv^uwEFB58jW`2QW8IBf*{Cqp#aZMDwGr|>&l)hY=yEh+@@o7G~U2$#uv6ZNB4BI~B zSS`69C%*+5K*t|`zCRq2io@klzR$|H{XbR304mha^0gVJL%SFa14i$zC`>Wmjc!JZ zJmM0owsc6fMXpaY?Nw73_DbxJJAM9&JR!>H@vd@eX0YZ;r#MufzmlXJC6SNF_aIOO z#qP9v#OXU6G;z~aIAnz%@b3vI&i7{9g_IF&N@&$OZf`j*P{*#lPYmi*Uo?7LsC4kM zFI`Y@C~5^GbMH*3|4en5ScyIk-Pk8S(M@aB+LKR^y%~9eXz%s4IZ%D86z{9p_^GmE z>rKAMR$+&(rL;MzBM0(=q^xAQWj|CcE#3fLGi@tmu?IK9CWto(FKWLG4Y+ zUaX;Nmal*IxyLzuL7;gQ`t75)Dsp?ydzo(|Dtrn|fAbJ*VYsn=iN7KL{us)lx8HkQ zXE$UROzxBy2_;q1pT8sYJ7-|$%nIAIy0GRQhT%&g`>AiH-=}to@LDY#KhTV+iVLf) zPqagmp3Q~#qPLU0@>dV$T1L=*AY7a6xYcsW2i=~{tw6L17VP&cSG?|j`Wi1YAhWsF z@xIxPJbRZKvl*P95J_v|LbClu=j0e?eF*hQn4__rR}~tcynS=TrnDD6UHT53@$fmM z+9oie<1G9vGbM!;I<9f$w0X8&*rg5abH-x^quE*rv+U05V^?Uek}R6|&07()azefH6li#pYs_1yQ^4Sta=#KMnw;hcptp#e91^kv3df|M%hz@L zI-WUIqIGbzog#Gut=rzZn(vyhEh}W4cAX^8wy|jfvXl`ijfNqJ?E2E~vbQtlZ^|*Z zqoIo*0yeIT_qBy>WwwEVkGj08?+rC=YplFqejG*K@eE;%9x~$)`{Cicuk#V~ z5CrQ7v@kngOKfOYVc4znL?ZN<4*t6)Syve*WROycy)>#Y1Ap;nb0=j=_vQum!J9M3 z5Ot;O>e@Z|b`v}IPisFJViJXyRdnfZID5sDVa0{%xtQ^X3*S#h$RAEGJd`}{#?aC? zI*6<7RlN!zIZBehXa(*opm+;Gi5%hGu}pw~jT2^Ef9vTcpyX_B#_)PN4cQJD^IR)g zOP&SVc(iW*!qwt<7&0Kt>h_RG|8Q44OOUgeftj+PVvL4${kHvy#|E+S=_tOTEy2sN zhm`O!)0U9hFY)6QcF3K<@NH9GJ@8GSvC?LQco5_ZFsNwf` zc%5`-6dvYmtbs&88(x6e$xFI%IjaG=<95Vu?XtqP>LE&(8ng=+36Fet@9qycXV7cH z9BmRexge&U%L=b5-iIKtopn#>4FZCO;?{ZQVBTM}`24V`Z%wSke||d-vA2?_TNM z#Nm=_zk?Vtkkg9(#4rdalDRn_SnGsh_+}_?=JLioZQ+jcrBb?h?=7dSR{@!zkjk6I#-E;5;S&0%O4#>0H=py& zX|{lV55DB1P^%N_!@JREnW<(-v{@#DZ7G|O!V}-4+R4$x;1n}(>&%kTjML{GMcY@Z3tk^X&f1pgOVN!8jOM!$zW;!FJFUB4 z>=VUmmO6e1RVi^PyYuVl)l^hY%ZFt-CUFM|6`=Xg*u-MJKp~crbd#cxx9vje-JPgE zZx|vE&+lqHlwuuJJWPbjbjTHIsD1SX!;}3)deNf`OxQHpcjoig$j5W2>Dq*-!gequ zs4>#e(_da*1;d|YO2(zk;HrdWVd@@hh>lxZk1TGTMzfzr2t2XAUR?R+tCy#h_{Ef? zW0+u($eXfI6v8xtyryD4{r{g>Rwp;rPF}%JwBGMQc>Aw^1+%NkYgE*)CaCCifthn*1arV9-TB8&<(DLM_!oNq`>7kIyH zX>|R&?BaPW1uS2ag+iPActWcB#OEcu2bkjg8n0zlP$i1cQ>Sf$2G?V*Y4Y!+KTHlv zoX-+f;l&Qgo_4-3yZ!Lhf3+>7=v$mQi@7AKf;i))vi(*O%O)@CxTU$Ma~-I*_unX7 z+9)5^u?4g%^=QhVLB0=~=E;~kHTosrN-KT&3>=nguu3Xx(F#>tD{%_LS-PlSt)zBV z1PT10Ua9$6@uSi(QBiBbu%z8-xT?&dhc+6Q1f}RqqsG{gQ^4u#-*21eqB1~O*CNkY z589wkQfd583QHb&T16>zzFHk$rg*bB`wNbZs;Hnr8MP{naG2ld=o8(&sX~8h7)%sq zS_ngw_-dAXPU2I5qXkqu7&#&PUzaP7>8nz24M!U8OofI4I-)pMNl<`ZlIo^SjUkHq zw8f=c>7Gg3Ozh-sG=i2KdEdgjtLAFc-3_rS`*3-Lc1a!GI|21ID&HOQ;@_yjJ7_tU zx-*+{9Y8?7y_wS!xyAo4w)GF@E%=Oi1IZr!OA_?A`?yyZy%!2*@2lJ~@)q>*g^P@g zW>)-7*1OFcmK?d; zhq9WP?xohFDtFy6j1a`KWEJP%hc>a_ZM&o`fkK{A*lpl6>MfBd(;dt^;fwxlgKqtJ zVZG8lYf!2|TKChd#PN+g41xto1UJ&8b+aJ8e?TuMB)vDFc5sAlIR2`z>pL8-0gAH( zwuCZPRZn9shuA_rhNEpUh8*@c9_5=&40ftZWsDhR4D#18rDTV6UTmk_TRT$;Sl7(! z9Y(!7mDM*=18=nMcyb8chpwVVoUtfc<~~{h$!;JSUrskbiX=j=YP=r`5NdZd-VMv?I!<@#tNuzM9;dFt=1rJO zM`wjjLDWWRlV*)B6&BVoyJz) z`(h1E4j(yh2f=PN>53P{J9a$~H3AXR5Nq0g$^QdQNHRo`e3?c8{F+ zeSW(&KaYE$L8$EQSkPrHaP&Yz`tjX z+bb5p`>4oM`^eJ+>H2qqqvX>KC?lN2R^CtAT*pLLK^#QWqVRdmRTdUow92vx79mw` zL4;tlN}T$}I4{I7$#c$UO1nf*+O%}QUhT?R?@B=08a2&dXX$%fFEsCkFx=-C6hZ@; z!bDN?aqPd&7|-1*Nc#NbsLM+BfSFw45``i)DU@3dkR!IW>|FW)2oOZ8I2=sVp--! zBP2a(l22>Onv!X3q{`Uv(>Bgl&jwaF@2F?I;#Y+@XT+kvfp;|{)BUw5^#QH>S@yZj zk7i#M2vMo@X6RuJWxR8H{cCQk$Zn2JN~Q%sOSi0mpNkva!b%b4bUc>` zzKD-z_Tq+!dwwi`3p;t;55U+?nrWZ*oZjEZ?ZaLDcZU?YqFjHs73#L8P6-&{mOw;@ zP_dr(<;M+e)ruc$ApST~i{*W7!crd>NEb*^E|F^QI!40U{jwlRztOK3)e6TLuf}>I z;SMI>fG}8-8NHsLQyPnTssoyp;nKH~Q|f~8vISNe)&lhDnWLk&+E#%83n>wtHt%7e z!FV4Pho5=*$lz&)T(RU$WvqF}Q5CMR>oWom)_4L=v2;x4=O-$n+07C~rxK6`WRqh_ z{b`4@y1VgnTs0f1vcbXT+k0`sNbJ`t0KR1B)LiReQ2m+&43ZzSw}YQD5O7vBeqP&_ zPlI|!nj-Ur5)(Jn544(l?&~f@4t)}LSk3@B_A?rmWt4eF@~Ss%QbeCD^*84clO^eb z8tUnsCCv0%jpnf3ooMFVysval$dJd%--{M8+H&LV z@(JlIP!1#AVK(}CXv9Id>Nzy0-!p634bR=z#5#Rgt#j)@S;H#DF;L>UEE~daWXE&( z#qHWT@>w;upmiO2SHhmTSbdjNKBukSlUyBL*6oGihy5B3PTAn3WSoANR8>Dz3Ye7Q z0xd1&$ID0F0)(N8ZbIk~dE8B4x~^g$Bxs&4SP>C4s`)N$V@~aeMqpWwUJSHlx`sT@ zr?EVH9W~=?lKb`HIyUX13?$M}v9hV_9w#D0D6~g0!uw~Av=>Sm0f&4>n+6Z;v>-D+ zX%juwk(}4iGz`lpw4@biggJFKP-&(7jFhtOO;2b$v?6K*sRt$=jE8S$F`!P|a^fKN z;srh;m2O+zevp)Rb`AhD7KwG-uez)bu4Rl>40cR4=->8adMBhqXl~(1J(R+2-r!x@ zA;-EM7Qh|?q*=|m;q4;sG%D?l{ya+rj(L+P5)C5@vK7Ul7GaAZV(+Q#?nT8#{14N_79soouywsCbn1iT%Pgc zv|aPVyiS4#^2rNq0A?43r(}CZXYsX2+{yU{x!Dx~IO#5&I{fx1=yTj?Fopng&aaN( zG7~3HvlX99+loK-c!JYFug@$Bi#hzGZ~L>XsGQoUp2fOmRW)THGu5y&YNhbVYsyaFeJOMn4B=jD8N|0;Gq4Qq`yyXC#~_B z?ayoPBm?;u?r+){_Abg@G>M%>ra?12*{9edM%!NOcO9&d<{jVyd)c=DV_13*R?qP) zA@yat^W1Fb9HnB2WT5wf#J0wdO58BO40rfgNo7tP^QtC|kKx}xVEf&|$$7M&ePQ$b zCabd`(_?3{KtQ%ifRAF5<)9FmSY3lD?AHpwVAcYC9Flv$^(=x-+54MIQ{4DQZ|Q=I z49fJ$@^0^h`JTcUZ!d7o;oDlUF-DQ5(X(*lC}?6-{|(ix#C~6~v|EkzvD;BZ@WeW+ zv=+{uTitlAZWx7xlP7fqO+Eoz+v``0I>?ghAivI+xRGixD6F8%G*vXE4@1n)s2!!C zkNAq2>(uan0k^f+?~eOW2~Tc8f7Dn@4i~+4{P^m5gh5;pO$gOLslE0hPn}UCx_c~x z_KwjnSY*@{=g$R&N}MdcPFOtoBs;uN@fHbFhi%^V!A6V{c;8jIT!~Z%35|Kh{kh)H z)d5zL0em38^H7Svs|= z^s&|=s(LZ}p6cEJE+k{)*f>XBkrV3+`g`bNGW6#EP5;4T)% z^qK|hK_C0)lyp1g^xCmdnhK24Z7FaT_sVrIstQV4qk&h6&^%rC0 zk9#vW0~F$;_Y|>s;aW6+mFG2DcV+Ho|C&kLzOu%&y1MdsYSrE@wo{g;QehIqg_YOFj6RI(v)l3g^piB?d4&xo zn%&7<8vIyh|F;H+wN zc9i$umRsx0mQ-WdRHye-K>&Bf`TG?0B53Ma?j;iclWWW!_|PBA$#CW^rFo392Y)}$ zRJOCyGsD`_UVGf>raF%cb6%Ulr5iCx0?r)7?R)k+^J|GyAjx#7@=AGt*&XFRrg~Ns znTRJvkA@pu_1F$IiE;Kxa4tCNT`6?o*#$f6n8g&H+5BLi=G3Vh-YPr3!)5|I&DV59 z3)}fKv;0b&_>a*&q%(6To-ybOoiU09Du%8NOG|!C(eg4U&6Mpibs8hd2*S}yQq&oU zQY+Y(6=i_I@ne$;T>=Pwksrbl;p&I6@Cna)00o{w0N>{!e=>~kqks4x27ih8Ho^MQ z%mz4eOw{hs{rL~9PtO)O>a;KjLENz74r-O6(~Q5A7xNRtVwBWE$rkxu=X|2ai0EZ{~qtp6lxiYk?K>!m%A}W4?NsCWK)V>B1X# zUc955FgoUGhevtKQCar#S<1E@=(u%u+dr1jq{}iqHZNCoKxfqq3nv&6Uh}IA9Cx>i zg}wD(EtNH(r2?HOJUz=_5gViGX?KO`?n2>GT>-c@KiRQ zw*b{)sn6GV4rUV+XWZR%Dir7|)4bZ{qgniq^+SW%9(n=E2X7=kegh#XagQg4ebZ(< zsoh&4o2-Va{w$Sh+<9tmaJ6ZlOi*7rK*{>X1gh>%g7RMJ&*My^&t7+w8STC?sE!Y`@3sA{M5@EwndHZMk-@mU#4_rTc3-h5_qhpAsVpAVU% zh{@^P3I*l{vTo~gyHw<>+`5cY2~Qimnmirg(gsZHY@e%xL8!*=ej+6H^bjrl;#ZB& zx=U?JORZc92-vtB381C(c8@;*e$EC~&zD$xPMik0h)8nRhuj-du*(bf(QCX41;X=0 zC7G7=Xjq14_ctP(3s6u+$L(P?@$%Xh+4RRd8UYe2Rx{FhHMXaVRTnL{D~0&0gE1qz zF7mu}rijKrQmTDID8F&}KhA`hecv?h(A6pQ+kP-!(^scP)dM*3i4X*~{#XkGte*Zy3M>PvjoE*;IpI;mq^t*a z2c9A#-0z70M@8itYnr~!M-nf)U^|u9SS@9_uxZeTtwJ)?8Xk7o`TeE-k{>t`F5zyT zNu_K3B~@VF%@4LgK*B{O;eEA@dQGu~1wP`oL~Dou`U>6}0X3|lB@)hxPtj|2_p{j- zR4T0yTFhmvcRg^#R&RY%KU{#Go-Y~4c@-Ok$LfIwv7WFmFJu3=n(9GtYva&5Bd{lI zv1cje4u-6f6DLy3g@cG!Lr1bBjk2K4`+2o@0jbHKSw*5IT`w4C#Ix`&%0N!Pa#j2j zjfi$@oNt}}BMpr`ZBPq0Wn_sgjl0X@B;W;w9)JdZlYHqKp4je0lfPk#N7iHy)H>rHLmY7bF zdhI$>D zfKA-fM89<$IYwl1JG6!@S>9xDg%ZA5+eau;g@}N%O}!LX^a|kVYli5sZ^j`6IJv{m z7mEAfMZ(z*p!Nd9P@$i>BJ$=h@*sdsj>U^~`4%QJU+Rr5?yj{>Zbx}@F4`pr`?0BgT00uq@;pCahua!&7N+94sDoq&y9xi1(+&s^@e;7SKDUaelr|W3aJ;L^Sj0gdb z*7AsU@^F)keh#lqB5ZjB$nGnM!MG&<7YP)OG+KR4-*-1UqtoYGR8TEVi`?7nx9W6K zdj$AM#w}DiZH(44S8GWx=9-j*NxM>GJ>N>wrI&D7j*@|aVTZhsNo!&e{glMV)|RC5 zEfzDl${Up(-`r4DV^Z}$kJoMEIA1PfRZ3QjcuuX;Iq#RTH_*f*xG7M8WSr&baEdUp z2)@4!rysi46p05S`8yk!aK^*kh8QC}24exkSdsO*$+JG%Wi_cbCv&vP>uz9OmZxtH zjw$WDD*33AR*2|KcyD&wf`c%t9?!TajF*5i168cnMaO~uudFuma5a|1b@~r%em=-{ zI^i)6{70|~es>IS7HD<-^EtMn6B^r1LGX?O@M@ELt?p9NA-k1;5`q}TjM2!)QzYvz^(1i;ogPS?+ZTyk)T>yo&;G_nd5^HDr*8FhsWAVn_%HHb3d>Vx>C*LLy=ua zZ&5!!pFq1ey#Z1^M!2}FM~y5gUttKa&xf;*QLu^DI79uwjXcaM*+Aq)`%U8tj*U+1 zL4^Fx!Qi5zKW_~qAYN>y@rI_KYc34GLcb`ZfZDZOI)Bj6y&G@$IjoG> zHc2gTyf&QUrHuB*+y3^|mFVo;?A;cn@B^My1`(^?k(8$|YLMlRp}W@upZD{7DuCDa zP(K#2O%B+Fh?QZN0RKxWAi4e_bC!a#KzYUba)g*d(^I!M*cigj9wNCzmE?_S%x7da z<`v_Ty6;35#{aLCXF{=lb-_a?&F~JzvBRNtVKByns+K4CoH}#g_kUyGt4kLk)4!26 zb;2&5(v-KT(gkWNVavSAywQi`RU>teN^0aeiC@L%qsMS3VX6L(vW)1Z4oIU~tG06Y zz=}lLsQ4S+{U-mdH) zSs91n%5)M4go0nPyLT(@fn8ac80kbUkKh<`YGb?3BWSH1SeK64kJR%Y=)}N*`W5{6?QL zZC{=}_HaK_g%s@w8s)}InIpAYB-%IoQ1d*YROl^HT`c%L;>u?y!=E(`}xh3Lj79qiR8CUbg&lERm-2-^1&QT_i7DF@=ZZr zlUohDOXpp1-dswIMOr{3i8=2MPeUU)m`QYnBD}ibUuBvkw5#l9G+(}H=f9h*8!$z_ zD=SQuB7s7JIZym~v=f)eM>&a=kCEsB34stbBG-9*N^(k`kc{&)uXlmxf zE!Fy9BL$o;@vlY=#$m=X%s&-sRcv5Ra~jye>QA>Iz09%9CiEw1HJ3+I|MYnf`Ov(2ui-#Vs3hvO zX1XA;1(>8MJE|=^#Wp0__}^;Siy~%zE2^umq(UqdJ|u|@EW%hY)F>f#mE%ImA*fLw zgy+?okZ{C0mMg`$>fxoo3DzlIEbS-;laxyp;;&kuV`AEo5|#7DHNA=FJj+HWt&Z%~ z7Fc+la#y?(&_gyJPq`MZB-68Y?IBp`*UMi!R9b8uX2V5RXY+TOA2@7G@1aU5?bW_m z%Bha%vmu&emx$P#Nh^5=Gk>-wv`AJpRd!TW^3Hluc9-IaHzih~dnR!ys4`@4Cf8vy zP7qmKK2cGu*~gMd>%m4XT{~;9R-z}hn7M;ALcyk->U$^FpDoBqm`572Fjq`}HB1qB zH-hoI?4Q|xXZ^2rgSDwc+$6U`{+``_f+#|o?-gIP)ask=`9YiSPkcc{j8aB3Y6*be z5jTvLt=69W95xrQ=h3^6#ghwbkuwwD!x53Mo`(0nimvqMyeey1r=@aSo6SFM#L>`KCEDlPN0vXT|sk1i3=RL4s+sKQ?pewUy=y2C^(9Gbs59$&F<^1UUIPLXWmW9`cTT` zre-2pv$0w1GZfVbld!lirxXT@MbUJN*Qor&+n@C?b;RvT@NVGpIQFAon^PD=D6m|} z*FI!SriQ7h6i*gZVtL0yZOSC~4WyB66%|eYh^o73qoD~`77m7&tx1%b!AH6e^-vAS zklWL3;ycee$dLNjriS;npJAPS{%54LfFaH&_LF`TT`R@dxw~^n$$itIOHe;QXqD_8 zTq^%egv{0_zIANFRAGV$IV$YDo&yyz?ghgUTjB5hC<%BhkqqD=eTlnGx?9BSov1MM)*Lr|%hM1=q=5EO z$eGp}pTgOaEwPFcViX>9m&b+#n zh}CuHq|N4@h};6F0!uddIV2G5CrKVH3XI=V!jmE*7m0*hPBaOyEGE_i{mZsY;}mIX z$LdLDPW3SRl@Yos?d_f6nVJ=9;0;LAmS6rfdklk&AgyJ1_zoUthb;fK6uJ`;gF!nFKbZy4|}3{A2Xvw@@%K zxhBPEurA z8roc{x(-rlHmj;GnRY%lK0|8An{UeE`(@fWd}fM|f+@{biF=^9H5$>nUI?ahAfio_ zJPz|(tPWfBYab;%E&|wHB&5=Dnm#lM5L11K`~!MJpPmc02w2Q7QMCXK^TU=7iXJ3M z_~VUNK9pUYV_ip%uYadqei;Mqb_&*9c8~=(Z!dEBZA2)_dF41LFKxJ2^miVVreHI@ zwglcN<0*#KJ1F`A&aX#K)3$=p`l3+XpblG-p1Lu7Y&1?|OO{?eP|WlxCi6qjO2i~* ztD%JxGg-Asml?_Mm@u0mD2g#r`JPKX_O;S*A^)tGrN_}P#$H;~P`7j)m(;#pcpY}s zYrcq~#7|l{;uUP_c@50wIiyW99P8G4yl$x>LI>r!h=uOHcC_IU+G#px5GsOG7t#Bc z_{P_y4C}i->4%?2WLPS}(r3Q3m0LoV)x7)yb$TDbbA;g~*Iy34&#{G?!(z{KVRY}^ ztUuD_8e2Hwa9od>iuSAE@#4RQju=oPSlKzxz7gp8?Jo!hN#O=os0RDx zKV(B4?%m6{xqd~5${mCK9l4aTG)BP|wWI^nYv;J&y4YoAVu`#06m_|o(_s&6(bCuA zwCrGuZ`tUk)`bZ&Tv4QgM8ACiqgc^~=?ft8ZKMF?gQ}yQ2L#dQH=1VJ>_t$VXgps) z(vqQ|Y#_O;1Pxu5`BIiq`Gqb;w%)5|=MQ$0OaWVh>SUCvlR#{Mq=mq2L0PLaL|P3Qt4kc5PUkdXG? z)EHyVG5=<*eQsiX-&^;dHU8O+Isf_pYwff5K4%|p4pyV|8l{{HhV;iEQpkDI$D;iu z7C9&P=-Ew(Q8Y5kqJ7Rn0-M6r6{Ce}X4^`GQ6Psh8k;GsL`&TB{rGpAth zLMSygoy?KA5#aLe9;=ib%)w;C(aGY&Nveoscj9PrxTUOK(4+a;Un=jfl|8+(9+zd5 z6_lROsxc8hoTIL&r1}RB>4`OfAO|ZEA-&0 zeUSGpSF}Qw#v^eMA#~~FV>yC0&RxUFHCzo)_kC(zZ0M>T8Zy$FevO=B&(TXX)b$)r!}>yH+4mV^W6cESF=k}jf58;r zz_qltD|=s0_Nyio<@MD^NKP(cw2M!Z$mkJbH?RWNgLTzidiL zgJm*tAJqND`@mSGnJ+r*c3L|i3a@Y*if0;RgM2yKn(F8q1Ygg#59>^&2{;#swVse@ zs{0EH@8uOwWbF7NW3Z-oSC20%V|Z_zSyUdX592}%+%LDw7$I;_f(&A$WjU}qL~!m& zRG9lg_Lec@&C?wVblYjt)ruNpJvaJJurfgLuT{Qub->n)zXDT z(F~w-kMt5@p!Zc_vNX0S-h5rQD{nfu{KkdXET6dcrsW$>J4VIcj3-%2!`vwHpwi`Y z9z5Toor^9#?3A{dG|2oW)it0`1+bctnKwCn?v_}%0W3$Z2;^j%? zz({Q<0^}tJI_>_-7zL4wWp_Hs&~72MbnTIj@+OL>LmEk+$Wa_d8RKLXF?n{nJ8TP+ zM|EOsIwL}M(r0L-9fV9Y>qvHpqxB>lC4*ZFLe2nQ!rSwD%W(P*{7>p~qU%%iaA^&%%DEDl{^aN1P zn6O9hAycaYV@!F^FPf7lVkvf zb~7p@eOU_SfkO(YjI`rOF@*VSBe5UT4|2^tXN* z>i8EUGW9ZJQpS)Y)gz=S?17enwCiXXqfXWkj6|G542=57l5+B;SNeuMO-d=d_@?wJ z?giPN<+Ybxzx=_czksJKcqxp!L9g{OlNh@mW*qXM`nd-9mMt zvmZj(_~B7nnXCEf4bF^X znTm&m`qrtq1y<^?=mp?0Ss+q%@B; zo!q6hb(jvrCqvEKdScJBgWl?Tr42C=rfnG{QrM7K70}3-3A3PCFLt_m!zel!Jd`;Z z?N$hNSv*Z{K~9iZ>$kDa;Nwk+`$2as%DEp}p%YKX z$0D^qg;8^RC9qW#qdZUZ^E_##DW~Of8uoTN`(|0;PfbiPY8FrP z>==*~%()K=vk>nG`S*ODU=#}GkF-ETN& z$~{8iSNf++0}q5UxBVq;uz|;yRn-^f^_fNRU<_b$`C;(#*{+z12q{SD;lqq6qnYh` z4koYfjNJqfY@Wp22YWs4xPr!0nl_kd)q|WMO*~d;MVQC)#HTXBFseiLb?p7HktwH* zXyw!?*{Di6H>mf4QH9Z^E(DBw+2V}w5wlJ(_J`u3=&`q_iK+-kmD-4%tR0p?xsK5b z@2rNLW87cXIPBD(#~XFr$(ay!)O{vY-glDvd9^ZJ{4nh@BW5dXCtr5P1$iB<_WD_G zR2C)5gbwI1%n{*zRS3UmQ($Y4`CQS6xxI!S(1W>n@_nZGsNZo!eGwb|WB0qq4&lGRqUAI+DJ|wLY&;MruQiP(z770 zjbNas9xpKP8xYgM(ZnMAOdWAf%F^)V>AZLCrYk&9nV`)R=Q2(F)1i>qGW5>-xwz^D<=X z2ri!K8Myy2d}53Ym^~YyLJPx*i5L@V_(`1;VqD6M=AtKK@KPni8r>0vcYZFA3(G8Q z?(gDv6r;W*BUE4(=R_vX0A5h6y%3UQBNEY7H`s8@5-4DpJS!AS)F{7{hq}bzQ}EfX z(B{ON76wsQhwv$T(iP7R`dA-uWZ;0zxq~Om=`x0eFV*7L5wO&YI4Dza2$$Z-^ z)c!&QF(LzpLQ$mU)`2KUXV`O}&gNQoQowg5D<}I(s~qeo)X(xWR(BfUv>&uc2;-dN zm@qan6K~pWHqY2C)}=DyeoBf`Oxcn?%QM}osv&-ZZxt|=-KSSL`W_E{>~)1EVv+nu++006SKgos7pJWaqjgnZ7{< z#^YHcnN%R;Y@q9M-E9V0U*7;a)kaEt5d=f6tEz;1hl=R-Loj6KZ3P_jndd}+@N$Wn-t-mH& zd@(b4f{EQq%>Cqj5EIOaGNPb6AS(-K*E2#z6D!mDm9iUE6BV&4i?k`{I{NV@ z3kq^MhF@-6Xi_%DG|@)r@xNU@t|KC7))8*CjXQOilW%A%EcUB`6~w&C&*2z2e!@5r~5l?5no?9o& zBWBt+f~H)sx__Y7P)`W0^g1(6({bTrJ7~(ZD}-(HD85bWuzpcT%&-r$UJShfiY#Ym zU2Q^{zt%5!NB4Fy5!pBp(h+6#(kI! z49`L%dXo~1IT4(p6% zz#vN{dTMrC;h=Cpk}AfjH%dKh}tzJoj9o?Y6I#jVDzzjVJuGDuRWo7a1xrQB2(S1 zH`B5wKo{n#NwRowl0$ge&sfoEuKg;`E_BEI(oH~$)%63N^h6B2AF5x9^vRx0Zr5`Z zFswJ{z9O6pO*!u~zTXV@A@GVywPBbe!uJ_tn_tGe9^U}^y1Q}pDbqNc`RaNxUmuGx z)jqVoTF=l+*1D%hzd`%;?H9xeYaJu;e4p_Jxch#S%UgUYqZIX#h(WhK!{Ev6!l6Me zL~5Lz&f#r+n?@rfXUyjJ4>0)q2IG_ok;({|F!j>nRQH!$Kg+IWg-J&}hhBCe6zqj1U46@pXzO% z6&(|4Vn5>2tot?Yh`N3&K@E}$GF5pUd;QEZwRC;LAVb zfqXcr5@>c}GOz4vL5s^~a!O1iWDZH4jM>k2$<%Y8*f_uSQ`ajA=g0H|(gla-K4ALN zC_PUaY#>SMuv02(&LQ)H;vvM47gGFBeI}uvni)9>dG;8JY(MNNi#WW+)Z}1}#5rb= z0!O4Za)zH|RV72RM^4qsaQ-7kA#2PidiE@mr4os3;gWK=lQ?WRw^8Tb>FpZzgull0 z$>74EC{A+=2O$$|>5^j?RIZF|Jqk|tF8*sIC0*51k&b#!LR39*C}Oh7mqH{-p3uoT z_25dL*q@nIIpAl^YSKDMWTo#0_S{ti2Yn5bEK~3$DIonzt&AOG$n*-&CTD3uWttr* z!d<6~8A_jZmEU!2V3(UiPObl9L^oYAMo0$It{PJ=XUJ0RfdgB_7n^vPJM}=0^-q+x zg-&%UVUtxr`o<(AC~LR|cTF$~4tvfiJkpQZHJng&A=`|}$BKA#EKP<|b{d<5>?=96 z!#V0{v6hA64x8vx*0_a?X{Hz&%{4l@46^lyFhcU&{i#$$rv0I1TP{F;-F;n$O zfwEA8@JSUR>>6#HGNzm;cRCF%%M^lD(Xj}jZn#F|1dm;)a(V_TlG#1&F?qs;0%Ox( zXt_hhLk8*}+%=}0+<{?_3WAfGURG^Vk%Z~Pz7v%(7(~>`V<>A0I@21*XtMPT26H_1wkE$!gz0T#Dv4fnn@A>?V zdI5t^W%xv|d$xl&6!RlS^+Zq4dLo^k_|Ta;9JZ${NdCTFl`#~7*h9%mu=h#(06eDJ z&%w?7I8;_bfd$e*$ce@@W5Slx&ZXeoSR3QDP|&G{ILB)eRD@o#Okua)NIQRiHzF8z zv;K~v=&58H9>x?HM_s&<5p#%UlZ$f*WS-8^0nj!3t$U?q;!{05nGZv?1~MmM_w@5L z3Ug5NO}_!?Gt)!WtJ}Jy9)!*jj*t{EVR_j*uwKc{!Wvt|`<0s75XIxV%;&Vh;At2& zPr42YX~&c465X#s4Po35rl1!S_$WsO#BS+c!3Q}noMB%eetQO4xL;Dsi46OXYvF4x zOK5i2RE8LMV!b)1!MP`0wQX*n_d~ZVjY&K>B_Gl28FQqG#tz-^)JJf5NYy0_T6b$g z=0ce7Gh~P(@@X6nEd`Xe7UsZZ8C!e?xiQ8~HC6-br?j$jbwUn4SgPS5QZf^6R{UEu^%zUcD`w2qGiMA7E=oJ|6I_S$IaS$Omoi~*CLj-k!AYg3V|3fd?dLk5l z<+TzjYUH65ljt!0B1=ZAKAw6u2>oGk#-yH?uVmWs1R`ENsrii+tFmq)PFL$mgW^+A<98DI zAvRGCy<^249}B~)pEdJDOUNAYP*hAu^~z->YvyII>!juv_NX9ucb*wzemL!y>~4qw z1s1X#$g*d#FzUh}GD{~@WYZa?EJBXx8QQRftaw?-g*Yf;MA|l~%f4_Rl1Di~HBcr~ z0xu+)jbe>Dq(>r{P%2L0n3Yms?n9u07#e?c3laf*;N}rgz+AT#7LWN7d%k26q<^a?>ryUG zXOhRZ#e9RPr_-LHBFkJ=<@S4dByaFIurHr8;+4qCs+`&nCb1=DCrWhW3j2M)HKME{ zCY<=95m6a41`XI%m*qfJ1Xp?U#ACuqL>g zH|I|M4jxb6_ZiErK30i(UEqviZs)1J>L0A7Mtsz>#zxXc@%Vs<>Q^vT8Ch`E*D`@b znF3=W!Gm}@6JhuMbA|i{fE_D@hh+2i@kMXGpl0>1XN5H4V5p9|Agm}$nq&POP}jGr zV%536%^}Fit7F7n_nFMn?N7upG};6-&q(X?D?Q9Z*x2siOA3K$6RTfi8q>#h17GjY zR-gm2;N)Aauh$dn$X@i1KSSlYuf~M26X?gCBh39!-^Wm0b`9g?f~WarwG7g+-d$rN{aa{3Dg{9s17vCRReOVXR0-5XnGSg()hM}!c&h9Q}WiWv;8|Qko z9I&~cg-EE?a-zwj-Cq!a8;v4QS$f^3k6Z?>TB8%@YmIFPt9-U5U zq5_#copwDtsw|=K1-gas=};^6-wFJ7XV8!}!#v_7{`kdT|J)dUndLn{ZxjA@N zTRDotY0@!>eHvITrfbMhNz4Oz0U2u1j6S%wMHfjJsFU298>N}d~Dg_;MRa&GGji;Ps))xus- zPRtz74H5OgQ*}+qdR2chLBe64kj67?)t{W8-2+)24L&vk zyw2<#3iJB;zOuqx|4KX;Kt4?nIh8KuEMcrKTxGJsr4p&jc}=vvdURvXo}-t27dRBj14N#o(THl{gy4`Q{wx(jROs59^Jkbibq+Ppl-?6KzGHWUZ&$ zoOZ3B*U{@|;t_p+@qVzZeaE@C8v_y|spTrod^vs9<$5OU!&_J}4FmY{aKA!|9Mb2> z*R$=DMoG}G)f+7IdofuP`KTLz9^J1 zB=K~zwAvx+f!DDxGijas%r1CF_z(9N6cl|6eU(%*NR4@#LmRo=9-CDoO^YKBjHzN@ zd<^RdC0(`7b|BXJC6Q%%D>?2btK*I7=T!Ch<$kdQd~L617BQwe=*4E&m@8B5#p)p=ReCdm!00>(2(}N;gqKX8KVT$bQqrD z^3QtgxLS7$>WU$+OelVOy9ysuN?=84_#`*J)mbCd!S4>5eY(`QWmN@t7J%bhZTxLG08=5(@iMC`IJ5)Odh#7VXwn@ zFL$}ZL7|E2bp}OUn44tJv7z$L8T!d&T)0$%EGm*THp-MzFCIwAN9^~8Jnf?xX;czN zIjfdSv^e#c+&RIFA%&cTF$zZNBP3BZ(JeD(m}=c*fl_+&OOUQg4u{g+eBi)x?PV7) z2X447bkljB!XP7!G9_|6f00f;#`L99dZGri10#71#zDUBv!7XRxcaK_B8mQQprW#e za3Ukm#267$BTQL^L4WYza^2;ZEH`}av+(05$_2wFiWDcu$~ANK++bn6+!M0`NeZJ? z{}aVYYFgJQWmwwKa)gM_s-({x&_qv*nD7qS8MnR%??5^)ko$C#o2eG#GlBnv~NwnkxaOu(yU&=CQ`mG<{4H+*GNa zhEZQ-9x5w##Hr#&+2l?~|66iIJt{@+Q5SRIP_Bm5`OAMdQ7>%hRiSuh!zXfjzLV$| zK6*W=XIasek6Cc6Wa|%s5xx5?UOq|WlQTRA!=(4)i6b5>aH5i3-~@m%L8vIRCdLRU zr(M|e@S=y#F{Um4PNHPer`=xihrVRw=0lhD#AqzJeMAkebwKzt3-e@UfqrGg*xAQd zTB1R$CucgKD?pQy-vz$p{khOz6ak>ao1(jF2p7 z*01>Ft%zZitJdwCEQ8$mQr$JMqA1pbC@X?tb-$$M9@XB3K8Y;{(MFQ~bEQq64H&mzkp%EeQI(6tL% za=ikV0du9^4~@`#@WfC*q9K*LWXyEnO>cizxm?j zlmGDN%R`>~%ggb1Img68raW-{waaV1=LyS6U;N{ME~0habMY^##vf4&Hdf^5Fma^I4bIx8dJD?J>(;p771fIp6q9?FZ(JS?oZp z$t7?7hvk?%p0V8atb5R@4za2(sQUWKV;aEc(zm{Dx#;z;TCVuOJC~cT!yiY+ar<-b zyPW&2-wXb8w0xg=*PEBOzxX-Jm;T7lEGORczDdGD*?%8S+{wKi6KmIVtee-j#|vKh z`^yJ^_ZODO{o-FNM;v<`$ebrJ_rcW{egwV#{pGUvyk)uJswANlr+BVvNj4%sgsOfmP#{j^V^cyLlf ztPMu)iG!$v_YOX%iJpb67AQj^KO!jUe$ao;ko=WQ9fk^Ev` zM^XEh{d`lAe``?+RT@LKFGLnhyEKU)g;5DRRH{tUrHx7T3NdP`;)n}`)S**}T*A<(F+mF5AH+@pZpsGFEgmNt2r1wg%Uy@>+z%OE>zHyftoDJKb3f=&U&*uJ z;+bT}CDuMvU6?N1W504=cI#gA%0WR4%3SLoy{LWQ#;h7%kuhQWCGtMQ5FzVDyJO7$$^Qru5ga(1NrWq4)l_)di)7R@m&4M3-rW|ic`My zQOk+2{ieTJ-ubgXx;*scUtDf?_PMQ&NYL8EK$o`z-F@RH{^n2gMDg6G zK5IGd&UaldecK!KWU+`Qo|-Om;h4 znYba;<4)cnxB!t*6TnG4P+8V~a*Yk!^$b_|w(B~5pd^L9v6o7O7zKuvQp&l%e4nvj zZOCf)$Wwl9U-IO1TU`iaB+WV|xl@NZ`G&T_V!s+#VGQ>5x#|m3FEX?)ui}X-h<-e3 zJ*Rc7?;o;Iy+Fz0hQgIWEXWkt8U$b1wGWtud0mh9Stsw<4?{X-AWQ4l>idUX4eT4? zLcmk^lWt#yIrka(B%8My3@!hsEM#4D-oj9?&&9VkQL`!=x~ON3Vwm`{oSk*C1Hq(d zh>*2zPGmX#h6#HeJIs#u_nF!U>~Zb~=k>k{bS3OL^KBf}5ZgS%sE<7R=u`7zCFHG& zB+>3GA$R5=E4%i@=+}6h!S<*p>UK?$H!ORfxsUmwJf8LRJBwC(Vl&xnw_lHFsuvdF zD$(YoqnSHSNS{u&KbMAjnHcBP9Q&Xy9lREHTj8L9pnxQrHsk8SYFM&d8pLx+ssI;4 zEI!ydiD@%(GPN19uJ}eG7+F=Sqrg5*Xoj=QIBjBbsZBjk_N@`o*pBu}Z|Gc^khyq) zif_WIoJJlI85d+HTTg^5FDSKX6)zI;Xw+zJXlj;{^D0a)hgFajGs0oLd{`~4qx7`n zANOa@OqxpE?*q*x*59uXdOy_qr@!Um@dT>iwqQ{o>#3-9R`!Ci8}lnl+DvOq;~chY zKgeA?IQ4v8;!wL=iKv}=7wB$ERsc?N2rv5?D>}_ppE$cv&&!zh9!Rm;&d^Cu#9(z9 z_XOo>C92Ey^9l{fxvvOa;Dq4eT=|Wq5DQkw^@n@Zck^<4yhC)J6`2?*4V( zg%<%2cR`vApMdbV;{zTkjxu6?-fl(($brVgmV15sv&-FTE8M4$QJwl_RCreH2%?;% zV7%8)`qFX$EC1&LaqgiFr18oRy;n~Zk2&?u%fp`kvgPpG93`LA9{!cfNni9JJt6(j z@4sxh*VD#1sLsexmw^H!K@6Ry3>Z*1FH_p>ZVYwwB3%GMaN{*sFK_vYXX{l=bBMJ~+L~c{RUE1DB|NLY6kNG)V#J;J!`XwXUokhxbG2%ilbS zy*?tP;o}XNW=t0vZp8#xk0Kj}m`d0^FJos{9fR!a*=^?PaNYA5*3X0!I$`4G{ifsD zeZR>z6yMYql+@9ZUS^N8FrD z4B8p0y1!(bEvNGuOalvt!|Fic%Wu%HS+ZOe&{;WWM%oNH3EOo%F}tBNa$jN2@%_sN zYTuDH?mJb4c}n4YQIySv>F2f>D}1FW%do$kWvZsG3O?2to0P8c)5`^%`LEMeLY z>^N24PqmKVlb#_=lL&~zWmpF4CpNp^P1L4n(Hc=pD)>8Gl z?g8QCI;^KcI--r_#MfSjC!RhG#XE~^0!B27AXy}n9J1^gB@(Ks-#{qop2k4$C?$Z= zGEs}FH)%;Ge{S3%zAW}gWH>!LggAzpN(P^(><-R_haqJ>>7_ao_?5t@kM8Cfkry^K zD+G_))*;ij!#qu+k=4drmgqn0gMvBLch(gSD~uh;0MLRgar0&(mh=N3XM~j<;<|*L z9z(f-KQ;n04Tt5z9Aw*9>zC83ZP=>PEL>G=D`qOqBu7|g4R*%iNH-n!~NhgbvSDEKLdb!Q*PFn8zq;FQOs#c*lFPFakP0J_#_K%mV zKK21UAvzvE3VQbc^|a;W`#o&=9O`@DufJF^@B59H;9a#xFXw#2Gx1|P2bWL2`p@tV z>0d1T@l3|t7xjysGf0X)5p7q>%q9_GUr#$#E%UK`(`sFsa zJpu2G;#0M|!+pEz6CYYW^oK8Bt~~!e%f8zji67H_kbVU8$lISR@AF>vlh7Zv-1|Ge zzn0~qH~!6XA>N^T;B#KI9C6HX(tql8uSDH{rMgf0q6aQVopi^{=3Y8^$m{`s?DSsW z_8*pGPd^i_3q2oa_zvk8eb)~zU%2?9<@&3yT#h>7F@2vg#(wJ;xbIo6zuJV;j{RVDbTb&q zVz~yXSY3Wd!=-4~bHrwL7u3+iGv+i@4{cR`I5ziD_C7GS`wO}V*FhF7yG#1UsN!-z znWwOyFdQA_k>$c1m@fKmE9>z(x=*>@swlp1h+Q%@#Ens-!MBB|Zr)dx`3*gfsEfVH z24|YwmYeIy>eE|AOZJpz?D>>&Jk9RzQ(?M$x~|IwM7N?I)uB1}^<@SV_UoqroQ%qq z{!+3(A@9WG^Y^!Hy53hw@48m$9FY^Pb#$L>-^N%suOBeujouf&-|+iTR<=Sk*lmz~ z*blIX7d5erJr1{dC+0LvKT~;@tXHj-0`*d+vreoh-?b|_XC#?^9Aw>`FU9Fs2DSNV zP_do=Uh<(DfHX`dHt_H#Pq}yWJBtTN%!Hg7T`V&QvVwTh;R#8rI4zxK!gwwd51#{L zGNCVv2I1eLnoM&@k&}f)iIB6#+#WE|J8No=4#;}K-fnKugh2*R&QKWhsKlH=9?l0* zw2-xEAydU;g{e@x!exCHUkmO;PTC;cpg zkBn6>xtV}RZwSr$Z0AJxYfwWN_k(HZ#mqj+Q33t>a(@l$k9{RM_rZDwIU`>yIm2Q9 zaqhK0qlRX8O^L&VHf%`8x%-mb>?guDmZg!Y9qa)e@x@^Vc-O4Z4X;&WFc0%2LZ&6I znhh*>XAnv7^uwA!D9OpAFb6KnSWa_eEGLJ>K&%GVkCY{A24X`}SgPUhP_mK1k;cte z_MHLo-VgR~7;}sVYUGXowVp%PR&XDlMF*UYA2H>V#Y^7u_xgQ3H}ErWe}f!O`?9ZG zZo2lG<)5DW@9+fb_IM)jmCIrK_b-?H^J|y$|KJywqfS0ePu!v^hQzvE^QjA#19&n* znNLdI^|Q}iuKM`-%iX@_JM_Dd=lyE_4kYJ_IzNji7VrF-A6agD=d+iy@MQ0Ld~nOf zZ+^}4j+g%D<Eb(O{=G-$@0ah~Z~6BnyB|dQU4797%Rm0N zr^h>OPy8m#}{9NU-(hk6{7_?Y`FnXzCVX2!ThmX5?%Vw zf4{u<3>#LVb-uC*au}{i<27f;IUiGo_Wk2aY57Io?Y2A;A*q?WP z%vWbT;pXLizxopVPUc@Nr#$FU%bg$hWczDWZ(of(C=aqP}{!Q>eFFyJKyp#Go z)qBRHpRinY!H1TQ<4Nt|c%pdDH$78Ngs;8ql4ZGaS?+NEFVmC23t#gW`h8S21SB7P z#V;!6c6U2>x$Bd^dHMKX$B(Vv=J?xdu4o(Ti+!QOSzbTKa7Yye4tF3If%e2TkAj)7 zOpIvvn^4NblgtE-ybwKI&`V5Pu78$&p+qh#H0y7ld6z`1+Fc07II zb$@YP`S>Fdr@FtiGTNkEW+G$eJ`G`VfK!hX$4u_^V+fC7y`l8uO^X{nR`6e;dwhD2|_SLeLoZ&q%hUt7rhERyYcs;8=Ih6&{(Ak!_5{8{S zgN#D<;1K(vCV*7R2EL3|9S)ySLZ5NiFP8{F~eAc zyfNl`XLv`lIMYcP$W2oa2=|oXO}nnIaAb5*hp=_d+9RnP@XjKCE)^^+h+jMeltbVG zdrS$lE=1%p)1?z zvpjDvs|($JFOU0FRAYI=c8%YQ&A8?H*XD0@n___`$VbFkG zb-@Z6_C$2_z*zI(iN}PKh&rI*f0iTn@UUNNbZWc+GjYm$z0yyHem^MT#N+9EVJx@$ zGRg(c7-pT1y2EM9?eBTN<+_Bk`lL~P0um5N{`)i+8tuP_?++5hv=N~m?z?0)g#5nCv}hd=~v(hmpFKWGq!a-(v&gg=KSsyBheaAkr zY{;t1a^O5g%0n7e9A2J|ujlF;xCf8^`vsbMnWC!c5JcgY*xAL~$HUR})&9!#u4l%m ztvmP2(WyP0(zWvK093s_j}+mM<;aJc_D-Vh5okZ}gH4P~WXbj0!0ag3Ta^v_0a+*) z59?ta=(QSYIXr0b(dvVS0%>%VMUo%y$s4Ir37XjLz*=)XCxnx~0~79$l@6pmkLpG= z<9sxGXef`fslpwyLfwmz>#)Q9JB#?e%OHX;XH{QYa++(NwNc1{(XX^d&@~Ms`01u!_{^t}F5?pUBQktfk)PD+V{#cooEFFj*w3E# zHoe1kEOOAqFaHkT75K4Kx$6|Eds+FQxE_Cgg7uy8s3+)&B3bxO9{U|f5(Hb#{qQ5= z$=%KPBvP8x6QYDb&V@4HJ>_xcmw%09GVa4W!lyilPu7>^8hlWWdwR$FKMWt{a|{Ae z$8BzdC$V?ayT4?jPN=AUO!Z-S5#YnJ@CjnnbJ%h`o;)9QBA@W%fKSvHm{Qi1I;P=2 z`Z6E?YaD1f=vYJQW2AEg$)aJ&$)h?LN?C5kbZ35=!$ne-!jPsn7_$$ucBs#!!Ky)OqN6mAw!i^g&HU@ z{KAl9F=R}qih7tcls$6H+=1aU$l}cE;1u5xT;Jd=`0(VDxY2pZ&CJBBi! zat1%MZvBIk^aGN+`y!9>&zOu+TlmO@`izf|kfWZgjf^lV%BVQ9G5-dNGva7hjnNFA zn=E6mV*XAhx8g@kdfCz(X-J)49B|AhGJK9xh#w&x$(MpYD0cLQ`^r6TQ#1Fs5mGjbIMS%0NE%~-UG=-JCH39w_ch^E(TL3iWGj3>s>3` z`KnLFr6kh#S{L9aERIx;}x{%vAht^IrBn{sD_cWt&M6_Jvikn zF9-^L)rH}fdw9?>+%N&Xp-8Z0HcLZp?JJjlQ`(eHQF~dRM606Y2 zi*xRWFe4LX9Ja?km1;Px+Ji98b=U_f4}lgUffKELPQ(YiTnyxK8lEJI z6%Se;`-|URKK`oT*OMID_&aiOB)KPFm}baVf9eALjw65PLVQ?ozN^J2ZEOsudE+%# z;l~+&PM_-ONdDNX56`ie`OYGb3t#=G`m)V6Kc1?2T8YW?-O|g?dn@uD#Gcuw z{4~4W*Ie=`Jh3_=p73^W)A9=;8HOT(%sCC(rzyQ{~X_ zQRcqG1aE(@FIkqqcm;m%^s?o4Ibqhp9C`UIhvOZ_gZw1hsg5R#S`FjxLh|4zu&P?{ z@H#&EK3}?A`VRhXD09aJWsC)(cj)(gyir}a4<#~J9FFf~-AEuu+X{!<4{ST!Dy#;{ zv%381x{eevi*cK|D&bU*uRCK~$B6P?Z(%X=KB$d~p78KHi33tUPsDP@%{(R7gfg$P zR6EVmFdJ-Iuczmy?;CRcVmIXDiXCR07tA-TEkqUGSAnQgWka6}?YfMnaazgh*N*j! zHtcRd^(z}S!74lzu4g@6*3NZxJ)C3gufUXxU?N;?*tEA5%L+s9ebq3`mfa^m-n8k? zb!EMn5H0!e1Z754ASZ_0oZvJw%3e>;xV^I&{{H^fIP>s1M6kpa5ba<+jE|I2U&?(M z;j!m=SKB?!0XwEX4Le^l1j?L`DiTJ2Le8#8k2y(cJ7(fOPAKvJr{7uRhx6!(I+JG6 z`>EtVEs%BtEVc0LOibA867o19Eu|+GY-|--5e?)(QXs{!2GUO1`jRnFD7g6z8*9w% zQW(6P5Is9oBxf0u=7qA?O^%szX<20B3km1smu(cS+Cr8jePT#?j`CFYE_!G6#^X9f zn5(s7LMKja-i!u^){9&z_x@Blk-QZ#jNC1|6~as5#2P^GM2ck^L>Uq6SR&nO{V@~| zs@8s>k;g_N?}uDhudfh%-VfgEwzopFVDlJrB5fZ=`nEq+P<1n;ERn)APpfiTE~jCJ ztlGEYvBCk6smg`Xja91f^SZkr?+430avgPpS7=1m`a2zxr5PG3BTooY1f?fpOb2@x z=D;*Yxzpx&Ar#$yU?s7hc7u%dYhkvhCMFm)=Y7VJ##-;(2l2vBWa7kZmw(Tf^D_@c zWyNU|Z6{`V;g|-%)=~XI%>JW}UCwyK6PJtL@XF<$-})c$fhd28cgr5O9LaZw(63Ma z{huu#`O{yMjz0o=!ri}kIUMgqz4m*a2z&G?s$-^HSB*mEk4^H&RU;>h!~tHuyA}^H z%fb)D;qOhJg%8X*2~RZmyNjR4JCbjIar_8nV?`_|DDz1g5B_+ppYTeNC)wrOy2<6| z-<0H&#jEk-t^Rw8+7__geBi+H4*Xq3J_&l%i(XONlC|&0ht}{3?oD5~nkBRYM*dzW zKb=%_gi-HYLhw4@`1$yIhz#V1&+xeE3)dtE*=}AATz9QxUt2`qXNbq2b++tReDK|P za>~Dpi8zMl@!>!GmE{wE_ovH!zvoAmBl-J+I1Vre*3q{kzoUB09Zy4S1oKmHoinIR zIwAehsM12_JHb3|LhaHgCuJUO-6|>w`~Z+__A7L46DBF@03Ru9;Zj!4PHov{#>~gS z1LKB|Re`8d4Yez)W+8d7<{kG1Rwi%VUl29nPJ!GjJc;E7 zpWe;-oqY0^HC-5u!{BvHh1XdQN`#YqGr)nsFz-Ox;lRfmrEsC%A5q2XoaMCo(!(YA zda1sx7@8vL3#v%(>o(htWcB?+5muof0)rDK)_SJD))PGSeZwL4L*wh~ay{%9^y*t; zRM93ikJOl^v?#=>%1@VAt>zz9K(4?V#QIL_SnJsWidh3pon=%ULASL-2<{=cOK^wa z5+p!?;O;KL-QC^YB|vZs?l$<~?t>2wgAMZWzW3g>zTdt2M|V}%sp@_9vsnx3@83Jh zU0r`cjnwkTM?bgm3pYRQEi}F>{wcBO{shlGmBN#gUP##8|^gVOkkEb|J|dR&pEuLiW~ z7^lPv28y3}K%Y^!I1NkLqRNVp$Jeur?3Lz~zXdv^ ztQXS_(iTOOtm6mKdj`|km0@K z@}Z=Q1MVgZK6<-Lk@^?qQR`ifZRu>@^^@t^JwG2hp*tv3_uV%99}B>KuRG_x1?BhU zRQ?OQ&}cA{Tif;pYqzAr7p-w6k9*Z-#3j`Dfn-g;tdm%eqHH6N!&~gAoeRy`dJulAV zhnJ#UCtNnq?vq3L^VmOzuYxV(cFO+jw%(H1D|h-nQt$}I3B53Vww_Sg3rTlb#D4io zJ8Bksapm4c>w+R&aQH6~p&cyZZ`LJH-Kk_H5Znu4BU6EQVlp9bR60+D9Qhj}-%k5~ zx)d2Efrk+q~f6(&E!}$dGJd2u}v;dmWB+fSExnbR_AD0>R zGXft&VTPE+!@@+mf{bB*h{ummp)T@@Q&c9%@6ej?%35SHJYqV2a&DDg{6yY(x3?-G zIlE~B9C;wOk%ogr@{R0KW9x`JjuVuk4~gc**2W-}LOe%Ar}mb`PE>Oe*B_)d6cxry zfc;XN6GmkJ0+KXSC~YX_$QctoEhKd3aS%BX__5V0laW^=^rU14K6RXSF-HSbENGM?98xIy&|&G2e15Rhr61!EgEjaqEpgP28L(*KLKM75 z;W$+KGusX|ydEV|2|^=i84M+9RL)2$W)Bo-)DPQN8D*8Qg}|0Ze@+lMKuwVjRhNX{ z362E_3DJC1GDsCle%LY~ zWUa>6XChU>Mw$+U_SsrPd$VM8V_ky-$!{4$Xlfw$!Vc?#f#v8HH*LZfz>KKs&{H^* zchUFiPxVLsExV&SJ*cRQ%Qd6t0r>N{V6A|+a$k-f?Y$34{5m5;F|14VY@Ts}hq9I{ zoUDHukv#035u1mI%lNbsom0XZgg7!B@*cX4)!vJABdl^EZCd6+_AwrO{ZfHrls8`| zK^pnoi}&iWFLi}ZnSZ*z(~S`t3;kj*w*iKEXvD2uiZ8r|{rwPGaPbDgqkk?1Kb+(L zBrMdBN1x7r+LmI)d)~j;PUd~v+F!SS5%z7mgZkh6;czCqdJjC(k5Yi`x~;CALjdT$ z=J^koHNA%UpkIGt2CIyMVH5eUXLf zXgB**FrR&i{nNd-fpUTtd>8wyny<%zZXFT3aS@$9jFp`Wnd{aicRvx8qv(d=-p2gv z>hU%G+noJe)|cAxm4`1XezRbxKiFcvQHAUp-!)L7;K4hW>>)Q_=iH$ud^d7#3uG_Q z9nM9*yVSjJr|{Uk|Gf21lYVJ9m{Q2^LUm4yw#GRCp)6+lJAwRwey`W1Z`T)TEzb}4 zI|_zA3r-y!TPO-?TY(~dS29DJhXf)_J;~?3J)!yXUauD~Nxwk?iOc*{iELH8x}=rvz3Xrq3=KYAw^LUcgftvIV@l=-F)K3vLkF|DXr86pKjZw{dJ}C zbSKix%L=uoSlOC2tS@R#hrYK9sw_dEz$@W{eo#vL?sOHJic;%o1^}?Ti~<=lMOY+ zbG$6$zA7bNQa8I8%)m{)^J|$j=t9ABDsIsI8m==2E73wg zTW%%c-%bB+p$|SkYxeu5of-)ZsQt_=u~D+;6LV`Xb;->qrB2k*-1uojT69GH(h%sO zUr79g-1}263Q7Z*=Cd={p2pcnaTEwgC-iJwsI}{$$uc3@OyoG4DV=qcUbzzZBjcD! z!Dp9@fe>zKhAl$o;1%??9zH|j6q3I$_Gz|=sC&I1BPvHayh#HvtI%Fr%kNazRz)If zZHc)PB?ez5@R6r}4MWSY!S-9yzcN2b=A6k9u2TfFxF8q1>k8(VCn~)jGX5aQ^jUU& zK75h+jf{LKR39d@UJrPVd)QyYQ!2`x==jaZgOPkUIJV;F-BY;sQk_i2V_(2q8|r}B zk9~r8KMue3TMbaK?E`($s5{|n=P=G;kB&&x7@5?5@@R+9z5t{+C%p@tzwO4>oRVaw z2HllX%D6;)KBo}bzwI>e-gy__1f}$!OJ<3#(7)U?tak`KuHBksUObVBFbMe5Ui&@V z&bz;^J3|iHrh4;3dC%qD7s@iO^+qaLc>O*1Pz(ay1@b$5wp(7IPBY+FWrJrSz)u`^ZLy%Q;66G`4Zz=OfX0ydbEQ)V zEAw>Gfl8ogVJ7XZBrCSChsQN6BA1RQ*-K~->VWy?U0}P9j?31XE3sVTDR_GMob^&w zk0glld^gbi%fZwC==XZvQfVm8hVAWJQXFSjnj*Ezs;cpvS`=oUtrU{q2!A$XE?jAI zan5k$lV3-)FDEC^-cP#jrOXP*6zO8qFrtt9KGmUGbl@EHzA*R##m!R3`9krRO}{b} znVu{u!0-}KeYa33=#KxDmzv{q2F)yi{cG8Wn{myMOPgk8O`?*AXPRWP(VGh`^c6wT zU(E5jdV$sO2fT`Po~ZgdZYjYr00pN_xAZn*oI5m}~>2wp6?I%k9E#vb08eUOu|syc8P-}5lb$0p=%?N5n6#uf!9GY5zyP)i7Po#Xwr>G5lz;-W(^$9d zkw`$G&gk5LbrY`JRahq(*H>)(OhX*cS^c=TU9eH16qJaz{GEv5F)%N8S( z?eT-*Yo`OrY#aU#aA#r~)WVAT-YY{V`&a;yt+{3wMBV^}K+o(GN=dqV3l*+NCB;%G;rtM)W>X&a0!=E*keWe!Kn)2TXn zJVpE+Z8^~kTZW{J>93!T&R&w?Iq@E0$c7h zB(8p4(%!jQuGXg4{ri*L)g%Q{MMFY3tt_Ix&@x3JzX-LmcuEYGE&SzP*iP2qFxI<) zHN7UGsHVJdNSySz!eI8^Tv_q%No86o7}HvmvbVONo|07HUVN1*T5!K-6JrW*`6Lq6 zmOptNb>Nl?2_+iq9yz`r)3(OX({sJdg^?6N?ku3AM{AO!&Tb9EPd+EqLag@f-M>10 z7S5mohkI-h`d!*H z@A`pWgkdMAyW~xEnDh^LjF9%cK9cvu1akub)f2487lo);G*5g|%}44usSS4ygE~TC`?iwKXCy%#?%$m)55@*qk*#F#M2G+OAow9<+5K%+ zVOPqEtUd?Iyj4xRhSz<-3Mn2t^a0H^vY4@SFFYN1VZ;kmaDs}Q2D2>&yDm5hN@eiF z2PUoXe9AO*gj|oIe(X(KxlS2Gsxvcx|IYyn$u%!c@b#bZ3#wR1hhp%1z5goeC$33? z&P^|l&93XkjWeG9WUB4<$45Rak;+pOWnhAa{u~rG z&F9tFvS31J?r7t;)sYSEh$otgP-f1lExaQR7XAk=l zX$;rvDr-DVX*}ggMLCQ(=?a~D?`XPul4SsiexnS1zPbTPjGm}gwWwPwkb0DVztwfs zvICzs2*xv|qa;abQMX*Y1)2Qowlv(EAVJE@!OFu9iiR8r{yRwMx|7M|7(X+M{V}0r zFju&jGhF@gHXUf^=x=6JS1=7eMcdzz8obo(=cUuRQmB# zI0*HZDejEI6hE;?Uc=u1^}4#y9Kv(V3(RR=?QEH2qIS;A&9<8pyvo40t zXD36%x(;7XH#<^Ep+q~kbS4B3JTEr3Tl8|)i~~sOL>ttv@t;A)2=<2tlg=$9MikS_ zj4&R{`$09dkt9!Q^xX`3VR~M z^*2*-PZCGLJn8pPBk&xxMFcn|heUzC9p<4zgy6^~P@f)P^T`EF3eEukWeo42=GXpT zQf67CS|s9foK$mQ?9nB97U+-)$t$V+8-PL!mzV9ow_kLIdrY)84zVM;~T( z%lgBeX$_3MJV*vcICBHqYGayFyz_RWN1ET1;ep%w1R0+U;w}y{zt+Y0;X9>hJbf`k z>5eU^>pz9KXd3|SoL5`8Pbxr4br-Cg7-^$}zKUQG`{%0BO#1T$bhF@KtBRc6O!)J; z>4HUtzmC_C^&*ml4Cr^~z+^JkrYVQNP?SaXRa{;(vAqdAf;JjKm*G*!LjyCH0MFy#_4z?DucP zU%d@O@WQKBrF#7Mh}4-ypq7dBE>KDvLu?~M9Y9L*pZXaB0Iq_j>2D~bu8v-2+?Qik z{E$t|IJ>e9NeNe%-mIf$>JW4f%((iyz)5)m3M<-%zg;m7yk;~MxsA=gGMjIYP5xqQ z4ci4pjs|Q*KHNzqh& zK$V7ZP0FiePEe|W4ms0P~ z45JO@cVe5QRH}n1lvsF^YT3Imyp$?QrT}|Vtkk>3UTJE+a6`mR`2(?rMQJk28~u!% z@w@n|y2wS|8I0p3sc*ft4i(|0UH{P>)tt^@&uI5%y8~ohtT9gSg7IldZ;-K^%Uz7s2c1)xP>nH!Y(w~iB#da9Pu74M4(gk3r@y(scJL=UMJdI>waU5 z9qNYrCOF|OhA|}qSWegK!*xQJzE>R?+%_-35(szZ9j{)5M`R%W-cjz!V!Ne8_O4Sl z=`Ug*d zXAG0dEMCWK#1T6GgnjqE1!nLLHcpLW4%+&?GB$%wQ_K@@TLq0?;*4|`I-d~yw}mOP zn96ZN>DnwHvjTp1HOc>rt9NiD;Y>%gAHJyd8+Tfw1>JLr+)?kWgffdXCs7zbra z19qt~kHz}XtDR*k7R)#LgAJ>O+h(CnAuR zcQOX`Kf2yoE&1hri{!To(D6N;h30gQSFe)w zB;{gE2@dSHy7{xjLYUI2c<+yBy7?)D9phvyV^v@SlI zZLd63byOot{=6*1&D}_{rA%AHXCjbwj?lf_lVX&l3=u_Z)=(PZKf<1iq$(~KSi|R9 zeUQzmrRkd?{UGm&2|A${+;B(SyY+PkmiHSg(&j(3-=;{Pp4xA!tQ=p zEdjegcZ0(Xz6x2ov>V2`Qho;ks*+CLx5SdtF(-6qZCBuAgYFLsaaZ2WR?3jTW?lRZ z%|B5AZORwn>Y5Kq2iiyQtZEW99jP%m2cnDP#^tN^WT$!=!K(<|32~r6gs62gqdTuv zG>*mE(3QNb404ajIY9yVuW@)j%gJ;FXTdcEf#En;bwcA($Yz;Xd8u9S;=H5k;m{I8 zO@cA;h~%Z7RCbSL73p_+W-oc06kRJB<)Izvv?_(I|4$+tM2MLhB-GRQeAeN}4!N)# z42S%WOc*^9OUSpkXfT&)I7M{2=5U0owsGI?BVrzd3Wa0-)ywcbK{2DH;2*2t$TX`8 z`{N&Yq@koCUV?MDbDt%9I;Zk}jI@pXBg+XS^K$NAIfSMT!x>#H#>7 z2w!+ne~%yM-719xbzqvm&W1{nSG=P^uA9hy2SZ}V$9Ms)JynhymiE(wI0lQUC=>s7 zl%UKZf!yPlrttM?1cD_DS~=7M^;RQ;J22@fXj&N%$;3zu+DG#MQ1UxLXB+8WVzsaw zDvN{q=WjzP={hZRS#4x`cl7bDZ!Uv<(+_L-+&!L5`T*>?F(bDZ@-Hqn5_`tW>D&{< zQS;c)x*N@nIw#uaz4ca#q^xR^wONE&#*&+3?3(3|rD}*KQGJ0?aLrH1Sc5#m`!1BV z3=G9%sHNl4$!aegIvE}&yj=HvSzx8Jy%0Oi+V3wKR2S$!up_xawq63?`5_9QGdMLZ z%u5fkYpiNC1eunl4-kN%5N63Kee8?roI#;D-$#@3^BQ5aRP4FR&rDeeip6eG2P)PZ zEW~~m>_@+wafP5btATseHSum& zLwMrr4^2cDX;*FXx_uV1v2yanyiQjde9m!5Ln+i33q{0(M%g_X*!G3H`rXgNw?VP` zp%$HF-0ntIR5^!8c=3 z|8zp4M5u~?lka}TQ&`Nr$}~HK=-v^UcACu*w5(bZ)m`Ax%bfd^D6~Q7zsT!kpxb(} z^oGzozZ}n-xWLCv(_-{sO?we_y>1?@A}rgE7DG|JNr1;wG*{5em*Ari8(#S|PeLae0K)s>EpmpXh&+g#w@wxQjQ$yGB zLLll0=3G!;Y6#Fn2*BSACTLjd^578OU+^_wMF72u$uIPIjm(W!Fsi<^=>ZW%Gfa6+ zn^H>Vd2W$aKgN9QiVJP)xow?;Y7}#BI(=h-{I6Hjq1eK9?WcU&Fn_bN4GLHXuKZ}D ztb$e7YsQt}tZ#EVUaI=ADGu@yyyOe;i%3<1uSWxup=4-z{E^I0A@d2=#p(Mi5Y{xk z)Lsho5xTH3tTE`Q$;@3qFnQy}a{aUErdAmstpr8p|5PrI9_$udXG{7LWXoGM78ZZ9 z_B~X=M{BB`lxY6`^E4)=WlHmG(3q!wiI~rD3Q#;x{P2@ikmu6|2U>(StLhC3j4t zqI{a~FX0)p-4b0Is`ZR->$=|^Jq_${PwAMKEwj1U6gM*GyQF$LLLw}-QTDAmXC(TY zVa5^xGjO20$Z^E}wKax>d1|lr&n&5lD*p96rZy|0hzCtE9E2kDXbexyn1hWK9D)X& z&s)-R*+nPdqiS%1$}XfKvhJrs6%6d`hlt=|w1&b{*76>pwdxs z40_>qC;+bwN zC-=z-)zB!yWh=O7#cQoPt&T%QCuzbDwS4|o2Fw7?L+g3lB$XVMW=4@FHIO#`Agy3y z4X$jc777^vupfz2@dMhcE;`GdgofELEZTOs$ORdQVK2gWbvRuJCz$WwyF+^YM7|WF zDg5RoARSKFMa^xwh;h>ib$zD@O(LZCFF7xiRh)^+ z1?je|YA)U*YHZoB){H*f-aO&OduGyu6B&`w_}CdU+u^9J2aQnar{?*{XY4rn$?t-H zN`4gClsMaXqHMe1)PGwLgM^}Dk4Ku1HNQ1bUI3YvUB~&;@PsaXcIy5^zZ~g|WhIHS zxUF%WbiMIP>t3ErUIud#WIm#8f1?lw;)2)v6TT37pCULSK%#xA)+6d(9m#Ch^3DSoyO6k*bqHAXM3 zIH|(?)dAG)w-=3NY)0UeX|Yjq&S@DNpM2eUr(fo@?jx@9X2a8NF*>1k3YG;=a zU71=7l|3=?sJ9z0?(rBInI|;T3iWt{|M(~$PTED&6o)N+)rE>N_&g@?qXyDCh#L)l za-mgq9oBXxb?`F{;J*ekHKezN8h10%HPXUsDl`HD>!|FZIZStYLI^WePc$+hehJ~ov7Ea4buL}^S%+Wi%*f7Ww)J;?#pWazk}U2cv7G)DV#LU@~;jjjiubFF;M@tt#N)g}7D<;20b zRRXx6;~18c7m(s@3>P(65=g*WjwFHm)#7dsD=J$sbEBL=9AFtAAsB*Mylw)_&HKoI zmSl#UM-5xz|2J2Q)DSsSe`jT{oEG(mNjs9-Y>mnj`X6BX*abg#-S{Yl^+^xDl4}Jn z@ZZ;HrLlcEO8C>j21#9$Us{3_8>ass=`uGvD?Gub%{azM(xfMCcU?X%3hQRuP3m)HI_)Z zRhAI3G`aIOJEM{ayQ>`3z=-s96I_~tZ~Nuc%i25iYh?+W1Slk3BUFQJQZgytC1R_j zL%*_O`2_i;qEyAatl;&V`6Civ}z%B)=iFM8BRs($6QTJDv0Vo z0F)u^JA{eYf^LOl#{}il=J!p2JtREjm|y;d`{+0r1m*q?OBqg12w_4Di1NR^wEq44 z@wpTO`euGH8SJWa(@^IMZlwSGo>kg`6hSYE^Q|b&Ed(*kToqYbZkH^xB8ELn z=1)~Z!>(#(ger2dIBF{X$3*-ebb%7&k57_18`VoH6u~jF53jOf0V)-dilFQC$k~8C~Hj1)(&y`3T*BxGN?(Yyjh&O zpxO9DDOpVOP7_FyJziT}JqII@+aZ|&eCD@${~Q=*cuOFEm3<*>(GAt}inLdr?gzD& ziL~_XRSgbR5XP6IS!NO!X!bvHL?Eik%S+nJQsL@9BF2c^TMFF^zXs=LzaEHqjo-@J z?{5XJKjo%X&1{JoIoZ~bgbWxL^Z8|mD`i^5uQPL$YGFhnDDnTB*MgA1W~lC&xY{}O zj(^5w)IsnPLuqzHRl_#Zy906!ZCVxQDch68k#NLClTPnoZ`8`8?p}Bdx^EH(t52L( zr2 zjK_5u19g*hxrS-YcKkd&aM%m9}3D6s><(&kT9qsx1*3_QZzY0qe!Aq^}0^lDt) zf%5H8yj3UJQ#xtBT(gh0;SRrvu>!htdX|%PTU_{Xf4(8pbG|~=b3jF%WxBH_gK?5AfNzjFT=*Z#X z>{kHj%)4yTTB>%Ch6Tuea)@RiloS0>X)(AyPtIL|SO&=KtC75!VE=E>Lz3G~^geqi8>P zDIF4AE1K@0YTsa#%r@2kedj{zub=m?CA2A!)iB!clEW!!5(6u7754^t6WRCcyLsJ~ z>k+zNm+d8>#fS?qd7F;Uk{OR?6JO&-$S2Ji24#O98gVt(TgR(fHdL7BNExv5w@q-y zy-3Yl@|oifwZpqSHOV521DKN<#8cPwFjsFA^w2vVTx77c_re19y(pA23D~5Zs1QP4 zee=2mUP=%1f2|GwaGqcnAKq29DeeiJtG?@dvBZM@j3$9g!iwf_;@k}Vbx?i`<2N(O z`S641!M5D;Q;DFas$i}aITI@%%W8=YS_hD6HUdsxlGISwr3qwU)d{paIYJl7vlIbS z8L+>kzCmNT>gy? z8s(>@%w|%H!|dB=ItOMjwx5eFEeln%(OhSW-h>ggJ7SibRA(qJOV2H{?b8VsBQ~NL zD8{W$^m66d9MBF%PfD^F3e=;#qr7!}`3i(!g1IKyGU~1h{aI4Y-edYGk{E{O@vuxx<1P=~3aoBR~3B z2Bhk6m3RwpoL`7O0W1_uCr{Tt=;gl$`AhpDcif_?EsVeJwHc5uHlqwOOOb<*DAlZ{@b<4&l$IC2D@zMHcG`J2xrTvnSa*Gx_gP1Iz^0rdlke!CW%Z$I4274Q>e7DEB4E3 zM4+S+8$Y@Sq`F6{aN8fV?23WxZ}InU!MRgySh7#OLEX-ELABDbEUS3uV#$;USd58! z;DjNSvv0&&OhGl6*!xow?aTOcy6aAVW75h8RYYWCp&HpQ^|%Q_hICz~asxrZb1R)w z?!2Btyb^etSC^EB{J`T($e*09fPQe{a3UucfrYD{nJRbS;;}g@#ojMyV?dUSBqWp~ z$8P2qJR8Fi34pCuv-?J5qV^zHXarKn=A1YJ`z}xj#v{oRY)63Dgbmt?2pYKTB1zz^ zW=Dqwb8z*u!`=fnT)uCE+U__Hy1pnPkIKk&Za2pnYm)6fX-_u_Lc`myRTqRqD;!R) zwp@*QxB=|;SnadKp z%0wp7Y`E=E7lF@{BAQC)WWA5`yribTo5L{L8khA$yjlcjN#pwc_YcI7$#sB5>hHD2 zDh1ciSw zb%#zA2Q_OPca_QMm@@csj)W}qmBF-tyja$Z%o2Ofj%_R>vL&SAeq-U_^rSIFcEf;#XWh1NO5#=^W#EGe4C`swD>jiZ7m}gf?v5|h?r<6S6?+wvG(g>x_R6-x; zd2d@&QLPplLe0jh`py@PT(>iw1OXn~9JNm0@K#-a_q>@}sXtV&m4uYR)Mauxl;df) ze@!wgZus{EB8!C(mc}MU4vP)geXnc1wdM;y7qOwg^XIoUf)yiZXOlXA#6|1U!FeE3 zCx?4_DK|eEOig2FFE{Xn_lTiO|6M06DXhX_>9QnQiz$xHc+IU+a&Gx{ z;lZFvdq*-wr?Zw|D7y+ua!3h<4lVJ&8PUY?+OlS9>e8Ih+^J*2st^#8lk9cIG^Ds5 z>C})?sYgdmdQ2F_5K|o2GJpz1Z~!+tQN3tQiV^yr-ovcOH}|1RMOueQ+mwO zb?oIJt=A)JX!;dX@I<50FZ<2(lw*4$H*~6^SWx$~8up}S?1$RHJ>zTS$6f>qG!r8B zAz4gFQyXUp@>s&M0>8Mn`|)g=*l6TxeIZVw#bvWnpW7>?`9r1nYV7vjIuSdyY6*=u zV@*G~LX0-$*h%;7&YuVVyN~9-V*aUSm!STr7MqPKOjjDKEAKeiDdNR7TaNfe;Vj)2 zGtcfCJrwT5Fe^!?Zu0ev!k6-ByEh}VAnQHNjf&4~f0;ae<|D(eSWK;CApFe8AK3H= z)(KD8QrmgBe%8fd|IEq);~(=ir77W@->_&AMgpva$(^N5n&_Q@dfEgFq2X3KKV&SM zic|wcHM+(&Cxqa}Vtr=@%gg@iDP`6F>-@6y$tIY+!Sm^dl2tw|qjNIczZ~dOnPNS# z0IP66g<4_FvIbGLuojK>kQWPY7Pp>S5Q{0`@R#_zxp3hK2!Dw&V)MFm)r5ZI+ z%yQ6Ms*6K^^QMa3zqtHx8#NPXZ@$Dg_`Ay{D<$mt2X4XBX~# z{w8>8Lx=0g$NNY2l-I1C~Q?xljk;mX{ zi|%-UsEOPoztiu>_1~VCrc4cjZBj!~@HfC=SdjH5c=NW!Z<~3JXwyxk_!7!JaL@f* z4YL49FCCU%L+hg=ni*iKroXD28`eUyuiwg4s#N>ML=C4z+}ZSw+g!+!WSb0VMW?}QJv0(-X`fS{dZ5GPebe=v)ewE8T!dd6}Nn2X=fRzFAjEn_D(L~Ab zobW&9t#s&*YC}H~^_`dc#tV)KLZ#|m-^=$D^7>1@Dp=i z8RG!_2$1SH&Bq`rr<%$jGZHR1SH~h60ELQ6CsPq*(38N$VBJ&}&6nYm84ECfylLm7 zq#j6+hZx?Eww_uyVh&e%DZQl5T&apNiWw5>^*UD68oG9UE1n*1G=oR`GiYHD%^qTD zE|gc?>(zPRN$~xP2FC!)5)9z{CKkvksi6q^@^fQnxlv(wwx#L!D%DRdjBhd~i|Qjt;{2F%^v$vuGMZLBl9l{*gagh_uf9XrR?M1rp2VcNfrp*xoI{PN zoSj%_%C$IZ8?&;Zog*jAmt(r#xLWMtiETNYGkX^w${wdzS-kb zh_1&@5|tyeNB9*IdBp5*MZiQ;&KE*qf_8ZmrF{ADxCy<3^?R<&&-NqoJDzNLnO`e= zJ3QQEe;E<+rS*H9M5$td*H@-xJ(ISpuRlU?ADr>f2^nST1XYC`CTOlwa_ny#@Vc(% zuoHOU(F!abPSH>%9!w%x4RKwnA zz*{|*OMTRbPrMNQh3GgepP(5!;<>7wm-{IM09Qj{)N%@2aH?qxi?@rJA4apr3>ysi!bbSY!^ywN11DEY| zHA2&e&2(E>L3<9?dThmC7gpgnBg8ja8Yha+hHpbH9tcvN#O9QTCmO7M`IU`vkChIb z-{V)`wml8BFxWZAN-Q^?z55tti3^qDmomX7I8{E~u2zLCH(90oymx^rga>gn&9M$9 zn8i5?+hn^ioF+m&<%oEsHwaP-Kh;XJjTQxh-TKYPl1itjoVWeK<}CN>iOng%lTm(a zYR_QG53#buH(y+^cRg*`1XlAbDD?-g+MR;DUW}jdi458(aa%az7t;czx4~Tqx(6+p zQjp5Q$e!Yd)%#Wf-%oyfw>;YvGyXk!ICUhiRM-`Wto`%sfBDWxw?lLI2Iul@ll6-3 zoRw8EPP;M@h7m2d#u;0-2xo!WJ?s%cCgl{{VY&qjT!gl$NgMu|(mbky?wGoLn>rU9 zDtcIs17a)EvBABnDB0et2OZ_q48%u~`-*h=9-Ozo7BO}2b*brGw>1s6d8E1rmmoa* zESLmHa$het1y2MzV>)jgX3yVWOR#2Pk=SWTUjyP-&Ldo#4FbcR_bcP@5cJNpbBq0m z?&Tgo)=yE{E!?j=fjoG%UsVg!p{oT_FZy;O#W$HfL|{lS%G{BD?qu#EyBKTszoh?M z>Ish*uB~N`SMnEhH_!K%B8GUkz2phsp7?&ma3EtN-F?3sgb%z%DUYAgn@)#1D-0lC z!zf^2N!azCZzu{+n~`QscN^1^W_Uhq|5Sqr|13Vq8zNjzf+VA*@_#pyNT|6i07#%06OAt>2N1A*u~VgmD8)q z47%qrV%Fm~JdliF$z<=E*bl1WJ-$DuN#a8Dn%25w?37hE#?7>N-R0K!nFTROYty(B z8r1nb77E!lYBFT+>6lwsS&n~#Lsudx8~KQl_|MAVcvgR6HR<3u;rKbzI-M%6(T)Tv z2fT5%&R_SlzT59?F}Cla#p=Rb;fb@yyPsG#&={xL4BGTOu{rrrm2y+=fqP|X=)2kM z1QilA4NY%W>PcU_*fBBH1qz%1ceG_Ko8n)v{yQ3FaL`72jRp&Tbx8Tv`1m6qryy6{ zj)TP4t^bT7z{n4FSp0JyyNmx;afS6>CGnw5kMpQEYYCHu?DX<(B7ATd=^ZW@CUlYe zix{x|(csNVF($&W}=mf~w!XHJJ37w>qg$R`yQ zE;T*AT2sXOWjkv)n+~H#{o_vB6{DK{?lCo$LJe1z=p5d{Mus|7I_q-I{{84NlUy%| zM*gD7*`-MXDi`ta412|tkylL`q^#2QS`!k(57w@Ap10pUO6P_QeDdJ37Zc&@(6*g) zh}+q}1Q9#vh}PPIfxB@XQChnTPcyIDb^=sSyJlXvl&RbRk!XSQ#Byg(>;x0bmbUJe zx=m$g02>*^nKbFQ|5qT~zZ0I5dnYKtO@Q|E0iq1qe)ouG_xsnuJKX3Kmx0yH1-^fL z^EekoGuFty&i)X8@aqU*cArrxx;bY!9e4j=xUNvMByiGlqiLycH^t=y_~$ou=16^A zbF19>-vJux!>2HydV8NUjGOd4GJ;f9`d`Zj)ghtQULHle@V?g!iM;%lwJ>#U^>Hse1$);Q&PznU0f zXSI0Qz$@%N_tdrSx%kZNALXDq#p`{jYl`uF3QC)R2={~!O^{+&+}I5>A8sW&+fj6A zi>wL&sUirqRF>%1Il~24MtjA1#jNH~GynVkgWa@@I?moBah};2^lQE6FF@yx>)=es z(A!M=-TKm_EvS&zI-nfTHU({@or*sxKLh1ux$n>9yV~_oDT!cZKu+VLEs)>li}P4U zzLDOA={UqGK0bWU@N)K(jv!N|#`pxdMiMUAk9@*XF^2(Ybbm?$E79*Wm%X^;t2xS7 zWb?WRo`n%FT(28=j1kG_%Mz(Lf_$w8_XMI>CkJf^Vfh^?rJ4>oqfsY|sEF7^oJSCT z(NHRC@%~bgXNCkawK}!^B=T1Bl`vVC)@qYesWC1`rlN4acYrceiZ=+-{gJ{FB7-ol z`!#x4*?aa)s61qCJUXQm`~q>qEbd!$(Y)uIdrfM&u-bY-UAxX=zKTG@dj}%N+{Q|1E_fheaJY@G@ zJ~Hb`bDzK1zavsS6u%?ihw|pIKAD`kKQ*?3NMrc%3Zw+h`Qk`&^sC<}-F3eu*BBs#0sChfN;`tk)yh3A&JQC^b*au1Ki zYs~C~vET*r1X${)bfibum_3AW)jc{@K1qQ|XgyC%LX9QfOULIco6_n*qTB4f2(Fg0 z1bQ}f!!EyVUI!KGaN#Yby}3frbhWU+j`Xp|VB_Xoje#Akz+rK>&GCg5$YCHsio$&^ z186%6YZWTwH}p$8?(6R)gHOdvySRs#F$frCz{^RVP9%?b(F?=viUAm84s^yTj~{tK z{k906on+ZVvo)Jl=0p1j3mX$x4yFyX?K97lQujkt^7~d%56`fK#Nl>PMr1sIywfJE^5aq>oAM%$-TG0c&@N%Lf5&FSp zz3W-t=e^%dk|dr?Qe+8C3R&}*Qa=Xrw+vr-zuGOj7ckv_In-*wf6PX~t#X8FiGVa0 zbyt3ffF?bO(iYCI(yjM8?e<&U9Q8a_nr5|JZnV!=8eib_SuUFbUufPd{mj-iD1l)0 z%pvd0O}FLE;ao5qEA_JSA$P#u+qYwJ%Pm_Gg?yN~=Rcz#a=NSKM?S123IlP%1@7-O zN(Va*=`Src2CN1$2)L|CwLO;O-M6s$2)M!Bi(`^aDEj98diP?p7EBq%zJ87mXK@+0 zIjXNrsA|~91W3YaBbjJK5!}PD*e>5>f`=nbPMeA= z^^O3O_%@Gf!dK?-2m|@o^8(TLkGJK!dbaR3md`m>jF!%99j;19W!%kh=velst;g`9 z`Rscoir@cqQ+~|O&lgQ8*qMpXAchl1YsZTEjzt}#O6tBc*n319o5HQ?ER>S_LN!=S z_OJVwAR+uA&YNUy>-*e_v1@+R!XK}cd@l`l;pE!E(yX39$5W#@*+r>hp>@Au#KXDY zq#x)4t=D5~%Qmua?>OV`(nKwbX{!OqwpckrMve<-@QnCn19ZnwPlN2)q1|{QXpEO1}k{qqsuXAYH!N< z|MB(a@lgKX8}O$jl`Yw`6-AUi3}#5SHY9ttLMFr*Vyq)%XCzs(6ou?d_I(}eOtSCG zU@&&ZG7Qf>eSgpE_5Ahx&5N1${XXYh=en+Q?)w!o()$;+_4+(b^>8yQDwLFp?6eNR zciDOd=qs(_xzkp~j?J(=sO(3n$lr{pszY`>!8k`ZfsAeDmS2rHgu>Cj@Z$GoJWDov zZf58sl;NIT-}H|BJ~ICUIhZF+a-R2|2gEp!w>`dwD3Cq(VDpg8Z`GRhMfe$bq=$c_ z!m94-f}m-`ji}bg9lwQPB@LHjygFh8A{R%$xqXg!FAJwHz1E4(f6BG<#agw(0~(`z zk)2X*9tPd%gsW5C=j|?O70kamV-orKP^5^Hgb#{P(zpg+DaaCtSbYm}PfAFCyr3Al zsMv4vW{`FNyiyS&5;nL%|35vbVahpX=gV8pKQMF8b?+o(E%XRxgOx+FS07OR2=O z_>x%DE(S%D{3kZ1jM)WE+mIg8d~hJU?Ktd+y3qJ3{4t`BcJJsftgyCd0A_i0FOA!o zj_j^B5k9QPLespE)47NgO-7k(2bZgWh+ZZnRVl6>hPYs}Y)9LqJ#N4rLd0quxr|6PkcPK{TO0?{zb zAh&LLbFW)YRRQ$e`dGCV=c2MFrrPxjN6&PDB2;)NSGRQ(feq^ZnQ$#xQ6mLUpo(!wlsejiBau=!?DBD zwegCD>-f5Y42`1wk!2pYK0htkkxb{z>`y+2Z<4Z0^A(|2-FJXWvhjeuNP+$2e=P%w zJMm&=KqeB14K^F;m&d@*m24LNj8DVxTcJe^oU#j# z)4#lBV77bvy>0r}gY7L_ALtrR-gQVZdc6pTDx>D9F3MSgJlOVgCWk2I2JY0#~n{f5!PB6%M_Q?ck>KorWtxlti z(@`kNF}qW_8@5!ud@@|Ms8O@cqq^|LuY3EEe|^3{$>QL^7hGFM_|e;pD3@y@dducL zyD{osNwe+PqtcsDi3VrBv!S>O4Z*7+S}~gA-S~Q&(TJ~~OXf#G7;hh=61r;_bL(-CWTRIR7+Xj2R+EGYlhW!m`>b-3q z%O3wHJV%3OpdoOf(5D@ayYBps%{hvD`cui!EA;)I{*x@q?uhLUw|>7tzSb!TO~u68 zxwOQnx(46qn!(w&$bZmx>LckL|I<$DE#n(m@ddbuRr6VWSby~XJX1@p?8@PQhEJL? zSLMt~DN-E4dyEAMT8sn-ln93V#zebED<8D%AF@{$KJ~2cqWWGo!rDP|H9Bkm!t7Y> zLq4P2_r<C(``0m)o!cGRVDdR)N*10xUCO!ANC{Rtbob0wjHIaUL z4tG5rV*H@9ovV=mqVcCkKHZmW_(NFgAm8y^pg+hL&{{X@CDz4w-ni$oxqI{Ci=dd# z0-1W9QC^u5(}8u37BB$Xn!+uTibo@}(YXGFm0`P9qsegV}vD^12!NPWeIo85KR6^ zR`<0g{c$(3rl4GD1>2-f7GuljdE#E0u}Nei$*VykD2@5eS=ogu7NpufjP)OJ}ud34_eUvegezdmcbCnY=M zpBxHoN8YGXlw_k@eRc-K6(sj3+=+8OWGY8FQ6NQDyKsk*V?6QQYW*0cvBE9Gj$$}y zD>NoM-Olvtamcq}&`GPtn2F78Ro+@qv{fCqOML?!ca4ni+gxOlVl?~m+jNrcxslyU zsoDU9b+6h0&6>R_fjMrYR_8zHR;S)(EC}t`K#hU2#izP^9j<`%c{bO3ic`?7=M%V8 zU4?eP9NPtVA(BqGyJ&=iOZXN`N2G5WT8mszdi82*TcdDrN!rGI@0s82Sj{$v&s_mo zoC1ZfKiTI$UvTBCPmr6ISv2NXKyuj&e!6n*ZPNq)HLB~EuAy$i(w}Fh8x&&i?W~7LN{gp=V0bas z+`V*H+^wo1;EFlHW&$+WN<`IukPPpoCHr%K|Lr-9nMWNv$7I(0jv_^I)2awDWp`2y z|9-|X9A1&Z*g#61`E5A_f zeUvI@oYFkQ&m!eUc=Q((a>+S<@2eC>&EybpOUYou_oBeXa4Yg#zZmZT`GGfrCD_L| z4s0pGQlx1(=mfxn)Ylbxos|BVQc4=R)thC79u z{JOU1<+AoB2e*7|=^%V8E5QjqbyjcJGMz-~WKOU3rzuu&erh1;u}SooU!l)|eBhFQ z=K)^1Zc9Ed0=x?(ijfh4og{|rr_H5fUfF6h$}$8qhV#6@od2Y|)046|a9?Dzr1R#m z#6V%E%$` zZ$vu2!h86Xa=Gi&%xy=UWvW1f%toOah2?+VtdK{D6%)Zqz6u-tW>7kM8A3Sq#V!qi zrUGubaHxy5Kb6S=aEMWl#uv+cXj;@K_Nm`t2`AnJ_VgoX=i9)!^8D$6n-xw}VP~qj zuMWbgqUTZ8+`A?XOp>D@AHx$3;LWN7Up)uSo>aJ^<=F&YrtDT>)ms3_8|Ez^M2*EH zGJg#;?{Pd>zKPGVpoS9R1(l>JFz()AUS>QMz)3)2mgAOA-%ry19l2ZhXI#_4!Saqt z|I_JZx$WdG^o#s^Xlv@;T7QB?V~OP)ih$U!a8dGD35MVjKzS+qha!~T4&pu#2qp=? zNc>oLB%1S92x{t5ANZ)HX6v&V_U7mLpnaC-I%u`=-8l?AbRnFoM3&$$`R@AG+J^#F z5If48zHa9NoHN=c;+O(uw2KvnjH^!r} znVGA``?RzoJBuy8bbB1Mrfa9aaXSmfes`Uqvm8ab_1Ih;rNA;Ot}@->=NZKiW{x1H7^A4 z0OiMNTN`l#q)2HsTV&q?M-hNZ#4FQFqBnO*3rA1yeNOvCI zq8~p9q>NDCM;fTk zRlXn2OF!%XF3F7_HhHvWAtWTP4q*~6`RM4NLVNwVZxbTb{L3xwj8ea8cgk=z#QeAS z^IWBjlj!wZ$FngXPCNaxRi{FKC_N1Jy?=Xt!qTg*_~1}PCYT#|?;%&9`10c3awoK& zceOSLp(yi~SvE)u^hxeJ!^E4Y{}GVb<&>qo<*-LI_lgg_AH<>0PoRBwA(l-s|Hy=i zDC0+97|R)jLo7{SXD0X4#$oQ#S6xage%a4MAe4vLOwG zX>Buhm%(Xl*g1bNNP|ZpXXCkso?ejg^XVU8`5`8<{w<<%lwoldw%h1|iI??OD5sju(!VmQCo(e{n8UN?oqFA+zeaW3ew68@_xNR_naKfMzR#H(>Ei;!5GN8lV~P=Lv<#qJVAHPRNB)*zWDk^0 zK!Rq7Z}4>e!S-0&$+HZg27S>nv0m7Le#|dT@nK0H=JZ?ma+d-9$Zz*|W%{;Y{rY*` zsHL7GAlW;-+p&8ePsO-!>1Ut$|8dl(Z*S&BifUhsd%7C?A?mj*?Js7l{#TaT*Z1#| zI`#I1#lh>ed_=0sDZQ`_$jjXAz`R=egf7SG-S;`qQWqZcD`E4a>;|zQ?`crNVtT1d z8g=&6|4I|y?Uxy2u#dXZcq-PQE9fK>$$r2}<+(O9mowAmDrJ2U5=)PwP)Qci>*GI0 zC|LfkgrAS3ND*-pSI&oG`CKO>mRfWoSWj@SW1A>@ei!;|=YRBRD_AiOPQgJnI!gjC z_^?+ro~%NA-`gy#`8ZfYt;z!v3*9?>$anUKh5jC9Kor{Ls3Vj^50_!`?_>;DIY&*c z#dTLXE1lPhr*C7788@XPuKTA6ThpCL>O1AguJ$~hqx!*17wFoyEs#xBS*LPwpf;th zDW|rlllFZ-0cLe!bAhE_?9^5xs^@b=T^G9K0q^&@Y*CL}d0sA2N&8n_!|b1)X^Rhq zPs44O(`Mgp^bS>w+^mAI z%?VIp8u}?&sw0*f8y(YlBP1Alp|Y~mgtu*?n!GR26Gpgb^+h4rdi7W|HLQQE$kYS5SQ$nvw_}ce4u(cMvXfoF3Mhsd1|gU z++|3->h(xK$o1*s!5cOVZZ2&6%DdD6s~QqJ9o56A;?4R|2~G(@Xeh!s-q=EobEeZtsP$j#I8+a8v{zdiXnvB%@^%N zn(lD{aeiU1=-CE4%PRgV?@LIho8(Lm4CG!uc4jzGfyI$i+DSN}1%2*@H+GoS%xI_s$qdBfWzc{1 z&mlklX)=I#mRQ7(XX#M)V?#`8ULDHIDg@#oE#OKxdt~MqsZ2b(8p36X?b+$1i_@&@ z4q3ckmYsGmT`)skXlJ+g6?C%m`W6;Rm~>}%UM~w%@VMUS2o|C}okNILPQ@)#ffGXh z_Q&B7!_#K$Al2{CGCj)^>n!388byLZ?MZN)L|YW$GI_T7kI%-7#B=2u{61#KuJniU z1 zlU3n~6_eBk-XmAF7GCA1dpCaky-83EE=!Z$uw_6va-s*}47l5WniUgUohXGp0(djS zMLkQNo19z*@Y}m9`}OjhK<$X`aHo4(qDcnWwkcW(u}5gt--WQXb*N31Y}#TpZwJw? zzEHQZ$xUhBB^WvTCx-|AOFxTxqiPuI*=D!bt#_289PX-CEk!92yh^20VABrJXo+hT z4im$uBLgcEitswGZXn*i^>?Q$uP3rqkhrt!()lhx-PcCgE9-kI8G7mGyiJ2u`a{UO zSBtdLsOeFA;+NK7{t5ZzJC#UQ6NdBK@^o{<{q9YXteexN!&`dMoYrr=@wFCzz;$y` zjpqkw2FkG0xajXvo_i7JIPx^_$z6&QATFkMP*3~XN{U#wU+M{u(zgkPG`AZFUY8PSS#d=pl@%!6#)#u^|81LWD#p1>KeeRao(Ct(ePI-Z>IbRSa%y4B%K3p*x z$MeC{P<0{46~J!rNa&HF*;#EE=3AM?K$t(_^_?{J`z@S^6g8bpMHkUZ^9O121Eq~#Qt+T&J#8b`98)cT(0dBs*o zxbC%gkLiqT{ah4GBMSQru{jy%c9N>D&xPxG9H;`mdJ&(qXCtC$BW3v@J_OoX(NZ$6 zj-h?SY0}VY3^IsP@?xhFPn~sU(-u_PSTCZLBD7{n3M9_oG{I_;wKu9TayZV)WjeRFpa>)Y~hF7xqdW8wc>~9_cpvTv7gr`;Xrwb*DSmI3EJv@G##JtM&AW= zni*lnT&JYQ=fksdm^0IfLk)W_fhcM#1fG-0E*;P?!aD3CR!LR0D`8f~uhuRqSHrt2 z-_f1B)0ZN*{K&e|W8_y@Wd`5+y3ti!zxYYn8C^`EXM_(x7?zA`Rc4(NFszS34`lE9 zBApxuD|;ThhpYPSP4XBW2bS@b(7klJ8LP(!p15c-8HBmok(~KHQyS8oQ1(AwzRnk4LA~x^k5rq?U?|2?^6Tuw1DEOCI`jmfB0XgaUx z9s1kE&%dXrA2z=)ZQr4#tz!GOvei>eADs%ou%7iwPF*IT|CjfvYZ%(~Sm2^OW7+R) z5A@JLc4TY=g|j{vhi;qkD&4)Gc#zkLV#u1Daj6p3Oz|1rs+#x09cG@MM{v)MLz$1Z zUhK&1UsrF{tkrFd!UOMOB%c?Z2|dDmN7>a3Q+@q0Cuu1S@w1YGzL0kC!ycA%|JrNn z#Ebpp`BabDsgWnTCKF2o=6-5b^8)cP4;7c!IW)h2uqUsg7R-P<$8Rcn%VUo!d=NqI zQu?x8`YE#clZao`)9F!bxhtX9ZBKt8qHage-$`0(D{o7by7kx^Et%Hk>X?(z>k86* zNHR7d+#^5YUS*WyFh7pz4;X}L4lU2?Rzs( z##LZx777EVv8M^|LwskL83I|DV_bo9of&gCYYHeqZErHX5-04Hqc07eU14A@M?&Vq4FzB8sjH0IdHk{d+Gn`(5G4j6b|JO2@hyrssla@2MeKcxB zU8!N)P4&V9_)Hth5qwa-Q-yxl>!9D5xd!8+-Y4H8dC$q`ZF5)oY)e2>tcwA?heYzV9Inq+$Om5~@ zwMQxlEygZF;@H-iOXIW*VO&hpD!hRCUHN}l-RMXAPe+RU{q?oj2|vX&G8fu?WH7&h zbE^(I1IRK#0%rHo26M>Poiw<;WDK5?3a!$Hirf0-+UnDGb8_}2>j{&LqA1Jt)Ulj0 zW7H?$PKA+Oe)TlLi-smJAd+cAfWpO5$>nkxcYEK~H-DWcU@DL=xTFZQdF4WEZAsnP zoQw|lMR6Oc>b6U-=F7!U?jkW3Y`QAXkRA^(LguV3ceWCQ zEt~@7|4O}$PVB_q&uUmvi@ffY%o4H3wcZCcUK5ynwpsJgeD!&E^3V{^Hw2IACj$ph zTOLtIK7VD=|r0BwymF62vLsd&rhr802_oTg}pOLz@XY-CRU`g?&u z7B;)Ht@ z>t#dgpYVj=UEJvjJmz3HYw|s%6Z<^lz2rpq2=`jWWj%&kw;|l@-7ll9OTW^91qK3F zxEQ_nm-$;dHs`G>$9JcmyPP04X<=){6KG3ZJQwFZIWz>gcO|2A5BwRI(m-zPml>9n z?(iUhawo%)uBDcK7>D!RW~yIbwewiBDB@dhE*EaN{O8C^x7FtFHX^ox3XW72aJ?I% zIR}q5CiZ|azrb}5m2oL|F9?%3b(D{lRVWZEn$RVdW>ip>oEN(+__b5pTe|U^QA&Tq zTqcqkkrEQZZCA^KalNTnI8N^ZLZoqOlzu+Y0QhCP#&zQQOTP)XoXaTqdza8Qii!ug z`et^_?+DdN+^K9jeHT9Wz=`%HPrK{b@>`TQZrj~QNV9~n?OasAr@8>C#2}BWaqrYl zd@^csjx{id><%cu2=d9EhQ!t@~!uZuekoW^C>pZ4QDSQ^MlwCCm5&lECaT_p-mq>Pd{ zu7>m_$Ok)%S(Y)%x0Yl}H{PjBnW_6@>rPj^(8!-%RX)>e@*ozrlv zCah_anS30gyw}&|ROvE!9PIAX-JZ!hs7Bd&`Jq>IL(F2K0EE=-iWAu}X$Tb|224?E zD+1)AZ*OIV4K$z}ia_vppC#yQqIEB5s9QY4Rb1Wk#blk4*7VZIS(`VJwDQGvEFJu1j ziP`K}OYv92P2C89;`&}`nZk3Y%(wrk4f(C*VukW~6E!YMdh)MhimF3zy%j|FqZJjf zTH7g>(dUk?8IkT2t^$J(IYnF1#(KlU$%Y2=zJG$e}=4n5#XjLB%1RnRl0yyDQL4lKH9&Sjv zj}Pm}t$CGeYD>bF$GukI{f-Hw~FFCAo5NiI>>+1|3|uDZm*&C7x`ej(4GE`u-UhHHPP%*P=9axf|>Tk!Nz5?!H6^wLn9|T?+$q(Elrmsw#V|=hYuB9 zxe^sOfJL)_ljf-2)$GGOcp9IF99CAydGd5>ER1Io9@&ugM#$=-hd(N5vP4?s-zg+4hnIN68KGz}8yFXmSu)GWeOTLk4~|eJ|^57&|jKy z&t0(`46$5=)H?|LOQ&pCe_0otkB=Y7X{5(XzCL@9&%|@*W`l|Hc#&&;Ny5|T*w@_N zJ3bR7_>>+WrwEyd-s^e0~@C3?2ZN?Oj5^L717yy1VIghnN2T2m{Rs;>$Fg?dkw;z4j!A z>5FB%aup-qC5>k+FsZ#dJm+@9R;io4dQqI$>v~3mCr{?7EiW3hzUq4Mv36#%jm1ZUB8C^1$rsU4 z+=Y?7M(MusCF5P-b+V79V@kPd?OwOH^?UmGm*)q3>uNosbv|Kdfl*=g#cK+CA};V| z#VZGj5t1s`*{-+!NT~vRwxM@Y>lbNrQe5R@g=Z+4XXJ)^xjgn?CdTeq$C!+-zv5+% zy1-ev)oXH?!-%1MSvB1>P&jJY%-4q%?C^k~2$C=B-fnJ4-#;#G60I{4@A0skH@V*5 z*PU?cG20wt+&R%fsaRs+wOxgoi~2)RWH+#au`<;!_lG&{ z;y)Rw>@ue2)Kun_iq|R58=!y~evK z9pr0U6TLe(<#(PlMa)NZ*LFHW>2RyCqs*Y34%NP9 zrv>hB7n2evaq&(njD)SH$6VFxyn;>z@S=LMZD_MgojNa=;RB1XK#qvgzW)LB}Q6>8D=q<_N{`7B4lxr+9vJ69fm&HE3S>>=FfADA+Rf+Q&$?a#?W~@?QWm+uy^&;$e7hMI87_X!9`@Pq;bH(knC$Q$#4DCQ9!@b%S9pJ=z1w>a5g_`1f<{9m2P!$- z{hLy}4+Fx?I##?U*7LjaCxI`rQ9b`Nia)I7ep5SlLpbB_8;&Y2D*K!F-KnBCdo8}} zH1;=a89N(SbYiV-W^ZPT?4e!IzG{+CA#J`CzQH8%)xcXf>sS#f3<8!yUg4oe6(L}p z8Ordy>ljc>W*$DQodWN&oN?kkC-8dnpLFmL?c@)YI@`pDtq2?7{YbA!XMuSCCVfIMCZ&+j`mIW{PY&)C8a3jR6A2Q8W|> zmDml%Z0rBNEyAxsjp^Ni=`a1p*}9M+X_MSt$BwMI=S^AKudc_3z+6_D14SEGRbrbx zHn|&FiM(Xv2chdDZ@#GNHSU}Q3 zPHvo{BGf3~3p=_u(>a$r^!m&#%^_#BlDjOk&h2{?c;1k#isR;$8{( zNOz|2lMx?`*16Sp^A7oXU0+Ay&pyKp(%sDRDyN#4gZf+_n5%tpqIkcOZWfO8 za&zLrxivo!DNQ*yFllfP?o7m_=<u3`d{KIs8elz?bc3r?X|8m!DnH zhm2P4_y%U6{|s%eQ)-WT-a2%Ad-}fSX+rfbOB?+#)vZO(zvv1quiSR&vsuTpH@%D0 zcb$IQp1!)N!a8X(mH3pw*@}TQFCB3y2(p@6t4jSBA%XI4kExS!T<3}Toy0rP61dLH97Nr@BAIJDfMU`aR52aT;E9;m3XsUGF$6Y zxrp-SYP;}-#F0H$VoIdt&d_ee{0w7XbO5;nFFbKxP~ZNtws8MTKL#WyqTTd*9?`Jo zEQ&Cjz(K$aBO(EdfenPH(LAHPJUeowIkl z$ujfZ{Jq^oVKE0s>h;DfzIET(mjHZ(QM*}aIuh0VKhpnWGOwk>m3DO-J9J-yC0y2v z|H_!Xj2-LQ%X{aE^?MS#{wFw{BMN(uU;2&N_3vEIBR+}=H#Qjv&ch{qJoRH1%ZZLl zfK@Sp!nz2=1lF^_C`5s@0@M!7@&(w-u)vmruQ2|FQtdSmk2%U=EL45I5B#!dtSrM* z7}?#W{6`ptMC$9*&1hh4{8K@iMpFKO;x+3I`!@N_+Z+Cn!bOzTu{`7BA-=Zq{N(C? zjJ(UOZC1*^l+Va}Wd1MemOPS7kC*{*_gI2S_3vnkt3bBt#Mc&Si#fZ>4pF(kDeyi% z%Se?$61xYT4Ek=5?Ic*Q+}9X@Y2@=pDH_Uv+lr{^Y&hL=nXJwMrh;C+7!eraT4R|Fix4>w+5M&wr=Hw^>3 zV4{GqeVeElLHF!#+r`{oe^aNm^~?hiX|f~xKM!r~hwJ77%AfM4P|(sqxx#VcN%T%g zj|qjJVN9WUBb0lK4MZ&2mr#^fi91g1xa6Wz1U9Y>Q{Z$Kwdit0aGKZ;avc^|?Q%fG zb{(#|=KMX98uj)PWgM`t{FabY(g^5HdLJ#i98`IU(!2u(ljSE@aC6u24#(?DN!f?M z#fLX&UUL1uT4O*cBBDsK(q+&TEDumRlIC~KvjB2A6Al@zKF-6j>W^2DD= z{jb^r19F=h`rSqIjnN~E@y$DGvjknU%|yJrm!(_+lh(?-_49@DD%a{=?$FjT<`|r< zY3#*{bk}nRXNjj@K@fhway*n7m!_;RwfYo4hYzP&aLJKo89-b_q*1FWuzpuKY$+%K z1T*dEv82xjk1#5r>Ci;3@WYJBTeRRG`m@UP15Uy1&JCGdb|=1Cr>W{SIDg%A6C1i< zePp$KGjUW5(t)EkEWcd{?}^I2XKoU{xVSyItq;v(R4H%#45f;BVcMlvwaCaW?P~~S z6YcAGvRvcHlv3m-i{B@ZLR|}{-6#HJ%Z-#r-~z0a`IW!sc*Jw{(~JQms`qkd|LlFs z9VeW#f$~~oZ^@Ha30ZbCJ8y*rg8G5RbeR2%UM3}eGe0VEn+*Vf)tZ^HhkwZiI68OK zkCX1h#X2v5ZwQoRxBBHRa1da*D^4n%)oskWwe_-o9i9;dG^_&#EVr@Kzz9yZz9f&@ zy~^BV7zd`0p31eHz3N7C6Vs}@W7*0Mqt_m7yO!2IV!txofKm-@db2G2?@&Y=YfxADl*zmb!(>f)>*4X|_HryxmE2 ze`QzYTy=~DOZ@(s*|Ez$OL>$=cn|M9GkPzraV*lsBKqW?xZpLkK;g9fN7J=9jr*Rd znd0s=${^B=1?vu?zU~b$ZLYS}yU(kb`ThDY^9~V^Axk5+aj4?PhkX0;%*Bnp-`z-EMcF;M8cI zV|bsK+Rk(EY9Uc(Bhs5vBqVL?G*Wgg0&Xt7ZADMMaMis3Z{X1FST}vrfd$oTLN@vz zXs0CJ5Bawm&QmNMG8P~2TcRbZEtJPCdmN#?+oc*qN&kut)9t+d^2AJ}0CcoME(qGt zGT;+L;wZDVnuEMX`p-gU}&JO<~% z$W8#o6GpQRs5tppjy+J;bda&zwYq#Myze7S{%r7P7mr={e(YOh8!NMMe;Bs34iWeq z2l8HcG<^hwkm*CEq}L8-3 zg$@aH{OA@5!ymB3T;14OA2$Kx%TS2_;5SF1QmEBJKz6z`TMtmr$AQHjRdI5K(SO7= z;dZV0-EEmX&*{adFqf;+(1?IMGKH(5n2X!hd9#-JP(yFHi8OFN`X^JpmUHrFL3ke) zixEwq)>praNZF3qyCXP22>A14Hj31r=0JV6W`x0pwpRsZTh7U?XnNy4FX#$5t||o8 zwsyv*(t|$&eL`R2<*m2VA1!+2R$)u|#Z$oiO`pUBBo_LjvJvRj)Opc#svjG%l~8B> z;9GDdyi<>;TpFFSs~iWYF^@*A{luAY42TTDrV=S$1(oww|!%<$Uw+T2e`y>TnjijBB_IS@Wv zotAgh;_n$1l_KKE8R9;^NDHj(TQthQ(B`YbxA}to2=JnB4`(@;?a|?KYuYj;l(p?= zuf6eq*LHCOL``$XkG-hRJCue^1;#W)_Wul2qo;(n5({)l> zWt_eAonJrX-&C{fajvkpc^&^c;w^K?Q*pU}qN2rxHkU|wZE%|P^AnM6#-(bBqi?^! zKy*!o_M0_iC^`BA{(rleBoBAjXjk27DAVAgt0`|>5t@s*K-{k;mAhx2dTa#o zR1#5^l*yfaZ_+0MxYJ= z)J*}b(X;j^hpW41QkAKZZ~AIlWo_0lKSg<22swxJA>P=nk&Jmn;GeN`8j%wlm$asC z7fR`}($bpFI##>vZ)YSYQ2M5n02?_Hef<|nD8yl5gV~u~+@ayUA)4hlE>#qc=N55%r?6fx>bwY;hN{TC zye?Yhz}&?^+~Y|nKonKP(#dPeJ4OIVYYs;g#o+Sq?nF_H!e5`e4h)t6vP|fw+}0EO z-p6L;MI>-f^XINAVLSe!_YIs3WLXQ?Fu-)LqW=?L;QZ$h7)$txy}Ft<>8@5TMlxP6 z8+c)*^ePhrTT*%@<9W#ii1ySfXL6_tv@UZG70bcsvYJ1i3-4B=SgVOf0-8f@ta;$y zn$DW5yTrfNN#2V&{gPz_w2d-)0)xP?KCvmkO>qw)ZrqJ5`ZsqJ#dWi9MDkfKrK6|% z|E6enG&oWE-NaYmH2?ARFM;ydH1+V;mX!08TUunP1nRZhPSBZ zg=EG2YOP*PawIg(%1=;pM+_hU8%_DW3%#zjdm42W_-TLLE#7sV%n?8Mn-*=*MpE%| z`snRpmXbCHQ+=a#tq(3{QfAXhLa>SZp}BP>UD$Xj#wi)uqvxVu`P}aPA0fY8GIH~= zQ#>X5eiw6oyE4%Uxw#bu^MY$F=Dq>1bd`Bi9VmJZ7wzob1z-wN=hnR0x7aH$C!@uy zF|7L2pYivsUi3`wbmgzUK2(F@9znt57GB@pm~t>ir__EaSfQ|r0M(4_5Wo_F!Tokz zwR3rg$(it^!}vBpo#ZeS=M?S2_C5op{{Yk$S_4psGjx#Dr1o`jcg+I})?1qRVM|mWy5F7;x@F^%M*N-&&eKYd+cXL1OplJ`lW49ruER z7ypYN(ZGPl?AWkOMJ^KsHa*NjoCUrW>C9X?+V22o8()`N6DwuMAT_KhGz@WRn_*nEmiPAF6%%MAh!|Z}pe(3&(FxJmcY7FX6 zY`Fzj{B#-L*kvR2i(Pv7_#&IDEFh5|-r>hsAh2&?4xQyK<*z7o0v9*d!pQXtcTWaV z+A3*6EI#EOXt3tIftD(?b`2$4sAZzu1XFE~#ifP-16}tLX+H$v-`lB7h6@ZY^9dAC zU^g%huS}ElbBbXp?LYDK7HKGuz-PBpACFIe(`mG7^d}@pbSa5-f^!5gnZe5~?FyQ{ zF8N5_9n$Jap3;{%#J&YDor)h!Af&Fp+kU~__vIgaYWen#ze>F}m6nb*cqDqiITgJx zjj4V(nUTI78B5f!)wC>(G0y>38O%2X+|Y5C+7j8gJVcjx|CCL1Iqm>xe|ULI=iL=k zptU?B>q;p=7LN(Dl$O^J1x$${#~p95L{Y|*!s&94cmzeAb^HIQvo3rQG+U=@UB_xO z+;@+fV1IWF5o0qutxTJB3zfeUD7AHKKstjAQxlcD7riVHjvHYpe2gl;dlqxt^qVsH zps|Ge)(d-3WHJH7pB>7`F14-Xpn81&ye1F zAC3Fpe(BJ^mDecfOV!@1$_J*UEVy0KM;b@{+}7(A0H@)8X`Y6=>+Z<)g=W(|N1Sen z(5y&3j-%BwAzBavl(k7i%<OpTwBWQyHnTM?3J^%&)hEihJCUtB z9o_}E0k@dkZe;DM@~SxemN@(^#r{n9o(oqPeh+(%%CI&upcv=SYwQ=jWM{8Cqtmpu zQ<*V+`5G{YaIQ+}y{c3O|Hm}?kJl#@V9I4V!LA%zdf!t%1e-QQc4k!j+LC^49&N19 zD{tclYLP^vY@I{IS?AsfO`VHZBct#79>kIuH&7<-i%Hdelgq#uq)hakf%uZrkE93C zb*BScuZ|9~VC4D6V8rvyXX14@o&ili`>OX2ftlStx{R8hT}~=M`!oC8ZgS1v31kCXHR1J+5}`&Xjk3?rPX1hW>mM#i5wX#F5Ip$2}JqsPr~N!iOZPDgrS zAO)Xi4kxr`d9i4vV?w4KuwzNYE9k9@eVUc>Dj(~HLS*5LPg`!0_iJgK*>qHGJOXXK zu?F>B%tQtO)8D74x{=+;9vOeXq0M&un{``r;2E;@JLuyJPdQ@9l(fi-W!|U)3MO$? zlCNZSqWp2*Z06}c*a>BS(!#1RoVWv<-|8W>yVPmGYS}OQPPx`o(C^3fmwl)2Pcu(N zFzp|^Y`_x$mXbfVfT}sk?H1?kAA8tXD?#ZVFQOdkJ>n`p&*7Kxj z<+Fh-$LDJBHRGPAeWiYnydj$X$slW-mwMnGpM&o4LlNR`(D?TW6yJa%R3p4ICs zWepL?svGY~t)A{^c)y5S9xewF)RTy-(#2MBn(a@3%nim`HL@I6*&u<6*oZp@r2lsp zfO_OwZb+>{vz-u2ausvcF6h)2mAv}eh#oCKtT$A>b9MoO!4JI0AxC;z6% zfJk^1xwOMdw4i$^vu$dKvGWl7)i|MlHU7~*IiHe^2 z^m6Q>9*h#5`|k_{g@vF<*_HJXV#%xgXr|Ht7d8N8`MEa<=>5w7V%jh!bo?~s;&t;3 z9**O`Ss`kM@qR`zjM0aR5zbv#xL>JVUn>cM`N__LcpP z_RdcEX6}=Bu%~N#pN#-tQE)EfTd8IGiHWV^qgLge%mHtuvy;7Cqk5MbG#^5ALhGCc zSz{x(VDT;~vNi^dxXuJ7TX^8fE1G^MLRsuvs5J-6-R1#raKh$r7VA{a{9X$AMr6#03rQ4 zhrr15@(f^r;J)vsk`)Uj33s-S`l1|QX}Ze!BWt2^_H|M9iy;C|kw?YP=hJ{M_X_3g zkA^bmrTOL!@cHJO#ZE43rnzd$Inj&!wG;aI2<@G9XXD}mhfL1@tapIS;TvcM(S+av z7l69v5K}OFAi3{!Y-Yl9dUHFK=1?mKeB>N6csAlPVW6+78+WCaI``(v+5bb+SI0H^ zeqsAn5fx-2of8lVK|m=brqV49B8(6aDM4x2q&uY)0g)If-LTOuNOyOP7;La&@BF>* z`xksZ>>1nh-1j-xb)D;+`-;*MbXx|N23>gs+Xh`sj*AeE&1kbFG*2Fo~dns8xiAFTxlyamIAH zk64&BJCb%>KxtfffJwsRe9(by?QEh5(G0in=yZS+?FH!vVb;0kXj*`J56H^Y{Rk=f5$ah>umIJxXI zO4u?=2C{q>SdLBKJw>dDXt@T=&%5t&YC?AaBpF_vjc9MgX*Q{57j&s}dAh6R>iZN< z`$=V;ls63>K5O-U|BmC5N#nj?w6P~~0V-u%D51pR*LXSu{r^3aZ%wC!}2PhZ7XZnPeD^)=A*6~ImlR-{f}oZS$KB=EtYUC*&Rx& z+)qk-&g@F&bHa%_9>wMwei0_vh+r(#0eL6B)Kgc-p-qC(Pd}?y9?htx@?oT?C0iPF*FXM5pAFlQsrUhV) zHM234m&a#=uD<$GQ{RKHx#EvCWmRhvZv;4&hbuzPdq}(60RhInvXwi*Pe1#6Mafj! zbpo$nW?HZ(J^W3R*>iZ0R1Lip;qTps48wFrtb~;a5ynJ8C?&ior>wvEotOTPoA=5= zr`4cvFAN;GUhD(MIU?W^qhjxgY5oG!C&2GzHqQz6q)jGm=s`S`b88>I)_VL3axE`f zQVVnu4}FIlgrcG8^600e+TF*OclYg~Q?UNE@=GsLF5$JB@d#@@L3X210!5A}BJv}{ zwylSnsuK6Ieq=ypO=ktq0? zQ^??tu?i~U6Ijh;{Q`bUxi(F5x(K&wBT#uG~xkZqv|H>KN+3E0H+Kg z|AhQK$obmqGNKYNxa)OgyT7>0t>p%J{rwnuLp(JaS+_8G(qeFS`VBp?(6YEXKf7=- z6!PAyLzq<~<-<}?jq`yacaWWb-u*@jmHU@^-;G;P!3AEe=(2GU2Oat%f#=l{3lD7C9c_* zqU>Np{&8{I#<$E`L_#F2?7QE z4msk3YrDsh_Tj5XI@wqj1eh>**<-8;IzL6Ut%iZZe?lKEc*3mSiJ*s2F}@$gOXjls zQectUKYC+P;0=sTunK<1qpxV%c<$T$k>rAp_KO&SJ#E?aYN@Df@>r)M?}=ARvAXs` zHwRp{#2t_#r#Bnlxgz%eZtt^}pU)Qqk!Hi3Z&$w0C?nDa8B&yFr5-UFZLsapX#pdjc@6B6W&Ft6o}?!Wr!k0 z+!iC|4-?z?ua>i3-=15iIcQ9&E0;YGJjz&WFa*u-K4N9^}H;$*neN;PUOt zw`&UEXO1794bFEWr+Ip#hfaVpw%Jck8S*L*=vJ$&I>kcWHacy@vsw{IXi8U*fhm3A zD=BxcAUBJ+aD~f40TL+K>lXI7kCM~n{De&}+wbW7+Y(*@8pUE>nQs}f6_!tYF zE8fk3V@X1nuKuSPFw%|=5jNgS`aQj`A`03C6Bc%(F9)EYR;p~GqYdd8gdN=llj=#t zU7kx427Y}d?w5Lf5+UTli>s#htpIqzs+)p08}3J}1pRyxQ3~L2Q|KNY{idtTDew03 z#x#rW>(^FSOc~zk(!OK5dpFtq=6$PMre8{r{I@5J&CTnN#)!)q*Gtte{ct7K6Gh{b z0r-XDLrC{;7u-XcCgM^+Nb><|S^3FY0s(|ypju=*fBwRW>|a?tA_|_y5doi$W=J2; zH-=!E^4{ERzk)$RY9X?zutQ7%ap8o|fBX+v6zpwh9BMFiY=~%_BA!U9`R21@F3+1r z0x;_?U$rDZvZ?C%4@l|U>_6#7B+ouFWLbSoM7vG^E)Y!@^?ztwlV_*Oo40wf%2%10 zlu%;eR3rqMcht1FeD)aa4E|OoyKcXo-a^=OFBjs2;4j0Qyju1}y~c&>o31V4p`X<@ zw#<(9;AnGGqsZx|3$UhZBii#k3yS-K@=CMq*an}KG^nMR2?6AB!{<7mR&3OGQ@aiy zYKZB`5KAq$L&|@YB8lfkAUAu$*<16q#^wK1uFKC~YbBtT9oW9|X}Qn4B5M6eRzO22 z;^fa!wCrX4$MYp9V$QGm0EQrJLcE45NryCY1e-(XNUI4pno%T~rD@#5;VB^ye0)?h z4*l(47oP6G9snK8{B-!%6@Y>^9Bw5GHx-atNs+xL(+hz|iTQ<&WxE!&M9ITmkSywD`GHyySextVk7`}n}%jsVSos!pmgzRyh zeE;Ta-9!)(o*VEvZ2o7f^#@%zgB-YW#?n8Ab zLmkqRA^rRlf>TnxHToIFkCd8K13x-lmodi{`Lk)t)GRaj$-IPf^!)Bb7{T3cL-d_| z8?2RN_@^vbs^Relp07qZzatqstF=)*y|@n zLQyhO+9xJNWK9auz5Sd&yUBS*GlTzPG97)3K}Hq6YOX)VaEVuxSN71E4O_zH#O1Jt-}r{NRcy+IgtNHEul+{ym3Cm1_d&tIScsElD8 z)PzEM&cz=NP~)d|1MCf?&xl8rS|h+DX$$vDorQ(QQzz{23DRCw$wGU0fXOC#5M|Ah z7b*BK`RGUSIbYUs{>bRtpV5qu$M6fkv7L8v;sSivBKa2iEpHYEjdpwuO*Lq1@7UX+27=GsMm9JS@^-SmyUE>=@ z0&&6~zVlG~?VncXY`Fyvuch@BIt-P)(X@r1R-~<%<;gxHr{2fGveehEwVMS`*j1Vg z`AXLyKD!KuS$>C~fTTWBds)R{)gT0hxtoTb2G5&+LTb@m9udA9N2c&5y@o3Idja6^{Yhwys^jHXfG8m1Jc|c?4T=}ip07H5E{F-f!F>9~uqJrrhuoAKL z-LYZbrAaR?E!2hgM9PISDEV5z-mbmFR4kj6QG9t>-JE9c2KcBI{6I4pl2KvK+~wJP zqQDcd#LuldGH|C$K4_f2nq#ltS~)8D@~+g+U)F%w6A0k;xC_OkNOU3Ob-Jfn(V;kg z>>jA;R3B?)tvkJ@!xlnV+GC>$OGVwVW=&&FZ&sM3NUktQ{WuUWx~Zz~R|?(L#X|%L zzuRyDZB~CyKLpxpbOt&~%A6Zm%}u5XZkU4quKE87lw*$K#3uf%5hz$1gWcrgb|t>g z7XUJ|CQH%Vw93J{>TjCL6ld)ipJ>Hp&s4kV4lN4Dd=QfF&`MRcDEU}suvXtbk?Ze# zfGmddQ_2+nZ_mgH&e{{d6e-Ies*G6-P^OZ8adpRy8L2~F3f!?BuVu9;zf$|C54N_p zT+d&;6%A{(9$+w7RHR;cqax^%e1SZC{c~~8QZ|rJ6&uf>PC5MW`T5uC zVRxN=>SbrI#Z5Rq7}zjAEZs>|y@U{|vm3LsKE?T=X6+XT==ho#Hd0t{u=7l{@v%BD zU4f*V^l$G1%0$(%>3{HRP>9x%aaZt5Q4P-?mhD2>d%O>$Op1L;i_?uz(gNRPkBCU? z*dax-r2J{)daa9G;|>B>e7d+;4;EG%%zAU)NV=#Jf(GavDG|nQ@i{D}X1MOTG_FqL zdToOT+9>_wZrcfc>X5(`cHrO1a`ZzlH)XXPQE=SCI*I;0|*6USvYN+2$=Z5A@`Y}sB` zyCq)Md=95%==E%O4Jta1R}9D#x7hJ=7UC=Cwx}}f_@IroWAY~g=LFW1fmXHix6G*8 zEu#Ggz`o475{OsZ_~>q-1Hat5MPngw-&~kKKL6~rkigKTKlrskG(%CHRL&WDxmVFPNmhNs6hcr z=-#!gs8PVHcO&j;W6>3dQ+*Z^VOrJmaU;IDMY12L0^k?y#0p>DIb{~F_4@JXJux9_ zRu1}t#oNVyRM3l+w+3NeSp&8UvE>6#lw&*6=>;iRPe+HZh-w?PKSrvEZ$3&*)=_*g z|3RT&M_|)5-jh7m^CPWJ%S+$BiIoOy*27tLL(RQrYiiGBF7YpMhWcf37f7+kO-xwI za7*QrBEIZoTc7PF5D7ctGF58&WWFlY%#hQ!x+huS`MR{S1@XA;8lYkSck2|gV$rio zX9KP>s3G zT8Bq-hIJ|p0Me<|AyivV;cH(B6x!;Cj+-Au4a^%Heg%@g%sYLJ{mgc2fP!h3f+SqO zv|8uW&B%2^21Dc}3js^fof?eH%TsNgv+F!3Hk0C#b({)0d`YM=y-zM)#2KyB_l zYU_K%g85GyHs_X;9%LLG|KOXpYCBwGyV|K)O^%9z3BZF?U*xk zzaaRwiv=X~L9t%K@fzgyf=2x%ZokUZt2+gemS4_xgK&AyvEm6q#_jc{AyC5Meh+iP z!2!P;)RUA2!hya&yFOELJk2HziQU_O8hpv`bF?Kab@>K8dY;jRU~_4b7~))Of4aHz z%!-QhF))>XnSwWFN|5+5G>0G@9l9rz4@R@|2^Qc{82f}>Vb$|ZjLMP)pg4{ zeEb^So|wMh`k(qpaHNib-d_AmR@&A|6i;v95hT1*A$<7Rk@b0xRLk%^=T#&zRqDA= ziPB5IV?2e=Ce`g8F?_yu%ABs%`+mePcKq!6?UnipaNVNkqZBj8KSgh%fkv9;6*g;k zDg?)yi{F*E8G){p;_rCcF3&(0!8xt! zh!bMF}4(1qdb_V=ENGPU8H$Fii}cJl4) zp1Rh&APE}!ZC=+A{RFeEa*_`5+Jd2o?U1&8EGMlfiRwEl!+MXR*iYS;{YF##-$9yr zlSjB&svgVLh`^TQ-zK331|ZS&&+o9s>IXi7g|AUVaukxO;+F8g%}d9?bl zT-&hijjuYX@7~eXk1Dgxmatp%BtlD+2#can{erc=7C{t`>dSp8C)C-6V7{bORFITd)vv6S6t$S6(nHPh&Q>rup^7aG=w0WsN>ZrxSaLl*|;++ zZ*=Qy?K8^G5J9l#e7cJ_)UWf=^ zD8KmPy3^06%A}&kuJcipF7_QQeoqmx!K`+1Ll^Z2v*yyW zim37*U{X7g=f`iY{fb2qo&_K#-evZ{Jpt=XoKXnjZ?P{Jyc=W`6PhGNPxfrCZhtvF+wg+Oy1l_Hmop+=f_TNSB>8fz#pWFRO zwJpxSN-}B5o`<_X(h5tsPtZ%nBOhtd@acTtxkQ5F-QwjgLu9aKsCTa!N5M9+0xrYE zPu=0BQ{a(|XXAFc1-~ns9%Pj0DcB20Jl4xS2l@^t_kUg3E775G_gan(k8~=LbaQ=M z)CHlkiMr@@p95&8D*8se7C0QY$q-xoP@)ygo~lNsEKr7L^EuVo89e7yS%n1QcMklA zRB3z^?gl>LK#mRYL#*N-hr!UET-KN0XEs;N}i!OeIoG*N92H-B+neV>sy>zMm zBk3Lv^wISG<>2I%)TNDhTqB2_Q!ToPwyl5OiQUkwq(W5Cd+2B}CSG6Xdd5%L;s}PV+k(a1B-km&*=mdN=bE=CRVuZ^2mW9r4PBRFUeK~B}FY$OL+_Sa$#4n}_ zAzN!Sum29%b|MYmFitB$BsXK4*cL~I>v+4_oGM(RFO|0E9mV)vjsAd~K)ZCGhTfV< z&Ca?^2r;y)ZR*SO3QV()2kHLm;B@R0`Pf(x5Fp6MOd?_vDuqUqm+AH64LS;ucfEdM zkZVNx#)5R;yt$)3&V93@=WKJESVRJOUaRLl!Pn6s65S1uiP&3tgJLT9MT2%VB8Jjo3;)ze40=8Y( z`{3N4_kVjTRbHvVt*!>boy1SF^L(HC{^AnK6G&rYj(7h^fAutMQju@N2 zoj0`FLl5X|7BLl`KeAl@ZLRxwk}Now^(4!@1Xz*>_q|LA54C#Llh@ThEE&}OxF^rr zp~KUr9l(rK7ZXZmE2S$ngfHb8<|8T7emzcQcbnk%`9R4TUaS=@NqzrQna=3Tas4#z zUdwsXxp?;!8#1^`@Iu!sftj1D>wxQ?(t}9cuyo`wznYUMn@2kZQ(x%?`n)PP1oO>}S+7)L(=CgKFoLrDa|?wF44 zLQBaw+q@QO4jq>O;$d?G)#Db;qtj-(^YWK`*iJp=B>)x#k{#zDZMuGV5`kxrzxcW6 zb*q`IL_7?b6S$|89N({Cew;j0R=4n$lm1iv)NHtT!bMnqEr0qQ1v9^c$`S=l?Zoib z70xbuJ2|tdTk>veG+cehA&K z4shI6bYyhc=KXQp?WX=7wikcoo-1%#Z(y6%)_U}WUM}(+EAVi~!y>Bu)v_KpjhHQM zJk+reR;Ldw@$3%P!`tc@v$y{8>z&8^63BODF!Ob)WPJFpSv-!npR{Yb-5Ad4-<2s` zos%t%p-T32O*OVjJ`1(!EzbOIIe0;lb+SWOjK~r~@RERuPo6{oaLYlP8~1wiQ{q`m z42cF7g0&X%vCB973ok zs^Nn>;6V4w3QUvLKw<&Py`^NC0uiGR@%txtY3*T$>#seztJz#DfMFT-TPkP#j@q|r zPK(EE@;|Co(QHP#HSoPgQ#D#m<25EMVSGYXxj-`dDli{759xMMgU5JyDG@$UbBsTQ zJSyPC{t>MilH@t!7O-;L~vbRR~x%^26>U-0XA` z%hO}=SLBsN2Y?h#lpbvr_M}OsT0nr(Ukz-}O@9$n%krIDG~x@Ndhv&hYbmUkwB_p? zmyd@8mmqlLVY*FR;%t`KVdHy@pve;^`l?KcjTBb0aC8)R?i{d@KE>zHh|^f$16{t% zwCYG|L3+*U+kZX|(Wf6$U6p_Od9#5eZItbf+kXVv_naj0qJq$FIAz zC8P42z|U5f7cP&U>7~8NIs=oC$4pE^Hz6Ae;f~ZkfDI|7ErG`Pqj>jhUOL`|X!`;W z#iCm^s1X&8J;GsUHZ6Mk)HX}|x)G^H5GHkx+*$8b#)}PrKT-)o z2CB%1IB7AiX75-E2rel_;weo%myxvt*TJDLu9vb1i^v--IX0FooL&rq&DA6t5ywj9 z+p$!=G=SPX_n9DQ`tDXdwJLl%g}H^lJl3l6>kYdWTXv{v&xw7UK6%=E!RF6v%lYTv z4wuoSTJlML!sFp2OyPIm{Gkpu*wFNFVb_;^=bx$?&U0%20E{62a5$t*uq<3DKNr$2 z)%enCCWUzo0g|g3OJ3%ga=SZQ9@*-BTrNyw)AnG1ht-@8nww;e^zS+XZebIUOw1C} zBc@{U-)&AC{)$x8ezlfCpk(*G{G^W<(aHM-I*rehx6QJS@bS-n`p5&xOgN2W@+ z9zOUFzgJr3^k(|m>K@R}erD;o!u&YmD^8AHSI$+0V#qUj?n~QRX-+xrh`i1of=utI zE05kcRl(j1(^h)96|G21e{O1(deU+_{Pmo|<^ECkyoEjIqX~6nHOF6t&2|Z09r!zLb-2QM_Z)kvii&C7L+nCuHSu21ii9XhLSR<*a=#Lc);@){@BQeQ3<4_ zdYuW|1aI7yl=w6BM)^<{}A_nJ>C3IVg5Y_IiF?zl{q@l z-;Av0+2j(k{-H#?ci&Ul`gx+#aTW?kEo(`Mdk+u`;aED2Fj-j|g<>bd4XOH1BbP7g z*g%lYk3dd4mE0)<8rbz3V>Kmfw%H?oFEuDQAsqku5Q%53_IF+O(jnKUR0FO37bpDe zD09^E+nO6X~?sCE`3vXo?Vp{E2KM+7O9pcoMC{gGz*Poy6kIS4x$`EA2cWz6dh6}`eZ;h9USN+?oPqEEzz zSztd+Y@REHfA8UmMh0&9{q@oEITLH9{gVX+nZ-&8)4uw4CrbIfY}a~wO}R0HY&0?V z%=4!bDY@)_>8KNzi(`pd0k+AivizMZlEtYq^A9I5NmLj56ti zheJC%YR17)#L$QpKM7kNz{~j=}>J zte~$#zxo~74StoeZ}OPRvb$x}6)gpXt{siVGcC@cl0Iu)a&Ps@V_n@z>($>2A$#di zBW(grx5^=+yDVZFQX}9!x7}Igv9O7MHp+gRj|*y>A6Y6%Mp0H?;Eu=}WNt)pDJcTq1Gg&15wqC@u~(Us%1v%D59 z-idxYIVy`EP;=pio09@H3i8LF+($O48+$*;PQv==+s&}Cjm74CtQZq{4|iZWREd3q~hKj3_@)8S#?*g;XZzMk*| zmpo@(H`811BAK;o*{>`84qJM(sL$6^0XKWXF;B`OUTk-Ub~e3s64YtcM1D5lqltm| zcr$t8x?!1{5l=LcZ`J<=X$#*8c=jAV6J;ib06Kenke4`nL^pOyC_ml(8|uYjiu;*9 zoTX=c3mLMcosE{@r?iks`5%l=M$%6I;%3)zMT5GXnYg=;~daiv{U zUh_bS8_3#$F>Ka=#TUqXsR0J-+$GL6uM!2&N)!-*B7=#K28~zm<5~q#uFZejq2OpK`o^m zQ2v2wVSI#G)@RmrRZa8=VYbmdej^1p5I&pq#hvk<&O38AO}rwlXTpke&FI<8yODYC z@{NZXPJdrQLh1l`tCrdKk)J=GF;7*#UP&<~_p#U9PMc50&-&Gsug9ZlM{_>%OAeOm!<(xf_UJw!M)8qja4ZrEcO?r`^D5qcZs!XF~LFQ(>^@dgYZeItb`ZaPS zN|GxRZ(hh-I2P-@CQK&#E=M)- z(V0F(B5Z`efo4iS`WLf)Jb~Hfp;(Wvg|19!YgLv~X~O=ON|}jjN%779Rdn6jK8|(Z zZhuEjj;sDQ)|5#;ipBL6XTSeUE^Vo;I!|z_(98oLGmd|MgkpY4s&T*`Kdyms-?w>k zEKz|3Nn^t=LrhQVkzP|tjh{F@K=SK1&Bks8^b`I{%2!ZiZv;xe662ly7WPeP=e$T3 zHTp3UItW ziiaFKz+}wtSNnmnd-Z3xa{X;P3)ozDmdhq52oS6OP9Zf3B+H&b~C@Z$zMTL02iU*>COXQF@1 zBkvqdJbvrG%93x~D!!L?C;62J`5rv29XDmCRL;I8oiBh8DBu*B=YrhQ3rqY>E&?8o z!KAa-Tl%b?@@qEdDfum|VSUJ#fFa4bUn$?J>tFs9MPd@&Eyp&T+tTHDeF zUW+J8M5bvM5+PP|raj5_0E{2`vXr?m{KF5m+-fo!{8Fz)ed`WQ5_b3ZfHA*O#W+PU zOdq?uq`fUPC&%?kM6+I2bl^9oZ-&Wgtma|3VdBV}C-_E{O@~aC8G61R=Buux(19DQ zod>Xk3m1C*6vuMYmfJzSH#juJ_SH%*bV$To^;aMlwpFUEqo$v)oC~hOm4?Kv+0gzM zcbt3Z%cV^W?UmQ&(Y=Rhf;Hhm(CaAf;X{ZW%y+iq75Tuh#V0C zV!u7r#xW)!%>fY}i-UsyEn%~$V&eMS~;aj?)aE+lqp`84=dnJYDcdOx= z9tDXqdjCuo$_8sDV{Bw(4c9-oyl||GalT+Ako6a0!4vMh8T&`Jcd&oNgezK~6qxHN zP7G8O@-u}4U&NHnBgu9P%2H1r$Q_~1QM@fqt5WzWotf;&p3>6_gNWTF@}H%gE}1ZN zK30y2A5Me)<73S($~Y3#2hImzZ)J$dz>iIVVKONpBmXI;u+DgDSe5f^9seY<&K$Ti zulTdwp{$f*CNFOXeCd(mW(x};_$@^$(fQK&)cJl6qNlv4rX=;VPU`0RY5g5d|K&N; zfr{CD2#NmmqdIWGA{>feZVtB^D7$|rji!n(Mw12fz|YcP0*r>wm{iptq$(7zpQ zSzEIG+qUz#_){g1nr+J{*Mp4o9EI$^x9EAV8n9onxS}w$?r9KeMJKq(uciMx-bB+u z7j!cO!=_S@w)W6>v?!18-Nf_l$qT*N)uxe?RgGIPe-?=iKh}z3uN6Mj1U@|P-lIjw zF&`w9V(OzHFzIGivMRhy0MzmDLAC{=oV?D8-LUs9$FN@rIRayr>es(pLp!a-xN;t;mWg)GgR^9r(wp zmIRaoK@N}pl^Pj~uT90VUbOoi1ieLE)Kte5ny=6k+2m6fyHB5K zIx?;7fZj{+ZO5g?KGnhLGuqMLUp)E0)7=Jbgjt)}F}8lX`fe!0*-a5x{By$Tl#A-* zi{A22K4sH##-H09rbfwbmUy&i&EH3uTsfnh3Ki;ask>fV<1TU^n$2?`Z;91JiEKeE z=W~=qCS|CYlV*7Xg2Nfi8i*jGOLkSno!A2&Nh5P zG6w6&;9(+L{4*=zM98XOLa2S>)lO<`i*KCUKzYyKijqJ13JMW_X+!ELqfTx-`?LJ6 z(_iv7+B38s%ThZ%d#7K|zz0=qI{L9+g=%u@@6W!V<;Y(i#{nn5LbkkLz&iA;MVc8I=;2?R)QdbOYQ0}3v#soO`1xS#O$ol}u-ERpL_ zSs!~nWAIJUNm5{$pThH8;woI9I*yZp*N0&g;?xsA zuSm4l40e`K;61M*Y#)yJ{pDtw*3c1E?waoy{&-Q;YL~t`uKMYPBWTD%$A9q}$3`$M z)G4_FByj(U6M_RAU#1E#H(^Tw%mHP4Od{qTqtO0BsfEA_&u-{KucA!e0lrpq*JR`bkl2T~#Y3_Sn(y2c( z)-iuMP0#ifkxb#j+^J`8seRYp_*dDK(_tG~&;`{_-#BGvp++|wVzOt?@un`OXRyvJ z{-!GynX5Mo^#6eRH<0cb7#;-b1m!V9d@$EA8NK*8hb6a@rI)qwh>qWgFSy zAW<e8Tk+R3ERF~Ua8|x;E7~WGHCYX8+3p_vtg)MqKBgT} z`sXr2)-{dE%=+3g6r3(E)IqaJsX(h+M>$8YU+#6g|Cbz_i#(>E4=+p>8zd z=C5*N$Wv-V^I8L?Zum)=z!zp1mQjp`O|jmddRm52P0vb`NULH?j%2mBqW}8=t5(-C zk^3^f(($RtsMtiFThkSt{P50uix@D2Re4Bv*p34guV9iOK<6F=SeZWd3rTmgjNGE3 z?k51nw(aCIZ~*2UEjg~pA4BE`DLA{&jJZc9I1Kyd0jgcEH2hhpy0UJRZaqJy^VuUR z=p8ccwqU>&hm$u;`aX)y-=devaZ!seHUMpkn8j45nA7|P=$*=J)?3Pr>{>EVWSv_N zoyOGC4F|&)vnpNr`s!CU2(u~K0{|Mw2fU@Mvt&fiW@VTJ5D!YyD-qsvv^vxg%opGM zXI(p@&mGQAPLcd)==9Ss%^=npP?mB?9Py;bJZ>ka>-^7>z3vWg^Qa~$a;O9}8 zVz*IJ5CHKGy7!m@@wDKraB)ZC;=kC%Q=1s4L*M+k_S7RLWtM!PlCr)JCs&P#e-@~+ zDD@>3+a zl|Ce1IupC0%Ahjr=NK|2;;a{_m@A%=mT3F;iB<*G}Lra`^JTEm&ve8KDL| zDE#8o*0^KfqSY4oT7>YWmhHb1Lowit%y$&{i_k4DkLP`rDBO5DH5 z?I+@`03{G_Oy_sP?Gg!D`IKu6;aq*4{#WH(w* zIipTkK3qZ^`p=od3p0H-e{?ilR8Jp^t{(;u5qp374OLUjmNAoSJPaEdRwh6BDvV=I z5eEVsAtRX1P>-K6Zpy+Jj51y3d!e)+Y2{Vx=?AGMlTbfp@(L)uN35fn0*d&b>pDN) zobHnDut}+#p`w7e&Om1AM_QN2pWjFq?ngoF!dmX?v-oh#^Mb?b2Wb7E-Bz)6qAB1& z5Arnh4{v9l%2#q5F}$cFSUjG*18B4MKYJ`Zxfb4!`~X6RjIC3 zN`dkb&-X{0nk@2Nv_z*6rJ_7=po6ghs7CG(T%NZ+E|Y{Z6iF%%EmBeEi%65NeX23) z;#_)dT-osqeK7J`FZ&-OPn=tNd{7N}mhWlJzcxw^LX4Z znx!i^Jnek3$#WlW(nI@lh}ME~{OMR%)BK9@US5Tn^yueJS!g=AA`1P;I8?BgpA!-=PL39`}#S#LSs=+1Ek_fbu=w zpEORgl(ZgihWna(3V+U{dAm@*LkTgz9c(pZBlOFX8s+*o9eMVZX3l=jRU`lDj?T(C zzy@rU&4BSZ@)4SM60C6zeXNuI~Qhqy^M&YuV(uD;%;iZ$vJC zkv-Z|SDmk<>_`5AVf?=a85zo)pwNH`GchP-Cg4Wt{(1(2j&!48r=44qaatSD|h=Vb1-Fp#Fy2@Xp9g3{HA|m zu5RM7w;A^FMa;?&_m8Bkl27W+cUPGp2CQa(3LjxbqJ2#u_66sd@l$*O`Uf>yV7pW!l|rC$j@SRYM0(t zLe`>)@Z-aeVPBU{j(=GMYKd4bYqu?xf6<3fX(NR}CN^BnYUc*zZx$*>4zIxO1iz_tG`}4GZ(CWdCiXvOTJNB90<6B2M8~oiFd!b zqdP*Lm;L6ih>eMG{dAlwy2w9JA0nqIgXZ^YRw|G16&6zYT)~s`LY&|-l^%K|I57ye z5gOnn!flr08Jpo=2QZNIad+8|$1@Px_LsJ(vKfr{`mfBGHN}PW?>FOkj7PBm#1s+&dl(dvy&XFY!eR3IUuwU%c#hfiC@~AZC=!yzLKPsY2 z3J+hbp1)eXvf+Os7$PZom32aSLgceKT9RHMvgI13w_R~ z?G9B-fuCvZ_v=)M7mhM=rIfTi7w3ksJgO?TuHI33D|O)P9W`9@NC4_!Ri{rLp2~YC z^=wf4HH7bK^fMD`f@Hcc`R4e(5;~|w1yC(PDo&rYQ3KZ^AQBxGe~zfX^B))<2PecC zFIU_<1ShIi3M&1xl;sr*0lSDW&n^A~49EV9n$al8U&zmYdf}40I#TgI(RCgCKg=EN z?!P*C?ed@g3lta$UL_RsP_MJ(ulX;eW)GyfVQ&VS*O<(dZ-uK$9##I|L^7F$#i^4M zNiod-fnF#%Py1u*GCsx73Ycv<|PVo&?wq0jesfHh- z$Y^1`NO5BAiKeDZ-dVP{x50Tj&eWN2)2sLSPTH7Uv_4bf&VfTAPjcK_q0{d- z<=7p_iokKAed^i$k{hvmb_~kq2Icd?ZBDT4a z?T0DpBlurhQJ^HxsAR~sj@wa;xA97?k{ol$N(+DCT?sPS%m;SG76FR(I`xmrVTHOR zIq2(|gE=O-`746c+|4UB}AgY{KxeD=_f)th~?v?CD<@cZ=Z0MS3*A{;R+pd$%YNlB<=I2k&=TRk@PWy;j}-ZT z>xl|ZZ%6ok`rl!Xe5{hOWBYc%;0~wU zOky%1euZwcncNU#A?Bxz{o?V$rquM-)8K$kYt@*+k0%o^0!?-1Vs#qRqe$)Yd;9C6 z3lnkv4=~i@kFjOx?g9B9hH$nSA6>4HQBC3-=2nDtJ*%15-OuawWNZcwC9Xg3ptYUO zd43SIsEw1pF+kuH4Rb7=rVF#T(AlKWkN?LnUrp)(MUfM^aK83<@{;9MLgXK}*(>5> z#{F1x<-&V5v(J0SvnsnBZ*eN`Irn{2touK8ePvXe+qQNED4ya_98xs6yBCMzP$&>w z3X~St;#!;#Xo2Eh+}&MTq!cH?B}gH7x!LFY&KY;_+mrbtH@X4k;Fom(JdAprB>u!SdCh)?$WgKdkg|qByr$ z@f;hEU)IHK3?htdyA>UWtVJQlDnKxeD(Fx0P~JRcX|%CtDuJ>VhV6VXPvZYByd150 z)V!FY!4H?>bAe+f>nXP?QeJe!Gs(aR_Ct{OvtA#sE-^5Ux7Kc8hQLJ{%Ldy$;}x#s zoSn=Eldf0U=Jn;sh?AW5=(AC;m0!P>4@7<~O--=~fm2=C8euym3|DRGj0t~`sZ~sI zA>XVGCDo->TgiQWBkyubW@ScRUSKQ>q+ZwD%Av6NlMg|Dxd^Tl9UoD@2&;u6^If zId6?>w_CzuNSl?*Dq!z|p%`57KPgB?!MrWIIQY)icHA9@6!d+#EP+wkpJ!T$>&SUE^CmrklMbx0w&x>f3 zQse5^*0|^U?e?_@d!b0Mr4$k9%>2*)08bJHdiJA1BC}; z>*(>KipXc;yfT(*p)0*m7>cmtIU?-p*RD&U$fG~Ws2&=3>t)X^dd9uoyRBsY4LKgp zNq*j+j+%N>z-+u(jqo;+$X}?%k4Tm}-?b{{r01XuMfQCe5IOL0~D3_CEcsyUkR{Yph(&T96abOR`VFo0ccBxiTtQ+9%cMzr0okEdiUJqDHxHU5965$zpU6s_34VF<6p2iDJw+C#MB|RHNF= zQb;#SVa|0p$+WZ>RMB zUCVLY$^L%c&#P6yI_H%DuqR?+LE~4{8Rn#gfGomY?KW7_jb;?8`RVj$p0d0;p(s%o z!Umx#ge2x9zbY(^Gat{Pde?bkmBaL3*+0MNBhqAf?Y)`m`18BDKbV$xZZgSF06zu0GT+b*hlHX{1WamlqavB?4rOnw5F14 z>rS_qgHj%RHe+^<8xlv}@r$Tw(#2CTo(a)?P=x&2PF_3$*kE#6_51Q>^}b`#_ozKh z^&Vq$re@w&iC9x~7kIG_2%N8IMYQ-IEtC{x?ai6ISN{v8gSRMn>o@&rB|nfk+porV zdEay!x!_nC=W*2bOCzGwv-4(|&2uZ=wx#p#&?Qy$5)6Axdnx_A(k!(^>hR!e6D%45 zi{Y9}UPIx07BxUWw*R)9XW~9=h7P5JT6y-WKWO^{=7|$*yUks6fAMRvXlXUdKMh|X zQ}y`h!WUy_gfLE7VjklrrFf3UArtC;Sa_5IM$w}N<)YuY_+)rp%ku)EdtqVGQLGC= z79``;QC!*okMVri&|Mj1y+~`u&i{a-eSJyft?uyHxPF#^~1Yte5up zlvBsmmb3k({-)yB(f_r&y{;6xk~lPS@vH*zgd1XcsbiN#ZI;B z#BO>j7!cf^hoX9$!yIO?@t+Xcrn(qnjNc*NpEGtjT=|V`Z2gv}==eDB_pj{bFf!Af ztbl9#*IAAGUt9OysG^vZTvxd2*xzrBxmNM`gndJ}w{}dluj9GA)SDN(SbD$Q3y?Z6 z^;$<43b^&UnDFeFc52>)j11yVvYVb@d)^#2ih=O@#s~;kRXLmcmR$#_@%_C;*3tp%xre^laHtoel^ANn5Kv1=O@HbVN8=+;lWF$3TD>N#&bAI5o z3x~5w`X-9v<=6mtF8ZcsQL+qfoY~Z!W_AlBLws#Te5a*r_-RAgxSi!I3YtD>kb*zgDohS61mEc2E`45YH3QVJRL@DKyc3 zJzJ?y%hh_o>v?~7v7cO{A$}t7c~CuAN>LZX^GXkaLcd+qX5Wobdv7GtQ&@LaXAAwb zBJx~z|Iy6;wW()3OJY$yOWbI1_H1{0mMRYKb|^^LeD=Y>&BG^DUwp_7N~DT!?v4Uc zg;vA0gg!*;QOCNl+%5N4?%w(R`HDTAzb(Qcg2=yo>!(|Xf(*VW?kfqfK%^g5G?oHQ zn5bC=Wy|3{e|GXAi#4BIMfRz2%a;5}uM?dBVdWG#YrNd+rniX{!E)S@fT@i6+mMi4 z+%I)Zb8&LCKF0-}=*kPMMW1t{7?Qfi1sBJbz2F}a%u-iTf}v;_wfId#eecwPZc0?H z>pv?{rG;q(%3sXJ{1ocE8h5UbDr+{o+cN+wAJ`XVZqfMc(7#4BPD(JxT{?W<(g+a9b8-EJDfhd^DHCPiE<48(XShsiChhi2GNue+Zgn{&jdN}TAo zbM+>vbK|my&T7ZixJ#*73cZ4b{{V&UkeC&zeNXhpA;j2OONwPWiUCW8;R70Z6s|>_ zAtR5p%p2#9E1SlCQe!)dxX^3L)ywdK!hfx(<)(E-bRdtRN>o9{4qp=P^^$#HX~O*u zv16>jfpJ~G$5c`6q@;0uA{9N-5dTBy>3Rf>N3G2`_EzBCzFAqkQp?3E3dgHSSRL-d zLT-Tal1EFT`{jAVwnaAt)n?V22_H~9bJzKMzH&w#W4COL&&9Imek>Is_bojWXkHWb zWH!3m=Kbp|0uz`yKM0C^e%+2j-#SVJD0NF@x%lrJyPKd0@m8_mIR4U0iFLu9FHQYo zctTDhDSGC!JAa>7iq0jNFyx?MHC87fXgF@iAsU>2kMnoY55AMBTbsXZu#9!88a_fV zd$?uEdMIF)N44Or!>thEOYB+^B}M8znfoS=YMoT+tMGuY83;X$yihYyXrT!F=_JoY zE$3mNA4`UgRnKEKXnL0dht2%k?#SR6Wgr@Kw`&Z4q)76dH8V#>_G*(W@F!RhU0I_s z*xH%){&LVALJ0UK{QD9vu-mJ^&1uJTGZ^7$&V+&Wh%>ia&d9N%ekte)P4QyWj)JWF zjFuuRZGbEd*(r2gu3N&j=`zBlX%#oX!iI$dS`sRW@d$gN?R?I7xyo z5d{jW(FKVe){1t_Mo|(H0PB?^6Uy_}a(JOvVN#jMBJ7)Z=jwrZ>8Qo-5SwEpPG1nXAs>lOVZy*$$`6-lk%G ztPOk%1B6}A+kB5aG{yGop@m3WLI{Uxk}Ew>SC>U9zv32)3brmcT!{Wnw>$987}Pt! zWvIk|0>>I;a5^S`7zgjQd^D*4Dq)R*^zsDlouO!KL$zCK*tM`t0^0W9GgIy*Ogd#t zeBEqW#yJBW>ebp}*lAGTQ*Sa=o^Q4S;loY^Qwkc9gaPtt6DaU0ImEh{Ya$H@?n{`Q z&CeOQ0IA?)7``&VQ7o$t3yq>*3NeY+T3rpMTeC<-uN7ozOHXd1&OX;miDK}oi*Pb& zf_Jb3>69M1p2Yp+TT&z?YwMuntZr|j!D1ww61HFSn0;j4?ep996{fNLby$Oa_noB@u`7TC z5|C>iMU8EHMtpV|6tE`Axl}n6V`ma-*}$a1Z-?*SkIsi<>-*Mq(mF^f?ycD?@yE*E zV<_8zls-%ae14FWrrn1xDUHR;pPyYNe&2F=& z;H{3~zG;?}Mqe5H@^fW@@Wi(6*Y*q5d_1*{wO80btQj{16_!1CbA;awE2Y;bJSp#b zvYX>UNc)<5Q-xU4PMdYaKj%<;%TESP$h-umNF%{~?rXrlpBB{F)PRf4Ytu;PGd>NaP2aJNv z1PBLUJ+z5^dlKu58I=AY_ejmoGtC!PrF-1EdiQkz)GmaFMM5*w6LUQCL~;h>!X)=& z?PN_vqcr~TQ&_z3uivQbY%fd_3BX`S2<l}ae4Ywmg+SLH`O%m%UU zG2^60c_Jj?{`{aD<=r4u{vZMKv|A`aE|!}p?nbiuD6#7ltgffZpA+KCX-QeEieuAM z%}=Sh*e@4UWkRIPmdrkeJK^`P5W&7Tktt>{h!KE7)KAfj#)%yk!!e~CxOdS2i#wEr z@^z>|wIBNc{t~IC3vxJ?CFu=uScfI$4W5*CAKy~(Wg0*xryWP^N%;pJcgz*%Z7%1CRi5-8keW#_Ak1uum zb`w5J;x&cIshileW1x+wsgg5(^$q?c2?v-9Meo6-J?M}zEeY~SsCzfSSdZ6S zCyk-$+CTj&@hyW^DAnF&Lb7fIpJlw{wOx}L5#Uod5!cC=r^LWFNB&2?y<-eC(!rZC zt*W_^H^?e9f=ZyYb_?o|RYt|N|{||lDg~$gr^s1+?0QEshVu^h%sJ>zv#TbyLK}X|43|oeYT5ma`F9yte*ZY@Aq=v zxyTSc7-Fa|a~9-#{8UQ(oVdF8olalGU5}$#6>%zns^@^?jfDrEX0w83H6az1k<2WidF)!7eIVqJBEh(Ev|r*7>6grYy&S|RmHoS)nfieD#}X{ty+ObLn-yEZ%r40&nwMx$DRanp>Q7 zcax2k%K^M4&%>8tyfV6 zUQKVeiI{)V5aNuuo@7!;(m4UicJ!l&TYzkBLgM z>acGb(qnr@Ygtsf23AsHfQPiH ze08QKw2S?CCM`bH9WT>jm*+f+{8<6Z?#RG*qb44zHka4kj#)NQV`DkS(aISKwIqp z>uhegvgM{W&9KOyDSYyfP+{my6yL7WV8oYG=PH0Hs_vs%eFl>8{K-wB1B9{`4y`V~ z2{pWi+W);kt%tTyAnUrPlgd`$r+Pf~2sBbo{j0#Vc*{}p{(GB-nslXHx{zm_S(HBJ zE(or_NOg&>%kfIsn8u-B{ zj8<%Jpx6lZ|6^v(ljb-ivD-*G%EUNay*Nf9X{ZI z)ZuwOSNywKWRg*@ZZ=Y>Wdo4>1iWHy!g(*2rzDeL_{s) zW5Vt*!M)oMx~N{$+ip05lDS598V3Q}yq3S1gt@QNKE97MH8AW`;-Q8=Pozaw5rx&`QYX5feLcnx3b5wz&w7L;maMK| ze%=79enaL6NScvkL}=W#9f%dSmK;A`wOtoU zZcE%e=8mZ;6-IP=t>AsJAmO~FW8ADvbTY5IigQ>>t`|En1?QbLa1QmEEHo9v_I?3^s-w3tIpPK+N4?UFc}&eQoNc|-K11xAFH}}> z&Zj(ew^hIluw9!_up;etp8ENw*m(YM!|{Z(6uhu-X-xiC+|f)j+TG)EUh11vXhe2p>vLu{-e&f z>$z>jBx3A;RMRHYBdFeIz9V$+jGdhgn!dBF{?qo@wxa4UNs`LHi7ol&jcFiT))iOA z1iZlD7*g>gn(ULvj*#UAnQNvCHinC2DRmkrIkpW}VW<_Am~-wJrzv}-A~fvmCAK)z z>_H`?Ahny4Rif@5$Wr1BwVZL`leTE_aMIeC=0Ej{HZVb41k!OeBPypOxcQuKN2WcX z=j|_RS-c6f8OKMfzM+*pB(Jub;&5xcJ7Myt6-eqKP(tfY4(x(d!ColTg-NyTYe8ek z;@xn_D)%OY;cOS%t(&{WqP=#d&mJO8Ss4fv6?*gVQf)}Jh$i`w(X7mFpW7}hl?vtV zf6sts{#)Bo4b^tEDsZ)2ny+SONbkAt&^|QDa48TTpJc1vv=`M9w#aEc-`ZcUv)2*e zk*EBu-X}??{CuMDWn^m3oRg1Tg6Y%POkCakeMl3z>R;{KV^Bv*quagh}QO z(aNmz*i4jwfo!O)U${nbQq20Y6maEj&_BB%w7Q?fbyCN9@9LL817VFSjflJ@e>mB74<8JD2d$xGP?ub#VI zq*QA~t=k&9hxI`zrMWOI(pucvq0R zlEah}%*+S*e7tg)^us@1fQ&Y>ybcI1)*fH%-bLvYs#UiE_&zonXeG&Vip-*E?SmKf zGw~~GzGF)&%fA3&F%U`?K%M1JBlBHjXEfiV2+-?^1WW0GxSd~w%pruK214s zp4A&{PBnN2ABd&g9H)goxuK_RB_)~EQSBG<{&BySuK^Fmsmz`p(NQH8h~;L9K?{6|FvS b;w~^tuO-);PZ7cnA^%m@JotYAYfr~o literal 0 HcmV?d00001 diff --git a/assistant.html b/assistant.html index 35261d1..addd1f0 100644 --- a/assistant.html +++ b/assistant.html @@ -3,12 +3,12 @@ - AI Interview Assistant + AI Assistant

-

AI Interview Assistant

+

AI Assistant

Detached view
diff --git a/background.js b/background.js index 6bb2d79..7f89fad 100644 --- a/background.js +++ b/background.js @@ -2,7 +2,86 @@ const DEFAULT_AI_CONFIG = { provider: 'openai', model: 'gpt-4o-mini' }; const DEFAULT_CAPTURE_MODE = 'tab'; -const LISTENING_PROMPT = 'You are a helpful assistant that answers questions briefly and concisely during interviews. Provide clear, professional responses.'; +const DEFAULT_LISTENING_PROMPT = 'You are a helpful assistant that answers questions briefly and concisely during interviews. Provide clear, professional responses.'; +const CONTEXT_PROFILES_STORAGE_KEY = 'contextProfiles'; +const ACTIVE_CONTEXT_PROFILE_STORAGE_KEY = 'activeContextProfileId'; +const CONTEXTS_BY_PROFILE_STORAGE_KEY = 'contextsByProfile'; +const DEFAULT_CONTEXT_PROFILE_ID = 'interview_software'; +const DEFAULT_CONTEXT_PROFILES = [ + { + id: 'interview_software', + name: 'Interview (Software Development)', + mode: 'interview', + systemPrompt: 'You are an interview assistant for software development. Keep responses concise, technically correct, and structured.' + }, + { + id: 'meeting_standup', + name: 'Meeting (Daily Standup)', + mode: 'standup', + systemPrompt: 'You are a standup meeting assistant. Focus on updates, blockers, owners, and next steps.' + }, + { + id: 'meeting_sales', + name: 'Meeting (Sales Call)', + mode: 'meeting', + systemPrompt: 'You are a sales call assistant. Focus on customer needs, objections, commitments, and clear follow-up actions.' + } +]; +const DEFAULT_MODE_POLICIES = { + interview: { + systemPrompt: 'You are an interview assistant. Prioritize concise, high-signal answers tailored to technical interviews.', + maxGeneralItems: 4, + maxSystemItems: 2 + }, + meeting: { + systemPrompt: 'You are a meeting assistant. Prioritize clarity, decisions, risks, and concrete next steps.', + maxGeneralItems: 5, + maxSystemItems: 2 + }, + standup: { + systemPrompt: 'You are a standup assistant. Keep updates concise and action-oriented.', + maxGeneralItems: 4, + maxSystemItems: 2 + }, + custom: { + systemPrompt: DEFAULT_LISTENING_PROMPT, + maxGeneralItems: 4, + maxSystemItems: 2 + } +}; +const MEMORY_STORAGE_KEY = 'memoryStore'; +const MEMORY_SCHEMA_VERSION = 1; +const SESSION_STATUS = { + IDLE: 'idle', + ACTIVE: 'active', + PAUSED: 'paused', + ENDED: 'ended' +}; +const RAG_MIN_SCORE = 0.05; +const RAG_MAX_ITEMS = 3; +const STANDUP_PROMPT = `You are an assistant that produces daily standup summaries.\nReturn JSON only with keys:\nsummary (string), action_items (array of {text, assignee?}), blockers (array of strings), decisions (array of strings).\nKeep summary concise and action items clear.`; +const TRANSCRIPT_NOISE_PATTERNS = [ + /^:\w+:$/i, + /^click to react$/i, + /^add reaction$/i, + /^reply$/i, + /^forward$/i, + /^more$/i, + /^message\s+#/i +]; + +const createDefaultMemoryStore = () => ({ + version: MEMORY_SCHEMA_VERSION, + profile: { + name: '', + role: '', + notes: '', + updatedAt: null + }, + sessions: [], + summaries: [], + actionItems: [] +}); const AI_SERVICES = { openai: { @@ -16,7 +95,7 @@ const AI_SERVICES = { messages: [ { role: 'system', - content: `${LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` + content: `${options.systemPrompt || DEFAULT_LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` }, { role: 'user', content: question } ], @@ -38,7 +117,7 @@ const AI_SERVICES = { messages: [ { role: 'user', - content: `${LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}\n\nQuestion: ${question}` + content: `${options.systemPrompt || DEFAULT_LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}\n\nQuestion: ${question}` } ] }), @@ -54,7 +133,7 @@ const AI_SERVICES = { role: 'system', parts: [ { - text: `${LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` + text: `${options.systemPrompt || DEFAULT_LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` } ] }, @@ -82,7 +161,7 @@ const AI_SERVICES = { messages: [ { role: 'system', - content: `${LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` + content: `${options.systemPrompt || DEFAULT_LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}` }, { role: 'user', content: question } ], @@ -98,7 +177,7 @@ const AI_SERVICES = { }), formatRequest: (model, question, context = '', options = {}) => ({ model, - prompt: `${LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}\n\nQuestion: ${question}\n\nAnswer:`, + prompt: `${options.systemPrompt || DEFAULT_LISTENING_PROMPT}${context ? `\n\nContext Information:\n${context}` : ''}\n\nQuestion: ${question}\n\nAnswer:`, stream: false, options: { temperature: options.temperature ?? 0.7, @@ -117,7 +196,16 @@ const state = { remoteServer: null, remoteServerPort: null, activeConnections: new Set(), - isActive: true + currentSessionId: null, + currentSessionStatus: SESSION_STATUS.IDLE, + currentSessionConsent: false, + pendingSessionConsent: null, + lastSessionId: null, + mcpInitialized: false, + pendingAutomation: null, + activeContextProfileId: DEFAULT_CONTEXT_PROFILE_ID, + activeAutomationId: null, + sttSessionLanguage: '' }; chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { @@ -135,31 +223,42 @@ chrome.windows.onRemoved.addListener((windowId) => { }); initializeActiveState(); +initializeMemoryStore(); +initializeContextProfiles(); function handleMessage(request, _sender, sendResponse) { switch (request.action) { case 'startListening': - if (!state.isActive) { - chrome.runtime.sendMessage({ - action: 'updateAIResponse', - response: 'Extension is inactive. Turn it on in the side panel to start listening.' - }); - return false; - } if (request.aiProvider && request.model) { state.currentAIConfig = { provider: request.aiProvider, model: request.model }; } if (request.captureMode) { state.currentCaptureMode = request.captureMode; } + if (request.contextProfileId) { + state.activeContextProfileId = request.contextProfileId; + chrome.storage.sync.set({ [ACTIVE_CONTEXT_PROFILE_STORAGE_KEY]: request.contextProfileId }); + } + state.activeAutomationId = request.automationId || null; startListening(); return false; case 'stopListening': stopListening(); return false; + case 'pauseListening': + pauseListening(); + return false; + case 'resumeListening': + startListening(); + return false; case 'getAIResponse': getAIResponse(request.question); return false; + case 'transcribeAudioChunk': + transcribeAudioChunk(request.audioBase64, request.mimeType, request.captureMode) + .then((result) => sendResponse(result)) + .catch((error) => sendResponse({ success: false, error: error.message })); + return true; case 'startRemoteServer': startRemoteServer(request.sessionId, request.port, sendResponse); return true; @@ -175,8 +274,75 @@ function handleMessage(request, _sender, sendResponse) { case 'openAssistantWindow': openAssistantWindow(sendResponse); return true; - case 'setActiveState': - setActiveState(Boolean(request.isActive), sendResponse); + case 'openSettingsWindow': + openSettingsWindow(sendResponse); + return true; + case 'mcp:listTools': + listMcpTools(sendResponse); + return true; + case 'mcp:callTool': + callMcpTool(request.toolName, request.args, sendResponse); + return true; + case 'stt:testConnection': + testSttConnection() + .then((result) => sendResponse(result)) + .catch((error) => sendResponse({ success: false, error: error.message })); + return true; + case 'automation:run': + runAutomation(request.trigger || 'manual', request.automationId || null, { testMode: Boolean(request.testMode) }, sendResponse); + return true; + case 'automation:list': + getAutomationsWithMigration() + .then((automations) => sendResponse({ success: true, automations })) + .catch((error) => sendResponse({ success: false, error: error.message })); + return true; + case 'automation:approve': + approveAutomation(sendResponse); + return true; + case 'automation:reject': + rejectAutomation(sendResponse); + return true; + case 'updateTranscript': + appendTranscriptToCurrentSession(request.transcript); + return false; + case 'session:setConsent': + setCurrentSessionConsent(Boolean(request.consent)); + return false; + case 'session:forgetCurrent': + forgetCurrentSession(); + return false; + case 'session:getState': + sendResponse({ + sessionId: state.currentSessionId, + status: state.currentSessionStatus, + consent: state.currentSessionConsent, + lastSessionId: state.lastSessionId + }); + return true; + case 'session:saveSummary': + saveCurrentSessionSummary(request.content || '', Boolean(request.saveToMemory), request.sessionId).then((result) => + sendResponse(result) + ); + return true; + case 'memory:get': + getMemoryStore().then((store) => sendResponse({ success: true, store })); + return true; + case 'memory:updateProfile': + updateMemoryProfile(request.profile || {}).then((store) => sendResponse({ success: true, store })); + return true; + case 'memory:addSession': + addMemorySession(request.session || {}).then((session) => sendResponse({ success: true, session })); + return true; + case 'memory:addSummary': + addMemorySummary(request.summary || {}).then((summary) => sendResponse({ success: true, summary })); + return true; + case 'memory:addActionItems': + addMemoryActionItems(request.items || [], request.sessionId).then((items) => + sendResponse({ success: true, items }) + ); + return true; + case 'memory:clear': + clearMemoryStore().then((store) => sendResponse({ success: true, store })); return true; default: return false; @@ -184,6 +350,9 @@ function handleMessage(request, _sender, sendResponse) { } function startListening() { + state.sttSessionLanguage = ''; + ensureActiveSession(); + runAutomation('sessionStart', state.activeAutomationId, { testMode: false }, () => {}); if (state.currentCaptureMode === 'mic') { startMicListening(); return; @@ -312,6 +481,8 @@ function injectContentScriptAndStartCapture(tabId, streamId) { } function stopListening() { + endCurrentSession(); + runAutomation('sessionEnd', state.activeAutomationId, { testMode: false }, () => {}); chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { if (chrome.runtime.lastError || tabs.length === 0) { console.error('Error querying tabs for stop:', chrome.runtime.lastError); @@ -329,6 +500,24 @@ function stopListening() { }); } +function pauseListening() { + pauseCurrentSession(); + chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { + if (chrome.runtime.lastError || tabs.length === 0) { + console.error('Error querying tabs for pause:', chrome.runtime.lastError); + return; + } + + chrome.tabs.sendMessage(tabs[0].id, { action: 'stopCapture' }, () => { + if (chrome.runtime.lastError) { + console.error('Error pausing capture:', chrome.runtime.lastError); + return; + } + chrome.runtime.sendMessage({ action: 'updateAIResponse', response: 'Paused listening.' }); + }); + }); +} + function isQuestion(text) { const questionWords = ['what', 'when', 'where', 'who', 'why', 'how']; const lowerText = text.toLowerCase(); @@ -350,8 +539,12 @@ async function getAIResponse(question) { throw new Error(`Unsupported AI provider: ${provider}`); } - const contextData = await getStoredContexts(); - const { systemContexts, generalContexts } = selectContextsForRequest(contextData, speedMode); + const activeProfile = await getActiveContextProfile(); + const modePolicy = getModePolicy(activeProfile); + const contextData = await getStoredContexts(activeProfile.id); + const { systemContexts, generalContexts } = selectContextsForRequest(contextData, speedMode, modePolicy); + const memoryStore = await getMemoryStore(); + const memoryContext = buildMemoryContext(question, memoryStore, speedMode); const systemPromptExtra = systemContexts.length ? systemContexts.map((ctx) => `${ctx.title}:\n${ctx.content}`).join('\n\n---\n\n') @@ -382,11 +575,11 @@ async function getAIResponse(question) { } const mergedContextRaw = systemPromptExtra - ? `${systemPromptExtra}${contextString ? `\n\n---\n\n${contextString}` : ''}` - : contextString; + ? `${systemPromptExtra}${contextString ? `\n\n---\n\n${contextString}` : ''}${memoryContext ? `\n\n---\n\n${memoryContext}` : ''}` + : `${contextString}${memoryContext ? `\n\n---\n\n${memoryContext}` : ''}`; const mergedContext = truncateContext(mergedContextRaw, provider, speedMode); - const requestOptions = buildRequestOptions(speedMode); + const requestOptions = buildRequestOptions(speedMode, modePolicy); const body = JSON.stringify(service.formatRequest(model, question, mergedContext, requestOptions)); const controller = new AbortController(); @@ -416,7 +609,7 @@ async function getAIResponse(question) { } const data = await response.json(); - const answer = service.parseResponse(data); + const answer = normalizeGeneratedText(service.parseResponse(data)); chrome.runtime.sendMessage({ action: 'updateAIResponse', response: answer }); broadcastToRemoteDevices('aiResponse', { response: answer, question }); @@ -456,13 +649,15 @@ function truncateContext(context, provider, speedMode) { return `${context.slice(0, maxChars)}\n\n[Context truncated to fit model limits.]`; } -function selectContextsForRequest(contexts, speedMode) { +function selectContextsForRequest(contexts, speedMode, modePolicy = DEFAULT_MODE_POLICIES.custom) { const sorted = [...contexts].sort((a, b) => (b.createdAt || '').localeCompare(a.createdAt || '')); const systemContexts = sorted.filter((ctx) => ctx.type === 'system'); const generalContexts = sorted.filter((ctx) => ctx.type !== 'system'); - const maxGeneralItems = speedMode ? 2 : 4; - const maxSystemItems = speedMode ? 1 : 2; + const baseGeneralItems = Number(modePolicy.maxGeneralItems) || 4; + const baseSystemItems = Number(modePolicy.maxSystemItems) || 2; + const maxGeneralItems = speedMode ? Math.max(1, baseGeneralItems - 2) : baseGeneralItems; + const maxSystemItems = speedMode ? 1 : baseSystemItems; const maxItemChars = speedMode ? 4000 : 8000; const trimItem = (ctx) => ({ @@ -476,11 +671,78 @@ function selectContextsForRequest(contexts, speedMode) { }; } -function buildRequestOptions(speedMode) { +function buildRequestOptions(speedMode, modePolicy = DEFAULT_MODE_POLICIES.custom) { if (!speedMode) { - return { maxTokens: 200, temperature: 0.7 }; + return { + maxTokens: 200, + temperature: 0.7, + systemPrompt: modePolicy.systemPrompt || DEFAULT_LISTENING_PROMPT + }; + } + return { + maxTokens: 120, + temperature: 0.4, + systemPrompt: modePolicy.systemPrompt || DEFAULT_LISTENING_PROMPT + }; +} + +function normalizeGeneratedText(text) { + if (typeof text !== 'string') return text; + return text + .replace(/\r\n/g, '\n') + .replace(/\\r\\n/g, '\n') + .replace(/\\n/g, '\n') + .replace(/\\t/g, '\t'); +} + +function buildStandupRequest(provider, model, transcriptText, options, apiKey) { + switch (provider) { + case 'openai': + case 'deepseek': + return { + model, + messages: [ + { role: 'system', content: STANDUP_PROMPT }, + { role: 'user', content: transcriptText } + ], + max_tokens: options.maxTokens || 200, + temperature: options.temperature ?? 0.4 + }; + case 'anthropic': + return { + model, + max_tokens: options.maxTokens || 200, + messages: [ + { role: 'user', content: `${STANDUP_PROMPT}\n\nTranscript:\n${transcriptText}` } + ] + }; + case 'google': + return { + systemInstruction: { + role: 'system', + parts: [{ text: STANDUP_PROMPT }] + }, + contents: [ + { role: 'user', parts: [{ text: transcriptText }] } + ], + generationConfig: { + maxOutputTokens: options.maxTokens || 200, + temperature: options.temperature ?? 0.4 + } + }; + case 'ollama': + return { + model, + prompt: `${STANDUP_PROMPT}\n\nTranscript:\n${transcriptText}\n\nJSON:`, + stream: false, + options: { + temperature: options.temperature ?? 0.4, + num_predict: options.maxTokens || 200 + } + }; + default: + return AI_SERVICES.openai.formatRequest(model, transcriptText, STANDUP_PROMPT, options); } - return { maxTokens: 120, temperature: 0.4 }; } function getSpeedModeFromStorage() { @@ -546,6 +808,824 @@ function openAssistantWindow(sendResponse) { ); } +function openSettingsWindow(sendResponse) { + chrome.windows.create( + { + url: chrome.runtime.getURL('settings.html'), + type: 'popup', + width: 900, + height: 720 + }, + (win) => { + if (chrome.runtime.lastError || !win) { + sendResponse({ success: false, error: 'Failed to open settings window.' }); + return; + } + sendResponse({ success: true }); + } + ); +} + +function getAdvancedSettings() { + return new Promise((resolve) => { + chrome.storage.sync.get(['advancedSettings'], (result) => { + resolve(result.advancedSettings || {}); + }); + }); +} + +function mcpRequest(serverUrl, apiKey, method, params = {}) { + const body = { + jsonrpc: '2.0', + id: Date.now(), + method, + params + }; + const headers = { 'Content-Type': 'application/json' }; + if (apiKey) { + headers['x-mcp-api-key'] = apiKey; + headers.Authorization = `Bearer ${apiKey}`; + } + return fetch(serverUrl, { + method: 'POST', + headers, + body: JSON.stringify(body) + }).then(async (response) => { + const data = await response.json().catch(() => ({})); + if (!response.ok) { + throw new Error(data.error?.message || `MCP request failed (${response.status}).`); + } + if (data.error) { + throw new Error(data.error.message || 'MCP error.'); + } + return data.result; + }); +} + +async function ensureMcpInitialized(serverUrl, apiKey) { + if (state.mcpInitialized) return; + try { + await mcpRequest(serverUrl, apiKey, 'initialize', { + clientInfo: { name: 'AI Assistant', version: '1.0' } + }); + state.mcpInitialized = true; + } catch (error) { + // MCP servers may not require initialize; ignore failures. + } +} + +async function listMcpTools(sendResponse) { + try { + const { mcpServerUrl, mcpApiKey } = await getAdvancedSettings(); + if (!mcpServerUrl) { + sendResponse({ success: false, error: 'MCP server URL is not set.' }); + return; + } + const endpoint = resolveMcpEndpoint(mcpServerUrl); + await ensureMcpInitialized(endpoint, mcpApiKey); + const result = await mcpRequest(endpoint, mcpApiKey, 'tools/list'); + sendResponse({ success: true, tools: result?.tools || [] }); + } catch (error) { + sendResponse({ success: false, error: error.message || 'Failed to list tools.' }); + } +} + +async function callMcpTool(toolName, args, sendResponse) { + try { + const { mcpServerUrl, mcpApiKey } = await getAdvancedSettings(); + if (!mcpServerUrl) { + sendResponse({ success: false, error: 'MCP server URL is not set.' }); + return; + } + if (!toolName) { + sendResponse({ success: false, error: 'Select a tool first.' }); + return; + } + const endpoint = resolveMcpEndpoint(mcpServerUrl); + await ensureMcpInitialized(endpoint, mcpApiKey); + const result = await mcpRequest(endpoint, mcpApiKey, 'tools/call', { + name: toolName, + arguments: args || {} + }); + sendResponse({ success: true, result }); + } catch (error) { + sendResponse({ success: false, error: error.message || 'Failed to call tool.' }); + } +} + +async function runAutomation(trigger, automationId, options, sendResponse) { + try { + const runOptions = options || { testMode: false }; + const automations = await getAutomationsWithMigration(); + const eligible = automations.filter((automation) => { + if (automationId && automation.id !== automationId) return false; + if (!automation.enabled) return false; + const triggers = automation.triggers || {}; + return Boolean(triggers[trigger]); + }); + + if (!eligible.length) { + sendResponse({ success: false, error: 'No automations match this trigger.' }); + return; + } + + const results = []; + for (const automation of eligible) { + if (automation.requireApproval && trigger !== 'manual' && !runOptions.testMode) { + if (state.pendingAutomation) continue; + state.pendingAutomation = { trigger, automation, options: runOptions }; + chrome.runtime.sendMessage({ + action: 'automation:needsApproval', + trigger, + automationName: automation.name || 'Automation', + actions: describeAutomationTargets(automation) + }); + continue; + } + const automationResult = await runAutomationByType(automation, runOptions); + results.push({ automationId: automation.id, ...automationResult }); + } + + sendResponse({ success: true, results }); + } catch (error) { + sendResponse({ success: false, error: error.message || 'Automation failed.' }); + } +} + +async function runStandupAutomationFor(automation, options) { + const standup = automation.standup || {}; + let aiResult; + let summaryText; + let session = null; + const now = new Date(); + const dateIso = now.toISOString().slice(0, 10); + const timeIso = now.toISOString().slice(11, 19); + const dateCompact = dateIso.replace(/-/g, ''); + const dateTimeIso = `${dateIso}_${timeIso.replace(/:/g, '-')}`; + const weekday = now.toLocaleDateString('en-US', { weekday: 'long' }); + const monthName = now.toLocaleDateString('en-US', { month: 'long' }); + const humanDate = now.toLocaleDateString('en-US', { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + }); + if (options?.testMode) { + aiResult = buildStandupTestResult(); + summaryText = formatStandupText(aiResult, humanDate); + } else { + session = await getLatestSessionWithTranscript(); + if (!session || !session.transcript || session.transcript.length === 0) { + throw new Error('No transcript available for standup summary.'); + } + + const transcriptText = session.transcript.map((entry) => entry.text).join('\n'); + aiResult = await generateStandupSummary(transcriptText); + summaryText = formatStandupText(aiResult, humanDate); + } + + if (session && session.storeConsent) { + await addMemorySummary({ sessionId: session.id, content: summaryText }); + } + + const templateContext = { + summary: summaryText, + summary_brief: aiResult.summary || '', + summary_full: summaryText, + summary_json: JSON.stringify(aiResult, null, 2), + action_items: (aiResult.action_items || []).map((item) => `- ${item.text}${item.assignee ? ` (owner: ${item.assignee})` : ''}`).join('\n'), + action_items_json: JSON.stringify(aiResult.action_items || [], null, 2), + blockers: (aiResult.blockers || []).map((item) => `- ${item}`).join('\n'), + decisions: (aiResult.decisions || []).map((item) => `- ${item}`).join('\n'), + date: dateIso, + date_compact: dateCompact, + datetime: dateTimeIso, + time: timeIso, + weekday, + month: monthName, + date_human: humanDate + }; + + const results = []; + + if (standup.discordToolName && standup.discordArgsTemplate) { + const args = buildTemplateArgs(standup.discordArgsTemplate, templateContext); + const result = await callMcpToolInternal(standup.discordToolName, args); + results.push({ target: 'discord', success: true, result }); + } + + if (standup.nextcloudToolName) { + const nextcloudTemplate = standup.nextcloudArgsTemplate || buildDefaultNextcloudTemplate(); + const args = buildTemplateArgs(nextcloudTemplate, templateContext); + const result = await callMcpToolInternal(standup.nextcloudToolName, args); + results.push({ target: 'nextcloud', success: true, result }); + } + + return { summary: aiResult, results }; +} + +function buildStandupTestResult() { + return { + summary: 'Test standup summary: Worked on automation UX, reviewed MCP integration, and fixed styling issues.', + action_items: [ + { text: 'Post standup summary to Discord', assignee: 'Automation' }, + { text: 'Save notes to Nextcloud', assignee: 'Automation' } + ], + blockers: [], + decisions: ['Proceed with automation manager list + editor layout.'] + }; +} + +async function getLatestSessionWithTranscript() { + const store = await getMemoryStore(); + const sessions = Array.isArray(store.sessions) ? store.sessions : []; + if (!sessions.length) return null; + const sorted = [...sessions].sort((a, b) => (b.startedAt || '').localeCompare(a.startedAt || '')); + return sorted.find((session) => Array.isArray(session.transcript) && session.transcript.length > 0) || sorted[0]; +} + +async function generateStandupSummary(transcriptText) { + const storedConfig = await getAIConfigFromStorage(); + if (storedConfig) { + state.currentAIConfig = storedConfig; + } + const { provider, model } = state.currentAIConfig; + const service = AI_SERVICES[provider]; + if (!service) { + throw new Error(`Unsupported AI provider: ${provider}`); + } + + let apiKey = null; + if (provider !== 'ollama') { + apiKey = await getApiKey(provider); + if (!apiKey) { + throw new Error(`${provider.charAt(0).toUpperCase() + provider.slice(1)} API key not set`); + } + } + + let url; + let headers; + if (provider === 'google') { + url = service.baseUrl(apiKey, model); + headers = service.headers(); + } else { + url = service.baseUrl; + headers = service.headers(apiKey); + } + + const sanitizedTranscript = sanitizeTranscriptForSummary(transcriptText); + const requestOptions = { + ...buildRequestOptions(false), + maxTokens: 600, + temperature: 0.2 + }; + const body = JSON.stringify(buildStandupRequest(provider, model, sanitizedTranscript, requestOptions, apiKey)); + + const response = await fetch(url, { + method: 'POST', + headers, + body + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error(`Standup summary failed: ${errorText}`); + } + + const data = await response.json(); + const raw = normalizeGeneratedText(service.parseResponse(data)); + const parsed = parseJsonFromText(raw); + if (!parsed) { + return { + summary: sanitizeSummaryField(normalizeGeneratedText(raw).trim()), + action_items: [], + blockers: [], + decisions: [] + }; + } + const normalized = normalizeStandupResult(parsed); + return normalized; +} + +function sanitizeTranscriptForSummary(transcriptText) { + if (!transcriptText) return ''; + const lines = transcriptText + .split('\n') + .map((line) => normalizeGeneratedText(line).trim()) + .filter(Boolean) + .filter((line) => !TRANSCRIPT_NOISE_PATTERNS.some((pattern) => pattern.test(line))); + + return lines.join('\n').trim(); +} + +function sanitizeSummaryField(text) { + if (!text) return ''; + return String(text) + .replace(/\n{3,}/g, '\n\n') + .replace(/[ \t]{2,}/g, ' ') + .trim(); +} + +function normalizeStandupResult(parsed) { + const summary = sanitizeSummaryField(normalizeGeneratedText(parsed.summary || '')); + const actionItems = Array.isArray(parsed.action_items) + ? parsed.action_items + .map((item) => ({ + text: sanitizeSummaryField(normalizeGeneratedText(item?.text || '')), + assignee: sanitizeSummaryField(normalizeGeneratedText(item?.assignee || '')) + })) + .filter((item) => Boolean(item.text)) + : []; + const blockers = Array.isArray(parsed.blockers) + ? parsed.blockers + .map((item) => sanitizeSummaryField(normalizeGeneratedText(item))) + .filter(Boolean) + : []; + const decisions = Array.isArray(parsed.decisions) + ? parsed.decisions + .map((item) => sanitizeSummaryField(normalizeGeneratedText(item))) + .filter(Boolean) + : []; + + return { + summary, + action_items: actionItems, + blockers, + decisions + }; +} + +function parseJsonFromText(text) { + if (!text) return null; + try { + return JSON.parse(text); + } catch (error) { + const match = text.match(/\{[\s\S]*\}/); + if (!match) return null; + try { + return JSON.parse(match[0]); + } catch (inner) { + return null; + } + } +} + +function formatStandupText(result, humanDate = '') { + const summary = sanitizeSummaryField(result.summary || ''); + const actionItems = (result.action_items || []).map((item) => `- ${item.text}${item.assignee ? ` (owner: ${item.assignee})` : ''}`).join('\n'); + const blockers = (result.blockers || []).map((item) => `- ${item}`).join('\n'); + const decisions = (result.decisions || []).map((item) => `- ${item}`).join('\n'); + return [ + '## Meeting Summary', + humanDate ? `Date: ${humanDate}` : '', + '', + summary || '- None', + '', + '### Action Items', + actionItems || '- None', + '', + '### Blockers', + blockers || '- None', + '', + '### Decisions', + decisions || '- None' + ].join('\n'); +} + +function buildDefaultNextcloudTemplate() { + return JSON.stringify( + { + path: 'notes/daily/standup-{{date}}.txt', + content: + 'Daily Standup - {{date_human}}\n\nSummary\n{{summary_full}}\n\nAction Items\n{{action_items}}\n\nBlockers\n{{blockers}}\n\nDecisions\n{{decisions}}' + }, + null, + 2 + ); +} + +function buildTemplateArgs(template, context) { + try { + const parsedTemplate = JSON.parse(template); + return applyTemplateToValue(parsedTemplate, context); + } catch (error) { + throw new Error('Standup args template must be valid JSON.'); + } +} + +function applyTemplateToValue(value, context) { + if (typeof value === 'string') { + return renderTemplateString(value, context); + } + if (Array.isArray(value)) { + return value.map((item) => applyTemplateToValue(item, context)); + } + if (value && typeof value === 'object') { + const next = {}; + Object.keys(value).forEach((key) => { + next[key] = applyTemplateToValue(value[key], context); + }); + return next; + } + return value; +} + +function renderTemplateString(template, context) { + return Object.keys(context).reduce((result, key) => { + const value = context[key] ?? ''; + return result.split(`{{${key}}}`).join(String(value)); + }, template); +} +async function approveAutomation(sendResponse) { + if (!state.pendingAutomation) { + sendResponse({ success: false, error: 'No pending automation.' }); + return; + } + const { trigger, automation, options } = state.pendingAutomation; + state.pendingAutomation = null; + const result = await runAutomationByType(automation, options || { testMode: false }); + sendResponse({ success: true, trigger, result }); +} + +function rejectAutomation(sendResponse) { + if (!state.pendingAutomation) { + sendResponse({ success: false, error: 'No pending automation.' }); + return; + } + const trigger = state.pendingAutomation.trigger; + state.pendingAutomation = null; + sendResponse({ success: true, trigger }); +} + +async function runAutomationByType(automation, options) { + if (automation.kind === 'standup') { + const result = await runStandupAutomationFor(automation, options || { testMode: false }); + return { success: true, kind: 'standup', result }; + } + const actions = Array.isArray(automation.actions) ? automation.actions : []; + if (!actions.length) { + return { success: false, error: 'No actions configured.' }; + } + const templateContext = await buildAutomationTemplateContext(); + const results = []; + for (const action of actions) { + try { + let result; + if (action.type === 'webhook') { + result = await executeWebhookAction(action, templateContext); + } else { + result = await callMcpToolInternal(action.toolName, action.args || {}); + } + results.push({ action: action.label, success: true, result }); + } catch (error) { + results.push({ action: action.label, success: false, error: error.message }); + } + } + return { success: true, kind: 'actions', results }; +} + +function describeAutomationTargets(automation) { + if (automation.kind === 'standup') { + const targets = []; + if (automation.standup?.discordToolName) targets.push({ label: 'Discord', toolName: automation.standup.discordToolName }); + if (automation.standup?.nextcloudToolName) targets.push({ label: 'Nextcloud', toolName: automation.standup.nextcloudToolName }); + return targets; + } + return (automation.actions || []).map((action) => ({ + label: action.label, + toolName: action.type === 'webhook' ? 'webhook' : action.toolName + })); +} + +async function getAutomationsWithMigration() { + const settings = await getAdvancedSettings(); + if (Array.isArray(settings.automations) && settings.automations.length > 0) { + return settings.automations; + } + const automations = []; + if (settings.automation) { + automations.push({ + id: 'legacy-actions', + name: 'Automation Actions', + kind: 'actions', + enabled: Boolean(settings.automation.enabled), + triggers: settings.automation.triggers || { sessionStart: false, sessionEnd: true, manual: true }, + requireApproval: settings.automation.requireApproval !== false, + actions: settings.automation.actions || [] + }); + } + if (settings.standupAutomation) { + automations.push({ + id: 'legacy-standup', + name: 'Daily Standup', + kind: 'standup', + enabled: Boolean(settings.standupAutomation.enabled), + triggers: settings.standupAutomation.triggers || { sessionEnd: true, manual: true }, + requireApproval: false, + standup: { + discordToolName: settings.standupAutomation.discordToolName || '', + discordArgsTemplate: settings.standupAutomation.discordArgsTemplate || '', + nextcloudToolName: settings.standupAutomation.nextcloudToolName || '', + nextcloudArgsTemplate: settings.standupAutomation.nextcloudArgsTemplate || '' + } + }); + } + if (automations.length) { + const nextSettings = { ...settings, automations }; + chrome.storage.sync.set({ advancedSettings: nextSettings }); + } + return automations; +} + +async function callMcpToolInternal(toolName, args) { + const { mcpServerUrl, mcpApiKey } = await getAdvancedSettings(); + if (!mcpServerUrl) { + throw new Error('MCP server URL is not set.'); + } + const endpoint = resolveMcpEndpoint(mcpServerUrl); + await ensureMcpInitialized(endpoint, mcpApiKey); + return mcpRequest(endpoint, mcpApiKey, 'tools/call', { + name: toolName, + arguments: args || {} + }); +} + +async function buildAutomationTemplateContext() { + const now = new Date(); + const dateIso = now.toISOString().slice(0, 10); + const timeIso = now.toISOString().slice(11, 19); + const dateTimeIso = `${dateIso}_${timeIso.replace(/:/g, '-')}`; + const humanDate = now.toLocaleDateString('en-US', { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + }); + const latestSummary = await getLatestSummaryText(); + const structuredSummary = ensureStructuredReport(latestSummary.text, latestSummary.excerpt || '', humanDate); + return { + date: dateIso, + time: timeIso, + datetime: dateTimeIso, + date_human: humanDate, + summary: structuredSummary, + summary_full: structuredSummary, + summary_plain: latestSummary.text, + summary_source: latestSummary.source, + transcript_excerpt: latestSummary.excerpt || '', + session_id: latestSummary.sessionId || '' + }; +} + +async function getLatestSummaryText() { + const store = await getMemoryStore(); + const summaries = Array.isArray(store.summaries) ? store.summaries : []; + if (summaries.length) { + const sorted = [...summaries].sort((a, b) => (b.createdAt || '').localeCompare(a.createdAt || '')); + const latest = sorted.find((item) => sanitizeSummaryField(item?.content || '')); + if (latest) { + return { + text: sanitizeSummaryField(latest.content || ''), + source: 'memory_summary', + sessionId: latest.sessionId || '' + }; + } + } + + const sessions = Array.isArray(store.sessions) ? store.sessions : []; + if (sessions.length) { + const preferredId = state.lastSessionId || state.currentSessionId || null; + const byRecent = [...sessions].sort((a, b) => { + const aDate = a.endedAt || a.startedAt || a.createdAt || ''; + const bDate = b.endedAt || b.startedAt || b.createdAt || ''; + return bDate.localeCompare(aDate); + }); + const preferred = preferredId ? sessions.find((session) => session.id === preferredId) : null; + const session = preferred || byRecent[0]; + + if (session?.summaryId) { + const linked = summaries.find((item) => item.id === session.summaryId); + const linkedText = sanitizeSummaryField(linked?.content || ''); + if (linkedText) { + return { + text: linkedText, + source: 'session_summary', + sessionId: session.id || '' + }; + } + } + + const transcriptEntries = Array.isArray(session?.transcript) ? session.transcript : []; + const transcriptLines = transcriptEntries + .map((entry) => sanitizeSummaryField(normalizeGeneratedText(entry?.text || ''))) + .filter(Boolean) + .filter((line) => !TRANSCRIPT_NOISE_PATTERNS.some((pattern) => pattern.test(line))); + + if (transcriptLines.length) { + const excerptLines = transcriptLines.slice(-8); + const excerpt = excerptLines.join('\n'); + const summary = sanitizeSummaryField(excerptLines.join(' ')).slice(0, 1600); + return { + text: summary || 'Session transcript is available, but could not be summarized.', + source: 'session_transcript', + excerpt, + sessionId: session.id || '' + }; + } + } + + return { + text: 'Session ended. No summary content was captured yet.', + source: 'fallback', + sessionId: state.lastSessionId || '' + }; +} + +function ensureStructuredReport(summaryText, transcriptExcerpt = '', humanDate = '') { + const text = sanitizeSummaryField(normalizeGeneratedText(summaryText || '')); + if (text.startsWith('## Standup Summary') || text.startsWith('## Session Summary') || text.startsWith('## Meeting Summary')) { + return normalizeMarkdownReport(text, humanDate); + } + + const excerptLines = sanitizeSummaryField(normalizeGeneratedText(transcriptExcerpt || '')) + .split('\n') + .map((line) => line.trim()) + .filter(Boolean) + .slice(-6); + const keyNotes = excerptLines.length + ? excerptLines.map((line) => `- ${line}`).join('\n') + : '- None captured.'; + + const summaryBody = text || 'No summary content was captured yet.'; + return [ + '## Meeting Summary', + humanDate ? `Date: ${humanDate}` : '', + '', + summaryBody, + '', + '### Action Items', + '- None reported.', + '', + '### Blockers', + '- None reported.', + '', + '### Decisions', + '- None reported.', + '', + '### Key Notes', + keyNotes + ].join('\n'); +} + +function normalizeMarkdownReport(reportText, humanDate = '') { + if (!reportText) return ''; + let text = String(reportText).replace(/\r\n/g, '\n'); + + // Recover common flattened markdown patterns. + text = text + .replace(/(##\s+[^\n#]+?)\s+(?=###\s+)/g, '$1\n\n') + .replace(/(##\s+[^\n#]+?)\s+(?=-\s+)/g, '$1\n\n') + .replace(/\s+(###\s+)/g, '\n\n$1') + .replace(/\s+-\s+/g, '\n- '); + + return canonicalizeReportSections(text, humanDate); +} + +function canonicalizeReportSections(text, humanDate = '') { + const lines = String(text || '') + .split('\n') + .map((line) => line.trim()) + .filter((line) => Boolean(line)); + + // Repair a common split artifact: "Standup Summar," + "y" + for (let i = 0; i < lines.length - 1; i += 1) { + if (/^standup summar,?$/i.test(lines[i]) && /^y$/i.test(lines[i + 1])) { + lines[i] = 'Meeting Summary'; + lines.splice(i + 1, 1); + break; + } + } + + const output = []; + let currentSection = 'summary'; + + const pushSection = (title, level = 3) => { + if (output.length) output.push(''); + output.push(`${'#'.repeat(level)} ${title}`); + output.push(''); + }; + + const sectionForLine = (line) => { + const normalized = line.replace(/[,:;\-]+$/g, '').toLowerCase(); + if (normalized === 'standup summary' || normalized === 'session summary' || normalized === 'meeting summary') { + return { key: 'summary', title: 'Meeting Summary', level: 2 }; + } + if (normalized === 'action items') return { key: 'actions', title: 'Action Items', level: 3 }; + if (normalized === 'blockers') return { key: 'blockers', title: 'Blockers', level: 3 }; + if (normalized === 'decisions') return { key: 'decisions', title: 'Decisions', level: 3 }; + if (normalized === 'key notes') return { key: 'notes', title: 'Key Notes', level: 3 }; + return null; + }; + + // Ensure report always starts with top heading. + const firstSection = sectionForLine(lines[0] || ''); + if (!firstSection || firstSection.key !== 'summary') { + pushSection('Meeting Summary', 2); + } + if (humanDate) { + output.push(`Date: ${humanDate}`); + output.push(''); + } + + for (const rawLine of lines) { + const line = rawLine.replace(/\s+/g, ' ').replace(/[,:;]+$/g, '').trim(); + if (!line) continue; + + const nextSection = sectionForLine(line); + if (nextSection) { + currentSection = nextSection.key; + pushSection(nextSection.title, nextSection.level); + continue; + } + + if (currentSection === 'summary') { + output.push(line); + } else if (/^- /.test(line)) { + output.push(line); + } else { + output.push(`- ${line}`); + } + } + + return output + .join('\n') + .replace(/\n{3,}/g, '\n\n') + .trim(); +} + +async function executeWebhookAction(action, context) { + const settings = await getAdvancedSettings(); + const url = action.webhookUrl || settings.webhookUrl; + if (!url) { + throw new Error('Webhook action missing URL and no global webhook URL is configured.'); + } + + const method = action.method || 'POST'; + const headers = { ...(action.headers || {}) }; + const hasExplicitContentType = Boolean(headers['Content-Type'] || headers['content-type']); + const retryValue = Number(action.retryCount); + const retryCount = Number.isFinite(retryValue) ? Math.max(0, Math.min(5, Math.floor(retryValue))) : 0; + + const templateSource = action.bodyTemplate || settings.webhookPayload || '{"message":"{{summary}}","date":"{{date}}"}'; + let bodyToSend = templateSource; + + try { + // Parse template JSON first, then apply placeholders to values to avoid broken escaping. + const parsedTemplate = JSON.parse(templateSource); + const templatedObject = applyTemplateToValue(parsedTemplate, context || {}); + bodyToSend = JSON.stringify(templatedObject); + if (!hasExplicitContentType) { + headers['Content-Type'] = 'application/json'; + } + } catch (error) { + // Non-JSON template: render as plain text payload. + bodyToSend = renderTemplateString(templateSource, context || {}); + if (!hasExplicitContentType) { + headers['Content-Type'] = 'text/plain'; + } + } + + let lastError = null; + for (let attempt = 0; attempt <= retryCount; attempt += 1) { + try { + const response = await fetch(url, { + method, + headers, + body: bodyToSend + }); + const text = await response.text().catch(() => ''); + if (!response.ok) { + throw new Error(`Webhook responded with ${response.status}${text ? `: ${text}` : ''}`); + } + return { + status: response.status, + response: text + }; + } catch (error) { + lastError = error; + } + } + + throw lastError || new Error('Webhook action failed.'); +} + +function resolveMcpEndpoint(rawUrl) { + if (!rawUrl) return ''; + const trimmed = rawUrl.replace(/\/$/, ''); + if (trimmed.endsWith('/mcp')) return trimmed; + return `${trimmed}/mcp`; +} + function getAIConfigFromStorage() { return new Promise((resolve) => { chrome.storage.sync.get(['aiProvider', 'selectedModel'], (result) => { @@ -573,9 +1653,265 @@ function getApiKey(provider) { }); } -function getStoredContexts() { +function getSttConfigFromStorage() { return new Promise((resolve) => { - chrome.storage.local.get('contexts', (result) => { + chrome.storage.sync.get( + ['sttProvider', 'sttModel', 'sttApiKeys', 'apiKeys', 'sttEndpoint', 'sttLanguageMode', 'sttForcedLanguage', 'sttTask', 'sttVadFilter', 'sttBeamSize'], + (result) => { + const provider = result.sttProvider || 'openai'; + const model = result.sttModel || 'whisper-1'; + const sttApiKeys = result.sttApiKeys || {}; + const apiKeys = result.apiKeys || {}; + const apiKey = sttApiKeys[provider] || (provider === 'openai' ? apiKeys.openai : ''); + const endpoint = result.sttEndpoint || 'http://localhost:8790/transcribe'; + const languageMode = result.sttLanguageMode || 'auto'; + const forcedLanguage = String(result.sttForcedLanguage || '').trim().toLowerCase(); + const task = result.sttTask || 'transcribe'; + const vadFilter = result.sttVadFilter !== false; + const beamSize = Math.min(10, Math.max(1, Number(result.sttBeamSize) || 5)); + const language = languageMode === 'forced' && forcedLanguage + ? forcedLanguage + : (languageMode === 'auto' && state.sttSessionLanguage ? state.sttSessionLanguage : ''); + + resolve({ provider, model, apiKey, endpoint, languageMode, forcedLanguage, language, task, vadFilter, beamSize }); + } + ); + }); +} + +function normalizeLocalSttEndpoint(rawEndpoint) { + if (!rawEndpoint) return 'http://localhost:8790/transcribe'; + const trimmed = rawEndpoint.replace(/\/$/, ''); + if (trimmed.endsWith('/transcribe')) return trimmed; + return `${trimmed}/transcribe`; +} + +async function transcribeWithLocalBridge(sttConfig, audioBase64, mimeType, captureMode) { + const endpoint = normalizeLocalSttEndpoint(sttConfig.endpoint); + const headers = {}; + if (sttConfig.apiKey) { + headers.Authorization = `Bearer ${sttConfig.apiKey}`; + headers['x-api-key'] = sttConfig.apiKey; + } + + const blob = decodeBase64ToBlob(audioBase64, mimeType || 'audio/webm'); + const extension = (mimeType || 'audio/webm').includes('mp4') ? 'mp4' : 'webm'; + const formData = new FormData(); + formData.append('file', blob, `chunk.${extension}`); + formData.append('task', sttConfig.task || 'transcribe'); + formData.append('vad_filter', String(Boolean(sttConfig.vadFilter))); + formData.append('beam_size', String(sttConfig.beamSize || 5)); + if (sttConfig.language) { + formData.append('language', sttConfig.language); + } + if (sttConfig.model) { + formData.append('model', sttConfig.model); + } + + const response = await fetch(endpoint, { + method: 'POST', + headers, + body: formData + }); + + if (!response.ok) { + const errorText = await response.text(); + return { success: false, error: `Local STT bridge failed (${response.status}): ${errorText}` }; + } + + const data = await response.json(); + const transcript = normalizeGeneratedText((data.text || data.transcript || '').trim()); + return { success: true, transcript, language: data.language || '' }; +} + +async function testSttConnection() { + const sttConfig = await getSttConfigFromStorage(); + + if (sttConfig.provider === 'browser') { + return { success: true, message: 'Browser STT selected. No remote connection required.' }; + } + + if (sttConfig.provider === 'local') { + const endpoint = normalizeLocalSttEndpoint(sttConfig.endpoint); + const healthEndpoint = endpoint.replace(/\/transcribe$/, '/health'); + const response = await fetch(healthEndpoint, { method: 'GET' }); + if (!response.ok) { + const text = await response.text(); + return { success: false, error: `Local STT health check failed (${response.status}): ${text}` }; + } + return { success: true, message: `Local STT bridge reachable at ${healthEndpoint}` }; + } + + if (sttConfig.provider === 'openai') { + if (!sttConfig.apiKey) { + return { success: false, error: 'Missing OpenAI STT API key.' }; + } + const response = await fetch('https://api.openai.com/v1/models', { + method: 'GET', + headers: { + Authorization: `Bearer ${sttConfig.apiKey}` + } + }); + if (!response.ok) { + const text = await response.text(); + return { success: false, error: `OpenAI STT check failed (${response.status}): ${text}` }; + } + return { success: true, message: 'OpenAI STT connection successful.' }; + } + + return { success: false, error: `Unsupported STT provider: ${sttConfig.provider}` }; +} + +function decodeBase64ToBlob(base64Audio, mimeType = 'audio/webm') { + const binaryString = atob(base64Audio || ''); + const bytes = new Uint8Array(binaryString.length); + for (let i = 0; i < binaryString.length; i += 1) { + bytes[i] = binaryString.charCodeAt(i); + } + return new Blob([bytes], { type: mimeType }); +} + +async function transcribeAudioChunk(audioBase64, mimeType, captureMode) { + if (!audioBase64) { + return { success: false, error: 'No audio chunk provided.' }; + } + + const sttConfig = await getSttConfigFromStorage(); + if (sttConfig.provider === 'browser') { + return { success: false, error: 'Browser STT is selected. Switch STT provider to OpenAI for true tab/mixed transcription.' }; + } + if (sttConfig.provider === 'local') { + const localResult = await transcribeWithLocalBridge(sttConfig, audioBase64, mimeType, captureMode); + if (!localResult.success) return localResult; + const localTranscript = localResult.transcript; + const localLanguage = String(localResult.language || '').trim().toLowerCase(); + if (!localTranscript) { + return { success: true, transcript: '' }; + } + if (sttConfig.languageMode === 'auto' && !state.sttSessionLanguage && localLanguage) { + state.sttSessionLanguage = localLanguage; + } + chrome.runtime.sendMessage({ action: 'updateTranscript', transcript: localTranscript }); + appendTranscriptToCurrentSession(localTranscript); + if (isQuestion(localTranscript)) { + getAIResponse(localTranscript); + } + return { success: true, transcript: localTranscript }; + } + if (sttConfig.provider !== 'openai') { + return { success: false, error: `Unsupported STT provider: ${sttConfig.provider}` }; + } + if (!sttConfig.apiKey) { + return { success: false, error: 'STT API key missing. Save OpenAI STT key in Assistant Setup.' }; + } + + const blob = decodeBase64ToBlob(audioBase64, mimeType || 'audio/webm'); + const formData = new FormData(); + formData.append('file', blob, `chunk.${(mimeType || 'audio/webm').includes('mp4') ? 'mp4' : 'webm'}`); + formData.append('model', sttConfig.model || 'whisper-1'); + formData.append('response_format', 'verbose_json'); + if (sttConfig.language) { + formData.append('language', sttConfig.language); + } + + const sttPath = sttConfig.task === 'translate' + ? 'https://api.openai.com/v1/audio/translations' + : 'https://api.openai.com/v1/audio/transcriptions'; + const response = await fetch(sttPath, { + method: 'POST', + headers: { + Authorization: `Bearer ${sttConfig.apiKey}` + }, + body: formData + }); + + if (!response.ok) { + const errorText = await response.text(); + return { success: false, error: `Transcription failed (${response.status}): ${errorText}` }; + } + + const data = await response.json(); + const transcript = normalizeGeneratedText((data.text || data.transcript || '').trim()); + const detectedLanguage = String(data.language || '').trim().toLowerCase(); + if (!transcript) { + return { success: true, transcript: '' }; + } + + if (sttConfig.languageMode === 'auto' && !state.sttSessionLanguage && detectedLanguage) { + state.sttSessionLanguage = detectedLanguage; + } + + chrome.runtime.sendMessage({ action: 'updateTranscript', transcript }); + appendTranscriptToCurrentSession(transcript); + + if (isQuestion(transcript)) { + getAIResponse(transcript); + } else if (captureMode === 'tab' || captureMode === 'mixed') { + chrome.runtime.sendMessage({ + action: 'updateAIResponse', + response: 'Listening... (ask a question to get a response)' + }); + } + + return { success: true, transcript }; +} + +function initializeContextProfiles() { + chrome.storage.sync.get([CONTEXT_PROFILES_STORAGE_KEY, ACTIVE_CONTEXT_PROFILE_STORAGE_KEY], (result) => { + const existingProfiles = Array.isArray(result[CONTEXT_PROFILES_STORAGE_KEY]) ? result[CONTEXT_PROFILES_STORAGE_KEY] : []; + const existingActive = result[ACTIVE_CONTEXT_PROFILE_STORAGE_KEY]; + + if (!existingProfiles.length) { + state.activeContextProfileId = existingActive || DEFAULT_CONTEXT_PROFILE_ID; + chrome.storage.sync.set({ + [CONTEXT_PROFILES_STORAGE_KEY]: DEFAULT_CONTEXT_PROFILES, + [ACTIVE_CONTEXT_PROFILE_STORAGE_KEY]: existingActive || DEFAULT_CONTEXT_PROFILE_ID + }); + return; + } + + if (!existingActive) { + chrome.storage.sync.set({ [ACTIVE_CONTEXT_PROFILE_STORAGE_KEY]: existingProfiles[0].id || DEFAULT_CONTEXT_PROFILE_ID }); + state.activeContextProfileId = existingProfiles[0].id || DEFAULT_CONTEXT_PROFILE_ID; + return; + } + state.activeContextProfileId = existingActive; + }); +} + +function getActiveContextProfile() { + return new Promise((resolve) => { + chrome.storage.sync.get([CONTEXT_PROFILES_STORAGE_KEY, ACTIVE_CONTEXT_PROFILE_STORAGE_KEY], (result) => { + const profiles = Array.isArray(result[CONTEXT_PROFILES_STORAGE_KEY]) && result[CONTEXT_PROFILES_STORAGE_KEY].length + ? result[CONTEXT_PROFILES_STORAGE_KEY] + : DEFAULT_CONTEXT_PROFILES; + + const requestedId = state.activeContextProfileId || result[ACTIVE_CONTEXT_PROFILE_STORAGE_KEY] || DEFAULT_CONTEXT_PROFILE_ID; + const activeProfile = profiles.find((profile) => profile.id === requestedId) || profiles[0] || DEFAULT_CONTEXT_PROFILES[0]; + resolve(activeProfile); + }); + }); +} + +function getModePolicy(profile) { + const mode = profile && profile.mode ? profile.mode : 'interview'; + const basePolicy = DEFAULT_MODE_POLICIES[mode] || DEFAULT_MODE_POLICIES.custom; + const customPrompt = profile && typeof profile.systemPrompt === 'string' ? profile.systemPrompt.trim() : ''; + return { + ...basePolicy, + systemPrompt: customPrompt || basePolicy.systemPrompt || DEFAULT_LISTENING_PROMPT + }; +} + +function getStoredContexts(profileId) { + return new Promise((resolve) => { + chrome.storage.local.get([CONTEXTS_BY_PROFILE_STORAGE_KEY, 'contexts'], (result) => { + const byProfile = result[CONTEXTS_BY_PROFILE_STORAGE_KEY] || {}; + const profileContexts = Array.isArray(byProfile[profileId]) ? byProfile[profileId] : null; + if (profileContexts) { + resolve(profileContexts); + return; + } resolve(result.contexts || []); }); }); @@ -632,42 +1968,373 @@ function buildTabCaptureErrorMessage(errorMsg) { } function initializeActiveState() { - chrome.storage.sync.get(['extensionActive'], (result) => { - if (chrome.runtime.lastError) { - state.isActive = true; - updateActionBadge(); - return; - } - state.isActive = result.extensionActive !== false; + // Extension is always active now; Start/Stop listening is the only user control. + chrome.storage.sync.set({ extensionActive: true }, () => { updateActionBadge(); }); } -function setActiveState(isActive, sendResponse) { - state.isActive = isActive; - chrome.storage.sync.set({ extensionActive: isActive }, () => { - updateActionBadge(); - if (!isActive) { - stopListeningAcrossTabs(); +function initializeMemoryStore() { + chrome.storage.local.get([MEMORY_STORAGE_KEY], (result) => { + if (chrome.runtime.lastError) { + return; } - sendResponse({ success: true, isActive }); + if (!result[MEMORY_STORAGE_KEY]) { + chrome.storage.local.set({ [MEMORY_STORAGE_KEY]: createDefaultMemoryStore() }); + } + }); +} + +function getMemoryStore() { + return new Promise((resolve) => { + chrome.storage.local.get([MEMORY_STORAGE_KEY], (result) => { + if (chrome.runtime.lastError) { + resolve(createDefaultMemoryStore()); + return; + } + const store = result[MEMORY_STORAGE_KEY] || createDefaultMemoryStore(); + if (store.version !== MEMORY_SCHEMA_VERSION) { + const migrated = { ...createDefaultMemoryStore(), ...store, version: MEMORY_SCHEMA_VERSION }; + chrome.storage.local.set({ [MEMORY_STORAGE_KEY]: migrated }, () => resolve(migrated)); + return; + } + resolve(store); + }); + }); +} + +function setMemoryStore(store) { + return new Promise((resolve) => { + chrome.storage.local.set({ [MEMORY_STORAGE_KEY]: store }, () => resolve(store)); + }); +} + +function updateMemoryProfile(profileUpdates) { + return getMemoryStore().then((store) => { + const updatedProfile = { + ...store.profile, + ...profileUpdates, + updatedAt: new Date().toISOString() + }; + const nextStore = { ...store, profile: updatedProfile }; + return setMemoryStore(nextStore); + }); +} + +function addMemorySession(sessionInput) { + return getMemoryStore().then((store) => { + const session = { + id: sessionInput.id || createMemoryId('session'), + title: sessionInput.title || 'Session', + createdAt: sessionInput.createdAt || new Date().toISOString(), + status: sessionInput.status || SESSION_STATUS.ACTIVE, + startedAt: sessionInput.startedAt || null, + pausedAt: sessionInput.pausedAt || null, + endedAt: sessionInput.endedAt || null, + notes: sessionInput.notes || '', + storeConsent: Boolean(sessionInput.storeConsent), + transcript: Array.isArray(sessionInput.transcript) ? sessionInput.transcript : [], + summaryId: sessionInput.summaryId || null + }; + const nextStore = { ...store, sessions: [...store.sessions, session] }; + return setMemoryStore(nextStore).then(() => session); + }); +} + +function addMemorySummary(summaryInput) { + return getMemoryStore().then((store) => { + const summary = { + id: summaryInput.id || createMemoryId('summary'), + sessionId: summaryInput.sessionId || null, + createdAt: summaryInput.createdAt || new Date().toISOString(), + content: summaryInput.content || '', + highlights: Array.isArray(summaryInput.highlights) ? summaryInput.highlights : [] + }; + const nextStore = { ...store, summaries: [...store.summaries, summary] }; + return setMemoryStore(nextStore).then(() => summary); + }); +} + +function addMemoryActionItems(itemsInput, sessionId) { + return getMemoryStore().then((store) => { + const items = (Array.isArray(itemsInput) ? itemsInput : []).map((item) => ({ + id: item.id || createMemoryId('action'), + sessionId: item.sessionId || sessionId || null, + createdAt: item.createdAt || new Date().toISOString(), + text: item.text || '', + owner: item.owner || '', + dueAt: item.dueAt || null, + done: Boolean(item.done) + })); + const nextStore = { ...store, actionItems: [...store.actionItems, ...items] }; + return setMemoryStore(nextStore).then(() => items); + }); +} + +function clearMemoryStore() { + const store = createDefaultMemoryStore(); + return setMemoryStore(store); +} + +function createMemoryId(prefix) { + if (crypto && typeof crypto.randomUUID === 'function') { + return `${prefix}_${crypto.randomUUID()}`; + } + return `${prefix}_${Math.random().toString(36).slice(2, 10)}${Date.now().toString(36)}`; +} + +function buildMemoryContext(question, store, speedMode) { + if (!store) return ''; + const docs = buildMemoryDocuments(store); + if (!docs.length) return ''; + + const ranked = rankDocuments(question, docs); + const maxItems = speedMode ? Math.max(1, Math.floor(RAG_MAX_ITEMS / 2)) : RAG_MAX_ITEMS; + const selected = ranked.filter((item) => item.score >= RAG_MIN_SCORE).slice(0, maxItems); + if (!selected.length) return ''; + + return selected + .map((item) => `Memory (${item.type}${item.title ? `: ${item.title}` : ''}):\n${item.content}`) + .join('\n\n---\n\n'); +} + +function buildMemoryDocuments(store) { + const docs = []; + const profile = store.profile || {}; + const profileContent = [profile.name, profile.role, profile.notes].filter(Boolean).join('\n'); + if (profileContent.trim()) { + docs.push({ + id: 'profile', + type: 'profile', + title: profile.name || profile.role || 'Profile', + content: profileContent + }); + } + + const summaries = Array.isArray(store.summaries) ? store.summaries : []; + summaries.forEach((summary) => { + if (!summary || !summary.content) return; + docs.push({ + id: summary.id, + type: 'summary', + title: summary.sessionId ? `Session ${summary.sessionId}` : 'Session summary', + content: summary.content + }); + }); + + return docs; +} + +function rankDocuments(query, docs) { + const queryTokens = tokenize(query); + if (!queryTokens.length) return []; + + const docTokens = docs.map((doc) => tokenize(doc.content)); + const idf = buildIdf(docTokens); + const queryVector = buildTfIdfVector(queryTokens, idf); + + return docs + .map((doc, index) => { + const vector = buildTfIdfVector(docTokens[index], idf); + return { ...doc, score: cosineSimilarity(queryVector, vector) }; + }) + .sort((a, b) => b.score - a.score); +} + +function tokenize(text) { + return String(text || '') + .toLowerCase() + .replace(/[^a-z0-9\s]/g, ' ') + .split(/\s+/) + .filter((token) => token.length > 2); +} + +function buildIdf(docTokens) { + const docCount = docTokens.length; + const docFreq = {}; + docTokens.forEach((tokens) => { + const seen = new Set(tokens); + seen.forEach((token) => { + docFreq[token] = (docFreq[token] || 0) + 1; + }); + }); + + const idf = {}; + Object.keys(docFreq).forEach((token) => { + idf[token] = Math.log((docCount + 1) / (docFreq[token] + 1)) + 1; + }); + return idf; +} + +function buildTfIdfVector(tokens, idf) { + const tf = {}; + tokens.forEach((token) => { + tf[token] = (tf[token] || 0) + 1; + }); + const vector = {}; + Object.keys(tf).forEach((token) => { + vector[token] = tf[token] * (idf[token] || 0); + }); + return vector; +} + +function cosineSimilarity(a, b) { + const aKeys = Object.keys(a); + const bKeys = Object.keys(b); + if (!aKeys.length || !bKeys.length) return 0; + + let dot = 0; + let aMag = 0; + let bMag = 0; + + aKeys.forEach((key) => { + const value = a[key]; + aMag += value * value; + if (b[key]) { + dot += value * b[key]; + } + }); + + bKeys.forEach((key) => { + const value = b[key]; + bMag += value * value; + }); + + if (aMag === 0 || bMag === 0) return 0; + return dot / (Math.sqrt(aMag) * Math.sqrt(bMag)); +} + +function updateMemorySession(sessionId, updates) { + return getMemoryStore().then((store) => { + const index = store.sessions.findIndex((session) => session.id === sessionId); + if (index === -1) { + return null; + } + const updated = { ...store.sessions[index], ...updates }; + const nextSessions = [...store.sessions]; + nextSessions[index] = updated; + const nextStore = { ...store, sessions: nextSessions }; + return setMemoryStore(nextStore).then(() => updated); + }); +} + +function ensureActiveSession() { + if (state.currentSessionStatus === SESSION_STATUS.PAUSED && state.currentSessionId) { + state.currentSessionStatus = SESSION_STATUS.ACTIVE; + updateMemorySession(state.currentSessionId, { status: SESSION_STATUS.ACTIVE, pausedAt: null }); + return; + } + + if (state.currentSessionStatus === SESSION_STATUS.ACTIVE && state.currentSessionId) { + return; + } + + addMemorySession({ + status: SESSION_STATUS.ACTIVE, + startedAt: new Date().toISOString(), + storeConsent: Boolean(state.pendingSessionConsent) + }).then((session) => { + state.currentSessionId = session.id; + state.currentSessionStatus = SESSION_STATUS.ACTIVE; + state.currentSessionConsent = Boolean(state.pendingSessionConsent); + state.pendingSessionConsent = null; + }); +} + +function pauseCurrentSession() { + if (!state.currentSessionId || state.currentSessionStatus !== SESSION_STATUS.ACTIVE) { + return; + } + state.currentSessionStatus = SESSION_STATUS.PAUSED; + updateMemorySession(state.currentSessionId, { + status: SESSION_STATUS.PAUSED, + pausedAt: new Date().toISOString() + }); +} + +function endCurrentSession() { + if (!state.currentSessionId || state.currentSessionStatus === SESSION_STATUS.IDLE) { + return; + } + const sessionId = state.currentSessionId; + state.currentSessionId = null; + state.currentSessionStatus = SESSION_STATUS.ENDED; + state.lastSessionId = sessionId; + updateMemorySession(sessionId, { + status: SESSION_STATUS.ENDED, + endedAt: new Date().toISOString() + }); +} + +function appendTranscriptToCurrentSession(text) { + if (!text || !state.currentSessionId) { + return; + } + if (!state.currentSessionConsent) { + return; + } + const entry = { + text: String(text), + createdAt: new Date().toISOString() + }; + getMemoryStore().then((store) => { + const index = store.sessions.findIndex((session) => session.id === state.currentSessionId); + if (index === -1) return; + const session = store.sessions[index]; + const transcript = Array.isArray(session.transcript) ? session.transcript : []; + const updated = { ...session, transcript: [...transcript, entry] }; + const nextSessions = [...store.sessions]; + nextSessions[index] = updated; + setMemoryStore({ ...store, sessions: nextSessions }); + }); +} + +function setCurrentSessionConsent(consent) { + state.currentSessionConsent = consent; + state.pendingSessionConsent = consent; + if (!state.currentSessionId) return; + updateMemorySession(state.currentSessionId, { storeConsent: consent }); +} + +function forgetCurrentSession() { + const sessionId = state.currentSessionId || state.lastSessionId; + if (!sessionId) return; + getMemoryStore().then((store) => { + const nextStore = { + ...store, + sessions: store.sessions.filter((session) => session.id !== sessionId), + summaries: store.summaries.filter((summary) => summary.sessionId !== sessionId), + actionItems: store.actionItems.filter((item) => item.sessionId !== sessionId) + }; + setMemoryStore(nextStore); + }); + state.currentSessionId = null; + state.currentSessionStatus = SESSION_STATUS.IDLE; + state.currentSessionConsent = false; + state.pendingSessionConsent = null; + if (state.lastSessionId === sessionId) { + state.lastSessionId = null; + } +} + +function saveCurrentSessionSummary(content, saveToMemory, sessionIdOverride) { + const sessionId = sessionIdOverride || state.currentSessionId || state.lastSessionId; + if (!sessionId) { + return Promise.resolve({ success: false, error: 'No active session to save.' }); + } + if (!content.trim()) { + return Promise.resolve({ success: false, error: 'Summary is empty.' }); + } + if (!saveToMemory) { + return Promise.resolve({ success: true, saved: false }); + } + return addMemorySummary({ sessionId, content }).then((summary) => { + updateMemorySession(sessionId, { summaryId: summary.id }); + return { success: true, saved: true, summaryId: summary.id }; }); } function updateActionBadge() { if (!chrome.action || !chrome.action.setBadgeText) return; - chrome.action.setBadgeText({ text: state.isActive ? 'ON' : 'OFF' }); - chrome.action.setBadgeBackgroundColor({ color: state.isActive ? '#2ecc71' : '#e74c3c' }); -} - -function stopListeningAcrossTabs() { - chrome.tabs.query({}, (tabs) => { - if (chrome.runtime.lastError || !tabs.length) return; - tabs.forEach((tab) => { - if (!tab.id) return; - chrome.tabs.sendMessage(tab.id, { action: 'stopCapture' }, () => { - // Ignore errors for tabs without the content script. - }); - }); - }); + chrome.action.setBadgeText({ text: '' }); } diff --git a/content.js b/content.js index 3da0f86..efda8c2 100644 --- a/content.js +++ b/content.js @@ -9,6 +9,12 @@ let overlayHidden = false; let analyserNode = null; let meterSource = null; let meterRaf = null; +let transcriptionRecorder = null; +let mixedTabStream = null; +let mixedMicStream = null; +let mixedOutputStream = null; +let lastTranscriptionErrorAt = 0; +let transcriptionWindowTimer = null; chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { if (request.action === 'startCapture') { @@ -80,10 +86,7 @@ function startCapture(streamId) { overlayListening = true; ensureOverlay(); updateOverlayIndicator(); - updateOverlay( - 'response', - 'Tab audio is captured, but speech recognition uses the microphone. Use mic or mixed mode if you want transcription.' - ); + updateOverlay('response', 'Capturing tab audio and transcribing meeting audio...'); navigator.mediaDevices.getUserMedia({ audio: { chromeMediaSource: 'tab', @@ -93,9 +96,7 @@ function startCapture(streamId) { mediaStream = stream; audioContext = new AudioContext(); createAudioMeter(stream); - if (ensureSpeechRecognitionAvailable()) { - startRecognition(); - } + startTranscriptionRecorder(stream, 'tab'); }).catch((error) => { console.error('Error starting capture:', error); let errorMessage = 'Failed to start audio capture. '; @@ -147,18 +148,39 @@ function startMixedCapture(streamId) { overlayListening = true; ensureOverlay(); updateOverlayIndicator(); + updateOverlay('response', 'Capturing mixed audio (tab + mic) and transcribing...'); navigator.mediaDevices.getUserMedia({ audio: { chromeMediaSource: 'tab', chromeMediaSourceId: streamId } - }).then((stream) => { - mediaStream = stream; + }).then(async (tabStream) => { + mixedTabStream = tabStream; audioContext = new AudioContext(); - createAudioMeter(stream); - if (ensureSpeechRecognitionAvailable()) { - startRecognition(); + try { + mixedMicStream = await navigator.mediaDevices.getUserMedia({ audio: true }); + } catch (error) { + console.warn('Mixed mode mic unavailable, falling back to tab-only capture:', error); + mixedMicStream = null; + chrome.runtime.sendMessage({ + action: 'updateAIResponse', + response: 'Mic permission denied in mixed mode. Continuing with tab audio only.' + }); } + + const destination = audioContext.createMediaStreamDestination(); + const tabSource = audioContext.createMediaStreamSource(tabStream); + tabSource.connect(destination); + + if (mixedMicStream) { + const micSource = audioContext.createMediaStreamSource(mixedMicStream); + micSource.connect(destination); + } + + mixedOutputStream = destination.stream; + mediaStream = mixedOutputStream; + createAudioMeter(mixedOutputStream); + startTranscriptionRecorder(mixedOutputStream, 'mixed'); }).catch((error) => { console.error('Error starting mixed capture:', error); chrome.runtime.sendMessage({action: 'updateAIResponse', response: 'Failed to start mixed capture.'}); @@ -235,20 +257,148 @@ function ensureSpeechRecognitionAvailable() { return true; } +function stopTranscriptionRecorder() { + if (transcriptionWindowTimer) { + clearTimeout(transcriptionWindowTimer); + transcriptionWindowTimer = null; + } + if (transcriptionRecorder && transcriptionRecorder.state !== 'inactive') { + try { + transcriptionRecorder.stop(); + } catch (error) { + console.warn('Failed to stop transcription recorder:', error); + } + } + transcriptionRecorder = null; +} + +function blobToBase64(blob) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onloadend = () => { + const result = reader.result || ''; + const base64 = String(result).split(',')[1] || ''; + resolve(base64); + }; + reader.onerror = () => reject(new Error('Failed to read recorded audio chunk.')); + reader.readAsDataURL(blob); + }); +} + +function startTranscriptionRecorder(stream, mode) { + stopTranscriptionRecorder(); + const mimeType = MediaRecorder.isTypeSupported('audio/webm;codecs=opus') + ? 'audio/webm;codecs=opus' + : 'audio/webm'; + const WINDOW_MS = 6000; + + const sendBlobForTranscription = async (blob, currentMimeType) => { + if (!isCapturing || !blob || blob.size < 1024) return; + try { + const base64Audio = await blobToBase64(blob); + chrome.runtime.sendMessage( + { + action: 'transcribeAudioChunk', + audioBase64: base64Audio, + mimeType: currentMimeType || mimeType, + captureMode: mode + }, + (response) => { + if (chrome.runtime.lastError) return; + if (!response || !response.success) { + const now = Date.now(); + if (response && response.error && now - lastTranscriptionErrorAt > 6000) { + lastTranscriptionErrorAt = now; + chrome.runtime.sendMessage({ action: 'updateAIResponse', response: response.error }); + updateOverlay('response', response.error); + } + return; + } + if (!response.transcript) return; + updateOverlay('transcript', response.transcript); + } + ); + } catch (error) { + console.warn('Audio chunk transcription failed:', error); + } + }; + + const startWindow = () => { + if (!isCapturing) return; + const recorder = new MediaRecorder(stream, { mimeType }); + transcriptionRecorder = recorder; + const chunks = []; + + recorder.ondataavailable = (event) => { + if (event.data && event.data.size > 0) { + chunks.push(event.data); + } + }; + + recorder.onerror = (event) => { + const message = `Audio recorder error: ${event.error ? event.error.message : 'unknown'}`; + chrome.runtime.sendMessage({ action: 'updateAIResponse', response: message }); + updateOverlay('response', message); + }; + + recorder.onstop = async () => { + transcriptionRecorder = null; + if (!chunks.length) { + if (isCapturing) startWindow(); + return; + } + const blob = new Blob(chunks, { type: recorder.mimeType || mimeType }); + await sendBlobForTranscription(blob, recorder.mimeType || mimeType); + if (isCapturing) { + startWindow(); + } + }; + + recorder.start(); + transcriptionWindowTimer = setTimeout(() => { + transcriptionWindowTimer = null; + if (recorder.state !== 'inactive') { + recorder.stop(); + } + }, WINDOW_MS); + }; + + startWindow(); +} + function stopCapture() { isCapturing = false; overlayListening = false; updateOverlayIndicator(); + stopTranscriptionRecorder(); stopAudioMeter(); if (mediaStream) { mediaStream.getTracks().forEach(track => track.stop()); + mediaStream = null; + } + if (mixedTabStream) { + mixedTabStream.getTracks().forEach(track => track.stop()); + mixedTabStream = null; + } + if (mixedMicStream) { + mixedMicStream.getTracks().forEach(track => track.stop()); + mixedMicStream = null; + } + if (mixedOutputStream) { + mixedOutputStream.getTracks().forEach(track => track.stop()); + mixedOutputStream = null; } if (audioContext) { audioContext.close(); audioContext = null; } if (recognition) { - recognition.stop(); + try { + recognition.stop(); + } catch (error) { + console.warn('Failed to stop recognition:', error); + } + recognition = null; } } @@ -385,7 +535,7 @@ function ensureOverlay() {
- AI Interview Assistant + AI Assistant
diff --git a/contentScript.js b/contentScript.js index a6aba9f..b73d732 100644 --- a/contentScript.js +++ b/contentScript.js @@ -1,7 +1,7 @@ function createDraggableUI() { const uiHTML = `
-
AI Interview Assistant
+
AI Assistant
diff --git a/local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md b/local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md new file mode 100644 index 0000000..f58bde0 --- /dev/null +++ b/local_stt_bridge/LOCAL_STT_BRIDGE_GUIDE.md @@ -0,0 +1,88 @@ +# Local STT Bridge (faster-whisper) + +Self-hosted Speech-to-Text bridge for the Chrome extension. + +Primary project documentation lives in `README.md`. + +## 1) Install + +Use Python 3.11 or 3.12 (recommended). Python 3.13 may force source builds for audio deps. + +```bash +cd local_stt_bridge +python3.11 -m venv .venv +source .venv/bin/activate +pip install --upgrade pip setuptools wheel +pip install -r requirements.txt +``` + +### macOS build prerequisites (required if `av`/PyAV tries to build) + +```bash +brew install pkg-config ffmpeg +``` + +If install still fails on `PyAV`, recreate the venv with Python 3.11 and retry. + +## 2) Run + +```bash +cd local_stt_bridge +source .venv/bin/activate +export STT_MODEL=small +export STT_DEVICE=auto +export STT_COMPUTE_TYPE=int8 +# Optional auth key: +# export STT_API_KEY=your_local_key +uvicorn server:app --host 0.0.0.0 --port 8790 +``` + +## 3) Verify + +```bash +curl http://localhost:8790/health +``` + +## 4) Extension Setup + +In side panel: +- Assistant Setup -> Speech-to-Text Provider: `Local faster-whisper bridge` +- STT Model: `small` (start here) +- Local STT endpoint: `http://localhost:8790/transcribe` +- Optional Local STT API key if `STT_API_KEY` is set on server +- Optional quality/language controls: + - Language Mode: `Auto-detect` or `Force language` + - Forced language: e.g. `en`, `fr`, `de`, `ar` + - Task: `transcribe` or `translate` + - VAD filter: on/off + - Beam size: integer (default `5`) +- Click `Test STT Connection` from the extension to validate endpoint reachability. + +## API contract expected by the extension + +`POST /transcribe` with `multipart/form-data`: + +- `file` (required): uploaded audio chunk (`webm`/`mp4`/`wav`) +- `task` (optional): `transcribe` or `translate` +- `vad_filter` (optional): `true`/`false` +- `beam_size` (optional): integer +- `language` (optional): language code +- `model` (optional): model hint + +Optional auth headers when enabled: + +- `Authorization: Bearer ` +- `x-api-key: ` + +`GET /health` is used by extension `Test STT Connection`. + +## Public domain + HTTPS note + +If you expose this service on a public domain, use HTTPS via reverse proxy. +Chrome may auto-upgrade `http://` on HSTS domains to `https://`, which causes plain HTTP Uvicorn ports to fail with `Invalid HTTP request received`. + +## Notes + +- `faster-whisper` relies on FFmpeg for many input formats. +- For best CPU cost/performance, use `small` or `medium`. +- `large-v3` improves quality but uses significantly more compute. diff --git a/local_stt_bridge/__pycache__/server.cpython-313.pyc b/local_stt_bridge/__pycache__/server.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b15a463b6ca7f228609f7553b11b25a6119480b GIT binary patch literal 4550 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 Y+~5HEWPrQmraw6^T;l0Zc^2mX2e&Z@H2?qr literal 0 HcmV?d00001 diff --git a/local_stt_bridge/requirements.txt b/local_stt_bridge/requirements.txt new file mode 100644 index 0000000..b836de2 --- /dev/null +++ b/local_stt_bridge/requirements.txt @@ -0,0 +1,3 @@ +fastapi==0.115.0 +uvicorn[standard]==0.30.6 +faster-whisper==1.0.3 diff --git a/local_stt_bridge/server.py b/local_stt_bridge/server.py new file mode 100644 index 0000000..7da6c94 --- /dev/null +++ b/local_stt_bridge/server.py @@ -0,0 +1,92 @@ +import base64 +import os +import tempfile +from typing import Optional + +from fastapi import FastAPI, Header, HTTPException +from fastapi.middleware.cors import CORSMiddleware +from pydantic import BaseModel + +try: + from faster_whisper import WhisperModel +except ImportError as exc: # pragma: no cover + raise RuntimeError("faster-whisper is required. Install dependencies from requirements.txt") from exc + + +STT_MODEL = os.getenv("STT_MODEL", "small") +STT_DEVICE = os.getenv("STT_DEVICE", "auto") +STT_COMPUTE_TYPE = os.getenv("STT_COMPUTE_TYPE", "int8") +STT_API_KEY = os.getenv("STT_API_KEY", "").strip() + +app = FastAPI(title="Local STT Bridge", version="1.0.0") +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=False, + allow_methods=["*"], + allow_headers=["*"], +) + +model = WhisperModel(STT_MODEL, device=STT_DEVICE, compute_type=STT_COMPUTE_TYPE) + + +class TranscribeRequest(BaseModel): + audioBase64: str + mimeType: Optional[str] = "audio/webm" + captureMode: Optional[str] = "tab" + model: Optional[str] = None + + +@app.get("/health") +def health(): + return { + "ok": True, + "engine": "faster-whisper", + "model": STT_MODEL, + "device": STT_DEVICE, + "computeType": STT_COMPUTE_TYPE, + } + + +@app.post("/transcribe") +def transcribe(payload: TranscribeRequest, x_stt_api_key: Optional[str] = Header(default=None)): + if STT_API_KEY and x_stt_api_key != STT_API_KEY: + raise HTTPException(status_code=401, detail="Invalid STT API key") + + try: + audio_bytes = base64.b64decode(payload.audioBase64) + except Exception as exc: + raise HTTPException(status_code=400, detail=f"Invalid base64 audio payload: {exc}") from exc + + suffix = ".webm" + if payload.mimeType and "mp4" in payload.mimeType: + suffix = ".mp4" + elif payload.mimeType and "wav" in payload.mimeType: + suffix = ".wav" + + with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as tmp: + tmp.write(audio_bytes) + tmp_path = tmp.name + + try: + segments, info = model.transcribe( + tmp_path, + vad_filter=True, + beam_size=1, + language=None, + ) + text = " ".join(segment.text.strip() for segment in segments).strip() + return { + "success": True, + "text": text, + "language": info.language, + "duration": info.duration, + } + except Exception as exc: + raise HTTPException(status_code=500, detail=f"Transcription failed: {exc}") from exc + finally: + try: + os.remove(tmp_path) + except OSError: + pass + diff --git a/manifest.json b/manifest.json index ca2733d..3eeb24f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,10 @@ { "manifest_version": 3, - "name": "AI Interview Assistant", - "version": "1.0", + "name": "AI Assistant", + "version": "1.1.0", "description": "Monitors audio and answers questions in real-time using AI", "permissions": [ "tabCapture", - "audioCapture", "storage", "activeTab", "scripting", diff --git a/popup.html b/popup.html index 9fff25c..fcb6095 100644 --- a/popup.html +++ b/popup.html @@ -3,12 +3,12 @@ - AI Interview Assistant + AI Assistant
-

AI Interview Assistant

+

AI Assistant

diff --git a/remote-access.html b/remote-access.html index 4e6174b..5f74690 100644 --- a/remote-access.html +++ b/remote-access.html @@ -3,7 +3,7 @@ - AI Interview Assistant - Remote Access + AI Assistant - Remote Access