From f8b3299c1fc99b9a346785c078dde7471497c5dd Mon Sep 17 00:00:00 2001 From: Yury Pikhtarev Date: Tue, 1 Jul 2025 00:26:49 +0400 Subject: [PATCH] feat: add Docusaurus documentation setup and deployment workflow - Introduced Docusaurus for TorrentPier documentation, including configuration files and initial content structure. - Created a GitHub Actions workflow for automatic deployment of documentation to GitHub Pages upon changes to the 'docs' directory. - Updated .gitignore to exclude Docusaurus build artifacts and cache directories. - Added essential scripts in package.json for local development and building of documentation. - Included initial README and sidebars configuration for documentation navigation. These changes establish a comprehensive documentation framework for TorrentPier, enhancing accessibility and user guidance. --- .github/workflows/docs.yml | 64 ++++ .gitignore | 6 + docs/README.md | 52 ++++ docs/blog/2025-06-30-welcome.md | 51 +++ docs/blog/authors.yml | 23 ++ docs/blog/tags.yml | 14 + docs/docs/architecture/_category_.json | 8 + docs/docs/architecture/overview.md | 164 ++++++++++ docs/docs/development/_category_.json | 8 + docs/docs/development/setup.md | 291 ++++++++++++++++++ docs/docs/getting-started/_category_.json | 8 + docs/docs/getting-started/installation.md | 198 ++++++++++++ docs/docs/intro.md | 41 +++ docs/docs/migration/_category_.json | 8 + docs/docs/migration/from-v2.md | 219 +++++++++++++ docs/docusaurus.config.ts | 145 +++++++++ docs/package.json | 47 +++ docs/sidebars.ts | 33 ++ .../src/components/HomepageFeatures/index.tsx | 71 +++++ .../HomepageFeatures/styles.module.css | 11 + docs/src/css/custom.css | 34 ++ docs/src/pages/index.module.css | 23 ++ docs/src/pages/index.tsx | 44 +++ docs/static/.nojekyll | 0 docs/static/img/favicon.ico | Bin 0 -> 8254 bytes docs/static/img/logo.svg | 38 +++ docs/static/img/social-card.jpg | Bin 0 -> 152256 bytes docs/tsconfig.json | 8 + 28 files changed, 1609 insertions(+) create mode 100644 .github/workflows/docs.yml create mode 100644 docs/README.md create mode 100644 docs/blog/2025-06-30-welcome.md create mode 100644 docs/blog/authors.yml create mode 100644 docs/blog/tags.yml create mode 100644 docs/docs/architecture/_category_.json create mode 100644 docs/docs/architecture/overview.md create mode 100644 docs/docs/development/_category_.json create mode 100644 docs/docs/development/setup.md create mode 100644 docs/docs/getting-started/_category_.json create mode 100644 docs/docs/getting-started/installation.md create mode 100644 docs/docs/intro.md create mode 100644 docs/docs/migration/_category_.json create mode 100644 docs/docs/migration/from-v2.md create mode 100644 docs/docusaurus.config.ts create mode 100644 docs/package.json create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/HomepageFeatures/index.tsx create mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/index.tsx create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/favicon.ico create mode 100644 docs/static/img/logo.svg create mode 100644 docs/static/img/social-card.jpg create mode 100644 docs/tsconfig.json diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..64657ae02 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,64 @@ +name: Deploy Documentation to GitHub Pages + +on: + push: + branches: + - dexter + paths: + - 'docs/**' + - '.github/workflows/docs.yml' + +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + name: Build Documentation + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./docs + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: npm + cache-dependency-path: ./docs/package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Build website + run: npm run build + env: + NODE_ENV: production + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./docs/build + + deploy: + name: Deploy to GitHub Pages + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 7059c9937..910d106da 100644 --- a/.gitignore +++ b/.gitignore @@ -174,3 +174,9 @@ $RECYCLE.BIN/ # Claude Code CLAUDE.local.md + +# Docusaurus +/docs/.docusaurus +/docs/.cache-loader +/docs/build +/docs/node_modules diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..79fc279ca --- /dev/null +++ b/docs/README.md @@ -0,0 +1,52 @@ +# TorrentPier Documentation + +This directory contains the documentation for TorrentPier, built with [Docusaurus](https://docusaurus.io/). + +## Local Development + +```bash +npm install +npm start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +## Build + +```bash +npm run build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +## Deployment + +The documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch. The deployment is handled by GitHub Actions. + +## Structure + +- `/docs` - Main documentation content +- `/blog` - Development blog posts +- `/src` - Custom React components and pages +- `/static` - Static assets like images + +## Contributing + +1. Create or edit markdown files in the `/docs` directory +2. Add new pages to the sidebar by updating `sidebars.ts` +3. Test locally with `npm start` +4. Submit a pull request + +## Writing Documentation + +- Use clear, concise language +- Include code examples where relevant +- Add screenshots for UI features +- Keep the audience (developers) in mind +- Follow the existing structure and style + +## Resources + +- [Docusaurus Documentation](https://docusaurus.io/docs) +- [Markdown Guide](https://www.markdownguide.org/) +- [MDX Documentation](https://mdxjs.com/) diff --git a/docs/blog/2025-06-30-welcome.md b/docs/blog/2025-06-30-welcome.md new file mode 100644 index 000000000..ecfe4235f --- /dev/null +++ b/docs/blog/2025-06-30-welcome.md @@ -0,0 +1,51 @@ +--- +slug: welcome +title: Welcome to the TorrentPier Blog +authors: [exileum] +tags: [announcement, laravel, development] +--- + +# Welcome to the TorrentPier Development Blog + +We're excited to announce the complete rewrite of TorrentPier using modern web technologies. This blog will document our journey, share development updates, and provide insights into the decisions we make along the way. + +## Why a Rewrite? + +The original TorrentPier v2.x served the community well for many years, but technology has evolved significantly. We decided it was time for a complete modernization to: + +- Improve security with modern frameworks +- Enhance performance and scalability +- Provide a better user experience +- Make development and customization easier +- Support modern deployment practices + +## What's New? + +The new TorrentPier is built on: + +- **Laravel 12**: The latest version of PHP's most popular framework +- **React 19**: For a dynamic, responsive frontend +- **TypeScript**: Type-safe code for better reliability +- **Inertia.js**: Seamless SPA experience without API complexity +- **Tailwind CSS v4**: Modern, utility-first styling + +## What's Next? + +We're actively developing core features: + +1. User authentication and profiles +2. Torrent upload and management +3. Forum functionality +4. Tracker protocol implementation +5. Admin panel and moderation tools + +## Get Involved + +This is an open-source project, and we welcome contributions: + +- Check our [GitHub repository](https://github.com/torrentpier/torrentpier) +- Read the [documentation](/docs/intro) +- Join discussions on GitHub +- Submit pull requests + +Stay tuned for more updates as we build the future of TorrentPier! diff --git a/docs/blog/authors.yml b/docs/blog/authors.yml new file mode 100644 index 000000000..cef26adf2 --- /dev/null +++ b/docs/blog/authors.yml @@ -0,0 +1,23 @@ +torrentpier: + name: TorrentPier Team + title: Core Development Team + url: https://github.com/torrentpier + image_url: https://github.com/torrentpier.png + socials: + github: torrentpier + +exileum: + name: Yury Pikhtarev + title: Core Development Team + url: https://github.com/exileum + image_url: https://github.com/exileum.png + socials: + github: exileum + +belomaxorka: + name: Roman Kelesidis + title: Core Development Team + url: https://github.com/belomaxorka + image_url: https://github.com/belomaxorka.png + socials: + github: belomaxorka diff --git a/docs/blog/tags.yml b/docs/blog/tags.yml new file mode 100644 index 000000000..c4bbee04d --- /dev/null +++ b/docs/blog/tags.yml @@ -0,0 +1,14 @@ +announcement: + label: Announcement + permalink: /announcement + description: Announcement tag description + +laravel: + label: Laravel + permalink: /laravel + description: Laravel tag description + +development: + label: Development + permalink: /development + description: Development tag description diff --git a/docs/docs/architecture/_category_.json b/docs/docs/architecture/_category_.json new file mode 100644 index 000000000..9995b4a5f --- /dev/null +++ b/docs/docs/architecture/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Architecture", + "position": 3, + "link": { + "type": "generated-index", + "description": "Understanding TorrentPier's architecture and design decisions." + } +} \ No newline at end of file diff --git a/docs/docs/architecture/overview.md b/docs/docs/architecture/overview.md new file mode 100644 index 000000000..d883a88d2 --- /dev/null +++ b/docs/docs/architecture/overview.md @@ -0,0 +1,164 @@ +--- +sidebar_position: 1 +--- + +# Architecture Overview + +:::warning Work in Progress +This documentation is currently under development and not yet complete. Some sections may be incomplete or subject to change as the project evolves. +::: + +TorrentPier follows a modern, scalable architecture built on Laravel's proven patterns and best practices. + +## Tech Stack + +### Backend +- **Framework**: Laravel 12 +- **Language**: PHP 8.4+ +- **Authentication**: Laravel Sanctum +- **Search**: Laravel Scout + Meilisearch +- **Monitoring**: Laravel Telescope +- **Testing**: Pest PHP + +### Frontend +- **Library**: React 19 +- **Language**: TypeScript +- **Routing**: Inertia.js +- **Styling**: Tailwind CSS v4 +- **Components**: shadcn/ui +- **Build Tool**: Vite + +## Application Structure + +``` +torrentpier/ +├── app/ # Application code +│ ├── Http/ # Controllers, Middleware, Requests +│ ├── Models/ # Eloquent models +│ └── Providers/ # Service providers +├── resources/ # Frontend resources +│ ├── js/ # React components and pages +│ ├── css/ # Stylesheets +│ └── views/ # Blade templates +├── routes/ # Application routes +├── database/ # Migrations, factories, seeders +├── config/ # Configuration files +├── tests/ # Test suites +└── legacy/ # Legacy codebase (reference) +``` + +## Key Design Patterns + +### 1. Inertia.js Integration + +Inertia.js bridges Laravel and React, providing: +- Server-side routing with client-side rendering +- Automatic data synchronization +- No API development overhead +- SEO-friendly SSR support + +### 2. Component-Based Architecture + +Frontend follows a component-based structure: +- **Pages**: Full-page components in `resources/js/pages/` +- **Layouts**: Reusable layout wrappers +- **Components**: Shared UI components using shadcn/ui +- **Hooks**: Custom React hooks for common functionality + +### 3. Laravel Best Practices + +- **Repository Pattern**: For complex data operations +- **Service Classes**: Business logic separation +- **Form Requests**: Input validation +- **Resources**: API response transformation +- **Policies**: Authorization logic + +## Data Flow + +1. **Request**: Browser sends request to Laravel route +2. **Controller**: Processes request, queries data +3. **Inertia**: Renders page component with props +4. **React**: Renders UI with received data +5. **Forms**: Submit via Inertia, maintaining SPA feel + +## Authentication Flow + +```mermaid +graph LR + A[User] --> B[Login Page] + B --> C[Laravel Auth] + C --> D[Session Created] + D --> E[Sanctum Token] + E --> F[Authenticated Routes] +``` + +## BitTorrent Integration + +### Tracker Protocol +- Announce endpoint: `/announce` +- Scrape endpoint: `/scrape` +- Peer management via Redis +- Stats aggregation with scheduled jobs + +### File Handling +- Torrent parsing and validation +- Secure file storage +- NFO file processing +- Screenshot management + +## Performance Optimizations + +### Caching Strategy +- **Redis**: Session storage, cache, queues +- **Query Caching**: For expensive database queries +- **Route Caching**: Production optimization +- **View Caching**: Compiled Blade templates + +### Database Optimization +- Indexed columns for tracker queries +- Eager loading for N+1 prevention +- Database query optimization +- Connection pooling + +## Security Architecture + +### Application Security +- CSRF protection +- XSS prevention +- SQL injection protection +- Rate limiting +- Input validation + +### Tracker Security +- Passkey authentication +- IP binding options +- Anti-cheat mechanisms +- Ratio enforcement + +## Scalability Considerations + +### Horizontal Scaling +- Stateless application design +- Redis for shared state +- Queue workers for background jobs +- CDN for static assets + +### Vertical Scaling +- Database read replicas +- Caching layers +- Optimized queries +- Resource monitoring + +## Development Workflow + +1. **Local Development**: Vite dev server + Laravel +2. **Testing**: Pest for PHP, Jest for React +3. **Building**: Vite production build +4. **Deployment**: Zero-downtime deployments + +## Future Considerations + +- GraphQL API implementation +- WebSocket real-time updates +- Microservice extraction +- Container orchestration diff --git a/docs/docs/development/_category_.json b/docs/docs/development/_category_.json new file mode 100644 index 000000000..23624679f --- /dev/null +++ b/docs/docs/development/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Development", + "position": 4, + "link": { + "type": "generated-index", + "description": "Development guides and best practices for TorrentPier." + } +} \ No newline at end of file diff --git a/docs/docs/development/setup.md b/docs/docs/development/setup.md new file mode 100644 index 000000000..7478e12b4 --- /dev/null +++ b/docs/docs/development/setup.md @@ -0,0 +1,291 @@ +--- +sidebar_position: 1 +--- + +# Development Setup + +:::warning Work in Progress +This documentation is currently under development and not yet complete. Some sections may be incomplete or subject to change as the project evolves. +::: + +This guide will help you set up a local development environment for TorrentPier. + +## Prerequisites + +- Git +- PHP 8.4+ +- Composer +- Node.js 18+ +- MySQL/PostgreSQL +- Redis (optional) + +## Quick Start + +### 1. Clone and Install + +```bash +# Clone the repository +git clone https://github.com/torrentpier/torrentpier.git +cd dexter + +# Install dependencies +composer install +npm install + +# Copy environment file +cp .env.example .env + +# Generate application key +php artisan key:generate +``` + +### 2. Database Setup + +```bash +# Create database +mysql -u root -p -e "CREATE DATABASE torrentpier" + +# Run migrations +php artisan migrate + +# Seed with sample data (optional) +php artisan db:seed +``` + +### 3. Start Development Server + +```bash +# Start Laravel and Vite development servers +composer dev +``` + +This runs both the PHP server and Vite dev server concurrently. + +## Development Tools + +### Laravel Telescope + +Telescope is pre-installed for debugging: + +```bash +# Access at http://localhost:8000/telescope +``` + +### Code Quality Tools + +```bash +# PHP code style +./vendor/bin/pint + +# JavaScript/TypeScript linting +npm run lint + +# Format code +npm run format + +# Type checking +npm run types +``` + +### Testing + +```bash +# Run all tests +composer test + +# Run specific test +php artisan test --filter=ExampleTest + +# Run with coverage +php artisan test --coverage +``` + +## IDE Setup + +### VS Code + +Recommended extensions: +- Laravel Extension Pack +- Inertia.js +- Tailwind CSS IntelliSense +- ESLint +- Prettier + +### PHPStorm + +- Install Laravel plugin +- Configure code style to use Pint +- Set up Pest integration + +## Working with Artisan + +### Always Use Artisan Commands + +```bash +# Generate model with all resources +php artisan make:model Post --all + +# Create controller +php artisan make:controller PostController --resource + +# Create React page component manually in resources/js/pages/ +``` + +### Useful Commands + +```bash +# Clear all caches +php artisan optimize:clear + +# Show routes +php artisan route:list + +# Show model details +php artisan model:show User + +# Interactive tinker shell +php artisan tinker +``` + +## Frontend Development + +### Creating Pages + +1. Create page component in `resources/js/pages/` +2. Define route in `routes/web.php` +3. Return Inertia response from controller + +Example: + +```php +// routes/web.php +Route::get('/posts', [PostController::class, 'index'])->name('posts.index'); + +// app/Http/Controllers/PostController.php +public function index() +{ + return Inertia::render('Posts/Index', [ + 'posts' => Post::paginate() + ]); +} +``` + +```tsx +// resources/js/pages/Posts/Index.tsx +import { Head } from '@inertiajs/react'; + +export default function Index({ posts }) { + return ( + <> + +
+ {/* Your component */} +
+ + ); +} +``` + +### Using shadcn/ui Components + +```tsx +import { Button } from '@/components/ui/button'; +import { Card } from '@/components/ui/card'; + +export default function MyComponent() { + return ( + + + + ); +} +``` + +## Database Development + +### Migrations + +```bash +# Create migration +php artisan make:migration create_posts_table + +# Run migrations +php artisan migrate + +# Rollback +php artisan migrate:rollback + +# Fresh migration with seed +php artisan migrate:fresh --seed +``` + +### Working with Models + +```php +// Use artisan to generate models +php artisan make:model Post -mfsc + +// This creates: +// - Model: app/Models/Post.php +// - Migration: database/migrations/xxx_create_posts_table.php +// - Factory: database/factories/PostFactory.php +// - Seeder: database/seeders/PostSeeder.php +// - Controller: app/Http/Controllers/PostController.php +``` + +## Git Workflow + +### Branching Strategy + +```bash +# Create feature branch +git checkout -b feature/user-profile + +# Create bugfix branch +git checkout -b bugfix/login-issue + +# Push branch +git push -u origin feature/user-profile +``` + +### Commit Messages + +Follow conventional commits: +- `feat:` New feature +- `fix:` Bug fix +- `docs:` Documentation +- `style:` Code style +- `refactor:` Code refactoring +- `test:` Tests +- `chore:` Maintenance + +## Troubleshooting + +### Common Issues + +1. **npm install fails** + ```bash + rm -rf node_modules package-lock.json + npm install + ``` + +2. **Composer memory limit** + ```bash + COMPOSER_MEMORY_LIMIT=-1 composer install + ``` + +3. **Permission errors** + ```bash + chmod -R 775 storage bootstrap/cache + ``` + +4. **Cache issues** + ```bash + php artisan optimize:clear + ``` + +## Next Steps + +- Review [Coding Standards](/docs/development/coding-standards) +- Learn about [Testing](/docs/development/testing) +- Understand [API Development](/docs/api/overview) diff --git a/docs/docs/getting-started/_category_.json b/docs/docs/getting-started/_category_.json new file mode 100644 index 000000000..134469394 --- /dev/null +++ b/docs/docs/getting-started/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Getting Started", + "position": 2, + "link": { + "type": "generated-index", + "description": "Everything you need to get up and running with TorrentPier." + } +} \ No newline at end of file diff --git a/docs/docs/getting-started/installation.md b/docs/docs/getting-started/installation.md new file mode 100644 index 000000000..cb7903e8b --- /dev/null +++ b/docs/docs/getting-started/installation.md @@ -0,0 +1,198 @@ +--- +sidebar_position: 1 +--- + +# Installation + +:::warning Work in Progress +This documentation is currently under development and not yet complete. Some sections may be incomplete or subject to change as the project evolves. +::: + +This guide will help you install and set up TorrentPier on your server. + +## Requirements + +Before installing TorrentPier, ensure your server meets these requirements: + +- **PHP** 8.4 or higher +- **MySQL** 8.0+ / PostgreSQL 15+ / SQLite 3.8.8+ / SQL Server 2017+ +- **Node.js** 18.0 or higher +- **Composer** 2.0 or higher +- **Redis** (optional, for caching and queues) + +### PHP Extensions + +Ensure the following PHP extensions are installed: +- BCMath +- Ctype +- cURL +- DOM +- Fileinfo +- JSON +- Mbstring +- OpenSSL +- PCRE +- PDO +- Tokenizer +- XML + +## Installation Steps + +### 1. Clone the Repository + +```bash +git clone https://github.com/torrentpier/torrentpier.git torrentpier +cd torrentpier +``` + +### 2. Install Dependencies + +Install PHP dependencies: + +```bash +composer install +``` + +Install JavaScript dependencies: + +```bash +npm install +``` + +### 3. Environment Configuration + +Copy the example environment file: + +```bash +cp .env.example .env +``` + +Generate application key: + +```bash +php artisan key:generate +``` + +### 4. Configure Database + +Edit your `.env` file with your database credentials: + +```env +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=torrentpier +DB_USERNAME=your_username +DB_PASSWORD=your_password +``` + +### 5. Run Migrations + +Create the database tables: + +```bash +php artisan migrate +``` + +Optionally, seed the database with sample data: + +```bash +php artisan db:seed +``` + +### 6. Build Frontend Assets + +For development: + +```bash +npm run dev +``` + +For production: + +```bash +npm run build +``` + +### 7. Configure Web Server + +#### Apache + +Ensure `mod_rewrite` is enabled and point your document root to the `public` directory. + +#### Nginx + +Example configuration: + +```nginx +server { + listen 80; + server_name torrentpier.local; + root /path/to/torrentpier/public; + + index index.php; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~ \.php$ { + fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + include fastcgi_params; + } +} +``` + +## Post-Installation + +### Set Up Cron Jobs + +Add the Laravel scheduler to your crontab: + +```bash +* * * * * cd /path/to/torrentpier && php artisan schedule:run >> /dev/null 2>&1 +``` + +### Configure Queue Workers + +If using queues, set up a supervisor configuration: + +```ini +[program:torrentpier-worker] +process_name=%(program_name)s_%(process_num)02d +command=php /path/to/torrentpier/artisan queue:work --sleep=3 --tries=3 --max-time=3600 +autostart=true +autorestart=true +stopasgroup=true +killasgroup=true +user=www-data +numprocs=8 +redirect_stderr=true +stdout_logfile=/path/to/torrentpier/storage/logs/worker.log +``` + +## Troubleshooting + +### Permission Issues + +Ensure proper permissions for storage and cache directories: + +```bash +chmod -R 775 storage bootstrap/cache +chown -R www-data:www-data storage bootstrap/cache +``` + +### Clear Caches + +If you encounter issues, try clearing all caches: + +```bash +php artisan optimize:clear +``` + +## Next Steps + +- Configure [Application Settings](/docs/getting-started/configuration) +- Set up [Email Configuration](/docs/getting-started/email) +- Review [Security Best Practices](/docs/getting-started/security) diff --git a/docs/docs/intro.md b/docs/docs/intro.md new file mode 100644 index 000000000..a1de83c5d --- /dev/null +++ b/docs/docs/intro.md @@ -0,0 +1,41 @@ +--- +sidebar_position: 1 +--- + +# Welcome to TorrentPier + +:::warning Work in Progress +This documentation is currently under development and not yet complete. Some sections may be incomplete or subject to change as the project evolves. +::: + +TorrentPier is a modern, Laravel-based BitTorrent tracker and open-source software that allows you to run your own private or public torrent community. This is a complete rewrite of the original TorrentPier v2.x, built from the ground up using modern web technologies and best practices. This documentation will guide you through the architecture, features, and development process of the new TorrentPier. + +## Key Features + +- **Modern Tech Stack**: Built with Laravel 12, React 19, and TypeScript +- **Real-time Updates**: Powered by Inertia.js for seamless SPA-like experience +- **Beautiful UI**: Using Tailwind CSS v4 and shadcn/ui components +- **Enhanced Security**: Laravel Sanctum for authentication +- **Developer Tools**: Laravel Telescope for debugging and monitoring +- **Full-text Search**: Laravel Scout with Meilisearch integration +- **Extensible**: Clean architecture designed for customization + +## Project Status + +This is an active rewrite of TorrentPier v2.x. The legacy codebase is maintained in the `/legacy` directory for reference while we build the new system using Laravel standards and modern development practices. + +## Getting Started + +To get started with TorrentPier development: + +1. Check out the [Installation Guide](/docs/getting-started/installation) +2. Review the [Architecture Overview](/docs/architecture/overview) +3. Explore the [Development Setup](/docs/development/setup) + +## Contributing + +We welcome contributions! Please see our [Contributing Guide](/docs/contributing) for details on how to get involved. + +## License + +TorrentPier is open-source software licensed under the MIT license. diff --git a/docs/docs/migration/_category_.json b/docs/docs/migration/_category_.json new file mode 100644 index 000000000..02de71f40 --- /dev/null +++ b/docs/docs/migration/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Migration Guide", + "position": 5, + "link": { + "type": "generated-index", + "description": "Guides for migrating from TorrentPier v2.x to the new Laravel version." + } +} \ No newline at end of file diff --git a/docs/docs/migration/from-v2.md b/docs/docs/migration/from-v2.md new file mode 100644 index 000000000..87fcbe3f5 --- /dev/null +++ b/docs/docs/migration/from-v2.md @@ -0,0 +1,219 @@ +--- +sidebar_position: 1 +--- + +# Migrating from TorrentPier v2.x + +:::warning Work in Progress +This documentation is currently under development and not yet complete. Some sections may be incomplete or subject to change as the project evolves. +::: + +This guide helps you migrate from the legacy TorrentPier v2.x to the new Laravel-based version. + +## Overview + +The new TorrentPier is a complete rewrite with: +- Modern architecture +- Improved performance +- Better security +- Enhanced user experience + +## Pre-Migration Checklist + +Before starting migration: + +1. **Backup Everything** + - Full database backup + - All uploaded files (torrents, images) + - Configuration files + - Custom modifications + +2. **Review Requirements** + - PHP 8.4+ (vs PHP 7.0+ in v2.x) + - MySQL 8.0+ recommended + - More server resources needed + +3. **Plan Downtime** + - Migration can take hours for large sites + - Inform your users + - Choose low-traffic period + +## Migration Steps + +### Step 1: Prepare New Installation + +```bash +# Install new TorrentPier +git clone https://github.com/torrentpier/torrentpier.git torrentpier +cd torrentpier +composer install +npm install && npm run build +``` + +### Step 2: Configure Environment + +```bash +cp .env.example .env +php artisan key:generate +``` + +Edit `.env` with your settings: +```env +DB_DATABASE=torrentpier +LEGACY_DB_DATABASE=torrentpier_old +``` + +### Step 3: Run Migration Command + +```bash +# This command will guide you through the migration +php artisan torrentpier:migrate +``` + +The migration tool will: +- Import users and profiles +- Convert forum structure +- Migrate topics and posts +- Import torrents and peers +- Transfer user statistics + +### Step 4: Migrate Files + +```bash +# Copy torrent files +cp -r /path/to/old/data/torrent_files /path/to/new/storage/app/torrents + +# Copy user avatars +cp -r /path/to/old/data/avatars /path/to/new/storage/app/avatars + +# Copy attachments +cp -r /path/to/old/data/attachments /path/to/new/storage/app/attachments +``` + +### Step 5: Update Configuration + +Map old settings to new: + +| Old Setting | New Setting | Notes | +|------------|-------------|-------| +| `$bb_cfg['bt_announce_url']` | `TRACKER_ANNOUNCE_URL` | In .env file | +| `$bb_cfg['torrent_pass']` | Auto-generated | More secure | +| `$bb_cfg['ratio_enabled']` | `TRACKER_RATIO_ENABLED` | Boolean | + +### Step 6: Test Migration + +```bash +# Run in staging environment first +php artisan migrate:status +php artisan torrentpier:verify +``` + +## Data Mapping + +### Users Table + +| v2.x Column | New Column | Changes | +|-------------|------------|---------| +| `user_id` | `id` | Same data | +| `username` | `username` | Validated | +| `user_password` | `password` | Re-hashed | +| `user_email` | `email` | Verified | + +### Torrents Table + +| v2.x Column | New Column | Changes | +|-------------|------------|---------| +| `topic_id` | `id` | New IDs | +| `info_hash` | `info_hash` | Same | +| `size` | `size` | Bigint | + +## Post-Migration + +### 1. Verify Data Integrity + +```bash +# Check user counts +php artisan torrentpier:check users + +# Check torrent counts +php artisan torrentpier:check torrents + +# Verify statistics +php artisan torrentpier:check stats +``` + +### 2. Update DNS + +Point your domain to the new installation. + +### 3. Monitor Performance + +- Watch error logs +- Monitor tracker announces +- Check user reports + +### 4. Clean Up + +After successful migration: +```bash +# Remove migration flags +php artisan cache:clear + +# Optimize +php artisan optimize +``` + +## Rollback Plan + +If issues occur: + +1. Stop new installation +2. Restore DNS to old server +3. Investigate issues +4. Fix and retry + +Keep old installation running until confident. + +## Common Issues + +### Password Reset Required + +Users must reset passwords due to improved hashing. + +### Missing Features + +Some v2.x features may be pending: +- Check roadmap +- Request features +- Contribute code + +### Performance Differences + +New version may need tuning: +- Configure Redis +- Optimize database +- Use queue workers + +## Custom Modifications + +If you had custom mods in v2.x: + +1. Document modifications +2. Evaluate if still needed +3. Reimplement using Laravel patterns +4. Submit as pull requests + +## Getting Help + +- GitHub Issues +- Community Forum +- Documentation +- Discord Channel + +## Next Steps + +After successful migration: +- Configure new features +- Train moderators +- Update user guides +- Monitor feedback diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 000000000..b97067b6d --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,145 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +const config: Config = { + title: 'TorrentPier Documentation', + tagline: 'Modern Laravel-based BitTorrent tracker', + favicon: 'img/favicon.ico', + + // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future + future: { + v4: true, // Improve compatibility with the upcoming Docusaurus v4 + }, + + // Set the production url of your site here + url: 'https://docs.torrentpier.com', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'torrentpier', // Usually your GitHub org/user name. + projectName: 'torrentpier.github.io', // Usually your repo name. + trailingSlash: false, + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + { + docs: { + sidebarPath: './sidebars.ts', + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/torrentpier/torrentpier/tree/dexter/docs/', + }, + blog: { + showReadingTime: true, + feedOptions: { + type: ['rss', 'atom'], + xslt: true, + }, + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/torrentpier/torrentpier/tree/dexter/docs/', + // Useful options to enforce blogging best practices + onInlineTags: 'warn', + onInlineAuthors: 'warn', + onUntruncatedBlogPosts: 'warn', + }, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + // Replace with your project's social card + image: 'img/social-card.jpg', + navbar: { + title: 'TorrentPier', + logo: { + alt: 'TorrentPier Logo', + src: 'img/logo.svg', + }, + items: [ + {to: '/blog/welcome', label: 'Blog', position: 'left'}, + { + type: 'docSidebar', + sidebarId: 'tutorialSidebar', + position: 'left', + label: 'Documentation', + }, + { + href: 'https://github.com/torrentpier/torrentpier', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Getting Started', + to: '/docs/intro', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Discussions', + href: 'https://github.com/torrentpier/torrentpier/discussions', + }, + { + label: 'Issues', + href: 'https://github.com/torrentpier/torrentpier/issues', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'Blog', + to: '/blog', + }, + { + label: 'GitHub', + href: 'https://github.com/torrentpier/torrentpier', + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} TorrentPier. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 000000000..27c6942cc --- /dev/null +++ b/docs/package.json @@ -0,0 +1,47 @@ +{ + "name": "docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.8.1", + "@docusaurus/preset-classic": "3.8.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.8.1", + "@docusaurus/tsconfig": "3.8.1", + "@docusaurus/types": "3.8.1", + "typescript": "~5.6.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 000000000..289713975 --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,33 @@ +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ +const sidebars: SidebarsConfig = { + // By default, Docusaurus generates a sidebar from the docs folder structure + tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx new file mode 100644 index 000000000..c6b68eb8b --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,71 @@ +import type {ReactNode} from 'react'; +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +type FeatureItem = { + title: string; + Svg: React.ComponentType>; + description: ReactNode; +}; + +const FeatureList: FeatureItem[] = [ + { + title: 'Modern Architecture', + Svg: require('@site/static/img/logo.svg').default, + description: ( + <> + Built with Laravel 12 and React 19, TorrentPier leverages the latest + web technologies for performance, security, and developer experience. + + ), + }, + { + title: 'Feature Rich', + Svg: require('@site/static/img/logo.svg').default, + description: ( + <> + Complete BitTorrent tracker with user management, forums, statistics, + anti-cheat protection, and extensive moderation tools out of the box. + + ), + }, + { + title: 'Easy to Customize', + Svg: require('@site/static/img/logo.svg').default, + description: ( + <> + Clean codebase following Laravel best practices. Extend functionality + with plugins, themes, and custom modifications easily. + + ), + }, +]; + +function Feature({title, Svg, description}: FeatureItem) { + return ( +
+
+ +
+
+ {title} +

{description}

