From 76660f3e448a5450e0636a89fd464d9b2dbb6791 Mon Sep 17 00:00:00 2001 From: insoutt Date: Sat, 27 Apr 2024 21:01:25 -0500 Subject: [PATCH 001/107] Improve translation --- src/lib/i18n/locales/es-ES/translation.json | 100 ++++++++++---------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 4c26041b..a9beb02b 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -20,9 +20,9 @@ "add tags": "agregar etiquetas", "Adjusting these settings will apply changes universally to all users.": "Ajustar estas opciones aplicará los cambios universalmente a todos los usuarios.", "admin": "admin", - "Admin Panel": "Panel de Administrador", + "Admin Panel": "Panel de Administración", "Admin Settings": "Configuración de Administrador", - "Advanced Parameters": "Parametros Avanzados", + "Advanced Parameters": "Parámetros Avanzados", "all": "todo", "All Users": "Todos los Usuarios", "Allow": "Permitir", @@ -35,14 +35,14 @@ "API Key": "Clave de la API ", "API RPM": "RPM de la API", "are allowed - Activate this command by typing": "están permitidos - Active este comando escribiendo", - "Are you sure?": "Esta usted seguro?", + "Are you sure?": "¿Está seguro?", "Audio": "Audio", "Auto-playback response": "Respuesta de reproducción automática", "Auto-send input after 3 sec.": "Envía la información entrada automáticamente luego de 3 segundos.", "AUTOMATIC1111 Base URL": "Dirección URL de AUTOMATIC1111", "AUTOMATIC1111 Base URL is required.": "La dirección URL de AUTOMATIC1111 es requerida.", "available!": "¡disponible!", - "Back": "Vuelve atrás", + "Back": "Volver", "Builder Mode": "Modo de Constructor", "Cancel": "Cancelar", "Categories": "Categorías", @@ -52,14 +52,14 @@ "Chat History is off for this browser.": "El Historial del Chat está apagado para este navegador.", "Chats": "Chats", "Check Again": "Verifica de nuevo", - "Check for updates": "Verifica actualizaciones", + "Check for updates": "Verificar actualizaciones", "Checking for updates...": "Verificando actualizaciones...", "Choose a model before saving...": "Escoge un modelo antes de guardar los cambios...", "Chunk Overlap": "Superposición de fragmentos", "Chunk Params": "Parámetros de fragmentos", "Chunk Size": "Tamaño de fragmentos", - "Click here for help.": "Presiona aquí para ayuda.", - "Click here to check other modelfiles.": "Presiona aquí para otros modelfiles.", + "Click here for help.": "Presiona aquí para obtener ayuda.", + "Click here to check other modelfiles.": "Presiona aquí para consultar otros modelfiles.", "Click here to select": "Presiona aquí para seleccionar", "Click here to select documents.": "Presiona aquí para seleccionar documentos", "click here.": "Presiona aquí.", @@ -70,11 +70,11 @@ "Confirm Password": "Confirmar Contraseña", "Connections": "Conexiones", "Content": "Contenido", - "Context Length": "Largura del contexto", + "Context Length": "Longitud del contexto", "Conversation Mode": "Modo de Conversación", "Copy last code block": "Copia el último bloque de código", "Copy last response": "Copia la última respuesta", - "Copying to clipboard was successful!": "¡Copiar al portapapeles fue exitoso!", + "Copying to clipboard was successful!": "¡La copia al portapapeles se ha realizado correctamente!", "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Cree una frase concisa de 3 a 5 palabras como encabezado para la siguiente consulta, respetando estrictamente el límite de 3 a 5 palabras y evitando el uso de la palabra 'título':", "Create a modelfile": "Crea un modelfile", "Create Account": "Crear una cuenta", @@ -83,7 +83,7 @@ "Current Model": "Modelo Actual", "Current Password": "Contraseña Actual", "Custom": "Personalizado", - "Customize Ollama models for a specific purpose": "Personaliza modelos de Ollama para un propósito específico", + "Customize Ollama models for a specific purpose": "Personaliza los modelos de Ollama para un propósito específico", "Dark": "Oscuro", "Database": "Base de datos", "DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm", @@ -105,15 +105,15 @@ "Discover a modelfile": "Descubre un modelfile", "Discover a prompt": "Descubre un Prompt", "Discover, download, and explore custom prompts": "Descubre, descarga, y explora Prompts personalizados", - "Discover, download, and explore model presets": "Descubra, descargue y explore ajustes preestablecidos de modelos", + "Discover, download, and explore model presets": "Descubre, descarga y explora ajustes preestablecidos de modelos", "Display the username instead of You in the Chat": "Mostrar el nombre de usuario en lugar de Usted en el chat", "Document": "Documento", - "Document Settings": "Configuración de Documento", + "Document Settings": "Configuración del Documento", "Documents": "Documentos", "does not make any external connections, and your data stays securely on your locally hosted server.": "no realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.", "Don't Allow": "No Permitir", - "Don't have an account?": "No tienes una cuenta?", - "Download as a File": "Descarga como un Archivo", + "Don't have an account?": "¿No tienes una cuenta?", + "Download as a File": "Descargar como Archivo", "Download Database": "Descarga la Base de Datos", "Drop any files here to add to the conversation": "Suelta cualquier archivo aquí para agregarlo a la conversación", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "p.ej. '30s','10m'. Unidades válidas de tiempo son 's', 'm', 'h'.", @@ -124,10 +124,10 @@ "Enable Chat History": "Activa el Historial de Chat", "Enable New Sign Ups": "Habilitar Nuevos Registros", "Enabled": "Activado", - "Enter {{role}} message here": "Introduzca el mensaje {{role}} aquí", + "Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí", "Enter API Key": "Ingrese la clave API", "Enter Chunk Overlap": "Ingresar superposición de fragmentos", - "Enter Chunk Size": "Introduzca el tamaño del fragmento", + "Enter Chunk Size": "Ingrese el tamaño del fragmento", "Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)", "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ingrese la URL base de la API LiteLLM (litellm_params.api_base)", "Enter LiteLLM API Key (litellm_params.api_key)": "Ingrese la clave API LiteLLM (litellm_params.api_key)", @@ -136,12 +136,12 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Ingrese tokens máximos (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Ingrese la etiqueta del modelo (p.ej. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Ingrese el número de pasos (p.ej., 50)", - "Enter stop sequence": "Introduzca la secuencia de parada", - "Enter Top K": "Introduzca el Top K", + "Enter stop sequence": "Ingrese la secuencia de parada", + "Enter Top K": "Ingrese el Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)", - "Enter Your Email": "Introduce tu correo electrónico", - "Enter Your Full Name": "Introduce tu nombre completo", - "Enter Your Password": "Introduce tu contraseña", + "Enter Your Email": "Ingrese su correo electrónico", + "Enter Your Full Name": "Ingrese su nombre completo", + "Enter Your Password": "Ingrese su contraseña", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar todos los chats (Todos los usuarios)", "Export Chats": "Exportar Chats", @@ -154,7 +154,7 @@ "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Se detectó suplantación de huellas: No se pueden usar las iniciales como avatar. Por defecto se utiliza la imagen de perfil predeterminada.", "Fluidly stream large external response chunks": "Transmita con fluidez grandes fragmentos de respuesta externa", "Focus chat input": "Enfoca la entrada del chat", - "Format your variables using square brackets like this:": "Formatee sus variables usando corchetes así:", + "Format your variables using square brackets like this:": "Formatea tus variables usando corchetes de la siguiente manera:", "From (Base Model)": "Desde (Modelo Base)", "Full Screen Mode": "Modo de Pantalla Completa", "General": "General", @@ -165,14 +165,14 @@ "How can I help you today?": "¿Cómo puedo ayudarte hoy?", "Image Generation (Experimental)": "Generación de imágenes (experimental)", "Image Generation Engine": "Motor de generación de imágenes", - "Image Settings": "Configuración de Imágen", + "Image Settings": "Ajustes de la Imágen", "Images": "Imágenes", "Import Chats": "Importar chats", "Import Documents Mapping": "Importar Mapeo de Documentos", "Import Modelfiles": "Importar Modelfiles", "Import Prompts": "Importar Prompts", "Include `--api` flag when running stable-diffusion-webui": "Incluir el indicador `--api` al ejecutar stable-diffusion-webui", - "Interface": "Interface", + "Interface": "Interfaz", "join our Discord for help.": "Únase a nuestro Discord para obtener ayuda.", "JSON": "JSON", "JWT Expiration": "Expiración del JWT", @@ -184,7 +184,7 @@ "Listening...": "Escuchando...", "LLMs can make mistakes. Verify important information.": "Los LLM pueden cometer errores. Verifica la información importante.", "Made by OpenWebUI Community": "Hecho por la comunidad de OpenWebUI", - "Make sure to enclose them with": "Make sure to enclose them with", + "Make sure to enclose them with": "Asegúrese de adjuntarlos con", "Manage LiteLLM Models": "Administrar Modelos LiteLLM", "Manage Models": "Administrar Modelos", "Manage Ollama Models": "Administrar Modelos Ollama", @@ -196,7 +196,7 @@ "MMMM DD, YYYY": "MMMM DD, YYYY", "Model '{{modelName}}' has been successfully downloaded.": "El modelo '{{modelName}}' se ha descargado correctamente.", "Model '{{modelTag}}' is already in queue for downloading.": "El modelo '{{modelTag}}' ya está en cola para descargar.", - "Model {{embedding_model}} update complete!": "¡La actualizacón del modelo {{embedding_model}} fué completada!", + "Model {{embedding_model}} update complete!": "¡La actualización del modelo {{embedding_model}} fue completada!", "Model {{embedding_model}} update failed or not required!": "¡La actualización del modelo {{embedding_model}} falló o no es requerida!", "Model {{modelId}} not found": "El modelo {{modelId}} no fue encontrado", "Model {{modelName}} already exists.": "El modelo {{modelName}} ya existe.", @@ -219,27 +219,27 @@ "Name your modelfile": "Nombra tu modelfile", "New Chat": "Nuevo Chat", "New Password": "Nueva Contraseña", - "Not sure what to add?": "¿No estás seguro de qué añadir?", - "Not sure what to write? Switch to": "¿No estás seguro de qué escribir? Cambia a", + "Not sure what to add?": "¿No sabes qué añadir?", + "Not sure what to write? Switch to": "¿No sabes qué escribir? Cambia a", "Off": "Desactivado", - "Okay, Let's Go!": "Okay, Let's Go!", + "Okay, Let's Go!": "Bien, ¡Vamos!", "Ollama Base URL": "URL base de Ollama", - "Ollama Version": "Version de Ollama", + "Ollama Version": "Versión de Ollama", "On": "Activado", "Only": "Solamente", "Only alphanumeric characters and hyphens are allowed in the command string.": "Sólo se permiten caracteres alfanuméricos y guiones en la cadena de comando.", "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "¡Ups! ¡Agárrate fuerte! Tus archivos todavía están en el horno de procesamiento. Los estamos cocinando a la perfección. Tenga paciencia y le avisaremos una vez que estén listos.", "Oops! Looks like the URL is invalid. Please double-check and try again.": "¡Ups! Parece que la URL no es válida. Vuelva a verificar e inténtelo nuevamente.", - "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "¡Ups! Estás utilizando un método no compatible (solo frontend). Sirve la WebUI desde el backend.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "¡Ups! Estás utilizando un método no compatible (solo frontend). Por favor ejecute la WebUI desde el backend.", "Open": "Abrir", - "Open AI": "Open AI", - "Open AI (Dall-E)": "Open AI (Dall-E)", + "Open AI": "Abrir AI", + "Open AI (Dall-E)": "Abrir AI (Dall-E)", "Open new chat": "Abrir nuevo chat", "OpenAI API": "OpenAI API", - "OpenAI API Key": "Clave de OpenAI API", - "OpenAI API Key is required.": "La Clave de OpenAI API es requerida.", + "OpenAI API Key": "Clave de la API de OpenAI", + "OpenAI API Key is required.": "La Clave de la API de OpenAI es requerida.", "or": "o", - "Parameters": "Parametros", + "Parameters": "Parámetros", "Password": "Contraseña", "PDF Extract Images (OCR)": "Extraer imágenes de PDF (OCR)", "pending": "pendiente", @@ -249,11 +249,11 @@ "Prompt Content": "Contenido del Prompt", "Prompt suggestions": "Sugerencias de Prompts", "Prompts": "Prompts", - "Pull a model from Ollama.com": "Halar un modelo de Ollama.com", + "Pull a model from Ollama.com": "Obtener un modelo de Ollama.com", "Pull Progress": "Progreso de extracción", "Query Params": "Parámetros de consulta", "RAG Template": "Plantilla de RAG", - "Raw Format": "Formato en crudo", + "Raw Format": "Formato sin procesar", "Record voice": "Grabar voz", "Redirecting you to OpenWebUI Community": "Redireccionándote a la comunidad OpenWebUI", "Release Notes": "Notas de la versión", @@ -271,13 +271,13 @@ "Save & Update": "Guardar y Actualizar", "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Ya no se admite guardar registros de chat directamente en el almacenamiento de su navegador. Tómese un momento para descargar y eliminar sus registros de chat haciendo clic en el botón a continuación. No te preocupes, puedes volver a importar fácilmente tus registros de chat al backend a través de", "Scan": "Escanear", - "Scan complete!": "Escaneo completado!", + "Scan complete!": "¡Escaneo completado!", "Scan for documents from {{path}}": "Escanear en busca de documentos desde {{path}}", "Search": "Buscar", "Search Documents": "Buscar Documentos", "Search Prompts": "Buscar Prompts", "See readme.md for instructions": "Vea el readme.md para instrucciones", - "See what's new": "Ver qué hay de nuevo", + "See what's new": "Ver las novedades", "Seed": "Seed", "Select a mode": "Selecciona un modo", "Select a model": "Selecciona un modelo", @@ -292,7 +292,7 @@ "Set Title Auto-Generation Model": "Establecer modelo de generación automática de títulos", "Set Voice": "Establecer la voz", "Settings": "Configuración", - "Settings saved successfully!": "Configuración guardada exitosamente!", + "Settings saved successfully!": "¡Configuración guardada exitosamente!", "Share to OpenWebUI Community": "Compartir con la comunidad OpenWebUI", "short-summary": "resumen-corto", "Show": "Mostrar", @@ -300,8 +300,8 @@ "Show shortcuts": "Mostrar atajos", "sidebar": "barra lateral", "Sign in": "Iniciar sesión", - "Sign Out": "Desconectar", - "Sign up": "Inscribirse", + "Sign Out": "Cerrar sesión", + "Sign up": "Crear una cuenta", "Speech recognition error: {{error}}": "Error de reconocimiento de voz: {{error}}", "Speech-to-Text Engine": "Motor de voz a texto", "SpeechRecognition API is not supported in this browser.": "La API SpeechRecognition no es compatible con este navegador.", @@ -322,7 +322,7 @@ "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversaciones se guarden de forma segura en su base de datos en el backend. ¡Gracias!", "This setting does not sync across browsers or devices.": "Esta configuración no se sincroniza entre navegadores o dispositivos.", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Consejo: actualice varias variables consecutivamente presionando la tecla tab en la entrada del chat después de cada reemplazo.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Consejo: Actualice múltiples variables consecutivamente presionando la tecla tab en la entrada del chat después de cada reemplazo.", "Title": "Título", "Title Auto-Generation": "Generación automática de títulos", "Title Generation Prompt": "Prompt de generación de título", @@ -336,14 +336,14 @@ "Top P": "Top P", "Trouble accessing Ollama?": "¿Problemas para acceder a Ollama?", "TTS Settings": "Configuración de TTS", - "Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL", - "Uh-oh! There was an issue connecting to {{provider}}.": "¡UH oh! Hubo un problema al conectarse a {{provider}}.", + "Type Hugging Face Resolve (Download) URL": "Escriba la URL (Descarga) de Hugging Face Resolve", + "Uh-oh! There was an issue connecting to {{provider}}.": "¡Uh oh! Hubo un problema al conectarse a {{provider}}.", "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Comprenda que actualizar o cambiar su modelo de embedding requiere restablecer la base de datos de vectores y volver a importar todos los documentos. ¡Usted ha sido advertido!", "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de archivo desconocido '{{file_type}}', pero se acepta y se trata como texto sin formato", "Update": "Actualizar", "Update embedding model {{embedding_model}}": "Actualizar modelo de embedding {{embedding_model}}", - "Update password": "Actualiza contraseña", - "Upload a GGUF model": "Sube un modelo GGUF", + "Update password": "Actualizar contraseña", + "Upload a GGUF model": "Subir un modelo GGUF", "Upload files": "Subir archivos", "Upload Progress": "Progreso de carga", "URL Mode": "Modo de URL", @@ -362,12 +362,12 @@ "WebUI Add-ons": "WebUI Add-ons", "WebUI Settings": "Configuración del WebUI", "WebUI will make requests to": "WebUI realizará solicitudes a", - "What’s New in": "Lo qué hay de nuevo en", + "What’s New in": "Novedades en", "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Cuando el historial está desactivado, los nuevos chats en este navegador no aparecerán en el historial de ninguno de sus dispositivos..", "Whisper (Local)": "Whisper (Local)", "Write a prompt suggestion (e.g. Who are you?)": "Escribe una sugerencia para un prompt (por ejemplo, ¿quién eres?)", "Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].", "You": "Usted", "You're a helpful assistant.": "Eres un asistente útil.", - "You're now logged in.": "Ya has iniciado sesión." + "You're now logged in.": "Has iniciado sesión." } From 5c887d070916b82fe395648a453adbe8232df3d3 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sat, 27 Apr 2024 20:46:52 -0700 Subject: [PATCH 002/107] feat: doge translation --- src/lib/i18n/locales/dg-DG/translation.json | 373 ++++++++++++++++++++ src/lib/i18n/locales/languages.json | 6 +- 2 files changed, 378 insertions(+), 1 deletion(-) create mode 100644 src/lib/i18n/locales/dg-DG/translation.json diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json new file mode 100644 index 00000000..1ecf912d --- /dev/null +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -0,0 +1,373 @@ +{ + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' or '-1' for no expire. Much permanent, very wow.", + "(Beta)": "(Beta)", + "(e.g. `sh webui.sh --api`)": "(such e.g. `sh webui.sh --api`)", + "(latest)": "(much latest)", + "{{modelName}} is thinking...": "{{modelName}} is thinkin'...", + "{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required", + "a user": "such user", + "About": "Much About", + "Account": "Account", + "Action": "Action", + "Add a model": "Add a model", + "Add a model tag name": "Add a model tag name", + "Add a short description about what this modelfile does": "Add short description about what this modelfile does", + "Add a short title for this prompt": "Add short title for this prompt", + "Add a tag": "Add such tag", + "Add Docs": "Add Docs", + "Add Files": "Add Files", + "Add message": "Add Prompt", + "add tags": "add tags", + "Adjusting these settings will apply changes universally to all users.": "Adjusting these settings will apply changes to all users. Such universal, very wow.", + "admin": "admin", + "Admin Panel": "Admin Panel", + "Admin Settings": "Admin Settings", + "Advanced Parameters": "Advanced Parameters", + "all": "all", + "All Users": "All Users", + "Allow": "Allow", + "Allow Chat Deletion": "Allow Delete Chats", + "alphanumeric characters and hyphens": "so alpha, many hyphen", + "Already have an account?": "Such account exists?", + "an assistant": "such assistant", + "and": "and", + "API Base URL": "API Base URL", + "API Key": "API Key", + "API RPM": "API RPM", + "are allowed - Activate this command by typing": "are allowed. Activate typing", + "Are you sure?": "Such certainty?", + "Audio": "Audio", + "Auto-playback response": "Auto-playback response", + "Auto-send input after 3 sec.": "Auto-send after 3 sec.", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 Base URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Base URL is required.", + "available!": "available! So excite!", + "Back": "Back", + "Builder Mode": "Builder Mode", + "Cancel": "Cancel", + "Categories": "Categories", + "Change Password": "Change Password", + "Chat": "Chat", + "Chat History": "Chat History", + "Chat History is off for this browser.": "Chat History off for this browser. Such sadness.", + "Chats": "Chats", + "Check Again": "Check Again", + "Check for updates": "Check for updates", + "Checking for updates...": "Checking for updates... Such anticipation...", + "Choose a model before saving...": "Choose model before saving... Wow choose first.", + "Chunk Overlap": "Chunk Overlap", + "Chunk Params": "Chunk Params", + "Chunk Size": "Chunk Size", + "Click here for help.": "Click for help. Much assist.", + "Click here to check other modelfiles.": "Click to check other modelfiles.", + "Click here to select": "Click to select", + "Click here to select documents.": "Click to select documents", + "click here.": "click here. Such click.", + "Click on the user role button to change a user's role.": "Click user role button to change role.", + "Close": "Close", + "Collection": "Collection", + "Command": "Command", + "Confirm Password": "Confirm Password", + "Connections": "Connections", + "Content": "Content", + "Context Length": "Context Length", + "Conversation Mode": "Conversation Mode", + "Copy last code block": "Copy last code block", + "Copy last response": "Copy last response", + "Copying to clipboard was successful!": "Copying to clipboard was success! Very success!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Create short phrase, 3-5 word, as header for query, much strict, avoid 'title':", + "Create a modelfile": "Create modelfile", + "Create Account": "Create Account", + "Created at": "Created at", + "Created by": "Created by", + "Current Model": "Current Model", + "Current Password": "Current Password", + "Custom": "Custom", + "Customize Ollama models for a specific purpose": "Customize Ollama models for purpose", + "Dark": "Dark", + "Database": "Database", + "DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm", + "Default": "Default", + "Default (Automatic1111)": "Default (Automatic1111)", + "Default (Web API)": "Default (Web API)", + "Default model updated": "Default model much updated", + "Default Prompt Suggestions": "Default Prompt Suggestions", + "Default User Role": "Default User Role", + "delete": "delete", + "Delete a model": "Delete a model", + "Delete chat": "Delete chat", + "Delete Chats": "Delete Chats", + "Deleted {{deleteModelTag}}": "Deleted {{deleteModelTag}}", + "Deleted {tagName}": "Deleted {tagName}", + "Description": "Description", + "Notifications": "Notifications", + "Disabled": "Disabled", + "Discover a modelfile": "Discover modelfile", + "Discover a prompt": "Discover a prompt", + "Discover, download, and explore custom prompts": "Discover, download, and explore custom prompts", + "Discover, download, and explore model presets": "Discover, download, and explore model presets", + "Display the username instead of You in the Chat": "Display username instead of You in Chat", + "Document": "Document", + "Document Settings": "Document Settings", + "Documents": "Documents", + "does not make any external connections, and your data stays securely on your locally hosted server.": "does not connect external, data stays safe locally.", + "Don't Allow": "Don't Allow", + "Don't have an account?": "No account? Much sad.", + "Download as a File": "Download as File", + "Download Database": "Download Database", + "Drop any files here to add to the conversation": "Drop files here to add to conversation", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "e.g. '30s','10m'. Much time units are 's', 'm', 'h'.", + "Edit Doc": "Edit Doge", + "Edit User": "Edit Wowser", + "Email": "Email", + "Embedding model: {{embedding_model}}": "Embedding model: {{embedding_model}}", + "Enable Chat History": "Activate Chat Story", + "Enable New Sign Ups": "Enable New Bark Ups", + "Enabled": "So Activated", + "Enter {{role}} message here": "Enter {{role}} bork here", + "Enter API Key": "Enter API Bark", + "Enter Chunk Overlap": "Enter Overlap of Chunks", + "Enter Chunk Size": "Enter Size of Chunk", + "Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Enter Base URL of LiteLLM API (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Enter API Bark of LiteLLM (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Enter RPM of LiteLLM API (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Enter Model of LiteLLM (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Enter Maximum Tokens (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Enter model doge tag (e.g. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Enter Number of Steps (e.g. 50)", + "Enter stop sequence": "Enter stop bark", + "Enter Top K": "Enter Top Wow", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Enter URL (e.g. http://127.0.0.1:7860/)", + "Enter Your Email": "Enter Your Dogemail", + "Enter Your Full Name": "Enter Your Full Wow", + "Enter Your Password": "Enter Your Barkword", + "Experimental": "Much Experiment", + "Export All Chats (All Users)": "Export All Chats (All Doggos)", + "Export Chats": "Export Barks", + "Export Documents Mapping": "Export Mappings of Dogos", + "Export Modelfiles": "Export Modelfiles", + "Export Prompts": "Export Promptos", + "Failed to read clipboard contents": "Failed to read clipboard borks", + "File Mode": "Bark Mode", + "File not found.": "Bark not found.", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingerprint dogeing: Unable to use initials as avatar. Defaulting to default doge image.", + "Fluidly stream large external response chunks": "Fluidly wow big chunks", + "Focus chat input": "Focus chat bork", + "Format your variables using square brackets like this:": "Format variables using square brackets like wow:", + "From (Base Model)": "From (Base Wow)", + "Full Screen Mode": "Much Full Bark Mode", + "General": "Woweral", + "General Settings": "General Doge Settings", + "Hello, {{name}}": "Much helo, {{name}}", + "Hide": "Hide", + "Hide Additional Params": "Hide Extra Barkos", + "How can I help you today?": "How can I halp u today?", + "Image Generation (Experimental)": "Image Wow (Much Experiment)", + "Image Generation Engine": "Image Engine", + "Image Settings": "Settings for Wowmage", + "Images": "Wowmages", + "Import Chats": "Import Barks", + "Import Documents Mapping": "Import Doge Mapping", + "Import Modelfiles": "Import Modelfiles", + "Import Prompts": "Import Promptos", + "Include `--api` flag when running stable-diffusion-webui": "Include `--api` flag when running stable-diffusion-webui", + "Interface": "Interface", + "join our Discord for help.": "join our Discord for help.", + "JSON": "JSON", + "JWT Expiration": "JWT Expire", + "JWT Token": "JWT Borken", + "Keep Alive": "Keep Wow", + "Keyboard shortcuts": "Keyboard Barkcuts", + "Language": "Doge Speak", + "Light": "Light", + "Listening...": "Listening...", + "LLMs can make mistakes. Verify important information.": "LLMs can make borks. Verify important info.", + "Made by OpenWebUI Community": "Made by OpenWebUI Community", + "Make sure to enclose them with": "Make sure to enclose them with", + "Manage LiteLLM Models": "Manage LiteLLM Models", + "Manage Models": "Manage Wowdels", + "Manage Ollama Models": "Manage Ollama Wowdels", + "Max Tokens": "Max Tokens", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximum of 3 models can be downloaded simultaneously. Please try again later.", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, YYYY", + "Model '{{modelName}}' has been successfully downloaded.": "Model '{{modelName}}' has been successfully downloaded.", + "Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' is already in queue for downloading.", + "Model {{embedding_model}} update complete!": "Model {{embedding_model}} update complete!", + "Model {{embedding_model}} update failed or not required!": "Model {{embedding_model}} update failed or not required!", + "Model {{modelId}} not found": "Model {{modelId}} not found", + "Model {{modelName}} already exists.": "Model {{modelName}} already exists.", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Model filesystem bark detected. Model shortname is required for update, cannot continue.", + "Model Name": "Wowdel Name", + "Model not selected": "Model not selected", + "Model Tag Name": "Wowdel Tag Name", + "Model Whitelisting": "Wowdel Whitelisting", + "Model(s) Whitelisted": "Wowdel(s) Whitelisted", + "Modelfile": "Modelfile", + "Modelfile Advanced Settings": "Modelfile Wow Settings", + "Modelfile Content": "Modelfile Content", + "Modelfiles": "Modelfiles", + "Models": "Wowdels", + "My Documents": "My Doguments", + "My Modelfiles": "My Modelfiles", + "My Prompts": "My Promptos", + "Name": "Name", + "Name Tag": "Name Tag", + "Name your modelfile": "Name your modelfile", + "New Chat": "New Bark", + "New Password": "New Barkword", + "Not sure what to add?": "Not sure what to add?", + "Not sure what to write? Switch to": "Not sure what to write? Switch to", + "Off": "Off", + "Okay, Let's Go!": "Okay, Let's Go!", + "Ollama Base URL": "Ollama Base Bark", + "Ollama Version": "Ollama Version", + "On": "On", + "Only": "Only", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Only wow characters and hyphens are allowed in the bork string.", + "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Oops! Looks like the URL is invalid. Please double-check and try again.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.", + "Open": "Open", + "Open AI": "Open AI", + "Open AI (Dall-E)": "Open AI (Dall-E)", + "Open new chat": "Open new bark", + "OpenAI API": "OpenAI API", + "OpenAI API Key": "OpenAI Bark Key", + "OpenAI API Key is required.": "OpenAI Bark Key is required.", + "or": "or", + "Parameters": "Parametos", + "Password": "Barkword", + "PDF Extract Images (OCR)": "PDF Extract Wowmages (OCR)", + "pending": "pending", + "Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}", + "Playground": "Playground", + "Profile": "Profile", + "Prompt Content": "Prompt Content", + "Prompt suggestions": "Prompt wowgestions", + "Prompts": "Promptos", + "Pull a model from Ollama.com": "Pull a wowdel from Ollama.com", + "Pull Progress": "Pull Progress", + "Query Params": "Query Bark", + "RAG Template": "RAG Template", + "Raw Format": "Raw Wowmat", + "Record voice": "Record Bark", + "Redirecting you to OpenWebUI Community": "Redirecting you to OpenWebUI Community", + "Release Notes": "Release Borks", + "Repeat Last N": "Repeat Last N", + "Repeat Penalty": "Repeat Penalty", + "Request Mode": "Request Bark", + "Reset Vector Storage": "Reset Vector Storage", + "Response AutoCopy to Clipboard": "Copy Bark Auto Bark", + "Role": "Role", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "Save much wow", + "Save & Create": "Save & Create much create", + "Save & Submit": "Save & Submit very submit", + "Save & Update": "Save & Update much update", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Saving chat logs in browser storage not support anymore. Pls download and delete your chat logs by click button below. Much easy re-import to backend through", + "Scan": "Scan much scan", + "Scan complete!": "Scan complete! Very wow!", + "Scan for documents from {{path}}": "Scan for documents from {{path}} wow", + "Search": "Search very search", + "Search Documents": "Search Documents much find", + "Search Prompts": "Search Prompts much wow", + "See readme.md for instructions": "See readme.md for instructions wow", + "See what's new": "See what's new so amaze", + "Seed": "Seed very plant", + "Select a mode": "Select a mode very choose", + "Select a model": "Select a model much choice", + "Select an Ollama instance": "Select an Ollama instance very choose", + "Send a Message": "Send a Message much message", + "Send message": "Send message very send", + "Server connection verified": "Server connection verified much secure", + "Set as default": "Set as default very default", + "Set Default Model": "Set Default Model much model", + "Set Image Size": "Set Image Size very size", + "Set Steps": "Set Steps so many steps", + "Set Title Auto-Generation Model": "Set Title Auto-Generation Model very auto-generate", + "Set Voice": "Set Voice so speak", + "Settings": "Settings much settings", + "Settings saved successfully!": "Settings saved successfully! Very success!", + "Share to OpenWebUI Community": "Share to OpenWebUI Community much community", + "short-summary": "short-summary so short", + "Show": "Show much show", + "Show Additional Params": "Show Additional Params very many params", + "Show shortcuts": "Show shortcuts much shortcut", + "sidebar": "sidebar much side", + "Sign in": "Sign in very sign", + "Sign Out": "Sign Out much logout", + "Sign up": "Sign up much join", + "Speech recognition error: {{error}}": "Speech recognition error: {{error}} so error", + "Speech-to-Text Engine": "Speech-to-Text Engine much speak", + "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser. Much sad.", + "Stop Sequence": "Stop Sequence much stop", + "STT Settings": "STT Settings very settings", + "Submit": "Submit much submit", + "Success": "Success very success", + "Successfully updated.": "Successfully updated. Very updated.", + "Sync All": "Sync All much sync", + "System": "System very system", + "System Prompt": "System Prompt much prompt", + "Tags": "Tags very tags", + "Temperature": "Temperature very temp", + "Template": "Template much template", + "Text Completion": "Text Completion much complete", + "Text-to-Speech Engine": "Text-to-Speech Engine much speak", + "Tfs Z": "Tfs Z much Z", + "Theme": "Theme much theme", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you! Much secure!", + "This setting does not sync across browsers or devices.": "This setting does not sync across browsers or devices. Very not sync.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement. Much tip!", + "Title": "Title very title", + "Title Auto-Generation": "Title Auto-Generation much auto-gen", + "Title Generation Prompt": "Title Generation Prompt very prompt", + "to": "to very to", + "To access the available model names for downloading,": "To access the available model names for downloading, much access", + "To access the GGUF models available for downloading,": "To access the GGUF models available for downloading, much access", + "to chat input.": "to chat input. Very chat.", + "Toggle settings": "Toggle settings much toggle", + "Toggle sidebar": "Toggle sidebar much toggle", + "Top K": "Top K very top", + "Top P": "Top P very top", + "Trouble accessing Ollama?": "Trouble accessing Ollama? Much trouble?", + "TTS Settings": "TTS Settings much settings", + "Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL much download", + "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! There was an issue connecting to {{provider}}. Much uh-oh!", + "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned! Very understand!", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unknown File Type '{{file_type}}', but accepting and treating as plain text very unknown", + "Update": "Update much update", + "Update embedding model {{embedding_model}}": "Update embedding model {{embedding_model}} much update", + "Update password": "Update password much change", + "Upload a GGUF model": "Upload a GGUF model very upload", + "Upload files": "Upload files very upload", + "Upload Progress": "Upload Progress much progress", + "URL Mode": "URL Mode much mode", + "Use '#' in the prompt input to load and select your documents.": "Use '#' in the prompt input to load and select your documents. Much use.", + "Use Gravatar": "Use Gravatar much avatar", + "Use Initials": "Use Initials much initial", + "user": "user much user", + "User Permissions": "User Permissions much permissions", + "Users": "Users much users", + "Utilize": "Utilize very use", + "Valid time units:": "Valid time units: much time", + "variable": "variable very variable", + "variable to have them replaced with clipboard content.": "variable to have them replaced with clipboard content. Very replace.", + "Version": "Version much version", + "Web": "Web very web", + "WebUI Add-ons": "WebUI Add-ons very add-ons", + "WebUI Settings": "WebUI Settings much settings", + "WebUI will make requests to": "WebUI will make requests to much request", + "What’s New in": "What’s New in much new", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "When history is turned off, new chats on this browser won't appear in your history on any of your devices. Much history.", + "Whisper (Local)": "Whisper (Local) much whisper", + "Write a prompt suggestion (e.g. Who are you?)": "Write a prompt suggestion (e.g. Who are you?) much suggest", + "Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.", + "You": "You very you", + "You're a helpful assistant.": "You're a helpful assistant. Much helpful.", + "You're now logged in.": "You're now logged in. Much logged." +} \ No newline at end of file diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 515f05e1..4efb0718 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -94,5 +94,9 @@ { "code": "zh-TW", "title": "Chinese (Traditional)" + }, + { + "code": "dg-DG", + "title": "Doge 🐶" } -] +] \ No newline at end of file From bfd33ec0dfdb08d12ffa8f24c0cb55cc1777b326 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sat, 27 Apr 2024 20:53:42 -0700 Subject: [PATCH 003/107] feat: doge i18n placeholder --- .../chat/Messages/Placeholder.svelte | 4 ++-- static/doge.png | Bin 0 -> 403566 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 static/doge.png diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index 7e0a98cb..d9e04972 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -38,8 +38,8 @@ /> {:else} logo>lI~nex*HZ);zfV|_rtl) zwdcb=&zbYgJ@?!*6Q-sji-AUr1_uX+AulJb0SEUg|L=u@^zwu;8_DYBhWbrT-x&_> z4es9y9xg3|@Z}-AvxclBT;&+){>u*pO9^EOIJlbVHxH(Wa7YZV<)tOGJm8NW2ODYT z6KPShyk(@@<^hKoNZ4>cUEH~-r>I4p8k9W+0J`-tZ5-pu zNXw|+5MjE9;3AZJ{&bsKraRrQ3>72n=|TPcIoKPn0h+~^mzM{Uy;-r$_JvbOU{KGK z4#S~UNVw(x5%6+2wE|!jlyaQyKnZGE90b0@U&v%>Un(%@us|W4t-)kU+r6mfhvt>ik|3n zW|=?DvR4?kfA<157`*SW-#C9`b#mMVgI{X=fsA#3Wq_dahJ*FroA?c?cUgtu_!VHo zf!1nz{edeq1a-kH$2JQqBB*>~p`0QvD?6TNJ%#S5F*nDrcVTsVkB(H*(G_8r9L+9u z&aQ?l{+#@8k65)v4?(G5P}$<)-Q*yD*>(r}XVJEbk;S609sGm3qiy2qFl>Dt^0N`6Q!~qyBj~gcq0Z;2_ad!)r7rsJf2vetuVn)c)C=EnR0Nh^X1jdeLtr(6ro`deEl$=5`(=XbqXR2_B@0^ z43C!#uYn~jX2QGF_T8cgY9Hcib*lowxJK^9~yCi8~u2Q9{!qe2!vg5E-Iw`B?VWbmD zugQ8%VX*T*EA;)hi$X#o_3E>_=&uXfWuP~fkM@^cuIbSRO^?6Z9zWwQsXkPTh6t4B zxtAe)NSF4YJ0ilNKKO|dicbyg(@d$CNPi-oazKru6G^R9gepd(jr9*9lmF>0W(EnR zJi6Vun5LyS+TYu_PD!*mR||Aw{2?%08h<6H_}7nmjg{~?KIZj8BG(>@f@Py^Jltyb z+SXPanhq@=ftQoO$Bi}FCSL+ySWfWM>-maw!pw$#UHtEgGcI)Hp~p8AdU$`#wroV# z{lr}M9YRbJ))~UZDHG47O3JKY_*#{2rOT%Vq+N50n%cWH08#rBFu_}qcBH49S<%wP6^Mx)D{N&iwc87{S5BQPWhEgfK z|GBNYbj;qCsU?tBjxgq2T8YVpA#raSW6C4pNg)R}!0O6F@t#>?!6n_jn?g<*@j(cF zYDnwSbLCcb8B+ze09Yb zdrzEIzVq#JqxsNS<)+K z9lmE~hkobl5)X(cE~c{oeU@y&e+CimmuCLhbK+Hl(Np7o+=tx=^#OOh3%)Kqe;f+p zXyROVXEXgkM;E&(y@R`FN#P%6YX!UT!s!m#--x>wSAMEdwm5~#ON&lGh6>b0q7l6r}(njpw+MB@D9KF z*@}q#<3BfjD*uOzYrMc~=GRzcgtu7Frbvm#H>Luv9c{ZIf2h>c2T&E+aE8j!Kg)j4 zL=nQ^r#$Dos8<6`Pybk_oX)$Tc=JK6?3Gsg=&RQ{j3-i8oGW%ElJyuLrH=Xd-Hfh{vRLZ^Zh4rXgj|?JnTM9 zU-i4E3km3k>{$qKmR5q8W)drKbggSB>~Zk=?&O1Lz&~Lq1$l|_M2gp1@&nz91b<52 zo)K*|m8|Cf%0oJ+wd^IS)&>Mjj-sX@U6;7E3EeR}+lTx(ud{IU=?HFE>!K42pf_@d zNBjT4@atdfJ0-vc)~SLwe;4?xP4Qq5&ysvLY|RP7)&6sy)P+~-FVEKEjD0(zH-V;z zw#?FgptnU3EUSA>Jj@IHx`Kux|Bprhbnq-*V$vz0vCp}TualET!10dMJiG6=2twb_ zxO7*XOB5J#T7~o+Hl+sR0rz7ROKO<4?o)Jhgnsn=^sSKeq06ik&4)Gx2=vPx-fw}m z{#7JhUV+5U6=Opdw}=prWDD=pX<`*)ez^BMZ6}L$maL+pi_u9IMgQLVyg2MH+}ysF z?2rLJ-5>T1Ku=h6$p~I>kLUhRi+c~f{T>W^Qzy_VdHtm% zE1LZ1s!049<4OiJXNxgrGcz-i(LVX8>Y$t0w)MB-3N2#2!cJ;j_L9NVwH7?Jc{3=p z3P~zkvO_{z%URH{_Z4q@FZd??WZEhDTon)L*aI)keR7wEhYLa z$S7UEY&6;N{{u3v^j|=JfKb;34-D*QkH$Q?g$1D}S@g)xSb9dOAhorRy(|?S0gu(p&<*4}IZnOKP zP8wH%*P90En`I-v$YHBs=hd_zj03OK#rF%ouBI$oM=L9OP=409AAHBxF+Z%ggyr5S z19;uEic3N=fkF;nUL5CpCbhl7aVgbyaC4|QzbZ!9Ix0mDneOhvv4wQ)F>3#hwW;TG z{AG$|gmRMZu&u5g>aPUjnJm@*&Lk%PLAceUHZ+>Q@=kNGW8b1Fw_vwNKMRo%*~ z^Zo;+Xkx^_2O#rx%OrdTNe-0lPX~NxRRI#!ux)`}*awqp!E2&f&g`wL1Ym{#@RdhX z_*PC<b$9`{xhRvjxak0pw&+%TNh=@0t`*B|VPH?=JvhAo7z3UE&DyBS zy&OW4deQ6Kg+jYK4G{YaMT3!sD5rxJ7NNWM1Ac{)SBGoPkK;u* z9yMFzexms&LjWC*Rv_qKb?7FpLOnOe9 znAXt6vR!o3;zI^ejLKAw`Vt;*#e(VSM2VmGl)Zytt53qogsxj7`NP4r(_IbS4BQXO zmvo`m8^?WF@)r8S62F6CZ3*IFmHh`lqpqDpG+X1qQl{1pyM3VDJ=XKCKtRVsO{mz3 z^(H0T4*0z6Zj(%9C#=-UQ9>16Mu;AP;k^G}bZNp9tI5lPvrdQ;=6@IK6aOiopD}yp zdJGN+6uNn|ughGjF#K>OoVa$ES9f%$Ybt^m=@cgR`}2kXV?xSYN`RHLAhWXX0cG>! z)OB6m9G^DCUaZ0*!k({LSpjU^Z86<*&dG#L`j6xa6Fb0V?_cP@N(KB`1K$t*DtvNeqR+iJ5Gg=9^lwdVD(dj?*nV!ecHLsi;;SM3_8F633|Neg;A^BNRIZ;UtTG)7yab z(+S9OVkif%swnEd1nIU^JbF}ibvn}XVZZ$yGrjuH@N9<9YNtl=2c0;N zdFMFpj-UdCi{R^Kf#bPn^Vkc=O&xnvDLs8i_ARBsNtdYV{sm3YQ#scY&$bb+X55u2 z#T2}Ajp`Tr#T``n^-M)DFFeR1WmM-d!5N&v8U;SG-<;@Q#7g{A(>A-=`g;((Y`Y5__Rj4XyK|c8a1A_ zxw7p8e>hB(l$yiNr~2ZR9=ek7doN1BoX_>F?sYu9>cPsepIGG%2)zP-HFcE<_aB{^G(g`F7+YJC(LG zSEcMZ)%n`u^!}s=xaixUm*vA9Q5Sz_`vl3C9j=16H!3V12nSAXs^mkIta{k&8UD1=19KMvEEAV0z1hg4~|FR8pjzG zR9zIL9BK~l1i$kEsJ1v}fetSdm@#zn^R$YZKjNDsaML|9J*HPGn(!=97M|oPwve6A zQkg$Zdv&&|%*XvvSYh$jQ!^*e=P1DWhl6u@^4M5l4V~7#zU%3;FSN7KXagw$45^Pc zmpFF;NLln)qKQFNMjEeNBrK+7J2T@5sg>{FlfUH{FqO|rQC+pdI|hZdD2$JXnD8Lf zdZIZZ!;T~B>S58jjVl*dW)Lkmhh$42JjScZ_mQJYekrzJw188Qf<1 z>#XYtoZqXL6>tuP0iQj4U{H7G>eYfN#z!d=@gM?cGGPFsY?Y;N(QYl*A?N)K7Wi(afQd9Z@>vZ&#Gc}T)DUdCeAtHaPj z)e|2oq>h^jr$$Sd=ON=g)&Y8^uf+R$DkfT4q1%}?F4ZQaO#g$tD(ZxFV-VOV;0W<@ ztol?G-=k~n%PZn}fxuhfexSbw{tv?Oll0XqaAMiCTymBN?PuDod5Ydq$lEd`ZPuXE zWM0nr^RV`j>{pH(6{evO`7=?Bj+?l!qXV!W?PTd;zeiQV5aoz?0=AiGE!Nl!!NLyi z{LvP}(^yPx%cE)W1dWg?3U$=#j=hMn(idXthe|1)aJY4*jR83*aG%F|b%kX+FXmM9 zSgI;M({@wp-WI)F4LAp;6wBOEB~E=ky&u9FLrV5g=n?Xc`)GQSSpRd&U!}H3tr(9{ z&^#G81OZNUk-ItbN<`aCeY(*Q|8Rac?1xo;4a~;vO1WdnNPG5eMh4+bRIu^${k+QF zt9WiBH7jBJWmXnjov2Oz9a02!F-Cf(o0nO9jt?XZ+ligo(4F8x?Gv*_G4wRjJHrYJ6 zSy<}x6a_5NnLK>iS#kJz+P1kld-#ss=*aJ;E?fR^AIe`$@K+xCgl4Oehbp_&5%nBO zkkFOq5r$KwrNvNgj#t63$p1qQ{chcs76y6cRnXMlRgsoiTJ#Jc%XSeN6H-|BoYe zmcl7&K~Xz|nxgO+X|TXHySQ_V>|(;gMW&|wt@$BtBM0RxN;`*dhC_b>hM<#t!5{Vt zVXdRH@@JEn_9-oJ*L^)&!D$sy1`ybb7La>{>MI9bvvjNf2l*O$${NVsaGWT^f?Nq3 z@U+aw6mN8nT zz!zfIwp`^-?gqQwgl|P&x!GC6Sb5sq3#Jc4_1*IIPSe15>zSv#lKW&)gR7IP(Ww~m zO%;0{)XpqBnPhDM5zJZMGu|Udbr&f~SiR4KO;JJIDl0^55-qNKXU~1wMLGcL zv@F}%cXC}C*G>M~_OU}Hhe(HcIRMsnTK3cEpJ3X+aktjPLiO_l9MQx3Wr^{&dJW~SN0jWaVsrq)s6vuI=_14-%yd7kHnq+bq=t(Cp6gVY*do=o01WdIX_Td}SAXFpt|~lmZdTJgo4-D^KpZ_j=eT+Yx#k~-xWUwe zp46MbkLd`K*$BHQw0u`QNc{X?PDnK>oy?r5?o!YXTT(UOog(mm9*LyiR>1AQ3QN;S z+Z&V@*^|spQJ3|{Yf|*!(zABU)3WXepz8=XUzmBP+~I*2%t!gB)$n@vSz~-B?7a*z zFBb9RYD>~TVe}K)SKzbV`6uvCW%=Ow@!s;O-okpy2(O9yJiaN9Als53-%MQm{4FJT z3qQntrtwGJ^v4!BYPW!ovIMWy1(cfW6W3=#};KyL;X) zWv}%*_y6|o*f=QH5eTnH zSQ%nP$UD-J8Nt+DS`&n?>+&~FmEy1bX)};qexsa7CUA9*`pF{ZTXpcGyBJfH;_Yb2 zb{5Q-*mUs1v*v$4FEs#j&xQc4-u2I2&Q9I|bnR35I?y+UyCP^~xp6_t_UD^j8+? zbw}UAvAiOYkK0;8aSxly(4I-Q7h;kxm+YT(Vhk`9T#YhGu$7G*l%Zv-(p;j|kGGKy z!=1HOo~po#-z_SR;H)bJ$rNe>JTvcugf->Mh!0XGtVmmDCr;V#7f)tx%5XJDceS-= zQA1T!2>!Xgo7pRA^DsXbgt}wFqdBZr;G=w--(&mA+EdO~{=YSmPAF`eFr+Z7Ql5dw zyw{{oC9DnNX@lb+a=4XGbefM4@Jc0~S-z#3r>1w4l&seh@AtuKD76B`dIYrb)rYbn zb+2NB!$=H!K2@m5cfA%j=gWecx?{6WLX(Ij{}OzD=f9}#k_njb!}(obpdZe2P0duAdXb)-M73WzfZv)N2SmAG z2_}=O2hCc7tk(9RIinhEk75NwiDi@l>ZfjHxe$W|3)dx=w*18-7cyAmlUGw+G@0mk zF42OQnD4+$cdz!4$}u#IbpMAdu{&F+31+o7|7ob@ zouGTS(tX-1P-{fv7ZC*DRX}s?i9zCw228>k9R;u189lhS9nVJ3SNTEPS2}?ku*cFc zDbVuK*B)Y3l?EPP%!afqbNN{3Pk`oxRpKsERso)Q*KbEo6B5(`L|S~6?(qhrZ@Dmk z7M#W+NCC}bmfA#b9l>eLp#`>A}Kfxs8iZRu5SXs{YJSZ?+95Jh8l*Yqazbz{Hv}drlKD*&Ae(Eekf5uq6SYYv;Yg;3uhJ zVKnc08*`8+VwnDoign>_j!q)}BJNh4s8!UJL6L5Cm?^ytjk#_iRGwIxdWF2=?si`! z+LXW=UwcSy7@(F`L9FOnF|laV)G1hVeGpKZRAcAxyfl^$G@3VUDX*?0(>AfmhZ^nb zym@i++opaAjTCvWU%4cuIg&D7l}iggfH{oRFf8i~8iiJ5&ICH|@Y;YUD*|5MjS@|< zFT4Q8QO!lUeO=FT^_n;$-ilXp+Uw+UuQ(F1N|0uCC$E1xAIFm4BtKUB?FB!{`=8W; z)=NOGcRg{ke^aUVuLJg~UWzHHMJ{52i{CPEAcE)+n4R}!^~#EvcuR~sEPowBq@oe- zDEHMXd3bxKS>EEtryCQRP_;+T)*FVBlS|e94f-oc#r!%&?2)GFLIw!UFuoJ2`W-}l_dQIJD8u;H) zYD1fv)>fHlJMQ-c9+^Az)6Ww31Ana&J6^h` zU#WgRyYB-(7_P1QaJWEVs4--+Yh#?8g`hY}UyFpkx@ewG?k^TIHDU?Pn*FYlZW=_! z`PMe3A6zHx5q3Qs{bTR3SAB+9 zq{827&w0dOY{$!8H+zk|;&dmYJ=&SYdW^Fp)e0>PIhFXwMaap{1IVH-e-%1&s^}l zEx(tIpSHv15z55*@q;REFPd!342u?>NdYy+wOXL9rOcoy>y9u9lCDcnK#;6Goxy*3 zH+p@2J$rX2Cx!`^54K!N%sI0g_sgG@8;XP;1)xT>r3By+ zPw|``+TUK9L&IDq2;1;!UY@mCpU3g=YUxZw>tRctkosdUK}dyax|iEYvgK~&3MnfA z+;}!%pwf#yu>r~j{+HvClf7kQ4}m}+zJ}0T(Baxr>qm+5sQiY~1Umw{6uOGvyOS{` zxHO_<_Cf7Zw1XXQL&GPzA~lmE-L}e98KNFS@$2$iJ~2vahY@D;C*ZIpfe3#E=R_4! zn8U&mZetQbx3)?y#A~Tc9pWUd+DwTnB=^U40xrU*5JTQK9B}H`G)O1I^)>tOxLQ1oXodvC&4KVm*@ZmroN$;UwK2lWu+BWay7OA?N= zYGoNJLCi+mpB?b-;?Mf_m`Gjao6(BnI_N%IAbWr-{I$stKa$}8$tO2rBGPZynwcEm zl%Cwg++}OpS2DqEj&fZv1{~PytRUISZ5P;kKHNsMX1Rx9p8(GzjO$B^c^wE^l3ujn zAg(-opF8u{?|Q7k#B7pncOKK7Pw6j)YfPW_o3^h6sEA*&G~4UTtm&yTc^xQM9TLYN z^f?I#rihO;DoGU62Q(iOjYX$Siw|q+8xKLOa- z8{nhZnX;qZ5Sr?X$b;}gYnAPfqZxixxua&?(`k*lK@JtaS^_v~!Y}V?KaNH{F&^u7 z{IK&wkZt=dciS;iRrsdyrSwWBvc^5fwq#RMW+Uex)vFM+#j!CXwPoM#87thlp{l3m zq{g?{XnmBhE88ou@1`N|KUS`rS!!a`5zSTG>i3~cQHU6eJw?edJI2-_|MW1|;oVD? zsYztLjr(ay80}8N^0X)>tC;GCW{!?Q#!|;iOYH+IZ}kpeCzF+Q6(1J zEXhav6&}oxFS&`LpgrL5gM))Q1!H;)mXn@wq&O4IEW4=~NJ4ztR!DLq8weo_>HJi% z$x-M1smD7@_h0;Tf1~YObfkrmn2Dt}8)#<}GD}iGpC2xXir$av!GnvqN5Urp|FgZe zn784Dga}E+OIsyYnfoBd-#JVsr3qNa#8se4DP)#R1DWI-^)!AB=&x;BO=*!SGP+w? zN`dtoRyGP&%g58UpL{w$u6B*AE18clN)(siJ-z@WEzbw?$!u*|*=O_Mx*e%QGQlR8 z$DX^N=n+3a#rz&-zaVKzMHyq4IRD^^gi*!CJ6TlCX+D#qH7CpJH3i=(4NqtXTm%p+@~b3_%w`WeaJ z>epot!Ga@IHTQwvj$aDX%>4BOhHb*iB`&FYQ!S|^v$`Ek|B4K2tkSW);NlFN&!Q3d zt__=Jx|XAtXiH{yB$wfTv>R2RzZotnvv{ZnQnFb{yX1dI(!*;^!k6$SY<%fpr?j-;4&3t&5&MvHVR+v9o=3dgAFLWFm_X%SMsAtFr0O?&96tubX_mFHH$=is?85 z6T^PS;`0|VkeG|q^088$;bO}jy4Z>fRdFal zWweMdeSMX2xZtlZ<<`!zsYgyZ!O0YB!?qyKq&J{G(|2zbxe|C-RfRxxt;>iBmbgcZS*Kxl zWV_lsm5=Zq&cRuz#k@YjKiH0yMIUjx(7YV+7`1aWYcKz(j?`fLEIl1h7-1;^Z7QA00SGst<2(NkM5Bo8vItu68#(UZ4h#$PN+{7;{ z(5Ib&ojKb!URjgH9NOTD_`u zROE`gE_Wu#4@yPBtKyUAWS=;hJ5>9@l&21XsW*`8t#|6dco*GdZrUw0X{AN2j@qImmQoFF2D*T`1-9DX(PTTa$vAtx8L`&6iswDeaQnXSXM5i% zN03LQ{#FUEgbmPR!GWB4*}6CXb!IE9;*9Ay>3haaZHiWwA|K0z=Bttg|Ly!`t0@Ny z4&a{6e3SE9Q(1y0yBV)7PN`$s7^5>nUXCc*slNSxLN}iEVA_-^Vs2@!Le7loAkv4k z!Gpr9IzAz!EVxq67)?c^Lk)fguj!g1)J66C%vL_pbcO-cP5HW1&jzyZp~~joEE`zy zm0q1cEf|rR<%t&I1~RV+TuXVY?>g`WC0bWJhX`G#N!A?FU0U@JG|4d@udS!&2kiXX zZG-D9njni25pVw1Hc?TBlizWpKdWRU9TfKxtz>&kt;X%p}OHk$eqXpx_z06P2j zx)Az4Ux3q~-vA{zRlSi19eEoIf-oj4(H|uF`_3Ugc;;> zC+_D!Ds~fj>FsseIF10Ab%>1?$8Gk{Wvv@qbgMHXb*1!DHaDo zskg+I__h~Y;~>b(x^>jfa5loL(I!3LyAl&#c44Jpcp#umzA)^iJaYO;N#XLAyT)st z+sZi80eVP&1v^v?210$BI`4b2AR%Ey9dcn7_GZ;Q{9!z~!2}~lt;>rAVo^dW>j7C~ z*Idq7D``Jt;5f?;r7B7Ltb1aGVyyy;ZIcPM;^^%R2iH9bWtk7RiWt1K_faV#7c!iXbcd&?CsuBJkoNmw`q-;k>ak*k<3_)S3P0SB;S`jr<+ZS9!MV?Mhuqq#&+#^F`I z8hrlpekI+NME%7F!YP4`DHi6b(m@`sRpkAYU7ny!D7s|XGVgdn37p2D)`Hbgt5=>( zp%CJo*;We$Q;C+oe+;77)^7igwn9dC3hJ}k-t4v$so#)ddF8RxPKU!s;Cwyo5e)<+ z>Z$$)Yt-kxEG1a)_z$axDaD4(wmHpZWa{wnO)gZO{pab{@w9B&=U;Q@3&qMKsB1i> zzFPFSrBrtt1?vq(ciI)MCIO&&)VO>#Y9U%IVN!WN0`FV#=6VXU}sUe^?iDtW*?tc~%G1hrM+zLm0F`s@VJ< zYo?xaFoHs7-dnUK7M~uYmsJob=|rmll0>&aJj!J?GA}fhuek7cuIA;44Z-Q8uaT&j-DXN_+ko?I)_vijS2n2PVZ>;m0Y^g-eHgm@OwugE|)!b1YNO$T%eu+cP#^ z^V;QClH>>#kh+8m7!f4$kly%N$w^*AlDoyw`YEn-%n+2}x$9SW%tkhP~ z^Pc-2Q*g=BXxS$4aVjIjIJocOs%+Haa`gQCe3so0RgxJ`{6&g@(s1+@e7SW3)_er4 z9@_&GhQ`USA!W~=ZNAs-kTtR8Q@&)=1#;8=a+_Z3FQLfwdwg#{eD=bk7N2EQtffGn z`xacjiRX%2rZ70$t09Pz16p{67C>QhFDL+Tp6__dELm>-Q|k@by1P^#IaJ2}L|;us zy}o!Qw(ZR{e8`{SV$Decl)6m?n-%EkE!~bzpSN8;w`Ratu4$Bbc;{x?kBShZttg$(GIL>9ZWwQ~(0U zk5qvdP;00k*>KRrOXh#7mif2&LI(hR@No1b(zOSB@*Fiq!%Q#hA;zNnki*N$6*6zI zDzBxi>lq;^j4VDe6LcHd!X{=ehoADHg!$&I7e|1XTK%y<9+~0i%1oTlt4SAf+m9f` zNUof|FsOE=B$3V4R;daCS&OYD@|WgedXi@P5As0 zsMa6GleT$lWe;uan`tZUH-ybYqA55WxR4GxE|%;R{Zph$1^J9_7}0-S98|QCOY&9u zG+I9bL6b8reRrHp{UMxxcAh`vFvc;w%H!jDORTXTk;(QJo2k2SQZ8n!)B)I&n{Pqjf({Cv#{mzd`4 zOjC#ASmTAKIRx?#)3P_D7-pH$m%HBkx%}ej#T86x!CKmkA-Q&OeC(9YOq(fXMP`WY zIyu-gP5>MS?>%l)>|YBAg^?9D>W2JXG2JDfFMV2ZlTWq3_aVqALwc753y$j|yUzUa z6f+B5SZoZAiVwfma{M`NCFo`-o*?l6z+3-sKtvC(hq)`B3w>7_H6Xf0i+#}k)rW>g zd#zmQGAIY9d9Zp3yO}TcXCK60=auWLk^Tu!O`0Y)jQZr&1?t218|n%p;_I-OUPimo zSw20mg7CLRJ0stAh}c4^g{PZ{H(~N{{^Q-I4J0)A`W#Oaf5wn9JQ4iMo`h&W%+mE+fMuiz7iAi zUMi{tDr266tr9%twyfrT2Vp}{)0m7XRdsp-UeU@pU&PGb0SxV>$Z(@EE_mKdG14P< z;gWZ-tA(g8VzfH67adnR?70!e2&f+05x%g-k~Xq^OUP~XGo;DsdwwrICRwWRHsXxa zAUR!Tv3vIDm$ZZktq-!ymp+z@GkU%A1CiU_$7X$Qy79H{LIJ-oItNNA>FvQS{48#e zgcQ|~T*I-I^PMtC6^LFnD?!8eC9Yepy9-Zxvs*H9vY0Lye3%zQH+^nCb%z=>319ny zmHaCeMv8ewm{cy_?AAM4h(uFa0L)tv1?Iz!2pFkv0zRz@O`d{HVf>Y6oz9jr)@sKgfVtBHhDDh|J2SJZnEYBJG z;kY8h8-v<#G^&`Mn&K*Y7wD=QBd?6~vM+#m$G)&ZyaGmF=iCb^G)ETBvC^ zkUFHF{hrV_|6rPBgjh2 zA#`988kQdUG13%l{+6Uhws`!fyjbMQ9&&`ukZw|3Y7Hm*Jkc`e)$|VlAG0;THSMS( z!b5LlRu;PxBWeGPdkpV6A5YCd)D678#uvHwb@_Z72=wtyb~9LAu=ct%GkCn1@Mnf? z12KMSW^6$_TtBQR*z4d*YH?!CEScuHM%0)raQ3p*f6nv`HKxdwhn70)q}!Zmmc(?Z zTRI{vlFoTTL15^B_`)WeM=egk^~ZY-M)(NT^G0<6K*{2Jcugk8((A$ZYBti*UrLU$ zE6)ggw$Ag^6=Za39q}-5vl(7#Arv%3l526N;aJJ}&p@p1=~#DlYXk)qtAMZrcVn?; z_q*HG3qrSH*uctew%;ni?`hezr8D8+WzYxuc_s`fh@6sLfb-Zf)G&SnN%pHVG=99c zhuzDjrzc0-oxLHwmd8!1m8k_7)V~g#$g#D|u;ML4V){5{mfEg*r+J~q^xFzI{%t=` zC=FV7Mtl(ih?$6Np&LhC)!dn-<1^Ijids0Lg`^^}{SAT;G@bRzPSq3N+1{L~#13Or zX+2)<@b!+%;ATS~=3@(4!9$PImTo<{-VGM(LJ_53nNWvH?Q7{BO6kME^upzK^jzV6 z$gzx}c2k!^wQuW{$j05{@4|n$&es#@;#I55ur<{fnTiXGvn~;vksA!%!AoZ>E2Yhl zGMx4Z5NQ%riOj7dy9R3z(Hlvg5SV;1$LNw~??QacS)Wk|Lx+aB7&0Ns?C#~F0^ND) zA(z+J^U*3g^yFG~po-6;BH(sg*RoShoENSJBaH1$2g_rhkNn!%DhR1M!D<_w2KvEz zj*la-aH;Q0AS*_6s}4pI1)Zd`V|A4p7nG5}yo}0k-Sz{^1a=leEwx|t-!QqlOoeXr z|4c-p;$B+Ww)@-@JBa9fgK@nGaLLHQ<2saosR3sam$oa7zMd@lXeL=>I%E}MV>s>W z90trAEuOrtSCk`L9;~Y^6H*_SZtPLTl8}FGbFR9=v8>v1qYqlA|FRsC{s{DQa|`}8 zchEl%(m@VWZbZM@Y!S>ZBW@w9cbKGIIZtOTW}TVPnU zxaElCV4$y_cv04{W20_pChxUOn@yw=QWziBHDQ?m1xA(_KS>y=No@|+)B}<0L44F@ z#+D>P+nt8CExtB=QN7BDof-ev_OZPL`j+>?u*op#^yJ7vah~BuxLRp{df`}8ZF5OI zgi}?GEKyZ=55j|QV$CEA^PQ*#h%%Oh9w-`1(|ArQ+1?Fh~a%=Qrt1Hx;=tRWSC3yqLn$Y=!kxKUR%f6chSz++BJ`KObol70$XwUi;PbV?v;O_Xn| ziKUPvj*=dJFC%88O%ih46(}%RA)_|vGJU4qNLfN#Cx{4hz&?)-cjHeG&9O%`S6|q` z&zCt!kpTJhW>aM#vRhFC&-LomOKi!_3C9^2xpD>ziS!Yugq{p!= zb5G6MR=Ounp%IINKPw_t5q(`4y5ko!2wI61zhT>FI z^ZSQ6RcUf%2Wm2UCGbU4s%<&vi(CYH$4Xt*Pa{9N0pxBeSp?P@hXqR5QH zj(Dn{a;6=&w|81{hvvc7!B$(7OYdGNn~6sM#sR>`!pTuEg=dv4Y_o+*=B1jZYHRde z-hP`D!&638tl+oJ905)Yfp4jvl4sJV*a60*v)B8zbQg?c#r<6I&;hgyXDiIX>FB;g_|yEWSv*0dg!Y>mv=sr7(K$-QvZx;7rZG= z$UQCiGxk_yuZHLIzJjl4;IgO^oK@tsa?0D^8t2UZ0mAR^^T5P`h)-Paf5IvF2>dl8Hj6qsF9URD~Fe@rQ{ogMNB zqbk8^w-pOeXa=16*UTxr&7Heb*OMX)4tFwO>pQ7 zD`stkxrmQg^MwusQ?O)yazh{*JzOLXPaUH$NrY#d;3K@UE*in$wzz1MQ<7KlM`skn zvap~LSH^ZrfQAiStVSp&s2}A^I=rd_dEjn~^CBdrM?(M-dQd>!8a%A;hZdiw7}>hx{9eA!DaVzQnL|PA*S<&`%frZF9&g2RINdoFChn^DTj9*Z8fPzl zM{ITmsbpIIkCl}JS-FG7UXqgmD?7M6`CVK7bpE3mr|N7du24I3HH>SMUZv#SC>WfEWNzmx}E1L=s{hpeK8!3j=osMK=7;DCHaWk77vyftyUA^Dzvewe^kZlwS}99h*{r7`&(n4C1{ zNw)n1ahFgfi@9}jM2*=MaM?fOf_#;HizW4ukPt;&%P{XRZF%zPWm$C^r2--g=r>xp z7~&I!xCOb)1*)M2e2vU>)a3rMo(C{A#_MF1{l&yMhPp8RvzSf=hTzJxd)$#cMskxc ziFd`XsdE;5UcTs0^WWyKKTu=;#oVl*IN}%1iy`tMzXc`Dtgcbm<{?YQ{MHED<2IrU z4W~glR%$Ql;4{?YF)IKIkW395*yGHfV79AUYp$dEjY>$P*g%x>Ym+STt$sp!-d|6@8(?-Cs6RVmdlFHj>u6f_FoCgS3>$*&j574XQWzB|C2DwB~A<-d|K z>5(n&F&$pYfzV*tl@8AllhML6tizmpl^N0K3BZ85r#L2_0x|Xltig8H?S5*<5RbXj z$jqE~Ll-0x?qJ!5;pHu9p?K-Qx33<^4O`oIt<$0E(8yerzq~KJ?~}>eGNME^I~Xx4 zevuzrBU*Pl-m5+HcMdDRb#NOm0)Uq;K3taCUTYUsyfFQTsgXeS*EqV0NY=lAfbV+) zJaLio2~%!zS2APDe5m5uKps1O%kz|Jq`6%24u0i=gQ;hBtx?%izCQf8ETy6zj9jjO z(7GCEsOorY_md`KK1o1+0$V4ue^k)py&7XvGyMphdj!7LGh6`y8=0L9o|ojRK4lb~ zrIy{1XWR6SZx6G-J)16|s(u%w8U;3Bbup}%tuSBjcQ;G!c44F?{JrG&dIQ(&|G+Wl z5Ts8zUl@*B%tS8ni}ho?I8Vfwl!W8n5n#cm*!YV)N*8^(xjUVt1BFqqAHA=ne%=#v z42|?csCkFa)(uy+5q0HeqDL7spO>gSSC}DK+F7f2{ptEaY9-oJJ8-hUjH5L=6CSwx z?%esYR%p*-o%at*@gc<^qav}gLrjhTTc^$Xleld&_zn0P-_;4^cYGV3MKn1H@1$o{ zi2#b&$mUY(ajt$70x(ChB<&j#d`2dZEi{NBwi0POL`H!g3^s1@iosx$e)p2Q#z@SK z$Y;gVwLD+2`eWD5sUGU|n3PtSaW)!_F@9J^yx2256IeKAycDmqx9|?IYM$d^SXhj1 zcAJ|Ik`k6;Dpf{`jE3EET~6)VTt8mtg!8Ibdl6dJCVO`VyuU7Y58aGib?AH@R9{i5 zNwLxIP_#s)ALLS;e<`TCa;@Y#Ig3|l%NYl|0^6iUH?+ri32-Ck_7s%SQEIG({7Si_ zont5iUWZ;?JL*xO*&x@*raA#<@^-v(yuTLMkY+DtiXFZ=FQ$#PPcqmOq~z;#vafN} zuhD3w&|TO!Yh*s^cs(e4-tLD6|65#7|2n)=O7r>9Z3=ujr`&b zUaUXl@3en6co%5a)CydWqAPSlTNW=W*IS(tOb=!&cq}4_n5U6N)*Zx~wTa z+C7y17QewMUZM8OoHFY}=tYU8&|oq=nszG-kJ1m-}c3% zEwD{Hqe~+rgNIw4T1FO)?1LC|_GLVoZnhf3>Xv(N)&=c<6L2^wGkytaa0ZB&cm)}4 z`QBn=uUKN{6MUlv2~EQ9BtI^~X~RTUF;ep@U;uSm5^}~1VkeTAVGYRQ={bhxKN6EX zec9fkPQQ-%4`QUHc$pur3Sti&8ROjA(|KNkFPn3tByktafNlDx%_ZmO*RpM=huw2Z zxPZ!|aG)iJO*S@O@z_o>ay%6)^DpPGI*C_0Vp2km*T>rj#>xd@mS=1Gs}T2kdmRQo zo>n`zpP9@)m{8PLDx{hJ$S6bafdtd(<(k!xs^88(-jQb-%RF|Krz++Xd1lZ-Pr$@r zvK(-qg6OIwtR$&V$v<2OvG!`Hua9fyvnP{;f|D-&-Y29X-A!p#m+|%SNlrzWeaam%a)nQSGtX-gDShlKh|0?xtlaY8hBF(5jxmDC#2Sj<25G7V({>6f*xaeZ3 zg{>bL!@X!;7wxC##>+@2X*kzy>Ehw6t4=%Yg<7d^{fA^vKo5vWp=!b>a84Mqj%xP# z{uVlolY$JvC{0N^jR6tmETxc{?JE=C%tOL5ED&qSC}1o?wsDrO4VA)n$cnt09*Z?1 ztzz#1wGrF-c8ovsmE*E03D~Cl`l|ERyS(G(UT3V6)|DOZ>*{+mGiQT<|Ac=x)Kb6X zCIfgJq)X<{4hV0XFawX?`ux1Vue3c^E~~TdH(&V$6o;1z<~sa1g-kk=p(aLjnW1XU z^B^x*3Ifp#1#u$xGHAVNLTJRG^oC$7G1RYQzFQ+99>A6htkGjQR1I9-m%Jg1x|wB} zn^aH_5V-U@)W_q3ypSDD#ggY3mqJkgiVy+cyNVsZH2-Bp8cHvjxo_i+GuLt;Twc~y zZtg3Kp{^xcfQXN7BY;h55Uk$3jn~|M(YfiooYnflf1ygYw6xxEe5EV3du7>04ftnc zDC~&g1GZXSp`IKDqD>#!l>a?>B%sd0Zvm7ezo1CblE|8}@NyQlIU4}Mki zcFWqIy4|fGC7adREqV^A5_jcFJj3S9QO^T^Q9}=~S1v<3*nk7F%pqq%X!v6XZgJFq zQLq|K^&?5O%i0JJ+E3Cc-aCo?N{VJxWwE3Daek_Oj~< z7eOZ^bhpE&zcd9F9eaTmX@}Pe^*SYu#_m#x4f*@{JN~YLQ4=NZJkebx*zR2I2<+Tb z%C^7?t1q*Z*mRq-%U_`FUr+8dEG}L^(?jOdU1r3;-5^x(Zn<8G&@E3cIx+dPn7)ia zrIkBD@c~@XC`LBu%~X$U$QO(VV|lV3&>SOi;{*|~6lS7MJCm)NcnCgF`#fVakZd^m zSPho!IRz}CS_X_3=-y#cxMs4iQ#=}2qg8-1VejVnK{t6z4OgD%c7J?xIh!wfW5WA} zk(Bih!M|HM4AHVe*Zp4Sc5BEG(A9aQ3$$$ZdFgldxm*6ifn@t@yuiHKb(oD+^lmV{ zHVG{R`8n6}6Ane8RIg7(l?hqjg4|vUp zMEpn&4sm#*f834#sPEAYgS2RFeIsWBGZsBmd4fOr?dXAN*}cu2zFuxr&#ryp++3c> zlU~?amYKbN;IVVB^sn@7qDF*sVz45`a~}+5z7a*6MdlFxnOX9n{?eg?2HgsfhPrSC zA|?>orUw*M3(CZTsCCPT#ao?qdjfhV{XUdWfrEhIjw9K5p z*W9DmQG@7*M7jjr2$nG}W^s;Sy7K;4Q0e1GnvfM7{KQO~2$$*P*INkOnzdG-%sfrq z-M@T+ndm*B{XPGu+fdc}k^3OjFMrfu;h9ITz!I|czFHREG8a~(OI0AH71}KB$7GT{ zUg!b+5d6tNQ|5eWMWt@H8xVA$tkT4xrXHy3#B>H~JvV8>UBJQwSy;E1UQMw4>JF zst&~LmFr0Q($nOvSTIy+>2c3H(DII(XC&BwXHaG=EHg2ZzAg`B)lT@KQGOa;St*v% z?;S#*_bD?syGyp=8g?uBzd9e=e-c6HIz_6_aWG5uK+h0?Y*lLT%G^48eA6zCGZk`1 zNY+7AYJ!?{GkoHKg+c(}W;(Sz^%T3xoUg>1l-p*EEyKS;lGT{`>&r9geax_y zUX7{~y;-E$-AGlK_8_Nh;6%^ig6YA;7&pxga5D!qT^U$E%VUv8gtaYEQBEF7M4y98 zH=^vhGmRE!oKZWSh)R3Lt=~E*K04-mid&Wb=ovBzGvA7SbYi3lt2G@n((oEH`ZOEG z{fRdI(i0cT6Dj^nCF$|EQ@MNRdFHPpUkE;eC6D7Lisz`cP03^xS|f)jk7Ba#`3}M$|+Xgkz~%%+UQ01Ws0Fj~kfpd<2n#hAjGS5ZW_w zDAmov*|7Ly?{Gqp#>ODx?Pf+<^^YtveB_Dq3BA(My`@A-gn~F|0JcjVPQL{wp4;z1 zvIwvQku@NxUf%$nw^jUQh7Q1X=o6u%c^I1}wJaa-M?L!bURDZtaBQ3T&Gx6>mDaDe zldrDg+e0^YFWlwB8C`aBdwRBW{|9vYBpdG+?mex4E+gf5mk@|KUTCkVS!xUMcuw5T zal<}Tlt)nOR4^W4pol;l7qFz~7%Mf0GX>$T5ch=><}dJX^n6!^FdTo$;KQ#gd(anY zbIh3Ea^d0eT@l*x`WwjyRV(twIp~=!_~eK7K%k%h>$<}g0}@uDZMn%q+wm?$!OQYz zDu}!)@gAzsAVb@}G02 zuMj$lIt#Ym zognO7xJ_r{Ur3?+>m`q^^;6H&+ugmgCJC%#6s)L)A}b7$Z zTi~$8(D^y*+Vl;!TZSn!jnNrlI$BwbfcsZx#fL^1zo-95P*AKov%5YmD!xj0NkL>)=1ji z^nnl!`4CB`{=J3*d|d@Ta_{2$%y>04y{8W4E9u2LtR`NCZTVFssdT!2h}FN3R40sh zRBVjSOf_}@4wr(nU~$^9yK|x=k_p8%%T;Ek)%OyDZ)?JM7!^w_N40+TtQK-SEM|W@ z;X!v{WGUBc8E?HanoI^A5~!=@05KN{e_>Uu9sAz6rhJ|;uetp+2d6wBhg^S;Hc13U z$R)xR%INt%(fp@u5|tP>n><}H7P^;e37brkN_cPi{$M*4>kHV0GkV0gqD3LY43oEBKng;EQwoBIl8>l8CW2h{g-_z9{-)eZFmo8(GH<1kA?5T- z+9d_y$kqr^6`w9Gq!NvQVMJI869Oe)ExyIeG7ECM*Nmq>we)(J#w!M{5N;|c-_>xI zX}R;zp&$)L+DQKMtUs+7GAkf#8;J$qUOsZSJ3e~7pI-Nzecn7B?iPK-!uz3n5syd_ zhAG;a@6iWDR9F&XGcsBNX`F?@3W`WC*Z8Y(4%qD|U}F}HhXR=O^cFfK1>=(%?EaRy z2*UU}P~(uP_v~OSfQhMlEHs@#aDwG)JQj6PCN~zHQ&FnO^qDfM<5y77rscQ!MMxEa zI>`C6*?Gzk#rbc*;4MOH*waZ3Wx?W4;k@0<+-nCkyeE;!(%$d1^YnOwSL<{I-MuaA zqJ3viL;J_=_amO~BnsSx{xT9&HQ^RsmUK3C?02*AQm>T8!D0i)H`72ac-d>3uehVf zEPv|gL&84%o97%pcmABWOw!~)0JF&hp zc4`?`LvzguhxLQVbuK8S^0-x?A|0{60&DNc>N8PO&>PfW0>Vui+2{Vyg9>uhs-`7W zh2}n37E~WxZLo_|j7BjM#Tl1@@)7Gw%@Kj{`iSS3+E^4%7mld;r>ziyj`pNy2% zZDc1rbs$?n$YFsUds5fPmjhgBn1L|NMvT7~!;rfWn#P#E1QaXJq2GPYi{5ln{&hB3 z_=V1!=*3htwHo4qN6+ltHWJ&9P?E~L2c<3`ku{N`Od4}5Q5s=?gI<2X} z7=I>ZBQx9MUt&gnNmG2&6C!FJ-8>#JAiY&E2B+k@lvhrzjmLYY_f;10AA(W&O0u}E zR<>Qd&aEhG(tYJKp6|QWOqV8a?;r2)?=^f&Xzso`-L4LXBKLRGRIVQ#L934|RyMeB z{TI-++dgv_F4JGt#ZvQn@YcmuVYP8Uf5aTv$}Q&F;h(xwj#hPwLsG0qgeiA|(wdrK zQMp$|1=SI^$YFZ{V|beWgN)z-bJ`)h1bgk2J5qVfoC@+Y$-(anGL0E=iN^@<^LtHR zNc2Z~3VM1q)a{D#q`pJRBd@PjMp+zUEor?BVh)%DN9!92gPhPQwg`2l@@N(ZVw510 zxCM-juuiRsfBis|tonu@uDAYm{B=Btg%TDeQY9tQpZJAM-t3A!89>C$A^vhUpDVWZ z{8`#wQMrrY88bkvUD$K@!t9Ll0&S=ZFH11`DwlyxNcB2)4Fd`Uf@xG97Z8KCH5~D$ ze{#IUPf4bH=cFi2__+)E7F%vzfMrC)lQr~Hq>q`zl`O&zlCvpVQVXj6b}}Z5dedx$ z8k(tHSD{}?TJbZU10!f~<9>Q7Exn->2XADT=PNI}$zEgQ?#&UrIZkw~ir2V~_F1)E z`RU&7@euF)bgH;)Gu>aKgKmn}pkU|&w;7aBg#jUq@$f}VKMr2HrNu!gZtGdAg_Ut7 zua}t(b2FwA_AYc*Sj8U=%-_Anq{=0-5`avi7K6|?=EkFv$ngOE5=Nx5zBxoMzC6tT z;Xaa^vYYD>=S}Pmj77$=BLn`JGz7){X{q`ZW_PM1RUwWfM7IPFu+np~T3UcbmyPac z$bZFLu~FJaS=v}%i?i%~L-^u?{#9L|reH(xx!39`ycOXO4IV2(o3H*91tui)x8y5D z-UOIR{?Ur`X7)$u%LuB)pmfNazm)W?#U{zj`V9b+Xj+A4CezZR)*l)^0r0n-ib^X^ zSY8bPAgilIMnTwwN4<-WoU;aBCa{%q>Q$*n%y}~hYp{O>u@;^`FlKH{xofJnPu}Ph zdX=n=ErlNpJ~+SaDlaRykAKNvrhXcB!wPEbdf?5g-(5c}JFshI_qqGjZg)T1w!6LP zwRd_gH7!T?*Ko)-tWox+VXFELtcj;`N_6Qp#q<)KFvA4awep;>MILkqWU~jMYnAwjjjWN;cBf1t+tFAPQq|r3V0TDk=LD842}#CV7iT_@pBwWaBZ;yy zP8A!K0Jm*PK){VR`~22IjF-?KSddj2Brw0Gzn!jy62HPWq@SZmAuzngf`AhinC2;% z7&G^2^V6hf(u>gvT&G@!tjSQh`idw@*MR@T*AF`o0-Sg^Fp#r;xN4j*yZH@*t_q-r z5HttFIp_JzKL%{Sp`X04Z-N`5k1VH#(uhYGs7u@{(a(AxUcQ0X%|;0E1&WJX4@@^8 zx)+0Uj~og5BJUX6N;A|^mQ0gH0&r-gT0#k&fYeHFiDyeq>%Vy_Ef=TK5301YcuLOP zqI*8?rg^Wjczv|d=YDLzv1gP89z9GSS+#H=(y>MVUg7;xVe*nins$EyOBbzv)=@-& z`P1pRB5bvBF-wyKS{FU$(ieJ{Nek#sw0Mu3VWCH*at4>NC;9k4zM3gTFp~rzU*l}r zobT!*w*-sXvc2Ti)AsAUylC_}S(gEc%R>jB^m@vX%)GUDb&RQ&G1YIQ)O4USRK7}S zvH|Cxj-;Kx&_2a$&ED6=meM;A=EBBe!HDvOXG8fwC^`Y9Ve&W=Oa%OjC6r))@2~%{ zR2_cxOjfx%@tgk%(=_9PE|lQ@xkXT-OH-eK<8G}7u(68g^~=>ougYdVVQ+uyv_C}) z;v2jcd5hW4+q^Q4`+3uq60#@&fff0zA9_%;- zWiw7@0L_C5@Ye1>TXt9pjyK($Z)yh`e$5|mtX;k~jP4IZQxtTk_V}H4^*jQU$6I}W zg6-~($sUpGZ+x?U{qXsJ;(xbQ1vFh8lQ9;$v3k)aUN8AShs`-RB2!iy6VNFMVn=T8 z1@advbng>qYy}3eT<39=RTaO4^%7~&-#D?122kFRFAlOXgf9{=7g{YimY%qbWhWi= zp|mvSL*YG*i7w?BU!MzRp%*%wH0A?Fn91at6m?YByd$S+rVFWjzU2RUo&bHrc~%^F z^y`9l5(X6}nWE3dufD3xQSbjZ%SM2+=GZ8%yuQ-B>h{E$CHS0kJ>?c$W~Zffu9-?% zJ!g7LjI%w{Bl-N|>q5ISlKC%r^x&{!txq}n!-{%1y{4jFS;Q;Q(YR*#;TKLO_r#!m z3-iK%WdQ7~Kw|q)CS!bDjniIK5`sz9ncJKLWTQLxQ06Qo@!);rW)lZ|g^1w=B1~TVIVBcVZbj7kWk6Qk*y%f`-51S0Wk%f+8|Mu~dBxMsFmwr#hBkQEvn6ky z*BsQdM4auJ&_doR!=ykljL6;uP*NjSeur{&|A27RsnjhzTUAZi22UV8et33~o}d6< zq+BpQ4qj`rs^4xN2U@$-ZEj#!%S1PY{u)%A=Hg*({YUHdL9SP)%_L{W2`h+Mr_G#v zvPbNK&frSQ(3w~SqB{enEunFahe>wuu^|Ofw%u?pTP!Ze$@o(G@}iVXJXx?krpwVw z6`;5JQ^zKtq5*6bTK$0xDj}Fo*{w_>#y~Go>lf88PSD+l6Csh9 z>tCm%cB__GQ|HHK{@4`WM921vXNVGl%n#S(i4``IcuC9!J^H$%(2le)D zx3x<)y!-ZbS?A{M_nGGAuZ_R^-kV)U-5{$=TDmIP^nm27n}7|MF&*PiWd>ssgQ^K* zei^>Zt)RB222|iN(Zu?U7HT*#6K$A7C?NR;!xy7gk~2kJ{uZcvDRM8m6!UQOUM_H;Kr8ZF6t4@k?(7#|P%cvoUFx zf1+mpA-e8osvopZ^qv5d1Z_{lz#Dq->rAz=ZNi5|mF%WFaN;Rlw(s&08hCjs`u3&b zF=%dQ&gF&e%~aw3PJ|puF4I7b{DY_PFfbOlH&?fO+fH9d@D^Dolp*Rs$!7o)bxH&y zHnvZ2TaMV~+L+@Hg4dU;qQn^?rb(fgVJV73fA{!eV zjGm=moTLo;<>T_-mHM8;4a#*_O0_Vco~i5g>*(a5@{}^Gc$^3exHdTBw0>dVsPPvZ zrz2JKIXwDboN?R_rosv*S;rU1GCG2e0UlF_V0w!uDJ(KHEllB(-zio|WxWx_N{j)O zv_VK*pUos`CiYfvK&VefdHJIf;@)l6Qtwx!3?sfTgX;89t(Uw=oPvob5*>fPNnR-* zg+$-MvQcZoVq^X&OB(tbM!FEzBkKLwQW3959HUZ9dKFl7KARrB@}lZujgC@{ETWYz zuI~G|uJqYyT1NbVnVyb>8IR8Ly7jkNiSNf$(6DeFqTX-aGC^p69tiP%{GJ4~ z&~IY-tP1YV{XGhG(QCFa&}$MuFbGPdI4Hi0_Ll@P-`cQFAif_6%Qc%GLJUz(Y5$hKRn&xJ|*Xe9uop*=<>QT&3RTV~Us0W!Oi~qx6`Q@$MWl zb?IbvnPs@4@6W|e3g%~X5^R=_l5uhI8h_Jk;pOAE;=_-0R(ID?^iwFkhg#>5{65Ej z|Emq{JgKVOpuOE~;c|&rBkR&`@$#(g11wXx3j#f>GrzU^UwNVVj_TOf2?OWvg1F6Z z5kZgg7-BOdl?0jOY;)0C&u&Vl*Ks`^DQp&V2coJukA(TC31jy|Vym9$@DHUPs6+M% z2~$qn4UT_c82VbeRhVVYRq{5=Z()T5F_lolEkjMUSw?P!t)cZya>81V3qevi&jTdY z*_Q%0FD~51*6~)oeQwwK%E~#%exEo^%a(pyZ1< zZuKnYtK+qgI|FaQubQ&0tGYhSz$j$fo!`DLL=jweDZd92z!bxXXr1sI{b|ETScOh- zI@k6D;6%L>^GZIxU^iF*!Xjfmmz^@mOrR-3_qd%Yj|@y);W;Biv;}3rMamfc%ETR6 zDivFqW#_+E8LuOb$6@iCLBCQ$)g2{`OeRLEWchq%!3G{#ehks-ILDN7p73B!VmV&% z=1J4d&8bV-WV(ywTkTxx4QCw;<4&X<#34~NB?LeAHmu?eVMb`UJ2wixo}4BJ9+GAT zu6bJE*%8vF9VaImMRYb6Z$^EB#J2he94qn4Hcs9`O z>nHLL_NC)?aLTy;gj|o1Ls~M>AP*cFXkZTy0{a<(Azk@^C%q%0S4=831ML1@PSPuq z?vWxT(>4zrZT}2PFX&HTHhD1xk)o?Gt2gaJ>`HHM`AU3O&WEyD+eEXCE2W0dP?x{V zN^d`_PS{}^HJi=`{NmHt&5Z1ydmmQwVYi< zw?KFhJP;&8i!?k-Nm1TGl6-CHmTF#5Xl4!vyXw2u9;+4c{wH%E6-t%i2!7RCx02+f z|KfOnLBc&DmnAN%j9OIyzSV`$BaU*g8^dSm|2Uh-p{ zY22h4+lmgC$(aX9w)?yL2ByFUQBmVG&+XR#O+FTYsXvZPAz0?n(#a0wg|m$U-3Bbkvv{I>n#*Zp?jFgZe`xb-o?UBgMt9P;P!HEu(Q zoe8HXu5heu?{W`+Bpxiu_D!?eG0M?kTLzBirP7@6k7%{T#{E@PyJOJ?vR(jCR?ZNv zZLTWM?Ilf=^xREcm-Y1E#8N3HUVv4fHG}4FFiW_p$+I2(aGat}+@-#_B-dnr zwb?K6l*t6!_4&E!vXwW;$K$AR=g0BmY56Cg@#E%W=+kC@0v%=sQ}&98=83-yY6~ZG zzbpFc%udgPU|AXT3=}Ev%{VrcD7=7Ll?x*{fXg!mk<7y#45RV8WSSQf2Ku4B>rY2G zjZfrH8TDr<$kCIls_=#gM?qC6;8^fY7&)3Cigf z6R3sq28B9MS&KO2oWA=nt2_ozD#LOsbvR};2JO>XSi(z1W%3_hbK-A-tiM3zwOv&q zyzc~j2v1=tN7E7#8pLEP%UiaseSzL4&dqE!T%D{0h3sm1Lm!z#|LOjk!0*)Ob-~$D zJ)}sX7X-}CDgXQq8grLo0+TNdKGDg6y#LKS4KmXw1UXcHPcQG`J0$s zUzyCDS1yPFXIH7ms2~f)rlL#m z2wfHpNRRTIE3H_YTr8H+c^D5EF@#9MNFngCBUuVAT!dp1s0|8_&3)K)@}9!@OzSwH zVr1MNZkQCjdwY~zjHx2S<|2=`#F51Y_z_*%Ufc1OzC%8z4!bsUJcwYIL)MQeXp`na zyirU+84f4EM${C>GLh{aP&UyD8whVR#&GWY#;u?hMB?osFo^X7)s>fjdUuJva2Wav z#Fx5fsWFXS$?t0jFw33ZMlG$5m={0cZUz6h&;7i+$6Ngs`{DpEG6h4F4ESr;Pci7^M~0P| zMQMR#$*YXbEnHsbesA6@&2;oc^F!I_2q)DCE1yKxM=rJQjowfTQ17|H6tk^7GMXDS zG?Ym4sLsl4-tLUvb7P~Yb&q!7MZI@#N+#>av-8D2%!?=S^ zJgikGtLf#DMZn}bMo#&Ga+=zD*6yb!P9~+Tg)*jptfZXQX8Jd5DD9kv(;uL*6GX2e zARIHtvR$k&uGpVL7e<2HYDbQKi2>K{H@@D~Yad!jjb!Od!MI?Tno!;lVJ+0B1nP9O zSBwAFnu0>AHfn``_<&DM9O4jqc=m1nG=bI0-iZ8&=@cX6+{L_AN(Y5wVjWQhtHAI& z^iX_9WctR7iP2Cf3QLOmzAvUs1H2u_kUq>gU(!|eKRn$WA8YKxH4G`%i+ZNHPo~+-A$l1Z27R+QtlV4vUF1^5 zZr%ki0-{|{eX(+!I0y$Ut@`$tWW@E&MYqL{=fCgA@7tLfJnxx!GTIp#n{P*L951}O z44*g+;TERduJA{+Mwdrd6=XW0SHik(TYyizEWF+aw&DPbtIaAMp6$&p*RJ*7UTxc( zp8Kzpoq-ZbtOM$=mm20!dGCG(G>OQAa+&0HS%Od=IdG*0Hu4Z`?CPOCc+y(1+z=I4Y)l5hQUoqB}S1Tj!DEu(~Rz`Tq`J6Hj(-m}3LXZ+gJW>*l6J7^;6$VVM_PMT6SVOr!!0Qmih z)8iWr+y(CMV6a-3Y@Gj0IjAecTH~HiX~n+2jQOp)EP4`Th3O@f1T-w8q=~|b%G?Z@ z^3u7=_W%mKSR7bGQk9Dwa-mPNK{-61*AauWh`)6|NSDbCIExP&Ty@_q5yqa>^?loq zTVbf!l%?rFUYu^b#sIsauuuG4dg3%WWFSnZ^&rptXvB$%JXT`QO@$v|*Jp)@TEF@L zv)~tYiml$dBLzdJ#Th}-*$Qf2+P1y#uAa_RdCwo4WrLkP^uVT45PwN;=E~AkF;i)q z=IObkV_7vwW)*PgTOxvilsag8Pjku-V@l7d?>=i&bBW^KVNDj$GN}|f2ooP(acoax zGEro$yn{65$0MiJ=_u{8=0PsX0FNEm+S$qu46%xH9ah=5VVF1&wkn7<~KKs5d!~DeXXH|_nH>531 zca@7;o?5wK89B?Ob4dF>i=*N#bTz$n%WQYt_i|P2dFB_A{J36Z8tQ>VAeJu+$ zE}1`ZM9$$#YkXXI+Z^0!LaRTJn>;Gt%e}g!3nKUZlliSC-;vB#z9k#$toRr+G z)l1>#%ODl8wu#We`??!35rsxycAgV;sRaMlatvAa?dB}*5Bo|-7nv{3ca^LUD0-a! z)X%JhI}9XBE>83HU+z%`A`bRJ6ui33I%Z(T1o0hPba(DQ*eDKugco1|ph5N4HWNeCa1A`r5JorJ0lRBn#tO_qHP^6qgd~MoC;| zb&&fhLdDIbkk(04@uG7k#mvI_von4&Hbw4^{S)xm!!6C06+qgVfH(eIn7%ZBF)k~`W^xv?42H7+`< zJqS)*0tcD6E>=85hDaLk~(VGk}W(U45gM4-82}FTWQ(m+;$#{KX zV}p}=$TGpKzZ=q3KdqZPUrk-!PDR((Redgk*5@IFlD3?foPh+_LZ0MP(?)O1*4%m6 zNWutvsa}qTtHj~_=4$$HMLVtyMPCY^9!d9(#x(F2aRn@UFsIpKSUIg&ODH<|p4Aa- z4N9MMOT6M+Tu?Jpw1b4wL{MD6^xztGGuHG`eZXRdX#qK@i0E`8R@L0{k7D|Rm&Z8* zVRuRNbV3f3C_ZLaJJ0Yj+o&osS3IkoTSj5JVCu(w5W({A*1EQIGAh#$2GAZ9i5d!HY}X%xqyINaez6x0{Vy-Sl>P!Cle* zXK1NO>fU9@(8!Y+9kdwcR0OMgO@tPv>5bO*AgAB`p^l_U1XbkLh`2XE4A&ST(95ec zzK%#Z7OnDrz3+B|EzkDLX5tv=b{p#uKjlSXpnmhM5d{$d$B8U0A@9}^lF;M0k9+ot zIIc3*Mrna8`bu11&9d+UfnqS>&fp2ko(plyAd)`^07hQ^VIOjfH+P3|8y>o}4h{xh zzP6O1PCurr%AO65`jngwo&_pbC)dx@of_TEv61Nvn>(ZEXkQr|Y@TnE72Q96p8hyX zQ^61guaIdn8~s~QG0o|(1BBf<;_dz}BU#!#&`p69@^Px#UB?SNkuA@D-|wYf)TMi5 zqr-K+I6S#{;04P|DXje|BlW=ReK=SvEM#jOi6cdmO zI{`10htU<`Es{)$psBoH5l_X{f}}pwxL$heozSnCe*;J!g|x!-o4YwC0N9i&o9oQI zi|xM*T>o4EA%M1KcS|%>5sF#Ldw~-i&}SlcD`o3k%xU-DKE%;yscF%Hg&(_f3en$aU=D?#Wtx(a7(~S)5fjm<^jez9d(O+G; z{-yPzIeq0yMVZY52emm`pk&Ex{moGy!?P3pyl$%?ez2;l9r#h6tQuLmCihvT^D>6K zc>np%-1qv4X46NRky$y1@!`$c=y~Y+(+sTa`p#!jpbTXB%H_6D!O?@c!DhyUjRfN35UNsH^c7bK-H27beZ_D5FZZG1 z;S`bS!@DblvnSRz8N?)8TR@B-CY^>+UEG)zepr04=T*b3c-QvWxiHQ6nG)Gm{ZwXe z)~N4v7!59OH?r>#$EYHJiN4Wp7f!Ee5QC@X{+U}({4-p`M4`Bo+_EZVWH6Qma)jb8 z%6ZuH%!Q^Kr9gSIbe6C~CDrgo>Xv+*5q2|>dPf*7(MVh4gb+U*LeP=5Gq`@hm@e}y zy5mgN!o(&Aumv(M>QlXNOvmy+n9n;ugehGYDKiTKT0(w=+5|gwNGienl}K7C0b?{+ z_1CNU`^bxKlDt!?K^aHE zs6rA3^JqOd)kY8b?1MXV{!NI*(XPu!3BJDZ?C`8i`% z=%ZsWSEJPbM=NXk)L^ACI$--BTR++6$D>ctSf!2>4 z$Tg|ax8OH^o!NUlafqOpC!+OH`5}X$SSSZ(YPOwqG7Z()1Tgp)-QviOYe;mz6Cp0V z#c8I%jgo;D8;BT6NJfQDRo{_FRgGB2*3@tNE1ESZ3VfYukTHjUaaHDVVu)Z@YF#0y zL*sB_-=JH&f0=PhQpYHZ6hkOQ1f|raoh9|pWM8tadmwBCP_8)fIJ8r>nA7d#`7GZ` z{L641m?Tx-r$T=jP^-md1Fn(4mXPt7y)ux! zHcJ#QdO4U`#WMmY*qr}_Y=~M2Xt7zdW^WgDt`}Ne=GRuw0X1r*vmcGrsAUE8jRh^J zOfKGws?JnTgxnqKn?Bhs(xf}p9B+I&uy-CzVlz<{^eTIq%rjFIk5C`X5r?ClpY1|# zuI8~`<4c1l?uiw~KCbkH%(>%Ytv17pr!H}WCLh6};g$9-OB4<84EzjC?LLEc`| z&)&xRyrMtj`0_^$s1Q*LxRu4ab&wh$$-U@G1he2T&1@k^C}`bKX864*CbNUjVI+*M z($I4D8}yzPLTh;-aQ>Px@y*}XL8n?=xjHhKE8K)n=CDPnSb3)n6Dk{37}C6-1F%9;0xC_M6P+sTutC4v%6v zT06~NH$Rk((m}?@XdY|-kfcV5r1Cw;>_`1OX$t2rU#72t3|4A$gq$k3lyTL5(9A>e zr#4p|`Ia%F^;6GhWKE(=7F|-IXYcafB@?SsJ>E$M#Qju($%v|rj%u^g$-sUzLgF=t zgo!IvEDr>g@k||teGpjI=W0LOD{GuK+E{^J&Hy?t+j+I}Y(z@p?d_EE9tyvxknB6h zE`CK#BRAwPtFdc1awUqiO?h@ruL4DNnOluAox0UZ09EwUpG_IP%{aCxoVp*$%Bi}k zo**-XXKtjbv$tM@Gn>G*v9v=+r;w&Pz3dfVZGEX;T{V4;ACK}mD* zZOO{!{BSY613A)X-S(H`F{W9>mXv&S$VXU&)eR`#W>>n#bSS#mX5%25`{s5jcd(Gzc|XKfw52_ zA>T(TL%qElLMKS!tQw9k=XYGR6xz1myDD^YG~)QSWwuqEV7)_(?1e#vLFj5twdF%1 z(z+_Bpw{@=3Ut0Rl)HHYy7*7o(HzkdCt2gC&yoB(Grtdf<*^WAdKvvSAjV*+M-Ni( zZ`w4L3}`Pj;g%D0V0 zV~KuN zLj@fzRgU;G(I!WvY;=1TwaRI6n^wQ1)aE(}D>3<;=%*rQ-ckN-Lc}oFgQC%nEV(j` zqm!C@PiaxOBwa3*bfpa;b3GO;AS{y=RH}s4th+h4DvK1g5plCZ*5y7FUV6Q3F9uij z>5dksTiTt@dD8QdvGZd)ZR+wjdeG{eldVI#^Zx_1e4Tdb!Q>r&0{`vt761FyZ{f+4ze~IRdHn1%#M+U4Ab$BvfM5LLtpL*k za1SFMXjJeM`Es_OyW^z`$G*M(sB5o&*zK==xZkA9E&qyxH7J0&81@ljv!zZ z4S{Q?FxlgfxT<8Y}NfoRAJV|K-uEcWECs#Rnln!ry}vt3;!fK(Vi%mp;k(<;Og zTO=o)^62Ja&A~p>mT9t($qkFS;vAi72y`FLcd}h84NqD^%B6cw z0n|Y++tOoVBoF2#o)QQu`p28285gp0AI&k^(Jv(*SyPYNP`&#U7;~ZvpuDxIY<}^i zS+zDFkf{5c9$r^9Nf>DK2@}Xo+N-pBb*uD{ReH!GF|$~LsS*&?#Q4s92MZW2QR1yd zM>B)jTzUZYv5VM^E-WI3HWa~RwXVODfs?MT#d?J&qj>5BRfZFUwG=v$Cx{@+sSQeR zzyV5@Dl1_`m&7(yh9v{QjRTy;xCDpn#}JsYzzyI@iJO`1*Z?Il_4Aw9T<0vFClhM2 zm3z3vQYw33wJ}Lbav+C^bXYNDvukBd$iolDq;GUGm7dJ##5QW{Nbe?IfOH;m(eO4< zqgE>m&7`U)+K1ZwZA>TRIE#3^VyM_10q=tEr%k1ITMy~J>1WkaMbajY+}5$LwrLmY zw2daDvSOcJ-?plnogZeeYg_*=ZE&A($^fN-8wtr>PNz;-Va=h{J7 zrw`U5)#29Zt_wam^RExygT>_ccJk5WusF9iUR*p4`~52y!l`@qjO-V7@cHKv{^Nhd zPvhapnSXl}5c>OrzkXkS*}$bguDaVx=le^ye(~w{>Z>2`HrJnQH&-8Y{q1QO_VW-D zxo(_cM-0|Y5_u?}d6s9ZURqV@ItCN6moNWqK_rg(vyTf=TQ#h~tSX-pahz91mAO(oOU#2th5o>BCryl^K?y`%{Qcqki~ z%{VWiGYPH*$w~_M3%}A{%Oyxgoc)(?eoh{8%6DkqL+{+QXN)lAqS)OsPKMK@Ceghz9I@@*9_aIU$As*xG6 ziSV%tF71(^F75v=u}h0s)$>F@RyaasNGH|ayXI*+ZGD_hMh>SB1iyA{$zr{!X8TkN zy-L9Prn1e8c57dnrfJg-xCGQ=)sTY=HF7{d(c7l?We0l7tr(UZKuaHeZ&JP2xTdPM zaTwZJW!G@K{<^(yhPZ58*#3V9*a94_mi#sy!|xC5-90{v^b?ILePVB2VsCk}m3*-O z&EPcO|6ONSW3H9|#=_VC#|&nvlG?;MoVcU)=GEh2bNw{B_L1BC?$ho1<+I)9_CeR~ zQrVU4n<^BGgvkDs;MJcPvhJHfSIFNL20rrH4l04+i%vlbcXEVkw;9~p^j*~NOag-G zb7re?a0P!m=qpCHY6sKfV$9D;x=9--MJRxbniI^JugJM0a$_S&2iQ0{eT;*^KHfiW zU<$d!P1BYfd#N^64FD4sQkYAY{1|Qk4Xls#GS`?00W)gRN%NVTmQwa>ENIgtfo;*) zgOvA25Gs<0Ob{>-tz-?WDKb~YRH7iqgs&S{+_V)V`)^o&r8-z^br1mL#x9m?Mbr=* zc*moF(Gn%zR$xK5!}Kr(oRX|{%81yJ=v?UN*=U~GI4={JrdBLowgHpUyYia`vM`gb zrc;%q@DV54Nx}sIpj3~peWuu3OW9l+7eG7mfsu}_#5+{=XeRHM$skzKW6b3% zjXQiQjEL2YKPJqt?jvtb8B@>uWI_g+0+*TP)DBtk|I3W>e83(q*qC-GIs3aAu)(QDig;-X|$*T>(hIT%@!tMWE;>Sa`4qjVu{X8D&ME$ znGWzioi_;uds{VKVpG=XB)v7JP7JBV3(h`uRoz57nGyD_64TU-$JBChlkq1*Qc*?V z&c#52x(YenA)VT96PvP2C(Y|&X#P2U7Q3|TgS`!XVqxNbx8Z{{yx}x4@MM6xPK@vC z+gR80FmywDT;0uPu7&M(ck8$P=_!tZIQczH>!Zo<%I-c&hwY2Bw;wZXP|E2$#-9q* zPD=49ere#d&uX~mn%m{0`E0&Ev0;DYyZy2C{%m`*e&+W#Po3X98g5>E)b6eyq_x3G za9t|34(ZKxO8;?Qkj1SoKZyqvDK3OEIIs@G=_OQ$FcT?C_b%?OGX zf(N!~vPgsp=mT8@+Wa-v+(W*b6=Z+nL+Mb=8`O%8f>bX5SHPe%=8pTA7n71hrO7i+ zwjYF@Weu#Ark|J{NvMGC;5pcdr);MXmS1fz=t z82wo%@744%oEsykLrH!oRYH&@O^{_w$tM=%;@CY*B zS(}v9+*y6&uu;h~bBas%5Fy_lWS%mYn{*P<2-x`C62xYtV(?U1ky(o6Qgx>@-C8Lp z@rs|5HZY8pWM_Ex-T?y1@x&ln~ual=eMS3u*-;YJmHa8ww@vVl|I@r!R)w6sC=9Fr*$0M>$zQQ z+G{&3W^KRQ?dUP9<$c+iRia+E{44!P^y?AC&1RDh^F4oZa-E)TNI>?1Hg4tStzZ7~ zm+*^!qptPOU~`k+{{L9Py?f0DHb=7wBrkeN(ocho1NGcp z@5OkYw$C6CjnxSQsaECSJEDf~%Fu~j5>$Ed#S<+pmA~0_t&&oF%t%>*@$>>xt-x*6 zb(Qm95I<6RBk6<3IgA;|Faco*HhrGX#Q9Dh!q!$U>S9o3m=&unb-Mbf$q}!s_#`uJJOTzSk$Mj*sW1lyIeDJ^ z2x5f;%m8@opiO^xlaqf%(3Dw?nAs2hp$7OP#$=9#*%q5$CqYSWB7(zGzuYeDF-Uom zwEQLtD3<3kqxC4COGlU2=}wtA`8#c+rim+)nbg7LF{`-=ns%GDsw!E)~tcL)l! zvcdPnU<1N{)}}K90yBu)LLizh?Iw(1BGIAIRCDB9sq~i~Un3)m+rX(UaXco&Y$>l< zOSgK^M#dcE*R@ZeEiu2aaW}DzroIiZejP)H!-V?PyrR)!|Lgzy|AO`U|AgNcCnra7y=GeV z^z=Br8(n%_!hyN22@@**UynC|*h2<1A8Z=F2Jix3+zfUP7yay;dv$P+{J#6Z`~6?_ z{qCc_YaeYkSC`xM%|+-ptLU~1)9)9?do;922MT-YWN}ADifXhP;+3FSnjzAwGmyz^ z4gsCun;Oi#o7B1>*0*@fQ13{z%CWFx+z#r(f(}U9M#lC_0tf72v znpygyV&+3jt{v>RH_*&+(Rc!EBlqq_0iz{Ke3$rT${D|q-}~Nl-OdEpn;>(DgL;T! zFk#0fQ(`X+uh_#_jtVlfm=Oc8mMSx#!Urm_kP=3x`b5i5@?-~cguCbb zC<#122k5N(QRjO1dGdZAZV6z@UW%5Bb-P-sR}ju8`k*sg^0`+R0|J~UrNnqplQi7e zAqN&e8>39j@(B!QR!ixPJ|Z}Wn-&O+2ojt?4_HHVn5#jxu(+q*OzgCT8PyXv1Mw)N z3o$T8G?+nRqY*&Z@t^_AExayhd6&%7nb$GKxoD5l znf5XP<_8JTJZPFa)%i_2nA`IUeFI=xv<1)E{f`mc``0ghZMxu-?xBiHXf zNbi3Fqr2yQw||nr=snl2k7K_*0=I9X@0xVfD{9j*{7H<`ZJrll)YQi#J+&&qZHtrU znmEyj(w_4|3TM;%fq_uevUgy{(aU&F`h3uMUDk(Z|KV!du*f4nt*r9Ggx$3I{V|6J zh^y+N!w$TF3vQhDgaFG&t_0=0R7v@pTIg{jmR?RJIW1KUvez-n0IH^zT)@w)lj001 zoQC|SagMC>YoodI@_nr;15*=xS}aEPEj1HuY0g*rDvd0t0rJRXs!R!U3E3e;7U(kC zne&D0STy-K=3}T6qw;lV?ZhBc?WCylUdA_5)}V?U9;kP(c?qL{(Gn%TOZ*~Tc*;)7 z8ACe3_hv|d6d6(H)2iMLsGw&66}S|}woXRoD@Pg67xMVNDEE`9JmhMUu?J^Fx?WBe zwRi#2i6gTb%w}-|0s|E4$`wr$TmOxEB%7}Tm_j#v95H{A9P_ZFNqJ4B1k*Ac*P@y&;u_g9;p@&n{KD#(9iFs#WuPHs}xDQ56$MuaSEX;eajPlR+M zgH8a|+fH6|;4K@PPNTE3Wq0s>qcbjR$l}E4o4~eb@R7(+b~eD{ml#w-bxwXhoN(jQ z?Wulm0)fp+8qm-I;IJ@fbszvC<(N;nA&dDKa!Ee?B+#WB^c4-R(Z2uv^7Vbnk1oxK_HlNd%@X9?HE-o&VO;uE5zWnlkubw^o zQJt9F3ijXBaGF4<9nzZ@XT#2&g56*CVK`6Kj?2E?e3(FK0;7o;?e`xI{r)ojeeAo< zEVzB5$U0*}XSgJvK#}FeDQU66jOA@Ad#4`=j;u^4qfcd(zZrQkB!Gu|BzgR&&Z5Vg zk%y*IJ@%X7YDj~PMy?D1z5 z!6>r6XjG4EC7@2xFxwG-D|r(LClq{0v(KlMI%z zI)SbL+B`%}oZ_pj`<)kY0!+PvQCZ-{G1=q_lkOiqUh*xnms3X*l2%buC2n)zo1$cr z3`S*zW0^FF(y*n^*&rB|_m-N&FcYH70HSVkX7ljfjWGUvQNU=465lm`_OtZQXDO@9 ztPgF~5BsX!-&SqAwOF=CE1@}PkytH6JSFHTb}d=M1WIg#{JS`l$&Ma@k#H#0#s2VFc~+A5t!_CJX`O+nE4RwvB6LF#{a!CI#*|pLYENz!cc( zi;6I^qFgS6LpFAD=P9eIAT*3Scqc~4Ys|Nw+vL{`WlYY)2ih3T3&JmtR2kVq|~E zkb%F>94BW7l7o!Cmoa;SK^`MXCrbj-vX63-){-hYL-;T*A`<#b+dN_fOe}p=`yBS} zR#uG%4@L2BoHet|KF(%ypS}wn>Q<{+vriapn?TBtww16?@L_Ujk>yg>X+B?)DR_Fm zbPf;bXppdL)u!_8*0!^MNKg9G*xA>??QVu@*;c;xsNMChqD34=JsV=Gp3;{yJ@;@t z->jkEwCS2X49)E(VdC@}?ERy&S-*XG=0ksEmUa>L>!b8tPG$CC75eVM;CIi`Chn)d z?>o19JPiA@R4qC2u00Av-=wm2g?(ct_J-TQ#!GS>ottnPQxj7?{d8%0 z*E!Z-;{-S=hkLEKc$SaILPHxY<5Z>sF^>X`hC8{diX}k^NJAX$-NuCtz~PrkD>)(? z2vL9{KMp~!8-kS1BS{8=e9oX^Fo&q>2tWH&W8e zmt%qDdbW4v#Uiq@mY`VRG0f=g7O>(0GA%2}!dRx?31DW`4706n*r&o=n@%?lsyV!q zQNU=45`REUPUIDQ^;H8;9;dVGznuAX#1|ymfQ75V;di=?gI>Ll}oHiu^OmZfSZg^$_WVHJeMiy0?Va$|U zoRpX1xA;^zIBC4$2*MQ21*I~lC$~H2TXPrG>VDq|Eo&(_9M89MyiNX7ZjayEDjb}o zr>_aJOo816V%`nyt_^p#H$6$wkqVPz7DXCCr8zaq7O)9&r13bbpQL;aj7kRNgf{M< z5klHfmvMxN^;HbnM=|>;@(!{V@$T!#{{xogV_pvEK!yCd^dT=S(m7TLA6eGamJE9W z`b1h@==jXo3h+&rA=b?H;L&tVohVj3FRf}V~Z6MmS!rkk|=H8Qq|{!8Gt#+ozC=0^l-@%O}>;g{4QUNUXfrV7LF z_R+6r_3U**!oLeBZRmX+Oo+=^7!FT6w7*71qEz|GE zG4xGh!)6FVQ*JQM^)?J0gamScbcBIU#Cdt90Ex9Be4V~;00#{_5GV8JvHVSj^IQfG z(m9TR)CedF;^0AzL1FwpSY`i=YPT8qP}#n!gxTZIpOGA8;GygPPDwg^AoGWRa|k?$Lh9X8BWI%Cbyl0ytSR zzzZiU5&+R|#;BEe-ZMLHV?f;}FmOd(D3;N)e2GfwOg>P#-%6ff%Z;q39qEVZcUYVV z1b8#MJz+c}F9d<4J)SBfecQt_-v|2;-#tWHz-WmQe|Q-9^2-`d!W_2U+;{zDs;^$8 z^4vuNpR1I&W)aW8M2@{q71MTnOlL+O~m_Z8UG8&iSwY!u`MA%pm zVCKXvzw9U#_}H7(R_+e@)KrM?Pu_WhUHFRtIrH#bcK>X8~iiGHvs(z!f1^w{WvC( zH^WoN^QQ?WJ;Ml8<%7WtGcmnEy=@i3ViR8l8PcGqCMhRz!B*Gl`RDAwfP*6#ITA*g4NJ!EZa9B@FuOa?o$+Z5|isc zJnmT*2wJJIGFgeg+A?S(NITVJhgs&N2hqUD%<8`JZyB81ks#3Hhd#y;K|aa|(xvTM zSoM9%1U?Hl-nA%Tv_y&T63?E^q5bLv>~P%QZlAaP{;vkt{V<(u9)oeG=~O#QMU<2; z62XIWn)As*I+;|YPneJsJ0~^u!i!|oOl2QQVyxQ&X=C@(s zYFbkn+=nV1yC!Y;bf4JU^c`E65SK;`J$>T9@S!*&C|wdrwNz_GnBaPH%^-P>>-n>$ zx&xF7!kQ7Pz(C6pM-#fG*FynK^d|X1l-?S4R^QrDT-G+u&o=BGHoiahJr3{$N0`sEZ*vWJ`>il=~*h(Bq^6N&ut1bpq))jzQ@EG^$ zwml4X3AeY`Fh4ql<6Q^yQ+Ow%fYA~q{_rrcUe_=Si7$v=sNn$rMsYs*Pg*+y z5_voV8D5JsMrgTbaX!pI9$MR`IL5s;uMbt)~Xao$5?1;Go7$N^US?OmM2r?Sv zX9MNOG7ja(jozfZ`*M;p-v-80U=g+` z#kD|QEP)8dhA}@D|D@rBX0nfFTK42ENM8swDopp@fbOTwd#H!iO38C<^OEPak-!O_ zq?sui4@``AL-ZXu~k(=Eg`0fT9S5Pvuzb(SI-MYoie_l zJ;H7g?7!mohaj^xWNcKWy{K$3Ru@ze0jRLiHjZC0D$Alhkd#(!^fcO5a3+_LX+m3o zyZ)PD+WDRv5Nlz`k0R+uQOty_ z0$~lvP`%=AOah__d?FA<`*fRqh(7nt|t+|tw^&VylA>-t6a2V6_-@*0cjrp}2bLUR< z9+?T6Rt7~L7Zt1@J|-VHd4xH*Z48^Ag!P{~*~OUY>r~Kd#uDL_g`B=3GfE?r+t$DJ zC0G~{yMk>ZSj^;oh~sS|`#nPU%xD`0922dod?a-3VR#;;ES^T@%^bXk0^~D5=LhQ- zg^b;$wV4hPent`8fPx>J%d0v%l7Eg&E1k%-6v_)HqtD9?E_fX`QqfDo(XKkgfsRMe zl^c68m4N|;1#nY>KZ9d@9F4+NP;3st za|j1r_WZe=%7bLFET5bZ#EL-xCslxe7tqt^_M(TRcT~ZyZeK?Ui)XW%-fOPYZ8$H3 zM+i+uX%6FKE_j`OQj=K9uR1t@JWh>t@y`tCG(B%~M;PxrC2OftVE6vSzRAevn?P)y z48pHS_aWOm5m1ft-R6NL=#b)_3`U9S@}cC0j7v>m)t7Gi5+%Mr5#uDA9`9{`wXcKU zH$%UkK|s$yUt1e2dfiav+cOm81nq%A+ju6=ewAhlr3`h<;!2&}1lcc?nb4X+sn|JD zX};nzWz1mj5a=j?1YsdeW=gq0HZV^y?MVG|BOQbjMl?tQmKk|l%VQQt}T2nw`;K4-kx;bRm0=vu&C#3nc68D4AA zV>49I&u9pF-?RbHfR>R>UR1Hy5JE^Uqf(0%%|{oltpG*QanjSIeMh)aX~|rGkD07n zVA_>#cojoTCREz}t-x46C*ou~Wk2O7y&t-*DU6q=pkpM!$Hr;WFtU9HOu=c+0Rl2q zVs;GHyy%A&gi;fZo$jl6f9mUz{RuH<&p8~MDOZn!A*4L76$XTf!H$v*BTVQBNacCx zW1~#v__^2bA012i&X7N8@L7w>k`mq)y}lUo6eBC<_8^br?T(Fx#5w|Br(;6tnB%eV ztbj%US&3803@1K`H>&}09*8mTyH3c0$yWuUeg_~=uZp96$T-DH`FJxnh*j1~35H&s zyr=y6$n0})RBc0t0yY|bH=}^j5+(kyNLk{mS=YIvzP&w9<@tN->sKekezy#vZJJci z^pzwSV9S&N%RDJru+N<&s7eO*QE5tqQDAZ@4(gDb2)LBSV04yB^te*DmCYvDl*F}~ zYo?5p&CCfkwg5;&2|rKFw2Hi}%w7OwaA;+}07T0QkbzU)794;SEt`%p0h!~y;7yUY zHBIa=p71$o$8SAG8QJk?4ef#q^~rOLDmN2>FN_2BT9;C_RznM`h3# z54NE|Yw~oH+q5igL;}F~%0OL?$FxZZUt2Xf`?-66hE-HR;pwR3eHcg_>WbBN ziO2o&r$nm>v;}=LmBQ3TOWLd#O=Xlp0t&FE;GK>g*L;B+kOC_wOdM_0^!uW~kWA$r zfi1kQZCjeSgrh&jWuA`@`gYQSmcbSuKW@%32RUT?JagY&U?Tu}?LJTC3ZjWN^3}!H zfzxj(%NZt|RVo|ucTK>Y7cHxRc?haOWv!-a+L7UOVuy$OAB+gx}uTA0DngMt{32Fq3?Tgw5{``wehpg_D=FV-j8DtfW;c}tE5#~BGF_6-6{0} z#?Pe(&HYwfCz`sU&pc_=@vXy=rgB`m^m~ogyG>7HrNQ;!a0(!F@GeFHqa{lG8$wu7 z3txRTgOlx1O2GFA*FJUK`dLbo4^l=rOQ~ZKqN`HoptCsY^RRQ5Cr!h+^2QCBO6JP5 zp3RJzE8SMp$<#J%qFhPC5@|%68T*RnWwZh}Wk4hA;{7U|ppYomDWjXFi{Se3`q zCXMDxz_KQj8B_QKVj0CJA1mcmtISTk!@0_C!h}syW+Br)(=ZCyM#Wit)BUCoG2>4o zsB$VLm}(;r!JyoO8i(}hRo^CH!i@Vd0x{h(i~vn;AK{>s>jVU^?ubGU z4@CZ9#`B##^S7r}j-c>hAERj2tlCLUba;9+q|`n-CB%d0j$tC}P&7|BO*Fv@2t>1| zb~(CB!D@+BhAdhi-7>}9FMh`-em-DbUy@jRx<_Uj%qVnX^NM09@ACK8(Oh-~nPQt{L8>k6BdUW9sKTO|Kmns+Hdk63iR}!c z57n;uD2%9ZzL0^He6|$qF=&-W#~`NoQlignrStjoN6lFYY*luAFI1aKi?ak4jf?}W z#91VR(Mj%8W)=5y!12owvX3h5t9Yy$S%`2>OJH>9d0TZ2V-<^mDzoXlFO;9B6)y<+ zdouk-D-h*{6wt9}Kx%Un7qO^DfoUAwQ#9RU!))vR&dCu3&+vG0$ZV7m zFl=&b66Du7`AdM0{BZz`U}Od*o6}t)2$(Ps|10m1IXv5sz`?*ozboZZb8yee9?0vN zJdrWe*Kr8U$FrXP82=cpcFY8{<(&mRgIPJYA>Mfn(|rH~=FUxb;p>RM506srsNt0a zmx*QZGVV*>6L>Q)w)rH_I$L>1%(z3$><5^ZvQ0joBV!q}EM-?$ioIDl4_sibViV+<2Emw~8$jO1A5GHcA2$%c7PA_M9$ z`P}NQ*#{R?n><-|2|$e##`XZ_8k0et0-mWcK9%JMuaJKv-$Zs7D+K#@C!* zqku2X3E4>@a@qS^8rP^FtLi< zHUzv`S8uu54aSc+m*DwALjbhwFH(cbuxUQXF(FnQAOl^z@DwMk%=EL%=Za}Y7#se=gsJDBUDuoW{Nwc7$M7yi z0iz{K{M#dChPDCgR(-#|-}jpjhIaGmu)lqnKb0%brU zrN1aA0x8cU7)3K@(^S;Rge%~N*wBU(VxA8F!rzdy5kDljjPU8Yd z6%4`@EgEUGH*Dl@rU^0%(vz}oP!39%5!DnGVi}WocAM2v)7vdnC|Vj zz*LM#zRk_=1y7Nj?btKO$v zSOvYpq8mQrv-Xc(w{|Dv6Yz)W(Vd5`)|65&}Pa zUbNg=8qYwjsxm03XoM-hJ`)sLNNCM@(hxKSC0@V+c~1%pr;R>rJ;cnPvVc6ehjoQU zjvZ|_my%_!JA$OZK!%PzUMCGo$cpBi0|-zC!T95QLv~K0sf_a8B2yT11wa~ZDsCFX z5-~Hd{CbAI=l5MdFZ#K|eMP%08BT!a{>pGWDUVBk*vN7-)CHa09yMpmF`PE?p@!bj zL@2(k^9ua%cD7rhPo#G9i)nwKO4uRjl0db}?4-aAQYLrF2iabb37ejh1cLi6mCkEs zL9xR=@V=2$W}=g(!n$~l8qMt>9=Ou2FLXYr##}Ydtlj17NLCRm`Ivic!UtVoq1>SB zTKfF*LGo`(i|<4fFj}I-e`Dkl{mcJ6OJDru(6ndW?)7E2d37&=(aXNuAH~?uEevV# zJg|W`P0G;miu~|={sy2EiLJOiL_m}PQ%ZKGp^Kf>p{c6FNx8=;UVSw(iZ(zRtt1?UQ#`}#Y&G9y2 z1LdS--~fKgTNCvF!N?TC^p+9l-g$1RDned}#L)#I==}|w!01MznZEis0`J440+XlZ zYpr&i1AhkSTBZ!A%$Ociel8<^v${};(h=?Dq#uQqvN00SssYMRrQ^cg(;TAZA}sWgbUh<^-cE`)9ln zv-m*3EPu!7*qOYKF)!Sdbsa59VfxzTF~o=_AlfJJf|G%U-a+3F`Fnyu%&JGMcF)Uu zWA41y+EB*FIY@I6mw`bSI0hySMEa$Q)E!SxA)j)U5b$vpn<5`G5g*1km>16KkzDcn z#QJ&x&3T`qXp9-qlWPI6j0k^k`wny=OXdGmW@nIBlLnKvAtv|uzVG&}_#-n&T+Zjx z)F$A!uJd<}{78o=C3z!FUXbmb^s`{8{62a@6VS!c&6bG;uJ*+7v#vx!prOCA*kX+| zGu?r_S9#2+A(>T^5O%E7Z)wBP5A(EhIQ4ItPASXRuV2s7B|d-tT<6XH#YX|7B})7& z5y!Jj`uSx8_v5Vl?aO26?YSTJXMSjpL*Ff920C@8< z+l&`80>ir)QrQ;%!zir=Ir;t`(5VS}TBe*plyMi{xMvFZ@O6&eumoOIs|6#V8+SpF zdV~o8y1Q!!MMr)<*+=tx_9yR^GL0~voW@NlTQddZ(*`-P{5!4&DVd3hd87#w*ozG6&_0=QaZXUS4Js*bc zaR@!mr>=MmoaZ`Q3?mQ~@MfkbTN}Ai$#OE{5>rjr)yRw@7!^&IvIHiBKxGtwI_+~; ze5QEhtYb{Z8gXKLrzOLK6M6=ka{o6T3q5i0DM;BAQi-Z|b$VC*IZ25@8c7bYP8^?6 zU&^)BU_8AZ-d91)A!y~}5f$a!#jaERpuhu`Waz{q-Mc&B`4ETj2_57_t4ISfI?co* z1Ak@b*mp922F=LYnRv%j!3442;TL7|B5Qgm%=lhpKsp7qp6t%x;BcacEAP7&OYeSw zRb~J&P<*XyhLhP|Ej@9$i&1`k;awGx1m!8!G&{PweP?KBHsNwH+M~ z>?W$gioAtCSI)C1EKC+4mDpl2YaFB^Z*zr)K97+{;#&DW8F?-0q+s+ri0`-IW6J`S ziU|$5kA4dxO^_miX(B-EJU#bmdf@%^z(?NO7xePqC8F4{Mv6Qb z4Fe1EysOnUk-I@Hf>2^cYwDy|+^3p0UeS+wz!6Mv(#)O9a)OVlNu4qg`Gh(8S?ad= zmk|tU30Rp70~01l^mgM+Y|&|@2i3O9kDr2_eA2#ql$kS={SdA&YL~w3uXL3v^A*&) zQBYWb(Gq4f(1y%T>kDLUCK?SpLBlY ziW*p`6;yO{c7V~6(eNtF008jblb!eKHkvo&n+4c;3yeB9pXEB|0O&sd)hr;)ooWsy zWM^v&_H+TmNib?vu<-sA>5h#IjGpncg0o(6=rVgS6UVRj({6W={ehL+n5%eau0R#C zT)?2#I?U}QX-)Ti%simZaMRm*@eG^*o#%OpKCp`I0HwX8-6FQSY3rGm+B=NTnNSem65qC zuEV+xrL6aFA1^5f@w@KSDuxxgT4iK+KHYzRsdL|4u2h$Kz1MF}>*uHE@Arn@%R6v9 zfzhYq>G%Uj3mfs@udBfK_VTMY&*a(plgs(`^SirmzPB=?-<{8IK9+iXQFLCnt2%WX z=CEHupZ1N-OW(QHZb$Jb^a3WSA5#xn>VBk_m(No-(cO`V&NX8&0DQt=n$L2S8ol8=4>zCSt~gW^B@yUA#x7Hqm99I`di z>UIn@LC@G+9f7X|z7_^Ck%29?p-c2lt2Ka98yfVs%L1SJ7`!Tbd+3`~EXY2^9Rg_k z90*yI0f5Hy`4Y~yxrwp_(9YJN|G}8qZ}r~-md$bb;B!j_#DxZmnJZ{LiFibrGm;;G zl;vK%jWgc85+~Rlt4d^NVDpe2%YT%>y1~rt<7EHu=4Ewn+G)C?1Yw>eh>g;xg0XEH z%2OMBaAyQC5xmx6KGNU3|MVcp-IN(QJXdj=l@%^LNNdUo9@YiUPcxtM`Rv_Bll%yQ>}no7*uWpPE>({3UAhoF7y(-!ltUB~@AU)AOEY#sj>>%E@suIk~c z+)P)ejnCE}_3;EopN^;FUq9Am;q!H#tgPophZoDsm!DrA-h6+4xc$NLbo<@q^6+74 z^UbHqck!?LgY7S z*nj{H8)0nxc=pD(kUKvXeQ}n?gKm8z@w(=?rZHiO#s)yw1lwjceLo`&&Dgc{2OOG| zK$J~_Ih~Dc+f7m0*58T?xic}?4A2KnB%fO(9+}4$bgy#R~f&q*NwMW zBeuG`7NF!P6%IQJ({cH`C0HW(iXoIF@tavIXfyOuW_kJx2&m-EO3}ysy!E`@g zngLN~Z6Ps`0Vhf|+-L~u`~7y4gny{bb*y`*vxCY0T}4&`_MP=bWt;j~Uwqt=lT(Ds zH5J&bq}0MZ-U0xca;`bUZH-Y{Bs}xLgdfWWfp;s)U?!~1yaSX&;razx_tbd)-rcdH zFcU_+TlKMNOSkBkb=>#!<#IJ&PS@)-SG&3H{ zO62AHm*w^6^ZD*C?;q}edOY6#7DKsJsgM%{K?$Et+Fh(Sg=wN(J)b_NwFU_*iQfqfJXX9j+-gB z)~Bd!!R)y8$Hto=Z|nQXjc7m)GXDAP>wW_m&;EEcHUVZ*Ubx}4@oQeG*{|bO#7G39 z8n57p@L$`O-on%Z^h8-0+D|1#B8uEUGXR2?xUy9SHAO1J|2C#J~|43lb$gr36 z!8EHzGpnovT`GG9!V3a#T+}RL8-U!>H0hYG&9zlUVFCxGo+ioxbTwbl$jP~0-zx=O ztmLNy(gi@sTxM4A$)EjUZ}rxl`fZz(W#;WratwvC6>CR+?xi*{x0T80C8`^dRgJE$ zp6j!N(97&WRt`|Hsxm*{Rv_NxSMW6w3;H=}m?N>lJz-^gIH zCje>u4y*>uH-4K;;Ul6^0cC`DzE7!){#B6&)Got!!$Qm-1sb*ds90=`)u_ccGO$18 zEntY}#x?B^^*unTn=m7vsb&Ohf6%eT!DKp*7!r#PeIWJ!C1)c>DD@sss=0^8wq&y`xoK*&P zk@A}l0ZJ3p(9X6{p>XepjMewH_;=16RtGNq9>qQR2t>nA6ajx(C8^6$9h8wKk)cAV zri|_kUV_oVdn!52>sGqC6Y?(ApVOz?PMoz@(0Cn8HI}6WCim6=81`iB2>h}Bn@Rw< zcx=B<4;*R20&vSks1K0f{AU&UCJnO z>;Ill6lH{y72R1Ix{^D=-`3rR(rv=#7};B}+yyf3ax+O?+(@{{n;0Q*=f>&HJ;!T>VtiC*xAo+k2HLflLNj~K#s9)81vav zRVmiM=27#CnX2X*Fh^jOSIsJx=Tz%CGJ@FrfWqEE@MV4X)A1n9ghwNqQ6*we!i18|NQJc-+p}m=GWglU2cDL|K?>k(SJ6dA3j`nn`^a<#NAYa z$XJm9PyhfBEHE0rO!1X%;sFEthf{!tq{Q$&a|4P>RwZ(#j(Dk#;3dA-xK#ii+_yc3 zO>KBA&Pa$+M`BZkmIbI8G7REI3UH^JcD;3QlM4t0;A$pK0U&nFS1UHa;g&(HHc3W@ zK(%j<1sef7s>$0hkEX&AJm!Bk&y)X(_3JIr`N%K#4;@M-Z8MgS+8NLAbE7%mj#uMq zvY#}8O2SwoNB^|?hG_}nt4B7+y&_uzE13+~cL*splh89_sV{F$dR>gH-gvkH{PEumj@8!D9WlTklQNt}B^ zXfhIM2ci9`aSy1ssYBCi_+#M3Yj^~?(HIpBmZBkJ#w(zjhx2pHyq6G;RMq7!5431xfh)loUUk`T=k4x_> ziL+xJKHq$OUzeQQK|eF&u4{Ex`Y~0DVAte*(n?Ufe;WQ!hySD8fqex)MpU-V)HMY= zhQ-m@2#)+jK)Z{~oV^v&gx5VUIt^64P^b$J!m?Uk2j{R5&%%?DY=DPA^8D9hH`JYg z03Gd!5I8^r(;48j^NkO0J-trTS)-afZ8(&k_r-rAG~Hx^wjCfRXI3kTDnuS4xv>UzV!x$7i~MB=58%#EY0Pmy)W0V8E>!bO3j!MFi-o!LR30!tCo~R$@U5jZsx>Y z%ERv7owtcoPlAjxiI*nJJKEWaWnmUY0{@;(+?01sKgOe6->IyfHo!_t(xqoHO~((i z6v`Q_xIn7uo2lE0oP%6Q{ZGDJp((Iwv)@ff?X(2ZTJhwoy;P^lB*>P$o`U4k5miJY zBoH2H^5m6ZjOJT8isRKfIh~B7BL&-Q-J2%qd!8K8fa>pAD_m6Sx8vK5EqHUETPeeZ zJ80ue^7n*0?Yey7v2=2Lt7;h`s?f&nb#5KHMM!Othx~jyS?Z1az?;o)Esc5IjA0?6 z1M9%MZrHwH;gNsk7(u6)5OF{{(%19$$-vxJeWS~!yGfrJE<+|{O={$BeitW}b%@!w z?hF4(f{Ld8Q&9t@Ay`J@(m76c|_GqXsy zZF;BbFD~N0e@F#A7%fu%|EvotY|cA+x&wYWGai2KxA(kn-5xRrI6uFw1h{nhJaVUk z9C~ztl*B15{2SFRcU-lT&TGHdN?e7lcXk3zpH79O0^2oF<1_c+XfNuTJ1M+xetBPo zmB49&BDtK%slzQrV<*XN=rMfao?RP{0*O&!Nmn8JIXLSu#I%XIZOXye-pa5KU>+*y zd&)Nk48%3(XVwq`O*6vrx%InRHcds0Z>%#3HiDdRB_n!T{fXHqp_sAc%(t5sZGzbk zc))F~F(k9`$4&+9k>q|)z&795)@_ujn^6U@{Ic4C_9365r*|rhbYelpKy29i5(gtY zotO>QO8|?8LXbd387Y>zT2+^@$ycG;;0&~U;a2Xy`An6TH*-*A|Irx)k9(j>2_k>U zRAjv|xCSlHZ!6s(k4%?OGS6_|7|%HV2GZIF$jvmCQZv3Al2u{Ui&zcn-%)aL4ibnC2jHD7j? zL$rS$tgYnrn9D1&?u?zyn4qc?>Oynu6Rg-Umtrg z(&~^qXy1IDi03mikDYmQ1-?$!D<)sjO;&?Q{S=tppz;{HW{HKKU-x)aXO6dyQ^$(t zQp8o+w_6=Z-SHlW|J%(-!NjB9?^1nU56*_I{9kupcON|z?k`as z91K2gTmwMEzCEC_>C{ZOjr9%dg-vlK&L0R#bFJZ!_8hb#_*;miJ=C~(lkUp~Gg01mi# zC*!x`293MkHM>)dwF6eilX$S0m#pq2@jhM!T1Y|m`@ro*Ow|+6X}K8 z$9dF!OhvTLcH}@22o^hU<(BvTKAcwJqFX)W;S-m)6MrBu6wr0A4Jl~-&+WvWo z=fWJ=edJi}EvXqH^nRuxB*DXxFE7bHwFS?j&&CNb=9?fk>@@iY-awN(^FKGPXPN ztrMgdG~mm#lhtmjD(?=UN^Kv;EYtU!3~ECw)VLO}0e#QuJ6X6r_NU=Ogef5Qb)>w! zDpaHY`n-L4tGqvbVkZ8V^?u;o0qQ?|zbR)*wUAHsD~0kdrjQ)bNi^-$s~P!=ESp^V zpuorkH+AHGKGF~#vs&piOK{16{Jhulqk>6PrPDx1JWM%)Jg_oIJzntF&LCa~)Q`v( z*sJ_ZdBQx#KzJ@Hriyn3JF#4f9S(ME@}^;z=Q;iy8WotG%igZ0(y^1i^4qcu!(^q} zV8WK84`8x2Vs=~t=*;SGZ_G*M%lCAxcH5*x{1^(-d@h?D z6}Sxvdtq|&O>hemE`l_Sb((cEcF2)m*_ulxShX#(swE8<{`T^&FCARIAxVJw+xNk4F{yaH{!hNl z-awwCdvFp=h0DSzCz)Xxy|uYSa=PDnBcMfG-|H@#=Lp^dXvuDduKJgRkYxr`&UMSP ze`Q+&VU|MPb%~TlsVT4Ge`XxH!@!Sx_(fCfKJr&WOVX78YRf};6e?Q7B5715xE1|6 zzTq+HSzHV8xX6xQW=dYb4qOlY_R7sizs3&x;BnQk^(BZ;;!Nm z(3IO}S$MoZRt%#teg+;7F!x;V! zI6FbGzFyw!regkP=llG3?Q{YDL<-fL{(9oS80+r|;wO1(E}*)FD6Cfqan2JvXVaR-@FJ58_A&&SL0SEk^mUU|hPFN1a1I z{aaaCJ&;si~!&`^H?~LIuKqp{Dfu0pjy(!EKGE zX5W!eePsvx^$5g0cYi-vEh51pQN;-cuuWhmdb6X>TxozwH+I>unIc1H8Ikd+3rNiG zyMv!-C-ZO{J;0e!V$s^)o%(EAzZq+1d*y%8bVY$)lf+fokE7*_2eRV*yTRa`Hm9ok zu}KcDpki#ZO}7^(k`0iO26OFrSkr>5r3|kd-fQRulPKtca52Y^4{~K~LwNtdK^17w z%v}Yeoeks{#Q%=p?*YTtyOU90EhpVa#H}pVN+qt%>kfdYRg~)*2eQjDSu0#xrJgu!%Zmu)WVP%Z@5E6DHdGVMJp z;hSV!`E@TVHt__M$KlbkvZnj7n~~5Jqjk^+PgP7t2irN=5I-cV2&OJ?R9)EVfb8dT zy0*9LLq4`(Cf7X(6NwHsdH%yD3!hmjSEzz>rrW!tmoskStCR(cT8Ds-!Z7aM*YVSb zv(ZOi&}O%;pf-~9O7r4i#gA_kytm|OjJ7wtcf5%uQs9`lK?Z%@Msak5$9671!G*sR zn4aMH;jDsp2Sz5*vrM7e>f#L3y`I)#g$+AR#5vlkY{k>a&rxZ>+1sN@{w2)P1(su9 zk6Iw<(PfbMK&-D*l~y#DQ0}jX!V4C7#XVuCRn|wqYh5NhDJe|plfi;rlkYdq_DE`q z-fU73Ui4v-zJ;6?bk(%DL~R&chgF(X+;j+9Fb zn+CtbrpX*716Q7|Xh=S!xTdipRmn1r{UKrFyR{GV{5|L^*U~3)q~`6z@{;#hOk5>) z5~`?Gz~ocr87J=|Cq+#Z(|RM0QS~k?S{ibQIf3grCc)w_D|<&!xie*Pb1O%|G|j#Bh~K8kD^Z0S&6kEZTV zUN7Bq8!+9UUymPN@i}|F2(Q1El&QtHVzvIt$m|gbqPkTJOxW#YLE7uZ)nLmo;f{AP zGz#5Bwq%z#-7oyO52wJk_Xk7*q;`)-ROL(s)k1)Z zJ0e*8v)-!soSGdAJ-%;$v{~?uq7B(1BJ`P3aV3MJAfWXYBN?vI0k2s*EAR>?GWsw zSk5dHf?s;VHESjsnjncQZ5}CJzJZ-b6S&(+i79uVtJ_uLS&m#Hiv^g^+F(@xGu3RE z$C)sEHgq0stgc9xDUr;`#=Y#b=6Z5LX0c9KJ)6p?_YLzs{Tqf8{p1=5x!cJ8uUkoGV0i;a*pcXzLF}-~)E=Cu zbw#T0u+r&A6Gt8~zkK4865(mDM?v3E9Pd{lEfxfNUBYqG-nWi^#;NP2xM*$gR5!5u zz05^PMGX>P|L;%fGyxQRJX3I|((`QjYbvzn8caV6wGkNjQ9kb8s}l=W+;6)4nf$r& zcMxjPudWUDH58vp_Qk_)cD#K{zKuuhf&KCWFA|c_3pxVG7gHGx!rF5;4WOU`Y|8L(!xp1 z2#NOQx~fu#P=BD#o1ljmIJ#S)@iXo_#waPP+>&MF0%P9-fyo2nRI%71&ztoAh%XaJ zBbbp2qdVNb0r#a@KD-4#h$;tfVkB@*^B|B-^7n5$Gh~HNZ0xDUi;98y)Xy}ePTNsH z1N!3OqnqLHkMvLe07M}IzpIy)VQ%~D_k0ZBE)L-U67^nl7yRu@@-l@MskgVo@6q4q zhKrzHsA(9W@(f$q%z?Ok5Rr|5@R#b69A7_yew@k_?$T@WHEA2-H0F}}0s=)I(;P*0 zmPnej^Z*0?imY~dAOCsxdYkI3;)c6~PS)9?4INirPDHb3p38`3kEiKn^54SHhN_l? z`N(Qh(LgtO7$_^q4`H3TRCU^NWEm_otEYRM&23YFa~ivbfTgANh;;6<2ZKtAVoS#z zz{)PZ*x%J){1Pwyek?Z(@`=8!wL)VUBKhck{B2g3^eyeIA7`XHeL#;08Pxq8VJ68^ zvxYMsQ4fw|p|iAu4@4g`ow9qhL}(@^4jHqaE1;3N)*CGX@N&D_&*#y)_$FNdOt3N zb#8wy`TD0fOdFrk2Qx(AoT#_uOj$Nc49S~=INNCeclRF`4G-VBsF9{V8jqBP2QXFzED>_z)7` zkPOU>2eyP%XhVX02*P-a$$G&)86=+q}{7d2`1C;hymME_2BjX7@BRfdlTP- z?Zy(~&<-muGIv0)@V9Oo1Bnm#ielL6jmedNYvb#ZyWxawZNVw=)(2-P?TRB4-Dh{^ zum@t|*2=Vx|=q4)o>FS+}>W`f)AqZZCxUnl>LzW*q_=cU*8yUF{H zO6H^eOR2}Z8{Km=A*;-%VHfy}*ck0$MlR|=X&3Qa=$N$3;s9zec+Z{de`_v2ScNSZ ztWwoB$IMDsLahUy$SHp%l28u3lcBkprNw~awlEl`Bvk}}L|%vS3d7de1xGOi4sTm| z9| zR47ccbrGLUW?FsjnR}RsGsDI15k5He4y-jqdB6o{3eV;SQxhSaP7TSk9-@|oRCouXi1;8W7EU8$y`y)lzj zN$5Ha+1bXd7sLCiu|d!tL!G?OaqVAZ(9m%!pa_p>^VP`&g8fNxKdGD}IPw{rpQR-k ze1y|_@YgW_xFuhXSX$owJ37p40((~%wQS0z`&hS;jO6rwuXdujxZQZwW^qQKdBy%z zbe_+9vu0w+sB}g>y=~5`J<;Rfzw1!$@NGES<}+LFc^L7`<@=hi_s7Tn;7Wj#zvunO z2Ug@tL5Y4BGN&gg~bc;9ed3p_xRK z#}>qBl*Yb`sQLr>N2nlSn1;(m81_FYdeS(HeF`EbctavS{~87wkh{tJyUA#o>!T}T zK1&lF1P-o{p|s$=xCV%7W&Q#hFhLen`gU{icnY`d7hx$x$pTEUQ>pw=M@T zyW%BDcP}%IP+TIQ|J`7?V@G$|(~n4?JP1{`%rTBZaeClXmUmEVq4} zJ~(ksw}6vT}0p_(~ML0GzBZ%&rFXFzn{ zxPCfkw_u4*0#hbj)~o!fRw4(n^xNsi?5}5hYR5xJ z;jBopIx5)DSrbD$!P2AqgP_Sn-Sx;%o>8louZnoPYB{{Jx%wJ$#OFUWdcPf$deA=L zW)?RHIQIPl8f^8ve#H5lmF!n;e;P0ygHSXU-bahG1vOWS{nn}{XFEEGO0va?6n?~D z+vGcNCD=>nS4Wwex<|=s3*+M65T}>j5`EI63tI(4$Bo#Rt;GV1%zybNL4I2v+AA0S z~SXbu5Ayt(mHeRgGti|q6=-;*y*tI`%%m75!lLlxJ+YiRoRsACK#P&5yZ z@QlagS464o!#-?^$rzQr$Tq3L+jo>#mpq&@&Xu3;id(*J4ui z=rVzz35)}s!A3l%wBOZAUn7%w&z5x6UcdJ50R|h0nFb*!0%ipRoPHu{V#j~)i+*2M zOh{{;62j)Z+q{h&Q^S+LLP!tB8;iW-fJXD}Y7+6=bo|HkDtonxh*^%;Qy)HpFfZR& zL(wID;5ph}ccKzZA@&7izncc8h3HH-ui|)x>H``Qi=2=oOEI|0oj=Mqa8c z>eI0%euEijvK=r9oa2wWc#OjOZ!O>;^!R5k-IPh0_?*=86R$tVVUP3oyz19-db9sW z6uLAPc+{?}LkcCRc8QHzGG-0HVG`{Dfa zH`T>6v`Hqe;ff)2#_C#o7;yUH{Ks|4)vv#4bre%x`&>0(BO@nIvxS$va_)M&8pT7L zF@oAXyW@5Lj3GnHrVW^zI|>;`!$BW5pHSXF@+bpVI@2p}) z$H&fWqtbbAs}p8p%+(6^urJKhWD}@4aUk)DVelmuYMDS;J1PyAzQ}%;h9Uo2bT(}9 zQ3}nA56nV6_6UE|42dY%q2Z8e0}eR-2b%MdsQd%prQrtMh29uf50V%!T1`V$B}`j{ z6xIrD*`pY4yf=gI(fCystXEGwlUX}*q8;&9>m`@F?l8wt)A#%7apk(%x|NHt?pyF& zmsGK}U$mD+NasD{uo)VQPBBPm(CaIqHC4x--MUMD6j7=m_4ezhzR!0}nTsR>=Z|Z$WQc z0a>!Rb=eVuqh^$~j&aNbrdo|6pM%n1ZM!j(cLr^3gXw;ECJDllOlVE+B9`!shK9!I z<8|k&vH_v}`gu!dPwM|4rx*XmDdQa>kF-Ef>p$H~Pu8~YwQFneY?y{n&P=Pp^!*^U z_Hp*|Fy=P0IM6iYjIWAxOU8bx=JF0q^AL`=3dd>Zp)Yu6(%|2}bgy%i5I$t3i zY26V_M1Rwl1bqywEdQ2I7uDzJ$OSw$kg&n%HiI9$kSwzd!dF8nw-ZUuA}48wH;1{8 zJs;K*@B}%sp}`JV;s9#|v~j=*S6?RhMj(Dc(->x{;$~>JURSfZ2O(#Z4r)3G65>@m zeos;KOb(KccOgcBBt?3zo-;DFlvszA(Va>O7uoGsI;Qwliux)p4x!m7ykqzS1t*8f41@@X%7kQPI`9+IyuSXvcx zV#x9L$M<9#9}kwp1-~*-Zbwjfd7gDm44LM+5_=ER9F@9Y0ddVNA`0u0(N>eu2SF-E zOfz3K08GvXC}?yPC*xJ6u$dI$vw<_1^*5&=>d9m{I0v~;b-~i+{*UuasEo} zB^CQ0YW*OB6aO0Q*!uu69rJnBTnqSqfM%vgH4L_h4Zd!6pU!KUjyIUsecw%+&Hq+q zo^&j8>T%~yNAU8U{PdL`RvKbQf?pmOUJD^zQMAq8A7EhQ*4PU(5;;WLEK)Jm%p3&5 z9;6G22_Q)er?w&W2g@Xf%u^*47`RCfFlRQ2feB^WURmVgf!HH9NOg>Vd#>CH+}-!o zSwz1VGKckMM*mn5(4gfO3s$h$B50ZuTIii!B^Z!uMzW>N4Mc{DUEd*yLw#~+FP}4* z<<1C=@gz`i8YyK3_w!}+dziRI2m5)7tT;A=&Kok$wcsdQcQ90i?70XA%RMkQx=z`| zF4+8gn=KB_J2p^mHfAUjX{TN~Scq+L@H6A$jD{V!Z7_+w*24Qjm+4@DJCeH~a#-I$ zZW;2t7W`{}Tt9YT>~&T##$r~MLdz0&8f#Jj7dvPI_IdbE)m7pw*yaSl+c$iGpf_#Y z)rw{E>Y0fhLW~ez3138-lig3DVB1f8{OFn9x~_GrlMsQ?{c|`?spNT0Vp`FmF&OT$ zZ()9#mK_k@=_iK=#?3m)siz-(m<8MLS1-s<3SfQBH>gWg9O_wn`kH$Rp*JYsB9TZb2TnuD3i_Sjie#Jxc-aOUja z$3qm~$K&E0(NL*e?fcbHSysQ)Mp>htc-w4-y8muoq!zP+DYA}~NQ}7|;*K@}xp>%n ztuVueK8rS5T5Vgc)hmr0p+=3YI=*xNRyJoa?V=A1fucogWNs zndU`)ld0hz<{N7|q!11wra#)t<33rctY zL8a9v*dh(sW?221fV!w_R;Ava3buLqgv>#$Nr`6=b6G^YwY?Vb2Owc?UW$(hl2wLt z9Oju5SWrmdxythyA>bTwv|D)mH0+ln3&dzSehO|*O`862=qvq}1Bj0CPMS1Z&l{lNW1U6GQh1<~x zubdJ(vAU2W_E=GU)Q#1BmD%OlqxJEX7WY5oBLozjzkiLYwFs>ed-Q(1xC#Z(9Utyb zUOM=DcLhA|FUfs{{NtgAJ5K!Sn4DHBOFDJ98EkJ^gs?pZzS+N@eY%)ek3Mb4Sl8JZ z#x}6-GarSK*CiQIAMOeIx3xnx9n4Wwhnz}X=(yOTJOQ~ypr357MvtMowJ58rVuJwAH?%`+wb5?%<9^q`k|a*Bxo{v)Ev-pFBOOT6F@>$( zgkBd)+lZXC$#AW7XyvVN`I9)N`K$jm9r0GZB%Oz1B>a51P5SXxKYp+A*m|@5uH`(d zJE21l?TO~e-mIbH0f-A!-emS@)puFK*ko1=Wq=p*Gv9RZXAL~HN}q3N*cSOw#pxSG zzk+nsCgC&MWX8ub&{$u(2Oz5Dluyswx++!I7hL{ULuywS+ugk!Qhl}mH$J!qLR|@0 zrIeF!Ie^f-x1&=cN*7o{*{{&{e2mPd%dpVb8Gi8}TUhE@RdE>xldy5Tz!Bh}-G6-Q z`@XmPdHD6{+x2BExaqficFK2t^f=}FL7n~7>Bj`ua%%)}?td&{gzfy)&;4i~5j&a} zCACp!3vB*-;mn9af_F4h9g*|R@na>!-+^sQ$~VCy1|MGw%7>hM76aER50dIAAO1+$ zj~zZQxOJA43n>gGu+NlOfZ8A z6g$5m^WQ>a7vtXkmDn#PIC0SKlm!r2jcMDo@7Ml8Asl&4c85dq6NXrSBdy16e8|8NR0z8j zr@*j~z0DDBOC5P?5Zax!kSstcSV^gbR;E|72Mi=^n#`%%X2n5DEzQbeU7kQy#3}*q zTof=LM7ee8{Q!awq>8J$e$Mg{aHA?6Z3L>Kq!PvWI~#hR2D*uG_*pzU3;*gjrh0BL zv=ZJSz4zmaE88|8L{-!xuTI+h4W_{t_sc`L0y)PGl?0%Pzp=a{y1Or{;)@@Q+#T>v z#LB@TUH4^FyeoHhZf2kaD&({Aq&3}$%Kq!H9pP5X$E-d+e`l_JGe-eB&(50u#;sH< zB;{hG89xmqKc|1U@u^1$mO~M~Q|co5zJTdFmo0!-=b=ZbWy=W#nh=FMCdSLLU37X3Mg8;P61|%x&jE zcovxcgX=;|U|&>0LCsyMe0(Hui5mItC!vDj!>Q+SoT=D~7U)q(f7119JQ7<_kEwOL z*XQH$>+}j(Nt~nbye-iC`lui)uz9h5Xs)sT$9;R&t@y;UDLMM$0dH?=iAMU53P4;h zDz4gXRT>{)+dxQ$D>f_!A$>sY)nol5%R1AT@SV4{JV%mJ8+_Z6jb1)JlLeR(=Mq$c zV$$Tfx@r@s)PwcLheKz5{R#E;FU$OpWMi#o7{Un}AbON!?%;l=nE*Go62K@2`?G|N z+mW36E$40p;%rV9}V#L}J0ww)vt>R3Fv#Ao>TNyw+O+4Rc?L zOfpYXua6;=_SoA}IUw&?%?v-P^x`}BBudF5be?@Noy{LZ)SwN#&q3akTO4+O373q;k!2~3e@8euPq6jy7k}aB=YGs1pb9SEk8Ik3to_$fs#h!31FeK}pZIjQU zUeuNUI;-gv5qFGOA|L-fgv?B~3~(E}I=3{}NuWWrL6B%pYZ<{P zf3j58KKHiwaP4e?P959W7P>>`KD+24YbGXI3efS*qHVpNGdCa6ORRB=GFJE>KSfKx zP0HmLNUe51tZJ|yFw_j5ft-*o8@O*x0eMg&*P+$9s{du zzPpn6F<#^0`TgIujn9ik`1D)vi^Ny=#H|C$-TBJQffvZMr}OJ>clVq)OQH5_?-R%^ z#FtCl)0w3}Jn8J~p!XA{xD5H`bv5+H^}wR zWB<67Nttiqp~F*EW@%Xq2q_4fK{7-sxl=kiiJEHPornU#N=7onMj!4`*o?Yz-XJlx zp}1&hBcv$>_f<8^>$nA43WjM@6kGHbB#F^F_tirkBp2U|iiNwx_1F&p%CJq+Cz2o- zzcEDcY`R2wt1P{9AQa45t=pM8oFc5_yh|U7AO+Y>9u37(J9%!7*Z$ho9!nwg*(s{J!~SXF>%5hkM6!V3Sy?CQ9g* ziwjM2*|@gdIR6-SA3|x@zKp4vX?x<%Rr3uZTrIYA0p7G5JgJyV*#qq4dQ-(z$sC)e z^5MM2m~zkR&(oX(nTgVG|12LK6^NCnAcbq4+o2cA$ZtCM`&*q1-g9Jk7y{G6>=VSv zrgUxVBS2x}Eo{irbzA!2#{oFF)*Vmk4D`zB*bFxb{?@AMM)Q*ET!H_2Q@1ZH<7f&3 zp07Xkyk758X9TMzeeQGxHDj3reEECcb`L#4gJBz~LOfgD@3(BkLb|{^=8~2Nf&w$+ z)ziKfM^d;Xwxl18qS8X-Cw*K^mQ~#l&_N978w_GmVX_$Ekz=9V31F@?TngJmg^Y39 z35aQT1}$}rqCz72LOqqyudWwmY)_Al9vm?j*$}|niKj9fUz6AvPA*|wY~#R$o>Kw% zi(T-XXWN1XFOs)>D8qffOj}T>7p@f%^`yM8OlTci_?;k-JZJ%E1o)Lv;(O0(yH)@k z{B6#TWLQBtsst|7>S+LKAu+Tk|F+TVcAtFd&|&~>xcu_7DsO=zZU5H(a?Vez!1X;j zGUA!A62DmJXx2b%TIyXWsH~~gR~}*rg>8^InLFOD7pjc1&dD{&Bv$aTs|@e@63~R~ z@RJ2hBk;2~$2&sJU8a@BCSz2M(hswfA(cQg61=1qMnf%b;M+AQ(s$TSm4bx0MmK}b zx+l40P<)t76N*8z90!#VR`(850na75aN|bq+wo`j@jwyy_Y>za3_5)TeS&zwlxR4t zjJMH+X%}DZ26=plhT7q&2XlMso9meZe#{xIs^pKez-{t#f!VTS({2W2nQ9(hDA;G> z7BnW*F$$642{y-v+w%`4O3ZvTL!HM;v)C$>r_hSBc~wzdM<}WlWa85ntphO&I-XKX z#=Oa&CENR&vY+ylU|Oi~kP+B~Njb{Sz|w-%HQz^TjgJ6i34^gt=l`tD**q=655(@h zZ%cz$qe7pC&%40S#@EL|59ZqI9&X~^*H#n{gRdReug7QNEB~*hf7DaL#Gy4O)FsMc zownJNpK>MR9lVN3uMxKw4#Jr^YKh!#%^X>W7o1|LDHB;oR-h_GlcS0}MiYfgAWAag z1okG9p_}Oq^iHP0zf`v2tv&6g%-$%NLPRY9`b9HPZ)AJUkSH3Oa6R5+KZ@UyH1HSR zlDB3Y|F>DncP;$DO2M<>`WSrfp;aXv{!IM9fWIx#anf~pIZb{Kr;XoSh!^d7ZA~cL zACe7;g;@j1_T#lO`@=cM{}zGsq&+1mx=wOHD>6!3L9Bq&A)HHKtjl6BbIX6EI2jpx zZf}Q8fr0A=0*W}ognA?(Ja2osDdPMqDe|`Qb9Sjb*qtIrpes&1GM1!-#fbmLV?~r7 zX@K*nZIw#bxz?O4f~j&KxYQbQg^;ReI7mT>4^>+C%XOKyK!Qt0+2*pLj*k$%$QUMa zes%vr%A$T@(MkF%o9+>OK=8M`qLth;Qirv}KF@@GaEqA`Gd8=`sH8rZV!ENujpbwEW-=2^a9dYNYZ^L{Q;u(k5nfd+reIwqzZOD;J<_8{+bfyAF?Zks; z$x9cW%FK@+v+JR+&F%Am@;D<02@$nwvb*Ij4o5+^-=+>V5V03IY5!U29o$g^KR>p= zKCV)G-wz)OGc$h(2DmeB>k56n3o~|;98B#m1d%Yezzx)Na{Iyd% zbR{fD9TjHm|NZ`2--P4&#*yymN92P#P8Wo$AQcT~Z+3i7jZq~cmL1mle= zsu-u-x44l=s78PFY4ul$`$%xX2dQ9bfjXcy=?xYA_Vr(})~uja{$SC-zA4BK`t%c{ zUt4C%f$b0GW#luxmwXqIMZH#frtH@Mlik2U{Vj+c^jm?kIHq{|h(}KydZhCoosj~c zUdj5+m}oVfMTr{)Z!VEaPQBK-N*{vd7mABbgA*l*CW+1REg+A@sIFW;SuPS526qw8M-O&tFubL;xiV3j_~sE?Py(v>oFIL z8#qNu$7GWeYpDgCvar})Iv&VzDRhMAypOmdP9r8W?U(-xxQ?uXb&u+{&Php0Vfa((J5Te7HZ+~0GjXiu>{eXt^rytlg@nvsM;_L3(;gW-()^sbezW#Pk@6_=#GfM5}o3rNKPZLIY_Qa2O@qMvN(N#M&-CCJ5m8rFGs!l5x!A;{9vZ$WJE4VE1ZL@NtM3aT!7MW4e0r0#pnsIb+=?WffzRe(%?c=wM zGREiWfl2-mVN8fiIC22vJ3^_Ep1xLs73`T_Ww1rt4w~WoZ zC{F?eU) zn&3;S^B>@Sy6`Z_=t-o-GL%r|TvJ`6`;GDlO>03(tGp4VboIvk%4Ywenu-pi50orV z`#NdT!EHTr*)^oi-=Nc}0tE37)K?eP~ zZN&m1^(yVdTw72x2B8!7I@*396aTg8$HZ5-3NWXS6o$mFy}<)RWxTObgAf2`IYz0B zmj&CY1{4VF3oASX@MI$)@?kHZpjgCaqX|?Cp`esvrR7x5bRa%u+!FB{h>mj~wJ?Ru z(BN1ct|!ACcwJB(pym)&XDb@7>iCAGB!*dl+;IDj_m$dzhMerIbCsw^xhc5WU={4i zw5aMO?0E0W)DH=&(Jyb0^#v|XleNVY9?&)~EZn-je+3{4V>Vvox)bZAK5O_K`^?7@ zr{3R6je=@5cD$bFPG61+_b<7H^ffvZw7Y$knMxI!nLs6WloA5ek}EP;3_pY_5+9Qd z=XgU_;K^_#27Z-UdAViX9Iu(vynjk#$)m77u`8&FnnZ3>j@5&70-k* zguEv{4OrB|_aQn+Nry*-#5Zg+HSLmEu%SW02#l6&aOiCniiCpXhbd+4fp=%tx4SVY zdbffLaAfDC2kb!Jw{#Ce3P)G)4nyeCpp$z(_WhIDxt^gdhQWI=hW4dk`KhZ~Q^iGBF!AxxI9>AQj! zGK=-A5;(JmQ4d|5x=k&MtD)MEo$}EJ^G@;x_nX8NIdUivD#iimzZm;vp|SRoaGyJu zLrW@*?t5?cztzO8yz-9{@YV=7!_c|0c=PI4ec_GNKerdpo*g}JA_vKxKi&_6$L&np zd{D9sJ~!#a?1#f^Y|0qbfC&s*Bxv?l9j9Y>;j(!xQn7Zf*EKxaOXZkwQZ;*xtDzJ8 zo@p=@GcApD=w*p?{Pgq;V%B5bT8rDDM6IGcyqxg3?)#q- zH)Bxb5AWlihttSZQ2K0 zi+@`JVQjA&_hytA(FV35X&{MVB9=k%R|nNVQ*FxX`qw`8cma0m}T20@#)m??uG z!gNoLUHp_s%d8q7%$ef366|FJM#^P=Z_U&_^xge$N2~ZI-9F|GS4mSS0t|UPrwTcv z+zLiPwG&2hI#J+7gRXAQcLOonMa2O`0$iPwo>J|N_+sIzM8zqMd+P1l4%UTUEOy|` z`S$%=4k2W^L)lZZyaoQ`3y6TVL1>%by z69P6fFe>~2lN>FbjEIj?J!>?3|T zQ;KH}_BokeUR-@0W4F#+sNTG}8aF(Xm)1GCmj`6rGdW&=$P&W4QjeIRP%3$PLuRK> z=(gNW9jj)5k1i_k8Kq)uzb!vLXH`g)tkiR*N@%LD|K`r?k$Y2obVQ6bTCAL3ck2=& zp9?&t&`nMTMRu<5eE0$H1$#Q&C8$RsQW$GkgAuXIsLbs}*Z)=e%|} zF0C59$vtD5$i_j@=njflyB>l?KX$tR_w4za-A~~0&ldZdc|7)~cK9?{DSbN%IrM+E z%=XSDBJTMd_w|19H52O%_$RS5)439|o_u}n@YSytez4vwbB`^>n_!`y#U;E>3W_)6 zhrJr8Lf*mHVXIx$ZS_L~SBOEu* z=7AFOE^a@}LpIXP2ONsmtPS%+r6_4qz@+PH&Hjns1-zG}!Wg$I5|7rX9L!KG*8&P> zY2M2FQ6{%Th3h4BkSwkBhm~s>_2Dl}44Hzf?#fg~pZn8JlXvDdWx>HCV6`E*&Ejd7 zRs%)HMHDhn3QUD&i)sh|9{}M%9={t?*?sWmZ5JX6t8jgQhD)z z*HLK;<%Z{$d|ta&v z;mSdt@gKfp`01jL;A%m0wO=rKibssImE$bgFKlmC)IvYPZ@E~ce!tfuJ570Khb%DB zyOIPM(Kfh2JX&Ay)-uWzmFMw2hqLvuvcY#O1@g>(lmxSlzSdp|spGN*VAOyqK(r4N z+P|LX45!bB1wm3hKo|J_cPseo$^9AN$B}4OX0%#hle-pF1PuCIGL}>XEFECDKY*PbIpV2ytci2;IvRKnVCUT1I#}4H^?y( zx{2_I1PAi?qR-s#*ewdaMyah0bx_m=3e2QT_4MvRyC*REbo?K3JoX9opMShwb?5!V zzuY~$xmsSd%jL7<>EXL|K7V<>x^L)w_nEf&*~&v4Rmp%k|lmlDJ9<@&+H7Ci-wPP!F=uDYT~&%C>$ln zPD(QFoIA?75YmwArL73+)(;Ef+D$_#Ohsh3gk1Z3_*hh$7&dzqXi5+sy?xvpFsk=iwrFMEco{s-t zjv~MO&m0o=XU>{dini_ZMysD&F#Zyr-!@m-`~Ia^5O3GtJD3j*`Wdwmw5c-YV`vqgml$n0G(H$vT-$7T{Rjd8C>zR0 zx_^?JffP~L8k-gFuU6R3U0xmX!Gw%f25`X$6z@9%a+d9z2o|9EhYu=z5>@zoFdQ|3 zcD|YeYy+`1Mg@$?1QQuR#UinRxM@=pY=)}=QW6a&bTh32AQ>>&H6a6UDRz+KG2W)u z$a_h54uZQ>4m4if14n2sPvxM>5J-fLG4g7z|GU&QWfRm0`g`NnQ3=Kbo7do`f}j-x zdtFX~O;rFx2LkiOH^i*LE&=A|xUP{<8CuiOMOXUc+33_3UYqr*v_C z253y&<{*p-z?;MzcTA?jianG@>cSQQjiDcJC-5iCgMlpo4^}-$ZGIRCMf0|8x)cRu?#?$1ZqprQXCavE+ ztS0$~d#iHQ z&FMW;!TKIo>wT=B0Nf9IcRT3oME6admt-UND`RVtUwkh2e%N<*)~a1$UszZe17`Nl zW<$~@Upzyvq1%)NU_yBv(W$ejJ}v~I#R`{s-D>CI>7 z+t;7hcKOa_xqRHtr;m1e`e2>AhjppF+V>?{6})GQ4b=gQvm!Ep(gae-4`)qCEmp>4 z-6F9w1yjiTiG)ccHmU(wOx$pTfy2f*qC|~sq#|J&=Qaq_aWFyw-5kW$(RYzJ8>}lg zj6|<&oV*=qmET)`Z9pyoYRPmy0YJBxvtJ5WB#Z215Cf?#M&VjY7UpDZ7GT9xOdkAF z0pJo?$wHfRva()zWJpg1-__O<=-WoHFo)#?aFhK?V9POz^jyMi-G{iUr~093mNH;w zM05fHZh?9R-Ne*Rou%pT>VZUy zxVz^Z?-c!8eE#sY<8$F$((FTR5vd&Po(?ITz>YebIE6B3!yo?64s_@bIR+1gGz{R2 zGq(6mg{IVkT$#Q2<>5v>u%`n8GX1@#{RN7a1uZS&b=KW&!~jbhrk06(1IU|0X>hQ( zLmM=Gl9lpS0s!^0q`m5w1&S4g!WS!oP>CIv1{?cn7xRp6Br+)OtTbhEw;)3RK&c?7 zaKDFvEcHOY%D~Tcp0AcJxx0Umdw|i-jP|~|zByQbb}-cyip!sJmpTOwT@xRMqAk<5DuCwfyJNfd(jkNm@E)QRS_i}vw z9a-+bfA{)#KRcgZeKDWzK3$G?AFaE_`>Q$R#j5{buM7B9Da|Xft+P?FX}Nz;3AT=Y zRR%c9P&<57ON{^{aszNA93dMtUNL|dG6U_=hS|^#E4^81Zmlp05x{;MD8#?OemLN) z5;3{80T?DJG5%Jre4=^V)?^b1g2dh113OXU^|E0-@_Vx=ndx;5ma_2!b>NftLPyHT zNCq>h5@Xk7RC+YqE&2!q8SIcDO~3$fMw2O1#CV&{hYpH{MJ;n@8phB8sCOjaKT|6c9w2ZDIX_tR{%eUAK*nYzoLt=N1Ql#jGLl@t=pL5&SxjJ31E z5qO!9T>Ul?#8?3E)jIZn+bCJ-A4$kKv|X4Eh?yju1@?OHp5L|swB@i4j3C6c=x9P8 z)(p6&Od(4uhn9*$H?PhegwOq=1$EiIbvnKq8mDX_=a*` zB~w)a7}LdzzRN2B?M!Z4!FSbNXAq{Y*{)dh{7$94e*&XV$NzrE&wsA+Pye)+_sX?g zt!(JIefNC#_20~=*WWwe-~H9?>)-!uIp2QT=7;y^%l*x&*!DW|>%LsfDj2MiNJN~{ z4~Z#sn2Rpb1PzO@0i!C(T!tgw7Lev1H-NanYuISHSt0kIFANUe=%;63xN`BxjikU= zmCp#6RmglwMnwZCsOSKlB_i(qHUKWT{|L@_P@^8-iELlIJ^O`$Qp2Vd02s;3MTQhO z(qiMyXxs({hX%|RfjrK#EdlxaLLX75*nsQeCOSb%DT}Jrbe(8IP@C;mfCy0syS}Ld zj${ScU@!^rd9I7jl;~(cN$h)Y?1PY?cfjm<{b=nOya9NSl8BooTmvM=lT1^MJe1tR zta_EEUo)_}EPN^eQ5Ax0XM-4-t#PumIl}os-$Zp2-_lsU2>0pVPxMP}VJdCRn&6!l zX~77n!=JPUdh@ohl37i#r}$onwkOLcgY*&*3~U z!aP-yWU3^t6)K@1S_{Cud!MP!;zBhg(TMb9dF`s-HExZ}w_rmANs6(rjQ; z$jUXL@;qMvys4GV4&;Wd}Ze5r6K*&VwI;lA=y8hQQ@hN)y~Z5S8_0R@ygcm*LU~p z`KQ&4e>CRQz-SLtg1lFl%fl4~K$K?m&VcU1Iv~byPSXSsxiYEq#onk#+4uhFK$0n* zEOph+GPL@;T4{*h?hEAJGdh&jHrMC*zTdG|q? z@d?NMG6~JeMfbj82YB#JFr%_1%x!fHHy&7t49aQ2g#6+68m_~J;@53<(Tolk#W@m0F~0 zAp2I)mKL(66a5a|Y+GR#Ul@3#ikz+69#sf)`gXR+B4AReWfNdF4WNkudkqSc`J@80 zIa}9~(I+4lmoJcW>L_aFFxiBKLQ< z1}-l)w+E|{s=aPUg1JbBnH~_TzE(LI7oNruhAJu{2lRpOhAbZhpVL zdyw1vyA_n)8W^=;C?w^d3V~wwjVB^-7n1Hv*_AP4S}_+UMXD?#1{V1H78{f0ayItZ z0<-oj^KrEws)m8=uzq*e)AOB9mino?1bC${5xNPPHA8caGb@Mrq<9J_F31|5WKhNe zTW-gN|8SyWeUHNw{=|#Vg_R9mH_H7qub}(Qdd}BthyJ$c?)TGqzOPryX|*Q2Gbu-( z!06NQzsV84p@0APll-4Q-^uOQ@2zU<2gg^x`|9-Y^;ats`or_X?N5&P-~41goj$1Z z>4VZP&(?)ux3Un7gGrLIN%}A85I`Y}K=s{)tfPa!BFtAwW)3-Ua8vF`E%rq2RsMGy z_DYq3a*Xd2nCg&%1dwxJd-)t8c!4_VQn^$S$_t<}O z1I-=1==faUbRWH@46rvgERXJN7Wp|zvYwS7wbf*FTMNe17kO_3ExwjeA5ZYUXufv0 zT-X^hM*m1lzq3@?pn}bz$+X4y3SU3oHsht4s9Hu-r~$YVur>-IG^5hYT<2Y^0YGc~ zw1{r!W+MQb{vUO)C*BXs07Ur{;t4QGW-dk2-^prH+kOt$lm<75r46F(@55^sGSJn7 zXPjw-;zY*FeB@@Y_f22k=7l9qTq}TR+X6}@xDp4>mgc9;A*;;6I2wVe1yPO&q|;xo z$rw!ItfXe2;N0+KgwJr&PW}|iI~ib$epgqHN*QK8*Mla(;0mm{egTjnwInK_J&>)- zHp+Cmh2~=4UoHppf2154$g&)q%>!*FlF7`DpvKm9X0g->>kY=XcYVb;sgHfJyt5KA z;;eiEoiPoNgJ?l90Jw@^O#S%=d4l~mnORz78i`3H=orj_+FYi(i);s<&WbvhZ^2hR zpKuQ%DxSE#f7RL2%lRaCD=T_?e~-YXlgTAb{QW)+b=o@vdMH!8o3WvjNB;K!rD@8w zlJBX5fcAOYeLUy0_uW*OpSYuP*m* zemEa*zg#!GYi*aSb-CTIbSUCVp`Mun%68vB%YGcY24c5$GW=ht!WqPNk1NabeHz=h?o`%U$JbfxQMK_AtIW-ft z>j(%EfdS(-A=F5ao142WxbRJ)KVsXyZTxop*rLCtCNhq^x-f*fwnp#}{9obR#lR>F zMygv@imYz{;MVflWJSYWKmzO&jOz$M@wYGF0GPx52;-S>JWOCBGA6Ab_g`|Uk;has zeH5di2}-d=0Z>B^vTNGL4Z{@(+=tI;5^XLz#rrU;LYS$ibVac~1z_kVVwY8k4Uj=M z7R*7WtF_pWY2r4}ZyV{wfI#H-RLBm3mKru!_OVH8$-tMaNk6+TP>_UOhs5sU?IAmv z?i|?E;jibl(Mt|3u4mB$CSso#2Cxa*TT_;c6T0OVZh8Suhs? zOeR~z#M3s!3bxRX?V7ntVFB;R_m0hUD- z@9Q4mIrRkc*T$xH7uxfDwp2~M4*fSTUl}Xf6X08_r+%ZF^L}nE3M%-}IykdbOsE^* zbA$>&p{AaR_Tl%eC4h)#4#KI-gcZtq<$hzh6K5=k>Gy zw08SH-(-e98X~M>G*GXaNhTMcaYm(KbI^0K-%qB$GhME=yd=3FJ8U; z&Hpf;?!GslkKbvRhYzM@Wka=1Q_obfs&)#kHjG6Px#Ou(ydu$LX+SCh6H3z!`@_Y1 zNGIq^x(@eKzb7|q54`Y=ljfQ2l8d7yP)nfVyMslBl5s&4Ht%5(z1X~Tpeh@|MRWEb zO6;+OMhlycFi@%gX`Yx`P#UvZnw7@DA=C1Ah&mUcc|Y3IydP9bfIs;6ulIu=U`uFj zEDp@@EpxXd>tKU0`C?mWZeAiqmcPGmmbNisL+HPa?Q|N{OnbKB)}g(cfip9rVM}GJ z*c1(*V%1UT<0uV_xQ|12H(lq92c`ux zfU8s%h8d;aKhChK0n+{sQ+NH@_Xziuv0KsU&GW03aa&ETm#dWtJj?O^D7({H_G@2H z`$H%@Qr(A|eROkmC4#x$!BK$*YxCAi0%hP36_Uk$HKhrnxILuMg z{cY!1Czwanzjygz9^;a9U%z=HuV25Gm#&?|QfWEJLUEaJh(jLCZsd-`A3C$ z5IIZ=GSd9K4a&7!eG1N_awwss_TPP7nJqI#>FjvV&v3eV{`}R|)zxqJ*H^!;v;OY( zw%tB|{%HrIPiFe3<4^wxQ@s8Ba#bat_vB`KdHCH6S&r|`_isL`?cvjh+pqunc)I&a z&d2XxPIo`n<^18kEGt_&U3dTMKKqPlsFzqwg8?ysR08C2;gEs#BalmAXswgPq87>m zw>$T1;z4bbITHA-n2|vvLqk^B zPbQn?VAS!nKi63T1QN6o_cDc9-GtttaVIZ2n0aNpV52v!te%5N<{e4%TmWk1MRfug z3$yKflcS2_KwrnOGwimy0lMCwRz4AV{0z*LbPk}2kwC2_l_=R!0HuaK*3GGA;7{W? z3)+t8S;c!t#Uv^c@OkV^75&rbCZMByx|5!asiVx~J}<#~+PTvt$xJp0b{uU=pJ1|% z)$UmoKAho$DZy5;s*x*WC30yNO{QI7017l|e5t_5~ z3b0ynQB|Kuo$XUFpxqoEV-3GU>Im-IQFDw#rV5m?MS@>!&ZO#qAzchKgOG3{!KwwY zNHR;ox>oqbQc9>Kp>G<}o&|d4@0bUaC$%(6bcuEs2MGnEmwW6~sTU|%fm(5inl9^i zb#kZ+hg8Z(ldZfdOzsb?5_rm0@39y z$N(KcI^MITD@tv!NFmrppu0`G9(jIca^!1vu@aZZmHE6|P4XRxzPY`VH!C>orup*< z(oMFdMcOu#Wz4rO-^_pN`9OD8{*o-H=VkTwGRLUTo1P}?;<8rBK(>&Z4y+@`{JOFCJ!I*L39WR)=nG~s93Gw&Z-ZhS67j}6)4yl`a+*$7fg!fqopfB4!io{_*k zQ2WB#-5&O>><)E*c(&|sp3T?$t5s)TmXt>M_R0T8cszm8r{jP1F_`4d-u0_r{c8Wk zdp9e%yn80g@86Sl`t*Fd{pfsr^__aU|Lp$$<=?c+>AP*de6Gvo^Qp}@>jXZOopQMl z;~&%mZXG;?5fYUu1^^IoNnF4Qnh27(uu5bu8lh=`8y#Ls-85E;0+1%?%>U-~LvQ4N zhiOk!t6A@=(h`f7o7(XdqX}AU`nEZ=$E}u3u_O{2 z_;?OYeU)E28g^ERfKi>_R7AY9O%_nFd9B>coeg$JNe2ebW_I?8jHv;|*fpDMFsO`U zM8mlxXe$!m)W*dfpigpF@OBo^cu;tX2RTIbA+3^^s3b#LLI$({ke(?rHE6U++S~q~ zLUx+xHUa~<4rns4lrh`<;Y(-lX)GXuNJOe(6D~~% zaj7lZ%2^ShY*ZBdRmIbbI;dX_o6dk&GQZ=-?fo*Pq+FdwDoMSPoGOs_V}mWL`Oz zn4cXO8oNH^Ukw?A?0Y4&GO+0GGN3I%cUnvYflaxZbmh1g_Va)!f97rvKVXF*Nd7dA zyM#uPb0ZW@?-v^dx=BP6G}qziWZkT9{qvGstp^ZEYEU6uDHZO?c0{CqVtO3b4rXPElGYO&1X{%j&+jX}iw(UhHwsG`S>PYD*%846FM zGJy>x5apsyfCjcfG(ajJjeWtNiRvni!5pmS!YFdQZ^hVfp&!j}1GWtxTpdj8WQz=t zPafS}2s#P&)tONN$TV{`L94><9e|DSxI}OHP_|$YgSA9ghsy`vI~6TnTT;%*E_Wa| z2|#iQMyk;Sy}*al<^U2sVT{ayqqvg@tI`-hW3C*{N(;tV2N=!3F!q=Gl3M2{dL3jx zz*>VJth4|?@h*Kn?U)O(`1tmjzMB78&4%rWJBNFW%A|wb_eafh&IKek*8w28!s->6 zWS7dr1TbgqYN(}vObpfzd{;^WK)hPqo4BGpn)IQNNS@q=3+=v>uU)N|b?hm#I>_03 z()4Dm@d|t{H33a^5FfNyOTS}NYugzA4jT+u#LhZe%Bs%7PJWF72+NcT3S~wx=9IBY zqlOG?CVwj00$Dy^s;6+8+aMQA@8pbrFFLW?9T3p8$nDC4-rujL`P+N>`qiuTxBG~m zS&<5iVSh$DOy;Jx$zEW-pCwsQ9^IW_7w@08t5Dd5a=gSo(jVM2 zKOC$Y6ByFM_0pNoTtm?XEyvznp*+%l(wyh9uPErBr`L0vZkBe~bq9$-O?fwtCouYS{8x|mxQ_fUf4P(A_d9v-qmN%4 zP9N*kzO&rF`k&6H*PlJyzyAJm{N0bv$J_Voe10b9hwEvXdx6~jI>A>mv`n?lT9?&e z)6Jlbem5RbYLhp7ytpW9>;g?B*q5pj3nMj2XBriLY?>NyY+J6`YTL3pxUnzZ!Srcv zl-MYOArzLr#J&4M2wIm5NrENihhQ48Xp0PsWk%c&25JFXM+zF1Azh@s5o?z#z6+Bj ze%oeiYcJTb5mewD3B1vWmjN`=cTP1qY!9e%*9Xr7n)yDBRdb3)1U^+2aF38>2$BNJXnklRT0rE{$90NVXf*Yzo6Z~hf1Z~OSfrbWLV&`p zAaazn5v{rcwFNB?|y_TKOIS1(@g_Ro(Z|7mbWdpC|JF#2@- z!NWl4fA|kY{_gKo{`RvXzmEVE}f_uSlIAQ{4ZBLir~ zBKz31A3;%pCe`|;`xClPo&=yCeE?aj{;^+SfKzb>Z~|+@4O;`0OE6r#ZjAD08Yo+^ zBTY|5&dTb5mh2cARgqw7m|UElL*;|uJp0X^HQ+9m6^8o8)3=V1^(v`kw4^8kd@F*m z2q;6>k-@|-$ahGMVo+NAxnMd3xLn4eb${V7f5&$UcmR-CQ9E5E(gC>$6bF*(fXE|& zeM23ijR`CXGOahE5bSni-Ej^7zmave&ASTnkLt!>k06%HN{StV$%g!_1hw*5?#NJK zUvGn;^S{m%dz7;KwnC|stskxbED;QX!R@_ZijSo$O05fWqzTseRE}E%o6K(-#|KQO z4y+ra%psF}4|DlpbTwrOfV_jz{{0T=k|u>^fPqKqKuapYER0xsGsM7f8BDjH!@+VYG&o*YLb6= z=;c4pa%aAwm-XjpX88`%9Rvy3L5Q$U6gsU^dl(xWXdSMg`Us5%`aDidKO7 z>J_&-gHHC;4Ht0dsos|zfEKz0^!XK_HGNIp?9R@?nrPL%G}iVAkWwVZhk|5&;jws= zims9YxPFioHfIubpf9>x1?K9~!RTTC-m4Xm{_gtui(l=_)z{Zo*KbbCiu&bE+uZ0K zIG(`h)A6lGu%Z9{->dxNKdv+2`6M@YH>*1NY*inhudwv}dUyIkt@96-LS3*qs|PHV1adm6iey`~4EU}2 zW+iP%+}`p#9vei!`?i5?%hSfqRq}Q+Zk~$!$YbDYt5Bu|3X{*~yq4c>uFdC-tSQrg zyye3+MA*~Z#%4LACD<$n;5I^T)y;MBu5CO=f;mz!OrArV&b!<9avTS3pQd>H+W~!z zoUbkiEtrc26u#-raohrsiiB^lJU-B0WdK{7L6z75H1=hJY;iWW46@T?148-tn2>!O z$29R}w;=Rv7=pYX0d}+M1lI{u2GzC!>-1k<(7y|^EKn}{_2zV|X}Xm$Pj!Y$Z`ec1U_IfYLeNe2J2GqNBR3?ZbW$**p>fKv zbPh|SaxQ5|PRL8+T2(dD4d%*5yPuD>_EMi^x3W5i<*y*&Pr9#3HO>DU}YguI*Mzw_(^`Oe|F+}*w}?f9e1{lh19 zzI=Iiwg{gg*N1M9TzVKnTAxad}7b!V1vNS=4&uU-%rZC%<0G(QEm_r9>CQQqt zSXDAWL38DaO)CG%$|4G_Hki&~Lt|7u0a%7#>7(bnAE$7i0Q1Q-N#Azp@H-d-1UO)q z-=VG7Hr_=DJ!gfZeYwzc*QoU^aYj3dl?W`B|souFNUov{A?YpYrInqvnMGJcC%%a z_)?byUmZgfj3K~@%R!BNku4ExZmQB?o`?CjG`!=$>N%ghSFcC-^{1bHaqL6%E&=eg<0o>t|EMjO_t%;A-n#5wukt^+d$kN@ zde=p>6Qk;jJW7=th;bIf^j@3zn`rRLC|7w4@Ptn#HtyJ*C0U5@E5wD|BJp)-&&1x_ z#opV^%YzNXhTCMzpm6bMEjLcG35pLIkct0$hyq2_DFYO?CSC4w8Z1aQQb+6;V1sSi zd=ac&2931XXnaGGmO40#1o$JsJP|UXPm1UWVPs^xHToHbZGx~$^C^8?(sK^Ake@_!T(E1FOp1XQ?pw1iZV(V&w?+3^bCa2Tg)>T)k~2WK}n^+G;8a?%%l!;FZ3-fRbjGtQH{C-7!ZWMpw96 z$OVIR`u!#bRy7BwOp&I8e45NN(pbyj-v?Cy3T3~hCy=)!-vAQa3r+F}@T#ZDV&62d zdXnNBoe+U{BH`;;@~ven?`;ru4Q9*wzcN@6fTzG?dw56QClp2lc_LdyD}U(5VZOzi zYrsB(p@V_d&FTf!p0JiwROT_U=td;0S-X|qG8yX6UoEm_o}w)+;dm%hlrAN)BMBAiuN3$ zofUmpt;b%CiPWd$hL0As73zVqD3<0UssOYFSPr9b~gw2uJv(n zzs(YNBnp0cmktO z$H<1RKfgMxCi!c*Ild>ShfkM!{>%CN@Oix)zr4Ty=D$Cm??0CL_J-o2WcuNJLNpr^&c(J0R3p*aVD;1AtjF=bvt7*W2pexH)l(SJ@ig{TwdX zrf)W{5W@;C+neKlZMbzCH-Pc<#w{m4D_pgTYtU>*fLko0cH>g=l;)sEqxA%^62IHq z9pL8?IE{c+2++~?CJEH7BkJ(dIzY3A{@)^mR0Q%}{of-r&5hqcEBj8;teK|$7Vn(n z50+E0w6`3F0MbEbIU-&jIY@lMQ?KxQqJA;>_ufY5ZR4D+a)d)aTY+=DC! zpoNU{UiSXAZJM1*j;6U+(RX0u++E18q9Q579FIy`!skkv`~!mgL8|| zN?FyQ`;`8u;%w)61*5mOJviyk0+k+47kP7gYZaBw7Z4KaGQhd+%2yRuNHV2~^BN4W zpU0LJVX0Ghqn)saxO{i(SVb~^%T_Q60?QI?T8;S?XbRjSI@q*`_x%(~t)(Q}xxZ-S zA&&g3EoB|P@UD1!`?Sz<)4-`i2F;g*qyXhXqOZB)_|)ujP4c7fRa4tdSM#*HI`3By zdboM-_06;AudfczZ)>?azPP$N-#mXl3pe6-?05pBPe(t@q3ECf>7RDr|7c##@t2R+ z8S|a>_mAu8)xVjKcV8SI-u&=*|LUu{9G_{MucvldE%8h7z?RZwUt3G$mVVfpb)vZt z!kkxujtb0HomHWx+ZP7rjU`Dqn`+=dOS(#@1QU*5zY;F~sTHqOMCfsb~5g-|$U$@UV zq7XXC>!yENpdSRZ2-_uLM&~oR&mqiP;?^7!yFKn%&<7=%IZrP`5K7Z&^E6bzEc7WY zX!8^%G}$JpZq3Y(>xvu!Ii4F7EKv6;n*cDl;l=>B}vpPg0kmw zcDbB`Me3y}ZSILPx8@57W;+6;8eB$DYSTU%@(%U!ZeSl5bKkh6Oq*QNwZ+iJ-AL`wL==h*8C`iok!LfYAck z`h4moLPe4FW5Pq>Bf5502cmcPNBR2YD|z|y)|k-KrLJJ~!Baq)tQEK{wE(kPlQv*a z+LP2XK3L?u26Qudvof7FM&0G0*SdF8T(O+3-uFFQM+cX#G^t!&UCHjS3s&^{=0?22 z*DUk;Bapvtif75sj;vM7!Wk~cKJUJq^SVKEaTbY6M;xa9ZH|ceztELX{NNCM@;{Z=Q8zunn#gD&V3Y(ApFgj%`N8Kp19&5!%tK5{Dd4HURe zqPDsc#I^|F4@GB?4QF%R&TH~Wx#a9=J})|upIU*OIRNbAvDCCzD<>s4Qj?|G{Sf<< z!h6=nI^ur*44+1Gk07v6DkfP4XEJx4n$i8XOki#p#Z@pL8ph6_7jUNEr(DaX#A_&F zX&I5n08HcULS`NKK$tMsQw?r0*SW?y5MkcYo=bF_v4HCX6`NQz`>*a#s_*n-XVp67X$8 z?%EE1J?67|ny>-|R0T@FZ0psswxcZ|zP!2raGvi!Y0LSi%lYA}%jx#3<$U{-^Xbj^ z*3X_xJHMFZvR~zVwLmW=Si4y4L91ag8`(rjI5PY-uKzF~72iI%NRRcy%Z9y(%kr57 zHf>Z4w{y~zPMQi^ZqRmrFnqiU7|H)lGhaVF+&Fb(4cFmm$;Opnqiiqp|iApuNJvdVd`ui&FQD;XrUXr6dQ0xggHwv{Io#9 zDv!rta|~_sG0?Y8**xE=8V9j36P8H3G6DDt7$tx9MQpG&eT7FhvSL7MYi}8e zJw(PgNC%M;;ECk~%?!SRWTr!^QUfshCJ&GjUC;tl)<$sQm1_t@l_pFiCUDn{I{*jJN8}^L`JNt$ z{i+eMOoJxRQ;Y=z)Iw>j4WPF^T5H4s;gDWuvj!<)ChkK`1Ay1=S947fj<*t=ro4LQ zDEMH5T&F>TkPCYoJ^v8a%@`uKfJSrZGg>Cy7HD=XRo>D~QmWR9zRMG#xXzSaY!yn-8K zmVVE@psOBMF#7B~UA?%!e(}-E{nhhdAFf~gcGBI;^`s6&-&udremsHEKhLAj2@6#E z;*00ka(?ycT+d&ulk3aV@$P?Wmxr&G`TonxbGK+o7!KnH?4ZsbXm}!kea6>Ly35e{}nhZs3J<*2z+?FXso|*?%8ySHuE8=ji z7&2RGn!7b}b;z*4IWXcz$Irs|4(3ANAc~oid{GjBx^Dw*_zb`xJdD83(hMs@pAaC} z`v8zCJ3|wYb~dA%ZM!L`YD3S6Fej@q!j1$6u-qcpK@ipN_jFieIUf6ujDcs_N86*x z2;Ij@Bc+Vb%=06yOpiRHFE4C&mz+jHONjk5q4&DvdwfCfV0nu#mvYxQa(*y z%su=*3tR(=GPMxQ#smA$2x|802==Ukmt`z)|GO5J2ANzcJu&?tOD)4a z$gHJ{g+$-A9<&t-a0{0b&JA{*0~MbTw#pR;azrns`-s|_x4zTl=l11qTB^yC3+)nl zIUV%&OPSc-Wxa|<0`@@N!u%G~fJsb{a8O`fumjN+p~qTcNPDWs%74pbjv5M7;az*3i(*N`bY} zfa-dEPlj(Gls|_n2lv7tLYKt}YmWg-$Xq|K16db4=IEWV)_GbpcP;54(%&Lef3XxY z)_}g~X;yRg1<#}gR+GdUgwDP76k@x4{b-(Od}@7MY6-yH8>{^WeT{maw+s~<}}f7qE& zozK^+p4K@Tw^A6(!4yT#5yb}YI}M)|I4=Ryw}Gucd{|nZZr;&4z5{;OAp$c$cNV2! zV`_-v93m?YTsZ{Q3z)CX%pSu|L^AZ4nnGsg}|mYY+!Wq54LIq zT)~FLiwZajG|Rttr~NehZK7yfMyQU)#Ie7_hj7@;Y*A&8F^66oL4iNt06bPqW&LxS z3z^%GD=NlCOXr3K?56Iso)t zhW6@#Cw=4GA*E6=^Co=`9UZu@-FmO;k;kEM2$UTJA9*|7_cEi{Tj+Sx9i13H_%q-@^r9 z1)|+lOU5?bU&H}@AH#8ZiQK0EqruQ3147P!33+!#E}2Cc=3TO7xTZ2UD1uprYy<_S zb}G%*-r^-n3w)~u5!1bduPGTl^T-Ud?Y{duE^E7IIk&U>Hd4OV=XF`L6ndrDTIJ<# zJ&In2Hg^9}XYsi1Df-6O+GIqbK)_@i?4E%;MCGFar}HAm^Tpf$9N;2dUKtIO>Su8@Cc(leeFrPyZ zqCZPwF2{SSjMFgY1LwY(b(L~AJZl841NhTno@XWvao=$3Q1pul0x&HTw;M>So^!WU z3C9z-(r`jGeD0QJwLq~LVUCTCvlt(cy@LgZYA}7Q1wP2;|BSh7m6edjse{k%A9`9r z=>_FTmzK(to7*)74&wkWAKf;YQt5uyRQShruf@9HEtbH|CRdVwdw`y^r^bw~Kl{CB zqp(t`4QBSP9b%oav{06-cS?Cfnx%0yU`bpmR6?0(ZPT&MC%|S6gHO-K?L`36-PH#H zh05#;9cyb(=d^;+-Ep_SdNu8@{y+P})jzL_>OW6fU&__)&U_+p$9L6Vv>#7k^iT9? zZA4-JVVyevx4pqG7;~#!h=ks@Ux%}*Me*M?=a{TT*A3v3Pe74S({batO zbK&IoC|lpieC^iQ-14FRGe*1jqqK3elmsRJYWsQWBR?bIeMX>}8}i7+THw&o4gD`u zA8FH5-N2DJX=ntQ9Y=4-m)X~e&MdILw&vo_4VUEyW20pBywInt3_C)5)R%-uy6KM* zG>&cU=hc9O17vvA#SvX>c4HBV%?y3qBsSeFd)kKnlmN&yt2%=sv3-Rv9^2+V9Z(+H zBd{w0q$dGL#`QD@H?UV}{!G@nbYIE{YC%iGHpzGL1~Y(5hBP-r`0=LKWdOB~4*13+ z_?ZIaO*Pp_%Zwn%RjO{zx6I(`OmSy2mq@IhY>`I}?;ME2^+1CSZ828X@6)ttWo;P@ z(`t)M15KM`Nzg4Qemo^RL)>#jb{2H8$agPOnN$l9R zMWap0rsAVUwii}~Hr_)wN@*@hHDstnAeP$F;&s>+6_XY(wb|E~$*l%fGIX5>Q(15i zUwb_5Y=1X?K7pxY)VmLeMWl~PCgg=dg#n_CamTs|mmQYe>?qj-_EyvU+P=Hv*#YR~ zBKIpEGM2QbdpcKK=dRYDmo<%d4C}p2k3HZv$ zQeX&ZUH;+UZA?BKqAYvIZq{;G!RXDatDEb8zP^6;pAT2h{`2nn?rV{oTlw(jB=0y7 z?Z*=s{S!O}AnGfK{NML-luu=O`O!R|K9|$Wf4khj`kTvq{O)pj_>nAkpS5~Qaw~U|I=uh zjHAU(iGF@w?P>uyKw6gOlv%-hRhWreU4miH8qs7$;o#pqqkuiTcv>2_*7|18a-gxX zNM;KVBp&zgrma3QfLkVak6flT8JZHCZ#TtDMAus|lV?uz=TAUj>gHxomf#g$4u>lP z4OCiW>_HuY@b>dbreLovxl$d*5x|4j$I{R@z>;XNn+tp8n)!0Jv`e;dbZ~G0KqeTK zI+UFBB>4sYb%%)fZ^$+3ebCbvS){illV>fhE!fr3@7ql27F6PH6TDxKGM*8sZ?aH4 zTAU?HTU)j=r+}!nAeN?0@s}WqI@A zhaR}}t^?72Jb}?av7?RUJb(48gS>e2Ox}C;;pxq9e{#OuebLURA6_nRetJ1S{BQ-J zAC`9cSli{f)boCw0qY#D8Vjh~v%yB>X5m>Vd=n>I26XinI{_Rwumj%?H#hGfx%mcM zBhw`E7KHN@GA%X)Yh`_e&UC{wLNiB-CrKdfgn=dijO)0$X`IhZiB)u_0r*OQGH!G& z*(reEFjGDT@h!JPzE_wDsRYDpjnHX$HuDdTEC>gK@9^kaZ&gch9(@A#SlQoOMp0dR z31F9v5C;GV&7s-Y@-MdPs13lt0O^!M(ke@9)?mxb*Us2b`s4bBW{iS06K$$3BDq;q zA)}>5vfQKCMr+xv$QWi=w6|jb5zHBC&z@ZIU{rtKU}u7=?xRVbWc_>>QT+lSD*=Qp zkD*mDnk+q)Le9ePu?Ie4GUQ6|AW^vNPqW4i=Q=?*f@`c)!|^ zZGmf(Owre!RXncG>n!M-`-c^f-pl>NQO@VH{q8L3yts0@N|ajhJ}4BG%!u+ zYQwZ`{n)|Ze}b}6>%~h)OHZtSb~lyYC3a3m#k*<#V5a%*_u11htvD9`{}<#7EmoXes{qAONZ8z87{jUDQzx+%4+0TA9Y;^DL@dQTy zv<~j(zO!z5t4V%-zUrO3<|&(0 z+oQ$v(cL+}0-!Kx@-maNXOv#gf#=wzB!jOuozFiWjanN& zH!8;aPup9k66|P%g0Nk(9XsACSJ%APk!;lv6&e_z^3Kck&JQ+C8i<>FG`Xwi?Ez%P`4t83LfSb`ZxV? z(Z`cBRrG!Ulc^y%Tu5-Su{$V$J$>z5PA)?xkG z?DZ5=?}zaO83JcE(?z%K-5dce<6K3AwcoJhdBbzZyZa|x{}Mcl5{SA_E|s*dD8$O! z|KD9TY+P2BZt-aP{uk32%oZUsS|MXN&$IgacE*3p+fl63&EdpKAm^zF*Y zpx?6QwyhLtthpm+E+A^W{eG`v%4{fSW#4xDE7|W~$l>}$J6zw?l^HcV|HpszSM}q! zR@`^@cmkt;Vn!ygYmM>}p*p-k0V4U8%>vm@oG~yBzPoxSa2QpnCai)xX{= z+V(}4bz06vEnQEIsvNPA$Dy&Iy8^GCV3{m~LaQCj)0^O>Tpjb3~Y}Kk-xsqx46d$ zENE_x{j?<`O)w68l}~Eh&KslP^HUwq7&5u2Fmg5lAAMSDut{u_va_&}3i43~BR--7 z42by;Ru7Qzr07UY-3U&YBM>q}1~pQgi2I98$SbNti9M;2izlkezGEk)Q49g7DF87{_Y=O4z+X4glvOg^F3XlpqDWL(q5-2vd-ouvZldo1w5MB`Uc$iwS_ zMe2-Zakb{Of>DCW4*2@Hoek|Kc~)B5BYK|enN?a+jp7fPi2-e;8&g}-A6{c2f*jUh z&imJe$kQoybMdC{yr9Q*J6zq=o9EB#;qYv|>PA-Tx5=N_@dQTy zgbp{+|HDqc`Co3X%JYxp_~r-4)9qg_=imSI`0({l=gZ}jR_E{R_xfzrcXvJBvMqDz znpgp#DkHPlBsL%SXCF|St*o)S=MT+HL=hX1wLKo2n90ugK8v6XY`W(EhE0T(I1(mG zY$C(ma8LZ*|L-}A#DUe~K1?nB>iBHdNZyuhlmMN)yDv~)4o_${9>A)yZ{B)ueA@`< zhDEGp`W-TP;}1=FZzT!P?2T6Gez1iNfySf5xVa)2KV*|F8{nwWV%fpCVpbOn3S_@O@XpRo4M-?e|RcK&L#o9r6 z@i9m_^XFpT0bDbpm}c|>c`TZFM61)n{ycSmI^E10F=fT7UO`q|X~4iKeMnQm+oH~b zYy5vjOPoVLVj&|YC5JvhFBOvoGV7*x>tkcDJ)otiMl~sk_K$0)80$!1hGk%<3jm6z z>Do!@r9x|qyqlfXv-e-Gr`7~JoTU3wJ;->i? zDStY79??5b;q>zLo!mW~R#tQw+97BQ#zqI3$WBhV!g@mx8AV7zFnExcuhn~Vk!fa< ze|B|1&QB5)%_}SI_m(}fpMbq9ifo_iX6iz#s@+SkQp1)YE9X+?GST4~7 zq_IZV8cFZH4J`572BpE3jg&1{%pAA5lS97Qy!jHp6_{o(7_H#GYS0caBjB8#I@glB6~GL z;C>7MNg1ylyI1r@3uXqst&#vN8!8Uuh1ZB6A>a0$0CvXXG0-2C335w1Dh6>~4g(n( zx6r3KEy+&ym&Bqy%1VIi2A{p*A!L!5OnehaGW3lDDsiWOM2Iu;cmgXrDhN%6t{dLR z^E$Hq4pf&`itsJA`AX0H}fqAkbz{D{{&I?OY4}a%n87dJ8 z%+k1rF6pPp`Db0WRHUSF*9E4pad6}*aWch{2U)OBGo_D0H+1>0!H(s31p!)xV~e8> z;$=Bqu|Zo>d?*(^L%huSU%%Ca2=JUcn~MV2%0>>2oo;BG zNV0JSMIHLMuHP}TzW*(=m(T^)8J1wo2!LdtSMZfZ;2mX8VjRdb!mJLhs|SsBGyG{~ zL|?zTwdD5qcSrl_2y#VazZFk5aNh=9pgB|C zd|lS+;Bh~Bpiu{$hYmU?07z7s>%UlpqOapu*H=+@-WbvSgtDn_ASuXq3KH3V_dvt` zhbyyJKn6e`=iLfIQ$75Phj*<;K-n*PbN#7dp^Ctiuq^DeEY-seE-$@^M%Oe z!*x2{ta85h6$hR{IvSS2tYC$909v4Nw*g>`OEot+eMAD5&A)9@w>o_A_BkSH-j9t& z0WJnsp(0VcVij)RGAEO9+-^o>@k%6Q=Z2YVNq=(pCGylw6~P(4$@#sx;Ig6%!6=tb z1|#IA6l|f8Ftniogm-W7^zC(f$-R#P?Pv*EJb4Rc-?%Q5z$$Yp9OnE4$SzGqQ z+bgm&fn-7Jf(5_7^E9N~5~krwV52DO89mnqg-jHA%?XG-sAs8Uvb{s;!XZcpCIC|e zs;S%{pD6tG(47tpnuZ@}&)*n~VFz!K4#!jCRQ6pcS^xxe13<6TM$@e`Sk#%q?-0RD z9{F6MU}VEgDZmbE2GymZLYaTYJd70VNbC)E*VMD(QX)tR^M7uhPz$P*PC$Vl{&|ECA#up{W!;O%h5 zrZ)Dyl?rpEst1v+%;&|-^JjUzvZ0+JyeyaqWRFsJcea%h3=A}laR$n)m>WzCqMbQlb z5HAIPTVK}IWWVh8SNGHI@M@Y4zuoPx|4GZ?ckSxgtNAoPfzhYqkMsDuzx%uLxBuf; zS2Df)V72RfemNa~e1HGyXP5Kck88dEVx0oL+R|h|)RNoLgfMQFTs#w$@h>2dm~7@3 z7mkODja&vohzmA+##)+9B~ICb9T7}vyDcZVjOfV!jrA+P8opD4FlQ^su<^py(){ay zlp9)&gxLM&3qWCkKTm8{Tw1`0j;q$loCd(-Rt7+7{~e-NeW6VNG3JoTh)WR=7O^=- ze{rR+@~9(QEdCXV{y8q(u7*>G=V!kX)RKK6JEZ)kN%XM;7bKI$rfLpyWS$xEs|d&e z01Aa9a%Hw0Z~s~%=m%-3vYE)$iGDVD#IB;FkDn0iX1^*oIWpUlV6y}mg+D9gG;4w@ zZzN-|NYzvdsEouoGN7t&#Il3D^iQUEBd;%k_Y#=&SFksOnk-1j-BUpA_Xpc#Eq@}? z`V<66M4n&ZHma&-_?z5#(`Fb*;<@bZMAka>WThPBZE^aQ1UfzsvLUXSdS zLF(-jvGm*x!Q*jfwl`TDm)A3}CX!j94-k(-5 z`o`KjpPen0>EI@In7TQ(SGz0gmmbt~KA+5d-j$IB@GC^xRuGz1X(O#rGk9BZ!Z_632UPTtM#0rbzM*9Rq=eK z)BZOy?f>(%d;SlX&qS-*Ml;>Bz6TJ-OHeo-DzVDue78mcS(?ce@rCwI?pMDO2U z&JQ17PH#TF9N&CgFQ@lcu(N*NcIpurB@#&oaLO%S0Zz%Vq*ICmg)}pJe#2C;aSMXb zk!6zsPz;N{K7JWZBe!Sy7{O}|U<*tXZ7Bc-aqzMw`e=ARK3QedZu=<(T59-}@n?94 zNL()(>{vEGqih48R@U+3_u|*GiTiG`{fUqX*t>p%N`Bo>gn`wsQ`{u?to=AVn zR6xG{P=b5>9h)^kLxWFXjU1E>_1mkNY14Nu6Mm1llcib}{mMGtHa5U=bxa*)AZv^Y zcCc!I3ji}DP|L8jus;9}k*=uC75F`0~l2|E!Q%-jaX|ULAKvLK}j&o zIIv&A{|@h?68SU>%#8=DuRRTk)A3fyia)H04#kU#CVj2dL9xGEi%G_MD81+UyLspfp46v9q$~vq_tp;=NZWJX3ToG{BAalLUXLk$fX`0L|Z%pWe zGxV1ZFlUri^)=ZPk0z0x$t(??4#Dz#F4Y&}sB8pliRq4(!`8uNZ{yyh#a2Dm8O?%m zuymV{oi6rPb{8gjvZC(m>3+;+e(&eZ&b;?_>`+#=pYN>bE|i%Fa#9Ue);r9r^l>EJ zN(T;i*dqjFOB47K$A2UszP4fBa}Cm=;#JF(TGiL@wHYfQ)p9-@ZXU{RfA`|q`ww!p z^omQpQ~zXuXg{97=sSF*dH!$LpWp3ecYHA)?>}zy!*}M>-FNEw{83$2Fe=OSdNPe8 zcI}pv)Z7?~1~jsiIk`rh)xHtUkhvpuF&C=g>0JiuK0~nifgKFRM z0F`e`V-(L)35L`w=ZHjL0Yl(oiH^;YIfU1w5*53u-rNw=Q`}V(TF4oQ-ct4j%AY2Be zhIvd2eA(z93iToS zDlIwZM&N~zlHv38MKktx0@$-n*UKgPCdzlrSEsCdsnBK>eYW5`pY1?V#?}iJrV23Q zpgY^`Y%i4tC??#PHC-)IVWn@kZroy`Z&CWt(t5R&HL{t^pIVWCJ$#y5w%Zv#&2_*S zObIYO_EC;0050yJ!ASc(YdoWEd&o4_To)Ag+bDf4=O!EthB3mJf_Z0%<}Ny{-Hg3 zzO$vBDebJN>m6=R?|m}SC1eQNp&WDa1`E$0fgywIcdHq-POJ=4#1$jY8$``f_g9xfqj?5G3SX#l5F?lD8V!X5~V54^5p=Pbc$SDFO|3F96RGbWcs z&hXe52KnSZ!N9!Yj;O5{y)V1vus@vF_dXpT?&s^PFJ^h$7WU2`Phj*NJ=&(+=dXIG z;I&jsVE?`Oa{twGdGlp!=Z|_G(G`qd!M=e-Hn&6g-V-U$FV8W&-enQhhqf zhQS-#H~jVmTO@-KM(~r@al35LP}=~M7{FTyGO(EmHU30>$sBMGrsL`0PiKrl@r80? zK#W~mYyr0g9g7Y(8XcVSqa@{q8P#B3DpP(8Ju-f0V9NmOPDF}qSxH~L$-9l;Z2C$Q zY;3!qt6c*ig>r%Sjs!h*`%JP?xs?)B)d3t!>}U#SREiw(PFiLtp1Xdw4lky6( zJcy{8DZC=6uAx$u`%2Fy*aaSp6?4GGZgK^@T21-xo7^mY)5F8r7|}O9Xlec3LFxH) zUP0>Fp66vlJ8QV>+_d>&&K9J$nDWs3s+ER_b|2&FdDn&%Od95SQ28tFg72>hUX2P| zR^k(h=)3$F6KcTH&G??GX=m~}?F&Gsr-2hq*Aeq8-7_F^R3>Z62U5>ji`RbKPw9eC zsN}SC?`Un<#+nEhejQ{-s3(XFG9yrgP_eB0G54hRwl?iuDf0AAZMVDX0J`lD*XvcU z)-OJgKegitjK154%HRL}B!BtIL9WYt(oUaW?q2tA2&S6>1Hg1AQH@56=%Yq$m>>L%5#YmP-@4W|QTtV5VV6c9 z9RL|g)1;kIHB_)HDaNKzjs~;U=u0R71udS>carUj{z%~o@G1n8ngKfybehH<|9G&4mn&=- zRrWhw4Js-Gner9p)hQJbp%sB~_yc_LokUo!vR6^+%*=xPgbM(?gO~y2g6=o>6Udx{ z%C^Z1Dy_wvTdqmN0IM;{~(9s&AQ^ezg+G= zUF!YEm&-#p)xW1QU#%j)Q^Qsv7$wYS%LbSOg&| zWPd@u`9>FmoL8e9X)LL5*l3dPA8VA;A0F6>HBr4Or4jrSsy(bfCwXEC@qmA|F zKVMb8<7riwmKW{e{Ly?lf6$i8i?*C^v~&Gh&9+2FQS%-EGd>{#P+-wQVD97R20$y1 zfavDbZvm)}ftmh+^S0M~%V&>%^WH#S(uOZ}I8(p%PAYFfHEeE8(o`z&&(lZekM0R% zYg@}Fw)So9lmJDsX$8xr8*>jgI0d`ZhK~8xzj2q*sa{%kvkq+)n9!qV0_ntmhA~6m zwy{s!W<$n}1DLd$8!lZwVnc0P(Chai+vZ>Og*h_>C9~BMi%RzHz#2(PT=HwQN`)3xX0) zDL&|kOw%_Jx%K~c#&L*tk919fD0_=~cW}v6P3%8^E<#aZuJ6Fr-2;5=3E0i0pkNKE zT&LO)QD4zU6klk(t_H*3kn%4WQj-N1@Q_&d{J*1I_!?I^5v1ic5ENeZ=WslM(Rc9p z#VsSAe%jxz9^>X)lk@H6@yR`2%pHB4Cncg@S zlY4Bm|6lh0Y)P^txe^3fdkTui;nun%AJ%Zfug4FT#!zFBh+nEy^9D7^WnpbL?tV{!ay$m zV+CthV5t^_H$4K~-?%q27Jc^uP}_CSF0=;|(sL7mP@uHB49O1G zp&~^fp1tLLHs3SRUJF46s$?s6T=M>rHH_H|Itz0Qo44PwoH!&JXP%+tI8T7OO<0TF zcxtfQ7{8Q0^Dc=VRC+|J8FM$NLlyAq=Us?KvrkFHD!fvi_Tt=)1^EN`~2V+Us#)72rx9e-U9q09JX}y}P zqsUCf3rIQ%MTdHsIsZIRZ%1y7OAoFCb=Fq|0C7cO+t}5sidbBZGpevLm_0)!L zy;U=^;JVy)V$yM38+PF9*deWjY%x#SJNFeZ`3{0j4iNFNZBGr^x(r+Xtwa)3Iw^E^ z*9Kkh+nrLLy*-^5cItMZ1>F^D^R?@r(BtifYwy75pV* z#^%j-VgS*__jo4AsqvW-O^Y!)_DHOr-gd^1CK$$TZc1;=1kFmBD!mcjqUkA;M$Q18 z#8-ydat3ivW$%Fp?i2>}=MX-NkEj#@ESWFKoKeb%%_Z^`BcBwilIKBBQ!3+$?uq;G zdth(Uls`;?SEW~P=B_;!yEqs0v zW3g5^5-axiCWE#tCDH}5>fO(wkVePb?paV^)V+Yj3z{b2U(x~E8Vi+%u`f%2b~ZHk zup{!KE8*xN8uf48**F%TRWe-MS!l`~_gq;x4HNjMp5goJl8Pg8v#0k?7&G-sm#MI6 zmdGjp51^RL7#-98mH0*pcd8Q>03?Ce~v&Q3bWN(YCYY~+%cHt9*1&Cszpk0pmJ zHO5Ux$QtA?smq0ViG8&~Gksa^WNTQ$gCV`#%XYq(c77P(>1@xoSYeH`p*e_})7ZxE z1{hSZ*d0h2v)#Sg-BLV^XzaFWgUXQ=7@>kbS?UbQ{ zN3@`YlNBYQ*Qs|_YiPVrZ(~ENq@(X;EMP(P`H^O{_!4x-CNwkUc(wDmU6N>FM`x7l zehaS_`l6@$+y?usVAS(UHAnXn?aC}a9Wt|AU73wusyo#J*4B!@j_RhJs)KKkhJ@zr`GufO@YZLfbK=hr`Nmsek|m)D;x<@}ztaw-L74doFA>;XDM=LYk| z-zS8L5TdY0oCrf_3`xClpMpCi!4q?IvKL-FUl<2xY`K~r2gqf2-6;M6ke!;T zq_^Ar=P*Rk2|V+_9H>qW?hBiF$gYou|J@A=M}k$XasC!~TxLi(nLmlSDHEvd9i0TG zj|hgLp&dK%WZmzCXX=UCEGG>mxd|9K?>*-#*y+w^O+`#O z6U^QmGS4aWPnDPl0>#BZsJ#>*MGKbc^ZHzy?9YcsXka5+ll@pvz||NfD=hJFU&AvQ zV>lIzM2Njh?8G&r>)rXIpvQBJxl>dDxG2;0Q}&hw?R5&vxBf^{%5Krdm?FXu42vJ>kQ)Vtp#!+eu=*)B`cpwDTUbO`t^cXd z71jneQ4s5RpdfTLcGFrW37paGEPVjdzCDQ6bz9bM@fJ?3p<$l6p7VIp;-Hfe0jg!T z!RQat)kF4rr>e__b9AwDug-!hAT3~k%WNYgLh4r7WMI@^tuLOwQjtG8wRBRzS`TnS zrc^VbELNWZ(+SuK%<|Y*a*lSx0;!AiAY@Jp(^v}T%^Y>e2OYXFbuAUQ{fmt<){Ewt zIv7=!*K%~V143J2;vA(P;e1m&yVJYHeZMPUdUyQMk10=d`SQzWPvq6NA4_}qsoZ_@ z|7hozKUwde|2x@U{b+cw1Bj~oqPNK|`Do^97~M#@`ay)WV*fBgeKp3@jxo$gf3$Y3-Pg zS{Iqon^mZ`1PJEvSdLh=-Gz>)ljorw7KtrVZTK6Uiz0;52@jEG&>)*rw}4uw9*u(b zK?v>HTz83HjfK&G!ko_~8Pvd61P{D_vZ2*>6pG>_ICQ*2va+=!uQKu%iwLUE{YTD= z&q;v!61LmV*L$)n-S@EHP}R#7VHMYC_{|gKy?Z5}7I-)_>IF+$_#tXAl?iVx4X$os zs5yjfwY)-Of0iy;lw4x|qct2Vju-6t?NNtp|G#0w1aAxE^IMqTN69N0?xrmEVAUb0 zDial|2H|^qLI8qk5yClbkMdJ@Z;9X8$m{slWZ$_Pmlh9IZ2m#qXvBK)2uquETn$IX zWuuiA^4|=UB*^rxB}i46Lru0vdjpV7mRfIz3&!$p*nbg-#w907-D>m(lXwsuPjHZ281?Pt4p9a*>@#j5CSS0z-_yWP?W zL`Q|w}7wzPfp{oRnZPK_j zYFY4t-xZm=_}~lRRd|AYe}D6S`J!g;S&Y%yRwU3xzOTghdGS7Z&ATh~1fvA5eFCVw zZqNcE!9W!xu`iF=I)H6I7Z_Hvaj;0JcC@gZg`*pFj<@3oNF;l3_UKz)7I!bn3{HUF z6zVb$Q_N4Fu93As`*|oV8bT`}f;NVZ%mno8vlzX!OW`?k_Mj5~1UU`!~=|EZ2+l zM{~|Feh(l}CS#vPNbIt(v1Qck1fl77og05kIvM=+JbX%h>V#TuMb@3IZqlLXGvb9XJxb=!skRimqh)p|Li(%Atx z9VX`FxnR_33{2*s6Ubf#z{4(R1f&wRMn&elXdBC^jaRUvt)XpJIsiT<1ap|1M=2-; zo>nsO89)|cj>-Soq>txCo?zs5^ z084h&IyF?+QMPGRWnMB)fAGvkWhysgXI(d6Usri@IRe;T%Y!-|Fh9EUSI2rdjBxU0 zfV)yXg7NzGgXN7X<7wOdcJD8&PRpucf3&Vr5a~NBIYTayrclSVk8*Q!^8TUYJeL0n z=WN}O8*DkF#dc7#U6d@Rw7NV(zf4*fkpTeS75U*U!N2)9i*;`mrqDF>K*h{Q>WmeA zjr-ApFLT88J@&931-YD|Ym5Y5ZJxHv*{bdzZts0QH{VP^!RTh=vss!$vfDNCUu~P! zMc2kww)LT`>sq#UU#_p;F{AH}Kk(6`vHjlO_OSDe_Ng1;pY%J78!eX^zPhY*-R zF;|>l=6ei8#qZ=1?2@S3B?x{5I#~=+CblX;T0%O{tI9$VGL#7p^PefpGSM2qX#oS_ zj1=>J^3wIu5EPl8t-SHa9oCM&b(vuCeyj*Zy6^Q~1D%pF?O?QUMa(PSg7>z(@H`!T zo`byFe2-*hD#}4Um#*Z)VjjE;fal$|o;kd8F^0b}8+iwq>nXcZ>(nz;0u|5xM5Hi4 zFn5Jq>?KQpDak5{OaLP8X9f;H=Vg9&{I1WxO8^w0YX>s@9|K>Q^dfaX`ILunPAYx| z7;PTBGcFsU_ULyyt)~jvW`lKo-_|lenCqv^AW?x_>5&gNs|1}p%STlsx~>74XVyD_uO%vAUD?*+_WnLkr=$j$p%T_BT5m}SEf>nj_;CVJuaqIYb zJoGw{s1`+8VNlUxsmwq3(wvU;exK8r4+DN4n!g?ZR{`cp`-hI-pRCvjg8@Qdsc7wF zP4Jh{7s^nl@^16M14uT@>9@Si$!V)_BwO|S&X=P|LU9+==tPzKHEW_L!5t)I$_L+N^fn9d%vS?cs3L9a>(#tn%J_ z2Tk62X zh(!-qA!C9tP$|>%<$HF|J%8=)e52E(^vR%;&# zIWM>e$PGY-B7=&2EE75lEOo^9C-YlM6oO?Hcn=U@K1%U0cv&(mzZu0K@B`2Uz9(R? z0+7kT3mg)k+k%|QIzUqdpuVQD1t%`;=nubPw4zn}`OikkRVrYmhb-Vxu-3tuFZo<9Z?P_Rz?+kR0 z6bl9*@El ziMa=<WLQt!sv5PT( z1v*5pr=ZbE5F{3XW!A-gVAJ|>zU%9gHLh16e04ft$1AMGO1bfzQQJsDzXF_Yjp&4Tel;ys^JDbcr z+~3Q?-Mur#8=C(QdG`$=daS>))W~1=ZGR5~^Dl}-b#)HHdAw>rmU14GaI^gKm%prk z`?r7F#;cUKWPkd1VD#VUk)ip2Jj(6zu`K5=#w!2W`EvLFeEs^{zgQn${%kwH{4;6y zpOn50A#F#`m=YN55@GMiAq(_F<30T@ugmYmtHlX_X3$zDWu1xL{$(<+01Y$K6#y?> z|M;b+YlGz!v}xkU2&&xPAlHj*$kyVX3A(dzLUI?D>c)%b>C=7In)!V_uGOdSZD75M zoy@X0;Mux+xf9g)>q?G^D@GAUXJ_z}+f?$O9@i`Yj%2Ku<=J6~dJJPgRPWK(`y-HB z0v$HTYCeW5`+#~#O~Y57WZ$Bfo>%a%GQ;KF*wCmpuZ-5JXAeDkl76IUM5R8#EyhNT z$|3VC4T$17yh7idBApp$whF+mhtA=ecrI6mX%5y5g*z4+MC+m@cf%2x$Bu>%Aah~$ zeBmVntPP&FOo| zv)okzIE>?FA@)n;hEvumK~(QkC|;Q@&mq)mYhy&$Ew%|g4hBovtgEZz01YRkFi7;K zG<~BX+#>08GRG44xV1IbhJT|nz%Zq6pK9zJLky5Ju7Qdi^vqfAp{wRytb$D}j399C zcrQ)p2(V)Vy8+B#)OUb_zAFm4Ik#2Pxh~Tz^!z;*UPhU?Ug+Qz3)Q+FVnL>EDcYk+ zK935=7AsxQ!o#0u2>~|QKiCf&SU-_dDc&YY0omqy(*gb}Cpa>vE8S7azh9QqVEer7 zlY!Brhv{vu20&ZJ&+3S4?xU0waylK*b!~AC5U)w1)*h;9MZT|P&ne%`sncR7m7`}* zo`~XB4Uu1KwNwXC8`nJbC92gG$DK|r^l4KMQsl@Bdy#sG-a&ms-&Ax7F{dK)>)FS- zqf3dW50r4QXexclpWuv&<=|e+L-hC$h;llw!uZA3|8d}^i zF(=L!74x@v*omPu!vs(4PncC69(bIvJuF1FjzG!>9~!h8UD`7-kh7ld#pY}k)ly%XF_&!+nYoMz8Y+E2P`ji zMM%^47_SEhpaw<)F_Pjk(XdIVgdr;&ma(%j^kga`eOj_oP@76nV zn*01j1ferHC+NgE2oNKec8>W>1NeqxsQ|FZPTzRJ+T0&hLM|noUXK`fmp$Am6TM@s zs<#uu+O)gkmakY}(WL=-3te(7c-_`AH{YL8a9*(ChIR)iTsGTz$!68^$u}!1($M$& z??3S#v(1@*yMGfs%^7tE&fArFuIRctusa@x++2nWgF-3=UI$x_-e+`QMbD*LO@0oj znzt=JkJv~4xZt_zBrN76nNGyL>SsKipks9ctd>48>ukJ*_Z3Om*XOj);BS@Ta;%ju zQSfWCVr#J)1Kj{d&zCyDr*6gC<@M{cynb~%#^LORV(SBPT&oo#l>wlald{TJmgZpW zt`=flose(t?bXJ8C?9HgdN^%Q#yWg|I1Ha`!~UPP@@?JD=hLaZ5Z{jJvGMzpJ>G%Q ze?v#+i0V>RAo^^uqTf6j8s)>w?ZYSS^7@O*`Sp*t_3qQYK76<=mnUQ49c(pqY^f2T z5Js@KL?^U?6Js~;aDuytg(x$2n&h4Sy&2XXZ;;Hg$&csPy@!wI#d`@RCScm<8=z9( ze{Ro)%=h8XkTy7T|GXfk$DPgN;lPv6hBNhi)_BkEzS6)G^T%I{M3txQGXkU1WuJd( zKS!naeBK`5y+`;c{*l}kX8PUq7LGe7A();C1jl~oY<@l$gGn0R826s0w`(uFUWEB< zOz}wYDgYlHK1Sc2BgPemHXRoUKtX_CEn?pSRJ;FEWD*1W92?^=sMIJE;0v%@a**a8 zuOcN{IR%?tVzv0cAsTM1$$TY1_P0izbT1+I;haqQr!q$kqzH)_8^;v*lr6{~w+{8s zY&($8yUpj-`ve%7y1e(Ez@LVZhn=Jca ziZ{eZT87QH3z1LT1B$X-5b%O6h+UiT z%x!Ly1+nn$h&>8t75=gW*sq0o_e{A0NuXvH=|VbmmrEajw9CUole^oC+}=Kn-)Yg3 zvZ9yhm1-$nn4<-qEfk0z(bV7W&01D55>sp`jX4^0bbC6YRUgXs@aejpKdkNM<#HIb zwESv}>Q94ukU#O`9T@$$cZ}um-wyJsyf53g&!jwjc7MM8tB3oSf4M%~{^i5ni=XxN z{=MEWPluKm(Up}6P5>Sy48&&rV0&%Pa7F2T1 zeJn)+_|0vH;-K*)`zA=tkMR1eVrlHA^S~%EY~}`lr$&HwDcNGDB%mbg;rOpWG2vRs z*Ndj+g@XcR#ERqq7-TUMly;HbPi2DT4xH1_xh5g2+UKDO*}M|t;cS-&&%jFb2@r%_^Z@%b+{_d0 z<{9H6{2j8uUz@Q`up}Z$Ug};=n3U{C(DO(~tVml>2nNtEb zV{_m<6v{{U3V&Ia{G3dm%VK$ZzvpoJAm=?x$hEPD_6z3!QFbPVlt>NZt88jitfS$! zgTl>1wi?FN6b%hCYA-}jv$$X@#cDZ+S`BTX#KVGd>hUxdjui(U6^!*d;$};2~r5nf{_{cgijGo6DJx#fvb1x*9#ehjmNHTL>9h zmZKL3pPUSKTW!s(GMB59-ec z4`DOk`E)o$D=6+BXf^Rr*9L^qi&PyfZL+2EZ%l6YoKcUw_>XL65JiaiJsmX`ZWV(} z2e}L+`f$F;i)UiXuex9mY&+0>=ir3SVQA)N7&H? z#hcYl_~P9{#s#;hO}7ka59|4S|7WM|@;?Sbec8)${Tumd{nhyRU(4HZyaS{EMh>u| zLyiCHC@-HrmF>4bS=;54^WCezynlH9zqa%Fr-SzYNon^V4}a`x>DzH=#SxKQr;~6Y zsba4dQs|MD1~4=uDIO&aU13o}DUo;9MPye9C2lmNP(ccmvmY&~1WD>5!J^$waR^3- zwgsS=aaK>`ytUnqG&1!aB`6NlgbGp*XD+nI$#TZ^{T{6`Gw$C*qI}LNkF|$I^SR?AmVS^#Hb{?0z3p=kO!|mIT;MaKb8fIt6B|(N=^7 zEeS%i07Uu}7Ih(ziK?A?`%U)(#?9`^!dcsdMSFr`GKy$8I0reUmVoZcCU1QPoPNKx z(*epV>{`4P%7SngXTnQ5QkLq3c-^>9DH_3WW?BZ<1K&I60dis;1kSR)_{Lzo@0eD0 z3#b#A!l~^2o6l$OSc@)&@&otG+b9en8^}rL&ln%GT_=dVfUO$ciI9L(;9{ zS}D`6Q#F9P*!#5tyFj1`s;M`8=NbZjt|hXE0A98E!Knss1oXkxu>y?pyRxaSqb);GV5PAyuVKRje=d~WsnXV#zUsJr<};V zjAfS&(-U~wUQ;#ml;@%+XQDAT^LSG0@H66$fs0#*a9Sx&eDc5PGC9CRJP3TiZ7Syi25FJ3B^6Ix*y zlI2WYXTK{Rj`z^I@5^SQj{IdGGn53P-IQI|ws%&YRH38%8b`GIbGcR&x?+tUJQYdD zqj@ox>c_kLv%GwLC*Obfa)8mh0Y>lSeE%@Q^=Ffng~gTCoAEz=c5T)6loj=3l zzdjxe`JWs`b`AyrQh*EgK-TVX-C40c_MtEx9C4sU1K9K96g)s%=6yS2oMV(+}I4<0X zAYBRGPJblBC31!12Eed07d3#a#L@#e^{qM!`kES$jBsMSJ4d`dUdt)xZvf!{I0V-- z0P??^^LFSlXKLmbFMl2zi$$W(sQ24MHFWi& z4s&WYZ1Yg2^n%`z^V|VGu%p&soXWPvrVF_vlmi#0yEKN?F{G8fLuE>T!Ek!oIlvq@s8v8epB{ujK98g2Poe)Ngas;=GgKD zJS=}$u#1w|_MyJBQs0H%sn^O}Pl&kbN!5uiUd`_9C?y;fc$zZT6SSS>xxKV}^z%Xs|-AcTLj~A>2OWIJt zLZAV#Kvq)bo|*{fmpx>R=W1ZXV%IOuPe}#b$OOV*^e$n%(jfpq?UZ`%JmmLPuni;` zHJ4rgoaaGum>q5~Cp6IDZmt~!c634LMJ7g6_V^z{;7{+&Mu*|{S8OD2tZl8V!hbY- z-NCtS5`dno0w8BQAwfo15X2Z`E&UPDBd8J-jZvN&Ll7}%A$xjVw81(UV+Qt=pTo2G zKKDLWzB`lOgHvVWy_yPud{%dMyt_h~*h{@!HhC9-6;Bti!jJB`!H0talcR^l3+`p{ z-K%6vr^@UA^_MbNYkiTlVvL&9~h-gd4xL7fv3)`c8kl&Ky9T@#19?6J~25=J&u&5%VY7-!}Bi`g8w@vzNL4nk=!qX4@i13j}SX6lS(+T7e0t-Xx*KFBh zs3$YTw?w}^dp-w{EQo+BjIr?X>4Auu&no8mI?%wK7Vn+c`eccC4gf3br8rrs3^B(^ zB^(4?)3H&H$8J-2vE#WdSFY_U8xU+PyAcZ{Gz0j;(DGaamP{uLJM2tR<=!Rw@&z*k z011X5D&VJZ{+u5>gXxgRwe6sEfTJRk;cqwSoWmT>BJ4~Mn+dQN73R9|vz7e|y)n1i zZ0_P@hIwrfQZ)n27FyM>L8DlrlY+N@ius!Xv#^gO<-|krl0z-&h?JNUUQe(NxwWX> zUy+IBlXyM@two|?J)J{VtVd&iak;gYO{Gf`ad6^vY}8O9CoA%zK~tbVg=%9GeUPYqzOD%L`fNIg4ouDR`XL5yfP& zT(G_%^U>`APLzXw$rfFm4rDrYwajT0sTVue7{U1m;r1&`%a`l~mn%(Q11IUd=+=h>VQSpQS`wBbB?W>ubxW zR0qPg{H%N~Z*cFs5G`P9k$O>jIQkvEgstar^Y^$cgY|410AiPuH-`(o0vf`36m*g( z&Bw<3^ZNSJ`@9SgeICH``HNTb;>Eo@AB^a$SFhymVYT~IP_6fUeRFLs&z?NJmiOMf zmZwjzf{{^Ts!bQAQze{&I_&@LS=9SmE}LLk$bH_zm2egU5a8Ese-agmQ z?`Z)8i}#Wpu>aeHp9tasaw1^kp~=o?G{cdGWNY4cj=R~DOH51UMY`v9c`WVmh* zteN9s00Q@@prF?Pse8CyFzO#rdE!=|WZyewjZe_|az@5O|lF zPe6)vj54)8G9cOswhMMp^6SnU6U@NZenT*f)EUpo^S`l|uGpHzPBZNDiTBY#t+nme z1V#z+k>h69u^oL}sd==yVvOi$Bmc9qaH@b6tHvBgo+Oz_E}5S55a6+Jy~=Jra;cZS zI-^V!>Zj>WClu(OAKX^egt=>^__x715A7#*ae1DYH2uaQZs3Pib=?yMjGd-FYm|y3=X2 zHc$u86;*k$%K4?BNDsY29W6o^=7tTCB331}cVW0bS>`Z_j8;rJx#rrMnrYz>5Da&0 z46v=E)@Ql8TAT^hX8xKRI)LeEd_A80xxF2g0#T%o zSlcIOc~h6iYJ-GH$mE{PdAp8xVDyiFxV|{tKb7tL;Ru<0Hp26N(boH)ly><<>gBzq zw1Xw!IAs*MiVOsHnGCs1#?5~e?y?iBvcG9WV;w9-vRU`M9C{R7%uFDS8TQw)Uz!(Q zQj1537>2G1^OO3-xXo-`GCSGYCBZ0c& zS!;#yB^%PFnQYTtdB}^~I10c+n^`!7CleKSndL13@(+QlK85E|1zyp@ghrYMc?Ni; zKz32Y69Z5ppVGc|vN7HB!92ln%I9r1Ur}L9fGJ>=77v?eFWL!=0(e%)8t*sWFd;^U zNPYJ9Ii-7G36@gIBe`k;m~(zxjO~1#z}x&6y%bY^@QIS4RaR;f7>1vUXIiFWs;xV7 zxgz{HW3NJ|B^*Z#Rh7*3>&`@5NEWiivSKJstDe7V$21F-FoT84jo|XW1`m zpvnXTn;OJ=^}DJBk4RH-w!g= zzy?RpoIVKvXMHwXu32pXwI~oZ-`3YAcc;@DTP4wJ^HdxKWeZwFSwGUnyCaCDTeuu) zZl#S-mC)PNLso@eG5_{154r2_mXZLrCRgF>vZM_xg#}C!5kOU;wIMZTE9kwey+l`& z=M~NDFPHoA^Wb<3`m-+Hsp2$1==IIf8uA}ci~W4M_U|=sR9ja5D-=OY9T1sTAp?TugnwnFnz1B_N7 zV^9DN2*5o2%x(7wkfRxYOT$RBOJHovvB1bI64$c^=}=}4PR!Nx-x;$-2n{8V`>jif zJhli+_ZG}TJX=|U$>=9}5B$Hpd)HUSJOw<#|$UL`=P%)mtu?nb4(Am7eIxe28C4RhT11Z18FRP^hH z+$-MxQoZd`HH$+>isR!>iZ`qWoI~-B`(Tu11sR7d>L>)EYQRqRH)F{$ug!A42*ka) zeudLgi-&aU!m$4YMtNU#2B8Ty_}nh>LthOhmJ0hTieMVPGDZR#=!#Za{o%1 zjIjTEAh_$k8yJ6YjE~yZtxU`d?;MU4age0ru-Z;a7talhe9;70LODwuiR_eaq4{m~ z+|Ot&*SpO-8hQh49E7O@zSeMJZOTqrHGyU>WicYp*6t=~h2!Rn=?vZ`m*?bNPr)4% zd+Itcu#jVGT?NL_I%-)PqDgmF?@=6y6F@oX920C;*|XxgZaRwrIX?^0Y}pYE@#$WI z*^cELM-G1P^Y=JQk==b1ARm*}maW5Vt&`C%$h{r^>HhL<^)=TJ7GEmQ?RwdCH{?)r zMm1kl-3bMRI&{>P=gStU#i}!{MOG=03$LVKtPl#{AG!fNJdxgwe?`&Z0-<*zi zJq^Ks_`!{Z=amh;xw(>O?_GK2yn@k#hw_gGTv7A~Iknk<(?*hC?YBF4i^;j}eq|d% zcxJ3P9Q|s%-kvh1cVP67boAKn^B2eOzB`{jy1sw^a(?~(!^5i&hQQzSzMhI!&9`;n zlcg-Pizj4Zs^os}nIGssufQFIg?nJhWf=GK=$joA77CZ`WM(#Y&u9VeOklT26rD_< ziXUNW7SN^x;H3jV!uw~K2;j^N(Hx?$*vHtyzX$Ls5}#o>-#7=bY1SXp3OXv-THI83 z@7UQFDBjIIeA_~=5sjwvc*>$bg{#>LXbfE)_DBWIS_jd)slEl3N@Wel$;27@kd#t#9)5 zO8<*9$=bgY`;507Gaj`h^kF`ljhht=A+OXoAD!OYy~)0YU@MF&*t*Nb4Yqx~Xw&Zv z*QxfIts@e#6{;}|Uk&{fB&_ zpnEo)-z)x$ZIi03u7=|E97khvPbgG6Sbpe}XIB8D*Yf1amHpn*5VQv?QV;BzI0NAf z6|+UIXL`(2SO34KTYvqjwDYI3-ha~8 zhxbZfuZMqjRLzY&J`zHfG8wM)AcJr5HRQ&sG}QP$x^!{F6^c$0GtAJn#;q2qQ|k~m z6tAHKMf!A>`FwGQRPeh$6iJ57@4p%aF>S92iZU1?c==H&I?nlc2K;!9E)m6cidEv^KFJ4utFiIjU@hB#8tVhWw$U;iN7+HkIXjNlas{35-?(rd| zNAZsPu$~v!Sg9P$d~v`aVEP4eqB)N$&DDt=xjh#f?1ltq37n5iJ}z0z3<^FYdT8l4MLP*0@&Lm-yS})%fTs zS|?3916z+Q)=+h@ zL4L`W05VLTGXAhr%1#J@d4oNi?Ln{U^+)xvOkO08*7=wHVOM2nsHO1`p;DQRv@Y5$ zLe#bQJZ~6uj6nf!YM)>HRUK%Mi7-eQ3wu9iu5(ckq95N9f?G=ujx$W}Yid9;=l-%#PlOcr%Nc z9FR_oC|J}UFNBfiYs9sB8e4IL=}aUmr5)6k$M*-8$K+=^CfKtp!HU zWivznzB`YF`oI7(RK0T7AIQG$$aFXygBkS@FB~4Xspw5BlbpHPPiKiR(?Ls4NLt3( z2<~B(z@Ya43uT%^?9*UJwfkLU7fmR+E(^w-jwC^ct)<2HijN3M@jO9q71Uwi(2l5O zey}o`l$iw~>)4fNN~3LH-5Wv=Y!PPTvH7k&3PjiQS-3YijXwv(#yr}1EwNRkzX!TV zzy#u6)OiRO$&)9+;EL%!Ok-^Qs13>s0MtT#2j?>iCi(n&t>(GMIdeUnl8O`#l^dW( zNp<%~=k$tx5~h1!~XYM#`^=9@xfG6O3ZJQGGUdAbO@#tOB6x4f&nj zZj&Y~lQTQy(wa1Q#%ef9z8GTR)xs)yo~2<91^!+}C45aHU%b0q>LwjVh(@u~;2;MR zx^4&4rB7~-Hg+oK?p%2Lrt1MbpA9hj&kanKt=5zCO{SjXBCX zfSU5MSdeo;deTu7A>?g5-ht6S@X@FJ=Rf-Bqr=0)i|ci}e}8*;@#T7X{pGgZeK7)F zAB<&uRckxwo@fk#x}AhyY%9gXt&g++1Y9Wj8#bf1kJD`o-3YLQ-_Pt9eB-I@%fu2D ziOS<_`Qr+5X5D&cUW_ZwnwVH-3mbV?H46^Nv_?A>e$66;pxISwMbiF zC@f&Q{|g4RS1JemOb6BO1>w2kIdOU(_4Kt$)IIrXKu3*cLx|genOR8tv;!SHHS-x$ z*hK)!A~bOpiuu27 z0yhG%)F$O0Mwvw@jwJBl)q6*dF+I1lRi7%ZGLWwY7v|4Q71|u9Qj&e5L0MTvZ`Mmn zv{WJxRhIMsP-qFd!filngzrm$v5-&6@OfonlT54PSA?ux--CU!-E2Rlf34=&WeC;+2lm}!dulsi-_XOrCNHg>Hoo51b{gm(X>^9LsDsCBeouFsLY%N!-mcJU{^PmMx zPmZ>$mFAGvLl*ApeJqrpR%9*$^bH+ytTkWRQ$tITLk`qkZ;9sIzJ=4nDrsbetY_RjjW5Gz$eXkNdIccM+dC~&m9;AxhNBw7 zPh@PelBor&1`t+cdZq**#Wm2QaZ8XdeP&*q4SN%`GDHcP=m5izs}fcy-wT?>e~v$Q z;m%5C2;!XLM4X;)V?{pZk0GW2qi??A!I4+&KtVy#CeD_5u3)ydnUhX1zcPXEDId0k z!L8_3ScB=}&NY@V2gb!f81ha<5&-0^NU$ivIf`Yrm*XFF9^!A9<0di}eEDs2_7kM? z`Eo69J7# z8IXq_^d;Ei+*x4O`B;7#T!+&jlaus=Vjw-bg+$L`fLflf%yU^%7y5bWoKH_d+2K0s zQ%*PTn>xuf57&6@u^ub+Lniab^{5wu9B7Xqcgf5tn=k!r^&HPSt#>lBmikba&`=UO z-p9njrGFxN5|@}Um&urSfMFIc2?+(xm%ve~X+fy_3{a65pj?E5u(3-aJbBc8qc7g5J$^mDo^0prDz~~?K zcnxvat-kIK>v}mfxh%DB)k1u0+K*1&NKZU7A-(#K~sJQi~5F&Vg$by zyA9Yi5r#={o5oA#yY2~05;S%Iur%~BH@Hqi?>HNyD0VV3DR{% zowLmvnR_2m=AcFghG32oppki>4SNk4F2U^2#!ASV3Bc&WBB!)QB_^myGGPAq*7tdw zOug70?X9uHA}P$+pCvWeT>O&q zKC@B$96O7Y05=5eWdewhE$P{2Xg5FM>c#ly-;2Dt!t?p)bi|oQEyX5!4wJbuGvq7hE{{4Df572k<==u-agzd+2o`ZZ||G5H_Yu=~z4!t^B z>Q*$M8DR7Z3s z0Hn8AOu2(d$I^42$Sc0X9QfBZEl8077rGmV@ln;AxYvr%H-XBeWLH*-b}V!%1%w0p zF20)!-oc`_knz2I9mM)OnX}}HA ziSw{QzHdwChTf`Bdyo9ISw4dOk~Am=jk-;jGuo(nzgR0FItq)0j{DlZUuByZEg0u0 zL<_|}7tZ8Z-wL0!&-IeN#otDPNvpltmI$cbNf(cu(8jC!o_OIZA1A zP=v+MoxK$peB zE;ypH%l@MUOT2|la4p#V4f(iS9am9wL@4M(otQ3%|ut(WDYdU)9O;I=WY(X5?L z!h%9F{l9KC(j2^yE5S9_3eyGJZnK8Xo>%{_P(i zJsg9Eu(YxDl{!x*CvIZVyJW$$B=FcfpnybH3)NAGm+i$4HQSB(DKo^r^@$lTvMaFb z7>`B=LF3A3ujcvRu2btI*ZSP(5N)q@+aLp=5=sq_XAUaXsEw$$S=+o--nNn0(0?{z z57MO~SGv(jEYTIg3*6Esd9=wpIh@c6DILE}SU2I$iOaY$ka1b8k=VwT&WGgRx^0CD zITw$rxjJjm8P$F9E!Ug&+ch0BWc_Kq_M*T-wstW_RC}LlcZtK%+s-k{BC`Y3JuiM8 zHo|rm)bF(y?_-(hPlx;aI+pzuKxK|hKdHm)1S0bOjYwh&z_&;& z{pHIi%XRyx-rs%RF1J7H_pd)L+xfkvwQEg889)SE-TH!YFG<5@zL?m1ac2yr1lY3c z0gOr!nN4Jgg-hk`_va2_Gtbxd$L(|NVV}^YyPJEzis+KekG5!un?7R(tW8AM7E3v=^L)l7zHJ_wScyWTM!jRpK!(23fVUDOfX_AS2WX9;D~p^8T7pe%KJr2(a{d(Ux? z*BT>DcGmz+FrEM$bE<+k@HAb}RzZwWT_Wttg^(#WaIotk%3%4?3Qm|N+5GpFdxuwm z4Wv9Q1x#7vd3rp4J?_XIQd!ga582Z9cVB;=uU^A(v-yr^F1y^x+zC&@c{iC@rq*?}AQKtgS(>kPOYP|V zz3Y{RN$2f(+Kog`{DQ4IT|IP(zA4SuyIluc{ra_YZIoPCc8~5TIGoN9H|GZqEY_nx znHPozP$lW$pNLllShY{H5VHHoEZXX+F3|(Dcn?2x7;ycnvVP>2wQ4IaEh0O1zUaZ* z0*HFVpvHaa3LRj38)!hky^K447`pc&r@B6@y?r-?_VaOuzmva{x8ZmPM*pyfIdk%x z-yGzF_Vl>jeYCa9XR_Y@tex)%7~S3~OJ_O)IrD#wws60NuvpT~0WLJw@nPyj@uD}_Xcn7w~CN4O~dUUU6ek0cC- z8T}ITkxpHQeVHaWj2z~F0<014!(0bP)mVJx_h|2_Wtx!^sU~jtd(2~lL8MdYP6%@) zn+rv20G$FSgK|-Vg)3l4J>{bdBM}UZGN+I1mRCdw&SDZ^F+tuXyHXqFFd+5FpozJ(jvFmdcS7nRAEde9Bmd9V@jX;soY8IuhVK4CQxt z2qhdWc5>jnie!{v0f2|Z;Ti;rxppMwaX#XG`#;&O6^6e(LKGXKHUeQm-^$_u(sVnG zK}EYWjD2H~5#`O#Xl$t z|1x!C5CV6snMS=hSrKd);m-hXs8E0T*Vr6lHj}jjSWBKO&gsC{+QX>>dsqh8bhaNf zvGuNQAdaL92m+Bzm+KOJXIsjxFv`JPb@a0KHechXVtohB;|lj5y%3Cc zhTzN2h!e>~KSuq1e-vU2?U_c=mpUmBtl`p73{azKHZ+eZyDdDu%^9pt1G$AkQ>CEn ziYxnKjG>2{y>d3SY2JHUmc^>(yY8w3Flv>Lde+rJ=>5Yc50}+KplEDy568&)u~ ztu0uN4 z=Y}rPQ?wxeb612^$aqSOe}Uz6(ay9E7TEZpiWzq6x&Rh&el~gh6-JQ`gox}7DnM9N zXO|-T;tXe?0}LSVm_Nr+itGxY1dJw{JUUPWi?m(DS#)Q%edJsw>STBu0dp60zo0At zh!T8G4b1g_cTD{pks3jeDjxcbP7?@yE;XG4?#{FjGEh}qmsTOE_&3Qv^q#2BU(|&WOwm)L(MwWd2wvxJ_X?% z@V;!_;DQ|;JC>z~T2eOLvH|#cFPTs$FjLQ@sMt`6-By%hw)6H4WWhprZfZ4%r z0=U~bsI!Xel7=}?oje1~O!cZI^W(YawqGBP99f9!E#ww7%@2kd;JCqQ35QO|3Ap^) zAT_Q%f#aky<-3z{V-1hoXsh5dVs7O;&igRt{PlRt{a7>S)6&;p|N7S=Uw$cnD}USn zv;1fIQ$OB;(Ld}_<*PB~HxH*F;ZMuDzPCP{Ke*iA4u-Tn8Na(45_uTlvBrKNShzG( zEwDom#oWWVrkdXANHR?P8`uLbh+Mo8!^+S1RIrh#?yF76BiXOebIwCDG{!AMjsO=? zi~?oXVR6#1XU=FzT=aem#G$+woN+Ft};GVl&Y4pO<06!PtXq&ae zlFmegS?9|2g7Yq+?C7{eQB6qz?K~r&W|phq@l#JCpS2;6cQGd>WemdPVxRO5yvm6CFF1L~PQ9ALO=e`DbYhe4Z=I#GO2x$lHh~*g|y+dd9*~_wz zc>biVsUBv^fN(q`djxk+6%jDD(Hg39+Wnbo@vW_ezk}nLpfb}Xusm3s6*ty%$TRJr zq>MpBrY(dcVck2L?_SmCv7;WfITneO5p+_~!B$gnq2r=wU)?#>wW%o%N7Y}L2RhLD z@SFQPmZeu*_}h5fI#~Ym`1xVjn8A`R>$P09FTebteYsaUf6~W0F!~2NkS}_W>zCJZ zxVn+^ix1E1-G`U;;r+|`{B->Nr~yOWg`V_&=DSSbatA~uJib{kyeXZ1Qlm54EC6m$ zlw6>^B3Er3WqKa=6ZHI2SJ)B;go`l4k5twKI}RY`ttK}DTAYSPOWk$ff>8H19&G4& zl~=FsFd6jW&w^;iQ7P9$zM>79Hfby@*8T4(y-)S0m zijYNT=0*21u@ErSE%WQ#__5%P3@I<@ENb-T4C5*RuDyUk0OB&2)@5%CCuk35D%j8# z&k}_ZB4GOvt_}7C0K56S*q)^Zg8-vgB%h$9q37QV3-3fEchho-bR$kc?Z8$FfuI|~ zBvWflK^7qDC1{hQEz-<2k!KW30sA5Z&2GqXATHXc^Y{ zdp=XhO@@2D^U$ORV@&)VeFC&|aan6TpV+)xFo!wYGK*5dbD}q8a|d$XwTI5bgd=y? zN^wdTuT0P5P2)LtWjdGZPyzc_rmhgd98O@=r+pHnARoZV^~r+lid<7j{gIcj0VD=0 zDNc@Y?-6O!oKiYyTD)W1ElgcFIECg^1>oMGYZ~;NJ4I!Z!B~1dwMuzx)cUl%THaql z$b8qdIX@EMGj(ogCYcs`u)o{^sX{+lio$B;v|_jrMRG&Gq>2Z93k8(Lcb^v#-Tb-aA~MU){d9 zl=YLgt{-iehxgByhbKcYk3(n&`(MjaD?Dudi0Agixu8hN&hXy~V99sE@(NdNng5#r zrd0w;0?$~aq3o!58NTXqPRrZt60LXyd6m9zG4gY&?-~+YO>)6kXC)gHt~JnJw<#x6 ztSHF$gjY6nfXYiVkofxcUS7Vsv#+=JcLqdl=a*H1;~E7)%2X=Yyl6=Oe33FG)gQ1^ zld_?wtCQW|X@Jt}>uWpD(k$>~oVLRI(v92Pj_f6e&-IAdqJ&g)&?%e)i8+hV%8z zsMaUQr5ptSM0ih8bwik~bmrETV4P%<88e3^Rlh&8SNeLgzPQ2D@N!Q!l!0VF-4ae$ zpfs|H!7j5X$?w&-;De)sdGFKtqPe}7YX=~(-mwedTbY1er<2rae*@@?iX29*E@6QpICWyFeCN<9%~X z(wX}qI7H?&IsyPls!YycSt69q=dWPqBxKdsLXYu^^-B3Hp4HU>{Corj>N^2(&VCoh z{%tJlo^^DQ^Uo}0nSiuFmf&Q!S$8FQFnGvQ;+M01SBbpGkU6yL>qbzN)4gLET|;V+g7W?fzsTW&~I+qTeuW*5*s z!lMa2)@d-?wB5zoY4cMl$(U!xIvLEVRg1waT2SJ14KGhOw2I#o4#YDZ#Gbo(dJHdqOSJf_qlrr%4NTvY|Ue59ZeM z`m_a#8(@J`uo`=9-4WJp=LAKol!{b=J%l#{T51g^${8N7q80#RXW_jHzaD(s*n%+q zMx)fZhBAFbCRoliXtxh-Vl{g#i@ZDkteH_OfZ2nHik^xDsGLe;&NVx=Fp81uo+BKE zO9T|_MaX#jE-#pkl41GGg@arOO9wkzv855Uwp-D?!b?re+3lV}(~x>&^3$@nt5wtY z?hL34b~qOf2>Fm02k5G;w*-otL{VKM5QEvah6l_IEqg#>&y1wSvT;UHFtueaYk(^{ zFdO(*y&ca8&$laUT_Spo;{n5x~|ybJH9FTwALBiH ztFe*+6l@{faK9p1@Z`=}GuiI#5_7(7UN7JdzTh7GIXVazC6`Xx@~OBp;eb<^=i=jr z0w&|4n{bnWAw&c+XABw zbsK-N@JH#X45QMXd3_=TJ7jG-lvF^ViCv{}^`HwuD9&O=Co5}dH0o42*hF@1dZ=a{ zz_efq+J+(l_Nl>kX{z+jmu@+s-+li|Uc7iE-#>pT&!4{17uz<4n`dT84&TX zTXj%#w;Efjz|@-JgC#i(P`PcsxA{qF*KwS*Pw4o};rK!>x-F%#Jx!iGxwdih9J(GI z1eWSR+qcE@@T7;(#k2`JCRqrJUb$DV7TFcYV7z@wl1{QWDwd^Lov6{a^`8y zBkWPdPY{aldymk3GG?56@0bAf9RM>WPGX*W7|#j76^Q~7Hz3v82L;<#J`@~l`jl*`drhTS{=? zpe1!i&-cM}E_0=*RNX$1Mv*1f<#Z)>B$K=bqHF2UZ6WszNBk37;5d>#WO z2nAE8RRW~lIH4~mbA3f*7jx(wi_~MR$abJsAfMjc2{=T;ttcX7ya~=GO_=vVP{+)U zNnc9I5pMv3v2LUUXy;gDHwM{_5A)xnC<_q|Uk)`us|~w>M5btzDF>M{BH_63;YvQF z{R36zcEA8r4@ba@<@}y&gL4(^2%O!hj(5FxfUPMwpGKj$4y<~9vxOlbtc8(?j)F@2 zr_JSdeK#ASlX?&0rogTkV^82o+3XHE!y)Gy>JkHD_OCh6_TI;y8*2J|O}%c3qB61H zg>#~W%fb4`E-ZRFbT9T&7S!|{pG)&bwXI{ZI@;k-XkSB3PDD zs!L1iM#$CrMe_XshqCi;aZHA?Kl-bCgHWEu^MvNS9eSj-%xYOey}Hsz2${wkM}wl| zV%|CxkF!?-W2B+)^9ak|-d{#o{#Kq3M)bSqF9sleHJHxTfTM!NwNdeT18`-MRrxe9 zB??6Ky-V?m;%=c>TlD6&+CIq|RzaG;@zv{W%q_0m6})O_e>kb08>iQ+9McR>`?H%W z#klrNVcHcWJ;I`oCdM&9%dzfV<{do3nDqQiur&yC6O8ixMP@1LX{3YAC{jWh_b|Ye zqnPCRi0772;Aw6Ij71u8*#TC6r}5ebB)jKKfok;-d`*x$4;Y=OTI0M7xyQYfya(PF zbN+muN;q8pzUu93Vtx7bF$pQx7|E%85BJb*?hCsEl(HKz$0=|Sv8G&h{A{ruXAb&q znB!cNlTvnY8X%4zinN%%JC_7=%F|(d%KToJoiYL3G~jtnt1c$>24LbnyqV|Mqd3J` z@e;t11w%9Fb)5tEw|j?+0KTQ~fM0wMgP(nDON{tlT&Fc6z9?f<3_Q4V z?giJ|e#|`mWm>Zk((XAy;)~T^b1|2*tXMyl&O}N1vGuw|!B=7QfQ6FH@3EI2de23z zOAp=1+w2(3B5bO^PXXW*mH3SR-PidHU^y2BGUiOFNNh>0_q%fA1<7<2ix!~+!wRy1 z4uIZ|c4}!3NG-^2fgT@^hUe08vMwWb`Nc9xx~JS8#xox+KVtZP4?24DR&l!p{-=4o z1EYV)Y-j9UM=U#i)CAHYunDAKGhs`vLvOKWGkZrP|xw0sfm2L0`COACkU4}uYa--dX|AIcFz|hzBO?|X76WPwS&}8SPh)X2)MuWyR+cy0 z7{pt=L<4)+vdyb6FXK(GZZGovU_`$iA^P9^=DPt#Uk!%zxdGD1CpDY0gz`Baul!!| zyj#22;%){!J6cOMVWE%q$2(YY)4}dbUzhgWt0Bh^=d0b!t?`Z$hS&d29u{ zR8?Wm)D|I8y|mu50g0Bz#AT>hSZWp(hR^+WO5TTAoEmcKp>?+}EKqYthT$~AI+smr zQ+1%B6WU>!v4Csc>J8HE{EGvD<>-A9tB+`nN_pNdw$)?N(&QlZFtqraz0k*0=Wt2D zSEtZy->u6Eh&wxrdjvyv)ttT3kdG$2{OZabBxd|bfMGAl17v}3E&mg9RPsa#ssq$b zpJgahlBG=WASk{ds1f15@_H|q5v5QaVdS*x9OZMm=eGH-L14rW8Ga@>Am9};uehe~ zICsD~T7s~`IUVOXxGcoF0sz1n-xy2EpsfXV5Ggr6IcHu-Qp%esboO)7*(c^J0c1*P zZ-8xkwGEdd_@ndV=g5M+8tbHhVQy0-!!K9RX~JceAiblB|6U5heU?PS898$@fD_WA zfTvMbb|BfTlh9sqK>RNxN%(7gPPf$@uLC-e93sr^Imd1BP9+U(@;0QyH0m(fgUCRZ zaHM^L8_*-X3E_CmGS?)roWGTJqKEvIeA(_(V)xZ>&)(ZQ=iBCH?TGemQG}}Y*HQqE zx^v&6TPh9411%F5XROsuo1IbZ(md^<*k+4;DI-Kbp7Isas2LHb4`y& z17?~ApkZQVXz%YItRi2l@2^isQzDvAx}Z%E0ga8zqJ0*rTesH?-B9dU#KG!opjj!D96IJsK;2W%pflwAuU}q&`(-BHz!bUwG;l?K-k8aPifJDBV82njJ9>)drZ zAp|c(Icaox9uYoygusz5($R*-^WXq*Y?5loOw4Ih%`%hCLjjeVWhx768Xi9--wT!u)bL(JNAE^g6zctILH(I5zD1 z)``#rq2KCxtqhA+#Pii@SkRb!X1^rH9is|h&Gi=GSm2t}x&xpR72`gWUJz8GpoyTA z1&qFye4G-TmN=gS&-`7TieDH;W}oM%C#VxR3|z*dDxs&hlYNPN=q?Q4bQB1fNx?lh zc;i~eld@$K&s&$kvTin}l&$8K=ApA>g2GEds!}yFKmn-f#|x^^x6BzfmKth8u=xNy zLLpdoQ%D&qvU4b4SB3W#;QtUU%2;b*hx_lI%Ni=R2$MgYFzKFayt&n@kYCdT(bmg# zAKN_{ld2nc;NEO!Su1Apo#8stu5=q)-OGVvw1;qq8X8!c%$_Tk3J?>&2?Z{xJ5vb> z7k`)7>L@A$OL&W96FL>Gs1fQ`8UOn3JVNoWG$&eU`3Us)Ev^SAw5U9 zV~8uw=sy{N3+!og#c|esfDPQB(%gsF?)6DI7>nv5dy%W#dwW*ROVxg(>v|d2zq0mE zH`mv8|A*5_xQ96PmI2cu(SuRQl1&T?i9?Pg*)fKM0$BEdPZBrV^R>(K>m$x$)!Y9t!u5xX~^BX7}VII03{P1K%uI6ohA;HL)` z?xW;##pf<&cbr*vy})~l=c&HJ7A%<(_YP>kSoO|it^h=9uH)Uf(;E^aLC~A?+X0+6C>6?y644FvVcUkbtSe9_vuqka z8Ls$XNSo%58pX1d?Ih*xfuVl91Eat1NRa{jaRazA9L zy*C)AtHP9Uc;?*YMc0rEedhEq1JDk5+XV)fO4nOLIuO!B_tNF(UFkAZDFGHjKTRQ5 z`*TlFG_8H926EXl1?Q|CUShsGywT8$HNZ<$E{iKgU8vSW^!1&5J%H$MfBTJn{r21M z<@w87dmig@w_USySqE=$mBb%91bJA zubZxw)o$^0_h7p3q|E5}%)`T#Jh>UKr#I1}*`xRbTc_%{FXmWqPw5119r+9dG;YH(B=6bB9p{0j2UzXYqMcI#MiNAi?-`D8 zGYw;rXtTopvNFjaWh;w+9271HH`6{BFpFgh(Hh7Vwsb+xq;+3_+&2NJ=Jt5bB(MvF zS2r(Vd^+yGf-QBRh{2{|u&5-#WyykKeiJ6wzb6wFen31t4W5`)={>XS@Bl&s+2=Jx z;}ccDe!s@xmCX6vjWfW7S0t}fC~-Fh{(O=-;|`5|JybAR{x$%?05$=ch55S`kqyT* zNVk|q$HJ(a%a?6-QENafm0j*&=9SZnaQooM!DG(sG?soT$RC^lR+xKOz4$h;y`d!z zK4b=5@Emg}U%KJsRMh zCXI7Y9(9hufcM9a=QRG|KtK@M7HHSzkn?G}prmeY7+brh=E66o^~hAjDnjR8|F9+H z3V9MA;F^VgQ4j^)!sjBf5+q~|?^S+b5WXu${lsgi1$Qs!K_3~eimw!}6w*mk55bKiO2O}Jwg*B3!^k+O4c zxXTwKIYy*to5J-{)@>VVyp3-!bzRT(d_LFZ=4QP2?SiB4!07M$usCkJlGFCA-QItG zIluhz`SS87ZF~5r^zF%50LPx~q5X(e2Eh#_!VqJXbmEs;>*mM7n$U>!$z!DPo>>&K zNi2Hsh1?!h!zUePx_R6**9_nq##UBr@#%Zhbpr;NskRcv)OY< zn{q|LlG^9#k=xWiP6u&$D^b7zcu-CdN z!J$+%#!e8%C$mtwo}pnkmc_5ZkUT+dPwAT01Qb75yAI>;xyHN(qXr_$p30Q2AaU1> zJeCO4y1^y0N49bf<2F_TcOR)0jCDhI0b@Z*;%25(>@X(s;8>v^jIPX}HI1&|{%4>{ z11&gr50LCT!|+((SlVb9Gex}t*u(j0V1dnIPn#jc_<@~ol0a0$kSd>rPDW2$CS4vE zrfl05*R&8kia%^$HaJoqy#>h7>&Pl|wf!7rif#^g26k!iCjA{c)x)H5fclD*g;;|U zfYj&H8~V2?`mpuP>$HtFs06}6^CBNj`6vx?(59T;zD;`5|EV)0JORf{#Q=DM;|GD2 zp3)UEK(b)hBaqj^_z8zL94rzZHNd71U5~Zx1Mj;HO<5Si)S=v3TEZq3&7-ZJ(_ZRf zu;~XGsy6y}cHE|IFAabk5dqq`-llaeI}l$wqx?O9APdecUmF$wu0AU4UyUuL4eaB- zp;gc}Yzu*nync*yR_7z-r+K=O%QK>RHkhl~D3u?t6eya-*#7SRY>n8z@!9ql|*~Fl_*5!#PDS(E&P7ixq60#^<%isrEp%5$_8Cqgvj@ z8sgXD-3EfasFJOFF!}-Xn}3!$t>#rvj7TsGtxG28Gt?;oPUqd35=b>74~Z5j#4V&m zV_x|C1#MwmZahLpHnRiR$uyrlMUDAw=u7GUcQeef9V2>Wwy9vH&tit}nbYYcOvOCn zKBh`~el){kSSy8Vg!$5$k`nhGpTRJ}Aju5+x}-yg*dc~NXqx!$0<$bUAJ`n5Rf5Up zteLT)lE9Fc=wM31Wh@*=f{Glf3?(NJ*sn8*YY1eIOddhh3`V={rqjXE>`zmQJo(K{ejFj@jgGy@p!H~9I=%y>?+=?rq}zrgqeqmpZ>h9e@9!s*ut z`4Nv`XfCX8shbNU0DjNg;QsWfuLXA|n{GBP zf+&_FKM<@7^sze{x*-Xj)2MU6Ei|TmNXl}ofiAh0dz>0G<5vf# z2NYvCw$cXo+EY{um9(em-Ti}sOZQA&VQ8M_)%8<(@4feJ>(0aJh^p=ZX0@rk6gPPG zeYe61V;%rN8IoL>vPRHZw_8?c|nh#gk272$u z%f_r7tcR)RL=I(k9QRrW@;j}I4Kjd11c^m z0L2@eoBe~@NtT$338=~BDDzs>C!n7kBy>bt!~iI(j907^>F$Jjj&(s(@MJAB2fYM{ z_?;rYwUEaNB8DyM zVgF_wh-;N;o6h3hAA(eoNuQaCbsl~OnE@oNq8?O6K_8WAPJ$;co`YQx#UUv|rc}D* zdWkv6R1LLZx`SEccB60U@eYjs9u8E}t0awB!$2+V>!;gg{owrY^66kkuP&GS(~vA* z1HL+Bw`gK%`1kbUXQSKsd$e|PMS!qnb+)l?HP}7ERR^8utpbls0#H;G;OYXQ7p8w} z=IOS^zcs&ZA!yy-Ghq;UB87unM}Ia)6ypBiVvE@-)d%Q&Il|#DU%eiz=nMIFgy)qd z)uza*RJ2n1*#Mv)eE1{z;)^fk$`k4Cn5n}xeu~8w$CuV zfn|VMHoE2qcX+CYSh;HwVeW48+1fU-3H-2w;LQMQk;I+F7-?%DgWR}Ipn`4&J>($^ zU4);l6-xYwkUesogY~o|j*#`jCiu})(nYriu;e3VF$&p*A7bh~2JKxCdWpOucfIXkOg|$?64P%WU0(7c;nX~CXKG+0dP`_yly>FByw1!$7Sh(XwU_9sb ziOeiE0h+$YItWyNu|=|d8=j?iN@x!NZv~8%a_slae1C$MV1)^yy03X>=6cN8EPb1@ zf3-ep`Nf4#-Jen>RJ)LbpKOfoagQ4Wj)#TsXXtO-od1Vsx>l9uzL9iXRP zp%4Dh>Gr-Z!a_E6Tut{(9RR4yBI4BZZ>HZ+P)pgVs9lh$SwGQcZ&RM^B!=uYs)UC{ zq{_~1aoO8EH#!`V#pim#j!bp&`_vrNhrxQTVA2;QSgcpJ=Si7;uzH8HjS03hkhk%8 z2S$I#N6+m)4};!&BG={Pp>4kyz~(P5=esYq%fm;~E>DLX9s~g=S7Z|i5t$SNK`6Z8 zxm8VJnA@&w-$y}*zN2oFV#rbk1EXQd{XBLs+1edFuj()Ga9bK+`(D9MROrt+a?aQ^ z7z10-1R}PExX2C$K341HxytSB!vKD__ImyL&RNlmw?sOeuH=J{K9-Nh>yuADlh3~R zLXLwWRb}w{_SVAX1*r_z*GIW|a&3JFuTIzU&3E5fPO3il;p$+G^qJd5%;k)Uv%|*` z@;@w#o%^i2Fb$A=dRQ%wPG1_9*A`EA1CZX{-pkDZq&5R%Jf7-yp;}u0oI zLM=xFy{3q0z-YuKfRJ*8a69Oq8Eo_jYv*n{(kJlJ`W`|+23*d_hJ&#+S%A1{!{yak zVBfwGt)V7{4}=Jc;0l_zg9q%sn^q&3SSY*5i>vvF-nxccE;j38AUJ2VUoneOV^^1` zFfM6$qG-x3ES}5@^c-ApK;;L(C>)SJM5`1K^khy% z-e3Z``9OaR9>QSPD8M0O+a;1?;vD7Cr-Rkweb`>!DK7*{G@La6>D1;c?nCgI66Y5b zqF75Vfb9Yu;Gyg8xxU>i*(-91Q}FT#CkOXrEyp154bcv}miVq*5soil&x%Vx!_Gdg z2MaYHijP|AOlz#Wg-jS=z;>Iq1t{c6*e|r@xD&gC15!lF#1?uq2jf=C1k5>SWddVm zI!B&(&T-{)xNe2xxNW)CW130;F;CygR2+ts383pd?uO3sbj9g{xkE#y^w1$Klaz@> zjIQi|M_}p&J&V~7PfI^|%Q&Pmg{jh?s~13;1G-l9hxSpo_J_4bYbJC@_S1tFOM2Pd|Ov+Uec#KR?_u zYKeAzcz>vik9)s-zOCnvTDv^!ZM`l=$t-M&^M+F1ovPF{g;AM~ig;Gw_dfluM7T3@ zPkL0NAbgj(ruGj*Ii_#uO?&>MEjRnPqYlfnvR}A?O@}fKR`010SsmE$`-Y#ja79^B zZRe!9p~^byOMmu?^=fS9&CL_}_(wmIk3RfZKK}UQ5u$(36!ZQ4yGs{9jp+l`?2@8M(+J-Uz7|v9U z@N$iDiMC5`gz;0x1F%hoJ=Ya1R9ZYCt2%?M>D?jMOpz#4&qbLG(Bt2AI1kQVp;xEO zY>mXdOMq#a&Nq#6*n5C$DFMLz&t4>wb0hm_nUO6Epvb#e{ zM8SCkV9T9Wy(inlLsMjQqm1gC1lasHcPp2nQl=K#8TRMr7b0bE2izNa7H*_|TXK{GnEJTh+;V6;#3 z5_0FiuaD{iFr?GbCAXmMk?OG{FbH1b!;ry7u-C$w#Y4ozm$-K7bHjWt1QX2Sr5;P# zblrL3%-vaVs|BVb#TfT9#tG2ih%O96V+HcEgWmQkdY5eNhn3;)$frQmxTbN4AF;e^totk(T3|AbcR>#BWIu8 z4$I+kb#*$Qj>o%YDQBt2%Xr`R>8BAsc`J^0VD$HJ{KG%|L;dSN|MSB@O;3hP_vyMm z{B(rpf3dcQF9#?cfOLDNK2Is+Al{_i)1cPOX)9zz-7_pGMCw@gWJLL1ixZim&z(5j z!}dz#)DLCSjaAZEy9dkd>hMk&h8}e^`$Ipkq0be*uml^hA-th%=)i_@e`zBue?OSe zTiadf`SX{?j4Jb}&!yq=Cr_RY0Qw{O%U}G$@~CZ-96-CocsRjEa!2bR$K)zp!Z?T?)5cUb}E<(k9jepT*MheD5i<&blt>) zBnPWj*i%jQ7xXSZV62(GNnl(;Pd);S-E-Uf+yk_fV3!~7AcbE~pez~E zT4yJ*$=sMdSkFe8H$0;?!+v{P0j?8Ce;q6fiZ6{}MiNao{bwEa^4hi0S zx~1a|`6^+JJu1k&oNr1$Ki#&w4@ZdpY1y`$!G|8rZm+(oErPYYDNhu3h9Vgjw>B8?^py6e$6es% z26&~hs0+Y}|LhHiu`v1j{3rh7A3BtwUj<61JKNET3TW6_u{bGXT3POdbk;nX^EN{4 z7kT;ecD!C&j;L<+`Res+xr_ySeRC}zeDINc{Lzo(%P)T{fA;gA8{?@B=wFS{{N1g7 z?zw#b{kImf|7?USzWnkF`Pt8Y=Ix%weY|}6LS8(7Zuir-i@bQX`rg>+d#F|TYWNOA zX{?uILXHEhKDipK>U*03&~-h#aTQcrYMYJ0lwOoAJr6KD!uaQLj=N!KkJ{qtwAj{^ zY-z)n6;`ZTC*_7W(v%1sjCmnTz(OPd3cAaZz^p(c`ZT3Zitp^R#bm1@=S%?LX23Ql z)gNHcTdiR%vXChaI`h=L5J%$Lr6$lzg{h9)%1*Zo6<-^gwxVl{ZOvM1(_N@JUL|hN)Jn>~0nJT8%3-YGV>k_#o2?pd z!TToJ)!vX%Kn75-K?cb@KRzP7-e>Tassn@a`!o-*Uk10yFcr(p0y$A_rp zd{2c+cAaU%glr$x(^084i?!@e%x`u5;Aua(j%Gl`9juJCX1a(xLOEsn5&%bP1`k=Im2oNn7cWM&U(ieFCj+_b9I>163>K z5lP~`^!%zH(V|ypm%XS;KYy@H0~Ft>9@~5%Ps<@4SAE~{5Oe9d_#IKWmLL{IN#QIX z7cb;oY-3&Rfi}Qr`)V)*|6^F7|Jv8>pX%lE)$!@gtDpY#r>ndrKva)+VD$HNeDu*r zgDQJfwo9w)c3Fl%)uBKt6XQL%v_a4t;~~=-U^Jn)=mlCRh^#0>@?^dq#oD6U7)(m! zc|~5S^yUQ&tfTen!m$-d;WoJ@#Mef_ujBr7oN3o(xRooINsjf zjo1AM)89wlpn=Y-8~NgkFXXe&J|C|yoLd3wf)+x0e+p#%S;06Xcgw4E-N-6vyL#{G2>D;x4l)G0TEU^`)=MOy$mR7X4;b5XQWZ#=tQ)_9D=bx4^iuND-fr^B3E&(`U2$(b49SHi| zwE#~dlaT^8psOp+CeEMaKNTGLRK%rYYgtc%_U3UTV2K-w7{$hIWYMp(TvjffLxGLp)7f$9H0Qv+{L;CV2KCXjk(JaGiCjM zZ(Gx|ch&Bm2|z7>x%l;G6_Du!a}N7{1a@g1ln&mPFcBj`sP`XTp!et;04QuC+||Z6 zWth(p*l#!2`n^S3v;ldI#18=WnX!cY5vUh}p|Ew@ z7{Ik+efkMJ^j%ZdVifu`9sr_yHzkA=_nS_R4KwG^=85buLe!IfDLA*jFZ=U480Cf? zzMgt?gWz~`Yh=##BJ~ZYl=l$@Tnkc1aHD~r&7UZy!+k>sZ^JhD3-L~%x^7n3je|GL zXAV5^)3 z(9Z_HBv2Kp$qsPA2|wfK4yLuv#YYlea`>SRIyas6=Q=5{m{-S6(^)>1UrA82$9KPsh*C21B_GfO$W_=u2Zg@9*zS zVSMnx2lDxN-|!UWlfjTa+-qy77r{nY!IJH=bdX@7^vT;6EPxN2vr$iD|N6w?xWMJG%yTP)SCVfuBAQM60DKVC5 zP-J>Yvg`RGEb#N!Xvrlop8ROsU&vsMYsVh;kHCo)y2J_!lY( zB?MsN>sC7$ROg9%yr)m_aRNIr5tB{Fb5VAH|dKZgW+?^DadDA!e5uvpO>*KcofYWfe%2X>%Ju+k&9&(}oEGGuZp;=?n~7s%z< z^B#pPdkKK=;om)sbKuI(4c&ByJEukHz-C*t?UC$Bj1NP~{;Q7Q3IQ~VT8p#N5ke;W zPFX`*g3STb4LD~pBxMq){n0~$sG=r-j`h4>PB~vY6#|EYSwJ-!#P@i%(3vFq{{9PhyB@9p@0 zyxtSh@bCE|UHeh0XrY4Fh>K+lpjXf!+>K=MszXx{O8paXI-`Uj+gL;up-r!<_x*rN z0#sI!>fhOhBfzOEg+@{pp<@l1dG45ph&8JU0oo20^ zE-PEuRA)l9a(?_-x8yu;+B>b<>vCx$WUnogbno{zK<7vD?EMer^DllPfBy5I%a4Ba zBl+O{_vQHjm$$dC8(r<=j3e*f+F^3`v@ zmS6w#zgWLgt$aKkPx9Uf`>WE?0;v}-z8@j>vv7}ZZJl!*@t2z?H}caz`?37{fB%1z z&p!Wbu&y5tuzWAizyD6Y8Q1>*{(t`85zfn4{kYPYflaImdtbyb&%qeO(mbVl)>9-Tr9dFjz+h`>3WDVajD z)mS0qHCtox%Amg3FcBCRg2Ix{a6I?KglUG&=CYzPSpZ`F^9!5|pJPqO2`=2Knzf^Z z-&u_a0Wl9#kqGMiyxhfyvK=gN^(ts7=>)XiqNSOu-749Zti)H3n0PLuIr!ea%l^*v zCSUKXWIX|LOKa+MJ&$cJ(Q;QHeV;o2bV@aRJUctR&(B!JQ!D5Tl#qW$M0&bKBI%vv z+?X8l3lhRj?NvK=tZps6uQLijJI@8VEba(#e!M8o z7rOQMmGD#SW#hK7g`xMqwarVaH{jRvZT)Nxk1@^S1+mnx=P~9BbC+%Sw{TX@mj}6M zuU**tZruSqhg+)eU}jFYwx23jYTL#ePi^g2LkrxT+w$I>)YGfGgWO*|Jq=d$7Z##_ zTY#t@@4)Eq^*9?eYb_gCC-lH#g3@eATWMfc3ZoCvyHC)K1rcKU_?Lq(I?ij;{EsEvqB^dg@66c*CRCl!T_Oe`Kij{VC|bu z7Lxz|yYC11{I$LRpU2nV{N^|Eo8SJ{ii#8rzW40C5$gZQ6q)Wze|Ps3)LYXx& zW)b!e@L-um9&#mvW{=)GKw}SCVmcDngUgcxlqle+4mJ+QGK;87CBm`mmOV;ii&(Vy zdA#5Jqv?PH;E@cwR~D8Wv#5p63yMd;VD)gWV$6lppK?!sP6%jmK4bTwyR%>DzS5d& zj1D7N**RB~q=kj6G1@LSxz>XvgtJqp>9eR)rGJ8)?f{P^<&$%U^;##rK|szGHv?7P zG%v~X7N!i*>64jlhlAN?9Tc|%R?@H4+_c18boQYsU@7~w(Lw<0B4x5&oqsP`z{XkZ zjrs3A^qc;y05T#tm{Ys21t~OONxAK3V`rAt?I<_MwLZ958_cU`1mt*fhs-pKRuyAR~8JKllO-}~YDB^mFm_+8my1L^tdg`TJ{(x~7S01#7N zsGJV~y5M{KTiL|$oefGKbIQ;vWG#E7p1uY_ezjT;}!$8QcWWv7(gvy1yeC|fDv zf{nL5Z`2j`qI=34Yj`k2e0_6cfbr8$K9Ns8`H?((_RK=-3MjQAUKz=+zy8K@H1+q| z&Pf5Rwp!A^btsd6{`Ifr>#x3&Z@&*f$?ua}2AGwd%07N z$J>3Yg$OV_Yr)8HHAFPIjIpwoDna+s?k~}rZLg58`CB#S zm`HS)1!c!xir=yq7fqWsOlcV0sG>iTKeBWZa!3$UWVd03fK?TCZ$R1s*Gk^?BQRai zC%B`4QsVs;jA_UW{}PW{CI@-1-wNe(mx3laN2NqtxB%Za2SDzp+r{Lng5hkFuE9924*m(0J8UYive0&p&nOtJ zhs8G*81lH4CH38iXjq}LGP8%Hyv@fuF#3Bw)S0(Myt9Ke)isR16!tPJA`z_PB4>C{ z0h9*twB~uiN}8F`gM(2PIF%CK?EcziDth7JK*92^glvZxkd#L6*ZDfrCAFg>R{!82 zmI?X}M8y`N0hYyEVpvmkO|@Blmm&c}pv1Ur?wY##IFGq;} z*Z=%aBeecfzW@G(fz#7zeCBwtujk8Iz8WA^f$FQ*uSA;xD^q%Vdn-?$J(VXnPvrXg z+FC{R5oTEc_M26=`))=WcDcS9q5ScF4b6W%7}5_uc;DFDR}DF$3J|QvsK3;wIA~Sn zn2L2g+iDH-4<314GWX1?L5mlRczpsK6dTB_aAjUu>PIpa`)Q(iDTTm$)QCV|=eI%p`6V;M>Bq8+MrC z>drCpLc#_I&YR#F(eZhcz?ppz?{ti!6o&}?tKnu{099Tww@;0^oQwr?d}Ob z3YY~&AIaeIRLDuUO&ZD`WRNkfOMunfJr1F1={r#8xWD_J9=$&TToNfQk=rflkW74E z93Cw4@u-Uk^Yu#<8tq?Frot%$LevowfH~4epi2lWU59K=jtk{~3BkW?-?4GGf}iMD950S%jd?KrGmo=3m$k7YkPFf4@I#6~A9Nwp zY<*>I?vPj7C`Md0J&NOIIpJ7RdopHeWJ^zZHAc2uU_M$?`T3i5P+&I*O{G#GIw;ja zvN&;}n>8#~p3`ipB*GkL#{e2tD~AKt#NzXYR(HDL%kiKoUst%_8+lugcVP7Qel)NZ zP_(S#gCGJuAb$>vR+Zjzbat~I5d!xLc-w9c74`N$+d(J)E|np28U}H|$Md$S-T`uv}+#c z_tqlnJKLE_L+RJ;#`pFeOs0Zb?P03`*_5hnP#q|v^I=`xA{USwVDg%;$xK#WF;yD${ z>1#`ck2`TN(R>Fg%G7M^N{hD9xOXyrEmA?46IU4$n?#muun^2rw)-RIgT^^t62*4f z+Qq>_CrN?lN=BQYN2ceCP;~&&sY=&T6vA>2Cf8{fEwbPh7w}zJv~Q;8s<~eZXK8oW zB><5B--4lXChM$tIco4N`f|vv zR2@sXoLTE$>si{PLk49(A`6p_%pR}lIA(4nnf!|3pfkw3osOO%T{7>4v%Ba8oIV3v zogk_a4x7BJ+ZOGDglujRI0k#bNM_db&8$jFk=>*ANl)xz{gS|3%1%SP5!t{*5xd&= zC}bm;bQ^H$vL=8{o0BQ8FUZ0G#d7F=SVD$HPd^leB1^af#icYmeMbE`GwI(SJG6QfH zgy8D}&v+4LPTS7l47V2lEYHnqOz9b-e|+@aeRYWhC;KB7PfsAqMH&HXrCT%ngKrtA`8cbGVvfW6dphp>!w)}__dod1s@MJ}E^X+6pqkRbmH7C?frbW-ZKpe66z)jqtt5EPp#N>aiq{2^bTb;w|N< zQ=jA9)px)V0<}dD{>*%<42V%#XXy+I&N6&emznKB&UVBV4KhJv<%Hb016d`5z++E6KZ!m5y;{H>g9Twj1 zq(de-^K~Jv8;s0>%=8V8aPugC^bhrq_0GE~Fm&LCadVu#FdFnFF&b-E;JItIR z%eMN~&$@$QTYMYT#fEB1(=+n58U|p0Xx&ZlXw|XfjSuox9`C^D@8S5X zzxpfDYWnl5^H9r|qFaxQg;qSDa|%_K3c#pJ&@16fA>-*Rr&TjsjK_0FN`z?`iYE|V zgh14TD~rsbRQUnjIICQG+=Yh6-lM-+th&?BizNsnR%$Ly&Ed2Ja8(K$JYdT)B;(TE zGgij8_@491jwo|+Jr>&alPVv6{ITVAUR_<=x$f@oym9@D=K}yfSizC9odz;j--?s0 zh=Nh=JF0;6;rw8`Eh#giidtJpdGUh`FnVwA-LMOZf<wQmYWb&F6ia@#t*-_2ZeS*(3dwTAi!(?Xl?_@VQ! z%qVnt6sid-gIP~uQ_zH!(^RBy9z`aH+g?kplNpz3?tA3r6#^Xqhd_A0Fgd2w7jGt_ zlH)mUX_&Z|xG8P6zKO)P9ze!pe|5TW4aGlUyfFDiviccTTw-fS{c)j;mn24H0-`hE z>dA!k(qv`~=iQ{d|6}u@#RMSmpp*DdH_S^U&WvGAP=;rtO^s3KDLafW){laW)?O=>K5w#(TVu9*XDS9l*xq|Gi;g_Z&*yTP@VW2t z?DLoeV;C}p>SyYQ0-qHr0nu^@(;fvP)vp^M9=WzNXkDoLmST>khw;6`gE^?pTOYNW zRqWcwN}Jsu%7SZU*nZQw2ObT85##8G{UHO35Uv?wS(&RJ)IP_OAWiAMXD73 zMj|Q*DUd;``sEnYPfzmA!_(7~{=r>u9}XdVHaz&7 z!u~E0{Pe82<>$cUjHxJB*=tvRsL7$*GI;I6@N2 zjOy-5`bg^t;lFmgwZA<){yDK&>BDy`XbsjB1L4pukOQq zeveSdx}m__)Sc%K>y_uCceg;`WVxFP-&B0Nuf1 zO24!?2Xp%fnAlLBt=hQe?cNTD1S6e>Tmjzd+jgSGM~${{vKwUhPybzR$%&nTFGYTXLsxe=5;M`frYmxmUGuxv;j*uzk&+cP# zP@U0p0CXHWxH2cT3W~GnI3l^E6=5ww=!;&bdEH+t96XV5vbanq?mUZZF_qD4x7U0g zK5wi;|A{*bvNx`$vi0z3tu>keKqH#f7{?dy`r+Gqdc%0Xm*z}snH*POV|TO~idX#^ zwx!4JV*ZRZ3g8~rd&>i59(QkkpPtXY$l4RMdOI}tzP9a*dGO6zbc1Ylo>o1_=C=8= z=y|QLTj*(ZsB}AN)yE%y`gwoy{)cjNx*lNdC~tG1{v8)s>D_%Si}IdxecR- zIa}OUnM{Hop*)4X`{FOc-g&cP3U4|*ONQR?*-|6I-zN{+c1p3nqS~WPSylzwp4_cQ zU0XY8p^_@ntD76EDzq&_2m7eu@O!+JjntQdO?|)RcMkAZZwKQs4AaBqY`?Sc$l_pK z0kVGGEVoq8xmq~S8x0qXgBxYNW39B;Jkj1?NBbx}=PLuegKa%)FVu^*-*8WU2`1Te zXK|gP9P`!Y8jn;OqTGea9hx zi?hka9Aamt!9?L%2;vIzEPBcCd$MiLXma;3w$ee`w2szfU3P3 zl}_t1cly=xLzf<7o=i2u`^dxP{q$+3oQ3tg!~~T+-`jiY$|fMjxOOJSOeT%l^J^4x z_33Avo3d@}c4zbZ9M1%Rc&@0xce&B$E&$o;(1#9)dxWS+Nfm_fe?$%1?8dc8c8x2P z$Eh2cEi>DPy?vQS16`Cc_f7iFcPsH-Y%Sg0o(Y@5H+KL-Hx<_L^I1$6?4VH>+TSyytK8aNdc zD2Z=x=x3<#{$>DK^W4*7-`{kR47>DDT6Rv?yVJ2hN9b8%tL~xQ`K=wyubRK+HC!IS zExtREH(YlGs*6o4-L<0L_kQ23K!`<2XN2c142QxaD-0RmTmI$%>z8#!V|MO{LBNx| zg8qHAJX6ovbS9#r1&8;7^ANr(D0~0vMNMQ^TQDXP2F}N<0~ESaTi8c16nBpy|xx`^!d2$zCfH2{^})fKbk(%ShjYOhLgN8E1e)UHjIHGrh8@x28-$sD~_d zv=VaS-SsDf%Hc4SlC6*M8N)8R@k5mzU{26o_`hVYFswK__I%coYs~)yAT-Ie7lw+k zScp+F_AJ$6OAezIp&7%-l~d$##wJ033wfNTpaQ_Tfb7mAe9CFcQa)q?sy)VJ_B3); zinWgtYShlPlXlEz!3qrlPU#E?*96CrIl&$pS6@4K&cf>@csd*hlD z6qGuEG`nXxRs(1bXK+Ke7$S8If?l>3Gk0kl>pE>+TNJ8zp8krI7TR5Ffxo$s9hSjg z)ni}kVZPQ>yz#1G&55KKKgtKQd9N9=K45Bh|^h* z1+0jKp<<5jV!KDpK!%KKgzyeiH98EJg(V_RKzHr^C=Qc&-oPZx$) zU&ioxnuKKSUOES42YU`c^uZN0>(=Wx-xwl5sH9OTkM7#v(^9%Qpa6XaluC(^v&nAb z?d?pH&<*e@$aBgxXAZjh?k*DN%xo$cwCNfQ_bFpf29m&nj+V;k#;{-qLlu7;EX(+; z%DZ-!&^5trZ&iNO!K=tuZk=tOTt+J#CF}IC9q_(_7EpXn_Og@+Rr2DS}GHQ`-2c2YOyF9R{J?L2Vd8Z z=2I`-@`G(hL;d{%+Mg+8Y@>(qb#YI(JV17z94(U{&(&>sd4#|tF`B}pZ07mFE=4<_I&Tv@Z&=oVY@jkaAKN84s}NB=|9Qabi4zjztiKdfU45Vo4n{K5TSN>3_Mw-KN(foJ6U`E-Y3G8Icsft7nf*( zH>zH%1555lulLsiRC!L2F{EAdZ!}cy74X&{Q9SH>{X_zEsG(Jc(sDsZc-)v#BwPh5x-34|ZsoK=@+0SYihIq()pB zUE2x8fs+~q&7-^-VEX9*qq?`f_BCD5|FSo_)^0p~YfB$bWr1e~x0i{r5#$lpn(QZ) zx!FN~M%y$1l~2xqRTwgtCx-G$+0V5p(l%iWs$_t}j-mk*hc<=O6KP2nApnRJXNFl| z=UBv9E!$EL=l9k}5+O$R^7J!JIc$9|(eqqZR+jg?wyyyPQ(JR3(BxPhfVu?mb;h`7 zo+ONrjUVnL!nGKgUH@x5lT4xFH!G+yOqlmw7(3C4U&Hcr{ag*KD2<+8eY-GUtqq^) zVi5sdKbwXJA-DSXgM|c{&*lIlFwf!|Wzn9v>Kv}kn8bs&p+VlE$y#>o(^4i<3sLi(rW#W~m*(}(x%XfD}XN&r#!$gpsEu<0%^Vv*CZ?5~cNsf(a z#%@mmD5t}t4Xn1zF{R_;AHg_;qgr4}T8zVE-Q&M@y)*wM!Eg~4UG^#gQ0=dfnF5wn z|GY>t%$*1lgJdaPSer#sXPNHU;A|ErT--TyB15;7rTl7?VMETSrf@A*&*A;3^*XEV z9Om|k8xiPr&g1X84Ah?ZW)9v{_qZJUSRdOUZ7zeHxf|rl^TXlz@_4v@C2e`=ce*>M zwEy@Y|6?l5x8!&SMt|4Glcz;)zpn#sEv2=?07J*YVI0OnsJfAC=@AeW4{jIajUp7} zbOa1CJ+&HD^cFbWxuvuIDF{!=-n+D;PWq&0_om19Ps1)WIP@fcNbbSBmV)qg-6l~gMb2X#X~nyOQO%oKS@C|gg#ob;J+}T+W2+7Ats1^<6s>pBU8Xom?4MJW?w>QV!Uy&ZcTc9eI-|eJ=Hu`g8Rr3 z149?#ePnmk9rz9I!5NW*-#52B>=Vf_naG?T zfIKz3#~cf1Z{VXaw+nL~#W|%)u0wCBCW`r*BFLHHZP=FXVcP!#da zEQ)`=q5z9weR1cKDG3Z++L$#jwsYXxtU5@G_AI(xeC(})xGr&DT$3@?m)a@z(rH7UDdx3Erbp!EN&wP6T{wYC9xQeufT?IAPv(-T5I9M!T=~K4 z0RY(&^z+)BRD#w8z^7ntN&^1YBgLUiX*RiF9$nQ2NgU9&w(C#)#{J<8OsVk9k&?OI z^O*F$|GX<1tTp@sCycgZ!osBd2=B%^S;*c&#(-emO-?CwLaF#$$!iy^TQaFjfv$9| z!9v`!HQ2Ru(ssSlp``)VW$RMt)JK4^~l)X2^C9qiB&=r5V2U;ci{*Y0PgMRa*Dt3ys z#M_w*6_(u&GM}j`LP_y0eZmU)D|{{3imu1m+6;0mckp5h^!f9bXi)9%)m%|s_}(P` zAm`1)?bbgOmGIiCX$9*NZHdT8iC67fn+(DBo>0_Vad1l`??$;AbHn>L(7ZVaC4p%< zJ$2cQp))eRbJD?bdEM9_kBf!pZ>|sHS&qhVoQx@TgVV7aj)&UZ)3!OrDDQW?fngWk zUselS;Ss=4qXC1gc#dF2vvLRKQ4~eTh2QsyaV(yzTz0arR1s>cC zlJ#pyM049T1Io6$uRen)y_edBjqPVJ%5W>A3>#YVxO}q890d?yfIJ^<^U?LPQceY9qBDTE7Nn*pA6vl1DLe208yIExw;a$&^&=V65e|^;sWt* znH;Q1{C5VSMH#*S><|k8Tqax5C(Y7P6;G#ZZlxv;&Ltc=pX)vqgHq?1y#(O5yKi`( zBfq@%p+zkOTYvK$&Zr--!GPeUPF*wkJ&T9yy?t1NJ%rvY4!A967Y^EaIEvR=c!U%k zrnj>2)TFdKi z!07M#xVtNt^u@wp&F3Pr&+ZHJvTi8zAm2s6TL&D*O&v*U`lI-APi@~p+`<5z0(X|`PIBosd@E00E;SkWjb#MEBehh z-@*tMxxTqV!)8|oSGr4u_VAP<+)7bHB3cEn_hs9E9-V!R7AB=mfT3HS93M`Zq=xeZ zLt4DqaJa}+j;Vnpyl(&u1G1K*sRnknaGo|LzB(P`$<4Jqdp5%J<5}K&b|crPqqQ`$ zSwb5SYvkPsyxiz5K83=K46;8S*hu6txyN22FN`y0d8F3%i{T~RFIfz9k%gg!;$!)= z6`9%ZQpp0K2c`Sz`=;Z)<9$8z*>DE7#tG|G=rmOrUR1FcXQFFi&fDT`U&t1+Cm_Q0 zWj_Bz;}gUNK(vqaoI1>{gC{?~%ASLahR}Y?5BCfa_uy*spo6tz(h3X_)=0sc%AC$E z-fNp>qNlAC?6f5%#=s16cYuFBZzk{hy0HCNb2)zX+FO`umxoopk3H?*$UWx9gN8?VP@|4jVU8ZaG%JSCn##c$0i^>4 zD|8eIP*{rP!3`cPMJx3g%ARZB#mW-w^?R8vMWY6P8J_pIfc9T)IE{tG4EgGm?u zBav@hGR2A@+xt~}pbV zm#fA0T-e&OZs*!t0y+Xk56x%6k_r8??;TpW^HR;c9D0m9#UPVX>&!d!Fjt9?#-s2G zPUmH7epeP&Km=}9m=V$I)OBbMlo7z|HiYm8>Opvv%ghExC7%xhAE?)j>&1T^g51zBvZM@2i~MuyC}dkaE;NCR*{5w$tS)+)GI zz=WEYi=8u6NnH;%^qOA>NLE1L?2Et83q$5q0r9vi0RlqyuE0yAA-I8EP?cY04lNcu z_naeFNJ#-GImk}7!oeQx0t{tZ{|Rg{#|rmMTNC1DCB&}4g`qPEvr*XF5IJdHNuGIz zgnP<_J1}dR&lOEHF;pc1K$Kt10AVuZ9?@+v76HB`=i6IV!4QWbVH%2#uNR}qBhwu@ zd>s42&?Cah69{m*-$W);vB42>;;TfiAaj_lI6^mPc<|O^7jwWo-%_NdKzV$o?i`k0xIUWf6IEowTOQF86e&fnX=lL@6K)FRZYKso z9u)pi^4TtzZIZeCCfL*XWQo7oHA->0Z`9mOP4P7x_s@?3xVv*vLdJQOGS6N25O;Cb zVy|CJVf_Fen%er|G&D2;*!r|y$d1!q6*{CX&u3HKY%30N*4uRu>l0F^(P3u}DRhOU zBV~)Vj@_AB%Q?xB=Lk5fug;5hc{!oz)i+u|E^oun&96v%V<}AwWzufTWdw3=QMScp z--(Xysd>(ZcMYYEKV8Pp594#M#`|6mG;t>Yq9VIm<+tW|2S)!d9@*CEABM>NbSdY{ zaj;saOJA=BLwX!xw?#wr(e|QH*zkuV2<%*MquQ$+B#Fsj@|?2%AC;<`-n zGz(XWxZYf64#+^@Uqa2L-Gi+KYQJx7WO3c!bf%k@nr7#d>=9Agc(@8svefaP}Ugy^& z%*DQU9*pFE$pjLvBq3mQvJzt(Wk}hOlYfmF2tk5WstfQhNl?; z!mt8s@}LG0Si%Os!7fcX1@-{3Ko0T@fUx3jC=;E-^%i{_r20YGXRWU z-N9Y2WK9~t5>sj!F<+*3QfC4+#&H6F%29e2F2FS{7C%j84<)EVyVnG^zG^*uh5XLq zp7{@{DT|n})5eNa_FCD!4j>)HD`0bXd0%-kocO27gjRo4gtFEiRhcvy_-&HsAnTMIcw0zL7&j#QU(&=Z zR+rB|X$cYDf#>n|aiQh7EF11`?Ld^^Gd#Y4(SO51S?Ra^<3E10`}xmruG{v*>wdyt z;A#2gd_29Hm-F?o*moj3YcWoDXF3?g>|CQjg*TtN>b(RM7)VjUS6oHqoK*h?+XNRf z!v(7|QQkcVC-h42P2BY;RWDR!cOJl?HvX8^H7S?oKjwC(Dv&(AT_OBD<+rP|QsN)F(-5Si;?- z?(8Pn@2seoezr+43)jE{yBU4Hyp13O$SqA;yjbpU(gcsD?F0A2eR(yM`1N5o-1J=5 zX)l?|oHWj$bh|~%REEgLkG|5K3bUEA#k+cF+#YE8nUI+B35yf;4EhTO0#tdCfyc1K z0gbJ#$w5709-Wc$`*&j^E^Yz-@_j+gp3tPvKeJWUn2HvW2*GA$ZPD})I9T*-=c-78 zHGvf*fLazO*P()LIddZeC~CxcmqA^(i)G#hoBq%r*n;hL9z+eQch@0DfN zwIv??o~*gYdh?p*HO?x8$Fq_8z&h6oYG!SXYcfXW9ng`GWu4o3dzb+(oJ`(PW}>6M zx|oN>pIjq?nnI*Zc2CHM1@IDC$OKuP(3UZa2$A`&F_u=0pCI;tfDhk02(ezHr7lna zVF%0xYXGfIYW@z%oH7kITNMw)h_Cgi&iY@!k1EvV4u}Hu^^ol;HhP^~dC_YH`#sjP z+5YItZ2P@cm%6fw6RZzhVak{RN&>^f8X`2nmV?2{96~u~DkpoGB7V?}4+?OHK2~!5 z+5;HtBhvYo-79hM7B<83pPb<~nK9{SCrN5z9Jm)f#pgaY?c%raI^y2*XCA=tIJ5+t z+F>bUkZI{wc>*KxO>6;)*R^5W`V^Tm{+fxyxi;ep8#;WZ0JI)o!05mIz;D0(cKglC zm)CHl*KL76J5&E3$HM!M!;1dXv7uj$b#x`fy`|W?F?C2*T#st=xfh0Rm6RYVOAD89#SE57+$o zIiF7g`uJ-M5ZTQwL*UPGyqUQdCySe9rON%`udc6PVYj87n`?b?DH=XE$JwdN5hYYW zrfpH7K3N=&#?K9LVzuJtHrUse?mUfqn{!GGNJ!s#8}nptay}yi&h5nQ_Zl3S8QppE zQq%V~+MZC9{+8=F^7pzuJ)LK@&kZr_*~%!F)(z~{QcqwEMsb;iE6fn8 zxTSEt8lvnACG#h-j+CxPFBUBVlyVLE5(^iYu_o1P7g_zjFr9_EWE1%`5obp+cKr?+ zIG_N7>M|~h_(wvgg7Jd7`pvc1OX-+0CO5L`jpRO1xXVc|!Nc&HTP&%8yLx#nVNV6G z;Hb=t`1a&O!cHBB>z&>3Pp1=n_Z@@I2YC26K`9!Tm6%-Vf$gVD|VdgH$o9BoxKF zG1*$}8au5CAkCUQXb){M{+bzH+>x8BTUhKU8+0k8(4MC<7?}@*_AEr%u%Za=%ez)!i>w-*gf_2`1RcFYaaU8TaLUuv}Kvi zkb}fU0O>{21hTH@m#;gRLbyCu3~E`$4nFnN#_-#FfW|Zy_BPj^U8~!i*d7Kb9s)x~ z3XVYPcB*_Z@PxUp8-8MhnAZwG-m@$jV1^vvYVScwf+drcpE$7_v*ez}CC=%*rzfzw z;j2lS`aIQ82ZzsqjOhf~&1Rf+GZe&_W-?}Hb+dm0#}_dA?{Iwc%{Mr-#`fG!S7SB4 zAnv?G^Usj_{aE~*Qnx`j@jas15>Grs9xYp5JD?b=()+&2`u%31|twcF}m?3L*S)lU;`{%AQZ1N&~=41ECEp2 z1^zU^=)>di77Qlz-TMy%6n-2a^ih7eB`s&sKaTg$(p}6#cq{>lJG`)4|LNSLv=Jvw zEY|d3D{X6a&$0r1+Mfm^y3s_yjmBDUE%AxNV;F4kx|IZrZ4huY1861W+-a7J*73|9ngL#cD1 z{k{1X7U|Z+8T-V*_%y+(J8QETvxNb&RJe3uMkjN#^Alnv&IwCbLrCl-=58aMmK2a; zvZ2C~f`M-^prYGPfX35G^MQ5O(HQ(WWPI`E2NyInr2S2fObJQzXW+Y2^fankY*z zcGpQ*RQ(>uhrNII06z>?^22b)|HD82R@l&w!iGM=@$o3Jq>`*;CA<9jOO*g|?~Zdk zoT3G&Bna|eA`;JnD|dd6>)$dHD&TTV%KLFGF`UMqF9%EN$xd%xy&SCRjf9D~OKe+PdFtFM%bq znBUoDkhat9)_(YMi=hGiw%#`vfYjx1%*Dk!>t8Wd1_0DL!0L9l@msmHtalBi>IYcq zu{sue?)In0<;Jy5p0xr-B`KBW=q5IqH*hMYyW$j7nn%Rj3fz%!4SXT*)!Aha^`YFw ztB=V)sQZU2G&FA;Yn3Hb^Le)_)qZkLH0B-EwLb|U-AJ6M5G!NPOdQ;KoMr#;y`4eN zC$&lYEQTTF)6w|=lD#Kwmy6@E9@8|ufSW7$DI8zG=)c49```Z_zq)1e^QjH#-In=j zqJEyl(L1DTL$e2QGOHd#Qb_EJfKV&zB&`&+oh23JV>>+dJ{uE)TidbI<40X* z7UO21RNVz;%~~9d)yX!{XZ7l8AbUXsWME6$_RS|rykI3NOc2+3?Aj0h<;y#9O)7{{ z0q(9&i7ho3r?}%e>4Li-i2_OybGDLMEa<>8WxWH7BzNeH$~=o$L5f5oWqXE_9b@#4 zOJ3$ffVC;sO>^Kh!(LcWjsH9hwuWACHGt_ACoWC$!|r&_1Cdx!(K|hHzs241 zbV)&c%xB~^`ds*Wd~mexEKImOEpu@$s7#He@vOi3Vi#QloQ^#JL$b zY}v9AEDM?(AcysC3KTG6LzNx$d(xZMGC`P$1C;L7GBNhN`2j7`DPeIJtU=0%T{VRl zanQ{Y{Xp*#O#_oLX0yd(CD`;!=YEk=hWxBOYa9yOTo`8Zza5B-|Id_c2!BIBkpWZ( zhdfJCBwHAeHr(nY296{w4MXjB-+d2%7(Z{n{{jBtx8KS7eR?_%wsg4e2Q#X5NynP+ z8Op(Zt-G_-1{k!2R6~yjX6up~G$~;V$a+&_q9Rfy(S?$t0IeqJ-yk(a!ce4`|c0 zx`sc0nl_rHj}5$V9krsD?OwU04oR2f@yur}7iW_aK*nhA3qazs(7jQ*5Y+hMd+73P zEb!T?Y^1kDOG2q!=I_sa$vwvRhtAR(D4MWb)7B<<=nzKiv_7i~Ssn{c7rPg3uQ8TU z=FI?l%p)b-v6T$Izxwl`cMiV)P3b{r5W_<-ff@Ay;6a`7}tRv+ffSbQ5T|282jn z(%>oq8^|?B1u=Q-D6W4X?EOz+&pgmSRjgJyC$8JtH%%tEudjGLn&8 zfNEZ+uur#7B>$Mwkqkxd7mv!6u#D!|N)6mr%4iX$Xa?`c?R5hABO6Ir+K6Izw?CP( zX(oip84ClEo=s_WwIfrXqBP9_nma8O#pmM!`_f|1$|y~irLG+dtvt-4J&yT*ThE|B zYzH7cz|{bz{QGXlF?tNX7MrW4#4{@*cW;4)&nsN;2NhyCp0g`X0Ixx6VT`nTnvepS zoX9h<+Shdwp%>R!{XP{p8l}#%+LI2Z<&!qwQKF=*%K(D_kpQCABgjCaFFi9@>>0OW z)wD9U4w+p~P>rav$ZfraLM06KE8|=YDA>KKJK5JM1`JSgoXWKcTs7*^-~!27JhZZR zTGvp`AF@(Q;yGq^9<*GG05OYA=JHLFDL;VV$Kif|_wFOSefu81d;1RF4HrEtG7f7w z4tM(#*Zo}dz8$cr8`zTV0<0)Nnyr4X#!5HsfYuGjH7%lkn$<8nj(^{OJX#qtzU8Cd zEweft)-u*FcQoW8`ZyTYt33$#+;@$OX2b3zi5pv;L(&*(cFjxnFh@y~*05y}GTZZz zJ!OWDvg|64q(*tHBV!+-8UnVLd=XFDEhh@w%Np&u|MQ6fU?$FaEFgs;VOY-M#2xtQ zny|P*tY!8*RKPxC27kDNF+DfgJq#h^7h9=zHv>@y(9;2Shr0nr_hJbB6pk-o z^xyN4qR~UBOUCvr{CguqRt!YD3N{Z=CO7|hu}cAb%)cE-R7p`$Xh>05y%yH6T(i7y zf4d-cYZ~oGnFT9(6O5GsS9j0rj)dr+Zs6AI#d&7BfQtaIT11=cbg~j-Ag8WO{;tMk zdXey60Eb$QlPOEI-oQQB3}-N1_(=R7Vi0(w5MSLO%>vZrqXUdG>&ouR^8mW@7|&Ug zLcCnkgsO10C_6v5vjPv$qWbKX=dw<0A#?Yo{eChwR1<|nt#*5k;sOi~Kmi!pv#Q_< zYxx-rfh$G7fy_9-@-Rc?#J}>>wXBsSTp18|Ww;jfv;wEGW@0I!G4m9c^t_zO=Fydz zNqCDJgu>9!iUEcKEJc<08Z9NpOx4A@GI$-}IlwPreAktZoGzAcB6v|btrdla<^0`} z2J{?V;w=@-;Y!IFbZ~}8*q&ly*!*Z)Su`I4+G`+jm|PNOJ}m-BpN2dA{Q#ouj_05E z?;i#mdXzD;`<`3p&Wp$Kf_P0F6mTdDTD+T@f|Fct?z-nhd0E1mt{rElQNSgSZwv<> zpJoe9VYcyXB8S1~qr_^f+ntjL4^m}7LmM`tNY%hutW~HoJ^VfyTgvmz*U_dA7`2AU z;^)u}RteEic2R8=XSl)41qCIM2xL2HYX11WG@1E!P@k!1iz7HVtR>TM1#YMSxrqNI zScUDxp7ZJ#6j;+hSQCKbAddowLa=brpaL`bP~sCUW|3BF?fD;mtqR~WoM08GW4~Jr zb9}DId@SmwR1_%a(o_t2L4*(hF;?_&Er|G3-_lfcfnF11KY3ibwy`bjsI5Omev7LY zo8Qz83H&j{6UETc)<_48Fas(DGW1@X8Oz-UJsE2%RTNBSP{>Kl>&nvPWTr{j%gt63 zX*si=<>F!_&&KLU3o|?nOFH=4O`WU8Fnb0(C&cnb1|Vhk{NZpb|I%g)KZWB982vXM zfAcqggMay#{|jd#;Q8@w>+{o)vu9>Sheh-R9wsCTj|DY@F^=V$HUT{OcWm`hGzf;k zHeKC_&kudmH=ZkWD(`u`rvn5EaB4tD+QC_}j&H@TKoNS+!pC|tP^;8S-taL+5)8lZ zNj?h;&T+qezmv~%X(vA4xmyjz;fmx=RM(F~0Zu#cWFpy`Q?t%gC~>E3h0c=5F_h6@ zHU+Hm++ng6{GIM)b_6_XmlmxHsim^`S#VY{Gp}66hX3XG)=)d5~rm?#IHx2Xr!Pn`yIkqn%-4Fw0 zOX5X0_KtL5UN_OJEtu*x2F(O4!;_W_ia7bvfGt1cZp^Vn!IqLlvA{6Ftvzy`L%k-u zi6!IIzSCgyKJ=hiArkRbvCgli+p zL9QA^5-I|9fAv_(Ja?{WH2G(;+OShx!xf{~Z|T4rzQRmor=3eXZdqT(aqG zj3}3AdiUXjBq;rUxaWTufb`w__k*SUD4FxK#goeHaM5~H*Xhm8jjSHN7ViUz86}Px z9Sr5u9M6#F{5&t%8xH-7`r3{`ppA&6Jo8| zYl|>nix{ajDM)29s*JKt;)Ym$#*H60MJ=f@T*xM^DM7KW?+Q)f0zBvLEK$zt&4IP~ zl-8Ne1>e_HLkJx0xlxx)r~<%V3_Ra&y3vD70kgz>gj6_Q)VN}wd-t9}nH8@x;Pa~+ zEr)e66%b)eXr6&y?z({KIuEgC?0m9!mu|X`By(NXDZ4ee<}`ZLMz2$-@ts^+Z>;gF z%|X`ZX}Ho)+u;F(r{OI)$(mxaf{pq4tRs=wYD*7k63gC0M(q#RLr+fD0dMR(mLX&B zy#CoQVRv;k#_@?*uk(LFD}oX?&NMv zh?jqIL9Kw>=M6$kvx44=0$|n&tT%m=I5>@I9m@9zsX;nK_OEtZ0&zidveK0(m{!Ph=Q9WJt|tljFtSfC7ML-|lL66GF7>>ka?t?<8e5|4qZK-)8ow^w5>4u(YuR265M2Qc6+VF8^@lq zg6mTA3kbJL`nT`(_Xw61niG#v*@V zv9&ySlZ>mEaFE4hiq0b&v1B1pD9ux@>GtN1Ztw00B0l%?KfZv`f5kzW0U<`uAjGbg z&FOxuu~$R*+z&y2GnUqFEIN)x6ur3;5TvTKLAqw?lUJ%B0zWm9AN>|xY($NJH06B3 zIMx5<01cE;7X8+SIwtO!A?TiL1A$>9_#fQ7w)UPDFE&jr5-Nn(Bv|C}Qrrz0vqE2Wwe|2v+QzGl)8$YqySO{bLlwW}(c?EejLsJBe*|U`pnyVWB4F zqBv`Q$Mrlm_b{!G4-ic@TabL167nCa)pWD z1_^!o@tYE|2XAq*rHfO1jO@G^%0-u!{_U&BVKdc*Yph$d8hn~+0=ZsR-)^B;L$NhC zP}KderFA+K3TbsqaXax0X=RJWEE=Go8Z#PeU!S4QV=wn;*ACd*0+b2ZFm{F(HAoV8 zgKu6nAdG#~B=H_u@{9#L*Z&;fe|$I!6MEvLr1AUj|L`5W|L`E?nz*(n|ICYJmZR;B zX(Np0;rd3_|9-g1uZIDIX2dWEWe)=v$nS%V*=`3LGiyi&nDMC3&g13Cls>Gy7cP4w zfz1Gp-s2)Ar?|q!BWiJbE|$;9e+)pUNwa{N1ywhvdN8Dv6ngCjwre4JCQfN%GK$Xw5bT>K`V}Z*MhyZ)krA{t1DGJu*CZG)f&v^lrgy@Y`-_Ky zWU;O5?IlscLN5Cl@HroVX>OXQ7~D1M)|HPx@E<17EJKfbi!}!+4{8`p{f@iLQ(e&N zK5(^f@*kk8FA5l!bxq}4Ie)eVbe~X+u3X7HK~{%2+7?rlf1Wmhp8(a6BtzUST}nVG zID7S?_kq{7hbbfL8Qg%7C5+R3NVaUU)#!*C{z6X$i$l~Y(~><%5~KF2v(#%u^8 z{7c9ZtCRv@aq?FFOXTrzr;K^(hpVgQ=I&-b+}v=6Vc*cyH;2QsTmRgSFJSavfACTo ztmylz{eJUm(D8pVEWZDC?A~vN6nZlR{M|AbQk=N($rPf?RiG|xi^FPDZmJcV|2;8%|M>JhAgm~o-5!m2*u4{Lj{2D zB^&wf_8M-7yZ(BxK)a2{Wp+_)=KnTkv;`ofsukP^1sQK88JGT;nK5jX&!=Ef0U1?1 z$7{AWq^u5u#$;mENT|xl726UjD3c3X)rj#P8W5FpdrY$}uL`1DDXr9PJ%u7yKVo2C zSFR2YSB({X1Vv#c8RKi!3U^!K$G*}?1RjgZ&qq6Kd36eNTZhurvO|(BjM`{GTB$Bt zn4Yu5CF7a_k+q!{FhdlX<+Hb>mAGcDBgon8T&jsP<=F-Q?%fCY$KU-YX!-;dWC@c2##Bru&af=~kI*H@PMVLzFle#385e3bzx2$I+-&F2Ny;n2zCNg6I zEfmDJJjE_CcDP%tzOGR&N!KfGdfBp_Y4CWiHaF%7E^tYTrCYDHnxojEDMJ?0E? zCH^$ULrw4Ay%V8TNpWESD#Nv`pBZA3C3uz+g)G_CzVUK$6U?V4UEdoGGaH+QhTa>F z)qdXZZ=S9XcaQtS)yIJzj)M|856@vAy799Hq+h`3zvcMNZ#H)?_t#I$)6a(3|I?+< zf8Lk#pAjxU8&d6VfScV!lZ5BDrX3%!YY8O)l0a?0PO2fd!W}6T>{(>kCypX*D_vBh z$N^RY8BMqZ5cLh|08++gV6HFWo~QCVE0oC%eMblY5N5uETBHyz-Plj+$%1Lwrb%4h z5|TO;z{6mOc#inb7<7jl`FYn94c zapjYpzEWu=1SrZk7PsGj_O13KSTuXX!!BHNXB?c~hj-(0o`%OgpBE{=#LsHtI9bk! zrSt}zmLBy&WnEgr(dpC$a54~m|NaB~_P4)RQ2Op8eE0o#x_$|)Yav&6*p2nJli0C0 zU%i1BFJBI0=N`WL`e(NGuhpGrrP36PJ`5oHQQZ9BefM^}rX8Dp_~EUz2=#CliP6@l zE8v$|OZGHy6$@o-^tm664bu>r9?wno@6$Z)6<|Lb(@NSj`!qo0p%MtC=X-Z%g4BpLT3+`J<#VX>=^mWume#;( zbCQb>mu?VclY)iL7;u+Y&46Ds8L8KFceUw7s8ea50h6gQA3pE(+0|iVyzM>X!Q#2A z>NF}}3MNc;Z86Yj3BrI+*u#JWaJRb}qE?cQOEyjF)#F%WUh}-ho{ncZiB@ph4Dusu z4G+SFPPiG)`gYpwuYNe(-haEhz5V;?aP{jULw~nz`?uTu{s9uLf0oA=F#4}Q5PsS4 z>FG4kChdlBz8c%}dbsAV#v(opLAEuo1geWkzak47ti2*RKI?1q8~^2lk*|?kgSKLc ze&mxB7Ob-dP{2y8`SQCf>Tth9b(wS{M5#=UDhMf1BuPa*EPlVPXJ3m5A~1Gy)|Q4H zjGa-z$}T`=Oj(g~khs<^oUL=r6hc}HOWXaRwSOaud0|F}$GZ6Ipc(MZ61gP%A4vf2 zVaM@1JGj3)z^fOx@cQLF+~42A&0s|jhpm>0GH@- zf{?&WpQY*Km{nJ1UeUnM?A?tl1hqWs`fLqwQ2y&5^K&ONTFT+zIup2jDaMTeMX{De zKxq+aXA=Ntw_=^S^2-eYnMkMWD~^jbouMUmK}@$Hm8&?&s&TGbpj^k3S=4Gs3FFDJ znP+YJw+zIyYnj#B?VO^Bq%gfQi=5HUiif)=F*sDv$Ul$6t^Op;yUxGH$?XmYZR~L1 zGGRAxcQ*{30Y>ldU&2>keI=fP>+yQCcu%RxJJvj(is#;;a}ilhOABn66xp=GwXb#KxVR1RL;hoW_9*{I{70O>I1Of**r7@y#* z{ErVu`0nio3$sz9m<>9vm55em3WSX`V~0H*?2|``HQ{o>Yj(D-CCRuYWzC4!J!29T z*L>JIE;>Oj)Q&pgm9QO(`h4qq@_ei6ZxFS7TLp8r?$Ev)9tt^6x7Q2^VOhf-gK6hz zrM6inD3$TY9j0s9SGex$CDyKA0h6QM$qJpdB_c{aH>Bevipp4*V%O-Z_mJM zCHL}vOe5yCtPj>qUO%#}_dAZ#uY;{qQSo2Jk%f{ZJCu!##HxAd0Kj4!PSLCFv$`K?+)C zrJ2sPdb}(7^Up%0)p7e(?(dqMW?M9s;B^XgCajv-260{`R-S_0Pcc z!+ZGM0H(kF?QbO(mD`Jow{W=bIkZLh%0{18VV*+E8pca@TP+&~?LC^6{S}bfX02(< z!;|?^U@Lp2?5j+`v;D*SJ^*I|Saf#J_6QhrPu*)`+N#24Ytq?KvINc^Af`dao`&bb z&uiat(lM~9Uqy{XmjJYsKVf~nVUy%+e8h1#dqdilP$8R1>OH}3n)_MbJl`W6v z!Sf0Rp|KFtcu`wbLA1$^94W49`f9t&1=529mdshsCG(phVKGT@8Vab1VOZ2jDKf@t z*NSW~dF1C<>sN^91Z8YWXjshq0+w)P#i9z>cX8{oNNU_lNi&to(ob=MC@y=H z+=-r=L5lgRoaM!S+8wSx9cG?3d-Z8~;wj1=faAYSVU;+0^WUM(g4sojgpil4a%A{gs$?g$MHk z`j6>xJILZTjotB08w%ZuvCH9w$7hM(5@6F+n0b~h7;ESy?X(+^U5Cp+u~PMNC-n_bpSL3ypFAn0G7Z5s()mG+P1&@`bae!tI6mbL9ZPl8) z?0T>(^?|Eyus+wG_3bgbfL0GP0V@_tMC*w60ODGBdI{D$7}dm+rW_^_j15cnvHU${ zHYi#10V~dlR=z6HHYI!832J_ zM$J{v;|-Pv0nE+J%bkHC8#n?u4MBH__jKb5g)vhlKEo611CEadZ8IxOsGZ~E!zr@d z-wuZG4}bVxT=dL}e*eRJd5`0!B?EW2mpZo$KwrLk1-G}ig8{vU*KfXpyBGKH;>An& z`s=R^j9zOTDesT5wl|h2#LtM=249<7fHE8U_U#W+hUqu|@EdqHfH05Y*T4Qh23z|5 zaNoZhd+dX-s`IR_$Jyf}&7%O~L`j+*h!Ebs}mE~8}Xa|+dI%-6f8aj%?t ze;(KRAWSgZFI?`a-*e@ODc6fMbJ&45h?vk~)Q3UHvpn;D1Z`ZCXh$a;$wDB0H`Di7Q!KaRN!P{B^LST#&KWo^%B-ousdK?j1=3t%w2vjT=XW7 zoviVAZz?6^6p)e`Lj1+aUTfk75UI6jqGC0Gg)yFVPA2Q*HI}X98%X7i@eVh8Sr(VY zTG@lWV~4{*mVVo9`m{YP+wIlU)z$s`!`Lz&{TCdZMgP}-{nz;GU;ldZ=YRfk_xOjWo9&KXj?MLErsd^WDK|r%?NCdmX>!eE z$xAqyAoXrRns@`A@X={4kYwXv-Q$;|u^$iYu0oFg>^^3QxKIa{P?D24dBDJcxXS!{ zzBvJcbwi`(gh^1Tte>*e`*?-@1LsY>cBC?b+GBo}T7}#iZ!S$mi$TlCVx;fiL|m=a|LiKTBpX zXD&0F`{M3K*w9y8KXHK3*Mk*(F_h}f%|U|Hr2|dVdI-Ws%l(r9QH1P}qU=%wXBA)t z8p+}hsW25Xf11Tm*PR*(Z3?AUGliocyRj)%z&o^conU%ae@9cWknVWX?y#azY`J;6 zMt07+%hJ$ge3D9-h{yEBvZho9{;$U+8+rw2N%I~$5LBf^;1MAdz}kR;zZXBwe)dS7 z0>8FgZV}dx8AH$bi@~_RQLs6b($_!#xqwf0)$iL)uIcUK46?l&~4 z(K%jvB|m@pmw)+L15rM{fYE>9@mGKKS7SMS+dllmeAo_yf1&BcSeCEGTD%`_oa@FE z7;iaqYlPbq6o7&OQt-|t&rzlx#qj&Fk9fJJ5C#MR82x>Hx4JnE1oWOL(p@9{B9_m- zhge?nD_R0gFa!i4^vFOc#E;cHgV_J*Ct5vC%r~(mIU<^bb9~g`t#VyZS_g&hC zYMH3nT=k12N2!b5+1=*nL<}&>3T-(*$!GaIJjSyDQJw=<=37zhTX=EL3f+G0Z{Yrx z*{LhBZdqqDkQQ)hteJNMnOccy3)Vp6nt@?Gc1gsu*7y$B~em>(!?erFdmusP% z#D!ZolY-U@iXfE}K>^MsTebqyb%lpAR7mz2D#*6au#%BvF)ysWR0E1!D;FlI$9tJ& zPms(Ch&!y_PtK1rQ-H?*cLSq#ZcjWR1HI~+cQ#F#d}fIRP@WbGVVDG9c{wC$xk>82 zKk|A6Ep5bZX?D$@Eq3(7!^2=ox%AReT;#J=q7cKRO~Q+_02$|Z6pMSi)mwk(yb)=vAdrEFz=uD@7~EXWh3wp-~BJkg2oS3Z#i0@`#m-ygmM>^`)vuDP1IJ~3BmXk~BUYV+9ob$2`!S#Dd( zZw}V`&rc@+M~b#AllULZRy?D5OHoOaw{N@$XQ^Qc}0gYOYe~87pe%kqtxz@|pryS1_57(-KSM zuNkmtU|n@!25lY4_i~nNaJ@p>XqhLe)iywjc4C>ObJfRpZ$$w!kYwhHUFwUJfLWAH z6>Oux_2cPre22^B9N_%)B*1bbWi}>tr!v#U8O-9Ee;R+El_6|go~8+V#4IRxnc@1O zZ(hHY9|omT#_4V^F{C?b`ANx8Os*>sv@_9qJ8AnwtNGbdaH+eyLnQ=?p${$<(;cOP zvU_kBIp8UH)wN2&W+H^4rC3vi$gcEqOkdW8Tu)3mb;VcjZ zW}z~gj5I6L#|o(H?+l7KOZ?FigO~y2V(qHqniR5U0LZbU-+ljsBrY+-&*zh}M^ZF? zFGkIa*RKcgd?9Z5pAR2P{5xmYI}l~Bz`Fq|wN0(A*8`Ut8;t7h?G0QX zuC%!J9fMqN%L#HH@810&;Q8YK$P98BpfWI(jQT^5wZ``$UCt~fdj}g0Lzpw!MZ-pP z{+m^XlnNUYdm1zjl)pdJu*Avz*WdgO9tRV5)4?A7>;C^O_SMp-O7Wt7*XGx z`hEUY_p|P8tukVAHVU+J<~52O>b5qed>mQgQY5oHKOBtcwJ2I5yFrh|8-)cx2cVSS zHSXA(HE6w7-M8AgjzVj!6T2$xwR4FVz%U%(b9n^0r**1au2i{Z=dTHYcAsPhoeZ;k zTzcx6s@a~q{__tNFN?_nf*QXrvovW4M`%m$d;$4fwWOjMVP?$coSR{>&r~Ibfsr&1K!V-Zpn7)Z@GH z^BR5%#}_dAFFQ=_j^%hhjuit}13bMLOxvpg@a~6u=6YPT<)z->u z>eODFtrd{2ZMZZH?f0nhNaY8hbjKTbSEnlEi#!5pC(nGl5;di_#I+X0S;NM!BvdgFjYGk^v6~OTcIXX1UDK z(K^>i%}^0SUE<9+zE9K|ZA9qo*|omsB&Yot)-`}-&`bQ?ZX=oTF9-1CqW0YK@YMhc z952dldH$Q<=W{UI!v(+Dz3E0kC=YY3hlLHEYfLj} zsE5ZgYaLJr%4R@0qfZbFlGneqfQA4`w8{cTbI&i}cRn9y@c8CwvonR)tSi_g3QD>d zAsDDw1b8tUx>$epWz2)dh<0t2$u4iwdE}T(cG2@1<)ZcsSf#THvxbA|V{pl!^VRED z@OpsJ`}?uRUcQ!}tD9?a$xEV=xZyRvxI>02a2z#vMPg3@cW>f-!Bri&73Z7RUkwm? zCGP+2W+&rerNJ z(!%#_Nox9#yJ0%M*Y_Vjj^EE?AL+BAu8w()zUR$T6hcO#q)z-XMB0x7T zh^#Y~&!e-H`I*?IRL`$IYL^F^%!4Hqpo|+J|F&~`qNKatRd<-|3c%{I>t23JZw$-* z<4Pa85v;#!H!Rmzw5rMMbME8nRyr|aQsa3nVyp%jZb<+|Tr3ulYEoN3q?XH78S8Qh zwG@=BwJ?G}+J>?LsWogd^tAwXF#;_v-@4lAim&F&PXmbZ@db?jD~=BzKDOPiwdJXE z%g@~aqx(+t_;=y?6lAGgaIA;62~aXdv?~3o#qpUrh@ZT^3!Z#|ibP4ll!j~-eCCEL zpkNJN?eorptpLIrB71d75nJR*2pTAZ21fbLHx?VqiL>mYV^GKJ&BhW$cucGSIiYD; zI2QCQAQrctBmq*Knw9DPv>n!G6Hxjzfa@vTpz6LQ5eVIcG-@o}V49ds+HN&QRbr_G zj5YzI?0#ogJcChYuU-zNDXw_~q6dyAotnAfmt+9_-iym#l%{IVP=Kl&Q~(Rt*Yioa zl1L=yjEEZ~Etri2u+`|W*Cf78zY>ao@;M@W0{BYH#gP7XZC5_kJrA&sL3JQXYo&&e zlR^j;uvUQTzoRj<0h){AEQ>eqgFL>hujY)b?v7!0D-%Wm;`vA0U3ypoBnf6k?I{dI ztt-k0$4x#S&lU?fzPH_pOMl=lsWJNSc$Brr*JEaMvFv(p@SwVKtT|bK%vxScauWZr zi~jEJUH~Wq$=!Z0Yp+fidkVDNnHpX{ynQQ)Nx%R7@8mV^%Ea-Zzxc(w0WNREJ%8YO zyr40k93RS=_1}O0y|pAg%39qGz{=Ns@$!{0whTx&Z`BjQKcY|tgldxm;jy`-)Qkr3 z(;!g>Og993AGG@@3J^LTXLWUspSN!hp7lBQ5=xJI&404g5@E2_i1I>sTEHRK;nb|@ zf@f7m`6<0-$WI=>Z88tf@USQ_<0)h>;B%2n`F_Mv!^QcV8;lA_SBXk~9=ON@sHo43 zMt@~0HB{ZeYb7o=Q_S8^B8y*>$S zvnoS+ikdx##`?>~C4h9%@Qh|*YuXg1#rjkAKVFkoV?D2rMNY1c9sHDzFJSavdEogh z4eY4TI2e>R*c9X+UCjn4+7v)kYZv*#RxsA$y^@V=o3?^J|5q*A1R$W_4kdgEk_udb zsNX?F82Nb!Liy{4Eb*k&p8-*?nU^I&x-cBx-N>0yW-r+t-zSXgY~}Y!W7YtqK)57$ z%)>=^ev)`IcHc51Lo@}Ou^$SZ-Hq(-;2zlw6d8<4k`pI4E!xd#9!lHgGiT`@_8Vh3 z2WzxL`5w15WI)5fSbENnzwd4j5_8AE)jKS4ozXqVl1^5h1C9Bm9&=@(uA$`Q8Cj-0 zU`<5Aa2v|JT_}K9Hr77xS&{_6rvarux32YT)y=e41g%RgOu!T?uPcqeD(tP@ zj{rLZ$l}IxW=~$3HdN}2?$luNE=b~@A4Zvk8%P}MNlG>S;SYa+ zzyJIHTdvD{;{N_ln9rNRbTYtY*S(LA0qB4IufKuc{_gj}-11)Gkan&*u|MqLet=;H z!P{}3)A=mpU{||W0O2xeGA66(D{*sNF@PK-FP3bli-5PiS61NhHL0$ljU>3#)rK?h zQEUB9?Ph>t-6!baiIW4idNq!-_5TlGdZ_a?O=-g%0l4=gKy0AC&8r_ z{9ghn>OVc-kD<8icn)-(aPf?JVc$KTm%Q7Wg)}tlCTQahoDC_%9F(hzUUi=qbI512 zEb4vf;NGSdYgFWX#V#>zAfVoOl5gRk? zAj3d+!>tVyEsj$=qR2g)k-;qI(~+4!4F)C}#?CN)I6m|=zB4@>Wxlxc(A)P~zKDCc zbD|O(NzgQGU?Gc@wf%oTz^5{iFX3lD`x(4>^BS(1$s9lIzTXr8sMRJ&d!~>3;z|)* zqm&uZ50;_-PTcMf5;MsOQygQqA7GFB-ZOaQ%zI`y-@bh(<(=4F{y5zHJTJT#S!wdV z`TmEu+Du~n@VWUr9M{IlPz*%3lC|GJae>y&?Hq+9pmf&#Zn2c&*d^tu7D;64;%VTy zcp41pci+7OEgwq~hQMpx!(XPotu>At{*ggqxSj=*YO>epjW`Z>F0Yd2v>TNqn4 zd?eh(woe@JrSWIiR4dk)Jl$W^9WYW{n;f`<6AoGi3fE#Jq9!O`nk3Bj8sAq07Cb9g#s5psm4-!4?& zmzdEn$Hl>Ao#1c(w!weA+fFZkxgSiy^;l%rLtq{TJ--ERX~K}xl!$IfbJK@=eu8k* z3stnf;gzye4Um_h-gg@Ll~I5=>yx+=wyre?AScAAx&wfD%-&r&@S zi6>d~Oo^a@OKCCKHTG^Yw>j7DDso>xRE?j)Fzd56r5m8zSm>p$*>aeIk+B-+(83TM zyif!YPCsCnPcOWTS#z@$>jBgHU$WGw7WAqg<2M?fb`v z0q9P`C^ECJ(E~b0W)hhN(Tw-47Oua&HP`%|y5^awAB?0oYjBkvK+B#XyZ*S=E`w2a zyR$by6`cOe78|PZ)JIu^3@jO}a+}Z(1BlL26P3YT*Xj}D0t`@jE;wE`!RV9hAMYd< zPakbBZnVr1kMxWf0N&R;f|acyjUi<>BiWquyncLq67b74ytk9b3vMNBK-`z%YMr)vX-Hw1HoWSV@R|1_6i(TsC+`5_SEW5!SP&ZrFb{H^;tfTMwe#kllmcTY4AN zcrE*AwXqy-y0O>{3{$R64!NQWodf_iEFoFXe66oOZcj17nbgHC)QH*f6mW9LgRi$n5!a)kC$eZQ+}z7M{C@Y}2pJJGfNP`0Q1JN=&&V<}J{I zr6RLNdsyE9>Dowup;yRp_+MlK&|%!4a?QmOn#A>mO^S<4F?V$cm7s7 z;%sCbn`Y@T#vu5;Y+4IBIGK;0UAhaDR+C^wl|$>L;uJv_C6tUF3E-v%jLs|;feIm+ z{d1a6fNMZn(F`C|%*c$AHbuz9h*SbD^kX0)fWerWNn)KCa9eVN#a5B6k7!-$YXUHs z6A$-T#eO;)VC<1IOC1%Co8|@Y$l~lnWH|)3h`~p3bWg%x?E?e%GV5L2e0p6-zK--- zH{dz&l2oCZ%WGV^>0!9+`J8M>Jq+N+-(fH&E&Z6CbpvB80}6&}t4S znyrhahny7`sJ*PPs_q$z{p8>v*fb0wr~B4j`np&l-2Qr+Tx+rC3Mc~;!T=WxVgoPi z?rvkBTirG+S1bvS9FSq0=hF4wVgTlyBZuq;@Jz0|)X!1neyWFG!^>7d0n7kvAnI~N ztz>|l5qteYePMVl{HK9K#|AB)GR8gS^QehVZjfS5cDaFzAAmGm++gu9QJD+y7*Xa> zCP`xC`|_ktFMXy)n}ueO>4PO#sE?a~LdM5D*%-Q4v}xvrXc#onR@zHk!%yY-0!IId zgEFXY?3V8jPghSbw@d%#cwYXZ&&z+)m-)ZL-rtN*-GFA&ySb-|T-*%mqEC=u0v+9n zk|011#7msH1}6S7dBFf9=F*3Y%@Emul-bDvOv$t6z0{5~9mRbg*K1`kZe{zs3Pw43 zNLWG>VrE2Z*AmY19WFaj3QV+&H+MS>wu-@}nwMHCinE@j#v(1!zLN|eO9?1)w`{qu z-lLAF+&7nanv?-$cJ}sqC%}=*Gi?}ziaSy>>TjKyS!uHJQ5f^2fQG~^FYwHC zpJZ7R1;|-3%0yWlUZ+TPT1mEOp&M~6VC^?oj_B*c!K|;bPaM_#=m=IimXcr77*HEa z{Z1@50j~y)8yOqi0=Z(aOzI^#Yl8q$m-O4v@ENfnuhSoTBKs|FwBPpiO zHA_Fj57u3Y<3pJ(<^91RkbBc>xfs2!Wb?n*_)vDmbBrY$ZnJf2;+Rn$+v0|j0X=0; zXN!HDG&3A6`fYM|rZ?+gpgpTc0JMY@e_utL#&h!5Imv5F`mFj`fDGOlkiL8OVeB!h zvN6VTcTFlICwop_MTrbNxP;;7>LD6kn@r$FjakV?p4_)N+ZxqxPPSgPZfc7r5g6;< zO4vm#H>}p8xXdTbO%1OGrCjLM?6H9d^I7&}1)_3I57iPGnep*xhLyC@wAk$UX^=*5 z_fUYmW-@y^cP={&>q*E%lhB~0gv$nk25%)AuLcgJ6$(_3L(xVi3!$Z=a`~e*dwo7C zfQ6zbVYQDWq00t3W|_QmO5Igb_;KCeeCPR4O{eiwRJgZ z$ce_Es3C}MOy^YPArX0rjCFdtJez4Uoo7VJPx1HyM*n$-N{s(Afw)28hgzg)OqshD-`F`hMwMC5{ca8}Xuur(4r zsXa`jfLWuhOmX-MwGmK{-O-n}%DEFIV*rAe#`)YOvFG@7l1y(d#U$mJPTW&UV;!H) ztQ=0l-gCD6$B&N!;skJ65q7Cx3eGH{05oz?!wi4hX|MTPu2Xw2Ae7zn9J}m^O516x z#ojUbEN*}61{T-We0+QmuqiR016Xo-CjN0_RRHGsB$@UJOq!PT8K9GsrUZy{tab0J z%ZWB#`v9yGgteD{7Bf`cm6umLR zSVHnzmQ7L*fr>x%+O&(k7W>6QDb!z*EPw6+{cLm8XOl+}H(HJN%#?SK36!8y8QSF& z`%XcSCqatm#XUw?VVJ&0jeuohiq)4uTbfQ!!*K1$_+-D5^$$8@-sFw-X&dy?a6*_dJg z$TdZ!u>4>~Z|`muklu`+!2ogsk7Te5Q1qI=`b@YYgs{~_@;fu4%#6N!|AQni9Z#At zHFXUS;KV5|E46w~n`Fz?-A=kzmmcnX9l6#IjW|X06>A1q)6(0M#ikmMrq6>vDP__4 zyFCs=I@6>HCnmlcXAodspzg1Q6u^ zHQSeB2xGePqYRmU-VCGG5Z2p}LRPyhSAcj)Kk9tA!RBEu+|j7j8fzEEsLHLp$(3P; z5Cz}eV-|qTMUAbeh1Le5#!uF(V8|Hs3MA!FJdZ`@0Ay%^dAq006rK{k?gO%zVY@#r9i^2RsmzpBG%3Kplj)%%yB)}4ieeelG+8{UjDIm%21U#2 zS`ik%YwW!wFtXkgB*saGPh(wkRg2*gl#tOc+4Nrykj2PLPwF(^+~D2RPjC9^^h=me zzo7H!WnWIW3!V2vjWibCq^Z`?jYlm(%@EhA<`+#85@h)h$n5GAnipe{FZ2{NR6ZM@ zaEs1fvMg`iJ7$3fbJ+t>VBW99Vo6-qVqIwFvlTLSVSrF}D>#q|0qN&N7wXzdFG~JQ zR{laUpB0nmvQF%(x8mC4=g7cyGg(|C47cY-l8u&m689@BG*{+a4|Lh1gzVm2XK!zA znRpn0lw&}7)9Szux0{R79`@k3=~@@kcJb~ zm^W1lOV&xXd-pgzkLyDytOHNil1XfpeUpq)m`r!L0`Wu`S4RFlFy)pYM~M+*IeLko z^U$xEB%8ZOhOE}R)xihfq0!lS=R%1vz7rGAoRa~&0EJ<*n zu54DS9O|-VF9a%p?Po3R)&+!48pkPp=9}z$_FhN}-?Nr&;yrvmEixw$k9#;C597Nx zaCdjm*zJubCdqzhWgjv}OJ7O20V!)WE$T(#iW_Y+h2iG1sTxbU!Em)*a~>^BU{X?n zFFBu2$-)~0AM3MeV(OZwbE9jK7VU6UAE zAp!%08qWb*!YadA)=7*eY~(i$u~Jy9_Z^{QG44{bNytoG;7 z82#}B|N5{08vp9A{)$(_?s}rzdB#^`C4Rjur=QRB=_U2~W^AD?w_*_Zg#}=u3p#Vp zM}1C&>@BW`Za6AehPne_wKJ(he!Ol<{kxtfzitAl07kTIAR=|gxx3DRgR@kM4tjvm zaDf$O();^*JJ4?NX&ww8a@&Nh2q{tYV_vpk41=
From 3321a1b922588dfc7d137646c79ed69a3b327aeb Mon Sep 17 00:00:00 2001 From: Yanyutin753 <132346501+Yanyutin753@users.noreply.github.com> Date: Sun, 28 Apr 2024 12:00:52 +0800 Subject: [PATCH 005/107] =?UTF-8?q?=E2=9C=A8=20expend=20the=20image=20form?= =?UTF-8?q?at=20type=20after=20the=20file=20is=20downloaded?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/apps/images/main.py | 60 +++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index fd72b203..8c5457e8 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -24,6 +24,7 @@ from utils.misc import calculate_sha256 from typing import Optional from pydantic import BaseModel from pathlib import Path +import mimetypes import uuid import base64 import json @@ -315,38 +316,47 @@ class GenerateImageForm(BaseModel): def save_b64_image(b64_str): - image_id = str(uuid.uuid4()) - file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.png") - try: - # Split the base64 string to get the actual image data - img_data = base64.b64decode(b64_str) + header, encoded = b64_str.split(",", 1) + mime_type = header.split(";")[0] - # Write the image data to a file + image_format = mimetypes.guess_extension(mime_type) + img_data = base64.b64decode(encoded) + image_id = str(uuid.uuid4()) + file_path = IMAGE_CACHE_DIR / f"{image_id}{image_format}" with open(file_path, "wb") as f: f.write(img_data) - - return image_id + return image_id, image_format except Exception as e: - log.error(f"Error saving image: {e}") - return None + log.exception(f"Error saving image: {e}") + return None, None def save_url_image(url): image_id = str(uuid.uuid4()) - file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.png") - try: r = requests.get(url) r.raise_for_status() + if r.headers["content-type"].split("/")[0] == "image": - with open(file_path, "wb") as image_file: - image_file.write(r.content) + mime_type = r.headers["content-type"] + image_format = mimetypes.guess_extension(mime_type) + + if not image_format: + raise ValueError("Could not determine image type from MIME type") + + file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}{image_format}") + with open(file_path, "wb") as image_file: + for chunk in r.iter_content(chunk_size=8192): + image_file.write(chunk) + return image_id, image_format + else: + log.error(f"Url does not point to an image.") + return None, None - return image_id except Exception as e: log.exception(f"Error saving image: {e}") - return None + return None, None @app.post("/generations") @@ -385,8 +395,10 @@ def generate_image( images = [] for image in res["data"]: - image_id = save_b64_image(image["b64_json"]) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_b64_image(image["b64_json"]) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: @@ -422,8 +434,10 @@ def generate_image( images = [] for image in res["data"]: - image_id = save_url_image(image["url"]) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_url_image(image["url"]) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: @@ -460,8 +474,10 @@ def generate_image( images = [] for image in res["images"]: - image_id = save_b64_image(image) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_b64_image(image) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: From f070e8b7f9523464ce2a36b1a7e4202a067a0db9 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sat, 27 Apr 2024 21:02:15 -0700 Subject: [PATCH 006/107] chore: format --- src/lib/i18n/locales/dg-DG/translation.json | 2 +- src/lib/i18n/locales/languages.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 1ecf912d..2e672cf9 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -370,4 +370,4 @@ "You": "You very you", "You're a helpful assistant.": "You're a helpful assistant. Much helpful.", "You're now logged in.": "You're now logged in. Much logged." -} \ No newline at end of file +} diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 4efb0718..062a6168 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -99,4 +99,4 @@ "code": "dg-DG", "title": "Doge 🐶" } -] \ No newline at end of file +] From 236ec284910297942c400eebeeee65c13434cd53 Mon Sep 17 00:00:00 2001 From: Maximilian Pichler Date: Sun, 28 Apr 2024 12:58:13 +0200 Subject: [PATCH 007/107] Update translation.json added and corrected some translations --- src/lib/i18n/locales/de-DE/translation.json | 76 ++++++++++----------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 940e7b59..40573075 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -10,10 +10,10 @@ "Account": "Account", "Action": "Aktion", "Add a model": "Füge ein Modell hinzu", - "Add a model tag name": "Benenne dein Modell-Tag", + "Add a model tag name": "Benenne deinen Modell-Tag", "Add a short description about what this modelfile does": "Füge eine kurze Beschreibung hinzu, was dieses Modelfile kann", "Add a short title for this prompt": "Füge einen kurzen Titel für diesen Prompt hinzu", - "Add a tag": "Tag hinzugügen", + "Add a tag": "Tag hinzufügen", "Add Docs": "Dokumente hinzufügen", "Add Files": "Dateien hinzufügen", "Add message": "Nachricht eingeben", @@ -53,7 +53,7 @@ "Chats": "Chats", "Check Again": "Erneut überprüfen", "Check for updates": "Nach Updates suchen", - "Checking for updates...": "Nach Updates suchen...", + "Checking for updates...": "Sucht nach Updates...", "Choose a model before saving...": "Wähle bitte zuerst ein Modell, bevor du speicherst...", "Chunk Overlap": "Chunk Overlap", "Chunk Params": "Chunk Parameter", @@ -88,7 +88,7 @@ "Database": "Datenbank", "DD/MM/YYYY HH:mm": "DD.MM.YYYY HH:mm", "Default": "Standard", - "Default (Automatic1111)": "", + "Default (Automatic1111)": "Standard (Automatic1111)", "Default (Web API)": "Standard (Web-API)", "Default model updated": "Standardmodell aktualisiert", "Default Prompt Suggestions": "Standard-Prompt-Vorschläge", @@ -102,7 +102,7 @@ "Description": "Beschreibung", "Notifications": "Desktop-Benachrichtigungen", "Disabled": "Deaktiviert", - "Discover a modelfile": "Eine Modelfiles entdecken", + "Discover a modelfile": "Ein Modelfile entdecken", "Discover a prompt": "Einen Prompt entdecken", "Discover, download, and explore custom prompts": "Benutzerdefinierte Prompts entdecken, herunterladen und erkunden", "Discover, download, and explore model presets": "Modellvorgaben entdecken, herunterladen und erkunden", @@ -115,7 +115,7 @@ "Don't have an account?": "Hast du vielleicht noch kein Account?", "Download as a File": "Als Datei herunterladen", "Download Database": "Datenbank herunterladen", - "Drop any files here to add to the conversation": "Lasse Dateien hier fallen, um sie dem Chat anzuhängen", + "Drop any files here to add to the conversation": "Lege Dateien hier ab, um sie dem Chat anzuhängen", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "z.B. '30s','10m'. Gültige Zeiteinheiten sind 's', 'm', 'h'.", "Edit Doc": "Dokument bearbeiten", "Edit User": "Benutzer bearbeiten", @@ -123,21 +123,21 @@ "Enable Chat History": "Chat-Verlauf aktivieren", "Enable New Sign Ups": "Neue Anmeldungen aktivieren", "Enabled": "Aktiviert", - "Enter {{role}} message here": "", - "Enter API Key": "", - "Enter Chunk Overlap": "", - "Enter Chunk Size": "", - "Enter Image Size (e.g. 512x512)": "", - "Enter LiteLLM API Base URL (litellm_params.api_base)": "", - "Enter LiteLLM API Key (litellm_params.api_key)": "", - "Enter LiteLLM API RPM (litellm_params.rpm)": "", - "Enter LiteLLM Model (litellm_params.model)": "", - "Enter Max Tokens (litellm_params.max_tokens)": "", - "Enter model tag (e.g. {{modelTag}})": "", - "Enter Number of Steps (e.g. 50)": "", + "Enter {{role}} message here": "Gib die {{role}} Nachricht hier ein", + "Enter API Key": "Gib den API-Schlüssel ein", + "Enter Chunk Overlap": "Gib den Chunk Overlap an", + "Enter Chunk Size": "Gib die Chunk Size an", + "Enter Image Size (e.g. 512x512)": "Gib die Bildgröße an (z.B. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Gib die LiteLLM API BASE URL an (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Gib den LiteLLM API Key an (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Gib die LiteLLM API RPM an (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Gib das LiteLLM Model an (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Gib die maximalen Token (litellm_params.max_tokens) an", + "Enter model tag (e.g. {{modelTag}})": "Gib den Model-Tag an", + "Enter Number of Steps (e.g. 50)": "Gib die Anzahl an Schritten an (z.B. 50)", "Enter stop sequence": "Stop-Sequenz eingeben", - "Enter Top K": "", - "Enter URL (e.g. http://127.0.0.1:7860/)": "", + "Enter Top K": "Gib Top K an", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL an (z.B. http://127.0.0.1:7860/)", "Enter Your Email": "Geben Deine E-Mail-Adresse ein", "Enter Your Full Name": "Gebe Deinen vollständigen Namen ein", "Enter Your Password": "Gebe Dein Passwort ein", @@ -158,10 +158,10 @@ "General Settings": "Allgemeine Einstellungen", "Hello, {{name}}": "Hallo, {{name}}", "Hide": "Verbergen", - "Hide Additional Params": "Hide Additional Params", + "Hide Additional Params": "Verstecke zusätzliche Parameter", "How can I help you today?": "Wie kann ich Dir heute helfen?", "Image Generation (Experimental)": "Bildgenerierung (experimentell)", - "Image Generation Engine": "", + "Image Generation Engine": "Bildgenerierungssystem", "Image Settings": "Bildeinstellungen", "Images": "Bilder", "Import Chats": "Chats importieren", @@ -210,24 +210,24 @@ "My Prompts": "Meine Prompts", "Name": "Name", "Name Tag": "Namens-Tag", - "Name your modelfile": "Name your modelfile", + "Name your modelfile": "Benenne dein modelfile", "New Chat": "Neuer Chat", "New Password": "Neues Passwort", "Not sure what to add?": "Nicht sicher, was hinzugefügt werden soll?", "Not sure what to write? Switch to": "Nicht sicher, was Du schreiben sollst? Wechsel zu", "Off": "Aus", "Okay, Let's Go!": "Okay, los geht's!", - "Ollama Base URL": "", + "Ollama Base URL": "Ollama Basis URL", "Ollama Version": "Ollama-Version", "On": "Ein", "Only": "Nur", "Only alphanumeric characters and hyphens are allowed in the command string.": "Nur alphanumerische Zeichen und Bindestriche sind im Befehlsstring erlaubt.", "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hoppla! Warte noch einen Moment! Die Dateien sind noch im der Verarbeitung. Bitte habe etwas Geduld und wir informieren Dich, sobald sie bereit sind.", - "Oops! Looks like the URL is invalid. Please double-check and try again.": "Oops! Looks like the URL is invalid. Please double-check and try again.", - "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppla! Es sieht so aus, als wäre die URL ungültig. Bitte überprüfe sie und versuche es nochmal.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppla! Du verwendest eine nicht unterstützte Methode (nur Frontend). Bitte stelle die WebUI vom Backend aus bereit.", "Open": "Öffne", "Open AI": "Open AI", - "Open AI (Dall-E)": "", + "Open AI (Dall-E)": "Open AI (Dall-E)", "Open new chat": "Neuen Chat öffnen", "OpenAI API": "OpenAI-API", "OpenAI API Key": "", @@ -235,7 +235,7 @@ "or": "oder", "Parameters": "Parameter", "Password": "Passwort", - "PDF Extract Images (OCR)": "Text von Bilder aus PDFs extrahieren (OCR)", + "PDF Extract Images (OCR)": "Text von Bildern aus PDFs extrahieren (OCR)", "pending": "ausstehend", "Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}", "Playground": "Playground", @@ -263,7 +263,7 @@ "Save & Create": "Speichern und erstellen", "Save & Submit": "Speichern und senden", "Save & Update": "Speichern und aktualisieren", - "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chat-Protokollen im Browser-Speicher wird nicht mehr unterstützt. Bitte nehme Dir einen Moment Zeit, um Deine Chat-Protokolle herunterzuladen und zu löschen, indem Du auf die Schaltfläche unten klickst. Keine Sorge, Du kannst Deine Chat-Protokolle problemlos über das Backend wieder importieren.", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chat-Protokollen im Browser-Speicher wird nicht mehr unterstützt. Bitte nimm Dir einen Moment Zeit, um Deine Chat-Protokolle herunterzuladen und zu löschen, indem Du auf die Schaltfläche unten klickst. Keine Sorge, Du kannst Deine Chat-Protokolle problemlos über das Backend wieder importieren.", "Scan": "Scannen", "Scan complete!": "Scan abgeschlossen!", "Scan for documents from {{path}}": "Dokumente von {{path}} scannen", @@ -273,9 +273,9 @@ "See readme.md for instructions": "Anleitung in readme.md anzeigen", "See what's new": "Was gibt's Neues", "Seed": "Seed", - "Select a mode": "", + "Select a mode": "Einen Modus auswählen", "Select a model": "Ein Modell auswählen", - "Select an Ollama instance": "", + "Select an Ollama instance": "Eine Ollama Instanz auswählen", "Send a Message": "Eine Nachricht senden", "Send message": "Nachricht senden", "Server connection verified": "Serververbindung überprüft", @@ -290,7 +290,7 @@ "Share to OpenWebUI Community": "Mit OpenWebUI Community teilen", "short-summary": "kurze-zusammenfassung", "Show": "Anzeigen", - "Show Additional Params": "Show Additional Params", + "Show Additional Params": "Zusätzliche Parameter anzeigen", "Show shortcuts": "Verknüpfungen anzeigen", "sidebar": "Seitenleiste", "Sign in": "Anmelden", @@ -298,7 +298,7 @@ "Sign up": "Registrieren", "Speech recognition error: {{error}}": "Spracherkennungsfehler: {{error}}", "Speech-to-Text Engine": "Sprache-zu-Text-Engine", - "SpeechRecognition API is not supported in this browser.": "Die SpeechRecognition-API wird in diesem Browser nicht unterstützt.", + "SpeechRecognition API is not supported in this browser.": "Die Spracherkennungs-API wird in diesem Browser nicht unterstützt.", "Stop Sequence": "Stop Sequence", "STT Settings": "STT-Einstellungen", "Submit": "Senden", @@ -316,13 +316,13 @@ "Theme": "Design", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dadurch werden Deine wertvollen Unterhaltungen sicher in der Backend-Datenbank gespeichert. Vielen Dank!", "This setting does not sync across browsers or devices.": "Diese Einstellung wird nicht zwischen Browsern oder Geräten synchronisiert.", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tipp: Aktualisiere mehrere Variablen nacheinander, indem du nach jeder Aktualisierung die Tabulatortaste im Chat-Eingabefeld drückst.", "Title": "Titel", "Title Auto-Generation": "Automatische Titelgenerierung", "Title Generation Prompt": "Prompt für Titelgenerierung", "to": "für", "To access the available model names for downloading,": "Um auf die verfügbaren Modellnamen zum Herunterladen zuzugreifen,", - "To access the GGUF models available for downloading,": "To access the GGUF models available for downloading,", + "To access the GGUF models available for downloading,": "Um auf die verfügbaren GGUF Modelle zum Herunterladen zuzugreifen", "to chat input.": "to chat input.", "Toggle settings": "Einstellungen umschalten", "Toggle sidebar": "Seitenleiste umschalten", @@ -332,12 +332,12 @@ "TTS Settings": "TTS-Einstellungen", "Type Hugging Face Resolve (Download) URL": "", "Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Es gab ein Problem bei der Verbindung mit {{provider}}.", - "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unknown File Type '{{file_type}}', but accepting and treating as plain text", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unbekannter Dateityp '{{file_type}}', wird jedoch akzeptiert und als einfacher Text behandelt.", "Update password": "Passwort aktualisieren", - "Upload a GGUF model": "Upload a GGUF model", + "Upload a GGUF model": "GGUF Model hochladen", "Upload files": "Dateien hochladen", "Upload Progress": "Upload Progress", - "URL Mode": "URL Mode", + "URL Mode": "URL Modus", "Use '#' in the prompt input to load and select your documents.": "Verwende '#' in der Prompt-Eingabe, um Deine Dokumente zu laden und auszuwählen.", "Use Gravatar": "", "user": "Benutzer", From 9130428a555fbb11f160658cea547312908f4d99 Mon Sep 17 00:00:00 2001 From: Maximilian Pichler Date: Sun, 28 Apr 2024 13:12:41 +0200 Subject: [PATCH 008/107] Update translation.json --- src/lib/i18n/locales/de-DE/translation.json | 56 ++++++++++----------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 40573075..654c1320 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -5,7 +5,7 @@ "(latest)": "(neueste)", "{{modelName}} is thinking...": "{{modelName}} denkt nach...", "{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich", - "a user": "", + "a user": "ein Benutzer", "About": "Über", "Account": "Account", "Action": "Aktion", @@ -29,13 +29,13 @@ "Allow Chat Deletion": "Chat Löschung erlauben", "alphanumeric characters and hyphens": "alphanumerische Zeichen und Bindestriche", "Already have an account?": "Hast du vielleicht schon ein Account?", - "an assistant": "", + "an assistant": "ein Assistent", "and": "und", "API Base URL": "API Basis URL", "API Key": "API Key", "API RPM": "API RPM", "are allowed - Activate this command by typing": "sind erlaubt - Aktiviere diesen Befehl, indem du", - "Are you sure?": "", + "Are you sure?": "Bist du sicher?", "Audio": "Audio", "Auto-playback response": "Automatische Wiedergabe der Antwort", "Auto-send input after 3 sec.": "Automatisches Senden der Eingabe nach 3 Sek", @@ -112,10 +112,10 @@ "Documents": "Dokumente", "does not make any external connections, and your data stays securely on your locally hosted server.": "stellt keine externen Verbindungen her, und Deine Daten bleiben sicher auf Deinen lokal gehosteten Server.", "Don't Allow": "Nicht erlauben", - "Don't have an account?": "Hast du vielleicht noch kein Account?", + "Don't have an account?": "Hast du vielleicht noch kein Konto?", "Download as a File": "Als Datei herunterladen", "Download Database": "Datenbank herunterladen", - "Drop any files here to add to the conversation": "Lege Dateien hier ab, um sie dem Chat anzuhängen", + "Drop any files here to add to the conversation": "Ziehe Dateien in diesen Bereich, um sie an den Chat anzuhängen", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "z.B. '30s','10m'. Gültige Zeiteinheiten sind 's', 'm', 'h'.", "Edit Doc": "Dokument bearbeiten", "Edit User": "Benutzer bearbeiten", @@ -125,22 +125,22 @@ "Enabled": "Aktiviert", "Enter {{role}} message here": "Gib die {{role}} Nachricht hier ein", "Enter API Key": "Gib den API-Schlüssel ein", - "Enter Chunk Overlap": "Gib den Chunk Overlap an", - "Enter Chunk Size": "Gib die Chunk Size an", - "Enter Image Size (e.g. 512x512)": "Gib die Bildgröße an (z.B. 512x512)", - "Enter LiteLLM API Base URL (litellm_params.api_base)": "Gib die LiteLLM API BASE URL an (litellm_params.api_base)", - "Enter LiteLLM API Key (litellm_params.api_key)": "Gib den LiteLLM API Key an (litellm_params.api_key)", - "Enter LiteLLM API RPM (litellm_params.rpm)": "Gib die LiteLLM API RPM an (litellm_params.rpm)", - "Enter LiteLLM Model (litellm_params.model)": "Gib das LiteLLM Model an (litellm_params.model)", - "Enter Max Tokens (litellm_params.max_tokens)": "Gib die maximalen Token (litellm_params.max_tokens) an", - "Enter model tag (e.g. {{modelTag}})": "Gib den Model-Tag an", - "Enter Number of Steps (e.g. 50)": "Gib die Anzahl an Schritten an (z.B. 50)", + "Enter Chunk Overlap": "Gib den Chunk Overlap ein", + "Enter Chunk Size": "Gib die Chunk Size ein", + "Enter Image Size (e.g. 512x512)": "Gib die Bildgröße ein (z.B. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Gib die LiteLLM API BASE URL ein (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Gib den LiteLLM API Key ein (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Gib die LiteLLM API RPM ein (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Gib das LiteLLM Model ein (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Gib die maximalen Token ein (litellm_params.max_tokens) an", + "Enter model tag (e.g. {{modelTag}})": "Gib den Model-Tag ein", + "Enter Number of Steps (e.g. 50)": "Gib die Anzahl an Schritten ein (z.B. 50)", "Enter stop sequence": "Stop-Sequenz eingeben", - "Enter Top K": "Gib Top K an", - "Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL an (z.B. http://127.0.0.1:7860/)", - "Enter Your Email": "Geben Deine E-Mail-Adresse ein", - "Enter Your Full Name": "Gebe Deinen vollständigen Namen ein", - "Enter Your Password": "Gebe Dein Passwort ein", + "Enter Top K": "Gib Top K ein", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL ein (z.B. http://127.0.0.1:7860/)", + "Enter Your Email": "Gib deine E-Mail-Adresse ein", + "Enter Your Full Name": "Gib deinen vollständigen Namen ein", + "Enter Your Password": "Gib dein Passwort ein", "Experimental": "Experimentell", "Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)", "Export Chats": "Chats exportieren", @@ -148,10 +148,10 @@ "Export Modelfiles": "Modelfiles exportieren", "Export Prompts": "Prompts exportieren", "Failed to read clipboard contents": "Fehler beim Lesen des Zwischenablageninhalts", - "File Mode": "File Mode", + "File Mode": "File Modus", "File not found.": "Datei nicht gefunden.", "Focus chat input": "Chat-Eingabe fokussieren", - "Format your variables using square brackets like this:": "Formatiere Deine Variablen mit eckigen Klammern wie folgt:", + "Format your variables using square brackets like this:": "Formatiere deine Variablen mit eckigen Klammern wie folgt:", "From (Base Model)": "Von (Basismodell)", "Full Screen Mode": "Vollbildmodus", "General": "Allgemein", @@ -161,7 +161,7 @@ "Hide Additional Params": "Verstecke zusätzliche Parameter", "How can I help you today?": "Wie kann ich Dir heute helfen?", "Image Generation (Experimental)": "Bildgenerierung (experimentell)", - "Image Generation Engine": "Bildgenerierungssystem", + "Image Generation Engine": "Bildgenerierungs-Engine", "Image Settings": "Bildeinstellungen", "Images": "Bilder", "Import Chats": "Chats importieren", @@ -181,7 +181,7 @@ "Listening...": "Hören...", "LLMs can make mistakes. Verify important information.": "LLMs können Fehler machen. Überprüfe wichtige Informationen.", "Made by OpenWebUI Community": "Von der OpenWebUI-Community", - "Make sure to enclose them with": "Formatiere Deine Variablen mit:", + "Make sure to enclose them with": "Formatiere deine Variablen mit:", "Manage LiteLLM Models": "LiteLLM-Modelle verwalten", "Manage Models": "Modelle verwalten", "Manage Ollama Models": "Ollama-Modelle verwalten", @@ -263,7 +263,7 @@ "Save & Create": "Speichern und erstellen", "Save & Submit": "Speichern und senden", "Save & Update": "Speichern und aktualisieren", - "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chat-Protokollen im Browser-Speicher wird nicht mehr unterstützt. Bitte nimm Dir einen Moment Zeit, um Deine Chat-Protokolle herunterzuladen und zu löschen, indem Du auf die Schaltfläche unten klickst. Keine Sorge, Du kannst Deine Chat-Protokolle problemlos über das Backend wieder importieren.", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chat-Protokollen im Browser-Speicher wird nicht mehr unterstützt. Bitte nimm Dir einen Moment Zeit, um deine Chat-Protokolle herunterzuladen und zu löschen, indem Du auf die Schaltfläche unten klickst. Keine Sorge, Du kannst deine Chat-Protokolle problemlos über das Backend wieder importieren.", "Scan": "Scannen", "Scan complete!": "Scan abgeschlossen!", "Scan for documents from {{path}}": "Dokumente von {{path}} scannen", @@ -314,7 +314,7 @@ "Text-to-Speech Engine": "Text-zu-Sprache-Engine", "Tfs Z": "Tfs Z", "Theme": "Design", - "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dadurch werden Deine wertvollen Unterhaltungen sicher in der Backend-Datenbank gespeichert. Vielen Dank!", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dadurch werden deine wertvollen Unterhaltungen sicher in der Backend-Datenbank gespeichert. Vielen Dank!", "This setting does not sync across browsers or devices.": "Diese Einstellung wird nicht zwischen Browsern oder Geräten synchronisiert.", "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tipp: Aktualisiere mehrere Variablen nacheinander, indem du nach jeder Aktualisierung die Tabulatortaste im Chat-Eingabefeld drückst.", "Title": "Titel", @@ -338,7 +338,7 @@ "Upload files": "Dateien hochladen", "Upload Progress": "Upload Progress", "URL Mode": "URL Modus", - "Use '#' in the prompt input to load and select your documents.": "Verwende '#' in der Prompt-Eingabe, um Deine Dokumente zu laden und auszuwählen.", + "Use '#' in the prompt input to load and select your documents.": "Verwende '#' in der Prompt-Eingabe, um deine Dokumente zu laden und auszuwählen.", "Use Gravatar": "", "user": "Benutzer", "User Permissions": "Benutzerberechtigungen", @@ -353,7 +353,7 @@ "WebUI Settings": "WebUI-Einstellungen", "WebUI will make requests to": "Wenn aktiviert sendet WebUI externe Anfragen an", "What’s New in": "Was gibt's Neues in", - "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wenn die Historie ausgeschaltet ist, werden neue Chats nicht in Deiner Historie auf Deine Geräte angezeigt.", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wenn die Historie ausgeschaltet ist, werden neue Chats nicht in deiner Historie auf deine Geräte angezeigt.", "Whisper (Local)": "Whisper (Lokal)", "Write a prompt suggestion (e.g. Who are you?)": "Gebe einen Prompt-Vorschlag ein (z.B. Wer bist du?)", "Write a summary in 50 words that summarizes [topic or keyword].": "Schreibe eine kurze Zusammenfassung in 50 Wörtern, die [Thema oder Schlüsselwort] zusammenfasst.", From ec18489723305447291d62d61405999d1edcff4a Mon Sep 17 00:00:00 2001 From: Yanyutin753 <132346501+Yanyutin753@users.noreply.github.com> Date: Sun, 28 Apr 2024 19:48:33 +0800 Subject: [PATCH 009/107] =?UTF-8?q?=F0=9F=8E=96=EF=B8=8FAdded=20translatio?= =?UTF-8?q?ns=20for=20Playground=20and=20Archived=20Chats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/i18n/locales/bg-BG/translation.json | 1 + src/lib/i18n/locales/bn-BD/translation.json | 1 + src/lib/i18n/locales/ca-ES/translation.json | 1 + src/lib/i18n/locales/de-DE/translation.json | 3 ++- src/lib/i18n/locales/en-US/translation.json | 1 + src/lib/i18n/locales/es-ES/translation.json | 3 ++- src/lib/i18n/locales/fa-IR/translation.json | 1 + src/lib/i18n/locales/fr-CA/translation.json | 1 + src/lib/i18n/locales/fr-FR/translation.json | 1 + src/lib/i18n/locales/it-IT/translation.json | 3 ++- src/lib/i18n/locales/ja-JP/translation.json | 1 + src/lib/i18n/locales/ka-GE/translation.json | 1 + src/lib/i18n/locales/ko-KR/translation.json | 1 + src/lib/i18n/locales/nl-NL/translation.json | 1 + src/lib/i18n/locales/pt-BR/translation.json | 3 ++- src/lib/i18n/locales/pt-PT/translation.json | 3 ++- src/lib/i18n/locales/ru-RU/translation.json | 1 + src/lib/i18n/locales/tr-TR/translation.json | 1 + src/lib/i18n/locales/uk-UA/translation.json | 1 + src/lib/i18n/locales/vi-VN/translation.json | 1 + src/lib/i18n/locales/zh-CN/translation.json | 3 ++- src/lib/i18n/locales/zh-TW/translation.json | 1 + 22 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index f463816e..1ad36f96 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -239,6 +239,7 @@ "pending": "в очакване", "Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}", "Playground": "Плейграунд", + "Archived Chats": "Архив истории чата", "Profile": "Профил", "Prompt Content": "Съдържание на промпта", "Prompt suggestions": "Промпт предложения", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 5b3d20d1..3aa8919d 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -245,6 +245,7 @@ "pending": "অপেক্ষমান", "Permission denied when accessing microphone: {{error}}": "মাইক্রোফোন ব্যবহারের অনুমতি পাওয়া যায়নি: {{error}}", "Playground": "খেলাঘর", + "Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার", "Profile": "প্রোফাইল", "Prompt Content": "প্রম্পট কন্টেন্ট", "Prompt suggestions": "প্রম্পট সাজেশনসমূহ", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 9cc6f51c..f184575e 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -239,6 +239,7 @@ "pending": "pendent", "Permission denied when accessing microphone: {{error}}": "Permís denegat en accedir al micròfon: {{error}}", "Playground": "Zona de Jocs", + "Archived Chats": "Arxiu d'historial de xat", "Profile": "Perfil", "Prompt Content": "Contingut del Prompt", "Prompt suggestions": "Suggeriments de Prompt", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 940e7b59..b3d66fd6 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -238,7 +238,8 @@ "PDF Extract Images (OCR)": "Text von Bilder aus PDFs extrahieren (OCR)", "pending": "ausstehend", "Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}", - "Playground": "Playground", + "Playground": "Spielplatz", + "Archived Chats": "Archivierte Chats", "Profile": "Profil", "Prompt Content": "Prompt-Inhalt", "Prompt suggestions": "Prompt-Vorschläge", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index fdfe804b..8d6b0f3c 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -245,6 +245,7 @@ "pending": "", "Permission denied when accessing microphone: {{error}}": "", "Playground": "", + "Archived Chats": "", "Profile": "", "Prompt Content": "", "Prompt suggestions": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 4c26041b..c9d9c81a 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -244,7 +244,8 @@ "PDF Extract Images (OCR)": "Extraer imágenes de PDF (OCR)", "pending": "pendiente", "Permission denied when accessing microphone: {{error}}": "Permiso denegado al acceder al micrófono: {{error}}", - "Playground": "Playground", + "Playground": "Patio de juegos", + "Archived Chats": "Chats archivados", "Profile": "Perfil", "Prompt Content": "Contenido del Prompt", "Prompt suggestions": "Sugerencias de Prompts", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 94e3d7f3..dda697f3 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -239,6 +239,7 @@ "pending": "در انتظار", "Permission denied when accessing microphone: {{error}}": "هنگام دسترسی به میکروفون، اجازه داده نشد: {{error}}", "Playground": "زمین بازی", + "Archived Chats": "آرشیو تاریخچه چت", "Profile": "پروفایل", "Prompt Content": "محتویات پرامپت", "Prompt suggestions": "پیشنهادات پرامپت", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index c47dee07..46dc56e3 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -239,6 +239,7 @@ "pending": "en attente", "Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}", "Playground": "Aire de jeu", + "Archived Chats": "enregistrement du chat", "Profile": "Profil", "Prompt Content": "Contenu du prompt", "Prompt suggestions": "Suggestions de prompt", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 6fe21b3c..19fbd1a8 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -239,6 +239,7 @@ "pending": "en attente", "Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}", "Playground": "Aire de jeu", + "Archived Chats": "enregistrement du chat", "Profile": "Profil", "Prompt Content": "Contenu du prompt", "Prompt suggestions": "Suggestions de prompt", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index c565bf93..6fddce49 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -238,7 +238,8 @@ "PDF Extract Images (OCR)": "Estrazione immagini PDF (OCR)", "pending": "in sospeso", "Permission denied when accessing microphone: {{error}}": "Autorizzazione negata durante l'accesso al microfono: {{error}}", - "Playground": "Playground", + "Playground": "Terreno di gioco", + "Archived Chats": "Chat archiviate", "Profile": "Profilo", "Prompt Content": "Contenuto del prompt", "Prompt suggestions": "Suggerimenti prompt", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 58fe45b0..14a9c8c6 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -239,6 +239,7 @@ "pending": "保留中", "Permission denied when accessing microphone: {{error}}": "マイクへのアクセス時に権限が拒否されました: {{error}}", "Playground": "プレイグラウンド", + "Archived Chats": "チャット記録", "Profile": "プロフィール", "Prompt Content": "プロンプトの内容", "Prompt suggestions": "プロンプトの提案", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 827d4edc..c0548cc1 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -244,6 +244,7 @@ "pending": "ლოდინის რეჟიმშია", "Permission denied when accessing microphone: {{error}}": "ნებართვა უარყოფილია მიკროფონზე წვდომისას: {{error}}", "Playground": "სათამაშო მოედანი", + "Archived Chats": "ჩატის ისტორიის არქივი", "Profile": "პროფილი", "Prompt Content": "მოთხოვნის შინაარსი", "Prompt suggestions": "მოთხოვნის რჩევები", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index ea3c6e56..643fd2e5 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -238,6 +238,7 @@ "pending": "보류 중", "Permission denied when accessing microphone: {{error}}": "마이크 액세스가 거부되었습니다: {{error}}", "Playground": "놀이터", + "Archived Chats": "채팅 기록 아카이브", "Profile": "프로필", "Prompt Content": "프롬프트 내용", "Prompt suggestions": "프롬프트 제안", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 881ef59f..8f9bca9f 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -239,6 +239,7 @@ "pending": "wachtend", "Permission denied when accessing microphone: {{error}}": "Toestemming geweigerd bij toegang tot microfoon: {{error}}", "Playground": "Speeltuin", + "Archived Chats": "chatrecord", "Profile": "Profiel", "Prompt Content": "Prompt Inhoud", "Prompt suggestions": "Prompt suggesties", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 55a1d865..82389b64 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -238,7 +238,8 @@ "PDF Extract Images (OCR)": "Extrair Imagens de PDF (OCR)", "pending": "pendente", "Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}", - "Playground": "Playground", + "Playground": "Parque infantil", + "Archived Chats": "Bate-papos arquivados", "Profile": "Perfil", "Prompt Content": "Conteúdo do Prompt", "Prompt suggestions": "Sugestões de Prompt", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 48f15a4e..a3c44c8e 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -238,7 +238,8 @@ "PDF Extract Images (OCR)": "Extrair Imagens de PDF (OCR)", "pending": "pendente", "Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}", - "Playground": "Playground", + "Playground": "Parque infantil", + "Archived Chats": "Bate-papos arquivados", "Profile": "Perfil", "Prompt Content": "Conteúdo do Prompt", "Prompt suggestions": "Sugestões de Prompt", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 431d5376..04f98fe2 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -239,6 +239,7 @@ "pending": "ожидание", "Permission denied when accessing microphone: {{error}}": "Отказано в доступе к микрофону: {{error}}", "Playground": "Площадка", + "Archived Chats": "запис на чат", "Profile": "Профиль", "Prompt Content": "Содержание промпта", "Prompt suggestions": "Предложения промптов", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 58fb5e74..0458ab92 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -245,6 +245,7 @@ "pending": "beklemede", "Permission denied when accessing microphone: {{error}}": "Mikrofona erişim izni reddedildi: {{error}}", "Playground": "Oyun Alanı", + "Archived Chats": "sohbet kaydı", "Profile": "Profil", "Prompt Content": "Prompt İçeriği", "Prompt suggestions": "Prompt önerileri", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 9e891f74..10fa8a66 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -239,6 +239,7 @@ "pending": "на розгляді", "Permission denied when accessing microphone: {{error}}": "Доступ до мікрофона заборонено: {{error}}", "Playground": "Майданчик", + "Archived Chats": "запис чату", "Profile": "Профіль", "Prompt Content": "Зміст промту", "Prompt suggestions": "Швидкі промти", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index e3fbbdc7..9c199140 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -239,6 +239,7 @@ "pending": "đang chờ phê duyệt", "Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}", "Playground": "Thử nghiệm (Playground)", + "Archived Chats": "bản ghi trò chuyện", "Profile": "Hồ sơ", "Prompt Content": "Nội dung prompt", "Prompt suggestions": "Gợi ý prompt", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index df82d9f7..a79f51ce 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -238,7 +238,8 @@ "PDF Extract Images (OCR)": "PDF图像处理(使用OCR)", "pending": "待定", "Permission denied when accessing microphone: {{error}}": "访问麦克风时权限被拒绝:{{error}}", - "Playground": "Playground", + "Playground": "AI 对话游乐场", + "Archived Chats": "聊天记录存档", "Profile": "个人资料", "Prompt Content": "提示词内容", "Prompt suggestions": "提示词建议", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 1dde0fed..13ee51a6 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -240,6 +240,7 @@ "pending": "待審查", "Permission denied when accessing microphone: {{error}}": "存取麥克風時被拒絕權限: {{error}}", "Playground": "AI 對話遊樂場", + "Archived Chats": "聊天記錄存檔", "Profile": "個人資料", "Prompt Content": "提示詞內容", "Prompt suggestions": "提示詞建議", From 19843e39fd679fbf609713e614e41e5b7a63f7c3 Mon Sep 17 00:00:00 2001 From: Jannik Streidl Date: Sun, 28 Apr 2024 14:39:06 +0200 Subject: [PATCH 010/107] Added more german translations + added more i18n keys --- .../components/admin/UserChatsModal.svelte | 6 +-- .../chat/Messages/ResponseMessage.svelte | 16 +++---- .../chat/Messages/UserMessage.svelte | 6 +-- src/lib/components/chat/ModelSelector.svelte | 2 +- .../chat/ModelSelector/Selector.svelte | 2 +- src/lib/components/common/Tags.svelte | 5 +- src/lib/components/layout/Navbar.svelte | 4 +- src/lib/components/layout/Navbar/Menu.svelte | 13 ++++-- src/lib/components/layout/Sidebar.svelte | 2 +- .../components/layout/Sidebar/ChatMenu.svelte | 5 +- src/lib/i18n/locales/de-DE/translation.json | 46 +++++++++++++++---- src/routes/(app)/admin/+page.svelte | 4 +- src/routes/s/[id]/+page.svelte | 2 +- 13 files changed, 74 insertions(+), 39 deletions(-) diff --git a/src/lib/components/admin/UserChatsModal.svelte b/src/lib/components/admin/UserChatsModal.svelte index 9b1cacb3..34998834 100644 --- a/src/lib/components/admin/UserChatsModal.svelte +++ b/src/lib/components/admin/UserChatsModal.svelte @@ -70,7 +70,7 @@ > {$i18n.t('Name')} - {$i18n.t('Created At')} + {$i18n.t('Created at')} @@ -96,7 +96,7 @@
- +
{:else} -
{user.name} has no conversations.
+
{user.name} {$i18n.t('has no conversations.')}
{/if}
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 23397603..35ac3f8e 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -492,7 +492,7 @@ {/if} {#if !readOnly} - + {/each} + + + diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 2da91c50..534f4896 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -22,6 +22,8 @@ export let continueGeneration: Function; export let regenerateResponse: Function; + export let prompt; + export let suggestionPrompts; export let processing = ''; export let bottomPadding = false; export let autoScroll; @@ -276,7 +278,22 @@ {#if messages.length == 0} - + { + const chatTextAreaElement = document.getElementById('chat-textarea'); + if (chatTextAreaElement) { + prompt = p; + + await tick(); + + chatTextAreaElement.style.height = ''; + chatTextAreaElement.style.height = Math.min(chatTextAreaElement.scrollHeight, 200) + 'px'; + } + }} + /> {:else}
{#key chatId} diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index d9e04972..12392c82 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -2,12 +2,16 @@ import { WEBUI_BASE_URL } from '$lib/constants'; import { user } from '$lib/stores'; import { onMount, getContext } from 'svelte'; + import Suggestions from '../MessageInput/Suggestions.svelte'; const i18n = getContext('i18n'); export let models = []; export let modelfiles = []; + export let submitPrompt; + export let suggestionPrompts; + let modelfile = null; let selectedModelIdx = 0; @@ -20,56 +24,68 @@ {#if models.length > 0} -
-
-
- {#each models as model, modelIdx} - - {/each} -
-
-
- {#if modelfile} - - {modelfile.title} - -
- {modelfile.desc} -
- {#if modelfile.user} -
- By {modelfile.user.name ? modelfile.user.name : `@${modelfile.user.username}`} +
+
+
+ {#each models as model, modelIdx} +
- {/if} - {:else} -
{$i18n.t('Hello, {{name}}', { name: $user.name })}
+ {#if model in modelfiles} + modelfile + {:else} + logo + {/if} + + {/each} +
+
+
+
+ {#if modelfile} + + {modelfile.title} + +
+ {modelfile.desc} +
+ {#if modelfile.user} + + {/if} + {:else} +
{$i18n.t('Hello, {{name}}', { name: $user.name })}
-
{$i18n.t('How can I help you today?')}
- {/if} +
+ {$i18n.t('How can I help you today?')} +
+ {/if} +
+
+ +
+ +
{/if} diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index e572f82f..b5ff1ccf 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -867,7 +867,10 @@ bind:history bind:messages bind:autoScroll + bind:prompt bottomPadding={files.length > 0} + suggestionPrompts={selectedModelfile?.suggestionPrompts ?? + $config.default_prompt_suggestions} {sendPrompt} {continueGeneration} {regenerateResponse} @@ -875,14 +878,6 @@
- + From 35437fb3a3a067209bce64d70dbfaaddc94a9ab9 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 14:58:11 -0700 Subject: [PATCH 044/107] refac: styling --- src/lib/components/chat/Messages/Placeholder.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index 12392c82..9f58660f 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -56,7 +56,7 @@
{#if modelfile} From 27ff3861154c0c95cf8cbc448b99cca105dc2c82 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:08:34 -0700 Subject: [PATCH 045/107] fix: horizontal scroll issue on mobile #1854 --- .../chat/MessageInput/Suggestions.svelte | 8 +++--- src/lib/components/layout/Sidebar.svelte | 27 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index dd37cc63..e68caafa 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -4,10 +4,10 @@ let prompts = []; - $: prompts = - suggestionPrompts.length <= 4 - ? suggestionPrompts - : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4); + $: prompts = suggestionPrompts; + // suggestionPrompts.length <= 4 + // ? suggestionPrompts + // : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4);
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 6764e1a1..5be325f8 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -53,28 +53,29 @@ show = window.innerWidth > BREAKPOINT; await chats.set(await getChatList(localStorage.token)); - let touchstartX = 0; - let touchendX = 0; + let touchstart; + let touchend; function checkDirection() { const screenWidth = window.innerWidth; - const swipeDistance = Math.abs(touchendX - touchstartX); - if (swipeDistance >= screenWidth / 4) { - if (touchendX < touchstartX) { + const swipeDistance = Math.abs(touchend.screenX - touchstart.screenX); + if (touchstart.clientX < 40 && swipeDistance >= screenWidth / 4) { + if (touchend.screenX < touchstart.screenX) { show = false; } - if (touchendX > touchstartX) { + if (touchend.screenX > touchstart.screenX) { show = true; } } } const onTouchStart = (e) => { - touchstartX = e.changedTouches[0].screenX; + touchstart = e.changedTouches[0]; + console.log(touchstart.clientX); }; const onTouchEnd = (e) => { - touchendX = e.changedTouches[0].screenX; + touchend = e.changedTouches[0]; checkDirection(); }; @@ -84,14 +85,14 @@ } }; - document.addEventListener('touchstart', onTouchStart); - document.addEventListener('touchend', onTouchEnd); + window.addEventListener('touchstart', onTouchStart); + window.addEventListener('touchend', onTouchEnd); window.addEventListener('resize', onResize); return () => { - document.removeEventListener('touchstart', onTouchStart); - document.removeEventListener('touchend', onTouchEnd); - document.removeEventListener('resize', onResize); + window.removeEventListener('touchstart', onTouchStart); + window.removeEventListener('touchend', onTouchEnd); + window.removeEventListener('resize', onResize); }; }); From 01c077da3d5eded83a20a21e8643eaafc6edeae5 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:10:39 -0700 Subject: [PATCH 046/107] refac --- src/lib/components/chat/Messages.svelte | 2 +- .../chat/Messages/ResponseMessage.svelte | 30 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 534f4896..26291e11 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -295,7 +295,7 @@ }} /> {:else} -
+
{#key chatId} {#each messages as message, messageIdx}
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 0a557b36..5cce7b77 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -137,20 +137,22 @@ .getElementById(`message-${message.id}`) ?.getElementsByClassName('chat-assistant'); - for (const element of chatMessageElements) { - auto_render(element, { - // customised options - // • auto-render specific keys, e.g.: - delimiters: [ - { left: '$$', right: '$$', display: false }, - { left: '$ ', right: ' $', display: false }, - { left: '\\(', right: '\\)', display: false }, - { left: '\\[', right: '\\]', display: false }, - { left: '[ ', right: ' ]', display: false } - ], - // • rendering keys, e.g.: - throwOnError: false - }); + if (chatMessageElements) { + for (const element of chatMessageElements) { + auto_render(element, { + // customised options + // • auto-render specific keys, e.g.: + delimiters: [ + { left: '$$', right: '$$', display: false }, + { left: '$ ', right: ' $', display: false }, + { left: '\\(', right: '\\)', display: false }, + { left: '\\[', right: '\\]', display: false }, + { left: '[ ', right: ' ]', display: false } + ], + // • rendering keys, e.g.: + throwOnError: false + }); + } } }; From f653944849ea43d1aff80001e6e88830d4e75926 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:11:17 -0700 Subject: [PATCH 047/107] refac: snap-center removed --- src/lib/components/chat/MessageInput/Suggestions.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index e68caafa..18419e92 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -13,7 +13,7 @@
{#each prompts as prompt, promptIdx} -
+
- {/each} -
-
-
-
- {#if modelfile} - - {modelfile.title} - -
- {modelfile.desc} -
- {#if modelfile.user} - +
+
+
+ {#each models as model, modelIdx} + + {/each} +
+
+
+
+ {#if modelfile} + + {modelfile.title} + +
+ {modelfile.desc} +
+ {#if modelfile.user} + {/if} -
-
+ {:else} +
{$i18n.t('Hello, {{name}}', { name: $user.name })}
-
- +
+ {$i18n.t('How can I help you today?')} +
+ {/if}
+ +
+ +
{/if} From 3c9fc7858bcf2c317976f11c76587633b7485342 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:34:29 -0700 Subject: [PATCH 053/107] fix: styling --- src/lib/components/chat/MessageInput.svelte | 953 ++++++++++---------- src/lib/components/chat/Messages.svelte | 2 +- src/lib/components/layout/Sidebar.svelte | 33 +- src/lib/stores/index.ts | 2 + src/routes/(app)/+page.svelte | 3 +- src/routes/(app)/c/[id]/+page.svelte | 21 +- 6 files changed, 507 insertions(+), 507 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 99d9a39f..30380e94 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1,7 +1,7 @@
@@ -297,10 +260,10 @@ }} /> {:else} -
+
{#key chatId} {#each messages as message, messageIdx} -
+
+
{/if} {/key}
diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte index c5290547..18ee9f54 100644 --- a/src/lib/components/chat/Messages/CodeBlock.svelte +++ b/src/lib/components/chat/Messages/CodeBlock.svelte @@ -31,7 +31,9 @@ >
-
{@html highlightedCode || code}
From d513629984a8765927f017fdb8663b919b4d7768 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:55:32 -0700 Subject: [PATCH 055/107] fix: styling --- src/lib/components/layout/Sidebar.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index d7819461..b20b239d 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -417,7 +417,7 @@
{/if} -
+
{#each $chats.filter((chat) => { if (search === '') { return true; @@ -831,3 +831,14 @@
+ + From a01fd1581241127d1b1b423c69de0f7d7f635b4c Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:58:07 -0700 Subject: [PATCH 056/107] refac: sidebar styling --- src/lib/components/layout/Sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index b20b239d..ab4e1044 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -165,7 +165,7 @@ id="sidebar" class="h-screen max-h-[100dvh] min-h-screen {$showSidebar ? 'lg:relative w-[260px]' - : '-translate-x-[260px] w-[0px]'} bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm transition fixed z-50 top-0 left-0 + : '-translate-x-[260px] w-[0px]'} bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm transition fixed z-50 top-0 left-0 rounded-r-2xl " data-state={$showSidebar} > From 44884a888691129ab013fa534b4df6462a38ebe2 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 17:07:03 -0700 Subject: [PATCH 057/107] feat: randomised suggestion --- src/lib/components/chat/MessageInput/Suggestions.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index cbc3a7e5..fc8038c4 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -4,7 +4,9 @@ let prompts = []; - $: prompts = suggestionPrompts; + $: prompts = suggestionPrompts + .reduce((acc, current) => [...acc, ...[current]], []) + .sort(() => Math.random() - 0.5); // suggestionPrompts.length <= 4 // ? suggestionPrompts // : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4); From 1e05caf809dca2035b0db683f8d30e2b8ed1509c Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 17:10:12 -0700 Subject: [PATCH 058/107] fix: response profile image --- src/lib/components/chat/Messages/ResponseMessage.svelte | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 5cce7b77..4d87f929 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -327,9 +327,8 @@ {#key message.id}
From c580d29a5daf18d8309358eb80aea7eb6966fa98 Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:30:16 +0200 Subject: [PATCH 059/107] Create translation.json for sv-SE Translation to Swedish --- src/lib/i18n/locales/sv-SE/translation.json | 373 ++++++++++++++++++++ 1 file changed, 373 insertions(+) create mode 100644 src/lib/i18n/locales/sv-SE/translation.json diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json new file mode 100644 index 00000000..aa31c568 --- /dev/null +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -0,0 +1,373 @@ +{ + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", + "(Beta)": "(Beta)", + "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", + "(latest)": "(senaste)", + "{{modelName}} is thinking...": "{{modelName}} tänker...", + "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", + "a user": "en användare", + "About": "Om", + "Account": "Konto", + "Action": "Åtgärd", + "Add a model": "Lägg till en modell", + "Add a model tag name": "Lägg till ett modellnamn", + "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", + "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", + "Add a tag": "Lägg till en tagg", + "Add Docs": "Lägg till dokument", + "Add Files": "Lägg till filer", + "Add message": "Lägg till meddelande", + "add tags": "lägg till taggar", + "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", + "admin": "administratör", + "Admin Panel": "Administrationspanel", + "Admin Settings": "Administratörsinställningar", + "Advanced Parameters": "Avancerade parametrar", + "all": "alla", + "All Users": "Alla användare", + "Allow": "Tillåt", + "Allow Chat Deletion": "Tillåt chattborttagning", + "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", + "Already have an account?": "Har du redan ett konto?", + "an assistant": "en assistent", + "and": "och", + "API Base URL": "API-bas-URL", + "API Key": "API-nyckel", + "API RPM": "API RPM", + "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", + "Are you sure?": "Är du säker?", + "Audio": "Ljud", + "Auto-playback response": "Automatisk uppspelning", + "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", + "available!": "tillgänglig!", + "Back": "Tillbaka", + "Builder Mode": "Byggarläge", + "Cancel": "Avbryt", + "Categories": "Kategorier", + "Change Password": "Ändra lösenord", + "Chat": "Chatt", + "Chat History": "Chatthistorik", + "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", + "Chats": "Chattar", + "Check Again": "Kontrollera igen", + "Check for updates": "Sök efter uppdateringar", + "Checking for updates...": "Söker efter uppdateringar...", + "Choose a model before saving...": "Välj en modell innan du sparar...", + "Chunk Overlap": "Överlappning", + "Chunk Params": "Chunk-parametrar", + "Chunk Size": "Chunk-storlek", + "Click here for help.": "Klicka här för hjälp.", + "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", + "Click here to select": "Klicka här för att välja", + "Click here to select documents.": "Klicka här för att välja dokument.", + "click here.": "klicka här.", + "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", + "Close": "Stäng", + "Collection": "Samling", + "Command": "Kommando", + "Confirm Password": "Bekräfta lösenord", + "Connections": "Anslutningar", + "Content": "Innehåll", + "Context Length": "Kontextlängd", + "Conversation Mode": "Samtalsläge", + "Copy last code block": "Kopiera sista kodblock", + "Copy last response": "Kopiera sista svar", + "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", + "Create a modelfile": "Skapa en modelfil", + "Create Account": "Skapa konto", + "Created at": "Skapad kl", + "Created by": "Skapad av", + "Current Model": "Aktuell modell", + "Current Password": "Nuvarande lösenord", + "Custom": "Anpassad", + "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", + "Dark": "Mörk", + "Database": "Databas", + "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", + "Default": "Standard", + "Default (Automatic1111)": "Standard (Automatic1111)", + "Default (Web API)": "Standard (Web API)", + "Default model updated": "Standardmodell uppdaterad", + "Default Prompt Suggestions": "Standardpromptförslag", + "Default User Role": "Standardanvändarroll", + "delete": "radera", + "Delete a model": "Ta bort en modell", + "Delete chat": "Radera chatt", + "Delete Chats": "Radera chattar", + "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", + "Deleted {tagName}": "Raderad {tagName}", + "Description": "Beskrivning", + "Notifications": "Notifikationer", + "Disabled": "Inaktiverad", + "Discover a modelfile": "Upptäck en modelfil", + "Discover a prompt": "Upptäck en prompt", + "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", + "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", + "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", + "Document": "Dokument", + "Document Settings": "Dokumentinställningar", + "Documents": "Dokument", + "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", + "Don't Allow": "Tillåt inte", + "Don't have an account?": "Har du inte ett konto?", + "Download as a File": "Ladda ner som en fil", + "Download Database": "Ladda ner databas", + "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", + "Edit Doc": "Redigera dokument", + "Edit User": "Redigera användare", + "Email": "E-post", + "Embedding model: {{embedding_model}}": "Inbäddningsmodell: {{embedding_model}}", + "Enable Chat History": "Aktivera chatthistorik", + "Enable New Sign Ups": "Aktivera nya registreringar", + "Enabled": "Aktiverad", + "Enter {{role}} message here": "Skriv {{role}} meddelande här", + "Enter API Key": "Ange API-nyckel", + "Enter Chunk Overlap": "Ange Chunk-överlappning", + "Enter Chunk Size": "Ange Chunk-storlek", + "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", + "Enter stop sequence": "Ange stoppsekvens", + "Enter Top K": "Ange Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", + "Enter Your Email": "Ange din e-post", + "Enter Your Full Name": "Ange ditt fullständiga namn", + "Enter Your Password": "Ange ditt lösenord", + "Experimental": "Experimentell", + "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", + "Export Chats": "Exportera chattar", + "Export Documents Mapping": "Exportera dokumentmappning", + "Export Modelfiles": "Exportera modelfiler", + "Export Prompts": "Exportera prompts", + "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", + "File Mode": "Fil-läge", + "File not found.": "Fil hittades inte.", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", + "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", + "Focus chat input": "Fokusera chattindata", + "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", + "From (Base Model)": "Från (basmodell)", + "Full Screen Mode": "Helskärmsläge", + "General": "Allmän", + "General Settings": "Allmänna inställningar", + "Hello, {{name}}": "Hej, {{name}}", + "Hide": "Dölj", + "Hide Additional Params": "Dölj ytterligare parametrar", + "How can I help you today?": "Hur kan jag hjälpa dig idag?", + "Image Generation (Experimental)": "Bildgenerering (experimentell)", + "Image Generation Engine": "Bildgenereringsmotor", + "Image Settings": "Bildinställningar", + "Images": "Bilder", + "Import Chats": "Importera chattar", + "Import Documents Mapping": "Importera dokumentmappning", + "Import Modelfiles": "Importera modelfiler", + "Import Prompts": "Importera prompts", + "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", + "Interface": "Gränssnitt", + "join our Discord for help.": "gå med i vår Discord för hjälp.", + "JSON": "JSON", + "JWT Expiration": "JWT-utgång", + "JWT Token": "JWT-token", + "Keep Alive": "Håll vid liv", + "Keyboard shortcuts": "Tangentbordsgenvägar", + "Language": "Språk", + "Light": "Ljus", + "Listening...": "Lyssnar...", + "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", + "Made by OpenWebUI Community": "Tillverkad av OpenWebUI Community", + "Make sure to enclose them with": "Se till att bifoga dem med", + "Manage LiteLLM Models": "Hantera LiteLLM-modeller", + "Manage Models": "Hantera modeller", + "Manage Ollama Models": "Hantera Ollama-modeller", + "Max Tokens": "Max antal tokens", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", + "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", + "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", + "Model {{embedding_model}} update complete!": "Modelluppdateringen {{embedding_model}} är klar!", + "Model {{embedding_model}} update failed or not required!": "Modelluppdateringen {{embedding_model}} misslyckades eller krävs inte!", + "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", + "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", + "Model Name": "Modellnamn", + "Model not selected": "Modell inte vald", + "Model Tag Name": "Modelltaggnamn", + "Model Whitelisting": "Modellens vitlista", + "Model(s) Whitelisted": "Modell(er) vitlistade", + "Modelfile": "Modelfil", + "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", + "Modelfile Content": "Modelfilens innehåll", + "Modelfiles": "Modelfiler", + "Models": "Modeller", + "My Documents": "Mina dokument", + "My Modelfiles": "Mina modelfiler", + "My Prompts": "Mina prompts", + "Name": "Namn", + "Name Tag": "Namnskylt", + "Name your modelfile": "Namnge din modelfil", + "New Chat": "Ny chatt", + "New Password": "Nytt lösenord", + "Not sure what to add?": "Inte säker på vad du ska lägga till?", + "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", + "Off": "Av", + "Okay, Let's Go!": "Okej, nu kör vi!", + "Ollama Base URL": "Ollama bas-URL", + "Ollama Version": "Ollama-version", + "On": "På", + "Only": "Endast", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", + "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", + "Open": "Öppna", + "Open AI": "Öppna AI", + "Open AI (Dall-E)": "Öppna AI (Dall-E)", + "Open new chat": "Öppna ny chatt", + "OpenAI API": "OpenAI API", + "OpenAI API Key": "OpenAI API-nyckel", + "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", + "or": "eller", + "Parameters": "Parametrar", + "Password": "Lösenord", + "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", + "pending": "väntande", + "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", + "Playground": "Lekplats", + "Profile": "Profil", + "Prompt Content": "Promptinnehåll", + "Prompt suggestions": "Förslag", + "Prompts": "Prompts", + "Pull a model from Ollama.com": "Dra en modell från Ollama.com", + "Pull Progress": "Dra framsteg", + "Query Params": "Frågeparametrar", + "RAG Template": "RAG-mall", + "Raw Format": "Råformat", + "Record voice": "Spela in röst", + "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", + "Release Notes": "Versionsinformation", + "Repeat Last N": "Upprepa senaste N", + "Repeat Penalty": "Upprepa straff", + "Request Mode": "Begär läge", + "Reset Vector Storage": "Återställ vektorlager", + "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", + "Role": "Roll", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "Spara", + "Save & Create": "Spara och skapa", + "Save & Submit": "Spara och skicka", + "Save & Update": "Spara och uppdatera", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", + "Scan": "Skanna", + "Scan complete!": "Skanning klar!", + "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", + "Search": "Sök", + "Search Documents": "Sök dokument", + "Search Prompts": "Sök promptar", + "See readme.md for instructions": "Se readme.md för instruktioner", + "See what's new": "Se vad som är nytt", + "Seed": "Seed", + "Select a mode": "Välj ett läge", + "Select a model": "Välj en modell", + "Select an Ollama instance": "Välj en Ollama-instans", + "Send a Message": "Skicka ett meddelande", + "Send message": "Skicka meddelande", + "Server connection verified": "Serveranslutning verifierad", + "Set as default": "Ange som standard", + "Set Default Model": "Ange standardmodell", + "Set Image Size": "Ange bildstorlek", + "Set Steps": "Ange steg", + "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", + "Set Voice": "Ange röst", + "Settings": "Inställningar", + "Settings saved successfully!": "Inställningar sparades framgångsrikt!", + "Share to OpenWebUI Community": "Dela till OpenWebUI Community", + "short-summary": "kort sammanfattning", + "Show": "Visa", + "Show Additional Params": "Visa ytterligare parametrar", + "Show shortcuts": "Visa genvägar", + "sidebar": "sidofält", + "Sign in": "Logga in", + "Sign Out": "Logga ut", + "Sign up": "Registrera dig", + "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", + "Speech-to-Text Engine": "Tal-till-text-motor", + "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", + "Stop Sequence": "Stoppsekvens", + "STT Settings": "STT-inställningar", + "Submit": "Skicka in", + "Success": "Framgång", + "Successfully updated.": "Uppdaterades framgångsrikt.", + "Sync All": "Synkronisera allt", + "System": "System", + "System Prompt": "Systemprompt", + "Tags": "Taggar", + "Temperature": "Temperatur", + "Template": "Mall", + "Text Completion": "Textslutförande", + "Text-to-Speech Engine": "Text-till-tal-motor", + "Tfs Z": "Tfs Z", + "Theme": "Tema", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", + "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", + "Title": "Titel", + "Title Auto-Generation": "Automatisk generering av titel", + "Title Generation Prompt": "Titelgenereringsprompt", + "to": "till", + "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", + "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", + "to chat input.": "till chattinmatning.", + "Toggle settings": "Växla inställningar", + "Toggle sidebar": "Växla sidofält", + "Top K": "Topp K", + "Top P": "Topp P", + "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", + "TTS Settings": "TTS-inställningar", + "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", + "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", + "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Förstå att uppdatering eller ändring av din inbäddningsmodell kräver återställning av vektordatabasen och återimport av alla dokument. Du har blivit varnad!", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", + "Update": "Uppdatera", + "Update embedding model {{embedding_model}}": "Uppdatera inbäddningsmodell {{embedding_model}}", + "Update password": "Uppdatera lösenord", + "Upload a GGUF model": "Ladda upp en GGUF-modell", + "Upload files": "Ladda upp filer", + "Upload Progress": "Uppladdningsförlopp", + "URL Mode": "URL-läge", + "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", + "Use Gravatar": "Använd Gravatar", + "Use Initials": "Använd initialer", + "user": "användare", + "User Permissions": "Användarbehörigheter", + "Users": "Användare", + "Utilize": "Använd", + "Valid time units:": "Giltiga tidsenheter:", + "variable": "variabel", + "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", + "Version": "Version", + "Web": "Webb", + "WebUI Add-ons": "WebUI-tillägg", + "WebUI Settings": "WebUI-inställningar", + "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", + "What’s New in": "Vad är nytt i", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", + "Whisper (Local)": "Whisper (lokal)", + "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", + "You": "Du", + "You're a helpful assistant.": "Du är en hjälpsam assistent.", + "You're now logged in.": "Du är nu inloggad." +} From 20be93217bba00218b69f5c5b8d645b10e732e8b Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:35:17 +0200 Subject: [PATCH 060/107] Update languages.json to add sv-SE Swedish translation --- src/lib/i18n/locales/languages.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 515f05e1..14b7e9df 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -95,4 +95,8 @@ "code": "zh-TW", "title": "Chinese (Traditional)" } + { + "code": "sv-SE", + "title": "Swedish" + } ] From 34be6de4d8c51b7abb6e146b4e4df4824ac34e20 Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:43:12 +0200 Subject: [PATCH 061/107] Update translation.json sv-SE Minor changes to Swedish translations --- src/lib/i18n/locales/sv-SE/translation.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index aa31c568..93e7eeb6 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -78,7 +78,7 @@ "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", "Create a modelfile": "Skapa en modelfil", "Create Account": "Skapa konto", - "Created at": "Skapad kl", + "Created at": "Skapad", "Created by": "Skapad av", "Current Model": "Aktuell modell", "Current Password": "Nuvarande lösenord", @@ -183,7 +183,7 @@ "Light": "Ljus", "Listening...": "Lyssnar...", "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", - "Made by OpenWebUI Community": "Tillverkad av OpenWebUI Community", + "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", "Make sure to enclose them with": "Se till att bifoga dem med", "Manage LiteLLM Models": "Hantera LiteLLM-modeller", "Manage Models": "Hantera modeller", @@ -213,9 +213,9 @@ "Models": "Modeller", "My Documents": "Mina dokument", "My Modelfiles": "Mina modelfiler", - "My Prompts": "Mina prompts", + "My Prompts": "Mina promptar", "Name": "Namn", - "Name Tag": "Namnskylt", + "Name Tag": "Namntag", "Name your modelfile": "Namnge din modelfil", "New Chat": "Ny chatt", "New Password": "Nytt lösenord", From e626fb2dbfb6abf29d97b234f34538c2ee7f488e Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 20:42:50 +0200 Subject: [PATCH 062/107] Update languages.json Moved sv-SE to correct position alphabetically --- src/lib/i18n/locales/languages.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 14b7e9df..c8492174 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -75,6 +75,10 @@ "code": "ru-RU", "title": "Russian (Russia)" }, + { + "code": "sv-SE", + "title": "Swedish" + }, { "code": "tr-TR", "title": "Turkish" @@ -95,8 +99,4 @@ "code": "zh-TW", "title": "Chinese (Traditional)" } - { - "code": "sv-SE", - "title": "Swedish" - } ] From d5bcae6182a6433d4d744a5041f3d87fdd53f993 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 15:41:39 -0700 Subject: [PATCH 063/107] chore: format --- src/lib/i18n/locales/languages.json | 2 +- src/lib/i18n/locales/sv-SE/translation.json | 807 +++++++++++--------- 2 files changed, 437 insertions(+), 372 deletions(-) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index cb8acf2b..690152bb 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -78,7 +78,7 @@ { "code": "sv-SE", "title": "Swedish" - }, + }, { "code": "tr-TR", "title": "Turkish" diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index 93e7eeb6..bcf3a1b3 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -1,373 +1,438 @@ { - "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", - "(Beta)": "(Beta)", - "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", - "(latest)": "(senaste)", - "{{modelName}} is thinking...": "{{modelName}} tänker...", - "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", - "a user": "en användare", - "About": "Om", - "Account": "Konto", - "Action": "Åtgärd", - "Add a model": "Lägg till en modell", - "Add a model tag name": "Lägg till ett modellnamn", - "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", - "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", - "Add a tag": "Lägg till en tagg", - "Add Docs": "Lägg till dokument", - "Add Files": "Lägg till filer", - "Add message": "Lägg till meddelande", - "add tags": "lägg till taggar", - "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", - "admin": "administratör", - "Admin Panel": "Administrationspanel", - "Admin Settings": "Administratörsinställningar", - "Advanced Parameters": "Avancerade parametrar", - "all": "alla", - "All Users": "Alla användare", - "Allow": "Tillåt", - "Allow Chat Deletion": "Tillåt chattborttagning", - "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", - "Already have an account?": "Har du redan ett konto?", - "an assistant": "en assistent", - "and": "och", - "API Base URL": "API-bas-URL", - "API Key": "API-nyckel", - "API RPM": "API RPM", - "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", - "Are you sure?": "Är du säker?", - "Audio": "Ljud", - "Auto-playback response": "Automatisk uppspelning", - "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", - "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", - "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", - "available!": "tillgänglig!", - "Back": "Tillbaka", - "Builder Mode": "Byggarläge", - "Cancel": "Avbryt", - "Categories": "Kategorier", - "Change Password": "Ändra lösenord", - "Chat": "Chatt", - "Chat History": "Chatthistorik", - "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", - "Chats": "Chattar", - "Check Again": "Kontrollera igen", - "Check for updates": "Sök efter uppdateringar", - "Checking for updates...": "Söker efter uppdateringar...", - "Choose a model before saving...": "Välj en modell innan du sparar...", - "Chunk Overlap": "Överlappning", - "Chunk Params": "Chunk-parametrar", - "Chunk Size": "Chunk-storlek", - "Click here for help.": "Klicka här för hjälp.", - "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", - "Click here to select": "Klicka här för att välja", - "Click here to select documents.": "Klicka här för att välja dokument.", - "click here.": "klicka här.", - "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", - "Close": "Stäng", - "Collection": "Samling", - "Command": "Kommando", - "Confirm Password": "Bekräfta lösenord", - "Connections": "Anslutningar", - "Content": "Innehåll", - "Context Length": "Kontextlängd", - "Conversation Mode": "Samtalsläge", - "Copy last code block": "Kopiera sista kodblock", - "Copy last response": "Kopiera sista svar", - "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", - "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", - "Create a modelfile": "Skapa en modelfil", - "Create Account": "Skapa konto", - "Created at": "Skapad", - "Created by": "Skapad av", - "Current Model": "Aktuell modell", - "Current Password": "Nuvarande lösenord", - "Custom": "Anpassad", - "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", - "Dark": "Mörk", - "Database": "Databas", - "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", - "Default": "Standard", - "Default (Automatic1111)": "Standard (Automatic1111)", - "Default (Web API)": "Standard (Web API)", - "Default model updated": "Standardmodell uppdaterad", - "Default Prompt Suggestions": "Standardpromptförslag", - "Default User Role": "Standardanvändarroll", - "delete": "radera", - "Delete a model": "Ta bort en modell", - "Delete chat": "Radera chatt", - "Delete Chats": "Radera chattar", - "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", - "Deleted {tagName}": "Raderad {tagName}", - "Description": "Beskrivning", - "Notifications": "Notifikationer", - "Disabled": "Inaktiverad", - "Discover a modelfile": "Upptäck en modelfil", - "Discover a prompt": "Upptäck en prompt", - "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", - "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", - "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", - "Document": "Dokument", - "Document Settings": "Dokumentinställningar", - "Documents": "Dokument", - "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", - "Don't Allow": "Tillåt inte", - "Don't have an account?": "Har du inte ett konto?", - "Download as a File": "Ladda ner som en fil", - "Download Database": "Ladda ner databas", - "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", - "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", - "Edit Doc": "Redigera dokument", - "Edit User": "Redigera användare", - "Email": "E-post", - "Embedding model: {{embedding_model}}": "Inbäddningsmodell: {{embedding_model}}", - "Enable Chat History": "Aktivera chatthistorik", - "Enable New Sign Ups": "Aktivera nya registreringar", - "Enabled": "Aktiverad", - "Enter {{role}} message here": "Skriv {{role}} meddelande här", - "Enter API Key": "Ange API-nyckel", - "Enter Chunk Overlap": "Ange Chunk-överlappning", - "Enter Chunk Size": "Ange Chunk-storlek", - "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", - "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", - "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", - "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", - "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", - "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", - "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", - "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", - "Enter stop sequence": "Ange stoppsekvens", - "Enter Top K": "Ange Top K", - "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", - "Enter Your Email": "Ange din e-post", - "Enter Your Full Name": "Ange ditt fullständiga namn", - "Enter Your Password": "Ange ditt lösenord", - "Experimental": "Experimentell", - "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", - "Export Chats": "Exportera chattar", - "Export Documents Mapping": "Exportera dokumentmappning", - "Export Modelfiles": "Exportera modelfiler", - "Export Prompts": "Exportera prompts", - "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", - "File Mode": "Fil-läge", - "File not found.": "Fil hittades inte.", - "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", - "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", - "Focus chat input": "Fokusera chattindata", - "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", - "From (Base Model)": "Från (basmodell)", - "Full Screen Mode": "Helskärmsläge", - "General": "Allmän", - "General Settings": "Allmänna inställningar", - "Hello, {{name}}": "Hej, {{name}}", - "Hide": "Dölj", - "Hide Additional Params": "Dölj ytterligare parametrar", - "How can I help you today?": "Hur kan jag hjälpa dig idag?", - "Image Generation (Experimental)": "Bildgenerering (experimentell)", - "Image Generation Engine": "Bildgenereringsmotor", - "Image Settings": "Bildinställningar", - "Images": "Bilder", - "Import Chats": "Importera chattar", - "Import Documents Mapping": "Importera dokumentmappning", - "Import Modelfiles": "Importera modelfiler", - "Import Prompts": "Importera prompts", - "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", - "Interface": "Gränssnitt", - "join our Discord for help.": "gå med i vår Discord för hjälp.", - "JSON": "JSON", - "JWT Expiration": "JWT-utgång", - "JWT Token": "JWT-token", - "Keep Alive": "Håll vid liv", - "Keyboard shortcuts": "Tangentbordsgenvägar", - "Language": "Språk", - "Light": "Ljus", - "Listening...": "Lyssnar...", - "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", - "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", - "Make sure to enclose them with": "Se till att bifoga dem med", - "Manage LiteLLM Models": "Hantera LiteLLM-modeller", - "Manage Models": "Hantera modeller", - "Manage Ollama Models": "Hantera Ollama-modeller", - "Max Tokens": "Max antal tokens", - "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.", - "Mirostat": "Mirostat", - "Mirostat Eta": "Mirostat Eta", - "Mirostat Tau": "Mirostat Tau", - "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", - "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", - "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", - "Model {{embedding_model}} update complete!": "Modelluppdateringen {{embedding_model}} är klar!", - "Model {{embedding_model}} update failed or not required!": "Modelluppdateringen {{embedding_model}} misslyckades eller krävs inte!", - "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", - "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", - "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", - "Model Name": "Modellnamn", - "Model not selected": "Modell inte vald", - "Model Tag Name": "Modelltaggnamn", - "Model Whitelisting": "Modellens vitlista", - "Model(s) Whitelisted": "Modell(er) vitlistade", - "Modelfile": "Modelfil", - "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", - "Modelfile Content": "Modelfilens innehåll", - "Modelfiles": "Modelfiler", - "Models": "Modeller", - "My Documents": "Mina dokument", - "My Modelfiles": "Mina modelfiler", - "My Prompts": "Mina promptar", - "Name": "Namn", - "Name Tag": "Namntag", - "Name your modelfile": "Namnge din modelfil", - "New Chat": "Ny chatt", - "New Password": "Nytt lösenord", - "Not sure what to add?": "Inte säker på vad du ska lägga till?", - "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", - "Off": "Av", - "Okay, Let's Go!": "Okej, nu kör vi!", - "Ollama Base URL": "Ollama bas-URL", - "Ollama Version": "Ollama-version", - "On": "På", - "Only": "Endast", - "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", - "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", - "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", - "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", - "Open": "Öppna", - "Open AI": "Öppna AI", - "Open AI (Dall-E)": "Öppna AI (Dall-E)", - "Open new chat": "Öppna ny chatt", - "OpenAI API": "OpenAI API", - "OpenAI API Key": "OpenAI API-nyckel", - "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", - "or": "eller", - "Parameters": "Parametrar", - "Password": "Lösenord", - "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", - "pending": "väntande", - "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", - "Playground": "Lekplats", - "Profile": "Profil", - "Prompt Content": "Promptinnehåll", - "Prompt suggestions": "Förslag", - "Prompts": "Prompts", - "Pull a model from Ollama.com": "Dra en modell från Ollama.com", - "Pull Progress": "Dra framsteg", - "Query Params": "Frågeparametrar", - "RAG Template": "RAG-mall", - "Raw Format": "Råformat", - "Record voice": "Spela in röst", - "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", - "Release Notes": "Versionsinformation", - "Repeat Last N": "Upprepa senaste N", - "Repeat Penalty": "Upprepa straff", - "Request Mode": "Begär läge", - "Reset Vector Storage": "Återställ vektorlager", - "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", - "Role": "Roll", - "Rosé Pine": "Rosé Pine", - "Rosé Pine Dawn": "Rosé Pine Dawn", - "Save": "Spara", - "Save & Create": "Spara och skapa", - "Save & Submit": "Spara och skicka", - "Save & Update": "Spara och uppdatera", - "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", - "Scan": "Skanna", - "Scan complete!": "Skanning klar!", - "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", - "Search": "Sök", - "Search Documents": "Sök dokument", - "Search Prompts": "Sök promptar", - "See readme.md for instructions": "Se readme.md för instruktioner", - "See what's new": "Se vad som är nytt", - "Seed": "Seed", - "Select a mode": "Välj ett läge", - "Select a model": "Välj en modell", - "Select an Ollama instance": "Välj en Ollama-instans", - "Send a Message": "Skicka ett meddelande", - "Send message": "Skicka meddelande", - "Server connection verified": "Serveranslutning verifierad", - "Set as default": "Ange som standard", - "Set Default Model": "Ange standardmodell", - "Set Image Size": "Ange bildstorlek", - "Set Steps": "Ange steg", - "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", - "Set Voice": "Ange röst", - "Settings": "Inställningar", - "Settings saved successfully!": "Inställningar sparades framgångsrikt!", - "Share to OpenWebUI Community": "Dela till OpenWebUI Community", - "short-summary": "kort sammanfattning", - "Show": "Visa", - "Show Additional Params": "Visa ytterligare parametrar", - "Show shortcuts": "Visa genvägar", - "sidebar": "sidofält", - "Sign in": "Logga in", - "Sign Out": "Logga ut", - "Sign up": "Registrera dig", - "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", - "Speech-to-Text Engine": "Tal-till-text-motor", - "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", - "Stop Sequence": "Stoppsekvens", - "STT Settings": "STT-inställningar", - "Submit": "Skicka in", - "Success": "Framgång", - "Successfully updated.": "Uppdaterades framgångsrikt.", - "Sync All": "Synkronisera allt", - "System": "System", - "System Prompt": "Systemprompt", - "Tags": "Taggar", - "Temperature": "Temperatur", - "Template": "Mall", - "Text Completion": "Textslutförande", - "Text-to-Speech Engine": "Text-till-tal-motor", - "Tfs Z": "Tfs Z", - "Theme": "Tema", - "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", - "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", - "Title": "Titel", - "Title Auto-Generation": "Automatisk generering av titel", - "Title Generation Prompt": "Titelgenereringsprompt", - "to": "till", - "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", - "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", - "to chat input.": "till chattinmatning.", - "Toggle settings": "Växla inställningar", - "Toggle sidebar": "Växla sidofält", - "Top K": "Topp K", - "Top P": "Topp P", - "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", - "TTS Settings": "TTS-inställningar", - "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", - "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", - "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Förstå att uppdatering eller ändring av din inbäddningsmodell kräver återställning av vektordatabasen och återimport av alla dokument. Du har blivit varnad!", - "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", - "Update": "Uppdatera", - "Update embedding model {{embedding_model}}": "Uppdatera inbäddningsmodell {{embedding_model}}", - "Update password": "Uppdatera lösenord", - "Upload a GGUF model": "Ladda upp en GGUF-modell", - "Upload files": "Ladda upp filer", - "Upload Progress": "Uppladdningsförlopp", - "URL Mode": "URL-läge", - "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", - "Use Gravatar": "Använd Gravatar", - "Use Initials": "Använd initialer", - "user": "användare", - "User Permissions": "Användarbehörigheter", - "Users": "Användare", - "Utilize": "Använd", - "Valid time units:": "Giltiga tidsenheter:", - "variable": "variabel", - "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", - "Version": "Version", - "Web": "Webb", - "WebUI Add-ons": "WebUI-tillägg", - "WebUI Settings": "WebUI-inställningar", - "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", - "What’s New in": "Vad är nytt i", - "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", - "Whisper (Local)": "Whisper (lokal)", - "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", - "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", - "You": "Du", - "You're a helpful assistant.": "Du är en hjälpsam assistent.", - "You're now logged in.": "Du är nu inloggad." + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", + "(Beta)": "(Beta)", + "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", + "(latest)": "(senaste)", + "{{modelName}} is thinking...": "{{modelName}} tänker...", + "{{user}}'s Chats": "", + "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", + "a user": "en användare", + "About": "Om", + "Account": "Konto", + "Accurate information": "", + "Add a model": "Lägg till en modell", + "Add a model tag name": "Lägg till ett modellnamn", + "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", + "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", + "Add a tag": "Lägg till en tagg", + "Add Docs": "Lägg till dokument", + "Add Files": "Lägg till filer", + "Add message": "Lägg till meddelande", + "Add Model": "", + "Add Tags": "", + "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", + "admin": "administratör", + "Admin Panel": "Administrationspanel", + "Admin Settings": "Administratörsinställningar", + "Advanced Parameters": "Avancerade parametrar", + "all": "alla", + "All Users": "Alla användare", + "Allow": "Tillåt", + "Allow Chat Deletion": "Tillåt chattborttagning", + "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", + "Already have an account?": "Har du redan ett konto?", + "an assistant": "en assistent", + "and": "och", + "API Base URL": "API-bas-URL", + "API Key": "API-nyckel", + "API Key created.": "", + "API keys": "", + "API RPM": "API RPM", + "Archive": "", + "Archived Chats": "", + "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", + "Are you sure?": "Är du säker?", + "Attention to detail": "", + "Audio": "Ljud", + "Auto-playback response": "Automatisk uppspelning", + "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", + "available!": "tillgänglig!", + "Back": "Tillbaka", + "Bad Response": "", + "Being lazy": "", + "Builder Mode": "Byggarläge", + "Cancel": "Avbryt", + "Categories": "Kategorier", + "Change Password": "Ändra lösenord", + "Chat": "Chatt", + "Chat History": "Chatthistorik", + "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", + "Chats": "Chattar", + "Check Again": "Kontrollera igen", + "Check for updates": "Sök efter uppdateringar", + "Checking for updates...": "Söker efter uppdateringar...", + "Choose a model before saving...": "Välj en modell innan du sparar...", + "Chunk Overlap": "Överlappning", + "Chunk Params": "Chunk-parametrar", + "Chunk Size": "Chunk-storlek", + "Click here for help.": "Klicka här för hjälp.", + "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", + "Click here to select": "Klicka här för att välja", + "Click here to select documents.": "Klicka här för att välja dokument.", + "click here.": "klicka här.", + "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", + "Close": "Stäng", + "Collection": "Samling", + "ComfyUI": "", + "ComfyUI Base URL": "", + "ComfyUI Base URL is required.": "", + "Command": "Kommando", + "Confirm Password": "Bekräfta lösenord", + "Connections": "Anslutningar", + "Content": "Innehåll", + "Context Length": "Kontextlängd", + "Continue Response": "", + "Conversation Mode": "Samtalsläge", + "Copied shared chat URL to clipboard!": "", + "Copy": "", + "Copy last code block": "Kopiera sista kodblock", + "Copy last response": "Kopiera sista svar", + "Copy Link": "", + "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", + "Create a modelfile": "Skapa en modelfil", + "Create Account": "Skapa konto", + "Created at": "Skapad", + "Created At": "", + "Current Model": "Aktuell modell", + "Current Password": "Nuvarande lösenord", + "Custom": "Anpassad", + "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", + "Dark": "Mörk", + "Database": "Databas", + "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", + "Default": "Standard", + "Default (Automatic1111)": "Standard (Automatic1111)", + "Default (SentenceTransformers)": "", + "Default (Web API)": "Standard (Web API)", + "Default model updated": "Standardmodell uppdaterad", + "Default Prompt Suggestions": "Standardpromptförslag", + "Default User Role": "Standardanvändarroll", + "delete": "radera", + "Delete": "", + "Delete a model": "Ta bort en modell", + "Delete chat": "Radera chatt", + "Delete Chat": "", + "Delete Chats": "Radera chattar", + "Delete User": "", + "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", + "Deleted {{tagName}}": "", + "Description": "Beskrivning", + "Didn't fully follow instructions": "", + "Disabled": "Inaktiverad", + "Discover a modelfile": "Upptäck en modelfil", + "Discover a prompt": "Upptäck en prompt", + "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", + "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", + "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", + "Document": "Dokument", + "Document Settings": "Dokumentinställningar", + "Documents": "Dokument", + "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", + "Don't Allow": "Tillåt inte", + "Don't have an account?": "Har du inte ett konto?", + "Don't like the style": "", + "Download": "", + "Download Database": "Ladda ner databas", + "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", + "Edit": "", + "Edit Doc": "Redigera dokument", + "Edit User": "Redigera användare", + "Email": "E-post", + "Embedding Model Engine": "", + "Embedding model set to \"{{embedding_model}}\"": "", + "Enable Chat History": "Aktivera chatthistorik", + "Enable New Sign Ups": "Aktivera nya registreringar", + "Enabled": "Aktiverad", + "Enter {{role}} message here": "Skriv {{role}} meddelande här", + "Enter Chunk Overlap": "Ange Chunk-överlappning", + "Enter Chunk Size": "Ange Chunk-storlek", + "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", + "Enter Score": "", + "Enter stop sequence": "Ange stoppsekvens", + "Enter Top K": "Ange Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", + "Enter Your Email": "Ange din e-post", + "Enter Your Full Name": "Ange ditt fullständiga namn", + "Enter Your Password": "Ange ditt lösenord", + "Experimental": "Experimentell", + "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", + "Export Chats": "Exportera chattar", + "Export Documents Mapping": "Exportera dokumentmappning", + "Export Modelfiles": "Exportera modelfiler", + "Export Prompts": "Exportera prompts", + "Failed to create API Key.": "", + "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", + "Feel free to add specific details": "", + "File Mode": "Fil-läge", + "File not found.": "Fil hittades inte.", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", + "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", + "Focus chat input": "Fokusera chattindata", + "Followed instructions perfectly": "", + "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", + "From (Base Model)": "Från (basmodell)", + "Full Screen Mode": "Helskärmsläge", + "General": "Allmän", + "General Settings": "Allmänna inställningar", + "Generation Info": "", + "Good Response": "", + "has no conversations.": "", + "Hello, {{name}}": "Hej, {{name}}", + "Hide": "Dölj", + "Hide Additional Params": "Dölj ytterligare parametrar", + "How can I help you today?": "Hur kan jag hjälpa dig idag?", + "Hybrid Search": "", + "Image Generation (Experimental)": "Bildgenerering (experimentell)", + "Image Generation Engine": "Bildgenereringsmotor", + "Image Settings": "Bildinställningar", + "Images": "Bilder", + "Import Chats": "Importera chattar", + "Import Documents Mapping": "Importera dokumentmappning", + "Import Modelfiles": "Importera modelfiler", + "Import Prompts": "Importera prompts", + "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", + "Interface": "Gränssnitt", + "join our Discord for help.": "gå med i vår Discord för hjälp.", + "JSON": "JSON", + "JWT Expiration": "JWT-utgång", + "JWT Token": "JWT-token", + "Keep Alive": "Håll vid liv", + "Keyboard shortcuts": "Tangentbordsgenvägar", + "Language": "Språk", + "Last Active": "", + "Light": "Ljus", + "Listening...": "Lyssnar...", + "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", + "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", + "Make sure to enclose them with": "Se till att bifoga dem med", + "Manage LiteLLM Models": "Hantera LiteLLM-modeller", + "Manage Models": "Hantera modeller", + "Manage Ollama Models": "Hantera Ollama-modeller", + "Max Tokens": "Max antal tokens", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.", + "Minimum Score": "", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", + "MMMM DD, YYYY HH:mm": "", + "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", + "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", + "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", + "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", + "Model Name": "Modellnamn", + "Model not selected": "Modell inte vald", + "Model Tag Name": "Modelltaggnamn", + "Model Whitelisting": "Modellens vitlista", + "Model(s) Whitelisted": "Modell(er) vitlistade", + "Modelfile": "Modelfil", + "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", + "Modelfile Content": "Modelfilens innehåll", + "Modelfiles": "Modelfiler", + "Models": "Modeller", + "More": "", + "My Documents": "Mina dokument", + "My Modelfiles": "Mina modelfiler", + "My Prompts": "Mina promptar", + "Name": "Namn", + "Name Tag": "Namntag", + "Name your modelfile": "Namnge din modelfil", + "New Chat": "Ny chatt", + "New Password": "Nytt lösenord", + "Not factually correct": "", + "Not sure what to add?": "Inte säker på vad du ska lägga till?", + "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", + "Notifications": "Notifikationer", + "Off": "Av", + "Okay, Let's Go!": "Okej, nu kör vi!", + "OLED Dark": "", + "Ollama": "", + "Ollama Base URL": "Ollama bas-URL", + "Ollama Version": "Ollama-version", + "On": "På", + "Only": "Endast", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", + "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", + "Open": "Öppna", + "Open AI": "Öppna AI", + "Open AI (Dall-E)": "Öppna AI (Dall-E)", + "Open new chat": "Öppna ny chatt", + "OpenAI": "", + "OpenAI API": "OpenAI API", + "OpenAI API Config": "", + "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", + "OpenAI URL/Key required.": "", + "or": "eller", + "Other": "", + "Parameters": "Parametrar", + "Password": "Lösenord", + "PDF document (.pdf)": "", + "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", + "pending": "väntande", + "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", + "Plain text (.txt)": "", + "Playground": "Lekplats", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", + "Prompt Content": "Promptinnehåll", + "Prompt suggestions": "Förslag", + "Prompts": "Prompts", + "Pull a model from Ollama.com": "Dra en modell från Ollama.com", + "Pull Progress": "Dra framsteg", + "Query Params": "Frågeparametrar", + "RAG Template": "RAG-mall", + "Raw Format": "Råformat", + "Read Aloud": "", + "Record voice": "Spela in röst", + "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", + "Refused when it shouldn't have": "", + "Regenerate": "", + "Release Notes": "Versionsinformation", + "Remove": "", + "Repeat Last N": "Upprepa senaste N", + "Repeat Penalty": "Upprepa straff", + "Request Mode": "Begär läge", + "Reranking model disabled": "", + "Reranking model set to \"{{reranking_model}}\"": "", + "Reset Vector Storage": "Återställ vektorlager", + "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", + "Role": "Roll", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "Spara", + "Save & Create": "Spara och skapa", + "Save & Submit": "Spara och skicka", + "Save & Update": "Spara och uppdatera", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", + "Scan": "Skanna", + "Scan complete!": "Skanning klar!", + "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", + "Search": "Sök", + "Search a model": "", + "Search Documents": "Sök dokument", + "Search Prompts": "Sök promptar", + "See readme.md for instructions": "Se readme.md för instruktioner", + "See what's new": "Se vad som är nytt", + "Seed": "Seed", + "Select a mode": "Välj ett läge", + "Select a model": "Välj en modell", + "Select an Ollama instance": "Välj en Ollama-instans", + "Send a Message": "Skicka ett meddelande", + "Send message": "Skicka meddelande", + "Server connection verified": "Serveranslutning verifierad", + "Set as default": "Ange som standard", + "Set Default Model": "Ange standardmodell", + "Set Image Size": "Ange bildstorlek", + "Set Steps": "Ange steg", + "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", + "Set Voice": "Ange röst", + "Settings": "Inställningar", + "Settings saved successfully!": "Inställningar sparades framgångsrikt!", + "Share": "", + "Share Chat": "", + "Share to OpenWebUI Community": "Dela till OpenWebUI Community", + "short-summary": "kort sammanfattning", + "Show": "Visa", + "Show Additional Params": "Visa ytterligare parametrar", + "Show shortcuts": "Visa genvägar", + "Showcased creativity": "", + "sidebar": "sidofält", + "Sign in": "Logga in", + "Sign Out": "Logga ut", + "Sign up": "Registrera dig", + "Signing in": "", + "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", + "Speech-to-Text Engine": "Tal-till-text-motor", + "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", + "Stop Sequence": "Stoppsekvens", + "STT Settings": "STT-inställningar", + "Submit": "Skicka in", + "Subtitle (e.g. about the Roman Empire)": "", + "Success": "Framgång", + "Successfully updated.": "Uppdaterades framgångsrikt.", + "Sync All": "Synkronisera allt", + "System": "System", + "System Prompt": "Systemprompt", + "Tags": "Taggar", + "Tell us more:": "", + "Temperature": "Temperatur", + "Template": "Mall", + "Text Completion": "Textslutförande", + "Text-to-Speech Engine": "Text-till-tal-motor", + "Tfs Z": "Tfs Z", + "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", + "Theme": "Tema", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", + "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", + "Thorough explanation": "", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", + "Title": "Titel", + "Title (e.g. Tell me a fun fact)": "", + "Title Auto-Generation": "Automatisk generering av titel", + "Title Generation Prompt": "Titelgenereringsprompt", + "to": "till", + "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", + "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", + "to chat input.": "till chattinmatning.", + "Toggle settings": "Växla inställningar", + "Toggle sidebar": "Växla sidofält", + "Top K": "Topp K", + "Top P": "Topp P", + "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", + "TTS Settings": "TTS-inställningar", + "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", + "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", + "Update and Copy Link": "", + "Update Embedding Model": "", + "Update embedding model (e.g. {{model}})": "", + "Update password": "Uppdatera lösenord", + "Update Reranking Model": "", + "Update reranking model (e.g. {{model}})": "", + "Upload a GGUF model": "Ladda upp en GGUF-modell", + "Upload files": "Ladda upp filer", + "Upload Progress": "Uppladdningsförlopp", + "URL Mode": "URL-läge", + "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", + "Use Gravatar": "Använd Gravatar", + "Use Initials": "Använd initialer", + "user": "användare", + "User Permissions": "Användarbehörigheter", + "Users": "Användare", + "Utilize": "Använd", + "Valid time units:": "Giltiga tidsenheter:", + "variable": "variabel", + "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", + "Version": "Version", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "", + "Web": "Webb", + "Webhook URL": "", + "WebUI Add-ons": "WebUI-tillägg", + "WebUI Settings": "WebUI-inställningar", + "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", + "What’s New in": "Vad är nytt i", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", + "Whisper (Local)": "Whisper (lokal)", + "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", + "You": "Du", + "You're a helpful assistant.": "Du är en hjälpsam assistent.", + "You're now logged in.": "Du är nu inloggad." } From e60c87d750dd456363a2c726b027e91b4f5ea6ea Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 16:08:06 -0700 Subject: [PATCH 064/107] fix: delete chat shortcut --- src/lib/components/layout/Sidebar.svelte | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index ab4e1044..480d3900 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -619,6 +619,27 @@ + + {#if chat.id === $chatId} + + {/if}
{/if}
From 0595c04909d73608bf9006fa3e12ca086ba75c84 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:17:00 -0700 Subject: [PATCH 065/107] feat: youtube rag --- backend/apps/rag/main.py | 29 ++++++- backend/requirements.txt | 1 + src/lib/apis/rag/index.ts | 31 ++++++++ src/lib/components/admin/AddUserModal.svelte | 0 src/lib/components/chat/MessageInput.svelte | 38 +++++++++- .../chat/MessageInput/Documents.svelte | 36 ++++++++- src/routes/(app)/admin/+page.svelte | 75 ++++++++++++------- 7 files changed, 180 insertions(+), 30 deletions(-) create mode 100644 src/lib/components/admin/AddUserModal.svelte diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index f147152b..a3e3c113 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -28,6 +28,7 @@ from langchain_community.document_loaders import ( UnstructuredXMLLoader, UnstructuredRSTLoader, UnstructuredExcelLoader, + YoutubeLoader, ) from langchain.text_splitter import RecursiveCharacterTextSplitter @@ -181,7 +182,7 @@ class CollectionNameForm(BaseModel): collection_name: Optional[str] = "test" -class StoreWebForm(CollectionNameForm): +class UrlForm(CollectionNameForm): url: str @@ -456,8 +457,32 @@ def query_collection_handler( ) +@app.post("/youtube") +def store_youtube_video(form_data: UrlForm, user=Depends(get_current_user)): + try: + loader = YoutubeLoader.from_youtube_url(form_data.url, add_video_info=False) + data = loader.load() + + collection_name = form_data.collection_name + if collection_name == "": + collection_name = calculate_sha256_string(form_data.url)[:63] + + store_data_in_vector_db(data, collection_name, overwrite=True) + return { + "status": True, + "collection_name": collection_name, + "filename": form_data.url, + } + except Exception as e: + log.exception(e) + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=ERROR_MESSAGES.DEFAULT(e), + ) + + @app.post("/web") -def store_web(form_data: StoreWebForm, user=Depends(get_current_user)): +def store_web(form_data: UrlForm, user=Depends(get_current_user)): # "https://www.gutenberg.org/files/1727/1727-h/1727-h.htm" try: loader = get_web_loader(form_data.url) diff --git a/backend/requirements.txt b/backend/requirements.txt index 79eddeae..ce01cf50 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -59,3 +59,4 @@ PyJWT[crypto]==2.8.0 black==24.4.2 langfuse==2.27.3 +youtube-transcript-api diff --git a/src/lib/apis/rag/index.ts b/src/lib/apis/rag/index.ts index 5dfa3d3a..a9d163f8 100644 --- a/src/lib/apis/rag/index.ts +++ b/src/lib/apis/rag/index.ts @@ -221,6 +221,37 @@ export const uploadWebToVectorDB = async (token: string, collection_name: string return res; }; +export const uploadYoutubeTranscriptionToVectorDB = async (token: string, url: string) => { + let error = null; + + const res = await fetch(`${RAG_API_BASE_URL}/youtube`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + authorization: `Bearer ${token}` + }, + body: JSON.stringify({ + url: url + }) + }) + .then(async (res) => { + if (!res.ok) throw await res.json(); + return res.json(); + }) + .catch((err) => { + error = err.detail; + console.log(err); + return null; + }); + + if (error) { + throw error; + } + + return res; +}; + export const queryDoc = async ( token: string, collection_name: string, diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte new file mode 100644 index 00000000..e69de29b diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 30380e94..2a9c579f 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -6,7 +6,11 @@ import Prompts from './MessageInput/PromptCommands.svelte'; import Suggestions from './MessageInput/Suggestions.svelte'; - import { uploadDocToVectorDB, uploadWebToVectorDB } from '$lib/apis/rag'; + import { + uploadDocToVectorDB, + uploadWebToVectorDB, + uploadYoutubeTranscriptionToVectorDB + } from '$lib/apis/rag'; import AddFilesPlaceholder from '../AddFilesPlaceholder.svelte'; import { SUPPORTED_FILE_TYPE, SUPPORTED_FILE_EXTENSIONS } from '$lib/constants'; import Documents from './MessageInput/Documents.svelte'; @@ -290,6 +294,34 @@ } }; + const uploadYoutubeTranscription = async (url) => { + console.log(url); + + const doc = { + type: 'doc', + name: url, + collection_name: '', + upload_status: false, + url: url, + error: '' + }; + + try { + files = [...files, doc]; + const res = await uploadYoutubeTranscriptionToVectorDB(localStorage.token, url); + + if (res) { + doc.upload_status = true; + doc.collection_name = res.collection_name; + files = files; + } + } catch (e) { + // Remove the failed doc from the files array + files = files.filter((f) => f.name !== url); + toast.error(e); + } + }; + onMount(() => { console.log(document.getElementById('sidebar')); window.setTimeout(() => chatTextAreaElement?.focus(), 0); @@ -428,6 +460,10 @@ { + console.log(e); + uploadYoutubeTranscription(e.detail); + }} on:url={(e) => { console.log(e); uploadWeb(e.detail); diff --git a/src/lib/components/chat/MessageInput/Documents.svelte b/src/lib/components/chat/MessageInput/Documents.svelte index 3d358acc..37fb672c 100644 --- a/src/lib/components/chat/MessageInput/Documents.svelte +++ b/src/lib/components/chat/MessageInput/Documents.svelte @@ -87,6 +87,17 @@ chatInputElement?.focus(); await tick(); }; + + const confirmSelectYoutube = async (url) => { + dispatch('youtube', url); + + prompt = removeFirstHashWord(prompt); + const chatInputElement = document.getElementById('chat-textarea'); + + await tick(); + chatInputElement?.focus(); + await tick(); + }; {#if filteredItems.length > 0 || prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} @@ -132,7 +143,30 @@ {/each} - {#if prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} + {#if prompt.split(' ')?.at(0)?.substring(1).startsWith('https://www.youtube.com')} + + {:else if prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} + + +
-
+
Overview

-
-
+
+
{$i18n.t('All Users')}
@@ -147,12 +150,32 @@ >
-
+
+ +
+ +
From ebc6a269d36aa411e1e71c7705cdd0b320147a1b Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:20:21 -0700 Subject: [PATCH 066/107] chore: i18n --- src/lib/i18n/locales/bg-BG/translation.json | 3 ++- src/lib/i18n/locales/bn-BD/translation.json | 3 ++- src/lib/i18n/locales/ca-ES/translation.json | 3 ++- src/lib/i18n/locales/de-DE/translation.json | 3 ++- src/lib/i18n/locales/dg-DG/translation.json | 3 ++- src/lib/i18n/locales/en-GB/translation.json | 3 ++- src/lib/i18n/locales/en-US/translation.json | 3 ++- src/lib/i18n/locales/es-ES/translation.json | 3 ++- src/lib/i18n/locales/fa-IR/translation.json | 3 ++- src/lib/i18n/locales/fr-CA/translation.json | 3 ++- src/lib/i18n/locales/fr-FR/translation.json | 3 ++- src/lib/i18n/locales/it-IT/translation.json | 3 ++- src/lib/i18n/locales/ja-JP/translation.json | 3 ++- src/lib/i18n/locales/ka-GE/translation.json | 3 ++- src/lib/i18n/locales/ko-KR/translation.json | 3 ++- src/lib/i18n/locales/nl-NL/translation.json | 3 ++- src/lib/i18n/locales/pl-PL/translation.json | 3 ++- src/lib/i18n/locales/pt-BR/translation.json | 3 ++- src/lib/i18n/locales/pt-PT/translation.json | 3 ++- src/lib/i18n/locales/ru-RU/translation.json | 3 ++- src/lib/i18n/locales/sv-SE/translation.json | 3 ++- src/lib/i18n/locales/tr-TR/translation.json | 3 ++- src/lib/i18n/locales/uk-UA/translation.json | 3 ++- src/lib/i18n/locales/vi-VN/translation.json | 3 ++- src/lib/i18n/locales/zh-CN/translation.json | 3 ++- src/lib/i18n/locales/zh-TW/translation.json | 3 ++- 26 files changed, 52 insertions(+), 26 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index e59b624b..0943d97b 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].", "You": "Вие", "You're a helpful assistant.": "Вие сте полезен асистент.", - "You're now logged in.": "Сега, вие влязохте в системата." + "You're now logged in.": "Сега, вие влязохте в системата.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index d4c8dd2c..b96138e6 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।", "You": "আপনি", "You're a helpful assistant.": "আপনি একজন উপকারী এসিস্ট্যান্ট", - "You're now logged in.": "আপনি এখন লগইন করা অবস্থায় আছেন" + "You're now logged in.": "আপনি এখন লগইন করা অবস্থায় আছেন", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index d38e7c2a..8ea000b7 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].", "You": "Tu", "You're a helpful assistant.": "Ets un assistent útil.", - "You're now logged in.": "Ara estàs connectat." + "You're now logged in.": "Ara estàs connectat.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 07b87c54..74fbff68 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Schreibe eine kurze Zusammenfassung in 50 Wörtern, die [Thema oder Schlüsselwort] zusammenfasst.", "You": "Du", "You're a helpful assistant.": "Du bist ein hilfreicher Assistent.", - "You're now logged in.": "Du bist nun eingeloggt." + "You're now logged in.": "Du bist nun eingeloggt.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index fc4c0f99..7e82e653 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.", "You": "You very you", "You're a helpful assistant.": "You're a helpful assistant. Much helpful.", - "You're now logged in.": "You're now logged in. Much logged." + "You're now logged in.": "You're now logged in. Much logged.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index f64dd364..b556f858 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "You": "", "You're a helpful assistant.": "", - "You're now logged in.": "" + "You're now logged in.": "", + "Youtube": "" } diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index f64dd364..b556f858 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "You": "", "You're a helpful assistant.": "", - "You're now logged in.": "" + "You're now logged in.": "", + "Youtube": "" } diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index e41675fc..ef9689ba 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].", "You": "Usted", "You're a helpful assistant.": "Eres un asistente útil.", - "You're now logged in.": "Has iniciado sesión." + "You're now logged in.": "Has iniciado sesión.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 5d50234f..8f2c81f1 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.", "You": "شما", "You're a helpful assistant.": "تو یک دستیار سودمند هستی.", - "You're now logged in.": "شما اکنون وارد شده\u200cاید." + "You're now logged in.": "شما اکنون وارد شده\u200cاید.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 213dd656..db0eb78f 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé en 50 mots qui résume [sujet ou mot-clé].", "You": "You", "You're a helpful assistant.": "Vous êtes un assistant utile", - "You're now logged in.": "Vous êtes maintenant connecté." + "You're now logged in.": "Vous êtes maintenant connecté.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 78d60ffc..beb81b8a 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Ecrivez un résumé en 50 mots [sujet ou mot-clé]", "You": "You", "You're a helpful assistant.": "Vous êtes un assistant utile", - "You're now logged in.": "Vous êtes maintenant connecté." + "You're now logged in.": "Vous êtes maintenant connecté.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 80160fed..91e1bbd8 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].", "You": "Tu", "You're a helpful assistant.": "Sei un assistente utile.", - "You're now logged in.": "Ora hai effettuato l'accesso." + "You're now logged in.": "Ora hai effettuato l'accesso.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 58c90ebc..279d61fe 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。", "You": "あなた", "You're a helpful assistant.": "あなたは役に立つアシスタントです。", - "You're now logged in.": "ログインしました。" + "You're now logged in.": "ログインしました。", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 7a5fc0cd..862e8afa 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].", "You": "თქვენ", "You're a helpful assistant.": "თქვენ სასარგებლო ასისტენტი ხართ.", - "You're now logged in.": "თქვენ შესული ხართ." + "You're now logged in.": "თქვენ შესული ხართ.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 5821080b..007395a5 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.", "You": "당신", "You're a helpful assistant.": "당신은 유용한 어시스턴트입니다.", - "You're now logged in.": "로그인되었습니다." + "You're now logged in.": "로그인되었습니다.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index cc3d1d95..61f34763 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.", "You": "Jij", "You're a helpful assistant.": "Jij bent een behulpzame assistent.", - "You're now logged in.": "Je bent nu ingelogd." + "You're now logged in.": "Je bent nu ingelogd.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 45568aef..043fe83a 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Napisz podsumowanie w 50 słowach, które podsumowuje [temat lub słowo kluczowe].", "You": "Ty", "You're a helpful assistant.": "Jesteś pomocnym asystentem.", - "You're now logged in.": "Jesteś teraz zalogowany." + "You're now logged in.": "Jesteś teraz zalogowany.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 0bbe8f23..111e3c4c 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "You": "Você", "You're a helpful assistant.": "Você é um assistente útil.", - "You're now logged in.": "Você está conectado agora." + "You're now logged in.": "Você está conectado agora.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index c16e9ce9..9a5741d7 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "You": "Você", "You're a helpful assistant.": "Você é um assistente útil.", - "You're now logged in.": "Você está conectado agora." + "You're now logged in.": "Você está conectado agora.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index c5c57b1d..37a5b833 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].", "You": "Вы", "You're a helpful assistant.": "Вы полезный ассистент.", - "You're now logged in.": "Вы вошли в систему." + "You're now logged in.": "Вы вошли в систему.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index bcf3a1b3..ab7a64e7 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", "You": "Du", "You're a helpful assistant.": "Du är en hjälpsam assistent.", - "You're now logged in.": "Du är nu inloggad." + "You're now logged in.": "Du är nu inloggad.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index ac447161..2748b437 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.", "You": "Siz", "You're a helpful assistant.": "Sen yardımcı bir asistansın.", - "You're now logged in.": "Şimdi oturum açtınız." + "You're now logged in.": "Şimdi oturum açtınız.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index a36cabb5..bec54058 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].", "You": "Ви", "You're a helpful assistant.": "Ви корисний асистент.", - "You're now logged in.": "Ви увійшли в систему." + "You're now logged in.": "Ви увійшли в систему.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index e7f9a7dd..1d94a8ec 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Viết một tóm tắt trong vòng 50 từ cho [chủ đề hoặc từ khóa].", "You": "Bạn", "You're a helpful assistant.": "Bạn là một trợ lý hữu ích.", - "You're now logged in.": "Bạn đã đăng nhập." + "You're now logged in.": "Bạn đã đăng nhập.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index ed31b8d0..9597709e 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "用50个字写一个总结[主题或关键词]。", "You": "你", "You're a helpful assistant.": "你是一个有帮助的助手。", - "You're now logged in.": "已登录。" + "You're now logged in.": "已登录。", + "Youtube": "" } diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index d67de92a..9c846d27 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "寫一個50字的摘要來概括[主題或關鍵詞]。", "You": "你", "You're a helpful assistant.": "你是一位善於協助他人的助手。", - "You're now logged in.": "已登入。" + "You're now logged in.": "已登入。", + "Youtube": "" } From b7fcf14f6eefdefeebb7616641767c0004c0d640 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:55:18 -0700 Subject: [PATCH 067/107] refac: styling --- backend/apps/web/models/auths.py | 4 + backend/apps/web/routers/auths.py | 45 ++++++ src/lib/apis/auths/index.ts | 38 +++++ src/lib/components/admin/AddUserModal.svelte | 152 ++++++++++++++++++ src/lib/components/admin/SettingsModal.svelte | 3 +- src/lib/components/chat/SettingsModal.svelte | 3 +- src/lib/components/chat/ShareChatModal.svelte | 5 +- src/lib/components/chat/ShortcutsModal.svelte | 3 +- .../components/documents/AddDocModal.svelte | 4 +- .../components/documents/EditDocModal.svelte | 22 +-- .../components/documents/SettingsModal.svelte | 3 +- .../layout/Sidebar/ArchivedChatsModal.svelte | 3 +- src/routes/(app)/admin/+page.svelte | 7 + 13 files changed, 259 insertions(+), 33 deletions(-) diff --git a/backend/apps/web/models/auths.py b/backend/apps/web/models/auths.py index 9c4e5ffe..07c75198 100644 --- a/backend/apps/web/models/auths.py +++ b/backend/apps/web/models/auths.py @@ -89,6 +89,10 @@ class SignupForm(BaseModel): profile_image_url: Optional[str] = "/user.png" +class AddUserForm(SignupForm): + role: str = "pending" + + class AuthsTable: def __init__(self, db): self.db = db diff --git a/backend/apps/web/routers/auths.py b/backend/apps/web/routers/auths.py index 321b2603..e08f0ac8 100644 --- a/backend/apps/web/routers/auths.py +++ b/backend/apps/web/routers/auths.py @@ -11,6 +11,7 @@ import uuid from apps.web.models.auths import ( SigninForm, SignupForm, + AddUserForm, UpdateProfileForm, UpdatePasswordForm, UserResponse, @@ -205,6 +206,50 @@ async def signup(request: Request, form_data: SignupForm): raise HTTPException(500, detail=ERROR_MESSAGES.DEFAULT(err)) +############################ +# AddUser +############################ + + +@router.post("/add", response_model=SigninResponse) +async def signup(form_data: AddUserForm, user=Depends(get_admin_user)): + + if not validate_email_format(form_data.email.lower()): + raise HTTPException( + status.HTTP_400_BAD_REQUEST, detail=ERROR_MESSAGES.INVALID_EMAIL_FORMAT + ) + + if Users.get_user_by_email(form_data.email.lower()): + raise HTTPException(400, detail=ERROR_MESSAGES.EMAIL_TAKEN) + + try: + role = form_data.role + hashed = get_password_hash(form_data.password) + user = Auths.insert_new_auth( + form_data.email.lower(), + hashed, + form_data.name, + form_data.profile_image_url, + role, + ) + + if user: + token = create_token(data={"id": user.id}) + return { + "token": token, + "token_type": "Bearer", + "id": user.id, + "email": user.email, + "name": user.name, + "role": user.role, + "profile_image_url": user.profile_image_url, + } + else: + raise HTTPException(500, detail=ERROR_MESSAGES.CREATE_USER_ERROR) + except Exception as err: + raise HTTPException(500, detail=ERROR_MESSAGES.DEFAULT(err)) + + ############################ # ToggleSignUp ############################ diff --git a/src/lib/apis/auths/index.ts b/src/lib/apis/auths/index.ts index efeeff33..f7c75d02 100644 --- a/src/lib/apis/auths/index.ts +++ b/src/lib/apis/auths/index.ts @@ -95,6 +95,44 @@ export const userSignUp = async ( return res; }; +export const addUser = async ( + token: string, + name: string, + email: string, + password: string, + role: string +) => { + let error = null; + + const res = await fetch(`${WEBUI_API_BASE_URL}/auths/add`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + name: name, + email: email, + password: password, + role: role + }) + }) + .then(async (res) => { + if (!res.ok) throw await res.json(); + return res.json(); + }) + .catch((err) => { + console.log(err); + error = err.detail; + return null; + }); + + if (error) { + throw error; + } + + return res; +}; + export const updateUserProfile = async (token: string, name: string, profileImageUrl: string) => { let error = null; diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte index e69de29b..44d5ba23 100644 --- a/src/lib/components/admin/AddUserModal.svelte +++ b/src/lib/components/admin/AddUserModal.svelte @@ -0,0 +1,152 @@ + + + +
+
+
{$i18n.t('Add User')}
+ +
+ +
+
+
{ + submitHandler(); + }} + > +
+
+
{$i18n.t('Name')}
+ +
+ +
+
+ +
+ +
+
{$i18n.t('Email')}
+ +
+ +
+
+ +
+
{$i18n.t('Password')}
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+ + diff --git a/src/lib/components/admin/SettingsModal.svelte b/src/lib/components/admin/SettingsModal.svelte index 7b726214..923ab576 100644 --- a/src/lib/components/admin/SettingsModal.svelte +++ b/src/lib/components/admin/SettingsModal.svelte @@ -15,7 +15,7 @@
-
+
{$i18n.t('Admin Settings')}
-
-
+
{$i18n.t('Settings')}
-
-
+
{$i18n.t('Share Chat')}
-
{#if chat} -
+
{#if chat.share_id}
-
+
{$i18n.t('Keyboard shortcuts')}
-
diff --git a/src/lib/components/documents/AddDocModal.svelte b/src/lib/components/documents/AddDocModal.svelte index 9c976389..b3c550c3 100644 --- a/src/lib/components/documents/AddDocModal.svelte +++ b/src/lib/components/documents/AddDocModal.svelte @@ -96,7 +96,7 @@
-
+
{$i18n.t('Add Docs')}
-
-
-
+
{$i18n.t('Edit Doc')}
-
-
#
- -
@@ -140,7 +128,7 @@
-
{$i18n.t('Tags')}
+
{$i18n.t('Tags')}
diff --git a/src/lib/components/documents/SettingsModal.svelte b/src/lib/components/documents/SettingsModal.svelte index 3b044e00..e3f2e003 100644 --- a/src/lib/components/documents/SettingsModal.svelte +++ b/src/lib/components/documents/SettingsModal.svelte @@ -12,7 +12,7 @@
-
+
{$i18n.t('Document Settings')}
-
-
+
{$i18n.t('Archived Chats')}
-
diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte index 57fb36b6..9c14f1f3 100644 --- a/src/routes/(app)/admin/+page.svelte +++ b/src/routes/(app)/admin/+page.svelte @@ -18,6 +18,7 @@ import ChatBubbles from '$lib/components/icons/ChatBubbles.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import UserChatsModal from '$lib/components/admin/UserChatsModal.svelte'; + import AddUserModal from '$lib/components/admin/AddUserModal.svelte'; const i18n = getContext('i18n'); @@ -92,6 +93,12 @@ /> {/key} + { + users = await getUsers(localStorage.token); + }} +/> From 96af34f2409f0b8a1b799a62487affff2c592d67 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:56:39 -0700 Subject: [PATCH 068/107] chore: i18n --- src/lib/i18n/locales/bg-BG/translation.json | 1 + src/lib/i18n/locales/bn-BD/translation.json | 1 + src/lib/i18n/locales/ca-ES/translation.json | 1 + src/lib/i18n/locales/de-DE/translation.json | 1 + src/lib/i18n/locales/dg-DG/translation.json | 1 + src/lib/i18n/locales/en-GB/translation.json | 1 + src/lib/i18n/locales/en-US/translation.json | 1 + src/lib/i18n/locales/es-ES/translation.json | 1 + src/lib/i18n/locales/fa-IR/translation.json | 1 + src/lib/i18n/locales/fr-CA/translation.json | 1 + src/lib/i18n/locales/fr-FR/translation.json | 1 + src/lib/i18n/locales/it-IT/translation.json | 1 + src/lib/i18n/locales/ja-JP/translation.json | 1 + src/lib/i18n/locales/ka-GE/translation.json | 1 + src/lib/i18n/locales/ko-KR/translation.json | 1 + src/lib/i18n/locales/nl-NL/translation.json | 1 + src/lib/i18n/locales/pl-PL/translation.json | 1 + src/lib/i18n/locales/pt-BR/translation.json | 1 + src/lib/i18n/locales/pt-PT/translation.json | 1 + src/lib/i18n/locales/ru-RU/translation.json | 1 + src/lib/i18n/locales/sv-SE/translation.json | 1 + src/lib/i18n/locales/tr-TR/translation.json | 1 + src/lib/i18n/locales/uk-UA/translation.json | 1 + src/lib/i18n/locales/vi-VN/translation.json | 1 + src/lib/i18n/locales/zh-CN/translation.json | 1 + src/lib/i18n/locales/zh-TW/translation.json | 1 + 26 files changed, 26 insertions(+) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 0943d97b..bf52e83f 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -20,6 +20,7 @@ "Add message": "Добавяне на съобщение", "Add Model": "", "Add Tags": "добавяне на тагове", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "При промяна на тези настройки промените се прилагат за всички потребители.", "admin": "админ", "Admin Panel": "Панел на Администратор", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index b96138e6..289bb9a0 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -20,6 +20,7 @@ "Add message": "মেসেজ যোগ করুন", "Add Model": "", "Add Tags": "ট্যাগ যোগ করুন", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "এই সেটিংগুলো পরিবর্তন করলে তা সব ইউজারের উপরেই প্রয়োগ করা হবে", "admin": "এডমিন", "Admin Panel": "এডমিন প্যানেল", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 8ea000b7..51c4c308 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -20,6 +20,7 @@ "Add message": "Afegeix missatge", "Add Model": "", "Add Tags": "afegeix etiquetes", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar aquests paràmetres aplicarà canvis de manera universal a tots els usuaris.", "admin": "administrador", "Admin Panel": "Panell d'Administració", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 74fbff68..3aeb94a5 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -20,6 +20,7 @@ "Add message": "Nachricht eingeben", "Add Model": "Modell hinzufügen", "Add Tags": "Tags hinzufügen", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Das Anpassen dieser Einstellungen wirkt sich universell auf alle Benutzer aus.", "admin": "Administrator", "Admin Panel": "Admin Panel", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 7e82e653..f12993c2 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -20,6 +20,7 @@ "Add message": "Add Prompt", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Adjusting these settings will apply changes to all users. Such universal, very wow.", "admin": "admin", "Admin Panel": "Admin Panel", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index b556f858..4a736f3c 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -20,6 +20,7 @@ "Add message": "", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "", "admin": "", "Admin Panel": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index b556f858..4a736f3c 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -20,6 +20,7 @@ "Add message": "", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "", "admin": "", "Admin Panel": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index ef9689ba..94884284 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -20,6 +20,7 @@ "Add message": "Agregar Prompt", "Add Model": "", "Add Tags": "agregar etiquetas", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar estas opciones aplicará los cambios universalmente a todos los usuarios.", "admin": "admin", "Admin Panel": "Panel de Administración", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 8f2c81f1..8b299a79 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -20,6 +20,7 @@ "Add message": "اضافه کردن پیغام", "Add Model": "", "Add Tags": "اضافه کردن تگ\u200cها", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "با تنظیم این تنظیمات، تغییرات به طور کلی برای همه کاربران اعمال می شود.", "admin": "مدیر", "Admin Panel": "پنل مدیریت", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index db0eb78f..06855c45 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -20,6 +20,7 @@ "Add message": "Ajouter un message", "Add Model": "", "Add Tags": "ajouter des tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "L'ajustement de ces paramètres appliquera les changements à tous les utilisateurs.", "admin": "Administrateur", "Admin Panel": "Panneau d'administration", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index beb81b8a..7c2cb8ef 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -20,6 +20,7 @@ "Add message": "Ajouter un message", "Add Model": "", "Add Tags": "ajouter des tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "L'ajustement de ces paramètres appliquera les changements à tous les utilisateurs.", "admin": "Administrateur", "Admin Panel": "Panneau d'administration", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 91e1bbd8..7e46c74f 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -20,6 +20,7 @@ "Add message": "Aggiungi messaggio", "Add Model": "", "Add Tags": "aggiungi tag", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "La modifica di queste impostazioni applicherà le modifiche universalmente a tutti gli utenti.", "admin": "amministratore", "Admin Panel": "Pannello di amministrazione", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 279d61fe..4942fcbc 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -20,6 +20,7 @@ "Add message": "メッセージを追加", "Add Model": "", "Add Tags": "タグを追加", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "これらの設定を調整すると、すべてのユーザーに普遍的に変更が適用されます。", "admin": "管理者", "Admin Panel": "管理者パネル", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 862e8afa..9d0f184a 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -20,6 +20,7 @@ "Add message": "შეტყობინების დამატება", "Add Model": "", "Add Tags": "ტეგების დამატება", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "ამ პარამეტრების რეგულირება ცვლილებებს უნივერსალურად გამოიყენებს ყველა მომხმარებლისთვის", "admin": "ადმინისტრატორი", "Admin Panel": "ადმინ პანელი", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 007395a5..9518462e 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -20,6 +20,7 @@ "Add message": "메시지 추가", "Add Model": "", "Add Tags": "태그들 추가", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "이 설정을 조정하면 모든 사용자에게 적용됩니다.", "admin": "관리자", "Admin Panel": "관리자 패널", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 61f34763..841476cf 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -20,6 +20,7 @@ "Add message": "Voeg bericht toe", "Add Model": "", "Add Tags": "voeg tags toe", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Het aanpassen van deze instellingen zal universeel worden toegepast op alle gebruikers.", "admin": "admin", "Admin Panel": "Administratieve Paneel", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 043fe83a..994fea44 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -20,6 +20,7 @@ "Add message": "Dodaj wiadomość", "Add Model": "", "Add Tags": "dodaj tagi", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Dostosowanie tych ustawień spowoduje zastosowanie zmian uniwersalnie do wszystkich użytkowników.", "admin": "admin", "Admin Panel": "Panel administracyjny", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 111e3c4c..3515419a 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -20,6 +20,7 @@ "Add message": "Adicionar mensagem", "Add Model": "", "Add Tags": "adicionar tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar essas configurações aplicará alterações universalmente a todos os usuários.", "admin": "administrador", "Admin Panel": "Painel do Administrador", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 9a5741d7..ca6ebc0b 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -20,6 +20,7 @@ "Add message": "Adicionar mensagem", "Add Model": "", "Add Tags": "adicionar tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar essas configurações aplicará alterações universalmente a todos os usuários.", "admin": "administrador", "Admin Panel": "Painel do Administrador", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 37a5b833..f11bf97c 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -20,6 +20,7 @@ "Add message": "Добавьте сообщение", "Add Model": "", "Add Tags": "Добавьте тэгы", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Регулирующий этих настроек приведет к изменениям для все пользователей.", "admin": "админ", "Admin Panel": "Панель админ", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index ab7a64e7..f51d9441 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -20,6 +20,7 @@ "Add message": "Lägg till meddelande", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", "admin": "administratör", "Admin Panel": "Administrationspanel", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 2748b437..e015486f 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -20,6 +20,7 @@ "Add message": "Mesaj ekle", "Add Model": "", "Add Tags": "etiketler ekle", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Bu ayarları ayarlamak değişiklikleri tüm kullanıcılara evrensel olarak uygular.", "admin": "yönetici", "Admin Panel": "Yönetici Paneli", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index bec54058..5093cf8c 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -20,6 +20,7 @@ "Add message": "Додати повідомлення", "Add Model": "", "Add Tags": "додати теги", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Зміни в цих налаштуваннях будуть застосовані для всіх користувачів.", "admin": "адмін", "Admin Panel": "Панель адміністратора", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 1d94a8ec..0bdeec8b 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -20,6 +20,7 @@ "Add message": "Thêm tin nhắn", "Add Model": "", "Add Tags": "thêm thẻ", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Các thay đổi cài đặt này sẽ áp dụng cho tất cả người sử dụng.", "admin": "quản trị viên", "Admin Panel": "Trang Quản trị", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 9597709e..12b6b886 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -20,6 +20,7 @@ "Add message": "添加消息", "Add Model": "", "Add Tags": "添加标签", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "调整这些设置将会对所有用户应用更改。", "admin": "管理员", "Admin Panel": "管理员面板", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 9c846d27..f8e6843b 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -20,6 +20,7 @@ "Add message": "新增訊息", "Add Model": "", "Add Tags": "新增標籤", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "調整這些設定將對所有使用者進行更改。", "admin": "管理員", "Admin Panel": "管理員控制台", From e6bcdba5ad7d8ba2555392687f5183edf4743733 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:06:02 -0700 Subject: [PATCH 069/107] feat: add user from admin panel --- backend/apps/web/models/auths.py | 2 +- backend/apps/web/routers/auths.py | 5 ++-- src/lib/apis/auths/index.ts | 5 ++-- src/lib/components/admin/AddUserModal.svelte | 30 +++++++++++++++++-- .../layout/Sidebar/ArchivedChatsModal.svelte | 2 +- 5 files changed, 36 insertions(+), 8 deletions(-) diff --git a/backend/apps/web/models/auths.py b/backend/apps/web/models/auths.py index 07c75198..dfa0c439 100644 --- a/backend/apps/web/models/auths.py +++ b/backend/apps/web/models/auths.py @@ -90,7 +90,7 @@ class SignupForm(BaseModel): class AddUserForm(SignupForm): - role: str = "pending" + role: Optional[str] = "pending" class AuthsTable: diff --git a/backend/apps/web/routers/auths.py b/backend/apps/web/routers/auths.py index e08f0ac8..e4a41a74 100644 --- a/backend/apps/web/routers/auths.py +++ b/backend/apps/web/routers/auths.py @@ -223,14 +223,15 @@ async def signup(form_data: AddUserForm, user=Depends(get_admin_user)): raise HTTPException(400, detail=ERROR_MESSAGES.EMAIL_TAKEN) try: - role = form_data.role + + print(form_data) hashed = get_password_hash(form_data.password) user = Auths.insert_new_auth( form_data.email.lower(), hashed, form_data.name, form_data.profile_image_url, - role, + form_data.role, ) if user: diff --git a/src/lib/apis/auths/index.ts b/src/lib/apis/auths/index.ts index f7c75d02..26feb29b 100644 --- a/src/lib/apis/auths/index.ts +++ b/src/lib/apis/auths/index.ts @@ -100,14 +100,15 @@ export const addUser = async ( name: string, email: string, password: string, - role: string + role: string = 'pending' ) => { let error = null; const res = await fetch(`${WEBUI_API_BASE_URL}/auths/add`, { method: 'POST', headers: { - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', + ...(token && { authorization: `Bearer ${token}` }) }, body: JSON.stringify({ name: name, diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte index 44d5ba23..e779c9f7 100644 --- a/src/lib/components/admin/AddUserModal.svelte +++ b/src/lib/components/admin/AddUserModal.svelte @@ -15,9 +15,18 @@ name: '', email: '', password: '', - role: '' + role: 'pending' }; + $: if (show) { + _user = { + name: '', + email: '', + password: '', + role: 'pending' + }; + } + const submitHandler = async () => { const res = await addUser( localStorage.token, @@ -38,7 +47,7 @@
-
+
{$i18n.t('Add User')}
-
+
{#if chats.length > 0}
From 8745091a16ee9077d84018dc46391ddb128c0b3e Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:07:29 -0700 Subject: [PATCH 070/107] chore: i18n --- src/lib/i18n/locales/bg-BG/translation.json | 1 + src/lib/i18n/locales/bn-BD/translation.json | 1 + src/lib/i18n/locales/ca-ES/translation.json | 1 + src/lib/i18n/locales/de-DE/translation.json | 1 + src/lib/i18n/locales/dg-DG/translation.json | 1 + src/lib/i18n/locales/en-GB/translation.json | 1 + src/lib/i18n/locales/en-US/translation.json | 1 + src/lib/i18n/locales/es-ES/translation.json | 1 + src/lib/i18n/locales/fa-IR/translation.json | 1 + src/lib/i18n/locales/fr-CA/translation.json | 1 + src/lib/i18n/locales/fr-FR/translation.json | 1 + src/lib/i18n/locales/it-IT/translation.json | 1 + src/lib/i18n/locales/ja-JP/translation.json | 1 + src/lib/i18n/locales/ka-GE/translation.json | 1 + src/lib/i18n/locales/ko-KR/translation.json | 1 + src/lib/i18n/locales/nl-NL/translation.json | 1 + src/lib/i18n/locales/pl-PL/translation.json | 1 + src/lib/i18n/locales/pt-BR/translation.json | 1 + src/lib/i18n/locales/pt-PT/translation.json | 1 + src/lib/i18n/locales/ru-RU/translation.json | 1 + src/lib/i18n/locales/sv-SE/translation.json | 1 + src/lib/i18n/locales/tr-TR/translation.json | 1 + src/lib/i18n/locales/uk-UA/translation.json | 1 + src/lib/i18n/locales/vi-VN/translation.json | 1 + src/lib/i18n/locales/zh-CN/translation.json | 1 + src/lib/i18n/locales/zh-TW/translation.json | 1 + src/routes/(app)/admin/+page.svelte | 34 +++++++++++---------- 27 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index bf52e83f..3630af97 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Въведете имейл", "Enter Your Full Name": "Въведете вашето пълно име", "Enter Your Password": "Въведете вашата парола", + "Enter Your Role": "", "Experimental": "Експериментално", "Export All Chats (All Users)": "Експортване на всички чатове (За всички потребители)", "Export Chats": "Експортване на чатове", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 289bb9a0..6788cda2 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "আপনার ইমেইল লিখুন", "Enter Your Full Name": "আপনার পূর্ণ নাম লিখুন", "Enter Your Password": "আপনার পাসওয়ার্ড লিখুন", + "Enter Your Role": "", "Experimental": "পরিক্ষামূলক", "Export All Chats (All Users)": "সব চ্যাট এক্সপোর্ট করুন (সব ইউজারের)", "Export Chats": "চ্যাটগুলো এক্সপোর্ট করুন", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 51c4c308..5774e38f 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Introdueix el Teu Correu Electrònic", "Enter Your Full Name": "Introdueix el Teu Nom Complet", "Enter Your Password": "Introdueix la Teva Contrasenya", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exporta Tots els Xats (Tots els Usuaris)", "Export Chats": "Exporta Xats", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 3aeb94a5..5f111534 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Gib deine E-Mail-Adresse ein", "Enter Your Full Name": "Gib deinen vollständigen Namen ein", "Enter Your Password": "Gib dein Passwort ein", + "Enter Your Role": "", "Experimental": "Experimentell", "Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)", "Export Chats": "Chats exportieren", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index f12993c2..dc362d48 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Enter Your Dogemail", "Enter Your Full Name": "Enter Your Full Wow", "Enter Your Password": "Enter Your Barkword", + "Enter Your Role": "", "Experimental": "Much Experiment", "Export All Chats (All Users)": "Export All Chats (All Doggos)", "Export Chats": "Export Barks", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index 4a736f3c..ece75475 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "", "Enter Your Full Name": "", "Enter Your Password": "", + "Enter Your Role": "", "Experimental": "", "Export All Chats (All Users)": "", "Export Chats": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index 4a736f3c..ece75475 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "", "Enter Your Full Name": "", "Enter Your Password": "", + "Enter Your Role": "", "Experimental": "", "Export All Chats (All Users)": "", "Export Chats": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 94884284..4f24f916 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Ingrese su correo electrónico", "Enter Your Full Name": "Ingrese su nombre completo", "Enter Your Password": "Ingrese su contraseña", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar todos los chats (Todos los usuarios)", "Export Chats": "Exportar Chats", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 8b299a79..15043331 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "ایمیل خود را وارد کنید", "Enter Your Full Name": "نام کامل خود را وارد کنید", "Enter Your Password": "رمز عبور خود را وارد کنید", + "Enter Your Role": "", "Experimental": "آزمایشی", "Export All Chats (All Users)": "اکسپورت از همه گپ\u200cها(همه کاربران)", "Export Chats": "اکسپورت از گپ\u200cها", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 06855c45..a62d635e 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Entrez votre adresse email", "Enter Your Full Name": "Entrez votre nom complet", "Enter Your Password": "Entrez votre mot de passe", + "Enter Your Role": "", "Experimental": "Expérimental", "Export All Chats (All Users)": "Exporter toutes les discussions (Tous les utilisateurs)", "Export Chats": "Exporter les discussions", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 7c2cb8ef..12cc36d0 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Entrez votre email", "Enter Your Full Name": "Entrez votre nom complet", "Enter Your Password": "Entrez votre mot de passe", + "Enter Your Role": "", "Experimental": "Expérimental", "Export All Chats (All Users)": "Exporter tous les chats (tous les utilisateurs)", "Export Chats": "Exporter les chats", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 7e46c74f..b0b128be 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Inserisci la tua email", "Enter Your Full Name": "Inserisci il tuo nome completo", "Enter Your Password": "Inserisci la tua password", + "Enter Your Role": "", "Experimental": "Sperimentale", "Export All Chats (All Users)": "Esporta tutte le chat (tutti gli utenti)", "Export Chats": "Esporta chat", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 4942fcbc..7f7058a5 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "メールアドレスを入力してください", "Enter Your Full Name": "フルネームを入力してください", "Enter Your Password": "パスワードを入力してください", + "Enter Your Role": "", "Experimental": "実験的", "Export All Chats (All Users)": "すべてのチャットをエクスポート (すべてのユーザー)", "Export Chats": "チャットをエクスポート", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 9d0f184a..d6d814a9 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "შეიყვანეთ თქვენი ელ-ფოსტა", "Enter Your Full Name": "შეიყვანეთ თქვენი სრული სახელი", "Enter Your Password": "შეიყვანეთ თქვენი პაროლი", + "Enter Your Role": "", "Experimental": "ექსპერიმენტალური", "Export All Chats (All Users)": "", "Export Chats": "მიმოწერის ექსპორტირება", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 9518462e..b989d289 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "이메일 입력", "Enter Your Full Name": "전체 이름 입력", "Enter Your Password": "비밀번호 입력", + "Enter Your Role": "", "Experimental": "실험적", "Export All Chats (All Users)": "모든 채팅 내보내기 (모든 사용자)", "Export Chats": "채팅 내보내기", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 841476cf..60618dc9 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Voer je Email in", "Enter Your Full Name": "Voer je Volledige Naam in", "Enter Your Password": "Voer je Wachtwoord in", + "Enter Your Role": "", "Experimental": "Experimenteel", "Export All Chats (All Users)": "Exporteer Alle Chats (Alle Gebruikers)", "Export Chats": "Exporteer Chats", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 994fea44..a7e9c31c 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Wprowadź swój adres email", "Enter Your Full Name": "Wprowadź swoje imię i nazwisko", "Enter Your Password": "Wprowadź swoje hasło", + "Enter Your Role": "", "Experimental": "Eksperymentalne", "Export All Chats (All Users)": "Eksportuj wszystkie czaty (wszyscy użytkownicy)", "Export Chats": "Eksportuj czaty", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 3515419a..7ab86240 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Digite seu E-mail", "Enter Your Full Name": "Digite seu Nome Completo", "Enter Your Password": "Digite sua Senha", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)", "Export Chats": "Exportar Bate-papos", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index ca6ebc0b..c699f2fe 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Digite seu E-mail", "Enter Your Full Name": "Digite seu Nome Completo", "Enter Your Password": "Digite sua Senha", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)", "Export Chats": "Exportar Bate-papos", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index f11bf97c..b3aefea9 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Введите вашу электронную почту", "Enter Your Full Name": "Введите ваше полное имя", "Enter Your Password": "Введите ваш пароль", + "Enter Your Role": "", "Experimental": "Экспериментальное", "Export All Chats (All Users)": "Экспортировать все чаты (все пользователи)", "Export Chats": "Экспортировать чаты", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index f51d9441..35ef9244 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Ange din e-post", "Enter Your Full Name": "Ange ditt fullständiga namn", "Enter Your Password": "Ange ditt lösenord", + "Enter Your Role": "", "Experimental": "Experimentell", "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", "Export Chats": "Exportera chattar", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index e015486f..104d7d42 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "E-postanızı Girin", "Enter Your Full Name": "Tam Adınızı Girin", "Enter Your Password": "Parolanızı Girin", + "Enter Your Role": "", "Experimental": "Deneysel", "Export All Chats (All Users)": "Tüm Sohbetleri Dışa Aktar (Tüm Kullanıcılar)", "Export Chats": "Sohbetleri Dışa Aktar", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 5093cf8c..58bcd332 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Введіть вашу електронну пошту", "Enter Your Full Name": "Введіть ваше ім'я", "Enter Your Password": "Введіть ваш пароль", + "Enter Your Role": "", "Experimental": "Експериментальне", "Export All Chats (All Users)": "Експортувати всі чати (всі користувачі)", "Export Chats": "Експортувати чати", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 0bdeec8b..331cb68c 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Nhập Email của bạn", "Enter Your Full Name": "Nhập Họ và Tên của bạn", "Enter Your Password": "Nhập Mật khẩu của bạn", + "Enter Your Role": "", "Experimental": "Thử nghiệm", "Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)", "Export Chats": "Tải nội dung chat về máy", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 12b6b886..b5c32208 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "输入您的电子邮件", "Enter Your Full Name": "输入您的全名", "Enter Your Password": "输入您的密码", + "Enter Your Role": "", "Experimental": "实验性", "Export All Chats (All Users)": "导出所有聊天(所有用户)", "Export Chats": "导出聊天", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index f8e6843b..06896ce1 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "輸入你的電子郵件", "Enter Your Full Name": "輸入你的全名", "Enter Your Password": "輸入你的密碼", + "Enter Your Role": "", "Experimental": "實驗功能", "Export All Chats (All Users)": "匯出所有聊天紀錄(所有使用者)", "Export Chats": "匯出聊天紀錄", diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte index 9c14f1f3..bc09c0b3 100644 --- a/src/routes/(app)/admin/+page.svelte +++ b/src/routes/(app)/admin/+page.svelte @@ -165,23 +165,25 @@ />
- + + + + +
From 3431a9349968d848b0cfe029a0b50d3f0b6049df Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:10:49 -0700 Subject: [PATCH 071/107] fix: safari styling --- src/routes/s/[id]/+page.svelte | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/routes/s/[id]/+page.svelte b/src/routes/s/[id]/+page.svelte index 2a2ed8ec..6eb03300 100644 --- a/src/routes/s/[id]/+page.svelte +++ b/src/routes/s/[id]/+page.svelte @@ -152,10 +152,7 @@
-

T2ndK*S)P-K{G8TR?fqRyNlZ zk7DCNVdF0W0?a}kuB5OxCns%0F(T*PixSo@Or?AcDO-?FNR>n7IO}@sFnD z49OCeFob-v4hdIGNP^Gu>`XaU#R%9ck*U}5WFm7nqGkHJP}j`v9?A#(xuJ$3gi=A} z82x)~QulF-N)Nf1da22hNjs2A-_}ilQPB~$?#N-cxo{_Chop=Xc_KlNnF0gN0(2V{ zFmH)A9RsvVmV8%GiuOSdG4VJ#S?a>Zbzxiu1kGBUo?{rrWFU_x(}X(7rk8teo~g!A zNg1~XPVtm>RNm3Ojh3z)7UlkssG^scqwK>Meai4sRHrOhz@4G)}^5SmVSdCu| zl_8_)2z?)@VdAcOjmK7IIo#YKA59(?0P1TvfS2tx{jSxDHlfa~VI5Q~J;Re^1xi&2 zUe8(TC)XgYBmx#@(BD(}nDR8LT!6E5l)%eDquraZtj&@wvFH@?-4p{2ndFrZLe3OG zSoa`EDZK=w0g@+`y>-4^2ZUkhJ0zB#p-=MpHpA0BB}5tWL>gujYu4w*|7}jf6n*95 z>N5FJ|JXjxS*Jj~oMt@;|)PHbdfEBh4>{>-wv{oWB~N z>uv~}tFh9yLPj)EsA8MTL8%}h)HSAncZv9kHF1 z9hT~~chlAs>hNkD_EtJ)C$4zOQk<0KU}iO_SC8nN9zLO_hvxSLnu66 z&=VSn@|vNhE*4sKm*sc-nd`UwD-n)h(z{#xJ!OqBCMjbt86X$t#F)cy#}jD(aE-hI z#KJ~&vcL7L-Z6+7Q|aWzV3b|(TnfyT5*fQCdAI};<46_@Mrh0ps4c2cDcGHVn{-`Z)C3cm&A2Az>&IUuwxgY%e zH3?7U5M>Vte_#dzI@E+i1*1DDgQi*aW?U|pvIf$y(9=cCx7-hEi$p&)pF`N*?G)eT z|MJ|PG(BFL2C&<78lH>Wo817a*BTef_rWfEi3eUFE{Ny@DIl$QW&o_Hy)P@1yG8U; ze8{($SI=;8r!^m467~pj@MJuIlxLLk4*+URX&R!sp3#U2G@%(Xc_rjE5e;MC=d*KA z?^BvkO|A9OJiWH7G1j)^ggs~;f^9>CRxiu1)?8^kZ- zTb~7~r^(8!MDi=)v%hZmVz{Ax*3VD>VL6|_8N%_+*g(vT?xplO`R-LFRJ%sBA`qddY_NrC zU?q`ay>|XxzEVt0eT|-t9IDs}`Ac~seQga&!!o9{ry~&D1U1?3{93wU^n}uv7mP); z4j{defgOWi=&l_7SN83M0okM0P#UZdH}Hg3Z*BmY)U3Q*Qy;%C}+>}566v4ty^ilu$PyzCa3PtGF74?KxZ60X+B~Co>pD0WY>z z#(NC91&ofL$KkG@7iH`xNsuzPs>B}K8Z;)#_p)D3p2wncM?+9Dj?+I>BDiDk2h?z2 z7tEx|!zJ0fb!d*>T)6DD@@mW#zvdbHUaHhT$zZ&t6gK$@!JIZ*)2=*Re0XNR%e5%R zk5B*|6~ocKA4t&GZjaYB5!I5=IEl_`5KA3rnhfyfJUUD1a?k;}17BSq!^_1nnXcm+ zSu!Z3z5z4pZD?^`$SnSpS$Qpt(t)WzJu|+Rn)CV8T4SK`wdC3c!lNZF_s~lUO2NQ# zj?2s_*|Ylk;@!ub&@i3il^mNH24d8t_?ARH2^pHSEZOjOpxKY@bb6Z3{k$9Vvd86g zc=h^j^Xk=J%Yr-)BL1w7FJSbaI8ctKA+b-xe>D&Kqi=@5*^Z4rai|iZH&ja?3Ss?D z_P1{&1#(204Xzh~6*KqDK+M7De#aH8Er*+f_PdXZsLG`%h77B-IOv));GRm3qX|>= zVK|U;q>E&wQ4(-f)}q@6S8!wC1uK?B6;#xmh&s-zkRSb(o9La%j5E5(3i z-VLxhcn!sf=IU{mVUcF`3{(-id`h;i*4F@oKzzUS&xb4CvxoyP6y}jUfup$1diF|p zqbZzl&g_K3Bx96J9d^r#bwC=*Sl6bm1JA_H>&Uf?kp%-V#Lt@RYfc+411=8{ZB0o+ z%S@3WKMTW{z?vNv3`Dh@(*S)#$uhw7Bp}JAUnoF0V*_PSXHA@2G+|~jaQINBQ(f;0L@kc;tTjO&tgMr`>G?g28(g5ci4i0jiVtTy z8BloKHYYrtCA2}4?YaXG4yBnkcE7eR4CqMdCQ@)WZPXCSb&^Yq?C$-kqQ#rKGH>RU z;F#^*&YMLrx4bBLNA7k;Qu$(!iM9M@+l4w<1 zBf4)i8P?WX(>ZWsM2BcHRuVoF=v660R!S&GZ=kgTH-ObTK=YKubEO=U8yWu1DkHJT zGAJN8=RC_aIW%+wyfUczmQ_qyC8c>BW~#bip?m7O@Ro4x>()#@(OPxd_j>3|DB12! z&esZY5GSYfmgz8!Q5Qo91aWdFB{@w`;{d(zqZ<^>I%SQ;&^e#7&sT%&dNI$(*K#FYkJPl@UGuDKm%*Cpv0ftK+OC2?E z2YNs{Jz}>}VYq1hnbmYxG@uNc&ZS=8%3k-dwyVNfm zJcNpDXjSeIR&W;fc1=nQB%y`%Jv9X%EU2}Pp1O^=WKE2N-*1``?cmBY;kl+Lcd}?^ zr7B+3>v^W6*{dq7$U$rm}6D))Zv`Y7D2coeLb# zbHs`AIT@6CyV~zXvt%_|AGhk$`H15vK;$v+IZCIfb4pc#xwb_PwrsMW|_ zteca>j1GV-h3g+4tlj51vU(L5=GFr*5?}yIyC~_H{CnNL z=>AtmTtDabV>cr{AS~IgL|B2|xHnSoPA{^@OCFIkxX>@i4g*0ePEFttRM}wmxQ2I# z8k-_6eI@0{f)T3t2#^hFu-C7c4EFbGd@2BzXXwvsB@MwW{6wBH@BRrYZ#lDx^(9uiV( zY)M*f1~dBVe0utN?A0HJ0sVgs0tSaT;cTX(`Pm#_!011De1%uYPU4RPjLvOY zj*a6w21_byLOKfpfOe>{P@k0ADoeFq>`IYQa2xE=yN9~I&!-b&dMv4T(p zDVh*MvHY7Pu!v&mCJL;ew`iBh+;_O(2|fvWBBR>JZr2v~a>x#ix%8s+tSH5u3i`dR zuriG8HF;**m_nH#7#tFLumKMjV8*2t5Z@QA2*3(XN;H|ZsTjvIL{VZzQ)>1VnAEw- z`vppu+$A&W&k!%3fHUObMt9AEDvbSEL^LiHVOxbVu7AR{?hIxKW=xP+5u8f@P_}*# zeh7#X;c1}LGCsW}pjptHI%O5p5Y+X_@7p*VTE~+&O2Tvy>2Wl3Md* z5GahIaj~e0XUqh8X&=s1mX@3h8l|Xov(iqB6pmj6+zm#RS}>*zN(GEcyHBpwsd1wW zMwjt9Z38+FxBgk$Se_h=Qu1D2TT|f2qR)lh@%yWTWY2RYhn>_F)p+J^p$?M3#NS#h z2KKDk<(yze!s_b1oQLcB<6uRZ8GR5p{V~|estkD+wF^u>+r>&x^#XEbynJP5L*=y- zJRYCSdjQH7%Ulj%NZVlE!oXP7`L*?EE=%-;p4bPPsn6N=lQo}UV7gKzLtL8U7ltrgO5G0?XpijZYD!p z1%~y5ZYi3N_}lq zMR<{E?@uLMRbHCrVl9+s*eo?w`ou$9D`I252y~1o%H4(O;Fv;P)g`W{$aapActh^a z)8{mCi%PDEx%El~=Cbx$w|yz+)VN;;quNV-2_|#yu56pIP}+${D{6Wnc4ufL5o*cj zDxm_MYm*M9^mH6-=>kt2pK7fsWe#{>+h>Uqtn>ePtdf*h>WD^Rdo<<8bs@Q2nI&vU zJnH!*pwT;0&1VL{C%I=%Uho5=sK?%*2-!(g5nbE8LP72(!?asFRMgWkq zoEz?jHbCh0%^t4r?u1p|>~^wV_}Pkq(lPc3$5FQm%>YSvV+rk90#OifW<`46 zJaG5%IzDd=5a|L~z%y8xU!-T>wk3TDY4hAffS-En*%>}{;Kg4Q|I`0tunlo1oeDt3 z@_8?qqx0nbclq$vf?iT+DpCH@S%kkMM2NnY$w&|k9-t>fWqUsbcsjf_II?k+v3ngj z3SmVTrA}Z~)~MIHp$k0PRWG5q;&MTEPHpUgJ61%^}fRftzwCQ$|1(tGTLM8Kym>xS|1<7)sHI()QI$ zK7o!!lEG)~-lO+ttPAQIJV|4Qu3&UApf*6GlnQGKeiXF%PSd!=T&)-e$0A`QbP*qF zh9aQFl2IglIeX>1NV^_stxi8DgaK2Tb!D?WgFa$CnVIAyrTHw(sQ#SQn;?C!`I&Fx z5t7Xx16SM$K-LA#j3k!>K(u0uJ#LOe6C{4t z0H`*YXi`&{<0jc?@UR*#-^PsccF#YWd?;nICa>LTSP`lLZevF(MpKKBg364>8jg*M zvG=H~Q-LSsph6FCuORCf6Wmgs*wIx2yV#fh{UYTP`Ps3kTp%s8<)cnk(Dqqe2x2@T zYC|TM`*dTxxY(O{h4iZl!1K&#vXr8Xr+>t~)a8cZ@^Is_8UhJk9VFwr^dY9~izMEd zqx>FN!mBeK@iy4!o5~sVxzTK;lGxgu zP(Km$wNTM6wBH9J;VmuU-zej-cJH*#FShlifQ zZom>;acvBgZlolQD+S5g?HYzJ8TWSnaLc(M;H+`0Ybr?)1;DisDtTw}HD{50%odsu z!poV4esL3dH~KY7ITe?60qpC-o=JUHkh{6SqBtMx%=Pw_*y9bP=5BD{d*9A zJL41cDp8^}bIj=463kLLwKH(u^G0t2Fp)XC(eA9nF; z=DH`<*fWx^TL!T0ZC9oYL^p0}0VP;lZ8Y;1kXD9pSGuEN^{=-53*2E(kTJA;25(M6A%>Tp zUX4iB;-6`X`H&%wbs8LGDN`W0G(sMZ%{Ur z#XaUv@mc+`!>v;)mePf?q)&YwinV9Id!mgfOM4H^%}%gp`w|8uPn0!6d%OeV#drV8VrTdJ?@X(h3i1lHa|8KvQ6Sj!<_;sC7(Rw(zC%; zZmf7ZFkO~(07u8Y+@GeIVIIB?; z^3~_mm;n`f`b;L!d35FD1yY=$2>kO2RTJ!Fw-PDTBLiQfMKBmU1=r^F&7iIyT4(Y{1p_LEMi%!6R6xS;a3*aFyBTcSf!*F*s_Dc@Nv8o~ zn3dbf51O&E9SrH?>4U}|(gfFstMNIKZcC@Zgns;Z)OcwtHqWJ_W{+1563LiM0%H$P z0>-sRyO$x_$&c@QFU}sjnStW$OlKDcR9j5W0tDF=|M>I(A3wZ@@4o*IKD>V~2~6y| zCkI}fWCoUy1X^BZvbc3mB+>8y1xVW3w@2+#a2a5a#KT+8*7{errDqT~t>4NerSv&v znI8o#+NzVUk5=^lT59}iebtxuw~|n}8?V2A_f}efaxC3u+7E!b9js}SR=>aa`t|tE z7H+P#@Z#nGcemFAkZ$0xLvuapy4XxUligZ5b~6H+WZuVqLRiaEEC7cx=|}gr%W8^{ z6#Z%@0(r+eX@_ZKCsBebzJAz!P#9-71nfWV9dQsfZ8;8A7npl%Qmz(RL{JPkim;I? zf3)3n8mY|;Nc3}htx+pqv`)%egGGPGprOqP7UK&_XFt74$Ygs4VT75n;I%|k@A$t0 zm&?V;_KX^)@p(I+%ZQ3u$yrg<@i?fBq{R42*^9Uyuit4`Ydd9AUosh$<=>Jly!IBM zXl)%O_|TV>SCBxc1d)Vtah}6?X8R#GI248D2TnWcLon_42iorrG__6lTjx^@H$8mL z?C2LTdU0^qrT_Gw{?nku|0lL{*h#z@*6VHv-u>82L&I?&ddXA*;T8mRY&82&gm=Q7 zOBg^G7IjEI%9y)+^ZB7dz&4HxETG(=aUuT?)fd2B2-Gt}RL50-t%KKyoAmLe8w&~> z^k*D#CUYDRjCJr`&_>bZesZi4|6N~u^ZZ5INQ3tddtnYQdims8*@ZkvOs1LlAA6E1Ik26T2R@a*yNjG<$LWs;|k zNLlFG?jhnZjXv-;fxQ?|T5Y9ikMaRzHnbb;oOb5%vOv>zFR{ndv=f)R!E!Z%y7u_m zv%)%&*50JEa-Y8LNnahNn;UNDc>_1s*Kjw0rAF;`c-m^294?`?-);r8 zUSAK^bb!#i`@8YlG=AS`vkGqEyWL1RsAloZ416_=N1v4@@mVZ-fPnnLDDz-zvd95V zNGa}iyx8BUMwSD?hQ60vWc!}VdZaGOeMhYKjs0!w1tilNtd_3H4)el9%xY{~OpqqR zdnxjvS%RQ`rpm>YEVMJPGzF%CyV5on%(8zrT=216o% zWLf{5<3;)S0!GW>F8crSU;YcK&*LcZM%sJAsFa`8bg**_SQ*Z}z?$%rgw{R^>dr6lA<}%c{D8GN_emi6jVk+@-w2BM$ zEAw@&8jp^PQs8>bYQ}+Kgdkvz`3!|^pOeY}8P!PuYvn~$haFaa4y>>p_Mt4~Tvhw)IcMg;+0*Wq<-faiSjzpe zI>)44j5gd#wwWSCb*pZL72QfHFa~ov4PXU)z1z(A)h%=Dj{rz=|Ssj zA0vqj^%Ze?gq%@?q|2xH*m{)>I3^tlZ^WPaM4RAC}y~~&1B*N?l#tNBYO@#jU#}}K=*$! zK--TWv;sl6GM>6KdE{%)u2c3TmOburC0CRFLm|*8=U?P%0^!(qmp~Lkyg(S4JVr_o z8VqeyLFfilWbaTJPu!=+rP2i$MR+C&eE_Y;S(Mne`Y@Z3Kk7aV|j)tdv%|9!jm)tX%UFOC> zF{;-=2w( zCx5bmhxuwK#TR{kczIst7ssck>%pQ79(}Oqs93Z`9Y}T4w@C$hTHSuEA(p=6$q}v% zvOCR>0#akoVu$)>P6-EzKnlb$;l;1I;!?cn8#lp9j@KnX5wMg@rr=H!{D6?a(~4+E z(R6}{ql!%m{`pCOS-3DT<7}b>2V~5X3k~7Z3+CfO$Rt@nW{E(7bK2Z)N)E(3JmZ`>x7;csXZ&LF+C6( z)Mb8pdX#IS09FU2RzDPVPZO8*VSdkUTbR#y+!QS{Yf_RFvbSFH^LU2mrZLksX-Vp! zN=YSeGB6uBR<-QqWtm;!Bp^=o;d|Rjmn7{>#Xaja_EdqqFs`%K7UlR;t=p+alCYZQ z&ej^KdK0_`uJ_mROf}{`jb14oWu6i*tnQ&3{G(l$nAsda^yXTa(HAf7hI@XT`+S6_ zg)P-d>H*>kos~{rJHCYNs)y8)l7c{eZ3+T}!%WB@qp+1f5ER z0z@G|ht_k<>~7f?!Q^Qek?-YJm__+~Dfp?S#Vl?#WLVZ?buUY_w#B+G-OWLBAE?@`B!unx$#_LgUQ|Bx8pUeqa3F!;DccFZuVF2n_ zSFJa>P6et&UdJi>znF%+#l+XCkiFxG(qtYQ==P3O>#^CtSO7Fp=tNCa%A_%2OU0K? z+@2fAJTCZ+U+; zXp^so@cwVkeg5y})5D+6{q$l0r|Thjc3lih71$oD(>%EVGyWxmvgInPm~>~40`rv^ z#A;o;`&0G-{n5K9pvrAiiYt{*nUIF)#|;>`6CzMMTD{pujIluoR4w8Sb`Ar6k;Ujr z0SuIxnx{3lE6D*C6Djk>=i#y#-Z~PnSg??Q&+07(#p zc6pC>yJh|^9s=SsP-vnMpuDcETzo0x)1q`vDyIPLCR+)!vz5nDLb76wDkF|3|>(WfH$DasMWdb4Mq>?>q!nE@F2U#oGr{O)9iSvP>7 z=U&8JZr_`XMcpU}msYa^w7P(SjWCYNj82?b#|2Y3M$(ihch%ubGL|}Zb#F?&T~1^W zr3F@MY=ZN$(d_-fptc=@1O=nYs%Ij|*_0SFnw*W!C7C1+lwI!UIes=n5wNb%y#>Ol}p+w03vRGyOpB&UP*#uXURHAg0W7bsxNayXGFcdcw36kdrb$Y< z-QV8|5WTrR$Pa^9VN54bLt<(r{^%$gl4j^svS>Ej3 z_CH14>a{`a6khXT7qH|qx@D!2XSn7$DWSGoi*abIzka4U3Y6isq8qCGGh?8DQHZaF zG>P?Ui7w5BLH04<9)ch5g@TEH(cfrRht$--Dl~}bOYCcWw<}=dI4@% zK(Sc=pcbXN<68(dkAs6hHY2#6d!%QxB!_nu%11>0{}_9($w@!@90~v}&$~kZ6v{pY z7<25OR)JN86r`Kqo)(g2?yoSYBWyie0_n9oHa_k5NXY_Jr4t5GyO=izxxp4WLN7|Rwmo0UOpnsJJYzoE?wy00aEjo(_7@sRl6rN{TXm1UA-7BjA- z)Y3*{|F#|nJhtq7)}GKDKL!Po0l%CD zj6OXbr8vEpV{$Oc3Fdl+ZV7y_a_4)vh_j;F<9#D;?|IgGr2LM$u(ggU*F2T)ZWWyK z=T8DQ2SDU%00ID;WuWUCmF`=XI7ej+&InFcVy%`*^7^S&SjlrV@XU2p84%wLMwEZ9 zhx?sbTuF*LGGnW8u*?cimRZm7qF0vawA*VfQhsLBgaJg;8$#+?0aN8x=0lz@+FG?t zYCs32{#~zdlHmu=cBx0C$K3dRyD(x_-ilbMjFk0l-H8eq&1*n0=D@~0f!90s{VuIn z38VHhVBk!sG6!uBI6Er5pI1L1gE=ch7{Fng%QH0w0o)39a2BG`rw{5W(vbAEC~#B^ zI#4^H`GEBWtAq$e@r1lLjz7odt7s)=5={1T3dkV>7QI#eDg@11UI&2zDmdMvgR9Tx z`6-f?T;wGYU=0bfyYhKT(3!-G>o7?Ov~L7dck;?VJHY7hTW}+$(-1QcW08Dl z+s*qS@Q(NQ#}jA{>}P#^0izekhYwFf)}Igi&2r!8)7M1jujljW>#<92IE5M2Cy(xS z$fTv_azGFKCoW_bm42bGzliIP;Xipw2V)h1m^BE-x_~laU~y0y-`ON9dszT#e4Hd| z_?Zo%6>JI~d+0HTVyTN|?@2jrE!fLAYtn-u;TX3AS{tDLQ-H01#>s*ZJFNg(7wY^+ z#}z0O$F#94LFT%6GGGw@3wL#u+|Q2|+NXl~8over1+dopP)4U#F2yi#&;fv1?xKKj zg31inwyFTt6%U2=DA3rSodZdt)m$p`gwKG#&Xu}COGLsK3s-u(lSSqK|jXL<(JMU zlF~?=`OeHA7pcEGT@O%ZZu+yTAxYq}_3Q?bE-y_klH&KaCK=@Ic6%#Dqt9yR1@*bj zsP&`gxnQ<)H!gBKF`GKTuQ0TOksWkw?CG>d!C88=CIRlE-dLG62cjNIFmYu9P+;gl zln<^XzyO&+=>6R-TyrU>t1HQ*XJGj-T=eJh!&&ssiZWQ`Bqav0oH4)MZOqLtq_>u5 zt1H+4!yo95t~3d*tz53Q9(_Frn6)@Rn+LxSG&WqrF_b}VmKdg2Y*|gB>}drZ6f(-e zu4b^4fl~k|*N^=U7Shrw)U*(ry3`#Aqm|!5Pni5S-Vi`R$&9xj=EGT zEdl4cij-F3&5l7B@?7o!9j#$}UW6_-1J~U*waxo_biIlX^z~SOs@$zZHV{{C0qfl5 z>1+)kq)m?&W7`TCrTA?PWPQwf-(J9>j?rZ@MTsl@46k{qk!(tA>1t5>zKJ{No?+ke z_Lx2y%77cijqjg_tT+xmb^QMOdH(qExP0?XVJtq=;|myFA7ed?C57{5Ii0VT`FJ~@ zp6-`^ykU9YBwBQ8VQqU*S4&n<4yu9_;L;ry+pO1@eG~hMREsM(@zWA~V!-|zs0C*O zFi>TIK~@OewZFMONelH$OdQ9?ajU)AcW_#>1nJIj{Gs<@s0aOu7|K>~Q`0a8&k)DB zH+9XY8ET9MIwOFvLXil@G^A1~7}i{o$#!|R-xu2z*JE2yh`E-r#0EOcYeGLnYHH|b$4WtWH>MKI z`@F2?!%iwmV|M)jzy9naAr4c?^oV}bZ`pVS);7Oa()DNnoQ)$c|0BikV;mOBz|3Bm zy~WN$X87>uxwWUVi3@oA94pf8aNV~JNet<5e8T|;U>eNa)o^(1K0LvPkB`tke1wOO z=b=Oxlrd-p0i@zX=5q|-C7cv#TrPu7F6z!*zm88&Ql$RF`w#Hlci*Y+f1z|q5ZRsLK9eI{H$%@_AJV(>`okIY)AUp%nJ+~R%ZfzYKFduB_eq8^! zm3s^@8)hPz*%cb9XgJAVtIrhR>xsntt4rQPlTZ{ECySFc{c zix)58<%@d(nXHsKR`lV+2N?2GemJw<<4GB~?hoqP-|x28HdMhVmw}olXGRI!<*Y4a zeeX2|l9sG96_0^4lp(JGN*z>Nhn{4E*}~c5He=se7QcH&$u<~5%5#rvi8U!sH>ru>A}ZZr^DmKYA7W zWH)E?J-8LJ{a1`#KL(KOYj4DK(o`F=Gt2zHl_S0s)sz++Y zW0ncJ?rMisS-l!NZ}JYa`iGyg6}`a5oHS_Znm1z8la~iuJC56B4NqDc%Eq$U>}c%m zp^k^Jq7A)z^>X~Ydan3C!{ZAW%|q5!W9@uiw!>++8$x?CTuc-9q~{ONYMo=m@ukgn zv4K__y#ms_;PX}XiFHSp_8UGM_zH+X#S+i25`yd#@K%J6bebsuGf;J2|M?mH-%BAv zVeO{y%lGP--HqhJ)ZdK%;U|QVYbx?Hy33PRf;JS031(+Op@3`$!?lZw&qI#h4s46>JKkGks>GH8=tY2h@;~J30%u&X41v~2V z=3|b3lWmP>U6LevPlE`(1XY}iG8?^T{G=vYDH5SYnL6;|`2jMh7)VrBr-cuI8jOtP z2d6ne(qDUb6rpcP{S(CT_-1$l|sALZkz&p-7f*Cay{4@Mr@NT?7k7sDunGY^<=SJAzeaM&jJ zsU1IgFj|tA#JIuJ$2|^{|9pD59zu1$^ktYk3v)HtV&@^O;*p?aar${pDTZ)*z7qk$ zM!k4B{w~%fmACOzA2EU9Y*p?#xP*@Wj>h9TT!aF|(q(@+I0uY*Sy~SeSHsp3pot2C z0zm9LJ_o37Pen=qL{%YpmZ<*jmO+fXQwncz4b(#zI_r#fZuyTFeD|k>SrSESEfy`I z629D10^|@VE|BD1 zUjE+%U}j9FCyjvszFri!kL$Tcz<9211i0$bN1Upkyu?W;IRBm*69z;TG?4%sEi|u* zOp;wcfQ}m)y62j?(RGXt6to)(#SrDbC#}V}C{s2ZtiGZHN)Kz% z0Xq<6FuJwOV!59&#$~e@d#~U1)#hMyyD`@@v|v6t<9}wxM!;o)7`gH^1-SM2P_GE# zU=$44@Qib~!1eX@U_@UIX7r5!(d)r_9tOC4c>FMc=;N5j4+2JcMR8ZEgOqW)8gBY4 znS=d)BL(ldQ`1(MQ51%G+X`Dw7BeY8gkvpREa=Hx&pc%kYg(SOuYWD~Rm-+fVKwb8 zqbfyeIj`+Q9?nV!+D&hiSj03blWO(?+10MKVZ8Ba9sHz@FU+VO)3@J#yZz?XtGj8p`-xSfN@+R^;mVDt|9S_IN+Ij6tKD{D zjCSuGtXqhIFI9voJfpoGx|1!K~IKBwuyj`N`uFbM-;7 z_qDxC51WEv}Z6vgM&)xKEA zA_+-gU^@Or&vZ2-AQZ1n*<`h7HEvF36{I+I)8g%18finEs5F4+_|M+<1D9C3`gk0U zkwqTa{OHXo>L-P)5dc`O=^4}%Fkk};!4ct2eJ+Ul0y&rI^(Z=@){XIZVg zduiBAf?qxVEb-Xdv1yD-;+}VsSfrqKqm|+9_wm}60h*qh0XE0tdizndHb zcrn20&jx6{zh(AxFY&gVanFfMTdps!UVjx7HAgghlGAoTPP$Nz@3c@PlM!ra8UUTn< zM+l%W-jK3248a~ux+h*$Ijhw~a1~srF7+k$y^{u^H87+`Ja6#N7Jyg(aR7!EtF4*p z)w81QZZj#Xr*b6ML|9Ilvcyhcm#*m1yh%<9bl0mI|La*b>lR){)d5ro z5d=eLf0*!dbwF`GSS?Q|=PTcp)28L+LO}Pf$M4yq=ge9QJohZv(BPu@bq8x4EGKCw zpzB^GAe5coqYBau=B8t{9e^>CZ+gxP_@2f9=mf@Y1R8RyysbdFpVQm2HNa@CCj!{U z=faE1gdya6R9U@9I%q{`m_W7eNgB56N~KD;`ZSVB=>`zPkSMrw_56y(oouKHBTA{N zNoHsQm7)ZYzHKpFHlO;aY>tev@aKzlLYga81^Ag+i=h-L{)Q-0pJ5GXr}58|EiG5f z_FTx@LK30=$EaNOwK09wod zo}{!>mlmFn1E6x8FT0;P{uA*Ej?ADgYRzejRb$mb`(|_e;dZx|^|?PjiJ{9M=NQpt z*5|;0x7m3aSdxPZd$tP7NMh`CtB-Lmb}iDfSTgpO&mzm7^_6>@$H++>8_t9u_we%N zJ-iyOd1ga729(b+pPvT!oX5`te0cwZxahZIF79p*QtIi|aN~1a>D~A|$A@x3|D7ag zse69%7;P~E(U@{I(7gq4ZA0qJq9<2Y8R$l#OI0w|Dmu$SvqV4-#c}Tlh&&G0d-JLT z>h2GqW-_C~G%at2WuH^^#FlMe09bU0%6-*MEO&B!;=qvtggI8rlVdr5E8r3?L{+)A z>n%XXM&R8R)_<)#0i7}PcmDJm&+0~lKwgLZj{ z71&X#!hqn;nE3jE1csEc#GN#bIt=@eNxDZG)QSl%LsQtOJk*4=n73YZ9j1|_GP20f z?#)y*>_`)tOgAsqh-2|?^xuu2*YHy~zJO6#N`F3n-Vg8G@w(6R{W70k4UO`8Sd@3e z+PQ*>HkKW3HE9xv!U}k_Jmtj|iUhGk?Vv1F?_Z$?U z^i32SJuZ!LKj_RT)}L-c*_kLr_E{IFK$W@l*FeW7Niq%+>0*wu6ox7q7l!_BvDk}n zT>tz0@URKJJ%n{F5d;ssUlmY>%#Noz$B<<>9Qe`-@va5^I>ewp%W{;9_Bhu{G8c%f zPqo+eAQrm(2ejuiUa%UMv!bsx8(21p3ZEn7%;jT3fHUu@ zDoqP~e(LyQ-;iXU%5!7oF6}56h_I2S0@@QEL=`YFD~%X9{izwC@x%*ZR9z(sTf@xJ zEDRZgU6~|CA*yZn@2H4^nqFj*v zBqg7=nnX1|vlSK}RUuJN7oRZEpdeWixrWPncaQ`sW^B23suaavw49ohD3e;FZVc2X zUP2)X@OQ(@_mjs7`{Ur&qDaZaIV&y<<^b-TCC|x6w^G9CO4wcomJGbPed*(1Lr>#h z-t+qbsQGhJ)c$sSe*C*1u6nNH%3;3}C(5j{8&Rz+K}?aE<8%N80V4IY0X2T)u-$_g zpu@B4d9G_MQ7@%Lk_lei(6Y|E#q*gf8vv?N?e&!n7DHs-e{xK;RtE;Eg<7DsEYV*k z0WO{d=^!;^HaMYxWxs-eYk#)uFfx--2&-2^5|YlrN+JZa=(?}WnSBS40{F=s5|n$f z`v#p$#dZYbyaiP`>GC?|w_i7aaMKue;6$*(Cj0$C(H8+up}vOkocw-Vog<}wXpu;) zdO(+x>)X6%4da-cr^zK1m-kH;Ve~pr-PYfvYeEdt;H=nBe+@sC;|my-<9A~ot~ax)%7|Ie3p-N%xy8uE5 zsjtwpZ8UR=>Z$fj6&T4nTS*xc4X+jt(&=5}E{PHJ*76XZQ(p z{`}0ulL)3V4C_wrd>C4^GK1U%aWz@zL zh|m~cpWRId#xMZ`f<);yr*(p_6yM+&!iq3(t3tdw1tk8u*Fo7xh0HTm?=?FN$3XDy- zg^S8YM0F|H^YdZ)^N1VB@6{4eYXF_GZ4qngijLL=@B{c#Obb*N`toq)@3-yA5#Y~0 zKc(RlfX;iEVonA^OJ6C7SUN-}sF;(ohaB)qLJsV-uszqKoX=rcsY2A4Qtbw&?(>a+ zxyeGEdHy%BoQzkNcxW^bsjhhS*Qw#A^QYaKnEBg)y1}IYAh#BsPh;$-@s-oKpRKxV zCuP`}A!H!x9bdF|=wL{Xr!j_)GGFXgznZSC$oeDz(bon8v6Hy%)D_s6e!1ja$*xFD!mzQ`8Qv^8h;;#d;Utp7V&m4BN3Ck$dzo$SjqIz*{;l!dx!+87 zdUUxl%r3iCj;sMs#uet6DX@v&V=vaU$6^Qmifi}Py$qFPjG)gGh0>uom;V<-2YK=O zV43UThN$fq2!OSgXRc2aqif<9StSef4oo%%mEeo$4k~#(5uMpWN5`@ zZL&z#hqbEhS|?Ts>;%CstN8?Dtb+hwaO^|u^RdDCp~3e@gjcT&t9;(aPn{WU@P6>% zyZOa@qOZ^M`M;m%{-=W({rOnHx5#9R9AHe46}WF6Z{(dF^e8$XYH166_AcboazF*i zSkVg3eCnX}`Bs>qIIpQPcP%!n??#Fxo)+-Z`^6v)7;-WIm$tD0eJXK|Ax7{5(4b#2 zU(@a?TE0SiDNniS3)pgyiv^&la7iW%Ou?=MK9qUAJX{F7i>hU(m-q^KyFL@=MQBh6 zQ^<#7%nAQH!2}gpQm`(5ZxjF?SHp8K4Doru^)p!CLIs~bFRp^9FfQeK0I@!Rd~6?db#+EqG%~lHi3z#(@wJ@)yEF-MJ=5T5jf&dWUn|$e5 zHzq!qsgnu>-C|^|r7DoOi8Y|iPk_{Q&x)Sgj`IBTdAanG007jvxV^a%xBP)C0id#` zy_GIPCcCZ%5S703_qWEN-dN`R4yNs7Wt*CS6#k#L^u;h%=|`8GX2oY!3{moySV=KW zP%3sZgHnP8V8McyeOr8FKP z4P7Ny-LOvZUIB87Id_F87>#i)3+ zUX0gmzJsX1c)o6OlgV^R;I9rO%ro2M&E+t_CW- zmfpWAkY^IKia#cl|9^k{B*AF1qT^??Kb)84j^O-eEP_89tM->efqXrl`0d!ZTfv}> z%Q|_MYm1m8Ic!n6T?GWO?Q~O8>iSE7QH8K=>KYHVj`PWHhV=Nvx~vew<+BUY5F`O+ z@|@v{DJMY4&ntU5Md4zHEUV263EXm+YarDotwJD~z*EZv4h$Y-4d~z!kop@GjLEZE zq95C@nCC9SIiBS+ml1{lc34>jcd`tk)pTu;GtWh_y32_2o_sv{UptK{$qjKE?bx7>%(6G9m3e24Kol$LS@cwwnS*xx}~_17*MZV z%Fl1v)$vA1vsIp7l(=F+eO{;e>z-ozgQM}GZybPawC+Xp;T5i>(tStJB$Jw12Pe8U16a8 zMo=M)Uf4B)S%K^CsrBWn`cg>cXQ-_BRNQ*b4jGT=i6kKB70cZi5>b>&bB3k2+3rE& z;l!`Ov2Q0ywy>gb>b~P7j0H1mzTBAiWLEj_APo&@H|_3X%xJTWW*5=SZUsmL2(Z!YDFavuPhm+~ivq(5VD$Vd(7Kgwv4}PYT)ikta~&nHon(xy zdl@EuUL8^m>E!@rK$^c>d8MxemH*>RF@?d>RzS=CpMU$w!;okY#!69~8s}wE^sYqm z+n@@E0w$+&#|Y~XB_7vL2D!D;&AWH=qOFr*LecfUa?^_&c7Qf!^Q48Ou!LH+MHs{u zSirKv9f;}k;UfOhH=D>xePMLO>UQr85IM(uGwsG2*@5<&AFgGxPCQbo2I1!6NxC>` z*b2b$I7=4%?r9HC!{yFD506jsF9TC4#E(s zEJf;bGSJ)a#l_A0W3t4Ww{PE$!9T!bf0Xslh41<2;o-s9VK8sSdn+Elk*s?LmcF_w z>(2>L-tv=Q=XRqE6!*K00Axv!lJQT`xr*6LW;Pj^@@Lt-emX6Y=yiSIvQB%61-%=t zeD28f=FLlS({n;vBqnkEYM+%YZu#I~*Z&0U2|t=EXuqxG*fij8=#>g4Xc~-O6yIT;iNnDoIj$*BZONP@;Xa49O%j zCe47MTUEcVH8%i6oUNY+Qyqs#DLy%B1+-_VyTw?ipj-_y*IahfL zAwb=b=+(Xb|8fl8Gvh+sV+~~z^?RU?vx1@HWCMl`ba#c6fL%r zOqXb;coBm(ISCpmUI%z)a(mK1sLDLz8JDBA1R(JoNasR5ekiWRZ0QHj0I~i`K+ll9 zDT%N{G$~5;rZI1<4NPfvXX$LLxtFSoSLauY#8AXqF1?#khx!WD2G!II&{& zggOTAj~%y#rsxyd4)8YqJs9X1BJptjGyt)-TYVZpbi12jcN#!$cZTiL(fY#=;P><- zwLecMW&0OnEG1yW4OTH~Kuh3^aUYLIQPA2cX(MwdjO<4L<~p97$i$zK>o91YHVHQE zCk%iAe3`XmU@O3Kf6%G`=rv1i-J{AYDG6oQ;?MKnQqD>YGhaVVZT)RaHUFaE;`C8{%YawgMkB}^=!R&pw9_K57^9!KUn|XeGw?VpX zbAOtq-PUe;E$ly|X2Xv(n<8s+@F)22obdavLtn4fgo7z82-; z;#q(KCLf=J)X+$7N}B7NKhm=pzk~ZKKMU^DKw`( z5Eu{zlSO5&T~?#dR)b7D%je-Thss=eLKwewAKnM{)ZQ=s^kR(fns$R5opJixzx`YM)vtc_Oxt}f$4?iGjt2{W_Gjal6N=AS z1L{oznnHsl@A>ddTM-&9<5Vid$RfKC#l~Z+N#a0d$V?&QB>*du00RB$zgU#DeJ2f9 zdyjC%nDNG69GIfE8{_gh{L;Kw0bWQKMlgsIO4~$SC`xxU18N(bz~dvCg;Fa2_EBC7sT{ux44sno`)hEAux3|uG}=D0MRqOFTG3rveN3wL>y|lu>RRy zdEsi7R!p@0-pg`KMygzo0cbDE_u^hCmoGSgpz^yXDv`u&Cfnk1*TSud`#cqquX?EMQXC0$+Tw#4Kz5$Q`Emdz&XIkF;sZm$BQN z*~Mi!2t&*F$t9Bb{2yPwkn58H00yHTkIA4_5{9IP=SDN@11zLG*h=wv?drr}nm@PQ zDf=0R*(t)(a;K!-4qn{f#`!tf>-w-4HkSb?1JT`Hf#@>a`RLvsGcpux8#~r=eR*+y zUl(=#)Y#C=om@Xpq4H6IT`-gR4KEv%wRHi!w4LtRb?2$r!?tjo1;nzCWPNS2GnAsC zC7D8S2H$vMf|v&k@0FfM8&X)P3mNlhV9q3SB=Tf9j2dbR!Y=2><&7s#QqdQ#Ba#V? zy@b{1EZ`awkn3D{2nB@a!>^4FywGKd-=~EM)HzO7wi-LFo}G?GKj?eOVrrN4vUu`d zw{-(X8t^|;GZ()LF({!S=G{|2hIs>HJQQ*&!jsD4a=D^pQ_3a81fl{!&07J+3PgQB1bL!q@0O1{nh*g@-U3=VE{(Z>om!4Oa;-ji!xB8{~qHlYhijzSf{ zYiP5w%+Oj8A_zDVcf8apRUz1IlQ!GHT)swQgisW&b&rhV>9Pp}+}XVnnt`sReZ)d< z8;OU@ZYnM$t>&D?acWqA6;XFnjU>ZR@E5?3tVdNCs_X^e z^Qj73>0`MB-TrpWpOmSQQ5GTW@o-cIgQ>)A093*nJV7MeUzXBbq(WTX&I9Cdt4*#G z8nMlur4F#F^?(=S=kp2jOqZc|ZE_k8tqhEWO&FsEP3!Dxwb;Yjko9OP;Zf~q}k%kUrY@R-go2zSIz}BjCZw36D#IrJsIty!iHV~^Z zpC<{?VFvUp;Ia2CR4%T}i2?u}_R|2HdwBiwPRcc@tACPliJN~j2}7z&c9t$vo*+I= zTGU>AD(0ee+e!e9wMGr36OYp%fGcd26)L@#DCWv60odY{v*!8B zFS+C^`anpSVn9nAFStHeRw^lObI?5}0HIIdv7ure+Qy$u zST{R=x1P~11RWR>r9;jY0=SSyEu$m#{3KxnAl&wdtA6XD1ib%VnVHLA{v~A(_v16H;;jHryABWq10LjyKmTX^5mYatA|151ibs(twl{+?_ zX)vmfw%4pisT(+5ca{v5nM-cN=!_P1%W^j`&-+zx$$D2HY&2IP)LQQ!yK(tk(Loc4e=~2Q)D10N6pVfiAsn z@phnrNwS=Q?hQByR&1@UA>Z_i8Q7U%ldQ5QEa_IUJ9SWr8na!Cs)vyl^1}8KkG;9~ z0&_m=Y}$GKIY=iZaM=-xL|$w5LG^gF)s_sy9@51Rcp+s>&SH6v&-eAk`0UnQCv-Cs z04hfghTkRupz)+zC4>~nqUQ{Rp>Dw4WAtggVjSqACxV9YjZp92&^b6aD&YcDtdH9oy+~8S^NA{TT!Hp`cH|S@5{1ll{eDmhb_QQvNINWZh+jq45eChbh0mgng zR@ePl57%Rv?ijR=O>0C>gP_|@=(G!98b|dxP{N}1zE@#G1S>(DAGrVqE+b(rgj-W# zXLd1wDQ*$}QBp@4s+Djm0sYLRa9Bp21*hc@v=RW~d^t-KC*$A0U zY9RucjvN=j4KXk3%xKH{kmMzP?7!GAo~ef@#JI^^wQfk%F_(K(zh4MC%V#(D*IJS5 z7bt{v?>3hmSL=+K2frq+MJzm@F^q9lKV>Nnv>2;lz^~8g zlJ|QTncZoXwVS8|Di)T5!Bcl8DB?=HBr@O@?U{jf|IxKA8TY6K<-O+WY>I;2(0g%} zgR~Ld4VSd88Ld0Y&tsl9l1aYx$_nE+U!TP_|MWOq?}HtcbBi(7;N#r;o~hp3X;j`1o~_EfSx*bOpBT`OrJ; z!ho`pQ=?M%HM6h81?#VNk~GDq*;=hpuu@TcKUc#Qzc(<-@9&Kjbr7m9eg~l~@V~H9 zCHuK|Z43}em-d`s1tI@G_Wo>1mMysw168+q4Cf9xAqzlBLD(d_Na-p{OFz{+_!0Fz zE&Lw-1pcE-q#;5QB$$cJ#Lat#2zT2`+p24+s(GB7Rea2I;F;$}guA)f9(1cNoeOY? zbil&BhS$X!q5&A>xh9aEPKS{sX9yN{+V?tUmfxFQs*76>ZG4V z2TPHGS10N^>=AQbq>7WPr6kVi3g(Rlpv;lKZQGXL+8J*}E``ozTmDWKOmG-He*lP% zweDM!C3a%vQyX%F#h&*nRcgQ);7+tf97xJd`xQ(EIffKrCFY=(QMln|7I2wAanaRf?WSlq+=M++*A z6`McLzioyDE^kUKVa49u^Ekb0+RNc>c^~0#^2K}T{q@y=QEQcq|LXbq@tFB{ALskO zyj<+x&UyWBjzjm~z3#7nx#Ber;(jnxyLWBn5IhkU1Y)g|kwDNI2<*kn(q31A2ZT~v&m`LiV_tPaR0R;CUb&y)%J9%!nP%d8KCgees)>%hrl~|mYXiJ#i zxZHrFQT!h6b6*42Ow_8~=QRblNR-%M9SRGqCbL6`ABGk}b-nLQMrthy-6$-wB_1ro zpNCVqP4%7i+wAV$zL&Uk7XS1g+Wu(j!oADg$IAZcU^Kdw3XxXieQyk0k(o-FT8Rmy zE?SrvYnz_#2HtX_T%s`@K-EVz?wo~6)kIav7-#>JR>RyMt@OE?^oh zL!$#yz{;?U-aI~YW=W#w=L_7|>NPVNvU2lG|0f5de$D>wxM##m&I4?&jzcdWU%WT{ z%@3->1$p=W(OvlNKKH5tmde5smiu*q)sKhEf4TRcB6EE#AvN@Rpsxd$9)FKK5vn2VM*{xNxdME;cV)$sX0i4L1UemKQ&SNfiWIxBo zrokw4Cn*vv=K3I(Tx-qBPL9!KYibLb=3k%5-~727n{>pQdvYfX1JREApx>oD>>`-} zs^R_EkGZY#cAq}}D6fa|YL^v5E?@lX>x>!w`9UQwFN7^_*1mW9?fQ5y z?d75$OIV%b8^Ll>eE06KjrrH$vERiyeE$03T$JjwBT z2+^EXK!gY0D(_EVDfM`x5t`s?Tjqy)+p09j2-ls*5PJWV8JW3ct_haZ6DPD~O@@1( z7Q{Q3SX&DM!D(d)Bi>B#39Chk8sq=Dvi*<7Y)81Lv@BSCO)a(8c$TKc)KdFT0fld8 zVuCZe+4@l{tjn+vN_?IO9Ola$Z^yK%VAh(8Q-T$xlV+>u*@O(|9(6eTGIvlaDFnx` z6CFy%u9}aZbp_9^_Ig@90B1m{;GkQXcj?(PfyQeo>J(y?N0#YhB+IHOqN~>4t@s#dr)o^ROX8>(XM*)}>H@GaP zads{q+cLJWUN7tH$})dAuD>3DZ)a+Q#dkhET@c3^rJ(kS-tl_LXDs*sS}$L>)jD&O zJJ#L$tA#c8#}gD+DXjhG=Xhn^FJ7>OuY*yvJAGc6@5|Nx5FFw0@iD>Z&kykYfK2%f z30)!qViy?Qyad+D)_;`8OC&F?OPCZANqSUP-*Q4h*)3X}(yHGqqQ~SjiQz>6B4r?C-_s|U#zT~VrP(P-Qli<`CxVI#sSsxBmH~#>>IuchKWlT3eJBQ0O0Q-J1J^N=W#J_$8OJ)+K~qt-iT9zOt#QyMr%8WY zC|ap|f@D~}nL|N?5@drS8y}$z5vou%U2AH=n>>VTMvSXYZSm~8CtEIMMJcRTU13j% z{NN2U9^QRA-h7rX`Sn$T(LerC_3?3KE4*Iz>;8Dq$io3f9}mJf4q<>;y=?GYXlTXXPpaA?5Tk>Dn$` z4glWLy4egcA~1shqY?5wq}&HCBoovwAr)#|F?N*`AnHK0L&C|d%mPdX`4!r)Ce!50 zg}9w#cTZR}77l*_h+<91nB%u0ok^M1xT3s_N;AU6v$+RW-#pFB+Uy#*{@m-txK&yy z5m-kASkWaF-J8;$_hyst?yq8Z4?l%BwDlPG0Je?mY;9=*g(U1-jlwvEr_-`=V>1Cy zWEnM32t8-iOOY|q-rBA?!o`Z1J60#~VYoL>tA3%xn`4ERc)T+}t1!$)q$fSaR1o{+ zaa~anA+SS$OJRv0(Tw5r$BwY5MorHxt#95VVm^4eqy^x1u^jh0Ld&i1meB=9J%)3K zb#0_z+m6pZx(h!(-^K&ZmrE+QDu-40nCI%AWKmRK1@We=)w;(ng~j?ww#N$%eqLzb zGvN;~`t7&RQE=ZoP(64;()!+tFTLHO2>!CrK6@S1sH3`V2*q`tFdfJvVLcPgGMq^* zEqY=VVLn-~9ek$vYAHg_mqzQtr3j(MwZ(SNfZGEP__i8ryYj@B+qb;rH`xDBUk~I zr_TRp<7-wd$;Z@WmkAo)j0B`5Hvo>oXUy(duqA&apw6VYflwrd2pD2vcT}kvH~AV~ zUnLm*9zU0^aa(Nkc3t|WZg6YUUAl@-vwdZ_g+d_ma0ct9b0QX1w{-B4&u-u?-31Nn?&>a;A>~x=GWqA6sO0DO4ZNfl*E|lRCHUWSzXzchr zm`}`SgP@=_IW=HAkKgW?6j(w1ZJd`iP%6T>%;a5GF`(rH;`g~9n%esqba6BJgXKRO z1C-M8gP{Nr!gN3pKr5|7fz~~yZ>vE{^}8oGT5G!F9?gUh^unc}0I0aKVC2)m*%=se z{)`zNISy?g`z;_nQy4qKF#Gr{H?iItmI7;aWDMY*RK<+>$ey0C+$q{vn!B8pNhK8C z&g8=-Z96TDvuc#yc1PkX7BV}#%y6l(OwcKd_jvyzl`Iyqq}6?BBq(B0{zy{c`Ejvw zoQvtvc#(1K1+`b$fQ0Z^)i=Wo-ku~&dn2bh-! z&xrT7o{ta6gnvY#{fqaVkFHRwfc=v{i-|MW+iSS)SFO>*(#uXiu249z*gdv%t&BjZ zdQI6K3Y6+OQC-T-Dc}IC6`9sa5dhGExY-SD9~A<9HX8wvC+;>IT!V+k?h;H)x}r>r z7TnHbR7DJ{(^cb_s(UZZlM{@qu2CwM^a}YX#Qh|F$Le8 z(BLT>&I+XA5u?B}3(Y5wXaG_16dfnI=ksP~CJQum(RM&pOvImWa0%jCbBR zT>69B)LCNCIdFx4d6>gqo+`g~rc9uRD)={AY#8e+HP02me;8#NAJiVb8FFPdKpImY zNi)^bIKl~ddw=q62d}Uy0lBW-cu{yI_QN{5W%knF9smATzSP&(2uA%>yk2jYIj;|9 zwuSdGZMFbi<*uF{!+QDPby&kHxAywo<5Rl)di&K? zYU+A@^|?NHLHyNc{^|Jn`J)^biJqS5dPUe9fAbTF&>S=M6Yn%GYD(xinhH zd8ODZ`B!3=6jKR&X-M$>7|DAh8IoXlR_VA@Ok)MY5?lKws1(q19gMt~^lb4rMc%px z%dq)8M|j(MjP$y{dxsdpA%;51n42rUBAa|2udf1(_T;7G-{s@>!?V5WHwUSFcWCe{ zX7uSGze`wX);T~X=+Jf#|8Fw-j9KZf3o<-hD|djQT`Bi}om$pO4}uTSz{8LavVIQ+ za5uLn$MRVhjEFRg99)XJ*ylEc`X5f;OGV zUK^4jFOGfR9U%6}<4c#@=JDatlcbjAGF-$_cl7xHs@$7fb#yttcUWUrcPNd7tyQ|| zo99)a{&3Gf(-rRo<1Y8hh#Hz6r|a>bF=i1c0Gxi(GC@*2Gr}7z`GR!|D1*ocAA)F2dWc~HIe&fAAA|(oJ2|nh@HRtlP}AP0(vhpw0KZT zrq1vE_V5->eRF4eB&v~y-s{}*2AGN@JhpbpXTyuyzNVCHye_C!N|7OG7wb34r^?;j zx{SGde2v%YoiM6cJ1Yd6*bjhur=30Cv(v9=#6Ka;Ed z>LB)S53+gQ=k0N^u`S|-bkHT_FAxhDaMaL-Ff$a9Cjpz3RZ@FWQVIODOD3P7Ym+3e zC&oc{dmXJhs0Gu+85E5-mdqladS;B}a-k(4YdI7F#1U{Xa#%o zIUf7sHF664r7IraoDq3;cG2VC1Si2LE6Y|IbJDOzCF4xhHh!O4>!v4;TYD*D75YHH zsa0O+wnxPQx~aKuajOfb1`9~t!>zYQa0>95Yq{lGF%csz1E)QQRbCZwyIlET*aSZ^k@XfX->O8d4A&FN`%3mQZB=m|4hlr$fChDN$@PazM1B89HDcy~(|?9dhlgN58wO9o+CCMF$ud}W)C zfmYJmhA+A>Mi##UG%ON%Kt0X{_GtZZ1!t9YI&j}UsLKSfSs?y$`Oax^-%)aHd+_X{{-_3ARAgb`DVzVg5}KvMLj5_;9Ov@LpnPz-4mBBkx|seo}i7le5o$rRNWf zQN{*7tN-B%j2-w{0lZ8!)t?wt#*G`op(0r~WC#o$l*cA%a1br2N?u&^zk6U-Uf?q| z&s>Z#1eP@`Y?ee)94#W6N?Ql|;eAM0d&E zXp*Us5pH>jHLFwnt?hdvjKNxmcJCpn&f6F#)V}Z&V6DxW+z85M12&#HJZtjldbuLIgP2yklX0de8WB0A(qaSS$@M)Ij+b<0C%F(YYfb1f&f4pZ zGA^2JCwH7Fk*si_VLgaMGg|y(t%j|7wGXh$OIVGRjx}ktr2w^Onh)?%nYlhE?O;YQ zN9?^2gpzin$^fFkT#&e>eut-I3%C5beu2UWQ;0M5FrxXxev97nAr!-vw_M@jLflGu zyP*OF_HS7^{X8A-J)p$YK0<=6?Dz#NSF+S?b&Il6Dpa364tMdh*J~8f-aJetVotsM z+GCWs3MDGy*d7qSr=a2Cb%)Vs4X*kHSQ#(vz}l)Q1~YrOGZ}v^0S7}a4_JqI&dy3< zDTGkHDD17=$z@x_t63^L9j7bb2Pz5Tsyq=b<#`*dM_F05157jNUEB-+ko+!gQeZ8P zmlChlXKD$42xQK@TD!v~bl9e;5le}6Z;m9b>=J8je`0ed7r^>t$`l_j8)#+V2~`BQol1@IMjY9>6Bt%3^nl#b?&e=QL@xgpEZ_POh!4Oti9LoM-;*!bQMAnl0DiWAXSB0s}Qe;bEmwVHns|6Nv45Mh*PGm0? zduGVEFRK^_=Z3i&nn()yqCJ%c=Jhl!(UfIA}stVbfGeV8xb+suhBer0ABz z;u(ysjX8>!#>!ab^&TYr`h8=3Ar8xQP#7-$f!3OoiP1woz^Lj&TIi=IOgS72Wx9DY z0+0~w3BV}VA=XOU{JEB%fTdKv+rPes*sIZLM&DWyxo1>>MBh^Dd5Z}&taFA02YNcY zMW4wd+W3l=>wg3jiA8IWZ9Gtt`S%@3$!Er|*6xM-Sts~E^=g2q(_-j?b&syt+Ml|w z$w`**dY`}9XD+uBztI28KzqF8Pro#2=Kih(ynSxcu56ELYf|@3g##XlI^wAOfjXaI zxF}-+xKA&1NxqVNx!i6-{HduLh)jO<+`i{p(+=T;D&u zsy**!-yRlmL`seD$1F_T6S1EqEI$l>A?!amvz~! z5LhK#!k?f?lv)xmh_+qnzcqlNr~%61X7|#jx#zX2Zx{xu!}x1`*U`!^VECn;9 z8Vbw|0nm`cLe90fdYG)5!1X_^7lm=-+PosOS{EG6j#OP>5m1h_0{Qn)?j+W+iwlBU zFvW3ZefTKA0-3LbwI`JTA3|6Yhz$rtdpJNWBdoTyUAaDP6%lPrx-t3zL2>+ln~^NW z#DEDPpm#VR_Yx~Ql5xXg0QevY_DpE?@~n8wWzp!+QD+XR)zZ@{ z$IDjn`sk>%O02D}N}I>WMpr4x{XK4d3HSRd$F$b%~QDl7NrS}%lKHi)|L!)m&QG5Pp-j?KxIk3~fX&EFoiD!Zi@|u~CsOe!pGE*F9 zbJ!gq>*Lj*9NnFhyo?@ZDW*d4(v(Fp&bO29MuqcO+EX3S&c6CaLi%SD@Xo1 z+sCvra}5V9$^z@O;d;i*&ph|)9sn3)oGrlWNdPG-y@oCMvq2u_98?f82L4I<<{7t% z1jLyq#jUW5_*b1@jcPuRTXZk{8eU&rHvRQ_)p@rxq zx(>l|+bImA4rhc_8e+QGc_b16;&<`yzR|{2&(<6xe95cIIw6)o?|g^>>LkRe^bR9) zrfbwr+#0`YXJe9pfT5u?_@TegzVu7j?yG6&9^YcjjYB1L3yCvM=3pf$(ozzcrg4AE z4EbmlW657I{AAjenTDEt2TqOHB?sU`tb@2rRM}7@I&K!Ro{A(b&3HhM1-Eg&2Q?9*ty$-Q}C7 z!pFF=#P=? zxx=jiytE(mv6D6Sr}5cZ@zc&LL{q`kJ~b)%@aEY$56ji2+$g1>#hoR8>ijc!Sd^1v z0Fg?`IbOqx8;apGsdCoyF`iH+Yrh88D3vei3SQ7SPNoHicT`<&E3*Cc}IUn>&H>+W9SMpaTerk!hVP2*^-m_KH!ou2=&60E~ho#4Kmgu0XMh%yBKDYz0O; z7?cyR(33Sd+vW-rm5^kb=XwZBy3v9kNmo`h+V&z9ebDt#DmGO!nKUr4ElJZ-@ys-^ zQQ62d>YLT(NcTB;_2*vB)1q!Iy((r6p!MHHvX*7E$lR;sm84`KrfX*-mlV$&?GL?n{3wU-IiK1Eaq>Or!s>Od1hq<>@X#oI#2egJ$hr z1u)9s{KjzBt1~%*(ulSE+zUdWgH(Qk!z9{de&@#R7Ci2H$7Fn52_);4@WSfekoS?? zN+6S;Z$c~@40oa+KG$W+DLxA8Hyg+@?}=>yqX8_gd$W|ms+?N=EGD<^e(_UHM%k=_ zO#nHM->t0+1dv3bYl2*}0-ik_fu9kG=IF^Z7U143HTx=ʶctkFg=tc(NIWTO<< zX=$l(OM*~sbYTq`6*!`@qPZ6LuK=s-`^?z2bag7iI#C^5YSv)|XBK+JQd)t3krQx) z4> z0YgR7(Y+X|ea(2oy8}%NQjqt=o-Sc@!4|2U!ZdgY1>jju1:tbFoqu2!x~4 z+3;>oW)H%C+=6{428zlMJHm`g@n&t?SfcPWILDe3Cwq#d5@rCTvy=;bMoT;KDv`;Y z(Je~3Lq6`iJt>s%nTjIT-fJ9J4bfa9 zSj|&VCC$<09=v2|_wJB5`)%NQ7Jfcy&5^JPa!KFWK~8?CWr^>3-Xfe^+8RV6Jj62@d$`=pb;vRjC*d zSBv{&#<%xv2a%1@%R`9-p~i2KF`R6$N}9Ci7aJ^T)&WfLmi^&zd*q`8(=?;WBf6{2}B=p`&_0}PPXnq=5Y5Hvx9D$HhH zVFT{sh5&OaHd^n&cqLjt2J-~y@O!qf0E;Z_wQk!f_8D%*#;iMCc3HqSc&6<-(Mli` zO>kfL(6)q{a}G-ttV3C7nilDi7P=G)8uXFiAIeJyAab5nCiIk5C~!-ZWr+$40Wyzk zF0)nGsM~rsC~Fwg$wCqHs(B8TN|evXoc2bWhj&Brx}z80vv0n6CzVXpd033z!w6K6 zRUZ%}x?{yzU-y38X#H6&O3~fO567)lN2o9e)=u8pkrZcH;b} zy;ukW^$zTEG@F$|8$2}5KKCNP*esBz0{*rGz*?RKUzW+tbj?N#PMpxLt@yrGGHIXJR{rGp&h?hs^7`L(e|5&XMs)EW*_SuvSJtb?KTQ_; zUV?fuN#oY)9$E_Pu%b4GF0l`3DHBQS!@BpWntv^>zdW@rwIu#NQfj@-kSD4X9~FN4Xuq% z$guN&Agu)EBP}6r5rdgIvqalmmwOnS@7IT$K7=7-M!6?t&884kX?VPWbE&$ zuVlQbugSGlp@0$*d}L(ou-6=2Z9ShJW35(cw8L$_qt5A?!(}7y(M&uF%r-o+iEe&v zVFLNjX0w9k%nKlf;YMi)0KL*+(3Fl` zThRupFvd~JNZVe?#1d8|NE`!jDAE#CxtCTJGAVu&fV_+jmd~%n$rTIa>d#;8e%Cn- zyfq6rQYKjKL5~yd#trV5VV|b*{3}Av`iU;d6Z;Ghwn^1>x0R2wgffT?#nFb^4lco(_{gU57_HP3Q80Sa3 zb3f;I>x@b4ALSdp2c<&e*-I&1iq;nQi1WDRzgQ!LntesDFCL5@M4^BG_kVx+;obG= zXAhTm^E!WS^Y;Dm!M6txeL4=O=Z_ZS;`b!2TBpNK;SNSZz!ShQ+|t&v#8)Pq7tr5W zkUgIu`84Ijz_MC4H-!Q5q)HRmWH{}9AtX8b8Yl6oNRLhxVV4=+0pdW&K8KDx);I4z z9n}L~U#@6(7UQ_SUOgsowIEzzbh3x|>MnDGfb`E_^J!~5`>hWB0w+tDhA=;@HB%f| zvX<*92G(jmxg{zNi1o1M4rB}WwK9Ml)=?EHA<3fU))>5CZqc%FPcRzsWF-i5{nBmN z)}O3sN(pK$p;3dKbl_OcVuu{Xa1 zIuxVAx@lRd@3t^#h_r9k!#xcTLKTpijZ zTJ$a@)|FY=WXjj^`l7+8!I%4A|JU!f_wUE!%h;a}Ch-07)_1r4_1n2pP(7<&2V=KR za@_)8sP=;%#Ka4Nv6luDNd&RAE7D+@e3^#IlMZBkEho{LY}n?(Xrq7a2ga zx^ny!9AxO$j_?UgjT|FO!rTr3`SNo0pLDT*`t;(~&*+C8K-D|Zc&kGsuGqTnlh94E zx!YsUQ@gC7`;21T0rD5vKi2SKUZudx>#*J;GM$-dKtX~{fB@x4t9NMV_8MAz+|l(=Arr zWvdnPaXNJ57eN!+Ku3Ira#V;BT>yWbu}BCTZV6rSnql3sgmTCBIj@m1*5v6D?}Y{nk>P%Su|xX@0wd zcUZ;S4SA9Lm%SPV*y&ICoY&^{_Y;p}pipS91z?%>+8cJ%PKx0^WzDhCh^I;J$x{NQx6$_-@nK=fBS?A^g2FNY?gAspn*$urZF zCC+9sxB*w~A{>v4l$V2Yf+%-b1qIsXZC$@IH31UxF)862GqR}d*clWrxwj4#v;CY4 zq$U%F8Y?%dz&#*ZS(rT709Zh$zZNcc&skbl#sf5d`1qs8d@jr9kMBQvEa(+~fB5hb z*3W43c=J$&JzaiL=TPPS`yT`Ndb`7myYAVKnLW3?Hsa;5h#u>>d1;#~T1l2=C6dHq z-eEZ%`OjL+Qh$GGn>#bKsd=j#?G9%NJ1_-!P61%BGNtP+G~q}}SC4ZVaG!Qppn)M8 z5)i0NxCM4qB^WIze>Q<`w*=U0%{FcGGCK*np(Rx4&U69Nft`UzxcNtG>9 zauC2=8tu6kTPluDMyIl1tmT@n&jwP=4W$frSlZW3mtw;;(5&vj;_)KgWnP{NN#!K= zaf_q}i#3lm!*^IE0)wTcb>jK%I_u|8%B7uaP3xD%ELX^f8#q=S&%<5rrM#pHX4AU1 zOM!_va}~=v(*hTtmvS|t!xI#j-MtL~L>T88^n0A6<#N9~$iriVwOk-CBVp$je`o;E z)mdrLl^eQeWyR0tmS0bd81b<93@KP+cRY$bab0)w4osZ8;v807o|~8$6HIg9TFbov zT%DP+5}H&}k;0AXdwt3RFTUl9CF{cpK)nQi3{MZzRXSiL5%qiFXS`iWiKNw}yK$~~ zkzfkEwCJ{!uluuHL-~m_Y?izHS`X=}%kXxn2L zVj8=PzcJIy>Zfr^gGWXxKzMgzD`x>yD%!eXOcIq*aPOJPOc+0CL$Qv_B0A*3|E*Zj z%jHQ9N3M5ay8Ra`N`Kz3uOVhsKa5Wg4>x%?ZU1iC>#yg${>5>Se|`|tyMuZU<0Ybv zw2slq9Rx;JR#8jMNzG0NeHE$=*0O^yS}=`U+<7y$57kIkA=9$TnzXKDEq ze;?O;T7S=CmsJI%H~@vjI3G_I2(hR>;8I8am5X7FI8>a<-h2qr{$%rF6sW36n zQgFtaCWTO_Su6e3fQIj%!qUe%BuEM1vqB!WMS~QC0wBuuu>!X-*LD=GH(D^aTKdlo zWyLf=Kx|MbQDbAcNbFD4WWB9iqXQ65PRg^{!{fokrdac^N~-jj(DOfm0FG9L{j&vv zxB_ig{XbsjOdJ2i{0vDp3Z++=U?`FbNI{shll4TBsx9HDfd%^56{A~lN%$jxH>TJ{G7$-pKoaffm zJ%pU!afOH3+|6JykTlc1DnqE?ox>=6UGV#8a!y9XxZkh&ed#HDvn+rrP4SQdj=4Tv z=3-58Zv0&WNh$c4o-XTQS(4wc-QhWsw1B1(2uA2&eO)(Zn{&w%%GBWhjc4JWxdmun zT#VI<&uSZwMuyp<^7MZVo4>pHeSZ@(d-2-mF=P+sp>qUPsq71}qtq9noS zsf>xNUflskw*%ZiJYEuj#J(vKNsfd4IAM7T0PYMU=fC^dc7V*&sxfoZ6W0Vnkpe;! z*wm^vO?oilWVRgwvpEU8nKZ>5pV-0@L_&ro1xO1`Cc8TUq7zM>eoD@-0AG7$94TG% zGX-f~*v3ZYPo;>00M~P5dLq!ZpUBi^X%@S`hZIa<9X>a>0SGb#1q*i%2B<)eVNzgJ z+g=U=gy9y7vCUB+$g_0{z`EB2Wo=kfHxgHxJLx-onLhlFIT4Uffyz<(#}mCFR7kds=+k|NNRkxtfi)VwCsghCX*v(mJaB z)1u}s8nnJp`^O3J_#_}Ru28HD-_P^Nk=FIo$~{k|d^P?Eev>R7o(R(aNdB3MaFzlK zg=z{DYB~I#YkD-7TU zeavk~Fbb|Gab)n)u=+|Wu^Cq22PN_vqU>3HPplcG@)=goR3t`)k zNK=O9iDUKnMMH7j8%h^3foDQ9U5w!2A;d&!iZ z$Of%WV4<+E2)-Ov&iC)%A0YIjgU=NQ`oj-@JizG7VI}?KbGUg%{Peic;ciBW@=fSM z<-*95mpJ^ex_V;Q&X%bVTC0^{At~`(CRjfPl9%{Q)^2snW4aaN8Qyyvfb(&6kx9+J z_QVsSo-VMWMhT`Ty|;LLa-VDz61Uzrz)mj7F0V~TPn+6q_+*dCkDIwTStjy(RR5Nod*~pAho;u;GAd( z{H+z2UrDQ5?L9@48kt5j}qrzo$L?)WdIoxX&Z)6>h#?Q#(R;YHhzpZhpK;W%9NUg>V5?94+j zQd^m`YKLvo+YPqcx8$aZ`wAiPbO58VUlG@Hm3fVNaPD3~d7+D~wt>s4_aNP^*O^j* zUpzILg-Ez(KR0c`HKCow6bsC)az#-(^TmJvbO6wgpFYYT|M*Aw_~E02&BeHX{P9P( zdcGbm`|SV$%PJbBW6pu|*2=SZtu%#895I(X&<`H36qddvvjbgQrWw)iE)dOdmR@Sa1L!+a-LW3_kF9+ zjfqhOMAvI|`-*GExrA6+kmGq%??pA~Sh98>6IjT2!+2(mrYg&p0JY+vF=r`nLY1Ep zF!iAQ!AcH^JGn-BQoM%r5=Wb`j-X*ZX{AVpj{mTH`#@V*#v2NNY2bxfb&Ebp7m{5=~t|0o@!NL zC_}XT47a`IHm-Yx!WBw2wx9e3h3%`3=FBl!?mxpYMD8=VV{r+fva69Z&ir;=5bVk~cl^L`(7tfM`v5x6Cv*5v6hA z>?NRujIAW2%Udp4Do+)5bH}jT5sdp`?sgt!2X8GPsMT!VBgS6p{97H%Hr@cEOQ!I4 z5l^jI7HLxPNH7IB)~ux>1&Zo(lpaga#kGx9vj)B`?;pQAZCVdI!|rQ)X8v9`@A$NL zm?AGxsXZqCOdg`6@!3jljPP|8Diu+2g0u*JEDXhvtd5g&GRju24*6Ypd#Z^3#Cx?a zeuU`ZiktID<$A2j7~6J=yZGW?UnCes@)EKY{@06+Zw{pQ`{(_(FE{xdSa*3uZ`(6ZsQ+oX2(Sg*l^2V$Zm6{aziaUKO7GP5Iqc@&jF9MdOr`V z)z$p~r-lo`OHjS;u`G@&2tR&a<>UKL4n#kE{2)L6@yEj|`r@Cj@4mc5+~{J2o=h?g z7A|YTDq@YeMguWL;Tnq~_&XAtTxhSUq9&obdz0RHjB&-guEOC9q^_hXUo%{P+2G1_K_K2FBSAOU z5`U+4G&OMoBhBlI=@wnh6RRiLXfn94f|k}_ntl@$mU27=cy%AKuq;V|x6z*EO9~4) z={Ukcw5Zwg>Fqhv1h0~)lh#z~bIp5Nf(h1f6>mI(4oFQ>hakxX3ED>WgkboL`K!5! zAnw_$Do0Jrdug+h3acUDksd0dGv`X75Wmzp?1^Rs=Ssnc-$$EwB;IP4Y07@>xv)IE z1*}pi5n1E;V`z;F1I>Qg6q;N+Je%+PDrrn{qLyV34G6`c_8_NimIXaD={d$Z@>$yA z0U?}c(TzyO_f4EHYtyI)@|Rpq{Ej%(2AZTTjrQ*nVDg6i5cQv>10et064>4I^3LZq zlTU)MQii8@8+6Mc>5lnjC;-;TgHg)EN)*zO(pg8;u@}tMiL`|*5}4k zUscgJW0JP>ynl<+HL3L?P^5eSAS--s?XHr1Bab`&lk7y#13AadmqL1;yEIvd8{yeB z4ES+}wKA56^b_A>wH5MfvkGN9J!!P6D3e@h)N{#;n_;V;ueUFZ8T@5=`R3P|4E$Z)Ei* zxP~vb|BZVEkDtBjH7#!dExy`#{sSPA4fD__Euh&RK zS}~!2`27!uYyN|~=YRb1y;~~d*~7tTlxNyK%P)*WVd-=YdzC&qu77xVOe@nWXXRy^ zEavQP{N-xDMF|?ukl(aAw4fS6xZ`2@+*j++-G4^sl@ZL(mpOJN#<8Q4K|EtydvZDJ!~1vCTT<1xphTV4$vh0gBda`O-Ai3tft(|Q=AF)1rHEpQ|nyX~lEFp|Kc zR_6{ef~oKsaH9_C0%$)IVzUtW*l0ySQeO((#IM?t#?C@0NMzB<7RiEMr!*|fs!*G98axN+jo9qkrWuVVreJ^pG_og0St5CaeY02 zF6D-#>IKCzEqX!_)rWQFAsMR+iyPsJ#}g9BfbPTmHiay>ly{Lj1*ZWaN%HKDKQ$tl zT>z<^LbP&z9RWM%Dn<4)vZSv|0^7U6(GM^q4kP&3yk9pv-_9D?Z^Ei85P|V6mDd{A zNzhW#p1>&Ae@flAE3)K^nWc}!MqWG-8lz2#Bj2y}E5)3=OY!~qp5=EV+=Z6dDOplc zE%Od?{;Wkh>D|fWE=&~N5&E_oG5t$vr$67<+R{gnzj*iZGJm1-{eN%c_TL}Y$p7l~ zdi|UIcKy|E`#0NaerB684v%%;f@4>V;vx`Q5j3qEBvHKhU06PsC1-&mTDIKM_VnQ2 zT|jhyxkbXkHG?G4jn(h-k~&=8ygJlto)Tl@{gY|gO89w79O zhxK#0;+F+-0D{Plg&u zR$*-LD!YSjTwxX7(mhQG6y16DthH$Kme!6+3Q<=`9xgLMfhF)q2*Ioj&$Zt14`C16 zL*1WLps-pY#KeVzomBehJjhw#&75t~-Ndt6k>5`59&JN=ixb%=mC@o6~RFoZB;ILOK5V-LXv*&x5n=-|0Wf$PEa?gfk@;gRLt0eDru%@F^OpK9$H1|@akcZ~gXSewo2yv~} z%asA`tu_ggam%5FUZfN*1yJFfPrF4PYg^B!Ru71|;QjoQ7| za^z3y$$;U83$49tM1mg$XlsnH5>LHfoftzd9lxuhcM2WbX!5Mfo6jvn2v)#DHoCu1Q&vjMHghOFHvfC&AF& zW5Xs7{v22S#p{x<#LN{Uw~R!e4sYe|h2j1sX7tbfwSD;T@_4yCzdMNTmxr+U^#R2G z>e%(~4>Ei{i1J}obV_TJG~t-~E~#}-4KEq`(56+1oDLY`LnbUnJQM3_mn{-_=3Ye` zCVRFE&K6?+2zpbggoPSx4_? z6rKZX1ZF)WpnOM?l!L|BD}d>GpL+pN-r@__xD=%{);L$ifOX~ixdiP3*H;JEF~3Jo zb_(nE*rQIP_e|EPXDQ0K!x-xYaix=inGm8L?2g#KCBzt)O4l2~sBN@x4Jns?(Op^( z9U!oP`36ABQc+c$-kD}vr(#q66UILA_sI-hOBosd#^LcYYBuxIP<(3emS=d zg-r7JVr}ECn94a7@o3-!VlCkUf@-!<9M4*Z@;lHiX>?%^fyXTHwT4?HSGnDA2rQPC zyrfG1Oz8@$yW>ZAYDQOF);jDn&sjgaQQx=Rm-jAVDnR)Z@QC1%(n{QF``6<;rLDh$ z$AGU5L+w^YVwWb+De8zrmL0Z$2rF^9fdzdFMp*N1XDyZkOVuofk%& zu#f#;vg!Y9Un;-<{rKit$5juvyv}bABK!UzoSz+J{_Y@y$FUrAV1D}M%hJRhwN^<% zx!xUAosxk`GO|>ZVQt_8!pg7~{a}Iz&|#Kvw#`%#wwdf1pEVQ!!q1J@4@`V#bf9Dr z=d#@L%jN#z!-vBf`o{x|esmD_3AIGWwq-rbj3rx)cWlxVMChU~?LC;3XW7G@UoA6- zgIRZZ9)S~hLG=xCIY4r!Y~Wci#9MLl}#*#0hmP` zmf{`Rs3Or{ymEWjFZ*LyWY>5$bhZi0X5BNzjSEl7d92qYZ9t&L#?1z-qu8_qb&*o4 zt#)==jwl7E09*;OrfIp#H?$PKlZ;| z?mnY#`GoWiMbW~lG6=F)7)j6QjdhEzUXuIX1>I?rYzpHjA?oGcwnt&c&lfGa&7PR5 z3os$03V_QybWqU~S-8>#Y5=@dQrXedV9wlfd=3mH0Mq)O=oyeEa8=PPfz$4_KA%Bd z(!gWg|NJrzK%0k)XO1k`nq^ozz&TT!%3B_rkF*xL!t;eN5GyE~YkOKd-pW}*B)a7F zc7BZf)KvS?(4a+LSV~$4h>>hJCKNQ3vFg=6?r(p3jGdR@91g&_oS#=;wEGM3>sc9n z`+R%znVm*q_4|Yi{Oyj_7kO}!7q@$n*|!S#tXASV_gecIuaP`5$A~26JV&mq#QmAy zOpcRuD&bY*Qst;}ZRkqb-CFuJyuMh==szEv^l2&fx7+2=`k$`z_1$&8d~>)w9(5JE zKg5b=I!CjPB$HOSTiPMZSHy7RZppI)M) z%X)e2*mX}$dxw=avd*{ETBF3%>j5UC^(Wor>qYA)0m}Mp0lC8j?bcRWeAcr($9Ms- z&D;{XS@hFp7WfKrxXv3AKg3<2`^5OLUkl`t(S$X36IzlZ&JsdQs*d9VRtp$YlVLg8T_~F>AOT?5e*ZtFzXWx69wq>!oNqB~(TsGU3j91?jR%$6($`VQQ z4l6{~@Njpymk`7ELJ2@DW3wdjfgUO_@SRqGnzdNZ7EDmC!Fugum=RkkB_ssEY(uw{ zw2&>j;5lLWB#g136x_w@_Yq?cDX1&Za$>TM5!|QxXmg zw>!}~JfbX@qNJEA+_~c8^L@k8F{FV&v4DKJpt~^kbsXLazT)TH%Dp*pF#el+HX&#R zWM9fhLF}g%zt}4AS5lm5SY5+4&ktuNy981~6!Q?#4#;Z90!YESR*<0(2D_cP^1P~I z*xvR+Pr$5OvjPrjf=$*6^-l;uM_Hj=Y1pvlX)Q%NU4yWOLYIKmu*=G^#9;2(bf={; zRm!M(=Bag+NJf3DdrqLg-M6rZ!T1oQel! zE_iJ`q?&?6tZ*!X#wX!Hb2r)X-X0+bOWq7mzYW@R$gu@a(y=IP{TuQ%yuSEggqz&- zumFw&1nB{?hIwGz)TsRzv4GPP9cH-i$nZ{;$Kf_WqK$Mnh}a2q_L!>P%_0wb(63x{ zOTuNavRkKC?Bgos1E?Hz{F-HUnlMRa#SAW{#SC|kH$@4X9_xM zSVKQ}>82kJV9G4&W%0Vc>=Da`nsrOKt$9AbdzQgnSf&*c?Z|aN{aYEf-_I%fPh@zd7aBee(cgM+|2|m7qnM(D=e52nR~YL#Cm#Z zCI}}lfify#XU=Z1Ma{Uh^2YtfWphNd-dhz00>HnxRcOVHzWeq$LJ(Fw?E=0tp0iyl zmd=x#wh*4445LvG(NzQp&}4K7FL2lTxF8mFi}s&`3X&lM`xxuKITKs^ZJ>#0hX@up zXO(1;NP-IMtEN>ssdGm1Toh$r*=#rGvK~V65OJrM!S<%XN!7}2MIkE^jB`hyNH|%;BA4#O zl^A$y07{)^95NtoJB_fIMuDUP2W$!u`?yJO#-S%LFxpZuw8Lr*A(TZofJ~?d1o~+m zjo*=mRk6*e?`TkNq*aKRN)QB#(%@!m0^p<-D;3Ea`tf*8tf?ij5v#O)(KnC=&jM|5 zy#P>>M5fVKP{7^#_wzUKO3ahF2HYF`98{FS_vT$?fPRj~oNYZAnT=;?$TUqsLMwVH z6iESEJ6<6w9gMbhxO)YySp#dd^l9In9Cw^uJMCGHq*){LT8uPn@U|lQ!LBg2^Qa2o z!W)xHb8d^~e7Wv!&77qKN>vmi)mxoTi z_}3Q;Mt}bE`1$eUOrukceQtQ|8 zfI>So2y_Px1BJptsqC)dnRM&A&(<2#^Pw5aii$1-q7LWoEjs`B~@ z_bRP1mPr;-?&%oEtqRt=6$!DUOa$S&k!@t6#WV<0WZr6woi6PKE~_j`XGX<*LeL>* z4q5rDj_DXzxLXaem660^&uiR|p47GKnXaGF_g>t}y;9Bsf5cB05x&JNe>G7&dmw>o zgB6Ox#~_%@L3}9F=4Gn{F^mhCj+S{(L1t3+8*8*u;9SyD9CcOq4D0Z_YZE$jiA#Kk z=Z9?h#NgMk_h|VzV9_aBl{{~fx9k=*+VI+cRiu}y?46v7`%`q~Ow)=nn}BgkDZ*cz z2GeS;q$Z*Djn?-RSX$pZ$Ff?{kJ0VTB{EnmX$dT>(uKVesPbMN#P;WK(mpY1g%2j^ za@GR~Mozq@t)28ekOD^u^k9YT61V@};#qkfGwCEPbpUe)$8`eRkpRu`Hy$nop3>t_ zv3mkfPi$dWxUEe$r_zvuwNdw(oYp`r_y2RR`|mNVKr$Avfl+*+Dm=V>V8WRMXS42& zGecgn;d-~e!c*c^JNg+64J_}^yJhDr)$<$-fK=+_@R_by2twiefK?OJ2KN8_TG?mb z)1SEZPk*cLoQQU-pbxx8-}zb}vz}&n|Fq8`Xz~!v?Wsy$T0oPRTiwr2_v4p22Y^n& zspg?ajY9I8QVuPj741#wk+{m&@cMEsqdy$G`>47UikHJgHEln5{ViBXYM$#t99+gH z!8K1!B?XX0a)1Cx787rTBoM6DKq)Os9v?X6oER|RB8+l7v)7Z$pzlWeRydO+5-E1ec*tP0QD<*5 zaX?3&3m15^GKf!ZJ6gHq3~IPJXA7SeK(l+{5_4WLRN_n4CG9f7ADH}kI<<3}j#oF@8DlKtE09u9ewyxsMCc&@sQc}D~#e~8-n)fS( zK%k5{MY{IJy=Vzf{9Ddopnxa>Ew(fS6#dj%j9Jwb z8cuD`&{|zQZr#IMw_0egrE{pqDX(PMu@YUN45SO&MDF9lefg|mBF+5F+qzutWf z`Ac6G7`3WL@o-4_=hxd0-`(czm$%#N_Xn7GcQA*?Z8%g>g}a^LRNG-MT_NsfHM)l3 ze)MehtNd`dx<1J!9_q3!9&#GV9{$Aq~ zbtf0tqjkr#grTXfc|UK@?%H0~)Yt24%KU7rm~o+3PqbRUuLQ0TxM9ikumL3L+^ao|na9L#isf;CXiYGAG!alx=?JN@qH z%&_Qe6eFhlIV{V20IoUTSSAAeS5>^xOf6Y93V=2&xteD#+-$Jx-U%~;QS)|?jM1X| zi{F7&7GVY%GuH*Sga@IwN6c7dQIs}gc)@nUx(*BREM}dv1Y2hGdNR{3tj^M`_&Bqh z7Vz>oQCR$(Ha5w5g$0}IrB%NeG@6Qm>}iFhlGl@g7_K2uEP{4$C%Y5QkjfKo;d7}l z$>-#HXaLSNXK(H?6TXIwCq_z1k4IR6M>B0;m;V@RJ;F;RZ2+#2gC?ZyFF?D0g3ehY zrBrZ#Sqqd&C}(`r!D9VPFq^|5KqhX}Ga?x%-!q{I;=-{D=u{2C9hG5=H@c|L>jGP z*V>uVw%XnR1Aol9aTsW|G>0SP~}XdNLW#f6ZaUT;ndj z3$ElcH$vKa>~W(UUs&EV8nn$B2~gT36?(_xvj5v=Wyx7IVTSeG7p`K(buy>y|si1!8?&$WoJCPdvWqfBW|ZpzpQ|^M2R; zRua(l0E8ES>BXS01l_Q%IvCxz07@6Q^7tGGa?7IG%T+ZZ5lW*-J(HQ%_q--2fGEpN z#j}{a6zexHba!tOO$e?K5MjORjCN+mk$7pW_4gGuTLqca9^x>z1l9yxkq87((}0My z4B|7Kle18P!c)34NL)x$E&Naz5!K-_hq7Z%}Z!P(f0ENODGC9FQk6m2PA1Y~?s5niYD}b#0j&#o+KI0nSTT(Q) z!DDTL=3v^MAEDC1J*h}R{+MJbHa^qwn>On;$8V9m z$BjskYPIXy&Sjte-Av`QO$9>?lH?`o!6t7Os9puRvbV0vs7+^ zN?AA!Y9?lwvWkP?I@b96%T7~GjRx34dWJm?@9keYF#TD+)^2VG5_>ns{)^Y!^)C-{ z`I~9iUmw8d=LaMF=0Gx+EwVGzfzX6YYiwsQ+FVcspG7-lq$MEwp~Q#4FH`Jv2!olY z3kOUl1l(N}2Y(De%cyKq60RZRlv=x&O*&lgtCP|n4KcwY}bq9WpCmr0VN6YBGz*E`?=6UqScCr?3T#2 z&dUmUa~JXMZh5!LULr=7F^gQUbf+5&%3s|2dwDqA*x|3>WU^1@CO+`q}?xcAHBYt%jU!qidDe_6;L z9xs0VGGwn3Ud#}dWOBuT0+3XUVsT**f<|`s=wt!wUvaxA%Y>Wx`=)0m&7W>5LLc=A zRo=@obq5eq*h#EevVSWD%P{A%bk%2jRKCw-JZTmV7I9Co$TOpTyc`z=1X%T;g(ieW zWM0$KbULm1jEJfx^5Jv?IMRydHYpxJ)hyg!dl6F@t+GMbXaVSb(~+1nttqLJ^VV*e z5j)knRIZI%WVkp;)ByNorHCD!x!f{pRr<`sRaQDKKs0NNht*xAq0L;MN{a$_0wAt% z2)V;bj5~zYjezTfDiBhXz>y12SH2|hi?tUfh_^Mv7%f6BSV~D7sE{I^eroV-t>?da zY5vg9z=dG3Dw>HUElw3z#hO%e11e4qDYPuIc~dJ|s$4tHF+zIy5R^$5(Fzq=b01rH zH(Kp@p#yzjzhYRV56N?s)hI9?+VqAsKupDxLqQ3%47K3?%vMEaR%_$+V#H1NM&usL z+kI$xht-uYzlYC8oQrJ!;77lCS_IG27EXkx=DD}JXO8SHAxyB>@sI(_KP5ptGnM4F zWJ$3mr#G~w380%7#ahv@5XIVJr6(=5VN}@$<@4Vi|Nd6K)Yq2@Mlbt!*VmW7yx8q; zUT+`&{q^?g|FPdb{iV&@&t;pJ!y2klp5h^d2LRu!$c@H*nMG{)JuF>(F^PbW*LI9L z5as9$OhreqS281JkLos{sY)`D5MU4vh@~n)QSO#ywOhsP|8RiN-~8sc@{j-c8~NY< zkAIYZ_=o>Jd&7ISJ}oPV8>9u)TLj+r9PI0Lmu~S|Zu^MW+p$M$;J|5$F_wIJA*D49M7|w$?GB6|xxf}Er8O+XP|06z=wuMft!XXQ;v@^!qp1UgnTT)k@WzLEDPsT z1h=V3=BZGTgN-4(%bf5?tECtKnokZZ{BmcFEdHnoasYk(&-hsHZj8@ywqk6W<8pA< zs$)0^9WmdiH#Mh`Ahlw6!u* z-r#_#m=w!GI=w2wH(Wk z)+#p7B3$vatl&MgVOxr`oUMj+wCl-XWT=|F{7+V6@yx|NT(~z$Bt!*`OSrW%d@Lh| z!(8+*(7rebHdaj))hz0ng(K;NmMTKep%VyNDOGN9Zy-E8<`^fQnd_Zw%yO)nBmq8Y zh3d*WOklXyxk~i;i+qp(wJ*BnJ0kYhWBIukEwVgzb#Ifb)zohRUe)^G`RSXz5y?6W zsQBU`LO$k2D{G%0kIx>DFJ2H{_A1-MlY9-YFA0ol{?qpls;^JC+siix5dGQp<>NQU zram3Q>*DTw+jPZgdii-U!gNdUPSOOimCGR*K@V;>>5Qcl_kG~CHSH_895_i7(q@L{ z*>x6wM>5cma-C)UMhM^6m#h5v#~~HWH~9jZds;y?wYqSB z3|P~qXj(p(Aibu$b(JN(T=tArG`eAz%$yOUw7}>BcG3=`%eL2R#-(z-3?+%^E+2#7 zYWjEyGl$wJUlo!UF|!W{IlKRPK7XMZUfIE;G4$l$QbX0xfR0=K{2~@NrB^I(@PlzU|I0HW!AJN2=b}}2+8v2 zvj!@&`UyzQ{<#twj2#e+ck%Wv`i0D*8#Vik+Fv-Mgnfj+l5G2?-;b#mS zUWH6%5;|m6PO*!QMNs39;~I!Dg*DYcueF}>?dW!+UXPZF7X_~okV*(<@4i9+5kv+0 zLp-@Zn_)H0`li7LoEEH3n^0lZ7RJFfR{%9{Q@DP=H2$$QOgIV3{g!0 z9p7+mHdRRaf%Q+dfRBpY*Ld!GVabb&bQFu-ldZ_l1ZAW;PbVqGuq@A(Cht8163%#@ z-VZRXdb*nsZsgds(BXt&TOMamf;yT?WEZ4KjJ zgwt;beTmw{%Rr{vqlc^U;Wuv&`tgu+@Tu&wn-YjlXn2o|naw z8TI$^TlI?H7tmbgoPIp4qd)%e;{lYS|9r%RGV$a5>cQbIWXH_pj_8Sw7`4Ua#Iz-jG_tHNiTgA15SkmOTPI1>%6(8d2`qPmR6%> zt-W3!0*E5MG=@m%6AWqXLl3RoEUzk=s06JFyW>q@a+B7 zbEEh(uyY?Ucfo0kd&jS&_d#QzngELQAo(|eO04e;S39OY#twS28ZRHRK`FE1Nj_)K zL#hy<>^}C!3o}xP3WQpYlbOa=i9(f`4#1iqrMx}TEnB0llx37$OAbL;0w5`;mB3mG z*l-Jiea24vcj)OM!WcyjyMq^GaU&g3o2B7N@M z`8_hRm0+#f#HLcx?yKMj=eZ~>kYJKAHMC@Ayy)ABF?4De{1Hom_n6KCqX`7pK90(j z$dZQAt4C0twIoGmnrqGfUe3`1n{TibRzHVYyK&-OIW_W+c6|*!pBP~}Q-0FASzBDd zv<)k{k=7TC;ZA*KCdnsG#CTeaHq<24puy0;AU}M6Yb|(&gMUP5%itOHsxa$+5ArPU zE_`zO@aXSpB4J*CCC zQl63Y+9Ak*@6iOCBm?V#>R?ZD&m!YqECV!?oY$aN9OkM8`iI~D?y!vhM*jH24~Ite z35DSIJQUqM!EQYfj~UOXEbRs8V$7bI{<794Vk<+-KabmBg=6rx-Z9PfNKcwk&aEuF zBi%Al|I#x-C0v#ZkggDcF?di9!u=2x1}>NQx1l^z3U80&jBtTWk{VGK$_vb2Hq=%v z%P*6$*8jpXeD%NIy?b`|s{^M!*2=IZo_W7T%}|CXth+rvJ-Fp|J)9!kQTj~-9@ z;GqWr{xtlas3I`Z6_(aS1Mt(63;;v36K^b@OaVBt7Pa4=oKI)8(i$J%(U}fW(Z>B< z*;sM5Iv~h)FR&fG&m;EN66s1>rlL|sQ~E{$GywokHb1RDRZa?@mhuJoAP_})O#smC zEa+0$goQ6;Jima`nU>4e;fwM(0gVE4ZAq&^-vbG}n?xxlTsp$aPmFk*H-vi364qLl zJvO!&R;8mB{fE0V0ui#TlrV{BpmIa(QPn8j3XrEyJLaWGreo(W#;Xm)%jZkW8!#FO z@Tae&!$xa;K2-=U#xkwIL%4!LSLj$9s@wanAFpB4A!f4!ocJOC~!kr59dD3E`Df?o*Vv3sYmsKBH2i(^u zAlhlGZd#T|iFot?`}=tv8i?musU+7!imuPr^OE;5D9yUmbkD2sEVO}1(W6642lz9I zFZ5MbYn^WJkSw>xHCNyd$?&k1Pw_RqzBo7ij}K*B{$s01M!5+i}4-D_i7HcYy>oxqocjYWpdZ~#VL*DWn& zw2Z@)B~`#o%570)AiN|LtcuH&zd9s&_WVEn-pe^HV7lT+7bx>?Q#cR{v`Sjf6y1p$ z6E%e1AyGz0WQwz|xr0u|x=9?gsGAz|quaE{lCqHc>%$-NGtPk|E616Xs? zyP)irRsaXPW_d3iA5lVQ^Yyvy5iYRq`TYD8?M0uCe~0CiH9~!7-9n}wSDJzj0*IK6 zt48Omkm(C7hRtlN082szL@2zgHeWJ-{63I;1L_inOxR?SMyUB-!*#5VO1sxU^_*^G zwJVg6^}kI~Yc*rb(7nt$WNCu>Bp?PQa{xiGaskti+L=4%4|g6vYbaI;tr0T7Pn%qg zFaQiIx=3jX&Y4}MG-E6+ufsiU*wW;4RiBLHf?16t%W!wZ`dA zm*O8uyn#CNb2z#sDo_Z3SXC5RYZVGh?A56FgQQ^t$Qm>VDA#f{y4M1-Bs7ls4d^5> z*lF%3EXu<&t=*?+Q8VF2@Lu<))%g2TCP4Jhtk!^_I>$C~Z734io*Cm#kkwvHup6TR zz)=clDmI|Iz@I_agP0z-9oA#mD@$FWVB~0XU7^sC;b=q__#E2$#2Q5zvJ95_+}`9m zU`tR+Ej(z5yKHN$!u4-o_3zHC5aK*yPzmhcExwdL4QrF{Svwo#O9l)8dS36_Jxz3j z*6{Pq`*S_GV8a`lJRLmbF|^G?W_;mQo&5DhfKdz8YpIhDzx?H2KFP-)zQ64+-%s1W zo%8l|Z2iT8_B;__NB{+|c%S z=SK;qAyrIRLlABd0OZ?ioX{GFmV1_#OR*A?6Ba<9+dLN`PQih?iaXu(B5(mu0Pbtt z88b`{JgyEUz(sKc@z-Ig}DstOnq zEyxoBM!mAY^sN1*1Tgb;b;DZETrEZ)A69bHli0W4MCT<9YwffaA19j3z2c26v6;Q0 zLW~HsmT~}VLI#=>OvcMF6$R+4E>Ng!DCrhARGMglJ7^G!mN9-(5)jmRA(TX1vdwZ? zn&kSst6CdlhPfdXH@p{1GWqoaY+7z@6Ucs*N}>=7*)u4?Y?}Pk1Y+9SWLk+H2)6hv z68gq@H=tCkf6*-qW5Z(;B;a~yAsYs~l#*5DU?Y@X{~kn;5EZzl1m{44o*A)==A34; z21&DsO1kP5*QpeSNb&A`FBJxYxlwU-_rSNd+>qqhfqH=Iw7oZgA)vwJ!3x3d3Jg}Y z(cW&QBnY=(NH&|i0iAcO`wV;vJl=h)Z>eyBFul`WVi!eF*+HzpIzc*{4kV08x^{}n zy*S;ES5uB)Pqp!dz?7EfPiVLpRH{UJ8`o$oP}AxOY2=adOiNjF!n+tt#))!{!ZlLJ zOw4C=fZw2=V|vXwwxABMnKPFo`>{J^_7t;CUSP%F^4g5u4tX>&?y7a$*VLqItfgRR z+xJ?I8lxsB>1^gKUwF>Kh@i>4gXehsw&zzoRKC|&@cOd`qh>AmLjLjLkAJ*9fB*2^ zw_-1UacE9|Ve|G2nYV9`gZXeU#^JR^1B__6w*;Axafb|Z56Zs@yFG1>Ah#vfB5jxyD&x9 zpdl}}*92D!EHP?Y@NO)6t~H=^nZa_Av2F&d z$DFxt&d^3#idl%C_asPhKnv@wyU#D78L!t(XE8ef7xIt*;wzT+u&iDpBx7l$>-TM3 zVa)|Y3WCc0anMXKdaUDRKc4%rIxaQFw|?p1cSc#PaqP#+uwT#H(d&N2vcA4PdhF{0 z++G`19zD?oWjiI@oEv$4L7y&o)QkB@cZx|Xh!4b{+2Ia8w7KPy-$UP@RWZRWFIukr zToWr7JF80ynE+!zoWJP0f7?$LNx^BW z5^dKAGV?qx;!R zARa=?lcB<#C~}_pf!8cz1;K}Unnor-`;EdS?{UI@Us!r`eYEx|Cgy@M&LaWJqNUl! zza;?5cvht%&@Fdb``VQ706$!K^KL_e#ualip(UJUV?k%No{0WyTg5N=b_U?egbZQ&&I6%h(0RQ>)V=k zK7eFc7W~&@0BjR_cJ4pu8eMA0ToTB9$S}?EOWv)6>9G59OmdPh z#h$cXQT)vtqo9nTd;h)?K>8(EMx7jf{PEjwALY|8ZnqDAeVC{IKL?2Te;=FwZyqj} zfBkqFhn4gIr0aDc$=K)(+0rAKA!B@kkZJLZzoYYt_#t1hfYdq#7PNXr>oyW_uO>sh z*$*+2{9bD0%F%`LFt&$0Yf*}6X2+Lqq1z(;t#FLwq02gV% zRh{p}Ei{2b?uB(REfqg3jTcB*4kv3 zC&E4w<=k233_x$lTURpgfhSFCd!tR!BMo&L@08r-LA$%^$v_ylDdlMa@8!vhkcM`O zbeztcwI|lSKlA44jS^md?daner*G(I?wtmY#XCk&q?;n(dE}W8@*WLf&E(i_3FkAi zz!t%r0vCDqz1d=O0CH?+)o$r>j_oXz?aUrRIE1V7_2uRn^B+Hbasax1Ul!5mlOF92mz$VEl$o_F^WLDF zv0diw?Lp)B1=Q9Ji`D879##H?h}3Mm#sbi z_Ge?vUdVqpFZFaq+tgJP)$6Cq^iEVOfoY#Nl(-6u<0_bc+0AR4Uf^M*JCE*ZtIdx+ z6qT~@;4{Q6v6BzvUxKw*@=?js8Z9Y1k)4zTDaA<&B%cQd?Jx-_A*2kI(-U}s{*ulCtkU9z_*ITF7fq|)rk{JMdVryr_GB;c z41d_Dxiw(kK@-myRDM4sFGGhSf;L{ln$UNgyViOSN=W0Q$1E0 z`&3~XBiF22elj_S+n7*LPR$=g3U6zL6h$)543MM+f=Y3YSmF*mPxn+!8DMuZ;C`ie z2KW~Tb*J;U(MrmhT*K4-3!IJSAqj7fRW-AD20#VO=rswx-sRaFfSf-x$0BdWVzpP8 z;k2$gC$->j0Vt&Lr{>sW;HAOoq^n$<{0L|K-m(gLpd-id_N6(un12=Z&u|00A8wCX z<09Sdect5TrMx!1EWhSw4!qD{;24*OID_NiFkU>Zv}=sY18Ze zcv#@RIjlFwzuUWmwLLggg>lENT3f`%d7pW-NTW8kUg4haF6QZ0uKV!JgiN{Z zAGjm{)&H`D>Ex+oCdMT$XvUdep@Lm*H zh&KSXC#-(}eES3#eZ`>(D~hj`ca{+dGyrLXYY?^bc<3Cs?=wp@bqzHcV7*lb^o{{B z$-`zViGsLF@9Z;}7#9CI0TF?<5ShXgJ))zqKLzSB{*@H9jfyv2py;^ZGOJku3-WuX zC4?z#o~gh4{r8r5V_5GfMt+k>a60biv7ZyTt6LR#jo@J5JxfIjk~TsePKI%U!T?-h9FF_K##Krr zuf=#M%n7V=y)bWIQx9s^T%!ccuqfs$wkDHGG{Yhy)TKCu!14rZykb8ry6p_`BTo+W zjtN%$K>)O!R21>(qshuprb0>C%BsYN@3Ufc2Y@7E-wcyXYy)!-uIK!IV-XtsaP!SAo*0Pj7%7QRo!|MyP|6X<9Uyq%< zZMWNXJ6zbu&%?2L+tn^!;=Y(9EJVxlw}@e%l~m#U*-P}S4k_Z+u89WH>j=F9h^-5^ zv1P&bOnTTx0#t2>MOjab3|nY18R<$b>xt%A2oQQw2(P)Jw&)*!_|Z!_E$gUT09PlX zW$nC$Yo2b=$yiQ+yz3qFrUR_G@P-k_UXF*;o;E% zfFfI-nfdNYUTs8I{)oF{H}AsaC85kjo26#`hjm%km{)fxZ- zmxm|$_Pg)B_wdT6T5jK-aZFGhqkk(23Q&xsXXoT1bcw_WTe!>{T;>hz- zG*~V?mA-6sy4%Z-VGy`VBpaRL?38PTGinsKGc1N0f@>lHX`p!p%fvapV_dWg8}(xP zO9>qfq!eh1k*>6%C~p=q(F4Pp913gNqiK7t?_o**UgtE|u>%0?_fjxCZrZ&XmYv(;njj{I>x^Qg=bxC2 zD^yO?Km9s|uc-d13lqiEwc%p6wuEs;i(X=@&u}ea$4Ob%wA2OrICtwSrL8G^zGkyS zqz3rM+gul`o7ssUql1_jDmtiqE=H5j$lFm4$vtS-c73gD+!I;sDR(g*^8cL{QBbi- z9o8=Q_*H%s4>+yqdb7GVokO-x9;Udd@D^naZ8NsL{jK?(YD;n#Y0gBBmMF) z-m@CUEQ|bJd@7Rf);VRu^!BxQ>A#$5vLx)Q+*XeKVIaNgvJk$!esuTfMWX$jTY^To zC!HZU7>&cawL_+RSj(b_d&J32bkUfrk2&0gOCT<5D;fT(4R#rIh*BsfSQy3ddsb`m zD_TWCtYbj21Ot_3xmiNZ!ae-)!v}f)J~HSd{&Sb>>njfX0X7XWqst9HBb%InaY2gZ zD)v6^ODHTi`0eId-8WWDvITCTE5%Lg>_Vx9XJZ=YVJZw%cA3l7Nci+7Fnn!)oN32<|WFP?&A%J>D zEXhhFz)*pv_0GsWGXS52I>s6iDADA66igj7+?i~ZL+Zd5j2Fz^(z+qJ&OQpzwW|*F zI!sG|<>gP5uFry09utEYu2UBrJNLjgCUz z328q|7`wphBjJG=LVi=LL_!MoRG`X~v3O^|mRa2EKdhUHgr>=2?HK(?)TSw<8|ehl zvj{&JtVfG*n7p>n8$7fTzLcdBH(tu)pwgplmU^Na>wwD63U%#T(N6~&1VTakq(e!5 zbB?p`AOvCna~U}wfxPHww2hhTY<<+RXIT?k&o*G54Lhyf`E%>{JM^&4P?=b9w-m2QupmK(sOqBcPdXEkr^N!ZWPvlBh*j_CxPC;ua-UGk^h-D0+O~i+)yp1zz zLQ){y@fTf4ds>N9#CrTnd^K8i!U}f_aLJMP2C3!hbatr$0PfyBzxe&U3D_yaC)DG9Ga1E_!V*7p04uP>@w^1Uv3tHR zWX|0RqCIO`XI-mj5N%EPhGDgmJKoT(w%?-=SOC(wxA)})NK2>irm1`xU)HsK`iQ zz3wrshX;hkKTCiurECZy9Y&jzoW{d(lwj2YeN;kd;bW;MIV&L%-#M#@`lfX+?I21M zB;|bsp$pQMB!A(&!Lv>isLLurtR;#xAd!~pHs1a^{i&okjTmEkVfgK?UvM27m?1Ev zGDWOVK4pTNkO$i0QW?%7cmF*Bj2!gmeg}}4rL1<)$LbNhHjhMp9b@8t=;?%u-9NW~ zngFVluDex^GcIQUTaUJ!r{-s$nRlVo6A(RtzNCkIbUq_KM&jeKF&j(7okl8k9{n?T zc5OE!Af4``R8;^ik7rK^wn$%SIG~}u2*R#M+`RiNppqq zH@q=fzd00Ni&AXEq9nvxhePSTTB zOs6cmb^;oFF~*flI}707TR%i|Y>_w>1@N;qsl^&k#%}6JP#*V+jNxd5dd=+jIOkhH zGFUq^PR&Ar@mVfw=QLs1&KO+pxW;R-IvqtBo^h#T|p=nD&U+-u(EOpx2_+}^u$UM&UB|QU zFnWcPo^g?D$1jf;*}S;;NNW>hS;hoX2xji4R<{T;moe%v%)PaEvxx0tvJ>6-OIuzE zDyytZw6qL?nd}AUHXcJ#*ZSW8*sz%(fZ%Dxfkp=;a{wCcJmH!a@%o=$)ZLJja{%fI zSM2UCdkN4hk|nDMg5&5zP=d+DyjZFN8YM>UZ8i@u#yHL_vfVV&>}79f=6qj@i580{ z>S7#L30DN(o$31DlOQDGXn8#=19%(IExG~)5Z)o6DmK;k4pvGBuxpLC>9L*C1iaCl~=9VBC zn0zyu#C#Z=EO0|#My%m_8hAp6fQVKcIlwkcDk1aFOJbQYT1R0SjdR&6I>g$}(>bx# zh7~2Gv`J{XW+|w3Hn3>rl1`w>mzFocYloU7;OXEc5)<2{QuI~`gxi9yOD9041yJ}s zNkkQ-m*BVN>)+h~^g1mB{EW5In8&@1Fvdc@We7(%oWZsZ9mq)l*86)zYgYb!wj{18 z?1(}4mX6ESY8|M+)1{b!Sp$?MUkqc(Z|WTk9(r2-d)hb+SQ^01Ire|j=p){mHczuo z3ul(C8u>oQcUp6vU(m+Tt&KyooLj;s<%4Qc`VcO^3 zFDV7Irt6z9lnG#R0{bz@h=*6V@=kd(Ak1lO)v#eF|MfXW4#c|EreWxsIu3i5&0+d- z(C{A*1IHi6_V_y+`r)|ZMeO~40MXAp>C1V2F<|tgd{n#MG^~DM83};4fJoHvig?1f zKD8?;C%Md7Ob*Pv6S9D*_E;bGn+_ob0Z1X|ZYN72HF$8f%E@Gc3Wc<=-5C!1=eTmF&kVYU z1Vjd|0pv*n*s%7BG;xvER5H7P%>GPxLpjvlPd7Qlw1>t!|gHSdCzAeh|MALYob(6r#nox-vpj!htL35^^Kg2^+%PZgldwD2! z2s-SYVLWt$^NcbMa<;SKvBh`1NZMI&RRh9Xr9M-vd0P1ri4#C0jU~?)`BMO1mRcJL zNY8r{ii)}b)Yt5I|AL$+DwIcuRv zc@vWE{cXv6Fs}hH+PDT{7V*~|NZ}a~SP`Xx#{xqlz5eEj2Vr%MqqhuniMjQ}7t)Z) z>3k3zwWdWUPX^4&ohh_RQ3JtnX~~u3FMm ztRGZI4lu>u1FPlQ*XP*PM(*V5-~LSDB3W$J@U>KKMTljPMVS`uvBvz5e+4`1pcv^bvef zuP>&~=z6(4+8Ai%aMUs10-|oET<*L}Bl=$8KHf|qI#0wdMOZlKj16*@3WQs>tKb$B zf;bpC;@>n%H%Lnm=oFS#-DE#?XfahkcmxNbfgP5#hl@NsK19a$1--G|mD%D!KL_MQ zPVcRQdqbab!Dq~NU!b0RI9)m}{lW7A} zI!-{7EhMRU0QJbJ!opANkp|(tk-Be$FVIth8I8Rf6O4JX98*rV=pGC{2OuRlDs-c> z-nXxri`c*;hTTLs*0^XbFBDBnQolg~@3&8l#3-&yqC6zb$GVL!EPI6qfpxuQOmkbf zmnjD)Z8mj!&(<`YZL2GsUac&q)vgh1FSYh3CD`9>NoX1ei>+SU!bEu=t9>IcV&W3P zj02^;xKB$1X_dsZJR-Tkag%cG7D$d>;{>#FTGw2k1WG)s(l5+6D)&R%IVvl;v@yCt zfpn(zOqH`zR^@`slij>KSB3yKqE-|=YLR*o>9n1|TnDq+1uk!)IgXSIRx$Miqhx*z z9n@3=!Y)9DIXo6+z1#}o{m$c79_u;xbctsv z45vj!tXdG0_b6xGO^tZ3;P(WV!BAEVpogAlSWVq&sL)o&*3Z1K&ffZcH(Dd(GnNA) z_=y>r5EQQ%#?@x>n{U67Z@xMHy?ZC`o}V0uUaz~ne7btO&q(;$QEwA&MI-@{K{`lM z&NZw#!>y(3y^WZrTt&$kOt%L%)K`DH?Tb}ptfHjncDsxX#bCMQGbRD2aLso?q@r7%R{XJ92u2Tw&`7L$!kWZ<;9|wS zm(}{|@zLvxK3u|z?VY@&fDS_~qWe`?J|}|y+*&jOOht^-7Q&PT=CKXj4}*n!eai5Z zsC5|~epD0|smHT(e;hs|;&E*{oBttCVm z>98`)>AsG5D}con&~NCi&CXufs6h)2)>9Dss02?~n|)L~SOV4{k1896zUuDn&{7~0 z;3a(+&TlS409-Biper)?T@jDEV$!!3%j~p^8nuQr|G0NqZZyxBr`SqY81q$87g2jv z+WZH~Nf}qII-)J@#PSxUxUvAfBz-|aNWofXo-y|X1_m&r?M!lAHpW5SE6FiD9-Z8y zlRH)Wip2WIch;9^rPAcNwMGSt-FwD>T7K4)Xs(;&*u~G{Xx+LDpk|Qnm6aqKD73mm z%ySo_eLr28umSW_rYJ^hHN`d-%{`gTaL`}HEAR1K0TPPOrL!%+6>f1@t; zB;OK*afzg|NF^nCj*ppiUCLhaG=|xn28=yM?0&?qF19>wV?2C1T=Rc8KKqB`@&Eth zp8vn=^}}yIT;G5C#q);)kp9wC_3dVVA+JAMFltpd;qu$x{`T?b?_PfPdi(Ut{r2(~ zx0`)8_uJF4(GLe$(96E*vWo4xz)c(s|DX4P2GgC9_{2D^3BgE%rrDlCXMsQOYd%8o zg!?*#pSuL;g70ORs435I@o8q1#{o_2lm!q7z_Y$F^SVX21ZUoJeif`*@r(x${n__F zlVAPnSKgQY)2CGc|AT{2TlFv>L|#5zy~NcjyzViU0*&$wgOSWW@16sj1p8u* zN4oHrro76*>CGI7Ube^(-I~RcF_Cl5#?ZqhyMX7@!lyz7$>U^lm)oJ4$Eb&&n}8)6^;(HEdvDC02Fb|$8%Vq z)ST{6KUa95XD%}w12i<^2Le>-8vS)F5IyWssZQ&I}yx`+|E5) z3YTyT3lg8AT*_KnkT>wLWL&H$%F|Q`kqBx`wzJ7QMI2?kN1&CM)o9h@13?=JED9!O z4Pv1H1}{J!Ci!rNXSB8M_mVr%P3vKXAn6^zY4ANk>K$O?$zg&?2Sy@t<~O`wQ{0LV znw-pX<@tE&_URXgJp1+ab^oimUw?MH?#~AheF*EA zK`tF+aYgBuWY^OPeG%a80HZcbFxh1C%%afJ%x>E)*flChY5<&mm^`t?DI)$dYk|H-vXg) zpZuqT&#fiLjk2oG5)Qt!5K?pjYa47aK>?T{Q$I~3_lp1X@wWY^9)!E$eFz40!&&!r z_-%ci09eMzdkxYWEFGfNWoV+Le^#0BaaHI?A2W7WQe5ds48W3XS#{J1i}0NUb`)go zeZRhg9Lw0lMRVQ@8Vgz$C;JR&I}=a;i1D)Vs7B=wNO9hF9;}u-1O?U~KXcp}zAJBq zxFmf@!}=lcSvMC8B1K2dvLnHRVmk~mxD90M9gxW+7V$x)9Z=gI+hT}A+r9i0%u z3J;*+It}jGV@joftkBBVlt5`fuB_HwF}563=RZXg1JAu<2<@fg#I4?bE}fs%vl)_- z=Pwt}iWXDxBD`s|*Z0BBpva`|6-TulBy>po?5pwbIye3E;;SdhN}jFhlIHbx2LgrD zK7l&^S5FuHw6X8=`)7aR%Dg&xXgkBw=u=v}a936c8c_y{c2M3w%fX49#%;+f<5sy& z+U5J_NACaIHXE0VZQEsTmxtTRP_#L2hb)}e>vjI-H^2F*Mfzf1UjP{W=f`6Yzd1n0 zua7PL>tl2O&F%I2t78MdJ%G*AzT0*HfWr`Zby9G^3E~QmN|ldTJ;MnG=%x>FDj_^1 zNN2?$5+@W_``|t$o&9LT*${()bK$rJx}YWjH|`YJCH6-^9IIW4w(K@-zO7_*r`^ zC;NVzrS)gsEDGr_K{;SeoGqEm!D&r%GYICC*kX0FeQ3AD<7Cx|_{Gc%SkfKk=Xo5{+vC_Klb^<08u zw|K3;CoN17$L0Oq!MUTu)@;^_qLWx(($kjV9yU~%EsKq86W8`$+_S7`x%0U;v}Wtp zK?i%&H#ekNyZ_nZPr~xVBF6kG&i`IRVj`0*55>VFHrvu0L6AtRGjNBz-BHPPN|2u4 z#V51|7fL7!FZQr)&I~+cx zyK-d&2|!DQyP9{yPVxBl-TV&jd+x#%^nXfVYTxvAQhKr42mGa3wv~y80G}PqnVj#> zGbpBame}@LA4}3)b?_;xFZZGWA$c>{dhY4@a(?AzB=%Kc)*KW6&}$wcxf0Vb!W{g$|( z-EVz7*b-U7t42AOhm3p?cwzCt!&`Qc@Cx5~u*<`P{o^RVq_2Uz?!2SEC7%x?ePr;i{0dN=#|vAa*l<{nCmfaJYv@TCTLk zEV3{A0-&$2uUSx^Y-VGv%;U`kuIDW>%^e&aVCVbqzms48t6v{hyA`AON6|n0AP>L4 zI0*GD_}A5K2_PJ6u-wIKT&p+zqdxd^R(BwQOX6X5ncCr6U%*RLs^uqRO&8ovhp|0p`sOzkP=iUt9ijMu%+t z*O!+7iz{Auyo;`05N^Y1Dq!^e4p+D9_TK{ggG76c5-K*^OQDD@HuZo z1%-$cm9$0%$N_N8azjnw0BKfIPHn&_6RdQ1+8ORh)B^VIOuKV`CUMna4}i9S9Vl{Sfm%I_yig;DU84gR=hLs3_je^q+v#|og#ed$c>I7@wg-9LNtJpyda!!M`3=8{Fpu6$VguDn_QRA{v7 zdcS=IT`~@{TOL_6RnpCWUSoW_=4}mB*2ofoo3$}Xg_QJK);t@2A`Cppb3ifx&y7r+ z^D6J=IKbWfQG;3mJWru0;QNMi?zs}gt?S$`K5)qKLr}`s^!hWmjQ*p_H{YvXUx&Tk zE^4=jIrql{4qXo7-E>8YUN-54?!C5cGNIB^oRN6)0xX!f;Rywb;?fjiWs!;zLX7t|L={WO624D><(Y#{>`5F;ldb*#2x!~OL z{{F(0{Uao*NN39Sc98ehture+|E_xePJ^$KEkN7nNgI^Fvtk(;7b-%FT;Z}VtmE^U z*0xYCgghPtD)75%#a^#lR7Kb?$q;i~eQbGufCl_MqdirOBiE6jlY$h0Qj7M2mbIoT zl7c;fJ>H~{tO?iJX(kJ`g}0LmQD+A?H3B$7!a+B6#R%Uk1Rd1!^Bg7UNM;nG@83_4 z0~4IOK!k#&te=JR7a$KII6X@}Mk~GI0RgztjDo$1I8i*0!u>NeZcSj7vL(6Kq=UYG zs(t<1bQ&EBOV21cPTSM6qHDU7EjL~h_R{lU5*`o>i7e%(ZPr)m=S*|w@&9&x330_* zvh*F-UEAjgklMY=!a3^E7GS0Tq7>lds_1E`r!~nxb6oXY{%#1JVn?pp&v;KWo#8|> zrR1pQ!1A7ri#y-ORga2O&(=|(J5cc>(3mF{?+mC&ap(20My(~y!(M&maee?o)Lt$Bc%(7S+fhc>@z7m#%EDzIg)Tj#(_=%o)rVSqtN@p1P{l2pPvu6 z{qgVh-K%{1^d#@zJ^MTt82$9|#f!g3YeYTj6TB(`P#Br-; zEm@J+1GkzAOLsAuf>w&yO9zx>M994NZ0|7|^NrZpl~{JUE$jK#v~!G+^oe5Xcx&0@B(fNsv6GgC@ioGbw5GeG=(bY=X)T zbxO!-)y6%E!{Xj-Z^-Y?CSbWrbOpQR5#tUJy}L(2WTq>)fL;tL(xis;jQ+!|;W6OM zmhIICJk}85I?HRY&!}Hn0I`86Wg+bq;&StZvT2Qvcp?~;&KNt4Gx2@50!p1FSYB21 zq}Z)rD+Hv0qNPv|Z3%07`pK2{u`AXE3wXl&Z5}qEoN+5n-|$v~`;3kE`InJ z|EX{_u$BPTti>Wjfk23hTV*A@7Tc68hoqG5+J{8N;ij>=4YgW;a%VeOaX!BU||DZ>osJ`oXa3NKW$ zS1Os5RmO)Ho?mC0^h2&wYs`D!FSb;vB;JeQ^i+jI5*+qL;#X5yU0;KuT#xE#wyk~J zt9Db-c5?ZgjOktfg<&B>CPZ@PVG#}CJlPz23H^o$B{ldAiaL`PQLr@8$TH98f%tW!`gXdpameiUD;wWgiU~MJFKfu?mk}Q zxPAPThcc~C8283fOJ>=v$WD7T+q&CZE13NWZP1DZ=oz!i=d7sRTDKpd&*#Pc=y+j- zWhUE=!XjE)dWegmjlh;2b9bC3b3`1P$`uuXSG{kYQH;*0aYqk4+ ztUXxa9}4ESZ1@|i9zbZ)(ir(!cO_+K}NZzByZ# z5MwyVy5EW`HPGkk0%zW#tAxF~C1<(9dt7ncdzM0YIxlo*MumeE(h?yK8|S6x_-QIe z<+ZRB>Y309nyZ5cOEZ4&L6<)6h!+U}Fp5X4q)!h;5W43pL@CEFd`$7ij6u&v1_Z8} z=QF;CGUueN#wZF`lMqi!=YPA>sBBCExZyX8#6{kY9@+$?RJ>e42!jO6l2Os-gVG4W zIoyG?qCxTVlyQqHZJq=-ass6FJ)YTl7czk{;CmgYY8JW2-k3C5S%)Jmz-^yUJCn~1 zFjz3PAblUfN!;NY?%P`#VDcIME_Pb~UXm{EUk`9QQdf8rjRIgs5#k(2ayZp0Z?`Z- zc1Hwn^2!%s$nr2hf%SP(DTubrR7BRgA!=T#R&nr_-9obL^7XyG5HNa;j93uj)8mus z0Y(?YT5+4YZBp*dVhFCGIM|DdbYT%dtl+ko{U&s4*nDUpu3N(p|J34BC}i9X?7*i& z1^C4%PXh*KRYHX~poNg`z3i=C6@(pF>{)cZx)jl}xnd-}gwW&RravsBZryx&_V<<` zcXLj+TusIi#r!;=dfQ-WeU|6PNY-Izq?2Xw4p8#} zy~UpT_IgWk0#9qq(T!eP#HS6$Ikt7KV&9CPj9q7Eq-fcR9_|`I?CPyq^MOuVtAy0U z!=qc}PTBLgr@!Aa>lrIIKtC(|B8H}(jlYdig_>J7bADeWt3V_Og|*3=U=7mSA#}wN z=165I1W$rY-;+HB3j3&Ic@di>bv>?Qt<%qiTvTvMoTmt7h`)KC(UhDs*tMjUQ;~cK zBOH{|dNRIL0gyGJw1glPf}H>y>27Nt00PM<6*^Ktc_QPg8@$(Avn{Uwua^(=cel6m2vLnj`jffFXwHv$@Oa>rYharU%UHSm(4Ai-jR!z{-Hp3V>uzX#3+6%Ds2f{)eX3p^{%246uQ zv)D^tQ}AG4Kbvw2Ho{`fHokZU_@#XgD9H(sRdQcgis!^_wK0C7GLG|txZR3lE^8yt z1?5qJ;hb%qku$>YdYW{;S(ez4L0-#UVvKB&N&cbj`_XIy-{~^N&hf=>9^04AYRwYR z%4uoNmx6vL`CUF6yhZi&D9P_wKIf#YUQkqOpMIK?z_T z&4Yeslc$ZvCng_8J##+XWqNqDEmcqme+30yl$) z7d_xQx=2GvhsI|ECip0DBRok?b6XuyisJQO&x(dCFNM4oI3fdaX2P>$&3%xEkKly| zB*y0g*=usn3Kt+4g2iD&N2Zl+zmlPt&3%2nowZ5)PDaPG?5##0q9oDiT{h$lJoxvU zO#=9$COue`TERs0PP6}s`}F&r7|Q1W=$n_F?p>CJvJND(SnpW?)Y%v_wQOz4519cy z(UbmWr?m;7G8zyacZ^S(P?S3$FCq-b0C&1v_NWa>ax!5R+5|okayd`Ji2}aXAl{r5 z^ld5qwu)z4brECdDoGHcl-*&q!H%4c*LmfOG2cH>Duy-Q9v;dPGPF*VHvkv`7U|}- z(>l@}sVQVm7BsE})=j#AZw0(X%T`6@toVjy0z>zN(5>sqc3NphGPKT!;kzS}le`1h z?N*jYp1)KgMq0mOPdjL7074RrpMYH`$ic5-%mtpK)-1u0weU|C7{8-aefunMTVYqL z*~$q8h_nJ@%-+H)n@rq4puHw&pSu@{M3T>_xIC%nNbpI+`*ymwI{%r5nC{*}a(!x6 zC@n3}Tx8h$tw3c5wP~^D)3i~!zFEcw+N`gth)gLf>#PG*L?pQaR`=@jC_d7`XnbFj zM&z@svs;YA>Kwpn(duk~TmZtQ-%2^MMuUHXm&fNd5dvL*%^9wcpZboq>y6)TI}PwF zSgjM>Z0BC|jt1QtY|(O9qh|BsIaQy*PJ72t3Pa5&D$-FWy6vr|%7Cx(J`wUIx#yho zN@9|)>h))D8U6V2_v1p<5*V>tmj;D2z+kw9Mhc6vn21|34fXk|{F^z$4OhpG&j~63 zj9R=RXKZ1CyWMuyP8Wjca+{WA>$c*H*R{*i z3Scub(F58xKu%aZBM$d^C{F(K`1gPsu#7*pHg3C0o84O~D6nMDJ zmU#_N|0*sKG9nr{bq1hny*dDQGD_)vyfH3juaG+n(CF8DstH=qQ)pFSRz1fWq26|JhG%yTUaY^0g(ty=3scf0TAEa0eF?-VpP8$e6&1)<74!nNMZJ@>)Eu}ZuLI?<(=TZ z7Gc*SlWy7Lvql4XX>rZ9DFp?RL}*d`Tu2jnOadj7)(l-|Cns>R6E!T%v zI!NPO+wCiK$nu;PkC_0_Ggs58_72cvk^H&6vJBTQI00x5-yN9C&@-w_5iOAU;3J%+ z4@rkGjL0bOb1nA-(qTYC=pOiMX7M*`N4WVd=N%1pZV?cp3Xjupe4vL6zpQYq$FHlb z(|Y|`fl;$!_y6|a{^~H*ZQsf5`ZG~*R7u3vs0QkG%4c>3PchO6Z zrjkuoT%Vzzx8;82T&W#r(v!or18mH+NVC^`%{gLuA0HzbjBQp2daw`HOq8+^c&*Fr zoPg)RrPHxUg4D)sgFhlbFkIb|n?r59Gxh>KJA}n-=OSpsKOZBL9a$)Vbk$qN;)=AmaQBIBSzTqZV2Ei&&~^TAyF{Yub~QIPzY)FV|Aqcrj+- zS+My^{{l-kpK-*OQjxlZ-{d^Xxpoq{(^WO<4-d$`UFBqt>e0 zCT}CRnT-|K_g!9Fgo~`k0hbxy*;ch*z1T$$p|e*${nzsPb9B=K{XIU*Re!$Q%fC8y z?r)BNe|@;oe{~SVx5u_W7>odN3PbNes01k9%pcTV4O&}-R28uXBPihJj05f=$}eYL zE3s)nm})>hWBC(Gopmo{&YnSmL7*=eT>-W1PrqMX2-1DGr;B$_Koaqu;fB=X_f_s` zSx8skdapOS5-3)7|6YkX!Jv=tK3u$b{0qd>y07@30FoW3 zW(g#KrxP>(&jQk)_$=>X&Hy<2l|=H;tv$HMdIZB9gc`9F;H%^r%fG4R8?|zL-zyNb zyRTmK3yeNIgoSVO*xm*BF9A@sWhh&$%h0m2lRgVjt#@Zrwp4;*31Pnz-0^zO+u4u`t zY;`$pcbu^iO(spmq->)B@>SRveb7Up^iD_vjzt6UYlv_?flLfl3-Zw3? z#DlNQb}jf+1Nwbmwb6C(T9K|CkZ1H-sZ>a_rEBuVK}|)nt+JV%nLWp8nQS?cunB?? zS2WEsR7GYt{8++*A*Fm#7j!`C8WKW(z+1y`p&sfm4#w!kHEcWdGu6D$4y&@qZ|-~EdmClN>3g@XTWhpqUJjUBT$kc~3iSu{ zqhG+@$Ki3zkxb@gvR1_hT`fhQV~>uX0a9cAm&L_s4RP1AH7i(vsVsM7#RRAARh=Ov zG@2yjnm~Z=r35X&bK@TEQ+mt9v1wvImyZxi6!7uvI5!MrQL~dkUuDxM$UK&n>xTb& zrna9Y$&vDT6sCctW=qt&+iN8VmGf8#YSDSgD_qcmm@&HAz$l*HGVRmanP4aYknhRb zh*5FsOUWS^)qUo50vB|Yc2ntzQ!DY3XJ{#!*L|1HLt-n(U6!{EDqVoY)d=K+|Vy#JCnu!^qW43CT658v)KKHa8%Jf!vy+xGl^ zTpmBYnB5+Dv#;Rw=Lbgr=l@wR|KUFz2x|4Pe0i8-e>xcEJKJwhHgAsyksLf&!?>iH zg6zaSMb27Hyc5JJMR0YU$UQxDp(moJvr6W#;||a!@iRX<*p`zo+T*!#fBs+W{o9r# z$&wugimJIsL}pf8jLnYBm|K%-Az&Z(-*jBqy< znuzQzBIc0?z-yw)syrjY-P}w~Ra9ilJz9>&i1%`hYbBFJLHbCrF_*o8(6_gn#~W&UBSO`?KG9+^3amiZ+~Ig%(=_zwvw_NEX4GUH5)RD@Ms8@tT_8sEHZ% z-lN5ZbHO6_JfAU^)UfTR-OsNP&Tof+6Bq13V&eW%fAv@nV;clnTwaw5PY}B5 z368M`v=Zao>gr{xVm|Gh3oJfL@RGuQrP9M>5w1MxhDKciApyNb#`sBQf?kUjw{+j3 zV7e%WC5!~pK3|}PuvU?tr?7L?ncfhhqg^1zx;IlaEJhL5!MPpH-D|XD^y#!FaJ@?b z@|czZkhT(lVVEd7pvmSbcc24+ z(C;=_Mhq76Tu;I(-Y~4M9O5agCwWQyttf<_kViH5eh}=Lud8sIj7+W?h#hSHXE_lS z=S3vvE@BEvFQZG6_FN4d<}-E*0>~QmTqD5{t<-eCPgdKkYT!0Q%Ykk)GCtw8h3V z=e5(u%i_<{X~_RYN_OupQEW+7GQs(rk_?}Su8vW^d@m4d6nQ-8a(B`8Rmb+zVchwL zZC?M~p;rCRO3!_u>j ztGg>QrntmQV<@N1NloVcF&c>#JFQQ7PHE(gIW<8UZ%kN5MqZH)P2wD9-g9Kp^oedq zA=EY9^7lQ={g#OIc6;+=rq|b-7j}26-DcL+DR%>T$lPWT?N1*+$^I8%kuzb;7*fCg zu4OGm$tb&rfmikf7YPQi60D4R#xYLdAcSAB;{ovYXb~N-CQ*~UNQ09Af7rud40VrW z#?l$F))k-~oX#Cl=g;RwC5piV6t8u`bu{nktzws^B{&$-?f{G6R^XCn0#n8K?g=Cq z8%p*yLh6*Fp?aD-EomkM2thZi0ExibHCp(<$a3Tfws>^cAM2_r#Bs)_fi7`%cWX~r zVtLhCYh;7^cyNv~R<&x<(pn;*@x?i50=Y!DN-pP+^WG%wD6`L-K*jhuZqA=_u1C4& zqr=iD_Zz-{mc8T~=U@3udgd;1uOX?#P&isd*mhy)Nhk?Bz?WO&M#bLdI02?~^?A^T z`DV;$yxcJ9)<20_rTs~?|2)%#_BqTwYY);AS_VHGSm&5!Pxx3X14HbaiH7;0*XEzv=XYoD#6VWBf%Xjafy@4WQp z?)fiYz8t@QjYKB9`W9Br1ExEOy1}Ap_qJN2zx(k=cNKg2rk5y)Z&uc?Utj$?=E}E{ zGq10&2hhcP_j`fSIWxHh(^TN3F`y6LMODpcz%KRKk#M)-LpQOdfCJ!Z81@mT^5!4oRB?^gAEL`qipR-ESxXYJa zfei599Xs|l@zKIy>TcI9vbGnJ^Jp0mS^y{FFzt@VybguqbBvZ~s&MDca(%bsR3++! z0~LU5=KdYR_|YLW+YOeP!E-D3Ix^*%*x>8B%^FXbiIX-8$j0?IY1m*$h1r10(f~-o zsRTKaiE6Rji1j{bM|Z@B;y!7CwsqPdgjEyhRfPgc#RVh~%b<~vsPMi_JvsG7+V}s| zk$X-xfj(y?%g0H$M? z_VJ@S06y(X20vMq_^oxd#WxknVvjH`!wV#o3CE>zJ^=~Or9xUUx@TdM;L_(Ux6FH9 zK%jaoa5Ap1^o%S-E?{P%549 z$^=hqK+$irp8)-6-<3Ac^RfP@wtWaCinP;};GsK;)UPH7^rY0ge(HQRVwKtOqg?W> zF~v|+DFM~tCxNK0D2OlKFeHF!aWaDfo6gJgp^ZNMGPmb{nAhunm`~6D+qPZ)-N)w- zzn7O!KOI2S-AQAd(m?;4JigmHqgM5Dcau4^9c_W-awgu``0;*OIUztdx{gs7Od~F8 zc#-=FkEmu0s7RAAyx%NqSOl`iT`tC`cWLD)rbIvI5J0RaNdee{n>~B_`0xIPjZJU> z%`7&iF`t%2A40eq0Nn1&-Qb_UesLgcu4M09e}GZ@`}MH28kn-* zEnd_>Dd#h`)H=2yl z5`sJdFD!61&=?QrCbi>~8^Ofh);$>&W7saX?$#@F>wEV6)761~#DWe< z&3RTEM^T0OvaDKur&()N@)f{sd930cR%O#Gw!!ZdtW+s0T?d;d>#FmJMp}9X zhdonYr8!$YB>qsIY{V$c1tmq2h`EGi?e+zktLI8z&SyAb+;RW{{{~N33 zUoh``oAUxztI@M2FF4W5NJ)j^_xt8=ZTzLwFwVA+s`CFcq@^h2UhG#*Kt5AZ;QkFI z1K$`@JiI3b0d%u8(^=e(MA9|xB?YpFbgOLd=*Kcl`5k{Kt$iu&{<;gZXFb+^mG_i! z`ZLgU`<@^SU{3{?pi~eaJwPM}W;n3uRk!Dl$Jy8Wc6s@Fefr_^^Yf>FUe6zX{`r3W z@`JaQEa~*$`tjX@(E}`v=VSB-WO7hi=^2mfrVkqgKf9KvRh-sC(3Le3r8XuvxU$O% z1(zfcbw+@`-`#@Y;>1D778$fF0;Wso4Pl+Z&UBrg-O6wm`YOHuIRe7%y4m*}?)*0Z zwL3s<^wOPhffp#c-=jp-+x_O>F~+|;7=24Cs96o^ItEsY8D3!A0CNdISM@+<`#8?= zqbr|`G~Uwuxq|^vP!d=PK%r;1+dWZLAYusnqL$DpLD{GQ_eb20oQ(h)Zp8;Ws<@}F z?Z-E^5gGFaLN~Pa+$P(MKDPNpr~t?4xMpOGDEq&AXvFbso@F0qqf-WX7d}iF4IAZX z(x8ETPQBDm#Xoa2%hEtH0AeF8;9lA20Vv|JAT_VYY}ExO+=cZ((v1NGSH@OL%o#QJ z{{Q%v>{qWiF|>fylJhgY7nj;70oM@dluFm;LgHZoT+W}$$o)7HTNE&jqq3(du(j=7 z2d`cps|8HxdF>=}nrUp*8>yw$G4l>sD$Zz1GB^H8ApnUN zYG6Ab+71~L0=W>PoQE^1jfpn66Tlw9C<))+10OX5>@HgrvNvmhy?=)rMl?5N5IbG@ z0b0$4%sqF%mDSUGVq1}1B*mCT!7Q7fKYw=D{l2O$S`@sGIf*2vNQ|-!W_AOzYu|1W z2Eb&No!Qp25RGqDuM1g)d8;H4tZ8ruXZ+&)6P5ujSIQmt&F@QUC`@(^F*=8i0{o7 zyn~EcZ1{b?H^VA4VO2MJX2^hNWv^Bmr6h2I21{0osta(P5@ZwFHI4&3T4ZDm+yB-pO>nvC<*x4zbp=d4S=c?yb30HjslFDmxjhf(2 z5SuRNi3$=_A`mAH*I{KKZ%OA>5o9Z+uOVkz?MtSvZ-4hJpeP)*8Z3}u;4ds5J0m!bEz&K9(T7CXK#D#n@ zEs53EH2HziA?icQLtNwP2~Q&wAkMK8Woe_#Z%jnzak2NuyD|4`WJ1ykxiDH`|5~bw zm#n(9H5YtEE#d;B>F%xp=f4DKefj+QsNy0ya&6+Yp~$WcNc;1IMrmwuNe1O}$+ugV z%89NS0&>21o&SFPdl(W{U3V?+@pc)&P@Giv=H6RXW7%lHLo;-*xsW#hD)4dzErqu; z`qU2z3u(CZ_n;>#ZX-g8)IFL;=TEwAFYkVYil$)O!HA7e?}xk8t@vwX=BZ^}n_x3bC56S}URmLmHp^x3+2L_mH;*eU&1*nt z*q?8&H&00V;~)R%K<&OqyHM-SMDRj4Sj}oB(Af70D7yeWK?Q93T?*9DN=fjUfatVn z<$CA+Xi43XX-y$z;5jYM=H^^*>t*fEE!$|me)*b~T@O(Z0;VP{2Q!jKqlNc}%9%0J zO->FP?!S=$$C6Su!~=f#_#qkucxkLC>tru0<@D*(M=z^o@wwKH)xax1H_%E~zg_!| znz81xH%51b!cnYRlCj3z!78%Ry;zAdw_DJV2>}Q8i(n4E1XwW#DBAU@EkN=bHHRUb zXYP>`BR?g3js%X|kZc$bm%3t`sRP@6-oX5&)&JuT(|5qBtZ1mYItn*&E;u?{0l}2qHO$bP})F{{w=C7C6UBr&#F#?K6dvr1hKo zj!AE3Z8u;V%H|Zd0uFBgl4%T#UawLXrP*Rh&$28-MU-JJl3Tj6wbjE<$oHHM)_MR9 zT!%{3%MV0yfB4>+6+@a^jP(%YmW2)>~evQRXL#F2%#X}8K2P;(yF z6=K}HVixu6Di(TWFmLbp#i;d^DlsL}LTF|OjYSVJRqO0RZe{NLeoNC8-`B6-hu19z zdyd(s0ukPr3TcveN)0Atkj-g-w|?PuNAQDqrUKUi<`nCD=B0Vvp=bHq6(a111jDVY z7x~8NIPnKbz)T>D%~Ge#qPuEV68x+KWH%6C!JGrMg`2c+t4gV{EPdxSp!Mc-~I0KVgK7dzBe%Hp6P%5$A7&3 z@WXl;xAoy*+AoK->d9r_JlKyPNtq(w1RdvfR%{do;yarXR&)&6StW{z{?g{$tMG(cdJ9X z!|DZQ)^S>b#uDD~YGqz3#_I+P zXn<(5gg!lA9h`dHshhg#VBGTv;oPEB*Fm zU9O-JuZgJTs&XdoXYL6)L(^ZU(nyii)CBiwB1esdd4!|XJ0at!y+c_7_#bvZk>qqypI! zU^$#zY4T>>PlORY zM}{Zhlu`m5gLzm0d|ffa{X@T{^1~m%Vcnxgllll+Qi&AMbt$| z-1IBm+OeUsyT#HZC~n}<%?j;MeH4^&S{HmJ{7Yl5c+OF-1u#Ds+8I*{!p7MBT*i=^ z#c;bM7~EkMHS5@bVDpW(&D8pfQ%ZrfIgzy~71M)YK9-c}F26r%WmJ{U+5#X{twz?2 z>_S!gI%!zg%pzi-PMYO_z}t?eb}0 zk-M~QlWs*Bph3<3%$p6V7-0SvAI*2-F8@m**FS%pLwpOsD&zmO3q9`Nk?k)>m14*? zlCfV3uokef&$j%Wd!kp+Se5IAkj&W>gNLJqv~-JQKmxekLEi+?m9@@CB2SFbRUPI7-%Iq&S;AE)D>U!fLEt#aB%DSBI7T%lAdl>F z<#Ytd9H)0i^0L~ml3_m#RggB5xwjrzdhT1T-&G|6Usios1qNetj!;@8bA8(F5Em+S zIv+K*^N?>#mjB#=xsDAW-`Ga5VC44`Bk!gOJhwPW#5t*Eq4l15?J8#D<;R3eT1s!1Q@@8RSma~NjZ1%OwNa4D)xi)gdqbxtdeH&v+P%=cm#V#DkNIfrI zedFPKk3f`G7@r4?WTuJ5@>t6ur|kH!xDJom^n|9vl4w>)mZ@TGRKKnP^A&MDERUim z0aEc@wYJ0KK&|fRHb+`EFNpm#*Xh$1nf~Td^<*(vJ>6=Hm)F#Ul4C#3dK!J{Xw|H$^f~G}Fh-#Ls;T(8EloVJ}SZg-|Q2@fe*9~BXGE5=JH3c7H zeJzQ?;e)%elk6Dp6hjKjko{WVP0*dm=wTbl1AIj@sYKgcXaZ(s>dgwknQ?lf#^Lia z$@{iQWV-XZMRRSWLZE8%kOki#;w8CvN259NAkO$i88Q*_|GmZJQz1UzpX=uI3|(S9 zB-aG33K9zPo6?D~KpwB#DIv}vkjsv3abml|C?MJ^9#8>k`=qSE!#znDW$lMNv1OQx zNH6!s`zC*n3m5NEInD6t-k=lBiV(<_AKG|)m~ZB3Jdg8Fn#K%dm5zt|edBmX^E2w+ zek-)X?=g^ywaru%oNW#o9kwj-G(FTVKxWLFikz&#h#B=gf#fBTY7W9GJh4vJ_|w0( z5B+?c{>ORUe*g0F>!(l8 zA3lG6{oPoveL?^k4?0e zk{@0^`0v**U*&b>01oQKJh%G=0NR;B;%{H!YU5C=Ggr%3Z^l(FD_DoZNT@68m*~ zQj-<6k5GsJUIx+(Omfpdh75?ZG!m|}4UfHi0x+$bq|4{l;z_@t(!g6@S3w^tJt>A^ z2wtw~5@nj0oD_g_i#b0)<;&BvynJ}}I8bxhKV7dGir{lQLO4Zrf)J!0BkG`b<~`gx zx<$M(GxEvIDVQIYL&938B{&2)R0@DHX#-yfp)sTEPbRnysn02VVGYQ-hAhEDcdi1) z`P3y#=Y=9AsU^_)d6{9V?7fq*qAXq1!3PWTYZ~S#5;gBr0$Q@Y=73vdA`>{OMs;gw zthe8-166I%6lTcLDrH32!SG~68~2929w9jG`cTHGloBKduYt#5)OGpnCImxit(v4` z&YYiE+u3y#fQ|wz?`tq>GLx(&spZ`m31m=LQDgObnYJPl01r9athpLY=%UiY4oC(> zM>ZQ+!ru1<(?+d1u9)p!@vO-QL?3`oUsKHY3>UR@d?z&z1hTZ0CWjv!%ZTJ`VT^PG zjG)U$5L(lXIpSCnN_@kpA*Dd21vKSLyI%*N<6E#0<9+~N1dp}z%u_$KOb19}{3L_^s&D5L_pIj}k3?%Mmmi zP@y35ORF|sQ4E)YPQYtvU8|&-t6K^$p2@wzoxI_`<)Tb$LT=<>;!*xF1V>o1W|X=D z5YIYvm}f}aU{OjdPB9&V(t6$ks9l)ss1+NMzCf7fbtJQ&32riOlER|Jq!x2lBsLuu zdBO-{R@ds*41i^fBP^1~{6@{0OrUx?=GZ{!Gm?~Ej`{Zx2*j<0WnQw% z0Am4T;fhtpTLW@uq@pvKBqOjE&4GBjNYH>B3*puHydp+1h5hKCsaxe2l0#;RgLlk6 zWsG|bVxVKvevw2ijf4V(dJ?nN6&3*}_7^SZLQ761r3kDR1WAz1HK0DYQ4g2&J!XQ~ z)JWasdj=3H55i8y>6!!|jO)%*{jqzSMuGdT=49z=B3l}uXaGeec~a~NIqeJbur5rO z(yA=c(12qY-+~RN0mKuYaZNt~p9NTqkc=e^73rf$H#aVue-CM3lH)}OCIFnk_XGE7 zNorc(jXKYqt5{P_{=K9l)RVHD52iV{U=k0{IqGq;lvA5O{@wXje$1q^ar(-6N_kCf zzw^9vRgiueTGQFG`1EXeFBQdyo4&IQavajmcd}X1d%O2zoWCuP6xDhD3CoH!rHlNl zKp*GxPf+Oj2BYr1@HfBNJ)7Tp-q8j$nw7uK=;!wFY4G~G2>%bhx5}!%h#7JYi%#=* zD%TqPZKM~DlQleyeqd)&V z<{|gDW5Zt7{ced%9}gk_;aIh&gFv@v^y-BJqeKRQ&Z-SGPjO^zn>4`|duWrD#g%v12YvNW2%Zyl8=lqfv1Bur~b} zJhRqg8qMW<2_WiapR6noK^~I}1Rzk#Ww;O)5N@#u4~PVL0L>N;S4?dPUC>^-W@;vh z_~XvXE~cf4_vGQA*#P1w4R|!^$x>8w&3g#L76SRU-V%7T98Sh+T8IEjS6LRLoyXEv z>AuJ3`COyGjNQ}R@eG$RAx*31^%9m?2c*aA(}#}<$ah+@R9eWu@-T}%%cmd_%{qg) zn>OepK=$-_*<2%)GpJOpY6FuY7wU<1`(00-MA#}sP&_@lGI8D8MOO)Xsw=4kpiItC z6e{nuubOO`g`Q*m%9TAJ5uLFwFlxB)?Gll!gE+!j;R^n&t7@!v7IO4P1wzV8C0PQ_y(Lz8aJ0plMxS}l*1m3jEd!2j5j_B@y%$L~ z6Nx^@cWzPV&1)=93V+T+fx84hAS@De-BQpfqx9YKNQ#Q#PVH5XI z09uCpo+>D^&2WT~;MLolQpgRKGMWdFTweQewz1o-t`=MQ^1U9A89v`4J3S5>f2B1vgSB9;TVfg~7ZGXuopZQ%-KY+*1^(Eh#v z8jEdu5|ae;+_kw6TkXe?HeQD;vU{Bo4_CrM@>3Zf<*V#gy!j=;5eqyQL=QRSR6gn^(9d#I8@M;HSpldi-S z+ReI@DV5>7RC4BsSUw%uA~jkjE8>~Oe;)|!Ok6(Wd|P@`yu*s@^&(ox!+T$&)}w2+l}IfJCZR=Zu6jIy?$-O_sc>7#E-d4@~qdv|{V_eOu5 zf9K0{q&1#T)l?;v8Ec@m4XMt@tZ5lZy7jSJk*AzPMYMUdKqPtYYET_#;uLL4bkV1a zAQw+FLm;A@AXhFFZF*WpGj4bpM6TBAs!i}g&M{*|fsDoIQ^31Ii6)O60R49AhDxf4 z@AlTCZ)Q0P{4ky{e^zqrMYpHF(94IvSkE8-a&6B)sMQ)hB#X+g`1r1i-n&qMktwum zbg-E3*YxD};NPNcqnA+2zf((u>yNDmM}d{Fsu=OL`lV?dsEx^_hXfZQDa1{HhU{ON z0q(`|4WRZCPU!titvT6>O2z^CHo}vnb;*0(FSM-` zaiBB^q8&uejNjb%#{$)4>a<9#)NZ>_bH={P>clmmrXAx}42rDe9;qEGthxbo0{~b; z*N)bx3w25Z9E}i;Ego>gdeCe%8i+B==!Mzx7bJ>Z5u=ObqwOJ9uLOS3lqD%ujnxp) zT(c-FKT&IT=6qc;z@9K(l1?9w0u}faLW7D?jETkwP|gA)1)YxuOcG4cO(p2(OlC{4 zPEfNV;VhaVU`%f5El)%xpRAslwO8f8&@EZ)v>@$YxX7;XLtl!8B}m3TGK z(`OutX42w{wvbMB0Ovk`lK@X@O;z%)e9l}CfW)4(8b1lbus_IiQUs8$w2P01t2Ftf z%1OkuGZhOkPTN;=dKxdlpuE)CtZ_+uPN_@e9CIB*VXM6r`@ASwPGmgVbMktcV>;c4 zR{;N#ht<=h`SI@Y{T8Tm7Qf@xs`9OQ;=NgCRXHbPATKjA)@uzG_9zviUAp0d^OI#D zI*5*k!cSP$`@kROr%eQIKBVS$x??HpCps*s_>6Hk|`Xi8h=L_GZ=H+Z~KXw~^{o9h)XVXv93)%kF(Ki&)To z(^LyUvYw~MkRD+3cDbh;h#KwAntQ^;g|MLYgd<)v%3W+J{0v^i-{NI?G=W|K((I|6 z|KRTtbA|fgWhoJ?k($yQ>qgN?jhZn#oLf(t@wq~=cDt`zM(^=`*6}p3O<{Yv3NxDr zzC#ON2a|4L0T9{%>}h2-i>m?97f%#>@!##UnEO_$N+iE$e_LYN^%|B>S~!_lW59G; z#e-vg<65*J(TXA^81b`euW}Bx3FIL?aVWBrB^0Vzb1DFWaWA;yKzqu{228lIXPbzb zmZFPrsiO=PXw@vyR`A|4XlF2KUfZn`8kY1Bd@GeOMM9x{zE760!k)#tR5F`*2L6WZ zbPCCA32Af`1tnZJ9SD680Ou?q?+OU%VH1521KiI9x|nJSYwn14st8F*Vjubd7V1cg zQrok354+ZTx2-1s=t7+PBI**0cZ4gt8(|qHUudAYtbkOJXTIM<0yy$$Eh$hOMHm1X z9;LD*b@Z0!IiMtB6-=Tcel+$lPL}h0KUmZ6MQ;PmLi~M+st^fCpiFb-tCns9937a% zNrH?#=qhdg2h(qYmKMBHm>Q|vBu*MC(#aZpoFxr^j(Z1HblLq;$(hrqhW4o6!Oj!az zdYW#n@RxoK_s+>kC517^Q7I$>d#o`+w_WMO^VB@VJ}BUdw@2}Wri(_0H^}g4`e?N4 zfz$ipA-P?y&%ey;%g;|AKK@}|o<48$`g&Mr?;^iWAZo{V3`Rp>nze9A-+U$lw`6Lx z3RXrr4iYp8M#wXpHYRfZ>|qG1WaKxYOL_BFpSkIhGy3DVcsSVFPjwkhhgFs5wC^fVf!~y?uzvdxUeCX(**MC@yyb|;qA+-yY(q}*)U*FH!7+VT(-)bmna>@ zzb%9Q!-o&@@#FFO^ufXCgjLP5_OlC>h${mYOKNNJ!w)}r#RHadda`N<*GoQYxjDh$ z0M5OiI|whrD8dR$u&Q9Jopwc1t|cgO*VC#B1oj129`eKhN)a9stznnDI|)1`dqvN! z1K~YrcR`Ul{z)Bdq<)SfkBW-pu4*b9SVLO(U_E4#*4bKIQqK4Iej0+blLX8a^Ce!5!<4}F5YqJcRUp?BXy!G$ zrI}BoEhHvFy;^HhoLuD^_2D`86F5$g55rRM$JiMw6@U#uu|KOM4G_c*&fYk!UV`JW zhGIW{Hx zfBUz8`>O<`-?y6{dw&d;jtD?_VW}njovrgu<$L0_O~jIcOGZ1rm9EKpKZJ)_G4Ccc z*O^|tBhNITD9GT1^=l6SeMg;3w*n~yRI^a+0HGf5!mMkhmNr`FqHq`ccn;EjeSP(p z^`p14MRvZOYe4kN=dbeieD|XFU%!4ifQBZ34&WE1EJm+w2qD{<9R-28wsqT}^$oaP z11N@7w8h}=(I_=*wT^K0hni0?G*Sr0oD=ZSY86|bNoV1rTaxa2Fa!^Cz=+vVh>XpW zl?bR`t;7>7Vz%!4T50XQY+II3qDAiFWtTPwkCZcv?_=pDCUkhh2`th9MpkS0d36A5 zmQe%BA3uFe_dW~h54ffKf7JN1a5yqjkr%+9CrDw^Pt;#=9 zkS5YNOQfmQAvGNTy1}PU=K3uyQTZl5)>dX_KJlkXN+@xuUnbU z<0!9(o&XeiLwbEi0i8JFxvTpS=3I(*Vzg4RlK?45;z-`A1(2(MIQIQQw2YJ@Aftyb z6s?GGz46bOk`X=$pk@IF9}DRu+~IL96qs?crzW^i(xH}>+Plz6R2<1C9a3wi9MWhY ztwZPb6V|}dEN{FQ6LiuRs}Cy*bidm8@;L{oPNY2+ZooNj^C)sclzgv)EH_99!#A)( z$fp<&!xDJh7&62)p`}&cfyy?f(Jq*vmj7rQkJR7EAT$|8ZGloJ;+YZJhwGfX_SIaM zDj9Rk=yT3HUmnY!z+W(ahGuPt4!l`9?Cr3E{&Ky3`cK!Vm;dwSKIQj^bpPY= zjV}ifjqH?PSy?ALzHcxp&|o0!0uTZa&8A^K5cYVyNaqbnX9P$q-Flu4ZC1wn+sUmJ z8S97j>`E=4cNxAJ3xuv@yfLm2CU*4x&#BpA9PvD?FBs3Y@5sbPmn9}V39Lz8NF6bw zS9A)?|ffNaA7okNb1QV1by1OXAEV(L4E|R6(QfbLr>y}An9tE(j zqSizp0%b|?878uWp1i@rkOV9fid*6rw8;zlyLtWA5QxixxgJ3DYT+$r74qVyh*^X% z)dogO6ltSHtgX^53xP3eBP+TxrEI`;d`(e>Ku3fClpkPL4NM=0AlCd)Q1q7b>TB#_ z0vo~#FxLRe0S05ttTYkIYsGNK^Ry!Cli+9|F)Y@ZS?6x)TtiOP5ZXLw0*Ls1dNSf& z0>sh{`Ypi2-wB`!)Nl_=6V$o)J$5muulSFgj&P(iEQt!l!+8v;1y7?wa1+Qwh1 z3-QM2b-ke=SzBu>=X6-@_rooJd-?eC%XWSK`TG3yhr3?C93NVddw0|S8iA-C-!&L@ z7pGcr>n(&ax}>ySjBS+`Vis2@3}`Q#XMC_>NWsP)bmE_PtMB>a_t(5vSMdbaH+@xq?=| z0gXDOdV-+3594`Cinwqc$g&@!N*#@Jtx|Su5ucw0_x^GhF=Jz+lSV~>ZLDhw5|J6M zy=`O7$0mpdt+rC%TT6&t#Z4cYjp<%`(zUX;8F;Y%tgqLOJ%CDbDZ{Wx{wD@NaK660mhT7x$RH?4Y7q`NZq8V><}-YF@?8;mQMcH zV(|wQ5DfZ^q{dk}2n+Cjf?lMj`nw@^D%C{W(yg-Oe>@$=nno9mBfdW#w%mDr$LZ9^ z5ae2e2D)?1ST82*4SB4{`T$0ykYPR{f7diF`0q_FDds~fKsVNk{5F_?^Q1O?Ld$=| zn(jh#%1E#pF~$=z&iR4!?5NHlGYl1LKI^=G*q>fL-mV{i_xkk151(be{Cr@GuYdP< ze|P_v|MFk{>I&WWk^m%TO(Xw0RoHV zOMAZQ?$C=o9WG$E48mPw&;03d2irIeoPT{iT=s`M-@wS1FJDg#ECn$EdRpjai_KiA zO~ynI)c-42w_-iK#Lw+kWtmn5qR*4%H6%e?cb?kc`E3Dsq}P=*fxFJ`N6tgsE5L=f zKt0Zlq^}?ZFM}1ANDUZ+Dhmd)>*31Igo=qi^Vdq)`TF$$dHW_T5f*hK7x)kAwgQ;k z-flseYeko+W0fufdT@(R342<>NznGJ_q|-)+5rHx|A;G&IW=bac6;@E-VVjdLNvVI z-4HKRWnE zRbqb6M!BG2kDG;MkF*qCj41j-{=-=8%Vj&!++$tQv_b+r5nxx%(GFZV6rXTR*Y_9@tq3okW3s(ut~~<1z+0wMC3%Qc@Gm9ZBcjB-F3xW zMkW$+{(@>iGmp>C`*%L&W0BlPoHu?(Z$i=1I4L##7*gRFeeEL_mO!R>GuN(?W_ewe zvrp%IkQPs#vU-|FjFx|%pk@b-xOblymU?nt)t)70U_OjYbN};lk8}SBKC>k%>7dVh zdmdh&yhWs9G|$(Qh|)x^~0b2i~Z&K$3^??0Yu*u!msT3?!c(o zva^Va7DEjJgvKn?w4t|aFfbPw`(Cvr58!C^APGi;%HmtmMF(Y-%+<*fK@ zQPipwk41}CiWZ+o4KnINdbt?@n>o!=rRmZQ28|4HfVQxz-m!rs%E2hLI6=ZqB*oa4 zxOsDDPqFpVL!Rk>-0$aKKBP7A<}Q7JG-!Z|`84o7k-;q5h1&x&(gIH>t3vymAX)&_ z7m`;-XQueat&L%-mQWlh=&-~>VGuEoJ?UX&xhuqOuExL{(@X}(XVL;zEcxVXI-_PO zOF<2Q(+gU6M(k^7$+z19{N4iO+Zxb9>@mI#JebvxzrTFAxfR`O2h4{!J7f}%$s+DE zt*mMFNGny%V+nWl^|dki%M#lTMa13I4tTF}xnG1Nq{WFZK9~d;_5Ejn z)U3SPmB)E~)dR97mYhPmQ zDdaKa1wa~>(g4M{1seeN7dV%jnDp!GyUn~u?k5_1 zxPO>2KYC0)5l542xehfau}|yX4n)ylW7o^!*t@Q|z3kWLk8e*;A8wcDmxIY(cI}px zU-9u>T1MS@xXL9aC^BnVvQ831G7cnUAY--;4aMA+_czZnw`2`V{s{m9V1n?#h`-Xb zWE2n(0MMDqQWH$XWA1iMYl~Mgam(mP7p#nt8KX@4@no6H)!m}^dt-DOE}9!^lX|UE zi{pa@Ff_XWN>A$=V-S|>8J;9#k8Qx}rw=a~Q)XHB_aRjR#5KIQrvcw#af&l0uQS8o zU(j1&t*}r70ylTfBQ7G#x(VeJf1Xhm3QB#ry`vCi3mt{^)lt`pWt zhDeNT{n?p)iV-lNi9{8y5&y1kPLa&y^+vO%sJelk)efv$0fDexbh}jSXmxlB+T39} zci;=x?7l$i-rqXAhIUw~sg$Pf)$3qO!ECy)Ib5L%NlY zpqL6;gfvzN3FDi|J7PbmM4|VXMQgZGjV1^*Dd30nEcGGp>wJz3|B;hYs9jiV(3Mb$ z!5$-sJ_EIuROI7W=t329kia9aNodD%Hhf>v$e@I{4vO!1fO2dxhBPeqXWfNVj_2~< zqUP;mMG&6D0a8Zf6>NOnjnB1g^C$|r@d&U)G8~BG7zu95TS52r?9~Ufo@4aqz#4Z8 z-pL~RkSOc%s-u-H?DK;+&)BBsF5g;!R-6~az(>N<$axVypS}mAPCiy`gGpriIL`ju z3%M=admV&of;?WgVmV_@M*qG(hKr~W)N_98{>4uuxyg{zgt|wQR$|Gdq)sjKBGn1Jds} zX0+C?_{I`N8_*sIe_K_X@Q#|D*$NUCPupA8vAC&~*~DAhU+OMDnIZTDM9DGi z$ex2XA%9oTZW}+x^;Pm9&{IbK!sV_rU}w%_gN=~L@;k-zaLv}f)#A@ zDJ=sLCtJcGu2?K(0(iQc8VUiM0(8xprC^q_MP{s(eedG6MNw`^X)D9^Y4N;7N2Q5) zP+zYtfSZ5zeDy;29`}g%Y|K_-E3DcRK$P8w29lMY{BPEYwdc9O>N;j+>^r^ept?P@ zm~n|X=m>uZCBxS&G4+;7Py!m^Gc(rN!RVoEnake6^@y6Qqp>}s|EO&`5pO-C5rWOZ z9?2r1oJm@RS(DXi;`q+<_1R+~tre{u(RqoARwNHourOmD0VvhOjjFbD-~x5NfH1A+h-9$=3-PCDY}Qt30%$~H$GYb7Ire1T;`ng2W{s5stu+LeiTk|6~$ zIw+O~z?;=i&*-Bpq35K^clVc^N}*Sd_k3q$V|E_rjtY{JqH2PhUUYf7SIxd3=9h)M`hvb)ZOg==5ITPFP3?Kn$bl5{h*54-d?kon;fkUgP)c*YGbF&3r~=4#Y!KicW?&mX z%)d1b+=T8uJ0hcfnCUE9P*L7tTh|27=Y1Qs6P3eSkf2W%LXLvGiw-dbs+x|1@z5Le`U}6-npt>?;53??DH)F zRtdcHt+U(bv`!xVE(9nFTh$&vA{*NJWGtyTZEB5(zZ! zEmN|AfhVab%P2|iUjt*>{E@755tbzb^MGAI+yq+`(q(O0!upW3LUQkSs~KYiot9GS z0qhV{jMg#}`=WqN{OdFdVCwJKx{eCLpc27Lc(PwBffUy8E&0%6k9!`B`|L_rS+cQr zS7ed1!2|&_txhpdBZ0RjfQk1D$epM_dT7iexSOY<0aL|Ii?A)*>;$w`|@f@&_<(f#@c5BEY1m~yK*oX0yN6qb{b~~#QHcc)d!HP zc@5_~dnnkGIVi?6H|Ivj>}~4EO_|-+5`LGM9Tsx+Dq2Re{<2N8d06NP0|xG7_U=x zGK(p7YefJ4!gsR&H5fm>b^bno+P&_3=BI`-FjEMwJ+ig405vYbPOw zGiKS`?{`|g;nw#OUI3)zvwMq64p4l7i$2D@A>1GpsiZZ5bqdPG7715m@Efe19KX+% zkK-bRd%_y(Yh!edwy^@i&1AGi3rryzInN3$66ZtvPY44AD2+X#Va-ibO`2m|pqfR| zE8tpd+jEN>kXn2uqu-|iQxcCvCi{su0IV@ymUGKwBsUTQpbResR!{5+cZp}?y61$Z zB`mE~2SL(#=7jrZ<_zGo^vg%-wNd-fJUmfEC}Qse6plQX-%Gy3H7k^M20y+p84AIX zjRF@OKVaZ!V~yq*VXayW70JMM9#dK*P&?xMesTvI(n|(`=()x#k*-LxzajmX;>A!3 z7hb2aop@XO7RwCrmEKvAM_!A|dFN{QGgHG>N;H$a>KKE5wQ+ zJ?&VlTF8zDU^#VV$;KT!5KXyu9;>wL1&4bux$+K;_PhW;*D2x;Krae)t7tFplOaPY z6&IZ|BgwQi-zizgvTzEV;2BFc0Ft*Fz zukHFzBAak54mJ`=oV z`Opa>8$I#GVPY25r^U}><-kRk;$@ow9cse;zGa-0TSig3#Nr$$Ktm+;pzk~4LcL$P z$K1J3tYDSzHX~ZE5AS=gz1(6W*I3Gk?K71VLp0NGoYW zHdu*L$e}Ll=wq&N4BX!s>(c?uUaYm}OO(KJu!$JXIm;c*IScoESa8``pvTW`s3Yq4 znRq_`ILduRy~=JKix!&poi#KwtgSnf#Uh8b`xdVD1Bm`|@GS$RQLajS{7<-F7Unml z=Z2V58}Cb4mdv7S&-wiF;?L@9!Y}|ZR-2Oz+2;{^TTKf@TP(1wlnJ(`kQyD4*8e$kpCMd8X z25;KYjk2Dl7RHg{Ss5ETT8v`Dkf)FgEdX`iB7J`18lw**ZvjhSluf8aQIX7N%vjA; zEu=O1HlQcs_`@K8`;i`DEJ( zug_1PetCKR@t?Qn%O4K|$N@xu_bSo<>Q`G|l*e~k+DVY4V?yBWWs9tyqPMr7$D_;;nEJy5g<{Z)mFAk7`GyEMjDuQV5$)#XScatw#;5OA^hRvhXbI!c-Vrq_9SRl z0H-YNApypi#ofafqQz&>md&{{VE|)As(xJ_@#bioUE|AwaH;UqK4i>i=F7F); z4J-la%dxiq_z(Xetiky7a&-mlevJM3IM<$mb!3gEEXH*N;rewg*43=P*XO4!ynjhB z3Ky4*1Puc;B7$5t-BE{E--7~X#k2J;1d3*CCH7F_Q5{x@7?{2k?gsz#1G!;unt7klCf;7xYT12%< zp*cB^^PI()<|%`It;f)v`02a@mKVk&kF*Ray2vG(D}_%*v=#h`Qf!)*JRNmky2KYi ztjZYx#k8XaZ%e);__Z&bLlvZ+rBG1ZR~Hf`QLSQ7N#$oN=P%v44VVofdp|48yn(xr zsZ48FFsWQnDJrB>KY1k&r;sfHojdT?J@<4plL#xauQ@A6@cYTn;N{XjpW2>P6UY-C zjpl|f6iEwmWo&c!BN1r_Q>3%@Q23iPN#&1wjqi7Br|S_7h=xpy=L+SFVG>l1Vg$1R zd0sc~&p$~E3=3(`V8_)Ge}}f~k9s~R3rvnXAGLpU)U2GZPP&v-=tvh8&QliLfyo|- zV~^_xjV@NNflOQ&pVQ2|s+V@0hw}gQNuNLbZasheacxg8``gc=w}Wwi`t&fgU-9u> zyXnIny&ROqCW^8mo?IkS#n$0=9I2f{@QT7MK2pQWEbyhme#8{C+(RjJc{!==9d&6| zy5`t*DLW>CL9;Kl7h6}l{Nh@S3#C@-&oE|cpT1ev%D7N>-GV_y24_5zcZ_0j{MM75 z7A)MX+|#q_9Y#E+r_TyAbH`}0cT(1hE=+eMYG@Nc6o3x+0T5;~N(k|^wqkzvvwOx* zhf8$oN#FN>!{9d4dO`4NDyjieOQeXJni11#$w!vd_2l5}0v9wY9k8yV1V8kWG7Y44 zITr57aEaTsoPWWJHPT{bbE{b}Kj$9Y+1GnZLTU^V6c;3w$sWB?Lo`6BGF^5}bHg(R z)|u#xQd3vB=J|YOL9T>9zpmE3{e0ZZ;~4ETFz*bN;Cb_$ZJ)viK#X-JvpBTh2Y_Z3 z*wj-UO<&yrbBm>fD8jX1D!6_&x{o#l*fT?o&(#>m*zlYqxfg8C`2MarE> z`p{gX_RYFZ6Qbco;q#USm);V4&-jNMIbl_rQ}bEe$}HWZ(cH$sqNnWie0;>bDdOHZ z2mPEHWURR$RD*yM|F|Nb91`!Zv-OdHelZR-fqJ3_0P<=8fMI@P1{>(mZ>%xi&;IWK z-!rj!Q4elb&ndBoW!74{YL4ef9w+nwkUxy%J;^24$}#4=QmK^(5cz-}N1jv9UkX&) zUk{6wVs2+{#k_2ujJ`NLP$>rJoOedf0V$9D@x?{HxoAoF7GW93%y4vMot!bE&XWF?=iJ9Az@ zZsa_NfIu+P@0N+Z5vS)z%ufg!EO%}?tEBml6e6kocU&C z{xjJIVG;pEBf(8Rgb?ht(c&j#*DME&FhN6CBSfz;9!XzVNqnw;R3K^SQI=5|tjVHuu{=k#&KE zHo8H1>?GXOy_T-K?1c$fGdc(1Sq8vf%tOQm&W&Bguo{ZENOX^}_)NQ308uCpP&^`r zdW%-C*dG+`bluU)Y#;hQ;-b>pihF8;q2)l=0j%A7i+9tiJIZP*4TlVEwAj$iIQ>QI z5%0P3jI#bvNo&A!$mzPY*3#lsi5L;LNy3fz*M+7A0_%4PQ4ht1b*lgjI(Z=gWg&1&Nh<;d>jxBLztyEroRk&`eEKRF*h^qNvj4f|-h6`0rsMe;h zK;WkRJy0Dr-^%MSmeTGuxz|c+Cl`SO(kuflrGyxeCI z@MkF^l4bAQ(+K{zywTc|x#$o7{nPz&efs6)>C;b7*B^d4l*g}g`*b_x(Jt~1C;w`X z?-Pt(4xse~#p@5N=*31(^3~t7?|pdrARj(_^6Bw&4!8a5>zkjudt73afQmysoFJ^FyL1iR=I)M46Sm#W z%4U|xac4~1$oV3WaQFP3v3@&h0F>)=N2XzbyOn^-Mss1Z&t=QGu+R&eH(IobG_xo@ zO5jAb1X%3^!T?rb8$Yw+H^i|1*`NIm8Shv5@rNIBE*wtm6`*g={POY~h3iFq4r#H8 z8nO|GYlY#r?VjhkjpVXr93``T?R%FNi#l7GAv?$2@ldXopBt@h8PE6p^6cOJi$DJh zf5yn_zl8Pk5}_3qhT&^vpL-nX%ry;{s88)N?zfDGW{5^1G6fipvSMq3SI)5GOlbV( z(lvnBK@@3=0(MBnk0~2YsO0>4NqT}6U757yu4CyL!s@Pb3i$g@q*~V}IErgYiVhbS z1iOk*QFl$>T?wUyFWro&g25VtK6gz(mjI3V%1Q`pHEW*}Yo5zB@75O=yLtXO3qQUy zn}w91b(6BT#y(@r-2JvE=wMeg#eNWx^!9jIl4~OqV@6HHu~!^+D)1u#UsfXkAPp;) z_*$*z30ZNoz^FP}l>ki3XO;@Xs9P0(+gIplxYFK-&4n2>{0asSt!w`+W?o6J=O_3FDNLT%j?;sbr8xh_Ifu z%N4riyI~@KInP^$NC@||{E7Ly{3N?%>M2=ujBgkzdt{{{PS_vSMjKjUw5o1 zkM9hO{&KAOZH%w`(7OkkIi;|SPWS=gDwN1*AFC{ac7#=MLk#JbAT(dIIhzKFRLE`Q z#EzJ}v?AL%$|}{SA=C4u6)<7zy={WaWA;;cGIKVxJiCsUUIN37Z0mtUtvAoeCx}dd zv&0hAdtvc; z#{cnyE1)+trEEOvP662Y@R$wrA)uMgDeqjyKOaRyNXwV`fauztF z2|~YKy1paEm_Y?G-;w~1abuahQrkkBIIQ=&l`e%KxkeMTIj1ver$7L}66U|;QNKH` zHKf%bt)vn-Fj{R*5vF4KUyi;puLC^Bzcfxf(YNZ5s*wpm?P`PxUkOWEtm#Ol)c5Bq zMO+9prAnH)E;DG2lG8yN(Y?TA{MRyvWNhbnx2Hx?bE`zq z$L@e|w6G^Bxg38y&O<#7Ws7R<|1eZ(#+Fa;%$Rqn?KzOdNM#my!wn=Fiub{T?}to& z9ozNu_4@n|2Z#RszKws7efwFWndJR9AX>+F1x7!A{<<9?bUUEvCDG0C%Y|-pT4;QE z8UGfkYO%4xooGd~3yd<$TcIV72fm>v*+2s3#u~8Lu+8Yc3;H;N$OX)JmXMpMqqlYl zX?uT_5M8%BN;HKvl^s{?e6twRGN39=*oHR8mZWy6DEJsl0+QMco^$PB@34y6 z62BS4x!j@+C_*thP?DUYaY~$G?Nx|4VLMpPcQD(SB>R(=(vRrAaL`09EwUZ)KZOooT57kKhAY^+t>AL|TA+mlj>@aH%K$G{MA zv(W%+f|UeNHBKfa4XqIbNaC8r`?QvJ&|5CwA%E)V?$91S^Z-rJQaABWC2rxr27l5j zqyTeznjfh$O#m(o+3EKU(jcI)1CW}oYKg-Bv@*y3TX~Znvcne8(#8*MDP{_#p~9kF zmR8bg@Noehi~#UC$59Gw?<>7b)i|#c{*bc#>3cdHrwvtFE8$ECL+RG8TbzEOk`vp4fy`R*=WTS-m#IG{ z{^^QMZjt`w(f8$p5->)SD(A&{RLW_3VuVmm>yYyRhGb&pA}DnO@K^^nxy|kJx@}KC z9enr?2gmv2AzQv2CtLTLb2))u`SD$W(K(-JM{DB_vTUjlb!8zdGXVOO2>1=f`ON$bGxBA_?HZN5Z(A@w|_uFZ68`19f z=OI`~cBd%e6K*%}Q*Q$4xTd+5 z1z^!C5LCQj93D$}HvqS!$6v{;Zb&KE2p;V|XlqEI?Dv?_T5_9}8qDOGOvJ$)N?MGD z$G?)Xmy1fg+?CbjWOAB7du3hBP)x!)Y1!i+o}aS_yd^Nva!GeIS7ZZVv-iD4?EY2K zg$#GOjVWV=F$WjKOxIwHCS7MUlRba1eJ`kI8{T4E==QZR(arj#MDICNHrmd1sqJ| z!@4jjBl#KQJ*7ZR0Ac|DF%l$iB+%^h-=51A)EU8uEaWfbDJy8nuBRiRQ-UST`9LC{Ad&AB0}FSz zKyf-*og4HyLCXh&SgsckPk>Q9e;dlZknXyICl8>N*AP;?)(4_z@Qe2zslHR=$v{&h z&36J{a~n{nc#{{xHCmo< zji$vO3+LOv8aX3@e+PXCha(eB!H>;%9b>;dJ$=1w*RPk${QB{SAI&Pd%UMJC)gRv# z7~Pis)-f#CGZ}aaw=DpxKta5wS zB1A&e@v1C6)h!u^g50>F^oY^)9>mdz9D7<)X<^-~whI_Zu|2dka8g}^waCD@!`+k|m-d;_Sg*c(bfscA?cmI~fa zT8i^rb%W(^`1kH<1uSq9mJ7PMV=kQv!lGvLl6I^C3nk0f3^@U4yoez=z@ym&a5^lJn z^I=Q@6hb-oMut!rlKg%F{&2*eq%hNjdkebRZmxc2O?Gb=kxv7j846a!OHl1 z#UA)}jAy%-h@{67bDs&2y!q&Wy}lbCQ=tfD#5qRBG>|tS&K-B8QsI2cW0N89QA|H$ zv-e$cj(1C3f){j}tTEYg)ywsRUY#T~DlottTVLVsF#t58l+I=~7e}>eqg8-}+^wiAD^eS?7zA4nN^T-_ zdSX^JOXWa^8p&~k*vY$;!Vj5y3eagsw)=!I_oR*c$`VnOUkk^>V3 zcdXwzlXyayhNt3C9=$#!Eg6!^0Nn6XlXt4Lg4sh_a?pU~GdjvJbDgolwD=Hk86eM6 zN3JPX0KW_QJu<;*88y)PyWjl|v6BNK6q{RIy``wds9rC^u#vD(g@R-AXBJm4$Awr` zvs}MCzj)@p2(3#q4Ob^&OpSg7$ckK|ShGzTe~T%)FC=XREy`*Zp23)EznEuIhoY3b z3`T+wDuYa#3_eg&?U$l%5N7S6IAN8*pcO48yk^<2nS-d3W=U_e0a9UDOFeJjW&`sV zpOvVl0#IVT3BUFS&+8w_crWfxK(wD5)Z@TXkc>4sAF6o|5;Jjf#(?U;_-h>FB&HE3 z?zl=lUC_Btf~I+To+!r^R?jm6ta0>bNw>bQwMX{05@ijf!!ljhLag?x5>E>7;B`q| zfgeqgB0MT_nkIv{b zC;ZB$qXm>gl5Tyr>0@?&jB~jQvdSk#%w3eE(ZZn;iAdpkHwq=2rpuD|xO?{f%DB>S z^?GJB+{gyF>~D`lW#o$P$(%jG3T1~PfkuEiBlWg+7?^8ttvNEajFXm6~%lR zlW5k94Q|2^#UT(caLw-n-FF5-OIhSLR70>ZiXEGrRxEF$DI!$+t8T1dt>c=sN)kY_ z{+oS=*}Zm=$?$=#3gL6U69f>n!>VdAr$7AgL$uWNOzJ=qk-@uF%gybQrJI6L?(*f! zD;gAhmCs+kNK`7~t6 zTo$Ub+Jg&O$cM~SU>X0)=@Yp1eT?2As?GHbt%>_6suuYPsW9Z6;*Y3!5TlMEM+ptIw$X&V z?o21?9RcI8C=Ctbx~&kb4)0)@WDHh-pG#Uq{n|<=Arf{L0AZSQ$gu9&&(_|*u#V*M zo$KYv|K9J%v&@@(HGqu{Q&zUgv(oMNx0~F?Ey34fqKBfzB1*5^US9#kaBqMzb4N3| zAYvvD*MfeGgrgbHYnD6{Mu*MMUHCRvmvNDg*NeNC}IEt{32s3zj`5`M9*o$D)EZbHd%B*FkRQ&SuFKAsG zfZbgD)>_m7y=UeJBQz^@v=)u0vunq?86&?*ggiuO071|2F@-|o&y9IdShsC|oXVmI z!b>C~>H~}~#39m3U+&MCixqK}1V@3Mg|Vm$mVI~h>n>@=bcI8tI;+GWJXUwD+?NX# zA*hI~T(j_aIN-1oE{Fpi;bIQAe>@d|@qjYnrP)xkmtDWSK5P`HPB}_Ta2}M2_S{pF zrsMfwWrK3l-QG)RQ7+3%0D8^ZknUM%@t)bHQ^U%47shP@1OhNpPR~KB@wtoB%nYh1 z(M2%Fb#_X(b=jy$&V#NgnW-R3D&1l2KX}3=YSsGMO#p5o2$)GP3hy@SGa6$Uruadd zj8Kl%l2o*TCCL?>UgJ%dj4uBGIkh)qex-oBDwGt??I>Wl!a}S7 z<^G>Go27mOL$fr=Zm^&Dd&q560nzro5xmUg-hG;%>Tp-e z)Bbe%c)vdV?)BxvzxXmPAKr9(x*yj#SY1zO`R(BGeZ`D!8>;~tS%m^(q&f%O@exbc zV*s7O3r%Mrne82A^cXHstd7EjMe!j;k!-clnQ2FSVZ_xs2m~;W z_Mta?wK27@LAx|m%=@}mEMzmPfe~qql}So6(%T#E{;*`3wmmR0Jw~kJLRq-@lKsLXliWcg+>thKpFe;0GEKCCZ)t@e2dI1r5PsDb zvJi~Ql8v69ugAJQIr!~vwY0uS2Rm>TF-TJo27-Cb^)?1g%a}ma1CY$L{^8mPJ&@T; zG&Re~X-rMzXp8eoOP`#_PY9uP9S6FwVv*7N+7o=V%aqF)0zvis8R*XiaStx0yKTH5 z_vtMym#XS`*pqQGMu0DjhxusdOY^3THjey0?mf-}Ik_ci@sWol9VtLNS_d6%C9+`B z69V?GFpYNGvN+DXe~*C;FdfgiZ3U)+hBWz@cN3EWQfzHHqoo#TZ%B{v9Z7fSSY!&u zNT`v?ijQlh`ES9d)7}v9S!u3Sf_+!og6BFQp9B%@+RDlVl6--4PQF9XlkuM88z4@k zp~R8D#`*n*BJcjthy9i`)y62_qG@gP$?w+R8G^K0xhum7u6ppnXU4;FB$u*MLOSHFiAcY3(YX3hdCu( zD3q*Go)3tS$F0qAML^8-+7yQsXZw68Nq;={$v+*&rJvVre$`EHfAv>?^(`j)t3SRw zFnabF8E`rv6pDaPf>9*i&>a=pP_kqYRBZt4ms8Mo@X{b!*QA-mBa9(rzxypUwWu)~ z?w!!w-AVmTAi5w>JORf5&>SZqG9X|)t9)!Of6S6;hZoT|3!O8AnZPA`-Q$s>U1VhW zPZo+t=D*b$z2oFoB;1@*;2evh#| z$7QuSlK>MoN0)1bCfs-Sp^wb!tuxM4g zP;QiYDqlwFHIU^lD62zdFu>PJdLLaF>lu8~&E^(GtYvsJ&f=iNWD_fcS*}{LoAGlF z;Jad2-wUuDcDLB3F_P8xr+X>^ih=K>N(f;OOWXs5%FU2tX7~u_WZ}6NEXjJd1_))s6t92D^~ZdpDTl{~!b7C6ypdi5{B0$X z*DP={tHh00I9V%WoMW59;xqwjIo_nmGe8QkTk-t-$vI^lYt)HOROkQSY2Ctl1j$A{ z$y_TXh5=t|wgEic;~TMmMpH^gOS7+s<-%zCDl0{Ak4(I8r^H+LF1ZBPYE*z(?=Gu(#h*ADp)dDZ6H^ymf zA!=v47GwikY~quc7x@N~!__qQ_|VZ7q%B8++F1XQdlH^Q;8a?&y{5L?_+!lm1~YO* zb@!MTcjsCAz}M|^`R8MQ{{E05|M8IH|8&UWpO1aOO#0*0-)fBZc*@alsAYIqM4M@vC5&XDlBQ)XF(Gq(x}=5Cp8Ni6wJpOvZ@^Z-M5xgcm|d@M=}*Sx-h`kd>R^^z zy`CtFYP)suiulcYBoaA$AoEiNXb*7cS>;@-MevI3^7}3$= z$kPS!oDp+t<9%9B2@Ee5V?0HuFWV1XEIv@fu6v0%-bLTI2~l(k>!0w zxQGMQmk++a9!@d`IyeoVZ*$YnEQBu%jROt)L&o}SPjJDw&Z&~ZDQ`Ts6C#zhoS>9|cVX3Tcp(cT@{Vu)Et-G2%)>l#)ip37_LWxf|e1xX# zS!Xl_EkP))d}h&R%T|fOES0rRcFoM5Riej`l3`^W;pvF^WINw3j5SKcLHM#g zU<~1WUINti9E!=|-s*stLNVT|_&JfXX8EW(NNb+GNOpqTatlQ$3dAq}NiRTk0@_^@ zvyx|HR@|kuxnfubuW!uGLvNsjExjMKV_unvi#FQ2pw%+R>mCwO>5BJi)~alXu?4UU zoHowM*Gp0kw_*`j51S#CV&3*&TpDq&i-cr<=8cP3-yeHT0tb{fA zHu^l)_sXI+&i6->-|C5lN}w9&q{8K%5v@5%r37cfN=#m>?fFK0wRpBrS;AkVd5xsW z1b$y@p1A*2n>?k`HbmAtI6LtCaa}eCK=4nFGI2b|B312S%o^t@$vFQxZ`mOG&7{;7G|W0?t*!av^|aQI@BK9ZOqF*AFu!8kXQfq`Q_vPdK>cp z9as7LpMLu34g=A|6J{GBE@tQzRLABuhm?ktZgt z=r(1~yk8YUC1M_ZZjSG~zP-A|)U0NA#F*~L0yLn=4Zktt+^muN$PIaNuMAj#VNs1( z#aqOhVT_(MvM~-9*0|&Ix7X?5h*p^d-iN?@+Rm=#s6!f-<^Y;=HTxWg& z{R1G%m7xn1Aq3Ui9NfHJVa$bf>AG(bUu)xb@XkGeGB_rLZwI~Tes6++)(rLUL=qc7 zZ3 zpO4B6swsRsCSYAi=#oNrp?fMAKbrrNFVr6G_mmuC{*z*+Sczs*O$VnLAB~yqF7%<2 zp*y`;z5k7vQU^^!t5VGSMq06(t*}JZ{8g9*!y)Q3$<9LNUGlx+F_flEj#S#bHLEFM zD`KTD^HMyKWpCQG6Eu+8V_TQy-u`V$L^=Z`N_^>RRZp})iz{R1#Q{zDXHp4Y9mI|Y zOR<-MLTMg$V2UKmEq@=h+$G&fD1RpeMteu0;7z#=iH^GQifD4>PVvk*N9_pIu?g34^T6|pVw>%lOS}Yf;w^x zY~5?8&qAZwR73mtPPRum-JgJ0+T3$aOWCV$mlYIa9(6TcXGOBk)l9sz`qnJfn1tMv zE-UI2R6Ez*1z<`os0u*-kcgOeFn?81@i-v<) z>oyM(m}4-G$*qH9mv64LRxCS@bP;y#2#g{&a|m)~k3*uQAnF#_CAEW{n8&DVOMw>( zz%kBSj0{^Ks2t?%)uWyXJRXt&OXqYKzD6?C@v@{Q10(ixhg;uW&2MidKv6f%Es7L? zU5EiVlf_0mQ@WIaum>!}c;7<-2CNofz7&)jtSH_RlQk|gOJ5?}7NAEk8e5pP&&+(h zAoKkKSMchLV+hJQP3y0gOpuI&E^5Da6C$kFI>yZbuxGU&?>{|1iHt7zF1b39hy6#lid82#K3S9W5dfcwVFLCm zcny0-B<}?&f$kHK?xO59k4K#=H(d!^>7uU*M#}h>ne4J$%8Q^ilc(uCeIe@w9^;#^ ztWAam@aB0lyfJbl4QJJjy2!>g2JXj8vilbI09$L4h6Sy1GrWSrb2OoR0+A~0P!-=J zt!P+kd_PvqIOC&hQdP=Z5p`{uSY`Xz+Zt|B$JO`b(o{U7!N-o6)wp0JBWi-F6G@Xj zGK6V>GoDaGvj#r`euVxEg4ofRxk|ZMwbns%Z7|<%;oYUeV89dRd>}eaUics~zIlv? zp91BP-SIfa^PwkRQos=NH^;;EF&5SK+yvw0fk?$6P|?EKdAwT*nD zw}uHupSMXWmyq%cw8XeoHxwN2T-MX&>9CNF+ws=h)6?}}w7)+#;&1Vyf9m+Y!055# zrg7FW4h*py2tEFu>P8}D4my89u)K_NLuBa^xUpETQL-TQUQAsGM34nOA~q|npU{L- z5G+^#N3i2?r%1~T71?mH~8!~1*rs&XH)PNz+!SxsF)^y|_! zV+lu3k+sfj+_fUZoUvpw7*9qJ8{rsKATO<47ePyfJJ1T)Tf9c1)BQG+Ve<2!he+mO z7Po<`r~TQ#=RNGNmlTF914SWBB8l*Xt0ykK9G1@?K79h1tA5oxve-Q?^%54>?edhu z@a_Pzd_$Vo1_(uIoQTnrv=+Dk;e%=1!`6TnPaC6Kx7@O8<$VBn59Q^qw|r**4&oUv zBT7^`_<-``^=Ti3mxECY1*oF8;Xb^ERa&;Nkj65hUh6yMstW2aft+Z-LE0S~93dZ& z6MoSym_@!RS(`BK78e&O4s!Hd==&sy4_VwmNcUoGm;eR3Jb_UM(*a1uTi(|E6Z~)y z7#cjJK);7C?YHzg*%h-B95IQ)^1kZ(z8Ve4l&akqy?u_oKcHlM6VRSWO;1X4emvlfoJFbKwZ}; zop;`s^c;pOet7syDkQT5=}{9n3S_$&M_D*ZUsXBD2JWZul+>&X=t;CnIfVs!mu}@} ziR)wmjvFNBi3%D!L~MtJbla|a-JbO2`DHzC&&P)!^!LC2MgHoqn@2ZdZBK3cVmW>p)5b>pLN~+LjYV z^XDL=8!*KaUV;g%s8<)?3k^_NQsXY^!e0P}9USim0KPke42z}{wnnSZ+kMZ1^VvcX z8;C%~Q1}g2(63+LIZYW#nTg%L@K^kT8A9Wx6RX>uXt`+Mg{dq zBVo-goX0c$`Jex}*B=tG}%>qt^&#vuOTZ9s@_N`-9TCklYW=gYOYc;@8 ztE{RG$cUUI{D9DMI|4uBWZa|(8&O8`Fw zz-6*smK&2&=CmnXUZo-Lz;g!T!&d{d!P5xHg9Zz*#dEWy5jtcM!TT=@`vDePqx0?9 zyYQskw_9Y#WB=|=fe)HT-B(kZN0m*Y;uO*Tqm;TrF!Ar~qSFb9m*J!g*iD-13$}k8WoL$+n&wN&-r=n)P)!y~RKJoFrIVrvPw3kH4?d zy0|$0b_6D`1fd7RG1$ z`*i}hQFaZn^;#4Vs~q83UX<+Mo0}E7pNE0t@+`j{|K;QRsxvyqKODmJ|D3x^@xMA& z{l|l$UJl^29kT98n~>m^@ILW9;h{0@_*X+2?jX zTgGy!39Rg8$wn-UZx+#r1O4c6pq||hA!!Vn$z67>$oLNz|LoRNJe!~|cEv8m8ZfRl z=xak$fcTzW(*WM<*DvzrmtRsL*u5U?au@r3grX2hUk<} zz-?gFT=ZMBs->leLeK%$@qEXH?j!1-MuN%a?P+Nl-VrA&1W#M^`*x#3ME~c}*JzZi zkuK`K0SW4F1MAXii=x?rg&tVF!TD&35^U>Lci^TcaOw#QLzr=nu_ytAJr`W;9E(-} zLBueR+=~obNe~a418ZAK~)tUlpb8FYh?W7HhP?? zB7~(9#YR4Fqa~$+8p=*tHlvN{)P{2OOnC+Bq>c_?`iENI&v8f($2k3{dE7@2s1FM491^ZD?bFFftb>TGDsW18DlYhJMHI9xU}5TJ@$#<(=B05 zps^Fw^{}3L%gZ&=HO@l#Gt2EDmULCeqz&$Mx7c2yX#9>I<)bmfOen)(0>JNHEIpqa zfZ&ScAWx2B!EPDhO0@p<68-9*pQ8W#1qn;eT1K@eW&P28e-f5`Vo&<#r)UTI`i2Ao z2kT`?wS)CqZC)*do8xqgxyg4X`=r7VE_@H002mc{3Q7VnG2!`oC?i&G>gPZHG3IJt z4oZB@Y+jDdKNlbd>7UOfr%pv~d2yOsgXjpb_)|43G+Sz%Ffx;0mu#hY#l ziz!_60PC^FBGN4t$*xE4s{jkL?ZI+?x*Wv!lys2h7iq~%KI>`S3bL7PUrHBt%$Xa=Nd`JE#ySXVyg|bn5A)o{%!R!8hc4z}}j2D*qfemnl_j_)g*e!u2I`%YGeA;^m215T(Nt^mn|?>%h)zovH{gEhgHn$j#>iI z@oX=LE84CRouLRCcX!?HaHSd$3K#yxU9th5&z2LGyumw|e+FyE9%eV94L#sX3%^Ip zPkir^Z8s^909v1}@gBf2ORx-BMr~}p@HXdW+i0OFAnLKOW)WNf*R~Xw=p192_LpnK zw^A@|0KBw@e)#aQVoL1^Q0Ut&yEC%sqc)>B2$%r6GNNYb?H;vA>B0;URdqoPDB4;^ zjM{PkON5K~xaZ95-uqtJ=I(YEO+mBYpJY8n87Z5CugBW|^wS^ZAOGmwb+S0jLwnIf!JSc5gw#8I^BEz1%@%Kpb&wr>I{= zSFyY0Qid`rk zh1R9!l}8xxhji<6jgjLd&q8TC@F$UOzvn#)v@5{q(Bf4hn#x=x$xc@}e1Di#^w{IO zyvv>X?fAy=U4hXL>*;>Gyxr#h@^&z$`~B5;&!H#Jq0M*_;0CdJVSTc1Yg)NPYhx}F zS`u&RW9c3dgPeA5ml=pjB71<-&EN_wEAwDQ-xTCoY zc8@K6ix=WQ8DD92(7gCQfq@Ia0G|d%-riop{15lC$8TPwT0W{&QGeD|y=0Gdx?&^g zLOuR&(Cvvi^L@S3g~0;lQQm66CA|4F-jO-KIRG*s7a;KB%qoTTVC)&<;M___Yh5pi zQ|>hr{83F|co`N~3O3EetqYQnw5@l=&0fz|o$)3~--o~=HqS5yeJBZ0%zLnOA$ zG>_QO+x-SB&%!*9WLUI>?G7|K_JPE*I|}ueh4ha3nLdBR+r*jE$;! z{eR8zon_On^?JMPLvQJwa%&=XrLutDZDFzZA60_`Nn2nMo2qK^Tbp zL{&VOS@Fn#7p+41i;`8tqE<150jzjmV*nv$TSk9w_?3W)VDt`m`(!*JGTrH7uR_)L zs6C2qL{TLB0`NCl7Jq5&vE-DZir~tKt>-;x#@6V~ z$}M^FS-21dV97%Vj-M~jm&jn2yRXOF0Ya^Ug1x+EsD{hm5;fdR zJOEmBk_rGjQO-wV{sgp&gryB2v4=|xv|+^V3d)7Gw-Gcfd$oNM*PIRlnF0|?$q7N2 zHlI=J)-W(oYJoHD^70 z#H6hjtJ)MX85QpxX0nKll#v!^73I+TP#y=C53LPgSFwFwzs1e_92V3c{mQ3b`_|zZ+@umQwhOh{Cc*s*ZXrugiDabf#~Yq(g!(Xc(v2{k(OggaFnHt(0yxm08X5Ao(4G+kDe^AN#`d3Chsnwf9jI$nMlV|Dv2p~WFk_L z^YqXXI#R|#IJ~>t8123%5Zb|V{QXVZY){i;Y^Ssa4*9J7tj3(m4$fnsf*Xm9LI}#+ zd_FcDsEbj7l%@cWT0^NlDmj0ZGa}%N!`$=3JaUI}fBbGno!hsT@VDc1d|zPnhfn(S z^Fd1c+hGme%-8AlHR-nq@QD~1YP0LCk%h%c)8##9)9&PK{kRicGRr>CDJI5FOK#cP ztLCT?<&y<2Q`jCa10FYxSjtm@Z{az64klyA2EpYG7S1nzA3N=`U651+J1T_c9r1Y{ zE9l8lZvY(t5Cj^>e>ap@;uyD$2|fW3*+$gB6U(~Tv0d2dN+V>z<}#$FTkax$X(2Hw z!X+*Sh!7q?3!&ML9oTqgw^SDX@$F0NU}Ru4tigM_I~Ox~2Q77nWfVoG2?pgBYq{-P zR#1qf21~dJwr2OR*iSMbo3~f1!O6JY6`8nhHGH}XE#{uJetiD)`sA*D3w^NoO@>6g ze0}k_(hnbAlWgpMv+ zGzE)vcP#cIo&D=nm|U`a&}p0$ssQmhd~7feF&QK8tJtS*4UHY+bV6l-FK0ur{#m!d z1Y-sRv+?XXZ+_(h7^~ddXPOu?PjOnsca@gUhb4?i!doR-Q0{$!gv#(VJ>OI%;#2&^ARZyky8jqA2fcZbvnxw1(7ah zxkF(;6Yj{^$KINlR>JfeYM-N#A#dq-04Sq%R6% zb|0RvF>ZIW(=AbB-m$sN-MSxu%bdoZB@Rp31=-?m`LlS_J$l!()R1r%kcbdg-vB$F z9AyCU`6;vJca~HFPG|i|FGPQVaGetwzpeQCLN}*Bm{Nc>LxqO3~1Q>;>TQyO(h~!1(KS0K2DGfU;mluw467xyClk;H;w*mDGWm7?oj>z*(9ak>SZ$=@af*@)C}&-as)b2zlBdti3j;1x=(S%R^C z+|rEA#3ZxDCzDgS@%nlW4o?bn3tgo7AC9GYa=AVqX=I#Y|0Be2AYrXZagj3 zCjvtx)|Jf=bj&HG{L1*o=`odb^~V&llh;HT2`r6e94#v)fxDjz;kZp^>aWyN85d~> zpY74Y!&-``WR4NWXU++e!pcGxW4YZU+@NRr+9SBaF!;PZ>t8FjOk(ZrzFU(+VRgQ{ z<&R+j_P!P5zauW!vz~1p5szBQ6&u=#zPi=c0PN?_2cSFvrq|fKKeu=|jA?X=s=( z0fb4(LpVNZU@cKryLa8%Tg8GNg79Ywc*VT%ODh*iPe_O$O$#>x(wv{(pI_VGuoU-@ zp#G)09u)jVprOJpLS=aknkrx*$$PT1l>1wfN!LtZVY=}_!NY34poD8rELFtb#s#`% z)yFZFQ4V2H1&^FruT_%=j6STiV#A7=gLsq`Wd+oc|K#~vUjvDajP_Ek_sh^wdtB0! z2rxQer5*(|L-!ieK_`6Bes zp&P0dzJfK2`k}#3BP0fUNU7q+_eKx%kT%Y~iL?QDJZ|5McFY9wBNShG+#kOkf9m+| zz^Fz28AOTB ztgD2P;(qR~#P2&3Y5=+->8Jz|lOi~l+hGZD57{bU;z=cD+nV9#Hc)D%Bg(B}HAgGH z)84i?KtGyLVW#hBF@N5B{QwnjEWW?k!x=8!JtPmUhwh?Rbbw(3(WvrH8=mFD`iKOh z?v4+)8k4XX#YETgT3fD-9d-|Eap|waa=0Vzl!DY<*F1kj_CC?ooe5Q{8E0$4il8_; zLA}ZNJhIf4&9e7*zoYf%i22z;69z)f!fMv$2%mU$%dKU$n}yWo!`%7z{UaoKl~9;jyz;ZEVC z2>_*K(HA|-yF(?H)<@mj!j=H1B}GBYa7_=E-nj_lCi7mH7axkzmV;*s;JE5)E@@Ys zJT7gV8`Rj>7=OtJVC&KmZt?}1n%Mh-$`xx#h7fsIE2YIq&VrNx;9-8!YBbJ5vnO5B zHSKxn%9g?<%oD_k=A-wy4SoP1FwZr6v#saS2JGTmRl*L|=UITIil*c57Ct~lKQj6o zGH8m+NpZF3S(1QK(;Aku6xsQ-zAu7nc*}HEIi^w2gk71kaa4j_MPx^#UrX?`%{Jwf z7#csyx{9aGpGm(<&+`GW6BfY^mr8*kZVxa|a5_MrRTeACWsR!k+Pq;5&nhIzb!lFP zcIVl^DZl^j@MWIKM>$x3B4qsMb57cs^+C~MNk+s_56N5(@&kfUhP*I$gLExiS8Y64 zR*N?-Fv@451-!o(&qMl`6I#6h*uz$jYwmdcW*Yr39p9y8)Q*b<23wbyX~Y*T4a4Lf zOhYEMzP8eD(%={f>Oel~H2DQQUXveO1cbglaiLyuW;(1SqC-gq;=tQ&4=vtE{ zq0C)O&~%BZ&rRNF)y8SA)^z}&7ca6d8NYfTJ3w!=*EFKHF}-@{ozMQVENd@xJ_9&f zJfvGaVFi4Bdn>IG<6&mAxqT>mO3%Q3tX8}8f`l1lsymP} zunVwh&tR9lSbU)~^8p~fGCub6FM7DecVV4QCXhH_97w*>0Gp-=L|s;OLFAA<=l2f5 zHFB&IfN5xzUa}UdBGE?E&NOgoV~n+ZN(=Lo*C7qXRY(akIz56 zSV8<3dHL|-&(F4)3yDN=y-Q@iKVJ_f`T|+8MG^g%5AyMFzuR@5tUak+!?XA!M$N`# zec*LJ0P*vaH9wBA4^8XpO6xO(;xX@Rn`<+3MeOc?AZ4kpNce)wc7*bBF>4cq_uaxr zZjylXb|?vI%@(fK67(7|!pC#iHFk~lWn6Q_62j$*y0$B`ZTS)b>X_Ipkv) zwlH(=Ry|+{U~D+=a-{@idtQIcvJU!ts|)Rka0q8`30ezCh6ULHlSG*@hOi{)w6V=^ zYXUh&M+?h~-{;y)gh!14l$oX6>S%^X>Y&3L)rKz55vM%pdLK>jw@yMM6o5<=YRebn z2zs*+6U}kQByj!`#9l7|$_T?4)fMXut~kd4m7)on(}w4_q-hk-xf%chvFI2l5SDA0 zz+D^Il{`Pd=t$nD?c7+m4sv1b#GFLEQPdQkGp% zAqW_ZO7*1WhpVBO84r(p)ceW8L#v_z8IO6q4`g0zv}|->^yKlX3LxZ3F{oXtO=BbY zBA_dG283h_TK8BNFH>RXm<8!hzUFNtnOVN?chnt?vMV-D1Kk;Od1rC`ur#`BAFgfP zII;sIW4s=BIwWIt-aHFxWO5DXS^z}&4BNh^Wgv@N3&x8CFUIh)pncRmgfNGueZSqa zIJb6EANpxv~s~mBxc6ezm0N>{W5MBXP?PYaKpS=z0HG#1rCJ}_?*SC55;m05S z9E%k-foq+eEa}J!@joLr*XL~^MyUzZFuzh>8KFelKkQXN_k_g*(+;L6VO8ntmLT>aH29Z zi4Im5)%1u^fRY#0E3TLEue6lm=5+C@lq>iYV2SgU{K+kb7CQ(9E)ZPfe_bU2`p)}8 z7$?fB5im4|{7c%rdJ+)$-)2d4dnmf0{PCs%}JG)js~_*d&|Z>LSZXWSYUA#H0=6Ur*t{R_%=COPg`J> zvHMgEVlIay@E2OGHLtBZ^EE0l>5g)Wnldf+<%C6c49yzgwETw$6d`TS6FBi&vCvc; z`5l`{m0Ba!Y((I`ul;`LBD-$k4{`#Zw#noIQu+Ji$6w2D$G4B~&oXMcE0>GGrG1;1 zeV^MtEQQ*GO&HDnpqDj)mGulI+SzH>S^-`wnv5I#ER5+6W(IK;zHcB@E0H6vJz|sO zW~^%#JFEed`ChFy=TmpZYjrfTc8_SgX_?u~s;EaOYt3#WLqV zIG8ao_VMGV!>aufot>_iw2HBYWC!tfHM6*yWs=}FUR${7asNn67^l2~sCsaT!s>d@ zgu9y;6_3(k4uA)hu}vtEyFj#OWpxB>gLuiKl7{xB8)#)9L))wp${Mmu*y+p^8?QNP zyK0rYI^uotED0O|M9pfEMEPh#B2A9`-hcpw#1znY`rQj2aLG z8Vg{!60gqg@dg$|PUAd%q6z8F9g!f|GHxx`LhC>5!48aa9Q>=@I9$@f-A<@dYCfab zduRunhai`wF2R#uSLKBE1t~J4uKVut`uH~$1OS9V+gQcz#f5M$ojFFpYuslPkR(g4 zz|`P*SfxSjIiDEZb|hENXHAcMf;PmW&bB`^5?R7xhENJbHTK%Jc|QQFbkPIoWM06S z=VD`BPH3CL5um1SXN<00q4*%&P z`EKTWeLGCyuQD%h2Qlwf{eBb*DUg+#6}0OO%uWZiBCYZyD9&!@MG^8HmMnFPl_w~n z%_Mi|#_&YZQ%qFv_3qb3j1DEx*o(+(BgS=lXBVqgdf40wu)5`7!^T?G^V|x&-S9H_(E+*5+xe`iapQ=ISw)8J7tG<)93impl4lTRdZ2H@X%%INPu3 zUiWNmCM4zk`F<6dk7tQ2cE;;wwNdP{ZM+=wu;fEjndS=lyYp7W??Pb~S(d{ZME)l;N z_cp-xe0=ut0J7|kwf2hdbL%*)qU;{!KxGAha4>Hmn4F#K{-C&N+2173xVh7Y*VU!Y7=z!tltt^3NP21-KP>7crU9VS!RX-t0X@u&RW)YX=Mc({y?0HQvQR?%fV zXeEm2(R^c-(VZY2;{vX1v?EOs85nbZ1i&>COxIz5N7WC;$8uiMP0uT|>r?sBOeoc+ z=+!!{(aIq;MJC^Q0Oxf)j*(W_GkvF*0~5CZ0E5O_BAmQWA?8Vz5AHE##{X8z?=R-by-7dGcW4!y{{oUWm z|NKAy&+@PT^}m+ij`zp+W*I%~@n61ve%(JGjN|uXJpIQxzkWP+*T;i4J{m(5 z|4%~K>ZCCv$XL1Q#(?k-G`K~-JwJE)cdB2!3FA4!!q#2jUcCWHPqA5wQ8Q72Y$7wi z9R%N{$GC-GF=AIjlLTl1Bezq+1$;rK_sxsnfBF37z~_d3Z6 z3s3;kt+{QWe|v&MxKcF(;wuXuFT8ISTE-yxb#)-CzXWYD7FdD6{B0}*yK}D8csXub zYOPME1L5QKdJDm4e|xteU%Lay4g;D9(3h|UTkP%TmaTaJ*yxT#P+4GfWGOByDP`dg zw0J~W9rdt*Y2~GkpB9~Y86y)NE(Soylb2Y!pe|}89&HZFn0TaMs9x^L=50nnd~?rx zjH$ibuCck^OQPGA=c=P-rDY4Et_dh;=#y1Yo#dIbt{ zmlu^SXV?=Nt2639Mgm*3F}0FqsnD^`=oI`6MaxQbxpnmJR3T57EkV8Qwfh~Q$>@d~ zB9knd3zl@^Lk)p38Sg3G?I|bFN9!i7On?e9vVsKZQ+=$N&@?My;?!YHQN*6U5&#LzcsrJ*V<-?i@w|(b1mYQ>Gq=2N zBLOi>J$cf7Q!qS6Tv@*SNzAMLlTr6B3nrwRc16Ug1)t4&u$o3GFGqY~X4$4V z&lM2?ECW!^v1nwui=HjAzW(D30cqVX!TnS_zfolfTqAVlnOY<)r3qV-UNq0R>5m9PJT}lGzZAq z>Bhg`!$PczP&#yqvP7|`uo7>Vh%vRqBnQIo_PIk@2?6bQgWxnkZ7j~)RN4gJL!dLB zIp~J;AvyPYnV=@kgbo9Bom8$MUl-(4+xDO^XQky`=SM zHo7D@48=wn2C+*Cb1X-CeK~gxkdC^ou`438I_d9*n=!3rHXpO1f+5T6B*N~5jR@#$ulcg_?fG%tu)1EjaJJN3dYJ)&p*dF zRjBoq^vw|!C$&#C*4II@3LSF%;1PdIq2>NTwRN4rBC&F$oUQ#Fsy=IhiuCW*%&VU1kN1e{DdgX| z5(OlF&|&U7PFT*4khZyp70PKg)WGH((7=wleLH^t<#_)9qnE!sWX9h=UAKQaq{B}K z5WW4YfAz1H{C51w3@BKxz0k^OM+sK2`3*8lym zN?qnCweq zOdA=dg4n4c^*IVs8>iZkq@oa5QQm1J6W+iK%`$4OAZg9HZd-1eVeamGbZSWfiW+Y5 zEE>hnSxN>mfW08I-QBX_!MQzwidFy*N3gM5(vrEVlL5qBaua(CPgvmWyJ0CrFZiv% ziH`?;*m?f|rUZyr2(Fb@*Q{cI&OuSKq`(ba^z;tQJdWH`7#y`MR( zup#)u8t2yPYt+Sc#p3=dsueymAOL)ijm@ou++!4N9{0KxU|^lqOwK@DarT*3$7XmpsA%n*=4S4p z1hnRNpp|2WLNyv-?7%o*85&i5_3;38N_X$~ya@6>Y2)Frdagv%_wXH#cP88o_A;c0 zdJ$Bn<#AMr!x%*i_0Vr%H(&cL;?NP&v`z{@QvgNEKm=N%hlJg;qI?=H_MB7PNJHUC zexvan^Zc)L{P5$4pAN5?WxMQcqJKLc zj_(SL{!jnY|8$rC<$qE6@BX_r|Hbn^%Kho@$6fyA+~-dR6MYlUZ7J==4+u2lr}Gr9 z63%D?MS(m9N<%~fkRmhOv*Zm7OgHBv5lFo zu}A>%I*l4x)R8b`K%?UBzP^6-EPUHI2BZR%+&%G!U5PHR^jU^>SeAyo88ExwQAqwC z0tW82a6L(CfwU$CpWTvK#HNhj_q%4iZN!Ie3I3vG*w!Z|UVsG}Z=;`hj z)az4bqVu|Yx|Jn5aM|ZiD7$1anjc=Qf@sdq0>iRvzaDe-`u5dpo7xhxBNZ8M2;pcU zN?|dP9At5y<`Or{rMcL@em&gwZ&5YC5|=EVRS&D^dU=wllV@|dheZ+|F)NvcaCu>Y z_}$Aw{o;v6mgwXyMXhAhh-9LuVasw<2iTP-q07me9jp+$KCb;%pbwe$0np4PeUI$r z<9@at2By9I(iY{NXnnP7RGq$C>;(XSpD(XY(3&+!C_27BE^KhHBI8wKE*IR=EZ)Bi zJUh_6r4Y)!Ly3Ys#H=B@#4WW0$gI1~M5=s`Acn65bi{%tBwMr~+k&Jx_b>#Xfj#O4 zN8$&|Em5>a*h_4McyCTBrz2t;ckr6M;wW{o{vm+AhV_2}jK*ojt9+PVFr7&qp@g!^ z1R;;ts~iMHjB5=``^q+sQgOTqWB{(lSs9OO!E&pSHSE_ItXdEa4i;jalZ{pIBNR6g z_~<1&-Ut<#3Wp$|?UP)^m_!YG6z%%Hsl%R}l zP3tJ0t!*a)PydbeUB_tSOUN8DG6Cv10p|X@&DEt_Y&)LqpjyxKuwV@0;Ix+zgVi#^ zK|+bkdZD1BFyzeSi*6l<(!@C9@=%IMhR-Oz4^Nycg;Zz~tBMe$OVPL+fKUrqv&Atr zQdpZkRA4(ClEdl)em>^s5Ar5|T$iuE9DiGB6BE?Gx#<5h$M=^_|I<$@fAcpgKmGoI zX$Q-84mxs6#h$J>rrhAtN~jd6Nx6qax)rmx^qjNeeNLoXe1JE@H6^t{GGxYmb_Q}T zU`!#S8CSZRHp$IqLT$e<2c>k)hu~4S`bAbf`%lBgZFN2kbSo^McL~r6Yu`+vJF+xW z#@^)M;zq0m^mn&6!X6#2}fs!y4$0x8FX)0S0F?|*W6sTVF)3eDD zJ}_5f$t2@Q-h1^mGw2;kiNlNRkBnT2%zEbo;@N6h&W?+;xGFup>5ZX#&k}0e! zn5EGuU=yH83C#Yit<(>Dg!@O1l0tC|5LQYHLEaK(+bi6gqby#UB1l+%Y80N8(e_Tv z;YtDA!Aagz@JQqV-7;fig*S)OlE$4Bw4<$;p7`11Tu6bd4xS#tO|HLVc>q#D{HL9d zo3k*yDX*Qs@|fth6DN26b>bwFaPEXdn(!Av0-H#6A*ZFQuE7{vRcZ7CVBPLmmcwz1 zdyi-2Ja-_fZLTGrWijRu^p&F;XCT&|QXl?pi&)nlm~-xDZI?=rUe7l=SQ_> z=^{I@Jq|PHD$i^(@ezQ^d7sv!rktuUt}fRI*cD@{eVIk>T+Bw?hYe14#&l#!^igUB8f<*SD_Dv=sG*)e78Io41 zg?giFXGZeOjn1x194Kp}b&G24>jXq=qhp{=gSI%!8?3Omw^zTf6_>Y! zr)ZrT=O;+p@4S=W)q&WgwTWPEowW4G>W|;ur9ZX;f6!vR_%y)GKmb3B&R;H7aw^r9 z2KX*Gj|Jl0I*VF&cFpI*lDTXRwg9TzHLSQ-#86hkT4kowQoO-RVPkeMI+6MB@uTXk zS=mj*uf5TIJmAvD?+k5#Vi4KYdxD%S<%Pr-x;rhl*jrwr2Kz zb!;LhSI@u?o~^k*m~7zmZ|idWZdD-^LNn)kG~tRPy2DVZ7?LhMqk}1k!<|hDY;Hiu zN|jm7v8G#2;G`Tyw@zOGcr5H6pf&6$48ieh%t(&&gN8IvPw1f zRPlp7VZvu2;-DKCOA8j(OS{q`6pm8}mgE~in7y>+1Ogra4Cr9snwnrDK(^cWk%U!+ z$yKrwfrw=3ozvI?D6BC~0zEa_2O%HbS2syWw_Og z6YIx)Lpe2MHVH^N2^#8I3<=K?q_fb}$n_tijbbza+GwU{m3#03LPUDeem(JuIHFn! zcIY5LY~P_=gjXRb7T~o#0k}^}C`NLMbg9(noMpqvciK#k_I`xKG$m}*nG5@sVHR8$ zPr!5~ZA3AgUhwN>aocM+1i>JY2Cm9f+8%isM8~hDm!ocWL3StMW3>;a)a&b;cNltoyLoZ?=ip3MA?xs7K85gE_0(bED}Z4k zaPbOjqu~>8jf!L_%Raa9Sb~+me7un*{?C8>qulHnj`yw8(B|zwSM+zkN8L~dXB&Y+ zm2K&iJIAg6S-L6c zJl5pRUybe1!o@*@p81X3hJRs zDOXO9_LU10SYQcS1*H5p08dZv@&uMGt?n-9wy6H_f3f#(%aUZtl^~{jo4KD$L}mfq zznAY3!^ZD4exiPWkKMvy4>=e%x(h&EGczL2#oe~jRCO)Y zZGNJF0;>8Uv%{)Ro;dDy*|smbm)@4@L1tim3}<%PfA@6Zauo=kZ(y@2)>Qb#_kXW9 z@?sp4XxsuWGO-!eJL_!jIsClg>md{QhW+Xaz8X zn2x{wJx00UXGRo)an@`PxfXrb!B9gloL5Q{#;lJB&B<%0zGL4qbYgm)?p`8>%&8nb ze4JZcBvc|e??S;^cry*vmBmCvVW_&PQBT#ES+x6mYBvfLD`)LA!+ruQQ%*H8i(@U>@N6SPGV&xI-Oc-GU?lhaO_CDf>=2q?b$?z_xt zzwV!T^GxJMA#bFB6#r_w%?_l=Y+w z+LPU}>095PkQ}v!iOTQk@wnG3ETmU?c0&J%(~Qk+^BCG^fHYS5Fh#+v!v;!eB{r}V zR8qUe&=d=THvqy0)5b9gVDoaE*9%GbHDeUr8t;P^;CDk?BQAL4yc4PHnB+BWEv-5Z z1O%cR*7#5QNpu&idLFKPi1U%+9tK7Sm9(kw04!bsJR*$5m=flY1csiZy+lEx2=Ajp{-UA>Enn(t+-M>ClmVHjg%&Pp<%^VOn7E7upOqfH5X8Ho5uHwaJy6z)3h_@%+v{?HKt0 zd=)n<2N2(;xa1(q=S|w-*?R0r=uOkaz?_mMmsm@UIIQsHMj&8tSNe8IOCjUrd}AX4Jm_RR(^d)uIM-tvu*|AwDTllw z^^_#A?X71VEX!p^mU{q#C|%iwgz{H+%U=SJjx7QEa2Nmn{_aA)$g_jdNQfEAn9k@5 zbL+GE5tEY4ve;W~oc8<|1EH3{^m572f#C@)QA_-~h0W*g?kd~{m_6S~v9c@~!+Bxs zsc~nDCYV|JasX`JmxBo-@qTgc2{cCl9W9c(JVC8z{%5?;4n)sh-g8B=6~K^hRM)U_ z`a4ftF4;J)Yk(ljnD+!MSQ-6!D7X-9x(cmV{ytlPGi9iVO3MDZGL`ku)vPiWW4tRM zm;UPQI9)N`bd7SwO;!-Wr}MwBNaBm}Weh4awgncGT74BdP^(cfzJB2OdT>=}ZFr6} zMpzlSfu(gsh!m1S3$tZc$^a63gu0McX-u%pF1=#i75Tapc+_e!H+=^c^Cn4I(*PEG z&O)h2wLF^$bdL3$0Z1v0^;w7YxKGGHr?wqG;|=st=hd0i0h$!Zk9Xn~ ze8-l3oA;Zooyr0pB6A$&u?f?DI=>5)z|pp8ea~yAUO@AvBMllJg4WRgDpEkPmR2uxc8VRn~vXXN>`qA{^yvasB&>kvDb-1FAxRw4TqJev_0c#R|%SSvHR z2Ar7TPL{No+Jcyqcf87z#v;)rES;9E%fuU>^!9ek0^ZA*_;$s`kV6=4985?!^<@+Cl;?7@vI}kHtCII5=xP%6mh9c zWC|dB@q1maA;|3e=%dJRw<&2ZZ^1_5eTwr8Ae*(>HmD$#2d$Ena*@_-JTv->S^l-B zgcUqWjD{5&><1c_Qm-q&F1h)8tgH^W@%Nv-9jkdY(den%@PK-ykM_ex_w{EU>k44I54|g);KQ==s z3Dz!K4@Lns%B`Apu;C(QQdIII=KjkK3&ixwB&u>*b^sW^C*yMWJS^?3tG7>n9 z8$c@TI{;vTGTsTS%6&<|GBqZ~aZ>a>nkdJnEKJObE)X;(V1lp>oYw{)M9;)z4U~fB zB*rJOB_=GFdECR@yVc7g+0Q*gQ8IL7>c@%i5NJvcAbRFq(i^$K?*xSf5^ZjooOOZT|oQNA3%AQPX+^oR!ENoEeTxK*g_RtX8~@}AVQi6vyMVJj=$l4b|LB^hrF8`e zjYOHHgp>XBO3cWGIw~`qndt*GQ+AJs$NPv81n-G8!`#sK_v%(l3lG?Ek8LoP(?C>k zY#PPU>+UADbEC#`%gRLN&NX2Av|C2)eJpO$fTMvri!Zglv`l_3$gx!^!7&Lkdrt?Q zm&n$)cOejs?<|Hitgu#nh;H`t4gl}(&vJKubwT%VeE`*t>;UdlT4br-MqT!>Mj-h) zg)6JSxFZZPz}7DwkLpxcQ8S)2MXwGTx1iMF0Vzb~;$r<`@t59)h-V@oba%P+;|N6| z;$$t>^VtFGN23pdn<-Ms$%`7}K5+k+Ue$uGP9yakWmZ+8jD&kU%3Tfzs+X7j-k#h9 zLA^P_L}bk)oPbF=g3Z;}!Vn};5zHgBK*FtTbW_$w3sZPT|C#W$Iqm}4iV7GYMFppv;zQ$ z@EQ=7`S`R1M1ol8c$c}&;U@KG_=Mj)`K;WkQeZ+#33kAS5VM(9B2HA*O4Ms1+(TLE6R$2RhfU!}(pqvdM!SZ4FPJFD_i>7?%qo{~NeaQW zf_b(CoWk|*@3~2ZDnO}=F<1gTLQx2o3e9)h*hhSK0_;8k51|Gk;r^AdsFHt@9ul9k zO$xlp$e4Who=KY$4plOJUlnLvW+a-EvcRX_K*1YO$!l#ql$f)n>=(RGx!`g_Oko)BO(Xn!CY`3dgKvumpApn4WQoK_iqx!#6RPzVR-0AE)sNp%hh!yt%sz zK#_?r0JtmKZq~%ByKC*-(`g3^rxmf0;)zPH7bF!;6iX3Cu=&O~9Ecg%eDU@hAbom% z@wiZH^UEb-4vnAW6!^0Udslj2obXuCQNlU~CJNN1iMm;1#%^Dn= ze~2)t$S&a8PD@;Mjzo;OqcV|ATy&FA|x#tUt(bQU-7 z++2pp-B@!qw$pi>fJ3J>h3iv6<@{`}rWFXqdfLVTJTsYAXFwWF*}pwW#Piy|U`W*d zez*VpiF`T!>ErtyGrG(%B9cMI+X!ukn2!g6W*9aRM+S{80^TFooggdL7dI6OoRM*w zcHz=!z1%V;(_O>RLc=}3z-2D5M%Mk}<~_=3YMZ}_Hb_fr=}?sM)Yvqxh`kIgu|+KA z)iSd;2Uq6W-tBAN<}1M96|tU-sdN|kHL~6<#?t|;Cl?u@*_?>pzIy@~&DggDLa6LB zMkNyM-`O=+f~cj0idlmRyxnRi?1sqXjLJP1Bnxdw(h;}jQVU&9JuTmhyXpl=5|Lrt zU@;!KKdEm_9?}2{mVqm?{6)V8<&@VxN9>|07m-{Lag|rZiP9QiV`>wS7Hn&yofF_^ z%fvP&0-3ws+iOWn`?K@sd`kY!;5ytQl)w^)jEUgoCCTGkzuy7I;u?5VoC^2r25K)R zZViCqz*x*`CPr5#eMZ0cmSBa-jSJzTK1J7wi+!=aF6)n)((4Z%%PfBGQTt4F%!_F6rAJ(p5jA=&z{~hIwR(4G9*mz zz;!ZPE*PeSg(gMsrqi>?n1BT3Ns)KCB@uE0=q(ve?ACgdgG(5ozQl|Evybn20+Sv6 zprP3j+19bibdrx_MsK48n*m8Cuq?R8*x;%p7!C9xp&2SbYHfxC+@k}UwpTtv{FlW* zdRazflZKog5c&#tKZRtAfVIq=6lj)PfU9wg$Fc=r{GIE1&P5aPpo_e;9aMhz;ubOk zRoB-@{2{-jSt_mkqCvq(l99Bcy}kl)_3mKMK$;~XeR_Iz;A9no$hYYURNHU>>y>r@ zL~xYBk@jZ|&OqhkMuN z+bJx@c3*4HHgs|cSK`+B6z#NkVf8I1#>f4yTa+YqE2s6fGX=b)mD4K`wXm$&d5;ed z4k~Rf4KN$nd1jGy*Pn$~?C)VTRyM3=1%3DKQSR^V91I(6lvzg^yK48oULvI8OWGgg|g8kfHcLl|(7E{t9YYtd!f z@;*>S`&3@L15S^)Wm1jn z5Gn$yCvJk=(BrcK-d-jXMIbu?Xv!^rAB=IBKl32fS;kHhleJoFKEK+LwZrdAi`J;P zbXTI#@4o$yE!TlhAI7DpOpSj>Y;y76y1WFS$SmdrU-f1-pB=}Uf^%Boby9>z=%fHG z@l;+*8JxhjZ%HAyh;3QU&>2QwGFQS;r&>Hcv_VEU3x z|GOMN05DodP{ClqV8Sw9$^jfU#?p4Dn6=CloSafVVMEwP0tm#!6o?%ak*=9p$Sn6* z46sb7!Yy7_7H){#6vMN}?9ghHAFjwvF?EP5JK0)5ki8Sk!zIs+<<*mjP?ZT5Q9h3` ztX5XjEUf*NaknEk0&n+qLnb_g6s(L6Mp4ewG(j*}31g139<)UH$8v#JC9JT58Zg?9 zmLJH|w#5dTmN8hYw=Dp;WxQX#UOWNItyQ2QfeKpgMj^{kjQ}$jge{P+D*7tGm05{R zFwqJb2~kmE)p<&-pnxkKs~n3MASm7w6;7zi6u|VW_wOB)@*XP)^;2udJ$x>$L2cwB zZ|P+jB3+5UCcy8ASUQ7e+on=U0+M|aS@-isQ*N}_8o36JE>Z`Z+>G|Iy1rig98Zp0 zTzrdhZJv_D6JV5p#vc{$=0rPg8JsqlY3xR$)h#liCnJ}CwvDn>q=F|g|8_hY$v(M$ zQM-LBAo_~3v&}t6hKmR+dfT0}IauqSG6?(w%0>sx%_sDP;jCyfHV%}`QCmcy)?J$2b z1ffMz+Q_=|n&Z-P$ji0wEtryo7>mof=rmsBe~yXf%o09NQQe7hq$44b)=0*mM!(zu zC@5QcYdHqOOF4}B8LtT8+L-)RT^PpP8C-U}7v^HiokDI8J+@5bvu!P)+hBR;xlx|= z7(Ni!b*w8wvLW<%*ItHux?VK(la^(W>1$KiXzqLZ=0ylzXRByk7@--**AujHZVN9S zSQ|6XXYG0OQe-$l{9ZC%ei6m^#}H!AY#d)$u`xsur4a@M+e1PTE^01X*AIp%fkdMh zlMA-3+LyDg=ZD>qbZ0T6R?}Mb@j?GL`OOz7`a2xoYcTqz@z6LsHX7Gp0UmwQWCBT? z8v*)VSfe??M1v5}T1?#7!qneW2ySUnz;&G*aFWPMkzTy9PCWpY=y6rnB`vv8LnuoL zZh%o>FW?K6C-Ys4u&UH(&yOID{DZH>LIeW9+Tb29 z7gKCvjPs;bShN5s!xap$ZU{BlhEBxyQIFoMQ}q^Am0VyFj0O)W=MXI`-oJvx1Dl7d zczA$i(3|zvtf_XM-NWKQm*ptTBjJiAOMCYB(pjDsy{#iDPMj)=o3~rix6Hp_g2-|E zW5zV$NZb<(MabvJx#?B2d?L08%pXyEJ_Pv{?)v?$jZUn`+$G1OB&eOnwpC1^Q=tU1 zNDwO7DuPjN446ayN6ULNhK%JbBR-ouY0C{SDxwu5#DMq2Su3!9!?N1&$Tk^vS|*** z@&ewb1S|w;J%K1=U}t4XavWyr!%@3k0(FAH;1;gHxm+f3*X*rX!HqSv5sjprODo|x z^m4UHL`YK>)@!^o!Ym?TvCCXGAY$jj_1TN1R?1Q)2_7S@P-e-FIn-qwhZyHD#07yN~JXcwwrzXGc@b_S+ z`)N}g=JCww_Y4f%BsW_b~H)m3d|3E+jTdsXerxek|zmQ+uL@|YySX3 zr5)tU{5zDA0-|h}$2BXLTp1ji&x=Yv=KVR&^@EsDjC&=@&6eRwo)F3B`?cI#qMz*@ zO#SsZQSIy9xVwM2p6?!Q^Vn~(1JaM5B5d@_@lPJ#d!Eq}d@=o;I;kV;6>)@gZ3P|; z0UAIQR)kg>c5WoDo|Q(QiyH!p0q|xaVzNpAkEn{n`}$QXY1tb{u96haGTndLH<5(k z`}&H-mK!)YRkygXLC9vP0W3flPpZ0jauPF{c_jDgvU-)F%k@6U?5`t33VOfD1Xy&vwO5@@~g9s!60zrjuBf?*B7aE<#LFf@jMaLWe}wdXzT zfR0v7f6rG?B00cSY*ehO6xR^gF`UBs^oojB2FSh4s?lGuIuaNR)+I`H1}zF$5n4}y z>e=0H#ody2Cx);~RI=$FTHxT-D4ouc&=z4NM_Jsx#$@#I$%y_3Di#?S-mhE1#Tps> z!|%Nih_;?!&dJ;10;M&}frJQzul;L_%|AD;88ikmtfaJ+dfNW??ut5F5_u0QDp(t2 zwsLhOCSjfgfqz(Z+$!o;-HxfW`M-|nXkdI^ zf}a_&=;33Jc?EB<0{qhaGby;dAR#E8NeI0VYLfLg4@Joc`L>~|_#o0W;h z+@48qH*82!{+|LoI3IhI3vXWmbb z?X;cL4I2&Xyy3R}Fb#RVP*(ANhi6Z~Hs@`OQw$!BI>&ePM9#4a1BZ zQAf-3ueK*l#nUEMvEdZtLCS<>BG$*Zaq> zUwgm1?(%*+pZ{q5h5V`hmHd_bKlcB9Iez=`JqM#JT-y*E838Wy-smhamUingwK{BwfFmQ!oN8{=Ylr(LpVWfx}MdC z_`riJLkl2U?4eT(T^XAhfYtC#WDS!xraRSDi1ACX(tJ6CTxD{7q z(_5UU1Gk0zevI){Wc43~j<<4bDbVM5->|a1M%aKxe|hrI{`Vafiec;m;Z_MMt8G_4 zpPd1qBV>X6sR2-6Ewv|JR9@t=xAnziVNYw^$4LHzoE{sZhD-mVVZ|{b<5deXxcgY6 z|F+ouL&$AbP8B5R{?3&l+hOIjITG3Lh@*vTw(R_q!8d|(TXO_^?ILv!|jTJg++oEAuW16T=8F$Lhd z9FlV^Hhj9ixe<4FuL^83UOKg*qwsfxqQLdsD1|7uwv=mQN=&LMW(|d8yl`pcXL&|n zv^}!V0j0p@8T4q)=e$>8!#I~)-=y@eV4eyPrlk=8rfDJ!Tq_B(vL9QY01x0b<8}p> zV1B)owXg|5CBds6fhy-w7(EM2Gjt(==v9u0Y&sg0Dk`Cg&a3Bdeoyb3P;a_2z#JuJXB5v8&#&UGd!7a(dCz-N*C&`=6g5zW&?0hxh+wT_1k={Cs_Se*X6Q_19nP z4n#k@(|@ooEG8za8=MH zYyie-nBaP~`(5{I*L{;&m(5G1axCCwb?NF-fG zpQoCwwSMO~@#xs*AjjjGF~GAOII9sY72i~o+^dCH1d6qKEH#g^gbSPiWe9MP z(Y1nr@meaG3oZmoDO-t>IKFZWN8&R@3J=x8Z^38D^awF&)A{W6qh)b6q!bu!Io2$T znj%peyeb9u+O)^`-#WGZu>NU;vCpfbUA3@YaK4J;K7Uxx0LYgk@I1b^950lkRee4y zfFqS^zA_9;2&F0+)()F~cwh$Bd?|Q>H5XjZ;iBrff5vSBQy|1^Xob?S(FR7_^3wYG z!`=Du@7L4mKb=l@|G)h{zuZCShoAra=dVBg=}+}1KlzEh(-%Pcj~w57FzR;EPOB!Z zF;xM@7XkiRZa2ns%|bEGr2xrUlNU>Vp43QLjR>bOn>@4nZrvul|FjUbHc1t7n8|T5 z0Sg~uR`Q2;o`kqGsjvWUj_qc%5zyVhx`V)R13Vitp~qB7J4NnSG;<#Pfwj{GjFVlnJPc*5kShnJNCw#SCsQ9UaX zPFVRU_)N(~8zC8j_YNy&Bt9(?;k-bLTAdJW)JYK=sl526#d#n>DHLjd#8z_5L`L?x z|Bn_12>v6*kL3Nsn}*~#OZ;k^%x=#%fzgeb+IpD&G9l60;0PpIBC#ro*fs}*?y85( z8DT|juqfu{8|W^^X;PLaNpN@``-|JQZ~pCA&5g+ytx0A-6QC=1+&;U0k8&j1Sb$8R zL{ZV0+rdg^(<}-=y8mz8y$jJl0~B2XqIs!=s}|$JXEUxnlz=W->4+eiV6+{fRhwg9 zB<6e+3E`NHsUHDEr+dswfg2U5Zu&OQ@3r=Z zOt+ARd<8k)Ynr2>u+7i8Ihtg$Z#-8L_}zLL-&}|%+kBn^q)R{AldYNB83+$NNhHGbPpv( zN=(skJ&D|Cy_zmTooG`C0Nh1S?#Hyo!fK-7qV{W+CRsOEnMtqH2GN8XypHj9EmHt$ zftM?&n1nP_G6PI3u6DbzkctJ#P3~&%d2U$jBse9}2iLK?VNd7Xm3@vfqWjO?`2zR2 z5#v9}$*7(zeoz|XO@mP1!T?rX5aSmh^z{-Nt;MIFrmTJkffG3O%yJt$fU7uf2G-yy z9Z_=g>C=zW` z-uv@zxd)kkgrD?Hk)e&b)Rp1HPPV>f9r|mGV++@2M72qb~280w@U&K zACILY{&sQnX>rhWdDq+*cj@~w9hDpvR&CJyx^eUv$*g*7bSBWc*Od~B{= ztWSgpY>097{zur(0?Ib`T#j1L44DwN1p8G)Y-qJl3rsWStvuEfAZwBMVO7M&!O^Q3 zZ;NiY5i<&_Y23^2L2pc7gw?xz{B5pT+qMEL0`+kTvSjSj)t{E-?%^p|Gu9TT*#fEy z#a$+u80)n-e0^48jz;U({49@Y;la}1@jZFy;dJ!+oq!0I6~ z$Evjn;OVHnv%XU~!f*-T7u<3}&`-HCT^#2kRDfYYW9~n<{Cgmga4oQ}Gs#JB-*HL~ z)3Br)^9wymUS-ihvJPQ*UT<3Rq*Zucc$FsbiauV?%eCFzy{_-xefs*3{`lADyN7>R z@0Neq_m^+>{pIPe|5~>H<$sYcK=gMwzW-pf!=2e06I)YrZMUbmy&%XVV&M?lz;s@iurLg$2pC zh2;_;s272`yR@*;@KCPHngB*7>rP*|>9U4>b4o2s&a(C!2sLo( zJgGWaGOv}iVnXM?x!8ZI&IZ{vT;d1Jv}4gtzmq6Cb=za_b$j@?LAwAE}(K= zVY%x88Y8w3^j1uwn>NP*eoo^)4KVtO$W8IN&=(Na3ronhl)VA4Tta%EZ9Vw31}Y-? zymLTmwV?>ETvd!&ZEz84#c6snBV~yXC9TL2^O-Tbst3?Q%B|V*Gv`v&CaY6? zsZN1Ea3}X5=Z`4`kcQ_>*m1H*6698lq?34y<|ZwZlCF)Vk_C#ECMcf|o&G}rAM+_% zt-LPY6ywsSxm6b0_&?@?!g4&j>8EE89fx*M!BQkPdCV~87TcGhQh7^H(VF_5JIJKG zL@`z^VN3@G2*?+3d8#hKC_|U8x`$cZ8$i#LkGqTm`dwxP-uhU*uC4l3s@Rq>}+N9=^lziZRIuFIHXppXP&Yj3^ zn%yYb^*A0FRtdfJ8Z>$>Us z&b89N{L5TKUygs`_yJf(BiKFzMdfDPF~NQ5Ktnn%8XWkJpsd||sT0Zb2BK#>dM1=` zOPI2MVeNF0HcHq98G2RjvA?%V35T%EN$yHaiW*uGIOX07>#WJ z9oUimGsV9nu61Oxl)1)@Xl#LHnl~?_NUX|%u`>M1>RAgx0RU54J?NrqQQModo33t| zX1r}KULIhmFp{QEZ2$pOY>rFSUk}A^!3NYMl7hAbYXb=x4x88P3?VP8hq3hXQbb#O zuAPcGI|8@?;F-rkPR*9OX(Pt(nb16zOP4x*;J=z1Jlo8~o9GZ)P0JfIM5oAF&HE(4 zR03HvRc|N&R1>VGOB>*6MN)~kYiu?Dgd6^p9WOEg^p;6>bEbAFt}>%w|8M5?K*o#~ zmfvm5W&)@;V#@&gy#JxkA+aaWc2}6>oEXw&p zt{%oSd@+(U?k!xD={@pa4XYfLz^bh^A05nl>!&?8CtRy@V}i?cle#CxO0SSQK)meN z92bDi*u$jwKc_dlRfN#cH!n<}%l>leG>x*qGx*M`q+{eB8r1dxrJfsNG3@6ZjNa>d ze)ON#AI9#L8!tx#@t5OwIKKa2)Hb?nOTfY@Q0@wf1Pa+Lfn#cxn6V=@D-~%+O_J89 zupC|`=tcsB9AY0+iwaN{O~5jvWdM{x=>pjQcUb^DTSKWwY_JV6FqKZBHfn$My08v9EYKcXx>{kPdk0+PneRXH8a3WC>*}2S%oA^9(ce}VN z-Qzy5LGxsZN_~I-#p|c{6i5&EXLq%{?%$s-Vd1s=m{s+=?>;)1HZWqY{qqX9`Q2IW z�tf-(RfnB3xmya19GpFv=wZq#mow_!~HovTQ4c|GC z0r0nXAI_cGT?vWI{s25o?iy@|sE?6K%Z^oA?#zVW23$vOpGvBBB?~_jLNERzUO^ z#=yp9jDpOu+iYWThw`j0vlpr?^bv+Lb!>VJxMQ$S*oWFuB};gwITUq%{-c#gBCLeC zUn7)ji7q+jA^T~qZxi}#2Y~K9O5oo6A)DTNWz21vfv(80hZ--N+|qU4$T2;FK)4rh zIjri)#?Kk;;E~izFw~$2X>F8=S2(wEB)OJCZJ=>W1+h*0`t94)i`NEDDm+E?Ig1}% zyn>TLm1NjVa83*7ygd^kR=yv(uDZC)F`2zB?{=B-)h@T+OFQ4${(ZW5FURkG ze80h{S?m;o-pw@jA)-n)XgQ*ofc9O)3bo$SZKPvz0S;ObqT))0J*C5+h1mBSmG#6V&UfQKjl zG+H1Twy?z%5sYKIcXj}AF4Y~tI!Ejk6kV@r^}Vipd(W`0vZN}09AK|oBotjEzVLGC zyPL*H@g?2SOIK9H3SnpGL=gc%0a$}9*(w0{nt(O>n-+@MVi3HmMp!+x*PJl`jgpoP zn!{{M3CuH+VZrB-fwUe#D?&e7B(jKRjG)iCQ6VVYY};h?i1{K=%xsfiT%Zq7dpXmA z|GOg@AjWe8y;m$d#Ak2Fdhg-x_cgjMZUN_h>U{_o?*@7$qs+2Wo#BW;ykS4>!~Ejc zx?Z-osrMBM6@dH_)Z)& zG6bmRYt4&z71*80_u7M=%Q%>MU1JQX&+D|&GeQvw?`}dzS)qXktvEzFOM*sS+ z|62a?FaOg2t!5y(aE3KhGE~b*-hXM>)h3Iq502UCx6~Jh? zlNKRI*=WUo7TVo$?`iYm5Rr-}1>orAa-=ou7zcycCw#YnMu%DJ8FSPs-pGDlu0dVo ziC4bSllYv1uOYTg9KCEKHrsqQHk*7IBsi=HXPrUwc0I}c{k^d6I9=!Vy@964UN4a6 z)H2h!gu)OOT2BCh@W>=uM{hk7!q}Y=PH+;|G(TijkGPmIo2^}T036kwHc&db`wkl| zl>rCRUS-R&?N2V~uI8FY!rXSZKhGwjt`7JD0GqYXmew`qhJl>@IRmT@W<_nObOeFE zm)pd~FaTm%inJJvlpw>soz!LS-T8BCqh8)0 z0f6Pbl(FypGWye>u4qLQDN8aDw4`>$JtH&r`F@}4Ter&VM5QD#pP?jrI~kW-otUz} z=GUx7Os}uA=Wf~qq^z?Cx4%{&iBvpkL-J#dc{PXmNjVEJSK^)NU6hPx&bzm_El;Z^ z*$A}8f$H%ln@mG`m|rZ);?ri@xApLjn)?LDHa}x3DpV zX*SQzHTc726Q)sHPTP9EyDZDek|yl;wKbMK`+x2~|Mxd{|8ji(_+DB@|K@N0M*c7V zr$1KDKIttO!ox-uj3@*Gq9<|qQW9`w`;h$JQ1WdaFPmH0!m@c0 zncdv>`4(}5S5;3kvQnVe%j(~s07mUz+qS!*_1?$cy3&dOT)V}|Zl#^$*=9{$7ezKK ztQMW|mWvaJugj7fjE*$+`#ZQB7&Jv&+l0wCtiBXeqhk38Sga3?U({U2eP~W^S~Ue= zE8OoQ^a6Ol**x(v2@7oJh66B}%9!70ge%&rRXMSI^DqR?k-NM50B;(M6Rm~iZ$0${ zpkCBqBin*{+rxW+s$#FNxeh$uct8JQsK>_M!z7|efX88LJj+JbEZ>{Y^Ual(kOdKf zV(bQPdEC!@-mR(Yaz&AXh#d}uMmKpoY}_d&xT&`S2u$Yc%v8?}oaeT5sjEtbKM=Ey zaPx0kAXcyj8LaqN{zaNhW72f#Q*7z(&$rDS#j zUEYVo)Fz-Th^@umr^VtfEtxhn0K68JQI0vlWf}pb9YC9ZXEIQyX(Dj6$$i#&j>{8$Hak`8qt?nO&kF zhbyekl(O5&_r_fRVZ1)=8``(KCF7U-CiuEEEB6Gh4o3W@fZCP1r4jVM55Gi zOP7II+q45PY!Oq}B6OjnuZ%)TvA8V;GcuE}UKz>&skzHN8-D+xMZheQtOf5>9}WG7 zgdn%JIzPtgRL&XPli(8(=0@iNGzbPy%3% zXfXztORzF{V%&wdPzUY{5{K-(ZEYTFY@_J!o7SnQz;)f?-Y>5s-^~)Hyo~D>lv3x@ zy<6Vx$HF>->M7RN>&sQ1wrB5~=cgBW_wHSe6~l9^ZKkN%{ErG?3M;lPuwxRIgSVr7#hMD7d7g zfZ2SoUAtfOG>kklrsmEOLs!fx zlz-UfgrR8J&2;B`uPg;B`2tdXe7IlhnS8ck{cz^jh>BEl=QM{ocC_XY9er{#L*Mz=(LM{tVYzcnI-b#$$-n-qnaLNT$LdC!8q21{$93>WWaBCVU zJ-a({fHU!YN3a#(^STA_wEe^5V6U-ph1@_nwxzPb1um=scW8oCz0oKk1ha%%D>t0C z+Ba>ZYC1XRTg35&uivS#Xn8mVn6>+REbPK~LzE!}0O5v9;kc{|JKi(+qraM49SwK{ zaIVdjzwH?mUJfj2p+t-^$7axC3uVE|kOsKg-M}s4e>c)8p|Xs}9JO-YS^xJfa+O)I zp~Kp1{n1g5kvx>KDcYFqZSNa+@gyxTkv*8b0GT1r!`<#wYCR^}UzDzoM8;=!0#2HH~=`TV-^PuOKt35txEmkouiT5 zytw(cNs)}TAF-L?zzL#v#)~J$$T8r?f0&^9c283|IHVyj@{c%a)cS-j7+@IxCUE0A zoDG=^y(o(vzE zOsMkYxA}E&u{6)irdECna`W& zBLHs5!k+tZKATEC=VgmAZa26!E&C}4CAAnDqVh+>Av@H~H!pjezS~FQSNlgl-^J6f zUY|aEZ0%v!dR^_>A<7q8r{DGXK7vt||M7ox&)ax;`mXimmpcUcS?}kc?>qecZn5~$ zJ~{68$#JrY5V51Ta%k4@0PI}CP+Qf5ux`{2CCJ1bxL}==*u6oZP(E_Aq5u&9Ji0#e z`2xWsG6{mTUF8NMb0ECmZ6x^M&jK)Nb;AvOnl+RztGkzSZyGtdT*CEWE!)t35^+aY z&>99;8(mxOYJqy)HfLi-(nWP3!Ek6opCf z{#W&@1`D;h5Z(I7d&XU)}1jG;ejfox(zCHd4%7U~6 zT#D@HutG44y%$*V4Cff*0g$XIkZJLXO#3!%X0v6)sgw|d80-KoLK{XXD+)lddBWBz zv{=1fBWcSMsu0&pi{RD58?Ny?TykMy@)q;}ZeAMQrtW1#X8V5APoJK_q;U0+5VL&S z+`qpIKnj{x=evy<;mdyAOHiO)W4^nEzhl$tWjz}m);4LGwH!-1sHkcqj{7u?*w-1f z_)N8o+=1+AYtQJA0g)U zWVEj4oGOLj2m^Ii7$zV_S)VIwdXEO>F4!AH3V5@vW$8Rd@K!dx# zyIH4%oXRiY^orh$urGiyter~o@s7`DQ>pf-@G1N(UR*2mYyzS)Ky8P<YanKqB++G+~c%XW`E_iA>|_R&fc%AuJb&s_pz_G8gI-e0`r+uw{c%( z(lV+ong?=I``==Iz}*tDe7n!YU+(+U&-OX~iy!^y@!OyM?8EcdUw?g-8EAYt{>kHe z1x5)jCH#t?cK7cuch~9u_gVMJ@P8gxD<{+c)jkK_OWW?6ARlD{Y&tFG_>JTQF0&-$ zmb8$B=cuIy#-tBYPY_V{^8ff^h+u8a6+2UKxQKS^-E8$N@S!pTxDp8A0txFxZ0c3= zvn}EFG9YKb>vDPU`Z zTTT%suz`|FU>&sZfVqmx`4kjQ*ZuFy=@nL*9`%QB=2|_sH1wz^UddKo16-}mR)J`d zZ@&GwKl9@Jr4(fMdmCQQyJdHG_ud%|)c#zXWAA*EJo&qhB`kkEC3`3V5w*z*Mx+s2 zAvlMyu6gXKTT~T++dbU8d*7heG!xmFh0KI5x3G+|stnHGQ6NdM31g@6whiTV4Hioz z(gCPhTV7wcjN!HMd3wIa+_pGR^VtK?nuYxGdi5{}XEu1fV68+E1Xjv2;PPpAvA;Y8 zr>x!M>FLE40RyB~E$rdpVOPR-_x+106t8a0G)3dZ*(4$!*xK^^Y+3$Kt~fm0UtA$t z&)q9#ktxC~)^?2>+YJ~mDTyNMIM;T(_o97L1Vl6u|}sBxG643udAL+a$QId(VrYB|uhKvP1Ze1Wd^_*^4keltyH5 z69@B_5(#G!W9?GJH~XMLi{_;_$Yth|{Sov#rR5*1O!4lTDCuBH)d>y)So?QVh(`8m zFNXu;Y9q<4`c{CBeU#KlR4UP*JQr;aZrAwPng~5X`ObL1v|=O9 zlZwUM|EYP7qalN4Rw|$hrKn~9fk^@PqSEs@EB5rN)vq`$V^H<>n(7= z>%($)|IKpk--&$n{No>gWtN}qi&gZWcYN;J2L)HFtmi&~ zQEH5ClQklM%yfpOah4?6e2t_4h5HW+XaK|dvyA7`OG|FPi8H3s+|=e?9vXq+3*zZ) zWi>3|&fsGa8jy8`?bP%*Z%&P;D@W41)ArMm0l@LDn zcV~b79W?%@73tD{?5O%Cnf8ECnJhqOt{ zI6CFOIU6Pmfyct0BIYu{(Ithx{TOZ3;?KW2XtMJRSQ+RxgXj6Qcnqo0SY0mf9H<&V zl}8J54rS$Z3J~gU@9i4Gu_M_D)|3uPqE0EV@b|*yFIqf}t}tzp2&CeRa|a}%WtmlE;TwRq%(7k zDw3Pywqd2E+!@&bia>S0cj@f%t7uUt*rWUlAh;ab&>%MiR#SYLU`eI~CyrA~%V_l1 zl~i}2G|OuR!-}r6vEKALbwu4STDip^Z zfr5r=AW2r?B^YiX5T}oGZ`zJY7Y%+U{X0ie zPy1fDsxdw;TVK|FoxY5rh-6c0>ynH0=1%xkf{vStYe8ey8Yfp>YQ(&PmbFO@oh`7f z;vJK^gvzhVLER&*h2nQ;lC?=iyO?~Xcz$Wx#%XBOLS~V=GeUV#6SS}|;+hcLBH;RCyj9J0tOlRwqfg-?u*P-p%t{~Ax~Qya zyVN-|C2Fse;%IDDu}i@?@w&UvjYi4hGhbfzckd`I>v4ix#@v24`QgHtAM?1QwUtq1mr= z;X@H>$E`i(4CF(G=;UNQocZS3Xh;w7=5cgmMw_Cujj2W1TOMP~-(&u(Byh~9U@pzT znaa)}Hca`34jOgsjA%%Qm2I%~J&hlOJS18NnD8G$6WmP)|8U%s)8H=onn`{?@+Gur3L_Lwz3hhe-@Pr#bdTJx4kyWuA_{ae;?itw@SdRpLv$t z^oi(AKj3|3@@!$RDv-JXh$0U`M&38;2Bs!jr7l@T^t;-oeP;bi{Ys*wX=O;5(8opsc3_cD>4gw5(8gA$qGa@P1V zp0QUJDxWhTwQBvvgEyTtJ1KY3tVL3(O|Hon?J~-tZ4GPCKn;5Pd3=1>tw|B9$>c)| zwJ|zOFW>2R9>Kqe{%~h;7qA8_X|W|34Fjj51Su1sM$$;NUbIi-9PLZ-s9sUghSXWX zgv=OOal&)AMy?=)?-duxxH!g=I;|G^H`*{~>n@oM8wpAKb!WFldY^5l$jZ)`)IQR3 zSW1H;xoYGl>Y)fCne<~o3UUtZQ1Dh-D8T-V9Uxs!OKvKbd}CH#17{Xi@$hi(?^kV( zxViv_;$SJ_XeBe~MaSgEii9X8q4WI^=- z6hw@5C{j%_tL_#k<~@R@4EmSM3dnr^F*G9P0K$Bv_lU|9i_DZw zJSxdR;p)vOro0bDP-^Rf-<#&fKnSiU%Hg0Q=m7$CZMwZ+Y zNhsbvbEm%s6;;RwBN@MXXn^);YjAl6pfY#+CXqqzysNO>U9PV?@O`fAevca*Z_2?%NZpg^_fUBF*yi~)?fTfnb+FGlHfa#jIa0PP=E8H#i#q!qeG z0FXTQmmE`16lxJ3u%c2G-QAb#OOCg1+>vcnXtF`^=ih})o+Q-2x zbxtj`U-PuL%Yf+PquUb z7!y&+cQ>l1*h5h^^ClD}#yLVsyb9Ic-{w}oyj;K|ySLA)Bt`kz*UJm&mMBGcV0 znC`|O5f^BUj6S@`v&Dr1WP1$hCFs2j(Esw+zwth`e)mv@her>quz7U#81C-BKkfZy zeYb7F<-4qLU-Jk&?ts$zloVXg&ribI@=hCejt~GV&fqjq(uBn#JZ#1Q_~jz3@M8UZ zIxpd>98{R`gWMLh0>TZu}LO2W%X5n zi7^8cXvpmb0Hxee#M&#$ISP`|;B#+sz*vX(w{yFee5!a^0_FBbJ|Bm}eMepytzlix zz$>^jaKGunWGxVBht{Ce{0AYx5w3m%{CYcDqYv)|dNEbHpZTV38h9|Lu${~qNElg` zVPg9Rg-K~r_2j)d$bkU2=Awf;>6N^zwGSlVhqaRL6(WdZTWcyFbrC4qaS-- zQ#5B|yoSr&=|5b!Nzh?!4oZhdaF56ZU@i!#^V~aU`~TSGUb_=L?S_Np!M$wWP(xB@ z`EvXo#}5RI8fW93Yo8&qdafMCO_4`TWYWyEK%chHe@-Fl*WrYjZ?3GalD{ch+LQsF z+7eaLe#DW2CgQ=WFG;}9?9eRtrX+hNB~ECb zw8oM*)HgyYOA13M?D_@nev3t9=6u8l19T~@s2WO!jlH>Z86W7DMJb@~?s;!qKZY^% zJ^^W3zgsFOZaMUL+HF#Fg5v1e2>;RM#s3`%JLmIDRB>7_u3S(l@P64r;r$M<9xOTS z;SRB|4GKc{OwXRA+nV7X!Z~gV2;RrOFu-_4m87V4#diy9Wy5&cI6r-Sc31iZv6!p7 zsKVuLMFCh1E2yp1Evc_8LHion?j*^!@9l3L1A8zhEx4?1DZ4^FyEM9P2s)$>uY;d6i7!m05WTW5B{2UIb$TzHP?N5*lTB z77@|_WjCn)8rENjQUEvkC@)u8YH?S_uxstBIfkOgPQo1TXv@g>_mOk|dPQ*)Yo9Tm z`11^a0*q?#9NU^(5Z+?<4{xaBiWqlady6aNomqE=X}^Hc-|P6nSVk9247U#U@M*PP z0o42nfJX@L`fb3i@C zaB*iz*LBf8 zH3+x{Et!4oWanuK!J*N1CWH}Gx&R?qpZm2H7^SxCp#gK5Pr4FSquLcf?~;70YsE^T zjqYMI4$Kx+U<828K)7zvUcM)VCVRQ{0^V~hY*^pcX_EjzLDe7wkq#V}*gVDvi)<7Z z2&$sqcWdUd1FGkjDuZfd@Yic91TQ;4dwjf?m&b=4%sqMxs=1i0IKb{h-v7Uk?`rK` zgpT-l|Cq%=R}`D2^@AnvSX`&w*OGypvdqqN_jbf-5|n-V^c0!vmnc$Tm5$1qy=C}> zS31(Dcw^Bro@itR4a^d{1ZlT*(&h*#LN&}P`r*STp={0k8&jIT`R3aIOq+T^ z2Uc{-q#tG6F~IFLGV>$6BgV+9Y!QgAq|t(M0e8Jwd<~EWI|Ns1t@79_XDeg@K)3t? z5Lv0+j3MnefTqPdCI}*11LZ}=QwjlSxvy&}Aqhw1K>u1`LID2qP7#mlqHU6BN$V9Z zOo^|Bs0hn`Vhw1LRBdg>PI0csh?=#jL)JAYd<=mW$`2r`2~^U8orW{~uN?r-JSr2Q zlls$dIVz^X>7Otj1etMqw3%Kd)hV$>AS+Z79+I4mAEQ18b}QIvAH!!dtyejEG9k zJ+6nedgAGBr9aGL><1icnfk%!^z!-adh0y7FlmHR?b=-!bSl@VP%@ z^F1(lt2bAO)_&q5lqy2Ql-dv~&1K-(r#Uk5lz>Ap81(0q!<$dJSIgTAP%SL z@tN_o1boU#4`Ak8atu^TVWbEoFNXNSYu)P{h6xy{}9o6ZPXz`6qe4`)w?&DKhm+grb7GRm?2I#Kat32*~ z`)&uMUw{3TynFZHiD`FM?diHkIZ*?qy9H6;HaAyPr-j~He+?D@Q!*@U<2T=Yl#d@j z%Jb7xY&1SkPP>cyF#w;0tN!WJr`=T_!1C9>{&iRh0s0xwX?h~QPRdMUN1c()Z5*X-U`V}rovz2IC={!4{)^NjxC zNezul6$h$>$)rT43_?;G-2cjCBQ3~R9vXUP!s1lOW&$Vpn-)K=xB3F%bN~dtRxMV# zwJAI%&fBhZ^;+Hr*eQfn$TY=Ra$vf(tGT5qsPOi4wM&)%1d5{}piObheF9}n3<4M) z>1r04-Si@pERawDbQZJ#qEn~T^Y|&=S4oO~Fha!7dMX8I_K=JzpjT=5kdWWA@=BF( zZg%cNo%d)tVccqn{z(D;B0Q(&(=`<+hFHw~mSGN8w;qi59Ap1Krg-TMGoL~B)A;h{yUUlT(cka*UW3t}{cPxu zzrME_bm{%Hn^xA3OFwQRtvfaC&f0F z%D7q7JO@cL@yJ^@84(vw-yoO|))We*vMM_0;&*t5bkkRh=GJ9Q=*pN<+uR+zsmH@y z_LaAwZC;iV?pm|Fg(Z?!A<()sfIDog0W^mvOW6JH?iK*tu(lX@ATZ_q7^4`8VFA82 zxM|*q$VtPtBeUN_Y6aDiG`WpE;xl55M#h%Ll?sq1PFC+5y9=NfgXlLVw zit#kdqIqlF`f3zNEn=iPe0ve5qz<;4XZT*-)#G$YZiNn)b=p7-$n8S%)h&y!PDOOt zEsrnHPdi96m-!Az-|y30-tG74mf$JQ0XkqU7?I(x&gm(+u{)>d4)nhL?xTG7-6#35 z|NgXt%^=fX+)8NWWIMp9y`fn{&Dv9$+5}SQ)mU3GI&i88U5>{+siLe!m)3szWi^p|PZ($19^l4$*-0EJNYOoiC z>)tcsr}+m4xttq^RjILBxdHb%R+G3%+cA56vXUkM0gJ4MvKy?d zJXt&u$i*F(mxQN9GIn;7eW=(~kDWuB_|C!GsM-=lFl5HhV@6by12)QcX#k~qD;16h zo+=1%%>FvY+qQhC=|hY~;~nId2$L1F+B8;7Xq8sV1+OYu+$IoOp!>HpKCg;4(zAg= zcu-D#uI209#9fLUERjsy5uL+C;*A)xG9UDCWqf9K5#*>sN%E!*3GUo5VsM`MLD?G{ z6^ecUPy(QGPTqpwnxA_7-D4g!oWuF%zqX=a((Q_UiY2YDVZhM{McZJs@OV)d>u}R= zpn1Z1gY;b{*F6anbXY!{yF{tdRgK&DboV%x<*a(T)1UwRRsQ|I7x~Fg%h17?1np>iYt^Z(V7$>;{^`#f{8QSTlpZ2OC^NsBONDdS9(rK06^xjG~`Ht8Zbk$)19> zN5j&~0u1#vxi}v zm#~iB?N-tFEaGcz{+QLv!07oDC1pJ!Pnc0HlU$g_+AaRJOT|1Ma!oW6mPm~v5pr1d zhhqjUF@HtmO(LbWFU z`TT~Ha*Z*!@_nS_SDOl#+#YjFw9qR+)?{2zP6^(VSI2xL3rP~=%Wr#RJwy*J zC_t_`#l{47(KoJKBeaZst1>1qI#spfX4^hvy`DgG>?h<){@e=r%y{MArqlg`BF%qX zJ_JjP!Xhd%Y6Uo84Hv$923y3_k|~9WUjB{^KLFEPcqwdAZ@YrFn^xEBdVYBA?ZgZ! zZ`4nI@{`X`v@gd$dVHV3s13NywC4|({_Xwx`k$BGZazF(vi)luE7~m|Ea_SQ; zK5nVTZNfdP0DgxA}8LVBWWpP?Rsc?r_*a_+g5q$x@A_i#guY`v_);nCOd=* z5G4&ut|c{&SDzWA(FtOA3lRuQD8MK>!q>b|5 zkwwlo_sN0q1i@H{)aIYhLPa9h9gifbYbGZR^!?CL_n2`*XJsVZxq}DPENr@D45PV- zJeKlW76kj-hVObs^&+<>Uvqv%(EM;9dI1=PC^Fe%-;Sx#)lSt6#}CI~XR5dr3&5KcEZs(rw?tP=PzE{jiI}f9mmRDnHSTDg) zVdV5y{NVNV9Pa$q(-L}bmeg}GSr{<2EPJ!|KfZf(@a|ToPDL$#yjoaCK*f{*H7#)e z%&oH$+1nNiJZv3okOxxno(sq}6@ZPPLMCY-)0`ywC~&INwd~d;Mi%Lv}K3?9xe?N9N=HHKgazorcXa0v>#Qw=HobOF%+ASb8}IU?X>~MXQ>#yGtYcS>63>v4s|A z=9%ku|4aZOivZiA=_2$BQQ&8@&-S-V5F8~Ei;r$ifLL*D{8=W-ET^Dvuy8ACD~m{m z0+?U}xb*(&GG)C+kCEH7w>4b2h;ucoT;Jxht^m*2=uhTm_l>v*B?!)oz70Vaf>l%b zuv4sW&H87V!!K#6+q>@TOIH3KDnFx{^8k6Zw9cB*f;yz z`8Yp3$*+F-jVBAMmYdwRVENT$?X^ntzuU= z&y}b)Swm<1JH2nVo1j@@&-fe&&TF-RA4k#qchXOe`$3MR|L!t9$W48W_nZ=nq@^Js za9*5u0LKZUHNm;}W~*_c>|)=uumBH4c4y>jD{D`7on&7r{*UnjfL7-Mjel<%z>^_V z;ZCRQjX9VFTwvj?vZUOzi+x0erGAHdnXcUvDR*b0nYQ{%U(Vkyr@Oy9pCA7B^Xc(_ zUGEr6YwIvh8?W3 zBiJC70)g}?u!@mnU%jMa&oF_FF*{pO#su-adNR`3!rdLQf)L1A_dP-cJP}2=NFwsJ zy*L1h#3sbiX~o$^6`Sj{?|~k}Rn`4pTcf-w3#nP2z!^$m7j#tD?DKXbsJ*Q{5}ESz zp$WR9?*JwQE_&XB`x>qzfN^kY9IZ}6q(ab20N`K~)*t)Ui!Ibtk=eDM0ylQsu*7<- zD0x27kj4_V>IooQWH(`sF@~{a0+N-+{P6Iw|9;v5*u8^k17cQk)BxyrA0jT)te;Px zp4`g4U1JQT_At; z)fX`OFFbw-)K2=-pZ;|G&;RrPblJ`3ub0d6+Qf^dID>5|bDsyJ4U`y~S`h%JycH${ zuKY{!p^8qkPZJ>CJm~OQJ#8EnL4kWs%N0XG$h!7)f3-;-P5xq%f=5$9$L%L4cYH&o=Qcp_5Rl&;>S9ePaw z-p0UYNDDB8Bdw$X`X<1c3P5|a;Zqn#4fYV0UOmhDXDzp50s<+ZOZTmT;_KAU%rLjZ z-S^k1!@eP4oFssZ16$yr%)rlT|g^C5G{w zDiWo{f#=Bg^UV9_C=76CtP0YlD3~<4TyvX2e?2@t?t8}B0qC<;M0$ORBs&cyXjyKu za9aQ)hHE%jwIUClAusWS-XeySoUD?{=0G@uW_EwL>tPKwZvsK86d3h?Hvrn2dZ`c^ zt&_?$&l4QvGJOLe3XHbHd3g@?7@e+#@X>i4a2=6Lkswv84V6?i%fjiNO^%kTTc;z| zMoWdV=k-dEHm&mlsO<)bwgb2G;ZVlv_37^dac{t=OrTUXGq)+K6OfZt;xqJ%F35%y5`s$5w z=6LC$$@K8#Jt=nqKo4!20BIT-c+XT$c#Y&HFLXjD@o7>zaQQ!@U8 z$=)$IW9qM-$&wZ~+NKs!ZcxZ%EOiU3|Gpnt+40xilk@R>|M=^74`2PFo%=WU_sd7Q z|08ofjW*X}{&M`z#}9&M)B}c}o-B}Mw}E!uPLFyud#J~bT!pd4TtAV;7uSX`nFQOE zWjKS%S!~Y~BRDb61DSXp?I=`c?Y-i507gd>mc`uQ7PeavR5rL7JVuiOrA1|>SZiA@ z9L92&wjRTad)OY%gctErK|;c_~XN4Hk#Fm?DJPE80vM>gNO8CwP$x> zU6Bp69@ciF>tUkUX^rF-_RBzqBi&hEQj;ZCw~;{0YMg71k52DKD`$|h+exI0vGdJR z*CF@<2!_kuEW8$eKj+=SSXrBkTVNvk1%9r>EDw72i3S zygS`{!qB^SANDri`+dzC`rWtR$v5Bp#ubSdP&3i0YkZzgo8=(t>=sY6kb4cSzn@UX)2*Z|8`{K)=%X^yDJZbk1z{Dz>FVQeiANq5VbnQ65p`b89enSb z&*HJwVfnD$yMKJxUHnm@s$;`4!vE9hZb!do0U?@OKh9H?rSsh>*Sp1yy}TSVc|Cl@ zLJ~AA=PN9>#ANm?i=C`$H3ODgL4OuY#L`It6f!_lf<#}piFa7@dQBD!OcKbe0v>V@ zIg?VX$IsK**d{?#CkT_W=$hvSoo?Vp%Wq3?S}x=&;6c7oT9LX_mPz*WhE1I$?*uLG zbs%4I2+ov?jUFS&f%&~hx|`(CCneX50Y%XM84z*Y{N5Oj$dL=*M)hNX>Fl;P^*7=% z>)ul5jaj*zm|D=M4XD+x>3D9N-1`kcpZ`7pc!^}CHpKxC=FR9-Ah9DwkWfuzrVKCg6yulmeO7g z`Rr41ZHqJCwIm#&nu{ZZS@VfUfz>iC&?SdZ5Q!eM;(L?HxG*h9xSKdX$F#ZA4H0V_ zRy5F4coGE!e*=9>#sT$~9z3UXnE~#NW*t_aXxos|Kn-UsmeD+R%iq3{uje(0zumI5 zLMSy)1+)Jd6;Q;%c{GjRcWEN&L~mC4Cio#emd5~H?{L#1?i18FPMzUa)e*6R!CSI# z^ahky2UfvRSfD&8b*iR2-!EfEA++5p0)d&N`X;Ppr{N4l=ETrtzmf>{d`On`tymJ3ur`=%?q4GbWgg^<;@cf<%R7Umh<= znCb!ONM~d&YL5ZLeDZ8}#MmyAHO$U6-dgLQ4dECIcv&r3$j-C5vbwu`f5sAjcjp82 zk>7!z(LF`7mfhg~{^ajXP$?d}N+oOcak9O80mI|EgmrWQWeqtQouo}Pey8y3}N2~Q`4w*M^t)qWFEv656miP;qE3_quaF0Y&k3|7lcE6ahU6=)B?x| zew=0dBYm;~t?HXEu7PUt^-UY5=ey z7smvC#QPqGJ4s!?iM+A+O3BOuc&$KN6PZm2CAsVG`l-J2_a9}jka>G(X#8ivIZWrR zRE|QYlRTC-bsgH;Ip!)enL$1-@1WVJ=%49rV)9Mr)VoH^G8LXOvg9~;e7?YP%nb}z zCxLzKb+kOjzax3?5W;Z-NK3hy`wU~iaGmLygN?_!WF2{5?{n^jPVcP|zaMhH$&vYl zl?7uC#!fTxU1A-Kh!-{4>yJ0VQiI=o53n?pb)VwreQSES_Vw$R<@BSMb$Ph#&)Dwo z@4mR^{{Y7i28^oD!1cQCVXw>i{^NN0_-Ws;pS1PYeX*IL;}nZ_=8x0_Xb~3@wtJlc zX+1$gV2`(ZQkzb>`KUhE!=^OF4?sksZK;t;30rQ2(dg;MLyp?-w4wQ~s2Q&l9D+jl z=t9V?Q3eq1A~|H!HK@89!0uKq&FeMJ9m6bUo5z&RFKYKTt0Fnysv=f!jGC1!`$t1? zdK=ayg`-jSEZ6Qt=GU#crPM+KbPEz~$xTwQ5eG2pC^Kn7>9j=5-kA98*rx_a2R8K$ zR;|hKg8MamKDn{dq7$Htmdgh2N+ygr;DH=l95?|ad1=x$Uwzq{TM#cD!Wl7?@c+if zZ{W<6cr-#6+%3NMp_Sn@@a0u?Euvp(+FOd|5(wp6>jl!bo z^RMq?(_V61obVn>%-R`e8Q{rdi*xSB1#T@g-p<{!8ObsRs&{L93rnMMb$Sw1k3R4| z@#|uPSbNlpGW+_1IcL-A{_Z5KFyy?R_I($`d@i0bD-uA}=J3fa){z7ygGpq=t@54V zciQ0z6hlD*EsgcDmHae||9*eZ8}3lQJZ57=1};EPn?R3F$R#aF5G?*_`fs`VjuM27 z9-&U&NSAqj0x1=!sr6oKzud9}pK0af+QGfjGTOt#(HP6y!lllC3qx#LSxhSw0ezzF z_#7O@JfdA@Hny(fU43yZWv$MQEp@O+=6#rif}AjX;iR023+Y&ptP!Lry>?X*z_ zg?W8&rN-N!?;MCm?gUHMCNCA*>fs`?YS+7MwEJCifA_qczW#7N|Ivrj-MihbwS@ah z{(isk&*aPTFF(H5V6;U>z5ja$7q9)aJher?887QUtn2;X?OX6VUa$YUwadxpZfjBb z7=n8YfDhpY(_~iTL-33ez`0&p64U#kZ(TgK*x*v}%*08%8(b#}nS@2-8+2LLC{S4j zbmL|xQJRcaf&mSY?a4Bk4FT_zPYHaBqqFVkLBoqFQS&>v9*qvj`^bRBzS&##pVNBv z@5~AqmW&4LLx2&l|7#i0#^dO~ZIO!st1V*9`e^l@01>pf^>zp1_u(`{=K6JO#T3Kp z#{g{;svj-bR9(pKZ8YL_15fU@G9cT6j@AyRnHrnBmRVAgeHL!nU=QeYrJ~4ySJ-g( z;z+iE9g4{nVARgNKc5`_2#7h zOVowm#A&%aqr9)8$SnQv@yXrvOyZ(T)R_);OR14F8(8!D?ky79mecD#PWL`$45e6? z$R@XU^^9{Q33&ymYfz>b%~X_mj6w?Q-sdagHf_$_Kio(194VgwYFq&@z-sScR7>t| z?-A>1GZPil%%bVm^%fLLB0)B9KjzYZdFh#~aK_xU^X|{9#3Qz#;KYU%I^4zk*XJ^_ z_&pBIb&?ISW5a1Mwk-f~du1uWj_{PAt)aDBkhqnbGZl$m^ki7!LY9bGMzjO+D7U50 zmELDLhbgK7+`ObMxFre75ThK{Nm#CFmXdbN@^u=MDF387JO^ zptv93g_gdyBo0{)vN8ZwvOKj&hZ++nd)#gVB-IH7&DP8r z1ob+{?+Sy(n5m}5(Sl4_Q-j|NOwPQ??a(Epu}3>w_J{v_D}|KdCzS1BEP)YYjM_(J zib?;iN0Wo>r13+kh>(&CRz|5Rf92(gOFdTr?e#V;$C^W>fZaTE(lGE!m^-aP3k3bu z3lB2(nbRQNCia`v+Z<*$ww(SP~zL$QqNS6_X# zd+NVcdEPh7)9F9<%d+pX-N(e(7YwwB2q#v z;uCGNIm=l>hzkIN-E&zV!&SXqzw#_>uf(&vhF{Ivi5lykaV-E?YlqeyLd~sU zUZ%7=z+(Frxany%JAu63!0yWuz&6TrUK3zRYXE8@|m6YnMMI=1MWUooIt)OH|pjbuK~~vC>j9wq#m0`PHS}U znf69M#HvLe%Xwlybq_c2Z~-VOZgF%X__N<dFms|J*o8 z378pk$+gzpQa@r20?gYO86BCO<_S)2VUKz2%o7b(Rs+ccv_&>o0scH>qP4W>*7BdK z8cD=E2f!?WK^JSm)!PkQ4`@c~LOF){X!ZrKyX7)v!vH;jPg?-!Y;((N+Gha;ZX@+^ z%ht9TE!2BV!t`@8u-=w&kGw&vXUu?Zy5Fl8rgPnDi)`dubDf z&P5-_Gs9rSs(1<3%i5Cw)O!{{mDXZ{=TcNKj9s{Knj*LDVD+iB^_%;5kNbN}nE zaR0~k;q;$Q4|l&3dH-oY`}zfl{(i^z9*n{|YSVY$-M)U7`+Zx|Pruk*lE2tDoF84U z{nHL#UX8xpC(DpGQZqHR`b7T8=l)aQPuh107b3%!LgDk^mw*;@OmKa>Xz0uWp4~-S zFF}FZr=a+4+%_()f}YbuOOG@Mnl6;D9p%)>nJ5mN$PF2^O?I<#-@4_>K*a{yB)lhi z8_jKs;@e>aU@T`7xU)^b4Y&`l^0Ef-Gp;vgU`OmA1d~Ke5G(MwTQ~v0&E_Lz1sA97 zX$L`G$rWt^jNHJ7*CJMcq#;#DeQYD2W0XoZ4zDUm;Hr7T&0#K8>V0CRQX_#LeG(SN z)wx)^12qx4!Y*mGNQ)!xZhKU4#a>}0lVnBkI_}`+Tu@^@vcA`dk=*-pv$C*m)s12z zYbO|8qmq&Nx;N5|?aIOg*aM7rPb}iII>5DkX?^B#nN8igyNwOXUG&`o>q`Sra+i5tBp(AZ~|g(XPuN#gDRWO7e)o&*SJ zZc!_~QBob%c^q}6Rb~ch(|pK4paXsc_bJ+`(=vAeq4fw(VV(YtE>QWblmZC#IaNEq z9IFrUo#73dC-G)1lPl@%B6n1VXHq5-_;+#&1i6F#^+ui@0)!+$7+rU zcXIZrC9dCvTz?TIaobD^fe;Sj#ha|vczqe^F zRp<=BEXQP;+#&xp_s;~Y`$D%`I{RmrWj#GTK0JPNcRK(4{@weZul@X+9f(@Zyo=!3XWOIQ+2TNG!wd(Y(^=@vi@y#g zI~BNS^4sQKoBpfQs`m5@kEHLB$p=e|qz2q_anW+7N}8w2Fs$}O^^-}`Nya<@h(?vC zaDdTz;%#Z6iF?)0UgYD<42@@9-C7pq)WXVYwZ6H@2dGd0tPx;E;O6Vmns6&^VHsV! zgUVX`A~IFm@O-D;#kD!wfF;wcaaI||h=*kW6c^WG!$2BHIROM|bQ)Ye6-OIZELeADj4H&g)5}3ur<=H}5(Yx8deh0X z*LP*$VwQ067*!9lw$hoNv~}9SD(cjusuEceqQcVVv`5y5=3<|V5!jr`_U<<@=7HD! z$1Jj*!~(adF<;mN2A*LtZEFk5Il~#u`s~%dpu~i7wxqHX3QCmc^^wH#h)P^$@$X=* z*kIL_uMM z&cH+ym2y66CUTU#IvkVrk|ixOydX~r0YW;?L$VHkq!RwJJ^pKcVtE1bj05l}5IzG^ zh_AOm_cMR!bj<+__2b!ZfKHnM$kgXiMBM?YyZU?GlonT4yp?^Yk+>x}z^POn8vPl- z74KQHFfzntlJRr@)?BocBQ$D`&pf_m%bzzh0MDxgI|pZ@9Wd{$1sK!)&{y$sJy*3X z(i!KeQ_jV~YFc;bhrc8NJ=;L#x84m(ti~GgFe=80i@xdO)<@ zB5)#<&*bW z7=?FLQsDF7TN2%0GVaU-0NwU}&viM*2_Y*mBD;FTbWNa@K)|a5Nn}KuwTmx7pu$CZ zcNea10~W)zg} zFWrS+{J~v-3#y96HQYc46HB=7wZktd^HYsGx*#au(xMYeqe5X0#br#Eq53HoD1P@j zWMF!_)|AUlTc&qzaxmoab0$%>H$Y?r*q@FWfL2yNlSJk4-t*5bbzXjl+fmPBLR3pD zJl*Cu@wTlYcMPDBF|6&aCNQPpUS^1X#!9C3zUQ#aeO{JyN#%*hn92aZ zefCH|C}cBP0NZuiP!7{c4{^DNcLco{$DbiqyzY1~5mf3qarX#E0)iZ4+&rUIleFT- ztJA8zG#HSZ+6@dXWFDCU#`T(%hQYc~=XPOSY0;`ht3pAOY27$y@+i`LDx)-QM3(<` zHztGxzwQ&~(=IW z0OQFJ_HLzPrlT}D1l*5VAdGxQ#|BN!+)nrGcDVY(Le}6VU-IRe9Fr|*rL!z#Cz=Ow zy@983y|~57IUJ3rbE`ME?>)f11%bNNFYmCxcw8Q+L>$mr^2{!LFV0gsq}^C|SQnXE zumR%J31u2vch1Pm1=_AEIOl>=sw?784X_$;zgE_NWXikB?-oDZRnQ2{81WBNbO#i6HSi1aoW@R3rjW zL1TBOfv^ZPB$aqJyl9ll^m3Tz-~$!L306o0t-S#}qd6P0+znJ%n@njj3#b8Xr*?uR z>0}HEW~IHZJ3w3G{jtY8xLj7}{=B=31SJA)d&WT4y_Gl(puhNBT6=*s4@Izd+ZB*; zZGMim!RMqzh=nOd);?B4QnbCJgr~L9-8z`or?Cf;Phn)0%wnEP%~ zJ>tfAZ<*ugBr@u=$&+UYP4;NL32kQrB@a!}hukNCk)BHdr;X%7reR=~vC7T@ewh=& z8s5L+=$jmhc1+_MU-xM}%zfGBt_VhoR-iZ(`2cY`mD2RfeSmwgEzH>DKxX64Zs3QL9SeIM*w;} zxCsUoikB*5hPkkskDWIT))Se{8=|RkJA~S3g~g_p8(@=L_YZ&j(zK0YgzGmrKo|A6bA|6+!{(M(*0RL!hsJ+o-=b6mWq)i)`-28 z$i{CiT<@!A(63nrlVB^W3@zc74!SRZF%64ugbQ>B)D|kyagM7K1p0g5T`ivUHNYq> zhMtgQz}?8~*9ZkEm*5U!?<}VEPA)HJx6+zLG5~K;#cTr#iUU%6cD#dIo!gQb@pc`R z2PW-J7)$)xRUQjP8H1DwunJi9UC_qT0V}Ej5u_m-g*C zJDfbt?^w=FkU=B0olgInfD^}TO8cnABQk-gxXd!}P3a0i8h2Hd2{`DqQ{!HTM&lZp zVqkB@*ugs1lOiaW6ant2-dCN#(7=e?+?S7PjqfhGPB^CvjE1E;8`)%1{#q*F(lnLu zHuYbMZH7`2xJ~=StSrzX95L7-Yue!0pzqscM^3qo_})xN(g30(VU)~+s06+eNq9Ad zHOJ=|QX*5Q*8t?$P5nK_t$|NPr{~r{)W7M*=1Yd>q)VIkN;!se(DnXyF)03530gUo z8h`+3K$pL9YqcNXP1=Ng1BhY_yP#TAfYss!p8_Z*-4vhZz$N%N>o8SBozj=II|5nE9%jtaT*X!N+a@lP= z=7ZhZ3EJuIH78`8q$Lhcbo^D;(FxS~mDFe_F>nB!sXbQWicbRuPaUMwn8QPql=f&L3hK=_7v|Ua0 z1e_h{d2$SZh+7A@Ev;={&wLHbs3+67+e{)%VT4O(1JS&Jw7b3owsVw9y?_qtdbv&s zMo5-2GV~?h>Hgu)e_OEttM$Q(M$M_|Px4>@?e5O4l6F6kUSihkLvCgWu}~F`yRHYGCi(y9bYTJvsBh zt3;yG;^21KUG;b8ZpD&>m8fi7EkmAU^q2j9ZgJk-bT+0-J3Cpvjg?bj0f3mrG@gq> z5i#3+tlVna!)#&iZ{yk!Yr5%3H>u5=%Yb#;IbRp>!$zpcLT`h`!~z6trmPuY?zag} za*!Xv)^VG(b3BQzOZ#qwIWl4u$E}s|MuEg;-=%mhi7OA@9mpQVrmho+@%YD0-vH>Y zmG(c!FgmM%^a&jj(8SM}!{)S@JL;oxc+RaAnAaVN`srVjT*i1H|UID=ecraal$pW3aI(VuK~#+{+k`0(%F&pyk^nn(@QL*69v z3tH|q+ylqd@lEEvlA&=$%0JR@GqU}0f9GB9u|_D1dMXqg$uT_vR@PMBLSDKt|5B{e%9CXFWdI=XMMXqsrixjDH)T0J5V*nL2DQ?PBFDL zHx7Bb`OM1aw9rD~EUQcIFSLAW-5{+hwqa5T=ny6_Q1jO|2^h8mzu?(OLF1ywH$+m< zVBu+l7D%gJ33)eMz{)f{Lm8WyMywKr9 zO2gw94QmavqPWE}N?&fUre=JxC!8^Kp-FP*A>KE}J}ip+;A67z4{L8g^6z3k6_ zeYxyl_sPrtU0)ZkcfT5kZ4W?gvBYf$jsxpBtiVxP^Sqo5 zHQTuhO%q~@bjGMPcmvjbY&Nh-Otr3=faaS$SO6N{KeP>@OIAzFOut~k^EIsprB_P6 z$)p?0Az7%^y&5Z9-~)}tI2%=q+mRMLeH&%~bCa}N9?=`6-Q^|ZURQ7*Lk6d;^bzV63Fv7({5<#owdABEvtb zKdSR+sZ=TVz06zANc;4RimSaabhyo!pfJzlUR2glL0B0TC0~mStAK0==Mt*CNwr<; zJy>~(R`)jT&G~cy-o`%iIMONPMo!xLy6wN8-+lGRzqosR|DW#e-~S)`9`ygYYp1{4 zJNq~1$H!;BNc%$T^m`vaD9b1S>G<~B|FHe}kN)`O&p zFDCOPVD0RMr4e+(yUTeopsI6m)(-&dk4t& z;^hl zG6MK_ta@Zh1*RXz02ZH-pg1^7O%W(%W^Xbxh2>{U-zF5Dk@w73D>1u+cuy#>a;Do7<9v#DwMWD|F78%~5R96~QI#ny>almn z4rW$-ZoZLlq{&J!uC;-4tq9&d0ML?~d?R4XbyrD8sUTW|Mie2`o0v-4Y>uJ16YI(NuA!|W_j0b^F3OEm&(Q$ndPCcdFz7=fSpl^9-dVOC&s`QP-$cn z;d|nzO#rX4Uk<6(6I+P1DfFXHO+m3okJVJUg$D`1MJBcYyuU=!Dna;saYW=Edy(N= zZ34$fET@y)SH8m3pYgfQ++33t`e0Fp^;8)DkG&?00RW{uDqe*RIb7I)xIY%H`zz<_TU|sfmjBJ!10O@S0jeR31okmzgar>U{i+AQs!uz-E zgH~&p7FSWpn)VvX0rRM8(!xV&iflXYLg?=G{^8xXr_;kPPUnZe+l9~Hi{5|Z8Zs!I zz5vlb%<+TErUxM1zWw%ZjZ1t-6w9UeJ2Tk?y_4zhZdBY3nr&P={rk-q1q$ay9D(@| z;9aJ*SOWTU51`wc59_3M(y*3YQAxs+%pFLOhNP-)q|9e~31v8WCu?`#+_G9RU3BF!6H?y*Qd&7y zxUq-xkB0S35nQg9Ey{@Y5U5ruh?Ws|6*ZK*^Kr5JL@cCNC|ZKP#|Y}r=JrR0BH}`uPzJ0&yrPj=1ua2n2c(u+zC6Fk)2HWn!|f8uKnY+2xNeC3wdiZd)t^1@Jk-Hsu3+KV)UB#3GUB~X z{L+yPA9Kk|td2;;3S+g6_1XLJdRZdj$>y3R$6YP)jJ4~-`W)Pk75f%5d&`PTC!d?l zlAl2XJOLv@SsctQTnSX#TCUexv+T23ULcltw2b$TU9(5h#%Kv54j84(HVF!8iPgh7 zyr1BE?CrR&gEp;ol?uVR!Hm{x0KQN|~ZIx-vsBE@&tc~t1hIO_uR;znRSqrHb#F!#h9$u0Lw3CVgHJ}3_>d@lwoOMBq2Dw-LHI@6F^1|K=8gId`x1K=vXsBMT{^s zV0oPoxpJ=o2(`Vz3zaY~bVFVG77@$?x%<^+ z>%V;Y?wb$q|Lo7c@QeO|j~^Tut64hlJPvXLsA5g}a0^C%8wh-OyoWUp08*nmlD9uAB*kXY z-#vIWs{vr=;97!};FUC3&Y5==Zbvqbrv)Jl2Ke8d^L}@yh{I&8n`Q6^;e2Nb!F^~U_WFq^_=hYHqIs}tpG2Eh$cc5!z{H~Z8jo0goyetu)X6u5A2zT{} zj}`C7-7M~N&Hil)1@}FR`3*%Sfav}GNf;_}YNy8pu<)VimI7ot$Ce!Bb+1%46U1zsRi3NxS9g*9U5i>lAgalTuIOh{v#*k`S*)(NR zn;y#f*ls?jBCPmFyk5LxPlY$Anr2|wruTS*wUzGc^g0)q1y*vtV&tVX#`@$fH2IbJ zF7x;h7|!%~q>%HnnA5xA!c_bNENd!Sc}|}wuh5T7sN;CBALrrDYC;%`+)(@%o`LWV zS}j?$g8kUr^!|r2lbitaY;)NzJy|FOdxPRxOzx`n6tU7&k~*vg!L6(}{TwUTK_uei zIc}LCBmpuLXwR+FvX(|)p>PNcHPOfP2GrW<(sSm9*n~F^dqP-QBN^0a6B*0g0d6BP z3V#0<^e$6icw^RU!-kt~3=-{k#6JfAWSkQ>Gk|1q zrS|s<%ADp@N@kT};?*4bKmud%yPcxCk7xw&M|slNq&)Gc2iK`3j93yBeybcI8C-6UP>=JZA?F>4gp4sqD7X-_g-7CtS#(c1QdZNyV z>~f0~5ess93HJa6LA*$6R6(of|9m z``_Q4`8E=k*NDg6Bu!J&V6kydTb=j=TlBSO4~>}1*59OtdVN{qS;&xIyjTF*+bZVG z`+TWQJNg{kyIT@zk%f}jBrRc0qk>af)DrlK%t7$Qt*^M47J)7dWt#9USq7=_|Z5L&GVfB`7wddX6e zQ-7s(F-}dOIv)yUJt{Cs58lxb54ieXaJTH*+rA zdb|T?UW9PA3FO=717L5YHMHUV#?5@5pQmW|oPS@L`E!#gH>dlga=`f0fxWV7)yMNU z$w-VI9w{bJ9oCoxzvvFacieE^opX<4?T@;g?qe$GXBOs{Gq}tB9m}T@TsXi#v%$^K`fMn9n%6Uf$Q#{B(av`ck|=184_A@(fHry zqGl#Np6j*D7Ya*}ioN0DQaP;T1`9{Y+t98>GNEV&qju9CNXO4#EcR`yHRx{5{j=-t zGB!7TA3d$M1|kMBwJXD)8(j!lvxJ(3Q<3S;N;_fMfZNv<EvL9o(C ze|h7Dj@XvgOqJlM#4)54JPmN<`RgMRD_nV!+oM2StbG6oEsz9UB(?N4@6#lqg-C+1 zl1gEvWa2LxbwV68Q; z;{e11$nyE=_qo9y2V4f3k@C1nRYMXm5Re)R?<=j`-uC$*h?y*KnpxwJxV)xQGRD!H z9%O7KBT=T++$zsox%LlzKD`&$Uc8HxIansZ-j7h7Wt0hC73*;zU^cAy0F%-V`%aB5 zl?L_)_mNn?vlZLt(|nJc{cV01dI#u*3)zbCn+82VVS&&&PT9{MTFRl6^5p;Kd>}p7 z*y=hZPxTRq5~PN~zGaaZJ|7Deeb9B&7R!7rdUyA@we`-x=Hg^kAAetr%&5OmWwXyCnLb`+xB4x1~2q`T43mb z^U+e1^nWwR-WHpi|LG({#^jhZ^{7V{f*e9K1&O;^gK}kXLs4YPGqJ#g^9HHvKf>fr zsrWNZz?(N|5w9u`LB730x%6j9XyVdUSd%`2&|_ovM5GSu6a=7I(9X^+Dp_f0V53|C zR_&gaxN`PvbIq*k1+h~K!Le!p76YT^eqT|BGP3G}l1ax%p~BLTv^JhR+34gT!`f=q zg3Q`!*I)XUj0YZqfIhMNoSX5F#zu30AJ#p(s<@SHn-RC)g-hNz1@;fGs@a~tajX|7 z{y(2d*)$x$dpxeHQ(2jX!NA*jt<7V=e1Af%`qOUeXGVRL6cyp54GV3A65O34smQ7- zS>=-bm6N#tVSg9Pw0CN&QzSKUvv=3Cf>P@F1wcBe#w>o58{pDwlXE^=2Y^8{;6X5|QZc|G`||auJKT)(ACI4=>(=}IYhUi3&+oqaboaQs==aXO>@rOGW`2imLL~B3!$xoIKFE2~Cnup`*U+=s3!|ql*U9Qi6(mYLJ zTh)In;RWO(G~Bq4@PFEBaU5JZhaV}8xJ~?Z2(+(_GJYJK0-rKLqT^gzM`mYSyAk9w z7_ol`=cbm`t@pH2q)R`}7Ft*1+7coI?v#9V;J^ z+}&bgjpoW206YW%@6lmBG*D*zrxyG8@NjlT;Bo(be`ma>``>q~|NZXq!Q*$`%8E)% zrbzT9`qTh#&m^LTto#TQSQxj;pHut}0{sA`w1BgH)<2Jrk6=bXbum~iZBDM>K`lPl zhWA;sFhM*k;)C7diGHypE$a_Y23r@z2rp;{sx<+elkN*xTD0Iy%^j@W2o(Xa>+Se6 zfrNO^k`GxiEkQNcl>|UnZtjQG0y&}ym~I4_q=F0U6)!$`S*9yn=YJ&UJLN;%p-=J( z;RfuR9&MRhqK7rbH=i*{F>lPxZf{G22Rw@aPO|?wF8z(HMF;tHL+1of z%7s}*NcKl0zx0FrrqwanOG>uS^M}-NwHMU5-}X=es)k`9AlCx`EFNb3TL8kOFdA>I zcmY=~I4^QyR6qI*$38S0Qy6=Rj!9goqHp_ldI#a2(dylF%1kGy)i;*Wu*!1`X}!%* z30N-Y^}}S=rBSv(`I`Gr$_grJ5oNq65|#8?*3v0yD%NGoc@g`b>Cww>-&w9>dH>u` zkKdl|fAotV{i{F!f3FYk{*U|n$G_Kh`nz2|ecW$!-7&`a0!aUG#}C;}zrBBdd3}1i z|9D=`zu1E(x z-NQ-)!g41KU%c#&Yv>M+%^i-Cc@8QjixD@2jymD~&KlKBxCslWo(A5F;5ZB*(QxcNa{N6_iP8?6D~@d7y*(y zgF!ntU(6q!5-$>)auonz!~!_nJLWjwIpQ+|!!?@Tgd?ca+B~$fwRAP|inmAmt=}Ei zX_EtmQG7mf4jpgTJ_C4fZan`vtyBKp2>bwowAFJ-ofUG6;TG-ikZRWi>{E>DLBtZ| zWqYzZksRJ>Zg2gF%rS=q9oYlEXeapwDwCj%zoH0+q~mxCt$u zsU!eAw)uH_ySWsIj`fH2(0=<|;WKVNlH0-7!vh+ZtOCkv>bGld|@Jb$Kc z&hI83+WAqm-S-5(t=6Z@{n+a`zESX^?lqhzI^6V|$IIh8EC?YWLT-Re0^rTh$jz#j z&l_<;^5O)Y<(i-5Iu0(f00e2VNnt;b4P6V{K`3J#ag;V%f45!$*g%wG!6_^=J%O%d zcHtPMb^5hVz>n`V;_00Bh@k+Aw!!TgmcWR7xPm&vT+-VTi9?={vh;&+jAWAlh)g!J zjXf}prlr7yOIVbfXS$R3(s@hAI9QfRTJOnEUb1vQ*MQFwR8A&I+!`s+zB_A>Gkbc# z%C?~YqQvCM$=w6I8p*odciXnf;tfvJt;?l}*K?PUpHZV77C!@3ZsoNfbAg{vX^q%W zy3*a+ufhCqwp#aQ9klpbw>*b?+PG7b;N7@P;eNO8%qkk?JT2j86~b7u(2&$xf=VqQdO?htVp9$<3Co*r!VN$L zlw?@6+g8a{1AsQvf+?w~V}4l7Gh;gw00F4lnzHl8Td;8}8a{hK4h8On%O7W3C{KZi zBQSF3?g5Crl}P-YqOQGp^o?aV@!n(+ro56V3!3mUL2-e?S*}he;W~yRw8+Yz+SCA= zWPT%^ETSW1$Y`@ir={ZWvUvhdlr^-D9u#wBa^1}XWdgL)kk?Jtjdu9)%QCh$5~nx@ z^KR1g<^fXuUR<_>#d_0*x^m)@>og}ClzqPQkdbRrWgNl(6e^V^k|*F< zYj>OSg^)Q(9DZX0qy^Gc&ZfKM7@m|*6gfyOE4*EVwhv4R>7NRf28?H1Ji zBctToN9BAu-L2nBJO8|`5C7?Oy8nN*)A>KQcK*e8-~IZ-``yarL-{3>{ttTmU@fD& z3B8CGPj}z#R-)frbv*2V=F<*LUQB7~P?F@c5_xu`%mDFb{`p$zhrfLxwVw1nezz$j z*YC5??GV8$q;zi54sR{{5o^x(F*U(8DZzb*rjXRZ=i047E7U4P$TB zp_)@Wd4;3X4i}9U>lz^l14@Xw_DTKKKvu7)jN?0=B@VV*A*`N~Uy?C(9iD&`fjMpyk z#Qzp{fg;qlP=LINi^n~sm!pNne2mFTsZ!QO>}8zS6c1&r(*q!!nu0i2Ia>UDJx-zw zATB^Q6d&85H9GXTmsWgd0=JvbquGQ_Z5A<*KP|`2KS>ZqfF?pq7ZuGKKXguJ-e;?7 zG9>au8*bQ1ICfoHW^Tt=!JVxN4$~nrm0TvmO(>)&cXsr}O#g{{G#!eSP@l{rTND`@Zt=$3On@t9${X|5c73 zbT&N>mFK6iyLmSqecLCI#s3eROt%7cz9hk6Ai-Rak;y$R;x|XT`CNe!xhNu@6dr^4 zq}3)^3wun$CnZ*8acY6dgBF_aqK9|6{Smp9XweSOCWc_P^}T_+)4p82vHoFN34ELB zJuM?`+5q{Cuuz31;B-dWwL$v(k%<=3T+&KS>;w2svgFHL-HMmEwJGdF0na`_};~OvzKGn!f_bmMuT%Q9O#Aj4_vU=@aQ=a{= z?1r#T23ICs*Sm5-iy-Kj7RD|6)eG{31GtjPCCCJnC`z&-m%zHcZeAtJ_77JY1bmAP zVHwgA{3`&CbGSCmb1Uww=0U`CM$GMkm_8-&5l!!cD+kiBL2*9Ed{DQJ!;$#&WbRJOSV6Ig)4nmwsUkXjAq_bvN;eygmF&P)0nkE!*}djwiDU8(5y&J!Y?BpOC(s$0lyV4SIK+TT0#A{deE^U@yQ9W|-NRN0b>e&13-4B!m9X7j1|t| zT^c^0+m>xi;E(hBQ7KA~ALlB@Y|LJ9mPmH1=Qa45X|+YQK#>X)0rZu5&Qp0yWz%K+ zZaiA7n90L-I^S>SyT|MO3(hmz8t^j@!tR#{ptSmf7Ppp`YnJ4 zI9&47;(K#Ui!2r0(Q%i!5SUgH(S9i2m$&XNwng zFltqtPOD#jHGWUaIJaza%meG!v(rBz3mwS~iNvrY8PH-@y!6^|9gKons{Al5gLG4T#gT2IHVeanFBKa4U1#Re3VU(tV@o7PXx8qgz4 zdcXog5IWLS*ESxMunNUZ78<_zVk(N%riptJvlU}xI+ zaqhGXWnRy-+z44y$V{hm1KXh|CSV)?XZ$r4+;#wXt)5mbnB+uStZtQW)kA*|#6jn~ zd1ux9I^dJ+kLt4;zv*1IdA=9IA7(JxTd@mt{A1|+cGb={f0{tFrBNVkAEiui43ERET>w0L5w#K(-WXM|;!$xBC^tRuuAXs)>1M<8KRxnD0%N0G5B| zb@NYJoyRyT7jg^>ndfo4-P`zilSALj++-#g0sK-PM}ZU4H(i~NnKGv7hJGt0hrKqS zpfs&`@Ya|xYjW?TeL3lRzSrF~KXz~2xW9WCyG$KIeE;S6uXg;mU>OyQIM($(OfCIx zHzo~>6vZ+M`&`SIWKF z81E?Qx<=VDp@57Vy1Q8>fa%%Qn)^n}@3w<5$w$RSAq}mPWMwq3&vX8W^G$XstNiS#{&ZP4{IqD<&uRj5c(>isU=bQU)7^76X>sN9`3$ENpi z@Ny$v79{L=dscb4>i}+BWWS49sGGZ<&&K77S#0MSzvyX~o2y*Hs%YPIkc$G03*IP`%_dj0>~LGA?cJV@j88tq%#Mxij8i;tAc{5 zfqWpiVI>(IUSF@7jT?QkxYgSLhcN?m6dmw+*~9wB4Us#>g00J&<>e;{!k};|=RQGe zd`B=e+DL%Vqrra9Fqom>=q5-gL%(hjN~3SYYEcbw?JECnA~X2X{Lc)3uwhG^00e+$ zZsY_$00}qGZ;(&no-aB$0hLy38OSGD#&Zx?wN$_~(N-zA{sfJ3wb|CjI9gbo@}(+e zH0ILq=L z>tMX`%uFLD#qrGXjPNCfa8X{AQUdUu^AMpksyBe{(A_|;{RrG*feFKHB5o36>uuLV zTeBasEo5D(ei&KxsP>%HFEoH}dHcpOw;~#mU_Mw2qMt(?pdXY9Efj*hTBG#xhQAf- zisz5u8IDAy3#_4-EB0I@vc|YBY2dbGPOq?LxseO3zSi$1h)k-scbB%le_Bs}`t5r9 zSO0Ln|JVQU)mMM=%ZK~Bk5Ajn>-FhZyRiOOUjXTUrQ^Q=F!~d{*I!;g>E(5Iw?6Lx z;agp<-|mz5k9J}9vJ1-7Zt4$@tX|q|MWn#b5_edH4MNEmXD4ctgA(rZzb`@X&26Q( z66_F}BqtuArwENx^AgftbZDOBPV_wyLJC*;rb*W#0VbbEUP{Gx3TsV}3wKxw)vb@Y zv5CM9?Wj};&ZEwKkg7*JM*uLppS!Cg=21tm1f13-1+0A^dyfg0YY?&jDAI3;t*D+6UvYZfFa(^K8v{55~gc;g5Kx$ zOt-9FUZBj_SZzUa@0Mc&t*4|-T0A>H6q(*5OWzH$wjsVo+!qs?+Ei-RijyIfGn60v zDEdC!yx0&he^Noigmq=XSOwPL)3h$>0GY|0fOyZ?pepgKW3#y!H5e*U(ajcnFs$Sf zn`P1|VZIJ98xTMds0_53p(NyMb<^w`c zq)!;Mg0g1F#PJNE*r+S`kAds3f{SzTwjAr5Lt~`p5U8}&tN#Dl`?DrVt}9ItJm;#~ z=H?zNkRX_l%A663)JWFLh-AIg%Lw}q)EoQnRQBH~{)o!Qkr7E5k?xZ0%;HXh#1cS6 zAXaxb(|cO)*{_-fNOmQ`1+IXHZK`*_=Y039F)PUdiXgnkQP-+BHLX55P{nU2(#`IB z0HfR{aU@HhiTNM{x;_+;LxG$VK5NhdsB776Yz(+hcC1idnED?;6e2PKk@G!L5Gy{6 zYPyEYG1a~r&(n#i=AhWR#PO!9&$kH`0J9l_?6bj=cBo$luQeQ7p1Zl+?Yz7%ZgAYc z7{;s5H{1I^Uaj^YZ+4fzd^_EKwc8D^ce_`I21f7fMgK6@Upg2Ss<(T5xR{>4nPqn` z$6@_hy}iDgH`o=G@$n1@_L@-#$ti5z0X8spJ|jp&}c@;!bi*UjY{&P5@HI)gYW z8g%~UpMjzwPU4J+*ycxE(wk}IEciM?LpO(Qow={DeyYP$!Fl^97%wc z*}_VD74U$7Nsle8eMM8_lcooCCPzMYHXxV=*1$wXQ`-&!K)~|IThMcHJZi@8M-=0A z8(4QDQ4uj(ohTWYD4_(>Q@+P6HOvCY-s3F21CgzJ1cXu)WCMUl7ZTvj8JlQSwWdgr z*b{$L#~aEL6Yw@t%c~6L-Cf1TbCi^-&3oQrrix@W=E@QT*rCcYlQhM6Guj^%T#(LP zs1qaZY>bhq;@Ut6GhvOkhGA-7mmwr9P5dbia0)=xTRFmA6$dPwLbQ1hq+soCbI5>E z9F}A)w*%S`F)~3Jx`9AzqZp-XR0>;1v10tv{ZcYIj0MoWJr4&Ed?706;!f% z5;(y1@$Uf%a zx<=qEcmwKat5`(X;3+s`3FHJ(nLU@K+2rFbhx*D{;OL|_A22Dy20VYugI=5*8~Bmv z8ai*jZWc8pfT^uKsUOpU%?DQL$>~}Gu)QyRHF@v(d&35G*}e>FPoL`AkJ3{1@W&`6 zAFA4is^$e%X`C8YLub{hG{jjQYX6P?>wRG3t9>xT0PlewdVTL`TZ)Tlg%}^H_!y)J ziSerYx+w2p>cI!`nKogQm(DNnD8*Ky#I4X8?#XEreT0bSer>wMSC-)M*~mP56@X-dgNPMQt}* zK=rjm1hCV)*$t8tUXi@Ex>^&Ym*U;Y3=Gv#NL56Fb4bfa&oN)?pesRRc((B@VlUc2 z0^2#a*OrU@SYw_*Bpv_o+o$U~5;G$dsf#;EYPGpF=oy4Jp{T0aS2iG_wav zktj%|_eJ94a)u}8O)}T*!!Q(Izx=y8*2RiW`zn2bfuh{Q8FcJ?9YV6-tGNtx$*2S8 zWo?we699B7)|!~KGHjPV+x|WWeeEy>9U%hWu3AnfRYQng@b3x**xr>=xykm{=oi>) z&>yogh>EF)N>nk)b&^uWGn?&3*2Rg1xWRo zla)ztv(uc(r!6Uk73d}k);I;_4*C_^chP>hY4h1tF)3tOeMRWksJQxS;9$JRTgj7M4?DW3qZBaKUYCWRi%ed74V zWz;>Q^{Q_{L7NLRFCkqeuFWUsrDr-j%KBkiy*id*eLL>9uhzSZFE+dF7jubE zzxd*dw+|kCk4fB}RP+yb{Y6VgZQ&68=x}lI_%*yf)@v-E&1>@Ufa71yD$&=qmIt#` zZ%s++!jcT?RdsHwL~ue}T{45hNaOqB(t?P%L;_@8Iw>2-Br?=75IY^04j9?)wdXBk zk~2g7s}P{t)IbcDY9DtmRF~u-mQV>0ODi=zO@yo=mO!w?v#N@|F{H-GTgIUET2IfD z6B^4OZ|eKj|24;n9NB|i2nwcv(;{gxhpLv=lCuT1QZx$@Df2Kj4S>b^6iKF}-kjVk zJIok}RpA^OiHv!TLYRsK<_852>I5!-%E&}wsKQ=Lf5(zW;;}MtMM`{|-B<(AoD06J z7~qXft>3_&&a-7RYW8)a#ts{*W@6C(W4l^*oDmtUnIvrI@orxH0y4;BpPHkMOy$J( zz%5i&>xaz4Jg$dBNFR6(ngkg%KmEZ&Xz{Wv;=NBt@;;gaS7A^p)E}?SZA4of@|!kZsQd<~W_| zXn~I@rF8^0GAI2g}6qb1B*SO43dAi76>W z!s(7ot=GDGK5QZXWI@Of4j?wALL0-|$OJ#606D>IKAFjDZO@6JdvjcxHrvbTVs~{I z*H;Ik)$x1Z``(=w{WoxZD;$^rKAzd@)e-i)+x4`0UFz}mfu^@J5IxMNqNeYweGvKc zw9Eh}zfTm;R2aC}HB8*h_R#|zVmiGk_>7ttH7e0sdPfRZ03-BvDzxmbPMDO)QF6>$ zs^_Cz-?m0|wZFo^ib|!lLEIma=*^_zD5_uy1v!J0x^~c%!LP+DZ4D6*b(LTaq2_4- zw`#^6fM5d6_O`Wfs?CAN(Ku)TR{#Ug=Ftr)B^|`c9!Vsv63bKCCsRZMvQ;`}@mzf^ zB<3I~O)FSldjsx(mhN)U*qhav6!%wyv^OBgV^=i`7Y-?9Xab`OEK$ihr%pv+J39kn zrs@_+tsI81gh#iVAt16t5pFhcXpTk4fdkqf)!w&g+*=E))B@4-_-F_&1~YY1po9)8 zTH9GIuVx(L?JjXs8yID;^XBZ-q^FeMfowo2I3YMC4AMDDH1hwGbHX;wtM1Y`-xOWiU$9%+OZDYAWl^alPIh%W8KVH^aoI;yWPvja=Un zF#7#Q4QG=5^f->?_He-CEQXrd@h}}4s-kB3G?L}9jh(6ND@#l4}V21z(h2$$R z5w(VaELDK0b5dq5vX96?6($-HtgM0u-6I3C6>`4arK-m5bO^dIG$Jq)*XB6&3&Y6a zSqj_JsB05aq8+OKKxtBw=&f4Z&Du-~L`pdv2M41K)HI3K?QQjbFnAgjJhyK>e>W)L zYEC>O3@X)~ut~?n{km%O0fyN$fi;Zl9aSR9{R{~(M<`MiHAk&$fs(a-!Xw1?v=pPW z!5qaqQ-0&Q0+A4+X5*3Zl(jOZJn2=F6f`K=^2_r{oWmrI5{RMsI}xg>#OSd``T3)a z{P8eL1`p!o(E{h&7>QGpu00e9tVvbJveM`VM}B44uVA<3roTOmEcLv-Zl)3eY&ju~ z=62>RR%9{zK+PYBgNMqHR#l~0bOA|2%Jr<)3d)hsM^hD(6r6gKD+44vrW`v}#uUwT zBmq=O?^i_{qK62U$PBcAAJ}=*Lf%S%8GCe}qdf_fKxTUs>Ur5Yx)w;187w4q-Ss=L zv928u<`$%JWXqXn$TlFVbv7F5S+a2KrJQCT?uR7`YNx13K!-h>`zD7!5vY>bdrqWb zy#}Zb1ZwJc%!Ny8&Cw*4E9X?BzYr;OyE248*w=JMqKY}poY6P?t%|CdL(^qvm&JN9 z=Odqg47*exXl<9>!}iOhrZ?^_UjuMrvaBSV4+Zuy5@0mGTQ>$MBe%1+)4?R1S!!g> zCCKw&Zm-q{d%@Hr8JgfpjT?|379{qkgkP%wIp%Az{sCBsK5I;;tw_V@4o`Z}tsF-g zoF}^7Jinjxd#SrpJy`=?*9bfaezlBvbJ{V=iwF^6gF^bxzr7C zICH6L2b2JDRc9u%-D;|N&@f7yt%ONxk~an;+J-?r+K=_X0E+EYm57ndvf+uNIYJew!|z|Zl@XywvIQ8Fx4T<#loP-xU=tH#54+6%T7s4+ zLU*{mdT&Yb0;T&-uMR>g*t7A0G*&;Szl%bWd2IfNld#b zbiPk<$Oco6V%N5!bTUjc40LDNT6-u4*=FT0M~wrf~GCRngA%~p@eRw^rx#1 z#QOMn8F+RN#@L%Op~g6LYgI!}DL6#eN-3WN(K1yBfWV;vn~+Dvs?x7>`^VRzmM4=Y zd2|sXxC5i##Pw|fqjrp%>bQF|OK6_YQl!sj_WrA586Tm9H`;RY za*ns7NwhH}21Yc3*rT7S!B72Bo7ph=XFUN&Q!)XT6Lj3JDL+;E!{6DaSCukB*ofv< zno~g7lU7&P${p(H0|7unZLgq1)!V-56Ob`m%yxN-HWH$O!jX-ls(8{^c zTb3ja`O5ZwgG;}t9>Jt0BWEm{Jdk>G)G-HwX76b>O6IiG05yZ7L)bI2ly1-<`<(Sj zB&w}V9KNZjT6u1hr18|LG}S$b`N1R{Le%?e{44gD>dkGot-PJc|Aui$#|3g}o`kOg z4`+fJYNYA1EaQ-5Woie7meEKU6HAIfR8q8F`y86&m_78BLGW0qZEeA$tKR9T<_9e` zEBd*k`(rxZ)b@k@u98!OQwX{q#B{?QoH&4=@EcBaIv^V3za_KMWGpfO8K!PirV?0_IoTmVRLu;AUS zAvL4UJ~Df_lha3@XCSq&w*K}Y$>IVFjSK*oiaLYMda0&&&UWK~aN>rN=GpcvVhnXn zz0qH#E{m^cbBj^8tOW(Lwf6l7TaV<=rC#@Q+z)eV$>RRy*In16Px5iOuC0P-r~6N! z?-*Ijy2jf9+x(YWxmC$n(OXq#=k%{~h(cs7f(bo36I|z!^1eXuB?;42HOZKoei<00 zsp|z|7zFf!B$*G9zP5&QQ0ED8b(kfhuUG5s)75JG`7o|OnYCBXXL$7LxZm7>Ewel4 zr9bHPt&)uX_{Tr4-~H}`>sjLTf)1;vBTb*(VEKw>AUdlX=M&JhC!CtRO81ZfJpLCl z(T47nsTG{mn7*lYRO|_j-DkF8v5OOdffOc#0_-?}MNDzxG8m0NZ@Cs!N^Z3QTOqV= z0N(yoO~X<}ZDk_>V?dn0LXyp5a?1e$v6Txh#XK%8^UJ`}IPv~oIe28)prM)CjgtZh zaf|`BF*L9t0pDd@4vF%j+Dl4&$0XS^ukA7@fS#plw?Zk$CKYM+nN^&wRxFV$Cu8jZ z4H6MIrelN>Ol7M~noPnifRba|@su9bS3xK@tCC3^C9E7fd~iHYl?<{Zco2#|s7HBY zfX&-n#yG7D&mA9<8qNY$&16DTt%8CQcG8G7WNVsD2nr@}Xkb*v$f7ZrbD18E1T4b9 z(#ujzZjVVikwJ}^C?NI+DO;k!fYqU`2}|d7G$~lObuMcx#>)V#*K=}M3@~sGXo~$L zLe`682UHx3Lx%wPZOw=`l?lG*$@DOO7Kis%kK?ap24|G^*-h@ z7R6!S6pP=;n`R)=YzDKPZ+pD5^GMMLWv#@(+rf`0)4c^&HW04QYaF37BWoMD#Qsjj zP`(f2SIpxT9Zx01VD?jw>a-dFi@I9%o3m@MZ=HC%OW$w--pb`gBF?BVE zl##$3tZY6*vuCYL&ro`fl*T}SQL=@>V=4oR70%ZUr*jyZ2TK{PiC+KkP|K_1#pdlTz(I<-1EPQE>stXvQNldc?|tuk z^Md;1tLy9SifPs`OXt_S4_W#&4f|PQ`mi(|C>{%>>=JRMO`Zr=W-OF#rLX`k?OBK% zINHPQzd^HV2(vP2rAjk9i9k~Sq2_!i%}Ap^1QAy?KWP>j101axlTjEW@Wu#KW!`$i zDImQz4UjGjzp|ta6!>Xe$yP=?v9>TlDq(HcG>GjY+s$6>IRjG*RmA28IJm^HnTZyT z!HJ5i#9>E*&_k$Mcxa`)l66V#GxbP5D3*{kp+fMu&zkY4eYe}~Bzu(FeGX{jSu~C3 zq-p0wnp!laXN6!MrtNOyA}Vug0Z5^Iif2v?3+X>lgqN z7-bU%9J#+@UZKAa#Z$04Xic$V&6d_dgRP|^XvD-Kl1=nozHC0{@ zc7<&zcu;-Bko?QsWw4vrGno|hoJD4UvpC@Cg4bd)K(#e&ujmKG0H1c?Fi>htn*hK~ z(Rr<4LJ{XwtFb48*#|T_fru0czkvX(1RVweSg17@<3Q9y13R%`-yRDmCb%4}t3E!H zN4>CdRnr$AQ;Y+SewK{E)w7*hne8gRPoynXO_Es4f@zc%>w)i2hd`sdMmNPYM5XCX zir4m0$!c?3XF3El1V}U6L|rR^p|Kl2?E!cKi9Ftjy{sYuy;{?l^IV35;t3E<<>n>i zl3)Ft0jX5e>Qg&V1NK~4r2jNqdNBHuv%B}jYJ2(VYFPi~W{1yi;OU$9 z;nB?<5dCJZZ<)<#yFNS|kDtDU!_BK%BKB<7fqpd;o0k>oO)0B`=3Gay2~5l;6Lmkm zWh!C>)(jL;R1g|!LN-7!B2S7(i_@#0`eY+U7z`s8_-hY-w194tAnY*TVUhEQGvcl-A2yfBf;$@MJKX!lWQx3I?zb`(gt8A^-!;zF$p;~ zr#V*L+}udGrJ=C>YkR%{W+r;=evbcXj!AJ6M+Hg}BUGi4dNMCrgn`l~wmn5LjTqcs zR6{)3ylOywkxb5QnTjM7sJdnpqzxq`OzlaQG#643I=N7Q0UD7qcQuV@Wj9Ii4Ezr_ zZv%KXGl>ELmKr-?mAM&?f@V%yX}`r3g7ZXcR|R|;gCuXCuYX;3zVSZ7wM* zQv=bQbqRFMo`Q@{f~yE2?@Zf40koox3!#+nD_kN3XV}Ix(IvUiF>~_%E^!?hD8bYy zM>x4EGOLZ#P5`7st1i<#YN4Aw4q*sDV-$FF9pP^faMcQkMKzQ4dGD#`*bLJG=cB@<&WkWKahT z^=;9Ebx+AHToriuxMEWe5Niw*Z}4HDE^CyWR^wqzE6W|!U{QZ5p+!;p4Zeq@Uk>VQ z{)t>zk$ZBwz6ciLRkr<>GZ|eZ&i15728c{nIvArdQ)?^L$>L&yJOzR~)X} zkTeTCqQgK2ypXze?I-?oHcmB8aH4KkFZFb!&nMrY5tP821zNYZL&r3EpBXI&1bD~6 zt*UL0*ei)xu&4xqq7#+~1dOa&*dqa&;do*aH2Gdt$Vx!$;_@w=6$qV>&_C#)tvx#q zlIiJidt@8ZR$a3TC^ef#vvD-4Q?wrf9!FJcgNBo;3LGV%K5ED*0Xe`b@4+%N z6_e@#)NKEU-~hSJrbraQ86=wyfHDoOL)7xYYGmC&02>AKV(w5}0%Y@qDp8YZBA!zN zS1!!~v)3X?hM=I|9glpiWa4isZCfLu+7A!t>MKjYWO4HgvA+}m+a$myeUt$BmQg7r z*1D8aJqX!5*BWUOb_+PqacotJ8bGwTM4x|QzK-5ci#V92T#(i=`T-G60M@$z8|Iym zw-p(%wqFUt!xz%tl~Tx`!2k{ErE3SC`^h1i0~RnaYd3eDGLWf1`au&;O0}X85+2q; zB74Ts9OWwFg{59KeT`k0B+QZCpAR9>(@pFS4%H=pE+sX9+$Q=M<18<&{^D(xY6Ea% zs+4O??RQ{;n$eBO50IGV#MWEsMb|z7v|J|sk3Ls=r_Yk;f{l%t*aUqApId(x&n^-ZIGLeh zGv<#Ib?h3A3rR9)4|pzsEkKjo&MAK?Ll9cet&HLnL<;1%ZR$+auH#Yq&MN-`nx;|J ztSxKPR8@K@ePd7gSwh*owgdbKuxx;~g-l|@_#){^Ih2tC8IiP#eXE%uu)2GQ_E|B-Iqd0PTxHL=qgKz=9_u22U{>k-)oeW3I2T&)kT34D$E)ezy#gK*i(ZR%b*n!G?T(;X)>3Id3WmNz=V3Js~U$8{csgQ z>S3|H(7{1K^w=Ze*hc~6Y<#1uzK^p#U{56=B#e-rvANR|s6${EiBalrm;vZHTj#8( zy4p(asfYoP-2O^gg&hY$0c&AmlC?V$XA%R|I$%LxfA)ERpg-+L0}5sqQ&qDQv47dn z20}_&B!d@4>|Qd2nb0U&UlvYm1|NB|nwPdpE?JNp_|xZ`tiQUqqN4%8z^1Aj-ahxiZY1~{McJtqQwQByV6A|5k&~NzqR)JBy=)L#e zyLs~D30+*kG|>1j>k(fZ2(D-K<97x+zCVMy`y(7T^O7yIf){UR1Z8$$C2_i7Hi>CO zH7AUY@1w+y$Vem!XoI~b3$hdSV(-qvvdyMO17O38ae$D(D1b){DP^&+J9zRZ(rnVT$cwp? z02xroh%EzJ2K;UVXh0$ywq!A2FKN=Y0Cvhx$X5W8+!zBJ{eG3dWPF`=b!P4UFQx8b z$ixL`k^k52QGf(8`^%ixyWc3cgF5i570Ym1ABn=7zoO5z9Eei=)YpSvCOY5-op)ZU zC@Y%h*|8D%p64=)>@D<=JUY^7cu{Ro5ZIm?OU$Pope3q;R1i{d}BM zY^~}HD!qdYMkxbE^nPagRUvI@Nr^ZPB2ASvo8WDep|Tw817t@Q4t`DPP@+Va`_t}cJ0}|$OaLrT75Y32qhjMXSFXA;BM8?2_!#)t;Q62_oY@8mQ|CsSeL z>7VJ;L`;UzBuC(24h;0AJ^~of?H-0s(+;Q2>*34k<#Z07u!@&;TmA!d-gfbSKth zZ?Y7zf6cbj#>x6<^P_<`Akq(q0-4)ft1hYHaWo|>8g;Z*GNQ%k6U11aT(M32@yER0 zVR45=C20+=X?)V1F4)j9kwJH!L^W(Qo9Hjo3kT4Y|7rr5237-%no3@|UIz|?r`f-; z%SgvC+IspPDL%6xmqap7-Ud1Bx(G-$jLgH1lk*TCK2)hOG0U6#U+6F~CVf4R?DKK8 z`Fyk5{bX2;9}}*g%slYbtZ{2z^nI3&yXy~nee1xes_NS=I?fW(3UA*&pSR|?-oozi z_RYsLBV5t28b&-kKGb8O(lC*xs?$&V z+N1>}PEhL^q#g@o;e@M>TYsv1@roT1gJ*@KrV4^$QePbt$4jJX6IFI>ppPb>b8&Z9 zX@JLXv@FIly2z0>MN01=dA<8dOmzJ5pcbK5co5;YW zhiwdc7-fXLr<(=n{Ix%}Mm3Lmwd3YU1SB+}nGTWG8JebmUzp}Oo04Ff7oQ~ESNZvD z*9p3xVt&a-DwaCIJAJ;<#+cNJU3pB7vS5A+H5`SiItxKk+jn3U!pTV&hDebuyi&GP zx4mf5P=L~$+uT&KQ6+KobbzfuokQelWD#nKR7gshT-#UO;VBlC@>EjV*#N7IR%17B z09VgftNoMp{_3ae_3q=bj9-kq{VNb4TJg@4{u{f#m6Fi}NC|ek=eMuxaaE_=aa>&< z>dmWChgSsSgBb?2>`WK)8eW^-i(O8H0fZ7` zSCf)3Hvv`(4^&MnC-;E?aRYiLA#EpM&XUwZCr!ohbCRGjyb^$l22zIv{E5M}L2+^r zB!sUCB+IIKYa<-1+N)~F5LXkodnYkt;5_c2wvRl33g#@hJ5Weha7qUP(s2ywb+uy$ zgGrf3j=y@Gw53X<3x$oV0%9w7z)*8H8(iTNC}kvjRSAtG>xvH8Ni+x3ozf z3(U6DY?HIiVt){lx#n-GFeI@R#4}6R>cKcDV8pU@pXpQ=n?gXu8D%vd#JZrguX=Uq z>F!is1vQ~Eq_mVz+Nyg|4|u$Qe2C5=;V3s!nZ=iR?3N(KGxG3#2@Fajpl@6J3sTJBGXj zY|oMGi7dW25hSD~bg~u=XC*pMCh0tPVd4TN$wrqc>JJf0kTck!fKC3fl7myLoR6D= z3{xMqJ%v0hT|&Xpa0sWjBx6@6)gyb*%No%&YHSRmszz>W5j8v?9B9&m3pt$&MWp29m?BzK_7qxMuQ!K{e&m{B{rjP(*zd$hwj4?9O}2Vp8Ou= z^m`(o@-aDygaj!zr5N&yU6a%UP>i6H5}Vo+&T~#G21KY7CEVbf{A5TI<8&~Z$`*oc z-)ovl^B_QQHE_G?3=)TyS?G9Ba0@*%Mbv!mCBSG6&=xkj8i1bpOHn&80i`YDRyoYl zj?zL+HLz8?acE(l%ucK|kiGTY+gpQ|s<}fezX9mx2xZO~?K`$@tp&6y<@SG&1gE||(xLT$CY^@B?+O0s<|X?~KLo-#v0ACFQ@ zWe5pO^^7okOAB8J^=ur(eAR+WhpoE24N@H$TKa0MltAd2E3cJzTn=`~c5wnXhzl(P zI7qJ$^I-RNHsKJ`WG>l2Y`RJYv6gKuAydaC$$CHzVe-2OxkXyU5^HtP5zR!vwoFRU zOOCdbG+tnI%#LtociPrt?jQ9dD?mL(4l%6=l(?VdV>mn-Ew%ANAO8%nlb{jc92nKL zzN8O+sDzFzc~=9LY4|j>^%QF}Oi?s)hDv=ahg>r|aXkh}iXgAsqGANSBNtwr>kU!< zk{oyjUm>6xD(a#pG*alIb6gJT(h8|KpdB}@JOj`A*+M$0#5DhAJkV9@C}U^)BKAYS z&O>_=>n^07Y7#JmQBGZ~UPh!RL!H{-DYioNbJMEGp@nt&Zr5yMS0mQ;{KI-8+#Xk( zt2e9t!{@t;htDo9A3ht)`ptA*Z{~y85n#!v@2+p+`qqL`m5#R6+(c2$o%v93`(_wk zy&)Rk%!~3ZG!G^mX5=snPC;YM<*UP-nY8ua2ScDU&+G1XAe*@k{PrzDUvr~N8kDM& zc^BG)m^&8d( zh~%xfq}BRXHG>nWT24ZDnw@OVl&68%jDV8en1Inyjp5P5cDYjslm%Z@7UmKah)g3T zB*e8~0(8PELyz0)aZ|Ht9q6o(PaWMnIV%qg5Vuoe<@ zADBhc(2-4gxcW+y!-d;fLuU>m!)cPu1ai$R!6F&d)Fz+=!k{nfqz`cRCOX4e;+-v2 z*+?a^4mnWkjw#YEgqXh$0J~j2rHaYx_r|6BlrlvtI?xEVdHO>@sxe5SP+ z8%+*d`kXoAY8ivtzLSFIqOoDcthJ`dB_m-Ok2tJu$Ib4|c6ae?{(HKa|He|@%zrm; zuCI?j{NWGb2S4}$+^Oil+3Q;^8C5{q7Tg5;{p|p^ugAK5F$0t5FyXUVl=NU0h;8Q8 zyrQXU{vlYvkJz-lO{pgpE)B5z=@h;JSuD_ekB~>(b@{no74LmH`CL>Yx*8*Nim2EN zSSX&V>X@Q-duBhCjrrSEQ>G8G1)UrSz}Js4WSc1mzyL|YW1kC4@0tn*YovW_obgz| zRY}}N3Q3enpCk+uqiDuil)YZ9Jb(-H5@nMb!(+(&s$ zgN7E9@mr#fZf{VE)#1@Iq$>mTmw+?BA<5i#^C#O*P{vMEKsWmM=8^9x7gMHbl zL;`j4BbTCL=m8*=7-h6?INMv6L?-99B({~V)NUAED$O(_N%~1FA2}&VMoSp|kBvj2 zlJ>)ymMe=_L6U)VJG2b2atSE7-KIN(;wi0`v9-tp-jY11I@Sq@`h<|TO#}yW9O1f$ zn2(m0SCU^Ctq>Sm2m{`Fc_~#er9HD)_hjLfbT693+4eb{=?bqfrG;UV9{ahHCRt(g zs0qY?NzJ7&n$S|mn8vJhGJk;8YOV9%OiYd%IYj!$dv6c|du$r8)%IpsU%cAwubx~! zc>JUN)q@}HFYo^naQ_5$@aExecQXUgJ6q8|!u4%e)3>WFx+8q@$<4H$zAT&Z7pr=4 zI7~NJWt#CRPSd|VO6kM03rZ<_e^WG%T%qFraMFpFlSAZo?QC}{` zJtycmUx~0&Gq_g*gch!aglLKcvG|Eo(r+f>nHg}A!0ntj9?qyom4F04NMN-6d2G^! zN>kOXOthG4hRT>3Y%x#H;?hQGTV+*wsI$#90sWpyW3F17KmmYeqiBG(C+w{*k*cb6 zqew^;j!WMhyhgRBMU6|^TFFsRrX<}AkZm(5hXM5_c4!G9ZE0npgtih!m;pWcgk$#n zHOCPh>w#mEnuJ*;<0R0f48gEDDnaMCfx-O19Lxl~i?GU$V{6jn#p4HyPe?{;k$`H0J8=CwxM3xxDXReUJ+gCeP>{+>W- zuD%9X)D<(M2S6P=-gh09h>hYKrUx&0ZgU%`hKy0D`@v}kQM9Qp_9`W<4L}bS9Tf+_ zl1oae4T?=W%4vbQq zy!4=Dv>?mSp<6fJQ?lqKnpA{LHLp)n?bZ)LUaC4r06nPJz3Wb2c`fUe zyZq#fH($Jb@8Z3~KmH>e|Cj&e4v79St~)R)SA`EhJl=lw%QpkApHJ|5GYqRw>#%w{ z1I7pQ#<~Y|nDHl}s|Ag~QnImu4sQ0RO!)?SfVtT0Cs(&4y*}G$nSut`&6H36XklpY z0rEAR6Z3F&0?M|cC#}KEe9;Miv@5f=^cI6)nUu@JhMcQo(S2cama0_VTmL!LpGo+N zNuUA>S(YLuNJBKrz@Ih2Y#~MRhmmryeL0{zt2txyGL(sCf}N#liC)^wGpsF1l1@U> zxt|itgdePv4PUAYjL70bVg~{O2{rX7C4MU)xHX~-V@RJ$#3scKJmkw5+Y%U|&sBg_ zU6;BSsyrHl0KxkWrD0UjRViykKG--359<}hS!!e^7X8jJUPX%@<==HLYJ6HTEg+Vt zQM#v-eA+rpz#VeECOHELKnjZkXMVzf?xJ-)Y_}d$*EzIr&rDzhF#j4d>#=w`;G!oVeYLwW5Lg?%S+<}qA15{ztS~N2I0SZE7NC6 zIL!|JwwJuaVA?VMt;XRG9GD82^r=Y1S?uj~A1i^geaeS?jU-}ibz5T91Pbq&IIJJr z?8tft?; zo>la3sBGR|U%x*7(?7xVBNX$zK(WG8Rz-dyZU=%SVM~Sq85td*tN*)rBGv@9D$o~x@)3v_?5wy4$ zo%k353hEIbYlhPkl+9$UDoGics2u~{WJPG5p%G9o5^DdYA(P)g6kJm zD;q;BC9C(eB?cHl0`5!55eNp7B!Uc**>OnoxVLFk$%+H6S|o;QX2n7=!BkFGcW0`h zZ6cs<{5chA`$nC?qV32br{wKq?47}D`*W7BCU#v|Oa-K+B&9A&+kBXDa4>5*uyqIm z*g1&Mu}}7)d09le(fbOCg*r}1_vGmgZf)OC*A@Slz(Knh`ttTHw0v>$9TadJx@6;PT(-E-VC?EBS$ zrgvO)0&14DN5)lFUk>{fpwxGq?qkysEGi0c3HIIqtpT%Wt{rkQPJZbb`wqKKM+{JH zUyjF_ZJN2b0;hl<6!gX@_`2ZjL|xb^g46`12~xz8Mn;yS7}@Mh=z}3agz<-xiz^3kou+6E%Y_`r0I299glcEMpvl$SS3s7**?xLF9KW>c7%q322m=qQimF%N2V zgiu?$^iy;BRZ`v!q&(alRz{fUmQ!rDa88`1sKwiyRnILyyiwLxW=`+uwpnC^sdU83 z0wtThjuFO^fOZf}V_<{#yBH;6DOWE=;?$lASe%mrfdMQVG9tB8Qb5>L`h&zHwOq&T zbMrKBw|N+uGPs(rwXux>VtBX9t6CE9gT!j4rt%hNC-FoT4}a;WI6nz(cFOrOMNTGj=g{Mq=}VaLX%rb8NO zLD4rzPF{xAyv1FJqYUT^uM-PZgb93RGayi)*WQ4Q5r>n$k5xlpiOqP4eLsjOO(d;_C>)m0N=eSB>`$<*rY&Spk_MX0McF<6^xmVt{@LZDzxr&u+dYSRcmp|h)!p?+x$eMd zx>}0R%j5t10GrL*BfNY*Z>i5_@&5fXuJ$tk{A-$UBm0?#nTVi;Jx>R1Fr#e#tU$<# zJk*qZqGz&MGGl2Qm#Rgh^pqH_wnrJ8)MDYMqz&4tDyL3T^@$Xx#s(DUK2yvOrxaAL9}E0VX)W6tmhyx_8(8sn z@x2EA%*+FL{-mv^Fp#JpYkRF_N}sXoBkDwE?Z&yw0Jp6>Qo9K}!*6SD4|iH?!f0Hz z-&AU5HrUpv9FtT>7HmG`FCASOaDXRCuwARZo8mn!yZg-pKn*xj)qlkw?{iEMicjL(@LuU z6UsoMeKas_l3it_`GHFQpw5AgC8lvfRJ&wzhM`;`C`Xh%P|=xbzJnl1En6Q@XNMH5 zR_OObS3H7QfmkAqll#)8EdpcOC%1Xm(ys6v>L;xbp`o?e4uA-;1AUw8szTj&W@Fo& zOVCu#XhX_ZtnVJcp;eH8sNH9K(C>lx?EAB5qzrXXv_p0UN-G$YCS~f!JIUqpwC`#qW&TDa zoS+49%Z%8{_m)I(z5wRtS*&sTWDEx{SBOv8oO!Tq#FH>L)iWlgJ}5WsrOV{evV<6$ z?Q1Zv0l_`h$v_cUyiOzd=!pZ6+au^PBn2oYORlO#FzJR4gN}=^OI(CWvM@mgHLyCBAZQQ0ztQH(?$JD0dMkYy@au)|NN^twm`tg}@0D1h705nwPGZI|*+ zu#if5T|#-qOcA>0WG*tziC>3;p6*g4 z@nIGKiQb@XU_DrJoN*X{%LnQBQDc^%5o?yX%6!EByv>5EUCpkzyxsl_dZM02R>3Z$?9* z1D;EXw~d`0)=uw9Z30S%I&yOw(VkSVHwy!J_iA`0-y5lD3A5!?fwLtocc+w7!4A1d z;KB2Q?9mBPl7x05`7|Di4k`(nA(e$H6i`}xCOKpi9(~@}9>1l9##us&>v>`BX7+vY zW^-}x+12I4C)=xspIu$u`}KOidOkn#`n`*XCK+WM0C(3P<+=l-=~6&i|M{Q)dHTD* zyS%Aocs1_UFJ@K6tK;o>GcWMNe9WpS`81hq^X4Q|s{^>yPdA|Ju_(uNUN9Hz!AP8T z7yH7b2>>n)GyvK$WIXAa282f^N_GwEIbU)*#*U$(J11HjL;$9Cqq$0BKG}eupVu}Q zEl6pRsg|><781}EKAqL{=M;>|%1l8*N1ijl)-h#Ci2_Bk`AGM9C>ap@Ha1&o%qB^G zJn+2+zBZpLOatOxuNX|$OZKq>vDva;F)`8-1Q%=Hr?4Hx038OHT=jlBTCUb4wFjPR zDpy_aN=T9jvvi4U`nb0ozftGZ)T3OQF%dEVPnmtka!>86of`4nWgyLa;%({dt3f2# z?%nR`3;_&Qa9>hAnCvJmlveSXOouGAv9|1Hx>{`wr&ldlO78&Ia!+d=5atioS6t8l zFBYROJa+x4z`3!5ZtUc9Ry&IsNjzQ1RG;QGF8!=Tj-QHmKx6Mx2K3--6Fm6@XnP@& zE!YDNiqe{>E}M+~iLw4|v-@l*_$j#9&uJux0>JYKIzk4IweJxoY^`g*c{VgeoJs7m zDT#qeF?XEz*O4o5;OX=YgTC8($uvjszJjrLT)J%1+H^AOD+3|Mw=c^&mfIjaOl)iA zUn0(9|k6+0ShOI2Mm1bI!fbRTxY<8$Bu}7a1w&tJ9H@jtE8Y^{5 zy@jHGY|E1MGUal_gJ-xj5{x2^dJoC-2f(gVWFh>czQ=-}eT+#a`S4mT) zo|r&FXSjG1(AQ=ws&O$rf^MpB}!9 zUW-Ph9aL)qj@2KNu~vt?+(D&@0OyYtwodZS%w4snRDghxgJ5pXo z?8(v6gU&#-tmgkO-;~Y07pv{#&-YjF{bIkq_v_vM;b-$>F95D@06shdykn^Eu5a|Z z1EXiI?|=XMLKWf3Gz@f@x6aKB=B}xf8!F?0h8d2wq>iOQrU|R7h(h|AX;f!TpFzT6 z3!Lr<^Y+Yu0DR*!Wv=P75*$wfi6M<>f$aG%%$~Wx!P`CWeCxDjHnO1bMJj9(;Au*# zRAqz)dF{nKFPV50fb95FG>ZuXmqHQb+Q&pNF8I5@{}PMt&(D}SvA0o36yo1&*yi^$dT2c{6A-g zLR|yO?EHCSm{vjVTP{ETm{Fwovv!{__>TL6J1A(oO7{MRe7Fj9T*UZaHMOAq-&H4V1=GpG|dj<{LHc> zG6OFe;N+E-4=1@z(HGgros@BT={U$(O8?30#glSv{Pj_;M@#}ua$go6?I1RRN(E}o z()1&QWrqTrR+c&qRn$;wl@th3^j9iyFqTHe=U?`?0U7i&Vm?b$jS!MXvO7>yIWur- z@6EKjhN)9YYav3S6<77kK0!{b;qf;Cobt8Kw&)m+M@f;J4R)Fc2UHf3phcblrN;)6 z)jWmrn$9ET@iiA96tSaWZ1BVrqfS01Kev5>whyY02WplhfGi`2bP$0~W6;SEbnT&f zyjwC6jtknNakTFdHLR1-L=xJjhmhu3@6KlJeqGz#F6%RiDM5=`!y~4l?Ao|A6RW93 zLOG5!YcZ*o&9vHFzTWL0eR+BLoloyQ`0yvYdsn~Ot}j2If#?iIpWMO^|8au<^?yAb z=)3D1zwW^3`HMdO_~Yr(qwSj&Zl29d=aX@@|52&a8>Fes#NuLJ_LsAcbH&+cY6`Qi z6pT00Ao2L(AWo(Y5j#f+Nn=Gjmj|E<1M~niwD`}}Fc6HyV@RTU@lL(k%3`}QQ8Lv% zO1!-(0o7CcRV9$9#5e(}!Ba|Fu3&I*YU9E{xSf&}G?_i7kBwJjnMH!p<`!fS9DiB2s{MV*^AQb>fGpK zd`(1)d-V__lbjcxGeG`IGr=tDje}2LW-wmxHI=WBl1jOyM0g<&iDT=RB(%`r`^(0u z2fL8oPnsXQlmr;0!5zqV0MeG*5C9ER`-7P1h@kBeYyX*0S2}K}Cn0aE9lQ+WqnV$G zBwh}wGjkteue1?NZmvR5&wvGZ8Pyz}7_ z!*F2vyM5&Nttx$FseTIIWPqylt@h{?q$VknK`mnR%Dz-^#A$;i92@wUrzu;2egly; zOV%OX58!s1aY#PBmS7Z8A4~vYV}nW~IoMcR-^VGK0yHuHTzg^zT*p!QW*zc6a>|uRAchxXh91qmMp1 zK701;b=loMpQ&sM@$}O&j59r2UCx^N_hw?eo$nloNwt!&c1oL<^^t_ZmE_@hrk)7I z4zkHyDknF%BMtgL1`^DpvYwV{Ol5Iu1~7h09oRI$Vb6vnN|`qLlO2)6g>j~Y8iFoO zn>|YEr7AptqHIv+1mU48r{4;e#@m_pWX>;?RIYj@ChZJ6_dlNO#w5l;rHrXuS}?r) zT-4crzhnk(bEb{J^j`pAjXkTt8Pi0IomLQQHq5W!M82}w0B}4*Yf`rV5-KYI#AVnj ztriA@9J>z;q!|=8=IM1sCoq9{A7hH|0(clez-}Hgpvs?Jvemw<1aVhC(5MVc78@jR zpXR{FzXydKm`hh@S88S>K<<%jj}_Ggnpr~Zs|=(t^+hFpDw(PkHPcxRRTRs&F4`1_ zAHB;qtKAbDtnVlE_ho=#pREAW!x!5L^VrLK!uZ{nB+9;T^1LPit!W>7{kn#;RGL?o zf_GVSrCaA#gsopcR2Pe7TU=r%&06e#Kn1w~U}H;}&J-VO#=!>a$i`MFI2Lzi^OAM1 zh$Om#*dv2$f4JRxcp;0=$tjv-G-OFgJF3Rcv}hn^_Fztge)#UzQ@^f@_TTze(RKg; zo;A0!EoI{YPMBJIISbMZMokknfdNEF(s>Fx&<d^t-*UtHXK^vjFO2R~i! zFMl$^_VaOb`Es*?w=#@(cA|eu*Bux=bD1O4!-o%VU(eTSbMw3&Uwk$lhx^00`3etj zZ)T!2i8E8xK#;bsgQ!S=;$D^Q%qKHxLt@IzAOSiL{_78d1J*{G*zqF)E3Zj8oISP# zR^iB!n3|I{T8>9B7h@C{OiI2`#cgp4mY8Ckl6z^dIs~ESjIWx-$UG&nc8nEq!DGEM zxzps|{WeNt_HCq5xWt<{nB;G}&XxaeDP$@X6^@dR0C*s)JglCB+Q5rR97v-$WCjy$ z^0Cc0K{*TNrZnbewzfafb045MZCdWO@{08Jp_}DzH|Lq5#>3LO(B0H+G=N zHlv{9Yc_SP#*OtFk~9#I;oCCrO=~0ebwQSRD^oO&ewK!zn8a9nD|ClE-@0ww9EfOn z0I?6MIJ_Bf&2ScTYlu>Ei&)dS#dfg7^kCjEe))vt@-Wq?`@6-JEFRNBFiSd7k+xWz zMQVT8f}TDsFNC0J;#?NacODlM0vrlp49|I~8GQ}=Ja+XdZ36VLOmUxezqp3Pz^DOe zwD`PuI&?<8Bi^M_4_n*q-$C~#qOt_?M)(1bdSQTp(SSutkC0$FlxX8(ceb%~{$O-M z%b@;%P`j{B%B9F`$K_C4HT)Q*{&s6FC8;3Iq~z-uqb>vHx&4&>wYLoL#pXihK!G?y z#J4WWqqr!E`{oHM1e9Bn5HT@>VXRa(GZ@{!S#Pht+Fw2Te7Ar2$!fg(bY6I0%_TG- zdVt@~9`3Gh___n5@4nj7zrDG+c{|gn7sLAE2_28`*E+o>T;0qY;8?3cO_O(ldY_8r zi}{;S@3$I~F6RY8*aUbe88C0%#Ax`ZW)nk_bs{_Uc=;V70GE0ig9BO+Dv~T5q6v!Z zDj`J@YKlohC+e8YK21_U4wU=)!VW6eUDENJpJ%fMaTJn1DO;fcqL>h=6GjLBJ<~qN z7AZ*y)3-_t@tua1CMv=Y{qMf81`z*jS30ep4>D??Ajh4jWraPcwT8~;gD?$zI zfDRdhavQ_YtU#h&0gj^Gmi^77ot;Bv$pB5)qJdG2^?eR_+Hdi#fJ)BFlYWms5YvMc zzAeguINWtLiCP;|l#u*PZj}Q%9YajCwC3<%L>(9%{JlC*y;urbrd$5_2+D2ZAk(m6%TyjUyYhh1a_|YbjsQLNr`o zm|#Vs1f@4f&XXE}nMmo5N<~>RN&%!NL^Y%uWG(H7cGp_o%j5o;B^N^zxMheJbLv1nRmtI;rRCW239vO4t074 z!}ardb3B;0$T+JE+IAaNB!biN$ZFGJEF!squs;I@8wN=-(Hly>FA>Hi({RsI12^re z65Gugbbt#(v(1jPsW&nxGz0b=xw8X|N{s9h1`_RaM(nKtXOg)b3lBrJhiEL2L^%ng zG9Mv>g^47`5EL&GXl6|wU(Z1Zd7A~o1rspPP)Zowdwf5DFA$QQy}Bkf{-j=NL>&>M&lhbq#ThRP^gUy@x}QE8#g zgCPcnT2*_dfWSTAlP9pK&SK_Wy{hkJK4ZMRy&%$Bdzd9Iet?Pc2;k&kQqz1G(}YgC zV;^IzBGA2pwiG%I5}RI9B2xj;t0FkP{n^b@$v5t7fOB~D@R&#|acvpr1^&WY0AMm7(X zCDBb!G{3BlyWPX*7Y{%9_0|3F{`BF45B}xiV*lg$hfi*AZlAsX{`!JiG3=FxwP-a+t%R+jgM3Ra) zJ4yB$jDXzEIAWZfTv8BZ%-y7Zq#&nkr37G^YDUyhqzrNOo)jeAtIp%UaK6#*g(?z~ zIt}uz{Un>Z*T|>+;$fK@7(fXzT~a+Jd3Df6@d*`;i4?X&1gYwDXfOl~S^9__19!;@ zK-Q|KrSELaAad6q|6T!U9~(5?q3g)Py;#}UEM@Wl0Cs({Wo~xb%Poj%Qz(L~JP>JL zP`{HQ15K}%(lfc~@w@?Ik+kZ(@%l9IxvU#fcQDo}BlM1%;#43fR7ljSq2Ysu_#W#~$1_8`EhH_`Tofl?KGFc_W$jJC)O zGOR-TSvuUtkVEOIkOFM|q6hGoY;P^mLAzr=(GL);m5oE zI&#$g_Zy}##@2)?&>kf>*<1$C4fBL5{r;k3`-F$Fwd|HNaOXF}+#?|}v zaC|fiMCXI#u&#t#iB~sojZxI-Eeuk@%-CuV1QT2kvWma8P1MoaAhhv094AZ)5H-~9 zPX!Usyi1pArxOoI=v8LcpT2SZMFOL#^H+t<%!U-?9^g%B5*i40EYN$zPIu4vA zYl*RyY?5f|Hjut1bfLdXnFbt0U90^urtkKU0ko>x(HVeEY|fc(4*f!j$q+4=jty4^ zh(xZYXH^zxTtznaFCCbK4A>yAHUsUL!a4<$CR~Cw`D_9F&3>4r*163T^_nS!IOh>` z@fQ_PdK>jJ8?h|0&mAxj!}m^ckZ98AssZ?`W{^Uim)s4vBTe1%-*mQyp@j6&u?HnE z);~^JER2gn&s{oKP2FDI;A5CC^zvU_+v zTg-?WbLxFc`;cfsqxD_`g%~}O`AD?g3bPSL$@4C`)WxK#X} zH8cJMeA{rav;j};QnTchD29S411-wgg&*ZV@(C!&>tWKFaLBYC>s4U zIlEbIPd9d$_kFBMOp-a&Fl#Q&hEQ2!3G$z5kR2ehO5M$964--c`!mf-nllUUqn=;7 ztx2WOlb368H!a0y&GwDf3X(l;{WFQ7NgsVuuU=b2!(Q-m|`<%>93XSZw1wz6n6&{;_+ z#cTS3atcA{L8(-UdY|6k{$)$`Nlx#Wdq)6?30ad302%D-)bgp1_DROGZ`xe?O0I0Cj7ecXu3bIuC4>Evlo5+hGO_P! zSgaok#%-WxXc5eZKrh}Ao=riqv{Gc5pf!V34 z-n)H^**v5#CGUy6N9?fIm4PLN`%%fH-e+=q1PjTA4#vbBl_29485;|h?;T2jm=-i9 z0~PE*yMZk$yPD%;72xC%H{0(b(w4p3*97K0&U>WD;lscw6-}3G>rm+flF<>Pt^ zD=-RtJc^2+*Cx(V(piK$!8m`jI$rD^yxd$ocsjp+etGrySDW3{Z-({u30xmuzIpTJ zW(J~nS(g3`t~)ULyIpM|PcUt6R~vkL+#O#Gw{M=!>W2G3mZBhKjrEKyFe#-P7Xx z>>%a@Jk5;)MOK5A>N6Q0@=>KrN21wYUd;qvC9>eQj3V92tg{-hn$(T0iX53nRLe+8Ma@k7_4Hx4h}XBQZeLaxW~}*bXHY_tE#BwcU!absi`KY~aNt zm}0#vf#AbT3U}0g>)?pq@6t3~A7)Audp?p+P?b`A6m%{*zGzd|4h0fskug#rU}8LP zuK_M70o*G@2qrY37?OGLWE!cU*nL|QBGUib@J~#CbN3%59+;-NqQ$z z*d(nqsV0RMiZTMXv4W63=GOQj4P$pxjzVEEGL=9#HMiJJmK2lJ)?geOs@aMw?dYhh z0y3l7NXd4%Ya#fd-VRv84~m0R2dWSeBgO_sNkb-)#ga{$1f`{Zu!jf_m8L1i2~`EJ zqtztVJiqhW9F@+>dLqz#o;s%BIo_I(VyY%xFDx0Q`M3$VI!v@aZugJB+U*{GvAcZl zlgrBoznKU6^VMp2_Q@A7-hBAshj+Q>|4gnsF#5Y)0!FW{t^vOI3a0IEhSlzW%*6NY z@#c0lu2=WqFg=)P+RvM&@CIxoN`aznWM{=$!k24s3X#8q1n5pLRK#V#)5`7M1E_Jh zmU!v86@Q$8SuB`j)sG)Fh9PCR8?fI_e6Fs_QB@hK}LNKtAZ6_XZ|72)Y(4U z^I;b$AdlT#NwT>D<)eDRkBxsL0`z<{ zmjI<-Q-5cJNV==3TZ3BNrl^WDV zHk29-0#mJfjV|s~)hLjA%!gTlYAkJ>6m%3cTR!#EUt~S;7ULAo zAd$zs6~ozBd{`-^)&#IahM$fw05_fsidmBkE>e$# zb;|uC+cx@90Tz`AQv}d^dE@D@4nwGkp_3S+zh^Lq6q%e-8z7BaIy>k%#w`ZM?Dqh< zdi1eOMJiEpph7Bf)L`yt;jL^R>$*@F1rAp+K(&EN^szE&X4*^n;FUo!1Zr(gJYuhD z2NiCiF3S{lO2=KPk*{$n1HdF_lt5dphLB?IndDpOhlb!Hk;3am4BMykpOg__3ID-}TQa|58SseHZ9+7q<5cZ99o!p^v>gk5NgI~;x0mF0&g z;{JI=3#0E4UhO&@&_|7sXD#fXeFq-%n0#tl1BRmWO+r&i4<^kVpz4xt{BF{;szm`Z zk7Wa+^N-U+#|g{zIBZ^Q_Ya=zt{(qT@0 z82#O^c~O6F)(d@dfX#z9tJ~LK&B~yw<21gU0oB`i(cjKH=U5L!gQ!W-PLFo^hIR%{ zJrG-PyLWhJ6!kkuybzLvV^JY3Kte88h?*9H(Kml_Af>NVPq0Nk^(T&} zj5xx$I1qJ4nkoZ;ETIdWZp2i9S_k*%LhaYmziug|w(A0IHP_JwVbjQJtP* zZKpZbyGfZpo-Rgji_{;W_+(-DtSz4h@YsztY}q6ZY;;PbIGQURYFfM4^~ zI$8$pPi^CW3p(II13Y|yO0a{3EhCTH=eoN&#sC&JxV9qg2@CIJ z2dY@Q@@v($M(>Lxw#a)MdTG}=fS%j8oYVlz7B4rXv3+5AR$`5N|3K_ZD`red-kl7T z$+NmKGy(&7KJ4C~nv4P{C0&TV${Z>1r3jTJv`AT~{gH72@1w-K=kMliUyegry&cB&tJQkQfyhQUjs-LgYiXpCUB710S*k$RiX%rFI^LY-rkGhzkr{n<`c+% zmSK(`lJ2z+f7IbPy`3FAQtBrTJEQSAbEEsc3h8~ABN*UoDIy0DJHMQPM+)uL!qu~? z>0)^Y5Veu?U-ga5?=VZ{>tdPmpvgF4f#tb}KUPhli4t_(q`pQMLK`wAAc`IE;^Z0R z5Gp-q^&q&Ev{?+g&R56IXkwZpOt!u*Uu^deQXfmlTRo*;CzK@7*>s1x)SD2FRcWlz z0czUVY3Nx?f=hZV_m@%@WK`2_mSJ($*ENEAP^vLbSTJ}8qPs)#`&Lg%-~beo%w995 zz*q$arw+Bc?l{yKNE~O~PcA(dJC1%FDYR9VM;WnOjQ}2&E&kBKst=+9`wF4C0#DMw z*~z9`}Dw+=X%aGrjJ> z=9+j(c$j|Pj)F6xTg^JeHPCT~FpYe6H|up)O$I-^>;Ihp|adO+eu%kVdz+nfIng0THU_zw4F}wa;o-fQ`R3%33OYMJ~L0L9& z$Y~|FSj4tdKqa~2bfrKAPA`)biy3FwKFabnwRQWXmO(rR;gyWV{G zV%)v|$^Pp7pFVi}(SP4v-v7yJz5nFtn>Ww5+b!FP-T~1+zv~W+{=U}_e+ck{9~`#u z^7YM4Sz)>O1lPB}zgZ zQL8njWk|e|Tx*G93~>1?D08m4KyZRjR1I;8~hCdZ293 zcDU3jro%xGPy(kqSe+CKvs$k)2=cy3`;+ug`KY8iO}xw2wW{Y_`s1sZ`e7%GveJ}v z;L%!%;VG<8)%ztqQ7~x*DcA+`;Kh89AfHnU110U&`LUZ9z&`4cHDkAtO0xh5h+QF) zYXejssVDc2$W`hF_%Id_h#DQEUZp8j_k+;{Z=-v=o9DWLW(7!TeRc;Xz0W{Yb3lr) zo)JC?Y|eBqeqT^So5PsT?$7`Uu#wR!h&@{& z4vEr1fZSHS)toND9M5vu4b&UW!O&_+#vzFI`~FF`rYKat!=j0fczX$azam6m!9ZXd zkBKGny4E4qL#Er+I?n?>fvL;;HHqCwIG9gu@hBBlqJUb|1!EtQg-HOb_Z*V zlpr7tBhAniL~<2OPY7P^84*+m2*zxT^=6{W0L~ck0&HaNA_TF*Qq`Z|+jC{{eScqf zBsa|HZRsVp`MrKtKx#u7w}qrI@B*cAO8xTw1Q_!6ktla7h?Jq7=vjTO^&ILkTBLSZ z-MB8A>)m9h9b&#|>Tq+a5D-vZz-bR>^(3S@Lv5EQFHuRB=eoDP8E@g6h&^2;Y)p)y z^Hk7~DOGY^i#@B1p%ePf<1I0CKxcLVMlH)q1`;+t1X)FI5*6>Et!u8cx&+SeU=)^D zY!4;QU3qVy#ZU#4!$m280c2780X81#^4c6s81RO)-a>5|A(#Z1MIN0zj%CqOSoAU0 ztptRsz80c10jJUjiy0dS6bp4E>RsObBJod24rG03-H00cOGjB>O=e`88NM&~-NuL@ z9guh=J7+M@YaZPdfMn|uqu&{X#X7<~DM}8pqdgYB$>|ipVvHBGDs5xbc?r*MyCFau z*jmP*VHv1fznqRMSjtN}q?0jvpn$)P&oqhoVgp}8A`~t`gxE7Nj!}L-_-T`44j|yT zkFd>SD`%2t%aGPM3p!Bq0tV^7AXeNPL?nK7uvUCJDV5O<6a8G8XNi153vI!z0(DnZN(h9~~HHs-Ne zf^X>hEotgVnR9_8F{INnRLCL6h!hqlU+fXC%mF>BLd*rz?_ywTpg12eJMq|Ci~{8LQc*j|rH>9fSoCCJ+7 z<-v*4dT^DvKdt>KYEy^Q*Vi3rs2_nd({47p6D`L}0iH?&+q{H5qB-QCN`DMCp^sS- z>Isk=#{eDxyr0BTBY`K2gXzKFHPVFsRSV0bR|{!XbxycUuUn zOjszXbV87Qt9z{KJr42Or0y)?d8Z%@YG9dMe1ht2B5~{Dt%!q)x@8RT>46q=!(n!dA z(}^a*iDa~A0C686obc|Re=j5+a1M6Gv$&8b^zD!PSc_B40~DZF3HJcYn5O}Fv;A`Q zVvS5YS*je$(bHCACg`ogDiSId>Zub5YTCT4;y)Qj;bD-59y0I_IE7t*(&NHh$Usgj zZ;E@Jago|!!Ee1BJZafq`U$57fPcQfPf4#f7_+_&by(p`vaB+40 z&;R_-)8GBw-`$0B`ZK=n!07+nRUbTfaQ*uA>iK>%tZ%T4wcdV*j)(g+9WQTg51Uz^ zza1)#^A=Oou^!s_Wdin#ZZAT`wi6q#jf-oQ(_=SUTKN`hM4L ztA|7$D|t{UyCJ}@_1?f9I3SlSJ_#&2K(IXreo*j1?hdhVCavvqJ)_#M7VvOjTyPb$ z5;W-}c7RmB)R`zAGcy4xK-->H}Uwj z$PlYpDX^Y!wST+XUcT7w9(;Lm_2AR}{{E*I`+J|m?eKDb>~;pC6Wm>Y*4G^v{l9sc zbo7Tm{NdpTKls5bczZo=c31N;uKsG)Y2JTZVTZSMSEuXUthU%TXXmB?v9K2knM4x9 zOfH9cX_q>=2xWqfi#strC*?5?5!~ynB-BsZ&Y|Fh3fXBoN@k-Rto7W0z`KB`Ka2(> zDc|64YuAek5{w{mVFP*^;M^q%W`9Hq908r+@$Zw`;G#!1JPSg*@zJ(rry`aNNxB*? zgTok2;nj=9q+-IO&mYDmlbz4wzOsfiG zDcjhal!$+(cY{%q70!PGHcJQK_#K(KfX%V3HdG)`!D7L-a8oTRfR&CVsq1Z@YSRb| zpr*cS-8}LM=nQZm^20!`Ag73xI;!?b z4n{5df#5bBm&w*w=`%0Ypm|jfAqM=dY?B)LfuNX!o9%h^FKCe=D6|dYAY^+a)_40G zN{(y*EHQ83jt0qO6zf>sXdB=FJ9+_cux{6n|7E5Yw@`HavvNcA}H>#13dddxp0%Yc&hl1bbsk;{w&j1ZrZI2x#p=agw0c(IHn?XP6@D0pm0 z&ojL&om^&=&`z&P%NM=_q`vD4hHDbXgsu=AfVNAB9jKS4g30!$;h5Uf({v0qK1(>4 zpw2);^ksp_!D1#lLr;twHOx%q@IB}tA%4%JhzXF(T(Es(4JV=wz*^mU6|KLR;|K+C z=4XvbA{QXGg{ty%u+#xTZxYzxn$)FpXc3g;(mUn$UWgrP4Ae+SDo|&a8i2HF|Ckq* zZoXYj|6A6|(x%YuN6|44bpPr<@gCj*a1fw7@QA8eB#5!`PVG>o@5M6Ms8>7r%1xft zVB?4mL=8|HptFoTaj7E=0GO24Y_(kyrFrbR2sRJIWP6tml-33YoDhdBh*jT#VYHaC z0KLgVaXQdBA=QpVIhboUr)7}PTLHvzF^1sdZsr@9_RG?2MDi`0wEfI}Ge@hMi6(?N zR~JinP^WYxG0>-V4loY_N;}i`Y;l^!W#OtddIr!#J=X1U7%yM1R+lgD-~a0$U0y!^KX>~_ zKi+QM|5w1{r|=fOf-T1s{oNVN-SsDX-GR~niA$xU?d`mi-#fs?yggoj_F^m-PmaUk z-fDgE#k|>G%nW7*q}U{+rG*%ti8O}V(o*ET%l0~uL#UVRProzbLH2}O7xh3^9_U|9 zg@xc@W~>w;dZm9JqjWGJ0q<^kdhGYQg0KcdKm|q8e9|Uln})<#iQI`s02Z*VADjTq zWoyw}knK0^`v~!4V~>iHGXPTcnvYSgrMJ^ueuiZe^Jiy3>OqZ|(tifzW!0uF2DP0u z2HZEA2`>aXUUYx?F89>{7W#TUEn_*n z=i4g-?Ng2dwCs>V7E=)^Eqw|=m)6R;gJQH5A=_C?{9joC1!6Aa5%e*S%vwrSUvy7lun`&m8uyxJ$)vT6n=$c;4ED9-7RfdW+Q6gzy5T+-hFpE&^W8M zFOT)GnvdK}!e;3P8Y9c+S}m3T6*6X2L*eBa;;g!-QyQz%3j@BC2r4YzQ34`JAvK6R z!s29sh&-4GxImvcZ}xmtwZ+et># z7)Kd&($ACjdUt^%SMPjp(*zE8P}d?J?A#Xp;bQBioNBejN8 zT>~ks4xSh0fRg;feseXn4sAFP>i7ZpfkSVJWe7caX+0lj6;!SLq0uDR?r=z1daXM} zV^Z1rJi+PO5Ft02mST*fH#UJ+v+o!N4?-YP#R6szAXu|3UsL!>l7x+fJD2LC82l% zThFQD1NQiUSjk?81FY_(y&On;s%Utg;0B#dCqMdGIUTx?il$T2(m3f-|AIAYSFsfcURSzVK ztcZ|p0kh4ZR9!ouX77t}krd|3ZZeYxJX=Q|i6k9S^|jfmF}qAsm?&cjMk%E@l*LhU zDnwX}xUcsNv=h+x!Az}mRMP{lyhI)3qNumo1;f?`qJ!C}56-OJDBl9PhXrj9tlP*8 zMP9QLk^$K^_l-oDt#M)dIt3Q$=m)yZP}|ci{3JS**bj<5=LjxW?hrh5>$avelc*uT zTFa^(Abf1%P|$vvrlP84@NiK)jTGu%+pmym6ZK$TR$>74u;~V$PEWDR+dI6>B^GL| zgV@{Tbi($fOrwlQ^KLK6A<=rpZ7Gsb$>yaG@%`uN~SA8SLHB0sU%c0ZcXawrJ&SyhTPeFdCL*T%U2ioKKS(N{s%vL@bJ4o zzyJ8J|7pFt{3*c2r|=41!UsFfKYs^A|8lN7F#2zFC6)brTHC)}k1t*vp*$H^nPIlgHu22WyHod_Z>yawOI~V7Ij#NZ z(lC>f%kwpP<(fnsAf%Tz-#(@}hqj-Xd;)DCl%bj0x$+wB+Fi3Vj~#jtqDTs?LDU02 zUwbHdwLt)k&yX_xBolRTwU|8_YmWu1&J}(z?DZAyZ=8a~8-Rgs3)}uks&FEAR?JWu z%PD9Dw8R+cH^@Lt$Bm@!aTvL7K7diR?t|*7ttthT=19|0$TAv8TQLr4-AG}2b7mXZ zTuGz}J@laf*Qq%VqGj5Vaj>+oaj1xS1x#igylD)$qsRL#dRTXay+laA7*m(|o9oX7pfSN+`W+3Q*u(+$NLVOcRIf_e* z$@UcFIH*T3`_oEC`Hr8JgBbatx`Eb zCGc*~ASWbB{4*w?13}9BQ@p)f*d&7E4Q6ma{g<>TW68izB#6*o@y+rVkpkqto`ZMX zH)pi@m*m*NWn?=oDO$ev8<)B`|BAm<$o@jJ_D8{xNK{n+Q3>IVSRJUDx{ zN-{>RAtCXH73GSoTNqX~Pmz0b?#F)42E1}@D=Ak)2i_4z=DQX~Rc8p<@PS`s<{ zXQs<4ViG2FX3X7jOJ~Sb#axCo7F>#FZEcr2?|?Knx(j*e5L~yI4^PTKPfUpcA-srr8CxO)@^J#6HycwsP~~}!a}u5qKt`L%l&Aw!$Nei@tW{8Tx`9S{pla+* zLV{#u5QU+DpqibQWTdQ9-hQteeG>-AO8e7$jf)Pb=Ee?@OU;v2R2THJMfND7r&s4V ziN;}`{5*Hl)X{9reIe**bl)~@9ovcPI>EZ2W$7@R#{m=+Yu3QCH)$D0LwsgBa@MbZ zrol}zs^GXeN|8liz>*FVY%@K-j5Ekw9cMs#v)=7r4KpC!?Ju4Yu3o&UZ{A)!xL}DW z{B9)p?)o#j?!f53;g!_&^JcldSq=Law0iq&S|6THaD2MnT)d`Z-Ob{Hb)9GhAb_+U zCy!qzfXRa3lQ;rQRUKyvtB)o>VQc6a5PDNx5(b>>ep1GZ3-ly;%u&Nck`t>8a!*x{ zLD&u4#R=P3LL!(}mlmejMwp}mCku(wL0Xg2p7AQR@{Ut=>553Qge=N`6MLMt%rT9q zkE@aI;WVBJ;C1q;1!uL?oWdNS&jEfq=RM=bXzMZ{J|-}D&IG~6F2*pJP`iCj~!Wp20z^Xz}K*YZv!BYpKhU+p(Dryvpnw-;2=?!4xyc}cc4e5As9aRCCri>LS zC3WrVF=}GMNd3O*PysETCWzRM=zEsI7OQmi4hKeaUykVaHi_3bqN0olln>_cgoBRZ zDE5Yp{BVx+_EXqNyNw_b?~xYtgEaRnBOP z@o8udCWMnPXpqhAzU|bX$f+nmP*2)?RiXqK33?kmi~Xkn7s!v>*~ZaSYNF$`(|0F# zgv_i$;wQPHlj~<(r&uo!>&a~S z8NXBCM+&dy9!M8h67{d`X(vtbe|lB9ax4J=>E7Dn5>5^PN>(W&c731>l%=zf!C0q6 z<*-5#%LLU&OoI7)<6#Dum5KpZ3t2X|(Fz5=H~GK3YV>ENL7!@x}L)jUUsY2uM=yMH{{#R2kdtWe9d^+`J4kfd;I zcQ~}?Mz0T*o;15br$7sG;UKZSCvp#MPyhr$hP+Kx4N@btmNz4sr2BysylRnP2eIPY zytwm~by+O~c;qFDQ2?(#ZmrT>4Dbs|UkxZSXs+hOCauMBP|5!MNz;UakFl99PzQPq zR7>9!Tvl}Y+(4k4CjoSH-gY+k8_@>}r))Lc#~5_=bf_DJSo8#u(+RpKb`P2$-B10O%i9bdOPzSiq(YsU9(c#aMAxXf zf$PORCh#~dC&HfCEv~NBd+V|G*;>p=AeGSAo@o;;TCD(|VDTIRW(jpF ze+gukqhWS%(ZS@Q%=J_`Bmnq48|W*HUO<+XcGVoeV(w#1nL*bSoF_AU9qE=YPnT^(?f|TaY*&xqTL-t$p${_d~#6nhUv<*M*%&= z5@7!Dv4vhXAU*^d4z3+XmMKOMJe0%(I7>F*$4czQs{XcKszP*}vB z)9@R6_%^lS(4nr*-qhwsaCk_n$Qkmfx1LHnE}qZyC_Pwu~*y>NT>ig{K(uY9MnMc=D6f0 zFJQ+~QAxA;h0-tUTbhwra~L#7q?jrE7{84m^+p?!vr~bXkYMc5vk1v)SUU9a8rFG9 zdEPVaHi@@`U6fd!rkVErqfEjj-5PeR>N=|$S)r9@CM`1VlMjXS4GlS!mizgueQyEo zb@Ymll$Z<*>X=395LsDOZ$mOLKWq8sn|VoP$>=b*XsqM7yIF5q%Fl;S@85s#(~FDU z$D48Y8LYQY=SLeDz00)p7ku4;(LcbIY)22**Z6X?+1B-lhs&$SKbpTUw{O0>dHv$) z#qs9leAi*WZkF3KC&;|np*c0l*%WYAwtiZ<>PN@a2)WW4>u;Tn#Uv`2y*`on7BP=6=pnX_MHHX1lb-B z66j%jLW3>;UC+AoIfWT5X@3&8W>GsFXI3K^j(D zZwQ*%taz9q+f#KS-{3ok|GS~9#R)@qYn=3(8!HLe3eK$%$4;wN$g@d ze5DkiM#m`n$T2k$yU<3_wj@3-GY!6qb<6&2?(qWSRHm4zv z2~8o175hN z!3IF7NkuQ_rL;O=*}Pd_zW3zf{)a!??jQd8V)y8$Wp(-Mx5v$wJJ`K~J0SWOf8Bx6 zKkP-XU%$RZyu^!(Bh};j*W-G>ZAPLuo14En-o9M}PP25B)+0@YI-R9D_eA^*J^5p( zT-2jga+#=}fKvr2v;elbNV7$FnTLXN`sS7}gEgEZ392G^Wlu*Vn_f_ZDT4;w8 zezY>+n&#K3IV}0SRRs)TPbhYlq~&Eh2i-d;2Pa;CR9pfp02tiy$<}d}&?j;QS?Wp- z3~e04_Sz1gBC(v?+nmsf0CEPgh1>zo)YM|zOfFGu4xWP!q}Vjtuu&Q_ate(Ff zR~Ij~vub{K@!*%+i-*5jjr(6uui^PE-oDxGcDMf<{BQJM;J>_!P~KgC0oNTE{R3U5 zuK(zxj}8DopEuF|Sm^3ESZ>zq9o5zKo4>gpUR_e1w(}OfmP2M;H3KGjva0IJrMoE}r9+h}PEclz>r$NDa^_}cT%~h^(Sy_(FE>j@sp|`L(v)t@ z5c}^b_20?+*H5QO9GNXw0gdfH*60@ln&1%}q&{J==J19YG&-X~XLbRxi6u~+U1uOy z;fqQz01L5K^_XIr_7`bdOR#y@`I4%|X$n>B=P_4{F-esiaby5f-zu0;DO^c2Q%t(6 zb4@vUfdV35FA}(Q{=X!3GRDAQ08g`#Yqq>PR2}%>h>-kf957{1t6H<&Xu;tL6F}(! zDWtU`<{=P!mkc_{YnGh(Xcaq53@lCNMN-8CsNFxQ^sNcat4Z=o^xK6~ges&qshf^* zl@XU%n&HiEGhk|N%A;xPWI;qSP_^;2;buU~fK(D+nA)CG{-{$|NVdTW@WV4t*I=!Z zuu;*5zI_6=2}0FvG>9xxpRBh0Q`n3-eqpg;Zt z`~&?1{=+H3yu1Elt~)UL2fP%J&LV=pWtIH_zxaH+yD0TI+}yigzk4{oUEjW$%5-zs z3|KGQL7nrVk;YxZ#fcOpGs|RIa26mj3s&>x;O_UlB#3elom23XmpWbU$1D0l|&JF zK(6Y0+okh0?)ANp%0i<{a>nqv7yIp=J`_ApFJ!I>h9P>chS<}s z(gtR+#N79wUiXoHPc2~pA3lmk2|!=wJeSf0>6@VAn0L~BtZA4vzya?`rr0DPm1tE7 z*V8aw+^#PkzTE8Yf40B>{x2WC|Iv^3SC4@r$0Ivv(vhLX92K{S(+4BNo5bP6nXFv z7{DX5Q-n@E*4u4iV*U~8MHqH*=Z@Sl_w?+>!g^rM36PUIyBHI2re$Gz9MFK73@rW8 z&s>!H1#$SW$Vw4g5L4ZlK#28E%TP6)3O-zNR@EjIQ5+BWkqWSs+-6B4-;&zK&vPiD z`Qp6blS-+3)ubFm6sqH5R7=chWm`LtHCW056vVRkHrhH-)NRfb*1lT%jgVE{=a#Rg zWD*A~XX0U}=@r8Hbs%$0x;@B4_SpR$Ktgn2V$w_gSEardgWOWTdJ0%bDq}64M^b2d@p;%0w8-Il8{cxLR>kGx67x32C=ZFU^8&w{* z0Hc8K*oV4qi^f~#B8J!- z#NiH*(t#d?rm#C!hEPW0Px-GR|>;7Wk>upKX7!)n4c;AgAN<>&SI_Awl9o#-5Kqm7-r+?%`(A7?W@Y|)LnJdHzS{e_X#Gro$&NFla z%8DB8G`%b$J8uNfbc?4&_Yz=Dzq%czp1i%UE_q62Pc+wkf>5Ls#2W|MkEA*TaAMPygx7M;~3zh;sYM=HmUw2GGTKZ^$jF(IN;mjWIa+WMv;0Zd83buk z12hBqEDeHq?|>kfa!C?Mc^DEe38q2|FlG`gp_k;qr!HDrmHAc!17KEN?6a*BVauH? z2LCvuc9^6Js{*4WSW8XW{C+NaP ziAJJon+*-usOw~Zkso)`p!oR8F{n7El}hsD4TXS78M|K_O}dJ(gjoy3toTBa5UK zph8J^*(LRbv?9m*GYLykr5|4z%t;qS5}=Heg^{oxp7ztlIRWy_ z1fa9&>#Ohj;n*BB__nG@5im(0+hyOCI22HL(%T5t&Wk#=3xf%O&W#DPGQ48r|A`!^ zScau#J=X5bjDz=*$6RG7&oOHiz*_z7ubT5wKR2`(FvM6pCAWq1rAt^SUrz`r|8~`| zLFncNCUlhXR!I)?O#+K%#&a;Q?O_z#Y1so+)re~A2AI;hLN~Vpm=Usxi2z_Z6cwFc zpxPZ8BqgWLF~)qB(tCIJX(%DBvru;rC1R(E>Jxo1n~ip43@gy7w<$@7wOxGgFm!u% z;1rRAv>DtNoyU~R#}s>4=RM4}l?Dv@d?}s=Gn?*sx>-aBJL&55#rCGr2?LNwHbyla zR3RjW4wkARpa4Sv-M)pi)>vh)mAC}2V7I@(C8wn01-ci69!RkE1hhzKg#~fvxczFj zaDtG`6hHyI&0*1f8hZm4ZHi{0ro$yI&!x2_2MpVel%A0T9(cd(z(z(JQRSEfZa-dP z3G;lgIhgSYz%VJ%irhqosvktToGO2)zaa}h8dyEf&m2Wt&no(1{$@Mhu|Lvyb-UjG z)yvBVfBmb=```V=)uWGoGQa=-UtH}!zAo!8ezSV`)!*K`clhpizgzEs=(q2>1Eb&I z_22&6e@mY>^y<}{5y#sZY!V&czWSiqiyn^DyzBQfV=O}42*Fdqpoa=^dIS+HPe7QR zpcQSBK}ltRnWOpT$8=YLFm!BNsK|E3?u+<;}C_SkG(V6bQTDEQE;`VFzoyc_!3{B zIOqU5XlzSk>|pUx>)AsE`LfHvBmrFq{?gOpqn$Sj=4-W{9LAxElC+=Z%b0J%F$q|l?X#c$0nY!3zt{Kg z9M$fT%*MbaO7DD74;9&R5fk_7!A=JI0RT>$VoXh?IN1LhjgvJaYa&Mm2!`s-G}U1O zIRMFVNypiqqg0gv!qmCNwOoM-ocLpC9M%~pE2v8bk>qU(rk)QEIwpD_;G$ki6;kvy zq}_C8E*HRt%uFG`sIl*JD+?FnksXIRqeqaiWG0Q5XF)gr@29=Ky5JLEbI}fll*ip)w_}G>;2pFX2jkaPTZSs2ayER8;1*tL2m|!8`*( zT=y3Z$aT3{K>{6~Ygzl&mnjUFJyBCRH91S1dZzb%@9ak1E-{0^a1gThaTurxV9`nW zHt6wt01^)zZU>q)-lY&^pA?bAEf~M^XLRUTRY5GPp?ZC0v*>N9V%OPzA6MtW=yL27 zF?gE?K7@(K?lkH8oBK4Vl#gf$lF?P_fJsVBqTXdQ50&r;(jjoui?m*1{NWw#E*XMTjaQw9v_?_sO8~LBZ|c+e+Wt#@bbzUCaC3tq65Td$EolIi2t;pro@{Kn ztwjO1t-~~DY;Hm_URBpxyU*;NNxk|++FUvs(_PemZ{uG|2BMhOvDU8#71=nGdjn>&1$%KbMNZ?U#>R~nxoPukN)bT|D#Do%Xa(u8ZWY@J)9> z^jm)2fzdzGrBc#)6JA}z;l;e)SD&pf?u|ICcDFY#KfAg9YF!WWF0JEsX1F8Jkrg4+ z@t8~^(NDt-F16g!?Gl<-BwP*<>4(R1^RUV1pTSXiPhcJyQXa#TBG; zdtCA30&D^F4Wl6FU}{Xeu}{G#f{U<)@_^FbuiuTn^(yrqWVH81j{#Xqn8!uNN|}`b z&`MpI%lc5C6UI&__lZi=-s?E~^Sv~qYMRijvbK9_*A9Er{wXS1v15za-WkB*N!9ta zGf%#Va$f=riRU6=Mb2<+4XkPcNur$E$ADL|X&8N}3+*Xt)e*PuBKJIHY$M5q!l zE!!PVwB0F^!g8L@OFRYqv3baV3R)Jx2J>qXHD)!B^2Pf0x@0b}+U^snot&=_D1jee z4-6KMJcecq8T(Ab9BDtQh2 z&V#refaqClM7rAH>-=?P*%UXy*;dFMll`fW;5S%F>n6WEGgw6aN|Jg zC#z)N%t|e^2bEI|9Rh?OZ!iq|*6BS_U{RyQ%Yyi&czL95+87UdP1e41V8*`aszB($ ziE`#* zC_3|Oe6Mnj^t<(=Z#H#pJ_o>iP)v#@a{Y?gjEzA|n1V%`gQ2T3r{)#kf|*?=jYYt?kK zRHDr&V{6aasx^?D23zWM=SW-U0qSgBfr4`mcjQq9&}Gip?<9aQ@sGK%{gt+d(^~yK zXfmCdc*#e>i8J^ap(R=fSrx4WxP_7@L-0f*t`XD?q~fBf;sw~rn@y7QX9 zyZE{Tqkr6s_wv8~>%Z0y|KoprT4&+JFmC50TR~{gK!$tXqNyZW0qG)^j zYbp6k$=swbGfPukf}oXThF+*7ra@<6Z4cE>>$AQSEjvnQ@9j&M7xQ%!o=Y;enjtC5 zma)g^Sk&ZpWx80jQv@lOe6TbDLhXs#Ku(3QUxbh%Be)ca(zAICEIn>Wnk2#m74nQc z)XksGbqT3v0!{%YgkdB6PG}TNwH@ae1k2G5d3?kOvGZgO=Q&DJJOE2$NtmN042wfn zWi2kHi7IH`{Xx$9&$(f z5zp2*vpip=lqCC1T|w;GUqVrCvRF?C-LsL{|wC8 z#z>c#rwlwNL3dIoCpmR%^YKvisE)|+4BDJk6vuzW#FkZK2oi5ofrQxbflH=LsbgOEJt0o0)X|fknoW=6wUXoCdXZo*2rV0?U(+z`*N(t<%8X485RzXFr zh7dzdZRwxQcZL zU|EKEb(Czsy8ztD2tVFIcMs(sZ5<`ic(ZkdI7R8$?F{RPcw8C4&9q*ws<1 zG4_~i$&OSYA2ebKsI)R?MEY8G(ziLQ(U+G=JHf-A1#29f35340gXiN2q(EEg$Qaw@jMS_0$8xPIaSDALrlO_`XW-&u%BeS-arsa zC(cg~`68tRj&tQUdPHGg=}QZZUe*qxqyGbOpom`Q5dgE}t@%i+i1-xD_iLEP!|Yf= zfU(%t*3>TY-*vO<9wzW`PPL{sp)XlfdKKC*|3^M+hN&hj7~H$w+Eg9H`vHcm{6W<7 zwb_lWZ-#OAYFuADU2X4uy4_y=a(!|2%d)xrxNbJjx5wjaxLVz4rFWT??yi&T4vhW@ zT;a?lHl(oK-fpk=QyI2T_rukTH{-g#!r{eCE3T(Q-69+==co42Z1d?j2#w)H+8%a; zPuEzDWpO>OJ~S?8r)IP`h~hOKfDgcct7SJLmt<5W{()Frq61d`0t93Zm>8gQfW?&! z{z(}xc*ZHIN2Dw2v}96BvWzAfL;@ra5C}9C4eF$gT4&Gv$U$TVR3iDMXrmS_l00o` zmJmV+mQGsn4j{T@!da^1fYjatL6(l%eSm#GxQD2w8O-n-S1!iNWKOHT4h2lLOvapI z>U$}zO5V=3`CM#QD@3@I*r#bTm%|VMfplG~)HDxhNZ`VIza|fJht?!}!pu*6OeyLE z$YX4O?S|}i9OD2$3m_`vV8EXx&)JxeD-{4%YQPm1{2}&IZv_^1i|uXCe%7Q`ErV6F z<#b770A%-?<~3P7%aWNJn5vp#Y%|wLNeXOSxi0n0Hh|`lFZ%7RdooNR><0tPMqg|g z-EoS+SP`c|63W9vqtPk^C!>!qOJ6&HR~7z=5EsUR)(%O$^4_#BTg{soyTxydMYf=u~>*!Gl z0f0yF(?t15S2S)!yF5RG<#-ah!?Sl_L1$gr1t5>T}A3pq>&o1_t zAKl!%`kS|Jo__xJ&GUaZ9bSKzj@KX7>Fp)XN7I>_%(PtgITMbdx`#U~az=BA7k80m z3r#RJeMtOF+LEQJn0YxfwI$<~Hvm~Ofr-a@4Adn-4tkv~N^~0+U;q@HgfvW8bCkQ3 zU}f--RjKhCb;SH#@malkj7BprR#lq>Gp7aU?dO0NjM&>sy~M^|g^}oub}yQASlY@A zx{5uW<;&7qz?@Mm3W9(L@K}Ln=Q)`3M_W=A0@QXA*K7|ATAr>Wb?X4lR#UsNtKJuI z+e+zV)%Vzy7vM7fKmm?M32<{0>Ug|`{;~O}M@nnyLc?3t+#|f^?)!~2Bjv292RKKW-o0ZG$3w^9wpI(t!D;d);vGc{Q^D&dw#XD0PjJ zqW5^5AX2T$nrC3yNZqVv2}B}^>SOyZH=_>V4MZ8SeB@9{&|KDdW_G^;Spn4v5}e@4W87=%3&flG69<<>hAtZ}78Yv+$?& zakaVJ9B&U(p&9yMxj52s!?zOebEIm_c9M)LVC*LV4@)LmJte$}T`B+}0wM*cLR5=! zRdp;N373#EJ?2Oz~dg<-7>SX7IZh*Bq12a zD5H(p*qG)4@DkALPci+mpM0mI#_Xz*|J6i#2Wg!V-=Yi3n+0g?&7%V95l6C;X(Hiw&QGnTuc1rlKl46-4!M2-PGK|rUAp*IU&9t&*?|7K#9svJ3n zYymPwW}aEZ9A1Y(qu7y=gB(Xou+$JUE7aeR9h0)Ti1!LmYA9nMOeFQ$q^r!;Gptc@ zF*rQ}V&r@@frK&&6FGNK*d%U`$#{c2@dY5{r9W_ckH#?-k2*t0rUFv)j|7gqE5YkQ z#HawLI9D0?3lfnawKIj&(Kbp24sxnc=`Y0umGP;lE($elV(>b?tpwOm6Kw2QWhL`* zqN?>d+)?Gr{p-L?AQ@T#w?;lVNxVt|QfSW8bhSFSicHj=7fLXEoqqztQhkmB(d+X- z?+r@FIR*0!a;Tfr+)fS!Y)3RWr<;VlIm!(+8&RasT4(yp@mTZo5jcjc#K=W6C(LG4 zo^SIFDs9em8s)w_{>^MU)24*OPtj(A!)odC!)ZTf0|a(#9B+#Dg;q>VP*U6pteC4w4amgukOjjn2)j^@{~bk8$-QGmW)^4y$r3G~y8rB*F<1uI z37`T6vNSg3cbv7|KqS*x=0FqE<;t)5vjxUz!#9IFX@j=vWkp_rz4jO|HP-*(3@1*6>^j zxY@Xr``#(QbS!6)p)!J@03vZ%(pnH_@myzx`;+HlfZ087n?ZIARvW|PL^M8yjM9$t zVMsAbDS$uFJ*el>vw%krQ0E5AO@JsMr_^Minl?UxBgZF`2BV6%Q}KPz5q)$PoN5F? zS_GNj^ham|uu6G4H^}qMfxRDOgQMS?olPG5Kvzk6*60XD_?v^i|buFAhU{ef0_sPoGi@(FKSu<#&|@ zjDAClE2%@{&HTZBy?*)b_SF=c%~QYj&AL6@)HhevDl#Z*oDL^2*1P@T-6kHMA2)UF zoGePSMF;FU5VGg0Wf=2AE=NZ3#c6_f(5iCsvQWzIpX$~n0Oug3sMTaQ&kwqzV5kKT zlPf^}DEQK_ETt|`)fLrA-+4J(!6f&s$o7F%{XNC~uH^<4$lDB9XxKw%L7$V~DZC2F zws^Wa1KbNJ6y}HRzuf&+sG5@(Pc#{3|I2c%}ZkjZzW%0k?(b$30o=&4_sEkQfMqN8GrIjs*dhaPZt(|E&0$vfp^IUg%2TT23+1|Njuuq zg~ZIseG*DWC5a}XHlG%VW8er1UN?mj=8Fs>O$qjS2bzvFU3b#J`z*6S{i(3Z>g@vh zz-&CqgQh%h8SwHz%{Go1)J3`0q%}$-F>&}NzNBNh*88)02>r!F3TN;8Ga++A%WE=4UscbNvir* zfRkC6fwvTL89u)BL+WCN#ay@af6`#{zP@iSM-Df%fk4g>7D8Fp0SoYuNh#w^I4Gzc zD$M~8&K(VcwguK$1O|Br|)R|b0%1#=?YD!=cwCRcsNBO0g6;FenvC^;=>Yv!&6`0+0oGJ-L zn}Q`a@v%-J_Y=jAmKadaKZxz9Y6lXKb3yMj)D5wsYA9E69CED8RryD@%xnh&Ie!t# z7TU9e7n>mj)YP+bKcGGj0~FH~H{06ht5iH+(qrfhjgU}K$^0pqgixyk&9R&c zwmi#nzWHp%6B$u#BDh?QuG;Q5o2M7M(AGCixMZA9l=;WE3QqjzAclaU_6IFK@xTk{tLqfh{@(!QTY;r4<@YQL82uI$R@u{&8JbkT>oO_2mOmSq(=)m~np%mSAm zd)|UJc|g)mUo6kW2;d$|3N~yL06;JxAU#{Fd&diKqZ--9N)`zK4LNdLq^~Ln{^Py| zHyocQVV{mMOsUl@PMN(5X7MVFV(Ei@QkSqp8cbg}9Mf#CP6u-k4o8?Hd1z0QSAg^$ zq^8Hudv0F&f610q!pKl2Dmh<3ubf|;Ya}2yfxb#Tco-#9& zhgrcswavzXzrR^9Z94A13p4B>AfEaw;e-%~T|Ik}h3WAL?>%|UD87S4Nr6A95R4`c;$~JERL~TE3rLo+HSOUsZa|sAR3g4CO zBR$(07Z#fEKetla>`}#AoMEI-cw{~xvI0#Ns$0;+NP2SI@iT9IEW_!FYCmL?1y^jW zfj#s=@cBfWqQL!3<`7&}aPv*~6bQ_x>(+HcDPA)pDoF#(T^ev6m;?ak4tDeJHQEBs zFeu0Koj<2!gJ(ah#z5vLJ2iPp;R@z{(oLCTCsC3{m?*LabG0A|9%LgbW;pV|mO^EWa22Myc~osy)xPUC?(Xj9qj4C&A0PBnd=5VHFm?%; z*2EIrr_@j$lqPl`KW#M%pX0DkjHPtZ%-MQMl>`#xN$qFr2p)qtdlHlf<4le3jNRE( z>?Y@qJOY~Jp)J4^OB}%&J7nKJ%$UtfF$=igb~ghw`7N#X1l|!8tU&qNoL(qBgLwe} z=U@|o8B$twRTZyxd32n&wqu?a^}uO2<@yS&O*gzR!EZvaX*|jH7R38K0YpRv(-aW^ zp{TQ+&W{p-idZSf@&HbYNn;DTU^3*@{!-jX09S;VX~JxS>TN&7+aF-gx-&%Ku@m)k zFk{1wHgulESFE@_#k5dV@m}4UFf(di=35}pTI?qQj-BfS?B@!*R3$PG?$q1}}-XnkYy-+f|AhS>`PP6ax6Cehx$lFU#*R3kfti(;rW1i~`fD%C7l{r9j*xp~f z3E?);Jac*u8WSaCuqGf^ri6sO(q|H~nMMk|RXLTRgmZGPG)KTVU5-8cT`_ma^-I6? z6|#B2-2OF`3{=`TXXX;>^~fez#ub$Xrl<eFTK-qDNtd%ReSCMV4^Crk= zV4fV60(Nmav}04BTy!T-K0iHq_Q~T9|Lp(mPM`h%t9J9e1@{u5d-pfL{pI-cpZ|RN zxBvFv{;mh>QkHVBEMWB8S<=lu#T{rry}P|?)~i?8htJz~^{ZjLi)+sq*Od_~SDnQN zZ3~$xg$f@q@)S6rjFX!~H0uCG%Z5dk_DEMyz`ZNTdh3pUzW>ZBAPr=t0|ABBW>K#> zZ|&@FVOWmZ_zx~PKkvb6B;=3)NSFiR8FS+1ZJ(i0r^o90Gh2`ViYIN6Yw?yXi?TCl zxp?D(%C@A0<*#i!5Q-|(GF2d)H+kEO+7)KOr5H$RcOA=QUWbCS*|?$hnJz70fYq(& zi=?pBHe>8Xv?v^Z>9^Vtf@O!ap+_@Fzkc9|A`ux*YBo7A;ZgUsBI%Ea2D?dhAxA3-1FM~XZ87mv=-SbTB} zKfd*IVHv=*W>z2Y!`hW|+&>135|sgJr=M+1Fv9=H zv7{#Ft%1s*I9iDMR_ZI)E7F`{K3$O6w_ZTv%!9YcR~C8jp)B?i*j10=bCsDP)l&8?^nJ3-r@1{*YEma-Cw8^7 zkt^^R%cf)2PL9b;KZ*V5k)s@lIRVX`B%oU($jtIt2Z{mVy>(iB}nI4$KLT^2CVh5KWt?uCsFjam0 z9h8UWF?*mO6AF%Drp2QLHwJtF7`Ewt$-qbL$qW!R)qP#D43C~?>zE&`*HO^tq`k+b zu%m_LoF8HBLIW?J`8XvWsq!FRwhC^8f=6OhXo2#a=i6pv(zc0eP{5~v3x#5=f}gb? z*{dB3n*{7Mbqw_dd~*Gn!y{ChukDXQRe1^aU4fVZQjLMVubnLP42&ugxHwITeWkGX zCFZ5+BNlLw+Lii}Wt6WUK>!+i=dYb(tnTN!GEngpn{tf*1tVA9&lo>0a^Rsc^ZG;b zY^Hm}DaaPE%&t#>b{+^I*VwHo{19C)ICtNho#&L7WD3cXTANgC#ewHWR<(ntG2~SN;Vn3Y#3?pL5T-gojxHdkQMKEF*$IdTu(7JI5lA)nLBp) zf@}&PZI+=8G8T>LhDiIk>>s;VD$LHonp^gf)A>N5~ zGj`Q#+@5}LvEH7)S?`{_eEjs||Fl}2{kmy(pG2zk*M|eXzPx;Q7unDeey=C%QkL@m zvVhTVX>m3V>C>ls_~MJHud2@{x7&By^@VRv-iE{5HwUQy6bJXGW7z*FK6tkA@EzjV z(Xtk38P@#Ch5aD49-#qbHLKEl3G|@Ey?m%`XqW;A){9oc+~~333Ls*T1FpbGrcBK7 zpf-TcFjM8QISO==jRcN>vccI>3TTpbP1NNKIF28;Sb|jNV@wJdWTQhoI{x8Dc44f_ zT2B&C_QRP)TYlASMxs)*^%p=z<5%noK^QVeYRe*u0Kozha7JdOjllqqd=<9m11vI9 zR_b2=(X>w(N?!mlI?ho}AYzg*M(lXu11RW3oXaXtPfss#!m*|u5>iM2Y__W(1TgGHj32~-6I zhcZEO?}f3IF=HU=q~E;33T)e$u0Ohw8O)GVgA!N=-F)z^&e_DuTq8Myj=RV#{T;_q z?i9#zUOh3wVh&60By_Z;nK-yW3NRMZ1IKqj9C^A9q3u{rHRXa7XIRkN6-E z6{e+des1Q0Z#4$ZVESCMwhHCSx-S!)Xx zor13dvlLmHKF&_3%b7!^CW&|Nz(O5j`sBT|8RffKqSI zLaCd(Me0fhJ~#u)q*B*Vq*ne23IOeOQn7ZDMfDA!VXJulB>+!a?P7~aEMd@F1$mPg zBpAN&QkQuw=`BmDQl78OVmh%q0Cp^MvM0dIiphpa0I2D4J(agtO93aWl zonnv@@Yc;z8FiJ1jFb3CIx%k$M>jh^S$m@@WqMP@+8FPF)>;sUvA!1?Rg%Q?GC8cKdF!6D=%3?U(Y0DGM0=mKXCNh#D=t+wFD(>~^=YTsJ+w ztsk#mj5qII;niz@xV!o|^f!?a8LFtOPm0wVX{B~#Zbo2~*n#9I;n{|emAsA~t7>Ov z!amJ#N^|M{&~%3?Fw*|a5tjzM_EZh7V1(zsRiXcrwoo| zRg3Lb39sZquIFZ8&>hQOyGp;5-~x*Nq=V-Bd?bkHYl+85*9!&@rMA^|4bvF1J)Xq% zbbR3;G*tosRZ-C);xU$_-!j%IpuowG?pP&V>d7ouJg2Uz88D!6r-j=az%FK@nJui? zM_uLtpBi+bmZ~PO%wvJX#>SM}BrIA68PllQmGTfJkMLA?C4DH1wSWOq`HK6s#5c9$ zIWa&11{AK$?;!Yw=dyTuyE3;O&mBrDN)aa}9I1Y(CSD^Edoac$`~+1TV_#SCVO(VZ zM-~W<8O9+4$`sluv6M;8J!N&iVf+aN(ml!ZDzjl37*}N?7=W3Bos0K>>{Rk%m%4I) z1A#(SkIUFFL#J#hmd#!Ao=>*S`ElY37?lk!MGsy$SKKC!JStR}KNa@}dDCXgh^*0G3UpaR8# z&GKgTy2@6Z8s$4~hYK8y!7~76kM>-tL^QG6FWGyAY)X<3O9_^E+yIITp*(uTQ=T?* zSmt2m#U2(@B>|g=#hcOl6uN2mX0?6%VzWK{e6xG}n{Ipl^Qv0?wrWqFN7VW95EqtD zKkfEE`VkDyxy4y&DSxoCfYCpWVt1x#<(po-criYDU=sj}t(XX$fFA)pQVC`oPjJeJY1kjWhIm)crD%^UjEk^6 zxn3`x%+mW%>X(fHI0YR9hCPRQ!s0y)2uDLu%nA5=&zqyXeaa~s8L0XKJVeN3yGlhI zrc|zyhg>#La16rXsIO(tIKwX~lSn+0llsPUcV<&B6+eBwP-cg(y2W6b2pc;abMG~)lxOuKF^<913MCva19qF6 z9nJ8)ub|YXV~@oNNP#)b9LKlXQWdnFH0SAh0RcP)P-@4@aXzzb8GbrH2kuC!UCi-h=V7}n(39WFW)XRwI|c1!vt;Ct z508XDp5$oEA@n*>Y|jx4*yQVadkJ&HnmGk#GfnR(wrF+|a$Z?)bW-=c$q#La?K4H@ zpfxp-2J2=IsQw_&2{z>joEn~(U@+&(a}jjDBzUVEj-xT;E7NButZf3Xb({!Q#GzFm zmxO)SoxE~&_p)u)uQn%-|F&(nzo@s{&uZU%*=#mn9u9|_^YceZEkEU|7DjX_{{&?L zqkp93$3OmYesG+ez#eX2U9}Cq4Bo9B)F)$qcorAg6M(yvHnhQEtR}KSFH2m00tS89 z=Uh$_GRUDWcyI(i=g)nFLNvVx2ABZX%4j$O8*prj|)e0)~;4_u4XDd~EXs zVuo2S1gtnxgF3dAGrxhpoUcYzOvVSxMpR9XUC;B1y!e8yG2ld&i9Q0xfWPB zl;i}2n)Q61*WBIsmjcKO0M&%!N5St48)@zZ5E%w@9DOTJUqxo+cfFs?xOsCAy004r zH`h9FKFZ_aEr%;Wljjv=^MK++$C5if-JKO+I=OvdsT7*N%axJDS-_pqt+6 zJT2lWZD%j0e2>cflZRwz0++ht6pZk{Vi&biHXsT)xgtybu)Q8M^d-Y3_W=%={RTDQ(4NN&`fSaO1 zY^({4ZC?jHZ=rds{Vx6K#zcK1owb*})fBNO_YA*Y{)#an(U|MX=6 zqkqK3X-@l}jhoH?dIi_xaG2V@t|L#n-tOb_@gjoHeZZlQi^kJw^ygs+oA{)QC?e`{ zNO9!o5y^`JGCa`Tx;wsR0f#`x7O#9a!%78S&cBhbb>T#dEsuBSjzPlw`T`tmvFiAT zHu>Em#&3WF*7#DlD``0PVT>i{zT5?{p3$yu)pwO9jPWn5&pZ7xmdY%g$d>lP(4zlfK z_A;4t=v?{dK09@<15W><#)70{okp1`GRYqJ*>I6rLskuoW1Xt5fx$=!rM?Vo==T)M zk~Vb=uu&Yw9Jvm<0+KuwhHJiYfSm4A29BKm#MK3|QvnIN z?&OOIMn7Avx1Y4_?!RE=Kd+nZ>tr9=bx&^rP9hNfKVzf*4|HEkXD?+bf0(j>(LeH% z?0b+_qdV9^-@W-&51S|Pd3U?7>)Y3^@qL*3(0hM7_0ad&KaB*++F{?~I5ps9)iFSl zv!obb3A&a!hSq&o-h&|p1Y^y>0fRJCA6mq6uN~!rI8*zj{dldS6z|G4gqH=QC=99XknIQ|ddC9)l9F!)X{R zGw@hiyn*7_oEcnuUtoz;&!A>D-WZN;@?t=DbxP| zLJg+O*c4|6RaAmq9A^NDkDUcmXJh-ESDV?2f&kC}AT%qIEo2W>t~duEyb3dRd>=%_ zBN@H#7%ZlH?!ha;KZZ7V2nX5U3i(A>2u2lKUIM+|$5;x0gooQOYXkxq)n*AlRY1pa zeZ+v5g&1dTM`Gn%X`eGFM!lLDphy@mG^nubeL^-IAz63|XTu9}22PxWA%O(}M9vi_ zAT;fJu`j5?Li^ z&B24a7{w|C&=rW!r zuDQheq!v-;qjL8IW*fvfLAvZ&;j@-I;qF#267P6IO~qI3@w0_wUR{N?UET*fu<*HAToHw@u_9}hQwHVoGv zhkf-?n8sZMpf!e}iQppV1@WqG$}wW->8VVbE1*q?Fzb6iLP zXKHYON=Rw{mEk^$q~OdO$>BY-yJc{bSi;O|F%>Dcp`KOr((JTA=WPnhPJo4~P_f9x zX@1qC7RmV9F=UXF)vRdP=7RI69TR8par13b5H>JiP?R9*-uycq7;EB@>gaXKO8v~CQ_sy4iX6J3T7YESnJ%DIU##JtIkCRzOD09O@ zX^-PE(~W`v-V$DkcMp75(+l|_Qa~ZaF{R4~(`I6D^&T);Ad)O6iB`a4HFw-9acXlQ z5qZy>Gu@6Uz&7`_0sB&~CC|&LS_|2KI~(qbUbU-qjF_v=eaznW9379QdNCWw-AJY$ zd3;?4|1Jy2VO2F#)tuh7?aAA=J-ytVod0dxb-!ra&99-^{bGXQ)BW4&?e4=5lb8IR z2z>#fOZk^73mE-w7FzAn)9&OXs%3`PtIaNWKlazn<|IyvK0XEq9OA|r@19{8*YWcv zE;Nlxo*Ry>v+~1n$|@!SGLm{y9_U3&To!23)Z%=>hdBpQzO#_i@q^mEr&9%_{m+*I z`T*tAdw{4p)P5FR<>B{hlk`xkP^QOJY*ppRXw-4u_Iu4@K*H-PeO4Sr{8BNQ%S$E5 zS|p~Do&g%VFzWthis6bnc$4cDQ0s zTAnXDb458&>f|PiDn93#7XUsNnQ4Y&Ir07MN;oHPHXkZM6^j5}oXK4>XJr;!oRsnj zl;{E^Y*Xq}RZY&2-TqzMHlNgO`)RYPzlfjT!s+e?mMlt3 z`G%AQjD818acs(u#mJH#F50QRo!p0ScPDKa4{u-Be)aY)G}B@KF6u}RXOSsO3b(k{ z$0uM?btUa+dN2om0DHS~_yVF(RO-xZ055dLCQ;ci(pNz-&NH@H_u#4nt1i_;%$Wd3 z(NB*-<3qBMh2(()-PfP^K$)Yjue-E%ffqA0c41(Co8tlorVf>VssS(%}E41=9L#>>QxblR_(rB?cTNB*{AFE`6s*G)6crq`u}nD`io}Wz64lZ z0I{J{hhn|>VKR1o9|D< z%?|)?e;C4H8>W6e4EwIFyZ`_fw=hM`IP zTZwuP@d#A#BF!b)e1$NXK<0D>XUP~Wc4$^@sqapl(s$TZ47KaAYKarg{o_JQ<%{1YrPFlxZPT5Eyc7W?1$w|YDDwM&c^QGAsW@=n- z)SxN{1;czbK99oc&^S?=R{~M#5DHo!)Z1K408;u!$qS#-kk)ygRm_H&uulS@gsswa zsXQ;Liqy0zl`7mX7DyB_ih$WHjHrV8B7@?6Za-5+DSa!N^8}~`o&#C^?!3y})?YJ2 z8XN&$0^Ud_0KCb|wy};Gzbwm&fnv7K1kiio=oLl`%ZN z2Msq?yzS|}CzAxSJ0;;w3T(yPMCQjd6>s{~l{62N94c;gZts*->P41fZ|T{2sBWtK zeF&!SEW4DwLrgZRoQF2(`Ps>css1XfxG6#aNSaZE*}ZOyMk27`o4}e&m}B&wIEs8h zzs5FBIxjRsRbWT1fdYzBqygHH=XqHB+;-+=vp@qmC&lJB@pBsiXgk&QYV`H?5P|5+ zu3LS%**^MYw|(}X>U#5O)9${iz5jbS^mnjcB@?X_H*{e`m-3A&3m9EWDzX*Flar5b z;pz*(?QRIc4Vy6fgLkh&TfI3P;v;r+PvW!kNqiPQ8eymt;ovwRA^}DU<>Xvp)+E#o z8mMWX{a7doC@Nh8289(-00IhIojYdd43h)qB2t`F&*x$)0QcG_6pt({%2>*gGf+6c z4wf$gz`X|u6|k;-Q?LqpJtyCb$%D3$hRi!;vIdVp@k3X&*9WyjL$)gv-x+5cBh7OJ z^75605-pdT7q*A<0t|VZkwL8twRgOcA>f@h3E4|J1MEowP1%6RLT|@a+ET_q=8no= z-rti4^MW!rvt4HKD!28?=VNn=68qH|ux3WVnU<#h3eY00p$KRMOyb+|c-S9Y-O7>TYoL zYG2js+jf2SvT3?c>$>}Gv)=u(TDAYJ#`TLx6uhfzca0x$Q3wBaY{B;TZDP9I%bYucBJ8aY@l5YA?sRK#%~E z*9EySpjr?O4l@f_R!P*Y~1MMhArg%5QdoTYTf2m*D)I!4GwKzHN?KjdG6u%@IK%w;kDE1~{-8{;nLuXq0?iGC zp64T?&U(6~IB@`}C^G0SrUGjFL?h?CJ~tv5#q@H%jS{IMPTeFRdQ~@@x83UGd9&L5 zx@}g!=~kz|*sQjnLc4n#PfX#O7AK{pe51<(Mwg<6A5s&0+xM`ByYs2*_uJQ>pY)G@ zdwq9tc{sfL^Zo7R4-U6){&g5`o<)`YSzOF^@oCvQ;rmjMx{#coFh5Qw!`S4ai&Y7< zUKU+mU;}90Y%Pi=A8I?*GGkxyfn(6LL)I+^M=VYO0tIXs^!Cv8&HLSta zwj1Ols!*69ZKtq;cFn_kaNYnq1F#T|AY5UO@_Lul!$AN`vGXHFl5KmPz}CV}=8!Z; zNK+Xx0Xb*@lhYR3rQYlTj(UT%Fw<&Jp5l^)=D6hXL6KVlgtNNr-?_v=jQ z6DSgZ1Y^sQOs9#NIby7H1|`SYzE~rWO&n}z0o5UkEJ*0usl8dHj0WsuxnE=xCEJS$ zC3yXmRqSBoPgzXaTp<*Ok_cKeeikdbvN;HBRzl_k71VXjHntTxSRRdmm7g^ma(Mq( z>QN|W7f08YO#t66lpsOI(FJ{`I04seUJ<5|?s+eOl*}J!`1g>dnyKV7T3FPF;N1UDST{V%4oK_IH;*82ZEareSz`INUvoOhS`DY2*AVD&Okl z?Uc>3aLQp4DLj)bP*~UxWuj;q2nNV;dkSj+a8HE>rAFgeav!*g?PICk-3LTP2H<9F zmH~7RoPri?bKU&Ld{+*3N5?4h>E@6{uWgu_qn4Vwj{7U^W_IRYUvc(FWnA3hnaPq% z6>!QQLFlD9YlSLViS=2SD^SpBZ4p)88SpZTC7ERMNr3^XS2gn-zUg$DeMdm4sN%Je zjAW6+5NWDLlY&uXqIC*;Z9K$N@eJUsJV@>#+e%VcEOKlD17t;;pd+K|U5Owtnc(i8 zgQdG{&+9a{CSOwW)f-hXRVgZKB*qa~jh*Z>$0^@ygJf*NIs&&8N~-3082EfLP!JXs z(4?b;ibG2=I0j)eITVs?JFzgKjz8y&O>9OWtrn)cn0j!)dRMj#PNK%ohnZy|AXHv; z1j)7hIE!s6!1+Co0Jf>Nmnh~K0ZYiN%8|T8l`oruJTBsxl#aAf7GQpF1>1>aE`m|6 z&_rT2wf?!&1c zo=tH5y~uKG;{tOUPk!Xxw28}I0;d(iSjE~Lg~kaCRLItB4k(;iW3k#gzr?0T2rAeYM=L zGy??V`vc}`g;h5FaQCV>I_s!4PHY`ZW6_HL*d0IMQEX9WJ!#Oj~^#v%V62cCaY7-Ep?N7e&~!w@|Ns6Jm+MN($tkmTz*s64$mixkg6WQRFA zkDRgWrcgGh_I{Cq#!SLWSoR<~8f+$!YL;OBqG>5=5-4+DwG)_aC&)%NZ^^K#>d9B@ zYvILB$)L~yza*t_i3lvkV4iF)3%KI?&{(-aA?kM}gL0!Wb=7iE|3flUEj z?}sklGGJB)0#wq14XB_3X7*wh?8p@@AVWBIj_?ey@3qJPZ;R%{-c*6$*8$*rRiaWr zS~%H3$4^HpREj;DXiFBkjxkuVlh~C26|+v} zEl=`zXf99?d2W-~e;}C=%r_M%uotZJpE#Wfiz-uGw+*Z+&Q3DfP#ZNom6$>}({BmP zk7(>!6{HD>qrZX2KHs~cu&Fugnzq@@H1}FoO%dF?|Y!y|zc>L$A zNmYL2P{h@MhHVBD`9n58)=qbR-C?szkzY&CE)f(bQC7{w_@1)?btfUv{) znrw|hrlc-Zaf{%wOJ4GC>w5LB>2|N$)yc2dyYnyG)%s%9ZC(SmpH2=h5W6?)_3AZn z+)!9DDJ|t&Rvav4DZgi72dDJJPP9Y~S6^(P?$!q%)}g<7G9LEN`orN*`oqm%9QHT= zY8v;?#-TqS``fc|Jap68w}5@?aPlt1mrKvf$!Rzk&JIM+`AHz82C1gS#@qJfzoPyX zhEjp4u2Zt)g$G&DR4R9$8+!PQS?IZKhV__(QK$VR&tF#U9)-@4Pzvp)WwDx3O{ zCrYx@W2dCUFn|Cf0S$C?3h6T)i5e9&m2-TyYb1@YQ?QFhKJP1DbmO{l;I$>Z=Z{OZMdi1D=VjBtz z2wlpzu`JB!QvRW(P)8^J4&M54sE0!n{8YiZ_mvysIuReq)nN>q*Ab9D8CT7dVShLo z`~42W;RL6#!O*8yoPUwGNIEGZcARhn7?fMgJgTr+mJQ9ns*VmA1DORw3qA}iXGhG7 zs!HE;3b7}JrJPqkzc!$)6AI;)f3tA!=x3?Q=@rYh-^*XZ(RXujUFt?qLyslBM1 zlTN^k>#XiMz?-+Xs9~ud2lpL4j)DKY-+C2SSZ#4~n|Il&(eL+F+x>u;>}H_=Ptdw% zU{reRth{(5goRNo=P5Lzw&WDJ#HPCA&SIHF+6I(!i;bv&a;ZVFfB7?;hIl-O#Wq&@ zV(Q854a}}OH#^PFi!v54lZ~ps?RjuCw)e(B`cv8!Sp8ta+3H?E($aFPe6Dv09x)Hgx;zJcrOtEvg_us>YkIJ}9#^Vu-mJ)Nf8?;Y+UbK2iM9)_Fm z;V`Vn;cnB9H)|aIDpr-ER7XIXbe3accATjC%441LQab}WWF=NiRzRqQV)<2EuT6i- z`}aM;vr63@sO=Ge1qFXu0DSz8Knxuz>OeYi9)EFmZSyawEG<9-C<~sO9WB^Zfxv8G zr4=3p^jk(1wc`5=t+2Z2j-crMg&hpQlYXiilmx*{o3w%cYOM^63UGDG&dtE004C(| zHTIH$`=h`YsO_MbPofDFM-=Nx4SY-x#Dzf4O;A9!-IpZ*m1Dk27X;j~NRb)mdr-}8 z4vrByl6M8vwnm89pe(2Q;UD;?9 zrab7F1TkBXzUd!VzDEP1f$lA3H$wo>RJUkina=M&N@PG;xX^4GBwxFFxhIJ06Hv{A zH`}C^4Xrz>9m>45-SB0eiwfRZnOMP#e0kzYYjPah_-@L$+eciT;%WIQwmVdAbz8OF zA*$o=y4CI~s^h=x+TE9%-Pvc|_VIsh+xFFNefA}ECodp{-yZQfX|dch#&0?uq3;aI2S3Sqidg4l?!|l zAYqpwS)}v}#;)ROb)*Ovk9a2z4}oF|LIFDk7z;>YK$pYzz}FV711XJR>b3_sVwvV> zT7HtAp{Yw)T>75cZ>TL1FU%L`8P3nYRaF5C_dqBJyk(gOiVvxawijltT%KZnPaJEK z8N}cU2C;0QgIPEsRq_kqhB=FwJ-5?&Rn7el#r`pa`@+yls!qF$VHY3$qJVV*h~%Jz zJWdmg^TE3Z5a%0@VzVlz2p|Tu=hAVNQHK|2F}_Nr2s?Ypi#dSQ=d@cqlPMf%CTcUm zm~-DdP6m`3Rk3_&peR-*tFtR}{EF!SQaO5@P#nCJF$Y)`SH(Yfj=)0ZdE?3|eC zlzAffHqARX6#=LDGE9BGeo}kaQMI2`{NA(q0+e=O?Ld-n$h|;6bCdy@cYt~?XZBJO zchF4>5^BkLF&Ym zy@~4hi_P}r)oQ(czFMDr);8T|t9tbt7!S8_aeWORog8GkEFg3#e@tZoqf7aN6!yN) z**zcu)b%>qFDcc;%bt~qP!)ziA&{aM|<`_VX#=fiM#c6W36 zWH`KAMV6_laIE5kJYi2JgsL1_J2?cT#gTnJ=-TNY4i7`##I7ug?0K9PAaNw17=MMi z%389j#Qn_RM8T;q3#oy4s&dYkBah-K^mCyYfxfRJrnAamE?bg?J)&1c}7{CF#4o0}HY1cn03tb|I!89Stq zCrsQ{&%QU@4sVWgC3_Y~@b8R}oVGK^hIG^xwE?W10!IvU@ChmdDw6jrF?N+N0o|?L zE2TCqFa*umsj3!1?H&oG(s(yb;7A zdlZ{Uq<*R$X8O&8&RGPBJiu4+1Pl$P<8h;VCUE2huQzkCT}}3%<3RS8O|ycg_B_^f zy>xGkID&%z9E^bO2k_2pCQ-6pBQisM^De4w2^Y4_bIz)=Iad; z#R<)z)HU%)pHezRb-cgZtWGYv^~uX>y?Il2=Ra?n`ilsvUqm(iMZMa*Ue*5X=<7?k z9AFQ~N$tka&kX1>ihp4JQT-MFa>3VauS&x@6 z+?<5F)$4V?ze|tssXsien{GdjaT&+M7RRuT6v8@EAx&~B4Md-0f-o>!8kmJB)E%=# zdHpi08ajIj$dX7|kK{Z7clre&8iybLtJMqmJ1X{@8Bl)TfegNMAyb-+I)^YL>a;#_ zCegml02yNxR~BQ*jFbD2KtKQx8%4Ijgk%{()&owjp{ia45KmxPq!D38%-Yt0O48W& z0*Ct1MH>wCWBC_6!e9;cU~QFiV22$|;)Eh!rM`}?Q^r@{Dhp|jLYxog>;ulOA)Gv! z9$?wzNWT%vhDbIq^bvw-l9-|Zn=V*cid+(5>^bbG0%t69(LsshifUd!;M_YSMJyuH zc~Ux0F<`}#M8KIRpo*bLAIt24vJoMcInNPhUK5k(C4H3>nYfuao$gGsa-D|Au)6_` z34m^ZN*%gEnT<9%`KkE;gKXzzd>s^mAK}=vf=o*)HZNfom&Y7sQ<7u02I>zBmnkUDvm7 zzPdYXKKP)|lOh7q1%xi;kF_jdbSZ!EBA^sxy-g`Zb2_@8MW*z}ui)LG-L9W)V0Hc3 zrfa{5YPRnk#{Hkwb^D|1o9@ZDzd8^7_2a|g_9QYNtH^(}lXFd84l;2UKjr*@fz@wj zg?A-ZX;#rsVi!r7SvZz96uUVtC>6+OU+M(KwV*L0jk!Qk=XzUNkq0m%1{T1vI?|y5 z!YJ!80SESSU}VN;6&pxUatvqJ!h%MLd#Vhukqao4C{ayGJ|5o`Ou(Mt?~wK?So-WMUjS5KRxe#gGb1KoP(T{RaKr}_5V(7v<-FrDuyUp8 zs$f~aI|8x_8Uqw4Kd~HX&VdWsH#*bn7=|MRpHs2QhD7%wCT1zj+iLUGTLxd-%V03D z4TQo)Zq6KMv;6HPfXy3%1=TcHvqnKZ&gFiPO+t}&Zbp*%M0Va8k$G>fQXHMo+2{fk zt_iVhOep+OR+=kdCp%gX#deoUnnMYF22YV01n>t5Z^dIVNiC_57ML;<>rFI?%*^NT zP!%ObLVBi*W6z%PWSrrG*YI8;n=~YIff|M=%=j5yRfn$K9lF)_uBq3T?P~km?e6ry zwd?IKyKeJo2&=#KtCQDvcXwAOCyx)nIpjb1;B-;PFXcN?7BIS$fAT^q{Pd31_)njv zC-@#--Q8ACPhVG;`)#vnPNFjP`|H*2{PuAD!MMNqL4AAkCu6@q4`Y9Z*guO3w{D!q z4Nm(m@eIx<-Xij+VNl>OU+cwb#;Mv+nGasXl-I#>j+5Aw2GjyGM9QL&RT&7qn%N#n z(FmYGk84zBRn+>nln_<6<-ly)9M}~=a9*2YxiN>lm$_&{VVx$O&c32@I;IN3^8$g1(V4AfF{F<@StYQ%08Cd-;djl}@6RSz(k=5J^qzO$E>&QC}B=x#ewK=P~ z6U$oC&ja1JoKiGzN?d76uq?6M$5lR#!YTzm2XlC>6bv7Y34?||(@jTUuq7LKo`TlLp94+AMQaP^0wS)Wg1|7gPghY^%M8pp$v zVen4^_N%xWG$F-?&MV58t8`f0aOh#~8BkC@?hI3V>yVON(@ogI#=uaUucXY}L_Ef|m7z{rf&yi!GdErmFx_MS7Z}9d442Y((I%ZcRR^LKBRb3t{z-dAKG?%({(2|>&@;BW4_lkeTZN!M=fu3q&ayxMH{&&U4m(Gc0uzP~<1wfzUMzwJkaW*QTZluW5c zmz{4SQ5u1j%St$22xn@%yr>RP=*eP-XpiAmf{kT*gb0m_l8?Oyz+^F0lx2QH{!Lay z13K=JAcb|&X59bwUMU{e3Mmb{h00_lxdlP1XnpYcg#=ERl7pP6#%{-W(xzp1Ou^Qhf_-eUhH+%>nq z{_^vlV}&j%`K5ek%K}E1@-I@3VwT3|`(GygUwRF}$=?e(+BjDElG-~Huqxc&Y(-aHAe}QF#|*d%IwUWB&pEm?f9FeTL5Ib;B_E!dMr3n<0!Z+o zbqF1YI+8ZId(0$Zf(n$`0`ctTUk$h+Z)dAIcFJUtog9M()GP$jXedYqwQu*D8!YfG zG7<(-&XyFHQb%QN3hk!gxPAfH$abX+qQx0a&vOi10BuZv(=Ms6FtpBWAQaNEIf7Tv zda_{H#5EZ98XFo`%{?fH1|}bVvOokX30LDUB!3y*V{X zY^4*qP&OgVrX1Ehq_Cxd5uVGN8JFijnZs1FgP?m1yxal#FY}4{S{1pqvur9IGr+P5 zOzQY1r72}uCC~YMuQGEf_hdRQwIRnyP4^#8Gg(j``!XILgvsS}q4HjsSI#_^=c{JX z8i*Oq{Y%Hx$$mCF(vMU6#m7Bz)i>?#O;vBc=r+4A&L2O0zCAhnyY=?$RaDcz@$L4j zY4Y#xhVgp0+vTA3u!HF@pFLYZ=u*D(WdWm0`4=xoY-z>;DVQ^m5r4m4Lu5r?d{(!c z%eZ>HsTzM3S%(iGY|s1Q?!5NhpAPYFRO6qH`_Im@o^}EGS`y}| zY|1>K3Ad*6D;+!8IW1tju-j?VD4UClW6;ulE;7uyIe8wk1C^ujOjEYxh_DqaOo8js zRgg-+U`_G2M)uYuEPQ72fnufclku80E zz~*V+-=4yFI6+K~Ps1jzV{NRm!faGVzTC8k2^&`ycUhQ3okvR`+nO21Zq85=B4oIy zYEA%I%I9pB)O%deWOTAXpnyqdrDaYmU`2ZIAPZ+ctLOT08??fsYatc^px8o&dmTYA z;7gf8P?c|ff6t4@9o6IBFC?(Q%K~8pbe4rRz;q^!a*Y`V;Omt!1de^G)iXN@1^gQz zIy<(sRNLvekJKjF7|h31%qetRa@2o`L?G=b2Z(CDv}>+=uZzil_W=gsQ$tM$5hK92rw7^=g`$ws~8fk5cJJ7FnH`L31)j4tIHS&rD! z_y9kTsx3&Wt;;uW-dwcp*}AT_Yu}Em_4@Iz!*u(2+~1yGUtfH9cX##S;qKwq^*JvEv;k0G4IC<6>t#De8nT+IFI+Kf6*Itr=S3~uLR~`QK8-ag7^5Q zqt6apA%2wAnFHaYuu#$!cu6^LBIk(KOzC zbhthL!R_tkUqrS2lW9DhO=16d9PipO^j!pIZLE^$nT!c2o-{A}%JfJUa9NB6WTuZE zk)0#xoPgxfk29(U?jtZpnP?a&oc$)n7X}Qmuxfe;gJ6fYhB>L2F>)viHv?Q@!YB|6Y6*`U{v0=9dN`-%Eknb zhS-$>arS(i8$3{~SJYUSB57(5zvm$A0>mqzFh>qh$4vgFF&la8fm@r$z4Dr2D~&=W zY$*d^tC|-GEd;OB-9I(|h7ayPQ~xSUn5)Okk{v->+wj7YfdPh8 znZcfO(*`uxb+)0V{~0b==8?gl9EP)+=6x&Ro1M+1jT-jADGSM14{WpqF~v|E$*if2 zae8HZj&wC~icxz2kpo}S9d~@zQdfRc)xW!ctdVmjAafd5M-DsGYz5rX3j&q&1!W!* zCb9HaQ;O?2^cat|cLIjRR@8H9TuEU|j#N2`Lk)WQ=UDx&c+Sk>)w%uN|O?T0(wl7xe-QPzw{p+YLc>%-p=HlXA1fmdu=;Mg? zm#j%kS<3HI7BIS$Z&k5&rBE_FB}&r6F0DAb>&@tH;oQH4aJXo0t}ch|_+%UoXScWS z{v=F?r_->1I!*nPVShLor+$sDUpbuO-xM!us&ba6$crGWGqVRiFZ3P_ljV{pGcpj3 z;ME@mvzG;wy^>v_Bo+0LlSzSRfm3yQF(Sw;R8kX8>P?(PK%r-35e*_6R!tU=fgr$> zQcYS0uc(N91|kw9J$sc`0x+l+Kg(4=-DegBSTTU1-i8@-s35^rjHOXox|(yx%P|T+ z`1fNEb9;3)7eIDo$rK+dXv%rst5Uz%0;<<`<#HU$3~Iteu_|5Zlb$zCBv0?zrj%pW z26AN^jU8s?YGw=P5L!kX8PuXt{e$#Z`X%-A?&26I=Bbt1i)B3Xe4419X&Q~~CbQ21 z(t-mUo=X_=3?D1XI^?;ZvLnjxkJ?@V3Y5oY%aoK$O6c`PEJKrmV4zJ3eUu$pJc9q0s7?J1f2R-_8mTtT1XF)fcd|a z_C9Vn?&`WeG*z>2R*x^*Zuh!rcdzTV`Lb?Sui9q)x{d1is$Kme0@$0bt1dtJ8ykmhwkbm^rQZ)xgco4ythteq8Mj{gVhjzc-EjvtfVp;eLPf zwD0d8PyOA~p}+cb48t0yem4xan+RlU7sj}rrO;5Lqns_|MUTO#W*L-{UFFDa00NMK zGRVvrs`z_WUuL^G&*z#DI9OOh3L(P_F-T||`YoqE1oG~l#QWTp5H+Y7V>pYAvTUK$ z&m{wkZ1*@ZSn(QaX~xdY<$UxT14#j+NbQ{;haB3c1kOj(Cb8jjS*>1Dkxr8VWvSP` z2GOUJd`tVeB@_oz>;lu@n&k~Pe>=4xaEPcZFK#mkSmaFvZ4}6^H3KbXMWNlYNH z)iFR!U|nR9jwP%rEM+mjaITyua<+1_n~JJxVx4tVhBP1<*IeG%@cosKPg2R&If&UD zq@Gfc`Y4Af0?~au?=Gt0_jTJ{Z`SM2nx=iX>ed(4YWsQ9oxJM0lb3Ph6jk!gWvKnl zIM#PpS69~`ee_Y9eEGG2(4{QpA6^z_bSZyS#pTqaD8_IBw%Y)2-rT`?Td#t@xgP!7 z2xh*B3+|`eReRpFtEZvgesJi!o5-4;h3W3G+xsWeSZyOPZKmMWT$PO4o` zt6Biny0R)zz!foiC73!Wd*wLhK9WHI6z85?P+%MCF{)HW)yJyJUKV>gme+HW*Ib!6 zDTdmJwQheC zkA2rR?FFn(zG|y=4$%Z%^X@Pn_9u6%0nT^BZnx{DDGLx?%2NJuWdWm0`J*emAWZD^ zG{O0K3aR4Z-B)|uY;Nklf75PHUr*usw4FAuLcf34^i4gEw@(g-dY`~-@8MA-M%S^T zRTyy<*P41vn!AvAG0Y2RU`|ukXo6b^5|^?p;?geqON1)JGgakUmmZt}Qej4CV3aFD z0k%-`sy|%r+pY$=mH~`%4GmQ!wxv+m(85L)C@S`%mMukq8FNMEu ztYTB^3b78#^OH;*vHjjS4Uy&`=-5*CoHn*>QE=Aw!o<=m;C!BC356mhE8l+ZyY@}|?QPR-Usdbo zx2D2ch-rm0Z^J%#Gpzp7r9QvClhnuUX<8Zsie&0pqX6GH& z@fEqR$wwB}y(|C=#NmUTHbnJ_1r{V9VhVF4V1qz`*fCo5yM{Y*oO8!H zgTl)-GxI1w+?7D(PF2|flmW#FO0*J>?||B zNgm~SDx`)mJ3L9&q#`Q-V?L0a?UFS~CKo+Os3|pDU>PK!IE@nl!E8UuePjHodD&TI zU!2_1@lH2CvtaVcD1=jJ(!PPrN7!OG%D^$(%-4cq7aAn2ntYF9PweCd&cWtYyTJ2y zk{imU!1FwpQd@j7jc75{ZJLUarSxNL*yyYFHUi8;Rn>RCYF<=z`_8*|U)A+~y*asz z-(6Qt^R{WWzlvk@Cd%op?>2A7vAUY3s2({z-Jb#UP_{`6_*}|T{=j7cqf7bDl=~j} z&!*iD#*2%K{TiD6*mR$vuYbMTxL<(ZJn8!Fv-Q}2|Ioetcz=6+-uJgBV}JVu!ng$- zHX{t{5QZiNfyt&~?2=CSD7_u?RS1AsW~(rniV=Mj6Eob@cO_OL7es~v za|a?gQki2pJl8Ky&jO&V%AHY{iQ<#Bb{kGVUBH2RLUcx+~N{y;#ZWsmT$`2W#XTXFKPDoDVV=_3*j!?vek{xJ~ z4Q(cvGv&CWl(`EuNIW_5Fwi~9ACSPb=TXkV{HKxTjoniKIgC|?a?hSO$+j{A*)g6o zvn5Vm_^J*s%p(HaQ=cnrL{Z-Zd*oB*B#~H-(;HRtDT@+;QnCdtn+uA2I)%c1=5SNl zw$#QMlTT92FW=TUb(Qs-HktLMX;;9Q&U142!5xX|=RSyvy@9VmXY-e-TtTr!W zyKcI=eOoo{uOm2pS=G%|yvVJu+dJpFeb-jE9=eOr>~6;~>fkT;`B*O?TnP;biL8kH@M1EG|P| z#6{~-`EaU!7^EoahP)vWUn6(cBKy&tO|5 z)rg0I13<^!V9D%Y_bzl*w{iU#(z`^DD;=&*baHaUIZl-#t zxSQmNCBvz^AF-PN!QZ63FFJc)<_Fsr`#^xXVtdidswSpVJlB~g1v3|rOhTNW_7l<#aYYW%=XPwqed$DiH)_{TrEgzmKMZ<;S6*|I%9?|#*%&`^i# zC&TU4zwY<9e|Fg4eGIo(aS2QQ_4`#^TpLGDB?%(96dEcp{w%h2WpQTg0+Koh*)yuR zW*mEcYpbDP1341dAxI7sD@Ih{h)1y+jSO-PeijQ76uebOG(I&cLb8dbTr zg+B)j3J^0h>MLdCoV_%n0`=l)PAc#!2kIBqHQ8p$`8Jf0^ouY)dCTX_JPO7OsLQ_I zSmYsUbyQlr$lD$lG+M#LzahYTAPet)G*G+r+cN{5M<}qTJdlTe1YagPLCDNtc94ow z)$=4s>ha|LE{v>?Y&?ddde0-kj&@lh$xGf5c=nuKNn~yZLHe17xb|YO;BwuW+##ynuOqwpCiZ5C*B_v&hPWNXx?K(3YI76&b`inoi>9tVtDEMN`1yKr)#c9D zZ=kPlzv>Ue>({S`7cXAqS^V@CezLHiOIgalP;s!7r7Y!M!IC&Uz2c_rRT~MD z)$QBE$FRTsXqfIk-rrsQ>+8$6|7z%O&ZqwN6#DBY5iqQA8di}}ZKp7}h*qO!F_JfK zB%Ui1UdWh(Kw?sT z(`54)G|nY}GjT>q1r7?lY%EIvP^1IIvhQm^y$Te^m*hHc-Z&rr18%qntrDk!0yC~^Vewy4fk zd)qpNasrrvVg-otx&nM_36{?nOYNa{PPx9UO84Zg-!wJ%$Fs^^=cWP8dFx}qVF^u@ zKwl1vrCSM}M=2I(Y*UiQJj|9fiyVO@3{#SwI60BMD~-pH>`&wSx@{r|>|)<)bafrs zNskHmYiKWSfrQ~2L%Mzong+D0l3rn|s%Gk%%^`xv%cxf0N0##zlCzP^Z0FSE3`pHo zQ&n$$+kU>Tw|^h!(@oUR-^2^vLQ?D3b+Qc~;%4wrPt|Q#RoAfHUdPLf{L;8l3*cPJ zQocE5VMdp-l=l}|tm3Nsw14&L73^xfm{uXwhv86no4#F7DICnBv2IUX+x_{3;Vc5s zlWOeO!*HmkF!~Hgag2y0B*YTY#Qk^2~3@U{AJOZU5AlwT*1j2|K2GFW_0n~<)HP1k4MxmSsoOwst zVmAYugaRR>x&p}Mx7=yYVeW`oGXO1H5qeZcPG#^=axD8EKpl$&e9HA~NTn>3Y_|xR z{j)NnOh09_;J8g>E6H(RGst#@33i1oPbFtT@|c~hh(zR5sdb$ZgU-h=!^K>Ro%1~aZGN#tH-A5 zrmAU&$~SirxL!vP|2j71vslqxY{Wk9=nnCALg?eH=rHaHyJ7HQ=njWN1fv7YJoy$N zx|F4S)5-!ym$H-xidn1>nR0yk^l3tjui)zH8cxq%H(_|uo!otLxO#gw4Z|+D{R^1J zC*wFh>JN9P`+i@?@2hd_ePl^jZkpB!h{o6BX*zU~eXN2T>uDU~MaJwVUvYdIL{0>s z4e}_Sws#bICx{(kP)-u8lD+~kz|>lRiXA2vzK^ktL$NVr@DohXBPR-P{-`9Y0YR+h zccIvEQfgB)b%45oC>ypnf%oSjjH?rMzv#l|Iebu~6!H#BWKM2_@rRr|zd-c`=^v40~-o`&RY zpPZ^vKVqj67|o^zu`Ny0#ED-ItFFE4HtTnhHT|@%nm0||eC1tpiIpGfB!s#f6YJTa zKOCm;93Bn* z?T;YzC;iZ``u?uFxw&-lw+h2hR}Q=QePmUKbpo)fxK;;0MI75F?SA&0PD;>>S;*or zd3S)Pc<#RTv1J#h((J6;`B2eilJtdHw+ol0wi<4J+!pqsweqz%FX020yyrfhG zr%4PFxZ{-T1R|6C5(o?#ezFr(YH*c9Ac1Qz158IDlz;&#+sEb@WbwBN>Q!VTn|)ND z-}z>>Z`*YQpIun5ci1%RLjXd z;{*5XQkJrmZ%J{ml%*`?_bxcg*O^~&Wq%%DAIH`FYJGcqXr0?8VyKQ9Lho|veF)=j zxZ9s~&Tj+kKbnSVGfrcR;jX#8xsG6SY{S@hmB+Kg&_5aCtM7+Lbp^X=8vHnn$uf`= zhvqOy5x2(8WU2$FF0!j_m?H4S$=5jzRmw{q6|p(Q&cs?_3JF+T5Md$WRuEG z$|+b`Zn^#`7)F{vC(lJsf|p3X8F`Wp{6JfEEr1!$FW*D4QiY*l}~}+tEgJ9OLUIaf4&8cn5!>^&?b?f~UcF8^+ar@XZC1NbHLD>?_7I`;ZD{>haYyww z&h4A7Ti>4SHgOLYfq2(alMV;^6JK5YFZ~a&(pzi4$MEP;+CsDufSx4#&ID!^aLR!{ z``ORn$3OnDFrOs-1$-`LDc|a{fYGHa&(%!=PM)1^Tz0YvY*1+Y>t|pT1&mI`(^^Q)Vk^neO;S&K z@(QQ4np~?Kh+xFap^9?ogLs_?oKt%pRT7!Snps0&dql`gGgc zX44<4y4jPNLADRYF|*Zeq~qKDdb@emB(}3#zgo53t2nf`O;e9mwZW=w#>zKC=hyp# zhj-Q3Uq?m2e)F_Fz?&&$KZ^~!fZtsnGno7;UipI&XjJY2QCk)Ox|F5-@stIOE@dfy zpki3lT>kyP|M%{%{_3yfV?uQG%a<>!XHkEt#)TSN=@3y+)B}%)-F_GzNAz)q{oy3? zg4-}g1#~t$Jh&n1T$8P71g$FlMS^!UhwgOSYlX76p;)*)JxaImi4I=Es46YM1k`XN^63_=}lD26Sw;nH-oR22CIn zi!EshePs7Di7`#V;A0ywvX+slbSaEcAFsAg6C`<@yA)4m8rtU5iQ=5)SU^sC$K!tgtPh7(7>8~g_q$;_oDTi|JoJaBm$x^kQD3?m6Z;y$WJoG}pbS4b zoFij}iCNL4`c9xT0+j?_>)3(hKeBPzl^Uz4g0E&BButqBSOk4ZIX}c>BVw-m_)}E% zx`}**T=JDk=~J6{Y#SkEo7mg*O2AQ6%<-sr(JJcS^Lbq!k7MgrNHg)BMP#a>e!f5=hDF;GM{0bp|i_4+4p zN&pnZn>dE~9Dy6xlNKG{cLN=cclA#x;J3NuyehyXD%pmjEfXtEt;1cMNP;n=j@ zU2OlmSm$MI;OoXWQ9Yi5xx-l3q)N{$D2JA!{~%AH{GXRsx<<;<)JC>7d9BxdtoN>J z{blUw=W)|>8%1^PoAH`j)gbB550Po!#j)%Hwqrj{Z-?Dj_3-EiNy|RPIg4@5TCjNR zJS1~t0hCKw%2Ix3S-|L0mh#V7j@eUFgd!ssQRHx1#W4-vqIeG?JkZr>jsP1v7DYVPUv_0^+(>?0T*+6XvZ{F{vlGa&Vn?GUo# zQnL9>p{S{+#&a_%^?^Sh1jqt>>% zitzP1XUuUafx1gnVgjJ6c<$L4#?$z@iOpyunDop+CeS+7mER{8FV=HcSM|FHR#Uc} zKDKH|`tK?0uE})4Q^3^-YGED0)h;UVxABK<{BDz7mZsn%aCLwZY@Twddj_MIctjSgmSEYX2&EqeR87J5+w$Z(SHqBKUda zpnBZ*cc=Y6f>9ir2uj^yf9H}@4aAohjKLb@aU984ew_R;j++Qjcd<#QQyBj|g0pqD zQ=LLL4r2z7*~`98D(0lpt;YEGHUh`X2+wX@fY(tSe-VM-Awst?_ACO??6IFeH}63O>F;F(>5>a1n{a9Qxf-qRN@JaW^;l_*Ji!) zh~Z?KhR4%5oll65B3wI-$JP;G`V`YOTSFw%$;=kk6kZCP+OU$HsDwnKWC0-*kD$Pr zoC34TS*6bmYi!>b!ROvrRRnqdT?D!><7t->+Fn;A%Ylp@plf1X3f~>6^o$ zuMZIsbzPU;nY--Ce8>*Y^q$J0@5wqc9y?BV+X(hfBExxxVf^9#aM(n^*hV$}Is!hI z@m;!DRODAp6IImJ)Yk1yTQ~3O+FeId@?}(}ziy&>IV$j@rX0J7NH;!$M#SO62oj$~ z5V?+ZuA?5i%B(2Gg&!i+yp90vDt>e2T=P}CYOZP@ZsSpV^0?}vT041Z_pTqN#zivq za0_SP$EQBH^C5y#NC^lqRKqY-v06`YEt5BTm2D}3<9u=+p!{#!ilY={``P3qMWH&A zUFf9Ba5}^1fbHpT+z*VIxkNZbu=}QV?klX_+uB!G{dBm|v;uf+KiM9QY90*i+Gf0q zGMgfmz1v0k!Q-SJ&pU^o{`9Btlb`(L4*?1}h`<6cm$HmU;M``2YX_ M07*qoM6N<$f=tSsO#lD@ literal 0 HcmV?d00001 From 6d90d130bd60e71f046de3dfad324356721d4aa9 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sat, 27 Apr 2024 20:54:31 -0700 Subject: [PATCH 004/107] feat: doge i18n response message profile image --- src/lib/components/chat/Messages/ResponseMessage.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 23397603..28e546cf 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -325,7 +325,9 @@ {#key message.id}