From dd788db786828f29909d918a4706f0f3482756f9 Mon Sep 17 00:00:00 2001 From: Khoa Vo Date: Wed, 14 Jan 2026 10:27:29 +0700 Subject: [PATCH] feat: Add new logo, PWA service worker, and background audio support - New modern audio wave 'A' logo (192x192 and 512x512 icons) - PWA service worker for offline support and installability - Wake Lock API for background audio on FiiO/Android devices - Visibility change handling to prevent audio pause on screen off - Updated manifest.json with music categories and proper PWA config - Media Session API lock screen controls (already present) - Renamed app to 'Audiophile Web Player' --- .dockerignore | 58 +- Dockerfile | 130 +- backend/api/routes.py | 1844 ++++++++--------- backend/backend/data/user_playlists.json | 1 + backend/cache_manager.py | 106 +- backend/main.py | 130 +- backend/playlist_manager.py | 176 +- backend/requirements.txt | 20 +- backend/scheduler.py | 102 +- backend/services/__init__.py | 2 +- backend/services/cache.py | 8 +- backend/services/spotify.py | 38 +- debug_recs.py | 34 +- docker-compose.yml | 22 +- frontend/app/favicon.ico | Bin 25931 -> 13374 bytes frontend/app/favicon.png | Bin 0 -> 2367 bytes frontend/app/layout.tsx | 126 +- frontend/app/library/page.tsx | 312 +-- frontend/app/page.tsx | 1020 ++++----- frontend/components/AddToPlaylistModal.tsx | 204 +- frontend/components/LyricsDetail.tsx | 300 +-- frontend/components/MobileNav.tsx | 60 +- frontend/components/PlayerBar.tsx | 65 + .../components/ServiceWorkerRegistration.tsx | 20 + frontend/components/Sidebar.tsx | 464 ++--- frontend/context/LibraryContext.tsx | 302 +-- frontend/context/PlayerContext.tsx | 558 ++--- frontend/next.config.mjs | 126 +- frontend/public/icons/icon-192x192.png | Bin 6485 -> 6064 bytes frontend/public/icons/icon-512x512.png | Bin 395057 -> 305688 bytes frontend/public/manifest.json | 14 +- frontend/public/sw.js | 96 + frontend/services/db.ts | 314 +-- frontend/services/library.ts | 152 +- test_audio.py | 42 +- 35 files changed, 3518 insertions(+), 3328 deletions(-) create mode 100644 backend/backend/data/user_playlists.json create mode 100644 frontend/app/favicon.png create mode 100644 frontend/components/ServiceWorkerRegistration.tsx create mode 100644 frontend/public/sw.js diff --git a/.dockerignore b/.dockerignore index cf8c547..8f19325 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,29 +1,29 @@ -# Git -.git -.gitignore - -# Node -node_modules -npm-debug.log - -# Python -venv -__pycache__ -*.pyc -*.pyo -*.pyd - -# Next.js -.next -out - -# Docker -Dockerfile -.dockerignore - -# OS -.DS_Store -Thumbs.db - -# Misc -*.log +# Git +.git +.gitignore + +# Node +node_modules +npm-debug.log + +# Python +venv +__pycache__ +*.pyc +*.pyo +*.pyd + +# Next.js +.next +out + +# Docker +Dockerfile +.dockerignore + +# OS +.DS_Store +Thumbs.db + +# Misc +*.log diff --git a/Dockerfile b/Dockerfile index 4404c06..c7051b6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,65 +1,65 @@ -# --- Stage 1: Frontend Builder --- -FROM node:18-slim AS builder -WORKDIR /app/frontend -COPY frontend/package*.json ./ -# Install dependencies including sharp for build -RUN npm install --legacy-peer-deps -COPY frontend/ ./ -# Build with standalone output -ENV NEXT_PUBLIC_API_URL="" -RUN npm run build - -# --- Stage 2: Final Runtime Image --- -FROM python:3.11-slim - -# Install system dependencies -RUN apt-get update && apt-get install -y \ - curl \ - gnupg \ - ffmpeg \ - ca-certificates \ - && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ - && apt-get install -y nodejs \ - && update-ca-certificates \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /app - -# Backend Setup -COPY backend/requirements.txt ./backend/requirements.txt -RUN pip install --no-cache-dir -r backend/requirements.txt - -# Frontend Setup (Copy from Builder) -# Copy the standalone server -COPY --from=builder /app/frontend/.next/standalone /app/frontend -# Explicitly install sharp in the standalone folder to ensure compatibility -RUN cd /app/frontend && npm install sharp - -# Copy static files (required for standalone) -COPY --from=builder /app/frontend/.next/static /app/frontend/.next/static -COPY --from=builder /app/frontend/public /app/frontend/public - -# Copy Backend Code -COPY backend/ ./backend/ - -# Create start script -RUN mkdir -p backend/data_seed && cp -r backend/data/* backend/data_seed/ || true - -# Set Environment Variables -ENV NODE_ENV=production -ENV PORT=3000 -ENV HOSTNAME="0.0.0.0" - -# Note: Standalone mode runs with 'node server.js' -RUN echo '#!/bin/bash\n\ - if [ ! -f backend/data/data.json ]; then\n\ - echo "Data volume appears empty. Seeding with bundled data..."\n\ - cp -r backend/data_seed/* backend/data/\n\ - fi\n\ - uvicorn backend.main:app --host 0.0.0.0 --port 8000 &\n\ - cd frontend && node server.js\n\ - ' > start.sh && chmod +x start.sh - -EXPOSE 3000 8000 - -CMD ["./start.sh"] +# --- Stage 1: Frontend Builder --- +FROM node:18-slim AS builder +WORKDIR /app/frontend +COPY frontend/package*.json ./ +# Install dependencies including sharp for build +RUN npm install --legacy-peer-deps +COPY frontend/ ./ +# Build with standalone output +ENV NEXT_PUBLIC_API_URL="" +RUN npm run build + +# --- Stage 2: Final Runtime Image --- +FROM python:3.11-slim + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + curl \ + gnupg \ + ffmpeg \ + ca-certificates \ + && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ + && apt-get install -y nodejs \ + && update-ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +# Backend Setup +COPY backend/requirements.txt ./backend/requirements.txt +RUN pip install --no-cache-dir -r backend/requirements.txt + +# Frontend Setup (Copy from Builder) +# Copy the standalone server +COPY --from=builder /app/frontend/.next/standalone /app/frontend +# Explicitly install sharp in the standalone folder to ensure compatibility +RUN cd /app/frontend && npm install sharp + +# Copy static files (required for standalone) +COPY --from=builder /app/frontend/.next/static /app/frontend/.next/static +COPY --from=builder /app/frontend/public /app/frontend/public + +# Copy Backend Code +COPY backend/ ./backend/ + +# Create start script +RUN mkdir -p backend/data_seed && cp -r backend/data/* backend/data_seed/ || true + +# Set Environment Variables +ENV NODE_ENV=production +ENV PORT=3000 +ENV HOSTNAME="0.0.0.0" + +# Note: Standalone mode runs with 'node server.js' +RUN echo '#!/bin/bash\n\ + if [ ! -f backend/data/data.json ]; then\n\ + echo "Data volume appears empty. Seeding with bundled data..."\n\ + cp -r backend/data_seed/* backend/data/\n\ + fi\n\ + uvicorn backend.main:app --host 0.0.0.0 --port 8000 &\n\ + cd frontend && node server.js\n\ + ' > start.sh && chmod +x start.sh + +EXPOSE 3000 8000 + +CMD ["./start.sh"] diff --git a/backend/api/routes.py b/backend/api/routes.py index cd3074f..0c41d49 100644 --- a/backend/api/routes.py +++ b/backend/api/routes.py @@ -1,922 +1,922 @@ -from fastapi import APIRouter, HTTPException, BackgroundTasks, Response -from fastapi.responses import StreamingResponse, JSONResponse -from pydantic import BaseModel -import json -from pathlib import Path -import yt_dlp -import requests -from backend.services.spotify import SpotifyService -from backend.services.cache import CacheManager -from backend.playlist_manager import PlaylistManager -from backend.scheduler import update_ytdlp # Import update function - -import re - -router = APIRouter() -# Services (Assumed to be initialized elsewhere if not here, adhering to existing patterns) -# spotify = SpotifyService() # Commented out as duplicates if already imported -if 'CacheManager' in globals(): - cache = CacheManager() -else: - from backend.cache_manager import CacheManager - cache = CacheManager() - -playlist_manager = PlaylistManager() - -@router.post("/system/update-ytdlp") -async def manual_ytdlp_update(background_tasks: BackgroundTasks): - """ - Trigger a manual update of yt-dlp in the background. - """ - background_tasks.add_task(update_ytdlp) - return {"status": "success", "message": "yt-dlp update started in background"} - -def get_high_res_thumbnail(thumbnails: list) -> str: - """ - Selects the best thumbnail and attempts to upgrade resolution - if it's a Google/YouTube URL. - """ - if not thumbnails: - return "https://placehold.co/300x300" - - # 1. Start with the largest available in the list - best_url = thumbnails[-1]['url'] - - # 2. Upgrade resolution for Google User Content (lh3.googleusercontent.com, yt3.ggpht.com) - # Common patterns: - # =w120-h120-l90-rj (Small) - # =w544-h544-l90-rj (High Res) - # s120-c-k-c0x00ffffff-no-rj (Profile/Avatar) - - if "googleusercontent.com" in best_url or "ggpht.com" in best_url: - import re - # Replace width/height params with 544 (standard YTM high res) - # We look for patterns like =w-h... - if "w" in best_url and "h" in best_url: - best_url = re.sub(r'=w\d+-h\d+', '=w544-h544', best_url) - elif best_url.startswith("https://lh3.googleusercontent.com") and "=" in best_url: - # Sometimes it's just URL=... - # We can try to force it - pass - - return best_url - -def extract_artist_names(track: dict) -> str: - """Safely extracts artist names from track data (dict or str items).""" - artists = track.get('artists') or [] - if isinstance(artists, list): - names = [] - for a in artists: - if isinstance(a, dict): - names.append(a.get('name', 'Unknown')) - elif isinstance(a, str): - names.append(a) - return ", ".join(names) if names else "Unknown Artist" - return "Unknown Artist" - -def extract_album_name(track: dict, default="Single") -> str: - """Safely extracts album name from track data.""" - album = track.get('album') - if isinstance(album, dict): - return album.get('name', default) - if isinstance(album, str): - return album - return default - -def clean_text(text: str) -> str: - if not text: - return "" - # Remove emojis - text = text.encode('ascii', 'ignore').decode('ascii') - # Remove text inside * * or similar patterns if they look spammy - # Remove excessive punctuation - # Example: "THE * VIRAL 50 *" -> "THE VIRAL 50" - - # 1. Remove URLs - text = re.sub(r'http\S+|www\.\S+', '', text) - - # 2. Remove "Playlist", "Music Chart", "Full SPOTIFY" spam keywords if desirable, - # but that might be too aggressive. - # Let's focus on cleaning the "Structure". - - # 3. Truncate Description if too long (e.g. > 300 chars)? - # The user example had a MASSIVE description. - # Let's just take the first paragraph or chunk? - - # 4. Remove excessive non-alphanumeric separators - text = re.sub(r'[*_=]{3,}', '', text) # Remove long separator lines - - # Custom cleaning for the specific example style: - # Remove text between asterisks if it looks like garbage? No, sometimes it's emphasis. - - return text.strip() - -def clean_title(title: str) -> str: - if not title: return "Playlist" - # Remove emojis (simple way) - title = title.encode('ascii', 'ignore').decode('ascii') - # Remove "Playlist", "Music Chart", "Full Video" spam - spam_words = ["Playlist", "Music Chart", "Full SPOTIFY Video", "Updated Weekly", "Official", "Video"] - for word in spam_words: - title = re.sub(word, "", title, flags=re.IGNORECASE) - - # Remove extra spaces and asterisks - title = re.sub(r'\s+', ' ', title).strip() - title = title.strip('*- ') - return title - -def clean_description(desc: str) -> str: - if not desc: return "" - # Remove URLs - desc = re.sub(r'http\S+', '', desc) - # Remove massive divider lines - desc = re.sub(r'[*_=]{3,}', '', desc) - # Be more aggressive with length? - if len(desc) > 300: - desc = desc[:300] + "..." - return desc.strip() - -CACHE_DIR = Path("backend/cache") - -class SearchRequest(BaseModel): - url: str - -class CreatePlaylistRequest(BaseModel): - name: str # Renamed from Title to Name to match Sidebar usage more typically, but API expects pydantic model - description: str = "" - -@router.get("/browse") -async def get_browse_content(): - """ - Returns the real fetched playlists from browse_playlists.json - """ - try: - data_path = Path("backend/data/browse_playlists.json") - if data_path.exists(): - with open(data_path, "r") as f: - return json.load(f) - else: - return [] - except Exception as e: - print(f"Browse Error: {e}") - return [] - -CATEGORIES_MAP = { - "Trending Vietnam": {"query": "Top 50 Vietnam", "type": "playlists"}, - "Just released Songs": {"query": "New Released Songs", "type": "playlists"}, - "Albums": {"query": "New Albums 2024", "type": "albums"}, - "Vietnamese DJs": {"query": "Vinahouse Remix", "type": "playlists"}, - "Global Hits": {"query": "Global Top 50", "type": "playlists"}, - "Chill Vibes": {"query": "Chill Lofi", "type": "playlists"}, - "Party Time": {"query": "Party EDM Hits", "type": "playlists"}, - "Best of Ballad": {"query": "Vietnamese Ballad", "type": "playlists"}, - "Hip Hop & Rap": {"query": "Vietnamese Rap", "type": "playlists"}, -} - -@router.get("/browse/category") -async def get_browse_category(name: str): - """ - Fetch live data for a specific category (infinite scroll support). - Fetches up to 50-100 items. - """ - if name not in CATEGORIES_MAP: - raise HTTPException(status_code=404, detail="Category not found") - - info = CATEGORIES_MAP[name] - query = info["query"] - search_type = info["type"] - - # Check Cache - cache_key = f"browse_category:{name}" - cached = cache.get(cache_key) - if cached: - return cached - - try: - from ytmusicapi import YTMusic - yt = YTMusic() - - # Search for more items (e.g. 50) - results = yt.search(query, filter=search_type, limit=50) - - category_items = [] - - for result in results: - item_id = result.get('browseId') - if not item_id: continue - - title = result.get('title', 'Unknown') - - # Simple item structure for list view (we don't need full track list for every item immediately) - # But frontend expects some structure. - - # Extract basic thumbnails - thumbnails = result.get('thumbnails', []) - cover_url = get_high_res_thumbnail(thumbnails) - - # description logic - description = "" - if search_type == "albums": - artists_text = ", ".join([a.get('name') for a in result.get('artists', [])]) - year = result.get('year', '') - description = f"Album by {artists_text} • {year}" - is_album = True - else: - is_album = False - # For playlists result, description might be missing in search result - description = f"Playlist • {result.get('itemCount', '')} tracks" - - category_items.append({ - "id": item_id, - "title": title, - "description": description, - "cover_url": cover_url, - "type": "album" if is_album else "playlist", - # Note: We are NOT fetching full tracks for each item here to save speed/quota. - # The frontend only needs cover, title, description, id. - # Tracks are fetched when user clicks the item (via get_playlist). - "tracks": [] - }) - - cache.set(cache_key, category_items, ttl_seconds=3600) # Cache for 1 hour - return category_items - - except Exception as e: - print(f"Category Fetch Error: {e}") - return [] - -@router.get("/playlists") -async def get_user_playlists(): - return playlist_manager.get_all() - -@router.post("/playlists") -async def create_user_playlist(playlist: CreatePlaylistRequest): - return playlist_manager.create(playlist.name, playlist.description) - -@router.delete("/playlists/{id}") -async def delete_user_playlist(id: str): - success = playlist_manager.delete(id) - if not success: - raise HTTPException(status_code=404, detail="Playlist not found") - return {"status": "ok"} - -@router.get("/playlists/{id}") -async def get_playlist(id: str): - """ - Get a specific playlist by ID. - 1. Check if it's a User Playlist. - 2. If not, fetch from YouTube Music (Browse/External). - """ - # 1. Try User Playlist - user_playlists = playlist_manager.get_all() - user_playlist = next((p for p in user_playlists if p['id'] == id), None) - if user_playlist: - return user_playlist - - # 2. Try External (YouTube Music) - # Check Cache first - cache_key = f"playlist:{id}" - cached_playlist = cache.get(cache_key) - if cached_playlist: - return cached_playlist - - try: - from ytmusicapi import YTMusic - yt = YTMusic() - - playlist_data = None - is_album = False - - if id.startswith("MPREb"): - try: - playlist_data = yt.get_album(id) - is_album = True - except Exception as e: - print(f"DEBUG: get_album(1) failed: {e}") - pass - - if not playlist_data: - try: - # ytmusicapi returns a dict with 'tracks' list - playlist_data = yt.get_playlist(id, limit=100) - except Exception as e: - print(f"DEBUG: get_playlist failed: {e}") - import traceback, sys - traceback.print_exc(file=sys.stdout) - # Fallback: Try as album if not tried yet - if not is_album: - try: - playlist_data = yt.get_album(id) - is_album = True - except Exception as e2: - print(f"DEBUG: get_album(2) failed: {e2}") - traceback.print_exc(file=sys.stdout) - raise e # Re-raise if both fail - - if not isinstance(playlist_data, dict): - print(f"DEBUG: Validation Failed! playlist_data type: {type(playlist_data)}", flush=True) - raise ValueError(f"Invalid playlist_data: {playlist_data}") - - # Format to match our app's Protocol - formatted_tracks = [] - if 'tracks' in playlist_data: - for track in playlist_data['tracks']: - artist_names = extract_artist_names(track) - - # Safely extract thumbnails - thumbnails = track.get('thumbnails', []) - if not thumbnails and is_album: - # Albums sometimes have thumbnails at root level, not per track - thumbnails = playlist_data.get('thumbnails', []) - - cover_url = get_high_res_thumbnail(thumbnails) - - # Safely extract album - album_name = extract_album_name(track, playlist_data.get('title', 'Single')) - - video_id = track.get('videoId') - if not video_id: - continue - - formatted_tracks.append({ - "title": track.get('title', 'Unknown Title'), - "artist": artist_names, - "album": album_name, - "duration": track.get('duration_seconds', track.get('length_seconds', 0)), - "cover_url": cover_url, - "id": video_id, - "url": f"https://music.youtube.com/watch?v={video_id}" - }) - - # Get Playlist Cover (usually highest res) - thumbnails = playlist_data.get('thumbnails', []) - p_cover = get_high_res_thumbnail(thumbnails) - - # Safely extract author/artists - author = "YouTube Music" - if is_album: - artists = playlist_data.get('artists', []) - names = [] - for a in artists: - if isinstance(a, dict): names.append(a.get('name', 'Unknown')) - elif isinstance(a, str): names.append(a) - author = ", ".join(names) - else: - author_data = playlist_data.get('author', {}) - if isinstance(author_data, dict): - author = author_data.get('name', 'YouTube Music') - else: - author = str(author_data) - - formatted_playlist = { - "id": playlist_data.get('browseId', playlist_data.get('id')), - "title": clean_title(playlist_data.get('title', 'Unknown')), - "description": clean_description(playlist_data.get('description', '')), - "author": author, - "cover_url": p_cover, - "tracks": formatted_tracks - } - - # Cache it (1 hr) - cache.set(cache_key, formatted_playlist, ttl_seconds=3600) - return formatted_playlist - - except Exception as e: - import traceback - print(f"Playlist Fetch Error (NEW CODE): {e}", flush=True) - print(traceback.format_exc(), flush=True) - try: - print(f"Playlist Data Type: {type(playlist_data)}") - if 'tracks' in playlist_data and playlist_data['tracks']: - print(f"First Track Type: {type(playlist_data['tracks'][0])}") - except: - pass - raise HTTPException(status_code=404, detail="Playlist not found") - -class UpdatePlaylistRequest(BaseModel): - name: str = None - description: str = None - -@router.put("/playlists/{id}") -async def update_user_playlist(id: str, playlist: UpdatePlaylistRequest): - updated = playlist_manager.update(id, name=playlist.name, description=playlist.description) - if not updated: - raise HTTPException(status_code=404, detail="Playlist not found") - return updated - -class AddTrackRequest(BaseModel): - id: str - title: str - artist: str - album: str - cover_url: str - duration: int = 0 - url: str = "" - -@router.post("/playlists/{id}/tracks") -async def add_track_to_playlist(id: str, track: AddTrackRequest): - track_data = track.dict() - success = playlist_manager.add_track(id, track_data) - if not success: - raise HTTPException(status_code=404, detail="Playlist not found") - return {"status": "ok"} - - -@router.get("/search") -async def search_tracks(query: str): - """ - Search for tracks using ytmusicapi. - """ - if not query: - return [] - - # Check Cache - cache_key = f"search:{query.lower().strip()}" - cached_result = cache.get(cache_key) - if cached_result: - print(f"DEBUG: Returning cached search results for '{query}'") - return cached_result - - try: - from ytmusicapi import YTMusic - yt = YTMusic() - results = yt.search(query, filter="songs", limit=20) - - tracks = [] - for track in results: - artist_names = extract_artist_names(track) - - # Safely extract thumbnails - thumbnails = track.get('thumbnails', []) - cover_url = get_high_res_thumbnail(thumbnails) - - album_name = extract_album_name(track, "Single") - - tracks.append({ - "title": track.get('title', 'Unknown Title'), - "artist": artist_names, - "album": album_name, - "duration": track.get('duration_seconds', 0), - "cover_url": cover_url, - "id": track.get('videoId'), - "url": f"https://music.youtube.com/watch?v={track.get('videoId')}" - }) - - response_data = {"tracks": tracks} - # Cache for 24 hours (86400 seconds) - cache.set(cache_key, response_data, ttl_seconds=86400) - return response_data - - except Exception as e: - print(f"Search Error: {e}") - raise HTTPException(status_code=500, detail=str(e)) - -@router.get("/recommendations") -async def get_recommendations(seed_id: str = None): - """ - Get recommended tracks (Play History based or Trending). - If seed_id is provided, fetches 'Up Next' / 'Radio' tracks for that video. - """ - try: - from ytmusicapi import YTMusic - yt = YTMusic() - - if not seed_id: - # Fallback to Trending if no history - return await get_trending() - - cache_key = f"rec:{seed_id}" - cached = cache.get(cache_key) - if cached: - return cached - - # Use get_watch_playlist to find similar tracks (Radio) - watch_playlist = yt.get_watch_playlist(videoId=seed_id, limit=20) - - tracks = [] - if 'tracks' in watch_playlist: - seen_ids = set() - seen_ids.add(seed_id) - for track in watch_playlist['tracks']: - # Skip if seen or seed - t_id = track.get('videoId') - if not t_id or t_id in seen_ids: - continue - seen_ids.add(t_id) - - artist_names = extract_artist_names(track) - - thumbnails = track.get('thumbnails') or track.get('thumbnail') or [] - cover_url = get_high_res_thumbnail(thumbnails) - - album_name = extract_album_name(track, "Single") - - tracks.append({ - "title": track.get('title', 'Unknown Title'), - "artist": artist_names, - "album": album_name, - "duration": track.get('length_seconds', track.get('duration_seconds', 0)), - "cover_url": cover_url, - "id": t_id, - "url": f"https://music.youtube.com/watch?v={t_id}" - }) - - response_data = {"tracks": tracks} - cache.set(cache_key, response_data, ttl_seconds=3600) # 1 hour cache - return response_data - - except Exception as e: - print(f"Recommendation Error: {e}") - # Fallback to trending on error - return await get_trending() - -@router.get("/recommendations/albums") -async def get_recommended_albums(seed_artist: str = None): - """ - Get recommended albums based on an artist query. - """ - if not seed_artist: - return [] - - cache_key = f"rec_albums:{seed_artist.lower().strip()}" - cached = cache.get(cache_key) - if cached: - return cached - - try: - from ytmusicapi import YTMusic - yt = YTMusic() - - # Search for albums by this artist - results = yt.search(seed_artist, filter="albums", limit=10) - - albums = [] - for album in results: - thumbnails = album.get('thumbnails', []) - cover_url = get_high_res_thumbnail(thumbnails) - - albums.append({ - "title": album.get('title', 'Unknown Album'), - "description": album.get('year', '') + " • " + album.get('artist', seed_artist), - "cover_url": cover_url, - "id": album.get('browseId'), - "type": "Album" - }) - - cache.set(cache_key, albums, ttl_seconds=86400) - return albums - - except Exception as e: - print(f"Album Rec Error: {e}") - return [] - -@router.get("/artist/info") -async def get_artist_info(name: str): - """ - Get artist metadata (photo) by name. - """ - if not name: - return {"photo": None} - - cache_key = f"artist_info:{name.lower().strip()}" - cached = cache.get(cache_key) - if cached: - return cached - - try: - from ytmusicapi import YTMusic - yt = YTMusic() - - results = yt.search(name, filter="artists", limit=1) - if results: - artist = results[0] - thumbnails = artist.get('thumbnails', []) - photo_url = get_high_res_thumbnail(thumbnails) - result = {"photo": photo_url} - - cache.set(cache_key, result, ttl_seconds=86400 * 7) # Cache for 1 week - return result - - return {"photo": None} - except Exception as e: - print(f"Artist Info Error: {e}") - return {"photo": None} - -@router.get("/trending") -async def get_trending(): - """ - Returns the pre-fetched Trending Vietnam playlist. - """ - try: - data_path = Path("backend/data.json") - if data_path.exists(): - with open(data_path, "r") as f: - return json.load(f) - else: - return {"error": "Trending data not found. Run fetch_data.py first."} - except Exception as e: - raise HTTPException(status_code=500, detail=str(e)) - -@router.get("/stream") -async def stream_audio(id: str): - """ - Stream audio for a given YouTube video ID. - Extracts direct URL via yt-dlp and streams it. - """ - try: - # Check Cache for stream URL - # Check Cache for stream URL - cache_key = f"v10:stream:{id}" # v10 - web_creator client bypass - cached_data = cache.get(cache_key) - - stream_url = None - mime_type = "audio/mp4" - - if cached_data: - print(f"DEBUG: Using cached stream data for '{id}'") - if isinstance(cached_data, dict): - stream_url = cached_data.get('url') - mime_type = cached_data.get('mime', 'audio/mp4') - else: - stream_url = cached_data # Legacy fallback - - if not stream_url: - print(f"DEBUG: Fetching new stream URL for '{id}'") - url = f"https://www.youtube.com/watch?v={id}" - ydl_opts = { - # Try multiple formats, prefer webm which often works better - 'format': 'bestaudio[ext=webm]/bestaudio[ext=m4a]/bestaudio/best', - 'quiet': False, # Enable output for debugging - 'noplaylist': True, - 'nocheckcertificate': True, - 'geo_bypass': True, - 'geo_bypass_country': 'US', - 'socket_timeout': 30, - 'retries': 5, - 'force_ipv4': True, - # Try web_creator client which sometimes bypasses auth, fallback to ios/android - 'extractor_args': {'youtube': {'player_client': ['web_creator', 'ios', 'android', 'web']}}, - # Additional options to avoid bot detection - 'http_headers': { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', - 'Accept-Language': 'en-US,en;q=0.9', - }, - } - - try: - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(url, download=False) - stream_url = info.get('url') - ext = info.get('ext') - http_headers = info.get('http_headers', {}) # Get headers required for the URL - - # Determine MIME type - if ext == 'm4a' or ext == 'mp4': - mime_type = "audio/mp4" - elif ext == 'webm': - mime_type = "audio/webm" - else: - mime_type = "audio/mpeg" - - print(f"DEBUG: Got stream URL format: {info.get('format')}, ext: {ext}, mime: {mime_type}", flush=True) - except Exception as ydl_error: - print(f"DEBUG: yt-dlp extraction error: {type(ydl_error).__name__}: {str(ydl_error)}", flush=True) - raise ydl_error - - if stream_url: - cached_data = {"url": stream_url, "mime": mime_type, "headers": http_headers} - cache.set(cache_key, cached_data, ttl_seconds=3600) - - if not stream_url: - raise HTTPException(status_code=404, detail="Audio stream not found") - - print(f"Streaming {id} with Content-Type: {mime_type}", flush=True) - - # Pre-open the connection to verify it works and get headers - try: - # Sanitize headers: prevent Host/Cookie conflicts, but keep User-Agent and Cookies - base_headers = {} - if 'http_headers' in locals(): - base_headers = http_headers - elif cached_data and isinstance(cached_data, dict): - base_headers = cached_data.get('headers', {}) - - req_headers = { - 'User-Agent': base_headers.get('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'), - 'Referer': 'https://www.youtube.com/', - 'Accept': '*/*', - 'Accept-Language': base_headers.get('Accept-Language', 'en-US,en;q=0.9'), - } - if 'Cookie' in base_headers: - req_headers['Cookie'] = base_headers['Cookie'] - - # Disable SSL verify to match yt-dlp 'nocheckcertificate' (fixes NAS CA issues) - external_req = requests.get(stream_url, stream=True, timeout=30, headers=req_headers, verify=False) - external_req.raise_for_status() - - except requests.exceptions.HTTPError as http_err: - error_details = f"Upstream error: {http_err.response.status_code}" - print(f"Stream Error: {error_details}") - # If 403/404/410, invalidate cache - if http_err.response.status_code in [403, 404, 410]: - cache.delete(cache_key) - raise HTTPException(status_code=500, detail=error_details) - except Exception as e: - print(f"Stream Connection Error: {e}") - raise HTTPException(status_code=500, detail=f"Stream connection failed: {str(e)}") - - # Forward Content-Length if available - headers = {} - if "Content-Length" in external_req.headers: - headers["Content-Length"] = external_req.headers["Content-Length"] - - def iterfile(): - try: - # Use the already open request - for chunk in external_req.iter_content(chunk_size=64*1024): - yield chunk - external_req.close() - except Exception as e: - pass - - return StreamingResponse(iterfile(), media_type=mime_type, headers=headers) - - except HTTPException: - raise - except Exception as e: - import traceback - print(f"Stream Error for ID '{id}': {type(e).__name__}: {str(e)}") - print(traceback.format_exc()) - raise HTTPException(status_code=500, detail=f"Stream error: {type(e).__name__}: {str(e)}") - -@router.get("/download") -async def download_audio(id: str, title: str = "audio"): - """ - Download audio for a given YouTube video ID. - Proxies the stream content as a file attachment. - """ - try: - # Check Cache for stream URL - cache_key = f"stream:{id}" - cached_url = cache.get(cache_key) - - stream_url = None - if cached_url: - stream_url = cached_url - else: - url = f"https://www.youtube.com/watch?v={id}" - ydl_opts = { - 'format': 'bestaudio/best', - 'quiet': True, - 'noplaylist': True, - } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(url, download=False) - stream_url = info.get('url') - - if stream_url: - cache.set(cache_key, stream_url, ttl_seconds=3600) - - if not stream_url: - raise HTTPException(status_code=404, detail="Audio stream not found") - - # Stream the content with attachment header - def iterfile(): - with requests.get(stream_url, stream=True) as r: - r.raise_for_status() - for chunk in r.iter_content(chunk_size=1024*1024): - yield chunk - - # Sanitize filename - safe_filename = "".join([c for c in title if c.isalnum() or c in (' ', '-', '_')]).strip() - headers = { - "Content-Disposition": f'attachment; filename="{safe_filename}.mp3"' - } - - return StreamingResponse(iterfile(), media_type="audio/mpeg", headers=headers) - - except Exception as e: - print(f"Download Error: {e}") - raise HTTPException(status_code=500, detail=str(e)) - -@router.get("/lyrics") -async def get_lyrics(id: str, title: str = None, artist: str = None): - """ - Fetch synchronized lyrics using multiple providers hierarchy: - 1. Cache (fastest) - 2. yt-dlp (Original Video Captions - best sync for exact video) - 3. LRCLIB (Open Source Database - good fuzzy match) - 4. syncedlyrics (Musixmatch/NetEase Aggregator - widest coverage) - """ - if not id: - return [] - - cache_key = f"lyrics:{id}" - cached_lyrics = cache.get(cache_key) - if cached_lyrics: - return cached_lyrics - - parsed_lines = [] - - # Run heavy IO in threadpool - from starlette.concurrency import run_in_threadpool - import syncedlyrics - - try: - # --- Strategy 1: yt-dlp (Official Captions) --- - def fetch_ytdlp_subs(): - parsed = [] - try: - lyrics_dir = CACHE_DIR / "lyrics" - lyrics_dir.mkdir(parents=True, exist_ok=True) - out_tmpl = str(lyrics_dir / f"{id}") - ydl_opts = { - 'skip_download': True, 'writesubtitles': True, 'writeautomaticsub': True, - 'subtitleslangs': ['en', 'vi'], 'subtitlesformat': 'json3', - 'outtmpl': out_tmpl, 'quiet': True - } - url = f"https://www.youtube.com/watch?v={id}" - import glob - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([url]) - - pattern = str(lyrics_dir / f"{id}.*.json3") - found_files = glob.glob(pattern) - if found_files: - best_file = next((f for f in found_files if f.endswith(f"{id}.en.json3")), found_files[0]) - with open(best_file, 'r', encoding='utf-8') as f: - data = json.load(f) - for event in data.get('events', []): - if 'segs' in event and 'tStartMs' in event: - text = "".join([s.get('utf8', '') for s in event['segs']]).strip() - if text and not text.startswith('[') and text != '\n': - parsed.append({"time": float(event['tStartMs']) / 1000.0, "text": text}) - except Exception as e: - print(f"yt-dlp sub error: {e}") - return parsed - - parsed_lines = await run_in_threadpool(fetch_ytdlp_subs) - - # --- Strategy 2: LRCLIB (Search API) --- - if not parsed_lines and title and artist: - print(f"Trying LRCLIB Search for: {title} {artist}") - def fetch_lrclib(): - try: - # Fuzzy match using search, not get - cleaned_title = re.sub(r'\(.*?\)', '', title) - clean_query = f"{artist} {cleaned_title}".strip() - resp = requests.get("https://lrclib.net/api/search", params={"q": clean_query}, timeout=5) - if resp.status_code == 200: - results = resp.json() - # Find first result with synced lyrics - for item in results: - if item.get("syncedLyrics"): - return parse_lrc_string(item["syncedLyrics"]) - except Exception as e: - print(f"LRCLIB error: {e}") - return [] - - parsed_lines = await run_in_threadpool(fetch_lrclib) - - # --- Strategy 3: syncedlyrics (Aggregator) --- - if not parsed_lines and title and artist: - print(f"Trying SyncedLyrics Aggregator for: {title} {artist}") - def fetch_syncedlyrics(): - try: - # syncedlyrics.search returns the LRC string or None - clean_query = f"{title} {artist}".strip() - lrc_str = syncedlyrics.search(clean_query) - if lrc_str: - return parse_lrc_string(lrc_str) - except Exception as e: - print(f"SyncedLyrics error: {e}") - return [] - - parsed_lines = await run_in_threadpool(fetch_syncedlyrics) - - # Cache Result - if parsed_lines: - cache.set(cache_key, parsed_lines, ttl_seconds=86400 * 30) - return parsed_lines - - return [] - - except Exception as e: - print(f"Global Lyrics Error: {e}") - return [] - -def parse_lrc_string(lrc_content: str): - """Parses LRC format string into [{time, text}]""" - lines = [] - if not lrc_content: return lines - for line in lrc_content.split('\n'): - # Format: [mm:ss.xx] Text - match = re.search(r'\[(\d+):(\d+\.?\d*)\](.*)', line) - if match: - minutes = float(match.group(1)) - seconds = float(match.group(2)) - text = match.group(3).strip() - total_time = minutes * 60 + seconds - if text: - lines.append({"time": total_time, "text": text}) - return lines +from fastapi import APIRouter, HTTPException, BackgroundTasks, Response +from fastapi.responses import StreamingResponse, JSONResponse +from pydantic import BaseModel +import json +from pathlib import Path +import yt_dlp +import requests +from backend.services.spotify import SpotifyService +from backend.services.cache import CacheManager +from backend.playlist_manager import PlaylistManager +from backend.scheduler import update_ytdlp # Import update function + +import re + +router = APIRouter() +# Services (Assumed to be initialized elsewhere if not here, adhering to existing patterns) +# spotify = SpotifyService() # Commented out as duplicates if already imported +if 'CacheManager' in globals(): + cache = CacheManager() +else: + from backend.cache_manager import CacheManager + cache = CacheManager() + +playlist_manager = PlaylistManager() + +@router.post("/system/update-ytdlp") +async def manual_ytdlp_update(background_tasks: BackgroundTasks): + """ + Trigger a manual update of yt-dlp in the background. + """ + background_tasks.add_task(update_ytdlp) + return {"status": "success", "message": "yt-dlp update started in background"} + +def get_high_res_thumbnail(thumbnails: list) -> str: + """ + Selects the best thumbnail and attempts to upgrade resolution + if it's a Google/YouTube URL. + """ + if not thumbnails: + return "https://placehold.co/300x300" + + # 1. Start with the largest available in the list + best_url = thumbnails[-1]['url'] + + # 2. Upgrade resolution for Google User Content (lh3.googleusercontent.com, yt3.ggpht.com) + # Common patterns: + # =w120-h120-l90-rj (Small) + # =w544-h544-l90-rj (High Res) + # s120-c-k-c0x00ffffff-no-rj (Profile/Avatar) + + if "googleusercontent.com" in best_url or "ggpht.com" in best_url: + import re + # Replace width/height params with 544 (standard YTM high res) + # We look for patterns like =w-h... + if "w" in best_url and "h" in best_url: + best_url = re.sub(r'=w\d+-h\d+', '=w544-h544', best_url) + elif best_url.startswith("https://lh3.googleusercontent.com") and "=" in best_url: + # Sometimes it's just URL=... + # We can try to force it + pass + + return best_url + +def extract_artist_names(track: dict) -> str: + """Safely extracts artist names from track data (dict or str items).""" + artists = track.get('artists') or [] + if isinstance(artists, list): + names = [] + for a in artists: + if isinstance(a, dict): + names.append(a.get('name', 'Unknown')) + elif isinstance(a, str): + names.append(a) + return ", ".join(names) if names else "Unknown Artist" + return "Unknown Artist" + +def extract_album_name(track: dict, default="Single") -> str: + """Safely extracts album name from track data.""" + album = track.get('album') + if isinstance(album, dict): + return album.get('name', default) + if isinstance(album, str): + return album + return default + +def clean_text(text: str) -> str: + if not text: + return "" + # Remove emojis + text = text.encode('ascii', 'ignore').decode('ascii') + # Remove text inside * * or similar patterns if they look spammy + # Remove excessive punctuation + # Example: "THE * VIRAL 50 *" -> "THE VIRAL 50" + + # 1. Remove URLs + text = re.sub(r'http\S+|www\.\S+', '', text) + + # 2. Remove "Playlist", "Music Chart", "Full SPOTIFY" spam keywords if desirable, + # but that might be too aggressive. + # Let's focus on cleaning the "Structure". + + # 3. Truncate Description if too long (e.g. > 300 chars)? + # The user example had a MASSIVE description. + # Let's just take the first paragraph or chunk? + + # 4. Remove excessive non-alphanumeric separators + text = re.sub(r'[*_=]{3,}', '', text) # Remove long separator lines + + # Custom cleaning for the specific example style: + # Remove text between asterisks if it looks like garbage? No, sometimes it's emphasis. + + return text.strip() + +def clean_title(title: str) -> str: + if not title: return "Playlist" + # Remove emojis (simple way) + title = title.encode('ascii', 'ignore').decode('ascii') + # Remove "Playlist", "Music Chart", "Full Video" spam + spam_words = ["Playlist", "Music Chart", "Full SPOTIFY Video", "Updated Weekly", "Official", "Video"] + for word in spam_words: + title = re.sub(word, "", title, flags=re.IGNORECASE) + + # Remove extra spaces and asterisks + title = re.sub(r'\s+', ' ', title).strip() + title = title.strip('*- ') + return title + +def clean_description(desc: str) -> str: + if not desc: return "" + # Remove URLs + desc = re.sub(r'http\S+', '', desc) + # Remove massive divider lines + desc = re.sub(r'[*_=]{3,}', '', desc) + # Be more aggressive with length? + if len(desc) > 300: + desc = desc[:300] + "..." + return desc.strip() + +CACHE_DIR = Path("backend/cache") + +class SearchRequest(BaseModel): + url: str + +class CreatePlaylistRequest(BaseModel): + name: str # Renamed from Title to Name to match Sidebar usage more typically, but API expects pydantic model + description: str = "" + +@router.get("/browse") +async def get_browse_content(): + """ + Returns the real fetched playlists from browse_playlists.json + """ + try: + data_path = Path("backend/data/browse_playlists.json") + if data_path.exists(): + with open(data_path, "r") as f: + return json.load(f) + else: + return [] + except Exception as e: + print(f"Browse Error: {e}") + return [] + +CATEGORIES_MAP = { + "Trending Vietnam": {"query": "Top 50 Vietnam", "type": "playlists"}, + "Just released Songs": {"query": "New Released Songs", "type": "playlists"}, + "Albums": {"query": "New Albums 2024", "type": "albums"}, + "Vietnamese DJs": {"query": "Vinahouse Remix", "type": "playlists"}, + "Global Hits": {"query": "Global Top 50", "type": "playlists"}, + "Chill Vibes": {"query": "Chill Lofi", "type": "playlists"}, + "Party Time": {"query": "Party EDM Hits", "type": "playlists"}, + "Best of Ballad": {"query": "Vietnamese Ballad", "type": "playlists"}, + "Hip Hop & Rap": {"query": "Vietnamese Rap", "type": "playlists"}, +} + +@router.get("/browse/category") +async def get_browse_category(name: str): + """ + Fetch live data for a specific category (infinite scroll support). + Fetches up to 50-100 items. + """ + if name not in CATEGORIES_MAP: + raise HTTPException(status_code=404, detail="Category not found") + + info = CATEGORIES_MAP[name] + query = info["query"] + search_type = info["type"] + + # Check Cache + cache_key = f"browse_category:{name}" + cached = cache.get(cache_key) + if cached: + return cached + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + # Search for more items (e.g. 50) + results = yt.search(query, filter=search_type, limit=50) + + category_items = [] + + for result in results: + item_id = result.get('browseId') + if not item_id: continue + + title = result.get('title', 'Unknown') + + # Simple item structure for list view (we don't need full track list for every item immediately) + # But frontend expects some structure. + + # Extract basic thumbnails + thumbnails = result.get('thumbnails', []) + cover_url = get_high_res_thumbnail(thumbnails) + + # description logic + description = "" + if search_type == "albums": + artists_text = ", ".join([a.get('name') for a in result.get('artists', [])]) + year = result.get('year', '') + description = f"Album by {artists_text} • {year}" + is_album = True + else: + is_album = False + # For playlists result, description might be missing in search result + description = f"Playlist • {result.get('itemCount', '')} tracks" + + category_items.append({ + "id": item_id, + "title": title, + "description": description, + "cover_url": cover_url, + "type": "album" if is_album else "playlist", + # Note: We are NOT fetching full tracks for each item here to save speed/quota. + # The frontend only needs cover, title, description, id. + # Tracks are fetched when user clicks the item (via get_playlist). + "tracks": [] + }) + + cache.set(cache_key, category_items, ttl_seconds=3600) # Cache for 1 hour + return category_items + + except Exception as e: + print(f"Category Fetch Error: {e}") + return [] + +@router.get("/playlists") +async def get_user_playlists(): + return playlist_manager.get_all() + +@router.post("/playlists") +async def create_user_playlist(playlist: CreatePlaylistRequest): + return playlist_manager.create(playlist.name, playlist.description) + +@router.delete("/playlists/{id}") +async def delete_user_playlist(id: str): + success = playlist_manager.delete(id) + if not success: + raise HTTPException(status_code=404, detail="Playlist not found") + return {"status": "ok"} + +@router.get("/playlists/{id}") +async def get_playlist(id: str): + """ + Get a specific playlist by ID. + 1. Check if it's a User Playlist. + 2. If not, fetch from YouTube Music (Browse/External). + """ + # 1. Try User Playlist + user_playlists = playlist_manager.get_all() + user_playlist = next((p for p in user_playlists if p['id'] == id), None) + if user_playlist: + return user_playlist + + # 2. Try External (YouTube Music) + # Check Cache first + cache_key = f"playlist:{id}" + cached_playlist = cache.get(cache_key) + if cached_playlist: + return cached_playlist + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + playlist_data = None + is_album = False + + if id.startswith("MPREb"): + try: + playlist_data = yt.get_album(id) + is_album = True + except Exception as e: + print(f"DEBUG: get_album(1) failed: {e}") + pass + + if not playlist_data: + try: + # ytmusicapi returns a dict with 'tracks' list + playlist_data = yt.get_playlist(id, limit=100) + except Exception as e: + print(f"DEBUG: get_playlist failed: {e}") + import traceback, sys + traceback.print_exc(file=sys.stdout) + # Fallback: Try as album if not tried yet + if not is_album: + try: + playlist_data = yt.get_album(id) + is_album = True + except Exception as e2: + print(f"DEBUG: get_album(2) failed: {e2}") + traceback.print_exc(file=sys.stdout) + raise e # Re-raise if both fail + + if not isinstance(playlist_data, dict): + print(f"DEBUG: Validation Failed! playlist_data type: {type(playlist_data)}", flush=True) + raise ValueError(f"Invalid playlist_data: {playlist_data}") + + # Format to match our app's Protocol + formatted_tracks = [] + if 'tracks' in playlist_data: + for track in playlist_data['tracks']: + artist_names = extract_artist_names(track) + + # Safely extract thumbnails + thumbnails = track.get('thumbnails', []) + if not thumbnails and is_album: + # Albums sometimes have thumbnails at root level, not per track + thumbnails = playlist_data.get('thumbnails', []) + + cover_url = get_high_res_thumbnail(thumbnails) + + # Safely extract album + album_name = extract_album_name(track, playlist_data.get('title', 'Single')) + + video_id = track.get('videoId') + if not video_id: + continue + + formatted_tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('duration_seconds', track.get('length_seconds', 0)), + "cover_url": cover_url, + "id": video_id, + "url": f"https://music.youtube.com/watch?v={video_id}" + }) + + # Get Playlist Cover (usually highest res) + thumbnails = playlist_data.get('thumbnails', []) + p_cover = get_high_res_thumbnail(thumbnails) + + # Safely extract author/artists + author = "YouTube Music" + if is_album: + artists = playlist_data.get('artists', []) + names = [] + for a in artists: + if isinstance(a, dict): names.append(a.get('name', 'Unknown')) + elif isinstance(a, str): names.append(a) + author = ", ".join(names) + else: + author_data = playlist_data.get('author', {}) + if isinstance(author_data, dict): + author = author_data.get('name', 'YouTube Music') + else: + author = str(author_data) + + formatted_playlist = { + "id": playlist_data.get('browseId', playlist_data.get('id')), + "title": clean_title(playlist_data.get('title', 'Unknown')), + "description": clean_description(playlist_data.get('description', '')), + "author": author, + "cover_url": p_cover, + "tracks": formatted_tracks + } + + # Cache it (1 hr) + cache.set(cache_key, formatted_playlist, ttl_seconds=3600) + return formatted_playlist + + except Exception as e: + import traceback + print(f"Playlist Fetch Error (NEW CODE): {e}", flush=True) + print(traceback.format_exc(), flush=True) + try: + print(f"Playlist Data Type: {type(playlist_data)}") + if 'tracks' in playlist_data and playlist_data['tracks']: + print(f"First Track Type: {type(playlist_data['tracks'][0])}") + except: + pass + raise HTTPException(status_code=404, detail="Playlist not found") + +class UpdatePlaylistRequest(BaseModel): + name: str = None + description: str = None + +@router.put("/playlists/{id}") +async def update_user_playlist(id: str, playlist: UpdatePlaylistRequest): + updated = playlist_manager.update(id, name=playlist.name, description=playlist.description) + if not updated: + raise HTTPException(status_code=404, detail="Playlist not found") + return updated + +class AddTrackRequest(BaseModel): + id: str + title: str + artist: str + album: str + cover_url: str + duration: int = 0 + url: str = "" + +@router.post("/playlists/{id}/tracks") +async def add_track_to_playlist(id: str, track: AddTrackRequest): + track_data = track.dict() + success = playlist_manager.add_track(id, track_data) + if not success: + raise HTTPException(status_code=404, detail="Playlist not found") + return {"status": "ok"} + + +@router.get("/search") +async def search_tracks(query: str): + """ + Search for tracks using ytmusicapi. + """ + if not query: + return [] + + # Check Cache + cache_key = f"search:{query.lower().strip()}" + cached_result = cache.get(cache_key) + if cached_result: + print(f"DEBUG: Returning cached search results for '{query}'") + return cached_result + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + results = yt.search(query, filter="songs", limit=20) + + tracks = [] + for track in results: + artist_names = extract_artist_names(track) + + # Safely extract thumbnails + thumbnails = track.get('thumbnails', []) + cover_url = get_high_res_thumbnail(thumbnails) + + album_name = extract_album_name(track, "Single") + + tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('duration_seconds', 0), + "cover_url": cover_url, + "id": track.get('videoId'), + "url": f"https://music.youtube.com/watch?v={track.get('videoId')}" + }) + + response_data = {"tracks": tracks} + # Cache for 24 hours (86400 seconds) + cache.set(cache_key, response_data, ttl_seconds=86400) + return response_data + + except Exception as e: + print(f"Search Error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/recommendations") +async def get_recommendations(seed_id: str = None): + """ + Get recommended tracks (Play History based or Trending). + If seed_id is provided, fetches 'Up Next' / 'Radio' tracks for that video. + """ + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + if not seed_id: + # Fallback to Trending if no history + return await get_trending() + + cache_key = f"rec:{seed_id}" + cached = cache.get(cache_key) + if cached: + return cached + + # Use get_watch_playlist to find similar tracks (Radio) + watch_playlist = yt.get_watch_playlist(videoId=seed_id, limit=20) + + tracks = [] + if 'tracks' in watch_playlist: + seen_ids = set() + seen_ids.add(seed_id) + for track in watch_playlist['tracks']: + # Skip if seen or seed + t_id = track.get('videoId') + if not t_id or t_id in seen_ids: + continue + seen_ids.add(t_id) + + artist_names = extract_artist_names(track) + + thumbnails = track.get('thumbnails') or track.get('thumbnail') or [] + cover_url = get_high_res_thumbnail(thumbnails) + + album_name = extract_album_name(track, "Single") + + tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('length_seconds', track.get('duration_seconds', 0)), + "cover_url": cover_url, + "id": t_id, + "url": f"https://music.youtube.com/watch?v={t_id}" + }) + + response_data = {"tracks": tracks} + cache.set(cache_key, response_data, ttl_seconds=3600) # 1 hour cache + return response_data + + except Exception as e: + print(f"Recommendation Error: {e}") + # Fallback to trending on error + return await get_trending() + +@router.get("/recommendations/albums") +async def get_recommended_albums(seed_artist: str = None): + """ + Get recommended albums based on an artist query. + """ + if not seed_artist: + return [] + + cache_key = f"rec_albums:{seed_artist.lower().strip()}" + cached = cache.get(cache_key) + if cached: + return cached + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + # Search for albums by this artist + results = yt.search(seed_artist, filter="albums", limit=10) + + albums = [] + for album in results: + thumbnails = album.get('thumbnails', []) + cover_url = get_high_res_thumbnail(thumbnails) + + albums.append({ + "title": album.get('title', 'Unknown Album'), + "description": album.get('year', '') + " • " + album.get('artist', seed_artist), + "cover_url": cover_url, + "id": album.get('browseId'), + "type": "Album" + }) + + cache.set(cache_key, albums, ttl_seconds=86400) + return albums + + except Exception as e: + print(f"Album Rec Error: {e}") + return [] + +@router.get("/artist/info") +async def get_artist_info(name: str): + """ + Get artist metadata (photo) by name. + """ + if not name: + return {"photo": None} + + cache_key = f"artist_info:{name.lower().strip()}" + cached = cache.get(cache_key) + if cached: + return cached + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + results = yt.search(name, filter="artists", limit=1) + if results: + artist = results[0] + thumbnails = artist.get('thumbnails', []) + photo_url = get_high_res_thumbnail(thumbnails) + result = {"photo": photo_url} + + cache.set(cache_key, result, ttl_seconds=86400 * 7) # Cache for 1 week + return result + + return {"photo": None} + except Exception as e: + print(f"Artist Info Error: {e}") + return {"photo": None} + +@router.get("/trending") +async def get_trending(): + """ + Returns the pre-fetched Trending Vietnam playlist. + """ + try: + data_path = Path("backend/data.json") + if data_path.exists(): + with open(data_path, "r") as f: + return json.load(f) + else: + return {"error": "Trending data not found. Run fetch_data.py first."} + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/stream") +async def stream_audio(id: str): + """ + Stream audio for a given YouTube video ID. + Extracts direct URL via yt-dlp and streams it. + """ + try: + # Check Cache for stream URL + # Check Cache for stream URL + cache_key = f"v10:stream:{id}" # v10 - web_creator client bypass + cached_data = cache.get(cache_key) + + stream_url = None + mime_type = "audio/mp4" + + if cached_data: + print(f"DEBUG: Using cached stream data for '{id}'") + if isinstance(cached_data, dict): + stream_url = cached_data.get('url') + mime_type = cached_data.get('mime', 'audio/mp4') + else: + stream_url = cached_data # Legacy fallback + + if not stream_url: + print(f"DEBUG: Fetching new stream URL for '{id}'") + url = f"https://www.youtube.com/watch?v={id}" + ydl_opts = { + # Try multiple formats, prefer webm which often works better + 'format': 'bestaudio[ext=webm]/bestaudio[ext=m4a]/bestaudio/best', + 'quiet': False, # Enable output for debugging + 'noplaylist': True, + 'nocheckcertificate': True, + 'geo_bypass': True, + 'geo_bypass_country': 'US', + 'socket_timeout': 30, + 'retries': 5, + 'force_ipv4': True, + # Try web_creator client which sometimes bypasses auth, fallback to ios/android + 'extractor_args': {'youtube': {'player_client': ['web_creator', 'ios', 'android', 'web']}}, + # Additional options to avoid bot detection + 'http_headers': { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', + 'Accept-Language': 'en-US,en;q=0.9', + }, + } + + try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + stream_url = info.get('url') + ext = info.get('ext') + http_headers = info.get('http_headers', {}) # Get headers required for the URL + + # Determine MIME type + if ext == 'm4a' or ext == 'mp4': + mime_type = "audio/mp4" + elif ext == 'webm': + mime_type = "audio/webm" + else: + mime_type = "audio/mpeg" + + print(f"DEBUG: Got stream URL format: {info.get('format')}, ext: {ext}, mime: {mime_type}", flush=True) + except Exception as ydl_error: + print(f"DEBUG: yt-dlp extraction error: {type(ydl_error).__name__}: {str(ydl_error)}", flush=True) + raise ydl_error + + if stream_url: + cached_data = {"url": stream_url, "mime": mime_type, "headers": http_headers} + cache.set(cache_key, cached_data, ttl_seconds=3600) + + if not stream_url: + raise HTTPException(status_code=404, detail="Audio stream not found") + + print(f"Streaming {id} with Content-Type: {mime_type}", flush=True) + + # Pre-open the connection to verify it works and get headers + try: + # Sanitize headers: prevent Host/Cookie conflicts, but keep User-Agent and Cookies + base_headers = {} + if 'http_headers' in locals(): + base_headers = http_headers + elif cached_data and isinstance(cached_data, dict): + base_headers = cached_data.get('headers', {}) + + req_headers = { + 'User-Agent': base_headers.get('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'), + 'Referer': 'https://www.youtube.com/', + 'Accept': '*/*', + 'Accept-Language': base_headers.get('Accept-Language', 'en-US,en;q=0.9'), + } + if 'Cookie' in base_headers: + req_headers['Cookie'] = base_headers['Cookie'] + + # Disable SSL verify to match yt-dlp 'nocheckcertificate' (fixes NAS CA issues) + external_req = requests.get(stream_url, stream=True, timeout=30, headers=req_headers, verify=False) + external_req.raise_for_status() + + except requests.exceptions.HTTPError as http_err: + error_details = f"Upstream error: {http_err.response.status_code}" + print(f"Stream Error: {error_details}") + # If 403/404/410, invalidate cache + if http_err.response.status_code in [403, 404, 410]: + cache.delete(cache_key) + raise HTTPException(status_code=500, detail=error_details) + except Exception as e: + print(f"Stream Connection Error: {e}") + raise HTTPException(status_code=500, detail=f"Stream connection failed: {str(e)}") + + # Forward Content-Length if available + headers = {} + if "Content-Length" in external_req.headers: + headers["Content-Length"] = external_req.headers["Content-Length"] + + def iterfile(): + try: + # Use the already open request + for chunk in external_req.iter_content(chunk_size=64*1024): + yield chunk + external_req.close() + except Exception as e: + pass + + return StreamingResponse(iterfile(), media_type=mime_type, headers=headers) + + except HTTPException: + raise + except Exception as e: + import traceback + print(f"Stream Error for ID '{id}': {type(e).__name__}: {str(e)}") + print(traceback.format_exc()) + raise HTTPException(status_code=500, detail=f"Stream error: {type(e).__name__}: {str(e)}") + +@router.get("/download") +async def download_audio(id: str, title: str = "audio"): + """ + Download audio for a given YouTube video ID. + Proxies the stream content as a file attachment. + """ + try: + # Check Cache for stream URL + cache_key = f"stream:{id}" + cached_url = cache.get(cache_key) + + stream_url = None + if cached_url: + stream_url = cached_url + else: + url = f"https://www.youtube.com/watch?v={id}" + ydl_opts = { + 'format': 'bestaudio/best', + 'quiet': True, + 'noplaylist': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + stream_url = info.get('url') + + if stream_url: + cache.set(cache_key, stream_url, ttl_seconds=3600) + + if not stream_url: + raise HTTPException(status_code=404, detail="Audio stream not found") + + # Stream the content with attachment header + def iterfile(): + with requests.get(stream_url, stream=True) as r: + r.raise_for_status() + for chunk in r.iter_content(chunk_size=1024*1024): + yield chunk + + # Sanitize filename + safe_filename = "".join([c for c in title if c.isalnum() or c in (' ', '-', '_')]).strip() + headers = { + "Content-Disposition": f'attachment; filename="{safe_filename}.mp3"' + } + + return StreamingResponse(iterfile(), media_type="audio/mpeg", headers=headers) + + except Exception as e: + print(f"Download Error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/lyrics") +async def get_lyrics(id: str, title: str = None, artist: str = None): + """ + Fetch synchronized lyrics using multiple providers hierarchy: + 1. Cache (fastest) + 2. yt-dlp (Original Video Captions - best sync for exact video) + 3. LRCLIB (Open Source Database - good fuzzy match) + 4. syncedlyrics (Musixmatch/NetEase Aggregator - widest coverage) + """ + if not id: + return [] + + cache_key = f"lyrics:{id}" + cached_lyrics = cache.get(cache_key) + if cached_lyrics: + return cached_lyrics + + parsed_lines = [] + + # Run heavy IO in threadpool + from starlette.concurrency import run_in_threadpool + import syncedlyrics + + try: + # --- Strategy 1: yt-dlp (Official Captions) --- + def fetch_ytdlp_subs(): + parsed = [] + try: + lyrics_dir = CACHE_DIR / "lyrics" + lyrics_dir.mkdir(parents=True, exist_ok=True) + out_tmpl = str(lyrics_dir / f"{id}") + ydl_opts = { + 'skip_download': True, 'writesubtitles': True, 'writeautomaticsub': True, + 'subtitleslangs': ['en', 'vi'], 'subtitlesformat': 'json3', + 'outtmpl': out_tmpl, 'quiet': True + } + url = f"https://www.youtube.com/watch?v={id}" + import glob + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + pattern = str(lyrics_dir / f"{id}.*.json3") + found_files = glob.glob(pattern) + if found_files: + best_file = next((f for f in found_files if f.endswith(f"{id}.en.json3")), found_files[0]) + with open(best_file, 'r', encoding='utf-8') as f: + data = json.load(f) + for event in data.get('events', []): + if 'segs' in event and 'tStartMs' in event: + text = "".join([s.get('utf8', '') for s in event['segs']]).strip() + if text and not text.startswith('[') and text != '\n': + parsed.append({"time": float(event['tStartMs']) / 1000.0, "text": text}) + except Exception as e: + print(f"yt-dlp sub error: {e}") + return parsed + + parsed_lines = await run_in_threadpool(fetch_ytdlp_subs) + + # --- Strategy 2: LRCLIB (Search API) --- + if not parsed_lines and title and artist: + print(f"Trying LRCLIB Search for: {title} {artist}") + def fetch_lrclib(): + try: + # Fuzzy match using search, not get + cleaned_title = re.sub(r'\(.*?\)', '', title) + clean_query = f"{artist} {cleaned_title}".strip() + resp = requests.get("https://lrclib.net/api/search", params={"q": clean_query}, timeout=5) + if resp.status_code == 200: + results = resp.json() + # Find first result with synced lyrics + for item in results: + if item.get("syncedLyrics"): + return parse_lrc_string(item["syncedLyrics"]) + except Exception as e: + print(f"LRCLIB error: {e}") + return [] + + parsed_lines = await run_in_threadpool(fetch_lrclib) + + # --- Strategy 3: syncedlyrics (Aggregator) --- + if not parsed_lines and title and artist: + print(f"Trying SyncedLyrics Aggregator for: {title} {artist}") + def fetch_syncedlyrics(): + try: + # syncedlyrics.search returns the LRC string or None + clean_query = f"{title} {artist}".strip() + lrc_str = syncedlyrics.search(clean_query) + if lrc_str: + return parse_lrc_string(lrc_str) + except Exception as e: + print(f"SyncedLyrics error: {e}") + return [] + + parsed_lines = await run_in_threadpool(fetch_syncedlyrics) + + # Cache Result + if parsed_lines: + cache.set(cache_key, parsed_lines, ttl_seconds=86400 * 30) + return parsed_lines + + return [] + + except Exception as e: + print(f"Global Lyrics Error: {e}") + return [] + +def parse_lrc_string(lrc_content: str): + """Parses LRC format string into [{time, text}]""" + lines = [] + if not lrc_content: return lines + for line in lrc_content.split('\n'): + # Format: [mm:ss.xx] Text + match = re.search(r'\[(\d+):(\d+\.?\d*)\](.*)', line) + if match: + minutes = float(match.group(1)) + seconds = float(match.group(2)) + text = match.group(3).strip() + total_time = minutes * 60 + seconds + if text: + lines.append({"time": total_time, "text": text}) + return lines diff --git a/backend/backend/data/user_playlists.json b/backend/backend/data/user_playlists.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/backend/backend/data/user_playlists.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/backend/cache_manager.py b/backend/cache_manager.py index 575a9a2..58935fa 100644 --- a/backend/cache_manager.py +++ b/backend/cache_manager.py @@ -1,53 +1,53 @@ -import json -import time -import hashlib -from pathlib import Path -from typing import Any, Optional - -class CacheManager: - def __init__(self, cache_dir: str = "backend/cache"): - self.cache_dir = Path(cache_dir) - self.cache_dir.mkdir(parents=True, exist_ok=True) - - def _get_path(self, key: str) -> Path: - # Create a safe filename from the key - hashed_key = hashlib.md5(key.encode()).hexdigest() - return self.cache_dir / f"{hashed_key}.json" - - def get(self, key: str) -> Optional[Any]: - """ - Retrieve data from cache if it exists and hasn't expired. - """ - path = self._get_path(key) - if not path.exists(): - return None - - try: - with open(path, "r") as f: - data = json.load(f) - - # Check TTL - if data["expires_at"] < time.time(): - # Expired, delete it - path.unlink() - return None - - return data["value"] - except (json.JSONDecodeError, KeyError, OSError): - return None - - def set(self, key: str, value: Any, ttl_seconds: int = 3600): - """ - Save data to cache with a TTL (default 1 hour). - """ - path = self._get_path(key) - data = { - "value": value, - "expires_at": time.time() + ttl_seconds, - "key_debug": key # Store original key for debugging - } - try: - with open(path, "w") as f: - json.dump(data, f) - except OSError as e: - print(f"Cache Write Error: {e}") +import json +import time +import hashlib +from pathlib import Path +from typing import Any, Optional + +class CacheManager: + def __init__(self, cache_dir: str = "backend/cache"): + self.cache_dir = Path(cache_dir) + self.cache_dir.mkdir(parents=True, exist_ok=True) + + def _get_path(self, key: str) -> Path: + # Create a safe filename from the key + hashed_key = hashlib.md5(key.encode()).hexdigest() + return self.cache_dir / f"{hashed_key}.json" + + def get(self, key: str) -> Optional[Any]: + """ + Retrieve data from cache if it exists and hasn't expired. + """ + path = self._get_path(key) + if not path.exists(): + return None + + try: + with open(path, "r") as f: + data = json.load(f) + + # Check TTL + if data["expires_at"] < time.time(): + # Expired, delete it + path.unlink() + return None + + return data["value"] + except (json.JSONDecodeError, KeyError, OSError): + return None + + def set(self, key: str, value: Any, ttl_seconds: int = 3600): + """ + Save data to cache with a TTL (default 1 hour). + """ + path = self._get_path(key) + data = { + "value": value, + "expires_at": time.time() + ttl_seconds, + "key_debug": key # Store original key for debugging + } + try: + with open(path, "w") as f: + json.dump(data, f) + except OSError as e: + print(f"Cache Write Error: {e}") diff --git a/backend/main.py b/backend/main.py index 5330a04..2e37f9d 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,65 +1,65 @@ -from fastapi import FastAPI -from fastapi.middleware.cors import CORSMiddleware -from contextlib import asynccontextmanager -from backend.api.routes import router as api_router -from backend.scheduler import start_scheduler -import os - -@asynccontextmanager -async def lifespan(app: FastAPI): - # Startup: Start scheduler - scheduler = start_scheduler() - yield - # Shutdown: Scheduler shuts down automatically with process, or we can explicit shutdown if needed - scheduler.shutdown() - -app = FastAPI(title="Spotify Clone Backend", lifespan=lifespan) - -# CORS setup -origins = [ - "http://localhost:3000", - "http://127.0.0.1:3000", -] - -app.add_middleware( - CORSMiddleware, - allow_origins=origins, - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - -app.include_router(api_router, prefix="/api") - -from fastapi.staticfiles import StaticFiles -from fastapi.responses import FileResponse - -# Serve Static Frontend (Production Mode) -STATIC_DIR = "static" -if os.path.exists(STATIC_DIR): - app.mount("/_next", StaticFiles(directory=os.path.join(STATIC_DIR, "_next")), name="next_assets") - - # Serve other static files (favicons etc) if they exist in root of static - # Or just fallback everything else to index.html for SPA - - @app.get("/{full_path:path}") - async def serve_spa(full_path: str): - # Check if file exists in static folder - file_path = os.path.join(STATIC_DIR, full_path) - if os.path.isfile(file_path): - return FileResponse(file_path) - - # Otherwise return index.html - index_path = os.path.join(STATIC_DIR, "index.html") - if os.path.exists(index_path): - return FileResponse(index_path) - - return {"error": "Frontend not found"} -else: - @app.get("/") - def read_root(): - return {"message": "Spotify Clone Backend Running (Frontend not built/mounted)"} - -@app.get("/health") -def health_check(): - return {"status": "ok"} +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware +from contextlib import asynccontextmanager +from backend.api.routes import router as api_router +from backend.scheduler import start_scheduler +import os + +@asynccontextmanager +async def lifespan(app: FastAPI): + # Startup: Start scheduler + scheduler = start_scheduler() + yield + # Shutdown: Scheduler shuts down automatically with process, or we can explicit shutdown if needed + scheduler.shutdown() + +app = FastAPI(title="Spotify Clone Backend", lifespan=lifespan) + +# CORS setup +origins = [ + "http://localhost:3000", + "http://127.0.0.1:3000", +] + +app.add_middleware( + CORSMiddleware, + allow_origins=origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +app.include_router(api_router, prefix="/api") + +from fastapi.staticfiles import StaticFiles +from fastapi.responses import FileResponse + +# Serve Static Frontend (Production Mode) +STATIC_DIR = "static" +if os.path.exists(STATIC_DIR): + app.mount("/_next", StaticFiles(directory=os.path.join(STATIC_DIR, "_next")), name="next_assets") + + # Serve other static files (favicons etc) if they exist in root of static + # Or just fallback everything else to index.html for SPA + + @app.get("/{full_path:path}") + async def serve_spa(full_path: str): + # Check if file exists in static folder + file_path = os.path.join(STATIC_DIR, full_path) + if os.path.isfile(file_path): + return FileResponse(file_path) + + # Otherwise return index.html + index_path = os.path.join(STATIC_DIR, "index.html") + if os.path.exists(index_path): + return FileResponse(index_path) + + return {"error": "Frontend not found"} +else: + @app.get("/") + def read_root(): + return {"message": "Spotify Clone Backend Running (Frontend not built/mounted)"} + +@app.get("/health") +def health_check(): + return {"status": "ok"} diff --git a/backend/playlist_manager.py b/backend/playlist_manager.py index b3ac6eb..98e5b87 100644 --- a/backend/playlist_manager.py +++ b/backend/playlist_manager.py @@ -1,88 +1,88 @@ -import json -import uuid -from pathlib import Path -from typing import List, Dict, Optional - -DATA_FILE = Path("backend/data/user_playlists.json") - -class PlaylistManager: - def __init__(self): - DATA_FILE.parent.mkdir(parents=True, exist_ok=True) - if not DATA_FILE.exists(): - self._save_data([]) - - def _load_data(self) -> List[Dict]: - try: - with open(DATA_FILE, "r") as f: - return json.load(f) - except (json.JSONDecodeError, OSError): - return [] - - def _save_data(self, data: List[Dict]): - with open(DATA_FILE, "w") as f: - json.dump(data, f, indent=4) - - def get_all(self) -> List[Dict]: - return self._load_data() - - def get_by_id(self, playlist_id: str) -> Optional[Dict]: - playlists = self._load_data() - for p in playlists: - if p["id"] == playlist_id: - return p - return None - - def create(self, name: str, description: str = "") -> Dict: - playlists = self._load_data() - new_playlist = { - "id": str(uuid.uuid4()), - "title": name, - "description": description, - "tracks": [], - "cover_url": "https://placehold.co/400?text=Playlist", # Default placeholder - "is_user_created": True - } - playlists.append(new_playlist) - self._save_data(playlists) - return new_playlist - - def update(self, playlist_id: str, name: str = None, description: str = None) -> Optional[Dict]: - playlists = self._load_data() - for p in playlists: - if p["id"] == playlist_id: - if name: p["title"] = name - if description: p["description"] = description - self._save_data(playlists) - return p - return None - - def delete(self, playlist_id: str) -> bool: - playlists = self._load_data() - initial_len = len(playlists) - playlists = [p for p in playlists if p["id"] != playlist_id] - if len(playlists) < initial_len: - self._save_data(playlists) - return True - return False - - def add_track(self, playlist_id: str, track: Dict) -> bool: - playlists = self._load_data() - for p in playlists: - if p["id"] == playlist_id: - # Check for duplicates? For now allow. - p["tracks"].append(track) - # Update cover if it's the first track - if len(p["tracks"]) == 1 and track.get("cover_url"): - p["cover_url"] = track["cover_url"] - self._save_data(playlists) - return True - return False - - def remove_track(self, playlist_id: str, track_id: str) -> bool: - playlists = self._load_data() - for p in playlists: - if p["id"] == playlist_id: - p["tracks"] = [t for t in p["tracks"] if t.get("id") != track_id] - self._save_data(playlists) - return True - return False +import json +import uuid +from pathlib import Path +from typing import List, Dict, Optional + +DATA_FILE = Path("backend/data/user_playlists.json") + +class PlaylistManager: + def __init__(self): + DATA_FILE.parent.mkdir(parents=True, exist_ok=True) + if not DATA_FILE.exists(): + self._save_data([]) + + def _load_data(self) -> List[Dict]: + try: + with open(DATA_FILE, "r") as f: + return json.load(f) + except (json.JSONDecodeError, OSError): + return [] + + def _save_data(self, data: List[Dict]): + with open(DATA_FILE, "w") as f: + json.dump(data, f, indent=4) + + def get_all(self) -> List[Dict]: + return self._load_data() + + def get_by_id(self, playlist_id: str) -> Optional[Dict]: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + return p + return None + + def create(self, name: str, description: str = "") -> Dict: + playlists = self._load_data() + new_playlist = { + "id": str(uuid.uuid4()), + "title": name, + "description": description, + "tracks": [], + "cover_url": "https://placehold.co/400?text=Playlist", # Default placeholder + "is_user_created": True + } + playlists.append(new_playlist) + self._save_data(playlists) + return new_playlist + + def update(self, playlist_id: str, name: str = None, description: str = None) -> Optional[Dict]: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + if name: p["title"] = name + if description: p["description"] = description + self._save_data(playlists) + return p + return None + + def delete(self, playlist_id: str) -> bool: + playlists = self._load_data() + initial_len = len(playlists) + playlists = [p for p in playlists if p["id"] != playlist_id] + if len(playlists) < initial_len: + self._save_data(playlists) + return True + return False + + def add_track(self, playlist_id: str, track: Dict) -> bool: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + # Check for duplicates? For now allow. + p["tracks"].append(track) + # Update cover if it's the first track + if len(p["tracks"]) == 1 and track.get("cover_url"): + p["cover_url"] = track["cover_url"] + self._save_data(playlists) + return True + return False + + def remove_track(self, playlist_id: str, track_id: str) -> bool: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + p["tracks"] = [t for t in p["tracks"] if t.get("id") != track_id] + self._save_data(playlists) + return True + return False diff --git a/backend/requirements.txt b/backend/requirements.txt index 9f8a221..31d21b1 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,10 +1,10 @@ -fastapi==0.115.6 -uvicorn==0.34.0 -spotdl -pydantic==2.10.4 -python-multipart==0.0.20 -APScheduler>=3.10 -requests==2.32.3 -yt-dlp @ https://github.com/yt-dlp/yt-dlp/archive/master.zip -ytmusicapi==1.9.1 -syncedlyrics +fastapi==0.115.6 +uvicorn==0.34.0 +spotdl +pydantic==2.10.4 +python-multipart==0.0.20 +APScheduler>=3.10 +requests==2.32.3 +yt-dlp @ https://github.com/yt-dlp/yt-dlp/archive/master.zip +ytmusicapi==1.9.1 +syncedlyrics diff --git a/backend/scheduler.py b/backend/scheduler.py index 877c50f..077fa3e 100644 --- a/backend/scheduler.py +++ b/backend/scheduler.py @@ -1,51 +1,51 @@ -import subprocess -import logging -from apscheduler.schedulers.background import BackgroundScheduler -from apscheduler.triggers.interval import IntervalTrigger - -# Configure logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger(__name__) - -def update_ytdlp(): - """ - Check for and install the latest version of yt-dlp. - """ - logger.info("Scheduler: Checking for yt-dlp updates...") - try: - # Run pip install --upgrade yt-dlp - result = subprocess.run( - ["pip", "install", "--upgrade", "yt-dlp"], - capture_output=True, - text=True, - check=True - ) - logger.info(f"Scheduler: yt-dlp update completed.\n{result.stdout}") - except subprocess.CalledProcessError as e: - logger.error(f"Scheduler: Failed to update yt-dlp.\nError: {e.stderr}") - except Exception as e: - logger.error(f"Scheduler: Unexpected error during update: {str(e)}") - -def start_scheduler(): - """ - Initialize and start the background scheduler. - """ - scheduler = BackgroundScheduler() - - # Schedule yt-dlp update every 24 hours - trigger = IntervalTrigger(days=1) - scheduler.add_job( - update_ytdlp, - trigger=trigger, - id="update_ytdlp_job", - name="Update yt-dlp daily", - replace_existing=True - ) - - scheduler.start() - logger.info("Scheduler: Started background scheduler. yt-dlp will update every 24 hours.") - - # Run once on startup to ensure we are up to date immediately - # update_ytdlp() # Optional: Uncomment if we want strict enforcement on boot - - return scheduler +import subprocess +import logging +from apscheduler.schedulers.background import BackgroundScheduler +from apscheduler.triggers.interval import IntervalTrigger + +# Configure logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +def update_ytdlp(): + """ + Check for and install the latest version of yt-dlp. + """ + logger.info("Scheduler: Checking for yt-dlp updates...") + try: + # Run pip install --upgrade yt-dlp + result = subprocess.run( + ["pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=True + ) + logger.info(f"Scheduler: yt-dlp update completed.\n{result.stdout}") + except subprocess.CalledProcessError as e: + logger.error(f"Scheduler: Failed to update yt-dlp.\nError: {e.stderr}") + except Exception as e: + logger.error(f"Scheduler: Unexpected error during update: {str(e)}") + +def start_scheduler(): + """ + Initialize and start the background scheduler. + """ + scheduler = BackgroundScheduler() + + # Schedule yt-dlp update every 24 hours + trigger = IntervalTrigger(days=1) + scheduler.add_job( + update_ytdlp, + trigger=trigger, + id="update_ytdlp_job", + name="Update yt-dlp daily", + replace_existing=True + ) + + scheduler.start() + logger.info("Scheduler: Started background scheduler. yt-dlp will update every 24 hours.") + + # Run once on startup to ensure we are up to date immediately + # update_ytdlp() # Optional: Uncomment if we want strict enforcement on boot + + return scheduler diff --git a/backend/services/__init__.py b/backend/services/__init__.py index bc4540c..66067bb 100644 --- a/backend/services/__init__.py +++ b/backend/services/__init__.py @@ -1 +1 @@ -# Services Package +# Services Package diff --git a/backend/services/cache.py b/backend/services/cache.py index 11ae029..dda4c26 100644 --- a/backend/services/cache.py +++ b/backend/services/cache.py @@ -1,4 +1,4 @@ -# Cache Service - Re-export CacheManager from backend.cache_manager -from backend.cache_manager import CacheManager - -__all__ = ['CacheManager'] +# Cache Service - Re-export CacheManager from backend.cache_manager +from backend.cache_manager import CacheManager + +__all__ = ['CacheManager'] diff --git a/backend/services/spotify.py b/backend/services/spotify.py index cc58a33..4981347 100644 --- a/backend/services/spotify.py +++ b/backend/services/spotify.py @@ -1,19 +1,19 @@ -# Spotify Service - Placeholder for YouTube Music API interactions -# Currently uses yt-dlp directly in routes.py - -class SpotifyService: - """ - Placeholder service for Spotify/YouTube Music integration. - Currently, all music operations are handled directly in routes.py using yt-dlp. - This class exists to satisfy imports but has minimal functionality. - """ - def __init__(self): - pass - - def search(self, query: str, limit: int = 20): - """Search for music - placeholder""" - return [] - - def get_track(self, track_id: str): - """Get track info - placeholder""" - return None +# Spotify Service - Placeholder for YouTube Music API interactions +# Currently uses yt-dlp directly in routes.py + +class SpotifyService: + """ + Placeholder service for Spotify/YouTube Music integration. + Currently, all music operations are handled directly in routes.py using yt-dlp. + This class exists to satisfy imports but has minimal functionality. + """ + def __init__(self): + pass + + def search(self, query: str, limit: int = 20): + """Search for music - placeholder""" + return [] + + def get_track(self, track_id: str): + """Get track info - placeholder""" + return None diff --git a/debug_recs.py b/debug_recs.py index 6349c4a..cac4832 100644 --- a/debug_recs.py +++ b/debug_recs.py @@ -1,17 +1,17 @@ -from ytmusicapi import YTMusic -import json - -yt = YTMusic() -seed_id = "hDrFd1W8fvU" -print(f"Fetching watch playlist for {seed_id}...") -results = yt.get_watch_playlist(videoId=seed_id, limit=5) - -if 'tracks' in results: - print(f"Found {len(results['tracks'])} tracks.") - if len(results['tracks']) > 0: - first_track = results['tracks'][0] - print(json.dumps(first_track, indent=2)) - print("Keys:", first_track.keys()) -else: - print("No 'tracks' key in results") - print(results.keys()) +from ytmusicapi import YTMusic +import json + +yt = YTMusic() +seed_id = "hDrFd1W8fvU" +print(f"Fetching watch playlist for {seed_id}...") +results = yt.get_watch_playlist(videoId=seed_id, limit=5) + +if 'tracks' in results: + print(f"Found {len(results['tracks'])} tracks.") + if len(results['tracks']) > 0: + first_track = results['tracks'][0] + print(json.dumps(first_track, indent=2)) + print("Keys:", first_track.keys()) +else: + print("No 'tracks' key in results") + print(results.keys()) diff --git a/docker-compose.yml b/docker-compose.yml index 1b6ef1b..1bea826 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,11 @@ -services: - spotify-clone: - image: vndangkhoa/spotify-clone:latest - container_name: spotify-clone - restart: always - network_mode: bridge # Synology often prefers explicit bridge or host - ports: - - "3110:3000" # Web UI - - volumes: - - ./data:/app/backend/data +services: + spotify-clone: + image: vndangkhoa/spotify-clone:latest + container_name: spotify-clone + restart: always + network_mode: bridge # Synology often prefers explicit bridge or host + ports: + - "3110:3000" # Web UI + + volumes: + - ./data:/app/backend/data diff --git a/frontend/app/favicon.ico b/frontend/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..1ec95ad7b29c9ed9b428a7007158390725ce5134 100644 GIT binary patch literal 13374 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 SAHdiDeyxG8HSqsW1OE%J2>;Ch literal 25931 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 LrJugUA?W`A8`#=m diff --git a/frontend/app/favicon.png b/frontend/app/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..e583f2110379d2fcf1dbf4ef0cebca9f7d264188 GIT binary patch literal 2367 zcmbV~cT`hZ8o*!j5)x2^Kv0^}BGSY$D#f7&2}O}kD2ob%NKqLODFOl!1Tnw@QUyWE zP#i(}2r4B32G|{>2qMw~D#gS^2nG_#B#g&7XaCyW-+Axe@7()+-+RA%F7GvO4iLA- zTj2o+1b}Ekv;crN55$>A`1=BYjSZjy000tzL1Y0qKZ5XIBZ%Dh7!Oecz@2p{03`VX zux~kM`LiJ8cN5fno52#uw`~4e3G{omNeTFOEU4qr06jaupwOUeenCGg9@G8-(8F2T zzy#g-?8FCmLh-Tvq{(!k0k#|`ocEE9yUFVWP)NW8FaaUT02BoQQ4k&lP~iUp9J0es z8GnF4K^R;JffN?m#ZPD!2cQrTgu*~LT<{r441XVhq2LlqM@@w!?Y$7n!DwuJ#zUkE zuD(mkVVHqA<{d&57TLQ`T1NJu>LE3CjpHYDboKO4nw>JoTUc6IJ32YL5M15dfAYEL zd&$o~;9BVQu<(e;8@Cb?Zzm<+Ny*H*mz|TFmtRm?R$lQ-WmR=eLt|5OOY3h>+q%h= zp5DIS`v*ow$6k$3yqFwu;{Rp#UF>hKDZmVX?f^oeARGiixDcF=5K>40QUtk!$TxQHut$K{cX<3J5PlCB z42Ix8;=6=*iT}^=ruo+r#(M+o1|j^*1fl?AV9RV<1i=H~;Fu9SK$Hlx>h z>t*hwIvLC;J%5s|Le-^+-7csJj1_xk5j#J%sJPjpD+ak7cA+vb-4~`{y?rZot~i!q zXJfWdTiPMCjcrn2a7rv6Wl4{jAE=f$3r%L$N@=4^gYLnv!{W*>@Bm%bn`k}ei)zLM z6_I45E?nCFX?`994au~Lxx&$jP@&B3G4@Mmuc%)igIpdJr|S)SOVv%x$~> zVf*6m9qR|{Qh7k2&NQ>b*?66Hi3gOL8`Lj_t(qlJ(GUI&JrppW^ z|MVa2{*lvOY+B^wmM-Gua=9kTJea~ZL%EO~L$1@U5_%%9^AwvJ4H=ZUvJ}Ewai}?L!ntbWR$RMy$0Lh_M^DP>wlsv>qd zsfPJ)qfMFHPnjwd1m)yXD#mqOtuz@WA6$)5>&JYy!aT4E(b3VpQN(Jw?K z9e^FekffZ%94w)C<>Y8*>6)TCZ#>$oUuy;9QZZ?LCC+wMMxBI@vs}s5ZDH0zFO#0Z zBrl|8sK%EsNgSTZt?;ZJY;SLRul`H&8roi=$eHo4&Y#gCy5V8|3Ed9lkyMeR_9W*_ J4@^35@=vs2_hbM7 literal 0 HcmV?d00001 diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 545ea2a..dae3cdd 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -1,62 +1,64 @@ -import type { Metadata } from "next"; -import { Outfit } from "next/font/google"; -import "./globals.css"; -import Sidebar from "@/components/Sidebar"; -import PlayerBar from "@/components/PlayerBar"; -import MobileNav from "@/components/MobileNav"; -import RightSidebar from "@/components/RightSidebar"; -import { PlayerProvider } from "@/context/PlayerContext"; -import { LibraryProvider } from "@/context/LibraryContext"; - -const outfit = Outfit({ - subsets: ["latin"], - variable: "--font-outfit", - weight: ["300", "400", "500", "600", "700"], -}); - -export const metadata: Metadata = { - title: "Audiophile Web Player", - description: "High-Fidelity Local-First Music Player", - manifest: "/manifest.json", - referrer: "no-referrer", - appleWebApp: { - capable: true, - statusBarStyle: "black-translucent", - title: "Audiophile Web Player", - }, - other: { - "mobile-web-app-capable": "yes", - }, - icons: { - icon: "/icons/icon-192x192.png", - apple: "/icons/icon-512x512.png", - }, -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - - - -
- -
- {children} -
- -
- - -
-
- - - ); -} +import type { Metadata } from "next"; +import { Outfit } from "next/font/google"; +import "./globals.css"; +import Sidebar from "@/components/Sidebar"; +import PlayerBar from "@/components/PlayerBar"; +import MobileNav from "@/components/MobileNav"; +import RightSidebar from "@/components/RightSidebar"; +import { PlayerProvider } from "@/context/PlayerContext"; +import { LibraryProvider } from "@/context/LibraryContext"; +import ServiceWorkerRegistration from "@/components/ServiceWorkerRegistration"; + +const outfit = Outfit({ + subsets: ["latin"], + variable: "--font-outfit", + weight: ["300", "400", "500", "600", "700"], +}); + +export const metadata: Metadata = { + title: "Audiophile Web Player", + description: "High-Fidelity Local-First Music Player", + manifest: "/manifest.json", + referrer: "no-referrer", + appleWebApp: { + capable: true, + statusBarStyle: "black-translucent", + title: "Audiophile Web Player", + }, + other: { + "mobile-web-app-capable": "yes", + }, + icons: { + icon: "/icons/icon-192x192.png", + apple: "/icons/icon-512x512.png", + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + + + +
+ +
+ {children} +
+ +
+ + +
+
+ + + ); +} diff --git a/frontend/app/library/page.tsx b/frontend/app/library/page.tsx index c2b04c5..9d4d16a 100644 --- a/frontend/app/library/page.tsx +++ b/frontend/app/library/page.tsx @@ -1,156 +1,156 @@ -"use client"; - -import { useState } from "react"; -import { dbService } from "@/services/db"; -import { useLibrary } from "@/context/LibraryContext"; -import Link from "next/link"; -import { Plus } from "lucide-react"; -import CreatePlaylistModal from "@/components/CreatePlaylistModal"; -import CoverImage from "@/components/CoverImage"; - -export default function LibraryPage() { - const { userPlaylists: playlists, libraryItems, refreshLibrary: refresh, activeFilter: activeTab, setActiveFilter: setActiveTab } = useLibrary(); - const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); - - const handleCreatePlaylist = async (name: string) => { - await dbService.createPlaylist(name); - refresh(); - }; - - const showPlaylists = activeTab === 'all' || activeTab === 'playlists'; - const showAlbums = activeTab === 'all' || activeTab === 'albums'; - const showArtists = activeTab === 'all' || activeTab === 'artists'; - - // Filter items based on type - const albums = libraryItems.filter(item => item.type === 'Album'); - const artists = libraryItems.filter(item => item.type === 'Artist'); - const browsePlaylists = libraryItems.filter(item => item.type === 'Playlist'); - - return ( -
-
-

Your Library

- -
- -
- - - - -
- -
- {/* Playlists & Liked Songs */} - {showPlaylists && ( - <> - -
-

Liked Songs

-

Auto-generated

-
- - - {playlists.map((playlist) => ( - -
-
- -
-

{playlist.title}

-

Playlist • You

-
- - ))} - - {browsePlaylists.map((playlist) => ( - -
-
- -
-

{playlist.title}

-

Playlist • Made for you

-
- - ))} - - )} - - {/* Artists Content (Circular Images) */} - {showArtists && artists.map((artist) => ( - -
-
- -
-

{artist.title}

-

Artist

-
- - ))} - - {/* Albums Content */} - {showAlbums && albums.map((album) => ( - -
-
- -
-

{album.title}

-

Album • {album.creator || 'Spotify'}

-
- - ))} -
- - setIsCreateModalOpen(false)} - onCreate={handleCreatePlaylist} - /> -
- ); -} +"use client"; + +import { useState } from "react"; +import { dbService } from "@/services/db"; +import { useLibrary } from "@/context/LibraryContext"; +import Link from "next/link"; +import { Plus } from "lucide-react"; +import CreatePlaylistModal from "@/components/CreatePlaylistModal"; +import CoverImage from "@/components/CoverImage"; + +export default function LibraryPage() { + const { userPlaylists: playlists, libraryItems, refreshLibrary: refresh, activeFilter: activeTab, setActiveFilter: setActiveTab } = useLibrary(); + const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); + + const handleCreatePlaylist = async (name: string) => { + await dbService.createPlaylist(name); + refresh(); + }; + + const showPlaylists = activeTab === 'all' || activeTab === 'playlists'; + const showAlbums = activeTab === 'all' || activeTab === 'albums'; + const showArtists = activeTab === 'all' || activeTab === 'artists'; + + // Filter items based on type + const albums = libraryItems.filter(item => item.type === 'Album'); + const artists = libraryItems.filter(item => item.type === 'Artist'); + const browsePlaylists = libraryItems.filter(item => item.type === 'Playlist'); + + return ( +
+
+

Your Library

+ +
+ +
+ + + + +
+ +
+ {/* Playlists & Liked Songs */} + {showPlaylists && ( + <> + +
+

Liked Songs

+

Auto-generated

+
+ + + {playlists.map((playlist) => ( + +
+
+ +
+

{playlist.title}

+

Playlist • You

+
+ + ))} + + {browsePlaylists.map((playlist) => ( + +
+
+ +
+

{playlist.title}

+

Playlist • Made for you

+
+ + ))} + + )} + + {/* Artists Content (Circular Images) */} + {showArtists && artists.map((artist) => ( + +
+
+ +
+

{artist.title}

+

Artist

+
+ + ))} + + {/* Albums Content */} + {showAlbums && albums.map((album) => ( + +
+
+ +
+

{album.title}

+

Album • {album.creator || 'Spotify'}

+
+ + ))} +
+ + setIsCreateModalOpen(false)} + onCreate={handleCreatePlaylist} + /> +
+ ); +} diff --git a/frontend/app/page.tsx b/frontend/app/page.tsx index c3affbc..c908016 100644 --- a/frontend/app/page.tsx +++ b/frontend/app/page.tsx @@ -1,510 +1,510 @@ -"use client"; - -import { Play, Pause, ArrowUpDown, Clock, Music2, User } from "lucide-react"; -import { useEffect, useState } from "react"; -import { usePlayer } from "@/context/PlayerContext"; -import Link from "next/link"; -import { libraryService } from "@/services/library"; -import { Track } from "@/types"; -import CoverImage from "@/components/CoverImage"; -import Skeleton from "@/components/Skeleton"; - -type SortOption = 'recent' | 'alpha-asc' | 'alpha-desc' | 'artist'; - -export default function Home() { - const [timeOfDay, setTimeOfDay] = useState("Good evening"); - const [browseData, setBrowseData] = useState>({}); - const [loading, setLoading] = useState(true); - const [sortBy, setSortBy] = useState('recent'); - const [showSortMenu, setShowSortMenu] = useState(false); - - useEffect(() => { - const hour = new Date().getHours(); - if (hour < 12) setTimeOfDay("Good morning"); - else if (hour < 18) setTimeOfDay("Good afternoon"); - else setTimeOfDay("Good evening"); - - // Fetch Browse Content - setLoading(true); - libraryService.getBrowseContent() - .then(data => { - setBrowseData(data); - setLoading(false); - }) - .catch(err => { - console.error("Error fetching browse:", err); - setLoading(false); - }); - }, []); - - // Sort playlists based on selected option - const sortPlaylists = (playlists: any[]) => { - const sorted = [...playlists]; - switch (sortBy) { - case 'alpha-asc': - return sorted.sort((a, b) => (a.title || '').localeCompare(b.title || '')); - case 'alpha-desc': - return sorted.sort((a, b) => (b.title || '').localeCompare(a.title || '')); - case 'artist': - return sorted.sort((a, b) => (a.author || a.creator || '').localeCompare(b.author || b.creator || '')); - case 'recent': - default: - return sorted; - } - }; - - // Use first item of first category as Hero - const firstCategory = Object.keys(browseData)[0]; - const heroPlaylist = firstCategory && browseData[firstCategory].length > 0 ? browseData[firstCategory][0] : null; - - const sortOptions = [ - { value: 'recent', label: 'Recently Added', icon: Clock }, - { value: 'alpha-asc', label: 'Alphabetical (A-Z)', icon: ArrowUpDown }, - { value: 'alpha-desc', label: 'Alphabetical (Z-A)', icon: ArrowUpDown }, - { value: 'artist', label: 'Artist Name', icon: User }, - ]; - - return ( -
- - {/* Header / Greetings with Sort Button */} -
-

{timeOfDay}

- - {/* Sort Dropdown */} -
- - - {showSortMenu && ( -
- {sortOptions.map((option) => ( - - ))} -
- )} -
-
- - {/* Hero Section (Big Playlist Banner - AT THE TOP) */} - {loading ? ( -
- -
- - - -
-
- ) : heroPlaylist && ( - -
-
- -
-
- Featured Playlist -

{heroPlaylist.title}

-

- {heroPlaylist.description} -

-
- - Play Now -
-
-
- - )} - - {/* Made For You Section (Recommendations) */} - - - {/* Artist Section (Vietnam) */} - - - {/* Dynamic Recommended Albums based on history */} - - - {/* Recently Listened */} - - - {/* Main Browse Lists */} - {loading ? ( -
- {[1, 2].map(i => ( -
- -
- {[1, 2, 3, 4, 5].map(j => ( -
- - - -
- ))} -
-
- ))} -
- ) : Object.keys(browseData).length > 0 ? ( - Object.entries(browseData).map(([category, playlists]) => ( -
-
-

{category}

- - Show all - -
- -
- {sortPlaylists(playlists).slice(0, 5).map((playlist: any) => ( - -
-
- -
-
- -
-
-
-

{playlist.title}

-

{playlist.description}

-
- - ))} -
-
- )) - ) : ( -
-

Ready to explore?

-

Browse content is loading or empty. Try initializing data.

-
- )} -
- ); -} - -// NEW: Recently Listened Section - Pinned to top -function RecentlyListenedSection() { - const { playHistory, playTrack } = usePlayer(); - - if (playHistory.length === 0) return null; - - return ( -
-
- -

Recently Listened

-
- - {/* Horizontal Scrollable Row */} -
- {playHistory.slice(0, 10).map((track, i) => ( -
playTrack(track, playHistory)} - className="flex-shrink-0 w-40 bg-[#181818] rounded-lg overflow-hidden hover:bg-[#282828] transition duration-300 group cursor-pointer" - > -
- -
-
- -
-
-
-
-

{track.title}

-

{track.artist}

-
-
- ))} -
-
- ); -} - -function MadeForYouSection() { - const { playHistory, playTrack } = usePlayer(); - const [recommendations, setRecommendations] = useState([]); - const [seedTrack, setSeedTrack] = useState(null); - const [loading, setLoading] = useState(false); - - useEffect(() => { - if (playHistory.length > 0) { - const seed = playHistory[0]; // Last played - setSeedTrack(seed); - setLoading(true); - - // Fetch actual recommendations from backend - fetch(`/api/recommendations?seed_id=${seed.id}`) - .then(res => res.json()) - .then(data => { - if (data.tracks) { - setRecommendations(data.tracks); - } - setLoading(false); - }) - .catch(err => { - console.error("Rec error:", err); - setLoading(false); - }); - } - }, [playHistory.length > 0 ? playHistory[0].id : null]); - - if (playHistory.length === 0) return null; - if (!loading && recommendations.length === 0) return null; - - return ( -
-
- -

Made For You

-
-

- {seedTrack ? ( - <>Because you listened to {seedTrack.artist} - ) : "Recommended for you"} -

- - {loading ? ( -
- {[1, 2, 3, 4, 5].map(i => ( -
- - - -
- ))} -
- ) : ( -
- {recommendations.slice(0, 5).map((track, i) => ( -
playTrack(track, recommendations)} className="bg-[#181818] p-2 md:p-4 rounded-md hover:bg-[#282828] transition duration-300 group cursor-pointer relative h-full flex flex-col"> -
- -
-
- -
-
-
-

{track.title}

-

{track.artist}

-
- ))} -
- )} -
- ); -} - -function RecommendedAlbumsSection() { - const { playHistory } = usePlayer(); - const [albums, setAlbums] = useState([]); - const [seedArtist, setSeedArtist] = useState(null); - const [loading, setLoading] = useState(false); - - useEffect(() => { - if (playHistory.length > 0) { - const artist = playHistory[0].artist; - if (!artist) return; - - // Clean artist name (remove delimiters like commas if multiple) - const primaryArtist = artist.split(',')[0].trim(); - setSeedArtist(primaryArtist); - setLoading(true); - - fetch(`/api/recommendations/albums?seed_artist=${encodeURIComponent(primaryArtist)}`) - .then(res => res.json()) - .then(data => { - if (Array.isArray(data)) setAlbums(data); - setLoading(false); - }) - .catch(err => { - console.error("Album Rec error:", err); - setLoading(false); - }); - } - }, [playHistory.length > 0 ? playHistory[0].artist : null]); - - if (playHistory.length === 0) return null; - if (!loading && albums.length === 0) return null; - - return ( -
-

More from {seedArtist}

-

Albums you might like

- - {loading ? ( -
- {[1, 2, 3, 4, 5].map(i => ( -
- - - -
- ))} -
- ) : ( -
- {albums.slice(0, 5).map((album, i) => ( - -
-
- -
-
- -
-
-
-

{album.title}

-

{album.description}

-
- - ))} -
- )} -
- ); -} - -// NEW: Artist Vietnam Section with dynamic photos -function ArtistVietnamSection() { - // Popular Vietnamese artists - const artistNames = [ - "Sơn Tùng M-TP", - "HIEUTHUHAI", - "Đen Vâu", - "Hoàng Dũng", - "Vũ.", - "MONO", - "Tlinh", - "Erik", - ]; - - const [artistPhotos, setArtistPhotos] = useState>({}); - const [loading, setLoading] = useState(true); - - useEffect(() => { - // Fetch artist photos from API - const fetchArtistPhotos = async () => { - setLoading(true); - const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; - const photos: Record = {}; - - await Promise.all( - artistNames.map(async (name) => { - try { - const res = await fetch(`${apiUrl}/api/artist/info?name=${encodeURIComponent(name)}`); - if (res.ok) { - const data = await res.json(); - if (data.photo) { - photos[name] = data.photo; - } - } - } catch (e) { - console.error(`Failed to fetch photo for ${name}:`, e); - } - }) - ); - - setArtistPhotos(photos); - setLoading(false); - }; - - fetchArtistPhotos(); - }, []); - - return ( -
-
- -

Artist Vietnam

-
-

Popular Vietnamese artists

- - {/* Horizontal Scrollable Row */} -
- {loading ? ( - // Skeleton Row - [1, 2, 3, 4, 5, 6].map(i => ( -
- - -
- )) - ) : ( - artistNames.map((name, i) => ( - -
-
- -
-
- -
-
-
-

{name}

-

Artist

-
- - )) - )} -
-
- ); -} - +"use client"; + +import { Play, Pause, ArrowUpDown, Clock, Music2, User } from "lucide-react"; +import { useEffect, useState } from "react"; +import { usePlayer } from "@/context/PlayerContext"; +import Link from "next/link"; +import { libraryService } from "@/services/library"; +import { Track } from "@/types"; +import CoverImage from "@/components/CoverImage"; +import Skeleton from "@/components/Skeleton"; + +type SortOption = 'recent' | 'alpha-asc' | 'alpha-desc' | 'artist'; + +export default function Home() { + const [timeOfDay, setTimeOfDay] = useState("Good evening"); + const [browseData, setBrowseData] = useState>({}); + const [loading, setLoading] = useState(true); + const [sortBy, setSortBy] = useState('recent'); + const [showSortMenu, setShowSortMenu] = useState(false); + + useEffect(() => { + const hour = new Date().getHours(); + if (hour < 12) setTimeOfDay("Good morning"); + else if (hour < 18) setTimeOfDay("Good afternoon"); + else setTimeOfDay("Good evening"); + + // Fetch Browse Content + setLoading(true); + libraryService.getBrowseContent() + .then(data => { + setBrowseData(data); + setLoading(false); + }) + .catch(err => { + console.error("Error fetching browse:", err); + setLoading(false); + }); + }, []); + + // Sort playlists based on selected option + const sortPlaylists = (playlists: any[]) => { + const sorted = [...playlists]; + switch (sortBy) { + case 'alpha-asc': + return sorted.sort((a, b) => (a.title || '').localeCompare(b.title || '')); + case 'alpha-desc': + return sorted.sort((a, b) => (b.title || '').localeCompare(a.title || '')); + case 'artist': + return sorted.sort((a, b) => (a.author || a.creator || '').localeCompare(b.author || b.creator || '')); + case 'recent': + default: + return sorted; + } + }; + + // Use first item of first category as Hero + const firstCategory = Object.keys(browseData)[0]; + const heroPlaylist = firstCategory && browseData[firstCategory].length > 0 ? browseData[firstCategory][0] : null; + + const sortOptions = [ + { value: 'recent', label: 'Recently Added', icon: Clock }, + { value: 'alpha-asc', label: 'Alphabetical (A-Z)', icon: ArrowUpDown }, + { value: 'alpha-desc', label: 'Alphabetical (Z-A)', icon: ArrowUpDown }, + { value: 'artist', label: 'Artist Name', icon: User }, + ]; + + return ( +
+ + {/* Header / Greetings with Sort Button */} +
+

{timeOfDay}

+ + {/* Sort Dropdown */} +
+ + + {showSortMenu && ( +
+ {sortOptions.map((option) => ( + + ))} +
+ )} +
+
+ + {/* Hero Section (Big Playlist Banner - AT THE TOP) */} + {loading ? ( +
+ +
+ + + +
+
+ ) : heroPlaylist && ( + +
+
+ +
+
+ Featured Playlist +

{heroPlaylist.title}

+

+ {heroPlaylist.description} +

+
+ + Play Now +
+
+
+ + )} + + {/* Made For You Section (Recommendations) */} + + + {/* Artist Section (Vietnam) */} + + + {/* Dynamic Recommended Albums based on history */} + + + {/* Recently Listened */} + + + {/* Main Browse Lists */} + {loading ? ( +
+ {[1, 2].map(i => ( +
+ +
+ {[1, 2, 3, 4, 5].map(j => ( +
+ + + +
+ ))} +
+
+ ))} +
+ ) : Object.keys(browseData).length > 0 ? ( + Object.entries(browseData).map(([category, playlists]) => ( +
+
+

{category}

+ + Show all + +
+ +
+ {sortPlaylists(playlists).slice(0, 5).map((playlist: any) => ( + +
+
+ +
+
+ +
+
+
+

{playlist.title}

+

{playlist.description}

+
+ + ))} +
+
+ )) + ) : ( +
+

Ready to explore?

+

Browse content is loading or empty. Try initializing data.

+
+ )} +
+ ); +} + +// NEW: Recently Listened Section - Pinned to top +function RecentlyListenedSection() { + const { playHistory, playTrack } = usePlayer(); + + if (playHistory.length === 0) return null; + + return ( +
+
+ +

Recently Listened

+
+ + {/* Horizontal Scrollable Row */} +
+ {playHistory.slice(0, 10).map((track, i) => ( +
playTrack(track, playHistory)} + className="flex-shrink-0 w-40 bg-[#181818] rounded-lg overflow-hidden hover:bg-[#282828] transition duration-300 group cursor-pointer" + > +
+ +
+
+ +
+
+
+
+

{track.title}

+

{track.artist}

+
+
+ ))} +
+
+ ); +} + +function MadeForYouSection() { + const { playHistory, playTrack } = usePlayer(); + const [recommendations, setRecommendations] = useState([]); + const [seedTrack, setSeedTrack] = useState(null); + const [loading, setLoading] = useState(false); + + useEffect(() => { + if (playHistory.length > 0) { + const seed = playHistory[0]; // Last played + setSeedTrack(seed); + setLoading(true); + + // Fetch actual recommendations from backend + fetch(`/api/recommendations?seed_id=${seed.id}`) + .then(res => res.json()) + .then(data => { + if (data.tracks) { + setRecommendations(data.tracks); + } + setLoading(false); + }) + .catch(err => { + console.error("Rec error:", err); + setLoading(false); + }); + } + }, [playHistory.length > 0 ? playHistory[0].id : null]); + + if (playHistory.length === 0) return null; + if (!loading && recommendations.length === 0) return null; + + return ( +
+
+ +

Made For You

+
+

+ {seedTrack ? ( + <>Because you listened to {seedTrack.artist} + ) : "Recommended for you"} +

+ + {loading ? ( +
+ {[1, 2, 3, 4, 5].map(i => ( +
+ + + +
+ ))} +
+ ) : ( +
+ {recommendations.slice(0, 5).map((track, i) => ( +
playTrack(track, recommendations)} className="bg-[#181818] p-2 md:p-4 rounded-md hover:bg-[#282828] transition duration-300 group cursor-pointer relative h-full flex flex-col"> +
+ +
+
+ +
+
+
+

{track.title}

+

{track.artist}

+
+ ))} +
+ )} +
+ ); +} + +function RecommendedAlbumsSection() { + const { playHistory } = usePlayer(); + const [albums, setAlbums] = useState([]); + const [seedArtist, setSeedArtist] = useState(null); + const [loading, setLoading] = useState(false); + + useEffect(() => { + if (playHistory.length > 0) { + const artist = playHistory[0].artist; + if (!artist) return; + + // Clean artist name (remove delimiters like commas if multiple) + const primaryArtist = artist.split(',')[0].trim(); + setSeedArtist(primaryArtist); + setLoading(true); + + fetch(`/api/recommendations/albums?seed_artist=${encodeURIComponent(primaryArtist)}`) + .then(res => res.json()) + .then(data => { + if (Array.isArray(data)) setAlbums(data); + setLoading(false); + }) + .catch(err => { + console.error("Album Rec error:", err); + setLoading(false); + }); + } + }, [playHistory.length > 0 ? playHistory[0].artist : null]); + + if (playHistory.length === 0) return null; + if (!loading && albums.length === 0) return null; + + return ( +
+

More from {seedArtist}

+

Albums you might like

+ + {loading ? ( +
+ {[1, 2, 3, 4, 5].map(i => ( +
+ + + +
+ ))} +
+ ) : ( +
+ {albums.slice(0, 5).map((album, i) => ( + +
+
+ +
+
+ +
+
+
+

{album.title}

+

{album.description}

+
+ + ))} +
+ )} +
+ ); +} + +// NEW: Artist Vietnam Section with dynamic photos +function ArtistVietnamSection() { + // Popular Vietnamese artists + const artistNames = [ + "Sơn Tùng M-TP", + "HIEUTHUHAI", + "Đen Vâu", + "Hoàng Dũng", + "Vũ.", + "MONO", + "Tlinh", + "Erik", + ]; + + const [artistPhotos, setArtistPhotos] = useState>({}); + const [loading, setLoading] = useState(true); + + useEffect(() => { + // Fetch artist photos from API + const fetchArtistPhotos = async () => { + setLoading(true); + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + const photos: Record = {}; + + await Promise.all( + artistNames.map(async (name) => { + try { + const res = await fetch(`${apiUrl}/api/artist/info?name=${encodeURIComponent(name)}`); + if (res.ok) { + const data = await res.json(); + if (data.photo) { + photos[name] = data.photo; + } + } + } catch (e) { + console.error(`Failed to fetch photo for ${name}:`, e); + } + }) + ); + + setArtistPhotos(photos); + setLoading(false); + }; + + fetchArtistPhotos(); + }, []); + + return ( +
+
+ +

Artist Vietnam

+
+

Popular Vietnamese artists

+ + {/* Horizontal Scrollable Row */} +
+ {loading ? ( + // Skeleton Row + [1, 2, 3, 4, 5, 6].map(i => ( +
+ + +
+ )) + ) : ( + artistNames.map((name, i) => ( + +
+
+ +
+
+ +
+
+
+

{name}

+

Artist

+
+ + )) + )} +
+
+ ); +} + diff --git a/frontend/components/AddToPlaylistModal.tsx b/frontend/components/AddToPlaylistModal.tsx index 8009d17..d35d2d0 100644 --- a/frontend/components/AddToPlaylistModal.tsx +++ b/frontend/components/AddToPlaylistModal.tsx @@ -1,102 +1,102 @@ -"use client"; - -import { useEffect, useState } from "react"; -import { Plus, X } from "lucide-react"; - -interface AddToPlaylistModalProps { - track: any; - isOpen: boolean; - onClose: () => void; -} - -export default function AddToPlaylistModal({ track, isOpen, onClose }: AddToPlaylistModalProps) { - const [playlists, setPlaylists] = useState([]); - - useEffect(() => { - if (isOpen) { - const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; - fetch(`${apiUrl}/api/playlists`) - .then(res => res.json()) - .then(data => setPlaylists(data)) - .catch(err => console.error(err)); - } - }, [isOpen]); - - const handleAddToPlaylist = async (playlistId: string) => { - try { - const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; - await fetch(`${apiUrl}/api/playlists/${playlistId}/tracks`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(track) - }); - alert(`Added to playlist!`); - onClose(); - } catch (error) { - console.error("Failed to add track:", error); - } - }; - - if (!isOpen) return null; - - return ( -
-
-
-

Add to Playlist

- -
- -
- {playlists.length === 0 ? ( -
No playlists found. Create one first!
- ) : ( - playlists.map((playlist) => ( -
handleAddToPlaylist(playlist.id)} - className="flex items-center gap-3 p-3 hover:bg-[#3e3e3e] rounded-md cursor-pointer transition text-white" - > -
- {playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( - - ) : ( - 🎵 - )} -
- {playlist.title} -
- )) - )} -
- -
- -
-
-
- ); -} +"use client"; + +import { useEffect, useState } from "react"; +import { Plus, X } from "lucide-react"; + +interface AddToPlaylistModalProps { + track: any; + isOpen: boolean; + onClose: () => void; +} + +export default function AddToPlaylistModal({ track, isOpen, onClose }: AddToPlaylistModalProps) { + const [playlists, setPlaylists] = useState([]); + + useEffect(() => { + if (isOpen) { + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + fetch(`${apiUrl}/api/playlists`) + .then(res => res.json()) + .then(data => setPlaylists(data)) + .catch(err => console.error(err)); + } + }, [isOpen]); + + const handleAddToPlaylist = async (playlistId: string) => { + try { + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + await fetch(`${apiUrl}/api/playlists/${playlistId}/tracks`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(track) + }); + alert(`Added to playlist!`); + onClose(); + } catch (error) { + console.error("Failed to add track:", error); + } + }; + + if (!isOpen) return null; + + return ( +
+
+
+

Add to Playlist

+ +
+ +
+ {playlists.length === 0 ? ( +
No playlists found. Create one first!
+ ) : ( + playlists.map((playlist) => ( +
handleAddToPlaylist(playlist.id)} + className="flex items-center gap-3 p-3 hover:bg-[#3e3e3e] rounded-md cursor-pointer transition text-white" + > +
+ {playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( + + ) : ( + 🎵 + )} +
+ {playlist.title} +
+ )) + )} +
+ +
+ +
+
+
+ ); +} diff --git a/frontend/components/LyricsDetail.tsx b/frontend/components/LyricsDetail.tsx index 15ccbdc..a5e22d0 100644 --- a/frontend/components/LyricsDetail.tsx +++ b/frontend/components/LyricsDetail.tsx @@ -1,150 +1,150 @@ -import React, { useEffect, useState, useRef } from 'react'; - -interface Metric { - time: number; - text: string; -} - -interface LyricsDetailProps { - track: any; - currentTime: number; - onClose: () => void; - onSeek?: (time: number) => void; - isInSidebar?: boolean; -} - -const LyricsDetail: React.FC = ({ track, currentTime, onClose, onSeek, isInSidebar = false }) => { - const [lyrics, setLyrics] = useState([]); - const [isLoading, setIsLoading] = useState(false); - const scrollContainerRef = useRef(null); - const activeLineRef = useRef(null); - - // Fetch Lyrics on Track Change - useEffect(() => { - const fetchLyrics = async () => { - if (!track) return; - - setIsLoading(true); - try { - // Pass title and artist for LRCLIB fallback - const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; - const url = `${apiUrl}/api/lyrics?id=${track.id}&title=${encodeURIComponent(track.title)}&artist=${encodeURIComponent(track.artist)}`; - const res = await fetch(url); - const data = await res.json(); - setLyrics(data || []); - } catch (error) { - console.error("Error fetching lyrics:", error); - setLyrics([]); - } finally { - setIsLoading(false); - } - }; - - fetchLyrics(); - }, [track?.id]); - - // Find active line index - const activeIndex = lyrics.findIndex((line, index) => { - const nextLine = lyrics[index + 1]; - // Removing large offset to match music exactly. - // using small buffer (0.05) just for rounding safety - const timeWithOffset = currentTime + 0.05; - return timeWithOffset >= line.time && (!nextLine || timeWithOffset < nextLine.time); - }); - - // Auto-scroll to active line - // Auto-scroll to active line - useEffect(() => { - if (activeLineRef.current && scrollContainerRef.current) { - const container = scrollContainerRef.current; - const activeLine = activeLineRef.current; - - // Calculate position to center (or offset) the active line - // Reverted to center (50%) as requested - const containerHeight = container.clientHeight; - const lineTop = activeLine.offsetTop; - const lineHeight = activeLine.offsetHeight; - - // Target scroll position: - // Line Top - (Screen Height * 0.50) + (Half Line Height) - const targetScrollTop = lineTop - (containerHeight * 0.50) + (lineHeight / 2); - - container.scrollTo({ - top: targetScrollTop, - behavior: 'smooth' - }); - } - }, [activeIndex]); - - if (!track) return null; - - return ( -
- {/* Header - only show when NOT in sidebar */} - {!isInSidebar && ( -
-
-

Lyrics

-

- {track.artist} -

-
- -
- )} - - {/* Lyrics Container */} -
- {isLoading ? ( -
-
-
- ) : lyrics.length === 0 ? ( -
-

Looks like we don't have lyrics for this song.

-

Enjoy the vibe!

-
- ) : ( -
{/* Reverted to center padding, added max-width */} - {lyrics.map((line, index) => { - const isActive = index === activeIndex; - const isPast = index < activeIndex; - - return ( -
{ - if (onSeek) onSeek(line.time); - }} - > - {line.text} -
- ); - })} -
- )} -
-
- ); -}; - -export default LyricsDetail; +import React, { useEffect, useState, useRef } from 'react'; + +interface Metric { + time: number; + text: string; +} + +interface LyricsDetailProps { + track: any; + currentTime: number; + onClose: () => void; + onSeek?: (time: number) => void; + isInSidebar?: boolean; +} + +const LyricsDetail: React.FC = ({ track, currentTime, onClose, onSeek, isInSidebar = false }) => { + const [lyrics, setLyrics] = useState([]); + const [isLoading, setIsLoading] = useState(false); + const scrollContainerRef = useRef(null); + const activeLineRef = useRef(null); + + // Fetch Lyrics on Track Change + useEffect(() => { + const fetchLyrics = async () => { + if (!track) return; + + setIsLoading(true); + try { + // Pass title and artist for LRCLIB fallback + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + const url = `${apiUrl}/api/lyrics?id=${track.id}&title=${encodeURIComponent(track.title)}&artist=${encodeURIComponent(track.artist)}`; + const res = await fetch(url); + const data = await res.json(); + setLyrics(data || []); + } catch (error) { + console.error("Error fetching lyrics:", error); + setLyrics([]); + } finally { + setIsLoading(false); + } + }; + + fetchLyrics(); + }, [track?.id]); + + // Find active line index + const activeIndex = lyrics.findIndex((line, index) => { + const nextLine = lyrics[index + 1]; + // Removing large offset to match music exactly. + // using small buffer (0.05) just for rounding safety + const timeWithOffset = currentTime + 0.05; + return timeWithOffset >= line.time && (!nextLine || timeWithOffset < nextLine.time); + }); + + // Auto-scroll to active line + // Auto-scroll to active line + useEffect(() => { + if (activeLineRef.current && scrollContainerRef.current) { + const container = scrollContainerRef.current; + const activeLine = activeLineRef.current; + + // Calculate position to center (or offset) the active line + // Reverted to center (50%) as requested + const containerHeight = container.clientHeight; + const lineTop = activeLine.offsetTop; + const lineHeight = activeLine.offsetHeight; + + // Target scroll position: + // Line Top - (Screen Height * 0.50) + (Half Line Height) + const targetScrollTop = lineTop - (containerHeight * 0.50) + (lineHeight / 2); + + container.scrollTo({ + top: targetScrollTop, + behavior: 'smooth' + }); + } + }, [activeIndex]); + + if (!track) return null; + + return ( +
+ {/* Header - only show when NOT in sidebar */} + {!isInSidebar && ( +
+
+

Lyrics

+

+ {track.artist} +

+
+ +
+ )} + + {/* Lyrics Container */} +
+ {isLoading ? ( +
+
+
+ ) : lyrics.length === 0 ? ( +
+

Looks like we don't have lyrics for this song.

+

Enjoy the vibe!

+
+ ) : ( +
{/* Reverted to center padding, added max-width */} + {lyrics.map((line, index) => { + const isActive = index === activeIndex; + const isPast = index < activeIndex; + + return ( +
{ + if (onSeek) onSeek(line.time); + }} + > + {line.text} +
+ ); + })} +
+ )} +
+
+ ); +}; + +export default LyricsDetail; diff --git a/frontend/components/MobileNav.tsx b/frontend/components/MobileNav.tsx index 242db2a..549ae71 100644 --- a/frontend/components/MobileNav.tsx +++ b/frontend/components/MobileNav.tsx @@ -1,30 +1,30 @@ -"use client"; - -import { Home, Search, Library } from "lucide-react"; -import Link from "next/link"; -import { usePathname } from "next/navigation"; - -export default function MobileNav() { - const pathname = usePathname(); - - const isActive = (path: string) => pathname === path; - - return ( -
- - - Home - - - - - Search - - - - - Library - -
- ); -} +"use client"; + +import { Home, Search, Library } from "lucide-react"; +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +export default function MobileNav() { + const pathname = usePathname(); + + const isActive = (path: string) => pathname === path; + + return ( +
+ + + Home + + + + + Search + + + + + Library + +
+ ); +} diff --git a/frontend/components/PlayerBar.tsx b/frontend/components/PlayerBar.tsx index b7ab4dc..68ba0b9 100644 --- a/frontend/components/PlayerBar.tsx +++ b/frontend/components/PlayerBar.tsx @@ -11,6 +11,7 @@ import LyricsDetail from './LyricsDetail'; export default function PlayerBar() { const { currentTrack, isPlaying, isBuffering, togglePlay, setBuffering, likedTracks, toggleLike, nextTrack, prevTrack, shuffle, toggleShuffle, repeatMode, toggleRepeat, audioQuality, isLyricsOpen, toggleLyrics } = usePlayer(); const audioRef = useRef(null); + const wakeLockRef = useRef(null); const [progress, setProgress] = useState(0); const [duration, setDuration] = useState(0); const [volume, setVolume] = useState(1); @@ -22,6 +23,70 @@ export default function PlayerBar() { const [isFullScreenPlayerOpen, setIsFullScreenPlayerOpen] = useState(false); const [isCoverModalOpen, setIsCoverModalOpen] = useState(false); + // Wake Lock API - Keeps device awake during playback (for FiiO/Android) + useEffect(() => { + const requestWakeLock = async () => { + if ('wakeLock' in navigator && isPlaying) { + try { + wakeLockRef.current = await navigator.wakeLock.request('screen'); + console.log('Wake Lock acquired for background playback'); + + wakeLockRef.current.addEventListener('release', () => { + console.log('Wake Lock released'); + }); + } catch (err) { + console.log('Wake Lock not available:', err); + } + } + }; + + const releaseWakeLock = async () => { + if (wakeLockRef.current) { + await wakeLockRef.current.release(); + wakeLockRef.current = null; + } + }; + + if (isPlaying) { + requestWakeLock(); + } else { + releaseWakeLock(); + } + + // Re-acquire wake lock when page becomes visible again + const handleVisibilityChange = async () => { + if (document.visibilityState === 'visible' && isPlaying) { + await requestWakeLock(); + } + }; + + document.addEventListener('visibilitychange', handleVisibilityChange); + + return () => { + releaseWakeLock(); + document.removeEventListener('visibilitychange', handleVisibilityChange); + }; + }, [isPlaying]); + + // Prevent audio pause on visibility change (screen off) - Critical for FiiO + useEffect(() => { + const handleVisibilityChange = () => { + // When screen turns off, Android might pause audio + // We explicitly resume if we should be playing + if (document.visibilityState === 'hidden' && isPlaying && audioRef.current) { + // Use setTimeout to ensure audio continues after visibility change + setTimeout(() => { + if (audioRef.current && audioRef.current.paused && isPlaying) { + audioRef.current.play().catch(e => console.log('Resume on hidden:', e)); + } + }, 100); + } + }; + + document.addEventListener('visibilitychange', handleVisibilityChange); + return () => document.removeEventListener('visibilitychange', handleVisibilityChange); + }, [isPlaying]); + useEffect(() => { if (currentTrack && audioRef.current && currentTrack.url) { // Prevent reloading if URL hasn't changed diff --git a/frontend/components/ServiceWorkerRegistration.tsx b/frontend/components/ServiceWorkerRegistration.tsx new file mode 100644 index 0000000..39721dd --- /dev/null +++ b/frontend/components/ServiceWorkerRegistration.tsx @@ -0,0 +1,20 @@ +"use client"; + +import { useEffect } from "react"; + +export default function ServiceWorkerRegistration() { + useEffect(() => { + if ("serviceWorker" in navigator) { + navigator.serviceWorker + .register("/sw.js") + .then((registration) => { + console.log("Service Worker registered:", registration.scope); + }) + .catch((error) => { + console.error("Service Worker registration failed:", error); + }); + } + }, []); + + return null; +} diff --git a/frontend/components/Sidebar.tsx b/frontend/components/Sidebar.tsx index b53999a..81c06c6 100644 --- a/frontend/components/Sidebar.tsx +++ b/frontend/components/Sidebar.tsx @@ -1,232 +1,232 @@ -"use client"; - -import { Home, Search, Library, Plus, Heart, RefreshCcw } from "lucide-react"; -import Link from "next/link"; -import { usePlayer } from "@/context/PlayerContext"; -import { useState } from "react"; -import CreatePlaylistModal from "./CreatePlaylistModal"; -import { dbService } from "@/services/db"; -import { useLibrary } from "@/context/LibraryContext"; -import Logo from "./Logo"; -import CoverImage from "./CoverImage"; - -export default function Sidebar() { - const { likedTracks } = usePlayer(); - const { userPlaylists, libraryItems, refreshLibrary: refresh, activeFilter, setActiveFilter } = useLibrary(); - const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); - const [isUpdating, setIsUpdating] = useState(false); - const [updateStatus, setUpdateStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); - - const handleCreatePlaylist = async (name: string) => { - await dbService.createPlaylist(name); - refresh(); - }; - - const handleDeletePlaylist = async (e: React.MouseEvent, id: string) => { - e.preventDefault(); - e.stopPropagation(); - if (confirm("Delete this playlist?")) { - await dbService.deletePlaylist(id); - refresh(); - } - }; - - const handleUpdateYtdlp = async () => { - if (isUpdating) return; - setIsUpdating(true); - setUpdateStatus('loading'); - try { - const response = await fetch('/api/system/update-ytdlp', { method: 'POST' }); - if (response.ok) { - setUpdateStatus('success'); - setTimeout(() => setUpdateStatus('idle'), 5000); - } else { - setUpdateStatus('error'); - } - } catch (error) { - console.error("Failed to update yt-dlp:", error); - setUpdateStatus('error'); - } finally { - setIsUpdating(false); - } - }; - - // Filtering Logic - const showPlaylists = activeFilter === 'all' || activeFilter === 'playlists'; - const showArtists = activeFilter === 'all' || activeFilter === 'artists'; - const showAlbums = activeFilter === 'all' || activeFilter === 'albums'; - - const artists = libraryItems.filter(i => i.type === 'Artist'); - const albums = libraryItems.filter(i => i.type === 'Album'); - const browsePlaylists = libraryItems.filter(i => i.type === 'Playlist'); - - return ( - - ); -} - +"use client"; + +import { Home, Search, Library, Plus, Heart, RefreshCcw } from "lucide-react"; +import Link from "next/link"; +import { usePlayer } from "@/context/PlayerContext"; +import { useState } from "react"; +import CreatePlaylistModal from "./CreatePlaylistModal"; +import { dbService } from "@/services/db"; +import { useLibrary } from "@/context/LibraryContext"; +import Logo from "./Logo"; +import CoverImage from "./CoverImage"; + +export default function Sidebar() { + const { likedTracks } = usePlayer(); + const { userPlaylists, libraryItems, refreshLibrary: refresh, activeFilter, setActiveFilter } = useLibrary(); + const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); + const [isUpdating, setIsUpdating] = useState(false); + const [updateStatus, setUpdateStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); + + const handleCreatePlaylist = async (name: string) => { + await dbService.createPlaylist(name); + refresh(); + }; + + const handleDeletePlaylist = async (e: React.MouseEvent, id: string) => { + e.preventDefault(); + e.stopPropagation(); + if (confirm("Delete this playlist?")) { + await dbService.deletePlaylist(id); + refresh(); + } + }; + + const handleUpdateYtdlp = async () => { + if (isUpdating) return; + setIsUpdating(true); + setUpdateStatus('loading'); + try { + const response = await fetch('/api/system/update-ytdlp', { method: 'POST' }); + if (response.ok) { + setUpdateStatus('success'); + setTimeout(() => setUpdateStatus('idle'), 5000); + } else { + setUpdateStatus('error'); + } + } catch (error) { + console.error("Failed to update yt-dlp:", error); + setUpdateStatus('error'); + } finally { + setIsUpdating(false); + } + }; + + // Filtering Logic + const showPlaylists = activeFilter === 'all' || activeFilter === 'playlists'; + const showArtists = activeFilter === 'all' || activeFilter === 'artists'; + const showAlbums = activeFilter === 'all' || activeFilter === 'albums'; + + const artists = libraryItems.filter(i => i.type === 'Artist'); + const albums = libraryItems.filter(i => i.type === 'Album'); + const browsePlaylists = libraryItems.filter(i => i.type === 'Playlist'); + + return ( + + ); +} + diff --git a/frontend/context/LibraryContext.tsx b/frontend/context/LibraryContext.tsx index 7507037..93644c2 100644 --- a/frontend/context/LibraryContext.tsx +++ b/frontend/context/LibraryContext.tsx @@ -1,151 +1,151 @@ - -"use client"; - -import React, { createContext, useContext, useState, useEffect } from "react"; -import { dbService, Playlist } from "@/services/db"; -import { libraryService } from "@/services/library"; - -type FilterType = 'all' | 'playlists' | 'artists' | 'albums'; - -interface LibraryContextType { - userPlaylists: Playlist[]; - libraryItems: any[]; - activeFilter: FilterType; - setActiveFilter: (filter: FilterType) => void; - refreshLibrary: () => Promise; -} - -const LibraryContext = createContext(undefined); - -export function LibraryProvider({ children }: { children: React.ReactNode }) { - const [userPlaylists, setUserPlaylists] = useState([]); - const [libraryItems, setLibraryItems] = useState([]); - const [activeFilter, setActiveFilter] = useState('all'); - - const fetchAllData = async () => { - try { - // 1. User Playlists - const playlists = await dbService.getPlaylists(); - setUserPlaylists(playlists); - - // 2. Local/Backend Content - const browse = await libraryService.getBrowseContent(); - // Deduplicate by ID to avoid React duplicate key warnings - const browsePlaylistsRaw = Object.values(browse).flat(); - const seenIds = new Map(); - const browsePlaylists = browsePlaylistsRaw.filter((p: any) => { - if (seenIds.has(p.id)) return false; - seenIds.set(p.id, true); - return true; - }); - - const artistsMap = new Map(); - const albumsMap = new Map(); - const allTracks: any[] = []; - - // 3. Extract metadata - browsePlaylists.forEach((p: any) => { - if (p.tracks) { - p.tracks.forEach((t: any) => { - allTracks.push(t); - // Fake Artist - if (artistsMap.size < 40 && t.artist && t.artist !== 'Unknown Artist' && t.artist !== 'Unknown') { - if (!artistsMap.has(t.artist)) { - artistsMap.set(t.artist, { - id: `artist-${t.artist}`, - title: t.artist, - type: 'Artist', - cover_url: t.cover_url - }); - } - } - // Fake Album - if (albumsMap.size < 40 && t.album && t.album !== 'Single' && t.album !== 'Unknown Album') { - if (!albumsMap.has(t.album)) { - albumsMap.set(t.album, { - id: `album-${t.album}`, - title: t.album, - type: 'Album', - creator: t.artist, - cover_url: t.cover_url - }); - } - } - }); - } - }); - - // 4. Generate Fake Extra Playlists (Creative Names) - const fakePlaylists = [...browsePlaylists]; - const targetCount = 40; - const needed = targetCount - fakePlaylists.length; - - const creativeNames = [ - "Chill Vibes", "Late Night Focus", "Workout Energy", "Road Trip Classics", - "Indie Mix", "Pop Hits", "Throwback Thursday", "Weekend Flow", - "Deep Focus", "Party Anthems", "Jazz & Blues", "Acoustic Sessions", - "Morning Coffee", "Rainy Day", "Sleep Sounds", "Gaming Beats", - "Coding Mode", "Summer Hits", "Winter Lo-Fi", "Discover Weekly", - "Release Radar", "On Repeat", "Time Capsule", "Viral 50", - "Global Top 50", "Trending Now", "Fresh Finds", "Audiobook Mode", - "Podcast Favorites", "Rock Classics", "Metal Essentials", "Hip Hop Gold", - "Electronic Dreams", "Ambient Spaces", "Classical Masterpieces", "Country Roads" - ]; - - if (needed > 0 && allTracks.length > 0) { - const shuffle = (array: any[]) => array.sort(() => 0.5 - Math.random()); - - for (let i = 0; i < needed; i++) { - const shuffled = shuffle([...allTracks]); - const selected = shuffled.slice(0, 8 + Math.floor(Math.random() * 12)); - const cover = selected[0]?.cover_url; - const name = creativeNames[i] || `Daily Mix ${i + 1}`; - - fakePlaylists.push({ - id: `mix-${i}`, - title: name, - description: `Curated just for you • ${selected.length} songs`, - cover_url: cover, - tracks: selected, - type: 'Playlist' - }); - } - } - - const uniqueItems = [ - ...fakePlaylists.map(p => ({ ...p, type: 'Playlist' })), - ...Array.from(artistsMap.values()), - ...Array.from(albumsMap.values()) - ]; - - setLibraryItems(uniqueItems); - - } catch (err) { - console.error(err); - } - }; - - useEffect(() => { - fetchAllData(); - }, []); - - return ( - - {children} - - ); -} - -export function useLibrary() { - const context = useContext(LibraryContext); - if (context === undefined) { - throw new Error("useLibrary must be used within a LibraryProvider"); - } - return context; -} + +"use client"; + +import React, { createContext, useContext, useState, useEffect } from "react"; +import { dbService, Playlist } from "@/services/db"; +import { libraryService } from "@/services/library"; + +type FilterType = 'all' | 'playlists' | 'artists' | 'albums'; + +interface LibraryContextType { + userPlaylists: Playlist[]; + libraryItems: any[]; + activeFilter: FilterType; + setActiveFilter: (filter: FilterType) => void; + refreshLibrary: () => Promise; +} + +const LibraryContext = createContext(undefined); + +export function LibraryProvider({ children }: { children: React.ReactNode }) { + const [userPlaylists, setUserPlaylists] = useState([]); + const [libraryItems, setLibraryItems] = useState([]); + const [activeFilter, setActiveFilter] = useState('all'); + + const fetchAllData = async () => { + try { + // 1. User Playlists + const playlists = await dbService.getPlaylists(); + setUserPlaylists(playlists); + + // 2. Local/Backend Content + const browse = await libraryService.getBrowseContent(); + // Deduplicate by ID to avoid React duplicate key warnings + const browsePlaylistsRaw = Object.values(browse).flat(); + const seenIds = new Map(); + const browsePlaylists = browsePlaylistsRaw.filter((p: any) => { + if (seenIds.has(p.id)) return false; + seenIds.set(p.id, true); + return true; + }); + + const artistsMap = new Map(); + const albumsMap = new Map(); + const allTracks: any[] = []; + + // 3. Extract metadata + browsePlaylists.forEach((p: any) => { + if (p.tracks) { + p.tracks.forEach((t: any) => { + allTracks.push(t); + // Fake Artist + if (artistsMap.size < 40 && t.artist && t.artist !== 'Unknown Artist' && t.artist !== 'Unknown') { + if (!artistsMap.has(t.artist)) { + artistsMap.set(t.artist, { + id: `artist-${t.artist}`, + title: t.artist, + type: 'Artist', + cover_url: t.cover_url + }); + } + } + // Fake Album + if (albumsMap.size < 40 && t.album && t.album !== 'Single' && t.album !== 'Unknown Album') { + if (!albumsMap.has(t.album)) { + albumsMap.set(t.album, { + id: `album-${t.album}`, + title: t.album, + type: 'Album', + creator: t.artist, + cover_url: t.cover_url + }); + } + } + }); + } + }); + + // 4. Generate Fake Extra Playlists (Creative Names) + const fakePlaylists = [...browsePlaylists]; + const targetCount = 40; + const needed = targetCount - fakePlaylists.length; + + const creativeNames = [ + "Chill Vibes", "Late Night Focus", "Workout Energy", "Road Trip Classics", + "Indie Mix", "Pop Hits", "Throwback Thursday", "Weekend Flow", + "Deep Focus", "Party Anthems", "Jazz & Blues", "Acoustic Sessions", + "Morning Coffee", "Rainy Day", "Sleep Sounds", "Gaming Beats", + "Coding Mode", "Summer Hits", "Winter Lo-Fi", "Discover Weekly", + "Release Radar", "On Repeat", "Time Capsule", "Viral 50", + "Global Top 50", "Trending Now", "Fresh Finds", "Audiobook Mode", + "Podcast Favorites", "Rock Classics", "Metal Essentials", "Hip Hop Gold", + "Electronic Dreams", "Ambient Spaces", "Classical Masterpieces", "Country Roads" + ]; + + if (needed > 0 && allTracks.length > 0) { + const shuffle = (array: any[]) => array.sort(() => 0.5 - Math.random()); + + for (let i = 0; i < needed; i++) { + const shuffled = shuffle([...allTracks]); + const selected = shuffled.slice(0, 8 + Math.floor(Math.random() * 12)); + const cover = selected[0]?.cover_url; + const name = creativeNames[i] || `Daily Mix ${i + 1}`; + + fakePlaylists.push({ + id: `mix-${i}`, + title: name, + description: `Curated just for you • ${selected.length} songs`, + cover_url: cover, + tracks: selected, + type: 'Playlist' + }); + } + } + + const uniqueItems = [ + ...fakePlaylists.map(p => ({ ...p, type: 'Playlist' })), + ...Array.from(artistsMap.values()), + ...Array.from(albumsMap.values()) + ]; + + setLibraryItems(uniqueItems); + + } catch (err) { + console.error(err); + } + }; + + useEffect(() => { + fetchAllData(); + }, []); + + return ( + + {children} + + ); +} + +export function useLibrary() { + const context = useContext(LibraryContext); + if (context === undefined) { + throw new Error("useLibrary must be used within a LibraryProvider"); + } + return context; +} diff --git a/frontend/context/PlayerContext.tsx b/frontend/context/PlayerContext.tsx index c84d0f1..63a46c2 100644 --- a/frontend/context/PlayerContext.tsx +++ b/frontend/context/PlayerContext.tsx @@ -1,279 +1,279 @@ -"use client"; - -import { createContext, useContext, useState, useEffect, ReactNode } from "react"; -import { dbService } from "@/services/db"; -import { Track, AudioQuality } from "@/types"; -import * as mm from 'music-metadata-browser'; - -interface PlayerContextType { - currentTrack: Track | null; - isPlaying: boolean; - isBuffering: boolean; - likedTracks: Set; - likedTracksData: Track[]; - shuffle: boolean; - repeatMode: 'none' | 'all' | 'one'; - playTrack: (track: Track, queue?: Track[]) => void; - togglePlay: () => void; - nextTrack: () => void; - prevTrack: () => void; - toggleShuffle: () => void; - toggleRepeat: () => void; - setBuffering: (state: boolean) => void; - toggleLike: (track: Track) => void; - playHistory: Track[]; - audioQuality: AudioQuality | null; - // Lyrics panel state - isLyricsOpen: boolean; - toggleLyrics: () => void; -} - -const PlayerContext = createContext(undefined); - -export function PlayerProvider({ children }: { children: ReactNode }) { - const [currentTrack, setCurrentTrack] = useState(null); - const [isPlaying, setIsPlaying] = useState(false); - const [isBuffering, setIsBuffering] = useState(false); - const [likedTracks, setLikedTracks] = useState>(new Set()); - const [likedTracksData, setLikedTracksData] = useState([]); - - // Audio Engine State - const [audioQuality, setAudioQuality] = useState(null); - const [preloadedBlobs, setPreloadedBlobs] = useState>(new Map()); - - // Queue State - const [queue, setQueue] = useState([]); - const [currentIndex, setCurrentIndex] = useState(-1); - const [shuffle, setShuffle] = useState(false); - const [repeatMode, setRepeatMode] = useState<'none' | 'all' | 'one'>('none'); - - // History State - const [playHistory, setPlayHistory] = useState([]); - - // Lyrics Panel State - const [isLyricsOpen, setIsLyricsOpen] = useState(false); - const toggleLyrics = () => setIsLyricsOpen(prev => !prev); - - // Load Likes from DB - useEffect(() => { - dbService.getLikedSongs().then(tracks => { - setLikedTracks(new Set(tracks.map(t => t.id))); - setLikedTracksData(tracks); - }); - }, []); - - // Load History from LocalStorage - useEffect(() => { - try { - const saved = localStorage.getItem('playHistory'); - if (saved) { - setPlayHistory(JSON.parse(saved)); - } - } catch (e) { - console.error("Failed to load history", e); - } - }, []); - - // Save History - useEffect(() => { - localStorage.setItem('playHistory', JSON.stringify(playHistory)); - }, [playHistory]); - - // Metadata & Preloading Effect - useEffect(() => { - if (!currentTrack) return; - - // 1. Reset Quality - setAudioQuality(null); - - // 2. Parse Metadata for Current Track - const parseMetadata = async () => { - try { - // Skip metadata parsing for backend streams AND external URLs (YouTube) to avoid CORS/Double-fetch - if (currentTrack.url && (currentTrack.url.includes('/api/stream') || currentTrack.url.startsWith('http'))) { - setAudioQuality({ - format: 'WEBM/OPUS', // YT Music typically - sampleRate: 48000, - bitrate: 128000, - channels: 2, - codec: 'Opus' - }); - return; - } - - if (currentTrack.url) { - // Note: In a real scenario, we might need a proxy or CORS-enabled server. - // music-metadata-browser fetches the file. - const metadata = await mm.fetchFromUrl(currentTrack.url); - setAudioQuality({ - format: metadata.format.container || 'Unknown', - sampleRate: metadata.format.sampleRate || 44100, - bitDepth: metadata.format.bitsPerSample, - bitrate: metadata.format.bitrate || 0, - channels: metadata.format.numberOfChannels || 2, - codec: metadata.format.codec - }); - } - } catch (e) { - console.warn("Failed to parse metadata", e); - // Fallback mock if parsing fails (likely due to CORS on sample URL) - setAudioQuality({ - format: 'MP3', - sampleRate: 44100, - bitrate: 320000, - channels: 2, - codec: 'MPEG-1 Layer 3' - }); - } - }; - parseMetadata(); - - // 3. Smart Buffering (Preload Next 2 Tracks) - const preloadNext = async () => { - if (queue.length === 0) return; - const index = queue.findIndex(t => t.id === currentTrack.id); - if (index === -1) return; - - const nextTracks = queue.slice(index + 1, index + 3); - nextTracks.forEach(async (track) => { - if (!preloadedBlobs.has(track.id) && track.url) { - try { - // Construct the correct stream URL for preloading if it's external - const fetchUrl = track.url.startsWith('http') ? `/api/stream?id=${track.id}` : track.url; - - const res = await fetch(fetchUrl); - if (!res.ok) throw new Error("Fetch failed"); - const blob = await res.blob(); - const blobUrl = URL.createObjectURL(blob); - setPreloadedBlobs(prev => new Map(prev).set(track.id, blobUrl)); - console.log(`Buffered ${track.title}`); - } catch (e) { - // console.warn(`Failed to buffer ${track.title}`); - } - } - }); - }; - preloadNext(); - - }, [currentTrack, queue, preloadedBlobs]); - - - const playTrack = (track: Track, newQueue?: Track[]) => { - if (currentTrack?.id !== track.id) { - setIsBuffering(true); - - // Add to History (prevent duplicates at top) - setPlayHistory(prev => { - const filtered = prev.filter(t => t.id !== track.id); - return [track, ...filtered].slice(0, 20); // Keep last 20 - }); - } - setCurrentTrack(track); - setIsPlaying(true); - - if (newQueue) { - setQueue(newQueue); - const index = newQueue.findIndex(t => t.id === track.id); - setCurrentIndex(index); - } - }; - - const togglePlay = () => { - setIsPlaying((prev) => !prev); - }; - - const nextTrack = () => { - if (queue.length === 0) return; - - let nextIndex = currentIndex + 1; - if (shuffle) { - nextIndex = Math.floor(Math.random() * queue.length); - } else if (nextIndex >= queue.length) { - if (repeatMode === 'all') nextIndex = 0; - else return; // Stop if end of queue and no repeat - } - - playTrack(queue[nextIndex]); - setCurrentIndex(nextIndex); - }; - - const prevTrack = () => { - if (queue.length === 0) return; - let prevIndex = currentIndex - 1; - if (prevIndex < 0) prevIndex = 0; // Or wrap around if desired - playTrack(queue[prevIndex]); - setCurrentIndex(prevIndex); - }; - - const toggleShuffle = () => setShuffle(prev => !prev); - - const toggleRepeat = () => { - setRepeatMode(prev => { - if (prev === 'none') return 'all'; - if (prev === 'all') return 'one'; - return 'none'; - }); - }; - - const setBuffering = (state: boolean) => setIsBuffering(state); - - const toggleLike = async (track: Track) => { - const isNowLiked = await dbService.toggleLike(track); - - setLikedTracks(prev => { - const next = new Set(prev); - if (isNowLiked) next.add(track.id); - else next.delete(track.id); - return next; - }); - - setLikedTracksData(prev => { - if (!isNowLiked) { - return prev.filter(t => t.id !== track.id); - } else { - return [...prev, track]; - } - }); - }; - - const effectiveCurrentTrack = currentTrack ? { - ...currentTrack, - // improved URL logic: usage of backend API if no local blob - url: preloadedBlobs.get(currentTrack.id) || - (currentTrack.url && currentTrack.url.startsWith('/') ? currentTrack.url : `/api/stream?id=${currentTrack.id}`) - } : null; - - return ( - - {children} - - ); -} - -export function usePlayer() { - const context = useContext(PlayerContext); - if (context === undefined) { - throw new Error("usePlayer must be used within a PlayerProvider"); - } - return context; -} +"use client"; + +import { createContext, useContext, useState, useEffect, ReactNode } from "react"; +import { dbService } from "@/services/db"; +import { Track, AudioQuality } from "@/types"; +import * as mm from 'music-metadata-browser'; + +interface PlayerContextType { + currentTrack: Track | null; + isPlaying: boolean; + isBuffering: boolean; + likedTracks: Set; + likedTracksData: Track[]; + shuffle: boolean; + repeatMode: 'none' | 'all' | 'one'; + playTrack: (track: Track, queue?: Track[]) => void; + togglePlay: () => void; + nextTrack: () => void; + prevTrack: () => void; + toggleShuffle: () => void; + toggleRepeat: () => void; + setBuffering: (state: boolean) => void; + toggleLike: (track: Track) => void; + playHistory: Track[]; + audioQuality: AudioQuality | null; + // Lyrics panel state + isLyricsOpen: boolean; + toggleLyrics: () => void; +} + +const PlayerContext = createContext(undefined); + +export function PlayerProvider({ children }: { children: ReactNode }) { + const [currentTrack, setCurrentTrack] = useState(null); + const [isPlaying, setIsPlaying] = useState(false); + const [isBuffering, setIsBuffering] = useState(false); + const [likedTracks, setLikedTracks] = useState>(new Set()); + const [likedTracksData, setLikedTracksData] = useState([]); + + // Audio Engine State + const [audioQuality, setAudioQuality] = useState(null); + const [preloadedBlobs, setPreloadedBlobs] = useState>(new Map()); + + // Queue State + const [queue, setQueue] = useState([]); + const [currentIndex, setCurrentIndex] = useState(-1); + const [shuffle, setShuffle] = useState(false); + const [repeatMode, setRepeatMode] = useState<'none' | 'all' | 'one'>('none'); + + // History State + const [playHistory, setPlayHistory] = useState([]); + + // Lyrics Panel State + const [isLyricsOpen, setIsLyricsOpen] = useState(false); + const toggleLyrics = () => setIsLyricsOpen(prev => !prev); + + // Load Likes from DB + useEffect(() => { + dbService.getLikedSongs().then(tracks => { + setLikedTracks(new Set(tracks.map(t => t.id))); + setLikedTracksData(tracks); + }); + }, []); + + // Load History from LocalStorage + useEffect(() => { + try { + const saved = localStorage.getItem('playHistory'); + if (saved) { + setPlayHistory(JSON.parse(saved)); + } + } catch (e) { + console.error("Failed to load history", e); + } + }, []); + + // Save History + useEffect(() => { + localStorage.setItem('playHistory', JSON.stringify(playHistory)); + }, [playHistory]); + + // Metadata & Preloading Effect + useEffect(() => { + if (!currentTrack) return; + + // 1. Reset Quality + setAudioQuality(null); + + // 2. Parse Metadata for Current Track + const parseMetadata = async () => { + try { + // Skip metadata parsing for backend streams AND external URLs (YouTube) to avoid CORS/Double-fetch + if (currentTrack.url && (currentTrack.url.includes('/api/stream') || currentTrack.url.startsWith('http'))) { + setAudioQuality({ + format: 'WEBM/OPUS', // YT Music typically + sampleRate: 48000, + bitrate: 128000, + channels: 2, + codec: 'Opus' + }); + return; + } + + if (currentTrack.url) { + // Note: In a real scenario, we might need a proxy or CORS-enabled server. + // music-metadata-browser fetches the file. + const metadata = await mm.fetchFromUrl(currentTrack.url); + setAudioQuality({ + format: metadata.format.container || 'Unknown', + sampleRate: metadata.format.sampleRate || 44100, + bitDepth: metadata.format.bitsPerSample, + bitrate: metadata.format.bitrate || 0, + channels: metadata.format.numberOfChannels || 2, + codec: metadata.format.codec + }); + } + } catch (e) { + console.warn("Failed to parse metadata", e); + // Fallback mock if parsing fails (likely due to CORS on sample URL) + setAudioQuality({ + format: 'MP3', + sampleRate: 44100, + bitrate: 320000, + channels: 2, + codec: 'MPEG-1 Layer 3' + }); + } + }; + parseMetadata(); + + // 3. Smart Buffering (Preload Next 2 Tracks) + const preloadNext = async () => { + if (queue.length === 0) return; + const index = queue.findIndex(t => t.id === currentTrack.id); + if (index === -1) return; + + const nextTracks = queue.slice(index + 1, index + 3); + nextTracks.forEach(async (track) => { + if (!preloadedBlobs.has(track.id) && track.url) { + try { + // Construct the correct stream URL for preloading if it's external + const fetchUrl = track.url.startsWith('http') ? `/api/stream?id=${track.id}` : track.url; + + const res = await fetch(fetchUrl); + if (!res.ok) throw new Error("Fetch failed"); + const blob = await res.blob(); + const blobUrl = URL.createObjectURL(blob); + setPreloadedBlobs(prev => new Map(prev).set(track.id, blobUrl)); + console.log(`Buffered ${track.title}`); + } catch (e) { + // console.warn(`Failed to buffer ${track.title}`); + } + } + }); + }; + preloadNext(); + + }, [currentTrack, queue, preloadedBlobs]); + + + const playTrack = (track: Track, newQueue?: Track[]) => { + if (currentTrack?.id !== track.id) { + setIsBuffering(true); + + // Add to History (prevent duplicates at top) + setPlayHistory(prev => { + const filtered = prev.filter(t => t.id !== track.id); + return [track, ...filtered].slice(0, 20); // Keep last 20 + }); + } + setCurrentTrack(track); + setIsPlaying(true); + + if (newQueue) { + setQueue(newQueue); + const index = newQueue.findIndex(t => t.id === track.id); + setCurrentIndex(index); + } + }; + + const togglePlay = () => { + setIsPlaying((prev) => !prev); + }; + + const nextTrack = () => { + if (queue.length === 0) return; + + let nextIndex = currentIndex + 1; + if (shuffle) { + nextIndex = Math.floor(Math.random() * queue.length); + } else if (nextIndex >= queue.length) { + if (repeatMode === 'all') nextIndex = 0; + else return; // Stop if end of queue and no repeat + } + + playTrack(queue[nextIndex]); + setCurrentIndex(nextIndex); + }; + + const prevTrack = () => { + if (queue.length === 0) return; + let prevIndex = currentIndex - 1; + if (prevIndex < 0) prevIndex = 0; // Or wrap around if desired + playTrack(queue[prevIndex]); + setCurrentIndex(prevIndex); + }; + + const toggleShuffle = () => setShuffle(prev => !prev); + + const toggleRepeat = () => { + setRepeatMode(prev => { + if (prev === 'none') return 'all'; + if (prev === 'all') return 'one'; + return 'none'; + }); + }; + + const setBuffering = (state: boolean) => setIsBuffering(state); + + const toggleLike = async (track: Track) => { + const isNowLiked = await dbService.toggleLike(track); + + setLikedTracks(prev => { + const next = new Set(prev); + if (isNowLiked) next.add(track.id); + else next.delete(track.id); + return next; + }); + + setLikedTracksData(prev => { + if (!isNowLiked) { + return prev.filter(t => t.id !== track.id); + } else { + return [...prev, track]; + } + }); + }; + + const effectiveCurrentTrack = currentTrack ? { + ...currentTrack, + // improved URL logic: usage of backend API if no local blob + url: preloadedBlobs.get(currentTrack.id) || + (currentTrack.url && currentTrack.url.startsWith('/') ? currentTrack.url : `/api/stream?id=${currentTrack.id}`) + } : null; + + return ( + + {children} + + ); +} + +export function usePlayer() { + const context = useContext(PlayerContext); + if (context === undefined) { + throw new Error("usePlayer must be used within a PlayerProvider"); + } + return context; +} diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs index 1834fd6..386d267 100644 --- a/frontend/next.config.mjs +++ b/frontend/next.config.mjs @@ -1,63 +1,63 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - // strict mode true is default but good to be explicit - // strict mode true is default but good to be explicit - reactStrictMode: true, - output: "standalone", - eslint: { - ignoreDuringBuilds: true, - }, - typescript: { - ignoreBuildErrors: true, - }, - async rewrites() { - return [ - // Backend API Proxies (Specific, so we don't block NextAuth at /api/auth) - { source: '/api/browse/:path*', destination: 'http://127.0.0.1:8000/api/browse/:path*' }, - { source: '/api/playlists/:path*', destination: 'http://127.0.0.1:8000/api/playlists/:path*' }, - { source: '/api/search', destination: 'http://127.0.0.1:8000/api/search' }, - { source: '/api/search/:path*', destination: 'http://127.0.0.1:8000/api/search/:path*' }, - { source: '/api/artist/:path*', destination: 'http://127.0.0.1:8000/api/artist/:path*' }, - { source: '/api/stream/:path*', destination: 'http://127.0.0.1:8000/api/stream/:path*' }, - { source: '/api/download/:path*', destination: 'http://127.0.0.1:8000/api/download/:path*' }, - { source: '/api/download-status/:path*', destination: 'http://127.0.0.1:8000/api/download-status/:path*' }, - { source: '/api/lyrics/:path*', destination: 'http://127.0.0.1:8000/api/lyrics/:path*' }, - { source: '/api/trending/:path*', destination: 'http://127.0.0.1:8000/api/trending/:path*' }, - { source: '/api/recommendations/:path*', destination: 'http://127.0.0.1:8000/api/recommendations/:path*' }, - ]; - }, - images: { - remotePatterns: [ - { - protocol: 'https', - hostname: 'i.ytimg.com', - }, - { - protocol: 'https', - hostname: 'lh3.googleusercontent.com', - }, - { - protocol: 'https', - hostname: 'yt3.googleusercontent.com', - }, - { - protocol: 'https', - hostname: 'yt3.ggpht.com', - }, - { - protocol: 'https', - hostname: 'placehold.co', - }, - { - protocol: 'https', - hostname: 'images.unsplash.com', - }, - { - protocol: 'https', - hostname: 'misc.scdn.co', - }, - ], - }, -}; - -export default nextConfig; +/** @type {import('next').NextConfig} */ +const nextConfig = { + // strict mode true is default but good to be explicit + // strict mode true is default but good to be explicit + reactStrictMode: true, + output: "standalone", + eslint: { + ignoreDuringBuilds: true, + }, + typescript: { + ignoreBuildErrors: true, + }, + async rewrites() { + return [ + // Backend API Proxies (Specific, so we don't block NextAuth at /api/auth) + { source: '/api/browse/:path*', destination: 'http://127.0.0.1:8000/api/browse/:path*' }, + { source: '/api/playlists/:path*', destination: 'http://127.0.0.1:8000/api/playlists/:path*' }, + { source: '/api/search', destination: 'http://127.0.0.1:8000/api/search' }, + { source: '/api/search/:path*', destination: 'http://127.0.0.1:8000/api/search/:path*' }, + { source: '/api/artist/:path*', destination: 'http://127.0.0.1:8000/api/artist/:path*' }, + { source: '/api/stream/:path*', destination: 'http://127.0.0.1:8000/api/stream/:path*' }, + { source: '/api/download/:path*', destination: 'http://127.0.0.1:8000/api/download/:path*' }, + { source: '/api/download-status/:path*', destination: 'http://127.0.0.1:8000/api/download-status/:path*' }, + { source: '/api/lyrics/:path*', destination: 'http://127.0.0.1:8000/api/lyrics/:path*' }, + { source: '/api/trending/:path*', destination: 'http://127.0.0.1:8000/api/trending/:path*' }, + { source: '/api/recommendations/:path*', destination: 'http://127.0.0.1:8000/api/recommendations/:path*' }, + ]; + }, + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: 'i.ytimg.com', + }, + { + protocol: 'https', + hostname: 'lh3.googleusercontent.com', + }, + { + protocol: 'https', + hostname: 'yt3.googleusercontent.com', + }, + { + protocol: 'https', + hostname: 'yt3.ggpht.com', + }, + { + protocol: 'https', + hostname: 'placehold.co', + }, + { + protocol: 'https', + hostname: 'images.unsplash.com', + }, + { + protocol: 'https', + hostname: 'misc.scdn.co', + }, + ], + }, +}; + +export default nextConfig; diff --git a/frontend/public/icons/icon-192x192.png b/frontend/public/icons/icon-192x192.png index 8fd8414e8da15dea6642527dfe38b32a86702f9b..2c5d0650682b80ce6bd0df2bb5ac41ef5a6c1b7c 100644 GIT binary patch delta 5274 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 delta 5718 zcma)AX*`r|-@eM46os;7lFDAzL>MXwAzOA+p=h#Yn;3J+GBP4jWZ!Se%|s|mM&Y)W zeH)1xim_zII%a*R=Y4+f^L~1N?}zjHaGmGxyq5Dgj{pBS-kl%Qc&Et)%DlWAUw)G- z=o*h62Jq(*7hP7^_fhn=-J3%0w$ip0tKw*p{m%qk6!xhp5Hm2q4FNSppF-X_+c`P_5LrHuM9^+*@H})OQ^Q*C}3kE`hO4b-wSLdU9ORgAnYL~O?26( z{N_Fr(VP3sEKC5=m-W)MU4nip{YQk4_ICmMM$^r0&D@{J52x0?Ii0%?20_{|t6P)_ zX7`5m#ROJpG2SjWr~N$duqJ`c`Q8*8I3Un#%GgBTgXH%ziU*Nm^Fqhe0}lIq$bKQeZp_uR$RuA_q+oB< zGP7A1W(z~e{WbUNYC9zuS)EAy{KI7&_$i^?cWIUw9EECW6^9gGU;}@)j;*7{-(>^U zsr@BvzzAzH*ecI3pj;RmY`NkYwmz(#$6c`dSr%u`sQC0}XQyjk>FpZ5d_H9uyFF#e zP1W$vhHB)l0ixy6O-ljP7FkaLx_;ytOUqFAn;MN6h>y^wCar9jP})G|cWz<+bqg4# zRgn6V0&Uy)2Y;batD#~XzmPR|hg9Dq$J%dld*#_ zdYH7W_a(3~w8A=XUhko+^sj5;X+)~^4h-UQK zP;d`TfZmc6tLDUCVWw!^%)E4B5-F&-SM$#JP#yeGlZs8@m$$%MU=^qcG*FBff_a4{ zKC!V5;2E{#>4&TMtM$%lq(%xyjE>s+2<5O&f~dY(!4|mSd(w_)J1u?V{nQ)#0eT=g zE=nzGWfMz$-o^%`7>bQERc+_$dZdoPj1FG@@q}IyspHWxv3AC0bn7eB`CWmJ_Eh57)Tu&M;;~~ItcUCh8_|D z>$>uWr}v|_u5R1R2+6$Grj-?~L^vjDRr&>7ZM5i9t`ici$*tsKMw!~cGQm3N>Nd39 zB7*{rf3Zj&YbU(S8@RVN!?#BbVk62PX%*9gc^-9sJA`Sr?>>;^efprF}5VSxAzgh zevD92h4N0^fR92k22d0-|8J2R`6F*ycK;1iYziBIV==Y}$1g(&In$hbCD_UXS=L`q z6q9GK$nKdoEYlCXR?6^<*8Pf7Kt80D{A2dO_1B~iEvhy1FQbg{jHfjwM+KEmJp*`1*CWk3CrmJ!sA3)uSM9*dij-lj?ur76Hay4Bp=R#n zS$J0`O6q;@kzS^_$CRFQ`aF|5sp~Dyiu~!I`Rv#!akr~cRXW9KGZAdyGrh~)q3Fzk z%IZaM_T}rh;V#MXF$d09dw#HM)3|74J&(zkdV21zbJc>gC+do#VEK{>D*A0_tNpft zRJ!eL8)NN4(NIf`cIT1bT2;2(jdjh}Qk=efJB#0rQKsa~!@kh5@rF7d2hDs#=uZ}> z%xAj}O8Y_AWcRG+A}7{NkP~!Uq@lGWL$hfVT)QJw;Um!;AHDYs&T2G_*QLF|#?OC` zx!5mNDYoA3KpK;lKtuA6yOz9QzCbDT5wQZ6b9o+qG<5V^*?YRas#5W^z573De%N=F z6pOjcKET++_?NhB+YptiL3LIj&Y zoPk037E77wS?l>}^54!^kx9$i#l>$6o^^Xj*+Nu{{c1d$NoT{4*d} z@@&txPiI~lv})gTBr+a;Y7IrV_XUJgBJ$5de_;6wY66YL>eQ#d6v-uCR!RXJ!~v9; z_DPZv7Jt;B22P>R7cg=StJuJue<6?g1lz?1QoxNM$q&ppRp^%Z$|iV(4a6s~0ZIMu zeT3%~G-fKVwOBII;2uN>0oqP1x(|`YH^A>|(nn9(PD0!qyTOJG+}|Wa2{JPyD^fdG zCsRWr?%Yrow~s)KeQdN<(25%_9;HPMTi@{=-GYg%^s-K-4FCRmC#&aUdKlrbW*@Rt zkRI%j0!<=~bU1$Qn+Z%F2?&Qz;t_S_3WiVj^6>-2`)gz z;lOuNFqN0rY++Y>njuVCOlm!Xv`uKkFQl24TO(A?tIT{Tebmh3?70wad~zYM7xij_ z)!}KVJK;nI-w%QdHXgwgz5;yAf=sMi9V^K3=j4q`C07o-{t|$<^3wq|d*U8@3REml z(SB{32=h7~_&Db^FF#y5H_d20Zw`&w`K{RHQ$4RGm{q&Z-k?UVir+ zcKs`&Uj41e&+OXYs4{yUHIvW))w*68UHcNQZdo+Hb|L{LLXy!SGcyyx5Q!GL)Yh!j zk=P0DBa<=wa-)vM+t~NdN^Fn2{Dsr3(Hf!}&#UrNT|4m;3B0B|ehcLD)uWG&vw;(x zs6nLC#B>K6IIOQ*-8=oWsV1)bN3GIYFdK;Cg1suJdxi0xmD0DA_LO;8(~qj{_#4ba zp;3LuEkntsMn8fVa-M=+L-#-mwhO6;>Qe6@WZ+qcXDjBtTi49mXfhac7iR8GOzKuy zseu9)d+dM7KGz})|90$m>j8K?FEZmpD)X2(2Wbo{GkZO)Yd!$&75qe{wv*Z?@`e>k zE26;K*N6pZmfWDH`|ynO4LO-wrQg;Jga8A)OZI5`Aw~&HCd#IUOn1v)T&b5n#?*u* zQTk}D!RU@YKPX=Xah{1E%Az;v*^VCD>VP(e#9PDOmq%IqC{x(L zA68iXhZP{UTZlu7K-#}Z@iKG|mngLB1X4=A_Orxk1=m^MK~KH&@j+|=sso|zpXg_u zpmJ4FpA%GfI}!E##h9M^A$1BCW+xik^Y+?w`MCJXP(_SuR2bnrCgO&kDQ52RQM~m9 ziBrMSFIv^i->sT*OA-y`NcqR8o@9vI;MVA|2*2tAE#abv?|Uv7Eo}7nPiYSn1U^%` z8+4IjnX9V>j?HM{<^);~>Gqa3)NH_3uY<(KiBDVG&^=+t94Z@NS)o^0?F|JqQHNzn zjacd0ywDMkC$Bwg5)XoP8(u<#6P`ruRC`zUK-b9pCA$D-LJ$~$9LZ8!s(GlA@1fzU z{3OMo6Ctir+bXB{IZ|BbK{D=4c*R!%+gFmv$_j9ZH4YVK$x$8Y%0}df0pB|n9ls*` zLOc~yFK{cZ?3zhade%I|I0UezWG0tAhf(T=ee^;)uHQ0l+6jCt50C0+1CKW%*RZ44 zQgpZ?(4V`zzX?@A#dbfY94vbJkNzzsD|o3#_m+Ijv&8`&P_BTCMQee)R8(KPi=d$i z7$5U6+3b77LWV)l>9i<#QE}yrwOCo*2RpUv#9Lu^0|A>f%c#ho<%fGtL_$&u>XJ7e zK%|g2mJk@HBB)cb3A7h?1?rvTSWi7u$Z;Iw1hfk{a}Ouf>B-Urx)UX{>V~5G4Xjp+3rc*e-%`g;SeZ3CS7s zF?r2FpJEL2^?z6}&fGiUyESB0xIc~K2QPCe-jd+OiMDD}l>+uLZcJ#IUT)a1nz+#Q z-dOkCN7_-xW#yfwRw%O?b=-neyG-W&WFVS0WLiy@y?1GyKL}g)gsSb#z_^Gq7Am(6 z;zvBT4N&gjz{2Cb4A#l6d24i7lV5-H_IV-Vw?Gsn863q8mO~u0w_c&n zA&*jvLdoU-jME4+XY(HECru_$E_Wc?z{f)U&?7%^-da_5*5g|%QLg46Eh;VQoKIzF zz6!aMYFtGHk3aQH{-R(;Cl9fn{mm_Vltn=PU)5Pd@>PDOgBoDJ4^J?gEd`@zMg@gk?gJH4}o^`qL+Pb@q79eYpF2=;!6x>MfP*5A&`?$!|be$M)%_U=T2 zzA9mzpY&phB{@PEsgff}D;$>}dw$Ds@oZyJ>OJT84w{M^b|fAer~8qgbf~JbJns1w z#fJn>y{DQGpsP4Fx8=X2$n?568VHx z&K)7lG51JIO}N3$O=wB#j|pN9E&_F8k`tCA~o`mg55ieDo~#z0om zZ{_nvJ=X4%oX^@R5B$>tCI87VCjON~tZ;CSQ7GJBl6E@#0>j=@=vZ{qCLAxy)1q0?eZ%Ats!#dR-2fAVo3x-&huNu>ow!D-Z(#m$ihAVp zLvDt~5Ka80Q127wBDFr(O>rufxMjye7$l<{k%7#d z?RE6~foepUuD10dk>-A`knzHTW`z^>VS(x^v7AzI{P5jJE!I0JuH@gtq*<%V4gDKd zlJ;e5iVsnhzS-3URZhlleH{;k`-VIrW?T?VDKFx7XczVFC^H5_mx8(nim;ut@f@S4 z??*0PNEVoLBMmo@9+vlA?rQW{`msWdg%v}Da1UT;lvawAyVVMv%NEItUL|VGu3GN$ z)7A{fwmI&4j`G6h?VkM9+Qxlp$Hcx@L*D9q*FFL>z2Zxch=LJz;CnSU>nEucOv7c%C{u^*#g7LO1CprWwpoC zoW+&irj(|`^pVEQidIR4`kDHXbGQ%NqH|Y#g2kb0Uv~kT7u|6&yi+LI;{vrZG%sS# zl|-rW`Ma?9OMZNFbL59P9;A>kA~xse^EWr>f)=WI~m@~=_}J#iD9~dAARjJ>)-mCNM4cbJQ{a( zpM(8v;36PoY+Y82^D-zp9BDhm$;lGRRAv7pXq@bglb~^M%T*?7W5jco6W8s}I_;~Z z^+>_%wlTMta72vaR&2H;*8&s+tp%ZRNOzScT&%auiP6$NE%ThJGoH(_yc$uC&v)Pi zYbm54wP?;P_W@pd;#lACuOZ70?ug&Uuh_s70KQY44y2eMF9f%VOS=YR7BWLwraZ`| z-0i7?I7!Geq$@#(4PYXjTSlB@ZXL)wZn%6{lj``_Bx)EUxwRmWFQ0A0`Tv$BoY1N^ zo9R5kl0X_zE=g!}8oJ3J-7{VYVKYuyik8~O>NPSmS^RD_!GzAIY+yw9m(5-PHVq~H zODm-PZrvWXcTs-F&xxT4y>uSudp1==??R=dLr>=iG zeO3ZqIV1w;h_J|iA|LE9nNgK!?s>GHWK6h{kO8O})E zDir#You2R=9U9Lw`ZM?c8nRX-i|Y|L`TittE}`=KGol3)N=|Vu-6dLp&9y(_tl5ie pCV;A_O*X)p!2k-yDGEUGGmPfHAK+#4!iYzfbj?IoYae^+zW|9Gc`5(^ diff --git a/frontend/public/icons/icon-512x512.png b/frontend/public/icons/icon-512x512.png index 55ec7f880c362387cf764bc57019cd7f7cad7531..dc5639279319235fcc4b44882213381e6ad4e85b 100644 GIT binary patch literal 305688 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 z q-qmF_6<;&d;e(dcxjb;ruR`{>#_()k>zdQ!YZhOm*abZ4tb8)_Ib?=3Qu-es+ zILEh;FXU9O?ArL2Wh9>a44%-LgiP`}A`T5&Hci$3yVLN;;ku(q zLdTi&*S9?`dQrLf<-#j}?yr4Zi>=ist@KzD_5PjZu&XDuQw%s9`c_ZSDg`Lq=-F%5 z8^i>`e7XckG);#m&%6ki$+`rQZo+Rg5C13Fd>WTjb3>Ay`n-+_yIk0-e^paca)CCs zSiAfFZ*#spW-O+!o2+OYidmY?ZfjX38SZV`^>H0-_v8m*O(-$vaP6^657kdjKU|o$ zWuWylc4^7T)>W(jIcP=!Kga>Yoc+0bB>&#`X0F-!KTR)n>!M?i8pk<5O8XzRytci` zTV~0;bgt=#-Ru94q;HQ)^6dY|a8b+2IxSrs+;mZE9n4msAX?8PJ3xm$)t0H7?Xgy= zh(`$Uu+6OzXs(mtjm;9RB^^aeMQ4ewB_-2el z-Ur3?tseSt^>-uxI~#W^7xF(|x}dE6{b#(=ba2tiOq||AKQ(!`|@%T$^mAw zU@ryUd`$PbxTd2kdL(Tw!2%(PnIP8r>gHhHEMF{xOVV+}S2l-KQgoGU5-z&Q3e^B zF61UZDKtVJKu(t=Bv4@z9o##=f4&FQ75@{yg+2R9a8%*@7WUooDC8BO{v@rR=T%HP zhhbW4aSod1%g47Wq8*Y}_g?BZLko6%c|p!rSw@eguDI9zf8@cVOJ%QuC(f9;jxEqs zf^GA^8O@UT7w*R}hG37198Z`g^BHAZdHfCG9D-TdjNq_%C`lB-QVNBdTa0oz-VpdE zUrHhYR-{H!#b(ER#W`AY?dsVq*$$J~jq$QXt$X(GZ*s7hUQ9tDPzmN2^i9Leh!SOU zz~Yfr!@u}59pe$}u)iU2S3di#GkD<2C_#XtEIv4Ca z0qcrkD4h#M39ajA(Ct832&y>_GFnwl_y}@n-ZV;$EYA5)sOGGuo9uIco^ub0l%ECe zzNtbv)QYFP+av5e@(`wI1{6yL1$wVK;oeJBp>^NB4m_OvvMd4QW|u_CtNCP-eWpoY2jewPa?rjaY`#&WSUS=fz?-`1+vx@_J4EITn1QB2M z7ix)9WZK=c4dhTnwHkYwEPxOE7}Ej&j05=d(FSS!BS2n>oo58b?yU-Hqrs~Gm^a?F z9@&gXGmm6XPe1m#uBMU8m`oG+MZFaFhp%3K?E8N1s^&upL}!g+|c#z7Oie+)7Yzq{V$p?e|mWM&~1XLJ>tVyf)>)Dl7Sb` zUje8j;6=M8udfAB+G%f(bv7(bNE+|ZVzwFJ1!)Kb4-lI#^8CNngWD26>I9FMMDkH^ z_sO|sU#t5)m_c;YvaGWsoCU`%>~r@xu^GnKvR#zWy=j2daiF`HyqWgc18#Bm zkG)TIjXl5FEalg!|JyTrBksJ2y}$eB0Oy2i71~>=?A__CdV#2zX2aq=W z=n+D{Ke11$W$yJ2!Bu6(o3H=eAG;>?+Wj57Zazou4=TB5n0<64S(VSn2P#hJe7_#K z>Ngb}>B(`Bkn#H7Phwl)c_0lqaCB}c|EiCl<#y2J?V^+aUhMN{sAjO5X>rK zrcNLs7DfdD^x%p@S>id`Vp2}DdcSd#=d5bMv@oD1r-IXHlf$i_<}I$#k*VA^h^#=Z z^o5({B#tOSRj2^fBmpjVw&RJqcQm%Wus)){SWF-cx@GJcCNTLGu zo-oU`j}{EAXPEOCX2EL(W;9np(9dEeQUj>gP+n|_8}Ci(7Z~%hjUb=W-~jO;We5|W z8<~UN!1R!+wH`!ut0DzSv)L$FWj!lCjU?#pX8d&Y6&!| zKg~nhED95N4icT(+J)DNXtX^>1zAA2YQ8%FO3+iH9 zMwzI5O|g&r7CWNny+kC4$b~n@FoanKneOzu!N>>4?sz3CX`)5!#+v?}%Vb(D_K|H0 zs_>b^WLDaBZr}tR*#{zDYnhXDJ{|gF$bf?ylQ88))T?Z~?sTHB1MhzC6M`#|(T+U9 zAxnDqT2&=#teD#-CCz;=0MlRxsjvvON-74pDJ3=jCj(CT_O#gL_-U`{mj zV(G?8kab7o7YhAQYy`?MRO+k41MXksB}E0g3GwMWD>a3>TJu`VeCV60>f)0ekiQQs!=i!QY0JuX!`x38kb%${Kw|PM^mO5z zgctp6jjDqbK5YhZww!}qD_e*@od6neH#jOhVWnod(=>G93NQ!44!fA$Ai26e*=-$< zV0xRJm11%{_u^X^)^;|ZueWPi)=nKc;qSa<1?(_jt4Vv37x{j-O7~y(S(P3K+T=KyepM&#eRc#yVOY%lJQPNz#KyT; z8B;5YK}X(OOE1yz30=8wF3>yl#pG&$w={?CBt`Bwd$(}c;|;PDN~%IRR9ZTd7Qro& zB)qr)ks1_s@=k8?QG*0~(VL*OEkTI5rq?rUU94QpL5fvUwAI*?FObXhWY?hVb5b}b z4j@>sxBHMba21oT?)4UcU4llBXd@@VE3vv~t|6?b3Cgf?(lQcrG_nz_ptcJmIm zD%Io|!>TI8`GruQ;sl7F0mhB3OPFa~Op&T;zN3r%@PB9eZgFOV;Rew91G6!=xXiq}1pOx><^n~;MbG;cy_?M;v+jGq>@5U7O zZ~6>)iE@<5jlU-bSbs4WQyu{g)jtN4Vr2fQDGggDwtb)FDh_9e-om~ChU~9O-QdI_ z8;oBCA$$#_+kD{HAyN{%LjkYV=FR>8)6{;=ESHfh10hLd--*5sXT55z3XsFIojozUPJcT{*2doT`o;zUq4l zrzs*4OjsJdE1hYXoP3^oZS13WvyHpnsJyMWy9sVqHZgH8u%XEX6I-CuMB0x`#Dph0 zKn#>g9VzcG6}9MOHob@G)0bWKkrN0QZ4RW(nQ@i4P)+2APmw4b7!flBe1V8aRdHm6 zht1&6Jr?C~duEX-P}AMcibVh1sVRb84q9KN*}Wcw!!*M=Om2NgC05M17?0NlkmJb; zB8!upf9^O~`p?TB7~3MRvho!+tYYGt zA8B^6oX$h(3N;8<8CUsH|K|JBx*H&Ab+u9UuRmjeF&0^lM@W>2p;9QFjFm%7tW_R) z-5&ugz}b|zZ;);OZRs!L3}NCNx=I|NMP&ju zgbdrA?f!6j*w6RW(HTdz8qttvOqlOp72$X9)8RGlUAk349T7(|F-z}mSiRc0H*PC$ zn-+Ziyt6*K8cPR3XLUDt$hF*=kgA_kuXrC}<}??qFU^s(V;7!^&C!0Kq&BY*wUtEN zetr6z9OjEpgg?(iR7>)$*rj`mkkm7T^v3uV=jLx5^9WPFr8n8%eC<49PWdKcntV30 zY=HLLu*TQg7q=$1N3HBwnZ#+b^Uz@r` z_=M$Ok(8f@pF;VwFz4oM&=<_JcN*ZebJN2Y_9Ayes}#MHRAf3}zJ?sJDJv|UEnUk? z6!C=TJ$mkPislDf$n=j>Dc^3cyDp!(UUq!{V9#?Y>&9U*$8}tm zaurHMRHo0<1+)Y8%w(A8#kEC#*mDAE#N<5K5fI>+2>Ixs9~(aBq|i0|%6j6v6em>g zcXuHczfejF*P#q~R3zry*jYi$^Lwl{|8=l%ny;R}T)6D|ot}TDO9vpG4&`X^Qt-dljbTiEEK$5ukGWbpkeLRX zj7j&W_%4b@Il6rCXey=dtJrT=^vr(yQhoeoQ_qgc9jrfuhjzU*NpDJ<&FmK=t%vi7 z1+>KZmf~1nTLEP!y^ESQp=FfjKS}mAfc|(?dwQ-J=y5JH^Ye1M!bS$*`DQ3Wu-h*m zF~TTO5L`YyXdd3o+xvCHpyR*;)!kTe-NSD(Xmz7w(1RbP&g`$Me_fs)IZedIE$oH{ z>v6@*|H&?3XTDIhR-Z!5#*P3_GW(6KsaM@6CwSpq6??LxhBi>ERu{!=(%I-^3p^ zw0&Hz{P5f3H%ym*`J#tF?)?!k*0$t~&+EXG*m6hLacj1BLE-T1AK}dj9oZaRt$-tBV>>4)aK#Km9JJ0E!5a@7tSI6I1u`K_T(*xyuLt z-SqLE6w5jMYQ`~l=cX760xF-K49BJc)8eOJodrBWdT&M-UZIU49V5293@PP7=@d=_ zs-#5lV`^FW5p70G2$W-(wCjXvbkAqkn=St}yv#lH#ys8k7M7ZQhq<}ddrZwf`Fir! z&4TnWc>>)Y&`P3)dsZP&<*Q@?U}sz>$K3nK=a$bDuqcmK%M!LDgJmNu1J5;UILrBi zdswQTVAVF&eehq%e4iU)W}Q4)%Ld1W?>O0dS$6jTLH;NQZxM{`Iv%MLM|z?qW}mp9 zLoo9Q9jyU@t-28AWHegvt#_SFTb_gkTICm1vc9r~mQvYjQK!${1Bx&G)}vj8r{xamzvNKA4Q427LF~!> z^G#)zhK%q;A-r?-Ip5F`wttkF9~Id7s`Ou+?|WV0tZ`if0eYM+qpnQkkw>*SPwXyq*V(Hw?mR<823t)LhT~@Ss!#etSYs0 zL20QwC<8Px{i)1i_Jf}DsJV(-dMVf-u!j7W_Ej;TcaA(5T%B>Kxh{L~couYliZQAW zIj^0>b{@06oIAN3-}-}o;p7Aomk&ZMxLcz_(zZ`6Q0(16Q0$EWP8`Y|n1ku_wOW_n zT0D?{mKNAyqIG%kuEoMk9i}i4E=lTI{ne7vlOfZ_=P?%c#&54>-%WY^<D)QB^H*9>q7}f48b14Odyc7F$XzOvPLu1T=8g0`&gxNpMhobza4rH^Z6>!x zC*JPuCA8<@a57yx6%X#p2b|;dXJ=Oe;OKnKf?@lAlT8k;bs(2vzevo`8 zqnpJQh-ao?DE+KpLP75E{!w8o6~&XdZ4!8(WB}_hs${PL=yi~TCNP*_?UDRf1Qe>7>Eo32*DHBkHI5VD>l;kGW^Mthn33PvooDj&fXu_OhJ{$U`YzAq_@>Fu0<5Cb!yW9R}-QxU_= z51n}l7G7+yH!xMMUBrFm%K52y!(2*%dx7FgOE4rChrI9kJ*&U1#-XcXddS$6yfW|c zR~@V9A01mm9y)m(cdhbd!hbB{_y<@mr6>2kPX6n5wc*3r=4(HHdz>|UW5@AlH_IiP zyO+X_O#52-GX93#VASxguzv$O{VMz;{K;Q1OPw}h^qZBi#pkt2d>?m*!DCcT^p2C+y za!wnS(#a*4^G@8>fB2+0tbN0Vw7E#Uj$jae{U1To!@vN{qhvU$cmq2_!o7*W!6F8daTXovsDkCt+2nmVNyQ1?jt_^vw$jY)13mbq8W6 z&KAxj3M8oaz2UUIx%k1EG>uLaE!w+!cFDUBh-O;Xo!LqcxIApYXeRCuKWDM>3rjq! zXUqX11%&Tg{4248qybIGwqWC7w&1XS`K+IJP*x0=drf40umYX03$}~H}3w*|%9y(CnMZSgUXYEs- z4_0FbD`V0q%j;o67782PH*Fa^P#lpm)#}S9`{^b|BNkQY)UH{Uy^HL!=e-xGpUeSJ zq*Ns`J_h0(sSV)rVLj zC>W~XB@Yu^>eNrj&vUaZO4(rj5r|+EnG^t5K2-bOT3S>DheV582wkuOJF;#0-*~`Y<$jDg+s0b z)E;uzs(H9Geei0uLR#;@<{L|K-Pv#w$ZDO{@$bFY#3gsRvTtPo{+E|6z%-FDy@2my zR9dIO26D5VW>8_D0Bf~|N?&FY>Rl~%Kq&*kiWGwntt>*)2|oK~nvS zkBFPq)kf%Q8ER2mS(v&+pw!?E69z$CBGTmY7B}7IO@s>e#-f`#0C+D(=i>2jTN$;&)<;+JWdfUlR8z!F zm;^;=G>Cz##ClSOhIIXG6T^ZtexA*84TmCEM-3D-fe) zG==EfaHvt}Wzzw@%3b|`_2~8}v!a)|(BbkP9)alqqJoOC8s8HaMijBBlIE0lLNHOHcu#YMiE&l)+vl?N&HIUtldLyQ%+RC3+2Nj8xXaT_3r9` zicB}{4g0Q#+g4TG9M@_@1#N$tDZ*$M!fYrar~&B=tC`#kjR{)Cnwza*X)-e6Rydh*Yl0Fi{H z3TosD7;S4`GAMkDe1%C8YIFIWTy2Tb`8qxHp_EjwQ_7r}dr3T~xlk0Zlc7V)$P(MT z`Cj+_am)>n8}X1$<8TTQw(OK}uSg_y8vj|e>RyY^=I zy0{`bBzrQHHwQikxfKW~O zxqw4|u<5-zX$nD`?8-JqwUL-?-~>q@1K$4&?eN7V@{w>IDO5#r%87gDkiwI#Mt;Mz z-Swt~A0|lX;KpSV?TU@ChXN4lYF0^QQUs3p{uU}lEUwy+3+U@Mldvb-Y_XfYtVznw zJwgM)0x%#9>-#)7q)7mKk=S9VV(jW1Ne_k6b4?m}#W?rVTz{h=+F?{fOm-{Y> z0-Tq~^h6e+WqVipFdYG4)l!k&P}LttvULu3XD1Q*iEfT{Cf)7=s?m+Z8X^FVu>1{p zJ;M_9Zm#z3riQzcuP743!5dSHq7Kkq7(zRZI8E>-DFc@jqU?5azN%q_DQJ^ynZuro z5Rc@dDJY11snX@G#j3y~!w$=32*6G2aAjHKTL=rVQCxq3z(90|aVO3sN~2Xp$_%0y zLx5H{DYpX~q>E2st8{MB$Or3&T@&n3qs8Lz-rP$hwb!IW)_+V^~(rgh?r~Io=C5l#04J*e7@#<_|5|kIfM#a)A?d5WI>F%<=gz z#Yid{BV;JzoAdb2t0R$3%_48}pdkJp-6(owRivh*QE)XKCNK(b){d8lscY;GlGTAK z+YDMlaJ-8lpY$e`ZNQI)f=-2n=OsP#^WTTkvMH}ijEb8+9^i+mir$gT%XB{ke-^s_ zS1iTjK>&7Y72ZR}9J{J3rnkyfwUm8w%tb>;&te|D(;%(rqR5oJ-EhH)Y@^Z3)ERj^ z{9^<|36DNTc@v9}3~Tc0iGF$pxW!UK1#JP?-5C0=Y{`0g{7(xt0tFn?2Yeu|enBr( z%eebWy-d)+5KH$6r}dDJ-B27#flK#T`1Da)v_^Fwe6@rZ%~6N)V#t1rdB8eYpWPBE z+|%eGBPG&(W+x+7DFunNg4C@u-!%X_V*Oi~f16q&+qoP5`{H&)w~u^=>3CD@N}PHp z>vv)LEZcIYuqw6Hp%4?Eg17*wk`LTuXI|xbA9CXhw{;kB%@j^~L~_3T72(w%$P^!A zuRqB-M(1;Pe~5|d1XWf21K$b}@UZOLyGGXiOo`@r&ed93*tZLf5=y8#I zy|i`rcI&!Fuy6zX73Fu9LHr7N%a~9;bGEeeR?S;j_o+2E?@xUx7#4{8fs1f#+j#%l z%`KW8Ba=MCvr&*LBf8>V*y_Xd299xw6Vd2fpOgBggM>^!$4IV+VIEwl3>_nzlF(x!Mr@`at(lv zRTC9VQ9^A5T_F}@>YsiqUO>)1aHqLukgOCRo_--U$~5eIHly(t;CUy}6?GeElaXSf zZq6Ts;DDBKcBoo3p_3AS9!-mFfn(!J%_9-YEw*X?dT`Pc*)WU{W9%vVL1~v#UCf7B zYgQi1QpRShQl3yAy8qfH&WhCBP>g*%aat+yh>F33BY54Fw3_8LoU`sgP~{ zOJ1m~uzQlT{wc}tFuJrLG=Tc2>@%|VZUeZ~lavU$^} z!M;7OP*>CmwbA02o6g-Fno=DfeKvdG+26Zz)WZ+6WiEN)p?+iY0m%;AM$ioxyv`<` zYJqZf8iCOy6+ zKm@#!-8Gx;Nr)@azv{A6!W6*jl)p)31soFJ@zj~8mX~)?$*(@fgmXIcRac%zC0{>3ya!)Un0F>S3%$Mw&fTsKMmosC}Yh71|{?TRCW+!6fAI7GpzE=6tslI8OKx}P$G!BmsFv^Ep z0$Zz!_WZ1t2KX9E`18#C#^hiCey;h4znoZ{8`w^V#C#dG(V9@6E_Y@+`ln2s^X_=p zp_u^Dzpd@LsHtElKNqekAatP($uPmAe6w1lbeMhM)#F?-H)(V|?f$B+P;fg)ptXsW zxOHb2991_BjsG)sXw88X&wHO`syKXwyLp$)b|J^abBy6pbd>{THFaiRIc;!h z$QhiHpEvC=@FN(z_7&}jQ4OW$Oxo)%3?7~Ov42I)XX+S-Gek6;`stCsWx-cQXiwb< zZJH`JGC=a`;gowN_hdr<3Eu1G&qrT&>an+u-X|#A)D>|L* z(t60J0lje|fA&X?5)hkT)kz8nM58NJ3YtLVo!OpcZ8_>q?O!(D+Qj54|M}K(TwFQs zwv%P#6U(bNzRoPAcN-CZCU;I*Y`+qYXgT)au!QARQb2)g+Kd7Gg!I zOkQzXc7`05Ioo1DO&RLw7Dqlh<64=P4iG*rH2Wwj0t+~&Fllf$KCsVA-^#l zAFLz^h>3Pmjtkf;`E(jc-1tzaiIk_CM>jf*4qYvY+_|J3=ZkDyPeHMDYF|{Mm4}Hy z^~4|I?w9W1?th^pS6gO2-Ip}=jn$OoJud$BH*|Q;x|Vve z$;hAH_Rb?%@tbbhqrl6@X*X$9!SLt<()p)1j+T*I1Xo}28Z)i_)VS+}-UHCZouA&( z3=SqxmQU4>yY*Ra{IuLqNNopg!Cp{YJ3(HsV80ztVnU&iMvU=>JNh@7L}3(EiS4ifczl2br79FQ#nc5rH5+h=nOKI`FUZd6RT`$^cgg zDnC%GyTI_`@=x#1RSPZ`^0ExUP8Q#@vXOh?dMeP-O2sLqlK&o`-f!xe^o%y>DR;f4IH*@L|dElQ*X{fS;6CI!(jUQn@wWDE|EwURY<4As7XWO0)gz(d{J8 zo?ra&`dN|9?a49zor2C)aFFPTBp&CWu}AXqE6?v!O`1X5XOo?{6=m@^{v5f_Jk)%~ zo(!zdm&Qstf0IA%FidNZ{!EnMH_npJ>UA|}5&}>%F>qmN+yAy&_<4GrEJ2~d_NBU) zMkP;uIP+re*S|$#g$$nPxA;XcJtjS830ru^ zu?k48eMQ_8{!X_dj&teiIDHHW65Qe#9U(p1*$J8vr0TJFDh+n9KvE;`281y8L%KS$ zw^=?pLK&9tEL9+`1?eDg*COwH3(MCnNfvrJI-5aKo6~6k1(|8WCq2gO!?tZ7s1$=BCpH@y?6g9gE=v@nHi zhGFV2K1(lsr=f97ki|cy4g*Y^&FD2?9(k8=Bg?HKrGOK*6a0T(7=|gBFhS*^B7>u1 zlHhh?oa2#~Mp%WhJip{%4Ty&8iZ2K0Xse*SKLDVPlylO)<^j#h!z~!a?(x zE3ujRTNqA$3_I7{Yj?5s6;*(6RlE0~p$a$|6{O8`yONWjH#u zI>?8FSTexEaNFFuB&(o?#C-%F8QgqF2^ENxRxQ09Jhj~sIT$Mc@$gVRLWQ!sFqLq! zfCP`=B+G!{Cd=eSt=A{o6mfHyg6<5`1~!5KciFvAr8E7y?;qLd z7-wag1*cp+86inl7jT<#c+ti-1kqpgE0JNxsbEaL0Z?ANO|Y;63bkA&x?&LeBVq3^ z!0zer(1;nW;{c#d^f4Nh*jKD%oDnpus3eA3xLBAqLNE1%?oi$Y4gHo`nKsYdN4j0w z>(6kytPc6cOSo$EEGs={oZBYe&V%Nr&(j;~b$mn(n!K>Dx+B1F1G{^}Bc0SJ#Dwwo z`DmiJ3a2Gj;{+QLK%agc`O4SED{0Z)HeloHErJ)t2EIQjS5X&ba3Egfz2^(4eml94 zSc<~5ShwTdGYV}Qi886rs9-Z74>QwEu5pYu=s-hF$f+lVj<59jT89rVF@h}%V%Nl) z`IpQVl~6a)K7Z<}L#`UIxvX|0)QfF#pn+)1HA&%$0}eNV+39Wxlc&ZD1xCKspOk~I z2-TJFn-D1%wO)*Y^wf`%YBSIHrQy*vq;PM7;tCje)qCK?neem$BQg^p`8`(LA{QAn z(u6(T^v5`m7_6At10ke@Kmx$u4rUn8xm7lMN1&VtH87*D&)yY|ogj6N0tb0C zS&<-<4WU!trNUvf$Rwpvu0a;x;`;^7u z2KvGNJfsBtHWSxXT?uv!Q<8g<8%~>Wvmba#M**9~tv!9L)553uW}$5wsWfTmf*|#j z3)AFzcx3U+Fkq!HO9i!2<`QLXxc*JvvM+KFJQuSd2j30@XTA0D`&1IA3E7<60X(*9 zOs%CVIL6I@NHL^&I@04n0znZ^P$1xU=l43fkG9kaKNF1EaFhMuL@6JA1ULrkm*Pgqo3#Sus9^TazM-Ko`aNp z*J`kK5NE-FJ^mzwUQ7z(my;f3lEpihqG#m8P7kNaHg?Qs3=!!xsTqAEpEbaO|C@3gCwXUK=H!sak$rbn2`BwC#P+hOygt@Q8%emx}c-57K;WU*@6#r7h$)D znxJL~8mcty;A?8MR&y}{Jn=r-Ruf;NlmIbyNCpa1DI<&Ho7jxlQgs2rz~7Lg_&!u| zWr^$wgpj4hL^ipE$)^cZ(;cQll@t%JBl)lNL~X6N2NO95-3)V!MZTRT3NC36vxAXS zIa!m7D7(Z~7%yv-jHJEzBRMz^LH1s80&HjJ_jz8~&B8C}9i!1Oy2+?iS493KT&b`b zRHg3vDf_EZ93~Cm2DC8hb_2eAL@~IBK6%2p2@F>bRID1^EUrs7n&q)M~-@a6VEdu5YzF@J9Ix zK0{Dr5u~u#bJ;n@SPs+acDKZ{P{|UdjQ00s+YugLB*Bk_0?fIc9$Q)rL!gogq&r-Q zZG|dVq-~&}{QN6@r%@b)Q66#&(4ijfdsw`lnWWa(^qCgb67=A&7ALmCLvTTV97(QX zK}a|{tY8D%-#@gq5{Scn`Jts}X~vS7g7DpQw4hEY1>iA8K4CnkFyw2<7hdzZo-F`P z4^;|nqJIswtn5kz3S!bN?j~Rq3U)s5krmv89(q^zuSx(>>C5K0 zW_Kk)cHs4NZlC9aPM9t@I0UnUE+;xncGKBoTR{e8l!FNGLYh?0Ov#(bZ7uB^{KID0 zTYI&#k^$s@m(%s*5&PkUeCr^ z!$4aeGc%1>H!P()s?|YLqH2A`m@WXZHjT5xFdR~I;JpR`Q;~Z zw)1$sO_<1=4uTr<*o^+`&U(c^fb&T5a6eJp66f}HEh~V{%7amKA;?J8(p5{>E{`}Y zzJBNMfv1`FJE}h~EaO~00l8`~EsO4mEN}3zYyPCpJHd|%u#DuihY493roF};*AM(?#+}U2 zJUw({*Mbtu@&5jVo2m-~uIzDJ`}{SnI6{(%Pk;x4xYPmNB-guO{Q{2s+pOHx0Qd;u zYD?RjX47AqYVP$p9&{p!jr?b);HnZelI4QGi^n^RP@ho~sHpCcr|ubi33BU1ujMKk-W;nyCGmJR zlL}F95N7EO!LI*+pro&yw_@8v1rk7RLI8Ix;;RDcye>SdM6?Iw?N&wXPM?cZ!t2;! za3R)T>J{H9hd9Tm$kiT+{vo8UNV**enKX^F1DWhXXFgF(8;(h#LNg~hD1sF(>rZr?gFf4<2*iGw$r@?>&$mAAiW4X1C zBb0m{aMyKE4578vsNg(5{y~OhZTT9#`DE(J)JbXi>SKmUjbv|JX*U!)DYQPM%Oyl$ zI^a15N0rte@sF6&F0=p?xa!if_fFT~^1J4lI?)v0Bl?oFExJE*FAo0f3$An+SOjzJ z++1zup0215o_`VXrrG%A4SLg9?O!h*)RjN4qdj#VyZ+$80i!GH++ziJ#H+enn%{0KLlqT@Ix3Bx&>#JsJgxu_ORh#uMkHTB;Dn{8y=wsL z>u;L*%Iwa>x$?&+<6y|RgU2pmhD7o8dQo>{#P8qKt+{b%H10u2ljYbh)8Mx%^~sN) zi8S21uN!iHZ(l=pUj6cPR z7&tVuJ%4=|3)6m>Yba)HkJ?lG@{8qs@h`aQeeL0xn5eGJJ_&cS-Rs0(sqVY%g8E-rs*dym;FHLmA9VF6B*cyjo+pqP2A|`X{;z z5x94KfCmv221S6vj_03?spLmCrG2$`*NvN-loHy7^X0AUo+cay99-tweo^lQ_rhqA zH*jD3SQ^8sd>o)a1h+Q7=V4*M)y?E^f7CuNBpY2+ZONk-3gmc+97H{Q`WpZ%zqVGx zy~ib|Nx9^SqM2oAQf`pLFmS-+B>G|FbSe}p3FQHZ6}P_t8a0=m=Y-Gvaz8eC*F(10abg|k%x6mWN%~(0rT?}eg45vdQ+9{)uW+tH;pvFP z);r%s1tkZA*?$WgeReK&CEVBA?h`n|ILk?)y;`3;>eHDrwos{*P%m{+Xeou_-Sez* z`%im5(yTVCY}r{&ioZ*xyEfn1{*UP}vG%;+AN|NE%y;QHGZRkmwTJLQx*!T#(lDUj z0i%}``vg1v=!L>fZ0dLTz1t842s8yJ3xU4ArSo0H`Z(&*gf8{ecxU?|T(2(mM6w34 zW*=?1>E5o@hYtOCzrU-?Ok%E}G_5+E(WA;bJH0nmOnZEPkQ#W1=T|&1g#vaz`lQIl ztbiC?8vOH$MBZc+NzP5=jD*@Xd$I?>%oeP8+lJlKYO23!iH`DVJU*ockuB?)(ear1459C(3UdD1BOqcHM%J zuo8&HTX9f2)GFUsI?ZSgFX1t|k2t#i^S=C(D7~S8l9c~Tu##@?R8Uu`FF(jHh;G$q zbQ+Z*a|pPq7@zAI<9`Ceth)C6i~g~5Lz23>B^5oqb9J$+Ng)laADuUk^xwZH`|rdu z_tG%B=cndP`oi-wr(*nL<&R|ZtMR(o1|6E2vBu5%?hc3pcJb>$aqDd*YirJk`VQ#g zBV=tuG5+LNuXFxmLIyYM{m@RJDS{Bbn0b+d0_N62)ugecLrJxrnJDgxZ(bFjKC$x7R3gjMCXo1$>H(N3cxN#Lz_*nwUJ#W~z80;%@lE5HI^ zQ$w9e5}i6QX!o4g4RZ8@EbU^oX#l0W50gr-w1P-84~srjO7GBea`b!z-W%U?WOuA$ zYoQ2GBb2x+zNcXcmkAvpl}5}dw0n-Wg7z|9O`64!ZV}$(L(QOAif0x3r-PO@V&fR5 z$c7ckR7ymB1zeOK!NSty(BJvpNdk%VUC9UCV*pI8sNTyJ=(fW~8KC8T>MhVSkw$#x zl4hratppoy8OmGLc1>pVDg67*OvI4I{MF z*BU;|sEF)ak_^qIsk$M8yg6J4g+2{BA*7ddyoJH#2n+H7$Y0_ zpihq3Wd)c((~8_+aiHQmh~VMApAw!Hj@@V1DRJF8;%41_j=PGhG5WbhSskn=j+1eYHad9OYQ2^3nEF>Xf%EV&OF zy1Iz2RPhI8!GKD7XabdKbk7hS*W^l^+Y8y5bT3=>4$J^W$_`L~y{GHWw-}W{NSkOo zHQZ(vC@M?J*AVt`9R7sY>YZ5t&>=s`5~COY*v=B!!Y5_x!Or0 zg|l3&g%*o^Nf9Z}G3^N*IO0&?72D$hS5e5n6eu@#xRA`bfhnvKlO|HDU8tELjVx~n z)ElY;wSo%M0K|qp#gXz9+yptgg9Loc@NfQDM2G6f!e=28$rH07GztcY{#+5=^JUZsoBfMR`6vrd`g^INyN* zMjDv?L2PbxzrYHxk$lf8L=;||1b~%qVcAYJ%h7^jxNE`-)mR1aotEo%bbvD&fd8Bd zep_!3${<#W_jyrz0Jiv$*bM-r0?lXSi(;q`7aRZz#ta3i-f}uKD9C`g;u3geZ^A)< z9yKjYCEHB`uKQIvj%yv-L=RpIcV+?;pCri=RFXOX5J(kph>Ex$2vQ&xgNhPsXaX9> zoeNd`P`=yGP_0i!0b@P`j}r{G5$7|F1VBo*)+sb7(vQvmMi;5sIL z$`_V8r$ER6v()q$7DVFgC15Xk4-05-HjMGuJ-H@3-jeU+@fIuR@+1m)#s&qA`NSl`O-?lQuK}j*d=XbJxs=O9EfzEkB35(&3(U zp=Q~fdy5AO9r{E&VI&7psF7~piwNpp>BCkL?xBVb9~H9Fj@=C!j~9=b+gH5yOv%tRw6-Qj#lwi9zK?-Cm9(Hd|>Rj{Tz zcUBXE#lxKnyzUCxsq6lq5Gk1?8~XBvn8@lF3TiSvJQ-2N_E8`vHo~5Db}7$>K15|1 zL~YU&+T6=dme=$&y1~YqJ zMaDNG6AwE_p5M2t{?VMtmpwaf_(7E-`lO}6-=`~@^ib$ZgH6xYTXu{v*|`d-7!b~? zD>%&qHmK0GQ1sn)hOwg^u~l&bM7IGg^fmEogVA%UWhXZNrLJ}!;K8s%U!0BuaUqFG zg73PJ>AB#fOuPDFF8p19OD%op<_~%6m;bUMvME;q^wOID$I-cmC4KgP9K$5Hrk(bi zJ_B?QZgyCuSq&6K*OP}1&}nPS5*s#V<^k~t0Uoxw8UxMB4hZhi#A-<=MKeX$60IdB z7ABe$6e1#`pn~w-@9w#-uB*QU{T}Z7{(L^~_v_8~orQyv^ifkPaWGZ;Wk}%Rl=jg3 zp1h?;PX5Pw;@ZgV_s(I*V{jHq_oDi)*9cOWcn>!b2WSolXVVtoDY0>G9{2l&t$TiI z_cuC!T}mZt!hgPU{pUbxWx|_uY+yx&MvIR=Q;@#mOykS-PfXYL*6ckZX%nieMqap3 zHt4UINWaW>|F+}S^XR(D`{(eI&AWrd%v0lcRY%AT&wgg`!4}F5>toTTjB#-vRNb%? zhl#S7e5iCrqF>}OfdzAEm>*FLk`g|S?)oS%lem;73eP2Q8s}{(JJio-Wyjdzmd3U% zs)UWxpYB+=8hoYV_y}Q3qv+aDD(m=VK_-i8g=i`idoeLLt~*i)3r8{rxz4Lmwm<{c zaJ5^D)V1SuqwvjBzX_9*>Is=R0wj9juWR^V<1slaVW(_1udTK9#roOkC)e@-%;LZ4 z%7i*6yPGGhI1|>z?Y57t29d3PUBpTd*U^`aeG-w*_6YK+V(_y4yOjhbb}Z|UpUCNq zyLL}>6{6WJV#MB_&ZB?*53C3H3(>9D=WgP*+!>dprCfO~n4D3O%8}aSDTa`l#rBPM zIQy52m|ANIkDsqC>S97d#%C%8HgIM@j|Lv)I0P@paQaJMq}?DR7TG44BKmW|vGrT- zJfGF%q`r_=-D4uQ3>`FG8I>HAkvH61ztY=N%j4x3c{y4ePA8>5;d})IO;j}$^4iDy zeQQle5EVtdeLpdrR{nF4^Iz_RTA%71=S(Nq*EVuWw>b6#eo*-dj$-Rz_eQJu)qIDR z+a30BA|6q#pej+P44PNX3HV3Zhp0ciT*z1@Z8-n6=1Agm^{k+#5o7>v%}=k8xsn}u zP!%O-q`{`j<*qC6>-A+6+3g@tOhI_K;b7oIFl=rzoXO@ci@kyX&q5W~9V^sROVs@P ztGkVz1Ue|@uE~EF%(-^)9~IbvgP-7TA%tfKdlEv6fsokHGiz3#&J7pE`ukhDXZ0K; zYv%l!C}a0H4rc(7hVAsIfMjkbA)eTzo=~dgYlZK|1fI6`S;TdPxNvRwhIL!_u(NVllR$$!?jMqFv$s&w5K8>1q0JkH5nH+StmmR2lj z0veQ;!fi=g`@QvApzj{{jqWAW2aukD4PN<&S1?Kjg&XlcBOs4^^&4iy5y#yj&g3k6 zi;UaBY)#yndVXl6?S}fwy#nU@Hl0-m_IcyvS9B3sWpc^!f{gzR7InVTbc`lnn|F|8+|s1p{bFV6y41Y(YfuJjV`M_m z$kV_h*GSt!5kdOw6L3`xdWlKpkATlNy4&{%G_kW66qNZxL!E)NKzGS*JYyoBz%G!Q zSHr&KX@LQ9%Ih`4AKn1N_#rT=`DS1q@Yx@8fj&`Yl8`mv)b9U7r6CZ0-j>z1QSuI%Ij4(!_VK?{j$H zBt-$yNH{VKsh`SXE97alL0Jcm2^#1;J*}Ki#%KCk(W{R(CoioIyw!=o1tl$4j$n0| z#*NYEJO$g%d9H{vfZhzxAltXjZo3P$v%%gDPB97G4I@8?=?kMZBEvxaLJgiiJU7=F zv+mrZ3iZe2mfkQmFDHd|~bUi>N>WKk+jh!Rusz_OP22I)J45o5bqsu*P4|gA*@M zbhXfTdpDj=DWgnn4dTZl7MFVsztIY&+AIuzn-7hz*{7y)(b~F5t$F*oQ{H`csmZliqfarJ*g$TSo&C zy*gMZ)}Lt3R_-7C*VYxJxWi?*z@&vmxb9C%6T^&`GC=Q1$d0_*70i$JQznwtp9=i6 zB^nV<`k|`*cGG3b6>|<}DCec-IA_(pBPWLvUSy2e!8%ZN3fAM#{(DI;Q`GDSe=10P z(c=%>09#yyc0rNR>7rQ^kaE&EGXBC3(rZ33WReGa}UJ=$0t6K_=U z+d4XCb!`XlFuzc%A73LkwMx&Q{~g2Y0d{3K1peA?}* zd;*ZE>|NjM?Pu~THyQ698q$1gXVv||0gqtkzDNpah)@u2+Jh-Tp^Bdp0G60y8_#f6 zX@xem;IuyntrS%?qZnN*w~jIh`Yr47Tp`k~_KO>}i(=C`LHRq8J~2@!M!#I}Uxw=H zMg_J<=cgB_Rd~A7;9)%X-RG8%e!F_bLYv40LQ0v<(gHo?DAn90*b*=Sl49Los1`m7 zT4lcawVwN@K2)jvQq`Y5klt=YJ-D;td2| zCzby%GcognZhx()brwn`uWxj*BBU z$P?Z5FlBT}1y}-!SIw$_R|eUM?sUW(jo?A`{{Rz4n|TL2-{odE8z&HNc1j=1jdQ7v z9DEy>Y;=_XB#GH6df5R;-91XQQ0H_Ldn_>o?#6VSU$0NNo;CA=9Qh9ngzZ&~$Dtqi zJ&4-OOGYj?D?t@&@25Ft_~dEj$#U1!YViGrnGXAvYA-!{hnN(b&PBVl`&Qr_B=0Vw zbC}6V(!)tWUBl#VXct!^7oL_oSUTCs1%~o@;YtiLet`#3r_zi`>H{8b{SG{ahWKxl-wGG%BQ6=m;U@3mAyKvMRCK90g^1djwn}edlL@ zX!bfAh@4T7BJU$}u}(B|4=kag6I>$$9Qb*NQs$<%+o2i)a~eS(m?Jn|pQSpA9J2~7 zp}7}V(-3M@6WBPVoRV>}4_2T+OkrKVfmX-fB4<)ozMJcG-`Qz*$-6284C+DZ6c~wn zXg%6+%4&nvg#&f%qfMKaSKw%fR3 z&>-VpW2pGP!9+-IPz6NE1rCd&4>&&D%u-ZWw9X{_2ev`3?_WA2e$%a!pt!!!&BQQ) zqR4L05O>*4u~LTukgQ=jLHeb>)r4@W+@TX*h&;;)2Boy~r!^)Ma4aE2T(md}R*G>z z2$c&6*LWbnjQCg}p&Z^@VNwZZ<^vuN6>~p<3W!SQo(*bHr6w`PLkQ$RAG!^w-g^ma z!p7f;9qa;S<3{j5QJnDxNIu@ZynUgB2=L%Ln0t$a2DG9@anoei1ypT3%4dRXZr6ev zBqw7;!%pA=egMc#0TN&>KMCNOEAovrBB;inOV0)tAbO<^bw^V}iq z2s;V@Vi8O@gs?+YoZ>yMQ=#_vQ*3U#CG=1SIh`!-j>F=_0;Q_L;tq9O%D{km|6#7c z6l0OU``95wbj#bq zm7{p7oG{a411a$wTNZ-{BnKrzT@$Ai?RWxSL;`pyh+=ylDKkRnD(Gb+RN|bu1hv!T z&PG6qY_4?oUkFr7r<>7X)bKg-?FiAu&YlTkC5RI6S@ZtlE;1Y&h~{o!F-8OS?pWf7 z2bD{mL!Rf|gZ0ORyex!Yf94reU z4I3~GoC{YzCl%m&qinDMs~cA%+s|9X=vI;?5~Ni)9lBjEy*IjXqfsod$&P?Nni3Ui zvpZKRP*x$oE%T{zZ#lmdNTnfh(QG1_n-9z-{s&Q{GB(%#*fxO2{ zgD~|d-i&I7=Uj_}QOd*uAPubYVcCh>&<|Wz@nct5ET6LM2mr zD&O(M&(sOB0iO#f8EPZMnBQNdwN2u16A_$hh+XexZWh&~1oKNV5(>SS;aHlvt1Q#Q zALODsM3NbRMKTK65pWHXVY#%apc9A&@)eN}@XTCozxpX~{IN$G4^9VPOdNr7HOgrf zH^e~jr52Uj2;de0az0{UrlOZ{&t^bWj4$>S2^VI>4Rk=h-`!&n8SDTjCcP0Vo#zHi z&e);5-aSe=b&SRGIlGcC0c}dqEfhZG$IdTsVy#AdEhI5HfHk(L5QNl$yj9vL5T~-x zu~`v1M6=1QCGYR7?e-5k`f~`(0gSOontvcCVD-Z__$EK?((J(L2R~r^x)o1)5gc5t zYu3W@YFj^JQN0<4t(zJM%RbqG9{b%;~t^{d1|Jd)qQvRt$tC6d_yuuH@ zg#r(d{Bst6?=TIdCjU|Yu<6|8xx`DFZ0=?8-LS0(ro}$De;`diq~7_XE0g@{oA7Ut z1YB$4@aW-dmGhi!Q08d<+F2a5!kch#pdo9ClfEBg2yBXZ_2&Y$;Q-@I*Z`OihV8CM zT@f9O^TX;_ihk5LkSQm%yyeTm%sDVKUxDykO@J)v9&jP=;9Jh?Lz;A_O*TEQ5|G;S zxNjaY*NvpSoYWLVm}mO#+%NVb#S_7Rb(T1~$ot&iJDA^oIa&wDXx46mjm7D1pYnync}o{OM&F|DF}mpdKVhzlKA%Co z!QX(@1!GMX{y}C_?6%I{5HDh+2SNh(%zYC1%@5`)6`Gd|TiJKVZ%EI}&bFSY6rX|Q zuO{7tCXjy-*4-Ict^j$VLLc0hbdA-lvD@rMq3YY4-pH(Q`&d|!A`9z3{=-t?%3{_O zcX@BVS@GeH(A10TZhX-$x(0U3zf&TDX{os~mxrckA9EQ3NuOhC#fNEimc-O)3H1KI zquqRSVdq}ZzxfB2E?EffLSQhFrJ#z}s>g37MJHA_6ri{(5bb320~B#BS9|+?!QkYm z9|rn}_&|3it`q9979b6TPJ`g_hvRy0ZrYp5-Q1>qte2Kc5v@dd+kz43a-K=&e-nK? zGO)VahddOyJbULTMm0Y zbs}RvxP>^SA>R2`3%7ozBHT*}zv?$T?hA$;(BG?$9zbSR(^UX!YAi2uFXsM>I7R-B zY?du-5z;|>;4`(V!Y#NaAhp5fP|ebbj;-X+mqhBy!iLL7@rEg#xVzcS{j=_4$-?Iu zP4c#?GtVups#M3FcY2*0(&f$Da^=rfGbsxRA-B!!h!fAv!|6I<1J3?&p?^oWMY!S% zW-`^QY?(J8%VsfVR`|SE90Gcn6NrCbcv#@cD_2mCjFPk^1MhwRCW!VH@EQv+zatPB z>F+qhf2ShXhQ@EqdGYXzw2gTm>CfGLYR`K%643GV5G6IHC$(<0?zgspoySQxfVkm7 zQaTJBQX|`CEspOo)JvA4I@AMkbN`*Nq_(vH+dRGHiccopQitRG0G+cv^+xBocyeSkdsR_cc2!7MbMaEefAi z>}cMzyTHA>1$;XYB$b=gSzqQt0>hDk4nCND|OtZ+(i+Btq?UPoIqTV<>I*$tH zWot#=3M*^j^xP)Gr&X7bSzN6Ctq*u%w32(i)P z%MIcD7U}D`S#T1p=yTU$kpOv9WDlMQ&n0alH-!nQMViU^75Em>XT5WOYEskIvNp(n zv$GD3j>_-6{Rd`UHvi|`!B<`jwg12xv!2mz%(XA1+aqH?&VO&P^J|;(Z_-C+m|_OM zI!A(P+qA^L8=36Wto%DX+ss?OH@ySlH$L0m!Q8-TP&8C{5V#j3^Xx4C{WD%wyoU_IlZr^!%Q zoT~`@#OJpHZY%i$>_4!dbgy^W{nu$Ni*gjZW<=b`b$0WGP^~^E(g1I#_az1VMf=@_ z`DNw#ybEJy`>8Drt?QrJ$INYR@>GBktFdbSiaccqUpIOJ{Xqn`Q=M_<&Pv5qB@R2+ z0q9Z&Y>zVN?h4M{?rt3RlLB~!8mWWjpnt9iLWdUdkU3DzaCW3&vo@>;`dn9Uz}o=S zNTWz}73sk__@|*Yv&N5SCo6keCpgPdpG#8{>Z&5v#Xf)D|NPk}+hoyw+AM^pj#wHM zt`l5|cmmE=I#GdN7vfPC8E25xeXE8EZ4>bxg*c!a*x#+SeR;i^mf?r-6vYhB0YQaC zGNmD@$fgI*#&w*5;Rqez4!^JTgSX)PdwqsH1tZajCamR8;ZhHih<+x&j`lI< z#H1qnQMp-(^zF#ed42cP+!Y-}SE&eq&Px{of~Dl+`j+h>Q8L;Kugvd|xcNTM(<)dyR@Idyl?o9YHc5irY z55{gd{XfBu&&RVL%@1ZV=RI#Bry_&qcjfkySTn%iE!Nr20RKD?jBN_-INB{$2%lngOv1gf&>CZ#|0G{ba+tl8HR?vM^$~640qA5>Ayng|~}}9)!1t z`$X8r84s~=qY%u+^9&$MjS&}xLf``$VhVHuwQ0OswIdtE`eO*e`N_xPjGA30Zg;LXP3Fh>q> z5Qig|1{j=N3fMAl$YY_e7X}%9#q=()ZegS-tl|m^vT$N450FK+aUV`$Pe&KarX);r zi4Q6OhgE^Xx*~kAQ2X1TnnaZ6a`oTe1&}TV2nIOWr7m}b^X>UEzGBLN=erD|c6sHh zj?kXY9uQj=DUk$mMIEp?144zQ3c42{!qrT#C>T@ArA$G0^9+E@;wHWaLx2%I1!`wl zL^Ye`(W;7J5E9hJP;IV}pqxU+WVp?BM|tJro8d^i9#Bbgdwo&Bm;@5LxW>VQqmL<% z)yg{)_kO0I`H&wbdV!E4bx0^y;z!DN#B~SMTO7+f{FR)PZS+yRZk%CL>^JoiLUsv@ z<8>m!0*r2peEDb9KQPob*^w_)k5%e7V`z~6MDUf=G3|4T9oyy^Mom39>)hMJ6kV9@ z4yeqS87lS-R*Oc(GWqXw_!4mLlS?~N3|NdORc$rLHnHhW>pW{&{%c+~p_DwM;saGo z4Ga{NMBV6AP#z8z0`rS(zvvHmq;DMAS2{t!pKeDK@B!QeGLA_vg0qjTGj*89VuM|F z({`XnnS^!fN)$4K#^kDp@fE5*W)^qbP7zZE)E3_=qX)BV_$?V7RHv2-w><=X7mbtk z>%|{b6t?_&?#eUFP>>wJK4m9L2KpJ|s0ij+5L1b>FXW!LT#+B#6prb&XcXu!$d zA5hAqE)yZBpcSJoQP;r~dwWyj0uF0M!v>-N-xooXkU4|}`y|7(BNm_QL~`(YUmz)} z_Eg~Cv6z((&~zJKX)~Dm1=4A#B*4wggRAQ?JnqK5Mm}Az2O+V$Igww|TK3`a;Jl_b zmUr3=H&F3`$Sme^eskog`^3Hq;WSyYSJ1)ahv%92@#W=49=g=u6{bL#gqbO6@=6Ei zs2tn|AEXoMj?g-nR`95!K~|wms^=oP0HpG*{fbd7GMFr*eBHF^5{W1V9Wa;9^)6Ex zwE3|2!7<+AW)^{bDxnp~YMi>Mn#ctn}p9D>GqDjBb?Y=K< zroLUTxoMjPS9E9mJBbSMH6f&6_KMBmTCmQ8-}-s=QD}QWBCyN31k=n}QWfz*@bHXU zKimZ?ds@s-E*gK6~BX~;Df%Icz2{&uR3Kc#1TTm`4`9I z=deo9`;yLc3Ij1s9!Nkx5l`WaT`8KVMJef;r<)T6-C$Z$krgx2Y02ko^txZj4khMr5 zbIKjS zCNlsR{B9CIRuPEAM`w{)K17O90JRh0d@S4!7hz{XBdZY$W}Ye;AVGHv5}AxA8xu_s z;j9fL{pte&B7u{JyHiPm5-^z~z+35sV)Eo;Xjsdtwe| zz;+Ql@aQat=xk&AV~a^rX=^uZcyh?yG-*zaV0t8ByFG=4p~kLoB(F$Jp+7p0pBZ?! zOYk7SH-E%_by!zNe$(r10E(l*y+sQ6ZzEy+Zb)?9oq%<-2|skvJN@uk0KV?~ zmo?g4qNI;w?GO;pmG3}+HK0OCR=ez*xs?2+M|m)BB=AXBMWDlrioG&lbgcUIZi(9O zXx}2QIGy-@6oEy(L{~g1;W2pA`F`U|KF|FLgDII@3`_g;R>wjMQio64@X?t#;_rr4 z_afa}M)0_XxJK@Y8<}G%6>+SAA1FT!h)yFz$=aeE8jWwYm@8 zUwL~NT@HV{X;g#0DDBCAU3>idyD73`+df$Jtf8WQ_@z2^M4vw5JB={f#rOvgk-uWD z?7wt=`-9CiEFf-VIs^)HlN`re_b~ZS$fwdvVSDqMFMxS8k&%g0&-P}sxkQ0n^ z6YVqe@$n6nq@I!WTN4N?+MMe}t>w31%SA8miz4z&!-6kaua>R$@AW__;KeL-i6rAP z%IkOxyzoFWD+dLlXC2DpDM9c;Z_v%Pn*@+-K($wpmM%*l73ds`M9>VN);|4AdgDgh zh|RSn>sqpxzh2ZbQXCTFi*lNg(~ILUBvJ@nkwaA$=sD z|2$tYk>e9_^80!201s(w-_U9A_BXZ)X9l6`RV`}=lO7-fZ9)2S9`ItRipg(cUH=E_ zjxN-;B86*1M(H0*{0s{b5ATD-g?!L4N1y*v{wj6-@pbO$v(gRMrkKpM>&yn{#-T{Q zO8#5>#|8A5BRQ%=HxDrz^Jd1mpCfaX(*{)j9JK9H%!#zXlOxT*n!TTwhrV!SIK+F; zCNBWSxv3zH6q$$j72~>*I@A=mS_v|M)RVIyeAc7_a`|cke(uPm{Hr?X;KyM0ND2v4 zi$ZX&o15qpUdr!)A6(6MD6+_oRV{~0?&i3ZM9PdfaivuD_T7o)`jkZaRhs+?uy_|G zK7ZCm)Xsr9$SZr~U!cZ5Stf5%Obo>Z2dwx*=~+m8z5g0BN1sdFUqX3tsgSDseaIV$ z)>e!bv)y+nT?bt&jRMzJ`NYsx`@G;p0q{P={NbS$X&Dn9ij0ZYzrWh!9SqdAjIt=g zWlW)mpQc>IU8}qD(ZyGqgQ?yDEeAyBM`@}fl!N~>wgHv+U)x`KR!RR10XpZ#J0BM$ z&VD%HBP{9B&th$;OhC|eUoC=xL%vI=s@oossZj%>em&4M6vqb&v+>#9aL=1v2oDn5 zp{2%M z$|vOa`ff9hhui91oqcE`5>VaS*#(w)(6937MBGAXP!XI&;q2k-j{U9E{ZGK(`@mFJ zv%k%fGxoAIJJ0;zA?FK1e9wO{0c(!(3yXSLR6BMk)cE7y|EX$=!ZQYv^vP7eU?FcA z=w5%)P5qOH7J^ZlRaD4J1_Z^lx57pG;)@fo;9K~BL^llh3#p{a*1w;bKUCctZLB=9 ze&odF{yPALazbTJz5ep~LgOHPC}ist83F9b0JFo-H{2pD(`wCK5y`wM<{Y$A-D2MD zDBaZ%ldp)%2g!_xj1#J?9qw1H$QcE)jFp_LJCj8}RIf_;_OqtM8Ft&hD-Kbf-uU(2 z*mJ4;$Vc2Sch~1D|0ct<+N%-wmI1<3ytb(DnTrCA1_o%h&0a7mA0A0Cif8g#LXCDNB2GC^g~5KwbZ#4BFd9&UNq%%(AcNpXyq_^&gmS*_piO>L=5W6L!|W z_^kEF@son`QNd%EO%JtAy(;RNl=!2(u}I(p?TSrQd{T0tq?nj!7!^aZfJ5a147L+V z3ogtG6dkc(aXCApzQ!{NF2BLX61!Pht4O7)4r#gqP4+;y(Ds1qj-7nx}ncjXl zVt%rYC%B9(GIm_`dHS>F92PhBAon>4pu}SM^Fb?je^(uFHd%*2CgFm72LZd?H8sgq{B73lhCs!KtQtvSWjE zS8ab9_+*r~0%6rM(eBv#;O^Pb^d~QDyCZK9cXPdl)Gvuk_A^=1ucfJ$H~(!_?~Yd> z%9;aLcO6_WM2fty7(YF&@6B(DM^T5D@%E0QSryUkDr@pO54zWYR+=CO0PLs z`LaJ{i_A3o$jRXXWz}ARD@oS%5ECRT^dL-eK`wr_wR7|>dFPXgaHG2I&aZ@hkn7ADk@dst(U%}E3uYQxY#to zcBkOFQP`l8US^IG=!`&$)xIz%^$acmq%9?_B_m7vI9Rt2V*Y6fUxN7^EtdvdG}(l;Qh>)hn*fO`@1WY zI9lduRlJ%Pig561-55h17^%bQ3hCYcN-g(u=H6-k1N22pc?aN}V|xsBi~SF0R&$9Q z&V}*N^1j)fVA^xzqn&e5<1-HDQ0~n1%3P+C3Q`O;Edl4FOsC&Rw?ztRqgFey)QcyW zXa`Uxz#x(6VvR^>Ge}8tHwSbSN=h`~b9TOQAK_90S0&}> zMsLoIhYA$NSU__acC)Caatq0kk3|NYq@f+bD21Q$r2Y;bS#L*?IMpCNEwKt$2bU#L zvxIpzyGc_VVJ#Q^HPZQU0w3Jh-#$jzB-yD(HcF;4E$t8~EW5g%tYW?lw2$C48nb%EUL4iC`X|+NI zxUh!gU+G&W516VxtwA1RsXQD4fpUBp(S-N-$FHl+M3qo%?BrA}fntMh>Xg z)tk>rGfcagY4vxfA#mg2Q!4|}1fm#hiCrYl-9_Og!iowv6Znpn^#0Io68uda$o7Md z#H6(N&pFv#A4P!V5cQ)eLcWq>G*ygh8iQ?Sz@JUTI&IaofdC1ayT2TY0u*o#`7oQ| z5R;F?C^PnICWImbG;o1oxZn3L176P+ce687$OJZ#XzgVv=RxBZ1qrEE6By%?+J1me z0?i|_vTbz-e2|YD18S5Fj#`~#7PNByfjvGAcS09nJ|xhi*>$qkrWBPty3 zHMmY3fxE#cVi|oN!fu`b^5TGcS1-3W+{4X&!03uKLEOFN_8MF;LM^j(8_PAkWhoDM zJQ!`O@Cb3GQB{tlp`L8jJ85VR8rv%Hz5v&V%Z!6$x zlj1d43|*_yKWaJLE1y_O#1a|SC{BllXQH@?zbhPir*8B#5V_fEhYS8Jndg@Va@b(h z%IaT1@5{y+z>c)nq&W@q#xxt$vi-dgnFY#eTq4V+&9(qA6xO-$eMOM?o==z(#g;FN zt=C@Kl&{0j>ZC#Mlu-oEU4+=dq4clP1JJz!K!EW9%)~aU%Eb>Yw>&Sa7-nWGAmC87|(1!)1cOARRHUtHqbZ^=<|kP zwd8P#^5lNP*PEVyn3DZ*JI*gKzlMPF3r;TfQosUzKK4o29F`GHsCPT zPv-(%M14p*C-c;Q2;=*OiC3^639tNB09 zQtQ8>eztY>%O_JFu*Mr zH_w?(^q$vQzaIC!{8!{>Q-;FL7iSj}k4<$|ZD_qwkWu_F=)U#;&PaRTA4=kNMY+{6 zCpM70hS43fhQctx;knM<)YkxzEB({KSpju(z3#r>{Xx?m={&pr6Vszd`}SX*pM6VN z)^VrUV`ah*vP0W{^?I}Y!nV2X?3o;HhQ$05Db(1;7Eafj;{@~yiquH1h(J2t9-Z`lA^qG~MDk1* zd1+kaNY|mSf-^q%!NLW59flH7G*IZB+Lth5Om;cfA5#Cv_Vv!Mjz(-xd@`hbndbPx zoMF5^QM!_+p9+ZwlLNdH%}{J{fJVyV(=bRummZscIAt?nJGY|OBCV4Ml=9@k@dC=Z zI|F=nD9=YS3RLfF0U7I7Y{o>sN6_TFV#>BUm^iI_UFUDZYU};|{ggOc);Fu)HY4N< zUqz(3p2}~WGpEfp{o$@0o2YcfC_fl!1jTFCvpVs#vubXlf_20`2z{f*_H-s*fO{?q z@eK|Z$9RG?!ZWXUymxA>D6l6TKHzaPoOV?)kYvXC1-d6P6NIuuWoM%Ic%Vz0mN;p* zCb0h9fd@e+Mr{Wpov2?`(8pG&Y&tfYA1dO0;tm`2M-}jH1s0X4uWG4ybhx!|!TB%0 zo5AHOQ8Z{x3we6vdE&yB&7q&%#s-#=*d)Z>5`MVggsw1m2D%GL^%HEMX5E?Iu6HD6}z__jscu^Q}kLOWdq3{o6(j=alVf}KTshJNRTfdM3J*nl( zSAHJf%lu&7zTiPosDKnDow&a&KL|h>L?GjG*TJ{=<7e;u>!Tf}5B~4`jgt(!dBVhY}JR_0QBh|GjH#Jd*AT%mj!^7vmh#5D>bmaD}&i z!H zxh|pL#DCAtw)KDAXub{l;lzaYs)oDfrzhK~O@i%1(SBOPOpn$aIK@7j`LCGa5?*p< zhOhLPam}UZ|-Xi!pVWgqKzYRPLVq z<5?^Br*#dd5~`mIj%;pk9ee&VuixFcGSC3C4)ApkB_~n)iodMT)GG;G_kq?zPb#iw3~Mup51-Rp2Vh~fNliQ4(&;gC`^cnoVxM5` zZFR12bc?Fd`E7=LXYPw{YjK`ZWb(=qa98IDAlv#reV6By0-1GC$S(*+E(Hv^MILkM z(@ehG9m9Bs_J}^6iB-bv9pl(umaQ|ghWOjQx-%K6bqgE+V_~P&U7na-ajxnQ(c|5g zD{8yrn||shDSpVrVNgU3PJZS@|jyy zQr-U#atd&^D4@HN1n1*6|kxiN#lRKyWipRATWe9g5r7R_ZRt} zM)`oKNMhTfZ=Rb=uEn)0ai$Db=9a zU4?~xK^5|^g@f^Ug@Yezd((#456T>A3t$wES5F^!6^B3|;mzluzyecqKB`V-J2y?VXN(7=7=GxY^W=%fKJG0x4>jOF8Xqqh(;6QzthwY?5A zd&qhVzLxXF{N=0AC$D_r*})=);zV`_B0$PIh0lah2WUK286p_1YYsf9`*uX$NLL=S zpURM=1~+M#(u>d{_d8dgWBzCPc&?i}JXQP#h*BlH>~_K*>>M~~HTVNRzVPzC6M4KJ(IHFsQjE%W%K z%khM-gqL4@n*6+K|I692XBD5W@9u=Jt0-g9`b6vkY|j{CJr2bLwrb}YUpl|gCvyps z`pNa4P7EAJzy+T13W*!ej3MtA&VAYW3!-8I3$G7ItWBOV@7~^a@7sb@Q%&Q&;}x0% zTL+Tc-uC}?Iq~GRkqr|K&MU{#5|+-m90v4#kmW5=zLXGRl4 zwaG|^lP9D*tg)Ux>`k%$W+kZ&@w?(m%D;Bojg4ka&7Jd=ZT2s7@baB$w-0eC+1LIO zo@^fD>@TWN1ZwSpOY;!eCp*ZArAW9kF%BVM6!C=OP`3uDK{vY*eaSOlO&pOnTyCwk$#&c2sR`YW^Xi1kM~`M@46&Chcpg-t@wBS1n){abGDN+nOHkB>o9jC)pqfXr*)UTHr6%*|i|ik+bK3?$$@b=%SL5{1^V{mY ztM9CPGGN^+{m%`>H~KTc0ljr6DE!*knrD-{JYXSUTMpSo#wrf`l;%YWi^BqgiZsB9 zkNXFP+@BTg$@5WQ0wL~W!WxF?{=2FS{M*oI2OTE)J938Tth`!DPH(T#pyh|6!PpYe zkJ5FvU=K9pN~Qs-Di)mU_xPG7|AB=7xC6fweV>(Q0zW}7-yJCijXa41ZrZ8HP=n9H zbj9LU^~c$uf5+Pin;0fH`v+LJJJtm9f%a|6Hd=;7Kqci)@m5BKbrDD*%p3#4>M7ip zj`R0J@`08xeVBuN0^3Lkw<|qq!kjU}g7ZBbFh0!L!N8?j>oZ^bIB&1RDunO`I9guQ z;)i51nb`rmYy|mxpn!(xI}l);gPM7_+1hFqj&}_-;%|WCQ=#^^1(gxV2m}b)cDm%X zs5GETiHNLSSkPe&?QBIr^rPJ1DT~cy>+Xsr9|x9pjMdYb4N2@zzOV)@ePmaQyyN~A1&#wY_!QDzfF7PXeONrn z(_t+GIfQ1HRpVE^*iq__7!^g{p8;-1r@b0oYW1J%jbH;_Eu(i2tr_W22&5vu(<$r- zTK$|0)ZNbuQD?~NDT{dKQmA;ZTAH+pi-yEfZvkgis#8zRxjaUtz?dR>p}ch@L!D9f zUX-7qPuHv@&;<%xjX>f6ER0a6vw!7$1;34ZwZnCfhCJ#$YZ(RXhpV9B`t^Fb?|L9M z@AydLWJdtn0l+hF7U9Oj83Iy^uDM6=GmvbZE)fmt2rO+5h>hsz#$E9&@AfzMf{5lm zHoNT!9L50r;kV%c_d|WOq5y@(5?TRz+Y%Eu5eB%oJ*Gjct=AizhY3-BI!rJjh8?R` z*@(VkaBC9_Jp^FYxqw687bLdW_0u(YV8tS;)K1!`uq+=kl6sX`T5s=GUaek?MKX+n zzp@HI&_N&LB`+!4N!4H+3k=OF`f$Z$K9NsgX2!6$2M4^en4tow@V(5)sUA%pwU_2m7`V+(_Y^VcJ#i1WDlmuN<5MfLiNoa+Nf(xx@@I0Gc zunrF8OhBSIkw_#PV@VHY@a)K{(nW>HupZ@!fEm8Txo_{F%^;YvVNvX`*#GC~%mb3l z{w|JT(PGk`PAJZ3*pdwnoT*{zqFSpXh%v=yx5O8T~Dgu|vau94v$x3Ne(-fUb zv?egIDAAz65K(afMFe_p??2Wbr2@}$pZh)coX_z#li>LMI%S8Ig$DAks!?~a%(dpr zr$;&A9ww&abMtBxg8dRKBLx!dE{KQOlcch9s2??{Jz5kas9}O;ipa$83OSJ8qN=R} z?-8e2f#_URht`UqJe(PW#j*B6W;;W@2_0zyJD)~RTQjOGr4_@62TwL*nOl@}odr~}S_~}JmsS4+*$#-jt;V;(rH^hm6P6QJfG=J z4d?7rsiJ!tf#1uCf+l-r{aCms8Y6Lvw5IN@5X$wvD zPe+8fXF^F3@oF7Qfw9zwZ{byKv;~Pulf^rw75$wKVs>I6578$FJ$$XyW{la(@<+*R zNWMq@>tbEID`sAb9Y~`>U0IPVD|)oPO_}{!W$&Y)M{m34QrV6^gi=Ptl&7?V-!i9Io02sR4(NQCnw(>phAi?Oqd^!K7W zqU>O3d&DCA^Sy5cw;bFU*v)<#hOfQ?DM<|5_^M4v08Qf}hiRJ>EsGtnr7Sn7MYNq@ zu~&@xsLI#HqajLL)2JXk4`s^s7URS{3{y5}AHYWJ5Hq~?QTgmV;O!B|)9&k+JcK!x z3JD@UmIobK64RA}LS7UgZ;1N3i{=Jet6VG5mIy!Xr*|tA-H*znWtUC^B z$0LS>GmaRjl6?(nXCcmlP^f~ClkcU+Ume3+SaAfepl z(eG;EKbPvcbKaXN31Raz@Kx85E4WA1E-4OxK^ z`q?}DWv!Cl!d`jZOBRmx%F>@SNW%_&NxY3!b!J?uyZ5B(;Pb93^nuDXyF#vV(co+1 zP#EZD8J^D8uxhN@`ZFAFBW7fxPUO=r|E46+RrW1ynidpf$R!=drJfNz88T-LHc_J^PBq|f_r}IoQJ#J@PyBB>+dHof zdBN4*$($j?9t&$8Ba@iC#IuM=Is4j*z;m{l{h12%GzgC`Y=MqIH(J@?{c`ec-DKCM zEp4@ z#?oje;Ov}d`omltJ#Xk!E*xbBkO4+^KY85i{MqKlp!{;AzyOxNYTrz77~;-%R9Xl zJ_c{M`YR$iIS_L`L+CkUmfIwy^6%TTUzWbiX;$ZBAk&|Qx)!138#C4h0bYhERFy|x zWJ{3nybljvlmctg28lj#3@c;sKM0mV&VNb{gcJr26D0ZmG+S=NrZ0Q_eKDH@@HdvW zqns-a5ZawT{;fIh6pye{vs4a5&ea%u*UIKfUm-;AlmM&71Kde=rd+|+?AF(d`@pxy z3m#51Y1${oO<0Vl`QlGOYCA0+`?=0hwrIU@Hq@>&bq5Ce?)6iC>HoGyq#gyKm$3K-k~%KJ#4wkM_l>SNw+u{c_qGf+L~Q+U z89Tm;*KOXgEC~-$(xb4FCeU($Kk@RhuL&)8oYJYrCIn{^f?S4LAU1`53bC^T+L4<( zbIStv**Xy#!FW;HGubAp{jKSE;kL$SrZlbP7_xaeS^s6aN%mo)hD}`7-X>oFdnC6R zZJCrak|7wt^%EooDa61?;ltM5#3y;BH0uQspu{z4R_x~xh!BPr5IF*DHR?O_kD9~c zvE#bI<>aH3FPy${4S@?NdmK&$3T$-V=P!p(P&~veromalm-;;eu!AgTx;Bh_d z*>=O6)yhJ5Pe+QCQ#Q(aQfIpN#CgoAYBD4-qYg{}WOgV5YGhK+}JABS=b$Cg{n zDUGX*L`DzkJOA-J`K%Ttv7gW)K;oW@>>(-0R?d)-rtsj$Iv4zataP7rL2&*K>csmr z5?RCo<}qXSLNPK-XKaw{&Pw9PlM?wm%n&nYuEm*+?cS-}t4^X6spxM(k#DB)*0_U61^joxoUH@6$dnF%2OrQ8pV zg3yiAsZe^pZH7xs4(cQG)&q!c+t)Y3{m*W02Ex&$dz&#eb zwJ1T-Inim0GiLDGX?h9)0_Gb(FKvWmx5 zFus^{YUW*$i<1=_a{=nml=pk+Zn|w5QEZR>FGYbMiuM<;%Z1yCFoH;T|K!Y2$2(@v zq4pKw@30p)9F8X?6p5?5H#kfq4-E63eEC?L?$|g~@!+bXi8bx`k_#X*GSpDZOEQEM zB?jWmET5)V0gZ%QLQ5+&4FrV6=z-+fqAlz*MdDfzeB#-G2J=A}iM_kQc)GSeD13OD ze>_#4F+sFMygq8uCTgq7szitZZG|QQ7 z5IOU8Mv|@Gob^*Ry0HzYM$f4IQu$`90Y3xtt54}>UoFGW7&SF}?okG8yRU1`)F}J% zP`d*9-39x#$I6gesf~+P3t~yYlM7FAS2abrjvIbQyY^bK#MRa?{UWI zH%4=^=P1(;R3$b&eZH@ws7r;s2y%sjeQla9NL#xi8x~BKlT{Cu$)3LitMXXL{keb$ z4pQgsK9^er;T{rikWvHLM$)BFQkpqn9Ho)*yC9&$CeY+bwa0jd7)cabv81*UMrc=z zJF@e*+%Drt@Iq-dDP511sNVr&iwTFl`w!jG^s}UiOJz~7mSRD_sVK1=0;p$SL4U8& z$RYSs{5^m#)LuP6A_QI2iv~PFr+x6KA>?;CKlQ2gOjuYqJMb46YVCn@Q`7wQ#)yfxYC6{Qxs(TVDg zUqCHw8_8%ZC=!ppM$AC_uz>ZXNWx3(Uky=0TS@HaDqujm3s_^b-LjML5B1(EYomOc z`t;AM3JimK4rDgbZF+qpf7}UPu7H zuPcNGHsI!PesQ_IW8KgHfP8D3zX=9@iji;5+GnQSm~9(?!@%`O)uo7WCe{4&!Z(I+ zf}_+1Gf|SK4ibZj4C5y1WWKEhu|RGw|0`{534q?&_C7LuIo?pnR>8Tvh_^tSO&vzx z5&5;ZE5K`_?cXgnjSI1&Zvf1WVPN=xou+vQHg@pvPYRO-vKQZvd1t4l69ipkN13IX zRRTdFX4s;=M?5&VPwJuJHE7Y$b$ z_0!;`R3>3X3Q%u0sWO>SqA7=dQ4Ptc$YYSGcBX!ag12AHOiZ8{G&?srWKQT@n=-)> zuH$N#Xsc3zq{t8@=>Z~@-kf6gg~K|SR7E4SK*meNS7a(j#g*Tg)ikcRu6e*S*%Nuj z9gTq}U?UPRUbLkq&e3kV1F?4(SGW*eHZ z&8QetErHBJ0rVA_O!3^;lRCt*8Obnv0yU%S1&xgrVbH4X%NC3dV!|R{vI#ncnw?ub z07v_9iff7H)os?PJ_0WP8x5bezcvOFa5lvbhQeMzL}}iwvtX}tzC&pR&b%p6Uq5LA z|5Jne`7rRJrz;}?6NG|Ka;Nh1fO!!!J_Q=oU+_Dum8p{^GypCI;Cc2afGjH5f-u8c{-%84m^-H%4xrt`#EKFCn0YvB8jxvSUZn#Fkm#9{D^3d9$oopg9` z^g>q5uYuMSoR`i*IDeLn#+*-r+qpRQHj5B3PRX~wuMBd|optc9uTMTj6QpIR_STuM z=EQ;0`fh2W^a-h|_7Hf@ye0 zqD$efflHUK7u;Aa%(Q@=QWP_Hvqco~g!VG=e35TK#-;f#8O5!`_i}?w@!zhLR5T(U zXvI0kHbMTRBRt(Gny`>xd8tDcX<{EJc;Zhj-WkcT!V z>fYYi-_pJ1!JDY4yBYNE@Sr%SRf;{GdWiq0ceK#GIBlU)>xy-o`kQs#CB+r3GF%jT zGXMP6J@E8yq~iCtyCWu9wSwb<+|?!J2kvJczJ0#1x-Qw3!>agR`CW zoZlVif580(Cj9X2^NvU8!RmL%_P#oCZ$rVoq&u7h_Dw?fj~n77PX=`#`}kL*paZb|%>!2UD<1o2+J~}j|Cl-3$!0-NxO*mAIRXz| z=8}xry!L#cC=^aDvl4{wN!NU(Q zAtWK+OD_uN2)gu0ZlAayq(7kPqY26D8(6moV*%FPRCC-1P0FIrCtMLR$*A393(>+idPBQJLAWA>aDOIySLT%cFpJR6Ee zWxSABchVXv(dpqsTZgN}H&4rilM>_c{>#M&1R2xKA79))fB)}q1DHiuynO<0;5Ix< zDdMbU@Rt;)(*AA6eRF@_pX|XtT;^iy8DpoH|8h`TG*CD5NxOA|C>-KihV4xtiTxl^ z_AX=o$yR_p*sf8xDaY0(UbVFa{hq`Ec3m5)pOmhNsKl~G<&r(%eP=hGrPWgobx&!{ z8}G#BCi(Rma%t6g6pY>MkWAO=VGJGzyQNfA zW8C~L_<$Ixctp&*u`Qmm{L4qa^B~jU`V~}3b(#Nu)Qnwpw%uN-*!=-51O^g&!46G{ zrR|dz7#ciUyi*-AwD}Z2m;;T0HMr7eDJCT5(hvSN)UD6!BR%hZHpE0U#Ar;vElQ8c zVQ0Liog_bcv50zhVLQq`frZ@HViIPU#xFaS-`JP_Yo?m6~AdLOt40nU0+ zUS5vKUdkwiyE2?lZq+HlzQ>`5-BfCea)8Y$dV4nV(foF27z0MV&=XByUAN=i{1dj3 zhpRkhEdS^5`?&w=b-TKMKxVYgH|@TzPOSe7n!fm)lfokfg|nUWghZXQ6y2f`Ozyg# zxYH%|Wh&a0#eB)8G#uP+7a7gj(PPe3*bgy0JNp{5MQ48+fHo#4VXwsx{@NQ?!>b?H zRPk!VZibeqfE-sCsBW=uR*TczQ7+m4^K{$&?AjOeF}>EH z?+q@K>^U^CN5eHCpQmqF`%s5SovKHSC2a=Hei8@gQ;~OOV73;*o!Cm-AnV9cdci)} z$+X=6NHHiFTBoqHW|%@AimVrSNEt~UgMoIU{hCYr${j0*pEZn4#Z_Fs_u=T{vtr!t z-Myq#@%Kq*B7?jY-L5Kx@5{-ZGeCK`&d_OY3f(runGVve17o!N$O&T0FSx7RYP4Mo z+M14;SZ+5?`e$9JU>uTDBe* zzT>$2XqOe^nm%jYF1ObQ0tn1f8+iis>g{(_7*_wd&d&h0cUe(T$n zOS%U>Z2d63wH~?oevCt{t*M|5hU9>$@YuednF4EOBR$V#u%aAZPkguiQZxLZx8l2Z znlr#?fTA61$o!-8Gy?v1_uV$|R~)M8mucB1PH&Vs7PxtvLttOzB)Ga+z*V!KwjzC# zJ+!%~Hdx-&NpP#q?@0L>E*_KbeX}j+`PCR06on31;p%NeC$z#tBduyH&0BzWusjI+ zWI3Z4o32P`+Qq(*o@ZK?A%wu@qK8qSi(1?R7X`M)DZUw_uFK9Q7Es38aazV6r;T)VI=64G$kn{Bxx zkGb2XYZ1;tSR)o$VFcBltQeG{1N0`Xo!@MAA=0YV%kfUklSn{bMqw)ZM&{UL%x6s5 zDNx}VCTeK9)6@W4TGK7ob%G=gb`Cu>q^X8*C~;?8*oIB<8>^p@pY9QzXhmZgScHDU znQ`@8BwN9ia0In}th8_U6OxGEx6YNz$>T-h&jBZ?lcB#R^IMO|jcLwYM0AWj_PpFJ zv_O1F5@*cJY6|~zWxDuOgY;{|=Xl;h%l;v>$d64i6Bx76!VD*N-jZ8MB(R4yVP8t1 zCHKF(xvC-?2$R`U4|{YX1YscAlkVS%LfI0f->pICy~Wx#Q13kJ>6K;rJ!jdxXB>|D zHu+4^p249`O?hK)Vq@obQsept_aBguz*gT@{8?K7%q_RFE9gkxhA6!afxw{vWe{T* z#eNnPcHs;0x*pYPH&b0uR3Nj=AotkJMLg=BMPTW?3x++X3F6;3(hqN}e)l?kklo#w z_~CT*P|B%&LPQOz_V%$F-qL#?P7lR3MC?iAwIE0Kj|2?S7Ag4t>PM7F=fhpI!#eBhM>sa6%`F^mle%Luu=3whj z$o-@d)LC|p`J7FC8zpuiimaosDsFGmo4%HVmq5(=Ccmk4o-Q$LSyQ~%x=jERMS1oE zvf%Pxx1|h1jn4AAeG7#;<{g#o6V8fp(rY+8-FHTwHApFwh$6hDCibO-4N@9Wn0nAj z6fy&@5_7+{8KbbgW5%fI2Fg~+<1s+oO&zdScq=3fu+VC#4u(76j}*O#ivkk=>rGQ2 zpW!_$2xauBY9-#FiRZ;-VZS_dW{p>O*M2QsHX z6ikt;k$T&-CI~H}QGvP9LONLlMr!1Ud5xdFssb`h!ORwcw)nZbjWYdGkTe7EDZXie zs_CaLCn^HJz>d661iF>fVGXeryM9{1oziQABv`QM94{Ck(RKvWBw)se?4YL#X*_R& z(C5Nvxsy#KBLL^7`J~qfxD|VxV9+uk)ySkq_=9JGG#L zroYhl|J)KU3&LhvZ@D1hL7ba#*o6Y9hK^vCeJd_5){mQZj?0W4o@5{#iuP%=2F?XT zvZn=L!MkF3z(_wb#3oUfoV%`clyS#QtsYYE{T6<89>f-n#s){yI013@{w9o98t6?j zjU_=G4I!IxKo!F^>wvZt!OGqSl~xBNaQ*`bjaU*9bhpD?WhT{BCvY&(#0)+!3!FMzPwFs(XeL(2h5#5&7Ql%uMq|co7()eDhnd;lheR>Yruj6wX9~tEtgM^YG7Cd&ahm^JhQM~-R?;z`qk4;dtQ z05=NDAONw96W*Bl{i*^Pjsf6-=Xz-EmYWI_Qv}fFRgg7kL7#8a>25nw zf{frul#n+xxEYu%&DhHF1W;G(8D}_c#pcVgczkCu*7A?1PQcqI`IL$-hq7-1Z& zmavN;rYlts5o8s;NUN64_qhQ@ZYS$8#G#=Ma36saTKK@q-qdH)y4tTQHTiNwHY{)zlnAxL&E=4{O5P=7tBnj-6CH%g?+o-@Y zJgLyB>6;UvzU^y=9$A4do7qE-B&7@ZU8+J-huwtWk-!zpk?^+=I&zu^=77hj0z*={ zj^Dx9Lez#d%#?_a8SN~-F47(1s}jNKn)>!L6I=GNB<}sId_M&rggaq;J8)Is#Nb^3 zQfvs&{KXD#LHPl8#&Lt9#=}6&hi$ppVmSgZjPc4?!I%KK^eRSj*+y!I^%@$jQ8nK0>%vIt5^cp}E z+ljzENz4aaBq7v427Cp{B9}E*IR4~#?08n#tIrX$l7y+Rre2>4 z*w{8Uh&yrdZ^NC3I@ax7CA6i-#JjGoUiZAKFn3P_vH?31O#3`!fmwvV_&l%rbeZO0 ziY^p=gI%SUXe9ad=l?paUeyDk)Y*#=HX{T{ z0rP4K?9tu)*~MoAAN@A-qVtvi5neA^9r(}1#q$sZr-iNAGk5OX3B6RXW8vgQ{Qw4Q zW5EPO`qSKA36DGo*1RKn7ABLbk5AWJ`Y?TO;LSvz`X8+7!;S6#nu zUUYoj)YPgk!)j8)P~6Zz??z zr`gG>`P{BRnHACJd<5+Igta{Bc#*B)^ehSEXw6Pkigbo|PaD}`j~&bS8Z zh6H`xDh_3^upR{SVs3xzUBBx;m5X_O zz`ecayej`-K$lKqV2&o1ItlU459iUTVNXCSdZb)_aP{xe|I~(gOLp>hM;v@sA2wVc zd+!HiOIWv0I7+E3U~;S(0&GfD4Fp!U>66`3)K7MZkRWmOR@%fsa@aTTtjdRMBlJW% zQbw>I<~_R+ypBiBj$E-?qnTQ;=3esSw4ic|*m5vl%PrSU7o|x=ho)1h(fd~iKx3ya zTeSwR0LqF=X6F>+4fG7!$PwPsRnMjmpQa)&g}rQvnC-oei~IZHf?iFD;IFKp-xRKK zm~!*ED}}bb7wo{3%=3Sl{#NThTO*W4+f1eHEE0VGCCfHY8~p>a4340F#v=96w5{{K zT4^H}j17= z_hp*X!|{DksxTdSM~vP7om({0wDrvW!^&4tZW##7YS}@1VczSbUf~NXV{ZFk&&ie9 zFX_>a${3h;l)c=M{7cOP+q6p9BUe`tU>3rBO55%Yl<%qu+Sg?@#`*im`>^Y#q^Z1^`ZSV8$>z#vBfG19*>ilN+pzDq3WE;gB`}(LmMyH}=KQWfg*~*D z=}NbMwwj{;5q9U1$|&7#@9TQy9fLIsEjKPg!@MV8c9zpL`4yifMf=VF_&6ErnvWr2 zrj`8KpqjpuO``!9w|JrUqkj!QJ|DXuGJ4I{3gtxGm0c%rg(N3uct?RpLpUG$3irFm zoDD1fwDTM67ME6c6W8&teN-7FI?cNiH!|Muo`bvhce^2CP4mY~agztnd~>@o?eng) zHRSG>i9*S3{))AbJCVbXXb3fmUexaT-Cl)m7C9|{)b7lyeF$o1CNu|p(bi~S)9#-| zwn_4|S=ihxblVze*AC2mOY+1>9L1*z%yrRE@p~GMhEJr6hl@q~4Uc5Ut5Wpo=J*(1 zMSoGARuEAgPz{P)9H#AB+8l`N46JgrKrAcRcio3O2Av8ypOA+rQnM*QweAyN;w~$! zE!CFSPzH5R#?FXN9_S=@zr!q@tf@(_5o+{^qkc;HBDWU%RxxO~ge7=!4)nG=O={Uo zl!U2hX4c|-k9l6hy$$vVzKk zXZ$i_+(%>Msdt*_`iKw5MU74V**AUFU3ndJge}f%2E-DrFJEM{@JjFIK-aq}MxE$X z^Ay=;?mL?uk=yK=U2LBVZM{?&^O|pm+E!e2t`*nfd749&E8}{(Rr<%8_cE>MIVT#1_FP+b&7 zxZ4wWWX6mKTRYwChK3^kb*#OMe{iOr{Ur5Qa#d7F*R#0dgrmd1AAfsUeJ8=A?yZL- zN#$asY?>#g9eI6VckdO?q}`NgZQ{1!sV~~LACMqgOj=k-MeH}+*>C1+HjX=U&UL?k zyYTSls*r`0vk!GW#k*fO>R(Gaf3Lu8PIljHHPk_4zxX9>Sl|jn!x+SNfu8_vCX|rr zG3a?63p{}?z!Op{{+UZ;jTUw2Cw0bY#tq&Rup5m~tH0AK*PY@5b;OE)?P9<p^E}!^_gap>~wd^9OV6oU{GyV#)-G_#J}K6mI4_yIwo@J@g%R zGyf}cTes-mjCsqFFWqlg$(R-N8rR)$-?f1sIQ+5K^g%kX^XR=4)z;3v=PI=E|FHg+ z;7X6}CK_J>Id8v#pxg9`*RoBRyKOZ6vWfQX+|<@5FE{;F-Vv{a&>t3Vg0Jcfnz>yu zgYR$u$<|ZX@6o|pn9~6v77S9dj!zH`RO({W41?Fm$G~M@wEtq^-fk5G1@UtahZO~% zpMGWa`2KZ^w1FSfQ&#NinnoO~>KbLRD6lEx;XZwLi}qKAoH6$IRWu$yL~`x< z0bz-j5e=i8F1|=D?JT*!!|fYOv-teg#JB6$kI&^FB2b(Moo$bIOOF5k&mxjajMgo& zrEd@H8FQ$nxf1=V=XrKrIU`&H!<6ax& zS@?*lKF!5AvN{O6>e`1QNgU>|@)^?e7&onI;@I)li4TLU+ArNlKi3S!e^xP@8FN~U zL-uNRFN!*Awkym!%28mQ_3our{w&I7kAKHSUg^n!;I;|?bHNYDt~p*8wtKPQ39pD< z<6R2gnWZHS$JT9F#*;)8)*dDwQ%n@Zh8w+Nm&V68>Kbc~H*Q%R8{*rpZ*yhkqX%(T z14QXWiQD1`Yz)oBiF2Jr=>dRUClI@DKx@<=()T_RTQJq*iE!!E>#nCvL54 zpj`;)elx8*Bo*!1;#Rb$|LK6Vo_w_GSpS1baah4ft!c@(Q^<#^*5*K;7?aZ(Hxo{_ z(6lnwhieCQt;Ge5ZOP~r;_xU@@T34CpRiNsl~^8N<@bzl)ci*=%=qX?zLdS*kb3*y z=gvf6)ju42-yK5YxCRw4aZ9dS!;7czHs}*z>gf+v!C14D$-w(sGL3V*uyI+fzoz}Z zKJ=61qmff@4f!|Du7>A{k$IyUM*SNt9Yes%krS~6xy*9Yx=oXGFbI^Y3# zBrdZ923-%yn8|3NaxQWeXd@v<%y_}LldeZY-`_yVQyl8yc;F#;Mu88|h?ACvbn}+Q z_AM|jZq{tGr##&llJBJxMOc776q;uLJsaqGqCVDyC1tB8f-*JehkWJ z95)h+*rv|&!*kU1kqng#i0l+#jyhbBn=vFF6Vi}dP$?W!N3=HiSKOT8V%EzxGnO^nM6%MekgFZJkdSR?PE{PzmcK0IL zVtuGjV;Ej6JwSMO5X6_}fB;;04^e>2Xqf=%5gq&f=mL7Gf?t6ZV%P2vbMV!0o*h=@ zy^obP**1sT@ro5Liy=y|Y&?uFdsgD0tzr3J9#q$tSON zdqB9CRJlP zW8`u1BeWLK+T3=xX*uCCRR!5hvAQ5;?h{0Wb5xRQ{HOv5c^2fyVi4y3DGG~qw-ISj zez0Dr>7W((!s;Be%`~Hd3(fl!ZF@rysuu(&k&NT7ohDq8@z%OYD9Si7c^ezd{sFmx zR%a76Y>Zn@CfFY4{4=&Z$(j?ML6_k;8=hx1oo`^L^!Z68GC6QRlrZZa$G8@yyF10 zca%ot1JF>gD4n8bI+8&G|H$ajU;*Wh<2kz9{4t%{LQuB}ZP(C#J}gJeAXKdRtcAl= zyxX{(QP)Z#tHviS6R|L^<4u7;2>*RFs$uhCig!~JB>!O4>6 z=paROB4})~T~P)g<|cwpHC0p_I_d0y8P`v$m@RG$GDpA&_-Yz2IRW(8kspwZEG|Rf zM4!;9q|f!HK;Ljo;|N64-kNEG=m$&Zn6T|CQ;z6_pNiooL+fEvF{7r_%cPs?Wg}2d zL;|~1hzaP3rY->@D;AVhgq!K3{WM$8u}pyj4!d?1rKyx486N@|v6B-T1D)z9Qv?89 z;t^!=SAW|8E*k5{R;HL}RnSUjdW=LW?7}z4$ja2>iVRo1I*6rrXmeCX-9l+Wxt?N)O@<1QQ#8rHjtwP^e#~c( zMz9f<+NpO=&MdkOK_jR=!8u9s>;xbCsM1blGUnF@& z$~&nXo{FP3Sozy}j`o-d5*g+pCeyA3d`ua0eTBe}%Qh)cK+2Ph-id$S@2dc)-*zlF zDS&roug`P&2;AOzR1N~#g34I%c=&k@P9ZvvgA48$Ef8DbwNT+g)a$fb!QEE8ooaTP z&R%g#Z)Cux5P$sL3eKz8G@ioGS*_PY`lGQ$J_fGM4#CdjDAvaB49WTsq&Gz3BIShkv>b>TM zC5lyjVlAKD>}@3jy~JsgE(NWi>URZE6z-{zRRVTLhwb^I0Ro%Qu909bbg?ekZnh

aCBm8`gJbv!>po|H1`eM!azXy+Q)QfHIiq169IM`1_xd-(<=V?Uli^a6Km4ZB7 ztmul*uWzi}T+d~BVP1^KcDi3%`^CA-<>81fAZcyts;je(gu(}@?*D9IY+@b?dF5)OP*!@Z|zCdtge3^cCAb}mfN-< zCeatuNHM@%du%V{&fIxTuc9-0fueT+Is<0$=r48jz2z>-YLCrDcw4wj8&^(_vpdyY01}T z8Nl8H?jVD+&ut#<-a<}uo(0qrhj)G90x8$xlvb%5{hnXQA>S(KrDP5*E%HH z_8dsK;aGC^XH#~YF!t_7OO2MRmbL%MLa+7QNH$9_`w- z=W|y5R9YN4Gfr{{yEaoeiwGKT$8~7Cih`V%GcsM|Ofe@>)qba4zy~|oHr1GsSOO)q zwG0EqBL-iQOuBStLwt32@6pe%b>WSk#~|T!pdD+x{SOswFlk|!_GlG}xsdP;GS#zT?T5i>Ci%BJGxC&_k zyUABt_dV_zJRg zLsjUb{>`MkOO_>B$E(8(yjN7GQQR%(pu2|Rh>tGz5nu2 zY~E*Pvo?5dnokfd|HxhaLbkOf`qSZ+ah-3HI$wQYt%%*VbnPDmu4~+yeeY#A*Z#T0 z?bjd_8f{{RTD6BOAS~OfqfgTzAcUu(gFK7PxVkm@!6z4`>67;YG=z|wA)MXrbAc{C z{%cSxnc|Mt50j~l_z$Frcx}prcuclC(^Vqt{M56HmAwm6!iSuIs;$ex$T^8YM1HV z33=609&hdftLUP=qerj2aho|b+sXa#;1fEf(;cPhNmtbJc5te)DyQd~wiJJL9lSYm z{NKa*6wZ;R5tgIJs7=B@=<~ITn}3Y%d3AWTuMg!~b$Luh9iegOrPfbtE*YP~)BNj!dPY;+R1OC(5p6xczXGgmuS z(Ee)vx)yjPDi*JyyZ`t5vE)61>(3A_X9U;xP{((>E}GvgH!^p05QMM<{VJVPUwxX$ z1%68d78ZHh2^&;vlC7UwgadGmeV1meUcpEv5t>C@9Lq>?lOUsYYGr9{4YTPBt-vsS z{gUSX6I?GZ9=NZA?UOv(oSSG71T9B{n}z)*gyU=j5DN=x85o#qFT&Qe$gM+xYQ{7e zM~L}e){{P}CbZHRWeO;t%Mks2Tvp%sLEovx-A|^K8)#v)H;2dCtfRMKJRQl5n_vT2 zgT9+qLCjm$)F3$yY2L|iB4sK9l`y}-HWee(2!6cTb=_)A57<29Xx>?$>C zxQ)-SlyV9wGrs)A2mObkXQCp0g7)I=uf>BGM&E`Wz3yc`{4ZQiaZ30!cE%A?UprF$ z8zf=V%=6s4;Ru_*s=_YLox@YSZeCA4dv~r?*qsx;5SwuUQMerajtX{*EvJ1pT@IV~ z)wS8|)3-L5gmp=@>dsp#yV?@LRtsmRs@s&B7 zUo*O-*ZZ*DABGnn5hHyiZ$}2$5$70{L9MBqpN(!#e|jqnb*HrV--d?&YGDqD~h6UN4F%$IZoRgDkW_>l+uinq+%(@a!ice48wA! z(adt(#>}?+_v!a9d+f36+O^MheO~X^>-id0^$N)bZ9`TBuk$DE5tB%!4tT(-{b{HY z!iLtE*E5%Ogv`7H9X8D^a2=~eksgck%&NcUq16BNVo#AgW0^01ERRrR$=3&!t3a%^ zn$`(sr9R{0Mxy@;R0a#8kV{>^&Tbg&d(Kjg3cC2<=k|w=%wPTacTt)lL2s+`I`kPC zMK@aWCimsp`*z_8yRePM7#IiZ*B2eu)`* z{z2mof43+W*Zxx#8~*ur-mi?g5v++}V$P2#gF97@kp_xgSvDKcu^o9{x|oc%HZx=O zJDFH^;mTV-QFVIWM?c$R)9=pc#S(W{oo@%t7Q5U|842#?9nTi@Gj|t&#ML}j3)D}IW z+`d^-Z*A66*YH1ujU~&ug`XKFVz=2y&d1%bv}S!V6xtEN(t^%$3-V*PC;PGoIPvNN z_K!K^Q1x@!r<17-NS$aF?ndzbkmL!X+y+$H0?hg;?B8?`xgUv+9(`}eleYcT^Z(>3p6mc_feI*slxaVfcmY^^E#BiB}ginlwsU{goEXLdI2Bd_so8k56*cuaVHU`!h6ARB*+9bo+ZAQsvTBpe%S;6w0)}m#--PW8&2h(IhaJ*mh~C&roScg z6!sWwRWRmqgfcBmjx~#Y2Z`1)pwVBggmCz*yyK}l6_XY)nm1bu6>OnqE@&y}9`^?R zFrEnWh;dd?&_BcZawQ{!)!N&zwqHp<`|km|JZhF{mEKT754GVzL`zFBFJFcZvM8;= zVtcr188;;+H1ZAG_bosed8q8uiea{^7xV6rN|@mEdwBjvIMFIN3xw8K{+;P8OX1NachH)$E?2` zj)X!&X!Bs&;#IlpRT>m#*Ga=CNwu+sspb3${*vBtpu0$dze+btc*@CM5lg!C ze64kmNSQrT#NsF6zJ*UkacRDM#hynrate?TQfSWV0x4Uxat9D*70?9P{O>b=8Bnn5 zH&vHdFrRseS_sAO5aAIT%D^?~AkjqI=vVv}EsRG@_#{#}AB&biB0<27L?l0zRr9T9 zV*v=eJ4}p<5zWTgu<|8BN!aYjkFyvSaAxs1)OM;sI-r24jm8Pu$q+!btI(6*I9K8e z*Ud)>Q`#*>T1_FeE-znYE3WP{kqVC%20wgTjX7r}0T7Kz3*sTj>?0|q8bmoG7iX8l z_8yO`gB#Al$n>nr@%b|t&>NW!oL}S?nNjqCk-3qc#sFDA`N_&6f0?ox=Pi-OqrZd_ zamACj%P}nlMTU0}EiL3tj$)LY6k=gqo^r%bHO!-f!gA)7FOF0C{wibcGs-M%O873qb-7>Os~c&rK2ixH>J| z*Jf-CD_c=*$kyWlUwQHP)eMH=2koWbIOK0TZZkg#Vp=mkDwNC4TdV~n2BdBB3R`N)Zd_)Pzy>KuCA31ixR1~<}6m|xqkqhrseKrH)xY)`$oTGrsQWS{kMu-t$d7P%vp`a`@`xHXDLcY)JhItS4 zQgIDM1U){Ww>JNgY@~p`&e}lqw4MIEB6nMPuPzl#9@wrNL0Ev^)Ri-ZufDDv=ewRU+T?HI&FnWX5sQR4z|iN#6`8S?hG+o0Tta*A_yNr zq0~1zIIFsdHp69cF346YJmtV*CK&0adNxQ!-2JN;r37DDCKAbCUIIHnP=>Zl&Sr^u zIz~#MZBh}n#CwEjRssOF7DdA08j#->^W}a}40h-xnkGiZ|$*nO<0wsl@i`)TdfJ{6GJqhLqe;k>@m1>Ap_8mhWYfOPd zie+zD72HA{q*xkkHp_1j>%37sg)aZW?qrjm{i0YV!~yfG*#Hg5gc?f8fJfY`4X8wA zfUs+eg#H*0)3Iq5qp7E*5jo1TMLBYM2BUn+avad|gc2#Q_|@n*3HnDxMzFf#n9Aii zU~*W5fZbu=}y(i9HI63sr^%Yr4apz&lJ zIlox6j*euN*?B~P+Q-^k>k%lfHZarSQwb66=3))VvvJihCPRC1W(^c=o)lrtbV5_h z8R$wTDK~Qs5-pT~Qn@#BbAk0Fepxz)T$EW{joq{7-X*Bg4XF=KvL@1&$ zjNX(OUis<8(O_s$;IMq%Wg$q;bJ-twptz7D&d-5b{g@sQ^Ol|FXS>Molxg^dm1P*uENlMmE#ig%^Kl@sU|q1MtB?-w%`k$Gr*^E8!5vBkXxjCYz7K%j{0 zm^tur4~wnz+u=D8vcs#aQ3*`={5Y3R5Gpjj#DTm@;K;acls;w6_2p2&tI=w=VRdtX z7`Hf`>0!>!zD)MyTdxgOS5D}rF!?MmOR`0{p-=`2S4e;~-=qUVZal{5x>*jV`%leE zjVBvY54?b}hX_=xrGm7q5gNksBm;vtjS`Z%*02W8bWTMR<`5WMpwV8Sy<4kgQ#m?` z;L7r|=U^Ju@OaUFtJbbNcGZ3?sngsYGFK=xoyw;OHBKw&EM>Ml)%Yh=WD|UzdXaLHa@i&ba z6E=0-U=9M$FYh3zia^!IW-wCGV=OQ6v)P?Uo{A5FTWm;|&zVzbu(PXT>lQ-QPpbks zFuQ=;F?WSkWT~hwp5@!Ct56!OvKicEy!|?;Dg>dThMZLpKW|yB#~I>`uS({<0ix^( z9Zz3#-4J{PPu{@ch$f7#98EMbZ%0lNYpTG7ovU+wP=!xNBAd`i5sz)yO(9&>)+Sv* z8I2cTeQ_R^>JGimylQGw-`sc+;=`lj*dscue6ka+n_SHJEj~7FykZ??IVS&h4Ept` z^RWk3yM`JbmDOzMcpdM);=IrF`fJXt!N)mqZn%5anLTG+*1#=F|F(U6>XYQ}Z6kIy z_pi83_Z?Vrqw8%AQFH%#3quPz5OnEmYv|=QhGvc3(~jz=F2Jrn`AAznZ^ZTx@pfyi zw857!igmaZwBBvO|M%WcUl>it1K>io`!6%QT=jT|`b=IbBxozg3xY=>?u@cIx;APF|y$v>5R zEjKmMGBV(c$Bpr1Qzp8YLX;Bll8{HE^@)ZFL&eKd-J#m73(!Bsa$7l2;C1mu>DD~H zhScI!D$jaTa3J>ml#BLH={j@0|5X2#;i>N{`2pL8BWn_QGaDSQv-xioCBsrm^CS+7 zt5FiMUI;p=nyH7!N#y(N52YZ{uK?|qJ9n_+I1|$b%;j!%IkCKYXR#)j%jH! z{~pHq%$}YI$jBI)ERBIZpIzve;;qVS$9igtl(4_Es%<30w=M=(peqyonCF_OjC}dUMA?> zur*Lyhh(9Oe=9Yu0e(337r&lfq=BjqkE-Ni<%sjCcE_V(ywxiji$tf7J;NCQRHMbj`Ie9&^ z=Kg^p&Bx-HXwnuk&^Hb!1f#X}j>b8c#(PPI5=x)F-md*MnsX_S)VA};n$26E3`|&= zm%f{ea;(+gM1V!gqT#RzF8x^}5w}9P<>Hx4F3oPN-Q0I&XW<5$-n6l$y9N#_Po{ID zc3^%Vtt{0~StL5UB%JTvRAgh302@zQHql~uBo;w$d4Z6gc;$V$+6T$0bEgJ77a#Vw zRl2pk^H}^CN!+ZE%XKSu2XDU(+n$0=%T1=c;*R|5edI<8^H*2&9m0jJF25RDH;b=b zdv*QY(CeYDm{BvI?;ke<873Kh71c@X5-1jC|)tILgiR|~~gdKd%O_zRdD4u)j(Qp~|@uHsbMsLwQ9ORGgE zgwM_=aVb4BdLNg*ULsj2I40b!_80O6AYW@xLzadbsWD zl-A&wTl9pRr!oGH-Du<3SN zEbd%4f&TcoS**1_F9>_cln^!^lI`3*etybkoc2h~8V*I)BS3GWnwkwNEmML#Zc<)Y zSrYjrqHM+Q%V#%!j3;hc{H@ZZ(5YmQmXCD!E^GVl^egns7uPRmW)}#3kgPf$yvBm! zz+!8`QkeKu$XZZmt3sHkvL8Wjh>_bPCMTpQg^)rwrbI<{_V|zeqCrK~zN}HEh5ZE97QSpU1 zemgE%c_vE0rYg#?F~LSQ5MO}YDz{-nWrw1slakHji?G;^LrjReGZWjey!n)NoZhkT zhaB`H4GoGyDu7}$g=`PGVL6piC?08JIR|ne6}g@UM+$A(K1e8|Jrj1Ik{Eo!PCQ{-AAp{Xd5j zn`(9uYf;8W?$pf<(`L)tzx2!mnq0|t%sT0uXYttYY;8^f{p~uTWlP22B4D-t) z?bPYV^KTR#o+Z?8wfD+CwH~{heL+`i&XjCww>@6APwnvw7R<@(TR2{`sTSppsO$;c zV0uJ&iW2Hzz(a-1QYxFQF)x~rJk=pSbLFX28F^=;3l8OS)(5U+U@xZU(7`&=Xv$Nnoja-X(Zv*mWQGLhSF*t0i}*rl3x*{7!b$(yx{VFdjcH4G{RG z1;`s%LRt3RL&+p!w)fm}#Dyn+=ihJgHante5ms>gSm_Wg-|)Kg?Ssg+H#QDm^iBZT z8dK}Dv$j9&=f7Jel<#9!YBF@i#~#J58xYi4|Lr^PG^LGN?u;vGiTSzi>Ob98xt|-3 zCoS@y?RnDpkD~ZwVfCxC1APMx0sa9RM|;c4T3|0;S73DE zv3ooR-i8_Uw=Znl(THL@!Rb0G>-9QTw`!m^23MCUx!IuUtbH%bvEu87)U2bTZ> zRO#lYNL63k{6@f5gdpB#r|-4M+Euybb0>O*-x)6ScVY2fRrd3TN@fEz#Zzfw(v_RQ z0Ife~mO_iiH^T+Xl=QC%9=t$X8#NJX!PB0msnxuMji+_{7UAGjPc}oCH_k)bec-bP zmPxeEf1XE_-52%v4KMXf7nT!mA}acZ0-r4URTTIWx2IMQ^=9@dso^WO;Lw&lW%%T} z+287`Pd(Z>Ga8Z#sUH`!F8e~~5K}t^ROag#V0_5#O`b!J($R`%%r~qBJ}&Fa6_YKc zJ(+!ZZ`~rMN_)`#&(B=J8#4|v%O`3$5VaUDa!EzIxj;NBRmEqXjS`{40FqU>95Kx< z$a%B|`Bf~EnVLzn8}jtgb7mCKi&n$yAbUJKPq<`~%W(C-vV1JC-_U1$P|-+lt<^xp z$BwK+q@{BeYSy}0El>nZ0f(K(@7-skYUi;A-!#0gP7KvMfFE3V)2CyK0B|88lQ)IC zW#RwD*wX*G96M%mc-m^1d$v0;?{ApPXX5RHkuf3rX)2Tr*RMVP@!{-S2Sl6GbB8Y; zr&>a*1HyXVXS?@#+Ge zxQFDi{qo`?ZEJS$!nra)(f?2KYz+-l)hEnnwT{E?RD>ksU0JMhjOypUZDcu z1p=lu&hxbQ94whrEDM;IWp5)LxOH0cJhbQ|&`fpr%pdmqYjEz;6ru22e*gm&Q1W5L zq{_e3W%s$SaUQ2!{aUn?CDDNB6?eDYoR&7Y#Q0LrUW~f2iGcBi9yD?=JXl#?mMDis zU234-zJ(kuf)(hV>cefE&^ql@%6O2UkSDHO=)2VY%_7b3m3XOIki3M{tCJX-Dr7> zepbF-Pf78>kR7_Pt?HNy$3^Hi>^5kdHZbHi*wlG>0Jq_t!H3H>1}SHD-gQlKJ-)tJ zbH1;QP$G2O`fAW)hsJQm5-l@5y|f2WQ5fdezht-UE~=XMHy_2l!Xz%g#<^iHZ%-Qy zktFSV8DA*RqcoDQkLF)9T>EpO|NQmu{1)4{nXV4mb*9Nrc)O2IV6k1*k%Vh;Tqqs? zHQ98|9?(xfj-8=f-ERC_eIRBr^7*2#{N=5Xxy9af?61et7!Ry;2ESi=BB;00&vbui zG4xMp+u_feKRu%&7Ei=-EY5$tb0KBj@~Y!de9E%=-|TGRw5R*=692AzmxDtzjgsEB z!mA@;B4W9KA@%-x%kfD_;zl1DF5UIvt#ZrO;AfO=Ap)G{@vIB$3da!03hYMValfyQ z&o+;5{Z11yE0~BD$O^rZ3v=@E(aC?oMKI5eXw@+p*6ZrE14l#GqOxtKISbOHbIEal z&2RNhts!Lus7}BAJ%RtB#41s`k`OFH!LkD}YE~60zBMNgLX&lwC}5QmQ*5{hft`nq z49u7?aWFjP2QSlEw8&$NH(9NLZ`U!e2vOJ)Izd|RP&8jg%{vSah$G4A4C`y;L??QVa;t&LiX|>S>FS}g2HY$wAi41;Dz_l(ai2E>cv_yi6dAS$Hcs616p(Nk>l8)K6WO6NSsXY-~0~-FmN5 zC2WqsrERTa0c3vo__(iuGhdyfGOr-f6eSgPO~@tI!f$jUmiPhUU1Mtz3FN(e^rz%= zvnibH1xqsR92*4kWxV{HT)u=rAp#v-oJ+1(P-PkE zc8pJFlU+9@Yr&jVtg^C_g3VFUqY5N)jGAQ^cSN9ofgCuiP#L@-Oi|OZq?<^IN`K}x6D4I9vEc^X8Hp#aT6*1H?R#G@<9m+-l3Af8tvKMq#(`GmcZhGo;P`X}Q62%l{`+zqQE>Jf*P$3Bn%>)ywrFDVeU`8w)c7wxvK| zUR76Aa$~n9^F)h+7TGeF(Uq*wo?V_pvalujgW-m?=+7%+SR4n{u?pO2^I?l9GL1KK zc!XIgi<%Zo$>s?N!Jjsv>;jndg@I}ujihs5n{}G2LAGD5@5`TNEidvip}3%VJ`ni@ z|HLbS!IQvOK*=uD`%W1q_vV0eo-GtfJ0)c4XL6djJw}hK&>>Z$Ni-+$A4NGp46t>O z8jz=pd={|E0tfd-7~NVyf5wG{OC$28Ir(Dn4aP)H?nUZYswT(DsLl$VU~@<5v;-p| zpWVr!3OTjd+&KZ=;`JIxGrTOC#gmc~HEOwkma#b&ZvOjbIxU>V(NB;%D`63>s=nH2 zb=@Ce^Ye?!jFW~&8)E20_3AwxNZkhAItuw9X~-zp&Zaw=Tc9|>rs5kR`sZlU@fG|C zN6>CDpOADpl2sJr{X+rc4RUo>frIe;Gqp;yHEY%zV|g+$&t@AT%5+o05}!k<;W2Q{ zXRV%2vrdyLnn<;$RT)L({otI$F3rmBPiN;}CSjiONBU#8a;V@;NajZX>LlwBk*o`u zZX!m>h$r_dPW(CjfB?D2G6E!Rk|5@+bNoR9PkG8hIGmiU8>0&{|)w0QXi(&Wg+DH{W!Bl8XObrhgZSPgeSZI7x)W+siGQ!YXHQ^DT_$1RX3gq^G#F4EJ=O)GX_JJeW}eN8LRexNIvVu6cE|<38ZwW zSWbX4pfVnnF`-x+3_XhhW!3zVg2gtK6bfRL`2+8SpP@K0+2+0njJc z!Q4|(x_wR{e#K3udM69BJsXr$a8p(^HN?4DF^V9b3UOeI6xQGb@vS$f4#X;_nug+x z>5zJ7nm7E12<1%C;=LFT;S|h-Mk5v8P~>%A6)#x1asls`w!YZvHcgEn%6Yd&r>X0e zCLFpiil?PabwcoI#y1wr^Yh&m@#2r*x#sK0y%}B#bz*?A%;SGgD52a24qFF+H%U%K zn{{PEwe^(~2IfSD3#^W$lj56U@H7@Gna3`&q*NOvKfgiSG6hjdjrvLf9XW5fm3wO6 zcuICB{^kKMYvSlZ+5SQj^S9!dWbkIyiNEM38E!$b`>RGIC&D@|KY6fnVNd0}$#)~q zqiDy|4&BvBDl$zug|zC-iXExL3M#?xH$QgwB!AwJS~RA*IwL*|nlyXSC57B`=DmII z=Z$IQvf3ME<32|46@&QU-VISEH%ITbx3{ki*#Ca|r+wkHiOEZQlWDK}*7l=i@q5SO zk0`kuIe+$rHG|GFQ|q4VOmi(g)nby?yw)5F zH5+&hCgn|d7A$}(DbNWurzy`$Hbv>-iY%6{tB8?`$tiodRi(I@d0DD@OPb``GxC=7 zR=Tv{*XLQFaErGdagY`hn!rEvdQEHH1skbBX{D7Y4?ANW1i^I~sAz{sPF`HQH z+1mbXICMVcyRZpbgdF!qXfqjSy0zImt@~qqR1XFw=vWGy+oMpfMs!E-BDCFcGivxa zXf~RQ)AH3FvO6aLNz&!tMhiBKB-W?Yk3A;WTKxxH3S**;AGf^>D9mULIL0T|=6jvq ziPMx9tw)hb#T~sJ9Vv=Jc6Uv<>N1ZbQiN-H$F9|m)XTT3V59#*zR+uy8P75PxCfoGHFCPb zNOpE>w8iU$G5-Oa>H($HAT9riu!9>6P6c0i(Hp+Oz2&UYuKwPMA1V)Hr2!hB-b~?C zXq%Jgl$24aYsX>Um}5sIfA$|QC5^C;vP1Ih!_PmQslaHUf;4cnQ~b!65@T$|deWsW zN9WfR?mvK}5D$z+`4rJM9&z1@%`i!SMaz1U^6+^%v9Q%Ye2UdqL%pSr*<9r|rUuJe zclD6?sZ*Qz?Vl4^Z5KE0gT~|UKA)xRIXsq-Os8`;pD`FHmaH#?e`-1W`qHy!6OUPK z`@2#XntwaAqLLebq&jYKC^#P&7)-1i^$ACZq;*72|NeE)@HCw%L@kc$W-*IGu6gwkttU`zBzyOT7wsBn@p2j&Luk~B|CK*?|$7Mz3cl; z*w!XUiwSM11s#$agO9a4a?S1qH)qDITciU_)@6hXnuy;P3+8Ngci8km(YnTqcTWz! z_|8BT8%|taU?zN}R7-`!59#uf7&3@elDYw<5GKVg7_O(DcwZgx=ca~#)YTtdfzSBD5fY6Jd;8{27PjLKhopD!8DD$ zWSa@r*48a3LiXthk$_pL-J;P8 z3cz7Rb#yf$nHvv9Ffe`0p(UuGJ6b>yY@$htClzUb?Xh>dpy|OxL0yTHNHVNymfjUNlePK)IOC9s49p z8aElHBw0He z9`dBE5z?W*1s3#8{l15$#CddN%dM01?Zw+3jN#Vu@l*Z1xyaQ|`c>^Tt6!bIP*jRO z{?q=j{6NdPCku*Sz5V(=kIiLdQWv?z_5OblKh}fc-I9WzCu59>Hf+ba{KU*43%w0d z$FQl_I>QhbH!&<4jYpo=moh`+V@h~n8C=If5< ztX%hhQ{9H5gzgEqjDJptcE-1COkaPE+TixThVZQS3}Qs?+0RkawU*mX9#6VxT&(1Z z^tFti-x1GhQC4zjX+o0{P3nkO_MePm+~~>4bj@4yGeR#O*)CZCI+Bph8c@#OTHDr zo%}UNz3b9{`B?wW0jJm-p9j6QFLaa)fe$+Uwmxwt<2SHds=Slv%{?pu!_r$$kFAbK zeswqEHERm5?kDN;kA=KF^c=IHD$S~@6Y&Kf}ND=_|NmlvqqjLP15*1~Gkv@jlq)=~HGK1K*I7Glrsu!p zvjhUEbQN7ufs{#P#d4g1y#)bSSL$c%I97_L3VD2Fpv!=xXDMf_x_9=>ezJwdLrea@ zd8DPDBfbIUg7S7@;#sUildU>7N118Z4a6hU&kq|y5a_#jN^J&@rE~HG4K(ZMd;;+$ z-5~|dx!0`ycab$538#AGQbO199uboARSNx#4N5*nMp8bLBbJ23X`gq9$sTEc+qD1W z=YFd)VGritv*y`3^#E2IZy_fl^VMvFqqvWvpmR)&2PVz#N}uJ4RcoOUHct5D)M#H(?{IxE{$Z{+%9}_RCce9yB2;Et2p2w7WYZ!VSb*@0Q8YgfP{; zD!d>llzt}~ZRu^`6WEU&-*IQjH`nMa1UkY-fY_T^s(Rk(oN}kSCCgAK{0%_$+bpuI zO}i+TTLHsxRFOy_eq!0RZu{LIQGUiGd{~OstP=IDyWpSSQft8OF@ATYx?J>^YJ=V} zto2psaRdr@Q?x`;BeT z1VGD0^5{J6$&0}_C!h@W)&HIz?#0>Z9R66A>CULmcXtl5YvmA29gM@lwz_cek^Q%~ zPhfP2xLF&CK#WS$*rm5z!Q+*-q^@=?#)o<@_0sU}@_P#S3Fz0^jc-$T3#;7H8X1HC zQ&P2R9kaX=fjbfm&zdfmbsZozr7Xh4b=qPe@lk3cbv{w^$VWWqTrpJg98DJdCpb~9 zJIBhA!8(TnuEEKJtzaS8Rv!@aCU@E!MtvzEnQZ%}y1n$v=boJY_gyAoW2R>r_jC2` z+ny^xYgS(U*0Hf@JWW@lX0uH{PyY-&c00K85_vY{DD=C_Hx*AHbhp_7me>FwDKC}j4K=pWf z_e6@D_wK4j85)2arRrL=ofQ)ni+hm)B!-^sQ!59axJ7g>hq0xdiE8RGj@3}8%Y&FD+Lcz!AH3&s6h2ek^lq$&SQtMCu{|5NGQYLp@^}E;KpG+v z!$y^3L+Fo}g%R%D4x5*u&6%U*9g@pL`<}+0g0^rYOOsixezQ+sIvYK& zF?{g~a!u;s8QjAvU+(+iho1h4`83?VukEr9`p!N1j>h>G5$wL+i*_E{BC72o27D)$ zWSRq`dNLDCtjox@D$LcuTYhsE?$vH{?#$0TCkg)DVdJ0goZy~^oX1w)yuanRrP8eb zhnrwwuS-^o!gb4-=gbEn&2D{k!Z-V=&-|47={c9$D!E%P>*9wh_7O`kay9PQN2d9rx?QKuE~nJ6m7g2-5oTx#(H6)=GRejk@hs{++ZQkFeQ* z3#sW_76|W*-8r5!BRQD+0-c6u*>|4N_euV}-`yTXJpcSx!Q-np7>vJ-MijC0rQ3Gx zTS(8PWF|edP@Ovqy-W$=q>X6t7+PZ1l>DWB4`MFaDo2uPFJyRu4D zW0GUnL>ubaFvSqpPO>NEd6?%ML2vSn5=|@?NqsRXF#JFB4e=`SbOt<6sqUtl;t_-ge|fi_-K9PWc7IgTiK{X9tE)f zATrE=D4|9-XE(s-#B$4(P2zE?C(grcT0&7nKZ?c6mZ9jo1Ojm_Khtb_1PmN-x1`An zNbOazszwGrVNGl7PLq6MMD@zmFxagIPPt*RHVaPSy*8s5nYG*Nf`h8P>02IX=1>9) z5oD9CO{1-rnF|ngnH@XdDl0}xMCJl{i#I37;(=C-j)L&nph9iILP^ZzXjJ1t6_HrF zA}4gpNtiD2AML67e^TXcaSNbrlCsEZxf)yr5kDdp^B_*+a>%IeGjY2T4~)t<+SnLh zR5oekIId`|44I>X^6rlDA!04WeDJiA3+8DErU=Bxdl9c%(6)aX#uC{Ss73@(fC@n% zSHQ02T0pFU)vYgY@>^*M+0Un}X-MEc?2CS#TU+)j76N=lGJPdm;32xIaS_ya)f zeFjnEBDkoCS-Koe)o$Dir757Vi8fO8qNu#l?0g_6kAju7C+UzmMZ(HqO0tEtIUpF4 z8=!DL#ez2?f(vtXEAE!kJcK}Y1s?7%fyhb*iAH5U&gXB%vZ)8 zf?^seIBo(vKkykWat}o^g=d2_IICReKgbTVZZ)jgvK$>u2$`uF6~s;3LQ!g5YU>;VwUnc*o1c$fQNz(=t}g`dO4v$ z=N>r>`G26UqIyq6ymbp?zK*LB0gHsQe}r8Q1M?{0)Sk8jKm}5DwVhCUc9rfpS6S~V zPpU3V@|@S>q2GX4V8+SfH>em;9#h>fybILsv<{@a?!PF5>`I9Q4c%P4BizE`l zf)upJcqw#O1W!CW)~KC>o126y-`~7i6`CtHHZSh1DXV zXe)|G$$!DiW?(H~q>^Vd2&C435QG094-b|>YwVdw9yRbOw*r=QdPQ9*tK?DhcRd9M zGc|HAi`>9i<`x=`0rNTdUJjEC0jySWMj3Q2>7AG)w_BW5N|1mitUrSy#;q_z;6u)5 zkWZaUqdZeoTPo0`^c?&$B>|H$F~T^VV!cro!kQwI&6r);O>2i(NG@m|0!8)g6bJU3 z>84Q3e%)-33UMA61yIzm5ax+wU0TE*DqlLYXN80VsSm68V6$cxl*7?x1|mU<;c+t$ z!SafkX9WeC#Upu1TIxVyKKG8)O%9re!6Gn$GLbJ^hM>cFZAVS1ST>4Ow&sIw}bA)7FI z06Gko9o?-R5xm#4U>3_k2*lrogFL!}9*_F(e~^>)^-P^l%Uo&4Dz$OFd>C20fW;4| z`|2i+=;kuu^S`aqNq<5RR_Te4Z~6usrgac}l~YoYB4$C}1cTvEQ0!DF0ob~SC0M3_ z2xGN8iS{Ez>JHcB7Q-U7fBTK>RgR4UY@9=u;jG#YXWI@WEcKgO?5b}(3hpfCjaDv0 zrc>(qz->98_vg$CX}g0!5&_B&IwEG%rn`O7A@pulpREHZf+AXbnl&1F9ihL;QrMy; zTVp}Rok+e`-~jWEn?!&1E#{%|Oao{2>>!CA`R5+ur}h|y=lDOF(WAj+%-rn2+^-C{ zKIIvhkBPsGmIFWOgov1HBIawLdrq zpK7nNT4%%N*r*%n$&_bIc5PAAk~GfqgyOrNQmJ}BhFczQrFA@G-HYMjEdM6yof@Ss zndXaf;e5ZA6};((2i6;F8tyooJ~3DCiA!}XW1O6dsya!Z7(AHr z&)|vYu9TezT0Y8Lyps!$rskj6aO%R_O9v^JizjZwqp?`Chl8o)&)IVhtiCy!xx|<_ zpXm9)pS)dmJ?g;WdX)Qtu#vb=PE@z}9Tp_%3wpL;7TwlM62-ef&9%;T|h$e`T(ZUuTF416D}{w~Vlb*fe#uxB-G38=OOT|e_nOJXL!6y-i~ZeJ_IMy=!` z7u(I6^}Qc$+`BIt$^jc9&fNHT80=T>Zk#nVP~8yRmNr57k4W<~-?b((TE~~Pwc&wC zt^K6SGw6EYwaScGa+-drm|E@&n*1`@x2fVB%C-RK~ty5k%@Q&eJ*AGxc8d$@NCR$zwY8k?Yz#n%-q#3^&?vH_)z?mcp{Gn}fc# z^tDQi*n6&bW?%0Bu}2i-I%FlkSLIy(zn?#|*sf=*ho3~ceHrc_p5bEMRVs~>M;UXY zzK=}J(&*WD5d;mxC-qHuVI&ao?RI}^LbT{MTYIPNh>cXU9o8_qDf|*gu{%xUreL+M zYTVI>oKR}moN61*PxdyP+8cuHEc=e${^cdEZKR0hIAze2JM+Db>H3+l+o$llI5McL ze?81wf59TH&JYr>q_f=o+t$n}*XKXTXUok^cDD!#*&c-OMqhp332kwmit38ooW?D+ zE!qS@XxAay4^`ho%Wcn(A282+tkT;`HYPsKzrbS`N_QY^agR?5K8B>Gl^?vI%Qxw5 zvAW$qT$>x^Y|TMk_-Xm0WJF!!Z`UoJ4m$T-_W~s)_Y#ZzX2^=>vL`K$Hxz{j2jkPb+g9`b=G}->*uCfc;|`T z7L@v5t(Io;VGvX=Q*;(fjK{3*&+WACMrCi2xu;Lj_ip;G(yON?GH%4HyiGPZIgh*N zb+_HrbPv1aibwxRGuB;2&=px1PCslEuoGc1;oNzF$1v_rurp(C(*ck1!>*@V+VaZ^ zFQGlM0?F_HgIL$Dn`n@kWJ)qJ|E8I%?S0<5;OVES-PK|mzNPS9Li+ji5XtvIzSSk? z`i_F_vx9FtpMbgOBOLU_RU~NW2`b_Ty#=UUJN0>~faf|3xzlH%g4 zg;r&X1DXJyN_0Yi8^UT9+-WxQU(ePSC~kvMI!7ecX2v?8?;gS)LQWFG#26Naps2%q zT+N%doIeuI()=-GH|IJgpC}x87(|X<6_tD8c!ot}Y{^R8UEl6i4<3?YB24lplPNxABTr#QeEP|_RmbI3-DvxzXqwuG$iCP*4#gECfb>T-WuBqq7$ z@reDu+wVrJ874@4cdn=5v&QmHh3`G%Ft_M=1#!N~B_yCh&rR)IT~~-xLXf7_#jms* z(z~=r{cdi3eGNg^e7%EKKhAober~|+M_>Q{9`#?kH1IX0(cjNMXh(y}=3R}ddsCXW zA$n|MQ$k4*D&rt^Uwa5&Sgtc%Q$o^zEsfEk&zhjX$!!VyhI3yqcw`Tk+kLEl?$Jve10_(*sc zL^NUls*<7)@5~qtwBjP`RYvLfmML4pf>}~9$-aekf~Bl&2&`d(?wp-9ULo|6e|4jw zjKIpge)F%?+VaDU-aY?DG0>auK4|pJmIV3M94Fd56y^gd~dl@YxyMg zX7IO^8JxDVOe&51sQ z;s1}MbB|}b|NsBQ)zl@f&RlKgx+s-SqS`Q1eJ(<*R1~73Bst6+H`_?1v^IyN#752) ztB9QGV05rDS&ST}W@d(M4zun0y{_-?cI%&R`a|#2>-Bm(9?$zDVaKKCryDQ%Cx5!X zvS`t(cTbO{9A|hXuI#<@iFYn{@^%H=L|)IyP-RW?RI7*Pu6*g=raC`LzfJigETF%; zZOhY=I9KP_7S(%*Zcr@A&D8v|*1q>Rs)ZnDY2!%BWabhw!Gsv!s5KqZnzO4QthKFT zP_%j><=s~G@0Bg1XZDdUpbl=TJs7*OD-r_p>X|$Yj7eNWzM^XnaD7phONjvt6> zcPHW42l;(8=G9xTCNaYNB_Vc0bmNd!c z*b0qTpKXYcXf^vm%>Uf;DDu${w;G{l*QI%B9qIdX?VVJC^tl*-@s3}^=F6Cnwjlg27$93{D7$Bhv=KZp;1{ants~hoo^U>X zGtk&#yw3tcd0(Y^_t2NKYI}Sdex3%s3dmBNk<4*{)mQ?Dy2kkuz|?7A(IQ2OhM^Wc zIL@JrfEsKe+Wxhm95n`e`b6cwn6-XISe7EVMDf*}Prl=|@b}>z*Z)AEd&Z~%8GH3n z2qBeworWBEi;)<&fcjyS>dLOZR#6(3g*hSZVUU8gw2c#^+veEDV+enibj1=9u==0(4{_O30^SOBd`~j;-KCqB$ruPD41k z`FR8uTIyf=+Pt)Mc@{nwFUnPLpd}F~&4c1j^<*uxLf+;)SCN~9V{h>u<+pl4K zYnQ`VdKW~RDHqb>O75-c+Z<{WQrtNBteP0o{ga)s_wF|kho6#$TKCQoz2|Fk#2{K= ztg*bzTxP#|K|0F5_2a;c>97>tGc-FTYU>$tz?K)!I2X^~^Spc^$LDdw z&cT!!{OImA;^uuoKTQZ4CGvV2{~7%pesadRiDJ1pr8s+Omblb+dwBc9U!hO-l>b>2 zaAoW9|Bj%)MXHPFH2c3!le;u)dvtzmSU8_h&!TU6l^tc%@-8^ED0S6eV~09-*stVP z{;J8-CQJQ5DQtXJG57ps@Vox~roaO-c=vnT=9lq0(H&-M<-eLfRq2->?9E8{Rx{oc zmV;$Ac87*MKD!Uo&nXDMo-w>z|L6Po5~Hu2g`daRPof`xySn8c_g!Z$uJAwoas8iF z?349(epaO1INcuQz0-6!kddne8l(MM1fCfV-$flL^8!(8D<}MI4Qe0OOe+f}?-0`c zD9Z11<>@o+18c#dT&lsbiwR7!SSgpvFje;-`OMbbDP{_u$aXTmv+?329(bdeggJVj zaAY%^ZE&~c_vUqNu+JOsCR{8Eu78%cE$G$safM$ zDYOX4je^oz{Nkm2#zQ-=DW+;Qb2zET&TVGxT++8^RRJR*yBECde`lOda^9y7vmiOW zubu01wEKME(4XXcp9-^PbVO;#@6G&L-*j_BHMcrv>}E{@_v=1V|F?cH4cJ#Wi-4;f z3P+eXeEr|MzbvH!1jzG;M|~?$zxr-Gf0z&ehuyQ>SN^T+{*!xKq?^u?=Qd{*-)-EG zld!tK&-wpWLT3E#6PLYm!`4s%ZEKG~*1E0Q$;UTbO@!DFEHND8K$_3* zRXK7@khmB6CGZbjO!na}{kZm+0PLGQmgo@x5mq`uL0fq~+c*~{^LGdEA_$9esfBKDv*3e+zsuSGsB9N&xWfJC zkx>8E{=NgvuqN4&)g1Jz2K%h?>g}d?Jh`l4!^@|=K7ES6S|(tbz~}`6ejTf(&~tq` z_v!N7pmpC~c^4_f(IFvENF3##BaFX3zGkJ&l1)2jR=@jM*L(KHr--b=>haO>H`S;t zsnI`f+unHI3(O6?mw6c9rft|dVZh4`g66JWj2c-X$>g`dK@r=a7JS@{Y?pys#BnEZ zi}NdBe;|cG>4?)b2B`Lo7DDQC=E>Cd49=5NfiGv6aIr zZ59g+`U8J5TVp$m=Q_sSS19My5Y4?tJvkbr=xxbpyo&)`3th!7^ulfKJ^u&4*Pr|%1DwJ*J)ymLVU=)>}zpsFfZVg&q2+j zFn7%sW`Q9{)Kr{=j-$IA^D_M@0PtZZ1;3yuQNk!Gi|kQ? zFeiXOM%;ORU5(W)pTMcXU9&m5^q}be^S?4HZEzYqyVe)Kz?F5h!Vj`5otjBY3C-2@7UEaxgQ5lUuD9-%yp|RP zkSm<0h{qKs8bg$*$AHa33NzgovD1}K1#EMai57?a(Eec&5}K&LV#=LlFf#N)GTG{G zz#364315gO(BrLwW?TK-ptN|5ADXbzSC9sUEzPOaiDLn*$m>G$(&r)&x%S%%5zvsL z#b_a%M0vX`)1I+tG=XC0%f-qV3};cPD4c1xq0mbg*FmEG)5wM6Tf1z&a>`WoYQPbe zKTg!*BFfn^wqhBT0x*CJa<;4(;79#6%}6`_K4FW$qnc=p+0{hhjC7cX?&h8!!~j`V zC}Ly0QFe&8{Bbn97X32ViZ(XK9-)%`nyUIU(ajJ3+n7botC7oh^J~z- zBuT>@$r3UcLuvv9YNv4$FT}F3)5Y4?oQzvon0&EBo==L1R|sYSWQC{(HHc#~nN!$u zwlBk$I9Cidb$^ z;0W6n!V;%iKWA8=!N;0ado=armg&(nTP0q?Vbva`D$lJwf>U$~;3QdkCeX3O6Wx$j zJ$IC<-3FBJm27j@5~MF^wDVP$H-2nUsH6X2{^az;g3E|~q69dOMFD~fLa!bO9!Aq5 zW1v@U!Imaa=p$@$BVpPAT&Lvcfpf$EwIeRhNxysr?+$%&PIXz72tA?Hqte+3by)CQ zAP@KrD<%zQRb^TzXirRsba76c%xF3?nytc7WkZXkt?jl9^$W=a#W>GW;+jZ+t>u@G zF&*MX?dZ6CNUW(&5Zdw@#@LeStHsOp&@%?NQ%of=m>u0|jeoGYhHC6#k>kcCc4?_- z5zGLgMd2W2zw^-{Ma}$Kl0Es_aDa%9M2Y0`F%XJ%2@0pk0AA}A9IBJa%T<{7te&(v zr?0w{IaGk;ERd^#PavK$tmBL@`ViUf&5Yr%YJxElCock9m;cks?MCmi%f_v^hEgsU zX51J!zYfyWfYVSAq9N)rs9*xf{4~Lk_M$u=PaPx73o9{c>frD2NGCb_D6p9HqJ}dp z9dzTzZDL`xJg`k8EX5Q;;kQAlJUUU3FMwXdD>_$br@f;_)J^DPA+tD95-*=)aYJ0! z5CaS1!?lFTJ%WiA#K%(A#?XZR`n7URb;vBpR=i&%sb{((Y`{>CIW)aZ>^!S9eru;e z$?cY8l5e`&g)n+pOSa(@M(-;dKLz|A9-LHHvOz8q@>yqV<&ttHIav${-J`c9uH7bf0()3P6c|eHby>EP>)=>zSd0n}ihP$ta-)ru0fq{>DU{J%hx!0Y zn}dvCOd(yyXKaI#_dt*0*`R$@nJBSH=TQR^0pF>04uxU)?*TL$vD8c_>i69FaUy_# z@|!3wp!dd*cs|4g|ft@w7kJ7Htt=)aJ6+3(+E z(a!9+5NiLfbGEZ=u-~CB*nu@!>egK?LAY_{cmM8&+d6kY+aYhVz`i;Te?@y(>hnJ6 zd{DSy>yglk^Qi!;^6qjW&7%F2I0S33@lt=Dt510J=KAKl4YpV5vRaXFls9L8I4kaK z)`fUn-O|m_cg9`r@|V|8@~Jt*)r&4U*qM2zE5{;T3_oOEH2w$xuOHM3~Ac3vkU(vuaSX# zf7I;w7vo0+eDbx!LC|C_>%yKD?~uLW zpxP%SD6X#pG23vN+wxCXeRg#C9pX;rsdb89p=Uk}uAi%Q-ITT#Sn+nbLCGBMth{4g zZ?vfiq5xW3*4jlN1~Tf(YULgf_KEg*;i7({exE1}Hk^iTPBH942`31VSK|E!SS8B2 zZ=lV$COdYg^Zxod8Q;C$LR8ZH=*Xt?0_easlw|0IN_moh@BD4?_hm?Sn3aZ*JLYK~ zwqh8D09~-nP*5Rjos`rn;g~LxAA;Pe(+Jy(VW|@ zk~_g1&&0MzX$kMvG9oRR_#Rj!=!`+yt-Q0+itbeCrbA>vHo<>A30ISpA~UL~fPEiilZ?fmqM3a_kJoUM*IjX&4@3(=)qF`$9HT(uXQ zf=D>|aLV+n;_fjKS)VK1rJp^V_q%5Ek3U~oZoGIiesWa9Z8`lRrANxTgt7kYw=>*C z+i3GGZ8#BlD!<`*1IBUBijE`vY;M384B5VcT6A*ruT%G)mJDQcm8CZ1jm4Pg3ho}Z z&aezEOEr4f^`$7yfcs{3sqXvB`56+T#o77r*h-;##n?kfpSST_&ZPgW4j$Rt$lU#A zcu!Omb?eCUsPm2)_bS#$>+TBv(B<~Qt%iRf;8xwSLKG(wskWrE5Jy)ot(|jIQ#G44 z-Qyxr;Hr=C4R?d}>bE^4TQ=D$S!?vbiw--f?&TAzXR@>Z z+xKz&_6E-yoZE&X%;WGCaVOq1L#DgZhdDZzZM<$YS{C$Ilw{_Q&y|Oq4_cP{;(yp2 zpW95Uvp;;Td0v@~*&9!Mwxe6be}5Lfduse_UHHCd9^8?tK?~c-YH{r}uls=LQO5K? zJ7RU?Li|@Ta90aYtV-=Fe|=$Z?#)Qws)$^lQu?QD2R8p1^>YV$hs;&x4t;*b?S%q z-$RagtQIY;kI;`p8~DNmS=uIZZ1h6s=lReL>(^JZPQDCMcDv zqrlvnio{Dh;PHaWgN2~dMVrYg7pKdg%*8k(`61}&m-NcPQ+d(}+Q$8?lBQibEkxk* z5N1iocm3q}ldneuoSA_BmeI3u(m;^R77fja7H(BZG*0A}6hQ~aI;h~kE*dPW#F8&^ z`^O@TK8f*L6eLqepc){$FGa8!fiEIm(rJJ3HUF99BNozZTE+dKY69u7b{zfemvnx zKE`q@^xF@scWTe0=WuLLwA(9Oz&YQccR&g00<9VSELtYZlb5X zD9mSb%}CDcvVN;!5Sl+I$(X&n8ZfTpJSM53+U=K#PGGJcb(wuQpkIpK|CS9i?laA> zRYtX%vIJ6pI*&Om))=bFBORa!ESUTxp{cZb-O^KYt$$X}}x((fgTGb`U*kjp_S*s?syw`U+{vQtYEtpjv=#Cmx zU_S?g1gz4+pEI_Y<0HpTh4}0r`Z)b!%TKdFAr#eaC7Hxe5{RR@Fi__z<8tX-r2Ml3 z+UA^~1Zqc}QPEqz2*8ZEdtse4b0Ai3{P4;>j|Q$Jq=Ip`X^Dl#Y`WV&xKH@Rb6nv} zX`S5>7-S@5p#&`e!dSLh3k60Cb>{^`{A=;T2QLlq3@t;gVx-$bQoAkbV zXr0}K+8pRxxUnP6@$Bi=mhhRgKkI%VoTrO6uJ-GI8(Vz#JZo_@{b+1vqn~gFI!Z}y zULCjl9c8s0@hQ774*P}>l~Ynd{A>B8e=OjyZZd!0`{=XRiH3|#@Vy`Q8c)oQ8Xokm zqL2B{JysX0jxQZc@Z#BTUZ6Uk5BM7-C*v@0EilZ`5sYrXtF0*Ke{OF&V=eEWJ?!0d z(qFR5dtz$%@55tn5srxEGwau6eM1&+Yo3_s3=aJ9L|L6%IYl|6UPq?CW^H)=ffk!L za)q6Q3|i~D_TkBj6~rBUxZ9hWP3A>obyp6B->%)BN% zEshfg^)ML!$NStSvs!aoT&)Si5jR2nBf^H}zVU)^Q*!|O_q&C7ZQ4U4xM5=arWA;J zjk8$>_~ZG~^VPG4U3v8RHFvk4+~!f}xVqSpYU+|@bH$SSm+sa#tEr@KhQ*J;KYf*& zySl?vM;lB`>B$wsA;!HRSO644AO|#qkg44X#{LtucsrPyFf;VRez2p=_c}CIlolsS zPUe_?XAnRIJWE{uBKBxa&ptHP{i{4=+bg(_XAd|Sn7dcsEvakid9~?5=#Cx3se8Pg zE5k}?TfZLMF$n=Rb(DZ1AGLi)tR2i|h7*F0T&#TfC`Q~KTu7nzfNci;U#vs1&V zN$Wlv_WZj4p>x1u)&8#b9T#>O2wOBOtd@YP-$I=q+SGWswEBns!k(|q$-*~&yi*Gg z%UXx}Ru}~aGBvBuqJHs8w!8AL?7h5WXh*A;d`R1{Ct}mL+5iTl4g?-L?DQ>!vMcH3 z$gl1bnZ2C&4_#fo-n*2g-vRQ#p4q(318`sp-%PUBbFPnwoRFMv+hmUM?OQTV!*)#0 zw+=t)s=i;&`SWpi-p>8hLX$K{e6pBdLc+BZwUbZzR!(Yxfm!OF4k4IGfG|{1e|LO` zV{u%$poQW)tF`W~dMaL+#6}Zm1_BsaV?LEj4gTC>R;kZr#blr6YTayghG#-8K~gxy z4X#)uZ5aC+`etl+EH}U`iD$g<^v>S}ACjmv{P$eg-A0bhsTqB0qGWD_$L?T((fIu6VPUeWS0^g1Kj;^W^8f>pf$$d>^g%#`wHF;nC}VyuD}c zsb`Pn^Xncrws6)8Kow9IMsJ2A)yLMZi<8oa^QL@F-rtD32c-YnkdO4Y2QGrT`hBX*Wj5wO0driUT;e4J8m2-xtJSLAb3oh3xCL8gYOj)g-r@zN67U=xkR%nt%HTanTl&cN^p17_ktwx) z?e~c84=ht2)BiZfu&_Bt8S6^c#E@+7)Czi)!If$vY4Bv|lx>VX#wS|x5q^Z3&(PXM&hhj#q?(eo$A9{V>&vMdf-=x&CkMbaF?%PNxt7R5 znju<&$T9(CNZ1o}?A6!~PN_?TGD__{rX&X}{z^(5OUgawWQuOVdRy{pi2C--2Lcq3 zt&NmQEvA0~aC#H<$gkNLbvU_EA8B0(rI%pCQbYw_8&)6gCvolCd6a0@*T6TA^VZlxIR=NXiwOLuDuqe1$@Sreyw~)`huiWd9Js%cUsj0sToyas<~@E~P=k;)|fHG6B=C zIS(aH-5W398Rx0v+2VyiE(0?ZVgbWi$q8O$3s>h|_xyJa;2q_Ju0J zkHozgbwae=jAS7;pB8rkZNQ};ZYRV-NP8Rqg`CBVv?2lO*;3U-S`I``s}8$aONJ91 zsfw4h33HBWtNurTQQR5Hb!s<5_#-$7D=z5|y4%i;KB)gMS){0WGb7hDMl0vrabNU= z)_+(fv3XPyo(oe7OPjQ{LF9!0Wtw6Sf~rtPg3Sn32q{C0!lZBRjbeyj2e{+zJSEdQK%v5)ai0eq_$5G%cgV<7wa}V`AOq12h7i67FZkZZRI9 zLEuTb0`nJ21P4w+i;xmVA)3^}HY1TlTJRM>2pt4O5%}{x!F!wH6dD&)Gr4p5ziFDFi$+St`>kUE!17oP1TUm`G8fk&p*=)9{gi9Y~d zU`l^sU@@HDMEF3Ah%4f-Fk_?Fj_6Edkx+QNSG?Tr0<9G|N{U--GUeFiHhZB8 zKu)AR^Pe}XL1}>N7Yu7+l(alT-xeGi+6j1GlDyc+2u!iGj;&T0D(CEG9GwNK`AMYE zo|#q>sC~_0OsKPcsDog`mo3F8GDmo=+^GHBf;*k&Y&xMOcpP^%6ysHfWc9Q zGyJPW(;MG31qqn9b{w@gU#NLnx^O1!!teHZ(?X|)^XuQ8=Y6JY)-**L?S2&INjl)# zy~}iq?aiIaxtEN{O)XjnhxPXm1>uL&Ij{F66 zUJ3#Z8v4Uxi4EmM!L~XQc6a_aSj&n{2i8wUJTEnh zEPIj}z1@0%kC&dvl<5VOA2UF8p&elK`Z&9_AMqV#x!2G#I-8zv$SH}tH0&S|C3hgv zjz<)j6Oz>PnXypxL35pRiMj$7zQJ%+X3|8~f$+Nu>`22x_%FV=aEOEb9RJtyOpkAa zVwNkANhl=M9pekvkew1npJ0e8pk1FU0=rd@<@)+3l~J7t8ZP&w@j266S#E?4jv55o zhGu9qPsed*lXJ$709Mc*k4W)9+7j5%&=BQ(pjbnkbN%%C&@P^LpKJERm^%$EPP`_$ z&zWBi4kI8vZgNheo#rfQ-%B`gAA3&^hB(X)!=kZ^?8{4f#x0cxF)1vObK@TlCNsHf z_A_kPwhhmyw>`o2bt-y4e3+B+&&Ku*IYeB0RmqAb2gTM>I)f|fEwGI-P_R%SWSoMM zDc`^~R1-Cs;(`_}OhX*JT>PH~=XO^{?CI9NJ zwo``G{;%;+BWKnCAJAHC{~96SaHYp#u*yEcPV}KvmaEx7*s@;uH7S$k>$1J^JyZMIO+DJ$lJW95~RCXc+G&MFyi`acFm_ zcB$_0iSMMci#mAzUxtRTFo%;sAy<^S3|E+O_S$9>$ z3sXxNP8Fr$QDBvrU<0~6YT-fmQ9Ja$p*iTa9l{-j?$eG*W;Ho5vQOY)T=`$wK0RwO zvw!qVeb?KwUVT{8^JDn}b0%nH`K#%tBl}AW7h+E?B;mqGhSo0BdN<_!;J^I=WqxA5 z3l9kmS@r%`0qNO$J;EAqpT940jKl({jXMk zRE9pxXYyuKmoj&6yFxRX@}2CWLL;UA#RSce>H@@4}m# zw6XBpC(Hl&Rt|G1y`JTA^2(u?9vZSnhy1n$@h{|ZpJaCeVk8FW!b!ifHv+=Ud3gKX zk<+7|+y3gVeb-OFUFzs~Fg(BS2YZub;|adwk5KXg`D4p8*5DeZs_=AN&S(d~iZZWk zI4)qV|Lzc4{fL=$XTj+$cCG?*@N%y9@iQ+Exr zVkC8|;F_U8%QV$6{eQ;~!_GOTKYp^E3fW_M>ePdz>Hs^?b3zrE8l7tYg%mVfd7rBA zeA(+_+5G&DtMlfNh6-s_@Rl4g>&_^rd;T43-L}!ajqteX6uoc1uFvK^esyFNcW?8> zNg1qjd-Tledp;h;F377pxIfDeMS9`+A3jWe;+SQi_S(WFrp85?H_e7EA+o-zOz-qh z&wj@xwL_o^Xui-8^{eVypdLimOsOzkcpyYu^)T$KYFP4@;Q+%{B&XS_ zWce^!WY(p7qoQXn&oBLb>yfI!2f@3Xx2lA!9Y=Ra*2 zl22^BTk$c}v$kQ-C%QD;mVarRsQsW4|DD!c-SBdcjh;{@<+H?JxHbp;R-8H|Sm|uC z2FED1i-k}b+ZON*HTVIoc9dKSAdf?k)LO5XOOvd^v&IackdW%)$6u}UDw%~ui$Q;^ zEjkoecS#5f91}FhBZQ{U+kRzdCci$XM{{&AVkgMHFX7zVOoRm-|8PG6cZN+k*shOb zh7sxPe4$;8$n$Z<%$Axe=Y3Cx+-j>lxznh6vy6HXF_idYLOF<*d{tm)FPo_;?#XoU zPW_2woAc5?lJ=lys1YbRGC1(BQ{U1EheGC%o8ho_QB< zR$6ms+Q2d%HWtLfx|3|8L2KRet@?Y8bntof1j-&=;cL@^zYVhWuv)h|+6|-IOaejF zX=Dtx*8Mkk$HRJ%O<=uyO0(o>Gg`b`z-&vN%4PRIB=5d6_7$PTiX4K!S?o8zp#zU& zutDOGVq(;0eSM_e*ft5>3hoqkyAr@TqsMIm4mYdpJhZ%faW) z=19(=!)-B~LwohzM;H^n!ImNa#+=eMS?P z>lJpraaizrY(~Ga#yXwCu#|h%ZLJ%C5@tv($A$@Yt z0U-Cp>7ghZ6r;)P6RHLVQ&=i?`a2jbh|*cL&Y!l?S6Qa$x&|K%gS~TDP8ZU0SUmpAo zwRxdo_x&7IwS-l%rtfMxO>4pmWMuVX%;|(yUbNcWpcPKQjPVeuYq3 zieE*`EBSurT~K{gI4llyEHH|Ae}%F$i(f?k^m%RQ1PnsH*g>O~N%FAG%S9uJI4- zrjXvEr;wTI=L_LSb1l20`Yxuwx$@_Y8CKHc7~h-cY-N+~*mE`v?9seN*{N%ZHrpgj z4$qj~j5KbKf@pVMGSL%;Ax((UoEoGVAk1^`ZgsTm{_t58^FuNp)-U}UgBh$`G2Cnn z-t(I;yVj57uG*o0>i)62+as=fl>0rcssNU{XY>nXPIkHXvq$*cyk{Ayjn8~cGpusg zQsM8)eU0DdCeNn|4gb!g!l**j1Tlz=`0>}j{*nNXVt5ve{z|>L zQ@?QZbz60J@wQEGN51ZS6L!bf%RRyKZ{(GPZnAu6Cvt+H>E&%PexEfJQ@0?ck#_}Z z^rkliy*IipI{7JR#krSyH6E{yviGxA?AT|2a#6!_?0$FQ$v?z<+c?=nI1lyj>PO9h zOF0*{fF9;t*T83|PQ0CS6#Ms@-eT{*ZFjc(>T8gV-(!N>=+%(_(%BW=oEcKux6HFI zM!ifIuEp=dCA!;ackQu3_~iyzb62v{p0z;kCs{^OFYorW4CfL*tqCMb2W z?#(HLRc2#mXv4(dD~k2teDg;)icos1YT)B-StI9`74_87O977rIMmGpYf*m13GUmU zR-9@W&%8Hy&x5+YaQ(UrGcRqOpfrkJ09?a(0PQYW6NK!F*t199(NaE)lQNp_Mizln zDg-EjFQkk_!s|f&QZyQq?XDt{_ieuxex|r6s%pGf`VXZ1ah$<&-Dv?_~v?*>&-I#SZ55?GWDT ziPbmWye|=Z4}SW7bI^s{dbe&0Hy}jWos-Y8OZQ<tU3(&xDP8Md;3(g#mkE8*WbZj$Ymbjazf^$adX&_tS**T%WLAyFMr@*3#;$HSnR% zr!8ES`HX?(bOSvOPmNep_Alh+OwWB=gN+|yz?HmDJAa+g*wXx_>v3|%l|26-kAW|D zFxS6rinjwAilIQ8p{p|ZM^F~wJgk^E91|Ef;n@c{IxCgG&oLI@<(e+apQ`w2=J6%B z_l%?`q^EECi{Grb;U!1kSfbqAckKJg4CkoD!dESOZqinHc58Y@Mxqh+Ra-&f2jg{D zgn=M^aZa25q|{?yaC?z|1G1!{|3jzv>r;D9bBfwv%xLQDyS^=_-Wj?7ZTPGf)p{Ne zgA>B0pWb|b{KgdzZbE|t~pokQi^>rDjA|VQgda3F-p^URY*{(f9VGe2zGC%#70#+!* zB8hW4xWF$!iQM(1Ob*g4fIDIJeTMPSUVfdWvm}833$c`&+7Fg#y_@+m!%&kflZR>( zH0vIU+H}AOl`^OV8!mFvt`jW=(6l(CIG%~T@Ta}HxiryA%=9%*sky90YR(O)4SNen zA5QR9MhXNIPN_5yraK;#^hA$GU`%O*IYDn;hSOD0*p#mV;;N)gP4UvgxLay4*ta6; ziCg1VoD!R80mg5StwMCG(%%D*F6B~V$Q5!f^@|AUQp>(MluR2=D`R8R)AZFePe(rVub0J7dLL{@E#42 zK8@#q?E%vNW#&A--C9Y~;*9F`$X+C>%XWqx&NF_<(N5i)uP|k4o96>S#83LwW6S8| zrW6Dn&zVKguzs!4*BLwkE5#VW@_MgS8QNVb*x4h-o z7D}gBL%|YGD8^QE6^M^5zqT57*-#Yf1sGGzTlc`!oHn?e{7{rhoms%s9JJUVzN%bO zAZVmAHQFY?P%t~k9z_*{;||_|Q-U&~D3?IQ4=_{4jM#>fAv+5AZL@2mFuoLKfy%N| z;_56?fDAJ`0oV|CAx0c``xd&NmUt4AXa0rm5rJXT1Za}7TLR@K(ciw7ECev$mQ!W4 z6b#M2d4RI}m^Orj0}*=6EsQS%?_@Y9k%|E7Tq^nen|r)yAX<)I6r$U0&#lhc13ga{ zbrE6zLVTI;ARQ)il4P-Hs1neDZftF}GZ3+l;+#P?D1~dBTpJ#c>i19r_Po6OW%U16 zk$)k7ClVAwh1#hcwlwqqu{1R1F^B*q;!VT;OL?c@>1>r;RZqM`Ya};eltUvR!vV#p z&ogp`D)cynU7%eH@F+boY(uFtlMD<3WdN19r1%*lv@;;%(xq%)jXmSuBhV40945n^ zU|{@MyP#0%pv^NaL5>?xSauroURqoyytx$k@b-y;(bihDf#D!Sp zDcYGD^Gb4KG`rUD{cdv@nVj4*tTjK5e80u30FH&$#IeI#I3U-ljX%gy9- z!TOql;Te9`84h4Hp_NhjV712xt#g%{1bn-dm{ZDffmnXYU1qQduLnQ*kO|sr1_Zh4 zIKi}$%BvDbL&3)IAY_Y9Ioz9e&A?CyorpAO2{S+w^)EwOJB3WjTLyd9M4MZ(4KL*l zl_|itGdEWGHF;o|c@z<$H6CH#G~R}kP-kt0ptrODuKYT#?KC28ZL?3VwCvIv3n(!B zY%2yc495j6i{`a1M+5OZJECz!9Jtv7UzXcua#=@%Xe3~seZk$(`2SQ>j;?sAt+&i7 ziBpQ8UyVgnP#iJS&h)-X00SV`%?!QsH1@h}zx_pbg8AHo4hDPV$KCksy6g4QJDN3l zF-E(-53h()BV2NJypN34z{p*c`tVGe1v;PZs{~YZOy&ydINc{rgtyL4&tSPiDb*f7D7H&p+L> zg4W-?@$7V~#c$Pn+RwcFs4@Jn;FJCDd!`4 zeMat|O2vJO%X+(qL%JvNpgG@o!ax|)j?s{v!WlTUMLRX@EiFHtUxR+#70)?5rMvDog*NjL30oRAjN{u^ z51M6VNh|B^%R~G7E1vxj{PL*cUHn#}S^qiSf7*GoC?8@dgejxJXOCH@U4i@~z5}Tv z<4=nv+yY@QaFjZQY4O@fR6AC*$Ov9}&EO#OSDXq!sct{PQ7fXRGUjtqxo*|9kNsRe zuNiBwz5FQVYhQQ;k9q%omDzUZ9s28pP&0|&^?8v9p~FNIUu&S86r(t z?r|s`nVTeu%QBMEKf*ET?b}2*+MS>UVk$YPMP4@Nb+*C3t6$L&92LB{laVm%IvDCb zRIHq;7@rTeeEo(B(-V}LB}vqj9VeVk?ml~)+-Ww$ImkTEh%<}+ybF+aCa{ZY(n68& znhh)nQHqvvks^j8GHivt*VC7;DjHt$9tS7X#CX0m-5DJ|Hra6HnPjjjTJ&Xat1zz3 zE^v%0_#Tv$XvNRKXKpz%actTqZ7+%L=LEe5;dAB-_?<|Rv{QlcFPBKuCIcfu%WY)5 zCLmK|{mroY+0Y}bk0`L7yisj^D(BTJ>C0D=km&B-!Oh(~M50xP_FuPutIFh2SJPgP z>zYMv3SME7tC&M}VchNWl)}Q5!gTh*p&A=J-x%~~7X{kE^c`_rOz8=ZIlL^Y@L~*) zXkUNz+0p@x>-m%3`?JIDe`UX{CDzurq{sXnaR5=j*C2oRT%>_}o^9Zz`(BY+w$GRA z3dJ(GAU?A2_xU?bFOut{!6|d< zaLnLN$&>MlOPSoz1N`ig{w6mREz?dO_?@wv0s-zKh|s1I?=&KN|;G}jJB zd40iM-SgWcG$8{D@T%z8Wj6YbB-0&z7Ow^A8F3xb+$a%kES+WpHA`=U$FmVwUt=4@ zVF#UM`YX(YEL@L#%DxHbVl7xtI@|4<^Z9Jwpr~*v=i9RC=&De;TWH~6(S0>#=l?nl z|5{3)Pa0mU7z-4(*hRm0u}YSy1?imEi59;5?`0R-ucLM}hALLpe3QG#i?Lm19+&Y~u2k>Fo)JNQXW3t8MC zEzj!@De3wcRK@4Grgm?b&{dcgs9vyZ-HEi|bv2RB;|>sD&!)>eq<|o2U$pd}g+05~ z5DpdzgLmCyH91!@XT56O&i0Eb=I2_%dgWht?k4v(%}pLTur^oq+Dyg?Lm_UXATeT( zZF+H6W4om8V|3q{%&sZoH$2C~T|XY|SA?Lw91!QeX(%1i6Na`SrKCS6z!Xqr%gxAa zi*Ak|{d35r`&0iyVm&9%n9T=p>IBI{<0~}PZyY)Yxh!leen2*kr#0!IF2vjE1psD1 zewVFwF1gNnDitziBTU05b&9B3ycfbvIG2^3){LjGUj3|(m4v%(Ov^f3v1z`cg)vYc zthPw~{hXdclmi)xb}iiCc`7KpfzYX&BJI_9P#k(X@s0#tK?RNr&wDDF5Z z_?l^pPUdH2)K@jJqCh=?Tv~GftZ0A#4<0u5Vwg|ZkJ_fi%$I%DS=sotdG8p)Itj1m z9G*vW57z#}xoa;ziTfpb!Zx798EPG)Pzpg1<|9=uN`#Q7y9^LQZKWLH?Xn_j_GNRw z56g9D6!-Bz<2m(LdWU`xY>T9!w$W~bmTmNM!N4pr$lOr1ZK(sk*TAkSsKmg~2qiRB z#jXEC!1{6yCt-pXj$vPeGAN(UDVSF+yx(wF-Vjn!&hHe}9y)m;Z}HU7PGBvrs+hr_ zSyZc`R$;Kfh!tHnLUVIDoKp+gA~dO)BuzQnWw;(lpa-P$OsKQhse1p9qH~XDvi;-u zG_~}I4k~H~Pn2{8q1_WjgWYVRw ztcEP&PXjutn#f1ICW^YnUq;?p0rJvO2HJ9xiX;@$^7M_i=cJ+5kpd0!7%Qd1+iRkn zjl=65+_Yj!tGI02$FQ!zkDGo3++6)FZqq6{DY#y9^kMgV|K;WP6DLAe6F=MLj9xh1 zHg%etB|l#KjgcU}Q*0Kree$X9>&5OfoX2H%?>?+%uss-Bj+-hq3H29c$3*aolon#w z>C%;b7aXHD{yhC~YYu+*WBR&{7-!_`V|OmOd9hEVe(jI-yhE^0E8bSfy~0&*fTiI> zs;amPNXHO+>jMm5lzzxztcm@HEWW+I><+H{l_a+00x9j_LbjTCI_WO;wm*teVN~#WHQjEND4VUP>i^CrHqT0*J@A~W@h9Z zHDtubuR8XwZs z4&J#sQbsJ^b;nkid}sLho%0Jn9dp;=0Zv7s%dplJ>4CZW{ZYv#BZ+#`__U@={?Va= zw0440wd!6JOTFxU--?iecWbU{5A854qtW)gX7MGQkRiEtW z$eCDI^ZSpX#w*KP|5|CjMUj6SVAk&j-r9M5-=ciC+wmLJfqmj+y}`Js!7EjB?4o|f zc-gHpoxY=|s;e0%mx+fpWi72?Ww}0z!kTtAVre1c*em|x>gZNC*=L)c76?X)111*} z2fnom8(2spUE93xYAim=`Lt`?r`=@_PpLVx)4=mU>r2=g?rZm`$P<~=L>8b&JX_TAKZ`9+p*jbm-s@_|027Jw{tfmkMsGW0i+N5D`q)i+_I{$e#-!88t--yUyQy7u}e&hal-M@Fp|emws!w&cmC&0ApwN%uAzd1#`zYE5q0qzsQQ(z<~=6;dTi;sLp%D2pe@<&+2`uV=d^=s+#SX7DvDblX4x0H6EQPEU1Q;FQ9^kp_YYX;SzUzjTA8G;Jy1 z&H#C=#)N9JcsH!VP^opUz{VwnB(mUuS|J?Ay`kak@dobd$%Qbc5Tw`z#1lW-LbLg( z)U%9)$~m(1bzsJR$nVw;Ji1R~lG{uLJ#OmVUyx7zd{^4{1VA}ZOAs=z!7=deoOBSe zsBOtk)8;tMluFUaKenMx(If~*H#MQya$(s#s1hd_l(*})o0e@mEY+qZ;CbnS-=Y~? zRlpDr0QF`ylzVU1Mw2K-yio|pRr;C@jVcABhTG7a>^5xg!2bcDszpvwX7>RM0sM5L z3G*g6ip< zuT=v1C8}kCBMq&sshKzgG~jGKC3k_XlS(1vh=A^N(ZFR4D0`}RI12L~ZUc`Xg0ce| z7-AaH1?NO2OXZ66);4Jx(6B)18PIxU-f}gNlqgK*FUYfOd?M5an1oTK)Pp{rq(-d+ z!}RR5TqR-oIO=oj9QXnJv`D#FRj0Ex!R;r{Nyn`c@pi6;D!xi6hQN}@K_>7k09`v4c#-K7G-qy~+myhHVcR*h z-4RJ`n%2ihJ{bxp0y%L;swx1oB3=rD(%jgyQ9{k|ymN7;zaS^K;~Y(xy6}Hu##)@B zlruO7A;vk6?OKQT@{;lc6T=;kM3AFZW38rj#`;{sEy!ULw5&S`$aV6B*s=Zpr3Hf% zp%-p0B}Jnw#7-#jY}BVTl(z=d#9E2mWgZQTy^C>iQ#2NqIrz~WnF}&4X5~yuNCTjG zvD2d9sG|Z^A)f;H55orp#Wo_S zCYbtBs!0OSbxULMNqn0k+r*S9UIKVXt+?>jAuT3$zvaaCK=~m7l{%&0@jyAFb&3nl zh?9`G7NhvUwe~XKoTiy&uHqgXp=V%6e z+?y6clMW!ikC@oejBG4W`ce?QHWrO5exlJ+GobiSx%IFlhMkD@8%!`=V|Yl?y6L(+o&|x0<^bD(7&oN3%#@3aj?L+p?^xt7k=7Oqk!YFRG!~*bYKszqY_$;DG&W z`@859$sZ&W6}PgEUW4yinfCl7oq562KDuWly&JE#4j9qIZvt=e5BRsJ8$pMtclE*hk{AhZL>ytV zBU06@4sLj8lTy7ikL1-5eKe#OIbM6aXlV6%=E_B#GV;C`CwFa+fI4icw*7f48cr!#s?aFkBqIVp9E z*SH8cpNAdkDFU^|8~fFID^c_YV(Nb%f~paJi)PKM=$mvLm=NdjybxYL2_EvPjt+l6 zY*i$FOF1Y0bC7szxreW>K0RS)``N%DoO1!n#VNhvR){~T#nV1vA(TULW8p|Y?rmy) zsl?K#CJw?v!#R*RfNQdl=t^r+BODG%XF|B_zFhs)x<@CYW4fkmANqPQ1(lOaj}sa6 zX$-Ox4BLv?-TC-6R63P#}hpasT;vaN|d(EP?0{5&tBtOYkmXyX03 zuF6AER2gEX?9uN&uyrh^a;W3cR>mV)>rr}NjHEoli#p!C^+4a$2$7FU(uF&wJv>hs zUV!OCg$>TC1Y~Hwjm<>8;#>6esDUY0hWIsnwPq8y+`;ILoII>1PZrw9vu|N32I{N!Bl4BD^k72;g9#fD+k$a{7%}ILK-F ztTG@l9H%wY;Jx4z0w#_KN~tIXSg@V*qre+y59sZbET)-^5YmcuCitVXs-5oZ3c3Bi zAZu>>>mp@e%??2lJ zkCM|f!7TPGR0<_Ph;KYr`Nhd^tV^~YXfd^}(W*CbTON*7MS4&hzGpk7g4{up1$KfS zZ2<&C-l6F1??Dm^=W2aC*oo_!=*t|VS{$c_x7&?42!6CRSO=X8$C&du&fJ{~HjM6fLn%xJ*0O{=m3n+a`5EicwVAvK4-{IW;C+%k8Q(M3M+#t!K?n zY6U;JfF_OtGvETLCm^=bL9#Fa_Wy7zvf7#`u}We%2#4Lc@k}4TPozc!-l8jXq2$1Q|&YQ_;W{) z_MU5!A#f!3EK&vH;B+>OEC^NN1eL!>3t%XtI0X7395Inr6o+K-5gtfuIRJ)%6>A{K>(S!&HIU zG_(j;ubs+HZ|Hs}_h=jf(KUi?G(+<>|hczE=6ohH&n0%q+XBi>U(bf)W+E zDz^I>6yyeg)nX^uD_0Ymci1&bCT4j1@q)u}6^m}NCWVn`;yU8R!jdUFp&9nE8lpHm zQ=ZL3!<8(v0mUa(S#ECGq2REc<+`e;Ej?RvOA3CTBCEdkP7X68%T7X#S2PZhqu}WR z*=&X*8ocbJ`TC%^1dM8jb`Y^Wfok$ZDJ^nu!LKH?Z!Rertg5Nxyna)@cU|+~;D?nt z(O+z~ZTa}Mfp5645Ld|cD#EioYHfx_U&EnfAsi8aqCH?~{Jx8efaI}z{1dv`V{ME5%1weLH?L^71nt&lp%nlAdq2H-8Utyd?2iWk ztmN16k?KUwL$~+M_`~XL{j#)-e|wxyYxhY$-+CZ&7m)3~>Nl#T2gW~FZ`qam*vK>g zM{XG8jt8nCdhHb-)rE6Q!&dh$wqK8_tmPbO!7t#3gsC@*K8)RX{*>g~x9_&}eZay) zKf6EwsJgjj)OlU#u2PFXe9yiQdO03{tiZPWN!d@%Qg4pmZNEO$ef>I78Pn{NsB7lt z&IIoO(N4@mz>_-Dq57i+0CpIA&J4Gd-LQPJ0JHBbt#q zvEs{WpKTX~UwuGiZRc2(kMn20ut1&Nc-&B6zce-MkB1YEX9*wfoZZMP4cxP&>E+$L z_B$`%c}L}+`6yEmzShpZY$K7P-+^!mw)dRYn|cQ1xb6w|X}*My%lYEKJh5L0ALeS{Xr;C%jC z)(LA9m%hv_a(WT9Iy}K0mX`VY^_Pop-TgX!nl=Scvqr!QeiZ@+c5@vg`_1<(O*`+o z2+Z5Bv3^_-RA82KbKT=tmKl>L+0+)#dF4B^@Mm2X zz;KWOgGm7NZgkFd<=c!3+XsT|KsFP{-_$=fMKtUErMH*XqbTLZum&FspR4rTJ%6u) z!jtH6GgflhC}!+HYwG-$4Jjkej0aj$ljKX%EEs4_c++G>s|E)Gm5K_u)Eh}-(=R8! z_gaj97$2gn99O@rnvl}MGQ5KOb9YU;?|ZweeC_GNuTi=qK0WKR3qLf$ZyR%Vi&jSO z61F^fQm|_M^w`z%qwW{QEXfrw*iH2#t3GY2{SW`O{4byF<5{MgJ$GC9c-pZ%&g{1< z8$4DRQqjgbxah>juXNjEX{>e2TYdqyU}x12H^uG=lkPgoyq9*qzW29b&;02A_T&n* zzH-f{Wgdr)Gqz*9A8elp@i}ff-E&O7)aCKcha~EYuukbTRZRtSZ6~2KT#I{o@p8$n zUO8Fu<4+ORmyHcY{H!VYzCRK7q5E)jdFH#fZHkpnYyL7?(`4g49teN~VVzTTyYQy9 z=0gpKzbFn=0OnIxcBp=Rhw&wj~-@=m{dzz~|-38e?xfQEjwtoNmlkNoGo zP~7gatdk-kadzdCJ4FwDtaIO;)GIh@Hfg%8SN?^QkFFof7J)oj31Wc(JhHIG9kBo( za5f8O^G>eFx`eWeMK|)zTgX%2Ddt#%*76O@Y~f4O=q9lk107Xnte^+2cdDIs?zN<|(km>Q07^VnI&j+v4V zY&aV#hEN#z5V&|69&@B*T?sYH9;@$tj);z+w4ug~*5v{j67?Jxk58Y*8 zEy*Go2E)(I%~)pbUugEu>Wj@3^*N_>SiH-5U({&%2vf{HRo=7nWGl%MRq1#xYrz_b zG_xrXoU~zUA5GroKQ4!i#LV+z=VA57r!yDo;VNvB&>VqF_k7^YvRehSe3qG1Wxb4$ zhIF^F419%iH;dp+AM!1X>zytaiBCj5Ym+}-ShFS6_mKab&m5aCjeGSZzVqroN*T`- ztVX=xpcbfz$yJn=y&s)n<6{bo{_f@LUyYCK>-R!EA~j`A)oDIXM{e;ySFttT?#Cwn zo4fCw9&K9+i`b$ZVUPTH4Nnl#NW6vEWV0CUoYMTG=@L>*L+|!+a4bbFKi%+59rn?2 z7pq?v=W*w6C&i{yZ*qA0?-@pJaUlasKUHK|M0+fU-9Eh!I-7RP+=BPn#sudpjD@YXQI#5xyONPc$(a z+LdxFEvUB5i|v2gZ@B!@Xg5mfo*9gxE)DAZU)S>#--1O- z>B`E34xZi5JD+?wFJsJ(wQG!#4^W3`%13Uv12A(?ZpkABT;xwW%p6=Q@-1AVmCE^( z=F>kP0kFxsV)^1O3|s;UPjC=T@|8-z0_GI0Al=hW!FRoN#ApTwo=DGx#1<0#RNYi^d1}d{X*t3J57{@QdKBt)KM(t zGG;-2})4Ao1wNH#45;FB=Hn?|MvT9oLN~v(+DI{bGNSw$qdjFvZD$Xht%3QU2LOu3$LaOPAu+k*qKq*!TzK~p>1 z3>71F&ed@fJoJExvI2%Sj6u0FDL~H^wq;1*2B4mWOJVH2a^Ch3aK}Ue_hB!kVz@?+ zq!SK!v5w&4B+6!6%#fXCLd7HLV3IpJ=Ul;IW`n%@R>1XMmmNto11%b_e>KLx9Bj5U z+0;1?styWHGp&ni!Y(=+EntD0g{q4h1Hp^V1LF`x!kiRK2ZS{E)M3MVXmVU2>oP$l z`9|!$%{>BGxKdPVU@{EjPoUMZSc6F*rtqKxpUnaFv?Ju|7Y2*gIhK(?Jsiv}L{s9! zVblrm$-ih4Y~3s@r{QTaJknVDkmHf^0MXBR$21Y>A-isHAEda~tnOlKDeiiLARniH z3rAgLGBHYhO{ED0B^sPvEWxF6@c~4InzCazgh}Kd*68d+voQr)eIy-7zgz)TINNG4 zJFUI1$#erjZ*i#Mp7sL|J=4#r#bq+eGK&~bEZ(7ZE`#33$D%kOW?+PLU zIXGMeBB8=@(wUJZ_j4vV5oZsJ)MH072TY$FjoGP5sUz+?98WH9nnp~oce8^=J@Rv zexA}-E_8=tjR9+{+8EsHGlF6Pr=MR$s-MyOD}!+kA~s524JW9EowmV)#ViVI3WHBA zff`F$mnl%Zj$-RF5H~j`Ndg{J`3@$l76vR5;CdrRNx1C}O?A^eyC&!>j8+y+*87&p zCTCR!+gT#yK=3%Qj|0(o(=}yZAQvjcQbBGXx8ZSB+3NBkfIRXV7&L3!n)!qS~j2ogb(78%nW2Dil@#kb+~1 z!tH3imVXY0o0y%dLtF#<66lQXluI=Uy10de>?FQKCZO`NQNMc)jN0qzQ>tk_SDJ0z zhwQ1Tt&oVs!=45JV?qs}&MtIBc{8UNRJ>4gYt3zGUwh1MFVZLVZx@{?0eK0z~iQirdVJFfMA$xTEg$pj>ut%)u~mp zY`K@bHren5Ok@FKJJJJX>S?p{b}e3eHA-MChbIZwXCp9R+AQh2o|(}ky|ot<(`f(+ z9N7p|^17cn52F-cBgM+g{+C3;H;Ne6-Ad(O|IDxZgZY7O^8K9N0>)zR)cpav1=if) z{Qdw4$gW8djT{W+F7*jpOhPG^X0Br+k3xI3G1WSKx^Bo{Z@+gEA2ib4%p8Kp7u&rB-KnH-)#7#edvEXERFW(5H8zZA{TjE@-&_O8BwW*ipY>f%ZLTPQmC zzki&>-YF{B@M+ujj~`tV9(;NK!}ilwhj%ZJKQ*L1N#O`MEVYn}GU;(9uuJ|r=b9?;ti?y*NM>NB;bjZVlML1iU{syUz%O$7 zWDnY6JX3feROn0(&i}#6+N#0VO#4!Ozk8PX?whR9jS&=4p=YX`BI7zWy9xBZ0hLrp zyDt-JBlaOCF}w)J$yiMaAk{c`7C@3?>!77%nhCKL#bSH6Lc@+NtRHsaqZ{GbX$DP_ z$!ACPinq05FtL#J?07WSf$Zz{)y=QcsYlGt%Ug+Xl%@-W*5qJ>t1_?H5Kbe5mMYB! z&%~(e%<}JoRJ|XamKiRy>E_l;Kvt0P49~@T?b5WTK z3s-h?SRe-Y)D@LzUqTqlCbX!er_<(*)t}ex4`_iFjg449k|yJ}4;t5{{}7x_=d%aA zToTB~9ITKB33XD#M5l;_7Fd%Sd%MOX-Y^jLwQ*q!re%$}ob~`7Rd0PV2ki9M#h+D* zuTx$s^(kN9L$U0d7zjHH-Dl#CpfG+xywi)qUzi7CO+ROOdGgU#<9*742t{2z+LA6I z=(pOV2eM+%nL;7wE$&$~0pb3-H6#}K0Ap>e9Cg|8f*}hT;IiH!+sYJU{>?*g%N~nl z3CfVDJ@jqXC<-+Pc6n~5(V{LLfFhSI*uR^Yt)56jzH31@{-B!&mr^F`u|V%`>Vuf< zccc?t>-1JxjwWPXs|m^Qihk+$zANU8(>+e)5Dw^+HeM?8mG^{%;8v8*bf4%|%-)=7yt!Vx9wteXpM-4P8R*hCzkw`JO}}-L#b;DzVH6GN9+24UBfT z!5ZY)SPleQD<$i*igKzszA9DRFG#~G)D_Hz$z8hch>x?rzDfmxye^+`$|h&_wY?XB zW*km1A&8%bx;WHZFWEnDM#62bAK3+hGThCb!z5#AVk76}zB{EKxHpl1j30dRzkoOD zlmOvKnZ?mPQ=tVngTAsYQa6^D+rNpJmxWP>^10(D!#ZQ$_eMG|N#!$_vzL=Uu20F^ zma05M54U@!E=q8m3S<~&3~?5^{RcglvZea~|MLM^%qPWT?v)c&&c&2}-&2;69`PoN z)V|52l%4r!3gK5aSJq%_hfl`OUSDfA9;wokC#t@L1}byw4HH=xd$QkWi!AUock|2r zRp(gu8GKYj1_?fIfrENV`%1l7lCIvI`oU>xbAV~>V)eF$jPm{!qJPVJ!al~_GTGJG zp+S$=JbY>41pmIlW=(o?)u5>vwf->ma=_BhHklJPhsMj^3~b^4qg~$rFLVjUoHlpt z<<~OHQyD15wHAl0kf+4ZMlCzkX=lP3-;2WX?yErL2MWGx7~J7m_uR3CJIyb*Fz2}J0-#Eu$E1Vi(RBRlUS&2DL zY`R_7h_gSwl|Zw1qTqR>@8(WYgbeEtlQ(lN@n@>e*bB^@cXzz)j)-G-zODLqgIVO7 zV>?bj0->zC!~Xb*>DPW`=?HcAiQvm`E+My0tmuz!oa?0&tREea7LU08)ZHB|Srb#v z9*|tA76+=ZrXwRiHfE&!SH1Vs%d*IywB9qS0YrcMm z@qx?B1#DM((o`_)A;NZND6b6)40j;~;etdYu<|cC zYZIb<#>C!pUMQ4){_?xvzs^RG)Y*NKD)wPHT1#`1qE}p?IK?lGpRaBnzn|>Vs7~)| zcso(|3v#o=U7kT`rEANy$IJsSFNc$CpfjOj@l_n&gf4|;FTJ`pEk&@@26cS_89tzd zC_kEH`+joVv@NFW#Y_U@VRuo|woc*umKNtfgY7yrgQQc>!SSl~uic#^Dty^5h#H(6 z4Vw(L=hfcz@bnw{#hAWx$vYn}9GJvN##u}nYW^vhewFF_v^nj8@rza>i;i$3SSi4R z)rP8>OFkHUI2vJZn!{+AtGPel#%egu$`yhi7FGzdQiky#bdF08ee3Ni?ILz6f}gyV zb9*oRf|&j6udQ7xT^z0Fy%&%3d_8<+SG3%+P6|%D_}b~_iAVi#7t`urkY&{tZPmk>E^tkGZI{HTTC=?`FJy^$KK`$4p~))|NRK`LLyx?or}x7} z6XnHA>N?G_$iLI1Xv^gsjzt~c-=Xcur`t)1u1#IfYH)SRQ8bU(ZS!^Rppgx`YRk!+ z;u%I|B)M0Sd*7?`YyBPRsx(QhCHs%(FLo`Te?8mBX3f{rPdmF56;5G>RO| z!9%p`)hR!kZeF+*wshFhH0AOmi|#*H3V!_C_RdlxYq#-`I>$|oay67F~Zl~esCY&7&#C-ccT_*xIu8|S_!Y2x>N zICgL=wJY|;#iLhtMwwqYZm+qu?b+QkiW)&X>V|my6u!&tI;_!o}KNK z#W-&j6{IPf$8P@b(f(zLu(7qRRt*>KY>Bs${DRQ97L=_$YnV61%i}LdEQ6-jzUnCZ z%>SZz@Y<_$$EKK+18-gIA3Mcu_ip_H6ImICLK(Zu1ofBsuoS#st zr3|N_QyblVnm74A3K(=RZTWo2m+GL|^pEz>@y|&TFWu?B7b%-cJT^2~cx@~2-9AWr z=J220(&uRpD?R28PF{J^ePykh{?GBnlf_-nxEm#?ZBY0`k6XFJ(Up9hyM)c=c#DxN z1Z3v|cf;g_^vf#C8F|YBBg^22clt7uPt!~w7MLbkvJ)|rv4?rE=B-R0whuVzTBRSz#1PjAJ5ez#Z%@zS-A0xc2ph%d5je^a8#h?co+kr^= z8mDu(HC7z#C<4NNY5_GLOojZ-aQpM$$VPwZSdd*mx$nA^7I!ZDbEv#q^oBdkEALRS zPdp3QBu&^eR)iq><+;rnBUZ0j}{La05~lSW+!njkvzUFbLOM(?yB zM&4A)44FL1`nCjL?Xf$NJarxCv^<+RC6e#E=l>`mKt#n+mzJP_{2N`PcpN8}P9nNl zu1uC|ce)oFbS^XO_%=A$OJ|*f*jzJTfF4U1YW2r+$xGGL>~6L)->KW}%WR~os)jA3 zbfBbcmGI{V$oPSoX#qe3VnyEr#=W>*FhI|lzBWEx_#$8@2fXf(3*${CUt^7<%ga~a zZ4cf*VfN|3zA%%}|MiZBd|KtP@yf~h8?XA*q96uz)iAEcne|EnC)O1k=WR8K&b-ds zd&MSX5s|jv#Ldbu-2Sj9c7ib6p}>93qIhbaN6rayB>rZf(UNP#UbAM|+*vN}^DFa3 z!%d$aJ@9K8sr%+@a@VLXRf~To$Ke3vNjnmTIF+k_CPy5i!%M_i4N5~8=bIo-Kf!OtM&p=v+`>3l8Zh|&f8_0{BYBmt%UuNil^-W%f>ff(wY8seB zjccShqZtb`A7A`O{RLu+Y`yS{Jmx~tOpT^j6DkY}%p2&FvQhrbqVQP0W!4XzJHn|i zQi7;N*8GAj&q>`AVT6=gS+Tj;g+5E zK6R9TR*oe^g&uveC>ioU0mL}Mj&4vtpphh#c3e4WsI5!)CkWGs!fq@*su^9$aBVbi zXajq=*Z}iXfqfPuh2O!BtJuO7uD1_${@p#GUc~2%ClTt+a zbzyfRp$G^5hFxIW9w_FQlLR)Lm)Z*k#}_Ql6dESU8>O?9ziwgtA0GPbb~XLf)kkq1 za>@XvDKs{8uuxH?iSn7%+{i~8o2Mc7?(QA-bRTvMEGG(fp5MOxxa4~@%5}spjYzvx z`C0#5&6o4ClzuQlMl zk+*rg#jnBly~IO+9cp~lH2^rHns&mz>Jilxvx)v|4(mk8J8N8WmmjY<7vXkY>mGf1 zAi|=VeIv6FAN=b5FNo8p11%)PeoulX%N=87{5efw3E4E4F%f)CxecKX{J=1p*heQb zuWQfb57)v)mrpBJt@dYM*m>=T6@AwG#`<8+0}5&DG0c~{U(BiIs5Q>ZL&Z?%&FZm! zx0}1&seQR*$)Q_n-rpX+`|oU#rj|9X`24rnr*-sl)WW(zj$rcJO{?>M<}so5ybLV zQH=Sm1b_8;oKox09J2AK4fvXIE~ZhXnNp5AA_T2v4Z}TK}zf=g5<7hZE7I`sFL#^u=dmSe7+oPLN3>I+{8U_*RM;YG(Sy$=Nif?}> zE+C|{&>(8u*dzh1eUEPOavgTe!f&SH-)Do6GT;^H0N%l6MuOr3wrX%tE}CiureBa+ zqJsi{D%$xS7DTcHBOKe1>J}IWEdZWir$uMeBFEY@#b896s7MnM0mhff@|xnWzh5V% zr7{>b>Vb1KFS5yjKFPS8_Kj~yi6=G{jLYQ$XZ5s%Ejc8>gTd|J9f~1{33)=KR4Eba zCJkWp1{~Fb*@D^!g|haEl$1s}J-W#PgR6-fan|;4_eUX67JQD{5d}gDDX71s)4}b zqIGP4Zgf`|w}{~<8W=J4k5!G)Gi5Zwx9KO6Jb?@>b(8NpH^MCknXsHZk>wai*90T4 zXS4T?(c*$>dfhn8TL1|iqzYA>&jWwT84tksnJDM8hJ&O}wcL3WRyswS>1xBlpG_a4 z3ij*+fv3`OxSqmqOG*`@S`vQ;`2Da0_*EMrttRy>_~=t92MroQ=Gu1(!V96cdiimi zXk4FLse*jm0L4mMl?sNbvyL>1dp`mAz;sE9MglHZL^F;|Y2|$lAPtVEjQN z!z`)^c{wN9n} zY8+<4SqOx_>1;R1(}+s#T(ov>x_|@nFBafTXQkSS5r?i@uH6W{mx#l<9QXG75C_H)Y_y<~n zyfsLr5$-pYGWW^^UWbV?&nBrjn*rF+1JjLoww$Y)0>A6c&jv-w6EPTNi(R8!DH~pt z=*k0nJ(wrwJVkh#*6g;hB&dUBtutt_XnWIQkiA-BlRSkNPQAOe3q035enDJTg*1IO zHu(mJYsM48VJOc+$oaQd;mp06495MIgzZ!xBN@Xf(0VSANkQ{*#imnA#o?13;E7V{ z4-HfkTBjvAN-ABcw2*XU^hIMc0c5F8g^{U`MME)|0dT>Dq}DI(G16K*^KkI^wAC$G z7ziD8<+(sK z@}Rqy5aeto`wQ0&-!3gT?f*S<@}x;>Y08?yCrY0VlM2DK zOPs3WkL%{M^>Y3zxzJoGVV{4v&|D5aDs-;XVrYRID?X{gMF7RwX~;}haeH=0jd$O@ z_X$MFy^rb8_zmOZk?q*P65ns%{U3+N{cxHSp7#{6o^UmT@(XvI{`zwbW8WT4 zRJ7kp_LnHiNv-Mb-Ob^cm8b4Y&lIg?tlIWzJZeJy-@Y>uZ3U_C+wNZay1wU5pt);P zRSm~YfzmG9Jxy_3bq(u2_m}#5Yf*v3j@UN_F_QeL(Au*6@+Xj-1@3jCvZ~X{=dpKe zS5|KM`Tk45@_@HDE&Ct@TF)yLgit4MABW9*hli=XUB|aw!(#f_e{^nT_KS@!R)(d% z_1(ccFWm9`;)vp}G&5L5rqxtw(K%$?gLQW&TRLTl=HHFXRXR#F+=SUt#&WkFi`o4@ z#s5kbkKO%39*aC@+_WmvmmlkQfAm_4PXBizg87Q~Lwaaq!zYgfuMG_pi9za-2*N*i z&3T0vP|>7YWzW{dz82lz4nrdY zGa8M6J>{7N!;$aC>UjIi|46iJNr+o6He?1Auf1=WLSI@hxU6a+a5O=Qj(x{+&Zk}H zpEKx-YFL74akY>Nf3^f?`cb_e$Mxzop<$a)9U$Q;?5{&_B^Ic|Qp0SZ&*1YGq*Ry` z!1AW8ic#0&h(i$}i37&TrbYJQgcQNmf+AN~k^L$h7bO5g?4YY#!|0&+QhfCD{4a^e zKkL^Fpp&;p0Ivkt&E7LWjZOybd1RFioMRYEl1DMOqVyIpfhEfsE}2 zI1R%~+AiF0^xbWS48o9>EbzjS_*OMe5!ARvaq0JHu>--3ibiY3E+t4D8gl<06aNl0 z{nL=7E(6s_NQ6_*rY)RPodHuFy^oxBy--%2ByY*CJSBVPV&%rRZ0Q7;R$ys;>^@1>zhUZl0D&@j*%nbK-3JY+X`)28_I z^6X(EpZ#>k{K@07Rad)ZT{8*z5?%rF^&w96qpu}9#VtKiqleRWB5AsixrgFNT zRN}&FX2x30{_c5~`?kk7h(Qw^5(`*`d7tbJpu$BsVw1&?k>vn{D1cXO;{WFh4=$%X zK-Ac^9ycJSB|0X?(We`A_{^fiD|>xK zJJ;Z>++U?am-$^<{m)Au-(q~EhyCc~jmc^s?I&F!=pz=3jVY_aq3RlC;h8h>rzdi& zK8N6MvKXf+@Qe30oPjqaT%8CY)silF-&e+NRz^Gdqr22mR%x>?d%KbOmz4}je_OL!N z?#;X?75!COS{70;hp!js2i#y-x*5?49%`%W@`&SUQ;U`{Vs7WnUTD7lX>emi1MkVz z0`E1){>jN^?RmS}ZIsUg*@&ifVW~f7+|}pLKiB?m!fdhip_sy)alpWMa5{e~-o3c1 zHoy3>eJy+jboZulSzgstz`+G~+G5 zJ2|R7u|wp);oatcHb2Il?D*Ppu#0E%W!(EOT#Hj5RFsE&AVm+f-|S95I$}q=KV63x zl$iE@8Gif4Iwz;CyK}UiJ&A7vF2H~NO-QlExXU)i{Zk_y$>2TzA(Qp+Z@<%VpGr34 zKqsvK!m1ZGsSU@Tl^`!=KRmXxRJEr0;Ap6B|D^P2`_^@_rBR6eKSJl`ii7?ZSc~pu zc@cKdV(qbMA8%U!d`>SnuZ@c!swZ^zxYrw>q9qtCgAR~RzaXc{i!y?uVQi$NVuXYS zyVRylzEMT#%_TmZyB!aml--(TIY=7vVPR^)!E5M`dzKV>n)RF4uQPvI4^p1oH=Vgy zlE0piSphedGHRUQk;s~l+ml@_{P~%T9JEiz>RkZm_6ZDa?Pa5*M8Eb5>lQ85?GpCGU4V3vxBL@12L%q^Rl!|H~US zgl5DUM>a}nfanj2Fgz*AX0Fnw$5GtA`K|EE zKYf9gui(J#6X8Xqy@0{#bl~m5k@Z0{W3$wqfF@>DYNQWz&TWPkV}T{!iL5{Fd@nAf zq`E}dYYHi69PH(a{PQ`=Z_Q5zpbQoilESd3TEbimumtx( zIP-pRJB?N3%8Lkh^W0A=MoVd2e|zTww2shqH{CE0X5Q#Li#tAJO*g&MXF9gr_e$wQ z{Jp`!?uru5Jr+3m?^~!}XHEMyOKhh*T;&}Q;E!GG%*<`5UC>JX*SwBr?}|);m2H|w zHa3Gt*$gU@9Ro4av<%yP7pK<_E%w`8o3ISi!@I4p*_laRSK?>pxa_SpU9aV@Pl^WB z7i(iyyA_aEz^;xkNKQ$zdU?x2$*n!BwzT~CkVV2uVFVlEITf7g>FCZoQ)h#FHDm{J z3=^FgZ+VFNfl zf@X=-k?<00=7=&_j3Orx1t`?XUAximaKojX6YL)b+o?4smQj;!ajAO z7oA#Do#!Nm#U0KvcTC~rju1gW@GuZ1YMQGZbT{%&2IY+_8u|Q~>@%@-!at_vp`lmOPpk8<1eTXG@Wqju+ke$I z5u8fIF?c@ormcsn%|26M0-jCR!_?Wmc<2l{3J8-xxuDD4`tgNG(LF-`c| zC{LbQaL}s}iUp25bCTifU38F2rl%#%wa@8V?5Ww>aS)Z0&jDvzTvCXUl?3N6xkBfC zx~mHY;=>BK??ae8&qM(%abfQKz0f;04LCTJP42OZQy>pP<&e-+EXGbASW9DB4Ee$` zFnuPw|LZ=^ns<9;^z-R1`;edf z>{GWy>JKhH?xd;WuLy}CwrX7i_+7wX)=WOjv=TVf`D(S67Gh-CQcFQN&4s04)g;$gtxR@l+P0>Z=v(LtIO+tx zvYQ#oRx2^brq^s*kPRV zx-tV#|DAzT)=^jTCHxSHt(s#>`p8mfM_lAaCDc~5%CnWw*(oXPJ}HwnbAz&l+y{y3 ze@e%ywsaeVF{05`8t;RZWCiUc$G|BSpRsfI{Yjq%` z=qADz%ns>J4~-0xa?j$q>NrWn`~8u!y1H{Qop;Z0|9V>eHu2>2h_18@RRR4gnHi0p z>&ay5)U28iN6k%U9dXBmdoqy7ISBYtOo8}t7U?ickBXxC3d5;Gm51CzFk&gYQCeO? z+64gp?>~MHYyS|ZEsxH(d6j*t7cc;t2<6F-f97f?)7dZXJ_^>xx}qL@$oIj z6W|G`p^G;b&xSOjUoq0dDUWAK-^`0<|J(@{;n)Es9%8 z?x?PI%Z{^43pY;Zt+RB-X{xzqW3WO%+Q$XwQ>O8!{&DoI@0%}{lSlu#Y`12T^~aNh z_|v7dhup>^rCFU}KZU}7u1x!P?^BQDC9*HO=D#`b=6@3NxhUvpdHfZp*w6C9C#p;I z;y%F*jC}Dm-~QGu4e##5Z2DAq53|M=Ih zmJEb;(rUm(i#=dPTV|nh<|#?&4R@p zmv<&%T2~$-8j54u60LkKLoj1WA%Z+qqDq>xgEx*Kx@(&tx>0ceG9~BIQsXYDo{_1~ zAm=RHC>4_ELP?pc`Uuso+F&xJha|@%G(f`Vs52#mL4^dR1DGKFnWw-u;j2Nu8b)EO zeYCU-8NxNCUz@R2a^`e-Kjg%mriKZ1vpw5j=lpE@=BTkat@-{3TOeK@ZM~N`3fMnQ5fl!5(CUDDw7aG&X2jKu z7Fb(oL2LwxP9WyZwax3BvOp1bwY0hi>ul|M6L)aX_d-*QwPcp7ff*Hj4-c{A1+X@m6o|M@JnPvr7cUax z85Zpsj4goJF|w5`3Th7e^lAx%G^A0@+#2U9d57hdN|}>&sLTL95rM79*~j3Cr_?gl zUT};Y2lN5sI-5{F3^QZU00!v$I&X2Lh)4gdkPc(VZ-Xu^fh6G5lUR%Lr6_~R7fp0O zFb}BoH98>H)hZua!+=tK zw(Afd`qi#tP^psG0w1fBjoOd#1%&5N&4k0iF8>HS-T>a967_g=lqcnxYe9!*$+)qa zaXgTEt0T(~up0!kWMd_;JLyLdd@VtVySax5nFdIRS;ig<$1-yjJ*7>lU*;mo1`l5! z;$JK>nN+SBmx3I^ST{h8C$~-NkYw>SdO|)cUu$G|f&~%^z9@l>$(xO2%qBt8o63Zl92hNKL5ogNQZ2F_Cn`Ts$R^%^q+WWw1xp%8*-cgo0C ztXltLV6D(uBa;dMfM8lBS4pP~$o6E4h%XGLsHNBczH`m)J%EQTWE`v)d+zshV zn(^d*1_Igm)-czRM57_jF7E)TXoTSk8V`ZV*6{`g2Pk#nOWkyROgQK(8ZBl<_cjrl zXTVzaw^O)cN-2aH3~lqsYBnQpe3Z$>C>^qvI@{$lSI#ow)EEQ1Dci2z?mjGU*hR#b z7_F?LU=Pi;i0|{|?>*pGX5kMt@%H~gRuk`mPVQ;c#BM0+PjCgPNg;qUd(XC&Y^?PM z!DE^2EPmby4KspJri{0U_do)yQnz8$8NOv6?1QZJa*!7o;XAP3NpB}7YJ~uBJq>Ol zj2k3bBNtwyGDv*l?}wi^;NesX>z+sej!_=uoXAM2v5!hmu+0abhR2`EgF2uRX8J;n zTKwBz?Ui5AN}HzWMW{;~r2sUFRLF5U&k9pwJ`@j&d~am^4(~%A_yKgW8=<%|gcLfZ z%)^4w_WA^!WoCm4Boay-xY`HaP7Z9fbP{R4hkXPEvTm_7)niiI$Dw3-foHoTo*`xG zka6mcP)}Y~N^6uKTKaf;nBacN1~4*GvRO&y8g9)*KTD+UfpgIOKvM+@GEdXopfwn% zlg3G{Te8V_2o&Jpip7rJbd}-RLzz6OHG`*?PfZ&RjS6*NOeW91)s8d9L@gdj<~=Kr z64Euh3I`e9v&NvCv5rmzb0LO=|E!NSo5y6;m@o={9}(ezug*EE0XJNK$uG1M2$fNz z;>4=OtLA`X!Sb(J%PRCA*Y<;!V(PzJ3KR<}CL)uqKK2*aY%V;rF(Lb8In3e5FQr$1 zxNrGn`5$#R;+|G5X*y;+FpHlkKQsGr(zk)I#E2<2@fDlnBzvzE_++|$z-4>B{9o%6 z?;pB7|6ckv-@|qO`iKL_XRtZsM9}Xs&X8GBV<2pz_Mfg<%Ij0V-0vU#;d9*B-lbbU zZ~i&##C$mg^Jh=MJ2_4oEq1+=Xp=jk{oCL3qWRaiXi(gugJ-yy<-0WArXlgGP-F@P5)6HY#r|A!G@ttp=5@MP@ z9r9{%1Z}?-os(3j`1#SwkmNs7#JfZ&|7KCZ-~`-#amhl5BIO3(a~P--AD8T!>>d(J zeEN6uQjnK|{V8s0H9tg5)a##?e||eADAr17(^TNIAc#bmO1C@HSF0aM{GUE587*W> zkL~@+IbVc+K&2uWA;gmu(Vb{oJ!*DM^|ZJxg}Y%D_WgN7FdY;oD>Lw6^;yIO5!4nK z;c?*g463Ac(`ro_Zws40a!=d-ZsbeQ`+}-bK~nXl-XRTkj-N_Zp!ZRj8aBUp!GY+V z-1~z%tSy*M>D0-eejw6n8MsN4d#tkbC$T^PNco=WawlukZIAd7WAV(%@tEJoNqK*Of4f>YUKFmW?wMejSfZ5jBMS82ZIlAKfXDM#bS^l8F*T4UEcK1$xlc? z^g!jc#p}e86#tLc?^KP?QuWiS;o{v_X;))a!=+WHWSZZuA62KZMD}E{4(cGpz^vul zqt`?_JX|^g3xK;wgb|N|e+`AAeCY{FN3dwIkvi0C3lYlV8v_6kYGP5(h?kE1Q&n3m z+)uzCmIz|WC%062mW>ZpRn=7mwa*;fFz-l;{3)&7`)s{|NS3t+t zX)#V*V>ZWXu&*QO_H?Ujn_w5G{DAO_qrsFARqye-Z)rVJiB)kj{F`lU8k$kWu%uNl zXsfqXOU3(RUyjuLZ|SM-%QaehoX)uNBVyaSwW%5K_$Xi^AUD|Qm6@zRxRJ1R!~`V= z5Fz>f9ig0?OI9pF!qbcJE*)GKO|X{W>=@#x|I@*0b(kp7HyE*Rkj0ru#C`l0Qdq1V zE%>Ahn%0@Fezc{$^$0qC;S(6s)t-J)mg8}$>HZOR73qQq*{5OEBxNNu=pJADggtN? z2%Df#`)rjYmFPcX6Q1`+b2ph=^Mfia83W1zTY&Z;{09ja%kmq9FU%bCj~@qKPTp*P~RosQ*Qu&V`pqr-e{BI$*@we+IV)19^3GaslwZP0vA->p6?w)criUV9E7_!y5%T7b{u{evHYV`ybw|f0TTps%s%ryH@s4%L&sH=XUFv4!c6^qDp9 zSVyk2R4<*}qy>zkYN|ySBcu-?hekea(&8UZ3qw>^C2eZu`c4bvvNw z0*3nh3YQ~53y!fnokBNUK`eTg^?cJGtxHm|P@AI%wnA(?jz)PvTtrWgT=?5(QESp1 z7c}bhCYWzZ6V=r2WvPVN(I~BBpBr#Dy^=SckJ@I@>Nm)ZA_a+%x?$I<^1X@lpb3%g z9Y|__aeD1P$3CBaFMBR7oT z*_F~ZmT!W)xYlA$@y{8rZ>tD5-c0 zBsFUO_LrhUA94rNOwYxFV|=h3bq0eXCMr6(m~SpE?@VriIgAYWMaxN%H&fdrVPSDr zERQLyb*G-X)xKzxMMDb)od8Oh*iHuP=v>}sy1AA#iKgHv?$4(x9S|WoDtSD+yc9T2v@be~@ zhGvWoZ%#w56no#?XQjwm%(08YyT^eQAMQ@w7^yUz3^Ruabwjee-inqD2+KP?QSRA1 zQC2h-gQ@3RDeYGs=5Uax|6yDDLcjKD8XQ%&}QoAr`EO zUPR%NoGQ_*q>n?Uut@d$Nhb-Y*A6x!CtI;CJ$_ilER|ccoRy2&SME5OR*&*=pHcIq zCDf0SywR=|q&yP|WiWi?L{W!s=mwRAu04Z>NvYduGpygVrLj&Z{YR)8#_%+H`Wbwc zqC1CPOG{BYeb3&o&<^kZ2_#7Y)^WY1bQoYvW zw=Pm<8(9S2FL&EQdUS(`Ar`|`wSSbuIIO3iFyG^!x3a6y0izm~k>$}gFH}7)LElAp zW^m4PcmapFxfbS{|2qJB`^&N{6fz@V1xRf3pix-IWE$c?G((I}7Ew(I(EGS#ZreL? zd^$~1<60u$EJ&fd(9#>K6eOp+Vf+NPICLVSa?8NayKfz?$o{RWBJLoZR~*oTeY2!o zQv>%GkxHlpk+ao#iuOG`*k(@+m`5xDnH``0?zygRb7Leoz^a$B;eZuRoTM~B~a zA1PQJdXYW$xXkeMnN;*CkU11$g~#%Kg(I zxumE-dCW2G?m;xO(DpLsmh4ZzWS5O!=~nM9mYjZy4`;MGub!w2Z3sA+J5fgVIYL3Q zUEf}qz30|```M=ehhq=2h%rySeTr?nKdmROJhj&!y1-$Uv@gVd?!2OH+I)`V2#spM zF+-6lvRNT=24z^R@JO+s>V|!BbKq`JkCTwh)U5>13bDj^x$=k3(Qd=5V%nMUg4{3F zS0g!;@~m!Y;HfiDM`LtTGGEMtk|P$cLciX)|M5muK;PTVeh`ZYxw;89VTPQ)!Oy^%8~V_tO2W@>L-^^hsg z|E;}cau56Z(TQV&?icMU=Ob4^A<6Is?tN46^|&^hOy){W)Iuj_EHHsvBB!D^xUPxX zb*+XKjTe1sU1V3Gw2$7uj+yGahEz`IOQMEa#(ZUmuAY9NdQ?_>_egbQ?3K%H67}b> zQbYXdjm{s!MfX=HdrqJJXGV#lR0NxY53N2_iJ6~Jua>3~@xGRJ%91ed31wzQXl64i zQ5;Ql=WeCyHeYCfGIilliIc4YR_5Qd&83s~l65QaFXL#z+?B86BS+`tC*!|#j@(uJ zb4=12=>q9NhH|V{N-9CbMMs=zO|74kFi$ZFE2Of#niZ>-9UzGD!bXjfxp=F4G6qE3 z0h!8wkSx>9kDqI~BOgxgsM;w;cF{a2C=(><%(*u@f5TH+xB6_wC$R|PRStgl znt%E|xX&*Cj%YWuNF;biPTqY457NHB5eVXnz9^!*^}(8q1(eKGf}P&D0HVsce8!Di zEJ#oC7!f4l*PLqU3sWV)?^{Nl~Lec5k%F41WYu?p7|63t^ z##!1qQ`V^|vD?1gc)@sT_Ur&U4ZRWrf2UX^^Pb1 zL0msyITg@J&3%+UcqOTV0*a-ZZKePCDmj!~&@5*408`zxeE^ zoR4xP*_nY|QJE&jXdl&Ubs+o`WDc%Vum$Q4`YXshnrn+foq_0=>JPDZBKi#o5jaCH zLrzd>9^gREaQL>>TdgvaCBh)7+6$(T3HVNuY>t`F>L-YSNpi7As8Ge*XG&0MA7KFp zl}F?|dG;cd-Ry&mdVuWs4}$u=*$kB9VEiE!5cqrGh)MXuX&8&D>r+fw2U8IdpY834 zkOm{h_$-(#lRg{e-qUIurX7ETDb)r>5YIaru@hs0F^2r`-j*>6rd5=S*@@MdvqL~O z&V{IF5%1Dc8iujD=^2AL6eO!iZN{Y&Vo49ReK2N>N@w(U&^>Qkp{2ZQv8v`7G|zgO zJ9{4^lV>jTe+yaHr<52$wMh8OR;?A;g> ztM*QoE6u?k4i&&U!EO!#8RzZy{LpV;<#cWj`{1~4-fdR85Pg>qq_+EIdanF^B{Eps z3Jd8?=G)WR^`+dK{qf znAtM}319~`vi^e%1_QT3`y?wb*7M%@cV3JsrVWOoh7@7#Ox3)Ds=Z7GuNdO2UD_f!fU)1VzuDA2c|A2dqVv2b3-dd{;-vv+l=@4 zabMiDk@kFq;l9rbj6wJjJq%qHZ9l}Bz_#lp1<~>P=?|7vwn{73e`PDp^xCA!{o$FS zpecltFkr?S!nX&5$oEEC#mM@F4%ikYR|FK0Pi>kIQJ5vARfAe36I{8wDv2~F5@+lh zj2q`L(oyLLTihVQ3eH?`c3W`VbTdXRE45L#Ghp+*Be;-=LdTKEs%A zdXLco@GQT z%b$y)w=ICo0NzB~G@;N{-nEkZ4-+U+iTLNU)HGrfxoI09MGgW0CaQ`DFfOqc73dNw zgPRK*+5-;jpsPdtY)lsO7u*G$2Uq>z`Ph~QH0knT77VItML-3CpnGfg3Ut-435yqK zL_(Dr1#?25B8X=xY;k+WjM!!jMrwSH-bc@Ka4lt0r zlmxNO>tte^@GWzYyVVu+K0qtdCvi}+)xX(^SK@A>xreZf^X5~XUz4tbvbPC+BXG%V zQ2*`F&TC>b{|dY{&PczzwX7O_ud>oRFx6+Oy=LSby2B6uzjpDm|7V|N{6%{XB{|9np^Uz)pqJy* zakmC|-M_y1;kVu^@+%X*jW2N*_EGW0uhFa2ZIMd>(PZh)g>D;9|E_G2#9m6-NFco8 zCpf@TWT~X^&`ZiXvY3A5!2~+h4UulQXoBAemQ>ji5@OcFTN1N$11it&s@w1n=+b~? zPhOn)@@{Qi?On96x}xIm>jBaOyC^Nl7{J{r67x04<3)SyT60ceBR9Lh5-7)t9b%Il zxgz6qf@HwQ`EAhhS@x~xhl_OK$F`ja=l(tv`Q-ep&+w4e`tmv3u5>A>0*k_z_#1~C{E%FVmPEcF_?0!?#k&mGT!V8{G3&jt37@tMt)^S4lTZ}cIKCD9$AV@j?ong(0KD3 zRII6*c$BiUIs+!nYw~WzC+b8(r_{3zkiO-t1jh+4`?)@4O3(SF`PL7JfW(1Si2_Bu zfJt`Xp6M`E(#EHZhSI8AN9#=H@%Qg!(`^qnd5^eC?PEq|$rd&!sugR|KJFjSQ&_eB ztqBmj??m|p|JY~pwpxWc8tW}mE&2@Xvu&D;d5abDOmSq;LFt5wl>MRPsg$-|ctQE8 z>zepN?`8SlT$6Enu6V~3Z^ubWgFOet%fTePHy3wA!L0lpkvpi@E&GBgtOdkqynkUv z&-rpkJMW)frj2GdVa3-Bl0=80!D+N|a=iQH?G-~Wh5NtV>FgYD(dxo_$o?ba1yx~V zpP!a@f>gkb!?=GHc?Y}(|L`D7Y#gVxS_LeB{~KJawL18nTf#f2hBaCVcQRxQ(r&}=Mvg}M7bNE!Urob&AR%`ueFC&qwD zTIs)ZSew&Eoco2UAId8x?+9U}Z@Jrc9w(OGMvT@Ta=4h>eQIR$;@kNPEB(KXjrDd* zcGr~{sENFT4cAuk$TKU30ya0Eum#U>d(EW-e7g(8+vrVC&yiQYs=c!Yv42k~^+nb1 zKleWBCfzbs5hBhwPe*@LPB4UwQ++-5MB7boyee!}e@*nIc^$nB0WC=PdSFFrJKy4Uw`$Cklu zJ!ii3^!QDEaBKbd?fnXiqdWh}TYU}8fv&vGnSMS%S}}6B8-QbjdM|gk3X1lx{V-PW z_>14gimJ-ome9=J8wX$i{KV(U^Cy2OyY7T5S*91XdR&~M2YLMNp+`^l-Y+Ry$Nxuq zA+mBbzBbc5I=i&*I6T3r(fXOq;+W?(yIBQ$N*Fw1&I#tlwLaStF2e(LRtxO*zy51s z?eXyqlq1>a&-yzc8QZ86BnTjUXd3Rmw@2|Yqw>O!QcMFRwn5o-__?XQaoBxgYt#`g zsTZVZz>+8UHZaa0Xw7q}DIFS_>aB02I%talUH#?D@iJj-)tSgDxn}3WCLjMM?$8{ zkYx}>ftwQRX?n@gi~|reiEc&n6-49$NLHk(AuT1OxDX1hS!rj zfK!W`RxV``{)X7AnLrx`Cd~v>Osv*3zg$wT+FL*7!Md+vE4$KWbw3e)59sB8YN z31Ijw#Od%Z+2hTCs5Q<_`kIl(`kj?9%3;R$(Q)UI)OD6AS>7nJyj-s{7H$0x@&!L@ z6ovG};xAdm<<_LS$}`-79~zE9r?=k*ZZNUJOr_H2WiMs%iyZg?AvjLVH+<5el(8h8 zauS28)G4%(tq=zwb%=76lo0sD>)ylO^=hVxYDZ7wrdQ+-HNg{A`sGpq-*b?9xB{B& zDgm*g_YBjh#1D|Q=zcQ|k2TD=@g*tAi}0|02C5Z6c7;_=dz$5n+0Y!wLfrB$Mcz0s zipD^kBGM3TA*}Rr;1%nw{(HK`C`9Dp3F6-x6kiP-4QTrw9PjAUIkx>DFAHL^!5tZ6 zA8X$?2<0h7!#{ctDpC>LErR&wdN+VyL znT?zwX2i02{JrEuf|uPabA>gqAXv#z}fl_MZN7GT=j4Vi@k% zxcIm!-0>gE@4RrFEu8NP#dHMNK zdtGYccnQ#m1gT9M+Ft_RM4b-}myS6^uqmS6}bg%hbR2%n) zM?;sIPVB?cH&mIn*Ko8@fxR6}aFG4jFp%K^?)LXa!iIzZNk-b^}CxQXmy7S)42>t%` zVvR~~A`~f8fb$ATX=U(n@gji2+HNgKlAZn>XgYRRRd$C~wd8c1iV^sQ=6)s@Ls;n{^bGL6=1g440vR(C>ehq=ub#@ zj<|U4%lue zUG_wMdT3$WE$&%vfame!#hx)i`k5eM#_w_pJkA;5ap^hxusot&i% zAkyS3u7ypA-mYsYN!S=z`!S-hONBDkYzZbeOZztuQK}luf{RmGZNqk zdu}wz39D-bx(@cgb}o%ij%B^dIxac=Imn?)m=l_KT` z)yJxg$y!}N2=L!&MS5%0Yw~QIR-|NWq#X)^Le#Go+i}b>AQR+MhofI)kAR59TEO@V+z@7s3danNnr5Q2^)O6J7 zt*%6z15(zu0Q%OLhTO* zgam;JKFgd3&&2}m?;$PN4dvV~;9)IEED+^ECl&g+nQ_r62{mj7u47%E{ zb&W*f$?~F+1SCb(&SM{<(Fo1cqiP9c;p%K|ZaOXmEr3oL@7gGMqGv$W76W=yzR}Ux zQGE!%U)|!CU${siuoK?E07rWsXo04Uj{%dc5?zu=Orq$xl62*&995Vw5)7`W!19i0Zn+G&P;A8eUJjaC2T^kD$Yw^+9`K^zH-SHtolJ@boQhSM z29Uu4vabe{KtC>4K}Z35IDke5KZg6L5=Txdjfyf@G=vez5C<{#O}@3ZgL?`K(8+|u z%p^9$EW8XMsYa5LbO!c&Rv6+SYZezb2#=zMl$Rx1*BHpnWAFsy^HJ`bgJS-^P~_Z7 z6U`8O0OBg=G5$}(H&LKw!byTUj7XqYRDuSalh!Ca6^Ci{(~1I^NDYglEJtR0Edqw* zNGU;~|Hy&~Bl-54QE{G{n-J*XVwcPCOn2;C*@oEF<}^T^Q5I>D@&lP)L^N)E!XG|DbiXLxM-5F zjX}gm-EJxiDwO}UhA%vT8D!C(OQux&^|jA?LMlgG)H-`4`&3+XLKBE0LMqhw~b zKgi}iU{RV94Vlt1irEHoC=rYSYzQ~RHuVmAs~=6E)=l*{i;FMt6Zq4t$@zDjIzA{< z=sKn`PWnSxW{tM9r51hr*n5s?YqkA?hZZYl4)WY2@`~L^N$JW*F3~E z=d06KVGZ4OygU^-++y&0)2hD&PTf!Jrp;u}he^)H(wd4KAFJ~v|E@w`IqGj*_UcvV zm}+;>>CazCPhJJ`CqgAp-`~ch9$Q$xT;l-hcLgQb9*I5p zKZ2{ic4OfI5mLcL1WdsSDF#jF{o634iOQ}PS!$KGBQX2WRm%*SOwfe~0D2C3AB2k7 znac)(E|<0#G!ed`?kP!JP)Z&BIwLI=^sajMALKsJI-M4Gc8BR(QIr&s?b3Qw1?(|K z$qa$XAr3gka#1AFbr?|xCv6Y18QJD*ugprC2k!dtyQxuL4i)z2Q^WzWgJ7tiME36w zD_*^0CP@dBXTD6q*Sv{_umrBW4h$m9dlJ)1cKyS$oA?+@nEAQ^^e!oAqsuU{yf&09yU28#XC_x|eFv z(4b~{DIpv-fFIruk9DvExhvz`+$oQkCo%R}>VK~G$_sCuIbJBGZSvSYom-ytIZ#ev zIOAJx*xD)_;jV`1W*Cp0$+>v_Cz9neQ6XWR_fS2RYz-%0cZqe3a6(Or_L-6J&#kVV z+4hqykrGSu?}qaob2b}?b$jD!-%Q)(X81q;b%K_srS0#p?)X$&^S>Lv!vEsN&C&d| z^?EPmPy-fg-GqPOWNQfw)gauRMj{;a5*?y2W4~dPMa|!Qg_p0~wq2Wf-11Ilr`yp3 z(Pw)8IC?bT<@3c)mbgGx?kt#3a~_%Akc(}N`W@Tzgy^zo(L3TH^1(eDq|tFNNXJX> zD|jfn+w9&xL?dCvwf&Qvw=o|U%x9A%=WeeBaJ%hu&s6yd@q6J&{MUl$iZILQ&41lK zPQBe6{PH$$Fl}Jwt-$tL#O$qs$QxXby178%z~07<-nO?-T8V-Tv<$naX{4 zj_7LGvUB6lm0bTV7rDL$g?aIkxkD{;yRIF%yK|zh0Nj#`>eif*hk33%asFq?8*1Ax zODRoRyOUoOe9NTW+7$*r`*HKb`-j$-Zv5z^)DMm}`3B601pz#|9;Z__y*+mHe8;Au zhVC76r<@sq(_yg(&#Vk%lnH+$K!#^ezqU@uC%oQGF1PLvJN~As%`~?E?@xnIufOa6 zx3cKiD4}1qDh|_bRuo7Jh5X=T+xjh7XL(gr31!Z) zOg4EeKU?f*#xD3HxYxUsj!+~g_{fv|EK-p<^gqZ&sGLiA8y#i{lneA!bQeJPjF#t+ zbZ{PkkjRCF7?F)C+v@<_eTveNMHx*c@%J1ouf*dqU>4>aPIoE_aK-^v1>rs6U+Tae zbDUgC5*d0{oy&7*Yy5zzqn5?t(zP85jP#boV9#)~8BIF$On<@Hd)`*l%R@UIJK zNk}Tg^ExxF*>SR!1i0W8V#e84w65or3~cAg#xlJ{e-#Z6Xeb6H%Mbg=3Cuh!i~y37 zYnV}cPb*WT>`8M?$d{W7eszM`jEkgo-YDv{(J$Xg#nHh85lL2t6w%qek~|bb4@Q(t zuF@xlNdOIpdFHOOfRjZ+ov6%HxD#8@Fzi0a;C>&ogn6MTOyC9qQxt-zYuP&ejSyMS zJc$qt^XYZ}Ej{db#A8Rg?ExN>)OBAGBkV zxpFK~M7#|UCeauJoNyOM-s5GfWc9_i!tnr<&-3;dp#`9(QS%xziM>hme{?U-T$`3h zl3YMwU&kc-J(`U!uvJ2hCI(uJTGs#q2k_+4R#$ZoHKa=%2odwk83Mtn1;0MDGXjZ_ zyr{|DLXs0y$S~1?<~JpisaT9v3WWM^Bzi9XMFq--Vdow@-RfDh%;Uhkt75$0Fy38b ztmDMzqa|P#PPoqCSy%hGf`BHq44IuKl@ktrSPw`SIExgXMpj6_4alow!eroA(dFG6 zP2)XmrTz!mM3(6`iV86{SbUPMUit9bR&q{&mBLYzx*#c5p=O)w)??}iv#91^1y8AN zU1}!;M4|RxsDUx~2FKvNp`wXVge{N#K%Aj;Qq7wfUfl-e?K5OcP_=jyZRLbksTsIu z0ivrl0G2PIM~awQMH&~((ZgfE-ku(YVZj?$>QnQ9=Ky_Iui~aAuXIWoRgX7Ac|rVI z=ODgBs8?z8!2}(xF(Y!Y&gzvKyV^?*5F|CUyaH8gSgC%C zNon;5za^Sh2?PeYAAYf(ahz_&YQ+)v#443PeTTWGuFr}(3ED2N3L~ z(BMK;J#fUpPFN8}VTmTSg_aSTSPMre<4ttFBVz--3e>erO1`iSYEwX@C1Wc?5RMki z9-`BM_lG9x=f1wnopq`dPZ<*o6iz!-h5|4qK_6gAHKp9(1g{ip6e@KWWe>%SN>Os) zwG~R3>VtEKm0^k$0Gu4_7r=eP%ST8kA^JbaQ40`X*_o2op|uZDw*vYv*LCchUG9`G zzrRKOUBz7hiEE9I5Bv z*|m&OC>XHG72Bn+_fxeE{m#sPmf$_aw+rfWClUK@UTj-yAwM59kTj~C7(_cl0B$1nAQSRn$pPOG>&F>P% zinsJ-F0LY7r63Qz=}Rq1Nr5K&5Let{O?*1zfftl?7q2<>RP`J@IyZ5!JG1xeulY9I z=lrY+#nMilptj<~i&%w!hr_oldaCJv9+iJ`ZA64GEOx!a-1ThkH=B8nR(vm#dc0sB z6*Eq0DF^(+lsK=|7g3n2c;=7|uCJ6QNl@6DVpXi90Zm$Wsu;`#E zSAkzva7TDKnc~I-*BzbIOJ^}b28Lo=-vs`~8e4DEzvtB#%NR|bMs6mN@8E+U= zPW2lzzafxdy){(Pt{f#gN1S0)4|gBem)tFzj`;EmPkK-MC61CxbCnYW_(_R%C57`G zEY6eQf3Q8ZMlu*nNI=12ibzm)K9GQ+z9&!V$@^2)a8lkmnWU0D8PnB1NP0FtHLjll z`j(tUpgWm(-G-Z}vr%WV53)NsCmY^97o*>24|^z>aZO=93o%Z%!&s%QU2YP+Vjy*O z1eBx1rHP&yloN_nFSpv;XG%|Xcb_uw<;Uslzy|>j${*!lEsIx4OVp*c3(&5(W(qe! zq|y~E*f-S^!m0!?@ZeaRa64lR@-al~gwghCMKBdBDp8dKkWyx<4j2hz9KJmL>|0Rt z>NMkw@XV6JZ+GroxmqR}>!tp(riZZ_Rz@Tp0QTv0&)lWIoM!pylUc@ERl&)IyV1(9a=k8*p== zhk;S_vc{r+UExxpk#O^Qf(X~y10rZ4gY+-hV*}^AS(OcJMd0jA-pVP@8f|Nsd(<)E z#y#De$10B*s!zt2juw>e_U)aylba*C_$tXGyf&QvGov9u7%G3&op5+MV`B9Bg=ar- zEobipv)2}{jrUwSxvJ$aZ@b+M6%)Nf|9&u+1R-P(Uk{ppSnv1@w`w%A^~j7iJc%Dl z5o@{?W@+7G-tPI!HJsFJea(CFZe!%C-#WpalBzTLHX72t#j^T7zdI&ASh~V~Th~bE z=E%pN_Z)F7yL-TI;c?4^*>|3;e7ED(ZjZ|Si7jrrPE}#e*ywZfzci@v3~+;0AXfEH zU%8=dtytSQhwsQ88K_8FwXt8H_yBB~FDKy%{--_`q;nVN$cauY%6C;T=R7UUOI(s5 zA_P`C0CU%YqkcFZG0mRIG21f?l@GljsUjAPjtFWj8kJ6z?0z9UB4CKjHsIuw z2?euP7{{uY@w_=SjA3Rt$!hLkTQ)B|My;QsjOKubB&+v72n1u$DmWq56)hw5S|69pF$~ImVx0w}CP|T+Xy}Upc(B7} zAwqq{9A{aNn*rN*E7goKKu3s2fI6bF{8}0>Jl=^DJ51*Cg>_)GK$2#@{R#RK-Ao6W zoGT6OK~nCmAj#mGltEL1ks6B@OC>LYnJk5;(adY3tta}Tny_PpdkPTAzJ3vQ7!drh zGvhs>*qLCbv*JJ)z19L`Nhj*^d1?v!E8bwZxyT6#harPC>J%*u#wQ##u=I9cg#FS< z(AJ~5jDozJ_$fTbT*s}M^fzJAr=lRC*zptzG716J+kIB=1?ug`K?bw%r@Alc-}{4$ z1Ly>$A>N1&i-Or_N|_Wh@Oq*HAIBNExn#Ml1cp`Vv-cejlI99OEGE~BFeuMjDutU2 zR;WcgeIp|U5*{fW5plaF#CFEyZkI5;0PjoRnvSHJ(eDM83SPvUU{IF;|4qpNgEs}_ zHC&+hGfsMgdro``2KE`J?_(@l1Nb{(Lag#jv;iWyVPB2fSW#dCEWB~x2XBA5p9si*6@maefC@Ae*nI}gxQ}TZDi|^H#KubyPh}gBnCTv)g!h#| zE=RjGE(80rRs}jvi`QBB>C{q=#z3Q(qtiUOJRToJb`*H#v&Ep6@$BGsVI5hsqim7( z8#WIDqV6Lb%fVa#ehTsfB7`x_gnPF-h?HWrX6A18F&>xh%_ATP$oY_(_ zS=&~o;s-e~-JW`00@xiXUjx!+97JNdO9V7dQhoW z^u@B~NIRWqnVInT*l9Y!vLFEY_qp z5L~P}aGrigl&P)Gr|eL`rpgAF9K3>T+Uz}v5m{(VtY^s6Is~goE;k^<%o30(>Vt!# zcgm3BSqSj*s*doqjaSuwjWdAj0FEg^KDq$k^xyKg87(wc-EVTvQ2;^;dZuMj%fnk2 zS(3#QSNbZy_e+~S@`yhBa?F;W=RIovdP7s>8nGZPcv{JY$oS1iCikDHp6HE_NRFE@ z;{3aM)*sA!{j2Bmhquo+AJ+ZyXyLu6tHnPoSn+q|{=!?^!~M@5T{g9{0p2CD_zIe) z{c4ENBfre_&X_5Ko?dVK5)<`slNvpz+xmy(m7gW!?=NdJt&zPHc>7 zAn7?#WKiL`DzaQ=M0)3T!l_njTNBc~4Jv%sx17E>^y&v}`4{fBlU?>K`tjSyjhU?7Z4YBkr3Q8anC@;w*FD45_pkO;uBKn4S~1)m!=>H6hZn zWMJI}rUl_71Tq`x7S7tb zwj|N}r1y9@%hshKOz}EH=+BNmd3L2r{wIxkaOH7*MkS*^5jH_aC3At)4I;I<8mz-S!{rR9u-sgCvrazsDmkmZ>4>lTFCfP;WlLio5e0IZO9W zm?CCAuiO*=bKPIgQR3UUUYH)^x;~(tu5Kh`X>caYg`HB&#TRFK=C?B&&!)MzXSKcx zYu|!_LLor3NKpFHppv!Ir`Opo5w<{q;}J6Q%UU|80XMRo)UNlvW(4SIQNyt4)U$>g ztM`0#D8}VSzuKo(0SBm0$>Tg zU}N+ImA`#ZdJ?~3On)-Rt3vOQOGSn4hpd(_*M9$4XnghQR%C+EYu2Sf+BetNH=;XEwC%uGu8F$v+3iq?EbU3})>%(l z^_pMPuPly}{2;&giMCSW(epON5WFfQvb#?)6*U;IdVt@g7Mp8=UOs=Zrg>MYMLOeQ z!;dZaqKmO&x1NSim&e{RGUvP397U|dHNULKmv&Pivr9vFMK{eLg!=^)@M&L*PQtx> zPkFX8BAdMroriL7AyA#u5TH|t_$8R%HS9+$CqLC-huoW7k0g3?vY?!`X{}Rltnk3ncl!=J)^;SpC_be#3;5SH9U3p6Dj0$M&%rYctk&X$ za)e#b_m|ypgRC|GO?D2rdRW(2hldjCLW+rK;9T;KVXQWHD}J`wlDg2EMkU>mX@UUE zt49EzMPh`flH)E5eULburZZP?9AWH+RxUa45b3V(9HWmhDE7PcBu2LLV1#%hi9q>q zy>h5BnOOMz^C#=U)2~MrJ%uE9eb;;kJtmU?mlK7cj#x|Rss*Kh;+G9`DU#8+WX05r`yY^36@aZ{T00thJ?9} zP1gz(${d)RAEg^%I72Dw$+PE5H(l7a0Vj#59fVmjyln4uyh*!b@NvANPuo9ZH2tGq z5pjYg3N8&oXu81TBESO3lqP_WBf)esPxELGBMA!w@E(Gb2cSwT>Y$2o@1l+j1bDEV zxef{k-G`S&;Ph)JhI|A)UYrMrr?Y9$eV>ZX(8dWtY)}Ld;U6x0WJw|=ZmG;)s4@k{ znpyG<6l3q7g46s*i1A~#31YNl8(1X_=BAMN%6Q3Tw{}YV78?`OiH?^7@`%}Sa@r*q zy~WV1)=H~_&X9j|pM(i@a$%Uogx>0x*Kv|x5SvLLI^tSBy2u8!dMnc_Fx~zf-4aqKC1Fbr z`OA=0y=)t3S7@mypuU36fG9u?_R}c^BSELM>_pM=_bOA9u8V7sYI|tokYaxe%D+3L zI6%6CL4L0GHA&+7y$&!bLGEfw**0{|jfBSO%b_!z`2K8^dPf~++)m#Gz^K7BWW zHh;*E7Q@TH2wKLQ0~b0n=S=trwQ@|)gm##g9^V9bzr@npo+IQ(Hi5!m8ag(rll_-7 zSP4M_4cHN{DPO%71e1A=woMWmh&JmE032`d*Xr6ML<67M8=#_U;MFS_WPs=JI#4AO zRa#5V39PQ8KfSFThjhR`u+h;{6$3JeQ|CGZ%lDd~oFM0EvkYg#XM8Q1&F=w|)h0-S zQaDIg%|9?A(wrC;iOt;ycbM9S<%*^+7X@6IAX%8xI z-3Ee1sxA_oPUNxKraLm9SsAK1{>?rLLIb4Pn~94rcJ3ByQeGY0Uwsk7s@vav&^%7u z1K6II<5Ao*jVpBVAZ1aBX;Ch`?d%wP|Ifgo$A*dgB%iXmUhAbZvu^#wNnZa68mrXO ze)1koU1Gz8@ro1=kvS-YApTWKzWHr@%i^yWzi{Eos0!U@^uG_*y=Etb(SR+D&PAb0h5UoL*@wJv#in@^+x zd21c__oo%ESIG~DCMI`u-&ei)^@BWj;Gc61r=M3U9wvqC9tzWeG~mno5A3UU=&hAY z(sa(v4C3kK`!MqdLNEhaak1h*F0XxImG3_Hqi%XQao4NuA2&1T(5R13|5AiZOJ9l! z`ebwNWfw9?Br?Uq5=3uQr~ZfN7Tr;I=Lv*&_PV?@S_E$Z!vFQMYz-vgZWB(W7T3yZ zgz7VbvLtx1V1 zp}zLNo_h|#F0!gS8GW`{hQdu7Rvx-D%Hw&gzZ8M-(%}0OvF*ot+;K2WYCFh@v1?qx zzd}#R_5-^{%9Y8&bZvD*dN-;3cDec^Vcr1kRJCAYL~mQW(dwP@OkpQ!lL#PNSZil)!*pCQE~y zy}mH2cl0rtocY&dz!BMAxFtH3ytjUtfV{eGxI43kbkif&jA>kuz=OxKK~M!h@1byY z^pirI*RT|W%#ua}E)L@6pJ@*HC6}S~W7L{UB-+>k-W;KL1`;CalLYYLHLe~!TEXX= zf699YpAAGlyWLPN-~OzTyP10I?;k$vKivFyzka3o`~lO)?Bw)i;aTcCnw+$tenaad z2m-kC@i}h-=Soqq`zf-W-L4)ls?5#Dd6c#`og8V^_!@P?w>l^_J&0*S@!j_6UWiO- z?7PZa{RcAse7;+J^=8Wbn#yZ|yM`YW?cTa(d*wiSxw!BAs5d8VNgnsm7GyA0Ch}@e z9q+Zq`RBmDdPF=N3N~XdJGv0iwvb}y+4&u54C~j+em+>=D$1pjNy6Fyu&N^#(zS3T~;$l%TD$!GOudBv@`!2$u;R!vQ#nROi=E}GKO`1AjRjO`YG z9DFz?)BE&we|PD}7qblk!|#q@$mj#xvsn>v8Ta zFAN6VD{+Cb`DsCE(|y)S?LS#qC8vKL!~E$)TJC*3i6^Sb@Sz~L@+%Qnd)N59t|~q8 z!Y@kygZ0F-;OYL)SH6i#jJ;BY-;M5$xxDzvRzphJ75?P2TkoEURx%TZLtHI_KgX`U z;-kL2zz;FP`KvvD9EC4h`3ta}Y30(Ll;<(U*aP#!2;Y8x&THLKks)?r^U>1-v=P;r z06hm-peQ`U1sLR{B+RQ#rf_br_uONn~CF7op`#J8`$6+#5F`?e97MxbJufCa`oa{su2NDPK zTrRf!x)*^ueD>}P%eIWg=L6vTZ^fM3kG+t3e`}d<J5$voinQ>9&k}JXVFbwjv(gg7&bctT|uMp;Tkz6e1Aq@}-aXxUZsX6&)F?AS&JyOsAsOvEg-|%t}#2!7Fc39ksd}USR ztt2PQKTB%?mMJp=E-Ec+$4M)wmPEmrEirK3ZGI|&D_6h-R9&cKEm$($=_D|gdp@m2 zHX~@%{=ZDFa5-b zz^6|jabPd@ICB9Thwpbb)=9zmOWu9CS>wa0g+0=UEhruzOJ;%vOu$k5dVN)+&Nf=r zn8~m=smF&{Xy&V502vS5LSR^h<{}$FVYAIPQ3lvppt{k5G~u2LZYzA%;*^({*ftMf z`~$!awYl7t%E|VrK{BWuihN9cDS;2#?FIr)KX?o>LFA@5#k$vkFC^zM+9Ny>6X~ZfSP_9_1Ti8MA}EqU z%Z&tD7$|);qWv+9pfhxnjCj2br<45#Sxc^BFi5m?4FY`^TH$xZ zS|gAv?5rO$vL-d0;$(2~l+j4w>_YwzQW2D4Z_u6r?^z`n3+02kl_MK16U4t~+xR>K_)Zj>iscfI zEL~?p2+uZ)mPX;5=4>J0B+N#on&TH_$btIg6>tRL0z3sGTQAS$HxP)ecA8OnA=u+K z8wA<2)|@16jg~gT!S$;V210J*VrL=7;c;EV6dAz*?1rqdt;+lrV4m_RCVtVu=C6D0 ztH&}bzbxPPZvR5XGs&MV`*GGz(XCmFY?Z^Vhd&$$`+nZL0oFQNjSs39i)skYwCx$) zV4tgQp=?$uIU%c##1o?p#IyL|1!s?*T^!E6_gkUF-D`$CIrYhM?|FX|ynHm&B)_=r zpl9H-o7WBq(X`0}!R2&il)2m5qCNV`T)U^~WRT?W!17=GEr|7z)5D%x19&Hwta<%g zv0`f3_YE)JZx4PlaS-alsjv5NbB8?gK@~qymVPZwrE^?x!5~&fhHM8Sl%NuGz5C(b zblFC7G^fEjOh4I*S#V}|bIefp?>^p%cugUk+GK8$Bx?q*40v@>3t`N7JkGs=xI<6_@6bjr!Q87GY|oqy@{?`s;EUV4ciFf-NnqVqVWc zu9go`a~NFoCQfI4nPfw{6zet0=UYr)L?1tG$f&-!x&i-;mMmia;S<$ZcyQk5-u1>& z#*2wXvyC*H%Fu+mji+h2hqr730l$$L7|-19u0p>l9o@R&42d@7A|rq;UoYH5`H!D# zwVfUm3zNV_QlpPPj_hu%7FT|1{1TH~(<9z&z1ZA3It+_HNuMya63;9ICXI+V9AbPe zFDAwWhsusHj>Hz-*~ebS`zxjlmxlG%IU z9Zi|?%AJq{Nk9 z*YaJ{n@c1=2-ep|l~5;H`BkCIIJ-_%)?}EU(95+Ip9;&Do_cU)RLDT96(>I=?^e;_ zn-u&KC{TGn*wdP?U`k<#L*^ez5%^Q+GlH#9-btg!boEsNl@AZ4*d^K6gRc;U-?61`t^_QeMkeU*o4+e$yoR63jgj zuQET3yG-38%m{r@}jV3#7(!WlEaWWIvWvF`;;hd-UZSrt@@ z$kGzq@Zs64fWVALJpnUUt?dl<=e*haDC$Je-#->0E1xbGFZWVyPQ(v^gPh zUCmzJs>Rk>yE5aR4!ucSLpjiQVe1OU-{Xw#M91_jufD7BmnpMrS!V|&xBgktS9($A zAK01lXFDbJ+_n=DzD2wh&k*a8ZPXvv&G4ta`X#Rk->>etM6SkptJ&06^@S&52s`nv z6sKZOw!45{sE2Y>{awvGDk%2d+#)>Nv5+$q_EhKfPo9&%>=A-+b%d$Eh0y283rii}6eEdd(g3SFyuIk*D92vNx*=r}udHTy zfW@F%;QWc*;o$(4(iKp@&?qtsI$mVeUkEZGCcR`rXst7gkOUk?b6B!L8q{*B&ZM>` z*rqgwx6{T4#oH?#r@D8vNpV^Z3ks;)VV&t^GMrXP)bN06)Bh#QQ!N6jT9XN@(_T2- zzLpR~Q7W-^65|f?T$_`%Q@}FX$IlvMB*A&sHJTsAY66D`$n`3aK0eex{|tfJk*@7_ zrO38Hb)hq*@nmOhnH`2gqj_eO^K+g^(}hT*Pxuh8ktuEJnnyeo7*KyO5x5;@`(TY7z9w{0 zi5;wK90BwQt3Hx9%h;Z!AMKe`!|v!logp#YN0r?|WKcrQGcWric4CN9tyOfqb1?sd z6a(_2cbiTYn`p!fM7l^B_!O-a@akpll-B+UsgSI|L50Ho{t~~CV%RvS@(Fil2b$z^ z+rt|tUwAY`2&o;1coQb|f^SV|Svq5f#1ww>M6u??c=m#mB zNP6*8|QDN#;0!8(mxWTtiytN`EJY2XV% zLf2@RZ{i(Uicq2D%0Cog(T$syR<#?O)K$FqjbBP~Qohbzj)yK}XEyNqx5vD|>`E zo5Q)rb+ZIsqYAO!HnJluy_1+{bY+J;FCg8=m82EO$+Zo<># zBg8ggb#~)xU=6!|mJjr3qVt8Or(-&}MPwK;rUzl@j6oFTP;?g45N(>jEP7-)f=A)T zu-bIeuO$D_+3f@p!(|dr6}0lNPb+@PgRoExxXv<{-}zpc5tM=FP=E^AA-EHwW23q> z7*3>=(qrR}mB41DO?L&fu0di8n66YZU$dH*iI2f85%|O}#E(<)jVsEt2FYIp&>yRQ z%4l5k{y|Oh^PdkqoRe%r{uLjd|CQc5`@3`7YRYQVf{ma71ai74Oo|eUXoD{>UwTuT zKCc+lT*UileL#ITR#8`B$=}qlDKF)2(jv;i?r(v;Dd5%jH`o6iHM4EWK>Wh;A0FS{ zy)YpqEwb_2fpyjTV|;D>2=|Ts=$H=rMUWpG*<9PT>C;zFug*8gZ(82P;7)_&ajfm((_0azT<324)f*|M18{Spi{t=`Zz0C2 z|8{!VcfSh>u=|e@U!y%1EKX#fTC#n6W!@i4w*9*(y{hK+w%*eY^xm3AdD)Nm+E1LV z{q!d8=E3g52xik<8Off}PG!^fD8i^O=aUR~J^x<)VSC_B9qU}xg^9+=8oO5GwL94R zEp?V)ZHsK?^`lum;qjc7T^H{~zv}z#?~Amw?cFyQddrhRNaT9W+Cr=ZOZ06O6fG8N=Cj*uc0z%CXAU z{dM6$x#K_ssJmgksI=mzQQJ?8WhZJ9E@-|Xxj-0STSsUGa$c%CBH;oHPvPYiT*YCB zdLJnY$?H5bnp~?Q?l`ksWu9#&-Ik@-c$eHF^-`u4YtKwXnbNBM9C@zq-t)L7bCP>& zdkkyc{qE!>;~*GV7x4r5En|bhnR>pd>+`$}EJ10Zl%+9r&LZzFt@<2CJGDG&P1b5V%{bc{&as9kWWUjh{Mp1ep&paN!Qu9o)EBS=&V^{2_%5Uq% z_4VE31tCE0=_U0|7b)W{KSt#H2>Jj_@qdtoXQS6&Q=`ANWcRq# zHdh^6znD#Vq?xg-!?P-~c@?`zs*2)dNipJh67)z&3zp=Ep^$Nh0(J4*A5x>Esex&pzR9@YK%YkuW|hckMrmopGUUt z&RAe@-qD!Wnu(t3U${RIpfns75nx^ZOmdi9Xc%{ z9%P}~0cM?Fhh(kwABKhW($w!SzUV)c86woSO78+q2W--y#9ZVfDe09__aSFNLWxhV zybA~)jI`Nn{yP91v``4)aX4Ay#Mr-F6ZJKjQ9_}@I2vKLC~e~qi5tW_(fbJh1qkqn z%5!?!5^Jn&UqSsh1b#MtoYs*_X`7S*2 zsk;uv@PipaprQa53WNwZS{4U5S=WH6N;iWL40I}6BlitcU$0gk7`B{{R0FHCkgfe}g&d(UFxz&Q?d z$8RA2gA|OmGx=7K4Am?HM6w#zHnVITZ}OhWxeh%2rV0GJjwvS+7@s0JH#9I2&?0Ww z@3LeT17IZtx-|nUU26&WCP06J^|aUC#sM@!HVAFiMe@>{Y>DE&PQJJpf?yK-SZH9S zA1jkY5I1oL{%E*n>H(v09#P& z34&`PT!AIGPR6=h0vtNdMjk2;;UT`deT58*H#7si<%5hBf3n2I-`v*P4ulCQGqCx0IoV5)l7BRavE-9)t$ilk231jZ|G`A$O z53W_06P%$kd#h{JHTaxm9g#322ve6~?c^A^>#Z=gAeOCi9&x_-PhV1l(>lca~?-7c84mMq}g#STGSr*@g|C|^L{=)vQ1J7Dm&<`6ue(UA_ zHHBnG+3V%ef143}vCQjmhd`r1I-0Z=ii`*jwy_AMm(PIq$A2bIy6qfn;uVY+$&fj1t_g+Y5^X{B zy?IUSeh~S1*1Ri3S%SpAj-Fk65@RQ@t`aML2rJ?@3Q^!9s9?y*!cTPKXm)z{_F;2e zRD2<^W%Hti$qwCn*`D{WJ7XgI&3%zAE^Td?4(O!?XzFB=)qBh>6!*<_4sF~;g41QD(; zfyDr2mF0o;xr1#5y_8iJNA@(mP8{~Bs>En(DxcC;?W#Xfy5`Dn#qU2T1B)FDV$^5l zmFAW0K}TGQ8-C8?WKMI-ZXI^nXjKoWrZJBvl**zl6HugNduUkfSQ;D&LSRY|sGbGw z?m#A*XhJ(11%d^1_m3+Z)>K~UodV|I^TXR~wBo=1O;K!T94w&X5QyAX93FLjh;oLE zpcazcT8{;<}+a0@V*W3W=3rf$LT{5HKHwu)s_^-m6G zzeewg|Hp3HqfIoL4*rOE@jUqc8eN+c{eAluf>lbW#b*wI2xC=@KgP8PSSkqQO66Lus!H*gwdy8eL;b&ufz6xE znT#oIGU3Ft`i6sl#H#w;FkgMsr3s^5d2BZQ7x5gT>OuTd_rx*fu(nUvbMF>$$?5PZ z{Mo|Su@+*>HJ5`lw_C6FTpgM5h~akF7?C^mjloCy3HDOyl2!8s^M`Qmu@H}r6tg~b z(PsL&r|etFGt(?PGw*(GsJ`{<17db&`iuk*h?D5_$(oF}2-V_6r#BmZ{>q?Bf(D#* zcTTJtXi_}(uYOoP>z{#hqQY)|MKkFA9En?AsyC{BMMd68T z>beuFvhJ=tshs3??0Fe)7F{&NefO({l~g#k|H7MwvNcijUtzDao_ul+1NVCB$le?4 zMt6#KezSAC#|qAb&v{r~6H?KY0L3BvY?tB)<5I8K3}}t(As%E)zwOb2=Hf0_UQOqr zG|wYu*co?E;~y@XQ~jFD4Z^^R^BQJFv6z1z-G>X?qiM@dQETZ(!Ivf*3qUP z;M7UZ569K=ahL)ah(+>efpifjk3*m3a;|^YAu#foe!GG`PUTVsW1vHh0NXurIV)Oq zU=re_Ggz;MA|}Z#1Z-4eL0NGk@2U!E>JLSp{e^H0M3vs=O)cmIWk_$X z4N@LKFt)Fy2==cBwuw%oSyNy!+Rww|0PCh}EP}*KrMfq_{3jD1iBh0 z9k)$L)yf4-mJ=Ajjq)6#NcS)wRf|<$0-A`R^)2d zO38Pzc;MlY6Ju(dWF!hdh|daP;U`Nr_9yVt(L!H7yoy-*+DkX8H4hSq@tVk?AX~bw z!0x=E9)|<}vu5lq#I>Kt52mT{lTv0^nNJV!9s`%S54Ks3Q+t|i46=`xv}Q-r+Hk^j z^<4mPsk8M@&BH;q9icY&qhBRfWqbLmGNq*@YkWkIOnWL8!Q_AJUoN}r2%0oYf+$U9 zT^=H#fSpM!z)ymsu0O{cX;ov8U{DjQI)l|1m$^~F#Ue85wCn`$Okn~$Lyey@${HEs zSsjE1qYOltgEGaO;|;|q@)TgXLa3+;Hjtc&N-ZBZp_MR>L5uVjjSX>#$`{<@H^BNV zsQ|#51}0QO!WINm;7DQ7wt@5-g?ya&g}gI7h|bEd`Ebb${6bJ0*IAu4atz`_i16Y2 zE4t+X(Um84kDw|bln(S^Nj45i76#5?*!cNK2QZWoYL^rKfXb1SHoXO8g%OrRKDqa! zrQIFVun0AW`Wlkno`r?s!KI6n3FBbkvKO>qya=_Jj%j3S`1BDl`9wxyHD2m*HF6wM z8nKPVC&EvotWB?1`(&Vvf$@gpfK~8;E`}Cn;=iU$pB^;-d9+o4}a zGecD*_T>olX-#J76jsW5MXYV|9AQOsBoC>y_H!ZDty4s#HW=KpeO;6rC-#Je|WA@veHK(TN4BCgK)}L-> zRDOS-AR&)@>d#ejctxW{W?O=yf%PpDY7qS%vLvhft(Tv?2Kn>PeUx+GMZE9-x8W&jab%tR#a%PAefzfUwFXtf?=0r$b@553QW(;F*SnREkb zPB*Zpn3@(ruuf__X7%$|l+7~c>RJZ__%yyUG&R+KSLQ;fcfV@d0%}KbFPzF#yC&dX z6ZRJL@QnQ8APs_3ETguy$KFXgnL?N^@4fh5n;hr3S^xZ@HSS`0;t8a@yC!a`a@~)I zSWVP3VB->t&{S+8xfBl{`ERA0E*)jh?+7^c zmKD7DQjx?3kD^#?2tJlTOBZ#gSbp5VzI~9WiqHLy7x-S8C6g@b@HlwrjC^Z{>En&m zE&F~I?AqJjR|HjK*ICY7KR%zG4iKg|2W8YU!!rEu@`U8Db*m$`*L*v9>TdO|hT-Qr z3(ykM8_!x#9IqdAyp)T)c4nX7K#)Z5es=HQgMs8rw<{vC z5VJL(0(LWgR|5s^x1S{LP{L<;l0WyiL#~hj<2*7#a|w3{4y$t_&iF;% z1%7D<2>_!kDl-nRxb;`c+p4LjS6%=`ufUN6iXz3}ns~4?=R9=-EPr>gNCMJwwbkZi zX~xau!`%j_SY!2DVBpHf3Gk3&=F@x;1}Cc#vEqdUiQBPB`@`UQ1O^~6hjeWdh`{Q2 zsVY-vZo;eJul!(#{5e7}Xu#(%Wa7YE5zI2Ph998Bf)av;*ugAI2chEV=t~U$W^jO- z)ZqEc15v!fPJwg*__camIBF0a9YK-9>R=tzA^VItRF24gg|9- z81aU~Kf*U1J4EnzQd?gm$%o}NV8MH6L4Ikg4AeweaGan?bvlJOo=JodlFB1Ul)NUJ z#(1vO<@05za>nKYicKVOoML|4AQ}xVX9vkVnX859u9|DCkeP| zY>!5M86z9)r73E5fX!K*EkO>v!$01&v@HXpFS8X(JD5UAh;Hj8f^)oyho&KjpD z78O|?Nuk4p20FD#T?4}M%5;~4)A0sAzu4H$@DH8ogaSG|OTsST2RU%4kCV=ynO;7C znaQ9IE?3(_#159uvSV5TnmnMio9*AMrndWAT!pBf0G(*#bPG;eu_)o|0!pd2eCycx1wOrTp4fzYt4X@9>X;{0eEYxyVPo9U39Tr z#ObtyA$fwhvu5-^@7kJM?ZDJFpzX08(hjj4EX~*gp2pOrccTToE%u<7~RS-+C6+&V}RA>D+ z_2OT@EifwWIG~%H0eO+K_gpD3*(m#@UzP*jm(0QxYec`rU(RbD4F0b!rg5ml0ijKv z8f2Z#2!zO7X~}D_>VmV)=NH=&cxWeZ!&@N92xKW#q7+vQTW zx|$rnsR!(%KMr-NFO?2Bfg>sbw@l+bj%!1Lyo6bN;G^9PhO-I<5V6cOld0rL9>0W6 zl@o$8iRaJ?k;&xZMvhIah7Iu2i5g5LK7p49vYd|?9a(@S5(-a=yDk0_r1nw=dIT5J zGX^7w9Cr}tSdqHo7`PzX%vM%Q&h?mx9sWAKGep`&y+8^EpAEM}#e6z)!^=Anme-9Y z@08XsXJgPprUs={3^7&!PJ_`9Kj+{DGa3p-CZ;Yhx{g$3I(UP3OJ+6KSh1h9>KcBiMzyIwmA@*(jizC9y z%G=Lw>XY{g0wl5P&ZtofWtIbe7sqal?Bu-p;n~UGSO-djqAN+ZA1(`*cjjfr8vabG zL{Bu&;!6Js+kF(D=1wqlE!1(!<`1p$v6qZ^p9xPTkg>1|LO2i)1N_m$NEtLe-gP5U z!%~b|1x_lWIWX`T&kKR~H@;`9y%@KKZZ~R!%Wj@{DkmQ(2Xboci59PG-xx^gFRib= z4jU1-{9maI3vMP66GHaxDjQfZu(4so;-{FSi=PU;?%!P&Of!t6rozcm3~$07ta4?j zUX8i^D~zkX~M^Y)Rs&sH|Phhptg3DtJV1m<(9vF}KYtOs;<%u+WltF*8-1E~`*ctM@(36R=IWyT z0k}Yf=NipJ5eZl4Wb|hq&m7HbHQA^|vO8P-BSQ{;+WO&Nt?1gzQD*fXeRO15H{%)O z=Cc=1AIFb*VY9-S;r$6B-6R(#w=PafN6z8!GIT|@J32WG@ugIaLFI9EvNWo_KDtN& z)$*N!Kh$7)wZHEB2l{9H`^n>z`}d{vPwg#Vl4-4Zx61s4(e|RXeM@)@wFpF@8D$Tf zJ-twuZ%M;iCm@r9IB#3xqyCJ0DugW&1n`0d>g-{9#@p5VvLJK2)ORIxfxOfib#-M_ z#`DOP_K`l*dCu=FDShPJ)6s_cuP0X~fzi(Nq(wpHR*(DZy2J7H zgte^!F3WD;kB>Yd+`HMHxo5}yIWr3`7Y9XO*|+@8%T+Zi_bq>o+mKNo=dgeL_uA3x zFS`Aj2C^A5u0LQN{-gBl%frVcJMYKO{{!U5AA5gx=jHO4vfB#^8+xCk3&dl)*KosE z5@#^mZL_t;l63pOzL+`$L_mYk-eZIU#I z1O_X}EewSmN)Y*uyAkGp5xyeNIUQ@cs0LvN%TjGJ_PYAY{X@P~-}Q60oUSBptv2Eg z5LS{eD9BGY?p@XJ^bq{IM%KCuLwud{N>dmStysc58H5rFt~;|YzIwChkGuOPVy=`_ zM_+h9Los>q!Ka3*?gPF5gLLHQG8gx~SUx7t$C9pK8O*ESVu#0HEc}cKl1LUll2fBe zspT8Y$MI!V4?CB?t}mHEdE%wP5t@U4hlxme{7^`Le?8=sJqX%eBS#6!SL51g>LQ&| zdxk+ot*C9r7sC5E4McD_9ZKfXl?{MO@tO56SMhq7C?h%_P@I8zA<8NyPc0tT_>N`Z zZN?5zG4=av!$Cw#d<7h4Xdac|rdm zPMRKaeK>$qXPcsMH|ayYkPM4dqm}IhhUyuRkmF|0wkD|+krPlDAm^+gjnFbRVzN{` zK3OiowzI0TO?Lk%PAGW1YsPfCJlV-kh#*c0IM(*57917$HEAw!vw!U8 zD$owr$uM2#&huIA@P}qQ&M7qCE(L$2lV41@7al-zSBZOZUD|e2OVV+*5HN+%*I}$!XTN>Qh?Lj)lCI$ z)#&74g;9h|3f9yJOYPyT0ITL4QD&cFWa(dfgB7zhz^}-hbWrr6?wM53tDtf`vZUfF zM)+n}MiASX!;F`e*ay`WG))y~ui9i#gU_9EyUb{B$UiCG89F`RjEX5n z9402UQXKJqK7r66E_S7x^$K)6%a|ML7IZ2^XrB@YW1|(Ie{n{P$*iMMY-7hMJ1|$N z#bIHKZvw?S$(1^EtiY)IlN`c4g?Ia-{@NsVl&STE}}2 z6;&t4!{ywqEV;|{X1hU#XA0hEF9ZPn)6VogBG|+c?B7V~=77m@P|6AZ4kA0MpPq%H5Ci)d&Z8iAXp;-IcXJlSNXJq}tK$PnUD0auHF}4Fzt2 zj%h&MvhhjTpt(@(fh2Nj@jNpWB@l#ZNlgf_mAE#dBET|^leo8*>8)x`50`bE%GU5Y zR)G)~Adq?lB>>YhoY1DXa)ql1hQU;VjBNaTxu}o~6P%ut8pKTCP1s;^q1i`Zum}97 z*2dqli~C;nvrnn0&6@wzEd_Tg`8rSxtNhtCV=j9FF{!;7$H28oO+>Yg5-Dh@RhLLl zpK5NMlmr<=-3~x2XyZ72E|-*}DIwlGTGs~i{4cYdlqV{Y;DrCR+992_W;IZP%#M06 zmfXNA=%4|kgq)}ObPavI9I7BpmpxLc@tK~^iff(e8f~7OZQ$^E&`W;qadeuKrT7O# zUd}%zJ3S9zoGBgY_8cV96_j7j=kaM|VVE2ptq@uVJg6g7g~A62x&WL1<@$`ZF5XiK z9A=(ht zhfBk#@qfH9G-2dp=2qJ&8CH^ARo^$t#cvv`m&Pryoa>7cJhA-QY#X>*Ur~?P9C$U2 z`*iQYb4S)3z4Iw>V$q|-d7paT&Oft+{{XdY@3!qf80w=7zh3yf;{OZ&J z&;^#hKK{(tqS==GJcFOm{7<;om+{!2-pBvk?w9m$(}x(EWZq3%LnbnA@v~!Ves{Lx zJHn?AhKIX_`mE%o!lH{Lsnb1u8 z$VC&%3-VG3uCh74Q^1j+lkSMrZP}Zb13`@cdrY@OF8GIcBmuw;5Q$fHiac(q zhR0bVegw_^`@C2CJGlbu>yr0>iq1VCsr&uo7%sXv?Yg88Y`W3C%-TS?==_!01u9o- zWolpCtX3-G6#~3eu11jAx)_44lH69*x~Qe1S)#c-CKi^K7pNl=A_8&|*zePS{UL;M z&gVSO`*}aFcQ1ORJN4+?eS38i`}a#;j6T@E;){pI>MIYftR{yYp1^xE&Z2I|*<5}V zL^5DTCy~JNAF#37wO|Wr*`KX6!Z3#cbmKBaqoJ=L_g~YTe^F?yMB?`4c!}DjyDQq| zD>8o2b-mfE-kY%him{6J`~8%**QtNJT=l>RE4C>Y91tYIq`~MLR)Yu%67O329)JoY zYlx{w5b5--%#v=CI~~zT?bzc8m7HEoIPlejLhz`q`}xctOMjYw??n8#H}A*>Hi5ls`S&|^$fg>P zT7KKVt9SQ5v{5I%$|4SG{!#RWX;n-!kvx6KOwzA;Jdk$&%PT24r*9XE`{rt|ZeF$P zaQ8W_Z1Y^PbOqYw;WtI`mWWPE@8bk5Wf|3bQO%EjS$)#E;@74>axIHLJpWHjQWqIAX(2x}$_rS!pf#|PTXCsh#A);OWq!IxVD3=ReLpNh~{S|gM z`}de<+g8en#2;7xkfez92y=o?t`RSIOd>wMG_T?2S*;!OV9x!r9|v#5%68YOe^mbk z?Y_E~)v@=hKhjbnmPHyRp?#Uq4shL->;$nsczqLCine2$PVw+NyI({frv=i(np<+RU z+rf>1cOB|XyL(nzi$Kg`gp)(wK#cdVVP z9Eao&h=`PZf?^0433ic+KT^stTYT%BnWPMzR7Oi|f_$P5GD;E8W=KLLwO8{tZlVATQwH{(^acvF$_d$N zbCLb>DuQ9eFTT%9*E$cw5Y|JHR@a^W``)a4C*KLy@79%>fwRfZ7jK_}nE)Efg&d=_ z9e@98TA0uQR@n+kEDvHv>{&9eCIDEjRa7^7t6&0BRb!H6aXg*{p$Nej_dcLE+(&FD4-KoZ_Y@-kHW0DE0n>~BEkS4`g%(@eM}og5py(z(;O;qoD-IsJu5pQI zjRm2jIoAj%BuG0Hu4UOl(Kh1M!!Ug$-*N5)#~fA~<>8oh-QLM4y;ajAEHjUw_9lE1 zSnQosz%$XR06k{!ygCm~c8p`A^krRxu^yS?y-Edc`EHX^HA0Q@VCxA802!;s@GgD& z{CVI}N`PfSIF;r4gvA{K>0Sx4!FbMP#Wpnj)=r!7)H(CYu^bzcpu|k#c7~Y^O)X@z zc#_Rj;kFh#!HS0B7In5xh4MErj?YDCO4!YCnBZtK-Ey5dCMO!V(~Eb(J7VLWhgZtHV+;3yC_X z2$V9`4CQ z{IZ70Y_oM-ow%LQGAL4(K(~V@C{H*ucKTs%0KmG~Wat;kuP^?*)2ldN;M7PwuR*f% z2_m*HS&#*s!qm7V2I{Z*p46L_yH;U52WUeZ*# z+=7$pqxp2RI76vBJr&Ojg=pZnk*jnq+f6;-SAHb*+}3uP3VZv(U8l1+UqpcZ#&UcB zClBCAF1x7_OPX3OI#H}uNqz)=ypK}&Dc@0%8V_Df>Awyd4F|gj)LqTo#|DFx9^2+R zNwmV%*B5OXZmvT1cM59(nuF2bsbv5}eEd7{Sgwb6e%4#19Ds0RsM@USu$z2;zHPVb zr5ne$FT8mK!E8r-+Il5v!2Pgn|Fy(XFn6S5lKWN2;=+x-5s$4TAzRA3mT2l7Uni-5 zi1qV!W-8;PN3egCdK9Q@4Cm}0Q71Vjh~+&N3o=^PUntUqlHTeNk+gO$0=U1icJ zQ9?IA$mOo`1@-zxy<;+Q{HFTmP3Etg0tGn0Bj|N`S%~v~EoWL`Z?8g~#ezv^6)a8j zi||vQt}xs^Pqm}_S#DVP_> z5(eJ>4|;+{o4%0x%C3$~tp2bselKnMZl$v|<;%3r{cmVhnT*VNuhcs>Fnx;Ure9{B z@9l_IRY#rWFi_+*;aYWH!au7Gat-};$)2!nPv+Y14$|%%s|NpZVN&hvK3(;k-($ev zd3qdeYgpE;AfzE{=X}-uUp0Gfov44@#7Q0f3H?`7+xEYWC##lM-v6EWEiU(9f6(NP zA3RA{9`YaeZ%O^bQWx6{+APxC&1Y5-+iyR+5Q@xsA$zhXY?(#(>}boZf78Zjgu^c} zjNQ_eGwuowZ2tZ~giN_ReyvvvQ~0{^BgkCmoX&4BX%mGUhQ7@L2g&39SEn4TZb>MT zE3m z?B(oxe)PkeZp|*@u7|_-x7@rXc`kcnd$`voc6unl^rqh0)(GwBNFzWg^g)S47TD$L zWA#f=L+orVJRI^oq^-?+EE?%8^g~rN1w3McQMm0N-nK^`+)L-F?{&B8=Z>mrkGQ&H zl1qffMu^N5UTzx>WSh*`UQ{`Gx@zY#11&z*cQ`7`|uh+bEl z8)kJ{adUJ2itBQb2i;#zt?jm!{XD+t^KYJcNq(*^`#qaD6Emv?JMs+O+zf4sD<_TatsqbZDPVT|koVeyIJ(nFOQr~Mb7LVu9tCjBH_p2LXF{i^tP z#{VT}_4te6EuI-(lmFXbQaw2}1`SSJ>pF%Xi@#>xQWeqrKNEcVXkl-|ofe@A;3WiQj??lP6vQ#Xs+Gg8yK5ga0w?mF=Ak3tGGO{qpY1;-7A-J%L|7 zz`kDmtnXmMysSlMt{A#AbDn*3ZKa_{_m?B*&+i!rb@wCVd=5PLQ!A#k(k1ZO< z{2ybf_IA~LPrvZDZ7W(bv@d5Ybko+J|FinkxswZz-ZUS`k7wqEic214MSk44cABB{ z^nRJ-dy_IUj~mVi7JD!mm1o{QK9_3*k*a3lC44|wUX(bG1 zPL1pVK_6*!f}6O`N1W;8c;YRyap)rgl5U*k(_xeGmXjBmGvG^ z`^%f`{*4cKlFj5;yCizS{W7#k;JX4B^x=m2QhY(H9*4YL_{Gq+ATl$(C|tKzOqF zld=H({G0RWM7SD}fjWx{k{y{$5=M42+ghl=0(Hj-?M#&N0U|G&-;Q-$SC6}>1Fm}i zD+aKEa8gkz@*qF2Z}xRhcT;Z|>@Nz!3!w*L;0Z=~jUr{lt)X}tv1ws$0?7tTwk>Y6 zX@pv{NUo5jgq~heJ?Q}x!9f0c`9*&BG=lyt9hiSV1^UVf&+$lP0jB^lU}>|#pf-t? z;oM9S@0wXed##z4t8<-X^QksW(I zP+>bCA91X-1@fZ*2sFVe1X4zaD51T& z+VMg3$>(0MCZLvJApm<1r9s(s5#2#(L&;?zLsq7bP|A7q{}4CWjIjV+E+#w31V5lE zC1p$Z^AqI#&OEOsxY$^zw(5F&vF9_jX9+0?&B?|N6skJdb}eNM*VGCgJnd%tIRR@g zJl8R^3H4zFmBI$uL-Z(TGWx5_6To9Zk8iLCId_6chIDSOKZwd^m!^c7+k$}p7^1X` zJE?kS4FfqN#E}X7&Un$|yikF;)q*PQvuNrAIGzO9Bx7{DeIo~$dT7v|@rRqtpQ@1S zyqr-$7LdO zUUKyQp5kkFE-aGj5bYOT7hHXqdeLQc?sd=o)Aan<52ttm2Nthda$>;>K!yFIVjFxOm_iu0w`}4c zjy?YU;jRmp-Y|bVe&Nd*1kvzV(XshVNglFe6Un439{}+H8;HA1XPz*K1Oh}<62H3r z?lL}LTRPU)lzg%-d+>SaQ=YHd0?o}y{UI;z(8G6UGA?HQu!%SBIDM==cL4v>)4z3} zzq~hMifi_{!HB;s&M#BSQA|dOc%V>}0HNnkWV~Nkyz_X)&N(~oRs4K??9pEbE!iXY zd#fFb1@8zb2n#%%v+|q_|@jjL)|;7rnl@!W1e3nITI%? znC>kW_LVrt*|YdjEn9NY9U*F+-Wm)x2Fm|z`HppgIP6Q~U3TT^B(+ne9WTz&qilB} zaOAzZ$vFllB84~qoqtrdS@-o@%P-LxPEaL$6VqMb^|_L_5yVjMkZ|uP_wL3B&Mmsr z^l22R*Gu(6^!+>n9vKkR1kra`o2VJVeL9Tscevkcp;_c87_0->_kU@R$k+}HQz54C7 z(^|;iMyvkl=lnIoV$9z2I%-`HV@1RF%f?sjN~WF1jBH*udrRrgbAs==FaJ8aPqFKl zdV18#_Ry{7fRpWO#Z#Au{2TK7q0YyNx4*}qdNQ=En<-ej^ZMpc@q2t~=5qIl=Zf53 z^xfEn{J(N!PZ!>ooES9Bc+B0h=jHwB$9~&JX?gjhtfq9Qzxd3ZW}idBw$Qq)SEhDS z)gmxd#63tgkgGf@>RjBO2a`1E*yQ6s;7#`2^1fosm`=5|a`H*o`DunZzev73=bw`D z_~JJgn0pQt{J5d`ccyQ`P1 z{v~To+p^V=?BMOT^}@4%`?qm8AKp=$#y5A(`8PVKMC`-B_5tV7eG{=E+4_3fyo~19 zi=h|y-i_J2`+oQTtf#ZHk*$9y|u7oi_llrjFXwr02J^F;l3 z7}E#Z_6vtj6>6XCs_Z+sGrd_=GV#0kkHqZcbTKSQMs;UcNKS_2@&^CDNN?8@L^>~4 zcvS`X)8M?OU&($}L!O2)DCIStOWLsoXZ;1UYTx$SPoczP-$){X77$5U*gFcK7JoF9 z@*5p{JY$AiRoAbou4Wt64Ogsp8>vsCRcF%(#$u;teBIo0OfZcVb5SYhGi;E3Qgj4_ zy++g3D7D#%?RO`qyaCaWa!@qv-zd()g4;n$Ct2E%Ro1msfKpIlV1?%CVj=-0OCylj z&O~#kR>-0u<<$xQA%4J0`X)=K;s-@$L+SQK@?)PMK@uWNK!3Q19!LUg9spJxJ+zV4 znH-eI#{fW!-B3#A%iOt$ygAGozY%IeD!*cQ!0+dl>8;ivhbN)^JQ~4l3AG|iq&q;W zC+8ADXOvu(qesHAIsPQ^&-uJZo`AZ0_0ITLud~FAAbF=*klgR>)D*|Gky*V|d6Zi1 zuXUCJ2yv|iE4ixcwjgiCI-NX}3}_;LTZi&o-}I~1qsTrG7D#_@q1@|=#xO|5#l3o+ zy09h8GH)p66DLBP0VJuibzt!UQjkGSQI7-?*rjB`0C>*UE3uwhLqsD$snf^tWAOFW z4p+Shx7W)8avea@VOh~|s1xAyZiSR?_uV*+Eb<30@=XgXQQcfU;OA}a2+IqTlyUjX z5a3%jscQ&iU*Kqp?*{5o|3kO;uFtzMW*C zKZfywcg`;K1b}jzX(^x30DGGkltNy*2(JKEzW2aJcl8EU4>=wA77&Dpu>`nlCq5OO z`gy(@Jj%r<`Hi{!^sYju=N9&DM~KVG`{S&j3fU=2;mZh0P))3&c5t#MsPO$&)6fR> zEfm@a7#OckTz^!)@LM26S&R;ruCY8hC`jl_W*NcBs^tG6;<37IF3`)w=Uxk-)QMyc z&t>iQDK7*JfTe{3()I6a`36;T&zH^A52tafvS;gsK;{$pOoB4|#Ht~`_{%m} z8qcx0SX~$S%_@2~pK7P@)oI#+!Mpl%fThpU$CR|{T0&HqNlAVEq}IIU0$#v&PXoDW ziuM=2Y|Mf5snd*Yc!dKlJz#bz+MSB)C8hw6!Xt;qo}&Z2G}U%b+zTgnX;_v~?KOAF(55mu69|k2a8$2Xh~h{+4ikMEqwbAA2+@MaW4UWFLTXi zn~R|o58U553EbK;RA5F6!I|aKtqGM(hlrqD<~W^*r4h<*E2Rb{A>iP8BnFk9K5bxt z&4TC&X`HN?U}+kbkck~3%Cu-prCBBL6}$PX8_l#nR=0p333X3OHmVPJ5AWCJZG)8k{G*{UWtsW1Ej*Hzg03dXp%T7j* z_30NsDB_Lswsk-&McHNUeNa{3u`v4`6Mn$<>yRn6nLdBy-Mm+tY3JG)%i0fA?OW`- z;(poM!Jk$4IbQ_+{L1+zY4^Xyx#`PpyEE+IJwE&C#j1*XFB(WWUm7>m&-6*vP`x%f zg~e$-)6@$^C*&y$cB)P(FE7`zPs*k*KK{k58{gwjospzvog*5XT025J(~(}fk!3aX zD<~2oI#|;^B?iQ&act{fpHL3nKEs(IT>9wYQI;zG(Ejnwy7*^?z4Q&dA}uA@zF<&( zx;w$y+uXyhJ$|4)I;>Gq^|OUq9K9fB>FyKZ@8*Tos#VfEPDq4Tr0 z3`l?DO?#PK7P&1untt*YXcq4&8J^zc?Hok~)cWgIkfMh^Umu}57I{ne zXT-9HS@-|^ap`dS?yk|rU{|3=;hhv)RcZ=`t!tEnxy#0zx z6%Yz1GQn=?hRx#jLtlUU*$J^6vnsV@yYi**Rm1X`zcsedp1l&H_b-2Equ$#k{6Fu1 zZ~AYao*lK&OLY0tZ3M7~3X)u}=YQa>w?kvugN8aamT0dSSncy`P;yQtb>5-bBlv^( zBkb?LjUBmLOU(-Bpp(-5m%)Mj#XmHxFvXYWuXgPk;@EG`yKek7^UA&DlJAvd?dfJg zeqjeYX?M_?l{M0LA&bP?J5A8PO4gj*_K;vWsJu!#yPJ8~f6wFHyU+hgygBFX#x;Ab zFMs)m@K5UN_7k#GC$>&LDYcHhILB&!pF3~OefYCqZVWNeCzs7C8TQ=Vk#a#NZICXc z4pad#`q=8vUlu*~^V3u3S{vgD>yK_+B${deX8Jc}C3oMoG%S9}h;I7kmGkEd|J-=8 zw;;ubkD;vNbtU-o4+i|0x%yN*USg&{ki=L-GY;Lz0QC2t+L~0BgK^6BkAr@_vZFhx zq5H#*Q^uqqoYlh4#eqQ_R z{_gV9!{P-i=KuY%>uCMowO8)G{PB_EV}cJw$onE^+rnLT&X*@c!;a6nz!z`!cfF#$ zI)9^E%!r!$MiJJuy?LpuJ@)cfKSe#dK|}{jI7vQ#c{K*lnjS#JAckVlZ(fsILX>i~ zeuOsl(4Rj>zHQn3yXMZauq3d$hn0O8%uQRtmbkE<*JMty`t)GE@xA*{|NHx8(A%Bc zjy#Ni#Vvb89q;)rv^%+C!r$n?Re%iRYZy(jPSSs7b!-V}>N`!svPZo0{jKRVFEFMf zx3E3yR{fQ*{8nkE-XX}^Q}*`{K^5MNJ3+O0jAfMg9MvQ8C~#^)Hl?f=)cY3KMzGG+ zm;5rqzsVn`mV_0z5sd19wM+BrsgUAWAwWuITqUQag->+wX>Si*E#QXv0N)rG3n+F* zPLU4t>em3^c0s6KC)&EBL0|pJq6L- zs{C`5;(p}hTOC#_{^lYPiW=FAZ4mQ|;@eHVV4QdZWUh(N5`q!YXq}`7+M!h4$7s$* z0G->l$(6hAx~R$;5ZUB9N%gH?`t3Jiu!||IkJc+OFC6IYj^LUwr) ztW)DZVe8dW`Q}3tPahoc90Wg$AJ#oED-+DNworWTta+dBC*x2RSpZB~uD4i&t4dvpB$J(bfj^Ai)n zm)$kDHxNt)2W$h(;qc7&SBpjQq0%F)v%Y*J;7T-+QB)z-SMu&{?sMb*S~e0*cPj%ywiAdxNDY1X~?|Gko*RMN0cJ7PMz38=at z<3kcQKfsQc^JPI;iG`i`A7X1dfA!utjTtTxjX@P?|CTiyR_n+8^hO_yR7S4Rbei34 zYk7)AJ03QHk{v;?c>#oLeOxDFn4oj;PoOOnsojXHzyU2$ZM|LnS_iaXnW8*d%#iZ= zsqxns`I53FI)l|ho&>x&=ZhL(MeP-abJ&^KZn4wS!IQ$ecX`#iqji!C!%ip4;rb8J z`V>V5v^Z+>ZL4x~6hw;za13;-t~=WR#e#1zT8^fGjBM?P{L}QoPIiVyA=keFiyiZ% zYOF>bRLSKPlv!J?Hl3RY8nAN2{C{Zg!hO9!o+3-6tiq^RwnCpd>DfL>Q*woz@-ZN2l?`0{6`9 zar1s^`^M4EV-NYwqsG?;RYL)HYKXoM`eWq6iB^g=+YCsjGzPiLhu8Yt~8;&SMQ-wNk12#Bq~X1ei(51G*{qH??ibg z3+XtRa&_CGaS?>{UhW~P3gAe*>& z;{FS4|HbcL;F(@!B}*<&q#mkze9f`oPX1|kj(rO#>k{pUhL+s4^a~{OUwQ)cK68kf zM!%=j)1;u#Szcv^3e=O*ts81*xi9Y9wdihoG;(ZLZ>Ly*v3ld;L3CI&eY0R=%!))jk-SLL1FepIxVC3=r`xse_7u%(?{MF4N|^#V_eHj z2fCj!SNp{_!)t#Nuw0c}Rz3gyoZzS3HhpTN>I`T7E&0r<#2H%{iwb{VwuWWc(Y*YRy8nB) zW>M1rtpyLvHOsEeN@s`kg_U}ie7X1=@#lSc&({3#Apmp0d2X#=<))V96?aX^r!%ZU zG!yk#ix%U3$29fM&ozkI$E)iFOa0N01xP`b{AWx|_}{^g(L@oQrc`R+Gk(qH@UB{Ygo?ly1J(0_~fe(`mF43|RYsdv3X z|IYe{Joo>OZrO7#s`Ilu9kgkCJ=<2-(TB*}eq2wTZ7nWO&y!ype&X&R#;D;acs-3U$)Got?KO-Utje4Q2YFu?vV~il@j0< z=VsyN(yHg=hy*Qz-`BfV#h!c7xVtp#(Vn{9t8vpF4XYm4V{Zmc=rz%<`JBhjq;E@q zXq108f?d+x`~383|D2(v>r#Dt*95M7DlIztA?)4XwTp))xgEde{pomB^7SyJfu0zD zQ_N{tmvg3Wm+9N5?2D(@9}C;-zHx0~e2KSU-^aaQpE+_{_i)1{JY`#1-M$VTer@aC zsHWdP@0Nm%@h$^q04ts#*AAFPu~Mc$U3B_iz`1*S_|}e{iho44F^3-%?Y{85Hs?+LE>DG*CJ!FnVb3LxKRe}8z2v--QVYbAo&JvNAlF%0+~ z{wd{j*nzukC~uR|Fd-VFy%Q^2)()=Do z4kY)8Gg>X0a&2gzM0zqkr-jwuU%%=@kX$a~|I4QyP9*_dhpZgz?U(Brhx703$^DSV22Ka((V?ZJJaIt)t<)${my(77m zg-V3Y<&-qIxQAW?1jI4Wfv?EE3Ih3PO+e0g;JK6@+SIXz1I!2GIM3hPr(384)7qeJ zHb=^i1FH)5r1a1h7G%BFm)izrH2p=oKFd>J3UViKX4Xp{^wJeSgR?IX9W*KdP%3sN zN(_vATK;rbbPC%7?SO9J3Q~eVfps};s=kG_>_!xdFs4Ysu!Ae|?GV;L%qmXXXQDh1XBGE*22yo3X035{~e<#z{Q z4_}Gmzy_Q1g;FLP&H?C)y;Nu%%uXoXi1Nu~wQB;c7uNYMfjb8*9UOozklh&qMzA6k zIgOxn1PpiZeWh@}g8iA3t!S6OA8y3(rw0L4IeV@SOkd|Er7s{FI;K%QpWvFyzM~^0 zZ|zE;Q#$LXf+%-Fo6$Zn##D|IjY3PHUO|`ArAJrlJ84D09&&ur6QqyngNdFxwx_}2 zd{NQ|Td}fk#+M~Po{8@PeqSE;348k&_g#kGN~z2-gWqh0`_Ph7Ag{|3=R)a{NnAv;rl;Lm0mA=%Qit+yDnM{B(C%2XKCbG7oRFukJF~+!iB>; zh3po8#dfdFbfAq^|}n z0zwK9Bx2xgmut@ELX;kG6KzL?_5qMWE^G=C-CWYBtOg<@vL9O;z`YwSua@IFF7~5w zBF89siC3t!-8JF#)P6Y6(232%)YaNtEmPc;^$Gn?{XlKI>H@yQi{|prjFK{YN2sB{ z#Is>t2?VQLo+w<@>3F8GP}Qkr3z?(js%x0EJ_~+~#8f#ZE#;sYsi}o4DD{tuTXLMz zt=NNFrwwC;{-MmVHn*f&sJc=d= z)ezp5?DE_L;nj`a=h$=TGF;Jkqmy&C3v4X{5lmIwUnmI?9#jUy4=Bg|BAfIQan`(d ztinhBHjt7d;pD9iM~-}^z}b2SsbNfILRvINEY>D*m|bNt(6|9gcn?wX*pdYS z94D?__8thOUq1u z9-#4|YJ$JsW&cQ~E<27S>)>V+R;G7_1**R7^G68$KH*meioE8VMq( z;O)KM>Wezr*_G6RU!N_y1Elc`pS2;ahT^`&!os}RHpd+s8#5O94 z_&fR@R=)yUi!JYB1b?oSr4X^ed!PmDGXIz6rF=*F=?4VHCwYZ0*g9fLBa#BzlrSfn7mYc;H-NuzEAYW0)e^#l6+*iXTC1(^Z}4~X z|4Jy&V<16Uz-nyrMyll9DG1Z}kdSren)5(9t5B>FNZ1^BUad|o$tzUS>Bo|!%+iDS zZa`v=7ztHNxAL7Q{xEiZ{058<>SCo)Jp%&KNP0An?JVB-j?Hj|w6NJzsBJ6ZJ1bia zc5Si+N4xr$h};p8E$z?!)n-9U}yS2Co)gstWO>^C7SzwGE7t3j4v3 z+A$Uh?ZRmwa3|>fXkm!e0grf?Nw(9&cyNfLDeS?9C>2q_6(|2vpvB~aToo`?aV(_A z`SGZ8MQR1S`7PV_pnP?OzQoWg$S~;oW_Jl++rS2UCYe0}KiE6n*o1??sdF|Qd#{Kj z$OpM}ydV(P?r$ul@AGUK^)wv##bv2>@Z&Fx4AGCl{Uy*)SSGdOER05o=pMz8AMJI^ zHhdh*sJs!Rt_%_2l;W<80Qy!&mA6={(c348PZ6tpLsaBR&vAx-05G_GU4p$j4jmZ) zj05sNOy%Jn(w!^;(`pb>6h#55VU|EF;S@`_Q$be6a0F(}RA7_>Z+0&OEFF*bjo0L9-rnQ8k-9`<6LotmR7NShAvZ~5jnS_77#1Wa{s z`gFi1Q;t)*FJlX33VgQ)G$yq0oje>pMRE4ayah54jxoTyY_pIw!t^4M=eCRQ{$31D zE~c2vHXA`4NGGflq^EH(l9~yEt95wQZyuBjF;6RWKgyzj=jK@32LT3q&8)&?L3mlW zEev|6SJ%*J5T<#j zhlc?clNW7((Ml6LadChy)aW(Qqy@O8L}2C88zOuWzMf{W#hZbifJLm{Wz&@UMr@DM zrV%*JF?r$qB5-DWUk8%%fR+DWoJYZOdLAL_8(S$_Fj*#POcm!_bUY^$BJiP_!uhUU9BLDMnK&R#7t|S-`3=OyQy2Fh!0EJnP^fT$@JF?FQGMZ z8hN-0?7-Nk5S$W+G9U+adi%BH4+IOIIuOm1D9Jaxm|`sl$O9z7lyD17x`CC#IL|HD zhbuxLQH2P6%xbH?!}s%W*EGp;Jk!RdF`)FV#sLH3!mZX zbhAS+IZo8P_9cg7Ojhuk)~AT2l;hbtF~{oqb)wQjCQzgm)b{am9=1o<>DkZDhj0lw{+LUO~6}wF8ZbTcNK+bOs0#~U{Y;78tTe^l8gTnAB;<>`yj_AnF8Eg1;Jp)#Y zuD4G+i{*Gx*xCl}SB*(mED&4C!w49t90@8S#?;5?WJOG%svu3@1oDae~Qp&UWQlNCt7$sde?)D0+{G$GQC+nWLi+)X1?h_n;S#%d^_ zJ|KCbuOn7P4wL!vfQKB5lF|lk#erfeq@PT6Dqn`#$Xup9n|fiY?*{aLh=We-yIKwQ zHSGV9v)!w(M4-XC?{@lv!qXu9%sbr|a52bkvog{ye7z3Av|W)XZ`h2(Osl40>uk{_ z>x4xIW`2ZnL^7deD!XKaPTdNV$H2m)6*;Dp)JMw`=r<|{v@D}AT9!(WoAkYQZeT4t z2|U}WB6_Uw9%2+>B>@dB%FUTfpWzURS#|(-MGmplBaP)d)0ExcHFD-&`yDs z{4mQXkT!BmTM8kdu9zpNTJvK>Ztxg4uZ@7lT}0!yzUTnq(^Ox-oss$`E8Ll$JK?!$ zc9RO4^YMkn&@o?jlE&rS=~EDm?^hEcN8<>=7*oLi)uJSM5-kK}1!*kog)pR~zY4nH zQ9R4TY?+nLzu=eH@MP@u5g#8`{)IJ&kk+=QnaUKFBrU8UTr5mqotV$i&#N71E zpOc^8?jx!7?^u&YZ21TRNIf^*hrNTXA2}wa-IVXDQ7#F|Z^PsA^(x6!BC@vX*Y~Fo zdDjNAbcOv@T9fj*E3hi%-CI-HTXTt89xtPgVbbRxbQxs)1pBvBA36A?i1hMfGO#ZZ zV28>B;hNS!$*loD5Kj&ZsYs!M9@jNnnxZu{>BKO?Po-Fwsl)?j9Vim59lqi4;$A=_ z_MirkLXL>`HWw=sjRnFt@qrmYqSNV}8KYt8Q&`<0lpai>swWc=5_G5iDm5h@{4IpC zLKy`B!@{?Ui{6PmKCM3d7L^LNFDx#%ZfbOF3nGA8fj2=_IvNIJoiMm2dG(Vs5M;pn z0$0h+)wCjWfV+nBHjV!~5+z5wsR%wK`(sYHS8=h`AcZKJktN_stx}cyf+xO)QfBU@ zX#7bW(FK0+F^HV`;)&1i|nC zTZR>Pv5b;%D+Xj()ZgYVY0{S{_3CQ*pzzYvE3N1i8(AJ^A%N=Znq;Y}Z7If{LkUjL zO~pRHz&y58DNRjClE$IinxMTcy zs#goa*1_!mEJXMk4+4 zNsbkd-$bLxjV;S6T1Qa|8T}RuDwiL2Unec1HbZZy6DP+$|M$C@AcZd5{&Wz1^qFBi zcnp4$I(zs7`P%Z;7miLbB>GPwv*MSRh_i<2q&cYf(i_lVt3>_cHMKsW-eX$1liR6q zr*M*8psAEcBV9JYY8+nzF7Au^4xX5I0IRrIL+uicyyeTA|2+V~&QIG}im*_KF9%ly zwYaIb%9#a$a{0Z*kLD?KngmRxO1hV?E^pXZ&ohGi8!4nBsJ<*`GKgPULgGvO!0Q4_ zmxdZtfY{2HXsZ0z`9u&nT9i&nN z@#B5Jb9A)>O|4{Sqdk|eksU5Rq_fY}Z6u8F=Ryg$n4lZCl}n^D4MdUQ+N;+gjtgO2 z0_?w1kfx0tueIK&aTG*F~U^z!IV%hxr1@hsO5!d#(vl`~+p5pIU0} zHNgt@)`7VKu?1V_>r18buOpU%Ef%9*IfT+!o*~;X2&#{%gE-(z=H0t&jpGOP%eTT3 z?ilMSVGex;<676S7Bm=Fdmb+&cTIGF<(!w3y>-P8lF zKml{aFJ)k2;(B{#V3M2c(CLA(QXhe$e%c8vN=+dTYlR#A?tt1KWp*8e{V6VC7`UQP z1WNs(XI^BxK3`I!Olelgu;=T;oQC(kty49Xew8sJIXacuwMkF=NLK-!VZt36qa;aF zs2$Y!dwqaEnU=OOr1uv1o0Y9upblV*gH?b$bJ(PBS?bI7NIi9uB9RPr6EW|& zFhq?lDYVx{873N^bQAv4Np3!%-PhzY@~K)jpi6t{v%5| zA|N6F;M!UGf;6t*-Z;q!)p)Cn%z?+?SAyzH6xIzw7kB85r;*P1t!vY!1=_&K_3x?N z9FQjeK_G^)4fXY2Bp8$Er!1xL27JXV4*>^_BOXbp@^On^sx*~*iP zbcv>rEj8zcibz)!;`|Nr|F8Vu4upme?1Q< zTq-d;8zXHgITxc>$`j0>j9=W12!`eAzDe<%Ff*vwze^);By;Pzb~spT8AZ@5!!vcF z2m)cEX+X4@sK3XL_XQl;k0GEp-0oGui%~nw;h%ao>39Umw2?iK1gp`&mk1+88SQMJ3_YY4gHN{(k?B3=7p25)l{^8xhwHfG zj(AG0Mx~J3Cp1-8$q~Cca!F(96v^d|@XXf6Ec*WPF)rBGfUEIi>kysvI1_ZB5i5=K zj17#lcjmFRvki7Pdk)p>`6?ima57y&rpV-~%C%taMx)3q0QkAL5;pI$hu2I_qnBTA z0f&Wx4?c^{Fsu-QYZCNDJM)byM+U4=9D~svUi++c(~JKQm!^gYDfJH-A{mLTF_c> z%-vpnbD^ajY`bKbNOV%zmT`d1rs z8ZlW)+$rq@O76XL%G*X4m~UFF#;!cyTsRvI%kb)AJ7{?w+x=o4nN5bC45eA$gC3>Q z<;SGmey=VDoC+GD(#oiz5z_@4wTPZ-wtk#8$W-1os;$7B>;~Uc~dDq_GkF zEh@U&G7qfPCGqOr+@%e5CW}RHrM7onq{w=~7q06!RcbYhS!!9Z)&yB}y0dE|W(nY+ z00I;*3*fHd)uKlZ!lEk`_+nwW=_8jZcd~BMpX>u#dziqM`{IZlWG{z zLeBX#T#;{27zla2uUA_vz}f(~{TC@$ivCh&^;XmUgc*Imy^1eq8& zXLip8)YnW{%)8t+F`QGrlK)JfIgG5;;Pav*8%Ma|zQ?T?X3V)oXsFwVlVlsA)XL_t z@@kQl9I-nmaBiEE_124YtlT%eL`f-Q`=aCu#IzWtoo!LZ2_)`F_W~;n^0!oEgkD%r z&fOvAzEGMC&~4=S0P~qe)7#$*EWyKGHGzeYMq0@czAF@)-$;A-){|jlbQWL+%s_Zs z^}QyYm^&RmPI&q?s=<%aP=^t6gkf2h@+m@;N^~Sk)7!vdMF)sJki%@Adfv&i79hBL4flnSg9q=}Bt(QUXTFiE(P zXjH1lFmtvcFvVgF-)i@sfN&>S`pwY+pX?g{&(XI)HF4+r2Sbgvl+@~0X!D?pExOyP zi1*(F@_@P(A2jiCciY<{*u^c{wLl2Z#AJAM%hsDFBDOvn6I|5j?v-e31r!L>%0R6Q z8rIkbo9Lh+3^9ZxBpH(F|I41!)8pwWG0gma-{S*3btQK*#C@u6i zVvpt4Z&z}9$DpcgDlLQ(^h|2=P?~j;@mO(iCCz)!HSLM8PU|SNEqA3R)9L7o)7?~N7@cnFf8q9eTfzG9g=yP&&%N0u z-}=U9-KD4YUfM`Y_@9&B2F=11C;tVQQUw9@Q_g!z4!mft!T5V>0qa^+3hDAU-h#N@rGOf>9rD2op7$P0P5zy6AF=Z`PFw=Nc~(c8mB}ObRquK*-y~T7>-Rw?`vj zVo25U)95C@t3jEVNvhA3DU1BvyxjrdUTmQ)3O<1x7JA%bB7QltaG1vVB!KS3I6Y(o z&+|q9a5}bO&;?Cny~t9q_Zi@XZwIZp`~c*joz_%$Zr&1G#{&n*?8ZgP4}9;t41|y( zAIqs;&obQO=2e7Yqqly3%)L>V9kbR34;TW_`_mR zhL%UFQyw4j1XEeFpq?h`dIBEVIRP}{>I}iAiWYjaMueLm*t+PtVU31L#!51w92hAc zo$18*;B%uXg6KRt2Tgp3>mDf6PKTmbM=~^Z3#IJO0{lJ^3Nmk1No9;wM#}tiE0t^_ zhSoz!4z@n)>f~dhpN70Pl2oj**vyd-Zov;$CF!n;+p`k80zk^h`ty;6^rU2V=Xizi z>l}2)#=Vez2nt*ccYPZ0-m9dWO`^s~QP0asZjGTEKgYQqrQwsktvHLbX_z)u>(Qti zFT7#D2w1Qvl1Yc$b((Df5jLxKUlz3iy3Y=Alk0DT1F8(;b@)B>)De9dIEIZW@Fb6o zeUZVMrZrv3=@*3DdT6n#P>Ukp#q&_P$=vo#(#24pl(p#m?(m+OVvC4>J(-5=)g?G<~MO-^m%PWZ|c#Hi@;;WsRu@zF1duh!=E6v@4gZ)bF+buj{Pk z|Ghz=mJXSr-5MyV=_00glOhmp+*M6d8h0eMfXi0E>GSKiyIv9Rbxdc9d zX1c5q!>WwnFdvo;s0V;p4<>w;}yn*yV!7K|W>g|oTb8&_KtyiGipP+A) zHEI=sfn1x(MJ=Ntg+6g!LNx@rvS)2{YX@I!#!+`Jegf#%V?7u3;6Hgj)>(OM3Ft z%>2qejDwr^bM(Gj%XdYoU43~K!#OTZ6#x>WWM!)kQl!_xzBIC1Mr?`0c$lyjOAAhx zfeQt;e)p5qWWhL>>cZ4np;kc*F^7MnmA)K(1yF*V4zvE2E$~z4g;1XM%sUYC;~EL=1ahzI3k$%uV$$Sni_j z+2Oe9zYSvhpE_S2?89cBfNDO&lFa%3j^0N;r!3YX{(FtNKW>Cp-$5St;O>fG)ca8?5=@eqTz?y|cr;8Jy%}06V9q64(_)(R+ zOs+edTlhV0>LRe7mkQHpOANK>%*0x$4I2MrX`QTupu3N)EN7a=R}yY}$B1h46Xf|- zWg8P2`Et9qsUtXCi!FQZ`njaEcIkL7ErH?$*4*r@{cL168StVkUqqphZ&F#X34}|1 zyJo*0zTh<7n&i@L*+Sc3hkRl5p^|-BfwcITP&Qf9&*I3iom*<3)IJdlTn?Z30-d1` z#LBY*Tu^DLiyO#ouL-&_iDUc@)Vu4K46joS!O4tFC@Q>LL6O$!1EU!qL5x+k#zR*@ z9Z=^l^^R?;!J&LJ`U&avqJK1oVIp22CgEY6=4P+WXtvK_Vq>1B^2~%q;xIk>n6|ed zbEbx_Q|FMrCyavHMSTNuPYiikul=QNrYW_6uX&reyPr4&qMay`PakQAZD5tMXg_8F5g_^+`eiB@+r)WXDpi zC8m~PW>ZAa`KgPK8!ToBVfVJ{;+almsIwKLsY5Akq;p$20wtRFBh_M;WlLff z^E??7`W>c%@y6#A9F>aiX|c_q7u~t6vP~{Fb`I2qo9&{3+@fX!j2YMXbsweM(+u(n z6;r|-XPkL)4e=x{Lyvcu&D+sJ>$#vQK_145`A4Acac8e^CW1W;4F5h26z&{k!ET7t z>9+E3tvS&V@st>kEs7feL`l?uV9VsF*cJ6T&MuT4%zq>FPW)2aC1Rj#AumX`2wr+O zNT(g*bETLjv8U_Ci?dX_<)vNjyK@sDu-~+ypA(%%1R!F&eaIPi*lH}YgL@2GP|i%eT19Og%P^Z_OmW~ajLe)1#|EY_lc^- zXcziW`C;8sI7jo(;Jc&xxtYzWzG$Y5TGpDLT0bRk^rGy=$tZGQ{OS9BZbCoK(SxRD z$D>=T0ilcxlNT=7wk=JlVaF__vyy$unlyMTsXy6ml>E|z`b{5P((*%~9vuZbBJpUE zkO>}raEf0eeWN=eO+d2wl~xBv94vnTEiJ*hP0PSH3@TEq4dluO`2A67K4L7rer20~ zbehrX*3D$Njr(b7sSbyq2rCoS-CWmveRcu#;WU+^dju@NC#9oKs|5>hkExt#I|sq5 z%4jp$gudKl7{I1+!L4TD6c#UnaNHiUqMvu6m=*LO-!q5lDh(fo!mKOy(E#T8{n@qAoAB15^b7 zQ|Pklfpv?CdqqHS$Z%Vi?G6sFWhS#AXg6B@Q&KcaBE~!Qe^ zPo06^uTd^RKxC^_{yf zlF5{B?_{SGGR=2LFE!uHM=hUB9w#Hbp~DOJG-- zb&Wdk4*4(mKEvE^G{(!zqt9pIh6`uk{nq;#0+PTrFU@L4iVm(>S2NZ9%s)5(qlWy; zUv{{EWBv{d8ESqZoeO^R<&VoB#Bm?}ad4Rbj3Jw_Ch!9()8Fqde)izjYJyxtJhJ@Z zf-2BsZg<$4#iEm{-Zpv%a{baWwRpRA#^Z=kX_D@uWPWszsE^F;R6waPi<{2Fw(`y~ zv=S5Fv>7%NfuYkvA0V2D92Q>hX!IBsivdL?&lMX1hAe~ed3Yqw?Xi=xgJ1{(;HD*7 zi}e!j*0n#i5=~>dz}Ho)tPsrJ;zBwoV-%dEPRc!2pJyujOh39IT+D!A9p~VTj^P21 zUQWg`6@fFu>BD6kGxfVcS+pL#bJ!1(fYi19(0Bu~bfyz2;6o#WYmIqJwy2w$!EMu} zCpk5fO4;UXEWfp7)X*Kv7RX^96B6r8siU*vrXuO+*4w+tzbbcm$rzcBG3fkMn{XQV zA;iyz{0<(Si$PG>zGaVT=1H<9xw*)r!TBcg;tMa>cYZGmIkoli`-s{ z`^8H-^MrU19e@!s#e0&9|5@*Z9Ri_CXTRiBFPMr2w zMGhQRH+SmW?_W+>+HB(!4!#>JIfe_*u~Z9b^Xr{6D?<=v2sLtMH6s~&WN$!TYjFUe zHXemeEb{n>F5f?xrqNnl#-bDX(=zbY3v=^15w0}v)v3fD36CY87qLe#K0N9$NsR`t z1m@NTNA=d=^26y3vVn9cK1brLcVS?tQ`gD+(MOuHIL_z`?5`80qdr3$n?I0=H{W=9 zzoAwD5?`Y3*}mvo9Eej!+56x4Z%=(ypfZ2h?b+=jVyYgPi*Ct>Sge?%I7e78EGvC9 zATubfFBa;~%zk^a15yobAIf)I&xZ&rDGzVUEdks_Aq=01E&M69k@~-pg;_4RFi`{Z z0zIL~PMiSQ?^v!Ba4VESuipc;bYhR+KFT~$^=b{>D!hukMu{5rFVZ3IuR(o@KhZ%O zQEU>0pVW@S5ZXF34vyH;l6~}qYL>P(#9o^oHo7EZ{JHClIZHF?8_saV@455y-2l}i zcE0~t$mB~nSci@9Sak&XDpHW)b%UU1CDjVAQ#`Jq zzi_CC$CgMkN#yVNFAYMO4e<3Y(MbUGEqlUakrkdHmqGf--O}GmkFWGVlAciPDV|2x zR{>C=$ub%m_h|#NM(8T+T&gYbyF^AZdtI);k0uQ({3Gc*4wtRHL2hMZ1+cOOl*`7-?u1p@Cab^uhjX>3(G5h;pl0vLN$ zxgyRM(HbH2y?+Ygmv!2W?Pf^S#=j*qOeLt5)4g;e6Tfr|CNogCK1Uzsqo+Vd@8EWu z#>G<1lC!a_+0$5_N}@uH93ZxhkI9>jXsUUq_9v{w_}-tk?y=nbi|OO#Kfdkx`2H2! zR;mCg^X_;@^t}^GUxWS-Ex2Jaj(c5;^eKuMuYUd$b_o;sM-vov=V6w zkO9PYztp|p+slOQ<6YO*h;NPxL2M5e@($Jx;1O9J5bO*`^fT#^5LY^(Vyu^k8yg+- zfO+xf^yOoqFdUr=49`P3KnQr*$#St-$S2E?{Mdi*uEe-n#4K`9t+1{d2gqXpeSj63 z-rH_Fg2yNNn4z< zPL7sPCac-}0g*k3F$C4)iPs&XlXb(q(+M>x24s++YE!l4U4yABjOu$sqF(sw^>4aW z9&>xc)xeDXW@+Cd{se%MFfL}|4F=HN6|A~UR*0Y0aW?nWmNdT5H%f;YUpJGwxOp%o zF~er*NW!OQS!GF3(A~YF);%))fzhxIq{i4hXT_v=%RZMG-nl-pu?1UpS?{;@ij2ox zk-)NqbhH!}3gD`W&P%623vC`%pRFHBsPMGhLte(#%N$TbKw(lCZ2fcqAV z@hP0RT|2N=M$U?i`7#(wx1>gtGGK5!%y;zfa`O}Ku^MXAOlgssXJ5H6C&CI(T5>NM zFIdbod6JXmix@2baJtpUsK2*IwxygQ(@-qDQHSg#pMLXxCgA#nfUEL4&OD|2a~YrR zbN8=^)rv-Esop~CQzfCu{e2~06}Ep@#1{ZpH6f9CKwVdjE!GwAK;}(6D8_SExJD_? zPXXulhD`%P@pS{*2$qsZ5+uqclX6>&J&4B3Jh_5Bfux|z)?wiUU28}z6KkTkju)LD6iq; z(`OIYI+q5i?iuAASw;6+$@|_A`M)ibh?uf;VQi{X>ZcUy|AyBMYbQ9e!NG;=a=D+S z+R0eDW@PPfrqS=AHa|Yfb#*+hISrsXby2ZUm)yG( zEu(XBQ7HA_H>}!}*1_p6I*+BcMqv&6s*KQ+6+$snj+W-+>|V(CPz;-ymUzt5{Fd1g zyb=rM#E^HErzMT!hTh}CFnTFUKD`*rRumgH%_dD{0H8I1F#OFj=v!X7e5z(%yQ zVl0PyRC*wx-f&D9+iN2uwH9&T5qs~o$t$=2r{ZHf;{LY6;~+c}aj^VxOs`Kwt{YTM zg*$cUZ!rYLq8`N@=`ssuJqO?XX@EwDuPOe!lPvB@H{X=@m&Q^8kjU2f!=W1>bP}%; z!du}JP`z!|&X4RN!W2?tZ>fZY`XZTJ|rmqDx<@@>o4wbqw7ieY4-U$`eG(C~AF^ARSxS|}# z923@K8t^pRtMTU&wa@9qKfBh!`*GOy;=NR33 zi42~G71pn`J(_Ca!rTC%J(<@sEFV!Ji8YwHaQN8!CC2KbrCYP&hJXa_9>OeLg!gSI z`CRU1E2#*cfgk-3RcceNuydGEiW#vH;|2P1t>uslLjOB1&s}Xd&Ynh^ssG;XYi@)` z(NFCXT3!SmhY7a^gD6NI)h#z{VktDvYB<)H7a*|>3|(F|STv4oqKZ$U4+e507=3+- zXE+W|)fK{8kLorPr55Sh2tY5dYUBO=sE}MTBwPzwIKTB*S_N)SJI6gF?CGRW9(NCg zQ0|wY4XnOgGEpw!c?0e#`BZLN&*EQcySyJOsH(9)`M;Uj`UCODM;6luwH`f;Nx*-% zG=G77^917nqEDdmjo7kNx^Q)$yWVk8Tv)KLYej&&GeU_!i>4p^;EK`aWT}{?Y6LTj zPt_Clt^f+JoN)2m*n=S6$Zf_C^I1zhBX+Mgvx27ZHApW~MRmx0jZVu!Bkte|{hc|0 zRxE>lOBadOia%eS%c@{lr>DgEL7^Kdxb|1_8Fi0XWEtn2>ReGnrl`v2Pm6V@AOb=bVenG zWeT_sUx#`hMyUSJsAI{b+=3& z_m|Xt=7(|bJiZ6wkRjA!W)R_Kl>7(Me-SL$HAWiZJZxbIa?am-Y0dN0ZR+-jtf*Pt`%?Ig?=mlZeR%uMogeCAMK8eREF`{(hYWTzAg)rs zazHeV0=-u)48M>6by2WzVRXxM;b+mO9^P7=ouJTt8ZG=sVGWZ1wW_af_2pX|C&9D5 zThEeFE4i27>1X~%eT&QK&7g*V`LEAyHwx+0%CO_Xhu^0DE6x6By72F7D&F7q5eMHT z%m=#fmv7tf^bZn?|!A`Y@)W;(drxCbv6_FlWmsxdgB4SwbjW|r;1%Z+@$!N%Xhs#ROB^E@KlpE znUH!~285ep;=$P7XJ%~}#re514rSBa4)}ulidm?PYT>;6C>om|f7iB&KrqXX`N_s* zGR%}0idsayN9c_Pk+I2SGW&;ar2uMUbO+TXmJ(C(%T(!k&j!dd} z==$C+;z^copu9FXp=9kDSukFgF;dJ@$HQbU665Xq#W*j{(Z33%;%AmtieP&j8+C#7k8nj*qFgK=7SSJ3it!2h%Gj)Lyp zT6I_d`me6K7^Ape{YhZHSgJcD3oFSv=Ki<=@kXB&3a^msm-@n6&>%d_lHt)9v@-E9 z?S0dAaX>MhC?A4q`mCz!wCER03@OM`Q2z~Sk(6P`G;a_cy*;^>&&SQ@Nid@=Xafi5 z5xF(Vqq}Yxt7hxi-{j0<;t}-*J5Z~z6)w8bw3AA~FVO`{vlCIZiXl+Wu@FPuZ=$Lk z*0}m)C-2r9@d2UCYcxG@lkzWM6bV-B;tkn}!|SrRSTe?&9h}U>1>2;j*lTNqq``1K z&1_qCCwoBYOi;5Ru6LQr5&Gav8j!UZYQ*))d{e?6=L|2va@p7_WvG>IHM;J>=N4{}4T}1v zr4o@*B6EA*ChyETi?zKln!%v3VsyVS*w%8zL*9wB{t&0WD z;zq9>`d0UVM7BvPl}*${833=vy9C?lpLum98G-SoSP8;aNDs(CE13^$WAl4?Ex>sL zSdaFnR9#L(#$Bz6-xuH!?#XmpFU)r1o**0CKyDzc?z+irzQ|<;YhbIx(E0Goy5(a< zz&nOU<OEDnz$`Jqbc8EEv5t9)7oaD*$woV)YjP!eQJ@G7#>)m&SN(cmGL)oR z*#q;}CXZSA$JeJ8_b20y4&HD%ShUf5-nhc+8}bkPw1ble@E# zsM{#!gyZ9+!mrce4UvB1_uA{XTbCO8X5Aj+b~L*@!*g(_?UdVKKpoK24AkpE(uRH| z!|G!%6fWdLS|ew?y9DoSSjsrv* zv}FtTE)Ry@|G}Y?zMoZ#u@ZTG<4lZmy~F=DI>Ib0`Q@|>Y-|E&$E&EGS~fiJ)#B&t z>sR=-N<5-JBwj7dxO=F2&>L3hK+0;pVa$~ZV1A4(B#X|EH*U!o1^>t|RXo=05V>su zkm~eK+z``dH1~rnfs+?kPe9tB8-QX}8(Vu@?;nC%Phz51GaqEHSUB0=B=I2Tmzctps4o~ z-H)){JaVo6Nk%=$JVATNk55p@CSNk<$F&4q9E%A|qmH8~93l3|Ch&U!0X%hhb4v3l zE>L$@kk#mdLwdc@^oUYWN5%{_;6ggv&mG4te-Q7q3w-@T1syABVpaFk$u|u#m9!vQ zta}6t+&kb_HVp>Sb+e2Mt5t)8BO@nvoiZR@nqHw1X15izD;odm82B)8!sO9Q}L#`+-`zI`q^f`nZvq-A5ZQ6@j z{TM4CIv#A5-Q$Sc6{<{K=>@Lt*fZBaUZyx0?cq@$HbfIYcktX8fu0q9o%@;>>mVHG zxKa~Czk^bD_DhK4hBH@Saz;?{e5&Gyl`0JdKf z9Iu{|qmsvmTnwuu`_ODRib~yLW59CtZAj4w@cY8%wK_ zHJ6Gk|BAcOQTZnemfd*SJLVe{$WRj$Mf*~?gNpGv zj^0noHQQtAJh)GfVjuC31p|SYbX;Woto4#Oe@2F-B*^Ss?8LqmMcQs|k-Z}?ME?1Z z-FP8T+WJ1KYOTSRg(MSN{Fz5ftpJTCfMvYh`;^Xo`i3x^y=NiYA8@ zfi~efK5n;8GfY=N>n``)GnAASQ!qDJh1YiA{wQEJbZ*@sAP;(2LEt?^_s0E{no`8_ z+j!ATg{t<z3fJW(6C!IA+_Bf!qUCiwV4+OF?Ob)6bq z7HngWwgTHEn%nBs(~VfFucTJUpA81csa?5;qY0Q9BMj)I@2_9fP&n$+1b=GiRLc#f7|+^$jr1k!QTBw_ktxS&UZ zZc$siY7n1Ec8?|ml9E@muOXyXZa~hvgS4Em-)khIpHUUlvOqktBeM!C=;;)$g3-$= z1zAOeTl%Iz469qXULw+F0i}N7Qyg zMmFn;8Y#HecY*RF+!P9+wsTmQcOz6$L5fY5!}fn0Ek!AF+c|x*z~mxRBA+!Ela|1s zYIiI>dto-mGBQU;d31NMFAh^@a^w?CHr2@J99YR#Sy)O1JfjJ>rjpcJ9>7Z_%V?(o zgqe#0fJZF4Qe475h9Fw_y zp(<0Wssr1D(`itzS$Tn|#k?htQVDBAsLQU~!nC#vGmMWW7?y8opptAeyZc-=y*fWW z{yBwj)Ro#ey42n83bwIhipH=nFiy@+K1ECHb|obf_mCEhpW1kWmVcNhmf${I+mofP zUCsllfu`D{)hp&eye@GwZ`=Sn3Ko`n^OyZR&e-^z?mE3*H(allmTp}WPHT@c!u*Hk zpHuO7z7yA}pE|g?`!7E8!@>sj3*m~5XFl&egX^BVSEKr`#bt^1UB7$jr*F6Zbm_`7 zSzA9F`{c9Fkt>YvEKQ;p!@}w753uhFpZe)@asRKhXQIzMSkq+q&Bbm1d|kkI-db?| z`ia*s{k--)c9x{$&5duYJ6yZM7U@R%&lDvI`A%b7__K$<`TfkA^nKugDj&RqZVKA9ql(fKVpABd~3Rjrxr(-bX=~x z^-o9m=7Sqww#ommW^3N2+wH4MqAKU_9WR96kY4(%InDN8pTGDp?<<~fZfB>zS$Bjr zcX*5=M>#*GEj;G>eM8)Rq9M)|PuJtg{liiQeLb91(5`$+C9p^>{w`|SwoPAe{QA{D zl>F~+U)b?~gU-w+wCDeiPMduH_YKTv{*)8d32WlV^#S6L4C~ku>w?a-!QwQ`P<@5d z+qr+gTd?f*OPj;b&b@W(e6%*4GJEAQo4cj)`>Urv_i-Qm`_mimzyIMhL)*UQsPxVU zuaQUtR1Wb&tDk*nd-%KJ1SV^CI5$IH1{!9hxE_h0G_s^>M**z-P1u!JDqtS&i){1G8|;4M$Ff39nwgiy2nF zNZaXYCMYEJmlK=E8x}5hd;5p8$hd%OeeWmKyJ<6cD&cLkFH$!e?yG2nvtGA1oA$ab zrL0_-RbI>KUNV*ATKK*;m(818SA+BVg|%pMXq_~^5;M=FAWiPr zU@fb!$86_4b|GzeW4ZD-s5!`<5lb(y{dG0Ym?Gq{31hxZKW$qSy(k;2qPo?>Y{~+l zL>5DOGwLEw02~(>qAyOsk z#0t8#-Q*{@Zl}&|%$G;c@zG>VsJ2M^l~ zV|S2qp{UH>H7If%6@Mx%0K1Q|y1v1BT}@qW3?>h?|~)-r5@MAMx^N|`~gR8-S; ztM5 zjQKO0P+D0|AoU=v@T*Z8gVT6csbGF!)oswr8g1O;(eOZ4^{r$fGezr=jH~}pug$^F zti)tvxO;v$%8eahO26um66DBJvt$(%M5(@3&mc+!sN?GaEzQ2#{A6)dn6Bsk$V+Li zgA)wJD)%Untw7!b= z_uLCnZH8|Ci@JEj%UZ0U{?;2#avegL!}VIju|e-7Gl{Lh*Z-wQD34TxlAnl-+raf2 zkxIuE3l_0`5;QN!Z7S&uQQbQ#JdIX2keF$B1n`fB`v^uvwk_~sg{6f=ct+T>Djg+s z?W#z0-CFt2+BUPfL>~YyP!X|tKn!POUKbrk((otaBirpnrOc~=Kj$memz6>Mk{~!G zNp}aa9)RCT6ak#Ys$4<8m$))+o$@&aC5rKQ*ttQc;^o(9d{*T|?J%2a)x)y?#&Q5A-=hX?iU{ zmVP5lRXPng`M?WiBl(Tmxcv)F;a zuQV2?uflWp2%P)EEwqBQYtzBuz7+lsoAj&-hU`pJ;e}+#t5)((#VjbnsxaYa(Fs}+ z2((f{)wDEni&4G5%3}v1Rm)^vfN_4-i_Q>+Y&74xS>Q}un+bo{)x;*#gL`r6Qg7l( z8R;@b+;=n`4Bd6nJ#mu|EdhHYUNWf5HSsY&D#@0b2;(Eex|-P`d>KuSr4-pt5dn`@ zrCZi!iyGy9u5VLT_#z;|!*@f`T2ST`M(~kh)A%ANlIot$a=`$2GP5#z_0I0+l%aW$ ze3&fXJID!p=mlbs%>RCopQak9;mv7rRM}J-1c)zd@-+I6eEK{_q}TL&tMHbJv&}j(~sgo z?+IWNkHbyLO9UYM-1ZSlcvX*|BL)DEed%BsYi>3w6q^f1X^6q$iuwV@jbp%@m21UY zcF4m)tdP1GKua!L^%{k;sNQiZx-i3V_HU6;T+M7UW_F6Di2BG5j-wFqd%aLrhZusH zjIcUsGIz(`I0it;gCrb4of=%u=e}1K(SqoyXokLVvz5(vR`D=;7ilC$ZzlFti>XVa zKBL=U0&CUxXl=4#sbJO{d?JJzva@>6Oa`SG54j)@tuO9n0u-S{QJ(F6@)T`6fE)Xq zNYFnTns|%Gq8dAFW3Ca+T;o=4Z%l18eUwG9`LiKZZE5-_y~V~xFn}cc3{TN`aj`5l zd(-?HwOS%fWNb?(E714EP!Pa`y5{r{OQt!jEOMN}h#?{WjDOC;BtBeINPOIr#4=>b zh81$V8R>g`XuO&eajI243+3VFjphHbY{ADW2>8X9DU0YGk1&=Ft;f_;ANV<+RCx@h z4miRfNjFK8^813xRM!9lk#vsl05k?m;W9^3?mQ>uIh7%l?I#*xr~*82BBvJPftnNM z3b>{R??5+t65#rWDVd!GsrU7^8kFsqGx8^BW71f&i^;4CH-^qjLut;%3Mw zgq^#66BD+u*ElK=6cE0(Mq(TXjD`xBG5?~qag0azBZgdd<{eJwge+R;v59(PGLR!w z$F2c0f%+^+sVy#ZA>jR+s%o67xIid4JFrf*@@55=S3IIt*XgT*th$6|o4%Q1=!*o! zNo@Bs2!IAK&A77BWYp&K^a72YsgE(vW&#P?fRH~hCPc^B*GN*mv4ztOk}g6Em+Dz5 zL{{Tgf8fc=I4Mn)p#wdgyDfAxA}yRyRKvJb=a1Zmx{sL0@;7GB^N1$n>viAHvpQfE zuYWmBx8puUAT?sX)H(;Zzyv~*2a3)QJxQ#A@=A1Uh!*#u05sc9t-yomL-BJNIj_-J zmBJdXj=zH9xpN;FTZ6MSO_4?uqTgwdno2&=fEG`F2-G^W7d=xX>Xz9Iv9feBg#Km7 z8>x0vibPa1y!Y;fj zVM_P!hW!R_mgUn|(HOV1Z9LFu^|~Fz)S@v-8>l;4q;b*~4+@q9qN0aX1BwE`5ko zPcH>%>ca582jZoB4}WA_Krt{=R37%fHeGTj$b2@u^S`eg{f^5tCw+17op1}jDRBQq zzjW-CtJ5l@rsTn&c4fZ#%v6*Ne$#QklKP-4Hih(GE4+9Ho%%0mJ^mg3>s_aza=lZIH~wcNVoph`kI&eLpP2{6MCNw%l`7<^NelQv%HHwLGOx{=R)hg zjNMJRSCTR6(v@U^rs}dmr#1;c_{tLW#ozvJjA~Id%U8)$r`6*V5>XFOQx2 zdnhRxD_<OuA9%lZszSS!@ zG6U0cMa)rmdf$#eoHNDenAo{#jT5RIp70(0T=A%jM+Q6xk9a?B_f~%M&cFA1tq-N< zF?MxiuX+X2ulSYbJORV9r+ypz+ktl;c%Rxk@(Xnvp}%4Ycg+dMHa35r`;PC0FHD=4 zAEc6B@7tMnuXk0=N2>xWUl-i_So~n^H`4`|4tPr2mWjuQ)-QeU=4;E>zWrBO{GERJ z$Cc06$9^8`^E`Xw!maL8uXJ=>IliJnS^LFbKCQXGV%tRaue8e7+g_5UxO7E!n1xr+1;C9C&Z*(R8!sfqL>d_l1<5k=HS5y#FGSspyv!d*Gn`gbc>pJ!Q zZvt(5dJ8th4m5TSx(5XuCEhi_i`KYvQad@8yyu`omsza`cc@K(!v5$@g}jdE@&Wh{ zT*oi0T`H)UM{JMD!pwqWw~}cA@zDS=G$B2J_wIT-$vuQK1TsuQn~h!z(zfM{H%>A@ zGIDlGwMr$!aM1e=w{=LTfz7le*F;dNm9!vflk({F5=KV`eD`85Nfko7926$8v@4yiOH>@4?ndkl`TV)T&D4K z>-3N(dvWu`MxmTA^kB&$+`M~17uIo$3u+@@b??;?hKf!6q8 zDRl07MNFdfX*ZqeCq`xk>ST9cT7bBFG{Vb+OpJeaiCOvbE`bLvBN$Z6epa!9y5+`RNRupJwGc znKpy6nD_!^YXL3nvNwAIkL#WzXFWi<`iS>rqmQzDYZkegPDsc!#`Wa#*e`H1+t zV~Y8LUCr5`gD=`fL|X=kIebD_JhrABP9m`kY@*lx-_Nw#2Az3JlNZe)D<@1}#k!i25euAX}Lh5MKKEi0(kb9Bw=p z=noEvjucHOU@jxg(Q~AQu3UFu79^UCfwK!L2(5U{kI3h*mTyYI^+gtLOdaKJ+qW-0 z;L%C$;lv22SJD=Naw4Y2Euv$1;Ph*mMe*ai^$Qk9uN9{X%U0#E5#x-Dh+g}%7G#ul z~|6v)FyWVD&sBE19(tWt~cBIKQ28hy-SnRthds}=P$opL*D(75@ypYmm_;x3$>S)?hG8xq%v zjGF{;%GsK$<}Z6i98|K-kmonFGCY+Do0X8N+exqTA6S zu6GapFkZD&XX1?Ou6GWvT*2Mo7$x`YR*)5@=iq9LHrjRHkK=59>%wux5;8~@uV5DS zO=WDwtlCWD_bxa^!8V{Fx?*TYNh5Rm-Xy|GDZh)K#5OEI|Ry#T~GsBNw@plVknt4HTXWSc!e|ujaV(_OHc>ySzQzCjW=#I>3yQ^^1 z`Z9>IqT{%^U`$U|O%w~meS*X>g9PM~G12|Lga-bz(W~?U*m$IRhiTbE{T#GGO2EB5 zO+Gwn16wxX)j*$n_-)Sh$SfP#Ld%vL7P&0&{KdvskDis=>+PfC)0s-YRS3mRS!Q5p z05RG4?99qG8WguumUCPa1PXK-$My1oIjF)?mNSI4E>oV|P?JQEu4N9?MxUYHCBl^^ zZKm$5iUbHsL9XQU|5R-zJdZ}zdcqv>P~h<)!@V>I#PW?b!G61;wHQ`S>F9exoyegR z9S_ZVu$0Bk4V#2oG1EqGS8$>`7H%J~HV+N(f*v>8;g%3%^>FLX%?_k{HVPT39TMXM zn4>J{jHgFH4%Hi(*_=GoHgC?=fS6%GQYBnKazetSyr_jsUKBHDzq=KQlWa%~#Apy}KQ9MbcE} zI3+p;db_F3XvZIt#NU;R*G!MgwEFtNWe)&HaW^;%#*KDEYCaqIPu!ZqZUw zw4ZR*5QQEJ&tHd!25^7e>uCf_{eq z_i?But|ZqVr0v6dGY*M*5Y!SdfqvRV1{MG$&#RiHc2oW=?zp$Znc%Y$+Rn6dLPgP- zibnN5SeSdtWxY7bn-oe9R6cC6zz&^yH@4S{O4Y!!zVWgP7<6_^$w~1SG>F1tb8>WA zX1wr58JZHy1h*z-G5c!0eVNyd1-zup13K#SfE~?P;`oOT?-g(n478t2~_Gmrw%o<{pjOW%K7{W zwqJelLo&@C{{Sd7A7XCri>{KWns$y9TkV$8lEw>Z9o(D2=&CVS18-=SEkx$wW|=ez z0!kRRi%}hWLa1X?J@8?Mnm}uek)5F@Nm+C*G_)#u4KY$Z|KV6b#XS$y{rB4|_Dt7A zdsH<3>yGl~9e*WJL2=LgFvS+n|rDMd5K9)fu`iv^U>5ztd}5kw_hzNXO0x&J0on zH_sV#jzek#5yMsGVk5W7q&CEA9%|?WEXu@%wtEdLX_$oRwk4w?LvQbqo*Fby4|`}q zEUQRR`6@Fac8wy<8^u^yLCVM-$p5G5+vA$5|Nn6h*)i~3uHlf zVWNGryf790AerDC*Ujy4DJh$qh>6Pobgmd-cknusX{{(CjNmzmVMgK= z3xF=-z;oQg*LFo13EE=~->0dDW`FU%x3$Iaa@x*QTiD02z{b}EKa{@{Ab#&J&;Crm zQ!&|#s9L>e8B}Aw*OgAKw?^;0;kq_-K{)$9*4Z4ayGCAY`1I;xGj$33z`+BTGLZ#2 zP_E8f7#HVC@pXzBR)%o@_p|#wODZ3I{9bj{MJ>_&WwK;n9-T%Dt{GcKbDG8kg-EGM zh2Ai94(t$9vK<>f_9opYYeQv7n`b2+1OZ@^J40-9Z=TP9_u>W~v1ko*eX_IxRUL^z z^^I=-f0NkLd*0D(+SYx4qP}Yv4o5tCsC$8f9wOszLHziq{|no?mH_bn*{5LeKyp<2 z#29_8t@PzQPbY|IF40K&ipnGNa%d()&>+y*u0_Uac4gdm-n@Ps4rBW>EW5vA*HXly zib2ZT*hk>`B}E{r}xdH=cS6 z0PmcuZKeFUwcC;7N8cEJc~ivg=4E{$#||8Nuk79K4d1@|&QVLMSn9;PaYS*s+emf~ z|Jbs8nw*P&AYVL>LkMN~`G2CqMBvrGDYqZMXBgTP$gKOk&6>So680pA`cO6;_VlLp zr+bz6Z@rNL^H(ZyQMvLLyKi>K9pPVxy{!p0Yy@fY_YyoQI+)H(H#`ea2?MY0p$f(-k_4#9Q&k4+yWO`_k~U+%2)rmVaF zcFOJR_4k*a?DD-BANTOL+f(a8j?fR0!p)|6OXndr-~UWKVxGx+ghQ zO)W~_%YHYGePR{P<%E&Equc_*#K<_Dkh zafVvWea)GCk-gq>UGuF7+#W?Tk$>YoW68-)SXq%;JxokH zz;5egCm8?}Yi^cArmBtowLi{iTGF9bd*Nya8FFEP7MYr_D5Iep#h(wK#64-8kq#K>~nmePA5RDW@p)4%g_4 z$fK2~B3u~+vIrJGFD@z1%b|~(+c^*ykU;V)QOq~0fx!bg8`Z1Ua6;@9)ubn`s~CLW zTi!v2ns;S+-kS*zhj|g4l}t_P#@;lK8v+bb9A`6K7-B{otY}rpnMThL9ZT$f$mjL7O)1mOaop?oJ6v2^_(K%viMDKE8f|BUls zGiBwYSt5-O_mE?o=ceFNmTe$G6v?-kwOe(}DE@g!w~P`e4fGc9TFuHfsBU)zJzKqM zjfi7|8&N2g>k+;EIu+_tEHI(To#Al{vnw=7h9Sk@cJxcShe+L+0&Af?%5*X{Tn|cT z;F8*+2|?{~=~{WVV-Wd<0N#TdGNzR6+#-c>2)l}!2+;A9R;*|((&EF$W1J_?=-mOK`AjO_GxAS5-v`~vwAZ7EpB%vRw+v~DARjS zr%X+Fn$J$OLy~DUE@Lp;I0@D%_e%jE2nIs}?#@IIZB9nV=r4F8tux-#Hl453+rjV> zO!CBHMdc(RrUeo#lEbSM-lcB7mJfnCh2(VYwhv(qe3QKAZ?{`lT)p1Seh4!UR08n`xt z88v%Xb{N4=0f2Dsc4EjhcpzFm7t8nZw7~$7I-W+2WSA6vgUr>;@3g9(EjT)aas%iY zj3y{<_j=*`cks0{?U9OwxDOzDso3owWo-1W%I#jw>#=nJ>r(zwQn*}hd*QLj-uNoP z41;uSJHTVv>cip49(I|>Qsw$SnNCjI?#icc$r7A@9X>@0C+=qf` zG_(+9WE$1#wfjyT;q*)s%q>R6vAhI~+pBq$X?gg&AIxFTb|2x%_9**&q?>$A)Y@E+ z0Fjyc=p!jA@TO-&9ERIpRi9`NEJyxT4yDb@9nI1H!yzwV_e%JBX`4Y^od7{o&9?%< z`^Pp-hVJ`tg-uKH(pVpHgm;tqsJ36&T?WPq4xr4@F zHRFgNTWbc>(n#SxgpnfkP}5ti8=yHj_ViZagy+3}?%1P@2MbWhEuDoZ7W;TSv}9n; z6pgUx6@idGV(K@@#I)`xV8lRutB3p1QI(HImwN=*=UV8e3@m%Oe=Z3|eQrN7xRIX} zWCX%F%$OBAhEL-SmkBc>rilGgk{Vm~f|Nhc1T8{R!J!};LvEAltrm$xH7D{_6xryo zljlYHD?3Po$T7s5^tY#m@0~x!Dsz!eg?nyLtIucjs~r0u_>Lq?D34@Gw-lO_Rm_Nb z(E1J;>NSb3#FCZ}nV7FPJAf=CKfFoHMwL^9sR?s|fxRmWYqoOJ-$T08j>B|QaEZ4?qx_-Ra)9 z1vhVgrx6dT22NLz)g{biHJ^2&Iz53Tv~>&oOsX`d55;?cXlcmHXkpmL6>QZ;(r*8O zM1?$gKp;UB^v=6cG$WI4Y#e_erZXeA?3)r~wbRCx5bS4_kM#E2kYf|Nsi{{D>6WP} z{nYlew816ze^r8smYFR!NwS*a$<*TDP)g{#`K^;~B8zfibptzvv-TV;!t#-1f?Qk{ zrSrcj-k#L|9M^)Bm%(#}sT~-?oo0$O-E5S-eJAuUx52}Sy7hFsKU2V$LqrHHr#GT+ z8~cbbI>C<##p}p5pNuV_oEt}Vc0fF%qny+&qE?ft`jb)7D&7PvBR5h6wF7P;p6nGN zXiUDA(srCHn8)_%*Q+Q4TTJ;73Zgs7J|jZ>C|iNc(LDA$^2D1td*c`r5VfOV2G$+% z@N_bv06FPkWVbU#x#n1-E8783oLNg|ohw&VFjwOyTAiQ-e-h`gO<|f>X0eGd4qBVX zmwrt#^$D?$Fw%%EzGMKV!i?+*>44x~e=`&ZX`=jTi?nXZfX&NuW1!K@NcwCFo?7b+ zmluxlpCW9P)tG?PR<#0>6qw(!O=fd{b4<}iv=)AmK{q4ZQY<^_ zwzZDimkU7)BR%Uoi}$XX8%6@D=6%rcF(biy_mNjz7VUp)A5asuTV4KOc34GjK;i3$ z^-K2oNy^nrVJ_j&FQnm-JXS`A^nb7GGyaE#cs;x(*hd18;$KQ5Z* z%5no>-#UC^ptz*fNOwC%D21eHlytAef~s^D1s~NgBf7YMX)b;2Jp?+J^aoK>5sF9d zX}75+h*?8SW3!C)sx&tGQv7r~jqLX0&rsK=H?mEa@I;$^y0QZ{KL(;$1#iwA%MPFM ziZuy_6Sz?Fx1K1QM=FY%y;lGf-g*vqom7y*>KkO^R*JW*IYLaja&5x7wZOt@@zMx1H@u1SAI3x3 zl~fj$MP|S5v-}Y1E4Mz7V_*9r3?7^&LhppTVcOp_?Reo*$9|6czc&D)U@4PCjd-b6 zeh))9Q>?n(nbR1oewI?UajOqAK}f9TE5)~jZvOG`37tY{lxeSw&-4)LaaO4-kQte* zLSRj|88j9QV2kJl+E@~tco}A0ALaC5thkAJIEOZ^9lDE`D$C97?2X1LXGPCsc)lVY zYcPe9#B1x2$zlDZUe9s;$9Qr+g915S#9Be}*w&DJy9X68S{Wb6Hd2~s3s5>+W^^S_ zS$gHHy*?c+|u^mLgZP`x*S? zpAK@bY1_YNzO~C`H7;9GlqhRE{852zo$I}!cQ*SUeQU5(vF?|o?UAj+=+e%Mmfvo< zGg#DmUED9fO=moOM7}Oa?RQ-LNOiD&zbLcU{pMrK-P~v5AH;VIzlHuD_F#uI)wOFj z%(LiT_m6Poygnz@d~s)G=niZ8w-e-vTU(8?CA&WQw!S&kdaQ{rto?F&`TPpS)6XAh z4^?mfV*3tn0?*J$Cyfjmm#3&U8uRhQ&Mn>X~nUsV#Fmb#eb_me~WKTLEY>2uuroLK%zt0jJzC8LT)* z+FJ8<9`W*czcQvfHW$>I<-aUVKcjwej{2sHv>~|p1l97{DH;}cef_C<{^9x37QeD` zIKptreVM~Q=AYth#?Q%ZF$IR6j878mucr><8s5*rOCM`X#%R<(3tN2O)~u*|(%kg! zjYqqFdGu`dQs#S>^wLwG>9|e(Nu?oX^veTKT$L2ty-{Fe8*MH`L&Owg2wcf5B`gmM zrnlfPjL)Rh51qg8U7y=Wzx)+`yAPTK3b!8p6zuSXMM&%XxbZ7P9H861gR|iA#*W8p?!8k!nQ-B)M}NB# zcCp<}xB|K{u$^G)r>eKdpzCzU#zd0~mYWnrRodANYPCs?x_8apuinwmdGinx>c$J$ zYo%wl-Pr%vKgx>_ADP`JzWM8Z*+sM7dG+rvBgGez8D~mwWL-$kByG#u=3L6#a4y`=(VtSXwk5T>rf@|MHdm%9~bg{?p|P0+3}-5AA*Qb87g{T5D48^8etqJs%$Z z0?S_V>vbJ^FnjKuOMhLu?JUhI-Mryoc53#ax7xB(vJWy2GOHd{T07_7t-GgPyCnAB z`fshj<%^@ln;gPj*^l+aci5Ne;5=)b2^xWXFZjyc=tW0WHyB<}ih#{KKE_LYYtE61 z;FIeppMDca$nPPU4%0(%|5SC5lGWhbPiq-Pwsu?)3n1IlL*$m=9yJ)LiR}cQ?i6#T zT#;jbAP@;;>232Q(uN=}GnWvm0hX@mI*r=pfvZLC@gkoExWz$)i%{Qa*Kf38q!rB~tMqRza}=g{6Ya=3V2BE!JeHXhefkTBC}dOJ`7S;B?>_qw;j_a8B}&lmYY;lp74HseRFDL z@_@rL3Bpb8-bFH)c^AydTfBvNZy>+ zrb+uuqp?Dtz7*9J=EX;HQemF}RCOxN#>vRdyiuPC*+xIG&?en0)<(w!LUxv|6^P-+ zdrb(jb>O`jgqv-g@|%pIb`ZPB$b~y^5_+gw#f-TFCJ|e69ijbXm?79r)vP+)L`$I| z)FXYYn!LM$eGVGg^cXGaI5WJ%0gWKF%RK4>A|<<^{8mox)B+vE-y+ zpG4rWcrJ!yajj0KkSCYs-dXXf|F+OVgNoaB9cR&Bn`7gk`c0)95ap(}5J84E24d9u zrz*R1A*@h-82m=4UcpXjj>Y>4IL6sJ@4UgVDwHEB9`DLPP|+KpM}7zpFq00E_e=U4 zDghBF)F#a@cWCz#jTp5{?&rjX%Tt0nwKML_@eTQ~yup__U^mQMKE{RBgp%XEtTId! zJufu|-vjoM6XX3C2qouzv@|1Ql7}*~j6JiNPZzUqL<*s)gJsrN=Mf&77GTR)29s~* z>%yT-c#&$x+kl`B6P!&y4IMUbaqROF0v zUQlxju;$s9=4%7#<7j=TUIV!^j)0!r_66fwF%Q&V-fzd_WvITvov5qvz=feF-9?3O z_!TCaCc3fPoyYXv9M12dsw^&|dOe+;-vMH)BK!Cs0DmaCx|z*Xoxf6lJ=}%ml51kj zCBl~#7MORGCahzJ* zmPY~~=@DjAQ>0Yk!Ohv{-=<7NP2L=418&a|`V2UlOPj#FJ3 ztrj;A2zj5ZiD_Y#7s@5@LE_?A`ScMIl)Z?8RdFLFxF9Yhxt=x%vuJYNX5V27*u+H6p{UtQ<0VC{Lz#u{5ZG;XFk+{YO zKG949yGM{U2&$kh($$1L`8rsKkTUh|k<~bJCs@gk0vP0IT8Q(Vg&RRsW~tD2CyXQ# z4BGKf$Qwfh_R3|sQE?$DGIR=}uOgj;kF>$EE{imh;&RxRCK*| zM(;}4_+dc+H6yFS%A`Tfnoy@xCavaNaB4RSP4)oXSON`A|C6Yddk=IPJw}F+d;{BA zqNwd~0^kqUsMncyad^j5{(w+QcZ0jcfllm}k5n-rmfM+ggPa~n2kh}zdcWK(I9d^` zhFuASoP6^J_Y5Sn4a}JX;ncf<+iPS-fGboeQ+pW$c|8ug^76I&GFzY%ba;u(dC{!C zN*PBF7=g`mIQ9F8 z&GFtyL^ktJeo?x%ANHg52_i5}^Ri!Ove`B%Tj{8PG`7A>g2Je)7uVsQ@=DqTen_!i zS|`u8fU8iO-SQygZWsUodbjevMC#9kxarBbW?qX0T@FjcoR>A|jX{AQW$mxOUz){? z(2wHah$@~rk^_>*P)#7EqMFDbH{S^&pWf$ig9jp=IXkQFnlPB^yExHv;x0N`O&95` zMhA0&sl0+!)Eq~5?{@nbG}MAqxAurowhGQJbxZXrCgDXgQPA|=@Pi`C_sGC*B~L7(_K)tKz|~BWCuu~BMLMADgB|^> z3J+T$myaf~3Pka@ZIUPOQi4T7dp)S z)O z(&=Dfe_LXLt6}uJ6?W(UkXn4^}CK}o(6tN+T@ zjr{O}>S#t?VhS+Al27HDU0D`j;IAmPdPGf%d;qmS4w#f%C4jy(L zr8;d{PYT1QZ;A+>g?KnZtMQQS0rV4qZ#8bfN^^`JrR5X&Ar=UybsOuiQ~}`tLHjbx z*{@VUZH7L_{ahx`3vV$owMXW0Aj37PmuH?b;-wX!Zy|CLR^p8MAhTW_Oi^fxV*0jb z75LBBB5HMTLlBAB_xe`t#|um3_=0)jChg9VJl46`L0+qo%;t=)3gd+Q;5qYHQ}kz~ z7vghf3hJrhq!B+U&pv*NuZ1nOGjPq_fW(lJyNu#izttbVdE3T`_;qtky6=V%-N2@Z z%GEK88CU->2YfOWS@SdF@2X=D=kIS&41a#;(53O=GY5bC<;Qc2mkD?5II!rS8;y-+ zy~~6-iPehFq$`tC$y+o%+pvXjJ{IOG2P<;IoX@U~(u2c6`d_OoA zPudpAy^VY)*!6pSfZ?^r?{82p%-Q=SiF#~h=fy7*>t&L}obb^bwVh$1Wc|UYR73d= zY?+EP)=zvs&w&=^|H|sBBH!erWGsv125tA9-TO1vP z!>OuQ6QWn+oK)4wSd!=~O_wk?tnomh8;Xx$e-ffh^5)aE;wJ0wxK9-^K_q|TpQ0j? zO=9#dkv=0y3Kd325P8N82^r@jqzMFmpA(Acw-tpdCj7=7JKPSRz5%?Jy1LV`$D*Zf zVa5d?=Ozr8^2Y>=T-Z_T@r}6nF;Qf(JcZoi0ME|T&Cj}?VRcV^lS4>_sI7I3li;6= zzZi@U@{h(Xx*2>qI5p%50I3J2R;yr?dGET^$T*clADojDk}om7$)T^1oSJhciM6v> zachpx;8f%ky+s?Xu9|&k?Zby(-mLxk@v|E9jfW2_?Y8Ec=GmJ`Ug6&lH@b;2vVmhX zUFl|5KZYCoFq*)O1T8ta5salHQV6bOv?_zrwlKdR-f^aW(s1J0tp-o(in1D%E!m4*lM+HzX_1)_Rlu(J zd~vkz6#ZGH$RB}p4&BR0m|653SDN7ry>x5B^~*uE^3kDJWs`TU>inYzCvUckSGm%y zZ~e{+o?LpH=xg~vL9xmTJlu-M2PmPF?M-{$klNPYw;zgK8TM<~8+!xazH;b%P;kSs z_(T63+h+RIr&vOg_!;qU3N+s&^&)>8uR|9YshudZx| z=TFU{30Ela5jFu9GwHgPIhpM&ccteJkw42#dor0KsWU0Jxl*igv2~fBS&413pf_*5 zCU|o8yYVM|YkxdjHxb~<+VJhKo(<*Zr6))s+orOw8!{cj?WkuueZq6;TB%5gv{7H3 z^d|<_Xjx4}8wvUE|6&t(`r!V2iAnCz9{p5ZkVBGIFqz-l$4}b4v41~~OVV(4RIo76k-pAAfuS|)c4wK$ zsl@t(bJJwZe%Cb+=6Qyk;bJ5-MH#YEhT8jQ`YUL)W?EXkKHaPv_p=rWj_K$>KA z^Ydr0&)MJE@oX>OK$XF=T#Kt4kSMRR}~M0)q&f3lnRw+CGxMH%@nv+95~Wqkz$CScl>K zh&lfu4@OPROpSJoUXItO>eWD0)8Opmk}{;N5y~g&>gZ>Yi6v&aodhO{n{z$k6RjIh ziOp_%Ab41*lFnK3R{HQ!I%9XnQ?@@xl@PV%$h^oB=_A6r_Ic4>=;2FF%?q~}$ksl= zpfi}9Tcu?fi(SSBh62nwuAaxupU_jvX0z{v4PiV<53XGxAd0;=Y~b0;T$Ky?21bZ- zae=_C0ToQuUHX6Wu$$Q4 zf@s==_Qf5|WCh6Gv;Hm%#*0^~DTXexi0%>YL+ihSI^in3qHTLRE37zl-PjTKe{#uK znR|AN97Z(h+9{{${&~*sieOdDjQHzWH?O225Fe^e?D5i#$}~^U9B(+3RiL8N$kr!9 zhsWls^kmuEuYmzE7D=^PB*~9U0UgQ(M-3l=moE_^-87?~+=5$9>`A5=RS5!P^`;e& z%nNU2$d)2cgJm& z$ab?-Kr~uS))~ldq}YLF6!uJ`AXJ>3u#fb_oA6-2&qgV44#mCjnzFdvhlzpZ zz9z;ixt*3CYkudmNPpV+qc*uomd@pvTzpqufk+hVKcC&zNRb~&NZnQwQrzFXCQ6z^ zN`XmlUKqdM19?-x`3##0mFbjSdh47Ls8wg+5u7V7K7}YZBJV~?HS2LZ@n~>95GmPz zE|C~jRc~lD8tTxvUIWY?kqtWTCctSLDlH13?E&zs-6>M<9UMs{x(T2Kj9a}hCv_)ckq^)jwaaTw>n8t{h%!*}B|8RiWr$!gF~T3WT>!rSA~ zREw48EPC5Kfz>_TGH7*6?B#PQ1{lA=mRVPL(S%E3VRCrf_l?I1PsSkvNhqSZv;WKH zawo@Uvcci!Q$MHK(66cu*V`G14uH5ECX!P9y*H$1)Wg`s6%T^lL2LXU4Jlpt6oKWigT9FMRkNgi_+FN zn5<%5h`2f93^e6S0Fe4SH_$xehT1JgG1Iwx?>Ap#&O0v-B)% zab~0&Hh)H89PuqgF2Dk^ z(HTz>#|Dz$Rodisk(ciX_7v;h38g|Orysynm&aohXxjRn86Zq3Z;!gC7)hRD4Il~# zpn73rR6i1Wo!=+DZLIfAp(wk+$i5KVw@OeAd4|lqkqFdbxGQ+bmV4+?qFzTXnlV4c zeNEApcnP|4XbeL2bK~$OW>{tJ(IE0M7?R`m!Cg!b14ZnKm#r*cKG-uSj|sVgM(Rn2 zvH38`haoM8lL6@OJ_DKPe4IsjF=RFi%lW4SdO^6->rt>lWj}J|sjTJ_g~6MqGO+p} zwW!|LI#GhADZUnyitx(x=eW&)or&ShOy^8ac)T;^>`DS2Jdc1L6fdX7bZ8Nsx_Wig z>}GyGTwhYr#SFWyJZ z0{UzPp{9eBO)x9+fHPwc3@x{}uYo{S2G5S;+AJ`1j(mY*;Gtu3C1MCV1BT#`IsuG; z9*pZ1{A=XjqwUW1{p#lRRrcu(+qAd$~Eg5?!gQb zMNxj7?i{gVIS>l*OhiwJWpSVA9?S{^_U=_jkekX66NqH39#Ye;;ezO9i#yw5(5Y>> zP*osSCMCp-3I-|k%9&>6F&H-MlzUU#R62bSy!sxW^+1+^xGT*cB~wO^U>5jynN`MM zIb@aj8W`F6I$e)pxnY2>R~k}{@!fr%Mcg9dHeZplQZMAt2%jQd0Np2hn~ zyNS2$T2co4q}I5L_zfcnM!K$wHpSe@&|~kx`gZlVN8Xhc9er~U8U*uFY`K;F-L>(A zjC!42MEFRzyiwD4ZQ0-Fl8-&SzkoDybMA?xkKIMiQ13TLs>ZdF2=45IvZt++!=MSp z-b}x`%T;lETkNJV=nC36#DPsu;)j*rVykmPFHb&}y|Vbn9lPq!V;bI))W@&i%PiYe z@msnbg+e?Q+DRBX|4;3DQ-AEMTl8a3s{jO?=U3i16 z+eMv|!zj34TH49u4QpO2&-KLp62JF;r2i=a``r@<4~nLBDb*)-?PN!Q;Pz|oWE$(l z?38+h_Ua=Ai*(s^}Ppr7EcQg)uu$}Wgwl?PGD__2^ z&KyFEbkA6?D?iiUrv`ihz<9@xYkUGnN))1b(RjH~%99LNcA5&iMZ_4X!Zl5%(+9PO zD%7k2n>)if7PUm=9KCe?(d@NsFrH>yx6JJFxZTIa4ce(`PuvsvBE{>4HR#Tf*(W!l z0`8-PYd7O1ulWhA`3>0}(?Knx%uhxS8A+0iRwrPDhFZR2@TK=BRNe5T*;6*`X85P@ zr^V=$TX;Q6$&03s&8Lwl-cLH)V_Ag+=>a>+X=?Gi zqOOrNJqQlrA$-|Jn|UMb``r7+!^>)ON4&UT6*D0xXk2$8dGX=K7N%?DRGc`Xq$QM4 zj%F{c2-!CWNILFfDa5nVx>NoAiGjX;$>8n(zT%U>z==L%{@2c|8~2!((rxu=*Xy_J z5M^!;>)e5aS~I^KKeaDen#XS^UNM7GC|hj5I5!5ped2@XL~ z0v>>#r+5z}ZvVmJ9_KUvoA!RyCb3s-+Wjc>uN?=cxAlwi7DKYTPDc+84uWCGXim^S zr%9#<#WA$t&>%*pNv4|-hwP!7mitE*9ElEP9*&LB(tUfb zV#85{nBxK`3|A(eB5n2x&1j^|otf6urMDgQP01=S#9uzv-EVxiFg0-ATN5vTu{~#O zw5NJ0r#@X6L9t* zYpr!#VYMrC_T$H`Z`64&V8n-JH~aXtWe<#**Vv1Xey}$A_vg5Pr|ZrpE4YjP)(&5M zx@QNOc*pIxZ~ZS-k9zNY+57m>R)JxYBYRZ$@))!ku5`@{liU@7hU^gO+2u|<8!bT- zTs626WunvzMU2G?0|11F43={z)7hSY53mK#aql+{n?1hIadpa;O{)h6RPE|K_y2xT zzb~t7YrH=(9QS+QjtNrE!lC-D@2f68Y#UblrjC75(*E1!|FRdo_Fl%~kCIQVcxU$Z z?$Iw2?(h0z{gY*HGpzw(>P)y_Br z?m4tm05hiH2I1N@>DAW?SH|*A9|IG3+9C4_4_uA88t6 zUx1l>1-`~jiHE1bQyBBdH)vUBO)3lOvOdgvMNvrRz(wG)QtY&bqqBkv&ojH+WYz@& zz5nq5e}ko;;E8}xSSX9PPV~F8JgK=T`EndIhaNAjT&(P}nsoJ{#g7Yh3XukNxbL}f zO--O` zJ4qmya;oWYk525gO0Uyj9s~B+TAUIHxF8-b+D=EQm>Lq0>A~eyco@Os%~FUEM3gXH zw*e8Gvkq;du9Lz+sN~wDb%|Q&?i$^jeV~^5CzVcaG<%7O*kS*;WXTAXYqjV#y1+ZD zf~wS|L;~%*O{3PY-A8=lD)HEq7O)zC?nXzS zrfD@*t3nmT`gJY`mQxXo8_8zyrI98ZwWx`FgvgBBD1^`bqLY2rr$@F``43xb$$u;@ zQU{V!`Y=VIUKLoyNH!QWh_-=RMvl|#>x~MH%yb8blPu0LN+YvD%}l&66aTy1-#sQl z95=y}loxNtkPh&{mI@#SUT1ZdTYHw6JG{9TOSHDe1ZLPRo_REe!`+jR%g7jS!AZk= z1b$QONE|UeQJ&RlnwfRF!E4AZz^Fq%^Np99q-!mMla9A$Ec z=LSy+UqM=AqSAs9%>4vS`u0?9vtU+{Lovz)S(XhgEO<){IkHpCyol4Pf|xHHuenLI zDvYZKpbFzFUV>mnI2P>YK7_sg--5dZo;SVsqWgAI~M=#U_cJStFqq(K2G~CEY3U%Wo-|S8<2jGM$1t&gbHIuCh zZC=W}Vbnah<#VtY!7vRmKGk4!`Q@r7rP~6-UVARaGX9ZYBQQ-8rZn9lCB8n7j z_9;=?iuFAJ_9fgZJ{}>}YKHO+y2%cvuy>M>B#HtSo)&r1J~xzX)5{W=ycx-?7)MAT zd?mE%$b8q}J@koVVxpU8&hJ3ylwPzHM9!MZwILY{tS*JElTfuyKA8hP7OB=@aX_+) z`FA)Y*d~W5RJxK*UM-5NjoL@Ow8|tWw!mEGD?tW;u5*3GY-PO(6TVKQ!E6e#8Qh^8 zZIEDPRI_DY;-ZXTg{5bk)B!0v4_J?zE|8G*Oo0vN;^tzvXdzBblC@dUYT;~lIi5bc zz&Hu?S<3+b)JiZqKHEW?cz^{Q27d}EtE|y06!?F<3U7dCrI5>#PUFs*D32dd_23{? zs;C4?xLySb**@dZ;|fuZ7S02`drP*~h#}N!(c}RigsW23b9LpnLAA82}NXzs?ptRMU7rKSEec)S~XG|nPs-D2X?l?$sGHlRi;8M?DW{q|2yi$t&=O7n6&ns zaXt0J*hs~J2^3((U&X9*%&5JkvL`bRQ#HH8v{o(#Czcn?Al%m@JpD`x-h6TaI(3Jj zI%-uAbRm8clF&<2`T0ndTW6F>!{^saHGNV@EP8Rm0Wo}RjtuG2RRhd}2x#NbWzx+G zqnbXk?v*CDDG*p__dTiG{8*oj_;g47K5Nra%CK|WdcCjRWZulfj|xnhA@`Qm9W6NE zDZ@_1u1W}AKrM@?41f274R85M_7~)R@ki|!KfY9c<$o z`GEMXUKXiymU)!$m)}yNwaeK3mZ!~d$#j~~xZ-Uk2eNrrU( zp1AX=UnHL(58%BYLp%8vGWa0uVUe?`anf|h&>zI$%&x$?OAqb;dAloVmUCS1Jns6j zvg7x}*NTUB?Y*DV9B`oY@~W-FM6y}uI(g^q2(x%zV_jp>7lpG>FBW_SH^aW1?OAf> z5K-&qeq-{Mvk!Q~lgpafNB3OTITmjHug?*HZ%t18uJK8IGwt0=b!YcC-1j8@nw!{`Ih_8wt77w+iQBAjD|71S zOWikz-`TKP6CUze@rH#bu3h?-y(upmKS=|&G5N~GgnVBhoyM@rGpTBdO7`a#;C|C4 z^foQ5@%WHaf4>#>k&kkt(ascPcE^u9LIXQJUKkxfY%eY=GJC>KQiM-*P`sD;s5^p;TEkU)nMi$5{vuz)e+Fptf<^OFYr|yzkAySvXptXwVkgB*mCWmXUTf^HI?Y8 zq3qhy{rZo8y8dXfElHCz_yA9yj5bM1($etd}{wPjynhf!56m;>lFHL*BeZalew zd}Kao0t5dj`D3t9`_-aN@5tu}PjZ504$t=mTmBGhOZ%oek+J{MuhaLqD)EnxvLdx&z2-ynp@DGl9mfkD3ZaUI2b0!N+Lmr0I5o9X!Lv795k^LuFRpYQf7DTa9> zJ-9w7BzwC2HzV$1>*yyau251C-4e`ewe)_!BmEt0$5@lekp9=rB)tXOuQs%DZ@p5Os_694SRw7UA+EnedSQ$D8P!(5b{_A|~fj zguwr-@4T5dMx?i_1GD>RFvt`yZw%5 zv(R7;e6~I5@wWO?x=FydDMifHe6B=U|AFU~C~SdxHg~6m^_JDpn&FDK7H+epD2?2w z&vE?JNwj_X#@C8u^13^(@2XXb2E!=3HoW!At|V7~tNYodw-5ZM@Y8D@ncg4Kjf4A) zYCTo4av(xt^NLs+ZsJBE?0X)(=b;AXY_7E>&VO8M-0JU;eJCYoiSyRv|1~x!^lcwp zO$9av_Fn(Pc3D`7w`BO8&x}Kw@AiKe(EjePN7IL9`)A_ZVaG14`JU(L^62!ijopioF6KWoRA!d-U4WrEoUg2Eh|!Ukg-XQN!o&8bgHxL!FU z_2;9kI%#VC>YQ8n8r5;uYdf^d)N=`Q)5AVW5I`iaMj^PeT}JlT`VeeFN4ZNI?uVNEN!u6NG+1=@KUh6kW(-|yhG z`NZS$6a_SL>kV+rY}pIll~L zOK(NJz44r1$R=*g)$kui*X@>>{`swqpZ>=2e;x|Ap{p`|uj~9W=h5$xl55{D)EDGb zJvj(;#%u$Ig9TbcO@QA_wZZ%iZ}6qI8SEioj#i3W(&vP)kBY3*jV`g1K@rckxOY?4 z_6aCqxa}v2Ti96ed zAF=7L^NMF=m#FY4)nE!p!kQm|8=qkUDTBphG-pWxsFr{&#usC|TQPJpSdt>vth(+Ai0H#im9HF{mafLEc0N8ns8xFT@ z0DiUS6b?noD^b4PG=+B)dqFo{Z&VG0FQA+ID8dxo14O>Xi*zHX@neEcgS1JbjDh9b zdS?aZ>F=QLM5ii%BF*)R#nq(-J6V$i5zhT9q^pTA;5^B34T{+(U`*%Dl`s#}rj50c z$pC}QtO(cjd$3Q9dI+Vx1$FtV`IZNQj9_J((q@S!0N@jY35*JHU4>q!?0XT1vz}8$ z05O~gI}1+R0EPW+WFmgOCP}8LZ#K*0=G&k3#F#>Z#>5R4DdLa(unJ92RO+Xgi2Lum zxX^Vv8A`C3$0aZ@(*=1E<;+A6JqYJ7nhDYdUuN<#dH~4><=AEbQt6okR53O>LR35E zVe4DnCkDcZ{2{z`RdZ=OFb7{X#KGgh=$sx+}Qre2u|<6*+h zkT>9q(I%Atn$^|jOIOpF;A~-z<2ou>tw*q9o05QXFLv+&=*Ffq#c|0=rnsHE~OjE|A*8uU(Q6l~QR zYs@sY2^2V4>#99&=B+!mOvADkn%5MGQSotntg>+kG)tQnf-`FNxTUw%15@x-qW6|q zc!!b-1Pu`tAAo>|)BXAXS!b>NJLl}P_qX@=eeyO9rvg8U<~45R?GiY17tI!B+hMk<2)*A+3R3Us|~8#iEx}!jC3YslHH!)0~hiSrx<&AF^56+ z7{=2CC?)^srX&PSdbxZPMYD3Y5f#z&&KLm);fcX8gNHT%8V=$5V)fN*<(Q;FeIUtW(WEShl)`^H^9CE+x zY_Wyn%cDvF)ZM=rj=8jm{sxUL;hO@6nHC4rwlGQM04XI=iyhep9JrEk??Gz^TBasq z6rla`q;({tJiMN1?t^jQ4HPWhK3r5Jf%>ftC{|=KE@1j-owaUN6I3jCcK6@0s)cp! z$qT^qZh~Yym}e9LT?B_C2fc)0n-s{L9W2S1oF4FzP7vz_D*p(ObQ@Z7Zja7$oI{EF z3aCZwj)G6aa)*oSBCtL#%1_7b2d%~|%WT#Y_kq3rKWmE7TWoL$0El_dPk`i#VOTWV zy-c%}+v0hR9N;_Et7>k!6PXPxoPorR=-5y^H$NY2rH~rQ`c})BsM*^I;W~odxML^{ z?GR{0XO!<z?O!VdMr&1b_ZLt==|ESD)Tmh!*Osz?#X3xNI-X)tR=0HF>;#RqVAKAUu8su1Ou zKs$Vb4xgAOF#D(Zie>JWbs{T80OEmhb*(G(R@ZPH!=LT@ulksS7Or2XkioM$5d1rMVj!h@N8qJ6x{im|;z{L&wN?-jiI?x^obYJG42qQCR{)ui;Pnl@C0yUx2v|hdM{$d@n|&x&zvu%LAhBSSC!nL!Z{Y4* zXz+`4&<>BJTeU;x8(!D)NBPB~l{1#SrbPaafth~Dfj`41GCuD7i9Bx0$linLbM?T_ zoR}I1^_vXt-b%wzuQat3teqoHZ`S5}TsaOf%T)Du7f$c~_jPSZ)91Kyhx_R@wj`E2 zul=&LLG!C6e!dp&_(_;a50c~~o&7nI7lzJp=OyU1n?~LRUjsuRMn%djH07LywV8dU zO|g^Zpm1B+u|^y0M^|Clu78U|*EnfbRrFKe4y8l#=Gx7UQH;c9BtWh=uYxang+ip+JE7L9j`D5N}xW5*I6{f!^V5o^l5H`a6I5)ZdXO8pJ5?FU=%|WH<4u-aNYCAZ#uiz)! z{UdaS{Di*2#u&xe)N{4bA&L9vnypuAdbN8h{<+(`=KD?P+S#!YHosTx8s|Rw?xfmw ztmoT{ovtA~U83aNx;@jy7%!J%5+=)o)aCY^-aLQdrrX_qqawgC8Br1&i}e}hC-wUH zMdRWbDOeP}P8l8)O_N%}H_Ko8`KY`!V;Q*7Gh!a1dsN(KBUZFLrDi|wk( z)a`9CskrP$9r=@aNvv5@)vYhZ#~tRhgMu-~ei=ces0bPcx@$VIh8RB}+s|e2a<^cP zdW4ent<<)u=&)hVYU;f`+n`*Qsth$XAFCEv`mq(E_4BMj>^={dZkOoDoH1fgjnz&K zLSfp2Bke1V>1YxCi}WkTe+Sts$|#0+hB9r!nAiA3G82KW0wh)jtmbqr2h#$Ft@11m z5%?HQ#rREp6#KX89>w}lWz<1WV`U!6d*I=-QyFkvdkg!^E*XW;D`2?uWp1<3tvlCa zy+|{hwb?6lKJt2_s5yMoQIh!0Hf7J*d#05i1K~ByJ50AY8yf!_Cz^TMzSh9;_7`=ZrZKOVo#8V$?4B`r-eXTeW@w literal 395057 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 khgKf_ zww!;dxvub5W%&!DblE;)^OJA4DwBu0o;>kW)vZ=WH`J#S#&c3QY@Fm7ya(gN{Q|oZ zUY`mvEeC7CODad6`Pjc)Kxa33d<5@j6}(>O&BA-hL>oJxYy|GS~;;1gnj~r~QlZ5s!p*lZ~G)g2t0!D!x4f=mswRq*kSa`*q-;|#fzMbn9^r;fgf*?uAT@|LFMNdG*6 z$3jmQdXwKj{T`^IKdXg$nI(?LtX}2Drg0>kl6Jq=xy+Q})L(bOe>`=s9i(vghhI8L z+}(3DE$DGX@ZFu|VDPLyoYLce-8KMc91ef<=R9f6JZK}SzMa1Yw! zuCb$doEiBseM|N|i!y|CAUEsH)sJv-f^hq~lodAs(sSzKoHj^N%$1(vBg&?d)Fm&I zzfN6jxs9&%Lse5=UN3E14o;d zXXy^T496^??;lbE!%)BOb^YuvWy9yGez3*j?>oVzC#)P6#T6&3!CWA zy&cwY)r`Zmav*ea?ti(hN2e-;Nk}6V64(mo+&C;O)F=VHBhI$;6l1j6*hfiz+90jD zsSZrNFm+=vO0GG|o7>bZvdkOBqJ?0AKR}GBNr7T4!$QBwrAp*tFheNytk{gl=w^*c zQ0}Rabgc9V5R_mT1n0f$aaD%-JQ~;K>h>=9!8k$6swyR}?ZQ}PbwDs&j98m0%CSo* zTRno&&*xg^cHwpl^KedX6`iNOESNovIA^FixXRt{K<_H0Lk>bZ_obTzgv2WlZP-|A zCnkCS>Rzb|oWa$#`)64-CEn8a)lo;K_39eHNHsu=(wsoW;i4DThAycxFh-VVZinT? zy1;l<*7mt{3B&Fsv{Qf0x6gD?Xm>{9D)U&6{Tw=;$!|H8IIc1I&XRD9a4=3)%sc;7Q~J%^i; zP=q|2Nuc)%1i2pIq$|&{&0?ZPh?3VzxsPQ7+y_m$7=0`Bm(FKN{a z8#-Fe2j?nNlz~LG$Li$m$2)2Fw%s)-t^CRGVh-oG99EA0FJY-0vR;MCb#`2K?fmAy z&lEiWxvr~xd5@n>{`pVcpZ}_##m{oUShJt>Zr!{W?8hg1=RZjh(>qUo$X~i`-GB1% z&T?<>N0eVHCA;d~7G}cz?wxNrs{b$K!Lg3v_Zwd=Ms4|K%eA*x?q%RG`nNu<%`x&h zxTfq`?}x6gi(bzq2#kOOH@%CPObey1wNLYW8})ZCRk7o&(be+kuae)s4e@{*!PWDI z7>q-v-MopUeJ+@rXfkMt(CpNlKXXV`TUYRs&sy2(R~>MU_>q3X)weF9sbJ@> zi36kpc52Hx-9!U@T1a1G!vI*f%_I3*o1r@%VL}!%Ss2Q-;C!b))JrWA9Xjh zfS4L$%#9C1ta#TYjFxXK64B2ZC}gxnf;1WbxD*O05;ik)HO?Px^9Z8 zS>PNh0=u~{SoX{goPUy(+`n4Auf8YI_XSZFad!~{?{yP~B)50Y`a_IN9ep?_j9h?9 zIqfduXWG$HIHS`$OyH1MXO44LNqK`0-%>0}iq9za?lczqTS1v#Rc^BylEQ(<*s%@vu@W0p8xC;;ho z?a2Z(7E?Uj6VdW?bSS%MJEcTp|JLJIxy19KY#2s%EFxxa#6-=Lgz3_>@kHwA0pduP3}q)c z5gDYaZzcM@mC%kF+bM8-swqb6x)brY5?6=;E5i}&g0%Q|54Z>|dA5U=BF^V!w4n@K zcinaf5!ZW!rJv1nM|8HMNYBA1tyx#hep?it0Jf^vSSqoHxc5NEoO=3XAkh?*wTL=Z zj^%x;-yaiI8M|4|r=Tzp@w_WQ8s7Zl^{JE}(U!(p4UeRyHH1v`7nfX{fp7<+1Ou(H zp(b)4VRx@Akt#pf&wZ`a{B`!C(z|JB|IlPn#9sFPnMjiHh+WQk$JQ2%ble=uMLje| zccd!8;jdk(`dTjkHlu6!KSNJxEOC)+!ymi%YD-tQ*+X#f1VluQbp+V&{QW1Q*q^UW zKTy~F=}#_b(sujjeL0IOv!a?PZcvJSHuXH9hUPd@^fscNQvX8EaDpDb)A^r6icNDip=OXm0&037ZJbi zqs3as9^D)pOEKDP0<%P(uBa&)oU3|5@eojQw6|lPPQUz+%nSaDC3+Aw`?C@O2S9;Z zNsXc7CrQo;m+e*`w`A(I&+w%ynRshkPx;ySS3*g;wQajn+BHKJtKh#CALjG`7EtGz zJTH)zM9~bl2JU~(OH53=S3N^I@EUtNXwjFHR9AGbWso&d%fArU$k7+(!Gi3vS-3~4 zvK*jX>rg9QfR5x?u8u>MER4MXQA5itoPI~HJIi{w`6o}4U8ep z4D)#&OaVUoV!)RE)uVhK+cU4B)cfN5byjS%Q{j2!gJ@jg!3bd-*&x;QqZZROM;psY zeVz#knC)CGN772xbxBwlt`K+*oPdcFU$MGTPh`2oeKcu}J0P3YsAu0VoteO^N26k9 ztD35}C#Nk{ClI@+p_cn?(mz5QaYEbN()$m0jnmdy9(4#W!vZ{%9!IDLZh40xDumUw z*@IZGg-~qD+?%ZtTOT1Hi$_Blc6wa2XahAo;>+(mzeuvfT%tUfHR0Ip(dfr*I6PRu zSXyzs6|LBNJFPMuxd_bqgif;{&VmCk_vRz}7vKaX(x+kIvOW=nz<3;J?QWIxv4fcX z88=O(3KP)it?w>Pam+;s81oD*Whw=Z!T#oHf4MGc)UjK6;)gRQXCo>f*ZS5M?@i!G zJzdS4<07d_juq{d6&r13RVKX|Y2De$h06F1aBcu8ob6lWoZFlichFwW7i46*aV*el zZoAz~yJ#=TA-jRanu$MnaP(=NXZ=jLz$H%;eHg#tv0p;%^iWfC>Xki~>18$wF?BN# zMX8~XP=>~5@cBTPo?r^^qy`z9={@&uizTcw2L<-VD^ASuVY+2D;zxIj-0O-?ZjB3C zN+r^_`8{FrD_4WYNC}b7O%cCMpve1b8~m^E3vSF}^*CczyjBBei8(#AkFMxm)qdt8 zk)kqXyH%d;T>6RQU*9@Ga(f-;dgxa_N!!guxjfUxV+-PRcPNaBCoo!UIDqxo`-6|y z}%h75x*ZR@# zTAIFdA?08c)3$Vga0DvHo{B^)QBBFsm!1Cei@x|$HYA6_#fuo96h>XNqfjYr^v@-< zm6RHfAB|#u9#4!SQrg!&NvH$j(OPB^w_!v+7-uLpwNDfSfhD^pWy*jXx{@T8EXt&3 zRzA?FN@T1{iYbTBl7B7VY>{91OQ)r9VIcM(NiVmL(V}->#u_i@^|VgMsAbEk`EwhT zqcnI(NXRcFQ~P8|%ON+ffN%#TM+{gS@*bBUhul}!l*4fb(~KJqYM~05bcFx$(ll8h^b% z6b^|YPIFwiEZsRPAta+PlujN=vVeWV=Rs?{PJMsuy}+s0*&^>OgoBnm>_p7Q;<4WZ zmnN%a^{o_}ooRuAH3efT)m1f7XjD|l+CYA<>h;qlsdT(YKh6{G~i*d%oORFu9vyJ zLm}2KMDkH1@g50`3OFp@*2c5opN|Yjz-U>G@SW*0{OG>NL{)NKHCfY?w)4|FKbz?8 zw8EFk9_KGbE%AD1xE5K||0EzLVI>rIUn!-fa;+MoZC40XUJ5dQE_XbGF%nL*Lj`?=sUJ?AfaC*GHr}y?b0w{@?JG6P>MM-U>n=>x1psK-q1QDOH3w)wXvw1E z?M=P?Oe;8SK!IbH!TA3xWhu!q5@s3O^if335K#~#orYuYjo+6|p)Ey>@!-%1{m<83 zyb$_PFh@;jEAI4~P+FE6ska;s*AK<*MyeoI^#lR1(c;H$Hvs`l7SqQ#KNQGfR&nv& z+^?tpC%p8xF%AqU-8xKI4w6UjY;JEeJD6vi>5PgqAawPPnP5Bhjr{@}9V?LFfI?d0 zp3z1$cer99K7d*70FZoUy!^cWVPJ0V{}*Ea^Ux0rhHR9m@gM~fS7M%htM>;sejpFa zHliko3Ayw$i}TJ1G#A~)d9)rg0)cE=%x@EyC_qj+cs-)$RQufQ^xQI^`jRmuHFY45X$=g4~^d$U#x@;|m z3CzuMq#n0T_B%$>2r)DF!l>wwNMq@|FjCF!J zBp=ck-~R&wF>LQ3f*&=M8cxmauy?XV*#Fr zEsPaNy2*QE9Dbj7W<3jVOk}dimDB>J++}v?gr z!Zv$}`jGKlCL8JFalaGJ349w*&u`;8Q&nw3)AVPx3t;kKf+T|&aCX(nB|nYViw{wi zd~VQW<(&2NO9^h56CT?FayB{7c4bgwk4taeI!llF*hJ*Q5iW6d{=dY0YsAf z^3xD6OHlWNO|?|a+9&E8^%qf%W;z3mA*d7y42FuI))Nb-O0fHe1;oIkkufb}_0oqs z_48HUt<{3_RmF+t&kxNt;!bTQ|FCNE;7upH=z5qStbanp$JT;16^!Pxastd z3qWXM9H?q2&v7JU*~g=5-OgCUwqXtxVh@ZMP;Be%%6!C#ZPqo62&q)4IG^e3G38Z{ z5`vnNWi@QazrFvOYF%DQx{~})YIrA)4z*<|;v(l@%o6dFjumjyK5P$Yzh^c6~qkHUm=lX;5_gWWX0+?bnZ-vGco=_Zz~m z)xsw-xNryX$P(x#O!lEq>;D)ryL+`!FUW3s$I0uW9jzg$_KkD+1D|^E2QT+H`d=xi znUlTv8tDJY;&H*{SAIEfe;MEBxBu{-m;IN|Tt1^>Z%=F)FH(2`fpBG6k*Hnob^ZH6 zRcY$yC+lKf+mH^`dhV+HjJaDf{l8>ydF!rA_&Yt_(bGh2CM^4*s! zDT3c4F2RRyUa0rLZ!L9bQNQ}BymL5u_H0$lJ>sXhqfZ*Ak5fgw47u5yX$llZO_q%e z6!==<4p`}jh3Cb=Mr9x8y#h9;91bs21Dq6gSx4uO#Dp_hfusn&m;wa-H$Vfp^O7#_ zCByK*lR2eVS-z-QB`Saq>E!_~rMr7#|V^0+(PW zu_@&lz)oSoF9Y1LMbq1{gaK8Tew5H`o zHU(u`xU$EJmo3KHeq7)Lp9(ea&no3Hu-R8=@jBC&M)ndUgDK6HFDD#EK%zyUcYP89 zSL^W|MA&Q-D-`S@$BCj|hMQHn9=atR5UMy#3~C)rz& zpt^c?Lv!h|7_P%Y=bXwbV2x8p+;6aly?RpwhMOoWcfcfI(T>{3D4J;+8*2zAk`wsH zVtB3(nvw=5tH;1~%s2Z%Rz8(_l$G`g_9DST#YN%)PLxL%qqrt(0#G5Be zeW==z5OS&rfdF`1J?D-T2UFNpAo}BOumj@V?6!1x#rX8z+``qL94w7WY|$u__!DBB)cC*q6{nSAn)=S{M$msHBQmof`!FIL0m#rv!ZdR0 z9bum>r^+6PV^}h*>Y#fMuBcS0P5724s$377O5r%*!8X}og>_-U-oFg~-OvYr8(X7AL7bQVoq_LQ5ogX|IyS}U*U}m;PrdJHs2XaPK5hWh zjFZ>w>Ykjmx%PehlRci5-@>hSjpx-V2mR(eY!|zA>-Q~`9GbDmFUN-`{un#@V)@?N zwU%9;c5nZ9iT&a8wxo*#%C%b#x!Q{wj2th-2WRpdj{4o28LPZ{JaE*@QvU4-bAS7X z)ZSxz408wcJMG;IZwyCNWZS$>-IF}Bz*rZJvZmE-k(9q z>#OA>G1~*POz!qVAR!@-^XW@^Y;{{WjAw!ShaOnmeYofOVT&V^Jo=*#UYFJ#-m3D$ z24yG5YkpNbFH8hs7GQ@8eyC*x7x4?X88nt!y{PK{i`Ep>>nFJ2-V*a$hZ{zSq=tnj zrC1^07BS!Sx~wx`Y_WG1p(odMKrF7U)Y^1`OkLbJ=DuSU`5o&plLjU#GR8ht!pGdx zd(NYkqhhTIedz~X(6YXpD?fL1lUh{`QFf^biVtRg?3Vj`?0WFDu=LkC&%=W=$(NXy zPPB)-r5fL`G`)c$jO}!GmNV)uHFOtk1rA zWbeVfsi~=8S*z`@^_Y;$Bm<;?w>BIQhlAY;*hloQXenUT3`8b0kiq?}atZQW9r=Udn6d4NAV+t+4b)0|!K zM;olHcUqp6G1m@G2T9wgq2T74%bUlDpbp}YoMU#9Tt0)c5uyl)4(7imw?fNxINQoTS=HdvuXEnC#cAFpHuHzY!D)C6KUCD@c^)4|uO#7B?g+ znu*MbbB2{^7LC15iNn+Pd{lrJREJoSj2Fl1XS&AlT8WhXl=X*${A3@%HQ9?T_OkSE zshN|E9$wZR*|AsUBzyJTa!b3iYp&P8KAv{1EDjtQ=tR*7m9Q)ppXDrw{;RiHteR12 z*2z{#avmGs_G)oD(to#zt!dTC%}4eX~1q?y0q6q-kTDN;a_B0N!19 z`}#7kf+qSA4z0Xe4HU-isZyh98pf92u zZ%Arw@V{D6n4L_D02-6Q=R{H2=IsZ^yVMOP-dd7`ZsB;nXFfWQj6!9Q#!&X4Zd_tGD{xe5JW z{H~}|wOqDxASJ|k#3tS5Zzae&iX~7u#{3|ivFGeV3oHODV1jO7EMQaxau$uL0#w{I z{ct{v`FTL8O50|h%QY>3?l?|jU0qBS+3o!Bn_$&_FR4r5Nfulg>u$Yy&$B~%!M~^3 zKaDoj+U<+39|_s$daPnohgXO@dg2Duv9V|W^mTNb<(h*qw8K318K`4O*xF`@M#!=Q z#Mz+?w+`%$vPWyeEA}C+QP-?Ij*mW1E6rOzA0(*! zuy=pYE9^jeEX;wH0$c^zL3Sact<8qIAG6cmWdEa3^q|8TZ)l{|`S@}Eh;k}Qg$rWJ zIbL4J=ctC7!Vs58?U2i9 zIh2X}!_*05_HL0TNnZzu8!2B;zfR%?pE5;@8iLFO6kZ@3v8=Y%B><^$_^O1 z3~Inttqn>3HKX5qUKn@jkoy00@8sx}u|GfUD)mg{Q;zMpZVnwtcYTP4qf#Z$r_%1k zIuQzCv7JlinWRuU&CV2Kaq|rPlnu1ZD#saj;5gqhx()aOnPA@tF_q9a8X~qg8%g9H zYmbjfht*?RRm*Elt25k%U!dDvQFK^IP+fX3)MLqe5jQ%ytAiVSTN`KWIxku&ee=ru z7MP`?%@vR^z!Xh|b0Ek#0{)apKa|IB(a(uRccL9ky;x9q8)7m(s~771*Ys?4lv&Zf zf*Qr*r?LX{g}qjhEi>VjPX!St1^zWf#7#)5kldFX=i;PXvVtOGQ+urIG41ULg`_@J zS9)sTT0F3eK;h`=)K08xkh5vaU+X1$88R6k8B3B3oO{>((`V9evt#eO_U@Z5ls-w_ zcj~*PWV|$z{BmftKv}CvKsH+B_DS-o;SNblnigqNPTED-DJ0VLEs>ns$+c))x8vAM zuc&WRAH;E)*-@0c7h8213nA zT>-yc5M*%hv7Xk(X@Y8`JiI z36~k2p}kxxP!O%jr3Fe$C(UKjevX+7;tJy0mg26oh-OMjNr?&t ziikVlg5tdQ`=5U)A9C5^ceQ*THguI}iBD-1(2vc#zG z3&gyo<`YiJsIH*a@;Nn)QZeP+J-IYCRa-%GWM8OS8hdi+aBzV+jyg?L^0D#e)!}Zk zPiYqa(u)t71-?SDqjtEQNmcGH7$7s3KhL#6!e9fz+dCe1+RTBxiQ@)zH6!+S*;5&v zej{Hwtg5VBoZ{YQp7!C6JQs37S2kZ$bX(d6FzmLPc_pirgFS!!x`)mzDr+D()j9iK zX^%bOh*#-kdlC-?G68^%5hi4k4>fQP%=vO7H?tc2ql0#?e+z;UpQmwdb>ssWg*2Tq zcajF=%q}F>l|qkB$U}%!!Kl|*--9d6&0@CoyTDX6)%I`cGb{*Cm(o-ig7(gAj!jld z^6X;2-zXfI4KGV5YL1MI4Asq1TDbk9u;08c_6;8$;3j_99~no9*JytXNbZuWbK830 z>tKg$c>+-OVl{3d&S38sxW=jF%>Q4B$GtoC9UfW7;N$uBW%fpmheS z`7245-t-V_ql%l8qL#bd2MYnBBP}BFqq`%7*?@wg-laW#Lif=5#)O)o#}`87p=N=r zbuq3O{@1>uW_OF*GQ(7W64v7`LSRw$A_!H(N79JI_G^60K;TOqvF(5>U>O77&cy}z zb0gxozGYKkv^Q{dMD>?>v95LW><}C7MF|a_5#VfDmlJv@vg_q1{qvIG$b-Nt#tdOz zPsXjb`S#StB$Q=a95S^Kx2&73hcIwS<7wr|$_yd<+!~yA_KWz~RP_GTrASgkM01V5 zs=1(rnxcz3(d?*T4aAtbrR{URV~*QMNuzQIO?tfU6QT{GpKRMmN9w{_Kc+soP0j7p zXq2E_YW3SL3Ql;{j=j~_tW*v^lo1>wexZi9{#N;*K}-W=r*hMx;zy7?b}j6@y@+cL zLFRil6NcCFyi9*!9bTU$F8A!Qqdl&JzF*}yOEgU2O(~DUtf6#uhm36)mSqTZz^j6o5sT&1(34VBZpF(M(KR;ie9}*GkeG6!yda3Ttnk zsGz)HchL`X~QiG0ibt=uX2H)HGBl3?{VBAl1w{0UFMC&CjCe z^D(86S%`9MsM($ms7q>|*Bh5nm-DuHwwYg0P^%4;I2n`?UXMaKFIWsHKI+sxPNoG< z!rwGINm>fSqXVYGgnj0clA}t=gQI%`p0rkGXS64E^iZ`n2hYty5MZ`AnU35S3=h2~ z&&r9C=C_@afI9}#z|QU!0>5YLh&DJ`mPZt!m4to_9EznwRx3peW0h*r=NTKWN*L5F zii4Wtm*XA&`t_5zx^YM}81%SWbZl@jGHHeOdg>f2mKqA3M0Wx*P}tRcEcvNUR zE0Fr|7#MPe4d;njB_F8_{rh{`b{f#68BC~(|M1f_{#mvBqWVMBwawe&V<&5y8^Zr5 zxhrP7?S#abV&>=2Xc;ce^5t#ujjX&R9@=~sf_8ca=!wrBL2%T#Wf$ms@Q=}cHHPK( z3{YfPa{J_MT%D?YJIuzs(n8c1=&O3r*Ol6Q=}5i=yVATwBj=>Qguv;45_DBB}h7Jr9=#0CI+TojmGdslRGAa46;s|ngnUBY!Ih4 zK9!dJ{areu1MSR)vfrzP?^&xBgAzv+7rM~MoMH+O z!4ZrnKBt$hdW4zcjkmP$nIM{r4^KvXjd4M$g~d^IHlgbXt0&2)p09l!;}&D;Y7;jK zq?L~hS3(LvFw;9>-j-fxYR!Y1si|;k>n*~A;1HBe@IDzE#(CPFBtW#mSKVSPEMr#A zrIuuf>$ZaD#bp$&)zfJBb^g~)?K?;Dcy;H5`&WQj3t!aBsrwU$CDfp<$`{mMME*a; zwiQ6;l^s~i!{d%J$)@yGPF1Ah6ehD+*{M5e>JDoSN^LF17YE+RwqbZ!B}}^6w^z|X&oEBG=t-TxV?|;Hv6oK=i;5IaC2bVUH8Zm|;C`Oai zByP;k43_(`ipQK3ix^IEuVRuACmm;aV>@iKI#eJ+_U{mG3ryzH)``sG!Jc8fB^aKf z`A1yfe~=;xkg-%cGS)SZe-oW~5Pc->MNQ3@Jxik=N!SClmF6_dG?Bx*Fiy0(SiRyf zP39@zQ^SyR8pVvZblJ$!GU%ZU*Equ(y5`pRDXt+(AZQhYwOqS{jwlx`meC^1UIggU zHP#4zAOy5dwdD6Rl8+r7GRwm`fp-MaD(&~V9U&T>B6oqArhWb{H0K*1(Kbmy%Pa$1 z20nDYy-S#=+}+zJ?z}h^-+JuwpX`WQO>N=s$b=LVHKk13 zwugV8^*Pa;mZlGRh}E5ml}2^|LGU8jggS;Y0Iomb&38A*5}~zZ#D*msZJX%>mxielBX2Yv{R3QH_HJO*D))nQ6)y*LncfdN+*GesDL9n1mpn) zLw5Dr=}@UIi}ji;%J@ukRD61S5B6QQVGL|%UTPgS&IZgEM+%ml2KRR9e8-xPw(baL zQ!9fiizc2QeLE#Me5gHn7iV|X#Fv5zxm_MR;^`V_$-%X?znR{KnV`XiX})pAxOwJI zygB~lLP%n4`OejruZK2lxbRQ!Wch!Pe$I zUAKDu6)z)qjzKj#f((YZo%N56?QR_1XI6>sf>sZOgL$-`59h zjC^l8Wcu9k9X_%hT&wj5SC0taK0msV3DN;}uzH>x^kRD#99?oFI66qqG`df)3}z+* zVX~%%(u$)jn57T;(vk8K%P^l)mp|Stbhz=UmU*7*uH~`=-#8jWuXwM!e!%U+){v-u ztIzKPY+F?R^-tA|DrfJ42}X80=_TX!MsZ(L*GtF2s+uyfRwOADWSv#p8EgzfvVfba zbmAkqJ^&13Q0a>wVVtB|hSjhs57Xt?Al#R?ez%?rd8dI18C25+B#&f$kWi%4+RgA@V}w4k*w8uXakF$fS{YJ)SR@2Qs)VH@N{nt~6-1 z=Nls|Cr!IRwXG3$s)^0_@QC zd%=5M_O+?S9BUYs{4w;Y>S{h+mPu05L$pC53yd$Gs;I8$#-R2t#Y6uSLXGOdU?gXF z_L5XOOX`?nh6yE)ltQL=HeMeUo~{XsBDWhTKO%F5Fmv}!Z0Flhv@Te;kNoNw*>c)T z@DJ2yX4wK!U4OpC>_dt0Tj-4)<`J)XQSn=X4;mJ(J>ZliM#UnS`@XAR+_U%H@XgTM z{kf06^C=C+Rd?~<3rp=gvzpL7wlBsUlb!^cOP`KS+Rfd*eB-0@ zmcnc&A0OiBxv&vJ<>PYp!=a)3r=o49);^)0cJO(+>9?HB)Zf0$K7{}DYGc;b?mgLg zZ>k-GGh@+6>bw9}WlHis-~PKn`rR{EzQweyeZ7(KJ5z=jWtT%2VveS}pk-{Fj)iIW z?D168q}kOUEgi-*svYv9RPI$3CC%c#IZugy+P}RV{~rQtf31jR{rqIC8|dm4HiLtc zMO9PPt)U)3F%)ZOPd9b60D1>{0z%$9bxx57gSUZp9~7&!Mp08}qzq}X9K1BoQ*b#W z!VFz1LIwrMO6m*X)`=VzB}Sj=w4)wpNtvej&Q1^;iu=Nku7TZi7%n_u?$I_%(ZzRmj@jXh_xl=B=2a?*SOo$dUup#AOEUaJK~!3K z_>g|XGT!V}^uYmqMZ%;m?N##4l+i^beJK@^B^E*NwNW&m2mz$2bKChFwla)PA>p84Fs0B?<`9%v#iESq8YAk`f^IFQ`E6O28Z3QoPgP3i z+nwml1i7rzU9nwZVmpRjNg8)co}1k9?7RyC$CES6yhWICeB;McAhL>m()kXm*1pHi z;M-rcMA0O%OrN4_ex+NCTWL0a_t?{>-kQbC&E*fN(%s?GS-b5If)9rx6?HJ7)i5L0 z1-nv`6$Hz#Z%$HViSJM8NCO|}7Ej1Is)^->`0>@z7vdjqsp9A3jX{B;j~lKk%PKD@ zBX!}N$9@UV6=t`xVT>39Su}dU9gSkGuq%#V_1pz#*n*)LGWcMufz^zp?;g+QIuS5S zl;S$RdAJLoEWmTnf~bKIdg92x+9>^j)+nGX3i8kLtnlk+x6Jv7*i~j2`7s0?cHfyFj3Y0<1 z2P1%5{vSExZl%){R}qmM(BJPD4Cuk3Iy#_`t^`m*f5g6vbIulXBVP$^ERvN<_?dp- zDW4JC1418Noxmqvm(#@t7BkBnzx_*dqfN_yb#9KF+Ip5-sS(wP5*1N@7k3{n692=; zWnZ#v76PT;^-Y;)5m98}v#^4~Hu?SOz=#q|cOm0iIwWt3huzG5#+5q!GHEi2g&etbIs?cgkn9;Q9KjVkYR; z1Qy}Ic0Xx~&l$ez6R^Q2U`zAA7`lJAn8ub3^fIkgj24>K1A9=QcA;^A#`v9oMCv5 zyKeSHkJ_^8EOT(cdZS7#oeN%#c~_6!AG=m8=xC96ovUT(^?;r0NB?L6@lh zG8M~Xrj#8<&Qc8Wxx3uH0*`g;dsYm3>+c~8PfPXh&1S-I&y@?GqLKvWI_=bA+E4At z4(x;^G#mrmx(ckKX6>HJA>B?fD9+J>=DgZ}%kQ48X)Wkj53u_rWU;J8gP{{+*}n zZ}rFNBr%cA0oujz67|Xx?JkE3VFb+-w=_BCswa?L?~vN1Gzxk4KS)h`4EW8MbjAHK zV@0dCh^t&E#3&g|(nr=8Eq_tv{q}BaP-AG#L}f#KfB)~zMf0CntMS+0UGWX%oQMm`k+rIHH&Z@gcRbS$vOJ*JD4ueG9)fmYU1TJHb|GAl zO5B}QtU7Z$SEpE(sy{Na=&WsvIdH2GjFc?+=0>xf+|K@Atx)7YHBal0tg4^&>!a+n zDQvlURg{`L)K&F(e%A{z(cLgZxB?ZxA&N&b)f)%To1H$FOvnQB*kpc)-n}fAk0Jr& z=~4*C`?JQzL|fK*Ny&S-+Rc(Lsi<*fq5oMi)M<#N4JB9h8XUqJQCGX1_#2x%+JB-F> zKG!;~SR+*FR*-a0sfpB#_)e``ftP3c;}6bf3nB3WH6)>}v-{v?5Ti}=PG}sI9P5|d zDgC)7p}EjAqO7uVl0yp=$Bmuc&03RZgl@y(Vu@9<_X^etH-5tEfTj>c2mcwb)AH8S zhb!mp>!0=Ds7neK$Uszj{q>8Rv0)6}*<&2HfbYH4ys6kd;^G8t>qKji|GBb=FHYf= zm5)DE42D;X_V%ex-BxzWM9Q2QAek?LfD~W#sC!EcjCgMT(V9pt2DcPuaT#PfJExxx z{R_f05OeBqjU+}4g(Cg`K9K8QQF&ABUsmw`phfMXxS7Mb>qG13y2d!MWac2sP6U*e z_aKgOIKVKs^rB(LE^Zh@gYMXxQDOxlVxSM99~F6;Jo^mhMv*mm|6zX!Yf}pdo?}{d z#0ko{WU+C)^1{2k=1)%=DxE4LBWQ!Q78I!1T5Sl(B0MoO1kJ-U++mzW&085{y_)=< zJZYb`IH&4%dku-@qqR=i!M40Pu(2&W@vU(91h=BPw(monQZ15;k0nNRwNwP%{0~x+ z0A-p$7j-iXz{*N+=-pbr&whfBl5o)NX|E5DR1tfq@q&*DD@~*UwUrIS6QksfInA1Z zF>}rCpS7YWz35m%Z}*q8g?mRnjJ_ZY`Y3lM@8`Zt3S`5Wbc>ed{G7vr=t>AR424$! zXzXEuE6d_B-;ib8z7LIRHPkW5Ab+L)X$j(&e|o4{bYR8-(lVPh6-P=J{hwc4xd~vg znxUz(N~XMb5XC8^{#o-SZgwK#?|lG1wlFiAELV#dm~y6kHW}3#B1A)5g8{PI=?>J~ zDHY=^0kFye@g8Q3?d7O3$)b9 zD`VuE;+1&J$FPNGA9YtvMsaSW9wW0AoKnT8@g%qyLg{kLBbEY-Y#7@7+SX=wh=q$h z*2PMmi0=8_6r#F{D`|ews#T;dr2TsQ0xEJtzdo`wps=NJ@KR$lhdg1-{DXn}dzq9W zI3CtYOmKKqmy&H0`Zad77gc7t$2QZ{tSaeIQ@YC-IZLR4s)R_&^%Dj;-mGQPd)fP$ z6>A5wbG5k3cYY^@)8*1M^}u&=C+?s!uCae8qacG6r$CpQVc-xn=u$1B(Hx1+93ZOYtRE8V>DvtJF)4id~a&p{aXxafEoAg_7BlEGH!I#9m}A@%N=K9 z_60qHS%v0sxSZ4%SEXSXETHR6Ee6X(@BJxz_qP6ab0uN%N4F101r?KnMVyF=h_1B2 z{+u4WSWg3nd!VUVsvew}lpjqV<=ogOl?}sKr7ZGbQjaU<+k=6+^PA-IkX)X#g03B> zEeY*ArL&&WV89s*Tq)X#@hs2#qNODWX-#5(tMEkqnQ;zR5VUhc)N!d1ALT>>Ty_*V z*9J0A7kXO>Ai3|E1`9cN|9`f_Hr#l;gHJrJn^(YcwQ%z^qe(-k5M}Oejhe`3(NKjHnR7qwtd*EZG=&K^6uW`3lyeO?-=#QE!zT{;z z|LD=un>VjD>`p1V`B+RF%zmfqA1oC5id%^br1m2gb=Y+fxP}MEEI#X@NON71+Fg2_ zZ_8M9Sa9*RWF5yqVviwpdtFRn80;24+gnr^_W#%zzoVr!K0d90MPNFoCcGS>BvVwi zy2UNOU*$_Rg4xwebGdW)k1}CyEp)hn~@`XT}T8sMbDK+BB^}(Hd%o<;)71M+sf@PGTz*g>Z zR7hT|ZN^Hcs>kgEQ#0S5d=E)aH#=@ZPj^v*P)m)BbA&f)hw}jN?*^dxG5bo`U)mUS zqN#GMH$0LW6n(jD=UMSFKXFjEGEGG&4UUQZeYx?*+AsW&Oth4$6-2r6QxZnq@PBh~ zj*MjN=Jur0&jc3~MBDD>$|sLuc%3|p2h7cXTkkp`y*&+^9bvuUaLz# z968qzYfCrv9KD=pu&V0X*~hsBm0?>;Yes7tCnuY|6L%CHz46$q^60smZG`=QY^!C4 z!M5%XYyS44uUiryqD$3hq}m+3=4=v92^e@OJ2f5oVY)!x9%9{f;k>ix{<(E7JMuv$VC8(gcuU;zeOyOUe651oFV^}tHsRP`}(vI5bl9fG9+*$b0*!6x}I(l53^}{IEm4Y zB~OU4i8!>X`?q_UZ=blp7{>C4Z8!iWb#b0_JY9M)TJUHd$fuoj(h#JcpcwxaiNP{M z#Q9(r(__y>stIFwesMYAG~txCD<2f*Nz2dZVcap}(H5|1&@N0URmYB1>BL$y)%*Ve z9~{Ge%*mn-ifW08G4qSnXt66Ppm(WsLM&rSmG9G75Iw%YHd>!bbN-Eb#T9C(K-EJn zhO$Mt?M}4b`tLGiJJ9^Y?a6#(+}z$^=kpkwb#6`&v_`3FCu}cOGdGwSTEKoHdO2Av zj-n^L#eqedA$(f5B%o;AnbWlbU8%JOj;=-q5&Fn#qkt=#DJik2v#ui3p)B-P62n#7 zLv)x2Btd*mtuxc2Sr0*!Z&p-!D1|J?;Ed~(T;6#|2mB{p{PPKM?@$`fqOCyWH=+TY#VPQ7O(Sy4@p5PLoftrDU)y$hw+nwq)?uEsUQ;r5k$z8*83%)?k` zG3;~mbM87b^XUdJOtMZy>C=9*sG3_$n3&f&T|$R|k#>Tj*mW$H%y<4+0vH7Oq8y@t zi-95_p>bf6R89s!2Zbfe2zDwLWC+c)b)E~2v86NYg=niVr0Jj_U~g+hwPd;Z@aY$# z$d!Opy~~8)q_OOowkORw&7?2}gIvEDC;tzUE7Tdv@?2#3`~^ncME{KhKB2XX4J^L( zvc{Fx3KRQwH#3W-FpV@(xw84!$VZJ!Nd@G14x1(L(-{nhZv-&J;T48xJj<}S~a4mmCqe2Yv- z4BvWY#^_mvU1Q05q$oO^{ji^4=(A-`g@}m(&6h%VO#djw4{JMJ%x`GuneGnz8tJ*a z6!AHF?+m;DG7n;#eEO$YBTq~F4O^q~yQiUI-akhV7mN2>|+F6jMRx6udpV=-=^1l*(dN@AJ-~6Ae2~EDw z|JqsBFZ78{IG@Y4CU58oHA%Gnjv*^RUy|ph!?m*OhK~=Vd&)Bw!KEOW%DS!cSa+e? z1NA8z!Sl}e%y?Bau>PnE+$Ph&YH7K7!5poV8w6c@6I-@9A+NfHGo=D~-2;GzqAc4~ z);#`VMEu)aYhZelV`p%nGTgEUK9g>>&nc%V!6b zPwIPM=zC8CUrpm*vDi6>`5}Uz9~fqOS`t9YjY4EKxBMrPK@y~rmIWaKzeL|w|IwR+ zjzh|X(Pra0MqiDD<{&Pa>Kk;tc=YV=iOboS)FLnoi0|HdV;zhbIEddkAy6J~gR4Hy z^ib4UjCx>EfDiLr+h7A4ee&|N>v-gy7Or1Jyqs8*n0T~LGz3-;28+)j6$?qyq8da2 z&2%z0Nr4YE07br}ujoZWN5>lcDh!NU4&$J5?%a1rAe17ynspnN&r}Oia8jR`D;9cx$I_$#NcbXM#3La#5d+Kub*&P*j%Af*QhLEtb5qSk^&6z`ex)$#Ynt z3p0NvkoCa0rv}X-ia&XfuzcoUC`o#fvZGUa{))Dtcc=&t(k0xxPwg*B9M7MKFBgeN z+B`+W8r^yTKBvs-yk9+R>-RuNLzc;t;f-$gdG^JJGgho(-51uo1jZP*I~KoUyw+MY zG3UM_9$#zRIS6zBppJ>U(%dWNP3tacmP%MnUq zman%WkQPP;^M*hrXLywghEfEnt?;P=&XZ>J*lQG4;P@V>5tMSa`ppfGUHw)q6$OAEUwu~De(#>qrSDV*k^h6YTxxpK5 zA~$6#`CmnVvVJteR}#HPl0&of9Xa&ql-7qx-Pv6HSUCJS?T&C~r&2&LrIHzUEOXBF zCTF8EK`w#-n;>%@DyefAkO8l#R)gWImmLl00BT3k0%!8PRHJljO!KSZ7P~LxuxP1E zdsS+6qRocA1Y+wc;GV;uD=u4grW47GyF`*`+oaRBg@2ph%fnzvJ+!t7Nx5nA+@sA& z9kM#>bPP|>f&-LZpHG)66XsNjW#cWX$cKyani>(C9o;^t-!&^`&O<+&kQv#`IHZ1? z={>oefd=Cd`O0nn(Wp&|5j`Hy2@07w{*vK&Ns)&`&%s9x(4#wOLyako5v@RS6$^}l5ZeA&0Q_AX5YN~ttsQoHV+)`eqqjq8i&tB-A-wIT7 zD_Hr=LdZ;c>?So(AI2dRn6cD)6+dvz#u`tIfiJE)#(r^*zi4VZ(i;C@aZx2^=a!c3 zbggzPX#3O*~wIz}bsIDqWO}F15h$(3V$Vty0`t+aiYR z$&yd?laA7y4l3=>J%i~8oVzsHd`Y)7!*t*XpMPMp0|u8SqMbBGc|Ob&X4p2Z%S5l{?XIcBtml;SQA% zm!{&&n_Dg2ydLdQ1)LFzqPk|(Ul_ZtF`=0x#%+MWw_>!OGhil`UobegXU+7nb@;>l zz}GsHnG*vzTggJbMG;wxK#8ip|L5EuplxnRduZ<5ddFe$Qf=OB!>x!wiSxISD9^WI zC++k3_#$&-IjeXkAiNS?J%2E=#Cn&(REJJS z(X>lIlO zols^G|O~|I-Ui|&D`izJDrJ|R7`OZDR-gx{R{_)vqw}izrPq%$hh35B)ac5ec zY$iYHem{fcY~CbJI2Kstx%)uk_>;S-GX!eg{kXHHudLzUpr-GZHh=oYS-%)J94tOOed6U=R(dzGuxR))XRG-z=Y1REDT2S24uZB9Dqb*1~Dol$bti{go&R{!#}$91&c4{2`~qJFCT0{p%l%yKI;q_okCQ&tw@v7%pOUWcvwP#k459-tXEu zuSdUBx}S0Kzj^T3XR&8WQU4dq4+YLw0^#k&&lwk9U*-JL@)QWtZoK&9_WK2M%Qt^c z&^G6cA8Tvfyu5J+bu`;=`rtoJc-h(=r-K%5Ck371ew5Wp(vN5x>Y9XQkYmTG@vi$f}5icMFL!&ejy$ncc-# zTPzn!yr(&TM}~TSH+LtluXf%w)T_4PT4sefu>YN8*VDl_yXy~q|9}yp+ou0FE$Z42 zbJ+|_gN6Q`X5TLdJ%27S^m)=p*_%^x1z~c_Z`YoeIQ;Kd_uCQKkQs+RMyk*L;kjY2 zV4*nU*;yRs{B-P1d!wSU{lxhf1>O9`PkLVm3BHk%S2sW|zQsoO z$b=7=Ij_tKsRp~t%(wIn;y5im|3UIb({}Rjl$RGqlvF2vI(UIQI$1Rl>%I5*HYgT3 z2Qw$NX%%emu}p84o3R38xL!0f=@=S^n1Gx!dA@-dRf5bI$F%WJiQjVoDaw%~1}hCM zS#_Et@_mrtm*%Guy4SuW{R^-R@s-VSnkapxqB7$Ed6pj5XfQDlCqpq-nl^qT7vKEKVLSy(Xm}Q*O9$>A_)GHJr_m)<_w+&Y~h3eCV%f}0Jt%5(^FktUo zZJ6nHMnsDuh?GH@FCpQ8G~*vFHYSFcVs^>OYp|}zK8GY=TM9-=+gzOIv1Tcuv6wMa zA`;3Q$*&cF^v3wwzqY-(R1+FROzT3f+z4h)6FH0Xddf%oW9T**OHKyZC_A$1bK=-b z2oe~2t%Ypl99pydx;`>Kbm-P>#H3I+ImwBtxOaQGqeF2|RopeZ{3rp0EkF?W}5Io-lQG1Gy@>3Zj^4meN2ain%ft=2Lfx@oGss;}k~tN44aR?>m5YVrGj z47j-#(zL-9EkiQ?Usu7GooKV6hj9=*%bfGy;jKt@*H^beObt3Th9L~tVbT4vj*vPN z5S&Y9>Sj7H7P5yuF04mi=EjyH!OXVy?)+vQ@J}QJr2Gf@+Ws91hNR30MM$vwYG-ZC z=u~Rj-LWC&sl|Wch1gVR&ON0F8+T8JG6(lgeA&s4FEGfeSmNwt%xd^Dff|-A#u2^KML!oO==ObrYy-uc%=8g8#59*Co+ zz!#d+KFA2 z&8>)wFU(ZBmFC|f>pP%KFuTuwsspNm^zh3NV_CSh+$yJSGat0V(`-Fnu+STiz-M=5 ze9BhPb4Fp`QPEY!H#x-J8l|MSJF1zgqYXVkuA`*fBaIo^_oSvXX!>^{R#F3iI54dT zwmXZGvF)+;j93iMkkly{B`X;(ngtdsS<7=;%K~SQxl}ILDP(aIheM7uQU0t6XkBYb zXpKwJx@pF7Xg<_1%x0Bovdxcfhb1tmgpn9*0?i{rEeRiI-cFO08P_q2X>2inQ=ARp z)Io1{@{u9f7~5s%D-4fCoqi}FazWGks z$>>pBgK6^1c@Q#sEtQ;akdJ$}84Ux)ctl;1;T4PBlln8o6C1EH3u27seQ5cIOx20Y6ZsR_$* z%CP^{2Gq0$97wFuANY7OsRNgG3a~lu$a9D*T<)-HQL19CUZy!Ewo_*$&6fHoJqWd8 z6JEr+vlT*JP;tREK$r51Uf^6$9L4=JFJNO+UrZWNV)45yy$sqcUU7~>5H@*sP6?_u z{_%MkE1T|RUV3 z=}lU!Y#L{`dMb}3w62y@{Hs-wm8r_gqN(S#RbStVef)IIoCINie8h9oVw zdQlPul#rjD4{tHZy^+i72e4g@)gA-B;Zptyn|P$&rQII9RB)&@I}jJxY>ZEeNybbu zH&B*LvrxFlGI*8Gl+Zo3R`NVBI$>VmyS53+gr z7f$J4R=p`l%Es(>9(WV6EzEzd|E@K|HXk^9-o5?oyYtTX+xjJa2QPDcE)+btj&+X9 zJV2};-r>^MxbKb20qMb%U%$WbH-F~-*NPi2L@yR?Uh;o=m(UA2`us@ZR&o7A-UAok ztjzUSXM*}*Tk^|?wM}J{MFt<@jS61vv)lhB%hT%8(;-ur z4$kKkbi3MpW9F?RCcjy?{CjgFH3GHNs0tll3eubCHq6*OzOa1cr52SI;)A(jv9|1O zS=Z6Znn)DoV*k$Focr3@3Uhwi88~`=F$dFOx$VrNYmcWq@`b6pVVF+u*q6Y1Bir@* z`aVo24+3r9hk>!-6K&SNg)rBTkydD}m8mtuoMEw0F*JB4XX;;NMYVeLJ6DzKNjD5s zoFil_kL8d-Oih|@;3UDZHxWc^XMNnhy5r3rykJq+y9!5UwCX8f#pe7~!q(QkbU}l^ za9K{fo_UO0Iv<@c)*xKqSe#!}B1*$$3ycbv4XNO6BH8S$BDL`T4_%3d)T_8fpF1#{da^#b?W~jBQ z#Q)fGV{BtL+ILz3PL=kj(^q;7 zp!9VVZM&@q&A%k2%X2+`&tNX!Q%e|KnK7m=Jf|zhZ5`da3no-Fhr!y0nlH&;hDPr; z@BQ!#?UTkw#OjP-Xc(@?%$kj}?Ewyh!oc)k5@6TJaJGVw4s#*`j>ti`o0|5z z2R5;a%s6O-l~nri-V9x?L5~q|&$9S|jwHtRilzQ|Za^j2VPKnGX)2J`Mbjp3&1jGD z2w7y+O)!h2Q!#8Ag6~CMNy1W7e>=qwBIs?4AEKRyK(ZW{lXg6Wdx_?JuW)m1(6qC@ zlEWVOp}KML8pMJmGS7y~KGI2_^L0RnrvL@7nCJ&WN`+YPle#~P^?9!Q2W1*QPckE1 zf&bW=)~c0sk)GVkVwj=OQ#r#6GH0zIg1%*tcPZsgpbIv5d(Swj1E~PWtgW+A9dJ14 z4Xwg#EWWfs>z8-t%^2SPr^JfZhd`Ad`m6H~Nn#)keQBN0udzlMAsHOieo;j@og>)g z)6W!@7m0m8plWYDr}n=UNxaqHudK2BRy>}QIj^HQMCn9-$3G?kOkb)hl z$Icp?c)YyP|9Vv#Gk4E8Cbx+Fy}fh=Ue(STsy8c=L22 zPmM_xs`)pEjrQEsUHoD+etPG?^nZ}#)N`_gh#834wsgBQ=l|XoYrJNo)Bkr#cS$*3 z7)wE__4&=0=HecFdf3Z0o%1?%>$gd9KFyLwoJ~{yQ;1Fc=P8dIaN$d;MV@bUj^mlU zW982qh0oFw>}*9Kg+V6fVibAq6z68g_+<#N20wn7=XO2`f((P1d+-!2SNR6=`?xMT z-MG!mo_;+Bf@H=6i8L;WlRocL+b^iP#qD~mH)19wm#^{7n-Cmvnl1Kpz)LYg(xn!IPB4{b8z(1J#|qDbOzl6 zLk-MrlFIkI2hXxbO5z_L0KgR9!^C}9S(K5feUBM!XppAgUVeCB6?y_lIKW|IkncVT z3UNw&n?^cO&+>w9N_9 zQf)=8tshT~d?zr>@8Ie8xuaG56j`P39{)VpS03_ulK8!X;n`-WxO%d?jgMTFWKNdA z9!-HQ4^O)DO+;<~pk}yPM7()zaMCokMqK+y6L5Dqs`69#$Kr0Q(5lsPvhcmdV6p&O zMJpPa2Dw1M8vULD%o5Pe1}J=-nG2Crx4xqTA1I;Xx0e@vF>vz$>kR{Fex}jB){oM# zP1K^f!HBfyI_JBC;z-kkKE34;HSzi4trXrs1~U!;m%)|oX{(Gi_x6eTHVofKmWPE| zOr%t+dgJqJAmj{SP|LQ~3kDJ5iH~Lt_HO4cJgwkja6m8u<#I76x7l6!-X*JDVuiap@fj5u1Y^w?BF7JZz^3ZjHj> zh(2TFb~AW8$gQN9Von-K32vszfC1h7H>@OpI(k#ok`t-*W3#`7PgMj&^}X#+lM+v8 z-@k})iAw#088#Jb%ad{6Pm|ljUx}BO(zLB>9w{s^=OC`DOAaa`@Z&39O7b}a0#X45n(FC-H z55pkm1TYbYjf^>d$jxxNX$~8bF==KK#$tw4g|~#uX7v zpj{HB6?Zy_YZikDA}(#^M3ltsxB)8Wk90dv4N?JvVP!TU&`s@kk?Y$8F^*IdEec<5 zP(GRF+D;Z&h3XU--tySSMmnSfyNb*Qu68z8XcLk!sqs{f=q+lWi)$wkMsnW?5B+)7&zGE>^r78Q4NDv>NvQOVG>zz|VU z0T%@3d*+{q$Kfx0d7tOLuj@Rk8mF2r6$mQIxbRGrte^2_PEO5Xyf&8iD8&nE696Sc zEws4_=s6Ycj8D1wpQu}I@+#KZ`oH$-y z8MQFd%Eb~d^TRt5P94G{-eB@`O+U2_?UH0;GGoRzrNGw zJMW0KvmgB?(Kn!*8n4fD2me#?Kcb_PR|TNQ0Jj~J*bPgOx0eyK9Wu^&hd!F|LbZ>* zN)yJ~`C$0t)WInAbnWOtt*!arM{8?NzT}H*gpty^>sl4PShFP5kn`oPK{S zXTqI8F-c1hQ|5fdVkNf|L3aO~obUb6^Eti$PCD1RzMkr7yLc)&axr4)`yNS6YW8UNN*BfowhF)W|^&hE@bZjgX zc^_?9_9+E56^lpl%ob!i!lC18m=i5asIgaz7s@X-CAHqI6xbGLlx(S^pA70cm^4!7 zeX#slZOa0YHSyPh$GQy=9(pqVA4QwUOfEg5Kt($?&FNFG(%sNptNe}~b})ie2}HS2 z&Gj`Z4n`cWsRz8mG~cc*(FY_j-g+k}%S6z9xlz|aZL zYC?#KM+0ctkWMkU%Xbj8?rS7>uj$kDXz+MG26&hzQ8?|Tz-JC?6^jH~$ULDtg{u!m zqV#F&rY-&^C6e~BPO*;*RH?B?KF??qQ- z3S6a%4IWsp%c5xeWz|?n^N*dKZ5Cx{6~~&k&JLE^0rma9FPieI%4q!8=YD8EVqv|~ z@)v6e>4fc1O|{d4$i0yP57;UKpK{DA^2tDSRl$*%aX~=ziMzfQU-5X4_YUrOdn&W= zPYVf3xn#32uPvWxU7hx`jyF3X3jqG=uh?|ZpGUeIC1e>=%=RUiKy{_ z@0}9$x%8#Ow^L-(Sp2MO_|7lCCB=1@{uR>q`1qQ(bslH3H@(<;;yK<#0R~g65px5A zzi|@ zuRq)`fjitHz94phmu!da-pE7IYXf)QogC5{DN|<^MjV%)$5CgxZ$_RUBBoY36dpSC z%&y9!`=;O@k<)y|!@GlUZcCtUC-A!M-*5z@=t|;k)x5&p79?L5x9|_W?so3(D<4fA zAAW`2Te9QnK74XWJpFzcBt6TQ%1(|seEo9tlg;)8n|6f9rrknWy*P>={=qUqoS)Tm zc=(IE;}Te90obp%#A>Jm3ZtOU|oqxk= zkM$bgGJ~?UNB=k;YI-o@hfU9#S^h6G5AcrVw82A}XN)D;j#9q|@uQDA>I{wu6(alm69`n-AkAFcBAj{yXpJ|ITaIaU~G}~r5)Q9`#A_cy! zSHG^H#@E_n&OY#XG%6(HLH1Z(2lC0I^T>ktQ1_`} z`c>*5vo^Bx6Mzf+^O4xLyFEL-bV|L44@X$3@im{!n@Y7i;J^l~P(s3??NG0tESDlHf?= zcejF{p7Od>L-bb%Mv_K?f8`Q7(NpnR-9&1$79VHSF7>5tc>jAY)}Ctyis$o&P;!XV zac4$0#46j#0;_AelCq$RUf^9OZQjQP{?d7 zE{F&hfl=%G@wCkDZ~r^{zT;V5;y{QWS#zPB@Ae$`bBo_cnc256PdMtgiS} z-r5x4y|qxj?<<5WmG;k@RFFid=^SG9j>?aE)V5js!ZuYK52?THDO4Rc?*@tWn$F>C z@28?T{`>Rd+qy|GF)d*c+)na&dzMe_nw*p!ENiV3Cbw2|EBBPI)+P$oE1JJPw2l9o zaM|)+y*Nq9QJ8WcuDIiJm@C0u;}{Xsj3+t4fy0Ku3y-0=oR^vT_d-hQ*<#&ZIe-Wcm5<$R7#qM;%PuIGB(`G$gBMmN@v1_Cvu* zR(MNgnM`oMo=HU;%*p!63~_7niZx#jZZMr{%HUBS zQ+*2&6RbvLeCn4aHFz-i!a4nx-)^4k!%y2d*S>ls75nT=@DKK$T&dnWDi=OR-!sUj zkHl-*$~RIn*U@n;TqS7b^3H?}gwmq0dc2?|PN7UY5EaAI&B{$C+`naAD~_xZ!q z+C^lUcK5vHjy`ExaqzrqXR26Y6{fV#D(t5liTa9prYp@kxon2ESjD?kt<+$Bq8VAD zQTUv9HVG!F4(`|D7?n1NN|Nm!VPsTzLX%ea_-#N~oj{`sW@I#d+*sHa+#lbKUQX3l zV(U8(>~ow~qE<$Wqcuw9xBIWxFQzPD)(c1Jjyb%3zr5j+GJ3sOBBWnMT1!=r4(+ck zYAH|djY$t$lnuSybYj7OXz1NaO%ZFpu}%;$@z>u4ajwRAROnLf?ft>bjOHHL%qeTC zo;A>u(c)8Oy__SS8AGx>GoK`@-RY`KKdQl~a|; z=U=j;bV-4GBKB85nC|-&MQ+u`^o2SSkr;SRCn(=5%N^^j$Ki|ZoES2QEM0nRn+IjP zl9ZacrMUQheM#q}6TRFWVn9cUXzPH{6VFWu9;gc}q8I&EbE~#*@{^776<(M~imn;1 zL7vrY&n*SVQt33OWj9^-_vj0`06s@|DM?>_5?NvRrT(!+^YaB>G^o~7|MbAW$;0bS zIA#^3rxW9TN$UMQ!-7%SxZp^V){fNZilc1R{-HJ$+U~BI5wxr@_e|I#$MoSwH0Dnc z?lb4u@a6@063^FnbL^V)2e@Y>aQ)#8CYS;*j0iq<+|_Q%gwGhKqsBG>HLQ0~Wpwd4 znH~6(cCGJ`=+?k}qxiow?#dhX(}y!5!M+7RO7hrB9E!%IyZJgtcl4NGlVdZY?NW3A z3|dK`jU|g_wYb}A{&VLS-98~BPQYWLqp8>abZWqc-7-~p>GR3fk;UD|l~KXp`g(&s z$+_`N#kp7xF6m%UJ#t2at)6mI2szNun^wl{xw$?knza}@MD;T=9DvSL6LImBW<{iv<)6Wf}>pMzP8 z#S^0tmos4mmid}CX+Y%Ytd9BIg8kJnGQW3Q(w~Q(NV2_LdL?;Aod$FDKzjWckr-Ln zvl_SEDwHWO(}#=^7ds*s-=+_+f>)yCPX(mWp!ZK)~s97q*rcTq;8MhZ_Qk7-a0u3ll zl`e3w+xI3a0#~ZQ<=cP4f&|_c!Ly$CO2K$QN>7^q{86S>-KR3aMmBuB(@(D>Hjb#| zU|>&#UZ_boI7L6(NSr0j5fnf#{pxPwhnDD5AaSS}4>zH{*+cqYi{9z`S?LLy=oXJr zHQ?s!vhBy~xjaDrA8Z$}EY(dH%U0gbsb4CQAdzf!w zmv*N!3Z zb9jH9lgc0~Td$lH`Lb5U3J8e2*c9|HBy&*K^iq%g6&la}r!qiW*} zU1*d(@mx(j=o!&;XB3pMMTl{Y9tZbN3Ov**pW(~V&m;`5O@g_JT<9&S-3|a|K@(Zi z&M)$x%(wm>SUWw*+7Oidk~PNuqB~bo24z~!@s{B#iyS27*cJPaS|>~Yi;Le0mbD(> zgUP2QmPg-)ukYjlW|M^$7=qQC?Fpcdpu>rTLbzYAj?9xBv@It8qkX%$yr8)}TKJp8 z1{bM5L}bOdEtzYdro>a8f2}w9!SjlJLoN;tuqGEF5Iq8Y$ZFbUVDtn3zIsI*0^q;^ z5*2jz>y`6VcLT_?>s|=ejyOG2>=naQ(}|DYj~4kD}$&ryjT9% z|VQ^TRm1ajo?S0-_8GoG?cG;*AW_fhQM@=oJ*`;vCZFT1HOzx)XD{L9*ffW6FP znke;=K{~P{dfOlOF8wik^O$Vri`~5Jf%n~oOI;abZaiD6m&$^J#WvCiGQ5FOOv|un z1`-;*4p-i$KZvmosOjYd4bGyXB=>MQ3w#u8iK@EDhh5YfJt#aVttM6OUUI&nJjBZo z9IDYSyPz_DOdA38j5Plpj?f+}}=dVHrS^CB;> zSpo;}C-YaG8baZ_$iV7Xr=k{G8M#4!2VRRgQczpi>k;FkUC^8!i}O^&6#Vx}oO2XvKxa}tE+=rIqx~TU8#$(&Gl~uvS_-<@ z2_K;29E&y*BaM8um9%$LQT3_ly1EyF;G&lO^U;eDam*ijWe;Ad*par0f=8i+yda%O zXxi=O(h>{ZRvf9jh$$l zc5CaZ)Cm;snn>zb;1vFdi^Y3d(d%(%L}neE?{#i@MKR=9v_QbPE}rw=!7c@r)D%&5 zsyDSMBfT;0FL7?=$l}Ph!i>MWs!RS{Pct9SEj1fkN0j6q$j|REK{K^|Ycxa&<8>>^ zV%eb3_sUMq`#R~d6rl7U#Hl+&xjXUF>+RjDN@&yRmZ0ep5L#Q!Y9Ykb0w#q}F7EYV7%Eqt$ z87-qwQ`10MbjSLbLl5Lnt+s#ekQ|aAEjs7P`|uhD0d(StIIqX( zZYU%iYu_=Ir>Bx&VMf;VkvpaVQ(~uEH-7(mN){h*?`C24g-5pa7kzM9N!wkkzBowz zoI@UGskFHIvpOk;PM{A{ucA1U@onv0xo1r7K|wG|^!#540=C^dY+kQphEQObY~ka} ziM8kQF5zJ)kw(RNF3u`c_ih?dMJzKHD^E5t#qG=FfZ*dg^xF%3FR^E0qUNNc~kL~4${WF{mDQZ2cLJzJXahW;%czL!6`pCC^kOV z6+P`ci+849?Vl&9b+;uA_hU`N0B>AuQPM;;^mGx?j`<3b%Zm&BqeiQW`*epU4@ou6 zjDvy;3$2stONWf0t&mBg1Z9rnRsIYKt@A?9*!M3^IfrMXz7-NArYKt;6tgjp2~XC? z8k(5xxnmt+?uqq8%HhT$X-7OIoPMdgik>UySF}V)Dpn5Vcn7tzY99>z3wijtaSE4v zLf;GxiV*A9`hEI?kct zM58*03vO3cId^hg2)!N_LoR>N#PIa=?QNN{dg$qb1_P4C8dEbdy_6S?>_+# zgQdU9@9@F96LOEy3=2{)3a)reQD9Q-q6y34BIq0xSH{7pWIPOQqcH2kFRL3VyS#Y% zk2Fn05O*Ylj`6hMV0!Cx_wiem=~d5ag@LDz3^q;dnvc)=xB^7kgl;@hQ~+tKkYM9L z=Jj%gT_Df1{c3=b1bhdYS4eTTJ~{7=DKCcxwu+!YIvv5X9u%Dz8L; zT|ksNKw+aE9iKPjY6CRnBFACXwtGv|t01UAzhl1r&H8qZ`89y^y}x4NasM^!=9E4c zYHgr2{nC<(wnmFBZp>(%l`NI4f8VG&#>b`XL>wOfr6XMr5eBP=VzM0|2xEm`NS@mm zWwjFE9`*Z;MHs(7+f<9vo)sc&WJQIB;oW0XAQbT`tQL=bzDE7iCv9NKJ2ZcuD0+VWbP!8+o4kDwgPEP4St>19QjOn)9( zQQ|V)2!eitBdfI$T7TVxRrZ~{Rsuz5$(xtC!;EBd9l5%?o(Tb`24j%HhoO*^JpHgt zH%-J_6UaJ`cL0LUg@l`-(7bB>>$U>^)A^O^@z&zj_MypXP6<-R9GveXx zflSipO@c+U640iYZs0`aZ^ZLeYQTnzkuj#utzsv8ls5}CKMfnXf^z~SUWfu!w=hK; z7sZ?N`vaj6{OsD^X;3XdVyJHIBOUf0w>`ySV7MhXO~8rd3V{q@8&DFYb0k5gE<8-JJbht&w>2it$1h5;xgb2GbQ_qwiY!O)0}2U*{iGdKK`an$5M|GWd*AnzdAA-J|tZw0T3 z335-1ehpp?_rd`T2?|$Pn_sIQ(4d&yJ70rs8=l7%RjEn-`-G9Q@|l4V)kU35{d0)+ z>W|;{?kt(#Q5Ti`_Uvx3Y%B4TMNXs`q)eJ!~`nplxS?~ClpJ%jJM!k;f+Q+0T_We4Q?c{;oC9wRBoL+S#|oZUdO%jXOX7Wa`S zrJ?HL^n@KLXR-v;22`h2*aqyYBNsvojJntG&_E_F73A<(X3$O3(SjM({QSVw{-_dF z5GjrQ(AqdBJH8t{{onLu`P3A|eCiMSFnhX@e$M16>v3@+7=x}Yh9-XwrHQlTRQ%K& z^&vqpj@)Et4Y7z@gD5O8_pu6rha_>~;W_TWEf$3j#x76;ykyZSdR@~UV z9|fBkHAhAoU#t&KL(l!;XdL=JApO9>CW`%q&lwkwUoqHlDl)|Ql+w2>(8m2v^ldY= zB#S#^WM+-D+RP*B;{JtZcODv)iJR34Uz$Gq^4G( zbALwLacIY4@6cq`^iyf&r$%k`ru*S2UNy)Nnv55^UQW!H+8hDY&yYUf?9W#W*G|Le#~uCRV#aSTf?g(CvFuehH({|wgR+lw2*gSM#+PDD8CgV z7Uc|?27KEdik9Q!Vm;8DW9=NDciGpF!`LlcRxdwqQ{DGWf|) z4vt0UC?rcjy(8!0Z#GP%SkpcF6C?_C#wNY~IYza4Q-(RtxVL75enPkB0$172!!ZYI zA6DDcCKR>|^c@;p*3|F`*Rh}j@53}mkhG@AsV#ALEJd9nnJ3iBZW#y_I^qkQ;f6=duvHrqgP>sG-ACLdRZ>zdIS5Q~R}~HL$ACpBQkwR?m?SC)3HV>i{Lq-3QqK z6ob?K>BPQ`o!rS3NT`An%*hf6zRPbjCxP@Yo5`I2cK7=A-rrk`MqGj!2bTgKvF3$} z`FbW2#huP6>}<0Vhhz0zT3Y;JfWU+R@8`uu35~(qG*0j5$KS$ za8FSQX9wO89n@Mv1oOLN9S8T_z4R~SE?ah%VkSaldY+*|y5q3w5E>xd?5W?eMPj_g z;H=wNcs=ioh#7RX2a|g{(>@cMX+3nS~Ya{#(A}-5{o-3M65e8sht;8 zR{dTdHgi0`X0FMK&X}UCr`v%o|Ed>{XWrQyr$wa~3=U3TU=-9X?6Pm{4U|O&uhiAn z$fTnm-l*hRGAV6kK_Z>HIMU%NRa(nNv!)r$ht9$Zq8<;fGuWu&eUZ6hUD1fbp1ioz zD#-f$9>ORiC>-rwS=09^VWdjeT78nMW0%Ls=I`b3^BD>$&GItH_wchc&q?u}8eQwK z<)Mp6Xcmn?%k=p$t>hd|22P|nqOm2ptByb=mm|dVmr=x48Sg}x;9j!eVN27ePl=7M zRzNJxSbkO;=ZT4R?1@W3TG7ks?12UVeO*QZ6QI_mMEa0E46bWz5ZJ^L_>Uqt)OVmw zEk>)LF|wXxN170KXIS1*#LI#YtXOY$VeRLlx)Rok?tuEgcRd5#!&@NW;xrs8%o&}1 zl#4`2^w-+cnUA20!3zu8M3`7SfzQ7`HZk56Svf_k^FGm1(9_^9pHfG(9>~$c5yz8O%Fv z?19hq-R*|C58ENaRB(|6$AF#++%tbji+lU;yJ#R7^r79#X&Q0_?8ZAy0bblW?92yE2lr*_y}c$ zb~{o((@Sm~-}>N4;6xoi_-5dMTo8ldhtyc>i*Go`sP%KKtsRq*faP#f= z;UVKqgwc;8da49kkskXgDkfYQ{Xv!U{ZF&JM`Qizg)};Au z_T)Ne7U6E{(;vo`nO%k$$%;@08=#Y?G#lQjiocq?*>Y}aP*CzQLbMteIxqsZ>om zm_T5kcBk2i-u;y|bzA@b*eW+uYl}Cb5aT?E@-*JvKHF17AEuMvD1!U;z3f|A_WyK| z9gHm1aggi>?5c(7At{r-a1ZdztkGk@GAifKz1?nIYW*MHG!gzUgm%>9xu}B7VMULM zj$BrW_*GDRJ<`&R*Gkf>VC<=4d;`c9{Vlor_c?5z*F6*x>C4Cq0jpG3f(t6^xvyX4 zgDaJ1660w(lOC0j5OE$#-(pD)WD59?6RY*t&8J`+;9=rw3FzOxn

    %(2}8MJKDso%i$Q~&=ca~bMb>$Mv&m=GO&FQShXmDH3x+I25+ylg|uxGvDftzr$_I`5HBqeQzZRpUXR!i z_h;^z8xOPFvI+Du%S?>q%Gj!g(%Q(O@~C}{{>gPsK`U(g(U!VXjh_ck%EMVBgb~Ni zj#M6;mI*C|htTHwSLu~QR6PCr@VO?GfuaYJV&+m3@g&_-45z<#t~W)EfuPpyP4n+i zaE4nO8rm9*5+OvCU%FR+_e6N2I(_rvN_CZ>o^4yluK?8M;*9KBhg3uuK`?99hM9Lq zYaYMG6b{c~p-VkRTyR|yR>$aAK^LuE$|lG@9M*EzcQVDx&qAB!80ME@|7agfg3IgN zATn1o+d5hes)s!MP#F^E1Aq!5VWDg1E|&@M98J|}kcg3})$u{0U-Q!ba{Uyr<9K-V zzRu=?kH_+UrG!F9_exm?1~ToGq}34jnpK{9>hG7&550MQ25F7;-UW4b!`Z+ZI8|#( z{keNdHP6(ae1}+1gGf(R+YX(1H6FF6ntYevbx_UdF4k=7J2JXCZSC6U7iQg`Hqi9* z|AiQxtTgQ~(u=+B@yLd2j@y6hSBM)LJ<=0uMYEuVq@%}H#RoqaojrEUYKb*wWu&Ls z_;l0d@#kp)PsRC^&0Rod80Q*dzg&k%7an+l(*Jfj6x|(9f!P;;$=ldZx(lM1ol~gBhG6x65Mqs8e|L zJjYx?7b#?(WbJ=G=<+>$!EaNllk;qPkxyWu>gTr?E5qtO2^!PY?3U5W+u9KV$88i5 z&vj{Oy-K}P0oLj|QqLNcHS@pLp*CnF;v=_nA{CR%=@-%FgtU;KE_KZ+ri!JD!=?3V zbs|o}QY=3F)Y3kt;A&bLGjgcg#{(Y0Eodfg6dqLHh2<7t-Fem0hEK(w@U4<%G{yhm0JBL7;jn}SFr?nI0c4az^(PHsu39pzrX}OPF8F|ssE{7L*EiVfajNP%FQ6rHp8dY6 zN&S0F6maketC~uOUxmebhxbF`=_ckz>fUTqIhdBWwONI&Z^x`l;hb}@(|ZW5pVn^w zP!K<_8J;!t;v(~DV%9gu(R+<8g#p;g%1TxRJ#g<}-}dEn`_2xu#F}cP@%a@!7I()$ z!2}Zw;#*LFlIYh9VmE(%F_>xN7VR z!no zWipY&N!+$GW0_cd3S2U3FsQYS=@_e>SLqn4+J(!X($&-k^JQ?v7L`sIz1{vd+8|%b zlQ71$PRH9FGof8sLj9h(;cO#OKb$7Mjczlue$)+fR&?^BN4pCmRKeBWfurnn`Q(qF zl$!A=eUSBQW0f0E-#P*#K~m#VL{vk^!n>(keDtAtSg?D|oJemJ{SkY7Y}WBlFa%tX z4HpV*uU|POG+VxgG!<_*JufEY#S&q(8N>-&e}9`#gMuTwwM63gHlKw1iUdK86M`?& zQdB3Lx@MtMnmt0GNq`6ZIs_4Nw%D2(;sl^)bO+KvN=0bF>HK*K!s4MZm5|#8gPOj@ zigy}v?Ys~cYlQj#WVOpF7CwQ@qALTciGgaeZOzm|OJj|9V-!mJAx1()F1 zAs>nAa1$?ZVk(Rtj?F`$Na%e`qIfro1I%`+OHaZt3cqc=hM|qYuA*He$kzCdOZ)3D zw4bzsv!DcImLhHq985O&Sa}q#lBiix*}D5B9}N>3CbCj5I3;+3QCdCEF8OWXYL7KjgqQH$1e!ZovbFMvSm8>vCJe1 zvRcY0HO1v|RgZ*L8@4>|26gtr{)EnUQ;sR`^0B)fzr$_v?knMX9RwjWj($De$2;Do;+mj?*n*!f0v*59oeJ#m9Cq?!Ly^Po(3j^()d_;yZop zd2^N^3}7iyl>TlrJyLsNdSG$Yf|mrTkT26yG;deuqA`GhrW6V=$;wGXJNx6woldVZ z=$ctv(9P5W*nSr139+Q3cX4AGmf}65j0fr7lYoy!HIk|q#p^%pbM^JMS>>KI4+EMu zlx%($ZSeImG{YtIU zm~c}?1lFVeBQ0JhU+On*3+KChuAf%o&V<7OT5OlIM5TF2{+X)1;n1*EI2Ziw_m$&q zp{b~;A5s=O?66G=&fz~+4%egNY5ziE<0pJfr!xWG@8mg8B}BoCBh*;p3Egg!_>1!P z5qdL=-xE4Y3(2BooiepSrjLw#zE}RVrLK=R(^Jns>F>Ny_i3VXg1xzA*Up!o@K^91 zMMqtO>}e`%>Kd^z^-bYvV!@TQE@$UoU<#lk-Fiwi1e{_KS(O%tT3z8uQVKySdSsQj z>gC>ze+)OhJaNSya6!%5r0ra&)!f^dtEZk?oO&1~_>iuCs%mOcdX#2em6w&bjBoi} z+7)G9c|M%Uh;GGw{h#YrkM~<4i`{x4?E{h(kg-e@T(ta9TV;of7`^c(8aEd(Mx&Cy zo;a`TaanFx>eEgs8@^(u2yHvXVM(jkpuh{(JT}E@Q5OL?Y=7cr`N3PR!O8zbw=v=? zhFCb)w#6~(9|D<+<;b_wS4q{6Y9m`t)ja(4^0PYQklJyDKXI3#=H0Q;pbgX&LiON= z5loe^PMhRH%C*|wDbLhf_JnU_oaBnE!fCJ_ZO8^FTG}=?Z2-YpR!0+#a{k$lgv8)7 z&7|3}8H~OPQ`5zfEC6&A3PZ?uKsUx6~G|dU-&&g(-L#Zv_c_A?yh>0D}vm^r5k$3+s?zLcEN7uenY4+$^ z7u8VTZhI+}NTQn%7#(*-Ysa#GeT003u~;$%OSPQ-ge0OdJli3abC^bBNI-GrNXB}O zFJ*&sHi2h0<%L_CiT6=YYsrBJYFDbX15J)IK1;|7+?TSb4n8kalhX8}^XEP1;tcKc zn%8%jh=P0EGvhef!e0yY&Sw9bjcVsg5L)6ajsgDaC1dGgSJbnN;8jbrbJ?ET%Ql-y z=ulJ6;oPR+p50fkBE;g<6f0GmK{!}j;Z{REsp~ zj04m*iS%uA%fs0xsLl?&Js(b?5%LRA9Xq7QxL})Ukl)D_F$b2!m>a{Q4#C&X$%2mDwnlTBg(2&>jtF(qsx*3PkIy~#&V8-eK?>R0N*c>p9d!z(`M>$mEI(8 z3q4V?l?BX^>bzb$TL0k}SF80Nzaz5ZJs?nzWrdB_`I zQk=o+8|ClOkiY0ajB^p@Y6Z@7TD@sO#l@X(sPUPoHjwSjeQhRr{MJChu_Dmc#piaJ zw>B%=E9fwBNgk^&-Iw9|Ew)wzpflnjh21Z=EZ2q1(w-f+zulHN}PA- zY}=%B9_c8`*lWUY5RAy_WrF3mMNl&&3(Y}}Uk(X}ukW{P^uahHLNs0i7hogg94v#QSZMN-I(A97SG5p6bA$h%7b1?AR*a$2vL1 zDb??M9(QtiNK81Olp$6TdR$HOV4i5?mChMw5F72A_laL-yk@tYz4&RqfPbqgg7k~_ zLkq5};$-8=BhF93+-=Y266eaqAKf{ z#|ZJQg}RpSqh_L#ri97g@Y2MWP4n`Px38G`fj|P?kqdZmlrRFff=*++M)4ktkQQZ1 z&fYUGc%Q8n#970}^YMa5@Z`63I$v|d z&9da$R$0UadNDDEH2QcyJP{7JKqE-ug@r1Y8fJwfO;Re+$6`swiK=a-Tv3tBRfLkq zv|tyJHmve&Gnktp#-XqtzQ^S@`*$z>Sld{2PZ%B4^5g#Ihkd=3x9WVg8{N-cE`B*o!a~aK zL?Bc?;bB#afysRzG|eBXKZIBRLub`Jwuu~Ej0lK2*3x(ITq@Sk=WI@a)1t^gUr3`| zPd&@e5>%hr-Vsk4pk~&JMX{Gvu&w>;-GU`|9~94EHU*-R z<@NoYoa}w1s&+9nsdhQCLf&w*3{hq-Pv67d+b7Iu+ASs1>Yv?10F`-7Ktgv6cd83W+QGx*X z{ozFG`xgJ)9GF^&u=ynS{(Wouf=_bHo#=bsUfV{BZSRhh503bM?u^p||2OgVvqtT@ z-)Hct;`}_FBW*#ydVER28N6*e?$%*~r_JMh>3W>Q#1IKuc%yzT^n;)XYAUNwm@qWz z_Dt)YX|4@aFFKAF&$lEslIb}ehMt{fxc3rGK`id4Gx>Z#N}>-hfFMEbUP5lD8vKM4 zJdTtAW*;RAK?Hp0`fjhi_b&MbRuxyVcd37>S>8GG$qQQ@)>m5@Sv|?~3o&~EZXse5 zIjqDJ5sHM&!(s`+735j(p|xqpm;T5)9@yi}akR{j1&+%w#@ z4Gw6@EtIl5#Z-J(yZc{A_SrP{4?3&)*ScS9pr0Ib8E@~BAn9$+?rWe1Ut6E%^qo0S zw6*L6EkSV5XP~93`su0YeIq)KGI=pAWDGD0r`P@^yKwIxfp=w{AW)M#A^PW!+hw-g zz#KT;;YZmmVVnMA>09Du9EW4M%MhPxW+gF?MRBB=m{|I^bC(~?~e7*80cC+=yb=A zzp=&#WPO990THb5Z1O`K@VfV2wUeWuI5 zWQ=5lwxfBMSEZmY>$h26TePO>f7sh7a`xWur>9?F1QADzMUVc4kPHma=Jm#o-JWnN zb{=pety{JuAa2WE;!vy?e3iS2zC66u&i&Gv8b9L2nsoD`h3Uv(RZn1H-P3o%a&3^1 z8Q%NaW6u>Ms5zrh#KH6|YLv7z z{~l$7ybeZ-MH^Dx@hLhFwMkG5Z_~yJN3}^eg{IWRs}>d{{5^uv;k62henm29Ed`NQ zz;j4Cb$h8HU~1+#WhTct6RAB%Su|~vRG46Au`cHz<0N`|rzt0+<%N8d;V>7J@xCn+ zdI!p0bzH78lL-o(jvrd2eyaWUtbDWj(z82`amT-Xomx&*Mj>VFa`k790!&?3?}^LU znTCrdi#-Qk6+k-YE<9Z%bO03Oi>-}6X@;>IlZC1QcG)t7=a^GSpG3_kFC6Gn9@gBBR3cB0HMCa#{4J5Wsca>gBNp={~Y zyMrX<{^s?=4-7K6f+b0eR0f zzqR<}$<~${f4yNU0<%JQq@t}|7*ud6*j9AZQ?W%K`WRX&R&o67DT|#_KN!R^Si$8f zmZG?MjHu+RB0&!}--Te9cD5Vc)$A33Wsk8@n>wcp~nJfrK2 zZ&K^M-=*o6PkwC#eKG&#nDo|=mz|zl9=0LY7iQz*`&EcAMTbc}Z1=V`CO=!FBx^k< z_ooy1bdl9hZZ*l){o#f5VMUweFP!w(^on$+Lb(u5%K(}i>%pgY$UBcIg(panuWFmC zpY*@wA|Lc_ZTVbX{B$0a=|~@a5lo%`ek;*8S?*zbQK=b{8T38Md3L|OEZaz*GMma% zXb5*NxT@6&N**p512m&ZD>w|ya)CzAo(kZEJtvQi?0xyFH%jv0RqyXM3%l<2eTq3x z{;efhyURK4nU8!+7Uw+~W`tCT!)2a9eyf(RHlS<;wD500YEA==5mYgEdz>MS?8f#DFF~Ik$qo4MU{AuX9+N?3V6NMn=q}^4(rL=UnEl>+lK5ZH@73(jK4wxCpt}4nmkn5ONlqls*+tIL3Y;&62c6C~aVXj-vb|x$rQ;w;|7F>y zhwJZs_SK_+n*(z#O(|7-ESjyT4?d>#E-69MaE8MxCbsX*3QHH4l43l%ROu@4Q2aGR zjuYm8GGv*0YS!%u1ZjmOg*Hw3=+Co!@g<)(f*tpi=H?8l65M> zEfrWpDB7=RRUG1C&C{mH@bk5;VA;vzhEF!Hq}JzDD5_g|3!|;07S}|k@jPd_NzpPe z-*WF`BzCa7U#Aig(0mGU7{I}ZC+iJdLBxG~u6-|-v}utbJvnPjK2T<0U~6ac?PSPm zr@QS-HKQ*(@y62Kj(aRFcs?3#Zpzsi+Nf3r~AkMntYMw z1;mO&+W`~J&_)caktU6dznzl*3p_;Pr-I=Ul8~)RHY{0=Ad{SRTVby%!d`5GMaz$M*g-v&kAbd`3E<1$u#thuf)e%;aYi;&UIyrb64zB#=>qt?{zYDjsKx+7(ZF*+^ZlJ=Lv z=6sYTdRkkLTt7W?$7gW=uFi_Hp1Y2m{CD7{_w6q&L#MrOkKBARnIpNlX|{eib2u^J z&yb+vW;-2({(-CB{Kuz%HoBc(01264oy=o3v5EJ8s2#ui+rPVSaPNE3_7nB}wYSoG zc;1}&wYzi+3Wws~x>oFo9J6axHlL6?On>_LwkV z2b>;u6d8E~xqY{n-R;n=b>v4fi>ZQVl8{2Y_u{5ae^z9_JNqy9&u9ImNTYva2(&-$ zdyz}6qt3exP{a0qskAN2CoC1C5Y#t$+*`wlR05MmJU-0Ix74RWVsFr(8K828LQN#2 zb?rZ#&-`tT*eu5BBG`DgIEcXA)@w7Wz02IB6zcphi8L?G%X{Z@@P&k(cg6u$EOaO(_8SMd(?;_^sn4JEkyokM=6Cy;tX7` z`>{M0^!^RlLtx{kx3sA=JK>Uk11E3ZQ_0u(UYIfK{rOq9QEp*ifi}9a>FoQII0>h| zki(qv_?XY7C!3j&f`Ix&-!ajOzc82(82i)t&eiQkoiPT6NMl1J zT0WF-H`l9!Vr_3SDTSF9S3z!`LA?pq-H+=`^~ABR#yh?KVU4buA82nBv>ynLKuIJ~>1m2pkf+lpn2ibeLL9_G0j;uJ%+%yKW`i zAl7yH^>mW+p>|C0%l`p_4=sML+$^X~j9eb7h@2WtsydoL@-2Dvh+mahB`7SbSIb`h zsh?wc1^?KB{9cQ74D!)uMc)2qUta;ZT;DZ0)p?^Aw)w8WKmL!8VI%Q+7{BHEO zIV6NiqB@;O7CmDl@;?#!s`qq5rcC2ACvc7wM`#Dza~Rr5i2J4Gv41|n=gGj-Z!*jM zvij#k6P%{eOs`uhEvaKqT6ifp=Y6C9sEE36a{BuL9l!j>sNl>Dd=IPmEsgG&VgD|D zpJ^RSO=EZVdK%u^!W6=AuK-lbA`U_}S!KahFun)hMs>emIfeh=?t(`3PGuw_x2OlS z1OI_2lj%=)lK+F;?A(DMN%rfSGHH;n?QDFIrP4s>q)NMsQT64g@Z+X+rDCSyOGRyy zMyT+-oj!1tdo)(GWoxY!BO);0M+9JYen z#;8i~YAv=dE_rYl5d}l$eF9_#E+Q05x(TrvonUz#OV0XG4F5IQ|6*(wRH} z=mHZ2d1DN&hrYhvLm*HhXa+Hco+*g<_lRp&#ii;Sbw#z!oX=HrPT#=DCnd_X_H>gm zKJ#^)gMQ}Nc>5;ypvD`qbu--pg$|4YFW zq$3~@40SJPrBLl@xk=herek#tZl3Nb}4$^;XrtI zeN!_sRPBcj(yQN4yOV@Zu|#@;xCxHxB}Qfp!u8+8R=Fcqdm28ZK zpyX1r7D0})_}+%Py_-MzWvaHdAmA3ZIgoK^apcjFvcfMF(O-@n_+kZq9j&=P^?o}w zg*JbtH2vr5YaxQR)9GEgCFSS=PnS+2&-gle0v~vcb95^t#pf$ z{E=OepA!^^#sWEsl7WTs*6&2i182}(AkGFMb|!a2g6J8L*R!%od!V|7K#?WAHY7s7 zl8q5?b%S9htkzTqO)8PX@46>mdh+41At8eOC&V+kVytTg<{VG;ON$vRp$Q#2v;qxYcXN^a6d;>YJGhxm-tRc1uqp`u8iRpNkb=G(kCO271R!Y@1 zri4*+{-jXwq zS+S5gRi5n&Y!pw(->nA;{wbXr{_?1M*^q6gRS)mL zBj4!JxzGN|Qz%DqRf!q~Lm1oz9rR^lVe$)4J^KcI1GF%YgM~N^Qw+~F7%(iv)9prV zu6fxCF=ByHhHmf0i{GbVJ%rfI_Nk^~tJW0DsMobec=6FsI!m8>PDmTXOUajq#`oM6 z$8!b(^Zk}}Ns=ami-jJhG+79rP=<|eIzxXEFYVbR9qN!#qvPpUMFn=xKk zo%Y@KojCKCx}tce4EjpEQsb*?tN8fLqD=nzvc_t0qBY16hVBp=38=0{Mq=zLI2$gu zU=rkc!(?E3c_=7O(=0)+Z|V?{4OVqdxk%W7(`#84RenSz64_RtmJL2lS1j^zwe)Hx z=|702&v|J&D>Cu<-+`%CiJ_7HMT&%RdMn=LeNfh5k8ry?W;(5@!z=+|@@4zh?xjLh z$5OJn{#UbjqhLB7uC>;^(H4-+LkP&BTnyari2z}7DN)l zErN5ggz-N&G_LG6(_fgtA%H7KPFZ>!gV)s;=5^xQ*%s6kv7|wg(8ernDJ-Z@w~Qa+ zcM7*v)DKP$yk~T!Eg-2n+W9YV9(!bbl?W=!3NyS*%xb$yp5tI`DQK}%DXL`GxQC?E zR+gm)n~8D9D6yA+{;LxQHiHyxc9l8IY2?xE3ztIj!~BoBwVH(Ue65?u9}Je9yy;_6 zKO&!!apjx~?cKfpAdm2y(1?9(nKZZfiAcvbm&hfPZVm)4S-1)XYjsP4nu+tM0MQh{ zzp+xV6(c}EQtDGzMqO_EI7=Z;+S z>|;Q(KJPBJJ{J;-gn-hF0W9Dv%eXhJn8BeqS3NqcAMZX^vx(Yn=wFHuWw;x^A_vnM@X`;t%8PHD54gB=E7`i~ ztHyDn{`7C7JUZ5yCG|vO4P2zW{9^If6rpig%JcUH*uv&QQQPSh-|`*ruu}yO4uH8+ zYGkCsH{u2Cx7gLaN$jYixv$yE-Xw|p-FEfkj95oR2#qXs&XwMeg0%OdLC+qG59Ua- z^EkOWAhs~`72wB^OQFyVJC}*IhZR0mV}0GeDZZywlE`C<1$wV&yY;}F{*xc0R+djVCzNHFMOWm33rAg}ru|7PH zPFhwtfhYt6Yd@EEFTKO&pPZY;>!$}#O>e#3XkNhjXSdE&+Ke$Q4R%G{CFNmbNOQT# z;)YhBvs!PjiU#5Ijv%Mst{%d&GvhdUl;Y_-lD8W&={GDuI6y2(I_bWgZaIb%fbw!@Qfb-X;MD(1mrb@ujEVd&k`k-<)X@}20&=D zF^>>KDZ?A>sin?w3Z?FP!;^y#JncUP<*vg1D>TQL;GrC<%lCtC_uHhhqrZ(O$(Y7= zt^$tD5gP43NFte%S<~y(h!7V0Z2dbf?dE#*d%@^5Th`mv^Zme?BuKgXdJ`a*@rq)t*af_53FdN3{T$C`tG` z@qeO0sidrJM`)xbV&>Dz3*DU_(rn&v46GH`{Sj)05a_hCKpt8;kz|qCW1weG+XZgc zczj`76-pJ;Sp*8@7W5m&hG{YG^|49cuSvKA%Z_|GPvoeItSo;&Js=Nk{Vsy`hfeo8 ziojJ8lE7YZTa1WJ-!rF5ze(t)B#9YMBIjZ=pXdaY0RkNt94cA z0x!Dda=qH5qucZ(W%O?;XFS~@8V;EQ)*`Y}6{lX!0H$;BwQTYqq?bZmBr1hDv)G+R zKHhf_vF9i$-$>~>#?lXJpY4-Vr8^ECqJ_|Rz{s(-U91w>O~v41JG%$xd<=pGuFCBE z(W(cFk2gdg(9~e@JNy%7vUJ48GhnCoRQ5h4s#*5JH>D!s=osJUH%IT{z<3@2tCp)L z)Axh)z7^|xRfdb1u%o#VLRPm;-=1*#a{>8mf^}2Pv&i{wy5F8H%wDAP!xcH&HJ5p5 zmW!|-j`*zjGiJie;LcOyZE;-;#C8kjO;zC zx%i>(?0oGDDs$kDWlKUe{&ciIex_WqDPFh@-oV{*ZHyE#jdEI0^0ZJ^^xYMP2m&Ro zl~E;e?bXAXyfMpgAm$RXIToR4blD9-tWFn-&oKcKCq7uWzwt1Rak|tE$;)kRLLp!B zhoPBs8^eF(XMN^{$0tA2>?CBI9oj~!s&h6b=0RVIt%M@cqzWj$4FclX4X20!fD zEQiHk3ZFlk<{yufL>1OCzn-aXDB}W_Z=|~%GSjQmu?`Htxo~Omm9;BS+C9xSs}Xa# zu|zIp)8hKDySf`1XVF3$H6}?uD*`C{0UFGl;XMk4P?9Im=IZ-?FVBRPmnnQ5cZ6y# zQ@LGdBCVNwI@&mGKQPd15z`PBF!camgC~02k%=_R&UvG@)tZ!WT!+w>lwpx7xUJrn z(xMkOc)|`q<>=0?{R(NGgcAO%%xWL!aQKm-09j%yJJqUx&^eyCmtVM#udG)3d&{1u zMnN{Zc}%&vM{LSr)7@-VW0cMtCTvv;(rk)DDE)hG9_!~!R20DC-Jqk4mR?P+GUFV2 zs-*Y^-KL5SEind?e5ajjA zY*%)aUg~lRrStB)!bhSQ+b#gbL3c|f3I^;L#k~=wN|b6)QjZVl_bWkz-vEG{ojq^M z#+O@|;apWed?RwM6qhBMJdXDhH=)_$ z&-adhICe8JWQ9l9M5>4QSr;oR>4|<*uToZgH=d2j!a-?`hD!=2l5JMoJ|`lO&hwkS(=3$7PzUqkE< z$#TQ>Lf#O1vF>{_yZGcwBm|W10+2JIRS^JI4MXf&a~{`@b;DP>c}QrPtTfhd3AWBQ z6Y$Us(ncGcZmQ0NeecS>!m|4*&5G*kLgpZoQC8S?X2*8iWm$Y{{Sj{c^3uovlmF@g zE{GItv^`aGFfXTM3FP2b#WbM<>};=1;w>me_Mbw@3Ge^ODv9#$fc9S#Vp5aMtB}U4 z$afdlxFwr`nPjndKc!KUo#DRkh|Gd({p|eVec=@c&ZvF(j`!U#11++eGk(p!l?CdQ zhrBKfMbmntN!JvAEXVIA=5zKnkx7$+g=ghNj~R6mz#vIQ1WmMJHVx`7mHF&E4EE%G zg;DY-&Bs%}yw>x&mZT**h3E``x36=DbW}mb8DNy#U((PNd zaN%Wn6Oa044VWknHCm9BlFp>1W#MRNxM7y_8ny4tnsHYv?hVDC#YbwI*1RuY%sG8? zI~IC;r{BF`hd&nHmv8b9FMPG7qhQavaaCk3Z1?u7E9B?%zMcMUtH&XPIOox~ z;pay5udl)5^bXTh%A@boe%Wy&1ob@?qD}jSrXw zTeAwx*XM`T^4ECZ94*Ax5ogc74cPVNbztR{5eu$zm(oAcxBthNc>jY_hwp!vd$rx0 zieJmhr)one=42-F_WDQ9txpg?#Q2({{emsxFF`^nP7>h5x&M@U`vgRI84@y$cElTb zrI2ZJ3(5Nq+{Hzhxb$T9TN6KpqA-ThUV6@tfuZH#t>5;3gCD%l*s`*RN)ofmxg(B3gG5>loqsEP!$>?r0jM@-ubO&i~nCA z*R-yvrD9GrUme!(^!G52TIJ}u(ghBIboLP_0;;=NNPMpz%t-M#uk+s(D0$g_RyaAXTMg~U*VoT?jIn*My5SJzQ1DIAHxTHaL+ns>r!g_YR(L{ zGGqtTn=FM&cK&zg3>Ck>(DvM+`(|J8}In16Q}LHB?1cN^ZnnWksN>qlhSw^xlFm=BtXXJt8G#{cOv9E&;e zUg&S>(ss)tj^cmd9WYTJ(L2$@L|&h_{e`~y=Lp1{=J(57&v%FJ{E8abYF2sF<=A=M zpeP-kagUyCYHa#i;fu-wL;G_#cXgtAj=Z2A85!JXG;6lFn2J>M#C!Wngd|onjeVbU4Bs!X*@-5dz2PBOXkELKOaH$`Us0E+Xw{s!{fqoVRi7+*-;nCDT3*4b*;MlbvmmB#7LbGCNH{c`n|U-#2Sl&z zRs#ka09d3!Z(h_BGAeMIZZJy+|0JhL>W68 z3>SMD8uvN~ojSaSH}wK-!5r28tEo3VHLNV($3H;kUqAAoa)>#&qw@Nzn~^%%$l zT1p(4Pmx8|ojFU$|GZj(o=B2OWpeJ51L;8ZWfrVkT%sF_>LiYSZ5Yi>2}aPAN*S+B zuuCrmgpG_FyG(r|MMmA-eg4@yPTw%-^H0+p5V>$@a)rb&~8+hQ&Sf!NJp4c zGGDs*w>S6a78VMV!NNdXWZlL&EVZgH18*wkNoX?@_^~62BO{5adqHVV67IO-Rs;Ut zd4AYz{YbN{VoGrzaV@yfKs{|Z*Dj_RWJ3{aSgjogdF_G_p~Z7*k}NkNlgk@J{xr_m z)9K>2j!K~2DhZ-!lGWwK{fR4)mmz}S%z`0X`r^N{p2Yl5V#fF zpC9Ed8x}t0JFjt6WgcurS~6qaXy9 zryd{*0)LIeeI4Dr$<(DG53T2?Skud5Xf=kD9q#R4fI4pH`Ew3gb$(QUdse>Op=tQk^cud zK4OBXF)OAw03V$ zHEnTwrv`r*?A|w-cpxoI&?tp)-!eEG)MPmYxp#Tm;dO9uc7RhvS}IZfAIR`^ILA6) zcFouxoq08iK$|tllx2g(3JkK$m9wr7XT_km+h^w{9iw}661&FjJH*AEi{B1Ba1Xs| zyyHneGt!dxLnSNA37k75xk!8cJM~O;_jE#v|MNRli~P9J@N$!u(7DHuTpK%A^VYt> zwReU~F>zA5L*U)#WorQ%*CO*g)9+Xlhs9;7X^-<*iuo0{$-qb}lPw_-2&MAHPho=^6%TKxE959aIL;*f zNNisA8=?eII(QgO(!0H(OImjdeoUrdlw2qf*6Uz`=zpfCylOXZ=nLQlM(&qt(jLz7 zR9w}>PEbpC?FXj84#0;L!*xymJUK_6E!jvcVpS5dc^QN}Ro}I!lAT77;9*rzj4ij- z#wPai&UUi3rva|L3xP1^J01|lI^5b<9u~;3OR<=&uPa#QxivId?O^;Sskl=oZ7rBo zM*n_*iqm&6C=rB^vh>`sOQM-U*NZj@`5jXZp(s(J@hUirp|j>rj}V4lB4oI>i{}I; z!b;nt)PE@UbHT8Fh$mhl<@Fy)tY#h`R82has+(kTpGjUg~2k-oty%N(y&aASMk%^ZO85l@Sq7)TE1Sr=n# zk3eh=ebo)44~Jq~G~ws!dKU0y|3t^{+4rcv)yI#ycVUk6IrXE@kUq*(Mv$r-H6+tM z@(hQ=Ee4ZT(8h-dkuYEd#Gj#Daaj*W@!6dYq)-N0h;_%J zUc&qY31afJJ$D-RbzwZno7x1LguSbz6jVFwsxapSsvM$|{|4ef+C;IF}ylI0ekYRt1i`H!ve@$W}(qWUD94#?>}BljkKjM{dA>AF0*dF+-!HI zg;ZHk-wVz&X9t$g?{C;nvoSKa$VisZz)}knTA%E6f$m-jGj;(H;WXoQd$&j$<3u!5 zyeGZ5*a%e`E0o8XKZJ`2@=oHCSoeOyppQgy$wcNm7tqjBQR5q(;yde4T4=i~>|an3 zw9fc}d=NATG1@A$>U+MK3AinW#9=kfWD>zG7S|;lMQd=vSxIlw{yQVh6P3y@{zy&& z{Q;N_yH-U0sGZ|QwVeG%u>ZQzHj5zbbr37Xt;r?iyk0{WoFtzO*+8M`$1lCA{mD-W zp*YO-hmeG5Kt<*rA9jWFx&`?%N=!5A1Ddq(RP(;>3T}9PMatJOEMHlFb6JueC}qCBk$BLZ z^Gu8&s33;@L0+LSEdHvpyEk1E+7{t$2Q$m=nnGz@B`UGeJL}WctBo*9<79I(f=nT> zs;)G44n)?4U#?1ggsa$(EBBXGN4+@6*s{wdjr)r29kC8Mu^#P^&nO=uP`2Ja|m zRN8;@n3&Qi&=;#+otk=yoX@W2D770*$YNAlIyxpq4J^%$rafa?SxqmPx1C+EDpdBL z*vn+KS4-#qccAXYEkl~oTDE57GrOqqi@Nbq>B?*I?Gz+|0SP&$*tqrXNF zztR$+F!aac4+8323z-WMss-PQitwmy+E)3TgmIVYYbM&1$%@kHbZP{Ddf#PL#C1fB zj`2(uO3bCZ#lW!Z+69JOU7_<0(}S><1F`vJG8vTojRAAt+VQm8fv_WL=Kek8Zbx}$z%SQ_^LjX;6HutR-k82uf|AYlH{y6Na*i^M+F%;Cp5KVL<*XeFD1QrEL+amT<4m| zII4)AZD6y5+9lFrZiN|Kh#`^Eu<2c$wnse-jU>uv>4|6NKkrLXl>`p7ag{&z3Q-u5 z2@rV&Jl41~VEt>t+IyZ0WY`-G-k%J;mF6v$p*v0m33A=+)mREFt!YBfv2TA0Ey(l% z)=45~!@+CeW#GlPWK2mzD+|U*$$x|LqOo5~N!EuN*u5o#@?{7j^y{WY+U%}UNFo;O>1QbSCQ??!cwof3Ulc7rhN+8C+!G(V6~QN8^U~A}7HkLTEE|gBaUlzhE?ic6IoZ;_U2kS*q9QlYzgNBv0v* z{dG9sl$I@pX}rPtI`;3Ve&F;!UR*gDS<_lyjMN6&4} zIkst(VNMf{0>ijc!SGsPh*oGw@p75GOX6-`(yhiOD@5A!r2(U6X9nZcj>*!|N zxtQzi-jC1!es1A*Pn|!B@UNoA{KY85uXmT5plRm?g7)CFWuLj0P&(n;l z;{(vuF|OPq zHK7qRxpofX5|iOH*uJ^FR3fvE+S=mJy+5aIQ2RXc>@Ju8sBKWTJ}&3Lo??@DY`+Ee zK@d&wT46w7iLXMgKOmQAu>5s2O(r0>na^KxqBh|WW8(9_Gg%lcrh*3o+fh^csQQ-sBW@q)<3#Mvlh;B8eU<)C^l)Ffa%6r z^bsVZ*$UONVBYx{=PWfPH|@1Zg%FAJS$;b2Fu4Fu(r}>{e=)6zy%_vFx<+%!O*=-K*B+cbiHSB#%bqLzofytxgwRd-V z5^`EUKvj>Wpz@6&;F=raFphSe; z|Ep$GqkiOs9t59xq^1`FGA4=?4qS)u<4K!`1CLBFCUQ7kg ztOyKWEgzNYz8Jy*E(>KNYiKel(djBzxOfS6MkQ z7@x}IMf+Ek7^qW1GdWAaRnY;vAm}MqgyBQ1bD`&OA7UoQyBmZ`U<~2?W4SnsnaoeZ zHZItNG?RXc{pUnt*wq7dg{Q+M<)48g_{rhQOJxJx@Sg5b`R5&C(GfUhf398Wa07w_9E zWHy{@8D*#MOIr>M-#*B{{6*H>5H8m^Thj^}(Eh`SXY48?FTAb-y2kC4NeTB`gL=!a zZuxIbSC;(y%PrH+*+V~F;_sp=cDH@A-#qf{vdZbBJb3nNv@U=uAxuX8ePO){k(H2_ zb9)+wwdWe?UPy*glm7VlmWq##8kF#!s;}D)ome675Z&k=KbXaW^K#Nais(l6vRtVF zNN~3L&MaL337V>FhE1S6;Mbk zQb}2k37FvQ?1WXIWtAuCL?L-|TAZUyoMO$Ct0t%RND?J&AH2Ro1lcqjV-JCl?tBC5 z9@x$@-)fQT!lObYG?ON0I)S=*o?#1nh{D#ezDX#f9O%wu^C73ZU9$W|Xs7$!kI?CT zPuh-Fw!}&MG!a{0OGcx^)>(1y#q-9ZR7J&aq<>p!f4S;N$6UYh9hUh7j_MrUa1I=& zvOB?4=ZLmy?=Iel2SE}nt0!i)o?o8yjR8tTzm~C2UA$;+&Pvl8(y_?7g)K5JhD6W3j8@xs((^u7@PQy}PRCwM$M*A#%$l{bNy6leeGx zaKpoUxElPNT#|=lZ~xb7$A_2qs9_^=O{xC(g845@AAZ3LrSCR9tKR)hmmIennZ+1B z>}J7Xm9P`d8QE0BgRbJXs_#T4n(gYRd2r7LW)WkM{?{F22-3XDo6`{aMaLa9mr0Z+ zqfWQPooKVU474R%bmwAz!l3j0X8aVFIl`LuKj-tJv?dnk^qya>sITWsM1S9;t5d+w zzqGroZ(DF~qnWVG28A)5%C&9BAP{u>4MA^1AdWL^KT$~VEUeA330}?|^snqzS2lo; zi$;I5e_gd~KJLsoUzM*^Ew6#dv)r-v!{8t(9zX0>d0<0cE(%7^#?Xn(+*OEqG@|XJ z?uI-jl(NJ=mcErZ>7YfXBnOsq6FFrg#XtN0J}E2ZR~XkV7irT+HvJF;Kg1H*Pa#pP zD!78R*>aBkC3PDeGU?i`=;>c=*S~SYOL=dp2S={S7bgW~^;6J3v^{wFI8oOgc(+ z@!FOU#pkfl29a_?B}t9S?0Cm#Brxk${-bAWW}_b^A_l!yn_Anz@COa6q8U*|KIf+X zK$a%<&|e!EHc7j%4u2GNcVFPb`Pummh!Aox#kN~Sj@`UdnroZuBA4{WIw~e(hKYyj zxD{35yy%aYceGOGeU&+Y!51+X+vS0%aDGDD8FaQlcJ$YmJVTDxA|jQP6o? zFjZ9hnNe5pPo(4J2ONGQa1hQW88556;*kwbi;`lZY$R8qWDC`8g+`K*%)BfVtbxEn zvCLc<$Ia*v? zg~Ybl!Td-ksma~C21T$4Veuye!s5yN%$&DEP8mo+r@9-LJOA@O`hJ*y>M}Dq>{;Nn zBe>eMW&XDDjB70&<_Qr&i;w9GM>AHz5%VQ}<@&-alqDD~UH}C;4GUuJn(^G1xK-#A z41$np(4+uNxf}3agXE7c`I{e*;w=P;5=9rwxW&M-X07Q6vVs=OI6TGjTmVO^1&5bM zl%*9_JGPC<-3Ait<`e4Yhr~IHcW!p7XPWT*iL_%^hlBMYmZMa|Eoy$+zg!I-`C3E zjZWida)#E~ZHKjM_jLFjCHdYNJ==`Z05dZZu+zSsd(i3c5ni-(~BXpP-tV@k7>@V z)w>7wORksIF;1c7&VMTqrnwG1kSB zQ>N!Y%+813f^#R^F3LI4UIXO4a0-}QEH zVrROHRK)>pE~)He`@Tk^AYzIuOm2|+mx`o6carWR`xM%6r~@US3(IWJbvKN4Nj6yA81zAG+jtSqbJ=JT_^=cKeUXPe}r^kUG^J<5c$*_khn|4PuqJf zlLdr3BB7kf3M~8)t}KKKQlVj&R1X^SXPq_E;>cr%y%D0-?!+kCI* z@h?jVYQf)SQv*DPlq*g-=Yn73xf%&ZY8ZkNjfgcweS1vN6S#RmDJ)|WNaZcf9eHaT zwEB;TL<@Z(EU!aXF@a{CJW+keE5-nZlF=8DYkP@oc&~%i+2$8K&k6SL&5Y77(rT{f z&@lTR^XMf`e9BJd=;=86eJQi%CG*BYYtf8Sp)$Fq@vU$qa<$JC{-|YOd`k3UWP0P~5HSo| z+^+Qt&C4WHZ9h6D8}-nS0G^Rr!jjVFPI?Qw^P1*{hYWv(Kv%Ad4@ds0F z$)phP8}FV=$`<-g0%w6^+u_9iXXoou!b8EP*oQmeld#({19HMvlG(2^c^mxFsQdX_ zDg;p=hGXb|rYOx2l(^SSkS;EvrJ%B5uIa9++=1e^Fy)N#Yp>C86#yTcZo zGvgH%GRfRh>%{kbF5q!Hh$(*(IyxQGPHjwoZ2*#iz=%UsmT6I}z**AC(Is$VxDhz( z_@nl0ebF9HOY3q=vvzCZ*)L(~MYS4?W;ZSu3!m#4PWoRcUwbvm{N*`uHXUwQXqBI9 z=%*qU4QFSQy^~l@T98hy;kHFN#DwX&JKY0?r3pZH7)AB&x}s?1PE>G0W1@DoI7U}Y za@}PABOmrBU7)?}>JVIQve+`|vQ!OYT-_M9e3xR|Py$DH+E3s_`X*vD+I)jJQ_6WM zlu+D_yG3ai&`3Jk{C~$Bn3JNdLgQQ|8T7|;FEM_v(2(lS4UYnKPP|i5vnrIX*vQY+ z6^=eb2(kP|CD`r?n% zL9Vuf6>UK`0RIvaBASI@)`J}Lf{TC?`=${hNKem z*N!kCsm><-lOx5`L(vW2wGmhNXPW)@$~l!em47Qqifsg7eM~X17fwHNgOs=+sbG5#Te-H>ZOADhco`oWH<)cCW~8!#u%yh{9*K4m zB40^mY{t05Nvfl;71qYd!Luof2Y;(nTBp*{hA54maUIy^u2rdD%SwR8N`M480tA53 zW_JP#c^$OM&vXvxRkV-246lY}7SBx`*9Acg{F_+`rIlVu%S0UqTJ`S% zrB)QSt~FXLR)v+MEQr-}(ox>b7F8IC@3;LQN#`AxRR6z!43mawcT?|hbZfV5R|8Z; z>&{V*veL?drDbLg++vEOvW#$*HV9fuW=ccFjb@29q{Jjeg91ZDMFkuP^nHJRzkk&S zkK;L_)3$m^ZbzhKAcoIAuu!G3(PW!+j@VR zzX?qgPL1MC4m(ZQ;AF!st3EpGBeb6IO;dwN^&wB2h={vLtUH(gnlUAZ!?)k$y9}AAJIlj0<010 z94>*X23N)ztSs;OdrKtIO}6kQ4v=xpFs2X*Oe8%Sh|g9g|ZK!ULqy7btM13MSQq-TlbRjOdjW< zkt6w8t1$Q#oB)SUE@9G<60(kt>p$+(&3gh-dnD9R^V#WC@xX$4qXz0OVr-Am@s5R! z*vgSoPeXHofqk=GWpF%?#7<{%W@7w`EmG#~HrEn66?j%cc zFU(*p?@48+G{G&LAzF0e!bDX=x*yyot~Z-?q!Hz08e$qow!s!<>A8rrzMEIE+n^TO zqDK}M@L4E1d{M?bxw)*^;ye;zgk?jague(y2mK+sg0kdJAwNNGs+SbQjEb?^TRMI= zy3wn`vw@2_Jf0d@krGuh#7?uLew`DpX#XOF60NLkIi|Ro&h8ceWaWC$N^_Hks#*rG%nvlHUr+2&Q?0c9=xM zuB(*22}%U_;m6((0Fs9NkJqkuS3K&Q`~L(~^eHrYE;4c!w;UrG{sRHOZjcGL&LWjz zDpbVhOUJXdOW$OD5x`*TSPJb+Cd=qEEivHu`t&crWuQ&Md$T~V*<2l);!XY?A4@l_vv)y8|> zF?N3-?@vAx`A+7mGxWS{Rj;j51)RLZ@e0O)zVTB7^s3yChgv$<_}AY5SfcsC z_WtOz4n|&zN;VMm@@J4L820^MxJR^4B~zBM(1%N8@yo%+n&J&IO~FML^N zH*$8CFJGe&+@!)+le33|9I2!Q;p|WRsd@SQ^_hl&0SWgBFTEwOo%EpJ0aEIOPByMX zXm9B>CA*^b9(75dh>dGQv{@j>35yQOI&i^yXE!;S3ydGEC)T&3J#b_zttZ-r-@B8c zx;EHqzM|V{YfQ?9R|AE)Uz@iVf1NF*2lX}5{hwMGhth^C8&A&o%4Of;%@(MIwr!@< z*j~#=27t9d4u3eD*#^Z**yZ4UXQFe;!kLDV?dI7X&fRIYM4J<@gmQy!o55AF%k{9l zIt##k&RCsE%DWJL@xhN``bf1(I)6DNN-5`fqK#%bQmsNSUdbzXQQm#1S(Ki>4+4pr zkF5a3^{?Rk$PWGVv{sX#a4;VUeCSZ!7H}#TmwY0ZD zGN`+1*|>SICX8*Qhnq#1h9z#nvP~0=Qg!t`LZ}xt$fwjz-=ycrbbon&cuQW{*rhx# z`dI12{KuiMDU!0r-3cZl0E!Yx+>qva&Dc5Jh1GH(X*agGOQi);rf4qC4S^JQ*iR!J zh$NwaJ5_P?_wVNFJU{l(LCJyPw92%ae?RYz9}|{DSV+`+XLYo+jZp~6oNO*k{yQH6 z7I{e%DPp3g>0S&IY0wIq1;EX_v;V2c$eyI{gVtjRq+ZcO?Aw(?jkQg)^s26;vu&vZ zjgHr=lzVB>j5nt;k#L+IPF4ic0j}Nwvg6Sw_?D(?wP(6v9)*e1?$YdD(($W?1|SPS zPBjT(8A8pIe1U>Jc6HHnU6#%dEt6=k>;x2Lp#Vu2J{o^$n+Jn2%CS z-tRm#r*z;BQ@0(iM?J?TO=~$!>wm%$ve2vW{4&em$rSz^67ls?JjC1*>eG|U57z(n zF*v)?{`&aB@n8Q2FA|d6ta*s7OXUbD8NXHK4jlVi_Iq<%RxVQSvNYQBgY*XyKB8th zgvJr);qrx+CGKG-yiblUELc!K%+%JRpQRJ5FjH%jFPs{3wMz5@s@U78P0b66uP9XH z{G%`NND~pX1px@lg%0=FSRxy_$8TX2M7~`VnrDcJ# zNn23k1dAAn_#~=A^rl(GQuu*$o-NbO_x5_aa&KZtW*$%!_08&^c7mf~n^43BtuU@( zSCq4Phyl`&3Xc(j7bA^&1?Hl1GYc*WcffCA zeh;m(I(k~u)OWO5%*FiJpFa9DHAO=`&1aQ#XqKF@!vD0L3_n`T2WP`IwB0l$!^N77 z9KljX^Y+h2O$01@GJf;i#34R+og+%Nf>ewB!Y^y?ra90@Ho-MGyOcn74n< zQk=II{_%2@Tv>KTQB!n$k`*{s$cf+u?qa+MZ;d*Vofo^*ED^>qG}4EJR9V+sK)+(a zc1<^r)f*aOBhQmwCqiB*Y0X^O@3)C-EdpJjA0 zI}WBj@8exIbg_80kM#t{eSU@%25LnFlyWi4D2`pu+Sr&Oj1x04zY*Orc#obdN4Q9B z<0n-}gfav&tLR>RUXn@DIM#z3t#{iHNM2LZ$-dIBJAz8qoGD`LAb$>QUhg_Ti%Av` z+a;8CDi|wd^b~^c0-N(C-Hd^e(8pF8M>)9cDd~1;((8i*K(rs5sKH?lMDEpdYek3{ zG7Si2G#y4-ID{yKx}Z0N*z%+lnun)(@$w|&J)|X4F(G7n!nUYO%8c5qT48dGd}C@r z+C82!uLF8Vg{cWfTKq|U_-q$-Q7blUsi+qo&k7fwY_9s)Luq+n9ZkzmJwJtW)d zN}~ofH-Z2vvb=UcRb5-`pE%mMH#Uizs>FLM<;h@p$<%BPv^we|TIFVxAS!+DGn3m& zh%+SK1aBU~c1U6xRL<-DHO;jGc`n@7B(7X?j=-IJWjEso=*J#LXPJQ{tNqW&^ z%14lAo?txAW~@CY!OuCB1o|!b8jem#&(=0zJd@_SjE3m|5zkrv+v{S9j}K zv*;co8oSgsU&|sJR9aDuV(sE4!iU_Mk2EEV9u2y=aqZCJ4P)-UI+xM!PTp zzRC{H7ls)A%edrVU9{zc9Ex&6Z$|0Z5|=or<1m?wmlmp$ks12Xq~%Q)Ekkog4#*K* z3IU|~UyRgCwiMe$S@)vpxDU_7q!4&EDQ-|zGbe?E9l+OZWk1#xzVQ-cj)Uw_)cCOG zeA@P-e<0T`E4(#-#d!6N`?TCkV#|JfQj9x1@7PduB_RC{U*V8{aC(WfrzY@SfymSt zrJ_DRbY2C9JdW{tu=dx3ro!f8-oJ(;b|m~xb*g4}FkB$(M#$w| zV)0zu@vBRZ7P>m}%FzF$xmJ4IzY)naGu6kA+NB$|DLJTKe=tH(6S;YO_*;s9sQ$)7Q-(7v=j;kir~tuXsi74SlQ( zMD^5;&(bYDDTk(en})mA@AZ)!NB~$DK`H0K_}S_BPnkMmE67FL;^hYBNfv~a-a!wX zqi$u*EDkO^{HT7P`?2)VitV}Ud{5UsZ~tu@xfNnYd4NBU95MV@LK07Y_zN>P+k8^Z*8)#+xAh;(I;f#w+qkcViC_jJN7Vs-oI

    dKni>g!(vsT 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

    J`4e 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 { + event.waitUntil( + caches.open(CACHE_NAME).then((cache) => { + return cache.addAll(STATIC_ASSETS); + }) + ); + // Activate immediately + self.skipWaiting(); +}); + +// Activate event - clean up old caches +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((cacheNames) => { + return Promise.all( + cacheNames + .filter((name) => name !== CACHE_NAME) + .map((name) => caches.delete(name)) + ); + }) + ); + // Take control of all pages immediately + self.clients.claim(); +}); + +// Fetch event - network first for API, cache first for static +self.addEventListener('fetch', (event) => { + const url = new URL(event.request.url); + + // Skip non-GET requests + if (event.request.method !== 'GET') return; + + // Skip streaming/audio requests - let them go directly to network + if (url.pathname.includes('/api/stream') || + url.pathname.includes('/api/download') || + event.request.headers.get('range')) { + return; + } + + // API requests - network first + if (url.pathname.startsWith('/api/')) { + event.respondWith( + fetch(event.request) + .catch(() => caches.match(event.request)) + ); + return; + } + + // Static assets - cache first, then network + event.respondWith( + caches.match(event.request).then((cachedResponse) => { + if (cachedResponse) { + // Return cached version, but also update cache in background + fetch(event.request).then((response) => { + if (response.ok) { + caches.open(CACHE_NAME).then((cache) => { + cache.put(event.request, response); + }); + } + }).catch(() => {}); + return cachedResponse; + } + + // Not in cache - fetch from network + return fetch(event.request).then((response) => { + // Cache successful responses + if (response.ok && response.type === 'basic') { + const responseClone = response.clone(); + caches.open(CACHE_NAME).then((cache) => { + cache.put(event.request, responseClone); + }); + } + return response; + }); + }) + ); +}); + +// Handle background sync for offline actions (future enhancement) +self.addEventListener('sync', (event) => { + console.log('Background sync:', event.tag); +}); + +// Handle push notifications (future enhancement) +self.addEventListener('push', (event) => { + console.log('Push received:', event); +}); diff --git a/frontend/services/db.ts b/frontend/services/db.ts index 759e597..b040a5a 100644 --- a/frontend/services/db.ts +++ b/frontend/services/db.ts @@ -1,157 +1,157 @@ -import { openDB, DBSchema } from 'idb'; -import { Track, Playlist } from '@/types'; - -export type { Track, Playlist }; - -interface MyDB extends DBSchema { - playlists: { - key: string; - value: Playlist; - }; - likedSongs: { - key: string; // trackId - value: Track; - }; -} - -const DB_NAME = 'audiophile-db'; -const DB_VERSION = 2; - -export const initDB = async () => { - return openDB(DB_NAME, DB_VERSION, { - upgrade(db, oldVersion, newVersion, transaction) { - // Re-create stores to clear old data - if (db.objectStoreNames.contains('playlists')) { - db.deleteObjectStore('playlists'); - } - if (db.objectStoreNames.contains('likedSongs')) { - db.deleteObjectStore('likedSongs'); - } - db.createObjectStore('playlists', { keyPath: 'id' }); - db.createObjectStore('likedSongs', { keyPath: 'id' }); - }, - }); -}; - -export const dbService = { - async getPlaylists() { - const db = await initDB(); - const playlists = await db.getAll('playlists'); - if (playlists.length === 0) { - return this.seedInitialData(); - } - return playlists; - }, - - async seedInitialData() { - try { - // Fetch real data from backend to seed valid playlists - // We use the 'api' prefix assuming this runs in browser - const res = await fetch('/api/trending'); - if (!res.ok) return []; - - const data = await res.json(); - const allTracks: Track[] = data.tracks || []; - - if (allTracks.length === 0) return []; - - const db = await initDB(); - const newPlaylists: Playlist[] = []; - - // 1. Starter Playlist - const favTracks = allTracks.slice(0, 8); - if (favTracks.length > 0) { - const p1: Playlist = { - id: crypto.randomUUID(), - title: "My Rotations", - tracks: favTracks, - createdAt: Date.now(), - cover_url: favTracks[0].cover_url - }; - await db.put('playlists', p1); - newPlaylists.push(p1); - } - - // 2. Vibes - const vibeTracks = allTracks.slice(8, 15); - if (vibeTracks.length > 0) { - const p2: Playlist = { - id: crypto.randomUUID(), - title: "Weekend Vibes", - tracks: vibeTracks, - createdAt: Date.now(), - cover_url: vibeTracks[0].cover_url - }; - await db.put('playlists', p2); - newPlaylists.push(p2); - } - - return newPlaylists; - - } catch (e) { - console.error("Seeding failed", e); - return []; - } - }, - - async getPlaylist(id: string) { - const db = await initDB(); - return db.get('playlists', id); - }, - async createPlaylist(name: string) { - const db = await initDB(); - const newPlaylist: Playlist = { - id: crypto.randomUUID(), - title: name, - tracks: [], - createdAt: Date.now(), - cover_url: "https://placehold.co/300/222/fff?text=" + encodeURIComponent(name) - }; - await db.put('playlists', newPlaylist); - return newPlaylist; - }, - async deletePlaylist(id: string) { - const db = await initDB(); - await db.delete('playlists', id); - }, - async addToPlaylist(playlistId: string, track: Track) { - const db = await initDB(); - const playlist = await db.get('playlists', playlistId); - if (playlist) { - // Auto-update cover if it's the default or empty - if (playlist.tracks.length === 0 || playlist.cover_url?.includes("placehold")) { - playlist.cover_url = track.cover_url; - } - playlist.tracks.push(track); - await db.put('playlists', playlist); - } - }, - async removeFromPlaylist(playlistId: string, trackId: string) { - const db = await initDB(); - const playlist = await db.get('playlists', playlistId); - if (playlist) { - playlist.tracks = playlist.tracks.filter(t => t.id !== trackId); - await db.put('playlists', playlist); - } - }, - async getLikedSongs() { - const db = await initDB(); - return db.getAll('likedSongs'); - }, - async toggleLike(track: Track) { - const db = await initDB(); - const existing = await db.get('likedSongs', track.id); - if (existing) { - await db.delete('likedSongs', track.id); - return false; // unliked - } else { - await db.put('likedSongs', track); - return true; // liked - } - }, - async isLiked(trackId: string) { - const db = await initDB(); - const existing = await db.get('likedSongs', trackId); - return !!existing; - } -}; +import { openDB, DBSchema } from 'idb'; +import { Track, Playlist } from '@/types'; + +export type { Track, Playlist }; + +interface MyDB extends DBSchema { + playlists: { + key: string; + value: Playlist; + }; + likedSongs: { + key: string; // trackId + value: Track; + }; +} + +const DB_NAME = 'audiophile-db'; +const DB_VERSION = 2; + +export const initDB = async () => { + return openDB(DB_NAME, DB_VERSION, { + upgrade(db, oldVersion, newVersion, transaction) { + // Re-create stores to clear old data + if (db.objectStoreNames.contains('playlists')) { + db.deleteObjectStore('playlists'); + } + if (db.objectStoreNames.contains('likedSongs')) { + db.deleteObjectStore('likedSongs'); + } + db.createObjectStore('playlists', { keyPath: 'id' }); + db.createObjectStore('likedSongs', { keyPath: 'id' }); + }, + }); +}; + +export const dbService = { + async getPlaylists() { + const db = await initDB(); + const playlists = await db.getAll('playlists'); + if (playlists.length === 0) { + return this.seedInitialData(); + } + return playlists; + }, + + async seedInitialData() { + try { + // Fetch real data from backend to seed valid playlists + // We use the 'api' prefix assuming this runs in browser + const res = await fetch('/api/trending'); + if (!res.ok) return []; + + const data = await res.json(); + const allTracks: Track[] = data.tracks || []; + + if (allTracks.length === 0) return []; + + const db = await initDB(); + const newPlaylists: Playlist[] = []; + + // 1. Starter Playlist + const favTracks = allTracks.slice(0, 8); + if (favTracks.length > 0) { + const p1: Playlist = { + id: crypto.randomUUID(), + title: "My Rotations", + tracks: favTracks, + createdAt: Date.now(), + cover_url: favTracks[0].cover_url + }; + await db.put('playlists', p1); + newPlaylists.push(p1); + } + + // 2. Vibes + const vibeTracks = allTracks.slice(8, 15); + if (vibeTracks.length > 0) { + const p2: Playlist = { + id: crypto.randomUUID(), + title: "Weekend Vibes", + tracks: vibeTracks, + createdAt: Date.now(), + cover_url: vibeTracks[0].cover_url + }; + await db.put('playlists', p2); + newPlaylists.push(p2); + } + + return newPlaylists; + + } catch (e) { + console.error("Seeding failed", e); + return []; + } + }, + + async getPlaylist(id: string) { + const db = await initDB(); + return db.get('playlists', id); + }, + async createPlaylist(name: string) { + const db = await initDB(); + const newPlaylist: Playlist = { + id: crypto.randomUUID(), + title: name, + tracks: [], + createdAt: Date.now(), + cover_url: "https://placehold.co/300/222/fff?text=" + encodeURIComponent(name) + }; + await db.put('playlists', newPlaylist); + return newPlaylist; + }, + async deletePlaylist(id: string) { + const db = await initDB(); + await db.delete('playlists', id); + }, + async addToPlaylist(playlistId: string, track: Track) { + const db = await initDB(); + const playlist = await db.get('playlists', playlistId); + if (playlist) { + // Auto-update cover if it's the default or empty + if (playlist.tracks.length === 0 || playlist.cover_url?.includes("placehold")) { + playlist.cover_url = track.cover_url; + } + playlist.tracks.push(track); + await db.put('playlists', playlist); + } + }, + async removeFromPlaylist(playlistId: string, trackId: string) { + const db = await initDB(); + const playlist = await db.get('playlists', playlistId); + if (playlist) { + playlist.tracks = playlist.tracks.filter(t => t.id !== trackId); + await db.put('playlists', playlist); + } + }, + async getLikedSongs() { + const db = await initDB(); + return db.getAll('likedSongs'); + }, + async toggleLike(track: Track) { + const db = await initDB(); + const existing = await db.get('likedSongs', track.id); + if (existing) { + await db.delete('likedSongs', track.id); + return false; // unliked + } else { + await db.put('likedSongs', track); + return true; // liked + } + }, + async isLiked(trackId: string) { + const db = await initDB(); + const existing = await db.get('likedSongs', trackId); + return !!existing; + } +}; diff --git a/frontend/services/library.ts b/frontend/services/library.ts index 2995851..f115111 100644 --- a/frontend/services/library.ts +++ b/frontend/services/library.ts @@ -1,76 +1,76 @@ -import { Track } from "./db"; - -export interface StaticPlaylist { - id: string; - title: string; - description: string; - cover_url: string; - tracks: Track[]; - type: 'Album' | 'Artist' | 'Playlist'; - creator?: string; -} - -// Helper to fetch from backend -const apiFetch = async (endpoint: string) => { - const res = await fetch(`/api${endpoint}`); - if (!res.ok) throw new Error(`API Error: ${res.statusText}`); - return res.json(); -}; - -export const libraryService = { - async getLibrary(): Promise { - // Fetch "Liked Songs" or main library from backend - // Assuming backend has an endpoint or we treat "Trending" as default - return await apiFetch('/browse'); // Simplified fallback - }, - - async _generateMockContent(): Promise { - // No-op in API mode - }, - - async getBrowseContent(): Promise> { - return await apiFetch('/browse'); - }, - - async getPlaylist(id: string): Promise { - try { - return await apiFetch(`/playlists/${id}`); - } catch (e) { - console.error("Failed to fetch playlist", id, e); - return null; - } - }, - - async getRecommendations(seedTrackId?: string): Promise { - // Use trending as recommendations for now - const data = await apiFetch('/trending'); - return data.tracks || []; - }, - - async getRecommendedAlbums(seedArtist?: string): Promise { - const data = await apiFetch('/browse'); - // Flatten all albums from categories - const albums: StaticPlaylist[] = []; - Object.values(data).forEach((list: any) => { - if (Array.isArray(list)) albums.push(...list); - }); - return albums.slice(0, 8); - }, - - async search(query: string): Promise { - try { - return await apiFetch(`/search?q=${encodeURIComponent(query)}`); - } catch (e) { - return []; - } - }, - - // UTILITIES FOR DYNAMIC UPDATES - updateTrackCover(trackId: string, newUrl: string) { - console.log("Dynamic updates not implemented in Backend Mode"); - }, - - updateAlbumCover(albumId: string, newUrl: string) { - console.log("Dynamic updates not implemented in Backend Mode"); - } -}; +import { Track } from "./db"; + +export interface StaticPlaylist { + id: string; + title: string; + description: string; + cover_url: string; + tracks: Track[]; + type: 'Album' | 'Artist' | 'Playlist'; + creator?: string; +} + +// Helper to fetch from backend +const apiFetch = async (endpoint: string) => { + const res = await fetch(`/api${endpoint}`); + if (!res.ok) throw new Error(`API Error: ${res.statusText}`); + return res.json(); +}; + +export const libraryService = { + async getLibrary(): Promise { + // Fetch "Liked Songs" or main library from backend + // Assuming backend has an endpoint or we treat "Trending" as default + return await apiFetch('/browse'); // Simplified fallback + }, + + async _generateMockContent(): Promise { + // No-op in API mode + }, + + async getBrowseContent(): Promise> { + return await apiFetch('/browse'); + }, + + async getPlaylist(id: string): Promise { + try { + return await apiFetch(`/playlists/${id}`); + } catch (e) { + console.error("Failed to fetch playlist", id, e); + return null; + } + }, + + async getRecommendations(seedTrackId?: string): Promise { + // Use trending as recommendations for now + const data = await apiFetch('/trending'); + return data.tracks || []; + }, + + async getRecommendedAlbums(seedArtist?: string): Promise { + const data = await apiFetch('/browse'); + // Flatten all albums from categories + const albums: StaticPlaylist[] = []; + Object.values(data).forEach((list: any) => { + if (Array.isArray(list)) albums.push(...list); + }); + return albums.slice(0, 8); + }, + + async search(query: string): Promise { + try { + return await apiFetch(`/search?q=${encodeURIComponent(query)}`); + } catch (e) { + return []; + } + }, + + // UTILITIES FOR DYNAMIC UPDATES + updateTrackCover(trackId: string, newUrl: string) { + console.log("Dynamic updates not implemented in Backend Mode"); + }, + + updateAlbumCover(albumId: string, newUrl: string) { + console.log("Dynamic updates not implemented in Backend Mode"); + } +}; diff --git a/test_audio.py b/test_audio.py index 86a3fa7..d44089b 100644 --- a/test_audio.py +++ b/test_audio.py @@ -1,21 +1,21 @@ -import yt_dlp -import json - -# Test video ID from our data (e.g., Khóa Ly Biệt) -video_id = "s0OMNH-N5D8" -url = f"https://www.youtube.com/watch?v={video_id}" - -ydl_opts = { - 'format': 'bestaudio/best', - 'quiet': True, - 'noplaylist': True, -} - -try: - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(url, download=False) - print(f"Title: {info.get('title')}") - print(f"URL: {info.get('url')}") # The direct stream URL - print("Success: Extracted audio URL") -except Exception as e: - print(f"Error: {e}") +import yt_dlp +import json + +# Test video ID from our data (e.g., Khóa Ly Biệt) +video_id = "s0OMNH-N5D8" +url = f"https://www.youtube.com/watch?v={video_id}" + +ydl_opts = { + 'format': 'bestaudio/best', + 'quiet': True, + 'noplaylist': True, +} + +try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + print(f"Title: {info.get('title')}") + print(f"URL: {info.get('url')}") # The direct stream URL + print("Success: Extracted audio URL") +except Exception as e: + print(f"Error: {e}")