+
+
+ ); +} + +export default function HomepageFeatures(): ReactNode { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 000000000..b248eb2e5 --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 000000000..ae1261a1a --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,34 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2563eb; + --ifm-color-primary-dark: #1d4ed8; + --ifm-color-primary-darker: #1e40af; + --ifm-color-primary-darkest: #1e3a8a; + --ifm-color-primary-light: #3b82f6; + --ifm-color-primary-lighter: #60a5fa; + --ifm-color-primary-lightest: #93bbfc; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #60a5fa; + --ifm-color-primary-dark: #3b82f6; + --ifm-color-primary-darker: #2563eb; + --ifm-color-primary-darkest: #1d4ed8; + --ifm-color-primary-light: #93bbfc; + --ifm-color-primary-lighter: #a5c8fd; + --ifm-color-primary-lightest: #dbeafe; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +.navbar__logo { + height: 2.5rem; +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 000000000..9f71a5da7 --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 000000000..467c94b6e --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,44 @@ +import type {ReactNode} from 'react'; +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import Heading from '@theme/Heading'; + +import styles from './index.module.css'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
+
+ + {siteConfig.title} + +

{siteConfig.tagline}

+
+ + Get Started → + +
+
+
+ ); +} + +export default function Home(): ReactNode { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
+ +
+
+ ); +} diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..25f33e05b2f1be97cb0cedade0069d98659df95f GIT binary patch literal 8254 zcmeH~+f$Qw8prXf|AE8ZI^KvEozCoRN6-Z#YB(Ft$AkbPAOZp!6r(kQl(o3FBemPv zo$l7D({9z)?mBj~we7m=LPha_c!1ahav}$a1OsAkzWY4y$(O)Pr&GIE36tc_WQO18 z{XF02`TY_Tvx5Fst%{+?s+c%>UrASS!l#%R4ZYL1^h%Fa!t2X=S>fr(j+@%8jRP<7 ze|&fjKSUAK2%X4u!B5%!zXyM3l~?XQjC?a5p1>MXFjExEzTgF1N4TjA@-0x=-4 zCoLFg)mmp-Hm!cy9GeSNa$(rfFEo%+qI z2|t&^nx6j3SXQpnR#y~sy;A}A2?Jd3=;1uZ45cE&5!pj7JVGtV1J!~(_*znNZtZU| z5U)Xhd{S^=U6Pak=TC72&g@v@KV5(3u`VBDx;%{Lj+lmLN*|@LG z!o4l@+?;{oP3d@;p9%L~9UM(ra5iLMC~*sJ{(ci~Y)HZ2`i=NLK|?G_xRIE2<=XEy ztcm1!`gzOR;Q6M$z?p`zz$f)^9X7&o*Z_N1IUMG4OmviCyuB3mJ;iujlP_@GS2!{; zv_*@7)D+xJNyi;c8g3`2Vkn6i5;x-paSU$QNcGU*`}kz$80(Ku?345H^zxpS(-)dU z(_b`U>a(372Kb4=f4UC7Q`_PF>o!dOr5c|1E8#h5#Q6SFJWMAaDi^m>(l9`4u?vA= zBQa=FaVuFXxgZY71#_^A{&k6=|E^!Z(tptu`{c_O1TXA@!tm)1c>lB=lgDY@W0i0p zHNw?XK~Do52g@*;l|wbjAr7iX8r6eb+?8rEyeUIqxJwK#Trh|1B1LqOkc`3CHL=3_ zms=53Go0NCM@1>d3yNXSFM=(v5VqU`*vgCGI8=_Y>^vbCqs$=XVt8{VhKXTB$OTxaKH#m;=a8&58^i46a2#`I^6a2A)sQB@WE;vg4~P8CiMn*%Jpyw z97|oux%h!{!5mhe8B`CR7qSZ>pHiPL%EdK>V(nkaKCqDQPWx7dZfp7u=IyZx3z z;r^dJIE-iaESMt?b3+FZ9@vj3b=&Dl9zNJ5^u<(HJp$XS;jf{ZR2ebJ`ING$^r~DB z$;J3GE^Jl#a7lZ&y#B(YE_H>(&$&fG~_DD0T71MujLZGJ> z{x@piGt>UGgXRVGs>rcSE_jCX{4OZOcv}&jABu>f0Cv8AyCwFy^#~LO@(}KBM)=Y` zA(L`nESgc5XuqI28RS|0Ik9}W1OAh>@b%H2WvNo;mNGjj7wp2Wr?rn!W{=W2>P`Cm zR$(k2_pbcW)*TWVIt35&!-p_`n>^g4T3nZU^FMoq`4IZ{g@@op+B2EqJnh}*Xz!+d z)BiE;+aD3jhs1KS8m?wN9D17JWhHPlmcn(M@5 zJu)VEpgaf+avo%cYmp4JXDwl%^Mi^(I6wSZJU`G`60Q^aG3W8JKF`~RCFj!xTi2TB z)~>V6ut0fWhB?^-&!~Q$Q8cF`^1!taJv2%ln4wz| zF<4K$vhb+WNesbx%B0X2Tnp8l6d1ly*Ft2NIxjPDE$AHeQEkw7s>W$O(e#t&&q$8> zhn)!v_bt7|;88p%wctIg9W#saAZC&o0_Pe%l!sp5$8|sZ{2j^heAE(03{EAJN-b#5 z`WNrr5gz{0?3}vL$Ui|}>SJNpvYHsI;h_V;@b&#-9=I + + + hexagon/logos/blue/logos-hexagon-blue + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/img/social-card.jpg b/docs/static/img/social-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5370429352dd734d10aa67df711ee6f25ce9a7bc GIT binary patch literal 152256 zcmeFZdsq|a+AlnS5)Wu>b%|IZwpyX}fEHT?4Fg)GDkW+UT1BFw3)EJms6ZeYELA)b zkM&T@#A9eJM(Y7oU{KU(sSX+>wx|IEhA<+8WJog14Er9s-gob7|MgwpzP{`F{@7hE zTauY)p8NRx?%#b6-A}vgkwJ53&zX&Qd3zzB!T*r%I%Fo|^?&$}u*m=65?)^2706qC zyx(}g@$q^K@qWw8=Pj@9+lT}~yn6q$Hu9f;yu5vS_4XC@>D#YATySL&;_c<*|GPs2LY;{%hf*_R(Q0zyG0czoGua z0*1doCOG7S4<~>8$&{(#5i>uXH9O|BIdi}G@~f{GE&gUn;;PmEPD)<0Hf`gk&FLAL zirgQ!Zp+)gW9R+@2M_&p_{h;?Cr_O|b5>XQ%dfv*x_sqoamlsow<>Snxofz0|BuJU znkTiUr+@w3@Y2%Q^vc?7Yq57YoOGwl?O_DDybz!NR@py-{cm!C61=>7_44T@66Eso zPKW>dyw$7syOVt1j$R;IkvjOjkGAv~GGpI~i#Pj@3R~Fzua)0F>Nj-s)}Cv_t!n0svT>v`QsFY4ka@)42m zRq5HdYghdvWEI`Wwn2+CZoDjVel&7_|FW3Rl(N{z(*w`OkLo*q6FOp@X2g}6#Ba9k z{`>gtx0mjDckZT7mZU2}-RP+BCtJ}S)L(16k@{@1QP%leHT+_Pge5xHROC3VUSg@lib(3k=|miEOL7Mv(N48I&X0&*k#|PjXN;s z1aT*H=$fD*J6_HI{by8^JX~|AVP5Y|^MCs(V*KylzO&h~^Tp&9fv5h}@j2J_h5y3u zUo6DXN0O0irzrCElde6v^7*_kul+lH-JThp>;9^m+trvjzG~hW+vxY7y{WqR?62uR zH+{N{4pIIzoleC!F`dz7yg9ikVYy`WuCB*f-xKO~Uj9e^mtLJ;@(zY;xSPqhjyU(H z&+Cg!x$0N!*gj^#AEgzMRT3BOkn`{5fAtC(pU6A-btE5wy%qDJ!%Ou*a?bUpjOj+i zl00MJobdU5I~Q|u#}@|9;jzbj=%uQX#FtRdR0S%DOcB25NFQMV*Be4tRg)hAI|=u%34bl18>z;~df^7i>fHn3$B!*_huE%- z)??xG`*$wxM#_RO{?XZuM?B8t8=m4g%dNT+8(A-G~>JpD-XDwbOO7rFaFhO zDFZQkbxl_3J$j-Gm8l|_f8_2)6f@oV&(Xa0&LQ9HC;Gp>xH;5Z!it`cGUlr;!zY6U z-6+2&^i?(|edG&1wCEM=L$phvD-@e|^zK zQm(uJYnPw_@$ZHf5AzGZHpcePV%Q7p0p{KbPe!h&VRw4eZDVJFl)VK7o3FblcDhOu zyJ_@4JHZ~vBrei=XGCG|u5rrmE&5a@)vc5Y;*J#VH(%%R(1la~(XILh8dryj>)C0_ zRKec{{3>~=dT#1QcJyrY7`ljQOzK9WyAd?!pRG@vn#7va>lZm%jT(?0{EK&L3}fqf zAI69LFZ~!^sJK2BUARGSqKqO?$tRCATf33B%U_%`<~w`L{D>i5m3JerIjNg!{zq)i zCVn|>BQL3ZD)_1V_d8Dsm8D&>Q5_flUv_Wt(0}kmsLogmKIqN;G$Av!AU#2v@mDuu za#4Z=J<()7#FoT&BTUz(;Qz%QgL&1#|2)Y`ChjXp<4GgY<77%$NM*iVn#g-~BQ36f zB#pdLpzN1lUWXmFz{1EU7cFh*tCCipw3@YoJA-;Nn(+JxwagVGPbm9O@K_JiEyUrm z2RxmyGJ>yG*UqHwHHzhjul(beAU46qNE&tuhEF6H1-Rt;Re>IU+dn}?lm!=$bwju} zv4u@hlGU;{RR3Z`68=W;PLS=KwMFOoMe;wL96}XBS$Md2Eeabf?M5s*`w)=R|261X zMVa;OcDHg;&4HfXJb~+{V`dZ|^1T+KkFLruGuR9b&K{Y65LQr8Om^94FaObR^7N`Q~PjE#PZ(%?7pG_cO*!!$;sllOpu;ft%fu> zLZ9LmH;W_xqan2x$74?ZoZgkU-aXf#|t8sWu(ZT zOrCbA;6r`ECEMYze;>Eyt1ly48@?Ry6!AGE?M7ml0iRsm>_nr=`(ihjWA!@pQqz;u zgc$oyyhpKhYeAvio%J$h$5M-A+oxU!s}cupwI_%Jp04Rk%b9uh&`^Bb=i^L6FD+em zZ~fTt`MU8I$(PsU_3>+K@*k_zU%8+0Td_paJ#EqLtLfLLY{k~&IT7o1XXcIj`Y_>7 zBz6A$`IB+)P2D+-OKM2kd1YzUfEC5RlfORC$hv#I@3vk?o%;R>4_91RzotQPlhv3N z+~*BDZ67<-9_)ZeVoHBabS>u}NUo;mjB+3C`iNcLuD+x0KX&Fo9k(@oJh6Rxm@;*c zMmqLxHk=`lW;%#~O z`;E6gJMhhm?1iP5uU|fx*}+C$J%s%}J#E>+3oh5$vQgd0eeAILY2!J0#!coA^I;G7 zoP1fl%=9riggQp-oW7{2g%7dMCJLWZ!@H5~rL%r{K}Ec}a;_z;>_O)*=UVwW47q0ife_QS#?+~|X3!3L)n~~=&li+4)NMLCts+Xy{5o>Xow`W^D zTF8dEtG!AvJjKC(AHowwQByEjz)+k$-wRK%@_{JhM3PKwH?m)a&qbzWVW@1zw3l1h zO0=;ZB|F-pwvzBTs@hA#AIBb|_qDx9hrvkknOdK8E8`?R)`HZi{;*AqY>Miu!AK8( zTsZ*tcHd?5@CC1O{G2XU+{CLcBT03*%u&a7PDZYQ09HFw?LE|x$Y3+0vf<~B!5ge~ zR9jt84RYgpS0Zi09e2DO0|XtAk+^lL7Mu7CJ)8*7De@jr$YW_^R6A*j@@?Ri1nIeVis7#y&v{rP=(#=0 zS4rURjXf&D=1T03x7OW#0a%6$~Hco5cXMnc9tv$r+52 z5}DrfDrbNhr;MmolX?f40DFb&4AJd+H@8phlu{10;-tKUp@a!NT*w=L4NAF?kk>?MmQu(J)E6YWBwzWC2-1pLD2bkb6CAgZt+YIbWk>0n{xijxp&@;)N5OU-hcFZ(_gIA z`sAdo<%;@c85VQVJok4^{vXS(qp}W8-2C2!Px>JtKJHUclI(~25d$CJm~MRQB@Lr!l^y1Z_D%uCgYv&$}&T)BSPoi)CC z51V;v&R=<_vf}2kW4i@s3MDSyPbez8N7zxWnC0JC?Nhg3Ec|Lj(t*7nDKxTgHAgBe zf$Od%=TGuXr(42B?QM4>OI(wY)ZOWp{aG5!peef)!wy0e15?e!2)iNHZmZjgOl!pA zrd9+5cO$joTAz^+?fPK7Dn@lYY~LL(Zqp#T8=>E7t2@w^|GZh;ax2#qm{HL=g5f1w z?k0Oh(B!w>NPN&=u2y(hBi*9XoAILRQ`N&}D4M%~C%vSKL?6q6+E}%M-v-x}3 zFj2GM2cw>*n%bSiTz4~uAh=wn3$Rs?g-q7KDDg~>4W5`EgWPmkad9#fy7X?s|^3ovo+sKQ}QMTq;KK>(J28^ns4B=$LQEfDC(Aog_ zQCrBkD8vbggV0a(v(tCO1Br2I5tc}ELJ4i%=c)F3s2KQT;#u?|Ccg`z z(c*6(j{{dyOtg)T8o*Qn5-@T;r8_7sbC-4oqtn zpUt?7c#E4n1Jg9pthaI^h9h6t>ZJMMo#eM&iDx6Ky$+BGr}kn4*+fd679|>HP=yCy zv$B~~-DK=0BGOs|yX@qMjbzaA60J{pjMK8)Yd^*%g6O`=YfOj2)tGKGhL4ypF)a|w zyO9M!+_gw|>x&%zw-9NnX}5Rb=71h;TC7WzfHp1tt&6@?n%%T;6DVjw)v>*&)pf#Kh6+?4&JGeQ76?swwbe)Vd3e zh!fq%NVIIblG%-fp3i^;wMA3@)Ruqkfn>vN@?t$E*V2)<=?C6{H9=YV9_ntId3t-6 zq8}35Wj)|*R9H17jZWv?WTY3Q;@`quBT_X-+51|bQPb_34C}KXwyQo>a~U~mg|dz9 z3i@%N=EwPyz87bw^JV3wX$7?HSg!z9F%aieB_o`Th9)J6 z$B-Fw?nXFhnyPTsXDOrn3lcq@hH7hM4wJNdIWm%$@3n?oOc#gwoY3};Jbvk^1^>2_ zyc&@R3Hbkp>HpVZ`Y}7@rTlGo=o-K@W!3L0Y1+xqdIX}2SX*{9^u?-Y%Suio_F zy_T_D=+}?0Ed5|)>4lnaLs#r(=nv$Lj_~goxrAuF9Ite?- z!S}m=20-mRG^y+O;Fm+LZ&r7GmHqbbk0)chBLc6_TrJw;ymn&g=l&LP-ne)3$7W1! z8ytT#bi=UujSp9jdc&nNnT-hmcpRqsu<5dMa|H;W+4aF5@W4MLMw0u{>#H(eyW|r>% zWA?1_3+;8F+CtLmTjTSon11y?VH!#b)k%*OkcvGuU?SMQB zxmgAWnAKr*LON`6W11}H5r@V0f}c8=&5{N;e^5kon7nZeHXWcBTPUWO*Ap@+6Crmz z&JowBl8xVhvK-wgQgBV6XGsKG42ijL%A7+%HJ&mXDvK@UrGMwSaf zNDqe|8jf7EIC;YQB4==szgHUTs09R z=hpiGsX74JtA_LmV~O($wRKj7EQK$I3zxw%W_t!IX3=Y-|5TsI63ApGIE6INyAjd~m-NT0+Tn>V z8cv%dec{I@=WDdm&V_&`c;a3x54bYe1Ie3y8t*Xa0mYs{B!w&i5X@@aIl+rpmcRve z=FtW}JFlF?IA-Sr3z)C5dLsON*i)g6j`GDOpfa6@ff~ZWU>}0;1{;TwWk~Rn3EozZ zwFnu5iFG~bG8y2h)AD%B4h_x|j<#9V*pUSr;25;^Kfq@;g6ay{kU>cvES{D;+?As- zbL(;bIxIq9R*-n^WDk-g@^ta2)uf-i-s^zc*v@d6el8+&&@Qcj2Jy!^e%0Q<0R5M{ zARl3ei{ntT8#xb$tMmq3Lc&G<=-~!FvyFx*65Ze-%g z25{QP{=uvR+y!0WoT{D|p`c5>I{b<(U)%O*_g<@8GUol_gQXvB-T%pgrpv}PZ;l_e z1#dj|*E#)B))#VHt@#RIyCJ}PU06$U4v8z`hRuEkFn$nnS~4Xl83}u*1e{+{$z{V)zz5S( z&1}~K;K4ZM&D9)M2{kaInr=NGViZu`k);e@S~e33S9r_;L-32CemqenRAwKdVoC_D zm%qHQ2^IK9VhMkF8jg&2h_GI5On>^`$ zxWmjkPd2QWg5i3dhb`pGL@5+|=ROOuO98ET?G!@~N`j|_%4{|Bhr)B*(|i?Jo`-P> zAhiD3cuvl6KEZGW3hAd-i)cgy#OrVffX1OvwBjl2q5AhWo1B%wY?l+lAkrzK`4xDj zkgfK3rBG4#ZFghbnA*JnJhyO-XPcrM$urqv^dwU~p2HRmFjtw(tet{9)Q$Wwv>O>o z>fs4g79W@lSN8W+8a$m&Ho2JgUsvnZ{9v3g?zJ1hTJSi(ucQcX54VkcM%WDqSUWsv;Q1Sf2beP=6i4wRr> z1s6dwWonSY6)yPJ0&33w;U?~AZ8doKDDc!H!X+w=aJ2EnpJ8qlX0>a_bIAeHsrSIc z?cGQ}a143?I+2t^{tcnQkV|?K`j&%P+0LM_e{6&QAcU<1aAdI66ChG0W6jZsd>2@uT?3`=snGlJkS7wQfD-o;_i z0s=Fj_uyehxTwu&V!Ns(CeJoZOtSps-b9g4ur5H-z@rV|7^)MxR{<0+k)H`7P%5ez z(&D;?gSpk}s%kJmnd{!byt8(;*@UxGlXTNn(-UpxK){+l!0q`@&$3>WH1hGv2rW-cc)1EssnY8y zoDBRx$W)(wl+})n>vRsI-bl0hMHeQS%mg&vJibRT`37y5osQ(et<8BW!Ptx^4-^>d zv>K~7a$+}ai`oe8ggXk7+R3;~HgiZNL;Fw1_OaJUqhy~J{90NW$)-Xiyg~N{DpuyS zrckc{tI`+uk;T#og`|2g;~XHTxy&87j&fQFPyPJBDd6ijwyDZBBBNwPIy*7)w~rl2Od88*uJOxK zUnh%?DEk@+8a?g>$#Dy`-Q$JmbSqZzrAcL8?rqAh^j1?YdudgC3`Ez(oUS%@20DM-3w|erWibki^e%5=i+sV&tktV~YpwTH&H|qv*7t6Vey<*4r;ekqW0MCPI@fd zMqJovsk1SB$tYYkU?Np=l(N+oXLqR*UP6TM*O6<$?@+*D8L~GH5z#BAau}|)Ri_ye zj%Ys-(nLe0G~8mhNaEaW9taJ(@S4Re-421??tsD-3XJNE65Hf(=XfuJF{7Nv|6T`53RI5R5 zsND-&kx|-JxhCkinQX>D<;58K333#WPFib)g=pA9uh1Xyo`zd%XtIM+Cq`vgHpjv8 zzp%|>oE5v@16qWrGzQZaX|wotSX&*jzEsjwkpJSKZ#mxHps8S%TXi)+oZr|WxIUm- zzsB!n4u(%C#}@$aZ6{OyOr=c0I&{y(LAXKJAz460!KPS*#l|H@;`+$TJ?7p1{UmZG zuL#2RYms>H@oY_bS;S@+v+6wfAY^CA^8kr_g7NqyEgTYYlkyM3eM&A@7i5;1=$j+D z+SlYQyG_dDp5L(6b-3Wzg;TaSDK%gTljytCELtskuJ8Yn2fT`D(A2;H8!1r_W6}-S zLvX61S!9ssb&Lm&+qgnhUsZB6xUPeu7^}lDcLf}y01Y*)q)J-m8_}gsxV3j}0PSi6 z@`jHFdp-+^WR)_4FcvpFh0Q|D10otM4R<;N(V4tdF+UL1A4y`Z0c@C2g9Xi+$d}C` zC5_mGG^e34Sxk@{NMZy=cc~ji;G@%)GM*fi`*u}YD;cNBbN1rPd=_z7!pbBY!-co; z8AC*$cLG#w!1dZUz~kd_B~ZyY05_eVdN)SCK7xv8R+lhpk^RrZm z>V#|3aCS}3kGvG!%cz$?!iA`|coGAgTqZ3PV1Rb_<_A{#axh#(Qre@RU zD?NwWKK^d5YhmfCUSpTZ<6K`HdiL<u~uuSlL$gb)BpxQSv1c)c`jb~$FE86=5^MG4Tfisgw0feMHLI4~}9r8U<*AJPEavvP9}_OiC0lHWC(*oo!s4-gT}hLrTj zNtPK{4uUCA3B@#f!G=+5#~m*U+;kaunegM^yK*E|Y6q*f&FzsgQ$#-v^I$mTHk!Z- z^z+$V=r(mD2}-C;L#Yy9jC5o8T%aT{QW456hRT}avw-fA*S;1ifBD={7X<#|$b)(~ zm8Cvl3G|QS-H5EE9$HV`$lOqfYQ!6?0XA?Us>m8_k)U8e$R=k6N}5>u!Eo4_+|>M^ zrYg4<3F}eruZP%5VM}gb4C-;p-Z~4`lL?B1go8Qw$vyekdsogXs4nD1q15tz=`;(@ z`^E=qOd6cvf&XhSU@asTCUq9)!w3mK)Bzrm7Z*~}TVkT!7d*Q(;)W;}+-2KQ#{xXY zZ|%X}0T_L&t8y|TF}0tppMar`=7=s%+00^kN-Gljw0PAJksbiRMmW8NAJp`s(Ew|glTF~67MUC}Pua|l9zWqSU8jJ3st*7qK_4@u$Lplc1if7NTJLECV`ED% zh#j0Vgm?xUT+S>cXl|raEYvq2rgP{y!MC{(0%wtap+XEk^Ky4B;Nk@ZSArIef|rAj zOmmnu5Cl8yAQ;qVxZ>~NKx2RUKzRY~MY@fk@QM8!$MR%9zw$MkfeD{7+ z{wquDfw;YQ($oI^;?v@n5yoh?5_Ocp%{8GJD=(*nLLEx!yA zZ~|zD14gIhFjT*0dr#hc8b-4ihw&#oM!@=y{lKNb;p9f+?$ns&174J&q>4~eFLKzK zCQUbTSl)sD^nvJJSer*B=P<+LBa6eS115@>5~RY1ftsw6=_doxBDH|UK)dW)eHkas zDz9UjHSi<-4;PYibh?D%#17_*z^(T!JtYgTtT^=sP~hS)%E>7>|_L6>BLj3kAozk&`5;Vig*wdWyVFz;t>Eowru!bnqr>rNGA! z^_~6#TTmo?UT2>%cq*tTQi{s>GSt0dn?f}cn4U#YQ966nX{wILm&YF*rDGD$=r|LPv7hpP*$t2kpv4B%Ha2t8zT`vo3wcBj?!y{M%aU|(# zW+yMV2A0_bZ+Yf3m6uy;9FV4xhY~a&C6@6-$_c9;>^0<;xrhC@a1F@56rNab-Z|)~ z!Q`>q7>oulsPqdnc8q{%AQj_;1t>1ymNt;n8A@%Yo5W6wJqMzEM z>jPkpCb#Gw4Bdsp&<4K^>SI40_Q1;pN&P1HRzd~~BO3zeQwXKvDkmpu5{CI$p%UV+`f->9blr^tsJGt=6Zw5In^h9Q45)7taCCj=+nia)6-zi z<1qv<)h@_%eHRy5US7gZdaS0}#FUQq^bt#}s9F}wZ-mO1t(0COi@`mo{uB0aIvL=n zAl)%ALev$=ogIh*P_R-g#h9mOduUAQ&M7gjT)bZLpqyATqZqQxreCT|q`uMlg^2=@jEX!J;RR|tbIIuufh6Y)5HuD+({-87X=qOluGtjme-CRAr zGV(e2$aCOxs3HF}MRCl*bnyp;&GIV*<9N2s#u&2&r=Tpvge1XB%P=sv{)84DVxpS^gdj2h68PG;ot05s-*zrixBe6oCW)SIYRuKt#PJy9o zD%=zW!)FD&q(}k)BwJ23t z1aol7K`U?|in#ShEiA1K6<7}^hsBlSrrN{8W^=HmV3WN+3L$2<62x3ZZ()u3WFYaD z!P@58WS!i*LgLuM4@s7o%xjgy3j1NHU{7C-?lL=sy$3K&&8N%OOF2nb_8FnZ7nq6&;q4T&5;p0fwS z={@&B8SUa5I@W8Bg~clYF4q8Bz9|M3brJo?WC&nEPBcg4C->i`R6$3S^tAMd0M#^V z)tlJl>W{&KTW|v_)6Gb(4&@Y(mg{{pY!mt(c?eEo9LXeaAYatWj-p~xR8V0X9& zj!qfnVN@H}JPQ?kH#Loq0iocJDOX6^Ui-K#ERHzAtr5K%iNevDS|`Og8QiSD_l|#X zvCZvdv9rpM>S-!e$Vwhmo#-x59ZY_w(~r-lEqF&(r$s+m*zevXR_*Z2muydBHllL< zOlE(t0jOD)(eO_FCnD= z1+uBm2u--mAh7skF?7*Q4cthW-e!4-xt^XB2Be~p4ff%DvD*sj9u*~rzqf(K)hY5O zFhMh%9uSEN2xOCqZG5Do-J<749yx92WevE4ZUI14p9cz3nztU9E+A>W*%=r!xp!qG zA=i7XEZrjl9LhM7{>x(Tr6GIEbE17%k8mvbG1Bs}4n z+NvRVop5*KfL#aboUB5H8Y2%T2Lh+xJ~)`g4HwxsbnfH`Q_h7L>?4iQmqyNllB^Ik~;L{*%u%)}e?TRX;4n8d^`!=Xp z4{eAZuCz4apqS}mp!p_vJj!2z91V0p4y1=**5YJu`~Ws^_cZeyp5ek_U-$)-Xu&LW zg2doMKS)4PEn4}j06-;H0pTx5i-PstsVM1jKJXSS$oJ(j@!X!G*wZEi%Sa16i&nb@ zmb66Zho}zbe2_a%t)k(O-*cHbngi_UWqq#MW z&|U$mB&nU1LL-i-M!?xXqs@jE@QHScVIB{HrQ3ML7vi3yR|KE{l^NMJA{yF4R(6e= zd4@g|+8b1=5FRB-<=8{utdI7n7Z^ujcdlKJfw-1qGKv<`BUrUo3#SCu?t?Z$38}&l zZ-8675$~IV?MHovLW8T{atVB=hQnI8wS6X(Q(yLnQD|Yt8n)6hAz1=<3=9VGB9Cg} zcF3+M*#L7HuzfgZnoH!3BQTu52%S{$wqmhh_Q!jBPvkF)h0%aWGl$u=%jbYNjl#h& z=wMEQ+3Ey4{I+Iy*sMF8qAz&BbQrm27Hsf?P7*Y)ObikLq=T^hFm5J<5+8`km&|~r z;hZ4n_TYqi1b{Mt-8~}#MuKo)gh_yl^E}W!qq+5=pv7W87wLK6L6{NE}DAa1ukZa#ty?78kg2;Ht&ln2NhL^wPdi9Om)N+AK02^ z8ZG6^4`Rzc4Q}#aws!Rc<(2ey~4KS3iQAFQv#h?x7T>vtzL*TU*UO z5PC}^Z(9ge_-R3?je|$Ad_rT=pOOcvG!<0l2lmCzCT7P1z*U&CstypiSJy zW#&nFo&Hs-fe0!{oC>LkIDZ1JO*o0=Ph%2UrH~7<%X;5qvXU4WT$KY}g>(gy1CD^q z8%HEu>!j#A-h=fXGMaRAzSDO4hQee}h7FEJFUTUdlHh#jvy$r6ahYc)Me})fmdEpi z!j%0Kv3h_4zh=p|I(=c5C#le7F*)A=Kfkm;o>B-Wn*n4ymn$4E&?=zreUt%FR4eV; z$i~p{zCeOmH`;33tvM)K@exX53o)5Vpv|A;I&95i4+4C9j<|Yb=l#30v+O3P(EK^) z1r=o~&ErC;0qGgKiNNS><&j>h#E!p4=+N2u0J5gVZt@RB6 zyqn&V1r!p0eY>oxgI{c=m=V>J(uBNK!1<Qu3VJD zUsdifsMs_i5}D>PF&?(;-oxZU*PLx87T2RyMM0-%A)|R|@@T0d5x3LS(*@A4G&7EY zS)5G%r$w!jPQ9BdWX)wWX};{!Ze&Ed)8J;R!3-Wn|9#F*(n%Ia5Rui?eSFqfn$;IuAU-}R~z-f%#2>2KBU_*~XvYljcP=O_|r?0!xJEkj9%7pKTVBwAbRf!(`Z7QGDysj;tpfO@r1 z9J)kMR5$W2CbzG^7VX;Ul^a!R^wur z1u)EwA8ukVLVrG7yV45KPae+rSv#2dpy-alfL8U=X|Aa*_H)QWU;7tl4>WV%b`8$w z+^+;zqpM>9zGdwzsD3xiX4ZSq1nlqXZen~-5pgwYnA&b_fW=uPlNPb`pEkheK)e$)oQd$Y7m;sQWYG) z&wd2Go*!X|Ldwm7Ze5XJKQXD(qK!U`vlBU$#$U`ra*gL-S*Bar&Qtb*#|?ku&#$88 z*nVKkrk>%jC0qH`2h?&0#jEfbh~pyf24T`jX%MEjNZ}kG-haOWl71?@i-GPdgph2x zry2A3X=H2|%_pj1v8ks3z^ddUp>09v zCq-LX?B4W8+{O!Qgac*oQJY6~O*=uD`@zWCV=X<fK(A`>Kw?__Np@a$rTahQvn1zP}o z<`k%P2cM}Ep8w2$FyK4XTDx~y|9w1mSVFezFlqxqGuwm%7<^xCvdx zKGwq?&jGuU3Y;7;M|WT&h4NP-NVq1Ji&R6nF6mtfbAoJ_8iqhaak!}0WdG6duc;Qb zBOeN35s0k)7{c&p_j!;xr_UDYXt|Vn35!QCClgON&q7gkmi&EwJ3LT zDEG~&3&JonD$Ib|7aqU3y1^1BE#fnAXQPdn`I5N!JAY-gUteLd+~#S12$&`Y2$ItUxff{Lp~wJYW^O zPa6!d2^BamhdT3#P*c2shXqyY0lfVKMvlaXftE=CSQoq?%DA*Tht36E8I+7oG}A+1 z3&2aq3LZv!Ug1K_ZitT+iVl29^u`6(NBtRC9!<($rpT;+A2-v5@ycIr=|hw-WW_vroBC|^a_ zrk6P;<^m)^y~)m(g@{d%Lne}e8Lha(K*JavwruOe7;qer!LS!C`tcs*D{`&?ro^RT ze3pV44*pfLIKGQ+1@9fj?(_lp1Jyi>9ZtBsb~qTf_Id88v&mv%aCM(>_rWRVNlB)6h)`|`QS1*25OlFg-cW1%kSAd3ktJyQ8`>xgW*sL7X$fOY66Gm2?uEe zBzoAB4$ay;IJ=KSZi6oCG=N;fX<}qW@f%M;HZ1xS^em7D(*@XAHcQa@A3{|H6Q$CL z5T8?DZ9!Wadcq-GI}Q%BEs$MrX z7BHaX$!=!8pcxYz`GZv#cN;qZYS|a1;9e%d3xSQ;fxmP7=uYa6m!4iOKxQ_Pp> zfl1Ls*y~WMni856H~JUA$qM^N)g!T`efJ4@2&99r@7ORZBI&-h&3vd_>^N5NG4GNJ)Qd{3w-dU8pT&;K>W z|8GsvyiD?9AeNH`L_!Mq8NiHZAIsY-Td^m_H}+2ATlmOREy`b>gS}}-4|%YJTwuD2 zMP>xT)ivjGegpyzXcG;LUz7<0wUF>2XL9H`H8eB7pN2y<%U^#TAhDj0P>NO7p)5Z5qes3~zu3WNAkPSJT% zxH;M_vh2=+wyv=01slEUD0BYtNp-MHT@fVCXA!_h!C;6s|F}q|m)qZ9!xwc`c-7~K z(X&~bd1z0{3;W`Fk)C)dlh1t9L*ZQT#U4r>M$K`hLOBPc8oh88Av2wiNHayc@A!Ma z`dPPjc!kdtLiw`K_SSv#^sgm`@eiInzx{AubV{%9 z=Z)L_%kZJgFDJmR4!;nZMlIHs;0lPSMeM((bmnb)2!l4}i>BM0=+n|qHB#(ljUx2s zca#76tm$k11-kQZc&9?T@QHi>;8Sa^7ZiW;`tZ<4pRcFheNcNQu#sqezR9zhzcTsD zU!^B`g=#Z8FB^J7zQ^D_hnVbn1Fo2NM~>$IFb`aDZ0ZY(tfn-}F1oFt&rNGMxh};o zdtA-NzAr{Ee7Mq%9(=g+v&IdNOT$aQirgt{JlwLRl03H)a`yguufDkVcHhOQ+3$~YKW`5mdF4vN&s|^B*V!k;+kwM( zoiQCE8pwO*cia+#+>edPY!L4V>Tge}G!M1a%|6wDz2i<<+^*aHddizGyZ*gH|IO32 zU*9-7>;ui;AKh8(cWCXSInuAs-M5)fj3`PrCVW0Zi^H$HX$~_J#cO*;Zze6huNuoE z_K;DmSa)6wot4g$0@`)-U&=W6vQL6W2bFI2aX@*O*gk>*Um{ zURw+!tke1O0%e~zWBwf;LY9l~-O9xPYs!>~zfBATPy-)6i`GoyBXMp$%FV{jZUjs4 zMIS0-YPuF|5~3G49CvD3&8AkI)QB(>{bBvP;Q-w+##)Z*LQ??13CREo6IsU1q%zAk%Iag=eqal?S}(II#*P&qjO!8=%?{9^dXVB+RklHed!uLZf@Lp;(W` zrU|bo!0)Sx*)E2HyG$X89kJ3M|cnQLDjQ6h6FC@D&n;GU0m8QH#U^ zrBp3&yfw)H;9-oe!r*~7)M0Q7yLa~VnR^Hrx0jSdBg<0Bj=-2R(|VlR1;7!j@RngG_)~Q-t+fPD5SB2* zN|CxWAQotWdHGL6^3Pb>pyi@mw3RYl@rOruh%3+$iDsAvfo(6@r5$KaU^m+GfgE|h z1{SYvFbRcV!`5CKnDNWWJcnJwrM2x|uz}50H*IM%c$|j07zC=aUShNdxvBfoFfN3{ zP6tKf>z{VgR$IO>?E+&0QgAliSu`|GTrYBV5OY!v7|CTqqV1Mb_+_7H%`c8 z2}#^@Y~YI;5nV?zPh%aXr~ER-1~k+-`3;PHNQ~!wF?9Vi)ewkMx^O8}+OTyWoBM$A zso4E4n>W?vWQn)b3FqNWpfQ-ilZZBUxq8wO%yurget%yUn`1#+rx+pM)1X;kkRH9g z1enki7s>x{WlBI&Fu+Ekt}BC6^(p8WUdCyKvH^?sBHd@4wO_xr0*EIZk{?!X6KJ9w!ZgD z6MXt#-AHMtC)ClEzkNm9Z_kPA#3Ejv$)%_un_oa*r*sW#ZeJt0H05<$yQyK-qovZ* z{0GL#(dXDtpAU)AvJRqa*h`drp; zFCSQ4`o;fX@6G>`O5^uo%*v@u+RIX@tZb&zN-H-wwpvqZ+f<__?P{iGW-2O2voy;j zr^PY_+r$>7#kEv4OKK`Hv9MfF(FjQa1!Xy$dEWGSUf;jq*4Y|VoQ!8T4Ba(=mAOC$7YNpWMV4#e0D z@4eD>cGAIF8=VY)SPM5*gpUte@!@3wNsCn1?V9|>p8xzanuU3HJs&DETttpJGzWLB z;J^Bh@GZ8Jc!6#i{3@s}^%3=(;bjfo>FL=GyuAv$ODaKRCu6!acEQ=!&3AhDteUy6 zw&Z4kZ_ta%;&xWp=P`AEDx>tALF(sWmmag}M+;i`jUr*jz&F1DE8s(_hgG`IU@$RK zLk{diK0fBaQT}Wu!YMUwS#~(O4-7$dCL$IpouQQ;1=~Y*VDh3v&NUJsT#KZ20QlTE zV`4w_RhuI5Q-odsjs7|uoOUP~9Cv^NRb*~#JWAl|8xLeiThx3F4IoOes|TS60oT*a z*^kFyEieafVR{FOxppuWYIY6EYxtp(V9Dg6M*Y~GQv9m z8BdFig{Z<1NH8YGu*?D;{Y|xF3shb}8R;%gFayhgNQwzlsPtSCfZ9qBj@F5QW=Q4m z16Ocv+lc5ONISv(GE!58`LF<3|6CRX{sc@)h)4MFi)2SnKsSKv#c4S8R{`xMflg&Z z*zv0g_9$VS$@*#_puw-I^#Vv|&%t89Br-+DTvjbLUru(TmqSI(h~R_#)xp>~fm-Ea z5+6xH;QSQ8IpcQp&xU>|7k{`G?k~fb@1BEYnVV7Io$x$axw)oLkRk)Z26)s4vWt=L z5+7vrmvAXlFgL(p{Q)Rp;{y{+fhQ)*AJ>|uMp*8o!7qvE<*PGBd_`jjt5f|l6rm#%7_dNKt1qs9fGTHdE zU$;e$qcef6NCoDnP7Mpdx!pVE2D%3+XZA1lIwHw~45h&1_GvU4X(j0mt!sLofzxk71n>%d&3-)OhIvHr)46Y@*6^0^_#(%+Smq#wNK9T?Pxxj9a(TW@J%jr=*%Y zo_aAX6)iG5Ule779LsPgMKXQhDUDqzSGnNPZRzl| zD{V)1+zTp*3_B8!8QgI&l=pwHblSJ?8b`;Ktu@#o2S`RaqX)1BWSUSW!H|uUT7tfn z+zlBUE$U*OZ+yR3^GG?fcfq8^xV`e^-#%OCpLH~~ztwqZuINui9>ezI%FH`Ht!@6T zehRO958dAB=08(;9-lK~(Rx}H=ktGrjrwP~Pe48vgp`abvPM0nSKL7ES5}8-Uy$OZ zpJs)A9kyJ-dxNCVFjVSFI{&lc>v4x|r02mD(&vJ2CfC8ddbaXmP_+t^A zC#kNr+$uqZbkl~hgdZ`|3#Dq|`=;F}utu)`^$g{AxeVFnMLWe|2{(N)$;e^3u$9qp z^x>;gZ0UalINp3PYX5`kK7V$|{g5ynYzRQV_pL=Bu6u-d%hI;vtHBz;X8Ufb)5R01 z1E>Lv&+H~Yh-_JOXJezI6>O6?U`POQ#z%R-FZZI8FWlkiH(TB03Q zWHc9Wh85y=*!tL7C@+8n0>U1w#!n?RZ4pEHR1+a6UfSdcx=uYUY77ttQScreL)#|; zVjRS3`$qAN4g&V`OFHuXCR7`Z&5K4N)S%&TfMy78y%mv;=E5C-(v4u~<-~U~9X&6@2Y{8UG~_>t7v%@Qw>P43WW9mo;zhtp7|8f-4#*1c{ z4R{b^`0qkuc=vc33FL7}wwS?DgEAx5LpoT6ey&A2p@##8GUIOPbdy>BuHjO?T~hO597!L)ZlQa)AqLc(5)I3e z-kJ6To;!z3?55l`oBip;G_wXhC?%P@ ztS{Ybp*G=WHTY~&?QMCzV~g;?pvg&Bx(oidv_+6T^sXB^XCwJN0-4&<9kgOzY%_h{ z8=(oXN@EC<8uU?wEe6*l^$fAIjTX~w8*w;8$Q{(d5&A4kCqgjw*n~+F+i2BtJ|~YH z&xfqlL_ZlUHoqyaOQ5@iHau`6;0SU{mQr{WsRJwm2qChrPPwQna?bX z;QXV{UMl6O1-a#y_qDE#xUWIhUkIBZTk7veN$iwQ>e+oK@8!Fn+&w+o%A%&moK>s7 zE)o5xfF3V=t!>mq$gl9J^p9}bE2b*EJ6LCm&=iq*6)8~hgE?JMl{(HdBq(H-Q|a`m zs7XboS%ps@wr>u9Aj|sB4v%^yqgA$jfAp|@pQx?XZ;_JS_FE`(~Us_&zedEzf;?p}!@NiUdf{IOmz~g|yccFhhTwfiu z1LWLdbp%&*Su4ZG-lVUZlp?Hh70*!h#$E=quWRrK7eK9ba?7Aib9Wcx#+Ym(NXKEW zHkg=PNnGUOd%{A#U); z1{%~nqz3vO3CEA_B2|;)d0yo|2|2tb98IuN4b6)j0eMn<#~gsc*klhxlasy0n$BY* zl6WNH6={nzNif6xGN1yuM!xyl-lZqUPd9N(kA;o<*affDsB_IsRlH89#&$wi|Xh{&4Hn5?T5DQr-W+o_GHY!HMyjbRA^6o7!Q zu7!kj_#+|SQEyHEmpTOr;eK1&8TFH|NapdCVXrw8JP)jV=85?|5A7Y{w9o!M1h6&!e~z$M_b!_Ot`o150ydmqtMy>H5Y^Y5l5qK=m=nXi5p z{tg*~9FTt%b_##CD5x8^BCjZ>jc22>?mf8^?C+@jOFP|vp^~3kIQ8B?gH+|phXViB z%&d*4WZq8$X?sgPoyuAMukd4bc6awMdgfq&}eD7j3Q(L$5-yYPS8oi*zZ zL`6)!&u8G1HI2NkI>te}Nbf$fZ;h`0T!;6BAl<&auHi>_j?tHXjywNtv-R?!j)IKx zZNWj*caJ7KvU?HyF&L*lFl?m%%PJ}T$KkEhtu-&1GBO;n<_PkF~9V^Lx+F|3O< z)^FeK*m$I_{kPAZf{H^Om4E)VJNmf$_S@1utCkUqeC`eLt@sx&UVOfL#f}|cTXp|j ze)T`e57AXqpp5OLR&z$kSd($5xDARuuUIMcnWcKKN^#hE%KS!myUrZ@<+I-V798?@ z`TUvh#boLq^$mXt_mqxW(l;k7YGbphc88&m+o9k#qa8TsVYKhi-nhb0pVEGVf8D-_9QK+*Qtn|CN8i1=apMb3@a=E=?j0L)&2I3@Ty%_B$V#;c zieW;|FcL5WN#`O-nm<4a^djrIVvm5N*I2P-<3$RddW($*ZG!Xt`WhP!h_f)nd3y0F1-+yi5I=xi{~60 z>jJGMyI0gnan@a&lq!m%|4NtKR3ona#yjV}uQP;Jzhv!t<@98=evGOzV8iFddE=*k zPQJ@-v?$^{sOgFutluuv4k<*dSgQP zC4m^%Fk;&X_+OlhdIb{fpbmuOem5E@M5yF*5J@G$<|=^(Ih|ey*%_sXU_%4tg z{E{%8ZOlHrh@3-EAw&k>5dP;X$iE3D5NY@%5aGM^f@UDc2e6>SJbjY3c&_+~{-~Ci zH`uIm@D|#ZBInO7!Pj4E7b6n)$PPSvsOKL`X*1-2@5^*J`KbqCUV57&h=&}Gb?2=;Q&U@KgfD8pl_37h!GC(A`_inxr=E+?$A%3!dy23k5Yldzmd z+yc-$3)F)BBzI(MM7TUSaSqZyZXZ2Iy* z(!pz2KThSp30bqSA|(IA6>_EI++&>d+uh>wl%2lmR_o;U>x-fWQ3dkh=iPDkQ59SV zjhlg|Ugh__(}N^|rJDT{x4J0|3FJ2OJL9e(L!Rg8W3biAzQ?nApte~=pRMT?)Cvc* zM=El@w{%|5Vjkq&EDAZ@(vv7y^KR2{P`pSXA&2|HC1Kh!!_{r4YA=ed}b-v z*!apj4Uwd*n-*5h{kB=m`dO~DU8kwkyJLST*{?|FajUXTD)|)6qQA=;3)|-(|CrbN z&~b7#$5L};Z(`o26>mOaTe}K;JL@huEWtkv zyB=XD1{C|MUX&HZ`Yt-}^m1{0cHBpoo={+b(vM-##yT^E*6gP&^z--AqztJvE%#RR z|3_Hvkh02urp7a5Y!$`VnKD%qTl4Af<6}pV^V9#Dm2UX(lYe~?TitENe}ty|0Jykh z5v-4gO&t+*^d`6CE~}JQ^vpeNj-il__`c5Du=v%&*_uSFrMY%vrcC5b2|k-Tm9Xva z)6|pWUiRaIjTPgeWm67IDUEZ@vcwShmzjahX>YUL%S*4C*UOr6VD6j&V?Aav(rI5> zesI}$@`oK2?3;hyG zt?G?$|-!D>qz2ZFRK>mcU?;CnF?$*UcvY4Op z#r+G4U^Yhb=Ga@lw_;|_x)^*b=Gy!-(epRW$+Fx&@4~vnm(6x8DzGXr7QBYDz6{5h zeiz$RRp9=WJe#fu2#BD}FKhwWGC&oN%}Pr!kv!lRdO->Mo%`nn-VSQ*%#6*_G;v`J zKaRzBk7$yZt%x)PNe#jH&ahR`|9uu$J9tDml`CpEh`5hJ(WE;a%8dN+j?gS zo9&NG=G`|L)czC3XNS6opGXCq&a8u_Y7tK8`>JxW($QykFz;Fg*rYg*Xg^TaeJG7- z2BR@3No>-#kz@shSxGJf`j6oR;X}5#3P=kQMQ`j_!d9MpM-@n zQ6mzjNA<|$!Wq@zf89F>^CTr>hUEfQcx!;5HDOlzMxFq}D?Le<2$p2CJV@MAkd&Rx z+eU=CNKCnqd$auxY134>6lIi+>nVO`c0d`1z(9b2h5#fbSM`(D2v1~SjE?wPW$VJu z9aE+cXih^Zm8jQ3la?~R7faBfvjR8ORu>E4^fC$CJy!X4M5r@Aw2f@gSc5`Jph*4fnPj54+KDg?)*PTUoTP<&jFyM1b&*4=x-lIMBSQIGRAy{< zJs_L!nMAZ`4>Jbe4h;kPw?AA|R)a@lwD@oj0z5tk9{HtJdi+bKig1h3OQ{%=2?dGm zmrTFg_e1io=JIqF#%He`6i^JH#9`9`<3RK_WYnQn_>Cbu@w?xZ?-ob`O;_q?DncZd zTgv(dr!`}j>gaL0A-^=ek z?)T0xV)U$6?K2hLXHVVQXZDIoY;X!27ky~$)7_h`XVtco1O-Jo(>Fce6A)P}C~Dap z>=qeydcv#3o9E|gZ}kob+%Czvq%+RefWAS}M~a1PCH}i16$$k9jp=ts&`v-xpra#Y z#k=(@uRRX($xOk*I^BY@%hw|37e}&Yz7I{EaA10JXqM-Jo`vlf8#hA;PYu8H*K;lE z&sMw-ca|`r14)&b<@h>oe3!M8-!KgK>xNmjMOCqF>5qW7Jyj_#pdwpaGJYM_o#*+3W_xIgA zN+klW{0~9reS#?3)e$!u6Jk#VE9;6>ENfRzh=0l;1AsuEcuTR$RAx$ zd2jc(5a!FSw#_>PRlf)BmLGfi?c&9-^I86-T@#O3E!}kBZuFxy=^NV)C-;i)+!DkW zxk#qmGgc}PSvP%bi=Se-2VTX(pKBDsyWR%2m6S;thlGq=_0QEdZRJx@+4r@(AyCUG z9r;>p=Pa+=;2LGEwT{sI#qmD_5nN$j(ei-wstUTNP{uszZIce-UqHoNR}95uXc=X0 zy9|1SoF>zx1h?3U%>M{We!EIp8eU^(_QQGDu7vzn{*TFA!0P7cXcG`~3+FzMpKeHs z7uRqokqJ_L83}8yoLMHYHd`$yK{Ks?Go80>&TmkAw_>2umckA3t_d49>B1ScOcy%} zp1p0vb-P>;G&(I6-sZ#frjgks4ySbFkW|2|wH{Ac5UXQx{#~Y`v^`hDKnj33U;`0y zUAzlnAJ5EAT_gDsBe5y7X(HTHM6^n@lSLwT8{*oJgjFs>Hc6tET)wkZbS2%xB#p@9 z02vYC2-9=T=mr;^UfkLt$+n8jH4Am$zn{2Tz^D~6vm?MjwThF{Q!v9xf_1W)HAMDt zECoTQQ%dDu62`Zg<&hax!~-oH?*@}L4d1LGJR{BOcM0X@=!BUk5MBF!gd3(-;p&kC z3khb~tk8B==Agkj*K}Tde1xi>l7koyo18@450RJk$CvjBuYkZ)c7T;K4Ky6`-|;jJ zBO>vbjzcn@S|#@w9r4Z(n+E0)@oJrz29ke?EI+(59R{#qKTI6oiQSW+Ycb3pNw=&I zG;xb}fniQ`gaSiEstxfv(rt|I(jRSgf{?A^l~5{QC^5re1K}O!I;2wLDdZS4_XGln zMpf!mcoHQCGPe5gYTkjCym+8qY+GtqD*1t!@@GJbX8C5sEM`tL?%xjcJ(@u4U%~5? zzH^ajV0Ot~CQPD{wy^zE5SSS?=>)y1s&#S;+bh=mloR2myqC^h$ZOD_hJ??Y!JZ)= zd=+dXv5|iYBgU_W~2eCFOPbQDbrNE@*zp7KjiK8;n@*&%j7NTckM`G zk0~(Iu#Uc3V5+%g$g&J?`MxOx2g6^5s;1r^>wA6SJSs5oO*~%bjz}B_K}n|+12hi8 zZ)%v0!80BNiPdEbCvbBJb7osqMCAsk-+^gLrSm65^M~>ccez0!yWg>kG}a2%S`FG+ z&Q7HB%`R3s$)c`&e6Y7(bDArNo3D_)cKz#>uYB*~3LpB{o?9HVcx2-g^u|PN8C3U(ytwgeRwRhBrEi0-Zwu{uj?hlhn1&SPFs1R z@=aS`Ut29NEI24Q%<4*OD}UaJ8uPHlh53)GO|eU0=t^0NUDT;)%~tMlWNLKn<|cU` zHvl=eO2idN#YD~!$eF^OV0@!_uXbg?8yj$mX4g~gR@Y7tD$#VKP^37N1jYa6|eRm`rVHt!i?Xae+JabtyfpDH30qJ5=Rv1Vm2F0NH(CbR!> z#fptr`G zSQcnV*jGkJY2Ri=-qEm8aYqyzZgo8(Q-W`V$}3hpx?-Qx#Tk8Uu;pRRg7Oa5)V(sw zl$#r|r(^H;>$A*+oW3eb$a8;2zu#rT5no9*_Fe0rK_;Z^2onoq$dnEd8<@?y#nSX}ut~j4x z(TsG;Cdyv&p_YZA5yy@mgxbd8ir{JP01U5g(_^*On&(DnCAjdVUwD4 zdsy|Z?icDgQ#%f>1PSJ}nt#ubJy)k!oN$fe34V;<#!PzVNe!zNJprv;i$HDSY&xE^ zG@cCgzbe|yJ=PTvAEiiaO9}+2fcdGnZ@8J6LQxWe+2~QJIsv5Exzxf#hVxqT14a=bCC7Ma#-7K^|G1cQ7;K4v<1uB4iF%M9V>AytEdqKOAULMdDcrt~nft^l702?E#_Cfo;>#~Sb;EtbY#U<C;3Ao!yCp(q3csV39khs)GSfBxWEa zDhl}zGEfFRrn|=zpGbvigAjn^fm{k~n3eW4eY`V{zE3y&4iCL!#9Q@#%=6C(>=*-&8 zfA(rPUEV20NCIwCej%VVYrf_kr#af~&2!(@_4*(7eRS(~&A$V6fq(v+Su)f!?<}sh zA3NahV|e}Xn?t{zKd^$i^Gbg_%J(~jTnf|8xJ$leXDMr7!8Gd3+xLujx(FM!{v94| zh>eBr>U1O2XY+$;(PAL?{U$E$^tiYwESnT2P~f|MLYZ+7&RtVoB2FN7s;#+eHIcn1 zAu7-9M}FplL5MvWgPT7-cY25+_v5Esb#ek8o5IEUrrB)WqgW!=Lvtwmel*Usa;7cdj+}SpQJ- z?@-LWqgAOpXI}V-IA{*}gh~rV4-8ko98L5fT_GvQetE;Vdl{t(rHd=(#TD`1PWo&8x6Q)Ah8VHGZXMZWBD$Jc$_64}_hY0h;7>SG(`gt?(GRM#ZJcAJr;sH@9n{BBxL_eaUu-mDh zQ-e#@2HV_{Tm9M4RQ!*y)8J{h3cSKS5m)?~qp@M;z1|UO%65kBiLm_9X{CEWQK0ZO zcMTRA4h?A-5yz+B>=2t3yZQEyYokpwwJGmQFPF<0gMHqsX}Rxohtf!X5s9ry!ff>n z(3EqS(Zb@m2U#4ZY19cO0g#89wiZbp_%>v6_aQGzaQ-Xda!FQ)fhVX!)Bpc7b(l1du_8^*IZosA@Zqq7F%Q| zs~)l&6n}Xz8Pagh^15)4(vl>JbhK@=hcPY^R*2?79;6ND`I|N2*&`@dA%zj9(dk@) zi!~7aCnH7%J4=~6s@}PN=`xXJeZ*TxhRDu$yGL|0u}IuQVg<+EiUw1@bZrS_pu@DJ z?cYW^5dd$qcL8d<1h6GUQXY~Io*MvLgwz%${5N0C*YXQJexmR)HtX-ZYxB^WS^p7^ zJo+&tSK5^7J%U%w7&+02ROI~zA=>{;yguMGgG}Fd*TpIZHe{;9BKoEr0DX~I-}!A1 z-!?5Y)%rpWr`p~gN=|3?YR1f7Jokm+Y1QPG_QaWG!3PvP@ugR02Ol4#mb84EICsjy z&V!40Z18Mky%{*{9d;8xJn7vPp#pmuFksVaQ{KeaVQ69ZADh$$O2wcd23t=Ua#&X` z%{IjA;}P%18_*8YsaND)bQb5E%2;f8Ct#PUU%DX^1}ZnU)wye=g&9D3>*;5Qtw;ay z&oq&cbF!<3XB{pY>^KdFt07Z6Sz-(oPkPU`xXa?(v<4tvFd>o#|zX{=hfBdnofg!2J4~J_XLjlN7rZ>h zeVT#Tj?=>*!(^bhGox8pa#g3QR^#Q8jCXzVH+DEG?689ylltk~W~QMWtBmMfrcEF3 zgJ-Ix2ESyu@iU1OQI=Nh}OQ0t?zwwbnYI4OuU!WqU*?8I#Y?`G)ZXSWsJatpM z0lu!`b;#Y8LtYEaew;wqcAziI^A8fSTVLyqzU|`JW}bhw+Tf^?sI7yN8BJG7c&Q5v z&r*?7DA`Vn#ySc!cq!!yQWU<&p`i8a~FO_$!@E_td;uq!<-zRfG|4%cPKJmL~qwIpw;2AbUP z%Pfg5LRtrf0SN~t$kCTuTff(v6 zyKHpk4IM^p9CpX=E>@={DpfVfAJKJ;Vb-#>k``%;X#v5krGf5T%|o|9ds;?tqx)A3 zQQAP&C3jT6nLm*`FF-{pAHHYq)r#83dmpOi7ovB^kJO#Q;*BDjzecjiuycIGPf`K_ zSXi8nU?~$6(ktUrF#wO5Izs`I903$g@6nfB(-Y6uB*?N#*8mLU(o7) zV8S}(?Hxb*v8mit2REd~x`>-x!O=b+PBs>ujqa~Q3RRsb)&#U8U1V9@G7BwwuejK? zrv^!VwjqDs&Bc5M{8CEP@Y2FBVJbI=^E=yGUrbrHcXiaFvebE_JC$)a9rrL=(W`o^ zY&2UR)r&6He<|oaVxT?!GzgI|iz5(#R29@nK*WUe;dAMBo(-tuYt{9RyEaFyn(dc} z$B-md(PB!`%V$(|^Vd{oRbRtNO3I)!e|6m-rSK+Mw>RinMS@fE+hxh~OYEmbA(>|R zR{Ohh3;@-y>VKKc>G>3-+e@!rCU7^E{K0wO0UTG&4U&0bU)(Z%EOw|oo%%%P z1D6U*rp>$k_x@G>mV&AU(RbfWyxzJy<}78gB57gsrQ_$)rK8&CzIybP#vNFB|FbS$ zGHkgw>l`62M;{x!yK1HZQu7ef#P(~`e9V64=-12k9BI3|I{1DZNqI?K6R`37;q6l_ z{{Hg&-y1ewdOH@}#BDO`F7kTQtdWonYE=cC?ju}ZP;zC5&E^}m>Pi3RG~fK>vyo2C zm$$IR8k|xbG&CQ4vDSM2;~Tu(x|m@rJcfUK;+q{&Y8B2YAMY<&ZK`}n;;`A!;<1X9 z?PjS5uuUSxiaYcaa=f9k&evAR{UJvoF0UFm4b0?1KXU~3sUr&rva+n8r%s<1hQ_}* zB(h2~ki8;WF3eOJ_!c|x2a=lS95Cij|Yc2*iA?32e$xDHL-S9rn_PXc}f%<~4X z88+OVA}y5Gi5{L#`;wq3b1@@B_7>#u#4=s%)F`0r<1a4M60OI;!Gl=~UHg8;>IM^l zVZsYQIOE8`$IAxQlbwwFkaKx-AU7BOTn2`pxMlDT#2adKHq6Ob4{xj(!2l8KQ48R2 z{AKTmqZf^!qU|7h3Nu&$;ECxz!S_TJ)%K`^1V?%8@N=pVnp}jD#_Oo6VHnADP>zl0 zTVK5e$}#!JM_haY(>*{N$M|tTS23btyp@DIcmkY?Qf$I>cw1z~uHpz#ywdHT@@qhePeS?7osRA0yc>>&8bNQ$En# z1VrnAr15qXNhnIc3QOs7A*05CBjb<@iOP}kxq>e@U5(FSJ4j8y2dF_#urYz#Y9B2T z>KKKNDw&ahhgK5-?j0MT5Ja!7DdV2>I%OM~%UKlYri4~Gq9+Z%*vP6((nCGsf(A8(_15Y)xj*m2&lk|%jv zexXdl1(b!CeHOjtPfvD7J6I!wU#t*3>ao@DIe$DZXzaXob9_n5u5Rq-^Um+iif_a$ z9y+uIKSv%OGggAWb6V_%q8gE4>Q~R9R72K^2O$L^^i^=QCABa2{n_8TulBZ#IY(jW zV<%U54xN1e{bMI*;>t`;%cxV~5$ttue{}je{S^Fst@hO1z}714F5*+8hwHfJ^x1)X zs%9ufwcKd{uf?4d?RU;B@$^vcITsmRNqjw%+%@{hbf3^ihav+gyi=kv%^&W$h`jVS z(OQ~S(Yi@6=_nm&T7jU>yc6RWNiXesV!20!(sPi!zN? z7+=oo-QfDUAbt#>PdKte2koo5#d7o5$^86Y8Yos(I=)ilrLzJPLH(fK>trl5oCgI$mhcAbLGh1WSIuow zjBp559}J!MM?a@T8lvE<6nLv4l}I{;91ht$w85D6V3P!xci!fE(Zk}l{^!6m7kZVI z1p7Yvoxb3kbVBsp#(v9d_O~ljI`^c+jfkAJxvZ<~$>+mOi<$G5PHMeo-HjDdZS%%{ z@~5%NKLcx>PJx?6rz}~m2*7_E)W>M<1mEcER!*-;t(x@h?w`tckw_hIvo&bPV2khL z?OPWQ%%aX}{Wx!v4gXnf_>vDLU&8&`s>LtVlc6bWT^u&ZN8-n?yk zIGtYU+Kv80cFs#|78S*b*KQlpOI$^gXC1+5kRfGNCM!FBwa}(CuKH(1V#Xp4MiY_%cK6Zf=ou0WR7p=sKY{@@gn;0m5yNSL zyz33L;KD1%Ep-uzy7*YAh8wLzwG-^hB!sbApp6d~0w6c^W}nJHrgdy@buw*H85K8b zpUB@>*Z#6n%N!YeOsvoWLAaMN#1BQ@f-3*_1SpAu(so3PLM+opN!8*?5-|5?d?1Eg*dlfmAt~*)t3dB!YQED%Z?3g{xy`78)Q_gPtnZ1zZ}W zVT??si4CYE`~xdI%a`)#Tt4!?*a+dJ3h8$O1d#WTqmk=@<6XgN39*#_Wuf6daC-68 z*$j>l?zB|q5d?PLu#OM0DP%}ORw(z+5&scRl#5x^Uf34`4y+gMBY|>&>C(p%q}N(U z4~>Q@$NL6@8wx*gT}%cO3U*h=Z12EHYc-!Bd^4&hXR0N`<1%CoU{{gu0k^J8C`Ys3 zcrOOb8MURFQ$tQ>-m?0iTf|zr`za$iCJ=wg(8-Lv8)nr_3?&Lh1*FgL`%mBxwYS>B zdxn7)kB}61bpzmkW*TXXlL&oZxnjyoZ z0f|NXHOBbf2z_jn6{FUOH{QG5i2J|@-~;zMR`U=E@?OC9`sEiw5*&H5rf>}mF5l^4 zRM?Qg=!R^fKqkUK+Y$8s+3?-XEisw}>%A%GzH2IJ*BoTH#@PIeRm5f^y9TKwFi zEBYF|L#3vun7V6I^Ni9wZ+$~;L(w#e@-I2GQScXmJ47JZNd3~okcnEPYPCCyHforb z>onbBPxNNa#Aa6D- zP-UF`M3pJb^+VPM-6>M0Y%^Bd4>#}ia_=5c5g3+h#a}KNuiOC&i5z3q6gjsHuKR^6 zn82co@W*0>w9hE1R`72lll&a3ixw-aCVrd^FL=u~%|?EDE0 zb8fvT_0xKNBSeqhn$zg*`zNjE0D%!@4P(|+i29E!cjt)Xqwukbdgo}b!F`I9)B-1! zp)k%i_wUL#@}$VVxvxZ<1aw!Qppx(-*!%+NwB0iUUO(tuy&$n`+@i3V#}*9mUboM0 zszB~hJqH}KWW%i5G`kGG7J1Lu-1)n~7kn0{S+ACZ zo%jpJ{Y?0e@Gk@<{&q9W+%x*)b$a4)_0(X9-O$Wj<`>YF)1dvM}%1A9r_c;Hyovz`@Z<`+?HK}IKQu*;qsU~+Uh=BBZ` z?Y`6J*jVo3rM>=cO7QqAtern5MXov*cCHM4+IpjKmgwnn8tFSW28L+A9l{Xz&zIjT zR=TAV3(5LngR^AHn=n>um=80DrV=-y%-GKkGNl&HSS(%Q3&A8s!Zer_I;)*O1sP&~ z7>&UK!^{2q_4?D*xPL{sG^_Aq%p{fYK6mHQX{3dG!3@wiAFLV4yylMz)f~)aiLdYU zhCu@vt`vdCUWh6_t6P5L`2NG;eN1ST15YF??8SH?IMrib7UX9H-0u{x!!hy9_*tow zlI_fFxYx~|l08GqbTg-xz|m@&`P^uo$~t1iXX4AP%WyyF#W}%7(tvs=sIc8!o}FG< z$@4xQDaCDF?t(9ABB{abo&P!5i%ir`R|MADxNXx&|U;`=C2o6_h+w>DCOWi9y4#qvoEZI_56}ge3=Rz zV@WUang}CwfU}tg|9S_oODxbR3ab<52MmG*aFO#$obRrNOR8!qFw|^-uZd`BXUKBl z9aXnwEPA;PRLBdUTuvQiftO-bnt*>PSBcBPdVp=(yNx865<4`cizU@Q8NLgA5)c%B zk&1EaDLH_z?KJ}`XQB-H!?uIak$E`|C)|`EFvdF&bk4gS+>`KVwM?YM24DdmPapczKta;k6}-wZQq;&7Di+pOU~va$dUj17_~W#1AY`T@AZ zZAf{-<=UMSKzslMSA`t4W^}yX0ynr4->dKA2ZrG)U6ytbNy}n~F{NxnB3xHNSI3iH-|T0IcQIC4Va|33Jf^|Pu-%&D zBRsf;ETMJ`3-o9VC|+qa$uKwPphQrD7(g$2;jMh zAS;z%(yQRd58z(|XgxC1D2sv@_gZ2GZhfq>FMVNyaeFQ0KTxZ&=eX4nJfvYUe(ya)-4qW!AA^|n4tlx}C;jRrN|cIAYhYum^)qlG>G^OU z(pk*(6FtcVv)t1%@=ndopuUJL6-w@WvFdhUf!$S%dU^M zvpF)qjZVfvyRximHwz%G7L1{_3R1fJBIT-T++1^|W8YE1Yx-}Rq)u-Ojku1L8wJJgl>9c$Re8*(QsU64Zqj5BCKqqQJ|u+++1y z<7kyi8KZj9VSQ{OF=t-qzoa;qx>RY*Fin9q+va*xD|`G_VCtN0Pigg%rLU!Pfg?&BqOaUMJG*y$@i{(raCj_*mneIRDs+VGHwu;uT#(%njRe?TkJLbwij|PY=dHHJ< zj?^akf>qDADh7Q&9WN#y>a=S7R~S6~+=kRH?-A~qGvkv}%xVj!dtD0+@oJI5#-XNK zSXYTP{~Flbjw`5QJEysRK#2qrzuI*TCl@VpAd7fRD}_?SP<-s`C>xm6iOSM>XQ^0Uk)2LUtcyVerBdO2pSfQk zL*R03{VmN#vb;I&bh1_={j1p6bsJNP_5!9icKSbCR6n3tr9bMuEmy3rYBg4r5hfMgPog9d2V2$`~M@f zAVW_ppBEdl0m4DLM4eW^IlNK$nleMNpe$~3(D&!}b{uP`G%Yz^G4YP?yLl(qW%}^X zFAn+Ib$Ri*YtB_n-=IZ;eyfn{Q0^?Kn?39*nqkPZZzJ1xJn= z#Oo2W$g7{R)sJgO-m1SPmS5Z*>ck>`^K;rT&akTUTl58dcx(BjAlzN?{XVJx`88^f zUIdQMabqJMGIfZ`!A$k3puNZH|A2svaz9P zpX>OKJ-$A^b5odI0oMn&Rh0#C)Z{f?vh7Wwp`89g`}s8`YTB)P*DtQ4jWkW#=eW<~E4e>ED`bw&&t9S_S=S%gy{1m^^_|BEL`$j` z_EtGuc)#mxjE-|o#UEGsJ~1RLB;?NS&HSCK9sxvzlcAZ%wqy0QirFZqG|&0qQyMXp zc8c^i$~{2#?ZFtiA!>tx10(pLNo-*zu=dPva-Po;Z`)23P&F z_u{|t@dg0Wo`_(DGFAFi`ly6z;&x$!n$&QG*O|2S^wg}_$%}|e6&9;M{lgicUpP^H zBJi58l?rnsHVpBf@a~T%Muy26GHvZ<^r?~5jtF5s7PFwcIb-i3(?MB_RNAcDZ(&ql zL#u7Xg9dtq%C0pQD$1)5KKbH~Tk7;G@E|yM0*so_bzSngZPTVBpyFge{xnsa zIn<8FpdSJlkkU>)nT$Q znQFQ~sJuIfmlEn-e@*w$#~PQDuor=^t(HLXZ48XowvJ6vpD_9^&`GU?&xOmt-!O~I z&!~BTL4enU?gQyH!zoArSh5Q%OdKI&1d{MxKe!lM1z)_$@z;jp)Fe&a6_#U(YI<9i56SL4I+CW8IUS2G!e1l zf(h0opoL&vKm`J#1d9?hNK}vj0Yiu^AqgbIWcr=)_rI>Mmvsq~S)Mu1+0T7{%1t3UUE%L4-BpO%frPt}JZ3xc$-ZUS!i9qjhb92}?heRv6RWb^6*zDH)Tt1$10Olq zzRH>c@>az#Vq93>lf%0GGE!)4kVkKgL0*&*41%Bcv%XW34)`s62>i~+bZ4|dLX03 zv)jisnz=<{MPn~Om0c;vXM?y*qWxofJ?^hX%NT$ev06D(@>|1_d;d{>N8fEd9*Z-F z9k;hUzZ0|N>*%ygZIa)K1uc7C4bHr_?IZ5m&7T4cF-+h7dJgD zKUjryBF#iu`pz!e)Rg}yk2}5|MtFe%f0-WDRxf#(=xLWCdfeeIKlt5c>nGc7?!+uU zR&sT}{|0>X+kO7OUHvt%wftQ2#>PoczNkFxzHr92i$XO72euHP)>cK%w)|1)eUsZJ zx&3`^@zZhtQgJM`UYzC0D%zinOo|N*DXyx{S21n+9an$A)Lk1sTul%s4e~xcX z(T{K0zjKDj!mo_)ei0(va;9x%R#NdeJ#wF7{XlVO^wlTW*y99A?x96K0}G$H*_KyV z++$d!aG!?JH-QE7dTK!3$M62#2sP2ANaq0U-R91%HT*1KRxU_)ANK5=S2DheD_>A- z;y?M1;t&`z%{aVs5-2{P-}U>H7VD9=(T9H+^HHJWne#KtIrWyZwpc28f23isCC@ zs+}#~%3+O>jNA0UhgOaXi({DXv6RF90<%%t!k(7kfMZiPJcQ%(jY;S>$?!h)z=~n! zkCtLjNfhl5$t13==^vG9G5>hwPs0J-Tj`eZQfd4X!e1-?`M5ZEPU|C;hT3qY|uP>^g8)=g5ZA4{_^}pOA_*O z;HU7PX8bh6;oGk>Zr;2)<>pnZpMojy-!4{!G`Ro&AOaBwq_YYg-aH*4CSMu1O=+tS zn%%nluH_2%ySl&AX_m_grX^ST+vIpu$=>`GKbtPa9teEKyF4sheTn#Db=8^4K1$O% z(eRq*2|-X}p<&h{}6&+paX(9x!szR$=QC3FK0zepXlLk~YnNB@Sr#-1&OQ zFn-SNUoR?0i=Fz`*bd9eWCwnQa7oeqC4QpT`a^?OYkhyk)JR>Wk;pWm;`A41AR&kG^)hdhKhY8@C@h;gmqIJ&JInujtVplk@bimT+naK?u7NV+P2 zmjUq%QNUWi$Qi;x2nsC^(|*e&h1_VGYBT_ctx)FkyIX-y(*}fiJ#!GX#4Ker>w>4C z`EJT0P^%?CjtS+**I9@fMmU=>03H|rndPn@8&cvxlMJD2iXVjJ04Ph|3`aj` zFo21U=2`ac5J?#e3@@yTqUFOlSfDD3CrvH-giQOgh^!pOMLWS`X1nujnIt&r=Mcv~ z4?``$Ocbjpv$Mv2YmwO%V)mO5&jS%DYT4;ayWyX>%T28?s}wj=x)Dwygji1t_A|2( zkr7T*uxP%n#o3Ur0cOtX>0eos*0+F2Ro!z7v2dBEqa~uCxA=4lG!-hqFbL*DM(Pc+ zIBlxjOn`IZ-<@Ga_~D2ZguC#tTBa!uJV%;-z?9ZJ8~+{FGYYt#g6`VlKNt%O;j(pj z7)rZt6$`LnP`hj9_#uiuTL@mW`jI9&GA$8E&Y=eTCHWo$;Z1et5OStmfMpCwjjYmb)bmMtO1M%fU$qTO;I5?PHk(j#hdz&js$towy9-NJ1S?9u7JQj4 z7x$j|x4RWvxT7fk%!h|*fK-`#ZIArnd#(r@B5IZQ)wN>NeB|Sc;qlS)rUk{TF^^LR zHp!nx+E-K_Q$Inb;ppzzSV);N>m)O;v1(rKk94iNyk+5?{jvMSeTvzP6NaOgR<;`2 zE|_{99i!pZd`Ns+yijb4(lCyrRNPg^tcmn7?bcC)%XC{ah&iUMk;7Ya@b7M}Qpda- zI~K^e{(kSf4|%C>E51y#_>XkITb^^~tGx6>XTB|4fjrfZ>Mef;%|mPb{-YeC=Ad^* zuOcUKZ!td0bSWNyB6NTM@WaKR2Y;u`qi-g@p#Cnj4@62dTG6xVgT-B~&Bls*bmz{z zH40VLKWi5!x_+Co>wUnjvGJUp-2-EgC1Lb?6O-Z1*&a8kyM#y5{f1@4lu5%YcA8o{ zzLfu+a0%rzZSGBXTyMHi`bIO_{eDShDrkbI$qyO7SN_y}>hIMG!8b1hcXs}`U+DS# z(Xg@g%6F}zphG{rxwk~ENrp|^si&Ges`CmPSujPLXeq5^bssBFJ?MkZ>|;(2a_gJ7 z+u5tFKWJ{5>6U6>xjf;~7e60JUwCV7c>bRgpPzEbb|1{TOnXYjXF}K?uHu`%%^uj1 zJifuyRx=xU{N?~YwM%)7J8jtJlvruHL7krBS?4c2ey=3xmHtWc=zUUVM|m<{@;p2EH$fkXYyP7|Z&&$$!n?ATRWHPUG9?fH&{h6NwI{w^$34;Mc}!xL z9#EVjuIGB{W`5i z;xP*XbmHthg7U}yM2*xOn26s2MI(ZEXXgpdbnR}r*)1r$ouFOcPLTf7haZ19C|%Cp zm0&H>8}Vfepg##c;fXyOutdDh>a7nDaIXrbU%~Dwjo)&QcsQB(QSZ}@oR`Lm#i9@1 zHT7{rWP!8BBLRY@gO+^}o1cwYKNzy4SQdyLg0iY%Uio#093KwgR_@w(>0ZVKMtXte zaEi)WQ{Y0-7l=$~;kS-F}!cO9l@4rt|KW}$r_71cIA_}0rkOMwBesM&@6%PHXP z*ptyY)`ub@U+Wtw-Iv(0pt*-9jiHeeMK@zGG$M^w!votDf`Fy1%o>7=dtK|XYc~X< z5i}5yo0seU?=!+_tR4+fVw}CyEgoR4{DxN5gMCIw_DbKsx*?MT+t*qCw*O?wb z2E1Ag232gZ`pwHwAT@^&(sbNzmlpNrz+4{d!W`gX6g1`k>Gnq(8ycrcXV%&s?-FZ1E8FqsdLz$u! z9?BSR;zH-qsyZfkViR9Dy8cIb9)Urqcz8a9b>rYx7z_sJ+4Ozt=m@Wop$B@$c(}@C zN9YfrVoI#VN@|9>J^c^I&!aU0JGz<1KpQ(wWiw4*F@oSy;9R9a7)=^W!QF`MpM0Bs zF#PFB8e+n!><;Hq+z+H5)xW9WbP4q)K$k`ypUT!i%_7>2!X;&qcO$?+mzz%rED{;Y zlz+Nef)*Yxth)`Ai9^_MFce6k_A&vTmZm}qhb&fk}!#Kl?5%1vnR<$>&!1%aLdqT25t!S(=YK97Cr#J!(I#Gzhv3< zT64bTCI0RPW8+(D2A*wE$qrHe3b2t3D-}H(guRde=v@!Fj%@fgy$?>J!uL*vTbIKr zu_Ewc(rbkB9Kay~Pm@T8ck#!Z9mCTAf<6h>p4$Rg&}3&WFcnT=m~qK7e0)UuDHjAG z|5oGBniWo2yeh6pne#d7KjC?a$5*4)K(92>UK+3YxXRN6u2s9ZU#Y*%?9*%hdpmF?ef&{-|pXQUHpgaSmLAOh8Mxin72(XjWUt3t>M)d zEROs=tzR;}j4KyTL=Si#sh(mfM5D#7G3e)9C({sP$BTvAr$)XZ()~CZu*J+If z0GBA&p4%*#@Jj5XJgTIndtKkY@8P*iqV~pb-VSH;EB)y81p@l8Rm;3fo628?-M*sr zcN5Xy4;{l-U6bBSIno&6aMAG5!@-g!tdR|XoY+)C8i{MQU(uWr+9}MI#4v1ECHikm zQFd5ZBEQ;ZRH*zX^dchE^H zTm0f<_{z_g`DdLm=O--L`o?s1w9s;n@FSioXX6{j1Bh2a)A(Iu^`17{Qg(#v7+FyN zaMJC5c@>7RefZ9M!#9+ge)w5OJtkhVB%LmfNzMzsvET7l%r}icw?A|3ar}Ixy!suv z<(F^Y&(IFv?%LScplKU+NoWeu49Srlgko)9F z<^ee_%XIEkB4nYW$C+E_w2&F*fbRb&j;5^;i5yK2RS8{8{FTGmS%Gr^D|4=H>&eQs z#c%sMV1zc?u-`9n`i||b_YN-KwkYAf_lDa?_CIQCd+^thj?V-??+jmCNF5;{A~_1- z`#UA>5LLfD|6|qocl+M)vc^A8v3_zoqOtgRsp0be(bGC^me+n{cFLJoUAwE~gv;KC zNA4->WRp6cPJi0_f95=V-bn0J!RINFr9_e@?NKxxma$0^7aUl4ruQaSm z5@-N6cx|wtuWHI+J377U5zEYVySM!Nl4dLpp~}p4(5+Yh#8OF-1UFA?qY*&bW8(sEapLCa@` zO%DLeIAYFbkfl82-;M7B?2x)V!$g-+Y}g*ut$g0JrON<7mIom)pblK&MwQu11JkgA zWSO6n*1U1yG+AV|q)`s7&Kv0~5H+L&kUu7rSzCZGyS&6|*Lwy20oYO@D;nG$K(cjU zn?a>(hiQ#qgKyb{f@A{zrDegCTA>(puHFJVb2W=dArkB!tHr3E&(sTxM3zJtlux+; z=T;khj{fHSNk0SZ;1DRLDLC5RC&yHCbtAzJB5%fllGCGi{&%udTt0kCJ54 zG_|DS+N{1MDF&dfEkWj3YK4&ngix)!Hpd&3H-j8wnGp|h@_^KV3bvSx&Omny|IM77 z3tz^^0Jc%h*A*PK`l&0)tt$>aHudAa=NofAb|e)NVZwlnn{i>Fa7_Ql}uA> z33T?PUAEXbCp32ZgxW`9^9!<9A~Lfgi5#{!h)B!WiR6Q^-ZG6(NHnruY}3pvBoZ7D zC^!J;K#mI6;eD=0Ws%?!xJlGVI0NgSMN|W`Eh_7anerTf)5v36Gs+%-Pa>>A!-JtH zK~uMBWuHL^bQ{3m!=UI7u&R)~i1fl=Y^>v@;sK~P!MN^7Jq_Ng0yl#tCv(-} zB6YhO|8N?B;(-1bAJZ6!%N9+xu@@ZVi5Q5*zDGS?RrN5b9{Sm#umsz(pA!9*Q40f!k}mnZ>6z9%k(|yp8l_II-i9W>;)4g3 z@Gi0^nc$7J-uUV92*X;#m(v^S{m0Y-M>-L3(49im!>Y= z<+!wc>W*=~P0G8bmlx^w((N;E?fd?~>FxWsM1DQ2Zc7hHE9kynZ2_NNu&RCow>p{x zYN`DJEcoBTe;jd#p{}0DZ%kCxwgmBs*{kz^P1SwbiR3IfaChh=LLF4^%%=vOz2l(! z;n<{i&+LRMWcsD|Ukpr}q5MAY*4iNc{-$n~q~p*vfmCyO&EpK@nUt{0`j2w<4bkd` zQ9t&3{YOb^8@`ID&50#f{xL2CkCkPbVej_d!rsO2WAqOF1Zj@@^BQ47^6OX~cz#0J zmA-udaJ3T^YvWgY%awdoR%A42vsy2YLJscf+tHx=mMlvCsLGOaHE}EC$RX%_`_|RP zX7y@QRoA3n-6t-q@cngH$i$o(VOx6hM$nYkrPa(-;`LAU36m)4qVZis8}p9i$1jKT z!%Z*8H>GcZNV^WPZCm`@|GN^yjj^YK?^_Rc{k*j<(rWmR)0ZN3=<#{_uiyWA?Pr;r zFm_Ih@zNjOq2-TS4!+y)(eXC%D>}R#G5NZy#&8Fi33y%oIquKjZgL!Vig|dO0hV1m8X!m7qj2_FdXoMuYKNL>@cfR7AGF`?yApEPV5|-*1tcN6`$N~Ne+F5hufX} zUWwtzwcp-bsOoj=)gYa@5Y=g(dVN0W8NS+<*@)yDG`}x<5^hi#G%b3K@Q^TU!SR+O zLFb`XmSK>pEepij!V7m|9o@@@h}Aai846M4YY0j7#KU{A!QJ=GR1Lcxw=mX6({=Ky zO=Oqp%h_H_0_?n$fjq!?MX{<4F&I8RBiWL$M&i_D+bau^apMORfoh;91YWs7XzlsB zTPUyg9(ZO{yK5VIe)1^1{$MvlB)&lnW~=nt4DQ(kP|(e;r>1HM*A%15J=PUVlOI@L zCW0Y%7cOL*n_}MYrT+5x2T>7zn^v!}uhl-4lJAc6UsQG17$*Sq1z!z0QSGNjuHErQBe4yaF!wQA zpYIls;hEV;?Cg_+R+y7IS%4yBA{5i`3CaYhd6t`L>%-HGR`IexoxI$v0wSIMg(%Yt z0eVq{DUNMA5AABvA`PgMY_+hNW~f6HB3OKhS+h#fGeIqp^CT8PK{*RuIy>utwkBlk zBNDdZgLYrcy>cPl@`QQo}8YM8$N0RX^gAAR03wP%c97LwS8te#g zljo%-tS@Ja>fA_9#*iitxa^`ms2odM83(=zY;9|FAJv%8(q*aSo4zEB%n)n zC-RBbGt{WJ@&=|?u<)Z$=dMOuuYyJVkFtVn8k`ZFdMp)|9nyc$0e_#U?j(JHxMu@c zG%RZ5-MyY;4YbJU21Q;hEL zI+g}WVn}l*LysVSv}ax_oQ+8?&ke*x`3yqu4rLF=Yt>N8Bw3(d8m3h9OFY5NvZOyD zIOuw)PfPrF1DBRSC<5<5fCi&-FxZhoq7+Qzbw}punZNbcqYr(x?W46%SC-51-xt~T zAVX*fSj@ReN`_YN3SwfK*aMHD7V5DNMa)*EViyQjcsWZ69t3gM9x@R4sKb#Av)5JlV<`a)BwdNBSNzttsbiS_t;s7jb0g4qLh0+4LQKr%o8)%At zFVaqnKP(_q6#ALc1zH2KlIxN@T1W=Puj_xX760O&Yl;`B`O+#^r=9T9fD)_eLMolj zW+@61HGOGGfh};2mSobs5Z%sW(IWJQQE512iEQ$=pM~rM@yIEEMq-U|6mE7IozKn( zJH2X^_QAbQ+HuJYF5q=7H=P>3Dh*l+I46Mh+#xM8#nx9_>t>a7F=p=F`ttKXJ-^)84szGne9g!l?#LdshX@I3)LGTU;&dOmkLNMy=h-Mb z`UB#EBcfFYMN*x%%Yp5Y&0Vs%;4^o}pk*esIASj`LD%t@c`9&?X_4vCybh~x28G?O zo4V89E=#~l0w1C^-)-(Q>H%3lgLpw3-WF?`#~+C4`cp@HOlzZdR$L5-z1tr-!*rs% zk@|Zz^0L*}E$t4>L!H=^!hG_@j%|N$o?60Of2SpZ_TK08zB@IWw!U~;%GWPm8zeFp zg5j-I-bHF--|>kljpK~;?I!E)0q<^V-6_6li<{jYUB}UY_ompV7a_Db>Na&a^hBcP zbY@;p|HbL053WS^VTZ~^gRj2pOOOq`_(Hw$)puVm4%2VDaRzD(sTVc?^5L@8erhpu zg;cI^vao(K?_gAty79o?$5fXj?EvBY6w%|=BO4q#?fm04Z=%JvzJ>;)i1;OTRX@jS zd{KJH@YrLLXPjt0c)Vsto+ku8~;Aju&XS)k+= zJss)#@aV?d{&%yAV{|{(`F{|Lw=3&rKAEvMa(Z)YA~IX+e>U#<+^UxeGV0F#v-e5k zEmx!V9bEEz;LT+m+I#F{V*J9$e(4B=fRn621Zpa2SKscdo(PvbjL&_f`|aMh5kHqp zB|L0HJ-_P@Kc4C6*b%P7&&;RY(>d=vc3ejOr)#~{we9cN-81$D*|ZM0o_=)$JKc|d zJ1*<~a`cMjmSnG_jn>UA(eXzwnjS#F3EJ!P#NU4Pm!9-I`!;6Qo?{zmkE`9}-Tw?L zvv9m1asliAuzdKMV$fpi|QW6MOjO1@s&4I${?FXhB%^ixyP;t;!x zWM`@AaLnke`$YMo($rB6C{(*DjDKJ=+OzNx7gh9yi6+M9<;fz__JCe{@q=YYFoUxd z-153Jd$=y(gHy%ailz+{BnB9J`XwI$2(#;6vUEdH!E z9Sq*VT#TCpx`uYzL_?s1=w&_-?QxWGr~pQsKWWCYohL3bQwE(uryFcLK{NWn-(c2& zd`9RQJ{>&*#K7>;-6<9nqzf1q!B|UV<_~<(!jgt1&V}}Peg}LV5h;vdpUNR0=c&bW zz{Udk^Z#)jXDqypkX{DDX9IZ3iX{_er0u33olx-r zp4MGQK%bE!7_`VXZv}`7L1XAoB4EAZxWD{HK6z=tv6%EHmms2oj;r0Mmf7NM0uKRZ zYq6a5LeIKf>H{_Bv=*#5S?}$RT@pF^1yY20y6_vp)0Gm z-FrZZ(_!&Dp@vQ7tUt|3iRXZ$2h9M+tE>oblCF<^bnM$EE{o_RqH#o)lBO-qL}8Hp z)FCC5P|^&KVFjMpJ-GQJ1D5LiwoA!?W0~v(3p*vrYOM+q_Ik5=QWiKfAYZs%BNfXf zhx|Zz?h{p%2#Z&a+Dy2CJIvREFh#&}3PP>1F}D_YCHXy`WIko7%vB=J~B03$-2Z`(N z{MIduj?@LhJu~+$ngwqSJNe#QY11CYLj|9`^&(;%fHz__Ur| zF6c|l$p8ZVPXB-ak`!#K-QHtdHxWGa5iXFlrf`8BM-4Kg8`0ZaV4AHkLX zV+V$|-dLnN%;tD$q;ACT9BRpm?EpJ+l$^Z-eZA*LN9JZlOEjJ-E#H0)j%;2>vKbcF2gozlt|pF04F|m0{(N- zl6IB6j~e+_WA4n+olYXeVEd#3wwjL2;ESzwM$P}uJ)!?u4hS)p?X8S1B@%9MQfXR& z$}&8M8u=bQkLeX7^=Y%@FSCD~`HeHqFiX4e?8ra;QD*LrbV=#4m3^sBvPel}Hta9~ ztKr3uE40LK2XgZSh>QyrmW$gRwv6xtxxP5JxI6PC(vJGCpSX+`^Jfvyoy|JuDn^t`XilJ)qevnGzq6Hc)!L1nL z4?ByR55}0zIS}bl=7a&f%9iav`P#P4GP+5v7?ze_r~6o}`cBQr6K>{<6cTPgyh6OX zx#Tb69wAxw>)ZmhX2_uBDMg!4I(<{!(p(}wuRb!3r~-&~3A%eIn2US`{Un#uqG>{h9kBbwOW}X5 zWTS_kK!qb}+R-mFz#Sx%YAx?A>`l-P@Eg-K2Y_g`Fk~7e+)iFk0b>q#rxEEoG9p_- zrx#6y&y3hay%{YiKm~WVJmHyS$@#)23GOE!*n{{iRP z0Y)4>AB|xdY~6rKO=_XiJ_J%ATVRI^(#BNox*-KmZPZ$zYxcdO+#Oz7+sM!=2~A75 zB*8Ix(#R}@D5z!foXNPPj<3-+U@v!-8!gPTN0MhUny4#>2s)Z=;i3v7%Nhk%cDzP= zk$i~O?y^H*AH!5`!md>rn^FLF94At1cfo?>lXfH!V`&Wl+6x*Qf?CFVo)UpNwSoQ`re5kyT2=gU#}%QzpUPnNzJh;N*u)EjY9RPg1Z9w~=^8+Vb%5zt z44J}r!Gl2nck4bQQcza~W4&f7HeQGHz`})^!a=0QpO)=`buo;AW-;~=5BbZC zOaLFgcG2haXyXuGH9k&dTk9aul^L{czPJg%vA}%>1Ay+tG7+I3jA*_uKEK^MFlh_| z3?w3n9GQlZSNI)HTnkHYltiLoeg^C%TomB_%8iB5dNrRRHM2AW!Jnk7*+bZf_o#5v zNg%C@8LEQEQox*9Qi%WADk0gYXjv8y!0d8~xZEKI&hrLzH4fo@i?sqkyZp#r=;RRS z8NtfHXecGlG(NX7nVd0&H5#mXK(la_`Rv7Ho^e=pdsDoghyIRwXNG%fbu;hIqE?_C zxM|`TUWJB-w_&ln;V^Iy{SfA%3*gDFr4bL)prRfOW*i&m1Co61syb+gqZX1Wlx$V& zDOiqVpmUSL_lgGq&x8{L>B)yjGX$06IwI7peX-P$UWGyv=iEe@bInx@PqQT#FvIOF zkTl4PU=+-r9KL|DFpw(KVi^MpOoj(Uh9-x87&^?p*fmLI@H*|+TPQ~Cs%(^n(F)u>XGuUC6a zMiA4XOl;Lqn#OfE$EC#u zojo5DYnrs#5$WQ28!^2S`3qH?Cx#?g*=IVbT0oCi@YZS#PT*oRuRRyVICS2Kr?CO> zu|QoIAO`>C19N3fy?;(-v%!dQFBp6ON=`O^9aovC&XTE3iJEq5{BoG_4mkP0F{u&v zZfhHn`O@-@x9PDj|GX9)U(bmP3lI(mvas-ylSK9E^p|eJ6+AM{q#ZIAYb`N7lh3Yq z?nh{1>-MxHttJFjFiq}USyR%uu8ptFvAbGAS$7UsyFgMgv+XwB&)LuE(*{VGTjfII zM^NjOW*sjEUVjq)mhD?+OABukJs=7UK`oL-P%aUFs-a*0*QXnxWc1z&pA5b--U*(b zN3W#kM8;^3fbI6a-ez*AZbcg=Z{V){x1v@Rm?VARDwC*XPGomlzOe;8lo1bn7irOm zTrgj9o*Gus&oT+B80N7To4@%aspeUZEk>jvUalC?n)Btl@!HWvrEHd2)y&dn$`pkI zp}&H(WfDh!??Z%}<;CbC47!yHY5^JxyagP8 zP<>iE<-Zw3xjlU{9gNKlC?$YzUl@SM`jJK8eaq!vgRGP0VDG$8w=A7ZZLrp3(AThQ znvjdEhx}v>894OA+U-2*QJx;pXL9N2T09kn7l;+w9OyluH?hOX z;G(p~xt~qOHxNmbDg6lA5Nn={jVH)VN7leWFU#T3iPi{TEUth8*oZT9K8m#)v1#!`CN6z% z1)MIW0vC>iM(7HrAYy45e8Kp}YCx!M z;rR1oMK7UC@=L6pyezn-?S@emPXgOYp*TaH2pa*YBQu+8>tr1G1dW8(SmAW^+4VSk zvf9`@B^g!+o_7U!`8v4J8(4tA#HTbxuZ7E|u({EQ0F^3EZl%bW`W6l%+_icGsrSft z%52TdtB;q7B88USZRU-%*6!#l9@Su+o{~psTWo<>CbU=B!)EUxWrB>}8dS|(Kb*+m zqU$^@2dwgjq#B{dGzEp%PcBN?wb3CSOFJYLn>NB3hCfb-)?sK+icGC2S@H7=M>u&L@2xg%rf1IfHM)x)e4bywMR1G+1%6b!Ls zCWBq>*-1}rbA{nXutQBtC%v49ZVcUoc_+prE_vd*(>-pwQa{rdy z14pIYtA0)@k*~D3HLq<;z}cOt9!l$+=(Y!HiJR))EP0RPo2%bWEAR}vnxo@yM8sX| z-f<-#eljo!=L`Qx^9tC}IYRM`P&OPsnT%KjXLxL_>9{UWlGEtwf6Tu%aB?S}Q;}_hK8~!|qdzj%` z1;x5|#Ig!pe^!jWld5zXn;&~4rH>v%Ac_quUcWgzj}aT&{xbTKnS~5Y*OnT-oacWOaxzoNv>YV|NI%b zXjCm?hz~8bOOdWOYS%(1bsiK2h;QO4OEbAaW9@ga6U+t z^>h{-Hig_(+23rl4Wxzz33&m$;OijynLiMZ@Uca6gLfI!Swv{B<_vrDeo#w@x8f-OyS6Y)ZCUZD_={2$FFb_|Q@>40> z^eX2Ytyvp9pKw!%Z7L7fe^T+|#82)L;|FJ?%i^oyM;_)poU&%?H`Y!xKHUag)DtZh zRZUylf5AVg)(}*A*sD$7lc3JY?{QQ>A6RwwztIr5A(1S?2RqYI)kw*qX*EKq?XNG` zSZ*^IRuwSX!)E2RX@vhCt@vI-ZNBU;Y)FHtdkdYB+~O(1Y1*MEeO`mQSel+N*3afF zW4%7vS7v8}SWEC-2@i-=fHk~lj?$$Wa4Sv1VU06Eh+D9!^bx|RzwR&P}xY~l24cY z#2Wk&k(F2hiVCm+SmsZKoCI9kNKUvZ%tuN8ngVT#&%L4gWGn>mA!ygzJAL8{tGG|U zESzrg8bZC1tWz+cN$)C@88V_jefBA7(^Ug1f-59pU|>bE0^wkpL}A`&1q?Fe>X7&> z&%Hx&FwJj}(oC}YrGS+pJ2U(zz~7ByGd&RB|0oHlclcsrMMc>U4QPkEA(ExQxJPa- z)H%W(PQ2tH7pB8qkAv?fZ-#72cL5~d6qyP+$bM1t#Ah<|N0t^o%5WuP26Aqa)bD5f zb<)@fwWQoPs4l1b4@!hEoRt zc)YO}S}&RE!Y_ItfNEj5gQE2*J@Vv0iV6|h2nMg!F3la|7kU25!rn{#qT=>%4_(NbwWBu4O^(UCUoZoOktGF}G zjuE>twGUl!ac9CybURpvtJ`B9Y*5iN=&a_nanvaDxu3S9D*LarKQAt0>$D&yNp#i= zPao-rlIBy5noQn>o;02fYS%&3m8TuWrQb%m=w-_}yvbT~j=r9?s+##>cDmAdWm)ln zwwWari9j3h>NCnwtqlA4V_6P6O$B_`s?xAEH!DivUI~|-6{1_S&#+Fm!8TWMvh*@Bq{SXE1_40RH_%=qr9>;lE?8R9lOfCg+sJE0 z|LQ31KtCPvl$wVZKyg=!4SWa?n-XDpy;hZw>}L!?w3$*t%yx>XAZ!yDK=JD;fC1-^Ka zKuMHdkOuwm1218)@4b}d`i66ZcuwGJM zEl436zN2_oVyDFpQqW*q=o)3C44@p(^lyt8)k>kK*0y{ud(Q+53a(JuH;`sZ&6_p` zjZkvsoA{36ZCf6-Twu6L4_FxDUSLQ{*)e9ep6lG;Jf_X!y;b*z8XX2Rx1G0dkST|bkiSB)Jf)e&lk^_w?a~DC&4hK>rC6AS@ z(C~z*MZJ7f1iK%$jh@054r44Hhg0>`YL_g`+?ilK(t{-$)ec;%UF~RLpI<*Baxq*5 z20|>FXIr7J7&Y2vzL-4;s=s>LX|<3s>_e)H9g~GJ4~WM`Wr3qIpP2qxjzJ>vZiR+O zeI|{VjleTQwz=$*L>AuWOk9QKg@&;lEWtx;cCCI;xM&^&8t?#sPpF0if`@j3=s<)uEpdRX)rcg0>Z{N(}wvJ78*;_-qdr zKLk~5u0XQghYC3Y5tzKrL<5X>?eno(24h4nY?Y+bHa--dml;PozlD2vm8>=euog5? z%T&Hl!1rj05`YSAbH4}*_&NF9M*C!wo?nWHD3-AJ;Gd^3BxX$I%JUrqR?B&ue>i;P zxRj>u;AJN&yTqE#xQwdaUEpE0x zd&x2R=iC(n4pP%hs^)XUWwtfFA=#mBwSVL%ZNXa(@@_y|fb?T!wz*w20 zPa<;@Jh`}QgIx3>bOk22I_#?vHo95@3 z8?8XaL*oDXS9ZQVfRd(vy40b7*rPMK!8G5aQ80vo{MbmwfhhCrU}x}Z1eg73QfFGE z(`4atP5@T|>DkEBQ>s`EvimH&%J1VU%Gx~M)e1M0AC5)>QRQdsD1i!6X``2-}$&S5DtLJ+ZJ;xrx-w&1{bZ*FRH3%C(c<<;D(an%u9 z^91FC@ci2!eVx>D#Kv8aqx%tGdqHOgEEpap-v-UtbZwfUop00{}@`cFfetH zZlT_=4VPDkYJUXu4n%xtWd*SYAMZ{^3*-6g8kDV$Y0Y+&&haRB zk9p_nNP*HdAF}z(B}$P)I~0aQ&<0Jtf8KDf_8obfG}A-lU_%@;+*={*0sW5z~VF35Wn!h zVlN~$#^GO$qwle3VPi!_d)#t zaVD!=VI(YL^T}LxPk}3@zB?6s;^*5!?qxEm;A)F`+j$1` z2%iXRoh!OoF^omukD)}1${DdD1zdjJFVO2F?!t8%`4Q;XF&5Q{7|(gx#==PrsvGE{ zWW$jBe$a()KJx>*LTO~BYQ#yaUH?n6O37!6552z))Ux30g0C8MHp5qyCwE0;4mF$N z&3V$!R9La3p*IwnX@p*tO25tTiJ|O4v4`x0KGbCoCuP?>&Sb*?23cBmFvZw!C5wff zF7oZ4Pmwv{j}pjPCaeck5u+3Z&!TYD&@}xkd;TyHU0Bn^(HTT>j!OQ4=w|R$l&?

