+
+Learn how to build a flow starting with the **Tool calling agent** component, and see how it can help you solve problems.
+
+## Prerequisites
+
+- [An OpenAI API key](https://platform.openai.com/)
+- [A Search API key](https://www.searchapi.io/)
+
+## Create a problem-solving agent with AgentComponent
+
+Create a problem-solving agent in Langflow, starting with the **Tool calling agent**.
+
+1. Click **New Flow**, and then click **Blank Flow**.
+2. Click and drag an **Agent** component to your workspace.
+The default settings are acceptable for now, so this guide assumes you're using **Open AI** for the LLM.
+3. Add your **Open AI API Key** to the **Agent** component.
+4. Add **Chat input** and **Chat output** components to your flow, and connect them to the tool calling agent.
+
+
+
+This basic flow enables you to chat with the agent with the **Playground** after you've connected some **Tools**.
+
+5. Connect the **Search API** tool component to your agent.
+6. Add your **Search API key** to the component.
+Your agent can now query the Search API for information.
+7. Connect a **Calculator** tool for solving basic math problems.
+8. Connect an **API Request** component to the agent.
+This component is not in the **Tools** category, but the agent can still use it as a tool by enabling **Tool Mode**.
+**Tool Mode** makes a component into a tool by adding a **Toolset** port that can be connected to an agent's **Tools** port.
+To enable **Tool Mode** on the component, click **Tool Mode**.
+The component's fields change dynamically based on the mode it's in.
+
+
+
+## Solve problems with the agent
+
+Your agent now has tools for performing a web search, doing basic math, and performing API requests. You can solve many problems with just these capabilities.
+
+* Your tabletop game group cancelled, and you're stuck at home.
+Point **API Request** to an online rules document, tell your agent `You are a fun game organizer who uses the tools at your disposal`, and play a game.
+* You need to learn a new software language quickly.
+Point **API Request** to some docs, tell your agent `You are a knowledgeable software developer who uses the tools at your disposal`, and start learning.
+
+See what problems you can solve with this flow. As your problem becomes more specialized, add a tool. For example, the [simple agent starter project](/starter-projects-simple-agent) adds a Python REPL component to solve math problems that are too challenging for the calculator.
+
+## Use an agent as a tool
+
+The agent component itself also supports **Tool Mode** for creating multi-agent flows.
+
+Add an agent to your problem-solving flow that uses a different OpenAI model for more specialized problem solving.
+
+1. Click and drag an **Agent** component to your workspace.
+2. Add your **Open AI API Key** to the **Agent** component.
+3. In the **Model Name** field, select `gpt-4o`.
+4. Click **Tool Mode** to use this new agent as a tool.
+5. Connect the new agent's **Toolset** port to the previously created agent's **Tools** port.
+6. Connect **Search API** and **API Request** to the new agent.
+The new agent will use `gpt-4o` for the larger tasks of scraping and searching information that requires large context windows.
+The problem-solving agent will now use this agent as a tool, with its unique LLM and toolset.
+
+
+
+## Add custom components as tools {#components-as-tools}
+
+An agent can use custom components as tools.
+
+1. To add a custom component to the problem-solving agent flow, click **New Custom Component**.
+
+2. Add custom Python code to the custom component.
+Here's an example text analyzer for sentiment analysis.
+
+```python
+from langflow.custom import Component
+from langflow.io import MessageTextInput, Output
+from langflow.schema import Data
+import re
+
+class TextAnalyzerComponent(Component):
+ display_name = "Text Analyzer"
+ description = "Analyzes and transforms input text."
+ documentation: str = "http://docs.langflow.org/components/custom"
+ icon = "chart-bar"
+ name = "TextAnalyzerComponent"
+
+ inputs = [
+ MessageTextInput(
+ name="input_text",
+ display_name="Input Text",
+ info="Enter text to analyze",
+ value="Hello, World!",
+ tool_mode=True,
+ ),
+ ]
+
+ outputs = [
+ Output(display_name="Analysis Result", name="output", method="analyze_text"),
+ ]
+
+ def analyze_text(self) -> Data:
+ text = self.input_text
+
+ # Perform text analysis
+ word_count = len(text.split())
+ char_count = len(text)
+ sentence_count = len(re.findall(r'\w+[.!?]', text))
+
+ # Transform text
+ reversed_text = text[::-1]
+ uppercase_text = text.upper()
+
+ analysis_result = {
+ "original_text": text,
+ "word_count": word_count,
+ "character_count": char_count,
+ "sentence_count": sentence_count,
+ "reversed_text": reversed_text,
+ "uppercase_text": uppercase_text
+ }
+
+ data = Data(value=analysis_result)
+ self.status = data
+ return data
+```
+
+3. To enable the custom component as a tool, click **Tool Mode**.
+4. Connect the tool output to the agent's tools input.
+5. Ask the agent, `What tools are you using to answer my questions?`
+Your response will be similar to the following, and will include your custom component.
+```plain
+I have access to several tools that assist me in answering your questions, including:
+Search API: This allows me to search for recent information or results on the web.
+HTTP Requests: I can make HTTP requests to various URLs to retrieve data or interact with APIs.
+Calculator: I can evaluate basic arithmetic expressions.
+Text Analyzer: I can analyze and transform input text.
+Current Date and Time: I can retrieve the current date and time in various time zones.
+```
+
+4. Click **Check & Save**.
+
+Your component now has a **Tool Mode** button, and can be used by an agent.
+
+## Make any component a tool
+
+These components support **Tool Mode**:
+
+* **URL**
+* **API request**
+* **Calculator**
+* **Current date**
+
+If the component you want to use as a tool doesn't have a **Tool Mode** button, add `tool_mode=True` to the component's code under `MessageTextInput`.
+
+For example, in the [components as tools](#components-as-tools) example above, `tool_mode=True,` is added so the custom component can be used as a tool.
+
+**Tool Mode** supports the `MessageTextInput` type.
+
+```python
+inputs = [
+ MessageTextInput(
+ name="input_text",
+ display_name="Input Text",
+ info="Enter text to analyze",
+ value="Hello, World!",
+ tool_mode=True,
+ ),
+]
+```
+
+## Add flows as tools
+
+An agent can use flows that are saved in your workspace as tools.
+
+1. To add a **Flow as tool** component, click and drag a **Flow as tool** component to your workspace.
+2. Select the flow you want the agent to use as a tool.
+3. Connect the tool output to the agent's tools input.
+4. Ask the agent, `What tools are you using to answer my questions?`
+Your **Flow as tool** flow should be visible in the response.
+
+
diff --git a/docs/docs/Agents/agents-overview.md b/docs/docs/Agents/agents-overview.md
new file mode 100644
index 000000000..d8901eb76
--- /dev/null
+++ b/docs/docs/Agents/agents-overview.md
@@ -0,0 +1,15 @@
+---
+title: Agents overview
+sidebar_position: 1
+slug: /agents-overview
+---
+
+**Agents** are AI systems that use LLMs as a brain to analyze problems and select external tools.
+
+Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes.
+
+To simplify the development of agents, Langflow created a custom [Tool calling agent](/components-agents#agent-component) component that simplifies configuration and lets developers focus on solving problems with agents.
+
+
+
+To get started, see [Create a problem solving agent](/agents-tool-calling-agent-component).
\ No newline at end of file
diff --git a/docs/docs/Components/_category_.json b/docs/docs/Components/_category_.json
index fdcf11823..62531e49e 100644
--- a/docs/docs/Components/_category_.json
+++ b/docs/docs/Components/_category_.json
@@ -1 +1 @@
-{"position":5, "label":"Components"}
\ No newline at end of file
+{"position":6, "label":"Components"}
\ No newline at end of file
diff --git a/docs/docs/Components/components-agents.md b/docs/docs/Components/components-agents.md
index 778e33567..ef121cce3 100644
--- a/docs/docs/Components/components-agents.md
+++ b/docs/docs/Components/components-agents.md
@@ -1,14 +1,38 @@
-# Agents
+---
+title: Types of agents in Langflow
+sidebar_position: 12
+slug: /components-agents
+---
-Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services, but can also use LLMs as a reasoning engine to decide which course to take in your flow.
+Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services and use LLMs as a reasoning engine to decide which course to take in your flow.
+
+## Agent component {#agent-component}
+
+This component creates an agent that can use tools to answer questions and perform tasks based on given instructions.
+
+For more information on this component, see the [tool calling agent documentation](/agents-tool-calling-agent-component).
+
+### Inputs
+
+| Name | Type | Description |
+|----------------------|----------|-------------------------------------------------------------------------------------------------|
+| agent_llm | Dropdown | The provider of the language model that the agent will use to generate responses. |
+| system_prompt | String | Initial instructions and context provided to guide the agent's behavior. |
+| tools | List | List of tools available for the agent to use. |
+| input_value | String | The input task or question for the agent to process. |
+| add_current_date_tool| Boolean | If true, adds a tool to the agent that returns the current date. |
+
+### Outputs
+
+| Name | Type | Description |
+|----------|---------|-------------------------------------------------|
+| response | Message | The agent's response to the given input task. |
## CSV Agent
This component creates a CSV agent from a CSV file and LLM.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -16,7 +40,7 @@ This component creates a CSV agent from a CSV file and LLM.
| path | File | Path to the CSV file |
| agent_type | String | Type of agent to create (zero-shot-react-description, openai-functions, or openai-tools) |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -28,9 +52,7 @@ This component represents an Agent of CrewAI, allowing for the creation of speci
For more information, see the [CrewAI documentation](https://docs.crewai.com/core-concepts/Agents/).
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -45,7 +67,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/cor
| allow_code_execution | Allow Code Execution | Whether the agent is allowed to execute code |
| kwargs | kwargs | Additional keyword arguments for the agent |
-#### Outputs
+### Outputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -57,9 +79,7 @@ This component represents a group of agents, managing how they should collaborat
For more information, see the [CrewAI documentation](https://docs.crewai.com/how-to/Hierarchical/).
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -74,7 +94,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
| share_crew | Share Crew | Determines if the crew information is shared among agents |
| function_calling_llm | Function Calling LLM | Specifies the language model for function calling |
-#### Outputs
+### Outputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -84,16 +104,14 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
This component creates a JSON agent from a JSON or YAML file and an LLM.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
| llm | LanguageModel | Language model to use for the agent |
| path | File | Path to the JSON or YAML file |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -105,9 +123,7 @@ This component creates an OpenAI Tools Agent using LangChain.
For more information, see the [LangChain documentation](https://python.langchain.com/v0.1/docs/modules/agents/agent_types/openai_tools/).
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -117,7 +133,7 @@ For more information, see the [LangChain documentation](https://python.langchain
| chat_history | List[Data] | Optional chat history for the agent |
| tools | List[Tool] | List of tools available to the agent |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -129,9 +145,7 @@ This component creates an OpenAPI Agent to interact with APIs defined by OpenAPI
For more information, see the LangChain documentation on OpenAPI Agents.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -139,7 +153,7 @@ For more information, see the LangChain documentation on OpenAPI Agents.
| path | File | Path to the OpenAPI specification file (JSON or YAML) |
| allow_dangerous_requests | Boolean | Whether to allow potentially dangerous API requests |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -149,9 +163,7 @@ For more information, see the LangChain documentation on OpenAPI Agents.
This component creates a SQL Agent to interact with SQL databases.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -159,7 +171,7 @@ This component creates a SQL Agent to interact with SQL databases.
| database_uri | String | URI of the SQL database to connect to |
| extra_tools | List[Tool] | Additional tools to provide to the agent (optional) |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -171,9 +183,7 @@ This component represents a group of agents with tasks that are executed sequent
For more information, see the [CrewAI documentation](https://docs.crewai.com/how-to/Sequential/).
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -185,7 +195,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
| share_crew | Share Crew | Determines if the crew information is shared among agents |
| function_calling_llm | Function Calling LLM | Specifies the language model for function calling |
-#### Outputs
+### Outputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -197,9 +207,7 @@ This component creates a CrewAI Task and its associated Agent, allowing for the
For more information, see the [CrewAI documentation](https://docs.crewai.com/how-to/Sequential/).
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -218,7 +226,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
| async_execution | Async Execution | Boolean flag indicating asynchronous task execution |
| previous_task | Previous Task | The previous task in the sequence (for chaining) |
-#### Outputs
+### Outputs
| Name | Display Name | Info |
|------|--------------|------|
@@ -228,9 +236,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
This component creates a Tool Calling Agent using LangChain.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -240,7 +246,7 @@ This component creates a Tool Calling Agent using LangChain.
| chat_history | List[Data] | Optional chat history for the agent |
| tools | List[Tool] | List of tools available to the agent |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -250,16 +256,14 @@ This component creates a Tool Calling Agent using LangChain.
This component creates a Vector Store Agent using LangChain.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
| llm | LanguageModel | Language model to use for the agent |
| vectorstore | VectorStoreInfo | Vector store information for the agent to use |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -269,16 +273,14 @@ This component creates a Vector Store Agent using LangChain.
This component creates a Vector Store Router Agent using LangChain.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
| llm | LanguageModel | Language model to use for the agent |
| vectorstores | List[VectorStoreInfo] | List of vector store information for the agent to route between |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
@@ -290,9 +292,7 @@ This component creates an XML Agent using LangChain.
The agent uses XML formatting for tool instructions to the Language Model.
-### Parameters
-
-#### Inputs
+### Inputs
| Name | Type | Description |
|------|------|-------------|
@@ -300,7 +300,7 @@ The agent uses XML formatting for tool instructions to the Language Model.
| user_prompt | String | Custom prompt template for the agent (includes XML formatting instructions) |
| tools | List[Tool] | List of tools available to the agent |
-#### Outputs
+### Outputs
| Name | Type | Description |
|------|------|-------------|
diff --git a/docs/docs/Components/components-logic.md b/docs/docs/Components/components-logic.md
new file mode 100644
index 000000000..6d2cc0d58
--- /dev/null
+++ b/docs/docs/Components/components-logic.md
@@ -0,0 +1,147 @@
+# Logic components in Langflow
+
+Logic components provide functionalities for routing, conditional processing, and flow management.
+
+## Conditional router
+
+This component routes an input message to a corresponding output based on text comparison.
+
+The ConditionalRouterComponent routes messages based on text comparison. It evaluates a condition by comparing two text inputs using a specified operator and routes the message accordingly.
+
+### Inputs
+
+| Name | Type | Description |
+|----------------|----------|-------------------------------------------------------------------|
+| input_text | String | The primary text input for the operation. |
+| match_text | String | The text input to compare against. |
+| operator | Dropdown | The operator to apply for comparing the texts. |
+| case_sensitive | Boolean | If true, the comparison will be case sensitive. |
+| message | Message | The message to pass through either route. |
+| max_iterations | Integer | The maximum number of iterations for the conditional router. |
+| default_route | Dropdown | The default route to take when max iterations are reached. |
+
+### Outputs
+
+| Name | Type | Description |
+|--------------|---------|--------------------------------------------|
+| true_result | Message | The output when the condition is true. |
+| false_result | Message | The output when the condition is false. |
+
+## Data conditional router
+
+This component routes `Data` objects based on a condition applied to a specified key, including boolean validation.
+
+This component is particularly useful in workflows that require conditional routing of complex data structures, enabling dynamic decision-making based on data content.
+
+### Inputs
+
+| Name | Type | Description |
+|---------------|----------|-----------------------------------------------------------------------------------|
+| data_input | Data | The data object or list of data objects to process. |
+| key_name | String | The name of the key in the data object to check. |
+| operator | Dropdown | The operator to apply for comparing the values. |
+| compare_value | String | The value to compare against (not used for boolean validator). |
+
+### Outputs
+
+| Name | Type | Description |
+|--------------|-------------|------------------------------------------------------|
+| true_output | Data/List | Output when the condition is met. |
+| false_output | Data/List | Output when the condition is not met. |
+
+
+## Flow as Tool
+
+This component constructs a tool from a function that runs a loaded flow.
+
+### Inputs
+
+| Name | Type | Description |
+|------------------|----------|------------------------------------------------------------|
+| flow_name | Dropdown | The name of the flow to run. |
+| tool_name | String | The name of the tool. |
+| tool_description | String | The description of the tool. |
+| return_direct | Boolean | If true, returns the result directly from the tool. |
+
+### Outputs
+
+| Name | Type | Description |
+|----------------|------|----------------------------------------|
+| api_build_tool | Tool | The constructed tool from the flow. |
+
+## Listen
+
+This component listens for a notification and retrieves its associated state.
+
+### Inputs
+
+| Name | Type | Description |
+|------|--------|------------------------------------------------|
+| name | String | The name of the notification to listen for. |
+
+### Outputs
+
+| Name | Type | Description |
+|--------|------|--------------------------------------------|
+| output | Data | The state associated with the notification. |
+
+## Notify
+
+This component generates a notification for the Listen component to use.
+
+### Inputs
+
+| Name | Type | Description |
+|--------|---------|-------------------------------------------------------------------|
+| name | String | The name of the notification. |
+| data | Data | The data to store in the notification. |
+| append | Boolean | If true, the record will be appended to the existing notification.|
+
+### Outputs
+
+| Name | Type | Description |
+|--------|------|-----------------------------------------|
+| output | Data | The data stored in the notification. |
+
+## Run flow
+
+This component allows you to run a specified flow with given inputs and tweaks.
+
+The RunFlowComponent executes a specified flow within a larger workflow. It provides the ability to run a flow with custom inputs and apply tweaks to modify its behavior.
+
+### Inputs
+
+| Name | Type | Description |
+|-------------|--------------|-------------------------------------------------------|
+| input_value | String | The input value for the flow to process. |
+| flow_name | Dropdown | The name of the flow to run. |
+| tweaks | Nested Dict | Tweaks to apply to the flow. |
+
+### Outputs
+
+| Name | Type | Description |
+|-------------|-------------|------------------------------------------------|
+| run_outputs | List[Data] | The results generated from running the flow. |
+
+## Sub Flow
+
+This `SubFlowComponent` generates a component from a flow with all of its inputs and outputs.
+
+This component can integrate entire flows as components within a larger workflow. It dynamically generates inputs based on the selected flow and executes the flow with provided parameters.
+
+### Inputs
+
+| Name | Type | Description |
+|-----------|----------|------------------------------------|
+| flow_name | Dropdown | The name of the flow to run. |
+
+### Outputs
+
+| Name | Type | Description |
+|--------------|-------------|---------------------------------------|
+| flow_outputs | List[Data] | The outputs generated from the flow. |
+
+
+
+
+
diff --git a/docs/docs/Deployment/_category_.json b/docs/docs/Deployment/_category_.json
index 6d03dfaa4..41f76d47b 100644
--- a/docs/docs/Deployment/_category_.json
+++ b/docs/docs/Deployment/_category_.json
@@ -1 +1 @@
-{"position":6, "label":"Deployment"}
\ No newline at end of file
+{"position":7, "label":"Deployment"}
\ No newline at end of file
diff --git a/docs/static/img/tool-calling-agent-add-chat.png b/docs/static/img/tool-calling-agent-add-chat.png
new file mode 100644
index 0000000000000000000000000000000000000000..2bb08ff68ceb48ee63cdcb34ba2a4c7acd90362e
GIT binary patch
literal 344876
zcmbTe2Ut@}*9M9x77+C)RYdey=|uqnDT*p4l_0bh~?K)qmuYqGHc&{8r#APJF*Kew7oysg;8*lsa?i zjIwlWax9$^7D4g;v~2c4|9MJFD80X1FE)=Nz1fqxwOqVfNmkUb>rC-ivl)NJLZiXR z6I6PURASq*ql^OnOf=_|6$l`uuY?p> Rpk<+!oN*=PIB$#lhvd Di_ z3tTB`nqS`>+3r$8x 0}72V zRMK_($^*B9#48sgi9;B7a)*A#<{{CrU~&qxRaH`6K1e4hZ* #L(Sk=ZL&5ud-p^4}w>O5&D?I%tx;4ao!*mm#OPqSl#JvAs{yDb`f_Q_{ zYg9K8hUYexUEdP=T7X@e7VMmer)Z^j{b@WAay`4vi`V{=zlOCqZtY7u8@I(Wgd*bx zo?x#09m_g0c_e@C++nA_{H;!O vU-I_1jb0Hl&ghTy^GC=dK%zT+Jfe zU)4O^d^y#?w8XLh8NY(3f57K=4I^hcjMN&Tzai04&0VcvEzq}?LQo*`U|j4ZwAK1_ zC*FPnf8GI%Ijwovy0A;ncw82@80kJj?|{$e=H*qt8+f9r`WrAgGHH>Pkui}mAGlo` z9q{#xK)>xdxJHI5+r9MQ`~|b}LhYWO+WaFM2(wd_=!4Jb=rh&ZoAcX^@R1GpNa5Fk z2;G;zgA%479Gfxm^}fI@>TMT)vcd@chW*r$gOnU-bH1d&5sH?C$ez0E4|8$FAtB@x z-^KQDZgB?DQRe;mHlBa&r*|xW??v5<9B=~KeAO3Z4x8w7GR)FILIo8=<7!#W9UD7A zlfwLmkVZ0Xo&B1My?Vx^aB BSwpj>bEQ4Ut;_}BRQC);z}Wi z1{OQ^7p^-+wr5~g5EJ=Fwh%_gQco1|3cU~2N!i>WS62>Sx8AnOI}psvy!&69(f(5s zH<)=Lm^b}}w9vTv>nXxtD-h1|{0G@s>fMb` loo`i-9`{otJ*&(T{7o z_V)@FWz58(lw6`;l37jJyz>@jvXCQcT3s#*r7#Ll`~GP>iraGSI9k0jz-weMQ* z{S8B53QFhxbYF@_{noxdTkcNYn7p7&Z?+zMS7^@Sdy#A?qByAEbcET8U;p)uLSJla7$Svum?D+98_#rGOs7!5kR+YdTr*s(OU zsLJzXy0WXs*z0OoA8&LS!Hwr-X~9<(zn)Y6 *xzS+R7O+||;_e~?=eNt_{VnUeWo$*rH6hwc%~eDz zZ> o^zM~L-#>^|u;TzfGmzEwmQld(G+AEGFSr$$2aZ(&vC1aph0;5Y ;K4CgWr9IXkGK@ytv@ZjaQ z&XStrKD~;JNgIJbInJN_9nhcB-UX?ALn|D}!RNo+UW#QGZ|RITb5k4lCMT~8d>P_& z2>$o$=>Ahj_Pn9#eQULdzhrfs$VL;+31uYaR#4Ct!||;X9VM>6Gc=~4FqXfbhR8Om zf3u6~Ex}SRm2um7V{MVf#`Si4eI@C4Hj^r8d-uGd>#ejR5V{GSPcz_$Ta}l)>Z=Vw zAg^oeGi-*xWxEo)Ah ssvqgVvK1VJ>YFb1?OrX{RaLIs;HDT3VDZk~c95hsTB_OrA1n-f1 zeYcevpJfNxA}{^c0@s_VQu2nSm2TBn=}kqW+c(n)zp(~0F<(o2!$PgiZ~OQ>#*)u= zA>wz`pbKZt5HUW#UQ$}+)LrJv&Q18{tou7#HKw3bX(9 rmcJV&>L-i@1Wn(aS?Oe z0RSM3B+_o7sNcD>OReUKHLYLsygt!hNc^|fK?ft1#QaLU5~#>mrQsKga=4XdEOJQA zJk+5|RnNre#rGjaq&+5a@GPSaH^}d+dYyaZC(-i2ndMmO|7$DEqZd?r$c24{5#m8M zk^2sTBhOVBCmiyb&B0_Vl8>h@S-(aeUVk>-XPK_iz6+r=Ybx-LeAv^eSq>ohs8c zh2O2P=E2eItJTNvlnLiTPf>WZN@m!;cl6h`<48DDZNBmFf$3j*kqUbFG{3q+x@)4| zb01XE+W+ruN&)M^vk9?EcGL4d#Zg;gd`Lms&(6=m >*{Uyz5V z%olE&qw{F*uYMoNks=i@@(uq3jv2(B_=)?+;$|ssk`;QgKkX*dj9B)E;HMRCSN)`t zp#3a$ku^9YR9-6$<7Y`x_5OaBRq+9X6lI!B8D|{Di9VV+!N6)7$Ndub1l9g=ibv*3 zR4&U;W96YTk7Zh0p7N>CbZIplTv3Tbl_+JN{=QQyU|l{JX6PN&+f$hCr!&zl1I`qm z=xLSu1)&lT0bT8uz0dw#8-JmtCV_juEbBV+XE?-1|JLA)Q#r0T`iH_)PzOA`w0rec zghdA7Zi=yL74}vBf~gj9uHWbNpDj#K(19Zd`4R*)e)c*x7N>@8%!uA_X<0SM%%Uq2 zGx{KZRCqOiANl?pr(ZUEfFhmkQVOgl==vaQlr9=c2fMnod=O4sBB8|1|Es6kV}OVr z#pNFOSw!xDh^$;ZE3*oBCy$gLx>;e}@6DR`9hE`gW0PBcnUt91v$_QTha&!ShN8vz z9zPR=CI*6(Tg`C9OeBVUH=qA3I$d6Xy!>Tt4*W7zCDsovB1Wdg6?9U2(cml9qfC?l zIDX~vk9e D5Q-s&%?NI0(L_8 CZ4lo~usNv9Btfh{Qw4KuTh7xYfn~Kp>LNytRYWo@y!5_N^ zbIo)TKyr#EF2ve`;xxitC%Ol3<4*_$!djijR(+!;h39{n7i-YN-39jw15KPPF!t8{ zE#6basYP8}b?4J^^cEp#;=3$&9az3_1CKA)^f5m^f8wY@(O`3a%CZ|GCKIGhamId= z{AJCKhyaZGm8%`{C)}xMu|4ApCe7XeK^QVs?_v2Z6GE0CLPi!ncEUUIyCy!K?;4>d zqMw*5&RT*{VTNe&UgW@Xi+${1Z=qsrj#&utr-w2zZvyBbD9gtE>;oD *??^ zL=P;ZGhxzI10~2 #U7+OHy^ZFN#TjSU*&rqP^eXa$d5_ zaKgE;7BF52nwiw6IP_n v|e 1rmlF5cAv_Pe+e@>CsGY6v|2I2%+2zgOXzZ zVbxaodwLBsnD5d3(E2=@lsrepT&aUbbot&K
KcKoJ zpdd-%F8D(u5JV^o 3NjGxy!=C&L6=y1k3xNY zE0oFI |sfq`l5Wck@7xDMUO zRJH$u#=NIM3rIy%^-3y5XflIt-p)pu_+^u5wYKMh h7Me8|dZ!uahEwr5QBBv**H zOt?8OeSHpub&U@2d&j?n|8b4P{%l&lO_Mf2eLGE{a!g$?qsOsSqcCCquhR}!b5AKM zYa;ys^tC`9{bFZb7{J}2of4k@n9dHoBfNuJbV29tVCb 3S=c-!)2V*qh;BU_^1C^4^+>jb>U80chSwT z4a8--xsTa|u%(x@Xl{ipwFmMmbw9bYvFW_^<`+h2GE{{O4{BIyuWivyV73N=%E=}! z<2`@dRW{3cO`iEoomB8}M8_f+ERRhn-fx`cJ;5FEH~Rj%iYNm_`9~mI_D`ZbB_Y2@ zeqXKpy#53JTnwfiQ_9_PiIY{I`}M)Uo$(^;Wtk`n$07aIQBhG8u5RpV9(cAwK{?kb z 6qz9~xZ-vM`yo@P}cb4h~D6faw$%bj}WX)l@BavzEF|fQbX$U(OFy zS7EV!muZ6-XteKKc|0jenlD%T=K73wp^e5>xpAjK&o!G?1`TfR?>~%HNH`j44!D`Y zN^iLDw?yt)p0fHVf10Ob3WwIFcB;}WA#dbsO5hfx)OXb)a3(y5#^rB8%r%*}@N*4T zc(jnl4?6yy_2>>(QN{%WRU1n}UNe1?3MHBgAqADS`wpEb9A8pLjvx1$?iF0GlBtan zh3$;Gzo>I-_8i$T_ SbNlgjN(_A>pZYbS9JRt zrtHEi>pYZSS*1w&*t4M;dT7uaFQkwM9`8gh`>Jm5mHrS P8}bn`3*;12XYvZ4 zlc{`XFJ|Ep8Z;%}rLUtnpC?BoHo-(IQK)wGXP3nh?^2hMsXS1Fho~7*V%gk`c+g|^ zR0(wKg7#%PbPSu~JK1%5U0Y5G0Uf&?b%I8$g(;fBk|okV508g92)zFzu_SQ&T40qr zu?}D8;YdV!L>g?bcxV+Gi>yJ*CC&4??Tm;?MAYDYBHisS@Gp$XoGlQLUozTsO36x- zSZ6vj96on?(kpb%dvfQE3rR`Z1M`=GR`@CRcQ%%qfd*d7ladt{m_|!BWuN5-Q$B`Q zo8q4CgH<_XR9oPO{JJf}d*?@tL#ljN*H?{J^=Q7v#HJ 2WjEu}$r;A7`JLI5Io&|KZ8HBA5 zjVfF89DX-0P+!CHg>HL!!Jl_U+Hs(mq`e${g`_! #G88gC(;s za(uY@u6zyb&k10BDYom}%AStzwNG7*Nmgo-WM`ETtT|mB2`{0G&q(5RQuie ;RVYT~KadQhfb z48| JecP~F%d=AdA&Ay< zlQ%dG7_vpiNHxN8>GrPK&jvc&19b&D+}?)O2_gDf+F1a~2fXow1cco@#WgTpZyqI9 z>@-+%3Bj1EbZClF+!`51o3FpSn%6C95->$Ycw7`AVO~CYV%-(bNN~Oq?6decvDAgB z`S^TXfs{bNL`7MD#lGpqnE7|&y>p!JWp*kkOv}32uvTR|V^`i$3? YII#?E8VzPaw?Y-OX{v zW|k1psD{gLuX?wj@19%T1&e+_{Z C>yxkyUK z&D)EvWw;nM zF3jtUkh%jF@p )SFteHM-M}v8(01{=ZRkioDGYt)nNTbx zUa8}aUDU!I#v^XK%{_0nNPiHYUt1eufEn&j{|HbOma#Oce$ju1Aw^&1>M)fL2#t7< zp~p9GRvk5RI_J+b@?bt1-&UtHW5f?5d$En^zUCjNsX*;J`i=7LArFY{2m`A6563rf zEI}Sth*@|$1n!cvDl_5fpdn`OUI{!%6|xMS8Y|DDr<*-8(onLVM4wD=d#LPX_I~ JltUrxGqmA4mt}9+~H^As-eF$(Z7CX5z*TzVuCyTz}e@ OmxkV=-y0pp>2I3CvC>@yH?@2${TBa}^=I^Mp&smy zV{PKv#6)9vnci#qmXK7|e!rLYw5VE2VGJ&2QTFhffoS<;S+3Zp<@kd@lFyx-syrg_ zK6Df{O%#GT+S|*`nttvfdv0wMZLSaH#j@94moJ$VAM3r0nf6@ici)^JJ>6$eZ3N)* zN*;Ehjyg2cFQ4}!OIS_1DbFT6plPZ|!KQKf688EOG3s#3b>5 kcQ@8b9A^#}pUS#jJqRrm+qMmjFP@ zl-1cB{q`+et1Efxvh4z5mp^@3o{A#Waj@#kvj1aahq>_5Y~&6)FJ}cSmqn4Z?%I&> zkVey|ywm*{05Ycv8C%%|ba4cFqT{WcBCwV&-3`AyecqwJ@a9& n+8lnsxoT`MsHzI601MYJ4>X5@) zaCUl0`g_7qI>fq8MXwaRtF{NR4p!CTtgm1$jNgn(z`mX-<4VD-JF;y`_ux(_gs$|( zEUvP9r0S945dj6}Y{Yd0p{+Og!yN2mFQR<-w!hdiJwe6^(c?dP;8^3~SyMtN<^mB3 z-oPx#x!VqsS7)-(pmR-eQP45!w<+)=e}R>U55f@v&6tHJfi5)+7=aHZnGj9u#?>B=bsu{FB7 zlD)k>wXj TiKz2w|qaH{5fo@|Ff(7X8wopsT7%^;gi@T4|IX68U35JPOGHA zk0|U^z^>$x;A^DN)yvCdzrrk-)Zd@|MX9Di0rt^+P-5SYTXx>&(Pxg8on{nLry$ZN zEwW76*hp+NNY$I0KQhT-ptSV#bhGlV$VUt_-Anb}*5y_LxAqn~3dpG5{b~GGy{rId zi*XTE_?h^O$bIbmHJI-iLe1ZQ^OI2+>Tgc>AVNh|wTYg*b?WgcV%k!n)XxvBVct`} zSMw9=Pr?7LJ@R{AOxz{$9F*Nx)Suf*cAxP6N1)k@Q<;#nU_>+LqVfkuuC4r-$X{V? zwkse7>8-tb{y+D0WzY2*VMpOjEcMaF&*g)su3PhqMf@Pd->aQU?Tq)zk|hUENrCg1 zVBU~_^!S&y4jKa_=;H$>yM7MXRWcqsFZ6FuoQ{8w$(P!D<~u}dE*||fA@6+YEctOx zOwHZm)EU;FZqyBD<{#;EC|K$Jg^oG(XHX0LF@N5rM9mwt4?^Fc$He^f9Kd{g!PCe6 z9_E)c`TQa>AMq}dY{_t5@aw |Y_t_GlIhbhuK^iPAU*}valI6|XZJ33kg-*@)M(^Mk&f9T}v8Ak+6P>%PXLp=Y9 zO}HVhA|b*k4P*WDZ>RMCdF8*u^2&;<|BcMQlxo0v(I~m)#t*0j6^PY%e=*+XuG#u$ z%bHI+$qG5&lE3%iJ3U4m5BhU;{Z_kgbJP!mekuq&z{;Ue?8h^A%rVUc5CG%bP5YnT zWeRfM^CCkbaI75uuI+FBnJ1We?5f1o=sNTJ@jq!fC<#dR7+rGV H;=%}rw z+5A4twePCE$340sx#AVZ_UI+ `1X#g_23av7+Fs news99JQNkKO^dg@_?bKs6Dpg+2;7?zyUs3Ooei=S^05XtSRa9yrT84 z+z6--1bNtJVwz)5Yeh+k3>$>g%pBJ-F+DBvHg-?_>qnr*&_-6SxfWYDF`HU(fg{2! z^)I+M^pE6{p4h-x1Nz^SETH^GUCMPn)6-2RS8_WrB^bsm#EIWz5I3E+7#9~cm3X0K zK%P^pNX5iI8BQxX=e(rF*0fe_>-pXB-+KSJ1H_55`<2gw1ICN 8(i66P0i6o1yNAO_ z#(wq)RP9k0oQ!qnno$S;S#+UV#n%_E4u)DA9UIY00JCY7ygQg+nHMnN<43XKy2nNt z+I~;dj^=f#`lRL0woCH4)IVkXPjj{bILSWafYpAlpG?C_chBpx?nLCY10(U=ZHJbr zSkobN=N7URX^57`e9e%EXEvTb)SWULT4%1t{i^>1M1t}~((YRR{UirxmQ9MEU>T$} z`=;ckT`M9Z-);4Ei4x`x*LBOA(C4{nkwP08vw|F%dlFju&%iNECW5+|J`Z%0HyF7P zU}={s$pv4cipKR*fPiv_A{qHGVfD**U-$7;8kI+(-})Ds^B4ikPJK&z<4?fZsg1wl zIxjvnRuMR%YK=2QKVdd!VKc$RgU4IwkK?af5L7>~6pIv3Y!}7h9Ft;~(@_z@rGDX- zH`%=V6?I4}1~tOGQfRSwcPAVq|A|YqrtHnwMOKoEEtPAoZ~=7dwD@+e&okQD&gmC= zwc;pKk|83fAcAvgqIFQugyr)K=aIuiI<|9dHe8)H`f~#GA2YDZJ@Cvzym26)sQMS{ zR29*67 Hn+6z~IIz@~#{P}7RTo`MfDjB0yPAI=r|AuVKTC)CHp zSSmSidMd&Pf^#M$*q&g(N7}%=8rLmNOqCA!OrTgKP`6b-r*IxEy4CFWFt-Xd8jrt< zxngwD)(j34?nlSf76(uQ3rQA8TA`=!T7Duv&zSXfc_lWb7%ht0m?9Wi3RLsQ7Tig~ zV%x~nxdj~=sMP cjE9q zj#!sJ+Ma+NcI8^7O9Yp0xFOUU<4R!{@7r##6Pk ydp$k%PxKv3~p*|8~$z zk(@VGg|*lugFa12lFW&8eEyB#)c@0k#1m%u EQb3dIBs~x9*ItDOTSB z?=PAa-jkUYuP=c#5J+t;REWoE++ll2NB=pC`4%cAgg~Fh7aA*BlHFhgmiyWiz11jI z2f<|s664m)aIEAwRP-jnva}^9qRt+LqvfyM=LHH(jcP@17+HemiFt9=g(X|L(+IKi zv;}Jk=vZ6JH_G%z35Q54_@bt0oIOQN@x@%1PDvm1@1Wsl=gAaQaNcUu=D*GfNXYCt z6u8PAaGSGNFB}Y*MR3^+rp_SlkD|Hbv3+{sR!Q%go5RFy#&X}X)b;)eYQ(x1>&Yn7 z;lidZSydcs-6xc*jPqgV%?%JNl9bckE~=DeRJ8qWT)DU}swO^j(7l8CzJtBypvXWO z;yz0ZZ2;?p3NTf=VY@zN%Gu+yv1BB`_BQ9_K=m=oVd(!ZU=EVp$uUP%jm?Pt*k 1tp`div~mdbTxR9XL&N4)vVg=s$S0+%2{Pp z>9<-rWFXB&{V~NR8Wyk>aK9K7lFP9m $Z=kDG%wcdzRhL7abT&*Xws7hK z*v$D}Rcg!O@5XGE&ElbyuxBWSoIZS#^2@oDY%vvyTr8XZuLw(gETzZ7rh_+4&~O!0 zER^|7E*H6KSp2Q7_eJ~@OICe)T5P)kccfA&Bpp!Ra<7r2>#V3zOVU!e4@Z}SJ}8Rd z13D_DZz7;vL<4KKv2uzQXE+PswLU}+>{+)?7soI%;;JsM$us27i3XHEX$Lur*a3-u zMIl=%ru|`&;ou?Cz4NsaFhP5#xSV&*4j703jj{iwBqNp;5-l6E5bG|wl8SxOCipU= zChm#x3$RJODKG=E6S3K>=9iBrxFjOA?8Stqp4ucO7t3cZ$9`Mmh-2w=i~FkXX32H2 zh&BZ?O($`Ru*bFcUv}z^yUU}wJ(U68rBAUyq&~4{MG9^i=I19)XT{Yo(d9?(CA5(J zCWVWS80D8GiQ0`xnkFMAci%TbhCgutU!Y4=Det)AnndQ?tnG6*7K;_k9jQ&EOBxc8 zvOUWR1*c=Yj$LARb|`TzlWFz*WnnzRg9o<6w`hZ{9sk^;0+_s$=0v=9cudtQ4%-5z zSgE~e(J2w&sxMTDl`hWskZ?G3s(&9s#0t{xPJhDUD TdL7vr4kzTNMoybhI@!jE_mmIg(Jq3zpK4e*+HX zTo_yolIGN-Il^&f9n&cO0@wt{V
jH|4$3seC?y&$y2GaIGDZ(+Vp40094HE`6a@5Q*>3m@>I8kK0Z3T8tf zcyK)Sm18Lp2a^ CGp<56stSz}Uwe-XR~tY;sv6H?iLM^(n24dMeFHTgc`s1CJG8tbRM zO5iiLwig;L%%^`234tAR@lFuGK*-jJ2FgSNgDkkexUUfVw#4iA<#*JY6_c=n_AaHi z3$x!;hMmu^!C9V`2kk;@m}h*_QH`MKlMHT?=9|e>PyO4n=3jU`^zXoWd~*Zcm%>p2 zOFecsMENJby>VGQbx6rle8eys{33tVFaTim6a-8?o=P+_Tpg$8mB|lhdJ1l)vTx3X zL9&AZ7IX#R-*}?^op6|V<7m;bzN|nm*OR7Sl=2*)MQI`Ik}0LnY&7($%c4XP$H<0y zlOt(1?xJr&Q RVj #!nldfM1StrgeUR+=gCMTJG?o{y`LGkwGuA>z9w!H zN1!aJs)<2y!ZDcFN#wx3dADRL*y|N*C?`$vIytfAZAlhvQX%oWSxGSz?_Jn2jxrP< zEOgQr4Hmp@n>TY>1H+u@e4102YJP2C*$5_`BOmLj9+VdmN8NRarQ@{^W4xk6z)5l7 zHaia9_93~TyZh>nsn~!WsI|G>jsB^k{*KS7;Ig^*(@Iuv zSNjcQ&Ci4__I1;J4Bs|!(Wm;FFbg>TRRi$$+$Wx8lBmclr4?5TP6MCSA$s5I4awZ< zl);JyL42gjT$F;+I*8O}XC%v9;W_IHoP2v>T4DR%e8>f+pQ*WGnS?dDZ)^u7zDSDe zGp)|`jCN1G@u6aS{f+hzYt#*HzMfE@@kY_Peme^{xU7p8jDTqdKCQT@xDjIt1`lCj z@FBL&>Mx!%L$k+^Pj9X(Y)I$e8e%TMfuuQwv=nbtR<(Yptg&>n0n2fr{SCldd~? z_SI=& {I{Vq!-|m*xbnVm7A>q7SPhn6l?1J{&%N2{xLuDa 4TR<{&K|?a6c=!SyJ*q(;(Kcm<7xj{~{A#a%IfWUJ$~oQEsh z6>Xa0v^*o4$wkhLWqZTc$d5NjeIxnSF}_ a8dL7#M-Z@k>QpfkWy#1hwyvcPmCJ35!xw4Mc7T3R}RZrvZyUiV+GW6Q(Bpt9JK z6{B^>k1z`ijN-XE Y-$%FJ8n*Qjs@$(czT;oS4;9wy;nBXNPELfv>V<_j1Ds2Tq* z$&oMdqIdH*Ka0_&R?dva-+ifpiZ*%F3SRGai|Z-uiYGlPsN-dO0TCI>n4Nr*6h}Mk zL@dcVl?Xl%6H9Q~7kgh(M*P4#!H02sKE+_;>L6HN>%g)vrcy-{q6)UcMrB&Ef-^4F zj=Z9I55e6N8K}-_xmhi$d8U#{s%Y(BWRA%$%ymd 6jc%E!92vf z_GF@f)OiX_^lB!>5JeC|p{a`78?DakQRZ8fikb6{?d@4JKn4SZdg!|{MxF3ZGc_i{$kRYPaNYsV|NaE<)R0YiZ!{LS-_STWz#IdStm z@Vs`iyx~r!1GB)tlDMCU96&+Hedu6{{7W>*X(+!Ts)|=(MN3$~T^JR*j(PG2pNyk6 z@CoTI) #x4gnfhSPW@$&P17SDU58v{t zn*Q|a{g(V1G7nt>1z{~Rpks?e``+}odYV~4n#h?k7g~wP5W3Tho4Z=$s9`IQW4_UZ z>AMOpG!;RfQHqn=i%pV-A%JwBt5%MCqZPc {xNR8fqVAMTq7#qPEJxOf1)E8D?v2#h{t` zkvML2xyol=tG)yr)E%Q_J z1v@< |I@ad& zsVm0@y$$Vhk1!SGC)F7T*dAr>A%D`*?P}R8&|By_!iW>|voFyyAjSZ}I_tC8>((;L z2kaq3Yv=6B8^b%@j)^Cd&-YQ+8r;ptU(2mrZHnSk)3BNb>!nMszq SV3PC`j)_` aU$K{6hPA8E6x?nQL%smuomas&<}#)#J`Y#90%<<4JO1$oo697<5lNfl z%lu|Az0Hz-n5+NoX!|bdh=)}zmV^17K-mP4bOgWLxQw=P6nVO(qE5^P)=d2#3?^YO z32u-N6iHNB@Y?}J60=6chla}LJ$UK(guQ|O!*y6hYLu`1R>S4VlNr<544~d&PW0pD z$>H!}8@x_aV$6l{7M{uIm$1Vcv>ruNSIjMu5Psg>(w;|vGMx^ZhlP*=NdsRMl@QXw z`}F VT`||gUZnv9w$vQbTYn>U9Qn|sYnS?Qvy|U83 z5YWtCVvOLyj(=`1|1d=^o6ZV!VR&W1A2++6M>8^_MW+^xhb{d*X}q703>KWr(eD68 z6KO$jxO}z=_g1-Cr*WK78h>Ivmm <%xFZ379_6*+k`9UEs<&( zY5iKMAbYdZAB^{Hp3G?_t`jO>k3L#jHx`A;t+%?sF60E};b3C$`#HiRJn`Uttz5J2 z8U96LXE}$uXWm`Ew=%=-Xu@8k )V_ddMAy7^j-a^L8ZFu)=vxya>;nm|Fcd-6Mh zwb34Jj&baml+n;W8)e$CmiuDybxEG}kMes#X;fMoPqn_MpPhcVwJW MZiXyyBcTH|S+>G-t Q-O)hP$F&W8a18Hq_DuNB$5Z<|J&N{`!(V8aKyUcxO8g1A7I{2>i zX9OR3`iXX+eY$OqIQGFc1E7%#YE@76G5%`i)@DPm;d||S9;#Xwa*OOb-KgYL#doB= zhFfqDx2bw5axB;zC>|>6OyM*1a-h+?w~0@EQn^JE$n3DAT&-y~;ahdLVcmABS|dnw z!9j;5ljo};A$v L3pxJ(|vw8zIf?N1NWMZridp%V-NyLbEdus&egGXh9jod zj}UYpcztWLU!h-V+CKEWL8nQH6hVw{FX~8wG{qNfRM#6%XW67CWe|ejxpyiKwkKX1 z-1d#g2#{ZyT15|&*~G38hsUSx0=C%K-P=0@53nenWF8S!6CoQSLZjLllt QbdTMrBTowGOVor#Wof zn#p!TDC5|^_oVwfY;uUcRbYCv{JDs%3F6q$DtILB%Ro=j8Dj9KR`I-L(G1||bp=5% z^uv||@9B;77adu3uy+f|IY>Lh^KERLNI(8ekT5(Y9>;}y@R|O~B2V4~YXQ4!Fw%b? zou332PP}aYBxdB}bMw@mOj4-LRl02KB2fc>GaJntA)xHm^t8pF;3ea~{TZ`hQj|F; z9S>}-f}vv!i_Cc_mJ1C%QE+g}Cl-TvH!n_3mhHr?b`%CiyIQajG2K`4K*`IivL1?e zh#nORQHRLuDJM)lsu2B_b|#f;b)V3|g8~lyWYDTNey7%0ENl*3#-B2~3WWnDM+nn= zD_r%Q?Av*3uR(P*s9zwrpN1%Rk6C|=y>P5GZ5@OH_DKM?A+Wczc^VCR)nAoH1r_XC z%3n%$(Rz$S9*UZ+7QF_xQXc1k3LZCsg%8yoJf@9l ybt|i`dIhgk#}*VPj`h|eI`SmpH#|+$X;MI z(q7LBPcebdo30enZ&pm@p!xmz?qR{uan=VW*INlmf~Av?Kvl}OO##_5S3>gF^nI4D z`*7QZ?WNUbn69{%3$=2X>$a`^K92fI37Krtyr|B-$~tEN8WagyR}FQOXv4-8S3kqB zuB(`Izc$_ {3%XUT-Hx_IHYFouB`piB13vqe(--x@;OuBjvZQap%>g*802UleIXn>Qd z(WQeSbzP)N-H>0;({(VLan8-u3V-Ju|C3P-x_i-TG5bTXXmFXxvkbm)hOpq~xzxRw zLvgLs!iCqJ)QI7%&jhnG4km&RvDKnH;ScyfFo;4{{lcIum@)6VjS2idsxl`-maTyv zQt6ly^3^sIEWp-!KE3Ek?CQ0AJ!^q|`VZUctZ_7PmUfPkqS-aZfT!QXc4mjI5F{Zh zxj+EnV&4{8_o5`F5=B%$IJK})f7rD3ar=Z*<*buSIAWs7t%2u1`QNluW(WH(6Y(JW zzFh?Ye-`rmOg`1*vjNF$PdAycf9BzU6>Er@6+%a!cB&7SVKa$+0%A3WIHf$XoaO3T zvX%(H3y_YF<6Y8)Ey?a6hXY!aoFXo)e2egXTS~Ej97}m_tIbGKe4H-SCWpVhPX@n~ zz_mb9Ml=+7iaHMJRc**f+fL+a?hmAMwdUr=^;~90gig;^L>N325rLjAh>*G;knAAW z)?%Nii9H{{`E 30 #7uM%obWN z@F#6qEwh~ky}7*|P#F3PA!h@w0k`X^AbP=|ZXb}K86;geT>qT4P^%7|fZ@P)2Xf`M zn4}56=`=P8#xBd-)aJF6l=)HaDLu`AC Nko$V)lMiP&>$iiVw|fX<5Wf+F1< zrdmU*9g|wVO>a=net}?mxB8C!X*umC1#P|9mYF2@AoJQ-LHY?CHF@5HHQ3%1_=YE< zuCo*trc7 +ttg!HdaETE)xK;k4&Br^EurO5G$(|=VN58!Wg8@6nnxhno_j%Pf>Z>vIC2Ik z=dQgxII^`;y6KapojlzkPZ25gp*gIMK0S;Dj;EA8KNjOJ@S6R0u^#MwxqZ)h%lE+I zEc-6$F6W*jVQMPY`Rf6U{JhsGBe0&xO|%8n6n;1!1uh+SB4JuF1B(H5Yqv@tZuxo5 zQY_~!yy%cBi`89hvHr7zUKNpprSb9fWdXl7^U8 Cs zfJD2MZgx}%hex##fv?!{pjf+qYx4xY>FRjwdaL#?Y<4dipnwPb=d*ttklrC10M;~* zMI;0=CXCt2;HnlOLAHfO;+_>bw%rnOgor+)6DoS85`sSs Pg}) z!kbREO}~BC;+H<`SZE2c@Sfl-z1P56Jp&_}lYv57W`TpiIsOk7+gs}>!`MLv#)507 z7UdRPMV=$m-?uYTcG;KvFu&aN)>em08GFvDcq4*GVSiPnXL4YrT_^jT?cl8kuL_Zo zii;a;bMRHtd=j8DvyTDM9 FXAh89$9>s#oA?U-Z5jyu&`fqfgLG}6#E+*fzIZ|;H*@Zc zVX)^qFZNw8RM9PIz5>^atQEKpwFXloWrruZz!a_0m9!?1#Ct>qid`LPUov7wXsm z?$F=4zYsFF)GF>Z-WW-x=z$_dx#YVZwo4N~%xrwnR^~7=tq!PC@LA3_t$b8q84tch zap-fdeIaUEveqBYCF%y?Y;l~mvWhW{M5ECiF7Ch?1-sloMb?o(1@Bdz@iE#5wU~{7 zH+E7_0G?Pc4Sdn@6e`%i9lOAuo_`CPL!p5z#xivhzZkjnJ+MYa4jYTUHZQgcs<_|$ zMXbGgv*zhsy5;#M@lBkr6;`(1S^+mqtru9$oJ_d*{uEH=;X4s)sC25tYkrrnVozve z;~pl3Un*(-N8#8h2_EK#cPz*^&4t?>uk <`~tJjb?S~ zx9Nsy_`{M;T1*`xRSbEF=5RG!);Wz@`EWprf-bC`pc1$<*r!+SnkymRw%k`oy`sCa z!A$h;8~tfgoic!$C@c@$fN~vyk7Zi8qZJrEPPhyy{AcbWJC@emgu?;$iUCCgtjXub znA(-jMo!jNQ>dM)}Kqvu%Ql-}b0Rk3!?=1w*?en~Qy?d=^pYs9E zZ~sF{DEFLm%sIxmt}(8O!2z98UHpLn{0nxK``Gg%?&ba0*(ZIrGeALxWdDfYQB_Pp zAF+S#EIM5}z_-xHcc sE-1`p|20+S0!5vyJ%3JhT zH}bzvxi63D9vixw{br_;>&6>10_gZi8zPcwb&g{1pjd72PfAdU??UR0znU6xTc%~{ z3iP!aqc1_cX0P#k>{lI}FE+HAI(K*`Yx|@pcx)7TfN9*gxSFlq<;~Q(h17>dv6*nj zC%UTEh8hZd=^h3?XD24ox5ous {_|kmi~u`W;n+=2tPf*hkY2)@S{m zq;2t=0tpj=2k%dRCAXZxbt4TJ`5M;+#e&ZLWzLi8nmX`+N5N>!Re_vcT8N%9%~LTz z3l& Htp&i>HQ^9->ewI&=?1mUHQzrWvP zXgLmPJpLKU&A{IR`mFv{03`u>T58%nWfDX@*xc!2_5xPjbiv8=ce$Z0*)`9{YD{)6 z(hDv=Yer|a>`}~+>ml~<0yRyL-r7%Z*Fu;0AmxqBu7UWqnX)YmPDEJP16=xSi_}qh z$H31nMaJtB0qTg~xwz=o?A=2|H=%u_310{ALnV2>`}MsuhaUPlZI-5Pu5y>Vxi)W# zm8IJfti@HXkbd1K!>g7=b_20<%6Qw0ZbGli-y;XqV*&KJFoJ&W((2!fARh?KU#7o6 zjyD68tT|6esc=z;Kx5=)7qGV$R!g~GP(~YkR$1Yt8&&rttwJ7_!XxNuMzt!F%KT~j zT56c#D@i@O4+YcBrj;+7ZREtLICC2`B`)jOagy_~1q*UlK&O);oEcSX3vcLu9lvSF zuKT_BD$XgOB>TQ$Rnqn);bx?Ljxn-M^mS~Qhgdv?b% 1iG_ zv1sdjHxhDY;ge>lrkkANyI*s$5CX*I!P*=Gv^fF~`+
QriP_^5fpuxtH%>l1SgAFs@X3}&;j z{?%hO1q4xg7Gqn{xRjG!f3bUX(G0$1)?!9QRJv@Te8b>}0BOg6infpkZ?-hVJdd7a z|9e^h6d3b;Ziz&0C&ufOI^I+ZE_wAQ+qig2OLu0k(Q-+Ou5j
(A?C|wM>k<42$WQYhE zIP+|)J*#eo7{*XZ8z-^$jluJ?t-cCl*(yNbF`bk$Fk-wmVrupQ_3FURtlt)Ig~+{Y zerrZ^tBt-u7t9W?Yw E2-M*?_VWWnvQGi$d)Z!qm|$VAqRiP3>c%6?QS&BroMoUy4>2>UDYJ2Yl6}!I z>e& Rx)bHWXM1WX3-29QrFD6uLw@vdS9tgW#Xw({ zZ|GN>=NTclTctPpv_e`-^em15Kfm@Vb8~s;*QO$6ZF$Y9L;d#*_Zdmo<1&ZH#KI81 z$Gx|FZ#Nu;$#{l+x_ 2&ecyfAMW E3&l5;{TB zVIB{gV5CkGPpZvA^|%TAkk^))NjVGUg2huH&Xtps?m6CDo&*GHExqQy-E2uCrKGP1 zd?{){ucU(q%5f*O+^}EeYOhPvPG^ZZZ`o0GHql8RduNa$nR6TdBh9gVg_eRcghMUm z`}q#@#gnG}vTzvWRTPhD(_|eN=m`$*yH@4`v=jyIZsHs9 IgP?}%z(Fg!LH_vr z0i ?ab)i=6yRQ;2e<|q#q^d|52c`Ak844|OVVz8lK2ivhSQ{hb7GjQdmUzPV^fAW z+=Zv>MQ{GB>xv$ey<|v@2o?+H`g`em-tX3e$ARuRk-z1!e+0+BB`w wiX8|QFZLlZ>Ag*e>Xi}~ z0L(7 Poh4_gN;;*IwOVGfez0fbNK z3MDAiNCt=Mr9Ycraa)>DO+bPIz|}LFK~p!!$xL2=xJ%!rHVFgH4{dl;M!hUSkEv!o zS241udORQPz^!QoC=R?R`w}pI&%(9UyzL$Z;>xT=*G1!f?;-q2vmf5xvC2{43Q_tb z`)Fn@sLMW}u9;v`K8(KDuurkLgcNxE;4q|uNPRRG$&U^gm)a&>%35>r9ZjEc Le*QZJeX5S zme hMha}>ZzLEl>DZ}V5a#vbxpxVl7w9~DPKH34&^yIu;Nkw$ z?{qG$Oblp+xxnFjM63;SACfi&65MK_Olf^bY^e>54zI}GIt+4ekUSd`ZSiHsBazC# zEV?@rt#>a8l(pU8AYHQ=sa=3f#aIP&S3{rM6U=!(6e|l-b+<}?u!*a-ntE{d%mM$A zxE&_LQ?Zg{ kEAPG0A}q;a&I7lZD3JCP;jC;!^3n=Lu9i~A)X zrhYBSs%BHbf73nN{bHN?;)ZF~&Rw)1ATdy_3r?Y;qOwg)6?2`vGury0v$Inm&Eu+J zU DI)=rG(XL$M5nRq1*8u8%%hg@r?z$`=)_Da7v))tIehU$JB6B<2uvdmrm9S zs7zw edC+mfyIMH?FMrq=(H!BI&ZesAAdsVnqRPwtxS?*t9QfmW#Ca4ZTXW`qN10i5b|_ z*j@^x!O0(zG}e=n6-n{>WRoWokuEvh?|q~gnC={=*+9Ig6(Nr+&NAS3T^lqE(DQL* z>a)fQCYutp^hY-GE0SF;d2j^~+#i86UULD``gEYz8>k5o)xF2G^jDx926wJW2A+AR zY}oXt>D{lmn<{7>fvBkP;?*<6Jhdwu$Pe3>7#$t`<#6)CL=KRHI9chA`gefIW8j@b z=+!*0+S1SwYNQB@2EqtvN%gqEL5iIm!pD87K6SLP;bIAKQEITcfLfa=Zzi01$mB4~ ze44B}4Gv@G I$+kuSpfM(I0ZmYV_!)ks;n b4#yOO21s2Oa?EKsN*A&BghVi+e@$zQ}@4p0(9r7I6~>1~o|e9iEK0@-^>U z_-&pZ;q7p)hkyPZ)Ox@N)DXXJW*)op_t(voNJ@1Tna6(D1Z#wBGGnKbNUM01;5@L7 zvWx>7`!Y|Qha=jt)p`%#o<88zUlQ2)d;;Cl?NIVImDl#plU|3Dp(IlT8-I&N{{$L) zEhT!1rv|&J%GPV2wiT)~J?g8%>lbY#pon;VV*hJq-ciD^O5%7@1MH;zyuWA4#g3er zy1EZM&}!~*pms?d;PnSs?QEdc@e##Tow1uQbk N*F0d-wD|c@Kk8xwF7?#uPvJ{RzQl6@3*-RShg1ZGUr{< znViZ61gLR?-UTZ#@hJ~h=G8AlSbu{TL5>=p>X? @&9>Dvi@!Y`XDj=SGUi<57FB;mrx`HoA(pm>hrnsdgBx-0)Xn#n)NXJmjQ!O z(+E?#GSW)R-nzz9f~i|7dVXzhzRpmIC)=I(YC6w17|-<7tOLBPnJ+y{?}1wHYR(^N zD2aktgAuIN2un)sO|-}>gE@!Pcjlt_pALbz#r~K0e8f^iEwO)dlCm*i5<#>ZiO#37 z!qh3TwK=g`4jN3?$%6>C+%*Sw>b}>1y$9rGCZc1c4pT}tu0k*QtiZ92w2scs(4$$u z3jV_F$@kRK%hKDy)QL$Rn=|f%P;OA^b_FEhK<{^~Sn-Ts3i)QCXTMkD*HS*3IbF)H zR#!agx1Q{6r{MBd^C=BGMYUgB4LhNHjcH?NUvFy&XSz{9>{A3V!zKb3cf~AE_jgN} z19ppd>jNuz(A)2J*A{gPXCk>l=n%>QcXyqyQ*VOh?&B ? 6y0*Z zJJ+}Y6zk2=U2NH&H-UM>`!hvGiTy#RYCiX1kB-i_Uv8f0y!G07N4l9;*EFbJ^Cj&H zRN;=ilV)?xOkHWidTz+(c3j>j!?=b1ZBxgGzlH^dR3`1b8E{wswq$1e |GobNuI5HQVO96vbyOoy-MW@l)B8M%^1>vhOyc^*_j&xSz6_JoKy$uV_ao4HVJ4( zR0{^;9di0sbHgsXQIv7gTKmP7y1tcZIVf|5O}O>))+Kf|GAdvFdf#V0?#)CT*M(%u zo}|lEjeX$o`>WLG-&@S(WEZG;D~2Lv&e~)=2J>70Tu6n-_42pOgf;KKA)X#=K4L!k zSXa(-1m_RvZvH{#>IRfwLbFfD3b|~lk5S`HS5R(?joehXfKKjU?MF9S&0&(l#yJAc zUQHq8E*Hd@24#4;PkJd`Wf#PIm^ftUt`^qHhXmcZSXN->0Uy+(X6h}sq%RCx62_gU z^s^@LA6sizBanzLT(Jw+ASWzc&<6=wSYY6XCi9`c#UOgWZJkvx*AE8nT)0Dyv%S!~ zjh=*+>h+^9&3^GtGXd!6u~~33C~NUq(w vYfQ_&}+i5Y(%fzI}`e-g!_uKH&dWEk|U-vT#9id~&Wz4*`NwxInQ7 zmcGP^$$p>)WQm|mQG^dT!Y|;2Z2H_FCq3YvitK zWtUfexqthQI2 ;)tFOV6=fK=Ly*PGTUUG5Pp9tNo4m#y hj9nVYZq@6-u#FsPC?H~`1 zp$7Vh0eQ=*ER=?gj{x2N`^)A}Njsg4DEwEnkLT7iubP?a;kqFmy OecA(VFt;ZocC?XRr<{h% zU~L)2_-y%gH4G9n{RX9uo?Z|#gr^1VWels3=n=RhLv0yLET{GO^ZTP(7E`vgynVG| zMovi^bD=dgXRK~(Ha9z+dR!;sWi+4dJh#|0@xo)N*-}%q2S2n^&?w{I^zsH$QE~VH zST@JF^kRyo|MP0*i{mbr(E|0rKy&k)(U&W|kaJ`s;HZCNvP(e|2QM!pfz-xTgQX@n zm*r>`QE{rdijMGgKfr<;iHFntQ0>Sd)q2lapQVO$7j*a1!Fu(eul8i@Lj`}<8v3ob z*B<;4{FzMYuIJA2=rp##Ke7gTy3^&uB$~Pm?MFjhv;r{< %lTS+@+62=QL8X7*|P;U4_G^pZ?^Z_kVhqL7ekR%Yws5|Hlk@kBeZa-z8` zf~I!bMe-rp+6}g_xEpW(AbIe|B{JDRF8}@#egD!2bCZg`rxyS9%Kv%OB>wFO{VILL z)N@@GZ4$l&kCi$GC&jp0!F4ag0upofWu#&R*P`UG<8u?5Nab_*$&`j+d6{o{84Hh0 zspSiFc%u^=(+h;5yuhv0lK`U+75h=8kKd&{w?ck(O4L^$Zu!ajHC2-)jFZ~P)czfR zLV}OBKAfnbdZZ)FZ(5yVDRLQAq9kC`TAjpR<+t0-aSJERwwe^05EWv+)pCK+ov+ID zoZ^g|c-?hxiPS7c`n1SztNCbV6^m$IUf0b&P1JpbM7L9hM?12!tEbJI`fZ5tpZV@| zFc4!ib|mmlMg72;F##~(Cekbh&stC|6%C7w6Qk|)65~+zAuU6Ue*;5<@`D%efaw|n zk@%*F>t%Q5OVbx4nsq#nHeKc`%{Nd4&~!y;^s5g7Y*b9jA1Xl#sxSUAzYm74kc
Ks zzxNVdGqYL#J*}l)JyPWiy|R)jy$Y)Zo37MSEAHs{Bh^C4s?9kNJVB%!dj#wo{zt0S z8|t@h;!2&Mu3*~NeGSqCYIkCb)K}*W({<1@VQ!kNROvn;6s#JFKFOh^d!p7V;0jR} z7qo_-#79_9xh0%NHQ2?g4mvl;_916~*!L#!@^Nr<2@Ul0ykWd9Xds^KFf@g7#J?k@ zY eH1$L|2!5h)t!(S~PN6-|QKT^IK40TjBSvjRTe_4R?+t-fRnyC6Fd0@2G zz9(Fkcq*C3M0B<@*!2Z&2l|)Q|Fr?WfG$73Hr?}%^PlUoTth+|$9<|l#Ft+C(fDwh z`iGrGx$rG8Ck@yzf2hR3=4J!yj}bwmm&HzjRlT#&qP2kU;&tc4Uc5|Df0bu8%trj9 zl;6~}Y(`glDr~Z)my;LD)&pXz(uloR$Qyv(O6C`W-2DeLUX_bzUe&S$kvw*rl(Hhu zmXJ?!qe+^fij)ateM^?^A{!ecn025_=waa}#Qd6T#W8ZO^*XRK`2=*L|g_W1EFlJTlZ&f!7lupRqnpwU{ zG(JJ1Oqbzji6cCWDZ5d5MFyqU((CkU;P&ASKNm#OaiS5zNt>iLQk@5{?+~j^u&2B( z{Y)V)s)`}@ZLC(+-)z{)_Sy`6cap @7rk zH5tmQdS-3!D9nE=^5m_VXiXl8zDTcdzEwzZ`ACVn6PrmAkvp??##;JZW@2es%H-%Z zk=W%r)Dy%7a(ScJ0*K$L-DO_@!^y|gMi-q2v`B!0{E^q*I|k7`YQw#P8{)$I@X&8j zigsmA7LnDxgM&wH@;#W2NQTCMLtNLrz~dh-6DD3zfCBto=K=lA_i=M_?hqJ7ol+VB za^I*4BKZ4I=L_bc;^@ ywcGZ?NkK67l9A7`jMtGpNwzj=$6N|5Pa<#ITrR!FB&Z|LP5O%~ z(7D{`$TWBjHQ|;#T-_McxnONsfYsUOQ(TJJ)uXLcYKMQc!Ukr1Q%Yoik{If*R`;5h zPEL)5pNK%77^%^MPPMC;<#jCOrVLNtz}U4$1tL~#B5R9vSOpgHpl3~w1ygr-PJDi( zuteCeZO7l1IzRrknV+DstKHVq+xst{EK@vw-+%k7DXXa4_b+3LXQ96bXm`269zSDP z*D$ t#Z^+!{yNdIXS9^#kTHw7Q+!#KaNo(o1NGZ-kwbCS1s z$kLdlmLgs_!4H~PR3n?daJL1jL|M0~xbS!}&6=)qv9VUqF;eJUE~mKVsF&i)qbpy= zb1Pd}%chssrw_FElP^G(wm{RyhE;1%L2hbOcsVcW<%zPe4YM=EQq|WcT2{TFgBe$N z=6qoq%U+clupSeRW0^*&d@P2v1pbzpb*lh~7r*VVSMeE7-2t7oYJ3u}(aeD4)_Pvp zM&lO7^jQI!%fE)o`!F^+=~q$%l(+kx^K|&zo=+ryx&OZoLfKLB2iF`WglhjD9sm)_ z^%t`8#igY@;4F}N8~2O2+I{CKE>-ps!JB%9Y2;06A7Lwx-s?5&M!ex?NqF1qYWa@W z= ?SW?#-dE;+yI#X!*(7Z8dqLj@IvBhxmdRlK@ntR{*gf+9u>3!Q3vS8Y z9`~?uy7bTKxECdxMqbDo-?J^x4Y<;KeLsV6TS_0SB)D$bC^x~$Af{0Z3SK_pFb30; z6yw^=q?ftyH0!L8-I{NfwZ?Na@9hJ~TbgA1cCr5aGsuT*0nhn4>wXfA?gti2U`Cyp z%3R;@DfcI8@{lBGsf`YA$4amp@#9%?QomNEaPju%!r0o)d$5P2Uv=8+-rtFCxbapt z?18}J=45U}xtn8&D3r{v5givW;wKKf^FIx2@g^{^XD&{p|2eR?3>v9L+}ypno~awA zO>A%&T!rbpYD${1RNzq?30T?!oJ3xpOJ-{NkA4`FKKR)}s)IVI3E|nKI#|JO=+}MiZ49AbOrxi+EhOY*Sk%rhW5k z4UpPh98AAFQ7QuQ-b`n^mmnHjq_zf53!u}Z6P?@YuV`cby(vvHzkG|r@b#{C>*+C} zB_ck@1j+iAGsVX-)I{ID`p?1KAj|xtwQ@+6jPREg{~s^+xq~Dh5&u>-u9bC2MQA6H z1dJ8+w}Op9OqtnnFgEf^wG5bfTzwDQ!|I)TsLbrGmPgw9JT%oAxf^Pq;ZcG-zwBaF zdMjRhfzzG2#q=04lh@T?qAKlOBWqDUE2-?7h{}(aE9`qC7O6mug?49+I*X &sedkjUc SJH zo^+k&KkRd;;kS=AUg#eFKcV_xqm;cz!kWcZQRH?fHI+|Qf!FsEEW8*vK#M;@*hzHf z%Z`m&d7U2(>su?r84}>>;@mV4 TRif(W~NESC(Qt>@QPTfHk^ zUDcml;C0g*aq%%pTd<#l9p*{kKiG*rw<>^sBz&`+N@hq@yo|J?W~Z(8k!H~k2~CgM z)f9V@o}0;en!;NH9WkkMiHLl!r1nwi_b!YlSMp9w819l+Ea3trzJ#Q+SG4Y5XZ`F) zcZ9e{mSOTA9ya;GTY*wlTA{1te_!R#j<>$u9Wy%Rj$E|Pyf_Tc3sAmhBgiH5!O|v4 zip6gy$>Ocz&p*OZxtzB^Cs4LcBzFB*SYS<=$bLRcyn)%1i?V0?J3gvzAfXTW3<+2s z-2$xWMhGMjiZj2cnTf}snn`TW>(mL~ENXM+Tx-&p%XL~sHwKv#!kJjF>}d}<;rG>U zrKH~0IE?$ZR}8%TF@Dvyjpl#wArgE*Ds``Jz4Goq*OF0LHW$HjOUZuhTgfgjeOxa~ zn6<-4u7t}eZrp95u8D8CBfjXl>~X7^!+t25N3ax_-(_psjr*#02V`$p>T%1;o{7AN zOJuMeymH8!ne^O@j=qXp*WAv@s3Uh6^D`f!lY$FUWxqVC6_=FE5b9%|> `^&>^(-UVihF+@BpH8#Ji!zL%iih^cFs*nAUn__Kj(+Wd%F&@UCtB`7@rcA1 ztGOiJ1!)PnnEQC5*Mr3d3Z|d7qXqqkCM&%nl8ue8UnLvdR)$8d>lWsh8{rD=ZsxFJ zd6Al#iAZ(kx!^k=gVB7ijyM ?ocS{r(f zw0zPyvLT*W5}+ht P;N9Ua41kX@RhB9W(K`{S= zAN$p81jJYiH>CblS3!B&;acn3)x;|-4&V^P6Ec(uoKP-(Pr*{Qkt@+Rr)=X}{d~M? zg~M8=$M{(?kHKPrTI!F*L8JK|wa3GCuBKY|miHEUJ(vT8@w|rh?U56wM_UYPS1Vmu z0To>+bAUKLJddmM?Ckt&1{aNRf5y`;^-RH0IzEW~LYnyklZI{2=>gMB)E#&HzJ0Z^ z_OQd;rR3xZ?%RQm qZU8Z|Xvx?lyy7@J=MS!uVo{ zHX@jmw71M9b!D;NWLfd9k5BV^Uo%5HXvAt#2qnD{Z4|{s1tj~k#M`C5)FtT}wDnFd zd=&=$^U8dfPR-)?BH)$s^xd6nbxyc97Y{~Sg67QDN8ba_RE@7GuAYgYQ#2LF6>6Fa z9F`e@9S-~72o(&z?m$c&uhoJpvc67&jhm)clW;DFr9Qy506?RPSl2{Q&h2{t6AFZp z4FLGkr+B}~Tf;XddnJZh%>C>j-Lz~JrSF5x*QUsVmQ0lfuA>mI>WWO*a$YEHa6OFx z$lNXIbGtMnbpB8-L$L{#KQZ?}Ll#A-twjj_=>+bt^~5?kf?+9nMd>Zl@|W~=a)B4b zdN-LJOHF>m7ScazfIN-sjqU~}2W?FZJs2-vUAQ;wu*H312Nqc^oV+=a Vcjjlcbz3eD>d!l=kS9PPr=M%953Pity!n!&mN{|(jA8!(Z! zR}MxC&KJaIMmSAElXFRzT_XnoAZY$OPyX#-?Vy)ekCSEel=&ZY@IUNmEj`7c0-MxE zRf=2k8iwaWlX&$ji#j2wb^>JHm0bBu(C_fsUWlf9WHN1$kL`JhoBt1*Mb4luj&Zg4PjI or=g`%jd)*?t;C_)HtVf|V zHJ)i+lafujCI_u~Ub4UqGQh{L5aV(tIWCa?2fHB*bYV*shRx`9LhC|>VPowW@R^#L zjkgYiFV?m74Z?;-uU?Hh)61CzniT~hb?uDrzcJh&P(9u2e|fRf1-v( ib?bot%%vyLs&%1iEnV7v@B3& zKeha1e{K9U@Jp=lm7GLN_jR(DjMI15rhU?_dqLvl9%DWRl^zY`; ^QQr4k|^x60=F1_xmtvPoTInCgFiSo{@b z(a{szw 4>&?~~!+ z0XbZu?~8%F*!T*gb;hKCy(Ruy4IOA)XdG>^{c!GO*YxN5KN)m%Y7p<<6}b!()t4Yj z_5cF}P(&<)nwMWat(8|P0ke){8wy= #*msD^iS*Lm1%N#jO!<-YoC7e)blCxgk=OjWXtpl3E`HKdAbiy z5faE}O@B4FGNYSbQtz# Vg{KQcpduQt7!#-9KOY#=(@)#xTXaS0j;J z4o{99r`cI+cI5@iHc0g&7;U7y55q|y+F^xMvi97n+jK9 vi%6MeY5`%{Jdm`- z %5f7A4m=i%%SP^WTr>H`e~nTB?gv`2a^h&1aR#_K!tsTJyAc zE7`Y&Qi0~mb`QG?xwBQ3lz&F&=1xLTQ?L{P(fs^V4bc*RY~g22NNoJ6sYP_~>1Sy4 zhs1pvub~YtO5+@)UJzy#11z4eLvoKa3X#M|g)m`D_c-sCK8OjMDCar|I70Hfw0(Gm zxrd|QqfJOtl^rJ8ACJq}!O`c6(88VkpHVO|dC~4yipk3Rs6MFGbcMGcE=+1g1B0g9 z)4jvpZl}bF x@BlKjtsF^&tDu=hQ_?Y*-XAXlUG5iw(%}YQfS@- z;o}XDiUY|xi%qqOEP+Vgd^_;Z{2z~mgnps c)AYY*OG0j_Nx?s*NE(G K}sSxL#O)E7<#k>FhZX^prpR+VWBg)H!7AgWw+!q@bp&6>R_T+y)%S@n?Z zE}|sjP}e|jMN*o`-ZR>6yHJHc^c(v6r#1WkO@=)jE=%>bls?QIV^7%XsH?jy@$>GU z_Q_#x9X}7G-t_s$Y@Y*v+F2p^* !&SEGQ) zXeE?ZS#yEucWmVi0*x&doaC_XsEqM?Qj_;X;Do7hv?B4Xxw2?{1%7B+kJ02|J}sU< z7tOyqO3^!!F*8VyGM9G+hhV91k2H+GGP q(&)6A?=SzLzbsPvW6VQ$ zI9=P}8gThfkNox_MaeMNj+~DVoC=$;)~R{>m%?q1AI=lXir2Kd(r1^qrt9jMglzHw zNtPFE8^%;5RIbIdEFoKWpIGQ?QLj7nJ^z$)P0ViS4>707@1GgV9ImZi(wIZ4i>~HK zCDLMfv9sMz-pmUyn;NJoDEr<96&By0@BDPn9;%uZR8QH3DcaPX{7DX~`yf2_c|cMs z_G5NyZVZ#yNSHp*6OtRfjMnNxh8o`%QGu$8M>~k<=+%8Qf9hryB<6p7W9#;{knGi) zu&VXD5+0wKo_T-9tG1E{R9yAwsESj6^y1o18|cHnY^kHdkqHXY8FlCWi~y>Hz{OQU zv%y8xaVJ7Z%d>q$Iz*9KCeXudqeN+l7KPX?^?yk+4)hZPrY-VjUTY3R4R;A&lg9pL z`zue`N #Z&v`N}bK3Nv0?dy$1 z_ Mv4)MD(z|PEx#)@KNG--&A_@{Lz#;w^)v6cYZoVOp{oLj ze`V0W4^ a>~lWqEB;*{Q1p4O5OznhK^1jdK@(&Jdcef4v)WbiD^cchbt; zr^yzCo&1u8o3H5EJ?EmbW($HSwFR$ajNEW_*jrrcg@`=Uf_VGJ^FPbb7+1P|^8^t} z#bhN4{C3vwXk^{znM_MdkhCi1aN6ClHABVk=}U~;iO}ic#;sR)8p3;z{vKx9tQM7X z;e$V4oR@5`CKWMPLRy}Q`FiM|a~+Vc rCX5Gw`Poa<;7^8b3|QPzi8#H)-4~W_Nz~7CO2N*Cdz$!7 z7dgt$2&cuJUa+f?^)m2fo6eNScgk*Xy}rh_@=SMHR(XT#Kp~8EMh{OTqj~Lq2ILnd zb>Su@{BFAC%d`;AsI%dIT$=M=?&-h4p|)GwH%nHZMvPf^xBOZe+w!j0d;0d5x&Qu^ zY>6~^CF^QXJ=?@Zw_X|p-zZ5n&EV+|rUMVB>lsQZY){Lmzra(a8THZRUvocNXuq^g zd#c-H*7sZ=Hm(c*!HnpagVRzyO5K#4EO826G~!EYZZ{K|J~_+X80r7P-SrYR7nH^= z<~b{UE19#zz$v=`l@-HibEV{cpXcI|eKx&P-!$G`t(+;a)y ^>{_4-nt{vUvxa( qgrVAJ zLcW~KnI%WP+}xC8ah@Q}hm-4FjIUuN;BlD!Pwq%8+YXGpLPwHS U zAzD$V`qR*|rO%`wF|szACGO 7F91yXbzH`f;5C-B&dQosvh`3jUmwb}J !jKm;XE{ zb|~-!lw?HQ6^ k}1o-%p+ _JXH6d3qX@pL`OtW1exrw!qIGb zJ69(=9ZOua@r7&8Ym3iSHGw#H6bgWToctAabrsQZ!V-Sit`Z}U^YGO5-fnV)OI*OI zm5mMhS)-TLv @6H}rzJ01n~Ks%>xI zwJwJ8H!vCX0KuG70Mv|keQX7(Khs;i+6N4uSqo!x(wZ0eWfs%&I1$Z;19B4BDdz$M z1=~s*7KL!sCnl`gu8s3@)9(3aG93IFx<;8Cz_p}g8O!7(WA<@_%cQP^kl5-7cE;ZR zFkK!Yd *4x|%VJ+c`De3+ma1!aQ<&ARA{dJSX5sLV7f{P(EYout`h4kY2AJl$ zdbV_L_>Ue~N0w1wU<*J3P`RG&KXuuhAuX@>j+WUvJ?y9K#9$E GmGPdxW#~Z^^-lL z=QnluiSD0Gy%GNin)5m#KsA|fk9t$$XnvoJtv^j HtSI(QGMMVuk4$yJ zT(-XlcZZFak8(AZ4La?D;i)YpL5)+1P43NPY(aAKl>9rG%O|P|%8ui#gw_e%UaaZz z3SETH;(OzT696QqTBIB#S4nv+6MHH#PdTCLLqi=hCMOjXxL(1v4 5!b0IfhVYuE=*w7&L&Q}>iR6qh;0dPK@_! *jkw@N$B z2JW7;E*(pgq7Y*-bSiFlPwqmUmHy1})Pte`AaqL4s42im e$%#<7290I>wU^K0le%Tq^0af+h;A*}D(E%)Ztbn4*1TJ=0Z$P`z!BVLZ z5>~ZvAU5k+H%I&|d6c_0b5J+)OR=+RM|UFx28INU-hP=`w&Ra^ICO`cM`(%I8*~z8 z 3f HovZs$h13jiDY=kW`N_s)oqb9>R(C^3XD;&83|O0{)j?`b z?8t4BxpIm@2EITpqXT$o!IN0^ZpJ@Nm>;sC5Va21az)jY4xv^?t#@RK{?u8=33X}o z@$g41Tem5O(9VLy;aOwR8kr%@yw}WpeZ||9dZZOCw5%T?Xnz6_e_eOG<~>5%b jslP7> zog?F{saqdC0qN+BmLvBB`aH4hTV}eA@EkEL^qHifeZCux)wX1vqReG@+Nzm1qv=Be z7g%xi8mHn$$xNE3o>-%FYY9O@r%^>g{=;~A$(nJxrM4G8dX*k*cJmKdDAm0Tef6WS za(|vS#ytvcsPNyB74z)-){d-A8PX~c!@q9vTNw 6)jhhEILQ|&r;;yUcx`IlHZ*7BOiv) z0liVQJBrrqpg4a2=$I=ka}dC)zze4g0S9OFx%_~6(uj34 Zo-WpoNzpS(UZ_|t`JC&@lHlg9k3>{o{USosw8Zu_{c@#JZ-2t)K|CjFz z>-#DZYm(vV9?{?Gm~?bZaxt|4<9W~!VwJtxSkJ5#xHNR87pHDu`ivFw${VwtB|S1V z?)e+f9H`c}yrCXe`b3F(h@l)KbJD6Bz^t9JQF0$+GS_xGBR_ik!>d6NEd2*_b+)9M z^CIoGfUX7!eY$hunp^H?$J&4x^qko}K`Sk-oNDZY3}O3>Es`WHi^?CXC~RC3YUA#vOOvR%zWQWbuEg=VgI7p1wYqVxqXM =3hra4A}o`pqqlPdl!Z%U@lVhbmW-W}E%|2&|=}(3>NblxWYZDY3GyIF%Z1 z4iBZAE^CN?#ZVhM)PCJsJ~LKlth{H}^~NgZW?H4j5$Y}qv3~w!>^bX0DrJ_!`T6c& z{&ueF08zHO$*vIrP@uLSAxg>`v%ob1-sYK8dO5hlHR###uxSm#6SkTb8(%(Awox)0 zI2jYWj_9R_inr$q@M>m_Z>5UThK;yp`_2OW76Y3-kwL3hsGQQxx8_c_2;|z6vwrJ8 zuRk-BVKUB}ie`M;H?3vgS|zUheEjA}!r)mpH>xgGrtyLUuaUsvWcemeQIg(Wk?#SD zKX~Gt_$gh=HjDhh%LWDMAlb~$<&aCTWC@yS2|YdV38D1xR_h67*3`rI=L!SSoH=0L z{9bOLDsNtBdDoD4;S}akkXXC2r k`i7a^xB kEE77!~OTHl=#O8*eJduN%=9a?jp zaZGgZdcRb*$XT-KHmv@6?co~3fIx->JFM_Da%^^et_9+DZyC7%ecM7rk)VqUWiK5? z &%J3`?Q%)~6cYf*dRx%^LU9AR)n5dZNw=EjE^4-gd zYx7eDT0Q3fqx5>YgoKgNg#~J`yX7r$V5DKs2JP#(Oif;=@Nw~}^Qn{9NGgL5A<%b< z+@*E0O#7=!UrzCj^9%p~hq5=1hw6X-|4VuaNm+}K3L#XstW!y{Z`rqyeP1Wb(1uXR zlAW^eJHrg75Lw5*jWJn=!HB_NhWVXd@8$D;^?HB5-{0pSw=-wvm~-a2UDx%z?vHDM zi)TztxR|imuqNgu7iyD(DUhVh1Wr_8GbZjTG0mmN?9GKf{;CbPVuL{C`R@Vlz6#uQxDe` zTECfA8{`dsP&Jh$CFzGj!MT;@(WAC5{kzbv$iPxbCpoCXY&l%o8>LG !-dXw9CJIo8yBg5&fd hUY|Idi;%PX{( zcT%;R2uOhWKZqe^UZp`((gn}~pd;Pa4bI M*P6y2K{G{+``lW&UDy>;rfu;Q$- zRFdetp#RbAI!r{0tbu5Sm}_&MD{dW4ta*#fzii8?G7-N)&nD`RhWmjN_+!-9K>?v# zO|^~7 V$B!Gjii7-F@ $g z9&rD|$tJGCWo{Q>SBJ>K$?b!04r{&K`HtJE{p6TpLrsl{`?r#-MviuDh2PXaHr4Ii znC|~+tz;gkxtN}UI?rkNxZP7QaK3DcFvG+Q!6PtPmKq$`!sbVl4Sp8M9P|E7W2e*@ zGP{zJlC+i#9VbG? v)`(?ASzufgf*fkZ$$%J>$ zx1=yz$F`!fpyht6#VDi7`ZcF#^TBBQ_QXr&ewO*q()TZ+niRAm8RGfV%seEQIAW1p znI5v6iBfK}>&r;1bp+^kKyWGTM@}C~6eFT(!q(@xFs^7I04+d5{hZF#yj$|w1gE~G zIPX(g;ZoD;ww8v8C*8L=xXt+c4%U@H?q8{?G=6)(WeuO8`pP`0^Ol}n)C<}CQ-z2% zqO67l9x`UWF)Ln0Qy?q&<1r6(MiafW$g~5}0(}5dn3AoD5LgD0+Op9e+(#DkQ2yCK z;wj?zmcwCyZTSePJ7QDgCPk~CEaw56*&uc+FcT`9wnRbK7fcGXe<*^#wBo1JLsk{{ zpPSk=J(N`8+4Tdrd8zO%=W9Kl^u)HrHcHPPXS3IJ^hTt9!8MDAF78oAEw{=xLc07r zg^%$~$r*}j(w07-69z>kRo{JZ23u}g+7qqu9h;$Ye!Cr;{dRVEJc-9Al-vu-C|JmQ z>kc}c8^X(B$R)ksi>&IHDzgudh7wotMvRmJA5BaCp)sfkk|%ic`{Go6L7`Uml6wp3 zzO>KyOh<4ey9D(DZ5O21!gCdg&N!e)D`T^kTfHWEBmL$hmlKtPMY$R&t$3L5fR8j~ z-UyGZY{p;b){FnKTAO{G2j8C04jj^JuH2uA3|(t}-@7TN64IX;w5+<7^X6i8>s#wJ zwF!VSZ<=V?#Sk+e-t-zi0PkHAXc7zEs@*Dk1nFwXKPNdoW2-s4T3U&4!uID{K4n5C z|FEZMZ)}LR{CM}~iu+-o3|@lsfw+u?=K+!#WOdMPOMBbCZ{q{W!^=l=-#2#b6jS^S zg{^eCna1i|bMFw!@!Cjz&(#6nicHR51}KFfCMK^}IJwpYB7alZ8zoq>aCiuONbTA0 z5(u84zqoKvZLzg^SkZO(ybA?ngsz5oZMNevlz<6?)D;me7=Mhy;Tdorw3QoKvdgte zsitw?m3MC?Ojx>Js?3}7L4wwvK`E_%6SvDDmfuL4M==}kuoGQ^mKB@J<7WL$oeMrH zekhDp$c(~4AEhaRJ9NCf@=}HNtFdn8PS{$dJmTZ0yHm3pn$k =1k` zz8a&j85ONQZxQqXf5A$wBXcj;Hj_H9Sa4QFY2q19%J0a%`{+{zIpyy}1TY=1ZZ!Gq zG5l>wIFtH?{oG-lv^Lik `u;209pY?H5n zGY*4
VJunf=_&CN$j4Ft>LbZagVgZHtAi8(vSd zQXnS=?Q~=HrMD1#T1~h^IkZpcel2^L>aA*$Xaa;fm4Q<_ZE(XH3@p=kl{uW%0(W^R zUWFNcsqA5bOv7)gb2G!Yp1i5dnIG$%-wF)4@t|LZ-75Qhm=mY+C4H6~T)jt(ic_Bi zMMUV8JDS$hP&0rV4Uc_Qj~Ym5dHUc%xseqm7CsvO;Qcq7I}eAlfErz+kFBP>I;s+j zOnX!wB=cl=xAOQKko0y$B1gTw1MhN;7)Z~|afgs)%BP)+i@P{B_g_Y2Nj!oE>ZYud z`U;6#c4dUs_t0Z(3~5Ma*1o)QXbjlZ>1sHr`Y@7G37jwkJX?HWP9hhnhGI!w|+ zILkoIH`SBjAA>=p`E0ZZ_*jUSF5S`QN~SGS_|aNF7~KtO>1d(MjdqBp1uF1MX`~I- zKi> WA9TF}w%?PE zrr~j8t?fjue Z-Us*h1tN)w=%vNYFqWns%x?fF<$t!&>0=?ML7}wG3?8c P{OhL5$qSQv2G|$x+FAZa9o!3Idi#wXcOo19RJZ(wDU ev> zncnlaBdsq==KTN+vkk>G*^#3e>T8JF8&4H9ulRLLw61_;3w*?211$%5lH!AL8HbF? zvi2v~riV9>3L%yHd18FZH(@~gYc5KBLzC7pFb~r=LK|{gOl;)!ZO)bx8V{0tMde3S zq=vm2E)mnaviuR!ygeQwvO_OPp~K+sU8r&5(RYY6Nm+$EC@r?gXHKS2R@uB%tYv>2 z(|oU35zg14_e> Nxkqr*_?<|H0ZCosVp{Zd z9DK2PWJW7HW#zPgX;c*Yb*#dg%s3yv-fX!p8>QA;3jG$owk$j&pxMVi7ZYy9EUbJl z-gBiNiUDUU{79J2Cr!x|?r*NSw{}H$pF1Es%+x1muVM3#WpHoBO!8o8^gx0@o~XB2 zD>+L4p&)G=e*Yj}>dop2gjRrZSkU4Y22~AO;D*c-@oQEG!MPFVX6yw7#nS@Irh|{d z-}65W{EGFhP;Qgk{wc;6en0Wd_GqmbSg16j-`*l3L4&+grF>#!&`%{;+9rQRi6g7N z70~*PZPYf~DXkSL`Sb={o_f673CG94Ll hQ7YIMB8 ({*++|z7w?xhMJ-Ejhyj+4h;+cTYoob&QrZ~v+_Cn zRmk=Cte2B#sPEmoP|OmkUi^G_e6DPV6l0~h81{s;Q5ylDq`uGO_)XP@j$v~Qs+|>E zL0HlMaEs4!))WKic>$WzA({_Z3WDpA&-d@qPG9eMtc7gdXBRWpPpmSlK-}e}8 di mCy;c>;Q(>&dYj t2rOQjsR#e)MT)ar^Ox)hYJl#cK|B z;7xpm^yg_&InC{yTW*DfIVw(34+rKb)gl8U=l3;(GM>A94nf>ZdN(4Y!xasv=5H z-aP7iM84$lVMOAr<8~95N5S0bq*m)08{L!;m&UP#5YIZf-8@@#y-~&*usbIKH_-Em z+3g3<63MJvIKViO^cwhnB~q{wPQEOM4Sj+=pZ#7kkX_g|Q?6WuZbYZp2>rYe!6x}^ zaaDjP`FvQnl(Inc5jI&ySwi0zYEtWBwf4Rq !I)7Nap+p)gRoc;w*$ zE8aD9F<+=zbumOhC~(Z 4Me z>ISvO@4f1!C+#~9#Zk_}6`gJ;+`Fmc!iP-Nj#mSks9CH?!`P#;RH+#wvpfZVbocHi z2Ap2TcNlf;vSzk{S)W9IIO2&cFwiG1bqgvepy|)o#dH{Ja(&cAxrueVZ>ef_`y(G; zXwt~!1|)Qe7BjO!_%v8CrTncLlZxQ0NphGv&RoE+;Gtwh@bL*T{MyhpIlpR(LLNWI zcpu9L^t&`~1D2B8QW}=d!vS8?u`!yNnfquCJ6_)L!acP32M2lH3*QtaGp6Us>d+&h z7VGv81^gRkR}~^tJD~MI`%9MEuc#>dksNz=+%%@p1Io0WI3a|aVTD5{mXYi$^3_D4 zR5D=C%maaC5m8$O=&f>}phy|3=eQ6enVHyx1|L1lT$AuCxT-4%ITE(=lpDJsq6MrG zq^{!>R*QANXlFyC!&l0=(cjX$dx@wZX^Q@ L(i#m9kyBC z-@ )=o%RI5V8e!mx3e^`_OFVwP d|@vw#Uj_xW1t%E*8Y00du?O9%mN$Y{dJ6=iu{fz%^j<) zvHfA0qkdtdOv1gdA?M46>u}Mx>LQ>4VAP+y_+?wi)tC%~;*<3tKoD`nv*KC=gCBui z#7kT=!)G%2+J&-@-&B>x#*^yG-+-o#bagi#zx&l@cD5FTGy{*Zhuh9h5V>ORj|T@I zZW;THJmQp+44C`@i@8rQT{|AjSgTe{pFi-*G_?fk7$7s4k+aJ|kp31wYX#!?IE+8t z8#LMZ*#7snIYCXu`{LHkxL04!{%-l4iTzU0pN@`y^}xfp=9cYYS-Da}rq^r|O45A( zrt)!j_i8oTFTLgg N{BS>d*^KLX&y|DrI>^()se&^@&Jt+)FxL$iu z=YzKAVdFy4%T@2(9J`6c*n #b;MFYY_upO_%4d?@orJJpbKXlGgjSMFD|I(qe2*VZ=(3dKCsw^fOC zEx!p(*WQk6TF~&F)Zvh`&l4lfbI9pWY>bz$x_9jXC8jniHo^Kx#5k {7O16yY`^w=b@A#w4iLBHp~o}jva!4Ve0 ze}i!QkH1F{{Ha;Igt@a^`o5RX^DwBh3os;4q~v|Swvh>l_Qc(??)b^;zVo)cE73Ua z&XBOQfSneJ>?%aCR-%#a(OC+@f17{{N-DWJ->A0mPg@LU *OJWS<|>_cgPBPs!@>R+^ql;6;XPwi0}{aeZZ)L#_ZRO48Ha_BAx=o z|F80V#vddf<1C*acu29#=mOEk*5u&HjXULYSF;0l+&Q;@x)G-lv;I6G^62tfZ_1Aa zr(?qCrj<7o;~B{*V`B`Tgtla+iB>~~{r5@ f)Th4`4DM)NJJgVRbTlMxme^-Nd6gwkEY={|0&5YJrPq`Y1ULS2_dXmd4uGz zi7+GQ&Y8k&N-lfYFVkQ^ap56&-w5$zcw|K1J5Y29>eD16!+)Iv$2Jw0 F*#uB?!+{o)@cuW6HKH=4Qz z+z~Bc?b$qw0zZb(rMTB*l_AWsnDKfR1%ZGiA8&)9qd8QTV1feP2#gslXfQBPZqF#d zKOCZ7Q#&}ywWh+Rmdgq4Lf39;5!i12iaFbmebP6ZB>nladr@VheV4eFnw?jE#y7or zf(Z|%=qXfQ|FA4FVKsApR?1|2hIBvuqEf-%e_X?>aky32eAn*((mAVXo42P!H71#8 zU$y>hI%Q78qnT(VyvWAMmdqjo+=oKdw|>w@W 1(2FvfpA&5#fca zy>_%HF< s#A$^V`(!t~Jj?(|{&RZizg)cE5PZ0G1%3mJ$#+TRHj z6<+_$=_O`Kz`5e}_++R>fNvr}XlzfXaw~4rD!~PJz^9&E-@Th+`luKIEP{{wqyJR* z_-lw+2M|c0&%a)E>i1#&iudPng#L^q2r(j9qk~Zlz-vT@CuXqF+E*(0Z`E=K&QAp@ zUm}umP<(u;hhHcKYu23(UEBFg6FR<0(GG?5i&!$z%IPr#qQg<7?gOKyuI%I2r6nb5 z7Ur9qW$(@+ZU&sG4>WS0f2D-@c?t2YOop(wWYQR%FSptkJ=1~+nPFv5mT+c7!<4^{ z2JNn!U=M+|=vNUcb(vEHoIMAGTl wf<8V6%_PHUhgE&+H%B8Kg-x zJ1UgAi^HEzd4tCo5S}WOp91bCb5U*|T~hjaU(*~Ov;>az`=!61cI*@vBX?&8j@#kc ziSp)H?#|dtOIVjPLuGws9kQvH%wDfU7lXMaZeb>Pd-i$!E%FO~MH2Ht6a~KqN(-fM zZ|lSA&H@&SHp0rfj92)86xZ~?D|21&(3S)Da=)}7g-+}e~-xJSW0l(EdJLsupNj*ebl4m{zad zZ)1tRxHEyE0Lt7^=`-4*jh#tGPxjB@N<|e=yQ?EXoTtQOD83Vw9z0?hjr%=jHv_e- zZMY(fvks5c@sWjAzLb4zdPSWt#Kt5@`!aY(dWIX0U%Y-}$V)3zvGn8q+6EZp%LE}4 zk7CiT%+_vlWj04Dw*XcN@e>FVLdRkQz_lg~MyXGKl&o!fhLXBC>!|~nnk<~J%F~)y zLXJQc)vxj(#K`b722%pjXX~=Tv!w5tp{vL>g&&oW)hnR7e8WcK1j5h3;`w_q@RWah zIT1F3Y-wZQk)7PFP`Nzz(N4E=NRs~1XyTZPzWt~m-r13K^5E#`;Ip+vCHx?{;`we` z2d-3oyb&XRSjSVME6(W5H>6`jqnT0EFvkhXxPw+WBKKPA7@L@^`V2~zxE!}) Q%B7VHCCw_UMJr?A0wJP-aePE{@m~wrwR^G4K zKaD4q=YTDIR%MPk$Vk*?6MQqY%+Mr~GQ}S^q?0I%A)@4DlNXwS9>WdZnR7>?{r7g; zSou!`6VOD9fPf~X|3Q=i9*C8BS5C@Qe0NEvtQRWknKvUp216H{(}1)C_#qa2fNWD% zPk;8vM@G_KU?bqY^fRlVSp>&?`3)B%l!6g4)4_5-m;K;lnMwLxmPm<8#FAyGmYPm# zCQG+?wH`gcsW-^+tNRqo?{mVH!2;@r*5k HZ-yaeVCU*F6ka47@+lYHY-| zaYuVT*{l*Vsd7p0VJS~$K(+oG0c9=I>XPr}#wLp!!&^r?bvzQ?o!43e-zL1Ui;C=T z^&X{V6D*FEBP?!`=1!+4>M96lTYo@B874O(nzyyV-~6C*$}MSk-QSscw58;q4zv7z z^)?bYpiuwudtuf(d0lM!d_2 mu&*Auz8A3`8tyOxN6uC+bhs#gM*sWo_l;T#HrcXSh6w z;d*+ZB*cF}(68LmC2L)AslyhCSfbZvp>Lh7NaK;mfvUZa!GvWowK5Vqw>9hH$6L33 zXtXbTO|qj2Vn^RpANsA1LHB(i^NmCNJ*JDjM$2a#T=szdjM9&GObT4bV`8wv?4T(H z0+}cCs-m6o!{)9KzjS?;s)9TMQg*7pVUAlead8()9!C3iK`Mfv_>iLJnT*Te17!zT zbVXy+z)i-gGivM^ySAw15Mqb8*kNpVU|C6tulmQEga@h&_0I|Qpi;@1@;fg0-IS!H zC4$^iVKVGM>Rm~WcyY`{3C|a1Ri0jL1KC-7N`-`?dOh`lQbxrr{4u#_tyQb>%X4Wy z$z*-oy`ij$=Sq9^*dv#qX2zLNtI`Oq`Wpd6SXWlyY^VgaH;~S|E^CSF>1lYbJKqf= zyO&OgiL~%YbY%QDYwGH~j;g(@$dKO+)hidNm|osEoLHo_MH?|5HItUgjhcW}Ub!Ww zYVv1f!?A_5)!g2!tr4iS=y^T6vMNi#iZpv>P#Sy#n+)^q1?7zbsmyRfK`%O)@gRdC zJ9+ineIB!&>yd5OpU4~*wa+j!&d!CoYgUu)MW4&JHGCt bA(-D77sa`7bSil%u){$yNo_G~hs9oK;ClF&$cY6mxNz zQAzg)%h#G<^(Ib_wgD2pvGeHXWNriat)}JdFzJ2*`1>EfFM}sua^1Vq|G?8|^TkmW z{qM8cnZy_25~X7KqUy(7+Jzx5Z>9Jmd3JPr`Zug?KFfp9CKSgrEp2T{Qj6wIu{Kxd z^i&=*1v}o*jI@+!{zR=*{sGv0BJ0E|{lU1?7C-)7T!xWh*F>jkCK@@KDu!YmD&}+Y zF-eVNWZVCI)S3EJ?N!Y9%%{-?14`>)bCRWa+HANnwTfq#-0s{DjGK0%wYIb0E zQUuO!dYxzN^g?IMHdWcE--CS-()^rl#MJq0rn{2-#abihqht|j93nR*L#IA9A1>}{ zoi#{>X+aQ@&8v6dhV?B2{d4W%5`h=HKAOjJ(1D9Lz^@}0o`BAB$`+|A^^Jq&QR$dO z0?s#jrf9{lFw569np#O@uC8TaXnPOV33V_FLL(Zw )jdcd~Z#|)n4+sOzePsCfZ+)Nt+4wtu>m}pO z2SY<3awMtyv=N-Rb}_uV%rzRm)j%R&*lGBD;D6Zh=0)ruBUc7*({^0gWC?S#QK0IN z33z7w_x(d4a%ie`rFO|A?$qDHivZ8J5=h;Ns)}rJeT?8!r$=AHTC6IzY+Aa{@87Pd zWJovFX`E>}oDL0U$pxSYFkV~Bef-vYi&!C*vo8xS06xhVkDuKwV4qdV_AyBjn(^PW zN&bAQ%;XbFs{XSzOW*(E1^_yrQTOCoo>>SN{ do;qPd%fedePdq-P1rh)( z!CUol!DUJjXT7D(143GqH2EugB>;IyU#edgPUtZTG4qmUeZe2&S6JZig$; c3f-|A(*o=f(HdfLk4xz1)5Je|zCAAj{>nKFdX_|G16+KZl?EfLnFp zidp>MUI 6aI%#NPvNT?1 zvS3(gxzPJ$4?v^DFOqx*k`fae>jAB2z~nLy2>~Uir!&8U*x8xAvxo%Xs$3ODIm+QQ z*#Fj^+jQL&D|@B?A%04H0woahr$CV@x@P(pYh}e=Vs=Noy|_YMeS+iyt*IHtwY0Xn zt7 5=k&+>{EY#utzp7MQ3=q->%hts?jT hi8LdaOxL+b&+6;f_YL pupaoBF+t zgYwp&t+PBV@d%;4u;{igFAwe?0IE>&pvTANyB^=IScd@=i#pIg0aWh`Q1&AT< z?kOBh2hDy^x=6ptm4^^gusC}0>&wOvyjDp#&@Q6rPnkH&tUu-Ew&}y-0R#r3G~o$c zkA>_3>Qz>aK)A0sC=I8GR(hZcb0~7xmFYzSUvF<;#BplcKvTve$KRll =(<=4Y}B8>PKt+j$wNAa+$OPA4}I z0C@JEvWGucN}BKDLHg3O-PDpOi8#k~S!1YlBp5ep;y#qacl>#zNrLi)JL+YAem+nr zL }^w;}9$Kf Y&P%&ZyF#CD=~3>L1%+q0eZH |&xn{nV}J=%Cg|{F^uERE+_CiV9P~)CEW)Ht!4N zMF4>ktnn|*O3Gt){#VNK=`7xiPy>T8_nyQ?3j>>h9<@@^A7M|^p!d(EIE~nw!kvpf zj8+v+`@MM+Kl(Cn`#s9Q#3Xgrge3~%&Gc=fq~2w$0%x81c (ORGLQ9+2(O zH&w+JDyqQ>l$h!Ra`#XD&-68DL$$52W+%!QS#5LQa6Pto(`>D)_kUE|Q>Xi?0RX@i zkZd`F 8a>lQ=+9;&we|L84}pr @7a@v4t zBCPCoTnhlmje;d1u)~vM6;W@hd7aK)UwH!hF%0C*M$ae&`ZD6eqI7USmM1T0ok?3Z z#tfiVcpq|E;3loy7&UM|83l_!=lAHaYUye&R>iHG)t7t+oA>Y=%<%FR+Zk*X*&4hz zD4tbP^KMuX5uXy6i<_kb6r}Ep+)n|t3E_&o`MYZqq!@LDl%o4BP9p_zeYG`7n&}X9 zPI^s-I4_^fTi tj{FOxIyaUX^qlHZC5w^qy1tkTjiE?*ifEzfKyh&_mCo z4E!++l@|FCeNkyJu|Q^VmXMNIXak^Q_{M+;Af7Es7yz Bxug ny1pYK5e4kP=VIOC(9h3s4yJF+c zIV|-U9H%}8^yMyn6f-AIUL|aOL%Ifr& gDpKqpXMUEr>%M*{9+Bl5;|(pB9zhy2$taqEDp z4d3m9B44+>{BA2&Ltp}JyJiJhq-X56GO+hkpJ8kqDrnyhTZ1KOKVB+TlpX_=)DDWC z Z{p7j0RX2L%3S& z&qV;aNR89WyZv_BAduDs;+8kgd;ZaW(YVY ?KY6gCnTHb%^-c$ND;Kp= ^3NW-fS;1lPG&C;p-HRK&&bP>U@jxVM<0* zIEK8q9Iwa(ob1$fQs8b61CHT3pp$3PzR=yO7!Yt@`D!9W7Bdf1CZd7m_NZBNzVLD2 z=VpkYe+^%g1*={jXiC5y23|3n@Ir*lJv>Z+0NrMEoW98-KT!JulR+!T-s`tdWlPht zDw>bk@kI+-U~PFqM1e;i8`rBZb(d-(mr65wH p1y7vw8D2)f0e$s*+YqVQG$B_*<6!m@y@^KOf?Ik2Ymu#`r=u(8lov;D1 zsYC}w^Q{DJX|YO&8- L( 0 zcr}XqbHs(rBHsLJTa| h6qK1?BC`#F!GMowwm1D&Ys@XF!y0eW0(pN$zac=^KOjdHC# z+E>5ct@{ID@~<^(298{<^O`b oRt2@$q#w0DvJ)=BX~M zGo%Gmt}vORhv8rkkL=lp@r~CdNWPVs@>2)WAAHf_hD3%-cfKc=&Nh#}_Ht~4eYh53 zW>yl>VrMwVqw#>_fzfVvqn9(ltwE7~_+rR;wfJ1O`HtIP8%lSoWW45|mnKZ4i1W&; ze43^zA?@&gc4YvNzSn`k`luva2lP!-^a${)T~3-i>tlkEgw4*{Kz^Y|^SQC|H{Uiq z{h%x?TJ_n2#p#pe$Uo2~Y4E?$raJra#j%G}QBQO3>=m u=B!^I9t-(VMI y-cyTG7gTP|6|*tnOh3M5h(S-7ZHKrh~5rh&PGhj6682 ziYIwhk8RI?bc8l^-fOD@&}SS$A7mB`qA#~#ZSA}w0GPp9V&)UCajiNi1KzP~n)Q7B zpTe1q>War}6@PaZ>r(D1wQJ`6GlEd6q@_AHva73C*L8jtZ)M%SfB6^EqX{5AP) =Y+jn`y;xn?1f*un{0lEC|0s4zGV==!k0#+mMcopD za_C#y!ay!WwBRcMdSC)6yMMehqogTacFK)6;y}3asB5=6`LtpSChLC72|b?9^K0po z;|;O`3*-YJCIVx7>BsLbCaL=_Ue 5&T=acC3#mjg8>t}!x8QOr0PME6Z`}2J=D2RBH z#~^9Xi+u6{Ej5$uXLj8$HG37M6?hnK+KL4GSYHkk^8Y64|E