From 0774b02878cf94ef1fdbc6ea4b41edfe768d3bae Mon Sep 17 00:00:00 2001 From: ajnart Date: Tue, 11 Aug 2026 22:53:49 +0200 Subject: [PATCH] Harden Homarr provider limits --- apps/docs/docs/management/assistant.mdx | 328 +++--------------- apps/docs/docs/workshop/homarr-provider.mdx | 84 ++--- apps/docs/docs/workshop/index.mdx | 96 ++--- .../static/img/assistant/configuration.png | Bin 0 -> 143975 bytes .../static/img/assistant/conversation.png | Bin 0 -> 33105 bytes .../static/img/assistant/homarr-provider.png | Bin 0 -> 102216 bytes .../chat/assistant-execution-policy.spec.ts | 2 +- .../chat/assistant-execution-policy.ts | 2 +- .../src/app/api/assistant/chat/route.ts | 13 +- apps/workshop/homarr_provider.go | 121 +++++-- apps/workshop/homarr_provider_test.go | 93 ++++- apps/workshop/tests/openrouter-mock.mjs | 23 ++ apps/workshop/tests/workshop.integration.mjs | 59 +++- e2e/assistant-docs-screenshots.spec.ts | 101 ++++++ 14 files changed, 463 insertions(+), 459 deletions(-) create mode 100644 apps/docs/static/img/assistant/configuration.png create mode 100644 apps/docs/static/img/assistant/conversation.png create mode 100644 apps/docs/static/img/assistant/homarr-provider.png create mode 100644 e2e/assistant-docs-screenshots.spec.ts diff --git a/apps/docs/docs/management/assistant.mdx b/apps/docs/docs/management/assistant.mdx index 9d544fe60..eda61c6d7 100644 --- a/apps/docs/docs/management/assistant.mdx +++ b/apps/docs/docs/management/assistant.mdx @@ -1,312 +1,82 @@ --- +description: Configure and use Homarr Assistant. tags: - Assistant - AI - Administration - - Security --- # Assistant -Administrators can configure the instance-wide AI assistant from **Management → Assistant**. -It is available to signed-in users from the user menu, with `Shift + A`, and from the -`Cmd/Ctrl + K` command menu. **Ask Homarr Assistant** is always available as a local result in the default -search. Selecting it with an existing query sends that query in the background; selecting it without a -query turns the command-menu search field into a prompt composer. Press -`Enter` to send the prompt in the background without opening the conversation. The search field receives -focus whenever the command menu opens, including when it is opened by an assistant tool. Sending from the -command menu preserves any draft in the expanded conversation. The local result is temporarily disabled while -the assistant is responding or waiting for an approval. +Homarr Assistant can answer questions about your Homarr instance and use Homarr tools on your behalf. It follows the +permissions of the signed-in user and asks for approval before it changes anything. -While a response is running, a compact activity bar appears at the bottom of the page and the user-menu -avatar shows a thinking indicator. The activity bar can be opened to follow the response. Completed -responses add an unread count to the user menu until they are opened or dismissed. The expanded -conversation has a minimize action that returns it to the activity bar without interrupting a response. -Its adjacent close action hides the panel without leaving an activity bar behind. Both window actions use -subtle buttons with an icon, tooltip, and accessible label. -The transcript follows streamed output while it is already at the bottom, including fast responses. Scrolling -up releases that follow state until **Scroll to latest** is selected or the user returns to the bottom. +![Homarr Assistant conversation with suggested prompts](/img/assistant/conversation.png) -`Shift + A` opens the compact conversation panel directly. The shortcut is ignored while typing in text -fields, selectors, and editable content. +## Open the assistant -The **Assistant** board widget embeds the same persisted conversation and full interaction surface directly -on a dashboard. By default it follows the current conversation. Widget settings can instead pin a specific -conversation; the conversation picker stays hidden until **Pinned conversation** is selected. -The Shift+A panel is non-modal: opening it focuses its composer, but it does not capture focus from the board. -Users can continue typing in an Assistant widget or interacting with other dashboard controls while the panel -is open. Every visible assistant surface keeps its own draft, attachment list, selection, and focus while sharing -the same persisted conversation. Switching conversations restores the draft that belongs to that surface and -conversation instead of copying text into another widget or the floating panel. +- Select **Assistant** in the user menu. +- Press `Shift + A` from anywhere in Homarr. +- Type a question in `Cmd/Ctrl + K`, then select **Ask Homarr Assistant**. +- Add the **Assistant** widget to a board for a permanent conversation view. -When the assistant is unavailable, its command-menu result remains visible but disabled and explains that -an administrator must configure and enable it. +You can minimize a conversation while it works. The activity bar shows its progress and the user menu shows unread +responses. -The assistant uses the assistant-ui runtime for **AI SDK v7**. Homarr tracks the newest mutually compatible -package set permitted by its supply-chain release-age policy. Persisted message rows can still report the upstream -codec name `ai-sdk/v6`; assistant-ui's current v7 adapter deliberately retains that identifier for its compatible -UI-message wire format. It does not mean the application is running AI SDK v6. +## What it can do -## Configure a model provider +- Find and update boards, apps, integrations, widgets, and dashboard settings. +- Check downloads, media, Docker containers, service health, and other connected integrations. +- Create formatted notes and Custom Widgets. +- Search the web when OpenRouter web search is enabled. +- Show tool activity, reasoning summaries, usage, time, and cost when the provider reports them. -Homarr includes presets for OpenRouter, OpenAI, Anthropic Claude, Google Gemini, xAI, Groq, Mistral AI, -DeepSeek, Together AI, Ollama, and LM Studio. Provider icons make the presets easy to identify. A custom -preset connects any other service that implements the OpenAI Chat Completions API. +Use `@` to add an app, board, integration, widget, or tool as context. Use `/` for common prompts. You can also paste or +attach images and text files when the selected model supports them. -The **Homarr provider** offers one community-funded model, DeepSeek V4 Flash Latest, without an administrator API key. -Users authorize it with their existing Community Workshop GitHub session. A compact battery beside the model selector -shows their remaining daily request allowance and the UTC reset time. See -[Homarr provider](../workshop/homarr-provider) for its -quota, privacy, live activity, and funding details. +## Configure the assistant -The management page presents setup as three compact sections: provider and endpoint, credentials, then -model and availability. A status summary at the top shows whether the connection is ready, whether a key -is protected, and which model is selected. Redundant active-state badges are omitted when the setup is ready. +Open **Management → Assistant**. -1. Choose a provider preset or **Custom endpoint**, then confirm the API base URL. It usually ends in `/v1`. -2. Add an API key if the service requires bearer authentication. Additional authentication or routing - headers are available in the collapsed advanced section. -3. Save the provider connection. -4. Refresh the model list and select a discovered model. Homarr displays the friendly model name but - stores and sends the provider's exact model ID. Context-window sizes use compact labels such as `1M`. -5. Enable the assistant and save the configuration. +![Assistant provider, credentials, and model configuration](/img/assistant/configuration.png) -The model discovery path defaults to `/models` and is appended to the API base URL. Leave it blank when -the service does not expose model discovery. A manual model ID can still be used when discovery is -disabled, unavailable, or returns no models. +1. Select a provider. +2. Check the API base URL and add an API key if required. +3. Select **Save provider connection**. +4. Refresh the model list and choose a model. +5. Enable the assistant, then select **Save assistant**. -API keys and additional header values are encrypted in the Homarr database. They are decrypted only on -the server for discovery and model requests, and they are never returned to the browser. Changing the -provider or base URL clears existing credentials. This prevents credentials for one service from being sent -to another endpoint. +Homarr includes presets for OpenRouter, OpenAI, Claude, Gemini, xAI, Groq, Mistral, DeepSeek, Together AI, Ollama, and +LM Studio. Use **Custom endpoint** for another OpenAI-compatible Chat Completions service. -When a key is already stored, the page shows its protected state instead of an ambiguous empty password -field. Removing the API key requires explicit confirmation. Save that removal before entering and saving a -different key. +The [Homarr provider](../workshop/homarr-provider) does not require an administrator API key. Each user signs in to the +Community Workshop and receives a separate daily allowance. -:::info Container networking +:::info Local model servers -For a containerized Homarr installation, `localhost` refers to the Homarr container. Use a resolvable -container name, internal DNS name, or host gateway address to reach Ollama, LM Studio, or another local -model server. +Inside a container, `localhost` means the Homarr container. Use the model server's container name, local DNS name, or +host gateway address instead. ::: -The configured endpoint must support streaming Chat Completions and structured tool calls for the full -assistant experience. Model discovery alone does not guarantee tool support, except when OpenRouter -explicitly advertises the model's `tools` capability. +## Approvals and data -OpenRouter web search is an opt-in option in the model section. It registers OpenRouter's model-callable -[`openrouter:web_search` server tool](https://openrouter.ai/docs/guides/features/server-tools/web-search) -alongside Homarr's tools, so OpenRouter performs each search without -exposing the stored credential to the browser. The model decides when live research is needed and can use the -grounded results and source links in responses or dashboard notes. Homarr limits each assistant request to -three searches with five results per search. OpenRouter charges web-search usage separately from model tokens. -Completed responses show a compact web-search activity card when OpenRouter reports search usage. OpenRouter -does not expose these server-side searches as ordinary client-executed tool calls, so Homarr shows the reported -search count and the safe title and URL from each returned `url_citation` annotation instead. Citation excerpts -stay in the provider response and are not persisted in the activity card. +Read-only tools can run automatically. Changes show an approval card with the exact action before Homarr runs it. +Normal Homarr permissions still apply. -The option is also available for custom endpoints that forward OpenRouter's server-tools request format. This -supports OpenRouter proxies, including the future Homarr Router provider. Leave it disabled for ordinary -OpenAI-compatible endpoints because the `openrouter:*` tool type is not part of the standard OpenAI API. +API keys and custom headers are encrypted in the Homarr database and are never returned to the browser. Prompts, +attachments, tool definitions, and tool results are sent to the configured model provider. Check that provider's data +policy before enabling the assistant. -The Claude preset uses Anthropic's OpenAI SDK compatibility layer. Anthropic describes that layer as -suited to testing and comparison rather than as its full native API; unsupported OpenAI fields may be -ignored. Streaming responses and tool calls are supported, which are the capabilities Homarr Assistant -uses. Choose OpenRouter or another provider when you prefer a provider-neutral production endpoint. +Conversations are stored per user. Users can edit or retry messages, copy responses, export a conversation as Markdown, +and delete conversations. -## Conversations and tools +## If setup does not work -Conversations and messages are stored per user in the Homarr database. The assistant stays out of the -page layout until it is opened. Users can start, revisit, and delete conversations from the -conversation menu in the floating panel. +- **No models found:** check the base URL, model discovery path, and API key. You can enter a model ID manually. +- **The assistant is unavailable:** enable it and save the configuration. +- **A model stops during a tool call:** use a model that supports streaming and structured tool calls. +- **A local endpoint cannot be reached:** check container networking and the endpoint's listen address. -Messages support copy, edit-and-resend, response regeneration and branch navigation, Markdown export, -and helpful/not-helpful feedback. The conversation menu also provides a compact export action beside delete for -each conversation. Its debugging-oriented Markdown includes every stored user, assistant, reasoning, tool, error, -branch-parent, and server-metadata record while redacting secret-looking fields and embedded attachment data. -The per-response export uses the same tool-aware format instead of assistant-ui's text-only copy representation. -Selecting text in a message exposes a quote action that carries the selected passage into the next prompt. -Files returned by a compatible model can be downloaded directly from the message. -Assistant responses render GitHub-flavored Markdown, including headings, links, lists, task lists, tables, -quotes, inline code, and fenced code blocks. Line breaks are preserved, and Homarr repairs common streamed -responses where a provider returns escaped line breaks or places a bold-label list on one line. -Completed fenced code blocks use language-aware syntax highlighting; a streaming block stays plain until its -content is stable. Safe same-origin links are prefetched and use client-side navigation, so opening a returned -preview, editor, board, or other Homarr item does not unload the assistant. External links keep their normal -external-browser behavior. -Fenced `mermaid` blocks render as diagrams in the current color scheme using Mermaid's strict security mode; -invalid diagrams fall back to their source instead of breaking the response. -When Homarr's icon search returns an image URL, visual result tables render that actual icon in a compact -image column instead of substituting an emoji. Assistant-provided Markdown images accept safe relative, -HTTP, and HTTPS sources and load without forwarding the Homarr page as the referrer. Image message parts -render through assistant-ui's image primitive in a bounded responsive preview with an accessible loading state, -a filename caption when available, and an in-place retry when the source fails. -Images up to 1 MB and text, Markdown, CSV, HTML, XML, or JSON documents up to 350 KB can be attached by -using the paperclip, dropping files onto the composer, or pasting an image with `Cmd/Ctrl + V`. Attachment -previews stay local to the composer where they were added and show upload state, file type, and a removable image -thumbnail or document tile. A request can contain up to five attachments. -Image understanding depends on the selected model; document text is extracted locally by Homarr and sent -as part of the prompt. - -Type `@` in the composer to add permission-checked context. The nested menu contains apps, integrations, -boards, widgets, and tools available to the current user. Homarr validates every referenced ID again on -the server before adding it to the model context. Selected references appear as compact, typed pills in the -composer and sent message, while preserving assistant-ui's underlying directive syntax for the model. When the -assistant cites one of those references in its own response, Homarr renders the same typed pill and uses the -stored app or integration icon when one is available. Type `/` -for common prompt shortcuts. Both menus support keyboard navigation and keep the active result visible while -moving through long lists. The selector below the composer combines searchable, provider-grouped models with -their description, context size and image-input capability, plus the thinking-level control. Model selection is -stored on the conversation after a completed request. Thinking mode can be left on **Auto**, disabled, or set -from minimal through high; explicit levels are sent using the AI SDK's provider-neutral reasoning setting and -still depend on support from the chosen model and endpoint. Reasoning text is shown live when the provider streams -it through assistant-ui's grouped-parts and chain-of-thought primitives. The compact **Thinking** trace groups -adjacent reasoning with ordinary tool calls, shows each tool's status, duration and safe human-readable target, -and expands raw input, output and result previews only on request. Approval and question tools remain full-width -outside the trace. The disclosure renders Markdown, can be opened or closed without interrupting the response, -and keeps the user's collapsed state when another message starts. A compact dot matrix distinguishes an initial -thinking pass from response streaming and settles into waiting, success, or error states in the minimized activity -bar. The state always keeps its text label, and the animation is disabled when the operating system requests -reduced motion. - -A circular context ring beside the model selector gives a quick glance at cumulative conversation usage without -expanding the composer toolbar. Its accessible label includes cumulative tokens and cost when available, while -its popover keeps the latest complete context reading as a new response starts and lists every request -turn with its model, provider, input, output, cached-input and reasoning tokens, context use, duration, speed, -agent steps, routing details, and cost when reported. Before usage is available, the control remains a compact -ring instead of showing a redundant missing-data label. Closing and reopening the popover reads persisted -conversation metadata instead of resetting the display to zero. A larger ring inside the popover breaks the latest -reported context into used, remaining and total capacity plus input, cached-input, output and reasoning tokens. - -Each assistant response places a small provider logo in the same stable action toolbar as copy, export, -feedback, and regenerate. Hovering the logo shows the provider, exact model, timing, throughput, and cost without -adding another metadata row to the transcript. Branch navigation occupies its own adjacent group, so switching -between response versions never pushes the response actions off-screen. - -OpenRouter responses request inline usage and routing metadata. Opening detailed turn data also loads the -server-side generation record for its model steps and briefly polls while OpenRouter finishes processing it. -The details separate Homarr's end-to-end timing from OpenRouter's provider latency, generation time, and provider -throughput, and can include normalized and native token counts, moderation latency, cache discount, fallback count, -service tier, data region, BYOK status, routed provider, generation identifier, exact cost, and upstream inference -cost. Provider credentials remain server-side; the browser can request only generation identifiers already stored -on a conversation owned by the signed-in user and signed by the Homarr server for that user and conversation. -Successful generation lookups are cached briefly so polling and multi-step requests do not repeatedly query -OpenRouter for the same record. -When a provider omits cost but model discovery includes prompt and completion pricing, Homarr labels the -calculated value as estimated. Missing provider data is shown as not reported rather than inferred. - -The assistant can use the same internal tool definitions as the [Homarr MCP server](./mcp). -Each tool call runs as the signed-in user, so normal Homarr permission checks still apply. Read-only -procedures can run during the agent loop. Mutating procedures require an explicit approval in the -conversation before they execute. The approval appears as a large **Approve and run** or **Deny** action; -the assistant does not require a second typed confirmation first. Tool cards expose their status, timing, -validated input, result, and error state without flooding the conversation with raw JSON by default. -Common collection and widget results are summarized inline as compact responsive cards, while the full -structured result remains available in the tool card details. Icon searches show the returned image variants, -file formats, and repositories instead of the size of the complete icon catalog. Their trace uses a readable -activity such as **Looking for “homarr” icons** instead of exposing the internal MCP procedure name. - -Large tool-driven requests can use up to 32 agent steps and a larger response budget within one request, so -multi-item dashboard changes normally finish without requiring a follow-up “Continue” message. OpenRouter calls -Homarr tools sequentially to prevent routed models from interleaving or truncating parallel JSON arguments, while -every mutation still pauses for its normal approval. A safely recoverable truncated icon-search object is repaired -before validation; incomplete search strings and all mutation inputs are never guessed. -Homarr also normalizes internal tool results to the model's JSON-compatible message format before continuing an -agent loop. Rich server values such as dates cannot invalidate the next model step, and an interrupted tool call -without a result is omitted when the conversation resumes instead of making the entire prompt fail. - -The assistant can create a formatted dashboard note by adding a **Notebook** widget. Ask it for a note with -headings, lists, tasks, links, emphasis, tables, or images; it generates compatible rich-text content, shows -the native widget configuration form and standard mutation approval, then places the widget in the next -available dashboard position. The generated content is retained even though the Notebook content field is -normally hidden from widget settings. - -Automatic placement checks every responsive layout and treats both widgets and complete container footprints -as occupied. New assistant-created items use the first free position in the main canvas instead of overlapping -existing content or being placed in a gutter. - -Every assistant-created dashboard widget now passes through Homarr's native widget editor before it is added. -The form fills widget defaults, validates widget-specific options, and only offers compatible integrations that -the current user can use. Required integrations cannot be left empty, single-integration widgets cannot receive -multiple integrations, and the reviewed values are passed unchanged into the final approval-gated mutation. - -Custom-widget tools let an administrator list, inspect, create, and update definitions. The custom-widget -form's **Design with AI** action sends a focused request into the current conversation, where the assistant -can propose the matching mutation and use the same approval controls. Existing stored secret values are -reported only as configured/not configured and are preserved on update unless replacements are explicitly -provided. For Custom Widget requests, Homarr lazily adds the complete installed skill, all bundled schema, -runtime and security references, and the current JSON Schema to the trusted authoring context. This avoids an -extra provider round trip for the large `customWidget_getSkill` and `customWidget_schema` results. If the model -discovers the Custom Widget workflow mid-response, Homarr promotes the same resources before its next step and -removes the now-redundant resource calls from provider history. Multiline JSX uses `templateLines` to avoid fragile -streamed JSON escaping. Custom Widget authoring tools are mandatory: the assistant validates the complete candidate, -creates a preview from that exact version, executes every returned preview query, checks the actual HTTP status and -response shape, and repeats the entire validation and preview sequence after any material JSX, request, source, option, -or binding change. It only reports a widget as validated, working, created, or placed when the corresponding tool result -proves that checkpoint. Large widgets are saved from the exact final tested preview session, so the approved create step -does not stream the complete JSX a second time. When the request already names a board, that board is carried into the -create result and placement continues without asking the user to select it again. Preview and saved-definition results -include safe Homarr paths that open in the assistant without a page reload. When placement is still a choice, the -assistant uses the structured question UI instead of ending with a prose question. - -The authoring phase limits broad component-document retrieval and then moves into validation with the smallest useful -reference set. Supplied samples and successful preview responses are treated as binding contracts: the assistant is -instructed to render the requested fields, guard optional nested data, preserve every returned item, expose freshness -when timestamps are available, and provide a refresh path for recoverable empty or error states. - -The shield control in the conversation header can enable automatic approvals for the current conversation. -While enabled, Homarr accepts every affirmative approval step as it arrives: protected mutations are approved, -presented app details and board changes are used, and structured questions with an explicitly categorized -**Confirm** answer choose that answer. Neutral choices such as selecting a board still wait for input because -they do not have a safe affirmative default. Automatic approvals turn off when you switch conversations, and -the shared approval tracker prevents the same call from being handled twice when both a board widget and the -floating assistant are visible. - -When the assistant genuinely needs missing information or a choice, it can pause with a structured -question. Each proposed answer is visibly categorized as **Confirm**, **Decline**, or **Option**, so the effect -of automatic approval is unambiguous. Users can select one of the proposed answers or choose **Other** and -enter their own response. While a question is unanswered, its controls stay in a dedicated area immediately -above the composer instead of requiring the user to find the tool call in the transcript. The question temporarily -uses the available conversation body, with its own scrolling when necessary, rather than squeezing a long option -list into a short dock beside part of the transcript. The answered choice then remains in the conversation history. -Submitting the answer resumes the same agent run automatically. The minimized activity bar shows the -question or approval that needs attention and opens directly back to the request. While an answer, app -form, or mutation approval is pending, the composer preserves its draft but does not replace the pending -tool call with a new message. If the provider stops before an interactive tool supplies complete arguments, -Homarr replaces the loading state with an explicit error and confirms that no change was made. - -App creation uses Homarr's native app form inside the conversation. The form reuses the local icon picker, -including automatic matching and searches through the `icon.findIcons` procedure, before the final -`app.create` approval is requested. App fields are filled only after the complete tool input has arrived, so -streaming partial arguments cannot replace the proposed values with empty fields. The model is instructed not -to invent external icon CDN URLs. - -Board appearance changes use a similar review flow. The assistant first reads the board's current settings, -including its complete custom stylesheet, and then opens an editable form with Custom CSS, Appearance, -Background, and General tabs. The form highlights how many fields were proposed, preserves settings the -assistant did not change, and returns only values that differ from the current board. Custom CSS can be -copied or restored before continuing, and Homarr warns when it contains an imported stylesheet or remote -resource URL. Continuing from the form opens the normal mutation approval before anything is saved. - -Ask for changes such as “make the cards denser on my Home board,” “add a mobile CSS rule without removing -my existing styles,” or “change the board colors and disable app status checks.” The current user must have -modify permission on the selected board. The empty conversation includes an **Improve a dashboard** starter, -and `/style` prepares the same guided workflow from the composer. - -Homarr also exposes a small set of browser-only actions to the assistant. These actions can navigate to -safe internal routes, refresh the current view, and open Homarr interfaces such as the command menu and media request search. -They never receive provider credentials and cannot navigate to arbitrary external URLs. - -After an approved mutation completes, Homarr automatically refetches active page and dashboard data so -board items, settings, custom CSS, apps, and other visible results update without a full browser reload. -The refresh action in the conversation header performs the same safe refetch manually. It keeps the -conversation open while refreshing both client queries and server-rendered route data. - -:::warning - -Assistant prompts and selected tool results are sent to the configured model endpoint. Review that -service's privacy and retention terms before enabling this feature for an instance. - -::: +Homarr exposes the same tool set to external clients through the [MCP server](./mcp). Custom Widget authors can find +the full workflow in [Agent authoring](./custom-widgets/agent-authoring). diff --git a/apps/docs/docs/workshop/homarr-provider.mdx b/apps/docs/docs/workshop/homarr-provider.mdx index 92192aa3a..c6ef59d43 100644 --- a/apps/docs/docs/workshop/homarr-provider.mdx +++ b/apps/docs/docs/workshop/homarr-provider.mdx @@ -13,69 +13,41 @@ import { OpenCollectiveLink } from "@site/src/components/assistant-provider/open # Homarr provider -The Homarr provider gives Workshop users access to **DeepSeek V4 Flash Latest**. It uses an OpenAI-compatible proxy in -the [Community Workshop](/docs/workshop). A Homarr administrator can select this provider without an API key. Each user -signs in to the Workshop with GitHub. The Workshop session authorizes the user's requests. +The Homarr provider gives Workshop users access to **DeepSeek V4 Flash Latest** without an administrator API key. +Each user signs in with GitHub and receives a separate daily allowance. + +![Homarr provider configuration](/img/assistant/homarr-provider.png) + +## Set it up + +1. Open **Management → Assistant**. +2. Select **Homarr** as the provider. +3. Save the provider connection. +4. Select the available model, enable the assistant, and save. +5. Open the assistant and sign in to the Workshop when asked. + +## Daily allowance + +- Each user starts with **50 request units per UTC day**. +- A model request uses one unit. +- Each completed Homarr tool call uses one additional unit. +- The allowance resets at 00:00 UTC. + +The battery beside the model selector shows the remaining allowance and reset time. The Workshop server enforces the +limit before it sends a request to OpenRouter. -## Allowance +## Data and cost -- Each user gets **50 request units per UTC day** by default. -- A model request uses one unit. -- Each completed Homarr tool call uses one additional unit. -- A request that reaches the upstream uses its reserved units even when the upstream fails. Invalid requests rejected - by the Workshop before forwarding do not use units. -- The limit resets at 00:00 UTC. -- The battery icon beside the model selector shows the remaining units. Select it to see the limit, reset time, - Workshop account, and status. -- The server stores a separate limit for each user. A change to the global default applies only to new users. +The Workshop keeps the OpenRouter API key on its server. It does not send that key to Homarr or the browser. -The remaining count shown in Homarr is informational. The Workshop server authenticates the user and reserves request -units in a database transaction before it contacts OpenRouter. Concurrent or direct API requests cannot spend more -than the stored allowance. +Prompts, attachments, tool definitions, and tool results are sent to OpenRouter to generate a response. The Workshop +does not store this content. It stores only request status, model, usage, duration, cost, and timestamps. -## Security and cost controls - -The proxy owns the upstream model and routing configuration. It removes client-supplied fallback models, providers, -routes, plugins, transforms, and user identifiers before forwarding a request. It also forces one completion, disables -parallel tool calls, caps OpenRouter web search, and limits every response to **32,768 output tokens**. - -Input uses a conservative **256k token ceiling**. The Workshop enforces this with a 256 KiB serialized request limit, -because a byte can encode at most one input token. This deliberately rejects some large attachments before they reach -the theoretical token limit. It prevents a browser or direct API client from hiding an oversized prompt behind an -optimistic client-side token estimate. - -Only OpenAI function tools and Homarr's bounded `openrouter:web_search` server tool are accepted. The response stream -has an independent byte limit in case an upstream ignores the requested output ceiling. Upstream error bodies are not -forwarded to users. - -## Privacy - -The proxy does not store prompts, messages, attachments, tool inputs, tool outputs, or response text. Private records -store only the Workshop user ID, status, model ID, request units, token totals, duration, cost, and timestamps. The -public feed is read-only. It contains operational data but does not contain a user ID or GitHub account. - -The Workshop server stores the OpenRouter API key. It does not send this key to a Homarr instance or browser. A Homarr -server sends the user's Workshop token only to the configured Workshop origin. - -Prompts, attachments, tool definitions, and tool results are forwarded to the configured OpenRouter-compatible -upstream so it can generate the response. That upstream's data-handling policy applies. The Workshop proxy does not -log or persist this content. - -The open-source proxy can limit authenticated use, but it cannot prevent one person from creating several eligible -Workshop accounts. Operators should also set a hard OpenRouter credit limit and monitor the anonymous activity feed. - -## Costs - -The Homarr community pays for provider requests. Donations help cover these costs. +The Homarr community pays for these requests. Donations help cover the cost. -## Share your results - -Publish useful Custom Widgets in the [Community Workshop](pathname:///workshop). Include the prompt, API source, and -screenshots. This information helps other users test and improve the widget. - -Workshop operators can configure the proxy, its upstream, and its default allowance in the +Workshop operators can change the upstream, default allowance, and security limits in the [Workshop operator guide](./operator#homarr-provider-proxy). diff --git a/apps/docs/docs/workshop/index.mdx b/apps/docs/docs/workshop/index.mdx index 5aaeebd0d..cf5682b88 100644 --- a/apps/docs/docs/workshop/index.mdx +++ b/apps/docs/docs/workshop/index.mdx @@ -9,87 +9,45 @@ tags: # Community Workshop -:::warning Experimental feature +The [Community Workshop](pathname:///workshop) is where Homarr users share Custom Widgets and dashboard CSS. -This feature is experimental and will probably change. If you encounter bugs, need more capabilities, or find something confusing, tell us in the [official discussion thread](https://github.com/homarr-labs/homarr/discussions/categories/custom-widgets). Your feedback directly shapes what comes next. Happy hacking! +:::warning Experimental + +Workshop content is made by the community. Review it before installation and back up your Homarr instance. ::: -The [Community Workshop](pathname:///workshop) is where Homarr users share and discover -**custom CSS themes** and **custom widgets**. You can browse submissions, upvote the ones -you like, report abuse, and install entries directly into your own Homarr instance. +## Find and install content -The central `homarr.dev` Workshop is a public community. Browsing it on the website is public. Browsing, installing, -publishing, or importing Workshop content **inside a Homarr instance is restricted to Homarr administrators**. +Browse the Workshop by type, date, popularity, or recent activity. Each submission includes its source, screenshots, +author, revision, comments, and reports. -:::warning +Administrators can install content without leaving Homarr: -The Workshop contains community-made content. Moderation is not a security boundary, and PocketBase does not interpret -or validate submission content. Always review widget capabilities, network origins, actions, and CSS before installing. -Homarr's installation-time validator is definitive and can reject content that the public service accepted earlier. -Back up your instance before installing untrusted content. +- **Custom Widgets:** open **Management → Custom Widgets**, then select **Import from Workshop**. +- **Custom CSS:** open a board's **Settings → Custom CSS**, then select **Import from Workshop**. -::: +Homarr shows the complete source and required permissions before installation. Widget credentials are entered in your +Homarr instance and are never included in a Workshop submission. -## Browsing and voting +## Share your work -- Filter by **Widgets** or **CSS**, show or hide outdated entries, and sort by popularity, creation date, recent updates, or discussion activity. -- Sign in with **GitHub** to upvote/downvote, submit your own creations, or report a submission. -- Each submission shows its title, description, linked GitHub author, revision, optional screenshots, comments, and full content. Widget pages also summarize API sources, actions, options, network access, and required credentials before installation. -- A new submission receives one real upvote owned by its author. Votes remain unique per user and submission. -- Open report counts are public on submission cards so visitors can make an informed installation decision. The submission author and Workshop moderators can read each report category and explanation; reporter identities remain moderator-only. -- Signed-in moderators see a **Moderation** button in the Workshop header. The moderation queue is sorted by open report count and lets moderators inspect every report, dismiss it, or delete the submission. Reports do not automatically remove a submission. -- The manual **Outdated** badge warns visitors that a submission may need an update. +1. Sign in to the Workshop with GitHub. +2. Select **Share yours**. +3. Choose **Custom Widget** or **Custom CSS**. +4. Add the source, a short description, screenshots, and a changelog. +5. Review and publish the submission. -## Comments +Export Custom Widget JSON from **Management → Custom Widgets → Export**. You can edit a submission later without +changing its Workshop URL. -Comments are publicly readable and appear in chronological conversation bubbles with the author's avatar and GitHub profile. Signed-in users can post; authors can edit or delete their own comments, and Workshop moderators can delete any comment. Failed posts keep the text you typed. When SMTP and `WORKSHOP_PUBLIC_ORIGIN` are configured, the submission author receives one email for a comment from another user. Self-comments, edits, and deletions do not send mail. +## Voting, comments, and reports -## Submitting +Signed-in users can vote, comment, and report submissions. Authors can edit their own comments and submissions. +Workshop moderators can review reports, remove comments, and delete unsafe content. Reports do not remove a submission +automatically. -1. Sign in with GitHub. -2. Click **Share yours** and choose the type: - - **Custom widget** — paste the JSON exported from **Manage → Custom Widgets → Export**. - It must match the `homarr-custom-widget-v2` schema (validated before submission). - - **Custom CSS** — paste your stylesheet (max 16384 characters). -3. Review the widget JSON or CSS in the syntax-aware editor, then add a title, description, optional screenshots, and changelog. -4. Submit the entry. +A Workshop moderator manages the public community. This is separate from the administrator role on a Homarr instance. -Custom widget JSON is normalized to readable multi-line formatting when it is published, and the Workshop detail page -also formats older compact submissions before displaying them. - -Community members can report submissions as outdated or no longer working, malicious, spam, copyright-infringing, -inappropriate, or another concern. An outdated report does not automatically mark or remove the submission. - -Submissions are published immediately. Reported entries are reviewed and may be removed. -Authors can edit a submission later to publish a new revision. The edit form can keep or remove existing screenshots and add new PNG, JPG, or WebP images without changing the Workshop URL. - -When SMTP and `WORKSHOP_PUBLIC_ORIGIN` are configured, every current Workshop moderator receives an email when a report is submitted. If a moderator deletes the reported submission, its author receives a separate removal email. Author self-deletion does not send a moderation email. - -:::info Separate roles - -A Workshop moderator is a user with PocketBase's internal `isAdmin` field. This role moderates the central community -and is unrelated to a Homarr instance administrator. - -::: - -## Submission guidelines - -Submissions must be useful to Homarr users and safe to install. Do not submit content that is -malicious, deceptive, illegal, hateful, sexually explicit, gore, gambling-focused, spam, or content -that primarily promotes unrelated products or services. - -## Installing into Homarr - -You can install workshop entries without leaving Homarr: - -- **Custom widgets (Homarr administrators only)** — go to **Manage → Custom Widgets**, or use **Import from Workshop** in the - board widget picker. Choose **Install widget**, review the complete source and capabilities, then confirm API sources and any local secrets in the second modal step. -- **Custom CSS from Workshop (Homarr administrators only)** — open a board's **Settings → Custom CSS**, click **Import from Workshop**, choose a theme, review its full CSS in the second same-size modal step, and click **Import CSS** once. The board setting is still saved separately. - -Alternatively, open a submission in the Workshop and use **Download widget JSON** or **Copy CSS**. The submission page shows the matching manual installation steps before the source code. - -Custom Widget imports detect required bearer, basic, header, or query credentials. You can enter them during import or explicitly defer them; secret values are never stored in Workshop content. Missing credentials remain visible on the local Custom Widget afterward. - -Deployment, environment variables, backups, and service architecture are covered in the -[Workshop operator guide](./operator). +Deployment and server configuration are in the [Workshop operator guide](./operator). Local setup is in +[Workshop development](./development). diff --git a/apps/docs/static/img/assistant/configuration.png b/apps/docs/static/img/assistant/configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..95dfc58d1c583aa5647c7e485ee1c2b6f07b44af GIT binary patch literal 143975 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