zz=By9{Ijw6ERg_8jIg3)YnsX zEkW%Kt~!1sCmz>OGCI}n80rc4-?G^%M7ln@yd{Ta8f!xQCwiEnyP@7|0LTQ_$|6&U zoe(Hk^Natlz`yic*;xJB-jIQU9$}+!Bz~=#(ia4IofN1&1>2L+hTsCZw3LmrZAoS` z08XT-M+zro0Iw;8SnH_P<}?9niNKN_Y_iyFwt$m;z$go=D{?tG0V`qWmNOf3+vwB^ z;01E(w~k7w9hJGD-ev@r*{ zz*q!K+Zk?^7Q`i*$MA6VAN~4_q<>CeWwI+L)jdl<^yun2-ViYieSX00L2WH9vWGox zXCC}^^}J?!D7QVqNUvf99zHy2)6Rdxz*h(_IZDfxw}Xiln>OuT9|e{L{J+3xO>?xk zFf%C2*Y%F@3e;uXxEZVsxBg@m8tXykrVZOh)_I6~CT%#s*LND>UWmuht=ulJrt_Hd zccxM)RAyvAlzG%xqrTF!r~L57N~1M@x9m{6T>-B=L{y&)||A1ZxsG*Vo7S=wt&&dnP%wyy!u}@;{JO*P5 zAn$;hLw;-0&wRj|A#P-R=C?fH5Lin}qHn`oEK};rrfd*~WMu%TxFx=cYM@N+V;rh$ zPjYux+7?-Yr@v1H2c2c^p~@-PY3nOAl_0*2PFxKXv}aI+5m6pjf-cCqgo@05$_0am z_(n>nb&gd%5^kb+hA~`y2b#QjYus^gJtn`=8-1O6fZq#3zsR!@lRyOh2A6R&qI3oi zfmI=e6B_5Viw$ZH*#yrlqisx`t15Ook4iQ^c`^Gh`lyNsmhxv1(_`0Va ziA68%Y*_V-*isIxPZhoSz{(JrII^yQSeYw$i<_>Ojjddn=yo|&%ncRG1+Yg;pj+$B z?ueY>0HZWykSobnt%5=-^YmleLlhIT`$JC*2)vJo~pLcK&*;QV=BKS-e{_${{#|JZ?6+ zLOJqr86B9rl5Zenneu-g@=}g3O=KKIC}0?isveEvDD()0#s8?YU;cTBy12;}zQ_-g zUY|2#hCypaF^Qcd@Vl}^eP4%q=h=-;zG&oa%BBWlUZ+a0HF@4(*pkAC!O zP%C*HHgHTl5F7PV5$%wp3zezEqO~$xe#xxeyF1bB^$F^r%1*tkx1b7A-zsQ?D_v*f zWg626q=9H8Iy>+w)Vi4$<~yl*bj_TH@z7*yachP1;6C*<3Oj8Hjy5832sD@?e4KGWueZiPf z!>i8n^$?2b(kF*SI)ltZSORodyb5<7Dr%-G{T@iaJoyGr!<5i&gI%C>!m{$&4tqY8HeSiTg4mhDX zxmvApqTBffbzZP-dh{EeqPTMpyA%3eimWEPR_Wy~S?2L+WA&lCtQD>)fr-*yMQ&TJ zG@{wMy23D+8VI>rgEYk(VFLPpm_H!jiW-kKvJ4oOJrElCl9k8pMN3+u^V&{R?6o<23?6bn+#4IF2iphzZZybTD69-$X+J`lq?GJfMaaQ$H z=N2To%V{C}FnETrF!p$k9g6@Wvl`&No4~=?aVZ|gXGZW6Db8vSO@o>~vJBZ2N`FYP z4z#=ca1`4!V(VV6E}(ce=gNz*Xphp=KB~UZn)k+7&oV_zP_?-M3btlfFS6Dk0(xgB)AiIp2{lj7l2PmebVym{>wcC%HJud#lO(TE+PuHO^? ztkAmJ`(ui>Wq27qjvg;)q5RJ4Fl%@rxaC-y%Dv1=%d2$rSB+>J1{zeQdnZ(??Iug# zOE=T`B9Huk?7e+hQ)j+5nh+&glypX? zLJLI4d5fKCRf@CAS6HF$ighf}c6O&@kzny1w9^4;P$8JCAS#_o6Rn-?$Hs(eHMnOa zcDEI%LQtjz$I7CH8fUNu4Y~*s10+k5Mb_%MSGwQ7&$-TZuIrrZymQU8MM>7j^ZcIQ z_wT-^S-XKztmRv+BUKYl~Y-xh?-(!f;PyyazgLyoL@{OE|Ou!!-6)~wfCTp3t zR1t713SwUpWlJU^Mn!HToY4)UmA#{By&0^$u*5Z)Au)&(eJ;iGs-hY`XDYe*DSvn_ zUqr)LWKuLWu6MDYv2l z#`ukwJ+mZsHQgX_cFOK=N#5saiCs?SaOqd%?@@`THvP6?vFjEnYZB;N@yoNHT)JRE zxm{IuyS_E|CMbT}9xha?$Ei&go0Wi>{7uq=Y|KnsvtwJ0=i@#?Z7Z-FXQuu5X`SPIY>lL0vnAlHTWwp!)1BF7 z*{=BSIF?S{`r(WTa|T8CWNQwNRM9@=k2X(On#T_L%$?A62SgUn7_XXal1zF)1qFPg zR2S45_X>s{uil*UwB&Uu+NYXk5W}U&(`QV1BwvW0R>9XHcxVaoN8XUO)E(a0^O7j# zJNsI8VkBF`fv)h9qZNUgd3AC}7JW*TN)*um@I(&J^}Z;JWa}{-I@aGG!wl{4hRjDD zyF60KZG&i=f>3n@X_LC>;`^etI0&}&&Pd>9zu4!5;R`c~?7EmoW4%5qfz^{m6^13^ z489TM3ZvBz=ZX>^(HT8iTz)vBS}1;3$E7!#+nMA~!|@-9b|y`+{F^m_u?ITQjyYdW2GzP&wNiwr)H3yFYcM z1Nj3*6N3M8=`Uipv~@4OvET6dU!UFzS5lCn4;F}|(#dP0moH2v(8cl=2{MyuY*?E=tt@5Jxh^nSE55f(#o7> zyGh-Yk;t6+c5d1p;LEztEVhOt-oVU5iAE47uv+mzWkO`jmt*jgZe04?jChSB6Q(qt zbTqQ-t;P2?IaV^BR=6(_ZvRZnCJhu~hVN!2Ua#P#g`Yi0P0l8B>qeh{K8s%wjDJ0G z@#$=RX&Y^|wb5rzT!o8hTlm=muQ|IiC5%bG8e{$FU!L35)2K}v_OvR#7hRFxox92= z+}cwS(&Zi}j?Sn6)f)=+M*hV=ObHkNgtivl?lJ!1U*^j5mZwuTQvKIqO{mz@xc(YO znm}$Ax9H}jF?bQ9q&aInnF=-u)Tp}OmllPYoMQ4>PO2(cav|`OuhO(&*;$>`7fY+!pZsSt9;Vdc@@DiA6wx} ztut$D4*%px43R{BxT;!W9DaZ46Hi_nw1!G*O@W)nn{PcO)X_vo*;f-b*Ssc(*|C_* zbcD=8f{c4(21d@%(-S?z z_&WA^wCiadGE-sssRffFN{d?xpn+%8_H7mNeA^bRn6>u(Wy3x53tzl{{IWm(r%6HLyFWk%Yn*N(V8BGS=m> z{p>pbxlD+6L_*uBA(QcX=kk;h8~;VztFg5b!|02UR&}Fh-H7 zdt$+2tGtkw?~_>zj@J%vj{Ee|XJZEK)Z&!Rh=yu?dlQ-V_ff?K%R7~HV9Y-tdI84| zC6~2)NgXwR=FRIFSEw9%f>_B6T}Q;|io_63X%Y>0!&IboK7N$%ytUatcDn}uOZ@U$qhfA>Mc@9#gYP<84X z8)(T*k8S;$-rwBX`mn-pK54=rX@X)4BEKDRpH?(f)DD^o6kp0$x-*A|&OPi-;*&JH zMN^}z$Wu>j`ueX9r(Ka3S(TaDvplnR#b1QH1v|0;;$ZW}4Tj}NzNt1mi$5JGEK9TC zDOD86sQTfjT$iC}uFx8H?>Bnc4;D^1JcGVV@JlrXBe|rj>4?W_&vd-zX!G6F7p}J= zd)NKg?JdizdU<_EhqkyD8MtFJFMc)HyV!;?Ntf~6>X`jDFY0gFNc|rY>4gZjYFIg4 z_tIry_s&YioKEp+kFG>++j`PFxeuj2=4=R_v`ac(L_Xp*aS%18mHMp7k z%LL~@6tT1Pp@ZP0EXWRWB&Q#!yT9D5o!*vT;wV?!q{g6dEZSo83v%20h&l3tOt$q&2$$AfIG8kP%4Si9e4bLX5@R9 z$P|*CQtO=o#9n-9&d_6$`%iULJ8aCTPFvgMJ=7h4hYI|R@lxBQiNi+w2MdM7T$9Gt z##>sn+RB{bbuo3$k?ieVC^Os2vV{>N^|xK=R2j$WHz!K1y;>N7KGB@uC7-u}uXEiTuL9mQO2qYdm;Q72|JUyS;@Sbv!6`+? zusMt28>fbXk^VSwSTSY(?!57P5m)Zb2bq(Q%UPzrij`iAbklG$42*|cUKM#|AtK8h zgkxk;XRuq)%DuUE+G*(yF0NZG$&Kh@39)lrsNJvue9~f5Q}W?;@^Sn{ldN07EVtad zwtP;23T5zEe3r zCBNWea70JOTWz*Yt7lg;57A)4L{{b2cPxK0eKbCU-QiFT&^K!1E>WGDTS2c&l0oO* z49f_c{0L`}jfl#=abn1vBUK8+sWZR9>xZ)D{yj(>`Cc@SDva+8pSZIf zOXoW99kL!~GTwYVyTbC8_Q|DB#@@cU_)y~zJrSfEN>WF*!4r5l-F#6uYcxY{j4zO? z?=Ibady`Rbr^0m1{`bFDdBf(kLl{cG(x*AF1CP(?^Y4U8a;CN7VBf0PjILiS_Zq*; zdXy=*q||$liPlzP?815QQgH0rFW!kM=_iYp*F2sEz}PeQ_d`?M+-UF|?3*<v7HSD}&DFCLr=2nTbfw^P+x=O9GAq=xM z1}Up_ev2@6R?$_G>O8MQ9b5I9@58Lan_j?F=MGRkJwoS>Ox<%tstHf?8GgrGtE2_N zn1B7xG-`d1UOf;Guhy6Q)!eZVTqCvNfhUE(sH;lSxXjg#al<^w$7895`O^_Lhf>eRMhI@C(+?BSlFe0+1SZ-Crs_9V4YrV(A zma<&+>6kjdLmJ_-YWQCpl)5kR+&AdvN2gtZPDI|xk}`>ADo5rF#WJIEaJppxuDTcLrF0sWsmyaL99xa0By z*$`#N+}pQs%g_`$Zxb&iMXBqNo;AOh7sh4pHFAnG4e2Z`c&!SO4U5wIC)kuuJDutK z$AP#*;YlsOOTSBQMTp*NF9SRvdJ&FD0p$@K3$c&p8`51t7QKP4pBe_TaJ}+C@U)oS z&H_gG28xYnx^iPDUB`--3j+0Wr!Y{P932UiS=|3WXcl+LuToxgBtSCRk_8U))vNKRg9|Z z^i`~W{9F<$Pc`haj%9#Cc(!1*P;vbnS%sKro08>f!2c_(W*u6I05ydLU%$$Z9{Y%( z?pp3(8X4*jT}{h;UrPu|PQ$hjNYI_hlWQcc_t0Kd29h0oi#}F^2Ood&>-1l#FZj`n zB9tkeN_ znq2?rPI6?Zmr`jK?u%6aEJJ{b!+V(QM&tEIk*|gtR-8N5Z*iNu_uzq+7yQ~wV7`G-F|(_rshwEg%$0e%(ted)_!=Y1xje>=><~L zD6u}Q%l-UKiWj}T#}mP9PU}6N@5`^dA|k#$K`<*tNGSxjOeIU#e(l z*OxD!FCQP)>%(ZJjEuB42?wRnY^`f3wI^RN**e%Z)Y4?q`vX-!N#c^*;N6& z%XlQFyIr9}nZK->Zb+#=rd%yuI|;`>$HI3mImeIXZ!U4O6Mjb#A+Hen6l{UVOMPr< zqTl?<_T)5k$Ch(%#FcnqX-x${jeGyuCnCK8p$h0Vrsb=!yq&@S3nBqA*P+LWfS1_2 z7L35H=ia;)hpyfVe!k%BPRVfN)9A7|#MgYoRg*{TKT2;{&*v3WAwl|>lWoyCxAhv3 zS9t+IqbFR!WeL69nFF+i2#xtM8$e^FOnPW=w^l3 zTj(40Xgei_Fg-}KB@@DAvs!0ZYZ6`y1RgjGs|C2U9MaSwNV&TBT$vof?^(e$+vwP& z5irMc`jinKloaNvEA{KEkO$@jx7h zU0UXA>OATw)T`H#N2&Sf{@(l7ULUWMN?Sef9tm}*;$_;mJBx4J&Q%K|`RYI%R?!)O zZx(d4mfv#%ISExP-YyzR4Zyqqb5rJ+shRGN<{rKmDJiQuFa`shQ{xnbke{_wV?1uu z@EAVkKN5lrBqYw~hiU6#ld9PpJ#-g|<%R@ zoNrYX-0rZm-zkMj=FU7l-dt^BHhrA$Y;Dc+x!Jl^oz2S-v;48nY`L3zWY|Qi-(HIL z47UG8S#JHPs;o2O!93(D%eQ#*;TO!uae8DEiq%t|`IoU2;r)k#o&-L>CBqkf%V2NX z+a{g#2T>%jrW)JP(NCY2zSF4XL1qk=omvSyuXxZ1mh6Sgs78MiZeZ?cj~R-DVK^cx9l z?8hYJ(f*qf>8B_*o37f3qQCnJE(w2maqkp6;kGXRl%43QPQ-8)wxbK{1jNMB!Dixc zOZCujO&|=mdD0i@IpmHgJ(-kUZIf?^!K$FF{z2brc23gtGy}egG37=qd(rOF!Nrk) z^Ps~zP${I4Z2xzprgt&U;mJczA9F=Q;UZ_>`QfCk8e=Lu8YB*nJhL}q zKfRP>yU{X|WAZ9zy^P0TI6GIkJxOS4wJIqFBTf}ze#INhpmq?~1`gu!{ezjOiopRk zeu--GIX|WwG?(x_|~fu2MraJt{gOXr3Ri z2e=){=Ei`b!kjm>gV$x|w$1EHw{#83N2O~uJsNWm1Nvv1@ebX@T8*V3la?PYGoRj% zi(VJYay++6BiaT!f!frtV;R~$6cvs{2kmT*r1wt>c}YRf1mOiX{QjKcwaN z$v^$Vjzw&VDM{J$h*#=Qo=-Q_Jo!t}FZ$kHRa2U4zPNofdpO{X_n({HT4yP+DirBs z53{yO*DS?KPx2i#|IT;b`4?U0Frzs4dlVP)K-F=LF>7%NL=#Y|F(t!V^* z4VchgX|bg13Ihzv(tge0#K~F38IGbH5i-tb#MYhjQXka^1sEF1yG5ei#j%qduOzBAf#f zP$Z^u-j2GCk4eRc)lH;;#$i$O?S3R6sB$k)4A}AYcsU8Lx)zT1Z^DchH?{%v7oR^; z8kX~)`bM(8AxHV9M2rWsa>w9&H6S%e)r8M2a2UQmKw$MoXPDudp*VMrT>H;${Xg5* z+Skd>?8r&`1=4KiO1JS}B#XncX@~p(e3aiEc(7I$aD;hS{93q3=g$e!W*dUk$gbL~ zWft&DVwf0l4^3rbi_2dp!Ycf%g`-%DawEVB5QQG~b z9;1670s zVcg8ROqBO^9TV(M3?c0?x8XTx+gf7>p?o&+(IZhXLQn}S-gu7FqEK%D6>3fZoqjt< zWouJpIqRO>IVVV4(R2&s>8U;qo-b-%ma5b$t29Wp$b#3Nh>LyjBS0>@Iz_$*vfR`A zXBv`96Zj5Ymd2gDT$*@I(#qJk&0tgBm6EjiqWu1nb8o!zU4=6Nb-FgX*0O82qB{DP z>)$9e*D&l*{JR>r#F;sg+4LM&{l`ZAMw0#R-1DolH*1IE;@Wm5dAz*~`8Q~L-~=9K z^ocp1TH%@E332VpM|t;8nA%Scl3#Y zO=SRvk{hFOyX*E7^A9ls3{WHc>bYHi6;hsu!~924#TXPKegVGDQqUpu;lBp?dq)$| zR}FxnG61a!6^5hFac?{;VuD^g2=M^~YT)&AO_TY+Fe$Ro0YNB^jNN})XQ#j=;Qaa$+0Ab|DAY*+oatZkXw&s07s{lIK(JF--qS*SzbN%U#du}{0 z=ta|cA*pS>1xAlXR!cV4On(#JTSr*Kjo= zA_Vb;;1u`%ijBm$F&d8NfIHLRj6=(~oJIyd*5qUVaS2ECh8M=idkB-eC((oOgy1_Hg|mG>Tc~oLD{b&Z6Q7o|c!nuq46^t; zKEFH=%{SeC;(Jlr%Y+))Z0gi6q+cWT6Gj>*8i*^;wc}!#RSo+3ae_nQ&>s()N$Lv- z>K)<0gDCYw_qV&dWa|K{(g|uM0Ij7uqq0Cx^j2)Fy;;f1X*FQ?m`x){Q^y{!Wsk-xxx+ z>LcOAqmM|3OqQ3jVwdb4@*{7gW59?+R%`bqw93(5Zp*;4B0A^`O_Sl|*DYAth5yzV@o?Xa*0hEnMYcp%vJak}@rPW; z#7Jf&4Gs&xBel=Q+l*ORkzM?XIcPYbL>Oqnh`HBjaL|A6ZhvA-$_Pli1 zZ+1Jx@YBKhv9%Vx9;}H_+m8zq{*!a~q#EIOBQjshB@2lbLOL>`+>#h%D}%h9J|#XW zDD1BbJ#ahXEqB;;PrkYCO7hDN2q-9)o5A+$en_a*Hs7t9{+N1rBy-@2QpZFaJt@eq z73l0wO0b7__TEl&oyV!OwYp9dKNr0qE2~MlCFfh^=5!^T<^!9zV=#GOhu7z7Nw>Tj zTidQ2b4G$=luuc>@v3ui1lkoY$G4Oc(FIiMY9@tiyD}sTj3|)NY5osGat)LS!=>-m z>Cz3$I3iRmy(M><(0}h}zi$G@i+bCw_MzPhicwVbD5bWPk9J+Y(-x0(RhX;b<|gmH zTRvmE<4%Y*xol-sg4hZ9rGYs9_?MdSIFWnteF>kW@-zVifySeZ-+h9b z#CS9!qM#rH2TCV;GU1>#=#$nh^EufF+I9(-H>6QUdxZ}1AZ9TL2KDOM#$qU**8atw;%jk7os=!h{bRDpOBygKus&yb6`CJ{Qm%&M^0IVpigwJrC!EcXU|*!i1qiREQ! zk@|2lb!3;|+U_3+_&8}Rsoye^JcIIaMEro10kzpU@bP_qq!IZG`rW0F;GmDMDLKDn zE{g2vPIb`y!mU_eymkg^t~Jmc8-+HpqT>i~?;85ky+N-Rm9RCEe0<7vq}_1`<73^y zrWNNuZrm;)wvep*PXG~_w^-1^=1yV9;l}R+@-7MlnN2e(Qo~nESvXN$@pldaPbo6B zLU(x{fiw^1EI&ep;qy5Ry0(4E_P*--Cf`F5ygW62$2umP2xRBg%|9k6+dZGlm>oxRQ|4=C^-PG{${0o=ZHi8p@$`zy^Ee#k2`2(oTY^T=Hst1 zHN{ra5q77rE5oUf87S|lX81~85B2Ls#ZoFiY(tbEG4%_xA$)}ot`i{-zyplx*fuNx z@?0Supk?n|H!R3)Qz#~oQXiE9f*r3j;aARXWc3}mG)hGxY}ly#W94=bE^AnbIdg&B zfE#v5a;7URP6(DT_}Ghwqw#Zu@=eYqY=MTcoD-{7gx|7G_GTdtk~*&!RT;ysZnz;6V?L}9 zj2Y(WaT1pbl@pgUfYsjzfu#T|2DoHl zZ)3@y1G1Lvr2_<~6=Zyt6qBo9o@Xx`-XixAS@>-QF95$t@Jv?x6FtI<@Tz#~A8b?n zk_Z55C>5;~WdNU$br0(ei?V>CWh(j{>>!XNI~|2hjDiP(cAy*1It;)^qINX-`vu2f z9r5Q_wB6Art!ORnWc;|erEr_@gs*dtNo<1fJ5AllVGc&w+D8)U!3N$E-So~pJRVA< z_c4F9mD_a@L8&MMQhtx+|5b);C%}3&$oZTd!;%RLa{-1i4LhJ+fJ764ZV12~0EGua z%g;KBb+ORw1bz($WE8SkHa=e!2ukiJ;x|w%<%Pm4M?rlpfv?2d1j*~P9EU=!#r)k0 zX@p?Hab~pm6*zqU$X*Hm#XLc!`JfD1?(lFgF_MQ>Mn711T@3Bx^9kHiC}#n>QK9&f zRN?U4m@ktGbVwA|_hzNRAaL~B2=#!`Oay5{xF}91?K($LCAFKsRw4iQtV024S#3ZQ* z>oEwA**dZgd4sPD`9?jmAZ{ogq2n_5Rw=Y+bn_>nO{?+q_o8&rBB^}$XzmTM1M&Sb z*W^N+_RZMGt5^@N{2eSDR_7)X&*+Dn?zeLl;f8G)cq<4Z+*XjD`x90oZ_-}!0jAf zB4?VR_@D#cpULgS9I!+6W$y7;#8YT&n*F_K%S0%?5lX8rAcQvGI?9C<*DD_?97)(_ zX3G08h$HNK2#HyssHq{B9!K(f34z)t?gfA6Mv`{@rZ;JPb@(als)Ix}G419$vXA6` zi|1klU3Y_T5@7=!!BNHBC*o#XRIcQ#anjN%@Ex!F&V{QeG=t1Fn8XeHA*DMIKi^Z< zrG{B8;~U9sTyI4urHu7)JMex*o``4snph|}9XN`w5w@fN8YsR&e*m~5VQI}eLghNY zL~u(tz!mrIH)DNrt##h;gfdq10OvJQ)ujH`eh0kPUeE{zJwixHs+V8!_FxzVXFT5U z00}YGWWG0~uYAl6i2(yf+ZaIJlAGtEtHIfN53(w3f)!EUq0pnKjaI-|-f?Wodyt8c zN#5;FS|?xT5DuD17tU~~9Io(Y{d{sQN^efnBzQ$e-caMpi_!(P&_P(_XS3rkH{kQ& zA+d!ttA$_cH<|Z9vFV6~(0{=2yE)sz$mx{Z!Fb`Jw6ifDP99}TQ-W{24jwAr?uump zpopYj?8R0n^n13=m1EF8$e*95z?H{owo-mHy1@c!$LO7Z?(#o(`JZR`{|jds5N*rB zB*m25CQn@cujJX`SX}I{;PQ*{EQKV~+$N=a z6gpD1p5LZs&)HjQ4|<~({mol#QguK;kRBCYeb<+$Ou-lCb5C`_WrH1S)aTqsk{xj0 zcsPdT$srxLrEMqjUH?P4_o8}ONqZ0GY4N2D{v$-ft*C`L1TUDAhDU|SIF?+@z~*Ma z34RmVc0IWeo&ua|6isl20Z{Sf!l@5X%&6Llt}ZxWdijm3u1T(9RNu(w2BRNqd$CmT zAQj}3%LFS|H;0EIWv3@1?d+e~IIQ|U_ye^g8dEtO4bOak^LAk|1Cc;zJ-j{`b6(9= zSh^+i3lUuILvy~6n0Jg6!ewrrM-5;rx+DB2f|*&g4`n7g&mMM#U$6AVO0XJ>DDCTL+PTOTjQ?*$7l@%vutwnxOm&8z1Sl>Hun zVrEkKibE*!xEMRLEuLWA^aw${ia!Sp>0$X9N7w;}d64BKfv}W@ajuSjmeX6A;Y7iq zqs^r4Ro()?TR17>{P`mLVV~)>AU!el!v_(RDd3j)Lf@cV%730v8WchVx9J}Bt-2o& zEic$2vXzZBq=j@OSamC#1)s`7TP~YI75m`q!_GJG2?;0e3Q+L)!xWrM;>A0t{V2_P zYZ&B@Oe(_>-Z|+mdw^SFhg?y@BsY1` zuqqI8zGFdgA|A9V&Z5T9JUn)rEibyF7%LL&G|FUhfRlP77am(0#j-rT#lHR~p2Q{R z-d-vWPngtd=K$Hbfd32nj5cc#YrrL&S}Jx$gdGgB#{|h-dJ=MHf}|3rGuuD{ijUB8 zQ)YC9+UkTVuO%c$?JF5c!`ac>_ihrj$}$XFEv?4ajKnD%tg}Lyt0L-K6M4M$Ffi=J zmR_!a=!0K<11QXLOYfgEyBjv|I_VquM*j#0$=7WEbF|(qAAaV?uV4WqTV(2sYOrKZ z3Dlrd{7;cL;Yn~|!(H3>Vl7UQ-L(#pft^Ie(vQ5&gRiK2e9bzzF|IbqZ)TGkuKl-l z_y<`y679PnV%cxPN==XsVej6C9Iyzd@i+V#zNQkVuo3x?d)&^)q};AxaC9l=$^6J8 zDu5h^X|GLi6aUCptS0^p7f=u=Q{Z+jk_X*VVZG=MPr@EJI@t!ZEyClW;Kd6n0^>=*A~tObRVJ7K6()2}mb6hLC+6Wz;XFs7q1e&+arh2k?J;VEbc?$AceVJp>vv0$5dQ}p*OrdIQem*G zxAK1h?~R1@@ta^g^q&_Bo3dZfw$o7eYFCqx9hhQNfkBjv?qhqF`P$YIKH6$suK|=k z84~*}pd}Z&tOo$in#aA#hJ|pJF#UgCXr8xkI?ZB}jaFYMBWTv&b z{d>{VCg0T{ZbH6350c>=2PSGuM>m$tykr4dgIp2O6m&dXVJLMh({*G9(w00r;#U*?Mh_1o{tiuk2RB!+exZjN)%oRxOTu9S|N%H_icKgGp$v$up z*_mQIEQC}Yo$ClNCp_5Fi|VLOgklyFB!XSB|0ikw4u)k#92+J#UKaL5p~%{A{=6{z zdr_CH5YG!?If7Gg0+3#^QMc=BEFk#fn>IjwK;WpbUn$5{Z=tX{SZ6K1@_AwIi_tc{ zkbD~$Kkz(U)ZC+2im$?bFU0Yr0ISksL6saws$W$uEDdu;*r8d!L#lTKi=PQ`=Qb&y zQ@lilSCB>OsQj|$EPRWl9^FveAO4%gkF=EP%%hX{P?nq;bFyvc=AGkI=c|gsIN1k7 zuQ{=vfL7iY^A2QgCCX@uE`jQ>MJ~iL1{q<^Kx4M0X)CvbTj{hhv|Ciu5XHG& z8061}Y88M5^|*iso7XQ?f+875aqaCMg15b+O>r>7EtWIMW=r9mVmjcM^qEdAJMz~) z<(U6apEBqNqSA_>7-emr-xsdok-L9!L9V%j)iBAiOTel)y;nHa&juXB*^uu8e;AgV z%3liwsMGnQ&yX7l+d6ELrFU(Rw(Vl|84TmUwmb}KOYRM@7jjwatq0z`IzC@c>g`-f z$oL&1KH#GN@XiD4AJ&v~5-HNfzVKtQPwPlA`e5xAtxyi|-CvYGD0HsJ^XA5iE2jm~ z=eCRAMYT|Mo+L0B9Bp@x?7h-M;{VQf$UhB^t@2jBn$HxKq zpMWU;DQWFg zWlEg(Al>NfpFzR4+3dD^{;jiQ`jZhLZBGGUt^q>sqJdAP0=;ZuWKv zJbJD8r}(GV=eLg;Ly@W^lWllO!cit7MN(^&*MTw>LUCjdRZcl0*{rt0@$`QP+L;-c zc|{QR+`mUS1yD-`$(dY`nux}F{3ClCpWv1wly5}rPkYClEomy{ba$ph!S1}|2zyZ; zER^I_xWWNbHwLV&O#gGkGgx`x!EC?R!K6Z4$OLsB7N@qZ)sePj1yvMF z{lSy3VBn3gEu_5BB9pp*{gh~^KxRYA+5?`UfgR%K1yrUaEL3k~$^TLoXyyqLAJdC( z$zZxsQoePr-gzNSh8X(xAi2O04gH3n_b9+d61dDo4Na3pr{(xAQ`e7{ZjpZq}bT3_Zli zkb;ctp$fE9l+^<~jfhir;3#a;w?;?@DmG76&%9_C=S@us=}6)|z<9z)!VM@7{o$n) z`h2!$V(8sm`+=snN?qe}sOLY2r@+z*X?qJUE1??qd%cdNW93mRv>+8CKQLVy2nO$d z0F{n~E^I7~;Qxvz)fZ3JdvC!ISpN0_ah6n0 z^LP5`O};53x#-5>qPnLA?1sw6%*T_*0aqBo&_I3U9kI}&g~67fLR2^%@b#CB z)6ulA*06(9RE?6$x^EbMEQF63TdD;=LX31w zp4zq`00iQk-@(hPDrNNmq6%LV_DpLyii_K6FbeP_;!m=t3(xN(&6!w}mHjg*du~T8 z5wHD0>ZRpQm(e;IQEZ7u)Tl5dq7ST9Jt<^N$Rlx$8h5JGPH^RFtul3Gq{B|FA#syx zR1EQIpN24_BLWN{Nug!K)fC4lD534ZewGwUQy1Ptc{XAva1Idx=eoJ_fp0*Xh0J*x zU-PP1)34LGeM~a3R2V4~UJ_tMz2$XNNB-786Sv!7$zw++e8qeohpjvHs z>Aebgv~ibP0X`8~%83Y)!YoN+B$khZq>eZVRAvvG>#^ca3=!tau|UYoVH1vL0nKs ziusgpCr+`iieH}MgrJ3<59_ljJ=pY1Sc10a70u^1?!$)=#{P1kkVh99q+VMLf;smF zWgT71 zxdTBDJFwRD_Up;rD`sM~BHWg9g&QQiH1Z>iyoaGSj})Sec4}c;DJU4D1GS-Tlvk*Z zo$byH;_=r};W3u9oQ<(FsJfd1q3h=cg;=j?CRAD2VMSBZ`rKY@pmjYYJY#T&~pYNUdecsLR_}F=GAi#6aSn2!}rqeyXb!)hW>aEn-pFF zq>ORy87!5P)z62|Om^=h3qHpWWr@_O<@}e}q;e4DZGm*Q)LPb(mYzTDbHk~-CVEcv z>*Jl^VI4EmH^1R3WxoHMHS1>n^lym|CtQkp1^1jQEHe zx6{Efuenj<^zL3R>eyG6;AmYrIPfFWaOQl&i<%xSr=1v-n%34hWkO_1?Am_CXDX*G z#i9zg@p#&m(ex3;bif$R2o@DDA;u~Y3f%!8-*Dg`2WF`{6eZE>=@H`TM#i~r&T;Xh@);55 zO`c#wn(A{;nobjWeXHWhrCSZ9P6896!|9Z>3HZ_Mb_u{YCadJvKUj&$1=qO8T9Ca{ zk&!TU_rPrP@sO7)>O9_|`0T(|407hV#)BCTb&i6pALg0{B&nyRZ6HD#wCJ<1i#3fw z+BKLA;`!xTOVjMZR?p1|zcVn^H#hqnPFrZ9EYEyVTNB_a8rWk9!{qDzgKb0c-O|>~ zoOd5~y_#RHZqcAGl_xlO?4x35SOVyj5kk_)ShvknC{~fy@|G%$f_-Caj;(lDb;VI& z-Tr7)Wp|JZ?`tbzRbzg?`Y{k+pZ{z515bV887n3JJOv-t#0`$ z(Smc7B;nCWjdnM>W`25LRzVe|wiRU;Pk2q*O-Sj`eq+0$Vk{hZAd1hPaGuUotkOyC z`U-UY+tDmFQ_8hu274oEepjOzihcH!!&-RYWk`FFa!H;Q$@}Zv)(YyLt5IJZt3r+Z zy+C||2K{AZ!ExfSf(vsi z+u|%0j!=a&=@GTq+w&_!`-9nZPM|NVGSPd`q`qv3*+#~@kAi0KyRdgPi~$>boF1qM zIz}>kFHr(223zU{W9`0b7AUvv@`9$4WP6HA!mft`*r(-_D!q;}+A2wjyedw2+LJSV zE@!Lt{JV3r4W%Pld`f*X)#h~+d=$0ahRwmQDNN&C(D)r%zGJ_VJS;dPDoGCr5N>Nld^ zp4>ec{-ichWZCD8=nC<%Z_HFUy&bda!owm{8B^i1I9pF^D=5|JSzR%Y5{F7szLS-& zTSXig#->q;KE~&GCq%M7^zClp6~AKAesIjic<)|1?P0$7_NQGb3LHOkazxpetn}$yCUA%^mL| z^zK^nkjU`_u^z4r>TF7J;$pzKIg$dmXrq=9I&eAdT!eqtN!o5FnsW+@Wvp%TLz8)nO2WHUFfv ztKxv_Zwkd~`PFe+u@zIxi;AZ$Y_%|cZ6=?b0j#8PfL=O{o|FO6 z(J4Gc50M9BG%DK6ABkkGTTX>o&0uH7nB$I8`sst3ViS55+M7i3UE3Yy=sp;2dU0JE znSz#X$ehimL~lH+g(qe{T?^ZI#_w_^M!uA<2lg}!t1jIID7RQ(Y+F@V2~HD)(-L#Y zQGOLb8}2*iu03N6mt85C;1IkPSia7obz+O-CXD4frDr9u8|($7q(_#(VL^f`plDoXhI{0={%sH$Tpb4er)-cesFvJ;)jIM1%Y%*6pW=7WZkTSNy z8F}OZLD@9jw&-P8-%*E(w8=S*ayE;MSqG^)D@qg^X^Enf0<5ZS?GE(P5vo(7M8Q1@ zP#)!8Dv6g&B(fE^O8#M(2QQIMaEuU~PC3Wol-I9`O+*`ELCsD_avL1+M+(zBKjL-7 z;T0%B8QaDpcJ9}+*2FIJxWfD!*gB9%rdTX0H5nM_U-a@6qhMJNad_pZLI5kVofa1L zkn*x&4%&uGVYT(giN{2*R*i*AY~I00`pw6WciOFGW;<;cNrhS<;kpHM;n1`^FxJ2{ zZGtoWn{sq;2x$7yne{62ua6(cYcQY!d#lbAFm`%aZpq{NoXR1vB6|UZCmMrD=GqG? zI03ob!T6NjcAMg}K62UQ7ExaoX}(o5LECpt&3HzEw4~S1pw82>MNFt+rhjAeqSYw} z;6T0sjZ$g_RI~d=ZM`>$o;6FDuLgExyT{U{Ukos?hMILTK=|_{a8gK6v-l8OGVWD& z6CN*B7V@;p_li;+pN{P&DC^{Xg9u%2?%0v=pzzZi*du+xt zxxCe`E-alK(d9SClty4e)a2xrgmq%nf1kxd1G(gm@-bDi{n_nYHo31RW?ri+IED_x zsUZ>4?*z?G*Fs$6CA{ua^XGHmvWQgZ? zhp{nfvmTi6FNu^e=WOT#axp-Ex5KmObovuBd@-XB!b)-nFhT_Ivmckl+Vxh zi)Q885n6o=PKx}L??oOHTKz@;Q9sF5Ia~*ii3$TC!m(I0*nY9)En+FE(GK<7xy4V_ zGYtP*5Y>q<+_YG6kIZD_77^uYRkY*%A@<3@yok^vFNvP|6p%QN;OYl=b-jRDqIXJh zP<#+oR5Bx<37m6qNeOx!u&;?;moT3o+}7&W zkkQx6i#nEwdZ#=$h0PjX7gP2Kcrz*+gy)oKDd21HgQG=w!hf#aKiBU68M%x3#6io^ zdHD1uW!!@AGMLOB(a1&JYStW^{l46N2iPYTuxu8g1@Q zo5pd^2Q zKz~f#0IF~Sup?+(Id2__^^C?VCdNXXPFB_>9-c5~X}rcrAn5s+1{Oc+Hkz@)QJK>w znhi8)+v)6*26K0^V){wZjy!rsitJuwn(33~xkTb&yhx>V!t0*Aa!s^ib7hcWhDuZR zaO9kIF{W}b%O^5DRSD21O+i{Bv0>^i8A;Rr7}8Xf-jG!6v6p?<*0V;O(fcSle-|{r ziF|RE0;!^$B#$(M8K&h_0`s(C{!nG6r?FVpG_`nC(*SUI@nTyNr*R}#4Y8FulXFE+ zd$2#2F0=L#RkTH%7xdkl2$$HcDIMubtl1TYDwFNPtnXK%7jip@q>>!E{Zg)-Ixthg zWtr>FWl}j7RhNJZX|AZd;?Q5*!SWv&(r@vJ9)+qPwkpvBpzFONsuFm|)&Z{Dd%roC^r*>_p+C9n5qAQVEDV8HiDT)im zHsmtwwic-st-LZPbyKN-e7=8H}avXA;=!3Y&A?GPD09VGB^lzXvWn0^iC7aY~2J76J ztS(JCm$IoG2~_68Z7N$}SgaxotW6K%HB_o|e7+!ajm47{Zd-Dv{nWxaQ^dY1>NRJr zIkt-bNOUyS?xl#=9OpBh>X=w7$uUMIT;n;|d+#x2;uK#!cE#T{G(?|Cp6p6@1JbYs zbDx@rRgSks&yz7y>wT%zROSKXdiwvt-n+-ew14r#uq!PlUNrTihO}b4rGc_~qX7+5)+I^qr_5Az% z`+L2f^M^yt?91n}K5M<#d%c%jCOg#yuC?b~btff*6T+!YU*nV_Q~_B$_y^1I3Y9e> z_<~RO%A+GzvPyTXuMR8)Q5UZB`ni|Jc85Euk(&gEW4;}Rlfi02Y`epuRQ}DP*g$%Q zR17_zM75e8iUoAb$)?|sLu}(<0s5rXd?AnCRFPDYt#A!26X`b zvIex&R213(ah%TIN^y<~0ZnPpsvJ<^BRXQisg;QND(H*8aXA&PmJRJE$S(u<#?1D< zN;wIBUeq8Sve}?M#xW92?1vaIsDnVjSE(jFCc)2!*zp9ECTO(!i6fjkK;;pVbcFwj`$hg00dh`Q< z)Ih-C>|A^jhRgZmY!mW^pg;JVE;5Gd&1VLZ{+wDiln(!Y3>UckX|%I1Wfr{8Bmo?U zB<4Bg6%&#oGDxRqgLe%5K!@b%By~v^)VX%x_!~pnNP4Xyss;_4N2LajW>_Nhkl#YW{a)yY%vg?Sfz-^Z#B;Y)iU)IqxMCCF~2C)P<7@=nz$%< zIdz%``C%y9H>H&=IunuUo)11bHQhP zy3U8JdJ6J>&Y`7Z&}eX3`%KVC<8ve!>rW`-20=)oq&0TnIjk|H zV^!JT3!+e@-&gj7elS6>0cN_(1xJR?4(}(tBe{Tt6~F$yV?~lQ-hX5Bo^9_S~p}DLgs^&OnAS zKSO@l8QxI)5!NZlyMT%TlObd)N$yyle)Sx{^P!s97i`4Yo|%d8VTAFCT|%KT2LSfm zIc>Z$U7X$F%9Ihb<4`Mw>#10cqukuz@PzPNG*5sn7x__}F%6vF&^2zi&j2*W} z$OP*mW)b@lU^??mey~9NN2Z4K5B0_9n{zldy!DXgsy2T~2J|tG!PtZw0tDDn?0Q3! zu1<6tEl?^%*1NQhf*K67HN67Fv#QRNCNJ=rFv()rYr1umk0QHO>?VkauiT5HukFfqE47I42!~n2Abi+wd@kcHP#*)7=(omrOiM$ z=06+(N{CUxr%}eCQ)03R_2uX-)z1-uEOvxNvvkTBTkum)3>t_VPYH5h9bW>omsjC* z(!BI-S2`j68hp;-tZjPf=os5K!J;^QgodO;YfqRA5eB#6c(oM&pvn}_dpLo2UIwc> zGMpgm1}hhG&~si0+6=iO-h*&@n;FG+=wv6N{VL^o$8=Hz*@2)hJ_D*LXSr!(TVtH5 zU2(lXB7Hg+;-f8TAAq^ty%tFg@*BAT-B7(PMDznzfqNu{ej8w%S#ccJx6FFvzIDvY z4n_60P|ZkXZ!O6+I7{weVAk(XCrb2d2Ia|7A@WVFCRSVthb!cn1BH5ni8I24ey>nC zd(ad~?6=}t%6?362>WO-Gj%_NcLUTtG*TF%zA78!z(*#LQ3XgOh%ze1b5!^H`>oaT|rb0h6RX@}3sEQvNpYw=jMR-+Oa{)hvR)Vc|_f+yetf>O#1Rd02R!yzX~HlIUw&SGTW)h~}J zW^dDvqQzDo8cIg=E>``$z3a{hI>Wn?BXyTy8OYZe3fWz1>7@{Pb`hWuUX)mE(dg5hWCy)MV8dTOp0e6pPIf%X(mr3xHiRHa&JkSNhGqP5&YS z$-4L^(MagF*7b%m*t@Q3S$Y%Ic`Xr5BY4i`#)4VwYL$w9!~6}L>fG*%@%jj9vhC1> z^k!Igl%2$?L<0Sy7P4g9Z24 zfC%Yxh-wLQj_EW7@{cJ`^rE*m)XCzTlwL6URC)qf5i@a6m3@Zy*l}J8iWK`6JowK2lb+GUU6%90`--ETXVSwN*c^_d;@05Lt zaDvZeZ)HF|15lWTBF4 zq=SWCia}t{Ga$aX3jJ!%-%Vf)X%7vNj1yRLM8OyY0oSG*>Q2;uPlj?QxKj-{qi_nq zfyzcdU4z+KPVLyy0&XFkM8Ng}FAr9XGk@!<=_b&*XIKynADJC&l;#ct+(mhzh5IdK zF+08vu`GDgZ^9MztO75Tc|0;{M=J<$bF(o$=-@#bolWZ)3cDv&j~A*ZUM1@WI%g0C z`8L?x;WICWb+sDCFT-b;TCZdM31f**8oTio^XEF!pp;2CdCNvFfPDNaFVvF)kM10G zXrTQ%M}&_c)T!^^;N{%}|vE_SOmxGTRX z*5IMTp1?KE&@927D0zk4afGN4B0k_?!MUoU9MkRpbuOQxObtzDCwT>NHz%4mT{zN;!o~zQZkhDv-v!`-j-4SyBnBP zU?%uz>z?yl&XYbI=ogVY=M;!G;)A`U=o)O^`KBY#YX)$}=@M841ru*Vb`mar3?5tE z%NC@O)PBPuLm>eb>AALFfFpT2^rXk=4Re^mv)mds@kJJJUx-Ua zAkWiZ4RZeMREaD&iFA-fvW?`b%DLJ%Cj{1%7G;Zuc7b{`rUbRqNNZ&0N5pOHuw33L zj%;fyoJ8)ouFsPGr0sZcx3lU?tri03j$*S|qv+EV4cV zT*RSjk(f6HdXm6vrM53%1jZD@d#;x^pKAOGB@tCk5SBTBhXpc~>}su>7;3gm57^2v zHBhw)K5fO;eXH-KxM*q^C1I!1wK+`$K* zP2^$vF4#p)zQ7Rc;9*TiBe>xf`cCsQ5F!8J)eNd*5I2$A9Y?dkoq(}CNhWpK zZo>~YU>-LQwlAkc4Af1i_~OcTlA>8_25}fACgw=i=Ld(#IlH^Wr8H5h8cdp-Ei7PZ zKRK=--cQPLX%G5<2^O4 zS?g2OIKs*1TJYn^;RoF`Fvf7#0X-E)zQ8=r3Riaw&joskkMx`39SRuSvIC^dZ`TDD z0v$nz`A&S)MK4llKfAaV&z`nq4ILO1}9AQOvTQMo`#bb---J`HXG6GyQ4 z9bGPJC=Wb^JEJy$Lg63{(MEy5*Bag701MswE|3Y)PZ837x$L9a|G&lm&)VYdSMdtH zxEn0;#|3JLh%XvVn#mCL&x%xXh@yp_u=Z5%%I=@($fhMD3`RD;2+lQNxs2!%H{wba z@S`ZGHwtH;xDgOGzO?beaI}>d)NYNgzYR4Hjp4x5bj#ej?`(xs-Tn% zifJ8D?ekvY41=zog;b8Z|Hp_9*;hr(3l+|vwX=dr+8kD?%Mk8dR(AT7jF$@ct}v9U zX2_u(@38QVeii5%M#Tw5Lsag9^J4&tg<~W;KV}5jRVX3-srA(vpyifm025o}p2(Vu zWovdTg5q#SCcd=H32tWmY>z?I8*Q9dah3F_2RTE)>b48^w^hSJZovr zg|O%M+pfzM&*wEaQEO>fygy-N{EPBOs>B{0$`@0g3-pzSx%lHnA=P{d_-oNuda*?O z_rhP4QSrTsTM~PzvQeVM`K<@k-N@p#QnBJdjdkNt1^^j*_$`mcsx2&&uwRt4UO-TP zQLcmMvX%T0)Qs1zo!_YZ9j#o#RP05y^TcCc003y(D1l>RDKc*OO7CpCt6LL$ck7np z`}G$HI{v#pjqcdx;hm`Tl*E6E_i1gi+1Q|xPxd|eES&xNrRfFLW#2sCf43iqesT;~_WABq3syYFGrgOW1V9d`OV&^;un&}(pP73+7he}M|5zqleRFb+e< zDJKEP9FN|H7>N|*!)aZKL$e0NoC+R2y&gXC)R|9*13a0cCs96$s93sOsQnD1VZ2dz(Z+45#A*75D7(mNJ zP=9Zk0q7ILnRP-ghHB$G8^DAu7cg@=grZqd!D4E73fjmz-ntj;*o8OSpZzIY`+$r*5o)n@iaBL0@f&F>>AUUzGAK(MD4AtoSKEF50ve9Utwi4B($G*&f^) zbT-{gapX%8KQ!~Z|Ko}vpZxvhc0Y`>n_soJQ$9b6Z#`(fdC|LN;FR2Nu2B;FKVup} zs4x#LKfv!yiJlLxfE_F?%U_hywAz@6EP)01QWN%_#5V)eEY2Nic`~VLUXmhCvaRoO z@uNx6Vc5U(Z+_V_X_L>FIcK)anK`j$m7C#_m9A#Ly@!p^Qe9)yrH$ZFiF!ow$1e)D z*t91?(zN>xevV25-L(UWTplgbuFdnlc`@g?)`e+-=(pZfhsLR8a+-Cyj+@ra1Rn?gFsU!x`|fggPUE`9bmm@KBHaW9~Btm0hpVz zSten|+u6**cVfPhWkywmg{a4AQN}m(4V5o>v4!T|OCF*#d5HxWxA5WyM*Sn)G-vb(8I1h^h&QIk!g((H9sC}$?2%rU9@mWsXrNZE z4;;yib;j=QiAZuoHPp?ogc`MF%& zz=qQ0RzSr$jCIbDA)O12&sgEgMs^oQta?q9mBK8_+(N|g-&Z0LL{XuhPTe=#5>Jn7 zbV4tUB4h62MDVRAEP_n5lr0o?$$R7B9-?jv*a)ydF;o^OmL}pr&^f392D}{8NJm52 z0axZZbe>b|$>>M7kB)!>niiFs z*dTj%@3jdIRr63Sw+;*m$h6Tq(xpS8gT2WmLU=0dz<#f$GAKV4Fl#3ikS^QkbuiP! z^DgmhF#6!0k!J9@400uf;ZRcxseCX9vjyDj3@vDUh_dED zw0p`*34WyZr4NlWn*Ek3`U#a^Fsa%$_yYK8lnLSvXziQ+P3knP`4*>N4%bVM8o*9= z2)}dGL!)3KU^;);>ch=nhB_k~@LYH`CO^YOkj)rKAwXiai!~<&>Pcf>;4u!Li32bW zUt&$5g(q}sA$~we08xzH0Zw<6w2Z`p*0%f;3xijH8z61a4K(?V4jf=1X!nEuu1q~k z8!2T6Iu63mcxvp_$U831{M_8@Qg5z&8a+{_A92qyRIJjS*+M$Fkx{58F&hM33aL=v ziywVXMvq;1&hy!1z5rA;vf){Bj7W|kl-u{iC|{Rw21HzP2zL?uEPbF2ETfWA6R1BK zApVU8iwD_(#sP3@p+E|rNUc3fm24!JBKLoN$1pTy_@88zrmPRi8`cz^nmQs~=_+(wvtGaz#rWHC}X}lJ3k9X1SmYfR8X$rs9>V8@t zpx#*TghVXyEYJ4x&|mTNou`!K4rhveVNP$yLmWjXGh0<~Gn$$u)OlrHudZ^=P@$ZmJ1L8DT1*C!q1Eg7jAyA?1 z)gLv$$@S9ACQA)rTT(~|8B8XbMM6D$Xk^PQm%2OTs?iQNw);i7;!7^3PFnl_P`3Qw zbu1cr@IhQo7H~r6ixI;uEO_AKAwoF8)SW8$bDb&tkq#7xz-qWO^Acp!^ANt4dE97t z^?Uw*S^YE-7dOk&jUcKyJS*IujoYzbvByRqgG4hET5Euv9Ye+Eo6={)(46rhOoFhZ zY;0>;g+A_4*UVp(B2+R-(ea%n(p=eaKf$Qb|1s` zB>m0a$vfRSeeSsp^R~QrZ(MM9L1S^3HhIguye!BvaxJkG;Bmkh-0m8{w+U3x3nk8W zt)7kgb9HOIOh85uOm>p+0Nf(2w#+y@PFh_dzFmGb#7{Z+Lj9u z+`LD-Pa?BbattcK$5sc&_>az17->EWk3G0~=y|nWcv+Uzfju8EWuH!s0#HZM3;Q3FV#qEo+o4Uo(e+f&XvX7?h+lL7% zOs|KPnJWh?^t*Q^x4Le(e^X}MFt_N7DxqX`*t@LmCskpRrYIeqU`~*Elos9>-Y;nQ zxgfn-Sp#Da_Nd&Hm>CTkyKwnr*8Ao$btPjZjcgO}tb1J)($|_jTA%o(g$&c~oxWw$ zuxd%^z~$`3}Wv>?4aB&fQ(yP_jr2n4j+FNXNhq_zqB4Cs6P=76gnL#X#<$*lU)GTr8Z;3r{*!6aeaYW6a`erd zW@cv^Bf(NR>iUyM>ks+oHg{={rG|}7iz_RRFkAc3Hzt}rP%~&H^SBB6GW&I`eIzdQ zzored7nMrv^?*Grk--{3qD+-RwE>bUQfC}dbU^$=2*pj)N-0bZTVSrRwrnVR4 zaP&}i08&-}w?V=Cb8?3d#lntmXUnvDGWN*RP@(k$9H(77zz>5I^9T}aeh26>DL*to za+?IAH5mvMn@gTQF>t7ZYyotnw*fl>z%<~TT2&+q%`k!wIwKXlLvT^<+mY}H4IHuF z<~gYa0s2GBNZF-{WWBmaBDAyv(JUY>;VR{c>8AX7q`nmlbKFk%gNQ{<2{H|Qs`^!x|3hSO0gATKRoCk|tTOm2rO`TE1h^00)C5U_KSl(d`x zfnhM5bTAcznZq^qTKp9alIn1bv+j})qB8`A95^#o*(g}`Lg0wNP_(7NjOil{ht-In zi^c7ov_yQ;@Bq*YhG%ocl-oQIK&Y<~!Gxl7EI-xR{!nYF8#omymwR_Ojt@sTA~DjY z?AkWUiWhV!8KtrK2@6NT9Yx&>82tT8&|xts0zCrw$t8m!1<)B`!1;M3s;5?~`q1<> z&=mrba?~MJZ!+|l1-G4i+*2GOoF15-0R^)rYt&klF3tlj*4sdRtp(J%Ar_6jDZ5P` zn<5}V#gucD;Qh;R#~22=?DAV?;M5^Y9Gv~P`!xct8ZTYnD*_DiQZzr0s$L65bPw{A zN*jyzJi<>x93PjnXE#>1xnU;llRIwV2{E)#XN`V)0QTfzVyo9*&YWD^rbzTA9s`&k zD5uUE?A-%Hi!yU{G%&R{!R#zy37Lw&4qgwF;^XeS?!G5jwLB|RWF^1+B+?A zFXRzuL&xA)g(G47JKSe`^vc>}$5>Y3E|6a6rL~SKI^&l%Sc#l3Tc+^J`$$a6&#F@~ zPK)@)?%Ral-R6G#+T3l{^t15cBX^IY%zqQq105{aHs(ARJOGBl4QaUo{*lV)BO>9( zv22J>FJ+HY8A@se_dH>vJl(kU?#cBL_oIDFv0DK#*^a*j&N&_9xbygj$9_fpMZ43z zGg{cKONenzFbZ4sS!l~u`jR>|V=8mKGEwud@rTLu60FDMELRTR}!bEe|HK3RMHazvRng5!s!!T z{3q8R>MU@}QVg(a(;${ZS2MjZwbi~-O!M$x(z1kkCIma#ZiDUfUapL3NDVQ-iudbW zG=F`$Q&{`_tZM*qajeT&`zY<1d)FQn4{=VQ<#W)MA2iHL&E{_%J_@-oTYwtmn>Lu=S@Gg~Xx7j8Pvc}g3 zbB|JQH8EU^@xlok(Rnb{3MLhU@C`Td(U`$d`C?pYbdzuaQEZ`owb+>TN&L*`3?iAYyk0o7JF@*r&PVGzE%L-N>a!PxyoTrqX>UY8 zU+M-$(FIXa?y4t^&E07aGQ+YvEzIlGoJrj;_oTofZH3C-Ugh4^4-)U0ilf;*28xQ; z+Kqx<*H-a4W7?~ZC^LxOfNh9cR=k0BmSv8| zVEkO!w5PU*z1CB!U`_6<^*BLWocAdy*uNlJ^P%#|+MjKD_aW-FlSndvO-pU?nORCX zG4`QE&yaS!=1%b-R9sfO-ik7}W6j6@ebd_hX`n)scI|`1 zk!*Ifc6U4ys!y*OQ0R3|8}Q~Q>I>4xW5u(cJ~BQFo%OW zckG{_8PV&p^|1K$dJcWDC+?^SI~QbqB4}c?4_5QY1M{hH;GbPZ8`JF`>C8)1H6ay) z4tYQ5bFjEv%x{oU^kx1NXoMo+PV{cXuFGD_)8B<2+v-sEmN-{H#q4Cnn5xY1<3}Ue zJzu~APwhU~_?Esx1VXen?A6Vdz9*0AdXsmUs+cf#S9Fw9&seP0KR{a2S&NkNBuJJfzC3xiRcyifNFc=pN_vsgj0YZe z?JpkTR?2II4{rYF7e=4{wCL8Z=L+OpfZfL+FCkj6;B)joYwm#u*dec+PkjRU!2F8; zbnG^{W+Jw%1>#5-O@lrK^^u>o_1{B`#6-G3a0|=}W@&9yP`1Ak^QpFQs>Rpl6O)Df~#xN#R}Is&%f?k)nIeeU#zmdy6Y>!Mp`~(a=s2~UjCvyyY?ATyJP=8 zcp$6I33a+fP`5+Wdq_tzd@jp1XCTpf5Qf5UQ6I6Mo~W4d|9ULjN$;``VkEKRnEM;~ zbbKBRET1JvpI&R{*a#4IXf3f2pN}PFdcMEc=v8|d3u;AYbsB|CxtrOPiOI`ZQyVhV zm-Bp$uQffgUFt4cvE9~Nw%EZg;3mPQDgF%lt&=~Q-*OA(vEvFmmt{YxM-QXlf76UE znIF(om}ekiCpm4Dl(KtZLy5=I`U%v<<>O?5AQhcdU?4ZX6xXNFL_J*@W#!j zKd!zNe#$j&(!5E}PHrEXG5=&LIJJ6f)Sp=-z|ABu-$FeHJ%oH0OGT&b#NYo7niV}s ze}izwy%onieo?Ay#&(-cDO-XCD7aNDTZJm}OFXY)iP5dz`RbTyA46w4M#&cS9s5wb zG3;31vju+J3ktquJqa9Z)rsC|fM#zhJ!k@c$psXgbl3{ve&Af4o=DV+6@LXlU{d`| zc2Qxa*{dka`R;y}W#><)aXibEfxM${Ma@)ozO%~8^y9ewn~|E0P)`-p@)F5*=a zEY8SYt_axtIevb7^7x3Ouk`SnLZu68^OicZjU#G3;#)y z@{OAoSIsQ^(D8B0_gk`@+mrB_;4f`PT5h5RkT5rpdf;>QcUL(sxno)B=I6kBEjU*; zEkYhWLdmFDZNDXeo-NURYfX^vXjoO9UPm(tcl9_e^j7Grnr=T^A9AldZCc^O&NP40 z*=}3Yh*spba}*5rDb_fBHb0Q|%~cbQU0(gdFqUPDhhkw0=^K-9KdpG1awLnUWSl*w zD&4Vtrd#oo`n*SlBLbWf8roy%{R^|k34#{RGzxrI_;s@TWm0Z`-grQ21H(l-|WBD#9wk5BS8E($4W`IR)SU7M{2d zTakrzR06FW4AA1I^?$n-Q^)$bm;J_9h%e$BrRSGK{1xq$!=ARcbDGD^lntK?&YxAK zDy>U?I(wBtAhK?!7vpCIF=3QGneW5@$|T0EXcfeYpP8P{XIbEj3NUzsss;);^qHI4!@iC!_!ax;pV)X*fkCaKRXAj zI%U>suT|h~yUn&GhqZ$06!Ri5hI4O#xXWavMd3qNS$!5wnJ3?~p%NYS5 zYRNSnY7!O}<)Gfbcd+5-fh7c!>kOHZjGG91NcBp~V*Y7yaNvT^0KCgAV%BZ8-`}(U zpGa@>|1puC0a61boDS}9!#R(i!M1WD1Q^m$_5B8KKxWT-j=cR21iLfmM+ zkOb1}p&uU>8I>Lr*)ip{Sfu{3zr#rz^*@Ee_m?68WI#QLyBzo;5c`?$;p$oXlM_v3 zq(TH_e4us;pnnyP_10a2&){o(ppjFDtkH0olXzS((19cAjvd^*__HcYFf zwl6-yuhITENjzHW1B|cdlIzkJm+U0B4AY0 zhPghFAs~%vMG{9K6Z}j@1f`JdUW29r*9aDlj6f^q#{LG7fD6!y^jf#$&wYjt!*3c0 zFQViWAUp|uknKLCE(bXVRILOtxLVVGq+SlL(J#tXNAete`i$(ryk}bGK1Qouve-PYo;QW*4MmH7`uUpW?d+%|id#D+}ptp7Ysd zO2fGiQ_{qL0XF8N-AM@1XVtGcjkcO#EK}zk?e^rcl2*aINFP~`uMLeDf6^mmFY5no zMv1eOVZ49yg2L@l6=vC*pmQZl9{&DOvz@tJD9^Yw=GjmB#kkrl6u=*!ybSKVxjm0y~^Z~A8G_{L^! z-w}+{>!w?VzI#G^LN&kBCqf38uTcLz$a?hUSShvDfG~npVmO5*6p#5u@#7@Xo^X1M zT0h#f1jW%uV{vZaPcYA=*`Fz~$qR3+7EfJpS#3k>id>q$v{oJ9_}alRA=(8E%Vc(& zZMq!L`Z4N_S=d>-%vRr3t~y8G{1tnO>yvhTs=15*M>NnBJAY9c9W_6N(FXU42E-!T zRrz0yBtV=bFBx67pf1|VCj|1%GpaKxTK52eP|5*Bpq*wjb& ziX!s2HC*vL>Y5V8e+&FV8_eE-*vZvRM86tJZJ-guo5k;$CaaQbI)*s6IEvtG+|;C% zhnr+q(I@J!@eeVvjU`sP_0c;NSCMI~#kglZK0gz?GWe=&R#~xyiQ=%gMO|p)5>U7F zr`s#1a^vhA0~ouMC)usjPf*ADI*ck!Pa8B#zlGjg^F~`5zsPfAJz=t1kb#y%&ko?dYc`@B%@53Hk`r2-Y`o5meR4j@LXcYMWmaiVy7pK7mAYTui3 z;6d~;rTDD%vdea(6vnlD+DP2W=XkycgSr=6fQ5hm=4E+92ENqqhkXOCR2_I9D1T?R zaUWR5&G=HdD4X9>f)ub55MOi#@tXD|yUJz~Zldrh&wBcqZWp}^3wro5Bl-`exYCQ^ zDlEL{`Z|(&ap^R1C4HPi9DArV?)Q4;Yms(S;Ug^9X=6Z+pKa%LhnN!en1^1nuQy%q z=>#3_8c(pDpV0EH{KMiTt$QVZB&&flqaAEZB6DxislvSGs)MTt+^avCDcL_^eyfFUeRi>AA7{# z8l}{7F}6_9jnLQTAn^n)GX7Puzqj~277q3Qg=fj zH>PZ9c-$sM=oi(SnBNB_4cxZyY)Sgv+?t=2w7>WmnveZ6uzN-J6`PJ16HA_qysX*L z1!N3SM~GD>56T3P23KP2{9lxX&*AbA^nFVuKJvA>(M$HZwz3{PJkrT-wR{P2VVQaO^6tn`4M%b< zvBK<4Qmc4Mc-i~4PTO<3%dFzI3iENN?-pF-tRL*hA(KU(f1nQHr(yUk0MJMMp}$36 z5$<12EYoKZmPBpy2)2iiSq&j7xcMKY+l{K4O`T>ze;;e`1GJ`)kySkH08AZo`k4qhiEr zzlbYj{8(louhN;>()>&kVY;K<$#6oVR41MsO?R00*t4)rIn(Q7ZiEKzT=*#r;7=(Qw_?eq}r`ZF3qR$ES(u_4s0dar+s~?lGnv-I*R8~On#0&PxW#Gue5HGJ-l2+g%Z4(VEaYhF_fLt`ijN_?&%5%| z<_FR19Cb&n>sHU&KKZfp`q?Rwnz6-ue^DH5zT0b_>$Bj21(U+jDt-ZgK{Py2X%l~9 zpOd5Hqkrq@7uGy9^XM)yBey2&tLtL!W#9Sw4ijUXHCxo>=%YA8WzGDMHU7)Z^b_!AmHRIXktno_bdGQXVs9IFN z`!!+lMXh=43SscUM(6IX)nN%=0>_)29pAcQMS`1!bY|=Z*E8B^fy92ZK8=4=Jkf93 z_f2sM1L;4!|C$}Dd>;7H#^Is4ey0CE8TZ6<-@c=^`vsPhr|z2m?fgVa&G;@9TfjQ6 z#Zl%fLWH(_1MqE5b?G17X4R_pIL9i-H>~}s~x=Wggxq5WOa{tnYPif z31^EL*cw+2Pm$fjfl!yLfAA?Q@B2QiLppd$&Hh#+xgMv%mf5iRqkj~<^VX|! zZr@5|zvfee@V{Em%WhcC9VJ}WdqFekt_l2Sac_(?<*Cn*5G@~v{Jw~K%nf=-y{sfQ#7~r z_vnVir)KI=iPGwg{9LmE#=P$(xEzqZ9}`xlojm=$P`3E(p~rP|N>g|9uew-W^YL{$ zH8W6H+H8X%#jiX^LpN?j|-EyyU+9b?W6QNIGjg>i+bdB8ebbnX#NbHCN z25l0S;#t~%NZ6}JCU&3HvL13}?p4bUH{k1IV$ij&=f9af{=#4V@uYX+&=I1UqwoSV z>)uM9@I6z(_BYLoQG zn3V2xE2T%%y9JrSk*j9XsGVH@d*A);rMeE?Tx$=Lr$$`RmN*j9W_%Y)OncoGL7Id5 zT-HjgMk?rOQVOf-G|bZ&kPg8l?{NMbbWAi;dS{og0usvJaZ01g5by9iC6W{L7-7t?~p1FxY490!F|2H~n~#a_~%mop`kO_py7v zyWVl%R^OiNnrBgd?`$#RHRE4*$WhoKm}LZrF+2n~0W54!4*~dYx6cEpzVWD$ur7Rb zcIS4ZPpmG4(u{m9CMoyiNs~@IkDi)^h3v17KCt@5cz3gT-qW56t@ESTTR#bM3RzE2 zwMd!T=r{4>_$RJM7i_USaWLE95MGW1QZWZZVw|&5C#5A7(!TLq^QwD_6_(pYg$wDk zFspJ4GsQ*mIXUh)a=^38L0pMU4`=@&g44Y6<;CR2QkSit^9$JHx`aE5iqbZI(6~PI z^1FBCi`UJy&lJ^~H2p*5D7BH+dWIt<;UC?RaV6mTbWnO%I7C{aJ( zZt=d|X8h6b=J7Rqt3#LiMmT4RT}|fg{_+0O>nC+jKOapBl<$ciOc(2+8lZcHcuECH zjJwUs>|YD?M9Dgck)Hc-p#U6BFVShC#ZtZX%$GD&AjY*ix8r!66Pcj?zjNO;Z$ZpY zMi^c?3>~MmItzqeZ}`?0f+?a*55eF%XG8+32wH8N-kB_;c|{TM)ck=I1-kG+%jCA{C}be005ktS)dS(aIxbMDt5QRmqa3n8WT2B zMgq5*Ef~`2RQDvu1^sW~S9y4`KEgmt@Qi8fN6-wbdIov z53&`S>TT`kd?&lxC9oe};1$V318W*NF%z}N=)cyLe5tWC*e zea2xHlZpNWjb#sO)A1U3I(Q1iEg2)9s%=JfH)5F%Y~v}0Loi?ok&wGi9Fht6dB7O` zT~d5^5GQAaTWCsso3LRZN~(o=v!UFmi)0N|-l;L=T_S#M)Nt&LdT&D+%2klsmgoZ> zAC4N9VxbpQX!RSRy%#ikhZ_!y9st6=)!^r2AF&$uH6(co`0~T7t44~UaXUyA6>lI! zP_=zl@Ye;gFe@NKIsCG~7zYeN^kJnl>PAEfbrp4z%Q6xDYMdM>T<4svJD4wb zYUTT!V{g-CwfH))zYF&IrlsOjGl{XkC;<;=c~tARV!siVMJ~T6N!L>%7UbT$;BtLN z!_pqp2>o}T==*h4+Xmv{3U*!h3PP(u2`c4B6G)wTGY1 z_IAnJ8*QZwXt=I9b3b-}mTKp!k(s9!Zp%Eec9|&m;Ww=`-gd^NsC{6u;QV+QA5w5R?dU|lB6NQppd_Obut!%m z_b;W5DH~b!o8z;kE9_$*wXdjrv^m+kx_+JgJYnL`6Ah`=)FMo0FGa+w@sZyNRfOB)&A^JBgOd>wR z8HEIJFe{ta;sp96FSqCwEyze#J^Cy)5x2?6=jHi%TYgF1TDR0GW@=Viw}XcJpP%U9 z^!n{68hZTIyCqlhtUl{Mgn5aY(L09ttn*6y7VaAcwuJhIbB;EG1(ZUpq9w=_qqba? zO9k=X_GI?Y&@Zz6ynHp z&0=%|(D2EvzLvPmRBWLQZRF!7eBuLN698M%RpRjumgIlrl7!i4;S0Ce?fBx= z>aep(J0Z#v?*ZbJ-CYh84h+&d!8;v&7+iMN|6F$BKly|`Ax)8H8*=sAShf7Zj-FE8 zf_)g%P5*#Jk6waJJtXx9PQ`0`bc)lVOl%W%Qd4K}Ucn>J&VIka)v}n?wLF0?ILd*qw`^~*kX0$@f6wpK`t-Jo;qG`pQX9((s6OPKC>`ujh1 zxRJuD!mJ_NKO*enb$?W8QrX~bfkhn1eg_Bgw&y~8eZF7A$tN|z6XIg#6c)bpTc*-g zwxx3J5)t4C{%M0P4(g@CHg&_g`P1ktw**L-BQcMeO_nW#<;)4pCNID&gA%w4l09$a z^;sV*yj97v7I`!`biA=x&3{%Uzz%D*MZ;p~zxqa896=!CDS%sXYnW*!OQ$Out*x3~u zJLkPVwdnSyW#6n;td!Zr-*nlx49R1tPhc`?xhp4*GdTb~3T0`Y(W8qM2~T{K|1i&| zCB$V#ue2~MF7l5FbqdMB?zIXl8q#N7uX8`YD|PRSgjc`+^f~_EiE1?h10{i#RGv>$ zO@c|ZK_x;x@Ro+S|A8eg9b6eB?juGgT$WI=)kf>S6qJT-R6_d&j%&jSuT3?3>OviD z&LdBcnWml0e(<9z;y{eAL-;Ev`_-vCD}sX-PyAeC=5T3UrkEJ~QPD&ikX|VbTO`0u zjP@$n=L*h4SmV<}%PId43)(OA5ppzzdQSc{VrK8k?(d!pc(jSrKk>FKSyvk$w2J;Q z`{bg18uWNyF}DQD&^Z5dmLH+z&H$mi_$WN#gmbn9e@ZR$^%m5=3oLabp8lfn9u}aF zt9vs#KO}RWhV@SC?A-cvB~DW&?b)+y+|x^AW}hB2a#q8bFFkr%8=BO|;^>0_UjM(? zd;7SS_y2!<6@^L&iE7RX@kXJjR9lX7#6h_@M?qwQ5_t=+*Yx>-~Mq`QCoN&+YgB@4wFLnR`litt%r%}AcJAn%oLL=ZpLG7)%C;ARFv zZDF%c4qbWfI2o@1V~yKQvj`J&RJZH)zLH^J+|Z1_EUI_z0Nt$7!DAumbPen|Td04F zCbo5$2N)5Zi7MG9FknLe6)|Q|ED05oe02e7w>gMsO4B7s3P7U3JV5HtwYhXhLS|{; z{TvW0#k~M37iohcvSBMI8~?X$WDmXGSqLoN)#NHaS9_=GIO%$0)6X}1v04mzDiw#P zG4_qUzYh=pj{d&Fj|SB5Mx(93n6x6F(?YSONML0&tu>7%$oF;#6QhmP?M8+a7}Q>d z-2%-!umGOGk5Q?imT9C+eE{^^#p{q33nR956m|HH87MpF2_^O#*M{)FBX$;a!iLMt% zO1FQc!ToTFFvMdRU(0!)zygt8;#OyH4}0%c!gs`+(GEqg;I|JN%N;AEPHt$Da!&n* zxTrYGDOuXt^7Mp15;~`1nU7XH?6X?6suQ4EU3v1E_05lGnbtMeqY%6Fp;Gg#plMX5-lx7IG%+N7PI2^)C8a<_-6{S7&**r=W8z;?zk@PdQI}AA4RVy7Y7OMjw4;UP31Jw z?mg%+%s3Tsw7=a!$N1C!=9jB2?v-Ubhp(QeUw|Gaoa=1JMGmsYR*^q9DE&t4GzNFW zF>ZHz5g#^)G>xrbTScpIYFX!F^padjZu zT7JG}I<^WTrh`i50v>IS!KFzwPJPU?Zd1bg_kB}4(VY63PP3I&7KIB3_jZMqKKV#rUKEuRa{NUuKRBa)edXP+h9BpZ z0xd8;3s3a;;<>eLxpe+k&u8Y9VSYYuw+v}{9kj9ZNB z!Hll94_%8~UgWRu$?(knxH;(xoR&`fH95itb$=+%Y2=<_Suqx1`wT@M{Lk`Ua#q#S zh~AiK*o@X1LKiC7iN?7;oF@#4Nly?>;VIK!W|GepycY$s8dfK2$7e>)?i_75E0sx) zAqkU@3@^U&u4@N5$EJg#r77ft*Y&~llZITnn{r39_|Of-T3&lj{X-7m{ha0YOns`f zJ6E;Rx|DfgZdyH8kxk`5=8@dn+J>zVDYsAzMJ0!7-af9Fc~V`v;c{EqSg4UW9i7L- zZj11VkUc)MN52Z}+q;S)@KB72!KrvSSwVRQ_U(BC7(RnVQHYLHWiJK(hj#KL_hc>w z;v!Gbv1}&Km%*hptHGK0E@L5(%hy80`gAndQ$F0i9Q_LU=a~NzeoH)c#G+DzT>oyP z-{*Fhu|}?f)nE~WzNVZbGIa;SIkSLCwW#o^dR1^Q1DarX$cK&`AmG?7GAlx{X+T3nwd&RC%{Q1y}$1QA5xI zh!eCTeb?aFlDUI)!!1NZL^n$LBkZ7)w*82SJt+GiL_lD86-@wPgC4iwh_ebuB%fk& z!WK}H_7ZX1$hZWs(6s+dhUn!OjiE!^!{Nhu#ZuaCq3VU=9Hvy+PSKvdZj zz0&lfS8i{jVtQ`X?BIq8Md3TY#U*>5E_I|Wo_6UUDOIsP`_(`9Pac+iv|l<~gIA{n zY3&U6pkFFT%QIZYS7BCoJJb}p=-1J$m7G&*){IZhPIvFs9aGxW3EN0>lv&qf4}Yjn znS4F&zO-hZz$NwV_`1^azs9}y+R+$kuz&WEDE>jef$>&kj~rlLB>A8wN>$zJ@>G02 zMrz}Dq=awyxYV_~taa|`Z;?x?0(v@{ZzM-*xrq_!Jy9~aq!R&N*jCAnJ-d@16l-qoXlm2hdOGqt18+yPQLK^}{DFK{+v0?Qi%v!?BHK4getC=v zkCp9)lL)7z&lNFHSQ6QH+_P6?j`Sj5+=6>Kz8Gc0tM;ei0mTSd+H2(iu2B2`3U&y> z2{n7I#Kdfed@evc8L^6Xr&g(k-32PS8moveAQv@!$F){Tn71583n1p|mqHGE0k#j6 zy%;fi42f1Fi~^mK$zePP=v`+P&K0l&Zz7w%lVuTrz>4f75_SO_4>5}hVc{HUt1(~- z?cPQ+6QVQT>On88I_196oUX8t@+2J{L`lme!X}s)z>OG<>6TEvW)x6m_$q&UJpD1W zvOzkSwiT``bX>Wk$&#^4k>9QHG~amMnAV>ERbT|x;TGQlj3z4yh6BuZD%rt!|DZ>l zpuu8W8KL^ge z!I&Z6yNE8qs%sbsi!vwjn3@g3Mr34dyjLT?dq{o0K}$ zcTC2QsqPmTKcArClynXdI08mMG$ZCdkapeTv%jvVKoCjs(q*j_O2P1wB!nWsONkOg zCA;jpc*5=ZWuz?}C>*eK#E zlJqY$HmJ7*iX?!NrUaJ?G5iK`R*`TEnEs7?ZW%4Ph06v6i#6_WEMbMVz|dhs$GM*2 zkHIF%pm$3HR3{<~50~=kTP$>&kh)TGdGKI>!Udlgq^R!^@oYNgfI;l3Gz&sm%EB#N zgGd(_XUcj<2V?Zh z(A6L8xGxmtf0T;OIGNtqp0d(O(EPrJNL^Hvz_lGHlTN>SRTrJsW7z&XX?w@+kSFW> z59=RS?8(N+F#9C%`NTu++Rq9SSMR`RSk&uhsXZnI0+C-cpEf1Tmq%>7-_S{Y6wpJ8?U0FXJEQlZk9)t8i!KZpBp1p;$aOJiDt2)09Ojm$ z*BmH64vRBnui z{)J%EGaJKZDf!s+0IgP8ewrRofb#0{mm5lu!<6Z0Kx5a;HV^2{M8g|Nvy?VGH^;;6 z7UwW;PL!t|ZAW>5Ecf>>_tA}CrS#s1nSWJ9L&VovDW(IL8$pZTgja6Rh!EY&e-8HOzV%8awmx2!^ITVUC zZ2aSr*1==Gn|q)X@O^Z&T2_+0TOS#df5hiZr0X>A-wK}hmoC`x0;nzkW)B6nXPD|WeMkQE!47b=Et=gyZm$UpOXA4WZfrj<1_3$A*qLZg;{`Q z@R3K1W90I#&BuHb*H;8(sy$OILyzpvq}Wi?>bHrJORYsx&=W|Zs5S=u4-cEh!Y5fP zz8v+iX?NB#l!4cKAI>jRTGT?Bfe@djKrYm8o^$sblS5yGvghZut5>}_So(td{wNmE zlX*K)s(Wj=+hF_l#^!jB3Pceosb^VnyR*4Zz7={l@+YD;_{1;z<+7P4M?%XRiY)4p zXUvz@+g|=NGV#ZRQsuFW_f92+?@O?<{ky%LQXjRdfn`Nuw9pPh$n7OJO-{|3eem70?qtKdwhuAq zyS$#9YfkPd3i{v@;PNi}FW01B4M>o# zmC4t=fLxAZqa0l*$84KxiHbm*Pit$td<|9HaN;<$<0bKFz#xPuxie96qo~xb&c+&L zzr=rhUo(q(xPE5~v{x7+c&kEc&KE^_DuNC^h@#!RTdKL(xuRpwn(6N=tU?lLz%g_0 zQR!}?1Pt==Rp@!}Eqi&`jBxD-`2RB=$p+1VUp10#)kACRomML>&X-W^sXh%SCw5aN z?y4S6>y4RAIlOuSCo<=xaMjy5c30<5u1mlD!M#2`V`WzJtGC1af2s^oBHb8dPWF&L zL1NvgdioVHgFon}Q`a^^5K=Vwdr#0zbh~!F;Rfc}%d|wVXz!!;x6sUb#*Z!dWUBkd zHnlbK^GDyrBM7@vu;?i?uEy&I{DdeAFn<<2xgB5 zA6-0}MYmPD;ggc|#~}mU!@EFVsx+(3Ut%c0VvDHTn`$N~CtvC1Or+)nR90RbT8RKY z$C^s+`_h{$zMg0s1smb*qvk8qADJInKX{?zBN!Y3pG1ln4mM+B9eCyZ_ECzE;odPY z!r&8~s^;%g$a>3)Zhh_=XlJF$J>EtyrPPV0iCaASztt#bq@R(nb_+_s5I2=ov~|?u z&L0!3&H2B7RO>fe25$=viT0}WL$({1`FiSq1yMsjCOUKZ6J$bWLDZr>xQBc}-9P_h zmGdL&jh=F*+Hsv=)bq$bCTHi7G(0V&}}66}9@_tq|6 z?~aWj-BS448h~zc zcCkx6CnGV;zVxG-e0F)1CuwfE!tI>qbA05=4e@%kL|Qt%EK9p_aY7Sw+FiIAr&eF9DxB77J$%WJV8EMU?YGCx*Zdns3-?)3%xD< zC-jDxGLgPoVRwe)5tYlypvQ>0Q~U8LiuAK3uhbX!FIu@2X{ec7EhyPDyKdgqgNiNe>s3XW?*@ zUCvZF_Yf@^tz780>_ui!Sq)^fs)Rd{P7cr_cn2Mj|1MlP6!&{&iNNEc^QMxD)|E?t z8tD4xpROa<3oqVsNhtghzqB;s@6Q_YYa&FnBwU!WcM-yoVHfyAi}48oP@cR5F5DsX zNH_lz4+;<}gdIKP)B7_0QBVEP(z4a;j0Br>hV6wjf*K;WLGkUcsQc6_A&T_$KTA1( zU>kZmj_uy1&|WBG%zED9=CPR^RQ zkanm(ejE}S+JDt)SvBgcq>0yL=)=2a#Ru8mj0jc~ja~j{Rn^&zj&9q^UOc_f8DQOb zdo1?v;f(j%2%m@e2Lv*d=mL4F=0Oo@9-~3@l=a6|FL^0(BDRER>FZpCp5C}kxvo8? zo_uCUK$FwT)}AlRcc<9auWq~dKzp5DlDtL2fZm0l}25wDoM+hR5%Z7OiX7;1!p?rc6aYgNS1(*=aS#9o~rSV>;1)QpTL6PwYk} z-~#Rhu)1eb`AxLpoF3*RYWPnA`fhgUz-r++`Y*+Mc1mZvX74*ThoAi5aPZZ(laC8G z`o3?v`*%M7y;P*b8j2DiPmkvTL=2ceeGWBZTnGw%y3tUxK>G_V48iSmu1Am!W}3Is1T6lbIN+f{9sBt zMle#TKpRVdF{c2T-qR9=fgDu-9j00M%0mM+DIe>>!4YZ-n{_x#bDx2H1V&8W*r>$! zUveMaeHDS)3Da+u(|NH8WxOuURf z*eJsK>%W9MKxl3tlaLT7mlD9&Put6&5eQZ#Y_ID&pJce4WC{(!3@}=X4iFCUlxkyA z#t4GcQ|}kxAcntTaU2&;<{Bdew(t(tKd1ix*svcjVVz<&UB?On0H8VM=YIBOkXyhH zAUCJ(2v-@?R;pg3GhRk`#T$cPUo<%erv-y<9J~@o-27hwA`4N{1t4U=m}1O&kyS=` zUCaUwfbh+xtUo7-gqY`;Wj6E@1A0&q&0|B_(rX@m(SUIL6{1z7K;CQ#R@ z15^}9S`PWs)0~aFt!jfoQ-phs>kB_$gpu4u&1v65EI5|{ml2BhFu0iAmdp4Y2HOE7P~%HrTq-LFFUZHRYBOi-0#w@plps!sP#M?Qc;^+c$OvWmiq%^d8)FN7 zz{&zA7%=FJkUP$p-sp9+LY9zvBQUV6$--(=p#Z`%`z4@xKm+x~7a&GDBceovX$!YN z2nGp(b~UJ@p|!YOJ(b-F(->K3nWVwFKdd0T{R*33BWJw|)e((}OIDi^xQ<)o2X9hq zwZ5}03^aObK5(F6+@O#(FfjJm`AY7X@gf{PIkVb$IHY67lL;5oi7PaUCfHtMp`Rt> zk>Nl+UjZ8^>3|fZKcsUY&@L>9mbU^Q24B*axqLTBm@4iY<5la2rI9IYWHG=IV-F7m z=+))^gZ8t?5|tG4x@~o=5%PBi1A`ITETwBr9>S_u!kbzxFdG>~riK@lnv588%m_aO zPWm3$Gx)&+29nclFCCloe-8p)W^^_|fWU29QcvOP2u`=LTxX2ODU->g_@ zBjZX&)K<(9$dmS4BOKI(#fMe)Gk&=iR@p#rcqR3RY;iqu>4mYvvIvkQIWi55K@N1l zDUpx$=UECfcz&4Lk`e@UkC`B(VFR;27|&7L?E?t-^6eLY62Y?~T~m;H_L$7SCd51- z4)}@+mP&*=?2lJiH4H?juR(r@>j!8Y90@UkPvRxU*9ba3DI$p)>4>RO>Hozh?RPVvbb-;H zs^o4VUxz2cL2HbGZ@~>-1`+_`SH`K6i(sqZ;y^@StY|cQd|)puDF3brgjvmvrJ1Bw zxXYSO_&1tlWMi`dQmHLO1sUw3mhT^1yvq1#1&JjFXvzXuH4YxWeGVhN+_Az+!lg82 zp8COs9Txj8C??D=39E3}YB;*g={it*8v=p^zUtcs1Y}+9CfpfDHP56&`im~pIIIyn zKQFNijpsWcfhD2jZkXt$2(RJfk(6p1GhuN`TnkTz4KLR#@Ik(X}oa2b)qGA!MrZwt@m9%dj*q zuzaZHxZ`H1ZZ!&hj>^uLK|Gs6OWvD8DjEL=U!dd*?1_N(v<_}INTr?bpjf3HpY#l3 zh#MU9GmtskcfuQXxHAq_iF{|nOySDv03k4-&(Fl^%W93z;Qe~+!X`13uhKDvBa+jD za10E~Pr%lR1WKH8#xd0dFYIU?vA#H-AD#|C`jfOh^TWnQ<+$^QR9i6m#taKV(OKcd z@5Ypx@B&BDL5Tvq-M0nEfBeBLA$6TiwJ};4)pjOEl`HY{>DB}B))o_gi!o@kc$aF2 z0b08lctQvVR6^jnkbF;U71jOa{Voxq7&V44b4VMGq9*YMeU$6@zD zCN~hEJEJZ2Uu%T`dIHi-YMIP`qRdEj39L0>LV;Sb0kl>FgRmfoGbRIWRO3)UlNu>$ zK|?@c9!P&c2R3*C7~vQ|MNfs_Zuy?^^7C6r5M$r@PM|nYGvLOcjqyYD=A#Ith$j zfdY>wa3!*L2vG%TQy0**YEY$(pf3&4-?>nMq|hN*-(rg7gMDH&3da+sL&J)f0pW>? zQ+x<6-={U#46q$b2u6QZ*ljA&orK{)2L~Z2%xGDtQz>IGZl+L|x&Zzo1!7d91Q>1LId6a@C0Qk`Ndb%O-1ikD z!p{Cmeq%;XAA=17S}|9I)dMTX3fX5!I?wv&5;zd$w+f6F9q?`bQX2-gEk6(?!C3z! zY%#$ZtaMcYq`}Eyap2Uj?h@>MHSk^b*!K*!?D#Y|9a@8zSkwi_4ZJAug9!@>u*y9= z84fhn(oZI2)5IIuXhkX~6ab z%MVK++cGYCy|ZJiA!uyKf1+v@QaAYp-ZO&TtxnKZgH(WUXv#V+6w^f9|8M0Xp>4Pl?A*R z$JfC6Foyg9<@1(@v6!m`e8#X_tiZH#m6#-A zwro{dBAYzTV6Aj72G+&tT4v%k3O<|MhcHQh*6f2P??IqWaczfR9GXI=2s1o}O|R%u zXfz$7tB(9m%+(_kjgZeRHV=UQ9TlIwDK6J&*%YnyWw4m2-ifB$GW+ZrST9-vEO+lh zOXE5eM2v~Kl(;OBWcv7Or1-ytf@pk~17Pq*bST&=yy~<_G2X%#e%2u@#XkfKZ>=Ah z2m7coy0o%bcNp)c5hMt&@p%kO7Htp9&a8*~GI$&bhDocSDd{zj6WDsXF2Cj`-%KR) zPXrfN7Q4ca%MXQIG9C|}ooOA5m-Pt@aa!_(CH7je?utMp>W@0ZEj}%|&l`h~hEQ#Y zvXH<@{n)?{gX8pE0!Z^7F9BnW{~dJIk69LMlw(GZk#-8d-iITBHEM9}HIHw+fU;2O zQ0F1m8>5?^8qMdzHSSQ!0y<44BicT=!HsT!zm9O&Ub;kWqlpSjBMSt8&PjW(GI2M6 z3;twOdc_F(#(55-81y<_GX2IKR~r}feuSW42t)bhV)bLQaS|`T=1=ommk>kPP55etDNNN6X^&Io!cKAd zSffb{MaJ!)!@U|nme^~tMX+U@x#gJ28tA|>LZ_}sHF=l93<9T-Y}gCeOxL*yCkuR8 z0{C9mAS~4GvxrWtfXrR81My=$xTcN#ppjUapcLRtIqbOFQC$m^_5l#fCT5IE=q<&` zH;F=w@EEWX%WUBGIpx2!G*5Ys-%*c_>SphYkrlicSPo4Y8Us0G4SWt~FV!u z0HWdg>f(9cM)z3P>duqG6=FV-aPFGiKR|@WGd4wq|CkCBMncSyd>_rI*AO1-zgwu2 z>&)d}v-x99Dcng2S@sHwI|*CjKhO8OOC4}Z_2FN+~#GGPp$%RXVn>=5QUsj+W6{}F?FC@H{3Fa}Q*To6P zl<$5a5StyWx+9#qGUlc@e~VC6heCHEMVBpfxd0TW(w2BBD_Zo*$tHxbEr^tt#^Y?y zi?AQrDyzF7Kb{CU39Y{6f3i~Z6Vb^sDJiq${7vH`Fu|_J@MG&tMHh_%L zX?Q^=mQm}l^`;C;k0FIedLak-0|IG0tQ%Ze`KP_&V(?uF{7|iIOf75CW!?1V&oyy| z&v@Q4;S2E#Z1omGV6q0|F{%-+r!%Pgc@EvO^wCIhG*t-C}Y@cyEJK=LHEzCCz%v& zwSi#E+{b&s)4cODq`n#;L}W>rl(<%djf4rN1D2wT;8*}GZba&MKhibwn^;l)WLiWE z#Nb7uatEj94q|f7K7aF|2L>wUqe})}`3OurSKQ&pHS8=HZxyGDgGwzg$0S{gSrDvw zR%hC!B+bx;Ehb==k#ojIyT7GQPn4%gg(FfyXEH67(5K1*HPdsMDi(>Jo8(uiL{8Tv zd0MrmJE6c##0@*{&ce$>8P{GDEFh9Ixu)7(Ez3%V6;663e$a1Jgo{#cMi4fv6X-XpJ1RBQpTuNXvfnXr( zFsrQ328(ZzCMV*A_wmpJjIigD{1yJDi4Lk(t+$s(JR*BXg|p7tblLBPJy?xA@96|& z$#M5nc`)%}zvXWUj&b~$dg<%Yfq>BbWk9CMUL&{%w3^CCo7 zbOaZtdggYfEH7DalHE$+JMx`sBoA~%KJizAJE~Xn!)(fhYCd5SEoB*UP0aOmQ1fp= z(HWN;?d5mey9sf9nQFz_u2Z6k>d^ss)mYOSURg4td*VN7mP9RKtKS`8tzXg|3)g3`LL_aqyzf716OI+ZXLW__J9kj5-s%#-s$Yukv&R!E2Fgj#HN55Bf zVhiQmiDO8*X4F9^sWHmdnr=H64oEiczO<|t(xKD|H?EHILZgSNJl|xXyj2ri0#gw7 z*xR{8@C^w3O|eXf+m2uM-C2Tr2fCOg0k_8A6g&m@cMO&!cdxzC<&vRkr`DTZvoNYp zc>PF$8Q4UA-ZI&GoAnA}9Y2#h!zr?67W4;ZE1e?UwdXL4Zp0RSxqj6{_oRnCLvC9l z755v)QujJ9ueBfy>Q`{GNYk;cXoLrN4bw=oQGJi5;c{u!ajK}U>qo_%51}sC!lq}2 z2_8A#+d94S_V2DWzg-8ME0bCnp-euu9XPu|v&Rmt9|sl9pr*Ko34Yvn2%jkN02?3j zO|a0yB7(idIRlJ$_@Rj48U&^%oEu(?jsQjsu}9Xy1;BQ&$lrn`FNA6NL;71N;s&OW zLkOF2*ejwGMb6F|Ki7r>&+{`na3nP$;+_|D^A!BM8qlgs=u&XcRBaWfAe$7NG+%EH zmD{+w^P6CuLUh(6Wi6N!$+sM?+(>Z`_)t`=nWH~twe6q%rR7(*I>apaa;{;n`$|ho z!vcKt*N;nz)o+6~RlX2t96h&`<-P+8p8M?jkbFr@k?XX@nY){JpX)pQt(_{)omfb{ z`*Zw3!VIHl7Lf;V`5wT33TvYhDlJSeecw?(kg#9)Efy|hMxJ#3K#IG#)|8U1Z573|=*Yv$mgLiluU_cp>kpo`^kHQ0T) zg5XyN(sUn8l9SZ@j(>ipKF$^`h1qesWmkaIJ8l{w!o|d1M>@y11HuV z3}Tgm)?$)>!VBJFqXKUYs`GqxCoxi9icNuO1boq{x^h(W-FwVyff`@L5N|RkAF=UI zW`z)r9zCg*$@yjl-T723<^C+gmsqe`@6ikvBlD(2%XBHrS%GY|S;r-_M8Q}bi+)l< zJjFY1cG3q~!i?i{h?41qXuJln3mm~suqKRulI25Vwn%1S{Bq~HCNcG6hLq67AbZ){zs@yGd!r7`?4baCGpd{ zH=krR#19GmM{l);D;jW{=QXA8@gI*k5i2e`@5;guPyWdj$3*H zVz;^D{jtu6^B8<>z4pT)kO7@-PGN65ie^11p1M*B4ph( zKUZ0BdYHm9t?|yb>#qCK>!F64?%8+UmwmZs>-BfPcZR+Zq0q)*k;G_S&1QA8I>NP^ z4cCw;c^a)RyPaBC-%f^Co61IMd)_rCquh)Cd+Kkz(z>U8ErXsYts5JgiWjso z<>nl~g%;cSm!BTp^L|P3mW?q<52a=0Q)3RO=02}FyJ$N-`ssrH&woB$Q8E0_vc3N~ zPcEXMs~6)F)AZoe*R75xekvZ-dZJ*GPol|syNZ;!u-A&Ecv=G}@<5(*nmFz==8#iA z@mVj6iN!cwFQNrAq zSP@I62Fu&(62Vi|7oN?3q7fIs^}aIn3DLcn2Ukq%n@WiG)u%9?PWDeXBupU_(h))sW5a(lxlV+O21B`<8EO2fC7?(kf_QXwQcqBmZW<}(Mk zzg=v|UAk|{u;;Og@|)8MH=Zt<_gTfmX2xifP(M8=*1FByBQ~F9-4H);x@5O#=QP9_SDawvKhJ|CT^`{~1sUM$Ih2(9qkOg2lAn9k)oq(n}M=22c*^<{A-D(~J@>#mz#e2&*BeskSI zg0-+fCmxGX>1b*~D63W6l0|jFaNibyy-J*LdB7y0?XIg|=qM4;QoG_oezl<|B=?;#PU65Vo0^PhM{Div@A zA}`*3P~oBZD8ANLr!(QRYhwK;Rw`u|5_vLR`02O|!k$hju95a5>{y<8s&yw&nPLXU z^?rmf&U)BKWne($v*$9w9H(D6;jJZA#e==LBBjy>yx@5(Nj~oq!J5a4;RuOuB7~2J z3DKl4?id#$VM2&I#%f0)^lQa%VQ*4cZ3!y#qnQ~^l(qh6he>H`^!25w(@%9avm{c z+?*%E5i@UR&KPDiuoKyV?y`3v@Y!242xbZWr04i949~A7*tuxD)Xw=6K_fFgtTxw! z)u1+0V)v&+zY=3f;;iSS>Y6+Uf-6lU&Pt8zuqR8@1?I!#J_bGF@hCsAl~7p`|Jvw= z<0&*{{vRfByujo{5CNn80dreS59ny|a`ouDUuU8J&F3gFdMsVIa!lhC>BPq^ZliY=Ku_;z06&c%6i8nmRi@ z?X|Cl?`@`pytnMcLi>d-Mh`Ns-+~hu)Y9?;+Y9)n2YeV+S$|rEG6RvEd*0Hlyjb46 zEpuNF@z%(BoRQbHO$_)@;d6<>YChF^DW#@_a9u3zxNq1nNXoB&K$vIWy&1f(i{FuS5CgzeSx+<4!128l9a>Ns>?7J&pTfH~`@Mz`P8(Yy^;-q%(nfx8l7&^S& zFnPic=R(}xIB`bEw^;1~V5ci$B-oUgUlewO&y@ArEnF}wPBYqaM^Be1bJoH+>5}II3gG>$+t%pml=vUHzQv#MKwpPD{PF0Xj ziCNRp+|hv5b`6W4CH2Idn;mqHZh60dho_F0>AUi9mt9qmwdm9C&Veo)MN0>zt^0C> z%BXKz8J`%-3|EovzsY94&f!I&9oS041I)^r5q4ft= ziY8;f&Nhu|FXRCbJkYr*_1bLI7R;=lUz2r|o zt1uJ`96iKPpoHM2GiEC}=je-imb&#Ep>KZj487aCk!#(4glxfB+&;gAC$Ol7WJ#;j={WA?uHyvvs+;+CMV#;^Tu&$WI)4nF)ZA(Q-=RZr=NA}t#r z&l>WW6LT*AKML+yyPisPW=GGT?SJalQggb?o2F8`mN+eak~MZztQbqBo@{xiW8Ika z>DOS{{`{M+$aJD&eGs~!_%C?=W0*oZJw_RP&La`^)-Q%~L7VR=IHu-KLN|s~3Dia8?N`=4p7|x``l3Co zDoRN@<^bAw9EkbTVc5?~i@{9z3F?wgCt|MXbwCrET?9pQRmYTbfhyE!FBZF)Jpc?vbihK698tG=R0sFkWF}lB>$mTCT2U>Sr#zV%d$2fcv1jF+sH4pF z3T8bQou7j_TI*NQ_kP4@(gAyR@F2`?0=k*K>aJf``jJ~5GA-?DsdY1T<1S^)IbRoe zfmIaCv1Tgu$__zCz3v;k2tCB-p@Z8ylZ0V@{DK&_kcL#@`J8`C~zANoL1Q zi-wBj)H{*UKW5-fbDDQqHd^)O3)Ry)@ykf}Em7GhW^0E}IHHfk4l0p9xcj-|86Q|> zK|^L>9m;y$``c%5Pcdeqo`4e?R7iJLc-E7xP|JG!2e6ZTc+05dhA=NBxt>3b{#)B1 ze2(*W3YTEV4*rck3(0-g@p5MQi7P4bbDs9oH^Oz0qoQtL1Dd`Ox10k@WRL2_qR+tP z;rx;^6NlC4y>~`Y$ZIE`!52zNW>sw@H_Y?w;v;izM!alWeXLP)@owYC%ZIfLrw{Wl zw|$Ge+BNI$Lne*(5dpmu|pLDOvcxs`5d40CQJ^aDBJqc6D@9($t6>1|;)ACA)Py5Fvn1Fr1* zh&FlEh6kG-wRax7+k%Sl2~0Rm<%VqEjd~J222K?OD(f~r^2ii@j;WmuhldH&K&W4@ z7q_I!8Ehf$$H#g-kd)&HoWwq_DvR1m^y)R|D zr42d3PvmdGDT!e;heVtc^)S<+JL(FGx=Zzsvc5%n<>qu4(y!fvps&6MYgKb?HuSIvA{%C4tO1){QjB`8HntR>CK zB2KD%7}kC`WZm_<8}Crlw<;&F)~%{29HyYF+@R~^CLk^mQRkSU!XD8D@Ochbq+dWH zIqmK}Y4n3i;;AZ|BC4Q=eYR>12v^f5q#qQc8CAdE4dvhVOk1Edf6!Yr|E;Fz?2W(A zYo_f@iavDEx0%A$m=~ngksQHmM>-;2g>)PS0?*GPssInL(zqw;D?JDm~Bkp=rGjeYiv_yZ6^f z&zjlH9&66I?$WXk^ziWRKXZ}HioAe8#h1G+PqW&o@hN_<6S%K_)b0M3G>SR6!6u(Z z9girTwZpJt@o)jhNzko{%B_V8=II>mn=4I>DF7#&nlqa3fF_Bb`)=}G1&NV6$|;pk z1q+xjW7qtbV0m=Y(Y+f4TQfwn_fI@3A2A=@LAn8>PeS$+Peajs05;{B_6nNR3lGPZ zJW-A|+MEY?7S_v)&f=K!xC3>2qth}p_DC=J48&dHAG%G8Z0~xozoK;om2_;ss$upo zH;YT}1Fu5r6_p~-`6K|iD*);}y$ z#9ZV?0%A5Q`9(oFU*kT|Zj~KH!%Jg&*D81*v8!V49dU0D-Mp{&CbGRn9h`juh~sCl z&rZJXko9)BF}^II-O1N*4Q^H*Q4wb`=&dAcFBr0FY$CbOJcoJ|thZ@91ViyQmelYt zR_~Vg_mt+W?w|}6byxh5Wp6MTisxU?fSOZQW_ei~$>oFF(#eIf$M*V?dztB@nLBkh z>q^94&wZ@O(!&=<|` zI@P<;vSWRMA1V0x`FU60M;AG~Np1St=vj7pH_I7L=Wj^F+u+_{Y^F+k-Ef^jpgR8~ z(1^}aN)KI8JnTt7RpoteCpE7AWG?>#v3|Bw=DuU$ciZdl^@n%_>oWLAob{a@Aqm$i zxHq?f$BkBM`Kx?tcVmHcbaB@*PkQ|>X zH#~Fy5+w}tXr&+P^)qX-r8}aD575i?zrP2IOJqhpq5oaDw8}fd?YyhoO2^fbhS6t_ zsx5AZ9U>0GnHir1n+ZnONygkdy*1uNd2CTH`hz^JW=Y6EyImdg{LIPl6l;VyhW8zZ$M!K}l{GeW%(r$j^i=MR)hUJ^b<`0MVo|Je3D8DYUm9?)=fx zK4Ffr;deassaMfHK{S1HPf<#V{@{nc(%^?*CbdP38V%dON?_pI;OVQXBJ@6ZrwD=< zpyAH~z(#pmJk!Yt;lMp)17dnIPNW8J0J=z*ovpr0IY)q6tSUM!Ak9B#6B=+!8glGx z_9Ge1B_rUhhDF>RCZ$csf5`c%;@Mw`1z)amPhrcEx^QkcJIo$l_yBJ~tQp?aa4ogW zkUQi%Q4zEr-JI0@Flf$B>ag{W(e=vmtg4N~bK8RjRThd7uN|A+8dpbWm2K;P+8mv` z`tPm{$NB;s=kN238}Z8S7)$Z?t27ZfGVWgXa(XU#%nyxV#qnD8aT(-$%N*D9w+pk5 zQ~kUpD(n>@IwgHX+npRCgFMs~(X3IJZ%{*oqA8N_ZuyXa746?dlgz^*&dTKFr<_>M zW8n2>Ui|6cvT*DzMBo#0P^b(dhjmJX`Slzp2{UAzy+dEbm~z-l!i5@uMSgzNK1Irt zD;->k+&>iu3gD&{vH9GsS)0vlUD8n8n@_rK@K-}DIMB~RrJ2=dI355AOdxXsu6HV? z3$KBU6haJh=hH9fXrnUW{ki;BlMXflCALmqp83NFWV(TIIN5MiOsY<1296b&3A3}F z^PD=9@px=`ct zSeHEc4#7p^tz!h-2X2*{3#T}!-lgDG-N}hsr|Wg*1ZH45IjpOSrjN_YOLg7AzvrVJ z5)xmfcz;W^y`Yi{xkqDPi6OVpM))I3)GU2H^l9=nnPzUf8RT{BWfxS#R2?fiHbC8E z_P~CCrhI2(!S=jZ25V?3?9UR(F^#jw*>npzlyk_SF`w`eXQCo zCfTTpU%bvsF8Z`L!oD}v);B>sS1;j$w+N+T5weavo$6D9xKkXJpA@aN>0`h%$$O|d20B00Bu!<*W zrxPHGP5H_vvNk314-;&}vZf??HdI_2Xqs{Mx>TQdxrQk2D1&NuDD7W==e2KKtu#*& z=nZiLL09THU#Oys^S8O(Z4alb2Wl$r+WEs(fm{=m;!%vPGR8CjmJ6jH@dSn+w|M#3 zw&#$+82c~b$D6g}cVrWY;v-Qk#i6Brwsg9o67xBh=*T%&ilkC(iq(f)70nK_kqerK zbDB%?=STHy+&vWc%ZjT1yqmrA=5G~q@8_)HsmaqpXQbx7yQmQ2mK*gpHs_8wUAii= z!-BiLi%OS0S;@IrwOb+Lfwse3*y}l$%7?^n<9>cz7R1$#o|z)=_)WXF-0vAa`K%%! zt7<-ompsE=4QE!!z;e)MQ>#1`o?zd_$l-(@_*gX~MiErYm~{EryykOwJ)6p_!?qXl+HbN+}|H21G$ci92o(T(Pwftssa%M8Mdh28|L0B|y{=B9f2fq=Xm~KxbKlo}?bmt2(0ncWBw^)ka0E8}=|5}flpl^E%BVUta(@RV?%F+Yo<6C;8ZaOhx1uzh83ZH~e_x)yG}at>3P99BxH)wtFl+ z%ji{2P*a5O9h%i2>AFWBV$*xRP4J_RT@BiCx%^SHbWfZZ9D$#-4gaccb^H5-In8d% z-hH$Ed}-nS)r&rh5^VnVH9wN9c!<~9N%F~x9p#=cwkRv2oGZ7F?@FYi5+i?oX#D4| z)iF-@*a^>bLO=VXSm~9p((}l!8_gR_l<$(|XGa{rc)jsGgGe#uCHZC*mIVj!MSRzv z0J$dLTfX%R8Xv?C4lK^Zs~Hx{sL4fDLWgf^jH{L!$@E<1mFqFh&$9*nS;drms?Y2z z!%lD7QW|uP+FM|CyOc5abiVuS=Xvnyf7?%d@qEF*ZkyK)nJc*@xyc^7&`KC$yQ`+S z^&hk4i%_Fl?zeeo!Mdn@djIjv0pFk&{>MvNUXDNb>J^p#{c}&RHOC*Tj=u71sM)Dp zSo0oDbCvCh+7>nKs)_Jb8`dcrzMYeMa&`MS=4^ZWrlUbersg$tEu}u$Roigwxhc)wl^>d8M{UjGxiIXokK?&i&#jy{x6ICXT7nXn0q;eqGZ38J1mBuH-hU=}BVByM`4n?m|#=Z&eF&gY&n~eGt-d zx_ebd@9gh9GMR4(lGMxDfr_39>~p>|`{~*kZL^1bB(=BY-o53;?|%n=KIP(&1(U{K{`fVy zKFCengcdaw-SfjyGLbNZH{1jcjLh(3?Zb!TRYdsD0gJ|sU@Ij3&;99e?~mx{u^V>m z`t_In)4GM9o|J1O^ytw4*-aK1!kNS28GN*MO|ID(6!}I<%|6SnBzmIA7uF^|^POan zE;q+dp(|ns#I}Tg664JdPQf}4Qbl*WGvmV3>6uqVjV0=|sHMIo;6M7~3j4@^GrjNy0Bkb5T{9ropY)4VG&x%U_K6^Bo$%5-*e zt^MNZ<*FKsYqZr(N)Maz?Gv*XicwwNwe;M6h0-*0_&%Xwh2NC41~>Vgq< zaX*jD7JLxZ3_d$)%Z(!`QgQbGus_{ z0`+U73Kh0HhoS?SuZ>XKk1xqV39wv5KW%5W!r$lwA)S>65~ zzZh-MQRPa*yTVN^Qw2Rlwa=xn7Qb!lGBod3)kNj4oe&>p8{CkmP;~6^hha(yDj$%r ziu%PUxl7(swVw{tkb5LUea9HRD!ONhKBj7>UUK)qnElR<;ak27S+Kol%G%(iTS~Gs zw{=||S8@x8#9z+H{UV zWuVH@WRH;}789W9Nz2D_)|t>A3%K`R&wX>?UGIS1$*Ck}E4y;~q~{Fcng{~=IorW` zfl)k2gRz~75dVAPt~cBR>xd8bYy|ZYni04j z4O)Ybf0N__1>z5Q!4)|u=~wsp$a9)PiOPQXzyB@ZTRVI|o~3(FdI8=gGKkb0;8$2k zp{YIa?xdl;T`s17ayI_gj;=Lu?#R~ym4UsIp0qE9CUao#+Ou0SUrm2WC>ta@UTD?g zt2uG#?6kCbih%#7#~$SR1q^PKXl0#rjPLNky$pW)YGPuK&1QB>EQ{}P<@W-9`Snx0 znTtkg(J6(>ZQ)qQTe0$GY_U$IlDrKF!>rbRNdlXzqb&M{8#!^)6yYiZ?ZaCZ+3>7K zmWS`G#Kx)`Tzn;O6@t~B^7;-92&lJF*Byx=j@E(r_A9_ z3G)o9-G#si3jTV0wyN^h=+Ya$m)F)sT+3PN$sLkZqOr`PU7<$$DkF1}~GwZG+*6rR<+uNN#yNL%}p^A;NrgPo=0>^41 z_2iL?%L#$hstYmvRX6IwFK_$hx#iB_Syikz71hE|eY&l38DhY|94fv#PMbC}z4h(n zjaPI>Uh00EvTLKL)qpHAE-6Yid%fomjJdh+j9Z^`y3F@ANq<`7n)g=bFN|x1NWWdKm89;}5xD%*#4|{dttkso;;dBf}TB&b|CM zkwLoBtBlfWe!A!j>ZNh~nmb0aiqB67s1r?$QLmRBpP=4Xx~j!bL=N9(+gr8o;NeAA z+oGetJ2K*%G32z*rhl>Uh!S(wg~Qkkz9Ay|y>rh3ZkI`<%?OPQTVHA8%a=Oe>uQ{B zq<#9j&oBs5EW%;5A7yMNQrBuz=^t|15QBT9`Fiat`QCrf(5>}eU9EK?+c!U-p`WWN zC_OY`i)AvfI~|cRt|u$LPMCuY`G>h#?#ten-15Bqi$T#`BkI=tr>DqholuoP)Pc;8P;9gMkMkw)Z*iQ&|kdzs|01g|E(Yr+@G znb!(r!v1YK&7%bY2JJpyB8Mq^pD?9mDw6Hlm;Y>CyLEAXn9t@bpR&qD`8ldhmR0OP zE^+yu65^HK(DoGcct2>f-A59Z7=Fo>^M=NJ+S9Dw>+8_8eTOP!^s3Ykp1=BjFBz0D z&_CCGU%4Ok#5lLgebm!UXWTr((`fGtts&cDl3KlEq-*|mFB#W;sn!c$NZdcz$%=uFCO2QmU+vGOu$CRcF=^sls%#;kHwtBg& zPxzkNt`YWI{d%j21L+LqGPSbLJNj^{=Mwd2BuWmm-&J`a@z^N>UTL>5o0wfkjQ~6#j@Aib1pp$5@>3 zUBRtPfw3b^WC|blysTuno8lJP^d_A8%%feN%f3Vs*pVLL0X(st9nPYE+{YCfJgTM&TXvk* zsO{Fgj`_T?@@{rt!;qVosbdvuwflEU#w?BxZ%Oo=_ls9rf}eDCh%VFi^OMH(`?4E1 zh6|?`a<=dxlZSoyIU$ciK6<*ZL#rH+ysY5u;3&vSh{83w1Zu6gNR9B$-dp~4y zo#z1Ww({{t0`=cKecW-aN4Kgz%kuo;xpSqLB+*m%Lrj3)o1p0tiJq|&nEkRQjaW<; zuG)i`vM@@xo4hqh69u3Jy)VpFOf?;gl{R^{ublAKS{^dwyKKjtq-^ ze{{gV)0MWKdp0Hd8m6JBCp;E#YZ1`b4c$ z4_>V&1{XH8^Y1ned*1%n+X5qbXeNq(@l_&z?YrA0hW7NWzs#Ka+4h}I(Hz7^&|4ur z;!Be9*qcUw;&IpA0q^s3!koVitKK&ois12nT4KufNt1B1_837j?qpmh*=r zl_U{%jT6@{71T8kfWj6da}O zkH0jD_r=SYe4{1vamKgZcvzLe{II!|N7 zVo48Mx>K>^oXDj$C=!EEmB8Z7v}h$eXidWiCvFPk6d0^5Ix4!O8u2w!axWa<5G&ng z+botxBY6Tn%V&}Fl?jBuTI98f%lg^pLe&qrt&x_KK;1jvUY87Lh?vKIJ>>WbfZ4FF zg!J%P*<*oDWdo`!-%@K2NBoT@TOv^z0Pj0vP_{sz17NpiR7(9Aeyk~+!Nv$tKlw4maaG#`Aj0e>vZ?d~7Rg(9a3 z_Tqy#%e^x3NoPW67}bp_VHQ(L>jSb$1yo;fd}#5-5B6V@xkdi3ZzyE^7619e&w??k zB~!VfSvD?dOc|jd-%^H{iRrytgWc=4SXzC0;<~$L<8)ZpI48-2Xrz(dndy>zaFOtS zHDzQm5lX3)_!n=(v9I}C8E|&%RYjWu%p0@S(q?L>`#EjVAKm0SCww5)4pGmoFJp}UOVYjw5mjg2h5i_NuMA9zP6VQ+o&8EI2Vch|aHthhsi0COnuJ?{!N3o9K^c;LN+(xI z^S4|_gkwM!uCKz)7T1FroRqfTCJhFJGDaEQ5}^*!-^|-lFu+@Ex*yTeV0Gt>z#lX- z3430%zmv;k&o*_Ag&Ij32=~{+)l9RpWK62&{M;EwE)mVqj*^e)k7acaQRIuVX(rM5 zkGboj0^?vqPXj57zl^ZSGv>_V!kFtAD`pn1FW;CUT4B~(T*aoR>2dwDNvXxQ-=zs$ z9}$X>tUID`Y*}+PhS9{2{p41?-fW?Nx4UF2k>0c?M!o;SKH4(k|!{QA5a$V7*MMa0+jT?3%iLAU)+`Sbf>8 z{Ze|FVb-21&s*g~GHT?`PH0>zAM|wB0^T0;_W17%k8d|!-32t#($@NKlAGJ7&&+$W z$||k0$<{Nch^D84`kLj(?h6rrZ}$@OZ!G)c>O&QrLZ_MYTH3uUN6*e4YpSpGK!tXX zWLW#b`!OL~P|2@;v})gpy$}cRiqKCbrX~y8yL&vS@2TNkQA|ENm-aA>JJa=! z--p^Jx78Y!9(s47WnB+5<=)zZ-HmQfXO7W*^7EZ%JIlU$+SL-c#-ljeZjb7)GEs3j zVO@)CSd6JU#KR~*I5WLtSWMCVkg;_Mt6C&OxBeb$J9(#t7`AnlPkGT_TZcC%G`wE9 zvh;RYN#+)l$C+>Lz6$Ka-ePzK<^9Nt6|$xaZ~@eL}(QGcG(KfMMo)?U#K5{ z<+qKqG+tGxhXzw8TFCbbY9Tu=VVN;)UqZY_Je1rNHqzbwDN*FRrX?@vM^$0?`#gt5 zPYagL!gSc#!Q+=+S58g1Hf3(irrzQ1jI&L$_D^~O*hjXmKUyR&HJaS}UP+A}su=)f z4zD8nu^urE%{%V=)jF}WVTI4cYu6}#aBbn>1q*%lo;YDu?)Wg_=B$$^RUz}vGMl6N2Lhs zEQ>x^riQMoi<)vRZ^4hxqo$la+y0I1UHqNf?~2bXa&oqyqO$5qR9R?c+%1VTCVtg3 zvs>iCJ88?GM&*rU_1``(sObs)xFJMWf8zM{kTvTY9$fp(`733hujl!TJ2##QP&{=b z{_CDx|CFAX;2a7U%8~g~`Sn-(e>z%YjIMSL`E+;v?0zL649V~CFz&r{q;hXY{Q6x} z_C&4u@rNS|o`iokx4hR1?hr-C+_~>Q)!4m%rr0H>quT#dqcojfu&X{*)*>CLkCW`9 zgYtzwfBJPv^S3##I+J~Qm(F#oYF5$8W&iGTYX4!xIQK#TndUQB*^lX&#^?(1USWYm zu1+N#%f~K~g5`EEpI1JeUSJ5V6pmTklGmr^UiPG8)s1}-1DiXXVvd5lMz~a2I#XJH z^K!_o8#!TJYyER}?Ce=M^>C3{4qPJ{J-ulS#6%k_)Ji;U=82ySZCz>+UoqtN`5gPU`zevj7jNaq-d5He4_4qB)kKt*=U7X*XE_yBe+cP<~ zng3GSC8e4T@fF=FZ*_2t_dWl)b=zqd=Hkx3r`F|eZ=Q0y!*@>TpRZ&0<`*vZ`?8UJ zdolUl?IU@4^*%+1rCc`5(%|3=-*cFc@u3Zb+_8%H+YF^cGk{UR*&01 zV9AhZxri{TtBFwvW`~x0P^xO#Fq&+s>3*KDQX_VcIkp=0I(qS+3-=Fi3mI#iwa+Wc zZQGh>?vpMa>XlKg}N}aeNN9Ly{dcyb4ElYtf!p++L}Hn z?vcEb$Bz-;8)>7zs+o4H$mo9dV%x})(0zH^4^=6)Z_8iPHnOWzmNjU_!}ArzoRjn} z-b=2gCd=p%{H_az*XrG@Kl?&mz^jt=Z5wc;P2^YyHQm)X;Q7Tv%|~a}`MOXyfsFTWn870g+f8F{oKvc->BA$uDB9_c7s$CBqWYHGGGSoUmZ&*{H9{_=YN zF5}%}+rJ-PYl;g>3yU-6rf)kN`|*~E8FPO6dFPLV2skqN@w4tL>f^gkFqe0f`o;Hr z!`7-@%ZWznTlIGZhCJEBPX zk5tnVjA3ge5$3yg%OYNgHd#X(IOG;Md~GeEVmTeb3iOYr3!f1Rm47jY8TXm(LW;T3 z&Za28Fdkef%nHwucXl&#$)li&C~9@-=tz;Tu*ltfR@#3Vg8_NI7Jko1evTx`mJdnX z*YPYWWP?jn#_w=>;es#k6WSVKxdQSAa;??T3cr1rMIjX3{b&fm#IU4RIl^I(?HC(7 z+pKReyRG8pjQ8#A1L}}B8KwLXjVt~hLFhRY9I_^-S(tEi*t-0G6b;-r>GT*-PKgo& zkgWARgOhLL$DBsMmFsHJH59$Wi}r>m`sM$(^9FOWWPJE#&-_YyKC%nuyysU3-DhiG zB~G&&er^~46uSoVB)tHd#iun;2(IKYn`y}^3lB3+`Gn#pKRf4q0+W(4Zi2N7uu*!m zLq-H$2G>>n=1f0kyRCnGPm}RkVuXCz@w-d1{o=%OE2bd(i07%1xRa(xewu4>TXm{` z%=mNv!9SxB$mR+_B`X)OmCs`niK@g%mHK+06ftlIfuUlqwyX3m zX>sGoG*(&1OC43k@)7n@5Llbc>e{0%!*tn;Xp)KLDHolEC9amTy~t(Po9-8mSA?AdIb=2x!cm>$~h8 zIkU1$_7b*micH^WABmFDo5|ugE}U2(6iFUQ=way^8&%a4lO6t8@V2=Fl>3QO+8!?(@UTQ)_ei)xeuW~+Ea5mAY zI$~S-=$m)ampNV&i!;;V<(q-l3vk3itSr<2xQGCn-6{i@ZO&?Mc7_lnj7(yaCw@&&lF_sKlL&b= zc%5#`MF<~TBDS?n+=8vg0Sp=Y2vYOgAhFQYD1kl-$-!BhaPCsebqs=Ix;zMBJ6^Mi z{1JpOZ-W%Jp0a>oJh3vL{Kyex*I0!HRPvNh+<;&cNN+lG{O5=EPB|A~%Gt#FA1}1~ zf9%c;n=?+vYuh4&C1_6i$(^SnPVoVFbLvq)h&8|X7!Cy!ZxV&oo)pZR#|CGV)1m}z zUGhK-2ueg??=ko4GQ%K-AQUp4wdY0{BjT%G+2H_!Ehxu^2v1!yNtUT={P#R{&cv7x%?<5&Q?q4wM=5g5wo99G_bYk1Hw#tHn}c6yOf!u#mn*U zL3l)c+EV-?^-7B$1DGtcW3J`NKpPJkdzG&7FlU+!0I!jS0E?yjN+0M={7Cya_8kYO z+`KXJ9GOiDf+d|{y;>nBkE4##K&9ZFJS8V4;Hns!H=;~0Do6C}cgoz!mU0lr;J12g zHxk*3Y7C*vT#YL841BTz2KfEB@wo|r=n?VrF!b(DWcokje5K!%GR-S*E7QA82jNJ3idP0@_v^Yn6FSLJhHngDLq8P7d z`zI%=p$~31g{lbYj-dQ4yc%2K|Ln#=mGKpHq)KCwS7fB>qwV7sK0E3yQ|A2H_eq5~|A@zFrT`a&G-b&_& zIn_X4?#BD$_*5BNIEGamci+cDB5hDoeq~_?y*cOxIk4?!00&F)R<1H>q-0&DrPT`= zugM?@lkv3u9gbkvhhlLAYrRaT3-{W z&-8}tw;vM>45O5T7#_byvK0@q6^E&fA6$@s*x;>~sEWp`W;niOAPR?HaW{&cqc`8*!dDo3AVC%_ZPuFD0HLyWIhi?L zD&tG$SaRlvT4rn2MOHR(Xzz>D4un8q>adAK@7DtB-qOu=IrwdHm#8w|P4)%6M5p5X zjJ*wAa;@t1c|#rNF!5w|W5IpcmLX8>RzSy*KMvA%YV=m4N~T|IGdlzJ zeFR=rrxu%%4QLpvQu*nUWLlZtYRZni z#K-xs4%YIu5~a$6J_B)JwoKum`e)-*8L}q#?IOGiJ$rSp<&xs?Hv9Qe5fptyAHARn-KRv;HO)tChYJw56GHg*B_7ws~b50aNZ6L&iw3S%vpt8xD z+-0m(K8l}at%!gc-UwIl2WP$+T^%ZCKfese1=di0jZ`%PuLq!Yzv*%dkw$Uc%t96L zEn$2wg!UpNhWP!@&fC_&j`G28EZ2ua3re2tY!R1Y_4DS*1w#10mbl*&x8On;D&)Sl zXhJN#6392i1G%P?Mv-3C5m@=o1)~34jmr}V&tXUlUSI!gd0eD2TUL`o!91)LV@sON zL)58$vcqp8)aHw<>(J8{+7ajAPk%)4uotJ|=oF$Q4u-rvuoBh;uO-Ya(&?)CBqWTd z-xzu1JrPXWWQq+wWF;xw-R3a|p@~-4=3gMP2Tq;nf|h8;xiuJb2nAr~PMaYtvOH&e zITMJo2yUlBXYP2!7bP>>*!iSHC~wGBiNE#aBMq-IS1M&z_WNKWU-JA;YFs=CRC1pc zc(4MEKur9gP{5klu_Z8g$sV#luuuM}Ni5WF+Hj(o5&`*>6h4(%y8DaD)zEGQ>#?6# zMY~f}CT0jBGy(0i1zHk3Uhrc6X}1{?Is9^E=@dk+UL#2Bkydxics@1e754-y7#~N z@M~tX>qW)*fw1nbi!OusgC^vcahU+*j`Ov_!4;ZRHe-iXQl~ala5a&e0w1UExnJZOX zI5E5z3TG>aDPHT%#xZ^}!Lmu%DyhC0m7jCsjW#%$&)Il;B|FAOJFl1nIDJB}!g7%V z-fplsLokNmrunN6*#l{CeP1BswKH3AL@IQY!5d(9kb+#%mL4-e@;isqHrD^Oe`(x` z-*B9$3%O^Z$E))~GqaP;d*!WcpjomRR1w7@RIGCKFE$ZcqRA0Jf3F7mF##i*3^p9nP`#G~#+S$ayuGC$Ggj0zQMa|;yH*;L0IdI{$ zzKBWzIHZvE5o7mo0J5X>dfy6VMvDmL1L6*=i2fh~|&YQOM| z$8F&lCO&ttb(+}2p}>Uw$d{9Hqum4Se=~Mwj>?xeG3fhfG z)8ZqKdEs1v%+T^PkovZM(MMZkgE6lidaT4-}gU{IPf2H2e=>x z^>h;w^F`YWJN(GjShj_|WA}610VtK6HN7Q3MwmDD*{-;cHcUilh=u+u)(A5%*MI6FdO+X35)v6c1% zvjZ#XO6+dm=ea0M+&%DdV0jiPpt1wFgae?B zxhPf%mHGovK1oSu;#@GGr1&!mEi(xh^fMC3c2aQh+;wrkfX!$f`BNyqh0FBl7tVCc z-hFBytSmy`i;$-#&XQLQA5U8@cRD#q1SUzi$+q%^!;G!=k~e-a=xo5JkZXyCX~1o= z0f_6FT^}f0?9mBW%)9uxM2Y{~J33W{OFxdIC4qOw9Rda>`rOlkkxYg#8vy~KL$IJV za1~_PP>^h}z(J!;oD4QUC)Z&i2`MzY9-!dix>ORq3?@pn6Q5}60+=XHZpg$SxWjc9 z?s~$ontD5v2_c|PIPBARF8F=+IZ3CVsG#4e)9x}YE$)ms{6+NxMKcS7mu2S}k#awh z#+r!7NiaLiHULi_Cb(9FKa;q3Fqt`X5U`a?9!ZvggT{V?LKcb7e@o;g4diQK`So>T zK>G$=#g3HVA^0l%^ttWn;Goc)E4{f;i2hYhH;sc*G<*%w@(WAYeNU^TwJ-q3k^35* z6l&##5Rak1rKiaC56+oDle7!i=xovTXTJPync`RMGdGL1brI)CtL#SixfhCO!)4S3 z$cH!R^FPhTjsU}i#nL@vP%x~;9Q-Vc^9F`Iv4I(EzX3rZses(92E1Z3 zcTPgVjx9XS76n2Pc)+HmZn2M4K-*+D$~c}95x?%Gs2=!NYfxB*&yZw`{pN57fB`QoA zR(07To<+bDNRscEH1sqSyW$F&9caJNn@LQ3Qd(te|vv^kG4J%yhkb|&72NzY^y2TE@K|`|I z(2lo4!Nq|l6t}$P+zv;Bc8Bx|A^it)M{$aj2+A}xGabgxroIYstgRi%Gj?+t!Eyl5k$i#4V($7675fw7t^nweic7O(; zp&i~4H^y&zfTLb%ghkK%1MtHL=2Y0OdHA6UaT5M7XTZ6G;@ljIe@?G}TYO}0F`GLo z+-Do5yE~e;t?L*-6;+8wmEGDE8XsTgu=>u^{0*VM1noMo?W=D#2X6j+(GQ%Xxx`Zvq_#d~GrO4w*xR8zcfk&*EbL@O zQ0#~i>=eGtH=H{$=L)v)MX<(CCfqSct16nYSBl@S|5^dv+-3$il)l$^>J41XlgtL= zpPo%*W&cEl=y$RbBCO}mK+D9Y#KWUf=BO7omhzKoKOkb`1QOR#Iv;Ux5RmqQQTQZL_hGwezj1@XDGn zXZ^^&)*Cv9;6`l54AR*6QV7VLoKdIoGp(^DJ?SYNDI|5ABywpf1(cXgb{K0ZcIdE0 z&*?B*I@$xuaf+|JJ6_;me2F3YsaH^D`qeQ@+K?Yba{(OsS%V?~2- zA5jg7W6$BkAP2)iT5L|)#c(a!;M00;8C(T@P2hH~gcaV#Zs1X*4bDj3xP(dwzQH}k z`Yx%}g(W3eod5B`sSylMg%dniI|v#IEN7s(3fABU+2rFyJFH6g-ld%trARhf=txYk z>nUWX0~C>9?-H2I4q65Q;oA%*qCzg^=Po<$)G?fp%FMlb2q`8lA|~MjEF{<-W!`h$ z7`*Sw5#j_txOBfqDT8`(NXf)MYl``X3Q45; zoCK7Xwr9Asu~7CKv&pOMCOn@VA^%OQg71x(Z6R(p&6Xmk99T_047M?j%hU?D|JnU> zg~%#z`V8Q(5jHai?~bFwv0K>-APN-L(3%_XfU52m#7X-ugay#&jus>V`U~Fbp&9(k z$YuCATi{G071K`sQgZU015wyI)uzw*mbv6o}M?Wz9q%E@utlDGfzSL@ovclKX6 zk#NMbXuwY+rtK2Hs~DTfTPnCoG!^mfJY}23)aTvp3d7^2zPgfMy5-~u`a45m$=Al0 z9((-1I!hjOACs~y+Vf_8Sjno4sb(}zjy<4Rdb{9oUUh--n||1xX4y5#Nf(;HtMQHR z#Cj9&RA_@vO>jGBDOo-ef>Rr8w2|3g5`xR{HROJ=%xrciN|;Re+g@(GC9_CzZb*=o zpEuGiWqc>0m1=c?yVZ3qAM`d+c_XR^nFxcd1J4adz=M3)-VG=@U}uC`_BQhf*K-lr zX#rctSIt9s>w?TPvH-&RBu>u*$KkB3QfkJtj8i$;crdk-EyNCjedNi;bttt+OM|=E zb7GEeZyl;S1_$2=n17)p7a-TIyfbVWC~+RJ!I5n2g?mN4ToMui5c%>ajk?WBq?AV5 z46lbv3q$65Y5%~Y#?hZxWRJaB!3fSOEH)31ehcSQXw?NK%_6z*#e#d>{a?o6@NN3G zgG3-zSplFwD_+DG3WRwhdH5Ov3sJp*ccE@`L9|+)=tF+{#Ym(QH8gz2(GE6RmVZ|u z49}%F4}^L@k#w)@RoKjy>$~t~vf5c>Hd%?8X;`nKc@T7T^mgga^b6+{=js2iBjZ2x zZZ~&eVIidLbuR--t0&wHg$qCTDLhC`b}4&~^Z_3UThwXJ`4LHpF*3OlCPQ48KBVG^ zl@A^x^M#6VeMEE=LkPq1#2UI1)P#=*;-R_Lt_%0Bhayx%mf~>|6Zg@OWwRl`xpI0Us%}=<_-qk%67QjZGtx?~O@$UpY`vZbtA(mJBBy0RI?mRE z#*?zoo()%1s!#$|-t71YjJ2Wk8`5(QZXiw>cMT5^sG*60`HHoJXa_UVDIl6U3difpbR zhEsO7OvaPuO6$@c@jVhOM*kkJafbyDKBD%|A})_~+B(TE0{OQ?2rh)G4Ia`WB{DJy z$9I8}Vq>q)78R_Xiat@6Dj=lV}f$l{&bYMnwp@jL1Ux2iXR%)f8CW!D@{TRwGCsn6}{oEw<{d zwiO$SEX8+9Ak9U1;#)|iXnrU%UJ}GDD>kn7=KLNWWL6s>D(mOy;VL5G7D$6EwY#{q zwA6~GEL9gmFByW#D;)+sgAcEx7js+M>68GX9Z;*3n^*scDu})VK}PO)Gi<$Dl}Xzv zTqE(vS{-;C;vC+|r1QMl--%3DE^xe#Lgd>1WUdnDeMEntzbBciXJ_lF2)Ml=YAuQv z-x4qv;4;BQVZu!ZVMnVu>+qE6``Q|cuVv#_Y#6M@Q9NhjRxmKtr?@3yO2IQgtJGV- zl4-ZJQJtnzs`P;=+!t}oot7?y7TvZ~@<9ij{-^2v3P-pX<7Uh5C$Taw{S79AtT-q9 zyD`%k*_DIIxY;o^mHPY`ezW9m_>hFj>*C*@@%xJWBq5mEdnu;m-z^jNo|?%RdH6?R2X-X*;fDuAsc!qY6`m5V>v`^kn>>d%pfIU|?P*J9`KwHy_5 z0C%hC6x$|iH+I~3pf6m=`|+Bhx4q-ntf-8u&fqf~A1AUBL*hBbpN60wiKtov==*+D zSNnfVV)hn7kwLNR=d?pk9aMgpF}Kija%Q3t0EyBL^^8H@uM!1ZYH)T=h%nmn#!E$H zDl;U^#>G$7B-YcnZ})q`_ClV!tf11w3&vmr%o{kw<`CL^!lvd}DW`!G3vn;&3$ijW zF8?0nW}=y1cOVC=L*%<#l#m$DM?{0%GL%-GW{50TuQC!$LhZO%Z8js8Hmj|@2Z%UyKtV^kk@ zreAF?enQV{5f7~op7+U%+x=HRu~qkkiylY@5j#3wZqj(Y|HJtElb;RZYU#jNt%kNI zcaOFC4>c}5cVlb0lkxEZx5I-&E6P8=@ibw<#xXt>u@jP&9eYX=-@f|zyhPKlXO-w7 zF_PTGuOHtcdtYs=Trk?XO1dZH^E-ydBG+%$%y=DA``M}z-homg>WkmXx>FO@=d9Od zPc*zXRrbw{^St)U7lw7gF56oQI1OBG(*6b4%0%&@S@P^A!6EeRc1x6v9#vW?QK%ZE z39K;lJi5`UIQ@D@OMqPR?K3l*0Ntiv-shlE4@SwBOi=}r5_`G{X+#HQWCN$YhwYV+ z@(lHoT6>$RgCZ?RW;Qch`MEka(Q5I(-3R5}6p4t^Q`vKW0^|kktV4!6kFPS{_pmC6 zG)ub;y}hE_Z0T>YW@eHz^5~*0xss47`Dj-`hm$>F)57&ZWy0aVSbD#r$O?i-tY3sq zzT1eG$`Nj(pm8V7U!BYa&JGRN$By?$B{_Rpd}1t@d98E*?`u27^=Jd0%gQyRtC z(^Gb~CNewwRWz9BxrbaQB_hthU!J3MQr>tz=Y%VmEm@0DO(u6f0`0upNoPKnC zqz+ck7rAPwe#7i8tw|#`=`A@V;_}3nP&`nAY=I5_eNd5ATdZ%VYOCM5vZC_W@n{<; zgP+*n1Kw|*dX8;58nirfb4^?fvo>i&s8}dhOGn)4;vq5Nahr)3lX7wA74ESF?b2sE(CRm&1(4*;oW)mZ4; zmPdT_MsjTomtW24qLC`4++Qc#yKqHb-_FPeJ(s8vs+Mb{NJi8l=53VsnrwmI_EV_J zU8Z#X8M%YvvP7iSt)E3z_i;dPl2iklz90+ok+~M@J}&qX>LgdWlX$j*63gn+%8X5TJ@Ra8%bWe9{gq2+KvqWW1F|wH!+dw&TT<{_XJ3RAY*Kon&2|F)M zg9KE4)|O;)J-No0GBz`2w!7lp7fj}+hvidrfw$V?ahu7mv9$7NikY zi3o?+SL>0AApRMjKWV6YEaOM=P4YNG8o-tj(uebUJI9tVfjEMY3u2Q6ibI^!%l>}F z@dKY83Y3GWYh=YzatD8)&V6dFXFg!UypmUycvY$Er>u&3zO!sq;B}xYI?B6D; zK_gb=40Mgi`DkCx=T|?2FJi)ov zU0D&m%6X)1spP&atuC^$EmP=Ny7-UBhLoV)YGb0_0e zJu9vw?aT)9gf_i&LW|Tc=314gpHY!EQ|3siDr}9p&C*X|R#uh#^6pRzZwQqVSbA3Q zykLFkqGzA(?pgZG+|W9)uCjAyGNP>Jk9JBFa*lQ5{AJy^ zM1|B;VfH06CflJ|A4Q!LglSY7q+dL*0cAcg%G=ByoxW&6w#;`{b|Sl`Y@IZuxr1T^ z%hb?1e+@;rO#1tgdDD{AGhx!1i)&Ywx=*mLTFSzavsv`(};6KUvPi;N|4)Zg%b1IGO7$OneA65_NVlZ`p|(o zvGCU(*OY_yDvX4Gi}m!i9#&YF9C4JbuyJCq|Mptj7eakiqs#v=$KV<&NT#fC(PmseEc5JpWCk=4agZ9(8_&SM%jBkW(#(2a4ZjBmHb$i6YBBFqxU%(Apu(3lK`@lj9X@3F-Ia z5(zIY&G_$5`rr=9dS-5CNLz)YrPad(XGDpX-G1NaJhUF71(I_&s%H zeY@OW(taXIn#^~(Tcs3^)SMakc?updiicVYLjrUFEf0LL*2>EjO356)mr!5pf3XOs z=>IyAY30^ivLE-^tVurLxRI->`T<}U73Xu2Ok9`3EWd^2K6FqXF>{zMZ8-~h%{bO^ zW*yxMdr~P07Qu124#XGO`hFiV=Y7X>sP~P-j#XuUX>?6Bt*h(s?GZZCzJ|oS>QW!A zxHK_8aQp9P_<|a&IiScx`uCEb=|vzqlL@iX}ejc$v_YKpBiVdYr#H{Ya;QF&_^9Y$!eriy zO^dV0$}``KhL(gSvzui_&h+r~F4))II}_#+$YO0(rvP96^TyXp9ryZ=UGufA4x8%SiBL^c1 za@P77n*mUWp&Vr6BMvv*bac3QofL?Z&MlzbHm-)BUF>P&wF(jajy(AgdWr z9>D$=S{Am9O^MNz%{N=={uC~37!q-ui@=-m^fYjTvX`{aXUU%=qDIW+RvN~L44TO^ zcf#TnYcgmM6A<}S0`PlDs45*Z8EWAHsTEt;|Cy3K4+lt$QzHeH>4UCs!1dpP#ib!S zI^2m^eQv84b^8IcEh=WFv5fI8WULdxv-6aCCKP*n5^ce8$+Bse6DAO1_e@@F&D4V{J` zNmkM}wIM8Uxn^qzvzfyCVQ(=ZO5u0GqLUAvham(C%W|;QJLU(oAHkN{jQe{?QMito z3m3ZuM0QAGq8gEa#dz(9i%y@Noq}DW#Oj6ml}a;+M%}02hicWknaVg4{&*OV8JYxs z0`J;NqMb;wftd-P?D>(Zu(CUaFnJVcTgp!kMM31iOztiY8iKj<2W=kluLb()CI3H0 zONum!JPbmu%rUZRt{5oGD)3x%aX;I-N0Yq8cCPH%oH|ciJ^7^RtK^vr&dWcgV%IJE zPKWc8S3q;7y5OKcj^4Iy{q%B+wUw_L$W$!6qv&}tm~6XR;MtvN_;!X)ypIeic-D{9 zeOctftJZk^kb2_rkggKYYO!`n{hHkK*&Es4vR9n`ASM6-i}UEX-WLuf8mWl2##dP_E#bLY z`+wITRZl+KZcKT5|ILYq+t+vHRi`}N+rIzgqHXVuzjw7UsOXkosPNRQ;Yxt!cj5Xw zdv16tHXk>wYTGmeN2cCJWk1i4D&q|LS{7mJSmB$&N*6E^b#BOMGy=Yv^|t5b5-0{U zP%Q_I+p$1d!^jZ@s;Xh7SMo1S>X347RX=D8)QRJgi@y4(n-XZpe zh7r1Z_nHv{uYJpf=BTL@4pEw3#b?Zq52l>T<1CkRZ#$1VwxviQ2mkv zA1wDdcI<K_yx$_eLt@Owmi)O>Pw_P@o3< z_l0$CM&d559%js?m?e_?K92I8DdsB@7t6&qx&gTa_s%y8av-=eSRjxM(+hzzBB zrYE4Zk=(*B?1!*tp(LxfH~Sfl7w&g*dJlGk^4>p*Ud8lLp=ku_l}H9g7s@dvM|am` zC`Dxggd#Ua*4UrFPnNehtcK$X-}Y#8myzY9~GQrsbKD{V$(J96`%wP z<)SLkKSF^MD8!pzIrNq^3PcMrBp~e-fd_1QtvZ|CY$XVc#=E-U;d-`x380;o#JI^rey;VUu`>lZV%D zY`GEj_aN_}b+o0ktB9TAhdk?%gh{UL$_G}hw0Udea+&kqFp_PFW&m