From 55a1626cf41570aeb0614373eef251ee41215982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemek=20Wi=C4=99ch?= Date: Tue, 19 May 2026 00:38:16 +0200 Subject: [PATCH] Add support for loading files from Google Drive #vibecoded --- .github/workflows/deploy-everywhere.yml | 1 + .github/workflows/deploy-gh-pages.yml | 3 + .github/workflows/deploy-wikitree-apps.yml | 3 + CHANGELOG.md | 4 + docs/LOAD_FROM_GOOGLE_DRIVE.md | 418 ++++++++++++++++++ jest.config.ts | 2 +- src/app.tsx | 347 +++++++++++---- src/datasource/data_source.ts | 1 + src/datasource/google_drive.spec.ts | 152 +++++++ src/datasource/google_drive.ts | 93 ++++ src/datasource/google_drive_service.spec.ts | 284 ++++++++++++ src/datasource/google_drive_service.ts | 337 ++++++++++++++ src/datasource/load_data.ts | 22 +- src/datasource/test_helpers.ts | 34 ++ src/menu/google_auth_modal.tsx | 189 ++++++++ src/menu/google_drive_menu.tsx | 59 +++ src/menu/top_bar.tsx | 65 ++- src/translations/bg.json | 12 +- src/translations/cs.json | 12 +- src/translations/de.json | 12 +- src/translations/fr.json | 12 +- src/translations/it.json | 12 +- src/translations/pl.json | 12 +- src/translations/ru.json | 12 +- tests/import_meta_transformer.js | 14 + .../intro-page-visual-linux.png | Bin 239446 -> 239139 bytes 26 files changed, 2005 insertions(+), 107 deletions(-) create mode 100644 docs/LOAD_FROM_GOOGLE_DRIVE.md create mode 100644 src/datasource/google_drive.spec.ts create mode 100644 src/datasource/google_drive.ts create mode 100644 src/datasource/google_drive_service.spec.ts create mode 100644 src/datasource/google_drive_service.ts create mode 100644 src/datasource/test_helpers.ts create mode 100644 src/menu/google_auth_modal.tsx create mode 100644 src/menu/google_drive_menu.tsx create mode 100644 tests/import_meta_transformer.js diff --git a/.github/workflows/deploy-everywhere.yml b/.github/workflows/deploy-everywhere.yml index 34f4011..871b8c2 100644 --- a/.github/workflows/deploy-everywhere.yml +++ b/.github/workflows/deploy-everywhere.yml @@ -5,6 +5,7 @@ on: workflow_dispatch jobs: deploy-gh-pages: uses: ./.github/workflows/deploy-gh-pages.yml + secrets: inherit deploy-wikitree-apps: uses: ./.github/workflows/deploy-wikitree-apps.yml diff --git a/.github/workflows/deploy-gh-pages.yml b/.github/workflows/deploy-gh-pages.yml index 73b6e96..756f923 100644 --- a/.github/workflows/deploy-gh-pages.yml +++ b/.github/workflows/deploy-gh-pages.yml @@ -17,6 +17,9 @@ jobs: cache: 'npm' - run: npm ci - run: npm run build + env: + VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + VITE_GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} - name: Deploy run: | diff --git a/.github/workflows/deploy-wikitree-apps.yml b/.github/workflows/deploy-wikitree-apps.yml index e67ceef..75b73f5 100644 --- a/.github/workflows/deploy-wikitree-apps.yml +++ b/.github/workflows/deploy-wikitree-apps.yml @@ -17,6 +17,9 @@ jobs: cache: 'npm' - run: npm ci - run: npm run build + env: + VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + VITE_GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} - name: Install lftp run: sudo apt-get install -y lftp diff --git a/CHANGELOG.md b/CHANGELOG.md index b523a95..dc191f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2026-05-31 + +- Add "Open from Google Drive" + ## 2026-05-02 - Display search in mobile view (by marionikolov) diff --git a/docs/LOAD_FROM_GOOGLE_DRIVE.md b/docs/LOAD_FROM_GOOGLE_DRIVE.md new file mode 100644 index 0000000..a326af8 --- /dev/null +++ b/docs/LOAD_FROM_GOOGLE_DRIVE.md @@ -0,0 +1,418 @@ +# Load from Google Drive + +## Problem Statement +Currently, Topola Viewer operates primarily on local file uploads, external HTTP URLs, or integrations with APIs like WikiTree. However, users who maintain their genealogy files (such as `.ged` and `.gdz` files) on cloud storage platforms like Google Drive face significant friction when trying to view, share, or collaborate on their family trees. The lack of integrated cloud storage support makes sharing interactive trees between collaborators cumbersome, requiring them to manually download and re-upload files. Integrating Google Drive directly into Topola Viewer as a secure, read-only storage provider will allow users to seamlessly load their trees from the cloud and easily collaborate using direct shared links. + +## The Technical Plan + +To support Google Drive files, the application needs to orchestrate authentication, file selection, and download. The integration consists of five main components working together: + +### Major Components + +1. **Google Drive Service**: This is a helper component that manages the connection to Google's APIs. It loads the Google libraries, triggers the login popup, caches the authorization token, and opens the Google Picker file selector. +2. **Google Drive Data Source**: A data loader that is registered in Topola's data source system. When the app is asked to load a file ID, this component uses the active authorization token to download the raw file content directly from Google Drive's secure servers. +3. **App Router / Shell**: The main orchestrator of the application. It parses parameters from the URL (like `fileId` and `source=google-drive`) and initiates the loading process. If the file download fails due to access issues, it manages the state of the fallback dialog. +4. **Access Authorization Modal**: A fallback dialog that displays when a user clicks a shared link to a Google Drive file that they do not yet have permission to view. It guides them to authenticate and select the target file using the Google Picker, which dynamically grants the app permission to access that file. +5. **Google Drive Menu**: A button added to Topola Viewer's menu bar that allows users to connect their Google account and browse their Drive files. + +## Alternatives Considered and Rejected + +During the design phase, several alternative approaches were considered but rejected due to security, privacy, or complexity concerns: + +### 1. Using the Broad `drive.readonly` Scope +* **Alternative**: Requesting permission to read any file in the user's Google Drive so that shared links could be opened immediately without additional user interaction. +* **Why Rejected**: Google classifies `drive.readonly` as a restricted scope. Publishing an app using this scope requires an annual third-party security assessment (CASA audit) which is prohibitively expensive for an open-source, non-profit project. Using the `drive.file` scope keeps the application within the non-sensitive tier while protecting user privacy by only granting access to files the user explicitly selects. + +### 2. Anonymous Downloads for Publicly Shared Files +* **Alternative**: Attempting to download files shared with "anyone with the link" directly using standard public URLs without requiring a Google sign-in. +* **Why Rejected**: Public Google Drive URLs do not reliably support browser CORS headers for anonymous requests, and larger files trigger virus-warning pages that return HTML rather than raw file contents. Requiring a Google login for all Google Drive operations allows the app to fetch via the official API with an authorization token, which avoids both CORS and virus-scan issues and simplifies the code. + +### 3. Routing Google Drive Traffic Through a CORS Proxy +* **Alternative**: Using the existing `topolaproxy.bieda.it` proxy to download files in order to bypass CORS restrictions. +* **Why Rejected**: Routing traffic through a third-party proxy poses a severe security risk because it would require transmitting the user's Google OAuth access token to an external service. Additionally, family tree files contain sensitive personal information, and routing them through an unauthenticated proxy violates privacy-first principles. Direct client-side requests to `googleapis.com` ensure all traffic remains securely encrypted between the user's browser and Google. + +### 4. Implementing Write/Edit Support +* **Alternative**: Allowing users to modify their family trees and write back the changes directly to Google Drive. +* **Why Rejected**: Topola Viewer is architected as a read-only visualization tool. Implementing full write support would require developing a robust GEDCOM and GEDZIP serialization engine, state mutation synchronization, and conflict resolution mechanisms. Limiting this feature to read-only viewing aligns with the application's core purpose and avoids significant, high-risk complexity. + +## Detailed Implementation Plan + +This section outlines every file that will be created or modified to implement the Google Drive storage feature, along with the technical rationale for each change. + +--- + +### 1. Build and Dependencies Setup + +#### [MODIFY] [package.json](../package.json) +* **Rationale**: Type safety is critical for global variables introduced by Google scripts. +* **Changes**: Add the following type definitions to `devDependencies`: + * `@types/gapi` for the legacy Google API client. + * `@types/google.picker` for the Google Picker API. + * `@types/google.accounts` for the modern Google Identity Services (GIS) token client. + +*Note: In contrast to the initial design where GAPI and GIS scripts were loaded statically in `index.html`, the final implementation loads these scripts dynamically on demand using the custom `loadScript()` helper function in `google_drive_service.ts` to improve performance and only download third-party assets when the user interacts with Google Drive.* + + +--- + +### 2. Data Source Layer + +#### [MODIFY] [src/datasource/data_source.ts](../src/datasource/data_source.ts) +* **Rationale**: Topola Viewer abstracts data loading using the `DataSource` interface and `DataSourceEnum`. We must register the Google Drive type here. +* **Changes**: Add a `GOOGLE_DRIVE` entry to the `DataSourceEnum` export. + +#### [MODIFY] [src/datasource/load_data.ts](../src/datasource/load_data.ts) +* **Rationale**: Restructure file loading logic so that Google Drive datasource can parse file content and perform initial caching without code duplication. +* **Changes**: Export a new helper function, `loadAndPrepareFile(blob: Blob, cacheId: string): Promise`, which calls `loadFile()` and `prepareData()` inside a try-catch block, handling `revokeObjectUrls()` in case of parsing errors. + +#### [NEW] [src/datasource/google_drive.ts](../src/datasource/google_drive.ts) +* **Rationale**: Defines the logic for checking and loading Google Drive files. +* **Changes**: + * Define the interface `GoogleDriveSourceSpec` that contains the `fileId` and a `source` field mapped to `DataSourceEnum.GOOGLE_DRIVE`. + * Create `GoogleDriveAuthError` (extends `Error`) to signal authentication failures or access denial back to the App controller. + * Implement the `GoogleDriveDataSource` class matching the `DataSource` interface. The `loadData` function: + 1. Checks `sessionStorage` under `google-drive:{fileId}` to see if the parsed file is already cached (avoiding network requests on page refresh). + 2. If not cached, gets the active access token from `googleDriveService`. If missing or expired, throws `GoogleDriveAuthError`. + 3. Executes a direct `fetch` to Google's REST endpoint (`https://www.googleapis.com/drive/v3/files/{fileId}?alt=media`) using the token. + 4. Inspects response status: if 401, 403, or 404, throws `GoogleDriveAuthError`; if any other non-200 code, throws a standard `Error`. + 5. Parses the downloaded blob using `loadFile` (reusing existing GEDCOM/GEDZIP zip parsing). + +#### [NEW] [src/datasource/google_drive_service.ts](../src/datasource/google_drive_service.ts) +* **Rationale**: Keeps all interactions with Google Identity Services and GAPI initialization isolated, protecting the core app from dependency leakage. +* **Changes**: + * Create a singleton `googleDriveService` class. + * Implement an initialization method `init()` that dynamically loads GAPI and GIS scripts using a helper function `loadScript(src)`. It then loads GAPI's `picker` library via `gapi.load('picker', ...)`. Access `window.gapi` and `window.google` using direct global references or `(window as any)` casting to prevent TypeScript compilation errors. + * Handle OAuth initialization via `google.accounts.oauth2.initTokenClient` and store the access token in memory. Cache the token and its computed absolute expiration timestamp (`Date.now() + expires_in * 1000`) in `sessionStorage` to survive page refreshes in the same tab. + * **Asynchronous Initialization**: Store the initialization Promise as `this.initPromise` (which resolves when global scripts are loaded and GAPI/GIS are initialized). All public service methods must await `this.initPromise` before executing to prevent race conditions and runtime errors. + * **Promise-based OAuth Request**: Since `initTokenClient` accepts a single static callback, `requestToken` should store the current Promise's `resolve` and `reject` handlers on the service instance (`this.pendingAuthResolve` and `this.pendingAuthReject`) and invoke them inside the GIS callback. + * Provide helper methods: + * `getAccessToken()`: Returns the cached token if it has not expired (checked against the absolute expiration timestamp stored in `sessionStorage`). + * `requestToken(forceAccountSelect)`: Returns a Promise that resolves when the Google Identity Services popup completes auth. If `forceAccountSelect` is true, sets the GIS configuration `prompt` parameter to `'select_account'` (critical for switching accounts on 403 errors). + * `showPicker(onPicked, onCancel)`: Calculates display dimensions based on the window size (`Math.min` bounds) to ensure responsiveness on mobile, then builds and opens the Google Picker. + * Set the developer API key via `.setDeveloperKey(import.meta.env.VITE_GOOGLE_API_KEY)` on the `PickerBuilder`. + * Configure `DocsView` using `google.picker.ViewId.DOCS` and restrict it to files matching `.setMimeTypes('application/x-gedcom,text/vnd.familysearch.gedcom,application/x-zip')` to cover `.ged` and `.gdz` formats. + * Set the origin using `.setOrigin(window.location.origin)` to prevent cross-origin issues between the Picker iframe and the viewer page. + * In the Picker callback, check for `data.action === google.picker.Action.PICKED` and retrieve the file ID via `data[google.picker.Response.DOCUMENTS][0][google.picker.Document.ID]`, triggering `onPicked`. + * If `data.action === google.picker.Action.CANCEL`, trigger the `onCancel` callback (if provided) to handle dialog closing gracefully. + * `signOut()`: Revokes the token using `google.accounts.oauth2.revoke`, clears memory and `sessionStorage` tokens, and resets local state. + +#### [NEW] [src/datasource/test_helpers.ts](../src/datasource/test_helpers.ts) +* **Rationale**: Provides a mock `sessionStorage` utility for test environments. +* **Changes**: + * Define `mockSessionStorage()` which mocks `global.sessionStorage` with a key-value dictionary and returns it for inspection. + +#### [NEW] [tests/import_meta_transformer.js](../tests/import_meta_transformer.js) +* **Rationale**: Translates Vite's `import.meta.env` to `process.env` so that tests running in Jest (a Node environment) can correctly access configuration properties. + +#### [MODIFY] [jest.config.ts](../jest.config.ts) +* **Rationale**: Registers the custom `import_meta_transformer.js` for TS and TSX files. + +#### [NEW] [src/datasource/google_drive.spec.ts](../src/datasource/google_drive.spec.ts) +* **Rationale**: Unit testing for the `GoogleDriveDataSource` class, verifying that the data source is instantiated, fetches, and parses data correctly, handles cached items, and throws authentication errors when expected. + +#### [NEW] [src/datasource/google_drive_service.spec.ts](../src/datasource/google_drive_service.spec.ts) +* **Rationale**: Unit testing for the `GoogleDriveService` class including script loading, token caching, account selection, token revocation, and cache clearing. + + +--- + +### 3. User Interface Integration + +#### [NEW] [src/menu/google_drive_menu.tsx](../src/menu/google_drive_menu.tsx) +* **Rationale**: Provides the user entry point in the navigation bar to open files. +* **Changes**: + * Implement `GoogleDriveMenu` using the `MenuItem` abstraction. + * When clicked, it requests an OAuth access token via `googleDriveService`. If successful, it launches the Google Picker. + * When a file is selected, it extracts the ID and navigates to `/view` with search query params set to `source=google-drive&fileId={id}`. + +#### [MODIFY] [src/menu/top_bar.tsx](../src/menu/top_bar.tsx) +* **Rationale**: TopBar contains open actions for uploads, URL loading, and WikiTree. We must inject the Google Drive options here. +* **Changes**: + * Add props: `onGoogleSignOut?: () => void`, `hasGoogleToken: boolean`, and `onGoogleTokenAcquired?: () => void`. + * Check if `VITE_GOOGLE_CLIENT_ID` and `VITE_GOOGLE_API_KEY` exist in the build environment. + * If present, render `GoogleDriveMenu` alongside other menus in the desktop and mobile file selectors. + * Inject a **Google Drive Sign Out / Disconnect** button into the top bar in the same location where WikiTree login/logout options appear (on the right-aligned side of the menu for desktop, and list for mobile), rendering only if `hasGoogleToken` is true. Clicking it triggers a sign-out flow that: + 1. Calls the `onGoogleSignOut` callback. + +#### [NEW] [src/menu/google_auth_modal.tsx](../src/menu/google_auth_modal.tsx) +* **Rationale**: Essential for private file sharing support under `drive.file` and bypasses browser popup blockers. +* **Changes**: + * Define props interface: + * `failedFileId: string`: The ID of the file that failed to load. + * `onAuthSuccess: (fileId: string) => void`: Callback triggered when permission is successfully granted or a file is picked. + * `onCancel: () => void`: Callback triggered when the user cancels the modal. + * Create a modal view overlay displayed in the center of the screen. + * Prompt: "Google Drive Access Required". + * Provides a button to initiate connection. The modal implements a two-tier strategy tailored to `drive.file` constraints: + 1. Clicking the button first runs a quick OAuth request (`googleDriveService.requestToken()`) and attempts to download the target file ID. Due to `drive.file` limitations, this direct request will fail (with 403 or 404) on the first try if the app has not been authorized for this file yet in the user's Google Drive. + 2. In case of access failure (403/404), the modal UI will display detailed instructions guiding the user to select the file manually using the Google Picker. Selecting the file in the Picker explicitly grants the app permission to read it. + 3. **Shared Link Constraint**: If the file was shared via "Anyone with the link can view", it may not appear in the user's Picker search or "Shared with me" list until they open the link once in Google Drive or add a shortcut to "My Drive". The modal should document this instruction to guide users opening shared links. + * **Popup Blocker Handling**: The OAuth popup is only triggered when the user explicitly clicks the "Connect" button (a direct user gesture). The modal must never attempt to open the OAuth popup automatically on mount. + * **Non-blocking Loader**: When the login flow is pending, show a spinner on the button itself or a cancelable loader. Do not show an un-cancelable full-screen loading overlay, as Google Identity Services does not notify the app if the user closes the sign-in popup. The connect button must not be permanently disabled while loading; it should allow the user to click it again to retry or provide a manual reset/timeout in case they closed the login popup. + * **Switch Account Button**: Provides a "Switch Account" button that allows users to authenticate with a different Google account directly from the modal dialog. In the implementation, this button is rendered conditionally once picker instructions are visible (after a failed direct download attempt). + * **Cancel Action**: Provide a "Cancel" button. If clicked, calls `props.onCancel()` which redirects the user back to the homepage `/` (Intro). + + +--- + +### 4. Main App Orchestration + +#### [MODIFY] [src/app.tsx](../src/app.tsx) +* **Rationale**: The central application container responsible for routing, state tracking, error displaying, and data orchestration. +* **Changes**: + * **Type & Registration**: Add `GoogleDriveSourceSpec` to the `DataSourceSpec` union. Instantiate `googleDriveDataSource` via `const googleDriveDataSource = new GoogleDriveDataSource();` and register it in both the `loadData()` and `isNewData()` switch statements in `app.tsx`. + * **Credentials Check & Error Handling**: During data loading, if `source=google-drive` but `VITE_GOOGLE_CLIENT_ID` or `VITE_GOOGLE_API_KEY` is missing from the environment, throw an error signaling that Google Drive integration is not configured. + * **"Open with" Query Parameter**: Add a root-level `useEffect` or route handler to inspect the `state` query parameter using React Router's `location.search` hook. If present: + 1. Wrap the query parsing logic in a `try/catch` block to handle cases where the `state` parameter is not valid JSON (e.g. from other OAuth providers). + 2. Check that the parsed JSON contains Google Drive specific keys (`action === 'open'` and a non-empty `ids` array) before triggering the redirect. + 3. If valid, extract the first file ID (`ids[0]`) from the array and ignore any other IDs. Perform a client-side redirect (soft navigate) to `/view?source=google-drive&fileId={fileId}` using `{ replace: true }` so it does not pollute the browser history and break the back button. + 4. Clear the `state` query parameter from the URL by performing the client-side redirect using `{ replace: true }`, which replaces the URL in the history and implicitly clears the `state` parameter to prevent infinite redirect loops on subsequent rendering and routing cycles. + * **Argument Parsing**: Update `getArguments()` to support `source=google-drive` and `fileId` query params, returning a `GoogleDriveSourceSpec`. + * **Google Auth State**: Add React state for showing the ``, storing the `failedFileId`, and tracking `hasGoogleToken` (updated upon successful login or logout to ensure proper reactivity in `TopBar`). + * **Catching Auth Errors**: Update the main `useEffect` data loading sequence. If `loadData()` throws `GoogleDriveAuthError`, do *not* set `state` to `AppState.ERROR` (which shows a scary red error banner). Instead, keep a clean background (e.g. keep `AppState.LOADING` or transition to a non-error background) and set `showAuthModal` to true. + * **Resolving Auth Fallback (Avoiding Deadlock)**: + * If the user selects a *new* file in the Picker, perform a soft `navigate` to update the URL parameters, triggering `isNewData` and initiating a normal reload. + * If the user successfully authorizes and selects the *same* file ID (matching `failedFileId`), do *not* navigate (as the URL matches and would result in a no-op). Instead, explicitly reset `state` to `AppState.INITIAL`. This forces the `useEffect` to execute the load sequence again using the newly acquired access token. + * If the user successfully selects the target file in the auth modal's callback, trigger url updating to refresh the page and successfully render the chart. + * **Disconnect Callback**: Pass `onGoogleSignOut` to `TopBar` that: + 1. Revokes the token using `googleDriveService.signOut()`. + 2. Clears the active `data` and `selection` state in `App` and revokes all media Object URLs. + 3. Clears the active `sessionStorage` cache (all keys starting with `google-drive:`) to prevent unauthorized access by subsequent users on shared/public devices. + 4. Redirects the user back to the home route `/` (Intro). + +--- + +### 5. Localization Integration + +#### [MODIFY] [src/translations/*.json](../src/translations) and [src/app.tsx](../src/app.tsx) +* **Rationale**: Ensure all user-facing Google Drive integration UI strings are fully translated and localized. +* **Changes**: Add translation keys for the new UI elements across all 7 localization files (`bg.json`, `cs.json`, `de.json`, `fr.json`, `it.json`, `pl.json`, `ru.json`). For the default English catalog, declare messages using the `defaultMessage` prop in components or as arguments in `intl.formatMessage` calls. Use a `TopolaError` with code `'GOOGLE_DRIVE_NOT_CONFIGURED'` to propagate configuration errors so they can be parsed and translated by `getI18nMessage()`. + * `menu.load_from_google_drive`: "Load from Google Drive" (or language equivalent) + * `menu.google_sign_out`: "Disconnect Google Drive" / "Sign out" + * `google_auth.title`: "Google Drive Access Required" + * `google_auth.instructions`: "To view this file, you must authenticate and select the file from your Google Drive to grant permissions." + * `google_auth.grant_button`: "Grant Access & Select File" + * `google_auth.cancel`: "Cancel" + * `google_auth.picker_instructions_header`: "Permissions Required" + * `google_auth.picker_instructions`: "The application does not have permission to read this file. Please select it in the file browser popup to grant access. If this is a shared file that doesn't show up, try adding a shortcut to your Drive first." + * `google_auth.switch_account_button`: "Switch Account" + * `error.GOOGLE_DRIVE_NOT_CONFIGURED`: "Google Drive integration is not configured." + +--- + +## Google Cloud Platform Setup Guide + +To support authentication and file picking, Topola Viewer must be connected to a Google Cloud Platform (GCP) project. Below are the step-by-step instructions to configure the GCP resources, credentials, and Workspace Marketplace listings. + +### Step 1: Create a Google Cloud Project +1. Go to the [Google Cloud Console](https://console.cloud.google.com/). +2. Click the project dropdown in the top navigation and select **New Project**. +3. Enter a name (e.g., `Topola Viewer`) and click **Create**. + +### Step 2: Enable Required APIs +1. Navigate to **APIs & Services** $\rightarrow$ **Library**. +2. Search for and enable the following APIs: + * **Google Drive API** (for file downloading). + * **Google Picker API** (for the file browser popup). + * **Google Workspace Marketplace SDK** (required to enable the "Open with" context menu inside Google Drive). + +### Step 3: Configure the OAuth Consent Screen +1. Navigate to **APIs & Services** $\rightarrow$ **OAuth consent screen**. +2. Select **External** for User Type (so any Google user can log in) and click **Create**. +3. Complete the **App information** (App name, Support email, Developer contact information) and click **Save and Continue**. +4. In the **Scopes** step, click **Add or Remove Scopes**: + * Add the scope: `https://www.googleapis.com/auth/drive.file` + * This scope is classified as non-sensitive, meaning Topola Viewer does *not* require expensive security reviews or CASA audits to be verified by Google. +5. Save and continue to finish the configuration. + +### Step 4: Create OAuth 2.0 Credentials +1. Navigate to **APIs & Services** $\rightarrow$ **Credentials**. +2. Click **Create Credentials** $\rightarrow$ **OAuth client ID**. +3. Set the **Application type** to **Web application**. +4. Under **Authorized JavaScript origins**, add the domains where the app is deployed, as well as local environments: + * `https://pewu.github.io` (Production) + * `https://apps.wikitree.com` (Wikitree Integration) + * `http://localhost:3000` (Local testing and development) + > [!IMPORTANT] + > Google's OAuth validation is strict. In local development, ensure you access the application via `http://localhost:3000` rather than `http://127.0.0.1:3000`, as using the raw IP address will result in origin authorization failures unless `http://127.0.0.1:3000` is also explicitly added to this list. +5. Click **Create**. Copy the generated **Client ID** to use in the app environment variables (`VITE_GOOGLE_CLIENT_ID`). + +### Step 5: Create an API Key (for Google Picker) +1. On the **Credentials** screen, click **Create Credentials** $\rightarrow$ **API key**. +2. Edit the newly created API key to add restrictions: + * **Application restrictions**: Choose **HTTP referrers (web sites)**. + * Add the authorized referrers: + * `https://pewu.github.io/topola/viewer/*` + * `https://apps.wikitree.com/apps/wiech13/topola-viewer/*` + * `http://localhost:3000/*` + * **API restrictions**: Restrict the key to only allow requests to **both** the **Google Picker API** and the **Google Drive API** (the Picker component queries user files via the Drive API under the hood; restricting it strictly to the Picker API will cause requests to fail). +3. Save the key. Copy the generated **API Key** to use in the app environment variables (`VITE_GOOGLE_API_KEY`). + +### Step 6: Configure the Workspace Marketplace SDK ("Open with" Integration) +1. Navigate to **APIs & Services** $\rightarrow$ **Enabled APIs & Services**, and select the **Google Workspace Marketplace SDK**. +2. Click **App Integration** $\rightarrow$ **Configuration**. +3. Enable the **Drive Extension** integration check. +4. Configure the **Open URL**: + * URL: `https://pewu.github.io/topola-viewer/` (or the corresponding deploy URL). +5. Set up **File Handlers**: + * Under **Default File Extensions**, register `.ged` and `.gdz`. +6. (Optional) Configure the **Store Listing** to publish the extension to the public Google Workspace Marketplace, making it searchable and installable for anyone. + +## Testing Strategy + +Due to the dependency on third-party external Google APIs and credentials, testing this feature is divided into automated mocking (for CI environments and unit tests) and manual verification (for local development). + +### 1. Automated Unit Testing + +All automated unit tests are run via **Jest**. Since Node environments do not load Google's external CDN scripts, we must isolate and mock these dependencies. + +#### Mocking Global Scripts +Create a mock utility in the tests setup file to intercept calls to the global `google` and `gapi` interfaces: +```typescript +global.gapi = { + load: jest.fn((api: string, callback: () => void) => callback()), +}; + +global.google = { + accounts: { + oauth2: { + initTokenClient: jest.fn(() => ({ + requestAccessToken: jest.fn(), + })), + }, + }, + picker: { + PickerBuilder: jest.fn(() => ({ + addView: jest.fn().mockReturnThis(), + setOAuthToken: jest.fn().mockReturnThis(), + setDeveloperKey: jest.fn().mockReturnThis(), + setCallback: jest.fn().mockReturnThis(), + build: jest.fn(() => ({ + setVisible: jest.fn(), + })), + })), + DocsView: jest.fn().mockImplementation(() => ({ + setMimeTypes: jest.fn().mockReturnThis(), + setQuery: jest.fn().mockReturnThis(), + })), + ViewId: { + DOCS: 'doc', + SHARED_WITH_ME: 'shared-with-me', + }, + }, +}; +``` + +#### Data Source Tests +In `src/datasource/google_drive.spec.ts` [NEW]: +* **Verify `isNewData()`**: Confirm it returns true only when the `fileId` changes. +* **Verify `loadData()` Success**: Mock `window.fetch` to return a mock blob, mock `getAccessToken()` to return a dummy token, and verify the data source parses the file stream correctly. +* **Verify `loadData()` Auth Failure**: Mock `getAccessToken()` to return `null` or configure `window.fetch` to return `403 Forbidden`, and assert that `GoogleDriveAuthError` is thrown. + +#### URL Parsing & Orchestration Tests +In existing test suites or manual validation: +* Verify that URL query arguments containing `source=google-drive&fileId=XYZ` are parsed into the correct `GoogleDriveSourceSpec`. +* Verify that if `loadData()` throws `GoogleDriveAuthError`, the application transitions state, avoids setting a global error message, and triggers the rendering of the `` fallback popup. + +--- + +### 2. Manual Verification Checklist + +Manual testing should be performed locally to verify the full OAuth loop and UI presentation: + +| Test Case | Action | Expected Result | +| :--- | :--- | :--- | +| **Missing Credentials** | Run the app with empty `VITE_GOOGLE_CLIENT_ID` / `VITE_GOOGLE_API_KEY` values. | The Google Drive option is completely hidden from the TopBar menus; local file upload and WikiTree operations continue working normally. | +| **Picker Load** | Click "Load from Google Drive" in the menu, log in when prompted, select a `.ged`/`.gdz` file. | Google Picker popup closes, selected file is fetched directly from Google APIs, URL hash updates, and the family chart renders. | +| **Shared Link Auth Fallback** | Load: `http://localhost:3000/#/view?source=google-drive&fileId=UNAUTHORIZED_ID` | The "Google Drive Access Required" modal overlays the screen, preventing rendering. | +| **Grant Access Flow** | Click "Grant Access" in the fallback modal, authenticate, and pick the matching file from "Shared with me". | Modal closes, OAuth token gets authorized for the specific file ID, tree downloads and renders successfully. | +| **Google Drive UI Open** | Navigate to: `http://localhost:3000/?state={"ids":["FILE_ID"],"action":"open"}` | The app detects the `state` param, automatically prompts Google authentication, downloads the file, and opens the chart. | +| **Invalid Selection** | Pick a non-matching file from the fallback modal's picker. | App detects the mismatch, updates the URL to the new file's ID, downloads the newly picked file, and displays the tree. | + +--- + +### 3. Continuous Integration (CI) Safety + +* In CI pipelines (e.g. GitHub Actions workflows), Google API keys are not present in the environment. +* Because the feature checks for the presence of environment variables at compile/build time, the Google Drive menus are automatically omitted. +* This ensures that visual regression tests (`npm run test:visual`) and E2E test runs (`npm run test:e2e`) pass without requiring live OAuth secrets or mock servers. + +--- + +## Build and Deployment CI/CD Configuration + +To enable the Google Drive integration on the official public deployments, the Google API credentials must be injected during the automated build process in GitHub Actions. + +### Required GitHub Secrets +You must configure the following repository secrets in your GitHub project settings: +1. `GOOGLE_CLIENT_ID`: The official OAuth Client ID for `pewu.github.io` / `apps.wikitree.com`. +2. `GOOGLE_API_KEY`: The official Google Picker API Key. + +### Workflow Modifications + +The build step (`npm run build`) in the deployment workflows must receive these secrets as environment variables. + +#### 1. Deployment to GitHub Pages (`.github/workflows/deploy-gh-pages.yml`) +Pass the secrets to the build step: +```yaml + - run: npm run build + env: + VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + VITE_GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} +``` + +#### 2. Deployment to WikiTree Apps (`.github/workflows/deploy-wikitree-apps.yml`) +Pass the secrets to the build step: +```yaml + - run: npm run build + env: + VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + VITE_GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} +``` + +#### 3. Reusable Workflow Inheritance (`.github/workflows/deploy-everywhere.yml`) +Enable secret inheritance on jobs calling these workflows to ensure secrets are propagated: +```yaml + deploy-gh-pages: + uses: ./.github/workflows/deploy-gh-pages.yml + secrets: inherit +``` + +--- + +## Security and Privacy + +Since Topola Viewer is a purely client-side application that manages sensitive genealogical data, security and user privacy are core design pillars for this integration. + +### 1. Protection of Public API Credentials +The application's client-side architecture requires compiling the public Google `Client ID` and `API Key` directly into the JavaScript bundle. These values are protected from abuse using Google Cloud Platform constraints: +* **OAuth Domain Whitelisting**: The `Client ID` restricts **Authorized JavaScript Origins** and **Redirect URIs** to `https://pewu.github.io`, `https://apps.wikitree.com`, and `http://localhost:3000`. Google's authorization server will automatically block login attempts initiated from any other domains. +* **API Key Restrictions**: The `API Key` enforces **HTTP Referrer Restrictions** matching the authorized domains. Additionally, the key is scoped via **API Restrictions** to only permit requests to the **Google Picker API** and **Google Drive API**, preventing its use on other Google Cloud services. +* **No Secrets Compiled**: The application never utilizes or compiles an OAuth `Client Secret`, which is only required for server-side integrations. + +### 2. Data Privacy & Zero-Server Architecture +* **Direct Client-to-Google Communication**: All requests to Google Drive APIs are initiated directly from the user's browser. +* **No Third-Party Proxies**: To prevent token leakage and maintain data confidentiality, Google Drive downloads **never** route through the `topolaproxy.bieda.it` CORS proxy. +* **Local Parsing**: The fetched GEDCOM or GEDZIP file content is parsed entirely within the browser using local JavaScript. No family data, files, or access tokens are ever transmitted to, processed by, or stored on external servers. +* **Short-Lived Auth Tokens**: The application uses short-lived access tokens that expire automatically. No persistent refresh tokens are requested or stored. +* **Session Storage Cache Security**: To optimize load times, parsed tree data is cached in `sessionStorage` under `google-drive:{fileId}`. To protect user privacy on shared or public computers, signing out or disconnecting Google Drive explicitly purges all `google-drive:*` keys from the browser's `sessionStorage`. + +### 3. Principle of Least Privilege (OAuth Scopes) +Instead of requesting the broad `drive.readonly` scope, which grants visibility into a user's entire Google Drive, this feature utilizes the restrictive `drive.file` scope. Under this scope: +* The application only has permission to view files that the user has explicitly opened with the app (either by selecting the file in the Google Picker or opening it via the "Open with" Google Drive UI option). +* Topola Viewer remains blind to all other files and directories in the user's Google Drive. + +## Known Limitations + +1. **Image Loading from Plain `.ged` Files**: Only `.gdz` archives are supported for viewing media files from Google Drive. Plain `.ged` files will only display genealogical data, and any relative/external image paths will render as broken images because standard HTML `` tags cannot transmit the `Authorization` header required for private Google Drive requests. +2. **Iframe Embedding (WikiTree)**: Running Google Drive authentication and loading files from Google Drive inside an embedding iframe (such as on `apps.wikitree.com`) can fail due to iframe popup sandboxing and origin mismatch restrictions. This configuration is not actively supported. +3. **Session Refresh Cache**: When a page is refreshed, zipped images cached in `sessionStorage` might have invalid Object URLs. We choose to ignore this problem until it becomes a visible UX issue. +4. **Access Modal Lockout**: If a user logs into a Google account that does not have permissions to read the file, they are prompted with the "Access Required" modal. Since this modal blocks the viewport, they cannot click the top-bar "Disconnect" button to switch Google accounts, requiring them to click "Cancel" to return to the homepage first. + +--- + +## Future Improvements + +1. **Self-Hosting Runtime Configuration Support**: Read `google-client-id` and `google-api-key` from HTML `` tags at runtime (similar to `topola-static-url`), allowing self-hosters to deploy and configure Google Drive support without rebuilding the static assets. +2. **Fetch Cancellation & Race Condition Mitigation**: Implement an `AbortController` or active boolean flag cancellation check in `app.tsx`'s `useEffect` loader to ensure slow background downloads do not overwrite newer datasets if a user changes the source/file before the previous request finishes. + diff --git a/jest.config.ts b/jest.config.ts index b671ec1..fcfff84 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -4,7 +4,7 @@ const config: Config.InitialOptions = { roots: ["/src"], testEnvironment: "node", transform: { - "^.+.tsx?$": ["ts-jest", {}], + "^.+.tsx?$": "/tests/import_meta_transformer.js", }, moduleNameMapper: { "d3-array": "/node_modules/d3-array/dist/d3-array.js", diff --git a/src/app.tsx b/src/app.tsx index c3d16b8..db6a6b0 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -1,6 +1,6 @@ import * as H from 'history'; import queryString from 'query-string'; -import {useEffect, useState} from 'react'; +import {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {FormattedMessage, useIntl} from 'react-intl'; import {Navigate, Route, Routes, useLocation, useNavigate} from 'react-router'; import { @@ -21,6 +21,16 @@ import { } from './chart'; import {DataSourceEnum, SourceSelection} from './datasource/data_source'; import {EmbeddedDataSource, EmbeddedSourceSpec} from './datasource/embedded'; +import { + GoogleDriveAuthError, + GoogleDriveDataSource, + GoogleDriveSourceSpec, +} from './datasource/google_drive'; +import { + clearGoogleDriveCache, + googleDriveService, + isGoogleDriveConfigured, +} from './datasource/google_drive_service'; import { GedcomUrlDataSource, getSelection, @@ -38,6 +48,7 @@ import { } from './datasource/wikitree'; import {DonatsoChart} from './donatso-chart'; import {Intro} from './intro'; +import {GoogleAuthModal} from './menu/google_auth_modal'; import {TopBar} from './menu/top_bar'; import { argsToConfig, @@ -49,6 +60,7 @@ import { } from './sidepanel/config/config'; import {SidePanel} from './sidepanel/side-panel'; import {analyticsEvent} from './util/analytics'; +import {TopolaError} from './util/error'; import {getI18nMessage} from './util/error_i18n'; import {idToIndiMap, TopolaData} from './util/gedcom_util'; import {WebMcpBridge} from './webmcp'; @@ -125,7 +137,8 @@ type DataSourceSpec = | UrlSourceSpec | UploadSourceSpec | WikiTreeSourceSpec - | EmbeddedSourceSpec; + | EmbeddedSourceSpec + | GoogleDriveSourceSpec; /** * Arguments passed to the application, primarily through URL parameters. @@ -179,6 +192,14 @@ function getArguments(location: H.Location): Arguments { authcode: getParam('authcode') || getParamFromSearch('authcode', windowSearch), }; + } else if (getParam('source') === 'google-drive') { + const fileId = getParam('fileId'); + if (fileId) { + sourceSpec = { + source: DataSourceEnum.GOOGLE_DRIVE, + fileId, + }; + } } else if (hash) { sourceSpec = { source: DataSourceEnum.UPLOADED, @@ -232,6 +253,11 @@ function getArguments(location: H.Location): Arguments { }; } +const uploadedDataSource = new UploadedDataSource(); +const gedcomUrlDataSource = new GedcomUrlDataSource(); +const embeddedDataSource = new EmbeddedDataSource(); +const googleDriveDataSource = new GoogleDriveDataSource(); + export function App() { /** State of the application. */ const [state, setState] = useState(AppState.INITIAL); @@ -260,24 +286,51 @@ export function App() { const [sourceSpec, setSourceSpec] = useState(); /** Freeze animations after initial chart render. */ const [freezeAnimation, setFreezeAnimation] = useState(false); + /** Configuration settings for chart display options (e.g. colors, hiding IDs). */ const [config, setConfig] = useState(DEFALUT_CONFIG); + /** MCP bridge to communicate with external tools or servers (Model Context Protocol). */ const [mcpBridge] = useState(() => new WebMcpBridge()); + /** Controls the visibility of the Google Drive OAuth permission modal. */ + const [showAuthModal, setShowAuthModal] = useState(false); + /** Stores the file ID that failed to load from Google Drive due to authorization errors. */ + const [failedFileId, setFailedFileId] = useState(); + /** Tracks whether the user has a valid cached Google Drive OAuth access token. */ + const [hasGoogleToken, setHasGoogleToken] = useState( + () => !!googleDriveService.getAccessToken(), + ); const intl = useIntl(); const navigate = useNavigate(); const location = useLocation(); - /** Sets the state with a new individual selection and chart type. */ - function updateDisplay(newSelection: IndiInfo) { - if ( - !selection || - selection.id !== newSelection.id || - selection.generation !== newSelection.generation - ) { - setSelection(newSelection); - setDetailIndi(newSelection.id); - } - } + /** Prevents the Google Drive "Open with" state from being processed more than once. */ + const stateProcessed = useRef(false); + /** Tracks whether the component is currently mounted to prevent state updates after unmount. */ + const isMountedRef = useRef(true); + /** Incremented with each load request to ensure only the latest asynchronous load result is applied. */ + const fetchIdRef = useRef(0); + + /** Manages the mount lifecycle ref to avoid setting state on unmounted components. */ + useEffect(() => { + isMountedRef.current = true; + return () => { + isMountedRef.current = false; + }; + }, []); + + const updateDisplay = useCallback( + (newSelection: IndiInfo) => { + if ( + !selection || + selection.id !== newSelection.id || + selection.generation !== newSelection.generation + ) { + setSelection(newSelection); + setDetailIndi(newSelection.id); + } + }, + [selection], + ); function updateChartWithConfig(config: Config, data: TopolaData | undefined) { if (data === undefined) { @@ -306,72 +359,143 @@ export function App() { setState(AppState.ERROR); } - const uploadedDataSource = new UploadedDataSource(); - const gedcomUrlDataSource = new GedcomUrlDataSource(); - const wikiTreeDataSource = new WikiTreeDataSource(intl); - const embeddedDataSource = new EmbeddedDataSource(); + const wikiTreeDataSource = useMemo( + () => new WikiTreeDataSource(intl), + [intl], + ); - function isNewData(newSourceSpec: DataSourceSpec, newSelection?: IndiInfo) { - if (!sourceSpec || sourceSpec.source !== newSourceSpec.source) { - // New data source means new data. - return true; - } - const newSource = {spec: newSourceSpec, selection: newSelection}; - const oldSouce = { - spec: sourceSpec, - selection: selection, - }; - switch (newSource.spec.source) { - case DataSourceEnum.UPLOADED: - return uploadedDataSource.isNewData( - newSource as SourceSelection, - oldSouce as SourceSelection, - data, - ); - case DataSourceEnum.GEDCOM_URL: - return gedcomUrlDataSource.isNewData( - newSource as SourceSelection, - oldSouce as SourceSelection, - data, - ); - case DataSourceEnum.WIKITREE: - return wikiTreeDataSource.isNewData( - newSource as SourceSelection, - oldSouce as SourceSelection, - data, - ); - case DataSourceEnum.EMBEDDED: - return embeddedDataSource.isNewData( - newSource as SourceSelection, - oldSouce as SourceSelection, - data, - ); - } - } + const isNewData = useCallback( + (newSourceSpec: DataSourceSpec, newSelection?: IndiInfo) => { + if (!sourceSpec || sourceSpec.source !== newSourceSpec.source) { + // New data source means new data. + return true; + } + const newSource = {spec: newSourceSpec, selection: newSelection}; + const oldSouce = { + spec: sourceSpec, + selection: selection, + }; + switch (newSource.spec.source) { + case DataSourceEnum.UPLOADED: + return uploadedDataSource.isNewData( + newSource as SourceSelection, + oldSouce as SourceSelection, + data, + ); + case DataSourceEnum.GEDCOM_URL: + return gedcomUrlDataSource.isNewData( + newSource as SourceSelection, + oldSouce as SourceSelection, + data, + ); + case DataSourceEnum.WIKITREE: + return wikiTreeDataSource.isNewData( + newSource as SourceSelection, + oldSouce as SourceSelection, + data, + ); + case DataSourceEnum.EMBEDDED: + return embeddedDataSource.isNewData( + newSource as SourceSelection, + oldSouce as SourceSelection, + data, + ); + case DataSourceEnum.GOOGLE_DRIVE: + return googleDriveDataSource.isNewData( + newSource as SourceSelection, + oldSouce as SourceSelection, + data, + ); + } + }, + [sourceSpec, selection, data, wikiTreeDataSource], + ); - function loadData(newSourceSpec: DataSourceSpec, newSelection?: IndiInfo) { - switch (newSourceSpec.source) { - case DataSourceEnum.UPLOADED: - return uploadedDataSource.loadData({ - spec: newSourceSpec, - selection: newSelection, - }); - case DataSourceEnum.GEDCOM_URL: - return gedcomUrlDataSource.loadData({ - spec: newSourceSpec, - selection: newSelection, - }); - case DataSourceEnum.WIKITREE: - return wikiTreeDataSource.loadData({ - spec: newSourceSpec, - selection: newSelection, - }); - case DataSourceEnum.EMBEDDED: - return embeddedDataSource.loadData({ - spec: newSourceSpec, - selection: newSelection, - }); + const loadData = useCallback( + (newSourceSpec: DataSourceSpec, newSelection?: IndiInfo) => { + switch (newSourceSpec.source) { + case DataSourceEnum.UPLOADED: + return uploadedDataSource.loadData({ + spec: newSourceSpec, + selection: newSelection, + }); + case DataSourceEnum.GEDCOM_URL: + return gedcomUrlDataSource.loadData({ + spec: newSourceSpec, + selection: newSelection, + }); + case DataSourceEnum.WIKITREE: + return wikiTreeDataSource.loadData({ + spec: newSourceSpec, + selection: newSelection, + }); + case DataSourceEnum.EMBEDDED: + return embeddedDataSource.loadData({ + spec: newSourceSpec, + selection: newSelection, + }); + case DataSourceEnum.GOOGLE_DRIVE: + if (!isGoogleDriveConfigured()) { + throw new TopolaError( + 'GOOGLE_DRIVE_NOT_CONFIGURED', + 'Google Drive integration is not configured.', + ); + } + return googleDriveDataSource.loadData({ + spec: newSourceSpec as GoogleDriveSourceSpec, + selection: newSelection, + }); + } + }, + [wikiTreeDataSource], + ); + + // Google Drive "Open with" flow state checking. + useEffect(() => { + const search = queryString.parse(location.search); + const stateParam = search.state; + if (typeof stateParam === 'string' && !stateProcessed.current) { + try { + const parsedState = JSON.parse(stateParam); + if ( + parsedState && + parsedState.action === 'open' && + Array.isArray(parsedState.ids) && + parsedState.ids.length > 0 + ) { + stateProcessed.current = true; + const fileId = parsedState.ids[0]; + // Soft redirect to view file + navigate( + { + pathname: '/view', + search: queryString.stringify({ + source: 'google-drive', + fileId, + }), + }, + {replace: true}, + ); + } + } catch (err) { + // Silently catch JSON parsing errors for state parameters not meant for us (e.g. from other auth tools) + console.warn( + 'Google Drive state query parameter JSON parsing failed or action mismatch:', + err, + ); + } } + }, [navigate, location.search]); + + async function onGoogleSignOut() { + await googleDriveService.signOut(); + setHasGoogleToken(false); + setData(undefined); + setSelection(undefined); + setDetailIndi(undefined); + // Purge sessionStorage keys starting with "google-drive:" + clearGoogleDriveCache(); + navigate({pathname: '/'}, {replace: true}); } useEffect(() => { @@ -406,15 +530,29 @@ export function App() { setChartType(args.chartType); setFreezeAnimation(args.freezeAnimation); setConfig(args.config); + const currentFetchId = ++fetchIdRef.current; try { const data = await loadData(args.sourceSpec, args.selection); + if (!isMountedRef.current || fetchIdRef.current !== currentFetchId) { + return; + } // Set state with data. setData(data); updateChartWithConfig(args.config, data); setShowSidePanel(args.showSidePanel); setState(AppState.SHOWING_CHART); } catch (error: unknown) { - setErrorMessage(getI18nMessage(error as Error, intl)); + if (!isMountedRef.current || fetchIdRef.current !== currentFetchId) { + return; + } + if (error instanceof GoogleDriveAuthError) { + if (args.sourceSpec.source === DataSourceEnum.GOOGLE_DRIVE) { + setFailedFileId(args.sourceSpec.fileId); + setShowAuthModal(true); + } + } else { + setErrorMessage(getI18nMessage(error as Error, intl)); + } } } else if ( state === AppState.SHOWING_CHART || @@ -431,9 +569,16 @@ export function App() { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion updateDisplay(getSelection(data!.chartData, args.selection)); if (loadMoreFromWikitree) { + const currentFetchId = ++fetchIdRef.current; try { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const data = await loadWikiTree(args.selection!.id, intl); + if ( + !isMountedRef.current || + fetchIdRef.current !== currentFetchId + ) { + return; + } const newSelection = getSelection(data.chartData, args.selection); setData(data); setSelection(newSelection); @@ -441,6 +586,12 @@ export function App() { setState(AppState.SHOWING_CHART); // eslint-disable-next-line @typescript-eslint/no-explicit-any } catch (error: any) { + if ( + !isMountedRef.current || + fetchIdRef.current !== currentFetchId + ) { + return; + } setState(AppState.SHOWING_CHART); displayErrorPopup( intl.formatMessage( @@ -455,7 +606,17 @@ export function App() { } } })(); - }); + }, [ + location, + state, + selection, + data, + navigate, + intl, + isNewData, + loadData, + updateDisplay, + ]); useEffect(() => { mcpBridge.registerTools(); @@ -664,6 +825,9 @@ export function App() { showWikiTreeMenus={ sourceSpec?.source === DataSourceEnum.WIKITREE && showWikiTreeMenus } + hasGoogleToken={hasGoogleToken} + onGoogleSignOut={onGoogleSignOut} + onGoogleTokenAcquired={() => setHasGoogleToken(true)} /> {staticUrl ? ( @@ -677,6 +841,33 @@ export function App() { } /> )} + {showAuthModal && failedFileId && ( + { + setShowAuthModal(false); + setHasGoogleToken(true); + if (fileId === failedFileId) { + setState(AppState.INITIAL); + } else { + navigate( + { + pathname: '/view', + search: queryString.stringify({ + source: 'google-drive', + fileId, + }), + }, + {replace: true}, + ); + } + }} + onCancel={() => { + setShowAuthModal(false); + navigate({pathname: '/'}, {replace: true}); + }} + /> + )} ); } diff --git a/src/datasource/data_source.ts b/src/datasource/data_source.ts index 5da56e3..beb8641 100644 --- a/src/datasource/data_source.ts +++ b/src/datasource/data_source.ts @@ -7,6 +7,7 @@ export enum DataSourceEnum { GEDCOM_URL, WIKITREE, EMBEDDED, + GOOGLE_DRIVE, } /** Source specification together with individual selection. */ diff --git a/src/datasource/google_drive.spec.ts b/src/datasource/google_drive.spec.ts new file mode 100644 index 0000000..daa6399 --- /dev/null +++ b/src/datasource/google_drive.spec.ts @@ -0,0 +1,152 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import {beforeEach, describe, expect, it, jest} from '@jest/globals'; +import {Blob} from 'buffer'; +import dedent from 'dedent'; +import {DataSourceEnum, SourceSelection} from './data_source'; +import { + GoogleDriveAuthError, + GoogleDriveDataSource, + GoogleDriveSourceSpec, +} from './google_drive'; +import { + GOOGLE_DRIVE_CACHE_KEY_PREFIX, + googleDriveService, +} from './google_drive_service'; +import {mockSessionStorage} from './test_helpers'; + +// Mock googleDriveService +jest.mock('./google_drive_service', () => ({ + googleDriveService: { + getAccessToken: jest.fn(), + init: jest.fn(), + signOut: jest.fn(), + }, + GOOGLE_DRIVE_CACHE_KEY_PREFIX: 'google-drive:', +})); + +describe('GoogleDriveDataSource', () => { + let dataSource: GoogleDriveDataSource; + let sessionStorageMock: {[key: string]: string}; + + beforeEach(() => { + dataSource = new GoogleDriveDataSource(); + sessionStorageMock = mockSessionStorage(); + + // Mock fetch + global.fetch = jest.fn() as any; + global.window = global as any; + + jest.clearAllMocks(); + }); + + describe('isNewData', () => { + it('returns true if fileId is different', () => { + const isNew = dataSource.isNewData( + {spec: {source: DataSourceEnum.GOOGLE_DRIVE, fileId: 'file-1'}}, + {spec: {source: DataSourceEnum.GOOGLE_DRIVE, fileId: 'file-2'}}, + ); + expect(isNew).toBe(true); + }); + + it('returns false if fileId is the same', () => { + const isNew = dataSource.isNewData( + {spec: {source: DataSourceEnum.GOOGLE_DRIVE, fileId: 'file-1'}}, + {spec: {source: DataSourceEnum.GOOGLE_DRIVE, fileId: 'file-1'}}, + ); + expect(isNew).toBe(false); + }); + }); + + describe('loadData', () => { + const spec: SourceSelection = { + spec: { + source: DataSourceEnum.GOOGLE_DRIVE, + fileId: 'test-file-id', + }, + }; + + it('returns cached data from sessionStorage if present', async () => { + const cached = {gedcom: 'INDI', chartData: {}}; + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}test-file-id`] = + JSON.stringify(cached); + + const result = await dataSource.loadData(spec); + + expect(result).toEqual(cached as any); + expect(googleDriveService.getAccessToken).not.toHaveBeenCalled(); + expect(global.fetch).not.toHaveBeenCalled(); + }); + + it('throws GoogleDriveAuthError if no access token is available', async () => { + jest.mocked(googleDriveService.getAccessToken).mockReturnValue(null); + + await expect(dataSource.loadData(spec)).rejects.toThrow( + GoogleDriveAuthError, + ); + }); + + it('throws GoogleDriveAuthError if fetch returns 401, 403, or 404', async () => { + jest + .mocked(googleDriveService.getAccessToken) + .mockReturnValue('mock-token'); + jest.mocked(global.fetch).mockResolvedValue({ + status: 403, + statusText: 'Forbidden', + } as any); + + await expect(dataSource.loadData(spec)).rejects.toThrow( + GoogleDriveAuthError, + ); + }); + + it('throws generic error if fetch returns other non-200 status', async () => { + jest + .mocked(googleDriveService.getAccessToken) + .mockReturnValue('mock-token'); + jest.mocked(global.fetch).mockResolvedValue({ + status: 500, + statusText: 'Internal Server Error', + } as any); + + await expect(dataSource.loadData(spec)).rejects.toThrow( + 'Failed to fetch file from Google Drive (HTTP 500)', + ); + }); + + it('successfully fetches, parses and returns data', async () => { + jest + .mocked(googleDriveService.getAccessToken) + .mockReturnValue('mock-token'); + + const gedcomContent = dedent` + 0 HEAD + 1 CHAR UTF-8 + 0 @I1@ INDI + 1 NAME John /Doe/ + 1 FAMS @F1@ + 0 @F1@ FAM + 1 HUSB @I1@ + 0 TRLR + `; + const mockBlob = new Blob([gedcomContent]) as any; + jest.mocked(global.fetch).mockResolvedValue({ + status: 200, + blob: jest.fn<() => Promise>().mockResolvedValue(mockBlob), + } as any); + + const result = await dataSource.loadData(spec); + + expect(global.fetch).toHaveBeenCalledWith( + 'https://www.googleapis.com/drive/v3/files/test-file-id?alt=media', + { + headers: { + Authorization: 'Bearer mock-token', + }, + }, + ); + expect(result.gedcom.indis['I1']).toBeDefined(); + expect(result.gedcom.indis['I1'].tag).toBe('INDI'); + expect(result.chartData.indis[0].id).toBe('I1'); + }); + }); +}); diff --git a/src/datasource/google_drive.ts b/src/datasource/google_drive.ts new file mode 100644 index 0000000..be3a07e --- /dev/null +++ b/src/datasource/google_drive.ts @@ -0,0 +1,93 @@ +import {TopolaData} from '../util/gedcom_util'; +import {DataSource, DataSourceEnum, SourceSelection} from './data_source'; +import { + GOOGLE_DRIVE_CACHE_KEY_PREFIX, + googleDriveService, +} from './google_drive_service'; +import {loadAndPrepareFile} from './load_data'; + +/** Specification for Google Drive data source. */ +export interface GoogleDriveSourceSpec { + source: DataSourceEnum.GOOGLE_DRIVE; + /** The unique ID of the file in Google Drive. */ + fileId: string; +} + +/** Error thrown when Google Drive authentication or authorization fails or is missing. */ +export class GoogleDriveAuthError extends Error { + constructor(message?: string) { + super(message); + this.name = 'GoogleDriveAuthError'; + // Set the prototype explicitly. + Object.setPrototypeOf(this, GoogleDriveAuthError.prototype); + } +} + +/** Data source representing family tree data loaded from Google Drive. */ +export class GoogleDriveDataSource implements DataSource { + isNewData( + newSource: SourceSelection, + oldSource: SourceSelection, + _data?: TopolaData, + ): boolean { + return newSource.spec.fileId !== oldSource.spec.fileId; + } + + async loadData( + source: SourceSelection, + ): Promise { + const fileId = source.spec.fileId; + const cacheKey = `${GOOGLE_DRIVE_CACHE_KEY_PREFIX}${fileId}`; + + // 1. Check sessionStorage cache + try { + const cachedData = sessionStorage.getItem(cacheKey); + if (cachedData) { + return JSON.parse(cachedData); + } + } catch (e) { + console.warn('Failed to load data from session storage: ' + e); + } + + // 2. Get the active access token + const token = googleDriveService.getAccessToken(); + if (!token) { + throw new GoogleDriveAuthError( + 'No active Google Drive access token found.', + ); + } + + // 3. Fetch file content from Google Drive API + const response = await window + .fetch(`https://www.googleapis.com/drive/v3/files/${fileId}?alt=media`, { + headers: { + Authorization: `Bearer ${token}`, + }, + }) + .catch((error) => { + throw new Error( + `Network error fetching file from Google Drive: ${(error as Error).message}`, + ); + }); + + // 4. Inspect response status + if ( + response.status === 401 || + response.status === 403 || + response.status === 404 + ) { + throw new GoogleDriveAuthError( + `Access denied or file not found (HTTP ${response.status}).`, + ); + } + if (response.status !== 200) { + throw new Error( + `Failed to fetch file from Google Drive (HTTP ${response.status}): ${response.statusText}`, + ); + } + + // 5. Parse and prepare the file content + const blob = await response.blob(); + return loadAndPrepareFile(blob, cacheKey); + } +} diff --git a/src/datasource/google_drive_service.spec.ts b/src/datasource/google_drive_service.spec.ts new file mode 100644 index 0000000..fa658e3 --- /dev/null +++ b/src/datasource/google_drive_service.spec.ts @@ -0,0 +1,284 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-var-requires */ +import {beforeEach, describe, expect, it, jest} from '@jest/globals'; +import { + GOOGLE_DRIVE_CACHE_KEY_PREFIX, + GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY, + GOOGLE_DRIVE_TOKEN_KEY, + GoogleDriveService, + clearGoogleDriveCache, + isGoogleDriveConfigured, +} from './google_drive_service'; +import {mockSessionStorage} from './test_helpers'; + +describe('GoogleDriveService', () => { + let service: GoogleDriveService; + let sessionStorageMock: {[key: string]: string}; + let mockTokenClient: any; + let initTokenClientSpy: any; + let revokeSpy: any; + let headMock: any; + let documentMock: any; + + beforeEach(() => { + sessionStorageMock = mockSessionStorage(); + + // Mock document + headMock = { + appendChild: jest.fn((el: any) => { + if (el.onload) { + setTimeout(() => el.onload(), 0); + } + }), + }; + + documentMock = { + querySelector: jest.fn().mockReturnValue(null), + createElement: jest.fn().mockImplementation(() => ({ + src: '', + async: false, + defer: false, + onload: null, + onerror: null, + remove: jest.fn(), + })), + head: headMock, + }; + + Object.defineProperty(global, 'document', { + value: documentMock, + writable: true, + configurable: true, + }); + + // Mock global window objects + (global as any).window = global; + (global as any).gapi = { + load: jest.fn((apiName: string, config: any) => { + if (config && config.callback) { + config.callback(); + } + }), + }; + + mockTokenClient = { + requestAccessToken: jest.fn(), + }; + + initTokenClientSpy = jest.fn().mockReturnValue(mockTokenClient); + revokeSpy = jest.fn((token: string, callback: () => void) => callback()); + + (global as any).google = { + accounts: { + oauth2: { + initTokenClient: initTokenClientSpy, + revoke: revokeSpy, + }, + }, + picker: { + DocsView: jest.fn().mockImplementation(() => ({ + setMimeTypes: jest.fn().mockReturnThis(), + })), + PickerBuilder: jest.fn().mockImplementation(() => ({ + addView: jest.fn().mockReturnThis(), + setOAuthToken: jest.fn().mockReturnThis(), + setDeveloperKey: jest.fn().mockReturnThis(), + setCallback: jest.fn().mockReturnThis(), + setSize: jest.fn().mockReturnThis(), + build: jest.fn().mockReturnValue({ + setVisible: jest.fn(), + }), + })), + ViewId: { + DOCS: 'docs', + }, + }, + }; + + // Set up env vars for tests + process.env.VITE_GOOGLE_CLIENT_ID = 'test-client-id'; + process.env.VITE_GOOGLE_API_KEY = 'test-api-key'; + + // Reset modules so that module-scoped variables (like loadingScripts and retryCounts) + // are fresh for every test. + jest.resetModules(); + const { + GoogleDriveService: FreshGoogleDriveService, + } = require('./google_drive_service'); + service = new FreshGoogleDriveService(); + jest.clearAllMocks(); + }); + + describe('isGoogleDriveConfigured', () => { + it('returns true when client ID and API key are configured', () => { + expect(isGoogleDriveConfigured()).toBe(true); + }); + + it('returns false when client ID is missing', () => { + process.env.VITE_GOOGLE_CLIENT_ID = ''; + expect(isGoogleDriveConfigured()).toBe(false); + }); + }); + + describe('init', () => { + it('resolves immediately if not configured', async () => { + process.env.VITE_GOOGLE_CLIENT_ID = ''; + await expect(service.init()).resolves.not.toThrow(); + expect(initTokenClientSpy).not.toHaveBeenCalled(); + }); + + it('successfully initializes scripts and token client', async () => { + await service.init(); + + expect(initTokenClientSpy).toHaveBeenCalledWith({ + client_id: 'test-client-id', + scope: 'https://www.googleapis.com/auth/drive.file', + callback: expect.any(Function), + }); + expect(gapi.load).toHaveBeenCalledWith('picker', expect.any(Object)); + }); + + it('throws error and clears initPromise on load failure', async () => { + const consoleErrorSpy = jest + .spyOn(console, 'error') + .mockImplementation(() => { + // No-op + }); + + const oldGapi = (global as any).gapi; + delete (global as any).gapi; + + await expect(service.init()).rejects.toThrow(); + + (global as any).gapi = oldGapi; + + await expect(service.init()).resolves.not.toThrow(); + + expect(consoleErrorSpy).toHaveBeenCalled(); + consoleErrorSpy.mockRestore(); + }); + }); + + describe('getAccessToken', () => { + it('returns null when no token is cached', () => { + expect(service.getAccessToken()).toBeNull(); + }); + + it('returns null when token is expired', () => { + sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY] = 'expired-token'; + sessionStorageMock[GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY] = String( + Date.now() - 1000, + ); + + expect(service.getAccessToken()).toBeNull(); + }); + + it('returns token when cached token is valid', () => { + sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY] = 'valid-token'; + sessionStorageMock[GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY] = String( + Date.now() + 60000, + ); + + expect(service.getAccessToken()).toBe('valid-token'); + }); + }); + + describe('requestToken', () => { + it('returns cached valid token without initiating login popup', async () => { + sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY] = 'valid-token'; + sessionStorageMock[GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY] = String( + Date.now() + 60000, + ); + + const token = await service.requestToken(); + expect(token).toBe('valid-token'); + expect(mockTokenClient.requestAccessToken).not.toHaveBeenCalled(); + }); + + it('triggers requestAccessToken when no valid token cached', async () => { + const tokenPromise = service.requestToken(); + + // Wait for async script loaders and GAPI load callback in init() to execute + await new Promise((resolve) => setTimeout(resolve, 0)); + + const callback = initTokenClientSpy.mock.calls[0][0].callback; + + callback({ + access_token: 'new-auth-token', + expires_in: '3600', + }); + + const token = await tokenPromise; + expect(token).toBe('new-auth-token'); + expect(sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY]).toBe('new-auth-token'); + expect(mockTokenClient.requestAccessToken).toHaveBeenCalledWith({ + prompt: '', + }); + }); + + it('rejects previous pending promise when superseded by a forced select request', async () => { + const firstTokenPromise = service.requestToken(false); + const secondTokenPromise = service.requestToken(true); + + await expect(firstTokenPromise).rejects.toThrow( + 'Authentication superseded by a new request.', + ); + + const callback = initTokenClientSpy.mock.calls[0][0].callback; + callback({ + access_token: 'superseded-flow-token', + expires_in: '3600', + }); + + const secondToken = await secondTokenPromise; + expect(secondToken).toBe('superseded-flow-token'); + }); + }); + + describe('signOut', () => { + it('revokes the token and clears storage keys', async () => { + sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY] = 'my-token'; + sessionStorageMock[GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY] = '9999999999999'; + + await service.signOut(); + + expect(revokeSpy).toHaveBeenCalledWith('my-token', expect.any(Function)); + expect(sessionStorageMock[GOOGLE_DRIVE_TOKEN_KEY]).toBeUndefined(); + expect( + sessionStorageMock[GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY], + ).toBeUndefined(); + }); + }); + + describe('clearGoogleDriveCache', () => { + it('clears all google-drive: keys except the specified key', () => { + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file1`] = 'data1'; + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file2`] = 'data2'; + sessionStorageMock['other-key'] = 'other-data'; + + clearGoogleDriveCache(`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file1`); + + expect(sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file1`]).toBe( + 'data1', + ); + expect( + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file2`], + ).toBeUndefined(); + expect(sessionStorageMock['other-key']).toBe('other-data'); + }); + + it('clears all google-drive: keys if no key is excepted', () => { + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file1`] = 'data1'; + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file2`] = 'data2'; + + clearGoogleDriveCache(); + + expect( + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file1`], + ).toBeUndefined(); + expect( + sessionStorageMock[`${GOOGLE_DRIVE_CACHE_KEY_PREFIX}file2`], + ).toBeUndefined(); + }); + }); +}); diff --git a/src/datasource/google_drive_service.ts b/src/datasource/google_drive_service.ts new file mode 100644 index 0000000..78949aa --- /dev/null +++ b/src/datasource/google_drive_service.ts @@ -0,0 +1,337 @@ +const GOOGLE_IDENTITY_SERVICES_SCRIPT = + 'https://accounts.google.com/gsi/client'; +const GOOGLE_API_CLIENT_SCRIPT = 'https://apis.google.com/js/api.js'; + +/** Mapping of dynamically loaded script URLs to the global variables they export on window. */ +const SCRIPT_GLOBALS: Record = { + [GOOGLE_IDENTITY_SERVICES_SCRIPT]: 'google', + [GOOGLE_API_CLIENT_SCRIPT]: 'gapi', +}; + +/** Keys used for sessionStorage storage of Google Drive state and credentials. */ +export const GOOGLE_DRIVE_TOKEN_KEY = 'google-drive-token'; +export const GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY = + 'google-drive-token-expires-at'; +export const GOOGLE_DRIVE_CACHE_KEY_PREFIX = 'google-drive:'; + +/** Cache of script loading promises to prevent duplicate fetch operations for the same script. */ +const loadingScripts = new Map>(); + +/** Helper to load a script dynamically. */ +function loadScript(src: string): Promise { + const cachedPromise = loadingScripts.get(src); + if (cachedPromise) { + return cachedPromise; + } + + // If a script tag with this URL is already present in the DOM, check if it loaded successfully. + // If the script's global export is initialized on window, we can reuse it immediately. + // Otherwise (e.g. if script loading was blocked or failed), remove the stale script element + // so we can attempt a clean reload. + const existingScript = document.querySelector(`script[src="${src}"]`); + if (existingScript) { + const globalVar = SCRIPT_GLOBALS[src]; + if ( + globalVar && + (window as unknown as Record)[globalVar] + ) { + return Promise.resolve(); + } + existingScript.remove(); + } + + const promise = new Promise((resolve, reject) => { + const script = document.createElement('script'); + script.src = src; + script.async = true; + script.defer = true; + script.onload = () => { + resolve(); + }; + script.onerror = () => { + loadingScripts.delete(src); + script.remove(); + reject(new Error(`Failed to load script: ${src}`)); + }; + document.head.appendChild(script); + }); + + loadingScripts.set(src, promise); + return promise; +} + +/** Centralized helper to check if Google Drive is configured. */ +export function isGoogleDriveConfigured(): boolean { + return ( + !!import.meta.env.VITE_GOOGLE_CLIENT_ID && + !!import.meta.env.VITE_GOOGLE_API_KEY + ); +} + +/** Clears cached Google Drive files from sessionStorage, except for the specified key. */ +export function clearGoogleDriveCache(exceptKey?: string): void { + try { + const keysToRemove: string[] = []; + for (let i = 0; i < sessionStorage.length; i++) { + const key = sessionStorage.key(i); + if ( + key && + key.startsWith(GOOGLE_DRIVE_CACHE_KEY_PREFIX) && + key !== exceptKey + ) { + keysToRemove.push(key); + } + } + keysToRemove.forEach((k) => sessionStorage.removeItem(k)); + } catch (err) { + console.warn( + 'Failed to clear Google Drive cache from session storage:', + err, + ); + } +} + +const SUPPORTED_MIME_TYPES = [ + 'application/x-gedcom', + 'text/vnd.familysearch.gedcom', + 'application/x-zip', +].join(','); + +export class GoogleDriveService { + /** Cached promise for the SDK initialization flow. */ + private initPromise: Promise | null = null; + /** Google accounts OAuth2 TokenClient instance used to request an access token. */ + private tokenClient: google.accounts.oauth2.TokenClient | null = null; + + /** Resolve callback for a pending authentication promise. */ + private pendingAuthResolve: ((token: string) => void) | null = null; + /** Reject callback for a pending authentication promise. */ + private pendingAuthReject: ((error: unknown) => void) | null = null; + /** Cached promise for a pending authentication request to prevent concurrent popup triggers. */ + private pendingAuthPromise: Promise | null = null; + + /** Initialize Google Drive integration if client ID and API Key are present. */ + init(): Promise { + if (this.initPromise) { + return this.initPromise; + } + + if (!isGoogleDriveConfigured()) { + this.initPromise = Promise.resolve(); + return this.initPromise; + } + + this.initPromise = (async () => { + try { + // Dynamically load scripts if not present + await Promise.all([ + loadScript(GOOGLE_IDENTITY_SERVICES_SCRIPT), + loadScript(GOOGLE_API_CLIENT_SCRIPT), + ]); + + if (!window.gapi || !window.google) { + throw new Error( + 'Google SDK scripts loaded but global variables are missing.', + ); + } + + // Load GAPI Picker client + await new Promise((resolve, reject) => { + gapi.load('picker', { + callback: resolve, + onerror: () => + reject(new Error('Failed to load Google Picker API')), + }); + }); + + // Initialize modern GIS Token Client + const clientId = import.meta.env.VITE_GOOGLE_CLIENT_ID || ''; + this.tokenClient = google.accounts.oauth2.initTokenClient({ + client_id: clientId, + scope: 'https://www.googleapis.com/auth/drive.file', + callback: (response) => { + if (response.error) { + if (this.pendingAuthReject) { + this.pendingAuthReject(response); + } + return; + } + if (response.access_token) { + // Cache in sessionStorage to persist page refreshes. + const expiresAt = Date.now() + Number(response.expires_in) * 1000; + sessionStorage.setItem( + GOOGLE_DRIVE_TOKEN_KEY, + response.access_token, + ); + sessionStorage.setItem( + GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY, + String(expiresAt), + ); + + if (this.pendingAuthResolve) { + this.pendingAuthResolve(response.access_token); + } + } else { + if (this.pendingAuthReject) { + this.pendingAuthReject(new Error('No access token returned.')); + } + } + }, + }); + } catch (err) { + console.error('Error during Google SDK initialization:', err); + this.initPromise = null; // Clear cached promise on failure to allow retry. + throw err; + } + })(); + + return this.initPromise; + } + + /** Gets cached access token if still valid. */ + getAccessToken(): string | null { + const token = sessionStorage.getItem(GOOGLE_DRIVE_TOKEN_KEY); + const expiresAtStr = sessionStorage.getItem( + GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY, + ); + if (token && expiresAtStr) { + const expiresAt = Number(expiresAtStr); + if (Date.now() < expiresAt) { + return token; + } + } + return null; + } + + /** Triggers the Google OAuth popup to request a new access token. */ + async requestToken(forceAccountSelect = false): Promise { + await this.init(); + if (!this.tokenClient) { + throw new Error( + 'Google Identity Services not initialized or credentials missing.', + ); + } + + // Check if we already have a valid token in cache + const cachedToken = this.getAccessToken(); + if (cachedToken && !forceAccountSelect) { + return cachedToken; + } + + if (this.pendingAuthPromise) { + if (forceAccountSelect) { + if (this.pendingAuthReject) { + this.pendingAuthReject( + new Error('Authentication superseded by a new request.'), + ); + } + this.pendingAuthPromise = null; + this.pendingAuthResolve = null; + this.pendingAuthReject = null; + } else { + return this.pendingAuthPromise; + } + } + + const authPromise = new Promise((resolve, reject) => { + this.pendingAuthResolve = (token) => { + this.pendingAuthPromise = null; + this.pendingAuthResolve = null; + this.pendingAuthReject = null; + resolve(token); + }; + this.pendingAuthReject = (err) => { + this.pendingAuthPromise = null; + this.pendingAuthResolve = null; + this.pendingAuthReject = null; + reject(err); + }; + + const tokenClient = this.tokenClient; + if (tokenClient) { + tokenClient.requestAccessToken({ + prompt: forceAccountSelect ? 'select_account' : '', + }); + } + }); + + if (!forceAccountSelect) { + this.pendingAuthPromise = authPromise; + } + return authPromise; + } + + /** Shows the responsive Google Picker to select a .ged or .gdz file. */ + async showPicker( + onPicked: (fileId: string) => void, + onCancel?: () => void, + ): Promise { + await this.init(); + const token = this.getAccessToken(); + if (!token) { + throw new Error('User not authenticated.'); + } + + const apiKey = import.meta.env.VITE_GOOGLE_API_KEY; + if (!apiKey) { + throw new Error('Google API key is missing.'); + } + + const clientId = import.meta.env.VITE_GOOGLE_CLIENT_ID; + const appId = clientId ? clientId.split('-')[0] : ''; + + // Compute dimensions based on window size + const viewWidth = Math.min(800, window.innerWidth - 40); + const viewHeight = Math.min(600, window.innerHeight - 40); + + const docsView = new google.picker.DocsView(google.picker.ViewId.DOCS) + .setMimeTypes(SUPPORTED_MIME_TYPES) + .setMode(google.picker.DocsViewMode.LIST); + + const picker = new google.picker.PickerBuilder() + .addView(docsView) + .setOAuthToken(token) + .setDeveloperKey(apiKey) + .setAppId(appId) + .setSize(viewWidth, viewHeight) + .setOrigin(window.location.origin) + .setCallback((data: unknown) => { + const responseObj = data as Record; + if (responseObj.action === google.picker.Action.PICKED) { + const docs = responseObj[google.picker.Response.DOCUMENTS] as Record< + string, + unknown + >[]; + const doc = docs[0]; + const fileId = doc[google.picker.Document.ID] as string; + onPicked(fileId); + } else if (responseObj.action === google.picker.Action.CANCEL) { + if (onCancel) { + onCancel(); + } + } + }) + .build(); + + picker.setVisible(true); + } + + /** Revokes current token and purges tokens from local memory and sessionStorage. */ + async signOut(): Promise { + await this.init(); + const token = this.getAccessToken(); + if (token) { + try { + google.accounts.oauth2.revoke(token, () => { + // Callback required by Google API, no action needed on token revocation completion. + }); + } catch (err) { + console.warn('Failed to revoke Google OAuth token:', err); + } + } + sessionStorage.removeItem(GOOGLE_DRIVE_TOKEN_KEY); + sessionStorage.removeItem(GOOGLE_DRIVE_TOKEN_EXPIRES_AT_KEY); + } +} + +export const googleDriveService = new GoogleDriveService(); diff --git a/src/datasource/load_data.ts b/src/datasource/load_data.ts index 67bc278..eaebeb5 100644 --- a/src/datasource/load_data.ts +++ b/src/datasource/load_data.ts @@ -117,6 +117,20 @@ export async function loadFile( return {gedcom: await blob.text(), images: new Map()}; } +/** Parses the given file and prepares the TopolaData structure, revoking URLs on error. */ +export async function loadAndPrepareFile( + blob: Blob, + cacheId: string, +): Promise { + const {gedcom, images} = await loadFile(blob); + try { + return prepareData(gedcom, cacheId, images); + } catch (error) { + revokeObjectUrls(images); + throw error; + } +} + /** Fetches data from the given URL. Uses cors-anywhere if handleCors is true. */ export async function loadFromUrl( url: string, @@ -151,13 +165,7 @@ export async function loadFromUrl( throw new Error(response.statusText); } - const {gedcom, images} = await loadFile(await response.blob()); - try { - return prepareData(gedcom, url, images); - } catch (error) { - revokeObjectUrls(images); - throw error; - } + return loadAndPrepareFile(await response.blob(), url); } /** Loads data from the given GEDCOM file contents. */ diff --git a/src/datasource/test_helpers.ts b/src/datasource/test_helpers.ts new file mode 100644 index 0000000..874d365 --- /dev/null +++ b/src/datasource/test_helpers.ts @@ -0,0 +1,34 @@ +import {jest} from '@jest/globals'; + +/** + * Mocks the global sessionStorage object and returns the underlying dictionary object + * that stores the items. This dictionary can be inspected or modified by tests. + */ +export function mockSessionStorage(): {[key: string]: string} { + const sessionStorageMock: {[key: string]: string} = {}; + Object.defineProperty(global, 'sessionStorage', { + value: { + getItem: jest.fn((key: string) => sessionStorageMock[key] || null), + setItem: jest.fn((key: string, value: string) => { + sessionStorageMock[key] = value; + }), + removeItem: jest.fn((key: string) => { + delete sessionStorageMock[key]; + }), + clear: jest.fn(() => { + for (const key in sessionStorageMock) { + delete sessionStorageMock[key]; + } + }), + get length() { + return Object.keys(sessionStorageMock).length; + }, + key: jest.fn((index: number) => { + return Object.keys(sessionStorageMock)[index] || null; + }), + }, + writable: true, + configurable: true, + }); + return sessionStorageMock; +} diff --git a/src/menu/google_auth_modal.tsx b/src/menu/google_auth_modal.tsx new file mode 100644 index 0000000..799b8a6 --- /dev/null +++ b/src/menu/google_auth_modal.tsx @@ -0,0 +1,189 @@ +import {useEffect, useRef, useState} from 'react'; +import {FormattedMessage} from 'react-intl'; +import {Button, Header, Icon, Message, Modal} from 'semantic-ui-react'; +import {googleDriveService} from '../datasource/google_drive_service'; + +interface Props { + /** The Google Drive file ID that initially failed to load. */ + failedFileId: string; + /** Callback triggered when the authentication and file selection are successful. */ + onAuthSuccess: (fileId: string) => void; + /** Callback triggered when the user cancels the modal. */ + onCancel: () => void; +} + +/** + * Modal dialog that prompts the user to authenticate and select a specific file + * from Google Drive when direct file loading fails due to insufficient permissions. + */ +export function GoogleAuthModal(props: Props) { + const [loading, setLoading] = useState(false); + const [showPickerInstructions, setShowPickerInstructions] = useState(false); + const [errorMessage, setErrorMessage] = useState(null); + const timeoutRef = useRef(null); + + useEffect(() => { + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + }; + }, []); + + async function completeAuthFlow(token: string) { + const response = await window.fetch( + `https://www.googleapis.com/drive/v3/files/${props.failedFileId}?alt=media`, + { + headers: { + Authorization: `Bearer ${token}`, + }, + }, + ); + + if (response.status === 200) { + setLoading(false); + props.onAuthSuccess(props.failedFileId); + return; + } + + setShowPickerInstructions(true); + + googleDriveService.showPicker( + (pickedFileId) => { + setLoading(false); + props.onAuthSuccess(pickedFileId); + }, + () => { + setLoading(false); + }, + ); + } + + async function handleConnect() { + setLoading(true); + setErrorMessage(null); + + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + timeoutRef.current = setTimeout(() => { + setLoading(false); + timeoutRef.current = null; + }, 20000); + + try { + const token = await googleDriveService.requestToken(false); + + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + timeoutRef.current = null; + } + + await completeAuthFlow(token); + } catch (err: unknown) { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + timeoutRef.current = null; + } + console.error('Auth error in fallback modal:', err); + setErrorMessage( + (err as Error).message || 'An error occurred during authentication.', + ); + setLoading(false); + } + } + + async function handleSwitchAccount() { + setLoading(true); + setErrorMessage(null); + + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + timeoutRef.current = setTimeout(() => { + setLoading(false); + timeoutRef.current = null; + }, 20000); + + try { + const token = await googleDriveService.requestToken(true); + + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + timeoutRef.current = null; + } + + await completeAuthFlow(token); + } catch (err: unknown) { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + timeoutRef.current = null; + } + console.error('Switch account error in fallback modal:', err); + setErrorMessage( + (err as Error).message || 'An error occurred during authentication.', + ); + setLoading(false); + } + } + + return ( + +
+ + +
+ +

+ +

+ {showPickerInstructions && ( + + + + +

+ +

+
+ )} + {errorMessage && ( + +

{errorMessage}

+
+ )} +
+ + + {showPickerInstructions && ( + + )} + + +
+ ); +} diff --git a/src/menu/google_drive_menu.tsx b/src/menu/google_drive_menu.tsx new file mode 100644 index 0000000..bfd3027 --- /dev/null +++ b/src/menu/google_drive_menu.tsx @@ -0,0 +1,59 @@ +import queryString from 'query-string'; +import {FormattedMessage} from 'react-intl'; +import {useNavigate} from 'react-router'; +import {Icon} from 'semantic-ui-react'; +import { + googleDriveService, + isGoogleDriveConfigured, +} from '../datasource/google_drive_service'; +import {MenuItem, MenuType} from './menu_item'; + +interface Props { + menuType: MenuType; + onTokenAcquired?: () => void; +} + +/** + * Component representing the Google Drive menu option. + * It handles authenticating the user and launching the Google Picker to select files. + */ +export function GoogleDriveMenu(props: Props) { + const navigate = useNavigate(); + + // Do not render the menu item if Google Drive API credentials are not configured. + if (!isGoogleDriveConfigured()) { + return null; + } + + async function handleClick() { + try { + // 1. Request access token + await googleDriveService.requestToken(); + if (props.onTokenAcquired) { + props.onTokenAcquired(); + } + // 2. Open Google Picker + await googleDriveService.showPicker((fileId) => { + navigate({ + pathname: '/view', + search: queryString.stringify({ + source: 'google-drive', + fileId, + }), + }); + }); + } catch (err) { + console.error('Failed Google Drive login/file picking:', err); + } + } + + return ( + + + + + ); +} diff --git a/src/menu/top_bar.tsx b/src/menu/top_bar.tsx index fcc8ddd..4255e46 100644 --- a/src/menu/top_bar.tsx +++ b/src/menu/top_bar.tsx @@ -3,8 +3,10 @@ import {FormattedMessage} from 'react-intl'; import {Link, useLocation, useNavigate} from 'react-router'; import {Dropdown, Icon, Menu} from 'semantic-ui-react'; import {IndiInfo, JsonGedcomData} from 'topola'; +import {isGoogleDriveConfigured} from '../datasource/google_drive_service'; import {Media} from '../util/media'; -import {MenuType} from './menu_item'; +import {GoogleDriveMenu} from './google_drive_menu'; +import {MenuItem, MenuType} from './menu_item'; import {SearchBar} from './search'; import {UploadMenu} from './upload_menu'; import {UrlMenu} from './url_menu'; @@ -35,6 +37,12 @@ interface Props { eventHandlers: EventHandlers; /** Whether to show additional WikiTree menus. */ showWikiTreeMenus: boolean; + /** Whether the user has authorized Google Drive and has an active token. */ + hasGoogleToken: boolean; + /** Callback to sign out of Google Drive. */ + onGoogleSignOut?: () => void; + /** Callback triggered when a new Google Drive token is acquired. */ + onGoogleTokenAcquired?: () => void; } export function TopBar(props: Props) { @@ -202,6 +210,43 @@ export function TopBar(props: Props) { ); } + function googleDriveDisconnectMenu(screenSize: ScreenSize) { + if (!props.hasGoogleToken || !isGoogleDriveConfigured()) { + return null; + } + return ( + <> + + + + + {screenSize === ScreenSize.SMALL ? : null} + + ); + } + + function fileMenuItems(menuType: MenuType) { + return ( + <> + + + + + + ); + } + function fileMenus(screenSize: ScreenSize) { // In standalone WikiTree mode, show only the "Select WikiTree ID" menu. if (!props.standalone && props.showWikiTreeMenus) { @@ -237,26 +282,16 @@ export function TopBar(props: Props) { } className="item" > - - - - - + {fileMenuItems(MenuType.Dropdown)} ) : ( - <> - - - - + fileMenuItems(MenuType.Menu) ); case ScreenSize.SMALL: return ( <> - - - + {fileMenuItems(MenuType.Dropdown)} ); @@ -295,6 +330,7 @@ export function TopBar(props: Props) { {fileMenus(ScreenSize.SMALL)} {chartMenus(ScreenSize.SMALL)} + {googleDriveDisconnectMenu(ScreenSize.SMALL)} {wikiTreeLoginMenu(ScreenSize.SMALL)} + {googleDriveDisconnectMenu(ScreenSize.LARGE)} {wikiTreeLoginMenu(ScreenSize.LARGE)} X-AmxoA#n1sh(0=$0_Z_Tt`!CCf8Jf3M*E zQIsTw;GW}R1i163q+xO%bt8`TwW~oNHzxS>mf7<@<5*|RP0b!3{!FTE9Nu0;sOC+Z zv*P-^WM&#p0xkPhEQ|EoSu3foFu9b0Y<9UAE)X^2e&lPTejMMXDfEG0L2EsIL=j?7 z?knnzj$*l$IH&}j#!LN{UIxDJVY;B+#f@y$L0&jlA*3r1<&0tH@a6t6BJ$9D{p%2z zg2X5=5McfS|2gC$gTONW&-s52FAy;xWd9Gd{QuDm{NKa>&-VXsvmwNP-b(=Gq?2Ys zpGY=l5YKGLLfcJeZG`&YZ)!oUb_)5=ErF-s9n)x)tVU~3|1Nu`75KlKo}VQ4`6cd6 zsQ`vCR!OM;^A-^f5H$U-b8~(=%3rJX*?PNg{u8wZ@1xLB*fBDk$73P%h@%U3Bb9c= z6;;Xg|2&Hl`-r8e|Mx6ds}X~W5u=2;k|tW=PhD-qR9wpAUz|0pKEWDAbots} z50~kMPoFmGLo|_SaHsW?Leaof)5|)mWq;_1boPt-WF1lUk?{(WV-Ahm(eLfl15k*B zE|&L4Hy&A?FHd;ks&NDh_nTGBi9h+S4V~KF^3I|lrqvww{e_V;)XAC%#40_!mnlz` zAb|hnJbjJgX|Pv5hjQ4f{3%3yUM{z4pLNO3XqnCCjxH%KTUiH5*qczgHOlM0Mr9NT zbY=8)9BhYto5>%q*1KIqKGiHeLW1BLK#WrnJiD7QN8hnEvbi-gf^Il#IW1NcMh*ji9j|c2BP1y?lc19u zLCSrv%z02SBp*?))RTTcDxrrrV=r$?pDZn8-79@)*nAHQg0Z~=$z1oKPyIA(HVYCS_LRCRUV_87DIbJT~CmDt#$@KXMrfO1&RxPyPoq)Yrg{( zXfThT9)~SPc3M}LECYgko%dHtFy2qJahadaqeOaoRumGj9!CMcnUU76ufa*v{RL?q z&f`WUDYpZ7p>-Q4W7_R9Y29)%y$zfb*5vlrAWxMptE^jI+YuvE&H=77=W&u=TQ943 zU8BpV{lcw&dUuW6!~lfhMCFQ6|_ruF%ewWu_g@yn6FGQT$48}rWCuCO)oL;Y<>AriU@Wm7wX6fUn z3UWnMmeb@R#5Arejw&i#3TO41xOjxSyIebxfq?m9(VwB7EA#ixU9sqkEO)~V(<55& zyuhNnv{z&J(Sy06jXC}y~oz{*!n-5zmp zGK$_yzts&6JZ5n^OotNrG!|OGQWMoJmul=pjLF}&h9VHnGF+!6sR50Akb6KD)349! zk~pLMI#Aii>)DsXPWBCr4VbFljF3ctPSXXXnmBC+eDGHq1U5EU{o53-Kt<$og^cNf z!$ilbRpd5?@46xxLmM#N)%?pUi${v>&(eLX8Lz7Y9f`^gUr{Sg`%}E}m=~>#xc7$)VvDP+>2BW>W6$Li%(Z!qb0r@k zp89HM7j#38sCU4JUJ}S=g@EizlUkRRd{31h2Ew%G+?|6VyS8T1i)vp zgMe;$Stn3*y@dj0U&R&wt-4CGEJr1Ul^h(*F6x&G7PSLrDOULBj)s1+#Y-82nQ4PfdXF5)vI zyx5yKoX*~tr0MB_+qtFGgdSRhnK~}@trSMw4(tqUw$;;+zYxWS)~BZIh=MNJSz|Eb zOMEY(SmUeHXGyoZ$-WsS(&X`Celc_)9YIfgTqVRI0B^n(iL zs0(m>*qhu|>1sprBEy6}bpkGkFch<)zpO2WyYqY(U-_Q@U8ciMp@v3kY~K9qL(bC7 ztjhf+)k({g%TCzz78{~vR^j!P(HSn4ipYr>%3LI8#3D|T{7AY=fWT2&w1u5Wi=!IB zZXr&pE3M~}mWpVF@gbO7_LAClQ$X{!uv+8&~ zw6}IHj|_t8G_oE7z|P;tr5%1xDv(^iuwJ5m*qSY+rgp3eKD+F$rkb}(LVvSJJ?6nzAW&qIH`VnFz4*u-z z*^N2V!0GkqKlKOA;KFxXH&8(Bb2yf4Pad4c$n1i9YxC0D+~_ZFEo4kDul)FC?oX!z zJ++)GUNKcbC{_+nsZy^>VfE6TLm~6Lm_G+DP7k*wWYhias5IYYIZ*nJjn5Uetw)ug z+s(<%9hw9sjPQ>VuFN_Ls0a1kABG^3U)SP4((l#>liF!E&YqQx^t~~0U9+Vbyj%90 z1O>|!20QMsLYF0v;xlD_S4)_IT#SDKQ+P)n6vZQ;{k|&9$K|rybn>HkxXWO~?8kD8 zv9jkUL1|~rW{fKGbn{KNfq-h3PBkPa$q?!$uW|D8=?}x3le78p7CnSZm!sTaeohpr z!xl1efqE{hRH6)J{;wRmI2ch%efw6G$=Qx%yQ-XJ9a0H`QlactNoEN36{3I43f&b2 z27CdBvEuGu4pX89=R|i%g6E(cFm5k<87IbYgBLI^VSLN`FL)6)y-R&Yx9t4PMIBRm zrGDI?5Nrloc0X*!K94I3A`@WoEZf$Cqp-YnU$Xk6$13=}n*7COD}!e~fWgR+A1jYp z+P>G|;iKpalTi;9!d0C1M}uW)lkKl8#52GqN-x|?5&XsL+qp@k{pn+e$B#F`^XM_H z>$_Gc1&mH$35KN)m3P|uTZZ(&ias2en%ivBz+A#$$75eD%f%al<(YgGE(sAFwoOWB z;r{^E zbrb`cdk{Zd(0e|r%?SPVc0Na-Js{WqKC6bs=KY$T!^kMI65ay$8Y&*4z8>RoTxV-Q zhFh0j(vTKK*ix=HWta^5i$PkPvB?6k4w?-J=mT@yM_H~=#mV;X8o$FbjR z-0(AK+J0Dg^}Tz9!W{a;^JJ-)5?J^iFRDO|(JYaENyG=Xf=^t7weiTs`ZJKmh@-9k zW#f^f3o!v%?kMAWp>}{EG+vF;!^!P#&sWysF=4W4LUYBv3u&GiEP~6ogDHXks_6P0 zJX9#S^JLm&sw4Ivm)q|==4mdMfG3an+dI`q_k zFoH;}1Q4!(opA?rGV5xsO)Z?#eA}p6>$nb@E^9QNXg|Eg)76BOrA7F`&)&orZ~A&7 zU)+;iU?Ar85;qu(nfvSVg_fiBcyKrwwFRz)S%3IU-Bv(ee=_TzMQkS=RI%meEu>#py~SsobmZGk zI(({EZ!TG8H(!DIdJ`7KU+D(LMvzg?^U>%=p5oQnQwpT7naNKYQb)(WHk%~S z^2H_I9xloQkX$Vt*KEh>KkF$z5?--}PhQ(86ZvoFhgUYxY-cNk+`tUB z$JU{Qa4ZK+y9V%PkRtiH49o7Kb-%Rmmvs^&6sr~0GWj6(FQzy&W~B3y4tNy?+$$TnYbFE zA#N%PWRu>^9GYTevGLN>ojmW$MVPN0`u9NJAF+vuU;+tgfnKZ+)7o+{wX(y+pj?sg>U3su;cKla%K?;i` zrtamu2;I4O+iqAeBW0UYW>JEL)VY+p$>5C`_|6Y+F-zIFtnz=%YP zl>vwcD`QfhjR<2V|sh{Jp5%dRcXXL@u@BKNu&Z_c--<;); zL0GMxwCkr&ul+bd9$`JDTShn2T?+8NyOUJdje&~BE9vf$kSHRA==jg}JPlUk+Pz_W z!mgO$w3Wgx>bzsH`4@K77@zLHBI1y>{Q@qD%l{$atAPXDQG|KHSZOkr;Z(N&zA421 zH${|VVK{FRl;W{m9QnRo&1-qU;D5aJ&{LkPK<{+DxzO7`K=Z9F^~cR-zbHuo9%IEy zq?0>e_;X7MoFKE&s~Z?S`VxIdIBkL87^44NDgm%#yG9ZDKa zJPW32!8^xppmJ$U0(G0|qmdg0nQVQxbX(wBdH>se|s zra4T#$n$rPz?6bVsP*>gBw-0r>#D|K9Og)J98LV98*(OqwicU-&;{G^L`SjQcpFmu zV)g=pXY(%TPPgtKE+kr}EcgJ_#8(v{<*xo?)otkW!1{zjEYKm9i~ic!ar7lr+2{lc z8GE%hzwo#&wt*#;C2dA-HnqZu5`oiPc=izE_eWWiuerwW;8P;4`s3x7@$u8epTBQf zv~z2xOh6u+_wO4Xfo6wJg3{=WmCKeqF}e!*Bqe|N{uD;PO}g1`yD|Xe9(jY;E3(AX z%VYP>VE@s(Yg3m2*szy%efr`r_*P@&2I!`O$f9}8IBZXD4pXcS%Ps2MXzQXdTGA&x z6H6H9muF@Q=3(#D-5ri}P@qi6KrX{54{a6#8@-}S0?ZzIe-&^ao#fE_d7JoImkDp^ zO*`N3j#41e1sVj9ngP_`kX%4|42bat;!kO;v1vW5b$yO#R&)R%i~%}Cbo-LYA4_0u zSTKzBnzNyapAY-<`FL&rJ9>77=8e0Rq(d)VpiVq;tR6L=Wo)#JX-$xSr3 zr{lSJ*~)Q2B3zbM=jTjv`l!I5)_M%D7l)mrzs>X*d$RZ{(x(sOo^h0xWS9MKt{B(^ zsR@Y`=KMFWP^7H(le!`5Bb^Azhrg0q{O{4P1;BV(lKe(IUh)Qy*?C-+ohR9$Dbz1H z>{&ZEs_4?au1St|9=CPj+XepVcn#!{s~6dck$tW*+vJ2|>dcRpfwfP*O2A8F7MRT9 zG!ilS0ul=N?mz#s2f)%EeZgBo_L@fW-42=)8dg-4=FO!O|AcGV;84@d&-mzYP(Ime$_oy0urP{)?entXB2*oDos}Vh-mixd!@^6ZyWUq0E=!EK-z^qe>*T*q-N9V~F99IydK8BBY!<8LrE7M-jDf7cN| z#Ne|M)2V&FP!I02iC**=I+4iL%xIv0b42}~ncm3-)Y8U(^a+}mh)PB_m@dyOEY)l?TDcG>IT=1>{?KbCHw^pT2*$B%?SDTx2YED9Fp*)niQi_xfdVfk z&TG*0hyQiczhipNQ{E<<037_Sm?FmKXvnGu65YRwSRz8E+?KHrJ+kP4wMvVj51)k= zAcN_mNIbIb$zK#WXE&mD=E}IC>m5BRdqvP~XS+3AtmLZK*O5X_-gw*|h;uywcJ4l6 zne@!12RzN;r{W#5G^%kzp7n`|XEZyeH2$Q&&*_|e@Ho-mL7!+jX4!x$b%Ex?4zOx3AH;y@CVU)p5}@S%F0@`V`B@T= zC4Tr|tSNfP+3jiCoyewD_j;~y-`gAdxd|#Fkf{>vEpSHB&P0qfh{Y~GXn*9KoR zFZ?~9gi}E_%xO_$_x=wmh40%KoI<34VEg47tQsNfH^YyEW<^hZa0$AjkJqS*k9nrN zJ$aVSf4hJ!8Of+NpI zwJwVs4pk``Du18@y?tjvwyM&faDG#6eR~R4dn=%f+gfOxNFKMq=**uSzyPa9;D;adiyfhW{^Qvn|0 z>j2jT#_9IxAA6PrW0deFpx{y;$nk_X&v5-k#w2JlD`bd0N+VQ60f*T+fn~d&Y0Ahi zrJ~1*aUK?WPr-t%QCAdYliDjV0dLXK*i40hp~5ejmLKNmaR2dCh1gi5B>X)JGJlprV--k zC%i@Az0N{gr*o?K7Ujkv@snw4z>MC8&e$Ew;fBD#{H_pl>+x&heoWI-Mgsl=3a(8L z*cv6W-S8O&L(6F_7mJSsj-!%BmpoQ)os-yZ2bJ4}4FvZ^1Q-X$^6W(HHKqchGF4;^ z>zjgKj9pRQ7h@-Mt>(>_ZP%I4hq#-6)q$;q@wt)HJFbU}tH$f0fK#vYpLWO>F$UbI z{CSJ=`Jk5aaB#MjFZ|^UM1dh(o_%_`!#bZvr_LZ_6EF%)f!cCx?4+eSMUD1Xs!Y6p z(f#{uSo|Vj%}1kI9Deq2gM3%h16cf4Lrreb!`HQ+bbPLZzCV%6{2qO5G|HLI$24Yd zj@CT6hJ5;arTwwNsb!ZIUIxyxHq~E0Mh-~H@TWp)oh8arsFl6}#HD_IZ=s6|0_0(< zcV}N!PSRswf~>qx4}C-Ci!qBcPF>XNT2G~JiqT-sKF0MzsE|I)NtInC?Vbf(d zIU@on7UZPg>0iiGt&4YkvNbCw&#v6a55uRbY>(Msvz9d0G%GAN1tcL8TC& zE`isZ6O}{ykl{wa;iY0{;*otQR3o%2d+-Yt`=ci6z$5etD2m^7F}=qX7I3SK{@hr- z0;1{OCj@&hxXi#{MituleM}4RRRVpn(;?%HFC?rNT6o2839k+?4-Y3R-oAM7b>Kn- zoBgH#mR1)2TnVJTOUTUHihJ{E6U`j))B9%0cueY0TLI{|^E7eEd19=09ty&3&TUF! zt3bI3CX)`d_8M!VBueyk5jsIvVwt+&cX${p$X<|JVbk~p9}yUU0;hD9I9FP}+JkN0 zdC`I~K^t8kfzMvyIfF{Xs)mN9^SH&1SQVMYWYpE~g*fr=EMq@X!LGo2(Gv29(s1Wv z-_0dH&l#}cMA3{eWBqsbN2X5meqY85|678jJ*K&lFftqd)AUFob>OHT2Mi;G&@f=& zyk8dHh{-@i?B40?FwfAzdGd}S`-N7e_9VXjOLyfNUAcvB^U3ahc6Yh8)6=N%Id;Ke zXFnuNYkeMNIoUFJ8_5iWYxg5Y>Z6O7u(JfkWdSZYh;-qEHLpzH4nBlWX$-r@3>3~n zu+)YbWJUnr5)nBj*@r4bE_NpJqmGL-}h_X zdqS`kDJbF!Jg2W#tF_gdj+b;Q7-tnH3S{?M zuLEcg4`iW!pDl$djD+Voc`;W6TwH}C4>tyB+q(S{KG*{QsTXzu0s@UR&I=;=J+I3z z9~B_)xJbcpq?bAhetV6$?kWQwrGEZ7c02jsT)}%<&4FxvZj`eTkI(QPw3*%CvfmFP z^{qh$BIjw)_I9iVBAM-_I8eCU0CO;!BI$~oFuLu@)tyzGV^&pIbS-qGX46C5GrZ|9 zWZUExv)Yy{UWcbjuPC19!1-u8?RQ({z*cJm({AXCCDhr|Lc&i)S0NubuXbK+0&Amf z8~5do!2b}264v=@?$|Z&Cjh1ye))Hs0T=P8YWf$lnkO*SM(;@-Zqc7W>jm4Q~c@aZH_xQ`#bwED@$4ao;?ck!Co6w|Zq6U#ot z=Hj2P&C=_7BrQ;ke2=|Fswg5=0s}N&G#*Q|CapxHCy6)j=I7UKbO%Qa}6b+tyK3?TOnNIoUL?Y-+lQ>s2 zxoopF9cQ(vwai+|?r<~Vl4U0|t`q2F`<2dfUvmq`2zAi`CrPh}er}lWT{@wg?X{jp zP8ZE3??`Cjn;i}1*PrcensT(bngsmr-s7RPX%0FNUn2uGQ~~r7>)L;^$18}&GUvX# zg_q5@#lic>^C<@}i7$yK$-M6Bkw0A(8ZATVO^i0z%{feB-$_wc;oLe}yIr1{=Xx#C zt~`CdxcyN=?Eoe2|8%^x((9E!t&ni|tSolliEK!9qHJuzB9EA}9p)OL673m;DL1C_ zWkXan-i=Zm0a^mLI-~~X?=|z(T8l!8Pv>l1m>@Mi{%k1zN5@@7&1oPQ|B*x-QOzJ} zH1_L=88YG4(e+^K-ODDs5xP_Wys)*%1I!fPhGMIiAcLI^GS|fe#Lz zp*Zl54rX!9`4;@W7yS68C=t}dBVvr3oLpPChR6dfKBSTQm!6?=Pwi9a3$j<@zRj?} zy}THVP~m>oZ|nm4D&4oyP&z?1;HlMel}cXY4-HcuYvj+dT&cd+{eo{47FyRYkXF98 z^e5-a4d*}t`(~|svRbmPfmZ=8jg5;|Pd~w%S!Qhp*6$;kqZ4!0UpkRGd8xNAmvD^N zHWwo;m!8w@sa2(&i-sbqZY~!)9^Y4q>gWBAjGPma&Lcg)s|bsYKS=Q?`rEvRUE7fo zvh46{`2IBI(_a5p-t|K{D*|VAXOgYaW1Qwrd5#G9{gnTKBTY@W(!H72mFr4+!jVTa z82^O#GWi!zfxPd%DMBFpg!4^7nn>_jUPh` zq2&+2*k_D78oc2zsq6Jf|{MgX^C*pgf4l#n2`SUti(PcP(@Bq2k{qI|7 znU_BXoUuUw4M)IOqF&Rm`&Wy`)PPxL%m$Y`n1%zR&zx3+L!6QO4;r4^fJ}hpjQ%Yk zzhNcKQ<*qaLjGexX&LiAl9Id>6_M9fB>|K^M$kGD6{e3J6m5&}ccaTHT-$}Y)iEPx zzrU=k(pfX#wTm#pFU&a_9C$cZ(3??hWe^G|Sc(C+C(=37pPPSU835c9D+mmI*`fS_ zBRDh!9Wgam!slRfim_G{%u9HMYlC4R);)#RH?neU3LA&MVX|OHe6|Q8^k{}NRx@zy*JG*P5NmAbgY5b z&0L^Tq9ZXOg`_>qmixNpjM@A(hv42#%PgtUQAzV`(6yV9Me!VAxN3`V@>eQQHR#7% zoCQXKItG}-z^S6lTo67EypNBw~m-=zq|4a}p-GJ_j2A)7>>Gk*-A$ z8vGa4?@YUWjYToUm|#ef(5ujm?urIRuPiRU3${u!G7{j-(dVVJbJ|71hyOxG!xk;1 z^f^a&`HtR9oZ7Tpd1_N|r9lP!x~E{yat?g?gIMUIBWIPO#$P<>^_*vl%KOl>=~sz+ z?*g0mF;%M;Ud&emhiq1SCv8YRa7xU5t#Jt!BENbK4>tYk578{1Ycq~XZzC>zFHDYV zu>Hsi-_{+tJ`1w^OJ2Mvw6w9p3MdC?u9!IkPhSW*gM zI0$ZBSRK-FgFGd9(e9hf;(nD6*B)YqG--nY1Ia=AN6HzB#jIe)uZ_Sx0=Q2;6#8$B z{g>bV-9m$6D}GBt$r6g;p`hC>zL{%nNglH`ZH`+Y2^zozYg5BOj8m$j!)oP7z94O3GX{gSKwjoQlShh2|y2 zs9Ygm%mf>8nxdBxK7+mv<@Q(X;`vO?mueI)yFOQN*Oey5M(fDqhn>;W(qHUsqqcb_ zybq8H3=7n{nl;t=xYSJ>9_Vlhan^1@NcBNRk8;|R$b*(j?0?R;fQx>EY_56r^)Z%0 z$$h>PQ9I*0>q82WT)RzSF#~c=se$RtoJM;FT|%PhyJK}2rEQtYEjKZ1GU`l?^l7eY z&0+hGFD4sX!p{qqbThXe5jv(Tx!L*xVq5o7ZwMuXZjuv-tIpv1_YT z7R>VJwr2vBJ6G|RPSn;!CJddZi{;+t&$!`A)=ed~MZqZ~;C+qD{GR#GA5d$&y}uZ6 z`lyO2gb@bcRZI%H>&*5L0I4Szd~xp=n(AG7gon_1^=v`v_ewY0(HRQonF>Zi2DI;8 zaBBg>Jq z(`;i$DJI5Y7EuIa)QE?b`9%h=wKJrbgL0$TH?|PD=wES=ls!&wbOd72qZ*`p5>+yt z=8RaT6}?7Nc>1qE(F>Jl$vH?=8$hal7M#OU%$GL-C`m&zLK#7kEdSJ=4t?WNX7MdC zyDg85hrQl>-7s&S@+bE|*LZj-h>+k)QtbWCnSJTmQ#3eT0yw@)a0}|0ikK7$x^+wo2 z&``_j0w73PElwyD5&2fAI&-Y`c**)(h>Q+ykeFF*sM&RI{?5T*XCwaPRqxp+V(zL{ ztT*NLw3S&0Hjo#B7EK&knj;3R%Io(jjQe6hr(x0`6wCr}uWvK2w;py|${FhbsgzK+ zc>&H?T~|^TG5iIs862}f!|VrU z020tfpRHtRFhkbmc#*zUc|b0KOx)r%&S7nWW9Bid`n*RK*ss*@PsS|v+q4tv5u<2M z2Nkp5?{`bEOsxJ67PAo)?G;B@tVB&NTxi~dgE$hJSF- zKpzwofyZ4%uH;J6x;VIGq)90P-^F0WUq-Rzl5LJ>`9HAVRGiK5Dgi|7CtT3Rav zzH6EuGZ|`*pcfWB7AIv{PW~?CrDHJaU-jTe`cn6XA%Vc!%ZsLYS%r)lhSav17lI_q z`;A+)^WD4jqF*6=;BEC%n3={hPD;SJs7oI;&yaRD1jMvR__WV75jelQ2#Yk*XXG;9@3z~8ykv7HM~-YO?AYlJ?^+t?r-C24}xUSb6ZO>9&&{7WBhw* z$R2(DqA>)2tvy%kO{s1pBq{D3kG`iT_j;o^B6vbE{nmw4w7$Y{vzQIM*D*Z&%{KE` ze`==q_R1!c(=cj|X06dyj=jq(TGz0yV7Z-C2=fw|EFPHfLCc#fEe6wg;4=VW-82JtT5@;<=YrZh>KBQn8qr@hLon0$9Gb%%I20#Z!)=2|}^(1xWcUz^1uAz-YdmT~e%nW=-f;2yp|IxTPIH)NoylkJVSlXq? z9;gi7Htw7HEdhokGi4{%@VXvzzb|jVDV5}aL!gf`FVW;%(NI0mWJ7UT!y+UE!I@h( zA`z=5PkosW=3uTLuCz{{BZYh|s=s|B#p!{B;G=A0oCZfpS~;ciw(V$uT=9-kwpMI& z*{ERWgX&YkEc_8V7E3;dOQYVvQKvq|^RZt+kRLLSGaJ9O$D^Aycobc8m8oZ0UeEk% z1&V3m>gu~5`6(12lR0jq4ea}FLozOtGKW9P zLG(qeK#|{x{JNM8`c$#ct|{jCm=9@sQb^3)Zo>Y1>r9I zL=`gi*l-4u`Us3ASahCsG~#8#+7d4hkqccaiU6;uBi6WE)(Gvkc(uS`ro%Y0H)Hk?M0%rk>LpAy zs@R=EM^g+6yz^2#(m9r^B;>@MXv!Mji&mserr2pgvWhA!!a@j~3N_$IscEy_ zK;6@11Q+8kVoau0lu4*wB7(p2Vd|j2X%;6{s`b`IX19v$@`Zcl>xWHR+A^oNR7qN} z;NY)*l@{n5nKH0cWS8Xe=u2)d7J$;4o0{j4Je2XZTZc$+)84PZK{e?XnA=mT2pHhX z%#G>om?TPJP4S4xAB|IXaieb9OVyZf0&toI*dzRi8Lji-M+8T~NkIbEl=Z)hb77q? z1qC~Pu{KK5rP$e?xp0_ppoVGMzi$ZWv1|cs&HJq-OcjOeRGodL@&(S~n53~#uW;Ig zw2n4GVsE;di!5E?ZJ_qgBZVC}^(bWhYg`oRd|sIX>bf*zYp7`og^lV8v-?)dzzD{7 zx=U@xQU*lR@Z``d=W6bvL{<8Mp} zoZ(YaD@rjGtq)$F-FBAVRN(fxoIJ2`Ivq07sK<+x<3Z*#(g_n=S)4IUhPeDJGpg@ANZo3k8lokqh@tqfYOjVtYgj!H&t1=3H4Heqi zV8kNpMkD*Ao`icG~l59Is5mcB={2jZ6U32|I zpQcu_TAC*JLh^gBk@YHb^!oJ+YM5eM>6O)C?L60sMX<2^Pw6k=j557L<% zuTOtJ?B8t=Nz-R#U>)Y63}DVR%R&nTL>a3WJd4VYY=`GaB#KiM=XTa7l3Y=;KECPM zxvwVZwdw2pyF+cF4L{r9cOG7vEfCoX6@&# zb$MNh$-ELL`y8ra_R`Q5cb=oQiJ^fDHupvK@!u>Wg8;!$$mx z6auEDD|v&jRe=19%iT>{>boNcs~jT*?ZuOnJO|sS1zLHPUr<%95rGoszmgpDzw+*9b$b}Q;n z$AqJZvhN8qRsT56AYR!#;e(55MmuE;(HeI20Z66ca8a^=?HeLd|%M%U=PYlGQ!y>M`d)#A{?d;@`lSk<=(gS$AzGE7A)U}hzS?{jb)V0 zHz<^U9YygO;JN|DZa?{u0cpzMM7 zBg;L$#zHb+=~;C%tC32+`RDQ_jON{#HQ9-np2pzfT61`sMyyplkq+QMAQg)_uH1;V zpYWvbpx&3U=82INE%0?npEm1IwXcWRp0cRKyEzsg!KK^>2&7=ua7z7*qCpMLC)9k3sL*yvYUJBSr_nM260^<3yYHH{ z?X4#`Tqru;A*XNI!U%0=qXoZH()=w^0?gg|*!^6OoO5vH+m&2XxTZOX0Fjh*^t=S( zF%DxzS@3I2X5=NkFqrcr8OGbzc9Y?oMjY5qW!6`dQm~d>eK;lqOykZKwM27@$hzVg zeZ}Wt__LrDCGLBhd)qw@iVc?xm_88U4lFw8H$Q+95 zG|JrAWlP@O3_m%^nsCh-0IbN;OG_+}=u3?#ips3@^~>YydSbP8y#jLd^9`35Aj{c@ay*k&hR^05=H-ui@Lh?}sxu5DN)9nGp3b)3rYZ?fO z`uC+2B2}|OZMwOq&q@h#Ryx~8V$Jc2vwkV*uynpVqmg0XuxH_E0JQfL*eP+*k&-IC zt0&Ccm#Xx|n>xmn=C#5XBK|V+T*mFD6*XV_OhljX-<#9F9>06Xg;_|B-TX;_suUP$ z6DjKof%F*q&~Q+XgDvY%+{f3e06AqCO=rZH8|P1&fR8MPCSUlW${3FsDVhiNvrIZ( zO&-3C3i5}q7x7iPGGLQidGuTRUSk4mfgPQ&7e>G>f^GK78z;0R#L%#`D>+tZ)fVY| z=EC}D&a^RHgiJKAqzh%3>Tjxt=BKYhU1<3M*^r%(g!sOmrEgQBf`5}(vPg{pmC->G zho)GHydbL;pIZ2u!1Dk0Nph?Z8e zplq>377D6SUwZ3r{t!ADKg~ffq#PSa<+$QMK*=2xVlNVB#AfTB|Ju>%1Me>fkJ9 zDlMINdr0#|5fMrFwf>Yk<7XuEEQ>)*br6jFB!e(3(D^ zXU#I2n|1aI`GDb$h;=trx?5RIj*BRXe$abH*TPfR>&t(-{BF{$($?#9DJa6J1Zg!q zmq;5yBEMfiHVArBl8$#TagA+C-hxE~GXm##Se8@~en!B<27sr@ns1)Op%PjGup-7fCZNpAH-An|Pq2Lt zzgtrd!V9rOXEWTJ$0uz&d(ESpYYH&^ZrHm!IUv<}@-060tq=a_0*vTO0w4PB>tM!#z4~?Vh2+K{*%t*J5pc`j^l)_5 zZ?$zxBz;cm58SS?B=wQdBBK<`A=FoWVaO{~DVamNaM*q-_k^q!RQis3QA~+c>#EK2 z=eCtQij6?G>0DU+N^ENSRz0Cf3}o@`QiSlxP_ymh8s5s-cUVp7Q!fwE3;H~VqWl*2 z4GeP-y{Db|-@<}JwpTW1&&#}G6QKACDtmzN?7i7Rn_CICHSvuOr(jVkcWG@;q`e>ir)gk)#kSLnvvB41&Dg z^up@d*)kL|l0zt(fcO-Pw@^jxGwE<=X`{c(o&#KZBco`csJxz#0xWDo#QAJJ8453) zgx~9TbHZa*jcWemBzM{mT(D}U%ciN^&eZqR@EC{!Jv205-i7~*tE-Hvs_VLRcXxL; zBHbN=bX|}RK}yNPB_x#&X;4bK5u}lBL6DU0?*0xwzJIHJQ#dUO5S5oa zc&1%E{7F8EVU=MeKi)(VHFddRohH-&JQ>;jNw z{v{cYj=`t{FT0Cf_BIA7=v2x|Q{=4C^Jld(@u>SJUvrM;(9Su-T}>mun*~GS`r=us zl#I|Zu9*dV_@uu##{RvcT$*On*qDD;)0SQZ2p%{48%aI|J!sR~N zo!$FM2T|G2T`Hwf&TyRK@6BqS!6ZLw>+VMcXhvLq=x5@C*gJbVAm@q)MIh-|9&Vz4m^4X1^**WCWo=)yR4UkH?;=X8^1Ik2 zA`1BIWdC{gWDLavM?g}A`BDR(^cb@~)$bHp5b}EoFZyTFB5(27Tlu$AZ-n}xrY-y5 z2JsSHofX6$hY}HN6iBBPPyj(2I{yBa1yil2A-AXOH$GpLy}ZZeKz2wTyp2RDZxc)P$}%sHe8tk@tw@5OCP zIKt7E(|^{en&(BoE&tH^)dOngP{}u-sZ!f3kVJr~yAY(A7Sm^L*bGo{8u5tLDq&-0 z=VHDsohq?F^g?$g*33S05o6p*;^?P#xVBup%2z9 z3_rSKwg}t7sSg+StLf3dOiZlTw#Zww#>G`poKv`^D@wyvX-Qs+&i8wvwLnpCmW9O5 z)M}Wd#GH10;p(A6J`U`#`sl{d;>=Nj@&Ve4zZHpO`bkBJl8f~4G=G4N1o|(Xz|-Fq zmt=w?^A5kn2pm_pg?z@ZDu`TEaZszMVqF8}!zYvcY-vyEt{uLAJ$rUdD2}*}o`z!% zubVx9OxRsXAd=s`NA<3^c-hU8C_Jx2j(cRh9W#uS*<Ll1zh>8q;g+~jaG<+ur_np^&*Y4;|ci1amuhU_vGT9S`(B)eR2gQxOO zJ@-FhH($R6@H*6>k@lUuC#)qDuwG=3F0NOy>x@QBmgM<)@Cm|*SodBiSt>=B7$NU1 zs2Z5d^(7~fawUcrKlq$fxJ*z$zP)ZIOg5rVy-ol=5CVW8EK^8o{b)yuOyf_o;|pg* z#xqTO-$e~?ikT~UH;7BW;y5#D+k^nIcJ?mJpZxxyEOY+lB}(&JHG}a6n&&%kAERVr0 zx1f|N(V*`o_d!2NeB8({Hix4nV3}G;Dqd~K`^*Z+js1Z^X6klvPxXQYcQej<_tE=n z#RT*;E&uf|G{g?NuG!xbW0u7Y`4~eRm{2JKI6R2lpUe?IjiDjb@8u5@GL_ZtHjyO0 zye7ik<=`DYmgV!rpWUFH9GF5j(w>rU;-*tU6?1>EgIo~Ie^;-G?XWHeW!yFq)m*J8 z%`N~nC&BXTM(r<$uIq{j>`g~`1-@9ISF_oY;mg=Hib6C}P7E5QgNucKmD};;(|YZe zndkNMj0>xU*~zF8uuo1l@LW!zjE&PMP7S4`qVdqiSs=JiN@pwcu9v=MEs|4tf93?+LBi~j$10<(lQC+ixEsBea${+YY#WH<2dN?P9WN-Q8RgfPg zuPaoW|DXx)K+3Duhnf3IX#0ZJd96Jt-v@zd%OXr!ghWM|Bd+f{y@4&B`O!%GM)!H; zCUTTkb`jn-m3~ZojVrQloP>hRpz=FFz+f0t539P!Vy;wDDHb*%@T>$rVv#qhqfgN_ z;l{j`sC34eiW=+KEU(VoQmL)G*7FyF62CK^mC8*Ci|TR7D=TZ1J7H`HR3nR+s0=1d zvSm|xVG6>fG|n7?)Ad7_>ij&iy#$?M20+7z$EjGs%VtS=h)&WV5``52qL6@cx%qc0 zcCJTVqJitqNZys+tfBRy__dU69ujtoSRbyYO3XSekY?*d_8BUF1)O{{L|7GkyFUBY zn^kdgBD}@Vsadg@|1f^Qx@a-=6pAYN9kodPjQTGx+3hb4 zA-?vl;-^$Cc=(gM)5KrBItYA#Kk!jfPVO|Y2fh$*^5;^m`Cm4_&|vBr_slN^mat1l zqn?s->j+Ja@1+oq8j+YT1RyuccE`Mb-9r$CE0NpsyZw1NdkZ_hX*`!MI=rtV4Xcjb zSK%wZ)>f3gvSoH(!bAdAbY;{JVlUb%t((*|1bz+h@nhuWGgrXSUOa{o0Fa5MB>nc= zmr}47!v0>WDE+G~Ooj#B^NiP%DQj=26YzLw214*U6w9*{HXaqAn@#@pB*C zAzmD$ugW%)uaLDoQ<4aVikKg6W$7dsnK)$7l7%I#0#e`pDi46O<~pV7ZZ{Qn2=!*j z?`e8ZR-rl}5fjv*mRhwyHPcKvR zn<?fX`Pc(MI{Aw@EU6ex7?hE`(f7Dp8%;*dNM0OFT-{Yk})bL2k;d*slERbj( zvqw;1145e0!{{R!X2d%p57L%5 zvLElXAN8>Xj^sO+%W{5F=a0yAW7>95k}*IP3{U|zQ9OFKSOr1BIkM6Zw;}R~gyD;E zqN<1?ST+es0-(-&G}oZjDI6%}=)niN3$*KgP6V+@*UDx0hA}m;zjtHwy?a zWU5~$dQxZA0a=CRq1^a{e*9xwIb-B~si`cFj<=?;=8o%mm5G6&hpZy_1|#?RSm*e$ ze%*MEt_J0o*h+kuX#ko}&T}gy?o-?XJv! zYOodQM28vFf`{)2`jAi`NA9?@VN`bt6(kvS#uxR9UDfF^V7}wfp}KdM{`pmiu=yE3 z%e3dtQorn@z1#}+fOi7immKnU8=x`aO2tU63CFgak#aOt%6PTO=3U8rH^bh3SN(2+ z_WkmbH*iS%*{2#>TUq&Mln$zl{2ccBJ1h4|H65}UUJtyiXugUE35ScZO?(^-tox_U z?Ezh&u#kx1!` zO7_e|OmO3;fe4M*v}0v9J%vlR0;HAXX*1+{fi0ZD_jq_)4L;11+^|HMj32mMKIGn4 zsOe4WP4<+gS{u&gplcJj)>AyXDRa@+gZ3qlVUv+50NU9O4GNp4H5|p};v8haSbwdS6#%-aTzUCpy>VmJ%75d;^{nv#F){u%T zavvf?KBWoFj?<2P%sXm-UVD4be*1xf&+<<@thKdu(Ep~+of$Qjr>o=(InB&WP9g}9 zh)RaHqLyCzqg}s${$8v^Eh&*O&jomA7ugQ$MUm4QVs|Y3MMyC-Es^E%b^5q6q>V7b z4bt{mG3IMgQ9CirfBt1N?5!iI2IS|Gzn#jfs^Y5l3$$o(=5S{Y6>;_-S+L8CVZ+q& zK4r)zaX;cQJ|@4uGeMaf5<*6CRrj9Ck%mY8`z|PQ)LrdRc<`GA0th7I!k}-eLQ1td zGM#VfYw zk%7rL)E6c9eA(IwBc1_CZw(kcF^7;9+@e4iI{4sVfBLlc8aRJQ0s%Z0$Og=QUz#NK zdMST_+hcEymM48)bL3syP}XUo?&jTRb-)39GDd{S6EIv!BzsLFSVZ&SDMnhsqs*$8=d?djo3n01R zGz$c(VB&9h^!V9eEb+{`9t<_Peo>@{YEVf?{_ZJbCzJU%L9zB@pnP_NG)}k~=%4pT z^L9>CbQ0&*lYi$jgE0GS{^)`tuesEfYeuNB<9|;2POU}F7IE+qCE&o9z;L((U;PBu zKWe{LmmFhQ;!9hrdX-n22b|6hY3rppHuIR|6+}&N|BKHTER=Gpq z(v^5k;x{ipA#9bK-KQYPL_Ef%UW|r>6u{Jk4{O!ebK3nuX9dmSPfHbox>OT2>K_MB z|MyWTuLunG`H8$9GY(PG-tW6m`|eeNf4zpbnVt)t)8e;#HBQZ~BeVV@`|a18 z+1Q&m2XEWbA9Y^6T4gQFfNOhrxNHksxIJuptn9+_z1c4OFa7+{Yz{~Nv@eS|qsRe= zGSM_X!Uks{CS9*|vj`~kLV|NcLiVz|UWLRFM6HkO6Up1r!_TSv*%t~f=oD(GGvK-T zUhMsD&r$eDA>wmpN6P0k!!wb2v=YT_<~}TliHUjqj)L#oPYqG$g{E^eC@H@U%o4pn zOktMKPN`uHmG@d)h5x>z=w4;;HNGpbAmYAZkbJ(*4Ul?0o)t=#nKoaH0uQI-iq!uN zZQSBN@_n1AwKe$yjgtAegC#fz?w$`JFAN?`7#RNgNjN2r%K13S-jom)9$t=|h?RCT z?Ulh>rzD5hmkPD;epg|Vce#ra%OUtg90so4xQc#e1#mTsjdR=9czg#&g0)M0y1pA3`w5ZPpCwHn{`4Yh6mjI;PM4>8}Jn zAzZn&|4d@WBJPud-T_IA1@#r@`(n6_g@3StEBMMKR-J-*ztiCynB60LxG$qH1h+aG zBJ1^Yui=|+GY|a~iGQs8h+6XAq@-i8Bz22}0S$V8i{W!$t|QZmQzp{Nt>iT5ZEs`x0pPZmP2=fOkq5~ZV;A))(Rbg%Hi2V!x|fCEXvIemG2(x z&`x>t!GvVT!DO+{bcOk2J3MxV@4+{mjJDWUr&HT@GXBw|oqSPd^T+L`gHN_us8E`< zw1{l4S$jFPuz=$q#GZd-vBl*=rfw|4D4Ar-zk?>Vi|Mup&l3H&i{6{kL%meKYUZr2 zdkbE3>PzZ<{3a(OqKEVI^J+%y7D_vxVtMKPc=-)yC6Sj4J2K-Od=C$PG^(gpU=f7)gv8lvJSPte~+Ax)e zGemS04Vt|;V+C>&oA;{Gl?Fy7ZcDvbbnj;L_zhLQt-F02i2l9rcfZI>oF_fZuX?~I?ee^d9ea?-P$<}ps zR#@U^T6r8ru!pU;Tv|&71x%R|JkH?IMLR-5!m?x@nDX_qhQ%}i`w7}G3d=d6|6-Bd z!s|k;q3~fMMH*{)5eTL8bb<<{TckA5JNr=)XM_t(F zm5>f_D}BJMPIN0pI%15KZM*ux-DAm{6AotYWMOsy8Uo&=5vj%L#<1Jxf&v9CE%324?|09n+DB}O)2hj36KnLd0vnqpP|H%%xR2dh)B$T07g@!)jo`Rd6``Y2nF( zwN1Grs$E~%-un50TJiymTD5(8R z;D9~R!|(72$_X>#7c;W643~#X0Qd+257(QLH(T_7H1a7*Uu@5{M>l=gN55gHZld+csNo51P*=RHcyv&ZqR3 zJE1}eV(kW9Inu#WNr=CRX6h0hpfj>G5i-Z|q`a2hV5Pe0K&F;rf{wx$A|8A7M3c6+ zOK&fLg*i6^IvkXNUfP_9_kK|B;tBPH?;{eoo9t*0t_T>V zj~vGIiMh=YUSiKG=@uou<&%) z(7uytAxiXt{g{BW&yOJN$YD7Aemdg1cXxd%y)C#JP0EjSH4{c1@NT!P0X$}^Lhm5` z>p&nakiM9!B6s{swf~D;$#m=E!|f9Acn{|7O+2IOpD*SQCn<%R*<7Dt%fuh=PJ!bn zbFrJP&rw92aA^L&3~dPqc#h0y+IbL;z*C+!prbV-I*xaE&d|XCM2l%rs{Gau#m zrABoQze)`&Ex0&u!8qv0jK!3eOhit8SK6H+;vQ(Ar>6&3*tD7D`*2td zzNNIwb!}4R`ewC1Tld^V6Prl}pNh{41*I%D2kQ>Zy*lG!I+g&Zh))cRiE~e<%2h~7 zBM1ruE^4yvFWBDC0GG~GY~k+qKpN2mw!zBZ+y8a{POW+5|Aayv62q!P}Q|X{S~~o zjR!-~T$h5)A)s(y!$kfON4`n9X=GBj)fr7AxMvbntcTH_DAt`P^X-J}4dRp2Oyp?@kqF<4$ z;)Vjk%=?AIfVabf)8DT*(sL9Jns&?Uor9mTQp)M;>vwVSSmh+9m6wmsfI-X8)| zbAbwQwn*NmF~Hrc<6X|DrQ*n+r(q@G7<1snv7eDxjph#w8t9V7N6ICy2an3V74PJp zQJO~}$OB{OQ|;xB6-7>C`zdV$v56}bLu4&h7K~C}t*^9UZe(7HDt~);!^@$oK^MD5 ziGywBTbG7;%q%|IS(vq#9g{)r4hlRw?crJAba8)_)>Aghl~cn6B>Z6d^siNVzW(kz zA9LA_HNMW1`S@mruf|9QjO9p!X`PS(9Emtg7E#}CDQ;%Cecd)K1qq4X;ZGYkj*w4v?gQXIFJrBHY-e;n; z<20_vI9t0u-2{=q{>hR3&jQ>ko(V8(jfRgZExH0fz&~=VJ$y|pNeHwEmAqTVu6#53 zLUCI*@VLIVR_S&V@8{o>-||+53vP%R2EN4lWdse^=VV)0&Sw8ktmkXEY2aW0qD0u$S!h|5S;FmO)!=HM!AG%3>e0!8H}8YD+JDoZ$_0zo z+94PTFxh|Tt}de4o`Gto&wk!fP)o0;|9t^-eGIN9k~mHuvveYoRwZ@7)iMZ{Drm|F zVxIyLyp$|DRJQrb}R^f({SOcLfkaQ9pCdiKfBK9hH2%Gr%C{{af*7 z;q51Szp&duI-`9GfoozcK&un8I)?a}4r?f`I01;$9AESy%vxs=*6`SEYz&{Y zt!_{}Xc|j6%Gz1LaXx-x8jJq4OGmm(Ta2+)=K53VGaPzJs{or9>o8{&R)|eAyL!&Q z_V*_8jgichBIWKR)LPD=?Dax{Frm^MLKI9gDMhbwobUrI6C|K`R9drW*s-OX`~9e- z1J&59jLf(?4d?GbZ)1V%+F{ARYz0*63|A@LR&yRw&YXZChb1okk#tcD{&Yo4S@!H% z&N<{T)Tnd*bdlIKXz!8CvURbMiqP1hR`aK2YgZe(~$dZ@T$v+Mx zcN2ymP%#}SgoXb?SSt{koSt=@vGWp%Bd^LhbSq8@u`#9{-%fToak)#Ay)lvO*i*nk z?q>kZy?~0#1Dz=ofyn%A@y}$^f*HMkG=(eN9^3x3F8+Gzw-R}X-b)1V8b}0Q16f(} z*lpij&2^_w<$B#kP)(xK1*G-@=j9qex`O&e{$ zoO+((P&defovfH}gakLv4-#F(!APyeRk^Pa*3G^SWh4=(iT6)3Hwg53u(CGd_Vr#E zah1oeMOpnfctDOiEZ%Pl1HuUB$X&R@uZ@tbjDwKZ3-V1Bh@3cp$~|h!dond;rE^Z0 zG8lGkHNg*DLxOb+9wpy66x2j3BIIxWTdurOSuOKvs}3UsA-x+dx=OJg1Ad)T$a^u8 z@z3CQ(hRx**${%lX4=uqS&!M(iAfK-GK^CHWkDrD`_>m8%}`Fxf8+`>Waw76G=-$Z z2I&g`AvI2yBERR^i>LJ=d!mK5tfPx8rb>gShRkC&j9}rMUigQ6l)dZYBmLoXzO9r< zq;^^}<Em+~&spouKj} z=!Xm*553)8^iwL%H{*)$|9ZRTq|z+CNKO>=x%6|yvS<_nJeo~AagOn*{Vrtx2K6rm zgaDW8oCCk~ex09JOnQ(WMF*>D$RkhQ0wK>A4%O8~Au)+pP$>Ewh^E^rw~n=7?+c1h zPKWY9^_%C=^L#ozA2vSi{ts}S1yWCK68j*u$J5R?&q6E7NV5?xgsL_ zFC{$$8Tv8HVVoS=U(Zk(4d3blba9Y)ux4F=3pHq=){l7|q{mJZ;mq#9%Mc77C0UMa zEY0M^u$=j2KZ?Q`pK6bM9Ra||t1|qLi-qFwU}Vx4z&5K~oM%A1cU-K@(L@cxvz`b_ zLj3<2#9FaYDo7=i7KQ?U03@UGz{EBLJZxTlcp~ni9998yS3@H&pSFe zmMT+#h9Bc~9m3N3lG+hOzZw$7+W~yCY15V`iYOkJ`bwtC*67NNg<2nsR09XQ;@J16 zeizKEa^AzEJv%+`rgR;#oO0#iMJZTF}Lxi?(mS z0kk^rvQaOpam0~8N*hlM*MJ+v39W6mjQ_<+h0$H#1i=j2sb$ohjBzA7e#|Z2aG>fr zvT3B-uA(z{rRl%G)#543gkQ{R@r*GTqfWjEUr$)P!vyEsz;D7_5+c~Frj=KUMcFM8 zCZ}zx4m&HTD;f;l5=i1Nvm3nwe$usy+VwDOTHholCQUx~8e4Xc6Zn_Dbz5{=JXE(Q)HBxQLv))Z=Wpsekn z|3)48VguGVnJ@!U&7XQ4EJ~Bn5CDz`vk2^3Q2P9DCH%^!ZNEF9Ra$n*afc90@YbFZ zIa8K(;f5bzybQc0E8-p0!<=W;X4`{AN3_qMkg{+kydUvng|K-A(^V!$Aug|Lb6fX7 zXwHA7{9NH?oMn2RLHidH0iZgUB9khBJpI7feF?*kK~BInBhBv3~I$He^K1Rs*9&|v55PZ2~t-j)YpTz4sH5sBEG-a z>92h%zFoXvkq?sc0CM2w!=%-zhbe|u+dHE_HNW|V@7Drsx1WrzH&tFlAKu%cDvrsi z5fY*5ETPvbMaFRR?Y~P)b7qeG-^8Ff*w$$q@wt>MeyDDEcy4m(nI2x8S1?#|-+*Op zn%3HAqquI?-CgS{DT+c_s8mcAebiu)X|rA8e*HtPe9>S~&s4mwW1&Ioa&!vj+SA+q z{rw?Rq~fC;ZwEEdV3+|Bmz^OFmq$=hTO7jmLjGV@g|k2gdgGW7*az!W%A=gF=^9F&Nl~|NCg9|wJ(D?m(jEgr1&ij-IQW0Pyh^{O4UCJjW+}nra8UP z7N#U^mznWVnOaT{un|V#rIW+I2%JUBuHd`3z3Jj>k=ZTokP+ITl-Xg1b`y`kdXgSH zQr%RQEXtDDTnuCi&!^AMJT*Z^M~qP&aKkKqOep74M>i zf5tNd7$wXmH~z~=lnvmjJjZ`uKY~EbSjtiT84oJSZ|=OXCv6Z8-Dy{Rsiq~m%R^OR z-4Bw-S_!)NU4t1@5DR23>(!+T<$FqU67z z3{58_f5hod-gT4NGa9EbC^%?V*V-8KE*Yp>lGdwINU;olntla7#d624;5E}&+WC&l z5{Hq_tDn=X@uqSyLGn2M$OZTAQV*EMiumi8()BhkOFDus2SS0kE9STYu%+DaA^V49 zF-Gn8>^t40#CVQ-Yj4NCe$JZfFAr~#Mc6;w$kN>KX^5XszIkEi;6RrNeFZZ2i@t}P zyeDabj^#}|Uq63*?l441MCCdt0hd@;29Tfd5Hp>jk+u#U}jc+7J26b7k6& zgkyG(SG|(&)6Y}d?m}y+VL#|Q(i`3AE@s11bI{}=2!l78Cyx!B{F=Goxa@7ir8o@U z3jVqn9P952%g*>cHX#ln1a#0$Gdm_=P;Dmo&EWMrz-yEV6YFGhVw>H~6d~^!mETc^ zJRHa+ZG*(`cct9w>Ua-Mq1W^8MnpDWzI-|VZuJ95#UFqKnGYzZjHU^ei}qV%&|3w{f1{lk)IW={#V4_lk8` zLV;7kyb!doe9?oM6>${E*rRKr-xx|%Ry1S7WlpGUAb%?)q&9k%@3#HS8k^JkbA$y1 zA3?A>ih%f!N{V&s?fO~CDZ zBTviJuQ3$4OJuh87V2fex#(Z&!*}Q63yys#i&xocurjFV;q3!-Y0WJs7`fj@07rIq zJLB*+6}VqZbZNk|V?hf|(&X!(LK8pAKi1RM3d5sR4od#G_qa-h-+T6P7ja-}&mu-7 zdR=L<)CmEu(sj8rimS=)a^bDyQ9FD^>&;G?al^n9fzon+F$Z!E8=wl~)%fblv0arEmvn!R?{>w@dz@ zaLQ&C?_B)jf5w81C#ki{Qa-Lve#Gn!@1X55pmDK3fmwC+h}&-&eTircStbOe+D6Wn z3Y`tzzs++t%)5c{3^IRN`X+CF%+@)oa>VwXUX;3B0aFzLi1CxJV#JZ+xSRL*==NS_ z`|K2R`){k_GpVJDzI~lbp@5{)zFppOVbp@I@85~a9Gi3O`mkK-3-YT2=DBGdzo*NL zncprKJ`pdW8fn?fGAT%@f{sK4PFqB4DPC(;*L|a!TkUkZC1d^(-)mHpIiLujw8%~W z2&%q-$mP5{{i!=h=1K>EB2O(SbP=;<_vzFcJ;Y6Ge<4dWdyvQLm$WYttXDGhzdP>T z%myAn=HCY-z|4UA^VoMRb#%SSS0;9HM0{V698QOYmoRLve{cs#&jtt0mgOG4Z!_p1 zzzNR+N9(mv*%<$jxs?-b5&n?ff~h|SFilTFt>G+;?Huk5-LQBz+w0}e{UEBJYGelPhU)Yd0DHF%1T>1{lY5t*D{gFd=iN#r401EiJ`|S{f*$_>F6*=r&IY9 zKSiFrTuxQhG04qOO88y<)Re?r_?fSovhyI|vG=qC*$-!h)c$9z(Crn&8Qd=s_dA zPl><)><+oh_cvh7KHdX|002_*fpAm5ekB{w#BJ^yuEVIE@70V-JY20>c*w@9!Mvo> za+JK?QNZ(xu7Ke5n-65c=qoc!$ZBGl9-_2gh zhhtEFcWsA7Hu0R&)dGpELalZCy1Ubg{C9#ZRd-R$@xX+hqf>4tbPmm0!edK|<)W7w z@SFIed_<7w_F2%#pUY!NCe&{;^X-$-Kq`9KL-MKvTL~FL#!s#Q&B9perO6*RXZZ2A zRJTw_1E(8-$2G~``E@lxjsdECLnhg@I(0Vjhon*N5KDV|aD*D+Z5{kbl>q85fa;bJ zR;HA{+|-sZb$V_#(R^o=tAN(lxCNeOdzPz;g4nJc-xh1kBBzNr_YBRH0BspP!Eb(2pF- zb~`zutqxOcGtWTY8&o<~{#J*1w=tMFYChHmdUu00GFZ@TGTIkM4>GJ4GY_ElntKUM zC^LWBR-^(s*D!b}GFRHL4amu_g9p)*2F57!A>+9x+gf3t@-POm;sd8$T`hX5W)gQVG2} zHc)G=;mG(B9Nu|zz8i)~ZezH3)rTdzClwO4G5%RGeOwADM04v`3JK5=gh=BdwM5X= z8Dh+EMRYX=&i|6J$>4qU9^;!b%o+Zt><{F^1JCesJVQ=E{h6Yd74KW$?NcX$pAYHOxz~#K*fXC>xABk{K+;tA+(H zcrG*wCr~SDr?6U)*Kn|Dl-n|vGGgDCVOduot}wd3%pc376nn>GkDeoC<=`_tpZ8AK-o;SvTlT zM6SdhhDBO^dEk3lv4b7zczlc!HDUJlJ{%Z^ROzA)44{(L&P8rBkBsd=NK5}j^nzhS8ywK5`CHtYbDIJGYw3FG3TvRnEXgKa!} zDc_2LIN)cYrtqq47?l+`^Q6@q6a!=^4T>qU z5h8wP;4!$c9%ui5Idx9ZI1_n0R9O@4%{rqf9cG*>nzU{osB~FOQ zY5Q+Rb>9(uHDcIlC1|Q~)91g?gSC9cl@j%3Sbi3|vYriaX1XaFsee&|Rgjq&xvLJE z2=v8VmVf4&`)V$2ACDZ^bVhzJG#tK&SR1mp-$&hlO8MNee_Aj)Tl|7uD8!cW${i8^ zJ+IUBdEZydP9ucm1ZeRx@?e3_L4^yVGjajKprnHnf;8M*cQze`Wru(hyt=Hys2pWE z-j3&Lydit@_c!O_qZ02xIq#;6JmBm;+w}Ic`NN+Spz*=C?RFW!E`RJ8eSNdtM&0!4 zp;}X$Vc3aSfe8gJE(|nwG*wsQ5eU)wI6VRHoUZ3KLnPNF0_Gt{#x5;{wUk<(k-aG( zM&Szgyxni0#>HPe(Y#3q=RlAM+VREf!%N(s>5P$EtcKHn1n&%RK5BA~=R^FX-$DCQ zC?7THx2YOppef{?SSx520xc$}6I8wxEf+q^p~P#nG}WMU$a%~jYj{tv%5Izv;t`8E zW(x`|Y;0`*)yGCRm|w_7de1Z8yRqUD}I zK|R#v+sCF)MiJ}t4)v<`PNJC4q&{xJgYLvQx|!%bM${Zg3wqG8>RyTZ?YhGD&D=z4(9uK(lR6m`IH`qJY~M=zC0gMFE- z3gx-t8LO1-!IQ^PNkGa|>Nwa8I8+y2_yP=D@qx~d!|n)tXyyZGVssR2?FOA4-$57Q zK8TsxGXn|N*jwO{Fapg?Ifz6-XhKW5MQRR$1aRv(_GJ8M=5mOouh#k#4ng%TcDW>? zudghtWsLC&KzF^zOc!>c^02TS&GHAa#k~LJ!U;|e?AS}wcffM!7oI?0v5T2ktGzME z3wSHk?nAtcL`rMkz9u4p52)GApw6z!-SW~BOZ8h12#b7=SAINQzas4MXyagQgB?@q z3t|BXQ@cPUwJyRB?!Vjm|8_Nq>Q)gJyJ%X)`whITLp8keRh8LPG~SmH1eryhde(%kyCf}RIN!+&NuvJZCv9O`SC#bZZbjh zan?KK<^0ssrkCwSi;eD~ZwS3@Jos?kpGS^;>C z15R8Xih-4Ex&pI}__S)o@hnW=+};;*F0fu+zWfGT#`~<-!Wen#xuG33mxV*Q5qaI6 zIBBGMV}O{yY8xI2QPkO?iZs$&A7t?4a6Enw(@yuQaoPZs)@;0SV!RCQ=0V z1NyBp^_XaxZ+$I%li>6G+i!#HM2jA+ar8#J&;{>Ww0?%M@EL==J$TI}xmmoSV;e6R zQM(D4&D)#Ept##HGrN))`aLnIFQJmjt<|EU7Q_n^GH*d*Ifm8|Rwq`+#q5`|(C z$e5a{%qcJ>m~5U*rrYnRgdbe1)&G~%VhaGwA+oA$OnE?SDb4ytY( z96(jpCJW0oL|Z?2CKCJl9jOh9;|OC-#L&&gF@5jd*=#n&+wM2YdJ2?u$OsfGuG~ho z_gI|&loSFK#CP!Klfl}WlY}=RK)m-W-eby|HDRZBbd}Neq=UwJaM4?aQru(ysFA&q z&YCI=OwHEPh^g23fuA<{W@&yV7D-EQw;1ZEgKdch9LgchmAxD(VNI4BJozSC1(qpp zNLcFmz0e=A(QPDEeJK?Aagu!r%A;VmD@@jDXNt>*=%#Zdu4Osi(r|YJw3bC3{wq_P zSpg@-Wy2qibEh!gaoxpMuJ$*sHhuF*J~dRS{)EvVv`D^sFfd@Lr)zoq)%vZ(yXh-s z{I_IvucBQ;%@Xr|9GQkbF<^3F*ZkzU;GftT)fOHVqn|((Gj!_#tiGE$Hb}RFWXchG zoOiqYW(C$3HfmJA+?|0>Ymh}qHbdb6VvW(b5?fcssTU`%Kl~r%H@J z=*$uLKLgQ96CndHH;O0n2x~CoAT_`BzG;7spWNwZ8go-GPQ~mjo6ArYKUssx#*+FU zSI`xe%o(lQlPQ<1ceHH8u92Xu^=4Hg4c}-`-Ku)qL-{!9K6%pCtBpuyMgMRF`8Z%+7KMl+I>C#ut| zn3l($)xAng=c%DcWI$=+WtXm=tX_>6c$OGHY$>4b#;W!HcR^1Xy2QOeuedp^@`lY+ zZEx~F>jhTuS9yWS@_MU+9*2bY?k@m;6098hzal*@PaQ_QE%;+9b$8({6oFn$pSvyL$Hxux7dRoOsRRhlHV3Mal8(q3Nu{=yRy zgEIKDWQa#Id?buFznpWGR1UVO8&UwIAF5^`-w=d@P}zgr!>1=r(b>w=_wQu`Bz%iN^_QVjolrB z^@+F!ugsZci{GH=CkW6GJ<#7lHFut9UXTyb2tb6#sxh}w8jHLlYi$WiaZs~37KHp{ zter~eWxJj?SJ87?taSKs!lC~A3&*+*g^@yI^?_9l7A;nTSc9^v&a4{>J{&i#$aH@^ z0ks_smws@97pZATdD+sLC3K)3{f>ycIp#}$9-wBR-v zr#|CT@OfW0%AbT%N&s28?U+DSLbv%n0vl0h=c-X2f&&evFz~K9kq{pymQ!cFJ26#F zQ`-yfP~EABv>HDU{GFuvUQf<+kznwoz}`6PGq>QOQTUGDuk}#7;CJb- zILmdA2AoHL^1ca@K@oeKb-Q_{HwsQWMnoUtLNddDzAF&P90c37ex!RWMDJIAHK?BW zXk6a4U>=b;XTl*a`tL)nxkUdT-@qvEYoYzxhEtO zIZ2;ciEg9k`i<-Bw0h;Bcx_WneiuTkunMywrw8UPpvA=MlOt}U4I0_ADrXjWfx*9; zXC4m$s$TsNNIe&zX3pk8&9aEXK5ypI;w%t@x*t&@OsSZ3dSd+b>%4CXHu{6*|m5r*a$&@woAI{0icN$!=W-?Y%3@xHy zQJD3JDoC}`OF7_~X5vR&+4dX1WxV=!{H%trnCOjr=78M#SchzPo)(eC2Fhz=zP$|& zb}n?%cy(L8{x2=90ju{h5@$p1qa*iLBR9bCt{cG?59s{5-$nXB#<$bnaw)Rg&HsN) zon=^5U%a-J6lo9yX(gmPhAx#xy1TnUBsLuql0%0`cXy{Sba!`3H@w^bIp@0G&+}5c`VG+r%cCO~x?% zBar;i0_f~ke?N<=;7FxHPo=>6QvFsp*Dw@7X#+2X8n$W8aH7@px;(1f?$;Ps0oFV#S z@KAPI^}uQ$1B;ZR?S$h(MQU-%fa%0wzwtytDv$z;VPLE}EJTo;kNbP^C6d7DuQxK- zawK88YC8HBtMI4X)8=&}seJEB3j2NHMC9`^X6yOIxjchb8{5#L%&(A zr2&i&Xh)5xhEs(qpv0KHoc2FXh$PY2pt;es@3EGM^Iu#GumD}N6NUeJK{W;^C7KOM zk!1u^nFh;uL${&VhfWR9r&s&e_jm%$CS>ba=NF(kGm-Tv3_KJ^7_&*vqY_{&xXkE) z!F$Pnzx7z)=zLi+VzIHllvwkOS?5`OW=lqHHwce=0UCd#dFV3vm+rYE-c)>C5Bk{q zBQ&nGRa4!Dmty8z<;l9DaU@0ZJ~<}U^t7xs+9Ug#ib9y(SIhk_d`T6 zZg^=^_X2OejKN{pJEw++3I&T-BS;h4W#jI<^Rf+|ix?Iv;>$+QYSS6{2(y~D(^gZR zUV%I1+1Y%Radq%oPaUg)K|xnn73oxx`XGCP3qBIZ%EGcV7f-2Amgy%IxoNl~3h5jD z%-pYRHWNVaR<_A{yQI+VL#z{%pvT0v>{UD6N1f68qzy-S+df}(zVuBg_BEtM3C9O8WKlf<)bcVXl14K$G&Z@^zD3GnOT zcBClQZisOvhjl`hM=No_Nmfk<_-AswFo3q2vE-M{ z%6AP-x;};#d&o9oueDLv6=ROkxTWUfrd=Q0X^n|9cj2wv^m&ymV~k@ZLDVU@P9pu1d^6wPVt zVH?WJTAAD#fXu z-CO}`GXQ}#EPkjlDJjysu3CBUT#gBx27F#;t}(JV=0Uc+g$D$NYRV^XYrZDSMEO^3}QXbI`2-&N=k2yrH6QTj7?kK=Gl|l z@{xvhnEPqzhcY1C{&-eIy(;jh{eN9A zcGJNZB{!gU%!d2V63TGjP6EXD=@_~Y2` zYe>Iky7@N7j}=-nfWTaqYC?sxDE+2tT(+V3K(jqwC#7byQnujmE_duVb*jt$TvsrL zn@{Y#A+cyZC9ZDc0v8k3##50xT|!dRO{|%&*GswAD2?Isr)Sz+s5vr5tb%!jo8~iA z_yEgwwn_Y!BVpa#+<4`7lhDoaAFa>C%?GVE*uI1gDbq7Rx%Hz^>MX855;sO^fz0G| zW1Ovxr^i!nm&JQdFM_^v(jC$N3ugERtqM+5X_#1O|#wbrwE z(WHPspeytMYT@jlMKs$2dZFZwZkGnZ;1x{(Q>1R><9U6IY%DdjQ%n`v07I97ityv* zC;bBDd0%<De*f{%e@^Iet>*dqkzO#7n-957l$GuKx`Ez9FWxh^%i*T@kDjV( zHeC(;B67%fE-^GvT!*{sSv@ReE_J}x`kngnGmIwHbxb2cJ>V^6n}N1BRIrs61)Yl} zXS=FBBb`d_21mWv`v3|odCfq#k?`x-<$@rkvBRPifWP3OX{D#Y`}I)*M7C5IZzO$q z69vP8wYB>5>Hh7|9CUa5Z1}iP1T(mzMC0yri-(KX1AQ0ugWDY?Z+30zc;UyoLn$00 zMZ6V-_F@XWfQJGf}04!_WBczKMDgYuHhtn z_{xhv0l~XhqUpfXE$C}myMw(+VIO(ORvcK$&6jvB{GCQF^_Bdb!WWVn&`}3#8!|x| zpib+LjJXVUysWIOL=F*Eo54T?sq?4^Dn7%~wf& zFx~&Q^5!t;?hde0GRy!L32{G1JOjYpmX_V{d}BfMWcN~{G}};dGe7)0Hi=4&)yU9q z$!G>#|o;UZ&de$DY7HM4qgBepi=KU&ArN33LZ}0Qhm8yqHCYnyP!>I>sJI)bs zkaEZ+>FBLo+zoPDK>mIU_5*^rn(qEjEXW@;gd`6^Fe;VfyKB`OAw zJ-W!3Wu^y4=lZ8q{W|0BFqQW}zF`o75BozkZEuX{qduRhF7V@vqmC^ChVopk;c^rv zr{RS_KWnsv#K`8sOxX%pUByy(oQVEHsJVQ<6M_)x)o7%zIvoo3JlEH4k6y}d4)iyB1Jibhzpf3AEb zUWepLjnxe#wu#8z8?^Lblc$O&!sv+1)<%-PTTjJH-^8$>Us(jaOSm#h% zR4~PbZ8_2>SgsB8c=}Q<;9rl#sF5%EzzbE{#0(pgdOU@y9H^DE1*-)!44LSRR8rmu zA_M`n0?7_@LZl--m2=yZG)`b+XbC*f5ozdF)W;ib#c?fgKph1&XD(&}*y}6x5Nm{& zhTWB5E%#}w)oHnb^46-h@t9=d@3f$`v+`=x%nlZVFM}|9h9C_)gAuP!ww77YDrk)( zW5SEW@qY)+`Ar4)H3VajG@cLh34vR84j``k|JiJY+N!GHVS#7d;9meCmRhzEj60YO zCA)N?bN`2ta3+;$NeFA1obf2}VXbC8jSGh0U0k2JflV_^+h>OsDfS< zBQrvZvJDIhQGZRE(R?vn%sD5sZMyA1eipN_oPjoQIjkMQ`x&EM8HpDg!@Oiq-Nysu zXG$cDHLj-lo&+67%fsXZ+DeO&617ri9dMd9C&NYrE}LhTQ!YCWG2b$4Eyh?DGL(hP zO>c%OU9EVu0S>==p;{=bnNXNrSPyMUIg_ekv--fyS|LYl_NZ$WYeLT@s5Ic*z=jGPOwQdNK=cYieMpHp|Sxo{_fG6d>>Q31_Ut^@Jje$4XNjjM~)d=>TGyb z3@}sS{5GoA9(9i*p}^GW!z;~dxHvfLiTd=qJ#$0!DW~>R^Sk%P_R>*1y2z{fna6%e zsNFSK8UpJfA8Z@8pkPD&@!@lH606x_iP zKndhsKBc}?`_x_j&YlmVCi_0wC-fW@Iv>&9%WfI$cW-=qXcQF7X)fO#z~4i%l98pi zdz6hElw(duVuR27?Pig9SJPPj{!|T8+yVJ_Na_+QPE zm5x(D!syc-988(q-fbZKWj7}83Wk&LYfv4wk=mNBnpLHr{*&s=1W)InVd4mw`(aQq zP$+A;r_}qKBtY;(CEuSY&bQU}%4$-|O5hMUrI4Nwwv7Tk6d2_eL&3@|Pcw5O#|`EYH<8Qt#`$p;=~?f@yPqk*sAS{apbe znr0&4wI+y&M}f1GK7ZtiL$=ogS_N^L$@=h6HN*%TNS|E-r{KPNNqs*OmCBs<22JUI z?pM5;u13fU_+KrcZwk<1h4uK{fs}`-Kpg&?Re!g6i#&nr#j3`}JJ5McVKqY9L-Rqf z(ZI*jpVh6goC0$_GsPPI2>&D+UW}ZRcQEHyJBhc>JgXn2iIe*PF9$`ItUjO0){WI1 zyAEZA(7j0sbIr31*d;SYFhm%MxO8w&zR$pqg5@+rLQRxu;wcmIpdcb$lS~}vQMH~C z2Q0iFg|?juK{~qGi!1z~W4a4_PTDw=06G)#B6&yXKtS?E0>QZtVrpvD_o-xy30F#; z*J@ad-lvQ7Yz_b$e$&)~Qx1+h= z`Bzv4;5{VY_I>)(RKKNQRSd3KFM2}5Eh}Oq$W*kIu~=O^PWkCk&$Ng!!WtL5JU<#W zFwLFwcCxNn7h*3htHU2}t6gQQ!)1e6ylA7|)@23D>jBIexg(&uSp{A0w0|vam1PtM z-7k;c4nK7CT&AeS%sVzgwyRmj-{)Rdwx?RxADoR#1dV6+SZXg+ws~)F3GqJ{iaa81 zzQxx@t8iLp$eeAhqxD#f+T>X`O#aC zXF`V`+WI9_y*ki%_$9CZ0OH1$y>M7Lu6Y?t*pH#f9eXhG&h z0ZUd2Jl?7xg1kDOV=0Y49iS}Z(VX{WjAcR$NPlvs!&Ko=Qj{yK>kejyL%p2FWBS2= zTw;nS-4LnpE>#$ZK>p26T-%Sm9!l~nx>i_tv3SJBF8kLH8q8wTu7uZXwq*fgpO_%? ztgDrK!K5A`n~6G1(;fp`#g+9e+covkWmL_^7P6%8c`#=BCNlNs8XZK$3}W5*{1DcsffLZ%Z$zoJo^xCQ?Qigm^xqpc4M6{;udWFz z=SSp0kY?ABzrzZ?BYE>I=Ko8FBa07YpRD+j{@k#ZjL~NOsg_J!)GPZ+FSi!vEcUj8 zFv)DGm{1c$qpY@i)>7kTydT}te18d=t6Vi)4=UJIYuVje9EkYqHw-@nA0|}$0`Pqy+(;A=TO2u)~pw9 zsMO%~RZENht?@s5Ks-xUE%4(1pQ~p$>Waw=Vd_~wUmi_^N)rdH{mi~4{ z^kFxFBTS|{J>F*-xo}3xhwYlWm?hkGqFsB%Rspb=_m}j4WF9nG+nGxFmVQp?x?Whx{&2ofkVW z-JfdeAMQv#O9BHc35!ugJWc$18f@-=-(F>KdGFtojW`P1*K`kvhwrhyrNLV+&Yq!N zy)tny?CXsnUTCZQF~boo3A5=*3|(A<(XjqerzX_{6!6F->Q$=THoAj|jU2j7=Cjz& z2|E}0Q(lFc*JIHu2xN}EzYIXj#`@C_5n{1|WH3EHTzS|%&m29^&Q@Y8Tg8NgqO>t} z&#gvLRSCK8HSD-98T|y~T^sc+k@LS?5%@7Zo!j3-U5$c1>;Cgncl)tO1Trp=AZ4iw z+w1`7a1FA_-n?Ix#{VQQ2SQ4~x?>CBSYgSls~g7if-<|?;y^urB-~Fw@vgJy$&=WI zwA8;MT%r9EFjJLD4K4WOhCnk-oOt7zfMfIy<=mot2U{v6R0@{s9t&99Xv#)r9hL4~ zm7C{u#nOEu<6oHQmW zO2u@Db`y;%7}iwBSSzxBy44KmROGpB8>SY;6vvq`h8eS=Th%qUA9Cl(6KGkeX%+ib zvWeohH;eGqFa&d>4sJ8NeML#dCp%a0v@z#||Cncc*ZsN)8rJSf&0{g2S5B`I#NB9dSMser@as(_=O8UAD1IFOMH5cUqs~aiDD(Rh zKdh;U<$V+t12nwn3;G^dEtff+`YE2acBmfN%HnQPso1^wC#d`~=)L4-{g``|w5oy| z!|rw%%Fr9~kI_X3>MKKjW6>p-VdO(`IT8@xc=(%rKNLyD< zae0i<)vG-J_%TXBaD+=z0s>SF(3WHuCs#_r6(`2QggOUIWs;$mv-P%*eS0o)8564p?$Jy;TwCt%3HQekB#Q zD(GSp|6Xm%s<6hEnsNS7ZhCH@PQ$N(>*E20=5(ECvKahmWb)&sK>g zKPAp+N9*Eb{i)t}uM&q&R&RMbkeBXpR;7}`2Q|`q__FuOi*I)HzY6GBLAmnCK(Jw( z?$6L~OVl|4#n-lHf?A*HG~OyT_0^FO2{3N8q2k(@%Ubnol#W@OB8+%W9T!H~zedPFF-*+w-GrsT z9__Vm;x}sNc}b-5c;}$P2BOy9(bq|)Iyz}LoM8Yn1U3sl9A?7AiTh;-2&2_9jNtFl z^BKxEb0`mkf6H4)9yp{xw994kh-RioWGH7;s4Qvwabj{j-`Ol8R=$==jC*;B*eflG z^Tcp$_m04^nKydYXn!+;Xop8m)A&$k7+nTkieSKY1LX6-bSo^>ds-`aG4JL1Eu zISI+(riRw7W^{i9Pc{}emb6?BGp7s{Xcy1Ha8yZvibgS$X-~jyLyi63`hmCCk`=q2 z=@!@yG&y7_e-gLpES2P`#g&J~4zOv)XQKf0Dbl{9q(yXq$Fc|ePD>4B;!pk6u_7d} zMIz~co)|9HY6~guG^$64JWNeA-|ou}3F#Q^g#?4u*2uTDgP~Pla6~);&Z;hYmnV-o zda)SCJ-RjW8+}8Gj#m4@wULL*2O`#t*V51fPz8uG_>88Z?xbJS7?ZAJfpr1AGSM`q z9g#ICAYTZ60lO`7v@B-%o6|?^I@yh)jQXiv4jAB?t?E7Ppe7q&_3v6j=lHC_tus%qqcBc{Bx=&bZxcLbXZ9Ho2FM=YY}zZc%n2VP-eUSQ(bJ1 z90rHZaV4bx3$isIKG9k&aa9g&uQ@xJEH*|>b^aKLgw6au*5c!~XV4^ZDt$s}7E{t)__4RO&S^E4L~ka#CvE{+WrNq|0K>qKwmr zqHsG&JFmSoHT*J-_mv3U%kj%Y|E0Wk$NuW*T96(Rjwv{me8@u7U-$553dhllq9(ga zvL^!X4fF6|A6!ki3$Q_ne@f(c8$FxAp(oXFv@Q2j{}{io(P6n=>MEMU=+QFQAMjVQrw(BQFIwD$v(DvI>{5Q{B|>0o z7k!F*%M#YuFd@%>>5pl43Tb794rS*AmXW868sNb=&I_un} zfjPGhTWB9NKT0BGIf0efgbx|l`=*~teZ@oSKH{KC6m@E=JoM|unK6v*vc}V0Zt97^ zUYP)e1%~Na2aG|Ki0qPHIwN`275p)ye26yF5oz1azNXAS9jXV6EZi))5qr1=yvGP? zMtHZv+ZJ!@Ov0d)NXmcpkI7)vkb#7U8iAw5^TRRskjA=q0x|M_P1e@6;kqD&h7O7PNs6v1R@nW>|2O}cXE9N_J}W># zO2DE2-3j)|N$CD^Qj!s`B0ziKN7FD=v780LZ7BftHDg<~HgAG7Uug0Tt*Wb#C6zBx zQ+Mn28ea;iBCdYRqDv}WdEGs~MQFfqz=o`D(>cT&1;zUb;li?%;Oo=zYOvnO9ZDfe z(OI*ezwFf|XpR53M#p{|An!cV0V`^%0TDW*3SlozTQN0Oi#}F|4GPD|P)SZ<8t8z{ zavl%^K=^g*K8f~BN?<8|-^6$7P}v`yeoZZ?e*-bpw6|Di?~f#13n^@aqLj@Z-#Hc`C9xK*So6933{&6&X!&Oyz4SUwKpU%&q`6dUr07`rC2g_E&`0%y=WL zG)$hR_6D=l;6Ne=Z0b}XN#yWXe8ua*#ww4xt1fC4tYukf|N`2{^=UZ!HD-Wxev8~@0lfLM_5QFQlOvdi|DQTzP z?74CB8NIlua-;HHSQUt7zr`4_fkp@AzIio*HxW)kSonvYBybh#Wl5 z>N3Xu2rqhJM;0J!G+sEZwXIgJ9hP`8lh*-dQN2>u|J)qt>3`0NAa<_Gjk1Wz2KB%WmXIL6w9b9kA3CG)fg6vbtMzqFRz&FT?$%UdF;qnBPUqu+(XK zjHcOXd%pPTdStMc5axiYw_s==LM;8Kff6_voV6$mYdxFl-=ML7JE;8- zfMCP)*Ae-TD$|!kg1k};o3)~QQ={56swAFJv(@TSA{d8?mI;J3DXyWIj3PcD7sY06 zKuDTpTtZ#yo4VXr&FvUU3YR$RepW@k>X_bvZ!*V*g>dWekI>xF04uQM7!}eKlq;Ix z($G9Ov=2arj9G1w$y3crw43&GQ|vtV=koCFw4)u_wS$pD)o$ii1>5U6eKvTkr{=ec z$g~^&cFA*bkB7+%vP-Vx;kn=jd%K98uhtxpE@@s$+Nd;!Hw^|6Q)(acGSCkuq=3o{ z1Bs%lgSEyXW!O%=r#Hi*dB5)lVZgS{FkF+Z< zW4!KMfRCgPdi&8$FKq)?Zb|0x&W#kH)KI&hu+wuN6-4$tYI;tP%{i>(iO`zUo`-u+ z@1i3&njbq*uIzd@?BV^GMUSy`unPS62Kkd5X<}l|l(ta$eJ)F*%&XZYjL-J4d)|AC zex`Y5RK0B??l(vpmY*5Yk;|Mm0>e3dXQ3Z+(SyC4Sb>O*FrDJQG((C>r% zOFA8VGLHQ1iyzzmN(EG~nbugRZFGX_UxlvlRnzD15{^bHo2ZLh3UNHTi~HlyaQyp} zztvQx)N*m{aJ?iMsb`cd3daSU2rwnOOT>vSEry3QP7~8ADlkA^o45|zm` zGA0F;T<%#1{kY#DG+VQJ`wx2|K$v=cckuapH@ER~@nWW9{&GUzV-V#ke<>_$uS}?8 zM$N(xIkYrCa-XIYVGXM-_jBVbaTL%YyBC2srS8BQ!Ncd&F`&gY4+CzUe3IVSx)4L` zX6^lRZs~B>#>?VahNwz6#n%}e-<8AAZq?L9q-zhq_lNYi52ln^Hwv@Rj3&>hSxVki z+0_N3a5SrEyW84&zziwx_s`{9olk^BocT{vW;}0af5&bCPgheb%jMpTdI2AYXR>RI z$k%uqlzZi%vc#Nge}FEG=kba>xeWdsJ$HynL+TdO?88G*6`5|00aX>Zt>er!nGTop ze)XBR%4zhuVano^>-j^?!IzmMHIm=jQEsK*X0g~LwL&IptQp}z8#YCcEG{0Jyj+)T*xD%$p*;oGw;sd>79*yn#m(-Gh zjCJ-lJrUus4Tl+BexRf6xc&$gH+N{(V27AnJioXgU0Fe}u+n;`M61@gjw5IBj#wi( zL`{vRuY0|Q6=;IS@Xjzgl`!NLExsbo)+qv>&ju=`dfz1y!C#?{vyLtsS2CoBYYTbzE%}~KmA9#O-HB49DkU*_Q^R) z?;^?jGuO%>F8g~+FSZ&-fG|;UB1yfx!2W6h^y3h#UWPb-l6jsGUNN&bF^7m_J!AIjQMCH%$fIeupeogN5A zC%EbDx(;7)nZf1+x7sR?H6R>b^L+{Yjrz9f0?|BEG1xnEKE|^i5!z|49}!C%p59PpS@lBj;b~& zCXi38x)AwT_io;ePA*>j-N5uJHsz5{_ivuj6Fw>;1 zLHC_Ut&`gsyEZ^9HLgeJIJ}WTRaaF*L4}JU1s;0LLNqXq#5$8(*{DE~-lsj@Enza~ z>eMaOdnDrGl2NKFDj^$WQq1E*V%c|lVNA0T6?eeX-M>YUL6llvh6;~33mdQRjKQe`l zOj)z6_7=6r0ErbtQMY6Zq4hzoA_>{k=mQ-1O2O^WM8*94YGN&lo`D3%IS`Kn80$`S zA1=?HmKK1sArSU>LW}cftQZRKZxKIQ3tkuja#`@P#ghMz8 zI9s?`_;MCFUGcBa#V5K!0nZrb?A)qb%CeH!3$^#!P)ayv!E;~ON=i=L~Wvs8a8pQr8~ zD1Fo`GoV>Juklv{aQ*r$@0QNStTv~e!Rs93Vv}>!dsHdqu|5rbn}P!?I>c`NtC4J# z?V0a~((-12i$dl%ge1pR`Uiu@^KV9W*VfF+S~T@7)%lxe(uaAiBE4g7CO(@!=VCg^ zfg^DxcbiH>d&EEODXLnqXFj{Vs&g_yuQqA9#ap=5BB&A)!2dRgd)e!`WX?%&@I_Ve zN8HOG=1;~nIG)sHuvBa43*<}dLxa?IIK=_F7*(d3R7=nMmbx7V9TuZWXClkco|XU+ zLB=qu810hbXvYL~%NQKoFaoCo53H;;XL2j0c}yl65jsg;qv#><;<;EWnGAshml>fg zwtX5j*iLT;Ze;WYN%-IoN#YIyQY;EW)i8@l6iJz5sUPhzGGU&VA3by4|Ij$*Eg4=XCF(}f#k^eCCEOT-TUiJt#DeCtA--L{#K)Bza)T}~BT4BShjqa!?HTOI zZcTug&7(^o;!%&3m8&X;HL18if+SwjPS(_EutJ^dfTJ!-`A3do0R%R_H*58~P*A&t z!(;HmP9aY(qNXnP!MY22EvZsWtn5{o zW=i&bZ4=$~nEc7ju;|rxxD&3eMtqa2RW8uepCf7G?#>1^w_S!)cK*A|rWvbQV?Hdj zd?!m?dkYR?i}xABXboby*I)h;Hp3J#MQ!*vz+O;Xw&M-9Brk~x;7;}olD$i zdVIwj3+4(fEsE{tMXlGw!YK*+6^lYEc}zlsh8l*@&keVnO1fzXuW=0-fA$%vQ~+J{ zC1D?nq`Pq^YXZFBmdp|!^}N^I$Fagx`f@Zx-~9+?Mz%)pigFt+)m@rf|OUqs8+ zp;Bwy+UqWgnY88nhGYX2l+UFw4ii9Y3cOgxuE{>BQ~_R(2{%qa1gT0Ua(|X2GwdfJ zN<(L z4$&o$sCJAwrQ5a&hfmIB!RJ(7{~NAZwsq>Pw_aibYcU8F!l+=2yun>4y{?K1*-EcX zz5>ps@vpwzsV{H2WJWb2v@;^wR7%V{uyeSBBMIrr*j-d6OregN_`nm;%_#J{df73} zI>;l6?x)&R+?1cGm6pT84~Ve$uSJ_+b;hvi7EQfV^Pc*l%cNPFj7_eRVhuGiJ0xli zt0^=&jCUj%<)}#&LWHb>h>MOBrbUp}xp$8@G*%gFbqgfgDLf^M%X?KO^ib>61PU#u zYT7O?-+iJyloU*MW8!(hdLe13V2XJpmEHT{Q9PD3dJ`ZFCFKgV_f9Pd^7OOv9rDAgB zywhHg%_9;~#iJ)$@PruHz9u()_S-*b3G0zrHD>5FFD^#=W6uSo&6k_XCY#(AwqR5d zeBF_PN)GA$9hnj2FJ^TWzihXgo?c|jT>0H)xlH!;l&cC@vOcLb-bjyRPcddVUYnbD zoZ6b1yds0=Pv?kUR1M~_ca>PkL6M?kEE))c3rV0_9UPL4NXmU#Sxu6g>b4J= z=#{N)_-(Er9ZC!^ycc*EOyW8VLM^!2jX_kxMsI{x%Xdx-zW;@E?Jt37qmfidY&FT8 z_0`pa-80yYt^C*62NU8T*hu=r_0rMWeo+}IO*t6!O?Mub{8uTSF45YO2UEj$_2kFk zNCv{E^NeSHXXrm_7#Jr+LBy9@1Lr^-0Vp)7nH!sVs=Muxg!GR(J z?~?+${&Du3jvI?c3qCM^dHZh~1DZqT8Be5=;WGJCC{6lqqwTKt(9jSvvAwXjZJ65d zdq^k)H~OE2fABD=&-tpsu63OA$qTNTC29zma(xF^|B&|JhY8i#R@21|zXEo~eMJD|QPBsw$yYF{1!zEKbV9Y&Z z)Lu4;4Uw%3o-apv0bME{f#KdumpKZYbR-sKrN}ZxHX*>@dg6F4Fme(WzFN6T77g%H zJ0zLW?4ICc{WPJ|1Xf4>ygcn{c}Ua|VQ&R|+*#8``#xXDfO7z-cljH&$S*xft@m?+ z?hY#SGf;vVv(QIg#o@$0y+eh1gx$Tn8WDLlO`i{<=orMqlWr7h90if7Nh>0^+m{F& zeLuG5VjI-jY)Ld*ul}X=AW0m^VM8AZ?d`>@($jeAfCcb|0tj{6HKC(Fbo#4r_+I~^ za60O}o85*YRWIWmi6m5X+MXS2;;Jw?pXP5W-22T?K*KPcO7N->DXKWEdTT0JRbUY@RLluxRTs*kWk@7-K4Y=ssojPMNC-DlU2$-i zTZd|BQ;wa7)T?TxU4CdO6$7|(1Bj7nnXZIXCSM64z~`kNBCe(O!;_Pmg%sRio02S7 zNI|jjr9NJ*0}9_K}qrByc!eaF0*T(nBcFcH*>v5!#l4rC-Fb(>71Llomi2E=jMmEC zH0W+$g55CnXN1SePe_?vbY1_@2LG|=jWfT#UN~+aSCCqJLHcd=rT#1X7LYR($cD0Y z^$&jlE}#bx*e^ft2&w$5=XnZz+PxDi_(ua^6tJr@8}SCIUZOO2AlSdfaZ764_053f z&U@t|zML30`inUF`Fe*9$WE$~g2GE9-Tx1S*Oe$CCgvahHNO|X>^$la1oUlzz$rb4 z9y~iRwFV9xsQ~d3;Fmf$n~^J<5^nQ-0J{crQS($lg0^TQGFqJ)l=URSQp|9wi#;)W zM2Jd{Q?jh6pJl=tYTkQ*$d)TvhN1Q-@cgk2lkkuTxt5UCXfxV?Y;e@{y)<0E{R&*N zu$#dAqj}AvFeD{w*S9k8T-yL~jyZP1HwT&Fv_SUv?S5%wpRd3N{6g~ro}81e5mao_ zQt>VzYw%Y=I%e^q(nmd7)%wsYYIxkexAQpCm+FJ(C`Y$FF*|4;y@tP%=oSze5^zyT zv^1m~JDa&W683988+7)RclHl|vylWL&gW3(jMaNUJE7OD)WAS z*RySl*mWp-B6AMH=49bZDz(Xc{QA$Lz<`n5)TGF8(Ee1}aMHIw7diMOUYArt-#3qG zgi`tPJe4`aX*Si90@}wzfa`LWx@4x~R-j(d%#=d$sjf zDk6y9y=6|b>mfp(k|SCK^x-J~s^iw=_?y?Om3~^oPheM5ZxTDU*?U-^Zh3d~8(^i- z_Bg5`C$W;_(|xhu1@1{UQ6}rB^^qDXDlUI0f_*+-#AZBfa<|<^+$sqQw=`@gTL~kA z6PIxIDn91e3lHCceJA+0sCPIQFy_YHtUuXE=5iXP9*^DJ z7HsM=9uLiUH$VE0D}@w;iz|`U$Y*YVr{5SSv0N~F!itmS>K`sJ55yGi$z@Ku-CA2T z31)F(;4;)x#J`di_g}LVyM{xTHYw5hIv_Knq8ywUscTFpBBVxX_!-b!T~xl-=DcY7 zKe51P>r+q`OBuUHeqIRIcnewn3pc`f-tsr)Y$y>vHN4+*!j;q=t`0aIebE{3a8_Px zKHtIzK%v1~tlb;q+r+3#q)4Ci<=4@rTF1G1F;5ROwtTWweWvWmLnnQkLP-a2n=U?z z!~`gBJ4(KtHvsrH#)kqpCW!y!x<=}$1oddSE**u0dYp_UN>Mv9h;5{(dOi*6l^Pd! zynO$~DD;~jAGNC!Q^IGXT6AOjR#tYmv3dDvJBsQ7LcTN%qO=g2hB-wO$es|3z;{Jh zVt;Y7sWextr7h*2a&fcYYy%HXLcztniENVdZ*>?K>IslsoGMY<83%4zcVS(fDN zcY#=03fKCVrpPAOyV)|dgEl)hu2*pye4l-MneIF-l&DoSv?OoCHO42$V?q|D@Z$d_ zNVJ>a^f}zTF~O?W5#)g5D6c4>P>m=ovOCGg)q*qIIsF+(1p^J_o3 z>H$mR5u3$wgX1Q~6xEj}k#!thHGKiB)Y^_1NYRIh>ipp%={n<1FY0!oTDA}n-UC)c zc2LJ0JirQgLHt4v{ZLI_U zp)>>07-C+1WK#^!T zhDeVxg0Rn`nmI1#GLb|-!Bg*IlJg1QFMhq!5fV1M{b3_|k$ z)mJRuu8OmuDHtxVG7*D~#dbhVq+|+P7@co7(?3@}Lyi|IEmrXb=U;GYp5MDy>!g3& zuquuFaq{cPulKYi;g`Oa43}*N+R}gg3*sABp3P49UL5ia+?$ym9GrYtIq8XEScvgB zL04npz#q*^l zGxnXF-&(l2y1JUWy1IFv-@jfZeqJrRm2r0jX^NuAq9tHAllS>+S?Q7b45BiU&k!Fr zo&LcQ*|ZU#YMAAKdXiNw;*AO)c5;X;c%u;CxigYnA29Kudgp6T5n^waypCa052q*I1dO=lc&~K2m9(#Z>url@ zZ%+VMNyti(0koISztWEFx%0{36YBbZ`s%gJ-~%Eli}h25`Q%B|u8jpW5y>ac(5)&zd!b1H+FMlq1JYxzDzea(haPWH#Z|n26_ruOJc8prNiUCj}H-+749xtAY;@VL+3m;x)H;N^r08qxW|3-N6hq$ z*$s^Nm|w&?uof+`aaE$=6@`2KI*hj8A(dCb*%v6sbpug2Z%nKaI2hAqW8b`Z>K+YA zXO?*3fF8uTG>B)R;7>G!?(6=O@Wmze6yX%@N+v!fSA^#nOH%R2Q~U0_t5dx7vB6}x zr=G<*FAjdHiD(NQ;R zE-Jy3p4m&mmp@-ls3!gdX9FfKwO+TJ1WFPOt{nsQ8yJZtg5c8B^-gsEN7icrH&}hS zJ=)*4%gwjorSSn=XK5ol|HclA4cr7;&s8FNzkIE#OpO!TUJVZ1D#6>kzdE`Hu?Vkr z9X#)5@DmTZ3}4GkjL|cJ*hzC{`J33zCvySt>jLAsO>M7kU4 zkdBA$2I=nZ?gjzr?vUOE8U%E!Om3|{M}8`gH<>$NYdp8+oOc;YNC5QEX&ie^I8pE(!qe#-Y?J>VQ)QpuX2x7 z4Zyqia2MEQc;CMNNinKuNlRy?rt%p8yE`wz^1@3++8d^bfIfGtA<|-Oc7?s8Mjy{j zDAHtprz5av6B@SxP9!j54r-WKzq>Qnh>r1OHzL({@{JKV_~2ZTXLPqjZy`pH0u{$_%YsuKRSUt+XEvVv!R_Wh4oGzURnZ^dh{0l z_8I+LOQK+|dt(a64u0M4b?o=$o;D0eyGb zJ*G8hG)Me?)Lz|u#T)H83J$KNMEAd0XzB zYO8zV&M=W{xm|ABSWY_mg~laEoubktbbB+?^(e-cRi8?xDO5}R6IH@ei4=X;kd{jQ zXuMRP9fpj8JK4Zkx%nKl-UWAipOXBWoJImK`~xw9i1HUgF^BdZeHs7@p0QG_`tLf= zj67Y`F{uI&>c=^4ccr zSFGlHq-4F_Uxd`FtYhgVo z=F6!-zNp2R%4Zs|;O+xXOc_g92|P{Gsqi2tu~=Gm*b83hNWVgIDkB^b8Og*dYq{+) zcu27$D^lIMt+K`X&H=*<$|moFo{jg@+VCnXsmPo)Q{$?f6FOLwTspc(IgIySYM%19 z-&yM}YXZf?cekgWFDf$Gkj0F%Yn$u|uIonc(@1g5+# zp&=neMnPiU0GK!)sodNJ9X*m6GTUCyluBwS1Nz7qfQaTXdA!4EGFw`ix|4dtU&HlY3@t5>KYz@C zHp*`8u5kyocuT#slEk$1uB`H+Zaz4`znv@YldLFt$*so(Gf;mm!rNj$(882*Z?A+B z8U^gCHnN)}Alq1fO(Ad|`!`^l&kuGhJkFV^po^$P)qaVY7ru4cUn}^jwn%Qk>fTV8 z;KZl!tqDTNyLV8I_!`})!I_?ev`|t^!&wy;F~xCJzIwx5p_&{H-f=~5PfD!zy+F0q z1pQ?3!^$9mLOn&5`gz=9IQD+F+RDg+PAE_p=}Ro3aH@ju$0TVu^swM=>(Fj|switV zM31+G9;y@kSS~1oAwF!TcQx_>la9eqTSAT*%aO(Q)p6p&tAg10t)xyxC2@)>BH#Z| z#{>1nZKKeBt>zS zOES4o$R(wph>t_gf}uiHx0x0GI8mZRG-;wkrQB-zauVF-ZZnE_FMQt|RSa0A{#i( z6@BmA^T!O3#eaPrE0Z8@&kz&OGtgW0AVZ|ryJZLSTJVFQmKG&DP3Y}1x-a2u09OxM z0oDvMjHjze!Hgl{sBZVF*OpcKX&ZkLSlLuA5t@G)b<1X)f62a9qSr)BkCm4 zASw`{{~($OCHNpL{G)j@>$LtX7u-o=jf!xjsBg{7^KYgHfrX^viLxu;S}|o=(-gEZ zMF!L?CL=48UgxR+!Y9<>{G1$va>E>vw!a^^ht51V3&AqQb50(B=WDx7CMfbBaFSW8 z@dRAb1*Kv|lJ6jm+gmuOLrOxZpt!&#-b`+dJ~Yi?+Fqy$EB6;+Lq<@n3i*tP1W?#W ziw~8a@-D#e2#JKX#|u+lr&CHveS&l z3GuJ?t41v~j*u?wF;qK*?;zv9R`lz(T*>KLz7lWS0UD~`b2M}=5w2~GT-H#Zkwq=g zI{HZoe*^tmMUuOFlqOi!Ww56X9b;9HIy)1lLDmC5j&WP4$@<&hjE5(nI8?peZV(Wo znW6in|r>JNe5NCuWJ{X328swjqd|6)lA`Q-6*td^^jmWA<@<@T!m@%{U^N&Q2f zu6IOE0F9J{_=kB6OilH^$aaDBxlr>VOer-4E=8XOuPLMf{jq*ap;(y7j9U-9yfs)H zY7@PFkolilfvjU4ZJ8Vb!8dg6Zb=t4-aB*;m-@CtMDp&Mt zmQefn<7e|vu^0T5rW1x9qi@oKS&b+GLd<0?1(k>Cc`5RIXc1uNU5Ti^GZJXuFL8rt zRt=Nk6RBfCi)e`CDmX~o)c_eA`!t@V=QXmeuJ^QqA-wziBG ztr1_MA=Fkjnu)Z6(EEp2fR?6|!JX(sWiWm;(1Ux6x$5qH`L-kVSto0(?2Jx@Y{~CH#l;< zU{EKqg$P4(6^=Hq-M_cCwhmSv%n=xJ25!Lx;EjzA*3ho&aX?^*{<_;2s+)JsVU+2B z6-He?Ti1XN;)0uhj1W!)9*qD5OO{ATNI2Bm|KRUfo=TJmqW4#TQka&qe~VGTjHPU@ zz@A7*LgCroOS2845htzG?I4KMTCuN0%*I85SaS!jJ1#Zdf{$aL#ngZ2s5Unbd;L52 zpqSR~ly~51p$q)O-`Ip5_rPdqK}SY`l^wQHRJx(RTprEa;fGr%sx^hXR!ntfh9=JK zLcdHky~Bh%#^!O=lsk>As+ajRLRIbvVJY89o%XvER192QQX@tR`^VoNt_RgTRlyl4 z8907j4Rp&c$9PK2T=;UJc?VKU`0n@H==~A*5GX|~r=7t#v33RUo)xPD14eUL$b~x0 z7px(fwd5Jv&=~ru62QQ|@jQ2`Obb6g4OCWugZo%`vUbC6TRZ z!L(sha=ZbW$&$FqscF180^eX_wpy=4Z!UTYwX9|Kb~gOl_x5N^5$kM6xBE@4 z=FC~IEYc+z#3@lnb3a&Mk2|{h?kH*ogV~c6l#M6SH1Jc1K1kuyDVUiUirEgKV*5ju zK3-#*1n`4M97jQt3C|pA(#F z*3+`GMKf4xhQx8uqhe-ZuSFA;~V2 z3QOtja0d+0$BB=_f*JpUL$__PVO|Jq@$OqCaK;Sn2jdSgix*wGp4To9^Fk5jz8P3p zCcTfqXP+t3LVJZXCfxqZN5L-N0RHU0giC?_tzgpe{cEs#!+xNET)ZLfqhLF@H3MLk z!)QA%nfO3}UoEw+r@5&qr3tSygSBShZ6A1>3>M-{ye8Kg#82N@_#1OIDUM2B2KP_B z1F@)Htq+lnLgowZj%dh$@hf@4B0mR;@6JiitSh_=+r{ma^erd&j~R`p9(ER-(~rfT zZWr|4TPD10z*KDR4mb7aQ-cP;ynKvn#R1%`yuG;rok%BISFF)?Ma)1odhQTzEY_K! zDjr-|7J(cE*xCJP7`cXC7CP@5{siTk?Xv*X1@B7A%h!U5&~m zEf_c7(!EILn~G`2O21Alm2HD#)Vflnaq@^Ek*;O}RFBDpjMdsJLm(wQxNL8%@>KiL zxLHE3W}0X^O=Eudy>b@f;u1}@MUC(&H#MXQVeRSlP{n996~I!_l9+vR%yc^c73{T% z`>4-K_t-;0g28N{FF-1)OSR=-f(;j%_svMwFb(3_IoT5Dr0K1K74{BEAvtTGxuds~ z?ZVzY+)WQA+RSCU9Y960(eApO_!BurM_hzXqnw`4`GGaQ?BePfO0V`$2#UIrcVQ;S zKJp)B4@cMC!-aK+BaPNyaiD9*tc|CfJ<`t!|G-6DN`64Xg_&XZ zr+s}49=kL3SiPx(wV@7fokqgv8e_;^j$%3z8|!crxkL%5762(vD!+rUSoV38Nqw)D zf+wLt(3Hj(ft({qr{Glh&nPELXM?7*XOo^#t-Qjw*sCEU6j%xOc1XY4$dQ_uNs3yOx43W1FEMNi$k;dcce5~itjXjwJgN8L= z8MDh^1b#PNPyI6hMui0&g0r`$8L$}#auIJBss2O$gDeyzoVRaYT~Q0yZcHGk0y;sK zJtg2X{a+36()>S>4$&T1WI2 z_}>H~;`Z9Tj=OX^LgNy2Ic};#K2=mRc7V&p5Uj4=z|VF_-)FxcuPf_!jkey`X$K+D z1h@XAFQ7_qu=FXXuiZXY271yjmv$#Xczlzni^e>H@b70A7jVNm9pY29$GwdR`$Z!p z>-9UM?~6}JW%D)yi{t-4rT+{`|1!ew+_N~D@Ll89PS!(RXW-7Q>hR$sGaytxbXTp( zsk)bH?K^Y|Mf%YFQTXxm@C&#yg_?X3Ha&O*l~G{ylKq`t8~q;zkE7rqa_Rl@dMJYJ~iFuuH!v) zqEX`{KuQStB<|x;91PrD!z!1B0TONC>52=ZI%|%`t-9eSfx?Eczxb8i%yYLV%g9|S zkSxr}bs?Lu`pWnW2(-a1Gju(F7@L8B8U;n3(Ba?zzZoiB`*@aM^tv#oBnDJ_Xhu@#kwOr{$KH`}b&;S6GMyi*XTONT7{H zbN!TNX}-qMd_84MhVs*;1@p7$-rvfSys+ZUmq-9{2fe42+r0>R<^3@d#ygV;QK>Nz z#qYi&gP?c3t-FAy-J6ipI){tdw2l+GMf zrgR|wqtCkiaJGS82pKI-@~qB8A;w`|e7}8CG4(Y;9YyV~@j1<%y1NEHa*5 zJt-2058Mdd@aMYE+u|FKCyh*mMi6|o!B5h4IX`*{-%o=iN0TVxvS}lms}A7{S^c5! zXoARK%+NQTgs>ct%-9eq=e1{h(>&gZST_I;k0%H99S}{XKyDB=%ncxjWv6rWEva>O zmy3#!$L1(=l{qxdI)BFn2+a6R>$o3*(tfiw_^s8lBz&Z>ws`qEP`Kxuv*AW-n)+u6 zmiG2{&#tkoZ8L|Fx?ei;MS1F9dK#|C-s3<*{prsE-!Dr?b0i*C_l1Iw9LDlt>u-R9 zW}iu5)x)G30WYEy#9H>y_lvG_c2=Y^XlD0Uh0tgh|8`~IFN<&@X!S-hRZG5t8wY#6 zkH3y1v2Ag+-FF{RTH)shS{0P2?+Da%hTnyxP4Mv0o`;8JEG-fF`3=B5HD)HJn5mmV z3azPisXkv?GTkW8<|3LD7PG4_pK$=wMqE_`@q9+=Yi0Osm#fY%mH6hdG7rjSsqW!I_*w(ZDX1* zEA$PVY-(3|nq4;DJU)J<8}0^99L$U$d_%^s;MmKf8hTwWRg5t&=)1kduHa2_9D{Wz?~3ueO08G+o_1^N8`nrLm-B1< zRNp}NEz7gzw(X^oN)1SVA5 ziF+FTMm?&Pp}M?1xpLsQpnZl2W;n-R<6Nj5S9qe8>)I8R6HCs!O?Ky(Ps+0Qi2{n- z?-Zlwl-&}3+Afo4%(x7lC@dHvFuP86f?{nIc4S13jpgMh4}5`*%wpOu+Rk~rtN356 z`g%o-$`LuH#JnVpcRm~IpT&HxEmf>P_%cp{C;=y?Lmr!OQA-anwZ0_YJGp!X9`0T4 zDm_FK?6e2UMVf3p`CgAnGv>NneitkZu9*EvUiLoBZ4z#jpFkF-`H5r_Ummj$T}F>4 z&motwix4EEn46#Rf6aeKM=geF)N&pKft92TkDb~10Z|<2mj;jD}K<@OD7cI|8OHIqD`wUPOfuv9QlS{o)G+4IXJ?z`lEzP z_U8>o#>rXbIl`D|`&ks1bZJ}An=rUz>RF!e2XpIhuvZWT<0XsG*N|h&msqJg-TUjq z+WyIMZ?k>UfT0J{=jYoneJ$;>H9(+;tQ zC~63@=h}T7DpcEnZ@f1VecL%JoPmCmiZg5BRgxJDtkjTZb8oXHN95I`Av+%iQYfUQ zC}X$yL!96sY+vrc*DsAF^kS)jd5j_x#uBg~wvpUK9_}H(h4i1}gjh-)&ns;x00~i; zlnNIG)H1zJmr`uEkCYN!3N_8m8r|al#Gzw_V(ODyY(J(atZ~-0 zoPh}&tD`fkj?yk$7uoN)4}Os6QkM1TYQ#Er0{EIq`|Is8O40)rZR!ROfF=g*(f3XF z2^tKE&U~nsb|prtyHg+G&lpIb6J~vKG(?-QQe<+kSuYH1uV;r_e+Au^^MV$i>KMA^ z5(`&DKG#E0Xi@&s{IXyC?>hVUbYjYUfya4_VRFc+LOoV>Po&Q?IMvfuP0jM{8J^R0 z?i~LWT6|S5j_7zu^u7vILVIaoyWYi;ksu8^GpyED+m?pO!ly?@`zjH`cJ1Y(_(bcL zP95e(#5;BaeZklKscjNRe{k{eRq3nLaJPgn4V5X^gV?m^E3M~Z^UlM zVX5&HfFR>$0-Z3|@$DL(G(%nHfJRLMY9YH3QJrLR#CtK;-k+r*PiEvU&1F^f#5vJkl*`*%J! zku4&k0L1h`jF!MMvRL_pWrK}EjKixz*XB3D&HRH*dEMakz#=?_{oo;IjV*eYJ z1z;ydl)M?0W8fL>!Tnx8Y<5r7Fm&lCp>ytZ&HK-Fiic3$p+4f%a_eN}5Z!1X#*lZvl5gX$tkVs4j79I@2ibdr&2K8a zu#EsO`j}I$wXuQ2hG+;M9)6hP)nfHRp??LU)>%?$xNpTTp*`mNM>e}TzaFKKz~*FN zj_aW_Mh+hs^df-A3&bwtZ=jx9$W)Yd+I2~u1#d|%fG8pi!RcDh!*}D z`Gd5VJqWKq6212I_|acgelg5f>iOc_|K#Lx@G|W_5-i#(?$;tCG$8xoZ)dJ{zB&IV z9%te~W|S)a>Y;mn8`&Nfj>+`7$#${9fQh?!%uXg2c_x86;`*ntK5sm2zm`fGS(6PB zo!6I)uUz8P`sMbBpfAbm(`Xr1KuQ0#6EW4SaLRvfFU66)tesrFy)u)bYZ+n?Y0a!ymr#)s^qV!CJ+%i&ZtQ;`V$Sf4mWXLVRV(@Oee>mtZKR|sjHEL z*zy!Us3JHwWY@&^&8HWx%FWjFGa2Y31|+doKbw{wB~xNq;r?KPxG;oxJp%cle>RAd zG7eye+JXP*>edJeNU3g0ljz}UJhevQQj7RRge40{vU6-t)+B23Me)dYZvQ#Y;__Ob zaoOm+9N0H!$FzoTYzUSLc3^mSUzzNj`>5wWvwdxAb!u*5q9*1G>bM#p>dTdb#^B7U zf{(|8F;uPLZz@jfUGK1zn%S^2_pYy#j2Oa}^n2q#rurKW1paKD;A}i2*5;dZba&a0 zR5lw^Zgylqp_Q);U{n{RQAPgwn2tK0BDBBMprv~9ygQh5PcQ$anUXbC!T4!0{a`vA zcf;=OhHyJS!$W?L~Wr9hk<;mjg&dt8#P18szJ(n4HG!p^}H&EI;pxd%OAL^2^K zPO&(8xvHOhVu%C{;S&`7aw3t$r?sr0US2h3n%9>G-cyo`&tO{r=kau)_|TYiMZD~2 zbs#`;d>q`F$$&5XU}9p2NB%wc8$&joI5i7bgA$t~TIKsq>f)lF%s`cnvX%*&$Mv_r zC7+(=TNv1?9oKounxlO62*1H~OOutWe*4Apm%w6TH>3&jsTE&wiRB7Z(p0=hOzV;4 zYA(?{=%@yp(!tkuUR-r#V#a&sv&Mr_=bP#8F?#B2T^`D)exk1*AQ*+T702GZt3K*1 z&^tZZax9JO>^bDH)=OgTGVj5NQK8+w2Vu-MW$@_18(u!X}^>*Alkv5YwWQB+vZlKy^r!i)ru@I7vetI`-jSswO@LZod*uB3=Ro@hdU|=)j>CLg1kE7A zQ6CECp>ClE&Dd?MVL@Uu9#Y4*nj#$R_;v!;Hi@Ie;={O(bnD`MKbN85ith$PCl$<9 z1|`9w{EP-h`3h*SPe7=irq^r-w4;daj}GL=4T(lG)30`qQ?>V^b1l1V>rA%t1c(qCzNSch z#~#-G*o$r$)YBoyMk3V$&g9J>wVek_ZROKk_RD{yb{mgT(yzcLsJ{!SA;J~hfqN|- zl)vS8t7(hH7=WLC5~fR?B2xY-tF~C!*kY;vj(b0uGG@4KKi}6%TANM$;IH_^87RHz zlt^5?;}Bj}hN;V@PMU-C%O({YDfOdyBB8}7V-m(6nR3nR;H{TF2|2C+G2|^*8RP&z zL#lo;U%$}jASqOHn3fJFU2)?=3K!8>m^?EoK0(en*?fTGx10lQtPgS|4)XN!)WzA| z!yibCZIlk^wI^>gUDw>8=|s-(BQR;k(WvmtCwbbP7S;>T?g~U3d>4Ha(I?E= zR@W_BPKAI`r(vb{hVKZL`qh6ldb19AX&e7r zjzrd`%%cq(cZt_kY={%ukwVNYYy}v}e)}{)OgW&(_Z=PK_h^Q7E?xcVrN6$h5tKvO$0M^K2Bc_La+y5}r>lwn<#zN4+2 zw>wXo6mF4S*qPa&$}A)|{r9;RpV4yNDscRdL)dbihEII}B(U2MBA{TfpwAWj1jWzKM6oywH^*lPP zcc@-7bvRpQ^k@}cRz1xY0RQuXUVT9TZK`WGfLKc-y%|1+Q6Gd0D&)Z4447OuYi2KC z-y6G(s982yWFFXTUU9lK^(w2(z0A23Uma@&4cI?2&d3T-!Bzq@dQjg`<@rPnxG-fq z%VNTRFihFd9X;$D6l$UJ7m)}_@iu2`kAo<^_uHb4wZ~p%8hs;@E!=AnVWR3InqLq;wz_TJ z`WI@5`!c23?E2=RR!ty2B<{xV4G=DHA5^#G@bktCJ==jp-@n5O75aI4nEP>1ZB6i| z>q`1fV>Nu64Pu+$Na)okW2ZQNZZ5cNTvq74Z-xuMKB)n>e@NFKXS%99^Udm`9Vl(u zbdfwV2he%aC5fCEeBxcKN!_;(^_&$H(rfh<)GP(5`lvY}2q75|>SYum+`nNP#%t0{ zBnQnr4mAPi+9lZEegA~QR{gMbKTl|!P_TY|O4xhPoWA-sUI>H-*~A{gBunD4t}E)0 zPjt=6+06$;tga(ZbhaOTP@P3|#!2KGeG(QbMTCfATpSN6f7aHYQOq2!`YFrwY3!w_T`xgKjXV+{O<9G1Mf3< z|9qHUSh%l=_5v%6nYF6*du|SA!0LnLEbwq>pcn*7$DzD!sxC9|&__x?4ery=g8f#H zEd!FJO*bHX|^NS%~o7rWYZ{PDKkF>%DtjoF#Kd$QXK3i>3bYnpu4AR*W|H7U2 zI%XyW_3Lpe+B-m((xKVKvz%Ksfx~PZNC#`UvUe!Kg9)&G_u$F+8ukYU$KkP$sdAp} zbGxn~ws!|0#N_5Q^Rayyj z7}umgS@KzHyqT($#IF-feELfj8}eQLtTRUEa@E=0{$H)g7ZUmIv}zb#@NTF;V4Du+ z>k~<7nBeZ$AG?wor!dqksCOpUYRGDP115nr-{`M*SvHt=o&0bOp8o_hWvG6)hPAS$ zWSA_?K<4AdX{@3I@(oPMF;*hIN_rMgKTE|1qr!hgVro)vtTR6e_cPvaprGN~iVGvDLaNG6GyFO8M0n><3ButGMJHyGeF(oEoCjvUmpChB%>F`c9o3*k0MQlg>h+9=ze|X=YJx>VQax!uwz$cpl-M$#kMC|Ar zABRaia8|j*F-S6}*97Wqs|-wyi4;f{9T&cKwYluyA=V#EOo8^0{|qUXsmJ1f{=A?l(-EWt($H^Oy4R>Fb?*W&rLC@uT}8LO|F=TcK>G-P*4RmC|znh?fHRd+M6$N2y@?78O;X(Q$Ha?wiTcmG2 z3Xfo6{L0i6#4tj~xbdGz(cR=FP3V@7or*OirZ=e-m&aF=}}ozJn5aWq=+YWUwt z=4szTE-e*-hzd0a+d1M z`mT{dw<%_sE#OxEsq*H*bb%~{D^vjN*!7}Ow2tE+E@AMewy@d)z{4!>yDUJ#1gK7A1Mt^OXWg^DQxY}r8y~(yb zOor7wUBN`nKH8|Ws(-94$|&m2m8*=C|K>tIc>D!Dg!I+@y;^+nHF1)q!C}VYW>hfd zu+wGGJDWbL`U*Gpo*yWd7`Bm8)rBwn;DvwHrIsFMkd%C*UyY5kcn7KT1Rhnl0Uesd z3n-kWpguoU>G=9)#7HMxhX**oO)%$d`Rb}JJ86Pv$k@IiBn1rFBX}VV(6GmPkaw;T zX}J#mJ{RJ3xbN&~s5fyis-CG$3rw>c!(6zRch-Q42=I z*>K64%I(`aSaij+?aHIY;H7)-1-2OO4Zxj6AfZO@ab|p(Y5T|%kUurmLu{$GaXCY} zdP5@kW9yp+yt;9%h&@VmGQrCH8XbC}vhw~@*D8e5W8L{fJjfG;_LII#HthlLjSFLX zxZ*)i*XrBqCl>&X^4SxOsp|%T8gDN%rzMDmHOGgLqwBTr{OzhqxJvKckS58Lep5rj z4>Hk*;n&?>O3Hku(O1EXi;evWtqWh^DT(8&fd99dsj@u@+U&Pp%!xPWo*#WPG?Kpb zAGMpb8}%DRLm-@LaIM&aPNDa5;uS5$LvlO(L-mkNZxew7{C*7#wnv#<=Kx(2qYpbo zQlej|wFs9)vjWkdxVQC>q#+rU8Rm$wQ&iB`ID1D&Op0`%y_TMa=OjTvy$S($n8nx`* zK8%A;*;0Dq2e`y<#H3}B(%cSFa+`Zm69-TKUaNmcr8o<#q_(=w%&r*rMzRl9TOBsGI3Sa$1ItV&M#;k&SAckWnoyt3c9)?FJJ;cT!$fo;lpV#- zX>``uuyrJAvw-@V|p>tH&OfUr~9G<;*?)K&376l6GGT*}@0X}vKLBr{X89WW# zx~wro>q}jHMf+~Uq~Wo%vHD~^5>LhRO{SI;J70J6wq}yRYu9Mo7QZ3UV~l7=KI>c2 zu_Mlt)}UE8m%Qf7+BV&VVU?wH1S}PmX`CT^7O}w7L>8-rI7$pOytXy(Y zozN8^E<&ytBym5q&}`O1guR{=V?j9jJ^p>d-$j8?o6Hh z80@eCS6)A-HIyr>l!n~St+(ix=ituA4LzNj?UIDpqOfjC3MlA5m>dR2l&MOaZ+RT* zE7NVqoxx}C4`xC&7N-`2c}TztEk_Z{oXi8f$h1rLJ6m~Rbde4dR<1N});)_&?6c7zKHgXyW4V(aD7RM=Z9Zg47 z+bt;}rCM-;rB<44vcNHuW1H|iwuc8J?^i5pKV)B)XT|YVE#gv+3K>LLUlY``{Z*2# zDD>Mh7=Q_E!P4?+t^YUzp4Z&pxGChxa2TPh?yz2Ibm=(OsYZ@D+<1T8m^tL6I$NrP zqm|YtJ9YHs_IzI1&;^t>gOCY*zQP_If+szp;mz)a!&3x&(l z2Jyo8-xN4&_d#(%S=lidNb?3B;XcPkM6OD4JYVnVz8CvNKb>gL$LXx0v3IAUeKYfb%6Z6J1xiv`;M0uHw?KotasJJGjWswMlh+yYWFLldH9D-t2?BU*v`6EHE#I<|~8K+(UqMNDiTu6IX zuO?O6veBgc%F>i%zlLC+dA58)ni05E!<+Yd88J5MAfgfaV(Bb)duY_LJ4jkTcaPq| z|4ry)I@!~}nH8E!uHMP0&qyt$=Xbq!_U7ZZZ*GQet;&yV+MX?{zCz3+DLhYD`Lf=+ zDPK31RCaIXB5Rf#Dn>);oIrw|-;vDrIxrPO>m*GMl2r2ahKv`ywCPV=e^3Kx1Kgdr z5XOq0&8K3@(N=H2cfbV;uUb_@Hc zvtYS4e8*neJ26=dVrSw(SP0YBK1KP=}tn zMyC}OlS5oi$ap5&@yBiRSEIcTi0+Rwt z$RsGj9NzJMfgY0zE6!e>uJmCbX~FY!MQ@|pEw4lOOG(TZYVWtQb9svlmJ7R1NG{}l zidFv9U}Zli(9zQXhzKAwAF+Dx5rm!n$h&|H{5KTx2oVWUB=v(svbfP2OjuY&TVY^_AskM`mzUT z-)}YPTvV1#c<)P^z4blfzV~74J)BqBtk(Q0`zR(r)OV{k1BIhaV0Uiaw03u__wIgw zw#Itu-!DgVy?)=>R9ANmCPzJ7MgvIMqrwA3(%(w3#@bg_R?gebh4d+X7wgj+!K=Zb zzB08c?+K4}C_qw_+xX85*r%){(*>sHTtBvxs`+%EU><>Hy#_=V3WC+h|3iCu6`{(Gb*#Nc4i+J57*RP$wHTMsQ<_zRF(5S{v@* ziBix*K>C}-YFLA~04E%v^}8-5%g%qd$j~9h`=R+s)9QnNSe(4AQ*rbE3oh|zXx6w;5|J8P^G||Lmlr{@#VY4Phcm+?t8RtZSf zhbkm!%oamX2)1(c0~7cji30a1&qx>w5;BSUwavaaCee8G{n?~2*hjw-cAD?|{CY75 zr_DrPGXFe09#kVek(gbj1@NE}klw3y!dMh0S&5xAMZuZMGFCmyzRcSGmc*e49N+hW zJ~vr-6kVrK{XK^k>LzvOWv16(i~2`mdS5=hEi%lQ0I%m&dDsdQ4!@Mr^s$)4RPvKk z@ZeQMyQiu>uVxcnn9|=`8V|bYN?eM6H^Diaf50dGf&8-Y^7*~Rbv{!5vND^Xh9Bxn z9Mj%6Kg?Kp$ZJ4*dUc-rqsZ|QAotC$0=%H&eEeB$b$OPrLTSWOQ;NY@Ya2O7B;R&4 zQP}Ic>rTiqNuNrNiXh}S z8dB%u+=P_Ky4%d6ArZl&o-Dyd&>#t%efm7~$-krN{q`P)E84L31H95-0ITQ&v|~(- zPZSk#&?nSDr1I+Gv@qrXNgRsk3irQNU*DXlJ_R%@{~$n-h%1SZa#j={DAzz+#vfT$ zh;Jz}Az4$aJx#2LwMuSJoMfsUPPp4sG>SK^B{G^M(kfdUGQM&##A#A~la3UT3G z=^uz)5qhpl(_5q`qr(de!st_yVfuSjE3%*EHkfk$6hL5`BnJaQ0HC3PP8=&&GNF<= zD=asfUqAA+pSMPXYeVmQW?f)jQJb33-QQF*)vlY9qy0?R7c=3Pb-;6*^1jNwIfRSk zWZATY&K=w2?d4I#&g;}t&;PToAW1M*GUT2EUov}ReSP=Tgy$YdH~-m6(|L?!&#dAM zXEIB#AUhsXCpZTH>KjT7_~AoP8hwW$zabVzIKOGxb~u5nOv*(HFniF2Mc9(q2r$Vr z;z~YeHtm;#|A+}OD1lIIkk`Xtgx)dX#zRmNX(fy+A-DchoA;}Gw)l`O3~Q6!ns}pm zc`D_?NssVc(3rQG8kyqPXpK*da7xm3Qf6J3J^{k-FV}#z4Jq2J*7{W`v#aKT0|aS1(&+H&X=Bu9Ilx+(+ZerT zG1`@>XKr%Ah`&AIOTp%U@pO*iafNH!j*Z4_oHVxGm~GJ5ZfrGJvD2VwY}>YN+qR8w zy7#-kKl6W%W6iARx$o;bPu9lpk@w0d^{XSqZBdAyIIF4(?Se?BL|656`^|MRm5Bb< zLhQ3qJ|)a{?ymDJmzHA3oSnhg1e{GFp}=34;n{RW>AWTjQ2NQVFz(!Ahh*0%{_Xe0 z@SS+&1_ka*HnFg*zS z2%gC5H@+uJW1I=A3`moOhS}~W0p)(3IYi3XeXn=(( zH*ppFrEx|`W=f4R$jahjioyUp>cz2S`E#$(7q}g}u#;o_AHCuzRWfuX_o{)uHs;~@ ztr=kHcoBohp9{3_`qhnIi#pclJKU973ncA-nwDm{8tV__uL-?8yD~O9^oU=4pvGe4 zPeg+&v0~Q$QmcEj_zS3<>P%e|^aIX$EMO9`quAYx?B<+*M{>n9uqjQ9LC2D1jvJ;_ zB(R#qSzYaqX%Oxzpb_boWgzG>Vaz_WSY4(a--!1?!W3K`cZ!E(7)+MZ9&+Dco9aiqtsy>J;Q7K8DpyKUR$19dn8d1(i42%m*wS&Y*3W%{_@Hh*At%wqsqk7ilo-{WBlRm05*N&U5PU-S3GkG8oYdb;!_Ac z`d2wDgzu%^77xIk=VcqQ8}K22QA^I8qo&2!df5%?j^SKdUZ9|$xHvg|+AfX!mcogw zasJx?pUa!aj_fjej;fb=4zd|?zgIYxgbqSO97ZGlZM^U-+ovsHsVo5klkl~h0)6ut zMB(WJo)Q4?;-+R4=8gcpM4#VtVgG8>;jH2q(e@TL3&?QUl(O-_A`PgtOwG+Sq5iG1 z7+ReV47Ji=Vz$9{;~eV*hY!`boEzbXmaT0?M~m=(P$U5!OVuXd`LCcV9S@~UN)Xk-HO_|5h|I@kb!@ypB(dc1?X} zBZT`)7OEFq$g^wf&gXZkA0ZD8m9Ae{L6`~Z;$Ojp*9>ZolSE@){PWx0Qnrl8h&LzS zUM;LMtK)`&Xr|y3@nU{wGNos*7OD`Fo26;~>AE+D6re$KM&=82f~j9{GRlit`)ruB z`Iv6f3d{&SZp$7s6V}s*35Jc4jxKZ&ZhBE1&!m*#jmZLNc%*# zMQ4=wS_ztn;Ge)p5-btH1ppb%T`^`BLH-QU#6@C7t0GnmmR0V9Zp(rUhyFhuukSmk zf~hpSSXkeWlWXhDC^&duU)z9X)=C4VSFe$AUJYR;xI%?VXlV*El$Y>bkd)XZ(|UlH z+7SGi7M8?qBEEj;4Ki}N%RM&pqP%f~C*_i>>MT6!sNVe~*uM1X{{)Iy!Psl48o zB8Wo7&kj!vF=C&Ac!?FwpY&&G5~tjna9E|sM!FNHH9)Z`sfwjYZ$VumqwSHzO2#d^ za<6QC;&bx>^^W+UvVF@j&(2nYWkgD8Wl7MOK0$wp@CSalfXJu2sev(K8WQ&6V}zKD zwF^9tl8l5+Aet5%8OX_Laa=N4sH5j!xz6NNMEDl;flI6k<^qcWd7$U=)z%=SAMPL& z9QK-fF!6zc#Mt**O71I``Et2`3viv1A#eV(?a@ybTnIK0W5nYV=rAbd_Ko4}Nn1-R zWv9H9u;>~36DxgS;%cP3xs>Se7}v&Y9+MY*2+1aw52856Cm`{PNwfA4#Iv*%f9~uA zvorj7%J_H!ol`NX@_icUSV7^0f$|~sGGUDPD@&A?&c#8Mx>qCpyNkn&r+udHz=@0}+Ly=K8mcJ`0p~DX`s; z>cJVU1y)&j^y8UzR!@Q0ns0yU)Rtv-j6xqA3I&}Samu2}Jw}!sZXd1=16696%Ga0} zQ(QF(3K8C(4~k4i?o8-Tcb10ZdvT=tw=fOCy66eo##|Jy z)Bw23YO&C9|BvnLF38KymOo+CWuHWM=^*n>Y!R)P*-&l-j;Ik7zXgYThQLLL?e?4F zypMdrPIb;F?1CIU964ba``VB04pzF~7XF_8Yn^ddT8Q`{j1t(Z+iun{M4oCXDUp7dIxiI6c8-C*$?&aV-?22eiPK zag_dSC1$IuIbMZVq+h~8Er5-_=nf)>g#C@IrMK6>1*gph#Nnbb3~$UXX!e5|DB`+m z4_m!?4nk8pk_3bQ>T<%Sjx)>f!k*@`S#<-E>(o-+uKI9-dkjDaOqVQ$N6?1k@0cm6 z8Of)A%iCxZ4z4apxJ2C)E<>?+b8>nglJE9bk6m(>G(iQn`#$Mq{VH>-x=l#M1M@u2T;b3Y|Ub_K$4 zLV;a^+Sxk#z&hS??hKl0p&!3FfziKw6WkH=x>%VL>o7w9>H>q z&l^gmOygT%#D;G$->h|#TTVaPCh5QZuVqEs{QR_DyJwT0a_0V24?YqH8}W4&{t07* zvKEQ2!5dtrkvzfjaY7GEQ=#7PQ-kCD(XSN8UlTSf;na^5mpbtz!)GMyhsW)<#iZ z)7irW4b?SU@-1mkMZ3$jN~>{}t~`0bsX3CQl1RGg{b;I(J`?2l`HkXk%9(;O&_Fy> z@(Y$qq0B(d8dHh$qGe)6GD99J#JDnNjsf!xUe}I}-!xDt+=>&&_NPBjQRTzzMf||k z`RLv$Ie#(H?J^j~?7FrwNiba#==Mi)EHkk|kBFhKlz_>U?}SA;*3l^#$S#8*Wp0TT z!$b5V+d91jGize#SP{+fw}as#G<8{}6axbr37~U>RE0jIMSJu|7RcbLahLrIM+?{_ zCUxgT3Ggzr|Ga6b#$Bp6#~t_0p=#LsOTV3{eyFxzn5cnL(j-c+TuJ!jD=I<$&*?&1 zIpsdnmwSgZhj7>+cO)cu42}6aijQ7m;JV0lEp@fITmU^XkN}<*g~|~+vaX(eock#* zFkvmgUw)k}a>Qgb1>6}8I_PMi;}IYRWhE&Cpw8>?5uZHMQQ6SWJFq73NLtCr6b&oA zqen?)zig$yyt^ED0gTfSf?exf%&0H_M$Vvt4l0#rr-v}H_W|F=*Lc&Nj~b|H@LU}b zDjDmG1X;|#-ROUKu#ltBzT&<|J5QjY@ieGS?6Pdm>>9wc4fUin2*B6O{p(JLC9|2K zFlR?Ygy8Q#fGD+JNFg_yv$9AF3)1vv*ukP}OvfNzpU!Lnk5tuJ%ud|P7N?`>0b*cP zmfv_RB{^BYpFV7xV?i5I4g4DWa317<8=mpIUjbXFMGjI18*V?dwtd;>>Nvt$SzGf0 zQ79n_ppe*hc^-gO$1GLdRr1VYAMkHfe|(axGipK9PX65oKQOgbw9ZaRyv)M=w#3Jy zU}y5*68+7ee6s(q0uExslYfeJNnA~KeT6I5tVu<{>wrXcEnH!}l87W{j^^d%{kQ01 zMw-_Kol6PTE$}`L4UmJ9lTe@3Bb{;jix_UfT7i25(jrriVm*{O2PmAok(jomiWH ziMfPj`#a0mvWX!*u)B0WIQ6H&92V^C;Z|W4WQdZscW91N{=suzTnFrt(teN4+3u`7 zW^t+#J0N^Ws(veyv6HTnVCLD$Wc!dS%V7B``sSN;%6iOs2K!2CURq zY|I7@b8z5nxyH8355J~A2giROywKr98PHcou2Nu+ZMyY^?BVl3HPpxuG?|Z}N&Ct( zq>>cQ(#S2XSom;{8NVP4L=PI#Lvnvrq~OmJFp3 z@tU3IJB? zo;9e3Oi9Uu@H?J@Vdu_=LJiO3qgrpKV9&*ik)WWqJ((1Suo)A|$T)ft<_lx+Xq8ff zb%vd{!0mA&{+Ka69RVMY#)7Um8SYzCcPZX?=UU@Rm_8xdT~6UQf4QIgvRgJS`jWS| z^5LQw#r`NpCi#C>fV{1rmkII%DLCw<#?>DdZrn4K*}C|wf)44Rm!x&U(J znxRjOL>~o)FJ{mj1n#vvr^mWqh1dItE%$?i5|=m+f^QRtuuRm~GEgcQU`6vaN$`h7 z^?p0i3l5|e4!!W$cmaFy0wsXb2B$EJ>-FA_)nH*@EXq|0_eQqFP6BpF|5J*lmyNad z(ynf;(b#Z6$9;*;)wAQ-zk73ZJ8am$ciY%@NJf|wOC61pkZoCX4m)OFNV_$}ku*vm zsf8nm64`b{J(ZKE^9Evae(hJd@C+y?V8|XL+10s4$=-FNIMQsQ#~iBt5#}U_&>maq z5$|AxJQW1$8QC4vWwo-Z-xs^4+@1+mCRRQ$E(y37_HS_?h#cui~z2Cmv2-8=*Z+yy|DP= z_K^X+UIX55Pbckf+fS~iE$>TNu7X^T?-~4#dmimv2YTLaS4JM^axn(}Nx^EoHC+{* ze>1@QWmpTW@Sx*li^KvKwK{J7m6_TNsM9z?VsHt6n%mB3c;_a-u)M4-)TUV?M!>kW zZnJjP=d-vDkOgK%q2tTs*5tMw73*jEE9Deof$5|WPN8X#g?6E7-Ktu+Q{q&__Ab+GvYB33Bwsab}JFla;8K)bcx1tTGP(-a@M zDiVD!JLG%jR!E64`Bw-TtxSk1WDIOep8^S1ym6`^NeNvRl`oV33HcUW`=WY+>DqJ> zOr#6Egwd6Q{kj3g2=%_W-TqCeI{qU^g#19U4l*KrH|Yewn*mK#l_ zy*G;#*f__^L}I0*Bj0H%zN0mlvL14ev!6KBDwz?{_UZ`JMsBkbs}XmP%>v;yO%2*JUJP$T(Hg9 zo$a1$Vt>64zXD`H$$ z4!$wNQM~`I@Mf~jUl4Ga&?iyA#Y>*$F>^C^<&1=yejBN{d%an}7&~K#HS|EuDQ7Ya z9^tY_Kp5H`%jD&vUnkpkw_CwaNm*IpYtYms!6zV)47zV?yk2sw=txT0b#OE*#c`&P zmf{*q{RV(j_sCa*7fJKL?IxmM)|ektp;P`bm|@m;&aNrZLMf~lOG1GSW5XkTz zNmBNV*mxT)kF=za zi_2V|oU@t~;Z2~iaPLvrkv|;`XA-;%(~?8~`v_EHm14RX6#@MMS)h_S)Yj*4{O&& zy;~h<7*q8Oaiu6d7R~eTS?tGAQ5l%JBKkO_V=|iif*q~`rFb)<*iQJZ_8a%P;l#-4 z5Mag;6G}T}+f+PDdQjkYs>5$HZr|&8p$)@bHIU7HS8JBA2#hA(aSv4T-5KtgD9CD! zGa&I{$nDF|zG2a9U50@!-&bD>XTdA=TC*-BJI*C2pY!Hn7`oOF-VX597bc2SOZg+O zt}ic$sLt=8UQ!O|#w?8~kxbWLd`XG1fdk=L0SvWH(-(F>PfPo8t=VfPD^Xp7H}qWy ztVPpR5K=*e*Z_DX-!;@a`TJT=N`uYYG~fGb9wXGP2?=c$p$WJs2|63S34tL;mpRuyLMQY$BS&IIva7pj zALnvrt7}i*nDvLTkEebQ<(G61R%s*O_x64D9}AKk{KM#L9dB0m*A1?6f*uqUrkU&k zB0j^+`bu))gk=zz8RdmIFoSylM2blyG;;BjptA%s38ZaFrm(2!&O8<>YWr<%>tX7W z^`C}P9Z@%J-QMc{hJM`tUFeg47W;q|S=qIjh=g<(rtef`gapV3LI_w`tg@=X?v`r* z>QXslNQ)lqfhD(}%5Gw^<=IIOR$aAwQ_>hLqCRB4U$omHK_dcAaj@j#3Lwr1=89O| zEe@K{tv5^QHdV+HJp=vmnmn`2ZkjW^%s0l7nH9)nGC45ma7~pKs*?;md+Ceig)WNs zxV(H~3p=d`I4A~_HKa^A?@>31kSnZhCY}B7P@p`1@viu(O(fUTe+u05H6IYwJ;x`UjL8CuAW&f#!hVPbkwJKks+m!n{l$}fkE4b_Ft6y_e>#)wHe9#mX2oR`0uF+EOA`&EJ!N`J?b-f*rGd^}-glRRNptv|5N z7&0^<@5^vEHNVxVFQrV;m0CR^y`=0;s5T2STDB%2d(7i_Q=hL~)}j1e-%dT2%V#Ys zV>ko~p&pffH>Tm+r_xfe<~(%VmiQ+njHlOlx;TA9w2Z<-{#rUL#UFx#67BE*^tInO zNc<~F+6`~|O4Cu*0a3?h933U0h}?IiJ3B6!?Cy||wS2US&z=lQT~d9E%o+$T*H5kH zC>XwYa^kCyapR%(-#kjpGTg7?$67E%LEAk55oT__-;FULuNoUE0QHnM>`KGoW)`h& zl8wFj#)mWcgn3HDIF(4>HX_=!XxG6{lUkpjIu7=->!=H|ga}aBeHRe{qj?E}Ibc-h zcArX0&Judu6qUjbrC0oxoSaJ4&o6?psp9L=5u_Ok;`d6KPYEXnffMZ4(dhj7*qaA{ z^mUHVmga7<(tr>#ZKr7(zWR$n%vcL*YS}O;r~r;b?D6%RJ0$;Y_8tKknf$P$cJG+P zn-#5ZU8@}ItB8Yg;4TMjLs+hF$5nc7`gi#P;$v0_VPnV+>E=abBYTxlD)8HXD%^JN zF5Xbc!2K)8z&^CaPK8xFtQ#NokRyST6?|4&n!#y1Bhl|34=9Ac$iBai2Y5jZz#~Ay z1=qosr$h!!tsZ{7Ug7jS8Bnl%9cVU%1OK~Xz9NI<$1&VQOg{nxHh4=GfnzoGh6&R* z{pXvY$@z9A{xzNE_gRRh{{aAUqPx1f)Fa^h_{_!f@JR0EOQ|Bf-y8usCcN)%I4Yk% z%f4RLdme|P?n%R{0EYIFrQe$U4MqwQ1ZUb}7ow}#D;8zu#+p-^K?TP2IG%RHyk2zZ z2<=;~{nIc-At^>*U2S-uDkJ5s;Pz4I=HGV$#huOLHcLAZX zA=jcG!kt66Q;_<W3rLaJ|9s{Iag)wh^&uBWmAYt zvc|caYe8 z*~;J^dj;ZbXpeKW>MIEFmvW0ubrJ2**JhD5!ITs~QIM4sq&xR77o3mmV+=BPi?C+~ z{i!U=0kaN;8c*Th^DmmBgLP#fSakg+{A(a?zJXJ6JfSZTibKO@0t_?iUWpQ4vRk74vZZb)M*HakZL2&8lYzZX!nh9kYVUFph z2Xi>Lshchi<^%ofzPhHo<+V884P#5Nu*sK28?|z;+g;Z6e6_=9rAvVVbxl$%Da7uL zuonODB3om0Pf}ufw-a0%3!5R)ner#P=)*w=Z_hfcvLc5hdHz4}P=4Jt0~upiYO*_T_4)qs>zGCMP9f)%ktp-Fz!=L6P1uP0Qw5HtUYi z3Q?}$g>^Y6>9tvV8Oo);ipB!Q#mKs`aOBA_zc3WDL5ytX2PHP}^Z3_@N5}P9#k&zL z7d|Eg!`WD*DKm?v6xOf%w%dVy#@5|fuCX+4Xw2ayY2mz(o4Ujkapm)YBx%o2H|l+c ztsWL5aY--p_tIqO5HezaIa?oB#oxTH;^#l!hq)?RpOD|)Jj5sqaX3y?d%D4Vbc*ev zEg&yx^bOS5LUDrtQs`N>aqgU^qM<3N1A{Lt4<3D7e-S6#UxrmC%0185r6~BUHI*Gj zp&;#LjTp_9}L< z2ijm()nP|VA zx>?FoMw&k~1PEISI^ZTSe19resn=A|oTpu(ZUZn_ieDK_%8D(ZJzXsiC|NV=#7w+* z%WJcSU5j<_v}uud!WOu$_4?)g2$F_(f5(FFgZLKSDwh;Z94B?~n`A43wR4#5fCR8l%q6c%r zjK8n&%C5TyXT{k{L&~4u)tD$?le0BV+Ja>#Npht{42#o@cCVHS*$SoVJGzzK5Gxg~ z>V*o8DjZ!$TfS=q3%!`xGCsADzVBZtXPE)Bt04zwP4>|{rZUF;8DJMJLaz#*&bjo@L~Y4?X|d{3IzzA}h=}`<87eU6r1EJ^Iw7Ng2m26b zAvx~%Uv*NeQyo?3-x+4b0v`AIQGfr8RTcjz-`3^@5yqW1ZkHCc<`7bxc}PJ7AH}5h znwnPsRpc*?ic1xFQJUv>#Yk`4tYF$f-e}idtlB6{0+12YU92Q0IIxGmfTUs0*A7ZI zZH95VmA;yF%WnD0ix;k8_OLcJ=;Ehh8o+?}&38Z>v4`W^HF4iuF@<+Z#PyGlj>1yu zQJBuBoCffHQlPNUf-U#Y>ho<+N%+GKrw)RHS_f+kypj`!S)E8&o+EbxiN9zglP|h7 zdn$P-|CkbJ0o<5@jHTQMObXj=EbE9XCy-w<44YO5Hidr|6=pWTv{NFATP#BJ0pGGXO99<0vyU<;KUIX}kzRsYCkVS3~g(4%aLdU8; zul>~>*HG7ED>NcTPR~$#m#1KbxoV+qi3b=zLfi?sdLe3;g|IqGdaLnLf#7}7OhPIZ zxX}1TI0_CM@`y3^N-a&*U+`_@t>5MO(re1Rd<6~lauyed$LHrZHizh9nJea z!G62x0Y)g4{ffcBIFUXtr4Lwp!4d@}<8%%X+Ks0=?c3={0K21m2dfTeDb2}zviG8m zx8mjhMHtNPHOfdsFGF|YChV(l2&cA0{r>cpU7T8XP@qC%wW{-xRBE^(#8P(W%uv_I zv3BR6!rqJoM()}K_IEaWO>g%j?q&4h*nv#?GnmJ=TC;PEwe>Au{X5$|GqVWMIfH12 z3G<={_bY%(!1z)?(TI-q(p3#WCQ$y8TJ()lnJ3Kq5RkILiSn}47;Nx;D_r~zP5uMX zZP}eL4E2RJY|ZNV*6Y)?c2hA#d+aZP2S^DajV)6w~t3L$=iU+gs5aShT zx*LHV({tOUum!nQmf>iEHrm4B5~8Lr&UUt+2CY~Mv5J1*6fg?$t#V4MLLQ{Gdp^&W zOEJSFFeXFyFw0p$49Uo~uagX2@8;jLCD6AVAD;+ak7pw({O>x?^x?7}y9Z8>Vc~Dt zWvEHB57UHwzrPSHap(!F@we-q6$7YmHMnAyB|KcQ&qtdHTUy5<*7DdOemGr59BgGF z1j|mjrtYIp>osjB8TvJndc@_uDU_0*A=3nDt$!vjlbc<1wo%hwwC7u?K!G%mW=NO; zu`Lc$H4DX!IiTHxL6cXB3aZyn<4k7FAW!Ag@*=b@er3MBowhxPl4#RC8M4H76PFLF>oH;5YS@}Vs@ z5bmHaB{`?#wiQO%q|%5ELdn0+Sa%A&chkGj|4uX_4=$|vi%j`v3a3ser+sCxI_DpJ z>2l-%*zK6aKyQ`ZUT;5VY%DYkM>%*O`K_stDk7u+P%#p#&hmJ4#-;62&cRMiSF#u% z%v+O0qJ3}_0s$D2Ik?sE-DgC6<{d5I=w}GmHY~cM+@ll5K9U@7IB={DRQib|`FvwBv!$d9w8S^V5cOE7 zSbXdxZs>S*P?a>mf(6siYMymZ+sdYb#U#gXzx{lX)O719B4Q^G8Ac)A-@7YiICi`- zp4OmYh=%e}C3YIFNghZNqmNgu_9D01EC|gV59%qk8n%OrT`n4_fEvqk^7uP^lbbuRa1r;X-tI2Y%gs~#Kbv#YK>N>I-HuNt#-p$IJYPQ}n-8x6y-XDf2{JRM1m37Jdk}&u6QXLbJ}sGn?!(}Id)>@3 zqtMAR7t(_jF5$EU`jfs9cVS@{EjjUW3r^%3cHw-G91$8n@QTRgLH?vIdwY@9Uv_rQXT45@;7 z8&7wNm=JODHS5oRczK_y!BAnxY-#pf!=vDat*yZ^ljG+Ys)(q-dLmdOH>1r72$<=r zWBbw!QR2h}A(#WTbOv*|0KtdL5!4S;r;B#&sfc1ZMPG+`8k2nKTe8?dc8gQ~x8erI zw!<+$%zkZ}6|kQctX;FC?`!0^0tF&RrjWC~4)P9#pGgcd%aC`uKl^Jzk>gfc`q)3H zqMIUso#^;8)wAp3MFi;2ZQUM)3qF4*e%$8jU`EhUWB)_}ulh#+4kU{lX!OidNO0q7 zv_IYgjeBWo=^iQpMNnJMuve8(Fhd|Q*6P}t^+mZx%|1w8(0)Bkr}%$-z{6hHQ$3a&2k@!h$bYR!Fi#2h6g{nHFn50e%apR=O6&)AESw~ah& z0ujag2hQ#sK;Ahte$$nA3}S&ymY3J?1j>2Y;HLRkBiJ|IKJMEJNKOqNx?{iu3mbS#J@xp5JZ7qPGg|f)a15XmEd8k&) zYD_(42j~yHcTGJVXfL&#Jrxi)a;0EP`2XVX6^T`f4l6Qt*g>RQHXF_Gm{*ZQ(Q+Nf z2Qz82iSp((TKB_qJh)K5`bnyXB;z0)FBuG@=ehe{QZQkp?oyWZ#1JZ;ZI)qAMJ(oH z@4lHYuY)=1ankH~Gsq37-KyKgE=!_Ovvd(XB^5yHp9IT!g!GpIl-X zr|wO_gV!uVzZ9%Azcc9u9}oLE?;LFV;qL<{)+0LPDsByRbaue5@A~KGSwaLBt(hks zTfobVHskfA=b=KUW_%F4k{;c6*$9UqA}Q4^L*QW-alGSlS++u_ewRJQJ}#?h8#O}Is0#2jx?FG7)mB5f_Ei|FROBA`%4n_IGr_mCxS%x}kA=u29CLva zAk8DaobC1-)z{;ix)hzl}#>myoJI>PPIq4lgQ3f zccFEYlHEpzDSk?b<_5sG`pbQ6(bA7#CF%yTDSxq z^|DDfvv? zXJG^Z!i2m5c>-re~hHrbH>OC(HtW$F#CCAhn6ax$^_m}+5@^&K&v_y{~R6D zK`EQC6m>Kt#mZzlAVliErQrKOIWfm;S`s&T}dSpsdzEV8#2p zw^YE)$7QfkXa7G9%!TIxAE?=T0m9O3fIu&Etzu*7|2Ni3*S{zreB8dKp(z(E>SqMX z|8`}#v1eXZ3MF98=xBR^y#P9Nt=DVUvM-H{87HguLVI`I!C$glZSeGoC+{%LlM=Rl zXi;xf8@wDHO@=)g<;ZeFw*^bDi89q7OsC` z)S7D&duUGEqhe8eNpipPO%t&K8sdQkvSaQ|k<{}&(|p2h2hDlG1U65?YhKzJ)vi&s zuLX?bZ+3bUM5w2^i-dV&kXm_~#>B5if4dQ3Zmk{E`+u*k40au1vm*`q1}aY+3Oy=a zZ0^L|lZb>FZlywuV<*MH7*j#g{0!5!PF6s}{mvHXfd3f;bn4n#<*yS}1X;1-Gp2a* z7&?ju1_|g#rKh@onjSbt1#2y*F#S|EBnMaA%`z!6Z%elRkoIALjNdU?RQNRfbeSR% zf=(4{d@rIymWGJU*wW}aL5zSGJ3OiX2^N#1KTeLf!Evp5X@!eZju)OecdcNQm8t)p z7s3^}Zw=3gKK<7_Wz_3lRM9A4$B!Qx2svc@%W2~Gm-E*%4&rxyY!#2$#c+aI&EU#- zF8Zip+(P#rF-^eY;C*Vq1zCvQ&vh5h=Z-z^7mE&3b-$|nQ0s5DZ)v~MM9l17wEnm< zPL^Yb)2=|mIR3FzmAbP9_H9pypH_Z;6p}^z48tlEXA$Vf>+@ds91Xo+ zCLo=x6nc3yiZvkRh4YK3w<9#x{6qQA*h}5!@SPIs?DXS-V|rTLlMpZr{9>w4LcA5ZTBPI1W-%>S-ow6mlY6%$*2-Jug|b5nArQV%+|}2HA%b5uOs3_+b?Hlyu{7B{h@{U`_O^~d@ z28LBn4tu9A)F~fL{BCMOzwOvH{WgIv2^T0{_&7;3Nzrp>o2tHU)%z$V_{$ZUrS`z4 zmr%8L2aJNLNx=`Rl4z-J`wd(BtO-ee;3Z&Y(Jf3APcfAXcbuy}oxl>G<@EF~GPcO{ z%~b)!FR41D2`6{2tsbjPv@D&2d-gG+mzsj!ptle2mWp&JxC?rj0t=&M#4AO0#Y(Da z;|R_@rxE2}=M=DdPU~&E62Ia9-SiUxjkpR~Xh=jW-c)8@i>qbpBrvwlu(d1mnjSNg z;7eiej^9cFF<@cf>cc02PF;jD2N+9!Ls*^Cx^xl77(L5}%(8h7MLzxGr_H{Qn$VId z1%p!AwTT>#U+JgGWRV|iJ>Iu`&q|>ELqy28_-Qw*kVNqM-_S)V{Tg%c88lP?Ix_8D z6;TH;E?2Grw?uMEe(S5gD-`Oi=x>%uB4}tJO_3P=@7qWlPn*8YbnAeY5LO*!Te-F0 zdx~C7{mqN~&hw{vBj`=7<(65(!lc>hL+y{dk+d_n^KXwc~Y zuTG|=rS+ZnDEDSUr~}9@3}St z?KSwT@E?mo1s_ccbbP+=`_iGoH?aZ9j^NbAZF|=!u}fT_sPUM(eBHsLS6=^psnE73 zEtS=_VSnIFAt@_BN}aZ+Eg^s=?4MFy<@eNo^pj2)Mb<+o!@#PtJjYW= zmhgQZJ94K86`L825%8$zzkNOY7L$q6SqpV2lL}=1Ow6t|G5TCZ~Sp_GJK%CV($iw`ng% z2$WK~7g+gtm`Z=qBU)oaNQ0>q(9gZ0))A)niC|7?Z8V?WK6HHfxE}bMam1BADJ>+q zj{WRn%bBS!P-Q!^Z+3pMRy8&of)587$AFzBT1hqnp&f1^6%Rr~^uNlMD{hy$V494a zuIzGTVLOhij3mr7isvgF{`od5<~3b|8z(oPBu4X)5Mry z4#Wm(E6Ltb)DuhDF0x$Tj?Ws=)qlJ%nGvy#kqONNoef^a4b0)vw_Q(n3J#mS9U6la z?HO;UW)+|g^4>_o4XNw8xFE8)A2_1k`d-Hgr z%E4r>PWjK!Q8aS$UE3sg`nLS^r}I0D%fJxNxAbKdk%8~SSXm?ZIxOY~AKVxo#;$fot6!g3o?P3KM(5Q`>)>~Ym5#+L!QJ#de*V$`?>D3@$v^RW zI0dA`Jwt$gr9k0n7+O|sRIdNggzy;OyHEUB)7Nyh)}RPU9DPd_m>O+?=mGy z=&msxEx6avjLtA98hj-hw z(?p)wwe}`AU;^mud~G`WLj@bkuE~t5l>J%%%|ll^j>RPv*f%jK>dF+uRIw=fqjkBm z4}`wmwuTW^q7ZW1-HdTTQb7%4x+w}r>=@fvS(WyeU_l7ufZ2I?@MY@x41-QRTOc_r ztkpjV&R1@PBaof-`5%nq8$4JIat~PSQpO{;ELaHuD*Ii)e)5=+=ZbWGR!>NDga4Ph zJidO$)ZTh)+WzRFF+Yv#p@k<#U?*bjS#0tOo4jx5GbvIE=okE!YoQg#?N%PWD7mV1P2W4d7m}$(7{FxUQ9Py#fOi42=w>b-qkO}!%IUGM3k%t z?*aHzdq0>R+6@0nZ6?>2kAZoVS4s`ZW7F`AUwi9_|7<|9K~8Ns;32hx*N=jg_^n4D z4C@l2AC71`D>fkP!x5Lc4-v~P87lrYT17>3vHGw(o{Nj}JHgpP(A^ukDKR{J7Yxg% zoUB4Qv2%zb(n&bE+xzr19t{u45vDKj2cG~6ksdKJr_p4O_cCG)rz>RitfALKJ1X)* zKLZO*)|HR$a<2*7n!`~agB1>CES5E4SQ;WR`tS1oq{x*lPO;{~c?vPq1iH8uwh@|Q zj2L)|+YFy&znhz*20?5YsO?A>d0Fywv#1D{C3n3^lKFFcG~nh`xX)C96}b zcm0uguy)_Nw{3gf?a6r~CyVg|M}q`3#`WdF(Kcy|ND)e_JdTSNTCJz0&7_ok7X4$? zu{T%MHGNk4w!Z9js>eV&?(4Ag)<(EeGJK-5VKXTX6>FqgfQDTi5y1?kiDz+@&DZDT zjYbe`lz2S5C;qU$_z;|TeOX%p-ghT$b)`Pc_XcxL9Oi{KHIH*)CQ0soIu* z0_(I~DEGQwGGl5!Bs124{x~%gN&%UNN0ZnL{+-^3Olv?~)QXrpPr=7c{}R=*>hHC( z{s-vSkbXLq`o3!WAgUq&La7oB3b|kJ+Hn&i!O$@xOnz41Fsy>(vDD3O4rudu_~!xV zce^Ah{_m=i!!hgdz!7cy9l;o8fNnUn0gDgxWX-1vvFv=X6J_I=19n#5cQC@(VOP#)dY zrpkq}QlEO;m|VDRrq1j2j!Ww;N1GdLfL(N)R8ua>tw zREv4U#EEi*K{roSRN`9_jw}4J3R1pOnn$^?vM|>D1D;<<_iVf|X2$5JE^>d}1}(l? zzk!luMbw8oLI}LNIw=7hmcM{UBGo=n8|p0ou(^1-+wJ#tBrHdue#)Z06j@3shrkGi z$1gi(WvjCce3fd0o_OrI;4t8Ewia2Zk#?WRB;7;vBv^~tm`gGkGbk;#3M2Q=8Xsu2 zx_s!eO~kf-GxcI^leh8A=peFyM4RJ_H}j zi8QCZ=&#V6)iDpql$n(F{J zVlqEzJ<0Lu5Oc;FKIRtLQI0W-G8DWHxhRK++L6-s&TEs7S-)2)Ygg9&&**l(vcwRX z_2bmvJCJO35(Y^fqFooao2iLCAd zA_;9|q=`gcqkP7Q065Wy^|GIa=75UI?3IK~2n}*L+xE^wJ=u(;`uUx2g!)Qy_-Zd_ zkN$LZsxSALPUvCt@q~ykum)?a|9w8IKgLkV+A7r@i0YZ22g^{xPxP z$t)IHlzRx z_Dj!26#NZJ9#7m62MZuJKH8^`{&oTHrIRpZ(TSXsFLNfKi1MP&m}dh@)50wZ489$GzJPffqTvJH zR%f`XEZ{xNcRhEg)Y`j)YSjBWrX&^o9$N%mI^J#Xdn~zz2bT7Cc(D*qipJ*V zygf2LrC3I0qBv;zos<)KWQA`$?@@<@ft7wTfA?iSZ+ROJ@G2r32#N}@F~}{ZQ-Y2- zkUVn>-Bt?Kl#+}@UFhQ1>)av@Mua!ih0$dCT*p>AzAn!EUKikwaE$p$bu-h#(+?%5 z7A0R&T32Soph~n_Z%0F;H@6CzweI^qe;rN*D5VdR;aU=lT927Li-bc}u8jDLv`;s` zYUZ5RQtC2wz9cv81-~7wT!10UgLblFld{9W`0r}VuukJSy&k2Qaz0z5xHyV;`Q9c|T-w&d`tuJBCZsNd#>5puMPZEC1HMDb#+_1^KLe`!jJ<?cj|^*(+V9gI<=RJ*c$xtirWYzxjz;EQ{bI zzFMZn-kwvmI>o!uf26aDI4KdC20D6rGl7b?C#UlonyG13K;=L@L{lz)KqBHPn#|JW-h zbCD$+=&sCRNqE^1e=W`5ZBGTA^d%lKaj7T3(!ZeXk&J|yCnKjOf?*1~)(l8Cd)5~4 zu@;nsFyJaqTwTq;j`qKztOGoeJ)-0oYRr>#Dh43X{R*Du92n3QUN>W(VaT{a5uEVQ zAtJ_H@d%gSpVrgA)drcso`3(yC?$J+>*;I`vr>|P!X5?9M>J}gQG-x`U-mrNLB+(` z-%RzQL(64E!Vb`HV;Y;woH!xQ$CY}lujgBkp6fS3N^}x-xqKE9)CyKMFIOt%B*3Xk z;R5b=~4rq3pc!j<7^ofT%%H_;_3E1M~ z!dF_dnS}#GL8IhntGqU4N3Xoj8a6PR*&Ok)+n7OS zkcju1LuE^>Wx8(mOz}-QtmllqfyR3##-NT?PQd-N_E}RCx8Aaf$DaZXpcZs7z zlpBQKGD(U3wmU50zN8O8LN+PNcbX~?uha6qX}|NXDKNJGa2VXzMH5;j80bHN4J*Hz9c=a?+eAMn713Ju7bh$;iR3 z%cYmk2EY<9>@SYc;9N^n%x9k3IoR6ZC{#nP|9hYN9ODRBCq*Q83X|VzEa&{J%verNwDM3@73BL3x?uR|SUdliiJi&yQ@y*v<`sxtCJJ1zfF zyD`40n|G@Ud=J(Z?`wS`f5Vlgf|n>mVbG*8UF$c!F*@-q7t)PN*P_96A z&x4V(@GOFVLFD=gm{XJfGNB8p&a)Fg2v*NCeQTS>!EP!q=15ei((TYm4l6Gf?^8>T zi)WjMNmq}p+-!8Wv#~Ly`Q7MuRQ*e{v(>pc4v+7wl5KNgbG0lCXb#I=re2#lHE`-& zqwMcr>?sPfcn#y@0rZ9%Zmfi^qdS4)XJKb$<>E5Ggmg-YvQcLVhoZ5gBx+xdVj%eO zC1GfMl%+KB-#k3WTlW(;S0SjJGrT0VQF(dLptur+}v+N+fo15jy{M9=tXrB1|vEd z>!h>RQ2bM3ljaN1S3_=ElKUh%+}C@obfBha`b%I`lfx3Ioguqh&uwSjeHPS>mkeX1 zCNjRK-^5r`)`_+UXwZ?G$3nBA27d4a{3v-DO;AVmM0_r!?Ncd}n~hmy8ja-?)3PlatC<2V$-lj>MKv z(^l}VBYauDT&rLER;;b8S7p?!9*L|GM+rszd8ddJAsyiT7{a|Kn=T}t2r&oCp+?Dj z-pWynU~^QC!uw19d&BryKR6fo(Jn+M;au6}b3&C`W%#OR@~cEhP2S?VZdizq^qZHE z@%0q$!*{>=ci7LPsuud4w+rY@IW1*&Dq>1hBz(9=q%7M{LK+d!9#j$xa5mL2s8LiF zbt#wW;#DWnnh{hu9+9b>^ zIcDL!Vg`@(a9_6W4|BMcljf4JzLDd%Zrog-?F4a4Y5#DTfO6GL5Se-`Sj?nCjMH3M zqgE-8d}an(rAUZVb;R6CV4zD)bVH2DL`v1XE1wL{c243cr|0OapzJLh#{!;OWUzE- zfGaAO*6RL-S!3f@Hzw_mNKkIDQoOPDuL3D#XihT8i_EC_k!vl@iFj9MS7une+;HwM zKD7@+c7(Z^Z11)-uq>*i_DVxVztKPf}YiKJ;o=jA2-DA zUL?_w5rlopCVh=WZ_;toqH3s%t#|sS)E4>rv}3>{N|my*I?TB1)@X%v|B89Ee7`Iw zMJrI7c=^U-46%#bv(9VO3#ZrVmFezI-`iY!ZOZcb#MCDyAy$BLtk~N(5_1AurfSsO zRAZ*nKQNI{5FYt+x$0>z(Zd1%cOr!ZW+uTGXGf$+s0FaLaARJl#6tS`RL{%ByBU1O z6PrkAc}6u{ps;)be8Xt9=N@hTrFMstG~--O*+0TQpWUXf2lk&g27;6q9A9fu3AEbH28!t$IH?4opZvJnr+;;6MnGm zU{?qF8e0{_oK`lB+kLX(r!}=NAqm8n2D-5~;sQMfU?5(%Ex9yBJ{h7{<U$}YguDnobMmFA z-^`|w5<*!FvX=i~;CoT6d*5>;re>k4vsz1;Bt$^noT1=@VvVCb@r)y`<(LX8 zNBNC(k!hu9Gk%Z!9me382xLHv9}X+HyHu=(=vxC9Fj#hJK1sP~rLuf9*=tvt)8b?y1L4k6Zpb zlS4;*jU0OGGS$AmN+_gzca++mfY5rl6Iw$W~bys=#a z@*Of4&4T!EBl+p@v_p%V!1nYre>~lIf{98WMzoR~+`N&dpI4X0^lg12T4+RcjhFgI z7`dbLd6wtt>ttZ}2N2Whx??2^0Z{QI z?PZwIzWvVb4@y}@7+kfmomU=tmgF$5-W|O5vcvOzDqFg8e?N5mT3|f0d0}{f2r1Yh zD@p#q;rZ#vf(df_8}cevmfv8-EFLFEqJ!64b6K{p6(3sly+vOqf9Vo3`q|Lc`cKY< zUq=hLftvyY0}%*?WNVc^I~e-;lT9|e;2h6neR?upF{@^As08AOi47d}7hUO%u+RU~ z3cerC-=v;vzlu?Um2S96Ef&L^j0PF_{z-}1w{M5W;`K`({*{Za8s|)>a}|X9i`1eV zJ~&dOEzXa%-a!w^-4;?;v`{vzFJnIyLprj(q>9HN zD~*#7%DJ(S)9w7b4jql{lEFYA9L`h~CW7dl{#)@23#^`+6GjC!obeYx*kK$8pIj&^ z=9B1jq!dn_nH592j7!w?)kh!rZv%5-H6#Kcn7Q%*If({BgEJ&tP#RjC)3wg6O#|Ee zbt^BgImJI^nbTf6(_}NP`+GNd65;P=!EAyeBO(|{Md|N&(?_7F3&t-S63uMHc^%cat{8j-CbqT}?80zE(!xg9>OzGgD z?-zDQkY$hBm)yE72Fcj(=#Q@Qf3J9>N*5+iyD`QT@7!P*pK09!9pENMqq=Udi>3C* z_bh1Fn5HAH@D}e#bx@U#z^cyHaOMyfHR z5`e7LEGh_Q!V;FE{TVo==cbyb|E#vw7dFr?EC>|={P_Y}Qg!a;x@5F%knT^Rtg{yu z7l?>gnpjfhU_4Q2oQ0Cb11Ld-&pznxjT{{A(}M}nR_oh$nE!Z!7Kse#gOinxi{?`W zA>Qv@7M!AGm_X@*2v=1)w4>WM7!!XvZO>$3wxA&ncukmPIp97$GL3{!$1KQRv+&TW znu}db1;3w?dL#`0LYFi4){bJ?V1fJg$1FDF57O6=jG+1g6LD}t2(v9Uzq2z>{h48LCf3Q+@C-CuaP}fkhk0m(bxhZR*(`^fl-1mmk~I<;F}u4E!s`Grl+O5K}yZ`YL+>`6O~R6{CbX6LPKb>g%wy3SHN61G?X@rYnU%|DZX-d^K` zU{NS4!=m!2@bvz)tZD2_otZ}K0@Bk*_N5>b%4+etgjsmbhf8I)L`D1dIuiKu|F#=C z?;^H9*<)lgON|IRWrqE;G+rdcmi)CUP&ppm5cyfdR=fFHW{>4M)ezcrxxakHItL^w1p=kPxM<)r#zm{u!!r@?vFoyi2pseYj0ld^A5rbwQ z;P$0T$knR)bZ)zumyK#6V4sOW2KrM}cpiMTUWLa|b9}t=FkmPhB14LS5-dgut4*fB~mTH-+AixQlQnv zL)nrQ;}`Vd3nPbWx*BKhN1vb*c`&;L$9+GR(2kx z3Qd-v|K8|zx;r!Kc`s^cPD$BUf0~XId`B4n`lAZ_5{CH|M~ATgx%DH$_K< z_dt#BvUXw?jac*c5bU`tuL`$>?vrESQV;AVgEAWtTL=R{Q1@Q*%zxzg{8gktcz~%# zE8p?u`4lmvAn;zWwECGM^V5-ONV_3##z?7^uMbHnaE4_;4*l2{70C{TzCBWcXfxfLIZXxM@-P^r_TQdM8e4#0o1Kxj6}KsJ(t46 z%fXss$ktHPb=12@Ss;B&m$cOd^e_0{k=!ufa_PO4tG>>)J ztMxqL;B%7cwv*3zIZDegHq0+3v|5-yUx*zoA!V4?KYZ-pXQv_TGY};!6jppI@m^&f z9JoY$oUbFqB5ao|833WPlhyZruc%A=s^q^of_ zU0LMyQ|D>tT^MP%^>VXibiT%y-T* zl-~U%cJmJ5OExG^IjLyw(NXlasA1Y6gXdGSfZ9ZRW~lM$gso-Y8>P2bQ5rB5f-fJx zW1KZU;2nT(CxNUue1qF)Rv)rYBaag>S`vXrGWVl4e+umjZ`0KV=%n8b{(sVEzZ5<| z0CXFPh5(3d;D4hURvi2VlzTeN8hJRA-~C{D2?DC4;Pql6l!*bkM%O%0y$4Ya)}>}k zXM+ZJ&w+>U%7&b|{SA;NLC)8+ajnqr=r#QZtQt^zxO%S!X?eo^WH+_fa+lTU;ZMho zTQvyi;}c)kaeqW6zRt9CDyelBY;QdbnCL01Z#kJ!xY5DIe1fs%U90zVO<%Xd$921) z-+G+;ovJaP=da$YM?DRzm71{*PVGhCIlTkbtxHhkaX+KocXmP^4-!)u>>aErIPF6U z)ZI?cSD~~&Ub}}0rMXhpvU6YDh}l>~iCIMn8R}s@4+{m*_*GO<;I1)+z|Pt(1y)%F zd~}Zm7|;r|&s&eeodc_nnkT?KyPHXd2DHS4_D76Z+f3%2_-?Y_twt)K4ePLPN9I=$ z0g#DgT{>*%p&^f4phzYzuhHM?(1AD15xj$afw3Bn8BmNcIvNU_#Lt@j zsaz@sMk7^NtHfg<;r|}~{KxyP?uS)?%sQ8@%z<%K(GRo@owqXq(OR~!xI&ee?ab|QkN#oBgxmyAr)*mX=Q(_iB zj}(EOqhgT2V8b5<5C09Ne=Y+6>}`Wr1MZr9ilLZ!R4}-3n1`FFyRaDT<+5V@bWIDk zK(CQRg{PuWMy^GZHRE;h%UCcIbZ>6#Iojz7Y&X5Nxir-PPZCzqksgasdIYZOD=lIP z@o`v1E+=xytNggX|ELr1Jg zX4`zR6ae=ZMN`@NG;R6SI-4VhKmQK;@?k`j3i!M+G18$~QP#xLtlRTOUWn#Icctm)_BwhP2ve?pf>ug%!N}{wnBP8lwq3LcD3$f*TYO;zV8L2*aBWrR*TTh7V z2WQ>%su_dD!(L~(!7W=`>X!}yOkZuEDKpagaIz@hB?fX_%ZL&Uf%#*8cXp;TK7Uz7 zML)6QSxFqsC0lBmfcdw*g;g<)DqYwnj7LS$3Y+=d?KL&56CxIBg7!VidbJhs0uu?P*Wl020WFuII8?K}sZ<~#r=i_0PJ zbwW@0{LtX9h7v-BIbsQ89g4J(UN{GzfMQ@X@s1#DO$)ECj2Y}NwF@e zEg)2SNvG8m9|{>n9a}CA)tMn~E@aqMQ;UswhSS#N;>?973nR!dM!rKme|U^&%C`;9 z8i1yYkWS!YzMJEI#}RIz68iv6{x>T&h>7M;Ot`HH2PmX~3;0m5R>I%q_jNAes|S1C z0589jmy3a}*tqAB-y!=RkdQGJMX#z3WZ8xbQQ=b!nNafzmxN%B$B z)D07I(u#iYPb33Dc!``GX(ZHCp3UX6*6V~7;k!y#({D?wJRvfDdk3)N?P0~rgVOr_ z{0eoYhMt!W=$najB~nuGYLZ~6JZ$u!ahjHvV!lQeL5{q!9S8t~G>?p@1n$?VW_FuP z;%2kdoy|SBKuQ~7!(jjbx_ssd%#IiGBvPakfI@MzCPJjZcxP&Y{7UJf_`EDUo?5R9 zWYK4L#S9jp}*%<+OM987?*)bN0<(u;1 z8-%?_q`elFIoMhTkqA_?$wGgE1Lc4FQ}ZFzTpKa*rX7?$3KssP=}4 zu_O--L34n$FHaF~ZKoA%(s0!YVU-uyP1lgo1zeUtrJ;FZAKO!vrjOcMTo!nJa1ALE z3sa&S?A~l3oq+u_yc4oEH$#W5&Do1|5zcg?iEl760BmHlJi|};95-G#Xgh}*WQ_D* zE)JurA&#Ww4B;ECwU3{Si2*Q+ivQmu5{utM@{fn4Xt*6a*03%qM^Q(Z{-WK-!1p!N zz=yBS>f=!j{oRYV2=#$#sYyjjXR2qqDP=X3IdP=T&mtOb#%E5g-(tflUDergGimuwCF#_ z`tR%cgXn2MaR$5GlB= z-``$`Yz@Mh$s=YUZ4>)+Ygvy?rs1Mho=w48&yA5=FN)<|ytzJaUU~jOGrLL#s11m! z(Q+2kDe_1cmXRt!H&dNl3;%GS#zh*6DHu(NO_2yw>ex1#Pt&^;1=W@A@G9X(A{YPz z`f}KDDTxxO8HRj(C(zQ?B67IoCa@I=FeLiysA_Tf*&j}7%;k9_?;br=s6S)2O{S}8JOM~_Z?;}5jc?r@lt982;fExK2LUhgo`6P-@f2DQe0C>pw#H(!_~X7~Oz> zUP(Ism3>xPNM%~206*kW6r-iaYV3d;HJAd@a%Ul^O|^M4`W9bt=(swVu2%}tfeU@& ze8{kcL@Tc4)c!TWz;BoYOv3XE{Ns(%BUW-8aQvP#sWV3vSH|RYR!?KG58Vzyx14_n z5LVrC2|C1F=6uj5RA(rt3bjMCM@WRD8&Gx_WZRgmZ2MBZ32i z+!?ZP?~P!%J5xX4lhbk59FX0?t{N+D0_o*M0GrH+l$4=kD;Y9xefQhjSLJ14Ucmby zCY>x2Rr4tgiX1-JpFxToDnc(#S_|7WVT5)o-!~M|f?-WSzl~_1KB&CwZ_C#0AL6M~ z3rXb4?}-8VYRnj?X&+^9*0?ee6CJ@nyiD$;>O{CRp;<_^g#uzi#r2~b`YG|kG9lku z@uFrtVPeFUwBnWs2~2k>9z@)?N^81!B0 zsRTZ0KpQC*E;}qnyc7~@@!Qu~Rr zkf26Uuf$J(Eb!;NW0S)46>RSk5UA;Bfp#(Z(`gyzp?ae+<5wOWfPsbbDojLU;tN)K zmh1uDEDnx1b)EqhA)f?ho|5R-iL6b2^V4gpQmC-Nh|HBn47RTic9{@9x69q)fY2r1 zd}cnrjA?Aw4Vu&TG5{D1jVBH*BmtTfOLtZ17ZJjcK)XEKYGGSi!m+Ue#3APq{F9f> zTvbYn1BFu~+*3VVETQm&QDn3NE5J>=j;vLY0U@86R7H%x{TOMQsp;AlqQ%y8F^LER z$4G*$--l7d%|ucuMIgbXvA5uTJ67l5!>0$^aTIh;c8(ANg7V%fn|vY|AcqV6`*oyS z>_*LzygHRIhf!Uvh(IZ7(FfHZ-_2{F-^1O5y(J@Tq!!k{PEJHDSoWCw5Ah(shZBOS zSU*{KFcokkB=jzzmSN1tQbDCUMpAluSTd*cxu!6v+>w2W2oeo$G~tPl9@>>d)4Ifh;JncGx!KF33FsOEkAL_i^MUK ztCqsM>||QA#0gcOa#Rujw< zMZK@y;n1p{=Y}*3%wb~TDD0l@T=O-uJgiBj_RrFWf5I4KqpuJbxYK1|)Hi2Wxm|WZ zq(0^L7OdLxvTS-{j@k=0d6>d;RAhmZ?wD@k1JUHjfLz`XeGc)~H2O+e)@=vKFpBy< zy8s0|yLMj0(80}&>e5jx&*|>}2?2bN!m>yM4Y5d3KAm~3DdTe08T^D<$I>t`RL~wC zY~wiIa+dWMMJC~WsPnc*xBlXogigS_3#!l!*eT1XoZ15s=s8h(2cWd0Ln#a#SjL?-YrPSfv5WDVKj${u{$BrpW3<2D z@BKMU^b0XDc4SZgdbQ6?1%<8Dj2{o|4Jm05R*m@@jJ38T__VgufDCDS#5JITCBVeC zCG=n@|DtLkuEVR+rblgv_|r+qp#p_eho(g0Ru4K|Ukc2PLJj?*GSJwb97P@aaIuy< ze$-zVMt~#^v(vEY{F4BcA2NM05Y#0NiW5^!a8y!bdo*GFNgvp4dN;P?w>H0eThLIQ z5{OF9@~Pu!8o~VnK?Xu}tgns(N8az|{OGGe-zcByHPqv4l-J;~+*>2M0b;Jx?yU&R z&`L78@&`qGG@*4-7;EqIr{gluBj&9TVM>PNtwe`i`N02KND-d zlzE~MJPjs<3q~aSI($K~ZR?>M=*0m!vee4Qn8bk2!H}MM=hR+LC_0EjE=eQ@+C#C{ ztdNkMOcot%b3%uEGc=i#tm-d;)w!IK6jqk=Zf8IVz87rn}p8j&I&gpB>%!yiM$#-|?*jYTo~P@#)Tqa%Hec&huI~xMF`4a zTH@D0ofN8dOI8nabN*54TO#G@w#P{xc|n&y#NN|+R<)ayjA`1K_;voUQM5?qjxwC7 zil91{f?uABAQjWv&=X3Cq@S|aSQJee^g@~Z{Y z*evIvHL;;nMYE8CZ;aws659eGl81&zRT_$j)#qs#QrDCobf-a#pDnyQ;Gta#*s85g2poJJ0sKa za!WnRdZU>r^P3%GiVcM#05aH#Cdg&|R7)v5C)5B_TznW4`$v#giA2CQI4Pf;L&a)g z`A+b4B6gYYpO#!SFoH-OF8)|s|EpV}%XLxPXC{0pVySQRB?^6YLLL5;3ai&G;y8U& z|5Q+vF&H3}h{hbNY^_z6MrPm62-V3V{GEsEu}30)nbxaqw~5-~#rsC410cqo*TPDr z|3gN;d+c*S-RS8YXr+XHGv4Mo_WLsW?)6#ghnkQ1_gBkc-^;x0p1HVtUIxaC6!PFl z{V$7uJJ_#yK8oadf`6?@nC3dSIx~DS(tCphjb*{c)!XTvDj*}Ic19)hnRy?;~!S$(fQTPB36I8@G=- z)!YA$ZZ_ikaV{nqdC2%U<0IJVc<38RD-knbX3swfRby>TkA>(M3O64(8_4H%xUL0R zGyB3;aP)NTm6)+!rjAiZK8lE3K;B0XV5~GbSWjx1C_0)CGkaL#`AaQwIM^hd2>99C z{pbk|I@&fu3=~pOVp(p$0G{T%=`=F^X+9_Or|nP8))Qpw=`|aIHxZjAELOmZ2C^?? zkOl)P;|U3fkMRlcCXVXCA>vdcO~DZP09_(c8!_^*cC^8&_>m&?%he9Qjdl|r{Al<< zVeT?uJKBl?>&=ksR9f?K&|~06@RvMN z>nNlzP+$yZS0{J)_6GveBQ5BpF-a14Rb5d zpM}c8h@beseZE<30WO$d65r7#_~}>Oe;pXRh#rB9h+DhB&suxPIe+izna#6XiPF6( zuA9s!dYsXRUIai^DeI8x zWR46ThPB71U}hZlCvx~-`44Zd?1}nN$$`b%tdQs@7cTW8f+cOasHQMtV_>VMN?lxk zNg%c{)Az^HwT8?HK2W@Eu!u8haIJ)jHp|Z=!r$bj`u9t)N=x#Y)Ex5UG$_ZZOjLmQ z$y5`DQd2%?7mPgs`aiLVg5JPyM(o+xAsX5dWRdeN?BK8_W-^|bskRk`S_49RiT^lO zAs-Rwnoo65wSU_Iy`~27#7{}zP~=|LR^-dEVURu)wQ$;+LayFLp_O~k`IG)V^myoljG*y9u z6JzV8KpH3)$uGliM=Ruwms2)lcXJ(?rB2kX%?MN``rSbPbZ~X(z|t$dNFm`+M5Q3rA)!H(5M@Lq%brb$KMFNx?B&yIZ*SsI7+wl? z328$Ei!CWfHfzF30cda@H+Q}J-&12N#CQtKkN_WO0&sog0T?+7Xi(~sLE#zM-m&+$ z7yC}har0-44E3vGfC7kyal{>77rOqB&HcmWuHcGKfdV4%h|$4X+8r2W))>P?uDC2CLVo{Dg`rF(B7qP}KoYGlBb z3|+$vfPbp{+2He#v*F`$&XQ*Q=tKR2+goXDB)qGT6YeiZDqDP$l6!X&`+c|mhAA43 zg3pZEnWN9kem>ALiBJ#=(wp9Ej&oDlVs(3P{VKMAgfK&A87iM|E+YxB>1eT^X(Y!= z4+la8lqIOma408in^)nwsj}g*&Yc8!+Str5Jg&##sB&P)q23mwU&>Hpt?v>5NEQmq z%&(tTzjj?U7`~5DC<=<0&?UsvvV!9P<0j#V^~7GOAn|=n7b+2mS-6v%S%cC{ezlW! z;5lg5%?M{aGR!PP4JMSJPKgEsg-(Nk45*(leo#-{ww*zEnCrt0cZy>y4&KZ6q_eg^ z*#Mu-=q?yBjO{}^c`rWGCp zm!lgAh{?Dc$XyNF|KI?AP~$bSwdGUI21~uup8%M`LZs07{EymJsPv{U>8^KjPF@&8 zw5p0-*LL7h$m67kc1i9DL%fN9$N*+Nz>>TIR3bBUN{YGjL{9UL8K zKw98m7@@)L0}MfvN2SpI)m~0hOP+@X>)TpE*KVH{T3$g1Fq>xpRO6zg$Q}{uv@7r* zu~r8}h1oj2UVYG&#_cT#@7$Q)a&j82Rb(}D_7m9++2^%p*r7F%;jN|Uao9vd;stRb z$msi}IGJrzE=q{Boui`Z{Z`Ew3&ACvcb#Wjt1J$)C9{St?9}+E&`B0FK}vlDL7^N5 za{FmTnTR+TaZOLX$s&}Pk_0Awt_3UWaz^4I&=lx1Z`hH|>i_qBl#kb8T1>OmR%tvC ze1z)we%QuD!f8#;zjk1Ic0aW+Kt5ONE9fgAdJ%gENF1QU+|>0gdW~fn5qCtAT!z>D z9dK#YyfxiqxpG+bLENMBu|#&_y3BaROY@p&FUGLz2r3B!lH7_P)O=clVy_>dR&EFm z2*5nh$|%r0u@kGL`;yVJeUtmL?)G)V^Etc4VXcKeQGOgnvS7AkI7NCR5u&KwxIaNP zZs95)14|JDah{^hNFgqd_V@a_|F`e%v8VbHVs+H5|N2V7Et+Zyt>RpjkAZwh5Jc=J z%Danzv+jHP+;0UR{=wP2w);4x^Y^@I{E5+**jy-=rUb#ZO4Nelv>1}6N+Qxlwx%w^ zy9jv?b0S!TTtH_To+M4%EO_4Q38@IuHXg4c-XeZyLR<(NJrPh>$#nvtDSzEThB5N=heWo%tkN zRUKmUo2SlImtEB(a)YD;vkV*m`DV{~LYyA%_m{sL93R}t2M2_fEzsQr_rGpmE z@G?o0Imc1l(B*SA5mLBH2@sDr7EV$VM}ieWtqX;O5rA#yt>|Owi*fBBsSN)@<~o4W z0`m{gO|OcvbH@4MV!Q{m&M341+JGo=Ykj7}r+Kwho)Ag2H!J(?v2@hPeNVH#Rn5`9 z>&*Y@j1?OWbXrjZD1QGEP zr#yyU{!v1B5S5GbPWS=vI0x?xnSe?Ulifyk=! zr11eZctw@>@|508gxEyEsIFO02p6q#@)JaBG1r$27cZ$JxV7l;fF?`BUtuAQhbx06 zA_TrkJ%SK!J^4SQbIl#y^qYq-V zIt-_&oe-%P?A>#HdO7jV>t^|I;q#y%u-e}7czm*P{-3XVb@g%LqrVnY)I7gYvbXpD z;prX2>*~Jm@7T84ps}qc4I10FZSB~08mA2!r?HL3wrw`nb9#UOzh}KV*LB|Qv(DOc zjy2}^EIMhL@wf89dldYM#cuw}NCUyo^KTJ7vaA~rImBY$&#pRtbeP&jB`CX^kz!f= z>7~srP7gapC2G#dMqn8+Zl?}28)%vUq@9y99(Fij?d2+m20V3MEJ2fZ7xCNOje_u8 z{489>JU0^re>5Gns7_Xr9G*`!{pKCwN8Sd|ySadNM2$)VMT4cZ8&;U1g3gp@pUp}TpS_1lV zH*`ZzpW;Ln?`3>oNL$YjCN?sMC*mfg&6=gf>T=oarv5^+^oo%`lLoN+97R#H}RF6PR?u3w;c1=8JY zGCTuuuYQeYc$08DGHX}|7jRo_2T@K6q6YVA>F(UCtVYI#q07j(=Pq$k|A6aPTuvk4GtNNP}6$67u2wL`uEwc`+i-ttqqVHE`{!Sv(Rmy&Ef0xB+ zQ4Zfp66NpK2q!@ps~#f(<90Zn7knQ21e8^jsx>=8kBn}p3@S(l7jB!RR`T=C@oB-U zzy}vzLPGSq%0Z-=HrGht6KrF@K~7wq!9XAtx&%HE9%U9xxh4aYX??ZukxQs9x}?=s z(9v_R4#t$Q&5>e6ho)s|X`BBBgZbKi#JFCkr;2Jprl272!&RI-$NRAj|F5?LaaQZm>GCa?6J4skH-=u) zojm>4*%^!UaC-+*HG-&1WLVsyzN}=O{^*c@xUK>ugXkET#>7OztWs-Bb+1L@@BD-a z(C6t%#?j9fDTsOjbRnj_*EnPUQeA>lZ%$o3|7YHo&vkhBEmp6+=|TS|3$U%RonTVK zz&;Z1eg`ZhC9Q6A?Yi3i4@n))*R?0o{YnXP1b>!Ol8vDX#D5(d`htvXPYg$&N+$Y+ z`&aOo{|x_T$IYWlP?dlf@oWjPaQ&Npm<;(bRdWmwxb{2YLz#g_LQZ;(5eF;503~IC zvYDhdDZF^j$!^lHvo0K_K=QTq5nXJsv@Xcq5w!3~6HG=A8aOlYSlA8ZLaHlr3(=h= z_`#R%kWd(8aiB9e*GGzn@UMC9zW#*LCxX4Q9B~fVY2gZFjC5NgGNjL;?i1xq>1--O zi2?d$4Fv^5`wqG_@%V<$aCHz^xUQ|M!i{@l+R3^^jSG&>JWV;jr_3t*Q;IBxeo}DI zc{}A4u25KZTuQ9#h?B-g4j_nv_h>{CXgu=RliCpTM}hr0HJiz-uH=S?jGSC~i=y{F zCNI#oIqGG3|2k0peEQF#PWm+ZY=O|x0l0NyV4}%(3fW7tF6#Vf3mN00=b5u!7b?upP3hydHa$x0H`T0%L7Mw2LO$N|efyozRhmbAlik)=(? z%u2tsFR1ltf&zncWrV!M9}1ISb(wb&3ATMZNq>BveBECbJ7nCVM9$Vi3>t^@5_Lu= zM0;P3A`$k=@u8>GgF7duU8x}%2ZV_1n;%n~EzjCCvV%dZuQ`~j&1Zx5sx!x;B5F_~ zMk-rLi?MjA!tNsm12X_KG7Ed<4p(1FwrrnI`CvR2gVjci(DcumV)B}VS{WqfWP>3i zsb_YK;^3!dRty{A8)vmovNcfTCt0iG7}$!Nxyx8a@ul(7-M3`0{^N&0rA5xdlky+m zfz7L5H)5-;?`vJzDSxigI#%zIP*YA*Bjz&|I_6u%bfgT;If_K#xXnEK~kN!3Kv4_ic)1ev$Q<0u}(1eXpU zNF*5HjB=T6S15%Ry`&8sKK@#TR*4cP&D7weMov0=Dbs?nADGV>HK>=*g~N{49ZY1o zT@|E2V}_Jnbpw2M3xqJ_dN^QX@@l6Z__UyQ9Iuzp+fIst1(dh^TUwM{b9}noai&oI ztzD?e9t!)l4&Y34HufxJ*%n93#+D1)lkhV3lz_<4@l>r*gmTerd^Z1J4KEh!qu2OD zFr|5&Bdr0BOQv*y2v3U$4<3cV%8?$0L70cSqu+SIR2R*#xw!kbWsxbYF`Y}e{ScKO zQ316^Z_?J^`>C!MX6*w)`{*p>iM$Xi8AY*E&@xCCp zp9cx-CTj&7Zv5WWznO_1fz!Yz!7Edx<3yXo|1kh@G1h~BywxaIZvVPbOhd9GUA5^p z^Hi-<P(tcO+|HySrVH5%>p_6WJv=FNBPiscMO&|nd4Q-G3df<6 zu!}!61MF;vlg#rM0glb;pCvPr$nxm1`1lZWh(jq@7LB*Wl`09+XbYp`1mIno#^4^= zA+-2uMXfF`HG(kTrAjA`fx;aAIky9RI-t3CEs zT=Hgi&Zsc7UtjQQ3654?hsYIs8Otv>IUNpapLCllV&RU}s)&jHtwCr!Ycnd|FFi>> zrW@uGoWphfKD$ISw3otMHKKAg73y<^ma5@r|5~lN?G`9`6_~A`!H%PEl&Yx!EJF}aQ5woLX z87r#Ww5uJ^qo;n8bUM7SYdfaYXXXZe6_XriY;)GQ_ggdO3Un?kKB$p6fGRZg0~k1a2}q;)OfRn2DDJeZK}mf&bDd`xN5Lva?TX z03GrCrMqE;(%To!5X3^(jhO^6`D(3D?{MVZko~wkx#sy(Ayvlp@Z{Eh{ z%u`ztt{!6stw%we3a?w4jHpb&cRyRau#_|xUc-y-z?VQbO8dze*zM8E1y*v*Cu*G-| zfd;{vz6-mba+MuQr-WJfH;?ykhi*dH+H8j6!N z$w=yoA-CMIqxe3CicAf-Nt8u+=inN=w(iF9A2-4}l%QXIWd_0>g$}PN*zeRoFVcyn zT4xquk7^J(@4-`%&38L_(GMV0blx4$bH5H*aS2bglULYau=K#BRa<9yB(G@ z62W=iDkzE=^v1@3&M>nxcQ)jL@EVNewP?hq6uJjYFMdgvFt55+Fmh7&*npS*h7lSG_Tkk8JrHO$8n|6^JxZmN7|8ADBII zr;mm|swYkm;F~##8!TTXU1;4Pq`B|0{DT8xkg%X;OuC_lq;}Y(nLw@A=y9@azU!+{ zm8TB?;oyx{TN7n5q31d=s{fQOdAWR>jx03ch7<17D$@B=tigKA!|gz;h408=wSB*5 zQ!a;{S=eo3O?+rv=;=(b>D|_6VpSh?^77Pgc(cAl`LN`V$wZ?|x9_hjvQR0t$If0| zyMq%utlEO3d@V$Io|9p_c)`}E;~^2nJE9UWSF%8FK+w})#SOmt~!^?WT9f~xm!3RL}fcH^lpl#1jmPzR6!HVe z-+bThY9wjBUFt)f^bsQGL|UnarE_OR2u4fI+h_;n?9vSpKX|Zv$5HbnU}G&gd^Hk) zVB+19FB|$(eop$nO={oybTIe`3a0M(m+UwV4n{jT>3?4*!`uPNY=5J5{#UUtIiT4* z8r20}-F6!ofQ5}I-#Gk$ZkEP*0OTvzi(#{#e`0*P@K=rGM02L zEW6f@ws7P9@B{L>sDfMYHKkwjFBiTjnbxlk<%H(5lPM`Adis+vF>JYfe*@?|K0%*F zv&F*%8vIzJbgk4s%&iOH)1VhRuUv5H6H~B7@K-Unz)@lZtK@;zWyn@>q#B=kiai;4x8K<|Jx77M# z2FoaTekCs4_Hdjqr-Wi6yamV*vPKP@!%mEs^m|7*@!OABqtnje=6SsTp&_a}M&(YI z@qwrXQ}vMCIuylP*p?O`{c98d(X1~i`4A%($AdmEt^ zl25A+yi0J)RlMJP4IJRT`u0z%0z2AZxJW$AuYTmAbb%Ybj)GJ~ zbK&1+qbqhFf0M+zaxDB5Wl4|RLY|W3e;(`##AJW1@R<(6?YbxoEnj@!y!`MyY!9^^ z{Occ7f|TlRyUE4UY-8QQXL6FFq9FJjQ#J9A{Q9Lk-ZJPwryA{)y7FKj|mG`n2>w3IpJOT|Onk3%?`24k1;Z*7U6TIM|vS78Ua zXX>e!IK*U`b5eG?rLOckI9L)h>9^AnG-ixbwLdKuQT+{Q3OoRw-S7eihj|#Yl{5Hl zwyy4cG+qXzNl$(~JAwy$oq(@KL7ctlT2aNgLs{mlmIqjlz(PuWRl+*YR=(VLvb6BO zKvzNK<$!bXU8m56b>a|qxsJj$Xuim8a~HUEEm}Zd;15j4ar){A{}gBd|B&VwTJu_G zb3L;Aqx@l;?}N zOqatd9*nuUg4oIT>*q@W=a=z@^;O5%ro%zA(Q+CC5Z3-PgQ6b^(t$asy^hnNZO1Sp_<1vbUu* z%xZN*?Ei-e45d^-m*ieG`Gik+S@%KOkof!7)Kk$-o}CJ~Y`=o?ZTp!HEAuL+q#L07pi9S7fS{wpy0OhbhG(%SdRVqt>H98OT*^!+eCK2Pjm-W#^QbMq;&+nO z#HE97KGD;`<%0ubKSM={f!2%O-)a)mc2MQ%NoHZWDkNqsI6E5SmN;sGM+{p|wnqJ`8;q_>%^1#1nC!@WMH zt)?Ce-yM2fyB3e*iH%?Ehs%3husfOtVT z1<`&kjCO?mW3 zN_Op@U-I2nutO-CpEfvqHEWmmpknVqG_#CkC?MQvk2AZ^b*xn-T$sL#SGW8ObN0z= ze;agoduV;RJP#sm=oQ%Uz`E4~#Mh9`{=W4%o2^dV+y@qD*F5YyobcZ18g>;lJ6xL# zt7&1ds2|+^^ke#_aCuIPT&Z(Aw=YTZx`{T>%QUg{R+a$;9m0!x$*(v8e|mJP>ppiA z%!(o|m}o)=?!c1iHTdhc@Nx^ZST>BHz$;|WFmjd;7k=1T2yMBXu`~gz@p7YG>bl?G zR$gX0ROYfDR;DN3pG1a2&brM6khFFvN7niyWtH#pVqGQpuhv?q>|37JSR2opSU2}N zWL@;u_AF}s5p21s@P4@^%rR9gNbZzVWHuzS;RxOc*nBbU!vi;7@L*~^E3f@}^L>B$#o>Xz&!`1K*jCbF24yU~N09u@hpZzbB` zjM&3Ja(}dUwF!WlB_$}Z?$?V9U8Bx+bFH(wwU~{&5I(EgK-xv5`}Mb;`YkpY%?I5; zFly2^0Ldi+8=Z~?t9vTyFL7Kbx6{bU%O$*b&vn-3tNHcLKsb@}FeIt~nTh{hxxtsQ z>mkxEzZds@2ZEPD?oOv^aa>}bvs#*5&z-i7yDE!3KXstkcYt2s>E;hjHHZ-BR_(Li z155h4(A0TX5Kgkv=5ZM={Ax73J*T4ZHWe z|F|8Vg?+Zz_0DPPlih9bacA&x;nBt3M&h-X_^&cy_P>rMPhRZ2Z`cIo?Edd`iBP;8 zg94CkDY6M0udE5JuT7fV;3YhZA{%t0lwH5w9I0XO*aD_-hRv%9T+5B*SL?hm(-d z#Vx)yB^+pJ;m`b10L|Mjr-Am}p|B(&7v_!+9_&+oNeSef*_bst0{2CkMz~9^LFUS? z+k<3yjwZw3U4lYre~iLBtL+ygcz|Zow}#Sm?VAP-WvIUL*f_yj%|lno6E3Fxw+WHA zdnqXBL>$=m6ErKb?i5tcgP!#ea;&G3lzS*lpR`F3qUWtlqvIru(Ec$UcuEI>Nout# z{cn=m~`f~2k&${T>x#K zJ7Qwu(KN<35cMa3P|WjiBBwhqa80x^;b8OQZF9dR|2KFdQ>t`=nt{P)nOgb#ao+p! zq40;-F6}%j@Yn~u9|9;rhJTW%W{c%sX7k=%hloAErUmy?RJiO`pkxWm zL3=zTxpN!YVHh~P9sYNDQ2^inl7w%;)tHBE0v9`l2iH()#buJ>A<^hgTijCFV33v* z-j0a(2m2cajdcqc#&70{+D%Bfj3+EkIOv4KCvy<#Ufzx<`tLJ;& zplgUOL(F;CK6F?D9u_gmm_jN5Ya2)A>mT?Y=eO2J8epCS@2g?h6ND7QM0j-+RLo<5 zMu0dak#ROAJ>rvYXMf8N^Spc0Cr*#^mR3HhAVIx~CX6(gx18W@F2jz%%W$JmR&53- zm15UNjxG~Fv(?LGgPg~QAtt^&1+V>sxeRte*(V5*6y};$ev9j~U=)Av^%cI#OX4!9 z4&K}d8lbP6ExIM2OLOC?zpr8Y%iPeL0IoR++eZXuu6AAPU{sEo@}I=*(wVGD<_uwB zgg!5QuYoz=!?V8rw&c~U+s|XZOMzVq9u6DLF1Ld<`lpOoRudSgE8sT}U&hwobuYtilq z7~h3}cWNI-^`=H>_(&=o4#%I-iKVq&T9XKFrN zmfNZUW^qeBIEn;E16OB`X?c!skqsV5U)8(=!o%ryc;9h%J&muoc|i8PW_3Lgwjf^J zHvwJ5o(CXS&ep9qZm!osX1w4%-qiH0g0LPn*gFz$cQDM@(@A;t#l=O~S^!M&Po%a0 zI^aYlj}9lA?fM%{&flj=fMoa<6nwvh1q#o9`=j6w@#oAL1qtc(wCkO|W;4s7Qws-A zlbd$(AB8p$EO;2{4EOOKbRZ(KN(|luXUn@w)&ImCI74_dEULGP7-(4Y$(Oby&RC;J zx47?h25WQXDMc~aS+v}Adw7?D(eUyCPS%fM4Vm@4swRe9ikMZa!+}bxa@{Uoh7z`x zxw!XPei&{FFba0(6JzQNA_-SuLlFK zZUz<)PQcx}?;@7OP0&N{B-r6L#eHsN7Oclb2!`u{ui;|1 z0Y}taS9c5g&`bB$_L}THB|eZx8F_#&&p-8LG%8*g0F{SKbRccr0v6_ zX{-Bj(9MVumkMX=!J%`vr3Le%wxAmsqgjR-t>g_Rz_`5y4BFcT5tanSA(3i2>gU%@ zQRAyi5p16f@zfS-J1Zj+8Qm){ZSCU!P*JZBWZzqh&?W zqF@Pkgp6s4rZVj6<*cu_FIwxuG$Em89@8U0evA_B_0DiEna7eITRhJcwmaqxmEmuC z*tq^XAMYUmq$1wT@)f(e<2L6oi8nZ_;+M^hZY-39(@o0zJ$(V*P)mS>sW_=-K5CNN zp8`ymgt+P7rj|jICo{)yZ$2!j>!<0f1ea-q0kibcbJ{~>o`RC2s=w+t zza#pfC378@ejQf7?JKyWpd!yn>k+R*6RGzatxY!o9)^$a!s{D#t^me{(YwIz$ex^qVoK530z@Sr4h{7_qi{!blSb?Z~XCU|tO<$;J z&xTJQGIszBV!Ox7{W-t;nMiL&3oGU_&v)t>C^k&U=jZ2yDIb+Bd0o3?YG{g{*%NPh&U{5LepI^f?2+-P;(h;Rk=38%T;9;@3xwkpnTwy(55|5+B zs-3u?jGeBekYF;( zN_;`JO|eKHhm$9q4J1`N<*7)6fT)-!C1BDx;f(4NZ4&nQvrVJ-7j-mVxMb(;6A&&K7SQ<8 zOQt29rhEi*F}{b4i1t}I?G}zUAvHp&x!I`I;-S&2j(-~^q<1zIE#XcimX;mkj;4xc zg^A(ai(0@RlpF>50?m0BNt63H;n4}1R6Q3}00KCI#J}lye=Mk;L`f3(-;6cOdTs6n zwcQg+OwVEe=PSqo__y1-x`eTrHE6;d5`x%K1q=+&R~i-#071p)u9vp1wz~x#5P~k8 z=wHz;hM7@oAozQ9b4;olrUKp}4Mm`g$v!J`Tn2}RTQZhwiCM;`>+`)$8ne=~v^Mwx z_^KXmTmiX|5?}&=};y^%nHXuKI|Sz|T&u<$L%h`M76nG~?eYsbPMoZv9)Lh5CETsZk9LsU8$JMLJ zM27ofStZb?pmy3#h)D80E5lMm`aOfUF4c3zogH1}ekdu^Dzj#6q;Wj@DzeR@n zfK9X7g+!W7`yi=k{xCwh%!(*J_zi0iQ?TvzX4IvH2(FBK!*h3D!@zIZEd6bdM)=zA z0{}t6VeVH!_O5>&przWBb{+-I^bqQb;dpH15ZUs+Df21)RpbWsAyny<}K#p^`ntyu+u|`$I3Lc3* zT;bcsD2DftRFXn8%2hxf`ZbE9Fh(8fTr@DIC4FX4!EsW zYCex#ueoo?=$wjL!gK9UgqQ{zu~9I+>`=?aDb;83Uf6e{E$XdkJoG6R7a+uaj6$a5 zf!X+NZ59hX*=nG&sC&m3P5iWZUU^9NY4$*yw`Ugg2k@TSiPhmgpauWMnf@TijOtOQ zT!r1*b|`;eW6r_I9C_Up^`P{MXKAaq-mWB-N-I56#JXO5>I|Cph&g zbN->S#cpAQU0?0U0O_yC5U>mQ-vsj0lYO|m;YO34h$<7Xsh3RWI(uDiktweK63p?+ zMb6VBWJ8k0o&~FaE|89tFjBB!xlF(=={UJOWDpKS_?EfwV#$+?!>x$r`HA_J%VhhG ze@~eEAs1QL8-)!LBi0FgmIBymnRoG@yx2*~bg4|o#WtZycGBDA1Z)=CK@EJPiO4Z@ z*i#RxzvECGG3jGBEQ;{!)j%}v$9+?mABY9}kNebhD0m6}2N&LE?_W#boxp9k@|S4e zz;Ll#qdKf&p;AYqQr&`DGh0b1;uop|3p z%G<+9gBrsgkp4_oV_?{;=nT@Lx3;D*#{Le4XyMG{lw#pal!e<6erf76S)B_XL1LVyJCiY|u(ll3{Q_jqB0tVJiwLalYt7J&EFuN>HIJP0oP!{{HHY&Hnd zf9~Nzivd2lD~lII;@C4)q9o+=ok~7_Wao38#iYKMr;)U9tYQ&?@&RU&#aOv|ulBDM z6^1R}T2&@HJ)g<%!tY3-eRmN=?>p(lzi*Dn^7`QB*61EM_Ys44eG?Fa94{vt%Khsu zCN?F4`GE&p-M1xT zs87b#s$%onyqC4_ye{%Qm#Ho&f+*-yrMG13IL>v5p}bi0;tjV?z7EA<8h9QZYKIW) zx1ovb80Grn8C`?nWC!_L7Gqg%g+$CE&VLy6oq*5ZeZekT>EIQ$s#^{S;J^ZX7uz*-nFQi+ZriAeZwda%77TW0Nq-M+Kub+<4RFrOu=!u`OhT*}H zY<}B@1smfs|N4OAylUcdTjxsV1cF&-Hw>gW*=g_Naj&1wD8e?<$%-8Y+ z^ES~+|Mr?aZ_=ESV6gu2e&bbw^|xR9@$8_IUZYB67iB>v;tv76uJ{kB$2Rj2Y;Crt6QN?PEo|xmcWQaV^Whoklh}MLmFXj#*{8IQ$>-jCK7zMtL|!9W zZB2H5kEmT6wN@ruhu-}BdDOF&z+C}}ul0Gd7g+xr@ zcX8`xI14Zba+iXC$8IOzfz{FW3oVj3TAJ<%@gn8NF1Je;J^u_bzZ)~g;*+m2z+P}R z&Dt{VfD$@79>J1|WCL6V-*dHqkCWhdMV-NeE$hNUXQW(15la0$Y={I0@L*T_!24Tb!IXcQ>Z{xm za~+D&h(`Gxc`JWeYsHE((r5sNwyU@8FUwyqx7p0IMrW*EK0bB=LCwb`Sg6szD*M?V z)>z9VL(TlAZb$tILkt8h4Pz62O+%h*i1_I+#tFIajVct^su|u&Hf>_GZ&OHvACS}x zR>RkCbwp&{0bx7p7+cX92!{h}xLjBItX3JPecnPg$-cBIxpBONgYOlfOiU(i0w|$= z4V(PV8*)-ldT$Z+)B3Iw7Ppmp>7&EZHqy3T9DnJM5)x<6@mn#hFr}{%%$K}~U*f`c zo>HEJSGk0*R`V)4b{ECk9=cEGO;p=ip`3>Fi%8B%0D^mX#sdM=+tAR6!@lZ1ODLr8 z7+uQ2i3r*ZSmq#t{oFEcVy;$%0rh?e&OIhtm;yctkC(?Uq5=#J4_33@vn<1S!{HH& z<~S!B3Eu79;033muqbq$>=K%*qWpe-S=0phyvhG8Unt2)+61D%g>5vA8E9#bhkshQ z3nu{NX)}6+za1Jq@_foFuwTr+-Dmx5ji6Fv^SAqaAFZez{4G((_M4vEQHMzvEEly= zII0D-a;ngHk7lySeK7yYP|MqOjVfjDV8nhLQy#;8bRApYOkKY6q zO2qlLWCyW}p{3vlg(@L_1fFECeEOPtIPI+Ag^8&BcM<(F>2vxc3HjJ5WKS{z5rS7A43$;iphaK zT7oK75ucoy_36Z0uTM19ia5g%`vU4FUI`I?+Ig%l2T|$S>^@J^FL zJfi>aSAdJ$sP^=^K{iJ^Rty5Rv}My-#titV z)Et9JN3=>9uyXJu&KRv3_F`_y+DBHB$roFf_KZbwv@<2Y*N({!z9w2GKm4BdWka?4 zZUy<$;IaEvI#lz_tT?lVr-t(?jqfLVrZ3MmB>_szcc-oE3NS>t4qO+2iX(*-BC6sr zFkmDd1tyXM3&c|4_Ubk}W$x(y)<)Az*^l^KEYIkURmO=HV1r)TkY9MS4H4G&+^rZJ z#sPW%d8_-UxFJGMR|A+itm|$j@F-(D%fZTY z=E%m@V;nkCJ(G!$bvSd}170d-BgS22rzFgu3tvii2neWHt| zynWF*9Sz$!mjQ0WwsHJGNJIxs%WTngMy7FRNHYeUaw@ofU7=JBd@sbb%Z5(rPK7m$ zia3#GkDlMJ*#lR7UyV3)%fAF5Hi~Eq3IVNbEO;o$s`T59Id|K{{2=x01NZSMR5Di| zz9b}Ot_(6|K@8Q?Gtp=S2Vu#hFDAl<45;ywk*KFMNX`bd= z_h{ZqkhP^l#7O(a44Wt<(k0S0N>sRq`trf~D8%#j#Tx(T;{g6(_~Bh>lI|eJTUK-n zh;vZI2W+wYN?31^b2c=MFm0dR>5f%)G+*@mgfjO1fg{V^CNqaD>+R$`B^@tiSj|li znbbUXU1P30DiJ#~XO=#ldfj zTuE#7mrUP=OihzkN>2XPKSkpZdGDo3UXX6EgJQMTbjJ1tNquGG2)K7=GqgdFR7nUdMgX?|0xIh2-KMHsLa?L~5E1sZL#$M<;K%n{EhZt~)SJ7~Zk@Aj_zfJb8at=Yt8p!;1EC!`Ron*dk_^B`ry% ze2O}S`l+XK>;J@pH1t17fYy#kjI4ta8${YqureL2muBUxg}qJcPHpyQ4HQ^1>OMO3 z8?A{I)|m`tx$RrGhu~Vq<2D)N8Y{iaH(4=muhDx|cqmhpNZU0t8wUhBcO=Ua~f;q`)uRQDr zW5fS@V4D&*KlQ%c;g{bJ{ND}@wpg6Uav9mDdXeU4vMd;|BtuL!_v|dWe17hWbNIn+ z?gs%G%2Uox6O#bE#guOp!&;xO5UjGjX0=4hnV!ccB!BLBtv9Oytwx_Q`k_c+5qi<< zmx8r%j>FcF>Ncdcj9FcR-`cV4Hrx86qx<>rWlB?VPxX4J#y2ex13z^uv7007nvNnc zeGZ9a6D3<;?lwy{E!A}dn%4kMTLGq7_1j5F}T`(!$`LT-C$Hi#Hx7x(th zfha{k3F=0_Khrm1GKkFT>AZ{6l7H;n?-_(c;wD>9WL5PaOJ}_%6D=B@U`~Qd(3+VT z4VkIFfs|1>=_TslSSLy~o9^+_D8*FO8Js_retk!#+DfSltT-hWL$M8YWW(S`$VT33 z7JPH@E*>`)QMKuoNj!WJF&-`2F6ilzF4C=3KfNPx+=`2flWxeaRu6BoeF)51uqx6< zb=rGMfYtD5X|ogU|1QCRwNXp)p6sHWE!Bz10xc6_$crLsdTHhQ1XfA3?Ykrg1}3ytmgTbO(#AB$m<61oop z3#_G_FLp>78`Ltit&K~obc1XB>$S4(pCuDIiBRBVZ6Syjrz-*p*t<=VOdT6d^(2RR z;-a~C9k7IVdHlzgGK9gj^TZus0bdZ9;AFE7qR^P*&cX1MgQaNbMgawR-Am=!xIN;LJ%OH6`5mNUsU z_EgktE+iWggWPoZJZ*iny?_Jf^9&b5grPt4@mn;XAV@wTlWTP5qjT3ERPcaoACS{w z!x0mj?Y7g?L$_Xi`rR!1vsq4!(+JhRSRAIquu#T3P9=t&@i!T%@KwfGMxPA<8&b>v zJv5^kF}FC3_4N#R3&$ma#o+s+ z5X?Ub7;P0N)D1%nqCwN%6Jc+;OzD;O7K51XN%?di=wk}!nHG%K-fr^I>U@haO^C-5oD}t zI%2`nF|BACCO%-Joqxu*!tBzv$SaDGs!R;aZEhr|w{pfzM z{7OG>{gp1iyq6vgN=HhmQr($2=gAk10t+TYy#-WuX?)p$p2k+{@3W@a^UGjQo-?b%DhLHE)f$ zxA>*}{ToYE2}DV@$uVWZv9&RMw$sAG>Yvgud)B)5BdK+jhE&2o&Y4vAC#XH2rDIHz zY^fyfvH5QJFIcwWYsMXtTdN}GyzPk`9xEHa1Koef>1#ERV?LLFQS5rwAfA%5`n1bj z@ApqBQ7%alH4IQ&i~12_ZlSCE$x~k8)|WUC$Vkky9l|?*BNR`xQ~*w5*&X6O zo@+2Ujz?#Ac@|M7V)#a6Fi-n)7*}FKh_=-8GPhvjBG<}G8KPJB*JV{YKLW8{s6gKx z5pXy~f@~RKokI*xE_Cfog5WEA13fdlxb5{mWmu#d)UFikZ2kRk6c)Fv<4ZDd`Cjdc(tqF}N%ax0NR{qLDZ`Na)wqMV-+^~=BlYh}lej%mG*82}tzh5%{zqd_N3AO@R9)zkjwjNg?sxfr0cWF}zaZBZQmRnW2u0 zHzw$9#f2ZE4j{~|M5zhO%9Lt1m^SSU6T|35Lm+N-e%hfz3E z@M4@-_pKYW8Qk}rzc5|-wDR%u^NR$8nxYr>eqaZd9?zDHX9!i6l+eHqA4Z2#yn;h( zJ`EZF7IO09Eu6oYi2LQIVx4N;qB^qwikssGj>tzbNUUpgZXYZ=h%@@n-_m2$1xBBf ztVxRHF_S@F-daM#Q-v_NFbG)7C}1>tM;Mo^kWOC9jX%VSRr=H+M^?1-$-2p9)fy1n z-&xK1o7~$}i8UqTtsKarVrA-9oFR7I z^+0IeHy7KMKwecHaN4rHGT<=v*O*LcVZY63p)I>uZm3g68GvJ+79xSikgqJ;*Y2D; z_VL206-C>FL{;|mJ*T*^&-8?ns*scttXQ;GOK=Em>%C5S2`-jxMLaaA=xxtb+(cz9 zM?S+_tFs{^^L!#7RR^;D$$Q1+1H81W-jyXj|7Vs54Y<<7HDIn@XiF8I+PD~cLDfBX z7q^xAgiwzq`F)eq&6G39`g??D?Fy4)KDM%pQ}6|`K9r2Yyxf971u0U4e1%<7fza5qgi`=H(6GTEe`(_!uwqzxho#Ez zRab1p&~s*J9C^iK%7xkIO@#BIz{OM;m~t+<%Ol#G@#&!GKCc#*>lE^GC^^O^z&-lS zx~0|Tfn?9ePsMwbN*ljwzg6&E=BA}5#WUBmR|zx(n_50kP^r>u#k@8&hGsgtL&+3ZM?avgC`<%ETjL#HOjVk&h zPzs@s>7W^QX4Fu2|4+;?fhKww3L*UVUOXvP+}gSVrF~ztOBIxu`8M>ox68Wg!ev>| z;Ezr+v7UJn6`Z!Zi78!(qPQC013O`-iQB&(315eP{&MhFyin zQLC(J)5T;zFUaK^d4^Xw@REyv$_*Q#>?Oc6d|l}fD;jTuc}Srrr)Ic`;=SO)_oo;c zQUPjxJDxJyGFN`v(M&0qLh+K~LZI#hckjyA2*`&-59sPw{E?yL;!sW8?Fo7gf*I@j zGQBVJfFXNIK7p$_OuZ5FcjEdKu<4LrFI1}mW9elG=yJQynq z--uruvq0i#Y;Ds%KygmOw~W4!Spu+#;>IqUIV|-MxHp)0tu$t8Vx^mAiIm3>`qW%6 zFLkz)@6j$> zQY&jz1}3z+bS;O9obfBsTLmmVxzKH?1)q&pVVWDaNsd4Ng-4by#cIg)VK=jH+*OL^G3&=?Er7bQ)(_Li|A&93;-Q#hXTl80&gu3e$j{=}3oTp~cc&Y2|@;D{N5fwnN*R+G=f zb0ski2@9Qn+M{s3vZaj!MHU;45mx+F;Q+%oE~qRiM^%}CY)bHw*Io|HSbpL9FyWQ zs)YFN&s+YUAI6B3ZTRu@_lo~KYl&4*6d<=RK^z%@y>_D30z)IGgLMX=CfoEPJ3DqEqJ>e;mq_xt)l&#E#Zrw#Asgi_<^EGN#QdeSZgga?#;Z$RArqHw zPcK48{ehWt71p!-2R64r);fBZnk%+v)S~uJM$!lRs74V(Mo>`z+i?tD=jZT>crOiQ z7)q}z(r#Kv_$_pb9r(`0&jrB^z0q!K_5u`8S_8kuF+6ocNvx_fw|nls<0Wj>B9uOs z^#v-m9@|Brg%>Du^?&$(LI{P>XPZ84kYQ{*fBhc6G3#Z9#v!=hhVFY;XjT|x!(^ES zk0jb5$&dmZ)U~~2?eNlGqM!5_!u$(meNTc{vv3&#P0R43KNH~O`44qaE9e^$5BRE^X6y}2C@hcw zFa23J+rBz??CBhIubk1@d3c|kuoHmgHj?{?7#5stmk9pR`U}GK8c#0CKT=oxydS#p zBn9D2ktz`Svyt7n9Pd@y4-8})kJ$HOkX(aQqM$^SL~u+~Bf2yDP)P*}rEr)g$p$*md4SRawp77Y(jbNk7E`Ujz_$lD?2M2xoT^*N-;hy6KFl#l?(zD9*F z)s1gga1%9Dfp@K;MzUJi^M1(74okJIN93H2-tVrEh+$i-2xFHVPX^oV^YS4@hw^(B zc#h$w3;?lch287N@^Xd64?Q01Xb-FU;a>{hRzLH;4MCOfd~ircl*V39@APfLr|+KA z6|@%TM-$)l4X^Vn@-6!6xCaYt9~94N7Gcbv)XB7Q8tu0(Az_jJ=gkBk@`@aZa*{yV z@MBuvo z7TE`9S{U#WG zllo;}yUT-ONjf_dfvR8q-8z=y!hiRsrI1O%`Ud0iU(#h*s3|ga9%b4UOng_3Sxwhs z|8t_-tn3hp)WZ04|B=OEfjs=qG zvqRrt7Gh+Sm6_>Dr#NyzT%eVkR(qtFbOf4oWEy#+WuROg0lh=%E5a5s9{;iwk{MC_ zmX`i5Zb$WK{?}wHI#UjI7WjUe4tI5LqmrpOC2k$#5NwRWB_Wy(^M0xOx{+7Rh9bxZWuGw;yy>U zRD=n-X%o!1{$;q+DvEVhIwKikubdOXuHiwK(dNHhzAcpMCU>FACBjyjidt#dZAeA0 z@amPd`OX5ddPpPyI$a`AR#m&@Ub0Te6Enq*$P{Cn4VG=)S2G_@*wcuqGwz@_?Pyl7 zp8-1l_L!|D{-(5%&yiD&6o}r-TEHeKW>hUs`m^+06qZ|Q^GM3#ON z^4lXhM7*3Y`E{N*qN!jn0s_=%7dn#Ncw#v3Up*l?`bG$qVofA5TYSQ&$JPxF*sUSU zG}bixYiO;Bx6xu#&yB}2`0=^dj zw^|wmp0i4bEvZb}bUUtw={!9>N%{Htz4|cK2wYbk^xmHqrmm41&j1fYE?$Vs{ff1e z$C_wNnYu$KAinEvPwd%_l-WOcrwm}3YDlyZmObUXn)9+Rjx?_t> zwtYT3TDgiN@ksT(<-gb_4b?`xQGSOBAzn;AnWiqnM8#Iw#IVY#%1uX8s-mH){{2XH zh81B!Xa3h&-vBAewulKT~*?`R6wkMFq3dd7Wv! z0>+V`?8=}{Ys;}vKjwexv@j@vL#cre#K}VW7EtA-^+fbhUnmEGT#t6Nz~l@#Frd|P ze1-dr3&n>jVwaEc;Bqm#B#X)y&jWSpJ2?`a_1Kj{$X_f5j%cv)g;>7d-sPf>N^XI1 z=DnMv8AUL!jG*T{r*g7Tp;u>#iOftI@)}_GvVVlaC$sRrgXo@()+z9Ey1p`h%71Wq zWWH($j%P4~8%V_O4-9thNC5ahfn;u4XhT+YjBYp=r-C(wNOzd36P6dSlZ8{$?tG`w zOf6Q(!V2ANlyOMAQ|oVdD;g(ZzEe&kDIcU4h__@X<|;VDE{h|8Hu6}7U(hOa|5Fl>@O}l-|Y6!zc z8c6@hOx` z5`LM=7f^bDLAJYpLHrHk)kX82{qPsGHzuB~bvfezW*!1~R{fZYSfQ42@0c>F&Kte6 zp5tywTS8)FTF6QS2_&H5pWbY2jg*I`gGMVX=EUbyWvLK=rI?26r99i)NmL>71US zEQkCOli1L?jA*+=x6c@L?GK-$%9q|{2DYlSZ}6dHKfX#0dMUeekmMi8JaK$$kt8rr zO-#L!iEsgpmO?TQjsNV>cI)iv#!Oa6ljiqvoQyEtOPzMzOWf|YwVLclw$t!*M#$w1 zwwZ-&9Q$A^03dSn#OAR(>i9LR(u`Cs>z}4{cMaO$(59;$xfl!+p$nZu~ zzi0faz)t&~sX~*}&az9qe1-p}PEX+WA^A^{PE$lo=Ie68zVL2ScH2(o0e$o1TN%Df zlG^Cm+hh>@M4Gbsr|h&LZ^g66iw(io(derjTtb09;jD9`g)+Yj#g6lDP3}7a>44+K ze#wS25NUBvczlpN*GP*sU z6M8*TR4dnhTr`UDe!I>Fz(5wbS)|Ah>IDZ~a#~vOql0u(bX=Ce1eRLK+-7H2mq_FL zrMj*csE_#VGUR)t$5?+?#rysdRXwsZ<_nOJtl+)z7$LyYcymy2?{#oLA^dnoC-BTx zBIpPreRp~eHgiqvxNDGN%$~X3o!_c>J1!dFM8kw~?Dfw=Yqz#g>#}mF(EJU@2TQo^}VMjGoH9`bXVA?!z~DpQ)X^gE3g$cJP*^}g1CyS`!O<1yzD z@m%cOY^|`ckzIqJ;QidJqxNDx=6u1|-oY0Vi22GA@$|M&aSeWilJ!y^g1=N)0kl;0|AF-|?!rRC}w^IxB}Y%fYH-9>NY^mnLqVggD1cOVO9U*LJh6HR?1 z^G-6AHE=B{5pw@7uB_+P6|d2g-f>pzjoxVQnVzN;L4Q}1I!(?Kd8_;KJ*VZhmhbUi z*v|)-84vV_G+eaZCoUTe@Y+D)P!f zG;f5qkA<@|u@h>U%m;xK-{p3{Q9K>i#f)dGzKrulKlZOgH$VCTWt~B>_C}4CYvUt~ znooKuL@H%cdd-j0X@YEmYzcmj4`IX=nQV1#V?qSaS=U$>MCC&S>yFF*e8ektHo`-Z zTI?Wi}3))U&O$S*>v)I9CzP-aR|B_eW?-i2}s25$>Vaum| zhwvhm%?vfPzY_@02B*Hzyf&dJv+JxDbiHrqgtLU+Krz5QI47}o;RC;wZrhCLSZRlp zc%3Wc_0z)@^}~CcD`AbBWQavz_9E*`7t)L?#N~`97jRq`vi?-{-FE@<`DqZ1D03+x z#7O8l7!%)BMeuEhgW+7|OMoX#B9Gm?1Nyptm9|ZdX%l;(?jDVF2t^qx+7D!k4d8%q|}>Ok-pJm)(Vx^E#Id=>8rzv$b{r@olG zHdrtDgOyWIzbL+F$@I-@Ygn8Wn!d=;eO-f`e>KSQ=tyqKFhqY~~hor+j2e4#E%I48+S|7cn^-GEP89&@qyZXRb1l&m2HJ zj@U~Gt^?KF1xeg+b)kT#$xJ5n0l%y7Qkj)ws1@XU>>Ne7cQ8zQG}}Wd7Apv21rcL` zwI5Y5TLU!vcFV(yRW4BMo8e;E*F&ORNn zf-&oyL|!;iDw8}RMWQK@GAPq6`4IviA{)@-e2BNuRAG)55!U@hPk?m@TM-I;fxWZ2 z&Qo{8b*{09L|>r3GyMp0@C_mMSqxkNN;LxdQMuMS=G;1~1$6QtymtI2HkwQnB|iLw zYbaZS3}C+SJc`%wc8^^c7qaY^zo#3&Y);rGVl8nJ0YG~L<8YYc1k*U+PmYe_DHJJ) z44VPA>vFPbjq2!{h`$DXw)LXo3F-6QqOcDmw`KlNt2U!pheUB>8ia$}R(BA&->{HlTOw5#q*@BLGbys#_>V|TZi4KA35~m?5u6mAIZbRL-!^JI}@BoI+-u4 zVSDLW&Lkn%eH%9U=0@UH!EIZgra5_v+IscC)46B-&=6x?5j+*rXTq4icI%fy==DD1 z`CeTzO&>CUq~|kAU-Z2+z$>u@)I9?-2r4!egh?9#ed z-O|);^}?erESp$CX5y(OPNniX{?uajdVZhPfn$rkZFxEV_$uL!zV3e4O~J;yC2m%h zp<66LqQ|wKhc#Eaq&V5!c|ag2)*oQ#)gS(rl>@xQ3+i8;G@y*Y1jYh1-}8~t(8%CJ zSo{r>mdUyI9)@wgM)+h(1XQt5)u%F3&ff^H+10wyh~DX@(>Aggy1+|{THe5s^8 z4jR+nM{uf3f2WQ4YlNc%iXL)~=;o2JRe)(fT5_7^ccPcM=yp?bV+s zo(N&PMA6Vi25aV$sv8ivlG*Wq(GYt15C+UsAWb8EkRjA^^3kIxiGYG zoUdeyzrGoamG-+7*&7`ZybI`)&=DduTrQ^zI;l=1(s*)OBb_({lnW1gGmtp0&{4wo zWfAbcld-{tjL5l1c7%vN_?F_%ZID;dEYtEl^$T$7`e} z!;M*s>lFRZ!XJoR!dV3E2T4P4P`xHa;G_1x)m=%l)gHkhHFg!~xgH+)JUs|`1Ggy~ zjt|{$sJIcHiiu=1qNG7YZ^`^nEIZ|d&TAKB;3gjc>fm!6#%Usbl)B9GgosiSk zt*af>uU(CVB_vo|a^zahl#xI5i>q$n3>+BB$C|){5B0f3$=UFSMLHGZpFn~#@kQ~o zeNZb~fo;{yclR1$9(=IkM771={37IPnC+aR`J-ku`}Y_WIHI3b z4ACCqXPOS^Ktn_KeRg)}N=>#AJ5BDw6ZYKQRj~ zH4i*Rszxc?AsKE}ra&|>*1?mU7qXV5>?M~kwe0}Z12JUJyV>8Fxq^mptwBkKyQ6=2 zG8$9@@(FNAnl2((Ul24%}zl|w3( z9Njse|EJMo#=L{&R$^?4NxFEC_H!B)7OAI9@R)BI=g5{X1e+ZNOHuB(1bg2Lt2^*3l7&rTKw(HutQPYAHDO|oOr2`E?`fBGEkWz9B8J~6;$JBF zwB6UNH{7Oj3k-KJ0fT*n%ZE;r6rH;{a8O}Nidd)KdI>C;Xum^)!DBAt3+adIln^0m z-IlTvbQ>dkf1D>1u?hIPDJvY@aXp?piSuLN>woAGQ8Z$c1SwBl1w7F zbe&*%t>GK_da1})y%bYtR0$`BXvbsI6?4Aq26Cv`liN|tW`-B+R1k7m%N2TeIsnW^ zEH2~43f9_f7ZS8W6!oUi*xv#vygNMHR@zQnJI*2lVk-e3a5?Pt4h!FL|3dMbE&K84 zl%hpb4SX}{XCu)=?vUJiv~_e4gL_c8$U3vd@CgFESgsO#A1LFWj{B4`Zu@@Sv+hZ2 z67(WRsm3kF3Rm@ikkO>7r`C+e1B!RzFoPJ%(@FYi`qK?N?&6yV^DBb)Ihl2DC&bxI zdMt=-6Ugr(RD0K)oP?`ba_&6ZT&ALO4SdaCBl!l zuCnisIeueO5;YF`eoYS@Wzh-=too#xSh4CXuAUoPoBVmNti9pm}QP1?|Wh^<2+t)pWjN> z@7qG8ZYEcFacjl1z0UrGjGw)Aa-fOre}pd0*N!P~b0YhEwri(m*KtuKV4gTQx|?Y7 z-4%7-mrrEZNGtfATFwk*-EFuvd%adD1oy|T* z=NztVyxpalW$|eG5q{7^Xtlc7q+CkkZM%z(%F~>E+cG2MBt(U;kLhi^KvT8h_Asbm zc_p-Y5-MFH-Fd&iLkSr@*PPUo!{oRgXuf)?D_~5&TVTop)<3Zcy7%yMzZ?9=61c}@#>Cjsy@9Br8XNDZoySgEuGz`g{co!( zaoTJ_s_6ph77dXa^JBCm^vPrfJ@oRakHOVe(KoKM;LG&QYg^|jR=gE?MWg6q(NYs< zTB3+%Ad-U~x3sVstJnr{8COhE1}ZYW?@%ZoaT2hZPrYBa2#HZp(wVMq@ z)+*o90Oob2`PFBPYQh}&cXQL2W#hL>uhi8r271d;W2fB`PSyG%OsV^PSY#Fp&F@ak z$06Y!@kcc0XSnjrWQalh=5~+BIs_k2!(;%A`oWL~U2;Pe={AsjvnI zlQg~U3)$6a9p3N}vo%Qn2ETi4>BX{IIt%)x0=t*35=dbe-!cBI;t8X>TS zrG*RnL^xO6l#=AB4P0Bjy&lAfk%zYZmRk-f%@|-vBNZ{SJ;?Grw`o`lUKUnUTj1&d z?@WtY5U)Y*dEKhG+O6u`N#(-!Y-M}ygliEm zp@wANSGabfyYE?{t{vReg|=-+0KDLy!Cmq(F>re|Ta|W?d$^sY{OZl51BJNmGv6)H zb9?c+wX|+{c@ol)d3&Ui^0x3gVg|ToJ3ZXojXYi%nSw5uR_iPoh+841FdNUiYIyVD z_Y+bS2&otR>_&PE2w0tuO3N3#j%=wpF-)g!qDT4JWNnWv_Z69!@zcA@8rD75-495? zl^m2Lw*f2twxL*uBn`C$Ulf7AO^AAa0>O8^$ZeWl(_`(?G<+dyk#v=m6<|`I<7h!9 zSDi&cS&whDE7s(ol5>)eMJ%B098x(mwgs&BH+ zw#&M_f3`S%%%IHzr)liPwt#fMG^13^TzZ{Yjwx&n7<>(D+`gz#OYd*sw6|pvYuyI> zvx*5Z{#^@GQ)dip>j`KeTfNB<*0GY*n-_YDLa@lD>0D3fX|lqW;pZb^5GwhyHt{u2 zNIMl4Vt^}Lg8|%JiYlGT#&viQRA}EfGitppgh6HsKkQwnIuCAUZr}&a++&7;j8z@4 z>&LN!SGdpRGF{`k27E;s64IEH>2&pPxt5 z6qlL{PTt?Kn)A^J!2OSMrf}D)AFO;Sy)x-VzcGVYo2wUJ`b=lus<&BWLTM5Et-f#U z=Jh7Dq=K+bU}gjLX!4MA;ruuZaBSWvUcYImEjF*%NfO`8(Tpf_z=(XT@4R&q-9^Qe z>m(pZH^D=(?D#n_KuBqZjn2hy;SibeA#zq*ztmJ9)jI~e`uFO<7gU&_>xs&OO-|7e-CD9%#4*hsXKbp5H1&YFmvfO>T+ma3y zMZ4aM=9UgNY62LXQB+QFFboC9!)MitE6>Oc@v5-5NK$oAH6U)uC$h0R&f_4!Uv@U% zD=+W}rQ;#LhxOjY)wSb9=i;BqmJ%P*1&40c^P(+9+cC_j1N9lQxx^CrwzlC{>H@7L z*1gpnDo5UeCYAb~orYXRs;-9k?%3`qUmWw)fJs_45KP+YG4sL5xMus*mtOcwXX#QK z=Y1U_qwHZ}De31vIa~@eq=DXS()mG8^d8uK+R|7FZHWubEA3*e^tc}>VM)}8Vc#hR ztI}e^^4f#aG^Nz5Qy)U6N|1A<;R~v8*zNTnv87S*g>sAM5Ahi2qJH|DG$DlxZPRc~ z_=Mjd1G#5xRB@)=QAvrU$++3=ynH>Q4y@_b`Q4y^zd?FUDT5)ilkZ|ML;npS==Y^2 zfXB?$8&&SJ1aU-8gOWe+o+~YrnD%A)H~+3iv3=Be%dYT-Ib*)#KPD5DNc{r!i?IQV zq%Pya0Ir+K6+5aoo$>=N!AK$A*KibP;Nu6f_C2y;d(J6qkNzYOo$1Q9$B7 zIVNNEOIKcsZa5{ekJBT~paH#oIfSGAB2%ofGE&|#!)Rp{miSdgj+vY%L2_Gj>P0bf zq80rRx3kbUC1WwIs8WIylDCBOU5Z_zNc!dAo$cJ(EA)~%P70gf?UI{$OFy}S0Sed^ z0N;6Yw=S<9FZMFk2(jZb+i>Un1OA3u2Bgu}et5-rS1N`d;(oqMbwIgKS*oBtR;jir zO@YSOcU9}F+h$4z$bOAE<}N=86Am<$V#G=dW=TYj)Nqd#;eaY492xt~UhddA{lo1= zPh)K-JbqSUcI*^xzbDmP@#E#gzK?FWoqQzq*!Lz_5DT5jR#>MGj z4n~qJX5zt<9Zqmg(;fj<*dDdF;MLCeKrt3FieibT3}QF#Qi(vf)jqabu&BNG)>58P zEu?V+uCOn#!bzMT1YU{+>!YTo);>woPt_D0DR7YepKT#sTkewaa3{dHZ8KWr=rXV5 zR@Xkl9E<9!%9_S}QLjrzhw)6=hr}FH6#hjo3RoiJ>;WtvBS>rtbDQwJ{B80J`6(mg zcj==}&7Y>KOdIWfcN94L#Q36g*ar0)Y@fa`V|vrkyk9XHCQ^2r7`h|(D)0E{-X5pz zbaGPGK=DJtW5rNJ5K{qdUq4q56f^gPQq1Xhk1pb}Dduippl*%=iFPO=t{(VDxh^&u9-< zHiphG_>`r;jc@lurj9@xxgJIY%5ZVdD%!uS)aK@;=x;=nQ8oCxd4WLwXP)x^5s|qb&h@`f}M1$zM1823n6MhA6GoA z^&ybPU7#X_szDY@S=wN>FH>L{#60`&;5u#ukq}C~(2(F14Z+%b_0EPbk6wqRkckKm z5SkwiK%j~)jzRrLifzAG(OKrYmHGqEumq#$hbGy&y62Au|MvyTDHgLiwqPxqPL2Ek z?wS-J-LwOdC7I%O9nQ35sQeOkj2?FJZ6f|d<)~nv-%O1!10*kp{YO26mx05t{b5O8 zI=esol5tg&!xfCUc1$-L2ey6&Zb)_?&?u+FStXbgYzPd=;&E5bl29VSXYIn^a2aS9 zxoK$C(o!5mlzbwhYttklun@I+G3xW#s)dCDjOr1r2~DE{mN;TL>~*Z~*iGV!Zn$}( z3mB1bw~HT`WGnTIA`SNMDJ_^;XE@3dX{uM4&AF7VPA)}7UVa$XGuHl2R2`o4$gF^g z+@3g7fZ5xJH^0 zNa+b>l7zA&oe*o4cKxS{2Fs!^m~W_CWJ{0YGS^c%xnk8K5Xqc>OUERRhZ@#cB>eG~ zGqPhYD`pQGU;EjD-^ip#5xN|hJPmU@_vgkGI(~P--o`kzfkwF=yKmS+FEpC1c=#2fjwSSs(yF^WJP)kZG5z45!RRF|L9G-fhU zlT4H|i_t>`c#Hh`!jCLDRRIjN1eP%gd@CKe6dNB>GD?;a65I~^s;2O19~FEf%^q?T zNt~7WDa0*oinPim(p;v39wfMaLww5Vm6e61DUBsIYCY($^QNCJVFFN~h(DnLPFxeD zI|QkU$XINOe`(qVN6{w&)o~HG`ThAm1eHgFv#Eo*x+O`t3_mdr#`QK~wQcS~@q|Rp zXG`jN|LL~4xlifv!pvJs{NTup>4-*uv89e8*BIy5uWZdSrtd^oHw^v^S^oGfcSgBS z6`htbkF&!DVMZO^mOUsx`PvNdPELK!NrcIm1T+%1)8A@U@gtEVYwzd|AR@+-P2060 zlf`i~Ua+OxWqYAG#MzE9Q0Av~{h_Vi_;9(w7;d3AYNWN9tMUg^9F5&M^4?_vyrZA2 zG9ZH_c&ndvbC-derWCe2Ihq5#E?CpVZDVe6TRj>dn4{fU@yNCowuAx5yf|j~&6CIR zEH=C2SqsmGv)^(t8=6Uibf+?sAWw15w zcJQx-SuMU#r} zu<(*7Xyi4ep>f4*!G~WkF+4|0^}7fY@fq^JGI0u4&sJix0ZEg+c^~3Y>sx+jFd+Xz!Z`Ud!}WNe^Xh(O!QyBH1|G$Y(Ri zq-w|7HOh?nHE27At9N{4>9mbbvdqhcnmlJ#!9?HDG|>ZTuhx$JTHLU$5y>#o8Q zPn_}6zfbMVux}8lQBgk?3J+rLr>Q@88*PM~sTWg!u%k-~md*S8O^aukx;Pmq_Nh)Q zU^fnh1RCPwm=8Z4s* zIfmdV{hpAv6R6|;2vhH62LAmZPKpavbayFRmY2c-_kK$w!B4PNA(39Q4}KdFR~wP6+^7p{JEpW*%}7225m5rB;^nyvbB(wKUD z8b$FZOox4a7Iy}wuEC6*jIBi;X}+HDxc5Aq2X+z8)*^GGa0rhkwNH2MhjON_{Jn~0 zg^b;j5E%oOR+55A4%gUG^#>E1P1S{@B;*}&|HW6#>C$y_O9ZOB{x0%cXPgxM=Bs^w zZN?PrpK8dHq0W)kGl0uz`cy1m&s9@URHajX{LPor49qWaxSwk5&H05#muh3<-Lu?( zkLwV22WldleNpqKWG#P~`ejnnV)wEc_ObowjRC9xP#ry!M92O&V=Yk3_UT5X5`HKy zDc9`qc?Ek~^-B?=(E0yg2YsXFtS{x2zWZ9NIWAF4){TCz@>+WpQ#16AgDcJA|Pq~?+YOU6ig?5SaWymT{|6?UAw z$ZU<0`1+Uh%w`K5tyVq}j~SLKvJUlIiRdQw@YsV- zj378e8?rasO&?tS#>5V3=IF*G044bX#vQ_bEfnPUHOK2Wn{;fG3Oi}0PG;Y_?kQ+r z{Rbs$7d#Oa*tlIJSd;sbwopNmlj-)zQZp$&z|gSjIIm$gblD$;?+b_T*p*}&IK$roWq*Wsj(>nR_hgY;Yz>m z`%Ae*f=z@AY-#~jF*86T4Z+2*3pZyFDJU(7A# zd~TcB1|5CJ;v2pxKn0_RK6ZM&qR#Cp3k7QKaO`)YXT0-5Wk9Z8HI3wVRmGTF%e__U zRD9OPu~;uj{>lmy|A!j`NZ6YlayZEen+)}E@P9IezoEtumG+2?&vlP}RUinZEm?7n zvGd0eO2ra9JiBB7w*KsmVs|JzL0eJ|;L19&$GA-p?M1Ux{%c3;`dy~_hp*TQ-e z=#@!FG`_4aJA3^)b3+LF1_x#fO~>srgGL+TWyxF1$Kf3-G-FN8?O6jpv-M}O_n;$*@+Ww!4S1=yafGmGDtmAchx{$?Am2>)!V+2ppUC}6d|?zWw3Bs5*t8uV&Q{??_Xf23rLw%6eMYWvm_;a=f2Vpio+QIq%9`+zB!_Wu7LJxWM>KRbedeR*Rr=zZH- zmFSs6o>hjb|07SdBb~syLCeAZ*Da2@&7JG!6CHYMw0<7|J*6ezv%aV zt5Im0_DK`CSa4KNqPV8)iIYkC;mdHGUIi6@L{3p;2YpeOssHD+3c{*Dmr^cfquEG{v(4f*r7^3-8AF=~I zIK&may2R!MH8G(6?Z@b=9w-Kg3Zspi*QoEauq8sBnPSRSJ)c^IWK5_V%;Vk!) z{|nvTRXHIayvr%QTvRK;r}gQiZ08VYV&ca^sq?mbU4&IIB1Q~6O@`PuZUxUDMetm# z9WXvkfI+tr_y(eu#tQ}}4g0}U#-@`nh92Tpdy6ir?Dr+3e{hbp1?O40w#(GC#0(#B zJy<`n`mlJv;iRpo)K*_i+I9*MYw+hnFJAl)@dG9DdJusIxqQ7|LafQ2n~OF5-eNbh zu;H>>+75IVJM*>l`F+E*Yc!h)fw_G;2BUpX{mvWi2P{1rA<$)(E_d1MEsx(T1b)8N zehCcuML>sy$l-OpKPH>P7<9?8pnVOtUOK(KJa+1jp*(^~pZ7f`z#ZI>m_iJ3vfaQ{kb`P-gE_SHaV#Wsy{RmtQlD$8~ zymQ;Fw}LhJWt2TLsF^N1ZRr${Z)?YA_C3J+VKf+DgNH)`qcsrN>p7h#oG5MY{sAfD z$1n3`6P=ll*#I}zq7lxNj+nDnJR#^RW#VX@Ut)i30L48YLaJ*5UMNt9ixnxjHx(F^ z0v--oke&rSKrGD5S0f?yB1X`)cVt3tH;WS9DIMFfnPPQJZ!cjn?`~t*8$VM=U;Y=> zAtf4KUHSB~DKOCG?OWYdI6zS_8o(Zb#o!NT4Tc75Oy#`-V8JN{xR#kzf&*Jn^TOvi zd8)a^W>yc|ejf%UweiY29)LONyMGOWJv2zAyyA0o-X~c{y~K~c32MHQL^En3`c8Sn zJV}4EaiocmN4d5Wro=-Lo03;X3`}-QFXVEV3*#nYQ=!=`J}?}G9%qrRz-Xq}LOJRm zz?9(Hds<9a(?+LYck}vH5%=?E{f3LtFwL~exRjYY&TWM;Z<(dfRtG54&frTxV%xq$ z$OALJO2hJy$-!k|HoMGkUHC%&QB*Y^gfN=487iON5L-zu9eF;(_`iyZjmqZ==*|@W z?A!-cNqqASB8I!w3~kG}#+Lotul+~|qx+S_%wfdhp?t2&t!PklrT@8m%eND(ez)$n znlH6Dh>eIz_r7h3b_YOL7M%ma9c^#t@~m&pRAU0hst5jW+aocVC^DImUI$A^DWivh z&Cc_~M|qks!+#<}EbqWb8m!AdJQOwkAENW~9z5k>Enz|%UVoGtYXnzB-=h4;?bft{ zdbWO&ybc-t!(C|j|KTpeYp`8x*Oypkz#hm6S;fi)C>3wg4i5SHA0S7)T8}(34_q97 zZ2_C}^{NbE2Rp!1jgy)QLArb0pHmXxReHV;>+9=CjE!K$|A7RP$CO1uX1(nixNVw3 zu-xIG1}k_Qx>nV9O5>m(aNiD#2{DMieN(%$$9Qg(25&{Yo@Lccmz5bx!6H~`6 z4WRt*jVx(AA0^k>=b!BPNSD%8^v9!hyK(9A`t>gEY>xTqQbJY)QIE6b1e%HO;jQ5Q z%|uOt$Z>p&&6wZ*mQD4h2WJ2z`{Y|*vB61?E-d9RoJiBt(*w3D7+C8+W#^uXu*%-6 zh%=?+MIwNdT^AV<}Svhtm=SfR#VinmZ=x}>8EA){Kcv9g6HX(h=4cA@+P{2tU z&*oR{O|oCmc%vwA0^3C*cszHayZQ*ZhGjf4%;t_7gQ9{;663EDj;u&Y#Bp49u77NT z9Y*m`{B+@)TC+#o+qbFQ41cZ2$$__TkOo5&|C|)DA>uHT*)poohMPMZK3Q0Io7h*& zj;+K+<(Iqt__U)HY}aZw^D8O@tLmy%65xyU@E}PJ{4+ zguOa5Bf2Tm%GPagKlINvf-nyoC*Qdi9a}Cjnn9LZYbZNx>z%Q4l-Id{$K;q93PNXH}y~ z8jkr6w7YimdA-`s@=jZ!yGv9ncHQ6h!K#fgcu>S=u$NrRpaNjd>&R^wKx*YD(|PoD zYkf_jtMnxQjUiErg&3BaF2}|QPxiY**zdJawc_#9&o6$Q&%#+@2PzhA3Sw~8Rm}V! zP6nCWyr#(f!Ed$A%gb8oVNajy;uCw4?dlQ6=VP^wr^DPBMy>i&?+ee3!ssCI=NGn3 z(bk5x)Mi=7{T}%LfE^qEswL9}%nHrBgMvG+{r-XWw|X+atFgl&rqhdualROZJ&0L6 z!A_(9(jyWBlyd6XYZ{XNET%;3+oznrGBu$Pj=}jaF6+g~g@q7FD1?r5PMdf|Tj|`;t>3n6xb%yVVW~sSD!C!bUkpXLm5;94 zy4$aW7BF)WN73XvAJn6%J{qHxprpvd-jc zkD{t8Q&>$Z6|uO_hko8Jn0H9~(`8DiFaLW?&Fk|uu?fClt}5pM{SGa_cFz)tf7)t9 zMBk#P%xu=}nBdsvyTa_mHFumf2(3}#Nq>+=x*vwv71?QmZUQ$JDM}R<=6GebN+4gD zmB!{r^eOkLttwNn-mAYqEU`MYzh0uY4vE4hUWt!#lG@5)GteUJRb z4&NQ$5JdG{)>?~I-LG#zhH%#~ETpR^Y!q{z)P9rCTLyqJ6I$D_jJuEmk4`%k`zHnIh@6 zI$syd00Hzpe4XF*gb-LEdkx;%LmIgC_;d$$_ku;M^%W)f8UGjEG4AqTx&r{?9g>KC-Q)4K22Ft`jw^Eg+UsR*MCdADF1y)atw0Yr#AeiZ>`TvjsMruh0gW8E zyo1kR9uZv?#OrrK@19=ciQNX*9;5zM|HEG3QHMy;ANmn|EKvRny6ic)H_j3W8Z|nD z`G-A}OJ={RHJ2?(#il&`2<=H>2y zp^MjrY<`#XPi&I(m!~wa?q=WyPy1Ef$e6N9%$v#P9=Ne)r(3PRRYZ8E?Gy2xef`Bd zSf|p&sTo`nS33XZEn#|J;wpV;c=vqK>hOdM<{#HyLbLh&;{OjIDe(dAssT+zl9#$a zfx%fiJtt~Q{C{eI1ZRRf+hdu* z@2@Oc70i|~ho1N6los2^zFARQ zOFJ&TD+ExA1de3uS(JWfY==lFyuUqp^!)>EX9k^=mmo8U8-L#yPIXZ>g!u^=%(UEd zBv%`KeB7=9mNaS6%K2Y5Bi8zv8}V7XYc)<^Zs!Dh4q>Dn)ABG7~e7Cg=;+( z=}=@>h)J_rL#nAiwE@Nsh>Jb_!IV`;dy}W&zZ@w38UC|4&|3kIlnQU!>xv{PbeQfp zkk*4Q5pl}RI zxK`=In>Dm*K@X^`6GsB^F%!d5ZNQkUccXq%SEXOq)IjH|kILWylN`@kQ+pAwxp1`< z#eHCMO@85+RTn4lW(Bvy$q|S8@7b9z7+&oLZhhkZ#82dO4xVzIM<}CTdAa#Fq|g=m zeB%ZJCjvT>FWDlEp}4L8;DgA3|5JtFf2&`lDa)!cFmAp`b4)B!D)cKee;O^p*rEQI zvzM8ZB^d)0L^M`_hOk}DJehDEfKKM@e z+BzVD{xSMPGje7ZVM`Nj4bPY*yjiD`Yy@!pci7Y)xA>#IE-oJ4 zVq40RFI=3b>Tseby-MmIDKA0+xR7eK;tFgeEX6wci0u9-ETrYU?~p2a>4ul;_Qoq%a)`(e$rxhZhodZJ}HU#Mf zE2&t!Cv$QAY7Oq*!-*jVD@J%rrX@|9r3FALt4I%vFd`Bp8bh-2`O~)7_?U-&@U(Yl zeOt9Iy)|`)jgW}jr2Kzn?NnRCQa`&Ff)!e>79WMDo;veSlJjL!^2Kk1y-fA34x`;^ zg^}D>;xz18dSO#i8dG(8gCW{V#*}4FS6`yz*|nSvsn(LvrY2*?ts3?zwV44<(^LSi zZrtuZXey`nIubE=h7#``vIljOvo_`=r4chpI%b8(qz>NN1pd`s4Tg_93|gf{a1;Hz ze?4?-bo6f##*4f%oq3(+)V$L~ks531)_J=9i%}~Inr+qK$G>EKy}w~UT_K;8sZ{YsAA2ua zs!n^f!Fm^_9ka;r$uQQQs*G5ts&n1I5^yO>36nGzsd)&zRgrxW+9JSlI{4!4WXSkx zO}qG`E`rdKR5YYDw^2(e;vk(lh_jx}43A)JYKIW~T?Q)GZ=3)STC%*WLHA99T=oQ< z5vQ0cd@9;9fpc)Xei>VUjT1`KsrMblz7i$j31L#zXp7oT^g#Of<$r&TxuK1T! zm`$WN)W`x7RE%!N-%+82Iyo zwSzp!-ywg9fudjQ#$o4K<@-bj(u*7Y@Kvd}9pd4*fZQI>prI*4n1U5Od$~TuWSgYX z><+KdIcrHJHC699dV+QSEA?2&HM3rbTz(Zb>XC23=ky^rAfvPOG-Rf$@3=F}@J>>3 zFz}9Q<)NK1d9jYFL?Pk|-ek4q3I9RZB*4->rW}TM;SNq>-EtIg$qa^30@`eMvL<^A z!$4PBuLB>Yy}#{Uq;9bhVu$y$Ywxy#b!|kQ$x>k7G;BIuPXGiPrSLF@nuc7Q#i&AS|NX!u8zGh3!W2AFjr>U@sPb(wdp2)eaMB)uGkwKkH_zu3WBI^o0kt z_!CoqFQ=?_+My-*oF*6ct>!YkbQq9fnIU;3@#7>(%m@;U8FPUOT6a&z@M6DPw z=F@mFFmnu$RdiT#(@2uFZ^PWy2)T39gxN&SU*)mFiO%^KQ8(ue?N01x*3--g2l0@s zd{aAMiUa9e7d%Z(g^y)9tW;H~6?`X5NdFP|kFdgLbf zl+RInVesP!>~<9jT9xQ+hyko9mWb3;OoTMFnCGDVs)FOKi_J}TJdaK$#P50>u8uhF zE#Nvv>&9iCgUmpJJBYK+=QF#Nrf)yCg29gx5pvzPDEXg_moCPL6k{)G;ewxKrwxi? zr0NXV(mqr2Z87}1VAzT8CO^d~E$&M%o`z3K$IIO9UZtbmy7n)8q5}$br&wkrCKHXJ z3Lw-*ai_`Ii+jX|yB5uH&@HKIGAx^8Vq;7P+489AQkCgU<7-p7nAwUjhsr|#L>t|$ z!X&1{_NYi^bkKOTtJ7dzpK(v#K-I8o6F=g*r;>!(1X(YR&W##caii_C$+boP>>Uwf zK+s;63F8Zw==Be1Py*sj7!sL^`=hd2Khblheb@eYN{_Nxqp@)@KGP^8J!93cSD4ZA z18H+k;}p+hw{Wc5Lv@>**i+#d{}9j&iZR_z7&P&WFJHztw6At!Z;s(sw*9_?pUB zok;wF8_m-Gh-)fu!3^4gUw!uOzALAI-=^}J9YA#fJE8(*nk=8~=3|~l-T2qZxaO-w zovEM7vSSXSPpYLOyyIunxAi3f7xULisqy&IieU}alMGYq(`Hjv4&61@lx~d%kfm$d z0Eo9DTD@>^WPCy@p)Uv~8JwX}M;zPh@$WD$G+1XOEC01DO0k@T$BFOh;}#3J58!pD zO0AbuL%F1AWl~Ct5ERkpeEzb>dKEN+RP_7Fqjx8ba4+L*;|lB$Uy2iIG1)oW;>AP! z`JEwWMxeO*kAm^f`7v|%jfWm|QUr^QhPFCmd#?1KeteI)?;g9G+F2>t9)IG~vcLin zI3VFJ)cOq0U^L{6l-Qp$0gu2Kn5~%O*b9f!c~n+DUv1E3Jy+%}7^6=D(t1z}2+djZ zT1n3W=LZQ1OSI}t;Xt%64?{w}W4i0$7%UY5`zgm&^?(|KJ$CiW7<+;&gI~cnQ%ZKj zW34P|QO{2dviB1iNmWK|;FX2!UB+o@F%)RgMx2GP`svA7SEl7j0r>JhAreKh`XL?e z+LHDzV$R>>78~Om2eH-!`h2r4Uk29v{C=V_(FHel0O3dbkU_jGVW0YjFUhfr+Fz=n zKS!FP%}W93sCbJCRcq*nI2D!I>U&&+zv1i@4+_YfMD49HHOKm@ce>FDS3O9sORRU> zy>sjHsk=W$dgH;N;{gbSR*dh)y9ckIuC1>oFq|ylhOZwb*?+aRJgV7H3tu0*v|0R) zcx)R%hNTLE>RdpSc8Rn&@L`IGRXoChQkwIFZFTdbrbo)zZ~@a+vRxiPB0no){c2tx z6!A%Y*_VEH_vLuJ=AIU;))m87JhN3B2#c{LZ?B^x=d>HGodC4KK<5KWYuf$PMph$A z6x!*Ae)s>SYnOHSonSXAKd5~wA^qzIv$}O$)%F|JFcc0p89^({h|ky|9#bYQ>2~nQ_oOz#_$wlxnP?ptM!9$0bp@Pll~z(8$G6TmBFqU2F7IUG^-tw76(VA-G5cv(AMvt2BN!z zwNsdwL+ClG_h}ZsRYE$45)x^-!|NF?y31sOS4g?Hz!7yb60n&rsec#TrtdSirm5fc zy(AB-v=h9jx^e~HvtSnNA`n&CX1dP3kb%<$#SzHn>J_NH4Hm70jGALFU=c+b+T#7V zdhPxSXgj_lu38dQve9S#Cu7q_BI3OR&pN4ElA9l>de3Zlxwhb4TfpJRO@%( z8G}XdTCgl`_mBE5tA7d58D=A&V_@5kca&x1(|0IFHB5^AYgw{v6ZG;C|2RZG$Nr zB(`Uxk@fragm7WK7WK-bPxI_`XF02xzXfqx?;*IY^T!POoDze%Gq^BY;G!D>e0BEv zYxk!N0Q>DSd5x*%Sb!UsCjNQd;&vLyIrOuhc<5boC)#7*L*kDEYDS;HgO@~uk}Imn{H8Mbx%lNw;m8-{e*3@z@>Q`# zvSxbodW^KRr*O#(Dk2xGbNM2!V$N$~+oC9AfKx#=c%fi{2)n+#EuS(0Hpr$yO9Of* z3Eo5zheOmBRys(MPTS-LPiobhYB~p{6Bk~55uxrVPP368&Ht&*tZ%Re+LM(m+j%{P zU=Tv^DlX;)3{N1y!}|sPP6cmrksE={XC|$yK0dB9ylu`&uvy67*KtKCvu#-6LtF~* zt>LB!;C)0a9)BH=iuvdecPZ52eqF5Z^|z9k&#ZMIS(o?|&3?OkPTSvPn5NDf7kBTQ z&=|oc9+o&X*g>=R=izN!!jx<$l#4#EoaK6(lDlUPzONLJNH1~3{Jizl|F9aa!Mmu% zmh!7h;%n{E*hgyL_V2%Ew>jP&PrQKNy6s+CwbkZ_ihQo=q~%?@9fYIg#RVdQ;LH`b zi`jcl_TnqJr08)~3ri9Hf5rlQ&9@s->MURvbe5N+-98UK!w>sL5BjY65K%-E_DmNI zG5XJcU#tes+jmkO+D}U|h!;K2p9IXoHu?-M2mN2Jv_asyt#p@3KmhxJ0U=Be40>Vh z0ZZ4f;5%syOml%$(ko#&|1rb|j?O^jUH((2WC89ch9G|M8?gWvG-}T?A#VfHH zbRZ}8lNoel1N+1vBPV{U52M+Fe)XX>EM(7?QMZ+K>3n3hj@=4Ne_BSXneaP}cKo&R z{AsL9{yyXVGS=UY&wetD(?)74QA@!D#z=ZV51qJ(2k?J&@b0~3RW%%m>Zd`OnHw$Y zEMhGAg?`*oyNXxsXT4~pvY>v8CJtJvzq8sYs(j@8CVh-|RJIjb_}_&*^LbfVfJ6Z~h}#Z>V1Y|A9&j zu~+CZf}8f%)?5{C!R2m6!Jn~5nJ?B=N?rGoG!=3LeFh@_aZL_@Q+7`$^^>C=*xy{I zK)7rqoz2bI1)JH~+1MR_#f!mk2ynmq34&yMPL!Etd&23)e@`91Q9mQF$GZ5L+GoJ2 zev8^hLtvK_{Hy{*2i-AWz#{TJ#_LYX4PkSO!)udKnjZ?Q*=XX{mJt}e6W3j5I?*CD z8vm2N$=MVRamM+$09}WfRsAXxp%H~6?KTU65cW^d+F3F6)A1ccJ#N+1@J?6*i7j#H zAkV@?5E#=*KH+=HU_Oxc%`;=bx)kp3!TdUU%tR`I3JfryTcNFtP*K_`^{(vlaks8( zTUP$t(ELZw<#s(QU4?hEFQwUtwu%Jv^{Z)jpn+BIO*ll=HD=51Wr2W)z5*|H9%=4r z6A^1AOgb2y_ALy_jKsRvpd)dy%0MkLV;ar)0p(lP^H1=_uSBj_u9&Xef1Limhy>u~ z{($~z#o_JoZ*a$b<;Hc_xgcZX{Ut*mIF@b&Mm5>>;-p%y?EUsuWwM$;V)+pLTC2$z zxJXxR;02~g8Tj-PguUEEWoo~6aS=m%GC?x(n`0qR3O=0Zdkp{1)d4iK|1SSf60#6m zxzpe}E%S?pLEv$VFh7jZo^1m^lmR8GO*OE!ET`4^Nz-1ts~Mw8r}^_=#)6NJm;bl$ z-0@y0YfAO+sft8OdjjV@ml8=auseN^FO2dtRin~3^jjE}m?obW_~Z~!*w7g<9yX!= zk)%^RS|*~J9X15L?rh&uKl_!zZTz%m)T-$g?B6*CV(BD5ph%^Cg;2Kj5yGGPL9N@@ ziJ6wN@sxdnS0R5MZ4)p8_JE9Mq~pB$lMZ&P-Vfb7GJu94VW6QS22MVLm)uSfTK98x zwl7w@o$)QT{Z|sRdHsVST%|^Mt(uvUlx>%jwSO!9GlEtm_+VH}?`P7OYj(02mfAEs zm^}=D2UoTVs`n$IUR~PobJnJ_%%B^uU}I0_^=HfI5BTiU-}uIj1FXfDjcH}Bw?ZJ{ z%*XKZrU8_?nPMU~fx~a;h>Zrb(mRjZ&;AlmJb%DCQQ+XVu+g9clPs$4M25JudaU*= zE{`1d;{5Nh=f>^LYd<)P$~;~bmVPn=#=1aY7`dCf>MWIIAYtx{+h8N!%x9P(7r)>b z;fTI44LT7TEJ*GO(Jo{jf{T`uy0OluxoSbMq73%;cx^ndbCsDKC@{3Yq-q;HbPc^f z4SX(grSi`HS6Tl52+P6$2+QRA^KYa|xG{Qvo_94U^S@n|nE}4mz@&w}_sOvXADX55 zm&=B#)w`ZDtMdXat`6#j6;yZ674y(4R5)+WJpn)nY!?3Ur^Cc_*8pp*OXsX{oW!m*eo!O9$rwYIo7JS^ zk-vU}(|=_wA*x2T)ug9RG9-z+D7>Z>KmIO4i2o}vdz9pqx}>Hx8KtIQV=Adw8|X9+ znF-g>KYX$<{mXdFsGxYc%;E8C8E#WtgEdyY3wcp*+>&@y4_ka^KtI1eYU#lT$)m4q zV_a_+6%`%ETMniOx#A&V>8iR65~kXEHYTT>5D(>mAWWV z{U^p@jwkNko8XGwj=NP}1u1Nzg1;!W9KAUDR)u{_UOYedzrNtBHlf1T` zq!(WqCGuL|d&&?=v;&WRjMkO%!PtE5CV8u6=mRkBni;11z}Ctlp(c;NU{g@1DGxPs zapm8xv)@tmPwca%HAyf1K5 zEPwt?v~Xl`w|_0z`W(K7qTgoqmkYTWTt^-|?kw=@?st?F|A3>=xtDcJ*5*Il1nWNv z8V5OmuZ6_{GVmZuL2&5vys{y9J(o5Wub~o(^&BSJ3mN0=I&y z997o)1h+RGnogfV2=0wu+r51(ug5xsInt^oeQ;dsq+hlfHv*FniQmbHn-)?;ne>P> zXJu@AA-+R$trtha2>OE&fSAG{tDD)Cf%BO36*Q1o!M zTdsG#zc_`xgV{L--m53`hjA!Rei?-P<@M#=Bc~&>KrvF{aWSLn-LH;;%>`r!zT=s4 z#@FiSl*zN?&(oY(=i;YpX*{a%8|^nG3|{39Pm^A`6b>&jUgw_P3o!akkl}j(N%Q%u z5k&v{5Ys}=cS~JovXY5^XlUPh6|a_Z^xeRe*{zfB0WOmQ_f0GIHq_-+RaFkY*BRg^ z^UO9d5Q)rp!u;3a8yI40d1L7#q>6JHntZzjmbh)^mJx=Q(^7J9TiqOP;}9WqVak-y z1;IeKF2EJ$#OJ?Y1UP$Tf#sh67e4?8Y3@@jl}Y+7)h8 zYS61+vi-xVz^Ozz*fjrW|>`VoQvhTox(c;B9zE8Ic z23<;gZO%BlC(A(N=YlJPmu+m9{c&L=BoqJtBUqo5Do!$K)y<6G(5s)O!TlmoYgU{Rk+d4x7`T92@%GYnmSKqs8$)Z0NOvrDF$yqc< z47mT}CpYc{GPVkHj_5YrDNbb4TrOd-CR2HmzdAA^A}j>t$L+=Hz`h?MV6b=F`fU~8 zSxX=4=4%i*@qZsL%jk5nU{rA#FlvYuITK>e8;kZuS)^{(x@NBpr#8s5^mz$k$vA-* z-$nzg9>OB|y48q%ZMXKX3R}^)#nGj1EkG5+128tw-0qC)pNJ+mc2gXGG^=f9V6XCe zOUV3CEX8Eq>$?YShB&)0Td0NA1WuuThZ)B5-|4cF0V#z%@l6K~ImW|fq$OugeZd2P znFw+!NqFPraCKHShF#vqR9G5iWbv1`wl$1dNILel1Tfh+v0XI#y9pPhvDQ3g0D`KH zWSAn4iFpY3d+p;hbc3FU;jdp;AXwJ*S}`q!R&tPIicaPSQJhCT=^~QhP@=WEOQx}W z-pk0MH!>KQ(91wsrVb3A6Ru1;KQNe(Xu@*i+I1URbv9_P9%}C}O-GKqb%7|uVtjjc z{LG(=N&5Qq0GnIgZ}GqmAIgLtV2K1tPpV%@NcC-Kp-lc72-4;=Vbc<~b)42@#E;po z_EYua(W%)exUh){O8xkyET-17#=Ogkd)|Mim`U_PKBVxXpTRBxm^}4iA_Zp*}u5q{2(!Bx(`6=WaHof`2+vY2Oqv-AY*q)1C{N%RZ)Vu?SYC zt=HOLZQTT2L<{gfMr%%iw+m2oB!>$Wns7jC%6U>lh>^tOPlI!e2yQa$nubFWFRCIb zvh=en_Sd?iNeagumB}p3#VLVu8LoQb=CgY0>C=%<`2Az=3)dpEk^aISZ*}^8nRq-T z<>1Tmt*IdnCTl%*;v2q@Ml^&X&afGu-}!twWzHWGVm~ndO7l#7P+X)y0(FNY0Sy7i z$o30wa&&%fZ`cTVzZ{cf=I6d49Mx=zuJ7LBa{jVk-BF}|+P?X-6 zZdki6!Wt$uU`(e&Z@*Y&I)Pra-Y&z*uI4c$m&>0*wBQ|vR_4G8|yu4sRlT~tJ8Yn z_%`6Qx|TCb^#^VT_VqfSA_kM#I;_gK!4m7XFy#Kr)`FHZg%nfdB$Iyvq5>NdNJou5 z6W3@?p@>=Rby3?h4g5yM$@pg?=-oV2rlz{2cL zElK}h`2ewzspi~{O{`vgf*>2&{bT#QL5S_M#l)l>HCd6_ug{E&Om*DMk;tmA9&6Z& zImch2>^rKV_=dl(sy5Hj(#qmw_r{wbhP?KZ!%EGVhy!WKoPY%VrGNB@v>&=yBB{+q zprpzz!GIXofPZO(Fs%kb!WPA?*%RpLGkL!X1P}dyzZ-hu1mg+0a)27w*&x=|;Ieto z1#atKR8@8@_^wQZ~xwo!z1qg9miM$$JOHeA$SF9|XrE|MFRf7Io^@s&j=v)b& zvXB8Wqn+2))DqnjEG_d^`0~F2>mH+bVRu#9>1#ezkxS2XR=7H@I7}W5_C?p;ICC=^ zEDGg-GphMgOeg7R5W6lI?agKV*W+BVrXV0%_e292Zb>?IUMo7pk>S2nCRju-X+;5SOXm5(mdhP{}AqgW&~R~FM&3zp_TLH5t}wnart>@ zgCYTdh%6mg=9=dQIH@RMtM^y$ajRi(uar7;a@)U4UXWj_Z-nWTghedvq=t+_>vKm* z6!o(13G2l)kgz28_O}ym!O99UpjMN8H2Mh@IzCjWVz!_WBoZK@6Zs#^NDtV>@wpQ2 zd&UVLr$ukt>W>?7Dc3PnR>DJQH`b4xfCe%v)t})Sb2q3-;uW8>#i5l2M$vu4vNpz! z4OYqno%_Xk&&rh&By%jL9`w9WPVl&wK|D)jD>A*5WZtERv{R6x)9a9rL_b4buZC6! zEw9CI95AguXDzCB91!R6f?7w18!a1!UsW*oT|{r*PNxDwwu}tx4U<3Brb{Xu=j8Pmb24Tcm0qNUMq(eD@C+g7Pu6~hN0ysa428Qd?=|*;w;bOXYm9mCPtX?E}^=%9K2Y0wuuom+$ zi&&R#vfz=s{tz^**tJr_Ta?W!!NCx-Bk}$dh#He2JZ4wnYk(x8zBB$_Pm@=c+aEy3 zCY-fL;bP?#Qtkj^x;xCcg+lp_<2w|b#mitNgZ+qY!Q^|uAl*D0R?FhZ7 z#s)eykG{!*{VY58d#x6MB++n)VA9oXeEfEgO=_UoQlH9?Bu_E%KRB><%vok!|A-)&Gg(NBpx18yZ)_)fXtL zD0ufUZt{E7&Glpw``<$8z(9!5lYV0X7_AnUaO(Ebb?V=y0-WdaR!l#FT#C5tS|#1n zaqH8x$)DvT`dG;;b4;2C7|uHP@RHLOi< z95fplc41Z!jz>D^i~vPyMLMzjq%(|8pB832a5RlGP)Wx{d*SkNHm&=Bey&O9H}NfBX*^%qBGcLjdg`4@?N;v4P@ z=EwaHy3l`?*F|F7`*)-kcl%ioHLe+JJN`zoJ8RI9uvj56a3fH2^rEVOZ~R^I80F-W8(OrK)Z;LXpNr+qkm zG*#~tv|-p1HGGC};j$?pwFG$Yx?^$g44dxCC$g=`pOdO;wvlD|01aTddQ>$Fw|+2w zn9v;GLMm%~-!GhZJug7J=<$-+`HAexTPDEY)vyW29MikMMNwldBq+V(Mz(EGikylYA>Wg00`i(}lNrp;u4C@89GO zO2Ez>hB*FG{ym}sLvoG{vt+kVr%pX&$yoRI$N8!n449&zI4lC36-AlI&^jZ@-YpS5 z^9;D+Ayk4v0MZ)^MHuz2HSPI=nF!~uY}TYi4?<0f@oP)8WmZIlBJ)7zFVD`&3{*1y zqR7G+=7WaLNq(~R1aRaEIh8>x67DKYF$GI6 z1EA{G2svsWKQVr?-20d=X-T`d%jENdCu&&;{h8~J+>a2AlZC7B;Gnx=9qIXBm2wSt+@hGe!GY?YXb5-1k~8$4RAYOll_za(~FPP%N)Dc{owe^mfIakfeVi_e@~58IxOhH{7Oe^h{N)KQB==uTqT!OxI$p_eElUISUw(^Maf%uXxxema$V zlyTRkN-NBbN|^^UkX6$6mO$gN9@2Q~FJXK9dhGho>6-jZM)Au({xYIdoeE~qb6PI~ zn%qu2OzD?PxCFRAT&yv!?h8C9b-=;yK!C+VcKF-G?}qaqzj394fez^?4kf$)Eeqxm zgMMsG6%0+(Jp{a>lRm%E>W`y6XBf5LbyKr{?x(9g)^2)V|Mw{pf^-t+lnj>E$eREL_PTHuvIq|HOb#|gY7bN!#)ZWdI1}?^ zrDTNb#?o_te`S=f^94H_gSivoc3-4r_QlClMvS{FoCt*1T)Y&?Q;1_Ie&nGUk`tuc z-LjL~d}*HWEi^C0+|;_|xb{!OR61E$6w0t5Uh!rW4-`kCHe0`W+qX;(Gs_Z>8+ZUl z8$Bb^1o)|^nI}}@jJc(Bg~whK(^e@L#90mtY3`5+T?{*e(9{EdS~tyZ;c(!ohM}`% zP_W5|#$A5%+gT~Ls_E>b-!iu07Yu~K2qV}GUeRGd)}%A*{1b;wqL;r~S&!ouJLCOW zq5rcx4jj8!<0ymlMoB9h@_*Oa-ZBQ*eQ9bTQzF3ybj7YEYDXhe4ES70-_MW!riFxE z2k!m5-l^$A4R^3re4T6h(>t6tf~&|06EXpdFG(nUHpXg;f+|zOo_5k~l#r%i6pvLN zO(|N-4X&)0oti#+%7X|NkgeH2Ys?@H9K@i|y;FZIKaM+5DS0)o+dxo>aI~f)hqG>juciOa;J$cZOuu%usLL9J3Db0j z9TWeVXkk!1)+Mc-ghfw}pRfD`$ZX6^S@%gs@=aRv6s6ak@bgO)yi0=?db zhb%mi!Q|#gNRJiTDA=f@BxjtEUxTV=)S^{!;svFiVy*AzG}#dh6EFqB7%KTVdK_37 z+KXypph*JkUZ%@1NA8hAQxWIK?gJs$VQNBh1Qw8X{umPQ-$fdfa{O63Q7(HBxEd8* zC$CK_f{px?Qlj(B?i)%eqhq~(TK2?B3wejpuda#s`V)e5mPO9A)5Ux%7>=m{JGYiw z3;N#~a`~e4xMQrG(>zV0JIEAr%%8^N4GtLuvPi&uKVQ1R#G7XQcw9AY`bbp zX6p&S7vB!gF#<8>=m<~3HeC>s1)Wo*)H>btLq0dyC+^uIcUU2%CA>nQopsr~6k6(VX7u#WqVuaP#R#<%3NH95-qx`cQ+H+hKZG z2BloKzjhsg0=v{OyYi*z?+U_U-T+#>3dGz;=jv4a;nB42<&z-GLmb_{pm1GG-I^NL z%f_(EbIwAbWQN87Dtxf@@;k^+Cr-jS z`r0Yk&TIUUobWf`r+er9L&jArP#(U=xme=OCZj2Mnxjm!)$-tS!pmn4~c{J_{ zb@b8=O2!$d%7$Ds`{ZNhl9f}&$Sg2RQ?=aV!}Q&xHg(AmafwT4vQth+@DDQ!tYe-v zMM)AyQN=gfoXN}fjs6n@o70Wd*Sgf#QATf(w>e7Z~+nB^Su&4OZQE=a3h8%q(A^CTr*yHk4F#%7o^LA7S6 z7sZ+kxUEANXgaJjL{!fA)Z*BQ!ey!B(04P>fGBsNKv1u_iJ_#aK=Tpjl@39TnlKCc zJ(MCm4HY|)V?0;{IsAmGbYwN%7p(J!iEsUpw-t?$^Ry1H6r|~{vi~O4I_Jc zw()tkk$n7bmpaljz8YL}t*;Hb;m8QyVU-ReB=sU`EpJG?<_z@H;vywJxlWRC@x<^K zL6p?YGyI(sfy)i76D~J3-oV-qk?-w)+-*--a`!*fCu)@KZlqS@;n{|FlNb%u1Kzj# z9T?0-gU3m*ksY2+*q4=yIS6#74Brz=;^dFaBX!1kCP#Dxuxw=B3~-ZL zy-o@Ivrd}_NJaKSmfa0RA#M-EfJ9hZL7uZtHRmohnU(3_msHc9tD&oLXccmWOjVQ8 z`ADe}qM$3N_)Rf4xfdNN**(_uWkR&%oz}MhvsPfEXZn-e_XX`3aa2Od#c<9pL3BF= znmq9@{0?`v_SC%gz`cu+y50S;oO ziBLLif<1k#Qt?>kfQK)l$^o|43yyV6Q)Ag@K9ws5o7^Q+H1i@^VB+LcFvzNrCFi1Y z!Pv_sZn@Fj-dKtwaUFEiw8CcA@XTw|yj6qp((-ydTViMwr^M2vWhIUFn^**7atqzn zy_0_);gFJ(u#yAh5oRtwWEu7|jrY8i5>fNzkXBv&CUS9WJUKV->5}LI14WZ`5K&_s z?;;X|A%Rj*_~hF8$iCQd8pyNW??4bvQyy*;s(*4!^@Q9eVl| z!|(pAe4X5MpeainS_S981N4cfJi8m^rN7@dYug1gaWhF$VOc-h5apjHqsqWgK-7b^ z$d0EtC(VooZ}X@trieWQ0fV`sy7&ar=gS4##K!&Z{E%dKma(v?<`XRFAp)EwhIsR_ z>Gwonzx$GMtKY6bMrOYN`cgR{vFwm65B}<6omVS`~}c7sdv#v zl@gS6u_e+{T_puR4Xb|j;)!)M@IOK>W<2KrXOE$#%E&#L=`(DXe}AXNuAdt3Ot->V z#2R;#buosOswI}ps;}Qd(B!nz70ZKoMX~NNR}QbYi|}a}$%ul#U8lzPA4HtIStaNn zr($?DG;q37Isj1lPse$`E>WN5G{b=>na_ z+jHGJb3PTKvj*Ua?LZ~BW}*@CR$zj1~;}UA(c@v{*6^M;1N2`X3|)$;aIrhk!fVR8!XFC7`vZ?|BDc) zY{FY6I}dsUs^@sF1d$#%ugSvhf!2CDF_8#UQ z^->JAc9kivbAJPFm z72+F$ZhV{CL5*;%aGEKSZk8swYdLKDlqd{dsWsZhp#;09R24+bQP~u+u8Egfm1wO})VQ(USK-7eaFo*HpLSVm+bbfgPCt|SmCXvOQfAWjae=D4 z7j53M%Xz?zjobfb5eP_}#eBpBX)+Enru>A8iiKYudu(J5rNSu>X`zMDNHf{xz6k5~ z3~7d`XuujxTSNVPoNG|^$FJHEQiK`x-5gWSxK^_ z3Ol!ks~GiIs=$!F>V!xSjl6o?@3LC8BO!(9)dwa8GqUOrD>jiQTn*Bbw;WqXGmme&oQb@kIAU-iAkNv2vMcEBGcKwK_Yhg06(=Gs<=3`p0vze}D()H` z;t{7!&TeeCkY7j@iE5#DC%JRhwW(uCqh4dSH7dZw!HeFyWP^-o`Xn|l-!JFe4rA{? zvF>=<2%Lz1n`p(4MJmGwHfBa=baZGMDrtBa82{T9^rkNF5dG|94kG5v8PgQyRU<4z z)ch(DQWm&3tP+AP2{#h#2V-mDeYAW%-C}M!V^z-eRhd!uBSfqZLN1iCuxzLoFX+}f z)y~t__vQcW(LTYZhTItEO9ImAayj&qFG32(3L7_m^fHUo+LzzqjahKW4SN(T`(ZvO zEmz+~V(8|Ni7=1oh?io%?#)jIJUY8*|E~XPL@^DM5FhXk+^s{dC+GdTHz>dF7#IDj z^i|vxCHQBU3%de~H3;HufW`X%;pr^Hs*0DkPa`eTEiK*MAYDpGcXvt0q7je~q`Q?? zIya4UcXxO9yEx}O?+5s_xwzI|Yt77m<~R2}$!mIQweF&{d=ZbA$MVr&J@y-$^*cr2 zZ7)7z`lmdnk7($Y#JRc7@M=F(P;M^oH8jdd_K3+=hNUl`D#9wCQXsx7w>z{ivbqx}`p2i&poLbiH5^BNUp3x9U2vZGSNR z3_dTA!(w^Bse8mdXcc;5+NM0*7q9^QtL(W^(V8cV1T|S7y$}%e_su7-NbDA-F(4gA zT`T4Cc7rqac_p!pb~;Jd9X3sKq)EDNlD87)#G}kf16$5VJ}GiGT4p~9RnHwB<~gcM zOtY(`CQ+l1Yzy-!PeZ$=K0o1JAvRI=n@-7Q@44JLyU-X9OhYOquXN*sN(^Xi)ZH?;i?`lQ$ORar?_-8DSe{P>7layT{d1X zg`#-+A)*AylvxFHVvQ!S$!`J626`pvC5&T-?*&J{Hqsx??}^cQXCY3V!}urpbCusJ z+7?%@TO7kLr*Qo=(%c}q3%(~p*TQRE8|aG;bvCv7PJPrOknMS!po^v%{Rg`i^9AZ8 zeXl)rZ(@%iB3;idb&-cVmU2DqdEmvMu^r96^6Sy`fS=piR+7P=>M}s&w9SD3)c=X4 z=`xN<rqcEJ4){&&0fR@uAMxF!*yNd-Qih zMqQbdAs?565X85no%Y>jZ zVcAqPh1B}cheIiGXdIOjXl;oNS!F9tHP$tZdvqp@CASDtA(OT;aitabgIzR>10$JQ z!SFBJl}_@=#7W{>3(NFu9;){{KAKL!7x#Ayvr7~wMan0w?Z6r}pL?9!8zgTUB$1+d zxJ3Ebu^40YU2>Cmmb-(t*}H>n0g+*s$UiFCqK7(P>Njf4JLu_V_pDV8pEe3jP8@H1 zF>VWlu4gxBcm%w%gl=ZNhNk6NAe-|x6-zcJzBeMPZIwMZ8v3qN(>CBIVe9lFVL6ZpH86*k#TvN!M{L(N3pg&ZKVXX3=HD z@I@b7lM-pVT`%ynT4}k-IBHo@*DyelpBy^PmO$r!Oy2OC6?$wHgqz=TZqO~yU@R+# z=G=hIyNQe&Cy0>y{l!C|si_!Qps%ekS1U8Fn<>)*kYJy}gb$h!P5H}Z{8^UiF=JbO z1VYR3WNu`%JSFEeuK#vuPDIf+KxK$|0gqEBvSH-IL~}zm`{wmGuF@-PD@$O7&r6FU zr{q$@*T95zf<@+Jr8#~!Ve0ak`oWt=={F;|OWs#7Yg~CL&|&Bs8~Ihsw$E0oPX74k|Lgsam*EmPh zF{HP06kT6YJC2G*R-a-BG}lJTX5JvVJ&g_|0ikdjqTa+lw`ig1n!oq(F$C*DEHz%G z&HwSo1m;3*NQmOncMh}emFHSvM@J7jJLCm^sHWFPzUHEUG-gtTmR>fwBj=CYw~(PF zE1c=KRp%}aj^B$-93}Zegk9{C8A5-*k70*~qG4`ycIeND)5<<7g(;_avhTINMlMtW zLJE0CLgq(ipqLAr(us&a%`pBz#1mONsN>gkr{~ptGYC~??t0w2C6vwG3`=M0-+IuB+A(ZCF0ps7T*?i<5n zQ5^N<9gHYp-$7i#LB=y5$RsUOL5Cq4(4&l9QB~cg6XI$qd&B+nOz>f#XKzMFZn!0q z;jNv*Mm>_b_tg@qe_B%G=()d8k4Q{;3?D}#%th#S7*y%P{pCv`ujc6}wZNevuE5J+ zZp=b=iXvPZCU;oNl@W52-Ey_Xt!N!l+qRv&UQF73+hqMhY@io!0I9Bks@h4}_Sc6P6l&}%e^6#M!b z-2KD<&wYqAvvF^5mSO)%y{T>Yi0!+uKN5GBk1F6>no!WpqSBFIM8BWghKspP`0F+b zH)tvYu0{^3t?}n}|9&6|)x>bNfwnD|X8V{^%6RTeHPy1wGgG~Wom<;sN0m!6f~R}_ zRZ@lq3^_pZjU6LRk`IL_7ELWF=#Jjt^Bvr$gMe7Y-Vj!=r8lT14KBejw_GK76D)YR zM=;3-c50?g6x==u8fXZ#2w%F?v!n3Sh2;Z#Vb9DFqC>1mSTEDqk^vG^<|L@}z@*Q% zB_xk40#8m-29dr&7t=#s2 z%fH$KA}@C%FFU|Tk1%^}ehB$tP9p<3($ zQEbN9H66}ja!XTIMoPZaP62aJ2z(YbOdQQ?S3gE+hAn>(?s<@CL&Z69{%PO58#W6f z`5b?`>C83%XTIhT+nHy*rmNcq$A4$pL~;@4E;#a6%1+99r>-yj92PU`TD@gj8FGJ! z&wEwP(sK%ASmIw=#_WM$TRiVM3$hD2EJStKU6e1w5u3w%ByON4VVM7x{Wn?C zSk5-fq>lK`7y<} z%Q*f@JIm&KWMfbwry}gwhkX3{E$h*CMu_LUQE$sLGOTs{BWl1t(Gy0vLYPM}JnJI! zljfK*h=}k7^N*uHQHz@NOua48CpZ?ZLFn#}s^M&z&Mf_bSbw4u@50v%g131b$hH6- z(WE!ZhS#P&?)BT{)5Jo&I6J36^w`koLOi*?p+xe(TBY9t+9$D63Mg(1als4qHir0L zMPiM(96qt15~DIZAc}hy8!~@fad&30dqCGj7`|z*U%4v#cg*d6r-(ua2sf~#8;Q*c ztJ>eo!RD9j#m#rC+2)1~9P{-t(YoM~07b!rt!GO!1$XxT#`d1@QG)9)B;@gqkNI~- zCFtYQM8*U$19n@0K1r(ia{W~$8RBY23DNRtXkF9Nk?1P-o&?$br({x4Le}UWlwa2z znBa$8+d#O}jz&+m;^YBlzLVyQ;*KD6ewm{GlpI&q^@X}i@J6fr6odg%G>#%k0Xl68 zhV)a;ns6J!^bux5LNHK->VnSN-xOgNM2DQZWaw8hcO8QL3-uFk zn`q&K{m8+m;~ROHIzHmYfL1q+S`pS2s}D>DFuevz4D{U`SuVqTB6oet?|VeDT&J~+ zwi`x#?UVfuO#m_!YNPF5k>@i|Q&s&Nlr7Ke?(>5;Vai$b!#bZeE^OzBO%tb5nx!JQhodmt0SK6m(L@9=`rk*Ep4+p^x;M zJpXiYDGsWOSo_)#@VYwh?<_zP0}5*A7Vgqek5u3{kaYwvLOK|~rS^TYqccMr$;*KGm>xet}Utv3KG!IzzOGOp`;mdwX zt%l-`RL59<(iXvjb8jD~RJq&bwo)A~6oWJ-_@N~FahS`Ks|ipw@qJ&WJX%o6bQET5 zQg7B||H6865~WdABHD_RJ&JPOGyd@b2-Ix%-I`W0Lczi|8gB_t;ttj|WIaRvlrlPp zhG3`q-kY3xrYFH|S8;4O>v5AdNP?*TObo;8)2RvYe34bOyQ}Q8j%Cyc$}uc%kls|L zL7uNFUO**E*F2)7U9i%=f7N9Nbr=K^Ae+=Id{>jIus=!N7oFCiA6F4YZUOM4T$Nun zFU)zGv^0%CsT=nw{@c}{PUH8Rz+Do6#GzAb>-nnh4*EaefaNEe<^2%2=i~5l?NDdG zq@CgR{wNF-Bv@O7p(>IPInWxBGstl2AyD?7pJ)Y*OArBp?88@?_#(kAx;3g!jT`XE z>$uD~@v+dp09T#?^j+_69F1nscTtY|RYbpo5Aoj$XdK)I7Mt9atnu+>elXawmCoR< zs3U5&L(z`sZ3dK}k_oBRhD|MMvi}OMf8K{> zWcYR_VG1?!e+>bf7kspeo-I#^Q#Z?lBc5p*bQ3dUWlBHCOk@rW+Lj(Y(3x;qKn!<8&qv0@4kAeNdQX&?PmU=BnM}2*E4H+Sq1uRR=o)@57@~h~- z$l=tDli1i^W{o+kplRipjCVpZEzgGXjN!vZ<`eoemaHrDmE zKWFlW@gjKCW?O1hXSLbn_0vDFS^kRGV-{~^B+sr)yE4bvM^557bpr;rGu8~V`YcPq zY?O&kTa*afpXoyU1zg<8RV%|oYSB<_(1T`dmN7fSRqgZ53DPg2w+b3QnZg)7v}1sGeVU zPDryTqP@F2$cpX#1_p3*KeG8Fan$mC_)pwkeC!-bwE_K{yExYdUC8qR1f6aEZoi~L zN#WJr;B7E0EEM7nH?$+p3-MPlGCI{QxuI~h&!81DcNtoJYl$QS->ITFRw2;3iM+9C zAan4nmka`m#nNot2&~*G-L4!#BNC75R(b9^W(EXE+(qgGm$|)?Eq6l>p_bR7dr_dp zNW2n1oyR~su2K@N%mXxrM_Y{FWuEB#8ar$*;%w_o%Q5_GntB(7pFF2oqTZSOZJ?7F1VQSbuw&tR@sal94=H57Y z9o*)$|0GYc#eHsx;~3d&elkMen~Ye^c>=h$tuSCe+%DS#DdIE)e%->HzCFW3Z>N2@A zJ5GQS3!q8Gofsksc40u9GT+wE7*Ne)z`h_1{gTMM98~#ICYY-N|6lta$Yg?BuATnC zsD0J(Vo}1&CAs!9AUxP zLBM54q)^rN6}WSk-Lf`UhPu+wEEjF|KP%5}MWV}PJ;R$P%=Zt!s}DZc@n4_DzaO&b z(7^C%yRF!%360=HHyM2A)(O`sZn(N;p^3j-`D+LsKSqFNU# zf(v#$U6CzQW%e~-LjoRvQi?r18(~he$+J>3p;FypG>;`g;k4P#`1B`ixirv;EkH~8 zuz&npz=YqY;xzvdC#@19pPfLTGD*S78wIl%NBsf}_e!a649~_P2l!*>P2*(9rBhD_ z5h=}+V1+b%Syj8Xg?6b|!q~hlo}FL?ADCj8meUZ?I;c;0sq+A|q%3~3_-kP8SkBDD zu!-YJvU;IrQ>Q(c$R=j=M)hd!%P{v?SCP-x9v(Qt6_}JS!rm}mNwzAM-ok$=7XaQY z@?-+D5t0VrS<{B%kkWILfDIl$35eXWrSVKR zY!C!g96-273%&!w!Tb$IYa9Pr&_zcMqPW&SBNbJLhGCUGaXJOwkpYqC4H5JYO?C_1 zX=|RX$BtnFi@Q=h{4b9eok*5Otlj_^^9%1Nqj}eZ!MX_S=!o35V=Nz<^Pu>&F4#AP z$UlHaE?9Cfe;8iC4#P|jrnntttww(#0^NM7*Ez7;=_+;Q?X4<(G%#hl!)L9v*b}jw zZ3dIKS5J>#fE3OwXq4Vue>9Fhc5-cV`B1#8LD6o5M}quT$<0Bf$56h5W+k~=5}T}{ z%x3JJ{semEuO0&Wl&Uk$zeuIalroSNR9oauCp=GVUG3-F2B-luJ4tz3ts$4HBrB8n zP*xy!{>PLX`}*S97TxUsed_R=ccg@DT{yG zF8Iz0a1~WV3rmCR!MM&qo`-gE>$Q+#1560str5F9Og_y1A>DnP4?y zv|Yaujq>f+)=hn{(Dj@})&L7ca8P6w8axmpXGr{QeS`VWjI77`xGB@rntUO;ofhl;Vd7H~BL-Y!I402WGAhai|49HOjynvb2 zJO@&!j#i>%MiQPA<*QzRK?0U>+O{a2i;u&qCC4VE~g_&Z5??_O?~k(Q-4k3RXX zlr!+v+Z%i+_4wtjQ6Y2-kW{;o7(R7UYumTXqtwu_I&+&~!RW=Up$m~u3X<4eSr2K@ zR1SVxLzQ4N@ECShwlu|_$@1|Q4HL+{zQUbV<}VnGqw1|`V%kwXt@2fJ+%H5r4ZKdE z+3S;^pGmqW&A(x>B>#c_9o(=u$+kKN<0}++zF1QA+M$QyU9|z^d~iN|ZGXR+-BunT zqRhXS51v$ZPz-K6OvoN)Rh5O*AwsMEu+P^HFWjt0Gp*M(o#+CGc#zwWrRx9;AH!8} zKh6&fIQ-x#j`SkAxB1w$LcZ`U5ZTSXG9w7*@ooeVE(rBIkIy3hrKvG$)BN&ul4TA9 zh3JeB1GqKl0?c`dOoGMYG(oWc2Gz3sCK-4EUjB+%2x&TI3C&7Jrs*e!$i{S*$P8IE z_mrDf?Y7#yhq=t#9nZ^1lY4mY7dW>G1!sR8AAuvdLH7m*XTy{((<`Hy573ljgwz3p z+Fhe^p*UgRW!V(C6_UI%dz4di?3#IfLVxs!()G8Q0qms&7(rCG()GSK^d_8%A^b6t zbkP7&mId1f@Ox%ZAsbqaG`SfSQWUUCg(nNoc(4Zvp z0=r}CX(DG;N`KGG@v09a=IO(sd$zbq=2kSg!=E4|+^J3?FXi$A$PX=U3$-uL$2Tz| z&%BNez<>Mf9{e|p6=W`h$~+FF#A>PsCB;DDvHX1=r+S8P?pXN?} ziSiyaezP&_w}YI5<|{YyPO}52E>^dAh4KsQoR&JbEW=&rmFDSP0K3{YtNL^zuY_b4 z#rsM zZkA=_8j=IwVSkRR3&BSp6Gi&> z9_<4ig}lnQKXXxfXoGWkS{B{^qNfVgKcXhmD&HS(e7p;$tEA4#4dvIU_@cW#R|H^d zqQ!P3@-Zd<2{gg}`u+(2;obWtWlR=2&Uw>LLYTZJY?~p0evKWlyYgChrK**i8kgH7 zGN$k6CU?AZshRTIH|!ci{*$ZteVxva@9sSfej`yLOhh;8ub?V6Q?Y~(yK4i`_Z=ep zSP7W(stFvndeSwO3VW{a(?2kwasUM@oD)_jyGq3R*r{Bix(#i%FN79Ch@xq?7U|x` zGu~yNp$fMmF30H8+!fSVvyVL99~jbXilbC-k2bTUhlF>yf!a;mWP`tP5oI zv=e0b=RXgV+w!>Xm=sW!5MSqduhm@u$t~W1WI06ZIK(*n{; zdT^W1Q9qQ+Y5jyw_`Ad#ewo_TUMF_N@oHD2MpLL-_?+q~ca+6?ltcT5$7Wg)X$rYq zTAOqMqM0>JIMMhIM$gGsi#~>d(^(Q{VLUllEH&bA+#};1Qc1zyMOjh^A=f1jqND`h zBVk(SdTbyGz^9li;Fw~a?JUvg4y6+@GFmUfr;brx^1p7Ln zU_Tt4!w<(~s*fBCZFJ8mE@HjVK@&b0eTe3rslmU;?q>dTfk`$_MosLp>PM4mWq)!F z==(h3IxTGi*(g%6_>;CBr1eT4(Fz?_x_2Sta8kf9j-reihI+(YfocX;RhYzp?zNIi z`E$kXKf(vbX%@@dDlf<{&rZ%;tq<-!#DXQe8iCmZ+Xz;X{#V8?9rJLj>=wFfc{G0M zu#HC~=vWfg&Gf1y2@w5KDe?8%3hOlEAb6{iHp38|?p0*>&)XaKa_L@3KKd?XWT}sd z3n;)mI&X~M&%JbK9@C#WKPr7HT_V$(r#O-MS2}yjDCVgDO;K97C_M!{bhXiZ;7u#<8&ztGofRG|bl#sBoNaiuv$b>LVwEatTt4XGPek17t z`hfk+boVZ?K3QV`!8{PQnEo!-CSUtS7pU)P)sB!Ra+12M!cCP;^Mltt@Zb6IGJyKM z>Rmuh7VBUgFjGAp1}i9C1~KKh24MqKfvD;?M~1-^CDU#ktoW;+eu)2Hub^-;LuXgf z#uPCbu@q8EhvJAU6wJ`?Q0?B?d*L+9&%(b{&IOC|R!{_Z`~4Z;hHi z3)C+m9o|~%Cu7An4uH$Q#KUs(*E#X$;ixxvc@}>XpH^z#v{lEQ{7z5q9rSUS*FF!5 zWUxo1CraFAKee3U5+y|C9*qpX`|!cDND39zlr$Y#G6{>R^?0(_lnCwcA{TpvAP4hL zv!1$hYqPYASbks56x{Yt4MDOfgCY1Ky<*CDCc~ld$Nw34f#*NxnrcfsN8N^++RERA zGh}^uirttdw>imuebZF&Q@l4shC72c^3L69r0AXl8Ks1rTlbYnDn<4GuZ{%7$$I|6s{rT@rd|u6a zlRm=nxkt*P$umhTPB0XJa>L~WMZWH+DU^q_f&FW80PoVlM+Sew^k3q#{fSiU=#^yw zHi`_uL7y}{C@$XA!t@b#?Kpw zQ9PE%1@FvjCHgT~e;y*v&XQ>>*gHGieY9fe7gr{TLXWs;HE?_C#^3^4oXs{qN!&GC z78!(Ujv^pjegCbbSn)9ZJe(gE^;Q=>Tuthu3wHHwo6yVhFGBeLjD26btM3%qDP~eW z_Y81OovU#GEKWR3*1nqW3gU=ET#BRy5)tnT4qXbzgz>`!%25h4+k&uA@v)4p-gEl9 zA<#^|NTCu#mOmrt2RM3pMxUV=?j|7$uAiFijSFyy4OgY43_2fPl!~qri)9355rkfh zX~x2X+}!=X@O``gIbsVT0W zd5(KnD3*aTg!e&N8ZxrEcL}&B^j59z&z8z4c#M&VfH*cj zMYBhOF?Y>a(cN;g>*)*qnqk4dw%90w*@liSh&3T30Ep%AKGJ8&*c;YS~cfjT&`zH|aAWA`{j>#~eD4Nk!Cn=c&0{iS5MV zN0gPYgkGw5$V`_p4-+|=|H74~XU@j~mo!LssY%1P+q)(7crx2CmDeY2&2%W$_>k}I ze=r=Azgn$4(TlhKH|x#JPdY<2{msB!AZ%7J+v3J_$bgnlCyrBKvlc?SmQ_zT@d*ix zhaS%{_1$BK?G@dvp7?Ze&`C4u>Pv=SPZXF-OMowGowVnrBI#{0N#JCS1fbpTum3zt z8{<*lFV!%9pnobn-I=^{549wyKZIuNLVMSiQe>ll&sNv(^kP)lF*S; z=ezIBrLA$zN%53r$Me+bN+Cy!Lc34G36XX)q>)cn`|Pu%cnyDdhoJQ82UEZAvo+fl z4M7#h;pYvpVwRpFPBE)85I|zNgrHl@UseE$1NFwKMN95mf?u~%+yCz50)s6aXCjVM zaG)y}LaKaau5p<+ArW$YCc0ofCe^sSua5wlH_cT*fJ>{RM#DFUr?;?6@=z6KhOF3w zQ2v_g?{+3c;nOkXnK*u}gkQ7Ajp83#@Vdn7Tc1n)7od9Aw* z@Zm)qScr8`s(YZ5w;6E?P#%Y9?j`B9Tq%e+Ulh3y4fGgwqG(w0sXV7Pk(6qyH_wX$ z%9j22$$JQ!l1mbv|0Km!)UH6UunzfmAE6hDg&(3zL3H;ZY16blhS*s6i1$$r5Mk|R ztHJ!AFMRNl7yuuf$zLnYU6zjjWqlJX>Y7$_622M9Ig6pqG!pv2++n#bPG|l7<3hg= zbnq~82q1Uz?mAsO8w(2KDPRIUZ1I=g;I{;r97Kfas({Vzt_ZrKPnJ;Sw0A`V zm8l7ylZ>;UDp{tDMl`otQf2X0(_cJ6%elQ<1|W}AcAbIsw&b#ewn^#GKvTol|Mxv# zL*Nfi&L41FanEiSZ%pmpb1X=hy=+TS`!r8Az z-TH^lO7XMDp^>r+4fF2O6u0VuNIteb6HV{<8HI)xSMHIcz{$U$q_R0$?|-*fKpoKT zgq1X)oB3wxYV+@l$Hi@O_FhtGW}6k~D*4Eif4%ji)Uw$_l0^29)nyQ-Eq*;Ofs`vj za5!8G5oS<`8SDjdLNSGiJACO&j=rnaqnl*i$~)h&x0Uk{+k5Way3S^Dxi_v-EAuJ( zB9|x!%t*KqDG`!7DlR>O%Av|G25P{WAA@rJGRkJc0{-_;FdD}sY}z#WT83&xTE z;H0a*Mw2>yYx&<)QZBckO5PP}Hl~}u-OK98c55;3I;V)P!n`Yd4M&O#GA1K}$Cw!Y zsfN5{Y&htQfBd2W_O#IMPuF&1CZ15x2`b-l3DEp}w{{UQ4%bZON`aP8s;);gv4GzZmH~ zqH?+sx(+Ar@?G`v7iMF4q=YSac(((iAJ9b1q2#ks74&`)q64yjEH$?y@=MY9-m__O z$`qc|Jf~*y!Fee_23yu?FZ7}k&Qtwn5}r^F zzT)R&QmNicQiwel#Fh670g4Wb6wU-j<*>Tr^wB6f7p7krSUsv4*jfC4Ti9S?)ZZEp zo4bTWR&*+JS^+=MLX=EWZB#^r=~VvGqBLzK{7d^#cl6tWOwmy0n0Wz0)dD==Z!l*B z-Q&;h2vO<}PsA$&4M z+K~ZUwg=I)5{0nzPZPWKA- zogmh)3^a5{{dL=sy9bzL%*f`EQ6-<6*1)XzX-=rREaAb`2$i=}`gj9q)Vtg@tb190 zExtz|Ob*^m;OlN0sgPC8a#bfLzVMg$q*bG>Iqk9c=Jf?B+NwMw$DaIQXUz`gr*wpc zmn80 zvr470r`}A3N(OpJbz{45I?J{$eK^#50G{TbA?npGe*-CLFU+Z*+`6GLbGq`b!XO8O z(B%QVPw+7sly4a{1+d>+_-(NJQy?WCx6Zoiy7)yquASb#NS9U%6_g+n1S5WN&*Wt>z$uc9|;399zM2>!G)4jek~Ps`z^&= zu4JKqB(^R>i4c}*MAl-6Ha*=)hbXnf}Ce>3mraXnT)VnDM-ryC!1^ zj}{&MW^fUp~b~b?vicnsftW&Ure@Zued-i#&vK3>h*2r{x=2)~V!YHGf{1 zaN@=sHx{F^A#tCP|DagwQnASW^NScGi+sA*939oAB1A$74y~ibu!t3iY{>p!H0G{% zoaxRRL zMGxF)XH0NAZ@&DIRcSE%A9SSrEBCm0J2a{-TP^qAbBn$fs6;WvnU!)XgN%LCckc4X z>Khv0+}ZB+V)OuY8w`KiQw>1cln}0AZK+yMOdqQhyQ4 z8|pl37rz3*3O1FaT;=^_E4PPutHzunqsJCrEHI6=W@3a(oaHcE?j0v@tzhEavHn8R z@;+4#H);@E2!4&r{~?9$9r_Vc<%dr~_dI;T`+p@9kzT!jN%do*dZ}ZL<;S7i+TVdu z@8XKR9{&>cJj+nRx-Y$5T*T4&UdiDk)+G!m#>^MBi{EQnFmkF4`@-0WfyI@hMaK%+m>)24}*PVd) z0}~;>M3Al(=7FMz7%7gYVSeSUKBFCJHOWG5V zI_5TSW9k$bTpH5JYsk}t!2V7)iAhewHe0R3Z^?CFiM^Q{9h|wbMfZNkI1@TEK0f}+ z1*t0WZGn>#k6jQ9nyzb|^1Dg`K?exP1i2mPtlV$LD?iWn3fKPoQv5n+r_JMEbBrJy~~1IG9fqG_>e!SJ7yIyU2D0|SR`Mk9J#(2QCSh*g>r;_$6Qc$mwAv; z#lnQO_XAcfyE-<<7y0AeET2D3-Mo_qdI~1`u}LfJ3GCtgsn^|r!SgyE!~@iNeau+7 z%K#OU5AFbvGJYj2FQ-uSPXk{k8xO}#C!J)^r%XDv!8pQ?YZxp|>f^7#!t2kg*TTzv z#S8xNKG3MjW(}~zt{!}|sJ^K)?&M}nv@S7%t!Lr2T{XrxVxG2M zRA>-jAi1I?>?-@7q%g=rxX@sL^f){!Td`un+!_*??A;XpKZceg^%MhJ~Ui?jujj(*RGajs>Jqgdy zF!uf+qPdAaUz*E;WP{-I-~$vn)z;o?t}ZR!5EPa({hqg zr9N+Ws!ew4j~JZt>e~`V>ScK`>T*riiq?c|>fHv72-heK4iiT}C$gvO1qa%rE->bC z{~Z>(Ip`&JIolozuFqgJEcwG8Gd_X0;gjkn7(y_{IPU;(JgttBxgg-1n>%^raUL0; zEGMrOb4ob3kU7^omvR@DH$P?bil{w2R1;gsn0wJpGs!$t76;{AeQNV`Hmjy43gvZ$ z9oYXmHo(m%VwmwBD}6BmDeH5Y?!r}_?k0_Y`Ui%SDu!knD=F3|KeQKnsQZwscQ8X8 z6yLsVIIukcjl|MFL_PtBwd0#zT2+p4$(}XE#I#B*5&dxpjCCeaX}{1Ia3KZr;N&N8 z2(8F1nTOrB90PwOhs#gZS-|!d;#}n#_ALr4Hyqwi`g5v$UK0UN{SK6+yT2Zh&Khu2 z;k|UAe^spE>hz|&E#mDNmx9PEG-K5^u(?9&)CFL^PQhD2+{yrSZF8xW^E!6P@&*Tj zPu&KO-QXUC@Khte#f#CI6i?&WE6d>Cyg?F1;x?OpVUUpV+OxFLK%o^}-r|n`-QGiQ zpf-$EKvT)vNF&VK)RKUqDZCn(g|MLPl)Rp%z&6vLs_FbK9TS6OT zRZ{v31X#Jw5Zo&K$DlO%8tKhM=6Z~9h7g*GWg>dz zX2RN6j{Gat)Y29S0y(-Lk#5@JK0neM2J)VA*}O}LH6^`v(isRN$AVl;pfw*fl!iu6 zV9+oRBth7iBaRz*N1vx+BV|Ck^C3=M7Bcvc29J|UX1LSG3?aJ8M-9p*NhwpBE>$=A z!)NTF5s$t?oZsf!_Q$_@n|iiYbARWK;U%vaFK+R0R91`TYbd5dhxf=hO<0u{Uw)ya zcQ{nj5#PY=y7C}fM8w~qiq0g3UD9LLm{bPG{YkBt1rJ9+-O7IwlgHJRM%W%0ddnFO zTW*$(yg;08aE@NHwZfyDp<@s+X@$gpf+L9hzVklE*j# z_&8KXtW^$pDRo7I?OownXi#|gs8IK?3Q<+bWy6F=eLQ;_O&sn7x(C%Gd2z$#)Prg6 z&tj=+sI=3+u;0fo4fTvbE~F9O<;KW9LrwyB zOX_?v)QhrU?TJ6+Hq^nqO~4Ei~)x5C|4`;R|sS z;M*%})p-fe;vpudkMp$)Q#!xmYt5^Pf{_>Kj_x!31;i=Tlfkd~PvaCw2~9w?L2kQQ z?42TY9+y_0^yr(%qU>M!EzjrYH0}RINOi86Prqz)bw4%G*s+%qc4mHp#_t_BG$GBA_Z@CY$S z`88EAVeH83Q@UYAyPJ>v^e!)e{ zmv3exNjf>>X%y^dquV`0nBhM>5mbz=J{mbZ=!A|@=duAC6){QS4#+YN>p2|%4B>jq z-&Y3WLM7P<(T{F`9B=*VsPMzwh+n^IX6_c`oB{H#&?3Y23q7j2L-vr)(*BpeJs@L# ze>X1%ed5)ayqy4@<=r*Q2#Wxr&=+NoL3+!ECFQoRPmK{c@O2>-VpT3GpdZD)-NBB6zMCkhkH-hzDB9xZRf}yVhFw;w zl#raQ|~m<7yyEw8-;qK|z5=%f5Qf zX?7607x)JIZvK$Ybnd5f03H@zA!{;_k3Ioj9$wAFL>@au(jn@V`X?ah6PA#58cYkf z>kGQX0Pbrcc)~|k$|#pQBwoYM@vlaLG?Q{FF)OS0uYRt;DIySiu2gaS-{S#nafulg z>!6Y6TtZybpLyPqRq=%C+)iS1+7HhP(_ch<(u(ids1s$)6LJy4q zx0?h{(Ggciwr6j)aPynze`Wlpw#6}Q!7;A!veM}F8*|1*OBP0ee@ltjh4( z{|z!#-k=Bjc-rD74FLTq>-n;XC&k73MfTN=ux3WzX66Mv($!c^6lVN+&1UnJ5gSl1 zjM1>D3)B*RguNeJ*EgBE9QU22qhMaO zj?)px!mMqDcSQr9J>O9wYd(JN$1x{am7RT5LAsSFj&mj8d>v4*K5rDzx%B48MWgnO z`ej+6kE!E*jrIbR?(^1O78UTm=NSd*2DwGNL;goZ(g$eP>)%wl4v&#!QoFK?L^nO2 zHQG?9v03gyRo&3Za`*_z9?67EvJ7Uc=M26d1}8rIbN|}X;dH=Et8V+zPnYImYACg$ zMX_dB%T5#qSdndHAtIRHM?v1ob;iZ#RzNu#u(R&!Sity0M@Wl6kk!s%2-=97vJ9%` zp#R&Zn(6roZ5Sv?Jfj^6Vp!1!D$o6_*Itmo2K-)GkvXK^>#fcp79>C4;&yj4K>tsvGj4ZY@-<8s<7j6`4 zh(d(~O?$cAewe2S5$l>GM#_PG2^Aq8P8n_=acZ5&i4m2ST*oxGI@g?ZQ?oiBEZ(BK zFWBDy5H{JVf_hTh;`dt@jYi*G&7;ZEVm;=urJC7rBRIPQ_?d)-9FTW3Rx&o?11-2f z31EbGy&W3cb54OH^p1WcB7_(Z-t{1mc=m6k!Vk$~ecU`X#|rvi0|#MJj=;lDh~AZE zlThzWGSGAwn}eTbdWVg_Z0tspMrI3^lFN;oxHjhP!XG`{2XM1a>FU`Jb+CVuxZKLw z!0b57g*M`?JkcLZ7(A}GjgfwpYuNg>SLZmE)AL-ojz^bGrPDrwv&l)BF)&0x{7IP9 z-J9ezos_Hw0qDtF`8$hHnO)ei|7!~@REusadp}P5Pu~rDHf-L&E0zgUOBqrjiQxj8 zP0$w{(&Oq9_wW+dn-V0&a|#6-Vfq+}Jc%PywXRU^o3-we67aDuMtA?eaZ}89+~@X2 zhhz4Z6uCrA83@fMW#JN989HXBG=IorPxIfpeaz!>=O9M-(rravZM3a})d?LXVS?V;i z=c}{)l!MC^G_%&_%6w1iKM+e;{V<_8VBN!w1D@PMje1O&ib^gTcFv?~RNbCKl`nS}E3zFty$4<&&Vw`C|JMK3W7T1wX@bV3Be^fV$ z`=H+}KBrUs1Ifl1y=CX+ zb9UZ)`?_ffskgStZRf1XU$SjsFkJL}aQV@xLg(QSpt;*sC(tDeC5tHN=#7O&1#71A z#1L}tEc|?W*BXAq5vT_&DYAc4-b!v8C4L9cL1dlDYqtlUxPtGV3XV{qQk>!SL(EJ( z!@Tr=Z9rMv*KCj@QOcWyBIKD|T<5Q#6fQXEyt!2|EvpaG4_f}e85bo}V0+$F8vQK3 z;_s(lK>SVE;(~G=xhq#cPVdFfA{7Ve-)Hh$qcA4@FR1C~v{8wvZ+V~K%CdnNbOo1k zo#LJ?OLVlDk-L|{o-n}%ej@Z@0 zHOWXg^2Y`9h&_*RCJ%kAF)H`cI8WP>F5#AsmY&paKaH78H&^^3t@_ZyW?ee8>|jJC z@dvV>0CRUu^L^^y&g1X!+IVOnI$ze|!*Lk*8wCA_!yrjxiE1wx-lu+Yt7OsR;}R1L ztWziry72#-6WFL|YjrsPp(7p=m95!uAVS2FqUI9)Whj$6J8b;tFI0gZ)qMh?KosU@ zh`j4#HD7_YX|&IDi)w?NiTjjtWCxR94f$9{8*-cBD9=$82~|5_HFvUWOYBQqW8WM6 zZ?G$qy!h^e==a5wudPVLzTILpE$@_rr4A@3s9tJUh)pv!Q+1hy{J&8jM-$B2I`ryP z6@446YjdI$nrVC7PGqe23OnCwOj!xOesQyMgCzgM(X#;s4|5 zEc~k2x(19O-Hn8TDBU3q($XN^-Q6HDbcb|{fOHE;a}FTgozk7s4c~Czd%u5xA9H5* z+Iz3{tY?jfgx=Ti3XpW6|C&K^Ob3GT9+>RK5DosV0SbS}I8(3JUSl86Q zz;ab!U=mY2351DbQ6( zW#yo7coU4=`KDUd^mRNnvD8LkFo%8^r<#|h_ERdLO%f=sFA-yyTnRHq&>-s9{#zji14 zx+<(&*e`$Fl*$*dEG*KY_ZqpowoIVTIu|NUOkiw_MAv`;wk=g@`z$=hQPP-hs8%w8jrI#8KHygrOWtqmQT3uEz&#*2 zqS|N!NAu8k)JDmH8PBB!>9%RV`E&Uj7zv-9C}gy8W0*um9zX8rp^0kh!40!ru6DDP zdcm%nQ{3EcBcsuD{}&PD;RqI-ku(r);;OP})A=_du--gptj8vkf7vhCw7+=``ODm? zzj+uxom$y$nN1tr32O`Lk}=fS1465|Jp_o9MQ$^XQ&kS#jZu2d~(!LAwyba)? z5gt>D{mz}kpSP`=D(?yRAYD?tmiDo|2L?g3Tng1w5XdhKPH2cA08-Aj)?aD*1hrv6 z7K$%+V9ftAbmZ^=iPy1xhy}f^or&!4Xdm2mi{DrIk2b}|`$raHN+KtZw&8sIcFKy9 zA+~Q2FCQoa2C@}davCZX4xO0fiDnLFP`_niPg%6R^9Gh>q&##g64b?h;Tec!_%i zzk1LMRdruKm`qmCqJZ_G9koDDz>@h+7Cn|BJlfH4;D(J*uo6=LH(ODMn+xQQwDD!W8_ekc z`+$Lp>SWUuf`|Ey0R;E*1=Q-d-4)F0!xLO8&LBiXCUiBVN&8|r>N?{dT4x8--~uPT8DuNihzy&&a z&hNcwL4%{LB~;RbxkcMvP`$hs@193$8aqC0GSZs~|0G)!ZSrM1dJR>jMm+WheGn^?K)d|Q# zBEHWfrda2wC{dE=d?lj|OS<)@@_s3^laI-828$Ye(K!=fRG2fblk^@H{^8W=S4{1P zEUw>Mq#JS)cW>}{Z!03EopBhfVG}NtaL+J?O~9)7E1Y7uNj=oY7s$ryL9<|gbw4IQ z!7J{Ys*rXRgb-rGLNUclv#iAkj%}cZu}WJlc1H){b(R=GI&JMvJv|Gzq+o`nk#V12 zl1RagCt)Z*8%stjl&9+LK1RYUE_XTQMseAKw9jY#Yw3<|gtS z6IGK}wDu~a_TRSUy~%1zCepmB&&!mBhw2#-m@eVb`(4jW- z<#xsxz67f3bpJDfH_I$AWH{WKyR{nYLH|DNfK`Am`^o%@+2^I-K`rAixbF`bZ>3H0 z*;q`XWUaw;^g&E*NRAG4a0RAYgSapdp)LjW7M?X*Ig1^bskIFzZ zt-%ojXeFC@>_KX==GX|wd$)u+Y9pu)MgtT#E7(z4uS^}aY(d6a9chJLso?| zpO|lr)T}db?zPUr1MNhAJx>@y*6G*f#H4G*Jn1+fiKes25HO#ouJ4FwxEQ~*x{CHx+s*G?5^O)IqGM1b);WZ=&*_fQ~Xfo%9OwiOYd|OR&Hlz zZG#rLXixb^^nSf&lZ>tn;Xa&oGUMU!fh$~qv0-|yO3Tb4pXbwo7J4~5OvQD*cWxv_ zT*J%UYVPv`bXh(JtuM7463L$dZ&k4(K~^FpnHO3JuQz{}$gVW)x9S#Uk9(`!;bE2C zheNyFUMjA;#EjDH)(5g3*6gm83Odknv5rt7tIfAqU=bZTWd}&Vo0x)WUA*FAV?nzC zawcZ&!=ooc1fIq{Qn`s)9encV-f{8#e(q_1UbCtytlQyK$&nW3nkskd{L4XYK1I7q z#5*+O_R_CpGCdJ%5Uo?y0h2JiC9xd+*9Gv0X_j>?&C)8q#ot(oj=6vayJc1tMQSGE zg|>K>qSz^Qi$w(+sIBVNYv$F4MWC)kE7Zpi^+25cmfoU>P1-r`{>CX~Wi^9nanZGU z-F{wq2s(x+-x`o_T+HT>9`~-(?CTGL^O#yPMTz^_VIS$LR>K=&)(Pwfg0j*?62Y2^ zh=A^4F-b7@WTdk~@na)seV>xGVHaW1l}sG^J}X?#hMx|Ux5dVP)cOeirW}0HlH%hk zbBi6+fBgTu&Ez|z^%vCv@Z?e+@qwAvx6yXYh(g-0<(HW0-~!FU`X-_RLOfjQ{`e~0 z{+?qO72W<4@MS)DGl(FNQrVf4JH44!Nzo|~7jB^cRR}JZ%Ow?Y80X_(ya$3!J%vBJ zS^x~g7?!G1dYp|0aQ`l@;#+QdBL(%tpDu{$l3Y9Vo#4Az3fa^qR*TF!3Z{JzkzKeM z_RYDsDP&aFW~}G9dTx52LkyMMNa{Dp8x37KfSI z?HT#UuQ|r}Q!Xa|!Mhe;qrFlJ!4STu?uz-$caTECeAWqqRv^H?_=Eqew5zQjaz!0-sBi`$p7UE zELE-uTzdGUsj0|(lt#&&n14rDur=Z$I1go5*RV42PHQ{r;8Xkcg_#|%H}BUm)qG3= z(4zR=G_3UE4gEb^uZ_dn!{APTh{=i5@g}jcSha{nLFC}he(T7Y_^cqGn^I1=AV^HG z)sEINs>nJo8C+(?>r?JpB2KImatwRM`@Sb3n6Ff1C1OCJ3~=-lUPf~oB;xOQ)f+-6 z83h~_?KjVgVSCwNE*Hcs@V^`9N7&*6;=IgB7G{zEMWd`)$Hb78SUa%)T`HCx)!Y%fhwo(wy@*gU2@^jxf6u}8ku}>1M4p> z5Ax)%64QNBA&Nf@(W5`&p_`Bxm&bl?pC|u2q+!F8wa$I&nQr}&=IUqsouYIob_yZ} z`h)y;W_d424F(BvHE&>B@d?_62@4-IQ6hJZ(w*iwlL$$mmg&bYl#O4UyJ)1&M#9T7 z4(tJsdNK$F-r1-KRItZzz`yMpbzx3o#+>#z`u>9&kos*sNKtXNm!b&5i|k=C25FzE3d|gk-Z|Jl6m~xt2b}-J_-vamdT3(eGE5gfg_sQSv9ggfeC3h4!wo% z9}rv=yEi$bPryvu90~67d6;7-+}(mQRL$RP}a)oYOw8fxW7!-O)M%yG3*{lqaL< zP%1_7?aw;k<5Entb(JLI#9Hvhx4kK}n+!P@-W1>cB?#-5=d^rq@Gs1&QTs3TRwx!c zsB40A@hvjz5+QA~S()Z8E5;ufUe{@6poD-qv9H))W*zT!r9gDeD$Y$L7sw4Bx`u+D zunNjQASWPjSUbT4YOkJ6V_jf*>t;LqNgcRQUujy}0nKCM&kmtc8W@nE5RK?Zjxvgb z-(q2}V)!{EGlytK`VuwRkz1zDa*#D@wu)l^_Vdw9*uhA$s9|n&ZozGO2^{uELsTiG zTJBmlJQl|lql2s&Ky)u^X7}i}{i~Gf!mvjhZB^}rRqKVnvq`NsbS8LO0H*UL9J>Q- zjpC6pdEX+!wGl!{T8L=R_fU$JUn#v7hxg2W_}iT9$}j72OeYi!?O=Tn-tnf;W)8w{ zL`yqs$QevlB6;K(t?$Z1KvI>W+|a7Y>czOb0FcXxv^3Hb?0w%W^Jt07Uloo2CTs4xFDWBmt;Q9%GSu zE_=m=c1taB&HFP=}zhJ{2Fg zUkMWS8g>Aw*3Jb--`dJ>jPi-B*j8e;&U?B;qrbn?B`L;O`jL7bni>>*zTOLYSD2p| zHzEYqe4P-|n8*GGP^_m1wEk*xu4@zht{OrzCTqlsOOEnlOT%L0dYd8w_%M8ir&PsI zNc6$A10qGu(tFJJAgpnbgbu~aR+~yPR$%z^$FzWnd*!6-k^MzQGx!y8_;}V0?^&> zsY8e{+!q#>E*2!+l&= zPva?V97LzjWw4HKz?D1T?i~%_<$GaJpMidwulzLu19jcvV1?S*MBe+oD_sft5-I#2 zB(E)Q6AYqX)uWX!mn> zVQh8@GtMIc5r{^0{V(R7@V~eH(3XrCJ{;8B?#K3;7MkGjHd{#}+jgkZKpK11K;7OK zPp;_!5U8B_5J6kCy~6+P1jz!?{S+iPX>^!PVa2yGN33w%##6+ES(yG28<32lI$V8r8D>B3X1Cq_Id0o4 zDSf;jdE!qDIzyv><2Gyf1{48-3bfj@VZM<7ozL9;6JQbYS-t^=`_X3*@>!5n>^or-t)ms-K9nit&Qa(*RJz@yZC!=?|xGe}=J%=@V{hNLe z!8@h|Jy@9&8P2Ce522-x<;%C_hypvpIpUOy`6rwq`zVC?Wq0ROLJt!{@U?coj2d(* zICBtgaqu^jr~HuR1G2-NHIZ@HVFU8@Z~W2kSyd+A~4!f<$Vxh%4I-P@qP(G5KHsCPT;h~tckwP5r*56kEnsZiiJ2Q z%Ozmys{!8xttuOGUYbNoYIPO+v|VRL9aXumGTI@mUE|lNw83ff#h?TOP1uyvsJ0}? zA59#)31*I6u5RhP3!{Pbxa1v1bA*_|s7yGShI)EjqoL0gWdKGEwT)odmYSiRM3pcL z7}%#w(8r;!sCM|XY?>+UbmoJoiVjtuleb{II92)^-y1b zgJ(e*NR(o)E+{@@QHW-!!T&(1pu^+&HCSRkGe4kHMH?XzeRwYga=)pF({R;K4^*Q4 z_52HZaKOU<(;e`1{Ji*HbR0Uuja>OWnFE*RTrI2U3f!wfUQ1`+o?q|lyV;(QJeBQb z{)J*t9e+I8UrarZZs!mPB3O4&I81PH3v@niXD;0**nb<;xFimw@P0NDUQ_};sn344 zi?i$}{)TCA&zt^^meNxWOAaW^{lf1dvLa$4tf?+D`gs@@e23Hz z+6@s6it~`_cRVA~9WwY(`iJ@E4tA4yf`0kFa?cq$Ys&K%6+w%huWbd(H1fhwsqln0 zbzyhMDk_oeo+64zJKcS}2{+RI2D#9(t7S45?%I-5qA1h7+$AO#cZGV17btB6rIs z(pP)^HL@Vi7!t1OgP^1|uGEG4YOG(xEwe)Ymc;jynBG=Es?I%YANhcyg%C{lU|6=+g!|w&Hd+T7VY&5ns-g8+ zJ;oo@u@&5^#zTWNbe9Gkh}PQuC$1r#%_iIqKxk7p)=xIPvvP)bxUFR{5jF4le4_Qd zDAj)ezgq#QDwIOw{WCiEtj>Bi=ps%y#R^;^={eG%CEL(oel;sT{VIyl2)b<^DnZyg z^56pz1f=9vb-uCgam(7ffTrqA%@gRZ~J=XkpWfH?l+Df825 zKwIx)Ch%D<Q0vU5!oYbo-SnaFhE+ULu z9Ob#sQ+=_wMk_z$`L~ITF1bO$etIzu8NdKNifKZBGf2Y?5LfMOxpkA#{-z%k`2DJHWgP6J+XW-cA27%qf0=0(Iq*qGId;wlk=hYK|A&tI zDRun^%%{JY>N<{H&o3f$_t_#PQYP;M3Onz?4Tr04;cofq5tMOVfh;KY7F>GUBXCjq zOpNQknt8S)fdTN1&w=q9)HBd7_;itj=|huLx${xk9F@LtiPm2%mzrGnGk=@4zkIxdJl%mU7p6}SSI_qv3Gtil#1rjNX1q7Z ze>sVD@+L31HvPtjq2XRYaSDxT!2K>dgUl>T5|(cA&ZNr+s)=Ha=2!LbH~c-+aM9#P z-d!*%u0$b9IxcQ)v;aNplvVCN+0>mJj57(WPH7=JD%8NE*9AYzz+g0N8JkIhUwJx< z7LHv4Au+!qV8bqxm;TgN5+03YvMhDl?ezz4X-2-3rnvSDTpd?n(cV*y&AX{0sGYsG zFWb=@adb=1Zk&1RE7tyBtMxz@mhZd22d+_3I;kF#T#$#;aw30d<_$v|Jx4QUbSmn; zKkp6HnGPLfprq@gyFVIu!W0WrYADQdn+J7@uZozfjQ-lgp@i7$gAF7;_v>#kgWH3B zLE?#2y1}0y5_Kx6N)e+FluS><$6m0VG4NM2EP6C9tS4IbX$fjH2F^A&FMtb^rQVJsj3hKQmBSBxv}jCPp+I6gW_#@oF0QiTjLzkj5Y@7hev*~)DXW< zZR;*oA5?;cS(3|h{bH-&yWSVB-|=lT^}@d2da@2CvVHe>7E=zb6@MYCb~wRy_X29E zgAKGWn6D0!5~>l*r0$|9-RI}KJQKvq&vxtmv$iVbA7O7yUv8DdCyrBYFd&Gw-LdGd z0eA&6)j@>DQrYA5zXi@u+u+%lPjguB z#nq6zW(bMFqvpsLf&;Bq(0bVl?BqsvGa`W@rhI478R9!RMrgkz8&>d0@*e+Z3rm4M zr>Im7U0^}QxX$Pvj?5I#d9^j~J$J+M!GRj5!#CzBdU zu1Ex;BLJ!$pf3_8|yC6NUBWC_eJrs#M5tVu*Q8%7nDfkEm0p7{R2bhNcoc|5-( z{BU2mxNPjW2=3j_9=$8w15N3y7E0cgsz;4@93zU82oFopAVWrvu*#gn|XtdIq}k79HLU_Q$YGM^H9Iq8~vd_CfMZ#-8y>)-SlJdm^ZKc z{)vca)0@L!YFE?Z;fTQBuDW{glGurR2=1zHM1ftrx#}yD8u;){z5%KP+4kSY{hp1; zE%X~04)MJ4eX;Pbzx8nN?*9GMB!OnESR0QNw~ASxva#D4Lc5#sr6X$=l5>NY5S!T| z_f4u?#Y8Iy<-D9E;FBhyEYr^U`OaD3Eeo7MSGA{AN5;Bh_agEu;w5G#8Azl+MUg?a zj{)%Y-ctp}hnM-6Yn;yt(;sVT+RZ#h*|EIi@k;iXe2z@#Y;Cl@HtGMGK1+JFN+{RW z>5PMKl&_&8koZ&SEWJ7aIYQo|V8Qw_v&cdFJ%g6AK#x6^lZ}a%u+`TaEdvf~e;y#t zDh(+!G;O>{8pgnhHIJvzF-yrNgOY@|M1S_h z;+bHghc2p@V%>LcW#QYjeh60YsA#LMkSJL}3cE-Dz zapviY$`fBhF-Q}aZA#~K_)zPn0V0hNg2Zdsa&KkvC3G7S*3?FK=;CS;evb^X_tK~4 zYX0b-(~@70y(mH{Ax1&jgjp;yG~U$vq16%V;K(14*?j!X-uI zC`B*4TNK^p*pYp35!jb8Sf_q_%Z7ZxM!9#z(evSf(dK-`Jw~@X0d+>6{qa8X4)d=w z+0$YV8ep^F{qjqfs65{>BaHT43e~q`N0v{<5vCgw7@@;EsPXQ^#J^a!>~5>i0&QTW zAr?|CzOtpE$$QL^!e1r?iVv2rBX|KJz8r3h~|^@$BR>$t}*-Lq7P?*2Kd|gzgvsz zge6tx!WJy&sJ6FRXHcWOsR|q0Dyf`c^*U#Vfj!if0FuTd`8&v{Des^z5U0j>%KSsp6rai!v#$O z!=GHvJ6HhXOjGypRU!q(VIN$V5OCIeO*X;YZw*7gsO#r@ zh@z4b{fda2g21BWTCA0}d1~dhpyRKrbYxQI+BvVnrJGX#_HCkQWV80Q_H%P1*wBrT zvef{qygRsLU!X60lL;TlSzYr|q({&qeXr5p6Y}nyWZ!1Bq%Qr#A1M>lP8UdkI~{)hO)sxiOLn$V_fjWGzO$b}I)T zmD<$1gLwF(#7-`Uw}ul<9hr<)(YqKzSzm@kd58~&zr;ctRRuFw>n1`C0xR+5RKC(1 z13V|w7&+`Njkk6p`hm^-YAhT0I0||E;c~aSW1a5AVG&x5i1`G0z8G_m- zZ+ZONr{18n>e!b&jW`V*P1+?W`|{&E)W5bGhCG_f@OUlU5tvsSA=z9Ej zEx?@jo5RmpqLOeYy&Z2B^HtRZxW9?xZ)$KX+QDH2juL9rpGl_*D!!*hRgy(qz;`eT z+1#UCS+yWP^+*mgBNEkp!9N&~vDm_L&MB}9LGf9iQ6*d+Q*n#OXzn~OT~I}fx^Ww* zBo7Y4(oZ@>8*HENXeCt^Jik2L5L=g1#sNYo7}e?(*K_`b2)+>Je_gSGrGFUjMUhvE zJkWKTH`k3SwUVBz#(h==@4~B?aPQK&x7iQ#gC@&%P+a7SJmnc72IRmS!{(VYv-IDl2WD659TJqq?^icV* zsMX&_liW57g~(GIt#^MuhagGF0aF>YNGZ4qH(Q&%dz)#Cb*)Y?dTONU3I!K^bRskj08GIJ6P@E9(h;Ic-l`*0shrj>Jk5LrA#p` zWM+L5)YQrZ$~fw8jnC5gMXXy+j2znfQRo|+ z^rHNOSkmhNlF9bIv4L*-jCC76|q+7K-6WYO^eeQ3bL~j}tfSby5#__(DwQY30Ev&{B4sYLRB5Wz+^uEA!go#@aN@n~zW$QD*{-DnHhw5C=op{X?zy^?jq|BLRUnbZ|HF&aF~(%B%$*0Q=#A}wSV6YiB{HdxH|oZ z3az$A5{D5_Yv@+F;o5uA)=TAv+`3Ny6G~^Ks!(0U@Nl?X0DR-yQu6{g)fXe*(J~8J zw&@O5DYAr_g}1_OfGI3B9Qj7Q;!FQDLI)GLgwDSu;Dd;Zi0ckOp@(8nLoAzxw@Nj( z;c1@{ULc(C@?gI(_cOlZvVE^$y=d(z_yxftInu#&B5nqjF}*xlTz~fFytJ8`UHeu0 zr|*3^6PieH#_3yr=97!+tWqx7MMOW~Sf$Ja|2>bP10|_^Dgu(lgX!KJ^G}4b1ysn< zOhnwrJ#P(z+ZDY#g^HEtv4)=JRaE;v($GDqU4Qaquh36f%&6x&*F1XtgE!k<+RD=r zB!d{cX2mCPxnthpt9QSpwa`UPD;9@L$yVDgM(J&KKjxl~;PeU( zMVudTv1W_P+$=1N?c-nBQOW%NcZaaGab17AxuoHhBxuYJgOivu+)>YSQ!~yc=Wxug z#8V#-&03jVvbbIyh!-d)XyIk?b4qt;)tGbdL~AG|O(#$-m5T-nUp$gW6;SchkYZ2w z-C-E|9$XK`pb4q93xOU!4~%^%Th6A$n-hzkl&{^ectGnS2~?y)c#cknU{7HkAtSnA zjL?njVNVGKp_{Z%U$ieoe3Gb(q?v#J`xkmiu0RNtRS^ zIs!dKg@96-EOth^Mk=&m#9FmE*QlQ5o4hT|z?gj}#Z+aG6tbLZMuc9wqOIL!saxWl zBk%{Es6SXI;?<&a9b^ZALDfsqTtlj%@Srm3L#%b(CQM7-&s738a|`au_>5eW3Ub3y z4%ec#!h-aQ*S5|UnOY?`YSGI&iRwK{;hOtRp4VD}RUK7St1)TiXZwb~p%jpPahO6vTac0*7-ecPqmVshbxadS+>%WN(-txs?~Kbuk~AU|aJoHc4QyJBm$;-% zGbD8AQqt*)3DTV1cbC!u=zM4s4+~Bjhu$!xlm>BSN=4Y_o=d?q=j|E-@>!k~eB$To zz_HZ`SQ~PBBdwAv0-%Wmsjk8v$d}zmCN&VFIUs;#FN3AoNq4SK3xKgT*(U+_(Jm)=aNLqoT8EX- zpS&_fGM`7wm_a`H!$`a91G z^Kyb5E~_NPRu!KT-1M3nuw&Z$eTwX1bQP)H%L|MtSBrLC*eVIH*3K-&%B4{!M30%` zD!)ir1DOeL$qN+JV*s8+PR!RPTVjMZ4Oc7wvLr_e-8ub`N07zP3iw4zy7Ky#iSxq1 zX7qqp#9r9h*5l#0-e-MQ^vY-EsYN*zSO)Z}Hn-K^xUc&dZt@;dEnKMy!lY_hBc(qbkS(jF0ZPKQ#xiXGm@bf0K5Cf-2uAY}w zUMrBOD{7Sp4E{wCZV+!w1QeyV`Tnk;!0pR>p3@i_uv_6-)i1}qN=-1pZUiMoD@`ke z+9P+ns=#CKdeb$Lz|Id*125Nh=8Cq9p-cB$aGp;^9kncwY>#62YfeO26(#yjrz=-L zTzwx#nK#%y2>mY2WPPleQ|;nh=;(Y2-V2wo@~2K9O~W#oU9UvW0K7pbwt ztJuEyTsNKO{v5C0mVZS_QO4M-j6fAD*mPGKW~3UI(&RArOlx(l$>zz<%?o;j-Y?qE ztTWU{F9Ya~RZg!Q8HeQASR`ap6U;zJNB!=&&T@KHThRIO&11JxmL~?}W_{r4Qgr$5 z5_Chf@+ z)H^Y$`OeGYrsE;f)k1U;K@{KeW{dj8o8=(&DcrD+aY6e+{0R z!0%{w-no8m;@Im9Gt+t1{(e~j@;9myaS$~)MZfjDqu%?WfNS;)U4d`6cA4j7(3uI% zWPxGwq2)HbzU?6nf;W1V2RO|@$E#YK&P!}pIWU&o>m3q-`__b*mQ}rZ1z?qrQ0GJl zG?Xt3-25(|VS2bod&)wozrWwx=D$w85;$gxZQ751y4PJs$qm}m=B@Le7oxQo`IDQf5(>rpfhFp$3*&{bd{ec%1_>7B9JlZZ1Phm>ZrVeH?}pCIakarnyDX>+n4uepJ&>dMaR@WWkxE7x&b zBkH%qpMvzA)_qeZX{&d|| z-)86_cziXku#eLI=V5MhCJNQC&h^A}hP37Q=+C0L?-`nxr;PVq0R58dWwL!HFejd( z2iM7M4sg_+j&aT3J=Qml)hwM)4OA|<)dXICS?#M&b!|8h55~usr_LT3!kA~5Wo|Or zm*QFmTDU-zu%eDmOr@d={vI!9aaJ{HzaX#Qw3G>n=kpirvCQ{0Yt{AY_}ywUY}XMF z-5N};v?A?~<6#CPHI9dyx@$O+i@FquEBMInz~i#1aK{ic0Y2lIs2Tf~+V6#zE2c|4 z?+aq%W^1eRlYd`VN_8Na%zRTEf@V^E8HAej$cn`JI5di_wl@r|-aTCft1mi0{={-y zRC3)P*&f!vxjq$N@95L*>KB0o{9>O*zx;DZonnhl)Qlu=cXKlZM$D9_zb_<()*mGg zf$GNQt4JYE^G)lN9RdBOl_Z6Ri*k$wNz@E=t;`X@&YPV(1`mkgm%qNvoL5`mW@oJ# z?s2DK-|-Xc42Od!nV4yFPc>O4MIv%gfzAU@;#ERTRl^U22bA8mm-q{MZS$zCNy+ua zE|He}La|PA0_o{pwPa!|#C@y=l0SeQpaJ)hSiMD?P9#RyDDn`~k93J&K>%Jfzy7R~ zx*Y=io6$JodJaRV;9)9&9|H?iH@P6T54c1o;MmQK^oCGjRq46s)DYzg06bnO4)KvA|I^z zVpkg$j}YC+))vKSi2+Vo&4G9JVFVgIbr0ZqC%>aHlJ6qyEIqRS*iz+F-7;S~#e>4H z@%I)GXO7yy1aif-;aX8M#oRr7az^#Uh57OQx>e*nJrw%@U~5*bYZiI{S9mc;E)VzA zO>T>WIlDOzZR(=9yT7v&ddQl2+@7|5c=WRUGE0UjLrIZ!o4T(5*mivXM{^ldp_kFV z<@osNb||ommnn1JcBPY0;2_y>^XcmGsckCys?g1UXtu8<@n}u z88~PWaL@Py++7ELkgNav=YjyS?Mmh@^K>SA*;e^V=*WFz2y@AL_}jAQWh~~r{neGw zaY|>fPPOYU^D-#=67U)juyYN(A;cfveiFQGfP8rZAh&_bS+3Xg_1u3I6dI>8Tc11X z%T@Dv~B?rI%9FIk#ZiAsC60@-_(h@Uhl9f zqV_kP?ZAHO(MpyZu;08@b4jYW=}0<1bJ5+-y*ypp(RQ|1(!z2Ghp3R&c)*~q^fM4B zw6zJcJVD3iyWB1wPmNgB+mMQy9Gp3g_(Yv*??9$!tL2Ry&;RQ0<<<{}p%C}g_u5au zMotd`H^eRc+uewMbC==W{gRIz#zOwopA7JS*A4w=43XnTG?(qSuIuJ+7M4YCg;V#; z7g&OAwSK;oN!+67eh`j2T&H!+`W$d)VnvtOh!xS{D0N$0AghT^CWEcIm(DM~ew41z zAIIy`v>MM;-bri3E0>FMkpBH8o*O`FfMmv%=GC~TeGTpFRHAH*T)%ZYSz-6nM3c_k z#2jvFnWZS0T8rz7ex1MSRIY&mwU(c}ZAV2vufs|ulsVc=9N|P%_T3&F(KcXXQHRMS zsQpCV5U|>v?wQcV+VJAZ7$GKS_JQ+-AK=gi2lA>%uHZU~T)r4$B-Hm=0u(A++S{51 z&cR7ePK6|h-oc0Cdq+cH=CDFk9HyiWaTMxP~zE!au?q_eFOlz*d8G&d(xy9Fi~yaL_6S826K2 z3}`7WroWyxG5c%gTCkr6$Uq(BtjxRq_46rdIXPjCR06}n^2%snVUsqW7W*ko*~d}! zPJZDN9!IEjf^R-yIdc}?jn0w(z)wQC`?lx&rapL@)4LDTZl|+!{U<=qR6EpK1fpO^ z_-*HsN^B}tWaqg_Ce=(^MyV6M@qAxWT4M1RJLeUWK%GF0JD_3XUw(Khp@Aqu$x+Yo zR&;#hM>8&%%S^6in@Q=P=KASfdN9C#!8_G$u%2UW=w=m-pJ~V~C!9WxLKJho@OE_# z#-JfZf+*8ok!j(u>2_h=+7Vcvz7b8xJ2ey zOtKTZp4Pn>fFU(otebi3g_g zMKL0us>smOM??~%UR4-S^82D&F;pf4&b)X5buz} zs)Z&o&~{kw-(q*c@9Fiw{2R$y$oUr)K_v3WC4$WC7x!(iqKFNXrH|HcGMz z=T2ACH{}^SGU9>JUsk<>GL{>pKURM5rC-cP2|om@S}ldAHa|yOOd>|XNsFj^@S`jy zjI=0t5tdHv)@BK)So6q#L9*-7SrzbPLkR zU3kv9&%-aq4>oJGtN`9dtyS9SI-nGxh378c-oIoCC4Sxw}N9GI>< zjIg#=No8Ur>G40VV~2?_Ivijf*pdG`A{7(Bu(Yj662502E74l7iRjHk&s}yf_#Foj z69goc+$kgXnFb4B#5l5Y>v$&2W0*6PrWlsdBMOrotAWo1;LX)v+@4LXAw1yAP5YP; zAM4n$PK_pH#7n?_BJHxrlB4dY#l*IrDeSkx!~HY&m7+Y@3GM7 zNKDNTS3g=nc7$uo9GtXUyyC65L(zw(vo-PM*{z%z+Tpn$;K#WDOlJPJXbO2cc(=L& z?L__?V;`O*ImE&ohDh68eceK zgaI)gJN>*KbXw2~%h%U|r-C9J#Cu!DR|U%!TL@ek6{ZY%e6WXKZn+=|e@^LY)~cKXRCU7oe}da2|V zbUsonfd#^%o(5|L`I^%Uy&%2Ux1<$HC1M4Ksx+%l-mLDK@%W`UPHjf&Zk)4C#INW+ zTcYyV9)Q2{ER?z7?L8K#tC=S8KBJw7)#1ud`Hd?%BLKG2Z{amqwDPj62JH!ng#M(s z^S|#P@KFg#e-I?<=3SqB@_Yny0Iz_(UOuh_Diyx(e!JX;Uq^7Qh9F1ltQc>U8~R42{N$W=8~A)kRY-L(^&7-jCa(?)5pr(Rk-lx|r(PCJ%4-S!5^Qd>L`;eqdwHRU z>nQPuLb3Q0_k4i~Q`97lJ>H@xQ36q!JaAhduew z>im(CwgT2XQoc7Dk}i_PwSbFcAR(YWK0Zu1Q*PR7X$vD#NKFYypHd#D*e$ikgtCtg zOP~)N(x{s$Y4_rE3(MfZW@!}0?K)b=aa=S8N4yr(=6%!@6O?sjM4+M&n4^Nr!2{V- zEf{fFdAkNe7vkOE&YLfoRp3?{1C=21$Zj??Z7JVo!>v^&GU0@n>l(i<56GEV`O9zx zO9>-uQnK2x%EqNedo0AEauudiltMAdmNxS*aS`sq8dsJSBc>tOycjX^*1iK^8E{@kUp|ZhKl~9 zA}|ROR})!DwkP_Q?Jh?j z_{hPlnI*;P2h4utv+J?NuM;kPCExPw62A9msn3YNHW+()_r4-f$-OR+{w*p)(7d^NH1Ja+8tEd^%*#wiuFH>l$unjc)S$}h z$`*j`BZFoJGxJAs1B5E@dK8-gyJ?t?(X#4OrKatQI!Cdmqe}BebIvIA;~D@`>|#Kk z-k4m(<^nqS*^eY$3qE_5d*12TA1Wl**xTJ1d|ok3;DnQ?(9XidKpBP4c!#$2Ml6rd zK3{UvpgSyZ5j-KvBIwG_Lznj;J6u77$#-(1dAe6s5)Oxuo2s%p7n;S4HX1`$l>`4h ze9@I+WXeefsBU4!P28LTFJUEgp|e6yAn;%MJLMBTcgT#|V_if_+NhwwDzHeXO3bD?qs@ zeLn_Fqj-g8-*IGYx1bSPl^WVIztI~#9fPB}lRUZ#PoMfq1JE08owFmqar2ajg~tk@ z941Mh6GD-SA`xiy=Q*MclHj<^1xKZi33-7;oZPb1IXRoyDV6oNYSR=%^N4yGPdbbN zpZVtv@ie861NF62M4xFI--FI9K}}xx#<`}+v(lES37ofIrIY271A_c=rt1V#HmWr# znp>ViJ}b5W&9A|%(j<#Wf&^g0Yo??}R5gE51a*^VaE6-i_>&H4Bp>C%2{v9pm=t*>tT!njT+6ohBV{7QCXXiI(d zZ8*l}wEa)O4(D+VCk-XY3}G#HQGv67&%ZyD5LcOLN7ipBR#>Q(|MC0c%A`e1e6;`m zgo9|)t6a&^diq#%Ynq}w$Fcg%2B1WaP=ZtHg#ujiLv0=A93Bq2w7I!)kgVtdXXFB09&v{W3sfl4 z#GEv5BnQ$~Iq>&C%Ij1nT%f%!&TtrUf7^ST?+fb!WIW1$`7xm?HjHa-%^{&kw8J%x z+4VGq>yrKoz=?HBkv!CE+qT%~v%8 zuuSBC^A;v6PHeAuO$TQFCAp13E&Qa2$s0f;-0vk+aT_7t`$_7-4W^5)vx5#)iioRF zZ@eOr9F;`&R`V6wrUo0~>6k8cgEZHxfPyBJIxWlLx1Gh!k(<;6^mS}xc6$rpmO&pi z*HW}kEa^Hq1wghMc*3D-C%%$MD4!?hk1akZZ*lMcr|6*r0WN(7PnupjD9d{^i~~TE z$A8*oH}&%&>^VjHioj1hj6lVv><+15i8g!-mYrczS3P2OAyAI!(}{>!_=#eQ=|74? z-q1`q*L{Isv|&V9_^zxfWm&kA9DaKevq!NdDj5zNB25IoSkh;$=gk7RR0ds17oVqa z1Lfm}zbV1xk3!=p-wUL$)B>iFA$UxEV)%ooaTkI%4De(4_@ZPtMdzMz8y{F{R)T)v zcc8l`Jg%uw+1f9ljMpovV>UrPl(`LOqjZU<{qP>$=eHsQCttJLSFj$b=^qcv`T3W7w3Hcp|AmmxAjD9m!ABc zWUCrU1U-_Pf0l#qMrM8=hx7~QUBsx?6%UnO^|q1kED~0Z$J^bo*M^Qm^K^@-#V(95 zRh3M)0W?W~qJhrP{+FJfAl$K~!dyEX*`4)O!#f;%K7Z6+J(W4iorX%F$*s~Aj*s@G zUmI6KP1TcT0h&pYXgpelOjxB$uqqO|j1pFRb}(V$ckJNrPe|STB!}Qot;`S#)}Og{ z2tNlKqt!dZ+5ow~EQZGokzaDP1>YKNLOi)1u<}e61*Im^)qcnzpt~i_(i2W_fs|IR zHnkIw%nI>}|P#BrJ6Pj}I!#F-VwaYgeFj z`HnljX3JXhMJWd!Qm_+wcALe9oWFp5u#-4q&-n;tFpD&LE^miAPk_m#MG8j&{Y4Jy zi8cBSDR~DkVl(1D3D7EFC_5WzFYL5rsv9=3c35R%LAuo$suLa!M(dH@ZfD+Xa63HZLWY z_BYQL0UeH*pH}p`hVsnF1tRR?DWC^)becbT`^v`J0<>T4=REJsW>Qp<1z3F!h5j0! zKE4-Uh(9SD6RP00ZayU%q9(fo((8dM|EA!#e3;Axej`vuVp#91JeZkm0UcCCNRM%s zSUx@n&O|Kh3^GZ^4fS3{YVzVuKN}?Ld|_exMU=%XbG`NbvR!EHCuA(6wU_*-vli}; zO1S;_E@!!0;-Y~zpcUyAKTS3-cH%B#sg=pCK;#7`sej+jd+ox-q1KUbHiP7}-(Te4 z-}S@n7i2#)S}3i&hIP~14x7^5$t{_~srlM3PeV}bUv-P&3TAiVs37bv>r?)lw_)Q! zI!WS+8W;l$3cYqk%}kfBRbfQU1rC2o2wMB}K5;fT0;X@GCsE6>m(@7(5JFY4>YVFF zSbm=MI_kLIBX1x|4D@PTmrgby)zPrUEbeyG*0^xB$i#{T?3S^<3^-dGU$zvy^r}wr zsk#UhYt7?BZ?4w|`-yxmd~zg|-FvzC5IEDFe4paTK)wvXqWIt@4Y_mvY{HG9DHkOe zuTB91{E6n5WtKM^xWXL%dVeCj!?b>IVoAE(DDm{mk8A0hFp@bpK3(nSWvc`VY?uFt zg_Epk(DVJM;7?a?o7D>4S`O@1o3vZum%34SI|PvpqHC>YQ7SvP_o(U=I zFKgn%6@oi?JdfMzOS_QQ!9E>VE!n@Dj3cW(2A!?6G&|Jr_z586$ zn;&ZBH|d)yo*~3v7sW;Ri}W&(^EX8w=O5`rsX`#e$HeZ>CSJ5iuAjOzYlz{%n#Cmp z%U3J1%`G0p>wzG^LonpEY7Fp8cFLIP{zANM=9KVxW9qm+gY9gWCvxo&rbv1d6YeG} zS*wJ=amUG5N@}}cT8$2DMMUy^tsNNy&IE2U&_JO%UI3x_pZ;`J{QdL11NmNvSy9Gv z4jIu#R?J((EyXGe-nH5ESIpRi!=fdTgrDj5#kIYyM>G@aP4Bn?=medXnX>|mC_LkS zWndyGnBF@5Ty+u>ei}iw!FkM-wb%bA;lotdNFa_J?Ijg}BZaS9o#m~j zEF(>&>nh#RtktCOB|V465&3YB$uBcbABC(9!fXzr zHq@1urH&Fy#*>R!v3i_!mx+E|p>RIMBkiP#%ZKwA7|U@}2UQDGk`Y1F_@q3-+^Fmf z`x+Vg%vDLDnoP;U=nNlbDC5uNF6Q#$$TIf4_?8tndn?yN>MQ1F-mbdgZt>hu=8JY9 zqDm0M^Iag7f6#@lJW1YlbGLKbwJppzinnt9XZxTN5JnNgIL&SfHEhhMdXOFN7H1L+ z2PhF`Is{^#ZMTKVS>A8Kt$l8*eo+`bQ(dQAI;OOpZSsH+pLpEQ&W7_c_ItAOLxM~t zBd)`j-&0E;No1l*&WA&`X$`&=EnzCyU6cT};3T<&zvN`gpi+*=0KSiOCUA-1Hsw;y#8+H7L2fl-Xa z-e8?Qx_5j76l}#wM{oy@_XAmX12Ix=t^0Z)E8=b2p^aTy`}A&Mmd_&9OvY zIT*a83Aiy$s#cYVebxUn@m2q3a>Jx|&Jj<~W{QWD^on7Cv9si}IOND-(hb_93qnQ~?3UH!er zM$A6TOkQedxcAG%l+q*z!TI~lH)p5w&zN-&1k*o+e@Q7}jroLc!8crjGqJW-H-Vdn z*tLo{W@uPy{A)oot3_gycj=5wZ`cyNe2EEdzrPS(3w%0x_h@EOGX{v>ZajauV)<|y zrjWMq;O4%`qVEA(FSPBcSKLIbTwyr_;T6ud)Gh441w)vEX9RMDDuH%UafmCQ~knv{XomN+|l%{So+C z-uc2iUGPAgv4OiZ4Petpyv=ArW5r&REbpr00y{S@WfM29GXHF5V)dONSGrA5t7rKj zzIGQ$mIHm$e%6mmtXt94aZy2?LnHVtXqdX)sYp6<8gV-y5^o~*Da-F)5n>Zyt1!m# z$|4i%LrsI*9qJ|1Mw#Ov%q9r=6UElFT=g} ze_t+}fml1-(gR-pkagL<*lAAZnMCE2wwG1F1DH;Q=Wr-q4 zp0hylkK4oz7OX{oPPdPgw+-EfADW04`P2HEwmF^~7~D_>LiL5U2x>JxC^o_{=7jib zY3)#*s~f0(&@A%m(ByWF}pD}Oz&X3)<~(e0b++!(IU38LOL z=-u|fRG9AAC%k+L-t|8OXr7&ZdgPJhoLId3s55u>UG?4cbmvs+#Wm=xh5uL!>lUi% z?Qbj^t9KGHtNQH7L!G=h)Lw-2PRd_d#qj2pPI8MQ4@`3+1&`cyo?H3!i`30bWd_E7 zWaCT&o|JCJ?i15^bXw?2jZZgwmS22*X-mGaIfYkpNdrO z)R)k7*){V|qP=bxS8%xBQaA(>{Q>R1F3d#FQr<7E6M^8bRwgD5u45X_afHEg@9-FHChg~yDxS&;WLm+#6Q+2D5* z%$VQ8z9x-xpz^RJFtyBMX`zwo)B$N$c$-$PW(vALlqMR`TU*3G^i}eToBjy%Ny`n* zO}u??3;E@TeY52#(Gqn3o{z}cNmjj$)tFYKIsL(V|55mAmjN|QxLgaHQ z?k5j09Hm_d_;C2&349trvBJ0d|tC5`%&q!*E%^aYT-V({rD zKfU4eMYfOL+oKjbPECA8k9da1TkF`B-?lS9q8MomA$nx`-0U_Vx81tO>0c-43vMMF zA#kHsE42EroJP6@?&g7BOlnphprw#wCpv=&h@_hXF(~ymiwNSVK^7+McZ zI51i69y8Em)`d8o0zJg~p1b)VN5^h%yUfmezrt&iU-(`xmr*a90nIY>{MU{cfR&&($BpwIz&D z@ofoyS<;e+N#?x986glZKF=C~;#4#G~+IWRpX#D!Xu|2>-M{96wl1 z+D$$}V<5o&EcgS#{&R>bdgAxPby4B^I+(x30B$2*Nk|^|)!hlC#$+h*;VS9@t?}cy z80yO{&L|nHXYQ+hmcpnr*r3l<2MZ1hXpZ%K1$ejzQ-<;1L^nEt#>{eK*fq1zuJrbd z$X7F^j&Fxp07vJdoR5R#4|lm;x%)br+gsqg*_yD<<4|jz{%4J^qq+-E5 zpWVeDHa-1TR8_M*9m*!e7Auo3kLh32pUj!1BvR`E56K@!G}cD)ON}sX?X`2wZ=LDb z2J;p6qk~O3WmO1x4HN}mZi)%1u9~~X4-l7n6X7Y$iE}T7f9@PJUBetOY{89cDGz|9 zGVAi_uLH8pnjang{P+$r)aRV?Vc$B2?z82L-dbXb#u#!Z$=WQxDCt{000-MI6_x}yCo0xg_ykvj zne>~HFr$T$q0ghn_Zwbt5$GChzrI74+wKWRe%Nz~8aGLd0(vP@?^@1SW@m@ebZ9f4GV0PAZi+_^KlL&MX?aB1s9;`ju@`zqnT{xWebBZd-v7$ z`84Q0i>ZIr`DnqJ#&6d)Vq^Q%oD#}3$M+4R;Ak|dLo!n*gL^H z`oj~m!>|@q%eSv9&~Q^ui~bA0%!7(W zJ+^99No^$_dQO+{H{-JHvao7Is4t(irgJ->uPjhI|CK$feL76z{S`&8nc`+?6T<>y zbVww%j8{Tlt}5Q670v9|-IypZ+HS_3M?zy<1yvk+UtJ! znkb>YqH}dE2B-}ra7^TESj}-WK{L~3M*G{?BiFIx)1P58QKtz>Vq}Rc5GDlwmnM41 zY9MG=65t|oRy1bG$Ne@mvM~0US;JFo8|v@z+G>zZY2Q32-L-r}lPZE+F;-GyuKm3R zOXNO62QPm4ddR_Gt%0CYi)@UET^sfdpV_VsFSuOfzUQ)0TRm)P?Nq^APf8-9QOoVv zWuVFhp7j$ab*-Ob4B1vAYy!kfjqdZ*8~po9d-Jl-MW8#A-uqN2;+GTG30K=E%w(N8 z11mJ_vwJ&WwYFJZ2AMp>NWpQjBOgH{Mv)EDF|@{JFh3YSh*MbaHjQ~7fz@o??B%{T zQ{VI@Xw`Z)_UZvl&E|XPEgf_R1bcwDopl^vlquCG(Sh30;7~a>_ zlvi;2sVcJaSq6V(tO}J?rgKnv9l|GLa)nE!FtQkbPM-m{^g?Tt?}9vA}Eh z$`}4MZ1OySqc1wv6Jj4nZ{6WnC5cRx@WhboZiA12FuiWJK$gZ?PyV^AC#EmVb87%C zQsUXb>kfie{i*=Xs4dX2a?qp>tWTmpscNte zYllyDmCm~}tXzlSs-nrgch){%Ve1a*Rb`I3N;Vd3L;OYO;n+7lhEh$$&FmYt6T3-2 z)?O zN_%JM>ut?_Y>BRrr&`o4j@JD<9dQaZ%)32Tm-KS)3Msue-iJJ-xro(3GJ-5r($V*I zoqFoPH9!Hv`S$alflNZ+G+ZAnoch-wsPV}^P1|3woA__J13D&3=)5 z<7b-Kexr7z%%%GM9#zAbGH#Qvm93wByHC)T$hy4o?j)Z)2i6C9`u_A3*O?zVy$T%Z z&L-tDOHvIACHf>54Y1_R>bIUo*kMgEh@OUyIK)0)*%_)k`{E)-I?p&#B`D*!l>9;X@N&qR zyzeJmd8PxedWogVoa%>=ff;ua+VP>x;Yzdxa0+MQRPQuQNMl*y3)-3xBXlGOVCTrY zs*l@6dK{%{SI8ghKjn$UH?zshKD*A2I~k3iWpiyaKeF!CcJXD~C6gn8o`1(AMMG}%&4pT;_)?_ z#jPx7L8n%Oa6E_H5une^_j%j^Z88 z-j35MtO*u`K_j%_5PAx2^%;CrmJ?6{29DEgDFId|I^D2n0XRxxhS*dxXE*Rm~7{815NJA zPtz|i-{LO8!b~UPi4NY&gavx9;8surh5yQwBKAB?yerS43NM_=hy*(9{Uv$*!qv18 z=VXteneUnpo+3tpGXc)VfwDz)Kk{ps5vo=;e-o2t0u6}f& z%J}<=p*dq+%3Bhw4`M$+W!mz5u487HBUfg5q%i@pi4M_x^sb;~!}ElEbHt({-m}}c zz1(*G4o(gxg>^#fnpF8agt4#bAlYI1CCslwr^8d0b{U1ubZB@gnK>;0D@QjY6xhP^ zr3*^<={1T~`oq@@&yxnXkYLzJR|Vyzbn1dWzNeE4;&|3 zx2oTyvq+k%MbzFXL_gqzd12D6`+JYA?s1+t=2Cjjm7%9|ahVH=ksGoDh;si-G##5t z$p}Fpgws22Q1Zj#H}fk(f);touc;w?g8}c%ei-4U+UR;eEXL0$cK17K@_y^&WwNs~ zco=GO_;o=@+pjwmp_pUOFtvjViENt|D328>L1bO7_}Oi^qQwQJJKv-N3<$0d#+zBd zGn=QpYgJnaq=TOTkJ(7;FJpWr;*=*9{(XpI~r&Z?O8E*k~mBr?t0L6r{x!Z<~XRUKiHmXHY zDyfsTg`#W)*Jz{hAt)m$RkfWI@B9avT(+inBTcOUT`5*Mo>f5w%<~}h=mVqwh6UC8 zcFz!*blL=|h=!#?vxmytB~NM=+h_g2Awjiyb@H(P!nZv5Xh$uy&HL$!{HpEuuXt5) z@zPq^P@bWtmF7+fzg;vz*q2HTcoj7IWkyy~KMj}cG1r2tjIa7@2M<${h9nc&6F{|( zYxVU`f91r@2v$1Q(g&$qO3%CAQ-7u)2?iE-t)L&!&&wRm9gO#WE?;S}kWtdwnvBu8Gp^H7 z%`)2{(I)ZpUIbNE`c0HVsk4SWB=x}s_W8oq_YcIX58hS+97yh$!+@V{%%k~2R~@P zx_~-Ns1Qd!A4x>ISpe3{`0q9Lg*lymLdKF1mE-k21Egi^{1=yKif2q`s-+*Pj38Cy z>0TyNvu;1(0)QX`MoSN#OGoA%HlUX>%0G+yynvJ&1z%jOh7DEA^FchoM>uE2>jlJK zw7_{*5tN9sgMR3=$n%?Z^!5r}(>?`ilb`~7#Bj^IUPAHs&d!1Axz=`SMMcmX&hp?C za@Eh+`NKi+0wO7}KbikXW+|ZPmXdQzws0N8g zJKQ8G3EBBR@AnLLFwru8Wdr>Qe>GghMCBV34SGvP>^hg4WYL6oC_GQrOzYm*yjPpl z1R|R(tt&K=cKix1tQ)%bFo$iz0=WvR&HVm-lDW#(Ke&FEF;ZG{ku}2DZPI0E5V=t> zwJw5A!|~sYgom}sc8ai8y54sg76@c9!37Wg&c7iizh<>4vgU{K`Wf}t;OO$W`i6fV z*G1cUfB0%CSKsW%zSN`qQr+$a0Ey>|^!Xqqkg9F`RL8c!uV?DESdE&wqZ6xibEq_S zlEI#lHx!+<;-zgwx~1}C+Xb$n1$Q#;N(}OSqJ8shDmSC2+wpM*J=gJnm?PkZ=_{il zR3R^&2yIA21h)L^U8CpPk&urx2nUK&DHqH)L^KQ9{keXT%A>GC5Q%{`XJ%GLkGaq1 zi}QZ*Sf*W{y7r&C9D<~-WBiHqSiB33B26EK*Jt7?UsDn+-5=0+C$CEA@i~xsa`CO1zZCAI#F*)^ANMhRx&{|@lRa~7s~f7$~Z56PP;T2afG1LkB>Wl6Av{>}|mNo`+fsc4Au$(ex7p1AjMkL&0vp=Ub$MC>|OeI+V8#Zx|? z83LGZE16>#h*>UK|ILlM<=6~58CH@g%jAVP{x`fe0^Mh(;16sduCZY6ZT{{HP-lS^oM(KOVy#5BYH6H^>2U z>m*F<;+a>Zvc-Us*0xe;(;6f;1ua(rEn6h+`G-+T%gk!W86#`wWPeAc;FUn^(w)8w z^#scxYg6nsp1%1qi14=othxa5d>79TsMCcz!{2XUFNkE<;56A!mYxm|Nl&NDc8u*( zGy6-Dk9`(ws2S%#g#4U_2A%IiTK2)W<~@P&XRl$*Q*T1FisHB1Bog1+IKc9<>c8D^hpp>zjzDmXi_``swIvPNCtUgxPXu|?`#x?JqH!%Y-~Fd zt|-VLjX2+Hy z6mbNn!H@beP&Y1#_y0gG&0`>f>oMR~ak2gX0F3)FkRtvVc<6Uo{C{9r;xUk~@)(dP z+lBozk!pHRD4q|4)y;Zf#)q1 delta 200209 zcma&NWl$YW*ENhLc!Gxz+=2yn3liMj-8DdPnc(j3?s9NKOJ2nN6v6*90yTN`nxjPJdV2%U>-yNy#Kg(6TIG&I z(xaDyo1M#g;^N}!;{C)aM`sA{t^FlE$WC`D+FV8x4sWO`(x$FFk$4$(Y%>F;En6H& z>cW2~_z~^^@s4n@T6ti+q*wCWT4(0T#pNwxjneNA;G1`ju2irLU#BU~0^bY;-C;V! z9uWWO^PeMH5DH2EzZV~k<$uF``rk%8tZXRJ|FwJv|MfTee=Va0q2Iaz|26%;_e1w3 zM)1A*WV%c#g-<7(-2c_2&sa1ZPkn$C;olarDu+N~glQIQ+C&Q)DQg-DyT~GZnMAnj zG)66> zk>Fw~nQ1F1wP!tbb@Uu?BomIFoJE8W@P?_<>F?iuXjUrgMEWWTx;2h&;71tb3^6+m z2>7Z3H+3WS1!0Np7YkOS9ML-L^Izl%htofLx~r@@A4xjl|}n7^D@x(hr$eJlH{G|$@_d4*52J)j~Mp2?Q0JaM9kAJpkJ zpz?H;QV%G^&8dly3|?4!&q!>SNse8f9%ckdGq-TxWL*||p2nzvDy)@|^WHu0`SeDm zYocmA1hn##EC;ntX2QupB?&Z$>LKi_6S8z%fUp_8cFjb+Z0A2GSADWFAN5>`ZgN>m zyq$9@X7k|VXc3vUEjzh0?x~vKavX>xu$RZ0wF6AsS1%YPcx6Zx6de!<9N^i+K9Z^S zFbi|z503xUesGuaGw@PmYNt@D?!2FPPyY3{6zSFbw+CS$LI zOdY4S70&XSG%j^^f~`c?eiI0<@Y0`oG#{etBP1Jzkt#%?Z+;m1^MT%6S?UwQQlJQ7EhDdHCzm&{(v-Te z9hRD1i4uyIIc-P4`ILMBCU)SSSuSXCI|?UBB4EGBylr^dtd}{hu%UWRvm;^^D$(n| zdWaRsWHu1DfD7-nN>l1|_kJE3z*@}lG|4g;ocwapn#93>{pZG}?W?$w*AjxQJs~iGw@JJj(($N{_50B6iEC=mjSRo4b4x=q;f0 z92?*$NifK7Oi|Ty?#_X$Nh5iMs;}$aWZ%%I6##;L_x@YC&=PU~ z>E4;6QsiHI2_HDxfgY-Gzo_B`7a9xob=TE00-l;4+eEKp1o=+m#oYR&_Su$x9p1VQ zYjux7L*>pNA3sN$HO3U26*2fcoZy~nnC=%x0Q(#0EP+YsE~gIWVX;y;)<>T15|=h+ zvQJAd*V%u&MKKbYuFg$o2+~<~9Suvcto?t2KkC9JW_z;jWv)u_G?D9xc#F(dS{?6*_B6z+o@ zzB(wbCRd~}xSJndypV5n4`}Ha`Z|ohAS$nHDwSrcujJ2yj4gz>77NDTyy!*HtBs__ zQ3-O<^U82_ZQ2ot&Sdgp`l@_}7{PB?6`@YA$xU|PX{q+`P z4aag?Nj93w!*W)ee$?vTpZlnw_@j^xm8Lv|3K{O#+Z6F8={Kmkh(e=&Ry+Id73Tr-lwpm*;;4Aolx58LrW zT;zY**)lEgu2ldn(W2p}9AamMZDRik>g2t?7*y>fT{~LL*q*qbl`mfMA=$r=N&^l# z%y&x{aP^#KX%X8MfjDXmzbmBOgd`$?2Y-cXSC7XP@NlB*Fo~n6PODzZ^q$H#M3z7< ziQX=AS$ZJ6tktt~BqxB~o^f>I zX&x!7sYEF?f3njamRD!dz1bBO%VeaPu4&#)DIgebfk^QKJQw0c__a*dhQ}p&$8Mv` zI2wETCD%!(8aDGXo#`1O;cU;T@3Cm~z zMlMTHf?VjrB~JZS^#i=oP@5A$)Hh3aS3#r7P7yRa>5s)sGpzte34A=(B~ba|?EGY4t7$LGFjw;*}yUL{IxczQg=->`k^-psqENc`wsNAH;Cjy>DZ{ ztx<%GqC?6_pKRZIGcq_?n6g-qS)4(CEFX3hl?q=w(47 z<&iDGb~*JtW$A5FB^F*QONRXenzgN#cnDX`!%tE5&|m7TCJTt8l=w%R;qM#?M^4-h zm*f^JZW3oGzc3Zh?772XJHqa3?7tDRN>H$G@biV&D2@%}iz?y$br}AMmmRXU{QU;p z8lGLHZ5mfw9rMI!y-^{mh1?PYgH=Xr>2WroL$izI5k;@pz*b#IU9>*wf<_3<@l+61 z{_a{Tl=5d(K&Gr6-zW%VE~Vk@48Z*pgB;k6;f)_IfGWS1zQny^ucN+E-@=wz|IcLN zb2GQaJZ|%;T}X@A9?flcrFr?dR?PiVJUAO6m{w@iRKvT69cRj;I5}4@4xX!HC4lf= z+x&Th&FTW)~x-xncAp7 zo1W9UJENGI>=&m~Ca@7iGB5@%1xPlE``}1UsidsRio$@8S-s!U^l;H{k@6vqoo%&& zwYi|h!nWoq+Ftmk!q%(2;wsvnBD!=?_0~d6?4x0)n?2vk_bE-x(c`e!e!jyEM-wB+ zVgdiCL_+a5jsU!%MyIm?HWOJMXoTcWghAOVN}rI6w;*UZoG+K=q2MuT6j;7}i~_km zl+DC?NR=`N*nfwyd93BDywVU@_@r3EC$&iJ6xo>gMb=f8-T{<*!=_;4q50O?`S`70(g=}A=OrvNz zU!QHV2(|btI5U;MV?me_2a5`G9s*$niRZ?bxNGwO|9?;3nor#H)DHtt%AN zM<@vqL1k>6K|P%{_kr}5FhX_c#8-hAyBWON!;K}UdXLNK>0s++Sm^t`(i`O0_S{pM zTM|Zgl7{o}k>+aGquv?|CpHh6P&77b6VJQ6U$dVu81UZB_`iRS1TbEH79_FruFN)5 z#27YcGz83gITb#lj}QKV~u3Y2Nv;ZHCso zlcVDHxl|Z&#VDr;VCkToqn%`C<*lbUhA4i4`-iz4oEpzp=TJQC#Ze6%Ogseu~L*i{?j!m$tgcH-f9USt#Lu zzU!-9kQq2tFj1!lzHbk{|H`7S3ZK7<(!;?!RBL}Wliqr`?F5FH#Pl=b%vpzSw<^9%&* zoqnlUd&+$2>t)f)sI+5iW2T|4w`fcv^rV<}w#XmlN4~#Zf1l3ZDqFH1j`~AFX~6LC z2YHc+7KXlB5M>Zqq5CbmF&V-hJpo?3_E5k7k}D}-bhw!(=o*gMFc*vP`~cl+7DeM{ z$|4_YSH3kl7`|B`|M>b-c;5Gejin5(qsW$KLr8Gba%P>ex!~Q#`~*X(<301?=(5tB zT$Toht@zQ_bI_|xcY}A1cTP-fp==Z%x}B}-SEi1J4qKu9kFff?sBGuHN@P!%CMk5Mcu7(=J#As+H2#%%WWfJmDH|1 zOW@Pa-#=xay(;n&wQy;n1|l-g)D^)Tm~qcoesT zC74Pp_BZe0b%6ng2t1JO{Z{029*FkEhmiHqttYNHi7?vQI``|!zOjn< zD?^#WPY+(0t~%rOR1wK!+$%3;acu6U#~u7J{fQNa)(iCP*1!74E)v!J&8>merE|$R zK1VzGGEa8u(haL5+qQm|*(G`{9wl-!v(falS@093o*`0|$zmctRiYk$^$En@v%%!K z0e{^#Dc9>HcdlN^%50*X%hIa9N*W>{#iJ>)4h^<7&u>1tv+plQadTW=?vA!14iPMw z_^eB_ef#%_I~U7X+PrB#HW)BqdiNQTW@Vm#|B!ScjN~l{dO>DxUvpf3xBajslflsZ z06kW9cKgO?Ya6*uHJzAXII(C9ZJ%Epw^`U>dDa3GuNFPH`66We3LAt4mTdb@tz^}+ zpJ0)5nnmn}{L>_F#8dd&t{$`S*nnrM9G$7h-dS&bIj1zh2g8uj24GWJ(aT?4_{>-A5if z=%HaXVd=}ztlE>xuXZJam_BLCUB2S-g}5yQWde_CN+pzb(%%}rg~|?=zs7!^2%sQF zsU(euJ6_7bYEyG8+H)$$_CZEW6E83qvk^IZ9NTI=IN5ezH`c#YOJFb9;X)5Oeh{cztZ5_#cw zRpq`9gf^7R%X+#AOEo3eKK;iu(rT7UmquxU+PrNKQcj`{Gkanj*B1F%@AvF@94wu@ zekgGC0%1gr#vjy{Q|q!%Jf%>37IUq5}_W3$ZYZTtFQ!X+=qOWl-j%lgRWBU7fXyaahs6 zFJ)DeCD#-=)ivI?7l9rVnVw+uyw2OdmNj{cJeMy$k<@m|MEoU32`WnRZP$y(46n(M4Fm zFu-X39bVYI8=rGtrb9@(d{r#b`Ct$5GNHvn7@Yh>`kY1aM%9|%2xI~U<KwkST{J^G=`fqEw+iwWwt@siJ^lb3{)G}@j}dQo3Cx8b zgm?N{YOT1~!e*i(_YpkoA-rt87Ql4@(Jo=9yvk86KvM`=Xk|k6nZVr^(6#Fy(zO;{);88^Dmq6h!iol3s}92Z+lFNrsp7+9)DnyylV>#H-5ct-g$fELo;kZYsk2&oYki^RvkSHOE-BO!y( z=Dq4nA>63=P3IMzue@9o1&!k!vx3_?N>NcR1h^fp?mnAug$w~x@H(XP=n}YYKfTGY zECu-7>%xE3-7Z|LXL8zZ4oryQ2B37-RrLDeAN_u#bboATk5-7igiORP-{o~gDF0HG zS!?Nc-Cs4a!WUSaZmywdFQINW5I!_iH+v}zQe~SQJ=5)8iEQ_lF?~rpxOmVxPCdZG z@jlJqEZZY8lWha^vkcBo7LAM-3xdM6!O8A6KdhKIepWi^J2u5^&&5^}RXc?uLb@GOoj;(=e ztCyWywLUFxawfUDWcC1O8|lOIWcW0|XKc7zXFzc_@sAWPrYicHVNx(uxnM?=n_Oyi zI%kYDE%j~cxMH5K;hUTMv%+>MRkt1J&M$$r=#R3T!M{POoWqLHrAQR}y0QJ`H7g)S#kbFJ^hCpE4a>B)@7 zdnU#+QN#C>c+ZL|ceOA(xowY{NX~5t@QS~V7M7p#)qFlV z(vn?<4`+$UNLlZwBT;KQuOu@45YZ^HHuiou!5D7v>N|o`AE1 z5~%bjeLbj`acOJaeI?YrZWk6^yX+sQIW3jnqmCpkJO#P|*b)n$+Odw`md#a)pSWgnR+vyq?5Q(zLu zj^^tD#dwfRr7w%SmD8gpx-KUx$Iy)#P|bCGwnH0-Nfc9>V>%vx4+6nh9nW%|hgzCD zX6qxsEB$md^jbPGMzQX^*{h!${ooRb$5rM4iMiw+K}77l-C&L=jm+d~J@NH|u&{f0 z$l$LuPXE?BdpF@22fUuMt@HfaY1d1)W?3+6{qo~JrC^-uSoLx$sjx@kEeZ7*a4k0I z{V-QA2V!{6qWo<@vh!3ln9y0%_Wd;+EK{P_UiGq{Mew+`bd!|mRKy~dIdd>jTTTj) zGqYoH650N}J08VXrsMn9Vei)!9NF>JAz4F-$yU6~`H)$TlIo8^(e{A!)UybnX3TJ4_Gys(^#0Stk|a70|Sx{>Ueu5d0)+a(76)8^eIhTU7+-6r%` z-i|;z9gi2siq%7?G46&xHJZ~=Zjc^}4`b_;VweQMzj%UjegMZ>@6TP8`^$L&ulKC1 zSNX^kisY-U*-Sk4A{XG26cejFqj3Wx4!Z~Q^VsHuYkHQONHsL3qVUw(+hnCZ8&}tZ zK$j)0Be0Z`)ZQYd=&2^pw*QCeIDAZVr!QSsugp0A#8Z<;#-}lvYDcg310wPl|0cxf zInhM23@U(C%a}JEDw6y?$KtT~uZcdzn)-8rGUHJh?*fjq zdP@mMGfQTM6TLVLznD0i2Q(~bA%<( z#%og58qPfEp2_{d`Jml#XWVN;Jg$ z$oi-}Jo%ce>N!rz{Y%y~{4FBK%^mn|lWmEgYZh2DL@F=h#`jCEn3Ijx3 zVgJo+Z14WEHvG3A`7_7x8B!i)EDc+%0*{RX*$=}C)!{wa(7^SKcXZHicOISj`!vQI zM)RLMw!7psX<6Dam>eSqy_Y!r+~7eZ*+9ATpDe5|@iPKe*W0Q6-3RrB#@^)rWS;wH zc($SbLEry5#07x&|74>7^8@qO@6h4@z3@drlK=mh`oa7=-v3w*W&fMN{{M9&%as%T zuU7D%hX02lfd3sMJDkav*x>K&JIvQU|EB;hy(Rx-1wHmlqr*7o8zDQ#b?t9xq4KdUK;X-n9q23%X(7lzDnzvuyv_Hc0LJ(km63D5BkdlvH@GZjn5n6m?0 z^zw-bqG{u6miLftCi!$)@v=gv3fRWls*$Vn)dm`K{h_?=*2c_ff5OEMDC$FKUtKlY zmm^y|pYlcSX;f%zqqAEP>!BYi*3}K68sVrQWO|Y5GZJm18l@e)3M$L$aTsI1jRTl$ zG@lliSUYPSp0RGkg!oHb`V5)FZq9BQ)fc3Pp2v&R3?GsK+tt2(jEwmFj*W zb1T6#?TS|wa;quEeya5;&K)EMU9C}q^>d!7kkdc1JWL-?~X?71ArpTFi zCZD#mOT*$CsFxnYpic`;k>&^&aw@%Tg>~4CZ(9eR4qJV4n@z z)Mxw^cXlNwXN7x8Ug45)M-5d8R7x7F@YBF%6{!w+Ywz~sQnb%J0;W2)xRx5Jd$zNu$l?DdAxHPZf z8T>11j79FzRzZTy4wYWm_m>_=Dnb@WCiAY<<$GmbiM3vEr+za|P4@Q$OmCCXNiDTD z=kHLp*`FvMSW&<9jB~i4=fMN9m5usW@ubKu1HXJqNA;iObghJWD+9$#NMz@J#?hZ} zbkN%4|LHOkTjkB>!U*nX_9b41$LfNOtyEcdXge{_d1k~Z^l?hdPp;xvj*h%}ujUs}Xm)u+exSVRj$_srV=MRm=S*@gcDG4d2?&#oO zTgr>OxddVyC+o)<+L{|cHtTxSs*od#{U~0nmmd%JeEmH)(n9z1@IFR&TTtM~b@0i- z^Xj&Z!$#tGor~qGvRcm^#6RW3 zwi$LlV`e_>Eq0{O67%_>Wc`uKQ4@N{lMj%;x-Z3eBK7TO9NEVW4@>?EAdAK3uww42 zR^H_7Ex8cvX59}5{bubSu=tM$7!YbM{a{?bPuClU;c(>rJj_uHuG;WOy~Ty3O)sG}m8BZi$(<7;J!`z>XBzt&psB)H7HP%Y6zSqBHw4i4%GP`g zM@WRw!O~MbLt0yogG9c~!Xmn(?yIzFaQtDmBn?RL0x7_SAeb48QEk0>Yr+anzb~Q5 z-xb5xnA)H@GA+we)g(@L97T27T_oG4yU1g;++cc^wzeOruyi{NOOIh+llS`Wr6z@F z)<|GfWbd;^LS4A}QVsQV6PNUZUFPrS&?XL2M_bKYNmMNf!#xSZL5#7LX)5{TyQS+Z z&|1M=hHVh7gz!G^HLZa5BvN!;?)PnPnrLgKg-dJQfwKmRKi>ykOY(4^_%eq8l9 zc&uhBzn*LXOzK14BIrkrP-Set2&}>$MJ;r+>a>>@o%LN({fG6BXGXIPPvh3Su6!Mo z(#+NzAkr*q4;K`(^vNl|oSfHX16vvV-0$^24mKU1u$93GJtLCv@znFvV835Ggb|D; z{`%VmLufs>4jCV=JxoIt;8pQL*|-+Ge!XO^dMP;sj0)WE$*WB$dd;BU04+1waH7y` zYNOnYHK$T#`oM66;Ag?D7&xViH#^$c;uF53B&pw%VJbDVA_H( z@E8Dm?DQG*r9~zfsXT7*^ywD~H8n}QX0v%=^C<5V0;Eh)T_dPvv=ZZHoT_M*6w7b} z@}HxUL1u%)crV($AQO$PnOYbv-9dejM#Mc*{1(XlG?7jxH|blzjVpR5l=CJboidJL zI1d*Os+k5A!;x1i!!K2wkv-~TtJd`^I%A-eR?96k{=i*@;}w#t_Q@N}YP4v&SuRlR zC?;;H$heSPCbK`pMhVbf)OljD!e9bCRH)=be05ZQtGXSsgP7n4Nv~$Jrhv*l(Mc3~ zL1_zXK+=NI=?5Pwk7~l6o4}1`kGu<+ID;>YD^<=Yg^@n&K~JKXZfR(VYFZr|2+$H+ zX_1^ql-iyM_^Z$N5vRJHzw6<>eP=N3!^)0-e$_1kl76R*f+|4@?ZgUU=j^$gs_clr z>#0`}oA!cFfh(qjGo&C~-0@pps#Miv$KfY_9W8j3=}32MvcwEBi0{KuSLLx<931~l za$^EW#XrD=nU<2Qc3eSuQln^q4k+&!Lyq1$S=XN(#VFCMweF0+Ly?>1p`)m5_idt; zUxy=EEiJl@D-~yay@V|LT1Um@Hsi?W3M@`A5HvY3lM{fy<}R$EYDEjm-tnu$@ka-cS*SnVIM=tF>b@Z{Dqe|tc<>OmSxx^LOf zHO8`@)F`}{<>E&@1aHfA{LG~Gjz=>IOT27fR1TRuIkrdRk6fr;hGA^PTge{`JR`=1 zq;YCLxSr*q4^*KdSdi-U_Wt9hCX|HyW<+xrc;qf)o?JU}hhWJ0vS3KlP&XvTy{>rO zIi*cXmY~E%LM3|b`#Xc>1Vy0~z*hVQEt&R#Gd2k>k<-d_PHaELd%h|_)Mh%iqDyId zdaxMn8Au#|FrG7~Fv(!MVv0z$P<{Nh_|YN$Onc07C5aDym8M9#6TrAVNs(XI;5mkh z6gB0d#Uq_*C%A*Wz_#g5=i&2OQ$3Ri2$7qgl{n+C&dQW)kVR!(V3bh z(EG!sMC%+S`Qo;0$-~ zN96J|!$O&2fwX&RptVDwFwCG3*=Vm8YBViT@;XiH0b@&Yx5L73bj^QPJK`NH6PU8N z&>NNS_R}A}T|}i-kCmh>txU|@69WyzQN0O|!+&@&;cpn%?CIU5R8!MGNj2r*U$FWO zP;;%aXycNeI9dSFVvy#x6~p6Wux> zgvU&&br}!=4XN~x^>jQ4s!3lh!!j*>k7f>ZxkDF++QnHt45Dsz{^H)3t-mg^++YC4 zZYp;R+?5Yt?HrXM^DPFA^nCMUKDW5~-mmPJVYLYE0m)>3I**|6;BT;ajHe1eJ$0H; z8dTD~VY;DKPR7JD=$xWyIYOI(HSY<5cKyhr$n3? zbviI|0DQ(>|FQ$40+*G9e1{9m7~UreM=*%&C;dFR(c()>2_&lM)v>>hrQ&o=!OR~H z?x(m(LJTh`({N3KYc8jQT2iInzvbrRBm$j~ZV2&YN1MTJUtW+iBG9p6mo<1 za_t%&lSRy^d(~~`X(Y~NnA+hytuY-Zg;@qZ(=zstWJp^_2m7TY{v`6!{QJzEtKTQO z0DSW@7-D$QjBG=9V!Y94Z6cTfpNvj!Kt=<4uHH{CqgyI!mt8)yvIfo5ABBAmk#P+1 zR60$a?)Cb4Zr+FQyr?A~H$EcNz#hcPANxXyUbkXm#D6E0)_~1$FCvrnTAPq=Y*2TY zBZyR@HW(NE^07;EceZQ^V-l_$8KkYsUC8gwqt+K$Z^@N#p2~N8Sjx;b7gGhz12~DS zrg0h%P9My(TQ4##OhKS$-8`Scn4+G!^2)^Ny0ww?8o0rdA1-ZBNZJdkm7X~I{u1!B z^#ogvxV*zK>_AGh3c6u#Ek-ee(kQgKKwYVmihPRmMmFjSkeq^4_hu=T%e<%7@&+6 z6vUHW$?WWtpi3ahzQ+LPaA-l5Ww=HvRfgWQWv}wRo0fwe{N{?m^PXpunq&wqS4s$5 zC)g?H+{~8>;Fb1YZYnpKUx7Gs9Z=9buf=P?*H|V zln#%di@sh@@X6Dd__;Y@Rz_$A zVkt52vh??w~8pdP94@r8x$;`Z{#jMcQhERjIwWr87IlC00zxm`$LS&g;D+yXy6 zc^3Mz{??2S$He^Y-#TP38|XV-2bLWElAUNFu#kSLW95=h>7PAMa&(7f!T!6z#4D9S zo7kjKaNh`!$P;m%wrtGLkAhGp8TWPIk_u4GnwM#39Ye$N10 z$6%uM`aE2SCI3a zKk61*#`0yHuBBCf(QguslMi?uRoj^-w!tdwHtxkHtN@ z9^o|g*Qg4fs5Wdj*b7SMBlC<1{1{DqzE1fxO)V9v`9GX!6ipet`0cmU(RtdRg@^iE zz9It%)}`Z&xw=MUjlPW^mXF8Fme6)aBKKL&d9%QBnm7tN3RV{5nJ6g)jQU=9f)C-9 zlCzbF`pTWp{*~Z&Y8D3Z?lRn32doPHYHzwfx8>NSKitPYs=&Kwq12{QSJ-#lc4 z{znF?lIIKZIPd2nBhZk%L+01(GVWc|5Yph611GJJ|@gLb$<_6?{>k zH0V~g`f6Muv`?*{KG1f)sTEC$o;?$bZ0wrj{GHY%5^CB#UAraw!qtE$%z~9!oER!k zvuDu=(zm}bb;V>m3)8d-4mKw<7$;r~kMKk9g@BRZqezmp4(mn5!B^L^4El7*joyal z-mn=qbsG_6Q?RgTF;h#QkoW)tyPp@Vw&83*ufB%y|5O z(j%@(0nM+P0#FjK-trIibGcC7&Z=i@{{V*EHKi?_jj@!%K9*Nz7hhK!3UXHtW;?1A z?~+X#V__SGopzxxff(DPvM9-u6F%JbSkBaCBa1`miovjwbwLOH8PX5KuySMobQS<2~3{=r_>y*W+BNl zi8!vtURwCG7Mez^v;y_cuy(#pwo|N4wCzx6ypQcc+`&to{6sAs-d0R5B_}sW!}^KX z8#K3i-=CLKedaT=YpxlKP6}Qe570=)l>=(XZ*4t8!8ZJKb(Ai@FFdo-6N;IiEHR~J z#9O(qSJ~DS9P=jx5)MUx8r#v6kFN3RlVOLto=E0u-e&h4i{7B`a0jnDSZ}bH;XQj1!v;W1ot)OgTwp^YH_2-BG?RU3}L;(|^fgW{8Xv9)BAl$fw zLo65qBTK0AB_*h4)7Ii0C|-QfoB_ztd_Uj$)GP0sbiu!-Ty_>}L7LQ*St5kNgSV|q zA$c)(pCFgN|6IOkRbu;0u{f>v%^nU!8|Z}@`DKossaQ|8>@y{5A^lGZ59w~_cw1`~ z@@8p1)?0Msbf+vJk-r1IvujBhqfrg?91%XO`bX)D@9uy76gXUZ5`)|Fw3*5fEImUS?vMK@95 z^}R2O`bF?!I?N~VX{5h%&TuVHlZw=>`K-;f*+dw1Q?Bm8tXHa&ov@8&1o9Dl1P&P$ zmyv@dJN!6MokSgHLR`Q%7JQ~DxS;r~&#JD0BCda{A`|?%D1ftGWI3dOhG%|>bRZmo zdfOS+w1%qcF609T=}lMiXZe_7wJ16MmfUpr8|03T?(_%R`TD1?(kI%oO4m_D;E!dD z=#5LYPoH`5AQ+gS+(X^CjUS{fR7|5Ist_Jni#-Zp1gYFD`u$Uu4r&>#fy-N!)1aEh zZ*WqM%O|vxah^m;WYqQ#p>3_|69ufNnyl6ab}At?Co?Om@n5Jq$4>&xgn@h=gU$Nc(E(z+IU|hVn=6O=hH_#x0^zu zxmH3z8AQ_hjK0G`l3%o^R|?=RDMU7k%8M|qD-K*S6xD|_H(I;YRbLh&L3H=!Y_K_X zosnjr@fsw3cuIpk>G;bs_Cj-=HxVbhqND>PjdjgwbN9mqlIk?z`>ZK~`vUz4|3*YSM?DMRc4KDNKCW?iI-<6yVVh(>kG+UkYCQ?^K<}K39In zkxFKv!HCKmVFPWd79@AP^4ff+yml8_e0N%VSXUBOU&~iz%qMwIW);;~2aoUh1rr@0 z7(KJ@)W$((Fh@s{3Vy4ilplnW)|vkW`Rx9Mr^=(G*h=CO!mwzArCIT#43QT4$c^9Q zMvu(=J$raI3i}nYTFZk|>5B4YA(}C69=`|HHCUo#Wcmx1M{9NZVQpKj8_ph=;&+Gl zX4h8P4a4Ws#~a+SYb`x1FStwLc1-605;aeL+XYg}N8xJKouS@?kfFGaTpSw)&)s*l z{D?jtq)9^#vxJv!--FcsC4TxgQ3P7^Iz0;&KQI`{dK7$T=xT|DUMyogMl|v6rfhks zIr=ztKi)YlPY0Jt8>>T2Ick1;jN^JS@iP%t z*K-Ex;Rk80_6^Anup@4?BJ};CU`xcjz#V0r?Ib@LBeFs#UDmRrv!vhDns*R91dcU2 zJl#&`d`>kcEhIklNo$tS1Y2tjfLOo)XMJ`kUtil z@2a$RLTP+=y=aHp`SE7Z1t+HpWmQ!gHl_~Y8h+8CM!HNtrs^^KJB4y9aMwJKyfOxV z*wl~A0Le0b30Nyn3;%sgi~ku*+$)3+;*RiG%#-;#xJP zg6mc0*VG*UC*`)Czt}AvHs)&-Ze?vg9?9-nGrzyOxQKu;PxyY-xeyEsk=^e63G5yf zsb{M>`9hj|F5@AoQ;a9c%GqO%^GZ{L$JzRJLN?sh;<~4e$%_21c8Pk#zXaop)X{=w zL8e76{1@(&#@A3cC_ueGM%FzCv6olR9F^6VN_JXxK z>&O&g-~R%cM-Mv{YpeM^Bsi+sF>CJ7^lJxHslw^u;mKb@D2h`-yBK?;Uv&_bFn;>0 z(iRi)`zUGvF~(Uc^ZI;l>7GI3^f4A|y|~rI!35ajkmp~^57;+FuK8>jC6tD!; zIklw}uq7i>kMZUlsi*Jeg#1jJtBgN&hyP5+yPGEU4dAp;0HYOn^Nli`OX%N@f?F!< z*k-r75G1&1c2s10?Vu0R;x^i`+&facNOQR2021mt#wwU`KB-`kOG~YY9*bRsXDdc& zta4e*>mSof>B4)v>Myn3d@W%+dEeE=wFCvty{}gs%@@E&=;iVSyme3}&2!)CZp*c7 zgOq#x0J(CkM6OCqv^xUF#X-l%M*)gKa{ z6`e*guQM@D9V>>vLv&Zs=$4$HHHvogm4{fPv(p>Z=NCvC4Tm;0ZgSW7;e3gIynU;_ z$=QAqJkO@4CKP!;?@ZSR2wChYp)m5r-QZ>w$e22^MdM(Y!lrd#ChYskV)wfkXgL5 zt-pK)6?5E(oGz37cSyK|wG>|j*cRtVorvmdsJ!MwKs-;Uu+TfLUR;(^kQ}VrIyVDv<{yNk&Ell z`aw)fP5*y*`s%nWo9An~yHk*Ekd$tuOQgGzlNQ$_npS&vzFgAd+ZBHb zQK&H(77#jLT#X`HFAToz$3GXEOv`k+tUQibP2)D`yHECD&~$+uRc{})R^xZ<1oC*d z7&rG_Jty2N@hoH!5Z}FtLGY6dt7Y`)6x))ym~dZN-rUfb##z=J4|3;LzMc9i3TsVJ z@jhRo^3D6D#*uA_F$@hjY_7CQ+Q42#Qjbz7A!|ItrB7WcNHh|OovU0X5An!D4)oG1 zRt*u-&lLk11O=jB7&XrOoM}Y&?_{byX1aZMnTC(NX569vYX&>TATO9@j=Ru*8?Di?m2m+#rgMqE&abb4PF2n5^ay3fZi*3r9Cj_0thfk$n?@D3V-b&p1+_d8a#Lvbw*h5AXWlo;7 zq*rrR-9%1zjK+M+c|)F8srD79=lE4gKrj&7DF!`+c<{T&czPd8K8;Pi0y9Zvu5ozE z)z=C08ue{w98^{c%It7Qb>Npj6d#q&J(0tmI51rL+*Ole{O+zl85GS$oi6$!P6%Xi z1(ws=Ar7cEE^?mB7_^Vo@F`dR5HAX61B?6^GQ6g;)NN>Bq~W$=%U{3cEy8zXoQ|;5^ictY;VZP3`Ulkz!@05K#;$p- z?t18hL5^1}tR1xjKu@`@zpyw$%8Sdbuq5Tu5A~H%XD5wPuvaI>+F;2Lj*LVm z*voa(P=yzd4cEsPmEmh`JvIT+jSx(;Zh^Glr+s>e$PFCF%nSMcQ4u;CAo`2@I9{ z54cu*z@3ITIGP414u&65U)H^5O3zZdT@taeG=G>zX0gO``RH;Tr$l6R;$f>=UJ41N zzfl$W?orvTI~07(!-%Fns=K$=C?2U5xbJk~Z?eGprJU;0EUS{1?VJz#uvFz0X8%B8 z$pS}Dc6UwY%h1)1Urc^&QZ7naD7NSW3Qk8L+Q`SL_@)CuNkdHb3`F@BkT*dUCRcSn z6V*q`*M|%UImP}}Tib?S@f%DwGWc9o%Ei%s=O5;cCP`2lsY0Z;9!3ap2j0CBOai!)@kR*RC3QZ!IH;!-^X$m1@#`7X>5HOL8-O>xF}a8ChW1uByoOF z<9O6uCK$S$|JG^2ru{=PPv!U2!499?TX-5ZYb58@5Rg^I>lZJ8?U^LWepVt!#?j)B z+K{xzoKpq7%mqCqPn5qJWFFREo*F?2RUuTbh(Ze78ERpF_V<<>=$G*&JW{ms0erG6 zg4h6>;g2oD*TrZW?M%RAz?IAW@f6xy;m@udJ0%2|*o*t9WwUi=&Sp7|lLaRo9is%& z6^xvpu)PTk#t@F8))}pF)RS#6DEKK<^+OMxPTiiW8Nhl$m@x9+*>%cySB&6GTx%bHY{^YScZ zl-AgK6&T>cEXKF>mKs#jq>P|3)@$tnkv)|-oTnxqp!q8uifu{8Og176z_PQOL4=s3 z5;&yVJ)lj*2_;ukt-&+H$?{=FNteu~Az`qZ=%_cppu&X9sk~FI=BWfTUiV!Av48q@ z9$ORJCxZ(2YoVutb(`?RMt=DA3poQ>q&1%5*Y#J?b}R8b)~SNJhj)}(T;{vL{&#xh zvSQNM*fNv*-N4A_!621BSkYkcZR?dwibRpV{a}6Rdm$8FYuSY{DCX)24Nf(Fq|1a~ z0eY7{bBiBaQYEh6hoMH5+$}P>G7A_VTF22E;z&LFB9Nk~j z{en2eU&=c7+OnJI+0LiDhL6Ysu!>X)%eG4P!&Ix&-@mGl1mrN4=j@ZwE6@oq|*h=@(gwWDMqZ@DACUW?J^r zm+7Uq$mWqR3ULRMIFZfM*d0BrQ8T6;o~4U#k}mVFNRg)p>8?M)dpDmcR9BT$38O!Q z@0y4ld{voYJxQa3)KdT%Ww^urfmjr*r*sd442XouG27=DSxHHqdrco93NIbgnY~EHAVPhPRxF$3!yE2crb+g z8C$Q)?c1>iZT>-b^TnvR)F%t*eIuieOi}N2v}v@h%N?oMM4oEklsa3GtyaS>{7rXt zff)tiIU-vsZ)}Cl?O1#CZOgr^7{DtgKE`|N6Kj2~KgP3I%?hS>kYYv+M1kLhhg#tWnB`fE-XYUAs2_p#kNm@eg;h$@Em#Dx_|1OwZS_5(cZU9l3oUm@*<(DxkMvI0mUld$dGQ@)%d5SkB^U}B zSy)_MMPnym6z=~6bNVPMS)Utip5dYwugfYicCO3=^*H@g=>aPzsvXkWX+B#fc4zH) ziVqPuXkb!DI&fS5_0!DE><&uguRGkd5S~Fm`PhF@i7(yC+SRErM76h7eEH>l|D zgVuZ#>ia)fBc@~}HkYhlM%sJ%g?Ejc?|1wlDj3QMxNYeE*}Y*1O;Jd-8_b6Aa5}&x z!JZk4CY$Qn4hm?PN$I}smPL1D;LPd*S++BfNnj9@$DWpauA2q3gQO^bx(g`&T?dRP z9HBC-EX~JisSg;YG2jgrBZt_Wbo=mLICNiMXRbY3z%>zbqt|LCz@l0tuKXBggfNfy zR7&6|&?;%~{-2e*pB$z{q{uf`6d4Jkho>xBtPI! zSOql;KBsk#bdLj@=FUHhIJ@O}Ks|XsIW+9qAOHKd6{R^qix^q+o@=)jy7{Ao&YZ=I z%eS5YXx8gY#{^ZT%YQS)2=g3tAP9Jsp(z8=L6`w$0B^{p7+bySd7jBNBS$h+nQr@x zdWA`&2yggo$;$`4-n`*FwNVjXKXdzM1xL{?(h-%Yd~fOie%vZdcC7CQ@FZC9iLRR0JBKvp95Qvq++ zY`Ag!hg&$kth$jp%Q48tA;-c1TQ|c0+3~l2fAu{W{<}~_aG{V))&cG-z;={%P|cT7u-(EI@BuV$H(yJby1sedbk89mW&$ny9-Fm3-_4LR8@&niNSZS)GQ^*#f+6nV* z|IYwt#Q)<8Mp2PZV@f5<2H9cZnY&){gJ7OA18sw{u_Da|H1KFF#qnKr?tn>s#wLs5 zB+SU(t*fW|OHt9UgdFC}zrHvQ^v6=l02{&h`oA_J7`3&vb0+Ah92-_#t!-^vHQ2mv zY{tDzF&q}H3P;lUZ`VV~UKZ!t>W5gG_k{gt^{Nd0jR-PdpLUIIz5!301q!JzSB1i) zPQ&m1TQ{oyaWocEJRcyNy+I{JU{*!kCa9S3v>aBjtZ%;3`?Me@1XVJaufJP^A9v3xraJZWI(7hi>O#%b_krlie2gJ`j&N|`05phKz=$yZT zzh(2AaK_)b_ZxN{?n;GCcj#UPpe0OdJmE(Wh`KU>CwL0)%pi}k?|m92B=4k#ck*KEWW#M#2Xrv8eGBIF>DB&}ebYWo6-4QF4UFkH1m5FE zCBbWZ;1MA1Upe(T^Zn(l-q?Qh}F^rto1|%?++Mc*1@6^AoQ)1O0JoH>eYJ zp~BaI*XQ=@a{EqtoEqCs3A|)`2NuIF*lwmh*VaC+tvBBK!1MKIg{AuTvtZT^F*ac9 zfM59eYASpW?YRq?wI~=}=#Csy|1gxy_m}R)%Be4Y{qszv@29h)QNdeX&C7`oWS=aM zh`h!GZ`CxgCs7Jp9#5LxoSkFDcu|@k{sf|v1K=jMn|u?Tt!Da{zdm7Mmt9;{JEw(` z?h^scDD2iyVBLXo-~GJ?sreD894$MTmWxZR(Lh=hk}12zb{&%3kerzOCMCAxO0v{G zgN1`x^nToNT%YgrbP>An(^-mj1>|{wIz%v>tPC7L#BSOT#`rvt>dDW(H-@UdJINMmBE?Tjc=D$2?h^(~S=#P4_)mVB9L|`m`i)#I>un_qkFS1;}mFPRthHZBU z>NbeO?;Dtt`i(D`(-m2De_`BQf~CSwHTW_Bg+$2vPVjaa+FESXPrL1Q)vJ>QwZ>38 zRH+JOs_Zw~_*rG!1H%!aO%1t(5mb=i(b+J^7?n|NZS58>zelS`wX3UZ01Z5J(HH?@$1^rPMeVUj)q|6gyLd137;(dV7+x4W zxyG#+aWqKiBQOb2p=846TW=QS9;oJ~r;nOX+rX?@h9~oeSS(Jm#U)=?e7_FB@Sz)HoJCHbuG4~fTn~3ZH$|$n4nl;3#o5!1T99>JT7-cDMZHt3t%^o zj}~e~{R8vec7~H<#an#n+oHz^3jHXW22Yo8#jbc4OJl58(&RlmP3gBj>B%DcPlbG!0*+>rV3Y0=By zB${_8gxC&34?w+{!DUqM7wQ;P(1ypk+b_&~DHML*2a_M#x~g_zu&py2M}WWTBme>~ z9R-yz215B%6{0)CsC0H#T{Al;C#Ro8s=)$GP*ZqgCt|iILh?Y-XCmDvEFP-bCu1>; z+-LlSVi8CIgtKN^>x!Yz5R~m#Ghn<9cZM!pAx?mdo+Bff#pChu)=&})%cXi-`DkMD zn3Bqh3KnNv z<$a`Xx)tv=9q-7L`#qhDCTBpV`Ls%vD-t5fk8rGZ*in1aArj?w1oO~{+sw?F^;K92VwJF4Ro}?MgL)C z`x}(T$qqC}w}-2J!vXjoZ8!~vPBel;Mt{rHKC#GC0AiBrQWYvqR0nszAt79fW%Ri0 zLk@m_Nv z33dqo&rl zV^ozG^|K;Ut+t%VvB>ms1z{Wcg{Uu?WB=Qs1m-|$^2hC;p5MFw-YX_~!omvcpPV*~ zFvn1p3HfUuvYX$E#y|on+J5l(cJ_u!NX;r$VG&5j*Du$zXKGFfhc)(Ng83SzpVy+F zk&RCW87o_^CgoTgx3EB`^%jVd6ls3!W_VRpES&t>L{nBEPe@?VLu!9R=eON!!x&35 zb#rrb>b=Wfm5EBsEiLEh2ja@76Swwe5KXSSZ=zO7jV5#S0h|hKih~dn@$vC&$Vh}# z+dOUOU&)^Sz`s790;2W)Q7|JYJ0rqR>*)7mJb$;UI>|dwPt?S}dNv>?WS?V90Gq04 znZ%~ca4%%PW=x15NXftCNCG;YQ3jKpZ;!V4$iIm0ihmvxe)VqLs_I7b0s&yBDk^>4 zN|hJ5HNd~U(d3@@wGDKyM1|M>Gh(MV9&e zs*EKtydc)4^k?;r=gG8SE~}j4K?s-gj%O^k;(Md{DkGj{hrpvVUe}}fQm{ir8a(B+ zjmprb*M6R1Af!T!BerbcXo&AnO4M^rj>-UFxrhJaKa<~4_YZUJ8Lc}OAb6$C^v1IJ zR<-k;T24f&OH7k6+Uqx=MZdCY=o?QuP0PyWlct6>-&6#_zuomdCz6FiGR9(Q13US3 zxziO1%6+3J-0P&V5GAY5^ZIiYEvtUZ9f*n&Q^!)cBE$S+&BrqI*g7dcM8j|aXb&73 zccsRoiclj+Jge@M@+3Z26Q8k_Thi0hCtn-;pZ{UuXh}4vVSb3f60>QpfcYq*X!zQ) z8${tf5eZ9h(lFj2f#!#qK(eF7ME;N%kt}d>XF4+2{-|Ynp`@zx(rUbYU1T@-U?U z9C*ztGS9ti9lJ)@s8YuPa92G$VeyZ^XdB8U%C&(&(oc){>JluOa{q3o`$)+6EG0$E z-z0L(dpJ?Ck2?J5g|Z5IEQ;?!vkw&3N0OL>sduIXa`)g6AT47oV zKj#BUc(x<#K7!Ax$F3xW zX4v1C?9y&AEI#rf0dUmAMVk!LNu55ATM*JsCoZ89SRC(}*w{rx@%PdbbXmr^om!HD z#W~#U6JDA5P0oSAOD$e8WPHneB{zR_c`|%Jh8TT7!7l{~?<;8TvMXgp)oD)JNC;*P zGHzzo%ldCj`U5ezp%I^Yb1IN)>6bIN3!Ot}Te9>JuK7hm)h96W+5@}EQTfzD7t1E) zo^pDhav$J=;joZcp{yp*hL>{h^7LN*4a5aG9CDuw(oMJ;QjYMk{%pSfcK|a{Nu>da z_GAnsyeIle%P;XH{)tC#(U?{P=)pOwxm@Ex+vAVbNn>Z^{@JTz`orF9m}1!KY}-rd zIRAU;UxLn-J6+I1%tqdtmCsn4=A5>>ESo<@NmTl&-w%elBM_!fgqW_NmcVx~K(4sH zP5bNT(&G1it3na1FJgc=&DO&5eeqlfVS%Rlf0F?mAZ?oK4VI4S`mVIhV9Y(fb|A1< zfi1MiA-LkGcU=LyP$QIo)8#5_lwyO~>8dj2(_?{Ax{uXe6p$}a(+YE-{|_%?kh&2V zet=u5r}VLPOOtb}9m+yW(E0HPCIAHmyhZjXukp;#0MkUiPOL5~X?h>oT;vNfe&ze- z%gKx)8t}PJJA7%BZ~Nbym?=O%$@l2^&~Fo<-g&OLcv2;;}?PyNssMK4RK1 zh~a?DfNXM*Mec68#{PGWM9A^Z@>xsS<(Qxl9b!gsf;QfNMC3uDlzs)N%~AQJMDUef z?Rk{gRz-HWQFmoPI7_OJf0ZRZ_Oz4cJQkDxe`~oghUbF_1^vxem5!kaY{%GuwO+pn zNHC5@uddB;O{*I88HiaWkj_uEgk&=sh;zK~#a1jUkE;o5c4GQ>V-t$SQZrn>ZZA%BGNab75DsBnS5E==$ z#P>sqV~K&uKKNN^(WxhTao|5L?}3Qk@tG3hklT=d5B(VQzP|P-J~dMzOrC8j6F21TBd6!&|Y|FBF&v1;sZx`e1-|+z8qQXR+oYD5- zY?{ptXb}=jo>9x?j9`%or9pj)$z687Zjf)q_4&76d3z;r<&SmhIJx8P=r7HoYLdYXVD|Xibv#hbHpIN3f!d3RA~OSS8B&m$ zvH^i5FO=#HhO~FM5K)ym%uVDPg%m%76wPe}I$57{Fmc*B-$T>tc*`REjN}Ww zn^?_(2EybRxS^MuVFr5Nnli;OJ^}|XyImR)2I6~qFC#%{_4!EL1lSLW^w*5#{l*q{ z*5oe8atyT&tlWsM;&3%2$USps51#)WNcOw=$*SJ{X<{Tq9jahf$<9a=8!&CTNsi@O zJ@mhS`6LJBJF0u_`P#aLH~J4!ECtpBRybVH=bFw{9ocZ zbWhJqNl3L~6`aN_Iq(I#qwMPq+yUg~a;7tM`_Y??)3mJJ(qfN(D$-_DU zC&F&}WHCdjNsOsEJTR{rjiPSg&;D)a7;zc87A=exNyvz}ig z&&Xc{hE>l;%f=Y< z>%T@zVbn9#OhxWX+IZ+{Gt~rHs(^UuOQSg?28RODhuG1Wny3h6#J-<2EjChsmCkP{ z)c#+ySh#<&)~X z@OVLqJ_yglyI1`={8}2?G(hU*~ zA?l)VEvw6KVPi!croay$sszoBWKFCf>w^$>Qs!6qr*e&AW85|GDNKJZTPO<@dHt`n zb@g;eP1itUkG+u>sHvn3NO#wq{u+o&0*NTe%FYJ%EQ0g0pVJKz;W`#fRQA)kOvqIx zFbU8UyyA2ViXDtJIsgJGD2x-RhG8bTe#*}&_+LfGO%weZXHny9cT;SX3FVsiZu%(* zGpX@6j#^v4AJii#memS1zTJ+iM6OD6Y=-84_CxJHyM-#ykJX!swpNUcB_Of) zCjPr1tC5P`f6d=Lm&~L4vE-M=FzQX2l+?vh>%;s9e?ctpJw_I+JBIi*!3fEYrQ!PT z;qLdPXl;sahW8du%~cUmpa2pkGA`kai^pG}k7N0hakZ^q?T=MSV!9>Ff3n8{q`OM$ zCwqg9YZ%wWFs|jdjOnp}MBWK$o!lev=BC>%YlG(wT3WTS_vCoR~WlGYx0N=Q%JUap@*pIA{sb zh;ohJJ`;hyqG;v(9P&I*L&j_$RE2Z)8EnlP#GQ5`F#s}B*cf|*AfQ*jw{WRD$;v;Q zYw5pIi7=V?K9C4=1$z;0(?FD7Su5%iC?XO#PBwip)Bw0AWlxfToczVbxl9TM{H^mOFGW(egF|Nnb~U;qnE z1D`5NT%<@0t~Tl+BK5iy$-(9lC?;oJ^;QfL3Eff( zMVuS)0@J_qjSco4RXtx23jUs@VWD*Xw3X}CcZ?Hc(h}eBdIr3@{|d5R?^LP$^Zt3& zRnd5fbrl=&CDPk#SN|@2LN)+wNfMTNpk2(?I^T|y$*A!9_to`L+w_mFN&1xc6%zvF z2@U|>>vQ)DQO~Ct#c+DL>5gC08I)gzy9~1_>KG6I`vxTP;m0#EQLlP~IqA+g_}Xg3 zM?T2h2T3>rup;3O^OWzj^xrs=7Ra(QJVIkr`^TejOAs*eGO+=;t_I@KP{SH=>|k-W z9YHucT0JB#<77K;$=+tYu$Ww_=@I+y`<(LLCq1a9BzdfkF9??$PZyD8KlU6DObUbM z8cjpUYvLq_z}Ne^34w3he>!@IDKvlgQcNNY_x(ul$LNW(brQ89UMJE#SwT+y(ZQ!huYO4{sk7t*$JHC&S8#1c+~>#ijwd%=fdbw49e+1v5VJI+rSuP zr|V$E>WVFyK_#)>FUW|KIeo8VYlBCkeVPxaMBF_!T_ zxJs8X#-SE>IC+C_jpt}-jxi3odA6CU#KG)MUBGgmSb-CsSXfPtMOL>X;q8z>gUkAG9uy~5Ltz7cGD;2VKEAH+ z{Wi!n?2h@~aMW#CLK0d^PBrx)kE4kI@=do zHRhlareko|g?|H{)V~aq`cQitnr7CEbjB;rN&Bns`!%bn0-4=2B>;Gs zTEi?tH3|j^HT`dEh2B~m$-^U{__F+^?-s`T(ssv5SP@&BigN!pwY1d#vNk5HtFQj%KfqB9T z1TUdPw|QKe^CAncI1Vv40%$4ee{>7shC#iMo!bGi+KJzJ$))i!1(oM-~ z|B$BARti0xb%TfAel(5uujEwGdZRt>VQBAB&wSCS9AwUZgbI|6@T@pvlWc?RGVeYb zuWdt$56@k%;|cgw6%HitJ+G=GV0XfiJS+Ky`LXL`6zc8Z6ZjDx#6BL6#rXI&!f~UP zJU|my$kk%b($9ZtdkB+bcpfxJ!I690DUX=VpDqD6#ivUV8H$x#FG*LVpDK}L#cuc2 zZNrHpknP9P0YJz-LGiY>t`1CG$y}+go(IK+S)NTGSNAD1Bw_{BOD?A}U#)^}eIt_nC=dIAer=Wd?N53wm|E`fPrwWAF84aB06z#{j} zuRNy48NiFj{4U67EiWw4m-;lSk2+lm6r#9{7yzK`<&XkugKyMWN=r&IyiRzFMulGP zHi>!c;+9sw^pPs-&Z&`yq}dv{jT*zEfv=FZY}8dNBSLk^`Xc zfNT0~c4ud2&H#8$GKn5=QWoqypvx|-cRx3FXStHYNLk8Wf*VxM^ZP$z0fK^(VYfho z`ksrGy*=yB+mYS?SY+R;T(Xf=p3|&Av?h=zUQZYr&D7;l>U{3ca`Pl$Rz|Xz{#dIVk(RcXTDrb$#);oh+pf+|{lp76YgcAC=jt)qB z`kf4y@xt<%W7wmrraeijL|xf~1j^RkN~+K3*x)c@Yr3AzvrdGOxffD$lL?JS?9X3t zG$HKAaL$#bz6u5oOw<80nYq557&4H7jmtuy_^_;jrA^sd{cn}$`D+# zwPZ4^BSD^>gr;Y(9svu5OGptrVmCY)B4mj=DJiLPDhapE{BSZy_6G9x+)Sy)kb!8B z2IAQU?A)!FGckWPT!1c*m!`@RL!4B|98TZ#Q~*0`*H>;LOu^ch}a!>&?zJdTiU#16PIb#M?%UP8XEfg`Z_u~p#4H! z9S$$`uat5Myz*nt?EU^NRU{I+Lxtm_Olr{XD=1ImI&TCT!z9h6_rAc}3DI@*qld>$ zWz!EkMR)i<9`l$FCxP@aLIEhz`xHHcI>x}mi#Wg|yb(qz(h-QKP&mcfdNrx!d+`I5 zxc9 znYy8LNv{jLs`6+sbT626N&bAj%McD(Y7DT<5)S0(FAZ|Y_(#w!PCvS9B#D zFy#o`Y%@k^wiU;%jLpjAwesR5C4_B&-#M{i-WG)OGVqAG+1W;0{jnkIwco&Iz#~uS#P(( zFc<4rP8qYK$z-mjo)LdZA~;457Wqs#V#?|AbND-y>Ujyc*yTlQ8K3Dy@@cSSNhR}E@p>^hcX&|D6xRo#~ROSrxk(wOW{Y|hyj0H9B&w^dk$scH8J=tcp^bhXAMdF zirg(F*Vtg&(?4z=Cy1IeA`i?UuElJ#)KH8O-nk8M#i_i*YnrQ%=bd-@;mX|cK%3av zVo@2X+#ZLHU^BnbQ7@FmH%t(HzTkRQzl@s8kUXtW$QY={N&<|q$V+PyDv0m4*tdW2 z*d;eJmw(Uv!>7e}`{HXUaSG9#o%WA+^UB&n#&>5v!gclvlBlK?olBG`vTjY6A3UKk zPz(uFeomRL_}rbX`_KFp7&DdqSAk`GZyCFBo#rl}hWT`8@VW^4Wv;KY#n8>qQtg_oPL>=0dS)*3 zc9|d%vj3J~a#AG_&>DZo@mz*XN0%%(i~aCs0Ei~{1T7p78U{Ys=Y3?rAAk6W1zJoj zC>Vk#qyuD_Nl@A$oF^%ZU31gY*)0HPlBLdi62bxXsy< zl^4T14=y9K9ft(oxwdUvtDbbzJWVbz!I%1X+WWgOel zg0`7@40*3izO8=e37k>(?kxplXC`wTTdfhuLaXahgS>Aw2iwesVY1rw^L0y>f&q|d zc>kdeQMiXkp@pRj5?4M@Xq@xUmHhI^3hA-)@pmiA)&kpZ!7+ieA8XH7B?bo1fth+9 z*Q~yGk;IkHFQ*j`>vh6U3#h`+yMb;@`p+r>RLNH2L*PI%CQ#x|0)^44DohoV$H%o- zG~C(q&AuUn{6`9=b`W88)VP}X>fB^C_M(Y0ps(KcI^W*j2 z4J*a}9&k%#tc-rYfiMqUi_z&!5qk#$A^JX*xm$HpA$)n)cfq!m{-|614`DTPseuT&QhK*HHcFlibY*xAmuBnda;lV+cI)1nWXgq3H{%#D07mJC?~wn6h#GYFrdqAU5b8Sw=?D?a`LQIAwKNu%WiMN!virts@ugaMkq zwrR+rvx*)r65Hh+p%*tn1eVTeg*DG?^bDH6>i_vjMUG=7CO$Z3QvD$~0M=7xwX?PlYrC@k_7`Bk^y1K$w$2<)G)N zr&ZPWA__4CT$dX7fL0__g~_CMCLJXxO4M6VU_*XXwqF<67J2!Lb^z|y)5F*gX@Z~dquS>*3vKt`4FZ^ca>gZ-f=Z?ps~jknZ*@>2HvSD#(UQ^8V~ z8*0a4$|c;k$w@}O?Iv{tjc2~0);C=}j}&%kF#G8?ksdmv;&f)IzbLd3t(RPdZBJ=; z5guaGD2uMJfc{_%`?NF6J#YV7Q!-;Khd26q!q&6$>=;I)bW(8(gr9ZdT5GlfiCA))kDvkn)<NS3A*Ez8g37c|aGZTzE zue-L?OS&565@128^@EY+#^?YomEhI3(xCn2ug7)TQuH1)p!F*6|CRdXdNi3*LGyxQ z-Ize%%G;wNZ;>Wcef&IkFym`^7drAFy8%S?&yFZB`0uu9Uw1MOXkX}O)w*?6S8PPp zOuN(BHt4Er{Nh*A3Gwb+cXcoAF>-XXgS%@kcbmkqHL#FBSQdDQUOp37xI4n#aph6g zf`(q9%gQ?rpNZ@ml&%W#x@=kX?taIZ*;hv={4RZk(n&V#Ugw?AtVL;$= zcq%=dsys~Ro!B77@0jnJ3Lbo7s;&&Gcwg0fDaD6m6m0GbxZIXK`qEz;X~id1KU_xI zEZBX7;|_g`u$#K}L=)#?IFQWe!a!i#;RsqEeImm!bvx)D@>zYtZO9x+-9G%xy@1?* zPWWP{oI-UxarWeDF>}WdWdoCawj=z#{8ILX~hw7jru%^VQzDpF<42)=R!0 ztJnuWf2n#tm??;1n2gWqv}+$Bng6l5gmehVXLv$I z@cGdy8uPTe9QITcZImHTA&7klOmm#I>&z2SQ7BAoNLPkkGe3pPV>8_T{j7bP1`h{U?}}IoEd{Ty~ZD9H9jIu&H?v8 z%t+?}b)x$~futxDg_S7;evOjvyGTY2@^}eb{)dm`N<9=g#ht!S@fMk$8w0b^^?PBm zaD4c_VaXHj)78iF>?7Aq)ca}?d7Z1o>+6HE6jG8ly$>^PLJo6zK=DUcVtx*>U%~oY zIh|*E!G9HoK*V;Hxf)3LsMcvMDVevAtg}=gF98xnp-UX|#Iw>VmMi{%VDC_zR+3eE z=qCdm8m^?NdD`A$;(!Ix32E(+#+_~US#vl8LuAxp>PqE4ZjCNSNV4}bBuNit9Tn6` z>^$ewb&}14+~h#OwegZd{1SuASN|g@=DxUyB*R~I{OsYOneLYN2l=rVMYwWP?5n!g z5>^6e>dQs(TLH6GCdJO|KSmwUU8m&DRTJW?wI0%gPX#WPO*q;FsLdt9u1tAc+r|z5 zv7cL^swf&w#}U3kg`6@Dx{rv|0%+!df?y-R>#o3Ip*S*rG!>)}5zw4Os-y(LUTRs52 z)>5t6^CFj33Y&~fm!ei}ki!tr6tAcgq`7>#OqG5t(@h~y;Ep&jubx8XE)M;(k?Xx( zfHn|iW49L~!Yp#+_vq_aG8XGG7 zA6F1sUdW+GS!E4Lqff$A2fg3PG{lSX6YlzUARd9T$^aT@o+wLG>f1q2_$cB38^|ZCI;gD)r1df9|pX7LjbzmkAisX)+QA%r9$flj@$GeaK|K2NPVxb80hcXk=W*4J+UmmU!G6 z<;TCnikw$zBPB_tQNYU0n;)MVCWKws$i?UQ@j9@r$S^s~jR1Owh~K|c=!bS55(9%B zv;2!<{@N@79B$M+-uQ7^W9Z}W^)p{fgh>D-?tcLes2z4xmU^n}tn!@blQxVsrN_Vf zC{jxBI+KEr=Z?QJI#=MMrtC$JD_UB5z`VVbkT3H?F;|5{_8?*L3twf_%uqR*h=Jc$g)^ z?yy1mkQJJb#qP^Cmdl>6l;}dwM;yq)+T-K3yyBv0*fpHmANg&L&VIt5Hm_;Xrt|td z$^S^MH~V7moXZFwf8Hb=^aVEUEfu{klDxSjfa+_TyD=%IzVNPltKJUUpzCkZ!iwfp z`E@cJ*R*4(1l>GCyYcXPkHa2-B45?MrieV$s@aGU37aB1Lv|#qL$PW2Duf@Ry+=u1B z>bDeMawjHaPGU_a1-p;IR;zdr#tE@;sOqa>3Y6TD9O_ciIMwr6G+Y!ic#-j4rpr;p z)Mq9{IMno9R>f9?>WhkbQ!?iHlLHdJNAqM-5(vyCqk0r%?_T<%-T-@$@Ixv9v)xfc z^Epj!jN$zvj-w#ax3*@(m!E~14)^Fl`|Y&Tw@N$BL{nD=6PJSW`ugdRPlv0%n{{i? z`wa%o4@>qezB~#XPm43ztdB#ibjKQrg-Z zZM%c4qu@-tXOp~{u&EEg8=678N@3JLeC2dp#Has zoe~1lEh$JV-AH#H8V*QHj!Jj8Aky6&x*HDNEg;?9@C^U8zH9v+F1dhuiWNpqPI zPEy)FL;3w1P|95b@1UqwF=yYwn~~A=$$BX$dkc`! zExt7kR`G-tki=AL4NWM*GqL|0f{@tN$fg^rA|)lB$wb!^*`@5ZxK$rm2t z6~m9SZ(gFhL~dYI-M?V8Y2oOpyNO#`jqPk5=~JFyV?G!_<-*sfMVDU{Czp)IC6iUzlo=gAnE0`n z3&#iC%TxZgy+9kobI7rV+0R-gX?`7vi1#|{LLFL~sv3N&{k#tK!rN?i;m3T1VS8wI zU3St}B-;>8)@Cs2oqI?Ec&p$0_OqL5EG4ZHYmeX-_h4J?RpWUcy@hm0CV=5vy%HRT^bQ*i$9ci)a+GD#_#H789>; zo32_K<3x5Lj~Reg$hJ^3R2OQR)4g`MbFfSE`75~^?0El;=P?q2mNC5v3cR=D9*4tY zE}QY)7w7YQJlr6Eu{t-IA9s*+J3Ka(U5;4ZWiIFfZAOyHk~2ADdn0x-`WLrXx8J5W zuM8DCXLrMx88aE0_CM1E zn%zIWB#o&}Bk|;ER4xV2N*}$BB+PR%Wk++{q-?XVrM?gVI`Qv#Y%3MD=00xwpo3*@ z8c>*mQFnvV>zu84f=5OEu3~aQidrs@QZu5iVBF87m2Gr3|Tux4ZKfaBB8kLqIX4$0E7&+Q?zCX6Z;Gk?4O!7Ql ztwoq`O@)J|cI(=1{eq;|0!f7e8H#HrH8o{UJ~>O@rNa?veYXyJ<>r0>`N6$3o+kJD)BZ=n+<_Z@^16Nd*^zF4>Oj|B zY+h+PYSkZN4rn|z!)bg5sS`H7E=Ed6e|2oz~TBU4ad%k&_qEQj7DP<%^*$ig^(D`S@ zHYr7%F}8|XBy&Assh(4o<`Kl~{V(LLf?bfYqvgc5540OT`Sz3=2gzBj1V^NKue*Ju z-y1QT2#q%zv+Ok`4muJVGz^D9jlVlYkVt@wdj)^d#!y(obISbSG&MyilVHHjQ3Rs`Ooxw@Nq88&AEf_Wl~U~Yq{!TWn^Ode5{bn zW!Z9n5wpAOwwd}attXrmb$5Wqda9`IV$S+A=2Ln#UC#iVofQ-Sj2}n9Y355}LJXwc z>B-3-X!>P_ZLTf1i|mkYPjEESA19@G?Tf4M6hf5W2>bxqo(*(dfw8SQ!PB5KrUnK4nC zDJzIxuvvjV2aL!<<_ z4wo=OiwHM|``8LN(V%(cfwWg?{uCdt642JiVW1)c%;=co{Zr>$f*;Ej_$Onf?4ab@ z+NamJijVzTZ-{-(sap&e?wBE-DmWH4h9w_}bWmi*$SFXu%=ewjqp+08(su zqn+smXhF_ospuZfr}Le@IYaA|)U6WNsW}=c`5f=cwy7iu|D|^A4lmBwf5^1%e5WGk zMvrwrF@a)ym zjzBexFhsi6OlA3*COA9aM#dxKl1ZAKnR#fLUQW+WUt@VKVM@?9;?!LcXv9YcMOFNc z#`8kQK1Q3JtgCK;!(W_dyt^tjlapI&GgLYwm75`(I|Lw3;hWWC$+sTh6s1!a;go0^ z#POYry^QtukFDAY(na}M$E~dllXc(U0C;lVOb`R`EZUTEAptx=V03>d*;Eq|8nwn8?zH7HG<r!U8f`49)BE?0M;MPMxLyHZrvar>5Z;ViJ}mb`lPk`DWzq9md+a8r)7+G>Ep6GWSMaI`~t z&Q`Z&KQP|s2EF&uLoebZxFy)?8{40Hpx4x=2AJ_NWJ71gZpb#Q>^07Pj(qzDb+`>4 zG6%?klc1q^3}s`&bs9X?tmiwN9s3>J!_sM1RPD<$W*aN!WJE&V@a#8t%UcvwhH-h= zyoN(Uw|DzL8XmkZfi%yvHGJ7QDZVINp%&eP52F^e(F(5ALfU1ukmc~X=$(?xdxV8d=Lo4mK*DkO|N9 zKLs`(#*761LAK7U$d5A0CuUrPlM4i)pBIJ%!Qcy+>AVLeenzwP{~fi3g1ZB)!Y?Uz z_|weUd1vB(252bYxp&NC>q6glFFUPi`iNK51K>L^a@5|+lfsT13 zv}o+a2rTw!mWU5sx6-&vdNs`PX4^W4SG$QuR4op3Zq+nu=?fX1q0zm5xq4rREH|5P z4i?-_mkr9@#mzIC8mpL%iN|x~gugB$(1xdevFiNfL(JX6jF?c>-Z1l_JLHcii*1~l zGG4L^pK)a%ksp=$mEQ)U^}!dLFMv^JOjDygF;hr9W}y@fpIa!?0IfiH73mpCJZVeU zVmp<>yucTNUmH`-DdXT0&CM<(fGcbr33pLxztQmJnp9KB;cB~Vs~r8yYE>Q$uJWuF ze1Sd`$>pkbM1PJuH(%T*~y2UN>BTo%oe7Uk%bbNz1atu;1{h2SG0k8QO;Vlzf zfsO&loV664rwT|Gs$kj_oxs=neYrd68d>r@9R$N>x8PQe z>YMoZ_@|sX8@h|(nCy4#E6|rV2Tq69cXoEv3f1qgdW0XkSiRY;Cg}g~&V#l%KYJur z%D zA&RTXKS@6q_voF^iL zv$ct#bsHI#v9M<%9o8*Vc#tBSTSkSpv7{;4o7f&q%%S`>m--aU^D2_CGAwj4t(U7z zsu0@}qRtWXg2`Um%~LEi{2eoG5$uHH_}Kt=B^pkY$Wl&KPJMqk3AMD;TRf*&IxbNW z{ebp#W+2PVKVp$2@y!A{mJYGFb0CzdN0<7y$W4^fwK`&*Li3S zc#&%d=;nhYGlyr?qEK7hLhuxB>=L0DF6s^FzffcyFf5cDYK zk5iEpj5K(x{R+Ki;@=mt!C*l70UGR=a~Jp6hd~<-30t`gb?H}7T*GO(*BEbqKv_M^ zlgoP#1WjRT8k!cN@A80_te7(f7?$?kKQ~nq<7_mSQ{hLa>&q6|RV7Y>SL2MBYw)g8 zXeY$8m7IZ=6Q)V-FhuPy4$%byh~wP`@rCbqv<&h?HBQpvbU$())WR1d7%WtKR-ux* zBp)wtH}=V3=m{MtXr?rv7YAp%`{G}8_t0Y;CbXm=j5Zod!eggEH~44WBmAv{nDcfK za`8sVD2EJJb?y6CdV{IK(m%CI8_)0Fcz^p08Rt{hvvLtDQjp*iuh9oKc4N>r^wNl> zm56yXyfx zjVy>?av0`+dX)H&arDm-Sz2YXFbOw$?o8N?SeQ;oseEZ(=uS1$6*x8j&Tn=)0wn;J zea`28ik)ERLv0muU|YaT(tRr@n=Fl|BxxNOx(79jA5Th9Q%}2J$Xt=jx7+QtFFTn^ z^|BLzasE^h*F2MYSxrl3FJjxJgpt7W7IIG+BfKu0Xd+CqOSRKu#~IN+6_T%++Apt{ z#6Ux*rn1_>`2uyfm_-DScW!R6rrXzqQ0m<7scdyywMJsu+<0tBAT`< zCk?Uas6!V4SY#5aP5o;VXQ+**pHd8iWyDk*ba4!3Ilk&YxJw(xYa=$;cHE0>CRz8M zOMXR~nWfYvmY9=v@M{nuHY8HYIW=~c>z z*Ep_K6hDw@fiV8mMrJOY_M&om9n(nA@+I0Icq|9Xc)^ zo@H0i&$8r3_Y^#FCoyVci)HEf%G~-KE!&B7JYZ&`F#Q|(Yk%)iDF6`!T79nWv9G2U z2THbjnDoLI+vN$Ho#x-GywVFaGYNOCRJM4)Xcf6VSxQ#*4EE!$p;7K3O{UkdX3@tV zMOBdb_1Pz>fms#@*8sWb@2uJF=R^AEaNoPiuIo>-1@at*Mg~<*?3d-QpeZsxJS$Ze z{#nL$CJ~Ayc)XprZGE46-TJbU#??1GIRr@XuBtQQOaj+zBbA+hNRO+6fq%|FbM3Zo zz}mu++Us<6*-}ik`FV>_DdeqWWg#jT;zDALxn41ghvfW1Zni83`2){%ocyOG&e^&L3!L zf?4B~C?8)Y4xrB$5tVlaQk%Nud8Kgs!42liF0Og>bt|m48zY2fYN0C8S#z4^-TkVa zOfIQxkjF*greQLVLvH)&cVkBs1G|vr(hO==6Jy z{UEoHdkMpm`mEz&^w%u%aSG;!mgqwmg8LudyBjdx%ejOOnqCbu+GW=Rbe)bPD;b`W zFWVdxw6h{T$T@FQUmaF+@r>s^r&N3?&0SX!mh!bgVuBjm=k~YHQs%+rs+TLYy@UQV zD5tx)ICYp#T7_YoR65#%@92!SJaTk@p88Ku*_f&q}f2Z8U>Qz29|MYdBREE<8AhirsaD^iNP6B5m4Iw%D#j zy8zLim@iJZ*mS&nCEw%N-?|-Q@oT+t(v?veacZN30C+>Z_K|Ykbp$}&$Hl^4H(p6J z__d*gf~L94BU^d?FJ#l9#cbOZKA1sJ&SI7Fu7}wt8|5+>2oI$2`c>)NfzN+2B*+ zjhE30{GU8_6bniFG)V<@{EEURDYus5K8oR+&7Fj~zS#Q{{?g_1-wkBmCx2ebju~Y~ zCUKF4bW$d%BJGxSRvV)XxUUsYYjBtRQQue?{-uRq3{<3kw^jCVY_V2teR_ti;xf9T zs2=Ny0D4E*PgALLYl{nm^}07=oFaHekAo^6qLKTk-7Z8<-wwLNAA_l!Cb^D18ZDkb zPF!doZ+Noji^o0#Jvl^qffmO#{|I>{?Gp9L$8OT~Rt=So< z?ENu@#HFoB-YwM1?H+yU1y+#GC@v=NL9Z8P>3b5&!5RlV3za;B2Rir?qU;ImxptJo z!RXkmR2T+XMsRQX)EF<>34#erwPtW{;1n~ZZ7tsPrYAlVwED!700KjaKM%$CSgAG# zfa6<(MNsppHscGc|CYsJtJ)>S)xpmu>L}ldJvB;UN|WhdVo-U|Xa4)jh^4d_$MH^zT3HRE`MsT1I_+%UG$c5>U?}MHR%ItF^M13 z-zX|nYvV0S-Wea7^rZXwL#*d=Z_5>biDBIgmU>qj_hQ+`g%TP{g~cXQ%hd6gymbqh zCzKx#JQ@iRv+2|8CyFxvZ6q2n5tk5us*Cf`u@b0nJfgbD+yFn ziKeBNcjKAMLpR2cWn*~0jT)Q~{qc@SV2O+VpM@ziY&z6Zr{;ZGQI=HjTa_R_rKZ+& z>+T)v00Yk@@t(IgTAY@eqzv)p=#))=pgU;cG^&u`*z)LMa*w%egX)k3UUmGzrv5*ANY>L z66yT1`<=yD$2-}mlC?A~4PBjRCL5G-w*{b+3!#0#oD2{vS}@4j`xYP@drBP=!R7f5*6i;Q zI4Soy=|-b;TfC+9oQvD!-s`)WFUEFhL#HUbdHf{n2ayb3gm7Kf!^ESD**gN%)Q?d9 z7*mDT$>aLBAz{l@))J+#8{JGU*X`_X0?^J#3JJ+zpeoyvLmo$ZEGZ)h&ss4$OVA#k zRr>q1`q030`^;X262?&Ss&Y(vUO|+Sb0KqHMuiE1TaT=QcSr|GjuVFn>Pj}hKxS0s zQ>j8OqYeUZHB2BD`jzhE(1;R&{@GmL!{eXN$+?Gnd4vzz1Erb#xOn3qR`l?PfgNGcfMLF*=(hZEl=>Y)M5&UO!B6dr))u;Bm;Gsee0-XKBCUH}r?KdYyfY)L zcujV;@x9VxjqaWPD`PV90cxWD zfV&T*^L4nhNh!X5{ev?~#Jrbq#|Ykkc_*6rNd|$(>6$rc4=){$aUc_UCm-|2nVXbi zRIv!CT=?0Q;Xx6_ZdpFPRglnb;+pLJ(FH%fGvuFYHUls;s&-K-AVqoZ)F`kUoy2iv zll7xTDMAewR~F~?g&0y`Z*=t4O#LW$*CW*CnZP4WXNk9zs}ejvkwslfYjB_JpE5C* zm7Jeqng66UjZsX>W4~I$Y5vQzodIGc*`@h18OeWge{S?T&hPh~RrkbDg_InIX_u(E ztV-F}mo@u|=mgr{fK`$SZA_K1+Nes{+4G4&A8uHX+o7ndOWD*nFD`X#MQ+&7GMJkP zq3k^Tg&IlaIKkdPpae7S%MW|}9im>dHoLH#92kbq%M@5D?2W&jDYz+`e1hEE-q)9x zhGLQP1L*|lIW3q;hfJ)DVmWpR@I@MD0C`RvD{B)p&T#=>crG{{yO^B!N>tHN_bwDB zC(5j^;s*X*h=_3(PnUo;J(i~M{xw;f={BuiJ=-(<%;!F2@l)n2EixuZNR7SDlEKGx}F*N?g zexa-CIy*qOl8a3{7lhPh2HQN2z*C++*n5Ta( z_n?%l#|yM!)4279xX2ikVxM@#6rPtO5gH}5*-28)ziLp#Y`k9^`YUSUnb?5>ZE!&9 zdw_i(x!0Y{fJudT^Ag&AV6ih(Tld_BpIY0PNaRtcoi^eS^7KesU$AniV0vfowbY|w z_%@&P5;Wf^`h8XZ6OQ^vWjXU^m_wq#+F61o^o$sE;<@Ba?@rjE6POam=vNQ1wTP?} zizT$Ap>g|GRzO~vbrSVXFB^!`bD94GC{qGZ#(G|wwd<)9CqQ|f!gLkhUc(dLN=YAt zNVOgO68#%1)w_CBd8m<{^--Q*v^Hr>?#J=OLFmksR?n}ii#JR4YeW3>$i_l9SeM>r zIenV`9#_eTKJq3yBHgr>))%(7p6jv(soa(vm~HT|-({jPB;VYgnNWesmanV^5aMz& z>NSo%E*GO3E2i>Qb3Qz4jwvh}%^)du#s-;U-Io?+|6e>n0Lcm~^9?L}n_1OKYcFEO zU^&F5EST|2Lgp%2pi`Bo2=hdzUIf>+lDqS}m;e_SzKd2$N& zspYTZ=ZZq7|ALFHab1Gv|Fm^70joAggoXbEV|K( zia7?V=KAbR@9_;uZ6=|D5~=v3$l1uBiG!j6*?zYU9_F-3IUTb7;Y>llY{~>{*WWsX zW#K~cb>`-f8GKT6_g@D2kS_kE5&`uM9B-*VmlQQb^c#WLVI;?aNzydqK#*JxOI^8< znxmxSdZhBo9hwFkByiOK$!Bfyof2u{FL7eBEv6w4wL0vYC+i_jcB|s2^++U($+>dr zZQqh}?AA>J8x-P+NwxSKWUPzEF}3T`?ZbY&Cv(^{Xd%@^1q&tOWD@9q$g4i;^>E3h z4mD+vu;D%ok1@i<%lHBL)RL0)A86ZZjA5--{qv$eN8zm%;-@dxR|+{B zJMvSlY`)!=2dq_33f~X8V$L3>m+CzL+hXm^L1TGQL)7S46=Nj>uZXL07~-W4>u;9~ z9{Xv2&u)%XSTH1hVCj$=mE#z1G&(=2EA^h4vr+uTmhCRJT^|M5ygIfEPf`$ zPw69unV!)LKU`@OW~@jDf zdL>6c-s}wZVl?&;54DU%!wu_E6|3f$*O}+znEw=>yEjy; z)b7Vyh18iL!Tj3QvU`YdG%$&6EFLOBHCmBZM&!t8R|N>zy5?wWlf-P};ZG0S54BIf ze>x*auGCMH@Qh(MKYujmL1XMG_Tq&te@FQ!yIb+~de`~ryol=|OiWF+cxQj%12WRt zhsleOcjDmIycuw_Aa^JG>x-r;rr&z~CldHB0z7L)y_o72-P))uR^QaPF4USv*D;9Y zL)6FMJpj>$bMTI-F+E!wmbw@?)C%7&EeiNF!auUJsbQn=t;x>S7nQ3~&Bo28$v6_;rJNuqa*~hcgf#%9=BV2M{`u?7*4^)Qj)f_>wM65|1E+ zpW#~4%kT*x4=6i@4-eYPCNq25hMzk>0lz0Y+K)gJmQuDxBfgqZ4 zKd|4CMDM!cPv!G@e&bK!Z?EH7By#VvuARV%SZ(!WEtsOT^2z{kto+L*-zw+6Gm z!#pW)d-hMO(sfp_gA}{JkTEwtE}VsRwyC;~cX1)DjD*ufjagfZh@3n~T@r33V+C#K z_6nyw12(7Kk#CVYvHai zL_LEKL1jn0DVogRIH+_fA=|f_)PL{IXNRX_+q)5l_EIT9C)TY`^vp)J=YH)Dz$c+_-4-UGhoZX-jnA@K+|4m9S5r?Cyss zuj359#oHItlpE4HZ{25o@K(E( ztX@;u4upmo7PCV-cF?>wP58{$9a62+*TOrPuGb^;rnu6YEW#>27J6XV)%RgaC0Q}@Bw<9_s zkLMU(mB!yT6SZjM^I4KqonE=s?Z?nt=JBRqT-}?I!L08eXn&RANBt=MaS?tIK<4pv z>EzY6!wO^MDs(tq!c-KgQoPlQu9E=SvrMj1j&Bgnx^4b&(R~=&a^F^(nMG}NYB)g? zH5PqR5gZ-0jh5#Wk`!4(3lKWWGurVmhHhe~RBJ9h{Pn=$LxwNA<4+@L9aiU;RU6OtJ2}51*aTVT zI3v<3BhFLev0j$yHu)9rVPvkCRT3T${g& zSzY2=AiWW3w$pjel&iXc0c@aM+BCmdUSeRwf}>4lz{U!ejnln@J{7Gv)?vkUzxw$< ztw3nW>n20aO%k%osS?ICAkS|VADg10&2L~40Tk!6NuI*ZrERI!t<5-;vFWnSikhnU^wkXz&Hh43 zLO(oeRqZ5oVW!%*`qAxs3vH=&Fg{O39V9tyyxh2Zb(s4}D?Tpp)*n;cq}#ZWu5_@- z2}u5q=|Ezp zeg<~-K=#XKBvCGqqcRtZ@nbwF${|{gD2oA?DJ+>*ngeu?*oS_;bqyAR3*ZnQqQDy< zxu2SR*7?kG`3f`Qs0srTBxJK>h2J9l131V9UmN5X?bg*b;YV9|qH3%5-J9RNIbyCBaMMQ`>UsHOM2rYKTM&Wx>1WhI^!}^; z`+u71scB8IUx>Hv24qE6#+Zdj&zZ6-LZ^z{KFeZS)WvfW;uu&B{8b-=%bLmo%!}B` zm_MkAuf!TH4(M$N$B4ncN}^*EwgDs0%s(;rh`rMDLth6wJr;kqa+>cq9daHv6It$t zs!9+vU(fx?^`?;+kVGfpb>E`L3h;n0gw48GQriZ8R1h$Whw4y9YUYY>*wy70Z)A_+ zDi1=Bzp0tE&!|>>NE>1sFx;*JCP$@lP~xSi35pbGsY=6(zX2TuXXOpvDcYh1ps%HfX2s8j%1|KiB%n$N7k6v3qroUGc%!QGC|2zrP+r8&9 zzJkZ>H*TdY+wyYbdwffP&ugOwGBVfJ zgJpI~;8kWkULfVn%#p}4ci~= z#AEN2`W40XVU8h0nZVkzpR1ZVIQBi4F?sf0L|{2BsIQBK)AKZoXhE5YGhq~WxLe*H zZ?DEqhoj=9vN#wQaiW1pLC=qdqQ22E>DcbV0hxZ8T3$k%fmHQ+-ag{!0I!S0MY_RI zV#m*8&2>yv4jo?*@9rA{36&0y1rvO>k9_MMlrrbPfDnHdCt^s{S)ln zL+IO*Mj45pPYw;Yh+#h{kKh&@WUbLNAmwkGSlEx5wAQfIi=`|knoBdDZ`~ouW{=_F z%wnE1O3u&e^iR+?V6z<45USo?!Ou3MD=)3P&xqL55b^@Fp_7rC)JwC8fz+D6i0#MO zRQgn{CFg=wW6?>4%w#6hBqyg1#*a=;kd~Lu5^3g`)l2kFr+&K40+RU>iAS7 zDV`sV4qm@=fBZQ)?e-=lt@T*ScT`FmC2+-wqug|@n_Bi%$%Dm=Eplj`IZm_jA9-mr z@J;7mZ~q@)xuB%J&bF6|s&J{0$s;7GWryujx6avaAX!lvG2+OE%it!AsldA1C!B7d zdfW;dH5}s>W*Hjo(2>VRfsjGN{?S3wL#IIS^PF-KJG*tl_Ga2emlkerlE9a$TG=2Q zW=e!)5PWk78puPMO+bra|AON{p%n`+=<7N|676q zx3#NJp0gd9)OrKfs{}YjfeslEZk7%Do6m~0D*ujkP`QC{GZ8A*zT3Sw zjhi6pX%PU2_8=b$o+fw;La3gMkK`VE?B~{pOOvg_5677FwK z)zs}T?RUrZkBE^FWwsij9IJ1hOB)9s3JY)Qeh%INVh{Nrf(G9Tf3}Oqs%CN2IK8)I zc(>$0C+M#B#b9~xL9)t=37i>`XU5aS{crVh5eVje=L12a|sNedKjcS{`lnHtd zR6id`{p|JO(Og*M{53<72^%Uhgx1?hmRAu0S5h;;`mcBB+jqecmLO1xmQZAu(s4liw!f@VPts-e_`KiQ(4SDHc{t`q1DHzolpvJ z)O?8kV4WyJ+9rRwz}!c>&8KRBNZK%8@g)4`J_TJCl4f9#(@jT*U--ihzYr+62ZS=NEq z!Of)x>*89T5qh6I%YMFvqgz(!_eCI4b6+W$Ib@!O#--oN(sH>w+LGA1^tVM-oaf2i zuA-gwvIPeOBHFRRl5%A+qJ)4a7$h!DEt3BEdjyvpgOovux3~(+8@LOa_qvNFTSrdl zSYlk+XGl+;mWVV8m_=0b=!%E7m~CKQ%$|lZQ0Xw`Y02~t%tq$vy^)Q`uL301MtWyf z219DzUYxY|!J6Q()j0dp$7U}?X)}&_<}qW*Jx%5pvu%5c;saV)d{$zVsie^TeQ45< z?_yF_jJmVi`E;|>3VXm?ePgjto2S-oO}Ir>PIXmw#@%Rycb4~0_Z8&Zy>Qq!x`k>AbeUirfgluAycfUhAP`82m`JnN{jR|i;_j)bDyHODIQ;I7{+xvXL#MO}KxvVGSw1rT8;kpGl7V)dEP<=ZVva-pHja?$vwpuT$GD$vjuK33@ zOB0)RZW~R`MAt$TZ4$ypM_UEpzL6#4BqR!XIve%S4!wv=nyKB$d2`ruAHo@qxW-C>V%DVs!w>30*U=?dSwzc$ zjH#Pi$h}Scy&s)-DOl^FWE}wFu3o=_ZgG;$O+3M?<&i4JGnlA(b)VV)YxzO^% z;%G?Xn_BWsmmWOG#iaVFV|I;~i%M=qRBof8#i!FwMe_5kS;a2K2^CKA3yHcqZX@rj zIoG22q+WbbnPBwT=xC4tU@R)cvOKfdW_4;w`5y-6=8MtpLL@Ah)Ary_P9`?vYn^Av$&}q3q#nclK=N;DZaFFl6f~^v9|9Mra7g6iP{)W z$+;P0yB$Jz06m8>gJb6m%J0R)-b5%{$gI*_njDM4^>?Bc%c+Sxqsh}hv7dess~Ps; zyQ&&SaY1@d+`>PEXloAmm z;C{4uJTj1!E$P~K;Tyh625}NZWq2{5rThkbsnO|BFKF@- zfORGVl*P$1qmFl%?|7cdP`qAcF`<$2oyDpsXq6kk>a`i65YIt}TZ2r!aS%a-$tY5S zc(Mk5s7%asi!}WI-^aEE7R)UJpd%jufhPGhlBmJUqFaKP4Wz=}0`xj{3Ib$EG)3Io z=MBVox0^zjb)fSl?2L~7TttYZzchlLBmm=7QA*YqC*xuLz_;L)Ra$?)%V&mhQ4OVP zG0Zc{%hd=+aS`{k>u`BBbj>sqL;MX@TE|JeQAzhr&^PEMp+OQ4wt><9ASnA;tWo0l zdZ5%hRb+_gPiS-J=}&b)AK}j*c!vYYs)c1!gdZa&XlUx`+~v8JSthg#T6<(B!Hat} z1I3{JWlA zIhyR~7OZ+8?cvmw$QmgB)H^E0OuY6ZXg_pNJ`;QVWjX$0vUaWKxFq_Zuev6#OEy(c zSBCuoOjTdT%AdAJe*dj-Se*KYT$P}3ZZMrCGZ2^*xKkK~+il^)8X;mY%+} z-I{h1b<9^8Gp=rkefBtY%!X3)GfngoN>x^4UB(U@j@0~OQobq|dd*O+&a$G7441Yy zzSigONB@U_`GpGX&%tGW+0gS;Jm+z-2jYFW|4LsC7(ASS6-wX0K9|oXAcwQdfnwsK zm9GXo0X{X=fqhnSsHb}`nOVlt-$cMDCb9r}jY+)K`=~_@AggFJ9^Z%QxyC z9^_PG9{-62{Il51di8i!^n?lN+Mctf2@EyRJbfRd*E^jtbc*`5UyafP@sfB!$drIC zf3J?FH&|{J(-=x7coRq!UJJs8q-wq+eC8C3vh*qZ3TN;6uK&uqSo?XAQNUY=Uht$T zeAf17;k?fnL( zR}LPC{(ENfE^7yjO^(@}gJ)5`_jw#xHddli-_Pa`#~>-Yp(1_N4qJ8Kz0}_Oj$ecP zsmjZECZuO&%TK6K!{@Yu5-pqSwiJ#c(|h1oZCe1sc7av$$E$#oehjsCw~}d>cB1oX z)cdzv=K~cFHpOOExBIQ!r}qrG7AaSu-5?d@B+$iG;jOF1Fsuk#!mF`sJ3~Dovp4yx zNt(3ADw);8#mNt6);9gw0mAED{X?Y-WG0si8e12NFIR5o-qT(Qsffa>uFkZGO2t3@ z6$!>aeFr>u!ebPwedv2k_3k-n?2|Sgi<~iGbvQ8SI_kbj0Kd^L@eH6)kGN#tMZlWQ zvQ(!=JrSx+V0|b@#~Gwa`wFK>P*gi;bSQ&?MAf$F-=l3aL<*WO9+p$wmjl{*48ENO zrIZ>5(ISNYUHG?H5Rv#v_X^Sar zYAqFmE4A3Uy9}uU^*&pM9!+u>Uippku1~No|!A?2Ua3@Y!^SVcue<=YYgk%3|IsFFtaxhX~)%= zuzVQT0HHcbkW=SYKdfKE174*RgE8mzh=7r##Yvm|09-U9w1#Ik0%ox0hmtp`?yT`9 zv+>NAOHkdmiNDW&V7>SeiS_PG0r_0<-I-Zgo1qQF$0LDdKAL8BM~`pY-R-^!VBvhU zgEe`rE99CD9D551?+<}L@S%etJ8y#@A{8Xui*@IJfg$1bu7M%_=DfA`q(Mgl1w~&7 z2{D}@$7R*#jblwyc0WE4I)-yc;oWTRE<7(G-k^^i&X-VRd;p6UI*aU%82*c z;ASl0o#~wjSh4(~<=Lx3M%<7t!?}9!09$b8b$j6j9(R$>J__Aiqr%UP*k9#rZ{a7{ zaHAFd+#-Sk`wApFk&j97atos!Y_jPHS! zvYOLgYb49xF2Vb!2R+^mfkeBJAZ!hDf{}>M5vub^=;#Ng9EjHbfkgH_WDX%+rhDi4 zKMXcQgVAy9lhVJ4bkoCRBK>8wvfftK)?+MJd=fz(rb z%J>O6J|?bTUbP8v_Sz8)2iHH2JsnV4^Z;CnP z$s}3kti8YcJ`PJi`yNqKW{(luW_!OGLi$^{=IHg+ZnEdM(2`r_PW-7B{PNW@gN2$L zgWS&M#A&IGnShV#t>H+_J%lr7fd(Y6Gb?DyPIdfSg~$@!3f+rfYX+%r2sFqxqwI(% z5WCHqzsvyjo3jBLz;<)b17xy(xOny7Ws>!x(d$Mg!e$L#_{a@?uMekax7r(u~*w^*BoGvph`P7*ajUbjaf_@C{ z0#++9T5#F>d{#QLZ;kS4t&xXzuhR(8IIu>fHK@Yj0}L}l>>ScQBd&SDPUj{KmnNAH z7;-1zsPHd*y;)&=b?VcX3-ntR%M39~^4n=l>TAgnAVsQXLiDCpDWWHTXOONd9P9MOJfs2xqtGP{5pr8z=lNri(+hvn?}Yg2!hDEDz*5!I4C#j3xxnw?hx-ff zyYwog@U}^9J};+TM146mCncdj|)J-a?k)^&_`GI zy%wJT7xN$jO%QroGpV3EI=7#Iy88V;uOV(Et4A;$i#&vV^LB{NSQCBAev0nFL?&FF zK2RCVhDW25Qj)Id{`BWS@%`fR9ThnBkGXk?e#J`C1}PYoZPCRgnvb4m3Lpo&niL1= z)<6aUQl^UHC;ESIMc|*jNfsf&s9jt}Er2_08nwvfgYs5GUgUHQdb0u8$eg5*^wlfh z`TZ(XIFB-+=DFv>dy5s^ypuu+!Q@#7!2EIB-UD-&!Sq(Z73Ek1ew@Fap59T|UYIo` zpP^Ro7~Drh7<>%HnHs*j~%M5|2AkO;pCuW1X`n!;?b4PZTfV6pxNYcta|$ElV)$n9vRT_b&nwhs(HB z)WT}Xq<0!F0?vvy45P`UBTtX-DPK>>C$e!{P&yI9$a|{Jaf(E>@n;(%Yu=fNcB2kC zBNmOUKz&;V12^hPZdg}zz6Ow{DSRV#IPtE*X~)QQLW3AnHgOryM2gCl_@Hi-Oa_@e z*Jp&`v;42}AV&nY7Ol~)_WRg%vByT&IGEx|Wp!=IM79J}GuLyWt0AAa$H^>jWtA_7 z?L;5vEpQhkYi&X#=>gHA+@>~OugdehyK7||5x=N*$P@83nI)+()iXc^OzvtjkES~T zGw7GBM8C$nE#hm&X~&9#zU$E9$U#Ho>l~#8;mm~5Im$r8N8PC?^Ke2drERKL7TWsI zKaXuZ56(b*ktxhxo?}QWMj8r`_e@q=#zouS_7c6sMvm(CiD;jDA{tBq zgoham3bqP(+0Gz*ojom&9-TsdGZIkh1wQ(8r=l&e#kI$6BQp1#< z@2&v5*=1+GfkHYPe}i?59}I-H^G5PSFRy%i^I? z4R7d<2H9u(h+u>3c-~Gh{-6F?ZjRGL`I88b&zUi4Al*6=OFO{t1S|J%e|I-P>67!} z4)TuEF zcEk20iIV|GUTY1A`n!%`*~F|rbu0Ls>TX)u+2y#e3qpVhZzC8gwZO|S@K^!MNk=F) zNRYKVzgG<%0a^O#0+sPNzc2OLzU=eHzhWAu$N-Hm(d+|A_J@~PiwTKQUv;bmo7dyU z!CSM{d|iM*55+LJl49A+kaH|G!uVb9jU?tXOfR#4LtDPzY_!ef>FzW|a9GmM2^VhJ zNNW-TLE3C~c37?baT1igC*QZwuajbKE`R)fJd6F57K8{sgu9ybuI6t0dV9HT>}nE` zWCBI;ETi#{k#BW_vY%O+zj<`dp6H{buBvv{-zvBk_!UI_S^3H{l*PloH$^&ZtqlqL zmlvUIoz%;Jq*%kK>bnO`)%`oFV>1Oq>1=r=$TRq24HMl+AH=?Q=uc4AF6bE?EVUMoj8$CwqQ7=0 z3|_{v2!JNjkt${BReOI+h%2N`W_)VfDfd_!&t7b=dWkuF@ZAKa^K^aOawdHuB(Spp z#lh4xA9f!_qHVf3%-yQVK`@JlEI5oq_o^-S+$aoij+r6`V5BeBTgueIw4ic=~vaacEB1*ADd8d7Mbh(iL!7{%4JS+zdi z-)FYB2gP?Yt3bCAi5lo))6O9&%J%oKX55WyKi}xk*$8$W#lx;E!hsj=DpyJy>@znbD zZnS`JrpJo?Y{Qri?MSon3ysUkZcU#lJX=u}uI8*!Em0&XwDj z#>U1zy4~q)A6u+{kVQa`PK6P#vXob0jH4FSxu>wGf%kp@`~qEV`p7PJ)_qiJ`Dv_IY9E)Vu;U{KY2mY#o@ykYm24kqjI4{j&lk;Ula4u zmddpQ2P@8bmtdxmLjCN(re&}5RZp$hbHfIU@^P0{NFGmb=bdXWfVAG$I0&3rU+@$6 zBQ2N9dJ&8OW=jEOpI_rIgeDo^WC(q~9=LOGwbq)GZA@9=s6iCa&z0q<5FE(WH$08B zrrTuW)_Th-C!jS}{BKtI@vUVr>^tki=0nG6%hS>@s{QL*C<+1~;&6 ztY}Hi@PwNJb<<=U_13Mc@wD*3F3P38fsW$vgDLZicT=l#ArP%_%?V-xUb^TFC z;Q2s7h$#XOD@DpZF5frt99=pkkJrqWY1FcKqD7W{ZuQxh?LLZnspFPXMU-IDEL}FUc5iScu9}DaM#0y^2t|<9;!_Cn4@YEk z3`$=$<)aK28_9W7l^pOa;oY$&5H1lV`-RKWr9m8^xhdL{aPvG;qRDgl@=Aju>nZT z&43d>RMo-DEHFf;T8Z{MIHp8BH3YdqHs|W<%XL2ps~XqgxG)tGRwR_g;AvD-Qc_az zu_e@H_x+mm<64aLd0J~S)P}&^A;ut4Y!uAW@hd0!JEG_d2{Z<$#rX02L4)C3#pFJ_ zgVFDR8TFrky1bg38o-??YLA3}h0yIdN4&&ttiiuJcMJx4t(yzKtWe9PEZ-e~>s;sp zsGx>@$@X7-rt`E;H%U&lz&@*}MTb@h zk6W?xhO&}Cz3u1-o_#fNa~h+M1er3ERHk#ZH999JZnLuuj5mmUfdOlD)C0O?nKs%=?Q z9JuhGPR3(KnGi3oY1X)BP45-#un)-J(sB=(yLzqIt{gohJq%!C&E0m|L62xQYt`4W z6VcZt#Kjmis#yh`FszAXS2r(E2DKAm54y^}McG1+C=+v@H-A^=s#>1rMN$sTd^KMBojxO9sZf4u#2i{{ znL;QL%xEPmsk@4)omi*@0(}|#jbVKWc{2O%gp|@!K8#|@q^LXoyvv*g7@&Ogp?mwz>r$cwE6hXWBqr7h6Eitlq*eX^NfQ?x)|wdj0U}1-aWu1xUIopr zYm`gSqZgBYx|dX9zfrkiSYpI71&AtB#(D00xPul;#3b#ZB0kgC#E?2ZMjQy*A){_Z zJgK=E70z#jY*1ms|I)6yQ z1b?O0h4>hafa7-jIM%>>nAt+Pf9dSE-+)ACC59C7|CX?3lUWE^nDT9)s^%TUw48S^ zh{P8Rs`HEX9~a3KiRj`abJ)V;<@d_a)kM{XpOzJA`K3aa_DeJeoIx)PeueKgWY($% zD2Tke`uVQz_+;e=PuK zN1eAxKQ>!d*@_4VJOoJ%F`zfIq%C%x+uFYj@^t#gNard4+d^%f{4?wGj}zfV4gi>F zBiO$^?IKTJTL%m_f6e*f;!^Rw1=ADwc(LwhvSkYcJowOte1gEx0|##DACxMeZwjrg z>b%H%giZ=vwu5yF2)}K9GYMk&X0QJF69Zar>b$Rro4eHmdHrS8cKFWw-J+N>5zH#YQtWI?BbhzE8fMySL#)`}pXH59mpD4g`XBYi+^ zi@B*N#yZ*o5~#baN2w$?I{WE$91`VO$Q(N6xOzD;lzToU+1WK;)*!fjCy>k-nlc~wvM?yHy4 zi7n;oQ1#B6r~jiKC5e+%i*t7_-{awqSv(1PlnYu`P3S zJrj)0prD#>#I_`(_V$>2DHwch{vN~W z@Ocb-^LED;wDDxQSVOre|L0Ht0nMMe&z}T;r$)Sz1ets-2vD9al20j;KV{5#3(#l0 z$l`9fdM`@>K_?!rl7QrH3|_}v4#pMc4kig`@6DniB*(!LZ~xJvQHw8$g&wj>Z1&R$ z7#fb81=6KzpVU;!GVQWnx5w}{q4Uxlk#yRvKQ3}N9&Wo{&o9n}1UNM)ip0Y#GH|7# zuNcG3zCr;iRDPTksIs)}+@QVf!eKLl8~t>&#m?r=fpL@3djnGe>%Sg8z&&j7EKnvXm`%Ro&wKBA%`(rB}$=^lu zM%$G%_z^?CS)PPQdAyCkRZA@THOTSG5$s_v88L>49MV90On4OsR0#b;G4d$~)H+(D z32LU+mcv-`Tab{mS-Bq9F3 zois^mah8PBe|9kDTW^?`z){s!JALZS1v3J4-kDA@Th$Pmo#{Ib4iv9B_>x!XnNR1G z8H=|(J>ozz08*n#AJI~G7$;hcFE1-o1tKx&^ZqHFAZ$GJ=UA^QWDS@=WfXv!I;fd{ zAi0%rxWS>dwzk3iNmFXAq1wqdJ`lj5F?_;QoMga!ar(=%qvqs1V5~}T^DACYtJV@- z>A3!G2GY~!;crMNC?ir55<6SluTr0*_?G(i3t`w3R1#iKpWQ{C>% z>(h<&g2o?u>21Q23SqFtjCAHEEPjx4AqM)a2fo3GypMzg8CJgwdBHu}#P;`HFXFP5 zJ4G(4+#WOt+zi?gF4jGv16irf06jJo^ux3n=nJ%1Y8f^uy9N66dtOb$69Z+M?X4cq0Ba2#$bY_72aj2Kq)!!#kz&BC-; zO1b8kqP1NbM8|k4_7<28-DA!kCjyB8qKdR9 z4{`K#%RR_dcUy$_z(!kp<=Pq1RxhaeqWMhHv6+Ln6$R-nI$S0#9QTBQoJf%Z$~ja% zK|MG@LeuF%i;N%r1TnlYI91&ebZyGhRaFL70d{r#G=IA-2uh?klW29>9ZNTO-x}}i zkYj0~S^461Q2!u@+w~T2>*;%hk#EeJYBT`(SxepDBE#^6(STDtAR}{CC*BtrsJyn) z`I<#k)W8hkX9JK!Nvf1caS}3wgLi(;IOY8s3?qj_?C4{Lgm}9s6O|q$V*1I-(p*yKk*8Pxoq;on@{mfT4VgoNZv6lkpDPhW4 zDxn*1t!Nv&OaY5L42n4Ud{)kkP%2zpL{E*Wq#u-Pk}Se+dvgbF%md@76u}-WH>Suo zZIN3!c@=+5e3eW7o8U#n7-N;D1F3zB!v^%l9=~RM#TMUm80`|gy*Xi;>J+@p3W}Rf z06Eq57Z@fbITX<%XC_GZYiZfeMji}L8truVIv=zfKV>2D9yRE5Eq78#Xe?9LFm2pS z5^XqcnBv_(JgQ`4U=1xSx0g6mGm6sW1u#8hPqMD(4@}wFoSfKn)KY(cGtEu3p(r6`D{-J@8OO1E$9@e5U|9wh0_yiF%~*LGRm(B18XrEA65dQX z0!d}%pHTy>iA;-{u!1t5P7U^c(9+luaSmdS;p0gI<40+vBAwg^>CAIp7Q5Qsq&@_a zMjKhV@`2P8MN%BG8;(-Uv6Ed-2AGLONOnT+2c=W7BH^`?TblV6jcPQ1-){Yp&*WorwSgWuAW&hRI83QW*s&V zohbpv$#|+=Se=Pzbg$Cofx6;RiLyw)LNrPOZLx~P+;qL@$TUbnIpLE5G3r{wK>bE; ze`{KIAFm^xHXzDn@J>`FDTwC9zwvGY$^hwqzpmR^m`d z2RE^e-m+7d{C8xViaR#9mZ?~OYh2_QQO5oO@Rq!0bG=)qpuLrl@E%RcHIXVY=?IReUlsN_UEx$zJCTqWtO4afU|+l}V>QyZ<3Ja2En z7tS;&?D&ohBOhl*IJI`&IGJ;kI{3cj~~on{oJ548%glkN2P1N3zRjk!U?L{a`Z|O+Ffhf*XVu`( z{VczYQu=ln1yK>596sKW!-tYx$5K8h@cB{oxt82fCtW=Emx($Laydwv=ve{J|)GYAw3ug@D0tsJhM>P8`ZZ zm`zdsOz8T9-4~f9MaD5o)q1}gpt~bs?#iG5l2p+$uVG5HBac#HO8mZIOh4U|jg+ zP#5m8g6}DTC^gGX%vws7p$!rd`beF2p8(gCBCZ<2Mn{*Z zBh{=C45Yc8IzF43o5waiHQIahXq@DO>k;|0i*4+@*+b|x+ z!c=D%x$E_=kI(OtnlJ_ML=k8Oje7drska{3@iUqUC1r-i*~eY$Oo$;CFhoFDoa{m( zK|pI=LA|kN!n6pK`T(V;(Oy9k{~I_lhr_9s^+&-HxSIS+_wp*zXU|HL*R53bZo?p@ zblHl4BIM+b`FW{<@vqJAbEiheAaeCCR|VVTuV)i-@x>2Ex`&m6-IE@>ep>*jE^aD7 zw-i~qzDhL99>3L8a#$1Mb1Q+;0Lu-ar0Mqo@o)E3cZ=ppQD;qv^bWqZ%imQeIOe<; ze(OA#b^bYlUJU2{w&mfBT4z9DkYEh*b}f7JzSfv4IA)OkE3tS0{Jrs3ZIQD?@zzZu z-5CwYm=mExeQS8Av26elC^2+R?z{*95Gw0ziJ%|Ku9hb5*T-XZ-|G9K$iszT-B z+>UGYxZh>u`txUgd1Wn5cE3sR!&~vu|4iC!K%M8a?q}FZ!QAKFybr|pZM<(}};7;Nz%oCGC+IAUpip%T~vG$)7c<2T-Tu!U>9SmRFTY(r=7tDo_Yq5Cm6VIRTtQ`#ViFK4z@fE+&KJd2lDoT!b3){FKt2I+zl zZ&&|(v$x9Wl=nH!@v(4wv^_R@{MBf|h>hFKTyJBkn+kZ#VB8d%M|lLk-=WFdccn

^VrE|NW zy%}0lI`}w=n{^UpEKQ{(`s_k2eS#vfuF!VIr~#=~x|GD<*&=9Rm-U z;G0b!$1wR!uA_^cmHF_|qt$2w8YlU4*~X7q9+-;mXdDp?O(P(wcZIAYqDf9nU1lub z$FgcJ&nq0;|JVfYpnoQ=}>B$sCk3}17Xm$oONt# zDiHOEsj7+mBXjs+{0yN|Q0Mx~Z@wm{B>{fl#IhU8gN5l$BQ>It@TajVPt|3e(PsJq znHv^jqmPiw^Ao3yZ@!l{XY7m1c=!lU#&lnUT%{=EA4=xJOCeWI#d$@?S({Vo2K#7J%T19h z;-)He-ZtkBH`%;eX;=wv!$!FwsTV&c7YYnZI@ZOFrX1*rP?%85rV&BeWbxXKEO9eH znnxlDiQu?{tF@NIlnL9+u6paIoyNKY?(9X9^ifLi*Mz$4*fOxNfKY{B9;*~G$}@oo zJAuVHhSFe~A{TBJRjL2dmfssFF3%%Qfihzvjv~=(#Mn!bUl8sECxvPu(bD1KD`t~I zp%_3BDf#GNW#PapoB;zQWz~t8`s$Z3T@)E@J{G4;^_t_M_VLtg^(v^vcJ#sCZd3V4 z26nYUxWVM7_(R%dA4iV?FPVL}R2(?>y`x=#?!nL`_1QhLa#CGzwlwc_k_9F@dIju3 z7~9~zaSJsqUi#B4y{Pfz|#)_TF zqA;r#?S5Pdj}%ryIdXIq$y!};8j-DKl$4P&iFJzf{46sphMzADY?8Q(^TOPwecH_j z?)VH2X5;*d-r?XU)>U5OO2l?rZ^S+Y1^Jk}AD0Z0Nd(&tvlJFgP3d6p z#<{~FyVd#-G5N(tTO9AtCuUCj{?dyQ(P1%xy0Z^!yj%L{k!crckt?2e6&u^HZ1VeE zo-=#b%Givg6W@Ov7<_-KGBmlXO4ETPr)? zn7p#4&YG|HSU((y7u@-_z(}$K5N> zx!A~zk}}hoPO@J4Q}*c)@$p* z;QeW6bK~h1iw0;+vW<5uBK)cPgeDon&tAVNAGC!Rc_3Sw#}2dzw`l_KA#*pXH9)w9 zB4}*O6a1Vk60JQ3*_Ui*>&!@Y(M%RUyV+xm2mI`|OE-4zwhrzt6jZCuqx|W0)y;C* z`ql+{>R@>V)BK+XcsfBtu^-Q8V(XM0NkopT_eRUNj4{pIj61(|A+p-7U$%@D-`kx> zkLZvNzga0rnluN|0L6gR{weVEqKc)WMowc%>2r=nS4R(^>?tb=b)fU^cG+s?hCstP z$DB?Vcf(UxQKNTD-Lb)Le5R@A7c(~4C>}LU+ADi5tSl~a%C5)4Vgvm*e1_wJ0D^FF zag4)AGkQJFf$4xc<}{xJ?V?W^LihFiNSi9dV6xs-uSn^tIA6q%i_8qb1=F>iv7zMW z@aFTaqjw(=-0ZE{hG2dKGyqJ zBM$g2ehMs7Zv}JPzwUR4;}f|CqtUf|znIH?=Ttj@6aEX~89ltcab5FAOMP;!1>~$* zp%WYvn z_L)`%{9b=@H>^8_ia=6XxIs{RD5!V6GSb%vO~<%j zSBo$C=|w>lV!Sq?J&bL5qm=%-rkIiIGa7ExT4zbt*tnFrN0n*;k& zhy_GTvydCeG^l#NZWOo zW+%t3`E;39_hVzEtxmuV_(wp6{?0s7LSas}@a*d9`7?=ZEOHm!r`&prVA>G>jU*U> z9~Hpa-i!6eY{v^}H5+Vn)+vx56!jUe2}P%3oX`Vfv$Z6ZAZJ6Fxx=P@-}oqR27mS8 zBq_-2a`GH+&0&{7vjYPGLtY%IJ;1@ioOMxn`K5!@`=xM##df`|j_jCGR$Kxe!Ad29 zCpZIFA>H|YAT`@{)Ja15yb!9#it1pa+R#O0((JB*WwUh$*>w9gI0$qUg`%xz1*tj~ zZ5JN)^ddXJNKanVK_~i+c)9Db(?_T`%Ch)6s$N2pskXb>-qJ)0J>*t)4T-0UER;Gb zgw>u*D(7b#x8VDb!5!(DAz@5tZ-g{rRP+I2eOk8Hfk&}{kKV7A^i4zhfj*>f8MhA? zoyFX?x(n0IUQXuL^0pv!nIMPATk)Pxlh{pY$dBoaY#nbXC?lqXn9$$+IRd>3xncHL zpIoYbpHf10{r{{?fj+ma=o^P9yrnm}U;w;3?si_9O zPi0^+%GTCa*Xvl9`#|TR(4{swd@S_KT|S@lLH8{R;J&0dr}d`Zm*sMd50;0_f8 zJAOM%8T%b<71{iFf854y3qm2{emzzMwO$Vrz2Uuq(@q?>y8Xds$qKOY2mqMx0rGj?)`Sy@@b{+Gddc-$X)2g_b|FF;0ZXkVTB`qZPf z)YL#(ueH(4JgdG{s$zx0>2po_Nya{O*X=?Coo%qY>etViF0xO~XMFv&*$cqE%)Xnx zW_A)4Ao^=Y5_l!+|97V95ltXy-Jal0g@LC+qH7!~{ld%q46gJ9zRVlLqbd+&6?A51 zk{n#!I-N@X;Wbc#?;0+H2CHl6Z_6^hZ}2|51sfL=QoXyE^Hg2+@kbqh8NoxGuS=TN z?dlAZkmSg8U#}Qv4Gx!b-$BOxQ}OhWk_`n`3*OG^M7RWlqVHqRcH09=`A@JbxGy_p zow5D9vEOEScNevFG#TQLZ>7_qx3xb}(s)^o?gZP0Nk7W8*^T)@iK;KzQFQhJe*ITb z9L&S1wJfjaG0W4_()x2HoIkB)#l#5-2$pN?CeDT5H=-|l67iT4gX1J%ZA!Nc+<$?Ivr z6O!;1+Q*MUO9nbF;ts2CL69dbUmotN@N&30eVji1cItH*Gey!M3c^>y^XkDhUM3k3 z{DEm@8>Uq62E4xJ8= zc<-&Hu6GwQWUTQ1B85yp|CYChRhVs;!&1UHa(?e8u-?TDQ1Fj#(UBy_lmX+8==r~+a`IWiit+4>;8Q7-4@PM~k4v8Y#N+vuuzPtU>p^CrXDB^eH48?pqDS*L zzBsO_TC@5G`9u#kF56Vy%I#FWz|yqtD3}e9puREYZxK?J(zIo(yRlI#On7o`=0|G= zjyjz?>+@yLN!;_}-;#A~9}W$T9F;n)&YbFk)L4(v8WnRpORy!)&}E}hdQp2TrdzcX zoK9kt+O5+Y-?WhkjW;cEl-5tBHhUp1p-z5_aU9s`5>@JRx-<$gS&+~zuN2xvlwq8M zk}lpab-xIDI_eDX?mO9cU%|mkS%yty&v+PH?>@bi$k!WEz3h zSPlf_eNH-sY`{{O3oacI47TS_7;yQ*XlE-D5q$Y-vXaJHOXp-$DcTGt#3wITT|P%d zANR@XWjWGBFs1N<6zn3?kZe*4K3W_RYoH&v*1Ddq>o46tq%U_vnpL`e?n#CqFY)y5 zsF+_btHt+(qcDTNS%#H3Q0dO!86of{)>V3p z$(S3^L}1up%EkNXAn_D2O6U-RG{&>vV^$J3mlmEMqif12M!6~`mZmb_QatoXvyVf{_fE)Lg7x?(Wy%V0oEEl&rT{;l<&NB^liH^7}= zw$mtGb%*V0qg%(RUNuVG@#g#aCVM(E)x}C39IX_P?A+O(+xum8Qy-+h1@0fAz1fu% z@xD7ii179SAU~~xWztGFU{M={rSQ{UqU$6$W^2QB)z+^qg;Dzk+)=iHe@bZqdzapa z0^5whdK>EPw#!a0aMEyJU*GWT74&Ze>SYNbaMiK*z0J(0wZKr@V9vK=h$}392A^;o zCDQtTa!;^Y6r}05*#=h2<+)sfJIz;@-@4AaerVocOSM0Qq!d#kjY8{DL8LGEU-cXi z?K?eKYjb0{>QE{y{bBJknJsWm*xTHCRy&rFnfWhQ+KXVz45FvaVy2)JYa4X~Ot$G} z_0m~!iFY{fxJq^SczcA}2yyPZD`d&fxR5a3gl`5pcFT#SPkUQ%tr-kM@!ldC{DoZG zEajJ{a$ZO3A$#3;>~z~t)`WaPkwftD@!4IwZl#`YoJncj?+$=m%PUnD`UY3fM{tsp zb0to=uSrjG>KF*af-mSWcGiZ5cduD~G1F>GQ1;rIKIBn8*n;G8dTS{6iWA~O+Qq)2 z#S#h%kDYDJR`Pn*vTwPDvpx3_uZmHdMED%$TO&XuzHo&1!k!m#22Z+xR|R?TT&b3> zm42b-i;QPbsh$@b>2whN1?IRmSMy-b%~hSx$HlnZ*A|M8jT+FsE4ScawjltK%%`j7 z@2k!9>>}^FK2$gwld1uwY_qFNnpeRJR#=0W({$lNO6AGC&Cu{QvDp_H@?g=t4thF` z)*)>};eJQ?+Gd-RZrzg`e7EHP{$Q!}NIWb!fm8L77HwQYddfb>2Kyi%VCm5mm12u! zoeMTQ`j%Q(If@&Fh6dWFJyzEHD%b@@%ByEA;(CqkrMM|`pBGkm>90NPHEuMtN%4T( zig_OQn$E}0R%-F^*Pe=VAM8I*c!-IKWs*tLFlmzqLtw;cSx1f&BhN>Wfm6-duqbL8 zwTt!Luf0C*3y3Onh3E>xp5Ep2^J*Rz7sG}dt9(w}gkKMODu{m9QG_G$`G6iFDigjL zuem1+HA}x8Vh(@+9Vy!T?dX4z0ue)%$%BXi4oF zuNRM9K0~B-0=!NDDQakdQanODL@v9SBxgX&i*+&rX2dXWX_DG&@0fKLIFF&D-s5M7 zzHCX{x7hbPyv_8rR*|i3Zx}1Wuz_Y5PPAg^Q^5RvBm^&aufrz<3L1()YjhAD6$6Y9 zsPaeLsWR5OXFaqWgub~T31-sNim|vuEtc_ry8&bdiuf4vSi7~C+Yf$+JUF@QMiWjF zTv(3a_iY<-bVdH-yM4_rhEJzk+mTPKdm%&6leIhCeOsu(i6eu@6BEwnQ(xRhM(`#w zJnZClS89euWh|i57(wVqTDH^U@9*IP!hfSdT@MBuuJ3J?{HNJ?IoEE7dUtNAp!crM zTE`)c${hG}2jnFK1vD)O%kGY*4bM~X$T+s%=GIq_hFQ0A20p+WVC(ch=#}v6HX6i_ zr{c6-Y5wexbT==r7qBk^$%YC&({=9QauW^cK9Rw7=`jWJ%A*|)DNo-7BeRf?-PT<+ z^Odf45z*6pM2Uf|2v^87d8{qo2kGXOEeC{YG`{E727$;QZ<`Okg86K15rd~WKVjJQzP9WJLDEc>dt&)D@aVFt^voRH@Y_IAmy;9IM6FF_8t z(KVK!=zEjc;Bm4M*-GtR{LM3#tzyuNv#&&$#N)pAyRwik9Lb{6qsdP6jc3(^Bh>IC zI1G&-C$+(PNmOxg_d1lsb6BA8Vy5PgO4Dl%d+e=Nv@_nxBAh-iE5Oss>)aW1UuFQY z@zAAw+WCp*i|o)b#mBM5S<~9zz{ZC!1)5TW8Hk>B3U0V39=}SF0^?JUa(A~Kmpm9i z*JU5}e3gfN^_F!7s3=dqF7xKrH3`bXD8X zDBb>NIJPB%1B_gSHr%i_q%z!{mJ&LrJ?{+IpDUq&YAXDx% z@Jyf*EBr9}W5wX(<H{>ZGC-t(^@)J%Z~@*AqTW&*f5!1^0&qBb&P(0s5swW4K&jlkY(;k8qc|hzc(@W~}6HoX$9& zi9a*1@jk)jb907G>L?rpAqX22aOPaOngf*vo_P$q&ZU;RF8{>7A9lT+eC~2Ts%*>g z*}HB~tnj!#=9&_GI8yBV$OeH?9+$drKm=>S<%S6r)jRsp02m~{t>+WXF2uxk6LthT zR+#a_TUJvWOH2Qsx$k$y{w`}x_M7C90VVlGmaGOr9wxk>e8Fe{kcG8s-w$+jVjHM< zm|wW^1m~~dt<+e%$1Qj?fE`DWS1gP8=f*A$EdZ>qJM^J|%__NM#E5XNFbDBqVf*2~ zQG!MIJJJ=mP4}H!UkHjwXv`)e&~Cdm)MiGDOR91u5LAki{x(@Dl9xkL=c$ES5MvfS z>AMSo00RFxXl3mS+3%+IeI_XzRQ|;de5u!Uf%j;@ucbeK5RX~!;R=ueVEA7agh>PG zxEH(cK@Br>nF3%0l|&Gp2pmD*S&XaCASHP7rXo-}blKfUe9|c2uDq)@&MjzVWfdV# z5gi?!uLMt`%K}>exm$0#gF<>(LwLwMUxCJ2W1j5-`e(mUHSr&bkH_$fS4XMx;afh& zA}HMbp}ZhqQZ5-SY!SQlg#^!Ve}v>A{ryjo%`k;;4e7N`fOUS=&<}UI1=$`P2RzMJ zL(-a^IlTT*=xOHWiUMyR{AHmXTg?fVQ%XZT*i~PP-=q*rz^%~>WY#NdaY&*qu}GB6 z@BRItQ2`vQso&+Z-|MzdggMl{J$5*v->{AO4!I>iQ!LwKM)}P6)nt-ts;#81c)?VM z*VkJq#5{3lrILw#d9&jARTAu_O#pT4R>U#D639E4CAspR{mNAvY2G*mR;}tZX_)6ug)h zMiVrTo&7#Rj=TddE-3Unn4wzx$?9HZqasc15-1yrfGK3jy^t8yN^j!=wx|AF`}5Uy zy5yx@UUr6=X^yonQ)dEHbsh5pi#l2cVRmL{{Q zHdhmWzLP*=_MU4qwoSCbfgLn3 zk4W(|!-H<-7ZxL{m4;^1WBk&15WfDg^49a{yYr-hC^d_N1EiJ3O8sJ$2npMb4i4YTS+nqcV?w`P z-@hDq!2u`-9-3a>T8dG50yRXiu;;a%gnSppZI=@b3Y_VLt0GJzA~EXFpbcGnm0!$6 zApzmyTz;=O13F&dQf?co5PJyw=OBrW^z+HqRlL_@whHCuc>iYZ2o2F`5y&y&HqvIW zA?nNVaHSK2NZ!*?!8}pVe^uQUM5k8uA^L-`4yST#K1${Z@+|AK)`a!=jm*-0o7twF zB7H8VK^{D@9p730lNvo$DW|Wc69GfBiON~pV7JEpN4jErTu?Ux$dcChGs4UNc&Y7_ z)HGbjC!1Ax>~6=13#Rsjso@DNyID0TfPQhquh8Ex#_xsqwkN{QKB3BpK=bLu3*tWA zP&NH0GB^b|efl3{a6w>9Z(o81)ajfrp0P}#>QKps!Me)x5NvOi({z264?N7gkW64B zMn_XCXLYyu@(8lst_uRovmdkj`!8wvK23pnI4X@5h{-Y%gm*ZjwbqU2B5Uy;DgzL= zn#3Z1^B5h~%R9!^W}s9ffT)OI?`iH%(@QgsqtB4e@V7=X}}iYn9o{mxaGWZYyp z_(980jBI)heiq{rNYVw3R>LeFkhB9A{=RG-v2RI%B)XasjU|OSbgt)?W0BiPj%&&- zwUARE7>~^B+EH^$I&%{_T5=L86}67rUxk|c=oP4F^1p&19Bp>8jNOuSUn=*;j6y}E zq-6w7C;*)rY(Q*$-PA$4(OT0n!+6N51T7EVySbkZ_%adhx$x!ejc;@ahbWIS5>MhU z(cx}ta8kq+X)}asnK@6Q^|xZ7&)vRYEVz zRG9_lz(iBppZiV|yzDe;gn&HyFneq)pw5;buAvrxZMGo)GM12y&J!Oj3 zT>D20YnlORXd563?V=VwiF|ju_<7-Ak4-A!ivCnuac_b&b4{AR>v@3dQ1{%b2Me$E+EN)zHL8eMLm+3%o|buWukL$zh@r@pI{f^Fz#QS?}3zAcHq!rq_O<4<cP$hysF$_SN@(Y{iC5-$}6&y*L7NODD^tL`rcp%d3+|w6Ht@UMeDRe zo~iASuO(l~S!z3IA1bQrrPr&4K99k5c)@D+vm?#dbkQYx=7C2uv5Z2`h5ZBkF8T=3|{d7>QD1A72+5Oa~!mQeUdFDdK6jqFFTnjlgT>xv* zehS0I@k7Ntg{!yy9!PKdu-dz442)N_D!`Bh<@uXrDBNDo+sF|wK+~Zxv>R>#j)HZN zn9u)0!vB`Ug(w`uFRC2)VNYZZp!DKDVrz#1id(o?A*dc6Ls!ckqh@dj#~A4dqFZ87 zum=>025n!+Yah?`9|#LC5x^sChSNZ+bhE%;pbyg15u6ds7ShJ0Mr*!@a6&hz3PK5H zM3ea{krM=$>P1nv`|NTS#o3ghpJ1F7De{)@y&Kj0@zUFSJ1Ytacj5hASBp`x*kEemB-3JD!j4WEjjdOW&u7o3H=U z7PkTJIHvPHX%!gr4{<_z&Ycz;#|~?TG9BgXm?@U=b?89fsB7)tPnjN6NFR7Br2;~i z%@e}D52tQyOG~J3)bCS&78(RpLWQnCnv=(n{->&hfN|_z;>lAoqqPvi>pbjVNRKMN zmx5A|x~gTToXwRV)qen)&14)m`>EVoQNW_Df$B!~A8IJz_Mk$oTV^sliIA zFlaF(G9+0fxjM|vH8c`4!E#2C3MeH-dP9FjV2zq)1!hf@$WTM16rovx5z$?vzX(qW-fba~M}zL7y@VWs72=MUz~dD)O7x)3(n0lfZdG2vFGhFVM-r z0xbuyy1}a@ z6&P;m-8Ci{A{N$3(`a>2stO{I)j4bpu*#~IlmmB$a-1dFTN;_BMsnY|!#eE=@8b-u^*1 z{wX>bLfe7`sJ(Z!&ZP3qSD=LOAFx@b-q-6Y4D-fiRN!&2_x-Lu5&ST?uc+_#sv87n z{sW>%@}F~L@DC8W2K&(h`=Ki*|HwCzlezpjxT-SX6390%|49ggyKHQ4f1aP4s<*`l z8(C?#hI|Lv7kYV>=uZ$#kRA;|D4ya3p%Y5trb9(VMHX{x$tzHPIJ_Fn2l2~ks8oqO^8f$9+9c-J`qC{wIL&wPQVqS*&lu14E8 z(W<-(5~NYCeMJMSFW^kJi;+|`9*h(~?%hr_X>xNzIFT8Uvd!*(I00&^2Zxj8S8&?k z4}j9F)mKW5-3p4}pLfjk23?@IGN3O#o68Xb7sj3mbW3tEw8R3p4KU&x6A^wj!<~qG z^Vna(0Hc?NM2$B57Ul>&-r$($gON=)o7k5}yGZB7BM3>7XAi58sR6d@**D7V=s%?- za3uK0#PH~K-F!E>>W40G?DE`0j`BWA`q1G?2?Pa}<|a!{GYLV0F(&mWv6}Pcu@n%z zq|hYV6o0d@w7`7@VF#vKMLTN78e^{g{0A{91T@|4m8U=fNsCDtLhAD8oL## zGAW`eYLXgbJVnceD-acvVNQ>JNWSgN5t_OeddN{xug|#a{!G8UVXEfpc&GpxtZMxk zz+Bc4XGn|H5OUw{`#qHxqO)kNkSpkJXRV{;s(Gju>=OG0H%$GaH`?s*cpGde5}YwQ z*ftGrTa5i98}t%rP4Zk_LRBbC#Z4UsjGsKMZ?T7PHFER`Dr8%qQuz1*}11p(~!&N1sa_@zq<2ch?ChpEiHW3WG zLXv5kTv6lMHG7-$8qGjY5=Gs<6RyOkOw&7#KF=6%DSRw-1t>LKEku(MoaLM+#NOu) z=ANCLaT$|nH%th3`@j_95PX@>K#+oj$;!cYe~9tR>XJzzg32xk4ItDPK=L#qP33kQ zT6M1d<2v>I{k^jqOZv%;XNGUbdt^8+yR&R0*+QQro$=CPu`L;DScu{ejzN@<{|6!Q zb8VO4W?Or5nV1I}^-b~2HIrv<5#OW-b&@E_id&<^#abtZd#(vcC({gO7)Q}oe z=KGoKbpEk$eXyNp{PQ4fYMcKyp>OH-wI?#zWc{fSJP#S)}lWXy=Ze) zLm$@}S7tG`A$Uj9FI?XpAUFw!@Xt(o{t{Qsgvby6$RkgYsCe3_G&^91lUgS8uAa7^6ov8?yV&|RR z{9?&7FIuTO8y#4u7=IkekTestd6eg)mR?H$&I90~GM^BijN=pr(e;`xBb*{`5yU%4 z66-DFT@`si-oRyt1&`TSQwWS!_0|h6CI-{WHv$jF9}n569~au+2=Ko(&CbrlY06+p zwFq#8aw=Wqcs^U^-b@EehJHFUSs>21hil~BcMXp=#h0LH168K`3wF6k>`Pt7>aaF^ zngfs?L&C}HlH;J@X&i$PB)AoHYQXdGM=fZ$`8Wh#tN4OY{`tqtuY*wiz>J*w2&OaH zk3f)6*snMFA5Zzz-nXggjVIsaN(0M#K*+@3u8A1681dg8i$cAR(@FD>j>HR${eB*M zk^R|QTK_<;UcR~3SRCFk&kM2N>ZqBx0hTGSaZc2UC29u7m3ixx(K?IRj(MgyAbIuR zGa~3*aT3Rh+XsGORej*5+)=7P!=JsWw*BQh#xeiEIJR?rEGVlk52C*ItlXmD7ry64 zFQ!}ieeWCh(c6PwnAK4BbK=r2lT=G z{z1>ab{F`T&?|?9(iqtI-OxzavQQ6pMgX6o@y%*QspNc))%@3fi^f$Mz3=U;>&N}A z_`~`0x%?C7$(L0(wF+??8>#cTzZ3(z&?N^hCx57y-mhmq4Ce0AxoaOEDzDgCPz__& zgH+!jq_MoDG#Z4&IqSS$Hr`%L zAyBh-H}#$$drMN;Yx)#J_ry|$#y?Tgop(7flNmEiJ&ZKEb${OMv~qHBx3zgWwRDSc zaB-oaUij{;luvhDP&p-!Pv$ln%_dQhZgAZ2K^Gu#_rsJ>9ehqSm+PA@s|2!TQWU}! z2Ll(PreqD>WLoYTgZPbDZf0LD-sklNf<_}>y>0J79`GjLy~Qg0d=jSkcV-$Y*Rxu&!3f zFQOE&EIN=PR7+AK=!FOlh@B=rU^ua6LfQL#I8>Z}!=l~$TlEaP^@yPX0d|JteEc#~ z-=!KCP}w3n?$Rdr(Sfpf=U$~ruWa5e@Y)p-Sw`^jVa zr)I;7P~7J&y__5D7T^_eEpbVz7pg-9x)slBKQ{Nb^fJi@TnFy*{lswrX?B*U76pT% z_K#6grZP_hO>0R0i+n*Dg)_!ek{|b8NRiw|$Y5q8JJBiQJ^q9e7Lrnn9%!5*5_))9VB?`wx#`T?~Xj+n9%?SS6kWsIv)BdOjU5& zTo?^L8v*+3{CvA*9m21+11Ku)(G~QcZKla=+}d z_Zf}&3PknMVrO7HXvM(G-~7H=<;$l07R=5$8T$w+Ltv|exubNUC>%gd`Z ztUgQ7--iZe9CA`3F{u_ROnyQ|rGK6CcRjhdIy5no9%f}Yk|fk~M*Wn^6dil~E3GON z=8Q=cIAE*8qF|9F*_^U?gU?Ap>W%t;`6DNh@)2LV-jQ(-mrMgx7x1J*1Af&md8_3K zuz%nY52}A7SyNZ{DvR3ip`t&kj~a*?v!6E#MUNpExKF|5SJ%vUw>j)UMqC%o|4rrx z5`HCv+IP!u4Q|Izij9>KJCXeVEF(;htO2c>>8{X)+MdKLQ%v{tqT~^O+$PQajY_L> z*(%7F++SlIcSM`OOVb1hf`|fh=8l$<3wRMKB@$R`t^K1S54Q9NV3GQo{ zUscxIcI=7hdWU!yGUcrG_4R+N!v8HLbmiyV<$e8r6IdZ6&*`T;*2ZK z`+VCz2|7PrAvG@H+MOnBouft^b6u&%BFj-HeZ4JZH07!ZHX-!znh4?mtv zh7N9u+!@yV;3qg(z%%I57Nqt^t*lL%;xPC=O`XLH8TkQ%O+9cU%)xFUx7T|gXG_1? zR#}!kd%(;+#K1(a^XIh>gQ(`f~p6aaNod6chx? z2?q1qN*v&QzE`ZFiVb*kS763d_QqKtB$9vq+v;`_g?a$U!Y%}ux#rd=b%vPIm!}KO z^)xLdMsw6J+bv9rDB;3`HBe*4*X!^$Du9#YylL@tna!gnj~C!*Lzo z`zKU2)HUm0@t7Y)-Q2$tEP%}hptIf!hoCB1cjJfl~@NC+U3G0&!o%=0VMzOKez_|GJF%)DCd;aG2 z_UZ%?k$kDQxPo-2>=#3ZlXe{zL~TEx55mq!2^1xXgsD-OO;rxI+dP8`+Y0m$LaqR6X|~++NZR=+Yy@{@mF{n`90_iZ z5bPigOsJ@llS=D4gNL6z9RoCMu@#?CD`zkrPH80c%?jPi72Zs~?neh1j=wzQ5+!f4 zw%pZDHr`mcqKPV|t+9(WOoUva6XC8W%4iASf1X8bgxfY{PgPRR`H2F$1u(J*7`{=GzExM>34hcgnQ%F~T()Q5Fqh3r>4g;w`vs*q`>sc*}uB zU8W!FY+K(k%s=9NzX!WqD@w9TnYU3UYAZr4bkUg}ARn4(=a18)zIFa&u7&jP!OSP2 z?JZ~i%wuf?=j4uJB$A^3o#2{Npn;W$DO#AEX^(E^-0rk27-)ERwG))j8yATi;I?JLO%*&QN-=Y>8+NyL*a-KXWiwUq?D0UR9Az zM=W)a#h`VH8Y-)nBLn6+{xDv?f%4zi4}V@|bl_UPb8~0y%p{q0F85pxZE-6P$TJ7b zb>pRr7v|(bX+-lF$8;ER90cTK{)A;s&}5+MDr-^5ZE-fNrywIO`Kj@z6eq8vp`LqX z_Sx9@eHe?or?B2Rp(6Ay*=oa12N$eCp0iHG5ljf0;mnQ-Z4h87N$hkx7&|PZk|xiM z$o;u~iM6G{#Pf1KT^I1YVto-cZ6?pub@=K95>czc?crI3 zT;mh_Ro}*8UI0b;ilEQiZSJw9xO4CtxHgvP>MpXBwN&Q=N$GPP%JN@0#_Iaov0&H( z52R?3=t(373|jQD9}Czs-a>VdTZhS!)RDnqr#xVwl3r}t6(v6GqOiNp294ax5-xL@7di_)-?S6MPI7GgM>GhKCRqusY<7oj@e$* zA!Q4Q!qxmpYhKi7LHNu_=hs2Z~?z(VF@Wi}F)gPx|eIq>z zb`zt^_gkxiQc1n;+~;KUjJajhpEBt%Rt*01uk}h$6+*Oxt_IlWm^)13^M%fs-AGx4 zPE)GgQNy9!xlp`8Wry>P9(IcD3X{X{KMw1F%+W>93u^>kXUjE4U8*+9^4f$-JNYIL zwbSq6BVVAwO8E-p-Wqji(dZE<{2Pu;gz6*23tMS#9vqC8x}3SGi7aXHAqpywuAjuD zmYP>2)b-m-4Ywbc3M2}38i#vK!k}A?FB?<}U8?PZ*~QPtPy2cr82cB-zeO zal8xQS||GtMsw$ICVD6+m?n{x@rmTDqzJB8TIWYf#O&PU_mabIn4Fw)Mv)5(tNeIF z2A-un+nonP00ZCYOAyM=VBWTvOmYxFCo7GOSF@Glz>FD3oD#YTNByAww%Q@e8Ls+S zErnKb(o*L7Ri#!M z?f#^3HZ|)%XKn1fK<5DCCI+GvtA_n(Ztf0QN2YF99jY%)(ED>&1@X3v0A>&rfOg%_ zW&qDD2pN0bkMQ{v2ln_YkV(h&+H2`;KtH9hHq^XnKcM*c@`am@Bf3W$y6UB>($AFd zE$Ej4;-H7pHOWv*6-7XH?3l(!Z$**p1WaF8aU1v{DNr$F$6oU7HGCq(UhZLs%Mig` zyO%8qUhNCU(RZ^f%WEECIT#q%OB#H|!a@N&#@~d{b{LW`%OsKAA%E@Mz|*pbIAu-CrRHl~6nBhSRkDt_xK z^Yomuam-xbWUT~MrFWPne}>p_a@(KaHGlL@pBNZ9l>WG$2S@^1y_THXtu&IzNJZ85 zyQ8GldF#G1A~dJhcc1i-Xl0f6=kB-`Na*+{a`-Ek-3pJ6M8@I=Djzl`^6r){yWYbE zYBdM4{N0fpfWpIwLq1#ES}QPMii-QqsTlQ0Lh>rlm5Qwa4c1_KJaRAKbjtsiWxg9s z=rGXzu!KG06ksE>uHkt(wBO{Y>}Yln4jnh%|1Ze^g0~KI96iBVh7Wu+i9Q`&6q8Hz zR!~{LJ=rQE5O^&CRMo2w$_l6chU1Q|ie5binsIeteItfUB9<*S4>(W42SOm(SBc`^ zTp3WRkF&BU-D`d-Y>o;^zQ41HaH|g<(i1TVd^GGt17pF}s*NNJFWfGYMG>Jyk2>a) zs_$DN`<_?JZE0bC1j`B0ZyGFOcY)=(zX~54>Wh}oz4FOqHACz-tCk&A@3PyPW|XkH zSD%&JE;mP&XEde*0}Ar#~4S*z1Jov&ln zbuWK~-%j!5wL=>eDv;}-V{A(^2=?`svyDmc3vY-lG-1}p6_&5VhXxs33!Hyt0#XX} z2Vaf6EjD_3x0>ylKi>@7z(qQZ6=OClAY_LXQJgZmTd)5O`mo7zr8_|R9@N53n+RSCEx1V@LhF^SsuP z8ToAEyHiM^T#1Dq+Kmpzq6vY z0w{OR2!@nz=nRg%XC54Ig}Y{68msx45A(UUEZ9}i2Mc%kWoVPR&OQFd+2`auZPydy z+AHNqtOhC19*hOQYxF;!ACtqEE%ktV%mSiy{qU~V!)E6;wVRcGpl{K|D_`7zGHc3GNbr^)w&q&kTp-n9kk(YE+54Fw|F}B<^5}lyEg= zVV-B;1Sz&~X@179mc91j<~{}K@NE(&ArJh}f%MQd5h{50c{~1fkJb{PA=E9{s=~d*#~n<4zt}i`TFrk5yw8^{vPQIPQyATL`i9a zRgB}DHO&G;+nVDHUEqDX106y#DVByI2c4CoI z7S}0gP!&$aU)KDcR23eWj~%H>!`d8K)HKU$?pfiJ4DC+@9M0kIrAab1YWUPPDoC0x zmED1^=!6k99`td0z1BnoN%Nbue8nWVsGFlH-lGXn^+)d3%;wAjuWrAZSd@a(sUC;( z%nJQf=hfKh=EuWj&;7Oinn`as`Ty2=e0^w?MMdJVvOGWuc za}R(?N3>8uq&%a!Eje|7GtRv@#Fx8f^|5Ws8F)I#i7%o<0dH#kQi;enNU4ZID<$xC zlz)@me#IwLVmk{4Q&uiEs&Z$h#XdmL`Q0jNi0AbedLy%49A>aYuw{E%bv>AWH9Li9 zdBy12-)%A*KGN4IF0U5h*AemJ6%OldQyO5IwGmn^z^RbPKr>K3M%;@jgY%)7^eCMo;FTUO(>}#ehbzm@Pb*Nr_Zge9v z59r#myOsAZe>paOSsL&jYXbNIQp4|In-a89#7Z2dXMEqs=sw2s4#PGB{4mslD$!GNlr!bb`)x{7^d1*(jj2C)uDco!=vctci% zLV;nh`CNvBlZl;k9wwIzH8Xh%COrjErPASRCeJ&QVjb1BH)2<+RmW z_O|kp*5(fVED6@bWy-8T_ z-5ulRnlu;#OHw1njxuh)?nYD+cINnI)OK~SGczM0u(+_u+EM(C8S$^n@7FZ7fVRiT zg7rmgkwRPD4fIn}2$l(&Ik@ggUorVTtQ{RFEh44-#z*pxzd_7? zdpG32Jt!eXlT8+;f!%uAFL|5_ie?gnjac$ZA6?m7K100P!x?g)P=q2QC|P9wu@ma* zn0&p?S6fhp9=EZy4TAo|I)dQky9(l?-pMH1>TG{-2~#v#qwORcjhR1HbV*|Ox$Cac z;+Y(%AcVwyDPJ*KaY8cjwR4PszDE;uQu0DA&U*6sTo05%85JZET;g=NR1vN&mA{^C zZ&o4YVRLx?u2+v0|KKzErrA^!aC=%yqseH{L2E8Ri{TxpgH>`rTV223vZ3e^M9BoH zXCO2u+PmzV=IXOl>jMoV6<=%|v$Dr(O4}CnlzO1BFtn71}f*l#AeTfcw<*;c7g^8qDXCFe^ zXdM(>r3E&$R5C?c3O*+$9*dWxjk=gl1-I~^r;H8@GF>_X8ToL~B=f=7dkOwDo3E`R zt?)^rQ4|b$T8Goj?qBmExs;S3WQwt$v1*ZYmn}{9Lw1I)MbI&%FuQ8j%Ik+kGch3MP3K9<;aRsd@W~_x0x#!(Cd&qiEiq2g zj{-%VNs+v(6k5pbANJ$4INR>@Cv5#`OU`m}U#8=Usy|wR2P2zOh9ni-EF_zr5rw!k zxH(03Ox=LPu%q4`DOIgXcx_TblN&U0EVXg@kuuM$4%~~cNZ)Qp~!z%C&JWiy|M2X3O6jm z+8ELU(zFgWYt$<$EWT*HFEk zW_`_3(3t+FD>HmomnT}g!(`-Gx-B0#0n!Z8%lZDWd21`K^ti!dpSlFFp-#}zInCCZ#X(?*IU(|bgb z!2ReySDA?aMyg$2YkO;aiA&n7@%b#hNVj7;KuUHS7p;n$j>-=*xg%5->w7t2qMy@m zxr~43RmTb|Y0{g4dRL9BjF#BX%kAP8^0>5_=CVlolftb0Nv`ocC)55m`sbJMCKl_f zCUkT}Nkc4IiPT9o+r293*_T!^W*w*RH7!V|t^L7}EcxrHY3yH2HiGOiF{nOi9bfpq z4{h`UR+r5A=kGHy;(+in%X800nDG8zE;$8ycIgfQYIFuovlEsJ!XEUs-+dFvNDlr~ zZ2Sm|pV(|#iK{-M<_1T}%CXvAl27suyTN zkn5Pwc=ESoJ9C}LF*k-}8|Pf#>s{{Nb0Xu{WgOwB>3p3Ii?9i(BuML@V_8)7!Rw&R zuJhNqY><`y>v_u(=s)k9=k7olqBE#6iNLwrbu^jsGT`A~aQFOnp;~(_bL%>-tsCTE z)RgQ29mZDx)C^(jEc|?23?f&YTwXq)yn#vvL*o>)x%#)3JE$peXIb zLXX4-`hWj?ub_N|Q~PkVm1JGdWj#Cr*B+$zpT*!|5pNweSr@yjkjo#ZdOMmIT1KnC zJe~}W;$LV{cM0<%uRARR{Y944ODv6|A*%#_>mS^AfE*`ffNHAyZc|H7&(TLY(`n3j z)~HR6*7jEdO?tHox2__E!!G>$7VwpeE(gscwvAKIwCtY-=hlZqu$~BwZyS1mQB1{N zAfjt$dUmE;;GnE!jLFXI%6J~JCrIh9W=}h-qYsj* z?iX5C+V*5Qe#i#0il^;aE~|VRd-;n^f*XO! z*`MM-)$9KD%)7?Tr62^)QnFD#!Nxp%&j;a!JhXvl&XD(Ya|reA&%>WHK!uH1UP8Q5 z!^&bh{@2Ch-NMH;FGJORMI#P(MGJ~4qq7ciDyzy(c+~eFw^MKA31|4A<>GP#1MCz} z?oO=?(<-j^diIHkUOCsZR?OP%MgN-@)9*U$7`in`824}XS_%)2zzH(}@$%6W8%OV;(7=d{Zw}QxQ3hj9lh%W|R*Ey*TUyy{u$bZ^BWSt9a{&{&I zqS;4m*e5elO-s4IZw+h4QE)o@65dj}9CuY+^U)1_y#KS~2NDAx_ierYkAoxu`$^Kf zS3IAGBS->pXEin7_Nj%RN}2utfQD#MzTEddSRqikHx5_^6cW6&rS3hB2dMn${a>v8 zUn*ryMUO1W`)@z&zdGMCwMxxuEq~CP>ZAqRrT?WbGpGjpUuL#Z=M3}&@iLLgu3cvU z{{-T|9032ymO$G{*g#?E%SD$mW-jU+XeRduftud05`eSgWAE3iUxhj!lER?h;*PMe zu#QUY7nB@|1m&UsQ9PD9VuKW~bXHD?a(SMKs-b!nTmraeYzgb;8*9uw8l~@^fu3fE z8+vCdJ=MI2(|nKOu`<@%lYm1=Jbj~S0LdjarO*MZ$ZJK2;O~qOpF`|YmWIBvLHOcg0K0x8 z4W0$EW;r!Si2AFQ)29cV`%@Z4T=+t$z|vr&3CziU1yc@fjt&SOTAQJr_2Wb?wx6?q z{P;>5*{KYt!E1x}Ce&5TLm9XKJGb#MI{Q8T!^v$>R=Z#>;*&> zqMI6My`~maoz}s@VlmC-?!ojt9Kn?RlxW0|X2K|v z24y%0b|Dw_6Hj}c1sLi`CIp!|gr+gEKbXO=)>mgzh-~-jdK+wginwY$p!Du!z+$Fk z7V#&NThz>tX-H7>DfU=Ufolu0B31|vUUUkos^Bk+uQ!_kD{JpNoq+cTGU)8yU4A{% zbnfzdl2pg%+u;k1AZh&-XT28?i*1f#40a1z8TCIw1=fT35B#2I4Rg+*T3iql40L-S z(`$zv6}m?IerTh2u?&DKOR3MV(1H8TqMB}lVdFrrjQb={Abe# zBt$iaTJ)U~+TkaJ3GN)*zo{RdFTS<++8Mu!RPEov2Uh>t8iV9IIIZMnS@Ud+AG8*J zzMHx?Hxz!BOg&yoW!un)^iR-ul~=ETfn4&rcR@y~3qEQ`hgthDF_5}m-WXcIUABa* z)+`nrvJM`9{(Wz%Rw))Ika+%t^LL8_ICQzU3~|)|SQ+k{80xdcMZ(RPHJ1Qqk57Lb zLaM797e^m$Hm9e~#=$|QaD|WQdrB^e8hG*(9mjl*aDT%SblmWn51Q;!aY44(+hzz+j)f~{vcZqVM2%G9Tu|r3QE0fxWp)69hYj_>`Jzh;r z(O1w(UvmF#FBWrvNLIM(pm3`ecs|@%`*_&7crhYgVTZ_tX%MuqK%h~VUI27AX5B6yMEwd%o!)(*Jz?gE2e5v)=j_mpZu}4T4ImMlec$Gy|dw zV-=}xmdD8$G>&mCh5k9sSlUY4sJ$5DVNSISxvW-HfK+P<`SzcV%J%I5ptq($-IIaF zf^nM#ZHJH=h{G=MxS>=h8>dw&iGE5+yCB{O_QR~H{=Pm;QzBm)C;?&CXLN?MHja`{aPlXKH~8?(S|1y zuG9#vv-z@6lKZizaF*0_?$~avsnC&$YLKFC&jrGTP`CsSL6nN6CrN>0F@oF|NQKhh zw2VN}VRPq3^N00>(yy$j99mft) zcJ99!>#7oFI^ydyjYW8pb1Yc>eOY4rDjbA^aylu|1&9C4lU%e|{4t`zWFE_!nvtq(WSd6lO?~j{O<}4|wbBkB4bNL@OA=am? zb}EqR$z7${Gymet{0pXBA_J95TAGpB=6}>f&5Wd*H9fEC)g%pnKP+_1Qp3qoVy0%o z5Mc7FW@r6=vh<}BczMB@u+JBuR47R*@<~KL2RmK68Q869-0Nm%ijzYIeR>sY^1185 zTU;OVXXQtlw}BoYKwP#{Cp-(ON?BhFgc%{VySceJqfsq7SSMKE+S(fU8-&IWP!jl} z=fTJ%MEJ2EbwE|dxZC^cAAQSJ4lKhF7bbDy{b!pFgbwfqLfi=lF8^CIYUX}*{`@Hq z_s`wqAW^_MjgUNqZ zhqT{5cA5x&uUedXTc3NJ5U@|Woi5zPk!CSQI~PBI|d}MUg>w8w^)j)4Z-YX zJ(!jPQeP;sVnO$SCFonJwP)|kqi0a_{3baT-`s7ijka1Fq7Qj=;iCj+0I|Fml(dI4 zz7s@5w!9mR$2r6L$po3Qq9c%EO4UsDlZ9p~b_>Igf`duL$~md$@1*`84J-0wV(p?x zlr|Jh7)f0sc5s{!7(G3{)<%n)GuJnx11nHK)Nhs~IHG3Il{OxMWBjE@!lsIaEoBm+ z$|NHzZR}34*M7@=je(EdV%c+2LsEhJw`er%Cwi4R6B$Scq+APp6D`m}xm&iQGuW5Z;aSga((>uAOo6GFE2H^SH?oH(jzxFcQ z0pq{eU}nYHVx)rNhgZ5e)~DTgG4R0{YAOnL6v~*ne{b?y08?%2WNvwlyG(8!PM_j5`1YS^q1pkfw zuZtoh*=cDlwJ4@>H%--T+KOCG>$nJEQvx>%%kQ9Rn?K;teOj=stLtS(nk4KTgo0T< znbd>;^WNz603lj#!*Glu8LGGcQC2|@U%8y1+D#+Bt054}6qL86Y|5K{x$Fh*P8RN? zJZ=9Phy{o=AmT9Hj;*)Y14|oTTgXr43Yq9}QiD4#3zFcSkf-`|sh_PkDr zK!OiwK#};b+VlBCU>a2m6{mhtv479%?+4L}=CE@8m<*JnB5!#9odJX%Yk1VDt9ONRZ_j6h_dL= z9(>(;Rh@@noDFmHLrl*Ean&7%o#0=2y3_*0VpD@@+-3cQFUC5X1B6Y^`p7VzrLjSV z=G*31a=V)7HLYM3yN?JMXvCE+kql=#ex|3r%u^rs-Y;bCu;h5^@H0b-H`bw@-~Gyb zT^{oCh`xl@ssNiV;hQqYdKM&9P9^uh%d9+g2b zf^XljmGas+u+`8OI^69ronj>itCE#VmjvHs9_|%GBY>)1qX~xHC9=RL$D*`o7Ln24 zy4nWZj#soR4nF`34GIP{6wqy2-}y0pO41c!DvyS5!p;qE6&~IR+lE>(9onU47aBIm zkR%a2;U>w)V^bn+qiP+3JE{{aZh)F=-D%E^4YN#7#i8g$I%vl(>$4CDvg_X%UQlkuUBD`fcpxgJ3Ms(JAL zvUcCG=(WJm|Dk?)GJ_1>Knv{OC}ls0$lZVVHj#?OLtA@$$TI}XVKY_>TV_ZOXcaq> zF!@(dVJVClu3QGc*Tp~WN2U?gRg7;5iyl;}}_??s38;Y22AK!-Hh zTlMZ0F&n)62P@54>XC4S2lEFpe;57_QSbbhS-7zAK5?>b+qP}nwyjl7wr$&PvTaN? zO*PpylV|Gmp1t=u&p+_|a(~uZ_l57Zy&d}>-KTn}&?oN757zvOh;3UZ*q5w)4O1W) zK@(E>K{q{S@#v7xl3fEV&X8)n(_iOMouu*Grjv)Uuo_W5!poF6{!g`uLNxBza<6A& z>+PGjnC`G9Al~!JtaiuXrE0pxNLG--K&iUQ$T55(#dTK$JpetPw$3V2lj?1w5GaiDZzuA-zp9qOoJ698wpfF|6b{Z6wcDCDX#J zIt>}FxK5V~7#|WiW2oO5)eLrvzqFSlL7-i0kTJ6^ATPJ1wxoimQ=;pjPR$r?^bM+N?e)xDR(3l;k$Z&{)2RAWcCtlIo_1F#HFo=dMa#B<% zmV}CsMvVb;rH>lqIFBg6D(iAm5jA7(69|->&_$fG8cYiFKRgZzRTT6z`8Trg!}D$3 z6Tih5Xr)Dsr?cSDKP8+-lkNU{btCX}>^-xjl`v6Us{pBuwlBB3N0iN*7$cd}{fqi% z_lN(7V0CS&WICA6H7*gG?%ki6hW@*s1G8aR5ehMgp=JAD!-a*O^08Mx=-RE^c;Pf0 z87N>NPg<<_X4rVkY;{z}Bp_lXf*quOpU~t-1GqoFbV?69-WkF(=luPVu%3-`l7uSz zbQyG+a5L~{@+Vtq=~7Zo+?eSU7>EURj4WxzN)(Y^p4oq8O8Y08t=)uyyEw)_T;ta|9!U649vV+QOx_1yn}{He z72Ri+;=grlVyTT<2{Wiu#a$U*@&JgbzYZ;PfalFTeclIsj)f zy_hj1zBD(cDTfRCj?|&yI`|+KPj`N#A5}HAuyf8zbSGu=IovrR?o&i$2$=9tgy)nn zvgcqGta|KDA76~r1=>9y%2({TiH`6q!y9v}3z5?)tYlN5op8eX6qb5!mTIV^xrn>_ zakQIXVD)81_SA+FWDIAwHG4bv6t{N=$`R}fXv-fLJ9~zSXI0_kDlC|&4(U|zbXabi z=yY|pmac^Ut2jcJ2PtWz0O>X*(Ks)Jx!h?ncqKZR`{) zBQT~#LXMDx72DM4&S_)1+(w(Y^CHbyh$u^gngII9pFzBk6x`*lcAQp_vTVRlSQJtA zo0$y!r>KlcNrj4mI8r#MK$=?|E^yn2Lt|5={W;l;7frWxELAKCTxp0a#201N9lxQg z>zxSucm@5>yoZ;Oc|vaJdD_U;{*jAE3m%j(G2AjqC}d8-0+&f9$I-Ue=AL12FI66h zMILPaV{1eITRV+YiS_Tq-IrAA_gj1}88cKacUz-M*inmQV8r8H7TrQlA-G?#`g6Ny z>y`00cZC}O5gj;|lr5LtlhDHJZZS$gz`?GYhFdOS!G0p!s*hJ{W})R_t1oWd)74;u zbJe^8g@ef>^54*09t|4{OOnFy6M=tS2yw+)06((q^7@ZY2~RQ-d=q`jxHF~en7}}j znKP?+u`uC5YZ~P2Z_{n&fES#*H7K%Lh24@AZ z>G=v}o?vcr?V+0_e%JB2iY<4w+ZvhSG1vi8BQLHHlk>kD!}efb+g&T6lNF1-;e zj)Pn0b21Vye_&3qf>ttWy48?HtGnfo^CuzC&}1@DQbUM)bn^GL`EXLVR!|`)6~(Bk zSV`VT9qcA#uZ&D#++k&F{+6L?SB(U~!|?B?uc<&*9nUQY5yeb4%Y0+S_+*2LmqP7b zThHc}NAS}~4PIMIvG=wpUuJHkqae=El#%J0=|yMA%}Rud7F!Y|jvus@syiyw+|g*t zLN*VF6zs2KaZX_=MCWBITNb=uI2ZQacvpY@f~anzFg{WF>2mt;#Ych;3GqZCSw=-*o$Yv1 z<;&~2PQ#?aOtmG#P)Di(F#X!o<9lH?55P+yJ6b9 zeny!-Qi$Lo{QcJq=bK4fDkk7T_<7(F@Y#@=kTZ8^P|F%7F}PZ)S+&USNpvs@qtHLi zG7{|$#-+U04MDK*W_87`*9T+K5^ld=5&f#m@bz@4SS4w(;QYNkoqslUmbzPs+f$F= zg8DFWgR5eFx=fll7Y=}`fa`oO}%+!|KLf&`hv(>2-3nd{ne_=|Hb(VS>pFEOLV^z#%Wo)&2PCPQk5GaB>(?xyF z9-b6oE`P~x%`n|_fij>wUcd6UaX%hYA$PJxF+**zsI#4YoHhj5Oz>erm6{15A!Hep zil`%Dr?rI(Dy?l*cZgT_w%z-?Yrtz^L4EFT$>wHOtk|&P84pElN?D|8k%t(&(=_zQJ1;N0?0~=Z!QJVS*Pt#8unB?qPFa1|) zQ>3F}POd{!7U!VcQ`y&Cugk;xeE8p}&jHMrLBvoJw8+grin-_RXbX`CY{ozqeq|dAM~Urqq{t0r#WaEq;7V)#5mkFYRz%E5160*PL)DO=%7` zMS8`+jglzya8`yUi56vFRU#4+GBScfJ~tq|z8D8l8QFMeRMpRKe^>oNec)QENA06Qp^~PWyN&N8&4$o>Nc1r-(3GaZ0s#kdP?|uD%I6N%FhBi7y36UZi_3OC^xVk*K z1U-%_W@kHmyyL!$!HohJbyyM!B|Ko!DO5EdZA`og`cEa%?EnU}7g0t67uLm6FP6Q5 z8c>x@Q836<6RCGmkx2f_#Kfb@&91W9yzsC#hdrEOfzov>uS4MHgQ#&F9T*E;>Cs&S z-XuL;;|R}S9ntciF|Y;*zvM`tK$cDX`2cL~ct`mFmv~L^?oxs`>5oI8sd)zX1V#D5 zn|OTETG5ek45`-Md9!*`o8t?`>OF%(UnYby<)|4=eOF(`38iu!WSqmInIyVZMyk;z z^hf(!$3cgltrmtheU{_gK`17LtjL5c5ACEVRj^Tz>HMP_mCDkgF)oxkggH8qU~06A zB%*x_*dA)X@MsM~b6XKGlOL0uXLFb4M8o8=xVg@X_C4_V#zTg z;_x!bpId0Gh2`N4Pilys=&oU;is=s#5iVV__}78g*PooTw#4e>@g_Yo1vZ2-`@x}U zsvD}(^1f>OvwJ}0%_2+=VTKP&QV*jEmiPRpMVy4zV2>G+wHi4D>fp1&tbO-aL1u^T z=h+=7Yf;jusrg}?IH6Q&ujzAMRt=5lh9w(OdJ8Er=rsj&5&mUdO|WQm+GGqqYV2b# z8?u7*(JR;0jNxANVyzTKlH#bOnEzZQVGkiwo^+WXd7B_q%CzpK6Hr`bW?H*UO(h61% zU{MwNx>DMvK^G;VIy@F(17)Q}V z9m2AbCv#e8$BJUJtT57SE_Ah(b^Wk3rpi#GW$B=28`&*n1R_`uOv7mDSo*@;sGfoy z8Oun@E$l|b@ySnC_4@DeKFC@)}{kdHAS9f8FN@iJ87QP@4FJZ!9o99cOAH5&gN)Y0yTy7VF>4Kho{~%u7wYT8UhWid8-9)+&=)oy;#Ce=*-i{JuY7Z+FI~ zYd_$aPXPJz9cS%gNZU2Q{pLFQo@qPepXEf z?%n$i?+6XeQSgnT4gnR^dGcSs8w0-9U33Qhmj8YUW2zc5>A0_x){?yRZbp;hke4Tq z?euTU`lQb1IR|+6DJyQZV3ABxAkxDbY`m^I)Jcx059&13D_(B^XsL~TWETpq`g%Ll z+pAmg z85zdIkStB}@etEipAT`??z6ua!VWOh+2XAn9YPxxHH-f+2B~+XC^JY>tuy~P_}nxM z(|oD%ql@%Yrz}?msKsoa683Qk{oHBWEk}j~)IOJ-ngyoq+eo6rV0^f-Ct8A zPcUpt(l#uXVB`aAB{9erXI6vkqDl8sVn$RrX%XzfL^!1D_D$Iwq85q$L?v3HD8gN$dwW=0Xosu( zI0pQ993p&~4{6v_MqGxNooSUsQt1DlSz)M&c{s$#3F;s|rqBt>kfqIDbmjpqoljzk zYJbo*c48o{fv!fj4AP-Q+D0ZK3qJk#&!QIRfo0t~%cj3P&*{dlS5V*=`VZWmT4 zvG&UX!a;rZsP=nM77IuqjUKbW@NHK5{a0z>-@icrx4ZHZ-Q_qkHH!MAISZ-Yr^~>- zp*P@h+xYTFr}r3c<%}2%OO8q5T%Z{&At7LBM%(KAHbY651sxy7!NjhKXe%*wDkX!J zOJRG`bMojA&{5h-ySyq=h7v3g(wV9Eu-qr7YY+Q)4rZG#P+iTtJ78}vln!=_r*@b` z7YmL{NcjDydsAtBb+bKI28PHl=*Gms4cxlpTRqY`2{P(WU3LHMn$=xbEM7(eO%o`~ zRkNjOd?G{U4MN6aClspss%>#|ZKG1iq~-P(@Nu<6C)mcB0^5>1&$qhb}6nzi}a z;@jnopVEdK`ai9p`*?VM=x2Q0tG#y{?J_|ICMJDJ5*-%o4CR`NyTH~CpZofKC(`IB zzwzI3!G-rHW8=S9g7!g=nE>ZUYv8RZhTND~jRb~53ru7jnz}~(dGKyXA$J#?A8lXY zl{r7xH&7QhZY-%GHk9pWYD7IFf6Vhf`$}|1kGnXOrU@dv@-f|r1`UTtA;pEF3`341 zpOaM`Cl&rhO&vZ*$Ph!KFKNh6Cyuh6N2^8e~EhEnBEB=>WT|Py)U)+(1$3ct6ba_HXj%csMOK;cLyb1PdlaCzUi~n@Yd8=l*v4 z=ln#;u&1QGS`~DUjYS!PJT9R!A|>>r)qVT+7REgIK;aXi2^UF5hBi!xDp8hQKJKGK zOl0sd_z&Wrp!)HGMpO)xC_64Xg`I5x2x7+8L@86rwuCRstLy6S)+3Gq-tCgiSCg`zTOQc{DMQQ_FZL71iH*LcVCV<)Ny7pH>$`P1(LJ z^F2?Qobs86FxIO*NtYp4m6TH`EgLegmf=W2pjPZIW@ht5#C@G9D0DVQMhNppOzFdQ zC6Slg_VW_%e2A_uRSqBiF5!~{87M9`nG{`x3I^bfzlqKu3b}s}M<8E+u^?0}4Obvd zk;x0#4X<}slHwAcpMdim@bYL&s+hWh%3~6nP+?zbe0p3_L(Pr&oK!A#<#6s_+;ZaL zDt=s-aE~P*jgj?_bbr(AGi~tOUtJ8Bff4fgk9Czta{z7uoUuA1956njE#nza8 zyq+0i9p4i9UiOLA{3O}T{J{^U*)>0cnOP@L zj0Taot*>O+#o2(v7vvgD=;M4A%r6eaC;j{pxQ!h2`t`m4tC)G#ln6a|!g4cB)@)Ok z=ru}?YvK|lNYDG}{iM)%;Gk_qF9*+Y%?TYn6=rUZQIB-MeP%|1{uFvS83Rrlql~pe z)>IV5wc5hPPc4CHv+w0-?MeAM=Sx5XT0+iFJI-x;82a!kN0(ds6y`ka5?C#e`#O}5 z|K#*jjV^;iHHi{jHfft>u6QYAyklOL-5OpEvZ+;)dgS|Hi5c#9r~am*s?-XF?>#|* z3;l*I4DvKP6!bD>wDFiLy5z0S<87&<6%}7g^}j^AmGYuSRuiC!%R!ir?GAZ-h|0A^ z7}UUke2g|O3-To$HT*|-;k`b9s;-A>GyB-GFb>X=2o{w3l3)s6iAYrsPtl*N&9&C! z=L!MdWyzj%c6M24js@g%Jd#eiL(apGj3WyJO}sn(>_qZXcOKxF%MuJ&zMJMTt$q4L z{lC5Ss2D{`X=JV8mLi^It@AfH9Kq;-sw_`##F5qP@AJcfw14hhXbBSlwj3&PaUSE~ z2XOY?IIR3QYzBv^dlvOC6^H+9MYo zICTNt@@)SyHv20PP&ZiSJRcn}uuIX8^!fm?cWyJ7UWEe%dWKBhfCV*J1kCVTwi;1C z*8Ifg_(*(hdBG^C2mUpm85@to{qgs~Y)ET{!x`AydK!jAL_^As)U+u)IWcz!@Rq4#3)J#{Iz47}x z_C{Y|E9O2Ie_`IP%G;%kKgP{k5ON< zay$z=b^lJ-D;>E4JqE={oDii@QD-4nVTZRYB2utQ!@?L zG}z41Im5-61SFbA9}cHxHt7HJ@Z%^)k)+~5Lx+U2cC-4}8&c!yb9mRMFr8Mh;#PMP z6xZt*ycZdMY+Wj80OQL%bjicw{9XR=b-S~)ys}O4JM+LFc13y_#<_|T7z`Z)bs8++ zq-voIU3tGYdFcaf1nQF`YDHTc+Zay|3H_Xd`sQ^iPe6@qd3gsDx$~%WMUKBWQd&*0 zRX>xKgS4tbR#J?@!Umss;CHt)QIRB_>n{h|{DldO(Pzg>U)zi<`sY!zie=1|W>L)+#=n6=1ofj;RF|M9!kzH)ijjgC$%DXho_n z!407+2TLMc zo`qj9!Gs?xo68(lTIybxTQ3*eK#+N~6QFPU4YE57|IWXY(cmOT~ z)`LU~qu6YI?z*?Lp)(eHbjG*}kKHYf0(htE5lSNeDEJ{G8%Femu4$9^NkxDba&1kG z%a@%V+QX2y*~IxQzIxX!0vNYuC3N*HGsZ|0cPemlfzW2YDvAGrf z&qwirZ@Myck|ilHhpizTBVpIG>SvTGaK`2g&-|jcwBeens9{MmDWsFwE5Yqn-2y~1 z_+J%F%h{eV2*xA97&ejb0-#GRFi5ZL;y)LSw^G5B`E9nW45W4 z^ZA?;G4B@K@`Dlu-7ch{(;vC(Wa5?3oNfv!8lce6`v|ydR2ugZi=`r2eE8AQ5Jc{V zpm3M-(_wZiS-d0F@lXE2&Q-iWd6^v91Tk4JL;dymQqt}!S4j*pIvhCj81Z5?g>uuE zEAv!#I~Ea>{{U;_>PNfwM1NE?~dL?2*AzVr2u*8L=L^dSyG;ynQYwb+?D>-{J5nb!8fR!zWc_WG=BR7 zO*O%YZ@v9@Xk zqBGpWG{jEGH0p0XKX@p+y`pXpCFKDe7o3Ax#KRds=|PnYa%e2DrK8urpM`$?2|Zq4 zNQx8iG#$}ol;&0yqR%e0h{NWAl#Cl0E2&oZ@eoR`41Iz|R=u#iBeLpb%&3Gn^3}q* zFCBObhHjJ&Qnq9X#BG_?6iSyFD;LaDO&u(OT1nDqlUVHdZoeS1;P1h)lY9VOEd~5n z%wj0vERMYVe811{*9ZN=Kn%Sdn?5(n&!UU}8!M)ch3P!V?}p(j>+$rs5*P_P@1#mNnEG zibiozB~J~k+|nKA|86yp7Ha|D^u$U6UnQO2BmeB?F9Bdz{arIiy zRH$B2$F4y9Ug)A(e#Qcu5o;|cXEGx+hsDomX8+OgTHU8Cq^j`%SqC*4!vGpFl*3NW z$dp3R(_!Oy36QlFQ@}PeL#RplLS)E+sF7BjFPDNEpDb{DMyZ||UZnu2k`~AoeE)a3 zPP~iqk8F(2{Dm>`T}KJCMJ8H$&PL-@_C&0NK(mxj9m9^TpTh(giV{qNNqz}7f1b6y z5$heUeRC#GS-;*^Pb1^oyS88-2Dft>jb}~HGULnC23=O9(JqH$&%Qu%b$>85Fcba1 z;RP8I>LQ*~?9yMn`~Y8G_2oWXL-(R-{>zb_P1PJC0d!(rm zzOS9*vhS;7<=^*tuixp+j@AtUUz?_5H@@6vMAQ-p1(_yYN&)QD@2t`z-a@yTC+h;{ zAQU)xjd7XL!C|!R2(1&Iv@c@gTJCi?6CiokL9>{+&WYzdJNKBdBIA!we-M$8+W#+O%f&w2 z$Ky_wxq-7z1SG|6iYR*n3qpd0n9W5|1ep-YwYKHS2BzzwmW+lgFdMg);0zihReY^j zGz{uy)JE*9bhu8An|;S)%cr1}C|M}n88#~@#Pv@tdfM}5%Yg34EFLjg0)mw6N!qdT zv$Kc9$lWIBSN8Bft>7e^-}&liw>udfWO+{RN`$%hY*i< zl}OW|9e#cd!6h@3ftd=WKr5Pr%9hY%C5_IzCuFdQHlcF6Vo#f4Vc^f&`VG8j{@g9j zbMk5%Jm)?mR)`c&PWXhL7kY)1O@5R2$)dJO#Gp@WrA2{Afx!V_HjC{xiAMv)N&W>k;`Rw5u~m$G!{)`7p|~wjtq8zL;TW1xco9z zHGhGwZDX9-y0^t)P`lzT0M^tVI*gf@E$;u@Zs(=bf89}U#C#DPl!24tBSA`koDr=s zU+$J}10PF62;N#SisPH;i10(%>3+StTW6 zsLW&9fM4>Z)vAUmFsQ(=z_NN)=hP&6&dqi!BR|LD;wpx%O&NG+L%16P&FZZ1TV-KA za46JgQbPw@OBx%F3FlictiG8(Q$vr3)z?~E+Px+r5kU!xvqU2$GZ4e}y&<{oj^)Q8 zM@x{Q__XMlILe-+Eme25)((yLOk%>M*m*b>o3C_ z@pC?!Y#*>ADjz0Uhzy}$a^?gzfJVSTLd}Ps#o%-2W(pB><|Mq)YuV@Jd}??7B0+qqSxeas%OnW*Z?@9b|1#kb;EhnZ4}?AaiBvEmHUBa5I7jD<|i38u8xZ?Bwld zH#n7&FndCG66t(@vs~|u8j+3aOIA!X?mS)kufQZyR=5}$NNuP|qUUz9#!#Q;e=P2CVK3K91osNRe9Gn2gZI_~+t0 zi4xzbG41$2k3xY9#BSB9kYye;IiPc$a`Fh3)%Ymg&9}?ct}5oPCSc3Z-GXK9gQ`L{mr?Rnj--#PrP<8oLeNrOUZV3ugR?IWb%BPX7fvn^ ziW6|@Tav2ubjWnZLoK`=D!}cXL|;&IC<(9K!*ykOeYvFO+P94H2v`a-@c9k!SnwhP zSqq)Y)x)KvqKwfqIHI~u77%iz1t(FwZ{HZhjN#BZ>7YiM*=B*;^8MLwrSsF%*BRsi zLzxFG`LU2>jiFKXlC&@lk?&Rtbl})IQ{jrd-%$vEbnNdNBj;<*G6P+Ea-^$KRVLeA z=CY32eEjQM$@3?z;bt0&;C||spd~R{!MYRaWM0^4vdAHcU}L*1trQ*Q1#}oJ$ z8?uUVvOASOvz}Mwzlj( zbaGbW&c6wW-bV;ZB;ZfOr)ZA4&-WrmT8X(`vC#9kP-yXU+_d&1GnolCYm>l4Q$mqJ zuE|Fvdc0RJayPk&;l6+YCd(F5#i1aIVunpIo~MALx3kgLcFpdz(}$yM5@E5|mPHrU ze2#HW-P%s7dBEAYql*@UC}u1hZ5?&WhBDQasyk~%hjycY9;#qxrwNof*aj=&Fr+T zwt=xClIYu2B?Y^|V%+``0`2FUK1M3N$wn&0G&yO12?JflU4{$vaCcv~aL ze?6}v+H*S{WfLpV7!i{#zLghy&e!Q88WJMTDB=1YE(P?bWsLEljtox6oRf%-gquNF zec%0R|Ngf(3oXC(KD6M6zV=UVZ!e27THJUEi{udp+RT|sfV~uN-I{^#Y;}dn*J1-A zyiJCBg+@&>Z&rnU0&X!EP1UnOobi?tsw_$Y(>KX71Dl;vuZW87)Wglp)zy!dXuYBp7!kv7dIevmG016@!C8loaIv>ig3-s|B=#J2dhnR;NzeMf9_5a$M{o=3A&@swptdGfia8Q`RrTxEFA7EE44FZ zJA-`Jg2napv|oziDQ`(Z;7YD%j_-NF_QN&Ul8GR#0f##o8yYDrjyjs^ewsml5}BE~ z!W{ADzg6HS$TV%UE*;y1)5;S?sl$s=;8$Mqk8SU=&N8^}Dgx}NBDv|o(^K?B0gve; zXLQWk5wLyL9^dVC;hmRA;UB&e^Zk7ad-H8P+ID85XynN{*4EZym}zRZR29i3S==FD zSd?TO5y8W2YT=<35xsuB8@v9sN-_8aeicpDnK6JuTznSY5}J9a?P7}7@<=>mWy3cW zi~XkTNz4*)sfv6VQY^ZC8LX4;wdNu;L5M!Gn3ykg?O?dTN-gmySmM)#vA|p zYT|~zkK`~sYz*E8II<=89;b7uleDSdN=93SLP^V7in%f9#a>{tc`ZlIu>_&=x8*n` zBszc$N{L;Kzlpy0$8Fm>ca0bU*ioD%eG+EkghlnBd*mhy*$Wms*!!^0(N~h9;Qzb} zUIxe;VY5z_=_Xn@G>{>_6g{<5e4ON)5UO3JzdRJ8-gkfXdY=~Gx@qeArk{Xv?A@+0 zakD&n;gG3vgF{MCTsOjsy;LdQ&vg`1rv512H~q6RR$DqCY}N!Q4}{fC4Yr32Nj0=p^QhHzjyx= z$>L;%423F0_uBM6N`AsFeMETuJ&|dTPfAj|h(x%2ti0?NM zXh9i%abV64SEF)PFb>#C2cCi`F&H!M@q4*5%z8^%H7!)*Pi+NqB*V$3vD!HpOIU0b zU>Hd;&{#ZNwT7Be5++n749qV-_pskjI*0mDFiE$f(84V4eONLP!$;NU0YU5WGwcT( zWyLcZP6<93brv;Pr#og9by%;^3T*XgrWHf)*^cy5g zXDaG*zu+4ZYxEI@1P&%I2I2o?y(b2sYz*~b0z&+1$Dvdg-ejO>m^s$nGBA z-FnPDmqjlFoL_nWc#n4ud^lUHrSaxsWW$9ujo!9^2eDe#!6}sU!1>^-Fe#?v3{FUa zf1_&}8C;Bo9t#Z)xly#0YA`8_lxjWWAo*>>fEG&=8jP@KkexJhjHt?Yvc)}b6vPx9 zMDFZ$b9TX1DDSn8z8zTt=x4_NByxb8unS!T8_J2=5kb zYaAp;S&*Y8i=&2drp!n4_AM@A@n0=>CV*T1XtQ-&u?Q^*4th}oNBJH=JMP9ePR^3v)O=|rxA(~upUl&#A`!(SI;ReINn>5@8jJsd^pUy8ry`GDUI z`8OYX!cJR#x^WRQ8my2p5~C6g-E%a9`l>2WgMS9wYgG3FqbqC&iKU@P$>adg6Vx7n zS}7w*(wv+$bqp6yMyiusZX)z=1^yNsRG(lD-sU1PT_a79- zjidZ1zHOyU2{e&r7S6CN9jhk7*sKhOB*^peEbz!i!4^ zvCL{&icVc^*k?Q?bvx4_6BRJd;m3?E3n_vG8TKQAaPkr{r?g~1&^Y>n@l8&&h3x9{ zadF4!OVu#ZB1q=3C7nUw&I|v&fu6ES;ZSf~6SOncjYX!K)}@hS8Qk1djXHN~BZIUD zO^6{B>_9HvVIWYU$~_<0;Ddlk`dpAMCBA|#FCi&+LT$N644^^@>X80}3bw~erz<@U z-s7|5AWbf9gwgPee_K5N;s1i~ed10eUY}KdUHDSFJpDT>G0tssa}y(;bg@Pj5cI37 zn)SxDVDHoQra8;V{gc8obFl8nVCZPR06JKGj!+@!yJasyU{Tfw;j#Q*MkB}=ivzmai?&TaPyCSDxK}8n~~L^qLLh^kX)Puse>gik#sfLn?^&Hm_?5Ykjcl@lIM<u>D>_vLR;-;#k%xBM_d zO(+xJZm?#}547vEkqa*b=Ng1%^tqi4pyNoWfxRkW&N~1fjm_y-z z=i3b16CPYSR>9$=tb-Lgnvfyk>LVi@_E96plkfFbLX1*5duncFtbDe7nwqDrp$$`L zY4qfp%lFyN?;Dvn@7q6UplN{b_c9eGWDrj?#k}FYLxUm4CgOKK+lKWYi7D zN+i@_-;nx5N~a@3UN-l(1TdAF5`IV`KaFZX@AK}^zp~zBJ$D`mhPlS~wTAN$c+UkP z%nDfjP>bsLA*wC`h5TAFy^(kY!uxKTTBSQaI2h%|ptw}~hl@-r9c#h(xm!8laSPwM z>ndTp<7zv7&e8&iFu(IrH=j9dpsi#u@*7`1Vy9M&4mVE#+~#R>G6<{VgMGOV?}iY= zg&WWOO-}j^0|Q5V#WT^t)$Z$)Vc<{jM+p1A@~3>k+VwbpE3u)H?O^IXaBN;b{4wzN zrhu?FF0@)bRfYn=CEkRRqFI6>RX($2Y&U;f`pM}s%bN}u2hGWvEo&5ar(XUWlSP_Gz3<}#*m@(m>f>i{Mzu=vQD8lyNiQ`} z|5hbmTFzmnCf>Rv;5=30?!*B8N4mD;fFl&c{_=FPErv=f5 z#7W{BG9SIMX=L(+Mt^mf)pB~-`<1L&wEE4Jq1 zkg*mn9G&JP#}yg9Vs>S&TWC};j4OcEtdXzN@!qc3lc-{8XbhAjD0qvTEk+a8FTENZ zJ)|8=!3rc-863om&Y)9Yrcs$8&WyUpqMV6A#}*G^33e?z#F9j#It{@i?qn20@|os^ zqrpJKS(A3BEONsxbmdC5fVO1IjiVGmz>u6P9>-VqSC)|xX#O?7YsR%qdJI5i*vv$F z><{(~hpYuwpZqQc^G!)gTMZ?MT!~qX##8?y)go2BS=1pXYrgbd8=X^w?kc(#)ntZs zPF#>A(^A?|FB1Y*pS0UUrg_LF%mq8gKsQ8vwS)A(F`|&X=L1E+ z)%Qkc%JmhGXdtnUm<-Th?Rg}?*eDHG{jSic7y2?7P2Z>tjk6~H%?PeGQz%H4i;MP` zkwJXOMC5v7^g~DV3{S14(T5MtW}|Xw9|Vqn4UgA?Us`jxC864e@{8678#cmk1g?pN zOP^sb45`L%E}fbJLCnFtqGA@;Y1t8LY(GR9( z8!&LE|D)XSj<>2AQH32oRV9xCj-xzlM?STtRD(2gM7*z_600W5aM&s-%VBYtdkx2^4V6^omO3*>O5}6OBfk~;e@3B>zanRkP+t?h{ zD1$C%o0ygO8lZ-19=_6pM-@sTv*UrQF1iPI9bS^b8a8jMo?+kuizx%UpY$tdepCT` z(ZOs7FW2pN^-Z78KH`Y2;}3IhfsfIff@#NJKeUVNmM#GcGx0o9R^`$#IT&m5Zd6y` zF_b7wx$cFy|-T2nE!TL&mblZC!p$55|vxT)O@vrA^*FP5~CipO=d^kAd!U$e! z&5|Ug8m zyF<`Vp{!heJV_!fU}$!OVSA&aZ6H`-2+}kl%AG- z8`%ALu~~18)%t&UdaHoAmac0Thv4q+?(Po3-JPT%!QEN7J0!RV4;F&EyF0-(xVxRs ze*f>(Rp0ljS!0e_H6EO3O^)HfV&eJoTM<{LVtas_bXJx5GFZ zx?G{U5;U1di^1PjG^54Bj`z705}#{0X-tU=++@dI8KIg5c5Npic@g?iFbt6+Dov#& ze%%spCgvetBe|d_Y?aD>(JK?o8*E`EibVik%dz$l+>a?xHxcmgobBZ}#IzXD=CTB< zD*3P5R#Wt`TgSKw?DcmsN8sU?NGvmevckePyY~sx)uscq#`}}fT_#qoSPj0zlM4hl zkwFRyw_07fU?I4muk%QWi!#0m%c_2hK04X1Ig9BfrIt^>lf&HCRGkFKMPPK<6AS^u z8af#l-?<-Ss}>TF%X{KqNP=DyzLRkG58l28KWcdF!lF9)y`e)ZP}#uRnS&RHDEYwm z+sTDb7F}8Z4@So??Ri?KV1C3+4Zr_R$Q4fNv-;Jz>Wl_rxS5kA;Ty|)WHf& z1NDNFOF*n^6tc^_+QT}oAp15~ATWP}4VMgUY5$kF&eWE^OK)(rnKbEx=2ehzXrJWt z^5u{|S0v`})4aph{ z(~isJp2LR1ZjZl<_*!kW$=K_X-31dw>+B1)ww=y9ujQ_3rWtrNbMVoHxq*_$kVi2L zXA$NlM~V%EY}GC3e@&j`>3@jqMV^*Q@RQo!Z6~%a!vD)=gu9D9MOc>rr%%9fn<@}< z_oWC^DRbs^n`=_?2LxI!JAh_^VVHy$d^hUJXA1`nHZQ%7&mCTJ?Nl950~9r9{>Gnnt%zPjjDX}3gZO0qjn`7P5`9U1tRXCCLF7@-kWppEsHq_ zTC79y&UB^m&@C}1&{5;fK%V7R{;f%V9y263l(rU=*xHY^zEgMX1s*jm3TkbDZRUS# zfFxyk?OHYv?L^p8n_JLAdOK$3D@Q*_`PnKZ4Whs8Bgg;E^|Rzxe@-=YUPxMKuq-BW zI@qT~d?8vPSKbfH*ySzPAj$Bog0*?<+4&U04F(z|>OCgnRZyA-!6GDXjM;x53V3n9 zp+yst_6I&eeTNsgu@SWqc^$G+q^ZLJf=igFLO{ zjI)BT;(p(mu;-nGb#~c99F~HO-OtVEg3yneR*OYGxn!5z+}$YW>ilJXNZ>|1G7oLy zPNfTlVz&gzlFS|5mWv7NrSo{K|Ll#6D8-Y2q^LB7ZZMA3(?LZEZxr<(ynR1U-FWR; zw*qn;{WdpMs&-vf@{1-k){lpqe{VjLsGN)YEm}?rbMeoK71q&(zfSZ&L{-24bm?z4 zsfymPmHJv58>sr%dgycwqK(_kD zY?WNBb;xb0?Q_)>r*ayLI1c#~pd=AjBCZ%MN8)5VnbOg{BJ9;qBx;r>t6qnP`u4|6o^~+p5`f9p&NEmvV6#lf}-<6Xsbo#BkdbG1_zUvU* zD#bb3kU7Rh-2c`N6n6cuq^!KW;m*0H53V7mm%sP8WSd~M?Gf~d8Pk5N)WFDoDxa(I z{EXi-HX@1)#tYCl8Go6wGFJ3W5C*<=I$x+>@Ly4d@_{YoDs-gxih z`tw{E=+`TU7jb~mX+Q;;5{yZQSF0UBxpi&5G~A<=46XEoM- z)1#|R`qsPitsaQjPnTj+FzN$QNo|STIr^D(&eyDS)p_(Erm9tEKK?+&aB|8f`1maK zC#U_MZo_ADQLGB}W>MT#=5d{MPCLXRxaR~7WnZ3jF?(gNrdL5<5Zlydf~(t@X~RQ-n=0V{zI=+tmg6Uh4x_F$ycf_6 z4Sxo`5WDoKh=Ai8K_NtG)U@@q!D4*1fD=x((=1@mOwx_zwB=s&^_T+b-->pE+$TsO zoRF&%0*K+2cK_lhc1`a~$;JFAOS@?k<_ZP1(Vs1Vmc>e<)6_pHMw*%_X+a4WNH`14 z25_MPA8ELX-$o(^2zuZ@OiqrvblK@pE!q)(ATqZ_Rzw}^_12~y54S{B3T1$Hxj>Fd zi0{Ji|9Rol|5)>>Erjzd8cmsF9ikPka)|0dbfj~ zvZ7h5`u5gzYo+A$2o4jP*#0hO!q?5FpWg~#kHGNUQ|0%|bSu(F zKbEmj$iv}8ueC?wUA2>+x(eo%S;xyd63-qdBygubPqqCM3W4_Emw69e71c((R^4;- zOK>f}q=Y0(V${VQ1IMq6$PIc?&eHf^f!*%F@y@4PH>_LHf zlqZQRYO{R#9*#$lGyVq;G*xLYJW7Q*;A?b)yi7QTVYL?G6~iOF-{^85l{GH%!Hv>mn~Jw2ZvSvY`m^*ta%?-#$KNLY&?rz1fu0hL8!%m zBcMxC!HMbrLU2F*Q|?YvU5gjJ-q2eIft?)?$mzwq8?peBV>Q?sN@ai-0N;$A+UqAn0Fe!p_K7t|bQ@#{_|diN#Yl?KN_5+X5SewBsOhND`w&iV8Fcu~uc z?qB}>9^Es2pN+Hj)|}Pa^F5^0Y^S;H-1T=QabF;%cjJg*F3Qa=AfApXpMG z@Qlr=4A9tWGvJaK3SRxx5PNr%T0h5!tTLvhvTF}TEuICj z>>{@N_=f$z6jEp9jk27i)pB4hRfX`2ntgD@Y?>w$S74ps4wR)zk0q{I7m8b_%9@M1 z<)J&3P1@C2W3eU0-;iI+Fk3@buXojmf~K1An4jsA{=^!(5z(5oUol5n%gPc7pn4Hm z7n{P9TF0bJ_b`CRws3JPOPvcWIzH+iaye2O28eMp)14oF3AFR0qc2Nzg+L?a3x(-n0(cDGUP*Xo{^t;%oXy4WDuShf>3 zIh{os32#!JzD>Op-+In}%s+4kZo$dxHd`r!xhscvVjT|GHXs%s_q)xEN}uDzoyP>4 zs=ehaS?f|IN;FS_GIA}63I7$%BjM|ME2F!8KGrNAkJ+iWrvOvbC@w*XemI^M{AO|4 zt=ffNL8I?zPiJ%KE(cY@aC39{ESYbPJB^F0UN(LkDn=#tRjqnQ>FU(Lnz2`7F9GeR z=k=qi?9XDW_bd1AS#MD)A-;Xa4wqY~P;G7KQ3Tsu@*@1+xGQr`_ra zI4Ygy=UUU%sd$;;x39m>342$>;-QsXp<;*z{ZP~HruGvVjuZz~Ur7xyBQp0Dx&EN0 z6c2)^c?D{s)LNVxngvYB@Ke+~s)QPCai+C08lppk(xFa>p8!nuEkyQ`WAYc=;&E!a zThzBiEsyzYoJ9thB_ydi9F{a=2*#$)TvX{qGFjBPC;=tLUa8x!?Odjat5=(G23GtB zGIAz;_Q8tFeY&(OoaZw|Ib~c2Y%85^Olo^uU+oN3F$T~j8&o)tPX3n8!B^}#fA&lZ z3k;Sd-Y=;VYzBN69ZJ4k`BeO7yV+>_dg-9B-rjn5N`_yhD@=C|PBoQfy$qBI_cA(X zxFPi$aXR-MY@HN6U`9*P?=&exUOaO1R5O_fMvA6)``BH*xMmT4zIz8ZO?qTdPHrK(8z^lM|l zH~F4(+|4O@&_Wo|mX`*9*ezj~m3dLlqJr|UK9Lhw#F^Mq!mL3MYG2au|GWasdmOjY zMPGkERCa!MANe%7>`?`)F_zq=&S5g3R7yIg3N?$HEZN#e5R-_@G4C(&}PQZoMF z*ZC3gq7pSqo|DIBM=K}w!D&VBxO+#@9*TZnb;>?_DTj@*$59=3S2q{dC<)Gka)Ij& zBWCPPm|iJpkJqjHKYW!|6$JU)1$fz=yT9=~b{zwTI|AEf1bxp|I~Lh;TFYAj_WpaJ zid%vv7pL>>&{{--q1l=c7hek>_npMz1({DXd#>mI%pIwf%+_8rx>D zTelh%?ehE_es{9GIIk_d^+0uJ=X10VJRc~dtsm-y2P>eE+R8DU^SgzNP!!ZNo}QO{ z%ir=<1BMl|u-KSqeM5boar1y9tk6j;hQqzm-^XJd{-4Ip$&HX*FOGOq)tO8DbMgtytgM)(wIer8RS9iWW@wFc+50d(v z7_MJ^mm~B0t>5i`TVX2EKG%Mff&4+X$V+7R4VLztAA#*i-&^v&U)2^cyHBA5ic_vcJj)e@gt6zGib%B!x;{|S zg_8`zvI-y{Ch8tv6{j@f_KZJXPdtwbp9UgJowyv0o-yQ`pWo=qWqS|o%aQpW)zomy8>)uNfAQWV8A83iVi#q4CQ;So?l*~w z1E0_Ub53J3KqlWr2UY}{Z2nS}gy7t94>0}NJ|rt4;sDm7TC4_eJg@p%dDQGho=TA^ zhK9{Qve*8)7nsL6w#cdIZkLKg@l9%ysB^ z+&8Ga`xlwKE%yF6shTTF0+stXX4P?9=`fxp;IcRJjfmIwp&twqx|vmdzbO$L2lmon zAL2-a)-S^NTwPt6O*>xVgw7!Bk+(#A?jQg-XQXAx4B-79z&i*Ufs<}AVwKWqZ*Q;A zt$qs!9>Q~9Ppo1Kwf@EKzg?2OPhYncDWY5qtbu8B9$jF#)~6&5}^9;Yoy)mOw|&q<9PjPEoB`tAYLk?Tt`sY#`TLwieuca z@^$7!xX-vt{-=BrzxpU_LV}mm_g7NMG*=k>XbIx-r{P#+{$#9@Ob9y`3!MWc)R=+4 zYxZ>TEAGF7VUtUXiQ@RDx&j#p&9PY?)tU^MNoii zMe4PiU?*@(_Hm7M+YycDYXd#|ksvV3R!kwMjKUQd^6 z$`1JB!(3;LjFdgjoKQVF(ADu-X{IgLKtGGDHQJ5l*cn1~u4~duPQ;D+^9aM|Xf*-W zV88Bk2(Q=q^z4s4QPnq*)nFHUj&pGhgQkT+buYUoh9O(?V240%--<+& zep|S}zX!s!$_1zU+ePkOK%Sse8@t&ZgaEeJWB&8NtYHUfW~C?;czSJ1=7$PX08a;qRNi&YMOW z2Y9sYkN{m=Y%PB&Q|DVYPwFQ9!Q`mGxE!zjbV|qzt071eZnKF+6CXQWUA$d5ZhY#` zOR!px$+<6|YW1)qRYh*+CjHJ_#B=V?){si{I{jb4U!A2q=(~%V*{13Ht!d!vI=C$> z=;~^b@OlGN-QZ#Hr9oz$U5&uob?!9>XAAHS_>cOtfSq?)2xa<0`a`SF%>3+r>j2Z2 zS^NyWgHnO#eq}q^FC#AF$Od+80FHwV<2zHB`DlDTUxp1Xh$Lz}sdA)QhIDDSJd7!_R-kM@Bm* z0$YLJipF$r{qR@Wn)Jgi>qzmC6TQ+WV88>)*)lW@{hpE8VxPHKEq17X#0VryVVjg- zh1AxjSy5}_ADZ74OlX5}x8=u8akG#;SDTJJy3{27jw3-dqm$mUV&$ahZuopXZ8tR5<0Jw?=O?=$htrEAbWnQz)3OUmmZwp25c~^c_-QKM;-A%jdX%3Qj9y-vkqdac4NN_hrBbGMIj**quD?{I-P# zK%g2ieiH@L%rYlLdgb$%)Z=_#z+n7*-I; zF3CLd2S$~5EEZEajYq8O83vUpd(@u=eJm+dIA9YpD?(Z}Z=Rk|0|ljD*06sl7JDaw z0*cF#uPd!t59)5zSPJQQA>z@aV6J;Nv{|tb(oj9Z5KV6EiyI6L==g3dx8bC%XRpXu z#6!g86pKXlpbdEW9rvZE3aV~4R;?XVC%oLhfBAAu&24s0m-%J1Q|MZX`Us)9!g5

{H;S6` zuj0;BdVmen_(@Vc9Wx_7Tz9CL8_b+=fv2EH@}55Zzj>i}f4L_3cS5jKJi)Lp=_WP$ zG#`hSL)s~`!22_BMFZEJ2qG>%5GA49n)H!4$U@w~foSO!}-B?pgnL=qah~5CIH|)?YMAyc^-*iYjOUb}tnt;DMmvRmlnJQi^&X&#C#k3I4r{ivbghU;R9ph> zc0-fwEz58PC5LD1KsIrBtft%)EZ9ZaX5bvlB;A;OMrX=>KlUhV$8!uMBulmioxwSB1^5EeD#s?GfGOWT)3}G_` zW>%v+ePPebUhmpTjmZZ_uR@61sO;$$0X~$~<7}o-rG58YC(G4j{?Q3l2pfR3^Jtd% z<;@a0g|eC%MYK<$5o0|;ktePrMcCbsBKLfMn#I=&<3YZeQ`Hpk6Yi^LItG|tC8F+b zez}u=@i1TQ4|{?)H%FK2d-Z4IjaR-yk|`|evNqoDBploe9C!^9yC4rWbb-L%O7sAf z&)rGjc}GWwR-0Zneuo6&1R#7N83)GBZFug)iXXo3JG|}R{c*_Ub0GaC{%@?LoHyt{ zKg9a{S@tWBnT%(h>!!M!(;uauz$YhXmpSX;*O}jUnHHVikCZCaee|2-)?)g-!o6(xwbge#AQAPMp?MNYp zy5A!s&ma5C#ksog3L)j}ge0Cn55bzC#8({cynQ8+o1ZxANdk6M1s~_n4SrqqW5gZt zl;FC1H2D}cKqQf}C5X--+)<*pIiVC{3j2jWAUtAJHlcEzt^c-(@ASYm=sM#xJs!g7 zw9k^i778O$PLGKa{NO+Dezpq6% z#+?=2{}OdE{QG4=wrkr6UB++qYndhE>ld!dtj$9(o6)%G(`Xz^b40*g#%OC?a=4Io zM38L%IK~xm(t&>_$NdvY z&ER;ORj<^f1W3GqgLSiXXx$TZo3+td-Q>D&v@^)GZAq8xWW3>aywJV}usCp7iXXy; zJ?5kNS%ZrN*~=z;Jh(}sQT+b0&)4a7QajjjS6|%@#uvj5<2l*vf`9mRB{bTvJrVDj znl0KaR)zlLwOvxHm^bN3RDhn}=K{BULK}}0;PwoFh{fx(%KO`u^-reI%M#Uu62F@ zzeC%&ngggh9}m9|E@BIVH>G#g=nE&;o#HVC32~J;L5mP#kuZgMc9`fjV(g}*IHmiD zn^uMH73ygw*TF853C}?U76xRjAli%_1z)RL8Wu&au2AaueX+A=DCeS~C{|k8XlxdS z=`Ca5iIp#c1@45P&H7KxK2JzYMNn-NQT{OeCQwz84Ds!@<+v&s0)5D%^LZ@+u5TT9 zOa%hF{#irdqXBvt2G<+h7>V6XN#(V6JdQiOy&Q;bGn9JhV@|jji*=*{r|jcsrWy?YQ&JhF+jg?D?cF)!2RcUsoRt=*9lK zc*JZFkSRVIA15(mn|2hTM6~_Ge&vU*fJG38#A>DT-N(#2(c8l6ZTm>Ng4-9A^i6Nt4{L1Ws6DxUko{@xbZAXkz+O58s zDCthyRxXzYW6@!&r4PJkcQ&7O=J;K#w;kLnAF}Ma&?ENJ_o1F0o#CSbQ+KC^AXkBA zhFP}P%}zHKkq^{OB%SS-D>iR52WaYaxlFE`Lu|T7{EO;lw152n3a(v$Cv{m7cy>SY zyt(gOX?Kf0*!NZ-A%Wc-Ya$K%EQU{?>T!B{e#ShJHgmXDYQn-bIIY4Op@ymp)oE!O z3U?dmHR}_{|J>v9{)AWp*nAJ}jleLI?sXP;Fx_~xEg{-ftA426*L0H{5#5%Vz}i1y z>M_T_z$aWfFZ4!GB6-!#>7f286bJvyt4r5ssJ3_Td}!#QkID3LM2^&JcNRQ$%v`^r z{clfS3R|464DOEwlez5IncmuR=qz+ZDmT-hanHkt$a3G?)dKedzhqZF2`$q|D=)F} zpyto$R$Nk)3o*9-9MM3I4!}0h^0qCtE_=StVw<%%;qdbDv1rY2Bn(eO@9B#B6S2ezy6=vv7ISEuy~@>ZK>ggJ)PMw$)(ljC z;67-NNWX=9(E%_wqxrWdqSM)IH`{$@*k{A%eHUmSrM0{TLALmXii@Z?f5{jg5Zk@cIg zpYc=KN1VvW65}h}w2%*zd|f#W5u@J2${;zL^u&@jyhc|O4 z@EX#9W{Zu~-S{1;qw2Q?i%#xg|70z^=^qLMRV@Af7z#G*49?LgWfdRV8&B@12B=Ri zwtkA2&y)z@+hGp*JITEYHj0sc|0?|#zjk$cFS*~}Ne86oiJNjH5U>7a1|=%d4Ur`b zvsU1xw80WJMj4eE%6E&*93^&up%h=*?Ak66IIBGzyMTmJGD7E-QVWR5!-?`tL&9*C?nt%}UWr!Ua z2(QqdGAVI&bKNz<9Ufvzf&C>e5Wet*l-h#t%4#gD`Kst(+{B5v2sN{79Kkc9P9&JmgL_w~wDwLzkufS`@C@%$htIAe8BMUgXr+zy!o?D%xiGF92Nt^L> zK%^xR|DdjW%#;B~r(qC7q~r;eHOx|r(KoDx!jndrn6dbIMl2(JIIR=Y?#e_kLv^1* znaj?sa~~`U88D*TwfL~$;CbQJHNv?mlhNo%3--H83E)X55!vAveK<5Fp@B<^ydgnU zgi_l>vjll)(VUM?$#_P;-+GX;YJ7r(B#Em%j^-@n@^#=Ln@EEUkQf<>So8QV;KPp8 z(Y;K}k2?ri&YR!gt3EgHMweu{fja86?qBn_6wo1JKPw`@N7U_)s8t$O!GmWUl`UzL zTwVgmP-H`lx4~vj8n@1&6F|@bhP{sxv6w{>-1n1$(vuzY4K|Dx$IF>LD---?*zhn% z4a#D17t{5KT_2zLQ|EQ#L$MYEA}CCjGc?Oi+vQKG)B-zWqJHab-p?#7VZ}RvVLrDabQz6iZCm? z0QTnCQ<>#hON?gt7f>{hOY~y_v5-dQe*SL?TKyD^QSUtKWYWf5Z3`hTbw+6{Zb}aS z;sHE$Xn0=3WN2vKKR^}+Kl^=H=m5j+n#Bw=m)d}DtwE6Z*k?_zqC`HcN0sA>PtOl5 z-B$=9KDf-2llo9-w8%YM-Xu^;HLx>BHIK9Nf!$`-c{(WWXP4m~=U!L3@3{y2cqA?$ zo-|A~jcOF|;FQ0M$_6`J6h%TMR&qa+;Gt+oBd^)8j zMM<{R)h|JsT(B6ZR%KL%gTUbC^GM*A&4r7Z5{?ur9l0C|H3-*pjvM`0HXG;h3g|yi zG3Bhs9hHiSg!1F>(L9vi8L z^*;yVV<>PkVV49=rA)n(4F_+Z62#RyK;>k%(pIwk+fZ>FX8As=XXN-@7g@9920|J&aB^jXLn3)b)_iGqV-LD-dqc z-kt`|J6xZFXpj!3(9yny`zSur_edZlF-2JqrI_uzAkUIRxy?h$q+M*tZ--znLWQ** zV+Q~b!Ai$7-hYGLv#EZFw`J*;&Pfr6!lp_$8!euACI$DS}B51(7c82=|S`MzCoWy_o zZxZ||WZAILB9ZEmMX*)tu5uSq-Z}l_79a&fM4RNjWk%f+SB|EfyoTYD47$}?Ih~?S zq0PYfm<)W`7LRdtP-lnA_yO_D5c|0)DRW?VgSNwf>q!?koSe3o5o6nUVufQSO@nd3 zsN}mdv<3mry9~&3>SCQNW-%a+)1>gVM{P~^Q_Y5SVeqUEhK2`=ds^(adN4>?764_= z(8}(2wGB5YYrwS``LFyG2(8Mw+GM}@OAcd(9w;*TS@9(aeRrj*iZxfZ-rLXfegYnN z4PJE`^eNpB*e4Q@*yY@q8Oz3@@1#bcY&y7YnZ!1P|I1`bn--v?yL>pLYQeVOcc&12yW$-y@pbBx(= z#_4D&>rxo7a2%uWa&Mr*3a_jt0(F|E{Kt))HkU~{P3tQ-(Avozm&{LLGOL$zS9&a% zn(E?~lZ?3>2Epl)Av5$0Smywjqw3n1+a1D4R`d zel9H~;|1bc$6bnvJ1ycCOnY1T-Q8d7H7e$PJ5h<73JVJjDt2w^w@zD)%u4*VDjy+H zN${@Bj#yn9l@Uy5Bj8qrbcRR;l0$>ZVI-E^vY~)`#Bl~jH;&V?k4*j(ltZ?LFmL@>KNfI=ld%BPfFRVcB=)rZ7WNk0gf})qf2;?Iz>Nv+!jQF=I zN+XH?T?EJFm$)u1Go+t2*OV?|3?n?Iyi8z7or3vLB!6vAcrQfsoU28W@sP&O#TzF9 zR4zMMir@2ok(}n~U)SMyS}%+H{7X?F=;pJNyqN{oW>XvpW$rH|X*P9m9nGkni?6dP|8@WrPN;*e8Kw?r6+nO7fe^2)x+mqs%3S|cr90y z+7GpS9B+k}u7&RQ$KZsTiK(dt7+mVIJXXy(#~>#{1UT@CGW7^uha6D5mus?MC~ygI zWJ&3VOUpQlQ_RM>lO0KbB|}L=d){cWwPx!D*(fw357i9?=5$~txQ)XzEU6A~!u_~F zG}(@m*f6E{+k-QvY)?!Xq7C;zA+(C2i|jb>Y}?t2;aq?lVx2G)0o(k+oLpQj+)-4_ zZsqrgIL*)JZ!M-ncs2+_%&V)!?1r?9k~>gG9Ej#z2um$;6peuZoIUu~bqq)EPK0Fc zI2N2eqJU5gzot>;!ZSSlu>^PhoYM@!LF*&t6bSx-V-zC9ta`ZDvh$-YNc1yTugatc-*&hh#P(&6ZdrA!| zLVqB(FuuS9nISQJt^Zn8m@?@DDH$kNK$skM?2oc*jBc#nhifItFP)+K4SwpQt!E ztEZASoWeh-1}OVy&bfL0m~q+h9C!FO52Jz#=wG%wn<)vxZW0Uz8|$G&rtcUhvC)Oa z5lYBym$LAxV;%iTgNRR~te?($9nk+=Nfd{SYWuhA1Kn8J_j|A1E?g8xacElggOf*p z`vEmC-7>15kb!P4w%Uc{lB|5r?h+FHug~EM#%r@zKafM3kIt`|NJ8T#By%jp2Kj$u z0bc3>M@6Xd=&Aey@LsI6k5Gqar;fxP)-?vKQtPFp9A7i6M&a?kikKwCQyRqFrPLa- zu<8qcp7xD$aSL%C>mmK1&v!i?ICm`YIPgG>36HJSLj3FB+oqbD1azuF1{56w^y7)T z?Jm7T@s?_(Z*9@a4EP@jfBN_o^M+Xe0!&$2M+>ESZ)MU?@Q4Pfz01qA^?OxiWAv`C@&>sk{=0iKRQa$yY`jiD1K+X5+)A2Wk)s!xy5{o29Opk zrXrSE7r)k9)KaBhJLmja(`Wo9C>{{{i6W}$oe4^PwnR0P!_UCO!vi&85)Vn{0UEL9 zCSFFy&*I7%f4)V5MAN5auA*L{Icv0;P4s~B$SovAps8nM4K6)~<@-PF7uqiY`CX8X zLzMpPhq|(kwraeK5kX94?B4ebfZFy3{ZXY^EN3S(&ngwcIOTR*cvTDd1@s)xx;%=$fKfof523#U z=h%*;<6%9qgvDi1dtJ+Bs@!?@R`)5*T-QZL_zQREYnqiXz9FgfWbrUgB|7yABBu1s zDmh`lH@&h zcz3k34WUhpw(W~OrpY#ZV2hHfi%PXzQ#0!C?uWxw%-W0i{NDOQ`42r zO-J<#%_Ht48tpeMW*%)m{p%WUj$Ogp;*Vi3;K^%0WYn&A9l+mSJq+m_T(F?2HoiNa z5mpPs6C6p?vy-r{gnZ0_|01^BbOERF8!2`N;e%yTT51L`K&n@b=8LY%Sp~Vm;%@V8 zW!>*N@%TpNuq>tU$Wdf*uZC`TA5N~%2?h%_*wMNaEKaDzC}Zw=L{N;`2L0tfI0-jA zIN(3{gT0nKV2TMvgI&W4ET3r1^ikRk^d~-i7)9SRg^0I~O%CoHqFz(N0-F~=QX&QuuJPd?d3uMHyYhe;mCjI>^7 zMh>20Jw~S>iV9?lK{b8;rC_O+A(UwpDeKa}*Q;VC z`$22j%%Fs}aQ@|Oa!XB1rHmwAiZFo$8CrI{FVEp4f9_DhlND$s>%Z78V|JXv1rf0& z7MIt+zQsQ1>+^(&xMDu$u949Nam2lFxInivJ_akUi&qD&1NKaQemOqc{u~~+*&Rw0 zt6@v(<`9}=hd4B04}-B$)qL@U$u`x#x8gf9)u%&reA2PnS8U%$chyd@Au4t-wKabkA0jg)Z!73d%St7V1kq;g z)+4RRB7Z%IEzl>Ln`<=u&`D_vii;Je+L`ZRQ)m$VLcNj{40TvHMF~ANfbVfX4)`9z zRzK`D#QNm=G0KT!x>Fue6}OL2n3mpmIel;+*(*P2iFueA>P}2`aegFrS`#d84$`IH zb*>_kQK!hQUI?19Qhbxu2ECswQZ+oW#RcdHvA(SEtL$oj<&U^d77~_VJ22n zGaF%j`OI3jeANMe_iXW>>^BFd5tM#ha(OgDu0aIDY0m!QKO6oUug8pA!6WfajCpTr zFvz6x%-JOxtB3jZK@ z)&}a9*?6Ic>w(8`3k7B8=r8WGmXtXGu{mOTG_?fc=_rx9{I@5mEFxFZV&uJhE9g_J z-XwDdi9wu)yqKb8#No|W?g(`NND-f-!fJQVC_K?(35~gt6h>4FMjrB93p=dC6yA|U z4@yR2ef(f`LP3CW@n{do^PL-}yJI%qqs&|GImQ9y)GU2OZ@6mzU)@fFbZLo3IUnr% z6p6nD$2Zgi%e%H4}9WhfnxHvVK>LF ze)_W=yj_NUCC=rk<{-YUg!{#e7yJKX?VZB&jJkI1#&*)!wynl?8{1}M+%X!ov28TA zZCec++fLTg_gnAruW$d~&fa~@JaddO&+{7N>eP7@;xWXMo=c@quBYfzPPdM!w{~a} zzwj`%cTkrCD3~Hpbr=C!aFygwOGqh#?2bm<*-|aq{$H+1z-SgfyGhG<-3jB}FT#W+(TSQHLdBtkAAwh0@ z2DP!fH}dPfe1I_HSuAmdB92hPWIKO`)K&ZjIeo^eAR-~p28cETFbemt25*UIYq<44 z!KJ=;E06mj?NQ|8JDjt>*N0Ug*bYnSZ{3J~rh=gQLtq$mBWqr~f2hWLr{S!(kBp25 z&TuLy@rm@wt$d)9_jX3QZTZK+CpD8ljtN`cG+6TQ5>DV4Fg(!W?7N7oK01AIppZxE4yO^0aawRv z7+=Me@6Ed%$XyKf_>f~@*)wC7PkMEY7DRuleMJqWHP3S_T?T{n6h5o^+FKIS_p7`$ z1+HEBo9O9ITvL~jZsaQ&>HN|0VH$C(=OP!c`JccFLf~cm|NfXGYd&6g*HY7$I8g9g zo<0ass*dK*7ad>113Wx4!g6kwQV%bG)PbfWaRJls3TlJnwD)qeZwrtw14yadpD#Xn z@2{j%GE)aZ_4i_NEw>Dmu)<{;Zi|0Y)5$m_6THxH*0okOK75jD&qJe-8W`8MxYQu{ zxdx<&iL=5;rgHEQhRj}w%X6QY%k>u;ht(pS(97z31_vd{`r(^s%Bh7;2LD< zR81;Lef{KPVFA||*ge%ol#Wl3i&`dJ7aT*JI`mzaX;PKxsP}@3#c)4dR9fJ_vjXTy zmWE^`e6%4jwB^Xh)o!$~N@?RgC}3yby1}c3;L)$+cnLJ`=l1R~{-2J}$mv%=jk#~{ zUoLbG%``7o4MIejHdEVMb%|u<5z&>*6&@;^{BK9vwz;-$KQIK9HkP{2R1AXN(pF+R z(`BWW6_XmjF=67q?cIWTwdS=;N2(abc?EpFsJNf9Zy)Vd<5%-dUD5$Q$MLcJ&=AES zp}|EP>mtK=H-Jo-dVKs&>l{VlDyg7@Y?^i05|C!VgWCrIHyEkhyRT(yb4g1Uq~Qq>b+grIzmjQ05k zMbQQNiITfzN~jN1Jnq<^H^{fx@Rye;wTl{$MpB6W=qU+61YF7(=K0rX?eXJn2@MMv zQYMzL$X%#d7ArGLOCd0X5GBzow-uh)kSQ63AX$q7w?@&}R-C8%Yxe1b*)1# zr9&M8Vl7^Ou$_?MR{k!TneHdRDSq8IdWw#gloH?m9?Ph&9KMPI+xJPRThRsdGNp%i zb$sl+KbD2>2yCH3hg$w^Z4o8CfDyVh9OY$&BnXq~?xju|j(_q;7IQ*>XH>*sRhq7F zRuT4(4o5Gx7_|M16&o@j-cRVhu2Qu$#eX4SYQ*Zb?tRh0?|$C?xDyHbD^9=%1;%zs zs5|gfV6cMqwKJ!MEz0y_-n5tXmQMOvqjN!P?Q~WZ$WO82#KqsALNdiNlYdsY7fr9( zY<@{Q3>q59ose5K?uv!S#a=*;lZU`3{4SKvp4&g5R%Q3oi$dPmo$cB+7E75{A^{L zA-PvL+2czb+%MC{dgh+_5FBJhe_T!D^9kM`9)zmG!U@dHpT3o;qkx;^6E;7!ukk`{ zk65R&r8=I7@lU?p9-Dh_-c5u}zRz3VxXg9v0Qm8GzPryqeH?yo1h>AtUkE*;Y#MkQ zGVTX#^Sj%6T{QfxkDq;bE3fKoEiQ)X?d$8)&~sggpw4=1sPaV;?DAiGAEJK975n7y zbPSRD)3rjm5@ZD&VPFIASvD8Tkm+mpOMZ8t#SmGnppl4@&klx|nAk9=$T$3M`OP31 zxYX(yC;WbjuJt6pNGQ;$;TEOVA%eAnsN8J9UXg)$G~yoW7+k0HTfiIC z0ySg3L_0+DF)A=EqqkX4eu>m$eBdOJeU5LqswF~R2;rh*Ns+M|SbRK(7z+*zxdP%q?v8-WTi!EJV`82M^ZT7zL> zpb(FsFx;Z0MP16Qs;l>-qqhI}wOJ-ID2j@iwL3H}I>rgjMAW^saKZ%Xp6c&S3&`v2 zR zvE>F3RzTa{Q^3(p=)H!b1#}a>xAP0Vk z!Rrn-s4*3O`WsK`Gr_rJyWZ?{cf7#T9n64?-1&ZD!F9p3`S?J6pvU#;;jrkPfANg> zqU6YO-S}v>kj3&kpZM+Yw}US|P+N_IKx1BFOI~w|VZ0KX_<077{xC)FsxW9b3x~7w z+r3sRjYJ768$_8&#v$EqeW3BJXsn3kZY8axLWn^y-im{myU=1Tq981#Ofgz!IPTN6 zys7I=>G>FS-cx)p8!MJ5K37a3)kU>sf5A8Z32a#W?+kt}EJEw5&&opZ9iB@gNKXGfVw=AN<2w=ovbR(1Ex99F2rT6WL8HwI3L5(IWVQ?PjOn zNTXJ98e?I$xaga&0IIFOUy|ngOQTdKel-)qrq216$~d{U1v$AqEis7dB%56Y`VZze z%{X?zZxWfsWVgJ~SNM?zJhHuE;Ea}Nx$!1XY>@Lj1A zqgE|s2kLTr@pWlB_v=l0@>II^bS!=&lJ8xzl5mZ$rM1QREQWd4`8+SG=exzZ*OF(X zgRkSzen(=WOPi3-m61ykrgp!D`E~c)%f}1%lt5cst%szP`wT|$OELap&qJ|35WL*} z)M+Q&39L0-07ClQ?jURLGJW&a9JYOr(E;oX8*&>&|Brzby0xnI>(RZjWZ){&;1xt{ zcDkLdX21TWE?58kA0q3aWl9i4WfiI(C8#O39G8{1wzh6*F1rq3X{DZqA`=i0 z1izqE?G+~LKga&`p%^Gxvcr8{t;+Uveo?mQ0R&xF<{u22`?rJS059{8Cg6b~VY7YK zMY!WRKbh!V*xi1kzU_LUOUQg6W3t!{5!eHLh)%nbt=N3*@4(^S7$1USr1t`uAfo*1 z!`YNTM|r!Y*ANyqapQM$+B-=6i<{pl7q7?6-0uM3-J1}nfsoha`=(SSXm(ymJ^l<# z5~llg**|m|eH=mw5__!79{p(S|0&RDcKIIt0ysV-$tk8lH64BsEkk#0S^(B} z5prHOe)T?z2b)<YFr!U^6;s?eL3KDHD2b*d?b&@QSvBUsVeU4U_2&uC8? zc8IGCcL=XC$7+-~DK5}%ia%mxaeyPcYx{l@_Jmt}0&>xBc0n44jEBfkb^<`%mA8VH zwrbswNleT$4`h-3(Q&4yUB0S-VeCNuGVpccoBg0)sQ`l?FB-B(q+5>07{{z=Y13N&m4QnK=e-q?2@o*x7DY>H& z7i+%Nl_iB^GUy|q(K-)Hi=+(6yG7#YqQ9BpxqKC_?cTF9JtQUkJR|(NjRLw|AJ$!_ zK=8TIt!U1%)E6NG-|LL{WW||Sv4u;MC1EZ=`)ch%;Qhow_pU~;ief~+Pv&o&eAi)NFAmrs~ z(!JAVGJ}@{4+5a~yI-;R=MNtHELIr+XAMi>p6`!C!ta?EJ_k)*Z;ZhXEqkAbd)gV5 zCx50?{ zXR2nS)sFqb1as7{t3()**H{CkR*woyuofAj4me}jGmtNw5WUo3Z0U4qB(FRJudX_{ zKzhI7`j!S_X($|}y^q|6{S|n?cxqctd0SYO9wzIWd2%=_>NwR)EnW`}3rAlk@#0A= z@ia-EAI|)nR|A&-k1i3xeXh+ZyTJ_dK1PUVr?qJuV;1Ciny_y&=XuKCADK6w2^H7D z6NO7Y?|%9z^jv~mrPG8QO=$1w73N(+=@2DkY~K}63i_y9i5OgAQIA7oDH6}(WT%b@DxE`-UgakieME~zQae-|M9D3sbG{*m?u($y0lrbuaEX@DWT}s>56J_ z-0{~6UfP!f>FZIN*#ZrA{h)m7YrJFTPPq_t4(zWGPpn+{JdTzGm2S!kp}VyO#Yrlr znj&iPP;;2nS-@?|U#e*wQo9fN24V)mh77Vfq%ZxOnD!qGi}1-C)nr*p^C|2o{fqFc zn@NWK=GF?zcWstw3ML7NREwSVZhA5)gSe7L9`rePK(0Q`~jtIiua~6}wS!`w>`T**Zsmi4rj?5Uh{dK$Y@;_ zCCI940Mv(9aw?l^#laR$xmeCFJNrs&6a2N_!%!Bf!ChSPl>{>2}7juBR> zI&AoHX&g&CrerZKmX@nZy*3b+Ke5RPjrz8QFWv=(@Hr)nCuY}k_7gsMgSK(Z$wtrf zZKco2(`_lg^61c9@%HKq-)sehDzu9Dzz4;%cK7tD#?`>{SR$gCYZe&b4)U18_fdZKH{%DKd7lVM&%9J_R`?4d0 zPCFBTSF^*2`O-ReKjN&9WVdRKt=Yvt;&nX2cTvw;WrB@ZBpu3)<(@zbOcw@XVzCVx zfQJ4d(Wag;pegdOQlg3c^$sdZh=sj7+Aiy9o=SFaU4-@GD-mh@jX2z{lzY5IHuOkNtqlmSDbO*9G6OT0!Ii8l*6BQ*00z66O2cctRRC3MjG*{{w+jGxfdNNKSxgi&0o%$WLD9eKb0u!Ip8z_~ zaFo|b&>zu%Z988Q`+IpZ#UkZHe5bzHOi-Cmr%GnbD+{e@WMrK4LXClojGpPNhJp(|PStC1erf$S2MV`L{mNUB z7J#0d*t|n=BvG6FyVJu!{`m6iBtu^W6Q_FlN`Y2Yid+^KmrWL~i00 z`{328#f$dW0^&&03dSD01@${=JK}IH|DG*$uy*F zy``R*;s)NIUpOTzl#P!a)?-rb(gt#&)DgZwKsRdNq#7Z+m<=pmxwbG%weS&ZTzqMd zHkH^>(b-d1eLF(>-#F+VXp=PwKwhg<|OA`$8Vdy-^Ecne#eW* z-9~^4y#Dn{6#WMpQ)Jd|YdSxVw?8_l4%9%M+Y*G*g;c({IaM)ZcB@4-@;V$D@utu# zj6GlZRngr3+uwk*17bml`LVC|L&Si})#=|hJkNQ*e1UCI7 zLrZ0O>QBRZZmtkcn?(Zmb*G6_SWtoiQU)w8^px~n020LhGAbUq6@tQSx>s*?z5XB> zG-;f!03~ZC5AO)_Nxzf2Gf`gFVYx!40&rqOFa?v;k{f!?9rU*{?(Z>e{phKdQd{AC zwS5wpeGP##zPVBFI9Gw5OG#&6s3Q*aE5?Ot7{!jn^0=(ukow&EFD7{f-lBS=5kr}U zL}feK=|vnbRdmC32FbS>1^;IoufZSb(7T!3`i57|#_K#IB0xTs>9Qk|Qr$iL4j__F zl&%o9OG-QtY!!!SkvPR&LJZra6`#VtmAAF0wSDN$n}=Yq@{Zoy!!<$jTH zPTSG%l+$6x{=G)3x{sbzz&H$mO?J|1I}QW$0XJV~I3~?qr~W)VywEDl^OcAp8TSLJ zWvb$nY9G*e$t;cQnyo-W#Vg=&1(5Bu#+FdU+GS8v*|$2ZfeOJFg%77qr${f6m7o;D zw+7C17&pYIFaA>UR6H!d%DXC1=F-zCYfqr2Xo%1~hiiIe`AvgCJN6Hx5G{cYa`vh5xRchjCs;{u6SZbg_4>~*1P$ROyJ4y2Lp^nE50_}5 z3N1m~8mf;_<=o>ymy(J=h^A6zB(KXZ45ek=sk03p1N9poU`0VcD06HRic766%Sg@@UY4u`cmKxlnZZ|@_k3x}!u`><2uFr_Njh#b=FDkF{I0qHcF`lu z=G@DPFL$i-KzM8t({RdRBw}DRVq?^fqY+KSIF62b3+y8hg=xZHIfrBu_2885%m4Xy3170NXTWOTPOgX%nR;@i4g-8T5Ij z2(6p98$cS+Yje^+ww<=iKU{~w!7xbN`F(BhPf&wWCsWWYA~N#7m=x{}kKH_p$Z1pX z%MGP2qdnR%1(DBFNZt?Uf*{N9U+l$HDm#pprhr9--pg{WncTL8-o%}P*5R>`V|!t1 zCk?P6p*AwEi%xG>6ex)~dN^wQhJB)NGZsEXLs~|GQzhdYpNy__p0{d{@L3tdudskE z3J-EI*r@(J`BuzK*XYE)i^x}5gPKup4;4hzewv$tL*qAP0rPdVO)BLq37RD&c2CLB zlV86q8elc1V~KMKsL8m?d0a@0xWA_Y9+r@Q#qSZg`T!m9^`f(E2)%T+W5DuFW3wS>=xbIuV%^qf(D5?GwT zf3kt`T!(CmbfS_(5mgr-`t!-7S+*O6gF}k4x}mvkE5Jg))a}LK$b_1tGP)8j_yCCT ztoRlZ&J2lbZs4CDl z+AcuG=7^*};~@OQCh%dFtY^MbH6Y@DTxKmMxc8fCzacJd;7z+lO!0_w5$^Mw4&EGn znfm8#Pc_z?7;5=jC##~0T)3)L4xkq&wStGA1pXJSvWZ*Oh_6DR90nhqUAQ=_n&ikz zFY8rtIM?+?zhgirJh>^V#zxy`0q(fS3D`2ZC)tGH{!;Y6no~plqMN;6E6Eu&G~{Zd#oAokO(wiB?9{fFG?yn%OoRZ$ukUb&jWW*fU&!_?46Ed%bRhT0wC4Vgt9Q) ze6YA`a-78_W4xfE)bW*!c3b0=a))w(Lz8Wv;$WiND z4CmPKFbT=h3)g7dsm?+lmqTsPq@NG66d2w(s}fvKgLhdE=#SaUFgfrVoXM;r*H782A3RW`Heh8f?GFbGmK)ZbJK z(>}#Rnjle>MPKaGoxCF;m=^$d>a z`HBFTld6L5pz)iOUI&J)JjmY)HS1q9wmN9NqQ-@32{j`o=MVSNxu@G9Ctgj&ERV>> zIc%tOA!9r?Wrw>?BP|OfSW-0!AZlXWgqgkX=A8{O;AgjH5&grE07a%!$6{1z<+KJY*F-ok!ucvTRKS>nsagKg9r+LiHUB$ zEFa{@Rk_o8{v_=<99={n_SA5#JEY<_lZwI!1Rvjdbr+Z%;mSqR2ZWv~kGAvwg)f{u zCyHaf9)Olu$h{Z&=c|E?HB?K{ASfr6WV84AYEg|5Vhxhry}PmHA!R9gP(XC-QtM9KQj9me{Cor+%F=)Di< zYv8nmh#HRgZGS%%{!B_H5Ypq`zs#~$pxFwY@0Ic8SF$9sKntJ#B4jHXEpn8qYPB{! zk5e!K35K{vc~1tBnk-1zh$9t)jDfLm6h+~B$NR<>lfzhGn1M!YKr*`1eY_Bfkur}> zdu$^q z=^Rh=c&HN7mSqQ664fKQ2Z>gG8-66pd>_|Zh}u?%cT74WnLOPqT5%8sq6%d?ngUkn zYR7y<)WpEJKIRI*8ETcBwr&{=#rzeK2>LZ}K4$ph+>9yVSegQ3g4^inkg}gVQzzJW zyBzs??a7U9Fv;Vg>EkU4HU)d+@OY}HNvIHDvi?Hia2x5CdZ_3m&{6J3j-e5ecj%H3 z(2AD7nGE=CCqRK07QxyA1m;meshq#K9Q7(5ILu;8Z+UoQsF@M0cIcj%6{-#FqH+%& zsH|9K=QyJiXlvJ4EV)%}Y_3EDgz1EIu(hXY%G9kpr_{kEuPnpZ+;-9{PguIt!)LTA zU;_3Wk#!1@S(P-0{r~WI zPSd$ZDsIV|Gvw?YTz2*(RnVY0>X%F+nM||+^Ep1To0P!~L+x)?@QH2bZrqLrjk3z7 z=&Llc$_7}n4qPNMew<5^X&xtJX86Lz%+%+$R$~^pWLE@+k^s3#P{_R;)<>bZE*tfL zEgcJsxndX^Aahq@YET&q5t$o3GK1X&e@Vl`BHP-lO0H2_!&HX!fz?nr`<6By|D!By z$B3=0+0x|q*jDWXvuQtt7cRvaHWQad>}r**$#ni z$s}oWzVhKIjR#SHz^hk>XuhbF)A=h@%+S1f*zgs3uw;jI`G5Glkb!`_*zmzN5aTIY zv?CJD8#FS`qF`>_N~n0o#(PfV9r@L@gcEFm&yHfnT67?qEPj(KIA0USo+Bg%@nGth zffaa=poQbf{g|a1SbDQ6=l1SHW5~bX-IHm$|2cXHIN%f0}r(De$tt8zt8YgD^@(&Y~jzdehuZ`74LJ^ zT?!$zjlTCsw|5RA+)oLZk|#|-XvsZsB*f*<;B`-e7t|{hfbGKhMz`SQ*{nG}WzanA zdgB+~d{ZIA4sP|IRZzIw#}j(G0|HzJ}-6*`G(I$=$e z+(gv5U501RtW3N=FqRg|#3)K}x1o$i*3pn-#t5$Z3j%T!p1!oTCK|bx1;>m8+wjAo zR!;`MG`IHGIQ#>Q<)iJ<2@uK>yw1Y*RbL&m#3(8R8SZ*G8k24YGEx5VoJA)$W|L#I@oxW zU8^&ZizDR;x4}1BL~?Uoq=q3Uft`Kwou}Z^p@P4Ag2z&YLcs{U1W@g*0P69Iwh60| zBd9N%Ke+>C@1ST!asO|W$W*)x-*#~4FLGJ~bL!yXPU8cDuyGm3nxvMC?_3-+iX`*` z$Zg4IV?dFFgVBrwQ#(T$Bk2y^x3TW}9xNB#HkbBlObd-6;=Lyvh*T-}HT74VKNf7< zxhAYm6%d!I5Wi2L={+Fo_2a>k^U(>Ke?}3asiQm=%vb_5H9A1{OM*3>af*drR`4*( z8m4)!6ZqS9+uty)kFoI@(($-)6n+BgS~elgOpVXvPdy_J6+h#a@(c!3?&$ENJy20h zGK^1>hNAG5&G>^`J{p}pn{}BW8nE)C+O0>9se!a78hDx??HO}3Gczj-V50UyAj3@; z%$!Q$Z$H-J-!i&>XfoUgH-fAv4`k=?`Whv{eTw@AbF4ZN??1 zmc$JR!7N{j!0V0ZaAJ}1WgMg|DQo9tP9EFi{j&$b;X_D1S5F9fvH@jWR_mG@^_^vq zi+G_WO~Rv1MO|v~s0e%+U*<@T)5`M9nam_y4^Bg|Ak*=sVyk@KZr!VEvwxqaMeW?{ zIn#OgrZIUYih9rG>bZC!{Ei0%g`sp>ztbXWz8*>md!6WP{$OCB;>QEht#)JTqpMapot{>kIy>q;T zt<`gD{rAb3n*7b7rywz8ZX>L2$0J4Nj|Rfz`Wak!w8Md}1V;Ck7 zw0N^R?$T`sYiLRogRtq3+Zyjd26?Yeqb(R0XUsD5&QCb#uWRpm%J8QlfC;@wepwD|3ZVzQ&!z*}8)SMc0?%4?ac#jov8=~NE6DUgWN zTQ>nK&xEyOl*GZhyPW&o7#Sbh;2B`+*BxU;JvBcqD-_;qw5rf`acDQ_lci@N2&_;d?W3&(dbc9t5+FY~1gG?5vfKvrR#S zTO7!36a$~-3|je5uSXDT!26b4c*Y+ck0D+JgL>OC&*3kWk82LXKKrAcV^iAAMr+d= zz|$?pT3C_WK9iu){fS~GhU6^>V|;#V{qqv~mXCegja%$~F!?dA_Ydv*=zIfGi`^5k z6)u{0cKVVg8AQ~h!?^ihTC(-uX5>&lviZ3kR`s5a4T$TE6)pB_@c#cKg;E5N+bV(P z9rzrh|AInm$Q^ld%pJGn#82TPC7U0Aq>`tOUe|6ui#<*vd5bu7ZNE|9x$gB>?qWZ@ zFUTEm(_ikch1oY-jLq?n-4tPMyZugEx+`4cdf$Xt+gcEKQ7c!{oqYjiv^RJ@rN&O! z`{14?->mK-$`DQ~Fya^(}h z`Xe2u*MP^JQ&5&VKwNNU8s?tXd@?E4W=gGtXt76RCs{D?`b-v%7(4~NPftL*n*C_) zMKl;dtMi%XK0*S6U^%CQ6(*}BK7bKy5|YU3w3HU9D2?cvuEe$g>TO^aw6b%E4NOVY zicCiUd}V@0C0Pp`91&36jDWLzenNB_?=wP$9A9Dg5f~asQTsanYEXkh+-77F{&nS; zXIi&cNj98(ToSM59d7$HxuGz&WTRIIk94?8yY%!=hlSxoR`2}u2--QL-m_K{&+XL= zC~ocj4^|2Lit~pJ$;!&j*;G1t~(W zxsl0Oy4Nk)Lhl1Q+2{%8C!NPw$qYII9k(Z({KCFByPMt@5q~6}>b@c5(Z9P-fJm5b zzp%3Hp-KP|_W0kc{&d!Z-plX~F5w-?a~Dh_aCSB{e#}_0QC%EK4Eyb>=%vvwMXjpp z)p)nqe&g~Ca3>VbaOIgUGq?B{d0P{DY9-%Sq8Ifj8L7$prQFx_|6n~AUQ2EJQ`snp z>YKkVd@sBWo@bLkGivwO;^BE6@NarP9~A@lb=iL!Y?it}`LRBiLB#)J>}apGK=I5C zOZsiz5B9^RtMyi0Z)Xlm6?ZB)A+LSPd%+NvL=Hwh!S?*s4WkcK}+aLx#?6=dA{#|&7D>2EMo zxrw=j*a%tvJ0$p<3Qhp^6NM;Pi<=E0^f6_4$nSFbD$+~X?dXbS6}XO+auYRysK3wO z1WtnoIzX?Pmx5w<%&(^-KR+!0U~l*o48M*LiW$6)<&zMNuFq}zesoax`uf-Qlnj{_ zPXuxNgL9y5L2yo;xq?p+6hdSWblqGE!GZmiOBDrKyy9q$tJUp#)Ei!2Wr~rF^Om$c z+$32yQolxPrz{VUB*`)2t0MYIQ6CJ?Q{I3m@GepI;A^0tF@*;U%jPcy$z9UXJ#BO5 zu)^57R`!VA97!QD<9|EB>T}3zy+h?OEWfqF4F~+js4(w7E0h^4rR}7*=K=82>C_w;{wA@gdIE_?|u>+4VHm|UY zS>ry$kgMVR;ryKvJ>AQAs|KmS ziEqK(DComl-k&ig+@T_C<>%Oq!W z!{b67?E`pLJ0KD&ug|G^{DEN}q)JV;`9EZda?_+1XNN9|2ruT9^2Ga|)Jedfx0`Z} z?tQ`&H;6yJA7e?A#}h%d?%Or&AfSi;s|m>n|FexFPX=;f}dZ_$Oea(})(qSvT|e0l(-ux{2{ z#V>o0P$rM3utMy3dwDUn9_F2&pZ_bgEHa!1Ly_>u5e>Y=Hy)JFVzhksKwuK!y;q*pSDNe9 ze%-%v`RMmQ7?1M^n{sdR)cNby7>f60>bvm8?;m2I0xmQhrqXY5R0wC6$I6O%`YxJ3 zOalCnMlqGm%)QrMvbZ^10Tw-+?j^7FxtH#Np2Nb$Ng7W z;rO9s6Gxl_KQGwQhBH~qKQ(>HA73+PW4tq-Bj8gkSTGh`kLO4lG@q;=fzwH%A`H+e z=v8przU|?``pIySX}Gn|6#SEp&2@?1HL102J>wvc28JUAz(wTij}785J`D-)LB+dj z*e4Lp9VrAuS{BD*eZYla8})H2cEza2(g z$$Qxwg0LoFJ(UKaAX@zntVxa+*iQtP53 z{Xt(~Ha{)^Mk!HaSbrZFy3Kz$%p@c%BF(S=&73S)en$$1>3l$WNeye_@us~vOaL7s z8q5?@?&(!srm$K=XA@;#i>WMyc{(f-fnILdp9r5BSWp63X{T=fc3ih>GqPfRZeIU~ ztcV0C1)_WZKg0@P#2f`4rD^CJ;8^a4vZ(S|vi;RfG1mcfTQeGh&d4cYh0?`nF%d^X zaTR-v?($H|{p9;Nccyl2K8~xF zRn8-V*wEmDGjPg`%&quo(X+sk!S2$FlG4!hxDyF`8h{4m8^0z{wQddW!6R7FK_jL3 z>h-@ETuRY*N2H5O@!^_7d&TLM!OMquy$~lnxqOri53j@qB-NJ zjtus=RM4Z3UkH*b+s+o6?>(5Uv-HR>Bp6GXYfs&G0)$o2bN#E;mucmXP7aUU1gMo{ zEH=oI0h^Bj_*3MoJlK$WBIk&dRCzTj81kI1F9Cn5&zJt7^2L5h*CUzgce0MXkOG5R zNx>(A5^_dB*0~MOasJK4BOt(tcoVbMeymOKqj~2CJt#M`O5lFkWGtB(_;}eAE;HFC zC9cakC?!+~Y54t8cJVaXN8Ef^4Z_(lZ`bOCfd=i1*5ie-kK5aKrOnsJr42tsJ1G*x>c=(N-)5Y&&s!;l^3MSQtuCO8 z4744?lEVM8&Gkh6DyfHx0BX~b2agi8PpqDw`!odKdw*2OFp8S_>}@Zf|6;TG;>>~( zAgJjE&xz^%ISoQs!VgBr&lI8L%jz$yOa|4p8@RKk%yJBW zR@lvlm*;1Y88#pid~RAK)l!1XQXspUlP|gYSBq3WJX?0CFb(>|)gLQh(cntv7D%vr zjM82qn2RbOUzcLFufB=#tUmOE>&XC|$0ov$pvFT}TR@=_;snw68OgJhFZmS% z0T@M;`!JkiJseUI7$$$njBHmfC?JN_L2=sUODDQc;864jp5td&9K9+OOYJ~pu!Z=d zquN4+q;UlsJcKkPXpV}xWti;We**XMMrxz32Z@Gk`YCg)8>JxryUm+Gr6Z`&FaX}} zeuB&aP+cVk`!nU8+s0k*s>>!oN7Uos%NeN1>3pAWnLrP6Mu1>0X2=9LvZIauYI56? zOx)oO!`eTvH#Ir7IFU*js{*Y%GM zmz(W6e(YN;b`%GUoEQYa>y;y*jNg3Oiy&7xi{f_)0o(Ti+O^_)0@`I^Z=kWn zW3zWV)PyAXDE}d+!7}MKINFJSzQI=BRBb9LbppPbdp`cL-hvC@Fu)F1Yh7l%_1$Ts z_PmLo>G?&facuZ}&tXAm1Wj80F)%Ohco}#*Rb3}jzdq3o-nrY+F7>&@WFW_KZ#F4p zJinB46E~F$e1S){uj zNi&n1XyYieIXH_BV+3QKxJ%`n*6_^qNZWWy8txxu7)YaGKz%deh~0uk%|@?~7=bHnAV5;o!s39t^D0`& z?>e6NWqIiO=~V(-?>k7^%9(+vSJ-OJ1fVo{`21#SOFy1>ho*$R2E(DU1Pe*d$3eG+ zMwfkve%W!2FiQK*&BN=095w@AM}Fp*gVT?}bf6n_K0q1<2r=h}wgv&q*`B+jz)Kf( z=hK>n(eUo+H{WTh9*o!1banlko8r#v$Y_?phn>D+{kK(e<+cBU8vw|-y%G>h7q<>A z5i}T30}7vNjiw0HRvy<#f@}2Zv&Pd$95^8);#TsOXV?ov=`!~&TDDak=Mcn=^HLzy zJ;_@9>Ehn23qtCh(dig+WgtINk-lTX;S0@R%V7_k&hNse`g$Lht1yArg~W0Mp~iF6 zaOiylzYInXU@cU40IV=z-170D6}7{5mV9reZ|2d;t!(tyC$(jF(UlJZRt2y6<3Y}i z_-87Qfk;PKB$}cE{WagYkCy{)`F@3NfG)1C>%39&>uxf_9CFwq zXKh*2JQ0u3~QXC!(hUR!vtP8J>>kNs2&5Ooo~y0TC(a0A?A^WUHULEw9x z0?`({F8d@1kr5#cHpDuOrz}%9$ec^~q1aS1EQ#Ars&L=XOO(a>H1`n|-q?GBIp~%?*m0S zS2_8Cwu*S9e0a0`J0z(vQ}mNWM!UpmU)TeFgZos+5-5s9Ustb3)+=X7vy)*BmUe0B zlwdhc@HkTVE*tNN*1zNxj(O_WD1Uk{gHa3aiK+lPaU_veGB7Q_J{gm(Z`O@ztM+S~ zYG_{fQRzHl<gCHEHx?U&HOF0c|ipJU;e%XxsE%(sS1W z7a(%_czZB#TQN&|)7BK&l*Uk;@QdvUx(nuQF9}0wa}O)d|{We+z*?h zVbcJjVlaChLOi^~i{c^!Q3`-oT$c0m2%umY+!2!o*{5C>FUE)VAra9G0khSJtaBB~ znB8wz=rXR`+68>P3wk^I#vbrpe_ecE+1c7!(#Q(Ua@X~H+8f@1YJHkQJ8&TZ?Sno* zi8hbr$TCgG3_z;0IC__5{J;nq)EEzFxTLq}k)(>31hMM{ozeGU#LF_Md=7gh&|} zyLV|<<#(m3=W;<&r?77kh4v;(>bdtpX48L{AGLgF^`jB*xLNnG3tRWDPJd;(}cPxMqhR5Rv*=NrBb>hpo5ZifaqEHiJWOcP(6kYjAhBKyY^t z&c@wc6Fj)PySo!0I0OkA+`h^==YD;=NB@BuqpJ4WYpprw`^+m>2Hxr#=g_Af&AI_m zEeqh<|H0Id9>1>Z^AS2rv>XhXiejOKz{K7;O{_UtYdWx;zJlUi^NJUs>WY@VPudpL0 zgps(5jD->r4TUK1^YC@}i89S0&m!&Ep&X#sshwEL`9ETTo{!4M+0X6dSHvF?R{n*l z)ddto7GJv9eqZ0Z7KI`gCE(!W15#?+} zXs#GhR5CQeAS63u*c(vls3q$mB((5dB{R*iS3Ak*c5sxfeq&b>_%Q`Aa|J7=Sw3Sz z%lWSjK-3xh&{U@uus@6*r7wx5Ti8?~wl(S{ls<(~ArnK09bKBG%%{Q%1yEQ6+ZFT&QgfUgT3PrLodz@+F zj@GD7kqI*Evw`QzUO(ikGsAc|97zE+b?Q2e-qKZ_Y z4)Pn58zC~O7D$)(P(zs0hulwV*UfMik~gSkl%~d(n)Z*;Eb$!nroM{{pRF~>#23*m zw(=;oyl#MXG#P_FRAAet=FpD0&?c}AP|q5VwgS?7ojY|lHoLo3%iTOAcn7tn`iv$) zx-b#*dSe1;kswbujP;bKseI{4JoB@h)e8!nG$*WJ2o#Dve@LRGmmW72JT&t$G1ln_ z1$`WSPVxRDNgRXp*Zz#3|qAqbWqUXvX zi9c(o-#wVsKzrEEB-hPNXq%!i;v-mIzc5Xgp59N^Z;Okr_rzhg?m+YLK!fG->gr{G@ zl?5hq)kaPmhM5_yi;VOk=#85PowoG67D;-vUkPkI_7aKG-`nuxBsT+SEguY6WO#`N zk3l;WcJNGTXO0W;P}X(Qe?0#Fjm@xjChl3cQyeEOKOCj6`zHi=hzmzMhZsQCUOTp9 z6+)B2y6Ub`qX7eW5o#lca>UAX!JOzjyFuuY0N_C=zu$rR@KJQd5QI?>GZDdo87c9* zzk^khe7`=BTy2Nt8!$7G(m;xYilP`LI_wtG8(SF)jvb3DZ7LIazhVnu*yx{%sWi#(Y}xkYrD+j1J0JX4wu3EVET&lnzs z#Go5j%WHMnyhOF2B%*XrDk@vS8f75Fb^N3G*e~A58feu3Kzanf55!T>8$8~F$qKZ94QZpPJ#93PWMiY&y5HKr#04SlUc<-oZLtawfcpn$$@rt!IY{Ey48} z&-5Rd8IDh+55&#sWZ^c!wk!0F$A+Ffdk5_5tx@4ENfBOXGYu(dE*LQ_P%uV$ltVfc zP1zXiU(DaL0GowlW-tx)!u~;R-4Cl4$BT9O^Wi^axt%Vn90dO~Rlm_$dkmy_flbY` z&f~BX<+TzRbfPPRW}$h-ok?$ctyja1qPN#!Ex+wJ(#LO{ad!B@BT+)YGqm8Mi;6r@B+JO_(05q>Rkece)cmk{0|lOB|L3g*WL!L>hA?2gvWLI? zJvlj0yM?4ikgS%Q4S{510T^x*I3(sI zCN9$k`_s{M|J$D?!uq{!+0EQg&W$K+r5*_4XIa92BpM#37BN#SlXE2YY) zJtD$c?l$Xp`gfRy6&rCCZ04s&A6@B|V@27w$`_LhR91-982Kvl+B`f-BSi~rB>Pi~GM1Q{`U$u@| zidRwb)og!xXbQnjX`d40Bxdi7t<~ROz2AdLJmE>^MzK1=`yg6cu+~q4yg|E1&4I@^ zC;vJ)GT9Duyf6qbtBqt+kqw)X{`_^YbD&n013g(ie)<)k!Mt0cN{WSi!6oN|bfzxb z$8$cT@XtFYdm9$ zhm8nE^`yIZhu|{2Z^EcCFWy&CfHrJ@eSyNS^lxgB97?r1&W#bPbBG!YhS5b$CmY_5 zB4v%6K~IUQq0vDiM*(q~rCGJvzI29jCrw;@@&U9F8HMuSqaO)onvKC)ZpG*2`3w+3!W^FFfI~asubi>4Vx<#>Rfwx8J}n5Orv#e{>*#eSKPd`Q>D--DnLB>n4AC135vc!@`Ds z?Qdgm83Z)AYP#8<09l(>V1gj6P&jNqd933)Tc3!X?OzQQE96Y14EsVS)XX2ty zH%l;~5z$?iRSrbETiIR`QN5VVa_oHQ5Oi6G(Ihr1Fg5XKEsR>V{e0wf>1!=)drCyL z9z=yaa^GRzUy?m0tva|f^uOs$11uR_k*glb^c@tP2QBHJHUK833~@5~g28+?%W8GJkLxA) z#!%9I0y+@{1xv!l2kd!|&=(3SJ^fzs8ZjMX`w8$1o4>P~q1|SZ(47je{Y+U&F8*50 ze>=iwW@i2~n_FI>gdAt*NY^{f&e7^Uf3{V7o%DbF>(iSRt*{obcrXY9Rit~G`&DeN2?|QnQ?r_>q?Ocp|3!hXCop=Kq zc!%;#`giU$9e06LPoY##)~T=2AfVW)?s2WLJ(u5DmVU3^{JLkg{PFdEuj|d*@X2Dc z;h2V0@TSki+!cERyl;2O2hcPj_utLo6I=eV{Nf$(-S_ly7;ISkJ>?7oFTaO>f`>Jp zxX+fogUD9ENQyeMaWbC`x8)q*^`XbXNO*6Ip&ARJ>u-a41O654)sq_wHTS#JRoT)K#i38C*R-=;!oAx!i_K z3>e_DXEr?L1D5a{x4(7UYV7{|utLj1a@u)mq1=j^`6r3?uU2@G37X#T#pW@;?yG>6 zy+K?D-{VkkpvebpC;Ne?x4XigHS&Dd1 z%2Zm{l|PqbkyXN4#g>#*(?Mh*t(?Mtf9hned0unvekDc4PjA{ih_>tuRZqqkFIW-L zR%O*12%}dtd?ox=(>Z}<=?r3hFRszZR$5(!Sa${tcsVdO4>9Cgf5}{MGwT#5FFL4r zDRG)#@FV;Za(SOtE2pw~f2v~qnPx5~s$=h7f-Uf}vWCbbAEa_*g%>>05h|_J zZoeOZ>Yd+{D%b5w+Url7>oBv+elLH4JSWR2Sn+NbmyTqPq6U8l;9_Py@^RMmw8 zi!v_$&Zg$;r)U9kO4+`@+v9-INGsuZ;rdP$s~}~OfHBCR$3v}Ze}x%EIbL@#G$=9( zb-ZD$Hw*b2DaVt)aEpSqogqn(ahQl8J~F71kXTpD{zj4yI= zzo43+NQDaT?AGtP5YwLhUPuNO#)A-Vo&HBF5V(GdbdArqIrC#Z>?$QorUs+_rH;=Jl^-?T(X;7?j`Vu1*hJ{P^O=nWOgd zxA1Q^UxEUuqxtg(18`UhjQBEWb>7ziGuNJeH#_`jkU8z#OO!L8NQbx-5D*}P0aK~} zo~8tMquIeFfQIHgJ1@43V!JuEZI`F zAjNalH4aTVH{s6agRdU8l85npv_JDFBlC^qZzPW6fNVsv)R%n&=VLxD6y^DYLD@Cq zN9GinMO#Ccotn&jMXaHcbCbT8{%<(KpXNg*FaziLs6|2mK($?e z>ptgYZM*|x1HgWY8+en+S;ym1Z5l7~QDe56M45dT3x+1?pwxo*-`9hurp|*sUbKhO zEd2UMz=0Rzk3RfopJzrqSsxFzZXVNV<<4q$C3QQnRf{(ZwrZC;HD)gT$-gVkGX7;F zX-@ry9D~lb9?Y()*HU=90_+H%#(TjCo`5q^f_TzRr`tYQry7Sra{yl^F%7szD?fiQ>@Vnj_St*+4T0+JCp&<2<8fO_;8_d3oA-2~5v z%Jb2GkPR)=zkJxrhdW9mW=Zjk{}6cspW&8+Jmeh>4Rf_8NZx@_XWzr!45-G3zDb@j zgcB+-I$+@^Yp-2UbILQ_UAfGfa=-H8baFZ-Ij&hAl0{DV@$JKYsi>#&x~s#bK10m1 z58dB0xC!%Spt=O~hK6!5(fq2FC9DM3q$t;EzH zQAN!k7i@~DI~nrH@2>eu1%w!cW~4jeBJX8^ne=X2^{3xObjIZ#?98P|szH39C<#lri~AUni*U^lkHtV_&q6c^WWAB zrF`Hu(lojJ(Kr`g87SrIy79lP>}a)c(w1Vrxgn zl$8l@6=i959)oc(BNJ=S8qmYbkUDi%O2FJ}E6B1#Uw!Fi$pFA|T8QrpgD@m~>{&Rz zC&c>@6L~YF^(RC6&{3+BkQ{H;5=)SO(?dc}eThZQ_Io^927AxoI^L^((pR)T%VdwW z48*scKMxKbm+R{MCApq)*>$e(gB@%yOp+s(!k*24SAm0iOf^#Q=R_qNu3%!;w=u;r zIENWH1HY9qPe4!W`8>1i8&|i`;m8rpG(;=j<-sf1(G4<1F59&l|9*yF0R<6sKirJ^ z7O=M2B#oM7QJMXE-;@Ui`~XMqB@L&vSKa$Jbj@#YQZGi^rcXaWeA6ploIV{r1oWKGlb*;r{7z=7N$qT$49POE zg*sl(n8LdU9fe3eyt*^Cz}@9x)-#HlxcVMOrRtBpsDAz}piZ#Wt!wek_ttU}Zbtf! zJp`SUgTL`#7dyz3pa1%b9mIWJ+T$C#hT=^=ebV}!n`h%+>l$aVfVkpQ{XxratPMb2 zud5v`r>x+EdBrS>{8*iLGq;!6SX*D74x;gIxO7>Mz?V?cbPpLOxfiC|5w~Fc#7D4J zG$aNu?aM%TNsF_P;$+dYo8dpT)Sp`CwaB2n*+K~AQ)Q50q zgfl9@-?LC$!y#j1?aH>c0mEE+*BIr>y7Hfsucp?fwBsFEC67~(#5p5rZG$SJdlq32H!4`F5fPrVl0SeQ?uc%uMe4Z-B9n6e9pdWZn~ax z@w8`bJzr0E@5X-oFCc%BYD^kue>Ub8#zWe1C@k7fy@G+T8 zdH18l4#&})__AS-`jgX~mm}p9m?f=BY^YNz>@S(_2&f^Sds=<@OBO>Czo?v(AxEzugTTKC@=g)t3lBK+XTZF%{TYyz` z01xqBJV2P|R|`d7FF%o_9P={sQu=B6nf>tOa)rwX{X6g90v#l@~WB?aId=_05LukyxnyGX_LjVmZ=oh_lIhDEspq9MC zs94ZTH^&U4p?i=ezHd_?U?|hBww)U;Wyl(kt~4>=49Oxl@oII*pogfI)^hvi%USzb+c?HnQ1H`v_gmfghx*fHbOn(cPH*P3zG_!S|-=L&8VM%qBTrH#R zoMGW_lz2MGVPHNPFAwR)y%0BU2RvrU&V*l(!hwf>nwC{4%b6~LVLE3x<+nN@KT)af zNojVnYN)}7&9QF$35B1P>?^JLUQ!Ktybe_bic~@zT9&iq4U*Gs4X}ESY}vZg9AG+rjQU$Xg8Fw--_&WwQ4kJ% z7WC#Q@SUEIAe2|ZOr3@;{C+rM*f-jFu)<#i`@Ps4wZl^;(?O`arxbEP&|!@huPEY^ zsk%oM2Dd2Q>rf!zvBX5Zu!5h}D{CB-)a88Sfd%kZKu*jAzEFo4xKN6tDoY&W1;H}h z5{8)&^Y}fnL2s%@WKxuO(X~a%ch5w^%CV-u|7cG2=B(so978zeU3>8`0nJxN#g~$n zzYM#NEx64H_mu^Wi4nbllZYhx*ethXq6D9}Bi1C-F_juvl9bIj;V$p2SW+<;?9Y*9 zSDHx=X*oj9cDOssQTgSvpQg(9fyw%x))mGfY|EsJ>kG_vvhibmF1As|NmJ_tb4!j4 zJgXO;jb_C#)SqSo%~@fD%~GFi^`J}jj9P{1PimdW8N1vf)(D;K0u>xV2th)F4j4_} zj@7Z^qyPf`3kS4?KJ_O}pS3ME+xp(u5P_ug~Y?uPcDLiswtjdT7@p?B-U*`Tq zg{5RtXJ1BY*w>i%Ra8Z}>0_U#L{U1)Mz1!OkM^+87g{h&zi|6i{_~Z`zr5SLu`x>% z*Z&DMn_3Bug+v7_$5IU0P*dTt^l59kG7?DvVj9aYhNG!{oW{S1bjt2wKV81Xi;R3W9o3mM)Z|R)GH1+@x`_jLE^(tp1Iw2Cbnlb z)M7064igHz*yz{ftpYBh2aDWH=;)*t{AeOns)M9J&YO&!zi$0zIQ7I=liKB6U|@6v z))((+oAJSV_;7C1s#8mAcj$4whb?-gV!YrWdcwoJn38e~I`jRRTx$Y7&PgyjedRZV z*doKe6E1^yn&E!gR&s=vy!R%&7cFp_H>xYcPbo%lQn82=*stv(TQp2zt|zplt;#_+ zHSv*QPU2ncrmwX`RWFhqFjTgefZOrDi~gjGC~1gbijAV$Z-XEISg3tFh9Vfmzeh?E z?#$n1W<3hw!3!GX zd59{lkA(AEAP36EX5o8<$ohKx#J6yFqH&G}?M^woC7ZHF%*ZGnn&;>h6#e2jK zy7Hg4c`h1h05qTF-6@Q9ircobUnqj0=I>cnziIhi{%J+g*jjqhsR=?F5O7n=!Ke#9 zpyS|O%3W3B5A??pNd1#WZ)GxoL3*5?4b3AWP6x2T3Tc~CZWg5fDh8*NOq3(BhfR58 zd`tNX9{b>D7lct1oD3JC&FT@arIX1PW7=y)T59V)&G<+%dWlmZ->WMto0~S9X$e@SFU!yXJd6ze`xw!2M3sjS1)Jb^n>&R5}Ic{pA zrvgK;UL^^O2#ora`a+_grfGFA)099sRm%hIfk8Ujh~P6UYMQ&?&B|#?XD}A+o%p|r z0wbr3+_qA5)$5PwqL*Ho6bNkG3Fy3<9NO-E3C3o$IFu@ZXVgoj`%W^k(O9}-qi5XK zzdT9hX9@#jbx%`AT2g*HZxkQVg6BUj6Nt1ijm;Ly!h~sMt&c);!;~ouwxI!?1^ET9({dNY(u&`+zHxptSNdyh)h^bzM3*#=XP?a8m+ zclhP-er6-p8X(PfF^>`3MQ#dQ`pElJCnA_R*smYKSMom9BazQB4P=6;q7NO!XYg_z zOyuPhBzd_oa0`R`&Ti)@!H|KHI#JXAt)5mfgi3@jS*IVlEc!CmJ^n~YyN;vJ5g)<2 zu|YIxqRvszNY|Tt!b}6CYrbbZJ!{J!#LRQ++COw`s?r@2+^sBl#jMey7Q-_4V&;c& zl^(u3fwM;8BHuohtu>$yW1SKJUW3YPrFfpZ#*mSUzSfeC&u=xhx5 zv2rnlRfUURL_cfV=~O@=mi6Jj?(?TxbxTL~tOMvq^??~5CN=>Q#rSw_nh3*1Yikt7 zH&yWP>49+CU|xju+xsgWO=d02Nq6w9zG$LLE4$^y(zS$bq&?QrCgB;Qa#P8=5{K%I zesmaFA)9#tlk#l7az*c8Xm&)97y*okHse9@pIg3xys^Q||A+;>(AY10^pnrgmJ8Bu z^3>0tp^b0}Y{ZZH(mO2(bU#_Yk5(2fT3DKkgey-2cp$L>N!`M6{tUL+J>4J4t7J{I zsb_n7OGaY&;>aQ2cipH8!5AV1N&4pG3kJyIhVjk`gdsUl<)fseHj9yII`S{0@9FBp zp>U)AWkWl0BxVU^^om451J+ACDH6wH9KJI8_DJ)upWrx1%Ss^e&m;mgcngBn7OZQHM}JWCh=kL%mQUMd=4D!}h@n&^o2#H>?a@ zJ+Q?~b4{HJA@@sjC8xWXjg{7?n|`o8R~eu|tG~`I(XYluL{TpubNsZT(4US89t-{V z4FiXZ{ss>tc^p(b$|xbZiAlq&Z?bH^z`?T=3Sf;&=p>5AG__h0Yg0*baJ3am(tMmf zBt?u|dlsGB=CX$*j#6}bTGva7vX;`U?I=gqP7=dR&b(7}E{>qEQ=o^;&JA+*fja7q zy?;>?=kE0@phULE3P|V;*e491bZ1r(V->YR^wQ&0*flEf%ww{oEW)QQSjb(LHt1Bg z0~W`6MjBL$=3qE*uan^!F^r71>7`>?BB^aP3Z>ibi=4diTns7K6z%8)#%_n}_76$% z%5jY?4Go``m>R7oVd#%};M?;^g*zRI(maPE3sEhMh{y!zba5oSGI+m&bl<`+9Ehex zrFJ-kgT#n}JAQ(LAObh{nCx*vG|RJ201Hs^?*`0>Cr*P?4%Vo00WMYe)w&xhgK*88&8cZZq80mUBe2ab9vf8L$}pAd{k}Vf?w-hy>%tOI*F-} zca>bmEf|ux6`TD)Au0We2B0@Zb0mNUw4?LLC>aY&wG9w?v#Bt@G8yO*6tuXRQN!3z z1@Y~+esC$3kj4uAf=~HRY%wYbWoZ)ep}IpKTGS)I7Zwf&Gl^x&P_LN4r$@Dhy0N03d3OOl6@gTIfD_lnK%**%U-f%{!F5hHA~wkM!&W*e11o|y@$g}4 z35`SxFUR~BY^BtUD4FgyQ8ou%evCh6(_$RIexGHqdvlSa5FKkjS^W3=AVrE6T@ctC zFZ88S!{K!ADDWA*9c^VIGl0?=!(OOp?c5_y?4Z(%H2-`b$EBQ``Lzr-IuZ)}F3O%ZF{@)V z-kVed-m_pAa`%zvG4ZlsT#I2Ok=x{kc;fq8=;BvPhX$7^;KrI2C&D5G2vxP)Ah_jXF6`+A{=U|zb;&TpQeWY zsHj}|=tjymU?lxM$;;RI-(TnuG0)MM4)7b^y z_vizU%$zS9u|o2xvF7|u=nfQ_9NtSrJfdC%j?O4Gui?qsmV=?#uuBVRT+(T!e1K?7 z%TQ_`o{*fz0W2#I%Jv=%%~em?*jNrf!>G!le2Dag5!I?}zik)O!8-;m?L;W4;6xlE zyetRVsI)pGslIK|&*n)8--po|hoEh7&_u|;WMn*Du#n(=u}%kv3Gzm-F5@2|i9u-UBkbCM?{lI@NBGEX?Yy;*Wl&c{c~$n`#-JLw|=swvPnC ziB$fPr7fMMe7uxTd-B!~4hSx`T+a1LBN z9_G5#WuLX5RRdSXKNr@@_S1y8xNAA{XJiUah7fWy3YZ|^KKo=;&fHzc26?w34$kC3 z5Jn_)wfy&HN1>oq^H2DKT)^Mw2%hT&Z4Wk$~?vZR^=6j=UtXVGzVEdaw8W{~I*xi_;QY+e1E^!%@g`gq1F|@Oe#iWKxgnAZq(b9-shGe2biCAIOn|2eJ@(9RnVUDBpb{*r{2$Vvs9+=)wwjBtzovIk?Nymu@Hz4yA_e#T zq&$HY_1UtV+b#a&)9WKX(g7sm&JVnr<5de>ASn1ZZm{Rm`stSV6qN8jasN~|#(2G|yomz8Aie?bA?7NS6b2$7`0&l#o~A!rA*>)K=+EYf|>DmG_S znahOgRhsV$>)fa9b?%%X{$>4X6S>Ze5EP3bza#3`OsT%c{Sk%E$PdcK>+&)cv%w=R!v?5yV4xU3|waRWHtQ z!kEZ7q*b+`CO^5&`!$q4HIlMlWbD1pX9QA5*agcWMs$nIz;2PNGn-ZyANN+L!J9kOGvPV)+M5#}M-Uv>zt`fsO!&@n@WQ3K27NPl@O46^F5yF!8L|==n{_Lw6-`Ax zsBtIrzE}rZ6HrSEhyWLmGeXK0@^ZKY4rZ_{`_-!Y?{}@@TLn-Ct zYCB`>WT#%^=yr%q=i$>C6ov*2*u~|?i{}|sLW|^D`wTprhI7`1vuL1#4&FXSe>X+{F}ELu6P~ddWBZ8`8C&>w8Jmp%%Ogd<71dPQj>!D z$6L!EA_}ffy2SR+_)*u?^Cf5sLvztFuCc#o?!^!=quiQQr%Q8 z@kJUxq&XN7OgE)*;5C|e$8aI@42DX%xgmqN6bu5>5p43*xfCe;RfrUw4LLtkyJ-$o z<|?2t@+25njaBFXIwIh@!bA!ARNXl8B2TA|xdbBnz0C!WJdEG8OA@if7>dx#r_4kH zF5Bg}=riEHLZ3;u{u+uf+p25RSV@J?wvOPje*h;{T86gqk4Yj}QZVvOUGp`SXIcTvWy&-5_Z^W0*8* zG+5X`kbRuZ-Itw^nXrO16CETaiuqGciXS>Iy~=lHK{_DPCQT%^7%Rq8wVyjGqr#{@ zgV)nJ8U*4|WHEwwq-NmgG{hg!sA~@1uP=R(EM{`8fK|)n@Z(aX(sy+8BKPN9g3b=_ zk1zp#bhf!F3`}BBPYWY|LZKm`EX*por}{pGVoD@Jg{&DmW811Vfn+);Z)o;KG}$#e z#;9+gGLlK#vh9A%1}D))W-wdT$T+6PN)1F)0{Out?09k$X;6KoGyW_r zm3LTkI24_~?HR^nD9$@!WW*99%ycW#1eCmY?s3;g}5O6gw;k zO@xg?7iWCA8lRQ6ZTX!z01hY2ra}ox8B&m%W9AcumZXTHqM( z&HG6!{6@6HX4lX{jKcTS7E)q9X-ah*giFC&wdBi}Hyq@Tpn@Pz@u4l~Q%(OpqSo-N zC`X3ehS3YDTlLM6r>gVrAvGprMI#~evaO3_7U)XXOVikqi~x#Zl46TGf2bs9Cs}SP z4_7`~Z7|s_*r-4~+0~UxsGsaKB!yGIDx%51gOty*OLvoG(U%Cv&MLYTH=OhX35;{g zcqt&SnmS_~Xyb`06zXT@t#Ik#RFGS%GnX58u!1CuhZv@9oee!>gY(|wyw>uBq~tRz z(TuP}8oS_ET?4gd@#+xb*EAWmA0XIBAZ0rhtXq^vyM4qy2-9fh_qXY#f>JJz73YY4 zIB&5+l0O*N7A&ZolNz%Jl>ULF`--aBh=cg18Tk?^Mz`3NThwn!Jo+^xQ+2@Ah`^~J zitmp8H`(&Z8Mv4DC>R?3zmXcAmGDAG!jood2pk~0BH?UoU(_*>7^A?1*28T)^BQElnTBrzm17Yty8*)%+#Z1;2s-mE%(mbkKQX zaU5{a++w87oL=})n;2pSxmp#`D=g!?N-`P0NJ}Px04Z;BKnMqR#-c!!Pm2u4Tj`I^ zaDB;+26F4{IPU9|D2+t-twCdJs05CCZ~>@qL1?UL>Ivyf(BgP*|TT5a-k$fkgh1k{llPxzDM-i z*Bg&>GjmM@g|dZ}kc&1fo35*mk;r)k$5MLqu6sb=+yv)lcWN8f(2+ z&9k`C{>2`6ET!@t4)6O1n5?Z$#BcaBid~bPZQsBcwnUlCm@ZwH2h5=@)oBSRX=HE2 znh?=&XTnKUP_7rwAU4Rx9Dr;VdTTa(|6)TOLS|+FNov(4G;;-+H&-L<$3^P(Mf4b2jE;L*wA25=G2z{oBf#;i; z*N%}@C(}=gf6T+Uoi&D4@S{7F&ZANzI)y;Arb|JaEvMMhRa`viWh3( zD$@N+Yqq`V^^y7YH->q{UpaYLygp#R&-$#ZcCIdvb}*riE9GcNcSo=(z4}}g*r5Z~_V^3NwhhYb;g!Br9uVA@TcDi1w1zy)6E+o>^pA`_C=RQ!8N=r| zhC@JQ#S)X&S=hIwR8Lha_XULz8b4X)pk~%{a75iJMvzIdI9a!WHT*|j8#6q9;wqzE7S_N!+pL<&WR8f5u>-V?ykvznf3kQF!2HIyA=Ochh$$3L8c}{266}Ov-;j74;s;($Sa^JWUEL;L)fR_~8?!Ta%9SO*E>HvNa-b zU~A6Q{aHu`6d)&C3W0t& z`lCwDJkgBh`|NuzHFJexB0A$|qd?Ehh*5_`Ser&xsyBk6>4ncXS{|MGq0fY)6G#uZ zX0$!p|lWT2+6vei=5VPPevpMCI#Xi9h({ zEzD+IKRw*TA_P!L(H7F~3Axz5cccvVY0|_o@2V5Ery2xeN{J63_~0QuY92m!;fRYh z<~=%A&giY^RS8~CsJX;3NEHra82)!BLL{O)OxA%&MFgp|%G~pXi$6rj%o_fNlVf@# z#57hDiMD{T=#5r%n?sV}Nu`p2F91)B*kA>yTu0?ia!V-;5!&nc1no))Mze;(az#&? z46y=3q!7gs5QWj5$8oN{A%!C)mNlaRDU#S7Wq-ND@=ug9JwUTYcDsKcR5Oi+PzO8PTREEi&4r*rD?l@I+Ys@T=X6KK2g5xA6B=3jT(MxfK zAZEQuTbsj>Eu8jU^r^#Sdq^XdM%vD?cFqKMx5BwEwa7srA7q5n#ral_G9; z<{r5^{2#Hv+PzAj@a%k3>&{o%?;~HE%}p)<&Sk5n^V#XNeqOD2=q3#n5a^sQRzQ6D zvGtW$ObpDmRLJ@9(M@)GOZaWc4!8{~hrvzW?Ko*kk%fu9h3bxH4kmU99p|JG=Ly4Q zG^pFTpN~(fR~qdD{%%q`hET&f(~{w_n7y(GDdmP^`XIKp>^ikcjHsU<4!+jztagLT z2~>h=+3e8*okT;_d(%nFyYYsnzU)}}fbwrNn!owUv-Zg(YH_^}jdq$Ra-y%0j`n2K zyz}jt|B1I7_pX_Ym7eWJ6@ixrhsa74I`$Q~{RyR?R@MeQ8Q6UFKBA(fRS=I9uOSQX z)Dl;}N6cS|k)5#NsFh0Mu8x@P=wPkgGl@_!Ss+_l=?Ue`Ri&V}wADr{jF>CjU_a@$ zIB#6i_nw}(=0E)Da<>1q-Y@&3h51)H?*m@;)AQHLPA-kFHBSD$l)Z^!5e51sScxvI~a9-+{Z_D!H3-sN?2yN8L+@w4XG(yeAhZ`Pd9;d~@0yLtNC&>7AH zkDb?@8w#_`s>}~^%F_(W=WJ_C?GGZ7LXo_=?a?y1dF)BC`Rq_|AI|0&#QTPLxKRHO zO=lHWRk*ETaskrPt$=iQw;-JY(%s!X2?1%OyF;YAJEgn3yF1Tf@3U{b;Ca0G*PL_w zBi`|SZ(EUbDG0@RdWFS`m3L8=C|t*WOJ~<`n%1>58TD(n%|K~=(?tP6dE4#ZRNFT9 zRO|XR`$Ek?`m!gmZQ7dKl^kGK?9931HB&oRrs;ZBw`5%p#x3iPY#v``)U-TTZV(Yq zB6*K1x^I`X9Y?+=YI$5V5!fzTgwen6?diSgc%Ia@H(m|~y68Vy*JoNaci(U>BOy-9 z*zIY%u3EkU(3EFK z3p270+gpg1aTe=bXHzIRj!;)oLIh0D{}!&r_WH2YGm%(Sa+x#!Dj>}46A&sgNjyPJ zDeYZ0jWb`>*1&V{>@g{c$22!4!fTfzXI z4GV&fyN-J7o1MpE>SS}wf*Pqtg*6XtBWq#+YRkBj-t;ab!Grdqldk#HeA@`vox4l{ zD*J>Vu*1s-g)n&F%^g?1rMotFw~ZJfZ!8vA*NH9bXqq<#p=wE2kgYEFkdH0FHn$z^ zNNfAkW|g`u9L;LWl}tN@*DvO`&IknO`9eOB6}HZmA|hI*Aeat@uDv#K*x9*Jmm)mz zKs0MHBo5U+D@93I6p_V~%WRCRf9dJ!>^8>&X3?rI9WCv`|2o=zlkfqW;vvmj4L-MSC-8WQq)o1bA(D5?sv%__Kj06&oQW7 z0OW~B7Q-(&K;c&mo6d$08lurw@NsHTNxTYQ z6Ld3SbUEbOSCt%2({=sK4DtKfnHIo5ACy+}_|F75E9O^sHtXT! zO0*0gh}iiD!1SZ{GR0`gXZ5fO4#HAo<#~gXl+tcgHcf~U z?fUVWh5}@n2u&yIKh01z>l$+WPYYwKU?e?~_p~7}5VrYM*49H={Z0PuTHeKYeiuRB zO+@`|ajuPnj@WrxQU5hBR?a_v9IQ}0Z&#!H_Bgi=e#^@u=ro&$;zeV!=|0b?T5QQr z)R(^gU=pP6mLsqRex%pO2B2GeaO4iHiSS_z-&Qd;&1Z+*iI)uG@_zjW-EQ`OtA?shRyR`I_juR z^Vk<9!7ngPcb^&MxwP`xgKJ!pZav$?tb?ipw+<#;pVkSlS1zf)_u7VTtj@`S zDP=%c4>e=RdxE9hBlBdyZ9cHmzvEAhe?Xa=wOFi~U&2oz) zFmp2aap=X9Pi%xDsuyozla@6hPn`BOKd%A7Vm8)fJw5{-;VCCiPnhe=!{1R}Mkx=E zbM0lc?O+*8EpT+!r;urXoGCwie0wZ^`!JR6vUs3#*Mwu0G|GF{Vj(*S$MB<5`#pSI z7^y2#VP=1DV?!FoX29N;HsLuJh0es!B^{k-A(z6q``w8g@%Brds{^`K#dD6!5g1{c z2vWo6^hLsPv>?=tQs8PS2xi=U8uVctSb;UHgT{1i&N9@2OpR5QN)G_F^8b(wGI?Td z!t>B%=|QxD$5@!9c9uATR*Ew3Jk^XjXFA2l1@WU8sgLl+A@RWm3@!O7U}Fsj?mx-d zT;NCU2VJ)oeGPIk226`#$16k>)mP`g^Nz8qn*tHd!lR~wxofh~h8+VLO zbGFWsq8B*Zo>JJ>oD_!X%d>teT)<|Z(Az%yUsd|scdo& zN*t)C56;Wb2xKPj}B!1rBk`3DOmM0xb5cBTMel$plp-*mf9}-m7d? zHj~MkAdk08s27KdwFFYeWNYqx)~P;0q*lPovh($mxm!u7&t5)Dgt2ktx`udM6kT}j z@G8u%@j@U3w9Ecrj(MFn?&*Ma%Fwnl<#|tPn654p+xcYLpMf35V0Qi8Iq=5wUE3Z1 zF9<8w_H}>6jQ7=mbx72PJ^r%?O5l%2M*y z4?Oq73Ep?=?;aMHuTmc7lDwFyxAgO$+Mju@@n$=p2kYK<;RG2Hd!2Xo6MG(eu05^( z9hM++p7sV#9W(6?-)`Dp=X{<{66MkdGcg-pLgc+R`ExSB+5o}D-;SaLU+?Yuz<M+D(w@wR)dp+KW!JbiO{M#QC0+xDb{t9>>}4?=XQF}xYLU`-xNE0QbcZ^W zmaMG3lTp?6Q^XHJs~reMZw4=qo{I zFWD=o-w4>YSggQYmO=#TRB$GU zF9J9{A8csr6Fz7rWx>bV$hOpc-i8VY;q)E+IcmdXmI}3iXy2$>UL$H7>hcPX3B-hp z9T8F9$A$qU@8Ss@UnPJOOI^gN(z?Y%VN{Rkl^1Y8o_n{{1*@swJ|3079h(Y1O(wRn zl>#eAI<8;`OArrG*Av-RkTFw5y3d<9g;8<> z58D`WTpPS=4|3=A(1Si;PZ1CBb0+wJC*X14O+s7%zH9p@6TlaVDj>9WRMvb7Uafc2 zxB`EP%yHa8uN+HO(C^VKG%z{M>INh0n}0m*BzC~i{U9uUr=BKB!j`4Qfs8RXZVFkS zK}#|$yWukpDvlbd^PNv?c|+UIWZECIu3=Nvz2ertjTXqk%%TO_Tg8s1?8EvVi|M5n z9uN;YK@4WqJsVg6R0mr{&|va$3ARdt1fP_*uQ4>U&k0HH#!Lg>34z*k6{@Rn9bUyz zJS>Ou4~JGNmj*1`6SyV|seza0uqA6q*K}jO%w?<#n9CN}!q;}*{xV)0i z|BatWvUYMh-CPR$O)>g2zFwt#{#!Zkn({-K`YmV1kaO4^00~EE7tFg1N#4aBO(Uj& zWMXyrIgK<20|ckW!Bnxr&-LehyG}yj^0#k^KC_+4r+IKJx&m9r8qObq)%Vx%Ow%g& zGCW_w-Yp+k<=qFBW9kXvue=pez1E>mAlsi-&R)Sgn=m|^~Z^P zS)Omxo$7$k%aLxo%gLg$JpWCcvK)eh+g0is;p)ebGLoA=5`hPt?GGaz!=E5m!3Biq z`f426rxlnJ{P#+rSiLAFl|?m@nd#cC!S?y%{PtLHN|ggmjGN{-n%2>`P@Es1wNPg+ zg=LP<#+^sS>)j8-8un3VEvvsCmnYhEC7};BTmr<SfDA(HDyuB1U| zr~v$oRG^m#>`W{f+VSWiBZg#NdLyY!Tlz)KJLWEm|`EIz1ik0#g^lnzpUZEIz5OTlv&SNs^c6AC-WLnXT!4!w}D+t>gO9^El=a*Sll)(#AN?V#vo z`zF5svuASj69hxM7K2(S;NP~JV!8S->Z;>B^Bs=F>-@C&jCgi=PvEX`rql*&wq=Lj z79lf;ed-_6i{S5j+1ao7nRZ+q;eao9xZw9BrEu@QBvmGXM_&=1Du~~8P%S2doN^N4T z$GU2IR`KjBAOJ4aZ;tR?Ev&uTN}3uxs`t4$4IBxKrK8AnMsi{%);9ZTc z(=DR6e(I{ezgqEU1QvH}DIHIlTlg`F3$j_uZa+KtvuiXrf$ZCyTXy zV27Ix)J&&IN&O3OlBsrB&Z`V=ZI*k?6n8~#z`Hgttw4Q+yKcQ4q}3N7BEAuPyAmXM z*_T**&mYd*$KEfS8gN7!t+qXPo0>*BRv~)s!H`EPX+Ei25^0&|T{)0@k0lW6F#m|( zfMbV7)l?65aTe!M1JFXHP_?lDJeGvn2n8+4Q zU&B%=#DsCIXI7TOSe*!Znf0-y;M`0GjuY|Iisw?1FN2zp?YL(aOR=ksWfX9`R6OhA zt7X|Pl?8ZS2%w-dp^{YvG$C50IjC#sqX-9XNk+fGuo{k~*rH-tNIN!Q(I#0DAF%YY zt?^LN8Mpld7m*MYv63u)%Ga0g>Cg*RV{VA{9xBr7>RlVoJ}27lT-$9esyDDN3Tbe+ z;;Q??7D&5BIJ3sdm**$fEdksI1NVn&?L1k>P0mMFL3;;0;0BHj*ds;9Y2s@(L=#I= ztD2Vm*A%c5OzW9LVsjc;+a~jAdCvwcsstynW)Mc-mH)C$DTrVRRZ05>ZZ6CnqKjCQ zq1eXBA}iIf-)yg<&f(3R0oJlawe*~^0egRp?Fnc-0zPBl%JzS^r;`2Vw1Kd--&>l< z@ylmUxAm+zM>hnfT-%9Ch-;x$5-)%rA=S%p5?k?kz z@g4l+87FjVmmQxNF>InqreJx8!w<~~rO(CgHn%L+R+DJrD!f&Ta)5XmZyO!-rrGZx z)e*DToSaU^g?25fkEuKwv)a{~AIij0A`&PAhDWv&U^B*k&-J|J&lpMfZfs8HaNT#v z*%HjvMjx+nV1J2Y@|xeKfP#75oG)>Ka%mLnJm7!Wj_n@ygCoX8Q=Ajr7e-wKtDBXz z-Yzl$J?Ij{?lpQ3VE0i`pAAG^-1E!LFvhyuGq6`rJ6PLC2P`Zv@79IU#c}4=&kGI? zf-h{oN3^;RgG(!?F5rr6j(tw+syg$9F4|6LmRr8{W>&NP)VZ8@<0ppBMW`AKG&jTv z*c1BpT{B2A%3~UwjMdf1Wg&BkDTg9I#k;w1U77nIY90pLiS&Y0LgL34;(|sAj0=Z&Xn?kR&1yvj|ntN_~ zI8Qi$Se(TG?$OluX_AD!#r>QwLWXH=#PRn}cXH<(q_zQvPaLxUI-Q?H^m|2Dnmw)p z*5p#lp-TXuL9Dv2xK+Utip-RicpBzXV@n5bs%uvd10`1lPKylouA26EON|JFBD2PY{)RJKAxK{|>C1?{lb} z`EIp-SO~6ErZmB+W=G9ly6Yi8np?U3N6Fca;2Z^RR?2jo#AuR*C%c729L4z>9w? z0M%?x!QJtpEy4wAw|Naix38j@_nL<%ao_E&a160HkftU;1h53x-{{JTgDx5Wce>#{nhJ!pR( zNJ}t6uC^vb;is>wj9_ZL#^!nv=B!3jR;P!!K!Rfwm0DVsD&gEN5Qn(h&o@=f7~x8H zn)*l1AUi3e#V!0&vt-`&@|;RRL`8VF>wM(n(K&|7voG|YoMLE41Muc~dp-j%G-FxL zxuE%((?-Mh3F7vD}7`nweb)ICs#L%P9 z*nJjws++`65;m3PywT2uF&9j~MgAI_&C*;{Ro8<@^N0!Q*L|~PaiUcceC6F{1VIQ-ykC+*t*Yb=C%IV_>n1 zN%>KhHR2YCwCUOSn*9U1CmwP5w%mT!5uzpp=qrM4?zLov)k~?BA}OtM?-zrGUW|mR zLN*a$V3V*!k$tjLh%@xZ`e%<6a3xtmmH85v{$q)S)5#{qp1QYJ;eu1H>K9h6gw}|0 zUJl@!9wN9BCfj1w=KF{;7&7=eLB3KiSunwWy806+QmY{M*(L5WV-bM{&Z@S-Cw)IK zjTqUk1ZLz+=Tm$m_4QKlMpX=6BKwDw4GxLRpkDPE%O(pQ9XYXOipL|Wq$=)z-)Ep^ zaEkLq_{*jypCyJn7M?i5A1voNjS&NI59qL&W|w*YRhx*{GmtYMT;@`)$vn7Lk3ng( z0BWkte3-U|vgkn!< zv|7x>XVy%-DhF(gyAwxbcJ3An3+}Vb<{>x~|vMKfZEFdFK=v%`)T%HVTa-JA_F{@%TebbR%g_=Sx(fc3&9Iu4{xFunMNH4+LXmuA zsUP`g+u(FvoKjA#k?9`iqqvX5zK>V>l*(@2_tOG)j*R~9M7JcYI@$cIkzW~Cofd5r zEz))<&27E_LI4}qLjEhqmyfE_TRVxL?4WRgK5o-rQlIjlvlLq+R@i#!!&+&L;|j?i zT4N-b_-ErXRC6Xz>I%oB48n+dw+ur869TSYK}UvtE^yHx|2d7r z2qR&cjM8^r_V1P@`-xHxr=3iTDSF|*c7KlMKP)L=&;scPOB~FPu$gb)mT$kGC?7LXT4Ujs*cIbyZ7>Xa zE$f6RGx`m&-&|x*$Tzm?%|q@@L;)=6%BMl$ENmYWP+e^7W9w7Ih4(zU?25mkAUNC% zETky|>m1A#2%&P8U7qE#<@IICb{PHgp?7rYrmY6L|2=i1R=P}n#NeR)DeAK6%4g6h z@9rO=o#tHabrS-?l0xNa>wV<_*|HYR^cDYcM*|&lD_IUR1 z%uMl-_RDKM{Nnu_!o*kV1c3?&y_6z4Vt444Y$_%x$<@>jd*fCY6Lnu)B{ zx#$n)un@JTi2ZeWx+Ms1IUqYM)Cm0V8DxWv=%3%rr~wYsH&;g(J&oZ#6}e$U69Gg;Xowoc(z?Yw0|KEk9>{n%T-TPh^hYlS3^B! zxbC2wbJD}f7i|;V_AifrUo<5fIH5{IoK>&W_m#+UgIJ(Y^V>D-!7phL1mD?O9!2-Z z=lsUo(k?U_&1##hgA+}@2j3v$?6(vqa!l39a{dr!C(DK%$_5iXs^92(_G38?PQYB{ zgH}w=iM&u!ed4+!6e%Fvcs)g$r!{T_;U=nU^Z$>CRxHdHpRhuBgDA3V0p{ECS7??Gl%5SCe*X5DpUgBv(Cc=v4XLsHcn3P!f<5gg z7tcw5vd%`~wY&SL;UgU>M%v}Lob@zya8;h#8g_DvvfBZ&-mnYp6$_9|5p)wBjE84T zZgEmc3n>m3*4Bx5-O|116tEM+)mXCllOCZ>14EJrl&c(*p3JX& zzj25~yd;IUBWAm2H&Hw{^sb8?>OMx_Y+d5>U)_oM(q}y|-0~DAEdMIUVxjyTVVqHX zOmIg{b;%djNNZW1Ae6bK$-wymMA;7@R{NWRrfW}rpa7VsFrR1?)FsxN4M;F|hp>wO zIs82boEFg?kC@u&UXJur?uMc4eIEN1svbZU;X9j_GHMqtNjDiDE?*EI}vSh7OF zYyH|m8h6==4_t4)$C28_8B_i=Aoxd?8SSFVP9+xM7enGb3lfI}yc6hw5Fnkm4f@-u zL~Kr0_QnRo*4eMN6@M5JPHWeigs8vHyNaM7tKp8z52gT{*)#U6ts!ZqVvKsc6L0cB zjnG<1v_ndYKnD}%Gu;;r$mix{XeQa0pV-w=`U(hBJ2PL)HV^t)OU3bC#7ov+MFU$! zH#>q``OU5${+Z_#;&?tv769p;r;;z<6MW;Rlr>{k$v^8}O&+WfdVk-+ifM!>d0Aq% z9fYFqV>Gloh9;zt<#B2L8GZKuCv&&J?qE38>!|}VD*tGd?a?&t_(&N{t{ko*@9(XI zwTG*ly>8^oM)gBCWw?VGjfaSB`gySekxh091hQ$$+E)aDqJc%@rVNz{ok$+CNcwDH zU2Q^EAJ)fR$@Cj3E8YAx%-6IgFz-wcoyhMS*dPqWb>&n&H)!vRn3&kX@SWgBO^Sn} zk`$RMh5xb5(u1Rt$7RNX&EU=A{w#}?->}yy{)`}{y}gN=oc^(dG+QIxKtF@b4wFSt z{8;0vf4NgF3J`0gGeXl?m0u>~nzT*4vkVDz*c@A}un_k!7b`U6*kt(@i` z#4qrUgteQD*Z!GvI4Cyui^Gsf1$0=Jd-tib*I_DEhu=8NUQ-Dx0Ov|8c5t6Mdi#4W zETOgezoTMMod?|CU|a&O9u@lAs8%np+831jAaf9%jVlwflo9IqlSBTS&0+>_fTE1v z@jho8@Um!jQNSFl^ty+Mxw3;6{;xp4tR4RUGtrs+-swls(Lf`^pnxUC+OYyUrn4$d z;qNOYSI!$zNoq6&79mqmLd6~?R60b%5o#LB{EoP_fp`ff{0ehL0w@LtgSH?I-(!GA z(bB5bGMcLmrT9m(#E3sK?2`e}ZTR<9pg6<{a`YjSauzZnvYqAdH+dUWK)Y1C#ypn6 zTUY2Iw9L%e1af#@b_h9D;`P!9Su`?q@&XCX6DK2S3Y@OM$(w~NUIisQwQhbVz5YohTXG^96Y{Y46{;`DqxsL@H?`1HrAd@_LO3`ouBh(0VhD{7t$FrN^#1a(uhVWwZK8jXS2fmbc zQV0G1F9{a%7>dBzwodr}Cu$OhzMFf~{N&R6fy6Mm9;Lr-a1M+)?N_A|f-fNJV}xaT zCxi_5Winz2_D(wiLyd*(auz!^(VulEiB%Q;e#Iq7JuhKpyMNv$RAzjC^vL|(K;-z~ zK5!pjValdXt2i3F4UKp$hxCNstiFL0)}w~kj^q3zHH3o~LR>w~UCqZbp@!>OBpX=as~V48|Fv;&?V-iGZ5JtWVqG92R6 zet6mcTkmLrXPfDmBZy6fnPHY2Coti{VH=G8mX12C9r%TihXc?5KQ$CXVp#3ZU$N%V zAC}YG!e0If*x^G{+fzHVwn|3Nvi-I(6kNr9NLyJ?0uXtKIiFJ?=zLk2*t0F>zx3wV zB-6%Jv2XkK7)^Xi9;B7M^V~z9z40J8Lz4Oem8a0lm)KWc3q(9v`s|_Y3%s!0g=P-B zva1eSK58r8GM0?%M|(ue9E6GaKj+8T^z#Fe3VS*+1^WWkBNVk;^q{3)&2NBit=|1#)~6Vym;bC&B0GrZaSJ~uX7 zy~SL=S{sHpJAr}{%mVob{y$+LkmM>S`Lg=AsQybPHX8!=q+1>Sx>V!zq_bGYwuVcY z#PM?K-&u1^Jpt=Fpx1Y^(l-}l(uH}_8X)FNlKHMZG>D5tj$nj@fYWY*;B1h9{Fw44 zPNz$7zns;(hWWsU{wLiD#ZG6_YV6?(DhWNTWsE89-ohAGkkWb z(3lIeQh-hIGF5(8PGn5T)6E6KaZj4=r$a#&m97>XrCFos4zdGI!mlRw|B1U$1MN`T zo+U^~RN15O%R<5*;jB?K8`@<$clmqaavb!?@eqnQ$v=t=djGGqf>KA-G*Wr_Kw(S> zi?)b)iY1=mAG@h#oS2XJGcwYcteXgO8^y*sOE(n}GrLhbVGwuuWQpZhKR)>si(*}A z%-L{IeCZrPA8tW-=aWS@Kq}0aYY@tf-$=ezfOA{&;$!``MzhHMqw{yHdwq;g>gLa1 z3Y!yy-D_C85OYFlul`S|=)bT^h(1KKwqNl0k|HD!w{bbGVt(qEN7ZM#*;Pbjso`>Q z?h{LwW|Mhiy<0tRcf$NLGYXS+qH$m;iA1Lx^Ro^jmTtebYQ?vx4G4%{x`**bzwG$7 z0C(!fbpsi>1=9@u|H(sqO-X#tv4KLA!$?I(6&0UVA71<-cRu>>CcQllbUQY`>>+p} z+GyFo=(ojF$!eO>_hY|0!5Dxzqk2GXt<9j{#KUTmzS4p%M}MXVVsVA(7emC3Wbf=> zo;IO>Ophb(!T|n9+2Wy%NH0fH2d$|=0d#1xMx}io% zcexgwO5iN>s=uPad!b?%$U7rnv8_t?+^Ng1`C#DwV-uJj68@ZR`-sAg&IW(ypWa2j z>+ka4B3fgoD>=UL;V#3Qj)VR>Sj{A=mWNAiYb#u3!4Q^5K`T{8Plmc|d*84(uB9aX zERdNlntzM*V+u7*ksGys_9|j-?sf=7Q z3YnM^aw(EUtvg6QS&y$8cKv2I!{OfkAt3c~h_Fqux5NnI`MfWSk5`_!{r%VCH~8f) zVXEwj1sICZQjdSgyVTL9e*Zfl$9HT1D}sxXANRDG7(&aI&AA=Mg6PhL!Y&c9DOC}z z?sI~=IGKSA#L9~lZn$>Sbi$*QI@(dRkOn|mv@$ECG@9V-N(Uq^BkJKzJH1#-UCtEA ziQCt2>#+L-y6xqz#n0cU)jmL;!@nN7ieZx}qKC)o9n20WVxqC4lUb0`Vf+Dvy~zDa zF3rh3H&Z;}q=#fB25LZ#+FLQt7dO&^a5%XSfwx>+66oW#^oW!D1@>4}YY6S4c?dGA zvIDO+ks_TuM>@vCSL2c~;`rRhcpqQn7HypJ?$h_|ecw5u_fB)O9g3RyZN~Q!yIM1` zfZ`xoEJAfrrSDNB94qrAfVt6n!GV8jszDU73kAck`N9LmB{ubM1V`b4O%_H*dZ)$V zA|UU3*rW`%ewX6fWkkF&S)65=Kca?2JLjh1_M=?e*Vx$1V}&R^3I(l7r>9eAp=ETO z6(8B|iLzfXk;Aiv%W8hzFtmJ%3gu&}s=C)ARwCr#yv~4H!I$9p14Op{#0R<;?qs|% zg6;}0pm*>Zmy#gskh{3{rba| zlF%o8vb{mOOy)-Q%w^<+T!_@HYEBwiwc6lY?xOan(B0lfah~&6k0TN014Dl6L&i~h zH6uO7!Eb1lteR;326(ZDWo}=J`bB#+lw@=i8^bo}Gw5TD8;@>+)pIZq>2g$B|C%fK zm{Mx&aWqQpL=y%PONR0z=Tc||Lr{3fQrlNJdn{#e^*EHolYp$x%mtJ z`_?;^aQ}9`UQ|f<_73WRCs$D8ukO>*I+rnIkz59qaLGTuy}y0*>3=w<%u6B#>Rtx$ zZ*momVrS{C!__pHE70=%Rtt;<0EgDz^$$TK*@5+n<1A!$%D-(T`xiop&@w%8_IV~^ z3WO&C~N{7~23yV+M z@F0;a>2+c)&at(lafWfDclW}L2-pKYJL+uW}a}qm^`>i{aO09rF zn!AR6{@WGTwRg5>qZ5FKa0f#IZx!7ryx=JoW5c?CFnBDxF%>JvL;XB9|Hce?@WQJ;gyTpVtP)cvTLKF?busN<(j8QlNt6%g#A^4TqJ zHGcljo2)keum=EdFXdXz321Y%uvYAm0%PoBlM2pkztH zRVvxk`DRX&2AYv*t+QalGQ#4BB3j!e>QUF3R}T7qyqIKF)gxl^H}sj#aSxhxzDAbC z7-UhxWX~ zhQbtrM<*Nfj{7hhwEC;aT)1IgJP!FNcJnYIDFU74V$F#Z+km?rTk^sHx%z*Raax(R z>fcuUAj#AD^S6DLzi?6b2if3~+cm0IcL8swYhWe;lvx)dO7+fgpk1)bv|mKn{xt6x z+Fm;aTd}%P!^gYEx)1alM^a(MY>i#9y6jWW!I2M5zPpdjFU7WK_B?Ce#Y zGiqi<^=~r$98WjWCHZKNVK1|&(%|&`Nqr(FBKbfCucnE9*1}4PbQR_2ABlB@s zO7Q}c_RsEgPl6JU2M*)Q5}MhMooMG4`MUFIPY`OlXel~v&y}y)`hIPCkhnu6k%6O8 zKPGnb?h`^(1WsNWlTN{sOF8&yaQkX=3fvNogf`cCZ2cxLq7!jrF~?ZoxgoRQ!Pjfn zK5T(VqY2xN8p+R_bmaAnSyAfp-xp$ z$N;z1nSlpjFS-Jf>8?a!$0*SRD_GAm%@pfzAe_e|uyBW_s~M;PINwQ;Ns!nWU6o=PvfR*xge zu97E6g$_0JWiNAA5*Lnw!`*AxZz=dqX1At+pho;5A!B>3PLvVOSf0Eo87H-gO;)>( zVG(Ft+v4o!SIf7k5~kx%XxuArHHE(Bl@RTbn%F&r$c5SH5)v_vt4lQ6V^QqICJz5M ztT<OlcIfUMd{07H_I#(n zrj_O2ae#*$oYwvASoyY#K7#n4^oBXr&ljKrrR83GijrUA}=oLRDHGy0uOJslmlQ4!>(&ld02Y7xMyXt^s61}hi9*ZAq{h@blD5rkuUq+(841>_(jQ{c)0uwpC+ z`Uc*k%piuky1&H9iWRgb-`a&TFdCv)4aq2U3b-Y^#je)}gB4f)r z7%2cderKk+@PTn8s7N{P*R7n%$9E~|DByVuS{e=lr9boSli`1pib+I?;_w28@NOqw z7(iRO+ioT`W`hy3vZRY6eNI@rEg2=C*~ivCZT)8_^K^%E1O|31_{!`jl3r(r-%QZ(g8S>5kq&Ee04{dE){!`2!1rFDj5T^7jiO2 zJCv<<8pV3oO}5UsScl}*w>3I8HT48j*;4p~%O`D9Cg_&G?b3Gom62T-lAit`lpoM# zO$^LglfKxYB|y5 zn{|J$?BP=}E7^+gl&xzZHH10ST3){sSIqw#l*Jjd@$1M==|~y zhBEPk;fcw?^<2+dz!83)nELX2%sAJD6Ip($A2X6K9^`@M!biiw7xmt0cRg$72Es^97Y% zi^o!GB)G8zpx;*@My{j)n~*lg+BL;Dlp4|^wrR$Bn4pN$qn$psLR_#OJ!Q*bN*)&Z zE3Oj_e6j^^L}L5_sb>eCJbml#@(9S6_0+<@xDp8%`_RVJdk_n}#MfkO7_tI1)*0%7YYY1prw)qzs5}gDw`8;vUVbK$C zDN1KWax%zu(t4HTyJO;D7W|W|&b-C~x z6{#WMxcXRzVK;|8-$#K8r#E*vvy-U%nn%e`J-#apM^sZ$ah_1$0-Lk-2#%@l;1n2K zW*EL#5PW;wW87f8TAq6+?tMLG?Dcr8;0&u|4qSX>>u;F~TqQ$#2wo+FJsA%2!S;9} zS!;*W%8_7rYY&_-M+sgIkb!BiHNg33)_WbA1Rf3;RL+=We0#+D_@A+b(cfZYGNxgD z_l5YF^vXrT4WG+Y?@wwPBcaoP>8Or95dJH) z?Gzgd)bgc52U>9YOc4u4&_;;!gq#8WBgJ+OZuhHBwyGk==G=Exic! z=Kju53S5M|1Bhqkf?z*ESFrzJM}(~#xSn}?z0(C_T3|Tt4(!~h%MZ>Ok{jQlEk`g| z^bQy`JsuW=|H~M}A4a!M#7T9r_`b+Ykg3O1>Z(&WGQeroxRZeDa~`038IwqE>;4)b z!${r$egw2MkiAWFTgt^lpvGtg=5wa;FbL_4kO(|Y7xt_tEQsEdxA8?1B znMGm0{JSUB`pfSu4XtLc3VM#XvaS^g!i+pn)?|U34A^xb0Oz@gKsFm4H}&HOi25(k0d3CW5V%=x*H^_t zUl^lNhASUVWG#vQzmZTXhX+BC)NfzP&IloKZOsDhdWGOR2Y)U1@%jS-r+J>tFYw7b zm~bbORw{-&D9jdO?1USin@=3=g-2l_?uhi1gGAK9(wWVZy1%|s>fw^EA8#bd0ApWg zI9RWRv>ODP>6a~nz_6Mpyc6RhX`pb=0wKa@B46m+PkSw8>l`{NQ>xulS&zxX{E z@Lg2QYm8RNq@mXXADOjO*O%}h7TpBrl!)`k4Cx`4Puj1PXf zClkdJV_uMaOQfhFJ!m5n2M)ruUw0 zVp&uo@wF1i^I$kcl-++4W-$#tNXIyGxDK6pA{>G#@-oQt3ve#9ChOs_O6+ax4DnNL zZ9jpoW?>JuOj%Y-ekxoJA?=wIr%UPhiu}_ihs3G@C)nfR1DoXuKH`T4m&f#?kv3Gj z%*4gtPy|5kS+L&?zaH`O(DUdDLRO#dU_0w_0W1r!_)-r-igz6x`qIv5W_88P3`Hgh zUv=NTh@6zk9aDxs$%v~&MslbyVnWl(bL~;lQmLi7Gz+=>dubI58B1t1aA)hktEW2- zMFkC%N1q8(I{n77E2L_f$Zy<=4j|_s;r>no+(OKrlq|CBy*<6;=C%)%q#`)vDJH)t z!Cgx^ukT_)dpW9sB3I?=VpLWd!`b7D7`Rn%NQT>*ZUaoV!_~RAvmbCllA1m+-i`JM zpP-AMXM{1Vl}GC_5lTbk)yO`X%j&T~BO`M+ixP$e{Lws5>D78FwvlDwEhOl2{X|I0=0>0z6!}})trHWN{`0#c!8L|NM;8CGoESIFX z>}Knbt+UFas{X#3=KeS~Ps9nIgpJkzhG+%uObu#eqV{+}fjb=Yf?9aP5@yAJl*$>I zlLTpGJ|;^hE7LPPuGb4HlHZ^789q77h)ie z_MC=}V2<<8jtCJP*Hk$XswD0Yd{#DGA~;+5M;)dWpCyrwL{iOO=oo zkxs1z{`f~sl++3yu5E99zPp|B{^l?hB>um)fOdpK_bcB{(e#p{#j_H3O-ItDAavog zWNtnMj9j}gK)c_HF%@@|@YlXk{lyenyK|+*zb@`c)35e(Tcx!IbMlP!35h2Oi7kM~2if}0lUxm(S zwyMlt17k?3;BVKo>@J67IX(%8_vWrrwF86?B@%@WYku9|+vz``UKAsTV1ra4KmlzB zX29_$1i2x5&wTr9q8Ta3^$Zr)O4DB!0w2)G?s(H}pd@rFV4uel`fE~;98+&1cBh{2nM!PU(J4253@}cU{wp{Cbc{uchvJ; znnNGl#D(j+-#6O2bm>h71wS{_WJGL&mH^A2Tq7c(K8c(;&=vn3rOokaSd}7tL1g=; z{kwBYgi_nWCoks#zgkKRTJYS#5Ri$xM+W8lsMIaW&Z z?MWRGMt&bL<}2b9D6mTnoD-D@FYVye@YP}QpIVr#94}2j`ol=K_ulUMDp$H#wGy_r zAf<0mnN)fy*FE->UZpkoU1HN;LsGyfTmq zBgTFHo-v8*%#NJRfJ0i0z!TQdfeR%VB&UP~w%zIvNNyQFP{}n1;-%zhady!6U_HH> zqhKFuKI`^#K|>>P{*K_oti6!d%b0wY6Z(-nqSH(zh+NR=(kUkFYS^|@2=2EiC&Ea# zYz%bZpJhMgJAs$~ZZ3`o2s9bQmS}N(9=xOdb0iH7-;+D=c~xu8mNAko_h|TOFp)yP z)7Q)RPZg@hXaS>2Y(_AXz;hx(TP32rKMnIQ7Sft50F2uSH7e@ce;( zmg6TQel18`NMyiju5R2~T=n{nmHZ`S!V+rx@U}jsHz2C-os&&;$+u0%Y1nxRAY1@Vk-tV+g&gh-f?8aHoecKCay32&BaHI1~SWqz%C9nNp>w z&`Y7^MFS>WM0sm}Rb>)j;5vka(eYZ@>ihXyI>?(UKfMY=;eq`UiUx=TVD z2?3=MDQS>y5b5rgZumC$z4!aa&$HQU&6>66nP+I~KFZw4xcuy^=t-7jV#x5})#e_O z(3c4`2mgCyeOZ5RLzAU`5^*%GMHoD( z+6rdk#IjH1rniMw(&@RPg498Rj1uFj@wp5tIpZ#PMe0iuVu>~-UUVvdIRiRWY$qgh zM#-&#YA0On@imvF7BT9~tFh@-Pmx+|(iOCvHv&A{@z_tCH|@BM^_ebVG=7)XnT0LRY_~A}LPbFoMnv`Biml%& z6U;9kNHpk=ux^-!`D$mZO+SrabCp@dNyI_=Dqw%{MnMFd4aL+r?Tfg^0gOL3-^F2P zg}E;}1SS<{0ckM5To}`<CMqUPui!y!K*jjk=zwbtuw#p?C|cf+S0z2hUqahy?1o z%ZxWcngwB-ANh?%5F~#C$&zfg&zQpk8xm?V5->$Es|{nt#=gYvAf?cB(j-11Zp9ZE z_^q+^rs&t@seM92Sz;M0CH)&|K0Gq)d<~9Z)p5^nX)l@wd?Ajxf^coY#l37HU zVKs{uR=-<=ZOUiz@!oKxNHd~o(jxA|$WN(;$%Ib8j&yTu4vI6)*xDI#(CGgT&HJ#| zC^2oYjQ%GIc4Y$nV7O51^;t2AqVbz$Tq~@|X{B|nL}G;nLV+#7K5;z*UmBxXG1@Al zU?L;K>5x4;HC5_?uz;8#d2lk1teu;Hz{Cq{6Crohsnx(d-snSFY%cM`QW4{pduGJ1 zkhyn7o)t|`881q$u@8f!B{0+4UnW^}pY|mnEe=}^KF!Nm0L%W-QPGJUx%TLy!92X z5chXDNGKcUJAh%E8PV4Qo+-c|KZT-Xjh>=NJAP}0?G<}KW_QeF(2eiQNKS;lgq;K3->G! zf%49ksJ6&av__U9>7v~9u)v3V!0x1Knm}vItJ2r6!5V(IvgAYmoVdMjzv&~ z!@)04h(;UU*tj9B$ignECBglZMezn%K%ZM0bm~}hFcqj`^b!bX=il{GD5Gd8=6t<3 z)RK)%LdSX%&|Yop(FK1ClGVa#JdsmqS;yW_VX!+1?fr7aH$?RRZdiRS>hsLVX$XJP zDIMKL3P$^?r|q~l6>~};rP+tM&bc;I&o8WKn{XBoM2;RcF;bqdE&5{sd&CVW+wHGd zl`v5=*V%<}Aw*!S%GEJL&|71*UB4)vl8I}TuT0s3(SFI2+w~wS@sz-juYI*bnPM^; z`4MihySI9WiRkIa&HFcG%sNUX7A%`v4C+}!w(vZ{L#9P7C^Ev!dHzlx-bQgcC7x1~ zHh^%YD)@hyS+7EyxJxtDO?U|{Z=wWkR=+)yI1kHx0R9cA?WuMUQoGgFif&F zFXrFD`OOuJJ^UmVh~<$vY7AyB=V*VMgrH55T}_%W!+TRdz<5Z|`39PgF#VeNPXeL7 zH41jqCrM_s0Om*5&pW2?Xbj=Ubq;(kAw`D*tRlKZ)biiNTA8RcG6~Q^3Sn5`uUt$u z>6{iXme_tPTZ@+ZqaeL{l3rF6?M{eG|f@OF8kp-PBFH) z$%l~guBa5l2WUKY{9wFuDpg#)j7?ljs`ohIl_s#q>EvHHOT#bt|5>l524`{P+fUI} zmhUz0w1vS3xBt4UO0>f;;V4HapXH5MgJ_$k4VXvZE`dI4vLXcg{vWz&2DG38ca$LJ zDidgMSmw}Bp=KkRZ%yR*8at&;(C}FRrXJ8-Y-$U6xTv6=LOFofH)hWmHw+DxVTK8AC(J7fgdL;i$Y1YyK<#@OSZxa8DK^ zYKyso4PUscBV%O>_bvfj zRqS`DeQHq_#gAX#WiVyxU4Ie!HxW)P#U1$?qkE?flNdrT*wQTD@3Mf%f^YvQ$0U-140k^6w8f9?_hPH z$n(IZ1TGAF7`Ct4>x9Z4++D%Mef5?bKJ(kemr{ zpG%UF=!g@ITUfjmH6hw&^?-LEildAab@EL3dmH(!^5-?d(LHgKjcejP04n2q6!gwf zAVqU8EIxQZ{$*8&#;wr%Ux>L%;uDuJe25N%3iW7WJ8)ymtf%7o3$~!*?Fgy(cjtZk za~G0kd!*Tw>f`Px;W;#^!?C*)9R&I4OQ|KD)Su0fX1k=H8S6Y=y%hCOA^;onmdBTT zIkpln9pUE(18qgC}qoyNlmtlO{7Q*^8< zME1tmXL!aHBL#Jd1-0seD7TPHrc)sv=UbxHV5lDDh%DIzCG^&CcJPTXIgN^sOQNnxsm-tSFJ7ujVMSZ!f zYP?kCf2zxD`DEHKN~?BQZwd1s~iBK6X5}@*r{e&KLjqbhow)x5BWt<2MJ`t z7XgzMc3qz?xPR=RCUoJ}7-cbyeZ3IZdtmdPCiyue%gk#ks>WqX^MdGwKV{t5Y$&bA zedfgK=^H0~w}F?x)RR1WZrh{zM|JlY@9)y)-ad`p;=yF)Z<1A#(h=TO=dAhP9HRXPM)@1vc7xJnI?; zYabKkG~=PNr4!hP3L#<8rZ?P&2XPfm6b0<3mnYXWwOro~tybZ>nW{OVQ$PD+_Bv0(z8!aRuOPFr26-Mm#5Q+)tm|1mbxZ>t90e!Cil4c@#P6dJckjgfW+3j znW4q1ejsr>1>12m#qHA4{#niMTk`tDfRxV5W8B+X5$O728d{i?YXysZn~US-Mp|2t z17jRs)^DDJ$5WsZvaZZa9epBw`i63VpK;mFoqC{0zSk(#Hfa|epgk|+_H5;uF^l&H zv60Hp&uW%uWNG=lh`)o%9c*{b0vr0BQ2#vZMtTS>WBh+E;kS~Z)IXpaUBfA`wudc@ z7Pfo>^@2CNmEOakIt_`McG+q!VZY?k;CE;lu~`?aaVjjd(ks4Sl}_?0!Q(^F9HKvaNNnNnk-y{KhlqYBZim~9#Yb8behQIf?TgPs z@LJd5d1N5Vi{)nBjiV8B$@(uk9;_v2-PGhsrd(9k-}sxe2OdK(lg zMg-^2cCt%_&eR4*2X6-mNw3q;qh;*>6ahhOCeV5FkRuF|Hs;-RVk6cGrFR-XstCzJ zyV*3|L`}{`S=()C8w&TcO#v)NUR{BTG_XOx`}4!>=TP3f(0#Cad6(mRgj}kSdEc2@ z1tagv`rNM%N{muL;w-1?TP@{u?Md6R|J5SD@jt?s=VH-{3#*!jQZ9h6$HEbw9%%m2 z-f%#aW1T{WA*SnniK5wv$*(Z<_tU8^ZErsSbtEV__PD%L(;C?kFerNOBy+p-Qt|>K z;qlFmn_sC}HowK3_6Sobnd9p@Qw%JO)!Hw|%%Uz>gj>SZJ%K@^MjL8J9+GT~52SJ3 zUx_9ppd-Q{4JP{;Fs}tr71W-!!DwYo4=G?R$R#Vbg*GCe6DI8F7ddg^CwMXqoA3sz ziczhEM#c6DJ$yQ!KZg+*KbGb)P`u5C#)?#^jzvN<_0iDLm5mVc4Y^aB_pugW-IE+D zVjiMn&tV~C+-zZQ`FHga#jTQkEp_>dxWKqKw}E1OmJlwy5eIlSuTztqMEJ^-8#H;W zH{{my*q@>rb;7Y6*7|`kiT_L&8KfS@zR%r0@tA+19@BqE3ZuP3FvPgjs$`%}cGr;7 z^Fh(}UDG4cdF+_&uC{3&VcNH0ydB{#^FR{1m_|O!y`$YOCQ7ZSJUaLztEgpuQM(tk zyMNxf|E25xA_n{d2hWkqJkm0LQhUn=u(&3{cP5qr5t1GinXG1 z=Eb2vf!)%v+PL0kivlJ_&u~?%^p!au8>d;d-i~RFC}3D7k!cR*iwAUn3h4PV#a5G0 z&!bI6P8sN(coE=NJ$B}s$KiWNSiWYSKZILAUWhx!y$j$U`fsDkk*B~82~z#+FdX7W z%aD@A4_RiGeIdmz0roZ-{(M$=oy1r!TvT|9JYKJN374f_g2CaL zA$ztueSF2c;=1_L-O+nckL)b1m&9YngxzO6nyux0qUtm^7~?fKE&TKS2K_SVRq>rj z$^k&$1{A@!ulSI9E;v7HT2y67FD@zpk+PdJhQ$?-C=mrqm+lHN9XQVs2y^2l2KGRK z#M}e5RE)jo#cy@cgV1|izYN{}3_x|xT8{nM7e1|Ai=5|S`hx;1;<(Rs_n@bU&;yee z7;()xD>Zs3VXBLDLr=Zw0LySdnpqs-JV+fnK3zJRq&n@l-h;3e$W{oSk4XiuU)2M5 z_54d-W^;54Ss=hDhO$q7-HzCLV9wqI>Sf%noZMHLQSn_4s(V2ubomg!-R7?rO=#0C zK5&BnlVIQ;gzqX|YXDbO*O*U#F?T0buAP>j>*GHNM14TdmII)Cl6~w)e;=sGcyrF~ zIpWK^&2L+2dvF=&?-^YG41r+mcYP*TcxcrKo{#ZIU3D1|xzcxP+`<{oHQMUSx|ZA1 z&>(IWMDd|GNMBD7G@j{^^rRe631zsF%=o6yKFKE|F!(+f?MIkT;V-5^?|p(TgqjXX zNA%-DiQnam+JHqq`CHDAj~j)_&8}k>FVwj&_I7(FnP81yeo?3iiwz@es75QxYcuaz z@9*>5gC_xEB1@_}uvED*O=wHrR0%tnM(t03)$ZgmBkUvU3u-+>B;r~A<-4Q6Grhx6xC2;?=MPRkwrnT=)l z5QvPqa!+jy&%m-*IEhOiNZ-2bg$^5dt%kx1jS6mOJ)3_5(c#SQ!F77_90KLp8fgIg zzsFCH$FM(Wv@BMn1DQd)ScpoAx{@F*jAm|uqu)Alu#A!n(i@b=C1nt~ff3tv10g6| zf%Rgshusy&{YbEqOCFL4fTT{tD}^8HrZ z<9-_ygn)6z*oMNBii$%17KX?JGhkQ_4kk)C1(Dd$!e3{gcoD>ipB|pIX|R}H;@4}q z<6wggp6s)x4qln5Bvd_ID>A)FY)>`*7W}^?^C5Mk@(a61wCt6XjtH#BbYY4u7;aSp z5Bm>S%Ya;eG0=Fnz?^oR393alFGuc=G+^7hb|3$O>k%}U0?NgJ(WLV0OV))|3{NEG z@Fl`jTLt(Xd5yCAGKhi`_Ps*Zpj<*4)=QR$0n9Y(46GOhD>)6A4+ulA57~*v6b*v( z&ZN3c11piI(f{OQv!9sW!~Wo45%cK%PRxNjjqM2kIfCVOj?CMTdofK{1SabT8QKD_ z4ngeL+t(d7?|`ao>tv?%ka2|q`5~Pd0$b1a%v!qgMK!cTI0tW9LhkhP(FRodj_)tn z_PKAh9zD!tz0#m22~e{#9$ofVs035IK7;9j)ZEnD?bt{510gy|$;_o42gsS^(ypZ( z{M0iP1YqF$fTC4Ag7`C-R@3VjyqLb)s2>bPE0ebc+f5P{mxpEN>CVyc7ka^V- zf-oWV@uVxjSs8e5rUV)WrFcFgvmn-uFTL>mVu-~(2O?XqyV;kVy3ji`QLCySF6YHo zk(IA!dPVuXHrzsrMK8XAh=6AX=G~Ipq++G-;(llAyj_hVgZ+%C|9P3E2=kcI3|Cq# z0J~Cb^f(k7Jm{G@zp&K~kBJ6DsQ-)9V`lXkZww|o&jq>L@RuE@AV%lEatOK!Y3*=w zIXSjLBvig7e061&mT&~S0(8QebrXQg##$6=W#wRGrAxmP~Fjw zHspOa%nyKD>qhKp`^oR|4EP+r16kfx@|+MN#BEKjv+s)gS!8s&Yjh-hg|c;LQC_sX ztzG}n>lCyWNf*Jz zq?O$MYg`ePRY^G1f~Yb^F)jJoI=o&28v-``n(8u(@3>!5E#=<C84i~l=mbaQI#Kc3nIGnwI=Mg0y&6#JmpZGU{bREOuaDe#COqe-Q|;)h&yjb{ zc#Qon-oyWm)19_LD4D43dK1NH2>ln?^y)P~K}AP+Le;bhxr7SXiFL}#Z>X5L{zw!E zl4p23Q?tqvQh|aP09e~&DA2~^yG0lYl(>AJymKr#q$Ozuy0S}KyOexB=|~~W(+F~ zXDUGx%Ym+?=QL_~4l5JNWbl5fT)2pe@)|wj8wPZLDgA z#P(u{0v^m7&vL&Y;PFSX2rEHzpyRWIB{u0(o3KhT=O_y!NuW zK>CgEAgRfrcgpzRA}QU^*uGS{IeM0RhVMQDNg6rc7y{;*)sB=pvs3(QF6hw^%kUjf zs|D%~8LB;#e7ohXch*$j9+`l9EEUx!uspng#IuCec*Sm=5?A8Wf>OAoa8aB8kiE^Q z`HeOOZ8|-&_w}3P61TQL7zw>g(z}TygUnM~y?V(7y)PSOw zZ~h{*S8uZ+>U{oJ)+pWsUpIq_LYrbdRJF{yd-Wb~X1*ehBR9pX+3rcnMcLRr*n5Yj z%x^{DQkO5c)YUgBW3X1kXLiugY&uEpRgmkQH^zmd1I2IYij0A9$PygB+ckKSf2rz9aN36VxO+ir(}q=Rorf zJQu;dt7RYIEqFN0_r~cnCezyqiY>Dx!F_-z>nVo)a<6YWv@abF0zbDc{@f$eMPEW` zl4vh?%6~o&KHm&k-WsjV9KpH;UlFqmi?;=01LU`3;bDti8C6!Em`(%(Stw$K8Kf$4V-hPne5daC`(Ee5L-Z9S$D>sx~9lQCUvUqjbOtci8N zsXN5FC?YhBQffwL@wLH<@n2jl)*f%UVAdIoBJC>Mb!&Gx4wj%m>IXhyt_Y7Z?Ek(M zI4MMQ{}PB?hgXhzWAz~-7dy;4F)x))Q@|J8ak7D;4kZzLQ{jtto}yw z!1O0)Pkz_^ElWG15O-cWqC;X>F@v#E*x|kM>Ewa>=0As~~A@{}-Ne zsT5oo2C!UHh00eP3r|i`aJgEf`sEPE&_#-@&7FdHj8{jXVXPiELv-{AHUI>S7bca( zL;!Oy3;-sNCeQ2cu-?c$#2Cvqqk@r^{LW>2JZrgZ>U>^EefLSd5_Cs)O@$_gwT}&f7GC&OyWGW^IA~_3F3Ak1Lqe@;DB=}VQMh)l*OT$pUiqv_hBq` z4y{GQBJD^S-5_aKqiiuI9HBAmp%Z8qf9ct3TIClPOw*jOn|)dw1S;WkJvEN&(fL{1 z$fnh7r{FjU$RsZqdI<=4*6PEfu|~hcm!S<25UPC2KuHXxq)(w=P=W1&@G=+iGWV}A z@ahQl|FP_eG9yN|b8rbf%xy&urngEGGke0w9c~eR*VY5a$CE)!9uf$vNDmnH7=ev# zN&u}vkgLTGm9bd>r+l9fAODfoCbMUM?%*_Cm9|EXGV5Z3=v$(lu3*!%VmCCpMK_qjrqaAtAYNWz5#n@$ep?+KK zPc{4lEgkwTXlCep&@Y>N$>Ekpv9p9O(k8(=3XH0>c4ru~_wdGxE1~&Uj;2rf^iHiq zc0d-+renYnFdi9g zuWwK{QnAwNU#XzP^}k2^>33!Fv;B!d0UuZ+GK{fR`ys!8rR%*6myYi}9piMyCq({F z2UQ~H{6-5%*gxlK1D)Z8~MgORi|WR{1pU9*yG)Z zYgN&NR_ z_^7g205SWdKg4UFprX#0DlNMu@4RjC{s&5uv1TWuV0FZ@Qzfm$b|qjhlrS`ni*}P zQn)8}msPm`Gu5B-=uclwBB0K<2GjG|hBCk2BTlGhuvKd^xli{jFY+9mM!WCAua!96 zWu(c$2ykoht9bjhxP3#>Z6Rz_j8#Sl*~Z%4lG2LX70?O_X1AF7nJGZfn|sg*{uIMK zk_OlQxOwRgW=G_}{fSarh4-7Di$iFhx$$>2VevMN?(4ceJKf$SZV687q*GpG_@p^H zHELx9DMrGKZ{=fH$!+FFHR2zv1W9u+iTCsTgjqv#`g0n1Ki1G#Hxu={6{5v|*NYR0 zNx789M~0iLSc=*mzy{!Qv!bGS#Yfr)DLn&{Ab!TVB#=Z4UO&mL`A!^*)P_sn`J*)O zI+0E_11}KFb3tNE z4BzIAReB8wCputt5#W~7NPfBNvZwX-sW-#X^ZSkC@aqwMSS-zNW5fPb!KRRE5=ArD zaq*?}z|a17BaUcha0Q}6Fgnh5IT?Sq1d=&DCBtBk@hvBg{o*g*BKgMLfTU_57P^$?wa!r7kNAjmiv+ z)*mF}p%+$jY~fM}nLdNAdT37QA$73?LksgJ4p#$v??j69B7P807pwl6 zLprq|?CN%wMxDLN{P&6Xl7EY>H*561QwP4kGyf6GJ60DF_(5uBgI9}L$LF4lB2lS! zx$>9T@Zk8g7Fv)63iJLUqT;eBAt}# zms8|KkS+7FgXQZtJlW<;>60Jb%-+KGEYh{=lv9%M9ld_ZZ+|tndZ=s7^6Lh9@n7@< zfw`MaF1N~-<(%umWwEI$>}@47 z3VA3iE3Lwh;(~>n>4vHkeY~R}lJ=qEOj;gdGt3UVu_*1u5`$m<0Ybdh*h5zYg&s^7 zfZMr&s345?9;nBTafYs_-3N(A->P<MBt%k(6`n-XS*P z21)KFU{!4b%e2A!%3;fE_x!a@6KtL?j5Tm}75UG*uFz!j;An*Fww;;i*PKx3O#BJq zMOEr(S-8_KGfQY@16;7xGl$RRAE;9Jz8a|88LZfd=>3*q#1gUMp&)9~jyF1zDY6)D zi@vSEZq%5YLMe**m8)s4#w?)7XxUx8lIOn{^y0qD??L37)&|Bv~5a}0ETSOLG&|f`BTrKN~B3n0>KwSJSTW{_ak|~ zFQteK;MzslEnc@1u~Wv|&@DBOfv7;pAkucu2{2!5lspZi)gXlUFo*utaN5#%B}6Cp z+ZxVA(ScU>ex_Dfyt;1L25#}R_xJiFoS3m965WNx&Sk29;mSsyUc59p%S$NtgXzFF z3qe_AHtoyTmlBg2qlXDs@{(=Nqzo^6Gd{B>Udt0@qVW=swz6@@e_g~#4-6d3-~%?H zI&3<(=I02ES(KKNF%&^mypC9 z7+uy>SW-nsL;7cHl51)tkBMcDkm&2)z*NXIYhUZc;#5;JqE%l(Znb zn`nB?-^6}cFNNLs_sBntjVUGts55aG<80Km$E16vF-k8GI$6c+?oqC6nvtJ+El1c9 zcWQm`4hH3|wqBmeDK4Vn-S)(nvbDB+BcaLm2;SAcDkUH|JN#5h5gPK+DCH1ssAI0P zg+zVn;?n+0?nx0NvQ#SYsx-ayWbEGvRT!=I&WSHD1^Uerq4?{YOE$s78oLCz9KnP4 z1Ud#rO-LFOl_$Y@(vu_@*;;HxMUlC%S!(jVc2%z&DzaW$l2y<3Z$+?GM4E;RX`GwK z3u`Ok#kh-FbmjBdBxbbdej;x8q=C^sY2KinLjlu2OruH!gu%H=;g~wW?Q^6Z$}mLm zwM%7H{!pQu>CMsaw--;f*Q*Usgcj%oSAT3z112+ecdK}o_XxlD2Zdz?|5YK z(Gd9;8Q&Gm(Gr;=ic{RAS3F~CifLwsb1*!-`aV1M|6X9J!3UozuJB#q`R3P2x%{F0 zuDEVu@-rSo&(JWcbN=c13q5}xnl#6baYxG~o=Q5CL#jMIZ7orMwKh`g@%D742#;Q1yc<%76D1;0#p(rM&Pd+$DoTy|jc?Jqx?|-Nq@S zr?B6IJ(}J028+XTVsCV|@o%@*r-6I#fT;X?Vp9R?Me6=7(cZ#Uzb z7|pl{xTtdhDoU+$+z_w+gse3VP*z1!lCg!;MUwB$-~SN)(RQ1Vy7WyA^&cD#1E<6C z{8rZFR2RTFIZqH3QKvmkPO5<;@WO-jHk1UkUcH457}{1ooSF$!@?jGvwu0m>aKnP_1wv)!BcvsrtG(wi^?0?cFmvXi41t4!vP|p0%M#1=Fn=u!!td(0w`;EXWWM;ImHJnF9 zcw0p2NijZ6O|F+wa&35`YD=;E)3jGx59t1%!V$lXYzHUm8j=u|D9CeqjGw=Vqn7QC zt?ok_erKn&v(oh21;((93mzWqQ3;1-V<_Ly`n`=M(9L}dq3_F1FG!kN4 z_r0Rhk0mozV#IhHKWqoTRGlpqLLe|wuvEA9s_@ipWsq}>k?J*i@(b&Y0^}=P3^WDQ zsNkrp+gPWcrkmBN4)*|XkK*9%m$? zI_SuMi15ztRc!s`yzoLR-x^e?kYFAn#$CZn73qc}09xN zrH*Vv;X!2zU%c(NO_=7q@2ju4EUg3_Qz?7kZ~z+;y^$G8?=i&Dk2zvwsZ zC|wyLLKbx+mEmOYQhN_g0r#@=vz?2gtiwLF|H`1t?G&SkN~_5?>BSwX*GUTH@WZ8~ z`desZc%okvq_AeRM)`amzrJ*rWWx6N0!uz~lvA0t$HcCQ4sVg7qfVrWzGfY1LIM=L zE>C5l&QU{dSwK%C#`#d=1rtPtLKL-EVH*to+7C>At4b%1Mvo5tJlMORD``yzyyS9k z_7qqkNB(1 zz+6T6Peb4G9fLy^3z!EaD_V8WHx<8L4>wgOpg0XC2&e=-KJqjOy!l!9$4Xv@#;ja2 zMJEas*}oZ=gKvqGJoC$UMG>|XdBqfs=%L0YH(N#HLn#pf4(xOu!;v<52E>&@4GFt@ zer4}Gsx?^bEtw<~hQc+NmPtHjCz$tG;hsdRhBIG!9F6uKw!Du3c9Gz~CT&j(se6&z$*{54Fl;6eaIHZ2U_dQWRgweh8u zz*L;+Z}MODqF$D(ezXSV!RX*h;bw*ZrIm@XW891u2e+CBHEIIWm?@pirN(BFkMog`pd zif7wH$Iig1niu#cz@??5C;UZ9`QR^$Lf%^Xn~FEVHJg`%_xdAU?P{h zH*!5{kxAK#q6MijDms?v!lGT>elT*%rqu2s>l1apn35sEmit6+;XPB~y-84|!+M!M z<=NAR67#U^ifF*XFaAS}spk8fVLSt|hUI6&p{3f9>wd!Hezvk+`;5{M+L7&$KMY+W zCYFai)>%B(iu_z^2}55P8}v){@E?J#TkX&H!M#si^>IF3^@gX9XRW|EZEoy6@Ztw0i&E79b=n7 zo!?Y~Yoh*}wc|qpmP*o|;m3`}oZ5`=B`YiRDfua7&0I#rOc|bD8JB*ZW*p#CS8VQ5 z-cJnH26>o2R+X3yXcv2$teyepiT!Xt(lgjuYG>iGB_A^k^S~N3bwb{I^&_anlKUXnm$4w*p zQj=-_jX{*H4n}*XxCl1H7OB|Me;k-=h^Q?L3nw(BLBdpJ+ceUc0B#_{4V~>iDr6#Z z1T!&2p>v1zCXg)}9qA*OCap%co5k3+hPB%^p`&&>(YNs;AGCFh3{IPfk9_V(v!USS z*7gjCZje8eW8Nai{r4Fx} z%x;J;idJF@5*X!`fG_1&yiFZnwKx(r>|xbv|D=092WbY@L=;O##0%|GROzDGaE9$I zoZT<_yyo6L;|;T;$;CSid2JkGSNj(NgZAs5QY2;iZ}sJC3eaN4vA4dw2S@Kr#m$$c z^IUg0>YrQ2FV%C7u3`fIhk9a9HRMJvhvjwiYbW7H9tSOeC%InwdC-;L)g8Wp>m@>) z&x|*$Df~$7L9J+v|kvjw4L`ocr06&R-Gno>$?opvm-Nm-UXNE z+*QplTR!Olp(*ixi-f>^gizM)p*(x@_nGT;%ZJ;upNj!{v3f;TDno-l3873%y0BZ@ln!W0oey)K_H4%8h-06nfY?te^nI)7iY z{u%N#sc76FsPgMP`Mi4gHZE`yT684BGQTUHnR71kwul#{B&S6kIy9M0T$6v>5_AaJ zpSNrvnG(2yC}n?^c&)Jg*j}XVWcl@m`^Ck+ zB&WwLG}`IYmFQD~ze7#zrTTS0?R3jV-^0_UAR;)OyOUV?!CKe*#L>}fcKz~ci23O3 z%iZCLC;5}=45?}U#3XQ?S+(RqB5+As`~ci5gFj5U^FZ#bW_31sEFTFHB@=c` zte<)rN|FVt9InAp;(G5@Z$A!c)X$lCS#MB|$$v%n{^P#P6*m)6#4oIfWyT=>CTGfW zQGdL$V8no9orH7mMYJVO^nM5Km1>W?*`vO4_zdO+K{6>mBddu`0!eh}*2h5PMOcqU znCI=-CVU(4H=ub7D0n(MsewN9H7(Hze2({dAp9xehzT?OBrg>$tyX?VRW*JO8X4FHfxe=ZE zC1~_uWh1BYfv~_od#uB^^~_S{;HtChYSG62Y-~D5)O3^@IKLPWA(zk|$H*eTFhss&b>Zrc^N*#a_ZD#oJpjQ-KP{3&`$H5X)JxKMM zU)$=Rn|wnOghaB|wZXV}o$=J-qNV&9@f1_-#%5Q!-=(wWB!5e1A&4kv`^AkA2(~x0 zF(p(*&7i0gl%k&l0C^qgL0R-?uVWE1zm<{c z<>tTO>GI+v5_LZ7tY#U#f<)-R-gCiakasxUd1L9R@p_IOdd!ukyvm|ip6&NH#whfL z*ug=}tLIHyo3)AEI{D-694j!*cQxl(%<(k-zUvagEYQC9kFx zyW3o3{l`}Rsq0?(m$~D^;e!ATS<<=$&hf4BEa`+i)g)qnk`N3Z=K;nkd` z;*SYR!jHN9ep~cUF2LMq7tU$8uiX=Ue1lY#&K+|v2J!XZ%FlnpP1XV7&0^0vvpd8^ z>+NF$uM6SLS&zZ~{T#QIr@PIHOQwPcVArtZ8^ix%Q=k_3P)``>Ir?i+9iM5evdD<11Qz!KvnaEfu{}lr`_bw zk7wI#X*^!bLQ8wRy$jX@{|jN-g+%Idk9IY$^wJruaRjXRioRL#6K_~;=@Kows8(2w zE_F+I$)MKiIOOo}@ssTcs%R&>Z!aMv#MQDiefm6b!Mev}Fc})XyS+QNk-xfmGhV;7 zWNI(bP76G$IghNt@&qu~=m_83-nQSP`s(4|P4x~&ckAC! z`d%lX4GRg39&h%`jjm@4wHL2bWyoKy+;1WH+#rrLtsl*cJgs^LTue-m4L?WUyb-ad zJKy7)-i+EL0$>`O)lHKIN&Vsdw4zCN#rpsNLGJA3`Xfcp$U z1MhBq2A4VS5B4`2-)v8DW1DQDYH`0SCebUcC-}0cipFV5+AEOd#7(+j!;CSK8dFPK zLou_2Nq7@81u7hIltp3Fe&zm>ee94;!YBUqvWYPH7ce8-IAw>W_>dJ>7F z=@Cq&;-Ti~-zG_53D97=6kr_I(n$kS)yUvlyuXclHFJctV$bUvS9p_l*QY#G-v7wL zHQy0zFI_=@?c@V%W}fn{c}^>(je$ZT3fcV%Au)`D$4T`|GF%S547uFa98s0Dj^N z!ryddMB+wWRi7MLZ;0*-iGt+o38LPL6d2MQ5s&GwI20Lk0M4`;NgOfPHM@(F_oeN| zeX$>;n$kmb`~<=K$Nz5GdCoT5+M^ewW^*)0Gou{Lp>JTyo*($XBdQ9w|-ySuw2 zmqtJk=@KLrX$9$4x{>bgZV-6)c<+0^GG92m&oeVS@%uO1UZ|$vAIPL29?es z7o9xXt<`oIevO}g=-=*t#Uh^=zR92-CQiJrufiD=L9+*Bn1xGnd8+om6%1*2cvQhxP|ec~?Bm_f@?mi0U}N!REEQ|okW@MxMX+huRw z7(>oet*x1{QSZba_-mrF=s<_6rQ9}0 zw~e&|Klp>H-q#VL^$Ropu1or}EDmu$epk>#iytL+3X!Ht67+&x*2eyA*K%k-+ehZZ zaZVMvAKKJpJDHJL8%0%huB*Hq#E5SH&H`w(SEbX$NfuD_ze_Q){DClwYhN^N7avUd zE>#n|t=8aTd+PG0X43(=5pi^|Oi8ZSw;foeMHM#ZBj9jR_S|L7)eP3r)&D6bfY54N z)Gxhcfy5C+qUL|j1nF*RE+iCHQyRf;13l(HHQH!BZq$SC9!Ddj!QId|GIgE-)%8*;P>$z;lhT1~~NAkOs`9 z5bMXZ1*E2x-pLE$p9hWbekH6L4nMP}5qxk$c9s1chR_aq=jrj|H{&anbF35@>2>ed zw#YaHn%}H%4qoid;6^WHLaH+O3I$`wD!2mgia(a!Zf8F0g_H-Fkl}g#@3O)1c1rAcZ*rjhS}IL)Zq2bL>p6Suk{8>PhC$g+ z_78=&&Mbpr$#gm2_e%I(NN?uN=GINNoN{xufOktyGy@DGbvt;H-8dO_hTflktU&l} zqP-mrmV#?n6>{3d-J&L3k8^`2-Rqca!Gf9uno z^?BwlC)F(pwDEA#lrf<_H+qlA{+>awc`5#-tzLdeB^=A1bT_b&TFSlDQ^k zRy+SGqC+_xUP(w%VeFCYj`8NA8i6u1lgcF5iCTg2=Md?6E`BAN<;f8PGoE>ZXXFN!?T zrUEyzMs&6GdseU}Lo67@(O8DslLY&_>*oya^_CT|vf=OMqZ2;^dY^ve*{ z2Uc&}UcUSs{e>zRO?M8nNT+jrop1Fa&vlV)YxQ+Snp0dwLPEGJ#XN~Zt=TrJ|H zv;Bav(-<8V5KQ&br1}vZQ|q*b-axpG8NESj$>Lt-IQGMcBGMEiQM7EGdjwhr2W`Wg z25Q}!jg90^2XC!0UTb?{F!t9l#6wWo`)@HAi{)9P+;UeAP0ZFE&rM~gOOw%9b2SjUp9UY_Ls~rFw{WU4cmU}iQTU$!1n^;njUds(n zMKMP{MUXRT-p;xH6Fcda2_W4s24_uAszaK^#{AEwZm?0{EYG7BE{inuHRlsOKV)l? zLumYQp=mzq53xcMo)`n@fkA0d4G2Q2qQp=`yaT zwog<*KzEIs1pbi9jQO+&gmFX*DPbXetX;d&!Pgp*gx!**y}EBT zdD1W^<4)L>uHJlhP@QSzag0j{6{@V4Bc|($D&LN^eQDl4?1dg-CyNJ2jNg)Q#dXPZ zqAV-2AvXIIz4hfk*GCqt^`br3KXb7~NZf&&CoAP&mPgtEinGRPHA<_Z>x-Xw3Uxn6 zJU=F`U*mLBDv3yYn?9aN@MK{dOBMq4@PeAVnC+2}ESN8!qmR`k5@3t%N$>qb2dohe zDNZ_WxpmF|(vxB;j@K_Yaxphc<3{DEir0sOA3#Vm;ly1z+=N zZoj!-9(e4G*PsgDccz|h!g51~Rz{TLWSnid=n zpb8=RnizjzZ#;3SPyGIpyPJ%MjMIQeGO@XjbP{9JEu9d%6Xtsqna6(-c}!ye%4}Xr z2#l1TXbO{@`v5p%^13^rwMnm9OD~DSpV1}|7a1W4;JKCLoHNq&fNW`bNoqm%pZi*v zZH65sDXST@=R&_E$@$c>2(rgvyZB^!8P3bi2TzuaR$W5cD=)3IVEghAqPr%u51WxhpnZu#)pXI`1*r zgdv!#$7P)7&NdcEjQ(6%^Iymk#dKjy5HXgh@-msMApnze3osqV0|1`j;=wnT+uk&T z9BkEVv}^ES#>QxL_g>^tlJp)k8PQ=<68B>Q;ydJUhHJW(r?`deT++kS;%%UWj;Ib- zrzXu3?2>&0NKVrCHLccit9F#^|W? z_o+!+EKk$imd~Hu_EBWEnQRkNU)_`mdS|mr1&&CZasc?Yf!2Xh+&J#g>K4T{bW(U( zrn>XM#+A4++nyg(3G{7tW@_7v4^$Q=!y*6rEo34TS@YbP+_h|)fUD^y|JPF!@sM~pp8JPmWJpdmaNZjy2OU=avWbjPx* z`VFML4>R|s?3ZRzuxtFVJ%Wx&U3(tz)K<47HX)h0%ogX;v;LIi%Z~Id@J)4;f)XoIVtvyTtV3< zE(V7TMgtG@NTvHQ5r`75P?7pSFdYCa>86$uTiz-n()=RR#~)8F64t}dO`#9u)I3$2 zz~-gUgUIYMgm92niF>PJ)0lRq{`k2=ELkLLWylnyX6+JB8R^2UZ8J!LL#GDriX`DM z9=OjcBV;qsHwm1p?p!c-H|xl>U~Dji;2-0G17zw^a@7SCe@gvR+b8l4LVyc^nD&nq zkKp%;^M?t5LI3-Seuy(xTYb<*MmChRx%uEmmhXt4KU^p)3{esqcbhp&N`9b+hnQ=g zZ;BqUsk23Kk4YCE4L^$I5fI$S%u~tC0`J55|H%VGyYQlGQKN$2nz39Y&{yJT1PaO~ z%a!5@ffcw!?siO`fcLoIi!h;=Dh<6|d0$e|n@7Wfki1rKVmAC15Fepb$bf9=^$@A@(^a1q@@%OPjQL%YZ|^ZawGT%C zbL(){bam$Q$l(idff#qGekk@RCQ@T`+pOx$vEkDWJV&39l;A7JaU`Gmy53^C=BrpoG7!9OGw_;&-%X#Rc=* zw?9<4p=plQq59b5^qUJBY?3D>kgM+N7D zDt3ci3LU-tpbY1r|C$c>Q^fc2xp?nGlgy&Rcy5?YftW3&NpK^LxRg7vYLqo z5=vHu>7S4zXtqMK!I_vzEvpI+7SDdiDawytse0ILftb!z+KeL{2|00?Y;7yTu;MB0)hU(?WpFqkDR#AfzPLSQP-a8O! zFd<~Nt8fIx0y4qFNec39K%KS$(+;shQZAgOM9w&LjEu)5U>T|2pD*jIkF0~*)~P_8 zl|lJrQEJgSs`@Q5rum8(&T7T@FFUhos>(?5$d}icz;Am;LB_)6`qhJvHE?44Y&m5N6^AA{I3&v_i!*$ow2hiqLQWi* z>^)|bgH;oI-9qawN#ky?jz6oYi)r zS8iMw|3|kq#g59j%E zv@xotX93b4`yxB#rLkHr(M2hKtN$iK84MQEfDeo6;5U`)wjWoVa*?K0jy&9IRCfuE zCJfU9Z7L*9mKm0X>LNNWQQso`;3Gze;S}6TC2+f$Fnq~Z!_A<|WmRqn1-2Mo@QWNi&w6T1Nmy z=2p?VA1W8l&|Jr=!hUJ{`zo*HGLQM48v4MIbky6!w|si73xMlz8fL>vrhq@yKD&$F z_KP8`Wjvkvzlndn0qe`ET}x87QwRKmC4xT+xIS~=uAD<(L@lZ!^Q>$f}%7i&zV?wK8Jpz*RAcp zY$xeXH18C70kKKldL!trP9?_-@r`s@3_aAGlV0?YEe#>hg7C{#jpTO#W-JW5$EiV$ zNrDLfe8}i+Na{b$-&g2@T7UVtSWZT?mh<5i;-*rSEzinS)^ipt!U6G;IKp=fdy={V z6d4sPj-e;RLDH!vA4l2C>flr+P0`rVO3((@NX=Jph}X!ay3EDZIP8WWl8wd}2E!oo z^h3mmZsvPO7!+Xw1_0<1^lR=}?V0E*y_Ojcr|ic>Y8g4T4#@{f`qzie{$z-E$GkAk z@Im{9PVtx&e$P`dDHC`lYi{Zw)&D_|n#XY;Tj9iTRPufBtNxN1NQ0LA>-(Up!eY3C z|EJqO3CmI4(+-T$!mK{mPK<0DQL&u_W8J$Ae7A~|0}OqHf=FaY>W&R7zZmD0?JyI5 z-NR6k;#|g5C|D)Vk;1Y&ag*53f7zIkJc}JcFP4t+OxGr*`fb!3buMxqXMAz(F3!z0 zp>vL6il9_O-b$61w4qkkn{68w3t!LV87{d`SdiVHt^Dlw4N3^?&2H5GVx;={`-v}$ zKm=iHbpSB>`8wX*7&%f%|fT?8l$u;AAy>n%d*p<6!sk1w$2 z(O4IJS?tAyh~LTXd82K{NF>**yHD~Oy({Wm@JiD_ZBGCN)%rXcnOSnSZ&Id;BX_7h z{vJa`uSKk}TF_Hj&0OYQo3TAl^yi03W%nb%lwPc2j3*~MF>EK#jq^o#i-}n-2J3W9 zHJGBNebp5tZ9^!rTlleh|Mgye3|VJX0Qps|1zk~0k2Q7)B#~Z7I)8v^@^r*G0HIy& zJBRnxhyZn~{^}8tkN|++yj)~UJT~1Dz^aYI!5+4AFczIW{|P4)HtqsmokD+xfK;;s zaH{a`k1XSxw3wHdwN-BiWhOT%^Om@t>QF4$dLy-A_iK2zM!H zcboI9s%oydkZ(6a46-l&9b_*g9U4QgK6f>>Y_FVv(q9xwWS{2ihoBO%?60)i{kxiB zbZq3vjH-9^d!lZl;T}ald+M}|p8-OPV}b)Pgr3qBp=ZOO%->7F{w4JgZr|;G!}wuC zTn2>K+=FngIvn7-bNotpry!9ESAmT4o9ze#fsrwQ%cy-m}Mb zRM;&kW)t1dbM`L!+xr{%>KMfg+X11GeUaqADJkKhqFW6E=E3~pbv`c{FJ&bmE8wU$ zt11 zTwePwt|7SOE(l5}@o3k}(8?9eK%Hl$BO|9|=3=oiKjMf+MO7vA+8YO)Vkb|z^y~9- zmC%6ItRNUhgTuRCKI1uv9U2w}_DVtRK~`r_i(|5s^r5vAhGhX|*3Q{MUJ=M4vVlzv zPFb;+0gI3~q4jk3g4x@9gdCv`B0OMF80jx8zD5kzw4()!b5> zia=(6{AfUK*CYTcQs?u=IMzQR3rYTuYmZ^L#I2zF^mi2}a~%OdzXfth?vATN)^TPK zY3~XiJ)69~Lkm4*2~8u-T+X@VBx}6AulE??XLI&pAyoHDbkDQg8`~)-0em#d-cfc7 zqMMIW(r%?hf=@l(y-mr|DNc39j6O7?atyqYJ+lbf!VU!o3(E^Y6}dZ*8)2OBSn+sU z0YlZaF9iI~2dFMU9+8vF9c-W9_-=NpOWYIoi#HkAwuyrp>uE_a^OqIeYO8sn3Fk;d z(0P}4F00Zb%O>PPY??y&@&>ciNFW#5j?YJsV0zU_y7jw-LSC+NJ)H-?1?IgP*^17Q zcFVej!ddwVWY%e{*~Xg9*)6z{ZYIZ2o&hI#5qLv(7|?%07~$BS)>syIuW!cXJRg0K zIk+}|mO2a-xc8E*te|Am!gLgs7wm=zYVcRnJEM4ftEE|>o8!}?%WZ^iBgeh{QKGMy z1a6a-{JsZSIUwcc`G7wN#h{qm1lcD}aGU1u#fV_{t_C6LM%xDyu76}cFpHa?3>6qu ziR72j;~ygWLZR8_#^hW7*8lKP$E3RZm-u~N{Wmq<*R2{4Jq>0&hnb&avipAE{J$)K zP+}qQuz!bDz?$Q6X?d3I!`0m=0=Ywf6-xv!ptcq5Ytm0!SM~ z8z*E3X98Af^O`~%ae z**jbb#&n?2g765j|K*N&o#aMR`GVjXR*Ef96RXh4zmFOCOyNGjb=9;b22(J7eiEhp z2S!%X%692MGrhuB7F89%P_`G|oN9gW{CgGD`ZL;gYFGO5^f`V~wRXPFTJy_A5aLa- z>M)KeCACb>#$|b3K12g`*xV{IK9k?HwGlaxeO*6AOUE(ut6GNLcsW5ZtH zCMG&?L@fV$QUu<7DcPPGtmAz6^sZ|b_ws|j!N7XKC{!fb zBQT9Cm`W=suT*qA3UWFgh?|y?LAt{gw%~FQZ2SKC?dW@>lW1)N_d&iDkCkzliWLas zlNR2z{rr(AuKuXy4iZZC_wcQ=d^M76r5GvIC_1*{F`==rnE;&1rIRXzviMv*Ur8@X zY;Rzl@<){6a_?!Ki!hPt@~uClh@AVIgtquJ(=2v8u#;o(KGFNUSsr9y-69D0dC@Zd z3Vu;=*E%;OWWxf3n*`H*+x|IkWC(>CWjNyJOvZiZXhf73B)y;bYGp>eqpRIrVia{2DaWkkchf~>bF{zJYt~G^n zDhft`AK;M30|!W>2mnD+k8K0N4(b)l@4=;aQBGv?4hRf20P3-Qj!b7|t7tj}iDrv|cL$wZph#{bjG1=dh9drC ze)D*=_gM~R)sbt3d=l)tlRq`%9E_Me?LvoJ81uw}vw5KKjL4*0j-E&thpn{wE|5Xk zMO5DqvTA2y5cBPY0&=wzV^4GHhObYh@y2-(?IJB9(QY*}8tJ+M=^15kssR{g=&^X2 zWzWBRAVlD~7E?-??C@bq*YOe_XpvjEtS*OIkyX1)CcbqK3=2IMnbv|L-2lwuqK5u` z=#xJ*BA%-^e#)mwS1_Y|24;{!K^e9r1-x~ta0@~0jYlnwPREb;z~d72J)_u;tTOsI zcr_m}$CsBtJVVZcSqytpjIst+3OhqWKb?huGNv1cm@Xo?igLj_;p8Tvu%fu!UP*CX57PTThcK_CXNmD@soSScAsi=XYpdbjx&Q%_ZmW(I(_&O{+4j zTjaRVl>CxGjEKi~dzq}+)13=c_d}(5*hV5Lb!hbjDwHiq8eg6dPmT8Q&TWP^1M*Ya zN9{VYhVpda1aP^7V1-@_8Lr|lo7ZcXoX%ffQJ~Ik;|mO_vH+|UkFN#NzR?Z*LH+EI zMLrARr(R9zOwxE>LyH8|l4mrB&P{U%Q65NwwJeHzc7~^dO6^!CsWHhB5_TDzK_J=! zaVQw&bAWXKl@?JgrG-+8L^qg+>DMnrV3`H&L!zR5E zb_Ycg@69wzqgtNfD&wCPvT*c0q4a;DAnt;`ikM`Y@C^quEs}r*k2AFN-LHZVtZBO6 zJEgCs1U)QDC%M+upZjS~JW;{EiP7;&{{h6nSth~|p=9A&dJpe}q^xt--V3CX2u|T}H#2jek$6y3#_LuX2-+=#Hn`6UD7FI77mGA1U~I2Ya5~A2GB%^MLOOFQGU5jANJo|0--Q4Z}_;Q43M#HzzAf2 zQ@0I`XdiyDMKzgci7U);o=HpsxD|O7SYcY2ap!ZI^Iy!CY5(}V4Hml1AWeJ!q7!!{ zrbEigpXI9XLF?uVV7D(B+%j@jUB%la-%p%LgI@>jZTCp`Vy_iN@->gy*H9%Qh?P}X zpvA2otH7(I0QJ1E#t0XVhzYSBFTYMHFWIYR4jM)T_7-RHUA-hnJ{?h|kE(Ff@X(VM z#|DR|EQAm1)~ID9a@>c6P$)e{#138GS3meI-5Gsa0x={2|8-|@JfhVRc*Az`D;3*j zO;B^dq||m0jQn@wN+OEyeL!v!gzlDn>ADNV^%7yOfRrS{zaH42!);LuW$(?VQO<;e z)g>O~dj_!~r)OldFTXH<|6$g+rk?6_j_UrRE7@?%ehtxj*i22t8Lu){k&g?QK0k2Po!p zbhDL%gU~74yV-o$uxE7LK@6F1zFv(a+JvtzG0N8+sY+SdC6(+68+KeE40;--)h>gLIMQ`?pIlX23ReD9VFUvT56Sw8qd zgOOMssu!~h=U#|4iliqWT`GJkGk^b2ZsQG8+~4;*VfQ6w!# z>JlpUOpGEX$A6q(TU6-aj{X+U^9d`MstI!nub*-`_LI?;0YcC5*EJGLPQkg3mtrVs zZE&tD&!)D1{b{sIM<92B&sV0ve(KyA=3YAVi_G7ZxjA7Gfx0r=hdX2~{uQ?hRQgDJ zf4MNP1mvcViG203V3c9`5jzDYd5XNgCPZ`t0#W94?Ejl9!sz+_UKKw2n=^O zo{zwe5+gY3tQNEj72B`uL@@d582Eowlg$VO&!9(yoG=Poy0qdH{+U*q-{{OvC@nR?<(MqtfpbSHITH9OpiqnauF`_USSR~{J^N9YxvnPw1Jckl}sdY}C>^|nV;3?{Lc zS?<7)5185d|7B3a+??K4&g1?4<&yWoY|Yro?=;qMPJGtPj~~ea$&K%sy3~5xRt>gS z_)}ZS4FMG1bO%(SXFq?9aw)$1C~+EmdEPG(ICIp~s+jB%s8e7oqTxC0@MjlLsIp;S z>S=DD_(*@~2(3m|poK*4gb~Ns?w|qYe0kpxToyQ%^;mpR&%5G%MwBU1~6Y+HR=TJV}XIPSzjf$bVOiq7~_W$+H5a-&wB8v}~)K4g!W z%uE^T&xs@LKk!JpU$PziwvOZE8WSSO;4%M|+|xdRoLi(Kk>SRG$m+o!dzjRG#Jh1n zZ68c<^RB4TnT(o6DYK_qvQ@I)hb4F13>RmnwcIil%-X+7{)!G#gs|BjnEfdoHxAB& zzQ(K;J#IpY%dF$c$zPQY@&|a+(3{DBwz;QvgL-P7mP+_NS09!#DNhp=8Z2}Shlw^# zk6pnpF8y+lw0sq|1H(19yC(c~KmKD4pWZnnZBAzuyl_&eh`qeCY=|{?gVP?a%lN9v zr#qvz7|}cVh6LOj&Q_>Jo#i6+Fjt>t-i*e@at@OAxj_sz835WNR2UmswgtLH1wwTz z6poDXdE@Y`9rHiA`;5rG5!&#K*&tT@I4D?xUCCf*j)r)i?VG#WezrAZrI$(vz0Q*Fqd--t<_-*MyAAB@F1Sifk$9aFJ_$Ma?hN{Msk#K}naBcgVJ_ zOULwk8^h*JO{Kr8uY@^T^K_?)gTt_?3g%|ws{e%dR74-xmwD@U$x`EO*#Zq56oym0 zQ@DR(LtEoWe6dV$Sy4J_&JOXtd!_fZ?1*QPkB9}BIE~%Sz)0Naml$zWcw|G%`&T6q zlwliSteoz67fgT_M-pnDXKnX(TulFpJFaDvpRBq^{YOap8zEfY4ZbvX3v)X8rX0)% z+pn>_7c3BM?Wel*{9=KgdW?wultJ}N&PtHUb-qMMCbs}d$c7Q`w!X)W=eD5{ScC)& z(u>L|`Ufy(5Fo<+jXxmlh}*gbT=GGJP@)L3pakJ;&SI{jzLP+huYv#t_ zVJqt4C?0a_4}MzY9D}dtV~p z^<}@j5S+v7!kek5b?fxlL#D(-b88W?N0q8M`r9@W-d~1jNf-|_t&~tf=fgjAHa6h6CiylIY-`-z~jRcJt_aemL~cG zw`#Ob;{VqLGQ6lu9(jWoP|}=pUm8>%ks1g?vKeMSMJ{BtG1G+>;aAgaa##NSpn>@W zyH6nnj4p?^jGbh*3?q6iu5SxWgrQgbu7BvwsN!@#HTLOJkP33UC~$wgg>!G#z6Gcf z;|^))OG^zk^BTLV(!f;p&#Cbi@9PIs+tx^!PG$u@aZw$mKGN| zcfu5cUQA<9?U$(oNqrSm&`QTXhit~rT z9KmjWQV}m@v0{v^cnHr%u7tZ4TN$)l5-Nm~+{EJK{G-eAr&}yU^s{Yni;CC%pgFa4 zzreGfA+nsf;4`m94fMM6#s`~B>C*Wny=-5~=E&igBg0k1jqde!{eYGWb)L&7RWl+# z+wM&g89aPH+cYbfEXcYae;!HytyjEleIZ)xwlE>S#|ad!6P$WR%O70NG)|hf8wpU4X!t!51lN2)?bd@r|cy@jPuEqS)a0W303(~>yY zmpru!@zs?qC@G6D(l^JF71SX+vt8Ob;DKTuaM$SoX0L1B*O4`6@jta(me|USX4=gX zh5}^_%M!D{;Q3`hsx7RVJ+(V&Q2s(!EXkKx8;9=LiWRy3l}mD=?VG75@Z1gVHUi@QM?2#2M6!QbvLd-6b9B zX@SmGBl%qZ8*O9LBvQF;o$yea+^sZ_w!mh!XidI;uJlN-bsFsHbbP^=%G5OhbvKW$ z%1x?|$BTT1KfT2B&m+~UL6s4U9MvN~6;BT?9Gd(|6W36nJ?iipez;7h-7&;yNO^Y9 zyE%dxqN@Jk;%iz+6>xVhPbdAWUAM*n7yXo;Y2TRbVCiM6Cxnd$Z%kzx;7P;sUE~b% zfJDIGUXbm61Bd$QqU~a)#2fz<2duB@abs*$<=uMBP7Q4Jm>qw@8OV%XJ#l!Re4cDx zP8KOpGPNDm73XmEa~E;IF*=O9=$m!$zwO&RBZq}|w^~Wq{G?b0CaL^Gpy)MeC^Fkz z$F($C-lnv)F@q@;K%~?7V9KSQWQ`e=>lRS_@KZ)yo{VJ8$wjDOH}a^@1WDIKLSGRp1GU+}^9_!%r@)HfO@E1~E-eu3cG@-^xJ+5ch6LGYihq zDC88)5c=)k>(h1X5x~3?_=2@^ZZS(cf*oTVc}Loso2F?m!=XF|q zXLfz`Bo-BgyM(^T>wV)81n-jQb)7+M$76=J4}W7thX z!oSSoA!q_Pv8+$oUo}W4(Iis_|HGInvr~P}h;3gh$xm6nXIsW~xjx}oZ_XKs#yB$A zTRwfUK_Vu%=sYc)>#WY${*Bos`emg-f99U>V6tnyA7kaf3(7z9PZ7}+!@mDo-p7$z zw0awe`)Yft<^vd{&|cmnXVlCP(7e;lLuBnn0N$a*=?wRg4LG_;`C%Rve%|vWNq4;A zSRH&3PiY(c!mMvd&|f1TfMQ$CeiEWGddhx!)#+kX=JW7auS&*@udehNsVhP5%@hM_)y@3tZ%UMSOSlD^qr3Vvf6a>s0wnc1P(jbD*s77J$X`f|?}VyW zne~|(9<;DsaHVzA+Qu=HfybQY$Dpaqy0PvPcMr!5MYJ?CUml18S3vM|&<^7ZR7!+k zxTmjE!mu70Zct8XRxr@w!`}oi6ozBBSB4>>@|jTotVWjnzSBiOUfCXI<`S^wZKNo| zL$)*FcT^K_;78RunJkk(YQszR(K?%lE-c8mLDS+D1YhD=)2Fh$eqh2-DKzF)_&#wN zJjELcjLqj^aGY*!{GGX3GbySD2W?|7t$i$@Xx|M>Cb}}xq&w{I9tdW&q<M2qrfh_@K@W4|slb>k86&pvM_P0Fa>USN6$E5K zwP04B?OIi7q4ytiE~FJ+ViMIq=ee!_$bQF%MB>kDlX#C#nhiWbm{%W>DLcwKpVi7B z3B0J)K(aa}5}wEr_Gals6++%Q9Pf`sIM20aOwAzcz? zcuQz(^q;{>6=o<@gBjo!!#VylxS7HXRc0`Q7>ixfe}+I;n4#GXW;i7(()`a59Sk${ zhQJJ3@)`g2M`}|(zzh=!FoU^4P#_!}lDh0m360vkT$o`c50M&?wuV`A91ac+0y7}O XC01=BDlk^V{sJc}t@N^7(j?@6@=Yv^