-qxq|N;>Ofy@@QS~tm$Px z)jWwhmBT6-uI6Tc_jL4-)x|L{PWC4Kx7xlsEXuaq7f}olQ3(|VELuWB1Qd{zX6Ob* zx}`f56c8~8>FyF37#bA;rDNy@sUfACvmSlFz4ssIoNr&}+UNP__2M07h9~ZOtzRvH z>=NH9DXeaK-^(yU6+2){_?YvEbMrp?zYlzzmDZY#j3SH)1Ng!zH~fB@@})4$5LKLSorN$nnGSYM5694Gp7E#^jxTAO&= zo|$RJI=AplzG47)vZb{(4#L;U!k+`QG%bEyq-q3|FHti@vx4Z|o@skg<(oL#Y>@=3 zuTYasOh5h9aMO${wc2lYo-(!JoK%$!W6?=ZKBcV0{CXdz+|GDTV>!w)eseTH30tZh z_NwksOwf7cR=cbjZMlcN6%YF(lE`yl1>SwmmMA#{y#$mFn$baAhd!d2y-zBQxFpDB zC_!q<-7{tD#DInY!25r70mDx05%%cMCB<239hp6y_Sm-XuKAv!qJx^j`KFeBP?u!& zK_PXQgq1u@D)~`Suc=ZNd%!(IZQOP>5Um5mAkb5x;!dlNM|GoSAI)6u=2tU>Sw?1~ zZJo^qQW}VLy)l##%sSZqJ>_|7hfgUwmqSK5QBg`x%M$So*TSL>T9RS%A_v?H_W~4y zpd#qThM!_hb=YC(P%}wd=J|4|IhN7L6?mM{-5$((>_?L)bz1Szce8oSN%QIFh9~4~ z2>QCIaOi#6vrEUj-Ze`T?Qteg!ZyG0B;J|@@7{^n))BDT8vrAxD&6i3zJVR7;MRhW z&)wc{lFq*f|>_Ytii1;G20Fd(4a}r z;Gi_!1nv~{3`z$^u~R*!jzoCxt`rs>9ZbJy^V}@bO}eW3%e4q2p?0XEq zh{RySZAv!HUbC4+Y7%8|439$ym>ZY+^rW^{nopdtE|x*J!omqGc1FYR2dh7B0a|JK zer7HUukqUhnNxr8Gdyp|-!5YLW<~%zA()_w#+WU*uiN#h$-A#7(**DO{22+IU%481 zu!&fcfYq?w%cX$!%U1e8Ujfv~$KIZ8_)C9zHyfVfPV$^EgGHis*54iUaK&ElhizOa zOtZ+wKELb#haBUGC=(Q0h<|tw9(d9UXkcE&S}Ps&TeH;()lUEe1&22YEaCj4Fn*d& zhYn|H2dpSjWH5lg$Pvj*Mi?0YP&DsML}=)DR+uS?bH7?lXl3~i%M{6s@-~2r0ty`a z)-q^Opt4$y>GD1HHZ6?~-Umu^JjNewZSWkl0(wrrRVOYAL*VLORZ2=-&mF^Tzw={1+_gay`C6nl;1#ti!=~vtK+JGK9rQ2> z3Hs0>Q{sSYP9sjb+M49bsG9|z36!GZb9jCcEuylr45TU7@)BLh?HGFE%W?d9!Wi>WuLKGadufWyZ5k*_PsFfgl+P;Ix)4H$CAx1hdrGp%ReAOg%{ywWt z`Lk8U$EnrTy0;=BMOh1Pz{lqPP%=w;$Ii>AWD`7e1=ReKo_mMc4JJI2D=qFC zu>BO{eTfHd940JBbuvxsC9^SzvzuWvKqL=+WE%8wxSmmHmFcMk*Aq!h$(|h64Onj& zdIG*SYrkuW8BQC=)W@`9D1(`~iBAFvF9=zqVCJ8P;M%5$MKaJ6+ix0xrj)YT{B#G9 zXSo^jz}A!H+8oAJayImlbN?y@jg*RhQC=sn>v~3EPk?H$U#J^U&>KA#+_dB>Mzk4x zxJB<{$3qJVAHW1&WDw!4mR=^92O%ZeADN=;2NJIPL0Pjeh6Px6>RDWdav_EdG^IAh z-VfjOnwk;kEm)FaR3<4@41=-?`&kRLG{`&7qiAC;Ctk$47w@XH`qB=Nt~oj7@qn|WT$09!D{&A_3HEd(V-&FbQ$U}6}=1tlR zwczk%zIuC{r&9mmImySZz0hB>YeHK$hhTfa0v&`R!NTaj6cm=i;?9&0qO&QMpc5y@z;bxw)9-LC! z71~qg0~%9%i>$)d+$&r9A$&5}0RVnhJL3wp8t`q_K0)jD1?Q$)6$GMLp1D=M1Dsmy zD5@nf|NT1tZov`p@E`OJBnv|Ro!1o%+zyD~GQ)V~o0Zf&~Hy`Vg*BjN{`7u=U|f?l3raC>mUso}| z0IgBUECaYH8I@NbiHa{rn^~YHRr?K@nYr0$-zX|5B-lpzPe8mB$~Vf9Erc+E1MyiB zC@}XoY5m;160*aWs;RMT`AM9d%eiNzZ-JW0aR{G2D^$9W@~XK!KMdCuP+Sn|q6|-0 zrefoF>6A^z&!FX|jo*^G|u=S6uoEJ)8QB zSD- zsZ7806vbZ_A)9<$f{2+tQH}XxqC!zaRUx01X;qF@o_|o)y5y-GDvT7CGSl-`9YqDe zjj+pbU5cQ6*q59#5Z9V}d~CXNJd=%~j;CdC8HD8!?5wPDdT&+Lq&c1Tq7Ne_TjgVVVKd$6wN={U+C@sa z46m_+ezyWC}sHTAm1qEYx=W|mpl z=M60S8r0_;og|4!H>e24rWLhSj;=$Zqip+*`pa&!b<1Sy+nx{VB>psz93J!GuHj*l zmawa%MBd+XR#hcZ71fD^wm0Kr;@uf&dmWM-pxjiQpE2*+R!vU^3=($MCuJpB4M`>9 zH*$aYZNcw$;aP(PkdG+$k$%!@sWxe7y#Q&nwT15pbF|{s5@qtIb*fC=&sy9=x_=jb zYQUdem;%Jt4L~M!Nx))VT*|@%Q?kv|T*mUs93dRYTy5=oNU6+?t`V+*Ym^qxjE(0n zSGw;M9y}(?zS7VkyYG799kquf3=U+h?-(Fa?TR?-l(v1Y4d4}-l%pY><>1yAt@p2} za9(9|zJr&H!9nIKxd;py-(=$9Zr#?L<=}qXJq`0u&)Pcr$JXQGQb`9O*B`10$dJwV z_gcCXRH9rB8WX4h9OHz08O=FY;Ub5K$)dwpNG>j(q0F6ogHB>cI_*y_F%5Fc)GCjL zMU9#JyE2zJZPzU23?G&}aaC!TprmimVKzd>erfdk6w>B9Q&D4i_aL| z^Ep`Hpv35&R#@V5cmQPwkgi&JxltJzsEd|{O)o^bkmzZ+t+J9GN!Ch7)f=0JJ{d&xJn-n6#4-7w3kDX)w8@Mesb>Ly$+$g@XKNbF zRsBB61k>xU>c|w`^fhjlT{8LMq^BTWY1slj#j$&Ta3%XdMI9UnY3GhGt>Vy(myx?e z7a9dR7a51Ih>k)~wJX-;bA0`ADWzC9;ybaoBGqxT=AlXF4xqG*>Q5Jh%4Y)qBb{t# zwm%J%mupRbngjQzD-T`KH_w4$)+`?42PDW0v%39ieJSo4I z9J(1 z*0#%}p}jTVq2)Ng0ppiMM}wWF*NF`U*94YPqQtsHRVGzgjqLJHu3NWiQo#+3Pb+hb6Y3y zOq*~6#n}XShsxU8?!X&_s&)iiZ&Je+Ff%ejGbDtK+1=fRC&EN6W>IQ>~SffrOfwvI|lE2(3# zOCn@4x0L!AWz^HtWA-*n0j%IVAh5Hruy|wEChCSF+uH1SndJ@<2*!(`f*4YI%VN1O zVr9LQvX`rIJ?m`i*C#`1)Q~&{@Xv7{Z#wM#*3I5}MUQS1!dM2X;xEuQaX#rvDR84_ z5*ni7?s#Gdh$5`3Z;|lSiGZxoi(Bf-Gq#rU(G;(T(;#TYM}O)mQ)=;oWz?*R14ZA+ z8S5q6OBGu6!)~PHBW}F8&Z7lOhHIq(VF-wdkgk>JW-$21yehI|b{kDq!HP=oj1ldM z%bMm#&fdHHW)Uy`DOInf=+1^KPDx9{EgzqD)msp8snK?|`E0 zqo!iqNYDRh6P0odX17ZzQ%n#koY!`JQ%|P_o38 z5+QTBqcn#P;HGAjh)65x3ecJs-7&kJkodZ=4?G0ncR9nVjhG0C&rFmUCv~P_1#Hb{ z;+_w6mOm~Zt!H_`Vx>eQ;NGVzz~q^D`fX;^No5ejQQB)n7MOPSRgsckx7rOj$1I|y zr}gMj9@qipqwmRfp@{A?hv}k{MJ>Bhva?qP1R+wp7@5_6n0ljpFU^)>JIz}AmLo=H zUF?F^wsKQsy_0aK>>aQ(-=5r8vdW+J@P+xIwsYk|R4uLW{ zPdJ6y86i!t!srmNZCNwj=k}~~4+%KEV7GO+U|qElP8jKEHhn9&!CqXsdlb@Ii!3Nv z=0&Rp6hv-0#I`U_0aTZ1VA)EWhQ$^T(VM+1m8B|{QI6DE9R_dcwD}VcWp#BEBitgC zH_8>Fi*u=H$w7M7tWs0p*Ir zW#N6vN^Zi8vno_dYpTOaoZfF@t=Zza8blc@($5!H%8hc? z`pgwxa$&UL+#|CZly|pmHiTzSJEjnK~e_^dY>&(8UzTkQLiXZ|)MNFq4fyy%_{n zjcJnBTbm;T@YFM{Vg;p{i5(s7#70+Njmm zIJI;uO}W)5yk$}iQ+26sxY5+h;J7zGY|`FZKCQX2_idj75;e`31xbw?tM)JY$eFR9bUS%?{yd2#a#fXdT6^#TjHVewuPv)uu&RI|ESM8m*@&E9#%g4}qhpnbr^oePgfZo$StD=Py$2hXDhe zjY(obNz|t&Qaxgd?IO@<(;zMX6j>^BsDsUZO-wvx$+!Dq^w_#WBbu&ic+kz9o-fCO zvY1K9@L5!cORu_JU{?P% zUH2RE$hg=`XX4zz#)948x^;q6PiGtuB(*NY+zMrbQp??LGA_L;7nb~jMp#p@raky` zsg9HN#467KPo_-N`8&`9WvJA<155Svs++9&Y~1?XlqpxSoN3l&Gp*e05?L%(Jc*;B zMa>YF7>v<9Zf+!{1m&YM(Did?U151~GDioi#GC94;jT%VeR0bp*aCFrW(GV+W((=! zBc-;7|yWbR$%stM}p!8(Uhk_IK3Zd?0n6Shd zn_(HXE|iy%fk1D?L1yCsCX|xVS%WE{XJnNqPbbQnX|R81lDg5&_Ty>(IzQ( z!9&n?=?rY^_vHCcdY6vu(K3PB&J?OuR{D#RtE&nk2_Bti6l3{4;2C21qSoB@Jr72a z3)kx>X(ydGf`4*^!z$f7?Xy~vw(2bAh z1)3wd-O`r~x^XW~X^&SiTwR73EnX@O=Y|x0GXMpOU2$1X|{u@!$2m{I|?8|F17H)WU0T zh3^gdY*i=mk0IiD6W(!~`(%XNTwJr=!h;|{PVhi!-x3rYMGAXOAGt(BF>FuI#Yq!` zAxOpZ`1$i^0sIedRdGzwqAdY($}Zpj3~%JEDgi$MEk}Fx$`E2SL?1(JLGLcYKmR}4 zoJKgoUjRmb#L)!zk{0-L5%ep0ItRv7f+Is!Gjsqf;PDUyP)ZXE-DzfeT%qE6u(i7Z z5CgD)c}zzd=hzQ}=Mh+I7^RtjT&(T$&>1~mf@c}P%A(Pw(VEf5%ZMA%KDoTy6&5bY z{EzzFnZzL3X{epVIa2)iCj6EV8PXZY;9oPtK0~g^`BSV4kyuIu%@?ilN_i)#6#zKPP}O zANp%xhNOnpX8@W8_d3Y`!100v^Fvi2K2(P+>@vuV5`z15axo^S?)#I_9FDypfs_bL zV&XU~m4bWyZOwI50n_|!Ij?o-`1$u}4##QM-y50zq&Zx91+cPhrqNLS&!(oJ=+p3R z+ua{LBg6ZEMA1*SgEfRxj}#z0;IB&Yj{$7qHRf}wdEafR%os#0v3w4YQ}I!EIq}YALS6OuK^k0%l^;|&OKd0TkUJH9 z8de(bU*%5Ahjnb89iHZb&(PJ?hgze%;q{AfhP@yN0_=Rv_yA|+W@h$(ej)zgu07lZ)K?S78durYY06NNJEqWAj=_A=nVUy5Yh$OayI2#h#0PZ;eVf--20ASm8 z#6Ara03Z(X2Of7pI_xJN>p0;v(}kzSuEB)O&4r>iGfj;?c@kN!QAWor-6$2+{ckRq zw{F}9SLv;gTgG%&U!&`|&z10Q!Sl0Ohbq_gx#b=1yZ0B$y{etB9hVJPG5qR?UXC8Up^}UnUtF`;Mu5SO~ZSo3tq3}UI0fKzaVl6(lNyT42Df|4F%RfZ|!RL z{+tgc)gL1a;Y_0@;rnt)%-C!v3XLu4vt#-n5!3rUCcHI%kw6v<0)qavO~Q$d6fO9< z!BCjrR@2j~fqeSqCd8) zL=5;y!czbeI(0JFdu z>yiMpHfWC_5FiG)XSZO_hhh#WJIIu&;G!yi^YjXw<)|8%I>>1ZqYmMIQhOjg9)MWN zbo`jOjv!g$ZsK`BpQ=ALai9{fY?;wb+(nWMSB{OZ)P5anIKEt<`M9+`kpMFs&f}PK zxL#t_n^z9WDLuL7_n(VelZ)?Ie;s2JN%T@#_LJt__eRcOFT6jnx<5Q&1cm1o5g!=N z@)+uoP7!b`0wTz0iHX0*#r5F#cT&)fQ9>*+`{kk1yR88}aO;A;V0|8PQ^5=kBRiBe zHOnD8GD8N0ttq{j5m#xVXkNIbG^N*|vroWh<|qVH`r8Y1r<2Bnhj!#xn~=EAn`;Fj z9x{1&Go0FUfCNx@`OgXfDxh|cl|Eu0@u*~6pRubt1x}_wWbkV2SV|Mp|Y;HWRusr zTQPg&j6v)9L!4WGIY4pM;L~)>E&@in3D~x-jdmokCl?C=wfh)t?BpMoZ@jEi{mvnzn@pd+E%WG(m-q{xV$K%@tLl6wC zhiufKqk|LjMeR`QI(xDo{xz^GRo5IkYpW^AyFC_z{oG@RUSr=^$zv=@tUkYwFZEZ4bQ2cS!BL8!`{Auy0 z-Q%ZXtnFSA2kFpRV>3##l{J6Z|4XznuikVZV6N<)Y%~6CsE}hO=G@lsrHxyKn@s6D zk$rC({;3E#dh=|Y{ku8x^3_pj`^>3Q&eS$GFO3RA>DsR^RORGG`U=WYQ)$#;AKYE` zG^WF7{IExq6Ot$JeL!k53dS0E_~W?ERY4WdyblZH!}WF%$i3*1ecnX`DgQMPrP35H zGtW!^!K`Sv+(H9JPG`RUcc9;vrP1|U*(|9YA9$ST(RT8a=jF7nKC`tm z{BcQ|x!5k~_F(wl)roM22!2M$?v zK|ZQTq5J{VMB)(N2uL`_q94}tyP&)}MpJ21z+#AP&n_u}XSO&%z)}uHn(Jnly{tRB zspPMW%(pfl!GKaYg0^ZI2RpIiElND5)Ojhb#?5m}IlRgVU{3k=@mb`RbKA!1x>l2v~pt(7jFAJl$su-K## zYGRUq91`SJ0~7%Cw@ZMF@NMq*O1%eu7-m5r(|6EstPuZ_og`z6N(}OANXu?V@FS#x-OD&d+j%sQmGl6iOtDFzUd(GI8al zhM0ACu_6y*tOH0|nJ2HH0M*r6iAF-#a({3iof`2S$p8C$5oeK)gg20J?e5_eG!v~OsYo?SdOuKf~=oR8tm>FEojjPi^1$$9WxqY zG*@ol%bg#S^{a}lqLx-J_sMSf<2CtA$q4oxe zQVzJoOkUJaUncZ}0HrOT6vMY+>-@Z_!)#0AbHB}bQ#aT9u=hN~7`&f@<;FwI#5h{O z!`13n=10^0CZT8-*ke+stdvnJNvjp35BGkD=($Ws;(GP0%bihPQKhS1N6T)UM|1HD zv;G_&wZ4Kj1h5JeKrwLa_{ogHl#gzF!O5*Ld}iZY@f@jdL(5ErkNX4rsPX=zFpe}^ z-pI-Tr658jkef%&{iR(p7vR{rp#)tA0jcz8Y^ti0k}(GBrnD@T4TdYd0+LvT&cN0W zCTXgek(z0}nZ}Fc`k-c@Z2QzT36HQ!uPniR=M{a6ZmgQ>sn)=l%h)jqQro66-OqjU zva&1n02y!2)&TOnu3#p@K_2<5BZR!?a3 zry`+}SvGGpd?7xSkt}}Pc?#m(*!^r7?e1(X|5A3UDb-V=t_iQgq;DOac8oUP0gfk% z09^#QSNF9G$OYEgjj-7^QR<5D{d$hY{-Idy`&+xx>!vFA_q~J@TmDwyx1E@TjRl}f zQdd+&d{`TO%@R1z$TJSZ*jPp5$MKLsFn2bks@&CR^M_OwL#(9I9g%#TCX#AQio;}9 zWU8!Zk*Y%f*^3tU)@2QnRrUtu%F{HFYu%YDy&59sEcsbT{8vt%oUX-{iB@!(7w&^v z5|cVLBqIMzjeTeo``RrywAla2^iv~|uGSo-0S2Hxu^g>|CiDfzueCO8uxXXt$%=u? zRCaXJYEj0mo+U9-m9so&NjP0sWI5hOiFYxy_=x!e@k>|)W>R0WPTVWqLoQK=CkL=P zO|=4P>^{0J<-zYsJ*HI*+x>0&e=pR(+3S(ye_^M2T$(v7I1C-L$zghJ8{mI<voj9NKRN`&T%JJcEYqS1-oWbp2#?C<9FlcTRTzV`|#r$CK1J zqevC5o=y!mmLe#BKuuq49uam^$r~6O?rJa7)C(%N9R?`ws3*Kl^CtyGy2{t)+}41` zF$Nd=OKmyh?h1j_U#);RsI&b*(nNg%s_=|x@+w*cb=xA zgOj98ylkBe#(9eZi9y%q2J>9ENzOk7M;yM`bPyj|zN<8KV zYPz~sw9^FvLp&L=1^^^HJ+YhrB(;hN}vr|T|+Fe63`0`z09ho|Ad;iZcQQ59}ZKQc; zKk#&{oziXE;MOWe@3Pz9o9AG|WtfgriH!!d({nC0qPf2Wv?S3xe-@XNI=N6ayHboD zXOUz6`@$YNrJiX*%MSEZBHETGP@q#3yoF1{j{~lF&gP_*X=^9niWqPivdp0vkR~5! zpBn{K2%%|T^#Ql6c`t~o1T`dDxnN*hj1{0!Az1SkU%uK@!F6t*>(4oTU)3blb7-r@ zJtyJ6$xQ4D>~;2YzWA;y5e;-+>ck^Cq2M-Mj!2Hxd&)&C0%(A@Y1^d7GAw)&%BsO4a#9+g2N3)0^-KV*a7 ziGS!;a?%awMtp_i`_S=)XRO?65z;;vBk)Zgv%9Q5GqhbC;10HK01)iWLj0|}%J;fW zfPLqaPxUN1xKs6KBOa2E6_X8ByV>dxduu;qXK8Uk7g@Vih|Fo&HRfMt@om8{=I8S5 zhRNU4dMcc(vuQH|nn_pTVOIm?rAe&x;)A7o0jg?a@>ghn^P%4kr{Nr6`Y@$a#fiZ+$<;qYyJl1tz%mp^yDg; zMoXTIR8-W1oZVHZQNdk|Rk#|(ZcjH)itnwFrs>txQ)6_0q9m}VG{Hgu3UEYGD)5d^ zUE=0YFCPeRgm3&2-ndFb#=XtC5$px5hWVO3oW=>w- z=(?!->)sXOL2M>Cs$$N(|87VvV$z8!=r-jfNpe#BitVBTHmNM;7kGJ*2UPjwmT%nw zRzun0*yMEBV{CcAbOol!jeD4O_`I1saWts9@=)(SbTcrR7P4Ly%T`lUi^ie_O{zC} zvir$Y6{2N8R{`I7U>-dhWqe4R6&o>3*MWm}jLCiIsYxZyy~3iO!|wr?Mf>~IgPOuZ z#X*#x{m7e-_94&vcPvdUlGSxL3raf&e?K*CzK3XfZWJ3p7GL*azjVl-hrpeAV^cCp zKghzBS!3_dj%dLbrK}g$c(`Me&Q+b3^Xw}2fwfA9&`hm~(!i;qrWgoSh$`DlwYPV+ zhQ~mBDtmRlNkT8oY!DiSD6j9-|D1Qi(gz-=@Hk?=o!Hzcr|wsqJKmDmTIGt_WSNEL z4dO%Vp;=&gcDBa)mRK?}>lNS4#pcd~=ce7El>2dROC9aNo~5#F7c_rixxN(gtnBf> zXq4-QeCg@>k!7}w^z_CMq{CNXa^vIY;C4#T^>hL_yNI%7Tlyj6d504(;SlOlw?3h5Y<3+i*|V{1Z^83}gse>vHcU@=@75-m@s=dcwy+^IEaF=wTw3tD4L*Y6*|P#J1CZ!oq)L^)>vt`URi$%*UvUjP<3e@$ha4hw^N)6W)#6;}wDp!BX8M-d@jqM<8u@g0+}|HS z-TcFeOB)qVT8F6p?MdQSB&1_P+JE7!>vjas?e_NfXLvSjO$Ua!nl)aK`s{BC0owp$lM%zhC5R z+i7^xaX8)**PMR`O?!$yy)jd01W z@kf;nDS?pQqhL7IFSu8;snqVPCWlu_&btRzIr zPWxmM*iG9XtVRsa@Yk`D=4F*{HtFG#6%149DBn`qwdp)Rc}_WUeru74hl^~;QETRC zJs!v{y|KTK(7VLdbh%>P1sU*ZWgQR#01aLpv z)Ywz?m$b7pC5h&f-_q>7CMVQ6_$e>ko8OzGHwtm_K>|BJ=bOUCrlJ`PQ8u^jryA>O z4(GQN-Bun=O$i_j7x`qP;QkBY%d%>DCO1u&mWv0h%1al^OHlLyXVy zt8%esFr|2Rqjw{nd=DIPaKS&}Nnor!m0Y;5@v8zbOYXIYd3d;WRMK1Zd$ozs#^k3y z>U~(4$_6g`=!;*nHJxW-2{?_k_d6pXj1~E| zTO_AnvHWXu{-LmO>fDLdHGWoIcY``Y=2i9fjH^Oi_PzKUdz-YfSz{%G<@+0Yy^DRn zN0h{_Ugf5LcQE42Za?X-kx)DA#H{(m^D;LEjV-gPO%x$4W(Z9?%?KeMFrH`PW?A4v$-)WnXjZ%g) zJD$bFxwgAHr30S!5y2hF7F>5A)ohn}&AuU^CMXSh8QyD4t2=F4{rxIR=}h_;fIG69 zSHI~X;x0=W`%I{)tZAr8_Qg~jjPORnu+g(&m7r$1>#?WuRT?>SCIxE;Q8xTS+clFuC@jc zY2V>gPqjld=i$7UC6EJ?A|#9hiWR0GN6MRzgd8riC3Bqc{VGSZr+)Z7Kyp3|n5`8* z#HM-&ZzUc4;NcMwpo+k&E}VE#(-wtw3%LYK5ch}P3|*03A;%J5GM~3p`A5?{u$|RU zzNWIYF2H1qSwO!f=(3vPXO9@S;CRO6$IeuJusC0H`w5Khe1DX}UzOuHLWmlFmN!>gYS2mEGUXG(k4DIOo!pgON_p3xu&n?LB{u#6ntH z)Pz)L{O$||zV#ROy6)}3i69>EK_wJ~C#oq4S&00iE}t0{Mss^zCG?;r>)b4EpDtuU zULq82e)@#&=~qC15cz)f@%e(+#Pn2oLB99fxKg+S(=|^PGQN!9AC8rhe?RMsZ1V4w zuQq)Xd~damCk96cA|7Hm{%z{*wmO8dzovNy>!9~hrq*CzpGo4CZE|uv0aZOcnlV&2 zyvd57gE=^T?{FQ5lPjRAruH{L7lY?u4hIX@aYT(@0D1;ULw>b0>XE-&XhkRCHlMm~wk;c0hRZf>p$rbl=U z`9-%~;{>lWz={{$RNJy`KyCq!m|=4j`jUI!go_A(MlpgkBk+Gc{=EzlS`c7^l<+^4 zK@sn8;ek^!!Ea_JJS!?-(f^2`(9(Z83wX(YDaZbKL^}*#_zf0EScfz-uk*(8(I&k zE8;i%%aJ_@B^6o5-%*I;z(lhP+pZq1uYVmHnkS2H5j%HwLsp~(WBGL*VWv?-LGjth zmVAYx)|Tfb=U)>Q>VGt@j)n%v9LTW#;8rl-|}viX1ZHON(JT#$bVrlO|OuKDIZ zbf_K2q=SAAJ;Ng(#@G0H4&S!#52`mI5~F)19bJ2hdwU7*OmTId9`BASO{eH6 zG%LQ2R9osIpC2x08ekkXKe;Ec8nTp{P8I8VJSb<+K|JnPHa0HKh6Ilm>Q&K=1Cx^G zT%PV~z7)->whE&`1l9{}iq-P1MeazG^&lKetn!H{}3b);D~O0IG^Tm zZ~t)nF7o2xo&MlPU!1_>l8bQLix<{pL9OrCat6MUzrtq7wz1}MI&II7qP{#>usLaU zI>D~3sc9Iud>^h8Zh2?3)t`8~1w9FQ3A@o~wN}?HP4L7>^0I>@H8uE2{S#}GVw?pU zMAS^HS;jz}L?)K^i{$3OUJ6AQyv^o5BI4TwrEu}cm@_$7uP-f zNNCRws*P_yC1Y%Pv_F5&6i<^CxXBieB(H)}<9auocOS!!p0!U+U7eLQ4d|x-xjSm8 z^;l}2qBf~ifs!ZcwVc^kH zc$`M(XV^ZxX{$p|#idm#6kj1{DlVR@GDAga4B?X;(rM(iJG8zT{V9dVOwL{HI3j#f zp_He#GY4^ZcG^xy+7f~0^jtrq%1v8JCu`&5=Qom0%L#!F`+GD$@dz0h7ORvITlmSO z#a}!6&{Akr-P;YkZis=w&+q@lbjL@hnI(z>bs!@nb2?oYDpjbp-f+9S3_P#ZBMo5x zGTlc3^WudL@mr!wgvHF3oTTBtSy6oToMsJdz4Xp1BquY=PcJ?-juae3{UJb-mc%5;__orT!ed9L zl!q?d))&WowAkpf)){L3!|ZSDWccOsTeqXKGz463)b0A5z^ivD?s!!leFvWm!feK2=bZK|DxPe?L z?%K1CiHSg7?^{oJ6mD(FxnBk z?wC-lR&B35w#jI-HE44`JyOzqjhv7))zuW*Yj%INRH#!cj9iSnIdzNb61S=wPydZ;Ehejq^lMVDp1QzIDta47`5hG>3F6lNg^P zsZl3Nv%9ybkdTmSiS`Hcx^IhGV$@ygHj1-Xut+$qncvtWK5|OrP1jSzXP2Q6n4aaJ zs17KoaCx4boLDyBwWMnEiUY!fRKnNL_)jH_N|UgFfOCX#4kfkE={8RKax^0biUuqjfPTr z;}k;ZRSE-iNDTe-+Wg*q9e$?iRTYqyrtA9(M>GUKa+gw{V=$-GP?nIxEa0J)?1O2I zcD;SP5ch*=UKt&;uqtrEv%j)3bm%frx+X7J{qPBRGx&V{`{s#Rd%RaR!^ z+A7QF!o<5=fBym*e~C@Bba5FDhm-Eky2^ZD(GEs5)#Dngwbr&acw~GzkOdAG>MiH0 z7#D}TD3Rlirhn`2jpwtuULU*OoD%an9(O@Jpxs`-h~KfBoP+Z--U!%k%SlW3@6VKv zKndBtAbXLFk3HR=g_kjfJgxXcn6$2kS}M2{vI5s$wYBf zbaaKgxnvjnEkkL=4BKO;80z8D)8^cf{lTPuM;Vp1aiD|*GaAA9_Q=}7$v^_uNT(Pi zn{RbC$NY{$47KmXbgD2YC1_)@KsM+O%QF*!d(Bgt zc8g3cLsX!aU)IfDqptlfNUlhTLa}zv2y;!c>V1osBco2HK^V2*Z46mVVc^z!?jgph zY;v+B@_3eM*PUPS_x|IaR$oRsr9aKt>jnhrj$7Rr%Lk3S!x4u^am z0vnOmwlnFsT^B(o2+(!Du5gIhjhHIx3+x7dn@!}!RSE<-pA|Bd1`D=7@WI%$USViX zjO5uYI(V_4NCMP|^4~9ntJ>D{vA^H;G|cq>fGB6N)TEvM{`=>SAhHoJgl8Gvr|K~h zoo2}&_4-mt1YGg`5j0&^+YyN*oB{&I6F56jiTOPJnxrZF-g4XAF4Wp|#s18Y8egEP zd8=BXc6^{&ZP4Lq@fw+8C`0r%taVonNc1rS-vNw2ER9EWV7A-T7KJ&LY9Xs;?_A1Vxyo-_*K4@YJn*D`!2N zV*5VkGx!i;WAq{Cw^~mV&nC)RHGxjg7ZuOU^L>OYzMyV)E*fSu;&tO|_mU4ZEFiD< zOh(akM`I%+prfM3Su8z%I@AieX)qd^Z)*Brvt|G8{8TO4;Or<}?Jn^*r2|nB`OW2Q zWtXnd`N_$RgZ7i#^oOQ*1c5vxJI@IYw=Zs8V#DG)NVTb~#h6Etm>WF53;Vw6Y4`R? z4n5UQUGjJ$R)?JPH(t(~ItE`9gUmWpX1E&_GQ*`gd&%A+iAEe*>x}Z+etTLSb*aH= zt=>wvNT;^7M`9{V)pCObKZ1Trd+r6c()6~nkmhs zx%+~~OPY5klfu)XsWU}MoV00;Hd~h^f=@JNEQbX{;l#WOb<#7EF?5_?r)wl*Od#$N zm@^FmmqoEfbACEa4IWFWX`LQdBh+a~bJ==gh2|n~yR(g5ph|4MKG!#8OBS$GFvwv{ z;s|rLlRk?rQYKj)=iXUeTOCa0reF<~pb9p%J~y?zXMemaP$kh#AW-N@?2dlcabFvi zi=Jh$8<#@aj>RKoxY>uNTS!7g6x`kul_vZgO7{+As$}}9sYaJ0UXRDdnQ}%3IRj+q zJC$c;Bt5)!-;^_~T^MESXX9DjGpkTR4~(5 z2lHoEwsASG)$iZ%sMF_+Rg6iT-4~2cRZWDcd^?GY> z&<+LhuQrSv>pz{81;rF}ON1t}e~4x?_#}x$SL0~4Cc9I_*)v*7K{prieVD>8mHF(1 zIhv94ajUC&tHNVx@oLFQ(E!z;2yCr_xQyHCDmw`n^f@iGEa!eDbQ^TydAqg~auX(u z^->Z*(rtG~2Pk>uPiZhP&|(?Y8OjPB8y7$4oSHaZcO-Fc9W7+TU;YOcu-N!@U(G{y z=#}p)y=(~i$HvEwH1}Qk`l_gylBaf~;qY`KUi(7#huge(PP1vxajUDt1>cnnI@`VJ z%H;HP(uT}(I6Ds3pwQRvFn8YEIiSJ=xsi0WVb5HZ1p$|1UO_OuvqW^0_d9yk2G-q)qb}L$N>j0u zRjS^YlH;M)n|k|0mM1P1pYT0f860|5(bt__U03ldJ?fDP(-gy^&RY*?6cGMG)#ePV zL|kGCP#6<%-&QKqtH$5AtG~8~8WOS&pBhT>IP6S%EH5|b$Z(K^KRX|o(j|WE757nu zMZ(2QFz(G3biY{}3Kw{A-H#uc+!WF|*p6)LY_2~e>INI4H*cJK)3CM%5)An;-@d}! z{QXw_j=Co+DyoseO@4!OZ7?nfM-!i9S~_D&FeLEitY^w?;Dh0?LkJ#&np}~_I|qj= ztF=yk=X09e6}&4vCatfQOHgrf@tx71bJdpN!!0v2GjA6>>HGqBh+5E?ehEgo4QH|>jt2Ny=o(SpbZb8Xs zn91xPktLi@RnUs~H~*k#IWD2~c)UA~ z&{@hfG=)-=pOKYc%yc~wUM*Z>Wa&KEwaWHh&pVyYv)+G^w zY+XiI9it+s=z}Kq)_z23E7O-(iiH)jjRy~)4E6u&4?LF;<+pYN)$fqtlWTVbnJ*Gv ztl-NsP_x_Z?LUqzrg=O%t#?NvlUXK~1gw_yTs=N3F_WWV|QJCq;!p zHwd6itFfjh#d8f-ZZXx>mJ22`6&W|VvCP^b9{Efk@o(QTR84*CbTFBcBoGxAf4mOr zFa-57$R3>+8 z#~eqaZqk$Ko5X2uYi}>4V}3WuSc5cCsJ*oX@tCf4OLElsjIxxax%+$=W^?dC74qv{;_zmi}H0mZznfRBk9IoSQz<9jdbL!uWPDWajV!+hbCBU z<~Uc=-l$_KmzuW5@x)}pbk!`D_DuM*!e~tCFiu}=w?X{rl{2g6#p`!>mk^~)gC3Z> ztH!I#Y2bCux3_8`oJW<8uTEdWF7&T2oqqBBT+PRmQb{TKz-lO?+vwbNTo3!GqqFe} zd)m6!dJttNig4#qpB(_A3*&{#@B}I5nw&^&%ujVLj{Ri^Em;iy&x01Uh={EBY{Pc0 z*?4-K9|qdnU*^dE1^l|B)9O5$I`%GBb{uPz!^7El0L-b-@r;TwGb+lGnv!x3Vz5l% zfQgkw@D~@&|Lplg^sVy)BQF*iqF*Yp0KOEs@2{WU3IO=mUX-u+=pNSj?e_XQexnXLhI$L|Ack+ldv10-vSMB5P|7z%C}d%SEiK9j zveeWs=_4g1&@izs2&!L^J6izf%X}K$YfMf?Pcg8EXNf&JSoaZ!ecPLrP1(ZY8xZpM z01q-N%s-K_}dCEEI})1P6^KpJEG@p)`BXL_9_VjsANaqNP}u(P+6oYSKzk zC?i>>Q84F=%zadc=MZY@3<80KCs@Ec2rR+}l=13PQ;RXWxpj_|N_Yj7aRM%4Ced5x zD8G>j2Te>2{&A2&{<8C#FO8;+)J?wHz{4#SApxnV zi!TDo-o=GTr9}_M9c2}3_u(+muzDeRD96&ctjVIH8=A@x;K834D(1@MD};rGb+xrZ z>$u;(C+l4VlW1tVBas=~pH!{1*dRbca%yg&t9vtBEd;~;hMaD9ywa46(*oh{ZM{_V zz~56QNAF?Rrsk^5wQEm3L*!LQujMp(dEh`IfDMIm=!3vvPanz2 ztdq62s*}hB+Yc?n&6TIX)HqZf^BJ}sFO#53@0ZH* z6c+>6A^}IxG>TT4)h=I51#b+7u6R9vj_;mjt|j+4Wla+gLE<6MqN$2khfUMR=+n5pmo4L9(Zi zFf6bmKdC)t2pT9xXtlhzb!{LeFM|g$(V*INWyR6X!G>_D*+b2-CN632CW$lDh$fcT zLE6>T-NVB{L|1k?h4)`W?Y7wNnz27Mc)-)4NfGqealP^J7CHDq_0ec_&vzw1`XjZB z&tfBeK*0XW`qmaTh`gtE)|kd+2j@HfBO_Lbh`!bv!lc%ZouTwAE5NjWn!Dri1!ZMJ zpy=hcPmi=o9D(eCau29rMwa4*$TBO2k*wI+D->1h%nivs%Zy zD)8t8%^f1p%Y223ZHS0}@Amph`EOKIc`K`4#$;-PhG z88^^3kVq?mz1G}NelbpaPmhW37^uzn4`vQ(z&n$(Q z#Rq6N2Jl1;rNVgD)Bu_y;P&#j_)T9L4yS)-#WD9`;Jm_C4B&XOV?gvYZ@0AcdToYm#a)M{-o%~U8OH=UA_4{|} zYc!~=JsYsV$KWRh{##awUnH=FF#r!f{v$GIm|0twU0UNfHwwf)fAz1xFviOTHD<;R zXn%8Jr1Y-?7re76KT^q;zC}xQ)lUd0WBhw@?XrHgubmW+?SvSAr`0hc9={|skCcO( zfRG}9X72Bzqm|8^mywosoh0T*bbd(jc`4u~4E-C?BqW4MMVK|Lt7$UpSFkP*4!?-?0^zOYWeOM@2;i)Rb31DmkzV8`%01vwV662Ov5AFa7w2 zu3*P38cq`WyirHcpgSTy9-n)0Y3XSz%_FwWvhiXPu%7_f_g%@(&TewM3p(GKD8SQ+ zii+AANTRL~JER4K=-ll1IRyTq(jXO;n5U+;cExVum$G$8$C%!l#bmx>E&%qyCgbw- z^c50Pz2nI$Abi@|+F&sfK&=!B>yHMBh57zO=DYMCSitx1o$8&ehP~a-+4BL_R1(6h zTAWPu-q3p+YLHh2XFgkjaX!wd+jI}OE=T3g>>FETh`@b}s!qO6BM;LrB5vzw2K6$) zCINy`t`(DblR|GMLP5*o$o-cZ?e;Ih4x(uOS=e%B1wB2{yC5gn;bR=2=}`O+-Ne zPu~%Y7YEZ7M$D!j791=E0Ez;o{MDTur^ovnM$M{yzzZkr?(fe7ivj@b=K8v(t}gSk zl}~M9rrgLkgY$W)9d|CU?7o=X&KeD%MasVnfR+0@A6%*4c4zed=IpmLp(=Gq9o_BK z(GoB$z?W`rZ!@VskL7%Hx!lLtNp~lD7ByV%XZvEa0kC9Y#JnMAxNo8lpki~&E#6j4 zrPBbLvfG;k48z>27#u3mbhZQ*GJ|H7^yT1kgiInkB0m>k9=+jET1Q#R073|`_O3sj zp@iUxP39f+`*upJl6ogj2RN7J8=MsJnPSr1ZxLYtOOFLL0Fs7CL$Pp@7@QbPSJD`- zRAOWzu5amJ_HO{!e|#Je6eP@!j*U%;JQ45Y>6O?dt+YQU+&F|DP7J( zx?W4q8!#;%$IC)`;egAq+n<(qN}5XtSmu)ZT@j|obW>dhi0rt64WH1lu)OujMWFj%}k#ExpdC5DV*m2FpfsM!|#OSA+8WrLY1r zMMIQgj71aj%)n2$P8(c+SfD~hMPHG#wlR^A_YJFK;otp{_}0PeV+vuw^7U_?f% z0gI6YCW+Hh)LU~fIXU@0^m|9qhX=YWEVISQB2AB{hpQ-R*;gWHt)+TxW?CsHU$So5 zXZB+mHG?V?1W~y>S$P6OLq9m{pRV_GKP)r8Xit1+`ir>=7)U%pI+;seB3bPY`?DAW z1ZEmDnODzt)rahc68Q#=fb)~gnHt-~SVmJ)XDN@5r?r}n4Aj7j0Gqr|Zj9oD)YNue zCL%A+-1MA+G}1FaFH~+IeNCiiu`m8lJ0NQ|ylJ|B2d4owEX`35 zPzG{hr7&*=-=~|cv@#0Bq^lNqNVmkUwp1`4^CO5lES_P%01MGAUI2ij%`{1AX+F1G z_PXlfYTrWqOYKyycJl75?uu8P+qSe0ACe_!*7W;h$1=*2Fw5S7NruA7;1|EOr3BQo zIC>-j$T=!xTg))n<3`=1eHuhKgsk)kigJ2=8Xukf{xoz7zsup{D5&U;oQQw{oM|q~ zu!s_Xtr&Fk`{hCrU1%0?HLJ|zMZ*X=2OUY~RCAkVjMJOmQ=JnSe!6dIa5{UXyf;;% z>L)+b_Y78oIhbwjCE0rnzxOY<t06_si5l5lGs;m)HI%tO0n_?arrJn)~I~~ zy756!DgXhKvRO~Q=9}I|Jzv?X5E7yCYdT?OX6AKDmQ4`efD5sxzuZJOz(+f?=FnlO$ZfP20*GExmPYYU6YA78@G3s^)v+pQ(fnXuR zEJ7L2g!qPr3X?8xVz_TCT?i(@J!0*E_0u0uKNP}OBE#M!1hx>;c6s;6ekQ<`H#If2 z9xGFrzLkV4X3__kAA+_#{`E;0By#ijUU}yoJ>HA$p)xKTD6}1DTQCxr&3gT1j&UJq zNJ#Wbd2)aoUYGrmPJwI_)DNZ}WnIRH42L?Pn+MFHNd&DBf)~3)zQRwRmABLF?NH?O ztd}jXgt0c9`q^z?jpxaWpt^!JWc|CB)33jW8C~6*N7-Hn#BxKRAF^Ht^yEmOcirWf ztl)>2`cu29Z`$EmtG?OVMlTp3@P3=d;E$*NDLtOA2v3X7UAUj#Yq>$jC4!BKk57Y! zH<-opG7dp5VlE;{uP!vp$Y(yCo{^1Kna>%7-i=Bz>nQ>m zg<`F>Avc_xY=DfJ?!s6#&=$PHp+jhMuuVY$QIx9rbGcz(tl-nV;zs$lx5%IG5ig|j zbQW%ZUW-+LJ`zI0|GF~k zhVSn3APOh7pujXsG!(G-h6yqOfr0Yw*zKJY{B8(x>*dAM@65P4q(#v(GBS4g<+$E; z8v{WAUfM71`l|aEsJK5*JJP^2(HhaQvMOAbFDub4p^5QPH@lgKGUkfFzQDHaG^S*y z9A*7G<8qeTfG;87D6R|PeZk<~!lf(~%b;HKEyGm-rv#AwrPoOMAZl{bEdW6UnXI=t z0s=y5O$9*n-5zhYz7G5Q`|n-cZf}1@_Bd{Vmn1b@+f5B@e!SfS5&46Tn85aHJiKa< z3W0uPcy^332odWI>C<--de@gOLDg!}w_?${{vtzRu7x-yy%f;=%cE&Wo$H`BVN?D8|AA7VX#cAr{Lka~Hw^Ze zW#1^e=ANilq@sN>6NF74HWP%yOuJ7lSYTt1tDe^3=9FsB^3dSss_St@ks;w547Vm7 z7&0f$cvKkbc=5xY<$cBzjb_H^0O3@hY92!w!lEpjDcl4&H+ildbaz+#(QA7gUlkhd7n0qdPnGB-2%2hKFYtDzS%3S6&vR-gCe|hB z{wPy2MJRiEdTG2^=N717=xTGT-Q=iua-SeR)Gg7{A@$C3On_8%xsqPbA8miG+NGWd zC?3btC4yNE`?dz7t|X^7+TbsH2j174UvK|D3MWp8k4SIOZun%MYr(vFfVcEu{q@W2_R`F@-DW^#bB>#6D5{;|Iq&wlWelcrP))N@TsntCJKcS`MPZqW$dZXMAw&f1@!b$xC_ zJy^=pqQ)igz=ctCe?o-M{**ypZLtu~sZUqT89Wy#n_t+y%EXtDZ93neJaZc3`fxv( zBH;9C$->eSvZl?}B;L=7srlJ;hKsk}^?U*i=?j08Sz!@7Kd&ZxjZe>}I`7dW?$@S1 zBiR%=LCL2^s2xfodl%K~cpzNE3v4!0bvN~zQ4^FWRH>guXB7q%cR;EPU{oAy*8(Hsw@9(EW80um&q zL_yQuBf+lDPTM24_X*>*Vn-D4R}`NS8f`NaukcJKjY+#WO&6ME9y+PRNK)DKgY*VewPh64jFSbfFISSvV+J0NIkY%=eOqLL8hKqvhj2^FqO!1Fqkmbjno@)|E`fh79xz&66szrm_v^L>XMjl*GN?mC-htY!jqELP8O-EN(^R%V-_68EiVIoVt8J$XgZ1nkcnY_BO zv;E|KcR}>)GgyszLkBdpIZphaB^GUOy26Nr^%~Hvt3Gxy{k8jVQ&UC=)*co4z|W9W z)&BHh{p~R!iZ5-6IQRli``?yYNYM7sPO|BgsqK9?S@2xQN8uN6Fl0uueN|1XBW(dvc*5YJ!g`-s z(kuN6av`T9bWzQSXVd>xxzDc=h1-=|S4^zQA<9>i7J)8!9W(Vt=9*+K1V-T7^;cK) zE|raKT0(EdFXnR$say?{g^C_Kt=zpWU4aE->2K)>*C=T5Ofh0hoo_y`+4%F%*4reN z4$KpXN6dHr@xEK(*L`hZ&a14FU52EF`pcx<3D^#s_GB-gaH>R9OjNyIygxyU17Xan z?AuIUA$tlh;mvkN&t`tI!#|8J1}{d)IXy8^WL=qv^hGu#2FK3zG1bT#C)n9cUSE!VkCzml(i=ulVkz07Qe#^q} zV-{jJ9{I9a5m;@xSXv`JUo~vAvbB{)?;!Ur@W(cs^(cSS`Y^WQ7bI>64URCIEyUB~ zW2g=^!B${h`rsDjLn5jA!Y?=K`TCJ`291XG^(A-dAv!rb^(3E31BK5&PB~a)Q|(jg z=E|7XWsZZ!QFZh`XPyM%vglYvf4frUc78*sZv~85qxHS^w*>z!^0wai=m)z@rSDax zj)!L07*VA6vo+-FK!~#s{w4f>zL)SHChn30;>=;J*B@NT>pMFsZ|BROB zXn*EQA_C!{v%V>k%6IkcMUZ3hOtqwJG@UTN-qnOCM`9-b2Nqzq)S$O9>TB(H8=ABt z<0Er8Mje*GESEbL`ua}b1@Zjp<>9RT<+zo>4r9rk1nkar&Bc9M?`R8IC~>41+JWWL zPhRJ)2OC&&d9t~7g8ElI*~VcZ0Yu_Mb^Bb-lL={DN|4s!-Hsn0{7Ttses|BpezE#M zS5JyoBcRSaDpYGGx3yXpN#+7a!g-NWdDWmfw^3nv9Ch3g%P287`NeD}YYWuzl93et zF27f)BIU)9WW#!rnxFABELg9L2ZW2khR+f|^+p$YVi#LWeMsZfuzK)ous$%EK0MHr zjwOiZ6il>AYkCq@GLTG7cl}A%sVEi8L?1OI*I7v!663n+^B9H6N=B-SGx?oyYmwlPKYLfn07`u~I&SUo+j%%zgE6 zUS=kHJ)80;PEyHxvW9mOFnN$yQ8v_&32C5>hZb(|k9FaOcFwJ^&xSJSfMaG37hdCe6^qdj@a_}jsBOp%<1@Uy2d zZLdmU$lZ7tBcXu-Dm}6b+>a1inV)-{_?b=`zQj`E=gCH4xXV(&)Dxi|bdXchLKj zxbB?gd_b_57~98hb6n89lk%Lr11fg4&-Q6;R#~8_X(H`DT1(nCnuYJPHPwEZlkC{a zgA0%Cfp3ug$^DGA^lO#KFLZm7F})+@7>PTZ)Tl{5EEQ5i0`7Y-7E5)3i{C+(@=fM` z=P{}KMoeKtZn>33z(ERc5NGF;)j#9OHtAfc^M|{^g-BB&52`ZKZ5&~Iq%eIdPCTiP1d~Kq0 z8QvxZ7tmvN3=R&~_zolpsM`;Ga`_^gHox}sIWr28pU(XPZxt?s7WSIuVvRc}fDRk) z^i6-~znQbYJeL3&Pm{BxPYh|SD(Jkl3b-2)KjDgx2A>rz8U-&;#n-Xt#%%0H;Sl}+ z9K>>pd}|sNW?4iDem?#-CS477%be2#-Q-~qgFNm|2=&lR|N5b6Jt?v(g)^PY1+h;* z9F;+pV+j{f7;U?PzduxE#Mm76z4eHMm7uFzU~!%eZD zwocR6#Xl=qz8Cbvokf-QZ?kKmavbaEL_`b$sk%q5=NrH`9n2PJXcna1={no#OB(G? zT)Pu-fjpYrW>tsGG&LL9nLY*oZW1_Vt-sjF*Itxr+Jv} z5E&|ZE+R%ry|*=(OxN5Zl|biT?=O=Zwd9mx7KR67i15$GpUqOh*ZhCroqx8@bzNOJ z2x1P2M}F?;dSI8|+Gn5%j>;`lJNdDizoraT$M}n3hFER`uaQnVFGx2cD>qe{oQEcM zKujnkQ|_~xpa68{y1DszW!bA}zqWBOR;+jxrtPv)>Da@n+Q#%jR6tnDwto(?*x+7t z<*8RR=Rm7|3kyoYph! z?!&u7S!^=&o`*9sij!@=p}ikG0B*2GfszPjJi`<$hd$-P{oP$$=bOyXq|g%?nYtXt z->s=dvktv+&F@`ZT}M85+@ZP?L?yCY9zf9XiE(ZYyL8QGYB;#LXJ$9`#8_mfH-b}K z&UeNSI`Dc`8*IradFVEdnkLPMv-g7CG#$1zeo5DYrPu*|+A=aPnE1u}^?KVpX;N<* z)Z@8J_sMMwYx4YPFrVxiIG{9R%J&)_vIKFGZ{m(MDXMR&($9uun~)ik3YVxhtU6Qi)|z= z!>D)cwgBsUD6V-q^QJuK{?W$FO!`UyX5G;U4{!WE*w1LQ?3F}o>V*ru+Z~s+!?Z9_ z{xzXhZM}1=+;>u?zISQ2%PC-Wew<98$YPXx*l3m8<~ZNQ-`Efg7Z;KCOYNtIg2HN` zz8K4VwxOmHU2Yg8fzxL8AJy&b)a8K1Oce#)FSq*Yp+pWuhcht!h>fm#H>)@C=Tm9T z7Bi)tj%1S@M)$RkYAdscMfgl4f-cGkqetxq?Z zJy({0`~>PXs3RpcY#a@a^=1W;#cXD%R+;5svUN}XVa-h^J{x!HbZ~onSC^t2WMZa_ zcT&dZh9iyNt#vjq!s~QHx9*#Tl9EB%_cj%OV#!>Dgdl%#jQ>Aau_GT8^L}bbwac10k*2Q0v2GoWV>AzRut%EnDgAb zNX*sXK{-C-q0N|gjsxkoguGu)QhB)zxX~~Xwx68-#c7BCQx=df680N`$KbNz8c8l*-s(-cQpDK4U>7=CBhpf&5vBD zNd^EZ%VSV!)dcn)X&G5vQC82Xyir7zKZq8g#1f4(sX$Y2_r6#0~D8#pGrs*4%ons%qx>^IGegdVR)Tvph!y z+$7#`maHZx^uN_E34i;8#@2p_^Xr(u3BiqQogp@4w$=4_{PTp6fj!kVyOVo$@p5=P zW}GziwB%?XSsVtf@zo!{Hzw`pXFKD^PkK+FNcCS&enffPjl{Z1$J`zwO#F=>6H~q~ z;dCPJS_U>EWIwKCwrs;CaGS3lByp~1jyj=U6WDw^2|veasa9*7(SvLxLsFt$LdN5L4`Z#3*ockm{2L^ryc;GR zF8`dOiO}EXUCK0FV}h!rVY$*jv&|vC1NHh{7f}MnTmm~w4iavVJx&Y1(q&(39N9Fk zFHPAIR%pI{{n0I@qmO=I~8pbkN|r_j9aXk3FEN#&4S@@i(R z2G5*w*H0`H5<$EG<6{gdem@t+=VfjXG`1w$ zICZ}ZJDQGu1&hhSaw#Y{_=CV^`$(6u>v>7vc}-)I5yosv-lP20nr=cFPJ|#QnjDiZ zU-)aVtANOAL5P{M7vD2dgG-MnT<@ zCf?mCSvbkI6N$E)N^v)c(Z?ho186f@NjkIH)g|LUf=zv~k>1k|LbDCLe2$emlYCtv z(Z3&?eD(PuS7>6TfWs~2FB)4%LRs_KGDd~=?b)FuW{)Cg6aY$?_EEzA>aV1av)>+t zxo}?3607z0ig1j-?HcMu_P;zhoUV+E3qM+gEsqH=)M={ucMW@QKPR&wJeZs)xW}x? zL1=t~QlMIKG*3*BQZucVjWvAb^GnISB}4eyt%*_t~DuQewmv3UnEn&#~7ezdZ@}rQLA%ej!Lpzj|!tFPn z{AJ$g_feQxd%Duirls{mbbdix?!5i~tTZK;E{G!NSq73! zJ_CT{S}6rC)cbT(gp*$5H2^_qsMY6?Y$?fPDFXKYSq+aCiT_@06AO3q*cU&u)XbC4 zG&)QPZ<_yYxE5AK2pfsAK2`?c)9US-eg03~ca|a8P=Zhb>`b#??=#3dq+&(&RoxAv zyK(vNP*2a0)S8{SZ+~em%n#eS+^$;*MI!?E*-#P2FHBr!5@a%Ecd6KJT>3Z$v)Qtb zCGOty^VT4(L%3@!X9Uk)%D?&aFVUpOZtDM1E;l2T?fnN9@P9^40mz8|)SAz5a(QWQ zXJ=<+Wo2!R38jQ8C@2UE3u|dFK9$yoXH_s=7R>TGvdO(zRM zGj68+1KHvU9B?ay5Ifk7zoi5emce%tSpkxah0!^tMit2bjO@L$ug^(k< zO+Y{Z;&v|I;sqO%-{^etOEEXBv`e1NvgsyA94kiZgJOS)W6S<5~2)#M1zUS!p(N3Zxr*lSTCMnNT1`>5FCL1sWTmX$jtvPvS6#;(kxM2JOvY z;56F=h{(u%K*fJ6=xp94GhgOWdqs(-QY0h;1?&_#St5(6u zW%yne)Iz14RHC&kWG&n3goYd5X{kj4^2adH}3m<4Gr>7mW+s z5)ehFa8KFF=EtdJo;e|3F(J4=!dx;B>qJB9-_pte6TKtYf@4k|tYIvj*H8ysV) z%ic+Di@4sjgb$Y&;Qa>z4u{DnW&s*3?m!sR{BW5BR4}Yf4o8b)xw2wQ!=TlEB!~SG zK{yS(yJ3Z5yIc%r{QgLr43XVtvmfyEwukdG1`0rX#DZ8f3e+*AFV4=+r0hcTNRA_A z1s`m|sJjy=aKhjA{utTq2-+M>q3_2W{EMJFyczxG>W2miQ}mNS!eeTO+v<(!b2Lfi zb29K%%@)T%#y4^+EDC0YX~iHiAn=W*Qksi6ZrKxGmMoiqCvZ896;$I~Ow-cFPNVQpdW>*o)O0cNG5>-}$GI@wLe z#br#UiitOuO7*;Zf|RNh-LyOZni_@BFY%4hU~*p2aZorKKFc4+1Q5?^qF#wOJcDD> zX~=5=Gz5@6(W{rOW5XnW4B>V<&1QY~=FJ-(9*yaqfq|mP$mQi_@ScndprHYakx{#j zebUPhKGUCGwYd8ROk&83Cc8bA6dC_s;DRlieeE57NXS!|JSJ8>jbLrpRK?_Xeh`_q zF^7Nol9ZL#_4@B?C_2L-OJK1O^V+Akcv2Pw2M6!xDM%9F23v=sh}*@TOm;G=EpflM-|*O7{wn;;Ngvq{U7 z{T=3D{-EFGBzW&Y>8N`7m!9NM7Cwz&oR2^y6%}!CyEtu>yP9zUNavDGdI0|2#W4p?}-{v^(P!|bh#QfY5z7=tc{VMT_-9oDcR}_7<-zf z#TqLZ2l91ex!~m{zx=NZiG|{Zyc1I~gKOT5fgvGUO|INkxEc7u=n0sL%M{|KD;B1U z#GkCRqb20R(5HGAiPmKX(*z-Sc)8LCjOZ!FupAJd`&qb^J|OOq_ehF+jg6&cww;H9h$sa0{o!j$I8mBxqQGv}Ty@g& z_;8ms;*|}{#67Qr-bEoP3WI2cv+D?zm!uV0|9-=mWBt*7rkGK6<{A5^@!%glVVXoD z>Ig8=h0m+u*twXr>wJ=s%Kk@tZyA-<+qU~kBcRgKDJ2LJBHgLdARwKBbVw^*(j_ga zfYN!>0s=Q7B}z9aB}hrbI{82AS?~L=B`hN<>Z6n-4sdoFBJCrWzDa^21QJ zh!v)u=`->)z!QC?NaWN<_;nGHCaqH}z!TqfNKHjM?N&jR@8V=5?D2=r?TfiA><}%b zt~9jM<^Z4=I!dT}76~U934eJlXRipNF!373b0u;k&{<^6fl-}aPK{Gd&-em1Yc>aq z59ppULBcxBAq1@K2BprgWmw1rKzkHYA-8A2!0o44xWw)AcT*Q{X;Ul~8(X%n&y~m@@W3@mq<|O81t-$7Aw8hgL#L- z`)V5)<}{ZH!6P>n!8G7S^dSc{&25}63EkRXp}eOMG+)}@q|3vnq&z*{ZcXpEJ^P#; zw3WlvdN$%yft176l8>e;(y3Uyyf|#tHuUWDSqCR$ga@jUqAlg*6W9UNPk4$;hN&pD zuvLeomzS0T`+0djw-5ZTeq|8Ww&vCSyZJIE@!znxQ90jVy3^P1`Cu=dUJ-0^^?|N#)xRW{LF9onb^`gf!cT84maQH22~)wpq9CS z`uQg8VZ*lr4;Fs}%2fCSsS1I+eA3fOt)~uYoR_Yf`lbmvlp{@Gkdut{@ODBcLrxSi zUxNq!2R`c&^jB29XbQk3!s{ZP;xgR{3WZ;SNiIT;dd#4BRB?ii1o z*8ZHXcS#8nGcr+#H6|OYt$F$Wa`I_5ao$1@L&#I~hG#!Y4cIr$$KIw_Rj>~4`I9Gd zV7do2yxizje#0kWS`T{)Qr%b(lx$y8K;)DAd1|)=-G{Vj5@eh96O|Zs%G3EnC>&FY ztCE*1$wrP?-BTbZ4estr?hU$Uk;7E+} z9?!HHA>(u-FF$Wn2d~D736Kqgh+ObFYc#sq`IwL7EB@f8J0Gj%o)#(>9%sYLW}^GA z%OW@X^h)J6g7dWo9EVf}^;QwpwiC{9z!#3HZEBp)!#)(pB$vfWNMq5PDCu@sH}^Ur zVTeQ8bQ(}1Dp_K?pM-vjpZVFz@y!EaY1Vt2JjQo_m4N>`^&Tjer04!Z2<^nH^fHRH z1o$wpfvZK=gk<)*O*V2iM&EKCw(?r^V|;i4emn*gdsq((>EO|-=PJimsG_vX$x6f^ z6i#9z8m%mxS2M}$K)v0%i|(qUL&gvec2hdM6L?u7v$C|1H*W@2=@=Uu&$DFt1O(XH zp^f<3QFe3_5fVD)lU1PTO4M07z~b?mhlSCjfmWwouvqg zK@`P;Zh@Kvv3Yp}%ZB3AHx{te3A+5uj!+dN2oM6J>ZKfl4o@)*V%WZS)UNx+{Bif_ zry#@_hOl(}JC}4K|CKC=M%dO^Z1(7J)dcBcJb0;l1~MT!yPo?5+&y6m?8^@KUuZme z@&we|7{lM%L(RkguY^SZQ=;~-vI^ktlUajO~t=+06bNi#|jEVYe!Wt zW!xm%ItD5UTdGT5kXEeHKG2YlH?yDJSL=F?T+E)xUmYE$;sO0 z=H^eHM4mv3B*R}>@x+21PxXS4o?fzS?DX_>iNu7%5QBg`TSkBqV&d6W-?=VfHprVE zShH(Pg#L41d1q&5?d|Om_8A!&=mg{~{E;#W`ubES$ZxU1mZ=OpaRWRD(^p1@E8F4! zn>G9=-4v31>*4L)*wD~`K>X3>3J3XpK1e{1KP9)nhD&E2(f#nw`;19f<9|vp&%V*i z#0LfjDi^r8y6*q^gK*zAbakzcqBVyFW&LV#H{BR>Mck3)V1NHhFhkgCE51&4O(+WA zk?NEC#(n3Bkm#jVClzf5`hGn!+Eu0?Cua*&(DLyS!HMV(E9~!rB$1J_PqP-Dj>}-3 zD0g)R%AE3})6-9b9q=t-yf81=cY>|-cBvD@(H_153wu=9FL>B5iXk3bQUK0Pi7U1l>SVtSa z8NiUYo5u_b@>iWpW8%jDb0?@T78CBD{rzIq94SY~KM+8Ja+8pRgei=bG21bTRV^3% z3SP}LD;uy&aTv)^v|W?^2Gz3)v8UX zd{Z~;^$9W}W=3$s|ABpE*MW*q)CEtqy05d-0$c&$in#ch?obOp4N$3OXJ^Bn-U1TE zD~0~|Psz>Py~BC(N?rXKf_spcQS;mCC@6$AlUzaq`v$NpqtVDGT{enSZiK0Q=?}M$ zc9wvfR0EI|2$vwVBx7XP`ltypE@XrctVhf@$1AXI(NsHGv+CaFGTa;m{uSnk?jNUO zh|@+Z%;X!HE#eDYi1PT%{BjM*jn7cuE-96*}C+&h-p`dcOO+l6neZu=7gq1J~87z<1G(D6kbo@(C(p zsRB-mw~c)K|GbA#4>^9F!Ap)T+e#C*RS1~FN~xHH)H1|gdBL%Qs8h}qdLSaAKfVM) zXlrbnuy-sSp|^Y&f^S3I?Y@j8Fgg0v2jL4EW^4`>SX$JR9GZ48Cx3*g^$Yujtro#E z!}sw?Dv!qu!YQw_2=Z<9pNisqU!8>cX}0ECFU2p<0tbj?6yRBPhF7MekE^xGcA^rJ z(I!BotUs0(CvJETcY{mj8Da)dM|S5Y2O#iQx9lh}vJ8C7X>bC%UA85yAEr&2?W$in z44cRv>mVE#(j8jDF)McZ0mu+%@JwOBRHCQF*kE;h5>_IToOejc((d;C!Gf&UZzjsk z_4vs=*)kI8r9-l{mDe8eP8cWD{UFr=32yN#$Q1-oiI|`K+1snC2jH8tqy=pe8sIX_t)mFKMn2MEyMK2xusAI>HFDmFoK z2%e+2t*w_JRCnr=@D=}IHTLW(1Eo{~FV0x8Zr~VjJF{Bg_H<<1;hV3#cJrUkJ>Lx|s=&;KAm^Ui0CsMi;U`U6nNGT)p`M zrMV6s`A*sB$JAqk5HKbEYk{BX3wmfh;w}}{R{()B{zvWP3QgR&eDyn8Z;fA*vu809vp>Hf zVJ|LWVq?25m~wRFp^0|n0j087{%(UJz%~@pICiX$yvHRCj=o!rVOKmTc8VAEY?;Q^ z2zN3#E-nuKyzkK;`mMmiTJSKLilDuX9N?HPiS({%aQpoxIBz8=?^&g}BHzQtmm4AJ z$(;tD?{Mh1C|zQvtLoCdsPsPE%JIDSkgU!l;#A6-vF!ND+R{xmGIR?h`-Dq@P!LeufF-dE+y0pcC zXN}jixD~1G86$y%Rfgyk5E5E!De^&YCUYyn0J&0_#FFCdVQ0ceS?V+m9fU}}4n{}? z6X~y}mm6=LHTq(2KvXVaZkqPcA)1qad2k4))$Mm$c4UY>byM!|=r{PkUs^QrSbhm3 z@bKOo=Qe58Eb}#C4M%7O2_g=um#@Zxxu+C#? zMz3DquJtzCnOv{2qmYU;DKNX`HZvBl-TS0>B$%ue!RmExzn_^i##KECSBoW<{Yg}U z<;h$5*w&Wg#N94Kw`?rpNuc57)y9$k9bj#d)gnT|jGZ7gG6^=z5$>`_m?gfw5|Js3UZktdj>lELqvy zb&d;C#DX#;kg|wsUfjg_0Fk}6h(TB?Tz>~forkTC*E1UJGQ)f7`PdYSI?Nw~07ddn z(50)iruxNqoI2ystOX(2cb_b=SEy)cad}d|nvvNz zwtkdQs&7?d8MIqB05Rxf82lnphG=@EVJ*iHpy4(z=}E zXFA1$7f5czYw+78)NXI)-yqBlqk-muKl?9$dr4r}+9@AIxIqjAjU8;%A;#iJ&3gT) z37s&_H~BS8h5B9V_{@+NqGq+PGb?BO^MV>L8Rj=|DIydjss6uDPITNpfRQB5pzjQ3=x3U3DGAej8%}n+gfOHy0;{=PYgBZ$ss4d{SRkq zYz&pS>M_XUWQc5`X#lAa^dyL6^2s+BJvrDxv?l7JTOARqP&M9}cSWK2Po1y-GegOL z$paI+-j;F5Dtbc{(Xo=l~goLg_7p0v4Bza3q|26I>rKH?gMdnGG zV-cq!5CS$Dx*x(e-y43Yq?{F_@jm*K1BMkVd;s+RYFi(^&XNtWoW(y;1LoL1uqbq+@^~Y;^HbpB9Y*7KA6z?5N2y`mfHIi zl1Oi-Bk{=amG|NmbE zSO5QBtkD0K`hc{P$?^mZ>GVrfI?&1jzP~s!&+OLi z+i}+Aj+68SPN$vrD{;x?<&*_uVq zekaedU|_5mGXXWlwQgZ`2>O#=!_Gj=DM5w2B z|HW4|kh=%^VxHK*h{tWer*OB%7v|UR@;vLpVqNLgK02!60s??gp>LKE%Nd`~A3vsu z3r~w>D;TB_m)fgc?Dcmv{PAt+yILjm$Ob$SRc$FQU|99O%g99YJsWQ8=xCb}{Zo)7 zBiA<{YW_Ica{Sj}UZGMjS5DB|&spl&ULzExZ?_c{8L^!o} zhQHo+G;7q|Zf<%-BO0mtfs|DTVUSECDS5oOv?Rr4bn<*FvJff%6Srt8TXEy2!Owvd z=gmKoaZjz_BWl%we@$l$9D9^MN}Jr6G*kCSKARA+_{W+MV4f+8Qfc zYAw~OGjZ%0;T|3aovd!Fm#4aV{IN4SJT7_z1NFWqJtfX7M=rmD0t599*6Uf68XmY7 zA_d4(CE3&}N0XOY8a)=yu(n%*eR|xNe8CmV+4bxGvN9F#Ui#ytPv0Y>!X-`TM|biH zM?PwPDtaPCEdq9^rlzK`QvC+s!2#3G$8KA*Q$E+VY)0+BRcy2i`WCPVv1yc|zR-RC z{MUDO((TEXPAo{4_?%o^?fLz9K%FM|4aVo zX!ItPSc6FdX)Q_dT`$7SX|IFt%b~Xt7#Zwi zXnsGfxob)s=fuMiNT}a*gxKx^Ox;RzU3YHI+3!Q~?#F`w% zWX#iWl0Ll?dnqzI4=y{BkD7CpP9+(M4~<^i4uV-wzr};bf$QBZro@%(UXp*l12p71WJ? z({@i)K*is#w~ROWaw}R%_F9GM4yv~H7^u3qX?TAP5Cs(n4onDg(@W}BdeT`q<%jc8 z6>8qft|7OdX?nLIM}ueV1Ey3mg_o_-w4yvfru(R_eafsm+xcXn z`?}%mteFudHHFu46<2o>5Mu%085JE(n#u?|$9mMgV#8XU7E!O&Yw83j^{Csk^-*=e z|5sb7TN|?23wcnu0DfBQU7(8gRd0`&&3v?ItaW&5MDXlSSaoD~b|d=vgI>#{V=Ru- z=cPOkxVd-cTV|B>YGn;Rjcu$T;Z^KKsV@|+bLgqNMKj%P6HT=>K3U#(J2*!ebK*9Y z9tWv|sAx0IbnBrxy>|b@!9@i#Yhl$Qn$McgkK6}F|89(i=k@l3+^tx>`E5aR9ZwP* zF@gsEsP-gxr#+XV#%CI%y1Q*>-jFekX&bHWt~_pXQ_9!tLT3fI@Zq07RJ<>OLL0m5 zmVBLGI#Kg_efiF=eQ~(+91z1NbKcujqRxmHHS6GR|Ev%(kqF zMs*${wS?Eya}_p&uLF$;*uI`nR((*C%F|D+0u$-ZvqHyVO>Ohp0C#RLd-7LQ9?jmr z#CfypFa)nrWgvaCyoMu2>GHlcz4X3Ac0ZDsSShm*N9uTx~N~# zfbr>TCMM}D4y$-^vBq)~UV=t~NHMep|Q zgpAD0IS;$hgN?D-^Z5?114ZaXF zJVB|p2zfHY1t;i*`Df`$B-IfXI>3wDy1NU^d(??uQ^l+-fs5N->8z9ERo5r#)q@#aa|JEoX(JKunDbP z?~Qnun0Sj){U&Tc#kwtI21F&ou3!aM`1DCz$}Bg}=DST{WZR=pKMJY6)}%hx-!Q93 zbrBX6w3|UZJw8#naJ5Zh_=@%D_ce;b{%jRxQk6=&wF$1J6+d`g!H>g3vN1w_ZuexL zoO@eJCh@z41m?t}+Mcb_28#6hk5A%2r>?V|9j&)HTqujwZ#aT8 z)BG$sKgTp_y`rL`K!u8zCcKWDdl)uqnel}L-sf;O%k(ndK8+w|H!QKFcI8Bt)#Bv6 z*xc@EZH3+D%9XXSp|WUd7JQB$Y&+G|0?N`3xn`%M&n;A2f_Jq)k;Jk)uEG3{d%t!& zagm7XwejDZMN7aR#{r%2DDH|(!~0{2B5Db=B=YtS4WXu?2-lyZJNui-JI>`rd4|4Y zGaXCmgBQuM_}iPCyI>lTm6wg8J+$uaI{Hbq_cs)dbEV^@=RkteecI*o^~eWV9}-1j zHotUhE+!`C@b6!_!GW%W4g6v{q2uQZXHVWJ52?P+@#zGIWm-P#A5tv`h+yt_fEOhB zocA`#FYr}S@>x4Eak%z6h^KMkkgV_bwB{z{x?j>Wl<=46)tI;0?(aeoui)h=CmHWS zOqLc6MGY$_ryKk{;ErmyN2<2xwM9fkK`hHT!Xk=w_d8l4Psi7dF*k>~k!;01a2bSX z<$Jb9CMWDJorG~jx!n2S5KMiY9irAdp$T8pms)S$=6d5=_^jjvj?<|+_ras>mg^7C zupv3@&d%wWs@?Fj&t&se27;eVz9(f<(`MS-_Kf?E*Y>Bf%@fUU@-dnpIPazH)+9w< zSIq{StV8pue`Dk6tY{;+Q9c^f8AekHzP^0f4lnA};G$lf%^RvCU2m^3b-XUL8yleR z2*tDdR{N^u3?o)dx6bnW$xEBTOi{+G(0Ma4&Nt%M&nU{xuUB#6e&126lK&oo;-=DO>tB(}WMtd~9gcVzpXp%yD`2%%l9KYVWL5*RsuTc?{B-ELFKc{B2;E!!S%iv75V4dDzDLZt|0_=BL5d1ZT~6fUD(dX7d2B>R_4S6^@vAj zN)Q-ISmJpuxgrP&tYc?TaO^+O(9l35b65G149*uK(8Gejj9-of2$7J#hdnmuxDx51 zcg(HEx8XcWEh}>{HC==f6->EOb2BsY3pg!mZS~dHpPp%ScbX%XF_$U$M(-m}e*M-h zl?VCI-rN8C7X)T+k25MTdwHPjd;Vvk1IEk%hS6^P5D&+`C`=h{Hd!Wqs&u`?nuM+Y zeOU{BEUeJapCx2y#>$LT9z?hCa8p`#$y03}^OC|nO?!oc<2-;g#$~9yX@SlpYY_rU zJNjtPKlA>_ceK&=c2dY`+prGE54&ZapRIB8s?`ox?WDlr9bC9zb;VoMeh9L}}2 zlHlX}A z$!<|me)Q2N^d%)d1ux%g#n zZcac*k^laMf}cMRCj1{yP$?L4f8BC$VS~CDFKBBgYiw}6K2T9-iZnMF7|igjS*vo8 z;vRw@>CG37U%!4mpB4_33EM5iX|DuAmLZJg_=tizl%6MIA24yhYPSspGRA5^9VM=g zgW?)J(lT|VlNYGdKu9})QCn7cxv^JGzrz`K<|QaqMfA>t7?OFZYC3v+3p$3Z`iSyg zsr4TvQy`=L{P{DCq*~645fg&G_>W!p>*qlk~?;nBo@QFD-)RbTXPJgEGSl7;4+|Q`GjX;&(i8)M>KZ1LZ(1$VA z;4)~ahDLmxn6(&&weSG>YwJ{?7PCD{=A@>ec*9(bq@j3dANdaBz!U#15FyHRDj1;S zBSM0Ffj}UhW$a5$IA{6%#lW2PuyeIqwTReT?qAbxlG$Mly=7J<`=UHI=qPB}T==dB zIu0U<&Q$=s=M)TR$2PXTdea}x-(quzD!Q6(LfaG?+{w2F8FZke{edb*c3}$$YK#hI z=ACcJYijC25l6!Q6i?I-A)vOG6W{0qgJ(pnYLeMBm^EzT`V;>B(O{I*>6HM_YZy?Qm(bT^Q0jjh63o6nRwiycULHmH5ZZ7g4$$Un zfyeomu{<#dh>Nv8{eVpYK!Oz|nl!KeT?>d+OkmDgnulgPX$XVA1x$>pgoapqJPcX$ z0WOd;!fvWIOf6AyRd@AU!7a|-@$qqJVPExby-l2Amb*aTnti3+LeCy&#A4JGY((g6 zOcZGq+$0USS2kC^5V_{7n^9oCrfxRp^ZaPY-+g_X6kKH5aHZ%@eJa!mD zpl#+11Uqjt;sl4!CjQRXSQO3!Q|JMK?tHyh0h3i1my?Eg0fg;+bx5TxkS6o+RDu=< zy7e$vhDzNA8h?miNODy-{2Pqj;kYCw-5>?{TJ|vU6)i0-aR;;yOzx&pF+EC@;GV89 z3+1`>6qIEwCJKbMlhxNBqD+5_CE3MlB)%{I<0{Si$_t>>N@Z>{l|V!O7Z2xS zE=b%=o;yST@2)QS9EcG>N;W^V^rX)a?O>e$SuRWAn;?&EMhpG-8sR~OH!ByFzlA_i;bgJ221L|}Jj9&UauhHP>kWA_ z=|@ou{%Z1}H=n-;-0?3iP-A2ml0QYak%&37$?AnOUj{|OGL#!ZA}nhe1{)zERZUuk=62P zbPiSOx~bC5U zWs4b--9yrEbVXrP992D|6S~H}M+>3Y)!%9z^`*;NPVS=i>@0QnVc#}EpS_Fn zh;)WPoH6B%E5;-dw$k!V(~wMIcN}SD1Z)*nb}1qXCTC8>9>q5qoj^r0&CTt(Yi`Rc zXKJm3%5V$ryp?uEgcJ~Xn> zoOz*oBU^-_+214)<2@thcbdsGtAgD6a2|FWVPbSXL#MKC`62VGUD6*F;|Xb)5N2l% zY>0&wz(dQeW>77;tMx&UgZzN#ZR7*fgmUz~RD%6%>^xU?@h}c?raB@~0^|)cuCG2# zJ?rIs#|4zCE=%?wDsNzaaiVN9%o1>FKjU^x>Ig8z$3qN&c)eDul;o2#BHvujWXS(mB8 zYzbA(o3vsy0Q|i@z8ld~eP(2MXbN3Yd=)pd;gWZpL=7=CGEu zBRU_qawrQISqaNZmy9)Q76rpTz4OXsnMI zyBU(I%q}*R3d>`Ax=P5J1+5g!4lP_J&&VcgbWB!?-}nBr&KRuYH{Nr~U%uy|DZsBA zgZ5|&A8AR{?GObGa#c>RjLEC%LkCoqTHtNkoUGY^g-#6#&fAhnj0y(C=ULMI{c(En z)bH--p2P{{vFkEj7_T_7onj*r7%g;o&ARZ8N!i|l35VGF)?SPrpE(l0nE3n=;tPvX zT7IQ``)ftTaG}hq<0BXXNbgzc_Vp1SOvlT47L}H8nL&IzUHx@H01(FFhm^w}U*~?+ zj%yJ?dZWdiYx=!!xQ#d!CGn1@U19h2 z)pxJE!3_v{L#r1sy9JY{kbHhMqL0ubVln|$%m%|sLk?^Xf6qktl1aF$1iv9s$rN!q z87+ztJAQIpxwZCd6*^V95~GirY)f2|*$e*VhCjR1IvG&d@K{dTgK?2q zNOVjF%oSby>r52i?-*9}=R(^^njP27kzE>aDal>Dc`xE3+8@L`s)JCT?N+$3uy(PI zTIsM%FPDI@P;Xb{E?a#j;*aWiVT?9e+0FE^Tv=RKpK-*EpOj_JI`{o-yFoS|D;GZ) zO746AE8HJ??ij`OBK^i_yv0apYb_%6J@$p z%#S!u(w)99;xBwKc8ZAI#MsPayv!ttU>7WcM(z3H*=h*$H%nr8atADY@5@_52w z430;C7BmAX_u?5SnI7Swv$2v7nj~wrn1rd&pCopp3m2ZXi`t{_IuqtA7B)N9q?}d9 z`vj0E`J{?>>!Fjfwtr1~AZ^|5H`3l^5wmAV($n$cyQ5tmHl;5HaC#OA6U7pZ_8WeD z)WWsEXXN%%fw7N6M_lyt3~g_Qayu~s$7S90%#=A$Y!Zz=aU1eH4eDpFC5ocuP})MR z#mW)v6}!u#e>wi_UOVYZwqcFA(W=e;ha^v?Yn-pG+ z__#1*c5Hcbp7G}t<48_&&dQo&rKii;SX)Se@iofiiPkr97g=;weW108vh0?peRYRt zQe!smS71cMr}P|^hgF?lWLU9w=28>lEmzJ>Q}+H^a9djs@(*Usy;2ih7=b>@#Uqd~d{8Wy8$()XfK*}Wx@ zq>pbDwQXKV+kr2XD4%?1$Eh$T(>2vwml=x5`9;1m4lZ4tRCfu{8ODVtN~O}#!igqA z!{S!?+t2$Dm68&Sv_5eT+*O2`NO^p+O!IqIMx=n72BQH3WA^!*7ChJaTqiEt1bHJC z&hX7Wn*p6lJIUsXdJK%T^x*-Tk1Ty&Vh~`OW{;<&Jl}05TUL(BS_bqs ziqwtcd)LqztUj&X2%^_AYYJ9)OW{sNfBJEEsVZMmU>FRs4d99G)xdCTds%rEm#RU` z$=X^Q7<;=72Q4u&exV?8M8X9oBD4>=Ik`D~7Zel}5_~V7@_9x?kPRa@A=1n1ab`_? zz^rb*T;ydow-?#@*;(N{QHD|gTczOb?yVGrQ-(0pT}69V(J+H2$3u+?Krs3m=%;Ta)6&})|&WJ)AR zDjV^)6ORdb`5Gc?*=ZS{8p zRn5>_(pQsqC7_@!6UL{Gy7oRSBH|v(oBL-sx1`Y|W!4xkyFwEZh}sF3nMFlKEvC5w zN%BpGu)fR*)92b^kP|h%dlNoP9T~mFE<^A^I_w=m$HVM|#5ogK!htvBsEN&LYSAVk ziOx#5Vw!x4gP_X!E|V^^G_6q>vy}Oc0JE^rK&$&;=kQMEbUg<2&4+n+4d01iD_pdA zYa{2%GF-rY;OtDVJ?4LLaWy}FwTNSf}D)HD54jVYgOq`Asm zDk|KMXHc%HwdN~f4(?yCUAy){QASd8dRhz@=dO*%{_@vP+8yuC4BW5eI~L4F^4;6J zD}5`Qkqad;G}JNS^=YyA6tuLN(XBix@Q2O&yL;HOl#>T1>T?^t4OCQ2jx1_{KKsgw z*x`&tLeaBq%)KwQs*b+os)n05VL8)SH-GW!-1pM0+1ihx{yM?t&yeEB<)3W0ZzpGj zWLyaf)J|qp6cEI;zMPy}9=4mF?BZw#zHp(Jmt)eu)Zq)vt1Cvkh8x%sN64DI<8xSM}q)QsE*7&9x!+;qOvNrZsg9^QgMIrxOq7hF}DgU{U++NuJ z`)wc+d@jfA%6s2s1}{}LH8m9#L`q8Y!&CikxGdrJXhl0W9s)yI z%A6U^sZniOKb6a%5{s#lFHq({T8hnSmL^bkks<@NE=QFL5f zTpSz~Ev=VOXrAXNva%n8O0)RHRJLOPy0~mb)nZSN%I$fAx}TZeEw|a5 ztd7mv7Z?~iFQC@nhJM%A^NWHTu0SRxCj6qmf>k|l^*Vf>*yfi;o)3)-7w)FN#a;eU z#gy(j<5(Yunk4sew_-+|h*@Z#D&05C2LjpGv$QPgGFTA;_mE$9^ov%Kl??^=d5d&* z^G3OVEQ{!CsNJRgl7oxEvV;)j*V1lj!kMa@Mz!`#xhHHoAK#;Oe2{6uX!jQX@0$JyUp78l9v^&le%> zmGbqMh@g4@y`jX=5Wc>s#zt-MPQGFp*s{}WyQnc98d{1Jw70C&Hdo8VAP3{s!5++5 znmGDGXDN~sZNIdCEGREmLdO`Bz%!S{eu8TvYi8C=-ne;3#aJCjE+wtJ=I1wEW~bOg zM3^eLKxc)PGn|HWx0|I%*J~=oHfNfHuj*U6uKpeP$JEYR=w3+TyS4q zZ({a-LirQTSw;c$@v7q0y$;<=_tRZ?qYw+X9fla0s;a=M8uVql{}M}xHwWF zx60;bP;s8&%X9tt^XIXg=yG0|(@`dhnrB-aJyw^0@Aq+JJC4%kFugFXm(YN{R@s#mh7WMmwEvaQcKR?-I-ZJlp zdwOV3XXkqrl@uX&=cy8%Le*k(^Xms+@g22K9!G8PE=!&+7Y7S+wBz@8H-9Q>YikXA z!bPt7Ks(@|qM}l)U8?*z9*pyn__x36P+v6N=K6YeZf+L)J5|*HS7yEDTd*uFrl&(Z zOM{7Ag;EiuZybh``HE3#D3Q>U4=Q(GhzFu})tLF)P1vO3 zsxt_y-H?~UWouM)@ww9b_t;ysGh16*&7L=_jaF5fT0`oZnu)rlOXbEPW@Pimq)AMy ztZ4BZqK;iZ)R~G?i=fcn!_ezDVHx^4y~FvQMlKgcE6vh9!f<+v#}CLCiziiJK8L8^-@Jm z=d9)7rUk0at8ljLi*~*<`PMnB3v**(GtK+{PY;>Yt=RdVeqi~%X_{w_tpC$3STsSO z*aBnHF{=&ssWWM(ylA7uh(246Wz&@ zil7XiFVz!Cmfzjk@q=H#I+?F?I6FH79rDuk_VN!h-t2MjcW-?fBV*$fVNb%9k9N|o zm{Fqdq)CM6>M_YHKd()6D5GFtT>0zbWqK-$Sr41}w%HbJy*BW0gQ&~Khkm}ItKkbh zx!+V+Pn##inxx1wTy(VEvAN}Rkz-5+S>9)kZ7DI=+vX-&ecIl!aLs6=VVoevBetDe8Fa~UwP-z@~4|BI)jmW7d61#pE_y7JH~Q zJt_&mUq81PY&&d5Mg}x?Z>i;BZ>EA*C6&)1Cq12br6KY&~5x+*> zO3}D}MnasjrwCIqsrhSu{zFy3_8D_T+!hLM(tg48v_gNsF?IT|0drnSlwDZ+Y=Gw5 zw>E`$PvZIz|NQ=Kl2u|X2FDxuCgD5Z*auFK*%Cv#5VP(%SN7jA49YQE-2o^>zem#a zw6sD@IvNh@E!KPEtb8(}=@jmd2UsVSGkk7(sUng^yoDJUw!QB+y+`YzseOHY$apNb zt0AnRl4}btOG0j^X8I2X8i$KbQ>A(l2YY*a9f4?uoY?bA9w$RXNjzC}k_{J&?#AW5 z&r$fD_rAGF>g(&1fr?RXJfLl&>rRgm4`xP9!!gGhG{a7JDp{R&(1 z$JliM%BiSQEhoawJ`O4ej)-nF%gIcQ&64NMIfYFx%=P-_rs0!~Ft529oA~ja zvupj10E)b@RCc;=`Jr|Krn+?luv$IFtM;A-j72C+Vk#;)U;BrK&ej!4GS3m8pq9#W zK_Ke_DZ}Y(6X|Gu+kyxr&rC16RpK2-NaN;=C%&pY6teZT84}UGxRLgd?WxU+2`22p z%o)D<N_`)8wd#?-Eh-?}ui0Bl* zNb&T4Ier?HnJw;P2==oaA*5xi8=?H6KlY{nUH|od%~C&1;16#VMd!V0hhCrh2!|W$ zL~*WFyjk%e=q)mamJ2I^#0NYa8x4JDcyXadWLT~f5G>@0wr#^J4PYO##JqMU7$$xy z+DK)?sG)T7zREKlN!^lEe{uyu&(^B3J|+%nq^R{cUY90F7ae`FvOS)wK!xt}8Zl?K zdVh&Wnv!ech)v25?G+#8(;W>wY;1Dq==ZnrcQ+RUyU)56q^0>Be!uwIPV-pna6=@7 zn^s>bbGcl_xGI~z*0tt$IS75{-ze}r3Ssc6L+5o2U)xUmwGGz^3s$_4fb$;oEJ&hN zJ2HnH$%MD)#dF`sbbWIZ7fh-XK*i)!9sOmzAu9{hzg9qyiIL85xlCDLK~724RnoZ= zLMH&v`@&5*Iv#~h7oN9zYRW{)kI)K1cFXGg!fe`+nM@V%2CCC*`jnE}Km)sdv@kKb zf-m+lx?~pYTwFW^W89=K!u-L|yZX=X*AnsX+DGw3JZeP(j70eBIBz#*_FEQvWew0=aZ ztE&YC1@mFPqdpDr>d7R+9{8KO6CEeV$C2#v+j*Zu$gG!I3A9qz71gAy$g=ui;B(rm zlv4*W^m>PeR4@leM%1i(T7&QydU-Nd-9De5U3-gsb6xMn;3FK~1O>ph7e@@oUY04R zvF(X811r3!$t&yxMct8%)clU0bpyE$&wp662|$e2XT{;|!$V>kM|+dWUyYgnUI-({ z6P4UAL&ziOcNc#obb{GaABBj%B?%#Uzm-v#;C{cV=QQNMm4{lVBV_@{>yeQ17Obx@ z3vXKeKU=jM#_wv#68;;M>22D)V+mJNfm*4{1_FTP>HHIL#Xz1WOF zN*c~6#JIBc`i|IJTuf|TD>;@e_C^LBxwRJ*KHeIt*`LR#1!TiD{d8rodd)Z)N3uT< z6EJnZ-x(Xts2TsH1S?I!A*1w8LnA0QeK=wOQK&DMAC`uOMnglRC!9ol*wE1M;&ADZ zMI-Q|7ReLW*NHpsM(cMZfD=M{73!TxzqF7<+fStV4(+q=gm9JCCQ(zIFC9kZ6|i93 zFFW}d+F0Gen~vO4)AY?7;c{o``cc;FR|VmwRJi=71-y&SSGCEjR9_E!5s~BEkBAa$ zgXUSO+(UJC#-Ttg#Un|NSD*dE_N`piXb`RM4}_2z^KiCAVP2ie8t!+c?UKIVJP<)G zPc*Z9-;Hs9G@f?v*dN2tu8XTzVKS5|&h9P-ZkuZ@C=W8r%a72Is`2jnOq}<1b31`|%Hga9UE`4H$B!T7Q=uKicxO3`>Xijc2mTdhwu*^hT^Lq)8dl{x*dv2O7?rxWuT|* zPnU@c%TsQjxj}e-{`?tE%(uGY{!&>EXrA{+A_-2-X(2R5=lLBdRl!$6cf&PeT{MPYl5g!|2kB3;@2;8Z`z>_j{^NC zY$1Sq{P^+eiYch&14blod9mOW!&0UUcB3uKF|HaYe}g6tHyKThEX;>FMfuDR16mcv zWGV6w)2t$hToR`{{M~%58Cdng3#EiJ544Wn-pdv?rkmkYPf)RWk{s*d6{haW@7Gz! z*sN^qY108Lo8$qn&_=+OI5h+ZQ=aJBTA)OQ1V_e#P)U(gpJdq-Y~ zAWtq((qHI#-<<&(h0n>wwQ{<3P=>7UEjVh)P1PM09j&aRvoJl4kAd+SNl>gC5Dn1# z1sEStmxApPoj$=qZ0+MBDwp3UBqT71jQu=zEBNx%FB{Md9W}MUTXK9IMa9pjQEb{w zKgY)h1_s2%#TS}Z5EzmLUCZCbv(y%mclullJ|$++o10)vAV|Re9quoobdXA>`01Mh zygJ>ts6Hbl)%2ovik+1Ks{nPlB6Ukvrl-{;l&nyeK2i0WX(M=4V%r0B$o{wUkHJvr z(>4PO`-`}-R6b@hx*?G|xoyJ=jR4md5k&Ux_6E2HWS6e1 zrw3;OB91%)f5~jQMrj}I{gQu9X@UI0QrURzj~_?$9j2SZ`_^W4a#ZafzM+!{3Df3i zsjFwVeW-vkhHQKgzw6&AKv9XM&)F|1eOMpNCsGp7DC%Y%j%{?xIEDCXRO39SuYY3k ztEg_Lppc!NeN@O~@Eai5fFEY?$=8)V-H!w<80X$cj9R9${XU}&Pxn&>Am3hb3LxoW z-}_Wqpz`Wxx#=k>eN9Xxw4NFr^{JrGL_=^+Cl&tC3KROvJQTL-0BrdgfYvUDiy&|( zCa`gE`dBlNZtAe{{D)Hn2IdaXlX$&uYX?(rnO=UOij9p0^}^{YQ%>JooWp=6uh38u zT1O1p9rE|i^rkO^_%EKrX&>Pc@H%e2D;$aVl&ZjW^;~&f)zyNbzO0}O+t}C`;R0IC zZ?_6p?k5+p^_)GTvG4YS^D&poFbQOzVED!Kcc35YKvWBNv1}xJ8uOrW@U*BY)7b~! zN7IsUyarj(Kb7qj@W^6>qOthbY^-#;wpTmcQA=l?j)-b1DqKBNZ3d_q>FqSFxP5<+ zaPZt!<(V06p6YCdq*X07+i4lB3Q0?o>@AhuTv&`0F|&mBHBM2>ar_tMfUVkrV+nbc`zZJPzKLlHM6tfz5mNk`?_>*pt}`(};$Q&AsFsyg3Gu z4Nn4uBFp*OG5tX?0VlG+F>U#c@&}CuRjCv1G*l6-k{_yt*Ya4WeKpY{I`X^oE9`a< zj~H}m4-Y{TqcZg)7eLS3o0*CEp|c!tygNHj&kndLDee0VEF7;Uy7C?1Q*Y<6H~(Ca z-JSQfcoyC|@`Ve08&>ceQB9u zR9!%aH=kq_S=@lOUn?sJak(BFan^p%&Q5=N1fXq+cHLJXaUvldqoS_BmKqReLqkI$ z^Ayz7+1Z^Ute9$`XoD2NZx^cFGq^D^GKz_f)$t2qRrKkd%ZGam3TB0SO$+fC#Wj9c zs2rG!<5!o*t^_S?h<_rISvsf;6N^+k(7L{p-Ivz5?Cxt=a`R|p8fN09@?QmJa(s4Q zdk%OsB{Q?!o%C3B+u5@x8zaIuvaY2ZABotrH`dIruC8_zeqM+48Hv54Vq?R2f*sQJ z1z$!~^mAaTFO9j)JD$h zUJ|`{zCt9)1N0bMb0kDWeIO=oDSb3EA28i+{5h@7INO<6P* z@hFj|aK-VVmM#i&jb(2VzaxJJ$E|IJWR@HxNnEmr&ht|<0xbS2Ii~V6CE`spQTcGo1 z;Oes{T&6swG#3G5hCve!n>n%o|zVtn{zKM;V- zj9eTvh5{t*7b*x%x@3fe)22*8P(i zT+BrnR#sLfCnx6>F^+{%)&JpDXIIzc)Kq+I?Bj5O$FkkPx&(<0^7x7Q^eZ&XhfHU0 zcTk=^&QT_UySuyV>+3HsKQ-wt&CfGIp)5!#@_5#2+S>D@qhNZF*EEJ$@x4DCZE{x( zqQ#}PyPFt%dkhB^(Pfu`K-2=Jr>6mPCoeS3oTNedq13Yn5n5=Z}GmQ$}D1lK)9 zD~9=-*V!F~`AomMCEq4Y{-VD1dmJttqneY@Ml*17a&``XIC?;?4BG1VTmBdgP>%16 zWw!#*wA;k#LMZ~?L{n5xvJJ)c)4na1yS)1KAqz}>jsqI)eA6Om9_K$?a7^fRts?s4 z+h?@C!`V{_>sBPV7Fm-f)zgEjg)==oLFRvlGLMV{dMjmGF^fKCX1VQLOT-$fr*$@B zY7q4IN8rm-{Eyku|Lw7qp@~V(zw;_eB$IAHBt#+c2$Z3M&;NP6M~~F|e?Q0nuQRd# z8{f+m+X^#hyo=xkg_{s8wWEIp(wI?|syY)2cT)N}H7DnU5gsO{LB-6GGF)zVw`7X^ z)Wn2Qb;skTf=hlDbNRIym1L>ZXDxJ{Kj>@7le^JQ^^ES{#NP=#4*hU&{9(X+=cBcC zNpZ1+l#^2xg64DIHZ#rue}4%{NzLM4KuG^PMtZy*BjAW)PW9@(qUcdbtDey7Nv-0r z#)!4A{BH*AE|%PwMK?ebj$9q<451CNKyk0AhW#RqKbo01XLw$;>PK@s ztTE!Bb@BoY4D=O1X>cBgph(tHQBjw>SJ4b2ciRfy7Y$27_m^umi*AKVZ?;dO3FhDGt1 zE%rfwZ;xR6>3#?sj+WGIi(=+(+AzWuf6Z+3$EBj8Vrs+^AZWKj?&n3D(eu;AT5`(K zlO{=VDa;Ruz|L7}YR|+N z%655>-3OXa_tj%DF)`)k?1htzg4{v^H*@2;H8^;BY0*?36*sr8f5QSBMp6`lT`5Z& z-DU8{NOp58zz-k({(e{Q0kat>LnAmC7xKC}t{;jd$+VaIx1S;Z{ z#8UGb2YY>YH{t0u4xNHMJ z$7~qeI52?c{fUKX$vu~FY%dB~=a|?@N=niq8PahSKNji+q4H7$-GQ^Yn{d)!#4-Xzk*Cm+vUIwLtX~EWPmBm1Rzml>tU`2>Oz5`TvOw19;@ zB_$;z+J!cm)&g|WM@Y1qtB{6Enlw|a6*hCbzdgPpxppWO+B!0Iu@~iwzW3>3r|=~q zk=|?>6`SBKU0vNsD529*fy%-4%a8R$D`X8Wc&aK3BDTvmQ^f*?4@|>a%DLwUqxx-a zzNH7VTt&*ce06ob-K@=5lF~bUQB*BLPCF4v+;Y9WwYhpCeukvl72SL!k8xYSr!xT~ zG(09obp)i&6_t?R>kMMHS_i%k^m20wpwz(ym-g!-aEW7>V8lM zKNbwC1w0U;0k>$mSvc$tC2%-wy6`%mG2PjtD6(B}np&{!Kv59BGTIzYdDON4m<}gj z-7Gx_3krIiZjFIK4BuBVn5RJ>lC9>dfu=#^n#6A0uXlfp=O;364D$r_s(ezF!sqA2 zM0Qk6g++PAR5HKH(tM~l0*&_6_YlnGUOCxN_Jo7`-%0yjU6*xLd2gCuPw062H((sU zWUQa2TAmw8d07chdvCh?3n9xc>n@C902!&iyDMy<7l8|((7X1#@l_Dk!;j6)-7im@ z4dW?|nj@~zp*>iKuK~N96w2pvL8U~eQp442qF|z&5 zc5YgK+LHH!kQZehg*T{mYlpp2RQ`9vG4Q0HmYXgXlfVqci!iLa%@^Ln2xj|(3IbYo zb~ea&gorbF*}?FTo1IR?D~FjsYeHC96$S?DBMX}&Q{RSKNcbI;$z6`qXjzGnpK>-QrRA|b~fIOQr3onE6BWIPsr$Bo)I zF1GYzC|Aneyr0Mb_;`~$PVnOSK7P;f#sFJ;2x~L+faYynvasj%*_2+5X0d|E-6@`) zhaK4d%!fwT6V-gubldZvZ&{nby7Vgqn(D4&(a6-UZ;fS@XMqvq4rG0tQ-)gXo^wu* zE(6qk!1H87TK#O%UOp)l`vkKMra^k2ECcT3a8GFElrEANvU*PDsxz|6%l^>md0nmd zMwQB^hNkuO4;<<>@wa5Q>v+@nt4h6-9qPXxYW>W2zBQ8Z^JjTLK;@R%S$m?2R!iUg z@AqhGe|;-DCM=RZ9TfExSD0&C@v&zuE{m>14kKIz&0JgMbQn5|Ag)6tvjPtZaLxs| z+|Kv-ET>;NZfggRa1g#NG~(` ze3kXY#Keq@))P2P{d#hYO-q@XlD(IGer}d5Hs!i(Q^FGeD6KsG{rxRgdwYP>-eqg+ zXI4F@NynRLVUXgQBv05gvmR`2FTeLhh#c?N-0b0n6jqeqbK7P9g*x__M^f*#C3&cY z3&kM9>`6m;b0Kf7#&hH@-N9#Y-k+T`V!!M0zJ>StH8BDBr{brNVAy;qV7J??zC)Az^X5(ZQc7E0gqHIRmZk z4jt+6WQ|CRGjIH{O=i9n{qXWR;TTHLNCA2jEBf-$`bMJaO*C?IX!<@_LJ|=#kN58< z0?EA86%~Pg>*+ETF~4sU{48 zwGJ{1eW$KMv!~EjB;@HPWoIWL-f&DmFGD9f?1IkPyCnu)|pj)hmh;e?PsdR%6)Gbwz zmp>P5&6wJzH8n0~WU9QsJo|oGx3k`tKQn``Z>+z#9p_b{CyN*U@rJZS87s@J53(#ZycY-1C7cJt=;XmYsqG z@qpXihC`&cZ!4m|n!F%5{u9TH{0q3YNO`Z;@Fc4lIXEibouMF@`@U&N{54F9MJL~Q zK5GG1$}>eiw^1E?!QuCyM!ntB`eut~XJ?^Mgy_C(9UDDkx(4t2 zleCw2V3^ACg#dTnq@s#&!6%$VKvh+h9q>YM#TUMQ#v6`{CnD&5kHxdV*{sHTE2yUU z=k_a2PGqE4iol#7ujB7Qhcu7lKB|asdo?JBjP#$J{}`-%ryE1fzjhRJR{F`hpGGt& zBNL2>wv=6 z8X4IbU1lqv_q~Utq~tcv6=ND`d&(kSQUL->bAUL55-{-ogC2Xq&C1zX&u~h`tmTEC z=h?*l-Jg?z6al^KRpd^RfLXH0v8rw6i@69gHIYmMYwI`?$)*sz5d2fpCM!tz`Ct#( z6d$Mk{UwGYkRyUaLVycF=s~!5D!Ksw?jw-@3dWReyBTR`dalD+sF<~?%ud&(Jw2hh<;%qW#uT>mw?OfC(T&0 zu(E=osA%Y#%qOG{Blfog{9nEXB$;jI$xtp$=KJ+ zo*@e+pQjb7J-A(;hX46PHuBr{UxBGJIOFb_JDE%9N89-o=!=+E{GUL9jNRc>ePW@o? z3P03&>xX7>st1SvBiz}N!O9!ylyOl=fMWCfgoiK) z`&QQS1_KxfFfl0~DD#3*F_M9e(}`b4Ss9CeUGHBW`qUl1XR5(jZg)upR06}~g8F)! zy(I@=0LhYU7`V~Ed5i-}CAf1`R0aXQ8S{!1LGNaeYso^>ii&D<-aAh9STr0g!iJ5lKk_a_~5B0;WEgY`5GZq_I_(mrGO3P@ydMLwhJSbHKb}>g+zH> zCR11yRrV-rJ^rMVzEMrTY(lem%+0e_*JffHZVabr#-y-Dv#|IVEs*E_UMwlqaJ(>1 zb?hM$M*$vxe--FU@Rted|Ni@b)3Q4SY?A1}4njjseS4ZKvOigXiAhOQV`I-o#nEW!=>A#GWBkKq^2~v8WY)&WxVYb=Cv!F} zo}d*=G{mH&6gv`yb+hQyKSI&JAMyAFNEAnc{@z~OaO>7c3i11^5pPW<+_C#)Ub{>% zOek-tt0NHcPn&n1v)V}m4h11#VKMXmLX-BmxD&#UTNIx$mL=7&M}~pHW;RMbkt}g@ za?$djbBBt0i{oVvP)&h1<;FPyFG8HhV|pvzbOLL#PQau4#(ETrK{adYlT}o-SL%IN z_;+VAxe+aWfH{lQENo)iajT@Xbg9d@%Hf^SD@2kll`W?2; zGIDZZK|!KM*)=c*u}coPq<$jJ2DN_8f9G*ZYj_jW(T9XoUqfTQi>5g4yr08Iq6Agr4#g<4=* z{}>?VgXyw0;9zu=?~MP*1xK#|KQ+tOneMRnYFFT(*6`%_5Qy87hF5`_s;a+iyl=FM zOus8g31s`?_kbw>EA~X`>FmXa?l|&SE~u!f31Fv>-O@Ln0zSgU!{f3u@ewS7ot>Qr z9~lPXjR0g)Vg$5T^VCeKk6W*FC zO(UnoG&ovr+etf~sR57xpqsoK5Fqn9NNe3;7F;ppz&iZ^5Px7x&Ln!e(d0qx8tVR5 z0OiYEp9ffjAzSmiF*V%LWG*_xJDLl*{bi_qSlbGLcS!lMPVS z-O?6PhU}c2RDLIOuuU?nz<5L^;w4B($F@>f+B_RzqC|<544kb36NMN1b94gdhf8Uo zpqw58^#sUA($YZ=lskbM*?>5Js9OiZ0x%!Dy1MS*y`UhWE`%s}B&dqdeeKFWZ2b(o zb+VNeQILDLQ&@^lu6hv^9^MSbs1u&%=H|aj^}N9z0~LO7P!^(YU}!jbbp_sCq*`ce zIGQesUvDwR0{5-Izd!PO5Efm4pC3KdG9(OwzAag^c}4wL)qbM4!bnL-_=}T;bWw_6 zg*c00=XA8U``vMr<$Yq(sxHdUm;Qtnn*bawCV=G2q$Sxj6R<&9TW*g}Mnn!ltbh#I z-Q6{gT%BsU=lX(Y({jgc&klq%y}KQ?2$B2RA9z(gp#&A5{usbP{O*RFq1NQjI$1|m zU3ZIX`eVRB2k;x`Dut?#PNS|nkim};`~^CT5_rSDv$JC~M9}TLClsh%>7sW?N}M8@ zK{gBZPVGcc<=$`*^Sw&tKSUP7ww?#y6LDKcy1q_YS?`NB_F3DA*OPqqy7@CJC+F$? z&0)`_eY@+)@4h*a<_^C-RDToQ_H5c?m4FFAr1_K8-2L zOiy2qRnv`HD0BAr_us()<&lI|loLYL`q?(9V+aql6A5a!-be}=va{;HZRS`9rf>^N z)p&osJA9{@=XBqS)ZgF!_LwH?4Wod-&1ZPh*Am7X{juBI+h&^cU^vW9IBP>Emq^_J z9G7&m-+WxZ=j2cpeA$V_%%*2$jVB=yaE2&2RZy(5v$q1ej_8<$f%%a|ubEiosVHQ> z8<=>gC@CjAi5HoJ(-3?ZMaF;r1dhB%vtOViI_*1=KXyZ0Q{?OoAIE7ocBv% zRs@}bN{1~z=RNg6VJL{qChBL4cI{8pBGRizMIgBfX4~L?!gBn5iI8HU<Q#z@GZ|-#F zHdEbEqc9+{sh;N=oxCv(ok3e)9X<(n8It3v=E9JWn zKEca5L8)-!ZT5VJ&0)|SfG14P)kyN{)05z}{QP|Qy;0TMR#>!Gt)dh1m>M-!^FT@ibq+#N==SxVF%)a%j_fTAqL;@4DvaHN823J!XJ zS%7MDW#)9flZBVpJ?O)Nz)2FHCJ+`L4y-As0BXfCYn=nH{k4TA$`ct?pleKk;#AvE z__V?qiu)Kz7*#y+%UlU8u*9gPqbG0%DE*b-z?vI4Y_mSHF#uW#hs%LBoG`lYHy)eR zMhBv?;Ky?hzXucOd&q>`9J_*X`1tr(lb@6Wam| z3mTFKC{p){s^UIhfxx$L(0C#bY9MUXQ~6XbE-qeuFb8{vjQbbcW;!$ZJP8MCuE1%2 zUS8zVQ^@?2u&`Mw3*Jvhs6(fIjq| zl;-4Dx~T7|TT^$BRQPn?!R6&8n_>6-r?oH&3W|ONpxHU#$sHMMqIfAdgO;_E1}q9d zPOWrHIr1d<3y<%gy=wj3`Xsm)m6agYm(+c)OfgHcFaBuGlAANl+`~E&`i5wjZfB=S z4P-&U3j$yX$GuW+Hirju8ZdT{dHWWRSu;CSTUYn~YBMd+-~UmSml+8SeX;a6zb5OQ z_Y3Z?z#NDV;?XD<`B=)gR+0Cp7z6i{Z?YiwKy?C(;f>F2`At0S=CGxusAzDb7qsQa zE>=GRpl&Qo&o?&1gXSA+<97}YC%~Nu-2K_4ODo1?(8X)v;^#}zUDUv;*|sA0y?r~W z6r3AEr5a2X(t^`1{I}iOA}+Rp5sVZ#XH-{LwcJbLYP~+cjlR zSU1hBv6^$9(s5z9@J(;N1MTfMKo-Djiv>w^GbRSx*e@T*TaNWqQsEzxfz`LLq`m-PT*@QOA-cyHj(Yw$ zb*l{n;>yAvnt;o}M5+;RuS5eq+KbZJ2fru&Dhu!;gkxm z{^7L;+s}ZX(c#_;iLqlgnjS5iUNRIv!_oV=j}A06Y|__N55+Z${0_fEL1|w$EC-F= z;p#ghT)?9>I~*X8^0G2Tsu>_A)z{Xl!>Rwb#I1l^JS+S5?c3i1mTtXdu5t@-6za&2 z)4dsGSF`W=`P(BvU@A~49L;Z#2>oAXj)_=<`p#G$PXguZ85yn5N1SRGFCg1))mL2|&Pv8D86b(r`41YgA zZKp|XiFs3G^Zf1VP9F>V4lbOx+t^`+pPibM!*u~v=z-_8%B{YrMK%0dm} z1IRtlZq(e|>ctn=;SfxAZi7JgM)v)6@S@qGaEHEHPi>3oxPeY^>PA;wY#%( z+Oqm=cM1%zz3%}gKf*c#;a3YLB>-GLo-M1Ys`|3kk3~eJrJ=#_SY!YL;d%1H7MxVu zZG$JfP1;Pxw$zxEddb)<3rGl!Nc(NcP8@fiC4aZoWG9nzNOj; zM2JGjB!AQb{^qP6+|f%$z;7mJQbfG(!GxO6^*GzjOjPuVTU=aRza40iRE<1lqv;%` z!!Jk$)&KqaV>qD9qxz8=NhvA)1W@`O)D>D98i{jJc&|)T1B1*x<@fKY8?mvl#(|^& zn#20Wh6DuikNg2+5S0;c{G;)HelAi=nWpp$&fXIIYgc{@4v1-cvXIe;<2t6Ux9$GO zHDGW8;NKYS8wYSKWvf-saR3J1FCYL|KraBI7L5d4aTkp86WTtg*V%vXPVel57}-n~ zs36pmU$TSAZM?3V^uOz+7>V%7M|>6}Civ~rrt?`X>$+zm7_*NbYSwlt;1Q02TAJo{ z%}@^%mPfMzp(o%hM_6nj{{$ZD0z$fp5@$vufN|Az?o3`Y}cqJb2A}Bam^8<+S!;HCwn)i_? zz)`c44&duS)s!wML%=+^N8&P10j1A#+@A$NCm&cvcA0DD!I(M*G*D47$L*iS$LoFS z%#V(U$IWrxqi4w+9UTRb=y4A~lSlRa@%a&BB-cwEy?yh>)PJw>KP{kkJ11$Ky?-M( zJlvVjq(Rd>A)&YTje;byS*p-r5ciqtk)p2dB4}MvG|4Iu7_&oa(&M$`=XhbyE(XFU zOw{&pDS-a{lytck=uyv6iMOnYI~iVmxm*d$CT*WA1X~b-%j~uSPv&`wAw%7-QVdR@ z_V;>TpDKE1c5RURw)yO?eujnDb=`;sXC)uR_urr^9)UiOFHZ|9Fc9hr&Xwucw)eToV%a)D?NAyZ%ckSPm>NWvuP6kL6kUSAYJSE^5 zC%R(fYjRlAuQ)GN=}o`+!lSJ+0Sz)8l)qn7Qz0*v6dGb*sxiiL7R4<#xf>2GW4qW1 zWBZ>7{to}7?Cg9Fbjz-d!ph3`qu+nW7o!8CY>WH(o@nd)N*lF3-6?ClH_s$J`EIXbgmRq%{%#eo1)tA8+e6R@oJ|2XlcR#luwSv@JXT@H`c~YM z($($B$RCHXOo^H$FM(hN@FsUqabs-S>WTa^2fxz1H5p380akqepFn|O0g6BQYga%W zoo=y#LU03$@cOz@C$C>qQz6I~U=J{}ww5Ho4iwa!TmOd7soxFelvXLK4`arGjDwVxK3e$ojS9+b0F;&u%bKd{zBOvP%e?R1;mI- zGPHG%k&zLVOgQwUn!UN<`w2CjnU1WCOnV*S6I6&wdwV;WHu%MBmx$A#&CZ>IO0^9{ zTQRYxnrl3k(>^M}PME;f)&+Uf1W4i}*Rr)1uO&o#HnJB`B?}9S4L=}uf|}j!=AirC zoKPSlaWf>VNz?DHSz-`lrXw939_Kdd?vOBZLbHpHR=tpRL8hmR(GoR0AcQCHr+z$o zZNxJxc63oOA{?zBuIf_F+I;y`i;j!SX{Ow`zdCY$2m>BLRV-IN<%iVDJBh^9WEEo7 z_k{y5_afxeui*13PViW?TMvRQc{lsxIU>64cCNhqP3S6L>5mUwr1z!KQ?3$!N#hLz zXxJUV%WwYIwkMwPztnBx3x{>Q&u|g9_-)Q8#UPIU9Lr2hPoJB*CKuW1wD}{^T?1`v zhKz(>`f*SUbWkEOOqq;Par!|Djlk3`-+Ow62p|lBLMHwZRw5cKI|H6zn5d8JYWZ~^ zU0QEMFH&a6(=NimpRZh>y+nVeJ%K{3n$=|>YNx6b1pXcdFc-lD57RScE{AlGNk}G$ z0l*jhn?Aq*GiwZrNoSBwFIUZ92^5jXBjx1Tp#`*z$-o8(7!6V?*-wH zfr}yt4Va1H;T-;jfpcn^0mwj8Hi2<=-_;5Ef3kTDaBn z&K5pv==6C4i;mQJhB{XQh~l&@`&_ZLMZ8wQkULaTzOn||{gm%RcP8-+HKB zj1r{p(oT=yDDmKl>%7O6q%YmSD!rqbwST@QNtl3@FTF{Kyt-iD-+4UkNEeHoA!t952SH#~Ex z*_l66t45GVc%rjetP6ocOKkDh-1BPdZx38rh=8n`dB`h}RqIo6B1Ptz-CXtsnuqdk z8t0tRubUSXF-cyhvz^Ify5O&XEs?l^)Kw*bmyp%qmmjk_B+R8uW#dBOe3IH zF5nzuOdT6S*r0NbtSFf)Yabv6iY$69UQIu|a}fz5{cSq6jpkU9{;;G40QO8I2?!B! zy<(h%E8f}5m~T}aYezbab(-4U!=oIX@^y%)1d{|)WODKNJh2n|%On-?Ed+Gn9da?$FH-Y*dX`-FZH z+mPv&N5|3C%xr_}@Y_0E9Ts&)Tp;XRLn3KlLn3m_h`m^|N=6a|U8zkWzRvt4p=ZG^ zSd?&J)uY$Yqm%rdO}v9B3<4YN`{NCS6n-Z$N5mC0h>#JP_x{fV-1&t9hbcXbEvLmD z2|wr-lFJ`qtdPuBFnrpraz+!rB+nv(tg{j>S&C_3$z_#$YKh@IE!H(VRgK6g@y=X? z@~fMf<(Y^DOv`D0w7OtH7dYU%W- zrp!&WX*cYvcrV^BJw!;nrXc!g&XhvO*S2o<`TfCHaW)-mgq7}n5n5&28dRbAoPKe* zJZwajTB${jyprfzZP<2StCjEuIGofXUHD>_@N;ufS&6-h^^YM>)wGd_ZLo%-0ONDi+$ zzaB44+`SgPY{_VfbecJDZ|}jrn2l%Cc%edI<9AWZf0vnnTeeH>l`1j~k>3l-wn>rV zMpTddbO%OBDX&`Go%=~Ci6Tws>1dQ2!z@x$|@`} z(((pm6fv+sxQc#X$Fo*Pjq~w$Q(QIm_kOIgrpB* zRt2juV-cG@Gpk?$ou$kRCamZt9knlb;j3ImA4MeS2k$RSXsh3U4jorEjT_*46?aAW z`Q0Ic;`5y@JJ&oy%##;PJFzz5$EN6EPc_~;eIRmrsrKknaROXkV!&H|S8CesGXZ7X zovvqa-zJCpkL7az2);S-*(zj>z~8u$+qRTc6imqx>@tr(TIKdcXC)AYcayCA+1Pv% zEirg&oqW`<`FM?^=m9G3@%}GpyhV=0ysCt@HYnTk4=P0Hc0SXx%7|nEO@Zmsp?wV8 zQTzsEEXd=4IU{ZGw`=liYMPx;hgWJ%fEM{hA zbgovQX|y*VC09SJz8r#$$qGbOf#1RAlsJGwG~So?dk$fF#>U8cyaAI^ zRI_G+<*Z_=syf}>DIha{*?sRMmVk~9KyBp(iaV|V)vxyf&fCk9EtKi=A#PBJ6MK#_ zMc#)VEvOvjKA!6%DTPB@qy+FTRI^O7Q)fN>&>KET8}30pjRJ+hjd>bsdE!Z2YLVbI ze9ESUYAVgdZ$PT52hgF(fz1~bSls5#A7r~V`0oHiJv2{QMe)K z57bAu3Rb}Vc}#Y8c-POQ-b+E^3Qhqz0~3>6V2+CA zs$se(ln!=exWaKi-xp!}9KK@T@LZX3Tyw**amL0%q=%u z_`!-lEBmz!h5j&Hrs=`ID~&6=F*svTB-sB+{%bQY+Zg0t70_L6Gg$s?8~0i&KnJj<8@?nWO>9zx5Rh8@rq#S1o<*&OZw`VRGX|;22cCS$CTH zhRkEfnNGahTVx{juW7Y*eaR=>H@EWk?6{ZOCqdb6OZ5_M*i$tmDtJf5nqt{4a9r)s zGI>Pg+f=bw%st} z4Px==AoIug-$u>-CLqba^CS)=Ey(K#4TLEO+XDc@|0$gA{{WBu|H!@jfBIi%K<_Vu zs%mIB4shq|*RP??F^+}qRnX!KSlG-A4cVhU;F{w9iv^TOfZq(vw-?lWRFuCZ@#R54 zs2^tdFbfELsI5J!UCsdLC%zREny9l4=OB)HGw9pl?Ee>rV%$R8CP)H$ovH3IZq9%R zyw5U01TIa1$NRT$G2;MG<v2! z!S?w%$j#lI;4<$kRmPSfes&HHztwli7Xk}-6eb>*{pA;-^#g=u5;2hgw+a%FLX6e@ zV}vAtHH#Ut;!y`5kXqbJ6}5S8&H`~}sWF3I1~6OrbjR8XK2 zpNY!Tav2Wm6Hpaw0z@8ocI-G+cke*{#)9-r|^DfXInvJQjo0?F!zK7aO!5& zOsPh&OJn9Ex=&c&hX6#zzClQIgzf4{jV$PeW=I@5dw>*x?sFXfU<)lMA6m}9qgEVY zdVYZ0Fe{2oK+1QrnJVt>q^8zu87C?9kH{fI#B~m!?q_jvnS%DZ07?=O5&}Iu18~qc zP01WV`w@Enlo1CZ%UETvmf*{P`NQd(EH`CE9>j|o@HLJu?!E@tV*t49(!ZL3P&I@^ zMD})eP!U0!3XvoikHfB1bv>O+`!VoeQYIZimzeEZm6df# z<}uJn{wEvNApI7C_Jb0TCzecqMsfVqTd0>^!=QBn#X6Tk#oO%cY~T`aHtu}~{w(g% zD8N@C+n1N34$fjFKMP1J))OX~ zFXH{XphX!iGnWH6Rw;&ZAGUD8!v}n?;we<4H6}r;k-+&~-WY|1>p@mt-pbzUAUFRr z<2M!upu1p1|6tLEC2!tOq)9HLcPUWef+Wq!&Msqi-7_fGy^zBUZNB;Wbk05?KvJdh zaBOJkdWZ1i#!x0HsdGSw<&`k%0oMGMCQ2kIrn8C^k+Up+58I{jrEawYniIHRXa<{y z!7DfuFpeZ)ZPgT>Sy&||)lM|NAdx~7?}xZ1fb;l4v&8x}1Pwc$?wYJW11G1$_qVrI zx}f*c-hBJ$XfYWaK#Lo4uoU6flFp`DqgY&8>f*Jk*lPYOCChMF3sw~n!T^!sJl!y6 z6)`{nfX_Bo2vdiImfWcVe!@e>b^JRd7x1MFX3w@wiQJ&bT0w|E{^-*^5C=s97UM}L zFN~l3S~{p{I}&!0U9lxP-GO4>xv*kWCY-g#$uze@L6${b*+q0OXJ; ziQta=fMUC;BD;+MjY;4KbR4sw8iS7otPmqMF6h~>Uw<%^r&*{6ureAW!Qn|4M=7{S zMXtF8;=HL}K1f(bEOW}{a4vwPNM?Jkq<)josm8zl&9{gMgz`s z8J>hcV9f=ml~vZqk3!7M5nI&z3ZM~z&?q-y%yK-}a>yb8j@+Pl1c1hFDPVnfWX@n~ zzR3Zga%YufWum&YTOOgcBxb+>;O0yPFxgjX@b^WFGO`^-VbQy3>g(t6UbSGnVC#{i z;UBtw;YokLM&%edZ{Za}&HkQs5^F~W-Ww>|O>_W59D!Mc&NGS_7V1L?MS;ir2q?Bj(AVHV$5Mf*a1Y!Q|xl!_DKz(%e;v+|y)lenAc(J?PipL?1agBU?;e|Sq z5^;DN4iq@sKn}MF=eNY)(_IeTqFY7g{}AJtcJwJbz2aLPyvQMidNWt`RS3_Q+1AMA zzRVyvv_)8=T&F=K0aZBE|0GB9A^ND16ahdIcO7;o-^9blmeWD2x+%}G)RXG{v*mKk zHOn1v{d7s|6rPEv!8 z)O|^H@!o&*yYj@Gph}Je`Klyv%J5(iX{fjtqT-?u0L}@lRe&X%7U;EEZ1P)w0}NdM z(IXMJ8r#8KfUI-m@J)ytLR*y(;VklasF1%QV*=gkCQr*O6Vj>yXSy2@;iE3KRlwo1LwuRd}A5wm^ISd~?dZerz1*w|9CU!b9hV2}k zoSf|J3Lp-5+7I*^+kfEBlK=XJW6o&*)>OFov0hDj4?tl zhP8&j8Hpl4L)V2g_l>Na9Gvi=#)BIv{>sM8XTLn1uAj;l7L3pBAR|{#h-!|?m02p@ zEq_IJFQNv&8;yS}9c1s>9QcTy_=c= zsFF!Xnx(p09^OOV6zk$mUGb+duU^eBDIpEK2a&cT;#SpAk&50X7ct zo6y+~uOgN{NPc?+RN7YUGOf2{6?r%}l+RKO1i4L>5pNIF@oDFWq@e=3ZJ2_mkZ$6TK9@Pnd)btN#==9Rq-Cyx~*A_^aa1$j2gq{6*{ z(CJgA64iOMgdG*)I{5kJ>=ukDkUPW(4NSgFeU7Z`5HjS6v;kYTb2g2Wj4yCoRdvsK z4rCl4Y;e)n*Voq8h72Dt0XsQu&Vc_HL`3ZKlaO7QBKUQ6ta2H`HSx*FApYQ)jWQI( z>OseYEE$ik%+o9X-p%|=O#^wEKo5gWR$CjP5pJXdq1bkx2T?4hUrv@Z`EJ{E&*NL@ z3!?h#8%K})EInKMGvl79#hU(JCtHy|_@Ql~W$7LCK~g}hXy$IH>MTRW&P~s?^p}DK z_Mg7y;O5uFwCu8122+WPVFqZZM-w+_<-KF@Sp3*GSN;4XJSSNa37V=^_Mu^;#n)`Sn(p0<_sM)k@my`knn;PupdaTrw z1!&cttdWOiwUpphQ=j{0t`7#-mG-Y_XzM&uae7aKEktAFjwxv=-ew)Q(KLT{SLj#s zmK4tqLEJR{)Adbl+^coJ%zWS0G?c0O<;Dzi3A=XK%2|Hi{^K85?uH#fJjK>)_4UK@ zW;{+#r^wzzOGa^d(dD};RQ*S%v)TPC+j}zUG*_tI7PO7j<*&xrRsYl)L>s zU$-^}a(u~mWFf4-?oBZ@H9Je@eU{XIOGQ0ReRH7Pk>An1ggDBoBQ~AR!O6+NtC#BB zi*_0|KD1y?jk31?9%Uj6D0+PgMza72~b)ALHM zlIFX|So5Cp@3E=(+ok0NpQcp9F${ZB>WyzlSy7w#)ihOXPEHSU??z;aNe`iS;mJg~Ye`U5Er0fcD$WYGbB*7AyDquOwb#g9&fOw;;j?3V zT(NDf&-;ll4MUeHW`7gxFM6&eyl~g%kMtZn8B?3R;ed^tW**_@5bm!WhE3qiLu|y^ zsW>ml%ZsCH-`F!E%~@2~x#wzi!|v%1MI~<@$~&p4IdZZkysuvB+)KB2QWGLCC>j~R zB#m7LZ6T@%pbQ`tLFD>HMVx!apg!6D4y?N0-im8GjW=|13_?O96J+6!K9Ah5R2ZF< ztSUcWBsp`Uom|e9(Y!tI{$qxQ>1gfd-zEx|Uu81V6l0V99zUa}{78X=+B#W3>1A@W z(4IHkkapN4A7hYiTXV|Iuo1M}bh{xqoQfA%RoxeZV)=b8ZCBU5X%U@TUU(r@#Zxih zIIA~3a*^7wNspp-Y|_|kPU5Ak&+URphkis#2St=CGAe=aHUmTR9ThQip&%3O-MgNi zn(prD!>?%x`S_WwT^`kpS>NHKY%aIwzS>VW5N~8@Ssxy8zW+JAHKRE@`!0S8 z(s(-8t>*6Sd6+kQ&qJ?o2$G-e@Ae?Bsmwep0(cNJ!T;~s9{@N44re37gA5!#8b)(> z?I*p6sUu1u)l)dyaxSgwl3i&-nlV4_1?fh0} zg73ZP78a1XnK+}EFQz@4RxM|C_IKu!XyyDuh-hj3x946FCKV(4sL}*TZLddb0_Jfv z0ux3k(Loj;GLFU3Kfxjhl)+Dl+XVxM($FvQzuKXq%H&|PePXcU!62*p^y!+7z(|!q zq!Gc1P1#J*0Mqq_fwyln%*`>QBn-6NzOl8;x{>N(ruJAXV-AFGqp2r9EAF)8TBbru z=@7!F2}LxAAyyiUjGFdUv`!A!hJX1*MoNPUB<)jhhHh%{m^J^J2l`3zRb4+1Ce` z19VfT^&2pFk9SlQw6q03Sg2z15+YX&jY%kuV1|G!RU2tEPb!t+G^csOmO~mP$qlpY zC%QYhit`;&QHq70asiE5bPz^ejH8==`#ttR^(p@fDq3)lMWvvD(fKRKYmQK%50G$2 zp-_Vw79u{+z*7fk5wyMazWZw+jeFwt^W%imuOFo#i2f7Qo$1?n4ymgmAW#Cy(~T2Q zb!GR#9S5NAj*EtfO({J(krwa1(w=9{?J2UuN z60G<-Gcm&_Daj&({MOdUf4bzqYcg@J95!~zH{HbV>o9F^7=K>Vi4l_4Nh84uKdBLD2r}eWI@%^GBNe-DNT|GU?rK z{LW2BOMu%*svogPA6>OTZ3Yw-(%80lp>e#)#nlLP7knGL~q{Na*m zu0RBV(2Z%O%-gwJ=`wOIfmj{DIS7K$C+8gIGHtXc}; zUg5)())(FFxt>+O7Se82%>2wJqP#$8a;n?kB9w60>{xllzI(k>4<*_Z$GCM#z-%%8P3%3gd%!3#n zG#L4Gn;O!;cms|-zG(*fE<>(@!nHXN(~Exf0l*NU<(#J_AY&d-&uc)V8i)m+iuf}A zRbjjU)Y9{diu^$+4>F_Z@Pd*OQ;4{L>S<^UCYyZu06;_HHtD7jNNDjNaou|;m>CO&zPmgf>S1+uqwiRPdCHVvg!f}CmMyVD8hK?U0 z@Sy6TUIKrhhJhLVP5kqvC3SX=WSIP-&ner!i~?I7TJ&;oRA?+J?o*j#>Kqmp6o4?& zR-UdO&f7VF%2rk;Yj@$#;eYTyV`5`ZfaXaq=!;62q}@-q0?2bk46gu&M&i*aI#_^S zYpY?m7qV`GGXO``x_$fVSDDi*kAwfa+Y37c6M7hxA_ibw&rgrQpNEWd=*yIj+x`TU zuyt?RD*n%4s6=5Y$$2rg0QmzKUq8co=|V?m=LHqbETep70OuR!0EWCBWF_lb;WNr~ z@Gz2*huJ#UZwOiS7a3F{7>*3+y<4%A%20m!gPUq?(am)Gk|dcNaf3?nNO)4x2^AIH zdjITw%Xyhfp9hZ)(|`Y#RAq)S6`E4fJs+#z%x>)LoZ;YP>goN#!3lWx!NbTT9qkRy zf9%NPkKt!iWrluEJLgPo3&Lzp6?9}JWnmD^`c^TB6HkjvN)GJUPl)#F01Sfo#*L}^ zA2tFYumocTb?EjW1jOzIuY5%)08qQ{$&WGuum}=Km0(MNBM~ta;TZ%(1wc#?ujpqw z1XEy!e2UBGa8#H=FiDgkz0PBK*m#k9@9(BY@Gf$Q!Y;_6m4?tD$bCUJF?8VJXHLXL z9P->@lJp_QKx^EG)pc0w`AhfOYXMurx&$dkPT0=ejFfKd3mDqSo2@N&_4az{yU56^ zy$)yPNhM26UQX@#`zoG?gS*!pk%@t^YMSe2yGXsP+%6Rr*TpdmD=rhv=TK5o zDwM+`*Nz|@+D+^?nFX0J4CE-dup;dS*@ zeb!BY&(XjnMXMPjOfYl$dqVLd3vcB+)=xbhjYvrB!Po#d&r_+M9veo-+EkPP*x&~M zD|Y$aXt)Pm`eBIwoSY;4?f`C55=nu{88e^$;|>TGr=cXnmBT>~-Mx7n#A_jlKx`}i$_r%vMtB8KPEULS-I4K$BAFs;w1 z%Df-5bF3I!XtqA;vul%1?-61X^F54{=I|o`$!_m!!R|%dg0uKnpaygkzJl(#IXN~J z_NmDuL+-5u;IqZteBAD!l->YW8q@_C&o~+*^6ZeP#2$ z!##cdQSbsts&`HNW)KxU0#?cX?=mVF?IR)11%v&FG};RMw=0UX>wxdR6x;>zXIDlO zRO=XolMOzVI~fCj1DUw@2tsbo_c3S6xVX6F((m#Nw_=04AK2NgU9N|NPI|iq1!=;? zdMY3GjSLU(gX8RKJv}X8)U4wR@EOO(#z0Mdrvh(|vZ4r@(GDX(%_2asc7BhE9Mp{En#Ri0$odkOe|)?;)Vqj@VTv1SM}l$9uRpsP6iNz;wsT zF!{;h4Vmy(DYl@IQ8RvjAN$=;qy7D5uJek0FLu2AscBeuL0Krq&kqx}2z=OpBm}O4 zxch-O#00?!cwToJh@r@F^CsE!Es`@(6#8%0E=xh0-tqDAhYueBRYsD)V87=T6@7UI z|BUujRau!_*eNaTEm#ck000LeLITFoW#ZqhFPPzIl<-;~1;!KKr*=M8Tq9AQ5zN0} zxAC0~CzDU5e;r&4)klYL!DnDNVWW{#P}DllNJS=;W6lKpp|Os+k6LmZ6`EySc+C)G zYkZi$6A+)248-aH<^EdSo10Ru3^yky2RTfyBMyavWbAUGLO0~Dyrt{X3?lC zm+xt(U2RL^0)GS80TD=<*CMRvEL5$=pT5Iu`=^Y-J2GN&WOe!6m=yWh{Yn4Nyt8HX z>qNbIxaV@xuhvTfRwh4$4mUf!={7_xnR?~CL<|M!G?-!{arw`dM0I`={Hy^4{bA4R zVfey8c$|Sk{`nsjNZLkdO{L&@puE6Humx+R-t!mpdTEJ%#e=I~mGaAhS_5%{QXhCR z1UM%Fz9&Bhbuc)^B{(^+F`&HY47=3=rC;K9ShWUw+cUKc3AUL*hV?%lS;j^h8b5c2 z8IXhkg7jB>R#;a!kOK>K89a3fp@^_OOlX1r!%|PCG~FE*jAH%rE3@Ra8p>X9;lTYD zyXz);Q)Gao+pa2m+6H@+N+7<*jPhlI8f<@;K$wQ6&~fjK!SUK>+q+Fdn0I?brgwLD zt1#XuJ|1ONBf!jH{ALKL-|h*|t)ZP5uzRYFdJJ~pdn1bDJYcLRL1R@P+}<(!m- z9Sl_ZSdq5j7}Pt@GF2Emv?6h75>Z`i_v{Ae=cFEV;4em8*_X;cXJb;~)=RJW1x}Zr z-=A3}SHAd@be|iLPGEVS!<$j`kk~wJ2`48r^Pa#Z%HFt~N-mC0>9_EwH!;)ZG~UO) zl_95`qkwGEq-3&KKT_OA;&#{K;bsLG+Jw;eArrPI*nuP?}ES!zb@=wB>A!UhIH zfkmNoN86`nURyjeVR?*ATDsDm91{2d1+(!M=Sl5>2($Nf>hA9RvMig=+xpwQx->ky zAXq1f4>Oz})iv?Q>p;ilw9ET$wZ<;l97M5#IRkkTQ%l~;4a4v8BzXU^{G%#r&OV8Y z+k(6SK2~92vVDqcvW?hPoTu_QN==hWmiT-^NH&MRhPqtHisB>U{Z>d5yB@ec%B!Oc z7<+#suq8r$3IokSK{{@_CC2$fe>Hz_L1k^6toB%izMv+LDpNYhbkvMECgru8G*hl@ zBN>b1(Uga`#tlV5T6Y<3q27Zvkq&SamfPfsF&YfvxhmXpnVGWaYWw7Si~kZS7E?E# zo2`o)-E1%jjXJ+|s5I5zTS&vv8KTME50lFfcAhS}9ukTz_~3>NDrdv^UY-Ket*md# zjp|~5J!;o99xK_6IuoeeT1TmrdzrWq-C&+TaE}6TQpFZKd0|-+KIlp(ARND{Ob>j` zbObn@vB&S9zY?P6qXa$a?Wx7Csi&T!`We?3-Tb}BDu18#z$hA&KwbgNN$5RTR~cm= zYY}6$+kDgtat@Db27k!NFLhss#LJf6sUcnpvxR+Ww)-J(0q~(EUzDEhRA0A}q zn~l!khjm3XP~hB4279wk_5xK14`!vD$(4PI7@5zePsYK)#)o;;0>6MGkI_PQD7Jsy z*w~oU>`(tvt#XIIwe=F56vMwLHtO;?y6$-#aiw43I>;+~^O3pG5l&GX9=$b(yktf_ zawYMW#|Mr_iKv9GHa&`5G~&;mxmr@|ybV9AU+;}(Lv$93r2XuWS*0;RxxANa<@>U4mfN+|W+%#kdD>B-i-fcQR}c93MYf*Mup z3-MdWw2b$UJQX9ftIWId<`rekD=-OHW*tP2D?q3OAG4iJg%q$sG?bKLLuwS`I|th7 zYL@ZOqr_x}qQlO*b@QA7Wx8A`XJ70;{VBQj{(g4nF@TZU&A&0CL(lUlOat${KR@qi zrwig-$Gdv4I*8$^Hgt8s^bEpb*#|9%>itz)MG3rJNN$;s)l-bGC5Vh%w|mY_rmf}W zxqjsK;0v07^)g?;J|<io9YxCl2TJ{)(JBOfZBtb9*a9-Wcvk>Lw{H$2FSrq5kUa{T6QM zDhd>8nM;fBh1XFDj^qG`utR(NXtt!fGn+Cv*HAU2paU$H153{`$6s{37GfX8{qux1 z$t5||nEBn_Oqn@~9ZlZ*yBQJ`IL#oS*tg;aMqbH;TTt-c6!|n%S2}?o>>Fh2JbLl2 zW;6JL!Ue>uI~&R>E%wl3L#ycSGZWd(f|LFx5QH-F4=%Y&LsL0Eyx7fV%$=(!wrTx7 zp-I+{#3utMGL`LA*>bQ@$$gYXa!g^dqI!cHMSaAP%ElQt8QEoxT}itkeyNGADqjEf z&47JMD9#CtbETJgThu_;PSn-yiiL#*of(ta63aRRxxkg2$x{D(%Bc#JP#)|dfyAZB zni`QYiy~g-+w$pIr=-m6$~JV|RjnFd3^efethfhSnVCNyOtzAsW?Hu{Ra!*Yh66r=iRXe9ZCveXEB7JQ2C6KQDhWz^l>(xz{yKt z|GC{V*uU=WO0X^ep0bKVgm4!i6{doV&ei@pBk&i?3QJ<_7ii@P_>xSy z1V;oc+T(T*%F;sZsB~;IDj)L>?!7Mhp+R&UO7Q722mlHc0li9fP0b?^Q&EO4e5kOS zf&^dRD1Rrj(Fq+Obm8)HDtZd}0JWG+-xNl-tlLF8q+de8raHq7d82aY-WbgE>uBVG_ zAvHz{+?BID#WqBqjB8G!L%VlN1Aj;QW_p~j5_-jfN~P0;tg=<{%lc62z0i8kLYYp- z30w-%kX__B*f6d&F1O2IS(Iq1Ux(J`Cf____x&g&SwfleT#wF{ z?1pZDy|B*nS406CyPM529l!N6Y7g*04Y~XN*^D{HvyS=tVDXg~_+RP_fB@1!lMMmE zRJ>r!?s6ZUh|4Xt5UlUe1No;#CuU~G*^TCD=D-E^q>304nBMxo;!5wn8Pr{EnC)oh zbMN|dt!6oyCfC8E;nZ=BNO{RJsArMwaz~_s7fhWoZF?{4_Y#=dNAn!WNJ!o^Z8(wC zev4@RkbRe$P_s_6kZjt)cd?CbC4ZWQCeRLMZ-`jDM!~@SVpdcF+=t(z^?IXf%Ary= z+X)7yG%sYk_afVUo1Jae`i3|i8`Qx~{rP6G3i4zI*4E5h-TP>|_Y1v~UX(RYyFtDZ zfa&>q!?r;(mf{7Hv`yC8INTfG2W|{4-Q6lvNB1Rjl$J2oQr9i2=Gf>m=!E|n=+aT_ zF`9k?s3}jZ4@TRyRI(^;(a3{!==E~1 zwcpqmV#~k)3ZC&NsI`*`=`?>6&}kz1b=lqM@Hd)9rUgm}atN=X5{T0H=P%{|zfUFp zU*r~87BIZ*{op^LgY=OWTv*j1{{ML3VW3ye04o9$fi~!Am35^-JRYKlpdab)&-$?| zp@@7$8N4<_VkfktU=kEYEDP{MLWcK+wu80fjlPkI30DUO{2ZDtkXdf^>_Qe2LW%W( zbp&e%2RZ=aNm!6DpO|7E0V}iVNoZ(HOiW@dis@%i4;KBAzSXgMYGlm@P90$kw*} z022eD;{rnSV{Wb@j3&9APNOCcBDNZ37}s*~iw~K;G3bSP83F=nVxIqqEL|ac%LLFp z@J|C;#r32Eorp2XkmHem%xIMl|*o0#Z^T5HJB`3s6Y*aKgZx7`R{& z@pNn491`sYDykF640k@#F8zV1exm#k6`D%O3O`8YkcIvHzLOL8&e5cM9~?`4tqC9` z>~eG@N%Yva)8@g0x1A5h0jZX$hYsfp+V+pdK0ra}uRp#mp-TPY?Ynm%P3+DD z;ESI!2HNREjuW6YS3T+gm;6@;TXzL@4L5dY$L$ny=0-svHNXq=6*n?<3#%ZxqV)^G z&$2NG(4dVs1=N>C@&gb8Z}<@PE_eZ=r9e0;0^{$@WG`e*2+f756O3{>8iz^1>v$ws|GrB@NslJ_(wr% z2&JFWuc`V!fb33z#T;U`a)LB96Aso9Z|nbL9@iIjyI4fX0m`irm)BzC+<4ExU<_n_ zATfm_cnU-XFe|C!+c%HHSINnGkP-p|Zv2uCAr=q6Eq)5q1sVOri|c{u7k0(<1%Px| ze%Ii+vw_(_?i!=CbP$Z-1$|etHUl{?)M+4igEWWswZtGGt^kW}Je-S;asoVO8r;yz zYmg@+uVV$*c9#u8Y=E>(`eeNlW?CVsSQYQTu7hgmw>yBskX|9i7gvio*#Gkd5~LAx ze-x$z{5}xD1PiZdJ+!XT7xictq^Q$%o*as#)3^F(p|e*+%T2` zZJ@p_*kPChJo&z&I&3G(SwmP-o8LHNiv zPCKeT1a-7B;2odfn$++`5I|*jP|Cuuz7AG=;GF`zU-$`%hv|5TrC-o7aLNVMJo0v# z1R4lRi?bIrj09kcuiWl|-BD3lNx&=W@-uinv?iji56BD{mJ6nnLe&rr1#|N^^{9UV z6K*_SD+FC0q>2=*ho-dCI;Gf)mz2nCe0xa1Re!|&!AgX7UJV`1L-z6M&eDwOuIEnfiE^V?rT(lNOp+_0vGd>1H@kq-63N+h5i zJt;Za8(RO+i=O1-LW%02$#kTACd2@}?OroUD+D1lY~?7X-Vpi4q4R>Rom9Am9+FOsVz%#R8C^6gcQO{|P@z zfeR_2^^R7$ZJ%0%nuUc05(EeFe82h2|8vEjXaA$dL>L#?GDs9Zyt!%Mk(E3Sw{cDI z`C29t-40nSNE{2d8Ki%xOZ-N?LI*b@e*Ob%YdZ-c$hkmXv{*X9OxLe3I0u~=>F6Xz zmVPfPEUbr}l;p?D&40}$UL2_nkk^qy7Okc&jJ1Z5g~UL;k&@~{6)VNd%L{jC7iL!< zun1oS`vYqKO+bxe?Z0vog+*YC7@IC$fv#Yv{LcX_PfU+g#8w?6<)y`zbpKQjde5Tw zARsk6x|Q_R11i_dj@p8ECo3vbxy`@URQ}n2CY#8Op7k)gr>xC$#B;?urjIl|@)sq$ zXJMw}s`Os+h>q&iTdRBDX z;(_CC300Kk2IJP_jNLn5xo5vmtwz|i|4M6^E8TeXY6H*B)v4jPV&u7g3t&JW%x_B? zNH=^)Fx$q3At!E{oe(Hmbegj{${rbC+-oPo+I>++Wx^Y50A~?9+ z6%^3U5iRjl5U^d4U_!PEXE6ZBS(dO*LL@ZI%;Kt8*27Z(*#VZN#iE>5^2wFEjq_JC zeX4#Pdygc)@M^NwEz*D7430KX^Cqwa$vhq?IY6Z?Bm7(gSp&#P`JIJ>;|}TLFCR0%K0 zKEfR*EF=V1bn0c?zTuG(-_aL&XY(a~V;t=4pJ%{C_(trA$b%xnLA&2!6UA zHO_J2=o(`rG&A(Bf`zxRD5eIdz> z9#0>C;geOb33H)jZM_U1f2y!Et(3n=AlPIvLV?K7{t$V;>OM}#Rn0Jby@WngvCL{|H4qsE z3PcMENDJi^wT8IPA5b5#i__|sDxOPM*T?C?=lRkgKcBUKUQs!#p0 z7`T}%ShO_kH6+qnIJh@|InOoGC*}73Y90=YFka<`|Fas2%2|E)QIbXzvDr@p8#~6c zJ1K6p(jr^$xb;H1QF-lE&j*y~I;T+V&w+Xok@!ti%mxkv2$}h9*Y1_!S-2cj1vTb3 zZ>VHgt2-nsp?^j$yDQX`_PIEEx04&jcX_oJFhaqS!Mg*xdGM`erM(Mi(6tz&@w!&3 z%WNWmnAXsQj}nND9%ymQw^@IDX6$MB2wet8Cok+w2*;zI3MZT#FVzK3-KTec0!C-W z_QrXpDX$qGk_xHgZ=&P}d+j&)B_ycHG;dJV99w*VI|O_#S!eiUL%F%RaQle&UD5ju zSvPH3Mh>>+GT)zw@Sih@0)n{Umm#`Uz@BBmbBojRV=MB9O}tYm{yl4$BadC4i3Kt-gUR+0i3-B$?4!l`%lexZZfW76d&}U1h1ft13`Dg3P`hj0BFef{Hl-PrIMIlMomZslJ+>WS_Wa1%^R`jXldq(oGRk~*t;dRD z_#_Sgrt#CS*T?UEVqAYW3$l%ZYTTui%*@hhl^M zIMr11d#BQpBoTq3|2*A`+hX05R&UT!&#gAyik;TX3+CN8^#%Nd20 zNe9P-gdek!yfb}#p6B~UASc}rb~rwU%;S5t17hGd2V2>*biUXAPG~`{Ni+gB_}l=) zWhXM3xk7^#EBh5}1o3o3>O=dIXxxoaZ{?Mgn07)g;gnQ$*|)gtC(*F}rC8^oJnw4n zzTr{NiBY4fYw6af?M1H_?JJwekhnEeV~mx^Bk*$k#?Up)zPKpu1Wi=e3o5a z$-k?hJ5{8ZDMZsLRZSk-b~V%5DQ%?kdrmaA;TC;=IXQ{rcEFzsU$i<2{p*p%p^Qb_ zk4UN<>AY%#d+GkTd{908u5f+x>^PMlm^XDsTBL zff(mr#<$^%hsNzwfnDV@|8c``b))NTbObVWEfDROrzKtaeuJX7&8vD%{PF&cqvUN> zfX1F?tT`v;qfl3vK4!m6sW0J^BlX%$LqO(r4Stst-?wJ#9?GLRv2e~LQext3G-AY7 zl*R=ErkcjaMc;%)MJXJaknEJFQn-&vjE71g&Se3MHyN7U9Fos3#QBX#Ae{DjVOybH zgjvOVDB`p!bh8LmqvOLz;c(8;@#jm?99eBtMc(cII5aL) z+^tgY6*4+EY71JGvdF}jFD(|CrXTMz;QDy8xRk!s1G`93SsA{cB{=RsD|TEvz_`&e z@KKPc-{gl;lQBp5A2`C0xgxA9tGL`%UK9_h&f=SjZt2Y(lPVdhzV;m7J$C#%L}Qkd z{@S4o2Fzg0kyWTeA%@I=H9OxsP&ftwY8%O3L1Bq(2y1b+I?UUHsgjG@whvo46W7xG zuZuG=p@dT<^8IauAu;0=D(et`-wys;7a9dQy4NmXv$<|0DlkpO2*K=@iZ;@T)mB%! zDtdEj@4ynr)AnN4!)DfbNjYW1Fp%HC;oQxDhM+_PIkLHf#3-o8aev zHZ8_=D`!gsI$Lizwqku+Q}CgTeB*Xg;AtGLv$==9?OLdUmNSh96II5;qMnnoxbcQv z5tg}O*SFhe!Qb^gGp?6N#&$cdIUy_9Y{aE-+$G|V|BXi?WIvhz$t531w=rP%fP*r~On8H(p^Mdkciv&#?! zN6W2DU-Gh${M5~*zj1rwQF^AXcGVOz_)LP+CTDLwPS^^T{+VvS0H{6g|#-iq~* zOi0lhg`l?Y@^3DO^7MlBpM^z+;!5#Do0c)quB<~p!Us{(fVs^dPZb*p`@E<%1edM# z5EQJCgP7&1;8Xreyk@k!mi{mVox*s)gmh;TDI!?dawHhm3k}ao_=-r0aTmf;ZazJP zGxj1MQ0r0s5Vx&EtPp2lA(bA=cMyYuW$q9vPYL5&#JvmRm@peKlqMJ0Bq$=xPM$~J z8IK?d8LkJgqSm*(5THEsT4P+M5Sj%j>o*QC(hYYO(&!Y~wm*v^*EGvOnS< zTZ>H8rq_CdK&gi$598s^+i)rempuR69TQy>n$~6ZLuEhqagN-Hg-S9O;)@dP7aV@N z*j&})Z}QByW&F(Uth(=)%C4g=O4~hkeewM&PuiG}$iU8^H9N!RP)UA%A}j2DNy-&P z8KN`SGa^S%P?Z?lm)5NnAlYI+rXX>|I2e4M_xWDAG|DgDHM#b=ZP-RYS4YQ19LM-y zEPyqWT8;qYo|LH6u`?ufGXx}ZY3OdwG)t@KMRm~M$~k*3bgP_Xb$Mwin>wPb8^{f~ ze;0iIsS=(NK=CH0IS=aDwJKkb)q%nkDqPFoyuZL3Yo1FP-5&wP!bMME?`(`Sx|xFC zW7g&6?0LD|-GVCyY_5PurWi|x)H@uyn(esUo+y)bY3Se+CdGgCg)du>ifj7wu!_5g z{&nJdP^pF-hbNQTHRtj)zpn&PSW1h5jf~51rI-~H%PV?9-UosaA&4bQ~Ioa^1fc4 z`T*7Yp%C3Nql9=J4d47M@1oO9&)jtSr_@k*?KEcS7Tz0qw@4#7y*Y|&j67eMbP-W& z>AzfEY|r`6R*ii%GBVQjijhTM|Hus|$b#A-FCY$vi&ysln5WSgz4v?oX2nD3 zE8qdpdy^3p{}&qo|GMx7Ya@_xnQ{|cYyw(T`VmuB)WJ9_=6PxMM7*XKzfjh zW!C=X3-ritp!`9Q@tZf>`vBmC{6!}y*O1VQ6)aLJs_vZN3ka>l`?5cV5={31#??b? z3LL*jhx2g=r2s*YvxvX2o!0N#Z``3@$PAX8-;9z>axj1f5o`m#>a?)t*g4;`I1eDcL#mAQ_p0-^5%O0XWb}qC6)GT8i=Mv~l};f%+k) ze~jeEIR)&RC;RgV&q>8hDS+<8%{62~h!(AJV& zehIA>8boHyS=?4uegtl6G=cp#WM6?dVA> z!57b8!5m@0fhlKY;NMnL`)U?O3y_O(Y+2CXz|I7 z-*bRCSggR3;K@BU7WUa$0N-P$j56Jrd+!5?_2lE@<6+tp1u|7j!#eB~;b>$Yz8wRk z0x0QR%WKC~m=rRk|v#iDmRfy;SCJEt+X~Aq8 zo0NNP*wnd8%P-IlHf7!QEBns}Aoycm#RqsQP@+yRVgjb8r$U^n3nPIX=Px~_gnYj- zsO!2)EBava38Im!*UUx6SGX3Rb*cyQ0e?;WGf@_%I!gE=(ZI3dn~=hAvt*`57Os*e z7(v2HDsj5qTH_D|Y=UBrD})V@?*i)F1Ja*o=n2Hey@+w(*B@hXdHphv3W3}ur_GdZ zpctQto`Wg1bpal_Vvqspr*#m;`z)t>BgBxtGb_&-5*!Uos7A-v>nf4mwt}QcAU;$x ze}E{B=(^M;=kVAz^YHn=!BtP%q1SMsMaa=E#{dU6XZ;3uPhafXBR=eqx-My5Yw7$@Qq#3r>Y-HaFdBMOIo2zfT9HEwA{a=6frk z`j#~_2paqqexIO~`HH3BE{DkO4;j<6el z{7vMFgNhBV+&kYe(ZV4I$W9r+%k_*Zt!1^#l+0?V%VX6ZK`>k9PUZ2 zJ>MRuhyG?jD*_v0NCPevSLJp7Tt>QbL$Mh5(0L=zWQ&> zePvjbZ5QpJqP`#?N=VxvDaz1g04mbmN(nSs|7U4&3- znQB8n300oFxXEe7evtdI-Rf0=!Hy3^y0nOzw4V-Br}V!PJ7TP;xY5c(4uDJrOf1h{wl;!i09<(jz(~VKJ-LkOee~V)OORs2ll1^AQ zhHsB(Ne2xkp09dQbIS46y=Hk(iDK80ni9;Z|I?B3UXVlW+Znd|OxYVI=*QX*@JZ4+ z3Y1`GG^yrtL&iFRP--BZ1XWNUr(N?~tX|fm(?7Ib!6V@pKrNPsNw3+nUQ%~Ao71*@ zJ6(9*D|XfA(e3c`y|X^VOLwzy57( ztO+3(EJ7r;$c)ui9?Ot4PxDGo(I@l`AT9O7WMrxY`r4Ju9ZSFRa-QM48DL3}=9ADXRJ161Crkf1Tp5gH6U zYG(?T4Sm1OgEd;5)50CrMra8S(>}Rgb}F$k=rUQGI(8Ug4P2An3n@MAsF|mhfA*z< zt$RfH9;hG1?0|9*KUd|H!;XtOLlf1WkXoRlV~H&BQf2eaD*b_4qV(2=K<|%BfZAJC zez!e?7Tvr1Lu_n>{ngEL8D7tZ!tiU9(u#_d540skmJR81S?v9BJ2AU)o*ctR-vs5L z3yH6YqS*#PcBwE@pwDk3J~A+rg|$fL^}ja`-C?+9hMH2H7t<^5Cbbg$0S3r^{K;PY zl&?S6b-FepT_c%CSo|Y7Loq8*(gL%D7QP3Aw4Fr)Z0OnLAnQfnVlf8$eDFY@yZG}# z_VnPZc(DK+nCDSGp2p)k)lgT*re5%bUJYd?IXlinkxO?zTVG!v#7&#ZkHj?k zpWE7^(j5gT1YSZGZ&N2HQ8lFrEVCMII3mGF^1b%?;^~U62 zVLwYBmoydPx>OK=+5{WMBk;Y$Es5Dc6aIYY)uhCVHsBG*gwRt?hZ)A(NSfEW)rpo1O5b&}rx{$%ktAHM^$X_|0bGss8J404Nq(GCl+ za+EgW?Q4q@Isl!o3<*iFXjQZarX$wj>YbT?2xZcgKJxfalBuh!FYNgnbKX$w>?8|z zVERP3bpjpFY|T=6ho?gJu=UDik6XX^(nx#haQ6W{1QZ#;0x?(f@lcVWtiQPYYo!Ur z;3%^!JYrb%LWFkS^95~%{sWSin0#stH(Nwbf;#&Cc9FLf`rGMW;;e%VYxq#;gq8)A9O_C5j0iyL~NyvWituC zEX)RFV%Wu6*Wb9JYoP^nvRHk*2#J^|K7GHW=85e7&%!12 z0|9*Hp$=5#`Y9j2BI76xnSAAF;Ox@FJ)YV)3toG$zOf9fZ7jiNh~)Pcp}m?JFEzEc zifL^^$p&pc>pfI*RDFP@m^cv?4QZhoE1j~bS8O?(KYq>a?~!fegqNiSQW!N_tDQqz z>PX#&CU5Dj>9jcNy z3YB3)1SHQek`;IGzCGNqW(0a1Rk;Hmam2;+-CBlY4}W%Qf{TAbNP;zuFHVTwCyRPN zEyI;F0y#YUILX5Z20)&%bPv5AgWxdGax205(6|4s4qrVq63NM-Qey`>fP0^zbIoW$ zPFnLGV!-vXOII%HUW^E;n12CeB#>wXoghfMDOBQM9M=-Y00BKv{YR_JrWCw1AdoLi zYKSlm)YaEJ9Sh?FK?DbLLyrRVfZ4dNQL2YU$zHAZxSB@KXB#&DK2A1KVP*Z@z(yA3j;?HAAIS5A56dh4~FW$z{~$XenYRoe<}h$R+{qfqy*;P=L=`O z{-Q&eJXQ+-K~r;6)9lR5OVf-9A!i2piLh{0MMVXOs1110{bkQ!E58kz{?NuqNlHSx zkp((p)A#=xL6LM4eQZ($(bGSa|NKk*!Nw{)%VGNI-c!!9w(jc9n?Fst z7qP&$lw}Lb@_Rnu`IHAdd2Td%EtLj= zuE_pmE3=IMoJ>XxdUuwOKuz$mxOfr&ZCzSqZVoYCfA_B9<-N}r=?#F$0uN6*zrw%b zf(gru#3UpLWlQM2x#;ufzW|7#p`f^pJpb;MT^HC~u)WU8W{XWKhmf37;%sb#X{TlC z$2`EqyZ)a&@~(msi;}RhDcC-bOb@$4bMNgd&~Kn*RYg*3fla95fM!H|*3nrn`1wTz zaCt^_|Nbro@?n}&OADQ0FN25CF3d@KlRy(1^a>J}??aHz>ScD3RaV{xBiw&^y&xyY z3|JShJ9#S1KY;eC9k}Rh!AY~a_Bjm7Bwz`ukG=xU&);`k6o7R4pAX4|J+r{Vybw$c z2w?@xt|L^?c3{w5Da&(6#sLypa@t>HJWT=4mi z1^~clK<^obgQ_c4a^~v45&|IYeie=0f)EHKm`_KXOP6H?Ie{OSKL~!vA|O5qX(u>; zP0!6C=3$^na^)2O1@LiKfX41t1&HH?cNa;I-2aUJdR)D@ z?J8lXcoCR$*>&4ah5eYEElf_))=FVvZ=d>NuI;#=7`|qx*r2_Bge%d-C#ME?nobsD z7E5vZhW9=a`M8YbRjl({w^_$+#LUI;Z3tH9GjnaVg}cnbe2 zA}|G+(+aWgBda$6>?d*CXRzv2X}G!^#RD;KBs|G zQ1#&q$7v^tY)8j;_r?KS0i#E<^bQGpS#FCl(^Sw5rUG&dl(bcFzPM@vuc(U!y9U+& z9oBm;yOv^1WY;+vjpw7Li^%YGn_F61hY?5$u^}!WrKhA!Pi>Fp;SdnekR&0>87DaN z_v0O7^Nt-sK@(Wbh%zdS03$ZVDwEIEIo!LC8r?JT1zbkjYehplSZ2{WOk3qsXXztyx910}E z{RR{lX0GAjo9Ca0N(t_+q26p3G-$B?8CjwQ7_=v@zt}=&W0`z@w7giO4Jdw3oBni;%;NeWB_|-#3PM_|}Hco*17zr_?B|sP72fU#e4k^5#4<9}NDH4$%gl!8U286W{vN;Sx#Y5Tz zcLPZ1+}TYs60@_jgMtG1y)&P3>Q$7LfoHF^MmmE)J=QJ|{6On+8Il*C8#izOOakV8 zA9W_5DLO~($&<(y|M&{I-Q?6!dKERtqNJpEch8|vqN8#iSMS|hKkzs53g0i4(v1Rq zJR%~TikEVM<$EWL8CbwM`0x_k!hH?UU4%Pz7UnL*J>auNeEet)m^hHci=RTrBX!hV zW%DLKzxsnf$c(CBEMqnW?ud90VS)>U0W=#b13*-A;43xQYUA^2yB}?_1P zjeYV!5~4!OyaTR@F`~gze14}io8FP+7&(5L} zK3z{vV*m2nXVR2KTwILW$Z~7lVBl6L&>&(fU+ePM^R5VBkd-)Pi?%O#u(WwxBjq@8m>Z79P; zATw-mKXWdNvBT@>jg5`L!uyTbbD*yo5BvPLLw}YB^IioJGaj4;Z+oU<@6`GP@8-pi zmmUmjtyFC&YnpavM93@-X6;xol!&zN(LWcX;7?C0GVkWbO}|h1c~gvsEK;_-CCYU* zB+=2aG?X;-hIo+6N^ET|-^$q0(yMsZ-!V>|1`26ohaWYLS4Bwn=vVZXXj28>CqKX+ z6mWp6Wf~rC)q51iZPGQ()1783^Q>z%7=)rt!(Uy|nEJErxxU^k`r{Tb*>VS~>0oRW zsvNj01wfp2|K0K{ef=xgSBm#gs6x_9@*BjUK(Cd1zE0<4T~+R7;@YS+$?FrGhy~4k z!x7KD@mPL-m*18R(sU95SN3W~c6AaX3&Y#p9KQ`Bw9-x>?}N&B zA3BdbWz6WSYMD?M8qvIYVjL{Jhb9R-YkikKy9f8RSIMZNs zsy*i}wFpez0DN}zD;^rDP;2{Ba&R*`vP5QGd!#+^Tn`ArTnX7hlzXZSIEsf8XkC^{rn!h!O~AamLsby8*xvfJAkAHQ5`|F({fr^ zvQx1Px$l~w6C)|*3cWn8*D&FqYdk_Q`;0H^g^tUb_a$ry%$jk>$dUAOff9lGCTwyO z_95o{6;FKi#vxX*jVL}2fJ+%({fc~9MN`*sd$m!I3j6>M!8ai49}p;}yCrma5~S-Q~22_t4RAiEv$tN_GiGwhb141xL-kftFduJu3r%jZIR`L)%&73KMPgoFAsOC4^GcYg! zaB^~)lx%o0#72)yW@Zfisog)__+P(T*^j!m+pow|2`ul^nEz^S*4*BbXQ}zRsdtX} zkIZ7H-b$R%?64A$?S-OvEWW-xauQ?NEOzWp+kN}CfL7n9gy_#h(KH$pysizkP=gD2>ENcOAlMkXnSxViZ>k{BLLm3&JY^5kyG-?8 z!J`v)PsS5SFRG!vc@)!cU$c-Ia?F~#(4#r$Em*|^=@>R}{o89XJQoqnrUZ}X+!D@b zYjJZL;=+k+X>)(#Ee=hdrTD5lD?$(SSmJO|q8C5p7G@IgSFZioZ zQIMkoC1b0D3YW)M7IdMbxi11q!uX=gkR_Q-NN&`Z4}+8n_`Kr>&zIUwH~8nw+XC`t+%lzJ8b$ zUMIDdgIsjNcgLHss-NW=nin?uCBJ$hwLKh|Cc{NJWqnWuB2)$nc1@#OOdu0qWESn{ z_F|?vd~6-Y5?eseH7X(^y+qW;W)n%#mABo|Rsd%rnsP0e!EdRT5HJI(+SzWdqczZT z%DUi3iG2%6gA)kD5>@}tkB^870xqPEUneXK&2Rj1oi_EQ+pFWi98vOt9d_r}E@sMfG zVfoJ&HSX>^pSBo;4*m>!o?>W{{uI7ONYR4`bl&*>DjA{-fBI$a&``O=moLRTm_crg zojtR)kOuk}o5UEezX75yJp2~1#9M~;2PH5CoF%2OV0m#AsRk-n;xyzGjX1szKf0;t zIaQ-X?3)bGVN%kFoLtRO`W!7DF)C16T1+g9f4@?&Ww;t%v=CIAQ32{r~2NLa5{Fqr}A|m=H_=z`$09}-^F8Vu>I!~% zI6gT!DX~OYD}{N!_mHU}wl=Xu+`!8aRhwDL1I#3-9XOYE$(=5TvW;y&*UH zfwBzZ0{o1Tu|ZTS;}jtwVc-PmrAr?^ed+@2b^A7qt-&0+G7e%3A7q3OPE;jkqS}hVfkkk*7q%rO0#eg6cB6glY9DyC%YIvVSb1NOP z5rED5Cr8yof}<=Vahb)bJs(AP3ifvw@OT*kN}Z?c5%&_-=VE2ehQt;Kb<}rJ389^d zGE#PQr;!n{10iCU6;d$PS?aE`7=x@ZqS;7lThk{P!6uek_ z3l#Pdk&VBf+ZE^>mjP{Q;gvjtzn>rM%v8A3sZkw9*az7sNYPw7*&!+}?$ag%nxvc1 zKt5}k$Q#d*Nsvoe)pnWS6_&i%auQT#30$Ac$Uxh22S9$ZbzXJ{5=!=FTxVlCGS!Af%{m~n@JLCr{WWa>Qo$YvM z<^PNgzmtubA4NLUUYiZ*X8>PEqbDbt#hyJH{OEvjv*t_8C39CDa{p3QO`Xf3LuX+=M8JZq*JG z>O4CU+%gL3nK)Yl@9uuyyZ|}@<%4N3GuB7hwz_PG*!p$dK#SW7cUX=!q+j;&+4vbt zU5=@XQenWB=1Hfi=VEaCktyaWX$vV?ZN&f-M5?qKKZj(qw@nztNQD;;Q>ec^s|MC< zv2Hf>kYkndvHbX%;*PyZ%!mSshFV5oZg%!!Z{hXXaI`Q5wb8X!>vaBcBW*^DH8~P< z?+pHaP!DO+VT;#YdMpbM68)yt$@!Q5<4ij-@3J$E+PNeXYcj>wpgw&cXhHatg{M}wp; zDe0ustgM+DS_z%doj!IugE8ZyGr@rI0tA&->j1<38tFdP*}7lmS~}!PjAMmHv8JZI znc-?5GF`W%FhGx#DPSziR;>_X3VF&AB zM@>o#$>8_zIV)C6OL9mVw!2FwZhZVcG=o|UyHYe&cTPf!dj zfj_9Ut8;XV=?|wryL*xPyd3I%-+HjIyjDrloAVAPX$XH@gJzWNT%kP>6Y_{XfsRI@;ya`f&qyl$(qpVn7nklDjhs)XyQ{k=WUl?-isg!y0 zgx6*F%i=BtoBFQ9)6CCLTb1vFnM&eY=$5PMxt!s}*l7~kw6DFoW4r6KqP}d57I@d| z7JSNMSa4>2_T4Mvi zH}|ANbO0FdY;%IP38(}egTCrEw*WQd1k!@w8B#p*+JAALI6)eF$E8z@vQ)dR58e^} zI92@o4$5A6K85=seOF>lxmNyca5hzli_*1029c>|y8O$~snAKrRfZu;_(W&!J{-Sg zuVJ7J#9qMdy_xUl!oE-6vwt*cc#t3%mO*jQ?CMTB7| z1|7%UsgjiagtTN`3mu7Giwe#{eM&^i_W__9F98Qw_JcSdbbZCspUKp;Dkfj%c2%D( zkx<)~r}riZ+J2M3`|g9EMv_fj2<%eHHS_$d6u0B!6>1IY#CkRI2xTkqT|A z2_qUfACh!Bv@O_dyh`hVHeEL45IsMX6_nBkh1!yYQ!ed*=5fQVTivX%a@@gs!nf-h z8iHy0UPFg+L4P6AaEw29lNodYPFEdm508wDKuZ}S$YRNy-PaG_9dOG@-G^{&o7$tafB~SB5WO-R@YsZNwO?#DbLBe}?P9AacobSo_$Zv{n zX}!U)IAu0J*4KFwIQ1-jr0^XU%Otj)C7shMJyrG&pwBy|a<-(xn1Oh)5@qj*tqpay zu}n@`xEP{~nV&Ywa>JM_7K%1Lm24Zxegiuu)pP7-vRiX{y1Gu=e=@>yRg@gEv#7Jv zJPn9_5si#lBDxQsKWE@l>Yazf(7d^QFWT3>l1b&vJV>s0j%py%^74xOPvBjwTvUY) z#mOMn9ju9ZLXY5fRi+49aMlGhx)y!+eW{2%N=6kO7WmOBd5u*yz>wizx`2&YB zZTU^m6O8EMw0_~a&v5QDbwL8^exzbz3ov9~C2H(;tgx%P#9g*qz>^@Fg8MppzO~`_ zGfwHs7I&-fYPr1dLN?4MJW6NjEremg6|j^LqBS&_Q8 zH{pR7nO#qYibz)Dxtu5pPKVVOwy8Ew3U4en!Yo=}6B>afLnKe5ul*bEwlP`-MWc1Qco_txp&{NZcW2-rqWl~S?JJ}F9 z=`QR{Q{4iZAfT6~8}@RcTmM|XjnzuMS_g7i;lP&l6*)v?+h3PsWkk9NCPj89yb$do zlb=IocBcd1+kF9acL(&ico^QRA-zVq25 z`S(U2%J&=L1?Q3zY}Qc1HcHVz_FIZ(o7u zZrdp>m$f=Xybt{vI2TYsDA<7HP71))0g*v(wF2Cc2mTd0c_0PW>6jDPuZ*FvQa3QSFh1)=Yxl$1MwW#+2o8!9p0 znNEDV@Z71wsm~WcO7Ktx2=hKjtiZH&;qVdw$5eda)FmTiz{`MvnDQ63B8X)=uRA7| z;n4_lIOd>$1~o>V1Q!lMcr}QLA%`EEb#Q)isBFXp@b_DRqxGFd5p@QAbeq|;8amug zP8taI?Z}h@_L}0ZWxz*(5^}~21Hx~uh6)Ka=R*wTe!m2zDG)0MgT0b_jxa*i>Kk+C zZelPn1M0v_d2UA`77Ehj@D|u0o`+hOjvZAbEqzaDw`u$>Zc) zjMva(XxTY9L|{+DtOZ2ToTn$pJJm$U zi-buL^fDaW;XZy$J~3A*1~u;=lgLyX7Z4@Do0%HBO(l*zlXdGjL=NQvaYIm8*bTyT zj(Q;h(b0oD1hcV5beXmQzrqdFdo>FOIFc#Oy!f6le2=l2$C?^O(@hM;6o^C zu$I(?3FH8(``Mhic*GlQ%(EuC=oiQn&YuCa#ppZ?6u`Gb2&Yq&vyo8rf|8E{t~D46 z-CQj8F7nKt^Kdymd_p24e_QfGacsZfOx<@SaOc%Fbks<1h+jdTRB`n?9*XF}n+y18 z%@v`}RrsDq7yd4;*-#Jigb8mpG`bhioSWc%!uR?og67=6e;>ItS9jq=geEvq?ga8o z6zV}RfJVsUyc6^sk%wr<4S0X#;Ykml8+lyZgf&MV9tof*`1fyTgig`^{ma$gu-<rD9vaBYk(S38KhOlBkkzu_@8YXo7sSB z0Iy6FVlLw@eeB2DNnS8cg>6SR-{B!g2)5cq4Qt?8bMI8dr%&5Jlj||n{`(m$+j{jp z5U3ffBcLZ=0G<17#dJVG`8hZ&pp!%s3+$jkln`WV`|)96HlT+nxc2ihx)BeH0lXG^ z0Y}hR`1>hEWiuL3zCh#P0hDTo_YOC=-P>+pXs^K3r*G}cGrF)__jT0OGf#klcK@7* zdKdixnB;=ysw)s4{(h0G4l(&C-&EMYfLxDMyI0FeK=(4YWXcax0YKBBCx^haFtU_m z_hIH+3p+HDp9A?5<|yKTlMoPa;dEd<5Pyz=RV@rRKYS@5QUBd3s0T@II+qdh4#t9B z?#v{}D~pc;IAj8I)&)@TdozMsl{0*J5<32Zp{HrEc4J_<1EM_$s4MyGnFF)L4bZ54 z55uf~ptbrG7#IIu#U!`93E2SA8c(Qu93>OZH;SC>we!1p`iz=`uB;8{7tiXku`SvPzWpA_MVmsOs-3B(jwWw=az2zUr|sKK3^Ezl4I;^Q%B;EjUJCtOrP z>)C*RHz>S|o42QlXpIz@EGz?r4F@TS?e4n{7%0!Yv1C`i@-&y;b+Z#3A>harTyMM) z?|!@o-@qUtRBm7q4jV)*vee}U6Bz{sHS)ozE1jx6aS*OysmDM9DGlkY!i_6F$|hYI z3sFu(k1Pi<8(Dcuf&TykL^b#)q{A2r@ZVz~i+v-W24P`{Q3t?5IFkOx2al_r7uzF| z0>UIk^hmtFfyWNW3ov8WH@Gf3PPQlqq&a}lEkIGNd^8RsrcoULgK$|m$3L<{qfhoF zVw4PmnUE0ja&WYZ>UF`)+xX!u4};4pUY;zn79JB_7x98%^)>Kh!Vl|&Bgxq zXC07kft{T@G*`v7b^+bLapMLcI^P0kaigF#R4uQgu;lgUAYVaUg9bEz?L-$RvMDmU{vMqf|`NBjEatHAuJpSJhB2!Pmh)u z;RnJW3g~DC$MaK(;<|yR2`JlXv>5&=2yvbda7CY}q1jYR)j0s}REv>N3m`i+Li6=g zH@D*twF2(xy@1m~%4};zR<*gnDQok=4jPic_ zc5vy;la5Bd3(3DGc{SwZG}Vm%et@>ns587|L+|p3&A6lSxSagf#0HjfOp7#MMb`d( zLJT3E&KuH~`Dmhlu9e}Hbn!ftt3F>viTunm=nU$sh@63vdiPgc~#A7<}1%}*`m!VsZgSY`PA(MapYXiOH^XD

%6a%G)fQt>qOyQl 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 @WZs^wxCO%A{(~cy)1K3F_*t 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%0Dkz{GDnUPO;S-#HM+ennas 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 literal 0 HcmV?d00001 diff --git a/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.spec.ts b/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.spec.ts index 9eefbc960..1d75483d4 100644 --- a/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.spec.ts +++ b/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.spec.ts @@ -5,7 +5,7 @@ import { assistantExecutionPolicy } from "./assistant-execution-policy"; describe("assistantExecutionPolicy", () => { test("allows a sizeable batch of tool calls to finish in one request", () => { expect(assistantExecutionPolicy.maxSteps).toBeGreaterThanOrEqual(32); - expect(assistantExecutionPolicy.maxOutputTokens).toBeGreaterThanOrEqual(65_536); + expect(assistantExecutionPolicy.maxOutputTokens).toBe(32_768); expect(assistantExecutionPolicy.totalTimeoutMs).toBeGreaterThan(assistantExecutionPolicy.stepTimeoutMs); expect(assistantExecutionPolicy.toolTimeoutMs).toBeGreaterThanOrEqual(60_000); }); diff --git a/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.ts b/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.ts index 799bf36d9..08d7cedcb 100644 --- a/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.ts +++ b/apps/nextjs/src/app/api/assistant/chat/assistant-execution-policy.ts @@ -1,6 +1,6 @@ export const assistantExecutionPolicy = { maxSteps: 32, - maxOutputTokens: 65_536, + maxOutputTokens: 32_768, totalTimeoutMs: 240_000, stepTimeoutMs: 60_000, toolTimeoutMs: 60_000, diff --git a/apps/nextjs/src/app/api/assistant/chat/route.ts b/apps/nextjs/src/app/api/assistant/chat/route.ts index ce09bc9b3..399914eb2 100644 --- a/apps/nextjs/src/app/api/assistant/chat/route.ts +++ b/apps/nextjs/src/app/api/assistant/chat/route.ts @@ -72,6 +72,7 @@ export const maxDuration = 300; const assistantRequestMaxBytes = 12_000_000; const logger = createLogger({ module: "assistant" }); +const getAssistantLogErrorType = (error: unknown) => (error instanceof Error ? error.name : typeof error); const getToolApprovalSecret = () => Buffer.from( hkdfSync("sha256", Buffer.from(env.SECRET_ENCRYPTION_KEY, "hex"), "", "assistant-tool-approval", 32), @@ -435,7 +436,7 @@ export async function POST(request: Request) { } catch (error) { logger.warn("Rejected an unsafe Homarr provider endpoint", { provider: configuration.provider, - error, + errorType: getAssistantLogErrorType(error), }); return Response.json({ error: "The Homarr provider endpoint is not configured safely." }, { status: 503 }); } @@ -462,7 +463,7 @@ export async function POST(request: Request) { requestId, provider: configuration.provider, modelId: requestedModelId, - error: modelLookup.error, + errorType: getAssistantLogErrorType(modelLookup.error), }); } const selectedModel = modelLookup.model; @@ -536,7 +537,7 @@ export async function POST(request: Request) { } catch (error) { logger.error("Assistant tool call failed", { toolName: mcpTool.name, - error: error instanceof Error ? error.message : String(error), + errorType: getAssistantLogErrorType(error), }); return { error: getSafeAssistantToolError(error, { toolName: mcpTool.name }) }; } @@ -747,7 +748,7 @@ export async function POST(request: Request) { requestId, provider: configuration.provider, modelId, - error: error instanceof Error ? error.message : String(error), + errorType: getAssistantLogErrorType(error), }); }, onFinish: async () => { @@ -759,7 +760,7 @@ export async function POST(request: Request) { } catch (error) { logger.error("Failed to update assistant conversation metadata", { threadId: thread.id, - error: error instanceof Error ? error.message : String(error), + errorType: getAssistantLogErrorType(error), }); } }, @@ -866,7 +867,7 @@ export async function POST(request: Request) { }); } catch (error) { logger.error("Assistant response could not start", { - error: error instanceof Error ? error.message : String(error), + errorType: getAssistantLogErrorType(error), }); return Response.json( { diff --git a/apps/workshop/homarr_provider.go b/apps/workshop/homarr_provider.go index 873501373..d172afcfb 100644 --- a/apps/workshop/homarr_provider.go +++ b/apps/workshop/homarr_provider.go @@ -23,18 +23,27 @@ import ( const ( homarrProviderModelID = "homarr/deepseek-v4-flash-latest" openRouterModelID = "~deepseek/deepseek-v4-flash-latest" + maxChatInputTokens = 256 * 1024 + maxChatOutputTokens = 32 * 1024 defaultDailyLimit = 50 maxProviderRequestUnits = 1000 - maxChatRequestBytes = 8 << 20 - maxChatResponseBytes = 8 << 20 - maxUpstreamErrorBytes = 1 << 20 - openRouterDefaultURL = "https://openrouter.ai/api/v1" - providerRequestTimeout = 5 * time.Minute + // Do not trust a client-side token estimate. Applying the same numeric ceiling to + // the complete serialized payload is deliberately stricter than a tokenizer-based + // limit and also bounds attachments and tool schemas. + maxChatRequestBytes = maxChatInputTokens + maxChatResponseBytes = 8 << 20 + maxUpstreamErrorBytes = 1 << 20 + maxWebSearchResults = 5 + maxWebSearchUses = 3 + openRouterDefaultURL = "https://openrouter.ai/api/v1" + providerRequestTimeout = 5 * time.Minute ) var errProviderResponseTooLarge = errors.New("provider response is too large") -var clientControlledRoutingFields = []string{"models", "provider", "route", "plugins", "transforms"} +var clientControlledRoutingFields = []string{ + "models", "provider", "route", "plugins", "transforms", "extra_body", "extra_headers", +} type homarrProvider struct { apiKey string @@ -97,8 +106,9 @@ func newHomarrProviderFromEnv() (*homarrProvider, error) { baseURL = openRouterDefaultURL } parsedURL, err := url.Parse(baseURL) - if err != nil || parsedURL.Host == "" || (parsedURL.Scheme != "https" && parsedURL.Scheme != "http") { - return nil, errors.New("HOMARR_AI_OPENROUTER_BASE_URL must be an absolute HTTP(S) URL") + if err != nil || parsedURL.Host == "" || (parsedURL.Scheme != "https" && parsedURL.Scheme != "http") || + parsedURL.User != nil || parsedURL.RawQuery != "" || parsedURL.Fragment != "" { + return nil, errors.New("HOMARR_AI_OPENROUTER_BASE_URL must be an absolute HTTP(S) URL without credentials, a query, or a fragment") } dailyLimit := defaultDailyLimit @@ -136,7 +146,7 @@ func (provider *homarrProvider) models(event *core.RequestEvent) error { "name": "DeepSeek V4 Flash Latest", "description": "Fast agentic model provided by the community-funded Homarr provider.", "owned_by": "homarr", - "context_length": 1_048_576, + "context_length": maxChatInputTokens, "supported_parameters": []string{ "tools", "tool_choice", "reasoning", "include_reasoning", "structured_outputs", }, @@ -183,7 +193,9 @@ func (provider *homarrProvider) chat(event *core.RequestEvent) error { if err := json.Unmarshal(body, &payload); err != nil { return event.JSON(http.StatusBadRequest, openAIError("The request body is not valid OpenAI chat JSON.")) } - sanitizeProviderPayload(payload) + if err := sanitizeProviderPayload(payload); err != nil { + return event.JSON(http.StatusBadRequest, openAIError(err.Error())) + } upstreamBody, err := json.Marshal(payload) if err != nil { return event.JSON(http.StatusBadRequest, openAIError("The request body could not be prepared.")) @@ -208,7 +220,7 @@ func (provider *homarrProvider) chat(event *core.RequestEvent) error { bytes.NewReader(upstreamBody), ) if err != nil { - provider.finishActivityWithRefund(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt, requestUnits) + provider.finishActivity(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt) return event.JSON(http.StatusInternalServerError, openAIError("The Homarr provider request could not be prepared.")) } upstreamRequest.Header.Set("Authorization", "Bearer "+provider.apiKey) @@ -220,7 +232,7 @@ func (provider *homarrProvider) chat(event *core.RequestEvent) error { upstreamResponse, err := provider.httpClient.Do(upstreamRequest) if err != nil { - provider.finishActivityWithRefund(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt, requestUnits) + provider.finishActivity(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt) return event.JSON(http.StatusBadGateway, openAIError("The model endpoint could not be reached.")) } defer func() { _ = upstreamResponse.Body.Close() }() @@ -239,17 +251,15 @@ func (provider *homarrProvider) chat(event *core.RequestEvent) error { contentType = "application/json" } if upstreamResponse.StatusCode < 200 || upstreamResponse.StatusCode >= 300 { - errorBody, _ := io.ReadAll(io.LimitReader(upstreamResponse.Body, maxUpstreamErrorBytes)) - provider.finishActivityWithRefund(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt, requestUnits) - event.Response.Header().Set("X-Homarr-Quota-Remaining", strconv.Itoa(min(snapshot.Limit, snapshot.Remaining+requestUnits))) - return event.Blob(upstreamResponse.StatusCode, contentType, errorBody) + provider.finishActivity(event.App, privateRequest, publicActivity, "failed", requestUsage{}, startedAt) + return event.JSON(upstreamResponse.StatusCode, openAIError("The model endpoint rejected the request.")) } if requestBody.Stream { capture := newSSEUsageCapture() event.Response.Header().Set("Content-Type", contentType) event.Response.WriteHeader(upstreamResponse.StatusCode) - _, copyErr := io.Copy(flushingWriter{event.Response}, io.TeeReader(upstreamResponse.Body, capture)) + _, copyErr := copyBounded(flushingWriter{event.Response}, io.TeeReader(upstreamResponse.Body, capture), maxChatResponseBytes) provider.finishActivity(event.App, privateRequest, publicActivity, statusForError(copyErr), capture.Usage(), startedAt) return nil } @@ -264,12 +274,72 @@ func (provider *homarrProvider) chat(event *core.RequestEvent) error { return event.Blob(upstreamResponse.StatusCode, contentType, responseBody) } -func sanitizeProviderPayload(payload map[string]any) { +func sanitizeProviderPayload(payload map[string]any) error { for _, field := range clientControlledRoutingFields { delete(payload, field) } + delete(payload, "max_completion_tokens") + delete(payload, "metadata") + delete(payload, "user") + if reasoning, ok := payload["reasoning"].(map[string]any); ok { + delete(reasoning, "max_tokens") + } + + if rawTools, exists := payload["tools"]; exists { + tools, ok := rawTools.([]any) + if !ok { + return errors.New("The request tools are not valid.") + } + sanitizedTools := make([]any, 0, len(tools)) + webSearchAdded := false + for _, rawTool := range tools { + tool, ok := rawTool.(map[string]any) + if !ok { + return errors.New("The request contains an unsupported tool.") + } + switch tool["type"] { + case "function": + sanitizedTools = append(sanitizedTools, tool) + case "openrouter:web_search": + if !webSearchAdded { + sanitizedTools = append(sanitizedTools, map[string]any{ + "type": "openrouter:web_search", + "parameters": map[string]any{ + "max_results": maxWebSearchResults, + "max_uses": maxWebSearchUses, + }, + }) + webSearchAdded = true + } + default: + return errors.New("The request contains an unsupported tool.") + } + } + payload["tools"] = sanitizedTools + } + payload["model"] = openRouterModelID + payload["max_tokens"] = maxChatOutputTokens + payload["n"] = 1 + payload["parallel_tool_calls"] = false payload["usage"] = map[string]any{"include": true} + return nil +} + +func copyBounded(writer io.Writer, reader io.Reader, limit int64) (int64, error) { + written, err := io.Copy(writer, io.LimitReader(reader, limit)) + if err != nil { + return written, err + } + var extra [1]byte + read, err := reader.Read(extra[:]) + if read > 0 { + return written, errProviderResponseTooLarge + } + if err != nil && !errors.Is(err, io.EOF) { + return written, err + } + return written, nil } func readBoundedBody(reader io.Reader, limit int64) ([]byte, error) { @@ -393,18 +463,6 @@ func (provider *homarrProvider) finishActivity( status string, usage requestUsage, startedAt time.Time, -) { - provider.finishActivityWithRefund(app, privateRequest, publicActivity, status, usage, startedAt, 0) -} - -func (provider *homarrProvider) finishActivityWithRefund( - app core.App, - privateRequest *core.Record, - publicActivity *core.Record, - status string, - usage requestUsage, - startedAt time.Time, - refundUnits int, ) { durationMs := max(0, int(provider.now().UTC().Sub(startedAt).Milliseconds())) err := app.RunInTransaction(func(txApp core.App) error { @@ -430,9 +488,6 @@ func (provider *homarrProvider) finishActivityWithRefund( if !requestBelongsToQuotaDay(quota.GetString("day"), startedAt) { return nil } - if refundUnits > 0 { - quota.Set("used", max(0, quota.GetInt("used")-refundUnits)) - } quota.Set("inputTokens", quota.GetInt("inputTokens")+usage.InputTokens) quota.Set("outputTokens", quota.GetInt("outputTokens")+usage.OutputTokens) quota.Set("totalTokens", quota.GetInt("totalTokens")+usage.TotalTokens) diff --git a/apps/workshop/homarr_provider_test.go b/apps/workshop/homarr_provider_test.go index ea29f2558..e46d0a4a9 100644 --- a/apps/workshop/homarr_provider_test.go +++ b/apps/workshop/homarr_provider_test.go @@ -10,15 +10,34 @@ import ( func TestSanitizeProviderPayload(t *testing.T) { payload := map[string]any{ - "model": homarrProviderModelID, - "models": []string{"attacker/model"}, - "provider": map[string]any{"order": []string{"attacker"}}, - "route": "fallback", - "plugins": []string{"web"}, - "transforms": []string{"middle-out"}, - "messages": []any{map[string]any{"role": "user", "content": "hello"}}, + "model": homarrProviderModelID, + "models": []string{"attacker/model"}, + "provider": map[string]any{"order": []string{"attacker"}}, + "route": "fallback", + "plugins": []string{"web"}, + "transforms": []string{"middle-out"}, + "max_tokens": 1_000_000, + "max_completion_tokens": 1_000_000, + "n": 100, + "parallel_tool_calls": true, + "extra_body": map[string]any{"provider": map[string]any{"order": []string{"attacker"}}}, + "extra_headers": map[string]any{"Authorization": "Bearer attacker"}, + "metadata": map[string]any{"user": "private-user-id"}, + "reasoning": map[string]any{"effort": "high", "max_tokens": 1_000_000}, + "user": "private-user-id", + "tools": []any{ + map[string]any{"type": "function", "function": map[string]any{"name": "board_list"}}, + map[string]any{ + "type": "openrouter:web_search", + "parameters": map[string]any{"max_results": 1000, "max_uses": 1000}, + }, + map[string]any{"type": "openrouter:web_search"}, + }, + "messages": []any{map[string]any{"role": "user", "content": "hello"}}, + } + if err := sanitizeProviderPayload(payload); err != nil { + t.Fatal(err) } - sanitizeProviderPayload(payload) for _, field := range clientControlledRoutingFields { if _, exists := payload[field]; exists { t.Fatalf("client-controlled routing field %q was forwarded", field) @@ -27,12 +46,44 @@ func TestSanitizeProviderPayload(t *testing.T) { if payload["model"] != openRouterModelID { t.Fatalf("unexpected upstream model: %v", payload["model"]) } + if payload["max_tokens"] != maxChatOutputTokens || payload["n"] != 1 || payload["parallel_tool_calls"] != false { + t.Fatalf("unsafe generation controls were forwarded: %#v", payload) + } + if _, exists := payload["max_completion_tokens"]; exists { + t.Fatal("client max_completion_tokens was forwarded") + } + if _, exists := payload["user"]; exists { + t.Fatal("client user identifier was forwarded") + } + if _, exists := payload["metadata"]; exists { + t.Fatal("client metadata was forwarded") + } + reasoning := payload["reasoning"].(map[string]any) + if _, exists := reasoning["max_tokens"]; exists || reasoning["effort"] != "high" { + t.Fatalf("reasoning budget was not bounded safely: %#v", reasoning) + } + tools := payload["tools"].([]any) + if len(tools) != 2 { + t.Fatalf("unexpected sanitized tool count: %d", len(tools)) + } + webSearch := tools[1].(map[string]any) + parameters := webSearch["parameters"].(map[string]any) + if parameters["max_results"] != maxWebSearchResults || parameters["max_uses"] != maxWebSearchUses { + t.Fatalf("web search limits were not enforced: %#v", parameters) + } usage, err := json.Marshal(payload["usage"]) if err != nil || string(usage) != `{"include":true}` { t.Fatalf("unexpected usage options: %s, %v", usage, err) } } +func TestSanitizeProviderPayloadRejectsUnsupportedServerTools(t *testing.T) { + payload := map[string]any{"tools": []any{map[string]any{"type": "openrouter:computer"}}} + if err := sanitizeProviderPayload(payload); err == nil { + t.Fatal("expected unsupported server tool to be rejected") + } +} + func TestCountRequestUnits(t *testing.T) { tests := []struct { name string @@ -111,6 +162,18 @@ func TestProviderEnvironment(t *testing.T) { if _, err := newHomarrProviderFromEnv(); err == nil { t.Fatal("expected invalid daily limit to fail") } + + t.Setenv("HOMARR_AI_DAILY_REQUEST_LIMIT", "50") + for _, unsafeURL := range []string{ + "https://user:password@router.example/v1", + "https://router.example/v1?key=secret", + "https://router.example/v1#fragment", + } { + t.Setenv("HOMARR_AI_OPENROUTER_BASE_URL", unsafeURL) + if _, err := newHomarrProviderFromEnv(); err == nil { + t.Fatalf("expected unsafe upstream URL %q to fail", unsafeURL) + } + } } func TestReadBoundedBody(t *testing.T) { @@ -123,6 +186,20 @@ func TestReadBoundedBody(t *testing.T) { } } +func TestCopyBounded(t *testing.T) { + var target strings.Builder + written, err := copyBounded(&target, strings.NewReader("1234"), 4) + if err != nil || written != 4 || target.String() != "1234" { + t.Fatalf("unexpected bounded copy: %q, %d, %v", target.String(), written, err) + } + + target.Reset() + written, err = copyBounded(&target, strings.NewReader("12345"), 4) + if err != errProviderResponseTooLarge || written != 4 || target.String() != "1234" { + t.Fatalf("expected bounded copy failure, got %q, %d, %v", target.String(), written, err) + } +} + func TestRequestBelongsToQuotaDay(t *testing.T) { startedAt := time.Date(2026, 8, 12, 1, 30, 0, 0, time.FixedZone("CEST", 2*60*60)) if !requestBelongsToQuotaDay("2026-08-11", startedAt) { diff --git a/apps/workshop/tests/openrouter-mock.mjs b/apps/workshop/tests/openrouter-mock.mjs index 4ea4074d0..5d2315362 100644 --- a/apps/workshop/tests/openrouter-mock.mjs +++ b/apps/workshop/tests/openrouter-mock.mjs @@ -28,11 +28,34 @@ const server = createServer(async (request, response) => { json(response, 400, { error: { message: "Unexpected upstream model" } }); return; } + if (body.max_tokens !== 32_768 || body.n !== 1 || body.parallel_tool_calls !== false) { + json(response, 400, { error: { message: "Unsafe generation controls reached the upstream" } }); + return; + } + if ( + "max_completion_tokens" in body || + "user" in body || + "metadata" in body || + "extra_body" in body || + "extra_headers" in body || + "max_tokens" in (body.reasoning ?? {}) + ) { + json(response, 400, { error: { message: "Private or unbounded request fields reached the upstream" } }); + return; + } const forbiddenRoutingField = ["models", "provider", "route", "plugins", "transforms"].find((field) => field in body); if (forbiddenRoutingField) { json(response, 400, { error: { message: `Client routing field was forwarded: ${forbiddenRoutingField}` } }); return; } + const webSearchTools = body.tools?.filter((tool) => tool.type === "openrouter:web_search") ?? []; + if ( + webSearchTools.length > 1 || + webSearchTools.some((tool) => tool.parameters?.max_results !== 5 || tool.parameters?.max_uses !== 3) + ) { + json(response, 400, { error: { message: "Unbounded web search controls reached the upstream" } }); + return; + } if (body.messages?.some((message) => message.content === "upstream failure")) { json(response, 503, { error: { message: "Simulated upstream failure" } }); return; diff --git a/apps/workshop/tests/workshop.integration.mjs b/apps/workshop/tests/workshop.integration.mjs index e1c5f8171..3213cef42 100644 --- a/apps/workshop/tests/workshop.integration.mjs +++ b/apps/workshop/tests/workshop.integration.mjs @@ -136,11 +136,23 @@ const modelList = await request("/api/ai/v1/models"); if ( modelList.object !== "list" || modelList.data.length !== 1 || - modelList.data[0].id !== "homarr/deepseek-v4-flash-latest" + modelList.data[0].id !== "homarr/deepseek-v4-flash-latest" || + modelList.data[0].context_length !== 256 * 1024 ) { throw new Error("The Homarr provider must advertise exactly one model"); } await expectStatus("/api/ai/usage", {}, 401); +await expectStatus( + "/api/ai/v1/chat/completions", + { + method: "POST", + body: JSON.stringify({ + model: "homarr/deepseek-v4-flash-latest", + messages: [{ role: "user", content: "unauthenticated" }], + }), + }, + 401, +); const initialUsage = await request("/api/ai/usage", { headers: authorSession.headers }); const initialReset = new Date(initialUsage.resetsAt); @@ -173,6 +185,19 @@ await expectStatus( }, 400, ); + +await expectStatus( + "/api/ai/v1/chat/completions", + { + method: "POST", + headers: authorSession.headers, + body: JSON.stringify({ + model: "homarr/deepseek-v4-flash-latest", + messages: [{ role: "user", content: "x".repeat(256 * 1024) }], + }), + }, + 413, +); const usageAfterRejectedRequest = await request("/api/ai/usage", { headers: authorSession.headers }); if (usageAfterRejectedRequest.used !== 0) { throw new Error("A rejected oversized request-unit batch consumed allowance"); @@ -266,6 +291,20 @@ const toolResponse = await fetch(`${baseUrl}/api/ai/v1/chat/completions`, { route: "fallback", plugins: ["web"], transforms: ["middle-out"], + max_tokens: 1_000_000, + max_completion_tokens: 1_000_000, + n: 100, + parallel_tool_calls: true, + extra_body: { provider: { order: ["attacker"] } }, + extra_headers: { Authorization: "Bearer attacker" }, + metadata: { user: "must-not-reach-openrouter" }, + reasoning: { effort: "high", max_tokens: 1_000_000 }, + user: "must-not-reach-openrouter", + tools: [ + { type: "function", function: { name: "board_list" } }, + { type: "openrouter:web_search", parameters: { max_results: 1000, max_uses: 1000 } }, + { type: "openrouter:web_search" }, + ], }), }); if (!toolResponse.ok || toolResponse.headers.get("x-homarr-quota-remaining") !== "46") { @@ -286,12 +325,20 @@ const upstreamFailure = await fetch(`${baseUrl}/api/ai/v1/chat/completions`, { stream: false, }), }); -if (upstreamFailure.status !== 503 || upstreamFailure.headers.get("x-homarr-quota-remaining") !== "46") { - throw new Error("Failed upstream requests must refund their Homarr provider allowance"); +if (upstreamFailure.status !== 503 || upstreamFailure.headers.get("x-homarr-quota-remaining") !== "45") { + throw new Error("Every request forwarded upstream must consume Homarr provider allowance"); +} +const upstreamFailureBody = await upstreamFailure.text(); +if (upstreamFailureBody.includes("Simulated upstream failure")) { + throw new Error("Upstream error details must not be exposed to clients"); } const afterFailureUsage = await request("/api/ai/usage", { headers: authorSession.headers }); -if (afterFailureUsage.used !== 4 || afterFailureUsage.remaining !== 46) { - throw new Error(`Failed upstream request was charged: ${JSON.stringify(afterFailureUsage)}`); +if (afterFailureUsage.used !== 5 || afterFailureUsage.remaining !== 45) { + throw new Error(`Forwarded upstream failure escaped quota accounting: ${JSON.stringify(afterFailureUsage)}`); +} +const visitorUsage = await request("/api/ai/usage", { headers: visitorSession.headers }); +if (visitorUsage.used !== 0 || visitorUsage.remaining !== 50) { + throw new Error(`Provider allowance leaked across users: ${JSON.stringify(visitorUsage)}`); } const publicActivities = await request("/api/collections/assistant_activity/records?sort=-created&perPage=10"); @@ -343,7 +390,7 @@ if (retainedRequest.id !== requestToRetain.id || retainedRequest.publicActivity) } const quotas = await request("/api/collections/assistant_quotas/records?perPage=20", { headers: rootHeaders }); const authorQuota = quotas.items.find((item) => item.user === author.id); -if (!authorQuota || authorQuota.dailyLimit !== 50 || authorQuota.used !== 4 || authorQuota.totalTokens !== 38) { +if (!authorQuota || authorQuota.dailyLimit !== 50 || authorQuota.used !== 5 || authorQuota.totalTokens !== 38) { throw new Error(`Private provider quota is incorrect: ${JSON.stringify(authorQuota)}`); } diff --git a/e2e/assistant-docs-screenshots.spec.ts b/e2e/assistant-docs-screenshots.spec.ts new file mode 100644 index 000000000..58389f66a --- /dev/null +++ b/e2e/assistant-docs-screenshots.spec.ts @@ -0,0 +1,101 @@ +import { mkdir } from "node:fs/promises"; +import path from "node:path"; + +import { chromium, expect } from "@playwright/test"; +import { describe, test } from "vitest"; + +import * as sqliteSchema from "../packages/db/schema/sqlite"; +import { createHomarrContainer } from "./shared/create-homarr-container"; +import { createSqliteDbFileAsync } from "./shared/e2e-db"; +import { seedAdminUserAsync } from "./shared/seed-admin-user"; + +const adminCredentials = { + username: "admin", + password: "Comp(exP4sswOrd", +}; + +// This is an opt-in documentation asset generator, not part of the normal E2E gate. +// Run it explicitly with UPDATE_DOCS_SCREENSHOTS=true when the documented UI changes. +describe.skipIf(process.env.UPDATE_DOCS_SCREENSHOTS !== "true")("Assistant documentation screenshots", () => { + test("captures the management page and conversation panel", async () => { + const { db, localMountPath } = await createSqliteDbFileAsync(); + await seedAdminUserAsync(db, adminCredentials); + await db.insert(sqliteSchema.assistantConfigurations).values({ + id: "default", + enabled: true, + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + modelDiscoveryPath: null, + encryptedApiKey: "encrypted.key", + modelId: "deepseek/deepseek-v4-flash", + }); + + const outputDirectory = path.resolve("apps/docs/static/img/assistant"); + await mkdir(outputDirectory, { recursive: true }); + + const homarrContainer = await createHomarrContainer({ + environment: { AUTH_PROVIDERS: "credentials" }, + mounts: { "/appdata": localMountPath }, + }).start(); + const baseUrl = `http://${homarrContainer.getHost()}:${homarrContainer.getMappedPort(7575)}`; + const browser = await chromium.launch(); + const context = await browser.newContext({ + colorScheme: "dark", + deviceScaleFactor: 1, + viewport: { width: 1440, height: 1000 }, + }); + const page = await context.newPage(); + + try { + await page.goto(`${baseUrl}/auth/login`); + await page.getByLabel("Username").fill(adminCredentials.username); + await page.locator("#password").fill(adminCredentials.password); + await page.getByRole("button", { name: "Login" }).click(); + await expect(page).not.toHaveURL(/\/auth\/login/, { timeout: 30_000 }); + + await page.goto(`${baseUrl}/manage/assistant`); + await expect(page.getByRole("heading", { name: "Assistant" })).toBeVisible(); + await expect(page.getByText("Connection ready")).toBeVisible(); + await page + .getByRole("main") + .first() + .screenshot({ + animations: "disabled", + path: path.join(outputDirectory, "configuration.png"), + }); + + await page.goto(baseUrl); + await expect(page.getByRole("main").first()).toBeVisible(); + await page.locator("body").click({ position: { x: 12, y: 12 } }); + await page.keyboard.press("Shift+A"); + const assistantDialog = page.getByRole("dialog", { name: "Homarr Assistant" }); + await expect(assistantDialog).toBeVisible(); + await assistantDialog.screenshot({ + animations: "disabled", + path: path.join(outputDirectory, "conversation.png"), + }); + + await db.update(sqliteSchema.assistantConfigurations).set({ + provider: "homarr", + baseUrl: "https://homarr.dev/api/ai/v1", + modelDiscoveryPath: "/models", + encryptedApiKey: null, + modelId: "~deepseek/deepseek-v4-flash-latest", + }); + await page.goto(`${baseUrl}/manage/assistant`); + await expect(page.getByRole("heading", { name: "Assistant" })).toBeVisible(); + await expect(page.getByText("Homarr", { exact: true }).first()).toBeVisible(); + await expect(page.getByRole("button", { name: "Refresh models" })).toBeVisible({ timeout: 15_000 }); + const mainBox = await page.getByRole("main").first().boundingBox(); + if (!mainBox) throw new Error("Assistant management page has no visible main content"); + await page.screenshot({ + animations: "disabled", + path: path.join(outputDirectory, "homarr-provider.png"), + clip: { ...mainBox, height: Math.min(mainBox.height, 1_090) }, + }); + } finally { + await browser.close(); + await homarrContainer.stop(); + } + }, 120_000); +});