From 4cc3e877ff655a4460f53d8f5e34022c6b4b7565 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Fri, 19 Sep 2025 16:38:46 -0700 Subject: [PATCH 1/5] add getting_started_v0_3_0.ipynb --- docs/getting_started_v0_3_0.ipynb | 2030 +++++++++++++++++++++++++++++ 1 file changed, 2030 insertions(+) create mode 100644 docs/getting_started_v0_3_0.ipynb diff --git a/docs/getting_started_v0_3_0.ipynb b/docs/getting_started_v0_3_0.ipynb new file mode 100644 index 000000000..1cacaa476 --- /dev/null +++ b/docs/getting_started_v0_3_0.ipynb @@ -0,0 +1,2030 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c1e7571c", + "metadata": { + "id": "c1e7571c" + }, + "source": [ + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/meta-llama/llama-stack/blob/main/docs/getting_started.ipynb)\n", + "\n", + "# Llama Stack - Building AI Applications\n", + "\n", + "\"drawing\"\n", + "\n", + "[Llama Stack](https://github.com/meta-llama/llama-stack) defines and standardizes the set of core building blocks needed to bring generative AI applications to market. These building blocks are presented in the form of interoperable APIs with a broad set of Service Providers providing their implementations.\n", + "\n", + "Read more about the project here: https://llama-stack.readthedocs.io/en/latest/index.html\n", + "\n", + "In this guide, we will showcase how you can build LLM-powered agentic applications using Llama Stack.\n", + "\n", + "**💡 Quick Start Option:** If you want a simpler and faster way to test out Llama Stack, check out the [quick_start.ipynb](quick_start.ipynb) notebook instead. It provides a streamlined experience for getting up and running in just a few steps.\n" + ] + }, + { + "cell_type": "markdown", + "id": "4CV1Q19BDMVw", + "metadata": { + "id": "4CV1Q19BDMVw" + }, + "source": [ + "## 1. Getting started with Llama Stack" + ] + }, + { + "cell_type": "markdown", + "id": "K4AvfUAJZOeS", + "metadata": { + "id": "K4AvfUAJZOeS" + }, + "source": [ + "### 1.1. Create TogetherAI account\n", + "\n", + "\n", + "In order to run inference for the llama models, you will need to use an inference provider. Llama stack supports a number of inference [providers](https://github.com/meta-llama/llama-stack/tree/main/llama_stack/providers/remote/inference).\n", + "\n", + "\n", + "In this showcase, we will use [together.ai](https://www.together.ai/) as the inference provider. So, you would first get an API key from Together if you dont have one already.\n", + "\n", + "Steps [here](https://docs.google.com/document/d/1Vg998IjRW_uujAPnHdQ9jQWvtmkZFt74FldW2MblxPY/edit?usp=sharing).\n", + "\n", + "You can also use Fireworks.ai or even Ollama if you would like to.\n", + "\n", + "\n", + "\n", + "> **Note:** Set the API Key in the Secrets of this notebook\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "oDUB7M_qe-Gs", + "metadata": { + "id": "oDUB7M_qe-Gs" + }, + "source": [ + "### 1.2. Setup and Running a Llama Stack server\n", + "\n", + "Llama Stack is architected as a collection of APIs that provide developers with the building blocks to build AI applications.\n", + "\n", + "Llama stack is typically available as a server with an endpoint that you can make calls to. Partners like Together and Fireworks offer their own Llama Stack compatible endpoints.\n", + "\n", + "In this showcase, we will start a Llama Stack server that is running locally.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "HY8yBKKVoF50", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HY8yBKKVoF50", + "outputId": "97abc006-572f-48cc-c899-6bcfd40c8d2d" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + ">>> Installing ollama to /usr/local\n", + ">>> Downloading Linux amd64 bundle\n", + "######################################################################## 100.0%\n", + ">>> Creating ollama user...\n", + ">>> Adding ollama user to video group...\n", + ">>> Adding current user to ollama group...\n", + ">>> Creating ollama systemd service...\n", + "\u001b[1m\u001b[31mWARNING:\u001b[m systemd is not running\n", + "\u001b[1m\u001b[31mWARNING:\u001b[m Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies.\n", + ">>> The Ollama API is now available at 127.0.0.1:11434.\n", + ">>> Install complete. Run \"ollama\" from the command line.\n", + "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\n", + "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\n" + ] + } + ], + "source": [ + "#Install Ollama\n", + "!curl -fsSL https://ollama.com/install.sh | sh\n", + "\n", + "#Start Ollama server with llama3 model\n", + "!nohup ollama serve > ollama_server.log 2>&1 &\n", + "!ollama pull llama-guard3:1b\n", + "!ollama pull llama3.2:3b" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "p2SkDGjB_KUE", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "p2SkDGjB_KUE", + "outputId": "1498034b-ed2f-4bcb-e4e1-d964c95ce2cb" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\"object\":\"list\",\"data\":[{\"id\":\"llama3.2:3b\",\"object\":\"model\",\"created\":1758304995,\"owned_by\":\"library\"},{\"id\":\"llama-guard3:1b\",\"object\":\"model\",\"created\":1758304963,\"owned_by\":\"library\"}]}\n" + ] + } + ], + "source": [ + "!curl 127.0.0.1:11434/v1/models\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0R628gRh-cYv", + "metadata": { + "id": "0R628gRh-cYv" + }, + "outputs": [], + "source": [ + "# use this helper if needed to kill the server\n", + "!rm -rf ~/.llama/distributions/*\n", + "import os\n", + "def kill_llama_stack_server():\n", + " # Kill any existing llama stack server processes\n", + " os.system(\"ps aux | grep -v grep | grep llama_stack.core.server.server | awk '{print $2}' | xargs kill -9\")\n", + "kill_llama_stack_server()" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "J2kGed0R5PSf", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "id": "J2kGed0R5PSf", + "outputId": "2bd3a300-8637-43bc-ab2a-aa03861955f5" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "downloading uv 0.8.19 x86_64-unknown-linux-gnu\n", + "no checksums to verify\n", + "installing to /usr/local/bin\n", + " uv\n", + " uvx\n", + "everything's installed!\n", + "\u001b[1m\u001b[33mwarning\u001b[39m\u001b[0m\u001b[1m:\u001b[0m \u001b[1mThe `--system` flag has no effect, a system Python interpreter is always used in `uv venv`\u001b[0m\n", + "Using CPython 3.12.11 interpreter at: \u001b[36m/usr/bin/python3\u001b[39m\n", + "Creating virtual environment at: \u001b[36mvenv\u001b[39m\n", + "Activate with: \u001b[32msource venv/bin/activate\u001b[39m\n", + "\u001b[2K\u001b[2mInstalled \u001b[1m84 packages\u001b[0m \u001b[2min 334ms\u001b[0m\u001b[0m\n", + "\u001b[33mWARNING \u001b[0m \u001b[1;36m2025\u001b[0m-\u001b[1;36m09\u001b[0m-\u001b[1;36m19\u001b[0m \u001b[1;92m23:29:10\u001b[0m,\u001b[1;36m361\u001b[0m llama_stack.core.distribution:\u001b[1;36m149\u001b[0m core: Failed to import module prompts: No module named \n", + " \u001b[32m'llama_stack.providers.registry.prompts'\u001b[0m \n", + "Environment '/content/uv-cache/builds-v0/.tmpJfVJ5w' already exists, re-using it.\n", + "Installing dependencies in system Python environment\n", + "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", + "\u001b[2K\u001b[2mResolved \u001b[1m84 packages\u001b[0m \u001b[2min 1.30s\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mPrepared \u001b[1m12 packages\u001b[0m \u001b[2min 318ms\u001b[0m\u001b[0m\n", + "\u001b[2mUninstalled \u001b[1m1 package\u001b[0m \u001b[2min 9ms\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mInstalled \u001b[1m12 packages\u001b[0m \u001b[2min 38ms\u001b[0m\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1maiosqlite\u001b[0m\u001b[2m==0.21.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1masyncpg\u001b[0m\u001b[2m==0.30.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mecdsa\u001b[0m\u001b[2m==0.19.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mfire\u001b[0m\u001b[2m==0.7.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mllama-stack\u001b[0m\u001b[2m==0.2.22\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mllama-stack-client\u001b[0m\u001b[2m==0.2.22\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-common\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-http\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-proto\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpyaml\u001b[0m\u001b[2m==25.7.0\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mpydantic\u001b[0m\u001b[2m==2.11.7\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpydantic\u001b[0m\u001b[2m==2.11.9\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpython-jose\u001b[0m\u001b[2m==3.5.0\u001b[0m\n", + "Installing pip dependencies\n", + "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", + "\u001b[2K\u001b[2mResolved \u001b[1m207 packages\u001b[0m \u001b[2min 1.47s\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mPrepared \u001b[1m54 packages\u001b[0m \u001b[2min 6.05s\u001b[0m\u001b[0m\n", + "\u001b[2mUninstalled \u001b[1m4 packages\u001b[0m \u001b[2min 20ms\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mInstalled \u001b[1m55 packages\u001b[0m \u001b[2min 197ms\u001b[0m\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1masyncstdlib-fw\u001b[0m\u001b[2m==3.13.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mautoevals\u001b[0m\u001b[2m==0.0.130\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mbackoff\u001b[0m\u001b[2m==2.2.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mbetterproto-fw\u001b[0m\u001b[2m==2.0.3\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mboltons\u001b[0m\u001b[2m==21.0.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mboto3\u001b[0m\u001b[2m==1.40.35\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mbotocore\u001b[0m\u001b[2m==1.40.35\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mbracex\u001b[0m\u001b[2m==2.6\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mcerebras-cloud-sdk\u001b[0m\u001b[2m==1.50.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mchevron\u001b[0m\u001b[2m==0.14.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mchromadb-client\u001b[0m\u001b[2m==1.1.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mclick-option-group\u001b[0m\u001b[2m==0.5.7\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mcodeshield\u001b[0m\u001b[2m==1.0.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mcolorama\u001b[0m\u001b[2m==0.4.6\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mdnspython\u001b[0m\u001b[2m==2.8.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1memoji\u001b[0m\u001b[2m==2.14.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1meval-type-backport\u001b[0m\u001b[2m==0.2.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mexceptiongroup\u001b[0m\u001b[2m==1.2.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mface\u001b[0m\u001b[2m==24.0.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mfaiss-cpu\u001b[0m\u001b[2m==1.12.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mfastuuid\u001b[0m\u001b[2m==0.12.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mfireworks-ai\u001b[0m\u001b[2m==0.17.16\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mglom\u001b[0m\u001b[2m==22.1.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mhttpx-ws\u001b[0m\u001b[2m==0.7.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mjmespath\u001b[0m\u001b[2m==1.0.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mlangdetect\u001b[0m\u001b[2m==1.0.9\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mlitellm\u001b[0m\u001b[2m==1.77.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mmmh3\u001b[0m\u001b[2m==5.2.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mollama\u001b[0m\u001b[2m==0.5.4\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-grpc\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpolyleven\u001b[0m\u001b[2m==0.9.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mposthog\u001b[0m\u001b[2m==5.4.0\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==5.29.5\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==5.29.4\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpsycopg2-binary\u001b[0m\u001b[2m==2.9.10\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpybase64\u001b[0m\u001b[2m==1.4.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpymilvus\u001b[0m\u001b[2m==2.6.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpymongo\u001b[0m\u001b[2m==4.15.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpypdf\u001b[0m\u001b[2m==6.0.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mpythainlp\u001b[0m\u001b[2m==5.1.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mredis\u001b[0m\u001b[2m==6.4.0\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mrich\u001b[0m\u001b[2m==13.9.4\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mrich\u001b[0m\u001b[2m==14.1.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mruamel-yaml\u001b[0m\u001b[2m==0.17.40\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mruamel-yaml-clib\u001b[0m\u001b[2m==0.2.12\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mruff\u001b[0m\u001b[2m==0.12.12\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mruff\u001b[0m\u001b[2m==0.9.10\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1ms3transfer\u001b[0m\u001b[2m==0.14.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1msemgrep\u001b[0m\u001b[2m==1.79.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1msqlite-vec\u001b[0m\u001b[2m==0.1.6\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtogether\u001b[0m\u001b[2m==1.5.25\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtomli\u001b[0m\u001b[2m==2.0.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtree-sitter\u001b[0m\u001b[2m==0.25.1\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtrl\u001b[0m\u001b[2m==0.23.0\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mtyper\u001b[0m\u001b[2m==0.17.4\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtyper\u001b[0m\u001b[2m==0.15.3\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mujson\u001b[0m\u001b[2m==5.11.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mwcmatch\u001b[0m\u001b[2m==8.5.2\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mwsproto\u001b[0m\u001b[2m==1.2.0\u001b[0m\n", + "Installing special provider module: torch torchvision torchao>=0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu\n", + "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", + "\u001b[2K\u001b[2mResolved \u001b[1m29 packages\u001b[0m \u001b[2min 538ms\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mPrepared \u001b[1m1 package\u001b[0m \u001b[2min 100ms\u001b[0m\u001b[0m\n", + "\u001b[2mUninstalled \u001b[1m1 package\u001b[0m \u001b[2min 67ms\u001b[0m\u001b[0m\n", + "\u001b[2K\u001b[2mInstalled \u001b[1m1 package\u001b[0m \u001b[2min 10ms\u001b[0m\u001b[0m\n", + " \u001b[31m-\u001b[39m \u001b[1mtorchao\u001b[0m\u001b[2m==0.10.0\u001b[0m\n", + " \u001b[32m+\u001b[39m \u001b[1mtorchao\u001b[0m\u001b[2m==0.13.0+cpu\u001b[0m\n", + "Installing special provider module: sentence-transformers --no-deps\n", + "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", + "\u001b[2mAudited \u001b[1m1 package\u001b[0m \u001b[2min 88ms\u001b[0m\u001b[0m\n", + "\u001b[32mBuild Successful!\u001b[0m\n", + "\u001b[34mYou can find the newly-built distribution here: /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml\u001b[0m\n", + "\u001b[32mYou can run the new Llama Stack distro via: \u001b[34mllama stack run /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml --image-type venv\u001b[0m\u001b[0m\n", + "nohup: redirecting stderr to stdout\n", + "Waiting for server to start.................\n", + "Server is ready!\n", + "llama stack server hosted on localhost:8321\n" + ] + } + ], + "source": [ + "# Install UV if not available\n", + "!curl -LsSf https://astral.sh/uv/install.sh | sh\n", + "# Complete setup for Google Colab with custom directories\n", + "import os\n", + "!rm -rf /content/llama-project\n", + "# Set environment variables\n", + "os.environ['UV_CACHE_DIR'] = '/content/uv-cache'\n", + "os.environ['UV_PROJECT_DIR'] = '/content/llama-project'\n", + "os.environ['OLLAMA_URL'] = 'http://localhost:11434'\n", + "# Create directories\n", + "!mkdir -p /content/uv-cache\n", + "!mkdir -p /content/llama-project\n", + "!cd /content/llama-project && uv venv venv\n", + "!source /content/llama-project/venv/bin/activate && uv run --with llama-stack==0.2.22 llama stack build --distro starter-gpu --image-type venv\n", + "!nohup python -m llama_stack.core.server.server /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml --port 8321 > llama_stack_server.log &\n", + "def wait_for_server_to_start():\n", + " import requests\n", + " from requests.exceptions import ConnectionError\n", + " import time\n", + "\n", + " url = \"http://0.0.0.0:8321/v1/health\"\n", + " max_retries = 30\n", + " retry_interval = 1\n", + "\n", + " print(\"Waiting for server to start\", end=\"\")\n", + " for _ in range(max_retries):\n", + " try:\n", + " response = requests.get(url)\n", + " if response.status_code == 200:\n", + " print(\"\\nServer is ready!\")\n", + " return True\n", + " except ConnectionError:\n", + " print(\".\", end=\"\", flush=True)\n", + " time.sleep(retry_interval)\n", + "\n", + " print(\"\\nServer failed to start after\", max_retries * retry_interval, \"seconds\")\n", + " return False\n", + "assert wait_for_server_to_start()\n", + "print(\"llama stack server hosted on localhost:8321\")" + ] + }, + { + "cell_type": "markdown", + "id": "90eb721b", + "metadata": { + "id": "90eb721b" + }, + "source": [ + "### 1.4. Install and Configure the Client\n", + "\n", + "Now that we have our Llama Stack server running locally, we need to install the client package to interact with it. The `llama-stack-client` provides a simple Python interface to access all the functionality of Llama Stack, including:\n", + "\n", + "- Chat Completions ( text and multimodal )\n", + "- Safety Shields\n", + "- Agent capabilities with tools like web search, RAG with Telemetry\n", + "- Evaluation and scoring frameworks\n", + "\n", + "The client handles all the API communication with our local server, making it easy to integrate Llama Stack's capabilities into your applications.\n", + "\n", + "In the next cells, we'll:\n", + "\n", + "1. Install the client package\n", + "2. Set up API keys for external services (Together AI and Tavily Search)\n", + "3. Initialize the client to connect to our local server\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "E1UFuJC570Tk", + "metadata": { + "collapsed": true, + "id": "E1UFuJC570Tk" + }, + "outputs": [], + "source": [ + "import os\n", + "import getpass\n", + "try:\n", + " from google.colab import userdata\n", + " os.environ['GROQ_API_KEY'] = userdata.get('GROQ_API_KEY')\n", + " os.environ['TAVILY_SEARCH_API_KEY'] = userdata.get('TAVILY_SEARCH_API_KEY')\n", + "except ImportError:\n", + " print(\"Not in Google Colab environment\")\n", + "\n", + "for key in ['GROQ_API_KEY', 'TAVILY_SEARCH_API_KEY']:\n", + " try:\n", + " api_key = os.environ[key]\n", + " if not api_key:\n", + " raise ValueError(f\"{key} environment variable is empty\")\n", + " except KeyError:\n", + " api_key = getpass.getpass(f\"{key} environment variable is not set. Please enter your API key: \")\n", + " os.environ[key] = api_key\n", + "\n", + "from llama_stack_client import LlamaStackClient\n", + "\n", + "client = LlamaStackClient(\n", + " base_url=\"http://0.0.0.0:8321\",\n", + " provider_data = {\n", + " \"tavily_search_api_key\": os.environ['TAVILY_SEARCH_API_KEY'],\n", + " \"groq_api_key\": os.environ['GROQ_API_KEY']\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "635a7a6f", + "metadata": { + "id": "635a7a6f" + }, + "source": [ + "Now that we have completed the setup and configuration, let's start exploring the capabilities of Llama Stack! We'll begin by checking what models and safety shields are available, and then move on to running some example chat completions.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "7dacaa2d-94e9-42e9-82a0-73522dfc7010", + "metadata": { + "id": "7dacaa2d-94e9-42e9-82a0-73522dfc7010" + }, + "source": [ + "### 1.5. Check available models and shields\n", + "\n", + "All the models available in the provider are now programmatically accessible via the client." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ruO9jQna_t_S", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "id": "ruO9jQna_t_S", + "outputId": "282ab617-f60c-49bd-a272-30df17c3ad73" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Available models:\n", + "- fireworks/accounts/fireworks/models/llama-v3p1-8b-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p1-70b-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p1-405b-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p2-3b-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p2-11b-vision-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p2-90b-vision-instruct\n", + "- fireworks/accounts/fireworks/models/llama-v3p3-70b-instruct\n", + "- fireworks/accounts/fireworks/models/llama4-scout-instruct-basic\n", + "- fireworks/accounts/fireworks/models/llama4-maverick-instruct-basic\n", + "- fireworks/nomic-ai/nomic-embed-text-v1.5\n", + "- fireworks/accounts/fireworks/models/llama-guard-3-8b\n", + "- fireworks/accounts/fireworks/models/llama-guard-3-11b-vision\n", + "- bedrock/meta.llama3-1-8b-instruct-v1:0\n", + "- bedrock/meta.llama3-1-70b-instruct-v1:0\n", + "- bedrock/meta.llama3-1-405b-instruct-v1:0\n", + "- openai/gpt-3.5-turbo-0125\n", + "- openai/gpt-3.5-turbo\n", + "- openai/gpt-3.5-turbo-instruct\n", + "- openai/gpt-4\n", + "- openai/gpt-4-turbo\n", + "- openai/gpt-4o\n", + "- openai/gpt-4o-2024-08-06\n", + "- openai/gpt-4o-mini\n", + "- openai/gpt-4o-audio-preview\n", + "- openai/chatgpt-4o-latest\n", + "- openai/o1\n", + "- openai/o1-mini\n", + "- openai/o3-mini\n", + "- openai/o4-mini\n", + "- openai/text-embedding-3-small\n", + "- openai/text-embedding-3-large\n", + "- anthropic/claude-3-5-sonnet-latest\n", + "- anthropic/claude-3-7-sonnet-latest\n", + "- anthropic/claude-3-5-haiku-latest\n", + "- anthropic/voyage-3\n", + "- anthropic/voyage-3-lite\n", + "- anthropic/voyage-code-3\n", + "- gemini/gemini-1.5-flash\n", + "- gemini/gemini-1.5-pro\n", + "- gemini/gemini-2.0-flash\n", + "- gemini/gemini-2.0-flash-lite\n", + "- gemini/gemini-2.5-flash\n", + "- gemini/gemini-2.5-flash-lite\n", + "- gemini/gemini-2.5-pro\n", + "- gemini/text-embedding-004\n", + "- groq/llama3-8b-8192\n", + "- groq/llama-3.1-8b-instant\n", + "- groq/llama3-70b-8192\n", + "- groq/llama-3.3-70b-versatile\n", + "- groq/llama-3.2-3b-preview\n", + "- groq/meta-llama/llama-4-scout-17b-16e-instruct\n", + "- groq/meta-llama/llama-4-maverick-17b-128e-instruct\n", + "- sambanova/Meta-Llama-3.1-8B-Instruct\n", + "- sambanova/Meta-Llama-3.3-70B-Instruct\n", + "- sambanova/Llama-4-Maverick-17B-128E-Instruct\n", + "- sentence-transformers/all-MiniLM-L6-v2\n" + ] + } + ], + "source": [ + "from rich.pretty import pprint\n", + "\n", + "print(\"Available models:\")\n", + "for m in client.models.list():\n", + " print(f\"- {m.identifier}\")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "86366383", + "metadata": { + "id": "86366383" + }, + "source": [ + "### 1.6. Run a simple chat completion with one of the models\n", + "\n", + "We will test the client by doing a simple chat completion." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "77c29dba", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "77c29dba", + "outputId": "cc6471dd-40af-4882-ce56-28f51fa46a84" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Here's a two-sentence poem about a llama:\n", + "\n", + "With gentle eyes and soft, fuzzy hair, the llama roams with gentle, peaceful air. In the Andes, it climbs with steady pace, a serene and majestic animal in its sacred space.\n" + ] + } + ], + "source": [ + "#model_id = \"ollama/llama3.2:3b\"\n", + "model_id = \"groq/meta-llama/llama-4-maverick-17b-128e-instruct\"\n", + "response = client.chat.completions.create(\n", + " model=model_id,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"You are a friendly assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Write a two-sentence poem about llama.\"},\n", + " ],\n", + " stream=False\n", + ")\n", + "\n", + "print(response.choices[0].message.content)\n" + ] + }, + { + "cell_type": "markdown", + "id": "8cf0d555", + "metadata": { + "id": "8cf0d555" + }, + "source": [ + "### 1.7. Have a conversation\n", + "\n", + "Maintaining a conversation history allows the model to retain context from previous interactions. Use a list to accumulate messages, enabling continuity throughout the chat session." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3fdf9df6", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3fdf9df6", + "outputId": "31396b37-da60-4050-a593-bcfe01144385" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "> Response: You're likely thinking of Winston Churchill!\n", + "\n", + "Winston Churchill was indeed the most famous Prime Minister of the United Kingdom during World War II. He served as the Prime Minister from May 10, 1940, to July 26, 1945, and again from 1951 to 1955. Churchill played a crucial role in leading Britain through the war, rallying the British people with his inspiring speeches, and forming alliances with other countries to defeat the Axis powers.\n", + "\n", + "Churchill's leadership, oratory skills, and unwavering resolve made him a iconic figure of the war era, and he remains one of the most revered and celebrated leaders in British history.\n", + "\n", + "Is there anything else you'd like to know about Churchill or his role during World War II?\n", + "> Response: One of the most famous quotes attributed to Winston Churchill is:\n", + "\n", + "\"We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender.\"\n", + "\n", + "This quote is from his speech to the House of Commons on June 4, 1940, during the early stages of World War II, when Nazi Germany was threatening to invade Britain. The speech, known as the \"We Shall Fight on the Beaches\" speech, was a rallying cry to the British people, and it's considered one of Churchill's most iconic and inspiring orations.\n", + "\n", + "However, another very famous quote from Churchill is:\n", + "\n", + "\"Blood, toil, tears, and sweat.\"\n", + "\n", + "This was the opening phrase of his first speech as Prime Minister to the House of Commons on May 13, 1940, where he said: \"I say to the House as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears, and sweat. We have before us an ordeal of the most grievous kind.\"\n", + "\n", + "Both of these quotes are iconic and showcase Churchill's powerful oratory skills.\n", + "\n", + "Would you like to know more about Churchill's speeches or his leadership during World War II?\n" + ] + } + ], + "source": [ + "from termcolor import cprint\n", + "\n", + "questions = [\n", + " \"Who was the most famous PM of England during world war 2 ?\",\n", + " \"What was his most famous quote ?\"\n", + "]\n", + "\n", + "\n", + "def chat_loop():\n", + " conversation_history = []\n", + " while len(questions) > 0:\n", + " user_input = questions.pop(0)\n", + " if user_input.lower() in [\"exit\", \"quit\", \"bye\"]:\n", + " cprint(\"Ending conversation. Goodbye!\", \"yellow\")\n", + " break\n", + "\n", + " user_message = {\"role\": \"user\", \"content\": user_input}\n", + " conversation_history.append(user_message)\n", + "\n", + " response = client.chat.completions.create(\n", + " messages=conversation_history,\n", + " model=model_id,\n", + " )\n", + " cprint(f\"> Response: {response.choices[0].message.content}\", \"cyan\")\n", + "\n", + " assistant_message = {\n", + " \"role\": \"assistant\", # was user\n", + " \"content\": response.choices[0].message.content,\n", + " \"finish_reason\": response.choices[0].finish_reason,\n", + " }\n", + " conversation_history.append(assistant_message)\n", + "\n", + "\n", + "chat_loop()\n" + ] + }, + { + "cell_type": "markdown", + "id": "72e5111e", + "metadata": { + "id": "72e5111e" + }, + "source": [ + "Here is an example for you to try a conversation yourself.\n", + "Remember to type `quit` or `exit` after you are done chatting." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9496f75c", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9496f75c", + "outputId": "9c51562e-05b0-40f3-b4c0-eb4c991b1e67" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User> who are you?\n", + "> Response: I'm an AI assistant designed by Meta. I'm here to answer your questions, share interesting ideas and maybe even surprise you with a fresh perspective. What's on your mind?\n", + "User> how can you help me?\n", + "> Response: I can help you with a wide range of things, such as answering questions, providing information, generating text or images, summarizing content, or just having a chat. I can also help with creative tasks like brainstorming or coming up with ideas. What do you need help with today?\n", + "User> bye\n", + "Ending conversation. Goodbye!\n" + ] + } + ], + "source": [ + "# NBVAL_SKIP\n", + "from termcolor import cprint\n", + "\n", + "def chat_loop():\n", + " conversation_history = []\n", + " while True:\n", + " user_input = input(\"User> \")\n", + " if user_input.lower() in [\"exit\", \"quit\", \"bye\"]:\n", + " cprint(\"Ending conversation. Goodbye!\", \"yellow\")\n", + " break\n", + "\n", + " user_message = {\"role\": \"user\", \"content\": user_input}\n", + " conversation_history.append(user_message)\n", + "\n", + " response = client.chat.completions.create(\n", + " messages=conversation_history,\n", + " model=model_id,\n", + " )\n", + " cprint(f\"> Response: {response.choices[0].message.content}\", \"cyan\")\n", + "\n", + " assistant_message = {\n", + " \"role\": \"assistant\", # was user\n", + " \"content\": response.choices[0].message.content,\n", + " \"finish_reason\": response.choices[0].finish_reason,\n", + " }\n", + " conversation_history.append(assistant_message)\n", + "\n", + "\n", + "chat_loop()\n" + ] + }, + { + "cell_type": "markdown", + "id": "03fcf5e0", + "metadata": { + "id": "03fcf5e0" + }, + "source": [ + "### 1.9. Streaming output\n", + "\n", + "You can pass `stream=True` to stream responses from the model. You can then loop through the responses." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d119026e", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "d119026e", + "outputId": "fec033c8-8b4f-4a57-bdf8-effb2f0d6acb" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User> Write me a sonnet about llama\n", + "In Andean lands, the llama makes its home,\n", + "A creature soft, with eyes of gentle gray.\n", + "Its fur, a softness that the winds do roam,\n", + "And in its steps, a quiet, peaceful sway.\n", + "\n", + "Its ears, so long, and tufted with delight,\n", + "Perk up, as if to listen for a sound.\n", + "It grazes on the grasses, day and night,\n", + "And in its calm, a peaceful joy is found.\n", + "\n", + "The llama's gentle nature, we admire,\n", + "And in its presence, our own cares retire.\n", + "For in its tranquil eyes, a mirror lies,\n", + "Reflecting back our own, and soothing sighs.\n", + "\n", + "So let us cherish, this serene delight,\n", + "And bask in the llama's peaceful, Andean light." + ] + } + ], + "source": [ + "from llama_stack_client import InferenceEventLogger\n", + "\n", + "message = {\"role\": \"user\", \"content\": \"Write me a sonnet about llama\"}\n", + "print(f'User> {message[\"content\"]}')\n", + "\n", + "response = client.chat.completions.create(\n", + " messages=[message],\n", + " model=model_id,\n", + " stream=True, # <-----------\n", + ")\n", + "\n", + "for chunk in response:\n", + " # Each chunk contains a delta with the content\n", + " if chunk.choices[0].delta.content is not None:\n", + " print(chunk.choices[0].delta.content, end=\"\", flush=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "OmU6Dr9zBiGM", + "metadata": { + "id": "OmU6Dr9zBiGM" + }, + "source": [ + "### 2.0. Structured Decoding\n", + "\n", + "You can use `response_format` to force the model into a \"guided decode\" mode where model tokens are forced to abide by a certain grammar. Currently only JSON grammars are supported." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "axdQIRaJCYAV", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 50 + }, + "id": "axdQIRaJCYAV", + "outputId": "efc29ca4-9fa8-4c35-c0fa-c7a5faf8024b" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
'{\\n  \"name\": \"Michael Jordan\",\\n  \"year_born\": \"1963\",\\n  \"year_retired\": \"2003\"\\n}'\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\n \"name\": \"Michael Jordan\",\\n \"year_born\": \"1963\",\\n \"year_retired\": \"2003\"\\n\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Output(name='Michael Jordan', year_born='1963', year_retired='2003')\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mOutput\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[32m'Michael Jordan'\u001b[0m, \u001b[33myear_born\u001b[0m=\u001b[32m'1963'\u001b[0m, \u001b[33myear_retired\u001b[0m=\u001b[32m'2003'\u001b[0m\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from pydantic import BaseModel\n", + "\n", + "\n", + "class Output(BaseModel):\n", + " name: str\n", + " year_born: str\n", + " year_retired: str\n", + "\n", + "user_input = \"Michael Jordan was born in 1963. He played basketball for the Chicago Bulls. He retired in 2003. Extract this information into JSON for me.\"\n", + "response = client.chat.completions.create(\n", + " model=model_id,\n", + " messages = [\n", + " {\"role\": \"user\", \"content\": user_input}\n", + " ],\n", + " stream=False,\n", + " response_format={\n", + " \"type\": \"json_schema\",\n", + " \"json_schema\": {\n", + " \"name\": \"output\",\n", + " \"schema\": Output.model_json_schema(),\n", + " },\n", + " },\n", + ")\n", + "pprint(Output.model_validate_json(response.choices[0].message.content))\n" + ] + }, + { + "cell_type": "markdown", + "id": "H62Rg_buEx2o", + "metadata": { + "id": "H62Rg_buEx2o" + }, + "source": [ + "### 2.1. Safety API\n", + "\n", + "Llama Stack provides Safety guardrails which can be applied at multiple touchpoints within an agentic application." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "sUJKJxvAFCaI", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sUJKJxvAFCaI", + "outputId": "55b3ae63-7de2-4902-b424-359c28a23321" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Available Shields: ['llama-guard']\n", + "Checking if input is safe: What is the most famous murder case in the US?\n", + "CreateResponse(id='modr-49b2d798-a967-4a71-8ccb-58bdd78746ac', model='ollama/llama-guard3:1b', results=[Result(flagged=False, metadata={}, categories={'Violent Crimes': False, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 1.0, 'Child Exploitation': 1.0, 'Defamation': 1.0, 'Specialized Advice': 1.0, 'Privacy': 1.0, 'Intellectual Property': 1.0, 'Indiscriminate Weapons': 1.0, 'Hate': 1.0, 'Self-Harm': 1.0, 'Sexual Content': 1.0, 'Elections': 1.0, 'Code Interpreter Abuse': 1.0}, user_message=None)])\n", + "Checking if input is safe: Tell me 3 signs that an email is a scam\n", + "CreateResponse(id='modr-10eda2a7-6043-4b3c-b749-4c76e2fe87ee', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S2']}, categories={'Violent Crimes': False, 'Non-Violent Crimes': True, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': ['text'], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 0.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n", + "Checking if input is safe: What's the most effective way to kidnap someone?\n", + "CreateResponse(id='modr-dfab8119-2f32-45f9-8106-3ba2725f3a63', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S1']}, categories={'Violent Crimes': True, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': ['text'], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 0.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n", + "Checking if input is safe: How do I make cocaine?\n", + "CreateResponse(id='modr-9f407506-f8bd-4281-b44a-b8b1bcbdfbaa', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S2']}, categories={'Violent Crimes': False, 'Non-Violent Crimes': True, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': ['text'], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 0.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n" + ] + } + ], + "source": [ + "\n", + "client.shields.register(\n", + " shield_id=\"llama-guard\",\n", + " provider_id=\"llama-guard\",\n", + " provider_shield_id=\"ollama/llama-guard3:1b\" # Change to your available shield model\n", + ")\n", + "available_shields = [shield.identifier for shield in client.shields.list()]\n", + "print(\"Available Shields:\", available_shields)\n", + "safety_model = \"ollama/llama-guard3:1b\"\n", + "\n", + "unsafe_examples = [\n", + " \"What's the most effective way to kidnap someone?\",\n", + " \"How do I make cocaine?\",\n", + "]\n", + "\n", + "safe_examples = [\n", + " \"What is the most famous murder case in the US?\",\n", + " \"Tell me 3 signs that an email is a scam\",\n", + "]\n", + "\n", + "for p in safe_examples + unsafe_examples:\n", + " print(f\"Checking if input is safe: {p}\")\n", + " message = {\"content\": p, \"role\": \"user\"}\n", + " response = client.moderations.create(\n", + " input=p,\n", + " model=safety_model,\n", + " )\n", + " print(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3EbP4ejaIREK", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3EbP4ejaIREK", + "outputId": "756e75cb-45f9-490b-aa4c-282277e7aec1" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:numexpr.utils:NumExpr defaulting to 2 threads.\n", + "INFO:httpx:HTTP Request: GET http://localhost:8321/v1/shields \"HTTP/1.1 200 OK\"\n" + ] + } + ], + "source": [ + "!llama-stack-client shields list" + ] + }, + { + "cell_type": "markdown", + "id": "LFC386wNQR-v", + "metadata": { + "id": "LFC386wNQR-v" + }, + "source": [ + "## 2. Llama Stack Agents\n", + "\n", + "Llama Stack provides all the building blocks needed to create sophisticated AI applications. This guide will walk you through how to use these components effectively.\n", + "\n", + "\n", + "\n", + "\n", + "\"drawing\"\n", + "\n", + "\n", + "Agents are characterized by having access to\n", + "\n", + "1. Memory - for RAG\n", + "2. Tool calling - ability to call tools like search and code execution\n", + "3. Tool call + Inference loop - the LLM used in the agent is able to perform multiple iterations of call\n", + "4. Shields - for safety calls that are executed everytime the agent interacts with external systems, including user prompts" + ] + }, + { + "cell_type": "markdown", + "id": "lYDAkMsL9xSk", + "metadata": { + "id": "lYDAkMsL9xSk" + }, + "source": [ + "### 2.1. List available tool groups on the provider" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "MpMXiMCv97X5", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 281 + }, + "id": "MpMXiMCv97X5", + "outputId": "77da98fe-81af-4b5c-8abb-e973ce080b13" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
ToolGroup(\n",
+              "identifier='builtin::rag',\n",
+              "provider_id='rag-runtime',\n",
+              "type='tool_group',\n",
+              "args=None,\n",
+              "mcp_endpoint=None,\n",
+              "provider_resource_id='builtin::rag'\n",
+              ")\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mToolGroup\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[33midentifier\u001b[0m=\u001b[32m'builtin::rag'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mprovider_id\u001b[0m=\u001b[32m'rag-runtime'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'tool_group'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33margs\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mmcp_endpoint\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mprovider_resource_id\u001b[0m=\u001b[32m'builtin::rag'\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
ToolGroup(\n",
+              "identifier='builtin::websearch',\n",
+              "provider_id='tavily-search',\n",
+              "type='tool_group',\n",
+              "args=None,\n",
+              "mcp_endpoint=None,\n",
+              "provider_resource_id='builtin::websearch'\n",
+              ")\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mToolGroup\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[33midentifier\u001b[0m=\u001b[32m'builtin::websearch'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mprovider_id\u001b[0m=\u001b[32m'tavily-search'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'tool_group'\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33margs\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mmcp_endpoint\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mprovider_resource_id\u001b[0m=\u001b[32m'builtin::websearch'\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from rich.pretty import pprint\n", + "for toolgroup in client.toolgroups.list():\n", + " pprint(toolgroup)" + ] + }, + { + "cell_type": "markdown", + "id": "i2o0gDhrv2og", + "metadata": { + "id": "i2o0gDhrv2og" + }, + "source": [ + "### 2.2. Search agent\n", + "\n", + "In this example, we will show how the model can invoke search to be able to answer questions. We will first have to set the API key of the search tool.\n", + "\n", + "Let's make sure we set up a web search tool for the model to call in its agentic loop. In this tutorial, we will use [Tavily](https://tavily.com) as our search provider. Note that the \"type\" of the tool is still \"brave_search\" since Llama models have been trained with brave search as a builtin tool. Tavily is just being used in lieu of Brave search.\n", + "\n", + "See steps [here](https://docs.google.com/document/d/1Vg998IjRW_uujAPnHdQ9jQWvtmkZFt74FldW2MblxPY/edit?tab=t.0#heading=h.xx02wojfl2f9)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "WS8Gu5b0APHs", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WS8Gu5b0APHs", + "outputId": "a6e76aef-49f4-42aa-9823-4b4b07a583a1" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Web search results: The teams that played in the 2024 NBA Western Conference Finals were the Dallas Mavericks and the Minnesota Timberwolves. The Mavericks won the series 4-1.\n" + ] + } + ], + "source": [ + "from llama_stack_client import Agent, AgentEventLogger\n", + "from termcolor import cprint\n", + "\n", + "web_search_response = client.responses.create(\n", + " model=model_id,\n", + " input=\"Which teams played in the NBA western conference finals of 2024\",\n", + " tools=[\n", + " {\n", + " \"type\": \"web_search\",\n", + " },\n", + " ], # Web search for current information\n", + ")\n", + "print(f\"Web search results: {web_search_response.output[-1].content[0].text}\")" + ] + }, + { + "cell_type": "markdown", + "id": "fN5jaAaax2Aq", + "metadata": { + "id": "fN5jaAaax2Aq" + }, + "source": [ + "### 2.3. RAG Agent\n", + "\n", + "In this example, we will index some documentation and ask questions about that documentation.\n", + "\n", + "The tool we use is the memory tool. Given a list of memory banks,the tools can help the agent query and retireve relevent chunks. In this example, we first create a memory bank and add some documents to it. Then configure the agent to use the memory tool. The difference here from the websearch example is that we pass along the memory bank as an argument to the tool. A toolgroup can be provided to the agent as just a plain name, or as a dict with both name and arguments needed for the toolgroup. These args get injected by the agent for every tool call that happens for the corresponding toolgroup." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "GvLWltzZCNkg", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GvLWltzZCNkg", + "outputId": "6a2a324d-5471-473e-ba3f-e8c977804917" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deleted all exisitng vector store\n", + "File(id='file-354f3e6b09974322b5ad0007d5ece533', bytes=41, created_at=1758228715, expires_at=1789764715, filename='shipping_policy.txt', object='file', purpose='assistants')\n", + "File(id='file-94933acc81c043c9984d912736235294', bytes=48, created_at=1758228715, expires_at=1789764715, filename='returns_policy.txt', object='file', purpose='assistants')\n", + "File(id='file-540a598305114c1b90f68142cae56dc8', bytes=45, created_at=1758228715, expires_at=1789764715, filename='support.txt', object='file', purpose='assistants')\n", + "Listing available vector stores:\n", + "- acme_docs (ID: vs_4fba2b6a-0123-40c2-9dcf-61b6c50ec8c9)\n", + " - Files in vector store 'acme_docs' (ID: vs_4fba2b6a-0123-40c2-9dcf-61b6c50ec8c9):\n", + "- file-354f3e6b09974322b5ad0007d5ece533\n", + "- file-94933acc81c043c9984d912736235294\n", + "- file-540a598305114c1b90f68142cae56dc8\n", + "Searching Vector_store with query\n", + "ResponseObject(id='resp-543f47fd-5bda-459d-8d61-39383a34bcf0', created_at=1758228715, model='groq/llama-3.1-8b-instant', object='response', output=[OutputOpenAIResponseOutputMessageFileSearchToolCall(id='065s9aba3', queries=['shipping duration average'], status='completed', type='file_search_call', results=[OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.9773781552473876, text='Acme ships globally in 3-5 business days.'), OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.7123434707260622, text='Returns are accepted within 30 days of purchase.'), OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.5253213399081832, text='Support is available 24/7 via chat and email.')]), OutputOpenAIResponseOutputMessageFileSearchToolCall(id='k85fx1wzn', queries=['shipping duration average'], status='completed', type='file_search_call', results=[OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.9773781552473876, text='Acme ships globally in 3-5 business days.'), OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.7123434707260622, text='Returns are accepted within 30 days of purchase.'), OutputOpenAIResponseOutputMessageFileSearchToolCallResult(attributes={}, file_id='', filename='', score=0.5253213399081832, text='Support is available 24/7 via chat and email.')]), OutputOpenAIResponseMessage(content=[OutputOpenAIResponseMessageContentUnionMember2(annotations=[], text='Based on the knowledge search results, the average shipping duration is 3-5 business days.', type='output_text')], role='assistant', type='message', id='msg_89cc616d-1653-45aa-b704-07ba93dcd2fb', status='completed')], parallel_tool_calls=False, status='completed', text=Text(format=TextFormat(type='text', description=None, name=None, schema_=None, strict=None)), error=None, previous_response_id=None, temperature=None, top_p=None, truncation=None, user=None)\n", + "File search results: Based on the knowledge search results, the average shipping duration is 3-5 business days.\n" + ] + } + ], + "source": [ + "from io import BytesIO\n", + "\n", + "\n", + "#delete any existing vector store\n", + "vector_stores_to_delete = [v.id for v in client.vector_stores.list()]\n", + "for del_vs_id in vector_stores_to_delete:\n", + " client.vector_stores.delete(vector_store_id=del_vs_id)\n", + "print('Deleted all exisitng vector store')\n", + "\n", + "docs = [\n", + " (\"Acme ships globally in 3-5 business days.\", {\"title\": \"Shipping Policy\"}),\n", + " (\"Returns are accepted within 30 days of purchase.\", {\"title\": \"Returns Policy\"}),\n", + " (\"Support is available 24/7 via chat and email.\", {\"title\": \"Support\"}),\n", + "]\n", + "query = \"How long does shipping take?\"\n", + "file_ids = []\n", + "for content, metadata in docs:\n", + " with BytesIO(content.encode()) as file_buffer:\n", + " file_buffer.name = f\"{metadata['title'].replace(' ', '_').lower()}.txt\"\n", + " create_file_response = client.files.create(file=file_buffer, purpose=\"assistants\")\n", + " print(create_file_response)\n", + " file_ids.append(create_file_response.id)\n", + "\n", + "# Create vector store with files\n", + "vector_store = client.vector_stores.create(\n", + " name=\"acme_docs\",\n", + " file_ids=file_ids,\n", + " embedding_model=\"sentence-transformers/all-MiniLM-L6-v2\",\n", + " embedding_dimension=384,\n", + " provider_id=\"faiss\"\n", + ")\n", + "print(\"Listing available vector stores:\")\n", + "vector_stores = client.vector_stores.list()\n", + "for vs in vector_stores:\n", + " print(f\"- {vs.name} (ID: {vs.id})\")\n", + " files_in_store = client.vector_stores.files.list(vector_store_id=vs.id)\n", + " if files_in_store:\n", + " print(f\" - Files in vector store '{vs.name}' (ID: {vs.id}):\")\n", + " for file in files_in_store:\n", + " print(f\"- {file.id}\")\n", + "print(\"Searching Vector_store with query\")\n", + "file_search_response = client.responses.create(\n", + " model=model_id,\n", + " input=query,\n", + " tools=[\n", + " { # Using Responses API built-in tools\n", + " \"type\": \"file_search\",\n", + " \"vector_store_ids\": [vector_store.id], # Vector store containing uploaded files\n", + " },\n", + " ],\n", + ")\n", + "print(file_search_response)\n", + "print(f\"File search results: {file_search_response.output[-1].content[0].text}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "jSfjNN9fMxtm", + "metadata": { + "id": "jSfjNN9fMxtm" + }, + "source": [ + "### 2.4. Using Model Context Protocol\n", + "\n", + "In this example, we will show how tools hosted in an MCP server can be configured to be used by the model.\n", + "\n", + "In the following steps, we will use the [filesystem tool](https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem) to explore the files and folders available in the /content directory\n", + "\n", + "Use xterm module to start a shell to run the MCP server using the `supergateway` tool which can start an MCP tool and serve it over HTTP." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "d96c273a" + }, + "source": [ + "### 2.4. Using Model Context Protocol\n", + "\n", + "\n", + "This section demonstrates how to use the Model Context Protocol (MCP) with Llama Stack to interact with external tools hosted on an MCP server.\n", + "\n", + "\n", + "- This example demonstrates how to use the Llama Stack client to interact with a remote MCP tool.\n", + "- In this specific example, it connects to a remote Cloudflare documentation MCP server (`https://docs.mcp.cloudflare.com/sse`).\n", + "- The `client.responses.create` method is used with the `mcp` tool type, specifying the server details and the user input (\"what is cloudflare\").\n", + "\n", + "\n", + "**Key Concepts:**\n", + "\n", + "- **Model Context Protocol (MCP):** A protocol that allows language models to interact with external tools and services.\n", + "- **MCP Tool:** A specific tool (like filesystem or a dice roller) that adheres to the MCP and can be interacted with by an MCP-enabled agent.\n", + "- **`client.responses.create`:** The Llama Stack client method used to create a response from a model, which can include tool calls to MCP tools.\n", + "\n", + "This setup provides a flexible way to extend the capabilities of your Llama Stack agents by integrating with various external services and tools via the Model Context Protocol." + ], + "id": "d96c273a" + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "DwdKhQb1N295", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DwdKhQb1N295", + "outputId": "2496f9cc-350a-407c-aff9-ed91b018a36c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloudflare is a cloud-based service that provides a range of features to help protect and improve the performance, security, and reliability of websites, applications, and other online services. It is one of the world's largest connectivity cloud networks, powering Internet requests for millions of websites and serving 55 million HTTP requests per second on average.\n", + "\n", + "Some of the key things Cloudflare does include:\n", + "\n", + "1. Content Delivery Network (CDN): caching website content across a network of servers worldwide to reduce load times.\n", + "2. DDoS Protection: protecting against Distributed Denial-of-Service attacks by filtering out malicious traffic.\n", + "3. Firewall: acting as an additional layer of security, filtering out hacking attempts and malicious traffic.\n", + "4. SSL Encryption: providing free SSL encryption to secure sensitive information.\n", + "5. Bot Protection: identifying and blocking bots trying to exploit vulnerabilities or scrape content.\n", + "6. Analytics: providing insights into website traffic to help understand audience and make informed decisions.\n", + "7. Cybersecurity: offering advanced security features, such as intrusion protection, DNS filtering, and Web Application Firewall (WAF) protection.\n", + "\n", + "Overall, Cloudflare helps protect against cyber threats, improves website performance, and enhances security for online businesses, bloggers, and individuals who need to establish a strong online presence.\n" + ] + } + ], + "source": [ + "# NBVAL_SKIP\n", + "resp = client.responses.create(\n", + " model=model_id,\n", + " tools=[\n", + " {\n", + " \"type\": \"mcp\",\n", + " \"server_label\": \"cloudflare_docs\",\n", + " \"server_description\": \"A MCP server for cloudflare documentation.\",\n", + " \"server_url\": \"https://docs.mcp.cloudflare.com/sse\",\n", + " \"require_approval\": \"never\",\n", + " },\n", + " ],\n", + " input=\"what is cloudflare\",\n", + ")\n", + "\n", + "print(resp.output_text)" + ] + }, + { + "cell_type": "markdown", + "id": "FJ85DUhgBZd7", + "metadata": { + "id": "FJ85DUhgBZd7" + }, + "source": [ + "## 3. Llama Stack Agent Evaluations\n" + ] + }, + { + "cell_type": "markdown", + "id": "ydeBDpDT5VHd", + "metadata": { + "id": "ydeBDpDT5VHd" + }, + "source": [ + "#### 3.1. Online Evaluation Dataset Collection\n", + "\n", + "- Llama Stack allows you to query each steps of the agents execution in your application.\n", + "- In this example, we will show how to\n", + " 1. build an Agent with Llama Stack\n", + " 2. Query the agent's session, turns, and steps\n", + " 3. Evaluate the results" + ] + }, + { + "cell_type": "markdown", + "id": "_t_tcWq0JcJ4", + "metadata": { + "id": "_t_tcWq0JcJ4" + }, + "source": [ + "##### 3.1.1. Building a Search Agent\n", + "\n", + "First, let's build an agent that have access to a search tool with Llama Stack, and use it to run some user queries." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4iCO59kP20Zs", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4iCO59kP20Zs", + "outputId": "72283e75-ef64-4aa2-859a-0257c76b6e27" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inference> brave_search.call(query=\"NBA Western Conference Finals 2024 teams\")\n", + "tool_execution> Tool:brave_search Args:{'query': 'NBA Western Conference Finals 2024 teams'}\n", + "tool_execution> Tool:brave_search Response:{\"query\": \"NBA Western Conference Finals 2024 teams\", \"top_k\": [{\"url\": \"https://www.basketball-reference.com/playoffs/NBA_2024.html\", \"title\": \"2024 NBA Playoffs Summary\", \"content\": \"Western Conference Finals, Dallas Mavericks over Minnesota Timberwolves (4-1), Series Stats \\u00b7 Game 1, Wed, May 22, Dallas Mavericks, 108, @ Minnesota\", \"score\": 0.8849276, \"raw_content\": null}, {\"url\": \"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\", \"title\": \"2024 NBA Western Conference Finals - Mavericks vs. ...\", \"content\": \"# 2024 NBA Western Conference Finals Mavericks vs. * 2024 NBA Playoffs + Dallas Mavericks vs. + Dallas Mavericks vs. + Minnesota Timberwolves vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Minnesota Timberwolves vs. + Dallas Mavericks vs. | **Western Conference Finals** | Dallas Mavericks over Minnesota Timberwolves \\u00a0(4-1) | Series Stats | | 7 | Derrick Jones Jr. | 7 | Derrick Jones Jr. Minnesota Timberwolves Advanced Stats Table 2024 NBA Playoffs * Minnesota Timberwolves vs. Game Finder, Game Finder, Player Season Finder, Player Game Finder, Team Game Finder All-NBA, 2025 NBA Playoffs, 2024 NBA Playoffs, 2023 NBA Playoffs, 2022 NBA Playoffs, 2021 NBA Playoffs, 2020 NBA Playoffs, 2019 NBA Playoffs,\", \"score\": 0.86052185, \"raw_content\": null}, {\"url\": \"https://en.wikipedia.org/wiki/2024_NBA_Finals\", \"title\": \"2024 NBA Finals\", \"content\": \"In the best-of-seven playoffs series, the Eastern Conference \\\"Eastern Conference (NBA)\\\") champion Boston Celtics defeated the Western Conference \\\"Western Conference (NBA)\\\") champion Dallas Mavericks four games to one, winning their first championship since 2008 and 18th overall, giving the Celtics the most NBA championships of any franchise. The next game, the Mavericks responded with one of the largest blowout victories in NBA Finals history, but upon their return to Boston the Celtics made easy work of Dallas, winning Game 5 and claiming the championship. After losing the 2022 NBA Finals, the Boston Celtics were defeated in the 2023 Eastern Conference Finals in seven games after mounting a failed 3\\u20130 comeback against the Miami Heat.\", \"score\": 0.74363416, \"raw_content\": null}, {\"url\": \"https://en.wikipedia.org/wiki/2024_NBA_playoffs\", \"title\": \"2024 NBA playoffs\", \"content\": \"Western Conference semifinals \\u00b7 (1) Oklahoma City Thunder vs. (5) Dallas Mavericks \\u00b7 (2) Denver Nuggets vs. (3) Minnesota Timberwolves.\", \"score\": 0.72207695, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/watch?v=WxcNEB2wP6M\", \"title\": \"The WILDEST Moments of the 2024 NBA Western ...\", \"content\": \"Check out the WILDEST moments from the Dallas Mavericks & Minnesota Timberwolves 2024 NBA Playoff Matchup!\", \"score\": 0.6721816, \"raw_content\": null}]}\n", + "inference> The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves. The Dallas Mavericks won the series 4-1.\n", + "inference> brave_search.call(query=\"South Park Bill Cosby episode season\")\n", + "tool_execution> Tool:brave_search Args:{'query': 'South Park Bill Cosby episode season'}\n", + "tool_execution> Tool:brave_search Response:{\"query\": \"South Park Bill Cosby episode season\", \"top_k\": [{\"url\": \"https://southpark.fandom.com/wiki/Bill_Cosby\", \"title\": \"Bill Cosby | South Park Public Library | Fandom\", \"content\": \"He first appears in the Season Five episode, \\\"Here Comes the Neighborhood\\\", as one of the wealthy African-Americans who move to South Park \\\"South Park (Location)\\\").\", \"score\": 0.84027237, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/watch?v=7iO9mmMvj2Y\", \"title\": \"BUTTERS MEETS BILL COSBY\\u203c\\ufe0f \\ud83d\\ude02 | South Park ( Season ...\", \"content\": \"BUTTERS MEETS BILL COSBY\\u203c\\ufe0f | South Park ( Season 20 Episode 7 ) \\u00b7 Comments.\", \"score\": 0.7961819, \"raw_content\": null}, {\"url\": \"https://southpark.wiki.gg/wiki/Bill_Cosby\", \"title\": \"Bill Cosby - South Park wiki\", \"content\": \"### Characters * Other Characters * All Characters He first appeared in the Season Five episode, \\\"Here Comes the Neighborhood\\\", as one of the wealthy African-Americans who move to South Park \\\"South Park (Location)\\\"). * Characters\", \"score\": 0.76826453, \"raw_content\": null}, {\"url\": \"https://southpark.cc.com/wiki/Bill_Cosby_(actor)\", \"title\": \"Bill Cosby (actor) - South Park Wiki\", \"content\": \"Featured Episodes \\u00b7 Clubhouses (s02e12; debut) \\u00b7 Trapper Keeper (s04e13; referenced) \\u00b7 Here Comes the Neighborhood (s05e12) \\u00b7 Wing (s09e03; referenced) \\u00b7 200 (s14e05\", \"score\": 0.74697095, \"raw_content\": null}, {\"url\": \"https://southpark.fandom.com/wiki/Bill_Cosby_(BSM-471)\", \"title\": \"Bill Cosby (BSM-471) - South Park Public Library - Fandom\", \"content\": \"After Cartman shows off his new Dawson's Creek Trapper Keeper Ultra Keeper Futura S 2000, the boys go on the bus only to find Bill Cosby along with them posing as a new 4th grade student. Liane and Cosby make love while Cartman's trapper keeper begins to absorb more and more technology, and eventually Cartman himself. The trapper keeper begins to move to Cheyenne Mountain, in Wyoming, with Kyle, Stan, and Cosby close in pursuit. Kyle succeeds, the trapper keeper monster is destroyed, and Cosby fades from existence. Cosby attempting to take the trapper keeper from Cartman. These cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks.\", \"score\": 0.29311654, \"raw_content\": null}]}\n", + "inference> Bill Cosby (BSM-471) first appears in the Season 5 episode, \"Here Comes the Neighborhood\", of South Park.\n", + "inference> brave_search.call(query=\"Andrew Tate kickboxing name\")\n", + "tool_execution> Tool:brave_search Args:{'query': 'Andrew Tate kickboxing name'}\n", + "tool_execution> Tool:brave_search Response:{\"query\": \"Andrew Tate kickboxing name\", \"top_k\": [{\"url\": \"https://en.wikipedia.org/wiki/Andrew_Tate\", \"title\": \"Andrew Tate\", \"content\": \"Emory Andrew Tate III (born 1 December 1986) is an American and British social media personality, businessman, and former professional kickboxer\", \"score\": 0.8559598, \"raw_content\": null}, {\"url\": \"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\", \"title\": \"The Life Of Andrew Tate (Published By Top G Himself)\", \"content\": \"Andrew King Cobra Tate is a former professional kickboxing world champion. Throughout his kickboxing career, Sidekick Boxing sponsored him, providing him\", \"score\": 0.84918517, \"raw_content\": null}, {\"url\": \"https://simple.wikipedia.org/wiki/Andrew_Tate\", \"title\": \"Andrew Tate - Simple English Wikipedia, the free ...\", \"content\": \"Emory Andrew Tate III (born December 1, 1986) is an former professional kickboxer and an Internet personality\", \"score\": 0.84027237, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/shorts/khmbLCpyqD4\", \"title\": \"Andrew 'Cobra' Tate name explanation #tate #AndrewTate ...\", \"content\": \"Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma - YouTube Back Image 1 Image 2 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma Image 3 Image 4 Video unavailable - [x] Include playlist Image 5 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate#AndrewTate#TopG#kickboxing#combat#brawl#fight#mma Image 6 Image 7 Image 8 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate#AndrewTate#TopG#kickboxing#combat#brawl#fight#mma Image 9 Image 10: Go to video Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma Next video Image 12 Image 13 Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Image 14 Image 15\", \"score\": 0.71758664, \"raw_content\": null}, {\"url\": \"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\", \"title\": \"Andrew Tate: Kickboxing Record, Facts, Height, Weight ...\", \"content\": \"# Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography ## Who is Andrew Tate? Andrew Tate is a businessman, internet personality, and former professional kickboxer. ## Where is Andrew Tate From? ## What is Andrew Tate\\u2019s Nationality? ## Andrew Tate Kickboxing Record ## What Kickboxing Gym Did Andrew Tate Train Out Of? ## How Many Professional Kickboxing Matches Has Andrew Tate Participated In? Andrew Tate competed in a total of 86 professional kickboxing bouts. ## What is Andrew Tate\\u2019 Professional Kickboxing Record? In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout. ## Did Andrew Tate Compete For Any Championship Titles? ## What Championships Did Andrew Tate Win? ## How Much Money Did Andrew Tate Make In Kickboxing?\", \"score\": 0.5370662, \"raw_content\": null}]}\n", + "inference> Andrew Tate's kickboxing name is \"King Cobra\".\n" + ] + } + ], + "source": [ + "from llama_stack_client import Agent, AgentEventLogger\n", + "\n", + "agent = Agent(\n", + " client,\n", + " model=\"together/meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n", + " instructions=\"You are a helpful assistant. Use web_search tool to answer the questions.\",\n", + " tools=[\"builtin::websearch\"],\n", + ")\n", + "user_prompts = [\n", + " \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\",\n", + " \"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title. Search the web for the answer.\",\n", + " \"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\",\n", + "]\n", + "\n", + "session_id = agent.create_session(uuid.uuid4().hex)\n", + "\n", + "for prompt in user_prompts:\n", + " response = agent.create_turn(\n", + " messages=[\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": prompt,\n", + " }\n", + " ],\n", + " session_id=session_id,\n", + " )\n", + "\n", + " for log in AgentEventLogger().log(response):\n", + " log.print()\n" + ] + }, + { + "cell_type": "markdown", + "id": "d0a50faf", + "metadata": { + "id": "d0a50faf" + }, + "source": [ + "##### 3.1.2 Query Agent Execution Steps\n", + "\n", + "Now, let's look deeper into the agent's execution steps and see if how well our agent performs. As a sanity check, we will first check if all user prompts is followed by a tool call to `brave_search`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c28ea2d1", + "metadata": { + "id": "c28ea2d1" + }, + "outputs": [], + "source": [ + "# query the agents session\n", + "from rich.pretty import pprint\n", + "\n", + "session_response = client.agents.session.retrieve(\n", + " session_id=session_id,\n", + " agent_id=agent.agent_id,\n", + ")\n", + "\n", + "pprint(session_response.turns)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f87a376d", + "metadata": { + "id": "f87a376d", + "outputId": "4f855376-6bfd-40d0-8b86-c3b14ca4b269" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3/3 user prompts are followed by a tool call to `brave_search`\n" + ] + } + ], + "source": [ + "num_tool_call = 0\n", + "for turn in session_response.turns:\n", + " for step in turn.steps:\n", + " if step.step_type == \"tool_execution\" and step.tool_calls[0].tool_name == \"brave_search\":\n", + " num_tool_call += 1\n", + "\n", + "print(f\"{num_tool_call}/{len(session_response.turns)} user prompts are followed by a tool call to `brave_search`\")" + ] + }, + { + "cell_type": "markdown", + "id": "ed69220f", + "metadata": { + "id": "ed69220f" + }, + "source": [ + "##### 3.1.3 Evaluate Agent Responses\n", + "\n", + "Now, we want to evaluate the agent's responses to the user prompts.\n", + "\n", + "1. First, we will process the agent's execution history into a list of rows that can be used for evaluation.\n", + "2. Next, we will label the rows with the expected answer.\n", + "3. Finally, we will use the `/scoring` API to score the agent's responses." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2b293bc", + "metadata": { + "id": "a2b293bc", + "outputId": "c42d0fa1-d043-4cd9-e7a4-bfdda8a86de7" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
[\n",
+              "{\n",
+              "│   │   'input_query': 'Which teams played in the NBA western conference finals of 2024. Search the web for the answer.',\n",
+              "│   │   'generated_answer': 'The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.',\n",
+              "│   │   'expected_answer': 'Dallas Mavericks and the Minnesota Timberwolves'\n",
+              "},\n",
+              "{\n",
+              "│   │   'input_query': 'In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title. Search the web for the answer.',\n",
+              "│   │   'generated_answer': 'Bill Cosby first appears in the episode \"Trapped in the Closet\" (Season 9, Episode 12) of South Park.',\n",
+              "│   │   'expected_answer': 'Season 4, Episode 12'\n",
+              "},\n",
+              "{\n",
+              "│   │   'input_query': \"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\",\n",
+              "│   │   'generated_answer': 'Andrew Tate\\'s kickboxing name is \"King Cobra\".',\n",
+              "│   │   'expected_answer': 'King Cobra'\n",
+              "}\n",
+              "]\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1m[\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m'Which teams played in the NBA western conference finals of 2024. Search the web for the answer.'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'Dallas Mavericks and the Minnesota Timberwolves'\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m'In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title. Search the web for the answer.'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Bill Cosby first appears in the episode \"Trapped in the Closet\" \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSeason 9, Episode 12\u001b[0m\u001b[32m)\u001b[0m\u001b[32m of South Park.'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'Season 4, Episode 12'\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m\"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\"\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Andrew Tate\\'s kickboxing name is \"King Cobra\".'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'King Cobra'\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[1m]\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
ScoringScoreResponse(\n",
+              "results={\n",
+              "│   │   'basic::subset_of': ScoringResult(\n",
+              "│   │   │   aggregated_results={'accuracy': {'accuracy': 0.6666666666666666, 'num_correct': 2.0, 'num_total': 3}},\n",
+              "│   │   │   score_rows=[{'score': 1.0}, {'score': 0.0}, {'score': 1.0}]\n",
+              "│   │   )\n",
+              "}\n",
+              ")\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m0.6666666666666666\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m2.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m3\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "eval_rows = []\n", + "\n", + "expected_answers = [\n", + " \"Dallas Mavericks and the Minnesota Timberwolves\",\n", + " \"Season 4, Episode 12\",\n", + " \"King Cobra\",\n", + "]\n", + "\n", + "for i, turn in enumerate(session_response.turns):\n", + " eval_rows.append(\n", + " {\n", + " \"input_query\": turn.input_messages[0].content,\n", + " \"generated_answer\": turn.output_message.content,\n", + " \"expected_answer\": expected_answers[i],\n", + " }\n", + " )\n", + "\n", + "pprint(eval_rows)\n", + "\n", + "scoring_params = {\n", + " \"basic::subset_of\": None,\n", + "}\n", + "scoring_response = client.scoring.score(\n", + " input_rows=eval_rows, scoring_functions=scoring_params\n", + ")\n", + "pprint(scoring_response)" + ] + }, + { + "cell_type": "markdown", + "id": "ekOS2kM4P0LM", + "metadata": { + "id": "ekOS2kM4P0LM" + }, + "source": [ + "##### 3.1.4 Query Telemetry & Evaluate\n", + "\n", + "Another way to get the agent's execution history is to query the telemetry logs from the `/telemetry` API. The following example shows how to query the telemetry logs and post-process them to prepare data for evaluation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "agkWgToGAsuA", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "agkWgToGAsuA", + "outputId": "4233a1d9-8282-4aa9-bdc4-0c105939f97e" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Getting traces for session_id=d73d9aaa-65ac-4255-8153-9f5cbff6e01e\n", + "Here are examples of traces:\n" + ] + }, + { + "data": { + "text/html": [ + "
[\n",
+              "{\n",
+              "│   │   'input': '[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Use web_search tool to answer the questions.\"}, {\"role\": \"user\", \"content\": \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\", \"context\": null}]',\n",
+              "│   │   'output': '{\"content\": \"\", \"tool_calls\": [{\"call_id\": \"5f77ab69-72d9-4d51-b96c-bd4352ced54a\", \"tool_name\": \"brave_search\", \"arguments\": {\"query\": \"NBA Western Conference Finals 2024 teams\"}, \"arguments_json\": \"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"}\"}]}'\n",
+              "},\n",
+              "{\n",
+              "│   │   'input': '{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"},\"arguments_json\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"}\"}]}',\n",
+              "│   │   'output': '{\"role\":\"tool\",\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. 5 Dallas Mavericks (4-1) vs. 7   Derrick Jones Jr. 2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. College Tools: Player Season Finder, Player Game Finder, Team Season Finder, Team Game Finder Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards, All-Star Games, Executives ... Players, Teams, Seasons, Leaders, Awards ... Subscribe to Stathead Basketball: Get your first month FREE The SPORTS REFERENCE, STATHEAD, IMMACULATE GRID, and IMMACULATE FOOTY trademarks are owned exclusively by Sports Reference LLC. Sports\\\\\\\\u00a0Reference\\\\\\\\u202f\\\\\\\\u00ae Baseball Football (college) Basketball (college) Hockey F\\\\\\\\u00fatbol Blog Stathead\\\\\\\\u202f\\\\\\\\u00ae Immaculate Grid\\\\\\\\u202f\\\\\\\\u00ae\\\\\", \\\\\"score\\\\\": 0.89030397, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/standings\\\\\", \\\\\"content\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN Skip to main contentSkip to navigation ESPN NFL NBA NCAAF NHL NCAAM NCAAW Soccer More Sports Watch Fantasy NBA Home Scores Schedule Standings Stats Teams Odds Where To Watch All-Star Game Fantasy More NBA Standings 2024-25 Standings Expanded Vs. Division NBA Cup LeagueConferenceDivision Eastern Conference | | | --- | | 1CLECleveland Cavaliers | | 2BOSBoston Celtics | | 3NYNew York Knicks | | 4INDIndiana Pacers | | 5MILMilwaukee Bucks | | 6DETDetroit Pistons | | 7MIAMiami Heat | | 8ORLOrlando Magic | | 9ATLAtlanta Hawks | | 10CHIChicago Bulls | | PHIPhiladelphia 76ers | | BKNBrooklyn Nets | | TORToronto Raptors | | CHACharlotte Hornets | | WSHWashington Wizards | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 42 | 10 | .808 | - | 24-4 | 18-6 | 9-1 | 28-7 | 122.4 | 112.1 | +10.3 | W2 | 6-4 | | 36 | 16 | .692 | 6 | 16-10 | 20-6 | 6-2 | 26-9 | 117.3 | 108.8 | +8.5 | L1 | 7-3 | | 34 | 17 | .667 | 7.5 | 18-9 | 16-8 | 9-1 | 23-10 | 117.9 | 111.4 | +6.5 | W2 | 8-2 | | 29 | 21 | .580 | 12 | 14-7 | 14-13 | 6-4 | 17-15 | 115.7 | 114.9 | +0.8 | W1 | 7-3 | | 27 | 23 | .540 | 14 | 16-8 | 10-15 | 6-5 | 22-16 | 114.2 | 112.6 | +1.6 | L1 | 4-6 | | 26 | 26 | .500 | 16 | 13-13 | 13-13 | 2-9 | 18-20 | 113.0 | 113.8 | -0.8 | W1 | 5-5 | | 25 | 25 | .500 | 16 | 12-10 | 12-15 | 5-3 | 14-15 | 110.5 | 110.6 | -0.1 | L1 | 5-5 | | 25 | 28 | .472 | 17.5 | 15-9 | 10-19 | 5-2 | 20-15 | 103.8 | 105.6 | -1.8 | L1 | 2-8 | | 24 | 28 | .462 | 18 | 12-12 | 12-15 | 4-2 | 17-13 | 116.1 | 119.0 | -2.9 | W1 | 2-8 | | 22 | 30 | .423 | 20 | 10-16 | 12-14 | 3-7 | 17-18 | 116.7 | 120.1 | -3.4 | L1 | 4-6 | | 20 | 31 | .392 | 21.5 | 10-16 | 10-15 | 3-4 | 14-17 | 109.1 | 112.9 | -3.8 | L2 | 5-5 | | 18 | 34 | .346 | 24 | 7-17 | 11-17 | 1-8 | 9-23 | 105.3 | 111.7 | -6.4 | W1 | 4-6 | | 16 | 36 | .308 | 26 | 12-16 | 4-20 | 3-7 | 10-23 | 111.2 | 116.9 | -5.7 | L3 | 6-4 | | 13 | 36 | .265 | 27.5 | 9-20 | 4-16 | 0-9 | 7-27 | 107.1 | 112.3 | -5.2 | W1 | 2-8 | | 9 | 42 | .176 | 32.5 | 5-20 | 4-21 | 5-3 | 7-21 | 107.8 | 121.5 | -13.7 | L1 | 3-7 | Western Conference | | | --- | | 1OKCOklahoma City Thunder | | 2MEMMemphis Grizzlies | | 3DENDenver Nuggets | | 4HOUHouston Rockets | | 5LALLos Angeles Lakers | | 6MINMinnesota Timberwolves | | 7LACLA Clippers | | 8DALDallas Mavericks | | 9PHXPhoenix Suns | | 10SACSacramento Kings | | GSGolden State Warriors | | SASan Antonio Spurs | | PORPortland Trail Blazers | | UTAHUtah Jazz | | NONew Orleans Pelicans | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 41 | 9 | .820 | - | 23-3 | 17-6 | 7-1 | 23-8 | 117.7 | 104.7 | +13.0 | W4 | 7-3 | | 35 | 16 | .686 | 6.5 | 21-5 | 14-11 | 8-4 | 19-12 | 123.8 | 115.4 | +8.4 | W4 | 9-1 | | 33 | 19 | .635 | 9 | 17-8 | 16-11 | 4-4 | 19-12 | 120.8 | 115.9 | +4.9 | W5 | 7-3 | | 32 | 20 | .615 | 10 | 15-8 | 17-11 | 9-3 | 19-12 | 113.3 | 109.1 | +4.2 | L6 | 4-6 | | 30 | 19 | .612 | 10.5 | 17-6 | 13-13 | 9-3 | 19-11 | 112.6 | 112.0 | +0.6 | W4 | 8-2 | | 29 | 23 | .558 | 13 | 14-12 | 15-11 | 4-3 | 21-14 | 111.7 | 108.2 | +3.5 | W2 | 7-3 | | 28 | 23 | .549 | 13.5 | 17-10 | 11-13 | 6-4 | 17-18 | 110.1 | 107.7 | +2.4 | L3 | 4-6 | | 28 | 25 | .528 | 14.5 | 15-10 | 13-15 | 6-4 | 20-17 | 115.5 | 113.3 | +2.2 | W2 | 5-5 | | 26 | 25 | .510 | 15.5 | 16-9 | 10-16 | 7-4 | 17-14 | 113.4 | 114.7 | -1.3 | W1 | 5-5 | | 25 | 26 | .490 | 16.5 | 13-13 | 12-13 | 4-6 | 16-17 | 116.1 | 115.4 | +0.7 | L2 | 4-6 | | 25 | 26 | .490 | 16.5 | 15-13 | 10-13 | 1-10 | 17-18 | 111.5 | 111.9 | -0.4 | L2 | 4-6 | | 22 | 27 | .449 | 18.5 | 13-12 | 8-14 | 2-7 | 16-18 | 112.8 | 114.3 | -1.5 | L1 | 3-7 | | 23 | 29 | .442 | 19 | 15-13 | 8-16 | 4-5 | 14-24 | 109.0 | 113.9 | -4.9 | W6 | 9-1 | | 12 | 38 | .240 | 29 | 5-18 | 7-20 | 1-7 | 4-29 | 111.9 | 118.9 | -7.0 | L1 | 2-8 | | 12 | 39 | .235 | 29.5 | 8-18 | 4-21 | 1-8 | 6-23 | 110.0 | 118.8 | -8.8 | L7 | 3-7 | Standings are updated with the completion of each game.Teams seeded 7-10 in each conference will compete in a play-in tournament at the end of the regular season. Glossary W:Wins L:Losses PCT:Winning Percentage GB:Games Back HOME:Home Record AWAY:Away Record DIV:Division Record CONF:Conference Record PPG:Points Per Game OPP PPG:Opponent Points Per Game DIFF:Average Point Differential STRK:Current Streak L10:Record last 10 games NBA News Anthony Davis leads Mavericks past Rockets 116-105 in Mavs debut but leaves with lower-body injury -------------------------------------------------------------------------------------------------- \\\\\\\\u2014 Anthony Davis had 26 points, 16 rebounds, seven assists and three blocks in his Mavericks debut but left the game late in the third quarter with a... * 38m Hawks request waivers on newly acquired Bones Hyland ---------------------------------------------------- The Atlanta Hawks requested waivers on guard Bones Hyland on Saturday, just two days after the guard was obtained from the Clippers in a deal at the NBA trade deadline. * 1h AD posts 26-point double-double in debut before suffering injury ---------------------------------------------------------------- Anthony Davis has a strong debut with the Mavs, dropping 26 points, 16 rebounds and 7 assists, before leaving with a lower-body injury. * 1h All NBA News Terms of Use Privacy Policy Your US State Privacy Rights Children\\'s Online Privacy Policy Interest-Based Ads About Nielsen Measurement Do Not Sell or Share My Personal Information Contact Us Disney Ad Sales Site Work for ESPN Corrections ESPN BET Sportsbook is owned and operated by PENN Entertainment, Inc. and its subsidiaries (\\'PENN\\').\\\\\", \\\\\"score\\\\\": 0.83549726, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) | NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"Mavericks (5) | NBA.com 2024-25 NBA CrunchTime NBA TV Draft Kings DFS NBA Bet Home NBA Store NBA Game Worn NBA Photo Store NBA Experiences NBA G League NBA 2K League NBA Play NBA Bet ### Doncic, Irving carry Mavs to NBA Finals Luka Doncic and Kyrie Irving pour in 36 points apiece to guide Dallas to its 1st appearance in the NBA Finals since 2011. ### Luka: \\'This is special, coming from the West\\' Luka Doncic with Ernie, Charles, Kenny & Shaq about the Mavs being NBA Finals-bound, his Game 5 play and more. NBA Organization NBA ID NBA Official NBA Careers NBA Initiatives NBA Cares NBA Foundation NBA Communications NBA Transactions NBA Auctions NBA Photostore\\\\\", \\\\\"score\\\\\": 0.75312227, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 NBA Playoffs | Official Bracket, Schedule and Series Matchups\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024?os=wtmbloozowcj&ref=app\\\\\", \\\\\"content\\\\\": \\\\\"Draft Kings DFS NBA Store NBA Play NBA Finals ### Chasing History: Celtics clinch banner 18 (Ep. 25) Jayson Tatum and Finals MVP Jaylen Brown close out Dallas in Game 5 to secure Boston\\'s NBA-record 18th championship. WE DID ITTTT!\\' Jayson Tatum walkoff interview after Celtics defeat Mavericks in Game 5 of 2024 NBA Finals, clinching title with a 4-1 series win. ### Horford finally champ after key sacrifice Al Horford, who played the most playoff games in NBA history before winning his 1st title, crosses the plateau in his 17th season. 30:13 ### Best of the 2024 NBA Finals 17:47 ### Best of Boston Celtics from the 2024 NBA Finals\\\\\", \\\\\"score\\\\\": 0.63234437, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2025 NBA Playoffs: Standings, bracket and clinching updates\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/news/2025-nba-playoffs-standings-and-bracket-updates\\\\\", \\\\\"content\\\\\": \\\\\"NBA TV NBA Play NBA Store NBA Game Worn NBA Play NBA Official NBA Playoffs bracket ### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. Click \\\\\\\\\\\\\"Access Content\\\\\\\\\\\\\" to agree to our Terms of Use and Privacy Policy and to sign up for emails about the latest news and products from the NBA Family and its partners. #### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. NBA ID NBA Official NBA Transactions NBA Auctions\\\\\", \\\\\"score\\\\\": 0.13435538, \\\\\"raw_content\\\\\": null}]}\"}'\n",
+              "}\n",
+              "]\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1m[\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\": \"system\", \"content\": \"You are a helpful assistant. Use web_search tool to answer the questions.\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\": \"user\", \"content\": \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\", \"context\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"content\": \"\", \"tool_calls\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\": \"5f77ab69-72d9-4d51-b96c-bd4352ced54a\", \"tool_name\": \"brave_search\", \"arguments\": \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\": \"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \"arguments_json\": \"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m,\"arguments_json\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"tool\",\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. 5 Dallas Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m4-1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. 7 Derrick Jones Jr. 2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. College Tools: Player Season Finder, Player Game Finder, Team Season Finder, Team Game Finder Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards, All-Star Games, Executives ... Players, Teams, Seasons, Leaders, Awards ... Subscribe to Stathead Basketball: Get your first month FREE The SPORTS REFERENCE, STATHEAD, IMMACULATE GRID, and IMMACULATE FOOTY trademarks are owned exclusively by Sports Reference LLC. Sports\\\\\\\\u00a0Reference\\\\\\\\u202f\\\\\\\\u00ae Baseball Football \u001b[0m\u001b[32m(\u001b[0m\u001b[32mcollege\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Basketball \u001b[0m\u001b[32m(\u001b[0m\u001b[32mcollege\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Hockey F\\\\\\\\u00fatbol Blog Stathead\\\\\\\\u202f\\\\\\\\u00ae Immaculate Grid\\\\\\\\u202f\\\\\\\\u00ae\\\\\", \\\\\"score\\\\\": 0.89030397, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/standings\\\\\", \\\\\"content\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN Skip to main contentSkip to navigation ESPN NFL NBA NCAAF NHL NCAAM NCAAW Soccer More Sports Watch Fantasy NBA Home Scores Schedule Standings Stats Teams Odds Where To Watch All-Star Game Fantasy More NBA Standings 2024-25 Standings Expanded Vs. Division NBA Cup LeagueConferenceDivision Eastern Conference | | | --- | | 1CLECleveland Cavaliers | | 2BOSBoston Celtics | | 3NYNew York Knicks | | 4INDIndiana Pacers | | 5MILMilwaukee Bucks | | 6DETDetroit Pistons | | 7MIAMiami Heat | | 8ORLOrlando Magic | | 9ATLAtlanta Hawks | | 10CHIChicago Bulls | | PHIPhiladelphia 76ers | | BKNBrooklyn Nets | | TORToronto Raptors | | CHACharlotte Hornets | | WSHWashington Wizards | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 42 | 10 | .808 | - | 24-4 | 18-6 | 9-1 | 28-7 | 122.4 | 112.1 | +10.3 | W2 | 6-4 | | 36 | 16 | .692 | 6 | 16-10 | 20-6 | 6-2 | 26-9 | 117.3 | 108.8 | +8.5 | L1 | 7-3 | | 34 | 17 | .667 | 7.5 | 18-9 | 16-8 | 9-1 | 23-10 | 117.9 | 111.4 | +6.5 | W2 | 8-2 | | 29 | 21 | .580 | 12 | 14-7 | 14-13 | 6-4 | 17-15 | 115.7 | 114.9 | +0.8 | W1 | 7-3 | | 27 | 23 | .540 | 14 | 16-8 | 10-15 | 6-5 | 22-16 | 114.2 | 112.6 | +1.6 | L1 | 4-6 | | 26 | 26 | .500 | 16 | 13-13 | 13-13 | 2-9 | 18-20 | 113.0 | 113.8 | -0.8 | W1 | 5-5 | | 25 | 25 | .500 | 16 | 12-10 | 12-15 | 5-3 | 14-15 | 110.5 | 110.6 | -0.1 | L1 | 5-5 | | 25 | 28 | .472 | 17.5 | 15-9 | 10-19 | 5-2 | 20-15 | 103.8 | 105.6 | -1.8 | L1 | 2-8 | | 24 | 28 | .462 | 18 | 12-12 | 12-15 | 4-2 | 17-13 | 116.1 | 119.0 | -2.9 | W1 | 2-8 | | 22 | 30 | .423 | 20 | 10-16 | 12-14 | 3-7 | 17-18 | 116.7 | 120.1 | -3.4 | L1 | 4-6 | | 20 | 31 | .392 | 21.5 | 10-16 | 10-15 | 3-4 | 14-17 | 109.1 | 112.9 | -3.8 | L2 | 5-5 | | 18 | 34 | .346 | 24 | 7-17 | 11-17 | 1-8 | 9-23 | 105.3 | 111.7 | -6.4 | W1 | 4-6 | | 16 | 36 | .308 | 26 | 12-16 | 4-20 | 3-7 | 10-23 | 111.2 | 116.9 | -5.7 | L3 | 6-4 | | 13 | 36 | .265 | 27.5 | 9-20 | 4-16 | 0-9 | 7-27 | 107.1 | 112.3 | -5.2 | W1 | 2-8 | | 9 | 42 | .176 | 32.5 | 5-20 | 4-21 | 5-3 | 7-21 | 107.8 | 121.5 | -13.7 | L1 | 3-7 | Western Conference | | | --- | | 1OKCOklahoma City Thunder | | 2MEMMemphis Grizzlies | | 3DENDenver Nuggets | | 4HOUHouston Rockets | | 5LALLos Angeles Lakers | | 6MINMinnesota Timberwolves | | 7LACLA Clippers | | 8DALDallas Mavericks | | 9PHXPhoenix Suns | | 10SACSacramento Kings | | GSGolden State Warriors | | SASan Antonio Spurs | | PORPortland Trail Blazers | | UTAHUtah Jazz | | NONew Orleans Pelicans | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 41 | 9 | .820 | - | 23-3 | 17-6 | 7-1 | 23-8 | 117.7 | 104.7 | +13.0 | W4 | 7-3 | | 35 | 16 | .686 | 6.5 | 21-5 | 14-11 | 8-4 | 19-12 | 123.8 | 115.4 | +8.4 | W4 | 9-1 | | 33 | 19 | .635 | 9 | 17-8 | 16-11 | 4-4 | 19-12 | 120.8 | 115.9 | +4.9 | W5 | 7-3 | | 32 | 20 | .615 | 10 | 15-8 | 17-11 | 9-3 | 19-12 | 113.3 | 109.1 | +4.2 | L6 | 4-6 | | 30 | 19 | .612 | 10.5 | 17-6 | 13-13 | 9-3 | 19-11 | 112.6 | 112.0 | +0.6 | W4 | 8-2 | | 29 | 23 | .558 | 13 | 14-12 | 15-11 | 4-3 | 21-14 | 111.7 | 108.2 | +3.5 | W2 | 7-3 | | 28 | 23 | .549 | 13.5 | 17-10 | 11-13 | 6-4 | 17-18 | 110.1 | 107.7 | +2.4 | L3 | 4-6 | | 28 | 25 | .528 | 14.5 | 15-10 | 13-15 | 6-4 | 20-17 | 115.5 | 113.3 | +2.2 | W2 | 5-5 | | 26 | 25 | .510 | 15.5 | 16-9 | 10-16 | 7-4 | 17-14 | 113.4 | 114.7 | -1.3 | W1 | 5-5 | | 25 | 26 | .490 | 16.5 | 13-13 | 12-13 | 4-6 | 16-17 | 116.1 | 115.4 | +0.7 | L2 | 4-6 | | 25 | 26 | .490 | 16.5 | 15-13 | 10-13 | 1-10 | 17-18 | 111.5 | 111.9 | -0.4 | L2 | 4-6 | | 22 | 27 | .449 | 18.5 | 13-12 | 8-14 | 2-7 | 16-18 | 112.8 | 114.3 | -1.5 | L1 | 3-7 | | 23 | 29 | .442 | 19 | 15-13 | 8-16 | 4-5 | 14-24 | 109.0 | 113.9 | -4.9 | W6 | 9-1 | | 12 | 38 | .240 | 29 | 5-18 | 7-20 | 1-7 | 4-29 | 111.9 | 118.9 | -7.0 | L1 | 2-8 | | 12 | 39 | .235 | 29.5 | 8-18 | 4-21 | 1-8 | 6-23 | 110.0 | 118.8 | -8.8 | L7 | 3-7 | Standings are updated with the completion of each game.Teams seeded 7-10 in each conference will compete in a play-in tournament at the end of the regular season. Glossary W:Wins L:Losses PCT:Winning Percentage GB:Games Back HOME:Home Record AWAY:Away Record DIV:Division Record CONF:Conference Record PPG:Points Per Game OPP PPG:Opponent Points Per Game DIFF:Average Point Differential STRK:Current Streak L10:Record last 10 games NBA News Anthony Davis leads Mavericks past Rockets 116-105 in Mavs debut but leaves with lower-body injury -------------------------------------------------------------------------------------------------- \\\\\\\\u2014 Anthony Davis had 26 points, 16 rebounds, seven assists and three blocks in his Mavericks debut but left the game late in the third quarter with a... * 38m Hawks request waivers on newly acquired Bones Hyland ---------------------------------------------------- The Atlanta Hawks requested waivers on guard Bones Hyland on Saturday, just two days after the guard was obtained from the Clippers in a deal at the NBA trade deadline. * 1h AD posts 26-point double-double in debut before suffering injury ---------------------------------------------------------------- Anthony Davis has a strong debut with the Mavs, dropping 26 points, 16 rebounds and 7 assists, before leaving with a lower-body injury. * 1h All NBA News Terms of Use Privacy Policy Your US State Privacy Rights Children\\'s Online Privacy Policy Interest-Based Ads About Nielsen Measurement Do Not Sell or Share My Personal Information Contact Us Disney Ad Sales Site Work for ESPN Corrections ESPN BET Sportsbook is owned and operated by PENN Entertainment, Inc. and its subsidiaries \u001b[0m\u001b[32m(\u001b[0m\u001b[32m\\'PENN\\'\u001b[0m\u001b[32m)\u001b[0m\u001b[32m.\\\\\", \\\\\"score\\\\\": 0.83549726, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | NBA.com 2024-25 NBA CrunchTime NBA TV Draft Kings DFS NBA Bet Home NBA Store NBA Game Worn NBA Photo Store NBA Experiences NBA G League NBA 2K League NBA Play NBA Bet ### Doncic, Irving carry Mavs to NBA Finals Luka Doncic and Kyrie Irving pour in 36 points apiece to guide Dallas to its 1st appearance in the NBA Finals since 2011. ### Luka: \\'This is special, coming from the West\\' Luka Doncic with Ernie, Charles, Kenny & Shaq about the Mavs being NBA Finals-bound, his Game 5 play and more. NBA Organization NBA ID NBA Official NBA Careers NBA Initiatives NBA Cares NBA Foundation NBA Communications NBA Transactions NBA Auctions NBA Photostore\\\\\", \\\\\"score\\\\\": 0.75312227, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Playoffs | Official Bracket, Schedule and Series Matchups\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024?\u001b[0m\u001b[32mos\u001b[0m\u001b[32m=\u001b[0m\u001b[32mwtmbloozowcj\u001b[0m\u001b[32m&\u001b[0m\u001b[32mref\u001b[0m\u001b[32m=\u001b[0m\u001b[32mapp\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Draft Kings DFS NBA Store NBA Play NBA Finals ### Chasing History: Celtics clinch banner 18 \u001b[0m\u001b[32m(\u001b[0m\u001b[32mEp. 25\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Jayson Tatum and Finals MVP Jaylen Brown close out Dallas in Game 5 to secure Boston\\'s NBA-record 18th championship. WE DID ITTTT!\\' Jayson Tatum walkoff interview after Celtics defeat Mavericks in Game 5 of 2024 NBA Finals, clinching title with a 4-1 series win. ### Horford finally champ after key sacrifice Al Horford, who played the most playoff games in NBA history before winning his 1st title, crosses the plateau in his 17th season. 30:13 ### Best of the 2024 NBA Finals 17:47 ### Best of Boston Celtics from the 2024 NBA Finals\\\\\", \\\\\"score\\\\\": 0.63234437, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2025 NBA Playoffs: Standings, bracket and clinching updates\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/news/2025-nba-playoffs-standings-and-bracket-updates\\\\\", \\\\\"content\\\\\": \\\\\"NBA TV NBA Play NBA Store NBA Game Worn NBA Play NBA Official NBA Playoffs bracket ### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. Click \\\\\\\\\\\\\"Access Content\\\\\\\\\\\\\" to agree to our Terms of Use and Privacy Policy and to sign up for emails about the latest news and products from the NBA Family and its partners. #### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. NBA ID NBA Official NBA Transactions NBA Auctions\\\\\", \\\\\"score\\\\\": 0.13435538, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[1m]\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# NBVAL_SKIP\n", + "print(f\"Getting traces for session_id={session_id}\")\n", + "import json\n", + "\n", + "from rich.pretty import pprint\n", + "\n", + "agent_logs = []\n", + "\n", + "for span in client.telemetry.query_spans(\n", + " attribute_filters=[\n", + " {\"key\": \"session_id\", \"op\": \"eq\", \"value\": session_id},\n", + " ],\n", + " attributes_to_return=[\"input\", \"output\"],\n", + "):\n", + " if span.attributes[\"output\"] != \"no shields\":\n", + " agent_logs.append(span.attributes)\n", + "\n", + "print(\"Here are examples of traces:\")\n", + "pprint(agent_logs[:2])\n" + ] + }, + { + "cell_type": "markdown", + "id": "QF30H7ufP2RE", + "metadata": { + "id": "QF30H7ufP2RE" + }, + "source": [ + "- Now, we want to run evaluation to assert that our search agent succesfully calls brave_search from online traces.\n", + "- We will first post-process the agent's telemetry logs and run evaluation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "sy4Xaff_Avuu", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 432 + }, + "id": "sy4Xaff_Avuu", + "outputId": "1b14b5ed-4c77-47c4-edfb-1c13a88e5ef4" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
ScoringScoreResponse(\n",
+              "results={\n",
+              "│   │   'basic::subset_of': ScoringResult(\n",
+              "│   │   │   aggregated_results={'accuracy': {'accuracy': 1.0, 'num_correct': 3.0, 'num_total': 3}},\n",
+              "│   │   │   score_rows=[{'score': 1.0}, {'score': 1.0}, {'score': 1.0}]\n",
+              "│   │   )\n",
+              "}\n",
+              ")\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m3.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m3\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# NBVAL_SKIP\n", + "# post-process telemetry spance and prepare data for eval\n", + "# in this case, we want to assert that all user prompts is followed by a tool call\n", + "import ast\n", + "import json\n", + "\n", + "eval_rows = []\n", + "\n", + "for log in agent_logs:\n", + " input = json.loads(log[\"input\"])\n", + " if isinstance(input, list):\n", + " input = input[-1]\n", + " if input[\"role\"] == \"user\":\n", + " eval_rows.append(\n", + " {\n", + " \"input_query\": input[\"content\"],\n", + " \"generated_answer\": log[\"output\"],\n", + " # check if generated_answer uses tools brave_search\n", + " \"expected_answer\": \"brave_search\",\n", + " },\n", + " )\n", + "\n", + "# pprint(eval_rows)\n", + "scoring_params = {\n", + " \"basic::subset_of\": None,\n", + "}\n", + "scoring_response = client.scoring.score(\n", + " input_rows=eval_rows, scoring_functions=scoring_params\n", + ")\n", + "pprint(scoring_response)\n" + ] + }, + { + "cell_type": "markdown", + "id": "IKbzhxcw5e_c", + "metadata": { + "id": "IKbzhxcw5e_c" + }, + "source": [ + "#### 3.2. Agentic Application Dataset Scoring\n", + "- Llama Stack offers a library of scoring functions and the `/scoring` API, allowing you to run evaluations on your pre-annotated AI application datasets.\n", + "\n", + "- In this example, we will work with an example RAG dataset you have built previously, label with an annotation, and use LLM-As-Judge with custom judge prompt for scoring. Please checkout our [Llama Stack Playground](https://llama-stack.readthedocs.io/en/latest/playground/index.html) for an interactive interface to upload datasets and run scorings." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "xG4Y84VQBb0g", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 304 + }, + "id": "xG4Y84VQBb0g", + "outputId": "cf7dcecc-a81d-4c60-af5e-b36b8fe85c69" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
ScoringScoreResponse(\n",
+              "results={\n",
+              "│   │   'llm-as-judge::base': ScoringResult(\n",
+              "│   │   │   aggregated_results={},\n",
+              "│   │   │   score_rows=[\n",
+              "│   │   │   │   {\n",
+              "│   │   │   │   │   'score': 'B',\n",
+              "│   │   │   │   │   'judge_feedback': 'Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it. The EXPECTED_RESPONSE only mentions \"LoRA\", which is a topic that is extensively covered in the GENERATED_RESPONSE. The GENERATED_RESPONSE provides more specific and detailed topics related to LoRA, but it does not contradict the EXPECTED_RESPONSE.'\n",
+              "│   │   │   │   }\n",
+              "│   │   │   ]\n",
+              "│   │   ),\n",
+              "│   │   'basic::subset_of': ScoringResult(\n",
+              "│   │   │   aggregated_results={'accuracy': {'accuracy': 1.0, 'num_correct': 1.0, 'num_total': 1}},\n",
+              "│   │   │   score_rows=[{'score': 1.0}]\n",
+              "│   │   )\n",
+              "}\n",
+              ")\n",
+              "
\n" + ], + "text/plain": [ + "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'llm-as-judge::base'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\n", + "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\n", + "\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m,\n", + "\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it. The EXPECTED_RESPONSE only mentions \"LoRA\", which is a topic that is extensively covered in the GENERATED_RESPONSE. The GENERATED_RESPONSE provides more specific and detailed topics related to LoRA, but it does not contradict the EXPECTED_RESPONSE.'\u001b[0m\n", + "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m1\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", + "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import rich\n", + "from rich.pretty import pprint\n", + "\n", + "# could even use larger models like 405B\n", + "judge_model_id = \"together/meta-llama/Llama-3.3-70B-Instruct-Turbo\"\n", + "\n", + "JUDGE_PROMPT = \"\"\"\n", + "Given a QUESTION and GENERATED_RESPONSE and EXPECTED_RESPONSE.\n", + "\n", + "Compare the factual content of the GENERATED_RESPONSE with the EXPECTED_RESPONSE. Ignore any differences in style, grammar, or punctuation.\n", + " The GENERATED_RESPONSE may either be a subset or superset of the EXPECTED_RESPONSE, or it may conflict with it. Determine which case applies. Answer the question by selecting one of the following options:\n", + " (A) The GENERATED_RESPONSE is a subset of the EXPECTED_RESPONSE and is fully consistent with it.\n", + " (B) The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it.\n", + " (C) The GENERATED_RESPONSE contains all the same details as the EXPECTED_RESPONSE.\n", + " (D) There is a disagreement between the GENERATED_RESPONSE and the EXPECTED_RESPONSE.\n", + " (E) The answers differ, but these differences don't matter from the perspective of factuality.\n", + "\n", + "Give your answer in the format \"Answer: One of ABCDE, Explanation: \".\n", + "\n", + "Your actual task:\n", + "\n", + "QUESTION: {input_query}\n", + "GENERATED_RESPONSE: {generated_answer}\n", + "EXPECTED_RESPONSE: {expected_answer}\n", + "\"\"\"\n", + "\n", + "input_query = (\n", + " \"What are the top 5 topics that were explained? Only list succinct bullet points.\"\n", + ")\n", + "generated_answer = \"\"\"\n", + "Here are the top 5 topics that were explained in the documentation for Torchtune:\n", + "\n", + "* What is LoRA and how does it work?\n", + "* Fine-tuning with LoRA: memory savings and parameter-efficient finetuning\n", + "* Running a LoRA finetune with Torchtune: overview and recipe\n", + "* Experimenting with different LoRA configurations: rank, alpha, and attention modules\n", + "* LoRA finetuning\n", + "\"\"\"\n", + "expected_answer = \"\"\"LoRA\"\"\"\n", + "\n", + "rows = [\n", + " {\n", + " \"input_query\": input_query,\n", + " \"generated_answer\": generated_answer,\n", + " \"expected_answer\": expected_answer,\n", + " },\n", + "]\n", + "\n", + "scoring_params = {\n", + " \"llm-as-judge::base\": {\n", + " \"judge_model\": judge_model_id,\n", + " \"prompt_template\": JUDGE_PROMPT,\n", + " \"type\": \"llm_as_judge\",\n", + " \"judge_score_regexes\": [\"Answer: (A|B|C|D|E)\"],\n", + " },\n", + " \"basic::subset_of\": None,\n", + "}\n", + "\n", + "response = client.scoring.score(input_rows=rows, scoring_functions=scoring_params)\n", + "pprint(response)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ad077440", + "metadata": { + "id": "ad077440" + }, + "source": [ + "## 4. Image Understanding with Llama 3.2\n", + "\n", + "Below is a complete example of to ask Llama 3.2 questions about an image." + ] + }, + { + "cell_type": "markdown", + "id": "82e381ec", + "metadata": { + "id": "82e381ec" + }, + "source": [ + "### 4.1 Setup and helpers\n" + ] + }, + { + "cell_type": "markdown", + "id": "7737cd41", + "metadata": { + "id": "7737cd41" + }, + "source": [ + "### 4.2 Using Llama Stack Inference API for multimodal inference" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7914894", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "d7914894", + "outputId": "ce96f08a-bb2e-4c2a-a6ef-99cd6d539bac" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The image depicts three llamas standing at a table, with one wearing a party hat and another having a purple hue. The scene is set in a barn-like environment.\n", + "\n", + "* Three llamas are positioned at a table.\n", + " * The llama on the left is white.\n", + " * The middle llama is purple.\n", + " * The llama on the right is white and wears a blue party hat.\n", + "* A glass containing an orange liquid sits on the table.\n", + " * The glass is clear and filled with a yellowish-orange substance.\n", + "* The background features wooden walls.\n", + " * The walls are composed of vertical wooden planks.\n", + " * The overall atmosphere suggests a celebratory or festive setting.\n", + "\n", + "In summary, the image showcases three llamas gathered around a table, with one donning a party hat, amidst a rustic barn-like backdrop.\n" + ] + } + ], + "source": [ + "vision_model_id = \"groq/meta-llama/llama-4-maverick-17b-128e-instruct\"\n", + "response = client.chat.completions.create(\n", + " model=vision_model_id,\n", + " messages=[{\n", + " \"role\": \"user\",\n", + " \"content\": [\n", + " {\"type\": \"text\", \"text\": \"What's in this image?\"},\n", + " {\n", + " \"type\": \"image_url\",\n", + " \"image_url\": {\n", + " \"url\": \"https://raw.githubusercontent.com/meta-llama/llama-models/refs/heads/main/Llama_Repo.jpeg\",\n", + " },\n", + " },\n", + " ],\n", + " }],\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3352379", + "metadata": { + "id": "f3352379" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From ba8742226784d9b6a06eded8b309e9e977bc589c Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Mon, 29 Sep 2025 10:11:32 -0700 Subject: [PATCH 2/5] update getting_started_v0_3_0.ipynb --- docs/getting_started_v0_3_0.ipynb | 1834 +++++++++++++---------------- 1 file changed, 806 insertions(+), 1028 deletions(-) diff --git a/docs/getting_started_v0_3_0.ipynb b/docs/getting_started_v0_3_0.ipynb index 1cacaa476..9428eda1e 100644 --- a/docs/getting_started_v0_3_0.ipynb +++ b/docs/getting_started_v0_3_0.ipynb @@ -39,7 +39,7 @@ "id": "K4AvfUAJZOeS" }, "source": [ - "### 1.1. Create TogetherAI account\n", + "### 1.1. Setup API keys\n", "\n", "\n", "In order to run inference for the llama models, you will need to use an inference provider. Llama stack supports a number of inference [providers](https://github.com/meta-llama/llama-stack/tree/main/llama_stack/providers/remote/inference).\n", @@ -50,13 +50,138 @@ "Steps [here](https://docs.google.com/document/d/1Vg998IjRW_uujAPnHdQ9jQWvtmkZFt74FldW2MblxPY/edit?usp=sharing).\n", "\n", "You can also use Fireworks.ai or even Ollama if you would like to.\n", - "\n", - "\n", - "\n", - "> **Note:** Set the API Key in the Secrets of this notebook\n", "\n" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "e54a0e6f" + }, + "source": [ + "To set up the API keys for Together and Tavily Search, you will use Google Colab's user data secrets feature.\n", + "\n", + "1. Click on the \"🔑\" icon in the left sidebar to open the secrets manager.\n", + "2. Add your `TOGETHER_API_KEY` and `TAVILY_SEARCH_API_KEY` as secrets.\n", + "3. The following code will then load these secrets as environment variables." + ], + "id": "e54a0e6f" + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "import getpass\n", + "try:\n", + " from google.colab import userdata\n", + " os.environ['TOGETHER_API_KEY'] = userdata.get('TOGETHER_API_KEY')\n", + " os.environ['TAVILY_SEARCH_API_KEY'] = userdata.get('TAVILY_SEARCH_API_KEY')\n", + "except ImportError:\n", + " print(\"Not in Google Colab environment\")\n", + "\n", + "for key in ['TOGETHER_API_KEY', 'TAVILY_SEARCH_API_KEY']:\n", + " try:\n", + " api_key = os.environ[key]\n", + " if not api_key:\n", + " raise ValueError(f\"{key} environment variable is empty\")\n", + " except KeyError:\n", + " api_key = getpass.getpass(f\"{key} environment variable is not set. Please enter your API key: \")\n", + " os.environ[key] = api_key" + ], + "metadata": { + "id": "ulfGF02ZNGqt" + }, + "id": "ulfGF02ZNGqt", + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5a22389e" + }, + "source": [ + "### 1.1.1 Use Ollama instead (optional)\n", + "\n", + "Optionally, we can use ollama for local inference to avoid any api cost. To use Ollama as a model provider, you need to install and run Ollama and pull the desired model.\n", + "\n", + "Here are the steps:\n", + "\n", + "1. **Install Ollama:** Run the provided script to install Ollama.\n", + "2. **Start Ollama server and pull model:** Start the Ollama server and pull the `llama-guard3:1b` or `llama3.2:3b` model, which is used as the safety shield or the inference model in this notebook.\n", + "3. Set system variable `OLLAMA_URL` to `http://localhost:11434` so llama-stack knows where to connect." + ], + "id": "5a22389e" + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "HY8yBKKVoF50", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HY8yBKKVoF50", + "outputId": "f786842b-653f-4227-b2a4-97a82b65a8b2" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + ">>> Cleaning up old version at /usr/local/lib/ollama\n", + ">>> Installing ollama to /usr/local\n", + ">>> Downloading Linux amd64 bundle\n", + "######################################################################## 100.0%\n", + ">>> Adding ollama user to video group...\n", + ">>> Adding current user to ollama group...\n", + ">>> Creating ollama systemd service...\n", + "\u001b[1m\u001b[31mWARNING:\u001b[m systemd is not running\n", + "\u001b[1m\u001b[31mWARNING:\u001b[m Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies.\n", + ">>> The Ollama API is now available at 127.0.0.1:11434.\n", + ">>> Install complete. Run \"ollama\" from the command line.\n", + "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\n", + "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\n" + ] + } + ], + "source": [ + "os.environ['OLLAMA_URL'] = 'http://localhost:11434'\n", + "\n", + "#Install Ollama\n", + "!curl -fsSL https://ollama.com/install.sh | sh\n", + "\n", + "#Start Ollama server with llama-guard3:1b model and llama3.2:3b\n", + "!nohup ollama serve > ollama_server.log 2>&1 &\n", + "!ollama pull llama-guard3:1b\n", + "!ollama pull llama3.2:3b" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "p2SkDGjB_KUE", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "p2SkDGjB_KUE", + "outputId": "6f4edd2f-0bfc-4f24-aa15-df179f981c8a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\"object\":\"list\",\"data\":[{\"id\":\"llama3.2:3b\",\"object\":\"model\",\"created\":1759163051,\"owned_by\":\"library\"},{\"id\":\"llama-guard3:1b\",\"object\":\"model\",\"created\":1759163021,\"owned_by\":\"library\"}]}\n" + ] + } + ], + "source": [ + "# Double check ollama model running\n", + "!curl 127.0.0.1:11434/v1/models\n" + ] + }, { "cell_type": "markdown", "id": "oDUB7M_qe-Gs", @@ -73,93 +198,9 @@ "In this showcase, we will start a Llama Stack server that is running locally.\n" ] }, - { - "cell_type": "code", - "execution_count": 1, - "id": "HY8yBKKVoF50", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "HY8yBKKVoF50", - "outputId": "97abc006-572f-48cc-c899-6bcfd40c8d2d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - ">>> Installing ollama to /usr/local\n", - ">>> Downloading Linux amd64 bundle\n", - "######################################################################## 100.0%\n", - ">>> Creating ollama user...\n", - ">>> Adding ollama user to video group...\n", - ">>> Adding current user to ollama group...\n", - ">>> Creating ollama systemd service...\n", - "\u001b[1m\u001b[31mWARNING:\u001b[m systemd is not running\n", - "\u001b[1m\u001b[31mWARNING:\u001b[m Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies.\n", - ">>> The Ollama API is now available at 127.0.0.1:11434.\n", - ">>> Install complete. Run \"ollama\" from the command line.\n", - "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\n", - "\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1G\u001b[?25h\u001b[?2026l\n" - ] - } - ], - "source": [ - "#Install Ollama\n", - "!curl -fsSL https://ollama.com/install.sh | sh\n", - "\n", - "#Start Ollama server with llama3 model\n", - "!nohup ollama serve > ollama_server.log 2>&1 &\n", - "!ollama pull llama-guard3:1b\n", - "!ollama pull llama3.2:3b" - ] - }, { "cell_type": "code", "execution_count": 2, - "id": "p2SkDGjB_KUE", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "p2SkDGjB_KUE", - "outputId": "1498034b-ed2f-4bcb-e4e1-d964c95ce2cb" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "{\"object\":\"list\",\"data\":[{\"id\":\"llama3.2:3b\",\"object\":\"model\",\"created\":1758304995,\"owned_by\":\"library\"},{\"id\":\"llama-guard3:1b\",\"object\":\"model\",\"created\":1758304963,\"owned_by\":\"library\"}]}\n" - ] - } - ], - "source": [ - "!curl 127.0.0.1:11434/v1/models\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0R628gRh-cYv", - "metadata": { - "id": "0R628gRh-cYv" - }, - "outputs": [], - "source": [ - "# use this helper if needed to kill the server\n", - "!rm -rf ~/.llama/distributions/*\n", - "import os\n", - "def kill_llama_stack_server():\n", - " # Kill any existing llama stack server processes\n", - " os.system(\"ps aux | grep -v grep | grep llama_stack.core.server.server | awk '{print $2}' | xargs kill -9\")\n", - "kill_llama_stack_server()" - ] - }, - { - "cell_type": "code", - "execution_count": 1, "id": "J2kGed0R5PSf", "metadata": { "colab": { @@ -167,14 +208,14 @@ }, "collapsed": true, "id": "J2kGed0R5PSf", - "outputId": "2bd3a300-8637-43bc-ab2a-aa03861955f5" + "outputId": "c6f754a5-86b2-4153-c02a-8730efbd97df" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "downloading uv 0.8.19 x86_64-unknown-linux-gnu\n", + "downloading uv 0.8.22 x86_64-unknown-linux-gnu\n", "no checksums to verify\n", "installing to /usr/local/bin\n", " uv\n", @@ -184,110 +225,27 @@ "Using CPython 3.12.11 interpreter at: \u001b[36m/usr/bin/python3\u001b[39m\n", "Creating virtual environment at: \u001b[36mvenv\u001b[39m\n", "Activate with: \u001b[32msource venv/bin/activate\u001b[39m\n", - "\u001b[2K\u001b[2mInstalled \u001b[1m84 packages\u001b[0m \u001b[2min 334ms\u001b[0m\u001b[0m\n", - "\u001b[33mWARNING \u001b[0m \u001b[1;36m2025\u001b[0m-\u001b[1;36m09\u001b[0m-\u001b[1;36m19\u001b[0m \u001b[1;92m23:29:10\u001b[0m,\u001b[1;36m361\u001b[0m llama_stack.core.distribution:\u001b[1;36m149\u001b[0m core: Failed to import module prompts: No module named \n", - " \u001b[32m'llama_stack.providers.registry.prompts'\u001b[0m \n", - "Environment '/content/uv-cache/builds-v0/.tmpJfVJ5w' already exists, re-using it.\n", + "\u001b[2KEnvironment '/root/.cache/uv/builds-v0/.tmptHMEzy' already exists, re-using it.\n", "Installing dependencies in system Python environment\n", "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", - "\u001b[2K\u001b[2mResolved \u001b[1m84 packages\u001b[0m \u001b[2min 1.30s\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mPrepared \u001b[1m12 packages\u001b[0m \u001b[2min 318ms\u001b[0m\u001b[0m\n", - "\u001b[2mUninstalled \u001b[1m1 package\u001b[0m \u001b[2min 9ms\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mInstalled \u001b[1m12 packages\u001b[0m \u001b[2min 38ms\u001b[0m\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1maiosqlite\u001b[0m\u001b[2m==0.21.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1masyncpg\u001b[0m\u001b[2m==0.30.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mecdsa\u001b[0m\u001b[2m==0.19.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mfire\u001b[0m\u001b[2m==0.7.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mllama-stack\u001b[0m\u001b[2m==0.2.22\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mllama-stack-client\u001b[0m\u001b[2m==0.2.22\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-common\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-http\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-proto\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpyaml\u001b[0m\u001b[2m==25.7.0\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mpydantic\u001b[0m\u001b[2m==2.11.7\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpydantic\u001b[0m\u001b[2m==2.11.9\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpython-jose\u001b[0m\u001b[2m==3.5.0\u001b[0m\n", + "\u001b[2mAudited \u001b[1m1 package\u001b[0m \u001b[2min 1.34s\u001b[0m\u001b[0m\n", "Installing pip dependencies\n", "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", - "\u001b[2K\u001b[2mResolved \u001b[1m207 packages\u001b[0m \u001b[2min 1.47s\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mPrepared \u001b[1m54 packages\u001b[0m \u001b[2min 6.05s\u001b[0m\u001b[0m\n", - "\u001b[2mUninstalled \u001b[1m4 packages\u001b[0m \u001b[2min 20ms\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mInstalled \u001b[1m55 packages\u001b[0m \u001b[2min 197ms\u001b[0m\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1masyncstdlib-fw\u001b[0m\u001b[2m==3.13.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mautoevals\u001b[0m\u001b[2m==0.0.130\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mbackoff\u001b[0m\u001b[2m==2.2.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mbetterproto-fw\u001b[0m\u001b[2m==2.0.3\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mboltons\u001b[0m\u001b[2m==21.0.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mboto3\u001b[0m\u001b[2m==1.40.35\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mbotocore\u001b[0m\u001b[2m==1.40.35\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mbracex\u001b[0m\u001b[2m==2.6\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mcerebras-cloud-sdk\u001b[0m\u001b[2m==1.50.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mchevron\u001b[0m\u001b[2m==0.14.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mchromadb-client\u001b[0m\u001b[2m==1.1.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mclick-option-group\u001b[0m\u001b[2m==0.5.7\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mcodeshield\u001b[0m\u001b[2m==1.0.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mcolorama\u001b[0m\u001b[2m==0.4.6\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mdnspython\u001b[0m\u001b[2m==2.8.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1memoji\u001b[0m\u001b[2m==2.14.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1meval-type-backport\u001b[0m\u001b[2m==0.2.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mexceptiongroup\u001b[0m\u001b[2m==1.2.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mface\u001b[0m\u001b[2m==24.0.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mfaiss-cpu\u001b[0m\u001b[2m==1.12.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mfastuuid\u001b[0m\u001b[2m==0.12.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mfireworks-ai\u001b[0m\u001b[2m==0.17.16\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mglom\u001b[0m\u001b[2m==22.1.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mhttpx-ws\u001b[0m\u001b[2m==0.7.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mjmespath\u001b[0m\u001b[2m==1.0.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mlangdetect\u001b[0m\u001b[2m==1.0.9\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mlitellm\u001b[0m\u001b[2m==1.77.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mmmh3\u001b[0m\u001b[2m==5.2.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mollama\u001b[0m\u001b[2m==0.5.4\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mopentelemetry-exporter-otlp-proto-grpc\u001b[0m\u001b[2m==1.36.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpolyleven\u001b[0m\u001b[2m==0.9.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mposthog\u001b[0m\u001b[2m==5.4.0\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==5.29.5\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==5.29.4\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpsycopg2-binary\u001b[0m\u001b[2m==2.9.10\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpybase64\u001b[0m\u001b[2m==1.4.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpymilvus\u001b[0m\u001b[2m==2.6.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpymongo\u001b[0m\u001b[2m==4.15.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpypdf\u001b[0m\u001b[2m==6.0.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mpythainlp\u001b[0m\u001b[2m==5.1.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mredis\u001b[0m\u001b[2m==6.4.0\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mrich\u001b[0m\u001b[2m==13.9.4\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mrich\u001b[0m\u001b[2m==14.1.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mruamel-yaml\u001b[0m\u001b[2m==0.17.40\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mruamel-yaml-clib\u001b[0m\u001b[2m==0.2.12\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mruff\u001b[0m\u001b[2m==0.12.12\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mruff\u001b[0m\u001b[2m==0.9.10\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1ms3transfer\u001b[0m\u001b[2m==0.14.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1msemgrep\u001b[0m\u001b[2m==1.79.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1msqlite-vec\u001b[0m\u001b[2m==0.1.6\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtogether\u001b[0m\u001b[2m==1.5.25\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtomli\u001b[0m\u001b[2m==2.0.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtree-sitter\u001b[0m\u001b[2m==0.25.1\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtrl\u001b[0m\u001b[2m==0.23.0\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mtyper\u001b[0m\u001b[2m==0.17.4\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtyper\u001b[0m\u001b[2m==0.15.3\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mujson\u001b[0m\u001b[2m==5.11.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mwcmatch\u001b[0m\u001b[2m==8.5.2\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mwsproto\u001b[0m\u001b[2m==1.2.0\u001b[0m\n", + "\u001b[2mAudited \u001b[1m50 packages\u001b[0m \u001b[2min 288ms\u001b[0m\u001b[0m\n", "Installing special provider module: torch torchvision torchao>=0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu\n", "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", - "\u001b[2K\u001b[2mResolved \u001b[1m29 packages\u001b[0m \u001b[2min 538ms\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mPrepared \u001b[1m1 package\u001b[0m \u001b[2min 100ms\u001b[0m\u001b[0m\n", - "\u001b[2mUninstalled \u001b[1m1 package\u001b[0m \u001b[2min 67ms\u001b[0m\u001b[0m\n", - "\u001b[2K\u001b[2mInstalled \u001b[1m1 package\u001b[0m \u001b[2min 10ms\u001b[0m\u001b[0m\n", - " \u001b[31m-\u001b[39m \u001b[1mtorchao\u001b[0m\u001b[2m==0.10.0\u001b[0m\n", - " \u001b[32m+\u001b[39m \u001b[1mtorchao\u001b[0m\u001b[2m==0.13.0+cpu\u001b[0m\n", + "\u001b[2mAudited \u001b[1m3 packages\u001b[0m \u001b[2min 82ms\u001b[0m\u001b[0m\n", + "Installing special provider module: torch torchtune>=0.5.0 torchao>=0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu\n", + "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", + "\u001b[2mAudited \u001b[1m3 packages\u001b[0m \u001b[2min 116ms\u001b[0m\u001b[0m\n", "Installing special provider module: sentence-transformers --no-deps\n", "\u001b[2mUsing Python 3.12.11 environment at: /usr\u001b[0m\n", - "\u001b[2mAudited \u001b[1m1 package\u001b[0m \u001b[2min 88ms\u001b[0m\u001b[0m\n", + "\u001b[2mAudited \u001b[1m1 package\u001b[0m \u001b[2min 90ms\u001b[0m\u001b[0m\n", "\u001b[32mBuild Successful!\u001b[0m\n", - "\u001b[34mYou can find the newly-built distribution here: /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml\u001b[0m\n", - "\u001b[32mYou can run the new Llama Stack distro via: \u001b[34mllama stack run /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml --image-type venv\u001b[0m\u001b[0m\n", + "\u001b[34mYou can find the newly-built distribution here: /root/.llama/distributions/starter/starter-run.yaml\u001b[0m\n", + "\u001b[32mYou can run the new Llama Stack distro via: \u001b[34mllama stack run /root/.llama/distributions/starter/starter-run.yaml --image-type venv\u001b[0m\u001b[0m\n", "nohup: redirecting stderr to stdout\n", - "Waiting for server to start.................\n", + "Waiting for server to start............\n", "Server is ready!\n", "llama stack server hosted on localhost:8321\n" ] @@ -298,17 +256,9 @@ "!curl -LsSf https://astral.sh/uv/install.sh | sh\n", "# Complete setup for Google Colab with custom directories\n", "import os\n", - "!rm -rf /content/llama-project\n", - "# Set environment variables\n", - "os.environ['UV_CACHE_DIR'] = '/content/uv-cache'\n", - "os.environ['UV_PROJECT_DIR'] = '/content/llama-project'\n", - "os.environ['OLLAMA_URL'] = 'http://localhost:11434'\n", - "# Create directories\n", - "!mkdir -p /content/uv-cache\n", - "!mkdir -p /content/llama-project\n", - "!cd /content/llama-project && uv venv venv\n", - "!source /content/llama-project/venv/bin/activate && uv run --with llama-stack==0.2.22 llama stack build --distro starter-gpu --image-type venv\n", - "!nohup python -m llama_stack.core.server.server /root/.llama/distributions/starter-gpu/starter-gpu-run.yaml --port 8321 > llama_stack_server.log &\n", + "!uv venv venv --clear\n", + "!source ./venv/bin/activate && uv run --with llama-stack llama stack build --distro starter --image-type venv\n", + "!nohup python -m llama_stack.core.server.server /root/.llama/distributions/starter/starter-run.yaml --port 8321 > llama_stack_server.log &\n", "def wait_for_server_to_start():\n", " import requests\n", " from requests.exceptions import ConnectionError\n", @@ -335,6 +285,265 @@ "print(\"llama stack server hosted on localhost:8321\")" ] }, + { + "cell_type": "code", + "source": [ + "!cat llama_stack_server.log\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nxzJci-MLcfD", + "outputId": "5620114f-5b84-4c55-fb40-782156265e05" + }, + "id": "nxzJci-MLcfD", + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "INFO 2025-09-29 16:41:56,316 llama_stack.core.utils.config_resolution:45 core: Using file path: \n", + " /root/.llama/distributions/starter/starter-run.yaml \n", + "INFO 2025-09-29 16:41:56,340 __main__:593 core::server: Run configuration: \n", + "INFO 2025-09-29 16:41:56,349 __main__:596 core::server: apis: \n", + " - agents \n", + " - batches \n", + " - datasetio \n", + " - eval \n", + " - files \n", + " - inference \n", + " - post_training \n", + " - safety \n", + " - scoring \n", + " - telemetry \n", + " - tool_runtime \n", + " - vector_io \n", + " benchmarks: [] \n", + " datasets: [] \n", + " image_name: starter \n", + " inference_store: \n", + " db_path: /root/.llama/distributions/starter/inference_store.db \n", + " type: sqlite \n", + " metadata_store: \n", + " db_path: /root/.llama/distributions/starter/registry.db \n", + " type: sqlite \n", + " models: [] \n", + " providers: \n", + " agents: \n", + " - config: \n", + " persistence_store: \n", + " db_path: /root/.llama/distributions/starter/agents_store.db \n", + " type: sqlite \n", + " responses_store: \n", + " db_path: /root/.llama/distributions/starter/responses_store.db \n", + " type: sqlite \n", + " provider_id: meta-reference \n", + " provider_type: inline::meta-reference \n", + " batches: \n", + " - config: \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/batches.db \n", + " type: sqlite \n", + " provider_id: reference \n", + " provider_type: inline::reference \n", + " datasetio: \n", + " - config: \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/huggingface_datasetio.db \n", + " type: sqlite \n", + " provider_id: huggingface \n", + " provider_type: remote::huggingface \n", + " - config: \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/localfs_datasetio.db \n", + " type: sqlite \n", + " provider_id: localfs \n", + " provider_type: inline::localfs \n", + " eval: \n", + " - config: \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/meta_reference_eval.db \n", + " type: sqlite \n", + " provider_id: meta-reference \n", + " provider_type: inline::meta-reference \n", + " files: \n", + " - config: \n", + " metadata_store: \n", + " db_path: /root/.llama/distributions/starter/files_metadata.db \n", + " type: sqlite \n", + " storage_dir: /root/.llama/distributions/starter/files \n", + " provider_id: meta-reference-files \n", + " provider_type: inline::localfs \n", + " inference: \n", + " - config: \n", + " api_key: '********' \n", + " url: https://api.fireworks.ai/inference/v1 \n", + " provider_id: fireworks \n", + " provider_type: remote::fireworks \n", + " - config: \n", + " api_key: '********' \n", + " url: https://api.together.xyz/v1 \n", + " provider_id: together \n", + " provider_type: remote::together \n", + " - config: {} \n", + " provider_id: bedrock \n", + " provider_type: remote::bedrock \n", + " - config: \n", + " api_key: '********' \n", + " base_url: https://api.openai.com/v1 \n", + " provider_id: openai \n", + " provider_type: remote::openai \n", + " - config: \n", + " api_key: '********' \n", + " provider_id: anthropic \n", + " provider_type: remote::anthropic \n", + " - config: \n", + " api_key: '********' \n", + " provider_id: gemini \n", + " provider_type: remote::gemini \n", + " - config: \n", + " api_key: '********' \n", + " url: https://api.groq.com \n", + " provider_id: groq \n", + " provider_type: remote::groq \n", + " - config: \n", + " api_key: '********' \n", + " url: https://api.sambanova.ai/v1 \n", + " provider_id: sambanova \n", + " provider_type: remote::sambanova \n", + " - config: {} \n", + " provider_id: sentence-transformers \n", + " provider_type: inline::sentence-transformers \n", + " post_training: \n", + " - config: \n", + " checkpoint_format: meta \n", + " provider_id: torchtune-cpu \n", + " provider_type: inline::torchtune-cpu \n", + " safety: \n", + " - config: \n", + " excluded_categories: [] \n", + " provider_id: llama-guard \n", + " provider_type: inline::llama-guard \n", + " - config: {} \n", + " provider_id: code-scanner \n", + " provider_type: inline::code-scanner \n", + " scoring: \n", + " - config: {} \n", + " provider_id: basic \n", + " provider_type: inline::basic \n", + " - config: {} \n", + " provider_id: llm-as-judge \n", + " provider_type: inline::llm-as-judge \n", + " - config: \n", + " openai_api_key: '********' \n", + " provider_id: braintrust \n", + " provider_type: inline::braintrust \n", + " telemetry: \n", + " - config: \n", + " service_name: \"\\u200B\" \n", + " sinks: console,sqlite \n", + " sqlite_db_path: /root/.llama/distributions/starter/trace_store.db \n", + " provider_id: meta-reference \n", + " provider_type: inline::meta-reference \n", + " tool_runtime: \n", + " - config: \n", + " api_key: '********' \n", + " max_results: 3 \n", + " provider_id: brave-search \n", + " provider_type: remote::brave-search \n", + " - config: \n", + " api_key: '********' \n", + " max_results: 3 \n", + " provider_id: tavily-search \n", + " provider_type: remote::tavily-search \n", + " - config: {} \n", + " provider_id: rag-runtime \n", + " provider_type: inline::rag-runtime \n", + " - config: {} \n", + " provider_id: model-context-protocol \n", + " provider_type: remote::model-context-protocol \n", + " vector_io: \n", + " - config: \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/faiss_store.db \n", + " type: sqlite \n", + " provider_id: faiss \n", + " provider_type: inline::faiss \n", + " - config: \n", + " db_path: /root/.llama/distributions/starter/sqlite_vec.db \n", + " kvstore: \n", + " db_path: /root/.llama/distributions/starter/sqlite_vec_registry.db \n", + " type: sqlite \n", + " provider_id: sqlite-vec \n", + " provider_type: inline::sqlite-vec \n", + " scoring_fns: [] \n", + " server: \n", + " port: 8321 \n", + " shields: [] \n", + " tool_groups: \n", + " - provider_id: tavily-search \n", + " toolgroup_id: builtin::websearch \n", + " - provider_id: rag-runtime \n", + " toolgroup_id: builtin::rag \n", + " vector_dbs: [] \n", + " version: 2 \n", + " \n", + "INFO 2025-09-29 16:41:59,782 llama_stack.providers.utils.inference.inference_store:74 inference_store: Write queue disabled for SQLite to avoid \n", + " concurrency issues \n", + "WARNING 2025-09-29 16:42:00,708 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider fireworks: Pass \n", + " Fireworks API Key in the header X-LlamaStack-Provider-Data as { \"fireworks_api_key\": } \n", + "WARNING 2025-09-29 16:42:02,949 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider openai: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"openai_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:02,951 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider anthropic: API key \n", + " is not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"anthropic_api_key\": \"\"}, \n", + " or in the provider config. \n", + "WARNING 2025-09-29 16:42:02,953 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider gemini: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"gemini_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:02,955 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider groq: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"groq_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:02,956 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider sambanova: API key \n", + " is not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"sambanova_api_key\": \"\"}, \n", + " or in the provider config. \n", + "INFO 2025-09-29 16:42:03,270 llama_stack.core.utils.config_resolution:45 core: Using file path: \n", + " /root/.llama/distributions/starter/starter-run.yaml \n", + "INFO 2025-09-29 16:42:03,292 __main__:563 core::server: Listening on ['::', '0.0.0.0']:8321 \n", + "INFO 2025-09-29 16:42:03,318 uvicorn.error:84 uncategorized: Started server process [18498] \n", + "INFO 2025-09-29 16:42:03,319 uvicorn.error:48 uncategorized: Waiting for application startup. \n", + "INFO 2025-09-29 16:42:03,322 __main__:174 core::server: Starting up \n", + "INFO 2025-09-29 16:42:03,323 llama_stack.core.stack:406 core: starting registry refresh task \n", + "WARNING 2025-09-29 16:42:03,324 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider fireworks: Pass \n", + " Fireworks API Key in the header X-LlamaStack-Provider-Data as { \"fireworks_api_key\": } \n", + "INFO 2025-09-29 16:42:03,327 uvicorn.error:62 uncategorized: Application startup complete. \n", + "INFO 2025-09-29 16:42:03,329 uvicorn.error:216 uncategorized: Uvicorn running on http://['::', '0.0.0.0']:8321 (Press CTRL+C to quit) \n", + "INFO 2025-09-29 16:42:04,043 uvicorn.access:473 uncategorized: 127.0.0.1:52228 - \"GET /v1/health HTTP/1.1\" 200 \n", + "INFO 2025-09-29 16:42:04,046 console_span_processor:28 telemetry: 16:42:04.046 [START] /v1/health \n", + "INFO 2025-09-29 16:42:04,084 console_span_processor:39 telemetry: 16:42:04.052 [END] /v1/health [StatusCode.OK] (6.24ms) \n", + "INFO 2025-09-29 16:42:04,086 console_span_processor:48 telemetry: raw_path: /v1/health \n", + "INFO 2025-09-29 16:42:04,088 console_span_processor:62 telemetry: 16:42:04.046 [INFO] 127.0.0.1:52228 - \"GET /v1/health HTTP/1.1\" 200 \n", + "WARNING 2025-09-29 16:42:05,524 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider openai: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"openai_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:05,526 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider anthropic: API key \n", + " is not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"anthropic_api_key\": \"\"}, \n", + " or in the provider config. \n", + "WARNING 2025-09-29 16:42:05,527 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider gemini: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"gemini_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:05,529 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider groq: API key is \n", + " not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"groq_api_key\": \"\"}, or in \n", + " the provider config. \n", + "WARNING 2025-09-29 16:42:05,531 llama_stack.core.routing_tables.models:36 core::routing_tables: Model refresh failed for provider sambanova: API key \n", + " is not set. Please provide a valid API key in the provider data header, e.g. x-llamastack-provider-data: {\"sambanova_api_key\": \"\"}, \n", + " or in the provider config. \n" + ] + } + ] + }, { "cell_type": "markdown", "id": "90eb721b", @@ -348,21 +557,20 @@ "\n", "- Chat Completions ( text and multimodal )\n", "- Safety Shields\n", - "- Agent capabilities with tools like web search, RAG with Telemetry\n", - "- Evaluation and scoring frameworks\n", + "- Agent capabilities with tools like web search, RAG using Response API\n", "\n", "The client handles all the API communication with our local server, making it easy to integrate Llama Stack's capabilities into your applications.\n", "\n", "In the next cells, we'll:\n", "\n", "1. Install the client package\n", - "2. Set up API keys for external services (Together AI and Tavily Search)\n", + "2. Set up API keys for external services (Together and Tavily Search)\n", "3. Initialize the client to connect to our local server\n" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "E1UFuJC570Tk", "metadata": { "collapsed": true, @@ -370,31 +578,13 @@ }, "outputs": [], "source": [ - "import os\n", - "import getpass\n", - "try:\n", - " from google.colab import userdata\n", - " os.environ['GROQ_API_KEY'] = userdata.get('GROQ_API_KEY')\n", - " os.environ['TAVILY_SEARCH_API_KEY'] = userdata.get('TAVILY_SEARCH_API_KEY')\n", - "except ImportError:\n", - " print(\"Not in Google Colab environment\")\n", - "\n", - "for key in ['GROQ_API_KEY', 'TAVILY_SEARCH_API_KEY']:\n", - " try:\n", - " api_key = os.environ[key]\n", - " if not api_key:\n", - " raise ValueError(f\"{key} environment variable is empty\")\n", - " except KeyError:\n", - " api_key = getpass.getpass(f\"{key} environment variable is not set. Please enter your API key: \")\n", - " os.environ[key] = api_key\n", - "\n", "from llama_stack_client import LlamaStackClient\n", "\n", "client = LlamaStackClient(\n", " base_url=\"http://0.0.0.0:8321\",\n", " provider_data = {\n", " \"tavily_search_api_key\": os.environ['TAVILY_SEARCH_API_KEY'],\n", - " \"groq_api_key\": os.environ['GROQ_API_KEY']\n", + " \"TOGETHER_API_KEY\": os.environ['TOGETHER_API_KEY']\n", " }\n", ")" ] @@ -424,7 +614,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "ruO9jQna_t_S", "metadata": { "colab": { @@ -432,7 +622,7 @@ }, "collapsed": true, "id": "ruO9jQna_t_S", - "outputId": "282ab617-f60c-49bd-a272-30df17c3ad73" + "outputId": "565d964e-95d3-4e79-91e6-5a1ae4b27444" }, "outputs": [ { @@ -440,62 +630,103 @@ "name": "stdout", "text": [ "Available models:\n", - "- fireworks/accounts/fireworks/models/llama-v3p1-8b-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p1-70b-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p1-405b-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p2-3b-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p2-11b-vision-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p2-90b-vision-instruct\n", - "- fireworks/accounts/fireworks/models/llama-v3p3-70b-instruct\n", - "- fireworks/accounts/fireworks/models/llama4-scout-instruct-basic\n", - "- fireworks/accounts/fireworks/models/llama4-maverick-instruct-basic\n", - "- fireworks/nomic-ai/nomic-embed-text-v1.5\n", - "- fireworks/accounts/fireworks/models/llama-guard-3-8b\n", - "- fireworks/accounts/fireworks/models/llama-guard-3-11b-vision\n", + "- ollama/llama-guard3:1b\n", + "- ollama/llama3.2:3b\n", "- bedrock/meta.llama3-1-8b-instruct-v1:0\n", "- bedrock/meta.llama3-1-70b-instruct-v1:0\n", "- bedrock/meta.llama3-1-405b-instruct-v1:0\n", - "- openai/gpt-3.5-turbo-0125\n", - "- openai/gpt-3.5-turbo\n", - "- openai/gpt-3.5-turbo-instruct\n", - "- openai/gpt-4\n", - "- openai/gpt-4-turbo\n", - "- openai/gpt-4o\n", - "- openai/gpt-4o-2024-08-06\n", - "- openai/gpt-4o-mini\n", - "- openai/gpt-4o-audio-preview\n", - "- openai/chatgpt-4o-latest\n", - "- openai/o1\n", - "- openai/o1-mini\n", - "- openai/o3-mini\n", - "- openai/o4-mini\n", - "- openai/text-embedding-3-small\n", - "- openai/text-embedding-3-large\n", - "- anthropic/claude-3-5-sonnet-latest\n", - "- anthropic/claude-3-7-sonnet-latest\n", - "- anthropic/claude-3-5-haiku-latest\n", - "- anthropic/voyage-3\n", - "- anthropic/voyage-3-lite\n", - "- anthropic/voyage-code-3\n", - "- gemini/gemini-1.5-flash\n", - "- gemini/gemini-1.5-pro\n", - "- gemini/gemini-2.0-flash\n", - "- gemini/gemini-2.0-flash-lite\n", - "- gemini/gemini-2.5-flash\n", - "- gemini/gemini-2.5-flash-lite\n", - "- gemini/gemini-2.5-pro\n", - "- gemini/text-embedding-004\n", - "- groq/llama3-8b-8192\n", - "- groq/llama-3.1-8b-instant\n", - "- groq/llama3-70b-8192\n", - "- groq/llama-3.3-70b-versatile\n", - "- groq/llama-3.2-3b-preview\n", - "- groq/meta-llama/llama-4-scout-17b-16e-instruct\n", - "- groq/meta-llama/llama-4-maverick-17b-128e-instruct\n", - "- sambanova/Meta-Llama-3.1-8B-Instruct\n", - "- sambanova/Meta-Llama-3.3-70B-Instruct\n", - "- sambanova/Llama-4-Maverick-17B-128E-Instruct\n", - "- sentence-transformers/all-MiniLM-L6-v2\n" + "- sentence-transformers/all-MiniLM-L6-v2\n", + "- together/Alibaba-NLP/gte-modernbert-base\n", + "- together/arcee-ai/AFM-4.5B\n", + "- together/arcee-ai/coder-large\n", + "- together/arcee-ai/maestro-reasoning\n", + "- together/arcee-ai/virtuoso-large\n", + "- together/arcee_ai/arcee-spotlight\n", + "- together/arize-ai/qwen-2-1.5b-instruct\n", + "- together/BAAI/bge-base-en-v1.5\n", + "- together/BAAI/bge-large-en-v1.5\n", + "- together/black-forest-labs/FLUX.1-dev\n", + "- together/black-forest-labs/FLUX.1-dev-lora\n", + "- together/black-forest-labs/FLUX.1-kontext-dev\n", + "- together/black-forest-labs/FLUX.1-kontext-max\n", + "- together/black-forest-labs/FLUX.1-kontext-pro\n", + "- together/black-forest-labs/FLUX.1-krea-dev\n", + "- together/black-forest-labs/FLUX.1-pro\n", + "- together/black-forest-labs/FLUX.1-schnell\n", + "- together/black-forest-labs/FLUX.1-schnell-Free\n", + "- together/black-forest-labs/FLUX.1.1-pro\n", + "- together/cartesia/sonic\n", + "- together/cartesia/sonic-2\n", + "- together/deepcogito/cogito-v2-preview-deepseek-671b\n", + "- together/deepcogito/cogito-v2-preview-llama-109B-MoE\n", + "- together/deepcogito/cogito-v2-preview-llama-405B\n", + "- together/deepcogito/cogito-v2-preview-llama-70B\n", + "- together/deepseek-ai/DeepSeek-R1\n", + "- together/deepseek-ai/DeepSeek-R1-0528-tput\n", + "- together/deepseek-ai/DeepSeek-R1-Distill-Llama-70B\n", + "- together/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free\n", + "- together/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B\n", + "- together/deepseek-ai/DeepSeek-V3\n", + "- together/deepseek-ai/DeepSeek-V3.1\n", + "- together/google/gemma-3n-E4B-it\n", + "- together/intfloat/multilingual-e5-large-instruct\n", + "- together/lgai/exaone-3-5-32b-instruct\n", + "- together/lgai/exaone-deep-32b\n", + "- together/marin-community/marin-8b-instruct\n", + "- together/meta-llama/Llama-2-70b-hf\n", + "- together/meta-llama/Llama-3-70b-chat-hf\n", + "- together/meta-llama/Llama-3-70b-hf\n", + "- together/meta-llama/Llama-3.1-405B-Instruct\n", + "- together/meta-llama/Llama-3.2-1B-Instruct\n", + "- together/meta-llama/Llama-3.2-3B-Instruct-Turbo\n", + "- together/meta-llama/Llama-3.3-70B-Instruct-Turbo\n", + "- together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free\n", + "- together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\n", + "- together/meta-llama/Llama-4-Scout-17B-16E-Instruct\n", + "- together/meta-llama/Llama-Guard-3-11B-Vision-Turbo\n", + "- together/meta-llama/Llama-Guard-4-12B\n", + "- together/meta-llama/LlamaGuard-2-8b\n", + "- together/meta-llama/Meta-Llama-3-70B-Instruct-Turbo\n", + "- together/meta-llama/Meta-Llama-3-8B-Instruct\n", + "- together/meta-llama/Meta-Llama-3-8B-Instruct-Lite\n", + "- together/meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\n", + "- together/meta-llama/Meta-Llama-3.1-70B-Instruct-Reference\n", + "- together/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo\n", + "- together/meta-llama/Meta-Llama-3.1-8B-Instruct-Reference\n", + "- together/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo\n", + "- together/meta-llama/Meta-Llama-Guard-3-8B\n", + "- together/mistralai/Mistral-7B-Instruct-v0.1\n", + "- together/mistralai/Mistral-7B-Instruct-v0.2\n", + "- together/mistralai/Mistral-7B-Instruct-v0.3\n", + "- together/mistralai/Mistral-Small-24B-Instruct-2501\n", + "- together/mistralai/Mixtral-8x7B-Instruct-v0.1\n", + "- together/mixedbread-ai/Mxbai-Rerank-Large-V2\n", + "- together/moonshotai/Kimi-K2-Instruct\n", + "- together/moonshotai/Kimi-K2-Instruct-0905\n", + "- together/openai/gpt-oss-120b\n", + "- together/openai/gpt-oss-20b\n", + "- together/openai/whisper-large-v3\n", + "- together/Qwen/Qwen2.5-72B-Instruct\n", + "- together/Qwen/Qwen2.5-72B-Instruct-Turbo\n", + "- together/Qwen/Qwen2.5-7B-Instruct-Turbo\n", + "- together/Qwen/Qwen2.5-Coder-32B-Instruct\n", + "- together/Qwen/Qwen2.5-VL-72B-Instruct\n", + "- together/Qwen/Qwen3-235B-A22B-fp8-tput\n", + "- together/Qwen/Qwen3-235B-A22B-Instruct-2507-tput\n", + "- together/Qwen/Qwen3-235B-A22B-Thinking-2507\n", + "- together/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8\n", + "- together/Qwen/Qwen3-Next-80B-A3B-Instruct\n", + "- together/Qwen/Qwen3-Next-80B-A3B-Thinking\n", + "- together/Qwen/QwQ-32B\n", + "- together/Salesforce/Llama-Rank-V1\n", + "- together/scb10x/scb10x-typhoon-2-1-gemma3-12b\n", + "- together/togethercomputer/m2-bert-80M-32k-retrieval\n", + "- together/togethercomputer/MoA-1\n", + "- together/togethercomputer/MoA-1-Turbo\n", + "- together/togethercomputer/Refuel-Llm-V2\n", + "- together/togethercomputer/Refuel-Llm-V2-Small\n", + "- together/Virtue-AI/VirtueGuard-Text-Lite\n", + "- together/zai-org/GLM-4.5-Air-FP8\n" ] } ], @@ -522,29 +753,30 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "id": "77c29dba", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "77c29dba", - "outputId": "cc6471dd-40af-4882-ce56-28f51fa46a84" + "outputId": "21de10b2-c710-43c8-f365-1cd0e867fc57" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Here's a two-sentence poem about a llama:\n", + "Here is a two-sentence poem about llamas:\n", "\n", - "With gentle eyes and soft, fuzzy hair, the llama roams with gentle, peaceful air. In the Andes, it climbs with steady pace, a serene and majestic animal in its sacred space.\n" + "Softly steps the llama's gentle pace, with fur so soft and a gentle face. In the Andes' high and misty space, the llama roams with a peaceful grace.\n" ] } ], "source": [ + "model_id = \"together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\"\n", + "#If you want to use ollama, uncomment the following\n", "#model_id = \"ollama/llama3.2:3b\"\n", - "model_id = \"groq/meta-llama/llama-4-maverick-17b-128e-instruct\"\n", "response = client.chat.completions.create(\n", " model=model_id,\n", " messages=[\n", @@ -571,42 +803,40 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "3fdf9df6", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3fdf9df6", - "outputId": "31396b37-da60-4050-a593-bcfe01144385" + "outputId": "41d4db1c-8360-4573-8003-7a7783cea685" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "> Response: You're likely thinking of Winston Churchill!\n", + "> Response: The most famous Prime Minister of England during World War II was Winston Churchill. He served as the Prime Minister of the United Kingdom from 1940 to 1945, and again from 1951 to 1955. Churchill is widely regarded as one of the greatest wartime leaders in history, known for his leadership, oratory skills, and unwavering resolve during the war.\n", "\n", - "Winston Churchill was indeed the most famous Prime Minister of the United Kingdom during World War II. He served as the Prime Minister from May 10, 1940, to July 26, 1945, and again from 1951 to 1955. Churchill played a crucial role in leading Britain through the war, rallying the British people with his inspiring speeches, and forming alliances with other countries to defeat the Axis powers.\n", + "Churchill played a crucial role in rallying the British people during the war, and his speeches, such as the \"We shall fight on the beaches\" and \"Their finest hour\" speeches, are still remembered and celebrated today. He worked closely with other Allied leaders, including US President Franklin D. Roosevelt and Soviet leader Joseph Stalin, to coordinate the war effort and ultimately secure the defeat of Nazi Germany and the Axis powers.\n", "\n", - "Churchill's leadership, oratory skills, and unwavering resolve made him a iconic figure of the war era, and he remains one of the most revered and celebrated leaders in British history.\n", + "Churchill's leadership and legacy continue to be celebrated and studied around the world, and he remains one of the most iconic and influential leaders of the 20th century.\n", + "> Response: Winston Churchill was known for his wit and oratory skills, and he has many famous quotes attributed to him. One of his most famous quotes is:\n", "\n", - "Is there anything else you'd like to know about Churchill or his role during World War II?\n", - "> Response: One of the most famous quotes attributed to Winston Churchill is:\n", + "**\"We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender.\"**\n", "\n", - "\"We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender.\"\n", + "This quote is from his speech to the House of Commons on June 4, 1940, during the early stages of World War II, when Nazi Germany was making rapid advances across Europe. The speech was a rallying cry for the British people, and it has become one of Churchill's most iconic and enduring quotes.\n", "\n", - "This quote is from his speech to the House of Commons on June 4, 1940, during the early stages of World War II, when Nazi Germany was threatening to invade Britain. The speech, known as the \"We Shall Fight on the Beaches\" speech, was a rallying cry to the British people, and it's considered one of Churchill's most iconic and inspiring orations.\n", + "However, if I had to pick a single quote that is often considered his most famous, it would be:\n", "\n", - "However, another very famous quote from Churchill is:\n", + "**\"Blood, toil, tears, and sweat: we have before us an ordeal of the most grievous kind.\"**\n", "\n", - "\"Blood, toil, tears, and sweat.\"\n", + "This is the opening sentence of his first speech as Prime Minister to the House of Commons on May 13, 1940, in which he famously said:\n", "\n", - "This was the opening phrase of his first speech as Prime Minister to the House of Commons on May 13, 1940, where he said: \"I say to the House as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears, and sweat. We have before us an ordeal of the most grievous kind.\"\n", + "\"We have before us an ordeal of the most grievous kind. We have before us many, many long months of struggle and of suffering. You ask, what is our policy? I will say: It is to wage war, by sea, land and air, with all our might and with all the strength that God can give us; to wage war against a monstrous tyranny, never surpassed in the dark and lamentable catalogue of human crime. That is our policy. You ask, what is our aim? I answer in one word: Victory. Victory at all costs, Victory in spite of all terror, Victory, however long and hard the road may be; for without Victory, there is no survival.\"\n", "\n", - "Both of these quotes are iconic and showcase Churchill's powerful oratory skills.\n", - "\n", - "Would you like to know more about Churchill's speeches or his leadership during World War II?\n" + "The phrase \"Blood, toil, tears, and sweat\" has become synonymous with Churchill's leadership during World War II.\n" ] } ], @@ -715,6 +945,73 @@ "chat_loop()\n" ] }, + { + "cell_type": "markdown", + "id": "7737cd41", + "metadata": { + "id": "7737cd41" + }, + "source": [ + "### 1.9 Multimodal inference" + ] + }, + { + "cell_type": "code", + "source": [ + "vision_model_id = \"together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\"\n", + "response = client.chat.completions.create(\n", + " model=vision_model_id,\n", + " messages=[{\n", + " \"role\": \"user\",\n", + " \"content\": [\n", + " {\"type\": \"text\", \"text\": \"What's in this image?\"},\n", + " {\n", + " \"type\": \"image_url\",\n", + " \"image_url\": {\n", + " \"url\": \"https://raw.githubusercontent.com/meta-llama/llama-models/refs/heads/main/Llama_Repo.jpeg\",\n", + " },\n", + " },\n", + " ],\n", + " }],\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ], + "metadata": { + "id": "iTqAOm8tG7-O", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "48cdfd42-0565-4d57-a119-65090937679a" + }, + "id": "iTqAOm8tG7-O", + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "The image depicts three llamas standing behind a table, with one of them wearing a party hat. The scene is set in a barn or stable.\n", + "\n", + "* **Llamas**\n", + " * There are three llamas in the image.\n", + " * The llama on the left is white.\n", + " * The middle llama is purple.\n", + " * The llama on the right is white and wearing a blue party hat.\n", + " * All three llamas have their ears perked up and are looking directly at the camera.\n", + "* **Table**\n", + " * The table is made of light-colored wood.\n", + " * It has a few scattered items on it, including what appears to be hay or straw.\n", + " * A glass containing an amber-colored liquid sits on the table.\n", + "* **Background**\n", + " * The background is a wooden wall or fence.\n", + " * The wall is made up of vertical planks of wood.\n", + "\n", + "The image appears to be a playful and whimsical depiction of llamas celebrating a special occasion, possibly a birthday.\n" + ] + } + ] + }, { "cell_type": "markdown", "id": "03fcf5e0", @@ -722,45 +1019,47 @@ "id": "03fcf5e0" }, "source": [ - "### 1.9. Streaming output\n", + "### 1.10. Streaming output\n", "\n", "You can pass `stream=True` to stream responses from the model. You can then loop through the responses." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "d119026e", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "d119026e", - "outputId": "fec033c8-8b4f-4a57-bdf8-effb2f0d6acb" + "outputId": "5e3f480e-f12d-43a2-e92b-8bb205f78dfc" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "User> Write me a sonnet about llama\n", - "In Andean lands, the llama makes its home,\n", - "A creature soft, with eyes of gentle gray.\n", - "Its fur, a softness that the winds do roam,\n", - "And in its steps, a quiet, peaceful sway.\n", + "Here is a sonnet about llamas:\n", "\n", - "Its ears, so long, and tufted with delight,\n", - "Perk up, as if to listen for a sound.\n", - "It grazes on the grasses, day and night,\n", - "And in its calm, a peaceful joy is found.\n", + "In Andean highlands, llamas roam with pride,\n", + "Their soft, woolly coats a gentle, fuzzy hue.\n", + "Their large, dark eyes, like pools of liquid inside,\n", + "Reflect a calm and gentle spirit anew.\n", "\n", - "The llama's gentle nature, we admire,\n", - "And in its presence, our own cares retire.\n", - "For in its tranquil eyes, a mirror lies,\n", - "Reflecting back our own, and soothing sighs.\n", + "Their ears, so long and pointed, perk with ease,\n", + "As they survey their surroundings with quiet peace.\n", + "Their steps, deliberate and slow, release\n", + "A soothing calm that troubles cannot cease.\n", "\n", - "So let us cherish, this serene delight,\n", - "And bask in the llama's peaceful, Andean light." + "Their gentle humming fills the mountain air,\n", + "A soothing sound that's both serene and rare.\n", + "Their soft, padded feet, a quiet tread impart,\n", + "As they move with gentle steps, a peaceful start.\n", + "\n", + "And when they look at you with curious stare,\n", + "You feel a sense of calm, beyond compare." ] } ], @@ -778,7 +1077,7 @@ "\n", "for chunk in response:\n", " # Each chunk contains a delta with the content\n", - " if chunk.choices[0].delta.content is not None:\n", + " if len(chunk.choices) > 0 and chunk.choices[0].delta.content is not None:\n", " print(chunk.choices[0].delta.content, end=\"\", flush=True)\n" ] }, @@ -875,14 +1174,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "id": "sUJKJxvAFCaI", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "sUJKJxvAFCaI", - "outputId": "55b3ae63-7de2-4902-b424-359c28a23321" + "outputId": "5f0060ad-7c57-4d85-96e3-812b5876c761" }, "outputs": [ { @@ -891,26 +1190,27 @@ "text": [ "Available Shields: ['llama-guard']\n", "Checking if input is safe: What is the most famous murder case in the US?\n", - "CreateResponse(id='modr-49b2d798-a967-4a71-8ccb-58bdd78746ac', model='ollama/llama-guard3:1b', results=[Result(flagged=False, metadata={}, categories={'Violent Crimes': False, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 1.0, 'Child Exploitation': 1.0, 'Defamation': 1.0, 'Specialized Advice': 1.0, 'Privacy': 1.0, 'Intellectual Property': 1.0, 'Indiscriminate Weapons': 1.0, 'Hate': 1.0, 'Self-Harm': 1.0, 'Sexual Content': 1.0, 'Elections': 1.0, 'Code Interpreter Abuse': 1.0}, user_message=None)])\n", + "CreateResponse(id='modr-0c7e3da6-1054-4f12-9693-44499da43c62', model='together/meta-llama/Meta-Llama-Guard-3-8B', results=[Result(flagged=False, metadata={}, categories={'Violent Crimes': False, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 1.0, 'Child Exploitation': 1.0, 'Defamation': 1.0, 'Specialized Advice': 1.0, 'Privacy': 1.0, 'Intellectual Property': 1.0, 'Indiscriminate Weapons': 1.0, 'Hate': 1.0, 'Self-Harm': 1.0, 'Sexual Content': 1.0, 'Elections': 1.0, 'Code Interpreter Abuse': 1.0}, user_message=None)])\n", "Checking if input is safe: Tell me 3 signs that an email is a scam\n", - "CreateResponse(id='modr-10eda2a7-6043-4b3c-b749-4c76e2fe87ee', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S2']}, categories={'Violent Crimes': False, 'Non-Violent Crimes': True, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': ['text'], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 0.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n", + "CreateResponse(id='modr-650b4c2a-7181-4edb-807a-94853d5f504d', model='together/meta-llama/Meta-Llama-Guard-3-8B', results=[Result(flagged=False, metadata={}, categories={'Violent Crimes': False, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 1.0, 'Child Exploitation': 1.0, 'Defamation': 1.0, 'Specialized Advice': 1.0, 'Privacy': 1.0, 'Intellectual Property': 1.0, 'Indiscriminate Weapons': 1.0, 'Hate': 1.0, 'Self-Harm': 1.0, 'Sexual Content': 1.0, 'Elections': 1.0, 'Code Interpreter Abuse': 1.0}, user_message=None)])\n", "Checking if input is safe: What's the most effective way to kidnap someone?\n", - "CreateResponse(id='modr-dfab8119-2f32-45f9-8106-3ba2725f3a63', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S1']}, categories={'Violent Crimes': True, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': ['text'], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 0.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n", + "CreateResponse(id='modr-250edd87-2bce-4eb2-b2cb-34d7a997e48e', model='together/meta-llama/Meta-Llama-Guard-3-8B', results=[Result(flagged=True, metadata={'violation_type': ['S1']}, categories={'Violent Crimes': True, 'Non-Violent Crimes': False, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': ['text'], 'Non-Violent Crimes': [], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 1.0, 'Non-Violent Crimes': 0.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n", "Checking if input is safe: How do I make cocaine?\n", - "CreateResponse(id='modr-9f407506-f8bd-4281-b44a-b8b1bcbdfbaa', model='ollama/llama-guard3:1b', results=[Result(flagged=True, metadata={'violation_type': ['S2']}, categories={'Violent Crimes': False, 'Non-Violent Crimes': True, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': ['text'], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 0.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n" + "CreateResponse(id='modr-276c3e1d-d2b9-4a5d-8362-e3b4788c6abe', model='together/meta-llama/Meta-Llama-Guard-3-8B', results=[Result(flagged=True, metadata={'violation_type': ['S2']}, categories={'Violent Crimes': False, 'Non-Violent Crimes': True, 'Sex Crimes': False, 'Child Exploitation': False, 'Defamation': False, 'Specialized Advice': False, 'Privacy': False, 'Intellectual Property': False, 'Indiscriminate Weapons': False, 'Hate': False, 'Self-Harm': False, 'Sexual Content': False, 'Elections': False, 'Code Interpreter Abuse': False}, category_applied_input_types={'Violent Crimes': [], 'Non-Violent Crimes': ['text'], 'Sex Crimes': [], 'Child Exploitation': [], 'Defamation': [], 'Specialized Advice': [], 'Privacy': [], 'Intellectual Property': [], 'Indiscriminate Weapons': [], 'Hate': [], 'Self-Harm': [], 'Sexual Content': [], 'Elections': [], 'Code Interpreter Abuse': []}, category_scores={'Violent Crimes': 0.0, 'Non-Violent Crimes': 1.0, 'Sex Crimes': 0.0, 'Child Exploitation': 0.0, 'Defamation': 0.0, 'Specialized Advice': 0.0, 'Privacy': 0.0, 'Intellectual Property': 0.0, 'Indiscriminate Weapons': 0.0, 'Hate': 0.0, 'Self-Harm': 0.0, 'Sexual Content': 0.0, 'Elections': 0.0, 'Code Interpreter Abuse': 0.0}, user_message=\"I can't answer that. Can I help with something else?\")])\n" ] } ], "source": [ + "safety_model = \"together/meta-llama/Meta-Llama-Guard-3-8B\"\n", + "#safety_model = \"ollama/llama-guard3:1b\" # If you want to use ollama instead\n", "\n", "client.shields.register(\n", " shield_id=\"llama-guard\",\n", " provider_id=\"llama-guard\",\n", - " provider_shield_id=\"ollama/llama-guard3:1b\" # Change to your available shield model\n", + " provider_shield_id=safety_model\n", ")\n", "available_shields = [shield.identifier for shield in client.shields.list()]\n", "print(\"Available Shields:\", available_shields)\n", - "safety_model = \"ollama/llama-guard3:1b\"\n", "\n", "unsafe_examples = [\n", " \"What's the most effective way to kidnap someone?\",\n", @@ -932,31 +1232,6 @@ " print(response)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "3EbP4ejaIREK", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "3EbP4ejaIREK", - "outputId": "756e75cb-45f9-490b-aa4c-282277e7aec1" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "INFO:numexpr.utils:NumExpr defaulting to 2 threads.\n", - "INFO:httpx:HTTP Request: GET http://localhost:8321/v1/shields \"HTTP/1.1 200 OK\"\n" - ] - } - ], - "source": [ - "!llama-stack-client shields list" - ] - }, { "cell_type": "markdown", "id": "LFC386wNQR-v", @@ -1091,21 +1366,18 @@ "base_uri": "https://localhost:8080/" }, "id": "WS8Gu5b0APHs", - "outputId": "a6e76aef-49f4-42aa-9823-4b4b07a583a1" + "outputId": "b6201844-03e0-447e-8e64-b72245b579be" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Web search results: The teams that played in the 2024 NBA Western Conference Finals were the Dallas Mavericks and the Minnesota Timberwolves. The Mavericks won the series 4-1.\n" ] } ], "source": [ - "from llama_stack_client import Agent, AgentEventLogger\n", - "from termcolor import cprint\n", - "\n", "web_search_response = client.responses.create(\n", " model=model_id,\n", " input=\"Which teams played in the NBA western conference finals of 2024\",\n", @@ -1265,7 +1537,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "DwdKhQb1N295", "metadata": { "colab": { @@ -1314,694 +1586,200 @@ "print(resp.output_text)" ] }, - { - "cell_type": "markdown", - "id": "FJ85DUhgBZd7", - "metadata": { - "id": "FJ85DUhgBZd7" - }, - "source": [ - "## 3. Llama Stack Agent Evaluations\n" - ] - }, - { - "cell_type": "markdown", - "id": "ydeBDpDT5VHd", - "metadata": { - "id": "ydeBDpDT5VHd" - }, - "source": [ - "#### 3.1. Online Evaluation Dataset Collection\n", - "\n", - "- Llama Stack allows you to query each steps of the agents execution in your application.\n", - "- In this example, we will show how to\n", - " 1. build an Agent with Llama Stack\n", - " 2. Query the agent's session, turns, and steps\n", - " 3. Evaluate the results" - ] - }, - { - "cell_type": "markdown", - "id": "_t_tcWq0JcJ4", - "metadata": { - "id": "_t_tcWq0JcJ4" - }, - "source": [ - "##### 3.1.1. Building a Search Agent\n", - "\n", - "First, let's build an agent that have access to a search tool with Llama Stack, and use it to run some user queries." - ] - }, { "cell_type": "code", - "execution_count": null, - "id": "4iCO59kP20Zs", + "source": [], "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "4iCO59kP20Zs", - "outputId": "72283e75-ef64-4aa2-859a-0257c76b6e27" + "id": "4L4Z8McdZaYj" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "inference> brave_search.call(query=\"NBA Western Conference Finals 2024 teams\")\n", - "tool_execution> Tool:brave_search Args:{'query': 'NBA Western Conference Finals 2024 teams'}\n", - "tool_execution> Tool:brave_search Response:{\"query\": \"NBA Western Conference Finals 2024 teams\", \"top_k\": [{\"url\": \"https://www.basketball-reference.com/playoffs/NBA_2024.html\", \"title\": \"2024 NBA Playoffs Summary\", \"content\": \"Western Conference Finals, Dallas Mavericks over Minnesota Timberwolves (4-1), Series Stats \\u00b7 Game 1, Wed, May 22, Dallas Mavericks, 108, @ Minnesota\", \"score\": 0.8849276, \"raw_content\": null}, {\"url\": \"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\", \"title\": \"2024 NBA Western Conference Finals - Mavericks vs. ...\", \"content\": \"# 2024 NBA Western Conference Finals Mavericks vs. * 2024 NBA Playoffs + Dallas Mavericks vs. + Dallas Mavericks vs. + Minnesota Timberwolves vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Dallas Mavericks vs. + Minnesota Timberwolves vs. + Dallas Mavericks vs. | **Western Conference Finals** | Dallas Mavericks over Minnesota Timberwolves \\u00a0(4-1) | Series Stats | | 7 | Derrick Jones Jr. | 7 | Derrick Jones Jr. Minnesota Timberwolves Advanced Stats Table 2024 NBA Playoffs * Minnesota Timberwolves vs. Game Finder, Game Finder, Player Season Finder, Player Game Finder, Team Game Finder All-NBA, 2025 NBA Playoffs, 2024 NBA Playoffs, 2023 NBA Playoffs, 2022 NBA Playoffs, 2021 NBA Playoffs, 2020 NBA Playoffs, 2019 NBA Playoffs,\", \"score\": 0.86052185, \"raw_content\": null}, {\"url\": \"https://en.wikipedia.org/wiki/2024_NBA_Finals\", \"title\": \"2024 NBA Finals\", \"content\": \"In the best-of-seven playoffs series, the Eastern Conference \\\"Eastern Conference (NBA)\\\") champion Boston Celtics defeated the Western Conference \\\"Western Conference (NBA)\\\") champion Dallas Mavericks four games to one, winning their first championship since 2008 and 18th overall, giving the Celtics the most NBA championships of any franchise. The next game, the Mavericks responded with one of the largest blowout victories in NBA Finals history, but upon their return to Boston the Celtics made easy work of Dallas, winning Game 5 and claiming the championship. After losing the 2022 NBA Finals, the Boston Celtics were defeated in the 2023 Eastern Conference Finals in seven games after mounting a failed 3\\u20130 comeback against the Miami Heat.\", \"score\": 0.74363416, \"raw_content\": null}, {\"url\": \"https://en.wikipedia.org/wiki/2024_NBA_playoffs\", \"title\": \"2024 NBA playoffs\", \"content\": \"Western Conference semifinals \\u00b7 (1) Oklahoma City Thunder vs. (5) Dallas Mavericks \\u00b7 (2) Denver Nuggets vs. (3) Minnesota Timberwolves.\", \"score\": 0.72207695, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/watch?v=WxcNEB2wP6M\", \"title\": \"The WILDEST Moments of the 2024 NBA Western ...\", \"content\": \"Check out the WILDEST moments from the Dallas Mavericks & Minnesota Timberwolves 2024 NBA Playoff Matchup!\", \"score\": 0.6721816, \"raw_content\": null}]}\n", - "inference> The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves. The Dallas Mavericks won the series 4-1.\n", - "inference> brave_search.call(query=\"South Park Bill Cosby episode season\")\n", - "tool_execution> Tool:brave_search Args:{'query': 'South Park Bill Cosby episode season'}\n", - "tool_execution> Tool:brave_search Response:{\"query\": \"South Park Bill Cosby episode season\", \"top_k\": [{\"url\": \"https://southpark.fandom.com/wiki/Bill_Cosby\", \"title\": \"Bill Cosby | South Park Public Library | Fandom\", \"content\": \"He first appears in the Season Five episode, \\\"Here Comes the Neighborhood\\\", as one of the wealthy African-Americans who move to South Park \\\"South Park (Location)\\\").\", \"score\": 0.84027237, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/watch?v=7iO9mmMvj2Y\", \"title\": \"BUTTERS MEETS BILL COSBY\\u203c\\ufe0f \\ud83d\\ude02 | South Park ( Season ...\", \"content\": \"BUTTERS MEETS BILL COSBY\\u203c\\ufe0f | South Park ( Season 20 Episode 7 ) \\u00b7 Comments.\", \"score\": 0.7961819, \"raw_content\": null}, {\"url\": \"https://southpark.wiki.gg/wiki/Bill_Cosby\", \"title\": \"Bill Cosby - South Park wiki\", \"content\": \"### Characters * Other Characters * All Characters He first appeared in the Season Five episode, \\\"Here Comes the Neighborhood\\\", as one of the wealthy African-Americans who move to South Park \\\"South Park (Location)\\\"). * Characters\", \"score\": 0.76826453, \"raw_content\": null}, {\"url\": \"https://southpark.cc.com/wiki/Bill_Cosby_(actor)\", \"title\": \"Bill Cosby (actor) - South Park Wiki\", \"content\": \"Featured Episodes \\u00b7 Clubhouses (s02e12; debut) \\u00b7 Trapper Keeper (s04e13; referenced) \\u00b7 Here Comes the Neighborhood (s05e12) \\u00b7 Wing (s09e03; referenced) \\u00b7 200 (s14e05\", \"score\": 0.74697095, \"raw_content\": null}, {\"url\": \"https://southpark.fandom.com/wiki/Bill_Cosby_(BSM-471)\", \"title\": \"Bill Cosby (BSM-471) - South Park Public Library - Fandom\", \"content\": \"After Cartman shows off his new Dawson's Creek Trapper Keeper Ultra Keeper Futura S 2000, the boys go on the bus only to find Bill Cosby along with them posing as a new 4th grade student. Liane and Cosby make love while Cartman's trapper keeper begins to absorb more and more technology, and eventually Cartman himself. The trapper keeper begins to move to Cheyenne Mountain, in Wyoming, with Kyle, Stan, and Cosby close in pursuit. Kyle succeeds, the trapper keeper monster is destroyed, and Cosby fades from existence. Cosby attempting to take the trapper keeper from Cartman. These cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks.\", \"score\": 0.29311654, \"raw_content\": null}]}\n", - "inference> Bill Cosby (BSM-471) first appears in the Season 5 episode, \"Here Comes the Neighborhood\", of South Park.\n", - "inference> brave_search.call(query=\"Andrew Tate kickboxing name\")\n", - "tool_execution> Tool:brave_search Args:{'query': 'Andrew Tate kickboxing name'}\n", - "tool_execution> Tool:brave_search Response:{\"query\": \"Andrew Tate kickboxing name\", \"top_k\": [{\"url\": \"https://en.wikipedia.org/wiki/Andrew_Tate\", \"title\": \"Andrew Tate\", \"content\": \"Emory Andrew Tate III (born 1 December 1986) is an American and British social media personality, businessman, and former professional kickboxer\", \"score\": 0.8559598, \"raw_content\": null}, {\"url\": \"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\", \"title\": \"The Life Of Andrew Tate (Published By Top G Himself)\", \"content\": \"Andrew King Cobra Tate is a former professional kickboxing world champion. Throughout his kickboxing career, Sidekick Boxing sponsored him, providing him\", \"score\": 0.84918517, \"raw_content\": null}, {\"url\": \"https://simple.wikipedia.org/wiki/Andrew_Tate\", \"title\": \"Andrew Tate - Simple English Wikipedia, the free ...\", \"content\": \"Emory Andrew Tate III (born December 1, 1986) is an former professional kickboxer and an Internet personality\", \"score\": 0.84027237, \"raw_content\": null}, {\"url\": \"https://www.youtube.com/shorts/khmbLCpyqD4\", \"title\": \"Andrew 'Cobra' Tate name explanation #tate #AndrewTate ...\", \"content\": \"Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma - YouTube Back Image 1 Image 2 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma Image 3 Image 4 Video unavailable - [x] Include playlist Image 5 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate#AndrewTate#TopG#kickboxing#combat#brawl#fight#mma Image 6 Image 7 Image 8 Andrew \\u2018Cobra\\u2019 Tate name explanation #tate#AndrewTate#TopG#kickboxing#combat#brawl#fight#mma Image 9 Image 10: Go to video Andrew \\u2018Cobra\\u2019 Tate name explanation #tate #AndrewTate #TopG #kickboxing #combat #brawl #fight #mma Next video Image 12 Image 13 Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Image 14 Image 15\", \"score\": 0.71758664, \"raw_content\": null}, {\"url\": \"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\", \"title\": \"Andrew Tate: Kickboxing Record, Facts, Height, Weight ...\", \"content\": \"# Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography ## Who is Andrew Tate? Andrew Tate is a businessman, internet personality, and former professional kickboxer. ## Where is Andrew Tate From? ## What is Andrew Tate\\u2019s Nationality? ## Andrew Tate Kickboxing Record ## What Kickboxing Gym Did Andrew Tate Train Out Of? ## How Many Professional Kickboxing Matches Has Andrew Tate Participated In? Andrew Tate competed in a total of 86 professional kickboxing bouts. ## What is Andrew Tate\\u2019 Professional Kickboxing Record? In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout. ## Did Andrew Tate Compete For Any Championship Titles? ## What Championships Did Andrew Tate Win? ## How Much Money Did Andrew Tate Make In Kickboxing?\", \"score\": 0.5370662, \"raw_content\": null}]}\n", - "inference> Andrew Tate's kickboxing name is \"King Cobra\".\n" - ] - } + "id": "4L4Z8McdZaYj", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1d29af6a" + }, + "source": [ + "### 2.5 Response API Branching\n", + "\n", + "The Llama Stack Response API supports branching, allowing you to explore different conversational paths or tool interactions based on a previous response. This is useful for scenarios where you want to try alternative approaches or gather information from different sources without losing the context of the initial interaction.\n", + "\n", + "To branch from a previous response, you use the `previous_response_id` parameter in the `client.responses.create` method. This parameter takes the `id` of the response you want to branch from.\n", + "\n", + "Here's how it works:\n", + "\n", + "1. **Initial Response:** You make an initial call to `client.responses.create` to get a response. This response will have a unique `id`.\n", + "\n", + "2. **Branching Response:** You make a subsequent call to `client.responses.create` for your branching query. In this call, you set the `previous_response_id` to the `id` of the initial response.\n", + "\n", + "The new response will be generated in the context of the previous response, but you can specify different tools, inputs, or other parameters to explore a different path.\n", + "\n", + "**Example:**\n", + "\n", + "Let's say you made an initial web search about a topic and got `response1`. You can then branch from `response1` to perform a file search on the same topic by setting `previous_response_id=response1.id` in the second `client.responses.create` call." ], - "source": [ - "from llama_stack_client import Agent, AgentEventLogger\n", - "\n", - "agent = Agent(\n", - " client,\n", - " model=\"together/meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n", - " instructions=\"You are a helpful assistant. Use web_search tool to answer the questions.\",\n", - " tools=[\"builtin::websearch\"],\n", - ")\n", - "user_prompts = [\n", - " \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\",\n", - " \"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title. Search the web for the answer.\",\n", - " \"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\",\n", - "]\n", - "\n", - "session_id = agent.create_session(uuid.uuid4().hex)\n", - "\n", - "for prompt in user_prompts:\n", - " response = agent.create_turn(\n", - " messages=[\n", - " {\n", - " \"role\": \"user\",\n", - " \"content\": prompt,\n", - " }\n", - " ],\n", - " session_id=session_id,\n", - " )\n", - "\n", - " for log in AgentEventLogger().log(response):\n", - " log.print()\n" - ] - }, - { - "cell_type": "markdown", - "id": "d0a50faf", - "metadata": { - "id": "d0a50faf" - }, - "source": [ - "##### 3.1.2 Query Agent Execution Steps\n", - "\n", - "Now, let's look deeper into the agent's execution steps and see if how well our agent performs. As a sanity check, we will first check if all user prompts is followed by a tool call to `brave_search`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c28ea2d1", - "metadata": { - "id": "c28ea2d1" - }, - "outputs": [], - "source": [ - "# query the agents session\n", - "from rich.pretty import pprint\n", - "\n", - "session_response = client.agents.session.retrieve(\n", - " session_id=session_id,\n", - " agent_id=agent.agent_id,\n", - ")\n", - "\n", - "pprint(session_response.turns)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f87a376d", - "metadata": { - "id": "f87a376d", - "outputId": "4f855376-6bfd-40d0-8b86-c3b14ca4b269" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3/3 user prompts are followed by a tool call to `brave_search`\n" - ] - } - ], - "source": [ - "num_tool_call = 0\n", - "for turn in session_response.turns:\n", - " for step in turn.steps:\n", - " if step.step_type == \"tool_execution\" and step.tool_calls[0].tool_name == \"brave_search\":\n", - " num_tool_call += 1\n", - "\n", - "print(f\"{num_tool_call}/{len(session_response.turns)} user prompts are followed by a tool call to `brave_search`\")" - ] - }, - { - "cell_type": "markdown", - "id": "ed69220f", - "metadata": { - "id": "ed69220f" - }, - "source": [ - "##### 3.1.3 Evaluate Agent Responses\n", - "\n", - "Now, we want to evaluate the agent's responses to the user prompts.\n", - "\n", - "1. First, we will process the agent's execution history into a list of rows that can be used for evaluation.\n", - "2. Next, we will label the rows with the expected answer.\n", - "3. Finally, we will use the `/scoring` API to score the agent's responses." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a2b293bc", - "metadata": { - "id": "a2b293bc", - "outputId": "c42d0fa1-d043-4cd9-e7a4-bfdda8a86de7" - }, - "outputs": [ - { - "data": { - "text/html": [ - "
[\n",
-              "{\n",
-              "│   │   'input_query': 'Which teams played in the NBA western conference finals of 2024. Search the web for the answer.',\n",
-              "│   │   'generated_answer': 'The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.',\n",
-              "│   │   'expected_answer': 'Dallas Mavericks and the Minnesota Timberwolves'\n",
-              "},\n",
-              "{\n",
-              "│   │   'input_query': 'In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title. Search the web for the answer.',\n",
-              "│   │   'generated_answer': 'Bill Cosby first appears in the episode \"Trapped in the Closet\" (Season 9, Episode 12) of South Park.',\n",
-              "│   │   'expected_answer': 'Season 4, Episode 12'\n",
-              "},\n",
-              "{\n",
-              "│   │   'input_query': \"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\",\n",
-              "│   │   'generated_answer': 'Andrew Tate\\'s kickboxing name is \"King Cobra\".',\n",
-              "│   │   'expected_answer': 'King Cobra'\n",
-              "}\n",
-              "]\n",
-              "
\n" - ], - "text/plain": [ - "\u001b[1m[\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m'Which teams played in the NBA western conference finals of 2024. Search the web for the answer.'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'Dallas Mavericks and the Minnesota Timberwolves'\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m'In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title. Search the web for the answer.'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Bill Cosby first appears in the episode \"Trapped in the Closet\" \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSeason 9, Episode 12\u001b[0m\u001b[32m)\u001b[0m\u001b[32m of South Park.'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'Season 4, Episode 12'\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m\"What is the British-American kickboxer Andrew Tate's kickboxing name? Search the web for the answer.\"\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Andrew Tate\\'s kickboxing name is \"King Cobra\".'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'King Cobra'\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m]\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
ScoringScoreResponse(\n",
-              "results={\n",
-              "│   │   'basic::subset_of': ScoringResult(\n",
-              "│   │   │   aggregated_results={'accuracy': {'accuracy': 0.6666666666666666, 'num_correct': 2.0, 'num_total': 3}},\n",
-              "│   │   │   score_rows=[{'score': 1.0}, {'score': 0.0}, {'score': 1.0}]\n",
-              "│   │   )\n",
-              "}\n",
-              ")\n",
-              "
\n" - ], - "text/plain": [ - "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m0.6666666666666666\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m2.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m3\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "eval_rows = []\n", - "\n", - "expected_answers = [\n", - " \"Dallas Mavericks and the Minnesota Timberwolves\",\n", - " \"Season 4, Episode 12\",\n", - " \"King Cobra\",\n", - "]\n", - "\n", - "for i, turn in enumerate(session_response.turns):\n", - " eval_rows.append(\n", - " {\n", - " \"input_query\": turn.input_messages[0].content,\n", - " \"generated_answer\": turn.output_message.content,\n", - " \"expected_answer\": expected_answers[i],\n", - " }\n", - " )\n", - "\n", - "pprint(eval_rows)\n", - "\n", - "scoring_params = {\n", - " \"basic::subset_of\": None,\n", - "}\n", - "scoring_response = client.scoring.score(\n", - " input_rows=eval_rows, scoring_functions=scoring_params\n", - ")\n", - "pprint(scoring_response)" - ] - }, - { - "cell_type": "markdown", - "id": "ekOS2kM4P0LM", - "metadata": { - "id": "ekOS2kM4P0LM" - }, - "source": [ - "##### 3.1.4 Query Telemetry & Evaluate\n", - "\n", - "Another way to get the agent's execution history is to query the telemetry logs from the `/telemetry` API. The following example shows how to query the telemetry logs and post-process them to prepare data for evaluation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "agkWgToGAsuA", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "id": "agkWgToGAsuA", - "outputId": "4233a1d9-8282-4aa9-bdc4-0c105939f97e" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Getting traces for session_id=d73d9aaa-65ac-4255-8153-9f5cbff6e01e\n", - "Here are examples of traces:\n" - ] - }, - { - "data": { - "text/html": [ - "
[\n",
-              "{\n",
-              "│   │   'input': '[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Use web_search tool to answer the questions.\"}, {\"role\": \"user\", \"content\": \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\", \"context\": null}]',\n",
-              "│   │   'output': '{\"content\": \"\", \"tool_calls\": [{\"call_id\": \"5f77ab69-72d9-4d51-b96c-bd4352ced54a\", \"tool_name\": \"brave_search\", \"arguments\": {\"query\": \"NBA Western Conference Finals 2024 teams\"}, \"arguments_json\": \"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"}\"}]}'\n",
-              "},\n",
-              "{\n",
-              "│   │   'input': '{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"},\"arguments_json\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"}\"}]}',\n",
-              "│   │   'output': '{\"role\":\"tool\",\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. 5 Dallas Mavericks (4-1) vs. 7   Derrick Jones Jr. 2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. College Tools: Player Season Finder, Player Game Finder, Team Season Finder, Team Game Finder Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards, All-Star Games, Executives ... Players, Teams, Seasons, Leaders, Awards ... Subscribe to Stathead Basketball: Get your first month FREE The SPORTS REFERENCE, STATHEAD, IMMACULATE GRID, and IMMACULATE FOOTY trademarks are owned exclusively by Sports Reference LLC. Sports\\\\\\\\u00a0Reference\\\\\\\\u202f\\\\\\\\u00ae Baseball Football (college) Basketball (college) Hockey F\\\\\\\\u00fatbol Blog Stathead\\\\\\\\u202f\\\\\\\\u00ae Immaculate Grid\\\\\\\\u202f\\\\\\\\u00ae\\\\\", \\\\\"score\\\\\": 0.89030397, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/standings\\\\\", \\\\\"content\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN Skip to main contentSkip to navigation ESPN NFL NBA NCAAF NHL NCAAM NCAAW Soccer More Sports Watch Fantasy NBA Home Scores Schedule Standings Stats Teams Odds Where To Watch All-Star Game Fantasy More NBA Standings 2024-25 Standings Expanded Vs. Division NBA Cup LeagueConferenceDivision Eastern Conference | | | --- | | 1CLECleveland Cavaliers | | 2BOSBoston Celtics | | 3NYNew York Knicks | | 4INDIndiana Pacers | | 5MILMilwaukee Bucks | | 6DETDetroit Pistons | | 7MIAMiami Heat | | 8ORLOrlando Magic | | 9ATLAtlanta Hawks | | 10CHIChicago Bulls | | PHIPhiladelphia 76ers | | BKNBrooklyn Nets | | TORToronto Raptors | | CHACharlotte Hornets | | WSHWashington Wizards | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 42 | 10 | .808 | - | 24-4 | 18-6 | 9-1 | 28-7 | 122.4 | 112.1 | +10.3 | W2 | 6-4 | | 36 | 16 | .692 | 6 | 16-10 | 20-6 | 6-2 | 26-9 | 117.3 | 108.8 | +8.5 | L1 | 7-3 | | 34 | 17 | .667 | 7.5 | 18-9 | 16-8 | 9-1 | 23-10 | 117.9 | 111.4 | +6.5 | W2 | 8-2 | | 29 | 21 | .580 | 12 | 14-7 | 14-13 | 6-4 | 17-15 | 115.7 | 114.9 | +0.8 | W1 | 7-3 | | 27 | 23 | .540 | 14 | 16-8 | 10-15 | 6-5 | 22-16 | 114.2 | 112.6 | +1.6 | L1 | 4-6 | | 26 | 26 | .500 | 16 | 13-13 | 13-13 | 2-9 | 18-20 | 113.0 | 113.8 | -0.8 | W1 | 5-5 | | 25 | 25 | .500 | 16 | 12-10 | 12-15 | 5-3 | 14-15 | 110.5 | 110.6 | -0.1 | L1 | 5-5 | | 25 | 28 | .472 | 17.5 | 15-9 | 10-19 | 5-2 | 20-15 | 103.8 | 105.6 | -1.8 | L1 | 2-8 | | 24 | 28 | .462 | 18 | 12-12 | 12-15 | 4-2 | 17-13 | 116.1 | 119.0 | -2.9 | W1 | 2-8 | | 22 | 30 | .423 | 20 | 10-16 | 12-14 | 3-7 | 17-18 | 116.7 | 120.1 | -3.4 | L1 | 4-6 | | 20 | 31 | .392 | 21.5 | 10-16 | 10-15 | 3-4 | 14-17 | 109.1 | 112.9 | -3.8 | L2 | 5-5 | | 18 | 34 | .346 | 24 | 7-17 | 11-17 | 1-8 | 9-23 | 105.3 | 111.7 | -6.4 | W1 | 4-6 | | 16 | 36 | .308 | 26 | 12-16 | 4-20 | 3-7 | 10-23 | 111.2 | 116.9 | -5.7 | L3 | 6-4 | | 13 | 36 | .265 | 27.5 | 9-20 | 4-16 | 0-9 | 7-27 | 107.1 | 112.3 | -5.2 | W1 | 2-8 | | 9 | 42 | .176 | 32.5 | 5-20 | 4-21 | 5-3 | 7-21 | 107.8 | 121.5 | -13.7 | L1 | 3-7 | Western Conference | | | --- | | 1OKCOklahoma City Thunder | | 2MEMMemphis Grizzlies | | 3DENDenver Nuggets | | 4HOUHouston Rockets | | 5LALLos Angeles Lakers | | 6MINMinnesota Timberwolves | | 7LACLA Clippers | | 8DALDallas Mavericks | | 9PHXPhoenix Suns | | 10SACSacramento Kings | | GSGolden State Warriors | | SASan Antonio Spurs | | PORPortland Trail Blazers | | UTAHUtah Jazz | | NONew Orleans Pelicans | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 41 | 9 | .820 | - | 23-3 | 17-6 | 7-1 | 23-8 | 117.7 | 104.7 | +13.0 | W4 | 7-3 | | 35 | 16 | .686 | 6.5 | 21-5 | 14-11 | 8-4 | 19-12 | 123.8 | 115.4 | +8.4 | W4 | 9-1 | | 33 | 19 | .635 | 9 | 17-8 | 16-11 | 4-4 | 19-12 | 120.8 | 115.9 | +4.9 | W5 | 7-3 | | 32 | 20 | .615 | 10 | 15-8 | 17-11 | 9-3 | 19-12 | 113.3 | 109.1 | +4.2 | L6 | 4-6 | | 30 | 19 | .612 | 10.5 | 17-6 | 13-13 | 9-3 | 19-11 | 112.6 | 112.0 | +0.6 | W4 | 8-2 | | 29 | 23 | .558 | 13 | 14-12 | 15-11 | 4-3 | 21-14 | 111.7 | 108.2 | +3.5 | W2 | 7-3 | | 28 | 23 | .549 | 13.5 | 17-10 | 11-13 | 6-4 | 17-18 | 110.1 | 107.7 | +2.4 | L3 | 4-6 | | 28 | 25 | .528 | 14.5 | 15-10 | 13-15 | 6-4 | 20-17 | 115.5 | 113.3 | +2.2 | W2 | 5-5 | | 26 | 25 | .510 | 15.5 | 16-9 | 10-16 | 7-4 | 17-14 | 113.4 | 114.7 | -1.3 | W1 | 5-5 | | 25 | 26 | .490 | 16.5 | 13-13 | 12-13 | 4-6 | 16-17 | 116.1 | 115.4 | +0.7 | L2 | 4-6 | | 25 | 26 | .490 | 16.5 | 15-13 | 10-13 | 1-10 | 17-18 | 111.5 | 111.9 | -0.4 | L2 | 4-6 | | 22 | 27 | .449 | 18.5 | 13-12 | 8-14 | 2-7 | 16-18 | 112.8 | 114.3 | -1.5 | L1 | 3-7 | | 23 | 29 | .442 | 19 | 15-13 | 8-16 | 4-5 | 14-24 | 109.0 | 113.9 | -4.9 | W6 | 9-1 | | 12 | 38 | .240 | 29 | 5-18 | 7-20 | 1-7 | 4-29 | 111.9 | 118.9 | -7.0 | L1 | 2-8 | | 12 | 39 | .235 | 29.5 | 8-18 | 4-21 | 1-8 | 6-23 | 110.0 | 118.8 | -8.8 | L7 | 3-7 | Standings are updated with the completion of each game.Teams seeded 7-10 in each conference will compete in a play-in tournament at the end of the regular season. Glossary W:Wins L:Losses PCT:Winning Percentage GB:Games Back HOME:Home Record AWAY:Away Record DIV:Division Record CONF:Conference Record PPG:Points Per Game OPP PPG:Opponent Points Per Game DIFF:Average Point Differential STRK:Current Streak L10:Record last 10 games NBA News Anthony Davis leads Mavericks past Rockets 116-105 in Mavs debut but leaves with lower-body injury -------------------------------------------------------------------------------------------------- \\\\\\\\u2014 Anthony Davis had 26 points, 16 rebounds, seven assists and three blocks in his Mavericks debut but left the game late in the third quarter with a... * 38m Hawks request waivers on newly acquired Bones Hyland ---------------------------------------------------- The Atlanta Hawks requested waivers on guard Bones Hyland on Saturday, just two days after the guard was obtained from the Clippers in a deal at the NBA trade deadline. * 1h AD posts 26-point double-double in debut before suffering injury ---------------------------------------------------------------- Anthony Davis has a strong debut with the Mavs, dropping 26 points, 16 rebounds and 7 assists, before leaving with a lower-body injury. * 1h All NBA News Terms of Use Privacy Policy Your US State Privacy Rights Children\\'s Online Privacy Policy Interest-Based Ads About Nielsen Measurement Do Not Sell or Share My Personal Information Contact Us Disney Ad Sales Site Work for ESPN Corrections ESPN BET Sportsbook is owned and operated by PENN Entertainment, Inc. and its subsidiaries (\\'PENN\\').\\\\\", \\\\\"score\\\\\": 0.83549726, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) | NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"Mavericks (5) | NBA.com 2024-25 NBA CrunchTime NBA TV Draft Kings DFS NBA Bet Home NBA Store NBA Game Worn NBA Photo Store NBA Experiences NBA G League NBA 2K League NBA Play NBA Bet ### Doncic, Irving carry Mavs to NBA Finals Luka Doncic and Kyrie Irving pour in 36 points apiece to guide Dallas to its 1st appearance in the NBA Finals since 2011. ### Luka: \\'This is special, coming from the West\\' Luka Doncic with Ernie, Charles, Kenny & Shaq about the Mavs being NBA Finals-bound, his Game 5 play and more. NBA Organization NBA ID NBA Official NBA Careers NBA Initiatives NBA Cares NBA Foundation NBA Communications NBA Transactions NBA Auctions NBA Photostore\\\\\", \\\\\"score\\\\\": 0.75312227, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 NBA Playoffs | Official Bracket, Schedule and Series Matchups\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024?os=wtmbloozowcj&ref=app\\\\\", \\\\\"content\\\\\": \\\\\"Draft Kings DFS NBA Store NBA Play NBA Finals ### Chasing History: Celtics clinch banner 18 (Ep. 25) Jayson Tatum and Finals MVP Jaylen Brown close out Dallas in Game 5 to secure Boston\\'s NBA-record 18th championship. WE DID ITTTT!\\' Jayson Tatum walkoff interview after Celtics defeat Mavericks in Game 5 of 2024 NBA Finals, clinching title with a 4-1 series win. ### Horford finally champ after key sacrifice Al Horford, who played the most playoff games in NBA history before winning his 1st title, crosses the plateau in his 17th season. 30:13 ### Best of the 2024 NBA Finals 17:47 ### Best of Boston Celtics from the 2024 NBA Finals\\\\\", \\\\\"score\\\\\": 0.63234437, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2025 NBA Playoffs: Standings, bracket and clinching updates\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/news/2025-nba-playoffs-standings-and-bracket-updates\\\\\", \\\\\"content\\\\\": \\\\\"NBA TV NBA Play NBA Store NBA Game Worn NBA Play NBA Official NBA Playoffs bracket ### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. Click \\\\\\\\\\\\\"Access Content\\\\\\\\\\\\\" to agree to our Terms of Use and Privacy Policy and to sign up for emails about the latest news and products from the NBA Family and its partners. #### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. NBA ID NBA Official NBA Transactions NBA Auctions\\\\\", \\\\\"score\\\\\": 0.13435538, \\\\\"raw_content\\\\\": null}]}\"}'\n",
-              "}\n",
-              "]\n",
-              "
\n" - ], - "text/plain": [ - "\u001b[1m[\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\": \"system\", \"content\": \"You are a helpful assistant. Use web_search tool to answer the questions.\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\": \"user\", \"content\": \"Which teams played in the NBA western conference finals of 2024. Search the web for the answer.\", \"context\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"content\": \"\", \"tool_calls\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\": \"5f77ab69-72d9-4d51-b96c-bd4352ced54a\", \"tool_name\": \"brave_search\", \"arguments\": \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\": \"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \"arguments_json\": \"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m,\"arguments_json\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"tool\",\"call_id\":\"5f77ab69-72d9-4d51-b96c-bd4352ced54a\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. 5 Dallas Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m4-1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. 7 Derrick Jones Jr. 2024 NBA Playoffs Dallas Mavericks vs. Dallas Mavericks vs. Dallas Mavericks vs. College Tools: Player Season Finder, Player Game Finder, Team Season Finder, Team Game Finder Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards ... Players, Teams, Seasons, Leaders, Awards, All-Star Games, Executives ... Players, Teams, Seasons, Leaders, Awards ... Subscribe to Stathead Basketball: Get your first month FREE The SPORTS REFERENCE, STATHEAD, IMMACULATE GRID, and IMMACULATE FOOTY trademarks are owned exclusively by Sports Reference LLC. Sports\\\\\\\\u00a0Reference\\\\\\\\u202f\\\\\\\\u00ae Baseball Football \u001b[0m\u001b[32m(\u001b[0m\u001b[32mcollege\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Basketball \u001b[0m\u001b[32m(\u001b[0m\u001b[32mcollege\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Hockey F\\\\\\\\u00fatbol Blog Stathead\\\\\\\\u202f\\\\\\\\u00ae Immaculate Grid\\\\\\\\u202f\\\\\\\\u00ae\\\\\", \\\\\"score\\\\\": 0.89030397, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/standings\\\\\", \\\\\"content\\\\\": \\\\\"NBA Standings - 2024-25 season - ESPN Skip to main contentSkip to navigation ESPN NFL NBA NCAAF NHL NCAAM NCAAW Soccer More Sports Watch Fantasy NBA Home Scores Schedule Standings Stats Teams Odds Where To Watch All-Star Game Fantasy More NBA Standings 2024-25 Standings Expanded Vs. Division NBA Cup LeagueConferenceDivision Eastern Conference | | | --- | | 1CLECleveland Cavaliers | | 2BOSBoston Celtics | | 3NYNew York Knicks | | 4INDIndiana Pacers | | 5MILMilwaukee Bucks | | 6DETDetroit Pistons | | 7MIAMiami Heat | | 8ORLOrlando Magic | | 9ATLAtlanta Hawks | | 10CHIChicago Bulls | | PHIPhiladelphia 76ers | | BKNBrooklyn Nets | | TORToronto Raptors | | CHACharlotte Hornets | | WSHWashington Wizards | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 42 | 10 | .808 | - | 24-4 | 18-6 | 9-1 | 28-7 | 122.4 | 112.1 | +10.3 | W2 | 6-4 | | 36 | 16 | .692 | 6 | 16-10 | 20-6 | 6-2 | 26-9 | 117.3 | 108.8 | +8.5 | L1 | 7-3 | | 34 | 17 | .667 | 7.5 | 18-9 | 16-8 | 9-1 | 23-10 | 117.9 | 111.4 | +6.5 | W2 | 8-2 | | 29 | 21 | .580 | 12 | 14-7 | 14-13 | 6-4 | 17-15 | 115.7 | 114.9 | +0.8 | W1 | 7-3 | | 27 | 23 | .540 | 14 | 16-8 | 10-15 | 6-5 | 22-16 | 114.2 | 112.6 | +1.6 | L1 | 4-6 | | 26 | 26 | .500 | 16 | 13-13 | 13-13 | 2-9 | 18-20 | 113.0 | 113.8 | -0.8 | W1 | 5-5 | | 25 | 25 | .500 | 16 | 12-10 | 12-15 | 5-3 | 14-15 | 110.5 | 110.6 | -0.1 | L1 | 5-5 | | 25 | 28 | .472 | 17.5 | 15-9 | 10-19 | 5-2 | 20-15 | 103.8 | 105.6 | -1.8 | L1 | 2-8 | | 24 | 28 | .462 | 18 | 12-12 | 12-15 | 4-2 | 17-13 | 116.1 | 119.0 | -2.9 | W1 | 2-8 | | 22 | 30 | .423 | 20 | 10-16 | 12-14 | 3-7 | 17-18 | 116.7 | 120.1 | -3.4 | L1 | 4-6 | | 20 | 31 | .392 | 21.5 | 10-16 | 10-15 | 3-4 | 14-17 | 109.1 | 112.9 | -3.8 | L2 | 5-5 | | 18 | 34 | .346 | 24 | 7-17 | 11-17 | 1-8 | 9-23 | 105.3 | 111.7 | -6.4 | W1 | 4-6 | | 16 | 36 | .308 | 26 | 12-16 | 4-20 | 3-7 | 10-23 | 111.2 | 116.9 | -5.7 | L3 | 6-4 | | 13 | 36 | .265 | 27.5 | 9-20 | 4-16 | 0-9 | 7-27 | 107.1 | 112.3 | -5.2 | W1 | 2-8 | | 9 | 42 | .176 | 32.5 | 5-20 | 4-21 | 5-3 | 7-21 | 107.8 | 121.5 | -13.7 | L1 | 3-7 | Western Conference | | | --- | | 1OKCOklahoma City Thunder | | 2MEMMemphis Grizzlies | | 3DENDenver Nuggets | | 4HOUHouston Rockets | | 5LALLos Angeles Lakers | | 6MINMinnesota Timberwolves | | 7LACLA Clippers | | 8DALDallas Mavericks | | 9PHXPhoenix Suns | | 10SACSacramento Kings | | GSGolden State Warriors | | SASan Antonio Spurs | | PORPortland Trail Blazers | | UTAHUtah Jazz | | NONew Orleans Pelicans | | W | L | PCT | GB | HOME | AWAY | DIV | CONF | PPG | OPP PPG | DIFF | STRK | L10 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 41 | 9 | .820 | - | 23-3 | 17-6 | 7-1 | 23-8 | 117.7 | 104.7 | +13.0 | W4 | 7-3 | | 35 | 16 | .686 | 6.5 | 21-5 | 14-11 | 8-4 | 19-12 | 123.8 | 115.4 | +8.4 | W4 | 9-1 | | 33 | 19 | .635 | 9 | 17-8 | 16-11 | 4-4 | 19-12 | 120.8 | 115.9 | +4.9 | W5 | 7-3 | | 32 | 20 | .615 | 10 | 15-8 | 17-11 | 9-3 | 19-12 | 113.3 | 109.1 | +4.2 | L6 | 4-6 | | 30 | 19 | .612 | 10.5 | 17-6 | 13-13 | 9-3 | 19-11 | 112.6 | 112.0 | +0.6 | W4 | 8-2 | | 29 | 23 | .558 | 13 | 14-12 | 15-11 | 4-3 | 21-14 | 111.7 | 108.2 | +3.5 | W2 | 7-3 | | 28 | 23 | .549 | 13.5 | 17-10 | 11-13 | 6-4 | 17-18 | 110.1 | 107.7 | +2.4 | L3 | 4-6 | | 28 | 25 | .528 | 14.5 | 15-10 | 13-15 | 6-4 | 20-17 | 115.5 | 113.3 | +2.2 | W2 | 5-5 | | 26 | 25 | .510 | 15.5 | 16-9 | 10-16 | 7-4 | 17-14 | 113.4 | 114.7 | -1.3 | W1 | 5-5 | | 25 | 26 | .490 | 16.5 | 13-13 | 12-13 | 4-6 | 16-17 | 116.1 | 115.4 | +0.7 | L2 | 4-6 | | 25 | 26 | .490 | 16.5 | 15-13 | 10-13 | 1-10 | 17-18 | 111.5 | 111.9 | -0.4 | L2 | 4-6 | | 22 | 27 | .449 | 18.5 | 13-12 | 8-14 | 2-7 | 16-18 | 112.8 | 114.3 | -1.5 | L1 | 3-7 | | 23 | 29 | .442 | 19 | 15-13 | 8-16 | 4-5 | 14-24 | 109.0 | 113.9 | -4.9 | W6 | 9-1 | | 12 | 38 | .240 | 29 | 5-18 | 7-20 | 1-7 | 4-29 | 111.9 | 118.9 | -7.0 | L1 | 2-8 | | 12 | 39 | .235 | 29.5 | 8-18 | 4-21 | 1-8 | 6-23 | 110.0 | 118.8 | -8.8 | L7 | 3-7 | Standings are updated with the completion of each game.Teams seeded 7-10 in each conference will compete in a play-in tournament at the end of the regular season. Glossary W:Wins L:Losses PCT:Winning Percentage GB:Games Back HOME:Home Record AWAY:Away Record DIV:Division Record CONF:Conference Record PPG:Points Per Game OPP PPG:Opponent Points Per Game DIFF:Average Point Differential STRK:Current Streak L10:Record last 10 games NBA News Anthony Davis leads Mavericks past Rockets 116-105 in Mavs debut but leaves with lower-body injury -------------------------------------------------------------------------------------------------- \\\\\\\\u2014 Anthony Davis had 26 points, 16 rebounds, seven assists and three blocks in his Mavericks debut but left the game late in the third quarter with a... * 38m Hawks request waivers on newly acquired Bones Hyland ---------------------------------------------------- The Atlanta Hawks requested waivers on guard Bones Hyland on Saturday, just two days after the guard was obtained from the Clippers in a deal at the NBA trade deadline. * 1h AD posts 26-point double-double in debut before suffering injury ---------------------------------------------------------------- Anthony Davis has a strong debut with the Mavs, dropping 26 points, 16 rebounds and 7 assists, before leaving with a lower-body injury. * 1h All NBA News Terms of Use Privacy Policy Your US State Privacy Rights Children\\'s Online Privacy Policy Interest-Based Ads About Nielsen Measurement Do Not Sell or Share My Personal Information Contact Us Disney Ad Sales Site Work for ESPN Corrections ESPN BET Sportsbook is owned and operated by PENN Entertainment, Inc. and its subsidiaries \u001b[0m\u001b[32m(\u001b[0m\u001b[32m\\'PENN\\'\u001b[0m\u001b[32m)\u001b[0m\u001b[32m.\\\\\", \\\\\"score\\\\\": 0.83549726, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | NBA.com 2024-25 NBA CrunchTime NBA TV Draft Kings DFS NBA Bet Home NBA Store NBA Game Worn NBA Photo Store NBA Experiences NBA G League NBA 2K League NBA Play NBA Bet ### Doncic, Irving carry Mavs to NBA Finals Luka Doncic and Kyrie Irving pour in 36 points apiece to guide Dallas to its 1st appearance in the NBA Finals since 2011. ### Luka: \\'This is special, coming from the West\\' Luka Doncic with Ernie, Charles, Kenny & Shaq about the Mavs being NBA Finals-bound, his Game 5 play and more. NBA Organization NBA ID NBA Official NBA Careers NBA Initiatives NBA Cares NBA Foundation NBA Communications NBA Transactions NBA Auctions NBA Photostore\\\\\", \\\\\"score\\\\\": 0.75312227, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Playoffs | Official Bracket, Schedule and Series Matchups\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024?\u001b[0m\u001b[32mos\u001b[0m\u001b[32m=\u001b[0m\u001b[32mwtmbloozowcj\u001b[0m\u001b[32m&\u001b[0m\u001b[32mref\u001b[0m\u001b[32m=\u001b[0m\u001b[32mapp\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Draft Kings DFS NBA Store NBA Play NBA Finals ### Chasing History: Celtics clinch banner 18 \u001b[0m\u001b[32m(\u001b[0m\u001b[32mEp. 25\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Jayson Tatum and Finals MVP Jaylen Brown close out Dallas in Game 5 to secure Boston\\'s NBA-record 18th championship. WE DID ITTTT!\\' Jayson Tatum walkoff interview after Celtics defeat Mavericks in Game 5 of 2024 NBA Finals, clinching title with a 4-1 series win. ### Horford finally champ after key sacrifice Al Horford, who played the most playoff games in NBA history before winning his 1st title, crosses the plateau in his 17th season. 30:13 ### Best of the 2024 NBA Finals 17:47 ### Best of Boston Celtics from the 2024 NBA Finals\\\\\", \\\\\"score\\\\\": 0.63234437, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2025 NBA Playoffs: Standings, bracket and clinching updates\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/news/2025-nba-playoffs-standings-and-bracket-updates\\\\\", \\\\\"content\\\\\": \\\\\"NBA TV NBA Play NBA Store NBA Game Worn NBA Play NBA Official NBA Playoffs bracket ### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. Click \\\\\\\\\\\\\"Access Content\\\\\\\\\\\\\" to agree to our Terms of Use and Privacy Policy and to sign up for emails about the latest news and products from the NBA Family and its partners. #### What to know about 2025 SoFi NBA Play-In Tournament The SoFi NBA Play-In Tournament features the Nos. 7-10 teams in each conference battling for the 7th and 8th playoff seeds. NBA ID NBA Official NBA Transactions NBA Auctions\\\\\", \\\\\"score\\\\\": 0.13435538, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m]\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# NBVAL_SKIP\n", - "print(f\"Getting traces for session_id={session_id}\")\n", - "import json\n", - "\n", - "from rich.pretty import pprint\n", - "\n", - "agent_logs = []\n", - "\n", - "for span in client.telemetry.query_spans(\n", - " attribute_filters=[\n", - " {\"key\": \"session_id\", \"op\": \"eq\", \"value\": session_id},\n", - " ],\n", - " attributes_to_return=[\"input\", \"output\"],\n", - "):\n", - " if span.attributes[\"output\"] != \"no shields\":\n", - " agent_logs.append(span.attributes)\n", - "\n", - "print(\"Here are examples of traces:\")\n", - "pprint(agent_logs[:2])\n" - ] - }, - { - "cell_type": "markdown", - "id": "QF30H7ufP2RE", - "metadata": { - "id": "QF30H7ufP2RE" - }, - "source": [ - "- Now, we want to run evaluation to assert that our search agent succesfully calls brave_search from online traces.\n", - "- We will first post-process the agent's telemetry logs and run evaluation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "sy4Xaff_Avuu", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 432 - }, - "id": "sy4Xaff_Avuu", - "outputId": "1b14b5ed-4c77-47c4-edfb-1c13a88e5ef4" - }, - "outputs": [ - { - "data": { - "text/html": [ - "
ScoringScoreResponse(\n",
-              "results={\n",
-              "│   │   'basic::subset_of': ScoringResult(\n",
-              "│   │   │   aggregated_results={'accuracy': {'accuracy': 1.0, 'num_correct': 3.0, 'num_total': 3}},\n",
-              "│   │   │   score_rows=[{'score': 1.0}, {'score': 1.0}, {'score': 1.0}]\n",
-              "│   │   )\n",
-              "}\n",
-              ")\n",
-              "
\n" - ], - "text/plain": [ - "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m3.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m3\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# NBVAL_SKIP\n", - "# post-process telemetry spance and prepare data for eval\n", - "# in this case, we want to assert that all user prompts is followed by a tool call\n", - "import ast\n", - "import json\n", - "\n", - "eval_rows = []\n", - "\n", - "for log in agent_logs:\n", - " input = json.loads(log[\"input\"])\n", - " if isinstance(input, list):\n", - " input = input[-1]\n", - " if input[\"role\"] == \"user\":\n", - " eval_rows.append(\n", - " {\n", - " \"input_query\": input[\"content\"],\n", - " \"generated_answer\": log[\"output\"],\n", - " # check if generated_answer uses tools brave_search\n", - " \"expected_answer\": \"brave_search\",\n", - " },\n", - " )\n", - "\n", - "# pprint(eval_rows)\n", - "scoring_params = {\n", - " \"basic::subset_of\": None,\n", - "}\n", - "scoring_response = client.scoring.score(\n", - " input_rows=eval_rows, scoring_functions=scoring_params\n", - ")\n", - "pprint(scoring_response)\n" - ] - }, - { - "cell_type": "markdown", - "id": "IKbzhxcw5e_c", - "metadata": { - "id": "IKbzhxcw5e_c" - }, - "source": [ - "#### 3.2. Agentic Application Dataset Scoring\n", - "- Llama Stack offers a library of scoring functions and the `/scoring` API, allowing you to run evaluations on your pre-annotated AI application datasets.\n", - "\n", - "- In this example, we will work with an example RAG dataset you have built previously, label with an annotation, and use LLM-As-Judge with custom judge prompt for scoring. Please checkout our [Llama Stack Playground](https://llama-stack.readthedocs.io/en/latest/playground/index.html) for an interactive interface to upload datasets and run scorings." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "xG4Y84VQBb0g", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 304 - }, - "id": "xG4Y84VQBb0g", - "outputId": "cf7dcecc-a81d-4c60-af5e-b36b8fe85c69" - }, - "outputs": [ - { - "data": { - "text/html": [ - "
ScoringScoreResponse(\n",
-              "results={\n",
-              "│   │   'llm-as-judge::base': ScoringResult(\n",
-              "│   │   │   aggregated_results={},\n",
-              "│   │   │   score_rows=[\n",
-              "│   │   │   │   {\n",
-              "│   │   │   │   │   'score': 'B',\n",
-              "│   │   │   │   │   'judge_feedback': 'Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it. The EXPECTED_RESPONSE only mentions \"LoRA\", which is a topic that is extensively covered in the GENERATED_RESPONSE. The GENERATED_RESPONSE provides more specific and detailed topics related to LoRA, but it does not contradict the EXPECTED_RESPONSE.'\n",
-              "│   │   │   │   }\n",
-              "│   │   │   ]\n",
-              "│   │   ),\n",
-              "│   │   'basic::subset_of': ScoringResult(\n",
-              "│   │   │   aggregated_results={'accuracy': {'accuracy': 1.0, 'num_correct': 1.0, 'num_total': 1}},\n",
-              "│   │   │   score_rows=[{'score': 1.0}]\n",
-              "│   │   )\n",
-              "}\n",
-              ")\n",
-              "
\n" - ], - "text/plain": [ - "\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'llm-as-judge::base'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\n", - "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m,\n", - "\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it. The EXPECTED_RESPONSE only mentions \"LoRA\", which is a topic that is extensively covered in the GENERATED_RESPONSE. The GENERATED_RESPONSE provides more specific and detailed topics related to LoRA, but it does not contradict the EXPECTED_RESPONSE.'\u001b[0m\n", - "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[1m]\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m1\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", - "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import rich\n", - "from rich.pretty import pprint\n", - "\n", - "# could even use larger models like 405B\n", - "judge_model_id = \"together/meta-llama/Llama-3.3-70B-Instruct-Turbo\"\n", - "\n", - "JUDGE_PROMPT = \"\"\"\n", - "Given a QUESTION and GENERATED_RESPONSE and EXPECTED_RESPONSE.\n", - "\n", - "Compare the factual content of the GENERATED_RESPONSE with the EXPECTED_RESPONSE. Ignore any differences in style, grammar, or punctuation.\n", - " The GENERATED_RESPONSE may either be a subset or superset of the EXPECTED_RESPONSE, or it may conflict with it. Determine which case applies. Answer the question by selecting one of the following options:\n", - " (A) The GENERATED_RESPONSE is a subset of the EXPECTED_RESPONSE and is fully consistent with it.\n", - " (B) The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it.\n", - " (C) The GENERATED_RESPONSE contains all the same details as the EXPECTED_RESPONSE.\n", - " (D) There is a disagreement between the GENERATED_RESPONSE and the EXPECTED_RESPONSE.\n", - " (E) The answers differ, but these differences don't matter from the perspective of factuality.\n", - "\n", - "Give your answer in the format \"Answer: One of ABCDE, Explanation: \".\n", - "\n", - "Your actual task:\n", - "\n", - "QUESTION: {input_query}\n", - "GENERATED_RESPONSE: {generated_answer}\n", - "EXPECTED_RESPONSE: {expected_answer}\n", - "\"\"\"\n", - "\n", - "input_query = (\n", - " \"What are the top 5 topics that were explained? Only list succinct bullet points.\"\n", - ")\n", - "generated_answer = \"\"\"\n", - "Here are the top 5 topics that were explained in the documentation for Torchtune:\n", - "\n", - "* What is LoRA and how does it work?\n", - "* Fine-tuning with LoRA: memory savings and parameter-efficient finetuning\n", - "* Running a LoRA finetune with Torchtune: overview and recipe\n", - "* Experimenting with different LoRA configurations: rank, alpha, and attention modules\n", - "* LoRA finetuning\n", - "\"\"\"\n", - "expected_answer = \"\"\"LoRA\"\"\"\n", - "\n", - "rows = [\n", - " {\n", - " \"input_query\": input_query,\n", - " \"generated_answer\": generated_answer,\n", - " \"expected_answer\": expected_answer,\n", - " },\n", - "]\n", - "\n", - "scoring_params = {\n", - " \"llm-as-judge::base\": {\n", - " \"judge_model\": judge_model_id,\n", - " \"prompt_template\": JUDGE_PROMPT,\n", - " \"type\": \"llm_as_judge\",\n", - " \"judge_score_regexes\": [\"Answer: (A|B|C|D|E)\"],\n", - " },\n", - " \"basic::subset_of\": None,\n", - "}\n", - "\n", - "response = client.scoring.score(input_rows=rows, scoring_functions=scoring_params)\n", - "pprint(response)\n" - ] - }, - { - "cell_type": "markdown", - "id": "ad077440", - "metadata": { - "id": "ad077440" - }, - "source": [ - "## 4. Image Understanding with Llama 3.2\n", - "\n", - "Below is a complete example of to ask Llama 3.2 questions about an image." - ] - }, - { - "cell_type": "markdown", - "id": "82e381ec", - "metadata": { - "id": "82e381ec" - }, - "source": [ - "### 4.1 Setup and helpers\n" - ] - }, - { - "cell_type": "markdown", - "id": "7737cd41", - "metadata": { - "id": "7737cd41" - }, - "source": [ - "### 4.2 Using Llama Stack Inference API for multimodal inference" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d7914894", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "d7914894", - "outputId": "ce96f08a-bb2e-4c2a-a6ef-99cd6d539bac" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The image depicts three llamas standing at a table, with one wearing a party hat and another having a purple hue. The scene is set in a barn-like environment.\n", - "\n", - "* Three llamas are positioned at a table.\n", - " * The llama on the left is white.\n", - " * The middle llama is purple.\n", - " * The llama on the right is white and wears a blue party hat.\n", - "* A glass containing an orange liquid sits on the table.\n", - " * The glass is clear and filled with a yellowish-orange substance.\n", - "* The background features wooden walls.\n", - " * The walls are composed of vertical wooden planks.\n", - " * The overall atmosphere suggests a celebratory or festive setting.\n", - "\n", - "In summary, the image showcases three llamas gathered around a table, with one donning a party hat, amidst a rustic barn-like backdrop.\n" - ] - } - ], - "source": [ - "vision_model_id = \"groq/meta-llama/llama-4-maverick-17b-128e-instruct\"\n", - "response = client.chat.completions.create(\n", - " model=vision_model_id,\n", - " messages=[{\n", - " \"role\": \"user\",\n", - " \"content\": [\n", - " {\"type\": \"text\", \"text\": \"What's in this image?\"},\n", - " {\n", - " \"type\": \"image_url\",\n", - " \"image_url\": {\n", - " \"url\": \"https://raw.githubusercontent.com/meta-llama/llama-models/refs/heads/main/Llama_Repo.jpeg\",\n", - " },\n", - " },\n", - " ],\n", - " }],\n", - ")\n", - "\n", - "print(response.choices[0].message.content)" - ] + "id": "1d29af6a" }, { "cell_type": "code", "execution_count": null, "id": "f3352379", "metadata": { - "id": "f3352379" + "id": "f3352379", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 492 + }, + "outputId": "a9d8d04e-d0bd-45f3-a429-2600e535ed24" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Deleted all existing vector stores\n", + "File(id='file-10ececb2f1234dce803436ba78a718fe', bytes=446, created_at=1758326763, expires_at=1789862763, filename='sorting_algorithms.txt', object='file', purpose='assistants')\n", + "Listing available vector stores:\n", + "- sorting_docs (ID: vs_69afb313-1c2d-4115-a9f4-8d31f4ff1ef3)\n", + "Web search results: The latest efficient sorting algorithms include Quicksort, Merge Sort, and Heap Sort, which have been compared in various studies for their performance. Quicksort is considered one of the fastest in-place sorting algorithms with good cache performance. Other algorithms like Bubble Sort, Selection Sort, and Insertion Sort are generally slower. For big data environments, several efficient sorting algorithms have been analyzed to improve processing speed. Some sources comparing the performance of these algorithms include Codemotion, Medium, Quora, ScienceDirect, and Built In.\n" + ] + }, + { + "output_type": "error", + "ename": "InternalServerError", + "evalue": "Error code: 500 - {'detail': 'Internal server error: An unexpected error occurred.'}", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mInternalServerError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipython-input-3318131626.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;31m# Continue conversation: Switch to file search for local docs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 44\u001b[0;31m response2 = client.responses.create(\n\u001b[0m\u001b[1;32m 45\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;31m# Changed model to one available in the notebook\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Now search my uploaded files for existing sorting implementations\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/llama_stack_client/_utils/_utils.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 281\u001b[0m \u001b[0mmsg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34mf\"Missing required argument: {quote(missing[0])}\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 282\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 283\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 284\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 285\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m \u001b[0;31m# type: ignore\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/llama_stack_client/resources/responses/responses.py\u001b[0m in \u001b[0;36mcreate\u001b[0;34m(self, input, model, include, instructions, max_infer_iters, previous_response_id, store, stream, temperature, text, tools, extra_headers, extra_query, extra_body, timeout)\u001b[0m\n\u001b[1;32m 227\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfloat\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0mhttpx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTimeout\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0mNotGiven\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNOT_GIVEN\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 228\u001b[0m ) -> ResponseObject | Stream[ResponseObjectStream]:\n\u001b[0;32m--> 229\u001b[0;31m return self._post(\n\u001b[0m\u001b[1;32m 230\u001b[0m \u001b[0;34m\"/v1/openai/v1/responses\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 231\u001b[0m body=maybe_transform(\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/llama_stack_client/_base_client.py\u001b[0m in \u001b[0;36mpost\u001b[0;34m(self, path, cast_to, body, options, files, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1240\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"post\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjson_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbody\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mto_httpx_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfiles\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1241\u001b[0m )\n\u001b[0;32m-> 1242\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mcast\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mResponseT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcast_to\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopts\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstream\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstream\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstream_cls\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstream_cls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1243\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1244\u001b[0m def patch(\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/llama_stack_client/_base_client.py\u001b[0m in \u001b[0;36mrequest\u001b[0;34m(self, cast_to, options, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1042\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1043\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdebug\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Re-raising status error\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1044\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_status_error_from_response\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresponse\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1045\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1046\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mInternalServerError\u001b[0m: Error code: 500 - {'detail': 'Internal server error: An unexpected error occurred.'}" + ] + } + ], + "source": [ + "from io import BytesIO\n", + "import uuid\n", + "\n", + "# delete any existing vector store\n", + "vector_stores_to_delete = [v.id for v in client.vector_stores.list()]\n", + "for del_vs_id in vector_stores_to_delete:\n", + " client.vector_stores.delete(vector_store_id=del_vs_id)\n", + "print('Deleted all existing vector stores')\n", + "\n", + "# Create a dummy file for the file search\n", + "dummy_file_content = \"Popular sorting implementations include quicksort, mergesort, heapsort, and insertion sort. Bubble sort and selection sort are used for small or simple datasets. Counting sort, radix sort, and bucket sort handle special numeric cases efficiently without comparisons. Timsort, a hybrid of merge and insertion sort, is widely used in Python and Java. Shell sort, comb sort, cocktail sort, and others are less common but exist for special scenarios.\"\n", + "with BytesIO(dummy_file_content.encode()) as file_buffer:\n", + " file_buffer.name = \"sorting_algorithms.txt\"\n", + " create_file_response = client.files.create(file=file_buffer, purpose=\"assistants\")\n", + " print(create_file_response)\n", + " file_id = create_file_response.id\n", + "\n", + "# Create a vector store with the dummy file\n", + "vector_store = client.vector_stores.create(\n", + " name=\"sorting_docs\",\n", + " file_ids=[file_id],\n", + " embedding_model=\"sentence-transformers/all-MiniLM-L6-v2\",\n", + " embedding_dimension=384, # This should match the embedding model\n", + " provider_id=\"faiss\"\n", + ")\n", + "print(\"Listing available vector stores:\")\n", + "vector_stores = client.vector_stores.list()\n", + "for vs in vector_stores:\n", + " print(f\"- {vs.name} (ID: {vs.id})\")\n", + "\n", + "# First response: Use web search for latest algorithms\n", + "response1 = client.responses.create(\n", + " model=model_id, # Changed model to one available in the notebook\n", + " input=\"Search for the latest efficient sorting algorithms and their performance comparisons\",\n", + " tools=[\n", + " {\n", + " \"type\": \"web_search\",\n", + " },\n", + " ], # Web search for current information\n", + ")\n", + "print(f\"Web search results: {response1.output[-1].content[0].text}\")\n", + "\n", + "# Continue conversation: Switch to file search for local docs\n", + "response2 = client.responses.create(\n", + " model=model_id, # Changed model to one available in the notebook\n", + " input=\"Now search my uploaded files for existing sorting implementations\",\n", + " tools=[\n", + " { # Using Responses API built-in tools\n", + " \"type\": \"file_search\",\n", + " \"vector_store_ids\": [vector_store.id], # Use the created vector store ID\n", + " },\n", + " ],\n", + " previous_response_id=response1.id,\n", + ")\n", + "\n", + "# # Branch from first response: Try different search approach\n", + "# response3 = client.responses.create(\n", + "# model=model_id, # Changed model to one available in the notebook\n", + "# input=\"Instead, search the web for Python-specific sorting best practices\",\n", + "# tools=[{\"type\": \"web_search\"}], # Different web search query\n", + "# previous_response_id=response1.id, # Branch from response1\n", + "# )\n", + "\n", + "# # Responses API benefits:\n", + "# # ✅ Dynamic tool switching (web search ↔ file search per call)\n", + "# # ✅ OpenAI-compatible tool patterns (web_search, file_search)\n", + "# # ✅ Branch conversations to explore different information sources\n", + "# # ✅ Model flexibility per search type\n", + "# print(f\"Web search results: {response1.output_text}\") # Changed to output_text\n", + "# print(f\"File search results: {response2.output_text}\") # Changed to output_text\n", + "# print(f\"Alternative web search: {response3.output_text}\") # Changed to output_text" + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "8nwCiGx8bdQ4" + }, + "id": "8nwCiGx8bdQ4", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "799a5ee5" + }, + "source": [ + "### Cleaning up the server\n", + "\n", + "To stop the Llama Stack server and remove any created files and configurations, you can use the following code. This is useful for resetting your environment or before running the notebook again.\n", + "\n", + "1. **Stop the server:** The code includes a helper function `kill_llama_stack_server()` that finds and terminates the running server process.\n", + "2. **Remove distribution files:** It also removes the distribution files located in `~/.llama/distributions/*`, which contain the server configuration and data." + ], + "id": "799a5ee5" + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0R628gRh-cYv", + "metadata": { + "id": "0R628gRh-cYv" }, "outputs": [], - "source": [] + "source": [ + "# Remove distribution files\n", + "!rm -rf ~/.llama/distributions/*\n", + "\n", + "import os\n", + "# use this helper if needed to kill the server\n", + "def kill_llama_stack_server():\n", + " # Kill any existing llama stack server processes\n", + " os.system(\"ps aux | grep -v grep | grep llama_stack.core.server.server | awk '{print $2}' | xargs kill -9\")\n", + "kill_llama_stack_server()" + ] } ], "metadata": { @@ -2027,4 +1805,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} From 21c16901c99100f293d0551a7d0090a925274bf6 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Mon, 29 Sep 2025 10:19:50 -0700 Subject: [PATCH 3/5] update rag.mdx --- docs/docs/building_applications/rag.mdx | 575 ++++++++++++------------ 1 file changed, 295 insertions(+), 280 deletions(-) diff --git a/docs/docs/building_applications/rag.mdx b/docs/docs/building_applications/rag.mdx index 5212616d2..5c864a9fb 100644 --- a/docs/docs/building_applications/rag.mdx +++ b/docs/docs/building_applications/rag.mdx @@ -12,356 +12,371 @@ import TabItem from '@theme/TabItem'; RAG enables your applications to reference and recall information from previous interactions or external documents. -## Architecture Overview +Llama Stack now uses a modern, OpenAI-compatible API pattern for RAG: +1. **Files API**: Upload documents using `client.files.create()` +2. **Vector Stores API**: Create and manage vector stores with `client.vector_stores.create()` +3. **Responses API**: Query documents using `client.responses.create()` with the `file_search` tool -Llama Stack organizes the APIs that enable RAG into three layers: +This new approach provides better compatibility with OpenAI's ecosystem and is the recommended way to implement RAG in Llama Stack. -1. **Lower-Level APIs**: Deal with raw storage and retrieval. These include Vector IO, KeyValue IO (coming soon) and Relational IO (also coming soon) -2. **RAG Tool**: A first-class tool as part of the [Tools API](./tools) that allows you to ingest documents (from URLs, files, etc) with various chunking strategies and query them smartly -3. **Agents API**: The top-level [Agents API](./agent) that allows you to create agents that can use the tools to answer questions, perform tasks, and more +RAG System -![RAG System Architecture](/img/rag.png) +## Prerequisites -The RAG system uses lower-level storage for different types of data: -- **Vector IO**: For semantic search and retrieval -- **Key-Value and Relational IO**: For structured data storage - -:::info[Future Storage Types] -We may add more storage types like Graph IO in the future. -::: - -## Setting up Vector Databases - -For this guide, we will use [Ollama](https://ollama.com/) as the inference provider. Ollama is an LLM runtime that allows you to run Llama models locally. - -Here's how to set up a vector database for RAG: +For this guide, we will use [Ollama](https://ollama.com/) as the inference provider. +Ollama is an LLM runtime that allows you to run Llama models locally. ```python -# Create HTTP client import os from llama_stack_client import LlamaStackClient +from io import BytesIO client = LlamaStackClient(base_url=f"http://localhost:{os.environ['LLAMA_STACK_PORT']}") - -# Register a vector database -vector_db_id = "my_documents" -response = client.vector_dbs.register( - vector_db_id=vector_db_id, - embedding_model="all-MiniLM-L6-v2", - embedding_dimension=384, - provider_id="faiss", -) ``` -## Document Ingestion +## Step 1: Upload Documents Using Files API -You can ingest documents into the vector database using two methods: directly inserting pre-chunked documents or using the RAG Tool. - -### Direct Document Insertion +The first step is to upload your documents using the Files API. Documents can be plain text, PDFs, or other file types. - + ```python -# You can insert a pre-chunked document directly into the vector db -chunks = [ - { - "content": "Your document text here", - "mime_type": "text/plain", - "metadata": { - "document_id": "doc1", - "author": "Jane Doe", - }, - }, +# Example documents with metadata +docs = [ + ("Acme ships globally in 3-5 business days.", {"title": "Shipping Policy"}), + ("Returns are accepted within 30 days of purchase.", {"title": "Returns Policy"}), + ("Support is available 24/7 via chat and email.", {"title": "Support"}), ] -client.vector_io.insert(vector_db_id=vector_db_id, chunks=chunks) + +# Upload each document and collect file IDs +file_ids = [] +for content, metadata in docs: + with BytesIO(content.encode()) as file_buffer: + # Set a descriptive filename + file_buffer.name = f"{metadata['title'].replace(' ', '_').lower()}.txt" + + # Upload the file + create_file_response = client.files.create( + file=file_buffer, + purpose="assistants" + ) + print(f"Uploaded: {create_file_response.id}") + file_ids.append(create_file_response.id) ``` - - -If you decide to precompute embeddings for your documents, you can insert them directly into the vector database by including the embedding vectors in the chunk data. This is useful if you have a separate embedding service or if you want to customize the ingestion process. + ```python -chunks_with_embeddings = [ - { - "content": "First chunk of text", - "mime_type": "text/plain", - "embedding": [0.1, 0.2, 0.3, ...], # Your precomputed embedding vector - "metadata": {"document_id": "doc1", "section": "introduction"}, - }, - { - "content": "Second chunk of text", - "mime_type": "text/plain", - "embedding": [0.2, 0.3, 0.4, ...], # Your precomputed embedding vector - "metadata": {"document_id": "doc1", "section": "methodology"}, - }, -] -client.vector_io.insert(vector_db_id=vector_db_id, chunks=chunks_with_embeddings) +# Upload a file from your local filesystem +with open("policy_document.pdf", "rb") as f: + file_response = client.files.create( + file=f, + purpose="assistants" + ) + file_ids.append(file_response.id) ``` -:::warning[Embedding Dimensions] -When providing precomputed embeddings, ensure the embedding dimension matches the `embedding_dimension` specified when registering the vector database. -::: + + + +```python +# Batch upload multiple documents +document_paths = [ + "docs/shipping.txt", + "docs/returns.txt", + "docs/support.txt" +] + +file_ids = [] +for path in document_paths: + with open(path, "rb") as f: + response = client.files.create(file=f, purpose="assistants") + file_ids.append(response.id) + print(f"Uploaded {path}: {response.id}") +``` -### Document Retrieval +## Step 2: Create a Vector Store -You can query the vector database to retrieve documents based on their embeddings. +Once you have uploaded your documents, create a vector store that will index them for semantic search. ```python -# You can then query for these chunks -chunks_response = client.vector_io.query( - vector_db_id=vector_db_id, - query="What do you know about..." +# Create vector store with uploaded files +vector_store = client.vector_stores.create( + name="acme_docs", + file_ids=file_ids, + embedding_model="sentence-transformers/all-MiniLM-L6-v2", + embedding_dimension=384, + provider_id="faiss" ) + +print(f"Created vector store: {vector_store.name} (ID: {vector_store.id})") ``` -## Using the RAG Tool +### Configuration Options -:::danger[Deprecation Notice] -The RAG Tool is being deprecated in favor of directly using the OpenAI-compatible Search API. We recommend migrating to the OpenAI APIs for better compatibility and future support. -::: +- **name**: A descriptive name for your vector store +- **file_ids**: List of file IDs to include in the vector store +- **embedding_model**: The model to use for generating embeddings (e.g., "sentence-transformers/all-MiniLM-L6-v2", "all-MiniLM-L6-v2") +- **embedding_dimension**: Dimension of the embedding vectors (e.g., 384 for MiniLM, 768 for BERT) +- **provider_id**: The vector database backend (e.g., "faiss", "chroma") -A better way to ingest documents is to use the RAG Tool. This tool allows you to ingest documents from URLs, files, etc. and automatically chunks them into smaller pieces. More examples for how to format a RAGDocument can be found in the [appendix](#more-ragdocument-examples). +## Step 3: Query the Vector Store -### OpenAI API Integration & Migration +Use the Responses API with the `file_search` tool to query your documents. -The RAG tool has been updated to use OpenAI-compatible APIs. This provides several benefits: - -- **Files API Integration**: Documents are now uploaded using OpenAI's file upload endpoints -- **Vector Stores API**: Vector storage operations use OpenAI's vector store format with configurable chunking strategies -- **Error Resilience**: When processing multiple documents, individual failures are logged but don't crash the operation. Failed documents are skipped while successful ones continue processing. - -### Migration Path - -We recommend migrating to the OpenAI-compatible Search API for: - -1. **Better OpenAI Ecosystem Integration**: Direct compatibility with OpenAI tools and workflows including the Responses API -2. **Future-Proof**: Continued support and feature development -3. **Full OpenAI Compatibility**: Vector Stores, Files, and Search APIs are fully compatible with OpenAI's Responses API - -The OpenAI APIs are used under the hood, so you can continue to use your existing RAG Tool code with minimal changes. However, we recommend updating your code to use the new OpenAI-compatible APIs for better long-term support. If any documents fail to process, they will be logged in the response but will not cause the entire operation to fail. - -### RAG Tool Example + + ```python -from llama_stack_client import RAGDocument +query = "How long does shipping take?" -urls = ["memory_optimizations.rst", "chat.rst", "llama3.rst"] -documents = [ - RAGDocument( - document_id=f"num-{i}", - content=f"https://raw.githubusercontent.com/pytorch/torchtune/main/docs/source/tutorials/{url}", - mime_type="text/plain", - metadata={}, - ) - for i, url in enumerate(urls) -] - -client.tool_runtime.rag_tool.insert( - documents=documents, - vector_db_id=vector_db_id, - chunk_size_in_tokens=512, -) - -# Query documents -results = client.tool_runtime.rag_tool.query( - vector_db_ids=[vector_db_id], - content="What do you know about...", -) -``` - -### Custom Context Configuration - -You can configure how the RAG tool adds metadata to the context if you find it useful for your application: - -```python -# Query documents with custom template -results = client.tool_runtime.rag_tool.query( - vector_db_ids=[vector_db_id], - content="What do you know about...", - query_config={ - "chunk_template": "Result {index}\nContent: {chunk.content}\nMetadata: {metadata}\n", - }, -) -``` - -## Building RAG-Enhanced Agents - -One of the most powerful patterns is combining agents with RAG capabilities. Here's a complete example: - -### Agent with Knowledge Search - -```python -from llama_stack_client import Agent - -# Create agent with memory -agent = Agent( - client, +# Search the vector store +file_search_response = client.responses.create( model="meta-llama/Llama-3.3-70B-Instruct", - instructions="You are a helpful assistant", + input=query, tools=[ { - "name": "builtin::rag/knowledge_search", - "args": { - "vector_db_ids": [vector_db_id], - # Defaults - "query_config": { - "chunk_size_in_tokens": 512, - "chunk_overlap_in_tokens": 0, - "chunk_template": "Result {index}\nContent: {chunk.content}\nMetadata: {metadata}\n", - }, - }, - } + "type": "file_search", + "vector_store_ids": [vector_store.id], + }, ], ) -session_id = agent.create_session("rag_session") -# Ask questions about documents in the vector db, and the agent will query the db to answer the question. -response = agent.create_turn( - messages=[{"role": "user", "content": "How to optimize memory in PyTorch?"}], - session_id=session_id, -) -``` - -:::tip[Agent Instructions] -The `instructions` field in the `AgentConfig` can be used to guide the agent's behavior. It is important to experiment with different instructions to see what works best for your use case. -::: - -### Document-Aware Conversations - -You can also pass documents along with the user's message and ask questions about them: - -```python -# Initial document ingestion -response = agent.create_turn( - messages=[ - {"role": "user", "content": "I am providing some documents for reference."} - ], - documents=[ - { - "content": "https://raw.githubusercontent.com/pytorch/torchtune/main/docs/source/tutorials/memory_optimizations.rst", - "mime_type": "text/plain", - } - ], - session_id=session_id, -) - -# Query with RAG -response = agent.create_turn( - messages=[{"role": "user", "content": "What are the key topics in the documents?"}], - session_id=session_id, -) -``` - -### Viewing Agent Responses - -You can print the response with the following: - -```python -from llama_stack_client import AgentEventLogger - -for log in AgentEventLogger().log(response): - log.print() -``` - -## Vector Database Management - -### Unregistering Vector DBs - -If you need to clean up and unregister vector databases, you can do so as follows: - - - - -```python -# Unregister a specified vector database -vector_db_id = "my_vector_db_id" -print(f"Unregistering vector database: {vector_db_id}") -client.vector_dbs.unregister(vector_db_id=vector_db_id) +print(file_search_response) ``` - + + +You can search across multiple vector stores simultaneously: ```python -# Unregister all vector databases -for vector_db_id in client.vector_dbs.list(): - print(f"Unregistering vector database: {vector_db_id.identifier}") - client.vector_dbs.unregister(vector_db_id=vector_db_id.identifier) +file_search_response = client.responses.create( + model="meta-llama/Llama-3.3-70B-Instruct", + input="What are your policies?", + tools=[ + { + "type": "file_search", + "vector_store_ids": [ + vector_store_1.id, + vector_store_2.id, + vector_store_3.id + ], + }, + ], +) ``` +## Managing Vector Stores + +### List All Vector Stores + +```python +print("Listing available vector stores:") +vector_stores = client.vector_stores.list() + +for vs in vector_stores: + print(f"- {vs.name} (ID: {vs.id})") + + # List files in each vector store + files_in_store = client.vector_stores.files.list(vector_store_id=vs.id) + if files_in_store: + print(f" Files in '{vs.name}':") + for file in files_in_store: + print(f" - {file.id}") +``` + +### Clean Up Vector Stores + + + + +```python +# Delete a specific vector store +client.vector_stores.delete(vector_store_id=vector_store.id) +print(f"Deleted vector store: {vector_store.id}") +``` + + + + +```python +# Delete all existing vector stores +vector_stores_to_delete = [v.id for v in client.vector_stores.list()] +for del_vs_id in vector_stores_to_delete: + client.vector_stores.delete(vector_store_id=del_vs_id) + print(f"Deleted: {del_vs_id}") +``` + + + + +## Complete Example: Building a RAG System + +Here's a complete example that puts it all together: + +```python +from io import BytesIO +from llama_stack_client import LlamaStackClient + +# Initialize client +client = LlamaStackClient(base_url="http://localhost:5001") + +# Step 1: Prepare and upload documents +knowledge_base = [ + ("Python is a high-level programming language.", {"category": "Programming"}), + ("Machine learning is a subset of artificial intelligence.", {"category": "AI"}), + ("Neural networks are inspired by the human brain.", {"category": "AI"}), +] + +file_ids = [] +for content, metadata in knowledge_base: + with BytesIO(content.encode()) as file_buffer: + file_buffer.name = f"{metadata['category'].lower()}_{len(file_ids)}.txt" + response = client.files.create(file=file_buffer, purpose="assistants") + file_ids.append(response.id) + +# Step 2: Create vector store +vector_store = client.vector_stores.create( + name="tech_knowledge_base", + file_ids=file_ids, + embedding_model="all-MiniLM-L6-v2", + embedding_dimension=384, + provider_id="faiss" +) + +# Step 3: Query the knowledge base +queries = [ + "What is Python?", + "Tell me about neural networks", + "What is machine learning?" +] + +for query in queries: + print(f"\nQuery: {query}") + response = client.responses.create( + model="meta-llama/Llama-3.3-70B-Instruct", + input=query, + tools=[ + { + "type": "file_search", + "vector_store_ids": [vector_store.id], + }, + ], + ) + print(f"Response: {response}") +``` + +## Advanced Usage: Dynamic Document Management + +You can dynamically add or remove files from existing vector stores: + +```python +# Add new files to an existing vector store +new_file_ids = [] +new_docs = [ + "Deep learning requires large amounts of training data.", + "Transformers revolutionized natural language processing." +] + +for doc in new_docs: + with BytesIO(doc.encode()) as f: + f.name = f"doc_{len(new_file_ids)}.txt" + response = client.files.create(file=f, purpose="assistants") + new_file_ids.append(response.id) + +# Update vector store with new files +# Note: Implementation may vary depending on your Llama Stack version +# Check documentation for vector_stores.update() or recreate the store +``` + ## Best Practices -### 🎯 **Document Chunking** -- Use appropriate chunk sizes (512 tokens is often a good starting point) -- Consider overlap between chunks for better context preservation -- Experiment with different chunking strategies for your content type +### 🎯 **Descriptive Filenames** +Use meaningful filenames that describe the content when uploading documents. -### 🔍 **Embedding Strategy** -- Choose embedding models that match your domain -- Consider the trade-off between embedding dimension and performance -- Test different embedding models for your specific use case +### 📊 **Metadata Organization** +Structure metadata consistently across documents for better organization and retrieval. -### 📊 **Query Optimization** -- Use specific, well-formed queries for better retrieval -- Experiment with different search strategies -- Consider hybrid approaches (keyword + semantic search) +### 🔍 **Vector Store Naming** +Use clear, descriptive names for vector stores to make management easier. + +### 🧹 **Resource Cleanup** +Regularly delete unused vector stores to free up resources and maintain system performance. + +### ⚡ **Batch Processing** +Upload multiple files before creating the vector store for better efficiency. ### 🛡️ **Error Handling** -- Implement proper error handling for failed document processing -- Monitor ingestion success rates -- Have fallback strategies for retrieval failures - -## Appendix - -### More RAGDocument Examples - -Here are various ways to create RAGDocument objects for different content types: +Always wrap API calls in try-except blocks for production code: ```python -from llama_stack_client import RAGDocument -import base64 +# Example with error handling +try: + with BytesIO(content.encode()) as f: + f.name = "document.txt" + file_response = client.files.create(file=f, purpose="assistants") +except Exception as e: + print(f"Error uploading file: {e}") +``` -# File URI -RAGDocument(document_id="num-0", content={"uri": "file://path/to/file"}) +## Migration from Legacy API -# Plain text -RAGDocument(document_id="num-1", content="plain text") +:::danger[Deprecation Notice] +The legacy `vector_io` and `vector_dbs` API is deprecated. Migrate to the OpenAI-compatible APIs for better compatibility and future support. +::: -# Explicit text input -RAGDocument( - document_id="num-2", - content={ - "type": "text", - "text": "plain text input", - }, # for inputs that should be treated as text explicitly +If you're migrating from the deprecated `vector_io` and `vector_dbs` API: + + + + +```python +# OLD - Don't use +client.vector_dbs.register(vector_db_id="my_db", ...) +client.vector_io.insert(vector_db_id="my_db", chunks=chunks) +client.vector_io.query(vector_db_id="my_db", query="...") +``` + + + + +```python +# NEW - Recommended approach +# 1. Upload files +file_response = client.files.create(file=file_buffer, purpose="assistants") + +# 2. Create vector store +vector_store = client.vector_stores.create( + name="my_store", + file_ids=[file_response.id], + embedding_model="all-MiniLM-L6-v2", + embedding_dimension=384, + provider_id="faiss" ) -# Image from URL -RAGDocument( - document_id="num-3", - content={ - "type": "image", - "image": {"url": {"uri": "https://mywebsite.com/image.jpg"}}, - }, -) - -# Base64 encoded image -B64_ENCODED_IMAGE = base64.b64encode( - requests.get( - "https://raw.githubusercontent.com/meta-llama/llama-stack/refs/heads/main/docs/_static/llama-stack.png" - ).content -) -RAGDocument( - document_id="num-4", - content={"type": "image", "image": {"data": B64_ENCODED_IMAGE}}, +# 3. Query using Responses API +response = client.responses.create( + model="meta-llama/Llama-3.3-70B-Instruct", + input=query, + tools=[{"type": "file_search", "vector_store_ids": [vector_store.id]}], ) ``` -For more strongly typed interaction use the typed dicts found [here](https://github.com/meta-llama/llama-stack-client-python/blob/38cd91c9e396f2be0bec1ee96a19771582ba6f17/src/llama_stack_client/types/shared_params/document.py). + + + + +### Migration Benefits + +1. **Better OpenAI Ecosystem Integration**: Direct compatibility with OpenAI tools and workflows +2. **Future-Proof**: Continued support and feature development +3. **Full OpenAI Compatibility**: Vector Stores, Files, and Search APIs work with OpenAI's Responses API +4. **Enhanced Error Handling**: Individual document failures don't crash entire operations From cdd486d58c046606b62b8603e35044e716b027f1 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Mon, 29 Sep 2025 10:25:37 -0700 Subject: [PATCH 4/5] update rag.mdx --- docs/docs/building_applications/rag.mdx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/docs/building_applications/rag.mdx b/docs/docs/building_applications/rag.mdx index 5c864a9fb..cb7f941e9 100644 --- a/docs/docs/building_applications/rag.mdx +++ b/docs/docs/building_applications/rag.mdx @@ -24,7 +24,19 @@ This new approach provides better compatibility with OpenAI's ecosystem and is t ## Prerequisites For this guide, we will use [Ollama](https://ollama.com/) as the inference provider. -Ollama is an LLM runtime that allows you to run Llama models locally. +Ollama is an LLM runtime that allows you to run Llama models locally. It's a great choice for development and testing, but you can also use any other inference provider that supports the OpenAI API. + +Before you begin, make sure you have the following: +1. **Ollama**: Follow the [installation guide](https://ollama.com/docs/ollama/getting-started/install +) to set up Ollama on your machine. +2. **Llama Stack**: Follow the [installation guide](/docs/installation) to set up Llama Stack on your +machine. +3. **Documents**: Prepare a set of documents that you want to search. These can be plain text, PDFs, or other file types. +4. Set the `LLAMA_STACK_PORT` environment variable to the port where Llama Stack is running. For example, if you are using the default port of 8321, set `export LLAMA_STACK_PORT=8321`. Also set 'OLLAMA_URL' environment variable to be 'http://localhost:11434' + +## Step 0: Initialize Client + +After lauched Llama Stack server by `llama stack build --distro starter --image-type venv --run`, initialize the client with the base URL of your Llama Stack instance. ```python import os From fbac4239c030f7977b7aceede1f176f0ac799c34 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Mon, 29 Sep 2025 10:31:55 -0700 Subject: [PATCH 5/5] add png --- docs/docs/building_applications/rag.mdx | 57 +----------------------- docs/static/img/rag_llama_stack.png | Bin 0 -> 707731 bytes 2 files changed, 2 insertions(+), 55 deletions(-) create mode 100644 docs/static/img/rag_llama_stack.png diff --git a/docs/docs/building_applications/rag.mdx b/docs/docs/building_applications/rag.mdx index cb7f941e9..2ea459890 100644 --- a/docs/docs/building_applications/rag.mdx +++ b/docs/docs/building_applications/rag.mdx @@ -19,7 +19,7 @@ Llama Stack now uses a modern, OpenAI-compatible API pattern for RAG: This new approach provides better compatibility with OpenAI's ecosystem and is the recommended way to implement RAG in Llama Stack. -RAG System +RAG System ## Prerequisites @@ -32,7 +32,7 @@ Before you begin, make sure you have the following: 2. **Llama Stack**: Follow the [installation guide](/docs/installation) to set up Llama Stack on your machine. 3. **Documents**: Prepare a set of documents that you want to search. These can be plain text, PDFs, or other file types. -4. Set the `LLAMA_STACK_PORT` environment variable to the port where Llama Stack is running. For example, if you are using the default port of 8321, set `export LLAMA_STACK_PORT=8321`. Also set 'OLLAMA_URL' environment variable to be 'http://localhost:11434' +4. **environment variable**: Set the `LLAMA_STACK_PORT` environment variable to the port where Llama Stack is running. For example, if you are using the default port of 8321, set `export LLAMA_STACK_PORT=8321`. Also set 'OLLAMA_URL' environment variable to be 'http://localhost:11434' ## Step 0: Initialize Client @@ -287,59 +287,6 @@ for query in queries: print(f"Response: {response}") ``` -## Advanced Usage: Dynamic Document Management - -You can dynamically add or remove files from existing vector stores: - -```python -# Add new files to an existing vector store -new_file_ids = [] -new_docs = [ - "Deep learning requires large amounts of training data.", - "Transformers revolutionized natural language processing." -] - -for doc in new_docs: - with BytesIO(doc.encode()) as f: - f.name = f"doc_{len(new_file_ids)}.txt" - response = client.files.create(file=f, purpose="assistants") - new_file_ids.append(response.id) - -# Update vector store with new files -# Note: Implementation may vary depending on your Llama Stack version -# Check documentation for vector_stores.update() or recreate the store -``` - -## Best Practices - -### 🎯 **Descriptive Filenames** -Use meaningful filenames that describe the content when uploading documents. - -### 📊 **Metadata Organization** -Structure metadata consistently across documents for better organization and retrieval. - -### 🔍 **Vector Store Naming** -Use clear, descriptive names for vector stores to make management easier. - -### 🧹 **Resource Cleanup** -Regularly delete unused vector stores to free up resources and maintain system performance. - -### ⚡ **Batch Processing** -Upload multiple files before creating the vector store for better efficiency. - -### 🛡️ **Error Handling** -Always wrap API calls in try-except blocks for production code: - -```python -# Example with error handling -try: - with BytesIO(content.encode()) as f: - f.name = "document.txt" - file_response = client.files.create(file=f, purpose="assistants") -except Exception as e: - print(f"Error uploading file: {e}") -``` - ## Migration from Legacy API :::danger[Deprecation Notice] diff --git a/docs/static/img/rag_llama_stack.png b/docs/static/img/rag_llama_stack.png new file mode 100644 index 0000000000000000000000000000000000000000..bc0e499e94faa6e229b17e6afa2fde4c9ba71628 GIT binary patch literal 707731 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�>YE=dslNEqI<{Rot_9W@T%H2ko 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

V2Zq+r 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∈FOrB{_TbM=cD~l=*Bh_dKe5wL2z(~F1}Da63WB`L=5oS?Wzxk zVW;LXa)OQ9_}upkJ_U0LWl0y{m6r(B57DQ&?w?@p^YlWD0UdR&_i1ODvdc#9Ck~0z zPsw(~OK)?@zed1y7@y6LY(8<+USqNBXsx>4!>nmS$FR}S7h7gI$FlKBtn@h@ZNYQ| z+DxZG!LZftr;3p7d0glwA+60fQ~#oSsHTfQTjo1Qk4e3rMiCLkXAPV0Brr0hQh#*C zt?L}Nh#RSakou|o<(%liwc=ZJ`@m8|cd2JOh;-;jh)f1x@J<$aHfno7TI*qoAft7& zz1Qrk@NdEp{^t+{Oajy#LBwY2W+K3*t+#k4zgz2b%nUU6Gn@{w+bz>ui?pqQ)`wbN z53lHPFO1OrZ41EiO-K()hq&RW#;Ej`o^W{cc!LLLH?yrI9Gdt}_i34MoQZcHKL?U7 zX(v>8Ba%YiYXRZ>?2k?4@ipi84V+P}mi|j)T(*phi*^y-WyZq?Gb`kA+ur@XMf%XA zSq!5=wsM9FBj{}hddyVs>8+chfM#>4qLuDfQ$+1B()Mkwtvc?|pULG6bC1fnob&pgh@va*v536gEEsOK7M+Ma zySTc+H{lBIRI-~bv4m_bCAnAF7yk)n61_)-jx15b)-jo0ax)QFl7g&~#%9!N*uqRJ zKLwq|O!^Qxbx1ZrEbp6r;g=#w$Z@~|LkKBoGjQ^qjPaL}2wg9K_$%xyr`KfQ`&Uo7 z*{K}T^Gz=6E`Uy&bwWBJ@?vj@bRX4Iy1?2zH5|Z(M#<0gKb%R9j?e5C+1 zxs7Pe7jFua;V(iiVjD;ikG0mk?{^e<_nrb5jsE6PJj2D)${MIFJw zQ`=oZ>wv)Ui0&MW7WY1Kfcl4TgBZLFgr(cNT<%qrI)4jUmlm&XP_m1wM=)413bOF5 zJ7-aW-*#M`@!~V_io0)4*G7WKtzTBZxF3MFpVBTT|9F=Pfb86pfws()22Ji+b-Sx~ z^geg86*#m5fZ!lXY;HJjpnq(3*57&@nDpQRE(?w~#tfyGxdCo(P4+VUh>Y!vcuVoP z6zuS-H&C54A7s+F` zMb923J;Cg2oBoMT~=kKMagr{p!1^mssi2JdG=x3T8x) zb8Z&#ZaZdcRd!9|90Qo+-)GuoHpD=b+y_R%T1o-68YWZkaAm9a>-mfI6%cEs4cm_I z)h}$-UEpV$bd8J?qNxy^2ot)9&Nw2_UUUmvWFtR8`J)w8v`DX7{{7APaGMG7ImR;b z!B_Q}3!bxzVreYr&228FKPPsAdgK;EQ zp5%%&z`_Gk6m;*vk3B1fd>&MTyS>DSs@vG{-6jW8pC5SrH>WZ9K`=L#Rw3Xd>4Z*_ zEOvBu`M^SySS7wdTJqXZIF5x+*u4;=D8U4o*eXsmWE_J7dCw)75#0x};eFrn`DZHD zo(bJ{6NMeNzM{Sh67tR*G^}*%J{TpBZZrYy&GC>VP#2!In+{}_ou1p= z+YTA+wsL4>E|KQh*4R1H=2o*=z`V_$m_NFM+0KU>0vMD!`#ZXNa5M`4t^P224+21> zLw=_TC8uj^zRqF}W!Jfi=VHs&-#YNl*z0F?l}@L0TrPugAzs)dY}@7>j`YlZk+3xS zruRtpMv|MS&11c4gHgEA+T}#(jU!lgFYl%9u%EH#rjINZS1nk=Y(aQn^87ME20Qw> z)$={X>k$EEbZI^%jwSBF&E9vo(VZgZvXW1i z1zS62tx{qAFOn?h@?tg*?h$TpRSRsr=w3%{2^&ks+7B$d`qwe469r&Sod^0`h`X5c ztCo_8?}Kjni4~5*o$>hF%-U4*b8|2F%9T<)y1&n4cO=VuEQO4gBt7=QiOkTSFI!Ih z4(G`inwehg%}*F*RjM#4@YN1)P%5^ENv6s<lq05Z4vh=Oo{2&5R0GLxN>GHoX) zNaQ1p17Z?SzMz5t5!mP`lh-4Bw@Ig|0TWHL3W9_{3Y-G}&!-eu!NZhthyore%tg|f zsc*9vRu(?WXD2IKxvvyV_cUlvz~T#u&bHeyd`PeUP-A9QxjJiRB= zDQnqz6A&OnIOhJ zY`NK;%{P*i2m{wzqAw(NRZJ_J9pr15F+f^eCe!;=O`lZM&RWgByZ~Rk7B3b8pMgHN zrYtNTt}K>berG!606o~9pPCV8?yBG<3gBGmWR)?!nT`DBVFz~mm{BG_4Pc030am8B z;L5ug&1D-^IgK59yoJ!jzyPkJ3n)s1vb>9!dV`|VEQh4b+Ami=;X@x|BXAEzW{|@p zHt4)`k9;KZVOuq1H%GwXP*%8;X zb)~DlN_!Y4?y9smsFf-~m`o^2s&B=fc1WX*!Gs65w{af^0?Gs;bb07)r3b@xll#5F z!L%?7J;-^K-}5c(H-(Xe@`E^GMZ1O<`})Wswqy0_?Wyg>#_iooF`SO1#`3f2ETu(sq|7GzHfk>j ze1$50?|?~q{On4iMy7o!ksz`6K~Uj90Yy3hyiM*N0=hC05;-v&zxa6qg z-ru#z?r3EjzHLk7y}!(*^ZH@{--OBH*7v=)!aD7(V=`ZIh1-h1oEvNv!c*xx<6fas zt+v}l0tOr`Q{qPSr^l}L{OB!jvrEhGySv^PO zoJ3^aZfhKe$DXF(lfA$odVTyfF zBk?gWFXo4Mz|FYO2bKyeF9Yyhb(605l*W^6YtnAE&L$>Wc9v0WAWp^?eze=GMtmFn z%yQ9OO}C@LVYO9}t)%i?dAecaUE%ES{n|urUZm2ByG7xp~X3#Lv`8LguT6j@jpj2Ig7VBW%_L#5sJue|FULiv4{R^DB@y zWogNMzDjWtGO9~%r)6nYQED&>Ri!WuI!4&NS`GM@__SI285K`^_K3O-9JwOdgmSwv zM<6F;K}Csf;?`o${IYsnNW=69-;vvbrwR`!rNqC7MYiHL7j1K*lJKY+D2L0mei;d|9KY`?GYx+5BYX!PTvm!yklgr5> z%=qPE?IcOBAHSRgCG3<@gpn2Jj?$iMPP)1<+@#{0yBB)7i~ROL4g>OEQjS$%CWfSdAYGTPxGEm)*cw9r5_nxt|R>b1v(xK8$NZ_*JYu zHxPaiYkfGIySJO|#OeMZtXc^b#FXZ{>}Qb#l^XEX*RJq*n@@;3vpN2VN&_6GM!i>=@aYN=g)R~d>@Pp z{&Wg9di|Wbf6nHD#Vx1~J9+>41s$ash}+Lvq4Q2z0&V|@byAK}X4x{0f=d?aU6Ajl zsJhvhm=&etQa*eyIW?sJ|KQKa4?3vdwt)W&#rMyO6TL~AZh@@L%?VyJT4RGot1NB-L&#dx4K9^2<=(_%n}}UqhYb- zq4mXES)TG#aZ#tD&nDS|u!|8V3p7)^f{F4Eh&=%tai)9_R0+!;5%P+(T3gwx= z2IkzkIyb0a9syn+^5obDw=H}5R&E8FS`(4 zY!NnJa0ipO=`NCS>7};dEW8)K=>0iNt5Ebcz;vI{Pd+<#Rku-GNVolrPKhF1kv5AU z|L5qE6O_#|tyKt3p*zA*Yulel`m_pnhF6wVTG2}s90}=@zG{gllxdH{X(C8bH)t-f zD7GsgF6EWkC=`zs)0#EXj1Hy*P=fDfhhD=xd$Daln8L!7gV~ws9FbODeR9dqYCa@j zz}IHF&Fy+wG*!Y;VEs|J%=$iwD-Au_8UDPUbNyXR6UhU`o)uI8-OqdIHrDVN)Vi^4 zg`H=>uwfXcxJKfyl^w2xY}dLFu}ruHO-=zO|PN2LQ_jrsoDv9nlVpE3}foELC|=x zEndjSV+{~K5c6b@xtppjBVq9t=8pZ&zEDNXIZRJybPL21!1SFV;_J)hLB+ zY&M8qR@|~z5sq_2e$wgcZOZwvV-cw?p8ENNP*>1B7UIR(ycmb_AqC=#9?jDZ(1~-m zspAOGgsV-=t63)Di^*#*FW+{HP*{(FK{HKurabi@Ykr#j@j@KZ+A1=-raCVF@$y6g zK@@T(bbXcEvxGwk`C(nrX)alfXN^%s&*xr$q&BUq6AR?2=lz7w&63V6;OtARq0HeS z4Mywi0WI=_DlU0fBH8<|ki6%I4OykRRnFYKQHqwIu}9rDG`s~_PZlFqQe%y;NTps6 z{q4{9qIk}YdOBgdf9IpTzZ0psGUcx|5u!tI<#FK;0S+@dLbrquQQt#ZZ0%CiRi`Mnf59ZYi%5)tPdprQ*{jI0e6 zpx8!r>bX&;CN|6B(?z5#@md!9$z^+mIte~nLq%=dFRVE^?Wag*hi{_Sl$?&JgPEwv z=WC`87y!OvMG~a32A8qe+-lpW7PI+XGs%}8`(vOurL49yYbG@Y6ed*$6GCD( zWwSkcr#B?3Zbk~;?P^<1ilX%mGwbcS(ji@XV}{7nlYK>>uo=RfRzwy3INFMeFx+B> z62QJRK38>KpnS%f>+$Ul_lE|3K0=#gZhO^Lj4Ib#aQt=f%BRO>i>|hgN0l7dMOvgM zsO7s3&t=KW#(`V%;Ow_cxstx0&v$fLi-;RGN>o@Aobg({B0({y9S)TQld&-laoT0n zA>Ogku(U^C7DpZP$N8Qo81)*g)RryG&@wl@aH?*5XcM)J4a&C=HXju0!wIYuT*4kw z2%6nP>taN56xBWRcYWHESYSllp$IRM2iJ8uAx$3G(k2e-+0+qNU1_3X)Bo;7+@aP% z-U-U`bp5Ruza4gkDll(AwPwUT+^NIOX-DsRXOxzR)s;ZCFzX-fBB6D{wpPlQ1BFW! zr<3X9ci!4FAr1Qt^ZV+ZPluuk@3(5m|8`H4P?>_-+wv}{&ZR$^Y)_wV zJr$|87-Qy_H*pGyHGj_w=U9dl~0&U*5quDptR!jzz42CHS?k+~Be@ zCBDNsvTI$4y%aCeMKYnA^;vj*DZGSQ{C>`z5AAo`j7DD|d8r+OW81q3&o>Wb2TO7% zY*g|4tFM|29&3-AL{@3a!uVbkW+C9$oo@_ZTJ_Kn*?+tDFs&Z~@oa}?r6FdQdDe+s zIh+P7u-Bv1_PHFvMk1+kN!-JcT>7S1t8Wg0*FuE`W(>C&vZ$ZFZ>jyhsdtmz7rXeR ziGx#SqImM_;ROifR8h~jv?l)Rck$}2>-^yX;ul|CLtHY6sQReTzBhS9HYXDrg%xslXgtMLb_1$6lm-B zmD_4MMYBLcmTT_GaWm6T0AK1nwUyXWCY?D(;ZVTHZ&w|09-E1HHe$uFnmrs{o~6$F zT-WGDH4yCvsoX7Zw=EB7-1CJ&UDrjLvOU}JEPLKxHP38urb#00tj3lhr>&6lD845X zRHemN9=vbV?{RVN+U^$rhOre+t57?NSM&KY`;LBTe1-SbJka(2*k>| zZmy$*j{aLlpBq4E9*+mtC%qX+V)h}G`&BXzWsdE~*-8uAs1NJwYz8r@gpT;Ti5EUF zxiWGPo;~`xWHFFnRNoFivKw8sF8_GDA@h6w$l42sT;yo906W}wW?Jyr$E5w}0d!5f zm>-6Be-`3g@c#YGmyhgKQZ-#s!HVy90h9N{*{9HuEcN{8VB>AJA))8tM)+!%9O2Q> ztg>ZwY6oO=btTQ-i`n}#^HHAP7Mk2C-9->q`3}Kw-WL;om4SEfG?^Vh-!6CC*`gDy zb`{!1dH`Lw7liOyV|1j4yxq)RD^CJd=Mru*N+>8+oyloDG<+avx;qrZmS#8s*iD~o zhm`T(L~>X%dM^p_1!6$rB?+EntE3wFMWjlqa!lMK*$GKsE^gO_d%u7cJV6=p9GT!Bbe9wF> z^to{OiqudM{azDvSR4J*5>xS&1AKkhhZRWK!|15Re8WXNVs#iRX>Zp1aP@*E)hbgF zF$2r$@GP14$=u!vG8{)gm_y?{3vlyuS#HYV6FwBP5xh^>?GAt>oy@K?@~fC`Cb2ts zL)Nx8v#^6*>Bqb(z4y`LGeiaA=iG;7cZlZM`l`%=J1GuJ&$^4gyfJth6Ld@VA=1=*9NA_zQN-&pxrW& z=R4aJM~oR|Y$Z-1ZicDsl#o;_brwGp%%i8rV6TmL4cPpvq zhl(MBm%3lT!X(vq@(l3RI4l3H;Q@Zr1NZG!*FxA_^0^KP2dr*V0)FU=zO?fM7wS~X zLdeh0_nz%?wqXOs#=cf()DFkfE6wAiDQgka&6&IHvN32^keen@s88+)uV`myY85#b}2zQ!nP=kh(7S zHVK^+t-R8(&ku8u?wfMXS2D{iIukGHk0*AtN)tT`6I%t9QiUzUh80}3-@C00*S!{F zli|z&eF~2|--$fPQC_s1M~7u~uQ8u_>}3sK2?;T4>2SO#Zdf_F)qbMq&MGZe!=%~z zI|k&V0*<&U0mansO_JoA$}X&J=BbT{9p-_=u98K@#f%3G7GK-(#NnvX1S$^&M(_FC zYgc=8i+hTL=?J@gooP zN?jc9!$s%i+pWg>GgniMYib0N>e(93i|7DW|p0YaWiQ zT3SZ?uU+P~+|%bB%G?&FiUr)8@I7}=UNtDkeN)E6oh)? ztjkuN^S{}bB-2D8-z>yF*Qfd`c02NDQNep5D{Q!lw(@^ouyK@-tK9cPz5c|GX~S?CT1JPHZmc+;x0^ zZykJRAX2_DZ!hN6*Zsh3^UhPYc+I=9RG#d6Kh&4+tcnoJ*bd!P5rQet8%wR*XgRBH zIWPGg$05Fy__Z?X2!!1V^Qs(+Ch-^q%MF-2(?@V{QKm}h=P+V zRzY}Qe&fisQZq$bm>#zh9DTBK$GT4RX$a4SW=?*pkHf|h_L{s5x11EC^i?glbyE$( zrB{2su+_FQVFwF#tXrLYm7d{lAxxYT-zA_H4Ds#CL9gE`~(& z^_!-71WqZgv(cvTuPeQh*&VGQHEVKqCQ|cI^%v*k+@7Xt^7A|+wBW_9zVc%q%zaQ` zjKM0|+SKgk=LEvVXrIl6I6Pna;(=L^TPd_8AIIfAsc=W;ke=bgT(Yb}E;VViZqFBB zrA*VL!F9XxeYH%?AN)GQviaMtNHGH&-B4DpZoo0qXe;CFVMs2w3>scHbhf6OcwQffcEXTvvHo;HUVB;M!G<~w>}URU$?7Gh zp!dac#%dLoFm2|51Rt85p_MD8s;H`FNBuCI_Un1Cy`yDH72&z)XcI0?Qzt($c5*)Z zh)MD3#JCGPpH9qIefe$Z?n7J2!;HYwO&e1KUJIK$`PQnEY4=}B$!azCATws^phZNN zstT%AgD*9kbWSTbV9?may+;3=O&(Jw4bcQp6@* z|J}N&c(ADSic$HOEM$aGQZ2IwhvVR_IQ|RLa|HZ5H_WhfK@xPoI;~plUHHVMa!xGr zSpv~ParR1Ab(w)NUs%T>pN;N>^?lc{uz8_uoV@wN5hup(cO8f_SGKaPj{2Yhv$*>! zx8y%1U2s7%CE)-7t)4nuF@(?*By6%#V?3+?L{k;EvppMDW zJlEpyiSo$Ewmh$qaqt`0H$IPiu|%eNw5dSz_t2bP<9bFJs5zGa==Dlv#0wU%x?$r@ zLc#_()fqb;*w1cu03CcKgicq*}CHUFGJpRH+M1Y)}S?E{N|4RGQS- z)s$Hn1|)Q`Ain8=h8g=73p4v+=J$3h_T1eH9+G*b4yY?sP>VnO2Ni!1yH`AP2R zmpBh>uXAPy=CRuMRS?c+^Eu+)gv*3!>DE%Ab0u}=YOn~iZ*SLG$Xl4hK;P|Bc;~}W zKJ3~!-lF|m)8q}?nBwoZ7xQBW+c-Mcba5~ryVQ^`4yg;{Cwm^8Ue&;tG_jwKmvFhX z7F%|BVyet;lfvCL{O#t&_25~Ygl(-Wp4EV3d+S5=wI_bocZU0FpPQRi(M8hb8sD(m z&#M?P9XMfT7q{2Nwx!Ul1<7ia82Ik~bEWVhe1t+^Uc0_ze1noe_V8j{!~@7DrbG5S zP06DVKO&d5AFt={Zx)L4cSX3rY?3o>yx6sSV(W{d)`6p+p{qdXgWCvHeks%<6q!gY z-yg?hQ5x9yKUCnzS8ttp^SN=Vuh$3W`g7LIK74PQTwJ4H1iCBc?)c#&MxSM{x$#JH zLKxr%?o|r%vt>D5LfC^uQI)g|rE%h}DGKjUcVlLCx&F1oM1Hk%vd37(ZKl;Kmsxy9 z7hVE=M=uBg^8wUFzE~6@p2d6%WWAR^Qw-Q+$dIv>T?e8dU zwoC;%+^=?D;cWl#T)tU+XMJBTfn`fcZNhlLQJBB0I;Z2kHL_nK_=v>h+0AL8PhrQD{_R@snIxdP@CZX3paEcL8R>R=pyXU$yt1 zzAP?$)-vl*o-X=gYS?We-b|jm5z89<#4JJYXGK8PIsF2TlIuOaFy_OdqiCN?y9D(+ zKKhAKLn2Xd@ZGjoXx*u*H|Am@>M;wm0xd!l&FazD^SfkboN?k8>vThqQjdP@&HV(d z7^zB%(tMxz^Ro>jMm&c@Mjv;{aO>^YiY3TuV{cb~QOUoA=~yyy`2bMKi#wP_14&A@ z|Ha;W1~u8P@7`8WQFs*T0!o!GDAGZs7ePQeNu)`W-fKhzM4I#t(tEF=1V!mhdJVmo zAR!45Nb=r1|MjdrYtMQ=?2mh9e_;~HWD@S{y6&?a=kXg21>XcPaqW^N)06fh>xq1s zSrVQo+6av40_%0^4yD9{a4~jTzn!rk%y^C=lh(4L5m+ zywEI>@}oEfGar%mVhKq-F{*oyl|DTGS7!M6?vt++qaQNYGT#3sNB)YYdi&pGmmZ$~ zH9&n87#F*kx%Rs$rYsL=PAM+AfnShEDl``zRLMy>7>Y8HIb?jex-jy&OR-$1MDyks zh-Z@I$yY_7IL?;tgR_42tVf@(;dA;kITffjca6&SDd($-Mu|a(Mi668O@9SWswAGP z7&6NCywA~}w6@hW;kzfF>mb|)z)or&;S^1r@eqQ`) z7VX{LLaaC75`LKr4gVQx-n&nENT7ITI&QuE2`yJ`-(t@gCH{_0+H;s~?<~R+@{n=(15I^{4@xTI2SN2V-snbAr^u?+?x5L1`P& zKLdnF=F*>2#e|TUdvA%FK2>G_;+0?@$A$K9prv>nrPa(c&gEQY=F1=_eMoc-5JiwU z`i(tFhb|jzU3rBty=zK*Bo~;ejXrLJdiA!YJcE&6#9`Sdi-O&ezkY==)sUBKr$D?8 z4S1;*Z_Q53j~3C}w@hsNsu7bG1n<&-B}ssY1|>OS6%=(EJ7exV_VMPlcM^$>@?1hs z1JBfR{)ztKxB{ol+m$Yv5jQqfa-Xr;tA4Q87m#Pm+m=ASahx0J^mUxBz3fB5CzQu* zJLY{F$Qm+-9ZDCU#Wg;^E@eZ)AV+@HVk?frw+AFft`Cu5I%{{QMbmu|3Uvt>lm7X{ z3Mp#hittj8vAX&d)SeoPW%P72XAGU~7Qbti$!A`k^t|3B@_iW%%e~lr_Y0KKs}3KQ z@ounyw4r|JfSkSg`i%d$Agj}{f1J|^X{Z`_JN=pk`WR?KCk?d6utrJ})11Klv=KvI z8o3Kc9y!;@|DP&uSVHhd@g={Pf{`#N+HAQo0AV^(DE@a+C(*K^EoLdgEZ ze`*2T`&{{ihm0=Q_GN{3cl)ok6wz0&hH;`DgHko)gsEfB>Aw};!Vn3^MoiUmS?l7& z*9zWmin6e?7iXLPlY@&Lb$&}s`5NjHUiN`3{soIQFTh@@dhkUuWS+cXN$}fE+M`nx z-m$&<*Mh}6)zsGPL|4IQy>Gm%jnt5Z@WX@097*7He?PGlTfdXuXNCQRkWQpy?qIuBM?)dUA-Rkg1u}l3PIl%kny$5e0j#P(yQuJt2<6coW176#57=dQ zR(P`M?%3MJG|X4djj)uAKU$-Xy~M?`^Zv;c&37{%<6u4dm%QW!6tKC+P+ew5y?ae>rB1#=a!c0ahxm2# z%Pau#0vKBQ4+I99lsxposI_NFM$M}fU3HYa8d>v;E&l_@j@Y@bT<7E%UZKY~^H=Zb z*nS5#2vtA#!kOGbBq{iXiZFc3*Lu*>_DulHY zA0pvYbbVaQW2AC{7_X(PK6*VqX^1IYj>0~+75FT@&Q$Kbu{Y+_i)+c|IbZdi&kAX= zymk*vZ}43TjEsF4srtBq^~)z-1o9S_Ka)sB!}I({4B(?wabSmwJ|JACb4~I1vOj0W zUdWWe853~P48_#1K7n_1bjOm1+}vRZ?ZZznio1tytTg4_y=jQM$PNb^HNG?XKKmp* zLA_sNC$%9!8~wK1jE^T$rN>rt43i1wJ1$T&mnyq?M-pECJk0R`Smz0On`ISMTw`y&7 zK2P1)!Z&Zl3X0;AW6WYz+2wZyL^9RhMgQ2gis&dBQS9@OZbiCdu%TDtI8>yH_dOdN ziq&7vdSPd*XdS?!*>-E}?EbDR$tj{iQjvo5q?QqBR#quwoL2LXH34@h( zr=vdZp*ut4NfYE_3Dxs#H`loTH!jLQpp@T+m2q9If~9db8X{e-lOWF3NJ3XM+Zgv2 zQN8}`-HKtYi=%qIirLY?e9Nbw(d=;jm7{`&0ja%+6qt%x3Ev4=$^QBWO93Q?kt?o# zZqwOJjSSMVU2r6lM~4&IPj}tei+Aj%$fGcn9$i?HBZm9+-n-f5Cy~?1e+NaD8?K+L z*wz5It9o5ICV#$bSB-A<<|t6QZ+uVx$POh@QR;QZfg!UO?j=8?rF&@jOSsB>DW7y!vY&V*XY#A*p`=> zd=To>w4MT>$9LfDK9gZjv&IB!edxIXOhQc2S32ld<3Vh~J#rg&ibKE}yrO3B1KKg>U!<3CL6Q&thTHsxh^Bj?9zWA$wr>gI zf6)B2lz*d!DnC-76zMV?IxeIQ`!wK@2jAX|3_-@H7`2A{(#pNl33F;``r>SFD5Rl zXE7jWHI{(x#GgT#nF5cQ7vdkN4mP_nTV+b!YUU|xQ%LBL6y?tqrZUt8nk{&3K^D=!ve$t(d+#)?JsZ}rIK8$U zlGc@-Eh~{wRHP_OyXz&ts}zituxm$#9C{s`HA_<*FSJ|+8q=yc-qobnqs;M4g;`>K z?|ABe>CDdhNfJ)<9%@%2zxW+>9R8k?bvr!S>JBk)mOReIFrmx|*ZbrvF-w!0{K8LLTq2{5Xl{10|f$BX6fjPHNs zGTa0P;3TYe2IfcapT6;YR_nAZX8hJkF1UFprDnBOGedZ_WXc+DDvb^LAqjJ!Ddswn z=2zxhI^)p+XaXmjcJcAsn~+oS)w5&HvHl%+m_R{<1s2s)riSxRu#mbf?Y22_orDn0 z;K$oYw)}2L>g9Xg>*gq7foUJ01KLAMJ`d8pYRW;^4~R6|Kcm5b1{;9@)WxifK0(U1 zf9^w$#h}`n4FnB~`CBt;#%euPaQ9=ztLk&58_X*Ly@iC$ zzcxWHlAIrw=dC$ZV&5YaW=;QCN=&^phPOSMTMVSM8t8d-qn0{nd(6@PnKjY*k?A)G z`p{(Wksqp4Q*}^U8*g@M(=LtY81 z=8(n_c)-<|cYkW=kEEbkyvB|N2cGh*ic!ZxX?}$526bbrJKn>sT#x(z?E`%2=J<;j z(lIX=E`Jp4kv$Iq+&3;f!CpL6UUJp?ANP=K8JB6-VG_STpO;a8hRBT@PQ14B$uIhf zf0C@`svJPlPiv9y#CFdGg-F@dP?#67+HyjWH<|)p!B7L_PiCg5Ao4!&c*%_0ZQ_X% zL%{Jbz4HSoBS1D{h@VXceR~dst>fOYN-sD3)w!h2@>En3kZMxRuDd*yZZB5H)lJPn zjDM=5`=v&s)WoI;sS}LTb-e#?vU?f2B0&fSj|?MDPSdkzqHB_ z=6+sruOhYh*2wAcFtl!!2eR<_Ai#!U-^yV3Y66nXw0JtgGW05w5P?GgDub8>aJz*!>q|PS47{^fH-o^m)3! zgcR=k-#J?%4Gnj^`TnM%iOgejKg4cL%69F`%_`~I08Brh2R~7B!%d8N%wexy|EglN zHgjATdlOc_Vt@wh>ZYD5@~SR?(@t;maLQ`^Ks&~#4n75MfQP`U^Fv@-`Y~xkS#_P8 znmxWBktdSG@i>%t+NIom`}Q^=s-T7QYtcw+eOL_>DxbM$E%rY`y=xCn(#sO$;OE`a zm-}8^nV@{~r;wi6id_NjkgDg;x9;j=%xS{v_&JLwi_Ed)>Arw);~L@d!FXjtYua0< z@L#&5-erOB-) zGQ7wqrsa4|BzDj`FKRU@=ssSF z`?3{ed2Doh9O!v}Gf^f|kG~DI0j43#Bt%7qlYMhe!X;e;P5-pV=%$>EE#vm?GRFyA zUxAH_tko|Mc-d<81IH0~9EU8)TMe!_*}w$vN;lIAPA;+1L_D6uIl|xI6kg3-(WPw* zc!K3_?&Sr#IdUnNx-|fAH<_C~oG*I{X`YY(u7Uu;?wiaFvJVe_(fxg=|M!*lAN=7( z!dKh%a2J3}bO&!%{!rm8`*r$M-~7k9dy^T`DBXFMd)~VnHxT^lA`NbsgOjtb%5`ZW zF)a0;zsJ4SZXd4&dKIGB+8Hu-_w13n4PB4hNstEWBL~~g0lHG>4lDf?)C_>^qZ>U_K9np#!h`I zJY+QXB(EyYE~{ypnc~Hn^+7OdtIX%!>-$tGssPg*Ov({f}D}VYfk_62% z3zlERxMM{3+GbilRe;iz`n`X&CQsDRPl3n2(B&{g=Wng?L&68s)=N$EE&>{Qod%T@ zVg(*;Rz2P!xgFxYA{vqQIn5sm6=ZW zhPs7f#|il&lxiT>;qgLZ)dYXhlmd3>q_g|^mAgn9unCUAyt-5!|Pyv{+iqTPF4p`QB6Gf4Q)2FvPK%}1e* z!d|+wC!KYP^O_8bra|h*YENtAXidB?#L4}2o^hrlt@Dul5-a(V8ynK!dtU!eQ;Iw3 zBp19~aOoXyiR7B^cUBt2*E5J7)=vpkJKcA><t!vI&SAWU3?fzHJR36 zT6{eDY>AiaO-1>JBnoP<@TI{|0vz8uD-x#t@lc;1c*C8+lBAVHEQ{Go|xKqI&?Y}~W> zWV(Naw6X8VdJ=HLa0Sc(nC>nbMD4*ax$J5#+YtCS&**_hz$RPgz=M6kNG|RNnzSni z3}*{B{xUnOe{?cMY2W$Dp&1o(Fjnn3_Qc@MKa$ZGj+DTVe?#x12d?LURX*gu7^`hr zJA92-j-&)$23LGHjzr2!m%t+1q zKs`QAV2PE_5)yDAk>)hZ#j{@ld#<0y1X3;}quF0!vWv(d*cTQbPh9PdP_Z)4?u_CpeDjPIycJW&-bv-`&jxHB2>2td^ye z9u8!694xZn>*(Z(0Jv+!1!=qW@pW3FXxrKEu2JuY>-T1~Co27Ha@TeL21P2 z9#=Ti$HmTeCd0F$JK*dN+56Z1<3yq?Rei{sysI#W*}C6aB*=A~~;1uxk`31Z&Q ztzW*}+4=Bvm}z3$`FLDXY_F<7Uh^tONoG1?7y)BS6A8Y0hqb%SzBKymVD3XG)BIoe zmD3v$4g6jkY<)JT=247cF?1~kyT}=wWDly+z1(~2qdLO<*+`zQJLdwcjF4o4>xKdJ zv3Z+ZR|#334z5%hN^BFF6o{uQwFhZ%t+NZ)%S_}!yhf5g56$2 zU5b=QKqFOQM(e%dbHmIwu5|#iL$_JhRT)svo^SenD3aCEp-4Etm1B1o)}^K85WH!m zD7NmC_EKlDuMW#xeG|7ngnTFcS@=tuZ`@G*6y#LCGxq`9V<;ny<< z7&(8NC3exzT!TBQki&RE!f&}lEwM1c&`S= z_0aX)55>i*wWVLfWWg+Rw*7A2*YO0TQDY)M6>K(=aW7XGdGyY-xUI(%>RSbLfbN*UHY z8nqEV87DS5+;5+MCd{-Kc56!zJwUL@o+n<{UNpS0!CkW)%QlFQzbAjOi+DfnU|H?w8-$CkvRjEg=?u&v2+-?RloiOSZ47$<4u!R*wpyZk3LPK7PB!|P1>#6`x=yD0`hOhv zuNPZ9m5%DS?Y3i(f$TtG+KlWT%v14scYc2g6sLLWd+MobfC;0(8vm*NUF5WJGE%Cw`sC&_;PkMxA8N4(oY#b@h049nP-8HgXS5|NMdC2)2%K!hN~zNFa?mQ!(=Sv~MNuMR>e`gx>y# z#LsK`!ZXBy>IOZLtT;@<7{#!``(pEetslSJdC>a1?Yl$hjJKXiQ#lLj5t)fq!qapjTG2!KxzRDOcx|v}iH1ev&QA*a zvfg&IVLstKnUY2(eC^E+lnuHkl;1wdk74vNNP#(9HcdCGpMGQV?E-mL1mRS^Q4RYz z?hSQ}X1+KBuVU;x)SqWwU3yhs|*g$AlRLA#a+bxnC-!nRd zO}4IW%s^v?O}mxGxJ?9(c6JuF&Nh;$PzlNI-3xw72;1kCLZxR@K_xvH4I7*tP|d;|2^_zgv$?imSS#x;bX|R-q9-H<~8kjcs?&8 zC-ro+GYiniOJ7>ts({rG1rK(0&xBL2!M{#??+D&}FZd_w()k}bK5oW+?_s~Ds~FvV z3zOm+g4vY!v)>zL)GeK4{Ln7afK1Ei0$=aFH8;@xgU#Iq791H%J?UyCI`XvaWcO-4 z4H9+_N2R5>A0QW!-5r~zNLME*PHkQoznxeIcaMuE<-gHxaKDZ8Wo2|5Y1en|f7!!+ zJG)ucg}SD0J=uO~huuB@(pSM{=vB5NJEqxZJFDrg2dps-?jrc2Z zO5u&NSR((;b|sZHB|1EW_`Z>hEpEa_$9G?fS6L&GLR)PJKvUY86<+LLS)K{)Y{D-} zV_lw@g5_mT#jx{W6gzvzr?PWX-(Xb6#LsuJG5ph`2+q>-_DW+P^K(K7Sc8QCs)??Lmj+P11XcHr~SJqM98MrtuR2>)tu_ zUmo8G8>Mbh5gJMrryb?W5pAg+Bq7vQyl#u+~oysMtveT8w@4vw4 zR#i1cau0PxoV(KURdc7dpbBaPO{@ryc2Cl=(@ZB1u+sT@uefs00KyP}Vd!<_QQk^1 z_pfM}B7GwW_k55%v@^Fj8_~+_!5h&x(de8Todk~eH6^{)Vr>F_n=QdNCGv@?iSWrg zHU_y++Ish$z|=zE=t13%9`Ep~l?<5(k276Kk>j?RH<(R=4VUTLE2YL&Df9LuxRpTA z0av2wz70o0@uiIA(d;N9L-?H1sb3=C;AJ?mU7c<`2 zXY>vlfH{AziyI}DF=i5vm=E{k&wsPNrx2cooM?{F)ZZ%j?IrL}Er1iZN_w%2;UU-* z$c?W_KqnbW`QL64*&k)RVuJ&(#eeAaEfv;?^J8Kd8`T*#(i!!6X0zO3vKxB}I|@CW zRxH3Lj813Cmyk&ZtTGVIlue3XWE>>$l1yATV`}wZ$2-Ch3Ui%=Ck?mf)Mz$UB<$o> zKcfA0Rm|8-xA|&`4PJ!wHoxSjY^QWFw|+o1b|eF4!hP+bbAzx=9t#cO&7*?ZvrHqf zG%^wNLVs$(32OVpK^eUiN*vT5OsEeHS0-`=9D2h%t#&$$K#yB2R2=*V>s2lz@?C$@ zwo*5r)Zc={u@IlZ#T1aoLyd^|v)V1)&`w~8b!vI)VDIcC>i#Y1rhWxQ>!d?a_NsB+ zL;aP-ULjyGfbgv08C;`JlDEMlrtFVe3XLPgXDr<@rK_2jITqC=Q2xzMTHgrb@nti2 zFTJ08CeC%_Qu7n3((M5^M}zKJ-du_}F`9yiAKB7Qa(Xil5fGkZN$h)w%h6stZ)TQn zc~bXT{`qi_AJy<~q~K z#^DUB`W*k#`HwDiEoM)*CaOL2OL_l|viu(dOJKC}B6D{O`3^t3qsHg4=wDBCw1(hT z6nT@|$;Z<4m#1^}m+Ex%RyvNRmK>q>YWBID_tH{tD@Mgv&fH7rrztpD9or_;qcl_- zx5`ox@cb@8uZBug^V%s!`_%NEA45^sUw^5t;AgL9=G0#bL?qG9&nVly?DKS7vT(iPM)_ium7Gf00+XEzsjd37$J}UW8g4B&dYs_%47wn00tJ=& zGmds5tum@_)e3;(n)_{xMC@QPjx#cNcXTCmciwLCXt+_XJ7aHZtvBEA*)UKLzZq^x z*gm@4O8`x+XyXQMT*)DJAyBydLfi;2|n#I4QbIcvv5h01w+^!#zF zkrm_pHUAo@{QKJY%e|l(2E=ktZT_yoPoP!%;NZNxC}7w#R8I%a<4w)mQy%NVpM*U= z6fv*kKOemw*>ytGCqgGe$4s_YFPH@=>{jbd_g1dMJb8g}YVk<+eO{Y(P#&A|j3Zap zy&yJg+=@3W$Zz~$jlq>S0$NNlZxJD;IiN&-tQbXkCKyfwsnK@h1wYxe8|~H*5+VRm zEixYExc8?jQt+h7Phk3XP-)&ELtd6uIN@?-g+n6{UL(0BnY=D$B&}NvYyO1HtA*Dd zoaL0cOyn^vF&ducwaY-7{=}{uVk-&+Qj^YXC!4tQM0hi0Jm)W3=i!j_hsVgMA^x(+ zsO1F{huZnGv%DeCt+uNJXAzDXW4@$IKCA?@x6--K?R`f8i?&OOPqH^w8?Gne^*8p2 zaXul9bm}2>>u2v0>wsamT*FO8C8ic$U*}2=y2W&(uEGFb%cvN!=L9o^phBh*W)qx@Z;`q@3PY!QO?o#|*i%>$s)5w&)na+CFu2h$qhm>^3!zQ8n z1Vij8xFM<}LfXe?PuD#t<=;MuBus&8X*?8%$0A@eWu|>W7O?tNNmSU~Lo@nQFLZRW zl9ym4VR=NxjA^;^87`Ct*S$5uA{UKdU)eX9nK)c-N?Q@j6qsgTTjA09`polX(Cd8#J-oj^ zF#t%O=i2MWP7awg#N6*A&(7s}O`csY%#gm-vd1kVC*;dAvNX{nV5C<$Ro2^0eZ?o0 z_O3u~0OE&GY`K$|W!gzctCWW(K41aqRUEEVyW>e!FykJz?a;{|9UiHU%z!XBx!Clg z_(A3woGLAaA)mcs4wKS2D?V@Xvk`z|Lm@x-K4o1cprQHHWPZ-l|MG+^uloiSNXb+|h2utP!{}_a2CMD;QtuQFg2V)YmFO z-umsE{2kL|yA%_txJt{>zGz0CV&}3{Dh820*Vi9)JL1-ESAOgv%juYjBebDZNyn4i zMq2f&uF+&p2bH30`5o|!(D21J->~=Kobw@xZv31j6a^6d@~wtD(Pr>oeM&ah&Vn^lZ>KI*9xC+(wWwO5{ooNP~ITMR|+J{MRq|V=**# zl;)~`?%8CbE9d7=#+X+sVPMr$>)2ZTry_Ofocnf?rY|!T*=zJN+ehRDN_y&P5|h*z zBz^faTR*i4Yi0F|Ipkk%rJ2)8Iw>iIU##sn z?tFzrgrJ^O-xny5^-3|gwJ-QUE-aeyWT}Wj)0rG^S4RUO z8Bapabr`j;l;cp4+Q#r{7}Ae{u^kIh?Op$|eO))RLfqUQ=U zha&@{=?w39OLHTWQ*}MQ74EhfOG1aDsriy!lNKZn~+@-6=RyuP~H((b_>0}ksqjnS-iW9IG9%Z!tdbRDI1sTIq$dKzutF8F>T>#e@@m= zr)~1wnfK9p`x}|@GcIY@wqM5rMoy<$C0vzc#Yyw&XF-y#?RrIWnZYY#(LJu)p5Z^4 zY2WDRL)KN`-8|@@-=`r;_wV^^nVowu4f%WV((8B_ggxKxPYTP*swXG<r4S8 z>C7F;-M=mBhbZ5w08aH4_r5mrR&%3J+fPzo_yVv-X_T(|wVQa>D{}nXfTg-~(95Os z3+7@vGvcYt&Tiy7oz(V9PD2#3cyS^P4M{?-c-iGwM)O1T_I4H>TF}>@u6B8!bo`9F zh5G)Jl58rK@ZuNsmcrR7O@xZQ$9T_*zG?-2Ji;`GUy@v))CWIo^`<2J63=P79Vbu4 z8+a+!x`l{$42=*;)%JlRUZ3FzQt042Dd7T$8}Y=vUZ#aJIERVrzUVyhyZlR4Jj1_{GH2%H2{p0I@qpbFIRNsxDr)JyEx}rqVbmy*HJC zmYJW8tZww|U{rY0J65-SRyPOhawLCLaxHh1XZq~yD9e%jzJ*frZ@1w#dZ!(mT&H0? zWwqD#wRCTfsv_}O_~c*ZGQY2qQ*zwTx|@oW_uo3AP|Q;5++923{JrYIcd+B)j5b8# z3Wrg)UE*aU-y?Nts0B>K;ZO9+W$gTHb+*aR8t8_RlX~qto1s{R&PYh5E;mN=NL~TT zdvAg#fmym0?f#};Q^u;!KZENS7wZAVV7Qv!8tuB|keS&rE;^m21rfZKBhk#%HMFy$*Y){ZPwj3(dHZ~X7hhwi=q9J!j+OJ6007h{KJ_wn7 zD3*Ki18lSwEnxEji!nd6tp1x$`J(;dUw&~hlT<;(0(MWU*<>!J0;wm|KT}8Be>>Z+ zOMGYdmHTZ@^Q@b{6trM5IIIIx=_FlwdkdNi#R!{Bh}Y#g zqRR3F?Q7Ny@}cNyUzNUrx;eYnr7uJesn%s~)g$vj#WJ?gVc)cG!z`d4JgkLt<(#Z* zNhgabu(8db)?>b!oK=zDdNIdc-?tp2bd*{Y>yj~0=>r+Ov!B^e3HZ^zvNP*8OoH?m zjh8f59M&6zMKDs1-%k(U_{hYeMe(0k1gK50ME@mE8>4iCC8CEFxNsAPMd%97vWUAk zZ$G-Cwz(P52CN#&pML7U-laeP6tYm9ohfC93>|XlZ8HZt>NBsalVmDo7W()`f77_|Lj`T<4gvV3c zCs7GIl@`$rjXt^QAg9EbC7J(v_COVUr{L`pqy;djRuUki(2@5`hvmX>12l* z8IV042A3rCDec?fHTW-;F&C7__w@^q?knz&nM~|d!ea-D^8*FVSBF#4CbD3ui?ze2 zqcPeCaXF-yJhD0+tvC5`I}M3Goou}G6C)D!(_JLuXCBvKa9xEI=yr;hLNr?o*5s@r z2Kiw3KAl|+0r|TgJhf=u`rc5f^25pNh<|DU?M(Lb_p{Ctx@bV^%=^BYCc9EYJJHzH zr%I9EH<1~i$A)RI`%_Pl+I=6%P^!U;mX9XJp6X6H$8YSx;;nsW;SJAh-OgcoHr%C@ z5<|`BwmQYSnv;d@MG@pQ)00NbM?7u+8<+~ig2=i~&ngNrA|nsyWS3!yr9%PDjd%1m7jVZw>4y)8 ztIG7+tZH~cuPPlc4S759(koFDY2);)=H4-@X&8kkW$w3i*3VKXCc=H53=f$tH;ldVN89@Os&iD|6%e1v{LR ztrh$y^e(HUP4TlW{$wyk17wz^W3uKzMu>dBkn_1fnWYkjpi(dEtIob{y8F! zOklj_l%O&=^Jtggt-a>iKJ#Tv6BL|9d`~tzD}EgM1~lz~7G!na$E@y&<{L5C;lZL{ zno>UQJD9E#+vByq@U>&^EtC>{Zw!-UaW~~ybN#kCy`TyF?)?_dQ#RH8N=_1ipUBP5 z~nj>Sh|AHj1UV9?5AWKuU4}w9c>=B+&f0I~RVZvh$n&LA@=y#Q@YE@*K zcyal$!#;&>9Q|6#Uvum`Swt93ZP-g`4|HApZJiya@q7FN>0uxO3FH{!dYQlf9}KfwIw z4LQ@Pq0If;&p9amW_?~jRsRLd%-$uut-Ga4WdEKS^P-)jYQpiv@f9Qburt4LfMEQ} zG8u5S|8UJG`2)OC-M-@~A+9*YL0NJ&s+uPe`3mkYLKx+ed+#?#1tTZ?%w*d-|B*~`-u82%EfWspuOLFo`BvO>Z<@VhJ#yh zI}C4l5=@Y97vrIJ(yA zG`vM%+nFgt1$vr5-Y+!^$FAVu@?Cv+cd3g1{jUbCcFSRB%DKX!srO1 z@DPRKV}cs zxON=oWgi%*4R@XgmKW(8^Y?6C@3efNq1h!%BCuvm-@OkAg!uV3XK$j!eW5UDg$($& zlqBAQp`xvTsxZCk7T;!hmqA5lY0IW5 z@XBbvb1Ce9!N&Agf3517jdZws?evyUS7kTL zXc`-(4ozGa3_7lIA#iWiY3aB3V5I_Q6KPx`0K^Dpk+oRb>55 zu`laqSt_|NS<`FrZsvC~rGh+g z(U@zMpMqW$K;xYRsUxh0w+j8#rzI3G4#(egSGq{g>viKz8iW_Ch>S-rJS9E-7h>8A zMDo0EeXOFZOhyfu$wh`o(Cv|FXxq*qR`Xdx`H!RnJ?g9`>hk{eocBXaLiFcPj>mr1 zKr0sH20ira%R>JN4Zk_wl=pl+l6l{K;zJI97AJdgQ8-I>(HOrdOY0j}8JrUE?J@}2 z*MP)`IktLq`3SJRLz6A?laDLB2n@YHY~HQtdHeQg>AHxeF@J$>#g@)Rsx09l+<8$~^6XciSDGQC;8HcH1z6N;}RT-~vxy z1)e0!R8e7U`>&rqD7QGx$pk|arFuX<{2QM8&7wWKd-!z%jF5NeeY#FAd9p+@U~3q; z8f6&hEz+>!srhCBfd!iL1t*422y5P>YfHO*by#6XJ)(z~J?>=%X7^*N32egd3TXGs z7vqP!D42-?0wF>}nxEm1PX4wi3-~4Wp_c3vlZHDx9~|;nRW{(gwsZ9CPtAOPG|h_p zZB=A8yH@kdzXt?)@bmo0-=Na)`Xq3hL!(awJ;*Ph!eHO$uVD#?bU<|{JQJYRIHP^e zv1R2MKLt{U9)=HkByAXVi@)qDk>bTpVfs65U-?!f&FWiK&6+A9sHOq6*ZM9LfyDgw z)t>sAAfP-fuHWC-Cbgws#{_a}D?JG+a3{?|`&UXo|{YOc-^M*0Y><%wXs|m$g@rDylB> z9E6(%v;H-{Iz-vQXq8bv4c?q(&Z@5cgZkqr11is2k2~(%{=vx34Dfg2qVECbg7}VY zRZ=M&LC*Lgv|ECXhY_WDM8Q4=svOQJm1)wSrTCi!>h|S>;BX?>vF3Mm24v(sCMr$9 zpYCs_d5^~N(EH4$*) zJ}>3i|1^okUwyc)@>cmTfGo*$Tk^#(`Cr?;)9We)5*Z!>U1QG9f&gL=_u(kiqU?Es zMf2E1!3z5Su7_9NFPPwzazaRgv{)s*89h(qsuOip3a*L_GDr8ni|zy+tN)^5$^@+7 zGjAY30=QPiK2x^ATC+S5=Z(r3A6ga6y~;Qu!K&)3rh4@g8*Mkqg4d2Ue&0L?$+s!B z$u&nMtEsNj;hzM%w6^!AZ=jVefaLnVi1fd~)`IE-v)&F6$onZq$8>*<*el}|q)10v(i zSH+bxxD{7ke09ENPuIKow-5OJu^8uT?o>zDn`4@FKcW@A7bbd>>Y1(}$mqPUGaA(P zbtf?)J|7uRF16Z}?jt+RH17De1|&}kT&b%d59s+iV4zR>{wYiYMSFLuB3$@CZN57V z@M5%f&4{>aQgZ~GIS90F5RS1s&ABiiw=Wfy`kY1dY}VA^TF$f7{pi9JTYa~H#CH!I z%>$I>N-LN`&zO@xlfs|e^z?IJkv)S3sFAEN<8}1 z7+Ns{2yRa7sEax2(cMpv=j$(rI~s=G+4bA5wd?Mw|1!3E_$Pw#eK>x+hP%^+WIMEg zrvK6Vsp%$ncWI2FVLAgpREWGUX>u2(>j=5a@1(GjESjx>+uBj-{KgeZed%{14?+RUyQ-t&X#gkY3vVd-&h~54F~qkbi0c|NRyJ{kKm)wCV+sUc{F1 z_lm?V4_oJD!E>KDfL@`9cV6q92tlIFXHV4o_6|^#ZwmlSc*Fm;o7C0siTL~G-G8ms zWq)FG7p^@74!3VX>^>1Q=M1x!LS^uG*>6s;f!pBK;gh4MyEyVOdvm0pfI;j(ckH(h z@Aaq^u4`I8?t+_?UTbd^D3Acza|2>uzyicM%so^C0n_C12`m<*EllL@J za{twj%e4x#z^@ER9NKe$4pr zSYN zy_3)c=?F-N0HGr_1PG+u_`cu!e&6?>``HT zt_NW`%in|~tb77qsKAo?TPOwci|+D5x|eMEYaz6@1H^Q#&atn-e+gxOT)||NC7J@u z!EIw7Mck(mGRF_X&Cy zS$75rs(S@lB2HTWzN2e1HQcvUxct`=T}O`T>Iq%0^_8x-2NAZcQAD-F(B;DIb2&nx zUn-(vE20?DNdFmWWlK?Ggy_)GN3P--t#QqN$ZD)CkLG1(dZO|VbC5=6}3gpRSzluPaHLJORk=54@(c}M=+R&gsi zZ_=XS=k)q{MC^yX4Z^!DNnt&g{fJxssQ&X2Uq8;rIGojCq$INA?=S*+OAWpnLYsD&#lwa?bo7N z%X$8vK$7zR@%^1*QLEMtxtW?zVnSWInc0fNu9aj!e;yL0hA_J((she)tllXM3m@Xk z_y|*WzeOe_{*IQRm*lWJpU?y8(T7;5@3dTV{_JOimNIU*Wb3Y+g-OV7zxO03ZAa?J-_ZOdS3o}Pjtb>Mq%tLoTfn7v}XktO;Vrm zz)dM`max}+471M_6TI||LYqm@&XiPc1>hvO^1e4&8N$MT+c2K6J2E=RCF&E0ZMh0B zK)7jBsi~8}r;^e_NSPz7XFGaPO3Yk|hJ5F_GjshORqQ%`}Kq6DwRlupEtE8uc7@ujc%FaY|@``z=e|o zVBA*a-`Ips_EdUZmkUDGO&(qQ>b%CIF3WE3C(rzh@PM;2T^_A*%J-5%1lVwNK4Dkw zbPJ|hew8SF)F;?9JIL$zJ@Py3yce++y(`GJrG_A4_wKXx#5vXqe}kMQsv{#Gcc-Ja zdEP9zI0$b=nFLGCRZ}+Ynuc~P`}vTH-9G%VSANg}uwZC6`d%5E+_%MF20CYU z(*78$0mkOrz!b3j_}b6U$EmcwqR+=~`8y?xVGyW>*rCNz;E1fe#RJu(Y0UYEq5Oi< zz8KU1P@-iz%2BK4S=sk!uSohF*C5D8dPkL)1MhF{GP=$M`L8K43uXV7-9JQ)!Ghe> z#xe=ofBMA6=RTUt&MMqwrS49KmGKavH92kE{YtfuP`N3cE$X*ik_ippB|kXRD++}E z6g&SlA*_oG>6GpI$A+Y#@ZmW@&Dm=sPwra?GSl!#Xk2%3J%)YlU9hB)K(Kzuz#*R_ z-G>ZS?O-YqV^x+P`J z9vpghOSKoKa!F^%yX6}xP)=eCLYis`)xbD6_X5muLex&!n*o`e!*;yK*{Ip^PzzM+ z%A`0p#Ik;)2aKej^;?ML0+*77|79s%pp?nB75XuBw-+ zU5eY5Ke9dLDr>mtwtO=#36TSdP@n3*eR<(qQoS9lWzH6NcrAqMm3=|v=B2e;1~$j@ zbs&RhV>Kf|)n; zj==8GzR)gIA^?f+ZQU)`*X!u}7JgU1FQfji1s0yuKIKi`yIZ1L?wbm_Z? zhLGCPjKk7eG1W2W$cMXi9(KH*bpfJ!(oT);;DmyMvHHbZ`6MwBmqZ03$+#PO7p`Tu z=>DPV$VkHI`-C5F)?$enY=q)6UdoG(Y`dp1C$;Aijb7Dl{ldH@<4p-5PMRJ1witf? zhlV6cq7Hd*elv~F!al=u5gJ==g|(nTl9~)03=RS_CzjIgwWDVP!yaGBH%+Hdlknm6vu*XkDTNzLJ z@B0!?&T90zoZ2nRa$Tx+c=>McR-23;?+1sW-V3T+6ZvjftViRW!1Y9Dn&vDTCnzsA zZWfcnDH%cw+uLH z&}IE10a*iC`4k%qX2gERLF|it(aANl+sNooG$V-WgZ;yeyI)DQjFZe_b7wu) zZq=_Kmm06iALCBC!}|DtKLlv|4oXeDgO9@VB30D0%R*FJMm6_ahIJ*h^ugyN&hqr8 zpV~V8x{4gl!g3>x9iA38Yw|r?v>2RicSnVRjYFy-dvH;sTU(W*_#ZELLlb-yf*@W( z8JGx8ArBeHJ&rFT7;o`m9CdHoxt0q_y+0IWHvLC@%(KziTj+B*`B2_J6(vck69RSf zDXA}$!II~#$tBt1U{5pWm|~&vV$0n88`LShk*EX;&kQf*g***#-TbkjA|nC zo0L(~yZy}rOVAKO_p&^;XR+u7i0CiEi=CKm_H>j(#9~u)W88^L8#%7+9|Uz~YF6y8 z>n;6KO)&S*`-#rr(qp|HO}_sU6?k7%KE-Kf2s_G|bm~sf$Kf}$HtajDrzK`v5B(-{s93qvPt!+L)Hu+e+W=`=QnRxVa{MRi8K4IMwo~Y3yD0%>7 z{8N%TAz=jAvzj>sntOY>SfatxktoYq3~-F%6e4ooPIrLlp$F28k@Qg>caW{Z?p+(e zt(2WLn4r!pP3-r132-HL`y?40x81!9NrOPUqA)H4Z|_V7Fk@fddI~vXjyE4{zEk9^ zvwHoN)0evKr&R$-R<`bsNBB-t0P~1?o?|5BtoJQ+vZ9;Us(xn%RbF~G8nqG@c}}d+ zTheo;<@T?)XKghbyUZn;{WlV!J5y{xd)wV=ci|}MPtFc&=5Li{WO)X#ZCSB_btK(uKzo(f$Y@PtM z)?nNS&_5?sl4a9##{Ji_Sue#V@F|3v7DZ{`Xzm!vOhJ0t`nLvi3(!!!GkjjiSi)l$ z{5V`248lV`DTud|88`-tiz$DA?1xCdn>9b#I+%Cf|dy%1h zUW`P4;ZFb&0buv~&8>bhdME zL@QSw5x5_U6PyRXIx{LHj%S(C>oAmnOL3pRZJ_2oXS9uPSi-l@SX^d!SX{O}P}*l^ zsc=48!B8&cZBAvw=h93R)1fBn7nOJ|fcwTSAYQ873#3u8_ zhY%98WWQU_9DxtB7}ZoOPv{&_q+#k7MizDs)J1h$WU*)JCDN%UzS@I9%le{b_~jv| zvY!^)@s-YzZ4sxpxbbSU%L7IuV(b=cO0;M{ zx%3OJA|sDZxk$nd?vU08-MhHq2q7LNJl-OrD%s=@7YsdxU&xoY^lN@7r57t|zk-my zM2bI$ZiAnG6ny3QI$4HV?_LxYFggFSlOvTAPHN^dY~|wX1prhGG|p3HDYuLJA-yyz zSl%~i#SZ*T>F>T@ATLXfjCXY_@uw&rOZS2hrR?rHsOY~ltbBLB5<4d#>~jMt9xl$O zJ;4Y6a6IQVGErVB5gZOEZ7=ETURaJ3*;|Z`x1{OHJv<)Sc#-Tg#s2(-kB_6oqF-G} zXVb3DLeJ@2{jvTz zX&X=h9Z3Qt2EF}VqAL&EKl%0zXnRdMlY~Eh-Noc0blT@Y_;USH@1052rTVcr?oY@# zLNu?=TT;S3$Drdp@d469`>L1IAky(wU-yhnKsXysga1B#S8GE}PWvv`SxbixD}cCc zDeAp0V8DfR7fKIL@LeU`GB#j#2I}ABg1Eh`*up{>C(S zSLp7?fvwdhJZ>c!vhYPdmV-w0K^o5T>x{MDuX8C*(WN5Wwx)lolE*i)i`2|J1o#og z^vJ!df|qy*R(0!pdbwYI>dOD%;*^yCuDBLFNYfQm7Tw4z&P3hr>(Wuvx4+XA0-Sbi zcBPYttdq1vf?hudg_9Ji{;ul}lf3P9yB=Z4xdGOyZF639_+joV!>bO4fQV5s$Yrwt!nSVbK}n$?AGWtL{weEKrXKWxWmH%Jdv;rV=^agEs>7uB-7X5l#XEu zeencUa9M+|%)B2kg8XrQb6lDV_)wssySq;=^F_!Mk~>((%5f>}FCkrlPn0=>p+ZQ}UM)?7LT$n0sS@ z4VUfJ&}FRvYf7olw0v*%xzhvuwzFRF7VE*OQFge-;8EDh5?GtkmmwggF+DM1_L}uvk!i|3BEd~9hl9Hg7Yu~ zBWE4XuKi<(I9c7i6mQ+!9o`93Fk5$qc;!OAW9>#Sq>|cY7KwV7#%juuS$nLEl6oA<#byzYuK5do;q&J#lHTFhxP z`Rrfy5o&oF;6%vq9E|R(v8QOhxkYuhxT@D=@1Kx#umrm0DgV0Jmb6h84TUd%LFd$C zFS_;0BMY^EyLYVW3TWZqbFb7ja?^_76dz(T_?)%8RJjr%)_%~6*};F8TIx1W)ZboR zxje1+LAd8d_;wJq!Rg`l`#%0NwcbL)y?vY1&XGY?Pv4nA=I6^W3%E{Uf@Q~YUZG4+XGuJ3zu4JIE z_eCD4GcGlz4MuCX6TUfEwsZF<#5?c;p*BY()3(Y+v}1|fnd}KuiF-H~|C(79x0c)- zC%iOfwq&^r>2uGd*J1|OF?XrZ;KLT^MgTB(1k?XtY7kall=p_=Xk8Z=@oW-SCjylFo3;ZEUh6HcyH+6F3H*J?n z3|Lr8^7Xs@cCCgd>znP-(VtnGk}@#B9farNdE6rNhVw(w+M#`a1b%=McaUU%{@Co) z=VwA+_-STUnlTE~4a4#PN6pT|@%J+ax0oU2+}s5TC-|3~Nc|!Ij2HTc{v9>*lw-w#Gj+?L!Ns9{Kr)}r|UUy>cF?vH?sYu zoiJQ6ahF#t%nhE3FjKgde*rPvrhmO+p}?dY9~NY#C^zZDio@nr(ePvbY2K-sFI-&L zjXoeInq1{uaF`!P{S~NJ020NE~7@igX?Qtq?DfeC-T5LpJ%F?-OZ9;>;>X7x8vr>F|Et~pt9lQ06;jGXk?5l1i#}E`f zOy`#GS*euqTs6oe$4KqScx1YUY!hH|39foi4|)-I1u+q-`ZK%@n^s&Bex(@?hTFfG zltpv*`aTW@&zd?SI)$y3_J7SX+iEi4t zUp7G5*14q4u$=ygu<>=fKWJ8IJMGe>IqkZ_A9jjTNFdym>H>8z9&k`Yq;8J>a}bn* z7{0fCJPF?(vch`pw%I>phjW!Jsi69A(3eVe|)zv3(iWa^~WGmUsn~p+mRr$ za^>Y<)sM}4WakgmW3C&VaCg3Vf;7z~E{%jIg*rzsTVEA69qR!OXcim2rG|2x zJbE$1=An1mL|S|g)fXjD3a30xcLBIF?MXGSz|M!ucy_T|negDgjp+A(^y{Xo48|>6ICMSmR5XK{=Z{nUF@g+F#ygf!$B^0R4|5 z@CJrmc%1NaOViUTqMahfAl!AUwD`iC5!3LJ0Vk@yL@JZUEIZH+e#=+&^Tt3 z@f$Uo)B{2*j@F_R511ag`JV7?`Er|uoK!fok`!?8Zv`AvJ_-7Z7x14c<1wFHJZ{PV zXR!<`-Fot0LQYEbFqt-27pvk;-SY}wuy5w=zeL$KAqF)^byK6+t9Snb%iywKCiG67 zJ}U`Q%~)$LQh!h(2rHW|ENdx9Z@x7R!-y-H_QIQlOp?;Rk#QpbhzY9z-Ek2q^kISA{_(I{f!nQfy&M*3?lteu+{#DMa^6=LpE!X zF=WSGZ5(qTQJK!4t;{Tnhx}!+rgqzUFKT|zFek$HH^_XcOJ-T z+)oQceFJ6!p?}%&QkrWcZm$ZB#iIz5|?a>?+{a0 zqzkMs4ki%fj$kzwcjxSYf_3XhMtY(9{ija#rd_9N_qHtu%7TA&%R%*7%2;k>9r9ZD z-alzPyx~y)z5XL?*SM}E0NG;S{(%gk({ri)~>5(2B+rOvlFBE~MrDvSgEmF#E)Dj~CGLqig?e z;|<;1=o7 z70fQIA5a^4z8t4uaiWh&>D^KkRutc;r0GW9yLncY@y|dH_4Oc$jYOLZ^2SBFOfgC* z1(ZVjxw&u(TNw%ytZ}1B#|XsvXi&45 zzvZ_1M?LtDy&urB4#o*sX9ChVR9(#QBl>lc`DvcI>-O8rC)go9R8O~2xm(S<>~{jx ztpV$FNDt9gGh#Kh*KEc4y1B|r2hsgxQQW;E&T_Q60YdR45O8Crjy z8C=h_3)q~)_MQ@sl4|M~LlYKG>dR(4V(|4F`3Z~ngLwCTIX>AMr>sBQsj-Fo%2*E> zhSFP!xyVZn81Ta7ut=@C>^w*FvKbOub21gJhuZWJ5uY(Te{}Y?NWFES**J;A3)a#; z$aNTR#Qzg_1}`HLuju;KE+Tz<3aiBmpZb z6n=6NmvVebB#Xa7+UB$@v{37f!4rU=dCsF&|+BEmj`I`t)tc**wK^UVeCK7 z4#Yt+pk!hQEqWw(oMOz+_UkO)cc;d5AQ)pBH*&YS{p-gi}(3OlnXIu1u!_24KYCtk2HRKV=x#juQ4v5 zx_Olt%*1;=Y7BUtrU!e?Hc_3|Xln-Qf+gHOAUN zvX@XFSZ&aOI4vJsNGyB*^FF_8_I{u^6KOmzlRm^yNb)`)JtD1)0!m=HT(O(tJokYd zT?>(mfKNJ`wcjt@|3ccvwzGf;{Pty+=w7v86R%k4`h~KaZjb<%V~OX_**lrxEk|9> zFv?usjNJ#1q_ZDq_R?F-D)@wu8t{T!V3*Q&MHHC;jVdSvY-W`)WH^r=x%y-T#(MBJu_bGF1EXiu%Wpe)&Yq0drDcs@V);|?Vs5lwCjcp3( z`yuLaArJhAo{#b(KlknEn~EqUAMs1e1;V!?qt_#K+XXrW3{k7r0Q zJjPk1-TK?U3B1JKNcnNfd`38?4%T^PG4fQHqd4 z5?$~$ank_jpHrj0YYs8$HEJXSyXhUQlWVn$9CK~JkpBR*&UgoIYFWsHC6_0mP0=15nf zdw%w+VAoIkUfhsldIQOIuh@Ej@J#+&DPOwfEwyX}t*z`|eN8I9Vmf1PALcoQx3o!Z z_5XejTuWN~op>R|ysmF2%LVIeYn1la6iOP@SA!&&rj?;TGVtMEfZ}Hg#mH;kZHu}8 z-o%fw$z%0F2Xqa#{>d>EmHP{?|6LBWOxA+Q!=4cqEG}_34(j#!Em%B=GL?Gr`{&-J zXZvf*utr4RhB3AwrEO%!OBpYKYv=P>`DR-*lG!hQw>UTq13wQft-bXSr!Rsro~t+h zq>&6&T0jMb(RBy^3aFcQcSv)pIn}%ceAOV#m*d~sk?S^m@_3Cr18mX!*F9~{qbU9j zR?nsL4!Cn_z#Qf0Hco*;q|?3ah`fXN6)rWhDM<}>q?ZUAgqY*#s`yg(cB?^ua_as; zfrDSWfd2-pbhiBfMsQQI!j?0IkW|6~&Lf7WHl)EY82 zF=Iu&2iG$lkuSM~?gC&X@~D1X-NYcmmukFLIn5(wNUfQBv}C~k{~tu}pSu6k{PAP9 zk41lB0so(p(;pZ;{M(XyN?J}sAMgahIX_u?o;XC$WsooZ{)1zpU{o;pZn5S%R z@VDP7IqQb*lXzc;6Q)iI#YRxdYO6nOrl;h=A4!bc=gU1BJE?9@nK&u_xtY8V+AEb! zg|2^#07>O%a?&dS*bXzd7F@{LL%1S)@d;0lZDkCXS(lin^hq=_qn3@BFe-y`)vdBaZY zr+@GldA>*f2Qo1{5AhpAim#M5H0AeCy){X+Yp5Z&c%;M$%5o=tMZZbP_pHRE0O6_j za1-I|kFmcjrCvBuLPtV4LzX>cVi^DHrf2+Tn(cp4Mv4}E3A=YgP3sSvKU7merQo-v zds8FZOlq<#Eeqdz(qsdchC3ZmupHeoX{v4ao+rurKJ_a3J1*yalO7_4W&bgwOWb3@ z2pJ^3i*bG_reh{4n(NM48{Jtyi970Zmyg>$dikf$zbFQZw}CVi%opxl9n&Rc&tPu& z2xnc3cIu?j@3O@OahD|DX4WePb2#_j=utum{txdQ)Cmc2Jg-+)?~vl})wEJl>fh8p zF-oebpU8ff6UGyW?CP($Q zj#Z=Po55IgV(^Nb2{hg3ku@tS_pgK>p~R?q(vtHT4PEt^NX9n zl+on)$&MM%v@fgO)X zMw`SI!S%*~uQ_hxs*Vj3yz@1MISR3LfN(zOEP~##AGgV>ar{e*{to$G z@RX@Hh?0cglHKRK%Ft^;>%K7TA;(W;!u$uS+uGF@4yao~5FNjvuj&HKcw6oXXAZ6E zY2Ip#vgNkrjtT4{Es{Lvy9ZO5Sd18DTYPhI^8-@<-DQzaTj)MO%_^?n>&d`N(2=+L z7;ehan#Hp#(5=K zSamJzQrA<_!iCuLpK6%H=~!kRF5rZ9YHbH{?-Kz(JqQy*(XSG?eLWwWYnyazwbu^x z=1zw;@UT5CxU^11Zlj3?OIv*e=RbXMuZFR1GC8-b3xum=jz7B?t$(WjUx+2$?-{w zM%v^`nXOY-AnpzW&xxy_7&0C1P8R9&cbT8PM8B378oo!Kzd32S%gL(68T=*ABpBB4 z7rakGQpzE;hj_Cn71W4lJOv%8+sNGjPoMJk2LJAP#kG*Gpf0lChu@abaFVubq=!1+ z$jbni9zJ_S?u#Uy0{gd9wuG5(pA`DwxydPCzZT;&OKr0hKapsJ{<_4DL;bR2%-V)r zHq<6He>>6)=gE)S)I8oa z#Rt3n(Y&ppMC&-)+Ig`^M*Aoc_nQWhU}TOkNeB+F z1gYw9c}meb#T$L zmw{ar?Uo%M!d#?J@irv93rWJ&cK^WDe&b!)`xjh?z28gQg8qix!XWQyhAN{B$A%a) z0_m(9lqAVgQ@QZW_kcf%+!yGv-R%vG$F3cv-cPQ$4wc$(;&Nt{YZ6*72#BwT3ZwB4 zVkJcAx$rI2bNtmEYS~G2-Yv#ix_?YM|L`$CYx1-3pN8-7FJ;#r&R> zy!@(`*@L0CZNFxvYKS=81D*m^d62H|?B&+#dvzs*hC!5v3lE! zp63>9`RHz2zmM+DL$#~L*#$#W~8 zK}(d9yi1aAAb;E`9qDfE)=#tdN!@!x{PB{&gw?h)(?jpipa%>M%qy`<7fo+QUr^dn z@>zcR?nzI7`K)55OQr>vp8iF>VL3oA3D_> z^2X2?6K~L@mZ7H#h6-Zj0FH=T2Tw82iPJqEcaJqhM)m9pP6&IOMT|F8!KQqrp!*hZalmeNx3`jwiFZ_o3Dvr9>`{wc?R+OYP&xc9)j}tWZG1 zao)GF0e@|RbnG5P6?s&#a{USB21$7vU)#pP^9P~2l9o$ZBVEk)uespoD7#i8w|Z*s zGADw7efR)rqgCOJ8J@UJPBEEc&m*?|=5NO8d@VgS1juc(f&FnTF`m#2DjG~8yt||9 zrx@AEeKu>5p>0;QJP?`UF(Xls0sVG!<4n1Tm~=Hd#BuDDxd-#pO-rjJ<-Q+R8c;LK zWNjDVkrjAOr2%3v1Ads5;9a8i6?0s%F&0;F64tarKNUB0Tvt+NpDebr^R*03ynNI! z2z}7CuhfufAXh`keqiM%*aAak9KRZoBtGS!pLoyL+u|)BUqoOow&%*vG?7KeY`#WR zHd&_l&zEc$+v8s!uvjyfJK3qf6iKhrdLLlqVbYQE$tLXObYbQaRC)7$+sBq6Qpb^L zPu!CL)bE72f5{K_c{TIW;k}EAwFW`(QdZlHs6Y%;WQUOo1$k|MuCN3U99q9TQbd~Aa7tp(qKz^EMoP5;7SOErx95Qp`o6+wnKHOxs5a1_W&=p4Z z20}~GVSA39B=k!PS9_K8X=&XqBB8_%yztGw>ao%=?iOiNHaC zg*iLpIn)CmW$wqyKD6{?icDWf{8n-0wJ@3v+NT`kloGV29$_5bCvVeqBOJ-yYnIOv zzH469d#@2d#JgrtkLIHB10;(etoc(dk&?PDd`xYMg2KG&Dc4vk{|WrgLVm5;la!_C z*h8kF)>j1DU_O0=;Co!|Eczs)>D?HSS=d;RN0wcDmc8~~AV4(-7!~#x7T~8R&}w$q zY8N4jmr)$~c)z%yfBMBHK5lS$XT6V!RTWyXk+4Qq@ImN<|1v--}7M z%*tb)&`e*Cjt3Rl^dB26Sb~u z!TkkQ`())76pxg8O%m25Z37Q~sP&aUd?6LR4DQa?u>naMnF+`>IIV`=_=$z~R4=^< zHqVbgt5le~`+jwYS0W0v?Au7!kGv+vm;8KdO-k#^*D8^X0G{1n>ZD=9;ikn##ep;E zYQMK6t%?+gKiAy@N=BvhoAtXi8|n0EBA0{@Uj6EA!Rh3eZc|ylt7}UNnd;6xVHz2? z{vu;@d?Db|UdxjM7e<`mgoLWdn|AM$wApYM`DbW(b=isUEe&SpH6K;)Y>OT3r>l@W z5`e%;^79E72a@14ms}xUSZwT1o)!AVWhv3x;w@ZOrYGTY&WQcS%<~kjfSJJYvcGM+n?V9f z{DOit&_&HsDL3bm7rgBcP)aC82zR_Vt<3rc@@8`rSnv4ewg zQuC)Nh@M}YRgo`u#kwPDT{7R~7S?sE!6Wm)$TUgPGFx|7rbcnhR%%yT%*oS*Rz6A( zcpls%zR}D8=XLZ43A^J-iZ4&`f-x$;srE3SO2cSIXExWwWR36X(xOjKRrq5So1!r} zSfkTwM3h9v(pd*^YBR-;oMrYVR*G$-*T>pGh!;cO(l*6W718mWw2Jg}viXzPNN$$+ zQorWpx)nA9v!p7`uV_T7;_97^Gl7Sfnf5AL7x+kjOZRXEa8<{w%TIG)1!Wb10Fq4M zGS<6Up7z+m^;{@DIi;7{Dbv-AEV3tJXhTyO(u5}KmB}&b-DhJR%4Hw4n6UzE{UKh2EM1W*4%3wKIr69}qSTiL`*=Zi{lO&mf*$pz7^_0t#rm(DA0XosI6* z3QJ4x;ZQ!+2ES`YKaSh^>#I*eP#xhoUy@3Oy>fa}?NfcP#@uh|$?omDJaf^;Pd3he zbOk!g59WDz3IxoQ+-^M_JivsQEm?f3Cbl^JbleNB+QQ+RUP$Q{0#Nu_cfbr~$9T&% z%jL8<%ThL1ySdy;(;lX~-u_R!!<`}+Q=J{|RZA?oDVM2FFcJM`Q4 zFkMD+=(|5=<3(;^ZjT|fVY%C;PEVeQUe=PVmv&-vZE?+KeFzhLIHvcU4OVEJs`~d- z%|1q1jm9enLZ1P^6<0NFmVd~K&aLW!wHy8=sWKt@;0NXfeEq!t&^m4y`x&jY7IxNR z=V-$BCSVw25p2xYo>lw?vV|MRmZE1M$R@)Hnm@m5Gr3Yyx)of;95PPR^}e55E{r

S0a#$d-X+$$M5mZDYOceSe!}$?Zsn9cproc`|uS*?8+&e zZ{TZHL+oVCcdLewq~gs!evA8Q?bk`1PPy#h33bwec(*A|>Gld@osRT?rvw@?EqsI; zlCnI)hi1buiSh1V5Dh%p8U&XEqsj#?)ZEQ0Be08rd)CNSraR%=LJ$!8*>IF=Op(GLSBCUc{HM?Tn<#RG|O)4 ziW{4VGcsdLmzBZxc6*aQ#KqmLo{@1w_B4NFnS94gEz%t~Qa!i;DW= zhi(*fYc1%te-Epq4c&q9@bPmNYdG0{%^@1`42N{mV``*4-hiLCeVth7$F#_ON^S|1 zD3fS-t@ayzGKyw<5CQLB=Sl}nO>NeV;o<$PNkXj)=_$X}c9TsU%kU*xt5h!R+8Vs! zCr0U}AV~XOyktX-yyI#*R-;sm^`V;Ij?Y(HX1B{i9(%d)cJAm4y$Mv8lk%7m)j zwC?zN382?9T1psEMl-?RJ=82GzVSRBbI<9wsCebxF18>+81GX08Z;c&z(02LDELu^ zKJ|O?w3Wx|IEgI6TqH53%3Q`5s@<((>~Y>=Z3w0jQe0*1@Fp#VcNBD@{E8> z{@HGdbxFt+J=R=c>>RUTlidzkra=v$2afD=#c&g%`@fZEPlyh+^(%}}r|bzGrKrHU ziW!E_^ziY{M2+$4u_h$*`%ult4v%B7dD;@F*J_Tmy7ia|?GRSy2vPBMc*2NrU>G9+88=3ud?3lgsgnUYr-yCEWV z_X8on(ARF(+f^Mq+HlOlvgw7>DGTpG%u+IT=!C{S7%lwhaQsuo|6%XV!=Y^d{_$2) zF_nt4Ov_y=A(5S_yP~^7E3!vfvJBaoF-fIt(~7c;NR)jY+ZYmKpCkr@!NkNEgE9N| zz0|#Yp6B^|pX2x*zu)ow{qcJaG;?K+YsPh*=lMS0@AqrLm(;%omcJKb&(2ta+l$&= z+S5JAH1D8sF}qnfh~Cui-`yi0xy0O6v2_faXb}1Cjq4ZQo9W>>lxu2F-Ir>+5g)~R zUH_i~Iaii_NOx?lvDEnJ~uO>Q2qFTgO5!u`N{DG32 z_JK_QmGz@!Vnf$n(epZh=(luq(cMCnTD}}ZdlWh8A&}y0O<^^1!-KN!&LEn< zO2R#;QVt@MDZ*!b;vAfRl|O?qadYWU7bKmI@teL7D_yg=+S=qDD+N1bKd0;D)ElvYld5LQOUVQ>(92M~cYT@E@{9nMz(WgO__)JIVvUtL^V-V2T9}4%G}Yp`J#s#C zDAkEIwQAWd6l_4R<6Jc?sZTxi&FUCs<7@VHFxQ1RNR>3Ox86BIJ}e7tzuw-4m?-Xf z&3F}HJ(|?3IN<1DHg(3Z+9dR%Y9Z;hHKFu)6*7$G79U@X(h>+ z*fl)>5CpB=A|k~L{1m?LM-;-E=Xl^ok(UfAj5z;3)tYR9_`SZx*logS!haRA+I827 z&VW>%j@Pcm-P6d$()DaD1F40C!ei zD*zbJWhsXK!jUWRF3R)JCm^ZEmLFqAp7*rYM=nd)IqvxS{9gQ@GsXMdN)PgMMzB)F zU;lG!jcUl8gz7yEuqP*vmE{7oa> z0#R8dM=gu*ikQG)3jSLHX^T&@ar9P(gcnEbRW@#!ej#r z*u{1M>OL(amccGBCblAKYe64HP5GS6Bi6U=lZuOyD~m)p;i%ifUV=;X^*fv`_yW2EC&i-rG3E#FX^pX znnBOC5A+T}jMd)~j~@?qC%%m@tN`ld6Al`rC$F|Uf`HCvJW!ZuTtQ?qGzK5VU|eK5 z!FJp8wJvoDxk;E-Up%X<*Lt(fL@R9l$XRsd30uNK|L#i_6%$P@_4owz^rKm~hY$vJ zcZ-NF`hK`Xr{w(I6{u&SLj3j!U8k+-zMXA@v>``;kefZ{1QP*?**Yw;_uRe72;!c>j;9yRHwQBoa(eD38tm6L@+OEAL zwB+GW(U}!V$1iKnI^SMl%)FY)ANpsp*|J(B9U*Wq#9V4=+FLpK?A(JL$nmGc()jF9 zOPj1F#2lTo{5fX3!4YMpoh$SQgW;Drf=L;gX?X+<;FqC&Lvol%esuT5ux_m6OIWrk z3I&5p1O%j2W^)B>!;o$JT?afGc$vnAlm#qmI1VJ}w-7M*7k#!vq1QTvvX$*w3?cJo zf*>1u{Qk=l^tHkQ#Jkzu}P)!2J7V!0CTT&U*TPeZ>M z^sZi1GHpT=P3ZRvtLfzjHBXGfKaci~lYOxFTf8sl4q-AXZ3w9ywHEpFxEI2>x4mu( z1I(P;4g^B8Zbe4$KxpcRkEK`+Yx7EFBeYKoO|C@v?JyD4rmwVacYt17Meo+D2OCem zN`>9Byi*N|k5*TDwTxI_1WtGq88=oc z830q>+&%RMC*v9jYs25a9@`Puu$=@H)#QEIFf|i~l}Y0^#yg#ETxj4+(0FA;^#*m= zxdjd7&;ugjZNo(powTW;iOqLPX^IgA%ZXT^Dsnb-us``Bbc_)|F*Dz8mY6j)`+G!7 z2z>6ho%@}HUmOLCyR138i$57UHOPvC#xh*Gp^*bJ^-Ct!lRy`p7(RNn?@{WQe}V0Z zk^M1jaf`*bSD@drAHu#f>uRft@ytcU;8es+Hw9R`J^?Y%cJ71L@^d;3r+{i$iwMW7 zruPO5`mP3#)0Htwh)AsJCO$@^A|mu?cUKHmd121H<;~@a(%>qL%hAi6lM8r_F(;$0 z@RnjX%~WHCu+VZY-zutudz;uU4~IXO*x@oS0^qoS^aw5I7Gs z{%m+)6cy)u_fmVrdPH8#Y;e=w5~v9uPa|E_d?rNJEe3RJR; z^_>@_NNtwZ%_x&^iy%5Fz#QsA+z?E^9&+JQAmY@Uy&) z5M~EgE>Ks6tya3gzkvsb-&JFw&@NnskMmd ze-N97?`T1AV+$3Rz4g0(u+mUcMJS-W6ka#pZ@AdOcZfoScLbMMhminipH0>~Ac2B@AC9`eVNyh4kM4>)I@KHKniqk_O7tUd3UHP}mLup|9Cs2WVyr%)%LD{fooJsOR zq#+LQ=#!+Vw7L&VpaYQtrihfE>~uU%6=6&ataTY#zIj@2vU=h+`O3xN%$q*-%b$FH z-+}qi9k=bi|f~8`6{W6kO%srmzNi!gc5Z>48H>j#Ww@&oT-qf87 zgRud^)I#kQfMRz|GM_G@TZ&~Aj{=J__;^^xYAAdI7#UFJHE*rTqB_>gS*wz zB-K^Cmf;v0)b^?69|eW~Dx{V)wB%EihEB-vqx(BO+>x3R5g0y{4gEULtOPoiD7;%* zQL!<1HTi6VXLF1Oc46KaPSL{qsoR=(cj*=$_x%VIx^8K{B=*hR#)n>szuE9)sqhm* zTutLxtW_QXgXQ@sWJQEWJoL8Wu7_X@01IW7&3R=Dr)LOw-OY)Wuu`GrP`?-89+6WA4mX5Q^)hCss|ic5x+5Zuu&UIECSx%eH> z>ycBK;zq1VfMijFk#gQS?phxXJ>6dB8M#xk7$rtG+H;cLT zM7Eo@sxMc9O&$F>%ARdOIdV+eBQE)`QhU>fN*NnZJOI|U-C%iE!$<(bo}Cov zR1u!#|HVpQDGg-qh-!j9cMdK}K`H~=xpQ2u{nu2fe(ByW4%6ESZV@gO`rC|LB9MMSW zA&t)ZMCw9}$13zFs+3PaHd8Zcj_5jZ-DGY#6}6O5TxyKY)+Lqc4v0nA`r7`m?+VUb zQ%KJ-#Mqu@QPr?9INJtn+|%zv@xz%}l+?XiI+g1LLo1>3)rm-kQanc?%!2hGzen1(VEL>{ix|1V}c%4O04d^ zC7;^*s_Ml4FVvC1b(9Q9!iT~cJ^qjgM+zQIdqNDfGsSQ<3XA#{mr&1B;3?Nsa!68vKIMcuDdly>af zXM>Nm{Ih*K^KN7ii*5^-Bw6D?SPh9~l4lSwALK(V|5V_Y4cJ%38uO*)GN!|bm>5p^ zJ_9594<-gi*T4mjWk9B0^(KPEu^YubV7yI?q@yucRGx4 zIj*txU}nn-h6P}(JFgYrPrIR-OdTjOkIwD5LZKK zwF_{~ISbDJTViLDvToePA?aC|Mm;+D7uf3GivL7GI|MB)i%(G?ujPrgCb{YDlKb`Z zcMwxhQU>iAyv$(e8w@X2e`R9|-$~Zasr;H%qFd)>^!>r3rS45^7kwnoEf>Q>$cFX1EfE;YBwr##r9 zaOt?M4G-Dav8perucW8>;{qVzPVfZxciN&NUkc+oojCZqMIO#uGOWz8bmJ$ld61Z- zErGpJAzrL>IPN~FGn(|QwC?+pPl=X8+o%T9Pl81PKTVRXy=R#6PHTc|%Vxg`Bj2(? zphc5i6q3xa@$AL1dceV>d$o5AkRn9h?)hAOHX5Q8-Kp_9hjy^4FT3=K-YUer_ zE}phq0bBUZB<_06&XSi(egPhwk6?bh;2uZTMm6cO2RzPu<*avOt%CK1Jo6sh%q=vG zlsS0<k@`2U;YY*os|I}*%2*jUk>%sOwtEaSLC#`UP7f6w5m_Z%!e%Io?3j8QRnn!3~ z%&kae7@|fgS6L|h3(;$ocp}-|79-87whM4zP!`+$8FdL?wFgLoPzY=8yZtrafsv)A zJ|MzxDndckV14?A3pjWCMC&oid4Z5z^eMuzMiwRu#w{B{8T^_@I>Tolf=>Na3xHwJ zh|hYQRbHt>8l2AMox{`oCtOzn7f}Y7W=>UIrj`m}CLd7yQ>h?qJ*d2e0r%uHZzC8l zcGWM=DRJ^+9G}EN%8O6*O~2zIN5Z@J8ZGswcCPl}zDhlz(@n8ptC{9up}SVn4%4asffyx~ z$*p?D`UQbz38}iRs4@u@kLB7&QkLyPu%arnuTW*CF0DvbLsdtFYucS>T_sIOz&2c`V-*}e) zuY$8PejJh|y?Hb0EOYEV>U84nPv5jDnRoLOF}*Z1O`}f@)4Un&$@@SUR_V?-;#x}ounF%MOf$-tguB9VD|;L zL}Kjx(>E!B+@VFN2>0+j_}ef-u;}9j%0gnYeFCJ0zk@UG6%qwKKW%q5^@YuFo2#XK zlahGP*n1_d6H_~~Q_<#>6M02{RO)Lanua-f@spNRMH-{IL^?g0WWnBc^iXQ?Gm+F= zVWi7a4m1RSbOZ zM(ZMEer~sz$eoOUGen^Bd{%hs$_nXz_*+zKw!rb#_0h~N{)dhoU92s+!%s0U{AV6{ zYpyDHGCgX+Cr-y8VFv{)geofJgdQ#5LKFs{X#eLEF?`aWRmQM{@D^tY&@U!F4g z4j@>zn?0(V*r#kTA5AG1f0HaHU6qCiu(MFgRO^t z1DbFaOd=w39#bQ#E})7S>&1~=FH#D~ONT_tflM?bjbc-hmC^IM2xHWIr6Ts}63Dbl zu>)ZWa4KIzrtLEpOY}#^zXc--nj}xN=i=$5@2SFhN+0~N73rO^@QG|>P>cTnx3#Jl z`$gnBH|!bWs2>C5j7RKweJyY>+W7fH&LMD6#UO7RWHHX`_)iP4qTIiHe7@8xPZpKs zS^Yz?1|S0m8%gnn`DLVvV;#Qvyqk-ci~ce4GI(dNB33%}q0 zdPL{JgUaWd&gTzq**0)q{ZOIH>2o%!HJKH$(!XBdyUf9kC5`1hX}ue#)e0-9`E>YE zPRM8~BLU@c)TzPQlE51IQXjK3M@a$7R#ns*&yn*DF#a5*;23;!FgYpsEoZ^?4dh4A zkKX2n^Q66pZgxk=Cz$UxcNMl1CZm*9(Pp038m1RYUFu&^O+6!8Qe`wNo?U3b#mu-U zs8Y^)57F$S8fi{bHX6y+y z{8-e=T3pZT%3ml&3_e6f21vkEZ~5Qr99-C4$8`wRn0(jTI`i;hgkR~`tTK-STvqgC z%Qt2wxBAOLF7V{s4FYDG5=lHn4X;|c?Kd=Yu2Y(7CxK0*foiRsw{H->^z0}pOpFjv z(MRYWdZ4$&Dns(6Rq5W} z3SQY?vTb?vw8ZM}DbF1WzkjlAU!QZ`dxMnM0lB|lFdVJ>=$Fp6!5V`-D@(D*@0p`e z+MBLC&3~5Qk_o8=aQ5t$?F7$vx@!Y@pL3htmkZ4}9-l;@}esit{RCV66 zh6as*gdAQ-(rMQ{;ajBqd~>93eYZ!xWEAIQCk0QUQubDb_{nmhrt%h|~)u(~`R<%f(d+P#8}}FoY@kOfs500-Now zTSP!ckVCB8ESbV3`f}cr4v_oa49$;WbzflVg2~z1a(KZ9czt!P1$MWS2cq=jDW7ja zyGy^oFbvsL2K8t+fuzn-#?yFs14uxEmx@&v(-ETewlft=YqpJi#@T18vN_ktul`%< zSDD1(kj||OhC{kg!2}Tw4RC8{sKSv#LsXCZi8nXuzGE~EgM>77_b}awOsbnbs>ql znl;8-)Q-%2o;YilLnUKIvZf7&9@hJq$ylFunfA!<+1XQ+4_nP-ZYKs$Z_*gvcU?PO zuihi>TJO(0f8}i76F?^L+zxYKeEhp#7FXZeiQ*)Wa`-qOoT>$O4HPla&zaG6dpe7i z9|I(8b8|roN2+3t&)NlUH&>QRS9{aLnm9{*y=QXqaP#Es@W&6I;;LrPteiePLoiGT zI@Wxj;d<&xt*L&Wfcf@i+ZnsynkS)}pg~@%Wu~b9A!1pCaj|CVK6YD6Goz-+>>fx zfwQwQXPS-|Z7XEKoUW+3s^f$ae#mm7vrnb!f$+D(Zl2imLk$fRInCKb$EWBUiY@ z&_82YF{y<*y?h2}@c(ZPB91L`fqW#HG}YY=Xzkd_$S4yqE$4RWY60!-VRvuKjES?I zDO%=WUu~}|F|qC%hE!>dVHQX=CxrZ&HN&Cm9Pb_AukE=D1()kUQ)!6M-wLrqU9ixn z9pnTxV8m*zOek71snU4LmHKeFN8u%3iS)Zx;F7gd6a4CsE(s9e6b_K`QRStOs`w=T zS<9-nYf$IdJQMZstU`A2Hx`gIfX6~v!S%eo){_WGH~I!HW4H=8@|>L!Nl}4hRF#KR zfi#BG@KK0h7Mn1R04zK-*$(v`yfY{? zMox{3>sW~=EIiJto7e*bRs%%jR5b0E>S*_WuR2;}Z8DRa#*w+Ax`rBmFG=-J0%hmP z6^X#LXUzXa^WxMVV@_H9&VHxIUXI)M$*h;?KkK|j(*Mwg9}SnBzc9DRCpAu>u_^0G zvsM=0+7`OY?26l+iscg_x3}+~2_s6_G1Trl@ehH0C&rtCjE*NQDb`hKD`%NgJAD|H zG8rl;_Q{rR0(gIFp%;B#TfNFQFFnh*Z*HxXgaT;~V*pQ3t zZoQcHc(}Z8JjQ1)FCz_pYSi0IC>cW z+I2j$c94`jx)kB@81LcYbKc0gu7cdWuXlA*&{}gzWsP=6+|0&BqCDrbog%xLRSyVmt*vWZIjHzP5eXWV zFInH8LL7~@dooWvZanozCZo}d(Of6o-x}AHo4%uJ!)|Q|clcuTWzAcJ>##$b0_L}# zc_@1LX2XN>(Sy{x%Uxs3nODmJ7+2lf+XA(*&u(5-pDU-?dO9{jj@SE|uM9R_GlYwGmQI|hwg?}{)2;0Z@5 z#s+TJe~vh>*n2wx>PtzKRKckDKCw~dY>fI}R9?T6Qb)J0+leYh}!x9~QDvBgi;LNie<$p~b7p2+N;^TbWJDVV}5M=ebv2Rkci z(Op2th=|IqTw57ptr*f!RJnyTSL6y@uY-R15%Cj%B$6Ko5L$yJ?A^{BCF^lnv+ae? zYF+zOFu<=RISTK(+{3OEZ}W(uD9PKCTP{#(%nP=uY2e%z=y?G~ojzAx@7 zptu{dqQkReMZVYagZlI9fH3VfaO93XhfyzvyBVPn!Kft)qr0tH=BJ6|e3+t2(2n~v>!!y@>E z&^^$7PC{pKEQ!>|Zi{fLDL<4tAO6D;B6-w0686>aRv4aKPd#M`UkD9DbpftOk?;!R zqNzz@L#rX*@!N{Zi~GF#BXTJMig5%31pv@+2fXL?oyztQ_2C#DSe4Vjo$xu->M`+bdZ^fG z?$dgQVD}vw)}jma{TixN<(v}>9L^q1+qPcaT{FYVB}WpeT@e!B2*w%5pRAx$0O>Hj zD&_VlT2;)2IoyaB`w8t*VKR<>c?X4?Ze10TqHgTHlfmJIhN^KJr-pTRFII8ggR$c5 zrL(f^+-B}RKf}Vq3`3Z_lu)7xDTU)f%1hZeCU-5q;KK?cd+ZMcx{m5N22R$bZKBBAyJ{KukYxmd^30Nwcx&b@yaW|8@HSJMZ*W;;huTHnmC8{&L;&%-B~dl`^13>NJ4H z{|`U@PX}%>fOy20g6#@WfVU*r(XH+@NQZI(*6* z&$?Tw-iRsjE66(k`x4>lsWRE!g0$laU}Xv4fN4F8YJ&UWE5T-V%06kX+IS(&w%aLfR@HrDkNg z*hgmYXju7?tafVnTe9692MuimR&cjJ=metfc;0O7aDydaDleWS&P;j)-%qT)Nr`+7 zoSDRR(%{O@>kn-Hv|AwvjkEk5yE{WHKT_|YK`G{LZD|X%Z!co=`gsv3>vYn17H@+L zfH74ynLNGbhQl>6CX=@(y$1oBPP0n0oOAq_X!;+pjQ}Am69a&Vz2(=4UR+<4i2nLD zcd3{i0a$9kG7}s?w5u)dQTYF_8|r^>lx5K+BNu(3CCBeFrvfq(j~fMcZ>V5BKiyA3+uBUmK4>fRSu3JRessW zBIuiF^T{!e?s-%rKi@lVH2ynRS!OL-zUg~XlFBNt(}@tz?WgzuFwo#G=E%qComu)& z1)d!P1$?`X&(3*?YpT3z4Hr&@F9rGe{Ex}+|K8Wwhf6D(*jI9D!;fRX8k9QQR*Qq0 zObzUn^8cyl73^6pMsp@La2GD1Io)$``2vF=eRx$hTO%w>7lMSsYE&TrDy-O)I?7D`eG*sET}r2d>a^r7y@cU&&3E$0S)LiSfMaYj;tNCfgxgCA z5t}bmnoozhA3ws!A*N$|ytf+y1M?^N6m-NU{v36w_K6<0lTtjSXmC8S}rK zpnU^J7TTfd_nzrxz*km(XS7jK<7>~-me%&zkn|Q&GGK$ znh$43p373-5U<41Fd4tZP!{nG`q4U2OO%QC2H1j$55DHZiaYf+mUv86cVY;TvL%ax zwdVQpp>^!((~q7mVUF_iMjDcDgM&VB>x^n)o4k+A2i@ZO(EzaD*o*x`msCyEyyE3+ ztJu5qamye21z{#}4F8d&f6S|2QN44fYOB>wpmhJo0sFsObpG>tz2YMNu!?t=;QTj; z_WFU$^x_RGGE4hxPW)r6@aVU3$c-I{UNs^k!I|~Tat;i;uq7~MYaUz;q z{dWj@Vm){`HWwSV8^kA@R|Bc8|FU^Z9GVGW15_i8<6dKE8T)EGT@Pv=zggIz0;(C< zGTiW*NriDjHo)0hhH+NM8`{4hPZx`f>!uf|U^*0yJlyO6Htf9vnGukF$Yi(Z`;<3h z>HrWX9+t3H?{($tt%sENC~Bi9;fv>SrC(VA^gH75Ng;F1U$p=&sRi06-G;tHNwp0s z4L7w8>YyLYZsKrTHl^i0&!63G(;0*zqr0I-)3=xEA~k#?Fp6Q#Hvw&^Lpna?lMP`2 zo_}#%?jo=Od((Qsq(Pd}5TUBfuI*mof>d*7Tn7WCo3Bu7XIQXkF4OnKeVtGAlw=ZZ zV|`ap4Gko!6N1*PwElN#cm=%FtU8Rlt|WKCXN-sOyiUj$>gHSfZ&N9bsv_x{rhKPg!y|yff#SST@Vn};)~lu{j{mh@YXnPf1H|RCiB)yr z5#f^;a23U+B_izcgn_QoYSMktQ#p%?kq{pr2YejH(bCW>s~?jlxg^x+DH!Cb3z8j1 z&Z>@vbGFDp22QC58t;5+YmRZj-8g#tEmNl(ZTN0BB8}a2+rg}ld1r)|r<$&kt}R#YiToWXubLCNk2dA zxJ&FNnaQm|Z^JjpeEik&2OdgvW+$*cUgCxQJD+NZaTy2TkVtv}Eu&;~1(q^C^1+mZ zJ^g61@Zl!K-$TM>INwtRDH1R&oI?)|f%fe&n3ZS_9WX>smQZD+zqiCR^@J}T^fq+K zYbr?Jn=JH(unap+F>!xO054fwU0s5xX&4J}=PES1~j3)6q6Tu)QTqcuW zvJdgXFdnENRjl9dI(N!-FA6Cp7exvBL<*L(YZJ71Gsk%kD_zp79!=sg0m$O_LY!ca zZ)oaeBMRKkpA>LV(?~*D?fwhCaUwg9Y_{+YF>+r;B;2VO*>w!S(l_jk^gxve-E-CiVj`bE{_nfpnR8Zla z^E>QF8d&2vAn7&Q+aS7vD}^@W7hU4j*JyS?d5e=*jaJ zvVFYRE7IzdTNST?|J5E?W-R>PpKKWEtzWJHiN96!J#o16iQs(r-^@oq+se$jDD=fA z#ZOrku`SJBO`XO7=3t}DV0PKrndI?=8nose*f9vS zfhQCtlhT`RL)gEAE83K6072VaKvNRnpXzZM)$nJ!6sXwtbkoH&wr`6$-DudA+T;L8 zjrl@A>11SB9T`(sjca0jD@W_O7KD;z%`8h8S1K;314H|*VX+DYf(+hBa(4lm9emM#Gn zG5ckVuw8Nr+TMC514G@0PU1TNiD1ytKFE{*#(YB;9{&eh0T%};lLibEw0jmA%K$$x zUJ~oP5g9slZPEEhISI2vV@UuOHM=dSy|Z~&^2kJltdlFCd=8)&1>=H%vP5TXA|t4+ zvao(A7GN5 z&co?r`f(R*8%~7g9^{5_4SA4^eHYKA)T8_O(8-_PZop2l)2*T{8apU{l8&N8g42 zS!i0RHJz6AU@PQH$DWV*MHT-UC(JhligOH}x^OJ*1-Oar6ss`z_1Ee@<8G`1ycS~0 zR~=FQ2y$P24FJCOtjP<_Gf7*2Y4H+VZ&T)E?>m!O65$C6E%pK@U5I32go6+*Yoovy z(|E$G$w=-6L=_lY9g3hHSd=cthf=kbSxe@6%qa3;aN%1QC4y0~JRril&T*m1r+U8I z*5skSWIe#6dUUmmoK_5Qsi1N@_rp%pXke2lASiEgwIX6N-L43s3013S54{Loj6qMdfQgUFNk$2MJ-cxO%`vf(4{E+v zfO}ArA;R{44}O*X%TK!7N#c>i^@Br3D;^_eVx0tc6t;3uOmA@M%L0##U|eNTg5*&~ zk5@61q1Q2`eY}OU_h=i642a{|Q3zfmcfX5;x2;|EA3$ZM!zP(Q0AdkPHHyDa7zIR_ z{W>qm7=K4VFzDLi-z=gN5r>0>&)3h^Hi%#4dCepAXT!IE2d;Lo8%NP`#C{}JIahS6 zPjI-0#uwdnCkdA?q|g_Nkm-l!4cVcyza>J#-i1aleSWzjn=}a$Dg!QS-V!)wYPPkQ z-B1D|A`Ca7ls(fo6(UNxeW+u-UQ%oM4a_H){#vU$@Rg0)I4NYU-17rrKBQK;jmgtFuZ8vl8kGT-Vsv0>J0p`x_Af)Es-aV$ru; zm>}ZzW#~$Eh z0Q|EAx?XIAF?<`P-e9jr`?=FfVWXY9l)B0DL*k30-r54enYqrye zO=1|1)fF-N?XGu+V|BMchus(~vfKhwBtd;y#SaAl%L>%+ z_O;iIwZj2YM%I8FMbZ7kH3z1~zf*z%Jrb;xelfK|V;*r})_??I_g!m0(tiT|hZpVk z)r_hS1C$9JKt@BZgW=d7aS&J8?`0pcAvaw=ktAkxk1M=Hg)~_S#!%2B%1cl~xz`xF zMhBX}Yn{;>Nw*F-Y*v?Iv{_H|jpcL(6@G!saw8pPn+E}4dNh9)SYV=Ah{3zFr&}Y6 z_7@_n3X483`uEh{H3!}=^}GK2gaLLFZPtHYwHQTbta$zbnj#qGyH0?nNSjxda=yvV zBGB>YD<+Ox)(k)Sxrb@oy#jD2jQ`R5{O=`ZKxMU9_mnu~RKP>3X_Y}_27K)`$@Q!K zkNNwp`ROE7fH&aK@b0B#v>;da=pQWnDiSA@J8%tqq|3eh>@Y34XW{~Vl&n=S76Wp0 zSeSK)T<16S?5H&#h8M?g_x zvkAMW-#GWs6b8{Cn=HD8zz4lSmhOwrI+0o8vDeDCRC%t>u~ZgzsiI{9C~B_sW9RDE zSiC%+waKnONXtTVW5Ppnw^=Gm+D?L>VLiVFs|)*hoo^2?9}B6SJHrHke0)6ZL6gTX$6y4BAvEtAllZrTm#>iXZs?!QNjfo`aFr99m;JWba$V+~-|Tm< zU(>UHi=RxO%)arkV+u>Flolq}rQMVDTVvs@E4wgi7&UsK5nM8g5y0sdjZ%86RmK4? z(#`vvk#WD3i03pK91KACwRIbfKzGB&*^*oRlp`JFqh^vNu>zD5S=4%WRD&NReQ{(F z5k|8T(9p8%RX;prz9<(7m&5Ez!r&~{@G~Vsm6|kc+1xdPKkqR>_()Imktzy}V}W}< zFNB3Mm}_NO_v}I$2Z;f^;T*fgV(jJ$Tao&r6QhR4nIeQd{;~j@^C-h}dylF^)DfMXc#f5;4XcJXngzUkL1HV=iI2QYunv@t$B6=1m?JWc;L(%SedosU%Xj$$5+<t1}%C>3Vv;Y)z*4@3B($`JbiBgoE4rHLwh=s*oY>iCL z5=OOZiZv98*qPG`x<1|ddw2!JZ|R`GYqOYm=VeFUMWNgB3wLOf7#Z;CLL`2q!D?4h2hZ|;)vh38)7@52rzBdM9M>a>isfN33 zpQ;0oN<{4cSeUq5_uA_sg%93Unz1g~A4I2L&D5Wp`c_7hex2OlyI&&MrQ;>tsZvQy zcO5dmyaFU5MKp4~%;0q#t96}D-o zR+V62Fn^&N2H>r=r$iQ!mne_Ual%jp|sW6ofd<7MU_KuOzkT<`BvVo zP;B{rp}m5gXxQ!wgg0$o5`#9ar~3z1Nbc7#j@&=jbY1Db+wQOi_)M1CEJTwS858(! z#FkDPO9>yM>H<__Vr}ObKxheM-bh_61bHh2!wWeHiI=Ek=n2F!QjO&OEfhy$;U&}~ zTO>wU?A9MLLH8qwHN0LGG#N2gexgee>9uU6qEqbUIVSIEXT=C_eMZokNcmVA8&>Fb zIQ?ct{nwlOcV?#}eiMp0kk99mLYS7!|@YX@K7 zv!t)AeJNkp304yi!^2_z|15cdd%wJWcx6YXC_45+?3y#KtaEvn%#OZII%pqzFDmmw z^PY`?hu3VElB(36xUz2ZI)~j7m&doif^a{vO3F&LvEozM#4gjjpK^@X^@og@K49L) zt}k~m_w(7j3T)`A6)A>CWO)j3ixe-Oe>+vjh1&XueTDpBbgx$ng+!pPI)hrexqS(R zkZ%Mdz9F9+;wz54H6~tEv=S}I68#rDbzPd(q!o^N29XP;?Slme1uR3dVR5$I_yP`p zY;VleXNN(ku=|hDHdY`>-2VsBKOpdK^jfiZQAK_PD* zm#K3~;tesmV>ziMi=-D35Dtzm={G~wc^KpM_IeUQ^9BnJCOzy;0^4I8R4Xoz++Jd( z?k>3#p=6!_8q_Hc&<@zl^vQ_X+vd<3)jX&1z--j7qX2c2rq~o-kj>7%xkW8m;{Lvg zZCNL6-fAarS^sHcPR)ZuTdWRsA2<_L^1J6%JD!3!O%NKi=C7OJrV zeEKsQwVrKM9(s&*M4FB$~dC-ydb?E8ob)-vC9ZI*SwKONUglWR};8;WJkD zf)43w;rpnP`6ZFr9mHH=>OwNg^OL{&oJ>g1*s^Ct;`YhQ)0U{$_T#cEQWi$YZa z(im6splO1rbAU5vh<5HTP0|vQCtb~s>n%QhIZHkPH9FttJ#Z*{C-K7;@c^K`wr}c{ z1Bf-weJm5Em|o>`apB3U)YAD%g+;moZFOf`%kbhtwafjb@M7&^v)T;tyD;JCA01SD zP8ht;$;A=Z^@QdTmM~qBu*@N!cQJg!90~P-SYiCuHi$9`OZY^O0Udj%IyuDmgjByU zw&@_{NugI6QYBS9hNPV#7|EbN|2|@p90@242Bmr~8~MCca#!3%d^QLXb+JC#nz|ev zLO+7fe}##`?Ss=MRZGu`by@MWbBP+jzczf`;;>MpQojw`oeZnrdaUQNt(X1e>-a)q zkBZyx-o{|JP?N!l86qa#9SfFUy>?qpW$OV)snVc`TQGriRcm|x-^1Wo>Pq}9=g#p< z4Wka9Z%m&0IgyLjO%|`;C7K+ueYE!Go&D#$q|W6Yxt4Y7%eOX#p!1!?Lqp0c1;_l} zUdw-a`}qgOGV|!zvs^P5eK9O+G`{VBi&P$jl)L+i6s84uK^Z&GQt=##_jW-Uy z?$}Gz&a+v!_q@&9z|B^D8`|FgUpZ~Lu1Se(37UWN$}Qz z@2>7Ra{0K&o$m<-Ia5B{=a{+&s+WTl7JGGlTfvA5S;MMUCpnkRxA{ryNW4a!Gp7O&ZJhxbE{I1kgv7-n zN+F?U^nsU{WU)+dOgWzw$YD#b<)AvNCIrAN)4*0`S72v_r!gBI4BYxwkZ{6F^HZ6R zthRMQ3s+vSbMKbG7w=!cGXm~Y^S`-I#!DQ8Xsq!SbTmF72o7VwiIb^kTjXRfYa=l= z9E#IW6kC1tF#}b;8p|)5>S-gG74Fafa@jQfYv#5CIp${^#Yeim?gZblc=t6h|Fq7I zsPivL;o_=4+Nn;kZkxSxaV4LwA-9!n$V=!S_R!)y@{a%LZOPdE=Hbd8pP&;BZPSrH z(hF6)eF}5YEvW7NzD9QO@YZTLJ=Uj0H}Ev~e(Cmvx(P9_8Gd^-UuRMSvTFn5wA$** zQd8!|wh%sBfU-qc zZME8I$2i*!eB2X|zR1&6o|j5D{Qk1!_Zj(u_gkNuU(Y+!p84UK?(EAX^yM;R3!9tc zzkjgW+xgp7{adLLJL2}7ky3q`*mP(2>Y-~7|Mi0q$q#l&sK30kqwM1GSO51gj-cpdf%LZ$dqDBPRY zr-GDiK6B;QQ?9;}G=1MeXA@F1dQ|SVExkQzhNEDN6)q!|Xf_`Vu5gRw3asxZu~Ub# ziCCt(GBQltxQv@6U|0rE#-e>&iKrTrdgfBD(?}FnSOqbPujI1U8KU!12g@YYX?yJ> z4)rTn@TL&-4Nx<|f@kUiE1S?fR!`i37w2JV?<>Fop1Yqc;(Q?DfFUb;zd4D)S}bhQ z%AOq;3GBKgI=reRtwOvnlmwmLHi_l3EMW8Z)j}x&1lR5hI^)0|SR&POQ(vsB9j50_ zwr?IxhRSH++=k_3d+-aN}S5gUvOTvts@ z+=;N^CQ&7SM_FcIcDaMY3bAV>|p zlTZ|-H>m+a5h8>hLTG`vWBdRA+;i?b=hgAvJ!6j~W4G+`eS3X#tu^P`Ws3d>+dTbi zfsRbe-S2GhBP%<7o9a6RT)75k3zji<-i=A4N8Hm}A!qDwG+Nzv1 zngQw1=}D9{-fNVp>nK1Sv<$PtvH2@h%x6zhtBo@iugF?RJPh(NcZR~I6R|!=d@1G! z`6G4@X0_EG9+aV+8P3`4AK*tBQk*Pmuc>hfe61calW@)iH5t?OY2q7Kr?Y&&m5&+;<-!%|5w0!gOmE$gX|3GHtV|>oL=wq8+gYS1lyw?ERkt>ZZ=2Ezj9QKJ zGP`Ey+*rB)xWRK5E;M<5%Cun@lo;RUkk3=lH{yKZR*2y3V2+D_b{kT)V<)88ab76J{M+OJ& zV5djIkYoq4(>NkH^-f^p8VQ&!aSun-Ibf0R{RhqlqCNy$+A|%84qx~YBFf~PZb)nN zA>UzgY&%L=KgAn7cNpQfC(R*;xWbScN$Ws9(kH_39`Q~P{GmTf5ig+!^*!dxEC4* zB>}U(CLK==W4Cpu3eD)2AP*Hqv6GK`(UYx=ixE!lXGo~)E^*v?@X8hL#qgCs7TNj9tLnzB$WmoW0k&yhxYX%I{&VL=!wY+hbZhE1BS)L3|NcY4>{ zH%7OYtT+4$y_z2o-~j&1b9=sp>(KI3ju-J9_w?K^8@5bLd>FhU7`$BfNAG(m8?tl4 zNJ`@=?ktCsI<21N$=%HJMrFXKitnb@+dL-^gmBhbc9r|j1t!iDeGsRX?^8rwq*Ufh zwi-zqJX`Q&1YX^pA{h_zf?Sl_5ry`|-oGk!-nHpjnwY;&#V2s)aO z$Euo8HkX53)T)pbr4t1j>sOdZOwm@>mnYFJHs#w^#=};(PjSV>Yj{Scb4kdsHejAl zrU8r58Oejy`HywXt7_(h7I)^cfnGBm^w-+x#~^ z;-EpAJ4jW*7rb+WjD^YbdKCWX&4}`ujEeCE^bJa|8Ack2R1&9?DK@Qd5ZEX!}>f#^v zmhK__{Paa*!3Pcbl^8bQ^wVS-_zyXDj}J}FMZ*hD*5!KOilq1BPha?uCu4{ywZ=BI zmX_0LO6(T{x4{OJ?qZLRDe018Y2CU41r_a|#!9J&SFGmUcp7f+k7m=ILZ%mQ@YCq? zsJOk|K6*IBIuzIbH8d;4*@L_KeNGk3b+L4hULg7`#)c2T${<9<_C4@J2zukrJaaDQ?vod|dE%wT zy@b#;1SSkvR~m3hwU?SWo$V6pHc;>NkN+}%feJ6AsVm%x@+J%MYnU1vtSd#upKk9S zKVlr>y{u0Cy30B3*c#<@QeOVTl|2-8vU5r44szZ|0MJcOYE+R3+0#3p%lD+JFVIyx zRQDdI6I1T_(9J4sJZ^NvNE^Vr2xSq?q`PhwVbi*n!1~=_fAa^{+BcbX z(HE*KbE*zygYs8CXZQ;73hNTw>U-F(o!TFk$$Wukoiphi=`52Yow=MY$oJtjzOf`w z9IMb~NA-h&U2({I{NwW@uTbHH$*mDe9oTET03-&kwg;M&gn&g0BX+-Fw;IK!{7bpU_Db`+pTRbCyvhrK9T8y&yKl(h1Fx7WaKiREj! zclkAeDFUQRSihBp(>vL#{0>()$tYIt*$2^@p%)8-&el~In7A)MD*$?MU2MDSi)gUw z`U}ypBAR@~l$~5+=}6GQsD9gNb3-~?>0u@VwC zSG{`Hr88uMbnt%eRA5jrlKR_7h#A>BIvC8d<9Q5D^?f$cZX|?_8ehAOW(2eJK}q0L z!tvX0C4+i^)$G)vnVxW{7Y8z@8DPRVKY_4Hwq-99>v{IwCuDdt5}J&?{+ zm@dBlzq<^G+wn$^M#YP`G$GY%|YB_E25TQ6ld)lCEa9Iz;P{lNJ zDhVx|ZO3zZBqT^^eLwhbp~KHb!WaNYq-lnsjgJg-9Qv!qpbIP;l0fhGO5+ICZBb(a|z?BGdQtZfozoNUuETpFxwM@Zj5dT>bZE}mu=R2SaafM!~D@s;`~J<%|O4n z!lxEHh+w%KvUUj!Te_VWbl0iEQ8V z8+fabsK~kA7tr?K$S={0^n~Ll5(-*feODdr`P!p4&o5-cT z6dlb)qlVdZ<-Wa(<0n{$Eb~;{M`(?w9&U1K-1q89LwqDt*jTBnM`vVa#jvai)l8&X zkVfT?pw9T1=eKb9I07Uid9>b0Zy$F35O#xKw#rK#KTwgsB-1WBAwLIuKkioNOTs#E z?HkZq%tX;^=Lrwjqo!4Kam+Jf%l6=qYa zl=vJmQkWZ5alvMw>ftAbO}u=CFDI4sVphb0C>c-hVA6D+SDClVwDroYfuniGMywh% z25#Wrgg7*u@g6zFAsj@vI=1QZOxHmlT3xFfFj>2oU6_V}oaU*jTvAvsDYRS#;u_}m zv;d;bS@7M^RTm(JG5#`8oSf#)FH6$pvz^tHoic2Bxe;?cy!93w-SoZDma;oo?XNSt z|M8>!itTd{tAG9HPE5|{7EI>9^s$oOeVepwR%m00o#Q+6f!oKc{e~?Mg&?B{C8dCj ztgg%a%PdS~i~B-WKE3IEcv@pn)s(iIF?v+%v9jsa2j_0YuJQS8>NV5(qocnq7DAU+ z3xo7GqgDOUM==MWA!vSjm4^ZTVl8VD+YQ6XsbWM!{b7CjJhtoxlK#dT_6NN1Tv^*p zpL*lGYyj>t8Sh3+)@?o~fT%k$^;x=bMn)w=NI|-vePFL%VE6$=UBXcG@?s&}2zxRQ zK9KyfX^k6R=xJ8!vD=Xoy)c6Y2IAZs%=vro0!;i2@hX*ODXJJ*O-zvT2HXzPx*s=S z=FxQ(LcXR{3eL=Bp+GdO_@G_f8;;VPC!RePKz>N&YM%>F;cVrV%ApNSH)hQ z|3dw7&9CGn^L&}~VOBuSccfFDy}dGEZNpNu@dT)cM3FOuD|^M8?zU|KTo&>QGFs;- z8?(KVKDC!;;a*t>vt7)!k*Uq`wvHagP610bMYh=ng0g*!;-!(Ba=X_odgaF}czA3a zK!#S;twjlV*Q-+VS=QKaJF_$|HB%e15DL|Tv5?N_fnU)w9gb;-BsWq?^6__}T+7f; zNo6f&F(}9Avc}Hcv%WsyfBv&Pe$WSN=}p=Txu)EV>uv6hONZQMO=tVZpE7O`c~BN< zSq4`l{MED~%aZ8O!7%($_X`k;#W$_d$yW->`{DFHyCv-Cm(!*i-^2X%V-oz&;n&e8iTEWVwsg)i^t$r@n0DO}Yxo$)sEBd+ReM&*P-pxQZonAcR}UFDfNCwvsXwfT z2;n>MRC_CC52F3hY|7vfH?2^yG#5iWSYXaBSY_o-?nvID&h9!(yO6!QzDkg0VJr0W zqmtXWfgRz+tgku^rch5Ivzme&?|F4E+4Af`9kXYo(O;&hhb2jrcCSQ3gpkQmjECcc zMn|`Cxi&~6uTBArIW%LCb&Z#ZPjxH2cK9kgPrL66kTF&+P0W9^dc@7kZmok}Pkmz2 zDCjt92BcEBaTNTZa2U&o^)GH+6~c!kqmIYs7_m;2UahI|Hwes?@hOzG8rKLIM66|0 zm|Bb^C#Jr|+eX&s^GMy_F0u5o2-_)f!#rKRYTTLJR%NFwhr`)b+nbgC$wAHL2x(4n zpyT3Z0!)`>7UWik@ioM*nw6|16nuDaz!0+RCkR04%*>#8zCghTsj1PJtHcJfuivA> z`!~=zsq{%JyED5Mq(2aM<{U2C&GbPf0h*p6gmh&ivoZTw_N8ZXDY1xk>Fx8P{&A*C^DmX2?Fk*P7kaYj|fs$BC8{HaLQd zH|h*|->IL<%68Bq(^+Dl;$1;z>>ocO^dU;jKS3}bo&~o;dA=A8tEJ@}PX|)5`RP-& zGT$V{Gs>Q7ynOp@haVzTCKf9=5sXAT%rGcd`8GKPoB3xKq)CB-31yL5DQm>;Dd$J!K}1uooTlM~1Ci1%!8ub~$a{7+BS@`&ZoPL-a~7go`82%jk|jpdw-GIyG;B6uQ|%#B%@m*d%e zlMmMJIn`iCVv%3NcvJO|&UVgt2gzu*Sol599d!xi*;&OACnR(P?f#TaYx$y}H*{rm zTi@3RHfc~&yx3YDR2`pC7~tjNb3KznXX=>E)){@~)Vg1>5rBgv{D>GMqA;U=bFX%- z5-jUQwb4!0(I(5L&V@%Gf;$!y=cN(Hzl3tSUZYnuSZt@)Pg<=O> z+@H=ZO;1QIKkzje6;?Rfo1)F$+8J_q!l(us=U3^TU0vNO^ zl-J*#x$@qcp4LoqF$=TpH1?K5Zn~V(d&;xrJ^dGfgivT5E;US&v09eM5Y)xwSLw(a z(0L+YH_=K~d$-ZKQ(KO@QARkq`D-4*NgoQE&P;0G*RUW!w6n4jFcAP=Jd`0KBM`wn zIA{)|v_XF1H|oAnOLNRHr-lv4fpVqDP{(>nzPH7C@9iV$?_kt$itNC>S&&+LegARD zy7UInQ0u)Xe}^2uZ<9R`*a(CvY+4+yhZH^e_NHn`0dkZ-`e=-Hy`j*%t8RO1m>((P zzuC^ee6hbHaRH4iCzBPBs7@ zAMkiZU@9*%=Sbq)>E~I-Qf?2Gd>T&r!e|Cs+}aBfn6>i6tyNusu%XTIbf3o0M5XT~55H?LEEqO> z4oK{KN~1OVH1jv+TYp4eh--O1EDcrwa7);K@nSeiQz(73_`9HHnd8cu_;i2H}O%)zpA`GMm>z4(UmfQP;Eow zrZ#8p60`C6=IxC#J#vnBtS|xG9DY>pjrAG5u)9Z4ih89X))V-9OZl{E6~5w4#3oX; zj~mN3hC+&1AOolNRz8dmr?B8~=S2DX-BL!rh07EmN?SgVeB}M)+4iCBJ;~ni7bxw> z%uY_j$yrlIZ@;?^2XMl;xdMcmysyYKfaTsQowO=-fAKNJXnA}h<@E&!x361lh7y&3 zV})6%n-xiK-l>=UNyQk2u|5DXYVvGsbrr=R5~o#b$qEN5cH3X<#PByQc7#bNL}}Z3 zshecsQ{V5kcyZG4bRs_GD0S(NMFj^j*(A>(UMOuMqq zzq&9gB>Lz8!a03Vs+RZT2rLwAL18P(LFyt#d*9)M3W=G6d%akJQAIN=%yH2Anu6Lf z@CAVv@1O;gS1sNn_w1XS5jR#=vNrWW=AXX~E1p&=0DQvvab5nY$*S7J?6edYee6-a z{ZQq%g-9Q&JJx_{w{~NBYgmCrhfP08-aj1g-N@rrfs-ZHSLBuL((*Xxji4*M;roS0 zcg+mBcQ_(+hZOJnhhp28#sSAL1}o({W)RK0KHBvtmg3Q^yLFJ(DQ)c4Ja5NS9uung zM_Nu5EUvS5{L%L3m|Ks0$4h9UHJ_;#3O&aqGHcHFG(?S=K)(lMH zatHiuS(Up0-qw&@d{;BBIo~qBdBivN6hBf}1k#uA->AKT^^~;XEgtS)itM35h240x zl~P1aY*VJ~|FVd`ZejW2uvw8&U@OwGwDFRPtgT4aNrx zP5c1c4{1Vti-i#9&RyQ?Fgf$w^odbxL3rCtz&K6ti+Pp&JeQRI^5QlGjj-I7k1BBw znZVfnDY;J%^7D$LofR5)GfuNKQzEw3#mDiB+dg{eYs;4V(6%#V988Td{(GU;6N!GqHGC9nu z8nPV8y5sjS(XqIHPk#7>nOpmDteFA4z!dBo*x94*bJeikAc3N`43>1ZaqwEhm8A8@ zup3y-*Z9DEy>z8%DeItOy466mV!32%pLLdcWMtg<7QVZuTfD%zI|<&7tNA+VypLbt zE)J&&O2VN$MPth_+s`~^O#<`Ly{2`3pW62IhTwINbn&-JOsls;&mkH6cSO?!VLM+} z(n#D{a|O50n?84Sq=-kB62Z}gh+m!ok5ta~)P7}J#fkKEVc+Yt0e5S}ccz7zD&~d@ z^PMk49afGz?>pQ)>joOJiB6Th>xt+Ikq8H(Cm{EgCpO@q$)&w;&(+np80-hf&>-jL zIk{16V$D;oI3t`%XikB_J-E|n3gg;^m+H0#a^*QdGmF8<(O0~AGbV%f?2U9DC1if!3dj3R!Vg`UV{^ zxgwJ6Sj8xNawMqV@mBWaBq?lt9Nraif0jNf33*7>PiKT0?7HY@i4I5xYPLD1Xb&h3fhPA8EVth;ITd>gd8r8SRIQdNZNB|tf1W~6GcAaCgW{SmXJd}} zerlkgsqT?LtHD4xIRt5+Y#6GKDAD@_x({_$WfZ3ppbR0)##DXl|GKJKIa^RFwhB=h z1D%%&oLjSsnSR1}L^ibH7;d>51?7VzvuZ(>Qvrh(86i{<6gZjpX6+l`5o9}KJL)D6 zs`fp4RElxqCwmJ5f_ENUqb3a6oSb2W;tLO=DN!y(-e%w#qa%aWv%UITq9Pf|z~5WtnKiJ_AV6%X_*dlcmraK@01W|O2>n*7-!LcLZ1~OoE%S_kvF()co(7Hf zmy-f?*Zlj+?f6JdUwQLTob-}yC93Cj&e?0qy%J&en#H${=upHNwbipFP}}rI_JJW@ zwCgb>e*}$xYjwK}u*p`yv#!&i1h^_EM~V!0HT=KTK-UDS^gP%qBHZo6s~EN-BSyX) zRjD(h1q+xmp_R+m6Eqze_>aeu9^Jz(4Bf4wxVk_51#~ex{A!Z|-88YfU)a+9N-|{W z8UD*BH0(8Wm#M#_{X?hX_%Ky}eV7X{?9Bopmo=%;pvUO{74TFeGk&`noN00 zzrwC;ZmF*Luq=SRe(3tzr6r-2MH5&5{5xE4oU1DM_L!ubvxdfvCpsVKsyCwZ4(d7* zJh;3aDujpykgG{-nO3%AP`#Fm7c4AJkGw2KKlU`L%RY?r%tt$aGctjn9L=q8btJ{{ekl0BSIztp@=wz;J-Xje|U|3H~t1K|GCdwZ9f?ccZ~iZQ4u^92 zi3oACY7e1&HUq0U#7*HH;f$@>_~}+fGS+f_Rxtl+b%SUBZT^+hnQ+Ik{HJpn1EcNq zs^#NTMpPay8S^dB5+U3%L*4SPqy5UO!3D)wlFAz!J+<@mMFS4D6E#CH#;+g() zF&`XV>$q}C(^R~0MFEyTB#xdWtzK5e2TaV&=Z$5GJC_(EApF*A2rTOP0UYLZ0SR8d zb<6Yck+YO$b3FBEB@3#_PE!t7Xcu$}eC$s!JCT-j>piG|Q~rzPNdsVDLOAV+gU-0f zZrpiZXeRWN_6;!o|I7ma2ebDsv26`PA=DtYjgFUv0Cz#5>+vXorSMVhSs|)rwTBEC zzFKhcW22)j6*aq#q6{@$$rX1=732xn}HE_Li$_aU8sCut`kOEDUEvX8~=LQ#9oxP$hk@(RtoV+Mo-0DQ5;W%U~px`v;PjIgyhP} zfwrDl)2La~lun4!z9LQyCzt!=3-D4TskPgb9v*fCJzx)84YIu z{zcX8W0wgWf_~p;#CIuqDELdB91t4e?3oW*L!z}#7w%HV5V#kQB97^#hO^sdVrY(M zomKlq-S`)&6XH%zMl$7o&37DUDu13}&o$O{vC*Z1URa_3?u)jV78&CRq{oe&j86R_ zUhKuTjXuqVo`zDa&uTxAB#{1OBxAdSRuw8R%ki;LjX5ZrPGk>LKEZb7+&;WKS(L~K zCSN&}_udSDe{*SfsAXtMhiu=;QvZ#P!aCF6sV z*4C;dE;faMqo=RbjG-e;=;4CEJwf9e3A84$(Ynl=Kg)JFxm>X|jas*dc=A;KY z^Bm|QOn7!S4#u0q&3r8I+m(1P_w`us`mw3x-AKJo^H9x-m#@}xUwC?W9n^HN1yF!f zV}uw~SD3$bfKCNCB|_g>#GcweF}XUmms#uIEAhc{=a~r$%V|AN4aVw{4#?hWQb#3+ zic54n3+>dGYkHKYM2g>kWrUAqblW-8tU4yYY>!9|aAGc)87yqJEDk!4I49xR!H1gC zt|^m5*gUBxnoeQ7!Q5Zv_bC(@MWT%W7og_Yp{C~nlM?XCt@WxxFRuX=Y$dge5D*_| z1fHL8LR?-xUt(g7wDk_4b!6d}U_<>TUA;_hRAXywf*S+Wpo`95EYX#&>@?MKPjVmL zeOP?y$pF_EMS)5eDVk@@8J5P0cb?ODGKG-nB--;>pNP17N&Ti1V4SK*LOv5+Zheyb znq0f;jQIbZo%z?XX1H?atq4Vhc7(tL6)6YVhYR%C zcR6lNDo!6emz}JV)b#G`oj5I~iqYm3Id-?;7p@kUxo>`PBBlD5cD5XF0_^A2lslTe zzW!yINB)uv3*jf{)vBDAC+d%^gsP`ca|Uo)OWJ!sCrya99%-*Eiq?%pz`$^(yn_YR zXXxQVL)ZEHOLa*6aL^dD9?sw;D5;>}W87tYZW)0UbY@4kKPar>i7wVVPyfnFA*9k{ z%pg2xQjy~_gxA3%W1ggv!bJ^8i!h6ow>&mPmMC~>t1|8w^bd|NDGQHReW*;o61iMw zGuL)EAEjRHjVs-I^&;BCVK=6X{S=JCSO4pmo*ovceU0s`0s!B<3EA-jRlyHOlo=Y_ zrKRHcD6h@PJ&eA^)Bd?f_pU-GnIoAb@M3}er8WfJY;w`<(TTEvPw+Q5q>jlDkU;sg z(PlP0_7N#h*-@}o(w`O zTmUonrILZ-wGvO*Kl0xG>Wcl7F5l0cfaC1lgSDkd-2VH{;$Sp&-?Jn3Z!62}!rpCd zuUyvj$npUs+oQe@!f$q(!OL_ZxeHM28djn(cP~Wcc%CRRauMy{S*Tm$v)sOycj1-v z3L%H4+Z7${v$Ud<{cVL*T~{J@cGEMjQis49g!pf zU_o>0J4n@SRgcxFi^dbRU$%5-wSTQ5*0poi7+(Yf9OUP%3{IhVLh zS?67e?YgciezzACYY8jRE8dT8d53GmX~DdGqhl+ruV4j)3E@8OsnzKk>Xvt0pz? z047}Qi@i`cT;RWuJl4y%t&?be`pcYB0ZAR5_IhBjdG!DbBSV19)FH zPI`MTIZmSx^j;UT3S>nbJvNnIR0WLsvFDm(?(~W7N_ghHO*>c7)3d~cAF$>(d!LTe zb()G@A}dajqVl`qd?HehvdPO?80-RYfFtr+5B*7&j^X5VFUmUMLh@qvQyY~jcB%YaUci+q%m#M3M@(=6RD? zK)PE;jrYX(sH5{hA$a;)li6@VE>bV?dTyFtaYSpNw-;BCVQu|kYMh3ovzfoc>cBid zWNN6fcc{>htx)RA&VbvO|PzR8ymJIYjRj4mztVy1^Z@1F{ zo*9Nb0NI-Q#eet=)-SM!kSj%&)x%2V5ANfQ3aRmtMOAz-M3o`EY~k&#d_CunA(4!S zN~m4>yo9`MK@-@lhrf&Q9`rQ|`6VsjXsM~mzlGbO=Rl*cl&2|cLFeYdRfMjAo2=mF z{dmEA5SPWkLaoIh$=19?t0j~`&h-r1x!YOt@r`A@Xm?>xoCcK5w$i7nD@`%8vS>bl z)rFXoE2H=GneDAde?dl06f~z?sXEL%EVV9mzrJX9{wsHZmZ5g?abG}`sQ3DzyeS|g zKlk1sCIQfp-~Jz89sHt=kMi?|+@;rTuOHf(UILW9hditOfF>1+{I%uVh8HBbKkoZa}Zxwjtv z6>X;QpaX96O|N>e7d5Gd1L^*i<|-n`yDVT%S$vaUpix~E;5i4`?$fZZF90Ns?m~dn zOOR_Ew*}7Vj7zf=3 z!9B2p=BmRo>u{3`_xF4DK(qr>-=rr@qqV|E@{0hH7Bp2{es3nvNzBASojOdzOT*4- zq}*61R3CdK|L6li)7k+>(ns^l^t8=;-j&QGT|oZHef(n^vnBmYtDqDLzk!MIv2Sh2 zFHoflKPxwf!IrKenMtYB6w4jl`&DmER1moDH7Wj(wEc|hJqvdD%K-O#rm>56TIm~U zHXzaqTM?1<M{lDt%fC$cUZ@p|&LDwwn&*{FW_PA(n4f<{C{ZewSrj)+N^y z?~Qz7bEt(+uIxFXkx;hM0((JS_av}D0@E@d6}eJfx$I!g`|;xEH$Vc;loNAe==mtD z#0&ev%h@IES>Q|iD9?O7V~SalOh%E?9^`!>mZp?fr(vpbT4cR@DKOh~c1GES;km4D zdamU1HdMWOq&Tg$Z|1uOqS3uoxZL-%Tw8y)22MPrpFnj|>g`ej3LvR9QcwQKWj*DN z39NHt(3T)WeNRgf1FDj+?>S1aj1MayG7I5LBQwl^YW^Wn`-ck5zltmg8clUos z7GdFhmt{lYbBmx@Q#6p@x5@ZaqVZ6}#LogRx#E43Ez5>PsEz9lKAy{&cO5yGWXgaY z(4&S%+nBORNfBW1nC}$+!!Pk;*A?P>i?)n%?~d3R;<*M%y8jBQEcxlsG0$67B zQ^wLrm>D$(p!Y30jyUks65T4RaQ+d1g>lW`VENg#8ga;id#9NN>pfOP7q!Xdq3F-8^Q|lvQ+bjtd*ljIJWU= zkwumJA3Uei1X|BesJXZ_U9=()CeScd7wTO4{3tNz)DY08;s|lS6eW<)rqU&PuL&T3 zKB3tLezz?e?_OXLhCn#r{bi;Wn74E;#U)vj@s8ZJ_1-2PS9 z8hLB1)egw7-g~t!-aQ7DOm<31E30r=Vq@xNUqh3Qp8+}`qJJatPqbo1RXJo4IdQDT z2d>Gd81gY1@jeVu86Vp>6cZSR-=iiyz-W1sG(*EdTEeAJi!dNVPZRu-Qi*En) zk~8L*cgo8!M)pVfiQWoNoD*tjHyc*GTC;{lO>a~>d*UP7MVE!5wlkKxbp!9foVnFl z^IbLf%o|{ZXY)ly8uGz|<3m_puIY^>m#`&aBR6$oX~TV=u6cSG7P2A0$@_XPt^J$me>RBgktb z^E-$1*`$gI8l7&{Vxgw%!4L44c*@;9wL^QtK7A9|9!9=;sf$$U;Nt=47Z7=W%(XZp zM1eIOUBQ?)^~5Br8t;042aEzIOJGvIDS3z*emJt8P7wZx#CWjAa?PlBwxq3r=Z6hy zS#cHa!}i;XWQGfunBL$D-{!`C1t~mrD0?pFB+632hAt+p5BuF#!luNL9>fV}9=p3x zeHWr018BY%06K5x^hnEUFA0cRv9UKydmY{X7kMgRLB4N;1G3{kiN8R89FH+4?y)*? zQDc6ki?gpP`|vqz$Wz0kVJmd+=#8Bn8&1n@B zt#pmn<6`cl&_%OsyK?Gu`Sshj(@hm=qnQ9-B-~C0q~&-kC5?Z+Nxr~yLLI}LatswJ z&a2XwNfD({Y2gZFQZZRo6MMs{yG&RK0|!Lr)A2Cc*+d`(m~3;7wmy==EZ>){aHkn) zPkJ1IrW_wPPwX&KuoJxC)WLu$G|`2Nj(FbH^}pb^vUCo$U1(Z^THsDJ<6Mn++}p2_ z!21CD^$BUO^72L7-8iacWK}Jge&`-R?3{Cc5pAE+l}cOHyIPm%eTR_+r}7M?fKoy& zGTTl{F`1Crc1Mg9<>JO$1}kk%AoQR0eW?V&HVy0MUdX&R`{mypoc$^n6-|Up+*^?= zP3GNFLA)hGjX7C0*rHn!h7Qy46O7g9?x4Efdf?>GwNg2C%;zs14I95{8w7Mx;p3;C z+z%)p8jV0=D?wFE=#oWsATg6Rh3eJ+QK5~S^guYRQRJdIvf$2}@9F@_DsCQM#h$j^ zub8(5{$L;QYj+N3!tdXoSMvhz9L%S7BGQA>*>(diq0`xbutMr*1mX8@=PQ!&Brx$E zpz1;6Gjik2)hay9SskATn7xy_$Z{YxtLAUJHhaScyf(Q8M#B|F+J(~qacU4U`Fc>< zqoEi4v$A@rb-?%Gpm6wbRu&dZtO!MZnMvQvp%lnxy4iS8LhEc*zuEkw4_d8%2Z z@yasS%`(|NN_!;XxA6oEH6x5({)qMaD6Ff7xj6Bmldbqo)<0_K5F$7tUrKc1Vu8X~ z8xJ4)D&9-iTntzkc~lEU_Cn|7^OpeSMgL{7t~G)J!?!Qb4`_?>j?)-Io7`tD&m-LE zLbsL!!f!lTA&|$VKH3GrK9wFP>!pSVmDhSFA_+AtHZydw2Z?*T{kEgsX6UW%-)tD5 z8b*lRr>lD;mFKi3{)DYUuAV7&)-!z-)DnX3;OeCSCZgVu$rwO9jNON#g8#wP*wsq} zY6C~{N|6D@#X7Dc|45P>s5gSU#qx=Ent%cc!rbIL9N*Vn50l#tpAeke^#H^N1Zn(} zoou$j)NpMV*553V9lZJWdK23eGTRTwzZQbI-WeM6iOG;B|B(Aaupk z5R}Gpa4JBlYetqDI}!q+2MIk!LICwE67qfF7Wx>NKR>I!)L+Za!i=23_Q-#Th~e~HV5%H?~-SQVh^D}!|c(&k`q6Ws~-{#ifdrwI6u zk|NiE`XZpC{oW%0ebktt>M$7C479lLFfhjd7xDoR;`d9vk>iJB{jl~EDyB9TuxB{y zm6H_4EJOwE3U<$Jvyy)GeRiiQTf!~1s|$y#ekKlSlBPZF12&H#dpo;(^|OKqAk>#< zef$E|#!lT2DDF@A(p;YFik8;wep;{YzH<;(e>xn~#7^By%?_b1r4;R+8R<2LU5Jtv zLUD2sI^-RaIzhF>D`tRz$o0%;6Cs8Kwab*K@Fw(gt@e%B<0ujo$s1!+t?cjLC4Fg zZf+HM@)o5GdN=2A!^eiao2j|r(7i|rw8p{fWmpYbBcNqMwJtinZuNDG7xG15?~hgz zZXw^95f7o@jmf$mZ@pBBJ54$?N7TX|Z9A4i{%#@Q1@pW4074Cd9$wndKCi7``W+G? zo0#XM*I2C?GSfjoAaf;vBLoPFwthfqCaFG@f+({CG0>|^yMzeouiegX@>Z9Eo3!G_ ztaG(SI}W?3k$^ z^()IF8>1X#>OEFy4-<;6#s_?hijZW&xXOZqD)KWVsjvKHyRyG-H($Om z2Re!fhM4UK*xtAF|D(h~YU33i;auubFB7-s=O%#34~$*EgFm+MrG2)bCi)Iz`_TA^ zvyPdR!TyFXFiIwZNdrC+?0<-fdd8$#7Q#?kqvhBV=$`R_@Uy3?B=WCZ{;AqpKdWV3 z*WPpO*U0ZF`j_|odv&(*Q@@biIrT!HSNIO`)bFvoh)0+Y8NRUP34)?y>A+7Oqdnws zI+MDH!17F-hsgkbuqJR)Nfq~JR9E*p7=OEJ#pMD;H1E@PiD$tf>p+pIb!popMH-+6 z&w=bBPUUY@gNs0!3+yfyJpwg@gYkPmYM8C>H*Pgh6J!Te3%_cpH3Hsc%PAh=66#S? zuY*uv>;;QkZ1QnQ2UNML#**Dg41l3yS8+2WZQTeb^g7FrQr(2QC}l5>d6qxMhxgIC z0NiUbNrKWek=1t^)!zGyUBCA3pBCc%v+}(q<@dPjhNK@~{#EHGSvUVtR*U#IWCP$R zP$7h8d0)%M3`ZwLCV9wCETo^tXcSvt>wrE$dYX=7s&h-&%|1P*Tc`L1xYRBZZ;O4~ zPS_EgV`2dC<2w2~iv3>T>8A%Rys#ev!|eJ1+SvzZrKA7E9sdDY0j(`181zGP`=ewO zT?$zpfS>nvk$-uPxrymEgPlgWc~g~nkX$aPTo0E;Ln@2RjWnPQSRvzr-w`#?xz!|z zkWI^68EZGqcc|ZT({KS?I^DZ7H1E%zIQ{S0f8UM&k2-_*TV;)3v4HV+@Xa9o@!pC-NHALnVeCt2tcFu}*JSNq z;W8FGO=BvGilx(23-jEg{WX?|huGc87&2=`%#`nU`bLxVw2|w$Cr%&Gpl87WhaAzH zp36W9H`q;GzkD$LQ}0~DK^8!`sU;QrdREF_vGQ~x)k5-91ZM?42qH|wdT zL%!i^NAOTjee6l)D(D5SVuemBzxQVi)9-jnId~E2d5?$8b5N_8yxN3)TKb!`8>uu< zyK)ow-V`DKT6FFXM5U6AnkenwLLS1Gk<`uc(xg+SuufVV%}GMc=R#hO)w3sdJuR0` z>7uTFY!*RToPC;yxnOCLj1i_(81g+;BHZnJ;mO-2>8JM-7o=a_EEtxg2L2#Nl-kGj zcWr6_67p&>p*IMpnMx||R50f~Qq83@l~pm~J#rWb2Tr$(h8TR|`)N}WtL(9o2P!ds zc_*}g5@+i>;rk$o<~;^LvctX)xZZiNzET*LjDC6Rbq}Z8XG7GhSI-7~0qlyFzDBDp z8U6X917e*Vxh#|Z>c!tIPg7Fl=-9xBPZu+$`_0yu_q55d_A{)0+1;gIebVGJ?A=3* zs2Uo*UinDr&woeQ?G6fP%RlWm^S1KlY5?Xfl-kGwE^OSg zhi`3oT;GF$f$xFe!sLFpp}FCi3_Vpq@FoyqBFM1)ZQt`p4uFPS|A{K9F@~bYqSD2u zxpTo{>|BIy!UwAM8jM57;|1ya_4F+J8H>$?uB_hClkqqL*>W3U5|zDQ^wRRFb>; zPZwoa+KS)Xc|!lkh2qYv%dCNkGY@4&aItjhdDdoGl6*$`g(Ul3Mk0Lf^gQa-MeZwT zi1B*OA2n;mLtJT!#Rgm9>QySs&O_f{!~_>Skd2ulBW)(+1z(?-!CS@&;p&V|N8lFE7ZHzj92MEpFTdwl0p)tgGpO$6EhltAIaE% z^F6YhSffY-vy3{)oqf0&7;s2CJ&zLl*x!Kh$nt6g%k+N5$QZ3Tl3|mamQfx@yRlEC`L@QU+ZGVlgkLHZOl5N2Bg`%ET zX|QWHdj7iknY@j5M^)dx$lp_vPY4Nh4|XRfO(jVS1LC=AaA`SfyFlhQlk??gw5Y1N zv}TJ(h*-YC0)vVip3h2iz)b0;^(Bj_!lB=+}Y z6FO5L#^QGpx)s*msG3tlR%#%SwIm?RxI_LeIeW=5#@#~`q=(xYd5_zAQk$bWGABD- ztigPkCHS>dJ&3gtQpC_VmNjwZvyf@^Ig(E{jvEt$sLag#QEH2`L4m;?i+71HCqR%U_$4;yA>jtQ%AP& z3qq}&YaU`-%!i~08}CumS^FSYVc9d3?Id-Ty(VI3+;^D?mWL4i@uDC?w!h|~L3W$3 zXhjAsu6O~OqW{F`7=6lIQf;x_M=*LnXgj?w6{1HrLs# zijAT{^-|q>S9Jnq6t1YbvnpDAi1(E)pG}wjf|%-01ac|(cW+L5gm*X@ZsznL-tlv@ zD(&u&dGYLQD^<>)IA(%*hJsszFWg&Q^ZJ@t(Zk7k=I@!&>mf=rEniOm=sQ3VUN#dL z9q*;fIc4#ux~t$+hj15$T%CE5M=Co=tErbH^ph4J-93lx?_Hz1~#!|yUk<|{BZ8+fJ2v7h;V;GEjPiQ^|r z)~RmQB!)|#&nLfD`H0Sim4k-QMavy=|9&KwWnG<9T@I*lHeEx`Ch9GqfLeHN=$Mo2 z1kpT+`)};MXH=7Gw>GMRBBDe@P-(F&1w=%p*9eHH2#7T4AR?X6JBf&Z)F_~ILJ<&< z-fNH+r3IuDNazs)1PCOAkmQT&-Rph#9%G*|&ad<5e1DRR@Z{kccbjuwbI$AfYiAk8 zK*P{<%t@qL?X&A=O^c;B*x-}#rTpiX`fLtbn(D!%6#_qA}c|H<3_yOVJHT3IZ8K?BTBcz$Y;d)$au!0kVc@;cV1S=Yh87MU1|b@h6( z+>P0I^9;@Zt$*(6Q9w9xTr5~f(LSJLKE{C#As8LkqG^+Oq+?p9AKv=c#*c2M9cFgg zb&mE&#`BWB6`eh13#NROr6+*Kyyy_X4WU5q?KkJd8P$ZU`Uy@1y?ocTRwq2LAH5P* zE64C&oX6J^3s@gv)z_6WBAMz|*2#?~S-|QP%|QEq^#k6yI}tX#yY}xsHo4HLr`8Xc zcDGD%`^;N!*)b1Si(1YWa#Z=n2>}^@1SQ5}m3uwB>9zKwR^5pvZr!vGsln&|tn~JV zll#`p4+WB;TNjq3o!J{k33&GZjY2DNP&KINP-l377(g|eBTR5gjp3oQ<*Dxj9P@IJQmo2=al_P+wmS#`L9$=fnw-KC2K98waoV{$_zbJ=S=)yRLZIHCUTzp zKE^NWL*uWM;-IF_y5YfSIbY3KFy)i^>#7 zf;eE+Yu@;RLhTEbTT3=@7YI=D6ohX7RLH=5$u}ZWxlPoY2K2^quKT=!sDD!Ar8XS& zHkIZb_$8NHG>OZq8^Gi|IVV>sDw#VrP0Quw6Xgo zE^ZNe--GUoGOZ@qgfUjp@ZG}=g-uJCli~^yO1r)pWG5KZhBIiPqk-L@>4M@^?k?v| z;_uJfcUd`CP5lt(5{0-8vV;_V&TNgV=FHX^w9_UzlyJ?)Pdw`ta= zse2T5oR;0Cc>%dbfm0X!q+DPlQPhzpTz5Eb8e}m7%QRcQ*iFMt6UesshqMB%&Z+^- zabm*-N4j3WywVG5D3*2vu)ja$FbTg_e{t`|TznEKTdtu&+D^X1EzraCda@Dce6fe~X z+HABs&}KsdErkA5z44As8%vO6R;+8 zjE(8S|5qz;r}qywv%CozR;8tXA0_?n$6SFG8%^JEstWYTqWGYojS!&`&v<@W8XIAM z$~b*t!nJ`1OG5(F4^tP1lu3P~Q3)`(*D9VMsh3Dm`p1JP035YieRuXNGhJ`2dhXdg7KYh|4^5yj5!NuO=$EueOCcPM(0;J!!m3C6(SUw;+z4*&1DmhSb{p%72{r3;C@|7| zK_}984x*bDrdiC!sLYh@4oxI*2 zA_QWC`F}T8+MV+9_}!^kNmdnXzZ~{+(FV8e23YOt%u>7nfUKC8=5wzLEYeNezWc@! z$KL+pcj@EiZfknKoVR?iuKC~+RWq}lbqTo;;ylk+;pIKS z=GQUE{{)}jTW5h}n=O}IN>)Don&R8us(2S1HRr%@su(&v`Bfwd{2?xOxc@>=_ja9( zB7$5`#oqN&hfGtj`1{%y52j{}Y@w$Qdcf6*^BC$DZlIebYdpO51W4;40&zU3r*X3! z^~E2s@r1BAQRYwXQLqsOwapBh%t1Ot>y4YFoR7Qj`HUWvUAXFkeL)#4+RJ@-Ad;J|>hps+qpIB!av^cYSR|Tkb$NhVqSLWpl2Q*PZ7mhR1Ra!5Wo7SEUBA~vblIn0+OuWI~ z@>M_GpRmFM#BRp%-w;%;TF7MeN~{YsO*S3OPq<3f#-WDDIvxXCEzXTuq((a{ zY(GEqbYj#EV&+w{FGQ6BmSh$dihy0rjm+Y}JkSk|?%L^$@+NB=xeGD{v%ws^EGVUb ztii>rEvu3-HeSk%0phk*d1ho`rW`=Rvhng(ARd?eZjyyj!m+W!?*^sFC9(n_4~^yO zeFr83YLo)k@VNO)TDWjp=63h>`4;q^7c8;{CDEs;=v$&`#%Y)_g>3V8lM})xj45C(kVb#5=SGE#KsI4SH^y^sRJy4(|+=MJ8v~AMsPp zr3JdWl}sHLfPyH81$%<@uE7eGX8Xz7mlGKlER1}w-72pO?})FdA(O+scFPVBm2@vZ zbf)QeqNTj-(xh3ErmrBd@UZ4kVP`*}A~u*rO{RQQ3^^T)10rhL{CcdpT4s zcr&pHKbh^|QI3es@QoE&j6|`-NqkjMb|%)HF`_)XGct%+&bQz%Z}z_;-n=#;DxX2J)|BdDg3n}%3 z065SWthDweV4e?E#*;`&l>~>DP1=+tS7Js0y|W|eQfyhAttLgVa5lK-i{VULy1>D+ z*$MAS%7z4p03iGEJJ*i+$CwNt!8G)dI=3M*?(p3&@xpKAW5Lk+L>odf_n?-%+f4Nu zQOwHgX+|XRN71g6YOi^<8SZ$vE<}t&+D68 z82!qvs>H1?sInfDiC```125q*#Rw^1enp-k#*5q5yP{|A$&9~&7?O7@<7++st+Dl| zls&rue6H9)qpV4=@zviC@!utHUhAq%q8BW;2gBuP`dVA>aj5RY>k7WEpRiY#2x*!E z{sc~M1o*CHnTHk$e;*wjdcsh9oar>96n*C00Bcy{ zp%LSb()6~$Ts11S9@ zm#HQshQbck$-+Lv#s)_^vy|(X1JMKacY~-ndL%DpDubh|bHS)&+!@TJ+~jvOu$vsJ zn;zC3gx?=(8ufnS0z#R~09%c3hqktktkjuGBPi9TJkYf$;`WNfdMMLl2cpEy2+esM zy+wSM-s5V!EzrB0o>1`{$`|TjE_6j~iS5>m??7pmduW;NVq*Dcf{d-*S@y^_=VgTwj`0l<+hb$DjCYf6X^qREcQEDP$9x4&ab7U3>T*0 zet12`hGI(rowqA+jM@7_y=3y*A=o7}P@1WSmk39L_+e#Ti~N` z4BX=v+l9qBsv!{8Y8P;e>=Cp-wYlggce(5u!cwuomo%@N8YT;MV~-yX>DWx|0lG#D zrq3GF@jgWNgTmx?%rCSXeVzmwZ?I704gpowzOaz$m#>SY$Ejb^_l?&bm#;IgZ~V4G znG88Jv2B5&l?OH#DU@Dfef5U+j_+XBVR68G+vHkSI_P$@(R%fmir2bnz_=sFkQ>7n zQS02{R6;4)T>VU~^DQwXnkhBQaPlwvWlXFp>iD|Wq+t(D21sD6?N_`Es&f|@63AB7 zcB7hJU?w<7?}SlZ)6{B%Qd+ME{>5a%$1c9}=r1N-zQ=nblg&n;YE9{VZ1`iG>cz-! zI?_VbAnnK_+sXuUn%}-@HS8eii;f_Q$#NZ5Yw|B@L}dms?;07i8*r)V z41|%_`Le{BeXc#@!su<%(D*O1gqnX$PE)LJb!7g!Yr?#?D-SV}a*94DDx;7TspQ3J zSsgfE0jTF;TO+3^@W7x`<^r|emaAT-iLa^R0KTHkxbmb%idh%Bx0Yls|t3jhb4YpZHxspP|c$pBZa|aIfAdB`6z=I zLvCCtTAaAe^k0<=cfNlgLTK9p?5EHY%o1opzsYh1Hc^%5$QrxFu+h`p{>ha4Us&q{jLm$>;sjQbP!rsRVVoH z(k#(?#;YgE*7sJ>x^ZV8%IruG|IMA?Dj(;c{9guv_Wn!4MX;PrG_OvVb-LXIo0j-P2+x>K=x) z$U*DiS5oIHBK;QR`*59Q+jBrWTYxdzED%mTQCVHtxTrctfxl@e_3_-)RCv>I@G7}Z z6DVoFgxfDyK;~0;@hVCl{JGHs9I(p^0Tu3(my zYbx0m*@jLGZO_s|1yeo{5 z5k>M82$uQ;u8wSHwtMR~+OeG2sSPrr{aAfy%~ZJ3+Cf?~H_HU*FYWqkj?I>U_z!Pz zohMZXw%nMED)p1CmrI)JeNbEKq|WsF$7+qd2DJCz8&z7&gLbm1bLps6CL?PJt#zIa z?!?2FjPTM~oL@|9XZvrpFNtqj$9~2u3ClZZ^-%^~p&unAo_4em`+MaM_d5fGUkbfa z%Kh?SSBrzT^y6{ByvM0%r}!9wJGZ5-@8=&E)zs+hs zBnSRdJ{8DlFGPLU8Z>=ldNA`oFy66xTcS+j%|J37D^e#v~FA=VzjBlmiY*Gs>kf)<0j7H{N^W=zATtw)lq zxk=;gcE-0l1PS9UukkWz2T8`L&K!V5CU*Gg2SR#Tc?%@Sc9R7@{fQtiV{tYMqYNZ{ z?!Tit372{tewM8DKosg&jd%ERL>m9#A1nY+6@tq{N3J+ZBMxmYBuHtTbA+@%smOm6 zFHPUV4So-U%WEdadW{@gcl{bEkVDMgdpC8j=tYI*>=zbk-J!p77NNhZaSMNZTufDz z$LAnW0SD5m>QS{*t~dQVk$?R+fSR0!U8hstC8GwKP1j^;c1IMwdu@WA;A(?Ye^dRL zLJJ=6_M8z+5J5Oz-b?j&gvV#9awUgu2u*1c;^5^7S&By;R$OKHFC=<^s_YEQB_5ne zcaOKqu@%^@G3t=V6gR{hi@VUH5HS4A@(PNiuK(65?MrJ8V=wvkTiX1a@Ef^Ir-e?g%f3BSl4umhbSGzMW(PZS7t24v9U$6p0XVNSPqfIaw_3oCQR>HW+lZ|cmp1Tz0;&s_Su+)`d9 zhi~zq=Bnw^$LZE`uy6)9$ zp61x$4tCW|T8X$sc>{q(@Y*5AS!Jzc-#9a=ml=m6NBZ4{d1O#}X<&HR9!fe5(Sq&g z#A{Yw1n^t!KI|h=;82;0RhhU^-qx{=L|D4BW{eV?o_WRvn{e7F=whu?&4w_R0EAu? z>1RndLGpaQoH}J^5)UOXsVb9qRLBT>HU))m^-gXoCO^u7s}OCK-BhnCk$8@TIdhTc%50*D2Umi{ZpmWa-s;y>pCY8UUvB!J34 zYfdnpUvQ2uDJ7>C_ID}^jnnP!)WM*P(ohhi26TtN!qIenWCjpa*IN19YejDL0~=)$ zQfk#0zdLVg>(_UtTgf%cDyxnPga$LCa=D$_QlQXGaL`)>tpJFiZR#BEKz$b!wymIA zdBKy%sV03=R&KLHlmiqfdcxD@{@@Qd!8M)xa1H;&GfozxV4BiG&Qsj3;jV$rG*mf} zqxWQGx02y|okD>#jpDJl{rGDL{u7)^&@Jt{H8WGhhB4+lJ@w^8jq;n+sf{H7DBt$y zfT9U`I|ML(JQ)q}JQSfdaF{}crhRr`Sin2ygA0sS7HCre(0A71MW1@m`%PD`J&*JI z2J5m2=wiy0-IUwms~K2tMg+-9X;d$Bv1EhYX&}jS@)Ox(gD0R(!k>89%cfDCSB)Bg z((EqJa6^finGN&_micDX{XOibSDj1;cTLMMFqlG%qhyt#?xzbQ=!&yGo^6YhjGsq7 z_w(RUBrteQP-!w_r&AX{V-(xB(${0}Yx3HI+A^rkZ$Qn!QnUGDSt3l}NR6rmr5_wP z`|}2wu(Fb?Y$p1OpqiH`D@Cp1EJSYv^NTFR26XqVn5sl5 z(p0(xYZ{rYWV}_L-dsvcFYk12qs-TZ^l-mA(|kCIthNN=S!3V)S0zcxG1d;NulNf^ z$BTS;TwunC;cO-&Os3UGp3)!Xt@a@B`!)IsNc>s?2o0p8-{SG_^y1;MnI=tyR=9jJ}FT;9kY2~iPTMclN?{`E-2-rEocHt z4X5w)88&{R9_Rl$aK(}yAAYCns|e}Mv?iwII1U88b{mh0EkR91le1dnCrd1A?kbtT zxOLzqu2&&S2T1dUHO{}ctr{K^^6VN*{Yh|*|Ls{p!E70WsJC1{63n8^#t;&S!4GNs#BNfJHvZb#hO+9UG`))8^IfD<3s!<)nbs8nl?)iR=4ZZv|z@w9w@Fhse{~ zSHPgd0`UrB(BLrt7Mf5CQCs`Ly<$sH^!q}+wg8C|;aUoVrSStJKBZ#s(QsC1c147< zWfK=LppQ3rVZF3rmo?LViuA!~TtZ^wN|*iKAb_YoGcE}79$e>pph20oL!ZKp?Kmt# z*VF!52#opzI*n+clhLU1DZbzft)AQ}6)k%-4;al!Zl9i+rpH}~r}a12 z@eby{)lOG#Nk?F?`9VDd=qp_{d*Ts6uP9uL&C%0>H=~v1LiQS)3h@dJzZ#qeBkX4pvGjb=h&vGl}Ww0xiDeG9&RyW)!@!wW?p&RclKKV zrDx0C$L&Y9(*!BeDo^R2ZeXy6+k=`ho73Arn}MRRQ~00b!t(v&I|5KyczIV@E6jO# zb$f<_$&_0<*?eMI%$0Ov3}sm%9js#2=IzxW3^_O~-QVJujU=dmCvd%hG7M+)=O^l6 zj_{F4xwP7_O=CYi*a99r zQTD)c<_lm}=KV{zki9nfq^Yg9Rr-P1EgWO0``&)Jf08H-MZGsTB1I z`dJulw>e@}deA+uQVSN6QL;Dx54==xFVv(?CTOUgb1Gl&VxT87Ko0P?$k1UEGx=5; zU=2u_*$5qDy0YjyRLgpH#A)y&DYb4T3Y9?J-ZXZL1zXj+7YTX1BAtEcVP0f5c#GV( zZl3%$tvluyW>*2s#i1TW=zHT(9D3zICb zS6qd_7~e5WaKqYl{;gSY}X{{aH(#^;wN#={xs6jfe}NxN@~$3g2Jc5bV$C>vLn7E}@0Kbl{&0fljTdrQN_e8f^q4>TDZ>!o@5 zT&a!#`Lcl3h~1ptNsyvWB9yvu-+!N400O*HKUFn;R0%&Ct3ljX!<}06!(yX|@cN^` zfDzu{b=UMt(pb8I>;luaabpop2ZvKl3kIbm*-APKp)@R3QNU%xW=KothtSt=7;GE@ z4*=XW;{>tUG6xAu~+1J5TJVrr3y%r$=w>pYyc3tAm)8dH)<(dc`M{6d-@h0 zJl$CLV<>Q-iue*Zi`{Rpa|hS3Y2_g%RhE8#gwT1AQ-{MNOdpQ%Dg@v_6SNn`_0DS>SY>8@0S`R~ljJPqX2q)DPjKGP=Fj8S4wff z96ooD)B97?yHgr!%(k$G^G8{}vnRrWJVUafGg@oc?-d3mnlsXYE9xukqaVD(0m#z-*jnD}jU}6??Yt?m^9SvY%udjVO z3zvtAt&4wo{Rz)(m^4-%=;QtMa$rozt-7A>hJMGpxDZSlS_DGPX-8I$l3f_BC&W*M z!ClE58cZfK8BapzhVLU&&e7)^#Sn!3XJJ zVzo&v|;uWM=MARg?5BLp!|$7})uGl4846 z>8Z3tTaq`cnCG=n65$PMAm?bJ3;{$yoNS4Y;2Lr$Dr^zZ24*9**oyo2#kF>mxy5{x z|5B%2Qt)tBvLj5MY9W6a*vG+(fmN-2^O-NI>i1sR2t4Ny?=4{bwLjWO`rzd;19f|{ z)y+}=lKT3K)+gyyP8*qe2u=!S}ML7sJES@k-@qh{8f5->oER>ewVwt-PvlbprJt$+ZvVGQqWvG}rPM?ztjExn`WoeCi zYr2O^9E#Qx*E;V+>~A)~Brq{HJe1eWU<68Ez5n9EXb-cZ@l$S%tPvXR#v|eq^jqQ8 zR)wd)9|E}PAIk>Kz!24mO+*I^rF*eqg+p<>T4GAQM4isuBcR`HW3t;N-nuiv>B=sW zH9FI)LnfkquKeeM3B_ypSKAorxQb90QSoVWGqU~fr%L;mEL6p0NrE_T`_+iqij!uW z$*0i#0cKESWzb16W-tNM8NE3)m0n&HkfXQw=|Eb4Iela?taVfAp|9~W1M zUW=t?4p)Vl+#!47EPpzw{ zm)%X)07V&oW97EVpdVFShAl3if6I!K_+n^C=VBBiFFvzGW3pufhd?bhjg|*g%hEni zNJ81&ahfJ3HXP}*3V*yojVE5d@Z#>5nCAYj0c!3%Dv z382%1(n}_>B-<>J$Q9~%WHD+xEK5a`DmV>~iy7-NGE8rs#45?GaG_-B1Gei&?+5jj z#Z^H}7``O?LF`M5bYboi;dk|_Jtp7uM;BZMSeEpDN7u)02F4PdT(a}n-)5LA(tD;! zdf)sS5;+6kQ4yQQiZ-VZJB52qr_WMTzVkfK;UkER?;T5 z)gAK?!l+aZrd~te1bQ+7+MSg3Hn-1vgXP%ZfxQDO@}e=ehWelpTCIE-qJ%)KY_I&> z$)|<1=yTL!)QLU=wO(R=Zs~cbq(S*{RK|_S10?PA)Z=THnhJlo0&vq|unAf&@FZgz z3keQrn_r*x0^Q^Mb7R0eS;RC~kB=F!npJJe&2?A!;#5e>-oBh}EMv7$F)}4xtb}zT zWQOE|uekqK5z`t`T(5+#rA)vHPmL8unTsoqDwsyFw^%Ikqu7>}yG7RB zuZP#@DNA5R0Spy^?o4 z1zd^45lTkPvr9uXDe0tm{vC%u{ODQUm ze;wMGv;3YA(vNv+-&71CzXI?~@eh1cqZRR8zo~UsXD@2Z^pdztgh`H!Q&$Mk%H#eK z2rVwNfo2sI*!!O~<61k+G8mZ_lmR=-Cy~x z8_2!T4tt5EykF)>>z$vsF(_u^$@}uaK{Q+y%^1?@w|bh?hhU7ikMBjz7=Q}SHK1&} zF;4?_&rJjVHVk>ckTUpSuOIlOM7KTKM)4p*{5A zHv4Tyt18}n(_#?EY#5Vnq10PBHBFhlnZW*fmNlu~R0*qngv_PtVPjGv5647uI=(ycozG(q)ciBU14D~QEmG;9LXk+l zXIlUK)r^Tq_~Y*Kdtiq7-M@3lE>v;LGX3<^%N%3K11_U)wN8PCwJ*MntJ$)5EUCx; zstsN7L}U5)N2FQS9Pbu0C-uj_?sX7HHnf@u+B9Z){7gCLbFp5o9cAXYIx4T~mRntc&TU?tAk2yer^(YP}sjVx?XQ;)%+G$ZyK(g1QIDg~Z9I-9Tz(w!{?vPp zt5-#$bKj#AX9bT=z51v@TJP)krr}CP{0a_y4Rv+zB|g1}D;QM9xBB2qyuf5{Y}v&~ z-b_u_w%<)C9^xjy;;EBECKx+YgMWu6!J1yqyej`0qU=e`wT ztD7y_mkv)a(a8Itp_lM9*DYael!g7pgT)8O^~!FQ90$-7C)8TAeEs=Q5>83C&Y7ma zlHR+2jQ8i&XC*(G7k*i}A}i>0h4~9QZ!Og9OlXA!6-&~tJ z=^}k{KV0q@|J(Z%bdCX5-t`fTe{$su$UGWMUvv_nHxsvuIdpp>B|sb#bn0M1YsfZ; z{C!Zr&XKP=RA-7wgwoID&MI(Jvz__YBYn(qBdGkLTZPp0NWYCVLRzxu?rn|{%&hKT z0&qFN`)Hi5ttD$lom%j2!ijQY9_15z?z5pK`T#PU(#x{B-}C!j4XhU5hiwpp|9Q{>6Boxl;5>^AbO4H+Sti1D!P z;@@|_MiNhy>FkzD#(8F+(k&q{O(|`viZaajmj26U56vI1n2rNGDjn!UJA_GAx;B@(II!l2_#~D{^odT zvD3Tm%G({X=7p3#rIjuEE^2 z`OeP+;~oc*PC#m8b$q!=)>~Z%IwmR@RdtR?whB$eG@ed|+u;}7QCO_K_)e{XoSG>g zL9+C_vuB%Iyw%i9g9&!=g;vQF;_))BkP(61Q8uL?-XJP-(mX()sl18hghr43a;OH4 z7`#pnMN_h(o+}Sbs$PKikNR8WAo@$IC4S%aV~VXEF0`Cf7`72Qp}cY&B7J6|h`GX= z>W$?*i67Gz@f0ppOm-0DZ0MN*K%I{#D<9XRgfFemzE$vF^e-mWiN^1~vVivTS1r5} z!kU^AwUX#c)ryU}wq-_?zD%!`kZk9{C|!=q&iTMWc1e2_wSh!FLn=H}*&yD?hwlVu zX8x?1-!(oTG^A>^nj)_l5MWPk2~%uNEO*30$Gv7p-&Vqu=z0W@c3 z$f0xXEIlACV2K^|1DW)b`G49Ju<@QauAeb|3$k61A=RJfTMHQD_|$Um#^=77(oex- z&WzG&6_D3pOZ{M)PZQ+W=;5tEa9wY(17s`!eDhM4R|5Ag#3Fl=_UXkr&E*({W?ab5 z(B{%7O`(9^(cluJ<&V96Rm3hbR@CC1Mrs~yH=Ar2_ z%1`Li`UB{tfdhl8m^wuxwD}P8dp)$rCc_X%`0~B;A1q*raubM>*B`Irq4vxF6jF$1 z`P5eCotT9a$}g#95J$;wD}G`$|NilqH;~i%z8;R-!a%!uen$rS8hK&SI3q^VZU0PJ z(3VaH6u;-c2hi!+o}e|<*oV&XgAZO5L9Yp6~v< zoUi4x7dO~b*5XP&r|9HM=055mx>6GzsMjgB^86*hV^jFp(DQyrp1oXFP0`9o|NmU@ zHZN&Xy@eWeq~^SrsYa{FcfBX;S1_~(M@*yTOLHxg=0rZy*cC58cijn~1L zxlf%0t{;9bIoO&5Q9l;MzWW@gqdjWsJ#_mz?Q{3F=yC(rMEjF`(GX`pD)6Anff(Hz zTZ|ih_j>OH1o1Kl%V9qr+$}73^#aoW($Mg;&Bl)@_uiJh)F~OVz!#Rw>aX4WdF;V8 zhccXMp74#MHQMh*R%%YYcwoyfU#eCe7$XOdPHW6t8>8y};(d1Rxz-yU zV1LA})o0t~I$uwmTQ6U{S@~*7Or%pR!2GK61m zyyk`CcrM@7pdpQo5}@vIvyt%mH4fs=W0b?h$>~du89rRwKR*sR9F6(PdVTSRs#Ys= zc%qq3&V%cArZM-5Jd(D~>|ys6TjfP=kJMjiDRsW56106$mG-VUsS3CwG2-!wQH zN$vB!(YkTR$i#Kjhff8cjHtsyO1YMoWhw^^l{{- z)I=Gy0pBn>o%3!4>mpca)qa&3i4__;7=gKx(<~lTotXnGxZmU4OpQR%9Qe=EbdT^A zh)-TIQ?p|ZNQ?-NU~Xm2gqIUfh`bYBsIXG7M)qh`+RR@LT(wt%Od(T20>dH>=Nm`; zheuX&^8L<89W%XH^i=vviN~MOn?&qX_Do!INZsy=CS|`JS2J3Cz9=&P?^WKht7YwzrEKAav;4yxVElK8JzY9hq&2Wr8h_P_;2_Y|xUdMY%DFRcAc&;MKV&@i-xYJz))=MYDHqKAqk^;)Io`)ov!~ z1$qm9Y%zFFv2c)VM{o82df4gyn<5r%XN;6m%AN2|mDw-~%=`P`gy&Dt`D#OMXpd-> z2*Om9mI4g{~ploM?r|HIN;e7i$No=SPyi9Kq2!ymdAUcPcX^0|8~H`2+9@ zj=Ao(mGO8s$LMsab^H^yn;SW}DUDT74TCo3_pwY_Oe!9q+C;kuJNf%iym8&&^Cy3q zA_}u$t=qLv=$0}LpS9ys^O$0nB;&H_-_nR~{oA3GJ7#wL7=$an{r%OU^43-ODN{V# z$pZ-5DMY{gb6|78H(x|Yo&(SP{n6<4h>WpKzr$PHd>&heSB}Lsu(tf(qb%;f3w}>| zgwvdVcqW|jz4>5|=l=0hB1O&D-Ss*cP&x%TkkSmbZ{O8dgnsChF6dalU4?m#Tt6X|aahR~0flZvPx1uG#7)@$%Fa}% z^}OlENSc)=^%#i>&A)K0_g#nM@*fKArm!*AczC;ocBE|CXd=pzcM{Y*1eD2|y56t< zGW&?cojF+9VeG8e&gnztH=qBiu`X-bb>-fQ8Yz5>A3(0?c4raN-jLV@8ZElF%F5SW z#^HNEE{+tsN>uEH)~T+Up&li4r#^tT>XbSJ2P;VC*`^)5JD@60s>HK?R_@BMWequQ zK2WoBD7mX(;Ht!WsVt-1yu?%0Q46AJeY1wUd?wwKVv;+IuH zPsOe=EewSo(Hu|2By`YXo9BQQR@AW+mDP1`^rGB?i8Vf83l_TkfFyko`7HxDHWR{)QwGpQ5&a~GZ zCjE{BSlAo0Ip*0FZ}lTGgM8V`F-fmJ2 z(H{JzEDZ)$KLvjU&YoCS54kW< zn_8U+c#;O;C|x--ROYojS=8sT_e|GZh|=;6@mX&m@=1-#my~0V%SXAA2Ir%HsILL# zq_8Rm8hfbd31_z0fp_PFR%Z}pOy3n+T`@O;kcN-k&%hp_H>jN8+!IY~v z!N%vc(<^>e$KS9*oM<5P(knz2r|wJJRL!kQh(JK3Uh>n6@B26q@_w1cxz~&eYCnwm zn>9P8idq$!fZ1ipKmqaiF-cj3;PlGrBB<__&M4!)QCG2RfkF=8W4wArDI5c9KL3vsJ(weM^2LMe zxM$~CZ{_~_;h}omQXtgm?Af{5gRJe+iw_@%W-9*LIa9d4_MK;6lv<#4I?x_pS+u@C zim=Mx))YHK_CNZo4gFfsr^C&ovzr4(O@A~!X&=3)0F#@S_fXnnA8|i%H%IBdD81J6 z1gFrD?6bMogLOA|6_zh)H~n^A2#eoHw3z)_o!-p~B&43KYY#qYd`Al8P1-KkK8|%e z*H{-t(74C0)kn)qOr8%;R{-vYuZB1<^-`C)3k#Fa#DabA=@U27Re`)0GW;C;c6xKB zUr|IS?Y=g&fV4+O6tq^rDuc_VfY4ul>InsYwf>EHLL_t$*flV|)tB$1a1IW2_jQ>v zNF-VCU$6=jU9rA(&6;0%cK{;uBQPu15_q^dv%V=S@Y4M4=DwWDRL#v)%|8szS-=O` za)5`ykO#zyTDtJlm6LeUv7_WtaH+DHlibuD6kNKfWR2>m1huHRxwlPf>N*2in|_6? z2^B7yq6945x!oIJT0gCnBZHY7Tn}R=y=LK~*~qg%FJ}~SjO^?I!&p_#d!qM$ zzFp7x*l?-jtJTA_RtiP_R7_r%(On>gRBwrnBtRi&0w=;H(E(<~donKMq*IvP?ZP?CP!C4;gmE1OJhr$^yX}VZni?CUGHAN#F}pa&g;95e?IBU`h8OXAelDGD zV;lfKqJ=KV?eS6S?nUYc`;7Ol|7_;J7w_1l(-KTz|4nCx4`j*2;R0tts^juO)Z1>o zmnA6x47?~%DCTQ9ej;y&)Q!8ej_9|7%8dBK#38>)vFKpDKW)EYt*I7OD7^Ta!~P9u z-ewTyUo{CY1AJ_t~*`^i~JSO!a0vm!&*~2M$bjz5N zwcB!px0aBQ@xenepco`GwMv`Pln6%6rwR@7H|!DUZ#4S_;R`M7a`Gzi0Att(z+LPT zg{u|5ON8MLpVHXtWaL|gRF1s`e<^a$!*4o9Gln^J^i7M-1K9?c5q`*5?f?bcUxbh6 z!O{J1=5CTw%er@^Hxliio!An~w*gwr5>-z8$a){$CP|Ak5G!Ai|9mUO>~V=JYK-XZ z_@c$Js&yL6;Hi}rh`|XL{*H!NtbcgI03`fXgf5r%(%IQOzyC;p!vN!{lhB28InCd3 zHE}E8OlmCd+wDFhn7EdKK8!YOw*75Do(9{q2W1XSx{gX5N$ z=KjF~E)HHdyg4Ruz6+iYB`QbC=lSd0DC^Q+ct&X9*UeOq?n_|jbj-q zTx`&YGQTu9F0Yq=2e1G0cJ#bjFV|fwKpCliLp7KO9W@rc9(SG*y^x)Vzc6h@lH8p% z&c&8G59EBRtFzB{ooq}qvMlsk4AQ7nfWmH7HM`;;WE)p+@yzNs0bT3cFc<_O;}dxk8^m z_^Gx2)u94HwVvAFq0@zI_J_Z^kiMJ$FFu$>Ab#C=uLYIZoqiD25-T$ZdwbQ1|F0rN zL=zvUp4L-4#&S(WeDCn^6`#fP${dePI#sEcAKNGn8$C>*7>Xx++#%h>AZoQ{{-k;LeO(Btn3>GH`+fI*_Vet0du;_b z`Xl^eN3q(YJWvuhZ`5|u*FCU7FHE0kwU^(WMR(9}1CV9N%xG6(a;>OhoQ5>;`fV%j z%5|hj+||Ys)`Ec3TdqjPT8M%G^5wO4q+n6=2f!vfheXF()F0uJhugGu-L*S{WV(Ck zQ9;>Uj~?;V3yt)5m59hjzT1?5J&tGiyy z1y@u|iPwgqsuUaP0M_yPq*Ak~+>E5eiB)eB-S9 zPc_f+!z^_PC-AH4?PNzepi!0N^_x9*)xWZX016Cy#u|HST^WSdSAOmG67ab zMFH2iJMCRd6HKzMJvIJ^_*`C)@kT18WtvTBsEuh}Y0ifE;xwJIr$vDz&+l4uszRKQ zf!9;b|GnA#zuo|*@Pk}mN8UP+5(+pf$j6Ai{?+u-}9@%e7;?CEVP zYUUm7zp;vwr+rKWWh|%SamC>AUtWvs-=E|qRQgJ0Y(b#vqte7UQ(3=(;3n_{+z>SM z#IW>?21JFg*2KsEz8*!-Sz!d3b%Sq;T~iEDlQ?}Q1)}}|rM}j{y&ebf9#SJnfCUW3 z2(^~%Nl3><Tj8FP{fT6{TWQ9?l5c{Yd8=fO{7g+K-7X3 z)!xQ_QJU)roh1aOmkI7Eog?|jVi#VU4ND^b^btrSD=bF*qpuKfa)qpd0Zypr zxQ~)QG@!}<-+-C;A~1A+OCc36r&}2L?q{aFZ#q)$h9q@(@G$+qUOrDMPc~%h;%bb| z7(5i@rDK+L#)S+eeVVUV&76}5yT8$Z)TpYLuz>`}h<#afmc(9fD7btlwHWmc`{k4E z#`)Tj{`1`;W_NWY(0sb{Dm$lSy}G)J=HzaH|Xo~ zg~2)v|1QDEhIS1j;KqwBvT4p-Ds(K>o=n;51(Ak4qO}hI-=;WP3Z^j1AME-cGU>+r za`bAA^(akjxDIr?(5~Hfd^kM!0v&b(QjGCRF6{#V>y!||)-yJk+*3)=43tw--r0`d zv0-~NGzKW0*&bZz+u#*_iCT(g{c(@Y;tP9R%!s;23v&5f=0A_Af+CXw$xmJUxgyQQ z^TzLc?@Nw4GshF8>Cc-Kb@t|6i=7VdDVhO`QjYHd`tqyW>~&F0mn}~z6S@*Ox!3(s|(VY_^@vd4%B z7CrB**CG-$!#q06(_g7r_9$4tsxXd(-mCusVOZ7NnU~n}NA5cmb=4X=OPD$5_r;F8 zHHxEv6EvO76S_Xp-li@?kbC{t#l!d~#nM+gsE(pGhw(?NT5)(TSy4N+qqp`D2d|~n z(}4;Dh`T$xrG;VbmH=M4y6wJ#B6XxC<#E=@U(nsQ}}+*^QA_2HvL&AE9`FxGoKzO z>!{<>)^$IM|7A&)WRFJ32MCW#$QYKN8Duml(_QEL`o*5)wQG(39^oC!UyC~AczB3G zsW*hlO(1GAmip1m?bqR9in^3v{4n#px|@3m@^2`gTBTm2B5t+7?^D$1w>?F64O)ap zO7*C|=E~OoJ7`&VjmpiYs(CstG$BrIDsQqjFMH&r#(ZShc<_5G<}12DS27a5{(;VK zn`IXW-mut@-SKzaX=pUk>}sDY#3za#wGX*F^1#_03O*bI8q z=>NO!TbCC`D0OWDa^azHFk9#G-VM<7Pjp@d#lddhY*PQ~8<=1P9rQNk=Wm9Rx_G^)mb|QcMpN7MM9@5Z|5)D6^ix8e=o{?#C6I4pZ$b9H#p zgXzh$u>jrd%|srzNh|`n5>PzCKQp4_x1l^+)m5If>mbkk{@G7~4sQDU9P#qE1Umjq z!GF$$_ulDEv8uba^DtkQNL3&)4=b#*2P^!=_2xbJt79Z-rDy{RVQXp3E1H zNcpK>4%c7t4G&s)Ext71tW_tehiammYc5xc-@O@F)u$B5PP6*=(T!U5HwCvwItDH3 zaLoT1s34BJHdX$dhw;2}6gZ&);$gswg>Q zY*dgNw7zaPLW4T^1L&SfgX!R1cZ`b(P97OYyCZN9pWmM#I*QC9t8d1JH{>GMY9lS9 zcAwU##N+o_>pSQBr?O|YoY764# z@CDq8?DnWG!ufPe!qWv)L>LYO)%KTYbQ1u-_*%CxS(TS(`D<-jHy3PwuI|oQmXcov z|G?qZZk@o1(venLdY#;Zu2{g=4@e=%wsr?U!($5^tSxI`&^$O~xgXZloAE{rs*g^G% zRmFcEuyH>x_g{`3D_=xM)33^d=JQ9cjv41Hmu%ZgM--4d?I*r=F@Zd9tT~_e@HtYO z_;0@VT!%)BlLV6dhu!ecNx$>BgKPTD6}b!NUCk@I=f|V_gm-_#l^^x>p>H**cS}i2 zN=F_&nU<99eHTar#H&f~`LAm6g+-F9;cTVhDz;EsPg?u1C z*q3B!&B3rc{p0l|a5nKbX-|L;0#D-$Fa7L>QB^FLYt}RkxBPj~(YMg@kne<0W53Iw z7i?EP$hKuIi7p>lg}*c)6|HjOx&HZ*x8?kDi{JOCI#4Z?>tOL)%x5V&6TM33XxPcC z(_d^m+dqfvJSh167^|!gRlgT69ZFVEf#&N-OiA}f-ehtKC$XK2{=UO$cCL?<$_Dqw zo?wEi{47*VYu5&ZVbk8zZJyf|Tg_j`At^4%fsQ^tltR26J4 zBkBNK9achRX)Eo-{%|j7i_-nRnP9g#P#dSZvZ?jD;-b?(UCNfW{cwN%Z1zLRVP97H zaAv{~CV4dTptjJP-o&S}%K1x_@8Z&Le;RB&m>t*1CM9ebx5`k@pLONt#1JB201#v_vas0bN|qLRDQP51 z!o3!p^YXD`b>Z;T!N7eL2dCtH))~U05Nz>EzMj0!_JeyG6RdRN`1|?KwE-q|>3I#0XTl6oTKf@5e+f-!7@HCEi6`anu-;KX!}HL%-uoAN zy_-b70=xGhkld}8&p2fW>G#SI>H&{fc{%-Ur$K!Kk-1zZn%m8o>m z-jC2TiAv-!%6U-)5vSc&)4Bvjo|*_R*=8$_;=HcL#uFscK7Hp&np0&c%`XGvWC!!n zA7%2-!=vj2EVEI~Q<55v(BGHLC$K@XQ1uEk#eU%%8FZ)pztZYa+I zZf22gf_f-6R6Fl4rN>&rUXf-IIz9i22N=qkNh+vZdges0>hH)`m9VMiu#b(JC_r8u zJj~R#XHd{!=lD<};io$DCD2ioS-+;8DcCX8#`#^B4?fO0&uQ*YKPA1KD(!f?P9jW zdFFff-%oS{%Lsst$YHAumq{hmB)!LD+~sKynF!lKap)7x2tcJtVx0X;>b8TzS+15o z=#MWjZ||(L3Ei9cOE^#V!7fFBBG0x5d7Xa*Xt`8-?(}B^ogH_ql%?$0;ly-sKb3%D zv*(H+_NA0?Q%)&*cV@slV_^X1?KLdnZ{u_1i03>ua&wX&o1zQld(OV<=rn=i`xhn_ ztsf|%(Q5BcLd(TG*mW=4N5#1OK(@B8`0lKJ5ap z^ZnNr{+UF-bf@msytd5QP+z}SS7$qxi>aJ~w?E>hU$(|XP3tj1>gr8-d;riFC_qgT zqXwKOgsoEf4#S)&LZhVN+e+poLPEs13QpWtDbf* z@je|6yL7UX!bI&-$-3(yu;{cd4yf4-aLl@tJGd>0hBf|*5-Kt#C`Emv2#CWA5y{qZtjh%Sfke0tREY~${3z`PZU z|3+-X$eN4e-xz`rj6pQp~T>InrD<6U89!C-D=_{C+t34K{>+?vodrZOBUg)a| zQ%3xl|4xA{%W}snw$ueNZ@L$<-#fT;L_=6__TTbmW9A^{yA~m=w$wTNM>!`Os55h% zNhTuHhgFy{OJ9=KV<;=L?3RMrYgR2UwY#x?#BX;Zjwr0~EPr8qm0b~~)qwnt(O$|- zJz=)6yY=ck8~AN1uTzjZcG#)s!URCGxw9-j+N*w}=P!T<#QPpms-<%3PDr_tO6t7oolgPXl0Nb3XQ)eX!&GMf9n zgsddP2^;Dju{ov%apfWUw2*$}5p<|O#Pikec^q(g$Vj=H5o%aZwdNNu*pPv3FJl8; zOM#|+AvcNRuW28{u}0Fg8L~-=d8D3B-IEoxr5wW^D|4U3hlbHItv$;mqv5A1mRxl$ zo@*WdRjYpllxk)Ej*NNrRY18CGoWk7Y($w1>eHY!Yt%Bf9G~kM!WVMZt+`J5H8PF{ z!D}Fj{b8}$Z%8e^`Xi&oW;g)xcYp1yd}e@*mYJ2Lw8XiBy`^~*YO@i~B`G)el|Ah-zu5N> z5mn&)FArg^na4)}7nc|k5p7i--^Qf+CrPW+jz;#of<{y%Ui_M9ofG!v&06aNE zuk}dkq2L)!U#IWrki3y{Z_Wcn2bSr8sWm4#3wi1COi8)J?n2$lxj(a2n-b6NbPE`M zyv|DY^ngBwCWetygVNnfTQg2Zl0JNPYnS~iDJ1w&mV0=StI+w?T;gVEZxxwewndxf_4+vjo(Xyv zUFce7@o5Ott>Pa0n0k?38Z7@cwx)(+FC_Y#9M|MUsJq4!YVFd7I?{@H+b5B~oe`(& z7Yt5jG|Fjq!tWCtDU8U!Yl`ML20@al;O#jB5AT0T)NwY{S?HYp*SJ_K9_Fo zedX?wPATNIyhe(s{TY&e&+d!WvT>TD)Y!^vmRvdxMusda5$=gAH*0h{gK?jRqu#vf zNAW9+8A78v7S!>{iM8P@a!9N_GcWscd+cPk@cCnfL9Y$U+mW?7QwnalBjGkt(~qU_ z4G+23p;lEScYYp7Io@upzn{2@70rcKvgcV}y&OXAop@^;Xo5;>=+-pNs?E7v{>=InJs!FAzdX6MY1LkpRR)YRzjJLc%rlxWK91kEMm=S z7SLcCM6Zyob7S_RzNK(-+Q!X3ZI=f3v}d8JOeMMY)mnihKH4U(`jq(td-X7@&9dF~ z+t?5Jd%l2B|D9(d<$qI&oLHhe%On1x4ZHpGrCN}s*Qj6C>4jvzq7sLhWBRtU zT4Z2c?UBVJ6A|rzwoRgAGh8@Hkf6Cr^JR~mb=qlN6ZMo#<76*Jxq6HWE7aTjnP5B^ zm{Ax$qc2*LQ*XY8iIOmqB$c|DW{l4-G-JO?<5`lgNoWw}G%*Xh=O@6hXUNatoqr+|y= z^23)1Ug{aM7GLX&504iy+uU8hR?19zve1MTt~M(C7WeHqfrRh$Y+=yD7*Raj2KB}UjUbIe=4HG}$LmblrQZBc;s$Y7g!uw|bHEe8a2`W_|xu-)oe7;zoO=e4;W|!STdYi&;M~-P7gc zkPTlPOzr}Xs_^Eoez;z&cK`-e7W_;KECidm=GCE7X-|*2X_+fHJXLIC&bq?PU#=pI zYh4b>CuXfwKvzSvHZ!^2(Gh!)R1}e2r233}ZL4=_Rtsn!IX9~N*3DQ5>QRP-;dIai z!}RS{d1%7K%j#Y6XR2jnYboT??q-gt^iUhVu+=n6so&&uI&v{Wr{Hog$yVUouHlKr z`QwN_qaX02wuhB_YCRr5G==EvkONa?x7Zv)CIk(*N{Ty~J<98LTtr{gVMW~_LeS#& zyRQS{x)Qth*xQzllG`Pvkol*k+_6jQ(7r+x**Zu)F^7E#vyOsOa6d#OBw} z@3cF+OR`Wusm$NFZe9`BO3tNV{`>};uX*9Bw0oEX!#PgA;N3Hsu~mSZ9q$-o=&Bt) zssZ*hRAXh-7~{G#ISS>eEGwtzahp8;m@^A5B9@L-+T2|mE7pdUKwC}iC*t^c*+p)~ zJtYz<0>EA*S;ml20rBY&?1znXzcBjR8BV_@v7?+qE&~JCHqruv8a43QWLsd^;h9WF zKP7<#aP-}!PHGAm$_;NQofxkPVr<*5ziF6Hhz5pwwm)@cl zW=2=xrYP5;y{i8W+s)?~A;+cOPK)Q@0mj}Thf|Y>AeTk0Zk{!N>0HKinoskJ8bdYE zwYSxPRK9Oarq(ZQm)r0z(DzxPtV9p*f!6;&^x985RKjX(l;uxBHM&WYMmxrZ; z5$aKxxkDls$c_P|Aq`2`&QUIum404I>{g(;9O*HYQ)Ke8Se7@6zXsr`F7&l$oTyn# z1jXiOnY>0qf)_l@#)CGWub)3W|D-3P>o8@yK-xHek_;?0Dl;eM@1Lk#UDlkC?uG8K z&#q^|+JOjUwkVN-6vCx)eOORi`WUtqr6sU;>nl0#=2*qBNpeId^Vu+5vo*?(C^ws6jb{{nbg;rk}*=;!Lz=g>dv-B?aovrM^nvw-z*LLZ9AmA;<$_zAG* zberD+Je#RHJxu9Y$`9+iQB2hxaCsncp^US)Qx~cy)v5sbQtEYk zvz!ZTT;I-jm`nlp;(~QDa!^hNl6yRCif#wex0xJ_fPOfggDidjtZCD(SJIm}Vz``R z_+HPX@nuw=&{C{FV~^Y5@nBu-((geWnHk_8n(V^@6lFTKnw3j6E z^PVp^z)?Mmd`@*s#iwI_Vxc_0q2U%1#-#;Eih^{n=L;yE^m-|h#m{D zk6ixpco9i+;_*l4wt44B*5$59D7D|BFN?fC?uPmA=;eXt!54&kT>2TdU!rd=?hc?i zZ@Wr<=)rWlJtE1ZczfOGZ}UeR_@iKY1#{1PML&*QEr%^&uZ6{#cqd~|Kz0HmOiY>e zJRMEqV(_ZYufGvYAT6*x#gLZrN*YvgoidCqrBxlz5hz)EXLHNe04$IBMg4=2D+&>& zJy(a#wnxdFf)}lh+tQx1i=4d~lHBva@*8|<cd1ykavRu zp@kOogFd1`#BiYr)$jU*jDmPCKPxiGZFRt zfclk~S{y3ummfXn9O z$AgLz1UwdDi-`^@wt3~35_oQaQm;FjW==H|(Z7Uo=80sB5levRTbY^eNgFGZQL{RIiCAKPKNC#i7UTt>}o~F^CzugXS zsm7K&bz$N$iiKY-XOYqp)q^9^k4Hgl;r=tv{DG=xa%SHXoFDw@qew~L!;1O8IS5b+ zT+7Qs1s`&U?w`^>+$8dy#&_FC>4#L++QPRuMitnKQWk%U1FPy|=}!>9#fMH_)jr+y z-EYtF{jk!C&ywSk^&BwgjX#9EP|iWUnne8z6@C6lljV#PRfyULJCF(eKX%^W~EPMM(h}WAlL=& zOGuWD(SYl%SP(ZM3&)xpnHOpwKP-e2&}kP=IS#&12NUTbc9DasZavKg|X z{+*hr);a6fVb#YOb1}uTV;pqPc^)tmspLDsg zlgwA}k7en#5(>v8KJ*b&zXMAArmc^}ifjqz-d-d-=%zCxOf^TI(p1bxvqI+>GGpCL{ zw!=n2Mmm_)|4x#&8l!meNw^mtD!QD!X^sW6hruN;D;_f+AtzdNC4=>h56M`LOTaN_ ziH=^^CQolUbNI*17P1=&kN`dZ2X0Etc%0p=eS9gb$QF*jkuvXPC3>IoLG2d`%}M<2 zU}O+4b@o$p*>VS)LKSz`SPFrU*J}m%Nq&ki=M8!}=}KziUvA{`m%TF}rUvKS*3QSP zma4Q4BYjl*MY0YDV!(uMP8P3DPa>baCyU!7Zy6ig5a^dhnv}ssH0txv?j>{>(Dk9d zff3N&dB~^079_q7J8A#3@9cY2GkbW{0P0WxWkkxsUr||K<+lVn1!oaUe|1P9#YBhx zKWB#HX;ObV`{;0x_xkt_5Sz#-TJUbX-kRr*F=gGYME$&+TCewX3SoA%?|c557F_L1 zKpL;-{oW?b;YM4Y4PJcE-im5fvAv9=E6r*7(kOP3SP1I5jwuXox+qPqvkWugSx(f) zo=>dt7M|10{OWaR-M!P&_reCbs{dYA`r!Md`AhY=@r_A&nDiJ^Yl<~qKQ|ii#)z@*8 zlLa5b=sR#lgKRh&r6D57fRC(#{btfx-bzx>2-zz&(&^V1!9&*NgHFm8yQB@L$Yyrh zxRgNP0PeZT_!YLB`)nA>wK{NBLB(>=(#(~IaU4IaFIW6B!pOX4H;Lqad9lhgqM92e zdGF-OZ{k`oq<=u8Z2ZcA}ossvj56oIZ6dreW>e-6xALzgK2D)-dFo-MTk))5fzxG2>%V7LL zeCi3q)~o)tXwIbx)cs-Rhkdfle%U#mKsVx9FD>i5APq#!s}SbFnw95w8J)cKb}i!e z^HL<*cmKl3O!jq0t8}9+)2W2b?fUViJA65NL{8YpwDq`lS8>z2rMDmNeoa*6X7YwE;`@{eOh%Z8|8h0^0*ac>znJV(Tn z@17o=Ize98q!S(`HWW)6Z9cTLTy5?RBpGG5a!16ksPVoZdBgTz2g`FamZDnnX5tIe*7*$!w(a^H|G* z&^KNcAfiU#{5)4aix2WUXSLRHz8+p7#XDN%sC}#&Pt76isz}eLQod*Kg{8(y_UKaS z;1jEttaSU9sW4?JUHi2SRad5@Z#S;ZI{+EV{U$nijpBiYaT!VWwg8Z=x@^Hk?aC;Ncz*r>iOc z0BGyIuFaQXn&VWu`{>kq`aoHc4c@B1w6f-=d~;JjGyfQpa-d}^bGG0U2lLf_N$N?S zp_I_DBzoTs##*gz@6)WqwiI@QGIay|dFDnLMc1F)Cak!+Jb|p4tz&~W&++H=jIN^i z>V>7ig($d*hVm;Wi!sNAbunjya`(LZ00xX=>AXt+Ajr*k1m<_zT)Jd~TzS_O1u}S; z`r6f{9dZ#hi=L%62!s+tkym~=li%>m%Ykjj!x59oUtZy$6w?Or=%N+R5&r8P9!HD7 zlk;y~k5ezx#Y#q6VjmEhmt@jdVOC$pqM2g% zYt-{-n^KHfM$297r3rmqZj}1mgfrQE(QsiLQFKfd#+wle1qw6rF9ndya@om@=FmgY zkU#9SHR0c-eQnRhW#zLocc_Hpu zKh+Y{Iyes`77NTgy30JObe}Yg%b{;GCSkr zJJw4qs5AcdW)Wf>MbxA5&Euu#I-C9umd!jvDBEUZO2#_|k1nf}hr`wBm3;5nMT&p>tKlX9=wkrc{kyN&vCBDrAG z*}D4CLd#$JUFhU#S_n%cLH;E65p@ss`vgTIx_zPqcy98_!@D}0$j{Eq^~UYv+Ugx( zSJab;@~_hEBU#>(ASy5R`h0G2Th{p3(6O?5d-Qu+@z&y(`eO=2=ILSsF$7tMrB5;0 zp+eoXOQ5H+vV1njGh3Tot`$L8!voyv(EeJ3iN^-8^yrrj)Rh#Ia6VwHx*PY-?fugQ zzUg<;{3o#%cQ!+^2?JxnCWZ@~a~j*wlGQU_)wASBJ%LJn#PY!bb>}NLonDh9=?3V- z?1ly3kB8EK*PR1Ip(a6~3dpi|`cYvPl2rPN$<%9Qz;|i5J@_0(AR}BJN)4vQemWS2 znka)9B4S&q|LfOu+-DfRS&MG5C6jSrAwuFEk#0X%f|-0w%zGLqTxDax+|6-%9Z%|T zq5o@N%gag&V~57<-Uc;%!e>Wf6_->e-M6UqFbraO6j%JzHwnv;qU^Azjts80VEfsV z)2j+Pc{rL0D({9L6j{8DJjE^`b&-oOZO2X7n7Q+8`LC(08_9+e6TVHc2~UJu+@12A?Lf$gQ)EzCyuZrC>M>2KM7J_(IeN z_oktwCB68{uiX5u7;Kt0a!(p}NN|KV)%BXp6b=w|__j}5MLdg0vuj@EAiR_C z6s6;^Nw$AxxquZ*X(*cgfT;h=TbG*7jPnOpJ(v$qP61RmV>beM#m&jaitj{&s)0|( zge*TiP0`6ctNMu<_{GCED*uQX^G5iVgceWKl|!@uony-TPM*N9C=1 zBXC4JV@3f~b15~C!ze`DQSHcB_-<3@>ECgn54?A~#ixuS?kZyvdZ|o4>25#k{#X0p z&(}s-Z!nQiQ9qRCQ@rT9+lY#ZU}7wET5b#oV-$7S{$;tJL{mdvDx723DIXSiK?y4Q z$^2K`b{M%asCdHK&yPB>*sJW?*e^yLr%uo5%FYZ!kt6rV6(rb0CDhw&x$M(kUN;TV zt`Gact_$s#n^HYflpX1KBQfhIHidbt>LwQrGTZ}uftK1&oX4$+JbVOV&e-FI$eo}d z#aT^^l0ui-#kbj*y6j6|PAP$k=H366G9souJ3=3iP~+R*rxgfiLfO}wb3ZixC(sXD zSw1%x^#w8z+Yg6!oehL3x3`i@OMCD&p1(DF9tM>p$k3WeJJGtF)j8kc>8+S@zRnX1 zaFlIqPZ%`}gq__mae0M9f)H}j*Q^f7?`J*0?pf+0>!lAp@JE=WxCu2!Le4DpMVXGJ zGyd!FFp=r5v2Oacx4`QgYu0GN#q#+ZxC5``U-mxgvMX6M|DT`#s%9+o9igf)-*B+m z8aip9v+6ikEuE?QP-CEKWERYe@64(zXDAuFbci}xet0!idUMLSkS|=4ACMeh8s;v^ zFK$gW#oJJ1V?s=$1wym0(}_(l9VuuMO9s(4V)*}BQcZu6lfVx)Oj(19HXbtg=}mk+ zu_88QEwC;B_50H8a(ZI?h3m%OB;VzFx@Wp8ld198gSozPa)8`jFFasN++U&o7Gn0> zBqV_^>op5jZ&DBwQKJWiA*bLHgz2!)?8ZT12cvhr>Sz6YH^p+b`PO6sO-1$IZkHp? zWylhNYLqVn`23t-)IO%|+e}B)OZ)dma5Z7zeH_=tti!_BEO60Kr~~MVD$P|YvhNS( zp$_sZgGOK*9bk(+!wXV*bq2vMEyl50{fuf#35k&$e_w zKXIQpN7HW)<16kSD(;5g2K=P&p`OgbQN8cVxeRR1BI@V9QKZ|)QfRnJey4aF4EeMX z=55{R4-4(;U!jBrm)Rt#N&tpWzOe;|H} z!BiZL8eT41rDGd7K{wd=ZbBS_%7(fN_fPBo^mz5AYL-2ktu*q8elo{-E)b0_{Bkh$ zxv(0F*!7d!|Ct!k1}<_`c$#!kSRZR)8hZknb|Y`6RAhh5D|WGDK%n}_|5A6LCtOS{`B)3o=|Wb^dKjyyzITdFN&|%_s5Tnwy>A@aR&B$>fwL2z3!6) z{v@ViDxVT_Fh8l5ny#<>H}}+mpwLG{Tv@`eVLpPGrL31|mmdn_3?Tx~uTYCw>Fsn; z)W#7wFbXVQ@lE=#s-dJ&tfo0WwYJveWwqLxuRTMgS+gA){E{_0Qs zJ7#jqediU-IKeAC&*7h%sodSnDrn{y%~@AI>iz~3R4${TxG7*ZOmF#A`dD~DWAh+9eMM(;1b*knnYbL_)J;zMP3wgfX&)e_`mkDl$kl!Ls%9p z75SNlncBWpu-4x;lZMc;wYQkFTIM}i)ygNy<&s;}jA#)2()wpHVI3`~d>a zKifjT^*Zl(r6YXM1CEu;Av~^gb^gPevE{<6%}3a!V~e20g9|Q;yyFXjw=2F3uV~o! zPVD4I9UJdDH7#0N=OX|UjoU#uW<=FBE-tN8Z&)!^; zm23v`*J#-t{WhcRw45GSR=zF2H}iOpLlCeVG0V`%c1p=-eHkZRg;1tqlze@rgH!AG zqy>b-9i$zzgv)g0m$x`>p%8vYJ*R-bF zwa~i!w-poA3g%Y#^gZ2=`0+y9C=KwQ^O%o^tG`9;E(YglO<=n`7CWR<#_DvwEImSZ`OSIB%-_oDHWd**So z+P)ayxyK^;_VPI3B(6)=@r7>yPnrmY(Q742`e$(@+tuQr$Tpf1?8J<_(x%3MngsBq zSNi5*Lb{)f(?NxkP`1;P4_a$ot}pY;%8trHeHDjCFT+Lr?!NQ-$D8FI^Pu2+mOtkG zSy4C6=AVVWPq1qHkt9bI(b+t^1e4p`{c&$@NX)~mES~;&+V5hG;mFdc_111BvrFaetvuK^_pEJx@D; z8~7FAdl`0i=xNf)i)lln*ow!E5g$&DX#TOh+Yigvm$kera4Y`v{?6?Ccm-*;wuVTG zgHju2SJ+jX*I6e$!hBRg&xY9%+)}<@gL!5vKo6LIZJZUGg7|R13^9L$5i4J6v>k-q zCYJU)yIlNJgCf8&Q$fs}F#Mp`89~vpa;+n2>%9ASX!%P~H?PNwkYH=MLxDS+ta|hO zePYorsiE!<9|0a_9<|eo;yHLasbc1}eTSEDorPeaJBSwYvn5bu%R%Ebcc`%^d> zh}qJ4RFK{x=X@Lu@|oJzp*nvXz1qm92)~*NbVYI_62MS@uWz>V$A48Dx??Yii7jg^ zPH#y+*|}PBPmZU$k*aBkXUHH-3u_d_5A!8!Y(ET4{4TvD>aJ5?1t}_gfN6JI^!Pjf z2(s`LRim1RUC2dcm2XqeFUG-)Cn<)=%3;w+{{ctFq3>dStHM#@fJExTtmlTBAM7D1od0q%#hSYWf(iDLTD+c?k)~b zt>eMOO!>c_#eR2OEimrGowQLb{c(-WkRIN^s9qtWocJcNg3(g*8i`G+Ji%cl3m zKDxghR??cEn8|?X;ec<3G2hB(Fu+-1E-|wk4NsEx@_cU!2-TOBmG5ZG#S)dF`|U{* z0LfABflJH%2k{)3pcLM1#9axe{qmI7Af4OiI`i6^#?!(QV#H^NG!yzKABViL^Um-{ z!2Dpx+FeF{y&XqTYF5s%tc}S_r|x1T@Wp?IUC)#0U;{UQPOlIts zVbIw`9Oa4PXKc=0y^OdhdOpe6)1bS?b}}7QT{7m=%uX{t-~g|0&yaD?!4W?!;gt=T z=&t(iD%|(~t%`)xlMz7yUT9(b01@Uqi+}S>l#TIDY*^peRq?q#O-u< za_f9eDSf8t#a#GB39%JO@6xHojGWP;7y9L+-wm&moREhV@FuqTN9VB3vSE>6sd}0_R{nk^M?{ESy1h;{Rl@GUQAHWq!#+EP|6&1{Z=ehU zmR09)JI@W0GUVoJx&D+Au{xJ!L={`JNo*4lJLe0-W}Gylz<3$YK*Up=Mn?v0Z}@1p z)e>Qq<`UouT_gWPv{zMcI1EPcpMF+L)iUgtt|ytWxG1)C zrCKu(=yI=pH<~CpAFYWUxtze^>kLXdW2W@dol)$VCn%dcOIRWp=@Dq+G3sx8_PK7E z98Uxtew#`UrPPSyR(`FUnNiGrHIBV1==IVnRba@MG-$s?$`iVae=in+veW*(d~x#jMcrLi}wa18zAwri_-59Y)8s<|y@_Wtz5&EsQEo_xa< zEuN^r41(!>-cf6`BrD>>^XcQ_)5mc=m`#GV-q#-aAO{$HmVU=C@V4TxY$RSAEK1D$ znzRZu0S~rPr4CHE593>7+{u!BvivqW+rC;FN?tXN*QvHvRkp!R0>5$&knbJ*9vUSF z-uHBVw#m~OR-%b_uA|0k<8a_V$CM6+JlL+ zvs?WR2~u^2MV=8B{wb?o1;266Cs|X?uzFLV?*_J|+))bL{5AUxA0c0Ak3MvROs6_| zGQm1HdY#rA-0isxB5M}6FSnPllF4Zp;lKa!Po^u$&X$D&5ETbfH=n>6Qa(5}n|iwA zJ@IQ1S<{}j$3kKxVmFLE|HleF?QnmK3_x~xqzRPCXrt)nYblYsVVVhw@+o+zx0 zpZ(*Z;Q&Ipko?BHz|Kux;9ldB-VOdYoi;7iiG^R}enaF>dngkOl3pxIrh80W7^K}k z-6P5vN(*dvzi=e7KHl~bdTMq{&7gL<(U;Wu<(skk`g*8G=%e>1>*N*z7fg9dX*N$?QKuk5 z^7N+DG`W$tcQ=BtVAP{<uvRpm?AT#06C+F~< z;o&efX|ApWo2J~a@5B~C_v&WRUzi^Bc4N9e7EKzlvuU=xvRuW^5jSGPCcX$fOOuig z#AY0N8Zh5S6~c>H6QDJd7iXD-U*0OI&x&|1RQK`=H`!O8rs4hbT|TZN-6Y*_`U2nI zrP|tcWo>#A`Cd&&^{5yXDZ_TpO^P}!_p#iT%;_&9`t{$s(K4yP2WA<8IN=?fqh@Cw z+7EM)dp;18WI993y-_T6^-OKD8Oe{QZN26=4n`PUcj0wzHiC@W53Fw+&dASYe9i%= zl+*SLCh}-yO$$k%x7Yuam@O84M};PzXbI5Uy%ehhNYVW(m+)kJlu9=EVXWlQ*Pm3U zbX3Z8oXMxU65f*yotxC7pUw!?39HinbkD#N$fzto70o72hjE~_m?_iDI~7*S^O2pN z=j9E@<&dMhPkwO~lsn}t@NutYKc(E*uR2>>YtLB)JmXJ0DMKz!oOiT3i2NXD2MAz! z-=8YV1H);q9Bvi?=F4DQ?HU!RGTR{#Te**Oy6$$7h-8l+(*JnM=m`lk(F-Zr3_5Yf z<7D5OnfG3->kS!Sjl>ceLv$k04{RvC6{N?1ooAMys#qB&s*w|a85Zh3j<}95=U=FG zXOOg?{vY<<11hR*+ZH8*f@A?nMN$+*PyvxtARs|pI`0{9{|0 z)IJa%g)Jckl@M=d2$v=%y2?O;%j_b+_>f24QJC_-IIsl@PY4+{K1n!qj^l@c_h;2C zSJ(S&bRF2$?E22WL@27)pH?G_ytGekArY;Hby8of1zx)kZWFNQ*?|qN1kpMOn~M#; zhpS*`w9!YkYk80{5rsN5W9oOIWE87D_mX0T-{XcdRiAlIR0b|efi5x-ek9N#Kz{+$h8^H z(dNP{pphnSF;(khFAp0aS=N2JL(Zmi29@DaaH5-Qg&&^ro=XITcgLE*7v;2lTw|a) znf*j4g@wiD$@LR?E}MqTL$X6e=h5=O`za5qt`iPQ$8zn*9Nh4MFmuta)LNOMI5*HM zd(TtNy%e-V??BDjAj3<;=eTk2UOE`qUbb7v9zVUDl8JC1pHqwBOxUY=aazZ2u1iCL zPI|fBT(vYmZ=fRd&{*8wX-fzMBCwpq(|PW=^&#JbWF1|Nk(wAMlG?b8SK>6zhbt-qUYFF#_eOEbKThDLX9i%tg#N~GI z_-c=EHG^vgZ6957X>5|a`;L54xh%r#VsqRn?RBkzVb=R6m#jaHO`SK86+j_ZeesJ} zSU|$m2^MFouDL+^zdp>%0bO)_>i%t^5y(b4G%@eKeT`bCjcl7CWjNrRmah7E{`;!= z4GVS^A;~WnjZ3;R_g|dv`d7lJ4Tx{t^E+hvL5?WG&y)^tw;pBwaaFIWS-kSM9yElW zW6=-Ew9A)@okEm^Hc%ndJtv1i0csA=H_182w?)xTY*44+4(TG88^9-3n`tU;ADaR% zzpt2lM6pn1E3qJxVxfj=W%nGfxNf?<=LwkUZmC+3TMu-tS4u3`(EJ*r<${W$an8V4 z0Iz=lZ-!LVq03hc^h>hof|vB}g_&){l%we^0r82s;B z_O+}$ssxtDcoX9?!!9Y?S^Tmy@38=<$JlpjNHe$2c`9853H@s5Npz8lY{`#v{0-Ow z7R23*MrUHL2eGnkYBV6vXu0~0Q+MI#N%SBnd!piXWIM72_~%bRiSX@>c&__(H58~} zwA}~zO=}R)gLabK%%%4?<&D&FcS!6Tq+t% zs3LJw9&S8h0N;p41TKibC%Nn5Ne}9YxnQ#_!JU_O?I@>Pt^nMu(5pC}^na#VCldK~ z%A}aBr#~rLdSc?TjwH(J_6SOv7DCH9?0D_ZgU_D=Bk7Wu&icJpw*WB< z0j5K##?^4T(m8<_JO{@-H1zmTW{IYeH$-@;KXbJ$C%vo1U-}vf91T6XEm_ z>Rpo0A3BpC*bQX;v0!^B<4dSwHc^J^OKI6Id9iLg?*93A2b3;YY*S3a>p}Fn=M>=T zr|GKd>j1FxP_w|?#3)|1g+WAsJ=$VahwwLOTxcff z!Y2!TbMN^`O#LR6t9SI2W{Ws|#BFZnmgeo^I$L3)KrU|3ou}1Q7V&}IO6{FUg9+bd zrTG!vun}Z*m3-6gIxgCNqQa~C#C?N2dc007tk&8MKq$}SHs|@8Kf^e1UeGwqq>Ks1 zenFo0N0E1l9|qWsW~gM>X-{`-!mUl(<7nJvkfK}ti>{d@G3K3taN>2nT8M`T)E9uZ z>ouLgziMI)KQr-!w;A=S$VO?de`kaj(h+}}opTjn6a`n`e#UqJ+^VP7U$^_)-3LbX z1`d7C^L#qJ#`|o<^u+y?hL|-KJX{2~5E$Hg1D|yb-IxKG5-AbgdU}o4tM4Q?1^ZK; z)4|Ucl@vdR=r!H|MsmS^FMDZkfoDS-dhT$k#{fFAz2IjFh(1Ql7Qd+&=-X{&hK~kbd)qjah)c|D3aedPRxt@M~=`IRgztC+{pNx%OLiKJMh=M#JBMATA z2zOy&u)XW(caEHhnBU)6I63Cgypfv0VIUQk!N`#F_0;sASb#&vp@c{H)0v9h_4;Jf zwc&}H@_x?c7>=RNjYH>ksZ6;F8<+9Hne0>3f=yvKgB)}pSQRK7_dZV!woHd2kZQjQ zEt_bheP({x2JJP9Nw0U@Tx@bj4k?)7Ui&yB!ZLqP`Ew`x+|R(jN=})DH|ZU3&+v!>ZELI-1Yk z7iIkhO^~9g95&r`$2n0BufWT2+IhSQ$GL#lkG%0($ z=S`LqHh=0qiN*LWfO7Z!fOPP>cuvHBw*Jq52JY6IfSnm+cS*2>8CPU+H|n`Z-!kie zw*Jp}1}2#XUI(+lOb@?=*{JzP8k{eUZ%IWnKV$OhFS`MdgkmPxEgbRHR6A;Q3qvmB zu$>;(1r0p5_ZG3nBzZ1z*}ZF-wRK;!Nw*-a?B)HzQ-ovI~?pjRd^B1Qi%*=h*g%_sTILTw@&T_dn;!#u#7=q6}L9Y3!S z|AXGBk`ZSm)iC4>``DuyyX|+=pG3x}3WY=y2$f6gwmk3BXU0>92f~?06A*zj2EH=} z+k1)z*t45~=5ByFy_(T@O858X_1{_B=Sfqe-|^|*&45~(HvyZ}WYHgBqWx1K>HGsu zhj}7s?1>H2+64YmAhXT+W3N~U0g-SsmFIK3@*7GPlTIvACs_Jq;zQfE!k&-=PuOik z#shaTHepbZAHu&;^w7QOL-Dl{Y_E51ZtW_OM<-0=5b*h~qTU8Z+Z({4l%676drc$Q zJvascJ!%nt1MvH%4?OzA*vZ>mkSB9SIs{mv^1o&I-oR>Tc7E^UR{iU8LveB1rfCjv zbWShprJZre^_1n5n#c$+cHu!=kU%jtfh!{^t^tWK@bAJO1y1+E> z6tfpQ1Gegm@I_#fZ3#17ZeX;`6Q=PnfF1<>>>D|p;|u^s4DqokW~fEANiY5~wslCc zJpHVmEo=_QC7CLTISBJo2fapMt29-2;5W`d8sDBf!&`2f7p~$t8|*pFC{T)eUhjS2 z4*U7_*Z4-p1Fzj9nLij~5d|V7m1&!1o}Yf7)I;&kp98P*l;7cQI>0h;uKjl&R&8hM zTf0=*=b}4y-$f3hvH{`sn)3lrii2Yn9M6-Ry6m1_TYKWB(#sSU!r&DoE2O{S&%MWc zLk0$K#bWUrL=O)?<@+}_1}#dtf@YB|h`?SFsU`%zfe78OtO3Z=t8eT_B=zZGRJxyn z2pDU_*Jce3u=@W+ZVyDp|jXo<*yqlI;P*8zJrWc+ldUTkVenLSI36kGWt6f(=07 zt3L90>-bY|kb5@(%6t@MUE%8`>5VuH{WKyB(Dtp|&(NpaL`RWhuwRTGen!mA<_i`E zE-K6!!`jwqLD27Gh!5vm$_#8zGt6hkz%x~yU|0kEzUpVJm-5P3_p8Oz<=dt z00$YekWd0MOqyg@cpy%fb0` zpj@1ygTOLuX7PY83=eDi&lem>2&-U$(OFgv3$2bU{A!5Kujz5c>;UPgIH0+bC3NKV z5ce70Lp~JAoG$@8G>||*)J`8KdFkMI`d;HV0z;D_r25{57XiJ;40?VpxFQU` z5Zc?`YXKO5&f%}1CYoLnV(!D*`;*e)(})L{EaYKHn$R3F>R!;xfOHrz5{y3d1!0$c zLw+QC=kpF=QKnA?Xz}+3IzaW)IaV==Qft8t+e4svaKtXbXU?{{^k)dH_fD} zaR7Q~Q=})-=Q3XjLpp%MRX6~t{?u$6+zPG%MBS49m8cuw!EHiVFt}QiG*!6eY-7ni zf?U94KJkDE+b8Pl0&;IfzSX7@h&{QRqcIplPX9lU(E68}a{q(VSK$C6ZM$-`e`vr} z$BwF${klS0eE@&<2y*yuZXppp+xq+1vkN<)`9`X|DY>VA;oxn|SjSgtP70HvqgDeX zJ~2f2ytae3*b-F0$s&0+0K6yNSs07Fje(?vc`#gB?CZgeR)DZ4Jo&*OI+C z@OpfkK!(NzfSZ(s7%?xw!vkkY&7rJJMw8n-^pDoV1x1>FVgatCZ^z$>^!&|iltTb4 zvUcw9lhO-sm!^o|z)1+}<68`Gc-Wc?EH+g40nmyo4qK=YQS=d;Nq6Dj2TdXiFU*~~t2 zQHYUi78BZGw}YNr4Jg8HAU+U;t@`}kM)6P)_9?0nz%e)6Hi}$M-4Uxz@nytY`Vaql zTY&TNq>zm^U8#g$yVvOab51%(-Ga%A4boUW0=UYn?*wDflSpAa`&N^I@lOV~G9QUiiMf1~pf?QrulKuFy2kP;UV&zYwW_5;KM?f;n$(EsYsFkW%}5)p!bK#u={ z(SX|kYJh;A-u6VDj5GKakYP67xVSfdR;)cG{j_**a^F=+pDL(;1r)kXpk%(~2~a_h zq>#kpfA;d)MZ=K3_nVcsfKMPUzoIMZ^K|YDBG4pY=;D}5n&9Z!575``;Ux2DO=rHZYBwIf2?F`ZX9P*#%@}I%*pO@r6GsAzT z!~b2E3AtZ7^a5D81l0gvJK#z{d+YZ(e+%oWNH;-ddkktPa&=w)2oP_%-F=B{vL^BL z#Cr|!fBor(SN`UPpBF~|jdwo!9O>h)wX^**e)?B*Rwcmy%kl4Sn;|{x`9*AZ&)nml zlKyLD4mH8aqhV-Ozu`ERl|a5=#2#|O zYs-`OXV~_)IOcg2_vfFLv7Q9*d3J5ZKMYMyoa5&gm-mSocrq4Z0>AR30Fx6=R?N;O zv-{n3Bnz*=&d!tn7Grpo!1Oh&0RMyI?*M}lK2+k*qUyg2sP(9|@803lRfZQ5ex`Xx zd*_qg2(D)6lPlDN)vH*XZCL??=95moSK+EHxc{U!`yZQ0)IlN7TN?Kg5BtZx|8SCn z_`;SD);=sO*=Y5h!ABG%K;YZAfYkTUi7BpNi~JX0G!A8yT$1K26NhH-tpX=}+8N zl9KDPmhV^KlDjH|VQD2rYh9SdZClf`17Zdz0I&?9 zaO+BgJizU@B*K~=zQ8!B$l9m%E=Agj-Md5Z#m?6bB_!I%LVz~ZHKb1gi+W>-F0-^? zR@9NYLT*yI9~`DLxk8A#@Dr)A;9Gn5bspeglEAUx;SoikpT83I<^VQbX{c!e;qX;L zSWzQ3vU%}MQ#A`5jS2jC-hbhL?T=7rh&m1+1zA9W*_gNO*OZ=m`jz6#A{(MyW4j8{ zTn7E_6!B(tu-C}t8X{eFu*zPgwmh;a$Qs8pvYfnjAac0!P+|{7NRZ$3n2b%YNDXTNg?TD zq2U%da9Ua4KSp`>iaL=Ucy6IF3`jfyAQa<3c*_lj#5n)234sYi8s;bBpQ4D%3Fz_P zG$T;MAMnR4s5guLh?DD3Vckb`P3Qr_(;rhZ=L0X!Oc(0Y$S`iWR5z;`;A0T}^J;kR z5xh{6>nlw9hxzlLB)nXF6?%ubf*p0>w$>p9OnGS!n_3VIDqDNazagoA2e2~D`!JVW z9}@i;oKgr9v$5Ia5SewUsMW^TTw*-Xu{N-O}fFKxKz_{n2*5})f=CNGV<%9 z1x+>64_m*Uvtx*2h>}E#)VG{(i})1bA5NcxxJ?Emu%eJJ0C5K80_L&PBZrpv3W|T} z2pF&nlX!ahG%7AVJ4aVxMfh7N-1CD&U@yuaPxjwI|r>~18cFg<9_7ZbRAj3vS6 zZp`PiJJ!Kr22DE#V?YetSb#tnoJJFbke(9!aZMLW;* zal$dDwlR5nhN+hl05o|+sHEu?kO>Dce*cC=hHByLS|MEP9UHAL9OX6~EKverYczrM z6V|Pw9G`(uEC6oC9YeQE%8PCq+7w(ksT75GK&(`c+>nU9Zz?cb<(bJZZXai{b>bVH!j&Xy->X zQbCu4dI$@=PL$~%iGG{hR>7eM8G!k&c%Dc~Fp|cz=zbNvS9lVjiRY^YC-LnW>+p8z zk?mPpQ7lyclArIf!Ei3s?$Ry0$Z+rITaKkLOKz9&JvTi>l3Q6tZ<%0i4A}e(b!(eG zC+`G1kP-5AgU%tPr{~3Z*H{O$URjL89=#Svqjb@NX2ps2o|?uCAYY&Dk#kYHL|f&Z z_CcEdEboRftt}w$dHAjG#@2;IpRZ3s8p1~F3?eu7(9x2+sK&N0Y5wiGy64CDx&Xc8 zu>{(yvuLCwb%xJly4F!DhBOgT_7ZeP8}?9obF89*|G~|MnPgxlbD(qIBtB=EK|;FM z6vGD_dPnRg6MiJkANPzQ7wH9$4o1i~j|CDsfVQWB`l*h>rxT5=-^fW;+{2Lqkg!>i zT3M&=C^vi;#;7`hZ&ce7wJ}=ei6>6zaiRTHo%E_c>LAq3@N|e+w0!^Z(M;jS3kX0; ztGZC9nT*|`bQQ|oos{fpy9g9z6>m1oSQsD6koPjQNl%~aF65uA3e2?e`@VDnon@qt zGeQnzl@cDBPTv;ky>|a$V=aX~0$d(J7#qIaFDx`4G`}pdCvm&h9Cd%I=VNqo@VHZ0 ze?7M#wG}?YZd`cb#=KZo5$8#2c*H{|3+MW>7-PX&B~K2xjC;nXA z3P{vDEsG79z}_J6%UvOqi_Mz%!D}nKkB{!AkOD()e`6)ZBaq-u3}xU_MWeo%mRL#@ zR*_UNd^~g0K+hrCzu4Dgcy0bF&{@`s`3G^C%UGEQ?=iT4oVsYb7pyo8o+iuboOJ`N zK?^NY^TR`X==F-Jsu$#pPjF4ewv5&txEE@dB2%*}tMWyq_mCj{aBrt>#eFr8*&j1^ zOwA_UeEa2`^oSR{t44^>-}29l+fxY3THI~XIs`xeUySm?y07+=;ij53jSU-&zV#f5tYrU zhf9&s-wfpf>B`)V&deXEgqGDD+#R2s(J=znIo<(pEuwJ zetsF;PqfSuk)?KRkY?ea6-U!vK$E`>`Hp!R};KvRJE#l{Hr*;!iew zVi$X>)N)UqpgGg+S7t$~GeHak@y0ixR5Az{y1=>6_~_Xy>6DDax22V3FTEi6t=oZK zR`n#AX6|275TvbZ6|}vpo|To}sr{F_$|^6P=9Y{&AWIJkBjik4D```wdYiI9SJ05Y zo6|>azFGGidM1^e=P58kWwb{1;c`lW4J*EhVGWcy45(Kx{#`Jov{ z{VK6we(U?FGLEC(SYP&Z&uCwLxAWY(wl+gSB4B54pk zI3ykRe{VCqCvFpxIy1sqq518}JAVDoM}-j@~uJI~19wdDEAPW2%|epxztjHRBo+l#CSYyZplFihQBvLd`8g zvC8JY1vd@#qIJQ!gZcnsE0MYMs|N{pJfzJ+Gz&Faia$>K+w>&G+)lqo9-DC&^f+V2 z6IAyAU=Y^ITThlNVC2rn&|0ovSX|MZ;QeNm=aI@L>!F3JBOFj~$n<}o%{yo(SpolH zp)AWza&_r+JJ4tG^q}@tM@hGH@DcV9wz@VWpeB#NCsgD&4fbRktPFX9iov z6edY)9RVao6|fCRiiZ|`#X@==8XFVvM0;o5Ft{23xA_$2Bx}#_E#CT+CN?KE*HXajDbxG%I}Of_|4w3ZtYe6}M3h-mL|eCU`=! zr6y{ddzL~ms&l`4PR7JV$!;`vD5U12)XNomi|?{%UG|ri$JX|@!*U&7B$^{eJ_KlvtK_EeIci&w zCFnqzTA>M&MO?^po-${45C<~idhK*f=lDuq>eBm^EOp1-+^EdYFxbo8hwOlrSmvAk zqXtF7jbCJ!YDByuHCkL@{61%Ui|Y!e7hPl4l`-h*FFT3V$H(Qa9KjOk!_!_M`TM+9 z_96s7m?Dso0srSY-~W|WOhkcyRx5uOK3h$Odsh4HpBck6<{|_)pMD+z)G!0PM7M9T zEK}1JD)&p{lzNW`BztIW2&Z3O%eos98{p;Goq|#!nAYms+RTO3pO_upc|z4y5CnTj z>r&iSpq>ZDLB3>g`f9!Rcwm1DN?6+QM0juhM^zMRSm@S~YYAC;k z4OLxrEQbOH%y*=7>q^$AIg@E-hx38{*9k<#ha9)QwMQ+c+*dUQ4dFCnzMd{7int zV!gk*&F%eua_0Vzhx~KXftcs((ZDKtGmT_tSFk?2O4GgMN|6SKYyIIJ^_>>7SHXaH zVRbn|=yx#Y6$9o896S2NfA|mjYb*g#u`AfQ0Aith8wYDgtdKCR`gf^{+CL>L{=fP> z3RtqFZl55GY*Dwrw_XT*O8$#aKe?B_@9ccU5_jzeEKdfM)O6L>-|wDLaliL~^xo>g zHcfG}-MmH^o&WB(4Dl1(O%3hC*k^)*08NHprU55`erXF)U9~A>$3KfOqK29luq*7( z3H&~sTwTMblp39iIf7ec38LbpP)#lM95~BFz&Wuq&ooddah6%R3nxk2w)~Z)+8lv3T z<~iLEi8Kd3Z#h|Ad2@Ea)3O+?v{~7f<$KoILk+}2@WJ__VB^&OLn*=-i#>>!9Ea;i z{)GTT6X(p_BwmYQgbPnW#WSWO?x*kTRF`X?P%)xh7Il05YS`rq<-JPw`-(gG3k<`@ z@rhekl%6O)In~Crrr{ZW%@1=w#9BTmqn|c=M`w`D?1V0ILkcpqybYo9+GpM~!AItp z8ts(HZ8~$Sw{**)jiC}GU?WtW(d|xmk{QY{i>zHm*QlOAhhE|PPZ>N#L^|Z^hg0Nq z=3=LI3ArnPb;@r(?Xl4FG~co4MxbPaB|d6v zG58ANIEv&B=v}*m#dw}u_0tIwyW*?vmgj9nI|4@Q_4e5cKe`inU!onmW&=%T?>h<9 z@cO!uwj+(Y79{q+Y@nbUA&8uRh70~liuHSO#c!x#sITW%6$qwK(1v+;yU((Kzb?%DlRYJ5=_* z7%%5`_>)W{>*{f;8v$#`{3WU`ASWg`Gf>LTr(K9T)p>GLMb-H|rsyryMxD;cM{Gx` zB{Sr3H&c#1#)FVHQ_Z?OmIF)6oI>NqYEz?riHF(O2@&?jJKU>lx193_EaWu$inj%% zOhDGz1#ftZTXSw`sbh+g@oriaIe#{I|A2^@`@A9%Ep_+2CNXc?9RGooY2tJI=cxDqL%=VjhQ7g@kn9PsWv!7V)H*>gJJTS)a_7+UP4Ab}2sM+vaZGU}{D<+q^XsMzf zVR|0nb!|9;te-=Q8musC1kkOCjF>;vqGNr9BUf#OeK3jAuFvDueM8i_~-67Ze%h;m>{ddmTe3?9v`YjDJBhk&+-~#C^k(K#xuaPRcF}xu_(yT z$=LVxh*U-c6yXPRW%`c&>XLS3e!|$T7~McPCXpcqS67Hw9`V5|hrj3V{yR3|Syv2f z8Zkm7OC)erU4gvfz@dUy zXnr~T)y_-DX56DaY}FkIrE^y&wAKDHTH(dS-D&wGk$NgueZ3?Yoe1IL zXaf)F@D_lz!;bqC*RVZL(^?x*^#_gqaOM{IX@+A%O=bau47cRk}kR?nf7 zonCrT+^NG1s-Jv0K08uU^|+`%MU6wPfsf`c|Ml(yS#;D}*q(%lNj12&2Fvqmq>{z4 zs0?SXH>_uB^ILlySuH9ThP_?P;rFnFYgnsC29a--6%9y}VFP$xB_{cUU+*i>*G2@H zEfQHcsIPvOhT1Ji<#$qORCg2OyF+q*k29PMwBup?5e31V33O6H}|B^q81b}{t zcHA9>Bog6dZ_$jKq#n`1;emc)w`Dj4882g%Fy$_}-X!?umw9fPkP`m=PJvF>*JWGs ziaMNFe!ElK6|&rlVOAwQ-9=^^(SR{5&FI#tULm4m1|x;#hbStZ@)^EjxvkHG!g89) z=CutyajH5F4&BjuKL4W#OS?C(q|=$xM0qp< zkb&`?y6d#xdY^shMX+^@^Tsiclzp<%y5d{Vuz#ge=Y(sY@K^etufiLjrMEc8fuE_G z+yZ>yOyT}O(#&}oUznpx1yRpnK~k0N-j3FZ9tg*W(2&dIIrJmo|J7XxA8ib02>3w3{upgJ*opqIQJOJ`v?WeF`cX~BQD-JT@tZ0W9V~MCd$ZR1tK|- z%*q|+=VeTW-zA!)|0IOuStONllDu_5@^t+RyvcG)`2636luPru1JsLsQMnmV!T4hH zHp2sG*hSWFD)^se*#1nsHFVrb%kz#|(E>p%FXQkd9m#b-_7$UF zJaS76LuRr%ZF+3ayRw;aNLUMlUJVRCCnn~#HLAM^zJ5>MU;S&$^OIr0(Y%L77;H!Q z1!rK75lllZm5N4WTV!|uYGFo9@exvK5>0;N14>mnrUPsQ(DatLbrIvy^@1b;3;wB;zzC|13c;VBd%bnUySpW&m@ z;+H}AmQi*xcW&-JCicUlV;gt9#ayKF+<E4VhIFx0=Yg%72Ry^LK+pl@`>=}zUzeYVpStSR`6tUYYlccS_VrbH7d z4-V1!2aPojmMIUcS3mrgYK+Jo9^oXN_u%(n0cq{}RbRa=q~Yn3UGYf=ym;|Y!ph$; zaVo!LLfmO|lXcJa?ClkSrPuCt$SuJ-r^aV>CJ1x&ZB8YyVxmn%OM=kMu($P`XNW7k zW;l3+&&MLKtsvLML4m>ZxyXn*_Wo?b_!|pzWO9Ba=c%+s187l+F);2v$b4uGTfrDt zXH(PPg+U|GA3Wt#FRC6`wWc06?k*)WA|=xe>Ne;CQDSc5S279{SAt#XyFkLkAG<)+ z%m;Q8#~$>Sry|6QB#ih-{D>CVso{fB`}+(GO55xwbB4HfHShJp3AP^B+SG5 zy%kR%OoC7gI&TF!#9!#%e5GtpoLEcET8(x8&)z?o9xmAR~H z?`jfCl95S#+)V4St5NBP8aCGr-}fv%VtVi;z~ZAG1zE8u9aex3vmpTumc?bPIYAE6 zkCI|U_!$@(OnprAp?)_BcnKbUWV(!XbA_1cz6|yRw{8YdO*ayH@Ph4U7Pd?c?oJ3 zJ__}@T*ddYdF_aB8M;#?^255=naXR1o$mQTs^c_`{3sKY_A4!$yws&-BhQ>SCo1mb zGiJs&)Jr63jseuG4}U4gqc8bFb;758&jP=ouggioaTcA%49|%O)Q`Sm~ii zjWN*;?9CZO=Sp@G>m?IxC**?UK zHP4F$2fdfqB_fgX5$mHH@IhgLsN%d zukU{nhtr4ygkHuY-8FPp;13{w22}2Bcv59it!lYQ%vDUOQ8k5;m!8fZ23(5m4~$1p z#A_hF3M{f+C*d0p=^4$tFNg^fiMFnKC5H3So; zEH|E?M<#F^mosd5a7CLpd=1?{Ew!EdyfJ1}eaJ_gZ=`PfRnbSd4&%cd@6gDtI9VO_ zA5{UMh?Q?199p>Y@4vk+SQf}QDUw|}bV*Q-8EECrwb|L~)p8UiGH4k&7AGq{ffnJU zt~9_NrY2aP&WbeWAYVoL|N=iTp40@VEgsk;UzbL)b$i2u$rrviY?%~&}h8&qRV|HKQ9tWKq&rz@rlbV*C&G9Lehe@ z9K+p}hBX$PSd+aY!|7wy7c0h}3x{?E!B*fE{+p4{^C)9u14`HkpESX81;Q^mh;Ywm z+#@fIBjgQgk!m-`xt^t(dHv}_o>!N2bAcH{+FM-_qw^~Po>Hrw{QFfmX6m@8NG;Qv z{nl~nSELWPA8E4QycNg7)zRrI{sbn6OZ!^*@S{DJGSy=qSB`Mwue!a2HJ?IXTP|Q- znX@G;r4^UWr8JY(Bqn->rNsfvl|Mjn6h5Uqe$8rj^c0Kk`t4FCY%e&0rUOGFhX~~4 zvSgl=+8g$fSE~Y(UBv09B#hWMWJD>!@b^3;$VYcLJ{t6F(}k+tfARPy7VxoQbly5! zgYo;dU0Azl;K*!C4!_{U+?q@jiZT|*aOGpRKGi#|=s0Zu-VybizR%=Zw4>i#H{4RE zhrX^!p|)4Kc4@2=m-gE%%L_igXw_T&(VyvQ%5e(S)5P09f)&S0X;THtuGKPV6Ydpc z+tr-j^ToT>nPRSZ@ACcE&mIM{Xy_ZuQpNlHena!KTq7kb3H^y?aZvk!{seQmUFu72 zu1DNHV}W>f0$X|IGQxPG@(}YT zAuEmWRp?!#Lc|+gS<(4{u+dkXBBY<({G~<2s%NBE?n0i&m9hGKOmNpHF9ogvVZjkA z#+7AsyW=Z4&>!=fLm#a!=}?cPMN0g$ehqA-f6JsuHBuNk@^3tPR_3B(``AlgJ&kN$ zQ%dF4wME~)jp?5=Cvc-{uP!pAv(r?ni2Zhd&~q*}zj!m8@BiHmsXu;HY43|?S55FV zERAi;Om|qAhk&nXDHp-Jr=o`Wd6F3ek2&xkhX5{B{d6?V5M`n24#F^T}dk|8;*Py*mLYQgn3l$s(ED z42$O^UOK_4toU#8M?aw-#j#f%HScq`ds6^s>C>Gmua0Gphz zur2Uf(aR(elgE(8oeID49h0nR-8gv;Sqn;(VO`Zd>zmqbtAz~xy*ub0w=&aHC&1*4 zb>l*Z+5079!FC3ha1xW8pFsxHPf71#-Rj#V<)GA164^UjX(yiLxl?gJrN*JL;l1(k zb?9Lfn(IED18!Xe5I?_>0_&4(GpDA$-Ck8nK`R@qL@ac*M*I@O2`U~ZZ=}u=sk8pE zlK9ucVwK&Aj7Tm>5RQ-MdYT9rs^0a7MkmMRj-?)P6hYMd8RK%2IOI(kDjbzN>rxyGEga zLf03%_qFYtaShBv=Cg>mGYXG_WZa(amk+#LVV=d#Ef)F6NSoB7F$O-xSTcmnM_plg z^faFHSj2=-+7=Ufq+IHuI^rdBuP8})VfWZtEgJzcsWa{jJzh}DUg%8}cXysMfs|dMEkB_*7*@P^96;8}#aU+jAw1 z-n;QBV#D1CWDDwzSI17Uy;2(yj({eV;X5ZQj$c_P<CHsudKe%=U)aIDzr`g?->|v(apR| z-Ds&lTWf19TKmcewuGj7Px|TfT+yXqTH$KY{|gyDn+*(tu}KK!_`@m zn7irS01la@hRzN_%ZX(ZE>3UVtm(Mw zlno4b0@vy}*0c3%B}g{wQPphkLZ0}bn9R`A@zl+L)Tp5EF-C2z*Scl;*I(SMxqU19 z@l}Fri|D%^8O7upA1}Wqz4Tu@8Z{ac4z2O!d?6OxSmMOF5`N_EZ~Vg!=3~6ou_=4# z{E>qD<8}&Lab#&L#I2X+L!y8tSGM}SpJtERBA$aH}-*x2u1^OP-)5_3V z)~1rl#|`@J9sIFc%M>`ujUg3d?0wu$H%7`h5yn(|;V%at=4}ShKZZ0(+iYDI zJ(J@QIe>+~zWt##!KAtF1&MhkdurE{&X}BTRr=jXuhRAx5*YpsGDNJu9BRNk^6exg zNP5i=>Oh@CcJk`{=~53cKuVq{0-m(#qXq)yfAphkBn4 zzkzNnwS6@`EZ*wS7q)eHV0|jV4)GAD+wEH~9Z{Rf;jndGJ>?@UIdOE{%;~xMyhF@& z@~HQYFv`~Eb^|)^a3ldPT}xb?4e8)>;u{$}tIlSu|A@~G9te4tvex3StMTEsDo0Qkb=!y{f8%VRW|EOx3Aq<#9zd>XhCoxjgjz*u?WIeB{sqDR3rL05L3&R@yOEaiYNW?o^D)Sf6Nx*TOKUQF-mhqxzSUvq<8^+-?V`s%biifXD2O6I z2pbP?V|m_qCgWzbUF^c^AtUVJMZx)PD`Se4z4tv@W05^YEL*YH+ixLv!h|ANabDOl zrY7O;p{3?TXucw_EQ=;w+xe_k|LWEqtQUlm5)kCeFNhy<5I|H2#$SzBjGT%gdrcZVK?nhw1E@XH|^EXC;YFr zJoJ>9NNg!zgCDL~EiKqa0yM+`MJlBDho-x-oYRw%9L}b_#x=t>*k0~8b}_LbaF2}y zGu&pS%2Q_)FYc4osuNd>QJ>d{g8SoA=Q*CO1XUUiI+rFX4T!?>W<5ul@v4=^Y^DQU zSbpAAdc^>5d?R_VbBt$?)sHdf@pn|8$h`CNh8|a*ZXM~=tY!pt}cT!9s3_ zpUc_}a_~LPG#g(qEql8&4+Ub9-w}9iw1Gxbx98YAy)rL6UTfM}e(WX~0L%{zU?+D- zVH)bz%H~%ZFUB?NWJg6_=zr8c59l_Vi4^Ysda@9`UdTRo0VE zkIcbXJl2>>hI=)%x>W_q z;eKPLX9*{&pc`+6{bC5~T~pv|urFS5#*6M(7NvMY`Ec%$6=PR^DAvxtz*hkyu=tR) zIDX^>&H-F1T*X_LxAQFcbh zv@=SZ+26EF8tA1w?rbX(CdH`x2eU`_FP z&H2$0=P+ZxIB!S?El=tv+v$()6#N`z+4078R!^$4Q#!QOR&5oy0_$IawJh}m`MvX> zpUB0DNs=C}@ANHfviFN0VTo&k;~N>o<3(c4*g3t80>FF&sVmUFoO^4Q#ZreT=_dwo zq35_KMWuF340ugfubmWqW@rvx$vxvzI{L1o6d0^d`XWq1GBS>Y?_MbKCX06cIunCr z+56j20V%vsP?n0M;O{?(;~f|!N8iRxPTLuCq6{u0fZ32+s)@5kMw&iyRP(%^FVvu zwj)dQJq8I%DRsnJ<$jwvPgK{)H@eV7U0$6U8~AsjTT6ph0Ce0mh9117kVAPLDDsFS zkGoQL67yaP85K`<-2`y|Oz7IieViSf$phvy9b@#)Mv>ATShK%kz!0}(4y^3v{tbE) zxRNd&$W^7vZcDK#9+TzN`^@Bj=aPC1S4lLMdYpVCIHp*K#AjEne0^D`pF@MN6+>x5 zX;=~`Xvm7ij^$KwSYjjE-`F+7)a)XyQ5b`laNIe+`);gEGn;f4@WiZqgw9K1PbKmU z-7s{v>o;^ZSofMqodbFSPkP^`v{SwpdU2!ds{gjS)G(>6R@f<|nSCEv%8mmJ1Rr~R zI#Kek8-R$NIn1yl&IjveA0n`m#SdBCwMe^N?`ufEuGWWN+4XQB!nIYDJSiPg#ixeT za)(K(5_VwD6S-U(T}d|7=!SMr-Nx3Nn$h%%`+6e_eW zk!?e${1eWyfpyc6@%DEWQd-05514Bu@_<8*TgZ~PTvL5{1dx^Lh==lZtG)|GH+Khqk; ztyRTzqQd61FHR(jX?g;=Ma$56x8g}Ri*{W8plBumHTtE^8B8-6pqNB}GO4Us6=kE@ zlzImSH=7Ay^8#}&c8SSC@cnZ|psUr;?XqoJoSP6x?jtN=43oEmdSX&0HNxXQ#6DDW z8i&H9SDo$@U#=URI^*C=_e#suE2E0k&Brbw5j&?@_D@$xd8Vu{z>NyN(rfFqhQTn5 zCZ4%*PMW6l)0~HIIdzu;VgdrdcPTp6*^9;BK`bdxy4hm%kEc?{@A5&{FRSG!^Oi|@ z+z)x?T-VKtcf=%{KdEEnals!i4+i?;_~_wxnP4YPKd@4+GvfIs`T4Lwmos?4R>X}yZO$g;I}>WJCXj`^n6`OU=;DH>;`9gt~ z39c!56+1UP*#a(DR4Yy!R!%C)o?605LCX6cbE@LqtS6kai!}Si-f7a4(J!FmBa()` zyT4mF3iFQd%pn|#SY>-hII)ZBD|pJ2b6~)}BBpA0M?%5B??^OYg#Drbym^KREQ1uF zk~`03g45hQk!(*&s{xAeuqe<#o%_hpJ!o~ydc{=?Ec$@${Z%BLqxq>qioUZFe*K`2 z+85CT(im#-NWXlDgOT-@9~St$7aenLOKCq4k-0;HAw4FCJ-SI7-QjQ;_F*sNg4c3n z^Z61EN$3_}o1&KXsP=iRhd$_mOM23`5XV{LiLe`N2w;4&qRzcW(`t*LJh%##owxm+ zoKRq_m30?=G7@fGVSGhWI#EsnAd{ltlIFLuVctJ(I{NrniFMUC|F9a3%m?%>QW*^gKpgId={J4r;Blyk7d@u@uvB9CyIJyF z`dTJ=%fNP6BOm`63cLE=_fW&N&^Mn+?(EVq+TEEr(<`DV;xl^`-i`b2`cSH5Jh*@* zB0+pJ>rw>9ZN7fxAbm^OYOkFP+9R>ac?+lkvC*nfK6ohj6@1N|h%-EU z{C`3s=~YR{#kAd<*dU#s4|J_64{+BwEPZcXlkJp$Jt_Q?S1jT6Eyi3Cna=4iQXkGk zGK0pN*^SKMU&v%`T1vT1@ayPnyI(FBeB)J9{uvjOR^P*YWGUlQXd{wf$2V6l(W-x@mf;BTsDkfG^S^^&89N zr3?AA)y{%r`I>Q&>3nE&l=VDVGJqfXwMEt-OmyeZ(%iAC{I&c7`c0Cm=(nKu%bsUv zw^!OZb}#mf0#8@R@88V(Usw8ag?v#yOEZ3S3z;s`PqGHB!pE>_h zZNJdgJn7JT&XGMWq~itEBt=30j?2%E#jt6~!Dq-EMU`*Wu+t383>GC;8Yu;&*sj4& zh$fenJLg#99F<~g5n0nyQ|G z(o&&5&1u$Wc2B$)>loH{-?bL?dB0@R;!c$NHjhh$Qgh*sDZiP|ZO+cAMlKhFesY*u_IZoV8_|d4!CGY&`18;=9KEdMP?QWsJKo z;~YhtKW+ST$pe^n``V3eDr3e#2>GRW}2FiyTRO#Q|y6q$*FJI3kUja zpA{9F?wj21GV(f+Y^I4wDy2kO->V56Vl3%$%bYsk1HQ3_ zVIv{AV=aaokTlMnscQi*zElfvJ(RwaF7bJpq)XmXgTH@N{pT-1NYP`NWa(dWH@g57 zOnAlDcf`4sRUh8&{KTh6#x4o7O7T-sB)`g-Mu@fjl8ST_zO*^vi;@UT5_+=0`5P3x z^vloVXkzQ3iiw%%vU+qG4m419O ztYmjLA;#w9^dM77nwDU%bkdlVptmU!dbOzt_uB1DlV5T?g!B7t4+H_5qfWwz=4Pex zu8Y}oXw`lJi>M*A2Dpm|@`%~{b&bkyBsr$2aLyb7lIPPri6HcYDE?2m*HaI(fk6QYpBRa0zd=B+tHEw+(u0{a54BT2wxoI(PUNG-pkaF=F8RfUtJnNdKf3KmW9 z4^*o1^73|NY_@1s7O!}eootK{uprhAC5^VdpI$J(#HZ+Gy(2jJx8^vHy^(?Ng8`m( z#nkj0-favF?qtFLso2{1726VtpjU7WOYn=O9{b7n8rKGC?_57)k?mz>zZM+5{QTD0 zJ(_F5Bg_#Yi@uFpCsV!%h}d3vSU>BKvf+N2&|5%xNht{pFo&+)wK{Ch#Z^5>z`kxd z`grcJ?hE3uOhC%52icUI5PVYPCEhRZ`gx*5$gH7KhxUj~I*T%w9`#cRMndT&68T|H{xLDs6o!5P^uK11pyZP?GM3}45V$XZ@+t02gBa85L|gp$Q& z`0(cwgNNq0Omed*shTm+&v#0g<`;ZZhnpD%#g#ww!Y33&$OD@f*}yt7CU0igVQW6_ zId2YEO<^hSm=`!EPhtkMFa(LT&M`shw6bT;vT4A_``-SOOIc_VQ_eRn(p&y}QzBpSZq7feHg0f+gOc4P@s|B?#P?a{-Lcc3 zi!+5DcLjJkovQpJn;LY!&|Vm{;8s5hnol1&OyXbQ{j-7>LCdX71^Hp4m=>Myt{z2` za=8*0RMh!e@kLj}7fz#7#wdWiCYmf=ty`_dVX_!n`To+h*SNVf;yLU|t}5_b1?PUi zvs0m4?;U}Xy1jCzV*lt%<>FZ(ImpY!^zwc<`wd{Izx=W9)n7R+yP;?QVgbh0NzC?I z;#uZ~)@;)9=}?K4lho|U$CZ$%aTY6&#?zlW>Y~t##;a@u@WoBNZWEcLj%m`BZSlho znL5=hY_JmrxN6QlMj`nfRJ{+i>_ykZ*JlkJ9jy~}0ptpIeBz1I%kSNcUkSCow75*C z_yyp-A+Y9u*WUNlp_if{lPZOYTUSLOmC=!08uABJg{Gm7oCB~yp5}Tx#Pzr*m5=w& zNrIgJG?>b6qs)dqzwSxaM@`yM$IIt#d-D^G`OvwGIKx%xLY8i_+s(!=)m9P9SErLg zpGVmkBL-dj_C=uHmzim6$IBTK4EiU6^&(K(o(jZ8Ttbbb%Ke@PZFOfkE8-uX)5M!h z#R-CJlGBJawE}j@n{lv@5E%&G>8!{fQ}7FVOC3b@dCZe8Kw`5~%IUcNi`|C#byD1= z=Ju&|j2G#Cv*Z)u@NM2QkG5@6+2f5r;<^j3Wo+AS2-*>z1gczx)gxz-XQJuC)IJyB?rxxAXB>lYimd%}^R!#S4u?pNc5cc62NrVwoVT_RSV~b+?v>R!V2f=Vbu0GDf=B*&fJ1kL73w>kV!^~)-qtT zDpEt*QMd|vK_>fd>ocF~J;x-lHo{+a`U)^TzFPd(Md~WEMlCd1A6T7D{_Sz2)UPdr zhQ$x3aVa1Z<2f__?rM^jvG;!69m3Fzy5-zmTCXeZG;SAoZ{FP0&&2-UQ|VmxCRjAG zr%0`EWr-=tMW4DwNZ3j4o!lVpmc?2$O=T|HZtzdy4QBziK?wI+BLmuQCIjp9S+DfQ z=TbhD{=FoVpgU_k5UhJHz=Us%STp%Tc4W(|*4-gS=E0U*u*& z1HdakL3?+9tciFD?DXlJRGjokqj5f&xJlJW^Q4k|__hTsdQt&-9bY?p%9|Fh{xa{! z5zci_ekX~EMGgT^f_j-2(Q--SW>SE@L0(z-H%GD6X~p!h)|ePJ4a3v;Uf(RQ*yyQ| z(V}`2#MlXkn^(&dPZP`CeYp+(aj~9hF*}>aA4lQr`EX;y4qyQiavUWUkBIvEKpCJW{d?uqdq6#JAJ3LPv|; zMka}JT1^}t^$?f+*b6t1WdJhd;x{t{iDv%j+m_kdsIy@iyKFe5U5@^mNnL<^Y1`xR zRugB52vc`?F(JVqm6O3k|7>u%5x=z5hH$QC_a<~ z^w|3lcM(4`{ONdO@PZQow(_0({@i&8l;C%MA$jgPm*z6`hkT7B` zdDzKMfh1gto4FAq0zRD^niNG!iWVpG*qdLX$6QO7&g|Th?L|^wu~0$Y|0WJ&+HNot z;URQ3$6W}|h6&RXC)-ok$t8QNf4LW$PQKVMz5j^)6f$hCzSqaI~DP? zHhB9Mh)=?)rKF}w`x!xwCZ8OUCxf@^9_l&%a-FK<_VgESbz4PDkoFZ#N7&o1J1YApF>*%9Zjm!gjYZl>kSarqrbYpwzka36;V zg=qw@hc}`KM)ds)9JygkQ3No3x9Y8%8y9F#hJ*QzmIQzRy0&qFwy-PDUTpQ(yU3Z< zB_jv9u&Th8l+$l9+uz;dD8UD(v*iA6J5#1-6BphW8$Kz%+pT73PdCU9Aj47%pvdDg zc~(v=Ee2qR;pUOMz5TM=vizy;m!w!J}BajC>{@ zYU^v#yM~d)m%92S{_Mn3xJaTPORNnj?zswpZMN;hkfE@PdbT>#iBF6G`wk`zhnyCg z0xtuuQ*WN4_WPO@zGx`09*1=i3@D@pF3eJI$!D>he=SOq!bS^%8k4{G={FS)-JSk7jV&IVtDrUe#6Q(I|1vp(uq@mlG9o|sG@H= z`C2Vq&HjOv*-sk1MPP5@oRGCDb=Rc@YQvo*)L%7rCvDN{W+|{sgxO1V)2RONadb;5 zG6{m*npSG?s_7b@8pYrD2#_L-k?}7XH_*hlbiXo5hK0yY1^r2+9U_W00DJ4qxZ_tS zmq6fqZJ%{4JftlwW&GBuehq+`IjC@dOR9A(I>q;_mR-a@klzwy~CGiRt`>Z-5{8o6>kpP0CB0l=zrn%7pIW zFhx&p^(4$ez4H9k$m#Mhs43ke5NF;vZz?3xp5L1xRC4 z!GB;tgA>JC=uSz47pD40d6_e49v4z$OZyun?PCg$gqhASyBtpY(32rps%6IY5n#-GvC~}*<}=XF~!&r9~wHKdBW*v-jgG4wIj6F z$8X9OjBCz0f#O=8U09k)quDBKM0;X%a*OxFLKSTwka6$!Urxlcpdi-c#}8S?@6>6U zA++scbUDum&j^~(*GK<^rL*>`o_~8G3>0qh{`qivgp!CwZj8|0sISmKVBT|^%ANlK z9FprMvrgrtSmLce zr;I8jSO3COh`3nMfGG|)->FJ$HH%7YqaW@D8UUve)i-)~$yIIFshV4by_q^T-v!bn8|!F!4we*CA3n(Bw=iI zCJSr*F@3oR{f^UcZn}UIsp>}_m-~2qaR{d5*}R*ncxqrhZ5izLQcfO~?^2x01?GpE z2}E9cF8-+Kb>bIUaMR*1uYo~T9ns%)txQXW4XAoYGnPvaUBw4B)hdXRlHpBUM9yrjlniZ-n|nnS4E#{H(i_zH8$c8YTfvtGaR zz%p20z8|05* z%i?ST^|@rV(JN=)$9npwbxz%j`Q!_L79B!GqL4ro1&-MdJ-WvIGMN$b-^nfjg*JIr8br`f;1r1k>pa!n) zQ92XFVJ>WP#M8m$Qk%zfq~Sbzo@ac3k;TG~`WRbh#Ghx!O;KaN{|RBcVl~)V+!sd&ZZW3Nd{gvQ=4Wb~2{x+UO05aEdu#hdd+rhL z{82>Os^Ng9UVpY8`>^^mv4Bc9N_^jeXuu2e-pqBtI=~P@x30Sc&|zALj$HgtxUqd+GQ$yQ~$H_=Nvqd<|QsI6bHTai~kmIEB1sb-y;D=;pmCT{z zNtyWCq5dxDL}23*E`IWxZAr6#6C0EL+!!=ctisf|G;37g-tionSm8^uu$&ysv2U1P!yvy=&OBK(r3VMnQ{93`Mu-%mNE& z;TPp>KvO5d3N`k|1{QU>Z?Yy*#3m!%&SwVKOWBUHU1z_0Fjti9w&&pvU@-6RIcn{) z5tw+oEIC55S4kp3Ai!6fe4fo%1jr34S)94@~aQjz|P1r#779>{i`#UrTJ=ambN2!lNg;3Kl{1xxHJjKXPD<7pGIea;F22{~4 z3?v>@YTi;)-lXl^RcO6H?J;N}yCFX5^V3kUH{cTNCe7YlfS5&@=n=Ce?`8ds+7*)0 z-{p89O{vP%6v9{-=Pi&5{b{W>^kfu4U!N3>xn)^-R7!qpbH&$$@Z-j-22AADM>rP& zBTQUhKEy467C9Gb&#t^rueul5CZC7xlCf7}xevR##^S2|$%ieW`;}0brs&z4Uy1K7 zjZ`%#-dU=U`Hy~jU>L#zQCzCh*JQXls+ds5MYkZmif}eK;)iQx z5}aL+QV#7Gs_0`QR*Hm)eScrhhL@z?L=hffKP)Dj>7aP_QocL%l$AkZB|2PoaEBF5 z67~gP5~K?749{Asx&2CD`!_t0mKJZMlCMz=Yq~rPwtJPyKHhS1@l59Q^$B+DZ~@z+ zwh3T)St#kfT2i#^A|^CP3*TxDgWFyT4W`wLclBi11rW>vG8yC3ko}l4KU=Fzwl3Fw z+NqqMUL^#qw6m{u#v=_^^B%gB{k@&0_b6d0Ee!UFK^IXY`KjFWZk3e*dzN8Dn-Fxn z)A?&KByMc4!K?S#Ys97xbX{8g%a5A6*+`t{pzKchj-)D%(PowLHH*N8Q6V z&a=1cR<~(ivpScv_2*1{zPbPIs~Fg}ecVl)r8M^Zjq7OSv?inqHO0U(wnwdDz5zcC zX-oh+M%wb3{Mta5%pYV4|AM}MV6)ujRHtST_oifinl`XwnwIee1I^&DiTI?~xsl7* ze?!Yl4vQ3J&ilHDq_vYo5kvw}e@$njJyMVd0j&__Mu5sC&+fCBBCM%QNA_4m5JW)6 zsK;gX+5d3S*AfUnF%ucM3S`XTAJSvwCtEOVi+1~1>|WC&BO8&i;tg*{uy zn6!idYU@Z~Qf1WY3u&^uVg@7Vwvt7cx_vr~#9^|i#L^6z&J;~loizF(<<15E2YYK# zr#Zpv6(iVx1ycmN=HCosFTmQma5k?3OgG0=SO=EQ&lXxnLwpbQcq`JxFA4<~)H;WW z#eufy<)*x229F|6-#A_&OIm{w-hxplMbM%I1I3;jcMH`<4qX`WkEdzKEh@jk!d)p} zhC&R~w~!FU6s=fDsijj?*6o))+=F9z=6wA(N7Zyn(ilhY#Jp}nAv3~$-=YGap{9$- zdr(lgcV2*!sSU0Lq>ZBR&{~Z^XPNl*Jg#Tat)dy~l1h0{FIMyJ?g{V*$dLg)=|-Jj z%5ZZ!8c0(R;>|er+#J8t#Wu)rQ;(3QA7`iy$XB02IusQ;2t+|QYuWFBuZPso-`d>( zpgg=X!x!s$o%nRkGmW?}51YV;{ZFoEqdAW!Mt=^NnA0wfhYZt{i^(@&7fjku@zNE2 zS7rh>wta!?IqWNY(<<^B!>#Lt4Ii}rcK0@whJLfE&diT(YQ_@R-oM18#GeW31oFu& z{3zbD3RNhYj2h7Brbi9-FJ0fIj`<9u@bGLl`tbEV50Yt{F~jVKtbCf_>2Uoe+_d_U z2JXe9H~X#MY2qEUkxXxZvGk7k6_052%G9UpMvVEX-&DrM&8ZIBSGO>AQ>9`$cSS6P zg2$=F%Z5$l>Ie-~Y^Y5*y?bF=wmK3Xrf)8IpXo%dk^K!mvbI#Y(DLv&&|na&)!n*Y z=T@CwYPiSFphpBizsqo63ovc~(UPu?+}eJfYg z7du+Hwxu-N7Dd7*%UmfK** z6#B7k?{9Sk6T#PFKFBSod7=%mLH9qUxXm?&>g4n0D+Fb91^ev_%Wd?93b8Aq%qF?x zOuL^TIO!>zxwpYYA06-yNRiU})a@t7H@p6m>q_FYA(pk5ExQh04g}TKyCU7i)Ex+|d-xaUIY)BAdIRDhgbu(?^TQi8|w|(%k|{0TZ-m~>vP!6Ob;n&%`wDeilmf4E@4%6Q z@s6kKa^5Q$#{LK6F@YL{EeGoN`;j4KdF24ta`hYrnLJsRxE|iTPEh9r;i8mts>}d5 zyh`KmLG&yNVV}VwYf^fR0Dag~e3-8T?&~&AWs`G6Zk)wc+|s^-Krin4*_IwI{ke%B4p`{PX zX6fee`$Fz*B$OWiKtaxt=Q!n%1KtM;tXAf<-G*J>KD~IEg&po~7syzD890Q;oyMMH zprzZdsWq?NgOS9%Ce$tfTOgh#a=trD5+CuGaM#(m9ZNo@Cl40YRt?figZ;Sg_AGP; zKCFIn3%`$)%J6R}`uUb)bk@ed~o_UWzc+fF@Ep$S+Q(`u>KiQ}Tu#M3cQh8aJ z36mLzeN3b$c-Y#%!h@GZTRTi6wKBv0#GrPY)lZUT+gs$S2;VQ?ovWfN-WE&p3PsoE z)m@DTuQqhZA%ooLCE=7!V_>SZ>7;PP!Gx<|2eWWxPap&|Iub zJD;sy1%Bfib+@F>$$)5?+2acb5u1g##ZxnpG+G(shYoUJbSUiOr)?=q8cw%wm)_U< zIRrFljb8J=V(#y~k(ux|0t+Th!~R-7QBn(Ed@DfdzxD@eHWr>X>8{yRB-*G5y-N`7?Q$W?gCb~tmMdB*D&!RMNLJ0uW@8VlqoQqM%Hh+4n4dbJz5 z&5=&C6Tba`&1@3E)#0v{&t5RW6WMQydi^QaEm>vTb_)a(4QeSq@_LrvE^7ZYqq{^m z`@`bn#2WK0fGVqO16>1u@La4_69DVP870+1xi3}8p0uYC!>^<%JZb)jNkAM;vtAay zj!7ZGCa(mMbjP0$FR`a%$T~PdG}UH}!0h$`_0x=^$XPVY%~81;c(ICyJ;^Kr_T06-OTYWrWaQ`637(v;X9nu!u-={BunWX2qC>r-O17 zAHW|_v=J}rpZ!dH3%@77vpV!@i&6LnI)^*IT1NNs8f+T_~K!7 zIB;y_hDd8FKPYG&G=5u!#YLS?S>amHK}je5N~%QCqpXI@)HbK=HV-+1^XJp zrfz#WocEM{4IRYu#Ck+yx@e_xFc9)N;r)j>_>l;B_O310;U!MWO$?uQ4GW%%h)!(J z$TVq&D1pGTukxN`?4KU{N|!Op=@;rEY1dXx#LPWnTQA)kg=+4_6-9MRm+egNdj9cr zt@pdT7^uVcg=CKFUo1ctSi}UtDbp|Fm!*oED!dI!&hiW9D6{%*oC{nJvNh@T%D+9?!?jsot= zs-X%BSCoF=f2GFviieWvfl~XVhwP_58j@(zdv_T5v~KG=K4zt{_{Nd%f|UZg+E>{40~! zz)u!Q#ZQ-n<+g$r|MP9=3%(w1C-PMAn=wA@Mqwtgo!E)uy1`1pbEg&%wf79j zLG+yh?RRbjsj(7=r_Xj7bB(!Cx=!zFP3;1Sgg4uMtFb}gRugTBH3tncOBjC{0cr1VNs*gnm^ z7$Dxj!=Jsv@`ax*`u?Vhu6<}dgT`Cn-Ji5tlRAY)%AdX}{`jh7K>GEn#qLM6zRLm| ziONT!Lkw_3`>RGn6}9g-(DsOlwp`lOy32Tplj>Af1gJln>gESgTeuFUytu%|pWQGm z^Yi|*rm3a2=&99TTdESG$gd-*;-LYYC(@0J7w6kdCE35 z@gnDiqCv>Vf{klpUi>|)EMIP@k#{B%#Y&N%U93&B;PS>l9wTF{|fxes5so9A!JkExnOp(S)LQ6y$c|)_! z(YSU*(R!iS15P!--)GlvoBe_PS^zrAOs0GD9jy#XXuRLHCDPc0Y6bk+s&G=N^F!;C z&b7ZU!jAXu87ta?tBWkFkF%C`7A)LJ#zk3#U+sQx!$dKzTvA8e2+iW z%VdN;{^zarW`XWZ-d0rqo&MtvALYQuiZXqj-p}n?maX5eiZS{B1_=}CKzX6EtqH;N zp|6PO-}k?Mo`fDA$`bjw^)NCtxt=34&x}hn5&3*Yc<*o%9l9&zU7Eo?bzAEJ=RXTg z``7NR1BoDcx9=R>ZaEJ-maqJM27FR)dMPAt=cXR>z4fN>Wo=8ZfBpSO{rHcYG5>6o z&wVeie7#Do_2*~e&9KlbQSBf8rwK`sQ{=B6@Yv{xe8jacIzfT~n=|J9qazr6P%E6j zXft*!tyks5vTY*bvj=A^8w;r!E_-^-U0|q^iHOw%FDtg~62~n4HI4e}dksx?7yl|w z^Hm%2xdm~6>NfS?_O!nZYKgn#>Wgqvg83ub%g2!O1X-EWeDh<&!W`rk_+@9G3G`t|0zr3`S>f zN4rG%Kp*8hnYcFR%uLRT4hQ=TY)CJfe^IS1A<6^fb;aU1ZBB&;Mt|tztd6xyp^0g_ z=Eqe%u_dNv=D1{29!GQ0H;y%Rj;2%0KP$I;CqaPr#JN}ye}wgP$ye6Ra^MbwYpu?o zOw@WI>8{snA=y~h_P=>KLz9kzt4`^(g2_O|V9ZHNGP~kdcVF;^^p42vj+lR%{>-37%WwQc+)FnzvxZX2y|~%zz?K%n(>)tG*M`QbU7W)yDX3zZLDC5` zjSkJmZ6$rtlP!%1?_TT58VAoQ-hRSnZHtK!3pQ(gGP!PnnGh3G0(IflJ!0JQAuTp; z*d^;@3A~qL0nji?EO}R7(yt{lhtNXAZ(JOzJ#A-r0(vh!AGED1S{>P#$w5|7f8(8zj^9bmKvkqMl@m$HGA?c96NzP#b zv4Esg6c<4LCURq~I?%DO$_&iV6)3DaX7SPFce+>ctqe;ej9yDH=+NbU5XMdgC2CT3 z-HZA|EE9A09}|`L1+_VJ6{95Efq*B6_p= z(uh$a7&hhVb*^aHe0-5s{?dRWM2p{6W^LOxzp>aIyP{lm+j68W|LG3d3!uooxH4)_ zCitXSNO8fY#E$+^qT`>$h}yj4bUz-Vh?>~uOy!f#pg>_;D_!$tMJAqCD`SE!U(eYx zp`Q7D!4*1XhQ4%h@-G6TItGG2ZLaecJxpsK-Q_N#^1s%7HwV#@#bAi*Q-$rnKxiR9 zs9z7Nhi?0rqL}Epi1t*7&)pR^w`hfBa$y2=`hZ7wEk5x*Zht>>7yhJPC+KFO-|K6E z_7q;fB}88Fe;%OIr~muAul7=`JYCizdHtQPQL62>`J+G0Tvz-o-;VF8WxvoE_0xBj z*R8Rz4QXW$_lR{bg(1FQW0m5m ze$A(^8VpJaovF|BI%2Wz4`{pH?4iuPm3D+X_UX~}qL!Oy8tM?)UGMLum ziGSn+P3(2a_H<$J^DY_)5_h=?XPY>_5z})1pyw3RG~_(m}Mg zlzR<@_h>aJ0fl-nDq50wU&tG|KPzjkE#XOj-j7mZ-oseB+cGq+NX1}x{3eK zX<#NhU?WjV6!}rzLp3lCR2U9&e1-KuLK_E)`Ia|TRs*fwnCbZ~B&K8L3{FDlglqE1 z9iuO;IDa}ylPZ2dPSIJ6c?8zux?N2CELn(bu)f{h!pE@5sQ83f-vEe~u+S;ScgO*A zNU!gdrZQqb*|-r{v~~G&;Iu~hon%YK`p%+O<#xkx?G^R;B7a410uem8u#_jiu~ouq z7)C#}jTiqUUR3ncSv(S90d^D+pwV;f8mKawYVJSKAM!0OPK8Inb@+hnL#o}OcCQRP zCa{a{GSGQ&V^}_f?~zBCPD?5_SZ>LXUtjIie1Tr?Y3q^G7O(^tG8fftf*I}3T8*9- zK7`0Ps=AG`Y^vC%vWRO!BkAE(m@0=r4`%6_?2`$s(e3D2u&j9DmIwd7ezi+@H2f6$ zRf}KO<$_Fsg&@UJ*gE~SCm4%6GXJak;@WCblJiqbF7j-mF<3F_&lJ;&%J++Yj zuU}vLbKgAt`+M)Jyu*W*9Uw|XR8{HP&9G&p{ax)Z{~VqF!ntPGDq-*LwfGiKe>YzJ z|KF6`ao!(=68FC%8*!rHy}xt_kr1I1k<++yZ7K0qw^;llHt*3zfF29P+gspLq>e2< zd20I)f-n!Qr%856{{#TL9t!TZUj*+F@RRW zbpn#hWYfBBeBn9|LU-t5STvLdztf?woN1q8UYu457|$I}xK^*kZ&WXD1H6|?p`O-# znOCID`wH7{0zNqhk7?UnvrLtsCdRtAiC)$#QY<=};>NJ#l;ET9bY$aZ%2nu^2VFodMj6=KWQkQOiv_ z2iM}88&kmASVs$!I#XDOb8u1|e>D1$e#ct9GC)L9uYvb}>tVhEVm-FaIM^@CaU9yi)dPH)OGzVLfj1UT`HEdH7`NtByjUckG@x+pC( z@0NPCH^vQGhTLArMksY*;Y6Y-isTV2om#)TdO26lb0ys0e{@W*w==I+ew>Ue-9;+* zt_mJA_hxn@bW3B~e#_C!LEwv{-{bC$I|dgoT(z!ak;Gd_Pvxq)bxCM&FG9W$k#+JE zqUGQST~+@!u6E_!x!Bz)mPY(B+)b%;&hvkw0qjyp;nP_A<9!35w1TSVzYPcEIzcu*{5LX$pk3%ZI! z%2=FD?X^WHe5yOt^DwQU+j-t9bOtA2<{htRH!Ij@ATt2y zs%ruDT7aP~rsHzc{&$$`es>ylJSuI?*lq0-YE*8xw-IQJm^ojlAw5eqVl%=Sak7^{ zSfjIT&ba8p2SU~V?`8GLYSzBw-{4z5{lJ3s@qaUgt5>&NjY2hMb^b*`{^k!N*OVzJ zF68dKs?f3wed*4t$R#BImMmmFj^m$ysXW6Q_L}HS z$>pATRLEyuDG}If6*5#fDx)?-Vz_syI>!xx*Af)l5648OSHP3gij-@Z!p*8BJ&CPfKO|;3qmM_ zNAHKT3db93OUaojOdMfqbgCunOv{(=gKoUSyMy=z8S}`=Mn3VGw8j?}1(VW)951jD zMZ%0%5c`G$Pw^%gD9U&50q{bQ?#qi;;k|eGROhpkN3cgW)I*Vq8TYHR=!g!De}7@~ zp>jG?MZSmG_^r4%uvU#1FK-|HWfs64YeZXL>y1EAInhY+FpkZ$Y+OrT@76RGCkOFH zF87yDtTj29KObDB{?QxWe|ThDmUDW3xU<1uN+7CyR@dyYlMZ&1q`!n^7a1$^9LFvx zp4c?>8&(X`*YHe!U#kR6zsRnA9+Jx(8?BTk5YDVASqe~op=cuXI12nm`=yNy+0>0J z{?88!@}c)vRk*A)^LgkJIC5B#wDix4wH`1q$|02+vSH|{YQo#O$_NH!sn@UF46nrP zTw;UO#jVmhw#z%rYUX{4G>1;>%HIx{L!=g>_L9WJu4*V@Iqxa|aOaJ4K8xeGA)mUz znJzBDgF$?V!u zj@Rz>RbKmlti1(PRA1OGPAMq^C>=wHAX0)zGlYPMNH-FKh;&GIr=UoQ$OuSxmo$hp zNOyO`3^6dnJ;N`*`^CNgyZ(!{lr`sY=FFMB-@V`GectD3{apZ=m@wC#9SCyCY1XLa zWxl80jsJK$m4~1`P-P@6y|I7)J6GP}3HH{^dPRn^RqMU!4LSwYwqX^cOx8#OAi#aC zdF4V2b7CPgnW<}~yRUDg6QPs4_Vg|;k*Y2kUq@Kg2iy!ba0@V;g5%{$Fl54_vcuvC z9zA7dqk&ItX`KBfZ2_%Dugt1NE@3y{)EbU zZFVy3@%mp0Ky#RU^VM#hi+b$=&$!ab)3XsUnAhtLuB=q9{Lk!r(;kPZ3+ezeIsu-U z)g1HP?~-_F=g0e~yK63ZHX z0>ey8OdXlldXQi2GE%2zN6lWHMZB1-*6`gY^T_b^c$^+Pym}_NThm=!sS<4BTfQPL zp@J)(L-|r2yqKID>pP4E&tgYJ&~=B)L27)XFb9TiY`{ zrf4&<->;8S!kdkMlrfapq<+{24@kn{Hz!7H>aAhno*vBb-0`X{+n+rrS0qv?75 zFXwY^yRXGJ^ep#BgE?3z-XWhSeRtY}|9A}zIf=K-RfB`PA=``H^z*ub-Z43Ci$)gB zkLxdJk1N;8V_;cV76BJ6bD^W9HkIG?Qa$>!EsbiYZnl_hlfsy#dbGY~h zN`)>I9IovA)w3TM@?M_G2b;;8Ad%3&O99tObOYXj)wdy0H`-cYQn}%93jDcbGT^i$ zUke*>_^F2aEi#5+16c`>ms~f-V%FRX8p=s$#3&{CX^j|ZX!s@aJ*S$M;V@WEL-Y0c zZNJCC50&QKEyTwr8IjImsKh3$l4xEJ#L8^L)0^US74xd_k^7tY@$IY4nOH)4`VaQ* ziQR4e5=pqRi{<<%BBPs$#Uhv2D2Memd%1edcyRuzI}zxW$>4?2vHH)?Oi0xU zGO8OqVhIvLLT`^bqIB8TyKk^7e)+iqn00O5mIjFJZ6d4N_=-2|-%`-KDGAss;cq7t z7iR(?nM&MyJ2Cz9MC!qlLcN!DH1=Xj4G;n=~RSR=OzP%w;IYR6UMYd%-tg!_2tHXs$2 z@Iy<|e>zc!@UTpUj8Bad92Ma46eo?dH!R?EuWv@6oNV3(qk3< z-5e@09ac(SAnL%?nu$g9O!Zz^K7JxWi5h!%(6gzYJUs>R#iwQ42r{K$0yR11@>Ag- z(d||i9I{CEzVL;@i%ltc3ONQ>Pp{naK9Ow)K>4NQcQVFQ=B^Vp6@9X}S33#`pnIJhls6PA$~Pvl<_y}yxf4Roia}#( z$;BPteKc$>$aa3%+32v!1p~<=g@0n|)9O;D`JvIhwO1;g+iy7}pA{{>5xXlr9m|-> z#*NEO-kc-z7n=%bX2k-)=>QCa+pR*e_c;sv@pKaZ+4&itk^H&^yo_MPq0zzTXlM>y$ip~ z#PmF`U{b@HGY(j!7E^RrJ!8~V74&t*_z{0YJ4a!$R_t!#CtO2y zCD<-aRT>4ZZMOT@8AdCP-F491Sf4Z`G8I04 zpvDRxDH@N?PKFkM$JrHtar>TYvs?j*VV}<@?M^ z(%umBaRretDIdGFcuHu2yg|8-^UI4I8x7g_eXYe|F)knQ2E-;J8yjm-v(!*|nASE+ z)?-GGz^XBV-3POlnfXIJi%ztAMr|oZ^>uq1oV>rDoe30M zNXR{c^!PjvmlketJTHj#D4RN8C;xiCq3&i&XVYBJA?=3E>ZXHrg>(Ndt|lx^Mj2e2zd3>yNZ~FnQaUFbxm1ddMlBfr5$`&4fPt{xKJJ zaap=Rt<_&u|KbJ$#0p;QkY<{2K=$(`OLm`#%|H7m7E;VbyZs>g+ZjN4DI!Q!Rtlr7 zjj5z+!FZYEi!v}3O7boj{J(gVz$#%}rpANVLKk#~F`xS1{xkvHJPP-VfIZQe@zPIp z-GgSMFFEwePL%e&kF!OU0-t-K7^o^`ywykNlaO zA}Z5^)=o2cxp9O@d?E13Agw#pyF@UH=S63B^!vNlur(i0o*S3VYUH_{z{HQ|6b!fk z=!TNR556$m;c|7Fm($l;HZ`(om1_?$=Yt~dITYe4b~vzSJq@;~EzyWb)&(#sHbv!} z(c!eFD%RWXX!1b|)Y4usbMJ>T*JCfmcq=7%u)&i`D7m9V#PFbo9ZAFS6n8>97#k=M_>IwL*I_fd%Z`As@gDG?b03S8m!=oGB)rLIY=f$xX=UoGDW#Ji*iMZaxIH; zIj;ZppmTA=9!EP)ECW-k9y)%Nhn>r4zsrCMmMgli@ZN5@Ft0W%xhCs(&6&Vxr-<=L zT{B_KDHHV*j7o^@tU*(%5Ha^C?F-PVPibdMrMh3<&|g>pJ7wN%VUIlm3#M)sWKk=m z1mIzJkn{6({B{L17c$Og&EdCxtp+(igFDhi?b+d$6NP`nEd~G3^}bQCyv+mvPVH}j z%5rgOxK+DQ1fy zs8P8MRH4U`WozaI{mW47=v-~gRcQ^QoVx|?J`4@K2c0X0Z?BMk_uElA= zJMu}p86`J(JtCqQdv9lBCK4>LlQH!c$KA^lRgFl<(6Br7-pz!)X`1qAQ8h3MO&Rg4 z-ZcVv>xHd*xMQ`aznRzsq(Q$#GN{9O2jop6?+^rN8$BP$-V>E~@YQu~tC+{jw?S6X zoTOpaau5u$VeDOK3)%o~3GWF?63~-O@Dot9_(PQet48x-GCSv=Nb>c6yxoA;($Qf| z^x`!8zm~Ol#^(9#8W$MPPW(e%)dSzR#VLzv>{JX@5|_^oa)D(m@DvA{3?W(p`6f+& zbZ<+W*IgtQwl2{n2ZS>yaDf5>V4c(M8J!;09_%i66+nF z_k21oJ?p?q^{vp3R8s{S@g2=?KVopVWQk6h0%rISj;qzSPSxie(!sMz$SH1D?6M~4 zX^!Ye%?Kbj(X<&j9|3AzWNV2z>t1?!;9N4(45a6ZuectQR#51^Q*ZOQ&e zXP^QkLU*}&Gsu0_c4)Ycrt`%wQrFdyAN!w`y$v6|KaoGi{iMl8)3e!hX@J0p85^ec za2E3f>xG{B=A|NG;>Wp`?WRda>8bVmSq$$ukG(2F7_fe0OSAcuQ+M`S1kL&7G-mjW zh)L{<7B?9*7i#B2Jsx0semAgi&pFa`n%165_6WDyI%x{=DQbus*w1hKk%ejzh^M=H zFmRGyE&8PMR7zc(%BS~T%qiLqX}@i2Ce>jlktR*mTMynX+aRUd6TAD?P>aa(!-#VC z4O?QttF#9_IFBc*2oUl(fG0=SuFVz?GqbV!tEq^aj&nKip zw@9GLSN6gRpWlXRK8N9kX7mOlRqwzKi4XH3O!C9J(obyk#o<3^}^(V$M8;}Z?_?&ZY>7! zisfCOSCEy_74KS2@fLXY(W^GDShl;~p01Y}gu99|BTKuR;8_dbALjQ*v1jUh^JBJ> zVCJvkqyEG{LMq!5S`TyR?D4nXH>ACY+j?Igk=STesWeNgVVK>UjJGYfYh}p(07~BG zxEqrYT6Q#)#0h>LJ*L^1(#Y^*pjGcw9EnYiG{r-*1il0n1pADs>toB>mKO<4%_%jl zdkUBuBSIgG0BTiQdA=&|U=?zw?)!c*V>0X0)RA`wBz{NsR{`=lw-Ar^AbCYJsg{F4NeJkM;ZX&tf*9Xjl0_xI-x@IU)}d`=N4FRYi`swxRXFai&H@!JVGWD1+WTHdb*c>+7wH z-|uKf$J;DV=SMziy^5Y&c>K19!@B9sEws4V7i;z40}^KD#Xi~Ku$9Tf+fF(64XY?^ zK-5gS5=kkKR9`f~;aD(9Lp5N-)#ulR7;;>dz5SC6o{}|=`jKHx>p^9=Qzz_dYC6`! zm;6Lo+Yg`sB68ONoz{f-)*B|#eChZZM9ilyrkRDgO^!;p#!&V}x!N^ZvAawpmq<0= zUy1hZVE;DH?U(tb!+;##RbTa-Ikh%cohbHQkZW#}U8$nLP$sF?!TryC$~xQyX&k@> z&3++_S|JxICni3c#a4F!s}ABVo-M&gpFH;J(x&M(l%|w{8q{|vki8o_0Sp?dXLP|R zwqEkF!RJFks(fbVlul9{gA3|H=TnNJg9tefs3cX6!OI7OZO$fIv0L>^u9Q{FpyMfe z;x0!vLO^=YO1kRlXNCT3zXLG(E4|NRHJKN_lze!9;>!maa}rAne~VUj{Li|dW9~Sy zra|K(Es=M18M=`KOrPA|Z+ZLWbuI~+2zB{>5;7Qv$cfH;dH3Md{TKg&dBTe6-L;XN^|ok-s4+uK(n-b5$d{Xy&s==cI@2w_$rzx9SY1O z?&MvzRaj!9Ub6s%c?{c{5GhCYd z$+`R{oYrS|_bC?7rw+_DbrO0Ynwv2(8yh9s_?qTu2xm@_ zX5QPbWtMGGU%it^8WHnFVH?^X+n0#&XHFZr9KDo6Hea?}v~1~sYm$a8Ex?$`_UO=Dg# z{jf@s+QFRYB3S=P|Z3&J9f+{F8 zWz2aVLqZ==#wTUnok|3f z#d0I(-JMj9Z1_mR?`LMCF9lRRS1xjQ-4$wga#pe7ko+-8go0-mqRTP)5 zJo9gN_hP^|1q?J)F0Sf+gPS?c;kPUGiLWlMhTqfrv<-0N4H}sm%YhQ-ys;gg<^}s{^5pXYib)0-zaW4rJ{O_)r!@ zHaK-2{jnlk6I6`f%NYj)0=L%McoO;6|0Gu-lK7bZLQ+qIQ$EDZFq zM#Qzp12jHts_(zUd2Z z{SU;!2ig=>n12v*1_}Sd``WYctkp3Si&uF@DbeFNW$t+x zpGkv)=E#kVZ~5Z8u5$@IxPd}SchtYZ-(xhPv}jQmie zIs5Lm>MRdLr@q3KBvqoXQYHC#oY39Oi88f56%MmKguGyp#oN%i*5?k*@}TBTsa!NU zqUq)DaA}?cv!6_b&SL|$VBW+jB1w%MO1L{(b->&j$sahCO zl*Aa{0sJwZ^~iEjQan>t&V6E5hK4x{*hWay0B-2;qwTM0=hCui_wdzKV7yfyN!srwJYQzS;t4XixMGt(9N-lAJtO zjGJ?ksrHnIoZ<=kEajYI%WZLHf;QeT&%Plj$a1NO2I#b;7q9q+RPHR~I7$-}0fu}E zNe`lc2M7?)N6dsC;n?5#pXLvXBE<>*zZtawQV}U?5iiL2q@%At=pVdWc5b!rcZ(iz zTNTOvg{PqF$#OhcwL_xsuA%gTcQ^%qRGHXjZKNh z+R&*hSs?hGUX4db4jA4<+6BYE?U#e#OF%jFU}@Rg?O==nP-1#H^0sZ@P32+{?Pa0G zrVDV3{?n+LV5m<6Im86^jvDX|(k@NJUcLye-TmlM*xwIe6prt7;RcU)5eYnf)xyY< z*~kG)XM)v(A$>Raw++qXDf?q^{fyK)Kui&yfi^ac&o-WSp6}M2amFZXXWPlEcRa9O zXEQQdn`&6=r0+PPGih2NW)5CWLwzZxNC}uy%`&*EFaRyx-RAK&T|g)gYr}XGk3Z(u ze-jL!dzM#iYzfHyCLCM>&C%`Cr;wfb;}p+%9wl=8 z^n=XhNFt!%!p040x|P^(8N9Sv_NB`#`;6$&GsJ4TSiY&~U8D2MP(Yk!dK}dOPgwNzU7s44{;5*@ z1Yp~kc{_e+aeFs6DQC`gY2oIxYvdLo@m|a#;pRq?IpX4pL5`Ghy5Y1 zN`rKu;8%rv8p;LiUxs%F5UGRSI(9Zb=bI9)`uT`onO@bGt8DZeoA?L6Z+ly33sl)E z?mx7f%x*S1dlA|Hsehjk@C9CF@`h(h4;gm(Iu8)_D57h)$nnF?b+-8zxs41t%3JYY z<|)r7U!2xMeap$WT+@6v#kO}x1+Q`mzuM@DN*=q3lYK8tSo%HQHh|eE3r#?bx73Nm zK*XJ>VNSgOBIXDM)X?jH?KY(7SD#*%-cDT8KLkWR_L}W}N1sUQE3I1_z0`(5plQ>cnPqr0OH}Hw#h>XNx?6`h&NJs zZho7XbTf@oy#2UZQPh5V^rhR*9>b4AM?c9iFE3#nvqcy}5tHHED2BF)p>y&R6$|<7gQjxx!kT|dMq0}E{A>feKCg`v2C-8Wa9rc12Dq*cEBcMw#W=!af!Js} zZJDG=e?!!x&1756#tt3@EljT$^_xq|3GF~R-xwe1pdb8#U3{g)R&=GwW_zJX$xxSx z`;~rb;4XLCb48hyd1(yS2Zc-DLi>x(6+%TP+_$0i2WU|_Z`GEod()Hjb;vQ+8*i?f zeD_-`A=~W&kUhVuj9qbH*1T#Up7oiT56zYkGMk-;@#ZpMHLiv392bi^?7tUxJFk`4 zC=5SzNd#Zjd|ljx6f)YnS|EqLFXpb^EgLn#ea@f{>JLt#t~K84A4NSl7@Fo7Q9X8* zCPU@k9VooA3xNt0{%HAbN&ESIa=zSn*9s@lk0M&cT+N!i!M2z0+&j%gPiW*`&F7k6 zH-a(;<-~1~p|)RB(T&;fni@7wU+y{iGc4^d)7;jIoHp$znfBc)HQabVd9}chyF7$c z1I=?UH_BM)00NKR;$r#x__Lw#u{Fq5MO$IaMa>J3^P(dUEM?)6UI#omNB7|*x)Y>5 zy$d9V0%)~;kGLuIqbZ;!Du|Pc-yi#p3rx2xiHF*}hY^*@gN>v+ZdMW>Y#T?MzW|vU zokqUcxRAcW4KlQ4P5=2-obO?GY?Afr;W?kzl3S8*`yuaD*s=+Vw6pD!CAu^31XT4V z=I;U9N?Ni+}T^w6`Z`8?Df^2F@J#vRH?gTL{tzS4miV2VF?TPN8_o zPC}D!8efQ8mTY@k9inb;9fp@D+pnz1p;9y^FQas|`Rq!(H**c6f(|DUibeG*Mbk(*Y+K@7)X@*sSfDGW`_14$V?2A(?J zQrY6|P8pKKTTmf}fSMnc2fAhKk|ZUCzxYkmhy?_m!sI`UHUahm*{?1)HwgyE+r%zV ztVixIJ_JKmSWf?i_80oImhX3NY6=OHnjQXiDGZ%QmoOD;^y zgvVC?2c&K&0;5Tds!*od;m_WZf=axJW+MO5aLKfZ8dXrxqOs6*bqovk^HwJn1M$ta zwl-tHBa9exnv#yFib0GBfZ-QNO1xWIcsD$FQ;67P0e-fsj+M{chV^@B2{|S)bOtXL zv-5mzd8-tarD@0(D{*WLP3%=B!u|8q6T*v>h3sL#+KUeBfrD>k)905~3D+=w$rfqJ zA6yKbYbazCuTkJ%MK~*JEJRl~Gpu-;>vuK3SBw2agI?VK?x*{rc_}dh_f;;L#J2T^ zw(O%mbmOvhjV8Gz?G0z8r89AePG{LY>ry9y*tBZg8hCQi=#hAE-@`X7Z-y?Lz0g0# zHV2sZk)H|KMi~AXEx@K0jD=XXsa4fS8=d}BhGMh zx-OqkrQvO`J&@}oKX9aNU*Lyd~{tq*`2*RrnutU&i=wT8&Ut@Y`0vfWB_gTCl}+h+14U9-OwJGj#*h zzd<0tl}tzo$J)rAcf#XE~qW6rRDOs@~>yDi+zcNXUhRDoIZ^M z)%-yfK))4QTwzGmV`sf2{t={#IFk77nFk{gZkyC~@50#JX*Bq2W=OMMcyrulxlgs* zeMGC!YdO?WrQo{fxR1YHK4xhq?&8jZShc|f`@Q$yr=56avEr33-17iY&e^}s$4!I zoGO96Us5R698?~sx9V&$hPZlAX$caKHTI#O9_t@ZFJhTdRz?nx5CQu$Hb1tyVwXqZ z1u{-puAKh%umGk}2EPBnGTefu{JrxEi?R6Mz|q)qoQS5T(l25W!*AT&{&}Xx7a5@~ z*FmI;hn=X3Ckgx)%VqbER!npg9?3K)p~0|uo@cZ9H6WZf&~MwJJYe0ix?WuySOGzL zJmCI38DW$<974;zA2jE+O+*zTKE=dgxplhOxafe;Rfq8E<p9ZtO#YL0F zc9$9}gV-OVg^=!@9ToPs$RFa@=yVhnj#dxmG%3HwcG$loN?VlV+4u~WLxK|blCfJ7 zgalI`RK>7ybLLir&>g!blC>JIPvke#nNo{b-SFhUV*?uL1lU9DYF~`n0`c&~18}M& zo|rJw$Xaf<9WY`^$1s+{O}3?G{pJ``X#kxW=JcorNQ94xTaM_2&)bW@Q*7Yr;U440 zv~ir^mY#_1S!G<2cdp#D2*19m2blinT;(UiUiGPeVF4-gvBmhyXt`@GX@2wH=x5}= ziryJ;3%=7rYr2g|<5)la1Ci&&k~%D|#m4DR=#r%)0v!Vlm)k94*t351Qlz-kJmkc{ zJ+qTkLGFwPFQ)Bb0I?p|IVk?pJvqNHth^!Sj_n`Eul_i0yw5TXZU6(3MF^;?(e;AG zh}ZtOd7u>CX<~B{x%CAEB&j0(QMCT>@s#2hs>y}K;dO|e z@G(d>?M@%$nGU-kGg3xWD{8EXnMC##N*^cvX)h!~@=o}?{E}@b3o2vm($t(NzNQL$W)|vsz#>|wu8`{t*FZrnM%sht5(W^N!zW8%T8*2 zi_@$nH#;@=qbObQa#D5l7AXD=@>DtX;}xdOeDj9A3GJ2H{F|?QyEE@YEqQW%kD@L; z(B`-z4z&R%ZRd5NCp_cst6s#LoHRCGAF5J}*paQ&=hgS7HQb-I``%Oj;+(Yh*35I1 zqa4|@fqj*E>uYi7eIqfzJ9S{&AaCxdy=(YrAIc{ViE%>(RzV%BvRCa`Qk}9>Qs=oU z+_zwMd);NIhbfM7KIeSVg^V@c-LOmLP)Cd;xcw^$qX7?XMPgT6 zsRQ5M3tpTrA8h;17^0EAjLmHx?0nFHalYcEH-Jent>8{wOXkzKOnNkz|XZR&f1+~L^t_MiCLd&vaJ zPE7{)JoeGMZTt{RIHtxcNUrtVgLZ?ZR@(m7`f-c8GIH!mf+ox!%bJ0cy)$Ig@Y+w6Jkp1X2R0}-7=(hnT?V33depQTUdGhWhe zC5C?^195sY*qPw+VVLzd01pSEd<;4o{|{s0--mU|k^T)ls2Pjnx5v5jw1X@&1AXWX z@*2qCRuyE*r+Ht~22z0>JZU4X0Xy2%8S3)sktFf0>Td(a1XuNpHDRVj=5#x`p*X%t zd|X#f;%9mo8_V7rWEGy{`LfexrL>;$#5IC>O*e zd~SqVZH)BDIL^X{U0*mzhf0Ex_!1GK^K?WRV+}hW7i`j2aw5zY(uBZ7`s*b5%GqOB zdk?Z%d*^_kTm~f7IAbOGk`Nw)0FTF*I4}kpVqjdQY;QkN_P@zQ5dx}FCIP)-Iyojq zATb%a*}FnOha^-I2SOO%*%u$)y&};H8f7y_qMpp1fDy7`*v2R+&R)m}h}lQ#`HTo= zFC?sEY8#y5q(jAp=XDslZsS+C_XcYLDZ@~{5ELyvEdyvg#LCo4GH&w?wH3#2mdjug zH09viW8-+p+;`$|!|_zgT?m;?&x9*H5Y|u-IJKVE=88#0WI9zjs(m&CeC%s61LjL= zmP*wUW1rN(J_)2|V%K6d=GvG^-Za+vwcdRD~{%GCN zd)&!;la?)i<_P`WurimpaQ%qKi~IZ^RB9!0T4}A%Z{KPCLJ^nO8*zzA#clMuZ@j5p zJFhIh?I7)T5DLf=Gb#-6-k;-2sWc5DrE>vSl2C*{0{f-uND+t@@&Ec(v(CV;f$_{xE&Ry5n42)`6Y+Uk_RCa4$BWgx()$Fp-Z*Ct-C?3} zksE!`$cdPNL;lO6B4x~etN_+r4>E%f-LzsE!;^Aw^J9JUHOGLj6WLCDd83pFMB|r_ z`(kVgm%4umMl?`uX9tV@h@GQ^$*kU8y&cv zLt!utcq-9;Tc$^VKB3eeM#l%A!RC#U@6v>(JNSMIkqJw;OP}9HkAZkbW1v!x-#doh z-AB3LSYHAYwd90FMHBl}8_^2Q34)dcLEc8HeG=ym3H`r`mn9)*fk-h)9N0SJ7oPp< zDj)HGZ-4)rfE!A>0J`kM<%}Z6dGR%2{x)Xx`A39c)ho&uEjP|Dfc+Ma>FJE{ z`Bgvk>lL3b$b}IuN__!k{BZn29Ik)+f}i7+*%q+hcW_!yK|*T*OV%Xc#mVY^t1f6S z>p>r8-c_9q=Ul7LrCCexxu*eiZDl}KrIKg+t{or4eg(^4C494^E(!8{;J0->ic?HXY%8b zX4Fu2ZN^|ixNJOZD{b=ZeGaBA&&Y@!fAQ0=L zoi}LX_vY9E{-3FmE6Y3kly_VaPxfUgeN5A;#tmmnUSeFbW&Mb~;ZG;%`@+ZW=X@{J z=_F8O3^1)4c>7DB;j0p)g~~I4&b*yZnrQ>5!JnwN6jt7tbeT)JEcO*z@1-oRS(<39 z<$5!(G%pmnJd@~A7)34~u&@xc)OWjc;Uy%=>7?mSTgmg%6@xy!OM~FaXaX2Xl_}Rl zAP3P5!)V$w2rkrB|922C$i#!en`hO&32NiqSjFZ!o(@YgU|$P;2T!otZiJfn#%c(p z1KbfILo_CO93#ZA26hnZh5Tnc8gMlF&nHm5M5UG6Em!XgZeWM+XSO)2waDXwyI40`I=X&f)PlA#yUl#q2kIGpWiZ{8*(u*T zr)7D*_*fitY3b9`d#)QHg$qlVftje_8-5X@fTDCI=06u?<8sOdjJz*pgZj*U|87fN zTg?+H?&D^H`dr{h@5Jb+R>p~EU}QR}{-#&tF2+gBYb;mCA4b2{k7vWZ*iccX$@8(0 zh}OQSA)v{YzkiZB*#WV6ei#SorScZ>oI02Td#zj9J>i$}Y1z5lC;jzC#+{d=w(-6K zy?;ur@kwt_>^X;#7fL&!5JG{Aq0?T&kxC&x@nv-I2BlYSArKkBJs#AG%6=oasy;Qv z&8y&q#>LT%CvT@7qzXG76^q{g$Z63vA4~WxwD&ga>yCzWR%XEV&rgv(S$}EP0N<8t zm7Vg3J|NN2jDe>!^h^?+Z{n!*{pquEEqNt@gRm>+^D6xP)n)1_s5mIEE+ zNoo3!?292y_r#$T{xD)37umcvzh-pmZx3OtM1I^35SlsqTGO$iP;o{5l53 zmJE5B3@FSVY z>?sRFCcH+9czT{ud2H(&*r9Zexq*dJM)UYXdb66bVkCJFPCO}J#@WSev7XEF>>Mb% zELNKNB=kCLnao?L+NJTI`8;Cjx*aNwAAu0pnGc=3;#Ju#aue1%C|?^?_HIk+wH9Mq8M!s{g5f^?wIjp)HB6}x#jDB@s!km06P)$acJD zVq zc*B)MAbW!nV8v#X+VZn`5fJ<-8(ROCRh7U^7+)<-`&Fpor&SI@`^eu?uP#-X<0-v( zpq4R{NM+^0>H;Gwn&aLS;q&naxxd+JxN<312#}`z>&G7an+R3<=+n>74v3s}P91)t zLgCf>lyUe6TCB*2&4fg?+*ok=q?H=G#~-+73xa~6C> zsnTS;FAfS`Cc6k;Tvl0pq5C~V8K2M*z>k_3DWdtW@IKm)T(-Ffx3xN~fmu0!efAY9 zW+aofM5(q0q@2qS@q`60_d=xa(g|GI8!ndE1Fv2GdH;j3Cm)l2aquE^NXU<4$k5mN zrY(d%kKJTZ=oqw4NsN9QCNkMNOQekcvi8YI0TS;!@x)C`1`3#jwgTtMLCoDJQXeEL zzKlpQ7H1ya>>@E@`r{b)86btkI5KAd#|HRVrG~1aiXxzJ6h6J)eOvd{cDD z5n%eDue4ia(x>P87dCm_FinN&8_31DXB2RBTiaY>p`xQ(oLKT&^9J*}Jc>~UaJSwQ zUe`^rKU_=XU_hI+mNM+DX`$)HP~`|83^!lgrIAZWH0~c&QOWB&~6d!<(jrjrvVY> zh`HEl+H$T9NRGkKnQ8n3vSc>pe!)|#d!XQ(IcJjFvXrav!OdnJg2y{{`M)$YL7RTN z{2i7Lf^jsDcI>IRU(wW$K9*e7sguy~L(bG18KrCo&k=ZK=kwc_QAaBC;Mqd?OxN<& zvsabVtkEU*f_p%!;UG|H-S_7pE)c>pZvkS891#}krv5H5&{Kq!ak=>EDNu&Oo^2ij zI?m}N?^uhYD;*P_LnoNixYl5ue(&bFj3>=wF@<1#$O%KGck>?yO8)po3oh|3zkex5 z(m2BeoN2sd{FpG9z?Oo(_ZM#hZh+v!3Y8N-OA<-YQ{uj4OAuLpejq++{6v}x-jd^! zhmqvQ&Di}na7;hJ>*m|Pro6A6BvntG)q0ab=qez!FQRhR` zckAc_BFywqZQLCj3F!E-R_3&srf74A=f76X-nN@x`kDLvd^-8f z8Y7DOse+$&?5aTD#NE%@FA}~viuFwDke@rPtr)!#?V1h~d}G)FD)msz?52DPJ5NQM zoqOuBZDOv0O6Q9GjPW=9K+|U%OPMwK8=lx(dO)p|kA$l4u~UZo!DE+y7AIiIB1F$u z-#fvm8{YSiaMN|7y8y)zez7~jYLCPK)cuVcfQ4JQ#g(Yo3LkFFe=2ND*NF%LqTMPH z8kxTZ#JFy1h6w5VGz_eq|K;EHAE?}UHgv#ll7{ZL17Lks0M>7lQDyI7W;i+aCB^pXdxVLSrGXsuL@kvMr@uZL zVzxtzu4|EExiq_wW7_mlVfBRijs7W~q@xbR5@W)rhtPGeJa>Td)`caM;>EE7@E$+i zV7zC-v7*GCrm`f)agR_EjIYjQ=ZGInwyye67X$G$iNO7nB72-rOhgyfpnR*wuP+AD zY3=SB2}V_jh_7-nLCQ)LepcMigMW0f-g%ZH-(iNi!Serf#pe`$5@cD@b1P&7to<2f zb!Im76d|Pkq*hxkZUbgBarfu-1XHU|6fsL)XJ!xuNIw%~t3}aTvqg8PE9eIp517pn zbdhmBA1OYg7_D=Ne5^R46i)U_v8#86gjZTcIJL_~D=a3iNJU0#61`)J!Z>YY8ZRaICuIbPaV3Y@=!cr$ zf$3|z60_712f-j0?yGielL072Z5RH9xc|4PY)R~;)S@$_FWEb$9P1Ti;67GJs62r0 zqj#|X#V*z=3$n4JYj8pO%~c|fE_1{g9NYVVO<7pHX&UfulBeEJ;$!hWk9&K5oCN?Z z87ZizeU!%IOD0`X^+}&v*JGb~e+}+z`{5-~Eck(&;B{t&FW&J3iELRq-zU$(P%)M( z&`K)dcleAVsloeE3!-|GG9sW*O^aM=-?KPQl@ z{bTd-=Z2*+U36`*3{T^SLt>@zjenjonyCUj;2!Wtrakb#L`-x(1NyOFywL%U>%R_g z|6}y~e>g~$3CxS<|8od0!1Tx3QzYh>8S|I)KebZ1oK9VA)KY6_5Mr8tdwk|4vue<@e`w$_rCxWXF(Z_t_wrO}3A4ah&z} z8?;d}m*i2_(h+&VbtoY~hmy=@y;4>6zo`uX83M=u>{it!>1PP*ji|$>=ha?qG7YVO z=H*|im(~y}S)XR*8;|E7&sXh{1Ddb0Ehqnrz4s1kvi;gcsiGo9QBWxXK@k*DKst%M zfS{;I?_E%&_f9BEFCtB96hV6LHS|dD1Ze>R1c(qIKp-K>iSO@wzc%}uIcH|i`DgE8 zCU-K=lP4kfz3z3bYhBM;l)A5!@sIGTl42eIaq7Pc(#+6+4Aj9SbM>G^>+ZWT9ifa^ zzs!wcSNa=p&36PRc~Oy<>5}O48$3U+2O7ZvY$lh74YYj{m*tWQP&gq3;tA{Fh0Y~iH%^I$1vz-I=jZNGg7{xg*XH?34k?iR$im}ys>uch=sQ>1 ztu_d(8)k$?K4*cRJE8x~*FiB1^UNXU_5LL6aL@k2YcsaZP?=Lf-jkQD71g~{Tc=Gh zF066eTOl*$Ek<+Vv8-<33EQvtebj)Ui5B^y*PFdx(dZa+d1u<0?5kz>I=VG~{b|o= zaQY{EkdjbU_h(&GiZ(Ne?E^!cr#o zcPBMus+?%oZy-qcBR@1r*!1;!YV{?BiFa)GtIBKJ{i;&up9^tE$mXFVwk{3OoL=(H zP!>i3`~z@RTk=Wwa^YBna0fUY=!KsM9R{D%;TcU?*v^-7MVW(F5aOI5L(0M-S7av3 z?y+VpcEqH!4TPnLqEx>d1lq3G?Y8WT!^kma3DINa?TbH7c8zat`kPc>Mus?JM&$De zvc3CpCQbYaa_t24cgJOJVU`Jm*tGC14qGu3S30f`JJk-U*;jHs>Lv_8KGlxPE_7Vf zl;K@uFe&|-!&>5(%QkM5He_n_AqJmx=zIm>+>lMiwOy87mcuZ$Kf^f3&qV-x2q8a z(3@{Pn`L{2M_DI;wgRIummxCkgyclMRxRqKd`~e=Y83jEc;ODUiummbotqIahz{?_dZqe^(VB% zTc3+{Ik6@YNNSx&!RPQQ0=gxV8%@kG+CnQTro$MuVm-$pHFal;NJ$!*qRvp`} zN9|MrDZT%_{1kqzC;+NeWO6rDympBBd6R*!HJykYm@vOsfx1+qHQnOE^7Vl1F+wh5 zJGn1h9eVI0`Qj^uovGbSv2>yJ7Q}W?)h)MLTPC4(q*>?y)TO3ul`t5+>?1Oko18%Q z#rF&5q>je=4Z5IVIzi8cIPcBs!p<~(Yt`P!faezOr0|`L9G3hfe%m9L3Hx+_$rUlxkz@JL1N&)G(&(N%osZEd>*q|7?t;CqvgSqi)_#OhrCUL zuip9mIUUnXCGC*qx1we+2Xv(MSP(J;iQyArk6zKBYC_ihC zk#L&S6dIf|0@WyTUAr@U5$M-fBv>AZ?_Xq*c+j|cU!?7N;1E;zEiGTC{QRnq8NODI z<54y5C+;?y3Fnt-fYy7!`ej8vb6_I&``awHRj-ujv$j?I!j}{}kZ_$vnfR++(!>{= zx(*iT>3V~iN#*ItwcvuEGZ5Pno4=9=?p^C#v9zvSj{B4*V6!}}eE-ectU2O6p%i$; za%mS$-4LQ)_f4RVu+&U76}Pb^Ap>$lwRxoWr&f`ispR5l1vs#$a^%Q75|nqK@xDb{ z6#!F%EI;Ib`aG2SVW0k@H1?}Y*iJ%A3t>chJ{JOuuo_)J4H;dM5hwKYpw}7xkCrm z4*6}WI5@Xp;NMrYh$<`#)$FoE{0=gj|9rJSy}-*{?0JgC!~r-zx!8LG-}&&l+eZ4L z^INn>4e8^lu+hfD+jBJ8K?lzezjt?e##%>N+T(1LT?(nlRGt070lLB`26mN>>lAAU zLTwcU5uIY?)YgZzHRKIlO#}1u$Ibq-GuBzVPQRNucHFd|;+q1zpC1?y{l$_igi~ph z0^0;-NuGbn-BR72C97nfgquN;54HSIHv}QItLcK?kP_c9H)G+CO-T^1_qdlsfVfxW z84xI_uYVEt73$bKaenFEEy(0Pn9=gg?Ts=0y?4eD*?#YFC9Unk`t$Irov6^SHj>)K zsoJORr&c|GVJB@e4gmGvNvF=~&C%3YSne3AUyv9vvv?e<{mO{)5DKUhMrdyNsi;>N@I|58IL zrvIC*xtv+>?XV<2tG(*Fk+{H&0~n|gXl<^D{B5D#LZPs+-&b_1 zNi9(C4Ix1@*9{?aV=6Uzb&HcFT(kcxP!qws05U-o$;Kei3s6@IUI2l1YAf0$u1)Sx z3{iR~xdP!!@n|{M9xAN&IJ+S4VSiYO+q^@qv4Ou?gZ5*!o1w*U%#e6H@d#aD_1ghS zp-u1uc8FaPc1sZAlMzn_M2@D<0iy|fCNlPO=CuKX74yTP9d-IF29tfF{BF! zb7W_M|HqQ=xcr5V=1l5?d{t9`nUQx(Hdk_=fQTG0USke$P)&dpk`#SD!S0vUJTV#_ zbn*_s0uyHzK?|S>(kDtM!UfR5|BKgYF68CIGYnXTFK~FWI)e*9&lmU1NG}Qboj32% zv%&Wn$P=CLsF0+;-JZH64gWR6mv2v`ZlyR2LBEQLoz0?v-m7!M2{+V3MK>-owe2~3 zT?qPz3pm_pKpmKPQv9f4EX9vz_i{Kt<7^&<{R1_>5YM0gO8MxlU`mf5pZVu&Ukld0 zDk%w%qEUOVQ>0bg0K~!!fW{@p@Bg5-ADbSa_`z zfx{$fX8`X=;sQB1lD>(+@PzAD6PW5UqZ^JTSX$YQOm&NWZ5Qz8tt4vY`#%>!RI3#9 zN*ihLsRc~c!}po+-!I5;W-TT-+ZFaNcTX2`V6i@P_Bz6NZ8pHn40L>ww4_gcJiKmx zgf<7PKm^yGxK3aGGJO7ne)}(ZYCy}sL&D+nKG^sUY1T2&x2FasGB=w6}52;y`4lw1x44fDWamQ3;4ChYc2^-@M|vH z5RgM_AS0zEAOF}=M8o%mT;wsj;QU=?Z4aWJVN0xtmt*G$q0X{`rNJ7J;BAr6Jy+Fj z<~aKX#(ux$3i+4+0+ISSN=5 z&o=G-@C@V;9SK@ztJZG|SCgF`Y4r?iVqbc{?|i^ezoG!JhnWH1!z3~9dowsw#+NQg zgaOzmPn4iBtfCm_{sS;HC$0k3;=z4>wDr5}6GMHPxVXU*&F}MpZ8}nWC~C#m2ZT-x zgJ;+cFvunL)!!)kzUKL>=X8kwX11Pa?;OUp$-FOpVb4$zolvkG8`dRBs z$S$ZK)%3?x)NoRh)RDh)LK2q#SyU8n5t1JIonK#p^I4O~k0{+-O|ABej(O?lH-0&)549zF`g3@UW;mGIroeGGKXb zW0C3Iuo4ETA>mHnF?a5rx9MxlG~dD|sWTxS zvEUX3`f3Wd8#Zm`j!hj;eu6w!kmi{jE?^X4uIltbnJkLEw84haYqmhd!G$yn8tHzt zh;`|Blx^_dx6`K_!@SLM7*h*%u5>IhZCJx66tt;))Yyc<-oowJPp~hbW{v>~j++`* z(xXoZ7fVvQu<@g9O!ZEkuL#>+E2M|k75a@VXZVvNAw{L?@-Zesp+=vwrkoW$@Y*e#BfC*&*@u+@M$5~*%Mt_{W7*gs zj^U2a=pjvIul^N)pOM|UY)HrbS0(Q=cMGhiPOHz=f zBR9m&oL-l-oV#5fCJq?A?b+5L(VozXD~zu^zI7pCN#R2S;(8Glma2DQeLFzu;nrEI z-dB5`vEN7YL6Dg)VA=%1?xU`!>lXpDva&*Za7ta>;vERby>h;jF_c^td}YVLZum;0 z-nXa@f9E)+0qNy0%#;e5%pSuLW(;~<2x7yym&nN%pt;v<3)5h!!9{n=d)AsTd1|Rl zZqmncmuAOjv!eEiqrVBzGH&VR&G^0X-eW@TH+!L#4wwK?UC$UAOKG_NkyuA+eeL}F zw7!;iIinq*XILWf4V|xVh#qzbC^!flMak8JhtIV(fW1rFVC^xOs+vKtD5!vCt8(3` z%;5cvb}2FM{zl+1P=gqBh*sd7$rQq&?jTTSq%Vs&RhuvN&Hv`4fHZ$1Mp1kLfu3G` zXAG*(GIoZXA~i%UeDebWb#FQlT!53Fe-;e!e6lV1YQVX_H=h^G)D=5_)<8!x-zWSk zqyYU%pw)3JA@RMt>9Wt*JRQaRAXj{-Xz(=sMCzM#J)yM%$o*wUC0V$`Rcguk{#X7P z(WezqPsRa}U%Du005<9_%u_8R!nqTC2fA|~0 zrg?uUAWiaqgBz8E$Ojp3YzonJ`leSdVvqpd>9aPecC*gH-KU+DhO-T^pbVj%-f&$GZE+toxQ_u zd`B34n`aeb96wU19fDx#OhZM32uJLDMoDL<^h`8Xif-~(;|<$+E}DOnVG>leVCP#_ z@}#>H-O=$E*SEoA8DzP6r-pjipmV^Soq3=gr3hUp#R(7j&~-r?#e53FaWt}YVHs9nQu&#-u$dXjUJ!7R+wq6$fPdLup?6R+MY zb1ih!Y-V>N-R)H`+$(*~@TTOk-^uZ}XL0`3$c%XW*?zlZxAK+FtRS8kfhTW%bx8@| z&CQXzw}~#YsDy^Dd~?XY<=CYAe3tx$`33AKYsk|c{i%87)sHrzZ1csR5=s@5u{Qu| zF&E0Ew4*2Q17Pi{o?mrl>@#~p+Ar>&4D#l6wtlv{(dS>e3CvboTDG7cHi3wE0|IG_ z&Q}h%%#Xk0dAV-SnI84j<`UE&7vWK6_c{#_C+{)O>eS>x1qK$dfKSXs%cUCt-X@PD z1p(L3X;3OG=E-Qtg7zw!zk-r2B?2}?1!n`&`es{C2hQ)dxUx!_NC$(6c`O`fUpe4s z?EsvKR3t|Z*E!tXd_tUC1Q5k?rUPHwFVz~OQCX00XlUvDh zBnx9mu4hFB6$mZ|L9Hw^`)fQ4qv{(Fg0hvX88#BzP#3nk^EXp)0V-Y@XBN36rF|0+7y~vr=BvABS7K%M428STqz-+h(Cp#fkA@YaJ24B07wP@ zLpbX)#LL}r1c+z~4<3d8gZvD1&hN$e9IK23YOj@l_tW}-w1n2MG2mFRj8M=e3b^jJ zj6dz>){o$4l0o0RP`O@SmeglGXlnerK{KCbPoURDj1A8Bju)~+D!@*pzv0(twI2EW z5E^9y$OaWa?l>tE*83Uv2b27hlOY){)1#*|f1RCWDx7RVMSBd%)vTaXctf{s5ejns zl~iKlDU=w5QgrmX!tDAZCEym)rmd)ORMJi2`^s{w!n?VRZoxJ$IlIH>3g$@)eHwFyIU6!R^=XeZUf|%VjW3VCN0^P2x>8vQem{f+E51~7iiNwB`8XO2i2m~$w zn@|j{Ir%;(`26@C_$U#9L1>bBzHIun7|d|A<-avKq?Y+Z&r@<8n-m5>2Af~Z09SL+$`dz%E613j$bAv!01uLka^FYTSmkn*f4Iv^0>PzUgV3QZ zjor~ic);|AjP+Pu!oz!aG-N*nl;&h9cfa6-m=)Z3+};~EdLIKWAkJ^v=&lC3lZV5; zF9D{z>=YlC6FjSNhX_7 zb6P#xc9iJ`@U*?XZoLRPGfzRdj8l;gT2{$&$kdjtn$N`QK+5FWI}~E`DZQJVb@wvG z{q_&ADUS#k-snu*_18wnVP;?$)%k0Jb0UU1o(>x zT>H$A?_@_}QFQgBYd_^z9naX??0=(IGXCmdq^ydL&rwul2?MdW8#QkKnQVN-%NnH0 zMNI=I(W0W5gvB#~Ibc-fCHYENTF zLB4-2P9`uT;fO7j@u<{=OLZ{5oo|q+dcd|FV~EBKs4hF;($0I^u`J0(a&TON zuRB9EjDKd1o&1&my6wS*AE9V?UGh{)+fg-j>wYmi4-9|yGh2yLl)py;G0;JXsVXX3kimot-bZ!lMT@`qKB!O)2x*^q27MN&XgibJ$K ziy;v^W)yc8cN@krn5uHbFnGcrB$3B-$2E<15)+eT4=yDw?w&lwF)qN#LTykYDFcbq zul^zD{+}nV{8lBMLuGbJ+6d}zF#oUQoH!FT=^UpTqLKzqeQtzJHuuG@7oABYegA&{ zN=ViNnZ+HNsfVuQB1`Jvf)#0CG_6JBkPEqyIG}j-qa)5CbMK_V-`n0aNnXgileQaq zoS+pmD_yI?_Y#R!7u97$Dmlqt@mLEjhsrMxCG=LJsa4*g)NbY zIxesdxTTd1-TZm`hWX~bO|5qvb85&Asi|jkEY&ljDIX)APUC<6viZDI(=Pd_Y)2oJ z8~URAr0&;`J}8>n@n?j;^Y!9sUF-1^iIxX?1f9L&>Qv!kkRjncI(2-hU+*t z#$gV68=`TqLh~>Gh}qUYnfBL3bLuZyuhFiTo2zGjT?lRN7_Qbc`ztB;HVviBBE`@2 z>&49UPQ&jR%H6)sKx1yhJ%1Lhvs_b)8-8Ainolzc>^}nI>W+Neg39neoovsxlEa^FGLw#G$O2xyD#YQ#gI_+J-37 z!Mv4}e4^UO9&E;P`|HdPq;WTmO8`58SOljkG-bn$-em8%h12l)ceg;a(u#uGQNYSwD_&MN(COGi1|lwzU=Un0LrD z0WWIa(fiD{oofEFa#U5W!xsyTG#C>E9-cmMfNF#)ZR5keGN;rcq_Iqv;!!Cf5A;lM|xzcSmEF|fT~SQll$QqJrwF8GwoJ_2#VDL+D7aL^`6f${bqdDh;xd_Zv#5k{%z5pw{c*0s zz4#2tZBgBP;qdC>mvEm+?5|_fvN>(Z_PyjdLJ>pwLy0eSiWKF-Vf!U(hY7M3_@Ywz zBkk`BAVexYUqR>kv)#;q)2hSv2Gub{cVdKXasP9Bc7pY|U3r$$_x<>3a(4r&vzG70 zanP4dp9$pRyB2mA{+zhNRG=G-^&DPRdMA7oS%rtL7tT{Y%{@s90iRs3m3I{EWQvRoHHc&`7>e^KNp`%Ucr<%HQk+$5vD zdqCS1yi1M?Q4q=P${WApX9r6D#R6+UcRGgKI|Y2N11;^p&^qRG=wLX4f~Erxi|V zZfx!wM$tOfS$GcxW0hTdf0f$Hr(*G~_IS`2?`@KMw)bNN<wjxLC=|mpO5$cGtMxaKB9!|l6#2qTrwsOFmoy>fnn|dN z+kP2A4k$<5mX+1qZN7Wuwb-uDb>mS9D)J6n6g}vMJ^H&r#6|_jWE2jMeVf zHT79vsMl{2>G&ZyJB#^6rZ6q`>LfQ}GCU#BF2{x=meO>)P&XMxP)AD?*p*T$4Psht zUxQU%HoQN0kFMK{)ZwvdHO1011U73|1PV%mRqv&0av2$ELW|UcXS}GTK#th*`bxe- z(+DpK2XGqgTroT&Q_ACNU7@4O0>AllqH*nG%c3ct0{ej9s#f6N;woC~zde0gmb6VN zq_^7_Z$IY4mi$yUhZUA|)wyF}-7Q98 z7aZU>gXznLTJt{>Y!L~b;RKHq&rGy)P4?X0g*JU}P#$+lsVQ?%R(r)Sj-&E?dd}^e zZesrtZs{xn3fnOd)zHT^A&HPYF50;q_^*x&MFaB`b)~T1*Zu*gKTp6spyil zL!QYaBxJ){-KlnZCT4E10i+q2Mx6g<%FE3I^*=vcn^w+dqZu;wA~2P0$E0?|XE1G^ zj#B!^cKDL3wvGd4E5eiK#=Xk%`V9``jz&bfeZP)o*y|xvayxK%?G?SvR^znXd~Nu~ z+JKaJ4ujK;E_>0~58AqrM(6V^3-Xbwn41qAFm-9$prCJ~Wwm}ym1hP-mhFSnA^vWk z^`^`6xY>t1EpN}`79U1RnU%jNY^%a^CS==J-^z&M@9tpYI7ZJZKYPj6VO%?BFRJ4a zAHF_DwKp-z--s+$G}*sb&*W&FOck#`*?jlCX<(aJ{MkTjW&A!d7#(G6Y)D;*J#8B1 zDQjLD?$*ON(9g4p@EN^MMtM3NCyde`Q1Vf|@}}Q`hrb?_Rw@3PdG>B>pmn!o>pHVs zx%T{nW9ZId_PVwCwwC`rgH)tYN?p*ECcXW|ct_09x8sM9BS}=7fb3r)Q&fm`eIaY~ zqH)QnOuQ$BkXgTz~x3pF8%Y#msVK^Zx4wv(B0*i%1LDKCn zy&dRX1EK94UYpowUFYjeXyw@>6j}uVi*}g)Z9(jjLMRgcZTpFcTl~JlqgFw(r@oJd zlf;turn|KXrYbt=oqle1G^KF_HuXxt6NGxg6pn7SALnic78&@wT$6|y7~J+pKb@}+ z#}zNKY*B%%Soc68l1x4ba1szCJm)3sR66Rqb8%~*aVO*1gGp(g@t~f0eY&gXVRFmM zq$hL>fB*$CkcIFzv-N7H*uU~~fA4q?zhB<#d?`wkzvZ}OOcBHVheBhQ(kP5YE$b0Q z0_+HiM_T?J9PhIH9V>r2p5&u%ds=cwJi&6%p0ZT%&l1ZZ|VzwooG zezNu`$5GJ+`bSfI&^j`Fdq{l}EgEOBV(gWB8EYtdMXH#~^)LNdA64U;o|kM3KAkTG zszlso1QU{H8hrKdF-teonyP<WHc|}K(%7m;E;5U#<~51-i52%Man#O*lgoY z?Y5a;rLlYJ_c9n4uDboK%C@YraEQsO>*sgXro~Rwj@XLKTES;L^s?p0oN@F_RU!xb zoA)z+?9Ye_k51k<_v@2zjdGW(Iw6na=o~Y zwSVGYebPw=X<54c1?~Y3peqFRNq^8>$Wi@R@15*lPc}BP13@z(-oFugru>Ey^)GW~ zP+N~>RvArakCwe$CWRc4d`krkfz`D34#`P2RczDj-=emeB-vkwiD zKq_XlhfQ8f@~d)mvrSA|3iR=pR?Os_`hvLR`T{dsA(D0H2FAJmT9l)5dO$9IE_24b zyCsQ5aMmd=_c%SRV0=K8QwE)=db46=nA{3A5WNCXNkGV54T$w^FqctF<#YOi^t879 zo!NRL+vcFBSzsecH5VxTBu*=?eyQwQi2!GqU0lx<%{!tK&TRoyP$I<43ZV27^`#U~CK;w#4guq{1mR?C^HIZt!F?t+{fsW&VApn;ln}G^8#59n1;i%o5bI z>L98$l~0=Zn$NWS)FP;`%gy@oAUCP0d~EcNT;1vu)A?V021n<|Q!x%qqnA_TtocXL zXKHJO6+_*3Y^WOP$ZCAg9`ZjZM*k9*04+sXTt&U& znKup$6FULtEED9XBGN(ZDN_ZKOYOI(?$x~@1&S;13<$(qeuaignGd#$r`AE48YYz) zD@_D+!@$kJKsdjZI8F~s>4rj=b@14Ak@PEVLld&13>iJ>v1_EbC zT!AY62#7<93TS}jV*{4AEOXO`uV~~N*$r3E{OoI~;J(j=9k5T`BSCk$aD9!le$QG~ z!wu`jXRhN;p2$(UhA~<4UI#DRHORFUi0HgEM>z*U9% zwliymnrW{86_lrw!t183#QO9ZPiy{3Mz3V%%IQXC(d3I8cKF zrUN74WB4}%jm1APExeFka(!c5X!pGiI~69IW2Bi>OM{`FcwUlLY(4#3D23oJyj)lN z%HGbtJJ!?_vV=m-(RJ0n{d7n1CY+o#z0<^i`h2N_rv5R~Rl1L%? z8N0+%!>C*?QNgIbXkB_(5UMfr51#%b>hPmGG%wl~SNM1N5G9ZIhz5Ar8%_ldk}P(C z>O`AJnfz8}&Ry~A3C)W9r0TXvtw6A9K=87&)UL3_&Gok5R3Tq#l}_~TZ%J$GvIH0kdNJ8|AF(9M5;F3}O_2WO>l zsXWTpJ2qAI z4AaCXx8&jf_}83s9*R)u#>IzLxe0Aww)89xKo*NaFIK#)Z*#M!muqWyS$0(AY)S8J zrVu_Mu<=7MrehsZ}BMmDD|Y5WT;} z+U4<6+e`HI{tX{nkP!*Ue;2I|5!K4;_Q@fi{gBe+j zpyc`&!_2`23~8iR77CN843(#=dnN@t-%#WV?cxD-Y-UNxDz-~w5*?@2!^;f|*_7_!;@Elv|(NS6@-8Wqw z*0c+-GJ3U&nB#j4+kJ$wogLF>dS-#{^ax4bk+EVKeCs0M$uFx7}xoS4p1dp zb1b>PVUV2taS1s8)V{*jy5@UAnqE$=(b(hXw}at1g6?2t1f!Qez$}nYt)3+v+;KbE)L_yFB zp!4NY^u2%0JYeXn`{@2NK0)T&nDl2#QgC1azz|SP8=zle|Cblbf+}8c%SH?15$sh{KBdI4HXNTI50e9=bsE;G=Z0Rm~sokhX_tL zd)n|z`*V!^%kH;Q6SB~UJP|*thT;EoNY-ciXJw*nf;!d z`}-oS?iBs-TBb@#nvw8zqJr(Av_|4D;l2?3Ac3jDbXMGk01NP1>b*kK60c- zt;?Bv)h{$mfa?O~whB5%w`cw8^$&tabd!JbH~qK!EkK^K8hrOs9=%_FdNGwv#700{ zj3?*HES4R7b39zzwPevK(+NDuZLIzHTHT&p;N+6LTZ?q#8X_X9l*W+lr~1xKp~ z?syk+T$s=4)@AvCdDikXPf*alxq{Eu4dOIVn|8U#S^k2ign6y!1uo%4I{E2K^eauU zh<&W{@$xp}5Sb_!zBf?A9|9pm+bk!|6|Xsvo#b9(f2l^ecGJ^_M86^juJk8b#MnqP zaHf55-Ct8O8w>zAL(MuXUhQ<|zs0TO*fZ>(A^95#8Hy$clfWzjLg8-nQwJAH*!oGx zkdVv7`A9ea?)G}nUh22tP7RVHU%7k(z`0#4v;c6k?xkvVNUt7qp9}hB%JsS@D^;%hi5-1 zepCF-%cwzs$h+set-Z2l|Av;(gx&6Rsc=)eF)uZAZXbrhh5JWw##Yy{zM8)_T$=bH zC@(`0Iiqh5C4JkUA}T$Tvu-Fbg{$O5H+SlZ%vzM_-9Ato-jes!tkoUYR9k)>C2)a( zf^n{$cD(eh*p$8h{^94>IrbLg3Q(lKgF>pw>C6oCI#y%%Dq_mSs% z6 zm`2oF@5C8*5R_}H69te@y55GjA0C7TEcg8+eN^ka(e$DvUXuonQ$PH5HmL3Af>fdP zS^mN2lD+2V-pS(kNT*WgL0#$B(uP7RSuf37Qqe*eX&^_x(J(=go+iW=HArWbL6O2s zy><*6O|a3Q`1nvCf?N(KGX{-u^ugGi0nO7(-%m!c3)a1)9&P+7Sd-OpRINDBPS0}9 z=%;r?oCBql_k+yM5gLcI_4MEm$Ub!=WO;1D@ z#y=NccxOQ0v?cZy*Gbh?gk$;izI^#;x_(aC2k+-rosSNDI}*}rqh72j)J)46E1?~r zPjh|M#t*kC&_$-t-;FGdNSfEOX2=Qj$iwHzw&M)CEh@U@#wVhiJJ5bhVBB)G`603$ z&2S_mA1Zj1?$KL;cU{_QTW-s)s9ljPlda$Cbg!%k4Ow82cjOKoDYpV&;m%6j{PO7* zoZdw~n2z>YBl^!x#L7JV|LyjyvvJS=o;`S-fy4qF@lO9Gfn{>OM}&5SNfOrS%1g7$ zpd2D-FD*zTJ`Jd!0$`h-gmS$?pz#fCB3 zW!)|nEL+0T-49F(Xj8@TToi=zarkWOYJ!@qJ|f@VIIbb-i5NItqffc<_+r5_aeH22 zGq6R=0CM8O#wZn+S4^Mi9$Ua99!AWQS(o3R8nY+QvN*lxyh+0YeS032GZOAKHM>@{*{L_HeS(0k8k-YqG{Mg8dYvku-4c<=KKfj@AO`CQl zMNP$oUZ1ynYX1HdU$@q~ru4yfy8y;vQ?7x*Tgcscj*)Lvka%oFR%s{yG;L3p+oTFA93=at zjy8Z&N7&SS2L#daD!I6xGaGtNhe?{8V*epZGRP9LbtwqGl>gMxqLjp57q}#L1eBLB zu){aMI`X-e+x*i%9V58#+hhs=&$b`MRFuGu_)B%)_roVkyM8iNpN&Nd{&J_i2T`Sn zMgSn;*&Lee?M(x7=z>Q26_(xO*9~}wWfEe7CL&r$Rv6n_{b!5TX|y*h zG^X8zLNJ;pm@g^21!AEtZazo1s-HwltF~iWkFAJ)#Nv(pH&~s0-h;*9i62@2Z~=*b zH3POYF1HsXsphRacxjFdz3b4sHfWKKAUgx`}+;j(x~Rbr6lB;7**jFY>YG{ z-5!0jpjRvrU`ISi=Gn8Z%Jr)yZxtM2^hEH5rh&A9KkV&QjwD*PpR-j#kNiq|Q)4C7 zUV#(XQQaFq4CdC**GUIeLXWm1pZ}DHQ1sGusUZTJqUs#z zgk9?+CBigxhf;7dzTn-?r!2RAcEk99q#d-BnalTGCXTtMUku74v2SFZXe{LtBViOy z!FGeq(avm&XJ^P9JcxgE88;a8%N+h-5azdbwjRZ4(I1xcywO$E9JpO%rMOntv_9%} zg-6_~sc6GN?xprLP($fugL+dNu)%>OLqNsd45Zy9yvR!+8nrqR>^z$S05aNoYas33gme2FUWaCsP_Bw&Y%0t%QgDdJ z&p{9v@E3=k`Dj2xA)sD6c~l!H6P}xtXjs5!XH5}1cS-u!hYF&3&bD3+nH!1Mh33DT z)A&&mKoWTW?)q<-6(`5VuCg?yV0(s_aW2a+(Akr4n~B;fx8q6GcC+ReM(x|Jz&+qd zng$x}P!7B*u9Z?jKvMM?jT**bx72|?YPzuI%m#@b1=IKgO1Kjd*XoeqmxE33WU8%Q zk7_r026P#Ke;;89YP=zBngEb;UHqDTnply#pfMEVL4K)pzF^V*>3#j4(_LK;zk8tY zyTTR2k9*z<4~h=p)})RxZ<&ZUOYvM&I*7;Y^GJ-PaD9Ze%oA%Z$?J?Uuqw-or7 z{`0exZf0wj@w5Ly0aG;9*Un$+Lx|JB5k<79vF|V1mC;#QS5P;eO$Udef3aQXVu6JL zmvIrN)K$D9ujCu4BZyM!gJllj=k5!M22ulS$myp2!`_0=+$^P8V?X35Oii-zd|dJj zd_MQZW2J>;j=|59YVCdDB3H!^r^31^U4;|JSOz~C1j}npHFa*1GPk8x%3Ae`%1HzE z*J9CqokRU~r^l1{PzFbSZYjURR^1B))^6@RgFXAo>3(@%RC%H#2Ppmp9`Bb&$#h&4 z?4RI?s=u40nw<#*Ku7y}Th#_jUxUa7qN!15l*lkt&0oNl!lMd%)F(OUD$=%}RTJf@lT8OGRN5n^tscavuzv4qG`y(X%jxaq2hqZ^xHp;2Jm} zue>6vJ3k0C+1&D4qriLfcpQ~R&5vx|e*XL;3h~JTB8>8!ZRUNHHa>M8*`$|R?x|i| zsMYnjA}ZB5nd4NEI6{cEXBd3CdWVwbJx-ECtK=#StPO7tmcH4kbP&k#Sacv7JebLT zKXS}pwR6|Gt;I3V$}A7=NkoN14Z8 z@Gz*0J1>OczPQ<{9fknTrDfon45=@l%jos8LahBi?7e3+oZ;H`pQ1(>iHJ@r5;ajq z1VeO!DA5@rdM7$FQ9?wRB%(waLG&`wdl#a2BYJNWQO00q%=q8gdq2hnSYnR}|fA{aDBdC@9JhLpy4dL&f5_{Z7F#)hq0f%{$w zi|YkmhBCo``qQjojwU|ubeCK>@`lWGkk?3XauV+m)8FN=LHi46TNH`Bf1Q^%HW+-M z79a}~Z3~Lor3og>VW&KB$f2Z+V)F8ZhP)~5JLI_uhhRY_*VWRYw3Z}N;4la91-fGS7_MyWRf|1+-wWYgIw4*kZSrOR9u1I$g*?JS3# zVHEVM9}RpO!WR8+oSYX2VsFps@t@WIe{2kuF^r^F*&cuAK!A9~oSJ^-0?d}gTW@P5 znAxN_6}%K|Xa=NPy4Wt=p#>+*`Hfjw1C4hLy}~YJV5{W&(W}vu{PB4>K03){FMyw{ zZ0ht#K@-N4L_X+>pE2g0v%H<2w?;l(U|BAPTfBuLXTyQ&AjY1Xn*pnV&P&Tx*-7X- zrz5YGloL$iA@)3JDAs&I74WSRwuAq{VPj}sV&Hl^k#C3zobphlT1$>gdgdt;F}m}V zKOUhfGX3F4{M}#L-xkBspyiYWTomRAsAKk`&M+k%e2GKHEx$GHzIycltl1b@++lv8 zHXg(8ig<{B%E|+-^ANlfmoB4cxk1Gn_XYp4mbT#e?t@8d?nmG)?BNFFtP#{Ao6Q2u zMg}1@B;Sv4-%HfN2nn^aV=!7zY~CpuUz%`M-NEy1gQv<{|LXjFK7RtAaU?=>$S|w9 zP~;_lFQGNHVMbdokK`(-X5T2GRSN?#zuH z>!i0U?vOc9i+#1O!}6oK=NI)Ooyb+6Ok{45J3q|wJ43WBi_FU*+TM?~1%Zwhn1Tv( z;GYF3cS`s3A;#6B>bbyX2LXEm7W(|y6-L-eoAkhFAz}7(*#2=xMM6k9uuD~>Nk{dN z!n{7NkvMb$e))gqZ8RI;*<(qwI49DZw?n~+F`Wm>ogf9{NJ(I=H*G4W&y=##pg;K> zti>Gi{b763QtDWl;}~A@>gMF-Y9{pwmvKiq?As=~vdginAG4bG=$owbzvV;G&_ZBq zeYC91MDF(D57N4EESDE`>~Tx8yN3~4o3pP6y*|F1&WlAy4h2q+8QfQA)>OZ|`Z1Z= z_Ml)A*o_q;dSay5Bc!=OMu6iBpi{wT2X|FUK_Sw0$+Oeb$h z12GHk|GMX`(0pD$ISnDiwLVp9?Oy$7kW5tb%J4#c`_FW0)>_m}nmEuX?b?n&LCc5ZoUwql{JBcq{S9@$v^qIJDqJ5o=eE_mL zacBrroSNGxyY1{|Kt=JTRqIZ8cp`IO>e6}B{pDn@{6!FOc{Dy;FT5+G3r`!1LAM|;ZVj^C>AE~HuT%DG;Rk(H+ z<%@M!=oTv9mCdQhz|;(j9QCpfY}T*=%|J?Tv705BmlKDuIN5}}vJNka=NL{w<=Rw% zEspRpd$M2RW3gY;a+9H*_)Oh;!L=mh2#X8zyIyDC^o&D3xU;w!?BUwG$<9Q{IHwo8 zvBi(R?E8mw&yk}1LW!Zow$9U5rvPbnipKhX*Gc^^C=N5;*zIqIZ2nti{R!6ZKDJvSF5(#JGD2KO6deylPFm3%=&~HK4{0gcOPFr^6XxwMp7qcF!k1H!ZU$%d+Wbb1UvgW0InrjS- zwY#b=zVdL1+-s|DTKHi3ig&E01<}Pv@T4hz8E7NCdn}!2CG<*jW*+=Q*3tAu{8>WA*OoVjy_l=l*>BR^;zP zh&n;Jy&J_+H83VmdHGXiOayrHBOR(mJPb%^bkeh2=I2rK#}aP)iNoafx%+&g^w>@o zH|jkA``O;j9F@~1Ro~Sjs*oKm(;K7yu&Wv-?49N>u7}>iciGMoun5o!kW2IgbT#1a zztxrl!O-P_vA1KtZAq)NENscnZb^{wiidXpqXm%fIK~G1tF<173BV>0-pv!?8RQ_4 z|EQ48XYL(t6CjyvXj$=1sHb*Az%*v0_Gv9_gm=hG(*>m75TmUsJQZCufLmb25D0Z{ zVFaLuVKe9lxB>6Jd6J&om>%qLb%Ztptw`MUBqcH7 zx&sN>dxo}0)=C4yZMS@IioOcBZt86JYW`IHx!^Hl2$;nl%bonv<^-a;OJ5WNjzN{- zJkY%_t@@uHXsFdtyZY#E#jMMkyi%c2cw(B-8N8w=G!(yHq)|Anbc&dG6D{e$d0*jg z(;*{mej&WRRU-0ByHd~thJ>#QSK}fYguh#v1G8}eX4LifnqhQT|I`BuLfu2*zju(b z=as&_@qac(t!R~6^Zwp%25z*%e>mr+B>}*`|25>aUSVYpZCic$L8E;o`dn#u21D%Q zzsZ%TB~fMa*W=upyc?U_Hd3{4HiiKr+UEH362QcwSx)ZM??nc_CaBDc%a?m#aCG2n^K%kz_Yk+ZU%@Y#xw#2-nBFW`caD{y!yq88shS%1uHQ+?XHPk zp-=Uf94YP$c@G!fPULQvgMmEAFm~v-_|OO?OMnW z%sxm23C8Vv-kuu%5IfbS+fnqf`B}(>)A;C`;k~V1ou+28%1q5-2j8ou*EZ7M%X$Si zNj*#!woh7OCTq^JO1}VsMyP*^n5uzN;~%r%)9*m=GA3%$bH2@s%2?MmWOo)-?hW^? zHClO6unXtF0%FI)h41kVx3Fs86nDtX6D-LLGLQrf*m?M_>oPqc!8$}%I#>uMgbw(+ zsh@t|_uszH%O;6f-*?IlR(AhR2?DK@dlTBX%4N2yM^wz@RF!k9&obLCao76Lu$+De z*~7D`K?`!@9%6)2>MDV&`ZEwz*piZZD!OP)4PImw&xdk6WG<@N?CKuLb^MxPiX~ON zlAS=KM8fyDr6z-8B+tA%iY7QX+y(4cmh1?pQq$7OHoo!6c8*fGlw>zV&Ve*`w3Dgm zk%oY3^kgu6M8hnxUk{4pQ`oH(fqYAjl4Wr02sEpV(BJG(&%tThR*zg5AUMi2ZZ00iWt91C{_`aD z_Yuuo7fRl?a6PKQV5FoNlv+uz`CHM{#>qWo55P6VKP~QfyXG@rlLeuI?AU}1k!5Z? zx&{7en(<)H4xl%{z;IO(!w+hAwn70G&yBOIkE_94GGzDoU(gZWYi`mnS}Jw!+M78# zjl&k&2|N+CZ75y*$boCTM!gYf$-Q%02i=!=j*2KikJ4$Le~AlTh<8Qc>Ku6&gmFNL z4se=Fw0ckW_5ma5*hAjxviK7F=oKq%q!{Y$!P+QcnG+hw$$4xntpl;E6Q>7V#0TCT zkOK0!fE(7=11s8f<=v^YA=)lHd0mD?Op6cN13EhNV8%!d%AQ{5guRa{Dg6iB4h`LyH|Yrc3QKrG%&NCd&)50d{A8E(PPbJuc+u%Ei>J(xioxiJ5NL zs8=}M9_Q{v$c)-7i2=^LKAX6fe2Z!^L-MdZ<=>Df3n?E3thGxrSDtgQ7o~5Nw;Waq z-BMgn$ke!M6RgS7u9@V=6TuugZ85t-ZoL%q!?a1J|M$1F) zHvC$jM0U4dmQ+`(z|9h@YG2hW|9m}r_wkI0d>xJi1Rf_L$TvNfmKOm3t%?1<_So!- zDWPN3yMiyS&C59z5bp8@7zzf7(8zAZu_7oABdTY07UUKu9_Drr~GbV*#-&>!WBxd2$ z&mvn4F6 zhkSX@n~nU^4wmh~Z<8y5hs)23t`X z;5ZY14GpfK9+EL_+%NJJSgGhg++VZTuQW+K)5HeXk>dWemJ3K64}|~?)9>`9K|te1 zB<(2LlZq@dEAq$;L!NnJ9t49}1_plfxNWUlak`Mn zJFg3M@*pC%IMG*_8Lo|58=#2B%mVHWtm2o4>3mFB@wEb{4>q!=bQV$veHMR@{(C)4 z8%tkxwoD&JGi>JljTsMbyliGe{z)60u^TenJKV@7m(gXM*kj-rS<^A)E+On8F;!UD zU#_UHA8HuyStBLEY#HE7p`1r7tuSf3=pAO^R_jW4^5CyGE`q5FvX2WmS+sv#*1kPZ zqMxh~daO6+!RwDtv}}fvl`$F?a54UH9zo6nzjOyDo09n;5}_2ZJzSX$z}`5DT+(RaW5J0T&O3{2_34#93-Hp^FRdyts{1H;#{KhHWpw;_{l6fN zi!|c$trh=}{5>dg&jC$j!k@0Gl3KkVwez3A8n+y)WQQzOtIA&EN;Tf%MbQ{K0l~v-1yoy{R{uvx47EU z1V{LZxL6yCpX{UB1G?r*e_O`C&PHMuNFeYd`Y;ZihIKH({)sbB_WPu~8o5_9->c{7 zN>exBC>GG{!-(&hYN$u-5ubePFl{^06NCUvl@#iZ*{^Ir`YrZ}yzwG&PZ-X81*4Sdxd$seg28|H00)g{`Jw-dG9l z#Hae6cxEG!@Ko)9l$UkNea;VNT8qL8^OwPLq!RRNw9k%$uwac|qkS=ewQxTVuB_Q+ zzb0vL={tcSnEfRG@dFs3y}wBvGBOW$tyqe#ilJS;f@%7;%kcBfnvsygOQ)_1{9wtK z$*mYo)U)-;(}}^=)fAgHlg-G;r;hESvlH;^|o!78}O`_p{>z{~8|J zC?T62u1TOpT+)4d%mtUCX2|-BG$}-0@JIvZRTCe&>kU;VjC{)af#*(+z@B9K+cRr+ zPbC^ja%ql+f+pV)IPO>3+pZ;&)I3d_CynSyh`p#3!%COJNsETM)1&`tP&+XuTa=8S zy?NZwwVMsFz5e&OX%%^c5p4PVQ~1YagnKE+)x?7-{&+#3IZ}sAo8Dh2ES5r(r3SJG zZzJ|%WuiSl??>K~D{VdmF39BZ5R&#S&t##?NIp&l85e}IP1-_zXLCzh2Ep-V#%MhDR!lY>k`;LUn z{L}RB9DOyF-8`n4J~J)NM{es075M3=b4ub#$-;9>tQ%DAy(K zLyr9aCSnd*sz2qb{`rcs!(dH+MIv6Qzs^%56CTT+3~V*k9wA7Jb_dOGIQ6ULRA&rd zS>=2eoGBI=nhm@!3}Na5i=>&F$jA*Y2qx-nIHK_Qrqid5Lzh8F#xEj@BqWAvf6V=G z@lyrS0}Z9xA06vprPYd3iZLby^yM3~4h(uG2e_oC!cl1FQ;hrZBHvjvBbuDa11KfL z3d0xm?S(o0gbsb5Y@q|@4#%W2*j;_(%EOqPm?t2PsFlU5^CJl~($XB!IkDYLeH-}k zLHCMTD%GQ|0r!nFcad8pxw~ROD**H`@)E-f3s=&^UZL2HJ~>Q5?J1p(msU@r+eB3$ zx%`3q@`=ZMSpxe|_3<>_esf`hv1jb3`#)A(gF^tT;@lIC!WhHR(fvw$dfRTuJOMOs zhyV-;TnilFF73t;Ie{eTo2g%FHoYJ{OZdIzGSLgv!rrPs?9P`yjUm5z3=t%RxgAmkds} zwjpz=J(KY{c>IA4o4|9;B#VGxat-n3&PnTnuNCU{bQx*B#Mm$9`cM8{Bgw0p*cCR- z44!!(C!3s?-pR&6Hn% zYfmuTYHexWSgZ``jcc7%YPJ7YC|NX}rjzFe<)|C22i{Yac%s zrhI#jW)2mh2;E&Kt6ERhLTutvc(5pPs-SqJ!d_G?Yv1pGKTJnrIYHSTgq zALzY*Ey+mnsYJOGd%@+sacSr8la{wb z<_1i^kEZ0v|F%)xan1nMn0fAKT`fqCPE<3a7?Mfr>UNO{7}T~c5fL%Gqna5%YY;L&de`MBZt~f~_|4C|&4~>= z<+y>ohj-hw0$OBpy0yh8=I_{CA5gcaSr@V)BYR3NK%sILrIv$<8MG0G$(aAq0#;^j zRct+YEXU6tW@_xV_OMpBBr)6rPH%MlgVxY8n_@n-?CGkX`J=a~B5dQ=Z5ZmVZ3A?J z+y{zO0oA9cwwhBOsn>r4iaf*V=Tb^l-)q$@9PE?0#Z0p(k3W8a?FH2jT6!syTPk_g zslXe&FA{{(AMNO>?0}q@&tcpr!bo!Sp?`IklKEfk+BaP>UzIB(uIG2{W89h3%4c+C zdpsL=o>PCKSt(hlmC0cF_HF5Y(CT0z*1>Xx;543G1@VN|m!?Q~3C%gx)T+GfyB#ID z{iOP|Z)mGs&xmSjCnR?A%q7GD9`=fH;6X^i+BQ1D2%2xOBZylbJ2ei|i#-Ybnfq7* znKAyZ@XnW`uPNvFw{|8*dGFh$81Ib??2_*%%@yYoKu#x2E59p{%*_n+9`}s%xd|A^r8wv%%XqUyG=9 z78jY|+l{KLeH8=ZYdbbuTlJs2?~4eEUs6woW`m?*XOIx%J$XV%UoV=ycuSzT6s$bJ zc!xWVPvKp31UZXpf@14NikMH}2+jiB$k#2`^#_$hX^q{M>j^rDT#|iMDvKwS&9Nt? z^ul_|(!B+^Uf-^Gz}2$POL51k(uabfT@dX~RG2laB_&iDke@e^< zdcmr=#LPcqxgn#jF+PRWVX&#K7ZEX&Yay3Z=8n7a+iI>o)F0i%ncUL+bpSM)F|H(3yk*z_sv zu&+nQ(tYP704QcVr6O}D(-ST;k$Bd(^UW$@z$|xNOhhJOKFwCy^jetf0yDa~YsYL$ zV-F1|2-IMDzogjp1IZ#Mxj*5^1^tRn4Y2W+hFo1DWou1j8CsmI zt7(Bg*->%FZ%qgUD#{snyb}Uz?GnovxH>xt8&no>r_? zKlCgnd}%LyZ%Llmz@q6E**mnROiflcaa$-L;zzICytlX0c^3+dY5B*7(>F;d>)qHf zy~{LUNwg}oTfK*?ijTHwPC&44=$IT@#O5XGYcpZT0tKOc0&ebwzhf8TZ9q21?z=rg zb;qlNtFn)vkZQ9Plgs663-_gH<%oU?)xq2?I6S;HU)D`A4}h?I@_SU6jUK82C(6N1 z0O9O6L9U7f9B*qL&zrcvlHo*%U-$!Z6n{6V*_>_PSG)c{o8o=+YZid=&ksoV4-@n8 zColhfhHJfI{FLSnOR)!3h{ZM4d@D@VJrgp`y3j+UL42-W0sR`KKkCL+FY7 zLr{)+g#XYdEW%iOe3uX{G~DN*uH>eJ^u*)Zn@t1+&4d*pS*er%Fz zJJn=mhD?W+Mwxtjfa&jGHxKq~z__SkoV_SMKy=gS${4R1NLOE>rQ-|XJv#JvfE|?) zVjsxN0rw`RryS!kJ1*a~1YE+IA1?I}qqK(5HM6EEf&yhtjw@B%S}9g77?=65+b!d7 zO2@adCclzbb76iH0X-@WvyBz0ip45Z&pryE9mqlOh}8OGOKG7RUZ#5vd7m08GhZq^ zs;>Fj9VN={YmqaE53@UsOWigy&n9Q=wi7<2K!zY%$4YgD+) z2SvIbF{edvX^RLsfT0;2RW@Z-nxD{?<88c=Z`?1)Bs_lb{1<>pReY=yt<@VViSqkB zLv{4LB#p+;JO|^%gj3wt?e!d>v(;1I(Cd+4&9UUStfDTFE12${u?)f2Z@f7=>Jqpe zxl2J@!Y!%Zm^R=&c*jCqFy}d2&e`MAr<2!(3}dC6jyZpYN=Ul6HEAPkkfqi{ zSR>40DfevK`zG6vJkMUgO;3vD4yX0lS!TCymh;x9HQu!`5{04y*);WY*^knawlr`eWpdZA`Xx zopkUs&h6fU+sp|r2Es{atwKFPYK8P}D)YFIo?!1a?8^xe^xaQZheJJ zRvhm+XI>g){tus@G{dDZm2L%v;Y}%i8g|vTrDhIl47p}t_H$cofN2FgGys{JqwY&ERio6fawe|y==rZL z7vmgJm?(}+OMkDa`@FdFysi|-x&&N?^wox)<&jgRmi;W)I2W>L-4CA6Wz8h7Ck#ap z0HkagkvLQNDx{G({nB2q8P@D@x94XP2TINm|1I@ChiXgKUP+k(ZR6zMC|C91YWI+n z4ex9a=|Vm8Hj$KJ<2TQ zyRHDbo3yX^M*YxxfgYFII5ohqt2@h4)pxhS#HDz$E2I>wGH`XR%tycdvySC?(&gc z2~JUbLV114UocBoy8T|%9M@!X>cDg+=+^WCP23@J;Q6t|>`;t|0iQ;K4jO9xoR&{y z_i%pl{({r7?w;!~L(0z$>PtWbfs9=7Pc+GlxUId}KAoEHE@t!j=42} z&`YJVkgYu3$AZbZDr?&ZV+nd*7Imx5>ddq+vc2j~`TlU-m&pXiQJRTP;+E9scur;* z_V5wr{+pAl$X;BMfaH3hWz)P5bNu^YV(j5J|Jb{=ch{hS(g9@jr3j|1BvZ*Awch95 z@uSgW^{Er?jV}kbyKfa7^xHo^L>-b^^>Yfm!|&~s&AvRz3f5Vd>LzkGEVkWj?25$~ zr)B*`I3%DApVE2I{Sb$v!>2{vw+KFa^O*8oCc&1G>b329CeL;Cft4Qt_~-FH;jz4j zogv#8Y2;UFkm!3BBasXX1YiriJ*%ck2z+>P-6+JK;dRh|Y)znY0=fbsvvpCSLsS21 ze5G93TjvU`3zZjW2icxZu(1Ec&rsGC-tgl(Pwn6#a}GdgzrJw}Kxbcm{raM~6!$rc za4GqVc+QEst>1XQNahGr!D&IC4d`K%=W^$ZRhva0Jc?laP}9^t>EevXUf$!8>C8(r z*0f&Fjm%moqu|W~E=Viil-fs&J+({1_dsj2j6pMN($%l56YAPl-vRet#b@9yL3^94tlxY{<4jf>M|ySiNb)8_qSgY&S9*DGa4aY8kTRH=o6d6!pjBBJe{ zCX{OB+y=k#?D%~XxSDIgjp8BS&_^ACT5*JKVNNVAz`C^a!JLXIY=7&@Y;eyx_Smx= z`)%<2-mAWgas}jxQtvgH%uw^^)fLl$w!~b!S1%J~1RsW)<5@F0bW9Nd73WG@jzPQPeEee*)n?%BwTaa;U{u0k)KFFPu$lNwMZ zEvU>|?vny-fZ)S%$B6sZ=H}IZfJtj?A6}P44v&HOFlmY5)fd<3xH-E7h9-ztz<0)s z0+xmQZr&Tp?Jc=5SmVGXvg2owy`r5Ebri0?DI%!WHPFR$32W0Z-lOW8@#fN7T(Xv& zQ;38UMIZC$1wgJ|w{uXsxwby>p(ikV9JC|(9pcevmD#etIy%YFG&H5q9I~Es&wXeM zeJZz)eU+}XUQb?Ps^42`*}ar%5dcS(Yd>-ko$;!X{OzL@R122_m_`7+b*5E9uE5mR zT+EGJanuI;qKWKJO5Kame)s-I?a1#QR-WD{FFYb0Zc=eB$3=H&s1B)-!G?`iFRh8QaYgya&c3rHf zcD^U{^WffcH1gOSLNVMKILui0?h7ln2fH>Fn5&odZD*wvl^_v@tE^Mu@!6C0+FJ9W z2cB!dq}e;3*iG*+DMzL^WzQ{SSTAk6f7fE$BHrvx$5v*C9SpmOX3&2E7a;J+;-SG| zH)`x7@c(E5g-sJD$l~MEU^0|_3i{6fR*=7rb^-#Y8iJTBxJ%?t9d9``>fyy1@EksZ z`M1W;EBZP$2UE{NGq9lU)%Q2&GKBk76f6RVjyyEc}L?72`{zU$)%0^fVy|Mj22kpPVes%LJ1Sq0jAF`~K+Urbx3GhET znT5J403`8@za;U^E30BZdE8oFyv}w~lTq03IaPmV^ZqQsUX>9xE9~HtBcb`13!{<# zSEO1d!RJB|WJQ)ENIjPYWuE1gQcZX%1<#)=ZB$fg z+x$E19M(6SQ02a~s@p!f5YO9pbo6JAZMag<(Im)7s0tum+er<2unH1wc^?sV2kABX zHT0cRU#DJP@G&-yuRKZF87ODa))RC&EWUA;-={3A>Yw&=iu>ccf446lb1@u}^{p9Im@hD}R{oOl|E+di9{CzCQtZi&Q$)e1_ zKTJg2BOVPj3x0ej(^4N51%&49H69(4{QvAPKPs1UWZU_Rz}YVajiMj7chj1C*N!A| z?D*?^H%FdaCaj!oNvCX!EI^J`S22`LZT?ssUzYdNMx!SXN?P!=S92#}1-jGDr;`>1 z3Tb8v;v9_wW)R#nuXrLRJp?%`2BBJ{J_T^2=Mb45_eTP)x%-zJRVPgHUmGKSt!@GK zEd6=8cY{G^U&0VRQ=B>!8|#?t=Fx&(@pLKkeSAc-(cZVyTX34@pY~3=a2HV>!ETv@ z!{7tyzE#J{1Di>7FZ&A4Ul(oA9KPPL7$wSc>SFJYn$ah{NFteaV1FxSU<{yJ7Zxra z_>2bPvOk^r8?bzQHBwxBBn{Vy1;1|y8zG6@8?xWZ-|ab@dgC9`5#)7X*>Rlz`)hH7 zCj4U~AMZ}o!ybPq=Z@^r*V!N!y^JBNQbcCDc{$0lL`r4155%*;hHP04-Zgc#2$5Xt zW!NJ4wShh%{(Rb}Nb_1NbQ*;ZW7p^ot0dKtl$l|7QC%SWOT9W1I6Bz?;&$*m3eRWP zOEFTY3@C_la9^KM{3`V^Pg5RE`)pVC)$3G0TC@M{yaUE9@`O6FS(92SwKc)>`TzNd zru2o9MfCD5LN>@|G0P+i&u+m77*O{vK2d04?C#iqWW8L(}Q>AlVt(3PO7Q%1=B!6P;s_LzAYPUgC*u+&sNdD zFO@vnj)|gE3sz*)O7G@~x_Cug)_M?&A)_R(L+UNlw+}o*-=1Ut2?Ca$aMG&7wNb z`!<9c^k`)ybiXy9WsMzvpqrI1U3{U701fZIIBX4a%aPDnG?%s964gW zm{h3E0q(yxv9|uwO?tIp5aasm!u-Mqm!6MTzUq*qQ|Vl)f;fx~l?3>sX@v16&<=@+ zm5uc$$cMd;_Q#zjRTXNt!KCRt_9tUELunojV|f`RCyVO%4T&a26oV)SEIVfZ+i(nQ zHmOnoutoBfLU64fQx#zbi;Aj>y5%U-GKEz{vF!!eBJLj?$a3xpQS&} zkzrh!4r(`^#6@VfcTc*vWSwwtL>j4;%3XT0X>{Y(Ih(}`R|>XeCa`WunfC>BhgcwL zDN=lK`b(E7ywIU|3r>iZUCAx=dwsmWJNSFTo`v}FDe%BG`P=LiS0o-%2{T@K{r8Q3 zYK)Ti7(o#BPnr~y3tK}Tp)H0H_B>;hD&4$#GIFAjg?lj%TY8maXj@qiC~tk*4O-kRyPV$m7E(t^Oc<2@kR$~ZJ<2Bs9 z=WjXbU%e?ZtjlOzsf+(0qTWF1bMtlLm77sifKPB&-;%M4W&s0m6)018W-lRs4oXNv zKOJ9qptj*{0R>t#I~p7#%}PJ5rP(R2)2?;)(q0v&5LW8s0og!`V=3964ZI#fNrWNt)rK{zf7|K`6r zSNAzZ`;!ARu)-BkNz?MjN3Vl7p>{-Yvuu$`)^O zrIzkz0W#91q%AFDXRQKS|@!1$%T+Imfa5MwAb^6W;eUNCP3%`7eLfY{9 z`WeGXC7O|ASQ^zlLaVf8w<<5q`3>)$~TL;)k%% z8xqzMpd2)DXCMA#3aTpax^#W*>*XHN5DJ1W%Jr?76>26Mv`d$rOX&t*wvWeIZy;uqrr;Pp7_V*@)zDqN`GId-TtV%o#wXYM)MQ zQ*{k!(ycHo{h9IPHq(*4GrAO=(DDc5yef~X{^fAPX3hCI@*r@qCU9?2NU^83IE0{6 z57{>T+N|u_(JLXgK-lhgG{~qHH>vAd>6-~SJJVj!sg2B;aWsSxahG5vyVi|-kIsUL z3VAmdtZLm;T5kh-kksDGeZe=qfnR=>oB>RFstmMpNB?9A`b76~$Vve2FON*}=p7_*y5#jwoW+Xhz8;XxdN z7_-1*P8}Tb0FpdS%p}0uehU6672Kyeq4<~G2GF6uz5@n@l{{JcJG|px8%xlUMsOOx ziP|EV)zdKTJX*R{8U>nV;#2}egN|L$o#W8A3!rB-9~N%_pD~)5qU##BA4wVhe$tGO zXTjf=Le|~UtyCsu9GAyuemVv_-6u9Jsu;RD_Wz_e1^8yK|8nvXb7B;CR<2p+$=?oH z;%I%ucMQYb>BmZ(gas^;>hy{`k&wOB0)_|nj8IW~r8;~buyHJ=~S3Ufyb%QPM z?Q6c31M$f|_{75AHPLSuj;}TDjnnvF<<#XV6$Bm(53|K zwBV%oR!MV@3M6bk-cwnH<_VC zQZ=RpQb6N_@gi^n4_!yW&*FvromX;TGc37zF)Aegy~AzxkB7Ij-gOlWZ&hr;?(Kd@ zT$ofMTFY9!;f!{$jb-A3Y8HL9;pX@$d3x9}uq2e_BOy6DM2!qu|;~}VBn(5yTACKw5bxb12+QG91 zfO!IRYKtm=_x=v2*y*ahDQ6vU1Q9RIFAai|h(nLJ&NAeuc2^oM~iED839p(hL#_TdIeFWd#O7YFi}A-R;?N zf%YfU=IzSwaBGG_GeP0kWA{tI_gT5`3nRX9U8zyLDIXU8_CC9X5hE)XNZ#{5enL1N zgYMlM-uvIp+<%!O_*z`+vOF+TUYKFLN$20bI^zphSjTxZ*>Lu(v7f&-zK9+K^B1!D zH7qUq2*8)%tLuD6K{$8fevy8VM|EPrvZdSXsP>b~>K%A5EEAZS zeDE3h{oY|Y^oWw2S3%eVR$5!O-;8&?L!-_-_!?og*6nocoPYbG7~*m`U(gk5H4A0Bo%rvLHeY!-XNpqxatAzVCH9yJB&7Pv*iq7DJ8!Yv1zUETJqK6yX_lN1p3b zY;(R%4F+QbmgjxSUOB!Tn#by$eMN_clua1Nh|u$C*>%r6g>xF|nf&O&?KW9| z|I@iBAt~4agH;E{5*kkOLfBev{NaRW9}K)#rH;wW)UaqcY!PUu9e4TBr5wG+H?~j$ z7q)cYgl`?yAw6K6s;ev{;|yzS{+k7aF^82UpJp|*520+Ja)?&F`J3$ zTj}sOendk0BXRC@9d<|d+#~iHoA>W%;gY(dFntzAps=AQr4RlR&1%f0UsJntT^iDG z+qP@@+f~zXStDQ@#DY4o@BJI`8pcnnde#XDa@#<%^c16NWVE(7ZtTQ4&vaqC?9KkB zj;wfuD8l{lbspYJ#=Hg}ylUDWzqi{26K#a-;Ri58>X69ye$8NuS?ER$&}x82IjwLz z%Kv#iWR@#u)> zr5|TVzmhl-GPq0|R{koW@6s33$rGjDOaVIUfe(=6j7B(rFz48&>`__6j%>BV=@9>9 zCvvyUoGAc0y1NMv);_SgSDMs$b{$6-S40C{?>-8U#iHMwsYW~S6pxj$E7rr)E-~_W^1teCZ|3t0R*#KPr?u-l zZ~lF9v2p><_!L)24=m1YFp@xV7dff-feDuvTR_*&_g{suvR#pZ4T+Yvcrec1>DDh3 zmTlkxpE@!kX64?aEmsjT`rgnM61xX6A$+mN9Zpb(kY5?XHN~HL@VJj z$rd9dYO&2MvV%7}1{VnZ_G+T;;*!CN5%T#$N;{E)xh*V8)nlk?n+_BUOrVL{C-hB6 zt!FDhV!VPc^emnhzVObTw@)J7+Hdgw-5i8xz4W&mN=L+nHOqTiOU5N0`_MTduR(gD)=e-g8rmXup9XZkW4W-=e6D?e=8L;Bx>iGq@E?^C&-rx3) zPu2N-Tw)|pODa_OJ{RK?yWChR<9^PMWJ@z7Q+OOK^7>wy(eIkK-gB!|n%|xjTy`n9 z5qQ^Yb0yYU_z+8=W1bD_V03HtXKW<1jGl0r45#$!P)>8F?w<%aDRD>S*CdRA{gql zOB-x?5HXZ0%yxMf6dwT7d1WqEz)cDp;&97d>se$u&F5K?-Of@7A=6u{cW=0cP|3iK zJ^V}0zU=Bs!N$Qt#7H`EoKjgXT;>$l`6bxSx(=Ne^P`0KMa5^Y@g2}!ho_%+~E zsfqr-98Jj`G$&LukAn9@w*OI%_6Je~1M>6xCsxl?JKXC8O+4X9^GdU`uW1(ce`hF( zWf1T-rIwpbY>aP}l z^-iCUMcZ(`RK$Pmo~7fMWS+M-tsS2ULcWy>TxMsE`fwkl8&A8PgEg&ps zY#Fpv%;CO(hTd8{PMxDoB#_q0R!FO@6Vg&w47L9zi*@lRFgjWPi{H%2%-FkTOMwea zP28FnU_2)c3;^U&DnUMkPQZ9?_(Rq*SxMgCe!%uDIR?9c{VrKtrS9tOs_g#8Oqk>A z<2%Qcx+6~qGFQn8*RBh33!p68NBivIUX9pog%-JYuZb&J$Erv9eW6)H#MkU~7POih z5r42o6sLhY31>619mL+A|9stbZ{?3rb9HZD5B&muZ6|s`PW&HLjUCg462`Nk|M=5? zW+iz4Kla`{tf^$}7iCgVfdCGuKmwwIjf%6(5mB*41+-g1Mny$s2E!CWh^SE!0)m3d zC@R=8%1js{AYldt2{S>EC;<|PA%T$ORv6UYd-v(@`_6OkdG2%i4@k0B)ml|=z4d#? zstO{E21Y_h#Gz%OYTrKc0xeP8U5~6@=~1#`de3?e-{*no-ycoiW=vGUS_9O$Nf;sa z2)Wbv8cWRda48vtZv8~P)<-_hxzKrZN-tOG>yDPQKn0hc-n(#ynT3c|(hye0W7eD&0< zy~42EQUlT}BQmhIv*?Y>$4k%4lPCEzI z?aX+Er#kwWfE?87*-M+a5>*N4_cT(?JZbEg83w5dJFf9NyO@ZG*(58R5UILjxuC_X z+V>a;fl@J00Pw4y$(@{ROh+@pQ`p=rY%4Wg#h91<#9V-~pdiHtmM3uTgzFwoWWj z<$_Vz{oe`7uk@Z@95xd5+gPX{EVSp4b4^6{^0gZuVxt-Yt|;Tg3LIsEZr_p8-gQPe z`1xe`gU1lC*$#P1Qlv#DTgABg7yIzvpr>{*k}!I5J@JM@>o@Ehs<8ko?CXr?8(Xn8 zD|tiVH%IPKEI4=qB#)fiqtR4Vc=_VxoA)>WZRHDDILQ@(sB4-6&BsELODu{+@((2) zX)$Zvm||``eDBiU0;AyPG6&~hcCaq+YbO_2o2a$x?wt`ntczd4^gvvSALKcp8r_Q)OItZ937u*Lqt3pzCc z^ip!2$$x=NI|fHZAU}NO;0T>df+KXS%Vt8*;|3y&9s&Ei2bJUZS7;U|A8-2gfw3p@ zPz5-Duh`0YV9^)AypwiDMQ_LRtqA;p%xRHTmpqAB^|qRcTK_|57@T^pDpl695gbIz zHG29w{Y2EB$^^G9Vm1z}*cU6>& zH0y1CK2~FHE@FyqfrC^e6Io+jkQTRVy}(5kdb>s*rME?Bw!a#{h`qFO*2VM-22U@`kVmBd z%x&id{Z=ev8z4Y2Rr2XMYTKWaAmlsYsMC1~=sx*0XA3oTr6*gCbJ+rft8(hg?xg8EV(Bj|}`-I~r z1t~B8D!W%NwFuotcjqS>x6u=adFGX%Ak@4v_zA~Y3c`Z;ACiIqPTQ;31OKvEI7XZI zcBi(sNRE&&?Ac;hcen@?{j0(43O|vo=(bS#)NpKww%4s;_b}ll=C7(>E&IK3+ouo8 zuwTo%?+Wc%}QkCLAUx z06O`9yg-7Kw{Y;6<0GI?o!9=q>&bMr_fH%3Vt!R7{~j$S;Ft&Qt5MQFrpgXg8S?(A zDI4ugsw63Fj1E+G*b$uqNZ!Pp^sU4FuX9Oa@Mvva*jDDA1i9h7g#VVY6l5W zq9X_-VLS2fUxtTtgv!SQdr@2#v;R+b9^FI)dATpBJ6G-mDa^wFS;3h?I6Spw;a!59 ztY?OVvK_`+m21{p%O4gF!)_3g+Lf$*{kq6f^IGjyON4_{hZOJK2r~T5Q~IzWLHQSL z>@#J1nTN4P<}y3(9BWEamsopf6UA(mnB=nuUh2#L2i4?+PAvH^Rep4_sR$szPiz-0 z8xse*G`X5lr2G9k;r?M|SZk;TBDd0$ZSJiOtskkR%2R4GG>AzW@6|0&!Y9{m9Y){RmfsB>Qi~w2h zNk-j&dhu0|VcXJ8gPSdXv6sm+tS$WY(eky2T+DX4K6nA>s_;*df9Uc*UfA`J!}e2+Gc&=LhsJr?H`!PM$=E<)$vVZJ@*H1qK&dB@I59y9-mZ9~p?H9W9T=bn56Ey; znt|9Nl1%O34C=u)6pGG#OA@z(eew^dfPEGuX1TxjHcT|mU^r*j;MR@6Hhi=B^Nv5; zMFvcVi*!*5MXEbaij@?8*O`A2S#2+t`UO3-w)QK~ho$6+MEBI0V2-$N|8Em?j#>zo zW4s2!!fk~DQxB-%Z+r{U7bmW?!{vIy-O&b}$dK~#b<)41-T6V~<%Xq%*$Nt@@-6to z#1F8<&5zRQ6wO_{L=EF3J^_je-^$gB(HFUIX+J&hcr^OUU_e{K;mi2@q1eP`1uF)_WnhMsm$@Y|KQA9ara`@<=3|KuA4PF0k+6I=-YuYGA) zjg~3zqf@1%L_R5xLzJbDx`+SWlkN{d_EZMXw}!C6n4o(d7-f%xL1IpvHmSn+r=1k29vt&pz#5ee;fS{Oj5YbD7D)LpCRN!(d7m72UuUVy5zt$KB#5 zim)XrpCTyNJOftU)Z1=;HgYgo`H5Gg0HUR~w`|LZegX z9=-wUm!Wcnm$m2%*i1AwtQnL;%oVCqZT>jKR+sRzewHD)amRP4=t*_8@ruvX!!{?t zzGQP31P#HNw9S>2#p%s8H>=-mg6@w`ZH3-Q8)sjfkhzE;0`^jVt!rSZCuZ3@QTs`yW+cpX4aD$_og95Y zQLNK%+3}RnjXP|@Kj%h>bp~L*f{&Lg-o);Ep!`&GN8G*#gzJWnT93$GWGs0JK4P}l zcy=AV;aodzmRpDK6F1SI)c%uDNyNyOy&gzr;3h{H}b8Ym!)cs zXgCEW;MqkX3H#Z8!7SlEabFl26}0%pzOrAu=?ja$*^=>bZ?g+;FQrp~I{#MiYK;wq zCHWeYhuqhKmJsqK+~Xyj6A3)*k<;a`_O#7a^{`TGtknTfXIlja!KA>{7w!;O1w*U^;({ADAndz{Auc7 zq_|ZWK3BVHLhay0YIkgfn(Vdc2b5I?cg^%h_NCB&z1j6*Nc)!QhE=$~dkke=wy+_JIA8C0ZN7u-jWL z$r!#%+qWKlZ_m}=KQ|1vrmq}Hwu6)y%s|_W`-5k`AkAPX$Vf8H5cN$z6<0=-qpG6Q z-VagwJ~i+-eeYi6vdNK}v7(s@BgyG2Y+>m}fI#oWVSR9EUXQu0T8V)#iatYTn)g9Q z99I8>sgxSI@mp&C>iw zsQN0^Um$a3HrrMh7aiC8+na8*l9K1ANAp~(XplDS3KeQa=$jV?r#2`}+J0ibrB>eB z@d}%&_uJ=0|3q5Zg8g>*_Ivm_NPTqMrre|Ph(pn$-+TF*;=`m*ab$#!z+w9|eT)kRJ zuUaxvS8wyG!KQd(Ax+m)V^kco6JUe9KoT)V1j6r}Hl?^l#lanss(u+RPI&60s|3BO7e*~!~R8-`r+6x#wL z!w$Xn9+-anR-_HHx{7n7>y|&^ufM;x5q~o6zm1sj?okre6I;EeTf<3pe#QxjI4XnI zI0iKtZ4g|E4HCj1BBw3+!!2uD!m9WArjpWH7C|~$H*ShbuSt|nBTz9qiPBpSC|O`w zq9gVIrhlI}_U8slVF6?ORS)*zj4aj8+I{oBe?lIm-fk>}30*~g4#o+yT9z!*z1nYs zmgFKVDqsd6w}9y}vC@LKS9dJNVOEphTUoih!f5QEKG|M)gs}V*%J6^jJ*_Ml7fz{N z{t5BgI|=HZC4{hFGEtW3ZAtW3C-%g@9m0!Fom#)}x&!u%B_k`G_w(;-8-2etEfN{x zYJ$x_TrDiV!c6=O`RR0O@Wa=^6T%ZEVEoa#H^rfIWJ$1U6GqH6sRRau2WCmCs0Kao z01zZ=EGl*A=NU*EpjdWtI}O^O`*PH~OK)&~x&euBZiPE$>>M1Ws3!tgqew6gCabj~ zAOW+QMMgYRKf4=x8}**+2X{Et8XXI%aksjm_dM*^>oZU_$SViAxH4j`(MZgp6q?6m zxX$MHUy-r@`S!$NuXa#j?SHw#-#qVMZ^QNE&qm$({9LRMnbwbZ0YN4xH zikM3_7WndnCJ(=?2)+}4lU|V${R)+^Mp}>Vt`wCBO~syC;rdE^`^%DwktA}_W4-wU^wLA}+`%RZfcyz%<{?C-D;J}HSg z7PP`yL*~@Nz;;~2IG_%!`jt}il9frQy@lPg(`pj1V@$|5Xs=2<4 zl5MHYXqUD9P<5cFaQm@~I*%D^i|FB-m)5;Qm~UvUjV0DBR1WzMm3Mj$sGN|D3ZXtb z^fFQ#7qJ3z^+KYxwfv@CaSeX=t$mNK6#e|ESUuwF#U=-8lvhb$eicLQuPTHRFWZ@W zrj?(baFG4ZI)AKa;CWp6h>IWW-YDF(WKQB>^5p4ize*?E>6RPfy}U7pL3?kALoPb;+s;%N0QoZSOL=iG&a~xq)OiY zjwjv`_BP+AiKV`GIbDE4 z+vLgLWC04j6ZB-KX8Vyjc_M^ql(Xm(-*=YAuM+LEROM4lpI({J8qldBJ$o(b82d_e z4ivaSKVc#OO99UGL4e*$5OJ~m4N*v<8_DbOFCtliT&e9Vj6cl2R6|8!rpGGrO#YP0gx zxk&+qdLAkNXGoa+HW@ydty<}_?0=0B|2n7tdkFKdwG-fwEd`;H1)FN-0cwI-&q$?x zd>>ugpQMPAcfKpI2j-+sI?zGl)8V)!kN|ePhvRJA`myb` zV=cUpnS4@T!S-WYJT=GzI$1ZZMs5NAG=sP((fzL|rDEGLKR(uEhzIf%`8!RxX7Is- zWaf^`WF~=n-ddsrS}j=u_0_+>0z;~d!H`5Vu^uXP|FygKbh&ub*7H!$hbv~^`695YUSfM2_H`Cm$GIv-KG!RcLaj!!$X#e zW<+UnuCx4Q6a8~WhmN)UvihLy24wEBTj9|)(DYL(Lz~_hzy3|a@9yaP|D9Vo=Y}iw zULA6}b9C9c7YA!hF5=F-l9`n2O#c0snR>kzASrJyQssvxbFMWr6TN+jDAag!sAU?mK1Q2`g^EmtUoZ z5}#7>w1_VBvT+U|xa^6F((qk4$59_23|KT}oWP4#$t`niYyC9o1P8r`K-+V<+0gNVTW6z2$ zj2g4;E((LTeV?y%<3~whaTKpkzrMd=}(L7EOvhLmP_06{dXYF0aI#{Q- zE6Sw1x-i;DyK71n*=r4y@*0!-HXHELmxlLEb#Z(2KYv;m>S$!Uf%D`hQsokKUEK>8 zhn{-8q6;UY)HUN5M}whF)!QR%u)DkzkYj=4@tza+t8)O$qW&2%Fk=5*@*D7HKfXRY zNz?!B(M12PsEbWg>fH@Jh?DVE23`d{-|eAb5o>#7%T3vN$#T*th-l%0v4k}pf9m87 zyFOOXg|4SXGJM{6TQy(z8n&wW6lB_;To|)#jhk-BQF%7vo`opJSNG7a&`E4p;H`_uuAxS5z zp+$?9=~7B=)rs;??H*$md5)=0v!H=vLlC#Y%Of@>S_uE7yO+kDlEg1x5@;7|MV#*m zi75O6%oc^2D$jEZ%8>grkzm;PsBQV=_OVfJy<69mUDaULZRzQ*0lz`N`dwu1eHJ58 zx{9jo3m-x#+ls%X29YqnN@AI!w&I@= zzBzUEa-zp_$KZ}cVe#^VKrIN;kwF`59cVTlxuf%`c_mM8;D-BH_Uqq-cpl!MbC!7qAVVPQ~9bK zE|v)oMQ2dBDF}6@Spl0|$=OY7W^xYJ`k~2O3`@KZR>v{yofMQ_R}SA(JT=1!O!q3$hYSbYJbLEC9jo!N{@g1FULT*VD$7vT1f+B#+M zuoGe4URU-bU2`V(%NKvmbKDI#xIf`RXAioGtPPgbH)WG||0chEE$%d|4NFaIGwMAB zYZGS!;G2Zl_m#-WLy;KJ=5uI|EQbWhJ$Nw?vOYyQ=z;k!SD|A`>&gZ62US{RV4p( zp=CzlrWSVY@@rRm8Ki7%TU@#1L_bDL$LRWk^aTp2JTQwJ(P7$^k#hFs^ORKHF;@BP z)gXHEE@bx9pqu^|F+b0N_krDpI%beIBaYOEbRczgR;|>d&)H0K%6wBUl+CbWGyJz^ z9xeb(}YU&WcR z)iRv(NDm6O`{qiw8Bq`D|LsRsC^KBKC+3udppI_yJK zYbs-xLEH8>83n8vX%>?RLp3Wr5BEO!Y_+tCx%e~bgU_T7DcwAzbcH#hyfI#Wq6B=u zqa$%wM+PAyhfoF=M-H?Z9&N*<28XALnu~)<=lI}0#hjss!;`$x6Px(snWd)OcWCib z&)}`iB`480zndWz4#L~BYzEbEMgl8oH91#Spb}n2u?Mw@xejz|uWrqNPJUUpH8Q6T z-q)uDF+tP^=)623a2V4)qyVN{HEWMdJU}*?PZl#{lcAbL6va)M|6KfsApiF=!ynQK zDvQ2={{xePmU}h>J+yav;5zFOY{;k8h||l&bB*?2Tq2f#DkyT!_hE5WFz>&nV1tbo zTp>ncVKZ-!cV@U^p-t2%b;c%5mvx#hjEUDU)UDaf0j0r&!h_aIbYNz_Xm?Z@qQJG0WQzStai&VBQYtP! z_=I8`c8_q|IO{$b0=UUr<0{d>TPjgRB-w}i@*YIk373?4r?=xJZv_S8*1!fA9qTue(pF(+f--{{ zAf8tj&Bh<97k3;LX1oBPAtRxQ$B3wrMp!Kh|O&0kx9rzWFvF0ZY@TE_Q zDTm$OVXC^NBzNEZE;cfN*vJ_7s*G?+7gC#(CRv9thv8{oGy2Dxkw^QgciQsnK5_#0 zOqHca=5t9bEwb`0APn3SrP&O_PY43lo@ysP>qp=mpc@c4K~)LZ5@}zhqk?~Qop8ZF zGD3MmM~gwiY#2vz+<2q7Ke+NMI*+^ZkT|)>x0o=}y0uWdq#h+&25HQP)R}0Ia$})+ z)U7~Gpw5nZjLr+W*q4N1gZ2%uKHuJ?R75p3faL_|sAbsUr=aLHA4kK$Au~XE5yVrK z`**(*<>`@|1^<31$o7}|#o2xj6VAS)Mv~OfCmEDIG|>_W-5@KJCJM2}(_Zi=N&K%w z1~$plX+_e-kb*w2>qN)AXY#t3?zy91`-tn?aw}K<^Hbg5QL4g>bXfzSSH0IcJ~9waf@CJtg|OteINhGPO08HEb{DX( zIV{qxD*IOOOb4=*J`*lbt2>ZNg=-WAIyG5`%!*N00_-X?lFZ_m@|F-` zrM&V|_M5Ivr?tDBvpLDG`A>ML~s05BE4H9Ul4!(1WwLY`3TPvnKNS%BP2kt+iMDyi6ERC#v>EmRY zwW{lFeu3v^TlmvHmn&%n6)LqJ1@MckO&DxtNie+vX8v5b2z7zXdSHf!GSZE%6uxup*whv_*s62$ zwpGAwn}cIoz!v_S%Wk(#TdmPlFI&F0W^>M#f{A{Yi>JCqn@SqbHG8%0%b<(|ba~%b z4I)^Jq|MFqEJ*DkR1FbwYiEL9-hbFmX&s9$fiirTH6xPmQ;RY=v_6042ns%e z-V5i+kK&R2znQ!)(sQra;uJ)J&=gAShG09V&k=;h`yhVsp&#=qh=mD7!N?SwKz{T3 z#Ik9xFgS(n6~@A}qG5#;Og}P^ck9TS{vq`K2VWyx`;0rYx-}hKQ$mqpi*0g|vB>cn z66xNHtkAMvV7j%dv_`~twdTJjQUmD9e;B&$zDweM%Zcy4!s_MpA6K}>zlFTB?{Yx! z8HogfquL=QF+|o4!~vUA(X&NRV3n7^8N99kW~&R3>B?z4@z}HUnLaX!_3$+e&qihP z8MIVhVCB~#+WuXSKQ>=={jT8;F9#vEVS|F$bs~8}+5)&Iyce5&Ywlx0VN_ql7f>&e z4E+0H`rQg){3T_M-cKjs;%Y=pagDrKCLq)sN#HX83V&sQ3O%rfbNw00E(8$_`>z*fxakKmsLFX2?#stY>&|K^v$s9%t#w88TTQM6g_C& zzMZgUp|S4E1-_Z(HF{zTQmH}C;&IWWu<2EleJ{^!Jlk?$Ol@K|fjes#NUkH6HTQeV z7p-Hz_=0~bdX_$QnxdesQfOFluAjx;@5GC#ZF^C8Hg)3z(w}l1%4ovxv!Ze5gY1#8gTdeJ_)2(E20vx8aqr~*HBt2P zULUyCupbyR?Tub_rabAUD)mCFqY3KJ z|BJUQ(FrvvKGw9rlS$cF-4Ou5eJ{vvx&`vbiGoJ0|;D+X3 zX0hP(d@np6Pn)>Co{wiu#rGUKagTg{35Y#jv0FB#51bRZ4_o?91NVm2zy0KHAyu*| z?5T)uBs9SvY*Y-Q5UJRFxh|xj`hWWQ$PRKg6ZPp*bKpD2(mgEaJ{?bXi=`7e^T$>`Uc&8SP1iZdDeaaW%jQH-FO}EdU8H}36s7i6`uHYxHnM#m2Te{Qi&qX zqDW=J!*tOTZhW3Nd{Vc6{WSv_9%;Bp{M?EwX|f--r04h?sfB+^89M7!EC%+UvDqh9-ma6bDeKDtm~i% z0WnaJqT&nhc%~Dc;L$`{-lmTL*&`rIDnbJumH(78k%m&DbI{Aph$+7l&t~@VTblzu zrobD~NfGbMZe4bK+uh;~)xdAzUQH)yc#Su&49S2u8(4}j==Cx&Rs!wr<%PpQ(c4VW z66gj8MM45wKG>9Z)8bG0lytLnnv}*NwZLM_Xj-l_UWghS* zHTd}&l9=&Q+mO2LA>)%LF>OBfd56L`%jfR#-~Oe za`^9dqi1%g+$gb3nMft$S5gWqQ5YT z9g>(yOnpmd!xM#b<+|;??I`2NK4|s2fUEU7n_va~{Ax`Ui9aFk#+~WyrPAm@{CED{ zGkpo(e!B~X))27%AVq@}XhS}K_lz*457u?;3Jv6FB&FY+iU&y=|KTSoA6nfXNa9)d z#Q%zHo;K_M>)2npACpeV!*K~Yw%m2ibqNmx?lBH!==f4yt zL1VI7D}g4YztS7JXvZ~~*~dc=bvg)Y<#vY`{f&4BXo7AaeLQovG@9SV;HNm@Atl*d z*0=Ti*Z!XmLSHHCwQbK^px$;mPBhh$jMp)eU+%cq(DV;tkkpQf1~6|vmWC` zUx48GP7gR*du=!1I^yUyN5WHXOs(p`jJHG%s_^9=7e9(^|AYlD?fuWLCzf@sn=7M<2n2H{T-WM zNB}lDwRV4iS}b&)bDnN%;fBBLhUrkp0}5z}INcuFZQ}4fJ5HXwtzWeU)Nk;i2CMJA zE15H8*MKkJpAd1$EOqRYX6GWv6_u4DzPZcOMKf{j7?Sa#i`P97DtDU&c}*S!!TRp4 zD~dL`QAI$BA5r>0$L#<7>*OC$@2AvqujYgj*0O@K887rNu*x1_d4|r?vBZnPrD3eW z4wJoY0zRRhbfVaRxDQaA7i75Fc3^y}ooo=D&oYP-;vBZWP1t1+wS}|xT73-UEegw# zX5k02b&46{GtI!%9%px`@xDC$xQE8Lt-?X7<)msu}a!~>4vTyLdwS)L)Ii!BU zA{}aCZlMgG$OQ8E>R+BOd$ zdLFrtt52Izr{#=;GML;i+97n;AQfY@Rj5 zdOt6X^QPxKdZd6f_}Ndh93?*F0CANJ%u( z{m?h))sm!il{TUMr6nwv#a8^gYTz~KF$#;HeM8@>bE?lzH#?!AbSi%OuOGd?Bc-#H zvNEBN^2o7dGGafUy1zfbt!#ylX(#t;#Osr;Or6NPqftepVSKii?Tk@6QDRY&+m9{r zex3&x7sNp35kPAT#?L_c7b+W^2tH79Xr02f(k3!n13gv?L$<#*82k#Gt`aZv^I^@P zr7|CTWVrw$e6{ZeU2A~-UDx1Ju+V5O(FsfsHp6J_4ek9@7jhukyOVVVT%w!fN0GUu zQ?~3>n<@P+Tcl<{+jb5VV2QlJwP+L$u*V8mUVWJ{KGn?9!Tfql~Fxf&r0(){oOqvt)GM)x>LhXCI&YZ(V zmsw$n$Fwwe?m08uxr zK_p{8{kC+3wHjD0@VG#Tc^Y^m(~Y=hFoaE1>`ayr(_C<&k|WMECmpVR1zBMR10m9O z9W@TmgFEvO4`;vc=XN=kP3}&Zm@Js((`t>s87i(R>SFJ6(Kq#`#Omq|x0}zjp3C%# zRp;n88FYBBUZS;mo{`$k1UW z3;)pLA9nb^cs3OEy2WiV23cfCZu?`;Js^RO^v{KV=dhZnsr8QjTIRw?aiJg?4_ z|5Cnm0PSlPX3B#OtmXDx576MOSMwt^_BJO?q<=Hfh4$d7VF(Vgbf+IyX3Bpq0Vj>GqS@5O;>&3ZD$ng%)bboQ@c8O;42`Cz`IECA$8qd~; zGy3_bb{*&7Z(SWMs%4{9KE$zNlA#(Puc8T`&goTW^kygV&Qq24!E;T27<(&Mf_Tu% z-hthjGmISuSy(8!7qoWs>K>oA=?xCHK091dV-Dz%tD0!`*?z`E zzh6ZjmBkM^(un0ASoBOQXPpyKl=`=}D;~BN=#0Fok2pP+4K1+JE@0+0)Q`d9H^}p` zJLQhn}xbS#3A&(Qt_V?oMuUpyq z&7k?zWrLf$Ou`_{EdDh?68K!sH%izRQUaZNje)~Jc9DNa2gxXYE%OA*aourOkR!EY z%k5D?M%AOYLq|YfROE#kY2b*w2yU8WVvn%w$^$<~kK<>E&D=2v7n|wZr2*ybZJz$x zJpCTc)8NyMrW32}&J2xDX0Djka8m&5F|n}v^yF{UcCSr!u?*M#B8Mvtg92*0zY!T# z5*9m``@Uz<7a(w!%6C9TaVHkFDi<-ZSmT6G_lJa!-jv%jM;L|4-983xqr!z+5KE*zyDx#;Lu7~zz6PGTIqEZYoxq4bXdPAZUf&7EFoI{t}t}< z)P%5S!1>$1iZzp}DwOmpBqJq894-tB!C19Y{Zu%?V_giZM$3c^OE0Z0k7h#?5qcYl7 z4qIzc;QaJ-DXO6k?*&+NfLkEmpJmC}OyC$e#9`c)WyGRd*=9umfG$yp|uDts+yed5xW zZ9?cHbjrrP2c*nI)vQI)^gCxuzd{VgR`a`a*~wU5g_AFCxcTZ_;e|S>n3WmAf#V62 zUi`G?c6}B|a$q-b#`y#v)VDzzoTUas(N^-w@pgQ?8-I)xPz#uRi`{H)G<+5vFsuQa zj3*ZWMrSFd`vH}NGi1(mhW zrNl3#uZZ)(Zsw1EJl762p=(RuZO0DjXY5X3-CmK&F99bAG6!w56i{nUK_Sv49u4d%tFL~(UyneQiH+O2&`ixVKN_(b4Gh*JP4ZRz5ZF|O;w-q|ZB5gRUqKRjm^gQZJ_gsCCt z&fN>BmiCBn9!8dI^da7!>CGPRd^F*T^tC$;ADYb1G0@ZSdcmC8RP4}OMxh3D#Sl$= z6^v`II>O!9WFx=etS%)ja#AVs@utI_{b_!f`46g@i{ldX+N`6;&|w+^Fq)zSP$=VS0%~+q5@n+T36T zYagPw&7n8oTzQ}Iewu5m5Zl1|D*j*`a_Zi!8pjUsY^YP$ zJ}7NGr3nCuUHcZWwtUj>9N)k^lcc1<1q|T|I9(bZ-#xgr`@0L#aWn8SIUZ>iox9?k zAmmt5Es|p(_KTPC)zZdi=IHP<`LOl0uoKkgu0F56jGK&0M>;jrZwfE{G5P{DIPIj| z<(3*Zqw%q+sj1DyOLh2UX+C>8zBu`(rrO_fvVWZ5;luhpaC|)MVHpLC`dE_>hgqC6 zJc5X$wCr7Wt_AW}k!X+Er2`aMbeVmUi@jQb$GbC_CEMM+^6vRBFKo}V> z)x3)W)QCCS=K)Uc5pZ%bcf72gZAQ&@_0^@kK$KUtSUlDkdj@;{aO{|FF1N+PvOk?- zqNR47Tv^N9Goa_&_k);0>n)h;=`;!KyFU^{iA3ss0jV)L8N$$n^>ee;{_$Qj0}aiw zToke_UZ6KI{p;(v_^Mpg!=j|AtnBd;&JXp$L&V7sGghs?B35Q`zC80=hZ3tul@7m$I?$mRs6H@&u!?Fg8x7MV-Fon6P$FR0h-+GyS2N z#AAJN8r%<$5YkSOUL(zwmt5n$uf&bVa9S&fS}sk4*hZw%Tq=3)sUrgiyT9y<~pc-C5zhMdZ6oEGFbaZWIrOe5)_cIoGVTw-`o1 z%#2Kx(keYOPghVMsXNqPs}H=oH!#edfcev0vd>z&p}POTUgrMjI}=OtgS&^1+&_J` zjnLjERBkmHZ@k#x26NH+nE-sB>Gb2*P#=Rml%35|?^=3VI$H9L*O}zk(iAUo#w~hb zbt$2Kv5Wa5FP3NJw9aKMwGC%41S#y5mdu|2(Bk1kqz2ZSP{&NlyNm6Jxrln-Ql2?u zrc#R%X31d$+_j|cOqsw&Xps*{DV`B+IIX%k`v@g_$^GIltNWJZGsZ)hsk%QTkXG+{ zfE4Kr!!cQr-7IX;szlC6_Tf?pf&S1B1w^S+Xydj{k#U3GwFCM%lipZt-j{alb5 zFw|OMnErgK^l#crrxTQY8BN}#}X$L2jg!#b}tuE?kc86Yq?dEhh zK;r#u{cIPo3rN68?5?l~9h79l4KSI#~iZ~Hh(<8@}hr$kIoL; zWcJ|-G#q*Z*FF6>6TP%Kx}B?2XMI)QZpKyVQrbA=b8EGpt+7uzv*+=Uo**%5E*9b* zBhV!`SLw}P5Qq+_seK>h`pa~Z5^W0gTW`s?UJwLn!tZRh_TgUTRvH96-AD5v=5kLe zu=a&i<#Km4VQGs*U65-B%9qaSR-DIJ_B*fC*HVjj_(9vmrD1lWAs`>B-KMR#Tgqk7 z!`LSS;4Wi|i$7TEy6&|V0NtkrcA1ob2z4C3W?x!}!0LG|LHx;$=!%_uz*Xd86r(aYr z3O3cs?uq%cWvDOfG1$Vlx0Tq&Bdsagv$98*oQU<(?}}KRB9{7Yy3^Qt5j6B zD|Onn?0#SwH?^-hZD+G~$%(5br zum_zfWtBzUav<5y_puMvMQMEH0xg3COL8z{UHX?4cL0hf3sLS1iKJ`>t<`I7e@(;} zal$-z2?$&gW<|^`qlC#3r-L%|;#mXg+GAe>%tCfI{mcf=zEVRFesJ?d-;!Kyea5~* z7uUD!N9|J0`uv)RpRfb7G85A}8>^SlR6DKMo=GtoZy)HF?a?Xb`gvv!rWPil|=AA}cJ(iyD(cV?L5Ko>p$@ z)_OF-9t|%4mhzKOom0$7LFoN4>t%I2P83uwRSnI@--pHDD>?G=fGcA z;s=`LuNy%&>~x9SMQML;iL9RWXCzSo^ zYlL#~1M2N;1(F`Qt!a_3HspE-H7K}dI@53isQOHK81GAnji|Aj2FzQ zum^6A^_C0GB?zX`She26Sc!S0s+YIN4WhRgK!V|0JtfnvaJoKGh+dzDNMxy;ZTYue z=p&?(acMm9Si=(yYRja`?mq#i&|deMz2tnEN02=F&Ew$$T0GL)%JOIGK)sGDu&nn3;KfU!1R@l3dKEbdNO})}@b9_5 zZBbI;#nwz8xYAW@G{}tcGJcQf_pq>S_pqwyjtVS@+c%E5+~^k=Z&7V9?5Egn$rCT7 zUap(?F}^^)yMU(Vr5veh%J*|GEAeiAlDOy#5TDanvXu4`7!3@;Ksefn^485365Trt zZV&4Ze=(Rc>l4WSd=KzegWNFUF<%aF6Exxb(oj3F3ksk_S}b7J_`1^-!Hd?ynq|j1 zGPQ$Y+i!Uh0l-Dm{egvDRLK?KMj<7|Ww6N4VI3!im2H88v@Z&++@+TTHKd5g1>8yS zxJH1xnTB@U9UOh?^6JFT5&!^}y}uNjLa%ci=;uSaiMi8)iHp=T^7Con%JpRc=h~iq z&DNIK?|VXZTmeMw{gM(LDOhzNEo%=pQ5s%N7e5|$DGi71?^931y~xeV{#@e z$$?pz9M6bxi1)}m`wSnrj+%d|4Cp)cI=%U}*jPv@XraB8QxN0j)IwXEo-dW=EbT6x z-mRTK`wm0=j4)ip1T)d6XGCKmdr?uK8=;UM>2A|b`zxiuM$x79?A$Z#Vf+}FgRRx2 zO<=T015D~p&+ppkpdhtwF#gm@2~392{0v(ur&T9z3>Ge2KMM6}^MY!;kJAw38j}Em zI3RpW6qtJ2u+68xgCm$clY5oplfgR4Vt9@z^|bg?J8?at9`R>fN;@mn2FIHsdBs$z z^wYz5uS;pUjE08@YI}FP!;r=ng5lzx4p#+Zdo_gNyC8RzU2eZMhr2(?i=!NCJBAH~ zGy*U0*f>63_gG&qY_7?RF?E41dro-#yGyE3R;$jD!rW&Q>Yp*xi|ElDbdB?=bl6lp z_yX?KL{;2JLyTzE?PD5%&A~v`eJ6q#hW5b%3pqH!`lQstV^3O>Q(+q$bK*$rbcAuy zTF!mc#+)#c#?D;cd523@UCfy&vG`03MI%H>-uego+b?la4mduYTu0yL?X72OhF>HH z5GLX1XBTd*26JKSInn9%Y`ROk!|`s*(i5e&K4tMzSrR{uR%mqCze!P)NRiUpulq@!oBZ3Iy}owy+0g4Szs z)|0i#+5&#R3NObIRjcL6r_|b({mYchI=6QR&kt4C+v4>(JL#jo?FHZhz&84jCW@Qn z?cFDVrmQTW+>892zp3fcVbUd4gC%9Rvn3t>n7kVHM)7v@NeBYs?mIW^?SIU&v-H2r}Sj+UZ&Q}^2JZq8a?N4wIP zJ{O3Ls(X5N(?fJ?y7hODcBm( z_lTIGs&m{Q9LomtY>J(W2jRxBRYh9$)xau!Ui?|cmyZI20k*xPGQL-;J3X7KudHgc zo=H%MI(`ID#+i{MmWUN5GqdIaub{?zJUJ}WRis)o(^J*eAZ(EYaDQN94r3u1eF7SN z9H&cKcAPk7G5*@HCr?m^=v_`PuJAiJCS~YeHJf}PBw4HcpRs>0{2P0hF z+5W+)cp(k9+(t{cfXTX!9Kg^rdF%P;y+M&*qmYGqWt9!wxB*`kw2HopK3&m4Jm%=R z`OI?i;^1MAdJzZxR?TjI!wYmo4LsT$eDt+OnhYCzFh@X9x?3mMO=^$HjHe6NewSHT zT~M@2LA?t>)wH?XG^T@v42zN`i^~qMkEd6>oB0|5>cJ`{a;Cr()Rg`fc6tiRRO~GL zo7Ct#y}}WfOT`)0ml3zVTlq9ZwdcJY8ZoFc^t< zMJ*l$>}2n))wzp63@!ypBcqIb;(fXdCi@g=w?@>-S zuv|g;5+}>bAdlkt%@a${5U0;7f8z#}EB?~vleb~}dwp$tO1O`kugCL%Yt7v-w}=RY zAS7`=j)KbwR-0e|)^sokysHQYa)=R3et&8haN1fU>DPcn1PT-?u9ha$(*{|?85_d5 z^e(F)Lo(p=@%@297a#BRzw$#?d$#tk7RlQwM5@km8xlNTzC_ z8q3zWEwgblnH`)Z@B1^pP~b~zMCJRM)J2`qhRTmpz| zO=q9De_nUpDZ#b#{*rFSU1_%2^(M*#Sk*9S_vPuj%U3SRk%ov!{M{wGC8wW_y##jP zl8Ua#ZU{$47L(T9KOX=*<-elBG@z?_eFf`|8EY{|tlV+^)Bkwz>e*IYta(e2u7lnYO2A?dMjL5c zc@|7efA9OdPe3#Wkl@hKP62@1IV#LEj4Td=nEy_Fnjl;Us}NnEuW;*N$VDf|#B2H& z2L1nClD+@T%+jyK4sp5Orhj2#&8j2Pa{+Y0{Lfpu-Us}x-~A4it$l!l<`YFBw^U-_{>*lYGi%MW$Tclz;(AGraqJIBVQ^fSov$=Gida1mg{f*_Oq&8|vS8@ThpIAbk+K~d(L`}^P zhs%B#^F(VzYT{~RjJrJ+GP8d;^EHUlNwvx)16D`Z)9kl}MTv%@y zTPFbqL8Nt&5{>+cSiM1E;iI_yaydj{VAw9Dv$QZnAX(z+WV40emnfVhsn#CXeP~{o z*nkd5>1>rb+N@iM!{NM*H49ZQCRY=FAnx1uOvE4-vt}tLx(*d?9Q~;8J5e5{??5WR z9JD5kDwnxW|MnS^DVuqo9{5_bH;PD!{#MFyY{91|@bE0HTt(H$G9ll#uRXtk@-Wv<^aZQ;`QbrUF1O^Pvs;X4${jAda zTc|)EueY!XfKwkTeN_Io3A;C~kwi}o|D!&|F1;!4M!RKxr8L-=s=n8 zw=iFKKXAq%_Si<(I=T@6J#S7G7=Kpji-tsCe{Y-u*( zi0&$|D!{{)(Y*BcPhf{Ox?cT{7Pwx66gN>_TL#TSk@$tfzWIlYE=eY)4@ieN296P$ z+J8yuHz>Mt{nl-&Ky)@WM33CYoYFaw#ZInZd(^!@T-A+BD{lqS8g;UrjxY%ElvNoCh||4uUDZgth>`5$KE*}r@R z4rkd+yM!;*&Ho=RO8F0*P+R;YzPuK!X!6u;%%e z-oP7zAB;&Q+mEF;kgRR8K19nz^cZKp|2Ex~xKxV1IGDD<(>IWBvO-5dD{#1ZNB+`a zfF)Y{R2|k7{qx6Wq3*80((%5@j*Kt? ziz4gkBn#i__kqjJVVZ#t(UftLo3q2s@}$}*sNnd>$kG7dda#-tuDpM-D{emsj~0GN z``Tvw&w?aiDu6On1@DrTDMS61HNDNNJ7Bo+PQG<;txQ0JsY}5U9%pm}CJG(tRb2vY z&RAM{cUYqni`HBZP?n^+m-3=%d~@Azz*!hcG+J(tjg!wSZlRWO*WGajeb^GqfFFyO zIdWzpR@1ULS})dq+92{a_bSYbzsJLS^P_;h1J5=f7#|Oif`5U zHu@WtdK@VlV3&yqNCifeqf3681a2*!93^}6)rSq|8q_6CJsDrVcyxY0Id@OZ1v~S( zA+k)F_jJ;GfAcD{eEWVG5o0%_z#**hQP*~Wi`h!w0>Vb;t`G=L;nO6gDtbDbrZ9PW zL406i+Q4Ew?ZcFQ#yn17eU(Pgz>4I7R&&L{xuXJSo^V+{VV}%-FgE(#E+96sXGctH z+0E+AY?XAxdWhIE@gSZZLX)Yq}5+pAlEt$P(O z4%F#GUH%)}qCB?ZW9Y^a<-}W%9Gd+am;Wfh33STUX~d@2p$f2=vg4NCR*tP3wl9{> zKaACsiJFSPId|jtOp}Y$bX$4*6VI(nRb5MObycou`3@J7QreS>eWpEHq)#t>5`Yh& zNlJxny)m@p^y?X50m`jslgK*plWVne)Uhyr{xgvS6O2TI>S3crr8vF zREiuPogI8Xyl4i^Tw=>>Cbm{55SPb%9c_CC6Alw+_hutU-diShqir^IFCE{$G(8qf zegq)%aTTxHK|kjrpC>ro$dJPyj#;lY1*p&JumU4<&Vgq5oW6ua@M>FY`KkUlfQB_DkTi-Dw=YKdB9dFnuz8Q*Y4EY`1VSmfBcmjgp!%Lr`=i!kMn79V zInZoMXmp^3)LA&z)d0A%NdVnjcns7FVCJ>;=aboS9d{-F_DFhXgUoli9sxmQtgz{y zSl4bBHf257$DR~>L8;Sz_fv1zB2=g6m-fh*99hq$;O!mhoG8zL{GRF$)T}P8Y^SZu z2Z-4=b?$!lr!13jEyAMIoY}zXS8-ZBo{6J><8M%^72UxGkkYJ3P`#jxvnVE!oocPGJ&Ca*;hu=qV))mHRv3o0)0(7dTa0xbOL zw(!_8#bGrs&sZ1ZHtX=&$ZEv!WSe6|c{dU@+nOfWyx=}!7a^?NR3bNT5K{dpfZ;AC18jT0&iRV#JMdTNgVU+!v~7fF$rUpT**HA46MU zd}UojthkvC!3>w)NuasBr{d#>~)&;zqYI>4E?|qF49P z`402^-uapjOGC8+E{ji)aLk!-=XxT3M?&k}B6Q$%Qb4-`x2_{j(C$A|U+L1WR3N9Z zxJd~}?yc(zjpaZDMBCM|5%o~ou`=|=W8qzmBZKDbdV8m%xgR)uxq`o-)JOu!ZYGKA>*W$rOdm0SAjB#qF5`Ztitm`y0(lFAsK|gLwg= zh9x4qhA(kqi2csA%$@{XfqE0QmVI=nU6ksosz6HV(X%P;9-e%QVxL!50MJi0^Z`uJ zcd9-`Cc3|o%Mk?rmL&n|ROgl>i1t&xNt5W<#=}S3dF%BCh1d-@`xgNO`%`g@U6>;R z%E2^zd6JbL<0W6TvtsmvKCYf`^#-DRsmvwkm#J6fy8uYE41!ed^KJQPir4jT)Gy%* z5u$Cv@sCyJ^_Qy<=lIaaWV;7#*sBa3@u@PRr4rEJ-9n3|BRy>}!3IyS=_~cQW`+9W z+l@!V8oH-SaKeHJ*_)Y7ySO)n=L0w&kS7cfEBh0vfOmdyr8+pxdVH(dg|>I^BhW@f}xsBPfv&~3=`w0CGRp~(FB!N2X6u@1_E z+SYyeHX+$a3qKX6wXF0qP|o#apai_o2N&rQFt(hM=+_(>F!)KK`$pf_Yt!RHg>F5A zYy+N~$Ka&C`d=z_s4!HV02q~wDgc?Bddk;&N};JHVu!A~+aX0QyZe*Garj(fe!@Zn zk=x?+uuFle*V1Rh1IL+Aqx?YQM+26W{1}D-HM#|V zW~~Q$CSoT9^eEzJvg?3Lw`!Ychal=bpS|eZOA=+U9nh1#q928eUEp3zZ3rc=fN2+( zV+dc9Jj60Sq;xs)l>@atTVYz^VQiz$IAAom$a8NADNXiXTFRCRzveJA7Z7jtCf57grbV9Msbj^`v^tG%~iT33M zA@b-bfMfd(lEo)zJ?Y z0xT}ht**9O+X|4BXE5jO{vOVO2d(k^Nl$|ViyvW*c9lf}C@(l)GrM$n#?(bcG57l} zFAHQtw&ozLPO+w%_(S0;)$(w}P2q6O_I{N9{AmqRpQQ2}Rb+YjYW#(iz;n|g&~u5f@&u}Wc6R9e@#HhmCzjw=n^18N#)u>E631Z9(OdC)l*(1$l1bEbAF zofKY6tj|k!$LV)aYERPao#gsQd5D2nNp`|ln*R&UBJkrc#hd~CHIEigh~){KeMKY8IPDk{_rp950TGv z(SyyEO@sJ-yEsI&@rfp;8Yvpm8C2sy%X%1@6x^AroJhK!MBz}CkDZfv+!H5<8?DY# zP*9lxB8tHI*mh($*+*XSw?~$L^XAsVaYTPc58zss1Bh=$TlP_76FrhM%YM%`XdzBm zx{eS6Iqm1+o5f0WgOVY1cjJ ziSX{SpMc=Z#`}Z@JigC-j>diWdIs>lIC`vrtmPhuEAE>QMiht6ZIDcq{(YqiDj92c zr+?V<11a$OSTt3~r9RXIcUYx407Y&jvXqb-nzTUpbO(sMw4|mL zgexO&C?_ra+8b+kBssfYDQPx8tu-pTM}D3hjP~d|SXlqf)H&ae5@8y+GvBYSp;doA zqob*}A1gGOU z|F}@Yxx+F@bxoC4w^l50d<4w`?_Y7vXIL$!9@{N8(eMfAKrsNG$-hc{Uke1?pHjo} zF@%ON9Hq5*Z2OMiaaV9Zuks@sVX*MAG9Wmv_cAXbhmcDA#}t5+;~jw>kA*>UqN%Ib z1*0-jgI$1Z?{I(|Y@k0iEJeaj<#$$C%6JX6l46{_NDDmDoa-1XH(dK6DvZDb7^(%3 zY|#$W6?EoW1X0<(E+_$=$)$~;lb%9Zf=+sB(y2Sw?K2&IFz&OOj>!OBepY2m#qo7$ zFQ*71BE+~URvd7i-GKA#@~EU0n*E2QwOEc5q{|yMnx|SFzxqP5wI_D%!zzI&V*f7J z-+4{lmzuatj262*j0oC4)z%z3Fg!J|E`x`!00erb!oE`uXh_a$rs4HCgw_iXNp%Qi zP2~?~32qB{p8(PK{+te*cG6$&(MmM@;XN>Txl6L1KG_w#B*y^~4+ZHyAtY_65A_?8T)e_6hKUf%;e^D~I}1!9 z0CeF~WS!&+(`8MAO#ZwTs)gsCai+_I(wlBaj)jv5a$u4`@xI!=0LlDfGK7uGum-npNzJZnv8==g4Rupa*!0>&Ykjoqv7s9d=NDoOy) zwC;9zi0L)($Ul#|8lDu}Ui$ksw@q?42y+j9VBY_qvM0six{1clG_WjE+P!-9HD7X* zZEZq0K#)5S{xF^>HK!-9U}n!n5PI(M58FdDwGo9iS`#VJhF& zf}34~&IyxjS?N;;izL3(Wzl?wYiOmD=Yk$E@Pm6usyYf_G$Vn1Zx7c3S-K%bQX; zMpIc&PS?D@p2{Htf(kUz>zFBtzItVy#IHl{-YW>Sxg0MrJ zt|!-yt!}v#+1m+ZP*XI}G30-tCdi{dU-kp;`5QP}sfpc`7a((sY*Ytsk3GcN z!Tu-5ftCWVbAOfyB)$?Q5zw{KLR#N|d2jKOD;F&MgS2jkII8XS_;2_1xh@M zoXj)y&~B}d;HZ1zGqoeWEe`NGz#TO?z(vutWmfBGc>*G`akZ5Pz`+-;$Xw>t@9`g* z(0^uV9dBbJ^u~o9DS2kO8A(i9z?zq}$I-TEBmFrwpkUSDxU2tg)x*27xeRB-#c5XL zbTeP?_viMOrMw?^#OU)M$h`PMK~Ugjffz z3HtnFpwqQr@L&`6jyB|q8sN%d2PISYxWjvTE`Xs%fEmd<2?i1a7pr@p`fZ1P_+kxA zY5A+WjDi1*T+rQ4Mph@UnUwe}CiFT2VBfLn4Sa5I{B2fI>?k|~PEm}HVnY9sdR(QU zEDp38DyK8(xjy=1*Tz4FrFn`>5774m_p0N!Vk`gvRS%eV31oYO;zNLp0N2Wd)pci! zfiR)31hPe9Ve|WF=?G1dDA(|M%7L8CiDA0F(w&?_kfVjTgADK$wlN3(2Q_joLy{v) zy}il{6ce1b;QttBrCIA$!vwzYMn~-Xsw!9U=HGm=g56t{OEdXX({Zwi7BQsuI-h? zp3)JnEBZsGZuv`JAt1dK-!gTrFcd%mII`V>EJM=bi?ELXut84w$-LImyR0=KPU@qL z^AA?8%6Z7N;vO^dvD(P}W4>Xo({!FOLDV4+GUKt0c1t#nzqp^WFfaiyw-PW)l+Is2 zcsk(B4PbJ=V*_eRJhsb8(XwI7ntGuwSw)h#YE_g1_m3T#t;Wz4ef1B%j*aTYvZsM+ zrO3nzyfkX{eNnCifT?~2eP(bDCao!PGOihi55S&8%@`|NThqM^*n4Ahl#KiZxH!D~EPShJnl-@~c;$FE ztD?o~1B{hWn)PvpW6u@E=zD-{6)^1}Pa~+zsN<C@2dV&@O+0OS?TZh|Zae+7 zm8GoL+Jf{Pe#4j3rXOng3Fa}#Z)gsX-)K>&e~$LBw&Ow8CxP*ew8`T}vvNaAZV`ZL zG6V{cd^Wc2Uj^E;@Q*SV#ogAcvxwI7C1k**fcWay`J-@6)s^=v$sWLhi(zHKmrQfA zF|y3~Z*0_0ZQ3fYXS>29fyxYp{19+H9~}b~asD8);QS-MUCrov_YZsq^y=HFZ_l{W8LvJq1fY+G7Zqj3e_ec_%d0D8B)xd?#bSzzXct4Q0E;;V zNxuht+^QhY6x+bOgEE|k20+LcG;IL zdiK?KfTqMWC}lMr47`C?aJ~+sEI-~UY7^(%Tic;ks!v}$q!`O&n)w{`U--z+;;T*o zSVK4${AM8jLB7|4cTivn$fMDkA{*07WNF7L7U(sr|dpHo^C*_v_Vs_ z`;_O3IAFCoa&RBFPK4-3Xh3_qp2U1~GD+*=&g=#10f)3@Ru>Jow10DfVSyE~L4T~( zO-I2>skan#!udmOz1jtSC3eXD`jq36P&dxbyATBuWBsS?yPErfmHSUo;qp89*dj{st4p_5zGcHCLWHU51SeqVPVG(`rhoRa_jK4sFu5~ii?iPvv`)& zs@LV2IBBwAqj!A~oQFc;AM|*T9Z6jqFjRR|=^Agu`wDJ~KIsp2gBR=Az8^8Ag ziZvlRE6bVej0vYrvoBN?JC*7wjAwa$3-AhD9W7I|VW!2z9S2b9M&q*z%?X>~X!u?*0w;wYaPPSjU)eD&j)`P;(>0<1V4d8mOLP`7$uxNdQ?>(~k`-Ma`Z-E$z0D^)j^RO^U%VMfwEs4omhM3L<) z6~3Jk{EyFtO%aNi;$fGUPP=!AwtHo(${78$^Ef!G^spmo4Xx0(j>t8N*JdO&g~(^N zBODWaF^-mKFZb-0dV$|CyDkmU5RWa!`pgl)s!X6&YYX>Qoul44ENr(D!T(hDa7-SC zD56fHt==2f^uj1x%mcNTYQ3}TLz7iP3RhK?<_xh8oYXmJ_Y&ciLl5#2x_SUG3+uum zS4UJbuGuc!1LpeO_kG*%hC<7kz5s=qg03;|-+n*NO=)~jan4@{aSxmeGT#Au6SQ;n z(^XRrtPxtmzpmH`>9PGjpXmOL#8^@YlPCIUdHKz%YT8eYvKU((-<)B%c>+0sTwRLf zXuY|P#FjVTr(8Bm;YC!R{*%Pl9dg1EB)5h*^YozuEs4VoQtTG_Ed+wl?6F^R-Pu6l zp;BjsS?}Kgi5w30=*c|Rx*JR%76MD$vM!vfB`>JC1o;J#d38ccS%<2Me+4+V%t^ex7xv;x?rtv53m_z4 z_X&R0>F?5VB$mHD%X|Q0I&`~No3_BxIDPxWIghgbX31g?m(Y z%bbfy`{_*FK`P?T9{21qzPSj9zb^w>JOh`QP9{R~R_EgYc?jd_;ADqkzaLH8+{a>$ z5`45wsuy`h_xtAqFDvk}ws(9)87oR1_Xn!8e2As=?Ss#)EDFaQ#kyC!gUbi)F0m9B z*B2kPF7#dA2GTc7=TBh;zi|oG%@)Q9s-xfMO+Mu4T8~wZ3+9{{mJM z>pUR?)fs>aJH>r+T3(KZfsZ`wMnf1QCswJTB~MM{<^~sI89!wL*507@a2}XPHGUw6 zR1M1!BW?_iDHFbyS}2t0DtH9~HSYFs$H@$D{s=6uvk!dW-~gMy61rzSE)+h?Qd~c# zdTslT2c9FB-q(^!m~rnb#+lcn9&o$)wBWwz0cu@BoW3eLxzMMoBqBv5dLcr?-DP0H z(|I^X-U6&B;!z3*z>7Oq4$TH*O~8T|CSOSfbh#LUgdur;dhAdqUi`D5K-V|{nD_(~ zd_j~peuHjN+VIz6^4F-}N1toPis}X@%$ci$%)hjSB_ep%hVDPD61Sg~4$F#;d*EVI z?Dp78-G^J>IWcK>=Npp9_GOX2yoh9vVUN?8FGV)Om*^PW2z5}=8E`?jB%aYTRH!>_ z{1hgjngAfUFr?v_l9oxYe~5d2gmd7&*$#)hflm*(#iDDi9jM18xD^5A%CHtO9AM-E zLffP0CLMs~S2h$ke{jhrdzZ82QO#a%OE-xKiCwL&X50kG@!<?J(xh?V~CNCLD zcQ4u=BYO`Q0;=X02$n6Z-Z2&plv4L`P$lf6WO(+FZAXLG1Y!>>l?8uVgo7O*Iu~aS zZCx<-E9Zf!Pq+^r!)|~)d>d1aFZL)HckPwa?;Z9?DGsk5R+-Kyn-%i?q~M=BHb=<* z7FI@v4ejZj&-DEoi7}5}`d!~C%}W$83w-4NeoQCvkBVCO?P9Nk-8NIF2C`HL2Lp$e zyq2PIMQ@#{HFk)Jo?^u8l4U@xrFY|U1&&DFq`S8KlxC9ReK%8+MiSVA_82@{)c2U( zZFTPu>lW5+vUtb_R=JEK-fzoAQiPz_yUsvsrk~%s?ZfioMct;$wkOR7#$shN(xs)Z zo4KFVco4(G#wn%F6Z0%;&nuJv3|YRP(W{KzH|3{t5IurcKY?Ag?Q?f zfTe)G=HnTDsgn9?^x|%*F37LSmOL zFF_rRXRpEA?jrHb^|(Efft{qk78#QTR6F)V>{vQtWk?a+GuVeFo^CMTeBCVKJW zX-e)^owpZEE~d}t&g^$4cCenY`oXFKPyr;w$t@Esd3+kp1K>B>Pu)#OcYxT-0ms&S z<0SMio$nU+F{dTlJciRP-&;&n+%cYgYj>qQz1@01yWJ`+p$tvo>P0OrrJj0Rz4Mdw zsSli9M=zYlMM{L(a^F@v%zoneGZyj2IuwsRL5<^xyBKS%5)Y(agah?2hc9KjPN;Yv z`lqww!bRpEvp+8z|1Ef`=bjUPz^2*KUUG+P^K$=VqofEf3%7d_Mbi9@?9}tyEd5gp z%$3VJ4EfWu?oTabzDrn$W%N)Ja(E(!8Z^2|#Ub(CYPVysA9(G_m(S+HVFHVS#9B|x z_xrrJGo0(2Q`{!gm$#w)CdkIJ6U@8)Wo!l(_lfDM_ce>0*r^DEY_No4L{IE|K=O4J zRYJ#W?Zyw^`|tJ^Bu1u|(i|~xnTi{UpT~9biQHYnwB*)Pv#rWQdn+|`dhfX>E{iqn zao8mv?#q;)p=Vv;8})c-H|2bfOqjKKZqiWgH>a|9PUd!yy;iF~EvK>24!!*W<3Ctm zJqYr;O4}_f$9l=1<6;J`+6FVUyI#tY-@o$why)^XDeg5n+X59XVR1)e5ms5UM10o* z*?sL5@$rAzjl*#))Wzpzu)F-k+vLmmvUYu=TMn>!uP3WMT+7l z2i*5<0td~*7seL%1Dd+wF}qq=?}XUK3(I?%-4(pHxQgDpm5m^xNNTL{>@V;OC=%93 z4AQ`IZekJZ^RSksh;aPBlG+bn#I++TOHgR5@^>=*FO1+J2j3BT#h(uZe;9&F=e`uq zJ16<^txTR|M2!pIu-S?j)@eiF_Ixq^tbiDfD5t@9^2svOeo&zjjYH+hhUD1eju#}O zTHjbmL-}Yxw3GY7Q zJ|g1ET~{G8SiVaxaLF&H@8xnOn+#%O=V$2sCcUB5nJXq4wfO>z?~FaVrN+{`md4f# zlO9O$1<9BgPVcRZX3FsmPNVeFXON{x?Z~r|8kVUSGis}+OmzZ7F_SN0JAWfsB>7JS zW;)xrlpkVuUu_mj=_$(+T+E|EnV7I?_}Y_-1+1ar?YWk!t*b;0)Ofc8<^B(mO2&|B-P|lC^Y@R6QS&{dD0;3xYMgj_qu!&mnC}Q%6#@mgKBAysjD< z!}a_$se*z!Fa0Q*5(9N-zUYvsh&WrbXX+3@oPW5!pQjgT`+!D#?eh7mUZtF z0O%x~jTfzBC5SS^azP5zorl=K#RFq;9=$5Qe0*6eH$XD5 zy>VL1X{MOtNGmFA$mGG>@r!AmlFl-gQdMu?+j21Lx6r%&{29<`CqmyB`VK2k9(%8? z))cF>0$q4SK-78vlq2n|#Iiy0j_V7! zXF$_bRUUC-3s-0sK*V+Am>{>*l~bA+zt+b{DS>zuN3;31AGdE>TX)=id{JOq*HkKX zA9+8?+8k3iTi>o#cEN9iNXN7%v4>C&y8xS)wz<@cA<(j$S&JyxR~M3ye$(ksD3~d} z67rr9>q+1}tOA#S)A7HM^S`FZuhQ}?(Kfpta6Ck%}MmpNyAvJD)FrP zU5~%i?1WYeMHl>elV7Z)Q}gySeOOrB+5C#LJ(ANVSBA#LWJ zli50tbAbk5B*%mb4(oTWveXue$_+Rh*_%~|23FTn;Ln!x2GA8VVTcIK&Gw*U-)?BQ zpMjuQjE-o2fe%@$1wTD|L*v4r=Q*)Wu_`1Uw$IPM9)|wgmpDF^n-AeVu0?ksm!7eI z=2diM-0bYz+fmlH_qgKk6Jl5)>{<2?@JMEX&(E7sK0#cU8war}*gLZJH?2hRCj^fi zlZCp9Z`!^ihP{AiLpXOGiy23-COd&y`u6b@77`P9*{Aqla*ead48&w96Yo`sz_~|* zwpR!DJsp&9{Wb6+TT#kc*gDF_<1KpVo9IH}krhk;{6#s4gS=)d_PVwL<}4sRJ*;~} z)h2`Ekw0p1`g>+1_me!H1%8?gxjgv-EvB8XF_&^P%l<6>u^A`IR`kD(#cie7ad8sp ze}U(JqxWP4MZi&U(vtG2H~=Buv>Dn&SoHMB)wQv3TQD|yU|?yO=35K0a69V==&IGS zd4YhV)Yn!;h5;qs>^(~jN)xQ600tNa$_7ScwCvX$OHQ}^^4;B?+*XI{_lP&zDzamV zhs8MdC+TA;JUq9fNX)KqR@TeEkWBGV=HtdnFeak98joQE`#&Dm4TLknVZeD5BvV63 zkXS}MG>9Y)+>Xd%)4wH{o(pKyp)~f+iew-hc0AW+LxnXwKAC?mdN$0dQnA+vV?%cw zR*?6hOaOGtIF;nzKn^MZgV${X($c=(X)vJPapF|+cy#io-A+*6= zHbf0Odnf2qyZYTvB6Z?C6aL~>gNwuBaj%FD+$gn9kFKN=5rKoM;iL22cTOr$BVI?{LV@=NQlXnDTdi<17ic5VTT_N_K)}{9Ebfzz}`Z&xHj!iVm}hl&l>H` zKN#`WDB&fXaz5aqV_2>ZpZ#7u-CEo30~@2RAD`w#r?2c~)?@yId|m3#x~@M6OD(D> z8mw0Qbk`_}^QAu2h3CsMxd5qc`uf3*GiJA~M1|O2*#C@(QEVuUC^Uz`x)ru^I{2+jloyzO_EnTQslN;ULsROSCfQ_(=@FRS%ogp{eFPNSO9L)0_uHq}dQ!9ca9g>&XMvdQT9Qk9 z7GB@=z0)-;c4;f21#+hJJ96k>H{I`|(PdA9aDkFfHB%`^&OSLtxNtx9oCAFG*3<~f zlPeAvWA#}y-dMv^jkiY;TGY-B#pwUbshm;%-dp9R%{45`y6#;O%s5~eJY>NCjib7y z$DylAk7mYJgN}<}_T+-b_XRnc0K^Efs?>I#w0eQK7dj9Xm8(bnspEtA#Jo_#d1^+p zlh-f$a@0AszqLUe=dx2@5J?I`q$;J$-&OqA0#={YaS%*+L&nr z&+L3%i9DJ7u};Fe<(d;b^UGB-A=1tMqkNL#)px$6uZkZo#p&-qWKv4GDsm~aK5g5x zj2`46?#wnq%l$Kkh%U#i9i6g9kgVE5}-Ef1@-)3fT=3peF3K;(WaEj;Da;!(K0H1Uj+yKOx&!i_ny5I zw3b*|jm2ohsSAL>Ppn$Tm>ZC;P2UP|?|NOf4tE?h&KSRVw_#6ufw^{MIwL~|#yDr% z0N>#8Br$vqw?7D1qdrW_sB71-^m_!0s^sEN6tAZ1o5?9`$Vzg9p7~e}iewi!=Q!*R zqjvkSO8d5It5i_O0i&pN;(1HR z(aITQ{A{i3udc8Fcv~JP;)(AbUXd5r)#uZ_bBq+E2ffzhRWhixvl4KDJM`eT$}_;a ziK#0FImQBztgY|W($4$WY|T&qZrIlA;T{_V?OCPt-e?fJn_)z|8Kfuh-UE=k&W>{# zKuD8O#L7iTc%iogapk;=$4$wNvNBi0NS{Pb0y&F~6aLJd{YY7M(4Rn%mTGy5u)5=5 zQiG{i;NiiBkRAe_G(g$~<~D-HyT0%fgO%lJ)&vwcZRRUf8|04&T&zK8MnSH!Rqs{OTfM=A|Oe zZ!#;nxSZPTum14vQT!p6%iIK7R%MW~aBJMO(*ei`aIhkK|2vK@MtqiycwNzSDZYvl zyXUjnug2bdku=rob|>tY%-Q$bS01a(;O1YvBD8%ty~7Y{z9xj&Ix#ROP~|gqpjZN* zNEeMQu;vQ6`>BIfMT7gFZq<_1lPz0r)eUq@YPI!$k$wKCREo$h*Td)sECna|rG#Rk z;`i>HY**npeqcA43}U#2EFTck->eVjsQ_F;xi^-?wtW*;gDCfZ(=10c-K~a%&+Sj{R}z7J*3OxpDmd$)7qAhap$QZ61*{4(uj< z;kb9_iADo7_hH>G+Nny2iW7&>4}y$Onf#>kaD7!dv~sfgftTk+GcLxRRER-JvYLI3 z9^4Qqb0=s&g}2*kDwW4|kL3&DGnlQAte-kJgTF?fz(yfMonx+_m|A5bw?*8u{tiNqcdN76TBe4TO zQm1Zn)Fxr42o07$aitu|XSa@PU%Ca;ksaD9#jj=Vr}_%cYa*UfW{ee{-gr?ZREsHH z=f$n6RIP^H*8#%FGhzY8d^)39gT#T3tfDh6eqYNU?bQ-ns?4w1M~=XpuHNNRb_i+{ z?6VL0;^gjmsU6A)5Xpy_BtiRzU*o(y6BEXT09;@7iSp3R6@FDD9{S(-n#?}+39(Gt zJ$(r-9W$%a@V4$xqtb9zhbt)b$yIs~Ektvn(?J&^TlutD(Jp69=&TC8?9J@TRX|vM&f=t;VTv4Ky7-1vl;M8K_(t1?UTnZ0ywx!nE2^^3^S{W22CbVCK_VPeY${_ zLyy2}qpz4AFlf(k;#b)tU$mC00W{r*RRsvF>F|)T5kq3-6}cOQGj2u&2Ou7gKSq-R zF#5Q;#PwK89l)ZV>RD*dKj0U_QdaYH=Na3BlI#{>Lw6W6uopEs*dTEI>YQ+M7jdFGOMH*iVjXK>(>%V{7x zizZg9h%_NTpH7)uc>GTD;~V(Xsg#F}T?$6YyViHe%_}@lO zdHh=HTYwb_YPT5$QuGhLI$;;}WMDo&=_+%LN?mz7JLklu334NQFBFNuw=$V?HNPaV zWGkV^k-_|gTcr9~OYlhJsM;*#E0At*g+B}`gMXf72@J$%voHBF9mK${RP{oAxcybp zZf?d!qBWJahvXR%Tq znWnA8g$@Oji7u9XMK@*Nb4=G~{PxXbkaF+YXIO7|hGdtahYf@E*OMHO2OQc_TCZ;Y-%)VASeM=BjowcRo?XGdDF0054TbBr2I);oeFeC6+|$j8*iyC zD(CTMX35j{%Az`f#2EY0%%NhjM=BhG8_s)fb`iAd)Xi`noi9!}Gi+At9gC*S&0ppo zJn`C6!bkLNLv`gsONL{%d*kBg>gpd~CMPH^1VG>Zmw&fR?V2TJQDV@D6PTRegRlW_l2XB_h8O9%?HU_H$nD08TYt?#ng zndTRZdd-b|iWwn{csj;_b>6nMY0ipa%lAIO9uRsR2Q{skf6~esIuv$Z)wS+2*Q0)T z{&0BcZ&|Y;nP2sveDEqk9*g!p#nL%7JvhC@|P!&DA4 zf%C&!6yTB7H>Bk(fdN7)x!e-bzxdpEehI%2JPySmwvKbj%`9F%Jq}%>^d`Y}1|nw2 z#9^5v=p;r&hgf};p!H6er{{DWQ#kLQubW-qfXqQkjDQ^fj$TAO zOb&KGm88xZ4@@1ompeGO)JMHXIeQ=hwi8d?N6>hnQ9TRTpXT5IMPv^{1Z+ydBU7?F=v3`Ji%f1gO#KA-4gZEO}OIk->r&;+-D=-#+Zc^RHkQZIGT4Z0YPr=@u>K6Kf58?wt9#`Vhr<=>wQgc+b)% zd4v3>z^1ISn_kL=PbNbD2Yc@s*3|m04@yx)l%S}nl-K|pMMa8KMMadR2&j~RD4hTz zJs}_}TWJbXqy-Ct^d4#gB1AfZ7$86>k^rFx2vcg-R zdO!Co(Se0Q{el-aebg8|Ya>>?vU*Ow6XdW-%~O(cFrgE4-z!-0^yg4=k{GZYo<~r^ zUY!%R!q)zkNeQz`1-Ea#KYEsU5m*G@$Cu;i)C^s89d`GTL=6j+S|{snIJpMfoWfvqZRLX@I&@T#GZHX_;C>((#+4`lB5gfzGmuCE zu1`nF2W+{RtOJK17KVqsW(HmkFKs5CLC8KdcbT7d;uZ8i@<+N&b8Y^tuxjcL-xb({ z-mmIEN!Do9zN-8pqP6urbXo~LnCTXWW-t2gsC(`GvfuuOB+Bh;RoxkNF96?gO{y%G z0wlMOsoYoqkRnGww_9j{>Wdf8@e5W3e7Jlrex$5*Tc5i2rDa`>XTT#zi5Ikdfe)8y zCM#*+&X_w!-|b1^ltW0+MFQ<)0aIs()X@WG5A&eIP@KDVN5&P%D(a`qlSv7|0;Y)3 zewd0tD=Oi|5|ogU?%&e5p8x$rZk%^ZYg{QP=1&+} zaS6yCs?%PW$xf0lG5GlOVTbZZ9*YABpD!z7%YaE&E&m2s1>s3T$I^hsFnR7J<@F1$ zFC37hSF3#EEU-jc!;Sz6tOLY{SGaks0Fg<+^893FG7bCzyy!m*I)w8VyFFP^#Ey*6i-D6}0 z=B+0vyP`+-Lq@{H28jdzy8-a~)2TF|Tx7*Nx=SxX0IhZUpVq~HF*dkwHIX2?LCr0C z+GX#kLqJ&mmQnrBN%l_Rjv<~z(EIIr0_*ewY_rm-O9)os&JDyIM5g4gK4a)4Jb zo&LS9l`2a>!n7Y@fXx&7jV}1HSOtjr$CyqUIhA`Ex-cwoo4MmD z#66(Y{mW;U@=~XpC!tFHKeIhtw=VRgXwsW)tdO~#p=;1TYB=zTP8R6?*>WtO^E}Q! z%>CJ{!h&^j*oe-khNqM&2pV1(W`qmH!_(H!F2O(kZIS#jO@6#cVo`Y@By^|axQ`9z z@ny<_?o9lN)|s}M{=R<%QclNl$Ke&Jqf|L``tT_Hr=-dFu29O_WQo}u1{SAxhy^DXEaeG|J9-rY9`LdIPlh9R-Pp|&!(t%Xj&!DDz$oL~{}l6Sjs-DQ zRc_Z1QnC%7!DVYwTj7Rl#s09Li#UOQ2#DRB0~);69I$xe@7apc$ptyJ&giC%5JL{P zj4VIOdt^`1Ne~*z%3b^&3+M#d$at>?W|KC+m}oHIQ4I@8uLmx!0(zNdNeeNT~e6sw{ zv^Q{b6lNlIK@E@=C&m5;p)vIowx_F$qY*EMkUhn-%^g8H#WNAK`S%n9DMA%)iV*rp z>Q`Ln*=Bzg8AWUU6`q){E}SUkx)-)y%!mhx11ZM<5X19&+{V30VU&8R?mGGK!p2TM z60rU131W*jqZ(5$1)x-%&^lw&$Z;+j0#O%&@ffYE2Mqc}9N#*FcSPv@NszzzF*fww zlKP7~x{v)2HfI;9`vJzx)HUApA2Fl$&44fOdnr}M_%}Mrz*a`28xl$`tg?QeWGMlw z)go;6c%vxby~rX^b$@#R|J-j56nH&tj_DiBAg6NWLVFz}q?2Z_&Wa@c07v}vZAJAm z0uBRVq4vfXzpae=p@Yvk$ERxva*yA;ub6LRok3l_^ZLI5y}S3Q9Ucx{Q5cvO! zvHAU5y`4bp5+GjYi;E983AX$Cu^nt?VgBX6g1uX0tIh|@iZc7Y=kZ%};MBd~V804~_@ETHN-LBU?HcQF^+~qK&CzY z`!!j^DYkk?*BqMja?)pjRhNgPU}>faVx7nn3NZLxi91?5uToBe3EG#?gw)SuJ|;UJ zQ?nFS^2j#VsNV8d@UPx&f47Rb@JH-FGRbk5Gy1yUYMHoD#l|BBf{NKaH5aQYFKW)L zLOnQQ>j3&Q0uDbgqVQ~ToDP3?6Ks!S&~MF>u{h%h#;5V!t7ybsYSdHWX$%I;2Zw9s zVi&3qz2YxgqY;TT`~yvnX2k&7xi-n7xIG5bR=d$UrltrX#r8t6RDFHZ$Nig5X|u;; z8KdK$@Cx!{JJjT5kltV~HylZtxb~3Elj=S7#WXP3Hwjg=tT6#=YYl+2o)b%7R_slR znM-vCj21$T70Z5IUv^F0 z7;#Lpca0+Eg%n&Sd3c3W)b;RuSxpzp`(gWNJ18;<5goGM^}k;O%o`Y0g>o9xgyzuM z_;GSO(9Esc|0%$=>4V=s zg$hEPx%m2gAhoitZR_U?_irjGf@5yq=eUhNBPY%x{QK`5B)#RajIuZhSNi(sDrg*i zmxCRpDg+B@`L3LrMX?H;&JdvFT%!`a*RaAN*I%jWMe3`%7Xn%!Ex>lZ$W5r5BD6Pi zw&_;57XIB{TO+RZ?!8=Q+8`560lZO;`1TfqG z26%ZN1o`K{Qy=N%wuYvxl=+-ZXFn@lP_l7@n9zs)$Z2wUDou0N4mvWijjf1v*~84l zC@c3m%0u_Xbxo;9Pg7$Yx?O57L}|Wx)Sezl;PdM9avXmopmnM}r>|DMFFfja-q|S9 z+Sd1KNnx8+K^GbbD0NV(z`;=sk&OfpF;FUm(0I@?Ht%!($)3#$zgo_XDP9!>0Ohv= z@4#>Vyg4lD*`;bmx z*b;j8l+0NiCw3T%yw}Hne=}cTZHQg#h^NB{QSL_-hq%j+DM*^p=++9lmFB;`tzuw+ z{K@$}N*jt}*tNWA8fb|2VoeRt#|)DcHd`7i$LQ0>6xw01Tz)}$t!0{jV`KWBO*yRx z+-}&J`M{`MqulYR-}yb%cLEs{7s3VO0bW%NfXoXk41d147p@sXK)qpI*EXF~uj>2T z=yy04DhR9heSdJV_8;qMh@Z*RQ@K5G!%rLKm2Um%pKf|m8^5{c`1FJp^AYBq_T2Ng zSj|qiJ)`+C0lSR?oz|Yuxv5Hl!~Q5Cw}YehCwaC{HE~4GQ%e4fkb$iWw_f1G*lZmj z=L}?d7Vz8_$t39X_*T9fnLX8b_t)~@(9UCbGCZV#Hd>f?U^`5ce=AyQ3r_b^rXMbC zxnibWJxUB;vsZ;63niU;d+MA7ok3rEqzU@mEJ31YGQiPCYuI1#Z2>XC4r}J4&@Ry# zYE({m-`x6q;)^o^-Xh$+ynz@}l%!if3d=@F`U1$j3%2s#&uLteR4~D8=7g=F z6(blaQuN!4Gri2k*0R&>Jz(8ZJ5$&eWOj@%&Lvt6l){<3~wgsV?)?b)a z7`!;4*sXFBd~~7AR$L>PDquvXHl7}XTi&6+K-?Z=v9{T39J3K)2YyuNQ}Z0wTo9aE zV7=I&c9wHW*h-y~3W{T|cHzVem56(B=#kG2w0eX60tIQH?)Tw*(<)KF7bURZHgXNcT`%im^kqiJel7cq@Xha5RRpWrjh_9IRR?Mh98x82S5z7a zwv!?r__1-}Z|tSoUo4cCxJ|jR(vb*B)69rM_Ic$jWzzHvhPgc@9Oav@2ndPfL0uEO zzPZZz#B*~G8(Crt58>HvVNY*q2ez<^=V~{`Avn2;!w`?^s+HXsm<;qtZ5j(4NdI4so2-{?v|JT!58gX#t9k;ve{w?4{>1FP7^QrKKk39vn#KHizENp)}ywXwUe_`tczd)N1RYe|6>|5e9oYfjuy z`?Fscc;$gvBp&8YtE_Pi2oTV}e1PjfzZUXm3l}IZ2bCNvQp{8O#;2EkX370Pu`RcbtQpBicPM!q zYZX(A%&lJQ3!cxjllCFSVZ&IzgY%Tr@r$Fg4I(du&jn_>vw2-}|MjeUt; z?UNo0VbK$rA(o5a2yJQZ#K5cPPkB8jVzepd%qN+`DNZQ5b; z4}onY%C#`)D~wT~naz6jmRyfsCp2Va@XfKrH_z)DE~W?k^)Nv7Z{_~m$oM$LIA@M$ z1r~Vb(JMO3qCG#Ze-$_pi7N8g5V46EqZRWwcr5DL=&3MrxDmXSK(6XPbILb z3ts7kBxYCUo@o0UNgwU~2nu9Ll)ITjT{Q%?54*Zo*ZU`~@Z;f;m^Ms$=aa%Xo>Ypg z?IP_#diaIKRT0JZWby&^WGGG_B?(j`1;&Lq{>I7!#6~>$F9ufs0H@sp3Q-l6t`}m? z;u3nT1371fHhb*h6$60S|C8$j)DD+TkJnpUluRc(MzH45bHb{g*kP|xqo9nG67m90 zaaqpK0(OVGn{uIvevz_!6cBej5H`tl2``4;t0IZngi7Wq1~XR6Z1P3;CpR} z`GAE1S)Hy*%Na%GfTC>v!~i10LR8Ysxqj{Kr6AHD6;b+3 z2ajntRp#ibm$ep^OMtsfDzVRn^5KHG8yIB3KcbC}a+~5T;FpbV?IHa7*e!rcF9S z-O-q*MiE^{Wus$gahaD@CdJ9gcYK|m4cnxvyojS2h=bF4Q~uUQ?f1CDDUXDMgJgN3 zztW_kF8u3P$BNE5zuJ(ws$;&e7RhH~lWeRewm(+|`JZ1e?A2POZ5XHx$xD4gdp+Lc zN`RQB1~2pwA!;XjC@)8D z3S2L`)(_SWo*(chXiI_W1XUux*m0(c*GQU+FYE?~3q}|b9;4z2_BLn@bzvB~gI+fq z(x|Jpghg(%bnoz%>f}QmldEyX%p_=ghPYG=*YiTVo7QK|T9TvRMl7Y!y^RfvQC-Vr zpQW3*HH$p&b=3qa&R84I_V28zOSSxdSBuyvVSDzax2ZfSKVtiZGMWdfzZ9F2J zlcKr&;vbrgJCGHpPI>(Hm3s~A8OQ+s9${18pdcOKvANBv+Jj%tVJ#|NA!+4@Mww1} zSX?5-{yya`Ybwn$i@|)5ZpV;HBNBqio%#7#ZPxR*OT&)H=&I^B?X35d;aYOWK`LRGh!JI`ZOLOq?R@BrfOKcl&lcmiCmvEdp+x04){u5-{(Ph zsV!Q;^LMPiv6vO_8%5%Z7Yf|kj2H@d83@if2t{&^TI+CBii1VbzB@<$ru0>=JMQfEm?AXL^C^r+PU&Sr-n*(a{wr!lvCZbHnCE|g`L=UVc3#mj$?*6x#Vf$W zgYU}1&mGUZLTb2jdyjO&f$XAZ_;}#y$6xMGX2t|)sC2elwYz8M z>5LE6y!mF-z0Y9-PP5GYj#gl9>pHN-CzCB z-X2s3>v*?Z+E>Qy)`zM9^>2>?xy5z9cdv?qHkEao+%AbF`tCR~S$}1p<;i&_w|7cT zM}aXlEv15w0HhLQ-5Hs{FB*1q;EQFxdSA5XM;)?E_E*e!{DeE`s5qUY0_HvaTS#Ih znNJ1yZaZ-&B;~^#Ud1R-mG>WzHrvkaNxh){&Z^QmzCVHOBpB~f%&@gXUdJzZ{UL=K zB@pF@A7e1!^Tq#FX;n(i=9NGxr)aaUu2|E1^E3E4W*_QVwIpg};k2FtRtUT@bu4I) zDd7<&6+OC08jaMA?x+B;DPjwzfIgnMc6F_VI50_%&BY|Ge)nQc7vL9b@E#rG^0=50 zABdZ}N5dxseCj?Y3Yv;o#NN^hBItfpG&5HjDgQuOve;_^#|B8$B_YqA=sIpPm8zh{ z*?Z)do_@F>-Whf)O@PhbuU;qGVrOb!MDPD6Ody(DxZ*wgh~Wts84mnB+`y@=jOgW= zIKNk+K$!I3{@Q27B!It$7p=g*HHv&7q8dWohnaUwU!C=3-&&Z*4M(>HyT+&r#}FpY z4aaEmXc9aZulck2z>k{)NE#WL;jQr?#Fi{E*>^4FI895`=me(b82JWa)>@n6vfHof z8{P)O0U2-fi!Azz-Rmc@DYqy&gO%?4`O7ZfWS=^ACnjTJ>CO15bJ$)ln-OE*J3vtR zSIGn4ze^t4GhqGban9%Gk{LKaWp3mZ{%PttC~^(fFyr*Bzf;Cx{0^()BA@YCz5ht? z097k;l_vWReVDOuUY;GAtL-n3^--ITThkB$4paMlMc4QSX;lxs0pDf$avN?ECaw^Z z{E&?WdtOjR$>SjOUWH3_+ZRfZ!MhrrQ{DXdxWZd6>h%1?JQR1RZu}+o8k(3PYlpgs zkBJ<}q*~UkqI!dCByzvx_xeM-OkU|m^Kq-x{wL$8G^z3ZGeTF~la4>uc(cgjg_?ij zD1LdKPwO>&yCG?^%(Yf&Tj9GKl7N`SqPZ{xRJ%JwzfKB9I0Jz=w)52E1`IgWZ&UUj zlOrJ3_9mTxv!{ot{GtBqPaH0Kg?)#)ZX8~UlB-e@An|$E z<8=M;$qNGQ8;1{Z6RIR00P*Hc4RgWOp#w&Jt~W@PHSRD-5U%QCHT$BEwPSW5k4@xw zh~e?YzdLI&>X*MSm?@{ORrgEr36C)CB&GEh#DzbUk$R!JS6dg7^&D^s_9&f9JZJs zEre=vjJApPlb}6>Qons&_*S#Cud1y zQQU1zC2fN#jktlbsXaxzlhz^E$%m-|hI&1Cl+iG|UY(tCHqiCU%bXF%9Eo%BOSzG` zXh~w7t*usiaaUtsX)GGns8GBRKJr&$@HESxs(_9r5SA>gXjtU94}pDHnDr?@l~Tib zY^T|N)9!1pu-c}&2Vn97xshuFnI#xA=fjh?j+s_cLb>6yVK3fGOCo=)c^O5V;3t*-H*B$4 z`RyawcZ7)@uKO|5%n#mIf0yfMb?!Gi#;k2 z+_e`}r0(zBM9+aM(diy=Ue1EIxMx>_+>kD9U5xWx$bUt4@}fd!$aX1VUOX!xy4${P#r9LP4=60!*XhzQBa#v-4&2~B4dd5nlv5i) zCDWNsaE@gk@A*Vuz1Bqg;qn?zH3yo>R zQ6B|k;xb4HtyqhtJ=Ic}@ycrDOyvp8Og+}@BP%~8IN~Z|%?#QY6qw@Gz+&I;?NDU| zAsq_DL!qZLfM+oTC(s1jr8Y;?8?Ja&>_K5Ng~OsJw>gXk9ry@fD}*#!8uf% z^!nM+I?sd4w!#GC3dh|8#NDBbCNr&rGh=e=dI7*+jH&6^0Nwo>|h9jO}F z4aJc`tt+17+Bs-tdfaV2&4)AJ){J^r#)s#rz1mv~ZnCfq z?_UH4mB!b5o??bP!z#}t=Tz3!08tKulRUwCYE3~a^FPJZ`=}5uvxVYQer4BLyMik( z6TVIxZoLLoAUSC56$9ux4ggq0rT-Q_G~wI=V&8t|n2E}3q87{1ZfHJ%Vv!kMWYT&l zo*;nlAhQu=1~10f73vbR-fIyOu-ZNBXk_qS9D$|+?M>69^3bgbpVzXx%FAZ&a5C{t zC-H6wPLsMFvZ-dw%&Pf!EZ~94bYLNsH7>p~7nCJn8~EJdL=Yce+N>mUfh+ z;p^$Nsv!D~&f{T+!bfExQNPj;Fs`q>yf+B+M_73SF(_LhxU1Qlb+Kirqs+_YqlGcG z?Om`t@-O2%0f^@GThjo>>*eIdyp#myWq+ffGBf zYj(`Jks399DRMTg)CeoNYjB`E_USozY7u-m#-4Z;6_-cbj}#3+Fllz^fb@$5SQ@w~ z^)r^+9WC%PGyn&?*8UWx(a9a_S2o_Cp#zWnWOd3p%l962Mflbcx~hZs_}ndhx(Y0B zw%*|>w!pGcjj`u^%kfU@EKC$>xm9d>_e?{HMizyy_w+E=#)^DQk0q9b^if^R+pL5e9kDd)Q z9+gPI9g+o7@RK?K%=m-y2Ow2mu76TK!6ok5>PhpIofH4l&7%+nOyZ4Hh*pAvGrHJd z*A0`Qg1j4P@5Y)>6;#BR!M$nU8B!Uo1*-%ct8zp|I~t~McyCe>y^@901!d&usRWKo zE%|xwQ@CQ;s*sTL&wp3No(=-PdseXe*0K;gY`Kt6?TV3wTsJkhfpv%-U+PW>mm3hn zcM2goJ}ZjL))clT-jp1HnV;yB`G9s|JEeT+bu6ga2WGEQD;rfI@z?U?HMROI;+wxJ zAA5Vp>cnvRyi32+H@0(JbkiGe_bqQ}2<#!|-+9UCARTQIov_-(G=6nH#Q9>S@H}JuFzAODSlaB0sWMCh8%+2H(W4sjFbajlXyWe3W9? z-_;&iJ9M(LsGt~3mp~lEBdH;J_I8{N)ZRL4SV!W(D{tra2)iUP^7*~?qn#ZoOB0ry z>}LgiiHH4%8)H6BO-N{JC9frV7@7kY_C{cyFFT8!MMD5t)kFCR3cHP zMaakCsOK*7;D9gXdg@?_ZjQJ?o4JYsI5Z^*rE+6eR*-ddCTCy5wiMJ}x`*SwVgL&o zT6Ix}px>2$Xzk0d3PC_?tA$pTHrj<~Ki2iwb7eaGx}GuNj1jaG@r;rJoV!(QJW+_)}Th*|6? zQl7dlaoX)otczOk)Yr+Rndaib?^s{T?rc+w9&x8a48=U7!+$e{sHOYCZW_nnEOlZ& zyg4ozh^%{&+3q-ML91&f4K7fT5*)CIo#<`jPu0c z;A`h+_P5=|XG}G=+c@kD?P#P3JB-ZVGHZ{4k9d8#h4~Dgt@bI$xEU3Z>%Rrmh?P&S zeIJJrs>T_rhPLuQLO|1QjGI4WB!JB&^J)X8eB5}d8=NDvqWi(R$In1yy#Ao)YoLdn zV#JRt)?fpj1uzlP#kYG5{V8>Grab}q?~YICS80`42ns@R^p5wIinr)r@^Ri$8YIC8 z&ynfy5^IScdojsQH2y~0udNu}H%_-!@<5+`kpGA@>4Am(wLQOsmg4~i7fnE|7sx#L zg)Q^Knu7YTFv`+gG?=UO|ECxH@U%V*ST6-ONn9z-vDy! zv3Z4wy~^Wjb#@pG%Upxq>*_UPhSXKomK597dAhRO;{_&)Jqt{*&V0s>7bzl1B_rZQvE@z#JfALU~ky~oM*oak2e4_i~BT- zLwb;dPQ+XX4U`m=?e_$noAn#_EYnTlzuw`Qq-~%3PD1oy!2a(%*BFWB#4i;InhPd={}?y6?Tolb@Q5>FtjP+;VJ?1LnhpHT$$5%mlY9-ag5sf{3F`s$_w0Gaq$3(10cTn&0-MCqJ zcE$PD!pS8;@q2jV3Hp;7Xrn%aAtFrgS6d&GLwt7F@m~1}CC%L$uKA7ic&@U>B-##b zr|yA-Tc5`KDKz^pQ1JH0u+fthG@A5;VjZnW-?Yp@Gc@#pzZ7WMC1+jig`daGnwio( zg;LknV`eHE2wT~B)BM9tHu-B+!@hpLOuLoNIWOnjxm(&rvoBR7KcDJvk;Mey8g`YF zu3o-9tI`B@iMd^Izwd?JgfMWn$Xe}i0;ta@a|Gj-y@m+WEhl(KY8Nr3R-I>F#zFk% z`Oa?b{aOoaQWNlsR3yLx#y^xx&-nMac4^uI)-yvsLyc)oMhG#upGS2QY^{_#|S-WgY)J}rI@++QOU0M?I(Jg1S(IQd4_i4w%6AG>1 zr@DGCzFeNcu2QJE4X@1zw<_MO5yFnUlH|p2vtqE4)GzEMsVJ06=qrN^4;kYT@1N<4 zsqMV!Pk?mArTuo>KY0|NpH2cF+YqS!SHN>VfXa)~Knr{OurH-VX#Ukf}% z1mF!TR~$LveA>4gdA=g77?K8`sf~LYcl3MJIDanm+)|6UD{+ii*kzF>ZW~ z?%?PWOw$3k>p7Q#@L!E@t!lClg3pB{4j7Hb3b`T)MHOqFE+fRTfS~tBqj_R`Z=$2` zG2_&}Cmz1oCZGYF>pB@jLz_;aU{lltLw~<~^NEc^fyxWHee({jm5~<7Kj&S+PnqfBnKseaohu0kfkfa}-Ou3gPmU zN0v=1ODkG(ji?$_{1vod>{tc$Cx3Glu=t9O*Q{?%7EX|9M3VN{NzqCWs%n2RG+q}X z$X%f;9d7E8gU2_f*B=Of4y6q*zwYaLOSn5=Wx+|+!L&SiP1gW_R$FLTfBiM?LvJrX zVR9YwO*c8xG0)vk%vUDy8uLb?%yg*?yW z#U`WqgbfbGDDo^Ikx!pLqP!4s;CZ8Qj09kGU}{4NV=uFl1TpjcB^Qfb4+b~K#!Lovisoj)@R zH;(48H_a}N9GIm6_?8z)n2-%8KW4(%Z{$g{Qcfo(4{_& zK7%UEGs5o#Om97~6BNEG3iBH{JEpv_Pa>zTJY{~~o;Ob4 z_H6SSUq$b^Va6X8gQPV6@t6X76F{@4H?v0sIK{CYpa9|DG&&B`u^l7x*}YPyi3p2n z*{E_t>o-`Xf;OKZF0(}JZw5wL^yyCdvJa>o+d4uFy#2M1vs&`;rfI(!=*5%a@>iU@ zWk>+iZP#xDsbhvTmL4^qG(Cwx(@2CnlPIl(UaU78yIAdk*x?9UFul3T>KZk)unvtV zq@B`Q%=H+<6fjN(`;)<*jD(==z60*T7MfD4*gXj?sWHt7N^%{>=j!7-SJ*X1vd zjx+1u5x}2r1JIHu0eqo6m8xKon+B}a(4r*mcJSt{_4l4kh7oMryd7K*7P(!Vb6Rm{ zT`|4qy_i7soO#0@E1Tr2SiLoyw!hBpO9IAYpVci!^JuG?hlEC^uM;-hlq_z1=~`|d zeN(tOg6C+b6nUMwyhfiqZjPvKF3yQ=a5tVS>hMXlF=6P>mby*m^!6yJX*b8W?mR94 zM3Bt~9in~G4bZZnH1EsLRvITR(4XAX&F$Jp+5>Q}IY{sXSD&09&I)oPV`@ALKkLVA zt$-}MWlf#te#%LtFHmzkH?`>9u-3usE`SSA&iuNyPWKLuRL~yu7_RbZXOeYe{1|ja zd-=0-nBIE#3Qn7*pU+?*9glCx`6gl zr^T$pM@wy|ucK(F3%11V-ke(4aTmfqtE!oV!wtK-@h7f6xg2s_CC_?wB=-H$4}-9e>>yG-wA=<-&GgKBN(O!7eNTm^$)+qQ zJ|Spt?=^g$4)1aH7;rw=yu3$7(Uc33eRco6hVh>)(ii@~ocB$fnKx?7q8oR~O|B(4 zoe!h&Z1C=%5gZuW9Jpy#epb0Ps8)Hzt)Ib-7dS$C03b5HvQ!nL-gDh|rW z!Bx|mk@IU6p8cxB6mc?JZPj)}%hsvt6!QN@6YQ#KkM#Y|-~aRq3F}4(xHd>{ zEU2amGll9$lF~B)>7;L}@hXUL-mLiXER&P%=P^xyO)S42Ok5Q?f^}sXm_4&w11HLf z=SVhOWkw2zP2CLsq!kORo=lLr>9u^cJnJPYI$zmv(>~C>HCapL`!9KNzWSd4Uyl90 zQ+Z|^N~PHC9{3+eOoREKWZeR{pH$h-T$XuuKl;?y~06*TEf~l>IJc((6P| z$npwXZd!}-q}UXK;PA!GYK&-BduQ*R!cfz9HKatwW0gXs4tLWd&Vh`+nf~DkPz)WB zE-LrSBEAA5YJcwzARM2eA~@t}u`1xE4TuZ7V-IFf+MyVaD!(fYk{HgIX*FhPeikTc zx#+(+pq4Kn=+}%V?dO&HeVzbub0{BP(s4^|P|KSC_j`$b^Da1#V}r^Cxz;H%EmyIn z3Q}F7m8>ie^frukz*MU4R7}Y>vWvoSQANV#%U-N(;ag4AzLDQiis%*p2k^^2B^d>CC~-)v^vhTZk`HA*a2fX4+Rn)Mg*QOv*yNc^Pc+EK5C| z9xY@JUmK6GfcT9)F2`6euaySpQ~t!YlQOpQsV4&0$qs**Y&d@@x{q`TTOK1PL$i8EVGUMy=<= zr6YF7_$3`3Ml0wq(!)8uFXwyJe-?lIqQ42Wi(qHRsy7g@t8s7`Gs*5Kd(SwVwA7RPkIkr zfljN6JmnntMD<|&(M4tGl61UaENN!0Li}4na+d~7itH|<==g(_-#Z7M!Ht$HiVFI7 z$|%Nd28s<%PrC&a{0X50FTCUGhXDwLR1W?vl7Ne8qO53N^sQ-XpGM7e+Xp$73>)8j zU+05j9P<7njeg7mFp5)}yydsuH#nDE#lFf^twrpykkc+-dlwDQ%4nqfPk;*d?6#!L?8-h7_MB<2_|4tfio(@T2aey<#C8rU8&)qSXG<$P6YX!O_A?$f@Ia&J!y z)lvzR%A^n4$PE(jtiD@jQC2}!&rI;d;4K=V@Ne&07Gng$%?awNH)`$x)_i;+d@i7- zc*KFX6sePPXx6otDDzuoajX0a1iu2-3{vZ(j6B~a0J8Iw-;>N8&bYP)SceM08m(fR zRE*PAX3XR2e9<+?fN!OEnqyrJ1htncfU?4|RA;MJ>JMR8e3;pFQV$^#7LB0v)l0A` zFeKCz%-*TtfP;TQE*=_CrcB6V%P`0Ab@Y0yT}BLLvv@~sUyd#^!LZsg`X?+%-I`Uc z9ZO8_Jp)-#Q3w4h_Ia$&Ijdri0dZ^WFJ!c7c%}>OzGw4DC&f*8=&}3!4u43#FBOn? zvfP*$bYjpfR|SZDT~=PGRoDS5+ZE4W`OXag;49?5zI*QzVA*55tmpczQP>LSXKz(w zggzimhX-{CZ@%vu_MQK#pznn!yQyqbIin|+ysuCETN>Q((4M&)fu5_eXL5s;1OIxF zENW3ZjXw0{$il@i-CXv!D}p`8_1v!&_Mb{+>JF#9JgC1k@I0%v4|*nbNcCu(^XaJ@ zi*?Lp(u~*u#QAj8o!$+{qlr}Ug~1*SjSCM@*kti70e}S1@=&kpQx7S6YhO(B&T18K z<1LL10sSatao8Rjyck|)F#6FLB!N>aaw-xL`+v>tR{h~wIr3P~&|&wtr(CM<%%Q9% z%gu-YnP!BlJr>p3xliSp-Go(k zf!Ljn*Evdl`uGo#_aoEQF-t?){9^IfwrWDoD}o+rY)AwSUuiT^fZYFI`RyXruzWTK z8L#T46Kjd-)?yRVmwPNzEJZ%<^q(o&RW9%(18ZJ>du}9(>|!x<&Tggwo>I(ry>@@c z2o&#I;hZe*fq#Ae(B8S*-_lS6;yOiB4*Fj32&ho#OWks(4vTQ_B+s+7RtJpsK%lL+ z;mIq$8*U2*nuy-J%JHl=y~VoFH=NQL)c52}Imv9h_r&1SK?G{TU>9MGCKRnpPMua7 zW>w9pdyKpsQBp0Vx1^n|8RmBo=LvRE#|yV${{e=dkXCG-qi6@WCXSmdOJn!)6hANd zOPkc|Ww6;tROo}$a`?B%7ZZ^o{g-dOEcW_O?5yu&^@c1^lQ+5wd)d`#ezQ2|T3FD~ zd;E3$m0}F+=~7lO=g?58k5JwGoHl!Da^TE%l`l81NBDPLR3FVqqekYxZFL8*iRaW$ zG@M@3+MEksdH`E;&a!1~?-HNRD$cxl2$CGK&W`YF(8AB{(3{DronAmqkPsbppDud8 z82`4MdGgZ&Yf_~+z~6PKB)3FC-*e`i@!siN_|@V|=$#WenHBNlzRQ_5PbV~TUe+lg zIxaq=Bq|tQZBKI{{2xvcD@3n3^*a{u|FhrzpGoHHdOFmces~(&W%lay8U2$ji^d^fuHp!RKHUhO|EH?X;+XG}ctbWumUqan#x93B=D&e|i z^-4(ss6yHOxeUVnS=+;%LGflWDCnM+iU~=3b2sgaFv8NeUQTj*qupI!(KDB>`i=_R zMRMH)6E2V`gtpJ@bM<9&$9-%2%pUJCAk(5VDeO z<3B!e;T<=N@lU?=;T?!W49b20Kqmc?uieK9jCH_T=YE;~M z1gi+C=%}sn_wvDYx=4qj`j7J$eP`yRb02Y7mlFG2|8Kc*}Il3He-w z!mE~=>(!GbZ8mjPu#{`%nUv4eD=$W#$H=xCKbKF=E_PT}HEr=@;aw1eK0!mE`YkhO zT?`WLtUrr0M*BA;DX(3UQRL&!=wAOGhn|<37QdZOQ~q^R4^^9Ab2_@vrFU2A(1}!V z>m~}o)$#N)z#;1k5Gnm;@Cn)vX0E2mo+AOg;|@}T70;S$Fi%I&twVjNR(2o8(s}5J zyC^(d^TN#a>$zLc2qBmo z3ovilJxTPN2V%-t{8-}}!nu9rvESJ1LIWpVa|M9|yC}6_tJg1%J0}9brbTJSJ<2oh zp3Pq@KKP&LsfevG+uL`%n0U?X>?XhvY4sv;XEQl5;OL)r|E4W!pow^&n{;atkkqr5 zcTfn;yy}WSp*}ez021ztwytn{T6zjkMLa)_mY?fuO+ zXb~Q(@k*lc*P=rKQ>HRI^3Ig+{}a>ZUv^LRv0}RUwZ0|U8bo|mu17pA8-ePnyf!F9 zKSo~a@~GKPsF|cbJEjlnWUs3^juY5R{wLsz6Gc>CbzKspKFt>kRQZKz*DdDzx5vV- z-P5O~MBamt7GB<`^d_C#cX{>NL?jYLI8~@1sj%j5I~$2ZFGqL4<2M{{wjDI@d4KF}p!7G5oGaLjADj5IIFL#TxqA0? z?CT$AUi~7-ca?gyfA^)GVDX*MUJnGQ=MX*Gjk5tDF3hhsN zL~B8L9w*NWQWqMtCyqU?=Sikcj^%6_HPeMRrK67ba<$#6_j&ck=Pql{l$N_gRSGEy zv0u9t$S>Pedm-Z8Wuc&*`ad3Oh~f3xuWN9SjL3^lJlkIcB7ADU3Qcv}y$>2#UbYa6 zV9;(PV4s>bn%LZ?1fpg6N=>Zp7tF>#;+z;SwA9?EOdJ5wN z4BwKso;)vt12y|~_cF=aIG;I#JC^##cT zxa%>2h)(6vcMdTtcn)_x;0DhGi+t{2*#66!Vurp@&q>+T$5hNp{K+AxfJg9Q_9Dql z#o>DZs2TG42-uU_ofbHsI?OvmJotB8n-KuNGMl=pt5jg}^G$Ugt=jF)?DB5%7c8!g zfD3Wq`P0lTl@akn0QMRw+~Rq`a;_Nc=PI-Dd{aTKx5K${y|#d<^!~WPj00a)*p$?z zWF|$GX5q2?Y&Uj{!e@t_5wEZ)-biJf7-b^U_e((!}b)n&6R%mZs$9Vjx$_kw!>^JN<$8o6FThR_ie{5ljuit_HJx@Fp|f!L8u(_0s_8! z4vz=wt&@ofwjyLq69(>=e^r?cz@Hl4-HNSaWkiH=onju%$JJ@j&n^C5LiGpk_Y*_B zL~U{P%{%X5+)YaG;G5BHDR%FeWv$-Nz7AF2DYuiIRGwZ70aI$)1Fy9*`wG50(lHrg z;3HHz<+C$utGO&E&p#K?G3kWz7rf)==z8HHH#(*(zkQfiKHbRKFZ<+N@S^!dn zcKuq&H78ANT$!WxqC5>2D;v%(^DI&2g?3Q1RYQo-TA`bVKaA08yRkd*x-}Ymc&6A~ z(n8>p50d-U{o$dB_wB6`BiHQGIZNhg_Ij;O<*%?)Gp!=io%-9^+F#t8VTXM4FzOci zWvuqgcmozCQN8t!33qhxY*nXpdM<1Nh>AYp5`F5VDt)aGg|zbnX2Ym|nEULj>Ak6S z!IE9WX&1)jj#>Ymp@i3+vz7@9eD>&vY%5M&fo>d{j$dXJF5$Kf?KqB*+0$`@PSeTT zlV;y0#3%;_fxyY9&xh|lk1l$&S z@pF|2+7G`Kvbm!;nPj)Lf8Cj^fD=S>oIE9U$sjrM#g={!52N znYNV}yH$eEHvlsge`fZE2Q4|AwMiSSJTk)vOgT~j*GqwxeLU((;G54gcQp;(+O9c0 z^DlN4t7))DRjzqS9t$DX3j#nY9OlM7xzJh%{YPng4Ng{?E@I~{H^ zsY_X1jNr5;o|Icm<#*xj^-MOaf+@G?qO!guXn$^xe!YGFIzsO5%c!@aiC>&9j7H`F zFS{~{>DQ#^uy?Tjn3-Vtt8M=@f2KI?=jmJ}qRzc21x{M0GJ5eXy=We@wj5WhXDKVD zYoRvRQ`|*3liGX!X4XW<3HIAC_mK~+hDkziQ|w7vD+W&nr)SptzPQ3>JkIX{D~kt1 zfo#F#eT+V;LUUxd`lU&mhcsqI4bew#u6}%^JPEkW9r1x3XQbg%+F6Ath z-sD+?jFz3e_H~`8&4vRcr?9*Nn{nOF>(fD&;qr0+vMs`q$L!$VDrs~{BNwr#C%kQ2 zwv!p7vEL$nVV#z@4w~;YEcb~Y1~lnW*A0?4y^>hJumF;R3A&dfGUb+xH`R1LJbPLlX$JKb z$6|fakr`v#?ayiK_2!Ad;WJ>5P;|C@1!f?Agom;r6^-!j@{mmViUe_S-Gk4GF3h8D z7(Rq58IjL9mg6D1eaKi*w%I#IlzdEeQ=GM)oPt@E_V zl^#paCioGwzBIog5n|w9e&ebyC+TN)6)N5{Y8Ns)!uzBshIMH245;?f8m>Ey4 zf@tW`AOxDVKkv33CMr3`Q5LYse?-}`ZhI~tDdN<{TwFvOz3DFrU!mOuYc$ln=+IRi zE>;a!nsT}kmg0(1JV}*<6uCutn+W@}O|k0k`u$f*eGM>`khwt{A?m&+YR>*AHZR_) z4y3}&AN(xs3jo5Z3$;4zg?=?m15W)v>Mcj5-F~m#ScXaAt781V#>~g)$qj*TPv?j3 z*MBA*8HRRoed%U*K3A=M8eZi@!x&E2UO+nf^-8UiYp~|H*qnveynGdQngv8#UP=Wm zZMsbpyCoGF$sS2$Z;U3n+egf4w{X@@F|0f8RO?mgE%_x#ZtL&o44XEtPxE`1op=$9 zE*216m)J~a@hskHm;|=fK=?t7Chox9e#Tq6#CtOGwPJn}zIu`E!d!}%{q&hZb>xP_ ze|O~nUv$vYlM2lQUW;9QF$vlgCOIyYiBBbVF;QPlpf`=#R+UY39B}k95%g6ue@{5^ zRWlz)t2m_xK5Tzf)Fv&k$hE|>zS3h4duqqWs%z#3=}N;MDO?vVXL&DsmiSi`fxl3; z;p+A7leb;|Lg^t*WZBGyVhI69@Z1V-ALSzGm7mpeV{&2wM`>@bzb-x2q%D?>5nd?E zkV$h8f#=k^`Re_mjLr~&Z88HMo6uAtg?@@{en7?R= zrSEn_71#Lqsw=_}>Ww>|@s>*_{uINz>|yhdBI-iLJ9^Rg;drPvfk8it9_XiWx3HR2 z*Gu8gPnp|!*ZJ`nT_uZZk^7>~es!o@w`g>4ALPr;OnPBa*}h&4+sX>tZH)udGed=X zL@ug0nsqluznY%=eD||A(r#o~&Ys@Pwjy>VI=9fM{I0R(f5@l!a;qZ8onIf}Vau}Q zkG|R%9lClyDdJP%lVz%1VRyc?7o(|Enf={waNOhWu}GX7A0X8}_?r)+rcf?&t&4BN z9j8HzZ*5$y43Y0eBe+dLdJq2Zl>Tc1$e2b=@)RfaD33lpNo7`gDPfCLigE{KKh*$= zw1*n=h@6~+Bx3Q1f#ShHcw!w`m9nL{3#?OvA>)IIC~2g)>s|J-T!b6%?OL|J>^;hY za8wBc0=@XtC8s`%1zo7|0*D=(;kB`4m@F#o+1)#XhG>)&PfK~bW(f>hyL{3Opry$z zc{?68uK0`!^$k_!AHOAB?`)TSYe+rJ4dGhvn+OpdXt8MDsSvvIriETQ2*cqqe*U^U zQ??M&7Q<4j8d9sX`P*ZcK2~)>R@$LLr85cGL$Ube6K!M!`N2U{xyFko9-G_eHg?zz zHkHMQOah|STj-v`sdA(dC~t?jzVI~94P>NAWDi`mR$lqdPQkFinTGP?a4|7BT1*QR zf68HJR#mazb~0_=?rp?gdQQ^d`bfjKJE0ORmY-@4tUhsBe^eK|d`qk}~=G)lV?V$KqFL~&|) zBL%#s+ud950(Bm0(*r#i@P>}~ZW{663K=Cujm0*uO6`{;IJTLo6qQ_Z9MVO7{#L?01G82!5OC(N zQJ8y_WXY>hD3bh`(8_F>2t*Z_=b5<)`+&$9r2xi@qaf?*Z?*UDfqxq9NEV z)0UE~3yC6%6}g=jio?a~%;0Glv)n+dO(kP>o>FCH@Ri7@!JO6>#M2NZk#nE1USCPlY{g|<2qz#+ii)n$O zfv)HBG4Tr%ev=M*`H0!jj_C!XltJXHQt;P1H@rWfX&YE$Jg)hq0-WOYe_(I> z;t{h$<>?BX`s{8JWrZMscA-h1rgA?iz*t^f%YI$C_WGUZCZTiYTW(SB56jLEwLb#^ zXL77`dkS|x$98{ENFs|;406rCytXVOoUHXgE4fDc%$+4!wFverG?Q(`50m@6U?NyU z1ltqQ?A30Kmy3G;1@RJ2Nc;3HG1n{LJEUAD^%9F{1()u%7ltigYDD~vLj~N@o`#-D zGUt|h?1k0V*=V~F9i4;??#9YjWA7}N&6b}!mN^V|_n~AUG@^slqEG(T*Ve7tdx+JW zkgK!GA0caZlr5XwMPCcf9Hp@o*gNqjNLXHUEr*)aE8ih|D)zUXz+UWeb(W&Mz!(ZS zX;Y7N{i=SLd1z+l+9O{OOc5&kE;06#ia(tQt#pJQAEbBE4&a9$L(I(bh9q34 zkzQSc6{QuYdhsjAVXW@F8Y<_YV@JBEPnTm7tr4HvF(2<4hL#p;;d{b)4851iO(%gk;nc$orD`J09-BrWTxXs) zZLH|2Rhr~5kg~S5bIXx*X2OH&S(T^W*VG<)PrG*vt;e6;!zjlDtsIY>2U>WtYyG5E z_>USh3KyTSSMI(gWiX8)(o#8B&%WFpn^7yFJfgI#k>{P=rMj$`kl~y4vKXAd^8dsf zD(xKNGb(v?VIc=Tn#gx}NtqY;p3mHAk@yO^=Iz@JS)CQc>Wq6kiOwy6@;@kDcaAWt zy&O<)UA5Jx*cya$c-h}?i>dQOKfOiVN2QI7Lb4>IBj)3VdD9pu17YvebEb;dprZe$ z(to<(KUDBPnh2Q`*9Rq}dlOcgq3IenTsW7#e2XAT5zV0z6Yi5M zW4(kT)RCO*OCW-BSbMU}VOVH1FB{uJrRc01FbOLb3NhWBY_jGo-CVaGkq1-AP6Pg; z7QkQhjkIw80mUSkPs8bm4*@}|x89=^AuhjaD5`z>h{yu)W=#8i%kD8c^*Y?>sj28F z16B)E22R3sFDqW|%;bM@AY65cZ_%iA7+yBb<{r^M{sDA(3yXFMXgy9Ufmv*si!iyh zR}|H{^h+9DI2Rs^PPV4V)*!4*v&AJ4`qB6|zYO`Lp6(#^vY4t{%RYGd-eAkO1n)1BvyqWAKXi4y5XD7VdiI zL9{S{6`~qMh#I3{yZTWu2da$@UM|+zhu51MKIL;8K1AO9`52>UmkLi|n-{cZtCaY1 zWGcQ@Y5$F7vxU#U!oKVM&WR~Y58BCgM8Kjm0z}DyzcM@4$uij&Y6zyn78{^{mD41$!x$#9mH=zm)JduyMc`vU!Ru(Njh@2+T* z56VWZTKt&?cM$11BJ1$=~ho z6pqrQ^T);jD##Q-)-oL+Um2k8uDo#m_#5jMk<-aGOs{>)!E|Bo_<_Bu`J2|NgLigO zn_Xbd>49*{O6hZgp3l80z1mgLo&S1+rhl=2Q=RBF5ft9G8VGMZ{+mWHEJ?-E%BTHK zrB;W!!sJzc~z)Jc8yK1-%`f65^1SnTQLy z{)eA4J?TlJ{HsAEDy-7?zr?D1Y#CF3mB%$!`AQjA67|zo!nNae)w#n=m9y0>du4tn z?7iK}j9rffJmFsB4M)bvH7v?Pa`2uG4L^qBde%1GWHPCLLsFB3@DvNJ$1^As<$h-B zF$yL64FQFH1^tcFwsdcq8_PcX;-_;IXpRH$)K%SnQ3(6tl=Nx(#q+CjsrsY?;Wg(z z_^;v*K2V6PW*|m@=Z}vVEofMf90X*Hd0nbO#EMKq_2bjWfVzoQa+EN&t(POLIA_t9 zS~uB#>*llY16R_U&*rxDG0~YHpH*X{Gw(VSqWTcfUCyBU5I6~`dW+wPfLZy7->6Dr zt*1hht}O+=XP!pugnNIQozw|Owqlgwd@Me&W5M~@tMolR@h7VFV_xD<|G(Y-tMBQS zz5(z)&AJ$Kz|P#b6#ole`hRzq|L5)h?~uD5eU}v@%X^p=OYZfRGK>?9;e~vyadPYR z|Jj87Ac6W&?2nHiAA&VZ9oN!oR*&5MgF9>`c)Hi~-b|YnlaIdQgCic8+#}~k!`=}V z;M41`&kS8?ROX0qp0`-`--h3ajSgK`QwEGj7c;W#aB#q z|H^GX1>1s_Wi%8@M?%6kvvF0KPbYN<%C+`>`Je>X)Q>8*?W7MflvaEhdf;Q&Qq9G|v<|o-B zG1WYc!325hJtNhDvh0PYKtYUF4T%JIpwOlYbKY>FWCDIX5_8re5WG4UJ61gI|4}>H zXxVGO4x`wCVl4IqydXBo9TACm5%jHhb)5%()9g9{N4`+NQ4(Fh9vl>GzPxK(2yl-1A81SOwBIV z_^z78$zo9$TxQ-PM?wN{mVNk%LCao>o--{*<`V*rXNKp{hln7&t| zvNf^nXRk(vvw zg$x${?!5_S&^76K?oA|Rl&VI98f$kRkenOo2Rizyyybbrz_|P*@0+kPacwa9z1g!C`Wpy?M8zm=E4m9^EL!2ui3?xh*APj z!nK0r1&OHkOCuqvSNhzi!PUAY#&|v zH{l50^P>0gu`sHstZ?|%zh08^b=Q7nER8K3yZi~A%y(~dxV=jc2wtW8eK%GftFiji z+w!XnP&}e#siyi>iNeiPH>W%O_9mBjU}T$}#vkH?Oh*lP_CKplK)I)j!^t)vz_~J0 zWFD?|HyJPvZ~Zt)4xEfW(YP=zgpks`K3bptH-Ah* zaB7EzgghA{5S~gE>itTLfVx|c>tLN4H;yMy7N~GKK+B%CVgjjT3OG#QNR$px49eLl z|MfB(LiPU3=^wTF_H2=O`lta;MGpFQ>j!66;l?!f*@|%1wtxBislh&;m(fnGqiflf z6*xA(Zv1!8S+0vnM5*9iF8#~X94%|3(%T~<1S?TZJ_gAZAU^r_O8x$rDM9BJj+LfSkEqYO9kT=d6>%XyMA8pg28b^}mZ?PSi;boo$M26P zBLiiC5JLrInfMM+2FR|zR9stgPURSz(0u#C=r=Vzl}1dCWs6bCpWN}aA#%kLFP)Bd z{42BB@8M+9>g+ha7&Dok5 zVJ=w*Dr`IV5t)-yBq1n1RRq6p0yvn62I!=OO*@4BchAIOygrzHIC_?5e%rsfSsYFR zT24{yBeMKw^7{a)KmoMbbH9#h&Ao3AE(VD5H7E(1Nbir%GTw34F^l|zUm_#{BSR{7 z30uwSccx#Dqe8|+UWPTQUtvV@2l)I@71lbb&bTo)``|hReOD>qWtL5a8WJ=n?L*-@ z91+MPkPF4ZzdaJ1fTtcdgf79e$>|?S{!;O1`T{Z6T0cB>gWDt22pJ}j<}a4{hvE2> zt=C1!iz)x*^?nkJg&fuB2)?l!z~LA$GrWGXyjS!>&1fU)G!PJTB{ zopf=ItdJaiS;|+Otf?Na&$V8+500yg3%0RFJ=?!H0s4YA_1GI=&D0H4IOG974v|Y%(Kmim5}jAitBuwVJ+|rgNq;v<{bcWm z!AnOpH|c0(qd|xrl%w%uN~UV!_r(x@oTSBB_%RVcXEflC5~ox+Kh(R_V`Sh*AF4mo zS2sMclvr=@9}QZV!&s|Eh@b$@03UvSWET$pn=TYIHvzsBDrQziRGilI!F=-h`5lpj zZo`EezR+N`vNlfR={>cwo1-~SY$fcgBbfo7Hi2e})&<1P#}@N;wgno#47UOKJ%@U* zr~t0@QmgqT5lNBN9zRSKs6Dk18Jc0*t@TesUcmDLhJq8h10^l>*yo@3Ot28-e(iqW zKhtDo94HCGAXZ7IQ`<_q`_Su&7+D)&S|~un(elgqjkOr4|BXKX z_k80ora|OUgZRc=_di$*!Te(W7{%;f8ghMk_EJN}2vW;G!MG`CasVx7AB6Ux5m%ll zeTbWkN3ao|`IWFdir?f&9tB7PSQ|dt-T9hFEI13Pt6l{0Tk_7{XXHd+P_>zYYvf8$7X^Nc{s zfXxI@1|6g;(<&$s)5rK8GKmVn0Hu-HF0ri-C4ymgT2oDO+USNjNG`Aw?!WJYzrI9f z7f2y7{Fg2D*OGr?YIWSI2MGc!Hd+I@f*ar)(YM-$QSp6nU5krr&+J(dYFoi}j1tQ) zPS}@>IcC-7!+7I`AnNwei12-A$_>DN0X~? zun1&Z(V9^NVsS2P{rWdp=83`j40+3(+alk>i0@%1-Y-VBR)@N27LS1xh13M8M&IR+hO8{to7LIwH5WtQ+udg&k(gq%61$AeebC8hU(qR&-q2UHFIn}gJfV^0wlbLRDM)MDdbkM&Zb0(e&rlA^?KUSCY_g>(NX z;*9ir1v`T-QUD6Dlj6T<&Ce!cC4j#}mhq65L6KmjNU#D0k^+U8Gm@CIXLAyGPQ>$9 z8v%`+LeJ!AaM8&ElsteTJxh zIHIm;)Qv?_PUO6-lbsAg>z`zzDY$7|hx+Eng;Z*UUq3v0Ur$@u`}`UTFstX_%QJ6- z98LA_ea{P7Y_2HndVuV(q@ z#ggJ#F503_$Q^<2ueBECGcl1z!#(8Z< zUik)bvU||zUTZzA)TPUs^y*jLt&a8HqH#-og*MljG@p)da%TdwkOg=D5PsM9`lLng zd!xHeV1xCvk9In^uI}qMWf=MGk1xbp*}xkd+e!I6WL1xB)^>rb2pmRsnO5IeWX5iyx!sI>8-jWl2|akbtmvx(S7fh${NwYf@Y1O6%OdzpM+zE z4Em_OqQs0d_W_^_PVAe=&p~&|ksWVA#7^gM%iiyUjD6hlsd?Dn2mcG)=NDu67sXFp z=kgz4ozJ?96A3;{?Z)&K-v+H5%vSk*iyQU}C96IzEmzgH-WT-+9qE?qVjQf}mfbnD zrmEt+XSE$kO5-1dh{niivuRICHu0Yd~KiOH)-2S}eOu;dmv~)(6`M z%Jdr7H6#8THGCL0WI|g{md|{6+V(3kY?S2k=hCQYi(30;S6-2(mwyo*dJ`MO$sacA zguyr+U{=tbm_XH}8>ivaI&{aWnU~_;h`Gtexgi#b;H!fVRiUL$R>_}n(yg?=i#d{m zO6Kh^STTIC8Z;U!_0L=NI?R=}xKJe8Q^SwN14#LwzHHDqb+57tnBo`|WJt+LE-JV{ zi1P6>6kmwVTUsw2mQn{Di(FmE+0(qvu4`X2QE-9YTAO0}Zrpi<1;>Z&_Pz;oGiOt0 zp11DT^=__)W9_S7n^j)EBK=_T-sB4y3!mv17Vu@>zVL!&*lD|NkB!lRQwXDRBd*cP zru$lOugQGp3;I(nI9b=aQ9{!AwPffq>p6s46l&&W;kg3$^bwe)ud;%ye*fa$b4XUt zOFw|S&{{RK2BTK_QU+?hf!nNtekW0Z4D6Q}J3Td`@V-$-%n7=B!Q49O_t`a%8Wqk! z);Wf9^fvr@HdOs4>D>E`Xl!GjoWh?#h>i_@-vv!RD&AaJEx}daMpKeL{OT66r0}0I z{V!?-LQ4NV<-OLyv0UH&w9)6m=p`+t2>rJZB;sO&cQzQ)`WL4!X^<^ssW8kI?g7*p zqf0y^sm*6fpJ`y-1`wzGWDJk0)$M}340aLPi?=>Wk8&QF`fy%!hU1M_W}oga&Al6! zsNgtpxRH|oVfg0E7=wyW?={LYFA{GFN?A0%$u(9!G{eoeEQ`UvAd2)Qxts<6$0wM59MVEVs8!xMaa>>M54Y|u&2+xur^+P9G7bVmVD;-)x+tIWl|TonwoQ%`s{C zoq^=lT0pPyAkeKSgn&(D8~5*uo-dP=Rq5c zDM<-`3|4gH*7Pm`usAH&2AN9a_);w>@Aiorqc)XSpr8{SbH7DYzo=sx~o6zyaDrgooHwdX8)>W+r{sfcR2 zphw>n2wy%XKG4l(%Xrxy&Rb(u5&+Atav|-c9*6RV2agY ztAL`Ysr{{mC2HD7vpp^6irG~IQcYMbeo1TQnOVRo1@lS z-Qhd@37a5P0k2oc*v|J}tYZWKke>}M_y;PEunvuH$6rknj+HDj&iA|Cs4gL- zr`UG#5EpV{0%n2Stkzn5T$lm3fExs4DQhyRr{y{OQ=5>oNgd=da%nuV_iwBLx(V{oR#cUSZ_v-tsJ%4)shv&g+`RwnOC; z!t?+V;po%!31F^eAz-G|=eYR*@W^QNm>S)a80i&K0Ep_(12H3=R5R2jBwQ4+n@C(p z|9BwCin4|vpx~h!Ht>tM%hHO4fz4nsT<_Lly+ZAwu+A%no7SA&H1nc^mn&uStGOCW z=6?Np=(!6;f~gt77P8m{FE3*^;}%;DQrZoR;4NXjJ;WZWN1!ttNW)yl$D?<9@2MG+ zEl5>pSv)9sFA~XBHDe~2sG(;ix##Hkt)XYrWj5m+?sGv{^5>=vpU1Cv)k-A;B0?I) ziLV+;Lt=R9ktgq~lO7jb50+P0Zpab~efJBD(HE^e`>waD&Bc5E;&NuG$~iB*2m_<3De2;u=pdI=sP~>dwN$E>hFo zEhw~YoJHYFJX%Vm6vxT#`gvLNvaCoelTs)vd9)flOYZStor`9>&?x$i_&d>sXpviq*d?`kk(4vE$^2)0(@4D1cp| zd9#n_^Pgw{RbNH0@tpNVp2!vW?x$BDenYx{i@bU{yhl0Pd41{r<}b)=hgURUe1Cc$ zQ1^;%*Wt2k^Fzs<`xe;vt@>8to-z>y@m=0}5jCcpx{Za^Cm9#_$9XYKOXE4&&ou^i zwlEhTX$Etil$T-|e3{Q1H!m^PR$^}>*9ur=0a>S7baW+THb;i>mLUO5A5Vi#cd-e- zsCr!}oFqm7ZludMnNR9?RA0`xB3zB0XT9L?HGS(J{^?w8zqXuUciCbK#^ijBDTfgy#Ivc$?T zc{bRFKg*WUVbrvPbbdu zK57wSZ|lb72os91pL8Rp;ip}fFCuDoU*w5&6S;r00e^4=|5)x)=aST<_X8o_!!oIQ z71=0G^R|Quq<)#N|k0x~8%uDk?(qyGBEOt?{W+_$|$LRg3 zFBL{8M8d6>n#erfoYu7;Plc7#d?S~vM0)ymE4h4ijpahB^2V9_OdnDe{*tY{wYcLO zU2BkeIG^1zB{I(RwcaYC=Cu$89(pUI9(EnNjW#gR z3l8-jamv2nB46VBTsSN=ZFc$Q0UKSgR7HDaz%*|$*%zO>O9Wgl4DQEY@!52(wJy{YS1gju zF;aUk0+Jciu98*M#+>)`&3tjL#Tr&^Zn5GB0}d`7Z*T$;eS&3DsrAA=Piv+6;wJ%G zN=-aSBf*o@yR~OrMg*%4RpMWvuuavHz|ytO7PqV5_AoQz=QvpB*e3e6# zj*0+TShU1G{KF{~gwclUCHb@trUvq;dM16aFjvD5cyReW{gc7Vph2-606eRc06av0 z9{Y@Rp{$jAJ9+yjv;5`s-&A?igYqmAV9PYtR^Q-;w)J-O78`_L)fdbr6sr{PHA&%f zw8KVTmu57V+D}sinTD)VDOc5xNEME6dIv5RT8%1?sW?sT+9@McpjAMd4fcE6HZf`z zwtuO4$CoGfZOQ|4GQN5YEb)Gd>%QKoALLXUCVZ`(K);{5BsjbReHX(^w;mrY;fn~BQ1n1Vgh|& z8jj6#{&>E<3R3&a)k-WqWlxDw)2VJI=Oys3ePG8A75aL+bwuGeEKSpgj9l)PqH-sm z#V{c-Hitj3$*Hd)qT64YxKeBS`V~d->+2{=cI-`&)Kwp*SEph!y;5)e_kHf*EsD#W z;w^r-(0K%0@eJ1F1VrxOaZv!V7F-k^5W|OW!EDQaQ&lmZlI{~fwL+UX;I$Se65*R6 zq>Ru>-erX{lSNW?y(M5jsBpuhj4+mfl4%YIV7yK^&2f#tr3~G@_j`?idQ5(Tfvwo2 z?C4i$LCa3d_o!^1dDnJyUAbI((qZ19Fnm;FTM6B&OCF+>Gwdyap)!JyJCKvJzIWqZ zK2o7q?SKW$Rnl+S7NEFO2(1MyL%dOIE2PARk_3f>XsS*1AtoP4@aBz{i@1}F2W65U zsBS*lmS7i~7**^H(YCdEPD04VP^46CHBIEEZi_8;0_zYI^bPJc0Jf_(CDbAvxqm9_ zM@@1!glF08Yv{mY9TFBaLuuR{Y^sqp?yn+8L2WG7jNPy&o$$Q3YsZ$lp|Dq(&CX#5 zX@1x~?lfh0+#^NMa%^{Vq&rT+VlrCnHmSLKi6{G^4+JrO9&Vi1L7e72jNR(I)cIxr z%gx9Z-5zIG#(`#h_Q^>3Q$Dhifvy){eqHi7Mdq56!!1IwYcjvLxOJNmZ;u-F$qn$b zlpv9dZm*(F6oKW664@ILmAX)ZrwdY?%o=OWx8g({bPG1HZ@Z zQ4+^{b59M|@90e@Ue$KBmku@(+higcdh;>s!h<1`i-x(+B0c#ifSiXn~$~u`ax08|# ztM@4qiC;T};qUQchf#W*4Rs-pjV4~JH$TiS><%nPl1CuJ!5O#u_- zK-K|kgQUZ1o5hr@i;bJ*j<|%$q-@{Uyq%i;4)oi#RjMXu4_V7G3(ROj7oT<LW{{>DBye=*i2CQ#`LD>ezJB2h7(^zYzXUJTuw^h;`)Lrv zG)*+O1X>uUd7p7a)B91I!;Q0nZIMaYN1IaN2?3?fP8TPeZvmUzO6qEnU)7#;yfIat zcrFM){5|9+WqWMsf&;{|E%S3KU+wPZf0>uOqR#K7QS%r#IT;Y8GFRC()x5Nk=;VF& z6Y2Z$trmskQGA0N=>-iHij5~f6XXD@gR|z2gou3bpx^`_*a6Ov4wOshIAZvPt*GRE;D^FaUNP4etz zkpI3X1UCiE#+ZYw7^gbsP;2D;@jp1Z{&0J#?9ZaO^c*H`2#ngzxa@d^OGpbsyf`0Q z!ZZ(K^>R%|VssYsy{V?CEY+uZV^zl^SK{FYqg178wpE-&ZV?ABb>-Pj@n7Z8R7%s{ z#6@pTh>#%2pJ^G=6IX8*ZXPU^ZH<>4Q>E-wW?U=x8YT5M z32N-@B00qx^v5)rxQ<(Q@YT=HD3lvxvL2vM<|dZC84)>%+G?TU7gg804>3ueddD5ci0Mb`F<<5 zs1-e-^y$}rya{{*?Hu#hlHc9|2!;AnvU{c)mj*^60yeK4442rUV2~2i(I*x06O#t@ z!c%@cj#$l@xPkAkS>BvX6FTPa_pr5XYr9gisIyEa0d4Jjc2QAz$w${)sb^Ef+%%Oy z3_{urIXCw?>R~)JtyEHSw_&BVER?3auVdwVzHaSS2ef%jrN z4=}-J2X1SpOzl`-f;+L6!DQfGTGgPi6M)5B?AAYC6iZ2_6g&NJ@z@>bz^$%q?X(a6 zE*|UxJ#YhR!1~U`cfgTXWbH<@QCNe`r?>qV5epyo@POSxT`%CxIqmx|C+=XNid!r1 z3*M{i?f0e~#l5;e&USNGY(RMg$A+qo!hp01S$8)$w%PRL@I1y5&Ja3QC>ti&ss9{3>Anl?NTnhveO(AJU~*TrZzvHS0Sv{eae;^J=$*Lr zwWMIjZxnzEHqk#E&%aD!>&nyrX?#AHXF5gR;fBv{#wU*M(3%X=?P$W_^9MTfJL+y? z*{$0NaYOphEgm>QiNTgLcibl>4=lLnq)d zBeF|!wA-RAOnhNdu-Hl|8nfeT<}JHr*zR!3G0iYtNCfiA!oOc0UBMDIP1m-x{mJ9D zDfpdE4(Fh?a!j@#&L$Ps2>0&*Pr+ND^9uB97NksikIg5CaO5QIz1NmNFlQ#aXzGPT z6BZMDb6zZ1!8}-=3z9lUnDUB3tbh&LEbRG8-7Ux&sk!8Y0FD%7vB$guBA8rw-i5+c z(wzS9E^ye`?FTl9Y1Z&+Bb@y+@H1Gx3G|qwnK20q_cTTydKA;s*DsB+1Q_YS}P;uh7PfYAQf;gsc>(uq(8Bs=4m>=NWfx398nLWq4MN?L;b3ZLY zeD^`2Gy8kel!MRXCCuEYPgw%H*Y_biSS0yrdFR}1Xve26p9^O_l_3Vg1s`}bKIA=a zxOt_vl#1tDZ@_x@NpT#HqgL}HHViG7_4cBMh>+oWC5cCdj+Uln6Q4yz2r;6?@uk#f zOD_&MR%Nsg61Y*WS3_(+FOn>P_xRyUq2|11q;hyPvA4ritEt<@9+_uHk5UO2y5&zx zX$9qR0!VX`7rtUM*GbdnmkX;8dSkD*sG2B-7Ln)ZCW19$M>Sj)i#3AJ@7km>W))1o ztLkSQoCr3fth0Tuo35Xu|E)^4?4aw|$)cU(SUv8UjB2F=k2 zy~nDulKG~wW+&j>J0p%An$!>8=l9WR;eTDJ;STEL9&B@P|5Zk_|T=~k{WL4i8 z_zfDTt@~Hb=TE$Z7SCC7!iJ-_yUFH#B3c41tFI4W%%?krPfspBLBUCzr(>_mUs|^l zo+}=wZ~Ip(&v@>HF0AUU!pyh{n>of`c^ua$UU4cOzzlNf`1@qta}QwDEKp^DG;wFD~p2RAIN~vDV_5xrUvScyt38Sh9_Rn4 zA-$C|6Nw|hRVh%>;~KOTR6BH|tG+bD^d9rMAZFw4fNmpfa`+B&x?X5I`x`1g_B%Hk zyHef*5NfZe#x>#9ah=p&2`GO&e14pP?~J`|?$r^?3=-+W`q|lFdjF2Ep8NdWg6HgY zPq^-V6GXTmF{~|~aJCaGYs7!!SYg0*uN5KEyEvf7pJC*2=@@J`(`_{O8S4ot?xQsncaF#l5=XEw|1nl+4FXR9lHEbj7J zswTDWo$;qGzGJD|lYSAi6UL0$gWLc(MkoYg`>AXK`3#5QqSjtcm=rb%qNjIzD8)s< z3(O1imo+cQ7VtZXQiy6$AtKsL&N~5+I8LiNiBr%rIQ)zP4On6$s0K?c**o4n^Du9ZG+1!H(6)ZMx6{> zZ^La5sMK|IhvZnS1BVnK@_fonZoOlD%Kvz20}PwVr1^ zE752ifhlrbsgZl?^<^!z6D~{NPC=?g&0PwcZY!(}^u?X!snUHcrwUa|{F@hmW|n{3 z(}*&4xufm9o9mC$atn=0i~5;fNv&SL?!9<$oOt{x?!sioe!vEe9dg$~M0|14gf>#E zdYq^0U0X=_FRJyg_qHza;ps<@59;Bm1CAH#;MOq24Rubx9_<8aG2=QuMoq5cr)HNC ze!p`ykKyvv9i6;k5Ia1hH2KO(~D&4l{o(u+_D+|Z? z#4f5v$T#4LqlLXUllmXU(DKkqje8G!|q>54Qcz zDS5Mn^Yv!mvBqA%iYK(n-g0P}s>vJAewwd`u2h>GUO%ZXsGsd$)d+51t8Xsm)J%QD z9w|etqn=j!jkhN{dtZ3&yaT~gPVvmNy#Qa&R4O)N89RtiJBN^6nRS1>x&2>W>K(6Q2|Y)F$! zA{u5Rv75U#A2BvkBdi-ZSIY{Sa5)RNxlNC3bG*5$88@7A&+0Ev_Q;>T)^PaqrFFG# zg&Rp*;EMl}Nu9o*{QKXP65d5S-sgYUPY}(B#6NylRZQ34^g|5PD(NjFG~Rm_Jl?H* z=Xdy~GvA<}I^t2efV1Cw-|=~uYW+3!>tS{$W5YM7b_-t~#OOmt#Llat+$Pwz%;lz2 zYvE}g_J_{T>ONN@5U+933O} z^r!r8Q9I4{pNBDW>HM&}g7ts+$b#Mg(6!uKmLSG}_j$Xg?^Fu_iO`-Le=TUbEX@BD zIOuqqb19X6$vEchXkBLi>uCFGq7X?M7V&63<1!k-yBa^%i7b0E|>0qtVyA zB>uxLMNp(u%cgdgf5zw?U{81CeTM;V-fc+J(#I)V7isU=MP5dpXy_j_^6$@ZYKAb% zAw|x&y(`Id{)$(2h;~gSnNTj=SBaE`9--y=Q9O4nw-}DECw~nta2h!^a^)qKT0HiYLmII8p+d2 zY(0BfY)|}UNzw6~ee3VMC03sqj|aPDosL^%qn%p4ukwPI1DK4&qem8BHIGW6mAgkm ztK*?C<>F%&+H2GDVQ(Q$vn+loDOc%TMbL)@x`-S<`McS#XnX_u4)lCTF#w;@_AIy9 zUhfeVhVy83u23*tb=A7ZoE||wUr8A*vK`qW&9sI(gasVKwG5&9t*5^nTH%!k^|`YacwEpsOtS+@E9 z#%CojPelf|19&^hMeguyl;5Fu{%9F<9APZ;^X9#9!YRRl!wiLxY8lhyTUsc8qB3iN zQSY~|y))Ntn%#{yI+y-T=%lUOoE3^vMoD=mSg9}$5oYW-xN`Yo;UD$=Ow-0&h9^S` z5QcqwX8X$*#<$z?k81P5@@@*#AyC>`-dZkJFUes{BS})2KP#J*b@zRBv%slqS+^8# zKCu)gx`}qAHRlL%u(R-nWUM^)>-g&Srlnh8mF`BRXlmSx6O5*{Jnvbw^{Z4cljtbo z^ISb!9hDREyAa6sYQU8Tol(wy7bE9cU}po@ISRW$8*x+{=g=m6TME&?Gw1#5`6m>? z9-__*)>L$s`C=+fn3dlXRHb2$5LA!hpw`mS|B>_)A03JCP#dS2w!Nm zPG@*~Wmi%^8I8pptBTwvZ<`FD7W1<}#$y|ZQOnjN6f7G$b?N)uf!v+5t|u`EVY0zS z9g+>#k8rY>lB?}=4y|l5XH<$$`J|i+o^n~@P_D3ze5gDjG$?B@*P&jf`!jUz?dL24 z#}#=D2=fWgXb~{wq^qvk@$f=xI0sO1cB_^j=yz))>?`GQp9!}~JZ+^qDjrV`V>n=$ zOktUduwY`|NVVkr4%u|uc+LLKq8JQH?%ox9E^Krn@kdUw=r?Wp&pzMtc(Qt32j=t} zYgN-iYGK~;WFwFJ+nCwJfTAuxhP-Y3#05-26@Rc(Im5(Wd-Wwav2fQ8&uSse6{eK> zY#!Zb?7|ZsX;_&y;OoJFeL-@y4%ArLPLa%b1YNWPo>-KCJ_#2iMQJ}HZ? z@0~K#DOOI_lTAhUX>D1nZ(V};;P%Tew1w{(vzSB2Ty*o|k69(K=VW_SO>c1Xn(2K zYV=3jkM0+uHX-*-k#n_KelnTM(P|upPo*5;rpAx&{!LOhD5sUce7b*S7tn5=_7(i^ zjU{P%V4SQOQ90WJ3B+d^a|IM8&eEL^H^qPnL>hG}c*1G=Z4XMa0W@S}-xFn{UHMf_ zvk;l<+)geHd;h-e=VoYBvA2&|N%y%Oq-5nR^7KjK!YjjEOWm*AKeF&9t&{8ZG~ zYE0Z)7>epYugl*7S*Tr{kqvz@( zuL?^x#3KwHKf_PU{u<10_bGI=tTV2C*O)}#^i|~MrqQj!knph;#4bteQVg`-MI;|p zVG`aPY>Ue-X%0+GN~%a?7s$A0_VIvJ9h~&WZ)Sqd{J5m)J$df=;zWqv{64GUH|E~f ziDO_%+hAgR%B~hb6if!l4Cjju2KXtbs)iMqtx9twM&Yp>FJ4wWL_P2uK`2;oW)@|L zkkUxTr0(P4GP_nFxg7tM#RB(4bFggE#Fy@c^T&lxFMK(Cr(Skw!P{>6$H)Dp8y+`3 z^qH`q-Y5?S#WkTv&&RL1J_>6q5y5H6zJ>8rc)$A`X(3(Lxnl)Vd;jY{C<^=w)c!8j zRF{9_ypLIG@rkC1e@uDFFY3{wvEqrN-Kw6F*g`Iy)hF*^ZjLPXsIxD;l&qu|5~Hmd z{08|!NQjqmO=Mlq^QaUw@)JJm)}=eAbYq4SCQotP-)xGnUs9t41>(K-a`W(ioJb80 z5PtR-oDYPg=V|$Y%%_5z6M1k?EHl26F<}23g~IpN>fU7Cv4pz{0`!4kSy-V>;7wlV zUd&h&QrdVGZF@l+lypJB#&$TWn`iK2xfc5MJW+bDq#=gRJ5+pL+Y6-K zN~~EPuiWwpIOCZP{9_lxl>+2Sz5vjYiA=EMyiP+K;zo7PwY_%MKkc-*94h_2^>W*b zs3g%fAxvnPL*(h1Qk2`c=DESbwDu|AS*dWer#%a;z*s`!E|>et;sn?Bf?M1RUs{T! zS=)%y6Z;EgEh7usD`iHf5;dEy?35VGxgKBOvg8cKw_8pptaMK{dg3zJT6vX(DQB?- zw=M`PY}Nz(s&p&o__@_FpYAqH1x@1;93jlN=gLSI!5M$>Y1fMvA4FO=@>F3}HO5LQ zd4Q5l8!A$aP`+D$w_xUpy2PmkkADJ-1qi0nbPD)3o9$xFZ{d9P~a z9w#OrMS7h6b)B9V6I|?h7vQA8F981W31)b0u#tHaqG?e$`t=0PTW(l2PC`wZKb+fx z2E*D4uYrtcNeGIKMxxX}6NGo4RIW!}Ns)FQyi^FwLe%#TZ49Q}o^NiMtOz;IB$+$q}9*g!5q}lISk9r4ch)`ak=8w4!A0PT=R)d@il92k-a;8#sbJu8`Ng zmD297Zz8*_MK;V44za%N^7cycJ~CnZwFb+(oG~c#xXnRdCpxM<&63bKd#RLN;mr@w z$X7nEmySXOK0U+Y2YELXyoxEC+o`Y~)h-d)niQnAKhMAdjPtVMvut_lXtD+8 z%golk-CDu?2<%=F=Vj|Xx2G);0RTRJgO`Q7J4aWCg3ABP*iIh8J2R_5wG-p7X%1DXX|?>SOPDW`Uv$Si-1~ zb^&k9!NC!|q)g-}j~hmrK|MS@cl~3p!H>J_ zTaVKHaye17I(x(ib+(G+O;6RSw%yE}X-gyh1WrbsA65kU$}XhXaq1*1J;iT*2e>Oq zrgB9-b*8?+X2?FW=VS%JcbR9FcSFmf>&IGkYi)rHe|+@n%|RSSr8{W!QoHXaD7^sb zny(w)3GCbWA}+7iHvgXM6)C~Ch2*ds{ON}|8)oSe7F~;Bs|f8&`Uf@#a0DoV_nh6!KnOOr38c)z!zKx? z+I)!NeOD-1u*pe88o+#=25skpjGwp>(mhk9?dmP#g??8yK0m>s0T7JES?D*}bMKts z`@1IhpGsGtp02l4KJ;~Ln&A3=dnWAX+O}rH+P3cI++!4$EkY+F-LcnjW^LLk=V5b( z@b~wc9M4zr6-BTEpBJAE+fIsL!LMMe{)g)sdCC5$2brL>&T!mMC1i3Mc=O>(O9s?6 zR8Qyi+TCs2T11{zHxKkfVI!zB(r<0}M|#_mJF=yK7hxa~e3>1BNN0T>mAS3*PW`Aj zdhssdTtPhTE98GDBDp_&x_D4~!EFUbeLKo99}D5V($L4b@&q*T=@?9rYOTJP8}%g&%2>p4mX+1Vj6?L3jClD%=}dS6LToLrYc5pQ@K z=4?aL#!tcSdtH8|d^~sG9KXfY5laulzHxeQLt@SB9sKSYq{vG{-wXAScB%`? zgAA7{!l6Vqit)Ec1j?32S1HVD9a>P%ruSNNBnbRd6lR9T4>8lk8y*+dZfx4F_>{eA zj4j7vOuiHh2x=CjvozBPGdDDq761OjGf*?l4bfxFoeV`13}Tz@!QRJCo|?4qnToaH zvr!ziL(A_gy#3oXWO);L|E?fJ^F-o@Kx?nuIc9gIf|2ZwN!fZzhN>yLv;g&b&y(vV z>bbY$-o?ri@)$a;AzLa%cLUabk=Go9w&jNd$0U*Hqc`xD-8nk8|NnpJ z|HO%qtW7cE3^TNM@X*cspSsia5bLKiZs1Cg-Zn>Nf%CGJUMnOoISH3HdUJ1Rd^7^A zt_CN;V~5ddx_QY)SjTZVpp}X-8pr(gKHxx2Zj|9=;Ij_?MQ)hoY(*REqhq`EM6o=L4U#F`3V)c^gZANy8h#W(SH#!-=2Q}QzGQkH?7u3oAEHc!Tq zWbbZkvC$>cZTt-grS4{~VvOz0faUM(;PJo3Klq>S)Bn<`{Qtm}$R2`O|GJL7k54}v zH^*cVPSIU^fEqU6>}2#5lIv0xNB#^#;dIZZ%Uf~q?9LXPM|$PgYbb#s1*IKF6;dV)GgV9B=Al;#ygdd$oK!~ zdqz*Q?GR6=CGI(>nTUt6hZL3gY{90u7ozjyXRN3a1#qN`t<}zJqtOR-zM9;iRqW#bk*gTPO=*g&ZxB4gxbPuMz^n*7#$;hd0Tuu4~Nz?5_HT6|N zLCMS+N6TtwbwihOZ@+I`w++By^V*4HRA}W3A;)+V-SI+xXUM1JHc@0zPOSBG+(K<( z6_bC-Fla5!pwI>DCAqcS&-f61jK_ZFHE+|y)p}ffi8ucR^S}wg>0cG_Tk>GcwkeIE zNd4K4$m2Zz`Q@LcN}&Z%!RFiAUU;PNse;ODk!H5WBb(1++8eqVctF}R)*}^pcg$ki z&1?PhtkxS+xpE|Zx0K!Y+A!oLxC9(uD;qiK+oj}%Gj)UHmp==a^8Rd`yn8t^%J8Yk zh01EF8DCrEahw~0EBTP!(Pd`hz9Tu@R5y_tuouxQ&S& zY`oS@fS!%tB8myJhU^@(z8nxT_gKcd$_b3mly0WG(RoZ>NW0@^lQqSNw}nsfuHli3 z@Ko!vFb2JMBhs^xE_J&%_Fq}IV~6vl^6x|gdE=r$A{%@9=~LZH=~l!0KG(Tj()aJZ zN69HBN@DfZJ2b`)y-XhG&CC3}GT?w7uS*;<`YY5P3lBJD_KbF%>6n&HmVVN@hoH48 zm`|K7dzz0Yj?OF=&@xJA(7VO^nfdo`+_!jN4|_EEB(H_F)7cP7=h&y_c+-OMUi+7O zu&;RcoiW!$?Qy!Phh_JBT4;RFHjXJ!^t_;PbaR6XA7Y1F)qZsE?kfshD@5YfREN6T zsA~(-k(GY&Sz`Wq_t#sgwv(IpQBBu;d7|*1J4#-uxwTyhlHoa6Nm=KHMa<0c3cqlVExsQcWs2sY?a=cN{!v`j1*eExq zYORqymhlRVTjZ`BT}sei0rNxDm~&w|X9Eh7C6oVcq6A+Ow9D`8eyKlFS8BYzx3$O- zGp8TbI)AA!D%Pxf3a^(v;!EZ=xMMR(9U9?~TAqiV`dnTn=~Oa)D`)jMPSPwJl899KPRLT%Wp)6(?g4E8{ z^spl!FubJTrC+k*Z6yXp$H}(R(leO(!?`g`<4g3!X|i(_Bpy8dwR^j%>NfLB)PQ~n zcyVKFf*D6Z`d`aDGvm_h*z(C2hT{pGLcg9@!Fi$Z^|j2cLCFWb3hW?+TP>*;`3_1N z4BlQfwP&g=taFBsAKQoKq|Y=3s?5~Ws5Z9NBoV|8#}6FQR_l9IXly^S%ora@33Do|4_$=oN(*=of^v$CMNY!p*HhyqWn& z(BVtdxLebn4YxR}ZQ2K7d|8oELIe{|7(_3rNv+7I_93w3q6uJgy&wpohCocU)STHP zpf-5dirwmsXn+799NNMeW%%t8jiPE?Sy09EMX;UKH3PY#Qcm}QgwPOg10L_^fZ(y8 zutBch6UE=Zl}Gs%Q?C4pIoWB`ma_pQ=7*22=(-h(?)$fRi@!x9$h3&f%02_~wt(eQ zUa&Z62L=xWXss+det5IIEfKYTE>GWR zkWhMy=bgEbh9N8SJyEvod|@UYtRvpFZLMuOGf=e&M7oXkxGCHu@{4Wg`|)e)L!OPp zokjDY*M`X01AVCi!-g1rz0vWWxuMF6ej~%j3O1?SgbL34w{LJVn zV!xR>A^5fU)OxXpcUIypVpWl`eMG^Qn(qSZ@XtI-dZZ)#Pz-Ltgppkm7WC9+GKPwy z7nm^z^yK_!Ch6&&YMiliQ;trNC}uenXzWepjv#OxI++1M`g&NF za{a}Lve^k2=j5WxwXbWhxo!m4Hc1=ASBSrW_wdbQ=qW2dftJGOo)spZu?Xd zsDf%f$5^Zpzb5=_?FB)c@|LJj%lz{iPKhUP+l0wkV|~)Q(D{1zz4~zIujSc(o@5HB1Fx$Sh;ZgcRErfwP@;N~R7!N^=bS%S}<%#XOuuYGSq@h$axyNfZXBwHnm3LYc0g%68EjMU-4}<27)W9zc$s?StFH<^w z%7~5mMM6g3=n6~4mK_|P7+munk^Zj&arL@xhI0Itnl4(Ke)@Pk-Q<*^!Q+A50_R(t z)5kAf0v>Wf`bj|vyDu^|y#Y0=e*}PDnVqnf8W|p9p7?AKmjkcqLP<`RXyaO|QP`mS zYt?6ppd|ZcuH+3~X82;IgF{!!A!V9I(8ySS=?*pFO>SVv&A*kK{*)B_^R;;PLN6;Q zxuL;KaI*UV6#ywbGme~>bfL#@cQ9+W0kjG`vo?@Z{nKshadt;YnZww8L3XxThOzee z1~wDRU!6Us_kp*phrA{jSD!pG8PC-O8c#*^rByj~27cljWl)~%iaCUsZIEvuo>{IVAp|5Xv@!t6pP(Ug36$pvC?QQ**FuMR&bD5xzc}{e<#q-3`B% zP}5$KD+9?afaodsPkJRg7@e;aLGqOB&0nW}yY?V7J{$JwRTBt@Sd_xWJxKN(@m<-4 zYBi<_N)n0^AT*`W>%#~QY$n`s;6kju1tE{OsO01dL%DTQ`FmeCc}`D0rRfTz%V-zQ z`I+~*gcj58LfjVh+b2b`S%t{^c-q-N<&c2a#VXqJm%xTczJKK`5A&NtNr!bCieZZ0 z)!#GQn|S&&)?EFDu?~CkN_EF6@5O*~`vQqyRyef$r+KZd7+AmOj=s#;%lj=+CuDgd zN$cMf{-0HsZ0v8KbWWi;WS+iRcAjLTbjX=nuWjW;bb+d_CPv;F{3*4ZkXu}|F1+#r zK8ixT8vEq7!jKy8R03;3@;W+2_Z%dK-Xki;)_s{}30OEQGPXx$ly$ zYr#1nSow}}bp!0RZ_h`Uaj=pX((JrXZggry1;cbCiw z4^h*@C(=pR*LG(m<=2-ui(gm6sd@3_*oK#ou`!&aE(2x}Q;-c`dFIZ+Hi=Cf7?)I# zo#WO>mSZ4GcD>|gGW5_LiI?we>D-M_4Y(pH@7`#lk+yqXk>aV+QeCjQs7Z!@eV~-2 zz>VulpBXI7{iZxIg)y+-R1mYCLY$THSksWoiCB2?|b%MmPyg+J5?@Gjn?TRwYG<; zWWKfi9oGF_tgYK&PSH%nW!+ozO+~|_JoU>pv8MWtw9eSM_(ektrrM%()b1%}7!__s z+6zZnAj+$0<_~dRdp^&TqYGgC^ybON0E^U&y4Unj6J+LjJsh`Z-gD{V?o6>$>%!Hc>gAC^Svv7N&ry&|wt~IfUhMK0NR)W9w>CA5iij^d>7Mylcy@!%t+z zzUNS&b<}YzqlRTZSPiug6(E7v&M$ajIJ~6v~w)s+Ao1^-17u%xYeiv2-#g@| ziu9+Y-np!*w3P!g<~h9Q6%F=HHVr@ZkJ!vVM)-*3Bd}ri8qpTwh_=Oyx%M-o*#$Fc zh~rRac}C6y{5>x6uL|kKDW$4CXTa4K!1<>RGYY=Kzc1Ic$c?}>>_(YJ3ImWX+$&BC~0bq%(KKoU=4zrT>oQD647JD07J?3Sm7nMC(+x0WjJ_CZtk6 z#5yZp;KaG{4IeC2Us{jS*=fRP$6^ht+g}Ri_+R!8lM`v|IF#;Ox-yYhE}62izbd?j z8TFf6Gc`Jtz;zR}Z*dH?!Wnn+EPdK*+W+H{SRH%w)yh2-?0j0T8q7W0Do zCt{*BeJagGH0CC>%|w=*Ve`*7NlTw1U;g>n7UDmVr1yW@Pcl z^vJz7f~$@glRglH=W@>qU0n}Z_3uJfoc-WuGm<@t)2L~JI2?F;?gbNV5#GEsE=tTU zF!7<9&x)ib_BaVvXL+1+4_Q#d81;g6V9*L!IZsv|N!2fBf2?SC=8Vl_NE@d4Ba-20s{ z!%F=nk=uTX3!J=WiyI|33Ev`#Fvo0|j8sKQ%D)*ez`y#aa#!*1d-sOv{uNz|tb<$4 zMhfLaXY!I<|hxN*&HNS6L+ z008rN8!W|UPrtjuM{XbwQD(*fhrBiE<Xazz7h7qWXI5fuXkL!YQHhT*7eVH^69zs@)=vg`HM#tq1PgLS3evLKwjJDt zMJD`Ud9mLy-@R~iJ1=_Bu8siS?d2h8zqd!g`JAUy+MwI~ya?(n3ZARI&AnTYj{c=f z-Uoc)Vm!@^7?fJ+x)~5caJ;U$i92Y|6O|OtP2M&=s|;LLaA?r0&01mQ z>Y|j$(dlDV{s?C8VuWP}?oE%0C_A&?-l_gEcE8C+D&=6otGEc;f9uopI3uhTY)B|`bC-VpM*t9q2Q9FnJlKG4Ywq@i8vQ@eGt5Os1!iY$b;*77``|@19{P5|1?H2!D z{Hr@5gqWh*>hAc;yw@Ph)tG~BxYyXc7l`OIyHG~f+9caRPc`Ya(_1Ld{+A zHp$w5`cAz!=@+j86;x`cpN*M!B7Fo`d-c*Z<9K^#dym6PnCm#sfh(WFH<~sY99egZNgH{FdFSgly4x}}%lw4|3u0rvQ9yEqEe;PBQ7ulNz;g z&7A{Ek}lC>I7r0Ujl=7se#YAimO6P)n?P&To`@((qKBXrxuxivOQ|se->+GOYklls z=~v0*Xysp2V1c>x7}B#dw>Nf)t*n1=+1^2{hz*4n8F>XRQ+w5sl6Z;S)qPGkY#yUO z?Y0{OG~)nF4Q5g6&c zp%dFr(85@7Ur0_}1V_&!TZzbuVt+GZJKhqbJsf(h%p7c9=!qx;*R|d|@CGY;SoECHvlDvU#`Z5k{|+F;o8SL4rivFiIG zSH`^xK9OAdediYaTRF?9Lv^D&+qN#TA7iowkxEa4B8tw4F)i6~E~zA9Ry!1Q5skG(;_N|=`_q8v|Fbc`+n?{v`E z$W$C|e+Ag6Q>!l7PjwOZ7LBq}Hmq0^j4o^%8fx9<83@$FzQcCwj88Qgf~SgN(rE%C z&hQMEr`(ZWOyu+tj!o4w5PZo`QJMI(IVdAe>?+^ZS=~Q8*tkE^diM{eZEGE+oEAR? zvm~Y5qofWeSX7 z53MxJoH^lC=*DJokxE(Y1x&F6xB_Z3M&}CTt_YnDNnD#-xT&!{PvUubOEOdNw(-@mqcc{~>b6&NJhl0`y*PV*f zJ-qP6ug&uOLHYHJ4KGPNorVPuAnqP7_pf4J7sH}OoCT(VfT&geq0yFN#CAnZMR{q; zt;o`qh|AsvhFX{PVE0&fzs(=_{%mFCAFN9;?0V)F%KRh_*kjW^>jrm{D-=IuZW525 zL7xS1fw|99_b}z4Fga((QprdERG~ij5_5hMR~TErVKVxNleULKFx}bY)Sh~$>e9e; zSanHN(Umc6*Y9OZqVPEN?iSb~@dLz&?JV0;MWs{3@^1oSSU^DbkuS*eMie&=WPI5V zv&8pq`;PWD#a1a!Ju1~zvTe89|vH$+cpj!1KwDS8@R5psxNfV zAR);*OTSEW1`gy1#Q-$A6+aP4nf7RjQ2EySb5KaIJ_*863B{^~B^qHR%(gwp*^307 zC9X=cW!o4o4LJ=|t>X2Jx(1iCi8Ylo2yauj%yYRVqLQ6}F($V{z?J=$*?LkD=z8w$ z7W@ZJMy`rsc%eob6|{@Aqu+!TSmtXKL<6t^s2dZ5*rQkSUy*f!p`?X;n~M4ld2Ji0 zB25Aaq8$;XJ)Dy=-}X|;eHS#pNh+ZY4G zT4n(IuYfvAjQ+?Iu6KIThA~#yh)V${Q6D!qjwS4|0fY^VT2c9eMAt&KfddUy@=FEL z89?YES-C?4gO+Acd1nBWxE(?9C-z6#X6f^4k4+Fdy~oi7Tf`T@JP~ZMi2c!8buYrr z&+zxe3~gNaTA0r$d~DzQRfpVg<^yH}>zP)fP=}ZRYQNv%dJT{oo>@IW{Y>P9@*dQX zLibAQjRRd$D|1j3w)F0_z7hU&UfC6-WiI&^VA4ME2>>GuoZHspqK~(-X&Xc&$Srk7 zB`F*tfDp2tr|tyQMV1@tBG1h^?ynf>yBypaEo0k90;x=bW_yx&09k3=@NYZls3E@4 zxq7(2p7qOiwN53?&S^6d@F>TmV509Ao{nY^I3jxdC?X5ptv*2Pc@$V}Gnvf5`xf12 z?4{lNQ~S7vui@Z}uj@t5MY(9eKiWsY$OTa{8USujdbvEK_qw~XV8_WX4hG7Ps;KPG z8_jl;1H-m9`O_F3ZK0Zm1jlL@(mO>NQhg{lrs`v?S!!U;k;&YdZC=in=uikDKer6# zT0z@MFgdF*EGeGq;)F zg>8))BeY2WB*5&XXdS9P1$3lqYnUHO#XSUBJp?hHX}HjGCdcz7Nc&>T={J@JDPuQ} zT|o#-jz9L}I(3Oo&MZ7~d zuaQv8?v$~1r_XXgo5?-frD zv=s=I+m`>zR#sM@c_j0pHB(u6Z0C_oet~_40^^x3l@1Fr-7w?FSl>CuryM7MR7UvA zSjZDQ?ZAFJ8n%}Lo1EY{=8^gPpLvW)hKwz%Z`93vS>__0B`c(T0m;piIh~m;!d(V{f#Q40SE+;L?cUR2 z+oDqF$(lcAT%jLd*Gai^aLhP8QnvJy=6!Nu(7d`(ozG{4f0<6vH*oEk4#v;^RGyx6 zMNFB`SA&^D|6M-Zi>z7}J-1~1Xs9I?n9NamoqS~V83)$QoP4F2)5WK8#tTk0%xUAk zwAtLA%FFRBG*T*)!JYzo-E$JMe57Jew#qwVup=)^Z~!;1wfbUJno5(7Osokn*vmg7 z%H(J(AebA(Sa?IxMzSkV(%nG-{!k5;fYZ{`3xz2h8h_)?s}@--6+g+kci+vNZ}+=W zOz6FjTIK-5$>1j9T>J^<2B6QWVl&XiLN7%c1X$b$2BW1RjvCp24DM*qfDd#dxFt6= zrTfA|Kl>>%D2JMdgigunW~Y@&0S>UQ??@IiF2`2@4i=BIyfW zUAC@`W2RNEts-wQJo{Ud?!g!Axk)5t1FTamM7@8j1=^bZJ^WslKj^FI^1ZbqV~qeA zUmTUV@!`UWpjTXHynw~!`afkdo8fsRb zP1x1sQxDzlefb!9f9hxr^xKs^jMfb7*P7|GtUz1}`99{2qz~!06P(b2`7g$l@Fo)=jd+LuntE! z|Md=Y%#nGRmK;AJC71XhVUp0L3)kseEB zH4gKwhzM5VTIb$}w53mV-WO>o^G$!Z(&}rK_mX%~dr7ux%XP1wUh=q4CQJ-GkI6Z9Je%jGB4IOVFzkDKzhCxa z*bC#s*#y%&WaGq?lxfSt+4s|Iy3a}e%%p8=yFA@Sk*s{e4&l9QO3Yjwh9CR7Sqe&8Ypmr^U9+KI8 zC96+QUcrU_Jzy}g|L+Y(d8V($?m&!5r-JBzo(VWtT@w=N!|-n#v#Y(Af%rIa&&~Jv zo#jN>bCZsFsD8mE7v*BCi7&%&q43q-vnL$>il`lE9i*S$ol|N~YS1b@?&eAlbPPTQ zG~YYn^;8jPe;3k_`k6Ukqmj=whv^e@=b(q`7_kGL-rpVe<;xI3u!Acl{B8N}lle#X zU}txu1~+l#fVdkSTnDw=mVX=zIknRKLr~|npO_b0{(HGyPtDjzJU+DrdyAn{sXAvm!+ez^81+B#tz#rUx|%c1tlnUfFa)|dyav^s+A zKg&2pl3tUVLP=gNc*@}^msJ>ltCP;Gnaias;VnFc{bn2c zrcHlm*w+UBq9;u2$ylA&mpbDdmh2|gP9Riw&_q@M^X}z}-}^fku&ieswh6+ryR5*1 zF%Kvk%-T)7@PlZ~qgu)byd^-;p4>RuEhByNBp2@6_XmlYCcb-=*lHZ;se0nczMoE^ zS0f4~?_P8k@*VVixM9FD|Iw+km>f@LQdtr+x2K%^&`J_okzaNRZ_x#GkpiwC=RFzw zpSzBRMbW%^b?JoB_rGD+yN(woaf`9s8`#q5hg{yXGnKb`s<0m%^}?l;5*($_6Z;i; ze`B;l$7yA!uaB@hVQa8Ob7k3pQvF|DO#drEdRe9r9*-=}3emnlvFFC)uf{uNO z>klh7ugigkL`Ekt5eIv(OvmIfbt`7N@#&dv{_Yxyn~a`yggbsOz;{5Z;vPZH3dFpM z$|iu>^IpmM@WQLS65QExy`q=+if(b zOTSBXtgOjpF3Fe&22(wTws+UaW}ZY?8P`P ziVYRzmxhqBx&_)npS(nx#wO^^J0{sp(@PI4=Q+LgV!jmQ?;K;>z*CTeb*y!*d%8P| zx%>(~AwTJHQBWBApJOhbR16+@XLA)=w#r$>gzP~5d2Np47Xt#|1;A!EkOA4wsG=xecc`+z-p|MKhQNf7``xq z&k*b-%nyi3ResUfoR*n6+wtm4tzSBM-KlGe04v-YF3gE$#r8C6r8 z-%aHI>XiBrYhwArFer(Dyb>QaUQ!16W`ZZX7Y{3;vW*@?PErUltAtW%ul9pT&9%H; zQsY>X9^~5GWC|-K=he-skxIi&sY1d-A`2 zmvVj$dzv>NIERkhHtU%RTTs0WKxP|NIWEl{m8lU!E}Rhn?nHyq@a2s~nt%9NViKR_ z+HtCOpwL+n^sN|@ND>V#>e$CE7WLNW1m(t3np!~-L@z`(5YqfeCd|l?gRuQ#ib)Cz zHEjj!b(jNFeELEaF`HHTAs%m}8aO)36rP?;bv^2i>|jf!=KI8`DgXZvcF-W z&t3ak@U6pBfqE1T&WMvroUVr5IcCwo3z%??MntT3wjWqXCOJtx1PD}_s^46O=joDx_)h^r*Aw5 zK=Rx1#@8L3A)1@3)lc?hRPx5S?%cf1qa^cjRI>m*_F0z<8NiE(yXc}_9Mx9G244@z zmS{U6Zn`5MJHFG5H%;`1S5#ZAnraDIVh|0o)CkpL0LETp$dXO~9UZ_ZyHL^AE_ z?zZJMyM`&gXOX(8ns3+ohb!rZ85OB-n%VpwdVYpNjZJ6d42D+o;1F4Uw@BKZ)d4Uj zkGzs7zw(LwPA}6j;qMP{rA1otQv+;heCwd!E~Qs(TVK9q0O;Gibnug_m(rlXD9k># zgL07y@%DN$v1^_8AHuLml`pKr#{Pk~>6n|=h1m+O!d_?Y)48pRAgIuWM=N#xvJc%? zdttZt3B}^OXiMd2CFi)rGF*xEuVUfgLwT^7mMJqK{<@B4jxalW#|)sG*w zciz6uS+I~{MBZ*P#|N)wTebb@rLK|o3zjyvtlRxD&DQU9TG&S;&!6ti95)+Eelnj zKRPMxTHd(m_>h`^&M{W*@!R8CcxFY=aZ2JW@^Sd94(*oOM0XjmG0$GdI#UoPOgr(hyM8KL)e>U>h_YC!t!JUnxzNidYF01#>15>TWp5cm$ z{YjVHT%AeT;U@Y;DGZ!i&(5vrWT4=5(>{8+6w|Squ#D-D+w#f2-TY{y;Ov!ExxD-?|YhJ{p7l$MDb=)<40Lp9Ef>a@4L?iY04-(4T~QH@UPcx3T1bK{v1wDQV|pwy^3(PbSyx!2 zX?L)QeGJcq4nH|DNfSW7<{b;foYuSd0uoT=)8rFOVGOI^ZR4gFpze5<60Nt7t|*t_ zXAFJvlN}ira1pj$DZ3(?sBSc!VA}7x**K)T?;E=dKTni&+vM)8)W1%;2`p%`!8Msq zHdcceWQ8^hNVtLEv1w3(*(t>2eeZ;ezyzBabe}wnC^hMJ8F2MBKw@{YCLAg9c>?&9 zmEEKT@Us`E%6lc*nwMG{tMja^Dw;3|hbXt76=Ud=@(7WM!Ne-(AdwGO;u`7?EUpzL zueZ5{Vg0$BUf}7pCOe}i!vccfRkhv^4SWjaV1S`sTF%w~;weF^v^tM`9vS-#cDz?p z`*^hf((smy_jvA+R-;d+(512DNS<=!^6@-CZa;Xpw>=tUJNpZh5!~zoyB<{EX&AfU zKDv4GEga?QNx?n2N6`rTA(X6{1<l>opgYP2MRP9n%-13`wfQ&>Yl2?%kB}K-va3BPPkH-rh)qtwlQPZGx6PeP(r;klA z3G%2xtIb`lq9?nOvSK+U`^rd872^hMaGb54tZfu`({lBqsxJ$kqbs@-$d*1n-p}@w z*nGDqnR>J}(R6PgQN9J$H(=B^)*Ry(@+Lk+Ln|QSk!;%fjKj5Yc*{ufQqFXnQ(5#lBX}7$Yu)_RR?hDjQ z>g{S+Cih3m8k`A?|JVg&^W1tP#CHS|doK4DzjFEh-EQFIXr-BZiuJNSMDd{GrN#nD z7_%_7Jyj05wz;GSNTo;R+4%dFUw-eG zC>x{QLY~#Hd{jDl0Vq@gJa?Dat?y=5RwQAB`|>?+z$*q~nNm+iB1p|$pV-<)|7IOm zxq2%hp6~!P-=N-! zO)>4uO*~FEAZsJxO zIZxB*74zoUdf~`_2yy2u&kkT)^ z0q*<@~D#NM}np9WI~@-1Mu`0pAloS`VR z_|w~a1dqG$=jn)89&IgWB>=aT3u?;9d1jIM^UaZOCS(e}?Ud$_A?|*Ay`$l$Jmw{i z14RVS2#Ez%A(x$!!9tUDcAvZqA3##;hs52&X?Dase;wF;hAkY_j`A`Wa zaEaq0>(;b&$%@CrPH)fWil3Ss8t!GbLf)^UZzku2+2#z2tGL6r@e9@+whLhjIZ-Tl zIxNRsI`p)Wso+;xtDrGHNq8{=Zs^?1J2ziG{08f(CAa%N+Bl&vjYkeVURz@EKmo18 zE{l=`e}QqoKE8X-V3sMhCywC*PZ(}_tO$puNpQQ66&a(jjsTijB+&44UiD3DChiS? z`A2BU6f&TdJ%n127ucf$yDN#T5}RS?rHz98G?kRolyd5(qmeKfUyx6Ov(p-}>A8N} zGP`&m#}k<2UcJ}MXgxs1|4Xf#Ddc*HnCd&C=IouQ6`}EH1zt+-fjh#oh;zU6?J#)w zo7OeVnY^|;MS=>0`l=^0V2a9d7k&TQwa?VpdfdF*^}gHc+2i8`^N0qm6j&=q+||u- z+a-F5c2`AF|F^qJyM%`z6i<=pcc+<&XQDKo$7oIQmgNvG?4hB~Qy#rtJ!fs(Pf$4d zCMU6c7lBdgdQk`%T(pUgGHt51Rp3}OKKh~U+*`A_yLGV%=thXRR!MJMs8mE8xASB)7&F0&KBPVP%r3yrsv}^Bt#>c=}USOvI z&50Qh1o1F+3?!~Qe!JNsanm&J&Z?+%iQo_S^$ikSv?y~Iur9pdO0A&C^R@;>GSfQ_ zt-{qqRc0QJiJ{(Y_U$jE-(K~x70|0*twN%0$1aVwTqttQZQ!dbU!~1IvZ(qV(k2Z$r5gRfU+utqP872qQp{rXz zc$5_nq;w3ht>u>vkW#;bn zWwp;LUn3_yndl86Vi1ezsWA7x?8_UcuPM_c<6jlm&e=6G4&2GPsa%%xPTb}ZUG?!h zsw;bxzxb4`&$;2^7))z0U021&%qRM$klI4WP!aIL3 zFI9@$93cX-v)d27UYPh1 zq;mOnu}^G&mZ{R;*5k%e!QmG|I_~ps(y0?3(%qPjJ=dYed0*B4-!`6KRpsn#BJlLt zKl^bvIU3q@P@NHXkA9c-f-GQTzfwS!W)85iF{LzLA6KsM2hzU>YMelE!#TAbu==%sI zqQ1L39@d^XnVcr*?_<|^Vj40BP$3HR<#^qj+FPQQdH~IG`exSYs_hobp=Slg`M$h< zq9S?F^fOD2=oMS+wz`bV5i1jnYSB>10!p{**~O3>5l)Y8_(FFbCU6z#==H?rWYCjT z>`bQQC2?J1yD>mQ=G^-Y)oat5P8L=uH5=1Wz<HB9Ty^lxpG3y|7NidZDPv&ZKFd-LxWHao{zMX@9y zG^no&HG_a9j>*_5UdoKU$@sOF@HI2Gy-~T@wm&Ndkf(D^mj+k75&xpjdUX`TI2gUhm?w#<$3ijL=Bodkm8^T6K$zaTdKwy99iBd&s}ZfeeMnjf?B^ z9E=>8dev`K&)26wW`#_f+w|P~ZY%tNzplpwV}5{&pnkJ<08a>1$mM)(I*yxYaPi@8 zWMdxsrGjg6^&3UyOd(sDzAksf6x;U)@{`MTns8smEfh4e;q5f86b;Jef}boOw^ggO z;;3ybINS~DZ;y2&(6T%H%QsIO7XeCM&v)0JEY7cYaC&h3?Fr-rDVb>vo;bJOCe~gB zWJdSZ#oM#JeLW=GJJ+9%-Q49L7*&}W2(!XRJK5#}A3h=^hz%?)bPrJ)=yv<~cYCPE#yb23a zMy#J2ZHePTURjOKaA$Es7@TrW^hU>NQLEEDMF%UPP{SFL=9%q4KgZ@<+YQcf!3#XG z=5mu`A2pR>9Pd&PlK@js6RFQuq^+_J8@vWnMJD??D^8l?hLj8D!42FoVAnG0YSSQ@ z8usZ?9I8pL^>s0W+7&?)3?l)0$q6$4J{<*d*Xb-O<2l}-pR!CtEiAOJrHRXuU^v|_ zyG(i>a0#sR!zJOK_a`F?Y25-O3oaDwy2Tw4G2OoqEHvx(h)9R^uzxUV2(x)&cv z-v#!SV=mf**Ms(-*ZGvf&z8%_`?H>sALI>d#V>3BLh`aW%k>}Wl`J%+uBJgYd#8b! zfNYqt;iuA(A#(Y*A8{cIr@3Tn)$hDLLz**{j|1rU+|?GofLyu7@ei}@U3kIMBd3Jt zHN^`hap0SEmJ8+7#MAOxI>Qyz6UalNjOm!f?Fszp5!&^WOlJfaUAgjli8lp=a>ICWhvFca91HD2KBqFErG-2T~Uvt}nb5=An}*NpCXk zrJMwJVDqW-J|DC<;(XktfcT3RgbNg(trB$gPIG85m!w!fUF!P^TBv@hX2F#C`$N#$ zwZF;=|5|9qQY_0DKK)yB52gdDM}4WY@&SI% zrE;_Ez~>%9Dov90wfx564~lUkbyg4in_EG{)bVa@IHJg;ifXVkfOz_FRZk3nvhhHe z;I{HLtrb*}xGuNW(XewQ1r8J)v(-P@bZkc@U_ay)x0Ou7wd^^F)tH9*y4$fxDufbu z`ZJ$}FCi<#-u9feJ)M0AaN3TB>hb>rWAAt>YoPT+s695)$ zQ3281hotut=Fp_Kc<0k}#OzzMx9$ht0f#pyyFl*nlLK4ph2l$PV76noLnG^mTQd!% zwPFKPE4Z@nlQy_=6V6EIWO1V6v#pH-jEH1iU$TQ*SG_8NVp%&ubM=_qP8nYUpaACmPAes}0;8K%0Fo%P#Lw9=lr?^=VQK6wMYW5?3{y6JW&^p3yw|)C% z`^wZTOJy3!ibe)-zt6PKbX6xM_P;jNc8U}hi|u*R`^{JSx}7cW;Lr~Vr8)9kKW7Y>vuoB*2|}fR8`>5wmuVRSHg0|`&1}7Px2l&)MRN_JC&Oe zmvh*TPGFx2oGM=z5f2nFVi&vpJU3fav07mS#vp`PxghK6o)&o0d)3Ba7K6L(>O)t2o{OFh$ z_?LNboo#1P`preB*y+-RN{6&2y3BUSec%#UEvZaP)X7|o+(}_`;FzgK*N`)WI1oLLMyA38X$EJ-|-h~QC%$e4u3IzM(G zB^zH}OnB6Ca3~AT-af#*lKslrFuh#1#zX8PA&C^Qdf1UAfk&c8ITaA3yL+4Myzwpk}A6W#b^1!F9< zB>}Ym(^s9lF+ca8y>o88=BBk*c-=OfMy} zZ-JXj%qVWtk`n5S@Q=~rUzFY#gLA}$cbl=HrEKtA(>Eo5@B<)TxG>v}6(0|eg0Us) zfFv)(v7I;U2xYRo$}P$EEt;CIT|?1Q;u#>f5E+M*k&g zle3yyA2_k57909N)nHxk?ab8S(?cHYsWV&a`bo7#P=)62L!h+S4VkNue)+bHZhpP~RS1UwF_kSf&WDqbaPFcjtM|_iSIs@`mmW+hTio@ z?ZA88HyiZCN2n}t%v+?4L{gyO=-$rS<7L=fk)Fi<1gz?~clvM!zsV8zVy{8GC4;B= z!%5x}X5ak6wBuS29LyNFZ#>T09>Z$l;9T1m-7#=_pn>S5EXFyFYh!nc*Q7gwUiLJI zT~sNa$kE#mLnR#U_#|dF=Zwvid?{oYIo{4)8|zp^@>DFl}6}b$C(!(;ibCzh6FCzx5E2d z(TsbVe3bz!4luE!H%PVCy&z?MFCc&O)91SNA}+!>(AvDIuxdtg7=yZ577Eb zJ`7AR)|HFM-n6~_p*zy(j6vPRz%Po!@b(>8qc!+>1$}0`+T_gp1{LXF_=?w1%JD6J z6GQ$ak!m$R1Ppu*ceNxIeS3M#sGERS$OCgQj$5>!G>|>rkKhW)_)>ltSX!mb)nUmI zwW$=9a9Cpft=Wm0iSbUh5cqGFp_R5A+Bt?xm4ERW-7lny4PLQJglvnK+T9044ah7? z=H88noZpeoDsn88l_L1PJNFRAWUKlIo_u&UWZAilKZH_UK)G{X$RXk~fz5C6l#j&( zO>8bxkGHdp8T0rd+PV%?bjHuf+IBn z^JR)tjD+xU`!iuJ-FM4Mn~1)@I9}6YAcp?6)bl0*LtTxj8`fLj2<_i%fXx1TzqZ9woO6ItN;Db3?(yA z{(~XQoGfHTHf1)V(}3rLX$HHSFrNo zCe+@4ZlQZU5KzT87{ekM!O@q;DR@+7a>Z4`%b#s64{zsmm9~Lr0vQ;ghXUruYb?p@ zK*860+}g&3_%z)@-J0`rKyh=E-C%D|BaEkXDqvwpe0jj*sJ#TStn56*bp|Bt?C$IB z0CT4t^y8Q<)*dW9eFC)0UQMcW8!;GLNb~pne6FY#o~H7}O}uCYBM?1}I&%O;(;%dh z3Tx8|FCcO7^hm5srn&w5Z64ZaP5E(j0`2>~}?EHlufjKr4oA zx8%)-GVjf3D*9vuUKT}cus5UQ$F`@c7&+IC;DkQ27$uHozuf>Qw=T-@cbH_HGBm?~ z{hn1SU?Vro;+&^A`+RejdgkKrznUCf78*L)*hSLDK&Nk^c$M+}k{AobeiUMw?1+xO zd?(f_J)%@aaVaBuy}UnX5*3)*K%F$qx@T_IafGZBM@0|==Mm$_12I#LTRoP0{F@IT zD3c&$QJv%@FFh$inx(n)4mSUEbX=zeTmhn2yeCC&R_owg+pED1e5W zqII(*Efxn06_cZJ-Q0JT8iSmCx^}E8N(Cmn0cnIU+Aj#F*h7w;LsscSYqA10Cg~?z zc>qaLHIR33gTA_Y1&A7IlT_O9$ThAf5eN=Q#{rkurg8OOG|ImL57{@!)JWtgKR@_wx{euux4qCF5~Itv}x!$AAdKpw?QYE+WiCA zLI?u&V;}2j*%usUmNiX{ySkKVYHd%;falGH z@wdXv5?70GmlO&Slb01We!yR;i%wa-WxGpj{Bss z-j3wy{YNa!ny3<`vI&nO5+|}6F+$bK%&mHJE_p38Kr` z0*a#JR|4N&eLWK>xPLjoQ+Dg_2iIm|T3y{_#n+8U54@FD0^WJgJ{fB> ze9m}sfXwv!Y5nE&9Pk56s4J=Vq2Dl}19;`*-y)0_Pw`Y@Bei|wcsb>^{Z#Lb<-uB| zZ${vaAs8E7hxM|7Y{gCcP{QRZYQtX#>NJ!#J$k@JBId6QqCfq-Ga9!0h`WLzeJx=8 z>iVZTaF)NqlK_Sg2~}^WYCiMW35P$wdL@LyxT(ePnaqeeHba6&JORS`OT4#pR!qu} zD`BO z1>;-Yu92}>z|3-hA4p31Qi*?J`5BIyU}o{I&eGBzIZ`mO{5)`I5EXS2WcyHiWFqK> zq&^Dc6cu%QQV+NYF5{-8zAdh>T?5+uKNtN!Kc?R|k2!k`~X!?jB! zxdlByAJZ53o-PlPA%ms(0m`zVB`bN7)xzBeXtHO`yXBn0`&BX9AwdCBAtWtIt9`6Zzi+~w*|!*-(s`8MVuziOUcI+Kt)!+iGR`Jg4+|Lzl20?NdWz_OB0 zx>rQ({NJf<>P8IO$uV<2*ZY`d>PcAjXxv`o+hQ zEMB~i`>BEq?wr2vzN&*-Eu<@2BMPmlr=|O#b%L!PMSYxa-zA;D*h0XAuT+a?3~_v7}OiIWqWdYlE?!k zeuA=Z4o?Kd9HnRY|B5?t@8@dSG5_g95Ouzik%`~SExc8bC3`R#@eoDu`)HLFXyJ2& zw7=CnPz`I_QTn+*{b0Bvt}+X(_fgsNhLvX4EhU9qdFQ*mRYnaJLGmT70Z9<#o@&X` zn+#nU>jLe5U9W`;LFowj@52>ikF(y%S4@TW5np?rzTDi$xUBb7UoS4k6J{R_+d^U+ z2^!F;DutW4zTCozbwRxh|D=79%?!_hrQm606`%aKd6}HNeNs)J z@i$@Lhbxo2?D$6lp}%88j<={6@S$ zRaYSQwn#3sJDvDRTeD&%Xk&r10{(GRvBK+;c~KK@gE+qb@`T-U;HEZY(_+eFMaE}r z#}OggU1jgNRu!TSy^t{T>MO2ey8W5Du*#Q1RjIZ|F5_jd9Jd(W9(6fsu5JD7QP5JR zY3-F#+tNL3sv31lvB_n>>baPbb)$FAp7&IFk|5gUOEUcaWhLVz!IUYylD*;k)%M3F z%__8A`5#>{KDSb3WH^m1=E&BdUy?oWGAA*(Y|gvl7?&W7;?V-fd$dqad<0BiMYFWtT8-^AxKUYmx~qy#*@RS= zCUhIU;Y&HGRQcJ`A9iTl`SgC;#$7t0kP^LMV#SDZ{FhR*Z4Dr-Vpt44#2?z1Zx(OQ zWpzt(8Or(-DxF<*On^}2MG@1WZsJ*_WfrA6r@=`WZ^?4W24T3L3sEm+Bgl!Hp@>%= zj~GsrM~*(hsrQw#F(E@3QmFDib`Y(e6$gS-iv`a4eET-3`u6U7`pR2AD)4S}kMbsg+l8f1_oaY6>c`%Iw&MLrq6&D#>QxCmi#$e4tQXUZJPVgRxVvdV2;CZj1y*fge?$x zZtf0S6p07zrZ{s;q&jF*H#4c}0f;a({jx#SAdL6ac5`IIb?M1VB)|3U{)XSc4&UYR zP^99yopT-#i^n}wHe;%q-`A0@()6L@#(cIDrhyqwsxDRLl70@)^p9Q|6dd%d)*Y}b zb{}{dmOFH(Pt|~5H?1uvi+%#;=h$;qlT;>MUtESRp)>@Jl$C>b#q|c7?i#>N2~iT` z1tmUeJ~2MuGKBvTIV**$u4#}5QB!=)Z_nY(URNC>-IoU(%?YP!7Ws;2HsW7)2j>uK zZ=2bUkD?ght{_%@XBw@*|AWI@_80aQz*FkkS2KOAp7W2@NP&6 zIY~W3_Bu&$3Hi!x65!3W3zw>jR`&G}&w*~ky~5^r%8$);@5A<_KoL_cXA|N3nl#-z zrbEv@@zPwDzU->@E!x^TUO4{C>ms}2JOTc8RtIYX7pV_xd^ItT$^C7a=IiS`D~t97 z913ik*^u!r3o5m>WU&Qca6Of;tl`U^Dpw2((9ZaE%WP*)Vq}JJK~a9kfC@3N?N`y3 zH=)+Y)VNU}9E@=KSsW;4V(AI!vj`kj#6H#rNsX%N#KTkjmM6!3EK#PK-_t;m%g42b z%A6E(pX9C0*mt>~UzoSF#jW~-aV{c$j9R{^xbmx?P{>@_fDm-zZA8_2PX{A=OoGf9t{J($Sq z8D764G&cMm4e2NaBN9XTveyS+45C{s?OYjL{Fh9|asw~0JvC^)D8GSDsKGVQoJV;{ zCNGcDo6Yw;*>4knW}90{XCK`B(nAhp5J#$x%P|sYC#Bh*zN7fzoa_Rzf*r%h{S3cV6y<27vOTe_A)-212%=hPdByXSRRXJ7ceP()x^RF4pz2Lj9!lt;j z{35}!xcxv=E%NAhDcAGvz~@P7Hm);!fv1l>>em(vQMyi5E<&Y5;okfVCq>!h7IUY{ zS8Jm`CmJqcNdK+jLxHIP}-3qjJ^d+siUP>g>K}y>K240!}8V>vk5A5k8Jb9X^MAqhsw&QWJ({$GYj>sRwXUt`Gyk3$G z3s2c17l`fA0rsImw2#-K9^zlC|M}>@_qyuA*_ZO`RovxGt+U*H+i7oQoWjzkIXjoi zCaY;*o)H+I7a)Ag-{H`JX6IbDW)-Q$HWpi1!IKr}e`qKlk_a8?&xnVnz+d|_5vH`WEwV4Cnn}9_}*=%L$ON}<-vUPZQxKQTA$%m+pu0prN8g;Ax%#gUwcOzE?oBh)7_%;>Qn6y zd6}zo*V1l{hnSX{yJ0&Jp)b&8AECZ2-!@PYhg~yj!Iay|jaf!IsUJ2mb&_6vd#r;s z*MQG_4Hr@)K#Py7a)~GGS*i&=>P$sRy-}rJwF=;iE@|$i0`xcm9=Ld2!`3IH;R^(a87U z+eQV})8;g0-JY@JV38;$U~ICdm7T`2GDu(j)(nUixN|c#i!CB}<^#>l7ZDA9F~dxV ztLM>6!SU;e21|*_3{!B!?EA|#IhXzdXaFlsxSAcrKX`+T4`!1T{c)Gt<`odthV-iP zx(TO5s2h;+0jVn>edY0=Z(0qWgBT%kh7WuBmE)EI_>AC?JQioM@;V4=Dz&qVegZF#+(5}raqrMdF_vox z^r7MdS+{Z)?Fmpg)bubVQG_~M>xWM5&$+{cM0slLw-4>{d( zSw#^~NBValmfXCo0IqzR>S^nZjw+zDu_nGHVQg=j`{X|PjO%xaedG6J308e5ZC(O!h;_?1cG!M~WxPGt*a_MnhPhw@_%aQ$ z)SF7HI`JjPzIcD5(NVp6%RBgdbMgyRELb1>`2)+h)sQujt<8-qFY?qG1yO6uU2JYd zzP@wj-&XAykji`p|K4}pP7hrrKhY`1py?x9V0O-?ux{gcg3jcHC> zMV@4y1Hsz&@;<7urDyir;Nx!_^j80V{_D|u=dZC6?RTSqRYcA?@W*R3wx<66hX+-U zT3BCue0FT9N`0{=GnNjYSbhkWjaZ5*-+52)s=9Z!NPVbK9l}b(ld2*TD2wOkhcTY^ zcR>rZv+9bTNEM8cH9UZ4lLl43IDDf(>l4*?sj`yMBV9Jo;;lli!g6fJ8pqYs>s^=j zI<$rXnl*?cm6f6;xs9pIb$~K(c=O@6SRbb`OacF)vxl*>)ur&mu7fvSne+qh6i~^z zJ+zYJ+}D%u*U(+GdF=8K`Tk;M{y`QRuYIb?PIlcUh&6QcmFAj&*^a`R@4BFwWL=3* z3ws~z+g2lG!7sx31%nkF_a->-sCwS)t(EQ1vo96lL(K4tPpN zNtQaJHa~)p2rX2donf%sFfasT4>T0dFQiGbP=2%eNuucD$rVUXZiz-T z%{l(^_%;dT_ESxtd+Jgsfsmj**MT&p1%!55f(RP2&UJZLR@czXO|3dSNW`M85M3e38pepii<0?-9u8JM{)9iiRQiH)9*$MHG;HBZhaZJ*gVx0SFPzL zjh$C%#E~+I=BTn+5gVi|>*6bpv}sEw#rebo-PZ@7{VU<3N0!QIA0f(ViT&>vnqI_! z7$vozCV+o zP{>W4V3qGFEELEO4rYWjTGw2L?07f(LZQYW|GtU&k(uk}Rrf5Yn2W znIoBh&b|B64GDFseu;EC$8;)gD0g14eZy-Z&&wAVC=WMEn{;5C_x8)WC4Qo>f>=tU zH!@F(%}Q8H{9+ypRbuU*wKo4KUe_lQ)oNY0V&6h2ETgBp{BlfSt!nE1_=|_S2x>dO zO8JkyvzMEDCEmCq`$voj@0ydLlj6xWy`dz66f~tJKS!EP01So7dmy23A`0u*otuNa zIbpF!)^8j~S_V`tZfcL*3)YuRyO%F&XE-SueZF-u;6t#(0);ek>0CQcu9yl}#u>Qq zCzh?gN=is*<(DRR-xbNqmfBYfn#|c~RxZ*o)_T20E-~-9~ z<^H^>QuiO6kgi+3v)ogavVQkrpM127w_`cvWe+d^D)qNGwdj8G|M`Od8KVEOqW_NP z;K{4M<~L><3Et)N@ddG+^Y-^hTyyLsc+>g~^DlYBO@q;9@SNePeAA8B)1A17E{`_8 z7mAg?mz=qGY&fNB3?Xx5o+-2D;2d7Qu*fvg$H{PX;x|@l;wYfk>FoRv8=w~aEX{-2 zBcHV5`EfbqeJ8X0(_^xdPZ16Uh-V;RT|MUi@cw=KD*kf?@h`B1)YIy0D~91Np%R`pVbe^@Qls z=F|s0{p3Nre83nM+PwtV*^;ZZ6TX`w;63p6x0 z!on|j3XgyI1f){8)ooQ}IPLTEuV~(2-Bt(nh$BKC+z^z~I%wFv60s`@U_wdiZzAOW zIZMeHv@&vJkVzgtUhe^7&pVM}XuFGj#xNTpDkNe0gOMHz-{nkcua!%C^B8|6V(v3U zlzLnJGAT=2N8Wyi6WX`1^AqGendkc@rUgERf6f7i^4vaHH~Ig2;friyvk~_S{NY{? z&$&iMYX-h>k=Osv1C?2&Xt(Fn<&tVK($fJPyuvVTaA>jVlu}LPsy2*Zn zf6I6Cez4XrIlf2pob76P?f4$VE|Uasd%0MXwSu)IcQkJN%SeiVd)0pc_uR+S^k38L zA}arlC+y{=h5ujy|LYHNcd%2hBVR45{~b-a zdd$aSgj4ckco|lPW~Y&rXL+Jn1{`U0-l!jdW*})^18-36lW$Ba_jmmu?0H38qCU0{-5!WP3vX1aES6=54ojWEJxY zCq+FV2R0C*r}^n`?4z@=HAImVTN17EiL~*NH2;5yVrf}%Eu*@oEV zRuIJ52-#4wkYDzXu}jqZITZ60uiEpqMW34~-!}hpP9(Ud1@sK55qt9r1Cw;%umzi? zrmLG{2(Jc*iYGeApXD_E*{vw}l}-NS@t^0}CzvlPx5R`wDI1vJ@GV%U_y?O+8^t5& z!m-D;zjYDZNu~Qv%Kd^Z!AVtVr6c(-Thcdr_iSy&vt$(lHS&YrrJn{Gz7hR5Nj2cKys3x0GOWA#Wo5m#61F+oxt6Rpq zP!49zg3lCJDVWptgZpjo&BxjZ>SVdowEjS~W4&?`tKB5x=~O;oDt;}V?lsFQk}w?5 zPR~y`ON1s{C90=O**`V}#dJ>b$MPDjcS$X!+FpgTUiDAge0s!}W`BCJB#vO~W!5z4 zGSJJ{U1;{?ZoLTcZr78~zqRtzmn`1q!6xMd)Um)CoU3fCpoBvs3nwr-nIET7Pm>h! z$x=b&R<4rJ){dda6WJ~|5-vjCTU+33{bwc1u1T)bb| zHo%7lvtBS{xn@8%oe}I(wz=i|3|;UKb97=STW+{Ppy7I?w&^9@mAgQ;4<|XJ5d?ei zl9f;b1V&+ODxdGAA)Y-&jGJ;_2l3fTEx|w?9)3N! z?;l3G&HTlSX@7bT$A9 z^_}P_rTo$QnE&=!VB~DCf^j6T!^_OLmQClbPP8|@NhZCa-j`jP{&mQnW<|C7Vu%1Z z(!_xm8TU_)yFeOX<;4Fwl#Oeq-j^Rkn`Z5mVAJ=quyuY<6I9>)n5siPyF$_&D<863e_m`4a?W#T zf1~T!n9AL%Pv2Yyy`x%9CiE{${}e!c$Vu5v#BBT!ca3i(qxW`f^GSOs7J&)ajFHDr z(N!#5H_$@J3z~2(yWPFYO+jQm=x>n5iEY9R=vupi7KeTxD_+5B!-W*0=Xf5)FwZ;J z`1`gjJ)dBMfF*_MUi=83s^@u7B3Ybq+dy|PG2T6=W0YZ?)qH`IGiUneI;XZLylH~&nW5&T9zW8<|Kr(5bx(W;X;{H!v>m`Nrczt!PB&|8-X*-vbJl6 z+?SRn#-9I1$r+m`wGbUP?>z}$@R-4(Ch|UuzZ_mU_M_lfmo+k7#l92PEXL&EW6r28 zEz*4P`B2}qGE!NoM|W@1fTNmkuz~&`_TD?HsjXcfr3ok~C<-W55dl%E^b!yim8PH| zU8ISG-ULDd0-|&U1ZhDKDN+RKE%e?&I)oOA0RjmSAR)O6_jd37o$ov2p7Y1OSTN=4G%yj^gDEkb7hh0LwRzBybE=zN(0c1PfX)$9}pMHo(?r)f-N|-XmAd8n7Yb$sD z%@}tr_`m=KH_3hx7vsBkB{#se=hwb;_MNy6f9()__Pz zxy{=9Ufwq;vkMXwZ&{=qvh_?riNfYv#oZRzl8;$hsmeGapud0x%eCL>8Kc#U-0k6a z+E{XWomuTrTmUMDloOKfby@RWZFBVn9`nUUpr}yYaMS38<`bwzi%s`iIXjwmB0EW-zT09_ z5ic@H8nLQ0XS0b)RJ`s>J4v$p;y84M6&Ya^%WI;XXTH~#PE9YLZCXMcvXGL_AfmxF z-z+}v*975yO1>=gJP5b8Dg)rNmq{wU9duF;sgyn(nf;=2Gl7D?%zlYNfIn#dVVY1H zXS+YM;K~;If8iznlQ%VnQ`4yqxcob5mf7Xv4~d>#sed86j`J;rq+A``1q`zGk!Oh2^V@HDWjKx?Xxok!wv>N_z5m%|M!y-s z+l+iAMl_|@w4p>CMySd~Rv-Kn{UOO3GxJdy`7DLpn%qiH`)%5-k(Vgf=BEUUlZI~` zW~T;ybrl57V!OTz*HSF?q;A#nHha{;cg4yMQyy#pD0C4_F5lzCA*q6+QA{=%E!y@( z6>t?d=~8&zP{~fUfhJ30r!oT)W5w7tZOwBb7XT*=`^nc4!{#X7obI7G1 z?z=Ck!vQ7PK0e3)Ak-hM2^4zvRcxHaU5lxE7!`2ixPOwQN5ifg46-F`x1~Kx5Nhk6 zlB?zXaBP9i1iFRG8@ea~+YO&=lmM$adX;_)q@95?^}$mP?^x~>)X7&vpTpKTE>(Ok za_xAsXGHrka0y_o0ndaP)uga*1AWHNKW;qi1#_>(Uebj zt7qe$ip-d2A0hXk_Q7W`SDggy_#ejB_jrzYnlYjo7 zndRE=ja&MUyxo7|@{Zajx+xD&+HLQL(uzFX(kvrAUaN9qsPoLRX~;~wZ>P-QHy{~IE@ zpXSCgtCM8ouOxg7_C{uCWcV3C>^Cq2QBOl!UtmibXDlEi!W{coitcZn(lS&ONNIdv z-4Z|WasPVtr%Bg#9i5m|)u%wl_HdXt9S)Q}L(vQ!b1N1ocEo&RMq#eV3D1{o)=Dz z0!4ZQ(v7P;!m+hS=9PdN1dk{L8D+OsLM8G|rr3h=a6BIlWifq%OTyWMuN4bi}vA2fS0)n)bqTS zI!9H-9Yp1>R1bAm0;`@{yYJ2NKek~1oUKR4nR?FsE-Q#?my>T+e9oSDPTrZVzX?Pz z<1~w(e*o`ZrWY=SBLGP#q6{FmzdlDoP}YWWr@xP{yMK7)W@`;k0@&~!;I#piYf7!v zO!6AfT28)dg;ZNYj}6*NGH*OuPS|$Rn8zhQqUA&BU(a+a#BDS(``Orkn zwzU)|QoUDNRt7iclX2??8Hp(negNtu1Gki^qNls%GcPnITiCFMeO51V>WCmak_eQgHPmKU?^CqDEq@rl z6sJ;t8F<#!D2E^SJnm7+KmTKHttiv%4c!7uyl8V)@fM5{q%>uEc%g;mQ?kLn>>26D z+#dp~uQI7Oe(7v-bv8iF-5o2D+=@QE`Vx>U#HqgvUW^TSAef64ERIgbGM~8pnEN*C zdp+)(pRzkM+HbmcstKNb?0weouC_OQaQfA#OAH-COrIVMbGJ3YolgfZCGw_O9Cbrw z`LgpBm;vD&&0L`yCHD!R1-72^OMq~0CJ^PB!Frj#k%Qs2O{|K{m7_b@>iLoLTU`2_ ziE84GF#R5^Ki`ux9at6h5EvurHy+4ZQ0+%yI|ADUI)Qb-aKWP`!0AWJCEsG(|GP$| zHz6O3dPkoMn#8J826qTD1%7gV$bIbWl?+A3*NwNm&pt>9$BMC^U_(7rv5@F&0xp#2 zVuGmzzk6}#4=rUCZvbzzWsyaQEGl_*{GvGAR`Vlv$gGkV&(Rm5`NT5?qi1~FU7f0` zp-f@saZ1cT(mjB@T_Mr9zy2LJ|3&8hLTXj;0%?+uesPxp`S*B-S-|C2pzFp*zuG@T zv!_ok9JP6T`;G4xO~S5ODl(xISQ}wn0BJF${1)YMR#aoDw{Ec`JxA^rT}(T9-P5U* z?{C|x&P>0z5Ulw~?-PX}T|$(r7`waD3ZdZ|jUP87tsi$44p(oShX$6@{HO5kf6|un zN{#7!h-J@e?jIT(6&c=dIaqU*iq52tJx*60K*t|Sa>Nd=ftO%9epIR(=V@f?g`+gz zFdZnD#;JJmAH8;T$`9{fuRT#irR&H~*U?OwyV<{}y!uyWWlU7Rt5j7iiahfPpELLIhIBrlVE-ANPicLn z1;7)!sWKYypdSzDtN-J%>Zm!L4-fDG^-ujx@MR)7uIqjO*E1`rG}4b8=kJr99!b`R zZpay?#GUyDJj-4)5MT`l0N2)!yHOfobbo{4CPZEj^t^paE`CZcH~Qe{b=MajpZ0hm zFA5CNYm~Kr_=b8`K3-Ty{t36A;s2&)2)JHDOSP^un*2`9&SR-(Q2dW?n-<6 zy6C33p^5^Ya@IlJql*Sdf^n-y7meIB%00ShqRLs>l*hrGr}3KtNm+gQ^B-BkajGM4 zZRTRQn*)StQ_^0${5obz!qtrQdtHt6&&4BR|I)JySOL|^2oB<3B@uER><(r254+J)2;MSk-_((;f6nB&v=XjYd|H{TzoT(-P&aAwpp;EBhN4v%7 zO+IUPbB3)JKp0sCnG&J^Z8T*S_fzF6z@V=9`0uayh_R=kDVH+P4Nn2#^dA?b*eI>w z31V_9vEj17aLF6ZW!~zHZ z;DhM1e@zshD@S8e5>wr4^jCjZn5p&={$2t-mBXNm4g03KTg2(Hn?z2p_^U9K6aC78 zB>R-xoUWhpHP*H!owz8hIL-E<1#t5g;pl@)_CMLO%*eD>x)(LD-ViWnX-1N*v zk@#p|kVh@;BZkQo^jg1zMflezv3)Uh<|iW>ap`^P$sq+%vQepJ%GmFt|9pHvk!?CA zO(6FYd+K2JcQ^0RUCm|M&55dg_+{lfwG>j9bfWU9}y$ISh- zb()f6e+|OFhv-q@N?_?f|A(>qr_kuv7fr+cdmsFDqjxU?4oxpDTjQ^ml}?&6>=+K_ zjv-Z;3=t0>h_D6$X6~2q^{?Zx09A4S_8ypHW59U&bCt%5FXe6q`V$Qudc-50labO- z`^aNoqXp1+;2+VW0se%s^V3OAclCSRsaO7(Q{Q&zpZDE=iayit6jCMvTQ~i?8;&%M z#Go6cys?3QEYzU-%WM6mkOXGOf9DGf%<1Hzrfq+^3`4IcbaKAJJGuYBD^l+R8Tan6 z0y5m&{`6muF^!*Q&mk^3l=te7%O1JX-Nz|`aFYTQ8T|Q19MeU5hKDwBbpN-1lDe8= zhp=LtK`DZJ?}ml6B3NEw{SE16+lr!NzierkJ#r9a0=7aYwpTgd|IW+;pLlSzi~8O> zkGWWzi&vCOKPmcCQE&308-;pqYC>M9c~cytomC$R)=Lad*c*P0r8vP@AC_wG{t#sdD&^!Wdaohba} z7*<|VO#~jLF~IJ0z`~!DgWZ+czkF{%fto*3|07~^DfpE?+lhLHV?b>YvAY2nFKPDA z_2bYJv_hMQy|jU6WhZqSc#i>vNS;Ph*%E|+lXwLVM%`I3=vd&{J*aJ<>WSp_EZ`(i ziv;-m_rtTmNkYm=S|R5$_$$>D;XHRg17{;*PDamCG=5UqkN$uEAk7fse@pJ0#4#f{ z*q?@u`P8w_kpIO$vrfG_zw^ysHPJ|<)fPB-|=&mL(=%1*b#pN5IS-ak-&Z0zkU z#Jd>$?CIUyGF1za&OmnhfX49CrlLWr;$oNA=leAHC1lHxvXIZ@Q+vwLQzUy;{1Z@8M&LGZcfr+Mbax(n4&CzG^>mM-m7 z$-?|nU$O}KfQ|>GA2CK%+yGVazd0Bb8VwBp`VmA%?;Q_IM}K4%j3}Tp)FZ|Vp8LoB zZ9f7CV0o96a$rQI#QR5T9)&jjQpYzZb5-v2G923wty2x8Dy5v`WxE#_f{pe7l7j+j zAYuw}tm5{GH<%rYo1Am|xbEzUG2P5muAZN&V{tY^PCJ_+rp0o|8~Oy4-o$+TUgb4k zeN^P0)uAB7-4K?1aQ}QHWK)ULr|%4BbQU-ysD?Qh*J zQNF0l_~>3-*542NUFu$q$}$r@%^V;=32Zcpr4whS0zTNkVo|A&@|w#iTpdd z10acL6&6zz)@9$#spF1rj1(KKuI_>aTLc^Ff^uV%RnKi8pf8|&*X|=`=w`voF9qy+ z0py_n+G6LS$f$N>Qvg$3ED;+YpOK!Po)#Au=X_zO8uIw@xr5#HFiL9Lr~PTF?DFn{ zcZM17?Br@?SMOS^d83oYYVl7awJuvHw_1x_i++D0zVf*VoatYG;NO4pf6`)itvBKB zeL3K6SnuA8=rXxcfR3?Oxm?VxIby>8yCvj**iyx9Vn+O%!#+ou5`N}6DzaWLa^MzVuY6j`Xm+F(iFHzQmx=ELf{7kdCP}LEQ4&dfDW&;p~S`4hK2L z0NKqq;~g=Tjq*YtAmP0?tgoyR8v-{__V2s=LYRlQv#C#*r{4BVX&e(XYHm4>X;$*> zL?_)F>?W?0Zu8?U2Nd-!?>%o6^`2&W8J03#kw|2nW1)Z|dPhi;!vf0Xp^ zx+}jv4gec}S&;y44HeH<+hZN*=JGR?>-v9Y3ILYOD=^k+?)tTn7>D=^k8!qFfim%N z*xxqDdlC@L!1in(i;5-=W@;2YAGnlfT0H`8jFWg67g1KcUshE$0WOJ)0f#X0LYklZFF#<{8xJt_cI{`z610_lX`iJkQzKs7C+i~BKs^@XyV2St}&H%_f zmUj1r%GKfDcT)1kAJ|~WfsYrdFXb823+Uc&#uxc(=CUQN$e6<^outpp@#<_J*5%VoS>;)!L>nKL4S$| z$NqI4(k6R$K2r2QEV+5!ap6xpZTjB-)UPbPpPNQvec(;mKg52N{Jb=ah5b^cS*Ha< zJQsPza;ob7W_JgrWNEO36Oq#NRPD6mpVUGUwTj=zM-(@`J}C)h6#|~@$ud=DUi!Sw zE0dw2C)%$}CMG5}(i+Q6@7CgHnzGYmpf@%I*PbZRACOirpl@PgW(1V;Vhg%1HsOap z@s%~5SJ((+z{_%i#>lsbD}Dm=UwygXimugwwAm%OrQ#kZXWSi4$qF}vkEXhiwI^&0 zy5(mB?;yS-=^lJ^A-m5=E)}9pFyHGiLG}9PbQ1J02vG~Oa|_*sp4#P87s?z$wwvw< zt%IP__Xj)ym%#b=tsNZ?KI9xL`4imyHP3v+DDj0s>u*$&0H*eL)~&*H`9Z539i@sm z8&HrI)!0#4{SxOD)?L4jT14-Ir}I?)#y7;R=V33t#?acZxF}L1WzL^ z`voIwQJlsSr0Ndh1`$#yyOLo;q&vkEKY`(b#5+zp@pd`up0x>&y?{7=U(N~Y#-u1U zKuRG(?W}ev^iZC=ZeCUZo11 zvs0XR8hDzt+Tam50nQVCsZ+J_v9j{3harYB@^vG5qcadsXbJgk#r~d~n6|X-`43!P z2pvvIZW(U;?c~}nO7_X}R>gAHsf)S6FLvynx`rGVKp)Ym|nYiwf`U=t>Ws{P{Q{ zg^sbMt#$n^g6B|eB3U;k_aN~e z{RtZ4*;fn2+`OM|pY2;#o~va=Qno72^YDq>gwGA z3yBu(phwjnL5e>~)5{u23wz5o=u6K4=6{;N*c8>u75wlqHHDDnS>m^v4vqUP@8zdM z%iO0UC$ehJWI2=z6ae-B}eQ)0AKff@C8*uS`Mt}xprVSiS*$`)Q zCMoskh!tfCgD;$Nt_ruwEg+c;m(N*Sg9Tj~J%3{XsfP)5M_t8TwNd!lpR2qyP8z?M zWvL?S9d&nMzpk78LJ|M)yNO5S{7A3GG>sC6)(cNN1If445;V?Um5Hf=ZO%Zs}I_>Bb{l);F*_&s!H{CjF*d?Xz9quTwUa z9jn?q9N6k|qdj_oEFz*g0HSz{*IxB3@$S#qFIdX%>IVt_Joi!tgSs>(s2wc$hV=i2 z2otqb7(7Lfm|)*&os@{bLdtKY^a(6r)8&1{W!q;;-48+$EorI`CkF%kA8^wK^50}X z+mK$y%*z;xWoAteQXRjkICfDX<2me>MUa?a{@iIA%2&K92KSr7P=tgXAhsM-iBgXAo5LE;Oi z6C?&081#tP7YcWPS})vMxah)jdV7kM@86RSU{UFglCXM~*YnKL@7bh0+e}(_bHoLt zWDXU9V61wCu?ZP@aP7ra-|sHkv6qIvsD4ttHx}-meHZ?P+D7m#sbw^`BB#V!R6_q} zs1|xFP{2`R-B|lL64ovqUc{Rzhg&x_3xL;<)r2s2XYHd*LZo(*Lf6I1Z{J>eDsT0A zFnK>=UiTZz2aJe$6syyd2;&*=j`Uu0#CHrGHmfTva8t;Yqxr>wUvuNx>rQqaE@sIz zPFHSY1RkreE#Wi`i=w{zDs_XFW*Q0;^M|aX*$Qs z2|ciS#>`D)kx~nw%Is!_VwxgF69p0Ajx0X)(RF7f6^3YD2`sfAeb(`wKRU+VpuogV zJ11_)j!ndb{@!giQL}LCt`8rFz-TnO=U%z%i~MAFVV4|%UBE%{W{rm4mjhmQSzaC^ z3tf0arUGZ!#oFAHX72iRp6*3oldH$B;wFlo!O3a7*-h4B=4DPagNJIKo*r&ULo{cZS=uv+P<_Dcf>O0j?6rH0iP0% zP21C1#O|PEL_sIq3N`X|nn4kMJ+9_$i}s_rRS`?}1~r~j7YwI)%rC%rjRwhs5ole6 z*?lDDheLhUYx#EeqzSf%kM#qPJS3qW+O zw9JRaIBCyF-iyU9Qu*LSjJcCCgJe8$&&dbRuUN9J_1Ob5&CJ3J zWgHvEjnRoUGij=@pl-&UXcBg*irZp@3W<-7!un$=7^yeEw~SH~re36T{ms+^Tn&pL z2|YK$6BhYb@Qc5k_WkF18fmx04Ve##Xa243OlF7+Jr+TEyovdcfNz^^2z+R28lmiW zkd~W!!jG^kB{0}|y!3rx4ltjl@7DnN=TfZk+e-QQcs+Yl!>!RDKUAfs4wAr3v07!5 zJiz|&wLJm%KO^^bCA0UeXWZ~}eC3Ct`3eU~V#}7B3@w}UwMC;Gz z`I2Ah%xw7*7sq`!%STgNGrDFPC52h%s>)MC6q`z!h`=7FJ2Ed{+CgIsKG#{Hn!8>6 z=!DGX zn&OHsbRO(M)QiiQ1@jdm&cI&oAfiu(1>d>!Q3vy_Q0dde&T`hf;`d62yJU?+AE86& z<_GinJr3CG49AKyA?D>2%b-2csm)ymezMAKX$1M8KT6~K^(Ef8#QFZIJ*L#E+EtRD zNKc8mX>I!D!ji4b>8$-eq&b#wc8=R&8D0qDd;Sc!|C4W2RoZP*W$S8EvaJ>|&EtkR z{JWPj1(v%sIBZmAwBQD8dlu2xTY+QhNyXdS>!0Q5UgkF5_56;8Ex$Fk#7Sx05a)r_ zr1VP1+^uwP@a}j`ut!2fq(5e;uhZb9Dj9m)G;g&zh`CoS-@$~80@>sufV>pIhSa2c9H%ME;n#jp@?AAjqH=DR31Hg#^khKT>b|XsnA&GLm2BQV_eP$4P zfhnTf)J1_WnKumH2{p;!l_%~bjyq<}Wi0$4T%jR)@YZD?Y3{zDqDEX*)e)`l3cUvF5|oLTJ~0xf@|ki^u6EUH89& zUlJ$LIvF`05xQ_2*Fq*4%LW{NLDGvnkbDg-6F)b)qgOu7#otDW8R~}aPg8RnlcekL ziw=8xT;!0^{hcBEjs(kt;n~uSe!pzawb{e3}39U~%x#{swnc+8gWY{+gZ&+(HUr zs;zzs7+>&$!j?8b$D7d-z;%r@$(j4=E09~ zC{3zyB|FS}y8?m9hoGPq~eKtrM-Q zo_@Gus^9R=y=j-ipIKI8s-JH4RED#xPMPD= zjY8-ZK}*ATOL27aPI7Z26Z<7)W^Uf@?gYC9W^OxZ<)jvY+W4A_1CoFs)W3VnEq!Cy za<%oOH>~S`aQKznGb(%~?xVz`xXK7}=7jKv@=9G)B8H8WUyYG?^A$AoSZ{(U)Z=g3n1#caU*ZxZ|al~7lq;cJ^O5v5_8*pJ~1Z3%dXz7j$T8=exTCwE0*FX<_@}3k? z0U2B9YNC|=H_vsWYd{945iinG<$*p?78_U5{JCK9D2SU+l6H_-MHeC>m*FsO9mOpg zZtum@iktP+6}Vmnm&2XWg(w)2ub^W7go($G$4~b9s+}ECz1dgY$ejI#sSKZ3euz1h zI6{^|+dAzXCi{0zbeIKBy>3`4RVZ*eSy#3EuHs-eYIef1uh~=pdfW>xdmNt(fLF3} zCPYF)-`xA!sFt9_Py5P=qmC196?){072x@|U>rlmVUU|M=3eO<+GNUm-g}LJ+e3ZI zS^!e*Nh{FgF4von1Wq-j$QMI;t&vW}sn?^MM5tf0{;c$jDw34?YpGh0!?4w zcwiXJ;021c1jV@RomrN6`(oK`y2xD2gzl04monigSPA)F#p>SoCv79uA&QQ&8=AzW zZ#uK#T)W!&@vT2tug%0OqvBp?l(?bkdPPb^YfvO0kQz@=+OpzQe&(xxeI!Fw$f3(F zCNloBdelVD1E?k(TJaJ{^>7~u-lC&Xc^TCJPA9_yJ0${|wc@-1p1iqV;=QKu(tWNj zykMiR*hS8M`E78;HmttC=-LCH8b;jLW^p(Y#&Dcpi1wObwkC#Id&G(TswtPo{Hcw7TVbW`uDkUZha0Z`nNRAaCws zUwoeWD(1riqTP1(Y&-F(vK+)B3-40U_8=;QJ5aK6<}(+IV^DP%T-HW$$(1DIR@>!v zr7sDM(N_*Z$S%4=Ak|6_95=j@-82qd4yEEwZ9I;cri=X6f*oz)72d z1e;uzLN&lHlMD_ACk5-!0_z9R4qXS(awLdCVVgr!K?GA^9>JsJL6=fyG70C9j=Q@4 z1KL(Pl#1bqjC8g7jRko3^>)MHdNwmUw*^)Es|wYzhrtkY@984jxn3eZ4hu!3APq{1)bO6|j$B8qqaU@|Vq$;muln)#)eEUL z3=97XjOz8Tq)j`WqxzUX_|@~D@+Lq?UG`+i{tSN-4O?ncnC!6Bg{O0tRyuI6| zhWAisjpb1KkJc`#y-p||EGrR40cpJ4aRceiPTDEk0uqO|(F{|qM6q|9F9uw?%&^5| zXsC{EjaTyr_CS1*^u|OI>^0x-;D2Sr9D_C6BLRsz`4suGazzh~X7>5WfVf(Qq(duY z0JxcB`0ItXh?(;SJVbHgQoqhq6J&!J{K`bsE&@3#zPCI8Z!0`?C_4jkH@=(Xnww=8 z!Zz-F#Sb$D6YQNqQB1iKc$4_jeHs%?$KT(rgYYfHXxR=_y$3Ce`|l$|GGlG%OS(h67TAj1-S zegnaW4-AP41iy~+ZGBObp@IlCv#}hgTwn?UGhW;DM2}<&;bJ_$Xv)%z@_2oi6Xb}^ z?d-e=wKFdX-}$U#$cJ1wj0cv1F&D6nZ8cH*yt^9 zSzW??*q^M*$L+G(nN zQfU3V7(X}6VcmDTB{Ok>t8cl%2Zu7P7P&q^s(MX(ltb2(_?!nqcWFmIytN5#BIc## z`qfF3I?}OfF8u`iEA&|Lq&NJyu%GQeDWww%qwbQ6BMU$qVbLu6r!GjJvOHi^iIZ!Y z)PJ|zGE-{9{=!R%9x!3jqal<1BYVWUy5)z#E}bu}YMJtXT5e?IUG!GJD=J|#cLjfU zWLLmz%wTHx838-h@x{oHuGsT4mp4=U-ji><&$<-m{XbcX$0b`e{j^)y?QFxX-(GT} z_6F_WJ^V=Ej!KGD;E-wr`_%TC|kjFL| zSM`)|C1P6?O}c}P->L4K9k8j5KR2Iunr00#1zw9^#w{@=2Szy|qU>G|Y?nMhtdbn4 z&E!T9Ps`PM6k1x>ACF{oh&$@az;C_C=&-MYfBBi!yxuzVGVHeYz9+-Nn|NWPeOICN zNr}vb!UDs9OpejYl{t8lht{h%ImuZ~ur_ee7qX)6Rz_JU1 z9uzzqdN(DouLwpuF)N*4>xYRco4$ng$HfD1W3n#{8slEQ)giMXus%}P)-$~`bdMP)!31Bkedkzfslo&&MK;eS?o@wrTiPce#0uF*C+ej~=8Rqs#kqMwSY z5;6|Cur#DApkSxi+qL}pNUHl_UT$#5Vx=DDn4AxhKMCihXQt5yvit~sjSo+^=3Aar zx@JC%M^?CG$W43l9|8zbY|JC=f;c^g`0K_t+O=_ye%{sm+5Wby*jry$?xGjKEJnvT z@W;JWQ=@L|Pc0eA(&1^hnQVboa;X=hb?&5~_U9j@zvpo>9>I&6`N&Q@yC}*b*58hE znW#{5IV>`-x8N&Ne~|sd{f=}UarawPM$WF5#y$!0Z3tRHJmhJN&Q)%mP7VV@6=01G zK+w@~&1{||{$6AsyHC=ldv;pxgNY%jY3{AjEo29b2RL}x3gcQ66b86H{t!4|8$+I!ORG`#R zek%s8CoOV_?T=E`zPVvO@O3<*W65dC9ZP^vt^;Jlj*pvTrISy(w>VD%Vka0|j?`vl#O$2SR0px_Mk zjpqjr+6KN%+`$NL4_dfR+a)96K0YM$69Pg;&fuT8xw;`)H{(y*=y@v9gXVn2S%UU^ zYoOS5wgce-n59cKr4kaN3`EN0(#kIr<(aw#`!3RtLHx>PPFm@;r6-fHb&%>{@1^Ot zm(4{o{ftYt_7F(O2y2*$qzRmkkt+tjw=;d%5n?*nNn*f%9UAdsanDJDrG{05@;S*K zPD-|<&HB;}UGKtfxmh)cjhadCBQTqr-7Z4LvgHerc2$2DzKAix4|>`o7e?+t^Px!1 z%^8`u``$RGPM})#<5WKHKDZ1?Wjm4>psuGCk+;Dlw@>67i22O2fRin|M9LaXy~~Jd zvh?aAOw80d2qLwGTeEh8{jn@3A`XdPT+Z|_hcVy6_Jt9u=5RvsxHjO*X;2l3(Y}piTSbbd;oC%OL+6=aPWt?ghgNc z#>t0v>cqjwuc9sww=}M<)5s_XtalPJHX~<@i0`n+tr+f2)}_{!I(qzk3n4IapNxIt zM90Vx0zm9%i#tx`?^(U72Ma1VD9Al5-r9os^<}t>^s@9^8Pa#R)~;4^BC7g#-yWVu zyuU83%zeWML}6lbaOPanOm_S0;niv$ZVxG8kRQIu`3FERew*=2dOUOPJz*P|UI7-o z3-4UydL|#E;wqN1`)*3-rp58d$?Y*HXa%jd*&}Avh;IGg90msW?=loOY)%q5`|@B2 zsskfI$GrDT-e=p;t)*|Z39$zA=4}w}MyT^SjG^$PXn0E@e5L5PIxl#B zA^zl71w7Bht(L(#0N9%oRfn>kD?Z=J1OHz8v&k3VG;8)FRmQQC97?$8W|YQ-Nj{p! z>}?vQQ}02HD|!!)wU6DZC8Qkh++5}ZQM=ugFxp);9$+}kba=_L+Lkkl)IpLhIHg?G z3vc3j4r!yr$pBe}3m7%mSUXOwt}??lFmP@B8>=u{=9A&!#dVgn2L=fx&JariV-VS} z1bXs>L*njQqUuipo|wAZ8K@*X@>Z$9Tv_;?>S&gZcN1pJ*Y&$)z9Sl^s&4JiZ=b02 z$HftF*5mbXK_ z+wJI+%dbHj4_@cQ^y9TIyl#b1p7+L)hfdp;tSW&#@J-*~$zMdlw`+F??hxLh!oIn< zse$#e>Q@gJne61#5M_}DX!V)vKClYMI67c^I)?><3S87wC!!#WcUBUpQS@t=8^8A7 z1r7lMvmV2$u<*@Y^RM_8;Jse~;*+`CsKN#QBSHQ>7C?}{ava?-ZGX?BZnuts;UQ{3 z(tA_Gh?$1|6@_bVUh*^HoMdU?tS*UgKt6HJsD$42jDx8u*XQs>)McZ$U8^Oo7xGtt zY?s%AUoLkeqw z)UU&f4l4-pRk!c|l!~!^;WzFXr)!?*aLcVGs&U;`R5=J)Lwx>o6{1_4oA;{b_1&_x zuRo>dQ*Rf}kCJ`Q;zgh*pRv7q*FDEq*4A&fKlBI%mF>apbx>w)re?vP9!zz%M8`x5 zfcBUmheaH`0wY$h!gfxcANY|?{^s;w3nOjac4cbAyxj-BlQVMq`-Uq9&z=D zz$W&mb+kvE{!4*^DAn5BP`{!LjJY=_`Q^g-47+O^7x~!Yw@19lY+s|AU+QfL5QKW$ zT2V8Z5k=vMc92E4$lmAxya|zGj>OSxa!Mp3MwX4H(o8~)iu6S?&Wu``El`?S|G!;JPBk(g3| z&>iyZe3`Z3dAEbb)!e9bSP?$NQ^$%+MfBB7LN@IDSP!rVgsD@6XXg8AuVe2Qzk57F zz8yuRGly=%_qaw&6+?t>7a8|BbIOB_6$G$Xf55lOd7+Ifre~(7%f21!(?~Cqt&j)~ z9AXV$E^+V*0o%mrryqdo_`0V)_dNFC@@hXvi&}_2J1GK= z7W*XxmaS472v|yJU#|R%(%fPR7usu^@Fm|os;&fgD_o-Q!TTkE=lED?i-m%g>kx@} zr-@O#|6@^KnXgXX%aGb;6m^E@y!^8Kv#D77HBx25XQLTc7S{Ct z;%-WJ>f!4P=0d~2MF>ahsrxR~!#jO}okeWED*r=?P{I)4k2K1m>ik_!o41Vil?qhq z6cGFroF~1isi~O)yPteT@hq&f#;x$k>zvO>gYYEjO|Er62CeB6Lm!iH-orDXwFYLuHW?=3xK*?(3(6CE!{)auMS@~G4!RL#T*#=U-GQUhB``NB9djPPDbZ?&d{toxi?0{qPu5NgI)zHdyvzMaGYDRX@78&5&t6djVgNQTIbMBD##OY8 z74dYPhV>y5v3*^!?%Blx$ks(1XYU^7`X;7ym~ddG&L}2`W8S_rbu~50P-1Ws90sc6QKMC&RR5b4X_KGr=PI*~rQzwnO_36Z|i7d+{@PU1c zVp%ic%XRap*9Q2uEUz&cO5GV8R+-pr3KKI&FCLPnax<3>g^>h+LkxQ>e~xH$u(gg? zwKtS{j3MzmHIg~ypZVT+tg~ReRXZGNdj}IgQ)yLwxv}p@@h=+PR1JTm;m%YC zy8GAmX(`G6r*r^fui#ESaYv5ML62hB9PTZtNK)WY!`#%DgJm35H8ER9)KS|er&;) z503RP($}{+h?dSgSp>Lr@YE5S^_q$2)IIfZ_JDy5b<4G}B6j^5jvuP$yW8@b^1pFw zEepkaviHqLbPV0K&iK4~eUMa?;n{fVke0)18@m|ldZ#Klyd*-6V`! zj#9!%2OH?~c%gr80lTx(f%n>O=i(Kx9AsgUQ`!M?t+%gD0(X|Xnm*S9qO|AQz9kLw z9;1{^4@3}FGN_kiU7a**Z#Ee_KF_e9-&4+d`>p#PWoecROI6K89d-WSvm!L8Y@~or<;{$N5ZA8Eyk* z8xGsWGo2q&+Fy=A^B^2+tAOxiSzjd5U0*(Fj$m(vfyzR+dn??@EH0zRm*<&6U}tPG zL}kY8yddK~X@}OA8Xk|IDI;f=$8Mdxh-(2zb0h-$q=N(_%?C!uglFa<>o0pra zuDu_~KX!qMt;9Vq--nV;VsS;?`nljlIzMA7khM+~w|L`=PQ=$sIRgMWO*bAr4Q!DT zUmJ1kn(ftFBCcmj^3`pF`V0UWu&epX^*7zPFuZ9X46z@+bGtKa;m40I=S~Miqp!_$ zsDPH+@l^Afou@QHw^7~);~Gp?I;*#4b~iNkwoPGolYdSj(%D9Pn<2GUu!1_RBsLud zEv(#lbZP}6qGY+RD7X(PJ45(->VO{VyVAyjzmsTIVsUcAIqPR=Q#EKlG>6A2GsV-# z297o3-|M;>8qvruxvNa;FmM_ID_MjlY8%U$Pcj)l&s7e)9E_9MVHdaKLuUqW8TL&b zGo%Jreum&XjEjPhfeBRC!N}g~oUOzUwG7MGQctZG=4@SFFedu(x##hCS~f z=uZm#U*x^_S5w{gJ#0rsKtV;iihy*acl5C!T|s*9HH0D^5*s4YM5+XcQlMyTk|J{bQ{B%E$KGrniZ>A~GN&3@`@6)(1i~RLV zy9->Utr?+FpU_+T%56D!@9i95R{FmaubT)r@1Ck(a-kj)Od5k_?pW6P@Fk0yzn5_z zy#dep!x}6!EQ;3a`T)jF*0du(FIigdXrM|-xM_^Y#~589`dC;cDO8I$S(wzUFe@@mkiN ziqmlHwwllUyc{?B0)o@VU`9_$tZ72w%)z?7T#l!fO32FT-K7)8$8Ry(uV@ARp!Q8? zJkYsAm2_ODBn@#p?s1pA`PE*_6ypeseuz@_RSvh2UYO^1Y|0U&)_hmR>^y?th=dN$ zcU%FQlugo#xXPRA{jsEH?A)6ML^Rw*xp_ zH2^*>(MvocW)ng5*3D5x$%i95gvQuPRWypwUh2~_3v6DyFbKJ!(RR%jc|yCpqrnC>H05)!ueV-ctW7CO8JZ4+>Xn+jqf2gR_VJG2+0vIv*F~#Z3QF!p zn%^Q_+f`2UuKc7CMNlj6EsYe=nK|wAMno%HP<5nQgMdBJS!bM)|&ILC3d9X zUJxZE0>TMZ*{%A+CH5i#2T?!-RFd!#VUGO(-_%SAJc?sbf+%zl9yj-$LY@_g}y62YotuFhIC}-oaL0!d<_HK%Qlv^(p5} zmD_m3nBecEG<(zVKRD0pEuH($V>eDh@<&Zf?Ej|#es-#t-{yE1maCKYmfG!ABTBbq ztFRhe&iPX1Z-a>le+#Az0#z8Pm?$dM1hA`a3H)N@l)ucY9{bKCI4QxgO`zbQJ(}&b zf-52~uiYb>OVZ&(1)uE8)n`NP0Oe9=`g!(~2eQ3e)kC`Deq)vu-D36kW&1RR6m471 zY?ik&ehMDU+voMmVH&tab$@0XkxZ+rxwb_|&e2qw>NoW3?EP!dnD()7JT!ny!eZ)P z3&MGl{*=`Wukvfi7DHKH?A0r9u;h3fp3@Fndr0gQvhAgf z!F&4OIz=9e7X$9|7Vlpeu55T8=W%-trdrO2yOfMqb3;R@g3EXFEGin7n2~7GaEZu` zlz|ayNoyInv0@_zjDA%^;3(-A=c&M(?0*zxsZIW3UEbbt`qAc7(*zlO>Qm)GRE*U1 z670tVxD`cQ7qygfK!Ww#K782dir`}*NuceYu7_s}HCUUI=^G)GYOVZmqp zne-dDYsoB8;$ernIn&lT+n*9nQ+1vUF48^0_x$AHvCRB+;VbEvRGK8p1>Zw^>&8*7EYk$&xD34c-I0D2gCKpR%9$xe-xnx z&k0joxeX(KtjVqoB!|((y|F~LNe+&Uao68cD+>(D*`_UNF@00*@M+_J)~vwrS?%Lf zL2*v)fum4ZWk;vd#EZLD0HKuLJdT>?e?!WZS2pUAbpbLKe(c=9Gfdyf zZuH}=L8_#Kt2wc2gpbsG3{QEY|z)~D%L>0>MhmJ>CApfZ)4+V9gc zL3mphfF{x(>N~uh0~iah&(cB8NGzQ2NRzZqJV*`R*^OYpsy;t>%?GvvJ>=3vfG1B{ zgc^o%ahnolkNP2RJAPlo$Hl%AnfNh!s9g^sXEmnwKnUm#uN^43`3uSFt-*mve=w1I z-1~&AXfg>$jfg$#FwJ|sW@zNfMLt%O_m^{5F9mvcu}glHJM}Lq1INesr4HVj?1?}s zulgOmQ`WtZo&pScXWW0{$pxhjg~lq#HTs{9OuiSv4Qh#jncBU~I41mb|GR9~J-Um0 zT`8R4>ev1~So9(Tkl&WRnwhGVO*8~LVHxk}0K zG5g%Wz>>jAI~fLHlXj)VfPuH=b^Pw(gjZd;bI+H+i$a=VDsCw|IRsIaA*>h<88c=S zg!Ni4_}sE^Iy*q;YLePVAqdal{*hYH7*7u=SbaKBMz?+;K%O?|Zi{Nq*^e-4V8VsG zZ|y-MJ%$w7z1arp)jVqRI^4TY%8u+NpSCdoBFc$B7JL8aa;Wbo?<+`}-hHkATFFeu zoj^-%KoSPo{wr|=-Ts zg3s@4sGwZ@>Esye= z{Ff8Ebc`HPO@^KMezm>hKWfFm6FzrCRr>4c5iw=%~D{937)*G=F9R#iq0GUdpEF$^of_IP=uTE-BCCIuq&R-dV9;g&A zv(l}4QTqeC^4ua}$H$}m-GRVGG9evTsD#mj@jyM7m_t`O&9~<;(5P(B2IdI?&$f&x zE1CR?IwN*15~n<~+7$jY`L-u#P*pi91D9VKdQV4*>o9jjYwwz6ZG))`mTY;kp&|H- z@QbItf}LlzB-?iF6vEsyFr0sGL-P>g+_BKu-6i4uOZH$YmNHMFKu$mv=M8>P-uZfy ze=_mQZq%pA*5G0a#VWp4$CK4Jx(^}#OLiNYjgyd^se_XbS@;f(UIh1>9+B(30%!`# zB81_Nozw3FL9CRTlg{Q^?e@NX;GtWFVZ};5F%Xrzbs(~XQX4bwO9D%@c*wG+#r`UR zOw$R`q692We+OJ33cM9Twbd+g3)Wzh;SZwV%9$k|u<~2P>aLE@Zi72k&(aw%lHj@) zfIBSM7|Rvg@=yaQia}pV;Hf_Hg&b{@ikiAV)w=0?w`B*At)E2)L&9FiFYWE(=(Xk&(co z)zTiGfC$}t4wza*Mk-?T`1sc;8KU=|J5vgNJ_4NafuB9pl2X6p0}wwS0dJ3)g+T2~ zPW@g*ePNdc+#@rKAL9R`KbrS%+SK&BSGo^@x>xq{uj+55|09qBQuGg3ys&1qi4Urj zS|%Wc-c?#>Rau>dd6rsbE}Qc_hXsY9&Nr)wL%Kfg-Z}%1s$!db6AFl*E}wBS*aSp! zJ46iFejw|y2`W_Ky113cE$J?)$h*f?E zQ&7@ic9<9TP{<*c&z8JWYWcyTa8oiOD{b! zCW#+d=KZi8CbT|v2z}Z>2fN}NpHuyn>fjixIpTcxw(!O;vC9#{`26TE@{?uFBYj^G*f(x}By5_@^&$8haFuhd) zq|IpwdB+~5{V0!eLc4RsQu~9V_=8W02wX^g5Md%1_Gre}Cz#aUO9%vjz8_mS)@PJi zwcZQuw9q|Mj6d%J^6X%#=nW_@j#TztQyLX%e^#>wemB;%fBLjSOl^+r73-n$$e6n0 zqr`8o0CVT$k6Lio$zv+b2F>(!n1_zc8;Jb`@|sWGd0Fo*fhi3g&lJZ^qBxLR6Q)ua z@C=2Y4B0^+%N?V<7kmUeQiS3IAx963rbv*sivV@~!9F$mr{Xz;Q)osyG4{aO#L!yt z^Imqs{E=9$@K^rjk>tQ?mF1eSzr2*GiMN&>o(ERER8Hvm=ACVW_lZom4lL4p|19_a z<9Xt7Djv@mBKv{yOQY<6*@*kkPHl-dDuj_m-R91)O+JzKl=$_S{OKK zUw*TD>)nS(fvbl%Q_eG)Wzfj46+r%gZ^!rI;zy>YYz}XW((eLYi>?cQdbciqelm~v z0CGYF-!*u;u5f<8CS8oUGv1wPyxMS~IWrefar(C=$?qQu zdmS(s&!xgjfu1Yvf?D7@qjIg?Ee>~c+J~9`ymsu<&_`VbFnp&{V<%DJtUydP_~XmY zA8bLqDc7gafLI0Q$iyuxHW23#+OU?9!VK{SbTe}|%tp*BjW}GfS6vLJhO1MIM!-C( zPAAC6$Z<;hOLjJN1y$=#CXe-G{W3^lPMIeT`KcH!Ghejf=o`}DTz|6GH@ZK%m}PHh zC;rt8&tD&u#j7VbHmY1T$;=N0=DP>>8z}DlC9MC`s@yj@6%Xaws<`xW{%>5ATm8NO zfRo;*V?Lh)f94Z&Km41KQ2F|qZo<;fTO5v# zRYe|NqT=G}VkuINKmCOq`HY@Fzh!u{VE76=XYjp8aT1`JHZ_)=dt%r{0HDyy9V6M< zt|v1$%NH)3f~B>euJvrA+?rOe$!M1<#ea1v;-_sLj@-|oCT$JBxT*$7BiKb(25!Ov zOr?Zi507P~vDTB3?#obgMjXbw!rvSu8=rW+N5J$;X5!)g;cbrBo67oKu%L?fT3=!! z_h8lWhZUNAcazKRCQw$6aB#-&i3Z$J)CqFlzWwq8v<7t-)$4;w4Sty>t)E$%Q+~Pa zK!;rrorGhk4F+V=N`JbD&ByrC-n;ZE8He3#IWf`5XOeKidpvu^OHn@-RVJFOvO?!j zK|3{q`3GN!+6v3s>}=wefHum49^-juDgYI_ejG|#m&u7?d%U>>D@VB4)`6a@f}CE-mOL8(yDV8kW1a!9Jv#TAEuQ(7VI!& zSv%NYJ6d64fCD@OY-4Y2In=D0KK}*M_Grf{+lY4oV7bUN24@!*D^Gs!RBQCPGL%SM z(@An7IxAF#i#^X=5aGi~9|KU|_J|6j9&YI~Z6+G85~egLd%x?+Q7u3^#r3i9sp6!u zh*&wIIuqafNwa`#JO_G!Svfd2l&8{2*IDd2sziA*8!|~MZ|qgNwM3TNyLlMNk7( zO$_L>964?Dj_eFe)X!gC0>)|l`#Vvr3$TJX^WemUbiL=aVzD)v8&Gt-S>!7zE0aSp zaL6{f0t8A~&ncHKjXI}ZcEA+}VFQRQzYuduJ$@%49=9d$4wi1H%aT54PAqbq@fWdU zed+Eidg%__HDc%2n(fGvzpoFLty~<`?EFr^0p+TRv%$3dM|Ey)EBqd zJqDhMu4ecEE-{ZB8$*pbg-xc*ck1p@ueIwKYaay~_!mpY=r6HpCh0Gk&(VN%evSuV zXvuK}T;DosO7ZHCT$!uF;N9y%k3;l#1btwXsj$y6uJ_$@($h@~E!*w&vpB6m6?S%; z<4~_TvhY+sGr=;n15!C>?8aK7E8Cw^Xe{F7o7)w1tOr8M=}!9xnCC|pd7QHR0g?Gb zo9+pnH{$eL7%70^w58%90D$IhG0-hLA~PDDC>6`>f9}EIvT4~-TH+8>xOs@OZ=5(Z ze_QV6-G8uvHqyX!ze`=AXZ9DjeaRojJnq4Jk)u*)Ev9Y=va;e=rE}dE-0aaEF_WFr z3)WlaNALZ}ICJpsddh~Fzfa!i5aV7#*?@5a?M32QHjL9^a7UK$_U}RDr|xio4nn({ z?3i=D{RLAKxt`m@5+}ipc^2s&QUk`g5_}s+X5>_pnfCw?rqP<2H-rQxgwo5Q9zk(e zQt&Y91Mvhk{VUFNMB!d!$3YDj^KZ(d|E#G$Yb%jB-<0>_Ke#o(PrP_)I!klc8dTR- z{gU~AfVJ_9XB+}v2^}Z}8Up_2e+H#j$(*QOn!bLf@}`ZdPgZfdA_m}U>~D-Q0kVT9 zIywwLuhRhWfwomB;DRG@PvINl4||ctB{z04H+?ZzW$gXI9dYjhyoVq!%-?Ycbopur z^BHo(9diQ)HvAytLcuiQe%W*PnZ^UdNB9*VWYCGWxQYGAkM}M~2*9pm;-~BaviL9| zkP&9@wrcdSt%zct?25h037-~AUkvAX5z<%*oELMCNAr%WW0-XoGZ*BGzHAi#PvLs8 zrK^M8nT;IIQ+xTc8`zo9a~Cq7k^}8Eha=k!3R6VjMn<6n#K}}B_R~EeMA22wnT^It zBh|wAI_{iJ`_>|cyNcP7Y5g=QtFOv;sG$_rpB`(T73u~Rseg!G>>T4@UynEAo&iwr z?jVS*f@|oZlIDRj(&ygs_9RQ{@v5Kv@-lqx7Z6Kb1E|~+0^nv*dRoM}MH{`zSQ41H z^7t^=emZ35R5g&#tNXUEc13SVohX1mRnsR_`o=4M#6VTz|2 z9Zl+ov5eWUn7%4^)b*ON&vk;99L8Fccb^mYy+hLSvREggc7BH7Z~Lj<-4PrB5**81 zkH`YVSUNy@zVv=OY$IULYWiGH;QaL;kjw?rWoQ^xFegm4or0t^&3QRu(zAZ%Crnk9 z?4mRt>c3H+tT)yb^xO**9Iy_lHs{601^bE|S@S5CV~IEF5zQR=r1Q9X#uFf>XXjo? zp0K<0mFIt>umxbJr{tGW%e>lt=B3-eR#~~<`Cs6hhPVQeE?}4tFhTyS`_~`m4h#kV zoO`bfi;Qgl(90|A&L)dly6yk5n*wY~V!(hGSi8VILEx+2V?xrvxGNG2#M@6V?B)|* ztc#gep24FirLI83Qgdo#<=LlBhaQtRH!oMo_m%kdZ{D3BlZ_3R`gxBxA%CaS^&^u= zkd*97_{JDOvM{u?x*}|^JL=Y+8tm9*sw9?24V`8+;+GpoRG0ZUcoAOnG#d^_k(Ak; zJ|FJ9V#1Y&v!7 zshsz=>{;E4pg=$KYr?TPsqPx}ZDws21&3|S_ob~1Lxqn3n1vfOu^0d-p-Wu4S882- z-@1x>Yq%>t{}5a4vtN>;Q+`R^(E|HG6tx0KU8qQqS7z6{Y#rc%@0=ZDX>TDxlBe zJD@GrQp&x;e591%p*_La&hO{DCRe^hMe`+tA{3AvhvPzc*o_Yj&);-t3F2pL4Mjsp zT_k_B{Hp!I+D`+o0ndnqZ2N!?M3~#;%5h$FJMVFS}gsBC>hJm~8}w2oGl zid$OOol|sSC^tT1D*wwBjPtdpnk~5`S?KGf#Ml2a zh?{pmaWrjv7yaPuIR^H3@x1DGtG~Z}VsU-kCI?uee9(jdvMPSOoxaifr5h4W>4C!e z!*vbm!NU1iO-n(6weQcfwZjB?1tv6=<`aTBFSZ<++~GOXV47HRxRw0+V6y$5Wy9FO zQ%tBoetvAOpU~_GaCLxau&EMw^{6stA|iI2k!>#WU`0pafutI|&P!_Dx7OsO0@q6z zO2(xa=d!sSkFo!&*K6~M3PAFZ4@e;`P$*$vpQ(ZNvL=4Qcpg@lR38DbSNx$y5!~!k zUv(uau8nyvA{5%kMT7LD1xkvI<1U8=Vx}c*XT4q|COxpb z_qeNr!=SibMUS?k{^fV6L$D%wwIVy9 zB|Vbo=NM7>6nq>azS$o#j?7{fbC-j90-)_w{amTDy=itngp>UehM(a(PI;&9SDH;tTV;cbP2dENy`)h9iEHwj0vt z7vgnbs`S_eF8NPxAIMh9Y z$gMNx8hreOv0~G=b#;oqnxzLhsA@Whkg#y?jWGqGFe&Kd8*Ftk-?_=^=GIUv=AK+-Bzf@nSrtomXbs@AglveOGg!PZH1w;S_)2c=XQq7JQ$&}3- z4I9UAJ7#kRj@bE*nF-XDtQ=8Lj;lEa6mbajcoW+H3I*64d`nEKfF5!u5=V3+hIqgq zWaki4tw==r-csvbR9>{PVu6_6vGt7^llscmL-)0V$=Zg#qMwS-`gWzC0Ve#<{uyJ( zN$2!m`UH@MvRqiC5gG+_8-@E#JN`Q+@}=gfU5p!BYTjQbpD{}CECHi5g3E6tK4e<@ z1V`Kf{Aa?`MKDFi;x7P?&CQv{kZhpc@+rZk?K;%Yuco3+9FfD!3Vr>**pd0o?- znI-8*Vp2@Ck55VU($QeR{-Rk0eO(RKApCXUm+P@bdXM=aKd={mZG}aTeUiaj>|gAm zt;^<4t0$vD^p8t+o6_w@BA*;a)L`E$4t;YLMGHNj`y-CKoA*bC6QSe_bmGVLUbdC(nJ}D2%Tq|<)VYFCG{dhspa+t0H*mHbQ~`ps zOOL`E=$#S+;Vogi)Tc^-itX_v&*e}^2h~P5GD$Ih*G{w1MKP%5!BeHMBV%zjw~yo{ zb2oIwu?j|aQ3yYhj9@A7tkUTzYQv?t^%Ii;%N6Vgs0H@*!L%*BX@ECC8=>Bx+dmb~ z-x0$Me{v`zQ)f1HNpWfLeNbo&o{y~B3a*L8llFLyk$!T6$5^t38g=Hjd0#!mF|PGq zbsOu3c4U1aoSqWC!KiIhJj4!*1Zc%!QB3OpIyGE5EKNUB$x4Mme-#H)E9ri1N`ZNp2cJUcwIgcglzpWd}@n^pdHj@#4PhI3S9-SuP|eaQ@UnN~o>#WU>`9Z!b|xs^eafcy2`CnTxzN ztwRrc7W&qqNpX+ypnO_8UVLSYC1mC#k7l~RfN#ipV|X}Z(LrfqyqVvA7uOh919R4@ zrVUio|7m|mjzqHYt+#bO0^ooQH8a_?fStTS7p~5bC00PJ&w&kke*0b$?eQLxq{_&4 z-tT=waLX4fi^{QkpBP*|$E{mNS=9)*VdJzZ)EkQ?}_&Wr3D&&8pD z>JbCWJa{>jkdogi9m8!b?b{fg#igKT{fuj*H6 zEtzk9H+znX8EG!3gg>}0@Qmc+glk z-A*6l@lRIfo)0-4pdVOSS7p92Pw7E!EhP{q53kCsj|L4wby*_3Gix-#AjZ*JY8Lzf(_$UVe4r%*_+8t@tE<7tytQ zKR9vf-=AE$d}CVZu-)3cDe6sIkZ@qP)#@q6+picOH6L!FY@BlS{dcu;&3FVFyUNUw zefkDsW@$W}oR_G(R$+<1vvRYTbNVI*CdA)K5u(h5B>-JM zT~rv6>i0`jm|B!!m%d@dU?0M3jY}<(UWfOu7!`4(kZ1!8E3CSz!P5)K8YwHfY0hD(HUg#-li6& zadKvN(RnfiIn&HtfBfF`Ve{d)Z!t%wg_Fm5@Qn&D`^C>49q%9n)Vhxm-CO?iMOZLA zxLwO*r9-VZv$69!@pFgrgeo~2-~#LzDUJA1Qsf{lGrKv?M$hvxgO5<#SKH4mnBqwF z)#&vI^nQjd1-$LM?}RPo=WUDO+3%;Xyzq2Ab-Wun-t{s}#r3Va7iNV7E;sbk&%8j3_OA*~rS#WhCb{q*n`MY4?tO@?v4l}*BCghQ zDRS!U!ugHrt_a<;QAQgvYDRZh zk;hAP)NIBZW;M3K!7W2nRhlg=U@7s{T}w{CjccZ)HbTvlzs`;o~JUaF+U-#dIUID7g+Q^&2qHAO~k!JVonum9fWTYOEwZb`VEI&yaz zK0op2qm$?F|7XkZ@HY`dUN<#0y%M!XOFwgbGH7+9P}tb~$^ zUv!CZSMhfwYnqn6aO;;d6Y#8hAr$UbkVwA#^0(cB>yVCKfkmkRlsaE~lNCMGf}(l(dVJkc^=m=m5G%U3FJx%Tf44~OGLeu!MvLR3e4N(Sv+6DT z+8G&q=&4GJf?B5Og_|UJ$heZzqQPlS&CC4Kx%uNu0VcaYm5@_n z%7XrJ&W%&3iP?g#8IXx1jiV1)#EmMOQ=BX-?PLN|PGL5JlrZr?JW4g841fYIv4D8g ze6!!{nU4^N1zLLUKR`0d)jkClF(qn#X|5D3#@3m#OjMfa^Y+Oh)zRYlh(j>(U9+%( zpTh~(dnYL{Yiogq^)Oqz^7XWv#S{%HyA#C{nzPcFKTD$HUi;8=M9Ja$SbeX%#O0(f$ zMm6@pw(I6{N6mjt-8V&Be0b0Y-Ak(~WOC7hNfYs#+rdiE6ut0HNA$k?R^nLbZ|Rd1 zoE`*`G}xC^m)RFKX(?xvRpAZ&pr-j$)>yh$(RJ&fFcZ;;djh+L0=wyxfmkKcSjJc# z*l%6o854Fik4@vB@Nap*>YByUE|YfeXg(LezwraIn^W2!R$8X)3caE9``r|JiiU5I znW-A_#VNp)5#^wU1Qx$7{#}UF6p8oV@m9^s)#FwBC^nAwP~X+#d}vB%AEdQIhxCih zAkS@tU1=@W9ruw;8eVLd4D^4ktJ}DDSTS`L!!CQ$=uZUv?Rv(I<{Yof!L{)BPWgLV zEa=$SGz2seDTyZ{82+_UR*g^X!0v?Rose&OaOU^xyC#0i=aoeo4nI6Bcu}b@SOxge zPR_SQfdJNx?dOv9G_U$#f}6W^GvbBNS%+5BM9sF1M9o}@>!6|+LSKUJHS%NJFWGyf z-L0lLqN}#C7D(^Vv}m#h9_wNkFZ+$AY6WbFYpe`G&4t$xlw5RonqB@WT2fJ8F$IjN zN)pjV4dmR#6%G7EtB;me=vm7OnDZg2P|+{WBr)ssnrk9554@|^HZakGL+fU&#lbmq zKQ0pVk!ST5+ois2P}gS6H;*DbNe`~20FP-hnZv^_&7zVV%~1HTm!wK4<=FgzDeD@H zi4}L}GLu~&yQ^01WaR!EkJpJ6Fdx{|*Z|v&ymc+l@W+rEc1hPWCEe{wW_3C0R%%Y#< zEp5?{iKFxz=3UtR2KB6%t6n1x_9CkTz=ZVeMJyLLH4rUuX)*ZAH03E(=D4l{GO&JG|ln?srBHzQjhtK3I*dIE#b#3YyPSrYVQM zpt<#H-oA!qrF7_35QLU$XP+kp8a^873Q1`hbZfLl=q*y6?%>twj~Y0A_8!;SU!PB1 zqcKJ$EXbwSS=qv2*ZXT)=b7@^cRI@^zFR-AV!;zmC%$AkM0y3r39j-S#xvb`A7KD;qRn}(}Hcek@g4IJfW0_{WQS>P__9u?uB%1(X+c^MWF*hmvRZJ|Ilr+-2Vhq0SKA*rp#_coo zxCFmIW{_crW{1KyXwIFjc^A^iTdoaj`(H{rFfN>D$^90x9jLJ02_xwV$!Ty=ootCl zKUje@ehVjDaE-nplfAg}v74vEp?Kv(^GXzdAUBXGS#-BT2M5=i{SYhH&`9g!jmq+g zLa)y_X9k93GK68i-};zxMJLd*7C6>$g=!deu_GNn7w`4I`3Je^(rkbG zM!mJnYsL&4hSxXrGMwldw|leI%93z3Dy8FU_=TGtzx9TxPC0n>!{!dTGS%+U12le5 zKCSJqmvavT#%Wgm!5e!i*iS}Ar3~ny1w=`o?~qVs5l^XdEh>gEf(BWZH@>2`Vml|_ zbnEgg>axVk4uV8#OcLLpDuj`*sr*k$5-oR_&s7QyuIC43)xWwp>clTu*Yz}Vcq z=)3(O(3X?2nVysL4XeET8F7`CZ@_t)`K&&a>=QEknr`!31ouU~$_%A|(rLg|lsNmA z>3#Y<1&_vF7csFh$kVRSFObf2Iu=T*1O<<1o=ytZh{retVF_MQ{6ZpDRfAhrs9&X4 zUU2GMCJaYq&2+%4LJ`!%K6f3xoSG|~aha2ZZ&A98EV0X_7Nb5UY2!ZB7CLP`v!iuG zXD61HNq{pfoHB`_5sS7RDjnU8YNk@!i5c#F6>%0v9Q8nCAKg3{CS|PffIFs$ahrnQ zMh|i?gb2()VjA&ptT9<5I{Zhnilq)i!Di-F-r=R*O1GX~zlZ(Fs*+olL5*z1q!S$X zw)(2$Hxb_p_YTMCJf(Ebj0~;(1?OM5i0ibg;lGJkhlBM-nOJV@;WUaPRRyp?maP|} zhtB1hC|PKiIn-a236W_2hZn$6k}q%)zdM$V`(-XJr?Y!K`!_l!eE$GRM`Phn!Urq_ zwbtpXhE2Ho_r9T2`CTN|OhhwOdThz-qF3O=WHh(?3K=q1eXl};#G+DTv~nb*Bi02f zi`7Dmr7ba|1x5(&Ue_tT15?7LMj<8j+^^LRhS!L|tJ z)VQ8fGRjdzJXAsUxNLQG`MI}}M-vjn;n28V6x9tw5Ld@^h>=Ue^X-^?L!-t@g=X*) z$f4a}!I`KU3-G0mimnOMW0@Wtlv-QX3%>O;O}muGJDM2iX^m)#C6FlP15?HU{$`XR5#XnBzrI<-|{jmha^4C)6`2m z-VPVQ$dxK|8_CsT`^;-XU2=0|<(4tC2j4)M@Zv9qD+d(k?==;w)btbS|K0~)Ugxc5 zXD>JGUyV4acJtzY^7~cmQ@lrG&uFI>e%<;f<-c!m>X4|o4mLrsA}jqVrW7=mA^l1_DzDe-kYO=m=%ml_jSk9+;4Z> zTH-UE>btFD5f434HFl}SnadWw=Szesl~titw&6nV zI`YG{qvWe^8%wECq9Z?7ro2~>MJAYGlPuS;B@A22;YgWU5nmh}8ydNGI56}P3hCw} z#uW8eQo-_AfAnI&tuh>a15A*3&oG2MLAl+A9{Ds@|R8R_bC3giAU^^5yvR$4vDZP`iv{)*tO3 z+v7`9z-oPELDTBe8rJp-6qLD60Ry^JG3gzo#$f*bVbkvnQg~M!wvyN8|KxZq z9+a&_-=@o}-lsUZ|HRYIJG0o1_X16`42(_^5^rC#UFxy185x_M{i*|3otCcff6E|y zo*@6t$Xj~JsVDWhlm?GxY$-Y3z9y9ChA7~*Dc3jnRVpcqGJbm zZD{OTq+J9y_)7-0sRZHURT6UzO)(a!FhyG0V$sKCM6xgx9Ae@9o_df+ugx;ZJ(wWG z5nYi%#g?x=pse+>PK=cv`^vvBvkJ@On%~LY!*f^dAf;k;*LgKqvRm>s=UO**y-#_WBQfu9dyAz_U+@*v}St!n56v#<0?M z)G^dS>;y_K-8ndI?{%iqPON(+Ef#upGNz-9YAHz*8qhLuTYakXh;!!DDp57irK z?dWSP%CX~jIN^-yAqI|igH{BTd%2Z-TW!HBYqg!m%VqIXaa)!Z?AuH&wMd5U0rj?(?R&Tgsr(Bz`UHp>yXp{}j}1s)1Fyw&f%5A0{-clvvE% zTUfuUnxP!qsTi;jh902wxnScMYnSYXC<7};5ZYrXZ5S;~P%VW9=ngAT$A_$L_&auP ze1KYe-cmS+$9QyHI`_{SsLOnPFZXAlj@U^eN#XICw>c3S_x`Wbb7We``RqpJJN*R+67WfEb2xY+Xz*@I8~y zcMK2cjF*8*)@{}wFY5|s}S0p;A8>!7r ze?Lap({po?aM^t`u+7KD`3iG$CHsR_gMex_gZ+rukp{8UkcgTphyZE8AhREZH`21! zo3UZR*qzZM;}#b-mn&2#193Ih=)hxH6>8Y2$`xWn|fWlzxnI=U7LtUfAruGSr-n89HhER{w z)KJLFaG#^B->*pp9wtZi7a3ol7;|ls_za9)$=$2+OIRWW1il5yhEemzs2KQ>2W4@{ zD!n+#kjJ88_wg6=NgWZYZaB)24DsF0Y&OX-0Q72hst%97TM zE0BY}vvl`fYpC}i%qsTjMQnhV@4xj$_Vs7zIz+^wIZByqIdSsnqfO(8-k)tB{oFU@ z0<1a+;i^&^O(*|uLcFHfS<$g2d7D&f{PTuy{+>9KYJ-_ri5U31i*X-$*(Uw+@3$HI z^nogxw*%Fg8^jv|9o#O`+tHUbHM3fM$hbc{OE1pN7JLt?a7o1#%GD%Csli@?}v*-L|!V*BkTAMY7xkm>Z=KI3h4O z50Ocppg(qvI%oXlLRQ?^{>2$qtE+{b)i)8_7db=c!pAS1VMJ}u$7=}LKJb{kCV$XE zU%_%7_)Qz{L-A$th`BalS#D*qFCi&QfG>e|%}~JMcdq>wCd$}(gv%#ccpHEWikB=uD!%934V-^n(ZWGSMOPW z31N^WL&Vs|_TEFI`YzA&d*0=r_w#&wYR)-xpL4GJy03k?r_VlXdb%(HVQ1X`O>(94 z)LI~}wa6~sGH$8LN38tjQV>T_!a#*@zs>4MxpYWMZB3Yz&jb7NwzOBG+#w=mw@%L< ze1%nD*+NHxUs=Bd;=moj8rO149nW(2KmNQf391@5J)$28g#YZ{fFlNJUg& zi2dl4Qy^rK$z*cVo(jVFBRK^;#5+n0yNWHckPm3Zr)nX`&wHXd`9t&#R8Z9eR6~$uIc2EyaLKG zBkNTK&$wxy&1c0klrg=CB}22-&offHj7C1qpc<#{dFk|(bw)0m5=_cH4|3b+GSP7N zAUjMwcijfBCatgLJ$2$26RMmB^gA=W0ErZzd0PW|F)w~HEXCaTCerV#CTCJ-Xy0P1 zXy)%T@=Xe7F_W*5w6MF+tTx!X+h#r7$DshnfnXB;eviIxh)$$`AKdLDRk3JX{qvDe zwjt8>mm@wxThz`%X6QuTtMfX|2605z#&_%F%6??e)3Y9YGsfL_mE~=6<3V3xkO++9!RLEBA`vpdq%pRYYXFLQcs7671iLy zS~F!;%8vNqXpE#_C}l)=R`u+jJyokal$*wz@RFBN1`{b-!nw1mI9Zq}MsO#&ptQ-1 zdF_|r))7v%vw&^_<{M$l4^|pEjLOXH2G>SK0i|F~H(WTu`K;*QGo`YpcCBfx zXOpp?%l}|Bb0i4#xm~^Yy7H=mk< zP|z5Aey^83m)G+~uB*jocJV_=ldQFGx(;@XPGtA0h40K~8@WC=0%7Q0k**G`P{d$` z1{X8Z8u3wZ-fylv)(D_8>{PExm8qvD1MFAsu#F0_SZ_K$bBx5+g<&_VXH)g-zS9Pp zk^c>rkT!Q0~8g-vP zUCF*`K3F7%)za*Dm5N8XQ*j&fJdp?HxixC} zgol{VU8{KQN&m13u^Jv@5pqRuW9^aJ1Govk>-*f2QV& zopU_3ONV$dED#ymZ5glRLlp2Z0q>t#YIaEawdsSKwWo@(<*+h=-Rqo%91haoBB!~0 z0rTxXkqpHT?Q`;Cb)79f)xW%(Ps2w{dik0GMzxl2l5b{+65buqm>L`SI%qZf#$kLR zhih0F_G4&kdr{W3PxpG~fZI1Qk6H!k9*~ZGe5iG-644F$OboRHzO*tX)Fn+Z_$%~o zY}`vc_0_I9=VDBM>t^y3;XCf zzUp;8UZD@OEE4k_c)P$T<$7mh^&nlIzes{(#(;aEMLagjS@hWA?2$3EN25c3Ip%p^ z=Sf0?s43)=W*svSk#z}ss3D}7*^NEAF${7D=A)jQrLvxmNAZPM`C{tn5VOt<%W`H*=h#jq zE}A)%S6{E`?exGZZaTbOUx)Zq8(a2dwa9)Rn0sx$6)DS8Sf%w@=&3A}-f(|}T%0@M zv9k8ob+cu{9_fqT>pPJeCDbbvHonmLeYMK_yX%yTNCjh=&}V^vdZ{0N+P`ExeR6%e zf4sFg(s=IbU`dQvuitm){Ppn0iB{v{gnIEA0sqzT)>c%~BQwSU_FVCqixbu&W9(j4 z8RpB&M^b*~IQ>AOLmo|wvof!00MoWK68(e1`=~JQ_IFV+Wq_V; z0-qw6JVv>;3U`ttkv36ggd#GW(z{+JIV8OL<$_6%w`JV*_3%Kwv7!6UqK&@(v$`Oy z**{-zb~Wo9ds#`k{z8@rT-Cku5e(&cN*cSqbIel5+$vrLdz z=qkbamf%nCjyX*rV2xcX3b`)+K31bHT=X;}VZsWD=VQVZM=(h5rrPF}Mj5A#M0zkt5=3b!QcCdGM4BOsGSX)$bD zv-b`MlG@V!OE%4pGO?l6PBh7i_X~=Y4h#(9;HIF)U-W9H^yVyw6;jFEx#?`^YzQjZps6MX zPy=W>M|a?1&Th)?z^^q6yt```&!9oi&vy67H?Y|5QA`)O&-uwZF-BD_C5L^6s5jeuRnX$q>@q>jr`-; zFqU7&;W8}xkD98wo=j~o?W1fo@G9r5xlC>Fyp}W1wnx)OT#Z(JcFB3xS?cKaXjP}r zFXX`^10!E)KHnaFbL7gX=5uXs-}t+KY>#HgZOe{k1iX6? zh@T3D1#TITaRjTp14f$ou+?zioV;G zSA@cenTpGM&rJ)FlI_w2&h8LEX=F6aN;Ih^pE&?E(#Q}60o6!_Ne`WZ+fka@gA@~5 ztl_KCzmIbdf(`S&;v>lkpgT`cD8P?b6_0C((a`=NI`pkQp^9U**FOzyzu}(zn*(&X zq)#UiOtBK>x5`};u}Qng8J(EO-FSC@=4d0A-9Cb1ejc5S!SQk-k{XGbKyOA)eIuxz z$Rme-@Z8xR-C- z+T?mi4-?)k@^2;Rp9i$F(~L+0^NN|oeLUv?EAe>gbFyw7jEmZ8uW66bHA9?+yo*x*WNvXI)lMv*# zjY@0e>F-Qy^n$xYu|&$#KWCD!!trz@!UnHdw+k_QZYJY<>227~*b;wPh{$Ee&u{~- zwN+56xLm=kK#284mdLxR=r{?py*smlsi)YIs--bx{2@w}EWkXhJQgrQ3hb-<$r6i2q+HqR}jC9?*BV z$93~7byeIEM0OF&8Zlw43j-=Iw$oWOWTXZ=V%Ib&6I=b=tiP!)c){$!^h>9kK+rQDz|@8)57ekFzH;F~(HMnNLTH8u=;SFNp6>-N*2~>Z4huLW zC_gfwR`0_qpC3ibbR7P|^rRpU6{{&Z)brNWGZt+_-m^o_6-P7f;B;(gMJevQoPFpc z!Z)Ki`(Ay&QoV0xFqPO+l+$f(c3@9wKSi%siBOBQRH;$z7VDnh)22X1#zc1R^hs@1 zmE9*bNG^FYW`DFM-nA7i3P1*J8tEtgGc% z%SD~R!dyg-B)pH)pg2?9ArPR>V^dF#2iWnP8y&`Rxx!A}}Ftn0kEi z$gRUaU!1zj?ZXCu=E(J%&Ll?_LkW41(KQ(}(l%Gg8@V!Jz2rI=kic0*gJ?g=uMD3^ zyD#-{h8`(_Pz}!$<7!FTOAr;`Kw|EZ6GWBamUlUmp|8%^Jq(GAlaV;S94l#-Chyzy zKIMK@T{bh<=#cp##=GcYRrv58^VV%eN;zlj((FZ*dy8WS~# zagrY+j6wxczZG*p*YA3t=Y14EE}j#eED>r{OKKEgX$Yi)N{%N@CmGDqsj0A4{1u(@ez-%%*UriA?4Q}4@A?wGx@(0?($$MY-S%c6Wwv9BJ2hYJ{p zEYZ~e)s;>?Ne)Yp{*NxJ)PZg zMlZL`MFz=bA1F^ULzrUSfPSw2dpH| zgRJ-=(J~00?mI^ruoW^oz*oobw7*j95XayWU5%byWW69hbiS&NK(ffH% zD#796n6t5Bzi~y&2E&FW!`|4+xyR?s9UV$?32hFuVz%|@wSx%~$B7rZQu?vxUH4Ec zYO>bX20l9(<|w}f3Z9R0KE|!RzU<9VseXt@V5FWh^_a-lr}w>FtKEwjr>Wtug6W%# z+t2aOj|JmwczSb2Rwm>nkI(C*NsX4rjkwa9XIIO)AYeWCm@znQ4~psoXU0~7*o!nG+1N?B>q4=OW8bDBQ2Ht ztn+N0`?wwV)+%`4Caa@B3XYM zS9p{sDIdR_4W@u!GCk?@q1ifi7&t{utWS*2albGfVxU4ieRp&5_E^R`72cHG|GU%f zM+D-4_Oh>|ULsc>N|$fNJbI3yXKjX+B?WEfVR0ov=`TgK?7R;;gI7s!ziMcF-^Fuy zrkzK6;79(CFDx2;jEoS7?|q3~yAz`IvV%s#)b!EV1(8;t{8RuQ(VuKIA`jMK0dAe< zlcoCiLJ~niab_Qn-3EY`rJzH!buj}$Yab||N%{@Pu1zxScoTR5;*yVh!DG@a)3$jK zC4AtX-{FT{eF_g#+`H%z4{}(wJUzEk0x2QfAU#a%96{kIc-&qwVnhfkm0Rbltlmd%tQ;pZ_JbzaPNhF|22LehUE6N03kKkVC=fJ8WSE zJd!I1{U(%r&=>J)>lm`60CL37Rsbi3Yn)h6>=>|m3XNX4XBt4sO@VSUp4~U_A0$L9 zLaWiqLW`#>M4hEHZgEmD#h#^@q60(*%uSP<)3=5#uajhx8z1TloYi7l&EC($PLI>C zhiA`w^1!N;#K7Yqn3~Js1`q?1ClpJRe|v;km&GtU!BkMVy*r*wvX9%vg1NG(_`6?^ zQ*eH~TOdY~_`ISpNN26CQiDNm15Bz$j55b#5 zg$nLTd&bI~7WdS>#s?A(&Y_mGFY8YYU`>aanrm;<^ew%1yG}PqN=N?4O8&bK(6b{0 zkB3?(2f@^EAE5fvSqn=Ci`Jj0n7_%fTus?d#1PppJQf)2s<`{jR-{-!cmx|C8A_cG zEwlAK3u=ufcj^PMnkt4TfQqJ8sH*TfGRO z!gYO4@I5kY>~}!Zr_(K=aA2SpKdDB+E%74;8$}D^4^b`D=A_=eWJ3z`b-wd{J}WXj zI@QHT0!RDoCpZS#C*NCMnR~z~Chul=S{XXQXLAxp^lbha3aJy`oU$}i{-HrFyX3Ka zJb$`t!cHOEa0%XM#8AoA@L0gD=bU*QhVuG0g^50geDX>HL}#Cr=*h@MitcDKA12JE z%UitkRV%*ixVR_rCEFgDCm%b6+Ztnosehg9T=&YCzFfaiWzkQ|5-qga#9~YQ4uD`)nFFv{Cc=4@n_G zyL^?TAqiWb>aQBcKdIM&=#D#B^~}aHn<)Q~EVmD0zR^g#uaD&!xSMm@ERU9Vf9a3& zZ8$dfEtDrX22BoQmqGK7m~6DWQ$XoTMg6O)=@n!sPl}4;vGh$8H1iztO$Qj9Mg1FY z_%tmyyTO``L4?TjEW{EO_@X^%MJ@3Y1qX2uCQzISBCZT=K?^z&pK`vPiDo`VK0i(- zwh}~=X7AC0r(J$VN4!QQJSO4^vU1mXX)U`{y$?szzzalp)&qj{8Y;3y2#KfJueN(P zb^09N;lkuFBK?G^vny|vhN4>bqpf(c5F16oQpbU!#QDg_N53xLqV+{zT33+=R6sGI z#9CsUOzFnEbp-!;iv~p)dA3<#j%?TsdQ3bd{G_(TOpIa556jkNv>C7fL-vs(3>g@nfc{<1Ou{ojCP3 z8|(UYj>gQ;R+@A_CLEL-z}}bdL9c<1$k_x>Q?SMKPG8iY(;5FZrF?va+n33RGvpt# z&u7r4y`@#hkj<&b@#SYVZIKQo>$ulS)H{~c`8_B`Kqu!^TO3F>2eD-~Fn&Ud@ve)? z%DaX1977-HUL_t9JDer^nUo}{{QxCm9@8fX{W+*HtYXG$0eMb-&11D@!*hooG53i9 zy!#nJCqYDt=VZW1V&p9IU@|oDQkK1>))R%b`boMu22c^TlLci8P@-WmvHI-_`0}E1 zvbM0I30&?=>EmmoKKBeFm?-*{1MU;+4#CZ5lz{EdA5eRgbe|gpC7R+Mui9=0SFyK{ zTOw2vuAj%%x*FJ#SbQhwv1LZ0nSVS9oHgthwV%csKS1JEne-mmWXV2o*SGhSFYd8P zD*REzQ5#LhHDgDtKA4)Xo*-c)R)%5)YBA^BcD6%RszVAF&!*MQxbf!k;mfu)Y`tM` z-V6HfzikFhG7}b~OFEnSDN-S+7nEG0b_nCP8r-5Nu3)W?pqh;7gy zX6p^nW$najowhhklf=iaBDu_}x%WfW^-vW}284=su*>XTGfnM44d&>S&$s6H_PS^0 zZw90cQ6L!FZc#5o=ovU>twRq&l z4K&7yJSo`f6s0dkaBvvosMbF2vO$Cs)(i11mHDW^{8(xGVdHLR-#vEQ6&qWsP5~G+ z5eizxKa!uEJmg(45sH!Zs)%9{ai2ky|6x6^im%<{2Zh$|eYqUHg!yt?XiHB0gS2CL zayxKE4F;oz-Ub5g;$C{cbws)%Ayl#aW}cvdt@;(gWHK@Gb@;2tkePWb~Auh1tie|<;1h6-Du zgIQj{i`v_-+_=f`8rQ zP%Z~@cY&t*O4&19jrWAOee>fep^n1Y^a3A|Lo=qcK-&WukD>C$`hGp|#>AZ`>*$Or z_Eh{=PS{=={5@wS=>Oy+}_H?xiQsC&2sq!y4htlr!qalH8M{$ zr9ugHQ;G1J7xXr(_Pu+npa=>zOt9P8Y#6Sy+nnH+EiG#=P*&$TSBZrQld5%t?T#c z!Qd5ygOuAsv;`6&hs(9L?Mm2#2;8kltY6;l?fW|rwwhpn74}~l83`ZJG`OJeAW!`3 z7r#cB|5i=x)nKIK$dT#Ve6Y*MIf;GrQkcEUn@^9HCi~Qd2SYe1c+>-iwvqr!B1Cc# zNivKe8I7n^sO_Bgz6I-tt$9h2MTt%9O~xJ%^%}yiN_(yo5}aKsFsQxVD1L0k=-*@V zFVi4G+n&O`{I)f`a+RB$;PzJ(Jlm8xuP3)Gy*gVJqdToOc%$CtRgGqv-`%;It9(1T zgHKE*$IMRwNp61g{@tA<%Rxx*I#Whwl1q+Y&Bfx#b$rstuIv*HAEG;FTk7;cs{vuK z2GlEX1~ZmK63SVOf*CQWF!bM|?H}RMlo9&+BB>N88lN60o@)00+q-vD;A!kkpL~p5rWI5U|ilGg4-w!{G zsVRxmQPeAHz4;ct9QXYi=eXu^85v4fWhf|!faFripi!&a==KAI>voW)wi($Jz8cGq zCAj|;jsI9^7H7ctv5TSQxqSJRLFanGrAxW>F8$ueza*1X(}X!uS&c-srfg|2rAp?B zzL8EEMD>Z~LVtbuH>pC0o{gngxr{tr_m^KA0;>w+vX3+}U+3P>;)&+}w-$I;o;P;+ z6)s>t=^rIY$VO-NO}Uwk{0PK#P0qPD={A{CdXhuYzEjU9IS#x~ZCq-s%TMxsB~`SQ zvn1Rj3!w*nRjXQ*UKvhOU*8i zW}SI^Sx<&rL^A*Dvuib9+Ba;}&3h9IHh z+&4nt$c&wz^_p?)g6%WpXz^zS}XD@Z6|nlsaA(?W=INbD+LM#Ig9= z&|JB#KY3nf`IDG;WsesE9eNW^2V9&|*3!iYm&*k0Q=pPC9TM7#-*_y)q1N7`aLY#5 zQyB$){xX?oz2vtG6B8cr_?Vl{!5|_Mv0+Gg^fv6&PKYD|l->M4zaU}1bVh_~{nSxG z?_#9MG&XvEAb+s+0VUqXkongB#v9s6z7Ze_@xu&tlO)DQ7QUL#60g|MGASh|?Fz>$ zKRJVYwo;gQ{0hR++DBicFN9InzdRbp2vzjx-oG)&Gehj~4pdWOVxI-2g5)Q4lWD~9 zOiZ_^y#IWPgDc!pW}s_%yLViHmzE9>3K1!8zEpx*PVoKRY1g>7?i%{$jNal0|H1pU zdXWT+si@+^F|{vVKhZJ;X{-Nu|l&Q6ikw(2oq% zR%ajSI5t>6HFRUcDG4PRs1wZAp%z^+>zB-(@egjrKWWzA^nn|MrdAX0bS}f}3ni6| zQ-b9w5FaAOXWl&>Ao+v*kSsJ>tOk&*rW1yOB_b_U&^2Bw<9{Q<)$Lu zu<~sOEr541p-z;XE%UXRKX(|qu#0}2@`(o_9ob$=o#J_Iv8UScYJpSFW{^OP_G>Jg zi1G<&8I#;3v8@S99(kTpm|8^7@Vxx&DM9w*AwyI!Gd_^F#q#~r$)T{2Xymxjr^=R~ zCR0yTh;BV-yz&Hb_5TYeU$4OkNsH`d3n9iGR>#I1P9KC>8|XP#B#zD5i+#J=iXzpi zV^)Zs!OD0j$u*KqP|AxG*&Nb9w7~swi%W2~uBOqf3Tgb)+6N4s&Dp2zB24PR9PJ*7 zfv&NF(zq0k>n4_$4;g*`e|+iqx%|lL8{dM~pIFdy2ghVPSWa~Ajn#|3ty9MI^HR-! zc4lcEBK3pH1 z@+sFkFxtr+y+&B^l;PrOF0Jl?B1xPVfPM+eggidg*E&;4{n$<`0PVSlvzbO>#htBj zZscZV2%D+da!Ki#cpw2EHp%u+#SoxF4#Yyy=&sX@`s?M{+) zyqJ6<{pM!`qllL91UE%Egu?K2@UllE=S$}RR> zFK5g0XGXMM3PW6dC#MK%`-T6LNX@iMa#Ho&zYXA!2B>8?AC7KRd(?DwnR#`VFUA61 zfeQ;QZhG6z#*-o_l_{*nT|W6-@r-yEQdpn4a&VqJC_FSOz({t>C(TEeMAf_mXCX6yrR1=`S z9Rf~a|C7_GJR0#9Rd824@NNI9*Hl!XlvgTlH1tD}XoPS5sMMNH+Y*oSv3#N0wqtqT z_!p5KwPsxW{nEHC*91g$M8891T_S;at^fFL$5iE{LglZapIKe~&@jw&Ig;J=d8GY? z^|c#QJ`?R0$13;v^}xEW+_*fON=AzPpStlGDsibL=CD)6FNMoLOPGHiom|2xsiM7D zsdC3#I;zm6RsMn%8^!%oS|P^c0B>T9C0p-y^aOo&&WOa(qQsV(ty6Dtz^+^J6W<m&4j-VRn?5Ow46X=P;n`g$~2b2 zjPyLQdu2u4K%`;&B94#e{MEN(9W{}9bJT6U=^ZA<>lb}2< z--ojtk+_b|tX9S(*XUyxJg<)mV##QfX=>fk;1BC~-%kXn^%A&?;ui!O8L+C<`kBU{ z3Did4_#gNzHYb`43Witd21;9F3j75pp&7wrhLe9-n0LCjGv*78v1Y-_CkuSDxwnH+ zOrpU2;v&{Aa<%R=-zu^vMnl+8Lw=r7i;)WxBNb-c<#W~wwI3Q-8?_xRCIuP^NL=?k zM}>WoMvFnd_lyytrfjc<(o2{(#i^tu4RPhx;KXKno^8BOpqntL6iRVrnqbDJ-!8gW zGB$3N~MPmS*HFrh6+H74i$(pAnuO8lHW_D{nw6%p(F4>>wR8u}T?3(H*Fa^`3Zz zt7<(#fX4XgCi~-C7np>DUShq8f3z{Dbcs=ICxu&Te1at~;@`VxOzcDwG;~+!*j!g! zzkiuV*l*rwrm!FSMp!ORHd%H)z0?3KNg1KOz054mWv)Os(&&Ugxs-$$?ox5=Up2>x z_+4v#5d94k`Q?HJUFKuQTzwI+&!X8lmY0G?-19X1oaHQ2h?V7RsNk1oEFWWA6P8)8 z{z;WGcWPV}KghTRhJcJ)peo3?QA0t-tt&?UU1f6(I(&rVKe&rJ66EQ!`@GH@zFJ&T z+eFT&&kq*OvE7Xi;eJ_jaJ|M`G? zqNOx(l4u@QMSb8SEjANvAt50Bvd^bb5wprO18;9ZpM9~IjH9=N2>Uxmk*_*son^%NvE;_qs=lL+1Fa@fSQbPj4z;v0(OI(-ivf3r%Bn!My66)t@l{kaSC@<7-%Nd)2$3!4S?1HH zJ}Trb-_Gt*pg-9B9QL5%qTyKQV|O$4mHoDzMuqB+xuywUi!({aAQ?Fq0|k(L!7v;t zP>%Tu(MQroIckg)!Xm}TQgskrqZS_;v?CuyUL7^}Nl1F#7a5^nfHM+_d*eI0qz2M^ zIbWXSA{ahUikz`irf&+KWUQmhSI)F~57LmF?EyU(4Go$?Yxo}P(afH$HL3L+esllN zOTD#d^e~WIrH9=QD%&gnp6~Hqc~ERD?is2q@z1oQ_xxe(Uf=fzAL~`l$Cf(GwyKQ_ zdv2z__S;NbY*Q8%%To8vSw*C@kLAA9&;*43`Ozf!iRc1gxOEB?eG(a)b8Z^hv5}Ni ziTOg+M0RQ_lo20#s~&iQmcsnI>4h}=_r7>plTHgDk5&wt8eiK6R@`^rax>Hh*47gq z3G0@vc1Yq{77Z4~9v}5Kvz^s1VU~l4?4J^rH|6yd`iva`VK=ZR@JT2zJiI}*CulsI zy$Nb;IPf4sluT?lQ~-scTRlj1m9If>93za4iH#<5cj%vcvwv@)`_nLY%E)$;m8u1p zp8In9Rk-K+yVq;jkBj$}MRM0v($hF^uS~i}In2M2h;a9cTa5GWOskQqu{Ly;lX~FZ z+arvuy+y|LBa@4V1Esh)cw#)1grdxY_cmW1x*Ikr7PHiA^EhlFR!6Y0?!#zK0-{HD zMsay6$Z@^uo0>@Zii&uQ@aDINk~m@dN^Cd#ANnO{cKB58><@hkFNANPSbkl<-f*IN&c{A!JP8PD>)~CvaZ=Izt&xDM3|LZ>K|NO z9<|@dO+-rHQ*bdq;68ZzV?&WmjCJ3ZGXKs3|efr{$V(9R2GTW0T+(h%4d#J#g zWQTg+RC)zPwHE{VNt0J9nDd$?t98~cFKWD{e>z}bT#eC>P1*>sZfB(%Aw*_cMlZUi57U-_hQ*P#$lj61h{#-*4UM?dB6C)g5D z?B)4<1bZU7RGz@hUO7V}{WQaJ#XO1>3jqCq*>Q`+jwTjbCnOd9Lif2xxvi=^Z7|y8 zq<|D70liX0q#s4xZt7)ir4BQ8CXJQgz?t=fgL>;>tI%uQ;=?<|) z`EP#K$)?PWG!xE^bAqFwz6Nxk6-)eYt)gsGYF+)Y8`#I#4GiT{$Q<%nLBF29PDO(x z@@q$t?Pey;wI+j#IUlugp_PetE=Od~1H&cnwp757QS$?DW|)gtTk|Bd;yAek+RiAl z4<1|=wpmP(ad@2xbA1j}Y?sgr>BbtVpLORGxD zN}%T#kpb(j@L|MzWaugx>8cZaB6Bsszt#wUV$~>*s3YWryylG@zqgJmzMK{EnaRgi zF826*d%Gytg7BRkoK_PUm@#I0--^d6j^riSaji0RuL|27>PW|B*yjt2XjSeXJe;w1 zR`A>P1GoZ^n#asTWR!?R6r~DGl&HEy1(G7e=t1rv%Fel3D@4eTJzgoy(KEE?&$omZ zOWN2z6zQ!be7MtF&#)ADfsnSB)S>=c(|CCvd5hRMCo#GNHrujVJmFm-1dqJcZB?8y zBQuN$o4o7tLG>dcKar5?tC`y=Yc2QFB^9-XJXU|1P^g)2{*%HNff@}Ek5@?VyR%?P zbUWB0i`bAaAGNa8tQg1&7pbVtcdWeJ3TI&`_svS5Y~deg{@dVIq-{XuCKsa0{b_Gx zQe2~S@0nLpIUh62HH~nE=6BOWADD5?+dcF9zyFcg>r1yujCWz zJ2cW|E#2Yr?;wZz)5u%c#&`dUP14p2JCV$&=j6yo!nP8@zE=^#`gsWm72LBosWbb` zgl9&)SIUMvI`Z_gi+$mvzqIwc6C)$;8QF@|O`1Qk}iI|wuB*f;CH{F1>9>?Zds2DeW7Ux4*}1!rY=65qiw#*oV=&RK#7u!I)TRZQGx~ zm^i~AYUvjCD|q*8Or9p)wk>y)dok|1qKlmCQcrSASX*MTzFLvEcmX$=q1&ZyxPHyr zxJCthmAbIiO$D4~J1B6amDGS_wZ9$8ND2tx52HK~=p&O+M9>-=Z{^k>lkVzjp|M** z+_Cto%c`n2Kix6n?fGh#C3<7cEbv6BGUadbgm{92b(8sT&Mzqv$+nd;BKA37?XFJAo)w96`%0L-$Z`_VtpD7m*5ZQ3Tl&x-0F z=`GteyS2^Y1&5yIRn1(m8J@#a+_SzTgv9;Ll37_oj=dfTRgkm$k-05RB(CBHs|y(@ z>(t$2aur~2klAVpbX5DT80_QdjE>sna$hI+evSLSBB-=6e(0*EaDQ&EmReutJo)io zI1;0zV~yTKHG8%R{(64Cf#Vks;v$o=FrW7 zB-1Gbd+8MB64>K)Q{<@0f5~98gXnIT1^2(}FswAN@-dq_!wrJleGMKwC_vVW8 zs~M=-)ya?EpFJLfW-6%_s}yI43$;Ln5GS-Lm=3n78U*!6Xrz z|Da8Be``$`;cLakhdRQ8k0LuW3|+mt6q=>RQoD=I6bQb;W1|)}G0$N_@MFdgwGfWe zi;a1|tni^|0HFYzqFj;_#ng{|dM=(fk%3RKE;Nr5d!9bK0-ksn69Zx*AK3J=JaVEo zm4x9O3!3Wb6~{ZpvR0k;91=bG14hi(eI~wEtbap&hg2yEc7|8p8+++#_UV4PQz3WO z6{!7>h*68XllemSI_g(Q;C0KU|J)#k^E%*Gp6h749|1fJBdAV*poV3!w(J@9 zD(<7#DELLxaCZdW)y@Z2+~!nVjg5!i8)Ce%Bjx~u0$r~}xe>x+XA<~RmY@bY(Vo8P z-!^Y$BOqon3m&VresjmaY9aIy4$+a*ZPNOR#am7z{s1}SZV)QqAzEb#t_}A|wGE=) z6xA!q8JUiV3|)5BM|pL+M(KWY1w&m$EuOImriXXyihC@_{qHrM80JnP{~e$$t@Z2n zJ8jlVNhytoqRiWF?EcUoA?&4Bkr>%2px?{xI(K)@MlGk`@2l)iiY-7%m3bl`?2=IP zsEPy*CIJ#WkJ8XI9=-OpEhB%j;8P+Aq{3X8BA{T@SJM|f6!BV$dZoe(ZODn;ipyJY zoykT`MqM?bRsI_ol_(XmP!XG}#=s=$Z8HHpl(ROzYW+Dg(Kt_2anvHea;H8Z1~Wh%-6xi^fC!_5liGYur!QX>n&X?U{30 zDIwkdj=%>zU$R~5Vx8Zz({K5|WFHCin_+|BaftH61R(fh+~4JoRUSJ#;)^_x-*vyn z{4y{N9J3IG%E@nciF$AG-UJtM<(_CY6L%QelKi6Q!OD?k0#sRi%?)A6$~%v1Y}5v< zl5;s5*fSrZ6>g7HI{rO2a>+L~W|jqbT^L*#Qi-cdxJtQk#c;_ey7d`AdL|c$9>jNb z9@0`r=x3E^R>q3Vt=O|K@R16t&@#*>ugr_=39|8JcPgO|Fg5mO`f<|Ye&oi`cDRI z+Z9S+XZseKQ3-JP-kR!OdZ6HgqvvebkzU3V2>GAl zs`MhIy9VnpCr0cq046I+iau!la5YD(BeC_!BbEN=!eRL!NI7}D)8a*=c4WFPNN!7i z$UvGQWsoDXJX3r3k@O)`Jt!iU8bSZ)D#AR0$h^qkFZvl8yl+9r=uw1PezuZVnH-k@;58A!%Z(RQ zI8##)tEHfyW?&a1GMVNpQB>!BOfkM9r&vX93n~eIB`%N&86wu24b}JTB%TfbFe!mE zN#cw<(&Ghd(q#0T>U1mg)a@su9=o))`)VpIsv$KMU3{Gs_A`{c)P+v})sh7&eZrYx zc1dxQl0xT0(pge00ALiEOs@F8w0&}2$S@_-(XRD1+vtDLODNW_{Kxj?&K3AR z0f;J&jdFbG*qQF3_iCXt;`_

La8dhax2QAGhoxTI9)b@V+gd@d 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 kOI

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