diff --git a/backend/.env b/backend/.env deleted file mode 100644 index 4af5cae..0000000 --- a/backend/.env +++ /dev/null @@ -1,90 +0,0 @@ -# ======================================== -# 大模型配置 (支持OpenAI协议的第三方服务) -# ======================================== -# 可选择的提供商: openai, deepseek, doubao, zhipu, moonshot -LLM_PROVIDER=doubao - -# Embedding模型配置 -# 可选择的提供商: openai, deepseek, doubao, zhipu, moonshot -EMBEDDING_PROVIDER=zhipu - -# OpenAI配置 -OPENAI_API_KEY=your-openai-api-key -OPENAI_BASE_URL=https://api.openai.com/v1 -OPENAI_MODEL=gpt-3.5-turbo - -# DeepSeek配置 -DEEPSEEK_API_KEY=your-deepseek-api-key -DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 -DEEPSEEK_MODEL=deepseek-chat - -# 豆包(字节跳动)配置 -DOUBAO_API_KEY=your-doubao-api-key -DOUBAO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 -DOUBAO_MODEL=doubao-1-5-pro-32k-250115 - -# 智谱AI配置 -ZHIPU_API_KEY=your-zhipu-api-key -ZHIPU_BASE_URL=https://open.bigmodel.cn/api/paas/v4 -ZHIPU_MODEL=glm-4 -ZHIPU_EMBEDDING_MODEL=embedding-3 - -# 月之暗面配置 -MOONSHOT_API_KEY=your-moonshot-api-key -MOONSHOT_BASE_URL=https://api.moonshot.cn/v1 -MOONSHOT_MODEL=moonshot-v1-8k -MOONSHOT_EMBEDDING_MODEL=moonshot-embedding - -# Embedding模型配置 -OPENAI_EMBEDDING_MODEL=text-embedding-ada-002 -DEEPSEEK_EMBEDDING_MODEL=deepseek-embedding -DOUBAO_EMBEDDING_MODEL=doubao-embedding - -# 工具API配置 -## tavilySearch api -TAVILY_API_KEY=your-tavily-api-key -## 心知天气api -WEATHER_API_KEY=your_xinzhi_api_key - -# ======================================== -# 应用配置 -# ======================================== -# 后端应用配置 -APP_NAME=TH-Agenter -APP_VERSION=0.1.0 -DEBUG=true -ENVIRONMENT=development -HOST=0.0.0.0 -PORT=8000 - -# 前端应用配置 -VITE_API_BASE_URL=http://localhost:8000/api -VITE_APP_TITLE=TH-Agenter -VITE_APP_VERSION=1.0.0 -VITE_ENABLE_MOCK=false -VITE_UPLOAD_MAX_SIZE=10485760 -VITE_SUPPORTED_FILE_TYPES=pdf,txt,md,doc,docx,ppt,pptx,xls,xlsx - -# ======================================== -# 安全配置 -# ======================================== -SECRET_KEY=your-secret-key-here-change-in-production -ALGORITHM=HS256 -ACCESS_TOKEN_EXPIRE_MINUTES=300 - -# ======================================== -# 数据库配置 -# ======================================== -# 数据库URL配置 -DATABASE_URL=sqlite:///./TH-Agenter.db -# DATABASE_URL=postgresql://iagent:iagent@118.196.30.45:5432/iagent - -# ======================================== -# 向量数据库配置 -# ======================================== -VECTOR_DB_TYPE=pgvector -PGVECTOR_HOST=118.196.30.45 -PGVECTOR_PORT=5432 -PGVECTOR_DATABASE=iagent -PGVECTOR_USER=iagent -PGVECTOR_PASSWORD=iagent \ No newline at end of file diff --git a/backend/.env.example b/backend/.env.example deleted file mode 100644 index f213015..0000000 --- a/backend/.env.example +++ /dev/null @@ -1,89 +0,0 @@ -# ======================================== -# 大模型配置 (支持OpenAI协议的第三方服务) -# ======================================== -# 可选择的提供商: openai, deepseek, doubao, zhipu, moonshot -LLM_PROVIDER=doubao - -# Embedding模型配置 -# 可选择的提供商: openai, deepseek, doubao, zhipu, moonshot -EMBEDDING_PROVIDER=zhipu - -# OpenAI配置 -OPENAI_API_KEY=your-openai-api-key -OPENAI_BASE_URL=https://api.openai.com/v1 -OPENAI_MODEL=gpt-3.5-turbo - -# DeepSeek配置 -DEEPSEEK_API_KEY=your-deepseek-api-key -DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 -DEEPSEEK_MODEL=deepseek-chat - -# 豆包(字节跳动)配置 -DOUBAO_API_KEY=your-doubao-api-key -DOUBAO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 -DOUBAO_MODEL=doubao-1-5-pro-32k-250115 - -# 智谱AI配置 -ZHIPU_API_KEY=your-zhipu-api-key -ZHIPU_BASE_URL=https://open.bigmodel.cn/api/paas/v4 -ZHIPU_MODEL=glm-4 -ZHIPU_EMBEDDING_MODEL=embedding-3 - -# 月之暗面配置 -MOONSHOT_API_KEY=your-moonshot-api-key -MOONSHOT_BASE_URL=https://api.moonshot.cn/v1 -MOONSHOT_MODEL=moonshot-v1-8k -MOONSHOT_EMBEDDING_MODEL=moonshot-embedding - -# Embedding模型配置 -OPENAI_EMBEDDING_MODEL=text-embedding-ada-002 -DEEPSEEK_EMBEDDING_MODEL=deepseek-embedding -DOUBAO_EMBEDDING_MODEL=doubao-embedding - -# 工具API配置 -## tavilySearch api -TAVILY_API_KEY=your-tavily-api-key -## 心知天气api -WEATHER_API_KEY=your_xinzhi_api_key - -# ======================================== -# 应用配置 -# ======================================== -# 后端应用配置 -APP_NAME=TH-Agenter -APP_VERSION=0.1.0 -DEBUG=true -ENVIRONMENT=development -HOST=0.0.0.0 -PORT=8000 - -# 前端应用配置 -VITE_API_BASE_URL=http://localhost:8000/api -VITE_APP_TITLE=TH-Agenter -VITE_APP_VERSION=1.0.0 -VITE_ENABLE_MOCK=false -VITE_UPLOAD_MAX_SIZE=10485760 -VITE_SUPPORTED_FILE_TYPES=pdf,txt,md,doc,docx,ppt,pptx,xls,xlsx - -# ======================================== -# 安全配置 -# ======================================== -SECRET_KEY=your-secret-key-here-change-in-production -ALGORITHM=HS256 -ACCESS_TOKEN_EXPIRE_MINUTES=300 - -# ======================================== -# 数据库配置 -# ======================================== - -DATABASE_URL=postgresql://iagent:iagent@118.196.30.45:5432/iagent - -# ======================================== -# 向量数据库配置 -# ======================================== -VECTOR_DB_TYPE=pgvector -PGVECTOR_HOST=localhost -PGVECTOR_PORT=5432 -PGVECTOR_DATABASE=mydb -PGVECTOR_USER=myuser -PGVECTOR_PASSWORD=mypassword \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index 389f05f..0000000 --- a/backend/.gitignore +++ /dev/null @@ -1,179 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. See https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -# VS Code -.vscode/* -!.vscode/extensions.json - -# Logs -logs/ -*.log -webIOs/output/logs/ - -# OS generated files -Thumbs.db -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db - -# FastAPI specific -*.pyc -uvicorn*.log \ No newline at end of file diff --git a/backend/TH-Agenter.db b/backend/TH-Agenter.db index 15f889c..0d2422d 100644 Binary files a/backend/TH-Agenter.db and b/backend/TH-Agenter.db differ diff --git a/backend/alembic.ini b/backend/alembic.ini deleted file mode 100644 index d6cd79a..0000000 --- a/backend/alembic.ini +++ /dev/null @@ -1,147 +0,0 @@ -# A generic, single database configuration. - -[alembic] -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file -script_location = %(here)s/alembic - -# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s -# Uncomment the line below if you want the files to be prepended with date and time -# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file -# for all available tokens -# file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s - -# sys.path path, will be prepended to sys.path if present. -# defaults to the current working directory. for multiple paths, the path separator -# is defined by "path_separator" below. -prepend_sys_path = . - -# timezone to use when rendering the date within the migration file -# as well as the filename. -# If specified, requires the tzdata library which can be installed by adding -# `alembic[tz]` to the pip requirements. -# string value is passed to ZoneInfo() -# leave blank for localtime -# timezone = - -# max length of characters to apply to the "slug" field -# truncate_slug_length = 40 - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - -# set to 'true' to allow .pyc and .pyo files without -# a source .py file to be detected as revisions in the -# versions/ directory -# sourceless = false - -# version location specification; This defaults -# to /versions. When using multiple version -# directories, initial revisions must be specified with --version-path. -# The path separator used here should be the separator specified by "path_separator" -# below. -# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions - -# path_separator; This indicates what character is used to split lists of file -# paths, including version_locations and prepend_sys_path within configparser -# files such as alembic.ini. -# The default rendered in new alembic.ini files is "os", which uses os.pathsep -# to provide os-dependent path splitting. -# -# Note that in order to support legacy alembic.ini files, this default does NOT -# take place if path_separator is not present in alembic.ini. If this -# option is omitted entirely, fallback logic is as follows: -# -# 1. Parsing of the version_locations option falls back to using the legacy -# "version_path_separator" key, which if absent then falls back to the legacy -# behavior of splitting on spaces and/or commas. -# 2. Parsing of the prepend_sys_path option falls back to the legacy -# behavior of splitting on spaces, commas, or colons. -# -# Valid values for path_separator are: -# -# path_separator = : -# path_separator = ; -# path_separator = space -# path_separator = newline -# -# Use os.pathsep. Default configuration used for new projects. -path_separator = os - - -# set to 'true' to search source files recursively -# in each "version_locations" directory -# new in Alembic version 1.10 -# recursive_version_locations = false - -# the output encoding used when revision files -# are written from script.py.mako -# output_encoding = utf-8 - -# database URL. This is consumed by the user-maintained env.py script only. -# other means of configuring database URLs may be customized within the env.py -# file. -# sqlalchemy.url = driver://user:pass@localhost/dbname - - -[post_write_hooks] -# post_write_hooks defines scripts or Python functions that are run -# on newly generated revision scripts. See the documentation for further -# detail and examples - -# format using "black" - use the console_scripts runner, against the "black" entrypoint -# hooks = black -# black.type = console_scripts -# black.entrypoint = black -# black.options = -l 79 REVISION_SCRIPT_FILENAME - -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# hooks = ruff -# ruff.type = module -# ruff.module = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME - -# Alternatively, use the exec runner to execute a binary found on your PATH -# hooks = ruff -# ruff.type = exec -# ruff.executable = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME - -# Logging configuration. This is also consumed by the user-maintained -# env.py script only. -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARNING -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARNING -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/backend/alembic/README b/backend/alembic/README deleted file mode 100644 index 5d61b6b..0000000 --- a/backend/alembic/README +++ /dev/null @@ -1,4 +0,0 @@ -Generic single-database configuration with an async dbapi. - -alembic revision --autogenerate -m "init" -alembic upgrade head \ No newline at end of file diff --git a/backend/alembic/env.py b/backend/alembic/env.py deleted file mode 100644 index 7808f9d..0000000 --- a/backend/alembic/env.py +++ /dev/null @@ -1,101 +0,0 @@ -import asyncio, os -from logging.config import fileConfig - -from sqlalchemy import pool -from sqlalchemy.engine import Connection -from sqlalchemy.ext.asyncio import async_engine_from_config - -from alembic import context - -# this is the Alembic Config object, which provides -# access to the values within the .ini file in use. -config = context.config - -from dotenv import load_dotenv -load_dotenv() -database_url = os.getenv("DATABASE_URL") -if not database_url: - raise ValueError("环境变量DATABASE_URL未设置") - -config.set_main_option("sqlalchemy.url", database_url) - - - -# Interpret the config file for Python logging. -# This line sets up loggers basically. -if config.config_file_name is not None: - fileConfig(config.config_file_name) - -# add your model's MetaData object here -# for 'autogenerate' support -# from myapp import mymodel -# target_metadata = mymodel.Base.metadata -from th_agenter.db import Base -# from th_agenter.models import User, Conversation, Message, KnowledgeBase, Document, AgentConfig, ExcelFile, Role, UserRole, LLMConfig, Workflow, WorkflowExecution, NodeExecution, DatabaseConfig, TableMetadata -target_metadata = Base.metadata - -# other values from the config, defined by the needs of env.py, -# can be acquired: -# my_important_option = config.get_main_option("my_important_option") -# ... etc. - - -def run_migrations_offline() -> None: - """Run migrations in 'offline' mode. - - This configures the context with just a URL - and not an Engine, though an Engine is acceptable - here as well. By skipping the Engine creation - we don't even need a DBAPI to be available. - - Calls to context.execute() here emit the given string to the - script output. - - """ - url = config.get_main_option("sqlalchemy.url") - context.configure( - url=url, - target_metadata=target_metadata, - literal_binds=True, - dialect_opts={"paramstyle": "named"}, - ) - - with context.begin_transaction(): - context.run_migrations() - - -def do_run_migrations(connection: Connection) -> None: - context.configure(connection=connection, target_metadata=target_metadata) - - with context.begin_transaction(): - context.run_migrations() - - -async def run_async_migrations() -> None: - """In this scenario we need to create an Engine - and associate a connection with the context. - - """ - - connectable = async_engine_from_config( - config.get_section(config.config_ini_section, {}), - prefix="sqlalchemy.", - poolclass=pool.NullPool, - ) - - async with connectable.connect() as connection: - await connection.run_sync(do_run_migrations) - - await connectable.dispose() - - -def run_migrations_online() -> None: - """Run migrations in 'online' mode.""" - - asyncio.run(run_async_migrations()) - - -if context.is_offline_mode(): - run_migrations_offline() -else: - run_migrations_online() diff --git a/backend/alembic/script.py.mako b/backend/alembic/script.py.mako deleted file mode 100644 index 1101630..0000000 --- a/backend/alembic/script.py.mako +++ /dev/null @@ -1,28 +0,0 @@ -"""${message} - -Revision ID: ${up_revision} -Revises: ${down_revision | comma,n} -Create Date: ${create_date} - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa -${imports if imports else ""} - -# revision identifiers, used by Alembic. -revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} -branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} -depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} - - -def upgrade() -> None: - """Upgrade schema.""" - ${upgrades if upgrades else "pass"} - - -def downgrade() -> None: - """Downgrade schema.""" - ${downgrades if downgrades else "pass"} diff --git a/backend/alembic/versions/1ea5548d641d_init.py b/backend/alembic/versions/1ea5548d641d_init.py deleted file mode 100644 index 22d012e..0000000 --- a/backend/alembic/versions/1ea5548d641d_init.py +++ /dev/null @@ -1,359 +0,0 @@ -"""init - -Revision ID: 1ea5548d641d -Revises: -Create Date: 2025-12-13 13:47:07.838600 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = '1ea5548d641d' -down_revision: Union[str, Sequence[str], None] = None -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('agent_configs', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('description', sa.Text(), nullable=True), - sa.Column('enabled_tools', sa.JSON(), nullable=False), - sa.Column('max_iterations', sa.Integer(), nullable=False), - sa.Column('temperature', sa.String(length=10), nullable=False), - sa.Column('system_message', sa.Text(), nullable=True), - sa.Column('verbose', sa.Boolean(), nullable=False), - sa.Column('model_name', sa.String(length=100), nullable=False), - sa.Column('max_tokens', sa.Integer(), nullable=False), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('is_default', sa.Boolean(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_agent_configs')) - ) - op.create_index(op.f('ix_agent_configs_id'), 'agent_configs', ['id'], unique=False) - op.create_index(op.f('ix_agent_configs_name'), 'agent_configs', ['name'], unique=False) - op.create_table('conversations', - sa.Column('title', sa.String(length=200), nullable=False), - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('knowledge_base_id', sa.Integer(), nullable=True), - sa.Column('system_prompt', sa.Text(), nullable=True), - sa.Column('model_name', sa.String(length=100), nullable=False), - sa.Column('temperature', sa.String(length=10), nullable=False), - sa.Column('max_tokens', sa.Integer(), nullable=False), - sa.Column('is_archived', sa.Boolean(), nullable=False), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_conversations')) - ) - op.create_index(op.f('ix_conversations_id'), 'conversations', ['id'], unique=False) - op.create_table('database_configs', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('db_type', sa.String(length=20), nullable=False), - sa.Column('host', sa.String(length=255), nullable=False), - sa.Column('port', sa.Integer(), nullable=False), - sa.Column('database', sa.String(length=100), nullable=False), - sa.Column('username', sa.String(length=100), nullable=False), - sa.Column('password', sa.Text(), nullable=False), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('is_default', sa.Boolean(), nullable=False), - sa.Column('connection_params', sa.JSON(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_database_configs')), - sa.UniqueConstraint('db_type', name=op.f('uq_database_configs_db_type')) - ) - op.create_index(op.f('ix_database_configs_id'), 'database_configs', ['id'], unique=False) - op.create_table('documents', - sa.Column('knowledge_base_id', sa.Integer(), nullable=False), - sa.Column('filename', sa.String(length=255), nullable=False), - sa.Column('original_filename', sa.String(length=255), nullable=False), - sa.Column('file_path', sa.String(length=500), nullable=False), - sa.Column('file_size', sa.Integer(), nullable=False), - sa.Column('file_type', sa.String(length=50), nullable=False), - sa.Column('mime_type', sa.String(length=100), nullable=True), - sa.Column('is_processed', sa.Boolean(), nullable=False), - sa.Column('processing_error', sa.Text(), nullable=True), - sa.Column('content', sa.Text(), nullable=True), - sa.Column('doc_metadata', sa.JSON(), nullable=True), - sa.Column('chunk_count', sa.Integer(), nullable=False), - sa.Column('embedding_model', sa.String(length=100), nullable=True), - sa.Column('vector_ids', sa.JSON(), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_documents')) - ) - op.create_index(op.f('ix_documents_id'), 'documents', ['id'], unique=False) - op.create_table('excel_files', - sa.Column('original_filename', sa.String(length=255), nullable=False), - sa.Column('file_path', sa.String(length=500), nullable=False), - sa.Column('file_size', sa.Integer(), nullable=False), - sa.Column('file_type', sa.String(length=50), nullable=False), - sa.Column('sheet_names', sa.JSON(), nullable=False), - sa.Column('default_sheet', sa.String(length=100), nullable=True), - sa.Column('columns_info', sa.JSON(), nullable=False), - sa.Column('preview_data', sa.JSON(), nullable=False), - sa.Column('data_types', sa.JSON(), nullable=True), - sa.Column('total_rows', sa.JSON(), nullable=True), - sa.Column('total_columns', sa.JSON(), nullable=True), - sa.Column('is_processed', sa.Boolean(), nullable=False), - sa.Column('processing_error', sa.Text(), nullable=True), - sa.Column('last_accessed', sa.DateTime(), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_excel_files')) - ) - op.create_index(op.f('ix_excel_files_id'), 'excel_files', ['id'], unique=False) - op.create_table('knowledge_bases', - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('description', sa.Text(), nullable=True), - sa.Column('embedding_model', sa.String(length=100), nullable=False), - sa.Column('chunk_size', sa.Integer(), nullable=False), - sa.Column('chunk_overlap', sa.Integer(), nullable=False), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('vector_db_type', sa.String(length=50), nullable=False), - sa.Column('collection_name', sa.String(length=100), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_knowledge_bases')) - ) - op.create_index(op.f('ix_knowledge_bases_id'), 'knowledge_bases', ['id'], unique=False) - op.create_index(op.f('ix_knowledge_bases_name'), 'knowledge_bases', ['name'], unique=False) - op.create_table('llm_configs', - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('provider', sa.String(length=50), nullable=False), - sa.Column('model_name', sa.String(length=100), nullable=False), - sa.Column('api_key', sa.String(length=500), nullable=False), - sa.Column('base_url', sa.String(length=200), nullable=True), - sa.Column('max_tokens', sa.Integer(), nullable=False), - sa.Column('temperature', sa.Float(), nullable=False), - sa.Column('top_p', sa.Float(), nullable=False), - sa.Column('frequency_penalty', sa.Float(), nullable=False), - sa.Column('presence_penalty', sa.Float(), nullable=False), - sa.Column('description', sa.Text(), nullable=True), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('is_default', sa.Boolean(), nullable=False), - sa.Column('is_embedding', sa.Boolean(), nullable=False), - sa.Column('extra_config', sa.JSON(), nullable=True), - sa.Column('usage_count', sa.Integer(), nullable=False), - sa.Column('last_used_at', sa.DateTime(), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_llm_configs')) - ) - op.create_index(op.f('ix_llm_configs_id'), 'llm_configs', ['id'], unique=False) - op.create_index(op.f('ix_llm_configs_name'), 'llm_configs', ['name'], unique=False) - op.create_index(op.f('ix_llm_configs_provider'), 'llm_configs', ['provider'], unique=False) - op.create_table('messages', - sa.Column('conversation_id', sa.Integer(), nullable=False), - sa.Column('role', sa.Enum('USER', 'ASSISTANT', 'SYSTEM', name='messagerole'), nullable=False), - sa.Column('content', sa.Text(), nullable=False), - sa.Column('message_type', sa.Enum('TEXT', 'IMAGE', 'FILE', 'AUDIO', name='messagetype'), nullable=False), - sa.Column('message_metadata', sa.JSON(), nullable=True), - sa.Column('context_documents', sa.JSON(), nullable=True), - sa.Column('prompt_tokens', sa.Integer(), nullable=True), - sa.Column('completion_tokens', sa.Integer(), nullable=True), - sa.Column('total_tokens', sa.Integer(), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_messages')) - ) - op.create_index(op.f('ix_messages_id'), 'messages', ['id'], unique=False) - op.create_table('roles', - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('code', sa.String(length=100), nullable=False), - sa.Column('description', sa.Text(), nullable=True), - sa.Column('is_system', sa.Boolean(), nullable=False), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_roles')) - ) - op.create_index(op.f('ix_roles_code'), 'roles', ['code'], unique=True) - op.create_index(op.f('ix_roles_id'), 'roles', ['id'], unique=False) - op.create_index(op.f('ix_roles_name'), 'roles', ['name'], unique=True) - op.create_table('table_metadata', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('table_name', sa.String(length=100), nullable=False), - sa.Column('table_schema', sa.String(length=50), nullable=False), - sa.Column('table_type', sa.String(length=20), nullable=False), - sa.Column('table_comment', sa.Text(), nullable=True), - sa.Column('database_config_id', sa.Integer(), nullable=True), - sa.Column('columns_info', sa.JSON(), nullable=False), - sa.Column('primary_keys', sa.JSON(), nullable=True), - sa.Column('foreign_keys', sa.JSON(), nullable=True), - sa.Column('indexes', sa.JSON(), nullable=True), - sa.Column('sample_data', sa.JSON(), nullable=True), - sa.Column('row_count', sa.Integer(), nullable=False), - sa.Column('is_enabled_for_qa', sa.Boolean(), nullable=False), - sa.Column('qa_description', sa.Text(), nullable=True), - sa.Column('business_context', sa.Text(), nullable=True), - sa.Column('last_synced_at', sa.DateTime(timezone=True), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_table_metadata')) - ) - op.create_index(op.f('ix_table_metadata_id'), 'table_metadata', ['id'], unique=False) - op.create_index(op.f('ix_table_metadata_table_name'), 'table_metadata', ['table_name'], unique=False) - op.create_table('users', - sa.Column('username', sa.String(length=50), nullable=False), - sa.Column('email', sa.String(length=100), nullable=False), - sa.Column('hashed_password', sa.String(length=255), nullable=False), - sa.Column('full_name', sa.String(length=100), nullable=True), - sa.Column('is_active', sa.Boolean(), nullable=False), - sa.Column('avatar_url', sa.String(length=255), nullable=True), - sa.Column('bio', sa.Text(), nullable=True), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_users')) - ) - op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True) - op.create_index(op.f('ix_users_id'), 'users', ['id'], unique=False) - op.create_index(op.f('ix_users_username'), 'users', ['username'], unique=True) - op.create_table('user_roles', - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('role_id', sa.Integer(), nullable=False), - sa.ForeignKeyConstraint(['role_id'], ['roles.id'], name=op.f('fk_user_roles_role_id_roles')), - sa.ForeignKeyConstraint(['user_id'], ['users.id'], name=op.f('fk_user_roles_user_id_users')), - sa.PrimaryKeyConstraint('user_id', 'role_id', name=op.f('pk_user_roles')) - ) - op.create_table('workflows', - sa.Column('name', sa.String(length=100), nullable=False, comment='工作流名称'), - sa.Column('description', sa.Text(), nullable=True, comment='工作流描述'), - sa.Column('status', sa.Enum('DRAFT', 'PUBLISHED', 'ARCHIVED', name='workflowstatus'), nullable=False, comment='工作流状态'), - sa.Column('is_active', sa.Boolean(), nullable=False, comment='是否激活'), - sa.Column('definition', sa.JSON(), nullable=False, comment='工作流定义'), - sa.Column('version', sa.String(length=20), nullable=False, comment='版本号'), - sa.Column('owner_id', sa.Integer(), nullable=False, comment='所有者ID'), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(['owner_id'], ['users.id'], name=op.f('fk_workflows_owner_id_users')), - sa.PrimaryKeyConstraint('id', name=op.f('pk_workflows')) - ) - op.create_index(op.f('ix_workflows_id'), 'workflows', ['id'], unique=False) - op.create_table('workflow_executions', - sa.Column('workflow_id', sa.Integer(), nullable=False, comment='工作流ID'), - sa.Column('status', sa.Enum('PENDING', 'RUNNING', 'COMPLETED', 'FAILED', 'CANCELLED', name='executionstatus'), nullable=False, comment='执行状态'), - sa.Column('input_data', sa.JSON(), nullable=True, comment='输入数据'), - sa.Column('output_data', sa.JSON(), nullable=True, comment='输出数据'), - sa.Column('started_at', sa.String(length=50), nullable=True, comment='开始时间'), - sa.Column('completed_at', sa.String(length=50), nullable=True, comment='完成时间'), - sa.Column('error_message', sa.Text(), nullable=True, comment='错误信息'), - sa.Column('executor_id', sa.Integer(), nullable=False, comment='执行者ID'), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(['executor_id'], ['users.id'], name=op.f('fk_workflow_executions_executor_id_users')), - sa.ForeignKeyConstraint(['workflow_id'], ['workflows.id'], name=op.f('fk_workflow_executions_workflow_id_workflows')), - sa.PrimaryKeyConstraint('id', name=op.f('pk_workflow_executions')) - ) - op.create_index(op.f('ix_workflow_executions_id'), 'workflow_executions', ['id'], unique=False) - op.create_table('node_executions', - sa.Column('workflow_execution_id', sa.Integer(), nullable=False, comment='工作流执行ID'), - sa.Column('node_id', sa.String(length=50), nullable=False, comment='节点ID'), - sa.Column('node_type', sa.Enum('START', 'END', 'LLM', 'CONDITION', 'LOOP', 'CODE', 'HTTP', 'TOOL', name='nodetype'), nullable=False, comment='节点类型'), - sa.Column('node_name', sa.String(length=100), nullable=False, comment='节点名称'), - sa.Column('status', sa.Enum('PENDING', 'RUNNING', 'COMPLETED', 'FAILED', 'CANCELLED', name='executionstatus'), nullable=False, comment='执行状态'), - sa.Column('input_data', sa.JSON(), nullable=True, comment='输入数据'), - sa.Column('output_data', sa.JSON(), nullable=True, comment='输出数据'), - sa.Column('started_at', sa.String(length=50), nullable=True, comment='开始时间'), - sa.Column('completed_at', sa.String(length=50), nullable=True, comment='完成时间'), - sa.Column('duration_ms', sa.Integer(), nullable=True, comment='执行时长(毫秒)'), - sa.Column('error_message', sa.Text(), nullable=True, comment='错误信息'), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=False), - sa.Column('created_by', sa.Integer(), nullable=True), - sa.Column('updated_by', sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(['workflow_execution_id'], ['workflow_executions.id'], name=op.f('fk_node_executions_workflow_execution_id_workflow_executions')), - sa.PrimaryKeyConstraint('id', name=op.f('pk_node_executions')) - ) - op.create_index(op.f('ix_node_executions_id'), 'node_executions', ['id'], unique=False) - # ### end Alembic commands ### - - -def downgrade() -> None: - """Downgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_node_executions_id'), table_name='node_executions') - op.drop_table('node_executions') - op.drop_index(op.f('ix_workflow_executions_id'), table_name='workflow_executions') - op.drop_table('workflow_executions') - op.drop_index(op.f('ix_workflows_id'), table_name='workflows') - op.drop_table('workflows') - op.drop_table('user_roles') - op.drop_index(op.f('ix_users_username'), table_name='users') - op.drop_index(op.f('ix_users_id'), table_name='users') - op.drop_index(op.f('ix_users_email'), table_name='users') - op.drop_table('users') - op.drop_index(op.f('ix_table_metadata_table_name'), table_name='table_metadata') - op.drop_index(op.f('ix_table_metadata_id'), table_name='table_metadata') - op.drop_table('table_metadata') - op.drop_index(op.f('ix_roles_name'), table_name='roles') - op.drop_index(op.f('ix_roles_id'), table_name='roles') - op.drop_index(op.f('ix_roles_code'), table_name='roles') - op.drop_table('roles') - op.drop_index(op.f('ix_messages_id'), table_name='messages') - op.drop_table('messages') - op.drop_index(op.f('ix_llm_configs_provider'), table_name='llm_configs') - op.drop_index(op.f('ix_llm_configs_name'), table_name='llm_configs') - op.drop_index(op.f('ix_llm_configs_id'), table_name='llm_configs') - op.drop_table('llm_configs') - op.drop_index(op.f('ix_knowledge_bases_name'), table_name='knowledge_bases') - op.drop_index(op.f('ix_knowledge_bases_id'), table_name='knowledge_bases') - op.drop_table('knowledge_bases') - op.drop_index(op.f('ix_excel_files_id'), table_name='excel_files') - op.drop_table('excel_files') - op.drop_index(op.f('ix_documents_id'), table_name='documents') - op.drop_table('documents') - op.drop_index(op.f('ix_database_configs_id'), table_name='database_configs') - op.drop_table('database_configs') - op.drop_index(op.f('ix_conversations_id'), table_name='conversations') - op.drop_table('conversations') - op.drop_index(op.f('ix_agent_configs_name'), table_name='agent_configs') - op.drop_index(op.f('ix_agent_configs_id'), table_name='agent_configs') - op.drop_table('agent_configs') - # ### end Alembic commands ### diff --git a/backend/apps/drgraph/drgraph_session.py b/backend/apps/drgraph/drgraph_session.py deleted file mode 100644 index d079de1..0000000 --- a/backend/apps/drgraph/drgraph_session.py +++ /dev/null @@ -1,66 +0,0 @@ -import re -import traceback -from loguru import logger - -class DrGraphSession: - def __init__(self, stepIndex: int, msg: str, session_id: str): - logger.info(f"DrGraphSession.__init__: stepIndex={stepIndex}, msg={msg}, session_id={session_id}") - self.stepIndex = stepIndex - self.session_id = session_id - - match = re.search(r";(-\d+)", msg); - level = -3 - if match: - level = int(match.group(1)) - value = value.replace(f";{level}", "") - level = -3 + level - - if "警告" in value or value.startswith("WARNING"): - self.log_warning(f"第 {self.stepIndex} 步 - {value}", level = level) - elif "异常" in value or value.startswith("EXCEPTION"): - self.log_exception(f"第 {self.stepIndex} 步 - {value}", level = level) - elif "成功" in value or value.startswith("SUCCESS"): - self.log_success(f"第 {self.stepIndex} 步 - {value}", level = level) - elif "开始" in value or value.startswith("START"): - self.log_success(f"第 {self.stepIndex} 步 - {value}", level = level) - elif "失败" in value or value.startswith("ERROR"): - self.log_error(f"第 {self.stepIndex} 步 - {value}", level = level) - else: - self.log_info(f"第 {self.stepIndex} 步 - {value}", level = level) - - def log_prefix(self) -> str: - """Get log prefix with session ID and desc.""" - return f"〖Session{self.session_id}〗" - - def parse_source_pos(self, level: int): - pos = (traceback.format_stack())[level - 1].strip().split('\n')[0] - match = re.search(r"File \"(.+?)\", line (\d+), in (\w+)", pos); - if match: - file = match.group(1).replace("F:\\DrGraph_Python\\FastAPI\\", "") - pos = f"{file}:{match.group(2)} in {match.group(3)}" - return pos - - def log_info(self, msg: str, level: int = -2): - """Log info message with session ID.""" - pos = self.parse_source_pos(level) - logger.info(f"{self.log_prefix()} {msg} >>> @ {pos}") - - def log_success(self, msg: str, level: int = -2): - """Log success message with session ID.""" - pos = self.parse_source_pos(level) - logger.success(f"{self.log_prefix()} {msg} >>> @ {pos}") - - def log_warning(self, msg: str, level: int = -2): - """Log warning message with session ID.""" - pos = self.parse_source_pos(level) - logger.warning(f"{self.log_prefix()} {msg} >>> @ {pos}") - - def log_error(self, msg: str, level: int = -2): - """Log error message with session ID.""" - pos = self.parse_source_pos(level) - logger.error(f"{self.log_prefix()} {msg} >>> @ {pos}") - - def log_exception(self, msg: str, level: int = -2): - """Log exception message with session ID.""" - pos = self.parse_source_pos(level) - logger.exception(f"{self.log_prefix()} {msg} >>> @ {pos}") diff --git a/backend/check_jwt.py b/backend/check_jwt.py deleted file mode 100644 index 3e145ce..0000000 --- a/backend/check_jwt.py +++ /dev/null @@ -1,9 +0,0 @@ -import jwt -import inspect - -print(f"jwt module path: {inspect.getfile(jwt)}") -print(f"jwt module attributes: {dir(jwt)}") -try: - print(f"jwt module __version__: {jwt.__version__}") -except AttributeError: - print("jwt module has no __version__ attribute") diff --git a/backend/configs/settings.yaml b/backend/configs/settings.yaml index d2afc03..a7379f4 100644 --- a/backend/configs/settings.yaml +++ b/backend/configs/settings.yaml @@ -11,7 +11,7 @@ app: file: upload_dir: "./data/uploads" max_size: 10485760 # 10MB - allowed_extensions: [".txt", ".pdf", ".docx", ".md"] + allowed_extensions: [".txt", ".pdf", ".docx", ".doc", ".md"] chunk_size: 1000 chunk_overlap: 200 semantic_splitter_enabled: true # 启用语义分割器 @@ -46,4 +46,11 @@ cors: chat: max_history_length: 10 system_prompt: "你是一个有用的AI助手,请根据提供的上下文信息回答用户的问题。" - max_response_tokens: 1000 \ No newline at end of file + max_response_tokens: 1000 + +# Redis Configuration +redis: + host: "localhost" + port: 6379 + db: 0 + password: null \ No newline at end of file diff --git a/backend/data/logs/app.log b/backend/data/logs/app.log index f386176..6440143 100644 --- a/backend/data/logs/app.log +++ b/backend/data/logs/app.log @@ -3666,3 +3666,11308 @@ 2025-12-04 14:41:35,326 - th_agenter.workflow_api - INFO - Updated workflow: qw -eee233444 by user admin 2025-12-04 14:41:35,327 - root - INFO - Clearing user context 2025-12-04 14:42:15,152 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 14:05:36,099 - root - INFO - Logging configured successfully +2025-12-11 14:05:36,213 - root - INFO - Logging configured successfully +2025-12-11 14:05:36,411 - root - INFO - Starting up TH-Agenter application... +2025-12-11 14:05:36,421 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-11 14:05:36,615 - root - INFO - Database tables created +2025-12-11 14:05:36,615 - root - INFO - Database initialized +2025-12-11 14:09:44,478 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 15:30:24,555 - root - INFO - Logging configured successfully +2025-12-11 15:30:24,675 - root - INFO - Logging configured successfully +2025-12-11 15:30:24,868 - root - INFO - Starting up TH-Agenter application... +2025-12-11 15:30:24,872 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-11 15:30:26,628 - root - INFO - Database tables created +2025-12-11 15:30:26,629 - root - INFO - Database initialized +2025-12-11 15:31:28,282 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 15:33:53,870 - root - INFO - Logging configured successfully +2025-12-11 15:33:53,998 - root - INFO - Logging configured successfully +2025-12-11 15:33:54,161 - root - INFO - Starting up TH-Agenter application... +2025-12-11 15:33:54,165 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-11 15:33:54,241 - root - INFO - Database tables created +2025-12-11 15:33:54,241 - root - INFO - Database initialized +2025-12-11 15:35:49,747 - root - INFO - [MIDDLEWARE] Processing request: GET / +2025-12-11 15:35:49,750 - root - INFO - [MIDDLEWARE] Checking path: / against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:35:49,750 - root - INFO - [MIDDLEWARE] Processing authenticated request: / +2025-12-11 15:35:49,751 - root - INFO - Clearing user context +2025-12-11 15:35:50,605 - root - INFO - [MIDDLEWARE] Processing request: GET / +2025-12-11 15:35:50,606 - root - INFO - [MIDDLEWARE] Checking path: / against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:35:50,606 - root - INFO - [MIDDLEWARE] Processing authenticated request: / +2025-12-11 15:35:50,606 - root - INFO - Clearing user context +2025-12-11 15:35:50,705 - root - INFO - [MIDDLEWARE] Processing request: GET /favicon.ico +2025-12-11 15:35:50,705 - root - INFO - [MIDDLEWARE] Checking path: /favicon.ico against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:35:50,706 - root - INFO - [MIDDLEWARE] Processing authenticated request: /favicon.ico +2025-12-11 15:35:50,706 - root - INFO - Clearing user context +2025-12-11 15:36:00,528 - root - INFO - [MIDDLEWARE] Processing request: GET / +2025-12-11 15:36:00,529 - root - INFO - [MIDDLEWARE] Checking path: / against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:36:00,529 - root - INFO - [MIDDLEWARE] Processing authenticated request: / +2025-12-11 15:36:00,529 - root - INFO - Clearing user context +2025-12-11 15:36:00,577 - root - INFO - [MIDDLEWARE] Processing request: GET /favicon.ico +2025-12-11 15:36:00,578 - root - INFO - [MIDDLEWARE] Checking path: /favicon.ico against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:36:00,578 - root - INFO - [MIDDLEWARE] Processing authenticated request: /favicon.ico +2025-12-11 15:36:00,579 - root - INFO - Clearing user context +2025-12-11 15:36:42,044 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 15:39:58,050 - root - INFO - Logging configured successfully +2025-12-11 15:39:58,144 - root - INFO - Logging configured successfully +2025-12-11 15:39:58,291 - root - INFO - Starting up TH-Agenter application... +2025-12-11 15:39:58,293 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-11 15:39:58,371 - root - INFO - Database tables created +2025-12-11 15:39:58,371 - root - INFO - Database initialized +2025-12-11 15:40:05,444 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 15:40:31,921 - root - INFO - Logging configured successfully +2025-12-11 15:40:32,027 - root - INFO - Logging configured successfully +2025-12-11 15:40:32,115 - root - INFO - Starting up TH-Agenter application... +2025-12-11 15:40:32,119 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-11 15:40:32,203 - root - INFO - Database tables created +2025-12-11 15:40:32,204 - root - INFO - Database initialized +2025-12-11 15:40:54,397 - root - INFO - [MIDDLEWARE] Processing request: GET / +2025-12-11 15:40:54,398 - root - INFO - [MIDDLEWARE] Checking path: / against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:40:54,399 - root - INFO - [MIDDLEWARE] Processing authenticated request: / +2025-12-11 15:40:54,399 - root - INFO - Clearing user context +2025-12-11 15:40:54,488 - root - INFO - [MIDDLEWARE] Processing request: GET /favicon.ico +2025-12-11 15:40:54,488 - root - INFO - [MIDDLEWARE] Checking path: /favicon.ico against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-11 15:40:54,489 - root - INFO - [MIDDLEWARE] Processing authenticated request: /favicon.ico +2025-12-11 15:40:54,489 - root - INFO - Clearing user context +2025-12-11 15:45:36,847 - root - INFO - Shutting down TH-Agenter application... +2025-12-11 15:56:40,689 - root - INFO - Logging configured successfully +2025-12-11 15:56:40,791 - root - INFO - Logging configured successfully +2025-12-11 15:56:40,882 - root - INFO - Starting up TH-Agenter application... +2025-12-11 15:56:40,886 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-11 15:56:40,922 - root - INFO - Database tables created +2025-12-11 15:56:40,923 - root - INFO - Database initialized +2025-12-11 16:31:10,650 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 08:57:02,091 - root - INFO - Logging configured successfully +2025-12-12 08:57:02,270 - root - INFO - Logging configured successfully +2025-12-12 08:57:02,566 - root - INFO - Starting up TH-Agenter application... +2025-12-12 08:57:02,574 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-12 08:57:02,717 - root - INFO - Database tables created +2025-12-12 08:57:02,717 - root - INFO - Database initialized +2025-12-12 09:06:11,221 - root - INFO - Logging configured successfully +2025-12-12 09:06:11,365 - root - INFO - Logging configured successfully +2025-12-12 09:06:11,550 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:06:11,554 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-12 09:06:11,620 - root - INFO - Database tables created +2025-12-12 09:06:11,620 - root - INFO - Database initialized +2025-12-12 09:06:11,622 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:06:36,627 - root - INFO - Logging configured successfully +2025-12-12 09:06:36,815 - root - INFO - Logging configured successfully +2025-12-12 09:06:37,113 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:06:37,121 - root - INFO - PostgreSQL database engine created: postgresql://iagent:iagent@192.168.10.11:5432/iagent +2025-12-12 09:06:37,185 - root - INFO - Database tables created +2025-12-12 09:06:37,185 - root - INFO - Database initialized +2025-12-12 09:06:37,186 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:09:41,021 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:09:41,022 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:09:41,023 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:09:41,024 - root - INFO - Clearing user context +2025-12-12 09:09:41,030 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:09:41,031 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:09:41,032 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:09:41,032 - root - INFO - Clearing user context +2025-12-12 09:09:41,036 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:09:41,037 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:09:41,038 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:09:41,038 - root - INFO - Clearing user context +2025-12-12 09:09:41,043 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:09:41,043 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:09:41,044 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:09:41,044 - root - INFO - Clearing user context +2025-12-12 09:09:41,047 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:09:41,047 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:09:41,048 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:09:41,048 - root - INFO - Clearing user context +2025-12-12 09:10:53,183 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/register +2025-12-12 09:10:53,184 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/register against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:53,184 - root - INFO - [MIDDLEWARE] Path /api/auth/register exactly matches exclude_path /api/auth/register +2025-12-12 09:10:53,184 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/register +2025-12-12 09:10:53,541 - th_agenter.th_agenter.services.user - INFO - User created successfully: jcq +2025-12-12 09:10:57,862 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:10:57,862 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:57,863 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:10:57,864 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:10:58,514 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:10:58,515 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:58,516 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:10:58,516 - root - INFO - Clearing user context +2025-12-12 09:10:58,522 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:58,522 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:58,522 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:58,522 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:58,526 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:10:58,529 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:10:58,530 - root - INFO - Looking for user with username: jcq +2025-12-12 09:10:58,537 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:10:58,545 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:58,545 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:10:58,552 - root - INFO - Clearing user context +2025-12-12 09:10:58,777 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/1 +2025-12-12 09:10:58,777 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/1 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:58,777 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/1 +2025-12-12 09:10:58,778 - root - INFO - Clearing user context +2025-12-12 09:10:58,782 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:58,782 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:58,783 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:58,783 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:58,786 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:10:58,786 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:10:58,786 - root - INFO - Looking for user with username: jcq +2025-12-12 09:10:58,791 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:10:58,792 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:58,793 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:10:58,803 - root - INFO - Clearing user context +2025-12-12 09:10:59,280 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:10:59,282 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,283 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:10:59,284 - root - INFO - Clearing user context +2025-12-12 09:10:59,291 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,292 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,293 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,294 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,297 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:10:59,297 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,298 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:10:59,298 - root - INFO - Clearing user context +2025-12-12 09:10:59,304 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,307 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,307 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,308 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,324 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:10:59,325 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:10:59,326 - root - INFO - Clearing user context +2025-12-12 09:10:59,326 - root - INFO - Looking for user with username: jcq +2025-12-12 09:10:59,334 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:10:59,334 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:10:59,335 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,336 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,336 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:10:59,337 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:10:59,338 - root - INFO - Clearing user context +2025-12-12 09:10:59,362 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,367 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,368 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,368 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,383 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:10:59,386 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,387 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:10:59,387 - root - INFO - Clearing user context +2025-12-12 09:10:59,396 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,396 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,397 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,404 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,411 - root - INFO - Clearing user context +2025-12-12 09:10:59,430 - root - INFO - Clearing user context +2025-12-12 09:10:59,436 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:10:59,440 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,440 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:10:59,441 - root - INFO - Clearing user context +2025-12-12 09:10:59,446 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,446 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,446 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,446 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,449 - root - INFO - Clearing user context +2025-12-12 09:10:59,451 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:10:59,452 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,452 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:10:59,453 - root - INFO - Clearing user context +2025-12-12 09:10:59,460 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,460 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,460 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,460 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,464 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:10:59,465 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:10:59,465 - root - INFO - Looking for user with username: jcq +2025-12-12 09:10:59,472 - root - INFO - Clearing user context +2025-12-12 09:10:59,474 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:10:59,475 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,476 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:10:59,483 - root - INFO - Clearing user context +2025-12-12 09:10:59,762 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:10:59,763 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:10:59,764 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:10:59,764 - root - INFO - Clearing user context +2025-12-12 09:10:59,768 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:10:59,768 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:10:59,769 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:10:59,770 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:10:59,776 - root - INFO - Clearing user context +2025-12-12 09:11:00,094 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:11:00,098 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:00,099 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:11:00,099 - root - INFO - Clearing user context +2025-12-12 09:11:00,107 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:00,124 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:00,126 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:00,127 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:00,138 - root - INFO - Clearing user context +2025-12-12 09:11:01,589 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:11:01,590 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:01,590 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:11:01,591 - root - INFO - Clearing user context +2025-12-12 09:11:01,596 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:01,597 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:01,597 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:01,598 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:01,601 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:11:01,602 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:11:01,603 - root - INFO - Looking for user with username: jcq +2025-12-12 09:11:01,608 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:11:01,610 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:01,610 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:11:01,615 - root - INFO - Clearing user context +2025-12-12 09:11:06,676 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/ +2025-12-12 09:11:06,676 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:06,677 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:11:06,677 - root - INFO - Clearing user context +2025-12-12 09:11:06,681 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:06,681 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:06,682 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:06,682 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:06,685 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:11:06,685 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:11:06,686 - root - INFO - Looking for user with username: jcq +2025-12-12 09:11:06,689 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:11:06,690 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:06,690 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:11:06,736 - th_agenter.services.knowledge_base - INFO - Created knowledge base: 1 (ID: 1) +2025-12-12 09:11:06,738 - root - INFO - Clearing user context +2025-12-12 09:11:24,013 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:11:24,013 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:24,014 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:11:24,014 - root - INFO - Clearing user context +2025-12-12 09:11:24,019 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:24,020 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:24,021 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:24,022 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:24,028 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:11:24,030 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:11:24,032 - root - INFO - Looking for user with username: jcq +2025-12-12 09:11:24,038 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:11:24,039 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:24,039 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:11:24,063 - root - INFO - Clearing user context +2025-12-12 09:11:32,728 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/1/documents +2025-12-12 09:11:32,729 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:32,730 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:11:32,731 - root - INFO - Clearing user context +2025-12-12 09:11:32,738 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:32,738 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:32,738 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:32,739 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:32,745 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:11:32,746 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:11:32,747 - root - INFO - Looking for user with username: jcq +2025-12-12 09:11:32,752 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:11:32,753 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:32,753 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:11:32,987 - th_agenter.services.document - INFO - Uploaded document: 高速公路低空算法验证方案.docx to KB 1 (Doc ID: 1) +2025-12-12 09:11:33,089 - th_agenter.llm_config_service - WARNING - 未找到默认嵌入模型配置 +2025-12-12 09:11:33,090 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 09:11:33,346 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 09:11:33,348 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 09:11:33,355 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 1, 路径: e:\Work\HXF\backend\data\uploads\kb_1\4e71f1b4-df3c-4ad4-b839-e8af49c00c76_高速公路低空算法验证方案.docx +2025-12-12 09:11:33,358 - th_agenter.services.document_processor - ERROR - 加载文档失败 e:\Work\HXF\backend\data\uploads\kb_1\4e71f1b4-df3c-4ad4-b839-e8af49c00c76_高速公路低空算法验证方案.docx: No module named 'docx2txt' +2025-12-12 09:11:33,358 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 1: No module named 'docx2txt' +2025-12-12 09:11:33,372 - root - INFO - Clearing user context +2025-12-12 09:11:35,387 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:11:35,388 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:11:35,388 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:11:35,389 - root - INFO - Clearing user context +2025-12-12 09:11:35,395 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:11:35,396 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:35,396 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:11:35,397 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:11:35,401 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:11:35,402 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765519858} +2025-12-12 09:11:35,402 - root - INFO - Looking for user with username: jcq +2025-12-12 09:11:35,408 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:11:35,408 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:11:35,408 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:11:35,420 - root - INFO - Clearing user context +2025-12-12 09:12:00,168 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/1/search +2025-12-12 09:12:00,169 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:12:00,169 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/search +2025-12-12 09:12:00,170 - root - INFO - Clearing user context +2025-12-12 09:12:00,176 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:12:00,176 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:12:00,177 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:12:00,177 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:12:00,179 - root - INFO - Clearing user context +2025-12-12 09:15:45,155 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:15:45,155 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:15:45,156 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:15:45,156 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:15:45,163 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:15:48,798 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:15:48,798 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:15:48,798 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:15:48,799 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:15:48,807 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:16:10,910 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:16:10,910 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:16:10,910 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:16:10,911 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:16:10,916 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:17:02,248 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:17:02,248 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:02,249 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:17:02,249 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:17:02,930 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:17:02,932 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:02,932 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:17:02,933 - root - INFO - Clearing user context +2025-12-12 09:17:02,939 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:02,953 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:02,954 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:02,960 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:02,964 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:02,965 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:02,965 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:02,971 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:02,971 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:02,971 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:02,977 - root - INFO - Clearing user context +2025-12-12 09:17:03,192 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/1 +2025-12-12 09:17:03,193 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/1 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,193 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/1 +2025-12-12 09:17:03,193 - root - INFO - Clearing user context +2025-12-12 09:17:03,196 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,197 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,197 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,197 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,199 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:03,199 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:03,199 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:03,202 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:03,202 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,202 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:03,207 - root - INFO - Clearing user context +2025-12-12 09:17:03,303 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:17:03,304 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,304 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:17:03,305 - root - INFO - Clearing user context +2025-12-12 09:17:03,310 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,310 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,310 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,311 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,314 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:03,315 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:03,315 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:03,321 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:03,321 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,321 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:03,333 - root - INFO - Clearing user context +2025-12-12 09:17:03,570 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:17:03,570 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,571 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:17:03,571 - root - INFO - Clearing user context +2025-12-12 09:17:03,576 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,576 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,577 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,577 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,579 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:17:03,581 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,581 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:17:03,582 - root - INFO - Clearing user context +2025-12-12 09:17:03,589 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,589 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,590 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,590 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,610 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:03,612 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:03,613 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:03,611 - root - INFO - Clearing user context +2025-12-12 09:17:03,619 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:03,622 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,622 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:03,635 - root - INFO - Clearing user context +2025-12-12 09:17:03,641 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:17:03,643 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,645 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:17:03,646 - root - INFO - Clearing user context +2025-12-12 09:17:03,659 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,669 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,671 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,672 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,686 - root - INFO - Clearing user context +2025-12-12 09:17:03,933 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:17:03,934 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,935 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:17:03,935 - root - INFO - Clearing user context +2025-12-12 09:17:03,941 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,941 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,941 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,941 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,943 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:17:03,944 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:03,944 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:17:03,944 - root - INFO - Clearing user context +2025-12-12 09:17:03,948 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:03,950 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:03,951 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:03,951 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:03,962 - root - INFO - Clearing user context +2025-12-12 09:17:03,963 - root - INFO - Clearing user context +2025-12-12 09:17:04,011 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:17:04,014 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:04,015 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:17:04,015 - root - INFO - Clearing user context +2025-12-12 09:17:04,021 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:04,025 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:04,025 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:04,026 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:04,037 - root - INFO - Clearing user context +2025-12-12 09:17:04,272 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:17:04,273 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:04,273 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:17:04,273 - root - INFO - Clearing user context +2025-12-12 09:17:04,278 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:04,278 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:04,278 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:04,278 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:04,286 - root - INFO - Clearing user context +2025-12-12 09:17:06,349 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:17:06,349 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:06,349 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:17:06,349 - root - INFO - Clearing user context +2025-12-12 09:17:06,355 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:06,355 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:06,355 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:06,356 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:06,358 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:06,359 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:06,360 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:06,366 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:06,369 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:06,369 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:06,382 - root - INFO - Clearing user context +2025-12-12 09:17:08,772 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:17:08,773 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:08,773 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:17:08,774 - root - INFO - Clearing user context +2025-12-12 09:17:08,779 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:08,780 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:08,780 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:08,780 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:08,786 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:08,787 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:08,788 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:08,800 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:08,801 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:08,801 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:08,812 - root - INFO - Clearing user context +2025-12-12 09:17:24,440 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/ +2025-12-12 09:17:24,440 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:24,441 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:17:24,441 - root - INFO - Clearing user context +2025-12-12 09:17:24,445 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:24,445 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:24,445 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:24,446 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:24,449 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:24,449 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:24,450 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:24,453 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:24,454 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:24,455 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:24,495 - th_agenter.services.knowledge_base - INFO - Created knowledge base: test (ID: 2) +2025-12-12 09:17:24,498 - root - INFO - Clearing user context +2025-12-12 09:17:27,279 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:17:27,280 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:27,280 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:17:27,280 - root - INFO - Clearing user context +2025-12-12 09:17:27,285 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:27,286 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:27,286 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:27,286 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:27,288 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:27,289 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:27,289 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:27,294 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:27,295 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:27,295 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:27,312 - root - INFO - Clearing user context +2025-12-12 09:17:43,272 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:17:43,273 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:43,273 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:17:43,274 - root - INFO - Clearing user context +2025-12-12 09:17:43,279 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:43,280 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:43,281 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:43,281 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:43,284 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:43,285 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:43,285 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:43,290 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:43,291 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:43,291 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:43,301 - root - INFO - Clearing user context +2025-12-12 09:17:52,306 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/2/documents +2025-12-12 09:17:52,314 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:52,315 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:17:52,315 - root - INFO - Clearing user context +2025-12-12 09:17:52,320 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:52,322 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:52,323 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:52,323 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:52,391 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:52,392 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:52,392 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:52,397 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:52,398 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:52,399 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:52,445 - th_agenter.services.document - INFO - Uploaded document: 陕西算法分析统计1023.docx to KB 2 (Doc ID: 2) +2025-12-12 09:17:52,453 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 2, 路径: e:\Work\HXF\backend\data\uploads\kb_2\758a9e60-82a4-4099-818a-186aa0440db6_陕西算法分析统计1023.docx +2025-12-12 09:17:52,455 - th_agenter.services.document_processor - ERROR - 加载文档失败 e:\Work\HXF\backend\data\uploads\kb_2\758a9e60-82a4-4099-818a-186aa0440db6_陕西算法分析统计1023.docx: No module named 'docx2txt' +2025-12-12 09:17:52,455 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 2: No module named 'docx2txt' +2025-12-12 09:17:52,469 - root - INFO - Clearing user context +2025-12-12 09:17:54,483 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:17:54,483 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:17:54,483 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:17:54,483 - root - INFO - Clearing user context +2025-12-12 09:17:54,488 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:17:54,488 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:54,488 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:17:54,488 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:17:54,491 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:17:54,491 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:17:54,491 - root - INFO - Looking for user with username: jcq +2025-12-12 09:17:54,495 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:17:54,500 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:17:54,503 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:17:54,530 - root - INFO - Clearing user context +2025-12-12 09:18:11,960 - root - INFO - [MIDDLEWARE] Processing request: GET /api/workflows/ +2025-12-12 09:18:11,961 - root - INFO - [MIDDLEWARE] Checking path: /api/workflows/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:11,961 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/workflows/ +2025-12-12 09:18:11,962 - root - INFO - Clearing user context +2025-12-12 09:18:11,968 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:11,969 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:11,969 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:11,970 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:11,973 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:11,973 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:11,973 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:11,978 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:11,978 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:11,979 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:11,996 - root - INFO - Clearing user context +2025-12-12 09:18:12,233 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:18:12,235 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:12,238 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:18:12,239 - root - INFO - Clearing user context +2025-12-12 09:18:12,250 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:12,251 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,251 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:12,251 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:12,255 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:12,256 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:12,257 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:12,263 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:12,264 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,264 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:12,268 - root - INFO - Clearing user context +2025-12-12 09:18:12,275 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/1 +2025-12-12 09:18:12,276 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/1 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:12,276 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/1 +2025-12-12 09:18:12,277 - root - INFO - Clearing user context +2025-12-12 09:18:12,281 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:12,282 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,282 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:12,283 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:12,287 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:12,288 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:12,289 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:12,294 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:12,295 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,296 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:12,302 - root - INFO - Clearing user context +2025-12-12 09:18:12,689 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:18:12,689 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:12,690 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:18:12,690 - root - INFO - Clearing user context +2025-12-12 09:18:12,696 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:12,707 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,707 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:12,707 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:12,709 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:18:12,710 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:12,711 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:18:12,712 - root - INFO - Clearing user context +2025-12-12 09:18:12,719 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:12,720 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,722 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:12,725 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:12,730 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:12,733 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:12,734 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:12,738 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:12,740 - root - INFO - Clearing user context +2025-12-12 09:18:12,741 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,741 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:12,759 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:18:12,760 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:12,761 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:18:12,762 - root - INFO - Clearing user context +2025-12-12 09:18:12,768 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:12,774 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:12,774 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:12,774 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:12,779 - root - INFO - Clearing user context +2025-12-12 09:18:12,796 - root - INFO - Clearing user context +2025-12-12 09:18:20,234 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:18:20,235 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:20,235 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:18:20,236 - root - INFO - Clearing user context +2025-12-12 09:18:20,243 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:20,244 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:20,244 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:20,244 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:20,248 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:20,249 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:20,250 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:20,255 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:20,256 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:20,257 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:20,268 - root - INFO - Clearing user context +2025-12-12 09:18:22,221 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:18:22,222 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:22,222 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:18:22,223 - root - INFO - Clearing user context +2025-12-12 09:18:22,229 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:22,230 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:22,230 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:22,230 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:22,233 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:22,234 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:22,235 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:22,243 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:22,243 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:22,244 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:22,263 - root - INFO - Clearing user context +2025-12-12 09:18:23,154 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:18:23,154 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:23,154 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:18:23,155 - root - INFO - Clearing user context +2025-12-12 09:18:23,160 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:23,160 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:23,160 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:23,160 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:23,163 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:23,163 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:23,163 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:23,168 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:23,176 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:23,178 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:23,192 - root - INFO - Clearing user context +2025-12-12 09:18:35,789 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:18:35,789 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:35,789 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:18:35,789 - root - INFO - Clearing user context +2025-12-12 09:18:35,795 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:35,796 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:35,796 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:35,796 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:35,799 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:35,799 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:35,800 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:35,805 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:35,805 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:35,806 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:35,817 - root - INFO - Clearing user context +2025-12-12 09:18:55,049 - root - INFO - [MIDDLEWARE] Processing request: GET /api/workflows/ +2025-12-12 09:18:55,051 - root - INFO - [MIDDLEWARE] Checking path: /api/workflows/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:55,053 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/workflows/ +2025-12-12 09:18:55,054 - root - INFO - Clearing user context +2025-12-12 09:18:55,060 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:55,063 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:55,063 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:55,063 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:55,069 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:55,069 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:55,070 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:55,076 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:55,076 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:55,076 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:55,083 - root - INFO - Clearing user context +2025-12-12 09:18:58,165 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:18:58,165 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:58,166 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:18:58,166 - root - INFO - Clearing user context +2025-12-12 09:18:58,171 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:58,172 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,173 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:58,173 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:58,177 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:58,178 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:58,178 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:58,183 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:58,184 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,185 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:58,190 - root - INFO - Clearing user context +2025-12-12 09:18:58,198 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/1 +2025-12-12 09:18:58,199 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/1 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:58,200 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/1 +2025-12-12 09:18:58,200 - root - INFO - Clearing user context +2025-12-12 09:18:58,204 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:58,206 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,207 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:58,207 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:58,210 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:18:58,211 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:18:58,212 - root - INFO - Looking for user with username: jcq +2025-12-12 09:18:58,216 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:18:58,217 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,217 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:18:58,224 - root - INFO - Clearing user context +2025-12-12 09:18:58,609 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:18:58,609 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:58,610 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:18:58,610 - root - INFO - Clearing user context +2025-12-12 09:18:58,615 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:58,616 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,618 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:58,619 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:58,629 - root - INFO - Clearing user context +2025-12-12 09:18:58,639 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:18:58,639 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:18:58,640 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:18:58,640 - root - INFO - Clearing user context +2025-12-12 09:18:58,651 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:18:58,651 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:18:58,652 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:18:58,652 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:18:58,667 - root - INFO - Clearing user context +2025-12-12 09:19:02,259 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:19:02,260 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:02,260 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:19:02,261 - root - INFO - Clearing user context +2025-12-12 09:19:02,268 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:02,268 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:02,268 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:02,269 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:02,280 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:02,282 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:02,283 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:02,291 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:02,294 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:02,294 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:02,312 - root - INFO - Clearing user context +2025-12-12 09:19:05,060 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:19:05,061 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:05,061 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:19:05,062 - root - INFO - Clearing user context +2025-12-12 09:19:05,067 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:05,067 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:05,068 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:05,068 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:05,070 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:05,071 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:05,071 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:05,075 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:05,076 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:05,076 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:05,086 - root - INFO - Clearing user context +2025-12-12 09:19:32,732 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:19:32,733 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:32,733 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:19:32,734 - root - INFO - Clearing user context +2025-12-12 09:19:32,739 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:32,740 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:32,740 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:32,741 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:32,744 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:32,745 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:32,745 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:32,749 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:32,749 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:32,750 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:32,755 - root - INFO - Clearing user context +2025-12-12 09:19:32,763 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/1 +2025-12-12 09:19:32,764 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/1 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:32,764 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/1 +2025-12-12 09:19:32,765 - root - INFO - Clearing user context +2025-12-12 09:19:32,770 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:32,771 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:32,771 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:32,771 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:32,775 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:32,775 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:32,775 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:32,780 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:32,780 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:32,781 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:32,789 - root - INFO - Clearing user context +2025-12-12 09:19:33,046 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:19:33,047 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:33,047 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:19:33,047 - root - INFO - Clearing user context +2025-12-12 09:19:33,053 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:33,053 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:33,054 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:33,054 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:33,066 - root - INFO - Clearing user context +2025-12-12 09:19:33,076 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 09:19:33,076 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:33,077 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 09:19:33,078 - root - INFO - Clearing user context +2025-12-12 09:19:33,085 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:33,085 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:33,088 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:33,088 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:33,098 - root - INFO - Clearing user context +2025-12-12 09:19:43,326 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:19:43,326 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:43,327 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:19:43,327 - root - INFO - Clearing user context +2025-12-12 09:19:43,333 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:43,333 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:43,333 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:43,334 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:43,338 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:43,338 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:43,338 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:43,351 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:43,351 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:43,352 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:43,370 - root - INFO - Clearing user context +2025-12-12 09:19:53,123 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:19:53,124 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:19:53,124 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:19:53,124 - root - INFO - Clearing user context +2025-12-12 09:19:53,132 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:19:53,133 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:53,133 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:19:53,133 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:19:53,137 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:19:53,138 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:19:53,139 - root - INFO - Looking for user with username: jcq +2025-12-12 09:19:53,145 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:19:53,146 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:19:53,146 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:19:53,157 - root - INFO - Clearing user context +2025-12-12 09:22:48,126 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:22:48,126 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:22:48,127 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:22:48,127 - root - INFO - Clearing user context +2025-12-12 09:22:48,132 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:22:48,133 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:48,133 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:22:48,133 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:22:48,136 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:22:48,136 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:22:48,137 - root - INFO - Looking for user with username: jcq +2025-12-12 09:22:48,142 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:22:48,142 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:48,142 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:22:48,150 - root - INFO - Clearing user context +2025-12-12 09:22:48,494 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:22:48,494 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:22:48,495 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:22:48,495 - root - INFO - Clearing user context +2025-12-12 09:22:48,501 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:22:48,502 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:48,503 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:22:48,503 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:22:48,507 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:22:48,507 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:22:48,507 - root - INFO - Looking for user with username: jcq +2025-12-12 09:22:48,512 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:22:48,513 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:48,513 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:22:48,524 - root - INFO - Clearing user context +2025-12-12 09:22:53,061 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:22:53,061 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:22:53,062 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:22:53,062 - root - INFO - Clearing user context +2025-12-12 09:22:53,066 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:22:53,067 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:53,067 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:22:53,067 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:22:53,069 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:22:53,069 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:22:53,069 - root - INFO - Looking for user with username: jcq +2025-12-12 09:22:53,073 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:22:53,075 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:53,075 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:22:53,083 - root - INFO - Clearing user context +2025-12-12 09:22:58,805 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:22:58,806 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:22:58,806 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:22:58,806 - root - INFO - Clearing user context +2025-12-12 09:22:58,812 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:22:58,813 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:58,813 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:22:58,813 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:22:58,816 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:22:58,816 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:22:58,817 - root - INFO - Looking for user with username: jcq +2025-12-12 09:22:58,821 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:22:58,821 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:22:58,822 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:22:58,831 - root - INFO - Clearing user context +2025-12-12 09:23:00,832 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:23:00,833 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:23:00,833 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:23:00,833 - root - INFO - Clearing user context +2025-12-12 09:23:00,838 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:23:00,839 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:00,839 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:23:00,840 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:23:00,842 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:23:00,843 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:23:00,843 - root - INFO - Looking for user with username: jcq +2025-12-12 09:23:00,847 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:23:00,848 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:00,848 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:23:00,855 - root - INFO - Clearing user context +2025-12-12 09:23:05,525 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/1/documents +2025-12-12 09:23:05,526 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/1/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:23:05,526 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/1/documents +2025-12-12 09:23:05,526 - root - INFO - Clearing user context +2025-12-12 09:23:05,531 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:23:05,532 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:05,532 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:23:05,533 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:23:05,535 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:23:05,536 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:23:05,536 - root - INFO - Looking for user with username: jcq +2025-12-12 09:23:05,541 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:23:05,541 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:05,541 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:23:05,550 - root - INFO - Clearing user context +2025-12-12 09:23:13,823 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/2/documents +2025-12-12 09:23:13,824 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/2/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:23:13,825 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/2/documents +2025-12-12 09:23:13,825 - root - INFO - Clearing user context +2025-12-12 09:23:13,830 - root - INFO - Setting user in context with token: jcq (ID: 1) +2025-12-12 09:23:13,831 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:13,831 - root - INFO - User jcq (ID: 1) authenticated and set in context +2025-12-12 09:23:13,831 - root - INFO - Verified current user ID in context: 1 +2025-12-12 09:23:13,834 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:23:13,834 - root - INFO - Token payload: {'sub': 'jcq', 'exp': 1765520222} +2025-12-12 09:23:13,835 - root - INFO - Looking for user with username: jcq +2025-12-12 09:23:13,839 - root - INFO - Setting user in context: jcq (ID: 1) +2025-12-12 09:23:13,839 - root - INFO - Verification - ContextVar user: jcq +2025-12-12 09:23:13,839 - root - INFO - User jcq (ID: 1) set in UserContext +2025-12-12 09:23:13,847 - root - INFO - Clearing user context +2025-12-12 09:25:45,370 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:26:29,905 - root - INFO - Logging configured successfully +2025-12-12 09:26:29,997 - root - INFO - Logging configured successfully +2025-12-12 09:26:30,153 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:26:30,163 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:26:30,172 - root - INFO - Database tables created +2025-12-12 09:26:30,173 - root - INFO - Database initialized +2025-12-12 09:27:36,728 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:27:36,729 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:27:36,729 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:27:36,729 - root - INFO - Clearing user context +2025-12-12 09:27:37,066 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:27:37,066 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:27:37,066 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:27:37,066 - root - INFO - Clearing user context +2025-12-12 09:27:37,388 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:27:37,389 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:27:37,389 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:27:37,390 - root - INFO - Clearing user context +2025-12-12 09:27:41,299 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:27:41,300 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:27:41,300 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:27:41,300 - root - INFO - Clearing user context +2025-12-12 09:28:01,605 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:28:01,605 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:28:01,605 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:28:01,606 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:28:01,611 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:28:22,819 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:28:22,823 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:28:22,824 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:28:22,824 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:28:22,838 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:28:26,965 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:28:26,966 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:28:26,967 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:28:26,967 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:28:26,969 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:28:56,642 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:28:56,643 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:28:56,644 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:28:56,644 - root - INFO - Clearing user context +2025-12-12 09:28:56,883 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:28:56,884 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:28:56,885 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:28:56,885 - root - INFO - Clearing user context +2025-12-12 09:29:04,402 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:29:28,454 - root - INFO - Logging configured successfully +2025-12-12 09:29:28,564 - root - INFO - Logging configured successfully +2025-12-12 09:29:28,717 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:29:28,724 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:29:28,728 - root - INFO - Database tables created +2025-12-12 09:29:28,729 - root - INFO - Database initialized +2025-12-12 09:29:54,224 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:54,225 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:54,226 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:54,226 - root - INFO - Clearing user context +2025-12-12 09:29:54,416 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:54,417 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:54,417 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:54,417 - root - INFO - Clearing user context +2025-12-12 09:29:57,771 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:57,773 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:57,773 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:57,773 - root - INFO - Clearing user context +2025-12-12 09:29:58,572 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:29:58,573 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,573 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:29:58,573 - root - INFO - Clearing user context +2025-12-12 09:29:58,606 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:29:58,607 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,607 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:29:58,608 - root - INFO - Clearing user context +2025-12-12 09:29:58,613 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:29:58,613 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,614 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:29:58,614 - root - INFO - Clearing user context +2025-12-12 09:29:58,618 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:58,619 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,620 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:58,620 - root - INFO - Clearing user context +2025-12-12 09:29:58,932 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 09:29:58,933 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,933 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 09:29:58,933 - root - INFO - Clearing user context +2025-12-12 09:29:58,939 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:58,943 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,944 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:58,944 - root - INFO - Clearing user context +2025-12-12 09:29:58,949 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 09:29:58,950 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:58,951 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 09:29:58,951 - root - INFO - Clearing user context +2025-12-12 09:29:59,262 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:59,262 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:59,262 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:59,263 - root - INFO - Clearing user context +2025-12-12 09:29:59,574 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:59,575 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:59,575 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:59,575 - root - INFO - Clearing user context +2025-12-12 09:29:59,837 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:59,838 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:59,838 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:59,838 - root - INFO - Clearing user context +2025-12-12 09:29:59,884 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:29:59,886 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:29:59,886 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:29:59,887 - root - INFO - Clearing user context +2025-12-12 09:30:00,146 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:30:00,147 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:30:00,147 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:30:00,148 - root - INFO - Clearing user context +2025-12-12 09:30:25,022 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:30:25,023 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:30:25,023 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:30:25,024 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:30:25,032 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:43:53,238 - root - INFO - Logging configured successfully +2025-12-12 09:43:53,424 - root - INFO - Logging configured successfully +2025-12-12 09:43:53,659 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:43:53,671 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:43:53,675 - root - INFO - Database tables created +2025-12-12 09:43:53,675 - root - INFO - Database initialized +2025-12-12 09:43:53,678 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:48:02,802 - root - INFO - Logging configured successfully +2025-12-12 09:48:02,905 - root - INFO - Logging configured successfully +2025-12-12 09:48:03,066 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:48:03,077 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:48:03,081 - root - INFO - Database tables created +2025-12-12 09:48:03,081 - root - INFO - Database initialized +2025-12-12 09:48:10,094 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:48:10,095 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:48:10,096 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:48:10,096 - root - INFO - Clearing user context +2025-12-12 09:48:10,096 - root - INFO - User context cleared before authentication +2025-12-12 09:48:10,097 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY3EiLCJleHAiOjE3NjU1MjAyMjJ9.G0HxiFxzlg5dAUGoofkmdVVcsdgRsT1qFujtFgkSQL4 +2025-12-12 09:48:10,098 - root - ERROR - Token verification failed: Signature verification failed +2025-12-12 09:48:10,098 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:48:10,098 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-12 09:48:10,099 - root - ERROR - Algorithm: HS256 +2025-12-12 09:48:49,208 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:48:49,209 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:48:49,209 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:48:49,210 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:48:49,265 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:49:14,911 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:49:26,634 - root - INFO - Logging configured successfully +2025-12-12 09:49:26,733 - root - INFO - Logging configured successfully +2025-12-12 09:49:26,884 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:49:26,891 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:49:26,895 - root - INFO - Database tables created +2025-12-12 09:49:26,896 - root - INFO - Database initialized +2025-12-12 09:51:53,099 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:52:04,300 - root - INFO - Logging configured successfully +2025-12-12 09:52:04,394 - root - INFO - Logging configured successfully +2025-12-12 09:52:04,529 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:52:04,537 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:52:04,541 - root - INFO - Database tables created +2025-12-12 09:52:04,541 - root - INFO - Database initialized +2025-12-12 09:52:29,981 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 09:52:29,982 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:52:29,982 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 09:52:29,983 - root - INFO - Clearing user context +2025-12-12 09:52:29,983 - root - INFO - User context cleared before authentication +2025-12-12 09:52:29,983 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY3EiLCJleHAiOjE3NjU1MjAyMjJ9.G0HxiFxzlg5dAUGoofkmdVVcsdgRsT1qFujtFgkSQL4 +2025-12-12 09:52:29,984 - root - ERROR - Token verification failed: Signature verification failed +2025-12-12 09:52:29,984 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqY... +2025-12-12 09:52:29,984 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-12 09:52:29,985 - root - ERROR - Algorithm: HS256 +2025-12-12 09:53:27,751 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 09:53:27,751 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 09:53:27,752 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 09:53:27,752 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 09:53:27,801 - root - ERROR - Database session error: 401: Incorrect email or password +2025-12-12 09:53:47,637 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 09:55:35,342 - root - INFO - Logging configured successfully +2025-12-12 09:56:19,789 - root - INFO - Logging configured successfully +2025-12-12 09:56:19,888 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:56:19,889 - th_agenter.__main__ - INFO - Starting system data initialization... +2025-12-12 09:56:19,909 - th_agenter.__main__ - INFO - Roles initialization completed +2025-12-12 09:56:19,909 - th_agenter.__main__ - INFO - Starting admin user initialization... +2025-12-12 09:56:19,910 - th_agenter.__main__ - INFO - Admin user already exists +2025-12-12 09:56:19,911 - th_agenter.__main__ - INFO - System data initialization completed successfully +2025-12-12 09:57:49,369 - root - INFO - Logging configured successfully +2025-12-12 09:57:49,475 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:59:29,384 - root - INFO - Logging configured successfully +2025-12-12 09:59:29,514 - root - INFO - Logging configured successfully +2025-12-12 09:59:29,616 - root - INFO - Starting up TH-Agenter application... +2025-12-12 09:59:29,625 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 09:59:29,629 - root - INFO - Database tables created +2025-12-12 09:59:29,629 - root - INFO - Database initialized +2025-12-12 10:00:07,194 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-12 10:00:07,195 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:07,196 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-12 10:00:07,196 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-12 10:00:07,519 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:00:07,519 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:07,519 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:00:07,520 - root - INFO - Clearing user context +2025-12-12 10:00:07,520 - root - INFO - User context cleared before authentication +2025-12-12 10:00:07,520 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:07,522 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:07,522 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:07,522 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:07,522 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:07,523 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:07,523 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:07,523 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:07,524 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:07,524 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:07,525 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:07,529 - root - INFO - Clearing user context +2025-12-12 10:00:07,846 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:00:07,847 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:07,847 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:00:07,847 - root - INFO - Clearing user context +2025-12-12 10:00:07,847 - root - INFO - User context cleared before authentication +2025-12-12 10:00:07,847 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:07,848 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:07,848 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:07,849 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:07,849 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:07,850 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:07,850 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:07,850 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:07,851 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:07,851 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:07,851 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:07,855 - root - INFO - Clearing user context +2025-12-12 10:00:08,328 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:00:08,329 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,329 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:00:08,330 - root - INFO - Clearing user context +2025-12-12 10:00:08,330 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,330 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,332 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,332 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,333 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,333 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,351 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:00:08,353 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,354 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:00:08,354 - root - INFO - Clearing user context +2025-12-12 10:00:08,355 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,356 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,360 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,361 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,361 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,362 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,365 - root - INFO - Clearing user context +2025-12-12 10:00:08,367 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:08,368 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:08,369 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:08,371 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:00:08,371 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:08,372 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,372 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,373 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:00:08,373 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:08,374 - root - INFO - Clearing user context +2025-12-12 10:00:08,374 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,375 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,377 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,377 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,377 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,378 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,415 - root - INFO - Clearing user context +2025-12-12 10:00:08,418 - root - INFO - Clearing user context +2025-12-12 10:00:08,429 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:00:08,430 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,430 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:00:08,430 - root - INFO - Clearing user context +2025-12-12 10:00:08,431 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,431 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,433 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,434 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,434 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,435 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,436 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:00:08,436 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,437 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:00:08,437 - root - INFO - Clearing user context +2025-12-12 10:00:08,438 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,438 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,439 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,440 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,440 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,440 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,443 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:00:08,444 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,445 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:00:08,445 - root - INFO - Clearing user context +2025-12-12 10:00:08,445 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,446 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,449 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,450 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,450 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,450 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,461 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:08,462 - root - INFO - Clearing user context +2025-12-12 10:00:08,463 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:08,464 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:08,465 - root - INFO - Clearing user context +2025-12-12 10:00:08,468 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:08,468 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,470 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:08,486 - root - INFO - Clearing user context +2025-12-12 10:00:08,711 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:00:08,712 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,712 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:00:08,712 - root - INFO - Clearing user context +2025-12-12 10:00:08,712 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,713 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,714 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,714 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,714 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,714 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,716 - root - INFO - Clearing user context +2025-12-12 10:00:08,727 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:00:08,728 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:08,728 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:00:08,728 - root - INFO - Clearing user context +2025-12-12 10:00:08,728 - root - INFO - User context cleared before authentication +2025-12-12 10:00:08,729 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:08,730 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:08,730 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:08,730 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:08,730 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:08,734 - root - INFO - Clearing user context +2025-12-12 10:00:14,193 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/61 +2025-12-12 10:00:14,193 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/61 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:14,193 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/61 +2025-12-12 10:00:14,193 - root - INFO - Clearing user context +2025-12-12 10:00:14,194 - root - INFO - User context cleared before authentication +2025-12-12 10:00:14,194 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:14,196 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:14,196 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:14,196 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:14,196 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:14,200 - root - INFO - Clearing user context +2025-12-12 10:00:14,208 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/61/messages +2025-12-12 10:00:14,208 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/61/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:14,209 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/61/messages +2025-12-12 10:00:14,209 - root - INFO - Clearing user context +2025-12-12 10:00:14,209 - root - INFO - User context cleared before authentication +2025-12-12 10:00:14,209 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:14,211 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:14,211 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:14,212 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:14,212 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:14,227 - root - INFO - Clearing user context +2025-12-12 10:00:17,215 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:00:17,218 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:17,219 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:00:17,219 - root - INFO - Clearing user context +2025-12-12 10:00:17,219 - root - INFO - User context cleared before authentication +2025-12-12 10:00:17,220 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:17,227 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:17,228 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:17,229 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:17,229 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:17,231 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:17,233 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:17,234 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:17,236 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:17,236 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:17,237 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:17,250 - root - INFO - Clearing user context +2025-12-12 10:00:34,107 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/ +2025-12-12 10:00:34,109 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:34,109 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:00:34,109 - root - INFO - Clearing user context +2025-12-12 10:00:34,109 - root - INFO - User context cleared before authentication +2025-12-12 10:00:34,110 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:34,111 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:34,112 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:34,112 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:34,112 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:34,115 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:34,116 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:34,116 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:34,117 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:34,117 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:34,118 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:34,146 - th_agenter.services.knowledge_base - INFO - Created knowledge base: jcqtest (ID: 6) +2025-12-12 10:00:34,147 - root - INFO - Clearing user context +2025-12-12 10:00:42,101 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/llm-configs/ +2025-12-12 10:00:42,102 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:42,103 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/ +2025-12-12 10:00:42,103 - root - INFO - Clearing user context +2025-12-12 10:00:42,104 - root - INFO - User context cleared before authentication +2025-12-12 10:00:42,104 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:42,106 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:42,107 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,108 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:42,109 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:42,113 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:42,114 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:42,115 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:42,118 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:42,119 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,120 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:42,132 - root - INFO - Clearing user context +2025-12-12 10:00:42,500 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:00:42,501 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:42,502 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:00:42,502 - root - INFO - Clearing user context +2025-12-12 10:00:42,502 - root - INFO - User context cleared before authentication +2025-12-12 10:00:42,503 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:42,505 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:42,506 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,506 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:42,507 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:42,512 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:42,512 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:42,512 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:42,514 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:42,515 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,515 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:42,518 - root - INFO - Clearing user context +2025-12-12 10:00:42,525 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:00:42,526 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:42,527 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:00:42,528 - root - INFO - Clearing user context +2025-12-12 10:00:42,529 - root - INFO - User context cleared before authentication +2025-12-12 10:00:42,529 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:42,531 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:42,531 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,532 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:42,532 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:42,536 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:42,536 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:42,537 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:42,538 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:42,538 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,542 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:42,550 - root - INFO - Clearing user context +2025-12-12 10:00:42,947 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/llm-configs/ +2025-12-12 10:00:42,947 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:42,948 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/ +2025-12-12 10:00:42,948 - root - INFO - Clearing user context +2025-12-12 10:00:42,949 - root - INFO - User context cleared before authentication +2025-12-12 10:00:42,949 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:42,951 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:42,951 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,952 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:42,957 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:42,960 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:00:42,960 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:42,961 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:00:42,961 - root - INFO - Clearing user context +2025-12-12 10:00:42,961 - root - INFO - User context cleared before authentication +2025-12-12 10:00:42,962 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:42,968 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:42,973 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,981 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:42,982 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:42,986 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:00:42,991 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:00:42,992 - root - INFO - Looking for user with username: admin +2025-12-12 10:00:42,992 - root - INFO - Clearing user context +2025-12-12 10:00:42,993 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:00:42,997 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:42,997 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:00:43,005 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:00:43,008 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:00:43,009 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:00:43,009 - root - INFO - Clearing user context +2025-12-12 10:00:43,009 - root - INFO - User context cleared before authentication +2025-12-12 10:00:43,010 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:00:43,012 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:00:43,015 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:00:43,016 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:00:43,017 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:00:43,032 - root - INFO - Clearing user context +2025-12-12 10:00:43,042 - root - INFO - Clearing user context +2025-12-12 10:01:06,465 - root - INFO - [MIDDLEWARE] Processing request: POST /api/admin/llm-configs/5/test +2025-12-12 10:01:06,466 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/5/test against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:06,467 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/5/test +2025-12-12 10:01:06,467 - root - INFO - Clearing user context +2025-12-12 10:01:06,467 - root - INFO - User context cleared before authentication +2025-12-12 10:01:06,468 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:06,470 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:06,470 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:06,471 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:06,471 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:06,474 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:06,475 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:06,475 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:06,477 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:06,478 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:06,478 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:06,483 - th_agenter.th_agenter.api.endpoints.llm_configs - INFO - LLM config test: embedding-3 by user admin +2025-12-12 10:01:06,485 - root - INFO - Clearing user context +2025-12-12 10:01:09,166 - root - INFO - [MIDDLEWARE] Processing request: PUT /api/admin/llm-configs/5 +2025-12-12 10:01:09,167 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:09,168 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/5 +2025-12-12 10:01:09,168 - root - INFO - Clearing user context +2025-12-12 10:01:09,169 - root - INFO - User context cleared before authentication +2025-12-12 10:01:09,169 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:09,170 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:09,171 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:09,171 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:09,173 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:09,192 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:09,193 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:09,193 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:09,195 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:09,195 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:09,195 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:09,225 - th_agenter.th_agenter.api.endpoints.llm_configs - INFO - LLM config updated: embedding-3 by user admin +2025-12-12 10:01:09,228 - root - INFO - Clearing user context +2025-12-12 10:01:09,434 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/llm-configs/ +2025-12-12 10:01:09,436 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:09,436 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/ +2025-12-12 10:01:09,437 - root - INFO - Clearing user context +2025-12-12 10:01:09,437 - root - INFO - User context cleared before authentication +2025-12-12 10:01:09,437 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:09,441 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:09,447 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:09,449 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:09,450 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:09,460 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:09,465 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:09,465 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:09,466 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:09,467 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:09,468 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:09,496 - root - INFO - Clearing user context +2025-12-12 10:01:37,727 - root - INFO - [MIDDLEWARE] Processing request: PUT /api/admin/llm-configs/5 +2025-12-12 10:01:37,728 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:37,728 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/5 +2025-12-12 10:01:37,729 - root - INFO - Clearing user context +2025-12-12 10:01:37,729 - root - INFO - User context cleared before authentication +2025-12-12 10:01:37,730 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:37,731 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:37,732 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:37,732 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:37,733 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:37,736 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:37,736 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:37,737 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:37,739 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:37,739 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:37,740 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:37,745 - th_agenter.th_agenter.api.endpoints.llm_configs - INFO - LLM config updated: embedding-3 by user admin +2025-12-12 10:01:37,747 - root - INFO - Clearing user context +2025-12-12 10:01:38,096 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/llm-configs/ +2025-12-12 10:01:38,098 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:38,098 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/ +2025-12-12 10:01:38,099 - root - INFO - Clearing user context +2025-12-12 10:01:38,099 - root - INFO - User context cleared before authentication +2025-12-12 10:01:38,099 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:38,102 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:38,111 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:38,111 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:38,112 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:38,116 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:38,117 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:38,117 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:38,135 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:38,141 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:38,142 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:38,147 - root - INFO - Clearing user context +2025-12-12 10:01:40,785 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:01:40,788 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:40,789 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:01:40,789 - root - INFO - Clearing user context +2025-12-12 10:01:40,790 - root - INFO - User context cleared before authentication +2025-12-12 10:01:40,791 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:40,794 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:40,796 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:40,797 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:40,800 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:40,802 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:40,803 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:40,803 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:40,805 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:40,806 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:40,806 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:40,824 - root - INFO - Clearing user context +2025-12-12 10:01:42,339 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:01:42,339 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:42,339 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:01:42,340 - root - INFO - Clearing user context +2025-12-12 10:01:42,340 - root - INFO - User context cleared before authentication +2025-12-12 10:01:42,340 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:42,342 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:42,342 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:42,343 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:42,343 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:42,345 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:42,345 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:42,346 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:42,347 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:42,348 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:42,348 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:42,357 - root - INFO - Clearing user context +2025-12-12 10:01:54,386 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 10:01:54,386 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:54,387 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:01:54,387 - root - INFO - Clearing user context +2025-12-12 10:01:54,388 - root - INFO - User context cleared before authentication +2025-12-12 10:01:54,388 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:54,391 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:54,392 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:54,392 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:54,393 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:54,398 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:54,398 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:54,399 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:54,401 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:54,401 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:54,402 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:54,600 - th_agenter.services.document - INFO - Uploaded document: 高速公路低空算法验证方案.docx to KB 6 (Doc ID: 3) +2025-12-12 10:01:54,607 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 10:01:54,719 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 10:01:54,728 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 10:01:54,732 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 3, 路径: E:\Work\HXF\backend\data\uploads\kb_6\0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx +2025-12-12 10:01:54,734 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF\backend\data\uploads\kb_6\0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx: No module named 'docx2txt' +2025-12-12 10:01:54,735 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 3: No module named 'docx2txt' +2025-12-12 10:01:54,745 - root - INFO - Clearing user context +2025-12-12 10:01:56,771 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:01:56,780 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:01:56,781 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:01:56,782 - root - INFO - Clearing user context +2025-12-12 10:01:56,782 - root - INFO - User context cleared before authentication +2025-12-12 10:01:56,782 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:01:56,784 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:01:56,796 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:56,797 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:01:56,797 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:01:56,804 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:01:56,806 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:01:56,806 - root - INFO - Looking for user with username: admin +2025-12-12 10:01:56,817 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:01:56,817 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:01:56,818 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:01:56,823 - root - INFO - Clearing user context +2025-12-12 10:02:13,687 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:02:13,687 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:02:13,688 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:02:13,688 - root - INFO - Clearing user context +2025-12-12 10:02:13,688 - root - INFO - User context cleared before authentication +2025-12-12 10:02:13,689 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:02:13,690 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:02:13,690 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:02:13,691 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:02:13,691 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:02:13,692 - root - INFO - Clearing user context +2025-12-12 10:04:16,496 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/6/documents/3 +2025-12-12 10:04:16,497 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/3 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:16,497 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/3 +2025-12-12 10:04:16,497 - root - INFO - Clearing user context +2025-12-12 10:04:16,497 - root - INFO - User context cleared before authentication +2025-12-12 10:04:16,497 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:16,498 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:16,498 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:16,498 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:16,498 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:16,499 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:04:16,500 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:04:16,500 - root - INFO - Looking for user with username: admin +2025-12-12 10:04:16,501 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:04:16,501 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:16,502 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:04:16,507 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF\backend\data\uploads\kb_6\0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx +2025-12-12 10:04:16,959 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=3 +2025-12-12 10:04:16,959 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=3 +2025-12-12 10:04:16,968 - th_agenter.services.document - INFO - Deleted document: 0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx (ID: 3) +2025-12-12 10:04:16,970 - root - INFO - Clearing user context +2025-12-12 10:04:16,984 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:04:16,986 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:16,986 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:04:16,986 - root - INFO - Clearing user context +2025-12-12 10:04:16,987 - root - INFO - User context cleared before authentication +2025-12-12 10:04:16,988 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:16,991 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:16,991 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:16,992 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:16,992 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:16,997 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:04:16,998 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:04:16,998 - root - INFO - Looking for user with username: admin +2025-12-12 10:04:17,000 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:04:17,000 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:17,001 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:04:17,006 - root - INFO - Clearing user context +2025-12-12 10:04:23,433 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 10:04:23,433 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:23,434 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:04:23,434 - root - INFO - Clearing user context +2025-12-12 10:04:23,434 - root - INFO - User context cleared before authentication +2025-12-12 10:04:23,434 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:23,435 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:23,435 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:23,435 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:23,436 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:23,437 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:04:23,438 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:04:23,438 - root - INFO - Looking for user with username: admin +2025-12-12 10:04:23,439 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:04:23,439 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:23,439 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:04:23,457 - th_agenter.services.document - INFO - Uploaded document: 抛洒物统计.txt to KB 6 (Doc ID: 3) +2025-12-12 10:04:23,465 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 3, 路径: E:\Work\HXF\backend\data\uploads\kb_6\bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt +2025-12-12 10:04:23,466 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF\backend\data\uploads\kb_6\bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt, 页数: 1 +2025-12-12 10:04:23,477 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-12 10:04:23,478 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-12 10:04:23,479 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-12 10:04:23,549 - th_agenter.services.document_processor - WARNING - 连接现有向量存储失败,创建新的向量存储: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 10:04:23,642 - th_agenter.services.document_processor - ERROR - 创建向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 10:04:23,643 - th_agenter.services.document_processor - ERROR - 添加文档到向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 10:04:23,644 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 3: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 10:04:23,648 - root - INFO - Clearing user context +2025-12-12 10:04:25,663 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:04:25,664 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:25,664 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:04:25,664 - root - INFO - Clearing user context +2025-12-12 10:04:25,665 - root - INFO - User context cleared before authentication +2025-12-12 10:04:25,665 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:25,666 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:25,666 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:25,666 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:25,667 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:25,668 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:04:25,669 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:04:25,669 - root - INFO - Looking for user with username: admin +2025-12-12 10:04:25,670 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:04:25,670 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:25,670 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:04:25,672 - root - INFO - Clearing user context +2025-12-12 10:04:29,415 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:04:29,418 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:29,419 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:04:29,419 - root - INFO - Clearing user context +2025-12-12 10:04:29,419 - root - INFO - User context cleared before authentication +2025-12-12 10:04:29,420 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:29,426 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:29,426 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:29,427 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:29,427 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:29,429 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:04:29,430 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:04:29,430 - root - INFO - Looking for user with username: admin +2025-12-12 10:04:29,435 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:04:29,438 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:29,438 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:04:29,442 - root - INFO - Clearing user context +2025-12-12 10:04:37,685 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:04:37,686 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:04:37,686 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:04:37,686 - root - INFO - Clearing user context +2025-12-12 10:04:37,687 - root - INFO - User context cleared before authentication +2025-12-12 10:04:37,687 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:04:37,690 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:04:37,690 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:04:37,691 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:04:37,692 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:04:37,693 - root - INFO - Clearing user context +2025-12-12 10:06:31,514 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/6/documents/3 +2025-12-12 10:06:31,514 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/3 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:06:31,515 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/3 +2025-12-12 10:06:31,515 - root - INFO - Clearing user context +2025-12-12 10:06:31,515 - root - INFO - User context cleared before authentication +2025-12-12 10:06:31,515 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:06:31,516 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:06:31,516 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:06:31,516 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:06:31,516 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:06:31,517 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:06:31,518 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:06:31,519 - root - INFO - Looking for user with username: admin +2025-12-12 10:06:31,519 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:06:31,519 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:06:31,520 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:06:31,521 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF\backend\data\uploads\kb_6\bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt +2025-12-12 10:06:31,572 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=3 +2025-12-12 10:06:31,573 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=3 +2025-12-12 10:06:31,584 - th_agenter.services.document - INFO - Deleted document: bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt (ID: 3) +2025-12-12 10:06:31,586 - root - INFO - Clearing user context +2025-12-12 10:06:31,783 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:06:31,785 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:06:31,785 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:06:31,786 - root - INFO - Clearing user context +2025-12-12 10:06:31,786 - root - INFO - User context cleared before authentication +2025-12-12 10:06:31,786 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:06:31,788 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:06:31,789 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:06:31,789 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:06:31,790 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:06:31,793 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:06:31,793 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:06:31,793 - root - INFO - Looking for user with username: admin +2025-12-12 10:06:31,798 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:06:31,799 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:06:31,799 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:06:31,804 - root - INFO - Clearing user context +2025-12-12 10:07:29,749 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 10:07:29,752 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:07:29,752 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:07:29,753 - root - INFO - Clearing user context +2025-12-12 10:07:29,753 - root - INFO - User context cleared before authentication +2025-12-12 10:07:29,753 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:07:29,757 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:07:29,759 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:07:29,760 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:07:29,760 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:07:29,765 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:07:29,765 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:07:29,766 - root - INFO - Looking for user with username: admin +2025-12-12 10:07:29,767 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:07:29,768 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:07:29,768 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:07:29,784 - th_agenter.services.document - INFO - Uploaded document: 周报.txt to KB 6 (Doc ID: 3) +2025-12-12 10:07:29,789 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 3, 路径: E:\Work\HXF\backend\data\uploads\kb_6\65483448-1076-499a-915e-4ded81664153_周报.txt +2025-12-12 10:07:29,790 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF\backend\data\uploads\kb_6\65483448-1076-499a-915e-4ded81664153_周报.txt, 页数: 1 +2025-12-12 10:07:29,791 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-12 10:07:29,792 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-12 10:07:29,794 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 7 个文档块 +2025-12-12 10:07:30,954 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,198 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,343 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,489 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,610 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,836 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:31,981 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:07:32,056 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_6 +2025-12-12 10:07:32,063 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 3, 'status': 'success', 'chunks_count': 7, 'message': '文档处理完成'} +2025-12-12 10:07:32,069 - th_agenter.services.document - INFO - Processed document: 65483448-1076-499a-915e-4ded81664153_周报.txt (ID: 3) +2025-12-12 10:07:32,071 - root - INFO - Clearing user context +2025-12-12 10:07:34,391 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:07:34,392 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:07:34,392 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:07:34,392 - root - INFO - Clearing user context +2025-12-12 10:07:34,393 - root - INFO - User context cleared before authentication +2025-12-12 10:07:34,394 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:07:34,395 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:07:34,395 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:07:34,395 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:07:34,395 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:07:34,397 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:07:34,397 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:07:34,397 - root - INFO - Looking for user with username: admin +2025-12-12 10:07:34,398 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:07:34,398 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:07:34,398 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:07:34,402 - root - INFO - Clearing user context +2025-12-12 10:07:39,606 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:07:39,607 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:07:39,607 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:07:39,607 - root - INFO - Clearing user context +2025-12-12 10:07:39,608 - root - INFO - User context cleared before authentication +2025-12-12 10:07:39,608 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:07:39,609 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:07:39,610 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:07:39,610 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:07:39,610 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:07:39,612 - root - INFO - Clearing user context +2025-12-12 10:11:26,603 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:11:26,604 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:11:26,604 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:11:26,604 - root - INFO - Clearing user context +2025-12-12 10:11:26,604 - root - INFO - User context cleared before authentication +2025-12-12 10:11:26,604 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:11:26,605 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:11:26,606 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:11:26,606 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:11:26,606 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:11:26,606 - root - INFO - Clearing user context +2025-12-12 10:11:36,101 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:11:36,102 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:11:36,102 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:11:36,103 - root - INFO - Clearing user context +2025-12-12 10:11:36,103 - root - INFO - User context cleared before authentication +2025-12-12 10:11:36,104 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:11:36,105 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:11:36,106 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:11:36,107 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:11:36,107 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:11:36,109 - root - INFO - Clearing user context +2025-12-12 10:12:14,764 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:12:14,765 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:12:14,765 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:12:14,765 - root - INFO - Clearing user context +2025-12-12 10:12:14,765 - root - INFO - User context cleared before authentication +2025-12-12 10:12:14,765 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:12:14,766 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:12:14,767 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:12:14,767 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:12:14,768 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:12:14,768 - root - INFO - Clearing user context +2025-12-12 10:13:05,855 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:13:05,856 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:13:05,856 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:13:05,857 - root - INFO - Clearing user context +2025-12-12 10:13:05,857 - root - INFO - User context cleared before authentication +2025-12-12 10:13:05,857 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:13:05,860 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:13:05,860 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:13:05,861 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:13:05,861 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:13:05,863 - root - INFO - Clearing user context +2025-12-12 10:15:53,467 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:16:01,961 - root - INFO - Logging configured successfully +2025-12-12 10:16:02,066 - root - INFO - Logging configured successfully +2025-12-12 10:16:02,156 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:16:02,163 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:16:02,166 - root - INFO - Database tables created +2025-12-12 10:16:02,167 - root - INFO - Database initialized +2025-12-12 10:16:10,180 - root - INFO - Logging configured successfully +2025-12-12 10:16:10,283 - root - INFO - Logging configured successfully +2025-12-12 10:16:10,379 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:16:10,386 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:16:10,390 - root - INFO - Database tables created +2025-12-12 10:16:10,390 - root - INFO - Database initialized +2025-12-12 10:16:18,332 - root - INFO - Logging configured successfully +2025-12-12 10:16:18,473 - root - INFO - Logging configured successfully +2025-12-12 10:16:18,577 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:16:18,585 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:16:18,590 - root - INFO - Database tables created +2025-12-12 10:16:18,590 - root - INFO - Database initialized +2025-12-12 10:16:26,993 - root - INFO - Logging configured successfully +2025-12-12 10:16:27,102 - root - INFO - Logging configured successfully +2025-12-12 10:16:27,190 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:16:27,199 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:16:27,201 - root - INFO - Database tables created +2025-12-12 10:16:27,202 - root - INFO - Database initialized +2025-12-12 10:17:45,664 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:17:55,333 - root - INFO - Logging configured successfully +2025-12-12 10:17:55,453 - root - INFO - Logging configured successfully +2025-12-12 10:17:55,558 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:17:55,567 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:17:55,570 - root - INFO - Database tables created +2025-12-12 10:17:55,570 - root - INFO - Database initialized +2025-12-12 10:18:12,467 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:18:12,468 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:12,469 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:18:12,469 - root - INFO - Clearing user context +2025-12-12 10:18:12,470 - root - INFO - User context cleared before authentication +2025-12-12 10:18:12,470 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:12,523 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:12,524 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,524 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:12,524 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:12,532 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:12,533 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:12,534 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:12,536 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:12,537 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,538 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:12,545 - root - INFO - Clearing user context +2025-12-12 10:18:12,554 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:18:12,555 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:12,555 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:18:12,555 - root - INFO - Clearing user context +2025-12-12 10:18:12,556 - root - INFO - User context cleared before authentication +2025-12-12 10:18:12,556 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:12,558 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:12,559 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,559 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:12,559 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:12,561 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:12,561 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:12,561 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:12,562 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:12,562 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,563 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:12,574 - root - INFO - Clearing user context +2025-12-12 10:18:12,718 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:18:12,719 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:12,720 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:18:12,723 - root - INFO - Clearing user context +2025-12-12 10:18:12,723 - root - INFO - User context cleared before authentication +2025-12-12 10:18:12,724 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:12,730 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:12,730 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,731 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:12,731 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:12,735 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:18:12,741 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:12,741 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:18:12,741 - root - INFO - Clearing user context +2025-12-12 10:18:12,742 - root - INFO - User context cleared before authentication +2025-12-12 10:18:12,742 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:12,744 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:12,748 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,749 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:12,749 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:12,752 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:12,757 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:12,758 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:12,767 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:12,774 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,777 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:12,777 - root - INFO - Clearing user context +2025-12-12 10:18:12,819 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:18:12,820 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:12,820 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:18:12,821 - root - INFO - Clearing user context +2025-12-12 10:18:12,821 - root - INFO - User context cleared before authentication +2025-12-12 10:18:12,822 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:12,829 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:12,831 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:12,832 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:12,832 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:12,832 - root - INFO - Clearing user context +2025-12-12 10:18:12,841 - root - INFO - Clearing user context +2025-12-12 10:18:14,309 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:18:14,309 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:14,310 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:18:14,310 - root - INFO - Clearing user context +2025-12-12 10:18:14,311 - root - INFO - User context cleared before authentication +2025-12-12 10:18:14,311 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:14,316 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:14,317 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:14,318 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:14,318 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:14,322 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:14,323 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:14,325 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:14,328 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:14,329 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:14,329 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:14,349 - root - INFO - Clearing user context +2025-12-12 10:18:22,341 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:18:22,342 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:22,342 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:18:22,342 - root - INFO - Clearing user context +2025-12-12 10:18:22,342 - root - INFO - User context cleared before authentication +2025-12-12 10:18:22,343 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:22,345 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:22,345 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:22,346 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:22,346 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:22,349 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:22,350 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:22,350 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:22,352 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:22,352 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:22,353 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:22,361 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 10:18:22,429 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 10:18:22,436 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 10:18:23,224 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:18:23,281 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:18:23,282 - root - INFO - Clearing user context +2025-12-12 10:18:31,012 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:18:31,013 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:18:31,014 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:18:31,014 - root - INFO - Clearing user context +2025-12-12 10:18:31,014 - root - INFO - User context cleared before authentication +2025-12-12 10:18:31,015 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:18:31,016 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:18:31,017 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:31,017 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:18:31,017 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:18:31,019 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:18:31,020 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:18:31,020 - root - INFO - Looking for user with username: admin +2025-12-12 10:18:31,022 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:18:31,022 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:18:31,022 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:18:31,216 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:18:31,273 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:18:31,274 - root - INFO - Clearing user context +2025-12-12 10:18:58,273 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:19:05,909 - root - INFO - Logging configured successfully +2025-12-12 10:19:06,008 - root - INFO - Logging configured successfully +2025-12-12 10:19:06,095 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:19:06,102 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:19:06,105 - root - INFO - Database tables created +2025-12-12 10:19:06,105 - root - INFO - Database initialized +2025-12-12 10:19:40,829 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:19:40,829 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:19:40,830 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:19:40,830 - root - INFO - Clearing user context +2025-12-12 10:19:40,831 - root - INFO - User context cleared before authentication +2025-12-12 10:19:40,831 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:19:40,853 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:19:40,853 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:19:40,853 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:19:40,854 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:19:40,855 - root - INFO - Clearing user context +2025-12-12 10:19:50,174 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:19:50,175 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:19:50,175 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:19:50,175 - root - INFO - Clearing user context +2025-12-12 10:19:50,175 - root - INFO - User context cleared before authentication +2025-12-12 10:19:50,176 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:19:50,178 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:19:50,178 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:19:50,178 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:19:50,179 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:19:50,179 - root - INFO - Clearing user context +2025-12-12 10:19:53,281 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:19:53,281 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:19:53,282 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:19:53,282 - root - INFO - Clearing user context +2025-12-12 10:19:53,282 - root - INFO - User context cleared before authentication +2025-12-12 10:19:53,282 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:19:53,284 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:19:53,284 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:19:53,284 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:19:53,284 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:19:53,285 - root - INFO - Clearing user context +2025-12-12 10:20:06,603 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:20:06,603 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:06,603 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:20:06,604 - root - INFO - Clearing user context +2025-12-12 10:20:06,604 - root - INFO - User context cleared before authentication +2025-12-12 10:20:06,604 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:06,605 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:06,605 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,606 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:06,606 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:06,609 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:06,610 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:06,610 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:06,611 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:06,611 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,611 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:06,616 - root - INFO - Clearing user context +2025-12-12 10:20:06,819 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:20:06,820 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:06,820 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:20:06,820 - root - INFO - Clearing user context +2025-12-12 10:20:06,820 - root - INFO - User context cleared before authentication +2025-12-12 10:20:06,820 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:06,821 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:06,822 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,822 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:06,822 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:06,823 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:06,824 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:06,824 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:06,824 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:06,824 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,825 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:06,829 - root - INFO - Clearing user context +2025-12-12 10:20:06,933 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:20:06,933 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:06,933 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:20:06,933 - root - INFO - Clearing user context +2025-12-12 10:20:06,934 - root - INFO - User context cleared before authentication +2025-12-12 10:20:06,934 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:06,935 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:06,936 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,936 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:06,936 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:06,937 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:20:06,937 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:06,937 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:20:06,938 - root - INFO - Clearing user context +2025-12-12 10:20:06,938 - root - INFO - User context cleared before authentication +2025-12-12 10:20:06,938 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:06,939 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:06,940 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,940 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:06,940 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:06,946 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:06,947 - root - INFO - Clearing user context +2025-12-12 10:20:06,947 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:06,948 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:06,950 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:06,950 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,950 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:06,969 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:20:06,969 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:06,970 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:20:06,970 - root - INFO - Clearing user context +2025-12-12 10:20:06,970 - root - INFO - User context cleared before authentication +2025-12-12 10:20:06,970 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:06,971 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:06,972 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:06,972 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:06,973 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:06,973 - root - INFO - Clearing user context +2025-12-12 10:20:06,977 - root - INFO - Clearing user context +2025-12-12 10:20:09,265 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:20:09,266 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:09,267 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:20:09,267 - root - INFO - Clearing user context +2025-12-12 10:20:09,267 - root - INFO - User context cleared before authentication +2025-12-12 10:20:09,267 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:09,269 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:09,269 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:09,270 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:09,270 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:09,272 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:09,273 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:09,274 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:09,275 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:09,275 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:09,276 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:09,281 - root - INFO - Clearing user context +2025-12-12 10:20:23,528 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/llm-configs/ +2025-12-12 10:20:23,529 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:23,529 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/ +2025-12-12 10:20:23,530 - root - INFO - Clearing user context +2025-12-12 10:20:23,530 - root - INFO - User context cleared before authentication +2025-12-12 10:20:23,530 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:23,532 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:23,532 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:23,532 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:23,532 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:23,534 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:23,535 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:23,535 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:23,536 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:23,536 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:23,537 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:23,541 - root - INFO - Clearing user context +2025-12-12 10:20:45,195 - root - INFO - [MIDDLEWARE] Processing request: POST /api/admin/llm-configs/5/test +2025-12-12 10:20:45,195 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/llm-configs/5/test against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:45,196 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/llm-configs/5/test +2025-12-12 10:20:45,196 - root - INFO - Clearing user context +2025-12-12 10:20:45,196 - root - INFO - User context cleared before authentication +2025-12-12 10:20:45,196 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:45,198 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:45,198 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:45,198 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:45,198 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:45,200 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:45,200 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:45,201 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:45,202 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:45,202 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:45,202 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:45,206 - th_agenter.th_agenter.api.endpoints.llm_configs - INFO - LLM config test: embedding-3 by user admin +2025-12-12 10:20:45,208 - root - INFO - Clearing user context +2025-12-12 10:20:54,253 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:20:54,254 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:54,254 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:20:54,255 - root - INFO - Clearing user context +2025-12-12 10:20:54,256 - root - INFO - User context cleared before authentication +2025-12-12 10:20:54,256 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:54,258 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:54,259 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:54,259 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:54,260 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:54,263 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:54,264 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:54,264 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:54,265 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:54,266 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:54,266 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:54,276 - root - INFO - Clearing user context +2025-12-12 10:20:58,211 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:20:58,211 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:20:58,211 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:20:58,212 - root - INFO - Clearing user context +2025-12-12 10:20:58,212 - root - INFO - User context cleared before authentication +2025-12-12 10:20:58,213 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:20:58,215 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:20:58,215 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:58,216 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:20:58,216 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:20:58,218 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:20:58,219 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:20:58,219 - root - INFO - Looking for user with username: admin +2025-12-12 10:20:58,221 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:20:58,221 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:20:58,221 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:20:58,226 - root - INFO - Clearing user context +2025-12-12 10:21:02,566 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:21:02,566 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:21:02,567 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:21:02,567 - root - INFO - Clearing user context +2025-12-12 10:21:02,568 - root - INFO - User context cleared before authentication +2025-12-12 10:21:02,568 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:21:02,569 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:21:02,569 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:02,570 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:21:02,570 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:21:02,572 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:21:02,572 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:21:02,572 - root - INFO - Looking for user with username: admin +2025-12-12 10:21:02,574 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:21:02,574 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:02,574 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:21:02,577 - root - INFO - Clearing user context +2025-12-12 10:21:04,027 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:21:04,027 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:21:04,027 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:21:04,027 - root - INFO - Clearing user context +2025-12-12 10:21:04,028 - root - INFO - User context cleared before authentication +2025-12-12 10:21:04,028 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:21:04,030 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:21:04,030 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:04,031 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:21:04,031 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:21:04,033 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:21:04,033 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:21:04,033 - root - INFO - Looking for user with username: admin +2025-12-12 10:21:04,034 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:21:04,034 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:04,035 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:21:04,039 - root - INFO - Clearing user context +2025-12-12 10:21:05,430 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:21:05,430 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:21:05,431 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:21:05,431 - root - INFO - Clearing user context +2025-12-12 10:21:05,432 - root - INFO - User context cleared before authentication +2025-12-12 10:21:05,432 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:21:05,434 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:21:05,434 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:05,434 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:21:05,435 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:21:05,435 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:21:05,436 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:21:05,436 - root - INFO - Looking for user with username: admin +2025-12-12 10:21:05,437 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:21:05,437 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:05,438 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:21:05,442 - root - INFO - Clearing user context +2025-12-12 10:21:16,323 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:21:16,324 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:21:16,324 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:21:16,324 - root - INFO - Clearing user context +2025-12-12 10:21:16,324 - root - INFO - User context cleared before authentication +2025-12-12 10:21:16,324 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:21:16,325 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:21:16,325 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:16,325 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:21:16,325 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:21:16,326 - root - INFO - Clearing user context +2025-12-12 10:21:47,333 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:21:47,334 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:21:47,334 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:21:47,334 - root - INFO - Clearing user context +2025-12-12 10:21:47,334 - root - INFO - User context cleared before authentication +2025-12-12 10:21:47,334 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:21:47,335 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:21:47,336 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:21:47,336 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:21:47,336 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:21:47,336 - root - INFO - Clearing user context +2025-12-12 10:22:47,419 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:22:55,845 - root - INFO - Logging configured successfully +2025-12-12 10:22:55,970 - root - INFO - Logging configured successfully +2025-12-12 10:22:56,066 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:22:56,074 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:22:56,078 - root - INFO - Database tables created +2025-12-12 10:22:56,078 - root - INFO - Database initialized +2025-12-12 10:23:04,309 - root - INFO - Logging configured successfully +2025-12-12 10:23:04,424 - root - INFO - Logging configured successfully +2025-12-12 10:23:04,519 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:23:04,525 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:23:04,530 - root - INFO - Database tables created +2025-12-12 10:23:04,530 - root - INFO - Database initialized +2025-12-12 10:23:13,461 - root - INFO - Logging configured successfully +2025-12-12 10:23:13,575 - root - INFO - Logging configured successfully +2025-12-12 10:23:13,682 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:23:13,692 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:23:13,695 - root - INFO - Database tables created +2025-12-12 10:23:13,696 - root - INFO - Database initialized +2025-12-12 10:23:21,620 - root - INFO - Logging configured successfully +2025-12-12 10:23:21,730 - root - INFO - Logging configured successfully +2025-12-12 10:23:21,821 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:23:21,829 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:23:21,833 - root - INFO - Database tables created +2025-12-12 10:23:21,833 - root - INFO - Database initialized +2025-12-12 10:24:29,670 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:24:37,813 - root - INFO - Logging configured successfully +2025-12-12 10:24:37,961 - root - INFO - Logging configured successfully +2025-12-12 10:24:38,071 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:24:38,080 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:24:38,083 - root - INFO - Database tables created +2025-12-12 10:24:38,084 - root - INFO - Database initialized +2025-12-12 10:24:45,994 - root - INFO - Logging configured successfully +2025-12-12 10:24:46,095 - root - INFO - Logging configured successfully +2025-12-12 10:24:46,187 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:24:46,196 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:24:46,199 - root - INFO - Database tables created +2025-12-12 10:24:46,199 - root - INFO - Database initialized +2025-12-12 10:25:05,202 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:38:18,185 - root - INFO - Logging configured successfully +2025-12-12 10:38:18,329 - root - INFO - Logging configured successfully +2025-12-12 10:38:18,448 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:38:18,455 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:38:18,459 - root - INFO - Database tables created +2025-12-12 10:38:18,460 - root - INFO - Database initialized +2025-12-12 10:43:30,007 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 10:43:43,199 - root - INFO - Logging configured successfully +2025-12-12 10:43:43,327 - root - INFO - Logging configured successfully +2025-12-12 10:43:43,454 - root - INFO - Starting up TH-Agenter application... +2025-12-12 10:43:43,470 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 10:43:43,475 - root - INFO - Database tables created +2025-12-12 10:43:43,475 - root - INFO - Database initialized +2025-12-12 10:44:11,558 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:44:11,558 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:11,559 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:44:11,559 - root - INFO - Clearing user context +2025-12-12 10:44:11,559 - root - INFO - User context cleared before authentication +2025-12-12 10:44:11,559 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:11,591 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:11,591 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,591 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:11,592 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:11,595 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:11,595 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:11,596 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:11,597 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:11,597 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,597 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:11,607 - root - INFO - Clearing user context +2025-12-12 10:44:11,614 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:44:11,614 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:11,616 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:44:11,616 - root - INFO - Clearing user context +2025-12-12 10:44:11,616 - root - INFO - User context cleared before authentication +2025-12-12 10:44:11,616 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:11,617 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:11,617 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,617 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:11,617 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:11,619 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:11,619 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:11,619 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:11,620 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:11,621 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,621 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:11,626 - root - INFO - Clearing user context +2025-12-12 10:44:11,830 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:44:11,831 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:11,831 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:44:11,831 - root - INFO - Clearing user context +2025-12-12 10:44:11,831 - root - INFO - User context cleared before authentication +2025-12-12 10:44:11,831 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:11,832 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:11,832 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,833 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:11,833 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:11,833 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:44:11,834 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:11,834 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:44:11,834 - root - INFO - Clearing user context +2025-12-12 10:44:11,834 - root - INFO - User context cleared before authentication +2025-12-12 10:44:11,835 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:11,836 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:11,836 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,836 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:11,836 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:11,846 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:11,847 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:11,847 - root - INFO - Clearing user context +2025-12-12 10:44:11,847 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:11,849 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:11,850 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,850 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:11,871 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:44:11,872 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:11,872 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:44:11,873 - root - INFO - Clearing user context +2025-12-12 10:44:11,873 - root - INFO - User context cleared before authentication +2025-12-12 10:44:11,873 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:11,874 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:11,874 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:11,875 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:11,875 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:11,875 - root - INFO - Clearing user context +2025-12-12 10:44:11,878 - root - INFO - Clearing user context +2025-12-12 10:44:14,007 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:44:14,007 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:14,008 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:44:14,008 - root - INFO - Clearing user context +2025-12-12 10:44:14,009 - root - INFO - User context cleared before authentication +2025-12-12 10:44:14,009 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:14,011 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:14,011 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:14,011 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:14,012 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:14,014 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:14,015 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:14,015 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:14,017 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:14,017 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:14,017 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:14,025 - root - INFO - Clearing user context +2025-12-12 10:44:17,622 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:44:17,623 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:17,623 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:44:17,624 - root - INFO - Clearing user context +2025-12-12 10:44:17,625 - root - INFO - User context cleared before authentication +2025-12-12 10:44:17,625 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:17,626 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:17,626 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:17,627 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:17,627 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:17,629 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:17,629 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:17,630 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:17,631 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:17,631 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:17,631 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:17,635 - root - INFO - Clearing user context +2025-12-12 10:44:39,154 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:44:39,154 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:39,155 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:44:39,155 - root - INFO - Clearing user context +2025-12-12 10:44:39,155 - root - INFO - User context cleared before authentication +2025-12-12 10:44:39,155 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:39,156 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:39,157 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:39,157 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:39,157 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:39,159 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:39,159 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:39,159 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:39,160 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:39,160 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:39,160 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:39,166 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 10:44:39,222 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 10:44:39,227 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 10:44:39,960 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:44:40,022 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:44:40,023 - root - INFO - Clearing user context +2025-12-12 10:44:45,549 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:44:45,549 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:44:45,550 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:44:45,550 - root - INFO - Clearing user context +2025-12-12 10:44:45,551 - root - INFO - User context cleared before authentication +2025-12-12 10:44:45,551 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:44:45,553 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:44:45,553 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:45,553 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:44:45,554 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:44:45,555 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:44:45,556 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:44:45,556 - root - INFO - Looking for user with username: admin +2025-12-12 10:44:45,558 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:44:45,559 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:44:45,559 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:44:45,859 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:44:45,914 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:44:45,915 - root - INFO - Clearing user context +2025-12-12 10:45:05,590 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:45:05,591 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:45:05,591 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:45:05,591 - root - INFO - Clearing user context +2025-12-12 10:45:05,592 - root - INFO - User context cleared before authentication +2025-12-12 10:45:05,592 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:45:05,593 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:45:05,593 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:05,594 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:45:05,594 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:45:05,595 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:45:05,596 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:45:05,596 - root - INFO - Looking for user with username: admin +2025-12-12 10:45:05,597 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:45:05,597 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:05,597 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:45:05,905 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:45:05,963 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:45:05,964 - root - INFO - Clearing user context +2025-12-12 10:45:17,366 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:45:17,366 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:45:17,367 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:45:17,367 - root - INFO - Clearing user context +2025-12-12 10:45:17,368 - root - INFO - User context cleared before authentication +2025-12-12 10:45:17,368 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:45:17,369 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:45:17,370 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:17,370 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:45:17,371 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:45:17,372 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:45:17,373 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:45:17,373 - root - INFO - Looking for user with username: admin +2025-12-12 10:45:17,374 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:45:17,375 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:17,375 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:45:17,663 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:45:17,716 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:45:17,718 - root - INFO - Clearing user context +2025-12-12 10:45:56,434 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:45:56,434 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:45:56,434 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:45:56,434 - root - INFO - Clearing user context +2025-12-12 10:45:56,435 - root - INFO - User context cleared before authentication +2025-12-12 10:45:56,435 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:45:56,435 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:45:56,436 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:56,436 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:45:56,436 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:45:56,437 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:45:56,438 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:45:56,438 - root - INFO - Looking for user with username: admin +2025-12-12 10:45:56,439 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:45:56,439 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:45:56,439 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:45:56,707 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:45:56,766 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:45:56,768 - root - INFO - Clearing user context +2025-12-12 10:49:11,361 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:49:11,361 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:49:11,361 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:49:11,361 - root - INFO - Clearing user context +2025-12-12 10:49:11,361 - root - INFO - User context cleared before authentication +2025-12-12 10:49:11,361 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:49:11,362 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:49:11,363 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:11,364 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:49:11,364 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:49:11,365 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:49:11,365 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:49:11,366 - root - INFO - Looking for user with username: admin +2025-12-12 10:49:11,367 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:49:11,367 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:11,367 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:49:11,596 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:49:11,650 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:49:11,652 - root - INFO - Clearing user context +2025-12-12 10:49:17,885 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:49:17,885 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:49:17,886 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:49:17,886 - root - INFO - Clearing user context +2025-12-12 10:49:17,886 - root - INFO - User context cleared before authentication +2025-12-12 10:49:17,887 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:49:17,888 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:49:17,888 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:17,889 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:49:17,889 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:49:17,892 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:49:17,892 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:49:17,892 - root - INFO - Looking for user with username: admin +2025-12-12 10:49:17,894 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:49:17,894 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:17,894 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:49:18,194 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:49:18,260 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:49:18,261 - root - INFO - Clearing user context +2025-12-12 10:49:19,806 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/search +2025-12-12 10:49:19,806 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:49:19,806 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:49:19,806 - root - INFO - Clearing user context +2025-12-12 10:49:19,806 - root - INFO - User context cleared before authentication +2025-12-12 10:49:19,807 - root - INFO - Authorization header received: None +2025-12-12 10:49:19,807 - root - INFO - Authorization header is missing +2025-12-12 10:49:52,578 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:49:52,579 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:49:52,579 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:49:52,579 - root - INFO - Clearing user context +2025-12-12 10:49:52,579 - root - INFO - User context cleared before authentication +2025-12-12 10:49:52,579 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:49:52,581 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:49:52,581 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:52,581 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:49:52,581 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:49:52,582 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:49:52,583 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:49:52,583 - root - INFO - Looking for user with username: admin +2025-12-12 10:49:52,584 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:49:52,584 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:49:52,585 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:49:52,796 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:49:52,853 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:49:52,855 - root - INFO - Clearing user context +2025-12-12 10:52:47,798 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:52:47,798 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:52:47,798 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:52:47,799 - root - INFO - Clearing user context +2025-12-12 10:52:47,799 - root - INFO - User context cleared before authentication +2025-12-12 10:52:47,799 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:52:47,800 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:52:47,800 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:47,800 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:52:47,800 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:52:47,801 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:52:47,801 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:52:47,801 - root - INFO - Looking for user with username: admin +2025-12-12 10:52:47,802 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:52:47,802 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:47,802 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:52:47,804 - root - INFO - Clearing user context +2025-12-12 10:52:49,933 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:52:49,934 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:52:49,934 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:52:49,934 - root - INFO - Clearing user context +2025-12-12 10:52:49,935 - root - INFO - User context cleared before authentication +2025-12-12 10:52:49,935 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:52:49,937 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:52:49,938 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:49,938 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:52:49,939 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:52:49,941 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:52:49,942 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:52:49,942 - root - INFO - Looking for user with username: admin +2025-12-12 10:52:49,944 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:52:49,944 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:49,944 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:52:49,950 - root - INFO - Clearing user context +2025-12-12 10:52:53,918 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:52:53,919 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:52:53,919 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:52:53,919 - root - INFO - Clearing user context +2025-12-12 10:52:53,919 - root - INFO - User context cleared before authentication +2025-12-12 10:52:53,919 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:52:53,920 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:52:53,920 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:53,921 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:52:53,921 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:52:53,922 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:52:53,922 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:52:53,922 - root - INFO - Looking for user with username: admin +2025-12-12 10:52:53,923 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:52:53,923 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:53,923 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:52:53,925 - root - INFO - Clearing user context +2025-12-12 10:52:54,169 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:52:54,170 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:52:54,170 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:52:54,170 - root - INFO - Clearing user context +2025-12-12 10:52:54,170 - root - INFO - User context cleared before authentication +2025-12-12 10:52:54,170 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:52:54,171 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:52:54,171 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:54,172 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:52:54,172 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:52:54,172 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:52:54,173 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:52:54,173 - root - INFO - Looking for user with username: admin +2025-12-12 10:52:54,173 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:52:54,174 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:52:54,174 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:52:54,176 - root - INFO - Clearing user context +2025-12-12 10:55:23,207 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:55:23,207 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:23,207 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:55:23,207 - root - INFO - Clearing user context +2025-12-12 10:55:23,207 - root - INFO - User context cleared before authentication +2025-12-12 10:55:23,208 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:23,208 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:23,209 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:23,209 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:23,209 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:23,210 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:23,210 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:23,210 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:23,211 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:23,211 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:23,211 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:23,511 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:55:23,569 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:55:23,571 - root - INFO - Clearing user context +2025-12-12 10:55:37,645 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 10:55:37,645 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:37,645 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 10:55:37,646 - root - INFO - Clearing user context +2025-12-12 10:55:37,647 - root - INFO - User context cleared before authentication +2025-12-12 10:55:37,647 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:37,649 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:37,649 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,650 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:37,650 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:37,654 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:37,655 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:37,656 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:37,658 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:37,660 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,660 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:37,665 - root - INFO - Clearing user context +2025-12-12 10:55:37,673 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 10:55:37,673 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:37,674 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 10:55:37,674 - root - INFO - Clearing user context +2025-12-12 10:55:37,674 - root - INFO - User context cleared before authentication +2025-12-12 10:55:37,675 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:37,678 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:37,678 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,679 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:37,680 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:37,682 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:37,683 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:37,684 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:37,686 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:37,687 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,688 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:37,692 - root - INFO - Clearing user context +2025-12-12 10:55:37,854 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 10:55:37,855 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:37,855 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 10:55:37,855 - root - INFO - Clearing user context +2025-12-12 10:55:37,856 - root - INFO - User context cleared before authentication +2025-12-12 10:55:37,856 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:37,857 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:37,858 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,859 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:37,859 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:37,860 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 10:55:37,861 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:37,861 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 10:55:37,862 - root - INFO - Clearing user context +2025-12-12 10:55:37,863 - root - INFO - User context cleared before authentication +2025-12-12 10:55:37,863 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:37,866 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:37,867 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,867 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:37,868 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:37,879 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:37,880 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:37,880 - root - INFO - Clearing user context +2025-12-12 10:55:37,881 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:37,884 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:37,884 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,885 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:37,900 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 10:55:37,901 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:37,902 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 10:55:37,903 - root - INFO - Clearing user context +2025-12-12 10:55:37,903 - root - INFO - User context cleared before authentication +2025-12-12 10:55:37,904 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:37,906 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:37,907 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:37,907 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:37,908 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:37,910 - root - INFO - Clearing user context +2025-12-12 10:55:37,914 - root - INFO - Clearing user context +2025-12-12 10:55:40,942 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:55:40,943 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:40,943 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:55:40,943 - root - INFO - Clearing user context +2025-12-12 10:55:40,944 - root - INFO - User context cleared before authentication +2025-12-12 10:55:40,944 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:40,946 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:40,946 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:40,946 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:40,947 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:40,948 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:40,949 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:40,949 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:40,951 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:40,952 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:40,952 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:40,958 - root - INFO - Clearing user context +2025-12-12 10:55:45,926 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 10:55:45,926 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:55:45,927 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 10:55:45,927 - root - INFO - Clearing user context +2025-12-12 10:55:45,927 - root - INFO - User context cleared before authentication +2025-12-12 10:55:45,928 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:55:45,929 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:55:45,930 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:45,930 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:55:45,931 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:55:45,933 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:55:45,933 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:55:45,934 - root - INFO - Looking for user with username: admin +2025-12-12 10:55:45,935 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:55:45,936 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:55:45,936 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:55:45,940 - root - INFO - Clearing user context +2025-12-12 10:56:04,144 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:56:04,146 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:56:04,146 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:56:04,146 - root - INFO - Clearing user context +2025-12-12 10:56:04,147 - root - INFO - User context cleared before authentication +2025-12-12 10:56:04,147 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:56:04,148 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:56:04,149 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:56:04,149 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:56:04,149 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:56:04,154 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:56:04,155 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:56:04,155 - root - INFO - Looking for user with username: admin +2025-12-12 10:56:04,156 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:56:04,156 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:56:04,157 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:56:04,323 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:56:04,392 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:56:04,402 - root - INFO - Clearing user context +2025-12-12 10:56:20,214 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:56:20,215 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:56:20,216 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:56:20,217 - root - INFO - Clearing user context +2025-12-12 10:56:20,217 - root - INFO - User context cleared before authentication +2025-12-12 10:56:20,217 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:56:20,219 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:56:20,220 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:56:20,220 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:56:20,220 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:56:20,223 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:56:20,224 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:56:20,224 - root - INFO - Looking for user with username: admin +2025-12-12 10:56:20,226 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:56:20,226 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:56:20,226 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:56:20,405 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:56:20,458 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:56:20,460 - root - INFO - Clearing user context +2025-12-12 10:58:26,949 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 10:58:26,951 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 10:58:26,951 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 10:58:26,951 - root - INFO - Clearing user context +2025-12-12 10:58:26,951 - root - INFO - User context cleared before authentication +2025-12-12 10:58:26,951 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 10:58:26,952 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 10:58:26,953 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:58:26,954 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 10:58:26,954 - root - INFO - Verified current user ID in context: 2 +2025-12-12 10:58:26,956 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 10:58:26,956 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 10:58:26,956 - root - INFO - Looking for user with username: admin +2025-12-12 10:58:26,957 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 10:58:26,957 - root - INFO - Verification - ContextVar user: admin +2025-12-12 10:58:26,958 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 10:58:27,273 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 10:58:27,331 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 10:58:27,332 - root - INFO - Clearing user context +2025-12-12 11:00:23,502 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:00:23,503 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:00:23,503 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:00:23,503 - root - INFO - Clearing user context +2025-12-12 11:00:23,504 - root - INFO - User context cleared before authentication +2025-12-12 11:00:23,504 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:00:23,506 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:00:23,506 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:00:23,507 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:00:23,507 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:00:23,509 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:00:23,510 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:00:23,510 - root - INFO - Looking for user with username: admin +2025-12-12 11:00:23,513 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:00:23,513 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:00:23,514 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:00:23,526 - root - INFO - Clearing user context +2025-12-12 11:00:23,554 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:00:23,555 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:00:23,555 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:00:23,556 - root - INFO - Clearing user context +2025-12-12 11:00:23,556 - root - INFO - User context cleared before authentication +2025-12-12 11:00:23,556 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:00:23,558 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:00:23,559 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:00:23,559 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:00:23,560 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:00:23,563 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:00:23,563 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:00:23,564 - root - INFO - Looking for user with username: admin +2025-12-12 11:00:23,565 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:00:23,565 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:00:23,565 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:00:23,577 - root - INFO - Clearing user context +2025-12-12 11:01:39,466 - root - INFO - Logging configured successfully +2025-12-12 11:01:39,573 - root - INFO - Logging configured successfully +2025-12-12 11:01:39,663 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:01:39,673 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:01:39,677 - root - INFO - Database tables created +2025-12-12 11:01:39,678 - root - INFO - Database initialized +2025-12-12 11:01:47,364 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 11:01:47,365 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:47,365 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 11:01:47,366 - root - INFO - Clearing user context +2025-12-12 11:01:47,366 - root - INFO - User context cleared before authentication +2025-12-12 11:01:47,366 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:47,406 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:47,407 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,407 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:47,408 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:47,413 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:01:47,413 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:01:47,414 - root - INFO - Looking for user with username: admin +2025-12-12 11:01:47,415 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:01:47,415 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,416 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:01:47,422 - root - INFO - Clearing user context +2025-12-12 11:01:47,434 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 11:01:47,435 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:47,435 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 11:01:47,435 - root - INFO - Clearing user context +2025-12-12 11:01:47,435 - root - INFO - User context cleared before authentication +2025-12-12 11:01:47,436 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:47,437 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:47,438 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,438 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:47,438 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:47,439 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:01:47,440 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:01:47,440 - root - INFO - Looking for user with username: admin +2025-12-12 11:01:47,441 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:01:47,441 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,442 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:01:47,449 - root - INFO - Clearing user context +2025-12-12 11:01:47,714 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:01:47,714 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:47,715 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:01:47,715 - root - INFO - Clearing user context +2025-12-12 11:01:47,715 - root - INFO - User context cleared before authentication +2025-12-12 11:01:47,715 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:47,716 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:47,717 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,717 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:47,717 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:47,719 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 11:01:47,719 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:47,719 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 11:01:47,720 - root - INFO - Clearing user context +2025-12-12 11:01:47,720 - root - INFO - User context cleared before authentication +2025-12-12 11:01:47,720 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:47,721 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:47,722 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,722 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:47,722 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:47,725 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:01:47,730 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:01:47,730 - root - INFO - Looking for user with username: admin +2025-12-12 11:01:47,735 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:01:47,735 - root - INFO - Clearing user context +2025-12-12 11:01:47,736 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,737 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:01:47,768 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 11:01:47,769 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:47,769 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 11:01:47,769 - root - INFO - Clearing user context +2025-12-12 11:01:47,770 - root - INFO - User context cleared before authentication +2025-12-12 11:01:47,771 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:47,773 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:47,774 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:47,774 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:47,775 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:47,775 - root - INFO - Clearing user context +2025-12-12 11:01:47,781 - root - INFO - Clearing user context +2025-12-12 11:01:51,167 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:01:51,169 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:01:51,169 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:01:51,169 - root - INFO - Clearing user context +2025-12-12 11:01:51,169 - root - INFO - User context cleared before authentication +2025-12-12 11:01:51,171 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:01:51,172 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:01:51,173 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:51,174 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:01:51,174 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:01:51,176 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:01:51,177 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:01:51,177 - root - INFO - Looking for user with username: admin +2025-12-12 11:01:51,179 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:01:51,180 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:01:51,180 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:01:51,188 - root - INFO - Clearing user context +2025-12-12 11:02:12,306 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 11:02:12,306 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:12,307 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 11:02:12,307 - root - INFO - Clearing user context +2025-12-12 11:02:12,307 - root - INFO - User context cleared before authentication +2025-12-12 11:02:12,307 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:12,308 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:12,308 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,309 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:12,309 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:12,310 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:02:12,311 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:02:12,311 - root - INFO - Looking for user with username: admin +2025-12-12 11:02:12,312 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:02:12,312 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,312 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:02:12,314 - root - INFO - Clearing user context +2025-12-12 11:02:12,415 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 11:02:12,415 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:12,416 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 11:02:12,416 - root - INFO - Clearing user context +2025-12-12 11:02:12,416 - root - INFO - User context cleared before authentication +2025-12-12 11:02:12,416 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:12,417 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:12,417 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,418 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:12,418 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:12,419 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:02:12,420 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:02:12,420 - root - INFO - Looking for user with username: admin +2025-12-12 11:02:12,420 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:02:12,421 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,421 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:02:12,423 - root - INFO - Clearing user context +2025-12-12 11:02:12,579 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:02:12,579 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:12,579 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:02:12,580 - root - INFO - Clearing user context +2025-12-12 11:02:12,580 - root - INFO - User context cleared before authentication +2025-12-12 11:02:12,580 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:12,581 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:12,582 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,582 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:12,582 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:12,584 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 11:02:12,584 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:12,584 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 11:02:12,584 - root - INFO - Clearing user context +2025-12-12 11:02:12,585 - root - INFO - User context cleared before authentication +2025-12-12 11:02:12,585 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:12,587 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:12,587 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,588 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:12,588 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:12,596 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:02:12,597 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:02:12,597 - root - INFO - Clearing user context +2025-12-12 11:02:12,597 - root - INFO - Looking for user with username: admin +2025-12-12 11:02:12,601 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:02:12,601 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,602 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:02:12,613 - root - INFO - Clearing user context +2025-12-12 11:02:12,641 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 11:02:12,642 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:12,642 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 11:02:12,643 - root - INFO - Clearing user context +2025-12-12 11:02:12,643 - root - INFO - User context cleared before authentication +2025-12-12 11:02:12,644 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:12,646 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:12,646 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:12,646 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:12,647 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:12,651 - root - INFO - Clearing user context +2025-12-12 11:02:17,253 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:02:17,253 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:17,254 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:02:17,254 - root - INFO - Clearing user context +2025-12-12 11:02:17,254 - root - INFO - User context cleared before authentication +2025-12-12 11:02:17,254 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:17,256 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:17,257 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:17,257 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:17,257 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:17,260 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:02:17,260 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:02:17,260 - root - INFO - Looking for user with username: admin +2025-12-12 11:02:17,262 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:02:17,262 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:17,262 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:02:17,267 - root - INFO - Clearing user context +2025-12-12 11:02:41,279 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:02:41,279 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:02:41,280 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:02:41,280 - root - INFO - Clearing user context +2025-12-12 11:02:41,281 - root - INFO - User context cleared before authentication +2025-12-12 11:02:41,281 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:02:41,283 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:02:41,283 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:41,283 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:02:41,284 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:02:41,287 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:02:41,287 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:02:41,288 - root - INFO - Looking for user with username: admin +2025-12-12 11:02:41,289 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:02:41,290 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:02:41,290 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:02:41,301 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 11:02:41,384 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 11:02:41,388 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 11:02:42,061 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:02:42,122 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 11:02:42,123 - root - INFO - Clearing user context +2025-12-12 11:18:32,004 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 11:18:43,322 - root - INFO - Logging configured successfully +2025-12-12 11:18:43,448 - root - INFO - Logging configured successfully +2025-12-12 11:18:43,543 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:18:43,554 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:18:43,558 - root - INFO - Database tables created +2025-12-12 11:18:43,559 - root - INFO - Database initialized +2025-12-12 11:18:52,468 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:18:52,468 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:18:52,468 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:18:52,468 - root - INFO - Clearing user context +2025-12-12 11:18:52,469 - root - INFO - User context cleared before authentication +2025-12-12 11:18:52,469 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:18:52,495 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:18:52,496 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:18:52,496 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:18:52,496 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:18:52,501 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:18:52,502 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:18:52,502 - root - INFO - Looking for user with username: admin +2025-12-12 11:18:52,504 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:18:52,505 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:18:52,505 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:18:52,510 - th_agenter.services.document - ERROR - Failed to upload document: File type .doc not allowed +2025-12-12 11:18:52,511 - root - ERROR - Database session error: 500: Failed to upload document: File type .doc not allowed +2025-12-12 11:18:52,511 - root - INFO - Clearing user context +2025-12-12 11:19:12,728 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:19:12,729 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:19:12,729 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:19:12,729 - root - INFO - Clearing user context +2025-12-12 11:19:12,729 - root - INFO - User context cleared before authentication +2025-12-12 11:19:12,730 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:19:12,731 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:19:12,731 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:19:12,732 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:19:12,732 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:19:12,734 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:19:12,735 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:19:12,735 - root - INFO - Looking for user with username: admin +2025-12-12 11:19:12,737 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:19:12,737 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:19:12,738 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:19:12,739 - th_agenter.services.document - ERROR - Failed to upload document: File type .doc not allowed +2025-12-12 11:19:12,740 - root - ERROR - Database session error: 500: Failed to upload document: File type .doc not allowed +2025-12-12 11:19:12,741 - root - INFO - Clearing user context +2025-12-12 11:20:15,839 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 11:20:24,885 - root - INFO - Logging configured successfully +2025-12-12 11:20:24,999 - root - INFO - Logging configured successfully +2025-12-12 11:20:25,096 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:20:25,106 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:20:25,110 - root - INFO - Database tables created +2025-12-12 11:20:25,110 - root - INFO - Database initialized +2025-12-12 11:20:34,053 - root - INFO - Logging configured successfully +2025-12-12 11:20:34,157 - root - INFO - Logging configured successfully +2025-12-12 11:20:34,246 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:20:34,254 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:20:34,258 - root - INFO - Database tables created +2025-12-12 11:20:34,259 - root - INFO - Database initialized +2025-12-12 11:20:42,738 - root - INFO - Logging configured successfully +2025-12-12 11:20:42,843 - root - INFO - Logging configured successfully +2025-12-12 11:20:42,932 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:20:42,939 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:20:42,943 - root - INFO - Database tables created +2025-12-12 11:20:42,943 - root - INFO - Database initialized +2025-12-12 11:20:51,417 - root - INFO - Logging configured successfully +2025-12-12 11:20:51,516 - root - INFO - Logging configured successfully +2025-12-12 11:20:51,609 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:20:51,616 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:20:51,621 - root - INFO - Database tables created +2025-12-12 11:20:51,622 - root - INFO - Database initialized +2025-12-12 11:20:59,369 - root - INFO - Logging configured successfully +2025-12-12 11:20:59,475 - root - INFO - Logging configured successfully +2025-12-12 11:20:59,568 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:20:59,577 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:20:59,580 - root - INFO - Database tables created +2025-12-12 11:20:59,581 - root - INFO - Database initialized +2025-12-12 11:23:11,179 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 11:23:22,620 - root - INFO - Logging configured successfully +2025-12-12 11:23:22,724 - root - INFO - Logging configured successfully +2025-12-12 11:23:22,813 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:23:22,819 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:23:22,823 - root - INFO - Database tables created +2025-12-12 11:23:22,823 - root - INFO - Database initialized +2025-12-12 11:23:32,756 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 11:23:32,757 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:32,757 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 11:23:32,757 - root - INFO - Clearing user context +2025-12-12 11:23:32,758 - root - INFO - User context cleared before authentication +2025-12-12 11:23:32,758 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:32,783 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:32,784 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,784 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:32,784 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:32,787 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:23:32,788 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:23:32,789 - root - INFO - Looking for user with username: admin +2025-12-12 11:23:32,790 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:23:32,790 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,790 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:23:32,798 - root - INFO - Clearing user context +2025-12-12 11:23:32,804 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 11:23:32,804 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:32,805 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 11:23:32,805 - root - INFO - Clearing user context +2025-12-12 11:23:32,805 - root - INFO - User context cleared before authentication +2025-12-12 11:23:32,806 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:32,808 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:32,808 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,808 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:32,809 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:32,810 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:23:32,810 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:23:32,810 - root - INFO - Looking for user with username: admin +2025-12-12 11:23:32,812 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:23:32,812 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,812 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:23:32,818 - root - INFO - Clearing user context +2025-12-12 11:23:32,986 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:23:32,986 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:32,987 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:23:32,987 - root - INFO - Clearing user context +2025-12-12 11:23:32,987 - root - INFO - User context cleared before authentication +2025-12-12 11:23:32,987 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:32,989 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:32,989 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,989 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:32,989 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:32,990 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 11:23:32,990 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:32,990 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 11:23:32,990 - root - INFO - Clearing user context +2025-12-12 11:23:32,990 - root - INFO - User context cleared before authentication +2025-12-12 11:23:32,991 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:32,992 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:32,992 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:32,992 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:32,992 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:32,996 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:23:32,997 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:23:32,998 - root - INFO - Looking for user with username: admin +2025-12-12 11:23:33,003 - root - INFO - Clearing user context +2025-12-12 11:23:33,004 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:23:33,004 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:33,005 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:23:33,027 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 11:23:33,027 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:33,027 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 11:23:33,027 - root - INFO - Clearing user context +2025-12-12 11:23:33,028 - root - INFO - User context cleared before authentication +2025-12-12 11:23:33,028 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:33,030 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:33,030 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:33,031 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:33,031 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:33,033 - root - INFO - Clearing user context +2025-12-12 11:23:33,037 - root - INFO - Clearing user context +2025-12-12 11:23:34,734 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:23:34,735 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:34,735 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:23:34,735 - root - INFO - Clearing user context +2025-12-12 11:23:34,736 - root - INFO - User context cleared before authentication +2025-12-12 11:23:34,736 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:34,737 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:34,737 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:34,738 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:34,738 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:34,740 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:23:34,740 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:23:34,740 - root - INFO - Looking for user with username: admin +2025-12-12 11:23:34,742 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:23:34,742 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:34,742 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:23:34,749 - root - INFO - Clearing user context +2025-12-12 11:23:39,139 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:23:39,140 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:23:39,140 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:23:39,141 - root - INFO - Clearing user context +2025-12-12 11:23:39,141 - root - INFO - User context cleared before authentication +2025-12-12 11:23:39,141 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:23:39,142 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:23:39,143 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:39,143 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:23:39,143 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:23:39,146 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:23:39,147 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:23:39,147 - root - INFO - Looking for user with username: admin +2025-12-12 11:23:39,148 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:23:39,148 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:23:39,149 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:23:39,151 - th_agenter.services.document - ERROR - Failed to upload document: File type .doc not allowed +2025-12-12 11:23:39,152 - root - ERROR - Database session error: 500: Failed to upload document: File type .doc not allowed +2025-12-12 11:23:39,153 - root - INFO - Clearing user context +2025-12-12 11:26:19,068 - root - INFO - Shutting down TH-Agenter application... +2025-12-12 11:26:28,095 - root - INFO - Logging configured successfully +2025-12-12 11:26:28,221 - root - INFO - Logging configured successfully +2025-12-12 11:26:28,332 - root - INFO - Starting up TH-Agenter application... +2025-12-12 11:26:28,341 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-12 11:26:28,344 - root - INFO - Database tables created +2025-12-12 11:26:28,345 - root - INFO - Database initialized +2025-12-12 11:26:34,726 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-12 11:26:34,727 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:34,727 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-12 11:26:34,727 - root - INFO - Clearing user context +2025-12-12 11:26:34,727 - root - INFO - User context cleared before authentication +2025-12-12 11:26:34,728 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:34,750 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:34,750 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,751 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:34,751 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:34,753 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:34,755 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:34,755 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:34,756 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:34,756 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,756 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:34,761 - root - INFO - Clearing user context +2025-12-12 11:26:34,769 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-12 11:26:34,769 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:34,769 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-12 11:26:34,770 - root - INFO - Clearing user context +2025-12-12 11:26:34,770 - root - INFO - User context cleared before authentication +2025-12-12 11:26:34,770 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:34,771 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:34,772 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,772 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:34,772 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:34,774 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:34,774 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:34,774 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:34,776 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:34,776 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,776 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:34,782 - root - INFO - Clearing user context +2025-12-12 11:26:34,990 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-12 11:26:34,990 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:34,990 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-12 11:26:34,991 - root - INFO - Clearing user context +2025-12-12 11:26:34,991 - root - INFO - User context cleared before authentication +2025-12-12 11:26:34,991 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:34,993 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:34,993 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,994 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:34,994 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:34,995 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-12 11:26:34,995 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:34,995 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-12 11:26:34,995 - root - INFO - Clearing user context +2025-12-12 11:26:34,995 - root - INFO - User context cleared before authentication +2025-12-12 11:26:34,995 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:34,997 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:34,997 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:34,997 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:34,997 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:35,005 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:35,007 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:35,007 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:35,008 - root - INFO - Clearing user context +2025-12-12 11:26:35,009 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:35,009 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:35,010 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:35,029 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-12 11:26:35,029 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:35,030 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-12 11:26:35,030 - root - INFO - Clearing user context +2025-12-12 11:26:35,031 - root - INFO - User context cleared before authentication +2025-12-12 11:26:35,031 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:35,032 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:35,032 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:35,033 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:35,033 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:35,034 - root - INFO - Clearing user context +2025-12-12 11:26:35,038 - root - INFO - Clearing user context +2025-12-12 11:26:37,533 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:26:37,534 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:37,534 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:26:37,535 - root - INFO - Clearing user context +2025-12-12 11:26:37,535 - root - INFO - User context cleared before authentication +2025-12-12 11:26:37,535 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:37,537 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:37,537 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:37,538 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:37,538 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:37,540 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:37,540 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:37,541 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:37,542 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:37,543 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:37,543 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:37,550 - root - INFO - Clearing user context +2025-12-12 11:26:42,236 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:26:42,237 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:42,237 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:26:42,237 - root - INFO - Clearing user context +2025-12-12 11:26:42,238 - root - INFO - User context cleared before authentication +2025-12-12 11:26:42,238 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:42,239 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:42,239 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:42,239 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:42,239 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:42,242 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:42,243 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:42,243 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:42,244 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:42,245 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:42,245 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:42,355 - th_agenter.services.document - INFO - Uploaded document: 链家租房合同.doc to KB 6 (Doc ID: 4) +2025-12-12 11:26:42,361 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-12 11:26:42,429 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-12 11:26:42,434 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-12 11:26:42,436 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 4, 路径: E:\Work\HXF\backend\data\uploads\kb_6\8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc +2025-12-12 11:26:42,437 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF\backend\data\uploads\kb_6\8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc: No module named 'docx2txt' +2025-12-12 11:26:42,438 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 4: No module named 'docx2txt' +2025-12-12 11:26:42,443 - root - INFO - Clearing user context +2025-12-12 11:26:44,467 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:26:44,467 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:26:44,467 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:26:44,467 - root - INFO - Clearing user context +2025-12-12 11:26:44,467 - root - INFO - User context cleared before authentication +2025-12-12 11:26:44,467 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:26:44,469 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:26:44,469 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:44,469 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:26:44,469 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:26:44,470 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:26:44,471 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:26:44,471 - root - INFO - Looking for user with username: admin +2025-12-12 11:26:44,472 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:26:44,472 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:26:44,472 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:26:44,475 - root - INFO - Clearing user context +2025-12-12 11:27:10,974 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:27:10,975 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:10,975 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:27:10,975 - root - INFO - Clearing user context +2025-12-12 11:27:10,976 - root - INFO - User context cleared before authentication +2025-12-12 11:27:10,977 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:10,978 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:10,979 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:10,980 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:10,980 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:10,982 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:10,983 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:10,983 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:10,984 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:10,985 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:10,985 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:11,711 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:27:11,775 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 11:27:11,778 - root - INFO - Clearing user context +2025-12-12 11:27:35,765 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents/3/chunks +2025-12-12 11:27:35,766 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/3/chunks against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:35,766 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/3/chunks +2025-12-12 11:27:35,766 - root - INFO - Clearing user context +2025-12-12 11:27:35,766 - root - INFO - User context cleared before authentication +2025-12-12 11:27:35,767 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:35,768 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:35,768 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:35,769 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:35,769 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:35,770 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:35,771 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:35,771 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:35,773 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:35,774 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:35,774 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:35,848 - th_agenter.services.document_processor - INFO - 通过SQLAlchemy连接池查询获取到文档 3 的 7 个分段 +2025-12-12 11:27:35,849 - th_agenter.services.document - INFO - Retrieved 7 chunks for document 3 +2025-12-12 11:27:35,850 - root - INFO - Clearing user context +2025-12-12 11:27:41,071 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/6/documents/3 +2025-12-12 11:27:41,072 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/3 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:41,073 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/3 +2025-12-12 11:27:41,073 - root - INFO - Clearing user context +2025-12-12 11:27:41,073 - root - INFO - User context cleared before authentication +2025-12-12 11:27:41,073 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:41,074 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:41,075 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:41,075 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:41,075 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:41,077 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:41,077 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:41,078 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:41,080 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:41,080 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:41,080 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:41,088 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF\backend\data\uploads\kb_6\65483448-1076-499a-915e-4ded81664153_周报.txt +2025-12-12 11:27:41,171 - th_agenter.services.document_processor - INFO - 成功删除 7 个文档块: document_id=3 +2025-12-12 11:27:41,172 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=3 +2025-12-12 11:27:41,183 - th_agenter.services.document - INFO - Deleted document: 65483448-1076-499a-915e-4ded81664153_周报.txt (ID: 3) +2025-12-12 11:27:41,185 - root - INFO - Clearing user context +2025-12-12 11:27:41,499 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:27:41,499 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:41,500 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:27:41,500 - root - INFO - Clearing user context +2025-12-12 11:27:41,500 - root - INFO - User context cleared before authentication +2025-12-12 11:27:41,500 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:41,502 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:41,504 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:41,505 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:41,505 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:41,507 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:41,508 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:41,508 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:41,510 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:41,510 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:41,510 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:41,515 - root - INFO - Clearing user context +2025-12-12 11:27:44,981 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:27:44,981 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:44,982 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:27:44,982 - root - INFO - Clearing user context +2025-12-12 11:27:44,983 - root - INFO - User context cleared before authentication +2025-12-12 11:27:44,983 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:44,985 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:44,985 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:44,985 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:44,986 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:44,987 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:44,987 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:44,988 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:44,989 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:44,989 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:44,989 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:44,993 - root - INFO - Clearing user context +2025-12-12 11:27:52,810 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:27:52,810 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:27:52,810 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:27:52,810 - root - INFO - Clearing user context +2025-12-12 11:27:52,811 - root - INFO - User context cleared before authentication +2025-12-12 11:27:52,811 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:27:52,812 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:27:52,812 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:52,812 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:27:52,812 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:27:52,814 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:27:52,814 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:27:52,814 - root - INFO - Looking for user with username: admin +2025-12-12 11:27:52,815 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:27:52,815 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:27:52,815 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:27:53,100 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:27:53,151 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:27:53,153 - root - INFO - Clearing user context +2025-12-12 11:28:04,934 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:28:04,934 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:28:04,934 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:28:04,934 - root - INFO - Clearing user context +2025-12-12 11:28:04,935 - root - INFO - User context cleared before authentication +2025-12-12 11:28:04,935 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:28:04,936 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:28:04,936 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:28:04,937 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:28:04,937 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:28:04,940 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:28:04,941 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:28:04,941 - root - INFO - Looking for user with username: admin +2025-12-12 11:28:04,942 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:28:04,943 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:28:04,943 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:28:05,247 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:28:05,298 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:28:05,299 - root - INFO - Clearing user context +2025-12-12 11:28:14,259 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:28:14,259 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:28:14,259 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:28:14,260 - root - INFO - Clearing user context +2025-12-12 11:28:14,260 - root - INFO - User context cleared before authentication +2025-12-12 11:28:14,260 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:28:14,261 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:28:14,261 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:28:14,262 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:28:14,262 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:28:14,263 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:28:14,263 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:28:14,263 - root - INFO - Looking for user with username: admin +2025-12-12 11:28:14,264 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:28:14,264 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:28:14,264 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:28:14,472 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:28:14,523 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:28:14,525 - root - INFO - Clearing user context +2025-12-12 11:29:03,181 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:29:03,181 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:29:03,182 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:29:03,182 - root - INFO - Clearing user context +2025-12-12 11:29:03,182 - root - INFO - User context cleared before authentication +2025-12-12 11:29:03,182 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:29:03,184 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:29:03,184 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:29:03,184 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:29:03,185 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:29:03,187 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:29:03,187 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:29:03,187 - root - INFO - Looking for user with username: admin +2025-12-12 11:29:03,188 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:29:03,188 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:29:03,189 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:29:03,474 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:29:03,525 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:29:03,526 - root - INFO - Clearing user context +2025-12-12 11:30:32,003 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/6/documents/4 +2025-12-12 11:30:32,004 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/4 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:32,004 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/4 +2025-12-12 11:30:32,004 - root - INFO - Clearing user context +2025-12-12 11:30:32,004 - root - INFO - User context cleared before authentication +2025-12-12 11:30:32,005 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:32,006 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:32,006 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:32,006 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:32,006 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:32,007 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:32,007 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:32,007 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:32,008 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:32,008 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:32,008 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:32,010 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF\backend\data\uploads\kb_6\8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc +2025-12-12 11:30:32,060 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=4 +2025-12-12 11:30:32,061 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=4 +2025-12-12 11:30:32,067 - th_agenter.services.document - INFO - Deleted document: 8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc (ID: 4) +2025-12-12 11:30:32,068 - root - INFO - Clearing user context +2025-12-12 11:30:32,268 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:30:32,268 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:32,268 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:32,268 - root - INFO - Clearing user context +2025-12-12 11:30:32,269 - root - INFO - User context cleared before authentication +2025-12-12 11:30:32,269 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:32,270 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:32,270 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:32,270 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:32,271 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:32,272 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:32,272 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:32,272 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:32,273 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:32,273 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:32,274 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:32,277 - root - INFO - Clearing user context +2025-12-12 11:30:35,426 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:30:35,427 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:35,427 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:35,427 - root - INFO - Clearing user context +2025-12-12 11:30:35,427 - root - INFO - User context cleared before authentication +2025-12-12 11:30:35,428 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:35,429 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:35,430 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:35,430 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:35,430 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:35,450 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:35,450 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:35,451 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:35,452 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:35,452 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:35,453 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:35,471 - th_agenter.services.document - INFO - Uploaded document: 发明专利申请说明书CN202411808464.5.pdf to KB 6 (Doc ID: 3) +2025-12-12 11:30:35,474 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 3, 路径: E:\Work\HXF\backend\data\uploads\kb_6\3b7f98d3-ba4c-49e2-a410-690ef42ec2e6_发明专利申请说明书CN202411808464.5.pdf +2025-12-12 11:30:35,497 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF\backend\data\uploads\kb_6\3b7f98d3-ba4c-49e2-a410-690ef42ec2e6_发明专利申请说明书CN202411808464.5.pdf, 页数: 0 +2025-12-12 11:30:35,497 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-12 11:30:35,555 - th_agenter.services.document_processor - WARNING - 连接现有向量存储失败,创建新的向量存储: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 11:30:35,606 - th_agenter.services.document_processor - ERROR - 创建向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 11:30:35,607 - th_agenter.services.document_processor - ERROR - 添加文档到向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 11:30:35,607 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 3: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-12 11:30:35,609 - root - INFO - Clearing user context +2025-12-12 11:30:37,933 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:30:37,934 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:37,934 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:37,934 - root - INFO - Clearing user context +2025-12-12 11:30:37,934 - root - INFO - User context cleared before authentication +2025-12-12 11:30:37,934 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:37,935 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:37,936 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:37,936 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:37,936 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:37,937 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:37,938 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:37,938 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:37,939 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:37,939 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:37,940 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:37,943 - root - INFO - Clearing user context +2025-12-12 11:30:38,652 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:30:38,653 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:38,653 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:38,654 - root - INFO - Clearing user context +2025-12-12 11:30:38,655 - root - INFO - User context cleared before authentication +2025-12-12 11:30:38,655 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:38,657 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:38,657 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:38,658 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:38,658 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:38,661 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:38,662 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:38,662 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:38,664 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:38,665 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:38,665 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:38,671 - root - INFO - Clearing user context +2025-12-12 11:30:44,406 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:30:44,406 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:44,406 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:30:44,406 - root - INFO - Clearing user context +2025-12-12 11:30:44,407 - root - INFO - User context cleared before authentication +2025-12-12 11:30:44,407 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:44,408 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:44,408 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:44,408 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:44,409 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:44,410 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:44,410 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:44,410 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:44,411 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:44,411 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:44,411 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:44,710 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:44,763 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:30:44,764 - root - INFO - Clearing user context +2025-12-12 11:30:53,186 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-12 11:30:53,186 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:53,186 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:53,186 - root - INFO - Clearing user context +2025-12-12 11:30:53,186 - root - INFO - User context cleared before authentication +2025-12-12 11:30:53,187 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:53,187 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:53,188 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:53,188 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:53,188 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:53,190 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:53,190 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:53,190 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:53,191 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:53,191 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:53,191 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:53,205 - th_agenter.services.document - INFO - Uploaded document: 周报.txt to KB 6 (Doc ID: 4) +2025-12-12 11:30:53,208 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 4, 路径: E:\Work\HXF\backend\data\uploads\kb_6\7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt +2025-12-12 11:30:53,209 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF\backend\data\uploads\kb_6\7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt, 页数: 1 +2025-12-12 11:30:53,213 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-12 11:30:53,214 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-12 11:30:53,215 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 7 个文档块 +2025-12-12 11:30:53,499 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:53,636 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:53,777 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:53,910 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:54,027 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:54,137 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:54,243 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:30:54,310 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_6 +2025-12-12 11:30:54,321 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 4, 'status': 'success', 'chunks_count': 7, 'message': '文档处理完成'} +2025-12-12 11:30:54,330 - th_agenter.services.document - INFO - Processed document: 7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt (ID: 4) +2025-12-12 11:30:54,331 - root - INFO - Clearing user context +2025-12-12 11:30:56,338 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:30:56,338 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:30:56,338 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:30:56,339 - root - INFO - Clearing user context +2025-12-12 11:30:56,339 - root - INFO - User context cleared before authentication +2025-12-12 11:30:56,339 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:30:56,340 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:30:56,340 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:56,340 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:30:56,340 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:30:56,341 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:30:56,341 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:30:56,341 - root - INFO - Looking for user with username: admin +2025-12-12 11:30:56,343 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:30:56,343 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:30:56,343 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:30:56,347 - root - INFO - Clearing user context +2025-12-12 11:31:00,568 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:31:00,568 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:31:00,568 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:31:00,569 - root - INFO - Clearing user context +2025-12-12 11:31:00,569 - root - INFO - User context cleared before authentication +2025-12-12 11:31:00,569 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:31:00,570 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:31:00,570 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:31:00,570 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:31:00,570 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:31:00,572 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:31:00,572 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:31:00,572 - root - INFO - Looking for user with username: admin +2025-12-12 11:31:00,573 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:31:00,573 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:31:00,573 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:31:00,919 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:31:00,966 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-12 11:31:00,968 - root - INFO - Clearing user context +2025-12-12 11:33:14,112 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/6/documents/4 +2025-12-12 11:33:14,112 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents/4 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:33:14,112 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents/4 +2025-12-12 11:33:14,112 - root - INFO - Clearing user context +2025-12-12 11:33:14,112 - root - INFO - User context cleared before authentication +2025-12-12 11:33:14,112 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:33:14,113 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:33:14,113 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:14,113 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:33:14,113 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:33:14,114 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:33:14,114 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:33:14,114 - root - INFO - Looking for user with username: admin +2025-12-12 11:33:14,116 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:33:14,116 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:14,116 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:33:14,117 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF\backend\data\uploads\kb_6\7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt +2025-12-12 11:33:14,169 - th_agenter.services.document_processor - INFO - 成功删除 7 个文档块: document_id=4 +2025-12-12 11:33:14,170 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=4 +2025-12-12 11:33:14,180 - th_agenter.services.document - INFO - Deleted document: 7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt (ID: 4) +2025-12-12 11:33:14,180 - root - INFO - Clearing user context +2025-12-12 11:33:14,379 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-12 11:33:14,379 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:33:14,380 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-12 11:33:14,380 - root - INFO - Clearing user context +2025-12-12 11:33:14,380 - root - INFO - User context cleared before authentication +2025-12-12 11:33:14,381 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:33:14,382 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:33:14,382 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:14,383 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:33:14,383 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:33:14,385 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:33:14,385 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:33:14,385 - root - INFO - Looking for user with username: admin +2025-12-12 11:33:14,387 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:33:14,387 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:14,387 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:33:14,391 - root - INFO - Clearing user context +2025-12-12 11:33:31,137 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:33:31,137 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:33:31,137 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:33:31,137 - root - INFO - Clearing user context +2025-12-12 11:33:31,138 - root - INFO - User context cleared before authentication +2025-12-12 11:33:31,138 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:33:31,139 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:33:31,139 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:31,139 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:33:31,139 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:33:31,141 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:33:31,141 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:33:31,141 - root - INFO - Looking for user with username: admin +2025-12-12 11:33:31,142 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:33:31,142 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:33:31,142 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:33:31,395 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:33:31,446 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:33:31,447 - root - INFO - Clearing user context +2025-12-12 11:34:18,141 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-12 11:34:18,142 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-12 11:34:18,142 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-12 11:34:18,143 - root - INFO - Clearing user context +2025-12-12 11:34:18,143 - root - INFO - User context cleared before authentication +2025-12-12 11:34:18,143 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-12 11:34:18,145 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-12 11:34:18,146 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:34:18,146 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-12 11:34:18,147 - root - INFO - Verified current user ID in context: 2 +2025-12-12 11:34:18,149 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-12 11:34:18,150 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765522807} +2025-12-12 11:34:18,150 - root - INFO - Looking for user with username: admin +2025-12-12 11:34:18,152 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-12 11:34:18,153 - root - INFO - Verification - ContextVar user: admin +2025-12-12 11:34:18,153 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-12 11:34:18,438 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-12 11:34:18,487 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-12 11:34:18,488 - root - INFO - Clearing user context +2025-12-13 09:11:40,748 - root - INFO - Logging configured successfully +2025-12-13 09:11:40,848 - root - INFO - Logging configured successfully +2025-12-13 09:11:40,945 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:11:40,959 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:11:40,975 - root - INFO - Database tables created +2025-12-13 09:11:40,975 - root - INFO - Database initialized +2025-12-13 09:12:49,119 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 09:12:49,119 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:49,119 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 09:12:49,119 - root - INFO - Clearing user context +2025-12-13 09:12:49,119 - root - INFO - User context cleared before authentication +2025-12-13 09:12:49,119 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-13 09:12:49,119 - root - ERROR - Token verification failed: Signature has expired +2025-12-13 09:12:49,119 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:49,119 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-13 09:12:49,119 - root - ERROR - Algorithm: HS256 +2025-12-13 09:12:49,281 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 09:12:49,282 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:49,283 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 09:12:49,283 - root - INFO - Clearing user context +2025-12-13 09:12:49,284 - root - INFO - User context cleared before authentication +2025-12-13 09:12:49,284 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-13 09:12:49,284 - root - ERROR - Token verification failed: Signature has expired +2025-12-13 09:12:49,284 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:49,285 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-13 09:12:49,285 - root - ERROR - Algorithm: HS256 +2025-12-13 09:12:49,756 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 09:12:49,756 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:49,756 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 09:12:49,756 - root - INFO - Clearing user context +2025-12-13 09:12:49,756 - root - INFO - User context cleared before authentication +2025-12-13 09:12:49,756 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTUyMjgwN30.n5-OFuwNd0KoAllZQljLOTuBRYPary0TBuwRBJulfTQ +2025-12-13 09:12:49,756 - root - ERROR - Token verification failed: Signature has expired +2025-12-13 09:12:49,756 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:49,756 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-13 09:12:49,756 - root - ERROR - Algorithm: HS256 +2025-12-13 09:12:53,813 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-13 09:12:53,813 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:53,814 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-13 09:12:53,814 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-13 09:12:54,157 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 09:12:54,157 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,157 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 09:12:54,157 - root - INFO - Clearing user context +2025-12-13 09:12:54,157 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,157 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,163 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,170 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,170 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,170 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,174 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:54,176 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:12:54,181 - root - INFO - Looking for user with username: admin +2025-12-13 09:12:54,183 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:12:54,184 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,186 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:12:54,196 - root - INFO - Clearing user context +2025-12-13 09:12:54,202 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-13 09:12:54,202 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,202 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-13 09:12:54,202 - root - INFO - Clearing user context +2025-12-13 09:12:54,202 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,202 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,206 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,207 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,207 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,207 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,209 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:54,210 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:12:54,210 - root - INFO - Looking for user with username: admin +2025-12-13 09:12:54,211 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:12:54,212 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,212 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:12:54,220 - root - INFO - Clearing user context +2025-12-13 09:12:54,309 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 09:12:54,310 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,311 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 09:12:54,311 - root - INFO - Clearing user context +2025-12-13 09:12:54,311 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,312 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,312 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,312 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,322 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,323 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,324 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 09:12:54,325 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,325 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 09:12:54,326 - root - INFO - Clearing user context +2025-12-13 09:12:54,326 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,326 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,332 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,333 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,335 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,335 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,360 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:54,360 - root - INFO - Clearing user context +2025-12-13 09:12:54,361 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:12:54,363 - root - INFO - Looking for user with username: admin +2025-12-13 09:12:54,363 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:12:54,363 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 09:12:54,378 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,377 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,379 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 09:12:54,379 - root - INFO - Clearing user context +2025-12-13 09:12:54,379 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:12:54,388 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,389 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,392 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,393 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,393 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,397 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,436 - root - INFO - Clearing user context +2025-12-13 09:12:54,439 - root - INFO - Clearing user context +2025-12-13 09:12:54,702 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 09:12:54,702 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,702 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 09:12:54,702 - root - INFO - Clearing user context +2025-12-13 09:12:54,702 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,702 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,702 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,702 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,702 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,702 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,709 - root - INFO - Clearing user context +2025-12-13 09:12:54,747 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 09:12:54,747 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,747 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 09:12:54,747 - root - INFO - Clearing user context +2025-12-13 09:12:54,747 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,747 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,748 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,749 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,749 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,749 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,749 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 09:12:54,750 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:54,750 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 09:12:54,750 - root - INFO - Clearing user context +2025-12-13 09:12:54,750 - root - INFO - User context cleared before authentication +2025-12-13 09:12:54,750 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:54,751 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:54,751 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,751 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:54,751 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:54,752 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:12:54,753 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:12:54,753 - root - INFO - Looking for user with username: admin +2025-12-13 09:12:54,757 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:12:54,757 - root - INFO - Clearing user context +2025-12-13 09:12:54,765 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:54,765 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:12:54,778 - root - INFO - Clearing user context +2025-12-13 09:12:55,015 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 09:12:55,015 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:55,015 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 09:12:55,015 - root - INFO - Clearing user context +2025-12-13 09:12:55,015 - root - INFO - User context cleared before authentication +2025-12-13 09:12:55,015 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:55,015 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:55,015 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:55,015 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:55,015 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:55,032 - root - INFO - Clearing user context +2025-12-13 09:12:55,335 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 09:12:55,351 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:12:55,351 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 09:12:55,351 - root - INFO - Clearing user context +2025-12-13 09:12:55,351 - root - INFO - User context cleared before authentication +2025-12-13 09:12:55,351 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:12:55,351 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:12:55,351 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:12:55,351 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:12:55,351 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:12:55,361 - root - INFO - Clearing user context +2025-12-13 09:13:17,237 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 09:13:17,237 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:13:17,239 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 09:13:17,239 - root - INFO - Clearing user context +2025-12-13 09:13:17,239 - root - INFO - User context cleared before authentication +2025-12-13 09:13:17,240 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:13:17,242 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:13:17,242 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:17,242 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:13:17,244 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:13:17,247 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:13:17,248 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:13:17,248 - root - INFO - Looking for user with username: admin +2025-12-13 09:13:17,249 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:13:17,252 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:17,252 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:13:17,259 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 09:13:17,292 - th_agenter.conversation_service - INFO - Successfully created conversation 62 for user 2 +2025-12-13 09:13:17,292 - root - INFO - Clearing user context +2025-12-13 09:13:17,607 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/62/chat/stream +2025-12-13 09:13:17,607 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/62/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:13:17,607 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/62/chat/stream +2025-12-13 09:13:17,607 - root - INFO - Clearing user context +2025-12-13 09:13:17,607 - root - INFO - User context cleared before authentication +2025-12-13 09:13:17,607 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:13:17,613 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:13:17,619 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:17,624 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:13:17,626 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:13:17,659 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 09:13:18,360 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:13:18,367 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 09:13:18,383 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 09:13:18,383 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:13:18,383 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 09:13:18,383 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 09:13:18,383 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 09:13:18,383 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 09:13:18,400 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 09:13:18,400 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 09:13:18,400 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 09:13:18,400 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 09:13:18,400 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 09:13:18,400 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 09:13:18,400 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 09:13:18,407 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 09:13:18,411 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 09:13:18,411 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 09:13:18,415 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 09:13:18,419 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 09:13:18,420 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend and Agent support +2025-12-13 09:13:18,421 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 62 via LangChain +2025-12-13 09:13:18,421 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 62 +2025-12-13 09:13:18,468 - root - INFO - Clearing user context +2025-12-13 09:13:19,462 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 09:13:20,250 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 62 +2025-12-13 09:13:37,761 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 09:13:37,762 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:13:37,762 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 09:13:37,763 - root - INFO - Clearing user context +2025-12-13 09:13:37,763 - root - INFO - User context cleared before authentication +2025-12-13 09:13:37,763 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:13:37,765 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:13:37,765 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:37,766 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:13:37,766 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:13:37,768 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 09:13:37,769 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 09:13:37,770 - root - INFO - Looking for user with username: admin +2025-12-13 09:13:37,773 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 09:13:37,773 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:37,773 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 09:13:37,774 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 09:13:37,787 - th_agenter.conversation_service - INFO - Successfully created conversation 63 for user 2 +2025-12-13 09:13:37,790 - root - INFO - Clearing user context +2025-12-13 09:13:52,860 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/63/chat/stream +2025-12-13 09:13:52,860 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/63/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:13:52,860 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/63/chat/stream +2025-12-13 09:13:52,860 - root - INFO - Clearing user context +2025-12-13 09:13:52,860 - root - INFO - User context cleared before authentication +2025-12-13 09:13:52,860 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:13:52,864 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:13:52,864 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:13:52,864 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:13:52,864 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:13:52,865 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 09:13:52,866 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:13:52,866 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 09:13:52,904 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 09:13:52,904 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:13:52,904 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 09:13:52,915 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 09:13:52,915 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 09:13:52,915 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend and Agent support +2025-12-13 09:13:52,947 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 63 via LangChain +2025-12-13 09:13:52,947 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 63 +2025-12-13 09:13:52,976 - root - INFO - Clearing user context +2025-12-13 09:13:53,939 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 09:13:55,242 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 63 +2025-12-13 09:14:14,935 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/63/chat/stream +2025-12-13 09:14:14,936 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/63/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 09:14:14,936 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/63/chat/stream +2025-12-13 09:14:14,937 - root - INFO - Clearing user context +2025-12-13 09:14:14,937 - root - INFO - User context cleared before authentication +2025-12-13 09:14:14,937 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 09:14:14,937 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 09:14:14,937 - root - INFO - Verification - ContextVar user: admin +2025-12-13 09:14:14,937 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 09:14:14,937 - root - INFO - Verified current user ID in context: 2 +2025-12-13 09:14:14,943 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 09:14:14,949 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:14:14,961 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 09:14:14,980 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 09:14:14,980 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 +2025-12-13 09:14:14,980 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 09:14:14,991 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 09:14:14,991 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 09:14:14,991 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend and Agent support +2025-12-13 09:14:15,010 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 63 via LangChain +2025-12-13 09:14:15,010 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 63 +2025-12-13 09:14:15,057 - root - INFO - Clearing user context +2025-12-13 09:14:16,578 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 09:14:18,026 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 63 +2025-12-13 09:41:23,179 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 09:41:51,102 - root - INFO - Logging configured successfully +2025-12-13 09:41:51,396 - root - INFO - Logging configured successfully +2025-12-13 09:41:51,625 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:41:51,655 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:41:51,664 - root - INFO - Database tables created +2025-12-13 09:41:51,666 - root - INFO - Database initialized +2025-12-13 09:42:12,727 - root - INFO - Logging configured successfully +2025-12-13 09:42:13,011 - root - INFO - Logging configured successfully +2025-12-13 09:42:13,283 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:42:13,301 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:42:13,321 - root - INFO - Database tables created +2025-12-13 09:42:13,322 - root - INFO - Database initialized +2025-12-13 09:42:31,675 - root - INFO - Logging configured successfully +2025-12-13 09:42:31,905 - root - INFO - Logging configured successfully +2025-12-13 09:42:32,081 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:42:32,094 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:42:32,101 - root - INFO - Database tables created +2025-12-13 09:42:32,105 - root - INFO - Database initialized +2025-12-13 09:42:35,398 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 09:42:57,828 - root - INFO - Logging configured successfully +2025-12-13 09:42:58,099 - root - INFO - Logging configured successfully +2025-12-13 09:42:58,336 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:42:58,356 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:42:58,364 - root - INFO - Database tables created +2025-12-13 09:42:58,365 - root - INFO - Database initialized +2025-12-13 09:43:19,234 - root - INFO - Logging configured successfully +2025-12-13 09:43:19,441 - root - INFO - Logging configured successfully +2025-12-13 09:43:19,624 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:43:19,640 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:43:19,645 - root - INFO - Database tables created +2025-12-13 09:43:19,646 - root - INFO - Database initialized +2025-12-13 09:43:44,506 - root - INFO - Logging configured successfully +2025-12-13 09:43:44,721 - root - INFO - Logging configured successfully +2025-12-13 09:43:44,901 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:43:44,918 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:43:44,939 - root - INFO - Database tables created +2025-12-13 09:43:44,939 - root - INFO - Database initialized +2025-12-13 09:44:04,951 - root - INFO - Logging configured successfully +2025-12-13 09:44:05,198 - root - INFO - Logging configured successfully +2025-12-13 09:44:05,369 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:44:05,381 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:44:05,388 - root - INFO - Database tables created +2025-12-13 09:44:05,389 - root - INFO - Database initialized +2025-12-13 09:44:38,925 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 09:44:59,750 - root - INFO - Logging configured successfully +2025-12-13 09:44:59,967 - root - INFO - Logging configured successfully +2025-12-13 09:45:00,135 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:45:00,147 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:45:00,157 - root - INFO - Database tables created +2025-12-13 09:45:00,159 - root - INFO - Database initialized +2025-12-13 09:46:52,054 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 09:47:12,448 - root - INFO - Logging configured successfully +2025-12-13 09:47:12,667 - root - INFO - Logging configured successfully +2025-12-13 09:47:12,830 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:47:12,843 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:47:12,852 - root - INFO - Database tables created +2025-12-13 09:47:12,852 - root - INFO - Database initialized +2025-12-13 09:47:19,449 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 09:47:39,405 - root - INFO - Logging configured successfully +2025-12-13 09:47:39,622 - root - INFO - Logging configured successfully +2025-12-13 09:47:39,802 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:47:39,817 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:47:39,824 - root - INFO - Database tables created +2025-12-13 09:47:39,826 - root - INFO - Database initialized +2025-12-13 09:48:00,266 - root - INFO - Logging configured successfully +2025-12-13 09:48:00,497 - root - INFO - Logging configured successfully +2025-12-13 09:48:00,679 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:48:00,692 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:48:00,699 - root - INFO - Database tables created +2025-12-13 09:48:00,699 - root - INFO - Database initialized +2025-12-13 09:48:20,583 - root - INFO - Logging configured successfully +2025-12-13 09:48:20,816 - root - INFO - Logging configured successfully +2025-12-13 09:48:21,042 - root - INFO - Starting up TH-Agenter application... +2025-12-13 09:48:21,057 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 09:48:21,065 - root - INFO - Database tables created +2025-12-13 09:48:21,066 - root - INFO - Database initialized +2025-12-13 09:49:54,187 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 10:45:28,501 - root - INFO - Logging configured successfully +2025-12-13 10:45:28,623 - root - INFO - Logging configured successfully +2025-12-13 10:45:28,723 - root - INFO - Starting up TH-Agenter application... +2025-12-13 10:45:28,733 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 10:45:28,745 - root - INFO - Database tables created +2025-12-13 10:45:28,746 - root - INFO - Database initialized +2025-12-13 10:46:42,208 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 10:54:14,405 - root - INFO - Logging configured successfully +2025-12-13 10:54:14,536 - root - INFO - Logging configured successfully +2025-12-13 10:54:14,631 - root - INFO - Starting up TH-Agenter application... +2025-12-13 10:54:14,638 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 10:54:14,642 - root - INFO - Database tables created +2025-12-13 10:54:14,642 - root - INFO - Database initialized +2025-12-13 10:56:09,883 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 10:56:22,780 - root - INFO - Logging configured successfully +2025-12-13 10:56:22,883 - root - INFO - Logging configured successfully +2025-12-13 10:56:22,971 - root - INFO - Starting up TH-Agenter application... +2025-12-13 10:56:22,978 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 10:56:22,983 - root - INFO - Database tables created +2025-12-13 10:56:22,983 - root - INFO - Database initialized +2025-12-13 11:49:32,952 - root - INFO - Logging configured successfully +2025-12-13 11:49:33,065 - root - INFO - Logging configured successfully +2025-12-13 11:49:33,153 - root - INFO - Starting up TH-Agenter application... +2025-12-13 11:49:33,166 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 11:49:33,185 - root - INFO - Database tables created +2025-12-13 11:49:33,185 - root - INFO - Database initialized +2025-12-13 11:49:57,900 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 11:49:57,901 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:49:57,902 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 11:49:57,903 - root - INFO - Clearing user context +2025-12-13 11:49:57,903 - root - INFO - User context cleared before authentication +2025-12-13 11:49:57,903 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:49:57,958 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:49:57,959 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:57,960 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:49:57,960 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:49:57,970 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:49:57,971 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:49:57,971 - root - INFO - Looking for user with username: admin +2025-12-13 11:49:57,974 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:49:57,974 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:57,975 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:49:57,989 - root - INFO - Clearing user context +2025-12-13 11:49:57,999 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-13 11:49:58,000 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:49:58,000 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-13 11:49:58,001 - root - INFO - Clearing user context +2025-12-13 11:49:58,001 - root - INFO - User context cleared before authentication +2025-12-13 11:49:58,001 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:49:58,006 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:49:58,008 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,009 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:49:58,009 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:49:58,013 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:49:58,014 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:49:58,015 - root - INFO - Looking for user with username: admin +2025-12-13 11:49:58,017 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:49:58,017 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,018 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:49:58,026 - root - INFO - Clearing user context +2025-12-13 11:49:58,794 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 11:49:58,795 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:49:58,795 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 11:49:58,795 - root - INFO - Clearing user context +2025-12-13 11:49:58,795 - root - INFO - User context cleared before authentication +2025-12-13 11:49:58,796 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:49:58,797 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:49:58,797 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,807 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:49:58,808 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:49:58,809 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 11:49:58,816 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:49:58,817 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 11:49:58,818 - root - INFO - Clearing user context +2025-12-13 11:49:58,818 - root - INFO - User context cleared before authentication +2025-12-13 11:49:58,819 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:49:58,824 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:49:58,824 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,825 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:49:58,825 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:49:58,829 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:49:58,834 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:49:58,835 - root - INFO - Looking for user with username: admin +2025-12-13 11:49:58,845 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:49:58,846 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,848 - root - INFO - Clearing user context +2025-12-13 11:49:58,848 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:49:58,882 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 11:49:58,883 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:49:58,883 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 11:49:58,883 - root - INFO - Clearing user context +2025-12-13 11:49:58,884 - root - INFO - User context cleared before authentication +2025-12-13 11:49:58,885 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:49:58,887 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:49:58,892 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:49:58,896 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:49:58,900 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:49:58,903 - root - INFO - Clearing user context +2025-12-13 11:49:58,909 - root - INFO - Clearing user context +2025-12-13 11:50:02,001 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 11:50:02,001 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,002 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 11:50:02,002 - root - INFO - Clearing user context +2025-12-13 11:50:02,002 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,003 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,006 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,008 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,009 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,010 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,012 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 11:50:02,016 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,016 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 11:50:02,016 - root - INFO - Clearing user context +2025-12-13 11:50:02,017 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,017 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,019 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,020 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,022 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,022 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,031 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:50:02,032 - root - INFO - Clearing user context +2025-12-13 11:50:02,032 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:50:02,033 - root - INFO - Looking for user with username: admin +2025-12-13 11:50:02,035 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:50:02,035 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,037 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 11:50:02,038 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:50:02,038 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,038 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 11:50:02,039 - root - INFO - Clearing user context +2025-12-13 11:50:02,040 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,040 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,042 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,042 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,043 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,044 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,072 - root - INFO - Clearing user context +2025-12-13 11:50:02,074 - root - INFO - Clearing user context +2025-12-13 11:50:02,159 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 11:50:02,159 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,159 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 11:50:02,160 - root - INFO - Clearing user context +2025-12-13 11:50:02,160 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,161 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,163 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,163 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,164 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,164 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,168 - root - INFO - Clearing user context +2025-12-13 11:50:02,350 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 11:50:02,351 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,353 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 11:50:02,353 - root - INFO - Clearing user context +2025-12-13 11:50:02,353 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,353 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,356 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,356 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,358 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,362 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,366 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:50:02,367 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:50:02,368 - root - INFO - Looking for user with username: admin +2025-12-13 11:50:02,372 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:50:02,374 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,376 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:50:02,396 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 11:50:02,397 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:02,398 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 11:50:02,398 - root - INFO - Clearing user context +2025-12-13 11:50:02,398 - root - INFO - User context cleared before authentication +2025-12-13 11:50:02,399 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:02,400 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:02,401 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:02,401 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:02,401 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:02,404 - root - INFO - Clearing user context +2025-12-13 11:50:02,409 - root - INFO - Clearing user context +2025-12-13 11:50:15,520 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 11:50:15,523 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:15,523 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 11:50:15,524 - root - INFO - Clearing user context +2025-12-13 11:50:15,525 - root - INFO - User context cleared before authentication +2025-12-13 11:50:15,525 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:15,526 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:15,526 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:15,527 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:15,527 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:15,533 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 11:50:15,534 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 11:50:15,535 - root - INFO - Looking for user with username: admin +2025-12-13 11:50:15,536 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 11:50:15,537 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:15,537 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 11:50:15,543 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 11:50:15,568 - th_agenter.conversation_service - INFO - Successfully created conversation 64 for user 2 +2025-12-13 11:50:15,569 - root - INFO - Clearing user context +2025-12-13 11:50:15,784 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 11:50:15,785 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 11:50:15,786 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 11:50:15,786 - root - INFO - Clearing user context +2025-12-13 11:50:15,787 - root - INFO - User context cleared before authentication +2025-12-13 11:50:15,787 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 11:50:15,789 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 11:50:15,798 - root - INFO - Verification - ContextVar user: admin +2025-12-13 11:50:15,798 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 11:50:15,798 - root - INFO - Verified current user ID in context: 2 +2025-12-13 11:50:15,809 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 11:50:17,035 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 11:50:17,036 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 11:50:17,046 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 11:50:17,066 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 11:50:17,072 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 11:50:17,073 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 11:50:17,077 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 11:50:17,077 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 11:50:17,078 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 11:50:17,078 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 11:50:17,079 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 11:50:17,080 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 11:50:17,082 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 11:50:17,083 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 11:50:17,084 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 11:50:17,086 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 11:50:17,087 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 11:50:17,087 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 11:50:17,094 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 11:50:17,096 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 11:50:17,102 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 11:50:17,104 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 11:50:17,111 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 11:50:17,112 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 11:50:17,115 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 11:50:17,116 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 11:50:17,170 - root - INFO - Clearing user context +2025-12-13 11:50:18,430 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 11:50:19,532 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:10:20,746 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:10:20,748 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:10:20,748 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:10:20,748 - root - INFO - Clearing user context +2025-12-13 13:10:20,749 - root - INFO - User context cleared before authentication +2025-12-13 13:10:20,749 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:10:20,750 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:10:20,751 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:10:20,752 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:10:20,752 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:10:20,756 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:10:20,780 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:20,784 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:10:20,792 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:10:20,819 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:10:20,830 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:20,834 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:10:20,838 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:10:20,839 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:10:20,839 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:10:20,846 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:20,847 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:10:20,849 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:10:20,849 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:10:20,894 - root - INFO - Clearing user context +2025-12-13 13:10:21,729 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:10:22,825 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:10:35,722 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:10:35,723 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:10:35,723 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:10:35,724 - root - INFO - Clearing user context +2025-12-13 13:10:35,724 - root - INFO - User context cleared before authentication +2025-12-13 13:10:35,724 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:10:35,726 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:10:35,727 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:10:35,727 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:10:35,728 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:10:35,730 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:10:35,747 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:35,747 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:10:35,754 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:10:35,775 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:10:35,783 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:35,784 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:10:35,784 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:10:35,786 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:10:35,787 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:10:35,793 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:10:35,794 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:10:35,796 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:10:35,797 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:10:35,824 - root - INFO - Clearing user context +2025-12-13 13:10:36,492 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:10:37,278 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:11:02,879 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:11:02,881 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:11:02,881 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:11:02,883 - root - INFO - Clearing user context +2025-12-13 13:11:02,884 - root - INFO - User context cleared before authentication +2025-12-13 13:11:02,884 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:11:02,886 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:11:02,887 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:11:02,894 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:11:02,895 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:11:02,898 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:11:02,910 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:11:02,910 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:11:02,917 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:11:02,932 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:11:02,939 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:11:02,944 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:11:02,945 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:11:02,950 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:11:02,950 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:11:02,963 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:11:02,967 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:11:02,968 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:11:02,969 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:11:02,997 - root - INFO - Clearing user context +2025-12-13 13:11:03,724 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:11:04,815 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:11:54,070 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:12:56,676 - root - INFO - Logging configured successfully +2025-12-13 13:12:56,775 - root - INFO - Logging configured successfully +2025-12-13 13:12:56,861 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:12:56,870 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:12:56,875 - root - INFO - Database tables created +2025-12-13 13:12:56,876 - root - INFO - Database initialized +2025-12-13 13:13:32,305 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:13:32,306 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:13:32,306 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:13:32,306 - root - INFO - Clearing user context +2025-12-13 13:13:32,307 - root - INFO - User context cleared before authentication +2025-12-13 13:13:32,307 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:13:32,352 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:13:32,353 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:13:32,353 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:13:32,354 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:13:32,379 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:13:33,215 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:33,216 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:13:33,232 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:13:33,259 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:13:33,266 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:33,271 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:13:33,274 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 13:13:33,274 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 13:13:33,275 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 13:13:33,276 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 13:13:33,276 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 13:13:33,280 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 13:13:33,282 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 13:13:33,283 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 13:13:33,287 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 13:13:33,288 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 13:13:33,289 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 13:13:33,291 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 13:13:33,299 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 13:13:33,301 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:13:33,305 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:13:33,306 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:13:33,316 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:33,319 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:13:33,321 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:13:33,327 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:13:33,386 - root - INFO - Clearing user context +2025-12-13 13:13:34,357 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:13:35,997 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:13:47,532 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:13:47,532 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:13:47,532 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:13:47,533 - root - INFO - Clearing user context +2025-12-13 13:13:47,533 - root - INFO - User context cleared before authentication +2025-12-13 13:13:47,533 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:13:47,535 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:13:47,537 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:13:47,537 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:13:47,538 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:13:47,541 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:13:47,553 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:47,554 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:13:47,559 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:13:47,577 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:13:47,583 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:47,584 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:13:47,585 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:13:47,587 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:13:47,588 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:13:47,594 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:13:47,595 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:13:47,597 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:13:47,598 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:13:47,630 - root - INFO - Clearing user context +2025-12-13 13:13:48,262 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:13:50,729 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:17:08,223 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:17:08,223 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:17:08,224 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:17:08,224 - root - INFO - Clearing user context +2025-12-13 13:17:08,224 - root - INFO - User context cleared before authentication +2025-12-13 13:17:08,224 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:17:08,226 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:17:08,228 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:08,229 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:17:08,229 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:17:08,232 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:17:08,233 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:17:08,234 - root - INFO - Looking for user with username: admin +2025-12-13 13:17:08,235 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:17:08,236 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:08,236 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:17:08,273 - root - INFO - Clearing user context +2025-12-13 13:17:09,500 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-13 13:17:09,500 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:17:09,500 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-13 13:17:09,501 - root - INFO - Clearing user context +2025-12-13 13:17:09,501 - root - INFO - User context cleared before authentication +2025-12-13 13:17:09,501 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:17:09,503 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:17:09,503 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:09,504 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:17:09,504 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:17:09,506 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:17:09,506 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:17:09,507 - root - INFO - Looking for user with username: admin +2025-12-13 13:17:09,508 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:17:09,508 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:09,510 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:17:09,523 - root - INFO - Clearing user context +2025-12-13 13:17:19,493 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:17:35,803 - root - INFO - Logging configured successfully +2025-12-13 13:17:36,046 - root - INFO - Logging configured successfully +2025-12-13 13:17:36,226 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:17:36,243 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:17:36,262 - root - INFO - Database tables created +2025-12-13 13:17:36,265 - root - INFO - Database initialized +2025-12-13 13:17:36,282 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/documents +2025-12-13 13:17:36,283 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:17:36,285 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-13 13:17:36,287 - root - INFO - Clearing user context +2025-12-13 13:17:36,290 - root - INFO - User context cleared before authentication +2025-12-13 13:17:36,293 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:17:36,344 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:17:36,346 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:36,346 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:17:36,346 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:17:36,354 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:17:36,356 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:17:36,356 - root - INFO - Looking for user with username: admin +2025-12-13 13:17:36,358 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:17:36,359 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:36,359 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:17:36,571 - th_agenter.services.document - INFO - Uploaded document: 周报.txt to KB 6 (Doc ID: 4) +2025-12-13 13:17:36,581 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:17:36,682 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:17:36,695 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-13 13:17:36,696 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 4, 路径: E:\Work\HXF\backend\data\uploads\kb_6\47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt +2025-12-13 13:17:36,701 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF\backend\data\uploads\kb_6\47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt, 页数: 1 +2025-12-13 13:17:36,728 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-13 13:17:36,729 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-13 13:17:36,731 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 7 个文档块 +2025-12-13 13:17:37,810 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:37,963 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,116 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,256 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,393 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,512 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,641 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:17:38,722 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_6 +2025-12-13 13:17:38,737 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 4, 'status': 'success', 'chunks_count': 7, 'message': '文档处理完成'} +2025-12-13 13:17:38,750 - th_agenter.services.document - INFO - Processed document: 47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt (ID: 4) +2025-12-13 13:17:38,753 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-13 13:17:38,753 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:17:38,753 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-13 13:17:38,753 - root - INFO - Clearing user context +2025-12-13 13:17:38,754 - root - INFO - User context cleared before authentication +2025-12-13 13:17:38,754 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:17:38,757 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:17:38,757 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:38,757 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:17:38,758 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:17:38,759 - root - INFO - Clearing user context +2025-12-13 13:17:38,763 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:17:38,764 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:17:38,764 - root - INFO - Looking for user with username: admin +2025-12-13 13:17:38,768 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:17:38,768 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:38,769 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:17:39,068 - root - INFO - Clearing user context +2025-12-13 13:17:41,084 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-13 13:17:41,086 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:17:41,087 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-13 13:17:41,087 - root - INFO - Clearing user context +2025-12-13 13:17:41,088 - root - INFO - User context cleared before authentication +2025-12-13 13:17:41,088 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:17:41,091 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:17:41,091 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:41,091 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:17:41,095 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:17:41,100 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:17:41,101 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:17:41,102 - root - INFO - Looking for user with username: admin +2025-12-13 13:17:41,108 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:17:41,115 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:17:41,115 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:17:41,120 - root - INFO - Clearing user context +2025-12-13 13:17:51,715 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:18:08,946 - root - INFO - Logging configured successfully +2025-12-13 13:18:09,149 - root - INFO - Logging configured successfully +2025-12-13 13:18:09,323 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:18:09,348 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:18:09,363 - root - INFO - Database tables created +2025-12-13 13:18:09,366 - root - INFO - Database initialized +2025-12-13 13:18:09,382 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-13 13:18:09,386 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:18:09,388 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-13 13:18:09,390 - root - INFO - Clearing user context +2025-12-13 13:18:09,392 - root - INFO - User context cleared before authentication +2025-12-13 13:18:09,394 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:18:09,452 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:18:09,454 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:09,454 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:18:09,455 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:18:09,459 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:18:09,460 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:18:09,460 - root - INFO - Looking for user with username: admin +2025-12-13 13:18:09,462 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:18:09,462 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:09,462 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:18:09,473 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:18:09,563 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:18:09,568 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-13 13:18:10,274 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:18:10,346 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-13 13:18:10,348 - root - INFO - Clearing user context +2025-12-13 13:18:20,290 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-13 13:18:20,290 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:18:20,290 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-13 13:18:20,291 - root - INFO - Clearing user context +2025-12-13 13:18:20,291 - root - INFO - User context cleared before authentication +2025-12-13 13:18:20,291 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:18:20,293 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:18:20,293 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:20,293 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:18:20,294 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:18:20,296 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:18:20,296 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:18:20,297 - root - INFO - Looking for user with username: admin +2025-12-13 13:18:20,299 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:18:20,299 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:20,300 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:18:20,581 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:18:20,649 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-13 13:18:20,653 - root - INFO - Clearing user context +2025-12-13 13:18:54,295 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/6/search +2025-12-13 13:18:54,299 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:18:54,300 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/search +2025-12-13 13:18:54,304 - root - INFO - Clearing user context +2025-12-13 13:18:54,305 - root - INFO - User context cleared before authentication +2025-12-13 13:18:54,305 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:18:54,311 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:18:54,314 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:54,314 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:18:54,315 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:18:54,317 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:18:54,318 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:18:54,318 - root - INFO - Looking for user with username: admin +2025-12-13 13:18:54,319 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:18:54,322 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:18:54,324 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:18:54,646 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-13 13:18:54,722 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-13 13:18:54,726 - root - INFO - Clearing user context +2025-12-13 13:20:03,400 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:20:12,554 - root - INFO - Logging configured successfully +2025-12-13 13:20:12,663 - root - INFO - Logging configured successfully +2025-12-13 13:20:12,758 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:20:12,765 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:20:12,768 - root - INFO - Database tables created +2025-12-13 13:20:12,768 - root - INFO - Database initialized +2025-12-13 13:20:45,064 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 13:20:45,065 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:45,065 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 13:20:45,065 - root - INFO - Clearing user context +2025-12-13 13:20:45,067 - root - INFO - User context cleared before authentication +2025-12-13 13:20:45,068 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:45,125 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:45,125 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,125 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:45,125 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:45,131 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:45,134 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:45,140 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:45,143 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:45,144 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,145 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:45,168 - root - INFO - Clearing user context +2025-12-13 13:20:45,178 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-13 13:20:45,179 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:45,180 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-13 13:20:45,180 - root - INFO - Clearing user context +2025-12-13 13:20:45,180 - root - INFO - User context cleared before authentication +2025-12-13 13:20:45,181 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:45,183 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:45,187 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,187 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:45,188 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:45,189 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:45,193 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:45,196 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:45,198 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:45,199 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,200 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:45,209 - root - INFO - Clearing user context +2025-12-13 13:20:45,828 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:20:45,829 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:45,829 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:20:45,831 - root - INFO - Clearing user context +2025-12-13 13:20:45,832 - root - INFO - User context cleared before authentication +2025-12-13 13:20:45,832 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:45,835 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:45,836 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,837 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:45,837 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:45,840 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:20:45,840 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:45,841 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:20:45,841 - root - INFO - Clearing user context +2025-12-13 13:20:45,842 - root - INFO - User context cleared before authentication +2025-12-13 13:20:45,843 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:45,848 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:45,849 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,849 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:45,849 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:45,860 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:45,861 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:45,861 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:45,871 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:45,872 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,872 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:45,873 - root - INFO - Clearing user context +2025-12-13 13:20:45,911 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:20:45,912 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:45,912 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:20:45,912 - root - INFO - Clearing user context +2025-12-13 13:20:45,913 - root - INFO - User context cleared before authentication +2025-12-13 13:20:45,913 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:45,915 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:45,917 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:45,918 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:45,918 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:45,919 - root - INFO - Clearing user context +2025-12-13 13:20:45,927 - root - INFO - Clearing user context +2025-12-13 13:20:47,501 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 13:20:47,501 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:47,501 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 13:20:47,502 - root - INFO - Clearing user context +2025-12-13 13:20:47,502 - root - INFO - User context cleared before authentication +2025-12-13 13:20:47,502 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:47,504 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:47,504 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,505 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:47,505 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:47,507 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:47,507 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:47,508 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:47,510 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:47,510 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,511 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:47,513 - root - INFO - Clearing user context +2025-12-13 13:20:47,520 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-13 13:20:47,521 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:47,522 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-13 13:20:47,524 - root - INFO - Clearing user context +2025-12-13 13:20:47,524 - root - INFO - User context cleared before authentication +2025-12-13 13:20:47,525 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:47,529 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:47,531 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,531 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:47,531 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:47,534 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:47,535 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:47,537 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:47,537 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:47,538 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,538 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:47,545 - root - INFO - Clearing user context +2025-12-13 13:20:47,640 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:20:47,640 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:47,641 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:20:47,641 - root - INFO - Clearing user context +2025-12-13 13:20:47,641 - root - INFO - User context cleared before authentication +2025-12-13 13:20:47,642 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:47,643 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:47,644 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,644 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:47,645 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:47,647 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:47,647 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:47,647 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:47,649 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:47,649 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,650 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:47,667 - root - INFO - Clearing user context +2025-12-13 13:20:47,768 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:20:47,768 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:47,769 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:20:47,769 - root - INFO - Clearing user context +2025-12-13 13:20:47,769 - root - INFO - User context cleared before authentication +2025-12-13 13:20:47,771 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:47,773 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:47,774 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,774 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:47,775 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:47,783 - root - INFO - Clearing user context +2025-12-13 13:20:47,791 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:20:47,792 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:47,792 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:20:47,792 - root - INFO - Clearing user context +2025-12-13 13:20:47,793 - root - INFO - User context cleared before authentication +2025-12-13 13:20:47,793 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:47,796 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:47,796 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:47,797 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:47,797 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:47,801 - root - INFO - Clearing user context +2025-12-13 13:20:51,501 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:20:51,501 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,501 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:20:51,501 - root - INFO - Clearing user context +2025-12-13 13:20:51,502 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,502 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,504 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,504 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,504 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,505 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,506 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:20:51,508 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,509 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:20:51,510 - root - INFO - Clearing user context +2025-12-13 13:20:51,512 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,512 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,515 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,518 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,518 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,518 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,525 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:51,526 - root - INFO - Clearing user context +2025-12-13 13:20:51,527 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:51,529 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:51,531 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:51,531 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,532 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:51,548 - root - INFO - Clearing user context +2025-12-13 13:20:51,681 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:20:51,682 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,683 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:20:51,683 - root - INFO - Clearing user context +2025-12-13 13:20:51,684 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,684 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,687 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,687 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,692 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,692 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,696 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:20:51,697 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,697 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:20:51,698 - root - INFO - Clearing user context +2025-12-13 13:20:51,699 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,700 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,701 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,702 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,704 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,704 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,706 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:20:51,707 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,707 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:20:51,707 - root - INFO - Clearing user context +2025-12-13 13:20:51,708 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,708 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,712 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,713 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,714 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,714 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,725 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:20:51,725 - root - INFO - Clearing user context +2025-12-13 13:20:51,727 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:20:51,729 - root - INFO - Clearing user context +2025-12-13 13:20:51,730 - root - INFO - Looking for user with username: admin +2025-12-13 13:20:51,732 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:20:51,732 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,733 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:20:51,747 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:20:51,748 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:51,748 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:20:51,749 - root - INFO - Clearing user context +2025-12-13 13:20:51,749 - root - INFO - User context cleared before authentication +2025-12-13 13:20:51,749 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:51,751 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:51,751 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:51,752 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:51,752 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:51,753 - root - INFO - Clearing user context +2025-12-13 13:20:51,757 - root - INFO - Clearing user context +2025-12-13 13:20:53,160 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/64 +2025-12-13 13:20:53,160 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:53,160 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64 +2025-12-13 13:20:53,160 - root - INFO - Clearing user context +2025-12-13 13:20:53,160 - root - INFO - User context cleared before authentication +2025-12-13 13:20:53,162 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:53,163 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:53,163 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:53,164 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:53,164 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:53,168 - root - INFO - Clearing user context +2025-12-13 13:20:53,175 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/64/messages +2025-12-13 13:20:53,176 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:20:53,176 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/messages +2025-12-13 13:20:53,176 - root - INFO - Clearing user context +2025-12-13 13:20:53,176 - root - INFO - User context cleared before authentication +2025-12-13 13:20:53,177 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:20:53,181 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:20:53,182 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:20:53,183 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:20:53,184 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:20:53,205 - root - INFO - Clearing user context +2025-12-13 13:21:04,655 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/64/chat/stream +2025-12-13 13:21:04,656 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:21:04,656 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/chat/stream +2025-12-13 13:21:04,657 - root - INFO - Clearing user context +2025-12-13 13:21:04,657 - root - INFO - User context cleared before authentication +2025-12-13 13:21:04,657 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:21:04,658 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:21:04,659 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:21:04,659 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:21:04,659 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:21:04,671 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:21:05,237 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:21:05,239 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:21:05,239 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:21:05,249 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:21:05,270 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:21:05,275 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:21:05,276 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:21:05,277 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:21:05,279 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 13:21:05,280 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 13:21:05,280 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 13:21:05,282 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 13:21:05,283 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 13:21:05,284 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 13:21:05,285 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 13:21:05,286 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 13:21:05,287 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 13:21:05,290 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 13:21:05,291 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 13:21:05,292 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 13:21:05,298 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 13:21:05,299 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:21:05,305 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:21:05,305 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:21:05,312 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:21:05,314 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:21:05,316 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:21:05,317 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 64 via LangChain +2025-12-13 13:21:05,321 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 64 +2025-12-13 13:21:05,663 - root - INFO - Clearing user context +2025-12-13 13:21:06,527 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:21:07,651 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 64 +2025-12-13 13:21:23,473 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/64 +2025-12-13 13:21:23,474 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:21:23,474 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64 +2025-12-13 13:21:23,474 - root - INFO - Clearing user context +2025-12-13 13:21:23,474 - root - INFO - User context cleared before authentication +2025-12-13 13:21:23,474 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:21:23,476 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:21:23,476 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:21:23,476 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:21:23,477 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:21:23,479 - root - INFO - Clearing user context +2025-12-13 13:21:23,793 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/64/messages +2025-12-13 13:21:23,794 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/64/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:21:23,794 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/64/messages +2025-12-13 13:21:23,794 - root - INFO - Clearing user context +2025-12-13 13:21:23,794 - root - INFO - User context cleared before authentication +2025-12-13 13:21:23,794 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:21:23,795 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:21:23,797 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:21:23,797 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:21:23,797 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:21:23,801 - root - INFO - Clearing user context +2025-12-13 13:22:17,111 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 13:22:17,111 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:22:17,112 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:22:17,112 - root - INFO - Clearing user context +2025-12-13 13:22:17,112 - root - INFO - User context cleared before authentication +2025-12-13 13:22:17,113 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:22:17,116 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:22:17,116 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:22:17,117 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:22:17,118 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:22:17,120 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:22:17,121 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:22:17,121 - root - INFO - Looking for user with username: admin +2025-12-13 13:22:17,124 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:22:17,125 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:22:17,125 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:22:17,130 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 13:22:17,151 - th_agenter.conversation_service - INFO - Successfully created conversation 65 for user 2 +2025-12-13 13:22:17,158 - root - INFO - Clearing user context +2025-12-13 13:22:18,824 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65 +2025-12-13 13:22:18,826 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:22:18,826 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65 +2025-12-13 13:22:18,826 - root - INFO - Clearing user context +2025-12-13 13:22:18,826 - root - INFO - User context cleared before authentication +2025-12-13 13:22:18,827 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:22:18,829 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:22:18,830 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:22:18,830 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:22:18,831 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:22:18,842 - root - INFO - Clearing user context +2025-12-13 13:22:19,086 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65/messages +2025-12-13 13:22:19,087 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:22:19,087 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/messages +2025-12-13 13:22:19,088 - root - INFO - Clearing user context +2025-12-13 13:22:19,088 - root - INFO - User context cleared before authentication +2025-12-13 13:22:19,089 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:22:19,091 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:22:19,094 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:22:19,094 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:22:19,095 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:22:19,101 - root - INFO - Clearing user context +2025-12-13 13:22:24,577 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/65/chat/stream +2025-12-13 13:22:24,577 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:22:24,578 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/chat/stream +2025-12-13 13:22:24,578 - root - INFO - Clearing user context +2025-12-13 13:22:24,578 - root - INFO - User context cleared before authentication +2025-12-13 13:22:24,579 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:22:24,581 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:22:24,582 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:22:24,582 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:22:24,583 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:22:24,586 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:22:24,599 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:22:24,602 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:22:24,602 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:22:24,609 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:22:24,626 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:22:24,633 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:22:24,634 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:22:24,635 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:22:24,636 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:22:24,638 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:22:24,639 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:22:24,646 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:22:24,650 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:22:24,651 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:22:24,653 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 65 via LangChain +2025-12-13 13:22:24,653 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 65 +2025-12-13 13:22:24,689 - root - INFO - Clearing user context +2025-12-13 13:22:25,814 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:22:26,939 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 65 +2025-12-13 13:25:14,776 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/65/chat/stream +2025-12-13 13:25:14,776 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:25:14,779 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/chat/stream +2025-12-13 13:25:14,779 - root - INFO - Clearing user context +2025-12-13 13:25:14,779 - root - INFO - User context cleared before authentication +2025-12-13 13:25:14,780 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:25:14,782 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:25:14,782 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:25:14,783 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:25:14,783 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:25:14,786 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:25:14,796 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:14,799 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:14,802 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:25:14,810 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:25:14,831 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:25:14,838 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:14,840 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:14,841 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:25:14,842 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:25:14,844 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:25:14,844 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:25:14,851 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:14,853 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:14,853 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:25:14,855 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 65 via LangChain +2025-12-13 13:25:14,855 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 65 +2025-12-13 13:25:14,879 - root - INFO - Clearing user context +2025-12-13 13:25:15,713 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:25:16,358 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 65 +2025-12-13 13:25:40,239 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/65/chat/stream +2025-12-13 13:25:40,240 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:25:40,240 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/chat/stream +2025-12-13 13:25:40,240 - root - INFO - Clearing user context +2025-12-13 13:25:40,241 - root - INFO - User context cleared before authentication +2025-12-13 13:25:40,241 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:25:40,243 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:25:40,243 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:25:40,243 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:25:40,244 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:25:40,248 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:25:40,259 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:40,261 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:40,262 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:25:40,269 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:25:40,288 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:25:40,294 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:40,295 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:40,295 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:25:40,297 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:25:40,299 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:25:40,300 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:25:40,309 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:25:40,310 - th_agenter.redis_memory_service - INFO - Conversation history directory: conversation_history +2025-12-13 13:25:40,311 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:25:40,312 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 65 via LangChain +2025-12-13 13:25:40,312 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 65 +2025-12-13 13:25:40,338 - root - INFO - Clearing user context +2025-12-13 13:25:41,400 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:25:56,003 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 65 +2025-12-13 13:27:38,743 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:27:48,392 - root - INFO - Logging configured successfully +2025-12-13 13:27:48,498 - root - INFO - Logging configured successfully +2025-12-13 13:27:48,588 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:27:48,598 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:27:48,603 - root - INFO - Database tables created +2025-12-13 13:27:48,603 - root - INFO - Database initialized +2025-12-13 13:27:56,841 - root - INFO - Logging configured successfully +2025-12-13 13:27:56,948 - root - INFO - Logging configured successfully +2025-12-13 13:27:57,048 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:27:57,057 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:27:57,061 - root - INFO - Database tables created +2025-12-13 13:27:57,061 - root - INFO - Database initialized +2025-12-13 13:28:00,657 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:28:09,382 - root - INFO - Logging configured successfully +2025-12-13 13:28:09,498 - root - INFO - Logging configured successfully +2025-12-13 13:28:09,601 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:28:09,609 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:28:09,613 - root - INFO - Database tables created +2025-12-13 13:28:09,613 - root - INFO - Database initialized +2025-12-13 13:28:18,136 - root - INFO - Logging configured successfully +2025-12-13 13:28:18,335 - root - INFO - Logging configured successfully +2025-12-13 13:28:18,494 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:28:18,508 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:28:18,513 - root - INFO - Database tables created +2025-12-13 13:28:18,514 - root - INFO - Database initialized +2025-12-13 13:28:26,107 - root - INFO - Logging configured successfully +2025-12-13 13:28:26,211 - root - INFO - Logging configured successfully +2025-12-13 13:28:26,302 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:28:26,311 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:28:26,314 - root - INFO - Database tables created +2025-12-13 13:28:26,315 - root - INFO - Database initialized +2025-12-13 13:28:34,416 - root - INFO - Logging configured successfully +2025-12-13 13:28:34,516 - root - INFO - Logging configured successfully +2025-12-13 13:28:34,611 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:28:34,619 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:28:34,624 - root - INFO - Database tables created +2025-12-13 13:28:34,625 - root - INFO - Database initialized +2025-12-13 13:29:29,698 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:29:48,291 - root - INFO - Logging configured successfully +2025-12-13 13:29:48,567 - root - INFO - Logging configured successfully +2025-12-13 13:29:48,800 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:29:48,823 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:29:48,832 - root - INFO - Database tables created +2025-12-13 13:29:48,832 - root - INFO - Database initialized +2025-12-13 13:30:24,910 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:30:42,512 - root - INFO - Logging configured successfully +2025-12-13 13:30:42,703 - root - INFO - Logging configured successfully +2025-12-13 13:30:42,882 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:30:42,899 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:30:42,908 - root - INFO - Database tables created +2025-12-13 13:30:42,908 - root - INFO - Database initialized +2025-12-13 13:31:24,465 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:31:43,949 - root - INFO - Logging configured successfully +2025-12-13 13:31:44,210 - root - INFO - Logging configured successfully +2025-12-13 13:31:44,399 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:31:44,409 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:31:44,418 - root - INFO - Database tables created +2025-12-13 13:31:44,423 - root - INFO - Database initialized +2025-12-13 13:32:40,351 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:32:58,269 - root - INFO - Logging configured successfully +2025-12-13 13:32:58,539 - root - INFO - Logging configured successfully +2025-12-13 13:32:58,770 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:32:58,788 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:32:58,796 - root - INFO - Database tables created +2025-12-13 13:32:58,798 - root - INFO - Database initialized +2025-12-13 13:33:09,154 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:33:24,431 - root - INFO - Logging configured successfully +2025-12-13 13:33:24,657 - root - INFO - Logging configured successfully +2025-12-13 13:33:24,852 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:33:24,867 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:33:24,875 - root - INFO - Database tables created +2025-12-13 13:33:24,875 - root - INFO - Database initialized +2025-12-13 13:33:39,375 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:33:55,039 - root - INFO - Logging configured successfully +2025-12-13 13:33:55,263 - root - INFO - Logging configured successfully +2025-12-13 13:33:55,451 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:33:55,464 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:33:55,470 - root - INFO - Database tables created +2025-12-13 13:33:55,471 - root - INFO - Database initialized +2025-12-13 13:34:13,085 - root - INFO - Logging configured successfully +2025-12-13 13:34:13,282 - root - INFO - Logging configured successfully +2025-12-13 13:34:13,461 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:34:13,477 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:34:13,486 - root - INFO - Database tables created +2025-12-13 13:34:13,487 - root - INFO - Database initialized +2025-12-13 13:34:14,249 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:34:25,648 - root - INFO - Logging configured successfully +2025-12-13 13:34:25,768 - root - INFO - Logging configured successfully +2025-12-13 13:34:25,867 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:34:25,875 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:34:25,878 - root - INFO - Database tables created +2025-12-13 13:34:25,878 - root - INFO - Database initialized +2025-12-13 13:35:16,692 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:35:25,187 - root - INFO - Logging configured successfully +2025-12-13 13:35:25,307 - root - INFO - Logging configured successfully +2025-12-13 13:35:25,404 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:35:25,411 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:35:25,415 - root - INFO - Database tables created +2025-12-13 13:35:25,415 - root - INFO - Database initialized +2025-12-13 13:35:33,628 - root - INFO - Logging configured successfully +2025-12-13 13:35:33,733 - root - INFO - Logging configured successfully +2025-12-13 13:35:33,825 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:35:33,831 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:35:33,836 - root - INFO - Database tables created +2025-12-13 13:35:33,836 - root - INFO - Database initialized +2025-12-13 13:35:46,135 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:35:54,273 - root - INFO - Logging configured successfully +2025-12-13 13:35:54,396 - root - INFO - Logging configured successfully +2025-12-13 13:35:54,498 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:35:54,506 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:35:54,511 - root - INFO - Database tables created +2025-12-13 13:35:54,511 - root - INFO - Database initialized +2025-12-13 13:36:02,683 - root - INFO - Logging configured successfully +2025-12-13 13:36:02,790 - root - INFO - Logging configured successfully +2025-12-13 13:36:02,891 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:36:02,900 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:36:02,904 - root - INFO - Database tables created +2025-12-13 13:36:02,904 - root - INFO - Database initialized +2025-12-13 13:37:53,892 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:38:19,167 - root - INFO - Logging configured successfully +2025-12-13 13:38:19,452 - root - INFO - Logging configured successfully +2025-12-13 13:38:19,700 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:38:19,727 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:38:19,757 - root - INFO - Database tables created +2025-12-13 13:38:19,758 - root - INFO - Database initialized +2025-12-13 13:38:38,150 - root - INFO - Logging configured successfully +2025-12-13 13:38:38,332 - root - INFO - Logging configured successfully +2025-12-13 13:38:38,448 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:38:38,457 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:38:38,461 - root - INFO - Database tables created +2025-12-13 13:38:38,462 - root - INFO - Database initialized +2025-12-13 13:42:39,337 - root - INFO - Logging configured successfully +2025-12-13 13:42:39,444 - root - INFO - Logging configured successfully +2025-12-13 13:42:39,537 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:42:39,547 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:42:39,573 - root - INFO - Database tables created +2025-12-13 13:42:39,574 - root - INFO - Database initialized +2025-12-13 13:42:58,278 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-13 13:42:58,278 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,280 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-13 13:42:58,280 - root - INFO - Clearing user context +2025-12-13 13:42:58,281 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,281 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,341 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,342 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,343 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,354 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,363 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:42:58,363 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:42:58,364 - root - INFO - Looking for user with username: admin +2025-12-13 13:42:58,366 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:42:58,366 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,367 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:42:58,386 - root - INFO - Clearing user context +2025-12-13 13:42:58,401 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-13 13:42:58,402 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,403 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-13 13:42:58,403 - root - INFO - Clearing user context +2025-12-13 13:42:58,403 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,403 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,409 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,410 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,410 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,411 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,414 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:42:58,415 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:42:58,416 - root - INFO - Looking for user with username: admin +2025-12-13 13:42:58,419 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:42:58,421 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,421 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:42:58,428 - root - INFO - Clearing user context +2025-12-13 13:42:58,657 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:42:58,657 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,657 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:42:58,657 - root - INFO - Clearing user context +2025-12-13 13:42:58,657 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,657 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,660 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,661 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,661 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,662 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,666 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:42:58,667 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,667 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:42:58,667 - root - INFO - Clearing user context +2025-12-13 13:42:58,668 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,669 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,672 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,672 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,673 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,673 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,694 - root - INFO - Clearing user context +2025-12-13 13:42:58,694 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:42:58,696 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:42:58,697 - root - INFO - Looking for user with username: admin +2025-12-13 13:42:58,698 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:42:58,701 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:42:58,702 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,703 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,704 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:42:58,704 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:42:58,705 - root - INFO - Clearing user context +2025-12-13 13:42:58,705 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,706 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,718 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,718 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,718 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,721 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,760 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:42:58,760 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,761 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:42:58,761 - root - INFO - Clearing user context +2025-12-13 13:42:58,762 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,762 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,765 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,765 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,766 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,767 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,774 - root - INFO - Clearing user context +2025-12-13 13:42:58,782 - root - INFO - Clearing user context +2025-12-13 13:42:58,786 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-13 13:42:58,786 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,787 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-13 13:42:58,787 - root - INFO - Clearing user context +2025-12-13 13:42:58,787 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,789 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,792 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,794 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,794 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,795 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,797 - root - INFO - Clearing user context +2025-12-13 13:42:58,800 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-13 13:42:58,800 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:58,801 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:42:58,801 - root - INFO - Clearing user context +2025-12-13 13:42:58,801 - root - INFO - User context cleared before authentication +2025-12-13 13:42:58,803 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:58,807 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:58,808 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,808 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:58,809 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:58,811 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:42:58,814 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:42:58,816 - root - INFO - Looking for user with username: admin +2025-12-13 13:42:58,817 - root - INFO - Clearing user context +2025-12-13 13:42:58,819 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:42:58,820 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:58,821 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:42:58,844 - root - INFO - Clearing user context +2025-12-13 13:42:59,117 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:42:59,121 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:59,122 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:42:59,122 - root - INFO - Clearing user context +2025-12-13 13:42:59,122 - root - INFO - User context cleared before authentication +2025-12-13 13:42:59,122 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:59,124 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:59,124 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:59,125 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:59,125 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:59,133 - root - INFO - Clearing user context +2025-12-13 13:42:59,445 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-13 13:42:59,447 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:42:59,447 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-13 13:42:59,447 - root - INFO - Clearing user context +2025-12-13 13:42:59,448 - root - INFO - User context cleared before authentication +2025-12-13 13:42:59,448 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:42:59,449 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:42:59,449 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:42:59,449 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:42:59,451 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:42:59,453 - root - INFO - Clearing user context +2025-12-13 13:43:02,034 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65 +2025-12-13 13:43:02,035 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:02,035 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65 +2025-12-13 13:43:02,036 - root - INFO - Clearing user context +2025-12-13 13:43:02,036 - root - INFO - User context cleared before authentication +2025-12-13 13:43:02,036 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:02,037 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:02,038 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:02,038 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:02,038 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:02,042 - root - INFO - Clearing user context +2025-12-13 13:43:02,358 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65/messages +2025-12-13 13:43:02,359 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:02,359 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/messages +2025-12-13 13:43:02,360 - root - INFO - Clearing user context +2025-12-13 13:43:02,360 - root - INFO - User context cleared before authentication +2025-12-13 13:43:02,360 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:02,362 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:02,362 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:02,362 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:02,363 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:02,378 - root - INFO - Clearing user context +2025-12-13 13:43:05,146 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65 +2025-12-13 13:43:05,146 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:05,146 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65 +2025-12-13 13:43:05,146 - root - INFO - Clearing user context +2025-12-13 13:43:05,146 - root - INFO - User context cleared before authentication +2025-12-13 13:43:05,146 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:05,148 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:05,148 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:05,148 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:05,148 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:05,151 - root - INFO - Clearing user context +2025-12-13 13:43:05,468 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/65/messages +2025-12-13 13:43:05,470 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/65/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:05,470 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/65/messages +2025-12-13 13:43:05,470 - root - INFO - Clearing user context +2025-12-13 13:43:05,471 - root - INFO - User context cleared before authentication +2025-12-13 13:43:05,471 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:05,472 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:05,472 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:05,472 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:05,473 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:05,475 - root - INFO - Clearing user context +2025-12-13 13:43:07,045 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/chat/conversations +2025-12-13 13:43:07,046 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:07,046 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:43:07,047 - root - INFO - Clearing user context +2025-12-13 13:43:07,047 - root - INFO - User context cleared before authentication +2025-12-13 13:43:07,047 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:07,050 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:07,054 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:07,054 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:07,054 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:07,057 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:43:07,057 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:43:07,057 - root - INFO - Looking for user with username: admin +2025-12-13 13:43:07,060 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:43:07,060 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:07,060 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:43:07,090 - th_agenter.conversation_service - INFO - Successfully deleted all conversations for user 2 +2025-12-13 13:43:07,092 - root - INFO - Clearing user context +2025-12-13 13:43:09,195 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 13:43:09,196 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:09,196 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:43:09,197 - root - INFO - Clearing user context +2025-12-13 13:43:09,197 - root - INFO - User context cleared before authentication +2025-12-13 13:43:09,197 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:09,200 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:09,200 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:09,201 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:09,201 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:09,206 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:43:09,206 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:43:09,207 - root - INFO - Looking for user with username: admin +2025-12-13 13:43:09,208 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:43:09,208 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:09,209 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:43:09,216 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 13:43:09,236 - th_agenter.conversation_service - INFO - Successfully created conversation 2 for user 2 +2025-12-13 13:43:09,238 - root - INFO - Clearing user context +2025-12-13 13:43:18,805 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/2/chat/stream +2025-12-13 13:43:18,806 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/2/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:18,806 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/2/chat/stream +2025-12-13 13:43:18,807 - root - INFO - Clearing user context +2025-12-13 13:43:18,807 - root - INFO - User context cleared before authentication +2025-12-13 13:43:18,807 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:18,811 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:18,811 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:18,812 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:18,812 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:18,825 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:43:20,010 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:20,013 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:20,014 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:20,015 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:43:20,023 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:43:20,077 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:43:20,083 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:20,085 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:20,085 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:20,086 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:43:20,101 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 13:43:20,102 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 13:43:20,103 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 13:43:20,104 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 13:43:20,106 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 13:43:20,107 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 13:43:20,108 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 13:43:20,108 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 13:43:20,110 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 13:43:20,110 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 13:43:20,110 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 13:43:20,112 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 13:43:20,120 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 13:43:20,121 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:43:20,123 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:43:20,125 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:43:20,131 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:20,134 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:20,134 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:20,135 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:43:20,136 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 2 via LangChain +2025-12-13 13:43:20,137 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 2 +2025-12-13 13:43:20,532 - root - INFO - Clearing user context +2025-12-13 13:43:20,692 - openai._base_client - INFO - Retrying request to /chat/completions in 0.389504 seconds +2025-12-13 13:43:21,225 - openai._base_client - INFO - Retrying request to /chat/completions in 0.760109 seconds +2025-12-13 13:43:22,104 - th_agenter.langchain_chat_service - ERROR - Failed to process LangChain streaming chat request for conversation 2: Connection error. +Traceback (most recent call last): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 101, in map_httpcore_exceptions + yield + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 394, in handle_async_request + resp = await self._pool.handle_async_request(req) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection_pool.py", line 256, in handle_async_request + raise exc from None + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection_pool.py", line 236, in handle_async_request + response = await connection.handle_async_request( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\http_proxy.py", line 288, in handle_async_request + connect_response = await self._connection.handle_async_request( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 101, in handle_async_request + raise exc + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 78, in handle_async_request + stream = await self._connect(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 156, in _connect + stream = await stream.start_tls(**kwargs) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_backends\anyio.py", line 67, in start_tls + with map_exceptions(exc_map): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\contextlib.py", line 153, in __exit__ + self.gen.throw(typ, value, traceback) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions + raise to_exc(exc) from exc +httpcore.ConnectError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1529, in request + response = await self._client.send( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1629, in send + response = await self._send_handling_auth( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1657, in _send_handling_auth + response = await self._send_handling_redirects( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1694, in _send_handling_redirects + response = await self._send_single_request(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1730, in _send_single_request + response = await transport.handle_async_request(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 393, in handle_async_request + with map_httpcore_exceptions(): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\contextlib.py", line 153, in __exit__ + self.gen.throw(typ, value, traceback) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 118, in map_httpcore_exceptions + raise mapped_exc(message) from exc +httpx.ConnectError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "E:\Work\HXF\backend\th_agenter\services\langchain_chat.py", line 282, in chat_stream + async for chunk in streaming_llm_to_use.astream(langchain_messages): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_core\language_models\chat_models.py", line 664, in astream + async for chunk in self._astream( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_openai\chat_models\base.py", line 2997, in _astream + async for chunk in super()._astream(*args, **kwargs): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_openai\chat_models\base.py", line 1514, in _astream + response = await self.async_client.create(**payload) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\resources\chat\completions\completions.py", line 2672, in create + return await self._post( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1794, in post + return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1561, in request + raise APIConnectionError(request=request) from err +openai.APIConnectionError: Connection error. +2025-12-13 13:43:26,682 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-13 13:43:26,683 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:26,683 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-13 13:43:26,683 - root - INFO - Clearing user context +2025-12-13 13:43:26,684 - root - INFO - User context cleared before authentication +2025-12-13 13:43:26,684 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:26,686 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:26,688 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:26,688 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:26,689 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:26,693 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-13 13:43:26,695 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765606374} +2025-12-13 13:43:26,696 - root - INFO - Looking for user with username: admin +2025-12-13 13:43:26,698 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-13 13:43:26,698 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:26,700 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-13 13:43:26,701 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-13 13:43:26,718 - th_agenter.conversation_service - INFO - Successfully created conversation 3 for user 2 +2025-12-13 13:43:26,720 - root - INFO - Clearing user context +2025-12-13 13:43:28,473 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/3/chat/stream +2025-12-13 13:43:28,473 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:43:28,474 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/chat/stream +2025-12-13 13:43:28,474 - root - INFO - Clearing user context +2025-12-13 13:43:28,474 - root - INFO - User context cleared before authentication +2025-12-13 13:43:28,475 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:43:28,477 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:43:28,477 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:43:28,478 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:43:28,478 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:43:28,498 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:43:28,521 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:28,524 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:28,524 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:28,524 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:43:28,538 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:43:28,590 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:43:28,595 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:28,596 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:28,598 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:28,599 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:43:28,599 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:43:28,602 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:43:28,604 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:43:28,610 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:43:28,611 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:43:28,613 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:43:28,613 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:43:28,615 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 3 via LangChain +2025-12-13 13:43:28,616 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 3 +2025-12-13 13:43:28,658 - root - INFO - Clearing user context +2025-12-13 13:43:28,759 - openai._base_client - INFO - Retrying request to /chat/completions in 0.463663 seconds +2025-12-13 13:43:29,386 - openai._base_client - INFO - Retrying request to /chat/completions in 0.868292 seconds +2025-12-13 13:43:30,351 - th_agenter.langchain_chat_service - ERROR - Failed to process LangChain streaming chat request for conversation 3: Connection error. +Traceback (most recent call last): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 101, in map_httpcore_exceptions + yield + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 394, in handle_async_request + resp = await self._pool.handle_async_request(req) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection_pool.py", line 256, in handle_async_request + raise exc from None + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection_pool.py", line 236, in handle_async_request + response = await connection.handle_async_request( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\http_proxy.py", line 288, in handle_async_request + connect_response = await self._connection.handle_async_request( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 101, in handle_async_request + raise exc + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 78, in handle_async_request + stream = await self._connect(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_async\connection.py", line 156, in _connect + stream = await stream.start_tls(**kwargs) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_backends\anyio.py", line 67, in start_tls + with map_exceptions(exc_map): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\contextlib.py", line 153, in __exit__ + self.gen.throw(typ, value, traceback) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions + raise to_exc(exc) from exc +httpcore.ConnectError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1529, in request + response = await self._client.send( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1629, in send + response = await self._send_handling_auth( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1657, in _send_handling_auth + response = await self._send_handling_redirects( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1694, in _send_handling_redirects + response = await self._send_single_request(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_client.py", line 1730, in _send_single_request + response = await transport.handle_async_request(request) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 393, in handle_async_request + with map_httpcore_exceptions(): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\contextlib.py", line 153, in __exit__ + self.gen.throw(typ, value, traceback) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\httpx\_transports\default.py", line 118, in map_httpcore_exceptions + raise mapped_exc(message) from exc +httpx.ConnectError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "E:\Work\HXF\backend\th_agenter\services\langchain_chat.py", line 282, in chat_stream + async for chunk in streaming_llm_to_use.astream(langchain_messages): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_core\language_models\chat_models.py", line 664, in astream + async for chunk in self._astream( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_openai\chat_models\base.py", line 2997, in _astream + async for chunk in super()._astream(*args, **kwargs): + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain_openai\chat_models\base.py", line 1514, in _astream + response = await self.async_client.create(**payload) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\resources\chat\completions\completions.py", line 2672, in create + return await self._post( + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1794, in post + return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls) + File "D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\openai\_base_client.py", line 1561, in request + raise APIConnectionError(request=request) from err +openai.APIConnectionError: Connection error. +2025-12-13 13:45:16,677 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:45:27,380 - root - INFO - Logging configured successfully +2025-12-13 13:45:27,496 - root - INFO - Logging configured successfully +2025-12-13 13:45:27,599 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:45:27,609 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:45:27,614 - root - INFO - Database tables created +2025-12-13 13:45:27,614 - root - INFO - Database initialized +2025-12-13 13:46:04,229 - root - INFO - Shutting down TH-Agenter application... +2025-12-13 13:46:13,239 - root - INFO - Logging configured successfully +2025-12-13 13:46:13,343 - root - INFO - Logging configured successfully +2025-12-13 13:46:13,432 - root - INFO - Starting up TH-Agenter application... +2025-12-13 13:46:13,440 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-13 13:46:13,445 - root - INFO - Database tables created +2025-12-13 13:46:13,445 - root - INFO - Database initialized +2025-12-13 13:46:32,924 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/3/chat/stream +2025-12-13 13:46:32,927 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-13 13:46:32,928 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/chat/stream +2025-12-13 13:46:32,929 - root - INFO - Clearing user context +2025-12-13 13:46:32,929 - root - INFO - User context cleared before authentication +2025-12-13 13:46:32,929 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-13 13:46:32,978 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-13 13:46:32,979 - root - INFO - Verification - ContextVar user: admin +2025-12-13 13:46:32,980 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-13 13:46:32,980 - root - INFO - Verified current user ID in context: 2 +2025-12-13 13:46:32,997 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-13 13:46:33,581 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:46:33,585 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:46:33,586 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:46:33,586 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:46:33,598 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-13 13:46:33,619 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-13 13:46:33,626 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:46:33,629 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:46:33,629 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:46:33,630 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-13 13:46:33,635 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-13 13:46:33,636 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-13 13:46:33,636 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-13 13:46:33,637 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-13 13:46:33,645 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-13 13:46:33,651 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-13 13:46:33,651 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-13 13:46:33,652 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-13 13:46:33,652 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-13 13:46:33,653 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-13 13:46:33,653 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-13 13:46:33,656 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-13 13:46:33,664 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-13 13:46:33,665 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-13 13:46:33,669 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-13 13:46:33,671 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-13 13:46:33,689 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-13 13:46:33,690 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-13 13:46:33,691 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF\backend +2025-12-13 13:46:33,692 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-13 13:46:33,693 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 3 via LangChain +2025-12-13 13:46:33,694 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 3 +2025-12-13 13:46:33,744 - root - INFO - Clearing user context +2025-12-13 13:46:34,689 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-13 13:46:35,498 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 3 +2025-12-15 09:44:10,489 - root - INFO - Logging configured successfully +2025-12-15 09:44:10,618 - root - INFO - Logging configured successfully +2025-12-15 09:44:10,731 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:44:10,744 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:44:10,760 - root - INFO - Database tables created +2025-12-15 09:44:10,761 - root - INFO - Database initialized +2025-12-15 09:44:14,152 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,154 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,155 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,155 - root - INFO - Clearing user context +2025-12-15 09:44:14,157 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,157 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,159 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,163 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,163 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,163 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,266 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:14,268 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,268 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:14,271 - root - INFO - Clearing user context +2025-12-15 09:44:14,275 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,275 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,276 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,277 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,278 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,278 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,334 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 09:44:14,334 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,334 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:44:14,335 - root - INFO - Clearing user context +2025-12-15 09:44:14,335 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,335 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,335 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,336 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,336 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,336 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,396 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,397 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,397 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,397 - root - INFO - Clearing user context +2025-12-15 09:44:14,397 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,398 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,398 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,398 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,399 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,399 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,400 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:14,400 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,401 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:14,407 - root - INFO - Clearing user context +2025-12-15 09:44:14,407 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,407 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,408 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,408 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,409 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,409 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,415 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 09:44:14,419 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,420 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:44:14,420 - root - INFO - Clearing user context +2025-12-15 09:44:14,420 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,421 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,421 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,421 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,421 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,422 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,474 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,475 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,475 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,475 - root - INFO - Clearing user context +2025-12-15 09:44:14,475 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,475 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,475 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,476 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,476 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,476 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,582 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:14,583 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,583 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:14,583 - root - INFO - Clearing user context +2025-12-15 09:44:14,583 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,583 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,584 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,584 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,585 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,585 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,646 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,647 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,647 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,647 - root - INFO - Clearing user context +2025-12-15 09:44:14,648 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,648 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,649 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,649 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,649 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,651 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,709 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,710 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,711 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,712 - root - INFO - Clearing user context +2025-12-15 09:44:14,712 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,713 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,713 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,714 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,716 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,716 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,721 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,721 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,722 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,722 - root - INFO - Clearing user context +2025-12-15 09:44:14,722 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,723 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,724 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,724 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,724 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,725 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:14,832 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:14,833 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:14,833 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:14,834 - root - INFO - Clearing user context +2025-12-15 09:44:14,835 - root - INFO - User context cleared before authentication +2025-12-15 09:44:14,836 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:14,837 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:14,837 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:14,837 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:14,837 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,037 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,038 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,038 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,038 - root - INFO - Clearing user context +2025-12-15 09:44:15,039 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,039 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,039 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,039 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,039 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,040 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,149 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,149 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,149 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,149 - root - INFO - Clearing user context +2025-12-15 09:44:15,150 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,150 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,150 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,150 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,151 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,151 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,295 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,296 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,297 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,297 - root - INFO - Clearing user context +2025-12-15 09:44:15,298 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,298 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,299 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,299 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,299 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,300 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,409 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,411 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,412 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,414 - root - INFO - Clearing user context +2025-12-15 09:44:15,416 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,416 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,417 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,417 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,419 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,421 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,530 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,530 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,531 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,531 - root - INFO - Clearing user context +2025-12-15 09:44:15,531 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,532 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,532 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,533 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,533 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,533 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:15,947 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:15,948 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:15,948 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:15,948 - root - INFO - Clearing user context +2025-12-15 09:44:15,949 - root - INFO - User context cleared before authentication +2025-12-15 09:44:15,949 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:15,950 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:15,950 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:15,950 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:15,950 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:16,424 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:16,425 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:16,426 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:16,426 - root - INFO - Clearing user context +2025-12-15 09:44:16,429 - root - INFO - User context cleared before authentication +2025-12-15 09:44:16,431 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTYwNjM3NH0.eOERo6DJN_rm74zNsrldygYg-nI_ACB4IAV8sgNcZvc +2025-12-15 09:44:16,433 - root - ERROR - Token verification failed: Signature has expired +2025-12-15 09:44:16,434 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:16,434 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-15 09:44:16,435 - root - ERROR - Algorithm: HS256 +2025-12-15 09:44:18,906 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-15 09:44:18,906 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:18,907 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-15 09:44:18,907 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-15 09:44:19,254 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 09:44:19,255 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,256 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 09:44:19,256 - root - INFO - Clearing user context +2025-12-15 09:44:19,256 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,257 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,261 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,261 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,262 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,262 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,264 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:19,265 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:44:19,266 - root - INFO - Looking for user with username: admin +2025-12-15 09:44:19,268 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:44:19,268 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,269 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:44:19,278 - root - INFO - Clearing user context +2025-12-15 09:44:19,286 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 09:44:19,286 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,287 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 09:44:19,287 - root - INFO - Clearing user context +2025-12-15 09:44:19,287 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,288 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,291 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,291 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,292 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,292 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,294 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:19,297 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:44:19,297 - root - INFO - Looking for user with username: admin +2025-12-15 09:44:19,299 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:44:19,299 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,300 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:44:19,307 - root - INFO - Clearing user context +2025-12-15 09:44:19,747 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:19,748 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,748 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:19,749 - root - INFO - Clearing user context +2025-12-15 09:44:19,749 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,750 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,752 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,753 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,754 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,758 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,760 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 09:44:19,762 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,762 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:44:19,763 - root - INFO - Clearing user context +2025-12-15 09:44:19,764 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,764 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,766 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,768 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,769 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,775 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,794 - root - INFO - Clearing user context +2025-12-15 09:44:19,794 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:19,797 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:44:19,799 - root - INFO - Looking for user with username: admin +2025-12-15 09:44:19,802 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:19,803 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:44:19,804 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,806 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:19,807 - root - INFO - Clearing user context +2025-12-15 09:44:19,804 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,807 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,807 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:44:19,808 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,816 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,816 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,817 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,819 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,855 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 09:44:19,856 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,857 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 09:44:19,858 - root - INFO - Clearing user context +2025-12-15 09:44:19,858 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,860 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,862 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,867 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,868 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,869 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,873 - root - INFO - Clearing user context +2025-12-15 09:44:19,881 - root - INFO - Clearing user context +2025-12-15 09:44:19,885 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 09:44:19,891 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,891 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:44:19,892 - root - INFO - Clearing user context +2025-12-15 09:44:19,892 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,893 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,897 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,898 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,898 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,899 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,900 - root - INFO - Clearing user context +2025-12-15 09:44:19,902 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 09:44:19,903 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:19,903 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 09:44:19,903 - root - INFO - Clearing user context +2025-12-15 09:44:19,904 - root - INFO - User context cleared before authentication +2025-12-15 09:44:19,904 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:19,907 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:19,907 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,908 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:19,908 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:19,913 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:44:19,916 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:44:19,916 - root - INFO - Clearing user context +2025-12-15 09:44:19,917 - root - INFO - Looking for user with username: admin +2025-12-15 09:44:19,919 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:44:19,920 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:19,921 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:44:19,940 - root - INFO - Clearing user context +2025-12-15 09:44:20,211 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 09:44:20,211 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:20,212 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 09:44:20,212 - root - INFO - Clearing user context +2025-12-15 09:44:20,212 - root - INFO - User context cleared before authentication +2025-12-15 09:44:20,212 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:20,214 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:20,214 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:20,214 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:20,214 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:20,217 - root - INFO - Clearing user context +2025-12-15 09:44:20,527 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 09:44:20,527 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:20,528 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 09:44:20,528 - root - INFO - Clearing user context +2025-12-15 09:44:20,529 - root - INFO - User context cleared before authentication +2025-12-15 09:44:20,529 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:20,531 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:20,532 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:20,532 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:20,534 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:20,539 - root - INFO - Clearing user context +2025-12-15 09:44:21,143 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/3 +2025-12-15 09:44:21,143 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:21,144 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3 +2025-12-15 09:44:21,144 - root - INFO - Clearing user context +2025-12-15 09:44:21,144 - root - INFO - User context cleared before authentication +2025-12-15 09:44:21,145 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:21,146 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:21,147 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:21,147 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:21,147 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:21,152 - root - INFO - Clearing user context +2025-12-15 09:44:21,462 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/3/messages +2025-12-15 09:44:21,462 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:21,463 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/messages +2025-12-15 09:44:21,463 - root - INFO - Clearing user context +2025-12-15 09:44:21,463 - root - INFO - User context cleared before authentication +2025-12-15 09:44:21,463 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:21,464 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:21,464 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:21,464 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:21,465 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:21,471 - root - INFO - Clearing user context +2025-12-15 09:44:33,473 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/3/chat/stream +2025-12-15 09:44:33,473 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:44:33,474 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/chat/stream +2025-12-15 09:44:33,474 - root - INFO - Clearing user context +2025-12-15 09:44:33,475 - root - INFO - User context cleared before authentication +2025-12-15 09:44:33,475 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:44:33,477 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:44:33,477 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:44:33,478 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:44:33,478 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:44:33,489 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-15 09:44:34,244 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-15 09:44:34,246 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF_AI\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-15 09:44:34,246 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF_AI\HXF\backend +2025-12-15 09:44:34,246 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-15 09:44:34,255 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 09:44:34,270 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 09:44:34,277 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-15 09:44:34,278 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF_AI\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-15 09:44:34,281 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF_AI\HXF\backend +2025-12-15 09:44:34,282 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-15 09:44:34,285 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-15 09:44:34,286 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-15 09:44:34,287 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-15 09:44:34,287 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-15 09:44:34,288 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-15 09:44:34,288 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-15 09:44:34,288 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-15 09:44:34,289 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-15 09:44:34,289 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-15 09:44:34,289 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-15 09:44:34,289 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-15 09:44:34,289 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-15 09:44:34,292 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-15 09:44:34,296 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-15 09:44:34,298 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-15 09:44:34,299 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-15 09:44:34,305 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-15 09:44:34,306 - th_agenter.redis_memory_service - INFO - Conversation history directory: E:\Work\HXF_AI\HXF\backend\th_agenter\services\..\..\conversation_history (exists: True) +2025-12-15 09:44:34,306 - th_agenter.redis_memory_service - INFO - Current working directory: E:\Work\HXF_AI\HXF\backend +2025-12-15 09:44:34,307 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-15 09:44:34,308 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 3 via LangChain +2025-12-15 09:44:34,308 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 3 +2025-12-15 09:44:34,647 - root - INFO - Clearing user context +2025-12-15 09:44:36,139 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-15 09:44:37,806 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 3 +2025-12-15 09:45:12,619 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 09:45:12,619 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:12,619 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:45:12,620 - root - INFO - Clearing user context +2025-12-15 09:45:12,620 - root - INFO - User context cleared before authentication +2025-12-15 09:45:12,620 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:12,623 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:12,623 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:12,623 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:12,624 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:12,626 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:12,627 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:12,627 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:12,629 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:12,630 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:12,631 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:12,643 - root - INFO - Clearing user context +2025-12-15 09:45:13,863 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/6/documents +2025-12-15 09:45:13,863 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/6/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:13,863 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/6/documents +2025-12-15 09:45:13,864 - root - INFO - Clearing user context +2025-12-15 09:45:13,864 - root - INFO - User context cleared before authentication +2025-12-15 09:45:13,864 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:13,866 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:13,866 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:13,867 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:13,867 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:13,869 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:13,869 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:13,870 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:13,872 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:13,872 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:13,872 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:13,880 - root - INFO - Clearing user context +2025-12-15 09:45:28,814 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/ +2025-12-15 09:45:28,814 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:28,815 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 09:45:28,816 - root - INFO - Clearing user context +2025-12-15 09:45:28,816 - root - INFO - User context cleared before authentication +2025-12-15 09:45:28,817 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:28,818 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:28,819 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:28,819 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:28,819 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:28,822 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:28,822 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:28,822 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:28,823 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:28,824 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:28,824 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:28,843 - th_agenter.services.knowledge_base - INFO - Created knowledge base: jcq_test1 (ID: 7) +2025-12-15 09:45:28,844 - root - INFO - Clearing user context +2025-12-15 09:45:30,609 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:45:30,610 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:30,610 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:45:30,611 - root - INFO - Clearing user context +2025-12-15 09:45:30,611 - root - INFO - User context cleared before authentication +2025-12-15 09:45:30,612 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:30,613 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:30,614 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:30,614 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:30,615 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:30,617 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:30,618 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:30,619 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:30,622 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:30,623 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:30,623 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:30,629 - root - INFO - Clearing user context +2025-12-15 09:45:48,029 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 09:45:48,030 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:48,031 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:45:48,031 - root - INFO - Clearing user context +2025-12-15 09:45:48,032 - root - INFO - User context cleared before authentication +2025-12-15 09:45:48,032 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:48,034 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:48,035 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:48,040 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:48,041 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:48,056 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:48,057 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:48,057 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:48,060 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:48,061 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:48,061 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:48,198 - th_agenter.services.document - INFO - Uploaded document: 发明专利申请说明书CN202411808464.5.pdf to KB 7 (Doc ID: 5) +2025-12-15 09:45:48,204 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 09:45:48,217 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 09:45:48,224 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 09:45:48,226 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 09:45:48,249 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf, 页数: 0 +2025-12-15 09:45:48,253 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 09:45:48,369 - th_agenter.services.document_processor - WARNING - 连接现有向量存储失败,创建新的向量存储: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:45:48,424 - th_agenter.services.document_processor - ERROR - 创建向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:45:48,426 - th_agenter.services.document_processor - ERROR - 添加文档到向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:45:48,429 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:45:48,436 - root - INFO - Clearing user context +2025-12-15 09:45:50,447 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:45:50,448 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:50,448 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:45:50,448 - root - INFO - Clearing user context +2025-12-15 09:45:50,448 - root - INFO - User context cleared before authentication +2025-12-15 09:45:50,448 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:50,449 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:50,449 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:50,450 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:50,450 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:50,451 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:50,451 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:50,452 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:50,453 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:50,454 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:50,457 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:50,463 - root - INFO - Clearing user context +2025-12-15 09:45:57,507 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 09:45:57,508 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:45:57,508 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 09:45:57,508 - root - INFO - Clearing user context +2025-12-15 09:45:57,508 - root - INFO - User context cleared before authentication +2025-12-15 09:45:57,508 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:45:57,509 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:45:57,510 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:57,510 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:45:57,510 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:45:57,512 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:45:57,512 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:45:57,512 - root - INFO - Looking for user with username: admin +2025-12-15 09:45:57,513 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:45:57,514 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:45:57,514 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:45:57,854 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:45:57,904 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 09:45:57,905 - root - INFO - Clearing user context +2025-12-15 09:49:09,884 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 09:49:09,885 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:49:09,886 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 09:49:09,886 - root - INFO - Clearing user context +2025-12-15 09:49:09,886 - root - INFO - User context cleared before authentication +2025-12-15 09:49:09,887 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:49:09,888 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:49:09,889 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:09,889 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:49:09,890 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:49:09,893 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:49:09,894 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:49:09,894 - root - INFO - Looking for user with username: admin +2025-12-15 09:49:09,894 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:49:09,896 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:09,896 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:49:09,906 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 09:49:09,940 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 09:49:09,940 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 09:49:09,952 - th_agenter.services.document - INFO - Deleted document: f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf (ID: 5) +2025-12-15 09:49:09,953 - root - INFO - Clearing user context +2025-12-15 09:49:10,133 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:49:10,133 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:49:10,134 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:49:10,134 - root - INFO - Clearing user context +2025-12-15 09:49:10,135 - root - INFO - User context cleared before authentication +2025-12-15 09:49:10,135 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:49:10,136 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:49:10,136 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:10,136 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:49:10,137 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:49:10,138 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:49:10,139 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:49:10,139 - root - INFO - Looking for user with username: admin +2025-12-15 09:49:10,140 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:49:10,141 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:10,141 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:49:10,144 - root - INFO - Clearing user context +2025-12-15 09:49:13,138 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 09:49:13,139 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:49:13,139 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:49:13,140 - root - INFO - Clearing user context +2025-12-15 09:49:13,142 - root - INFO - User context cleared before authentication +2025-12-15 09:49:13,143 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:49:13,146 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:49:13,148 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:13,149 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:49:13,149 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:49:13,152 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:49:13,154 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:49:13,154 - root - INFO - Looking for user with username: admin +2025-12-15 09:49:13,156 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:49:13,156 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:13,157 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:49:13,175 - th_agenter.services.document - INFO - Uploaded document: 周报.txt to KB 7 (Doc ID: 5) +2025-12-15 09:49:13,179 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d9857870-20aa-44c6-9022-43502b369956_周报.txt +2025-12-15 09:49:13,180 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d9857870-20aa-44c6-9022-43502b369956_周报.txt, 页数: 1 +2025-12-15 09:49:13,191 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-15 09:49:13,192 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 09:49:13,194 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 7 个文档块 +2025-12-15 09:49:13,508 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:13,640 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:13,805 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:13,936 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:14,053 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:14,172 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:14,297 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:14,369 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-15 09:49:14,379 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 5, 'status': 'success', 'chunks_count': 7, 'message': '文档处理完成'} +2025-12-15 09:49:14,386 - th_agenter.services.document - INFO - Processed document: d9857870-20aa-44c6-9022-43502b369956_周报.txt (ID: 5) +2025-12-15 09:49:14,387 - root - INFO - Clearing user context +2025-12-15 09:49:16,710 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:49:16,713 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:49:16,713 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:49:16,714 - root - INFO - Clearing user context +2025-12-15 09:49:16,714 - root - INFO - User context cleared before authentication +2025-12-15 09:49:16,715 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:49:16,716 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:49:16,717 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:16,717 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:49:16,718 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:49:16,719 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:49:16,720 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:49:16,720 - root - INFO - Looking for user with username: admin +2025-12-15 09:49:16,722 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:49:16,722 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:16,723 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:49:16,727 - root - INFO - Clearing user context +2025-12-15 09:49:21,402 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 09:49:21,403 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:49:21,403 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 09:49:21,404 - root - INFO - Clearing user context +2025-12-15 09:49:21,404 - root - INFO - User context cleared before authentication +2025-12-15 09:49:21,404 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:49:21,406 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:49:21,406 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:21,406 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:49:21,407 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:49:21,409 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:49:21,410 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:49:21,410 - root - INFO - Looking for user with username: admin +2025-12-15 09:49:21,412 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:49:21,412 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:49:21,413 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:49:21,711 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:49:21,767 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-15 09:49:21,769 - root - INFO - Clearing user context +2025-12-15 09:53:04,488 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 09:53:04,488 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:04,488 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 09:53:04,489 - root - INFO - Clearing user context +2025-12-15 09:53:04,489 - root - INFO - User context cleared before authentication +2025-12-15 09:53:04,490 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:04,491 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:04,492 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:04,492 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:04,492 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:04,494 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:04,495 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:04,496 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:04,498 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:04,498 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:04,498 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:04,500 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d9857870-20aa-44c6-9022-43502b369956_周报.txt +2025-12-15 09:53:04,571 - th_agenter.services.document_processor - INFO - 成功删除 7 个文档块: document_id=5 +2025-12-15 09:53:04,571 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 09:53:04,577 - th_agenter.services.document - INFO - Deleted document: d9857870-20aa-44c6-9022-43502b369956_周报.txt (ID: 5) +2025-12-15 09:53:04,579 - root - INFO - Clearing user context +2025-12-15 09:53:04,757 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:53:04,758 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:04,758 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:53:04,759 - root - INFO - Clearing user context +2025-12-15 09:53:04,759 - root - INFO - User context cleared before authentication +2025-12-15 09:53:04,759 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:04,761 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:04,762 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:04,762 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:04,763 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:04,765 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:04,765 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:04,766 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:04,767 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:04,767 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:04,768 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:04,774 - root - INFO - Clearing user context +2025-12-15 09:53:08,777 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 09:53:08,777 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:08,778 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:53:08,778 - root - INFO - Clearing user context +2025-12-15 09:53:08,778 - root - INFO - User context cleared before authentication +2025-12-15 09:53:08,779 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:08,781 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:08,782 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:08,782 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:08,783 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:08,795 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:08,796 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:08,797 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:08,798 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:08,799 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:08,800 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:08,819 - th_agenter.services.document - INFO - Uploaded document: 发明专利申请说明书CN202411808464.5.pdf to KB 7 (Doc ID: 5) +2025-12-15 09:53:08,822 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 09:53:08,855 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf, 页数: 0 +2025-12-15 09:53:08,856 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 09:53:08,923 - th_agenter.services.document_processor - WARNING - 连接现有向量存储失败,创建新的向量存储: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:53:08,984 - th_agenter.services.document_processor - ERROR - 创建向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:53:08,985 - th_agenter.services.document_processor - ERROR - 添加文档到向量存储失败: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:53:08,986 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: (psycopg.errors.NotNullViolation) null value in column "id" of relation "langchain_pg_embedding" violates not-null constraint +DETAIL: Failing row contains (null, null, null, null, null). +[SQL: INSERT INTO langchain_pg_embedding DEFAULT VALUES ON CONFLICT (id) DO UPDATE SET embedding = excluded.embedding, document = excluded.document, cmetadata = excluded.cmetadata] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-12-15 09:53:08,996 - root - INFO - Clearing user context +2025-12-15 09:53:11,324 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:53:11,324 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:11,324 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:53:11,324 - root - INFO - Clearing user context +2025-12-15 09:53:11,324 - root - INFO - User context cleared before authentication +2025-12-15 09:53:11,325 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:11,326 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:11,327 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:11,327 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:11,327 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:11,329 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:11,329 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:11,329 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:11,330 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:11,334 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:11,334 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:11,352 - root - INFO - Clearing user context +2025-12-15 09:53:12,048 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 09:53:12,049 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:12,049 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 09:53:12,050 - root - INFO - Clearing user context +2025-12-15 09:53:12,050 - root - INFO - User context cleared before authentication +2025-12-15 09:53:12,050 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:12,052 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:12,052 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:12,053 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:12,053 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:12,055 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:12,056 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:12,056 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:12,058 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:12,058 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:12,059 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:12,064 - root - INFO - Clearing user context +2025-12-15 09:53:20,636 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 09:53:20,640 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:20,640 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 09:53:20,641 - root - INFO - Clearing user context +2025-12-15 09:53:20,641 - root - INFO - User context cleared before authentication +2025-12-15 09:53:20,641 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:20,643 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:20,643 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:20,643 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:20,643 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:20,646 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:20,647 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:20,647 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:20,649 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:20,649 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:20,650 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:20,986 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:53:21,046 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 09:53:21,048 - root - INFO - Clearing user context +2025-12-15 09:53:25,632 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 09:53:25,633 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:25,633 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 09:53:25,633 - root - INFO - Clearing user context +2025-12-15 09:53:25,633 - root - INFO - User context cleared before authentication +2025-12-15 09:53:25,634 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:25,635 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:25,636 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:25,636 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:25,636 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:25,639 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:25,640 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:25,641 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:25,642 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:25,643 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:25,644 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:25,873 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:53:25,926 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 09:53:25,927 - root - INFO - Clearing user context +2025-12-15 09:53:30,096 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 09:53:30,097 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 09:53:30,097 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 09:53:30,097 - root - INFO - Clearing user context +2025-12-15 09:53:30,097 - root - INFO - User context cleared before authentication +2025-12-15 09:53:30,098 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 09:53:30,099 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 09:53:30,099 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:30,099 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 09:53:30,100 - root - INFO - Verified current user ID in context: 2 +2025-12-15 09:53:30,101 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 09:53:30,101 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 09:53:30,101 - root - INFO - Looking for user with username: admin +2025-12-15 09:53:30,102 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 09:53:30,102 - root - INFO - Verification - ContextVar user: admin +2025-12-15 09:53:30,102 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 09:53:30,328 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 09:53:30,384 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 09:53:30,386 - root - INFO - Clearing user context +2025-12-15 09:56:40,189 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 09:56:52,498 - root - INFO - Logging configured successfully +2025-12-15 09:56:52,638 - root - INFO - Logging configured successfully +2025-12-15 09:56:52,759 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:56:52,772 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:56:52,777 - root - INFO - Database tables created +2025-12-15 09:56:52,777 - root - INFO - Database initialized +2025-12-15 09:57:17,536 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 09:57:27,404 - root - INFO - Logging configured successfully +2025-12-15 09:57:27,556 - root - INFO - Logging configured successfully +2025-12-15 09:57:27,694 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:57:27,705 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:57:27,710 - root - INFO - Database tables created +2025-12-15 09:57:27,710 - root - INFO - Database initialized +2025-12-15 09:57:44,396 - root - INFO - Logging configured successfully +2025-12-15 09:57:44,592 - root - INFO - Logging configured successfully +2025-12-15 09:57:44,748 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:57:44,763 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:57:44,778 - root - INFO - Database tables created +2025-12-15 09:57:44,779 - root - INFO - Database initialized +2025-12-15 09:58:12,108 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 09:58:32,826 - root - INFO - Logging configured successfully +2025-12-15 09:58:33,056 - root - INFO - Logging configured successfully +2025-12-15 09:58:33,247 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:58:33,260 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:58:33,269 - root - INFO - Database tables created +2025-12-15 09:58:33,269 - root - INFO - Database initialized +2025-12-15 09:58:45,181 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 09:59:01,403 - root - INFO - Logging configured successfully +2025-12-15 09:59:01,606 - root - INFO - Logging configured successfully +2025-12-15 09:59:01,775 - root - INFO - Starting up TH-Agenter application... +2025-12-15 09:59:01,789 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 09:59:01,796 - root - INFO - Database tables created +2025-12-15 09:59:01,797 - root - INFO - Database initialized +2025-12-15 10:01:14,419 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:01:14,419 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:14,419 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:01:14,419 - root - INFO - Clearing user context +2025-12-15 10:01:14,419 - root - INFO - User context cleared before authentication +2025-12-15 10:01:14,419 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:14,444 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:14,444 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:14,444 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:14,445 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:14,448 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:14,448 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:14,449 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:14,450 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:14,450 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:14,450 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:14,460 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 10:01:14,464 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:01:14,573 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:01:14,584 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:01:14,738 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:01:14,739 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:01:14,753 - th_agenter.services.document - INFO - Deleted document: 20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf (ID: 5) +2025-12-15 10:01:14,753 - root - INFO - Clearing user context +2025-12-15 10:01:14,760 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:01:14,760 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:14,761 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:01:14,761 - root - INFO - Clearing user context +2025-12-15 10:01:14,761 - root - INFO - User context cleared before authentication +2025-12-15 10:01:14,761 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:14,763 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:14,763 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:14,763 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:14,763 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:14,764 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:14,764 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:14,765 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:14,765 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:14,766 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:14,766 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:14,777 - root - INFO - Clearing user context +2025-12-15 10:01:20,419 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:01:20,425 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:20,426 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:01:20,427 - root - INFO - Clearing user context +2025-12-15 10:01:20,428 - root - INFO - User context cleared before authentication +2025-12-15 10:01:20,428 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:20,436 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:20,437 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:20,437 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:20,437 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:20,442 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:20,443 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:20,444 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:20,445 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:20,446 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:20,446 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:20,613 - th_agenter.services.document - INFO - Uploaded document: testpdf.pdf to KB 7 (Doc ID: 5) +2025-12-15 10:01:20,616 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf +2025-12-15 10:01:21,293 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf, 页数: 2 +2025-12-15 10:01:21,299 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-15 10:01:21,300 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 10:01:21,302 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 4 个文档块 +2025-12-15 10:01:22,463 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:22,589 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:22,745 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:22,869 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:22,946 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-15 10:01:22,962 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 5, 'status': 'success', 'chunks_count': 4, 'message': '文档处理完成'} +2025-12-15 10:01:22,973 - th_agenter.services.document - INFO - Processed document: 6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf (ID: 5) +2025-12-15 10:01:22,974 - root - INFO - Clearing user context +2025-12-15 10:01:24,984 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:01:24,984 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:24,984 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:01:24,984 - root - INFO - Clearing user context +2025-12-15 10:01:24,984 - root - INFO - User context cleared before authentication +2025-12-15 10:01:24,984 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:24,985 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:24,985 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:24,985 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:24,986 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:24,986 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:24,987 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:24,987 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:24,990 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:24,991 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:24,992 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:24,997 - root - INFO - Clearing user context +2025-12-15 10:01:39,011 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 10:01:39,012 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:39,012 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 10:01:39,013 - root - INFO - Clearing user context +2025-12-15 10:01:39,013 - root - INFO - User context cleared before authentication +2025-12-15 10:01:39,013 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:39,015 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:39,016 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:39,017 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:39,018 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:39,020 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:39,020 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:39,021 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:39,023 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:39,024 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:39,025 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:39,352 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:39,403 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 4 个相关文档 +2025-12-15 10:01:39,404 - root - INFO - Clearing user context +2025-12-15 10:01:46,896 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 10:01:46,897 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:01:46,897 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 10:01:46,898 - root - INFO - Clearing user context +2025-12-15 10:01:46,898 - root - INFO - User context cleared before authentication +2025-12-15 10:01:46,898 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:01:46,900 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:01:46,900 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:46,901 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:01:46,901 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:01:46,905 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:01:46,906 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:01:46,907 - root - INFO - Looking for user with username: admin +2025-12-15 10:01:46,908 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:01:46,908 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:01:46,909 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:01:47,188 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:01:47,243 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 4 个相关文档 +2025-12-15 10:01:47,244 - root - INFO - Clearing user context +2025-12-15 10:03:05,912 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:09:54,155 - root - INFO - Logging configured successfully +2025-12-15 10:09:54,330 - root - INFO - Logging configured successfully +2025-12-15 10:09:54,473 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:09:54,482 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:09:54,487 - root - INFO - Database tables created +2025-12-15 10:09:54,487 - root - INFO - Database initialized +2025-12-15 10:10:14,240 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:10:14,241 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:14,241 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:10:14,242 - root - INFO - Clearing user context +2025-12-15 10:10:14,242 - root - INFO - User context cleared before authentication +2025-12-15 10:10:14,242 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:14,301 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:14,302 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:14,302 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:14,302 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:14,308 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:14,309 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:14,310 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:14,314 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:14,315 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:14,316 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:14,494 - th_agenter.services.document - INFO - Uploaded document: testdoc.doc to KB 7 (Doc ID: 6) +2025-12-15 10:10:14,500 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:10:14,591 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:10:14,596 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:10:14,600 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 6, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc +2025-12-15 10:10:14,602 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc: No module named 'docx2txt' +2025-12-15 10:10:14,603 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 6: No module named 'docx2txt' +2025-12-15 10:10:14,610 - root - INFO - Clearing user context +2025-12-15 10:10:16,919 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:10:16,920 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:16,920 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:10:16,920 - root - INFO - Clearing user context +2025-12-15 10:10:16,920 - root - INFO - User context cleared before authentication +2025-12-15 10:10:16,920 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:16,921 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:16,922 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:16,922 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:16,922 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:16,925 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:16,925 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:16,926 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:16,927 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:16,928 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:16,928 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:16,943 - root - INFO - Clearing user context +2025-12-15 10:10:20,961 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:10:20,962 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:20,962 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:10:20,962 - root - INFO - Clearing user context +2025-12-15 10:10:20,962 - root - INFO - User context cleared before authentication +2025-12-15 10:10:20,963 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:20,965 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:20,965 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:20,965 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:20,966 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:20,968 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:20,968 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:20,969 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:20,970 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:20,971 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:20,971 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:20,977 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf +2025-12-15 10:10:21,103 - th_agenter.services.document_processor - INFO - 成功删除 4 个文档块: document_id=5 +2025-12-15 10:10:21,104 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:10:21,118 - th_agenter.services.document - INFO - Deleted document: 6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf (ID: 5) +2025-12-15 10:10:21,121 - root - INFO - Clearing user context +2025-12-15 10:10:21,434 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:10:21,434 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:21,434 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:10:21,434 - root - INFO - Clearing user context +2025-12-15 10:10:21,435 - root - INFO - User context cleared before authentication +2025-12-15 10:10:21,435 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:21,436 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:21,436 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:21,436 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:21,436 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:21,437 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:21,438 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:21,438 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:21,439 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:21,439 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:21,440 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:21,443 - root - INFO - Clearing user context +2025-12-15 10:10:27,045 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 10:10:27,046 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:27,046 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 10:10:27,046 - root - INFO - Clearing user context +2025-12-15 10:10:27,046 - root - INFO - User context cleared before authentication +2025-12-15 10:10:27,047 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:27,049 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:27,049 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:27,049 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:27,050 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:27,052 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:27,053 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:27,055 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:27,057 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:27,057 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:27,058 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:27,870 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:10:28,273 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 10:10:28,275 - root - INFO - Clearing user context +2025-12-15 10:10:32,748 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/6 +2025-12-15 10:10:32,748 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/6 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:32,748 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/6 +2025-12-15 10:10:32,749 - root - INFO - Clearing user context +2025-12-15 10:10:32,749 - root - INFO - User context cleared before authentication +2025-12-15 10:10:32,749 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:32,750 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:32,750 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:32,750 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:32,751 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:32,751 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:32,752 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:32,752 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:32,752 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:32,753 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:32,753 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:32,754 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc +2025-12-15 10:10:32,819 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=6 +2025-12-15 10:10:32,820 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=6 +2025-12-15 10:10:32,833 - th_agenter.services.document - INFO - Deleted document: 9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc (ID: 6) +2025-12-15 10:10:32,834 - root - INFO - Clearing user context +2025-12-15 10:10:33,015 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:10:33,016 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:10:33,016 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:10:33,017 - root - INFO - Clearing user context +2025-12-15 10:10:33,018 - root - INFO - User context cleared before authentication +2025-12-15 10:10:33,018 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:10:33,020 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:10:33,020 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:33,020 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:10:33,021 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:10:33,023 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:10:33,024 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:10:33,024 - root - INFO - Looking for user with username: admin +2025-12-15 10:10:33,025 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:10:33,026 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:10:33,026 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:10:33,033 - root - INFO - Clearing user context +2025-12-15 10:11:19,728 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:11:19,729 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:19,730 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:19,730 - root - INFO - Clearing user context +2025-12-15 10:11:19,730 - root - INFO - User context cleared before authentication +2025-12-15 10:11:19,731 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:19,733 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:19,733 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:19,733 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:19,734 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:19,741 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:19,741 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:19,742 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:19,745 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:19,745 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:19,746 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:19,765 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:11:19,769 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc +2025-12-15 10:11:19,772 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc: No module named 'docx2txt' +2025-12-15 10:11:19,772 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: No module named 'docx2txt' +2025-12-15 10:11:19,777 - root - INFO - Clearing user context +2025-12-15 10:11:22,105 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:11:22,106 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:22,106 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:22,106 - root - INFO - Clearing user context +2025-12-15 10:11:22,106 - root - INFO - User context cleared before authentication +2025-12-15 10:11:22,106 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:22,107 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:22,108 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:22,108 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:22,108 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:22,109 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:22,109 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:22,110 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:22,110 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:22,110 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:22,111 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:22,113 - root - INFO - Clearing user context +2025-12-15 10:11:27,768 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 10:11:27,769 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:27,769 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 10:11:27,769 - root - INFO - Clearing user context +2025-12-15 10:11:27,770 - root - INFO - User context cleared before authentication +2025-12-15 10:11:27,770 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:27,772 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:27,772 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:27,772 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:27,773 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:27,776 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:27,778 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:27,779 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:27,781 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:27,781 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:27,782 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:28,195 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:11:28,255 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 10:11:28,256 - root - INFO - Clearing user context +2025-12-15 10:11:44,078 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:11:44,079 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:44,079 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:44,080 - root - INFO - Clearing user context +2025-12-15 10:11:44,081 - root - INFO - User context cleared before authentication +2025-12-15 10:11:44,081 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:44,083 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:44,084 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:44,085 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:44,085 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:44,090 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:44,092 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:44,093 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:44,094 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:44,095 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:44,095 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:44,117 - th_agenter.services.document - INFO - Uploaded document: testpdf.pdf to KB 7 (Doc ID: 6) +2025-12-15 10:11:44,120 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 6, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf +2025-12-15 10:11:44,719 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf, 页数: 2 +2025-12-15 10:11:44,726 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-15 10:11:44,727 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 10:11:44,727 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 4 个文档块 +2025-12-15 10:11:45,025 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:11:45,190 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:11:45,348 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:11:45,494 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 10:11:45,570 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-15 10:11:45,587 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 6, 'status': 'success', 'chunks_count': 4, 'message': '文档处理完成'} +2025-12-15 10:11:45,607 - th_agenter.services.document - INFO - Processed document: 7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf (ID: 6) +2025-12-15 10:11:45,611 - root - INFO - Clearing user context +2025-12-15 10:11:47,622 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:11:47,623 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:47,623 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:47,623 - root - INFO - Clearing user context +2025-12-15 10:11:47,624 - root - INFO - User context cleared before authentication +2025-12-15 10:11:47,624 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:47,627 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:47,630 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:47,631 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:47,631 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:47,636 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:47,637 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:47,638 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:47,640 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:47,640 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:47,640 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:47,645 - root - INFO - Clearing user context +2025-12-15 10:11:51,234 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:11:51,234 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:51,235 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:11:51,235 - root - INFO - Clearing user context +2025-12-15 10:11:51,236 - root - INFO - User context cleared before authentication +2025-12-15 10:11:51,236 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:51,239 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:51,239 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:51,240 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:51,240 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:51,243 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:51,244 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:51,244 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:51,245 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:51,246 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:51,246 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:51,249 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc +2025-12-15 10:11:51,312 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:11:51,313 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:11:51,324 - th_agenter.services.document - INFO - Deleted document: 13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc (ID: 5) +2025-12-15 10:11:51,327 - root - INFO - Clearing user context +2025-12-15 10:11:51,501 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:11:51,501 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:51,501 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:51,501 - root - INFO - Clearing user context +2025-12-15 10:11:51,502 - root - INFO - User context cleared before authentication +2025-12-15 10:11:51,502 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:51,503 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:51,503 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:51,503 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:51,503 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:51,504 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:51,505 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:51,505 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:51,506 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:51,506 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:51,506 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:51,509 - root - INFO - Clearing user context +2025-12-15 10:11:58,225 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/6 +2025-12-15 10:11:58,226 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/6 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:58,226 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/6 +2025-12-15 10:11:58,227 - root - INFO - Clearing user context +2025-12-15 10:11:58,227 - root - INFO - User context cleared before authentication +2025-12-15 10:11:58,227 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:58,229 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:58,230 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:58,230 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:58,231 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:58,233 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:58,234 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:58,234 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:58,235 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:58,236 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:58,236 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:58,239 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf +2025-12-15 10:11:58,317 - th_agenter.services.document_processor - INFO - 成功删除 4 个文档块: document_id=6 +2025-12-15 10:11:58,318 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=6 +2025-12-15 10:11:58,332 - th_agenter.services.document - INFO - Deleted document: 7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf (ID: 6) +2025-12-15 10:11:58,333 - root - INFO - Clearing user context +2025-12-15 10:11:58,656 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:11:58,656 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:11:58,657 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:11:58,657 - root - INFO - Clearing user context +2025-12-15 10:11:58,657 - root - INFO - User context cleared before authentication +2025-12-15 10:11:58,658 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:11:58,659 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:11:58,659 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:58,659 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:11:58,659 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:11:58,662 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:11:58,662 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:11:58,663 - root - INFO - Looking for user with username: admin +2025-12-15 10:11:58,664 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:11:58,665 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:11:58,665 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:11:58,671 - root - INFO - Clearing user context +2025-12-15 10:12:01,457 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:12:01,459 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:12:01,460 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:12:01,461 - root - INFO - Clearing user context +2025-12-15 10:12:01,461 - root - INFO - User context cleared before authentication +2025-12-15 10:12:01,462 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:12:01,464 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:12:01,465 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:12:01,466 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:12:01,467 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:12:01,470 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:12:01,471 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:12:01,471 - root - INFO - Looking for user with username: admin +2025-12-15 10:12:01,473 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:12:01,473 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:12:01,474 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:12:01,497 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:12:01,501 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc +2025-12-15 10:12:01,504 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc: No module named 'docx2txt' +2025-12-15 10:12:01,505 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: No module named 'docx2txt' +2025-12-15 10:12:01,509 - root - INFO - Clearing user context +2025-12-15 10:12:03,840 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:12:03,841 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:12:03,841 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:12:03,842 - root - INFO - Clearing user context +2025-12-15 10:12:03,842 - root - INFO - User context cleared before authentication +2025-12-15 10:12:03,842 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:12:03,843 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:12:03,844 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:12:03,844 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:12:03,844 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:12:03,845 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:12:03,845 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:12:03,845 - root - INFO - Looking for user with username: admin +2025-12-15 10:12:03,846 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:12:03,846 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:12:03,846 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:12:03,850 - root - INFO - Clearing user context +2025-12-15 10:14:58,558 - root - INFO - Logging configured successfully +2025-12-15 10:14:58,722 - root - INFO - Logging configured successfully +2025-12-15 10:14:58,865 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:14:58,879 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:14:58,884 - root - INFO - Database tables created +2025-12-15 10:14:58,884 - root - INFO - Database initialized +2025-12-15 10:15:09,264 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 10:15:09,266 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:09,267 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 10:15:09,268 - root - INFO - Clearing user context +2025-12-15 10:15:09,268 - root - INFO - User context cleared before authentication +2025-12-15 10:15:09,268 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:09,316 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:09,316 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,317 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:09,317 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:09,320 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:09,320 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:09,321 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:09,322 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:09,322 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,322 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:09,327 - root - INFO - Clearing user context +2025-12-15 10:15:09,334 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 10:15:09,334 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:09,334 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 10:15:09,334 - root - INFO - Clearing user context +2025-12-15 10:15:09,335 - root - INFO - User context cleared before authentication +2025-12-15 10:15:09,335 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:09,336 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:09,336 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,336 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:09,336 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:09,340 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:09,341 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:09,341 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:09,343 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:09,344 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,345 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:09,357 - root - INFO - Clearing user context +2025-12-15 10:15:09,760 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 10:15:09,760 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:09,760 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 10:15:09,760 - root - INFO - Clearing user context +2025-12-15 10:15:09,761 - root - INFO - User context cleared before authentication +2025-12-15 10:15:09,761 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:09,765 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:09,776 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,777 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:09,778 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:09,780 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 10:15:09,783 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:09,784 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 10:15:09,785 - root - INFO - Clearing user context +2025-12-15 10:15:09,787 - root - INFO - User context cleared before authentication +2025-12-15 10:15:09,789 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:09,792 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:09,793 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,793 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:09,794 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:09,808 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:09,809 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:09,810 - root - INFO - Clearing user context +2025-12-15 10:15:09,811 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:09,815 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:09,816 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,817 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:09,855 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 10:15:09,855 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:09,855 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 10:15:09,856 - root - INFO - Clearing user context +2025-12-15 10:15:09,856 - root - INFO - User context cleared before authentication +2025-12-15 10:15:09,856 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:09,858 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:09,859 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:09,859 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:09,859 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:09,861 - root - INFO - Clearing user context +2025-12-15 10:15:09,866 - root - INFO - Clearing user context +2025-12-15 10:15:54,044 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 10:15:54,044 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:54,044 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 10:15:54,044 - root - INFO - Clearing user context +2025-12-15 10:15:54,044 - root - INFO - User context cleared before authentication +2025-12-15 10:15:54,045 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:54,047 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:54,048 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,049 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:54,049 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:54,052 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:54,052 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:54,053 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:54,054 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:54,055 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,055 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:54,057 - root - INFO - Clearing user context +2025-12-15 10:15:54,261 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 10:15:54,261 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:54,262 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 10:15:54,262 - root - INFO - Clearing user context +2025-12-15 10:15:54,262 - root - INFO - User context cleared before authentication +2025-12-15 10:15:54,262 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:54,263 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:54,263 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,263 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:54,263 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:54,264 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:54,265 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:54,265 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:54,266 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:54,267 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,267 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:54,270 - root - INFO - Clearing user context +2025-12-15 10:15:54,382 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 10:15:54,384 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:54,385 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 10:15:54,385 - root - INFO - Clearing user context +2025-12-15 10:15:54,386 - root - INFO - User context cleared before authentication +2025-12-15 10:15:54,387 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:54,391 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:54,392 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,393 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:54,393 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:54,396 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 10:15:54,396 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:54,401 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 10:15:54,402 - root - INFO - Clearing user context +2025-12-15 10:15:54,403 - root - INFO - User context cleared before authentication +2025-12-15 10:15:54,403 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:54,406 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:54,407 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,409 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:54,410 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:54,422 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:54,424 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:54,424 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:54,425 - root - INFO - Clearing user context +2025-12-15 10:15:54,426 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:54,427 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,428 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:54,452 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 10:15:54,453 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:54,454 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 10:15:54,454 - root - INFO - Clearing user context +2025-12-15 10:15:54,455 - root - INFO - User context cleared before authentication +2025-12-15 10:15:54,456 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:54,459 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:54,461 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:54,462 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:54,466 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:54,468 - root - INFO - Clearing user context +2025-12-15 10:15:54,474 - root - INFO - Clearing user context +2025-12-15 10:15:55,457 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:15:55,458 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:55,458 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:15:55,459 - root - INFO - Clearing user context +2025-12-15 10:15:55,459 - root - INFO - User context cleared before authentication +2025-12-15 10:15:55,459 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:55,461 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:55,462 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:55,462 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:55,463 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:55,466 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:55,467 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:55,468 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:55,469 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:55,470 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:55,470 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:55,476 - root - INFO - Clearing user context +2025-12-15 10:15:58,497 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:15:58,498 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:58,498 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:15:58,498 - root - INFO - Clearing user context +2025-12-15 10:15:58,499 - root - INFO - User context cleared before authentication +2025-12-15 10:15:58,499 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:58,501 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:58,501 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:58,502 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:58,502 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:58,503 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:58,504 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:58,504 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:58,505 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:58,505 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:58,506 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:58,517 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc +2025-12-15 10:15:58,527 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:15:58,684 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:15:58,696 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:15:58,775 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:15:58,775 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:15:58,792 - th_agenter.services.document - INFO - Deleted document: b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc (ID: 5) +2025-12-15 10:15:58,804 - root - INFO - Clearing user context +2025-12-15 10:15:58,815 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:15:58,817 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:15:58,818 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:15:58,818 - root - INFO - Clearing user context +2025-12-15 10:15:58,818 - root - INFO - User context cleared before authentication +2025-12-15 10:15:58,818 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:15:58,820 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:15:58,820 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:58,820 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:15:58,821 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:15:58,823 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:15:58,823 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:15:58,823 - root - INFO - Looking for user with username: admin +2025-12-15 10:15:58,824 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:15:58,825 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:15:58,825 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:15:58,828 - root - INFO - Clearing user context +2025-12-15 10:16:02,236 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:16:02,236 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:16:02,236 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:16:02,237 - root - INFO - Clearing user context +2025-12-15 10:16:02,237 - root - INFO - User context cleared before authentication +2025-12-15 10:16:02,237 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:16:02,240 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:16:02,240 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:16:02,240 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:16:02,241 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:16:02,245 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:16:02,245 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:16:02,246 - root - INFO - Looking for user with username: admin +2025-12-15 10:16:02,247 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:16:02,247 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:16:02,247 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:16:02,423 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:16:02,427 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc +2025-12-15 10:16:02,431 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc: No module named 'docx2txt' +2025-12-15 10:16:02,432 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: No module named 'docx2txt' +2025-12-15 10:16:02,443 - root - INFO - Clearing user context +2025-12-15 10:16:04,473 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:16:04,478 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:16:04,478 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:16:04,478 - root - INFO - Clearing user context +2025-12-15 10:16:04,478 - root - INFO - User context cleared before authentication +2025-12-15 10:16:04,478 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:16:04,480 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:16:04,480 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:16:04,481 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:16:04,481 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:16:04,484 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:16:04,494 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:16:04,495 - root - INFO - Looking for user with username: admin +2025-12-15 10:16:04,497 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:16:04,497 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:16:04,498 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:16:04,501 - root - INFO - Clearing user context +2025-12-15 10:18:19,458 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:18:30,892 - root - INFO - Logging configured successfully +2025-12-15 10:18:31,031 - root - INFO - Logging configured successfully +2025-12-15 10:18:31,150 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:18:31,163 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:18:31,167 - root - INFO - Database tables created +2025-12-15 10:18:31,167 - root - INFO - Database initialized +2025-12-15 10:18:50,828 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:19:01,776 - root - INFO - Logging configured successfully +2025-12-15 10:19:01,921 - root - INFO - Logging configured successfully +2025-12-15 10:19:02,043 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:19:02,053 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:19:02,057 - root - INFO - Database tables created +2025-12-15 10:19:02,058 - root - INFO - Database initialized +2025-12-15 10:19:12,937 - root - INFO - Logging configured successfully +2025-12-15 10:19:13,090 - root - INFO - Logging configured successfully +2025-12-15 10:19:13,226 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:19:13,236 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:19:13,241 - root - INFO - Database tables created +2025-12-15 10:19:13,241 - root - INFO - Database initialized +2025-12-15 10:19:52,316 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:20:02,838 - root - INFO - Logging configured successfully +2025-12-15 10:20:02,968 - root - INFO - Logging configured successfully +2025-12-15 10:20:03,081 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:20:03,089 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:20:03,094 - root - INFO - Database tables created +2025-12-15 10:20:03,094 - root - INFO - Database initialized +2025-12-15 10:20:42,623 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:20:42,625 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:20:42,625 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:20:42,625 - root - INFO - Clearing user context +2025-12-15 10:20:42,626 - root - INFO - User context cleared before authentication +2025-12-15 10:20:42,626 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:20:42,652 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:20:42,653 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:42,653 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:20:42,653 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:20:42,656 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:20:42,657 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:20:42,657 - root - INFO - Looking for user with username: admin +2025-12-15 10:20:42,658 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:20:42,658 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:42,659 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:20:42,667 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc +2025-12-15 10:20:42,673 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:20:42,746 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:20:42,749 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:20:42,816 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:20:42,816 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:20:42,827 - th_agenter.services.document - INFO - Deleted document: ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc (ID: 5) +2025-12-15 10:20:42,829 - root - INFO - Clearing user context +2025-12-15 10:20:42,886 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:20:42,886 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:20:42,886 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:20:42,887 - root - INFO - Clearing user context +2025-12-15 10:20:42,887 - root - INFO - User context cleared before authentication +2025-12-15 10:20:42,887 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:20:42,889 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:20:42,889 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:42,889 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:20:42,889 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:20:42,890 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:20:42,891 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:20:42,891 - root - INFO - Looking for user with username: admin +2025-12-15 10:20:42,892 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:20:42,892 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:42,893 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:20:42,900 - root - INFO - Clearing user context +2025-12-15 10:20:49,222 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:20:49,222 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:20:49,222 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:20:49,222 - root - INFO - Clearing user context +2025-12-15 10:20:49,223 - root - INFO - User context cleared before authentication +2025-12-15 10:20:49,223 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:20:49,225 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:20:49,225 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:49,225 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:20:49,226 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:20:49,228 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:20:49,229 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:20:49,229 - root - INFO - Looking for user with username: admin +2025-12-15 10:20:49,230 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:20:49,231 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:49,231 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:20:49,321 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:20:49,324 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc +2025-12-15 10:20:49,326 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc: No module named 'docx2txt' +2025-12-15 10:20:49,326 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: No module named 'docx2txt' +2025-12-15 10:20:49,330 - root - INFO - Clearing user context +2025-12-15 10:20:51,659 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:20:51,659 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:20:51,659 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:20:51,660 - root - INFO - Clearing user context +2025-12-15 10:20:51,660 - root - INFO - User context cleared before authentication +2025-12-15 10:20:51,660 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:20:51,662 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:20:51,662 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:51,662 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:20:51,662 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:20:51,664 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:20:51,665 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:20:51,665 - root - INFO - Looking for user with username: admin +2025-12-15 10:20:51,666 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:20:51,666 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:20:51,666 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:20:51,670 - root - INFO - Clearing user context +2025-12-15 10:21:31,648 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:21:31,649 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:21:31,649 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:21:31,650 - root - INFO - Clearing user context +2025-12-15 10:21:31,650 - root - INFO - User context cleared before authentication +2025-12-15 10:21:31,650 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:21:31,651 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:21:31,652 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:21:31,652 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:21:31,653 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:21:31,655 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:21:31,655 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:21:31,656 - root - INFO - Looking for user with username: admin +2025-12-15 10:21:31,657 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:21:31,657 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:21:31,658 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:21:31,660 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc +2025-12-15 10:21:31,723 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:21:31,725 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:21:31,739 - th_agenter.services.document - INFO - Deleted document: 9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc (ID: 5) +2025-12-15 10:21:31,741 - root - INFO - Clearing user context +2025-12-15 10:21:32,057 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:21:32,058 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:21:32,058 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:21:32,058 - root - INFO - Clearing user context +2025-12-15 10:21:32,058 - root - INFO - User context cleared before authentication +2025-12-15 10:21:32,059 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:21:32,060 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:21:32,061 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:21:32,061 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:21:32,061 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:21:32,064 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:21:32,064 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:21:32,065 - root - INFO - Looking for user with username: admin +2025-12-15 10:21:32,066 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:21:32,066 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:21:32,067 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:21:32,072 - root - INFO - Clearing user context +2025-12-15 10:23:54,102 - root - INFO - Logging configured successfully +2025-12-15 10:23:54,256 - root - INFO - Logging configured successfully +2025-12-15 10:23:54,393 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:23:54,402 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:23:54,407 - root - INFO - Database tables created +2025-12-15 10:23:54,408 - root - INFO - Database initialized +2025-12-15 10:24:15,453 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 10:24:15,454 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:15,454 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 10:24:15,454 - root - INFO - Clearing user context +2025-12-15 10:24:15,455 - root - INFO - User context cleared before authentication +2025-12-15 10:24:15,455 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:15,498 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:15,498 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:15,499 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:15,499 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:15,504 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:15,505 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:15,505 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:15,506 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:15,507 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:15,507 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:15,513 - root - INFO - Clearing user context +2025-12-15 10:24:15,524 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 10:24:15,524 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:15,525 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 10:24:15,525 - root - INFO - Clearing user context +2025-12-15 10:24:15,526 - root - INFO - User context cleared before authentication +2025-12-15 10:24:15,526 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:15,528 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:15,529 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:15,529 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:15,529 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:15,532 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:15,532 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:15,533 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:15,535 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:15,535 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:15,535 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:15,545 - root - INFO - Clearing user context +2025-12-15 10:24:16,077 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 10:24:16,078 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:16,078 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 10:24:16,079 - root - INFO - Clearing user context +2025-12-15 10:24:16,079 - root - INFO - User context cleared before authentication +2025-12-15 10:24:16,080 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:16,082 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:16,083 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:16,084 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:16,084 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:16,086 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 10:24:16,087 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:16,087 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 10:24:16,088 - root - INFO - Clearing user context +2025-12-15 10:24:16,088 - root - INFO - User context cleared before authentication +2025-12-15 10:24:16,089 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:16,091 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:16,092 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:16,092 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:16,093 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:16,098 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:16,104 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:16,106 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:16,109 - root - INFO - Clearing user context +2025-12-15 10:24:16,112 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:16,112 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:16,113 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:16,148 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 10:24:16,148 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:16,149 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 10:24:16,149 - root - INFO - Clearing user context +2025-12-15 10:24:16,150 - root - INFO - User context cleared before authentication +2025-12-15 10:24:16,150 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:16,152 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:16,152 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:16,153 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:16,153 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:16,155 - root - INFO - Clearing user context +2025-12-15 10:24:16,161 - root - INFO - Clearing user context +2025-12-15 10:24:18,270 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 10:24:18,271 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:18,272 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 10:24:18,272 - root - INFO - Clearing user context +2025-12-15 10:24:18,273 - root - INFO - User context cleared before authentication +2025-12-15 10:24:18,273 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:18,275 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:18,275 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,276 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:18,276 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:18,278 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:18,278 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:18,279 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:18,281 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:18,281 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,281 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:18,284 - root - INFO - Clearing user context +2025-12-15 10:24:18,291 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 10:24:18,291 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:18,291 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 10:24:18,292 - root - INFO - Clearing user context +2025-12-15 10:24:18,292 - root - INFO - User context cleared before authentication +2025-12-15 10:24:18,293 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:18,295 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:18,295 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,296 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:18,296 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:18,299 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:18,299 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:18,299 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:18,300 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:18,301 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,301 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:18,305 - root - INFO - Clearing user context +2025-12-15 10:24:18,411 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 10:24:18,411 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:18,412 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 10:24:18,412 - root - INFO - Clearing user context +2025-12-15 10:24:18,413 - root - INFO - User context cleared before authentication +2025-12-15 10:24:18,413 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:18,414 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:18,415 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,416 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:18,416 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:18,419 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:18,419 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:18,420 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:18,421 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:18,421 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,422 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:18,436 - root - INFO - Clearing user context +2025-12-15 10:24:18,528 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 10:24:18,528 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:18,529 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 10:24:18,529 - root - INFO - Clearing user context +2025-12-15 10:24:18,530 - root - INFO - User context cleared before authentication +2025-12-15 10:24:18,530 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:18,532 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:18,532 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,533 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:18,533 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:18,538 - root - INFO - Clearing user context +2025-12-15 10:24:18,546 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 10:24:18,547 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:18,547 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 10:24:18,548 - root - INFO - Clearing user context +2025-12-15 10:24:18,548 - root - INFO - User context cleared before authentication +2025-12-15 10:24:18,548 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:18,550 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:18,551 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:18,551 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:18,551 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:18,556 - root - INFO - Clearing user context +2025-12-15 10:24:26,773 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:24:26,774 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:26,774 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:24:26,774 - root - INFO - Clearing user context +2025-12-15 10:24:26,775 - root - INFO - User context cleared before authentication +2025-12-15 10:24:26,776 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:26,778 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:26,778 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:26,778 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:26,779 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:26,781 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:26,782 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:26,782 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:26,784 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:26,785 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:26,785 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:26,793 - root - INFO - Clearing user context +2025-12-15 10:24:28,895 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:24:28,896 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:28,896 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:24:28,897 - root - INFO - Clearing user context +2025-12-15 10:24:28,897 - root - INFO - User context cleared before authentication +2025-12-15 10:24:28,897 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:28,899 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:28,899 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:28,900 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:28,900 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:28,902 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:28,902 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:28,903 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:28,904 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:28,904 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:28,905 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:28,909 - root - INFO - Clearing user context +2025-12-15 10:24:31,745 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:24:31,746 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:31,746 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:24:31,746 - root - INFO - Clearing user context +2025-12-15 10:24:31,746 - root - INFO - User context cleared before authentication +2025-12-15 10:24:31,747 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:31,748 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:31,748 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:31,748 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:31,748 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:31,750 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:31,751 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:31,751 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:31,752 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:31,752 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:31,753 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:31,835 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:24:31,841 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:24:31,911 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:24:31,916 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:24:31,918 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc +2025-12-15 10:24:31,920 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc: No module named 'docx2txt' +2025-12-15 10:24:31,920 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: No module named 'docx2txt' +2025-12-15 10:24:31,924 - root - INFO - Clearing user context +2025-12-15 10:24:34,243 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:24:34,244 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:24:34,244 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:24:34,244 - root - INFO - Clearing user context +2025-12-15 10:24:34,245 - root - INFO - User context cleared before authentication +2025-12-15 10:24:34,245 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:24:34,246 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:24:34,247 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:34,247 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:24:34,247 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:24:34,249 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:24:34,249 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:24:34,249 - root - INFO - Looking for user with username: admin +2025-12-15 10:24:34,251 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:24:34,251 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:24:34,251 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:24:34,254 - root - INFO - Clearing user context +2025-12-15 10:26:03,636 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:26:14,554 - root - INFO - Logging configured successfully +2025-12-15 10:26:14,697 - root - INFO - Logging configured successfully +2025-12-15 10:26:14,835 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:26:14,846 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:26:14,851 - root - INFO - Database tables created +2025-12-15 10:26:14,851 - root - INFO - Database initialized +2025-12-15 10:26:40,328 - root - INFO - Logging configured successfully +2025-12-15 10:26:40,468 - root - INFO - Logging configured successfully +2025-12-15 10:26:40,592 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:26:40,602 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:26:40,606 - root - INFO - Database tables created +2025-12-15 10:26:40,607 - root - INFO - Database initialized +2025-12-15 10:26:51,861 - root - INFO - Logging configured successfully +2025-12-15 10:26:52,000 - root - INFO - Logging configured successfully +2025-12-15 10:26:52,121 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:26:52,131 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:26:52,136 - root - INFO - Database tables created +2025-12-15 10:26:52,137 - root - INFO - Database initialized +2025-12-15 10:28:04,707 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:28:15,178 - root - INFO - Logging configured successfully +2025-12-15 10:28:15,354 - root - INFO - Logging configured successfully +2025-12-15 10:28:15,518 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:28:15,530 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:28:15,535 - root - INFO - Database tables created +2025-12-15 10:28:15,536 - root - INFO - Database initialized +2025-12-15 10:28:32,876 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:28:45,451 - root - INFO - Logging configured successfully +2025-12-15 10:28:45,600 - root - INFO - Logging configured successfully +2025-12-15 10:28:45,722 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:28:45,732 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:28:45,736 - root - INFO - Database tables created +2025-12-15 10:28:45,736 - root - INFO - Database initialized +2025-12-15 10:28:56,713 - root - INFO - Logging configured successfully +2025-12-15 10:28:56,880 - root - INFO - Logging configured successfully +2025-12-15 10:28:57,026 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:28:57,036 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:28:57,040 - root - INFO - Database tables created +2025-12-15 10:28:57,041 - root - INFO - Database initialized +2025-12-15 10:31:13,227 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:31:24,155 - root - INFO - Logging configured successfully +2025-12-15 10:31:24,296 - root - INFO - Logging configured successfully +2025-12-15 10:31:24,411 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:31:24,420 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:31:24,423 - root - INFO - Database tables created +2025-12-15 10:31:24,423 - root - INFO - Database initialized +2025-12-15 10:31:35,278 - root - INFO - Logging configured successfully +2025-12-15 10:31:35,423 - root - INFO - Logging configured successfully +2025-12-15 10:31:35,549 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:31:35,559 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:31:35,564 - root - INFO - Database tables created +2025-12-15 10:31:35,564 - root - INFO - Database initialized +2025-12-15 10:31:43,870 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:31:53,906 - root - INFO - Logging configured successfully +2025-12-15 10:31:54,051 - root - INFO - Logging configured successfully +2025-12-15 10:31:54,173 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:31:54,183 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:31:54,187 - root - INFO - Database tables created +2025-12-15 10:31:54,187 - root - INFO - Database initialized +2025-12-15 10:32:04,415 - root - INFO - Logging configured successfully +2025-12-15 10:32:04,553 - root - INFO - Logging configured successfully +2025-12-15 10:32:04,673 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:32:04,683 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:32:04,687 - root - INFO - Database tables created +2025-12-15 10:32:04,687 - root - INFO - Database initialized +2025-12-15 10:32:25,410 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:33:25,425 - root - INFO - Logging configured successfully +2025-12-15 10:33:25,579 - root - INFO - Logging configured successfully +2025-12-15 10:33:25,711 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:33:25,720 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:33:25,725 - root - INFO - Database tables created +2025-12-15 10:33:25,725 - root - INFO - Database initialized +2025-12-15 10:33:31,726 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:33:31,726 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:33:31,727 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:33:31,728 - root - INFO - Clearing user context +2025-12-15 10:33:31,728 - root - INFO - User context cleared before authentication +2025-12-15 10:33:31,729 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:33:31,794 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:33:31,795 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:31,796 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:33:31,797 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:33:31,801 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:33:31,802 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:33:31,803 - root - INFO - Looking for user with username: admin +2025-12-15 10:33:31,804 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:33:31,804 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:31,804 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:33:31,815 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc +2025-12-15 10:33:31,820 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:33:32,004 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:33:32,011 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:33:32,109 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:33:32,122 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:33:32,143 - th_agenter.services.document - INFO - Deleted document: 4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc (ID: 5) +2025-12-15 10:33:32,146 - root - INFO - Clearing user context +2025-12-15 10:33:32,162 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:33:32,163 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:33:32,164 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:33:32,164 - root - INFO - Clearing user context +2025-12-15 10:33:32,165 - root - INFO - User context cleared before authentication +2025-12-15 10:33:32,166 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:33:32,169 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:33:32,169 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:32,169 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:33:32,170 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:33:32,174 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:33:32,174 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:33:32,176 - root - INFO - Looking for user with username: admin +2025-12-15 10:33:32,177 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:33:32,179 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:32,179 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:33:32,195 - root - INFO - Clearing user context +2025-12-15 10:33:52,190 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:33:52,190 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:33:52,191 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:33:52,191 - root - INFO - Clearing user context +2025-12-15 10:33:52,191 - root - INFO - User context cleared before authentication +2025-12-15 10:33:52,191 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:33:52,193 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:33:52,194 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:52,195 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:33:52,195 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:33:52,198 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:33:52,199 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:33:52,199 - root - INFO - Looking for user with username: admin +2025-12-15 10:33:52,204 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:33:52,204 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:52,205 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:33:52,384 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:33:52,388 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc +2025-12-15 10:33:52,388 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc: local variable 'DOCX2TXT_AVAILABLE' referenced before assignment +2025-12-15 10:33:52,389 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: local variable 'DOCX2TXT_AVAILABLE' referenced before assignment +2025-12-15 10:33:52,392 - root - INFO - Clearing user context +2025-12-15 10:33:54,408 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:33:54,411 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:33:54,412 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:33:54,412 - root - INFO - Clearing user context +2025-12-15 10:33:54,413 - root - INFO - User context cleared before authentication +2025-12-15 10:33:54,414 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:33:54,415 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:33:54,415 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:54,418 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:33:54,419 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:33:54,423 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:33:54,425 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:33:54,426 - root - INFO - Looking for user with username: admin +2025-12-15 10:33:54,430 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:33:54,431 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:33:54,431 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:33:54,437 - root - INFO - Clearing user context +2025-12-15 10:34:48,522 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:34:59,086 - root - INFO - Logging configured successfully +2025-12-15 10:34:59,240 - root - INFO - Logging configured successfully +2025-12-15 10:34:59,363 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:34:59,373 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:34:59,378 - root - INFO - Database tables created +2025-12-15 10:34:59,378 - root - INFO - Database initialized +2025-12-15 10:35:09,324 - root - INFO - Logging configured successfully +2025-12-15 10:35:09,470 - root - INFO - Logging configured successfully +2025-12-15 10:35:09,596 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:35:09,605 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:35:09,610 - root - INFO - Database tables created +2025-12-15 10:35:09,610 - root - INFO - Database initialized +2025-12-15 10:35:30,634 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:35:39,696 - root - INFO - Logging configured successfully +2025-12-15 10:35:39,826 - root - INFO - Logging configured successfully +2025-12-15 10:35:39,928 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:35:39,937 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:35:39,941 - root - INFO - Database tables created +2025-12-15 10:35:39,941 - root - INFO - Database initialized +2025-12-15 10:35:49,925 - root - INFO - Logging configured successfully +2025-12-15 10:35:50,119 - root - INFO - Logging configured successfully +2025-12-15 10:35:50,280 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:35:50,293 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:35:50,298 - root - INFO - Database tables created +2025-12-15 10:35:50,298 - root - INFO - Database initialized +2025-12-15 10:36:00,551 - root - INFO - Logging configured successfully +2025-12-15 10:36:00,701 - root - INFO - Logging configured successfully +2025-12-15 10:36:00,828 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:36:00,837 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:36:00,843 - root - INFO - Database tables created +2025-12-15 10:36:00,843 - root - INFO - Database initialized +2025-12-15 10:36:11,478 - root - INFO - Logging configured successfully +2025-12-15 10:36:11,635 - root - INFO - Logging configured successfully +2025-12-15 10:36:11,772 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:36:11,782 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:36:11,787 - root - INFO - Database tables created +2025-12-15 10:36:11,788 - root - INFO - Database initialized +2025-12-15 10:37:57,024 - root - INFO - Logging configured successfully +2025-12-15 10:37:57,148 - root - INFO - Logging configured successfully +2025-12-15 10:37:57,257 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:37:57,265 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:37:57,269 - root - INFO - Database tables created +2025-12-15 10:37:57,269 - root - INFO - Database initialized +2025-12-15 10:38:12,037 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:38:12,038 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:38:12,039 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:38:12,039 - root - INFO - Clearing user context +2025-12-15 10:38:12,039 - root - INFO - User context cleared before authentication +2025-12-15 10:38:12,039 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:38:12,114 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:38:12,116 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:12,116 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:38:12,116 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:38:12,121 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:38:12,122 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:38:12,122 - root - INFO - Looking for user with username: admin +2025-12-15 10:38:12,123 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:38:12,124 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:12,124 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:38:12,130 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc +2025-12-15 10:38:12,137 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:38:12,248 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:38:12,254 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:38:12,347 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:38:12,348 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:38:12,358 - th_agenter.services.document - INFO - Deleted document: f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc (ID: 5) +2025-12-15 10:38:12,377 - root - INFO - Clearing user context +2025-12-15 10:38:12,384 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:38:12,384 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:38:12,385 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:38:12,385 - root - INFO - Clearing user context +2025-12-15 10:38:12,385 - root - INFO - User context cleared before authentication +2025-12-15 10:38:12,385 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:38:12,387 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:38:12,387 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:12,387 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:38:12,387 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:38:12,389 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:38:12,389 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:38:12,389 - root - INFO - Looking for user with username: admin +2025-12-15 10:38:12,390 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:38:12,390 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:12,390 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:38:12,399 - root - INFO - Clearing user context +2025-12-15 10:38:17,677 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:38:17,677 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:38:17,677 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:38:17,677 - root - INFO - Clearing user context +2025-12-15 10:38:17,678 - root - INFO - User context cleared before authentication +2025-12-15 10:38:17,678 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:38:17,679 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:38:17,679 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:17,679 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:38:17,680 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:38:17,681 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:38:17,682 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:38:17,682 - root - INFO - Looking for user with username: admin +2025-12-15 10:38:17,690 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:38:17,691 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:17,692 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:38:17,857 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 5) +2025-12-15 10:38:17,859 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc +2025-12-15 10:38:17,860 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用替代方法加载: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc +2025-12-15 10:38:17,861 - th_agenter.services.document_processor - ERROR - 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc +2025-12-15 10:38:17,867 - th_agenter.services.document_processor - ERROR - 使用python-docx加载Word文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:38:17,868 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:38:17,869 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:38:17,877 - root - INFO - Clearing user context +2025-12-15 10:38:19,904 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:38:19,905 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:38:19,905 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:38:19,906 - root - INFO - Clearing user context +2025-12-15 10:38:19,907 - root - INFO - User context cleared before authentication +2025-12-15 10:38:19,908 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:38:19,909 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:38:19,910 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:19,917 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:38:19,932 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:38:19,943 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:38:19,948 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:38:19,949 - root - INFO - Looking for user with username: admin +2025-12-15 10:38:19,960 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:38:19,961 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:38:19,961 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:38:19,967 - root - INFO - Clearing user context +2025-12-15 10:39:10,027 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:39:10,029 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:39:10,030 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:39:10,030 - root - INFO - Clearing user context +2025-12-15 10:39:10,030 - root - INFO - User context cleared before authentication +2025-12-15 10:39:10,031 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:39:10,032 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:39:10,033 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:10,033 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:39:10,034 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:39:10,036 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:39:10,036 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:39:10,037 - root - INFO - Looking for user with username: admin +2025-12-15 10:39:10,038 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:39:10,039 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:10,039 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:39:10,042 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc +2025-12-15 10:39:10,120 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:39:10,128 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:39:10,140 - th_agenter.services.document - INFO - Deleted document: 4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc (ID: 5) +2025-12-15 10:39:10,142 - root - INFO - Clearing user context +2025-12-15 10:39:10,287 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:39:10,288 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:39:10,288 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:39:10,288 - root - INFO - Clearing user context +2025-12-15 10:39:10,289 - root - INFO - User context cleared before authentication +2025-12-15 10:39:10,289 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:39:10,293 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:39:10,293 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:10,294 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:39:10,295 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:39:10,299 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:39:10,299 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:39:10,300 - root - INFO - Looking for user with username: admin +2025-12-15 10:39:10,304 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:39:10,305 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:10,306 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:39:10,313 - root - INFO - Clearing user context +2025-12-15 10:39:13,362 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:39:13,362 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:39:13,363 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:39:13,363 - root - INFO - Clearing user context +2025-12-15 10:39:13,364 - root - INFO - User context cleared before authentication +2025-12-15 10:39:13,364 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:39:13,366 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:39:13,367 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:13,367 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:39:13,368 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:39:13,372 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:39:13,373 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:39:13,373 - root - INFO - Looking for user with username: admin +2025-12-15 10:39:13,376 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:39:13,377 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:13,378 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:39:13,399 - th_agenter.services.document - INFO - Uploaded document: testdoc2.docx to KB 7 (Doc ID: 5) +2025-12-15 10:39:13,403 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx +2025-12-15 10:39:13,405 - th_agenter.services.document_processor - ERROR - 使用python-docx加载Word文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx: Package not found at 'E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx' +2025-12-15 10:39:13,406 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx: Package not found at 'E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx' +2025-12-15 10:39:13,407 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 5: Package not found at 'E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx' +2025-12-15 10:39:13,412 - root - INFO - Clearing user context +2025-12-15 10:39:15,732 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:39:15,733 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:39:15,733 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:39:15,734 - root - INFO - Clearing user context +2025-12-15 10:39:15,734 - root - INFO - User context cleared before authentication +2025-12-15 10:39:15,735 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:39:15,736 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:39:15,737 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:15,737 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:39:15,737 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:39:15,748 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:39:15,749 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:39:15,749 - root - INFO - Looking for user with username: admin +2025-12-15 10:39:15,752 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:39:15,754 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:39:15,754 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:39:15,763 - root - INFO - Clearing user context +2025-12-15 10:40:02,547 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:40:02,551 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:40:02,551 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:40:02,552 - root - INFO - Clearing user context +2025-12-15 10:40:02,553 - root - INFO - User context cleared before authentication +2025-12-15 10:40:02,553 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:40:02,560 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:40:02,563 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:40:02,564 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:40:02,566 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:40:02,572 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:40:02,572 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:40:02,573 - root - INFO - Looking for user with username: admin +2025-12-15 10:40:02,576 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:40:02,578 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:40:02,578 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:40:02,603 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 6) +2025-12-15 10:40:02,609 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 6, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc +2025-12-15 10:40:02,611 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用替代方法加载: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc +2025-12-15 10:40:02,612 - th_agenter.services.document_processor - ERROR - 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc +2025-12-15 10:40:02,612 - th_agenter.services.document_processor - ERROR - 使用python-docx加载Word文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:40:02,613 - th_agenter.services.document_processor - ERROR - 加载文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:40:02,613 - th_agenter.services.document_processor - ERROR - 文档处理失败 ID: 6: 没有可用的.doc文档加载器,请安装docx2txt库或转换为.docx格式 +2025-12-15 10:40:02,621 - root - INFO - Clearing user context +2025-12-15 10:40:04,941 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:40:04,943 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:40:04,943 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:40:04,944 - root - INFO - Clearing user context +2025-12-15 10:40:04,944 - root - INFO - User context cleared before authentication +2025-12-15 10:40:04,944 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:40:04,946 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:40:04,946 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:40:04,947 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:40:04,947 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:40:04,952 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:40:04,953 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:40:04,953 - root - INFO - Looking for user with username: admin +2025-12-15 10:40:04,956 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:40:04,957 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:40:04,957 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:40:04,968 - root - INFO - Clearing user context +2025-12-15 10:43:22,308 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:43:34,075 - root - INFO - Logging configured successfully +2025-12-15 10:43:34,207 - root - INFO - Logging configured successfully +2025-12-15 10:43:34,323 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:43:34,335 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:43:34,339 - root - INFO - Database tables created +2025-12-15 10:43:34,340 - root - INFO - Database initialized +2025-12-15 10:44:22,820 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:44:32,809 - root - INFO - Logging configured successfully +2025-12-15 10:44:32,934 - root - INFO - Logging configured successfully +2025-12-15 10:44:33,042 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:44:33,050 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:44:33,054 - root - INFO - Database tables created +2025-12-15 10:44:33,055 - root - INFO - Database initialized +2025-12-15 10:44:42,566 - root - INFO - Logging configured successfully +2025-12-15 10:44:42,709 - root - INFO - Logging configured successfully +2025-12-15 10:44:42,830 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:44:42,840 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:44:42,844 - root - INFO - Database tables created +2025-12-15 10:44:42,845 - root - INFO - Database initialized +2025-12-15 10:46:00,448 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:46:12,119 - root - INFO - Logging configured successfully +2025-12-15 10:46:12,238 - root - INFO - Logging configured successfully +2025-12-15 10:46:12,350 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:46:12,359 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:46:12,362 - root - INFO - Database tables created +2025-12-15 10:46:12,363 - root - INFO - Database initialized +2025-12-15 10:46:22,466 - root - INFO - Logging configured successfully +2025-12-15 10:46:22,597 - root - INFO - Logging configured successfully +2025-12-15 10:46:22,709 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:46:22,718 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:46:22,722 - root - INFO - Database tables created +2025-12-15 10:46:22,722 - root - INFO - Database initialized +2025-12-15 10:47:21,200 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 10:55:23,610 - root - INFO - Logging configured successfully +2025-12-15 10:55:23,744 - root - INFO - Logging configured successfully +2025-12-15 10:55:23,859 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:55:23,868 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:55:23,872 - root - INFO - Database tables created +2025-12-15 10:55:23,873 - root - INFO - Database initialized +2025-12-15 10:56:24,523 - root - INFO - Logging configured successfully +2025-12-15 10:56:24,660 - root - INFO - Logging configured successfully +2025-12-15 10:56:24,777 - root - INFO - Starting up TH-Agenter application... +2025-12-15 10:56:24,785 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 10:56:24,789 - root - INFO - Database tables created +2025-12-15 10:56:24,790 - root - INFO - Database initialized +2025-12-15 10:57:50,216 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:57:50,216 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:57:50,217 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:57:50,217 - root - INFO - Clearing user context +2025-12-15 10:57:50,217 - root - INFO - User context cleared before authentication +2025-12-15 10:57:50,217 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:57:50,245 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:57:50,245 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:57:50,245 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:57:50,245 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:57:50,250 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:57:50,250 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:57:50,250 - root - INFO - Looking for user with username: admin +2025-12-15 10:57:50,251 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:57:50,252 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:57:50,252 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:57:50,366 - th_agenter.services.document - INFO - Uploaded document: testdoc2.docx to KB 7 (Doc ID: 7) +2025-12-15 10:57:50,375 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 10:57:50,488 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 10:57:50,494 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 10:57:50,497 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 7, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx +2025-12-15 10:57:50,499 - th_agenter.services.document_processor - ERROR - 使用python-docx加载Word文档失败 E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx: Package not found at 'E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx' +2025-12-15 10:57:50,499 - th_agenter.services.document_processor - ERROR - 加载Word文档失败: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx, 错误: Package not found at 'E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx' +2025-12-15 10:57:50,500 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx, 页数: 1 +2025-12-15 10:57:50,504 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-15 10:57:50,504 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 10:57:50,505 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 10:57:50,506 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx +2025-12-15 10:57:50,514 - root - INFO - Clearing user context +2025-12-15 10:57:52,532 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:57:52,532 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:57:52,533 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:57:52,533 - root - INFO - Clearing user context +2025-12-15 10:57:52,533 - root - INFO - User context cleared before authentication +2025-12-15 10:57:52,534 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:57:52,536 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:57:52,537 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:57:52,538 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:57:52,538 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:57:52,540 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:57:52,540 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:57:52,540 - root - INFO - Looking for user with username: admin +2025-12-15 10:57:52,542 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:57:52,542 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:57:52,542 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:57:52,552 - root - INFO - Clearing user context +2025-12-15 10:58:08,840 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 10:58:08,840 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:08,841 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 10:58:08,841 - root - INFO - Clearing user context +2025-12-15 10:58:08,841 - root - INFO - User context cleared before authentication +2025-12-15 10:58:08,841 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:08,842 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:08,842 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:08,842 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:08,842 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:08,844 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:08,844 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:08,844 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:08,845 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:08,845 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:08,846 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:08,850 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx +2025-12-15 10:58:08,930 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 10:58:08,931 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 10:58:08,937 - th_agenter.services.document - INFO - Deleted document: d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx (ID: 5) +2025-12-15 10:58:08,938 - root - INFO - Clearing user context +2025-12-15 10:58:09,107 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:58:09,107 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:09,107 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:58:09,108 - root - INFO - Clearing user context +2025-12-15 10:58:09,108 - root - INFO - User context cleared before authentication +2025-12-15 10:58:09,108 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:09,110 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:09,110 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:09,110 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:09,110 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:09,111 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:09,112 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:09,112 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:09,113 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:09,113 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:09,113 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:09,117 - root - INFO - Clearing user context +2025-12-15 10:58:10,834 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/6 +2025-12-15 10:58:10,835 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/6 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:10,835 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/6 +2025-12-15 10:58:10,836 - root - INFO - Clearing user context +2025-12-15 10:58:10,836 - root - INFO - User context cleared before authentication +2025-12-15 10:58:10,837 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:10,838 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:10,839 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:10,839 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:10,839 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:10,840 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:10,841 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:10,841 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:10,842 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:10,842 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:10,843 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:10,844 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc +2025-12-15 10:58:10,908 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=6 +2025-12-15 10:58:10,909 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=6 +2025-12-15 10:58:10,921 - th_agenter.services.document - INFO - Deleted document: 0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc (ID: 6) +2025-12-15 10:58:10,923 - root - INFO - Clearing user context +2025-12-15 10:58:11,242 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:58:11,242 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:11,242 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:58:11,243 - root - INFO - Clearing user context +2025-12-15 10:58:11,243 - root - INFO - User context cleared before authentication +2025-12-15 10:58:11,243 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:11,244 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:11,245 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:11,245 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:11,245 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:11,247 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:11,247 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:11,247 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:11,249 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:11,249 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:11,249 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:11,252 - root - INFO - Clearing user context +2025-12-15 10:58:12,848 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/7 +2025-12-15 10:58:12,849 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/7 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:12,849 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/7 +2025-12-15 10:58:12,849 - root - INFO - Clearing user context +2025-12-15 10:58:12,850 - root - INFO - User context cleared before authentication +2025-12-15 10:58:12,850 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:12,851 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:12,851 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:12,852 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:12,852 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:12,854 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:12,854 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:12,855 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:12,856 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:12,857 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:12,857 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:12,860 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx +2025-12-15 10:58:12,924 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=7 +2025-12-15 10:58:12,924 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=7 +2025-12-15 10:58:12,934 - th_agenter.services.document - INFO - Deleted document: 71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx (ID: 7) +2025-12-15 10:58:12,936 - root - INFO - Clearing user context +2025-12-15 10:58:13,258 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:58:13,258 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:13,258 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:58:13,259 - root - INFO - Clearing user context +2025-12-15 10:58:13,259 - root - INFO - User context cleared before authentication +2025-12-15 10:58:13,259 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:13,260 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:13,260 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:13,261 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:13,261 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:13,262 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:13,262 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:13,263 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:13,264 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:13,264 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:13,265 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:13,267 - root - INFO - Clearing user context +2025-12-15 10:58:17,305 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 10:58:17,305 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:17,306 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:58:17,306 - root - INFO - Clearing user context +2025-12-15 10:58:17,306 - root - INFO - User context cleared before authentication +2025-12-15 10:58:17,307 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:17,307 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:17,308 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:17,308 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:17,308 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:17,310 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:17,311 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:17,311 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:17,312 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:17,312 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:17,312 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:17,323 - th_agenter.services.document - INFO - Uploaded document: testdoc.doc to KB 7 (Doc ID: 5) +2025-12-15 10:58:17,326 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 5, 路径: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc +2025-12-15 10:58:17,326 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc +2025-12-15 10:58:17,327 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc +2025-12-15 10:58:17,327 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-15 10:58:17,329 - th_agenter.services.document_processor - INFO - 成功加载文档: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc, 页数: 1 +2025-12-15 10:58:17,330 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (D:\Users\jiang\anaconda3\envs\langchain\lib\site-packages\langchain\chat_models\__init__.py) +2025-12-15 10:58:17,330 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 10:58:17,331 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 10:58:17,331 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc +2025-12-15 10:58:17,334 - root - INFO - Clearing user context +2025-12-15 10:58:19,672 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 10:58:19,672 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 10:58:19,672 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 10:58:19,672 - root - INFO - Clearing user context +2025-12-15 10:58:19,673 - root - INFO - User context cleared before authentication +2025-12-15 10:58:19,673 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 10:58:19,674 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 10:58:19,674 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:19,674 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 10:58:19,675 - root - INFO - Verified current user ID in context: 2 +2025-12-15 10:58:19,676 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 10:58:19,677 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 10:58:19,677 - root - INFO - Looking for user with username: admin +2025-12-15 10:58:19,678 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 10:58:19,678 - root - INFO - Verification - ContextVar user: admin +2025-12-15 10:58:19,678 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 10:58:19,681 - root - INFO - Clearing user context +2025-12-15 10:59:52,426 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 11:00:02,609 - root - INFO - Logging configured successfully +2025-12-15 11:00:02,757 - root - INFO - Logging configured successfully +2025-12-15 11:00:02,888 - root - INFO - Starting up TH-Agenter application... +2025-12-15 11:00:02,898 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 11:00:02,905 - root - INFO - Database tables created +2025-12-15 11:00:02,905 - root - INFO - Database initialized +2025-12-15 11:00:04,108 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 11:00:14,479 - root - INFO - Logging configured successfully +2025-12-15 11:00:14,621 - root - INFO - Logging configured successfully +2025-12-15 11:00:14,739 - root - INFO - Starting up TH-Agenter application... +2025-12-15 11:00:14,749 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 11:00:14,753 - root - INFO - Database tables created +2025-12-15 11:00:14,753 - root - INFO - Database initialized +2025-12-15 11:19:22,575 - root - INFO - Logging configured successfully +2025-12-15 11:19:22,680 - root - INFO - Logging configured successfully +2025-12-15 11:19:22,762 - root - INFO - Starting up TH-Agenter application... +2025-12-15 11:19:22,769 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 11:19:22,771 - root - INFO - Database tables created +2025-12-15 11:19:22,771 - root - INFO - Database initialized +2025-12-15 11:31:28,945 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 11:31:28,945 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:31:28,945 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 11:31:28,946 - root - INFO - Clearing user context +2025-12-15 11:31:28,946 - root - INFO - User context cleared before authentication +2025-12-15 11:31:28,946 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:31:28,963 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:31:28,963 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:28,963 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:31:28,963 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:31:28,965 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:31:28,965 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:31:28,966 - root - INFO - Looking for user with username: admin +2025-12-15 11:31:28,966 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:31:28,966 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:28,966 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:31:29,009 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 6) +2025-12-15 11:31:29,025 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 11:31:29,068 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 11:31:29,069 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 11:31:29,070 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 6, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc +2025-12-15 11:31:29,071 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc +2025-12-15 11:31:29,071 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc +2025-12-15 11:31:29,071 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-15 11:31:29,072 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc, 页数: 1 +2025-12-15 11:31:29,072 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-15 11:31:29,072 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 11:31:29,073 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 11:31:29,073 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc +2025-12-15 11:31:29,075 - root - INFO - Clearing user context +2025-12-15 11:31:31,134 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 11:31:31,134 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:31:31,134 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 11:31:31,135 - root - INFO - Clearing user context +2025-12-15 11:31:31,135 - root - INFO - User context cleared before authentication +2025-12-15 11:31:31,135 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:31:31,135 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:31:31,135 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:31,136 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:31:31,136 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:31:31,137 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:31:31,137 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:31:31,137 - root - INFO - Looking for user with username: admin +2025-12-15 11:31:31,137 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:31:31,137 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:31,137 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:31:31,143 - root - INFO - Clearing user context +2025-12-15 11:31:51,406 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-15 11:31:51,406 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:31:51,407 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-15 11:31:51,407 - root - INFO - Clearing user context +2025-12-15 11:31:51,407 - root - INFO - User context cleared before authentication +2025-12-15 11:31:51,407 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:31:51,410 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:31:51,410 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:51,410 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:31:51,410 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:31:51,411 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:31:51,411 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:31:51,411 - root - INFO - Looking for user with username: admin +2025-12-15 11:31:51,412 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:31:51,412 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:31:51,412 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:31:51,823 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 11:31:51,906 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 0 个相关文档 +2025-12-15 11:31:51,907 - root - INFO - Clearing user context +2025-12-15 11:44:19,812 - root - INFO - Shutting down TH-Agenter application... +2025-12-15 11:44:45,742 - root - INFO - Logging configured successfully +2025-12-15 11:44:45,829 - root - INFO - Logging configured successfully +2025-12-15 11:44:45,909 - root - INFO - Starting up TH-Agenter application... +2025-12-15 11:44:45,915 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-15 11:44:45,917 - root - INFO - Database tables created +2025-12-15 11:44:45,917 - root - INFO - Database initialized +2025-12-15 11:45:01,646 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 11:45:01,647 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:45:01,647 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 11:45:01,647 - root - INFO - Clearing user context +2025-12-15 11:45:01,648 - root - INFO - User context cleared before authentication +2025-12-15 11:45:01,648 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:45:01,693 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:45:01,693 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:45:01,693 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:45:01,693 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:45:01,695 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:45:01,695 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:45:01,695 - root - INFO - Looking for user with username: admin +2025-12-15 11:45:01,695 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:45:01,696 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:45:01,696 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:45:01,699 - root - INFO - Clearing user context +2025-12-15 11:45:01,709 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 11:45:01,709 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:45:01,709 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 11:45:01,709 - root - INFO - Clearing user context +2025-12-15 11:45:01,709 - root - INFO - User context cleared before authentication +2025-12-15 11:45:01,709 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:45:01,710 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:45:01,710 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:45:01,710 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:45:01,710 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:45:01,711 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:45:01,711 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:45:01,711 - root - INFO - Looking for user with username: admin +2025-12-15 11:45:01,712 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:45:01,712 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:45:01,712 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:45:01,714 - root - INFO - Clearing user context +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:46:29,311 - root - INFO - Clearing user context +2025-12-15 11:46:29,311 - root - INFO - User context cleared before authentication +2025-12-15 11:46:29,311 - root - INFO - Authorization header received: None +2025-12-15 11:46:29,311 - root - INFO - Authorization header is missing +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:29,311 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:46:29,312 - root - INFO - Clearing user context +2025-12-15 11:46:29,312 - root - INFO - User context cleared before authentication +2025-12-15 11:46:29,312 - root - INFO - Authorization header received: None +2025-12-15 11:46:29,312 - root - INFO - Authorization header is missing +2025-12-15 11:46:29,316 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:46:29,316 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:29,316 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:46:29,316 - root - INFO - Clearing user context +2025-12-15 11:46:29,316 - root - INFO - User context cleared before authentication +2025-12-15 11:46:29,317 - root - INFO - Authorization header received: None +2025-12-15 11:46:29,317 - root - INFO - Authorization header is missing +2025-12-15 11:46:29,317 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:46:29,317 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:29,317 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:46:29,318 - root - INFO - Clearing user context +2025-12-15 11:46:29,318 - root - INFO - User context cleared before authentication +2025-12-15 11:46:29,318 - root - INFO - Authorization header received: None +2025-12-15 11:46:29,318 - root - INFO - Authorization header is missing +2025-12-15 11:46:29,321 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:46:29,321 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:29,321 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:46:29,321 - root - INFO - Clearing user context +2025-12-15 11:46:29,321 - root - INFO - User context cleared before authentication +2025-12-15 11:46:29,321 - root - INFO - Authorization header received: None +2025-12-15 11:46:29,321 - root - INFO - Authorization header is missing +2025-12-15 11:46:53,885 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 11:46:53,885 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:53,885 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 11:46:53,886 - root - INFO - Clearing user context +2025-12-15 11:46:53,886 - root - INFO - User context cleared before authentication +2025-12-15 11:46:53,886 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:53,889 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:53,889 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:53,890 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:53,890 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:53,892 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:53,893 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:53,893 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:53,898 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:53,898 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:53,898 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:53,899 - root - INFO - Clearing user context +2025-12-15 11:46:53,909 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:53,909 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:53,909 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:53,909 - root - INFO - Clearing user context +2025-12-15 11:46:53,909 - root - INFO - User context cleared before authentication +2025-12-15 11:46:53,909 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:53,910 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:53,910 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:53,910 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:53,910 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:53,911 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:53,911 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:53,911 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:53,911 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:53,911 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:53,911 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:53,912 - root - INFO - Clearing user context +2025-12-15 11:46:55,468 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 11:46:55,468 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:55,468 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 11:46:55,468 - root - INFO - Clearing user context +2025-12-15 11:46:55,468 - root - INFO - User context cleared before authentication +2025-12-15 11:46:55,468 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:55,469 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:55,469 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:55,469 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:55,469 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:55,469 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:55,470 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:55,470 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:55,470 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:55,470 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:55,470 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:55,471 - root - INFO - Clearing user context +2025-12-15 11:46:55,495 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:55,495 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:55,496 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:55,496 - root - INFO - Clearing user context +2025-12-15 11:46:55,496 - root - INFO - User context cleared before authentication +2025-12-15 11:46:55,496 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:55,496 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:55,496 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:55,496 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:55,496 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:55,497 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:55,497 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:55,497 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:55,498 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:55,498 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:55,498 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:55,499 - root - INFO - Clearing user context +2025-12-15 11:46:56,195 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:46:56,195 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:56,196 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:46:56,196 - root - INFO - Clearing user context +2025-12-15 11:46:56,196 - root - INFO - User context cleared before authentication +2025-12-15 11:46:56,196 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:56,196 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:56,196 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:56,196 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:56,197 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:56,197 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:56,198 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:56,198 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:56,198 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:56,198 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:56,198 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:56,208 - root - INFO - Clearing user context +2025-12-15 11:46:56,208 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:46:56,208 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:56,209 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:46:56,209 - root - INFO - Clearing user context +2025-12-15 11:46:56,209 - root - INFO - User context cleared before authentication +2025-12-15 11:46:56,209 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:56,210 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:56,210 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:56,210 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:56,210 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:56,213 - root - INFO - Clearing user context +2025-12-15 11:46:56,241 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 11:46:56,241 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:56,241 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 11:46:56,241 - root - INFO - Clearing user context +2025-12-15 11:46:56,241 - root - INFO - User context cleared before authentication +2025-12-15 11:46:56,241 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:56,242 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:56,242 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:56,242 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:56,242 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:56,244 - root - INFO - Clearing user context +2025-12-15 11:46:59,206 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 11:46:59,207 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:59,207 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 11:46:59,207 - root - INFO - Clearing user context +2025-12-15 11:46:59,208 - root - INFO - User context cleared before authentication +2025-12-15 11:46:59,208 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:59,211 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:59,211 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:59,211 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:59,211 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:59,211 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:59,212 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:59,212 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:59,212 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:59,212 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:59,212 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:59,213 - root - INFO - Clearing user context +2025-12-15 11:46:59,224 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:59,224 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:46:59,224 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 11:46:59,224 - root - INFO - Clearing user context +2025-12-15 11:46:59,224 - root - INFO - User context cleared before authentication +2025-12-15 11:46:59,224 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4MTA1OX0.HM7awqA8v5hga11zQfZ2tH_wzY3nQb6tCf3JlPqTu_k +2025-12-15 11:46:59,224 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:46:59,224 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:59,225 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:46:59,225 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:46:59,225 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:46:59,225 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765781059} +2025-12-15 11:46:59,225 - root - INFO - Looking for user with username: admin +2025-12-15 11:46:59,226 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:46:59,226 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:46:59,226 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:46:59,227 - root - INFO - Clearing user context +2025-12-15 11:47:01,252 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-15 11:47:01,253 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,253 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-15 11:47:01,253 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-15 11:47:01,449 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 11:47:01,449 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,450 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 11:47:01,450 - root - INFO - Clearing user context +2025-12-15 11:47:01,450 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,450 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,450 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,450 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,451 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,451 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,451 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:47:01,451 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 11:47:01,451 - root - INFO - Looking for user with username: admin +2025-12-15 11:47:01,452 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:47:01,452 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,452 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:47:01,453 - root - INFO - Clearing user context +2025-12-15 11:47:01,457 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 11:47:01,457 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,457 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 11:47:01,457 - root - INFO - Clearing user context +2025-12-15 11:47:01,457 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,457 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,458 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,458 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,458 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,458 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,459 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:47:01,459 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 11:47:01,459 - root - INFO - Looking for user with username: admin +2025-12-15 11:47:01,459 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:47:01,459 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,459 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:47:01,460 - root - INFO - Clearing user context +2025-12-15 11:47:01,837 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:47:01,837 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,838 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:47:01,838 - root - INFO - Clearing user context +2025-12-15 11:47:01,838 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,839 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,841 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,842 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,842 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,842 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,844 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:47:01,844 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,844 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:47:01,845 - root - INFO - Clearing user context +2025-12-15 11:47:01,845 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,845 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,848 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,848 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,849 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,849 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,851 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:47:01,852 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 11:47:01,857 - root - INFO - Looking for user with username: admin +2025-12-15 11:47:01,860 - root - INFO - Clearing user context +2025-12-15 11:47:01,861 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:47:01,863 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,864 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:47:01,886 - root - INFO - Clearing user context +2025-12-15 11:47:01,887 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:47:01,887 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,887 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:47:01,887 - root - INFO - Clearing user context +2025-12-15 11:47:01,887 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,887 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,889 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,889 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,889 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,889 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,890 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 11:47:01,890 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,890 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 11:47:01,890 - root - INFO - Clearing user context +2025-12-15 11:47:01,890 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,890 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,891 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,891 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,891 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,892 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,895 - root - INFO - Clearing user context +2025-12-15 11:47:01,895 - root - INFO - Clearing user context +2025-12-15 11:47:01,896 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:47:01,896 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,897 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:47:01,897 - root - INFO - Clearing user context +2025-12-15 11:47:01,897 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,897 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,898 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,898 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,898 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,898 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,899 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:47:01,899 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 11:47:01,899 - root - INFO - Looking for user with username: admin +2025-12-15 11:47:01,900 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:47:01,900 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,900 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:47:01,900 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 11:47:01,900 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:01,900 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 11:47:01,900 - root - INFO - Clearing user context +2025-12-15 11:47:01,901 - root - INFO - User context cleared before authentication +2025-12-15 11:47:01,901 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:01,901 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:01,901 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:01,901 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:01,902 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:01,909 - root - INFO - Clearing user context +2025-12-15 11:47:01,910 - root - INFO - Clearing user context +2025-12-15 11:47:02,245 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 11:47:02,246 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:02,246 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 11:47:02,246 - root - INFO - Clearing user context +2025-12-15 11:47:02,246 - root - INFO - User context cleared before authentication +2025-12-15 11:47:02,246 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:02,247 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:02,247 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:02,247 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:02,247 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:02,248 - root - INFO - Clearing user context +2025-12-15 11:47:02,574 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 11:47:02,574 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:02,575 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 11:47:02,575 - root - INFO - Clearing user context +2025-12-15 11:47:02,575 - root - INFO - User context cleared before authentication +2025-12-15 11:47:02,576 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:02,578 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:02,579 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:02,579 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:02,579 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:02,580 - root - INFO - Clearing user context +2025-12-15 11:47:04,441 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 11:47:04,441 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 11:47:04,442 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 11:47:04,442 - root - INFO - Clearing user context +2025-12-15 11:47:04,442 - root - INFO - User context cleared before authentication +2025-12-15 11:47:04,442 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 11:47:04,444 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 11:47:04,444 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:04,444 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 11:47:04,444 - root - INFO - Verified current user ID in context: 2 +2025-12-15 11:47:04,445 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 11:47:04,445 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 11:47:04,445 - root - INFO - Looking for user with username: admin +2025-12-15 11:47:04,446 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 11:47:04,446 - root - INFO - Verification - ContextVar user: admin +2025-12-15 11:47:04,446 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 11:47:04,452 - root - INFO - Clearing user context +2025-12-15 12:58:50,246 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 12:58:50,246 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:58:50,246 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 12:58:50,246 - root - INFO - Clearing user context +2025-12-15 12:58:50,246 - root - INFO - User context cleared before authentication +2025-12-15 12:58:50,246 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:58:50,247 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:58:50,247 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:50,247 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:58:50,247 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:58:50,248 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:58:50,249 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:58:50,249 - root - INFO - Looking for user with username: admin +2025-12-15 12:58:50,249 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:58:50,249 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:50,250 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:58:50,253 - root - INFO - Clearing user context +2025-12-15 12:58:55,811 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 12:58:55,811 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:58:55,812 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 12:58:55,812 - root - INFO - Clearing user context +2025-12-15 12:58:55,812 - root - INFO - User context cleared before authentication +2025-12-15 12:58:55,813 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:58:55,815 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:58:55,815 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:55,816 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:58:55,816 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:58:55,817 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:58:55,817 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:58:55,817 - root - INFO - Looking for user with username: admin +2025-12-15 12:58:55,818 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:58:55,818 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:55,818 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:58:55,838 - th_agenter.services.document - INFO - Uploaded document: testdoc2.docx to KB 7 (Doc ID: 7) +2025-12-15 12:58:55,842 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-15 12:58:55,945 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-15 12:58:55,947 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-15 12:58:55,948 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 7, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx +2025-12-15 12:58:55,948 - th_agenter.services.document_processor - ERROR - 使用python-docx加载Word文档失败 /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx: Package not found at '/home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx' +2025-12-15 12:58:55,948 - th_agenter.services.document_processor - ERROR - 加载Word文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx, 错误: Package not found at '/home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx' +2025-12-15 12:58:55,949 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx, 页数: 1 +2025-12-15 12:58:55,949 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-15 12:58:55,949 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 12:58:55,950 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 12:58:55,950 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx +2025-12-15 12:58:55,951 - root - INFO - Clearing user context +2025-12-15 12:58:58,301 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 12:58:58,301 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:58:58,302 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 12:58:58,302 - root - INFO - Clearing user context +2025-12-15 12:58:58,302 - root - INFO - User context cleared before authentication +2025-12-15 12:58:58,302 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:58:58,305 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:58:58,305 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:58,305 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:58:58,306 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:58:58,306 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:58:58,306 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:58:58,306 - root - INFO - Looking for user with username: admin +2025-12-15 12:58:58,307 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:58:58,307 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:58:58,307 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:58:58,308 - root - INFO - Clearing user context +2025-12-15 12:59:40,917 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-15 12:59:40,917 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:40,918 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-15 12:59:40,918 - root - INFO - Clearing user context +2025-12-15 12:59:40,918 - root - INFO - User context cleared before authentication +2025-12-15 12:59:40,919 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:40,921 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:40,922 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:40,922 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:40,923 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:40,925 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:59:40,926 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:59:40,926 - root - INFO - Looking for user with username: admin +2025-12-15 12:59:40,928 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:59:40,928 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:40,929 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:59:40,931 - root - INFO - Clearing user context +2025-12-15 12:59:41,088 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-15 12:59:41,089 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:41,089 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-15 12:59:41,090 - root - INFO - Clearing user context +2025-12-15 12:59:41,090 - root - INFO - User context cleared before authentication +2025-12-15 12:59:41,090 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:41,093 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:41,093 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,094 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:41,094 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:41,097 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:59:41,097 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:59:41,098 - root - INFO - Looking for user with username: admin +2025-12-15 12:59:41,100 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:59:41,100 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,101 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:59:41,105 - root - INFO - Clearing user context +2025-12-15 12:59:41,237 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-15 12:59:41,237 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:41,238 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-15 12:59:41,238 - root - INFO - Clearing user context +2025-12-15 12:59:41,238 - root - INFO - User context cleared before authentication +2025-12-15 12:59:41,238 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:41,239 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:41,239 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,239 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:41,239 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:41,240 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-15 12:59:41,240 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:41,240 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-15 12:59:41,240 - root - INFO - Clearing user context +2025-12-15 12:59:41,240 - root - INFO - User context cleared before authentication +2025-12-15 12:59:41,240 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:41,241 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:41,241 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,241 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:41,241 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:41,242 - root - INFO - Clearing user context +2025-12-15 12:59:41,242 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:59:41,243 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:59:41,243 - root - INFO - Looking for user with username: admin +2025-12-15 12:59:41,243 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:59:41,243 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,243 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:59:41,248 - root - INFO - Clearing user context +2025-12-15 12:59:41,249 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-15 12:59:41,249 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:41,249 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-15 12:59:41,249 - root - INFO - Clearing user context +2025-12-15 12:59:41,249 - root - INFO - User context cleared before authentication +2025-12-15 12:59:41,249 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:41,250 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:41,250 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:41,250 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:41,250 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:41,251 - root - INFO - Clearing user context +2025-12-15 12:59:44,727 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 12:59:44,727 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 12:59:44,728 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 12:59:44,728 - root - INFO - Clearing user context +2025-12-15 12:59:44,728 - root - INFO - User context cleared before authentication +2025-12-15 12:59:44,729 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 12:59:44,731 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 12:59:44,731 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:44,732 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 12:59:44,732 - root - INFO - Verified current user ID in context: 2 +2025-12-15 12:59:44,732 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 12:59:44,732 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 12:59:44,732 - root - INFO - Looking for user with username: admin +2025-12-15 12:59:44,733 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 12:59:44,733 - root - INFO - Verification - ContextVar user: admin +2025-12-15 12:59:44,733 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 12:59:44,734 - root - INFO - Clearing user context +2025-12-15 13:00:02,540 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 13:00:02,541 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:02,541 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:02,541 - root - INFO - Clearing user context +2025-12-15 13:00:02,542 - root - INFO - User context cleared before authentication +2025-12-15 13:00:02,542 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:02,545 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:02,545 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:02,545 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:02,545 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:02,670 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:02,671 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:02,671 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:02,674 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:02,674 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:02,674 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:02,705 - th_agenter.services.document - INFO - Uploaded document: 发明专利申请说明书CN202411808464.5.pdf to KB 7 (Doc ID: 8) +2025-12-15 13:00:02,710 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 8, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 13:00:02,746 - th_agenter.services.document_processor - WARNING - PDF文档没有提取到文本内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf,可能是扫描版PDF需要OCR支持 +2025-12-15 13:00:02,746 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf, 页数: 1 +2025-12-15 13:00:02,746 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-15 13:00:02,747 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 13:00:02,747 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 13:00:02,747 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 13:00:02,749 - root - INFO - Clearing user context +2025-12-15 13:00:04,773 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:04,774 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:04,774 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:04,774 - root - INFO - Clearing user context +2025-12-15 13:00:04,775 - root - INFO - User context cleared before authentication +2025-12-15 13:00:04,775 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:04,778 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:04,778 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:04,778 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:04,778 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:04,779 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:04,779 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:04,779 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:04,780 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:04,780 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:04,780 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:04,781 - root - INFO - Clearing user context +2025-12-15 13:00:33,036 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 13:00:33,036 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:33,037 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:33,037 - root - INFO - Clearing user context +2025-12-15 13:00:33,038 - root - INFO - User context cleared before authentication +2025-12-15 13:00:33,038 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:33,041 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:33,041 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:33,042 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:33,042 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:33,046 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:33,047 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:33,047 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:33,050 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:33,050 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:33,050 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:33,078 - th_agenter.services.document - INFO - Uploaded document: testpdf.pdf to KB 7 (Doc ID: 9) +2025-12-15 13:00:33,083 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 9, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf +2025-12-15 13:00:33,258 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf, 页数: 2 +2025-12-15 13:00:33,258 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-15 13:00:33,258 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 13:00:33,258 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 4 个文档块 +2025-12-15 13:00:33,613 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 13:00:33,776 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 13:00:33,956 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 13:00:34,129 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-15 13:00:34,294 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-15 13:00:34,317 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 9, 'status': 'success', 'chunks_count': 4, 'message': '文档处理完成'} +2025-12-15 13:00:34,512 - th_agenter.services.document - INFO - Processed document: 9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf (ID: 9) +2025-12-15 13:00:34,515 - root - INFO - Clearing user context +2025-12-15 13:00:36,528 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:36,528 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:36,529 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:36,529 - root - INFO - Clearing user context +2025-12-15 13:00:36,529 - root - INFO - User context cleared before authentication +2025-12-15 13:00:36,530 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:36,533 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:36,533 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:36,533 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:36,534 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:36,537 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:36,537 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:36,538 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:36,540 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:36,541 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:36,541 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:36,549 - root - INFO - Clearing user context +2025-12-15 13:00:48,515 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/5 +2025-12-15 13:00:48,515 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/5 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:48,515 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/5 +2025-12-15 13:00:48,515 - root - INFO - Clearing user context +2025-12-15 13:00:48,515 - root - INFO - User context cleared before authentication +2025-12-15 13:00:48,515 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:48,516 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:48,516 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:48,516 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:48,516 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:48,517 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:48,517 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:48,517 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:48,518 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:48,518 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:48,518 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:48,521 - th_agenter.services.document - INFO - Deleted file: E:\Work\HXF_AI\HXF\backend\data\uploads\kb_7\e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc +2025-12-15 13:00:48,569 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=5 +2025-12-15 13:00:48,569 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=5 +2025-12-15 13:00:48,586 - th_agenter.services.document - INFO - Deleted document: e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc (ID: 5) +2025-12-15 13:00:48,587 - root - INFO - Clearing user context +2025-12-15 13:00:48,770 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:48,770 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:48,771 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:48,771 - root - INFO - Clearing user context +2025-12-15 13:00:48,771 - root - INFO - User context cleared before authentication +2025-12-15 13:00:48,771 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:48,774 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:48,775 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:48,775 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:48,775 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:48,778 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:48,778 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:48,779 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:48,781 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:48,781 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:48,782 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:48,784 - root - INFO - Clearing user context +2025-12-15 13:00:50,403 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/6 +2025-12-15 13:00:50,403 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/6 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:50,403 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/6 +2025-12-15 13:00:50,404 - root - INFO - Clearing user context +2025-12-15 13:00:50,404 - root - INFO - User context cleared before authentication +2025-12-15 13:00:50,404 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:50,407 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:50,407 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:50,407 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:50,408 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:50,410 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:50,411 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:50,411 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:50,413 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:50,414 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:50,414 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:50,418 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc +2025-12-15 13:00:50,484 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=6 +2025-12-15 13:00:50,484 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=6 +2025-12-15 13:00:50,498 - th_agenter.services.document - INFO - Deleted document: 245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc (ID: 6) +2025-12-15 13:00:50,498 - root - INFO - Clearing user context +2025-12-15 13:00:50,839 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:50,840 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:50,840 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:50,840 - root - INFO - Clearing user context +2025-12-15 13:00:50,840 - root - INFO - User context cleared before authentication +2025-12-15 13:00:50,841 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:50,843 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:50,844 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:50,844 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:50,844 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:50,847 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:50,847 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:50,848 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:50,850 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:50,850 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:50,850 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:50,857 - root - INFO - Clearing user context +2025-12-15 13:00:52,536 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/7 +2025-12-15 13:00:52,536 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/7 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:52,536 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/7 +2025-12-15 13:00:52,536 - root - INFO - Clearing user context +2025-12-15 13:00:52,536 - root - INFO - User context cleared before authentication +2025-12-15 13:00:52,537 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:52,537 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:52,537 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:52,538 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:52,538 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:52,538 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:52,538 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:52,538 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:52,539 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:52,539 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:52,539 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:52,540 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx +2025-12-15 13:00:52,578 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=7 +2025-12-15 13:00:52,578 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=7 +2025-12-15 13:00:52,593 - th_agenter.services.document - INFO - Deleted document: 90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx (ID: 7) +2025-12-15 13:00:52,593 - root - INFO - Clearing user context +2025-12-15 13:00:52,936 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:52,937 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:52,937 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:52,937 - root - INFO - Clearing user context +2025-12-15 13:00:52,937 - root - INFO - User context cleared before authentication +2025-12-15 13:00:52,937 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:52,937 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:52,938 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:52,938 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:52,938 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:52,938 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:52,938 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:52,938 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:52,939 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:52,939 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:52,939 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:52,940 - root - INFO - Clearing user context +2025-12-15 13:00:55,332 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/8 +2025-12-15 13:00:55,333 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/8 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:55,333 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/8 +2025-12-15 13:00:55,333 - root - INFO - Clearing user context +2025-12-15 13:00:55,334 - root - INFO - User context cleared before authentication +2025-12-15 13:00:55,334 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:55,336 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:55,337 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:55,337 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:55,337 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:55,337 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:55,338 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:55,338 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:55,338 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:55,338 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:55,338 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:55,339 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf +2025-12-15 13:00:55,378 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=8 +2025-12-15 13:00:55,379 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=8 +2025-12-15 13:00:55,395 - th_agenter.services.document - INFO - Deleted document: b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf (ID: 8) +2025-12-15 13:00:55,395 - root - INFO - Clearing user context +2025-12-15 13:00:55,728 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:00:55,728 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:00:55,728 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:00:55,728 - root - INFO - Clearing user context +2025-12-15 13:00:55,728 - root - INFO - User context cleared before authentication +2025-12-15 13:00:55,728 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:00:55,729 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:00:55,729 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:55,729 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:00:55,729 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:00:55,729 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:00:55,730 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:00:55,730 - root - INFO - Looking for user with username: admin +2025-12-15 13:00:55,730 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:00:55,730 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:00:55,730 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:00:55,732 - root - INFO - Clearing user context +2025-12-15 13:01:03,301 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-15 13:01:03,301 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:01:03,302 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:01:03,302 - root - INFO - Clearing user context +2025-12-15 13:01:03,303 - root - INFO - User context cleared before authentication +2025-12-15 13:01:03,303 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:01:03,306 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:01:03,306 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:01:03,306 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:01:03,306 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:01:03,307 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:01:03,307 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:01:03,307 - root - INFO - Looking for user with username: admin +2025-12-15 13:01:03,307 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:01:03,307 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:01:03,307 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:01:03,325 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 10) +2025-12-15 13:01:03,330 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 10, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc +2025-12-15 13:01:03,331 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc +2025-12-15 13:01:03,332 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc +2025-12-15 13:01:03,332 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-15 13:01:03,336 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc, 页数: 1 +2025-12-15 13:01:03,337 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-15 13:01:03,337 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-15 13:01:03,338 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-15 13:01:03,338 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc +2025-12-15 13:01:03,343 - root - INFO - Clearing user context +2025-12-15 13:01:05,689 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-15 13:01:05,689 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-15 13:01:05,690 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-15 13:01:05,690 - root - INFO - Clearing user context +2025-12-15 13:01:05,690 - root - INFO - User context cleared before authentication +2025-12-15 13:01:05,691 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-15 13:01:05,692 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-15 13:01:05,692 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:01:05,692 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-15 13:01:05,692 - root - INFO - Verified current user ID in context: 2 +2025-12-15 13:01:05,693 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-15 13:01:05,693 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765788421} +2025-12-15 13:01:05,693 - root - INFO - Looking for user with username: admin +2025-12-15 13:01:05,693 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-15 13:01:05,694 - root - INFO - Verification - ContextVar user: admin +2025-12-15 13:01:05,694 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-15 13:01:05,695 - root - INFO - Clearing user context +2025-12-16 10:09:15,213 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:09:15,214 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:09:15,214 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:09:15,214 - root - INFO - Clearing user context +2025-12-16 10:09:15,215 - root - INFO - User context cleared before authentication +2025-12-16 10:09:15,215 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:09:15,216 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:09:15,217 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:09:15,217 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:09:15,217 - root - ERROR - Algorithm: HS256 +2025-12-16 10:09:15,352 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:09:15,353 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:09:15,353 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:09:15,353 - root - INFO - Clearing user context +2025-12-16 10:09:15,353 - root - INFO - User context cleared before authentication +2025-12-16 10:09:15,353 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:09:15,353 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:09:15,353 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:09:15,353 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:09:15,354 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:25,074 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:25,075 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:25,075 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:25,075 - root - INFO - Clearing user context +2025-12-16 10:42:25,076 - root - INFO - User context cleared before authentication +2025-12-16 10:42:25,076 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:25,077 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:25,077 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:25,077 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:25,077 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:25,291 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:25,292 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:25,292 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:25,293 - root - INFO - Clearing user context +2025-12-16 10:42:25,293 - root - INFO - User context cleared before authentication +2025-12-16 10:42:25,293 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:25,294 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:25,294 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:25,295 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:25,295 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:25,295 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:42:25,295 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:25,295 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:42:25,296 - root - INFO - Clearing user context +2025-12-16 10:42:25,296 - root - INFO - User context cleared before authentication +2025-12-16 10:42:25,296 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:25,296 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:25,296 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:25,296 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:25,296 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:25,316 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:25,316 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:25,316 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:25,316 - root - INFO - Clearing user context +2025-12-16 10:42:25,316 - root - INFO - User context cleared before authentication +2025-12-16 10:42:25,316 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:25,316 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:25,316 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:25,317 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:25,317 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:25,319 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:42:25,319 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:25,319 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:42:25,319 - root - INFO - Clearing user context +2025-12-16 10:42:25,319 - root - INFO - User context cleared before authentication +2025-12-16 10:42:25,320 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:25,320 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:25,320 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:25,320 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:25,320 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:41,190 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:41,190 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:41,191 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:41,191 - root - INFO - Clearing user context +2025-12-16 10:42:41,191 - root - INFO - User context cleared before authentication +2025-12-16 10:42:41,192 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:41,192 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:41,192 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:41,193 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:41,193 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:41,371 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:41,371 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:41,371 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:41,371 - root - INFO - Clearing user context +2025-12-16 10:42:41,371 - root - INFO - User context cleared before authentication +2025-12-16 10:42:41,371 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTc4ODQyMX0.gsR-avVU0NYQ1VZFzevDj1ATDWLUjt2QoRKDQhMScuE +2025-12-16 10:42:41,372 - root - ERROR - Token verification failed: Signature has expired +2025-12-16 10:42:41,372 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:41,372 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-16 10:42:41,372 - root - ERROR - Algorithm: HS256 +2025-12-16 10:42:48,224 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-16 10:42:48,224 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:48,225 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-16 10:42:48,225 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-16 10:42:48,460 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:42:48,460 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:48,460 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:42:48,460 - root - INFO - Clearing user context +2025-12-16 10:42:48,461 - root - INFO - User context cleared before authentication +2025-12-16 10:42:48,461 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:48,461 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:48,461 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:48,461 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:48,461 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:48,462 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:48,462 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:42:48,462 - root - INFO - Looking for user with username: admin +2025-12-16 10:42:48,462 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:42:48,462 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:48,462 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:42:48,463 - root - INFO - Clearing user context +2025-12-16 10:42:48,790 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-16 10:42:48,790 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:48,790 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-16 10:42:48,790 - root - INFO - Clearing user context +2025-12-16 10:42:48,790 - root - INFO - User context cleared before authentication +2025-12-16 10:42:48,790 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:48,791 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:48,791 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:48,791 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:48,791 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:48,791 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:48,792 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:42:48,792 - root - INFO - Looking for user with username: admin +2025-12-16 10:42:48,792 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:42:48,792 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:48,792 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:42:48,793 - root - INFO - Clearing user context +2025-12-16 10:42:49,236 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:42:49,236 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,236 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:42:49,236 - root - INFO - Clearing user context +2025-12-16 10:42:49,236 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,236 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,238 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,238 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,238 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,238 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,239 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:42:49,239 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,239 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:42:49,239 - root - INFO - Clearing user context +2025-12-16 10:42:49,239 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,239 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,240 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,240 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,240 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,241 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,244 - root - INFO - Clearing user context +2025-12-16 10:42:49,245 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:49,245 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:42:49,245 - root - INFO - Looking for user with username: admin +2025-12-16 10:42:49,246 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:42:49,247 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,247 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:42:49,261 - root - INFO - Clearing user context +2025-12-16 10:42:49,262 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:42:49,262 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,262 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:42:49,262 - root - INFO - Clearing user context +2025-12-16 10:42:49,263 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,263 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,264 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,264 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,264 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,265 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,268 - root - INFO - Clearing user context +2025-12-16 10:42:49,383 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:42:49,383 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,383 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:42:49,384 - root - INFO - Clearing user context +2025-12-16 10:42:49,384 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,384 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,385 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,385 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,385 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,386 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,386 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:42:49,386 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,386 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:42:49,386 - root - INFO - Clearing user context +2025-12-16 10:42:49,386 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,386 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,387 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,387 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,387 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,387 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,387 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:42:49,387 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,387 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:42:49,387 - root - INFO - Clearing user context +2025-12-16 10:42:49,387 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,387 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,388 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,388 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,388 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,388 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,391 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:42:49,391 - root - INFO - Clearing user context +2025-12-16 10:42:49,391 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:42:49,392 - root - INFO - Clearing user context +2025-12-16 10:42:49,392 - root - INFO - Looking for user with username: admin +2025-12-16 10:42:49,393 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:42:49,393 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,393 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:42:49,398 - root - INFO - Clearing user context +2025-12-16 10:42:49,591 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:42:49,591 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,591 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:42:49,591 - root - INFO - Clearing user context +2025-12-16 10:42:49,591 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,591 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,592 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,592 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,592 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,592 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,593 - root - INFO - Clearing user context +2025-12-16 10:42:49,596 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:42:49,596 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:49,596 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:42:49,596 - root - INFO - Clearing user context +2025-12-16 10:42:49,596 - root - INFO - User context cleared before authentication +2025-12-16 10:42:49,596 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:49,597 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:49,597 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:49,597 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:49,597 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:49,598 - root - INFO - Clearing user context +2025-12-16 10:42:50,952 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/3 +2025-12-16 10:42:50,952 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:50,952 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3 +2025-12-16 10:42:50,952 - root - INFO - Clearing user context +2025-12-16 10:42:50,952 - root - INFO - User context cleared before authentication +2025-12-16 10:42:50,952 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:50,953 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:50,953 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:50,953 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:50,953 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:50,955 - root - INFO - Clearing user context +2025-12-16 10:42:50,963 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/3/messages +2025-12-16 10:42:50,963 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:50,964 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/messages +2025-12-16 10:42:50,964 - root - INFO - Clearing user context +2025-12-16 10:42:50,964 - root - INFO - User context cleared before authentication +2025-12-16 10:42:50,964 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:50,965 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:50,965 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:50,965 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:50,965 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:50,970 - root - INFO - Clearing user context +2025-12-16 10:42:59,783 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/3/chat/stream +2025-12-16 10:42:59,783 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:42:59,784 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/chat/stream +2025-12-16 10:42:59,784 - root - INFO - Clearing user context +2025-12-16 10:42:59,784 - root - INFO - User context cleared before authentication +2025-12-16 10:42:59,784 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:42:59,785 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:42:59,785 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:42:59,785 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:42:59,785 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:42:59,790 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-16 10:42:59,871 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:42:59,872 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:42:59,872 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:42:59,872 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:42:59,873 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-16 10:42:59,893 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-16 10:42:59,894 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:42:59,894 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:42:59,894 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:42:59,894 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:42:59,894 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-16 10:42:59,895 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-16 10:42:59,895 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-16 10:42:59,895 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-16 10:42:59,895 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-16 10:42:59,895 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-16 10:42:59,895 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-16 10:42:59,895 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-16 10:42:59,895 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-16 10:42:59,895 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-16 10:42:59,895 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-16 10:42:59,895 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-16 10:42:59,897 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-16 10:42:59,897 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-16 10:42:59,898 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-16 10:42:59,898 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-16 10:42:59,898 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:42:59,898 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:42:59,898 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:42:59,898 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-16 10:42:59,899 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 3 via LangChain +2025-12-16 10:42:59,899 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 3 +2025-12-16 10:42:59,927 - root - INFO - Clearing user context +2025-12-16 10:43:00,682 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-16 10:43:02,530 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 3 +2025-12-16 10:43:09,698 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/3/chat/stream +2025-12-16 10:43:09,698 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/3/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:43:09,698 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/3/chat/stream +2025-12-16 10:43:09,698 - root - INFO - Clearing user context +2025-12-16 10:43:09,698 - root - INFO - User context cleared before authentication +2025-12-16 10:43:09,699 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:43:09,699 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:43:09,700 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:43:09,700 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:43:09,700 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:43:09,701 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-16 10:43:09,704 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:43:09,704 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:43:09,704 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:43:09,704 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:43:09,706 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-16 10:43:09,736 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-16 10:43:09,737 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:43:09,737 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:43:09,737 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:43:09,737 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:43:09,737 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-16 10:43:09,738 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-16 10:43:09,738 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-16 10:43:09,738 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:43:09,738 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:43:09,738 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:43:09,738 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-16 10:43:09,739 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 3 via LangChain +2025-12-16 10:43:09,739 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 3 +2025-12-16 10:43:09,752 - root - INFO - Clearing user context +2025-12-16 10:43:10,995 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-16 10:43:17,919 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 3 +2025-12-16 10:43:19,686 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:43:19,686 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:43:19,686 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:43:19,686 - root - INFO - Clearing user context +2025-12-16 10:43:19,687 - root - INFO - User context cleared before authentication +2025-12-16 10:43:19,687 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:43:19,688 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:43:19,688 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:43:19,688 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:43:19,688 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:43:19,689 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:43:19,690 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:43:19,690 - root - INFO - Looking for user with username: admin +2025-12-16 10:43:19,691 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:43:19,691 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:43:19,691 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:43:19,705 - root - INFO - Clearing user context +2025-12-16 10:43:21,088 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-16 10:43:21,088 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:43:21,089 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:43:21,089 - root - INFO - Clearing user context +2025-12-16 10:43:21,089 - root - INFO - User context cleared before authentication +2025-12-16 10:43:21,089 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:43:21,092 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:43:21,092 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:43:21,092 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:43:21,092 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:43:21,093 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:43:21,093 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:43:21,093 - root - INFO - Looking for user with username: admin +2025-12-16 10:43:21,094 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:43:21,094 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:43:21,094 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:43:21,095 - root - INFO - Clearing user context +2025-12-16 10:44:33,404 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-16 10:44:33,405 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:33,405 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:44:33,405 - root - INFO - Clearing user context +2025-12-16 10:44:33,406 - root - INFO - User context cleared before authentication +2025-12-16 10:44:33,406 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:33,408 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:33,409 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:33,409 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:33,409 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:33,410 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:33,410 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:33,410 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:33,410 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:33,411 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:33,411 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:33,428 - th_agenter.services.document - INFO - Uploaded document: testpdf.pdf to KB 7 (Doc ID: 11) +2025-12-16 10:44:33,429 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 11, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf +2025-12-16 10:44:33,578 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf, 页数: 2 +2025-12-16 10:44:33,578 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-16 10:44:33,579 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-16 10:44:33,579 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 4 个文档块 +2025-12-16 10:44:33,858 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:34,027 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:34,176 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:34,316 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:34,413 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-16 10:44:34,427 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 11, 'status': 'success', 'chunks_count': 4, 'message': '文档处理完成'} +2025-12-16 10:44:34,445 - th_agenter.services.document - INFO - Processed document: f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf (ID: 11) +2025-12-16 10:44:34,448 - root - INFO - Clearing user context +2025-12-16 10:44:36,462 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-16 10:44:36,462 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:36,463 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:44:36,463 - root - INFO - Clearing user context +2025-12-16 10:44:36,463 - root - INFO - User context cleared before authentication +2025-12-16 10:44:36,463 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:36,463 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:36,464 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:36,464 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:36,464 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:36,464 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:36,465 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:36,465 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:36,465 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:36,465 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:36,465 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:36,467 - root - INFO - Clearing user context +2025-12-16 10:44:40,983 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/9 +2025-12-16 10:44:40,983 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/9 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:40,983 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/9 +2025-12-16 10:44:40,983 - root - INFO - Clearing user context +2025-12-16 10:44:40,983 - root - INFO - User context cleared before authentication +2025-12-16 10:44:40,983 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:40,984 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:40,984 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:40,984 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:40,984 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:40,984 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:40,985 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:40,985 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:40,985 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:40,985 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:40,985 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:40,986 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf +2025-12-16 10:44:41,044 - th_agenter.services.document_processor - INFO - 成功删除 4 个文档块: document_id=9 +2025-12-16 10:44:41,044 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=9 +2025-12-16 10:44:41,061 - th_agenter.services.document - INFO - Deleted document: 9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf (ID: 9) +2025-12-16 10:44:41,061 - root - INFO - Clearing user context +2025-12-16 10:44:41,247 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-16 10:44:41,247 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:41,247 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:44:41,247 - root - INFO - Clearing user context +2025-12-16 10:44:41,247 - root - INFO - User context cleared before authentication +2025-12-16 10:44:41,247 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:41,248 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:41,249 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:41,249 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:41,249 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:41,250 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:41,250 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:41,250 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:41,251 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:41,251 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:41,251 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:41,253 - root - INFO - Clearing user context +2025-12-16 10:44:45,901 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-16 10:44:45,902 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:45,902 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:44:45,902 - root - INFO - Clearing user context +2025-12-16 10:44:45,903 - root - INFO - User context cleared before authentication +2025-12-16 10:44:45,903 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:45,906 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:45,906 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:45,906 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:45,906 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:45,907 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:45,907 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:45,907 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:45,908 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:45,908 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:45,908 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:45,935 - th_agenter.services.document - INFO - Uploaded document: 周报.txt to KB 7 (Doc ID: 12) +2025-12-16 10:44:45,939 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 12, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt +2025-12-16 10:44:45,940 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt, 页数: 1 +2025-12-16 10:44:45,941 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-16 10:44:45,941 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-16 10:44:45,943 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 7 个文档块 +2025-12-16 10:44:46,147 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:46,283 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:46,456 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:46,578 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:46,684 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:46,899 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:47,062 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:44:47,151 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-16 10:44:47,168 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 12, 'status': 'success', 'chunks_count': 7, 'message': '文档处理完成'} +2025-12-16 10:44:47,178 - th_agenter.services.document - INFO - Processed document: da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt (ID: 12) +2025-12-16 10:44:47,179 - root - INFO - Clearing user context +2025-12-16 10:44:49,523 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-16 10:44:49,523 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:49,523 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-16 10:44:49,523 - root - INFO - Clearing user context +2025-12-16 10:44:49,523 - root - INFO - User context cleared before authentication +2025-12-16 10:44:49,523 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:49,524 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:49,524 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:49,524 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:49,524 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:49,524 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:49,524 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:49,525 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:49,525 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:49,525 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:49,525 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:44:49,527 - root - INFO - Clearing user context +2025-12-16 10:44:59,853 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/search +2025-12-16 10:44:59,853 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/search against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:44:59,853 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/search +2025-12-16 10:44:59,853 - root - INFO - Clearing user context +2025-12-16 10:44:59,853 - root - INFO - User context cleared before authentication +2025-12-16 10:44:59,853 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:44:59,854 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:44:59,854 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:59,854 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:44:59,854 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:44:59,855 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:44:59,856 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:44:59,856 - root - INFO - Looking for user with username: admin +2025-12-16 10:44:59,856 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:44:59,856 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:44:59,856 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:45:00,141 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-16 10:45:00,226 - th_agenter.services.document_processor - INFO - PostgreSQL pgvector搜索完成,找到 5 个相关文档 +2025-12-16 10:45:00,226 - root - INFO - Clearing user context +2025-12-16 10:45:25,496 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:45:25,496 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,497 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:45:25,497 - root - INFO - Clearing user context +2025-12-16 10:45:25,497 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,498 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,500 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,501 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,501 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,501 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,502 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:45:25,502 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,502 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:45:25,502 - root - INFO - Clearing user context +2025-12-16 10:45:25,502 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,502 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,503 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,503 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,503 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,503 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,505 - root - INFO - Clearing user context +2025-12-16 10:45:25,505 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:45:25,505 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:45:25,505 - root - INFO - Looking for user with username: admin +2025-12-16 10:45:25,506 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:45:25,506 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,506 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:45:25,511 - root - INFO - Clearing user context +2025-12-16 10:45:25,742 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:45:25,742 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,742 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:45:25,742 - root - INFO - Clearing user context +2025-12-16 10:45:25,742 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,742 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,743 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,743 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,743 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,743 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,744 - root - INFO - Clearing user context +2025-12-16 10:45:25,832 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:45:25,832 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,832 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:45:25,832 - root - INFO - Clearing user context +2025-12-16 10:45:25,832 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,833 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,833 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,833 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,833 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,833 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,834 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:45:25,834 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,834 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:45:25,834 - root - INFO - Clearing user context +2025-12-16 10:45:25,834 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,834 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,835 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,835 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,835 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,835 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,836 - root - INFO - Clearing user context +2025-12-16 10:45:25,836 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:45:25,836 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:45:25,836 - root - INFO - Looking for user with username: admin +2025-12-16 10:45:25,837 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:45:25,837 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,837 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:45:25,842 - root - INFO - Clearing user context +2025-12-16 10:45:25,842 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:45:25,842 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:25,842 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:45:25,842 - root - INFO - Clearing user context +2025-12-16 10:45:25,842 - root - INFO - User context cleared before authentication +2025-12-16 10:45:25,842 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:25,843 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:25,843 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:25,843 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:25,843 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:25,844 - root - INFO - Clearing user context +2025-12-16 10:45:26,696 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations +2025-12-16 10:45:26,696 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:26,696 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:45:26,696 - root - INFO - Clearing user context +2025-12-16 10:45:26,696 - root - INFO - User context cleared before authentication +2025-12-16 10:45:26,697 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:26,698 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:26,698 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:26,698 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:26,698 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:26,700 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:45:26,700 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:45:26,700 - root - INFO - Looking for user with username: admin +2025-12-16 10:45:26,701 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:45:26,701 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:26,701 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:45:26,702 - th_agenter.conversation_service - INFO - Creating new conversation for user 2 +2025-12-16 10:45:26,716 - th_agenter.conversation_service - INFO - Successfully created conversation 4 for user 2 +2025-12-16 10:45:26,716 - root - INFO - Clearing user context +2025-12-16 10:45:39,796 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/4/chat/stream +2025-12-16 10:45:39,796 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/4/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:45:39,796 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/4/chat/stream +2025-12-16 10:45:39,796 - root - INFO - Clearing user context +2025-12-16 10:45:39,796 - root - INFO - User context cleared before authentication +2025-12-16 10:45:39,796 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:45:39,797 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:45:39,797 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:45:39,797 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:45:39,797 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:45:39,797 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-16 10:45:39,800 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:45:39,800 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:45:39,800 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:45:39,800 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:45:39,801 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-16 10:45:39,821 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-16 10:45:39,822 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:45:39,822 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:45:39,822 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:45:39,822 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-16 10:45:39,822 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-16 10:45:39,823 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-16 10:45:39,823 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-16 10:45:39,823 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-16 10:45:39,824 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-16 10:45:39,824 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-16 10:45:39,824 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-16 10:45:39,824 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 4 via LangChain +2025-12-16 10:45:39,824 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 4 +2025-12-16 10:45:39,873 - root - INFO - Clearing user context +2025-12-16 10:45:40,672 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-16 10:45:42,804 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 4 +2025-12-16 10:51:39,676 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-16 10:51:39,677 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:39,677 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-16 10:51:39,677 - root - INFO - Clearing user context +2025-12-16 10:51:39,677 - root - INFO - User context cleared before authentication +2025-12-16 10:51:39,677 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:39,678 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:39,678 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:39,678 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:39,678 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:39,679 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:51:39,679 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:51:39,679 - root - INFO - Looking for user with username: admin +2025-12-16 10:51:39,680 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:51:39,680 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:39,680 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:51:39,681 - root - INFO - Clearing user context +2025-12-16 10:51:39,687 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-16 10:51:39,687 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:39,687 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-16 10:51:39,687 - root - INFO - Clearing user context +2025-12-16 10:51:39,687 - root - INFO - User context cleared before authentication +2025-12-16 10:51:39,687 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:39,688 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:39,688 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:39,689 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:39,689 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:39,689 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:51:39,690 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:51:39,690 - root - INFO - Looking for user with username: admin +2025-12-16 10:51:39,690 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:51:39,691 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:39,691 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:51:39,692 - root - INFO - Clearing user context +2025-12-16 10:51:40,170 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:51:40,170 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,171 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:51:40,171 - root - INFO - Clearing user context +2025-12-16 10:51:40,171 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,171 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,173 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,173 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,174 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,174 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,175 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:51:40,175 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,175 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:51:40,175 - root - INFO - Clearing user context +2025-12-16 10:51:40,175 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,175 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,176 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,176 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,176 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,176 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,177 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:51:40,177 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:51:40,178 - root - INFO - Looking for user with username: admin +2025-12-16 10:51:40,178 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:51:40,178 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,178 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:51:40,184 - root - INFO - Clearing user context +2025-12-16 10:51:40,184 - root - INFO - Clearing user context +2025-12-16 10:51:40,189 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:51:40,189 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,189 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:51:40,189 - root - INFO - Clearing user context +2025-12-16 10:51:40,189 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,189 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,190 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,190 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,190 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,190 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,190 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-16 10:51:40,190 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,190 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-16 10:51:40,190 - root - INFO - Clearing user context +2025-12-16 10:51:40,190 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,191 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,191 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,191 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,191 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,191 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,192 - root - INFO - Clearing user context +2025-12-16 10:51:40,193 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-16 10:51:40,193 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765870968} +2025-12-16 10:51:40,193 - root - INFO - Looking for user with username: admin +2025-12-16 10:51:40,193 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:51:40,193 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-16 10:51:40,194 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,194 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,194 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:51:40,194 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-16 10:51:40,194 - root - INFO - Clearing user context +2025-12-16 10:51:40,194 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,194 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,194 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,194 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,195 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,195 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,200 - root - INFO - Clearing user context +2025-12-16 10:51:40,200 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-16 10:51:40,200 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,200 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-16 10:51:40,200 - root - INFO - Clearing user context +2025-12-16 10:51:40,200 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,200 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,201 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,201 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,201 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,201 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,202 - root - INFO - Clearing user context +2025-12-16 10:51:40,203 - root - INFO - Clearing user context +2025-12-16 10:51:40,531 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:51:40,531 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,531 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:51:40,531 - root - INFO - Clearing user context +2025-12-16 10:51:40,532 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,532 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,534 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,534 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,534 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,534 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,538 - root - INFO - Clearing user context +2025-12-16 10:51:40,867 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-16 10:51:40,868 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-16 10:51:40,868 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-16 10:51:40,868 - root - INFO - Clearing user context +2025-12-16 10:51:40,868 - root - INFO - User context cleared before authentication +2025-12-16 10:51:40,869 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-16 10:51:40,871 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-16 10:51:40,872 - root - INFO - Verification - ContextVar user: admin +2025-12-16 10:51:40,872 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-16 10:51:40,872 - root - INFO - Verified current user ID in context: 2 +2025-12-16 10:51:40,876 - root - INFO - Clearing user context +2025-12-17 18:34:21,366 - root - INFO - Logging configured successfully +2025-12-17 18:34:21,469 - root - INFO - Logging configured successfully +2025-12-17 18:34:21,554 - root - INFO - Starting up TH-Agenter application... +2025-12-17 18:34:21,563 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 18:34:21,565 - root - INFO - Database tables created +2025-12-17 18:34:21,565 - root - INFO - Database initialized +2025-12-17 18:35:16,860 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:16,860 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:16,860 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:16,860 - root - INFO - Clearing user context +2025-12-17 18:35:16,860 - root - INFO - User context cleared before authentication +2025-12-17 18:35:16,860 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:16,860 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:16,860 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:16,860 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:16,860 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,001 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:18,002 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,002 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:18,002 - root - INFO - Clearing user context +2025-12-17 18:35:18,002 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,002 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,002 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,002 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,002 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,002 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,002 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:35:18,002 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,003 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:35:18,003 - root - INFO - Clearing user context +2025-12-17 18:35:18,003 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,003 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,003 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,003 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,003 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,003 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,003 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:18,003 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,003 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:18,003 - root - INFO - Clearing user context +2025-12-17 18:35:18,003 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,003 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,004 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,004 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,004 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,004 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,007 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:35:18,007 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,007 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:35:18,007 - root - INFO - Clearing user context +2025-12-17 18:35:18,007 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,007 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,008 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,008 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,008 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,008 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,008 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:18,008 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,008 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:18,008 - root - INFO - Clearing user context +2025-12-17 18:35:18,008 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,008 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,008 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,008 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,008 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,009 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,360 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:18,360 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,360 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:18,360 - root - INFO - Clearing user context +2025-12-17 18:35:18,360 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,360 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,360 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,360 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,360 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,360 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:18,361 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:18,361 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:18,361 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:18,361 - root - INFO - Clearing user context +2025-12-17 18:35:18,361 - root - INFO - User context cleared before authentication +2025-12-17 18:35:18,361 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:18,361 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:18,361 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:18,361 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:18,361 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:57,854 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:57,855 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:57,855 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:57,855 - root - INFO - Clearing user context +2025-12-17 18:35:57,856 - root - INFO - User context cleared before authentication +2025-12-17 18:35:57,856 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:57,857 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:57,857 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:57,857 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:57,858 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,403 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:58,404 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,404 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:58,404 - root - INFO - Clearing user context +2025-12-17 18:35:58,404 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,405 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,405 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,405 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,406 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,406 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,408 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:35:58,408 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,409 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:35:58,409 - root - INFO - Clearing user context +2025-12-17 18:35:58,409 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,410 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,410 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,410 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,411 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,411 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,412 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:58,412 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,412 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:58,413 - root - INFO - Clearing user context +2025-12-17 18:35:58,413 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,414 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,414 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,415 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,415 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,415 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,417 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:58,418 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,418 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:58,419 - root - INFO - Clearing user context +2025-12-17 18:35:58,419 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,420 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,420 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,421 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,421 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,421 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,427 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:35:58,427 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,427 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:35:58,428 - root - INFO - Clearing user context +2025-12-17 18:35:58,428 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,428 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,429 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,429 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,429 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,429 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,456 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:58,456 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,457 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:58,457 - root - INFO - Clearing user context +2025-12-17 18:35:58,457 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,457 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,457 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,457 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,458 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,458 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,790 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:35:58,790 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,790 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:35:58,790 - root - INFO - Clearing user context +2025-12-17 18:35:58,790 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,790 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,790 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,790 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,791 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,791 - root - ERROR - Algorithm: HS256 +2025-12-17 18:35:58,810 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:35:58,810 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:35:58,810 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:35:58,810 - root - INFO - Clearing user context +2025-12-17 18:35:58,810 - root - INFO - User context cleared before authentication +2025-12-17 18:35:58,810 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTg3MDk2OH0.lrjvhYA8x8GSWjG6awEx96Tw9R0LDcYQC-L1uED4vgY +2025-12-17 18:35:58,810 - root - ERROR - Token verification failed: Signature has expired +2025-12-17 18:35:58,811 - root - ERROR - Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:35:58,811 - root - ERROR - Secret key: your-strong-secret-k... +2025-12-17 18:35:58,811 - root - ERROR - Algorithm: HS256 +2025-12-17 18:36:05,181 - root - INFO - [MIDDLEWARE] Processing request: POST /api/auth/login +2025-12-17 18:36:05,182 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/login against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,182 - root - INFO - [MIDDLEWARE] Path /api/auth/login exactly matches exclude_path /api/auth/login +2025-12-17 18:36:05,182 - root - INFO - [MIDDLEWARE] Skipping authentication for excluded path: /api/auth/login +2025-12-17 18:36:05,398 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:36:05,398 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,398 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:36:05,398 - root - INFO - Clearing user context +2025-12-17 18:36:05,398 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,398 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,399 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,399 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,400 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,400 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,400 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:05,400 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:05,400 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:05,401 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:05,401 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,401 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:05,403 - root - INFO - Clearing user context +2025-12-17 18:36:05,415 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-17 18:36:05,415 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,415 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-17 18:36:05,415 - root - INFO - Clearing user context +2025-12-17 18:36:05,415 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,415 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,415 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,415 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,415 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,416 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,416 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:05,417 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:05,417 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:05,417 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:05,417 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,417 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:05,419 - root - INFO - Clearing user context +2025-12-17 18:36:05,459 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:36:05,459 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,460 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:36:05,460 - root - INFO - Clearing user context +2025-12-17 18:36:05,460 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,460 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,460 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,460 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,461 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,461 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,466 - root - INFO - Clearing user context +2025-12-17 18:36:05,799 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:36:05,799 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,800 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:36:05,800 - root - INFO - Clearing user context +2025-12-17 18:36:05,800 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,800 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,803 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,804 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,804 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,804 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,808 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:36:05,808 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,809 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:36:05,809 - root - INFO - Clearing user context +2025-12-17 18:36:05,809 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,809 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,812 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,812 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,813 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,813 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,821 - root - INFO - Clearing user context +2025-12-17 18:36:05,821 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:05,824 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:05,825 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:05,827 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:05,828 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,828 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:05,859 - root - INFO - Clearing user context +2025-12-17 18:36:05,859 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-17 18:36:05,859 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:05,859 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-17 18:36:05,860 - root - INFO - Clearing user context +2025-12-17 18:36:05,860 - root - INFO - User context cleared before authentication +2025-12-17 18:36:05,860 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:05,861 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:05,861 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:05,861 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:05,861 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:05,864 - root - INFO - Clearing user context +2025-12-17 18:36:06,166 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:36:06,166 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:06,166 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:36:06,166 - root - INFO - Clearing user context +2025-12-17 18:36:06,167 - root - INFO - User context cleared before authentication +2025-12-17 18:36:06,167 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:06,170 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:06,170 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:06,170 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:06,171 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:06,176 - root - INFO - Clearing user context +2025-12-17 18:36:06,198 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:36:06,198 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:06,198 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:36:06,198 - root - INFO - Clearing user context +2025-12-17 18:36:06,198 - root - INFO - User context cleared before authentication +2025-12-17 18:36:06,199 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:06,199 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:06,199 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:06,199 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:06,199 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:06,200 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:06,200 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:06,200 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:06,200 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:06,200 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:06,200 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:06,206 - root - INFO - Clearing user context +2025-12-17 18:36:06,206 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-17 18:36:06,206 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:06,206 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-17 18:36:06,206 - root - INFO - Clearing user context +2025-12-17 18:36:06,206 - root - INFO - User context cleared before authentication +2025-12-17 18:36:06,206 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:06,207 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:06,207 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:06,207 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:06,207 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:06,208 - root - INFO - Clearing user context +2025-12-17 18:36:06,541 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-17 18:36:06,541 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:06,541 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-17 18:36:06,541 - root - INFO - Clearing user context +2025-12-17 18:36:06,541 - root - INFO - User context cleared before authentication +2025-12-17 18:36:06,541 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:06,542 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:06,542 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:06,542 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:06,542 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:06,543 - root - INFO - Clearing user context +2025-12-17 18:36:10,607 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/4 +2025-12-17 18:36:10,607 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/4 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:10,607 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/4 +2025-12-17 18:36:10,607 - root - INFO - Clearing user context +2025-12-17 18:36:10,608 - root - INFO - User context cleared before authentication +2025-12-17 18:36:10,608 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:10,608 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:10,608 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:10,608 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:10,609 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:10,610 - root - INFO - Clearing user context +2025-12-17 18:36:10,944 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/4/messages +2025-12-17 18:36:10,945 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/4/messages against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:10,945 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/4/messages +2025-12-17 18:36:10,945 - root - INFO - Clearing user context +2025-12-17 18:36:10,945 - root - INFO - User context cleared before authentication +2025-12-17 18:36:10,945 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:10,945 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:10,945 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:10,946 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:10,946 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:10,948 - root - INFO - Clearing user context +2025-12-17 18:36:30,529 - root - INFO - [MIDDLEWARE] Processing request: POST /api/chat/conversations/4/chat/stream +2025-12-17 18:36:30,529 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/4/chat/stream against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:30,530 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/4/chat/stream +2025-12-17 18:36:30,530 - root - INFO - Clearing user context +2025-12-17 18:36:30,530 - root - INFO - User context cleared before authentication +2025-12-17 18:36:30,530 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:30,533 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:30,534 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:30,534 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:30,534 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:30,540 - th_agenter.langchain_chat_service - INFO - LLM Provider: doubao +2025-12-17 18:36:30,815 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-17 18:36:30,815 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-17 18:36:30,815 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-17 18:36:30,815 - th_agenter.langchain_chat_service - INFO - LangChain ChatService initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-17 18:36:30,818 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-17 18:36:30,839 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-17 18:36:30,840 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-17 18:36:30,840 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-17 18:36:30,840 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-17 18:36:30,840 - th_agenter.knowledge_chat_service - INFO - Knowledge Chat Service initialized with model: doubao-1-5-pro-32k-250115 and Redis memory +2025-12-17 18:36:30,841 - th_agenter.postgresql_tool_manager - INFO - 创建全局PostgreSQL工具实例 +2025-12-17 18:36:30,841 - th_agenter.mysql_tool_manager - INFO - 创建全局MySQL工具实例 +2025-12-17 18:36:30,841 - th_agenter.agent_tools - INFO - Registered tool: weather_query_tool (enabled: True) +2025-12-17 18:36:30,841 - th_agenter.agent_service - INFO - Registered tool: weather_query_tool +2025-12-17 18:36:30,841 - th_agenter.agent_tools - INFO - Registered tool: tavily_search_tool (enabled: True) +2025-12-17 18:36:30,841 - th_agenter.agent_service - INFO - Registered tool: tavily_search_tool +2025-12-17 18:36:30,841 - th_agenter.agent_tools - INFO - Registered tool: datetime_tool (enabled: True) +2025-12-17 18:36:30,841 - th_agenter.agent_service - INFO - Registered tool: datetime_tool +2025-12-17 18:36:30,841 - th_agenter.agent_tools - INFO - Registered tool: postgresql_mcp (enabled: True) +2025-12-17 18:36:30,841 - th_agenter.agent_service - INFO - Registered tool: postgresql_mcp +2025-12-17 18:36:30,841 - th_agenter.agent_tools - INFO - Registered tool: mysql_mcp (enabled: True) +2025-12-17 18:36:30,841 - th_agenter.agent_service - INFO - Registered tool: mysql_mcp +2025-12-17 18:36:30,844 - th_agenter.agent_service - INFO - Loaded agent configuration from database +2025-12-17 18:36:30,844 - th_agenter.langgraph_agent_service - WARNING - Failed to load config from database: 'AgentConfigService' object has no attribute 'get_active_config' +2025-12-17 18:36:30,845 - th_agenter.langgraph_agent_service - ERROR - Failed to create agent: init_chat_model() missing 1 required positional argument: 'model_name' +2025-12-17 18:36:30,845 - th_agenter.chat_service - WARNING - Failed to initialize LangGraphAgentService: init_chat_model() missing 1 required positional argument: 'model_name'. LangGraph functionality will be disabled. +2025-12-17 18:36:30,845 - th_agenter.redis_memory_service - INFO - Successfully connected to Redis at 192.168.10.66:6379 db=0 +2025-12-17 18:36:30,846 - th_agenter.redis_memory_service - INFO - Conversation history directory: /home/thsw2/jcq/workspace/HXF/backend/th_agenter/services/../../conversation_history (exists: True) +2025-12-17 18:36:30,846 - th_agenter.redis_memory_service - INFO - Current working directory: /home/thsw2/jcq/workspace/HXF/backend +2025-12-17 18:36:30,846 - th_agenter.chat_service - INFO - ChatService initialized with LangChain backend, Agent support, and Redis memory +2025-12-17 18:36:30,846 - th_agenter.chat_service - INFO - Processing streaming chat request for conversation 4 via LangChain +2025-12-17 18:36:30,846 - th_agenter.langchain_chat_service - INFO - Processing LangChain streaming chat request for conversation 4 +2025-12-17 18:36:30,869 - root - INFO - Clearing user context +2025-12-17 18:36:31,778 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-17 18:36:33,299 - th_agenter.langchain_chat_service - INFO - Successfully processed LangChain streaming chat request for conversation 4 +2025-12-17 18:36:38,221 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:36:38,222 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:38,222 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:36:38,222 - root - INFO - Clearing user context +2025-12-17 18:36:38,222 - root - INFO - User context cleared before authentication +2025-12-17 18:36:38,222 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:38,223 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:38,223 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:38,223 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:38,223 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:38,224 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:38,224 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:38,224 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:38,224 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:38,224 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:38,224 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:38,230 - root - INFO - Clearing user context +2025-12-17 18:36:40,007 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:36:40,008 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:40,008 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:36:40,008 - root - INFO - Clearing user context +2025-12-17 18:36:40,008 - root - INFO - User context cleared before authentication +2025-12-17 18:36:40,009 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:40,011 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:40,012 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:40,012 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:40,012 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:40,013 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:40,013 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:40,013 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:40,014 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:40,014 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:40,014 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:40,016 - root - INFO - Clearing user context +2025-12-17 18:36:54,733 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-17 18:36:54,733 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:54,733 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:36:54,733 - root - INFO - Clearing user context +2025-12-17 18:36:54,733 - root - INFO - User context cleared before authentication +2025-12-17 18:36:54,733 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:54,734 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:54,734 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:54,734 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:54,734 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:54,735 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:54,736 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:54,736 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:54,736 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:54,736 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:54,736 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:54,756 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 13) +2025-12-17 18:36:54,759 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-17 18:36:54,779 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-17 18:36:54,781 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-17 18:36:54,781 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 13, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc +2025-12-17 18:36:54,781 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc +2025-12-17 18:36:54,781 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc +2025-12-17 18:36:54,782 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-17 18:36:54,782 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc, 页数: 1 +2025-12-17 18:36:54,783 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-17 18:36:54,783 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-17 18:36:54,783 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-17 18:36:54,783 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc +2025-12-17 18:36:54,785 - root - INFO - Clearing user context +2025-12-17 18:36:56,804 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:36:56,804 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:36:56,804 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:36:56,805 - root - INFO - Clearing user context +2025-12-17 18:36:56,805 - root - INFO - User context cleared before authentication +2025-12-17 18:36:56,805 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:36:56,807 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:36:56,807 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:56,808 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:36:56,808 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:36:56,809 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:36:56,809 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:36:56,809 - root - INFO - Looking for user with username: admin +2025-12-17 18:36:56,809 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:36:56,809 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:36:56,810 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:36:56,811 - root - INFO - Clearing user context +2025-12-17 18:37:02,893 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/13 +2025-12-17 18:37:02,893 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/13 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:02,894 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/13 +2025-12-17 18:37:02,894 - root - INFO - Clearing user context +2025-12-17 18:37:02,894 - root - INFO - User context cleared before authentication +2025-12-17 18:37:02,895 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:02,897 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:02,898 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:02,898 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:02,898 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:02,902 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:02,903 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:02,903 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:02,905 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:02,905 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:02,906 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:02,914 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc +2025-12-17 18:37:02,987 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=13 +2025-12-17 18:37:02,988 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=13 +2025-12-17 18:37:03,004 - th_agenter.services.document - INFO - Deleted document: 808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc (ID: 13) +2025-12-17 18:37:03,005 - root - INFO - Clearing user context +2025-12-17 18:37:03,022 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:37:03,023 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:03,023 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:37:03,023 - root - INFO - Clearing user context +2025-12-17 18:37:03,023 - root - INFO - User context cleared before authentication +2025-12-17 18:37:03,024 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:03,026 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:03,027 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:03,027 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:03,027 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:03,030 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:03,030 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:03,031 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:03,034 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:03,034 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:03,034 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:03,036 - root - INFO - Clearing user context +2025-12-17 18:37:06,326 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/10 +2025-12-17 18:37:06,326 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/10 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:06,327 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/10 +2025-12-17 18:37:06,327 - root - INFO - Clearing user context +2025-12-17 18:37:06,327 - root - INFO - User context cleared before authentication +2025-12-17 18:37:06,327 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:06,329 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:06,329 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:06,330 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:06,330 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:06,331 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:06,331 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:06,331 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:06,333 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:06,333 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:06,333 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:06,335 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc +2025-12-17 18:37:06,359 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=10 +2025-12-17 18:37:06,359 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=10 +2025-12-17 18:37:06,378 - th_agenter.services.document - INFO - Deleted document: b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc (ID: 10) +2025-12-17 18:37:06,379 - root - INFO - Clearing user context +2025-12-17 18:37:06,591 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:37:06,592 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:06,592 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:37:06,592 - root - INFO - Clearing user context +2025-12-17 18:37:06,592 - root - INFO - User context cleared before authentication +2025-12-17 18:37:06,593 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:06,595 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:06,596 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:06,596 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:06,596 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:06,599 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:06,599 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:06,600 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:06,602 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:06,602 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:06,603 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:06,610 - root - INFO - Clearing user context +2025-12-17 18:37:12,328 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-17 18:37:12,328 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:12,329 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:37:12,329 - root - INFO - Clearing user context +2025-12-17 18:37:12,329 - root - INFO - User context cleared before authentication +2025-12-17 18:37:12,329 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:12,332 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:12,332 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:12,332 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:12,333 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:12,334 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:12,334 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:12,334 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:12,334 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:12,334 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:12,334 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:12,350 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 13) +2025-12-17 18:37:12,351 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 13, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc +2025-12-17 18:37:12,351 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc +2025-12-17 18:37:12,351 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc +2025-12-17 18:37:12,351 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-17 18:37:12,352 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc, 页数: 1 +2025-12-17 18:37:12,352 - th_agenter.services.document_processor - ERROR - 获取语义分割点失败: cannot import name 'ChatOpenAI' from 'langchain.chat_models' (/home/thsw2/miniconda3/envs/langchain/lib/python3.12/site-packages/langchain/chat_models/__init__.py) +2025-12-17 18:37:12,352 - th_agenter.services.document_processor - WARNING - 语义分割失败,使用默认分割器 +2025-12-17 18:37:12,352 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-17 18:37:12,352 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc +2025-12-17 18:37:12,353 - root - INFO - Clearing user context +2025-12-17 18:37:14,697 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:37:14,697 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:37:14,697 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:37:14,697 - root - INFO - Clearing user context +2025-12-17 18:37:14,697 - root - INFO - User context cleared before authentication +2025-12-17 18:37:14,697 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:37:14,698 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:37:14,698 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:14,698 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:37:14,698 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:37:14,699 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:37:14,699 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:37:14,699 - root - INFO - Looking for user with username: admin +2025-12-17 18:37:14,699 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:37:14,699 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:37:14,699 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:37:14,701 - root - INFO - Clearing user context +2025-12-17 18:41:59,619 - root - INFO - Shutting down TH-Agenter application... +2025-12-17 18:42:01,730 - root - INFO - Logging configured successfully +2025-12-17 18:42:01,817 - root - INFO - Logging configured successfully +2025-12-17 18:42:01,897 - root - INFO - Starting up TH-Agenter application... +2025-12-17 18:42:01,902 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 18:42:01,904 - root - INFO - Database tables created +2025-12-17 18:42:01,904 - root - INFO - Database initialized +2025-12-17 18:42:56,538 - root - INFO - Shutting down TH-Agenter application... +2025-12-17 18:43:18,569 - root - INFO - Logging configured successfully +2025-12-17 18:43:18,656 - root - INFO - Logging configured successfully +2025-12-17 18:43:18,736 - root - INFO - Starting up TH-Agenter application... +2025-12-17 18:43:18,741 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 18:43:18,743 - root - INFO - Database tables created +2025-12-17 18:43:18,744 - root - INFO - Database initialized +2025-12-17 18:44:27,795 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 18:44:27,796 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:27,796 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 18:44:27,796 - root - INFO - Clearing user context +2025-12-17 18:44:27,796 - root - INFO - User context cleared before authentication +2025-12-17 18:44:27,796 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:27,813 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:27,813 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:27,813 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:27,814 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:27,815 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:27,815 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:27,815 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:27,815 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:27,816 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:27,816 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:27,818 - root - INFO - Clearing user context +2025-12-17 18:44:27,830 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-17 18:44:27,831 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:27,831 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-17 18:44:27,831 - root - INFO - Clearing user context +2025-12-17 18:44:27,831 - root - INFO - User context cleared before authentication +2025-12-17 18:44:27,831 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:27,831 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:27,831 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:27,831 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:27,831 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:27,832 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:27,833 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:27,833 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:27,833 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:27,833 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:27,833 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:27,835 - root - INFO - Clearing user context +2025-12-17 18:44:28,386 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 18:44:28,386 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:28,387 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 18:44:28,387 - root - INFO - Clearing user context +2025-12-17 18:44:28,387 - root - INFO - User context cleared before authentication +2025-12-17 18:44:28,387 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:28,390 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:28,390 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:28,391 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:28,391 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:28,395 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 18:44:28,396 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:28,396 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 18:44:28,396 - root - INFO - Clearing user context +2025-12-17 18:44:28,396 - root - INFO - User context cleared before authentication +2025-12-17 18:44:28,397 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:28,399 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:28,400 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:28,400 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:28,400 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:28,409 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:28,415 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:28,419 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:28,424 - root - INFO - Clearing user context +2025-12-17 18:44:28,426 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:28,426 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:28,427 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:28,449 - root - INFO - Clearing user context +2025-12-17 18:44:28,449 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-17 18:44:28,449 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:28,449 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-17 18:44:28,449 - root - INFO - Clearing user context +2025-12-17 18:44:28,449 - root - INFO - User context cleared before authentication +2025-12-17 18:44:28,449 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:28,450 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:28,450 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:28,450 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:28,450 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:28,452 - root - INFO - Clearing user context +2025-12-17 18:44:33,491 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:44:33,491 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:33,491 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:44:33,492 - root - INFO - Clearing user context +2025-12-17 18:44:33,492 - root - INFO - User context cleared before authentication +2025-12-17 18:44:33,492 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:33,495 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:33,495 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:33,495 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:33,495 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:33,496 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:33,496 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:33,496 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:33,497 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:33,497 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:33,497 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:33,499 - root - INFO - Clearing user context +2025-12-17 18:44:39,274 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/13 +2025-12-17 18:44:39,274 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/13 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:39,274 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/13 +2025-12-17 18:44:39,275 - root - INFO - Clearing user context +2025-12-17 18:44:39,275 - root - INFO - User context cleared before authentication +2025-12-17 18:44:39,275 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:39,278 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:39,278 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:39,278 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:39,278 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:39,279 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:39,279 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:39,279 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:39,280 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:39,280 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:39,280 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:39,282 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc +2025-12-17 18:44:39,285 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-17 18:44:39,395 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-17 18:44:39,396 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-17 18:44:39,434 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=13 +2025-12-17 18:44:39,434 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=13 +2025-12-17 18:44:39,465 - th_agenter.services.document - INFO - Deleted document: dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc (ID: 13) +2025-12-17 18:44:39,465 - root - INFO - Clearing user context +2025-12-17 18:44:39,511 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:44:39,512 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:39,512 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:44:39,512 - root - INFO - Clearing user context +2025-12-17 18:44:39,512 - root - INFO - User context cleared before authentication +2025-12-17 18:44:39,512 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:39,513 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:39,513 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:39,513 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:39,513 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:39,513 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:39,513 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:39,513 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:39,514 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:39,514 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:39,514 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:39,515 - root - INFO - Clearing user context +2025-12-17 18:44:44,580 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-17 18:44:44,580 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:44,581 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:44:44,581 - root - INFO - Clearing user context +2025-12-17 18:44:44,581 - root - INFO - User context cleared before authentication +2025-12-17 18:44:44,582 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:44,584 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:44,585 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:44,585 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:44,585 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:44,587 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:44,587 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:44,587 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:44,587 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:44,588 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:44,588 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:44,603 - th_agenter.services.document - INFO - Uploaded document: testdoc1.doc to KB 7 (Doc ID: 13) +2025-12-17 18:44:44,605 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 13, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc +2025-12-17 18:44:44,605 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc +2025-12-17 18:44:44,605 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc +2025-12-17 18:44:44,605 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-17 18:44:44,606 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc, 页数: 1 +2025-12-17 18:44:45,530 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-17 18:44:45,538 - th_agenter.services.document_processor - INFO - 语义分析得到 1 个分割点 +2025-12-17 18:44:45,538 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-17 18:44:45,538 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc +2025-12-17 18:44:45,541 - root - INFO - Clearing user context +2025-12-17 18:44:47,896 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:44:47,897 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:44:47,897 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:44:47,898 - root - INFO - Clearing user context +2025-12-17 18:44:47,898 - root - INFO - User context cleared before authentication +2025-12-17 18:44:47,898 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:44:47,902 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:44:47,902 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:47,903 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:44:47,903 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:44:47,906 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:44:47,907 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:44:47,907 - root - INFO - Looking for user with username: admin +2025-12-17 18:44:47,910 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:44:47,910 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:44:47,911 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:44:47,919 - root - INFO - Clearing user context +2025-12-17 18:45:00,685 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-17 18:45:00,685 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:45:00,685 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:45:00,685 - root - INFO - Clearing user context +2025-12-17 18:45:00,685 - root - INFO - User context cleared before authentication +2025-12-17 18:45:00,685 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:45:00,686 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:45:00,686 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:45:00,686 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:45:00,686 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:45:00,687 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:45:00,687 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:45:00,687 - root - INFO - Looking for user with username: admin +2025-12-17 18:45:00,688 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:45:00,688 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:45:00,688 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:45:00,712 - th_agenter.services.document - INFO - Uploaded document: testdoc.doc to KB 7 (Doc ID: 14) +2025-12-17 18:45:00,714 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 14, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc +2025-12-17 18:45:00,714 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc +2025-12-17 18:45:00,714 - th_agenter.services.document_processor - INFO - 使用doc2txt.process处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc +2025-12-17 18:45:00,714 - th_agenter.services.document_processor - ERROR - 使用doc2txt加载.doc文档失败: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc, 错误: module 'doc2txt' has no attribute 'process' +2025-12-17 18:45:00,715 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc, 页数: 1 +2025-12-17 18:45:02,021 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-17 18:45:02,022 - th_agenter.services.document_processor - INFO - 语义分析得到 1 个分割点 +2025-12-17 18:45:02,022 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 0 个文档块 +2025-12-17 18:45:02,022 - th_agenter.services.document_processor - WARNING - 文档分割后无内容: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc +2025-12-17 18:45:02,023 - root - INFO - Clearing user context +2025-12-17 18:45:04,369 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 18:45:04,370 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 18:45:04,370 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 18:45:04,370 - root - INFO - Clearing user context +2025-12-17 18:45:04,371 - root - INFO - User context cleared before authentication +2025-12-17 18:45:04,371 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 18:45:04,374 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 18:45:04,374 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:45:04,374 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 18:45:04,374 - root - INFO - Verified current user ID in context: 2 +2025-12-17 18:45:04,375 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 18:45:04,375 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 18:45:04,375 - root - INFO - Looking for user with username: admin +2025-12-17 18:45:04,376 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 18:45:04,376 - root - INFO - Verification - ContextVar user: admin +2025-12-17 18:45:04,376 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 18:45:04,377 - root - INFO - Clearing user context +2025-12-17 18:45:16,659 - root - INFO - Shutting down TH-Agenter application... +2025-12-17 19:05:22,150 - root - INFO - Logging configured successfully +2025-12-17 19:05:22,238 - root - INFO - Logging configured successfully +2025-12-17 19:05:22,318 - root - INFO - Starting up TH-Agenter application... +2025-12-17 19:05:22,326 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 19:05:22,328 - root - INFO - Database tables created +2025-12-17 19:05:22,328 - root - INFO - Database initialized +2025-12-17 19:07:04,473 - root - INFO - Shutting down TH-Agenter application... +2025-12-17 19:07:06,556 - root - INFO - Logging configured successfully +2025-12-17 19:07:06,641 - root - INFO - Logging configured successfully +2025-12-17 19:07:06,720 - root - INFO - Starting up TH-Agenter application... +2025-12-17 19:07:06,726 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 19:07:06,727 - root - INFO - Database tables created +2025-12-17 19:07:06,728 - root - INFO - Database initialized +2025-12-17 19:08:34,336 - root - INFO - Shutting down TH-Agenter application... +2025-12-17 19:08:38,804 - root - INFO - Logging configured successfully +2025-12-17 19:08:38,890 - root - INFO - Logging configured successfully +2025-12-17 19:08:38,968 - root - INFO - Starting up TH-Agenter application... +2025-12-17 19:08:38,974 - root - INFO - SQLite database engine created: sqlite:///./TH-Agenter.db +2025-12-17 19:08:38,976 - root - INFO - Database tables created +2025-12-17 19:08:38,976 - root - INFO - Database initialized +2025-12-17 19:08:55,582 - root - INFO - [MIDDLEWARE] Processing request: GET /api/auth/me +2025-12-17 19:08:55,582 - root - INFO - [MIDDLEWARE] Checking path: /api/auth/me against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:55,582 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/auth/me +2025-12-17 19:08:55,582 - root - INFO - Clearing user context +2025-12-17 19:08:55,582 - root - INFO - User context cleared before authentication +2025-12-17 19:08:55,582 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:55,598 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:55,598 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:55,598 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:55,598 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:55,600 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:08:55,600 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:08:55,600 - root - INFO - Looking for user with username: admin +2025-12-17 19:08:55,600 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:08:55,600 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:55,601 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:08:55,603 - root - INFO - Clearing user context +2025-12-17 19:08:55,675 - root - INFO - [MIDDLEWARE] Processing request: GET /api/admin/roles/user-roles/user/2 +2025-12-17 19:08:55,675 - root - INFO - [MIDDLEWARE] Checking path: /api/admin/roles/user-roles/user/2 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:55,675 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/admin/roles/user-roles/user/2 +2025-12-17 19:08:55,675 - root - INFO - Clearing user context +2025-12-17 19:08:55,675 - root - INFO - User context cleared before authentication +2025-12-17 19:08:55,675 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:55,676 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:55,676 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:55,676 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:55,676 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:55,677 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:08:55,678 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:08:55,678 - root - INFO - Looking for user with username: admin +2025-12-17 19:08:55,678 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:08:55,678 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:55,678 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:08:55,681 - root - INFO - Clearing user context +2025-12-17 19:08:56,161 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/ +2025-12-17 19:08:56,161 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/ against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:56,161 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/ +2025-12-17 19:08:56,161 - root - INFO - Clearing user context +2025-12-17 19:08:56,161 - root - INFO - User context cleared before authentication +2025-12-17 19:08:56,161 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:56,162 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:56,162 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:56,162 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:56,162 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:56,164 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations +2025-12-17 19:08:56,164 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:56,164 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations +2025-12-17 19:08:56,164 - root - INFO - Clearing user context +2025-12-17 19:08:56,164 - root - INFO - User context cleared before authentication +2025-12-17 19:08:56,164 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:56,165 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:56,165 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:56,165 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:56,165 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:56,169 - root - INFO - Clearing user context +2025-12-17 19:08:56,170 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:08:56,170 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:08:56,170 - root - INFO - Looking for user with username: admin +2025-12-17 19:08:56,171 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:08:56,171 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:56,171 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:08:56,181 - root - INFO - Clearing user context +2025-12-17 19:08:56,182 - root - INFO - [MIDDLEWARE] Processing request: GET /api/chat/conversations/count +2025-12-17 19:08:56,182 - root - INFO - [MIDDLEWARE] Checking path: /api/chat/conversations/count against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:56,182 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/chat/conversations/count +2025-12-17 19:08:56,182 - root - INFO - Clearing user context +2025-12-17 19:08:56,182 - root - INFO - User context cleared before authentication +2025-12-17 19:08:56,182 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:56,183 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:56,183 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:56,183 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:56,183 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:56,185 - root - INFO - Clearing user context +2025-12-17 19:08:58,273 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 19:08:58,274 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:08:58,274 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 19:08:58,274 - root - INFO - Clearing user context +2025-12-17 19:08:58,275 - root - INFO - User context cleared before authentication +2025-12-17 19:08:58,275 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:08:58,276 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:08:58,276 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:58,276 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:08:58,276 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:08:58,277 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:08:58,277 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:08:58,277 - root - INFO - Looking for user with username: admin +2025-12-17 19:08:58,277 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:08:58,277 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:08:58,277 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:08:58,280 - root - INFO - Clearing user context +2025-12-17 19:09:02,622 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/14 +2025-12-17 19:09:02,622 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/14 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:02,622 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/14 +2025-12-17 19:09:02,623 - root - INFO - Clearing user context +2025-12-17 19:09:02,623 - root - INFO - User context cleared before authentication +2025-12-17 19:09:02,623 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:02,624 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:02,624 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:02,624 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:02,625 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:02,626 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:02,626 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:02,626 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:02,626 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:02,626 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:02,626 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:02,628 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc +2025-12-17 19:09:02,630 - th_agenter.embedding_factory - INFO - Creating embeddings with provider: zhipu, model: embedding-3 +2025-12-17 19:09:02,733 - th_agenter.zhipu_embeddings - INFO - ZhipuOpenAI Embeddings initialized with model: embedding-3 +2025-12-17 19:09:02,734 - th_agenter.services.document_processor - INFO - PGVector连接池已初始化: 192.168.10.11:5432 +2025-12-17 19:09:02,772 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=14 +2025-12-17 19:09:02,772 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=14 +2025-12-17 19:09:02,795 - th_agenter.services.document - INFO - Deleted document: 3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc (ID: 14) +2025-12-17 19:09:02,795 - root - INFO - Clearing user context +2025-12-17 19:09:02,885 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 19:09:02,885 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:02,886 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 19:09:02,886 - root - INFO - Clearing user context +2025-12-17 19:09:02,886 - root - INFO - User context cleared before authentication +2025-12-17 19:09:02,886 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:02,889 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:02,890 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:02,890 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:02,890 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:02,892 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:02,893 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:02,893 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:02,896 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:02,896 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:02,897 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:02,903 - root - INFO - Clearing user context +2025-12-17 19:09:04,786 - root - INFO - [MIDDLEWARE] Processing request: DELETE /api/knowledge-bases/7/documents/13 +2025-12-17 19:09:04,786 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents/13 against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:04,786 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents/13 +2025-12-17 19:09:04,787 - root - INFO - Clearing user context +2025-12-17 19:09:04,787 - root - INFO - User context cleared before authentication +2025-12-17 19:09:04,787 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:04,789 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:04,789 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:04,789 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:04,789 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:04,789 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:04,790 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:04,790 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:04,790 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:04,790 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:04,790 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:04,791 - th_agenter.services.document - INFO - Deleted file: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc +2025-12-17 19:09:04,830 - th_agenter.services.document_processor - WARNING - 未找到要删除的文档ID: document_id=13 +2025-12-17 19:09:04,831 - th_agenter.services.document_processor - INFO - 文档已从PostgreSQL pgvector存储中删除: document_id=13 +2025-12-17 19:09:04,847 - th_agenter.services.document - INFO - Deleted document: 8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc (ID: 13) +2025-12-17 19:09:04,848 - root - INFO - Clearing user context +2025-12-17 19:09:05,192 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 19:09:05,192 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:05,192 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 19:09:05,192 - root - INFO - Clearing user context +2025-12-17 19:09:05,192 - root - INFO - User context cleared before authentication +2025-12-17 19:09:05,192 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:05,193 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:05,193 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:05,193 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:05,193 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:05,194 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:05,194 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:05,194 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:05,195 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:05,195 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:05,195 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:05,196 - root - INFO - Clearing user context +2025-12-17 19:09:09,139 - root - INFO - [MIDDLEWARE] Processing request: POST /api/knowledge-bases/7/documents +2025-12-17 19:09:09,140 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:09,140 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 19:09:09,140 - root - INFO - Clearing user context +2025-12-17 19:09:09,140 - root - INFO - User context cleared before authentication +2025-12-17 19:09:09,141 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:09,142 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:09,142 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:09,143 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:09,143 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:09,148 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:09,149 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:09,149 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:09,151 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:09,151 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:09,152 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:09,185 - th_agenter.services.document - INFO - Uploaded document: testdoc.doc to KB 7 (Doc ID: 13) +2025-12-17 19:09:09,192 - th_agenter.services.document_processor - INFO - 开始处理文档 ID: 13, 路径: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc +2025-12-17 19:09:09,193 - th_agenter.services.document_processor - WARNING - 检测到.doc格式文件,尝试使用doc2txt加载: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc +2025-12-17 19:09:09,193 - th_agenter.services.document_processor - INFO - 使用doc2txt.extract_text处理.doc文件: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc +2025-12-17 19:09:09,213 - th_agenter.services.document_processor - INFO - .doc文件处理完成,获取到文本长度: 5134 字符 +2025-12-17 19:09:09,213 - th_agenter.services.document_processor - INFO - 成功加载文档: /home/thsw2/jcq/workspace/HXF/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc, 页数: 1 +2025-12-17 19:09:20,076 - httpx - INFO - HTTP Request: POST https://ark.cn-beijing.volces.com/api/v3/chat/completions "HTTP/1.1 200 OK" +2025-12-17 19:09:20,104 - th_agenter.services.document_processor - INFO - 语义分析得到 47 个分割点 +2025-12-17 19:09:20,105 - th_agenter.services.document_processor - INFO - 文档分割完成,共生成 17 个文档块 +2025-12-17 19:09:20,435 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:20,586 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:20,715 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:20,862 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,008 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,135 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,240 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,393 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,525 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,648 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,778 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:21,883 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,002 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,111 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,205 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,344 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,489 - httpx - INFO - HTTP Request: POST https://open.bigmodel.cn/api/paas/v4/embeddings "HTTP/1.1 200 OK" +2025-12-17 19:09:22,657 - th_agenter.services.document_processor - INFO - 文档已添加到PostgreSQL pgvector存储: embeddings_kb_7 +2025-12-17 19:09:22,672 - th_agenter.services.document_processor - INFO - 文档处理完成: {'document_id': 13, 'status': 'success', 'chunks_count': 17, 'message': '文档处理完成'} +2025-12-17 19:09:22,686 - th_agenter.services.document - INFO - Processed document: a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc (ID: 13) +2025-12-17 19:09:22,688 - root - INFO - Clearing user context +2025-12-17 19:09:25,025 - root - INFO - [MIDDLEWARE] Processing request: GET /api/knowledge-bases/7/documents +2025-12-17 19:09:25,025 - root - INFO - [MIDDLEWARE] Checking path: /api/knowledge-bases/7/documents against exclude_paths: ['/docs', '/redoc', '/openapi.json', '/api/auth/login', '/api/auth/register', '/api/auth/login-oauth', '/auth/login', '/auth/register', '/auth/login-oauth', '/health', '/test'] +2025-12-17 19:09:25,026 - root - INFO - [MIDDLEWARE] Processing authenticated request: /api/knowledge-bases/7/documents +2025-12-17 19:09:25,026 - root - INFO - Clearing user context +2025-12-17 19:09:25,026 - root - INFO - User context cleared before authentication +2025-12-17 19:09:25,026 - root - INFO - Authorization header received: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc2NTk4NTc2NX0.nfXHwiXXmdZC1erm5nJU_HwBDnbVb7FaEU52CYn4oeU +2025-12-17 19:09:25,029 - root - INFO - Setting user in context with token: admin (ID: 2) +2025-12-17 19:09:25,029 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:25,029 - root - INFO - User admin (ID: 2) authenticated and set in context +2025-12-17 19:09:25,029 - root - INFO - Verified current user ID in context: 2 +2025-12-17 19:09:25,031 - root - INFO - Received token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ... +2025-12-17 19:09:25,031 - root - INFO - Token payload: {'sub': 'admin', 'exp': 1765985765} +2025-12-17 19:09:25,031 - root - INFO - Looking for user with username: admin +2025-12-17 19:09:25,031 - root - INFO - Setting user in context: admin (ID: 2) +2025-12-17 19:09:25,031 - root - INFO - Verification - ContextVar user: admin +2025-12-17 19:09:25,031 - root - INFO - User admin (ID: 2) set in UserContext +2025-12-17 19:09:25,033 - root - INFO - Clearing user context diff --git a/backend/data/uploads/kb_1/4e71f1b4-df3c-4ad4-b839-e8af49c00c76_高速公路低空算法验证方案.docx b/backend/data/uploads/kb_1/4e71f1b4-df3c-4ad4-b839-e8af49c00c76_高速公路低空算法验证方案.docx new file mode 100644 index 0000000..c1a842d Binary files /dev/null and b/backend/data/uploads/kb_1/4e71f1b4-df3c-4ad4-b839-e8af49c00c76_高速公路低空算法验证方案.docx differ diff --git a/backend/data/uploads/kb_2/758a9e60-82a4-4099-818a-186aa0440db6_陕西算法分析统计1023.docx b/backend/data/uploads/kb_2/758a9e60-82a4-4099-818a-186aa0440db6_陕西算法分析统计1023.docx new file mode 100644 index 0000000..5694269 Binary files /dev/null and b/backend/data/uploads/kb_2/758a9e60-82a4-4099-818a-186aa0440db6_陕西算法分析统计1023.docx differ diff --git a/backend/data/uploads/kb_6/0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx b/backend/data/uploads/kb_6/0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx new file mode 100644 index 0000000..c1a842d Binary files /dev/null and b/backend/data/uploads/kb_6/0236c771-09f3-4202-b7b8-ee5242899648_高速公路低空算法验证方案.docx differ diff --git a/backend/data/uploads/kb_6/3b7f98d3-ba4c-49e2-a410-690ef42ec2e6_发明专利申请说明书CN202411808464.5.pdf b/backend/data/uploads/kb_6/3b7f98d3-ba4c-49e2-a410-690ef42ec2e6_发明专利申请说明书CN202411808464.5.pdf new file mode 100644 index 0000000..7e92481 --- /dev/null +++ b/backend/data/uploads/kb_6/3b7f98d3-ba4c-49e2-a410-690ef42ec2e6_发明专利申请说明书CN202411808464.5.pdf @@ -0,0 +1,2804 @@ +%PDF-1.4 +% +1 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 43224/Height 3509>>stream +Hđ8&E`dߕPlag6hoVMcZDo)o3 .N6R&јȺ|VA!p!.f߲1yKY!Y?8t?#GTDrd\!IiCSѥzAiwyJmd_) p?"ٙ.d_%]/!Kۥ5~U,k\Ґj]w_ 4[";H/KO 1Ŏ5pAޗ+$_?>L$Fi { tMlSfbc%"86IHAWKKaa$?ͣDCZ]rd8A+{[9x]fmr'c^l0A-M_ޕ~ H{v[ p&z_ Mֿ"YdK,8K iaM^!&Fm-&?^tMI^Zbg6f`q_.UT0jפXH0_b)F$T?k % +^MR6I;.Љ2[]NŤpjKQi*0i^a4.]_GPi/Zvf Sbq>"#9͞hq 3D]yt%$ɛB336pXC"\'@`8)oAFlY/ђlrF? 0YX\y _ +C!MY'£3gHffl2 1446q3fm *36q9 ȁ͈he"$6f٣2iy6p8@aP& ?@`4ংe 0\0f'I,Iћ؆3 3$6l;] m9pR ћ30nmD!m!8 0X$0l͹E_#YE,њ3b3f2R#)?POYO97[:2 LAd$#vNLU@lͳb6I_Y_#Ç*owH } J)o7P6Ua{8)  +5A +Im`I5Õr7UT۪" J2uBy ԻT_ ֑8'lKTvZ5i&m._ $2P:O# aӺ__3K 0nK@˂pN <*]!#M4$EX" Z] o- ڬ^٠0kE. 8KXQm4d0W"eH3j.J :2S"""2qeY8' T~#d|]dc DEC,i.HZ54CE'kڨiC 0jGr? aOd&3D2pN1_mkj-Z_lDq{ҩ z VN!p-W'MSM?KM/!V"[[iG$hN tkzZlOD?JI-o:뤖<0 Ea8'I"kRM&KOhlFJI$0ΟoKIt~<8$i}dKIqڋiGMǏ_c"?I k]J!~Ri~Ad;pNA*@k(vk~A1]cAXjKҮߤ5Pq/.3Fx'b4D+ׯkh;M5mD`Pai2 ΀!`d4 <M$Y8li 65Y.Mm5MSMZji&qQMBZǨr: ed4)deo[RMZvdt U6."150VCG. œ8't5P54&#"RȝM & f{L&(vM4lGTade8q'(vG5M[M0@b8Ј咰U'Qfp<qJiiCEK uRN3`G'Ē&N !LSMSM9CGYRn$ *q œp=b8Dt/Rn@:(N œAGPi馩GBj6"E#o\N2pN @30ii8#B:^xV* 8pN'mFMSM+M5GpIA'<B$N 8DuT[MDSM1qp]|yMY8'N մQ[M4I'<DTD\DDJjyNs.܎ ]y#ٚD5DC3("1,3A8qN 4pN ¥ S[c٨5#ÆG>?M!M4ME%Dު  ( v"Ј#moAiYCꨆSQe*_-":&"=HVl|2pN&\q 8GHmFWq_Nm4MDU-/K_H""o+_$!Udp:Xh8'N J=FJtA香Zioo6YDGpW< Hb5jFƗMTq 8f_i!76kik8}=:ZM"#D5 9mqK,;I4׷mx' 8C_)aiq4#M2:A~BDqK&/Gk +'Uz_N Xzo֞:i^mz_z^"."7h1?Iȳ*J~^I}[I}RҥFpN q}_-/*KIiZiRCi0.[z"8okXu6 { %-Li i-/BPP7 `afa qFp" jj{ G4 P"%5OKHc'4>P`5!dt"""8#ȥ#DDܦK +ODh3) iu5GF߷_K tF5 b56klq:| G{j*$K MZUIGE7Vi^dQRn-":V[[VJ-mFW=f߭o+KL'Kzi~VW^#3MlR@Zn$1/KFs0Ж;I/JX7_l jKaaI)z__^_5x?P_OI޷凫"uj:O^Kޗ^_^Z GOoI^^{k_jJ~wk~_-/'޴RCi0,hm붗okXu6 {ilOM/ ah" +bk~u ke(_}0b""?ܠ
4{aUPk8I5 MUTi6mPZM,hUJm+!ڷIb#)[I]}z,{8GZ8ZK]b ~_\#}+~n꾿^)/j.KJׄK^_IxAb9h B%kk&]^~q ]cKK{~m.,o6*&&뮿zIK_/J$dtt'~[o5Dk_êD"ukK_-#YI/_[KKKuε-K'KW^7 iHxCm$?IKm/uR^aH6^~aOh0ACaZ +b)p^R].Z?Qa0"?dA_R!^IOx u'#Q7_H "j#Qy(F%hZM6klqG$ MUH67>}oҴJ6*VFIH&Mb#)-qo[dp_#ҷҿTUD1KK-#W^^$$/^_I%F%KOIvժD']I$KK%AI/J?KKζC[I=RZ}$A ǡI?m+,?mKK5´t:DDDDmMc13TMTS"h*KDJs^Au4v4 +/m6u`ʨ<8l<$tA|݋a3$X$+CL4駧JOFk'HlD/gIp47ZI 8kmEXyк5 +܎ ?!TKG¨|*۴d`58T][T5g_~BtY1xJ:ZVޗ ڷQ?Lai6ͱTyh1"G^^Q!juYBޓB)iQcpϢKI.zA봃4AZK>9%&# J" $a) -Ub S$'5֪?Ӫ`_^]iz#pE֑U?:KoJ6 +?Ba_B?s0쩟ZU6+dT?ߧZIiETdpQׯo1Ct:g.t3tkKOȲ._ޭX~:~ڳgA>z4[-/Gs}>?_Ms_+[ۯ_]-'/:޴><Ϋ_=Ab:~Yp?kM+>Rs_]cH_y7իzKI/(&?ɏoo_Waտo+ս&oߥ0I&KA^M$oIKMkO5IK 7~]` ~Iͯ@lL$k ^h  s9q͆XA0ά,GL!I:pښVA4GZ @׊2"#A5Рh A,- +T"7&s\fJs^M] I E"tFQ_-*$gCM(TueM86:cv*gQ)Eų/#y̬q{ $M5;_>2D"F!~ʄsk$xŝ mG[ʅA*MAE4K3M[* I fJf*MW*h7p&8 ^\,Jh-C3_ZJ\y801ZJ8]=?[*K@NiH GQvo~|[[DZB x2IB +_i?Sz [3k ե+/ _Ɠ^!r+_㑵Ъ|xO,lkJ"=C:Z?K0" Tޗ:uά4iq~khT_T_.8kK?_}޿^-m&ށ>E_8i6H`^"=?mi}=/l^K_f=G׺a& /  e8Du)Cҿ~!#BX"?_h(Xw@+EKu_zmO_A +_zzHO_%XߠYkj:O/k'_ "u^}z_jJ/% o '?/ڥ$K,>_\c5!Kx _OT;x=ԯzOPc I K~w/m[?-&0!K  a~a (a!3 +a\_ /0AXz$1bM?^h(?}.bv):1 7֑cM W ꆫB""" DPT"#7mr &b:h(_aa,&VI @ZeQBd dpI 8kmšuDkT>TH۴ɕ%/6ͱ_tU"KH0CH!~lr0rԢ/֩) -k8s0ZC*JYS~ևҩdŢ:KoJ-_B? FlJZQf%vut'Z]*UdY"JrT/x}/K9uKj [)9IU~h \~s7+MI[V~?I|26 0 r aX[ k@ejjBˆA唷;RVljV&Tɸh mRaR!|Pc,I<" -2uyeL e]I AKÄTm\]T'o!DMF&xUy(I&oAB+ڌY6_p6֛_L޴%&m$6ߏ6_ %?J3 I$u7Wֿ_uKIt".zT\α JW8ޒPc690/H3/ Fj14ZXI%V5=-%V i}mIKITm/؊Ba__H/-jLEs1BOF}*†COAm0i[5 tDH ; Z^'qia1IPI/R""b 2thDjCMIv1K)VL""ވÆ̲P36K:Bϣ:gc"ϠD2qulʣGA z +.Ks.Ta{6,gE6Pʿ|zpII^?m.^Qy/( +Vm.,@ו}q>{*">%scρ͉V6M:!YIVtzF&zLGG\llYExHR9f9VVt S0Pg^ 5ۤRuZzۅ(3j!JJޒ[K#kH|qMH&YTm!$#KKئ+<Ъ{(/lr1Dc{M3e2WIi,(Xi~&mA"݋=3]@$?XA0L3"eHZy߂!: H0M)qB߉` ">eL}/ `ߤ z^@Y Tz_-/ @A (u @RrV}rI<斂=1E' xNrs8g?žsb/ oaUl7ZW<3ˆfMmOr X{yJA#Uϯ+CMץ/w,ڷ$_8A0K/ dzA.~0`āa ^]/Ht/ 5tD<_Ҵ鶧!,%zL(a 'u1LR S2?aP a"!,M3-3h#PYDfO +Rn;J2&& CP8l-ґ Ԋ UMtV'FFy@[u8'G&"U*UGJ&ii%RV&?iкy?eq}_qi:f[f^}U#F?yo9arοFZղ\o͔s_84GUK_CAGS">e &Q ooه*U ԿeM+J.@Gk>.]*l13?_(t &ҭL?$.#eN,4 iu]gSF?B/=z /_Y&0(% !URk~_bHoA#bPwD|:OA<71\0k./&kyt ?Iy&X_~祤!X]Y~H _KߥTQu#IKA"?G@ajTÖ;ϥ*K<a_5 OaHDqz[~Q0F U@fߏy=OB8_oI?aV!T$~]-oǡk,5_:IIF|skqpy~4>[ @/o KHCi|0a9 v6KhI-[uXk)s41-ґIE:FPӈuzUoO[Dk?=IourHf< c[?9=?]?~N{n_ݥ_衶Ni~DZ_ml-/a}BDDDm+MDhPL&rnFFDS4P@RHD\iViGmn$?UI'H6k1MIi&4Za^!;A@%DA\DDDR6n"aDhFD&SrʣI7##"]DfI `Hѓ@d2:EȌMa4H&N>l#aGM$HzhzIi6jO( KIDAJm+I4 KzAh'Umm[[!ҺvtiizZI~KQҭ,~/ToUZ}+~֑古JRI!$ׯ5ԉ +%O=R߆IizDe]tIv)-/H7PtzMoKKҿNN-/IizIizWz.I޵le$kNR'GI KOI/im[KKm$T"EkҴ%Oa$-'&޴.%Hi![i}Ul$K M+Xh0i%5A@%DAH!BźVTTL (VrnFFD&OQB# & #Hj5> A j#r#pM-%  G| #hCTHzHF=R Ai6D 6@tV٠Z^=:kjڶC"Z]}??-}oo֗I%Z]׭akֵz֟J}+ߍi^*QK!K֒=R$ry뮘Iu_mZ^_K]$JZ^_$u}% KKKu׭-/I/}~izI^~I$tU%NR'I_ֱWKKתꓤI*Jm-'I+I+KKK$Vm+JUIZ%I&6+J446CCKª[[i&4^H0״$TD! !4źVT@*2&2[P]&܌vVȧ0A| P) j#r#pM- M%#h>4{kt!1U MH6jO( ZHmI"N&Ҵ&6tARUmm[Vst$EZii%KI$Z K>W#ZZJ)x)uZBJ_OT$KK'pMPA-W/I/k%}W}%$'zZzI/K/I/_]%i=$ֿ׮$HZN'V׭cAuZ~o^%zIRW-ii:MjH~V+I.z$޴h4[Cm$4=A*i~Ik 5DAHEDDE(6n"aDfh"&DKoX' p(fhe/afh?eFI=tM3NӦuAsZ|F{ sD"yDIOs1JfM9U>*%8 NҏepS>:ߟxG#㯯_/MM_zM184BЛBP +['Y:/(Y:~>"pj5CDfqGKD9m~sySֿˮX}MGiCTG^+Y%>C Vs+=1_?V~?_}4OKAK/K0 @[}GPbz> r}}LoJ^L>CA y_z[GY(}wo>u|O aoK8o|c[ǿƖ>u _[I~ߟ|^?ץ__K#u$ʅR*~KGv8A-h0z_` ?I f+z^f+jId]I&WI&{i$0#@:!$t$ II@$#xB x8 B E~xP haA8';FfdBk%]mЈA hDDF""?nPO]NM#D["(/M2@@R{V#@R/7[|Ǣ +m77& ҫuOtC8 ]Q̒ޭJ$֭ 1U~^m ZZO`zL4a8^?1Z+ /fݥ?G^%t҃9  ;{ZQ<3[$t _{4[KFK~kI^KۥL{]BU~bkKm|%AB"7=R`FB+*†CO0P;MA]X i լ\G)d"fV0v/'J (HE6TɺW av aBf0z + EFa`N1 TD⯫ 'Tӷ%vO#PGn/J )A &au2鲀g8JRѩvpVoճ! :.!ťm%X(=~謐KtDAΨez:};MPI~*pO!A|mSqJVWp>fŽ/н EIWϏ8HE?#LT洿<~@~}y$E1O@flk)d]%(sЪ#0zK$rn + KG 6ҿ_gP{_G7nICkB-GKi +2hA{/}]#8E_?zѤ}h?sow_]{z_B\I6}uLIq +ttuK$zߋA Eu$I_ _>q^Ib $!~D\ $ykm.=o:?A Dz8^HRƫ\H&nfI+FtrBh%IKoB1Zl3%ZKoKמM$&ꗤޗ aIt#TNa1]?M0a.oK44ӧZKf.ãaa 0 0׷kڬA0d!&)MPd1j? +{>1iT&4#$- +V3#ath-a[~hH t8B8_DGJ-DDDDDDiB#H!1<6ͳl6ͳl6ͳl۔ nO-P$ܜpN 8'pN 8DxIJtE6X8!`[" :iAO= +zF`@A7KJ1KfjNRƗYaV|n7W״JOv2@u#!G3a5^_"47n%տj!e̲MǗy"H%A/BO޲@L~lksP/VL܇`c$^05Fω&Oo__6t+ +.0@޿cV>Xt kKCboNT< GF L3Bo!ZXaix!HG`]9r|) 0xh5GAzS!U|Fz´tDxR)=+XyO"?lp@0D|QmV'c[o##>":@IK# +]z\_b"ˣ[[JK4 fJfYْ)d(X:Y@e eF9ܡ)Ngw$gZpmd|ԡP.@9]t<&)Qam +:uT Qs4o$`PgNܕuꏣ>{js}ߝt@K 3wi%Fz)n1>>?YV +ch6$и?rVtVCV%GGàE@<{G]/izZ /+ 8'nJ 8't"u_M +z_IW"""3ɻWB8I%^o^G/_?h`_}i_IK_z~[Y2_e+V1Oflk)d]%(sЪ#@/gPc" r8aPZ'KQ֚*ցt{wO? + ~)_6P ~;Ɍ]Q0Mi}i0]w???#4/Kչ_P~I;n">ߒ/Gу_P`:#>z_#:حWIPko/tXI)%T={JJKoo?R}n#Ixi.7aF?"? qZ(R~p/G_ &4xAH Miu?TIXA&%-)Vi.?Itk @~.np[_BL?$ a=>Bz'PA$?ARm&&REUVh^!$H^L^gG$F'ZG\0tcZ_xzX_? %suA8[T_RЌV C~$WH1,ZKoKמM$>Ai#;K/I/oaq&ZE8'Iz +KafEA|a5]ޗhicb# `!4":6H&PJ0 {yƸA( D<duA5Ah* T&4#$- +V3#!&DzN Bk  ~aP>"#L>S &\öV0o-.5a8xqi.)Ɨe3_kd8{=g{=g{=g{=a:8g{=g{=g{=g"cxa@0 a@0 a@0 a@00 a@0 a@0 a@0 a#uah +1*~?~?~?~?~?~?~?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD]Hɱt#,TW+nh"YSEk*h[ 83yBY6 El86PYLz MaO46N4t|?Hl<6e +(Pu]t"#F, \3a .zBI(5 +4kF3@]!ނtAޭ~/Πy Vҋ#A֗eNc?(6c$=1+ϩUGz/ْlмHŔ,?_3G)4B.58E@OuH_g/]/i4@_*` /#Y#4~f"_)EYh> J"uY/?E/t$z9:_ Y>ʃ"?~h(ak_y'uccZE~p2}zE|-]aǿR_(5oz~[+]|t_ES߄/莽b[ce"1^Ah,iOwK 3>XaƵ=.%K/_~?_H΄=|_>z_%?io\tBGJD?J3Uӥփz_/M-q3KPEGph_. D|g `J>-(q/tK[Koejqsk5{\#0!/9y/X"}MZ_1J"|*SgxAzCGT +}?/sKdTmkP"^IBhk_e AXEn88%ZthX_i ivH#G\0a9ĭSV[o@[nG]&釄~Mu/I/IK-#n¹>3rlKޒ7M I(Tq#aֺoz_[I#?蓒@lOtItäF`A0I_, fDgɱ8E %$H"ϥ&ϥY&Aaτ42C`HőGR):>bD\S&& : tAAaA$;IјH5b! +P. ` - $Ru^D c QwYءܷJ pЈBŤLT,B -$#B,Gea[FB"ADDDjDs% O¼Sh6fbhu}G\hl""".)^0F8)0:kRpiPݮzC\aJⱰ1H+C(!A<>>:h:=0DcAlN?uBqub""""} B""6G*"= ,;=I)==xW x5AxvBzF<%5 +#f㔁9 F9 F9('xn+d[s"h(A A!ilE9 ~?⼦>"ǿTDDDjnJ/I(@jtY\>>>>:ꏪ ]Ї,0b/ DDDDDDDDGi\lF1 pU^% H{+{[L7q@jG0gN8@# +OK da2jGA$:DtHtm-E^[;DA@ ><$lF AJ %p7H-ʑ^ $)xNF8DuZ* ȓ&QVĊ؃fJ):BB aN" x6Q7a@䣆I0Ãe%*$N8dpޅn}]SiѵLixMKDR*-sI6}C 0BR[Mpj A;z'G, \3稹WE%+ʑF[.&%6PH8k3Fc4_mCz/s@8S#DD{՚o.,mv`ȝ+g1CQ--? To镛'غDr_>: G}swK^Z_ʜ"HPy{-KG΅9RY_^_'8qlgC~?5m*E^B֗$#F:[7G!AyB?3^o/\D^u-G/N(GUYL0_>>>>>>>>>>>>>>s/AkME?NcAK5ڬ⟠a0`a~ppiϻ`!$0sb"""""""""""""""""""""""""""""#S`AJ#s) D>A? ++++++++g+++++++Ѡ|AHpdBh1S] ^ I*DDDDDDDDDDDDDD\DDDDDDDDDDDDDDD $|!KN/B"#!m0HDDDFFDDqJMD"Hb=n @="; ɐ 'W!bon[|b<ԙ((`9[(P:@En86Rʴ 2~<r硷Q$:ÃlQ^]7Hl2U Dh:ᘄY#0oXg)=jtꨆ:Ν(xn+J!v0~ehl%ņ zA Voճ! :uz/^%X(=~讎,* !Aޛ}//ez:};NŐIպ5|E6nHC=^#}*s ~算aA􉰀 0F洹'M[eZ3iΟÂW/GD@1&9莙! x>BykU "O(_Q!ꨡB"$dtB.) ͔W}-{*k@2σ#ʘ1?!zW?We5 ;G@y벋ͯ5.zD=z_> 0/]Wk]-O0-#E|?KWwy#+l6\G8JhK/󃚿~kDt]A*\cѤ (5툘u "N%[v"!/~0raAjϥޗ}k1-Hdj)륥 5,6}uz.%/KD [>t貙O :>Az}xF}Ium,0\PK_<[i_-?eP˜1 D.IU/˅]{7Ok| "_ ?=-k?RK;jQA$/pI-/6 _X_^['pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'M $ mR]E"??ZO_""""""""""""""""""""""""""""" /QDK~r/KUΪ/)A Dz}>R[ C'ZEbsg_iuW[ail)fǍWPh-b5<[i2_RЏ -lR1t8"?0ZKoK3ZL4 $ߤ7Ï,EՆ%iA7]0'Iz + 9 &'äߤQL%MxF%mVs1$JKaѰA0„zQ_4AAm&5 7C.2:DBLR 4lKAkh A N b?_ Li4GXHZ AA8 XA:AD4#Bu Xg0itm""_|zw_[;KG(D)RNa= D#R)3FQ<ĕ3l߄T. ƈ:PgOJak>[䟋Ñ+K"#\!'MMnUW1𠑏&Ʊߢ}ℎQlE Y0e$Uj$8D#ON"g/IhM aBf=fJTIXNN4t>(x'D8wKZ 6zR6Qς6.΄DqihHh/0vP04pBmz4I9!@$ %pˍo{&ql5Z1߶=n?΂W?,?>)zh}DF( qii[o*a/FN9TolA\8~"" V%GGàTya?ju_Z_ EOoKAGn$,^KSX + {>V ^1ނm^pRc.3qJVWp=?(7D_"!;S#ꋯR-a /HCU3gƎ.R&h(A3XP>ʆ x&S}LG1F]/i!Y#t:G0+Xka ~??|E7"H/O#Ϯp/ ԯ4p˂.tBgE/t)@>ee9{!xSؐ">mDQu#>G#"8k3GUZWK_{*k/g}(OWĠ:PUm|79mfٶmf  DDDDH(rv'KQY9heqhb] DDDDDDH?ʵD]^TWߏK]Z+5dC?e:7ˮEwO?w׏%&㠐"VaH8ia8'pN͆aCA>Du\?5Ì[(I_?]BVU !K.Hi2it`DDDDDDDDDGbq9a8-#8>)60F=0~#\ct!F^US#q]}{z_B\Wh?W|Gf sYrCXI)%T>_im o4TvTlhNO)u74XAPB?]1Dg{ׇ~L0G᠎"_jQ":{#2[3[hpdY`3FƁ 0^i\xO_<[}m-/ 8XfE:.": H@xVAǛJCZ6+$C8::xKmsKO %x! me |k @]mmvEX{GXk! W>$I_ _>mGTm +ðJ"C PA$?^S_[ ,"8_/; X506'GgG^ $y%Mm"<`#B #3LzJ#DK#` ;A 0Kb#( 80~JZt#:bp.G$` +FD}]{yƸA(4C a ?֒ HUs ?DDB""=-GTyc>M=tIf}'F`_cFpYp. `- A  J' OB8_DGJ-% BhqCZƘT"4 B;a|<'҆JvbÖHQ![q2B>egؿij@m\0al\361f-0 ğVTH&ZixMTp3|3nTM(DkS' ӷ\/m& 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`e,.S4(Ő3iYn"""""""""""""""""""""""""""""#pSD5kt.%l6kai9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$-A[FBb"X AֳHDDDDDDDDDDDDDDD4""""""""""""""#}HP~~i [LG]/KI8EV/e +Q7UBk/-&Ui|WҴf}IE3|tRyVI) S>f(S!y^o< iuZRT36QzK]&".@g0F;q^Y&eA|O3I6:dSyaCUeT/H/85~._5T/64?{=_ +_.@^ A׊MZ}G(_[?\~;%ձ| +5qK anT%[v|^/Οx'K@}mtV}-~W1#^}-:_\~\:_= 5:U?8? _~\_:ez^/Kl$z___5RMj=./IAjד?-gDyPs/_AFE&?DBaѰg]6_AÉ`BY.ãa@2:\~)&+bc@ 2d3H#j}:UѠ 5AAFY`k AWat ~KX";4$"#cCHB!НCB^_H q RB"""""#WޥJW %X(3^}i[~ޗU,vhWwضWSΪ=/e֒_!5_I_11e 0 +pzEɎ?!"__|?RN:`^%/G0E:#fk0J.δY_85y fnXò8yB:ͬ5$=< +_uE?%3e +_qxefsk=X3~D/y!e_fzH(akZ?ƿ(|-K*g%?^]޿}I-8y+D"?_Sfa 3ȧ~"K 3AcOX)DeB5>_Z_:tC^NysOGݯyA }p0jϥ޼W~PC_S?E[*g]_89ξ# ݤTe += 3G6G_Y.7u6*L6o.GAO9s?/]%|EK:ء_P_u/Wdv6 +u:9D^9ğǍr9$uYOK@AK?*䆿Ϯ %^}S VpNϧk?i5g?[>IUl/T(-vm?_i7B tb5Dq}.z^ åRܭ%a8j)$8@ZA0 +i 588Etl4-`i֓ v&ϥYèA0ZG!uD]uJ)Z m -d9*,gtfIؠ7K$jZz[:l9QQ * +6" cb"'6YpDƿ2ܘ0$`-@pW< c&] 6zc e2 _Nj'2:w7A8,A.˲.˲7.Ib!GJ AhD4}GT}꫸GqKcQ o]kpKׯ^Z -EZ"r:>EK׷&HKsyɛC7"hW՜L…EϲYhfڼɱ2:Pᕵ maOd2VӃe$vl LL6T+ n[HMނM@PG(LXg@mdN$ӣj6깬M/ :^>0ύNV g4 .z:b~}<-"_q[mYp']7EѢ8PaHmiy^4c4_(YB0P CA~&䱿-/dL?gTN|ެֳypckWF-?/ ѴAޖޗ}}L>IeGK١^i ~n$(>HPw8_tJ"P畄P!zDt]k1 =+A% HŔ!1e 0)\pe\!ŷיBI({##zAc/aMh tdox/z8j6qgwڂkܕy a1iYҋ< {Js//iPc3#`j]0: L4=h=ac+pњx`5zF8Eg A@瓆t Q #qdWJa\%D{%qzK֑]GZ-]hDhG(hZDFG3jL4 @ +kJ8y=#_O0>K HKoKT| K*giSU_[#[#/ cK&We?PP'k$!yy mKNў{cD"?~"< +$H( G4 SWDuI"?-BDeZ#"&P^yU_kS?z[q +5l( K+ WxJKti/OAmϯ_F튎CG#_G_j #OCU^߯⾁ΊZ]t I&OIN6_h/D4D(hH wֿ(KZ?x+CPÍ$JPG"9zz>w<ȴg/Hd|!7fO_.y8jt$A~IC 2|#3?H%sQJ"yQׄ \aJ$I}%|EkqNf t(_ إءX@rD-|s_$k H_TI}~#D~.uf7i K 'Iz_W^[* _? _A&#H"?}./ [ 5 lj =X1 B)0 @$$_FIM RH0m&IIwߙ+Ko@J a#K\$Vz.Nq A$A0 }G +smz 5O aA8I4Ji-gkI }C7d I8 N`N`/Hᯊ@ XIA*Vk RPjKHZ> 82%p`" .NB !HEB"?I0B)c[A DDFL2G""""?ֿ|3l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl٘fٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈""""""""""""""##. 8'pN 8'pN 8'pN 8'Y8'pN 8'pN 8'pN 8'lQq->>>>>>>>>>>>>>""""""""""""""#B"""""""""""""#+)eRFU#MɲeyO3CTxpB:6ӕg:sn6Id&I"aƃ d$CK l.l's)]28\U6Su @P-U&'u@-i]}L. :vL庖{pV/>΋IiH>3Y?Se/'%6v!ťFN!PO'izZ>: Ecx7,ʠI7ZI +I8ElG]/K)J?#1e sD_+ +"rߐT :I tdo}^>;D4kbp~D},בpr^ >+D},菥t:~E6{G i~/ooK-*[UOنtagq0F;qwXu,֏}<0C"},P_"KoKţPiR-c:_֗( dGKA{z8t moEk׊gk o]i{/Ք ,i&d?euB>-/Lis^։,yRȨ6i_%]&>B?P%[vVK֑1#㥠k튎tykدK)[hRl;oJ}?"{!IG Dmm!o#N _?(#?$ <|ނ8u/mKvo5榗$JQq<j.U]z_O /$&G3S_^Sa+DP 3#W$$:ڎ`3B % ^ hq|_Y. +W/8KJkikuaD/8K*d.qr_q$4DgG$/^?ƽv1-莴Hj\>_xa2A IkKI-c#IA@+Q:uť^fa& 90~All2 5*!ʡ"k H20aA8I34|aѰ̓FK5 i^ x2 21j<㏠# džPnT ),XL,4AdV>p/U S6$ A_+DDDDDFDDDDRѴYVw_3w貭ĄȘ!}H8#GEDt2 CX6DiXDr}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Gn[afС29>ܭ)PL>(%wmAz%+FkL-Pʪ:pgZ2ZC#q C$g&RpױuIʣMF Fp$ 6zo3:^E' T&yGPkNgN/K?mm&QDm&Q Ol%4?ɱM^c"*pSD5^4 \ $M^BvH A=^}N)"]V^dj/7z]fzVʹ"BIj_꺢TTZ 7} ^" %DHB)0:HRa79c=YGYsp /HCas҈0 3eEzEI (G(iJMucJML?_ȧޕAEZZG-> (zNΚ_ߕ KI!ZAYV %T*)m++x$G*< I)!K+_I:* J mUO皯A Pa-!Ax(]GA5`^ @^)Ckϥ޴Ks}}ɢ+:!#</S?Z^EI)81:!#3$&A@D o}V|0~ C+PU%%pAȑBI馂 h h)Ͽ  >U +#dl E: kG <(aAK;0>h8䇹q-ԷG.qkނ "@r-^+$J8NF9,?ԍwvDc5m-xAsp׿)bH}/o`:XA  ܷTޕζuoz ΰ  tʜ >k-C?8 MlBX?|s8 /׬}IpdvY}H`vK6f#KD|rl##"=S)9A)9sB $2V.ˎ 1 ZdqKvk:?A D{߂_^"+e/ r2l,}<5 pN 7#r1`q # +(ndP+c#l+i6:88Etl4DA84ŽEP"""""A@c;7ʝ, dM)aAb`_bv z2:\qD~0y9A|DF4P& 5_"@״g8rG;vrC a0iaT"0hHGkf ~U x@N LO"WP}[?0q;kD~6ת3O +sacDOeهVZpE9crhEcGN8C}cWJ^ƾ#E8"?܃qFGY@s#kw5B>((GGTqiKN*l$ӓ P8Ꮬϥ9)mDpPm-qB?kA5Z/x. +\G[J/ FyO +{,8">l6tmXE9Cѭ3phDD2,gp˵ """"?YjءD i,#TwR;Dtٴ(LVml383f=f TgJ+GN @+FKQ1.Z22d|Z>:6 HME8`Ti}2eQ-ʃA &l&n>6`i:H5PA <&yGPk~[.|-2)(:mi2/Z:}hj oneyI[ +- +/ΝV-%4C3ҿoKBoI/= | $}QQ]QQKBBa7ƗdE fI" KgZנa$\ `W#8AyYGᇿ]tl$qdWJl:](a#"-{*k K <֨,$Î})CIPCPҔ4*gv G->֖^yc+H"?ZM_޿_.@t_vL0"?*IWe"ҤrIgP HYJUXDuJUI55q%"2bn-/JquD{6< ƏquK>ʟ<9g!ATy#uT?_ #}H K$_W믭jS?_ ?˃GzQJ A~Z J Az(ֵh)-Z--I'-^y~8@? V& D~ @u}PA{_-u3AqAt /_ }N:>_/?=XZζu/:Qm i~8 MpB_Έ )Np ϧP"vk5]fٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶ KZq_"׎DDDDDDDDDDDDDDDDDDDDDDDDDDDDDn|_ʯ: .Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"zMX1 }""""""""""""""""""""""""""""""#3Z_K aZ3_Kֺl8 F/oկKf"G%}^:M08& *ɉjpapc~ uH4f %ف})Pka&04!0 +`1_L2!1nL1QKbB ia AL&ADDDDZ@E+&hA9S88BJ9v +I#yd*'Z j apEme>>""#8{4jj4TqBN&PehtᲆR\3P[85 &{Jq +Ν&@/ehzָqzY44AYAm/p4363\_᤿ƒTgKN!ť- _.Qz s5ϯR +k# a# }ʙ:I[zUi'I/xD0KxDT=ƁVʅkVy mI#@[8_IY:4q+cIYEƟ4.lrDE? kKr [_e KΙ0"b D}8]HFW#:B$%]¢Uz>/_L~#\c?o_Q#z_8i ?aT>KKVÿV=gT=\e&8"=I$ . z[UKA6 (^%jA{6P:_Ď9 ~D~8 \xOGA&PYS_*L D 6e#Ύ!NZIL&_ttM/4 ~+$]u2}x@Jaf~z[^Kˬ?X_K  L0Tz_ Kk/NBZT($Wb^#XBp5yB $k%;N<KмBIp 'I\Zt~@ :8䅥A&#]7Z_#OG$!I`$$F5[Z_G_M IB#!R_*2 - +__@MA/Koo%ޗAҰaw /aWKak H6aY7խWL>I :LW~ v H' 6`0IG$ɍgҬʡ#?8%A58ǤlP N` 0zLUz ޜ<$t1ZWP; +q; HpdB +@ i +HAð tHA?@V3 A!ҠkHp IAЈaPB""""#L(ț)6EK"92QIE򉔪VP3Celd8llL38pۆj,fPBaɱiVE^aA%G 3=mݕUfKrHgI҄x3gNީ&{I.ز&ƽ +oA}iC8~( ~4[sY5(3I$I\~pSD5-&(^D /-H|P{6R 6yhT}0II'4N&WM֒_Y]/fL- A (X9nA (C*g)_+$2oprSCЗFP 4YK&|}$89EXe 4_DQ~c.Jt4Bg o?hO(_t=\tXC F?~Kf^ޣ~ʳ_bHSΖ^Ҳ0RNAD @C |Wg$pHA _"KoHihFo<?},5yyyk>y m?ׄFf[kYfLV4e }wAz>>=(Ec?I0-/K5ߤ(6l9qaka*fflSy俓Gݮa*pG_\C]#b3V}-GGK@O<GbG/ 3I?izI6|q?Ϫ$A?xAn _)^A{-/$ <,B ձKA&PKI=/h.}$y2<֧O_$Bo!yxA% 03?Kej/# f)u죯 XAaz L0T5 +W>jyxhPHiNBP }$/JUKtA u %5$*"=_-%!tPg֗ǍD/(BIi WiIG$)n DcUPϮ XA"1x3$-/+ @$/  RO=%BW[@M;z_8@M_S&R\9,? Gi_4Q:A@+i/ä%BAcSkIL1ä _< H' 7ϭ. ,0ZP/5p*zѤ!|L_:4ogU<뤪z+i~ +_:1-"PѷϢZ"_jQ)(">Qq>|Z"$zAc8::x"Z_ FG҈> VDC6 +?/ zS:uϧ3GH]|s_~?A}La no}8,AN7Lv5D:QoAD}'Ql\TH㨵+ +Ƿ@gޛWoM@*7^GUMCC (E + ~oNmo>WK A(:/n0Ͻ6ޛTo0bQ+me/euPͽ젞?+QE( (AB +P 5IG֢G+33 Q:eeV %`(b +? +endstream +endobj +2 0 obj <>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕr\CEI +endstream +endobj +4 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +5 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 95290/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZ$ |pUG>_D BZH= AnQr ڦߝkTm*O SWMVh,KԽI7"=HVl}cw$=B-W.|E_KH0 +W$߭'Icim__KU_, +ZM_[< _[z%JFǣcK<_֝bq Dmy %HhҴqi7^v B_mqK$k%AV_00 aDWҾhpa  V_@@-JK$x ?'ZzzD0k)辰%^} ~]BC%?/]$&ڧKfn%io%KJ/a ;T%5PuuCI ð^nɟiA$ÆJ4 ,00@@2R DDDDDDDR}'Gn?[GeDv6YӆvF 4ϺAVكŌuVtαڸ"ZȮJXDfVQڧDaN|Ցu ;6F dd%pgF2ӃM"jL0j7Gs ӨI 蔢5aÅ +L0aÅL4p,Ld#:DS F|.O^ k#a۰&Q7GPUʰ3ܨ'd`?2AqeyBt4EoI5ejd۷F0mRȭ Γd<~qiv(4o#CŒ&}{*j>By6p)|BtЛal?FB$ǺˎHԈ\C<~+&ʫ${O!/Jr:M,z*?iW.!<ڱi$_=!_Cmן d`*^?095|)$$VנVU+tړ`AsEkK} $:I}&(:vkYmib\k4_llSʀ9 J&ŝ?z]pZ1_8/uEJyőDkQ0UA5K:sZ~eg?\aAdΚYAa*ebu/Dz2?}i7~"=^cA]# IT>@" ~3#:{)?tOy._u8 _|W&i+]&U/tz^j"ISL_8O5U+KKPNh0K54$M}6Wk](\0@;D1D{rsӵLW6PmA5⵱Y. +IV֔?B +X">NS7Bzŭ.#V#tb VJ%B/l`yީ?M~yt癈9#T7ӯ +_/: !4sYo-}4RO׋_ kב5keNuuZL=.=Y G*^r|t*!Ћ$wLI)) !4/$qΟ_z_;t$ X=R_4^?ZIjϯkJ"MzK0 m/ _u6aiU|/QJ--3ZW_Km$ A~_R +f_UI=- TGA=,]&b$+ B8e#I%ZU_A~,־SV/Fj@w$-V %_zM +j?*`Z&=I,"I,% A_}4ұ3_yCmH0~ICr9p$8I =]i- PDzu]&IH #ʮ{7РJ7v 'a^AH0xҷBۧ^ MWM0iWM%SФzM~o>JKnxI.I7qz$$ޖ1?ItoH Itt:Wi0*kiEZDo$/$/M$ rIlѬ560 һOK( %&#A% >+ PAl?aРA1I0a.qn\ya/b kDT+0 H>/Xeh 5 &IdXQ'a)p^N7L-%$PT!& ~@Ab:A!]!pa hxzt^F Pkx@54 3d#4#GIzhhP!A,*&DDDDDDDhE"0B"""#e*D)q,e!tIITV2"ʲ"cLg^ }Q,ީcA)9B +XvzuϢ Y郆uϢ gV"-$,U5#i/ KpA?I~gQyb!Bai'Q?6ݾ ~[*i4yp"?I:?6Sצ` ⒐1փ)BvB $Ni2>_(G@1փmj h?"/$}Bm-/bαT3G^}arT^=MK*%LzqTN3G^Fsi'Ӌ:qQȕB/϶ôQӋ!!͡V7Ӌ:qQ҇0Dzsfa3 㥝VE9c|J ∏Ns2Y )q~`3ߎu[AK#@_,R_ +k=tK8 P_/J5oɌRmC":_1Em-G'ImB4Du~\-&j9_aukIZVa":=:_Z͌]~u?xʾւ)y: n/'_]~u~~ue_bUVޖ_pU+KK {=/_/J ,POAb`|Ed^1D{tӵLW2{1z"O)PsӵLW?@𗙯ߜ37zŭ.#] 𗙩8ȘXF. y:Vߚ|[-wL0zU?Jz<ֺ}s^ҭ/A䯞=6r)V+_kc5#k0 %~TG]|"?t +a5WDp/oWDp/שWךK_n@.{ u?K ⴘz]$?Ω:eW>cVQ_T_]|Ve_g66UkH_A0%#Z'OM.?m}4,aCCpޝ>D5A m2N#~">CK~"_:4XH> x_Bmu5L0ȯ"鋭SF}~pOg}~`_&dWZ4ozu=WPg'x@ +\9>{># +iy(3G M. 6]%D~aZuM Mh/m2L6]%>#."?u]iF~c@zV^+:Ϭ%~|&_ /|vWKuC͡㲸_/#[fICoߋ--COkZ֩tL?$K[_5Zֺe}:5V_O.hraߥZ + %nE u]i] ,B @P Wz %nE?%nE uy:넖!Ah AiwTcծ(EI|B +<Kr **QV06PPAǥ,$moMnqδtZMXP?IzPtm +2;sXMnqηgG5b@XJۮ/܉&Ht5^@b5⻎E5⻑5 +j>ZA޼S-4 :V=fk(m (z[ [F ?Ql O)>`XA + 4" $Nc&"L-RW^8Lz},p϶Y#:egיZDzs)NAN"/vC @mBIim#cւKuy:Z_{(?Q=)E?g9~\ %jp +kf#9/zJKV_B!$ +_tH~uKR_5C_Vӧ@>}1iW+AjCsU D\kh.|a Ik1X?ïeqT^GY?$K/[_kWӣZJ_88?<~zS><ԁ({972;s| ~@5⻑PyO-`>A("=~ji'w$Im߆)ޗKoKm_il?%@&- km&~i- ޗ0 J> sRN39R- b '/I S,2E"vq8 Li/,0Iq+ ^2IxAc!@DhBADGYQoI eo2Gb +)h5"FY&cA6|92P:g&}9 D q@Ry)Pl6 @(`pp漋inÆٴm!o"ւp漋im0el6l6eET* Tvjl!QN0 TtDoػ3Qh&3 "cQpʅU g>Ŀ&CYqL028n.4P}MYBBoaitTDS F4I"nGSiXF - {Ytս?lps.oO l쩯>'抢%$l6y$-YPi֛=* {?I o>(_~[+{lOG|{Rձ>&j6?ZfGAMH6(:/Jr?upSWgONߤK a(G| ReigV"-$Ho<􍤿\/yb!BI/HKD5 ?$濈N0)'%TizOͯ@y$%<:'o8^q 5 Rt>t_нBIQ(փlWm-/PD d5_+BoK]RW^9sLzqh[z_B꒲2T' _m$߲89D\8fi\GK:sLG9JpK,.Tqs$G9'Qz`9CZ`CrAp@)i^0 +z'߷0.%c}9ZM=TN(/cZmC5z]k:5kOe'N_iZ[pIa#aZ͌zG^h+]&UւKuy:WL n/IzMWwI[b׏뷛_iiz}=W-/]-Q~P}KDt3Fbe"8?'^E?-gI0;] SیXu=zO3?n/:ɕEoXs(AuKkUoXa/3Fsׯa_]us.kkb)V]yX^[KΡR۬#@z^k"J }&R۬#@z^I+86_Y  4Vu<;i7a+IC?X}uZL=.lF4U&ʾDl6 &8^YkIu_Y!r@5hsI2+Vc][,$_ C_Vӧ?a"`2OPVߚ V 8:RW^`_&dW}-#>8'o_ /3 .-}XksSZΏ뷲:OD{0^Vԇ9>@G迲9?D{0^V"?Z ƛ]tKojIK(ol| Au |6]%?J4@$E-KnSҴ +iOm{?-w<7H} :WKuC͡3I@&WKuZzۭZ@!I_*0 m/҈m|V_Nk0 m!Zֺe}>ôZ + HR z>շp _ %/s$pzJKm$ V?_SimZZ]D!HKPA AQTc4Ob$*1~ AXխm#5 JaLN?#U_ a#XJۤ᠌Y J/gA\QAUWkKwgA\QAU5~4# =RPIs@XAߥPg PyO-[(m (ryOKIs, $ v )i7 M/v A[I?v A  Ⱦ`$0)%MF+ xo$Im߆)ޗ'a@vb~SK` % X ү~&KoKm_il?aɽR ~,RZ[r-1_Mn[%@&-~% 0M~t%-">`"A! Bb+qjIwAlM K%~?@CL:Z]*jzۡ MxAaEBki7( AT%& < /08/J}aC4(Q'JFA ݬԹd H$ %- +"p u=P! 1I0a.qnZNM:L0LԸ M 50EA-0 ; y8B^L& 4/L 5NA`I{AYZ/g!j080AGH4 ^X,'_1@ +D5S&N)ɂ`!B"Arv !""uv;FBh"Iu}K"14T>9x3Vzdf9ENᲫdQC /. ? ML6Bέ¨ "XMg "VCZ RQh*Jz 2S FO齵( 1m40?nGSU {YtLMKe C=: + 6C|~/JlOG|{/__[Wd?NA)_Qyb!BI/HKEh0釻|)$$I9j#;ioz'_1O:u8kAB#SѢ/!uI_/*gKf-(~/?^YF_HADC>V#MgUts镞_O/fG92᝴n0?3GTV-=~_E9@|'L1߰# Iji + s5HKK:{)?t~Kn~"WLz]~x֐/J-R-FPrsӵLWDC+4Xbg~jUoXs]Vi_NAE]DZ3E[^%z($}yTZG^\$&IB '/I[zb$+ 1HAX:ŝՋǚ?LN Ht5\}5⻑(߄ } A% QO)Jzޖߧߏö߄J}1]ݯ4~bIbz[|}v6_0)mߏm/-t|| 04Gi7m4# Wi7J?`Mq5=[OPm& i\PD4\4.  TKaz0sb 5II vpdpl1B | aA"vqL& 4$hKXDa ^XaWIT! 9&B;CЊB#B-(DDhDDig"(ȋ"cL#!lFf(:*}Cel A:ɦp";ȾUQ)2_#yFE3"`쟃>5dB"Ul6a6iɃa5 (ͣZawDaݰ6 QvÇ m!iLh;DoBn6-: PM{`+W +TFaU0q{}E L&/L0 9ذe>æTrZC_O%AeI g&ۢ! .Lz 3ef2~gnc"ח;hu_1dT~n)mzF`aP:u_[a[e?eM2: + 6Zm%ͭ(4#g&]$$}ma QqűtqũC=~ +RlRPrZ|?ۯ'o޴ΫDo:4%H#N?:IpXOvn<GoH~_oHt%w /՞_(_?$7Y$I _ukaN1g ׽,K-(K%oz)]Om\R58 ~pk#k\9(0 fi'"K,<:__g836/#q3^E_^mjjNt}/j\鮗G ϣV+=y iBMt0 C X"/t/T+Sai/d ɅX5l1Ћ~98ksjj`J} IG |ZD >+ή CI99k]/Q#mW!x%`lᩲh:(!Ηo&!^ʡ:Qnʬը"?]{VZ͌_udGK3ϐvN/i$_Z' P=zK\_rlT +J_ T"?0ajߤߏZkpD]\_vP']{(?Q]k~f + _/P~!5S6Pm_K׼OzAZh"_s?^ +n-YBA%tH8 *b^/:XKu !4_Ύ"$"&M{mi5z_v\Sao^G(a _I4z i䀇oiaDp/Dud\0{}GϫKM">}]?2^ZFlۺJi~-0Ҋ?,7&ʾDl6f_ +Ë#Z|+-b>#|r@E=.VPqAWa49 =K-(]IOCӬz?KR.9tub-^[C?0p?V \%W/^OԇD}[/!zXh/b/"?]G DYvxMϪ/߭" 몯KBKKzz-//_.@i~/ ߥu_[t--COJ"URsk҈@T_Ko-.i:+x=T[}.zsf_;)nM][ZZ] -)8?_)^65 Kޗǚ?f_࿯ +ץ,% A_mS-r%z}/rC(ZEaHWK}/KZA޴[+OM:_J[ Dx__CPQ}޿ 萿 o_%F>z=+_8m>"P.:zWaҿI.!0R. *La{Z\).% sR0Saw =&HԗR 8 A[uW`+K0iR9ZbK8 )2 AΡ<$á93岁)ElVokIqRKi7NH,G + UBN7\Z Bd:+ ` ~^m +ӈᤌ2:CI P^ +_) AK#D:6H*HD`! AP%45H*I T"4"FDDDPB"4"""""""(!ɰ;FEH"#%TF"ȷEsn\cgÁ :gd#hU",Ԏ< O;1llq'1A`p>E4'4ٴm!l'i + eUYSL3=eU֨a,im 63-Ąt-DK3W٫:uw +-ظmB$vD&2LRU٫ &6}AIP"#}7 +wTȃ +aaHC)70As ӝ$Etsg;XkaZg;XkCɶ#E t߷ +KL8`ŗIAAp 7t:TޟPiwLu:UT(mB,L + 4tNu :=: + 6C|~TE7MC4CI6H +B\U[ͭzuv$x[ѨǺ}/d/^5$#RM ~F>=ӑ8"Wg_N29dKmmQm${OAzSӜgV"-$HoqJ􍤿]S,$J/K~PK!u5wo8(C/?6#I/rS#i'%YqK} $:QssCZ@H3Ro}'&?HU~^$szY(pV.+ Lzm_AZ!t4`9 J= qK}/?^Y%ͯӋ:q!/7NM + :!SD|SֽED B!㥝VE9cV{}z sሴ"y IV^"/t/TcZ@L{}q R4O  |qTKbSKPgIe}i6x>-P"?MLZ|IKi-Du }R`I}-'qKIM/ \56U '+]&U[ )~*J ZLE$j>UҴ TKn቞#$U#~<Ҵ T"?g10;]^D?}Ab`l4H$`T'}%IKn{(?Q]kiuj-:Ys룪0𗙩>R#)U%I%C4H*'"֗K9bzH]5f#9/XJF` $zh "=izMA/k׶Oyt/Jj*ZuhKҭֿgWDp/L1e a3~P_>!>_IR_]|VKcVQpHNP AkqP A~Fʝ=&IXWƗq +H_A0.p~UO* $/ x_|+/k_A c}/Ub>G4I:AZH -\$_ C_]_i/_ /(g5JD $ ]o_너.a /[ >`xAZ R D\^Fl5P6-{t `xAZ Rׯ?ZQ߂A&Ϯ-6]%o!2qa&]uWAx @$]z[RپgsΓ~/X<=H\U/}^.piPAk]/X5͆^^IJ"Aֵ+ѭV}WA]e:t]x@A>I6D]cʲ]x@p _ %/s g%nE5Nz`gL_I(A~=T +1xP?_UMQ-.`p K)W/\|B +:_(><ԁ Ukejw8oce9Mc(P?I|y_.ֿ ΂zWr&"?C_Ifik/yCm0~IC~{l_` iu PD{ $4#9o_箵 PD{m-^bIbz[z[ix _-#ߏ߯@vWm./3y7[KKam/ooح-JA(aimoKpKK% ??k_^-0&o-Ka7_OI!~[kIa5Tm>"@CA DQǤ߇R<`O5=[OHHJQKeE0tʔil:K %>o"k^O, x( %W=&:LK[WT;&aXd%P ,j ԕ;&DF Wt3p3A V$ XAkaGo5 % cXk P^vA"WH- +++B +T) XB8*AGFd +! Q 90B;CЊB#B-,F-44ЍBB;C4&H!Ј +DDDDDFDDDF""?v,Z2(D]ز%hȡKr<#Ff(:*}P• +Y$:$'dOVS""Gud$:$'dO- ma`f|6UldFl2'0la6 q\l;LNjL"s 6ͦ)Capۆ(UeB ht(MSQh6)8lM.ꩆ#$aŒ&aIf*mpWqwUVOnC QM„{ : +UAx3 Eef2g_p$ANBvͯH@oӝu/!.tWz~ڶᲰA[8U#DޟoY\U[ͭzu__k]$MU=6(DL_[jǺr3_]zx 6(&MB8a_H/ O朠[*>_MKzS(@먊D~z_ T"?b\kKejmAM~֗ )"۫"#믯e"x3K}$҄{{))Z 4nri:t]i/:YtPXbgւ ~aה_N#5E[8h/6]y@+t_r:_~ Jy>|9鳑v Jy>XM}־&KJU]aFi %[_^:_fW_i5>#\B@KA}m_Ku"=h/~tƾF뤿K~랿o,hR(l4zˆ~=K-$+ H&.~۬GsD'\/ g2?z WkAI03#$Ο>z[}f@$irORׯ?_2̧0H$9߯Ώ뷫Y |=gwI.4K_>kb $k_?ֿa&KIKGVHb:L-*_gz?~V AK^zүAm/8;מշ_iZ=+H Dvyht_OzV @&9"='pA}O?HHm$I'L>KM؈$$ BEhA$M?aH8E|D?F/0  B M 0A1NR.O0zL1$i6P<$һ=P㠂 =}*La{Z\\i2)xI@ ҇zMItȠ`kx <\i2)xI@ ҇zM]Sa PʠJ+b+-'RA~,z NM:Q_ ^!K42]RA~,z NM:Q_p Bq dJ@ bAHa$0@ Mi D]M k *[Ak +@ a L& pkH,j%ztGFd +!,BYA0E8AQ:0ZCAN)!j0 !dRi D i)DthM5R +B#DA% A:iI RF#J@t +FDDDPB""""""(!ADDGZ","L" 3Y"14FE5avajpU(eZ/u 6ͦl +P2=iABe-4znB):-}$p}M=hp2aqtoaa^74ߥL@o]&ޟoskA2: + 6כZ YPi!mUH8ԁsOgZ4>=?FoKߤdtiў#N?/Jp/&IHm(mߔ-$􍤿H&z/0z/_g_(8 ^ ,KB $NCZp M##E9G9 JyS8|)#לYP&Ge3ϯ83kЋN,'_FoV{qV+=.Tqs$G93d# IJ5oH_"_S |ZD҅x>-P"?6[0:_K?3 /%N":Z!IҥD*_&U]~A+ T !_Ziizm<_DCH(Oee"b)&-YCa%txbg~:YqkK ^f"f?tOyU2- IשW$_F*WDp.D|}#">}]?!aYF#M#+-b> VZ}~5A0$zRJzcnzS}>?~f/ 2+Hϼ/׭/<Rl/+Apկ}o]ׯIzf`_|l| AˤǮifICBO<_ /\U/}z_X6(9D^I6k]29Ω'_sksG %$ (?? <ԁgG<ԁ(=V_WamW~UuMiy~0~IC.2*?~A("Ja#18_D`GkAlM.SV!0_Fz4m&< __09R__08( TzL0O3++-'kŸAi8A6zh1 # o6?8'a a0a([^,^($e5TЎBhG@DhR DFDERܲɽH)64چv|#vc9#SP-Dtg3`0y+P;6ᲫdQCgp%.l 2ᢈL0A)Dk-â 4tJQNUBX`rDME>CH tS։ &rm)@e>æ#EK+ypMFBt4EFBt4EŗI&^ʚI@WI8eqVtmm/&]$YPi!zyBTIKB9Iit뚼ԛ8T!:hCO$G3㣠ҺIpXO_[i?/Jpsꭇ~!y%>"b_=!_CiF؆HEߔ-$VN_8Z&0M|K):M_ Ru%zG/nsz'D>)_ID5hg?ID5󐺤I6tqhzWk,(~'XњלYE7y_)~ ϩT>@SIPgWe} +ŪG&GrLC/CLcIBAf_{_n"~a7 +ǿʾ$?ɱP*N+m/C=9:+O/fZ}ZZ^P'\~uL8A+e"DiBn(6uDCLWf/"չŵ,:NSV#t"֗BiM{mi?f?m7r:_ʝ==0HP&ʾDl7Y8ƽ/I}~5A0)?a49 t$_KzuHBZǯ"`2kߚ A+O?AaE~c>ۯbԇy~L\zz`xAZ xMB^}%陁 +u +r:}zA&:t"W) !K0L_AH}a- KKAӚ ,rl _{A$YE:Z + rA~u9?_ Yq$ tA~AP /ѡ6 +<ԁgG(R~0KPI||}&_=_kQAUH =ǎr9 ]Qy8K l AA⼜oһEpWᣡ#[ 0Uhx1^lTM`.*#B&PTЎ#i1ЈD吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂsZޫ${O:}/Jpg:ӄ|K{mX~PI/՞/!^Tkς rH +C4XI O$&}o8~x@VSV*ܡ&|2q|vUy׵H$pcc56\WG{'CB/eRUoK]RV7V,믫d 4yOks~N:Q:_yZ"ƌץ~fȏHe|E"S5{WO"zs_㥝VE9c?_KΟχ0?T8Q5Zzנ4D_ޓ_CkY sc 69ZMʡŪG6k_ڔW5k&bD}Oe'N)_qO% K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z*G~zZh/?m q#ޏ3FbqlW^D=10UbPTG y~"7\g'# +!WŽb֗sk:YqAz^N%c_oa{/v6kkZOy7r:_5I{:KAQ I:}_/gҜG@C?XF*IZZk*8]o,75OnzȎ&I +W묆/:Ni}/©mWa~0V"]B )$>]:x"?DD}$/K~+ۭX:4XH?L] !|-cˆ_D|eD|e㸑_*^mk`_&dW}(]el._rͥqzK,]kGG۝##&A1qCI ԿKAh:_ikIo怬y_.I MNNGO_>~Y AҤ :ϤUe}L6^|&_ /?T0~^iWL_-߯[/ta &Q_ kK^$ uƖ>A-׬g'괮넖!I(Ag9P?-*D^~zm%TKWI|B +/AiPH?%_/(Amm_k__#5 ZTҥ{Z_^$z_?IWZ ΂^ +>Ia*J_]hA_xX<Ϭ?$98dAii,}aXA=uUIv AUtM&XAPoK/& $TI/ЌVߠI;ez7/MI_IzW3y7[ߥ]7&] 7L?`h%KoK}P:][t >oIXA= oKPwAlN7A}& =R.:Wi0*kiEZDo$/$/BL39RI dƵ<9:5]&TzW`i%acT$x  ]& 1p jL642]aРA1I0a.qn\ya/b kDT+085I~X9A-xk4 _+ +?D%:+ |e-%A:#E +pPAA3. !bb  ONK"۬#CA:7DDhD +H0RTЎ$ 顡R""""""""""#B(!;v";)Y[";ErDWUDL-dB"׃>4F"g;C k;|liiAV D-5!C:gdB"j[x&6ͦlv,7DaN|בu ;64֮8mL6B4.( L&/]‹a ŦôL0j7Gs ӨI "5d"g@gvFuw +-$ 8`r\fh(zAs ASϡDԄIlptGH +aaHQO)7ef6V@7\4\fh4v p+˂pXF -zBBd`?2AqeyBt4DP\ 6V|=[6V8zTQ) {mUI:NMXl!HZIť+kuWkMUNDaĽD?b!ԛ8U:z|MH0QrZc?9ů +/|^帅D1MR3`'I7<z Ҝ>괺у:ǽs B?MkHK?O.!<ڱi$_=!CY izF_I#~m{"?#ϳ_^`oCIΞy)l=^paNh+}kAi|֑NH$pcLWi2y h?_(^?1JJ"(DD?M/O*G.+KC_E|פ\8z^ hmVNY#ІCADC~DzcFkҿ4^qdg:שЧ/>qd4D`8(a_qW'c}-H}GZ AւervPgK\-&ePvRg#X>mBG+5ka&bD}Oe'N)_+Kn~կZ͌u^דU]y:0tW"?Kh!]~-?U+KKPNh0K {KnްD}A~޿YkIu_߯qθoKaC_?/!BH_ X+t_4AHϼ/9>RKկk| a_EJt:ȝ}Gx_)G^4ot]#]rº֯_ί6  ORΏ:/#So^f."?ul?_.I MNNGO_>aˤ|OJ+\U/}a-z n7yo "cđRAyg[pKKA]ֵ+QQG{~I6/҈~ҿ[_kWӣZ:++t-[B'괮넖!I(Ag9b/1^A"-.KqE8*SZk +1x_cz<~zSKF?m*N?ݕoY}_(? +<ԁ҇~_+S9'cTSZ^>+I~>+U6F3y >zץ-}SZ^+qT{zA'Ke[(k㯥cf>` sj?Pz_ƅק6G?#w֒ZKaxo%GQ]-O.m_bޗ[*ZޗF+ xo$Km&1H-_[pIUm/JgoJ6ү[r#>oK -L4IR|| 0OKm+Mz[-";XAMm-K$[D&"][t/IIKm, [K`v ޗ zH6X` +a+zMq5մj:+ImƐm& T PAl> 'JGKaIpL4 taPM]'x@_zS'JFz`[ӤAҢpl1tXd&cXd |$áA1A&b`] >^zI$D8A6zBjKi7N %Kh0A`I~L aL  5 &IdXQ'a)p^N7/ b!/&K J`>V$`( A!,RHZ>ႠgOH\B~ ~:"=WXI@AK 0jP i@54 3d#4#B"-РA"4!b(!AЈb""#&HID&"Ȃ#%J D[}9*׃>5gdDRgLd֙Y0g^ ҇ :g̦PrUr+" p漋inÆٴm!m]Æ@N|Ցu 6ͦllam0evpmD 9n$&Pb#]6ݔ]‹A0醃%BBauY[VT(DoQdݑ4Fmén2 ˜Xn.4P}MYBBoai.P3H +aaH7\)IoaMa(e>æۅ +u @ 83(.zB#A(]&ޟF#0n4MDM {?I eqVtmo*'O׬CgBRB2S|~L*΂MuH證H0Qt*V!|!>&j6ƒ z[z_ T8lWs)}ץtUw<z Ҝ'K(I$Ke+q}mX~PK!kK6]PͫIzF_H ߤm%IŔ_K!3j%h|)%$$ʚM#}IvS0:IIIh .='I"(yAvB $Nc&"L(GHmcI"tf2I$c!c! l4C>(8i$9 Jpkg`=/Nr5ޗ󐺤3G$^BJTgL/RkЋ>' iŒ8Qt4?KסY#I)G>Ӌ$qנg4^qdg@1I,.Tqs2Kk"=9^a 0 If,.Tqs$G93Г)z0yKyKWAp@죜sRQZzנ 5҆L(P@(av"^H,vp"i6x>-P"?:[搠~cZmCK-HJwg#^zy'ΞO/Ҵ1:5p'KKn~҄l3U":ۄG_KJK +"?+]&UւKuy:#(3xʾIu n%]h!7?>iiz}=Wҋ-/]-5AQ5WWGN {0K/oK-U99i&+P~!2z S) zK/I?OiVi'\/A0"@>}1i?[S _AgKI03Hϼ/W eu@ ` s}WPr A_"=l/+ApL>=BG^("H^@_K(ol| Au |lK_aKxOĺҍ&& 48lK^0ge@lK^醿ׯN/"}w<7H} :WKuC?}{_[7yo " RAygӥ$D_eqT^GYK u;0Rw8?0 m/҈m|V_Nhߨ~I6k]2!h/A0Bk]2~?km|_k ,B @Pg9 WZ\$&IB %nELRV%nEasItOB ^>!~A6T~jIB ^>!UF?=PÿTuQU/ ifPjHH҇~_+S9E#U5$*/OHt5\}[hWr$-"ᰏ` ΂kKۿ$O5T֗5H^ZdlJVO)ötS:8lAJSmA9<jT=_ö߄J_IiutLö߄J$ۿ"I$#_][ov 'a[i7Fwm&UqЌVߠI; 1H #; R3/ob׳43y7[[jKKa0<-_k Xm/-_ ׿[%@&-I}߭ C Dvz_@A#ޗ_i Bb+qjI& WMAi6i7$IBk|D:Kn4i7 :W\w%M$I/i A%z _l`i%aƩzS'JFäOOK( T AC'JG֑$08 ADBM󧥯I vp#'&OT Mh&/yŸAi8A6z:NMcxAA&2 x(A%`IxAaH%12 x(A00^F A` A_|0H00pa i/ A Ipa 2Ix}` + (4L$HA,TH0I4(A@OаD  A"4#PDA +B#ChG#LZ!d0l"#B""4!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R %QIKZ΄؟D a5!%>=\sDFG&ciAUn=Ny]>83}a?ziu}]i>oE?gV"-$Kg"HmW ,\7m~yYE BS#ɯf8N0)'%_/0f9%ʳ(Iz &vUy׵H$pcc56\W8`"S(QSʰ9 J&ŝ?z]u4<59DFo'^ +}B(~DzcFkҿ3^qdG`2"?~Q0yKӞgG,.TqsiB_ vt|=q>?qΣK V [(/kA~h=0I&>4ֲc^cA# IT>@k>Ԡ2jLĈ_ΞO/SK^__MWL_?%u:A +UZVajkZYhId\] S";Dumuy$4tÍbP~!~lVAܩ)~5#ͪDoWu󓑋m ޱkKչŵ,8=/'Uʱﴗv6kkZOy7r:_5I{:% o>*%~,SpH}g_@TI?_XK^-}zbJ+(o[߷ fʝ=":ⴘz]$)^>zT9i|*v$0V"]B )$>]:x"?DD}/K~KKa=amsEzEВ=}|ixK9G͆^G͆[!$tvJz[qKկk| a_EJt镳i~969/ DTunG۝##&A1qCI ԿKAh=i%Kg-|K(ol| A SSϥBh/_/_ >WA0[im3I@!%L%_]2[?K.I~E&Ş.H [XOi] ,B @PsJ+~)zZTCKi/ҤDץ:XjM( HWA~BJpG}_KPI,־SV/Fj@wI KK*K_#DW<~U=_kR'4@,%M/Ӯ It/ SXaiW^ MWM00MxI/a;__ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JuqLmI-DI29>j0O &rmԐb.P2DW$3u' b2t:U N/V3 {Ytfפf L_Z`S El^\ײI!p"ykbgB$>zaF~E~4J%K\t=>&j6" s {k(RB㣠0mG? g:}/Jutq2pmG]kΫN0#>H_Z}mX~PKE25!y%pn?"kvS0JII?H)ɯg濈;r_'IO:нBIi{_|9񮎐,5b"(^Fz_B꒱8 FQ W6unm נQ8 M'^ֽ~NeTq9BSk?]:j:Ӑ$# ISPg'eu~#^\tQKD{rկ뿿\uG^tRfeaWwIY]`x=\4GQ~=?4VGL#NA1_]qm~߾Z^?B +X"> ^b-zfu|7GAZ3Rׯ4//l`F&`EXK:Ίkk׶ob/. yVa #k0_(Km--&J4@$_immW{>SҴ +қCkSu~پgsΓ~/ZJ{n!KA)ZZ + ih"tIiw ~I6Z ltvx Ș+mW ih&ZPTGAz_-Ҧ z>շ%A6J_OT[xA` lLReLh)&$ J4(.-?#aSo_ö߄Ji֒6A}=_m4:C&V, XAt$?)%M~F+ xo$JE>$ z[)<[!imBm ~~,R}va?g{@Ka_Z[daKnVx/m&K}P_B&$ Km0Al1ޒ t 1 n^-=`# Rd[TP9B_ SA +xҿ6OI%x -xA0>pMK&+e(i`x_PO_K_B +X">_zA P'^-iq"W9΄fIGUc"/?!L`~Bi }>b?a 5_X5&`%^:YOaZK@&㎱S& :zU^G(a_&hEpKat:EpI/t"aB_.#]@.i._xA& .qLGd^Dl6B< xV +e_ pe_ e;㮹sEDl6dcK8Nh荂G:ᴴ|0~e*:y ui$/a49 y=\6Zu>(!οm.aE~bkY%m$GĎ@{DJOp$t 4AHHD 4\ Mh(yuZ^ʭO i>t?"?sSH-}U A~ Mh* IuXŵ_t% -}.𛤿ŵ_)ZimbH}ZOJ+I&s=H@zVZ[_CSҴ +҉EH/sԇ-hGDl- m$ iiZZ$[+J - KKAS#KHGD#KHPTGAzXI(AWq9K H A^C_=)i:+%uy AQc_9 _Z + $/B^ZZ]D!s}/Ah AiwS--."BBpAa#kI|~05 /Z@F_b +KHXH A_m_ +&=,% A_mZZ^n_@-}I} a(Z +n /=,% A_pOoTJ6+ZAީ*KoG簃- OoT3^h~{0$I G簃- On4(./ AL4Р/=_nhP]ROXIXA + KK ^}K!Aw۴7NIZ[vYSB۴KJկZ[v$1 Ko %A)m[}im y֖0H< ]ᄴsBKo+ C 'Al< `^Uo--X$ KnVK_ o---JX` #!Dx /5 $H(-"7$Ԡ!8 Ԓ[PDnI-ҏ@CpA$|x@bBX` vӌH&( _O\p@[IKeE71A[Sp%l @H,26*e%vL ؒ=P=Aa$`L [d Ab?D%(:@4W c M Qx5H,D @- @AcbE_pE&;X#lpE $ktPFAN*H""ADDPB1sBiq "MSζTOY $p&vh6? A6 " aɄEz i0àD'fFBpU +8a"TɶԠ0ŷuX`rO@aALnGS8V(}T-8Mip%_eMy"yjMԛ8T!:{?V)C tq<굦t\tC!", a.!)__<GI 1{I8A6kNr{_΃ 6:uE]? RN +'Vכ_񲏪6_񴓫u*q_OCZy65Ϯyb(j_ͬsTV{zKGgP 9>y~7 0ſI~ ~\tExuwq_^G+wq&}Rof_{_إ׎S^G + +J_o6{+P8Q~=?9uf׭xXA^:7?M{m|q"o&`F㎱CE7=VfyXZ?=pJeNEpJ)4U]o3 Y9'IlM;!= m*Ώk8NhHm?-_4y uimHjWzI#E_kq^ҮD]G@8mʭO4yuksSZt}.Mŵ_sԇKA)Zi{J{n!S +?G ih"Bt_"oI-,#h#G0A~:|B8@ޗAuA'KxAv9 Qw|/TZJzޗРPd^CiOWI_$6k/bݤO -ko/0\g>q_im l0XL< +IBmZ[r,1 1_MvD` K B a_xB@Ca@?Ԡ!& r>rtk MfE6q1AH& kL:d ڵ=P:A؜\}5H,GA Aa &SaK0U!{d6aDBT#UT"DDc,U刮isTv$& vv!Te:plh}.eufQRm:+j 0M8d ptM6lyPӻal0dn`lLvL` +.m#R@M_g&a0n$&PA)Doa +UC(Z'F3p[ ;.34 p8@96e莑qt! S:mנȐjDc,sۆ1nv#0s.Y(߻I+Sn&SJHT6H +a|!i'l*΂M 8 =eU| +_!Ľ>By6p)|BtЛal?FB$ǺˎHԈ"6P* +χޫ${O:}/Jpg:v]Cyb!BI$VzB,5yR > +ȀU *4XoI O$&}o8~x@VSV*ܡs|4VA3^ׯ㶖I"tMQqֳOq_~Ny7pT_h^ʥ? ޗ󐺤/n LY_GDGf9׷A΅>gEN"W^ֽ5_8#0_zjfY+ezO"zs_㥝VE9c?_KΟχ0?CuXhʰjA}#Xz @1쌏E_ZM7}~id4X9;(3aG.ij?};)?j kZ}@e:15k&bD}Oe'N)_qO%殿 &i+]&U/tz^j:__ k_W-/]C=9::+O/ֵ`Г&5V. +) +zZh/?m q#ޏ3FbqlW^D=10UbP/8^fDy_W$ӭGK^h(oȅ_Z\FF-g9Ay:Uoa{ "meI ׶ֵ5\1o!tjzu-v*#z"?GO_[şJsH +a'kK kůUxⲍv#WSt]oG]|VK+_cCQ +'4?_T׶?a~f +_H_A0$}_OZG{ț^ȏz[[[ mֿ,$_ C.KY/">l2">l2y WH/z [ۍ^_ /V LKQYQ7Z_@b]&">Ώ:/G(3G Mh bԇo8~?uX%WA0[_z_;t$ X=R_4^?IzZ +MoJe}4 m~{~I6/҈^___KI 5zrJIbM/soU]KK窖_Il4/UmA/B ZT#R?-KJ[f|~0(RK-.kui}z_KaU6F3y >zץOh{XKZAm_xX<Ϭ?$98dAi|}aXAo__֒U'Kaxo%GQUm4{aoK/& $ -RoK#<7N_& 1 +6> SXa6JgoJoILH 7L?`h0_)*^z_[iۤ?ME%wI 0&avE~0AЦI S_=[O('!y! BaʔzL=A&5&Ѭ560 һOK( %(#AȀ0a`P@aAz I vp{ {Z"^ 5/4Km _ 5 &IdXQ'a)p^N7L-%$P쥄;(qi/0mU +(XU +B =!pa hxzt^F,AgѼ""#B&PBArvt OM ADW;2&qF@H ",*;*HhE-dB"fZVRCrvO\vD"(gsa0μA#LÆJ,Hh8d3Ʌ-<Nu 8d! `4yPlav 6U0dI6I;+9\4QY@M_tl\^atk@M_!bBauX&S0â,+o0èUeBbp3b.34 >#ES.Lz KYqL028n.4M40} <6 <$)nypN+eŗImXF0- {Ytz&Ӽ Ӽ3k3eMu$/]%kL=C* OqO{C~q{Ѩ?zN'lOG/||rB:#L8o%9帅D1Mu)_mmH!/Jp/6e!16&/s B?#jk_BI.~_M.ZՈ I$#i/U?q7ŕʡ)~pmo:㤟m7Y `kz5UqBeYyȚ-A|x_'Iq[нBIr1&I[^$јkA#mssi|W.rT?(0 t__&%e<=KTZ/BS_[ڬzZ"[}t[NyZ"Ӌ!/گ SizY )4"5x`iE9cgFsR|,yΫa"uG1Dzs>afiA1~҂3uqo{*=נ./Q9(C[KejtU9NB(aDi#D߰a ߰a&|om-G<רtCJr5k:_nʬը"?]URLVtRm#oE^uפ6Z͌^*G#Ik3utW"?uXr9 2=_;K-/_Jo/J۫=/uDDG`xC+MւbKKK^zAZhrsӵLW^E?`| '>~"[8ȵ_(uIEWֿ LΎRK}[,$_ C|kƿ_BGB?4AKo&dW}&řg_/_ /3 O}&fyu:?&?KoZ:? `xAZ @ nT5]h/tK@$UyKzz5nK(ol| Aˤo֯]uK"V6A ES$_[5-w<7H}| ~m $/\>N$/KH$'K$I/#Y}-Ii +ֵ+(mk>줝AZ + K_Ao$^98Km&.um}\$&IB %nE],iwI},iw_(HZ]Dץ +?8-b$*1꥿6/X_6K{ ?meH񭲴ץޓm#U$^f&yy9%iRm-ƶ%Tj?*$2\6tK#DW<~UuMiz[` 'p +wZ_hP]R^ PDy&[ 4:Cï7_7#ĻI?/ۤ\~&Ka$? m-ޖ 7bIaFwmo?y~KnKOүKm&aץ}7^3y7[aG#_ەdNnx/m/?~% 0MxAaL?_/i$_B aIa?a,0n~& CHzK1 WM_IKqIlR.*h> + `å~\Ba Ka5TA%&_a\?-( UDŽ F$-! + IׄQ'JFK%7.H !K]~AAAaXelAËp%l MMi2 AKiB`] u=P ,ֻkP DrMIzmjAdAB6X*[A'a)@q ~ [AaA"v&Ka. :A& (tLAYC}*HQ> $M#CX@AKHZjKjT"#4 A0B>)2@DhqHE T)B5QDDDDDDDDhDDDDDDDb#-#%Orv6 %Dge/5 reVȢ =2"mL6BlE : +l6ػ`nB):}2莪-IOZ$\* +KE\A0]$hh.a9 + :s.oOWjJ__l!H[|e8WҪ?[b}./MiLZ0# I4"?) D}-/CU QΞO/-Du[DkW(l?-/~ +I}#a-_e?eXF@eGEiZZ^[ue:eyki G#NA1_z8g}_ii13"WŽb֗_~/!5/I5f"oz WZSJ#_#XF*WDp.8@\B ]uZL=.kJ~]idRKS: UJ~GEd>KkAkָK0  2+Hϼ/~\3X疟"?:D{0^V"?_ΘKB30/uM Mh"pt4,i2}zS$ZA{7yo " RAygp*Z[^?pk&M+ZL^XXנu^98$?\$&IB %nE\/ez_uB ^>!UF?=]$H=^Y"Gm_(=VxqI-rF3y 龶lWA(m (ryO ]Ka7#ĻI?MmwhKoЌVߠI; 1H7m--<-_I'Ko'OI[_~% 0MҽޖD`XK _LEz &oGFAl0\> + `ki7.!$-! I"x_DŽ D (frՒV+-%V (I vppl1j>w/P} `AkaG 4-`\B~  _vUUDjT$g$Gi!J4""(!ADGZ󳢸+Ƒ6Gb*yJLTj|MΛV"D2- P3}hfܲ2*pɎ6 O I]`4!Yal3<' S]CMi(C5Z`Ȣ 0a$ˆ+h \*EGf/oZl2l]0edHL7N]‹gx6l L0 9^ˌe \K$ˤ?.34 p8 +KDA0]$hh.auL6vȠJZ6V8t:U+e :s.oO"Xh}{*k=CJQ) {|!mUTE]ޘ#OR#a _K?KLglOG/S$LEHGE3㣨d`?}Dgؿ]s)t@DZrlV +CgJa!~^+O_gV"-$􍤿V+S{I8A6MuqE_YvS2IIIO$k s 6mu:uk>u_9vB $NCZVA2!?W9}eB\6%dd>"п8mmk6um[Cju< +t[~hk?]6d0ziŝ8BP5).g98{+Sq[P~-=~_O_O>ֿ'zo:afy<ҘaG.ij?i_F?_#jj=-U:5kh9>tRm#죯(ˆS_}z^Ǧy}tWL n/KgYFH()`;HRMqo"?DJ/J۫/B +X">Du_=\4G_־<Βav +`[:9З:n/:^&ޱkK ^f-IeZ}IUCkˡ΋!ށJ~_/f:M_A2_/#@l2}:͆Z- KKA{+J ?^G _?aA$Bt~楲,vURzZA +_Ao_=,[i7o-G8넖!I(A$mJ fBHm$ "BK>>~/^{РA!UQWǧ ?$Z@F[__%MiioKi"Gm_(=VRRP%E_)yA~9PpGK& ΂kKPI꒤AoG簃sS:KIKlWZ(m (ryOI$-XA + J } IKaxo%G6~C&oI.r?i!7z -]j[}bIaFw m'm! %]&XW_[zZ3y7[aA~k KnVtIRt߭ C Dvz_&Dw GIAiIa)XK _LEz &o=!~u'DjI-êXE~ҿI$K`P[w\w%M$I/KBb a^LY.6q'*K^LHZB a{PD4A:PJ?'%Z1KN&G@H,2YKirʲIGMM @%d4I[,t)& %- I S @P@ *<{(H,t-.- hA-J 2 |(A00_h0@ȅj* {J0UB" $ UbF!,W P H %, ЊFd +* #2 6%N!HE!O )R + ! A"4"0BmFDE""""""""""""1hD6,"2X"L"[y/ԎLL3}jö9;aɅ ["Ӷ aɅ =2"mL6B\"pʅA0N]El\*D'f.2$&PNE4h#H=( 1iOZ$\)Ɨ[jPbr*9-qqtoay8lH,amzF`nGSu>0eˤq2rt$i|!mUa$zG~^)3u'#~Fޗ4-PG}ן>ؿ]s)t D޶p3? n)_FqJ<ڱi$m%KtMLq %=za/^! +qI?I!?6pJ:u >x"΃WFнBI01փtyQOלBp Lr>\Rᷥ.+)LeER#gfiCI omt o/KסY#_I֞_ͬsA>5gFMtK:sIz Oߠ0|>B?|?P~-=~_/J^=5=tv?5 r8pKQ-Hemz?_F7߮yƒ?kCAt'KKn~òͭ("I~ GIxʾ_5#5-5ƿ#G-/]- J?Ү}H(OE]k#kAb`_>Duf;s z룪?*|[-iqAuK$/eb?>Xkc㎱_&<ֺ}sR/A=}uY8-}4P*#tO6LF~#@|G<~]|VK:e eJ#M#8NhKsEW׮B )%}/?BGB#ZX?a"`2O/:Q_9#E_kYk\% _Ag렿tSh/U/</eV:GPgWx@ +\=BGk_~f ĺҍ&& 48lK\z ?IC`4T>.:/sԇ)-| w<7H}| 렒#?F~I6k]2 g'_E_3^98$?\$&IB %nEK(?E ס^_( HUTc-E? "Gm_(=VȒK:-/A~9[yA~:Mm/4AsGWT֗~F~(oGlWA(m (ryO WO_KߏOKa7#ĻI?@KG7i6_'a@vb _M?g{KIq/W}Pޗ +A$/>wAlM~]ׄ\?(~`(~=+*i Mx}AҴ0 =c4. ם ҥsapN$-! I"x_DŽ D (fr $L0Id+-&Rd%l Ҋؤ0o8-'&OVAa~bFPZXca.P} `AkaG A"mx[^KT/B#CX@AKXFj +RB)R +  A"4)DDDDE""""""""@w4vő\dLђt[&ԛK)I!T@ՐymΛdB#hԊ D)d쳲!Dvj/Gi2gavUӇQa2~LNӆj>aÆV6 N1d C al3<' 2ᢊl2PaSA0\^ l6A0|@ңZl2 +3Q٫m L0 9Fˌe !39t"cʠ}&&Rh#Eeuef2~g.qڒ ]NBG%N ˜Xn' b2Um(}WhtNiX 1onGS\0P={*k=m%HȨc#EDu B#kL=ClޤF8K$~gA'_&n$xZ::: +mkVM_^Zm&#?/o:}ɱX* a(G| #d5i*I" +y:D!4Y5F@/?O"i>P󜢇鲼(SEǑ3O"Ӓ~.}do85Κu[T8!|>98o?u VN/eP +`hE}./TFKOZcH^D0~۷J})6 IGz!o:aiLZ0# _|WjTqeVj-9죯V<_=5ot\K_"?__~P_}tWlK%3׏gHIW_(Mq(D}A<>ri:K1Q_눿__K}$y$4uXtOGU~y2DG4K/HDKK*[(6z[z넱#E _?}o> +ץsG@@k\%ץytΏN ~#DeV[׵@@e@ K&\G/jޖ[^K_UK[UG_]iF}/KA)Zishm[C~/Ӯu#CC^;tzZ@!K ^/2$ +[~H u?ҟ#Kׄ L>Z + HABNPAZ@Fc_bB֖Zo_y[__)I ״)a,4ČPa. !bJ]RB@E$ab,.UAA +B)R + !DDPBB(! +DDDDDb""?ldAn|.DYE&lax3D +3ɄLGLvva#SFdK{;Yل:g̋im0el6`g 6? L(6Ul(pe6']CMi(Cu\*Uέ¨(0D'fӨE'WptoaLA*I-( 1u.3..4M40qemA^7 >ۦQriykuULS.oO?I oiMiBj6юU^{j6 Ҝ'KJ__ZV8NIzF_}/RZ"4S]K)_PK6^q i%_փ O^|C#H⬇~C~mB $NCZ<4/AοT-Pz>s/PD d5B꒲T' Xehphg?-..+)LkЋN,@=#Ceͯ*ZP&=K,Z"Ӌ$qts"=9^aumfkY}z]Q9t0(a&Yf 󟙣gZQ~D_oߜ@&KoTIt뎘cSIB"=:M='KKn~F7Уa<\?kIۄG_L n/IF??_z2D%V_7$x֐#?xV_A1_zuD_ZDiBKA1_zZ\F]~4u^$룪=/ߏGUxa/3]>b)Vr_I:^_CkcxE3JCF*WDp.`?/A gKJrIWKg4P*#tIBb5֐A6?4"?\B?&I u5r@AsK㮹sEL$_\2~SKKEd>KL0ȯ" #>_֐$t D~~3_K:Q 2+Hϼ/`xAZ @h/" "岫sS @c#*5?l/+Apծc6]%_ȁTxDzf`_X_A&' Ik@&WKuZ~5A]CקfIC sԇ@&WKu] m!Zֺe}>%|_o$cx/I6k]2IB %nE?($/:Ny %$ 童 #//e)B|B +~z~0ZKA%AX:ŝ/~0Z <A~?][/GWT֗~ P ʹ-Gv 3^h~{JS> A]GAvҞ%Ҟ PDxi'|7N R3/&V_wh*V~$0#;[a/a -]-͗뷿[a@&A~[ oKo'Oүo% 0M &ob>0*4#K04I ޗ\? _@C[Ԡ!4m&>< J!C3(0  Bi!$H'%tʔo[a" $D5(6g8" \AkSɃ- I Sկ;  %!da4 k, K l vQx5A00^($e {E,BMc!@AKB#B5-P +JjDv """"""!ADGZ*+ !v&h"KM⥔}`쟃>5dB"&}9*׃>5g lPM8l8pd2E& P ' kȺ68mL6B&j&\4QY@M_&3R* Tvj ‹'@M_*BBau"7l](B `r8A%4%&ڒ \P|6\fh(z 2asPPh.a~&' b2^nGS꾶MCea2Aqeg@P\ VphH{*k=J#6<~(4kMUN2*(_{Sȗ_{lOG|{Ri-]iW6c_Ԩ _mAzSKK3j<Gԫ+(_6D?(ZI%yd5I~_VV*pmo:">_[kœaROK!쩤=^PHQ_ RtV޾t[^$s^I@kABoUz1J_ ˴/5?ޗ󐺤&r#."н [G6dZOM~mjjNyZ"ϯ8#>qd4D96t) I-Ct\}~m/O/h`5/ȸ4u[AK89Y5zV0Sp?_BN7/ePS!k`9q9EJ{*G!i^"/vC  +>71?;ȗ0~ȀUHf:cZ@mB/IS_#_zs5Z#Eװ5kOe'N_iZ[pPm/Z͌uG8_ʏr=%O/㮓*GA %zI2;sO\_%mI߯Ggl^?]\_qZVajc[u G[(A@kG˕ Åx"9r#kA,WO/KGu?@ӭk`룪?KE5lʢZ?g9~\ %jpK /[a 5E/A*Țt:_]?EM~yt癈GK^/A^kׯ#k0/_ׄ+3z_TG[ -}4V_B!$ +_gӶsOB, KK/$%-0Ҋ?,6Ai0H~u_{ׯdG _L'4_^ +,a]~5FU߶ahsI/-Z_im%[,$_ C_VӧG8߿4A:#k#E _?~umaE~}b3 ~6X-}U:?A3*5?jt]#&?9\=BG?EP_At$jޖZ_uM Mh.|aˤG_K@zVZQ"_A =R^^GY|&_ /^| y6KzZ@!H_]A% Ȑ+m]2??aA$_}bk]2^Ah*#/}|$q~_3[~a"p _ %/s$pzJ~!₿_?8-ץ( HW (i1Ꙃ=6_%~_$-iiK-5b@$aCɿU镩!XJۤr,q A~9PpGKqHt5\}[hWqZAީ/A%al)2t_ }`A%Ka'EР?/ zSH3<:[~A("=~ki'Z[v$ނoKe_ЌVߠI;I R3/KoZ[pZ~_%뷤Jү~&KoKm_il?_Aim&_7I/?~% ?:Km+Mz[ b/5&MXALEz >P^^i7$ A$am(/A?J$Ka5Tm>"%CAΊ`( U"^2}"$5%rT& < /08/J}aC3(pk4+e=$ A2MMi2:It +LK[WD8A6zBbu EAcm @- k %`AkaGo!/&K 0/tUbFb" $ݤ080AGH4 ^X, Z%.!HGO B#B)2`!B#PQDDDDDFDDhDb"?YTF^Qت2EEt"mhXDYE :g!D@y-gf D QL+ ;-"15d/(ȦB2͘L3}jf i(C`4pf{ L"u 6ͦl gXlPl6 gÆw _ڗ> ]mJQ!H[| z[z_~/Qߥҧ)S߰/L?KgJ o. ^hԻ~ ^:_o6􍤿ei4_qJ򅤒^JjkRׯi$m%$h I~mx1 #_III >Jz׺z^~C~m|!%6H  h?_G:B $NCZ(/Huo^H"TRp8(\E%e<IeZuzf`_ I?l| AˤHdK+WKuH-! " RAygֺ_fIC_/ _A2_/#V!ZV_N $HV_Ow^9Wx@$$HV_NH$%nV?Z_/@PI[w:8IB %nE UTcէKD/ 童ֽ!}zS>!UF?=Z J-mu_9@$ak[k:?}J(=VAZK /"o(_A% A9<i74_ +?=A%O)XA}lA%O)PA2!O4K=_o A.OKb>t_%o%Gv$1HK_Zo K_ o$gz_A_^뷿[a/AlBR Gi6";I/t*Pޗ/a߾Ja#MM=%% AlM }+M?#Ji6H6ioKåXEۥԠ!4m&"Q ?A0](J/A ޗN0tʔtׄ_i\A:PJ0 =Rk ΂iRk #^< J!C3($ I SE D2GH-v*z0yŸAi8A6z2 DN KYi)FҊج Jc a0a`IzBm {^ AD$L& 4YX aYZ@m`;  %Ks S ^j0A5bAPi/khv ,C8  _r A(A +PB@DGi!ఁ +UGP A"4)DDDPB!"""""4(!ADDGZ󳣲ȩ##Hd7 63RdB"ؖE;}S̆O; g)lY>N}NP3d2*pl6? ΰ.p`'u 6lLԊDC`aBLh0 Di&tհҨQ{ya NBVT&C#J0V&yef2gL{jH 1msIB ^g0tFI|֎[w[ta"חᲰA[d`?LM (C :Ytfפf GVg1v֛(TQ) {i6H +?A뷶(mt@|!mFZuN)[ԈyBWFy6p)|BtKomޞk{ѨeTq9O~?I>ΫGAwI7_Y/5~!ނV,~Wجx0#>.!)__h'ZttBI/_^4PNW?$^urkU_R}$$$uS?~5InQ7ߏ:ugQƿ:zI"u_ /3(ƓI=b@ t/Xu^q%WB꒱8 ~\5<.0]Lm$6d6eTl4toA K+zס@=/G " 55Z:K*K=@U/"tʤӜ/eco9(49zD-I1AP">l2y ui /a"`2_SK* +ڱTQ%m'::R+ 2+/lǜdOXTZ4nG[3.տPqn&Z 3_#AtKj=q Mh/-zZOJ+KCkK=Rk=~:GA E^ ih#t?GPW &A~m AQ' ge-IշIB K A KH/XqN>A!Z_{- V?mTZZdyk#a(Z +nG"/_BP<׫j?*Iȅ^- OoT BgbY(FEKZ2,Z;)L gv%n̶a@νPhA`6 FD2MaٮÆlP2,pU*4l2~Dk"mL<(C#J3lnp荤 P&\4BLhAQh6ag "V"c0#H ŷuë $ɶRH< qem6ӪH8Ҥ0$5{*jS_֓dCC**J{_'ngʴ'Oa SgJ)ԛ8I:{j6IںIZfGQM4+LԸ)t_[i:uM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^6:\Jy$t^yf95ͭpmk ?$Z %=za_:"OHzO?O>jFI~|/j@|/j_9I"th2.F t- I 1Jj^OTFs%ddr|6SOYy:*jFNKz_񴓫zEm$8pJ?I6ֽ0D﬌-+|/y gA:^#M70'./M:K(3N+_R#EU%Ɍ#a_#ߚ|W|~:8֓<3V^&~+Cf_{IMk62iH _z2D%JT% DG_WiVPUVإr*N+lRKfZZ^[uS"ŕ_Y׽zne(i`x~= # 4҄{b^frZK 襂(uIFrr!{],`[MD`[Xbg99:ŭ.#.51K68Aukk/]0 o&`ּ 먇 5Xf"o8RJ5RI+C?BgyXY#k0.+-)e__䀇yBJVQ8֕Fʝ=L:Ћ$ᆖ@.i/QƖ:GSuL=.WA 'IlM?o\׎ `/$䟳 "Dl6iO>E x]R\Ewۨ@{!θm/a49  _=amH?LW/58m wߚ ^ @A~f#E/ a_EF}U3Fl5Z _߄z Z4nO/ysS&ZZ SKrj]7Kt tH^h& 4@l}%9 ]oI/KA)Zizih E=+@(qz~`4T>,=H$eqT_Oߞꗽ-q8- KKA%#S^? IkXoK^roKH A^kH A^9#u<O_3$Q{KAh Aiw: A KHP!>!UGI66~u:?P?Izt&#.>,% A_m_h+KȒH_ +W΃^}v7xAiT{zZAީ/߄8@ P'Kԃ~9oI箵^CBwT=u  I&UP:_l? 7B۴bݤwhߠI; 1H_AW}7Z[pZ}im iml-_KoICD~oIR]/ەeAimP&߾^BX`ŗIAp#DS]D8<5뷶(dCl i}a|!l*΂U"6PĽ~[+oFy6p)|BtK]>&j1uu\tu: /r6pAn=>}U/+ނ'6+^!y%062 ؇iFՈ I$9^p gi]_5E_ڋrkU_0o8_ RtJ>thtϬAzG,vB $N)_/@*Q+Y:/L.hg?oK]RWLm$shmVN쪎9(JmƑ=ރנ'^m>i%akЋ4^qzugQ9(C:%^ʡ8$e=%ҍ[cAֿ'c5L1K_ 6:Ao:a=tp"i6x>/_|W_~aǥ*V5kuq]/CI_}H0/@_/ɍ+]&UlA/vk:$_-/_VP8_9rG_zZhۯ}ez~#J/?ra &Z + ISim=?Zl[i7ry'_p _ %/--."B/Kmpw$` >bb$+,$mo/U[AAXՔGKk ttSV/Fj_K BWt9I~8w `2/OYPpGo#DW<~UsuA'K~z_lLwReL / Aa _ +?D%ӥU + kDHAI N*#G`B?`pa :!E) E!5F*"$g&Ghb"(!DDb#&hh"Iq|Lw Dl2~06m; q7A0NYQh&M@aoaiۦQmo*'Otz_iC{Wm%!^(9<9c! p9nmƜY#K>=yR3?#}~sC D$)mB%s4":??u^Nxm?Q)Eg94 ^f 4/XJ$AQ ?~uZp~U#E_jJ[zuj3 Ik?<=H\U/}J"Aֵ+ѭ곜=)+t/A-ӏF?=S਍b_+S9ׂ ]ryO-JzO._)ޗ}vil6";I/KnU0&o-x~oK Fi\'JFC`8A6zBŇ B (4>P z!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R L|^!<ԛ8U:z|MH0QrZc?{e?DjDz(RlZ ʂsWI9vt^?uuE?gV"-$Kg"HmW ,\m~yYEĐHrkٯ/vS0JIIW7 !$_ϥ9䀇$K_nzT׭7[k@RXok3eNuuZL=.=Y G*^t4υS_^ڮ_~f +_H_A0$}_OZG{ț^ȏz[[_vzuA $/zpsK 4 CWH/z [^:o_A0"@0B?+gt-sm-sa#w@uΏ:/G(3G Mh bԇo8~?M--] V?߿_:^u&M .$-*z_KI 3ZW_Km$ A~R +f_^AU-J^c6РA!_?*)_KP,־SV/Fj@w::/H%KI4AsGW,"|D WKtH /K}+5G68#`a -.>0,rK ?K[*l;o A?M, ~J7v 'a^A _W1MaU?g{UzL>"ga5&IA?ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɹEu-dB" 98΃~PBCd3ؙnpa a2ӃM"2ᢊl2DkBn8at$ˆn0 9.34 8e>æTrZJB& +Vyp+˂pXF0-Ap 7f κUF0mRȭ5쩮Q0\U[ͭzuY (oȧײ~Ǻr__a Yn!q Sh?GF䝿Xt\ugJa$/oH~_TCgK=&:Y0aNm(87\2ttfa1J_ `sQ Wi'ۛCju35F B/]:j, ,FΚ~`:Cp"H>A_q9J"=I|ZDG'r5kˆʡ:QoDtk5~~j9]k62{'YFH}t/@2~ >ֳc/wI[kq}Z?/}p5`xuC+M^DyP'3tOץ~c#L0a/aor:_~im0X/Ȏ_ _/K^^G-@.dA.!GZ[ׯHFa}~5@8r5]N^%]?g6I\6[X۞SE/y u ץpTV+ߚ+mC"?]\Ez A&^}VA~{>|OJ+k | ϯkJ"MA--HOwQXDz^,ߨzZ@aB AQ}9]sHm/KTOKH A Z]z_?K_t?8ԒJ [?mG?B-2=J6WuU%=_k(_T2\6I&-}ê =ip/etS:8I =РzK&M ή oK!Aw۴K競_렛UbKnI_ZZ$smֿ>xAimPb#%&tn2I-êXE۞C$hJ:WIA9$( U %S=&|(  }$ v+U0zQ[0OAaIR A"UH-_aC&XGҪČH̃!H8b]^$)TЛdj$~BB$èhDDDE""""1u,!qY#e)*$ȗ GTNR2ZjGgʪ:dO:lʅ( t FRdUC;JDB5& a9JAJ +l "ig +aÆ32*eo mLhe' @@u$ˆ,FvH:n8I B$vF&ag>7 +\ ?׽-/՞ `_ls B?#a/ ҽ/8ImvUCFNa&VEHUp gM~T&KeE46~T&o)=%i2_'I&_ Rez#d jLEbӪ+áKCUeCI:b_Z P i'K)/I@m$jGD*h3^頼g 6}(ѪI-2t*hT~Je =f9IyEϭtMB0 ULJKy}䲯e 8:EOWB-=$gHE@FGQ9(K_H9hE'z+ͯz|tҜU7};)?~']/I}K |qUWKK|"8(5zk|SKtWK9}-/}/ O柜5ǿf_{]$E"?KZ͌U/J6*_%m_5}OZERǂ#ZOg'GEi"_G`*N+mWt@7IGKe( `xu^oeL/(A@kGïTl?2D}A<:U3ΗzF,E^Kб,E4H*[[I~ҋפ0~b-G- HH*H*a zZ{zfBi $izMKnCv/^0 H%bi=4| G 0A}]aD}^G(a +z/B IZP *?Ŕ1"awD{_}`B, %TEp gP)6Uz#`74)F荂 "1$-'a֫*= l0 PH%a49 !:\6IZH .Z[iiVim4#N${DAg_4AJп ],%iP(\%Kߚ uJh" -}Yaiqyo\:GaiAZ4mKI- { oK/egӏ{Kj SSa{YM-hZu__SҴ + ,a,6ai-&U#T--tO-/m&^BKHGDL.#:/?u)- TGAyǧ6 |}EGBʅKH A^y}0A W㥤Z + ?~+{*Nzt~ifY6 頴 tp /~NZZ]zzXCMDAtCs`KHXHm/\i%,$mo_{6&6Qs(۔h+֐n+I!a(Z +nKvEaƩ#K BWuIs@< =iKe=&㏄AiT{zҤ{~9EʙAiT{zU,  uo&J, %:, ? O&+Km?!imMҖO]&i6ij"=ۆl$.atӄKnIu5-_KnIa"Go+ ?~~ܬ0Zu*W+ `x+A(Al1$$X7A:MMA(Al1*RMJ[ DG Ԓ[ aupA$R?DjI-H0I~g.l4$R." pa A-} $ڸ A-$M 8cJaA&u Gȃt@Xel d(5sg􃠿b aR \Ra`4EĂ0H0x= d2&E  )p_A/H&XD +2d 0"YA0Xi!H 4?A0pE4P ةbA 8 B]SCւN ! MDDDDDPB""""""(!Ъ#Q:;S25וԎQ:;S25"+Q4uDO+h9u@pȲ`ȢM3ۆT1"Ƀ"Q6ۆF nSDf 8dY0dQC=d:eD(tD5tݧ BLh&WLMp۽d:eA"7rkUQ 00 9&Y.b֙Tj < O<~*>=~L)H8ۥLZgEGAM@΀/KKVi3㣠 dA~|CgJaK^!y%0%Uz_zZY:I!y%06?Nk=&K/!M`?$69nck5ImszI' 7)joI4}/H5&k5Im+QvaUW_/ph21JbֈjKCA)L=: R00 G/my $WGD*h3|IѪI-2t*h!SD~&`@_I>dIyőy'E?m^Apʦ}kl<y~VjR3]!>66BD?tޭ2Kh!!@@Is"XoJ4 oEE<I}-RbSzO|_/p1+8o >zO|_Y|ZD_#֗8ץ|WZ^UO8ץ_x_?ֳc/]$Z͌^?*t"}~/t@7ǂ#ZO0UVCH":],x"? h0wL~'t_w %# h4S{*gT_P'YAZS^UGUu$@)i,Esn}]/{a 0~+izMK/ !4ѹn|XOM0$4=]/{a 0or:_-#:>&C Ikߏ_1yX(׿!?z/B Vӂ#:>&C Z>_ZEp%tKB ׭t"a7[1P/( ^Ћ$KMd' f~H _XB{=@at|%/렐@Og6 :ΏƾZX_KM/H󀣿A><:K8( $A><:=~/֗4A^vT:_너.Kߚ ݽuJh$/DA H"7uAƖH AmzZLsSaY #H-}+Z:GaلkLm.4@FZ4mԇA?tcw/Jf>xM$~ B*Jf>xM|B]4SҴ +HIi7]B]4SҴ +WPAlbHK@zV_cР- KKA<¯B--COPX q/)As}WР- KKA( KΈ$i:+~+{*I-DtW]+Pu?y- TGAy|Yvaצ4@ڛ)W.1~a6  F\ ƐZZ]}k ,,$moȾX.ql4 U/^Ll(?m ,,$moyA࢚df.b?㰿H<SLPt=_k>AAuA'/V| `- OoZW =L/00$>8K!Awt#>8K!Awt8ʇl$hP]=7_l|bݤ^߯c&nOAh_ i6oKnIfooKnIer5M I-a&L0k~Z[r L> `Aa'0WGR `A BON[kDI*7A(Al1oo?ʦ7A(Al1>I8 [aҔ?}Â%~i7@Cq7K`|D85#~LzE>abp@[I M"kMOp| y nZ @H,2Mf +dDLbCZAtiVɬaR \Rad(4?AtiVɯb `Z@4r TˢdX M  d20`ÃP^vL #~8ApE|4P q A{ $T᠂`L!CCa! B$#M` +GW[@hp@#(!AЈj""#&I0qC[ l6 gBn? +K_3D]pêփ:^[qűo:4$!{}y:^!.G[5.<:__WMtaZ.(?5NkI7<Οz Ҝ>N4_]Cyb!BI$VzB,5yR > +ȀU *__Cbs$%<:/kݾ ~UMc)YOk[+SYZ;r8AÔOʵz4Y}?нBInsf֖+/O3N + +"нJ~?V=/!uIZ_"ZKY Sz#_A΅>gEN"W^ֽ5_8#0_zjfWO"zs_㥝VE9c?_KΟχ0?U9)a*ebu/Dz2?}i7ן_CkY sc 69ZMʡŪG6k_ڔWKVf$GtR⟏%]}~j K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z* S";pzZh/?m q#ޏ3FbqlW^D=10UbPa8^fDy_W,#NF/7Bzŭ.#V#t VK*[Kk7ѹ.TM{mk_~Z3rGK/oaק_[u o>(~>"=Yo-}4RO׋_^Me+~6?MaoA͕:{wKDui0HR|?]d5ysO\>M}{j~y+WY!q_l2">l2y kH/z [xۍ^_ /V LKQYQ7a#w@|s[Z9?D{0^V&.==H_Z?󁚗cX-4@V wIb2%_IzW3y7[ߥ]7&P&$ޗ0_ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JubrKDb*Fi I`dJarҐR[1el8p2mrR1"@fam0ᲫdUCg63 VP&aIf*mm%vm‡Dl+A qFDP S-ӆg qL(WlYp.k]UN]%\2awlYp/UF0n>ݔ Jz 2AT*9-Kp+˂pXF0-Μ*V͆\sg@o6sʙ|5Mj+emy kuZTQ({~{GuB`s`V(eqVtmo)>AY8(`o_74iSLk< ?*i3tB< >O_Mu-.:!mAn.!im֣K:f!zZ_ZY:]y%0~\Ѩ/Hm_)^QӭNkyPqQR!qQH!<%=zaZY:M +~>a$6TSKk_zI1ʊyIhͤ2AzG-"W\D_ ez#d jLEbӪ^W _$HJFs.i'ڬz([~hȀb4j.鵔j6ȏ >qy +ΟᝈIťa /:Ȱ4=*'8/PSg uO^1t8/H:k@qʿh/a$f9t&zS֗{*Vc/_O?#Z8k}?ĸ5xv[H GK;/q/oKzz(:HZ==wRi6U^ނ۫-`xu +Du{{)3փJ7yP~!`tch,W҄F.b-l/_~8KB㥜 Xbg~^M0ao_]/| =_.|7[>,#C_=tK iVx3[%^ 0Al>?">D}!$RXiJY  2^zG-f +?:ۣ (^'X.-:DXi~Fa߿XХrՔ_S<63nyx_­z9 sD'\/P?im^pk> Vhwz[}gP@WuQB}v@}~f\%>v@)_?-.?[eKԇ?|GX a=RO#_/ O-Y~4Qz]:O4 Izf_OApE=+@/6e_KkzZM?6K!.KKo-RYeP ZZk?/( +[ /xz_ + + zxAl醂}&KH0q&m?qIlR.O0zL?VAZMJ$H0zՆ#,$ail?w PAl> ͆ "EdP4L:I$jK> sEdQ8A01R[ 0 (uQ4^Aa]CK!R2A0{d1D=ߤj0D'دC zAxKh d"O ߚet* %Kh0B bAa$<n2g"_ d2o"شXd_@7#Xc LXcaH-U +)4`BP $O HC` i8hAAUKuI +B#DA4" +H'$zB @RB4¤DPB""""""qdJ3vٴ&wwIz}F&eo4 z]1uaZSꕺ7I~p.='7IMCIzM"TaӋJaDzsE~xP@Wttߪ^ :ۄGZIzL +-TA@H AQ5WQ8h,WnSA I/M[^BAbJPtꗭ(l4K }/$i:*BA&T A |6]Axc $g%R85A0B=CA B UQH%ZHk <qAȆd A AFvT? $";IQ m&xAAyx ACazsI8A6$ LRAV\."CBDEr|nտ/KTRJ*DIizJ +endstream +endobj +6 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕr\CnJ +endstream +endobj +7 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +8 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 90272/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZ iR bҺoҳAe]]֥Le+o$-pD{".H{im}'Vv)w-׷6Uca.WI+kuAo?vKKKo3^tI J}vKe!KIKKo-{ o]$ZliǃT, :&u@Ka$ qZ8ztm;[Tk:_&^v`-I o+Im/ckoᅤ_DŽ"6I__RHRU8A0}+]%/$ާumI+׹mޗH5NRDOOH^MilIuj5Z^]BC%?/]$&ڥ%Kfn%io%KJ/a.I ÿIi==R_$^KWWT=t>H00A3gސm* 0  0 DDDDDDE! 7OHOxvh4/CT[eJM⧔; ԎDtȞtٕJPr`ᝌjGdeVUQ"y)HʴB"c:{`Ȫi%ig +aÆ3E& l2l ϻa᳈ ]BLh0 @5tݦۻ/of26I[l4^03e{.34 p>Zg;PkQO BZJYb֙ШE>CH&r(Uȵ8l#qGSꪛe :u*Z{(}USwLae ӬVz%^ʚ%$l]HtKv0@nIť^H/~q/ߡrZ~$ RS![k_*+aNi6~?oRzK7 r 3eM/O_Ik'+B. X:_"*Lr?/ph2i~pju3_shmVN + ƌץ~h/3 ~z鵓jMa4f+!y?AEs].a~Uy3ҵ5jDe^A} +}kl=sZ~W`7CuoXo(98 ]KQ9(C!!AG@1쌏죜sR_sqn$>/XtҜU7};)?~']/Q"mRbS0 kʡQQ_#k|SKtҏKvUfu5i?h:Mk62?_뤕_GUւN^ǭNUz"h/@lARZF=/$P DzrttV݊B +X">9rzJÍb=}/KKAZS<]kS6PmKKc"UuGUu$@F-zOEpcuY^D P+si//[a 0tkizMKnCv/^Wub-/I`Im^7yX*a_1/K׿ (c-/ $\Ћ$A@Ҽ|Z[j\BtKB Kuimײ_荂 /H ZN>K}gWS]ֽt">l2y umA] !|$ҭVKKK8(Ai$] !|$P+zZ[tQ%n:п ],%iP(\%Wuп /pJXΟ,t>zt]t &.==.҂/Ϫ#ڷ5?AbK&GWAx +u +r:z[L5 =oO_ -B-zZOJ+қCk ,a,6a?oKI| | ^%< ^Sim,B< ^S@}-^Ah*#ߞgL_--쥺[i7ZgL_ Kn>@$/tp /~NG^S`:< +N G#Z@F-cX.q%ii--2<ȾX.q%G"KKL},% A_mIcd?㰿.5HJB.Bsaz .P=$Ip9贙S:VsS:Ks΋I30^ReLa4(.-?u!g'Hxu#>?CN9:C--I__ZRI&P_oKe7 $K-_aנ=i0+ *WM㤽SoDw0I5M O_F<:](~- aҿI-R :R>t1A& \#IOFI0bBi\l/kw#X A[,%d4ɃQj<ϗA~h&&QH2!&D(93KA7Z :J`/h; +u[cMa_F5Co?Iz_=!~6?ֈ F_zxto6Az7I|Կoa#@\zOKn/q~4Ǥdڋ.='K.='zI/5Sd1^hͯT.P d4 +0 IMC_ޑKSec!q&e$^BJyzL5{$^BJ~j{$^BJuh"T΍RH5 JtӋJfGkY:.Qϭ8Uֳ4t\Zqyh&Ӌ*R3 5 1HNsm,Il0"=9PAaDzsidpG  R#ӜO(98  +kz dW4-M\_ +0mM\_ +0(gUj(aTT>?i-T$ie_ r.<<-"]%CKǤtO-":K`莍#ca4#Pim#AnۄG_S"h@U ȢPgN-.[43@AtT nIu ?ejMmTa" (2 ?QD_A (۫vQJ_AZS<ÍbJXLܧւA ) x4R+9(LR+AiVz8DxRбnr1m%Aue +_]--4Im&l 56]uƛCviVׄྺh&m*&A7iVP֓iV׿IH6!$KZ֖ibJ&i7lBI_XAq~lBI^~JaץoJaoJa<ץmUq_Ca_IK# ^+ 4r:Piu[ J .qyPt$I>fi/M"xO }v$tS넭?agޗ_[SL4G! $CI}oI03ZLaǧH$ꗲ _  0z! |=Wz_L>B$`φˠ/.>Oo 3 )<$`φ˪ƽ*H CKI|a$D_׵G~K?F{"Y\U/4M$ȖWK돩OI#= *B X`kVz#A+ jS X`kZA0BteB ϯH$%nնA KָA >4S"`I/ tULeVqgI7Xl#qo(A&Z.uL.4kA7%m?Vt +ACpL*΂M8JUi@ +~aJb|$m 5Qqj@OKc`a oK>m4kL?I쪏(/Jt:4OF#Zl!e a_#8C~PI!bSI$o6Z/F'$_=E~ 6a)Y!_ZH>\7 )@kнBI$Qq[*6US+BSd1򅓪{$^BJP]RV߽_hXK߷ւ#2E$u=5KZr}i=kЋg^qdgO]%YJQϭ8E-G9? jE9cV+=_z$i 1HNsqΪz%KSD‚ 5=ai/.҅ +k:_ r.>sKQ/jxD{I7難6:I-jO">6Kn:__#%}2դ":d ?0T n]&U*_M?Kĸ(HqH +-]q}PA (۫i )ZZ^_ypjA^fS?8"?A25 +&C+M4R+`A1_ _/P~!죘r1szZB^ΐ5I.֗(l$s$}&/:|?E.Cp_]D46o-KU O)AmJ_w\zXH <!7Li&@7#qi\q"I_+gz_Q 'a=R!NuH #;W A0R/x Am/iGi6A6>J =[J /$ @&%UAi60?#鴽1_ $IXEI$i6L +q|D=+_T LJA& $~KZFKQ*["Dj:[:Ue0ٓT>ڔZm[Pp38pιs(E:2%ppl2U6FmL;LNRE4l2CmLԍiMiÆVd"2L96@M_wa"7&(PKE ۽&Ϩ:PWvIQt gN>\fh'p60{ >S"`I/ tUI7P =IPXl#qH#Dޟ+SΩVqe~f"6Bȿւ4M߷.#ZOQ({~)nI[?I ͭ(4߳t?T +WgAAT+M/gH0k?F!8ԁ8Ԩ T 6|{o֘{tkiZaL?KeT}AzS}ѧFz5P?U%>[ޞ)􍤿򅤒Mޟ~HmEJ?lQ~4ǤI?I&z/{ O$4Ǥ/!)&PH@ +P d5^$g_(8-jXBJl2ss62^KoBoޭP/dIS9 J<- O0H?5Z^A⮵Ӌzס >WBP.Qϭ8% ,t) (~}<M]%x9g$ Z]Q9ujeg,G9YY-+sښ$(aϽ=נ# In%K +kկA0c2xyZDKoqm-GPzPŪGK&>HIm=TZ jca4ޓ /%:o ?#jKnk^U*CK`c43@@Ue_@YҥAcpT n8ZU Ȧ\v(PknO5PiizW}xal#l B)_gXWօF*`= 4G[(0F& ?JX_ }x3Y|AabooQVz}{(?QstnSA Ntm&l RZ\F:YsooᮖM^K9ή@K/ "mIYj]>b8_GKI6/M[/~x3?ͬkHODuaFi %4T2M%_դoşJ֖H6!$jZs/})xXoM[l1&I +W_v߷ץGOK# _Y&8 +ËXƿa>6]}~5z_-M2' =':+Ed=v%=N"(z_ c_/ץ"?Aa L4r.:xA0"@:?@a!m &F}AAņޗUl%!$H$N0^V_ԇ-pA:/ 0zgE fA>.ثHl| AVz^ 3/_>/,[a.Md/ $g%R~m5A EI7_3~i  +ֿ]iV1ͯJ"HA+ jJ"`֑z}Zo$b_[I- %$9Zն6 s\Og/ u²uA Y:uabAP T?-"/9Uo(=/5 !nOa hxR.ԇKWkA"~%Am% ~8 M,}JKA\S?ۅ4 +^A\S f"I- A\eGoMLi'i~'} #;rߠI; yuǿFHb.Uߎ A0R/'KAm.IOտ[XA(a/4o4 @&:IK1鴽@ &maGki{zI6kk6,"ZA_& T8m>"KIoCh.tUa0sZFU27<(D"#:FqLUM4DH LC*n =IDuŧZIeaÌjz7setj߷-TR 4MDaHII[%eqVtmnJaHII[7 a0ҼtZS~ 6~ʨӷIҪ΄s0/ 􍤿Fĺo6~4Ǥ\I%<:.m#@\zOG d5sr62^,8^$/IK4Ly *B_hXPA2b}7Yf/!%OAkӔsN/AD/83YЧ%~^Zq}<H6G p0"=9YWCV{xKKaY3@;Nq{*t*5 +0׈PgޜC[VyP@c| D~"]%}8q1s@"?ix.pAnۄG_9 TP -Du Kue *35~_P%/׮ (۫i ,_gXW֪GuS׮ (۫= 4GA)Z 0UᏲ{(?Qstdž/L +Abӭ: פAu(Os8RK| ~XAy.CmizuUʬ.~x3?ͮ @֗ZM[g":maFi %8ҏ_G8gYLˬ H6!$A5[l1iNG!?o_T>8AszV u_x@+"ywƿҿot< ? J .A7OzNtWD޻怒A,$t-$iϡ]%wDu( /$it]H$N!΋sK}H$Kƽ*H _UGIm^}}}c^h$`φˡmOI#=,*h!Ǐ;3wV!ZpK5G/6 ik3A0B_Anx$b_[I-Yus\G?.$b^/e ;(@F{h$_Aʝ"cte ;(@+ _.?ǚ?v?-gX$RqK ?TV _ia'*>z+a[p3Iw O)IPA2!KI_t&ҡAȆwmR_$1Hm-KRO hK%@_% iL4~MRAzMF%IB[__ti_]zZMF%IBߤj4I6n ,pBtK zZL5H]$IXE&5F z 0cgi&  Q!$i6^LH0(I'J.x 9?a‚l%i0-)JWMnHE ߤm%M6j&V4Ǥ&ʄGD:Z]{MI}&$eZ֭؛_%M!6HIN +}<N/0"=9ϢIKҋJA [5,^ʡ81G8`C zA0B:T>?i-T$~TVKni%0:oeVjǴSKu*dZt?Il B +$Uf4Fqi:lVzf> 0^fkQJNbKI/K5ߤO0M!I|k6aL-WDu3MI+g6EP,6Jai 3 Fm'a6]%AFz_Ka] !|$A7OI{:)Kl%iP #>EB ΏL\zz]L>{(]տz:9=-H A^<_] _I#=,*CFokw Km +֬%.A 0MLjA +?D5---2ꏣ>8l4})u1(Tm }1LFyJRdqݰm=tq)_(5FsN1lW_w~cЋbGCCЃt }s58GŅ.q'ϦN y5&j x@w `rZb?ݫSi5;v[64}=dunq +Vʄ* !Tu4":Db޸g&h+l>4}tA8:8QQG;8 g8">h:>ڞHb-؈tmb841 +:>#‘t}}  @8fQI4W +H(Y} DG- j?n: nR->eR%HTt,6 ]hʢ:dK:psyR |8g\Ihc8pι 2Æu=\;mL2a0E`LIm0EaTIm0Ea`la¨uwwW0wwAøDoPDFuwql! JM44<oaU<oaoa:u*F>#ZOȗo(A&k] zQA&'k̭T?Vt +-3+|{RG:JL]~9IiH0鋯pϥY1> 6%ɉaz oKIiOV}Hh֘~ۣ^CMa_a_Kg"o6&Z"҇7jӋUֳ4t\Zq~ւaNQϭ8(!`G9W7\Il0"=9ϵAaDzsa86G p0"=9n`=sq +0ת.i*Z$(aKAgUj(aT>?i-T$~E~d󐴉t r.zHImPim#$&ۄG_H鱰T[pAnۄG]{@8*]RAE؁@ǥa@c43@(.< +-_*Z (۫ШEZ qT0D[uy*8\v(Pkn"B9B[^(PknÍbJXLܧւA#~0-r (0F& ?JXD AiVz눫si/& G(BM]--4IlGIo& ѡ56]|/S9}.m*;CA7iV9ۯm6o,&:m*#:_ G_&M>?H&DŽ?agޗEP HI03a#!A$HϾ$i"&.==.A&T S1EH?IՃ%K kB  0z{KIկq))nA lzA |6]^ 0geA |6]o _I#=,*CG~K?F{"Y\U/xKD IeqTOI#=,*N Km +֬ZZ#A+ j 6J+Z}%a}e A u*mALRV7YBKVmLRV묡[pA&)+uA~ U_ՇKx@ 5 +LjA +?lrWT~--2W'MΣ<1AȆd O!7Li&߫AȆizMץB $!+geC +[+g} +N)ߐ[I| #; NX i`+ Aitߥ izX 6~j @&EUo4@A#vU߫$";I' *$bT A M0q& m&q&J m&GI$I&j4I6o AAyp_B M L?J p Q!$i6MF^L~A:P^:c ֲ ACD9 -G5jA:Pt :JA@ ҆&?%RA,1=|I8A6$* A`bA$ Td* " `I IBaNMփiQx A`! ^B a0iiC6 KH 0i L @ h7GC0@AXH(^; H ʭa"!a#2XHd"$AUx%hz*@hRB# @A +ZhJҡ$H"""""(,DDDPXqGqgq---+&ɡ3sg"#-ѐ"HDܶ;)FSDb&H*TO)I!TDppȮjDK5#GTNQdo@e\ԈjG~"6wK`Ȫi`&pۆU1"]`&pxmnTL +Lp4D#R`<(I V&aCIM{mt^ +B%}7P4ݑ OmbӸ[)8l_$3}&Q 0Tk 9ˤ?E 0g;s5Ua>QDSk˂pXF -M7t_F an6<| V[8U%^ʚ%$o9QFIHa͂6FIH>{GԈyBWS<֜5S<7O {4?M~ΫD1q0ۤۥLZ?[nn3O&`6~90%UzW_ U^DZ8Im&:[k=/A 6mKW}"k_zI(8HB0)]u/_-hj,Nr?/ }:)W>S5I>UAtjGKL +"4A>qYHѪIaNM + 8RKPEWy"}'l<9{)+.}&Q:)OԷI@s}! EpG89hE,3~#.Zc}R(8U7ֈKڥ$1S=h>Ti;q:rqկ֗rZO_ǥ*VIy#lZ_}NzT^^ǭNi?RUzjǮM0UVگ:H#~IuesAi?]B +X">W=\4GH4S{*g.IR~-/joeLiwJ*Q,E:՜pcU%I%C~8KBs U%I%C^o&`A/΁ou$zh%.|7[>,T7zI0-Kouuב5`[ {3,YCAh{">޵gYC0">뮹H K,7[^(@뎴t?%xB ׯ,z0#ߎ^g6 0T>  rՔ^AVPG͆[!θmizG$PH KKogE/Hy|$ ZX_*[(7wum :%tD@|9BκWDKA]/}N: Am:?ZLh Kl0K$.ս-&Wz V_2/owoA?t~{ޞm| 6~4Q~CkKI}PAi%_[oe_KKo +ZHK[ ih#(H,WYNB, +[ +(A`u #KzZA +g-JT-8 tDvR-JT-pA: KΈ$I--.=?/K}h.`p Lhqa6 uAtCs]zc_]~KHXHd_{ E`ZK!ii家EkKp&6Qs(Ė8h+ȲK.b8--IKTz[(OZG֖0a&^"?70kDo&ֿܬ0AK[&^m~iK[_DwII*7M ~򫮓{H@#RIlR.ީi7å~ZuD=&>xzK'A}W8A7LٴavEI`dNaٴâiۦ6}A7 0Dd:Zugf$)Mn$kYPIf*mpWtFv֡QjyUUF0n f/E\RA`koaFsg;X5D+$_p$A$M?ן60ï\eqTHem@FJDzxfפf N720洽myN6(a͂7y +07P#Nۤm`o~H5f&*I@X_^(^x|&M*i3iR#pIޖ9!z "~j]7{➦H0ɏ5&/tEX6t?aY/q0PHZ^m^&ۤ}}d@+qi0-Mǖ♞nL=׫ $/HK*. 6%lѨAHJ"d={IHU$='ɯ$F95VA_4CK_IRAc!I}$2a$Sd01׵s )p- Nu]bֈkPH")*CD IS[+K kT"T}U:瀁8gNgF$piZT$*hY$K))G>'X~o]%Κz\8ŒuH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*b?KT=,3Ή_C'9G $ 5_ЋB!pp@&ʿh/a$fAUU/ 5Sֺ^Z##P?_E adTS*fO[i9ᇪV.evi{T4_K/$":T3ҝ%J=)[pF7 +":z^]%]/K9A~E]Wүo%2={7?rT nKۂ#PDkt@7IGK9 m--ނ۫GدD$[u_KKEiVT:]zZ RKRXU{{))Z >/.zn?)fh +Z>_, @W9:D WzXAuz^Z %M_99^zI~Z=tO=6r>)&o{GoZ{M[ _gަ@o^| Xe i~, %y^:_fW !/KI~~N{g?-:ߊ(VW־KA}m_#6TƆz?P9#8u[~K8t9DiDKJ .t0V,}/"ޗqyPI~/ҿpnz–5pZ(DPԩgOeNPWZ YHϾcA%X YHϿL #>[9@43K$__@߰$~ a=z_Y |= n?t{+8I a˪ a˯_tAA3 _/_/OmץMWC{* +_p\U/?Bp4\U/u_I#=0*ia~L;AAPX -ֵS5ǔ-ֽh/k4J+ZOWh1K +t|xK +uOl /)ֿKm/1ڛ#/K@+Tz_ifTcl4ȾxA11#m.u?ޫZ_h$\XGpH<ULU\x"?_]o4?[Mkp M.?q5 |/K˵Q\*LLZ_tr~aHA:P \\i2)xI@ ҇9:5 >+J+b1YmzAxKh1 55T"ii{jNMEu~INM2 AΡ0e)Ǡ0A$߄r!kH- h<| Ťh0Y*@e0` `+xq bFXRc   a0~ [tB) !ƅu )"%8lIh $ B2B m !dRi U ƩB"8 BG`Hւ +B HA +CPCDA% A4"kA DDDDDb"# +H eMC $"IL J9CY 'ۺe 'v![Bt>`ixVzYRB::e($"Ď 4`b,) + ICB,7}8ol)?&%Wq~IjHmҤᘉ E pj0$YCAۺ^/_H _m_"z\GaAGA 6c:,zuy e^(ʄHv[~F|}vAֱKzK᥺_ItAHYT$iioO _2"z[J}C@AtR@ B¡ }&R҈&H"#ڌȄd"TD"(ᔜ2[:Ud/UxpιE^QP Ʉm02Y9JΨFl2%0lah֙J & NFش6Rpك +a"7>[.34 :E$ +}$D/Poa*9QXl#qDQ4DzL:QYӅ_4M\0F/!F.*}>{Gt2RU7ӆgᴓI/)i /_܆ %~>Ť]~6 #i/+57I|u_:_RC.='iO$u?KI*H" d5H!%6H 2^z-hAe $V"r-%Ly *q_נiZT$i~N_%(֜\S, :EJhpiI"QHNs"@տ8~o aDzs4Ks9txJrBI(|8 P^#AzYWB-=$( P_=Pic|A/Ң0}>sK/ =Rt\*` KծEe":T3ҝ%-/aPim#U NI֗Qu5YH +^ҟ98*]},EG Ǯ/Dt~Spނ۫i ,Wi{z_L B*J_V#/+`SR+ץ_pӭ8__@Tz_/l K< + !]IKJUK/m*>*?5,BI_(": KbJ}>,6K?-:D{_}i[l1/?_iP9#8uo<ƅ/҆KoyKe9HCh KUtpޯhe>SK$a$nT4GK/ +":K`iWUu5YH +K#_NN +-TAYJ+KKoAimp+UGIQ(jHq/oKAQ5WQ?C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0ӭ@W9:D WzXAu(OEaS{h/6]|%>C!]_>}-*eVZ$]/ׯ_U5$'":bYCbJA,]/ ~}=]aFi %z^(? P/ a_~`K @㥠Ҷc^_I~.Ҳ-kχY9DiDz,hR(l4KU ~#sG.?-/+ H&^I~Fc3CȺJar_ָJ#ΡI03KtT*Ώ\-_'MG xp_!@)_ ^Z,00uZDtB  tŏKnia_M_| 6 F{"Y\U/ȇ\KD)[$^A^,zu_M X`kVz}9>zJm$]?9k$bC>yW?gKoB45{HK5Є@.u/ +ޫ_.>sK~>GO_eBKom/ V~8o4U-(_+ij'*>*CH$h(uȵ8l#qs=u>P5_[t^q@C6#0o b2P:h#DޟGh}{*k=@@nޟ75qivLIZu"6P;{SLk4?$'OP&"KK!% oK/WZgUGQMQ/:fU%WIm_{IiObU?gPC_~K {_=!~V+t[οd?WFiyi'O kXH:M}$H(&F|2HGK_ /%BJl2KW_qKCAU9}e*r4}ZWBp 7("Tfi'G6dfjMa@_J +u15_ZqiCCt_yU^A} +}kl<9d5^SuN. :~P=JU9ƾ Y8f죜sQZaM}-%Iud‹T8!##(.(aUI}/K:aN*DdQ%oer[W*ISePvRKR~j9^=jKk=-U'_o.LU7_fjPim#$f_{%WD0$u쫲Ȯehq{@`*]Re=r ~'tP"oGmW[?E3Ӕ#AREWQح 5# 9r ҭM쩞_IR~-/m˕qlRZ^)Z 雔Xi/u8KBN$bII5ΒbKI/ !4ElXKh[}]/WKkIK.7&ҭ^G(a /_G84A_Suп /vU 9)^#Fo:VI03Kciii2OD}Z\idڷ?x^AA|aǧH$_w׈YگA?t~{ޞ-'d"}/ +u +r:z[A3 A^=/KA)Z|H6{*Ai%_[J͆_i> #-3 +~D?iZZ#/.x@AРċc[*]A0B=Ci:+teB|=8` ;)nM_CiiWϢ_Ao Kl IJ --.?Kjl?G\ ƇG_ZQ8H3<:ֿMXA~?CLi&F--IS_MlKI)& $I?Jooa_l=a~X i`ܬ0D&L>It%AlM,@A$";IDwI*7M 萒% [ G, $I@"5$,"aҔ?}å~T) 8i}cCmMTo=Kf&*J@&Xi6o;糠u5_H0鋭$G%sa][6sMd8 "EM__ۥ+yV?u+t!AG 5IS]q ߤm%M~HE ߤm%MlJy$tOQ'ŇtkKK O^W.='6BtƿI Uq=/IM^#BƓho^ O!%6C %6Ru/5Sd01^tq<u_Jt#E9ph2qdʉS/I7("Tant) ɖtoAGЉ"J?@T9?I&נƌץ~r}iťn~"ҭ}(Bֺ]&s0"=9ϪIEy?_aDzsU~tKsUƥ?-i#EQ~s$"|zA^aI/U9~98  +kz Σ^=t+8oELZDKo/  "80c}CI.KAIK:^N/CCAh4֒^?T[pI/I"q"D>UD~z֟"]$"P%z2)E"? +-TA[ h0\F5$^I -'ʪ# )"۫ШEZ l B- +$UH0z\ᘉ E^@C_:DiB'KR+7)a_9rS6PmKK+Ab3rZ (A E?Wb3R4Y/KaViפT9+Aue ll?ӭ%Ŵa_#0ͯ'C9'KkcizMKl~iVׄaEB?Eۦr]U51g+K*y𐲆0/3MI+͡l4/bJ~߯ /K@\B_V uKЋҼ|Z[i[l1/~$/~҆Kl<J .}yo.-/-$A~\3 .Z[i nM +6Oʮte9Hkz" rA$HϽ/#PKl%iP #>EB~r += yMÅ_K͖pw 6/*^A`t9"<, u^$ pkh a0At 4! Q& Lһ*[AG BaP 6h X8KKG i 0@A׸4:UX $enKI# CT!ҨB#Mh!+!4!!DDD*ADDDDF""?ȲD*`Dj2p9n0Uepp"QwTaxtqVL=h}38|,w }*<4- _>`u{:mSgU6pۯ~Mڷq O$J$S#-.ʵz"Ď eZ֭؛_.pE ^BPt) H$J8*/^ZVb٩tgPǨKKo*oUf}/#?I\F5$_Y8 .pD",΢/ Oӥ'wͯmu0 ZşO?g6EPoׅh6=_u0VPs$=觍# +9C:/!?1Kzm-k5{_|zuK_Wo/0MW$C[eBKo2- ~H[8K4%SKztX+%y_D&@Kp/,o h`]iq %O 4tpa K󢵥EA&O(ADOKyRBj΃aHԗb bKda0Li4@ g1 ht, Fkah6 DDRD XQ@F#->E"G-7Eiq,:-"T{ۈPu cZKk,BAܛD";(F^ƖyHqDDE!WIeNggGt7#GcyvGgv]GG>GT{>#0ؕL E1H1b"a!lDlCu&'i@y\at&jˢ>yP"쭔6j\Ή#i6q}EꌊLgd#G*UX4"R"#զ \y%"sh!m!Nm&\I*WAN'`D +PD">H&:#!ygG}Q}GD>>>G_s8>G}0Ϥ>8D4}qg b}B$mc"8}V8">#- B',!+DRFIJ]b"#h>PImG +GT} 28qIe[>6"asᑤE}+H1"plDt#şH ʶwIk:#>UԐ"4>}_ B xԂ!DE ׺1V8CL>DDq +XW}77[M+ڷظcInXIx@͆e\Gn[Ӯ,GƯX"F7зGT".}Y ud)^tGAD"l`:% !Rz8N:œ^}YiX"GH:hh{IBqG ` dr:>F aGL|c [lE!3 0@^DZaM-DiEi Wv:^ Rk7I5i!t0t68#}Qф#>:gPDw\ ?Q}";^>fA<@ FFןGy4qY,vqΨꏢD2#qLl6,VhQ)}SXXccgq<O_1qDshD;؂؋dwmQ^aR!5md&~h3ڵaS 'qRa5Jۦ҂Y@Z@jMөD>HSi#Shm#YC`r`qt^}\҄Pg@ry!MFzvV0AGT!,ua,w5*CN=6Hyfh0Mq{Va$Ny:Fm:6< 㐈MCL}PkoW"a0B!E !ͦ;+Hb!:B"=i! b) xcDEqq RB؝#-I8T$v + }ysԨGYśGmG}VHJ}:NPϢP:*8h><>6 GߦΉ8N}$qSeb80b#bhq1Q'8 X8G-B*Ȏ1xT -ն&fLYXxPH$v*&6iV):KLBa m21.=]6m<'.gқEc7)טtq#ꎨG&EGTuH$DDDDDqDqQPߙ*6[F^;(GTFVm}]#EaQG(GcHDD}TDDDD[vDDDDDj [" ,m ) i-̅/*yvƴzϤGoN,AAOJ& d+FBn]B+DGzg5#MyG;I5;,D![<;ÆuQ$v_ y$G}[(dQ04PlmL2vE`TIm0Ea\Im0aPYI٫ &8DKQup pWqnl;F;I_LDv5s:*9$ACAR +TlI@UTlIIi{(}USwL7kIO뷔] z.F=o{DF~h֘~$߳^to6&տֈ F_pA#i a:}6!a#@\zOKl 7]Z/F!_q= MMES}"OIMCIzM_~!oR߄$c!Z-,Hպ{(!~ GבZtΘ>&I8([(71HNs'Pob(Z9a=PpC zA0$˗BIR%C mM\_ +0[C WJqT:tߪ^ >Dpao<<-"]%C'K#FqKIT4VKni%0{h! ?GPim#$ta -DuDt]<UxuJCf1iv怨u}v怨uO8<|("? B- +$UKE2 ?QI^KaN#A (۫*OXh,WnSA њ(?K\H0+Abn9(PR+תwF4H*l K|2W&aMAu6#i7aldD-,E4| ,VOM[^B lQ M[pIMUb)_1~lBI^?.mZҜi7lBI^Vl4H6!$ش6?UKB Jaz~cZM[l10U$0|zV u6$ &$/~҆Kl<(A>>GJ .e8t_9(l4D|cZH gA7O q'I?b:A4ȓ A7Oп ].6SZ &F}y?vj?A$?$iC @ag_Ț">.sKI/eREWKA A&V %!$H$?_H ˠ//tzA f./p@|Oo 3^#i z $g&R85a o%I#=0* %Չl$D_׿z_h Vgt՝ X`kPm-/V!ZƲ3ӏ/ IJ JWYBH$%nu$mH$%ntp T/jå `!CC$`AV^a" x" ` *| ; H Nb4i4%b A4=BHb A)h!+j"BPB"""""""DDE +#?8}7&#&(D*EtJ٪>;XEDV؅-" >0hPι H;D qFI8pθEc+ X"$4(}CuD paÆٴe eM 6ͦ(l8lmL6Qp96Ȫ"Ȃle(w ͦ(x +I vpWqp-iJ.ȧ ȸUEb5uw@UQ+@Ltu foaoaZ>@PѠ0l:Pu  +qn6hz7l^qD!]m?>b UC&eoaHII[% WB]U{: +Mߊa oK/AޖU.__i7B&m/K*>mm&|&Eg?/e9D5I􍤄D~A#i/oI ߤm%u]i~׍` 6^:ZZC<$h I_q(aaY>mTq6⩽M.zHImArySB5N KoE3ҝ%Dz:'$4/A??t8uMLIm#ցZuV#*A$u@*.< +-QhHoOD}#ֶ[[!3ނ۫Xt!ejMmPC8KkejMmAN#΃AH3fC!qg#UU?ނ۫PkQXA"'ٹ +Vz%pO KR+)T}8M0/o^'^?K, DR JIhb!, zM^-"9AP%C 7/zXAu&eZKJXVGJMZ^i6oR :imMY?oST,BI_0t<04fWRmaFi %{xA~,zI7bJN[_K YEJJa  +<ץmRZpUk@*T~q[ u@U_z:8urD, m6]Fr@xL #L/u򟫮zײ@?O: H tM>?H& +8Kqˆ YHϽ|h Aa#I}yI03_ǫ|l)o,ǤgBs ZUAZQ'A&\a~ 0z@oKC TT, D}uRZf"x,0@tG50geA |6]u k0ExKyl_Q oeqTo`F{"Y\U/SHdK+7aߜL~Am*[}-qo'-ֻ:- +ֺ_u X`kZKkVXKo*Z< +Ze My ,7OU-0AtH$%n $bD)geoq _ a%n}QK  |B UQe ;b(@}O~Ka.6'/KkEޫX-\kA koA i/_+&2>Km]9&SEZvh +'$֜$O4U9ȪNq@o$ק;rD}/GaC|h <|"? O)@(DAW\WO)P, +٠Li&vdCI4&ҡAȆiߥO Z_b@ov>=-A88>gxտ@DڤHbCUoK`ރ#; +ߦ.zXi{MS _޷ M_;[ai7=|5;, uX@&ܡ#X@A#r«zMF%IBۑ +>dH0n|3rb|$m]#iZaL?Kny 4kL?Ix}hN ߤm%OZޞ)􍤳}h8 jH?lQ~4Ǥr߄$c!M~,WF7 )1Tut "T(- oޭP/d9SzjӋtj:NCBPWZr}is@G R#ӜYѾ_wt R#ӜRA\T4Iq|( P_SD‚ 5󨩀k*d󐴉t"Aƒuײ4W$1HR#RJ\{p@pw i|4 ^ߎ F4kH DvnʰտnOj nT'L>R$I&0LGmcm/ I T<$һI$i6/E{ҵ$i68- l(H浔A'J!ca2ҍY:d(x6BT&2i8:& 6 p漋iݰ270l6 &;&uwH6ȩ L&/ jL0j7Gs ӨI 蔢7aÅ +N-Z8F8A twXzIlptGH +aaHQO)6oD dH5?X"1V9ea ; _a`ŗI Ӭ@oݿ$Օ?ؿ)%$m*^t$ذCKWgAAȅ_@oKޣ'gʴ'OO >&j4!BKL|{lHR#a +MPV|?/MǴ+ނ~8~'ӯM.?oF{mX~PI/՞/!^Tkς rH +Cd?'4I O$&}o8~x@VSV*ܢb9>W㲭^f_Om-/PD%f⿪p#E_ +"нJ~?V=/!uIZ_"ZKDH4yOksusOYȕB,hzWk,tW^'3Z*ezV. ><5!:Yl=].:+=@z}C$/ePG?P_)i^ {##a֓zMW_CkY ,X9;(3aG.ij?};)?j kZapVf$GtR⟏%]}~j?&i+]&U/tz^j= U+KKPNN0K54$ɍ}2UKP) NC+MץD1D{tӵLW6PmA5⵱Y +VSrq#߄pjXA[899 Pߑ +-[[_s uY,:^z pZ5EʒAmk_k]>b4B|%:~ml?})8D{$> *ZuhKҤ_,%R5 Vl~*),75OnzȎ&I +W묆/:Ni|*v*0V"]B )$>]:x"?DDK!-_?/!BH_ X,6zh6l<㸑_*\um_/VaE~a+OV[(,[(RֻL D}nt_KxWPg'x@ +AǧQ'"p3R,Kh +.Ky~ĺҍ&& 4:9>|_aAd&K .DS [7yo "cI| x%h/iWL_-?K.I~E EXI +%A6J_ YqTvO//KJ窖_Il;KWI|B +/AiPH?_/(Amf|~0(RK-.A/H%Rq/J&Ht5_WTM/oK t:@-/0,rK 6K[*l;o A?M, ~ZJ7v 'a^A>Ib JgoJoIL5&I!~ФzM~o>JKnxGM7K1ǢBAzMj^-_I&/ ~AXE۝BJ&\w%Mm>"HKH:MH@ g*Q0lּ ?''Fk +oJ< /w08 j~" :AA ƒ]CKbL:a&)& %- 93W hzS#X4G@ i/k#8:/  א B =&AkaGQy8A0pOBc]Ť GQV$`(aW*!&t,W Wᣡ# y^0[uDhh B0GFBBBA BB#=444J^DDDDDDDDDDhE"0B#q\h $F"Yh-1Ku4#|88dS5#g5#$Jr&"`^EQDk+i2V3R;uD%[x&6 m &2u @pȲel8pvEf2ApKtg>\fh'pDM~wDwGPֺAUQ 0.L{s}Ug (â\0ŭ35pOWᲰa[eOn6iy/V-u>P5TkS]DaU6 +3h߶A뷿濯eMiPn!zo~T*gӆyio HN<~*w߯i"@FYn!q Sh3/@a-Kmռ~΋DUy4Tߑ]a(G|4_}U~id&bCgJak׽/Nuy5/i7Ωsi'I%<:/!qix_'IJ~>oI4}/H5&k_5Im[joImU_b/_-hkt4`2qӪ1Jh_ph2hֈkhmVNfѪI-3D*h:!SD~&`@_I>86t) "4A>q~LF~XN{).fZtJ!"tS`5,t_NIN/!"=s! EߜIޕ&h(RQD{_!pr%NsO:/1+8o >zO~AA>I}/KbSz_@c/5k䜾zZOZLz[5kNx<^FYS^~IU +APr=fpֳc/_뤕^5wI[k\_}CH":],x"? h0wf +JTx"?H":]`xu/zAZhiVT:]ꗯ>4H$`ۯB +X">WJƗ֗,EAl8DxRб*:ӯI"qKL P~0~b-GUu$@#&`Z7?aou$zh&%!zja Wֱ0$_ڧI>&C QMDu׿*?z/B V#|Mb g3~PZG(铆Ep o,7[^(\BZC\uFuY  2^_oKB ׯ5W荂?%C,]XDl6u  rJpcl4#N.KIZIcKAu z[~;*rut#z p@*_?>ҽ ޅHh AW\m-&W%9t ֙@\idڷ-}:/OD}Z\idZxMYMWAx !2q?t~{ޞ. ӥF 6SҴ +m Km-&U#?At[$鯇^SҴ +hm  t#KKAK A]e:< ^SAA}-- KKA=x@AР!]h,WPTGAyO_AnWh13ӏ, ;)jM_Z + ==8` > -.?ڛ +S_zcC#Ah Aiw?+^LV]Aڭ}ce9F\k\id<--2BA$@4(.B?+eTq&gWHxu~CB}QĞ Oi6uz @ _ -1tx--Io "=tᄛ W/JvA70kKnI7I7}-X`[0WGBIt% `A"?K[)& ]B aIa>~ U5 Io_DO򩮓{IA7-I%xuKzuޥxxQǤ+NDI-ET!l"7 PAl> I M"kMOp| y'* ui\pk&F* Ap t2AF Ȁe&vLbCC=K0@H,2Sd(5=aȃ PôIR D +2d 0"_4H, P^vLb` B0`>V$`(Ih GXARA?TаB8 +Aέ $)C O ;kR$b(!AF"#,YڴF#h32:-"1nq\ԈjG|0ppNrRVjPfjPιX"1Dw2;g\#XJ,J64@pȲȢ5&Vٴö.ٴÆʭU L3=Ʌ 3YL;*Ig 9nM7e:nmCPu NFȐM7l:"%A]0u L*6@+]]IOf2DݐJwLtu j5JH"* m4wZLtj )D0˄hb־K(AXL m4F Z9i3Ѭ7t_F 8$i2#wD[wLm=/!-u>Aem FQJDݷIHVmxma6 +1wR_Xm!bF]Iۤ(4?R3pIޖ9!z "~j]7ׯzpԌϨ7HGE},ywmmiꊰa-/etMI/KKɀa-SgT^nI%+K$/HK*. 6J55^zaIqzU]:䄧GEU$='ɯSצd?KJ)I/!_I?ͯoU}/$ 01錄 #KE C_K 5CAUqD5 (I$J?j/hg?.C_<"'*%J[B + 8m +}B4IiSϯ'BΟPbqiCYn!'_ +/:~uB^6jOHCU)E$G]"=9O3Tu#Ӝ_s]-"~ʥ?B*:px~NIf"hIsZSrIC/E|8 P](տ9Is_ +k9hD?B.8U7֊xY1m:aN* ~qT0}ZO_A/Dtg:Kn%&zS֗zD +_KJt":qKI/3ҝRKK( n_VXKu~%Gu_toZH":_)8koAimD^$#1y"Z[u|x"??Z]zZ RKRXI K3$-*Iq[z]""}*a" J XbgGUu$qWj> ViפU\%]vhY}]/M'}-*J_>}-*kcizI&ҭXKh`wŔ1Y,BI_4PXJg$BXy𐲆4P\P!@sWWo cG_ aqP/@.  oJ9K_K]%C㎗U %Kz ZX_I~KI:OZH*(DA 6zF} /ނzF}/I%uf=#>п MoA`f>aY ' {xAl?^yi:G@I ~[:Gk?a ӥFm3 U3 Izf_گM,00u]{U_Z,0PAi%Shm(GI oeqT oeqT`4T>Pm-k_\|N[)ShPPcuAl9>|AuT8AU__/ADTTi:6 +_ELZK!?(Ծ.p+[zl?%[zS(maux(G"K~MmK~kyv*O)'JyB )pO 0 (}E>|™n7)5=bRa8A7AW8A7Yi!0}(j ,@.[8A7vLbtz"@LZY# Lo8A04c& , a0&P^r`8hp , A0Ia! ! [!$eVka0q ¡ b28B8Ci!Hւ +B HA +UDj5A#MP!AD幄W*Dc,Qd*ιXDEcq Fl?$h Itk`c!$,H萴}B i$$nbTmh&H91shg?^Y_ڤ]8[2SJ9C_4W@1IJ9"=9ΥI=_XMߠҡ)ts0L(P@jFj(a<$hm.C^zi-ELZtf -Dui{G +Knh8;pLG??ޔiP%"KnQD[u|F5$I_+ƴ/QD^UT R+ᘉ EF'KOJXI֗^aAbgւ ~aד_ҭOϥm*l_]/| I|Փ_BI_$J tH6!$_v5uzG~:Z +m:_ƴ(l4K~랽, +ߥ ϯKҿpnF}S:$iz_:jGA$HϾ6S_Z A&Y>(_2|0H$9KzeA>.!?K3K/0geeqT^^HdK+6*A$D_ⵯ +֣ДrM +ֿkI[| IJ2yuA&)+u_U~!*WAyt!*muA**[?i}J9MW'ꚍ-%A"~\~Dy<k~+apKA?mzHArm$ӯKAȆii][Li'+_FwA AFv]?b@A_i}z_ ih -e` ^pw=~";IK_$";I`|x?AX@A#c@ItAI6a KKF,p@ &m l:XE$i6 |A`bIlxIwxA:P, P@ ҆A΂ips9sa Ȣ!&'Ja6{po i2 DN`AtR+-'RA|,z NMQ_Pa0i 0&0Iia, $A L֐0YpJ2A5U$eqB,,HAk H WA HqA +H!%@DRҨB#DA$ A:iIDPB"""(!D)Zf#;DȄE>1Ԋ~+2VR;(ȮW̗$8g\TI(BӆJ xl2aC f%GsȲa*hDkEB"0l 46e"5R`᳃M&af:f +$J_WlZtiLvj#iN0A 6mwvϨ8gˌdgձk_E &H +}!Elb֙ШIèBISPDI06V8lU]lYp(oOTTl :eOn6 :\¯A&_zmFͣ4xb U i <]Hz]$~H5fH*J?^5"?&Ml5P&F[_a?@T_\Si~P_%(֜\S<I:ֺZEJ,Tu#ӜȠ5%ii'\KzMt&/opBiP8}/:i)ėU9տ9Is/K 5= ?B,7UЋA{I#5 +0Tu: 3 KoqA+8oSֺQ~_=0J%[sk. $a/կ<^3ҝ%R <^*N +":ePq|>$nut# nP$뤕^_NP +-_KQH1$#1y"Z[uy2"Ax"?"?{Z^ޗ(P nʢ#?GK3:-*g'_KKOJX^]GE :ˣ:8ʅ?]a@ +$lGUu$@^{h/6]a;B.Z^IYjqI鳑XKh[i~mzZ{M[Y'XU>/"?迫Y |=gE/Ϋ^m a˯*# 1 _Ak_/ H ˯mZ +_| WK ܊#?At^_u_I#=8*_wx@+z!uZpKu< ^S_M X`k_z_ ~yqyV+i%? 6 aLRVץS{ tx ifT~5ձA6~_b~-#xi4 R3/(Kl/:_o_ح, #;A_t넋p/ a&^t?5/ .AKK[`ఁMMaK_AX@A#c@KXA ia KKItib,']zrcI6qO}uKjPZ24} M:(~]Ί H6sL=+ׯ& \ K Ȃ)s +B ҇K% &Dk`ȦpO&O.g.l4$ ACy`I%Ki}آCTi`Apoޖ `3 R _0}% iElR+RA~,z NMbZL( j 0` ,pa0iV Bд j  jаXc   a0~  IU +B8 KaP IB& NB8HqJXBʑA0E8AR`HDj5A)5H*Dhh D GA RCAPQ7[E:!\6 wTatQΠJ?l>pogA_mi7 ݺM}-.֗Zbm~!GЉ"W)UZVb٩Fu +z {*Vn=cV΢"}a0_ T4Mǣ ΢uI!gE?}_IwV=ykaP!(kk_ gBI\N +^i7eb.?k=iq %NE8@0Hh7ޒ].$&6Iz[# cIt40;Aj,DPL( T#Z>$)G-qtuDܡQ=wvb#Шq"""jn +#XB aɲ^c nE;+ꍶ-trl + 92:SGZ; +A"P<2:+ 3}>;} #N#|;XVmWP: Uf#*.8|GKґФ؏"(";~:1ZCAPA~O};' A E ޑMUEBL$ HG}G$q,> E}GuGMH>:=G}>#Q}YGfo8<\\qF#ӹX}8)Ј؏_o{q""툨qsv Sv-cc^sž@Dr85YGuGLYϣS> h>!,GTuG>>ꏦϬ#q/: ?)GE0Va2]GҜG3' w8'ͥsVGDt< E' E ň"",c8MЈ EEl!>0qedE؆"Wj;pcbkO{t-7 XI|%adr9PE%aCmzCvm#h&Y^VvqQ>>1Gq\,vqD:4g#m4mY}f24$mgmWGy7JGGYGa1#l0@wƂXmcb;!GGbǃ  lqG<`.8##c'űD^6nEvD~DXam aǹӆi uI'vah96*Fh6q#D}6@ͅٳD2# +]@uYA>>##I o86ftY7:#46f7}g>?}aO :qTqOϣ꘣%@}g}LgGE갊":'Yŵ&efq1l|q#"=b)byWb#ب#8( TOhDqQCFPZ!>8&xAm/ų,Ab\dq CU#iGmVY!"0L"v m.ߵXH%$\/y)↤ 7aͫU#5Z.r:6k(yM*9tuYiNTc>iqfa\s88  E^ٵoVaN/⯛_^ն=8B9؎/\/㈽|bb8bحc)Ŷ TRI[d|hBaXbh1 D60v]u#m[aM0zWhMG{\2dmvμ=[$:8E&Me̎HPͣ}!ZFZMa< K<>#>FGԘE3=3e#H C#stY}(A0A8"!@`=\C8!XB ؈`O`D |v0cłaqFDDDFE/ƱqhDDDElDq' BUkO. ն/bChi*v4## 9#aVtaYQđEaSID"#Hꏣ!}6q$mVCY䧑B,>":."!DDDE6(":ϯQDTqeG}Ƅz} qq۱lFtgZѢSM0H+y6Y:2PXYGjޥضvg4GqDi"3'&#AhY}:#b",B,5b +)Dp}V"6Ј#`TDGhwmFV!"":]1 &i LCLA1t%C \b *$m}Q$>; +YJsꏣ>R%a9"""">;qfJ|FhB>>G}“gF^3D}GuGAYLQDAq>ɻEXgѐK8 ,A6&Zh"d5GƁq{)qwJ.K\MG\) :C%8cj +4+#8Dr+Q:>PE<:GGT3 OC& C03AK} #\DWRGj0h&pFJ2)H88e&wR5pμ3^K"ڃLgz_aIGtPlh)C*%h*f{npʚAEʬŠ3 P>ٴö i^d†۪хB#@ ]iRvj部EZnݦP +$6}A.]0u L Hƾ1iu L*6@yΖu 1k^wLtu fP0\YB*dkoay>qf?}n|62UtwL;1 eOer˄Dz0\JD>IQa)#jmH+Vxm&! 4_6?07V6?B1c L HzpԌϨ7HkR#>f7~i&&/QWL l:a*il;q>ΫE׷_SEzҽ,թ!G^zaIi~㝨yW!AGڼ< hz/e()Y}6RCynM6$_B(6j1DX!{*?_,H萴2(_,H萾E)Igp y1sZ! YJ=&Bֈk1sɱP*͡UMᥠ4BMaM΅>qhI74_Me2O ϣSjV"4 &ZiHC>a/"k>.Sd" $?Ȑ5iHCU)p؟Z=> J~s. Et?t:?؈B>`sqHKpNۄG^C+OKw6(GӟG}Ft*#/K/o%U_[e|3DDgoǂ#I tơH":_#-WkLH":_#/1ca]꒤ᘉ E%^ޖz_f +1 H`b/?i gDh:ӯI#""5??N$* OzXAuE *iU"Y62_U6mGGuG[B g"i=4| Gֱi=p}-*\‹SO_\?BHH 8g$BŔ1(c/,yz/D gI+9sh}?# MCcLi,@W( x_D"@Wc~c"Y+x_&ğm t[JA oT?8u6}Ҳ/T?'C$F=I'T $_>b=':+ˤC} pI]A4 O˨п $ֿzr.:i%u6'dH +?@ >(Et/>( IQh Kr +?G I m/,$ 4 \~HZDtI͡E #AѴZ oeqTa~m5ik_PKgW#A]e:tX%:< Z = NxkuA% = E|n?']=0Al_yqyVJm$?Q ͂AlN KUo0ImTX`yXLlHQs - -h &1eBKoEV($'s@; -#[SGR1F$-"?_i!K{/U@/.5]'-[`z^]j_MkGo[_-?44 $@Ai i|+:1x ^u0ߪ @"ih KlZ6"#֘I"zE>& ȉuO)>pO 0 (GK%%&DkXADK1d* !`P&*4 dE-آ0 襾K0K0iTi`Ar)zIP^1; a0 P^10Ic :W}*AB0` .oH֏ `S!`AaP4LX# +5 H ʫ4:I P& ,B4EB#P!iDF CXZCi)$kKqAY s:y]mR-uYd]V:k)3J-J yF"2_lprah6} g2[8g\"6flayHDnf*ET2VjL"s 6ͦ)CapEÇۆD6v,ܷU}]DTݐHEle' @"]] "*"%'VKpAI`A%=hp_p$ANB%8֓{ >S"P&Wέ7tBUt&s +hp4JHH"> R7Se)Iۤ(I}iWk]$MU7M$tzL_ƓI:zM,ywޗ^x 6Ck},$mh5Їz_nI%i}u__Y +ZL?KGMsYI 4m~ʨ{9e$0n^Ww^Q("ٟQ ~u\#&CA#i/n>II)(Jy$t[ |+Wi^#@\zOm+z H" d4[*<I$`c!׭'+I}%Sd01Mr$E%O8jQhg?/ez#d j$^TJ)%󈥥WCUED --(_:CBΟbqiC:_-4W1IJ9?XeB4^tӋu*ܷG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȘ5$) +L<>(aC"C tVe_m3PC xAWBtm"( P^#Au!:i7aY>mSq_8aY>mO]&K/ =Rt΢0 $UNQ.>si$=)[p$҄Jt":?#AT4B&[ZKT[p합I>XKuG* n"/KzS(@먊A!4a@T nQI--^دD$[uy$PDnq50AREW(AԹDX_ U$--P/SR+iu7 ?K`$JX_  ޖ]I%UNUޖ]z;KAI[a a-%UAu(L/"7}-*a4| +0;iVx3[ Jy> +O4| +6o-N,0_$눲4PXJşOXAx~lBI_,0ӈ"3MI+G\G[ uRV(_P"?G-֕}/? 2 +0g#8uI~.,hR(l4yKzJd6 aLRVﬡLH$%n¶[s z \ +_GifTqFfm/^U!*ў -mOΏ S]s:ŊZ($b~oߪkom-\ DS_ֹBGDIT$O4R$-/*@ATT,!ad,B "` (-!ǥt Bt H N5 B5  ""4ABP"CI-#!HDDG""""""""""BIBG*"K:pPF>#ZOv7[(hej`2*ToOO${I3+|%iE*%ش +6:L_~H5f&*HxOSL$mtֿy:B z_R3a0=M0aH?DҟTۤaYU0K`&>Ť]*.QE?FA#i/lle~ FA'U AHK|f~D FQ paT4Ǥ&'FHq>u i$$?IMCI<}/ )k/1BJl2zoI/!%O<&8Z"TֈkH?l_},RdʉS$+o RR}iťo^KӋIKO,J9Ku))G>[=*b_Nb]!T0"=9YVߠҡ)tsIuUЋA{I#5 +0תP +k'9ΏpC xe}e_m3PC xAW~s T"]%ꗄ&/t1sK/ =Rt΢0#A?rۄG_j_T[p +":ePt|>$nxoJ4uJX +U΀u[)WKzS'@먊A~֗ (۫ШEZ 0!$ +NF\;*~ (۫ۜE$/ )"۫i ,Wi{z_L B-"?M-]/oe?+Ab3rZ "-?FÏ=╠^]h,WW?h,W">n_Aue $G(ol R8._AuA0K/m*SMmU3 i=6o-K_UjV KbJt8ҍ3MI+ 2plBI_(": KbJK"=h/?Z怫)C TJatZV ucBCa_I6]B$J .Ҳ-痿XХPiu?ZyJ4Bu }/,I>$ ~#se+ H&.?隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HChdfSK$aK@T__L>z@H$N,s L>:_?}AA lEkA>.mA f.ثH%A 30u_ F{"Y\U/ȇZ o\$D_#I#=0*h!o$ȘWKk4J+Z?_^"Z%aIBt+ +ֿ]i5%a~ׯק6 aLRVg-A&)+u}epA:LRV+i%A&)+uzkyt!*A_ U Tmސkˡ UGkifj'KUU;B H%Z.)vKUm.6ij'*sA48"?_'*__Hk(_(iuh <_=fiW'WG@/.W' m~]Z O)kʟxAؠdCI2( M;o( .M?m?V%I}oia)P0=[9.g}tZ%᠂@K6ح, #;u AAa{M?Am/ok iL4 .A-Ra=+H Dvfrdx 05 m`Kx+HqH Dvoim=+H Dvyh1f$$X6M _""")7:I6n#76Mۥ KcI6hO}wAI!m&^mF~ G_H6aOXA_& |A`bIlxIvxx>g.l4D$ ACazsLxIһ (t#ˑ9#MN:\)!2"s_36` "l tiaq~10 X$ pk T \ NM?0*Gid* qI$ Ae|8cJaA& I8A6dPEWEĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0JO.Ņ)4`q ƒ `C'Q ֕k֕؄pA0Id` * BYA0F t`h1h D $H"T"B?HA""#DA$ A:ijDDEDDDDG((F">z?8}fkӥ&ҵKKt#G QADVltJnb+E &4I8d C)NsA+;)D#QFIxpι ZwD"$DQiXelÇ i.pʪmL6Qpp46lmtEEaPrܣ$]Pg%~Dݦ"%\(EZ#:DaZg@ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AD}G8A6-a ,0VtY0 uAlm?ۺe A&">4M"#Q@l|_(>bUC&boaHII#% +sWB +;糠pޗ 6oB$mQ/47Yz~i6}^ۥm&|&4}G֗JSMAzFB#7I{zH/A#i&WE?WZ_|zߤ^:ZZC$h I_q=H+G 9ΣѯKOMZ FD٩$`c!H )iQA|?AVJt"+*dG44`>/*%NqIK4LyW*dm6q' ~D +L%oD$.Ma0sN/L59/FJ?C[!VΪDzs)l=Ăb&ᜎG9|urMQi#E>(a.2AgUj(aOi#EH}0}TMh$t@DKoJl#kא!GMo"uNۄGX?a%A -Du:?:\&zSh}a-PD(ҫ$FT n0/u>!+*6HG"?=ko["Tg=WN#! (Pn"9B[^(P nazU3 ٝ:\YnUO~u5h,WTf)Z ?-/JXDy4? `A{tޗGK.l K/3^a׋#_T0~"+ /o%MA,R'm*Y&:m*T[XKI$K)}/~!$ARb  lBI_I$xA~,zI7~}.?cmB5@I[i[l1ס)TpJ _0UѺ (Az㎗X(AP@IPiu(Aʡ҆KՔ xADI Su_~?c  I?Cnn x_a?yp@{o, DpvI037 &F}V-汱)E[ 1r[B-ZQ'A&\a~ 0zUD a7EZGY/-' X[SZqA f.xץZ 3@t<<%_.Xaտp\U/V,F $g&Rޥ>$D⸪_uoA{z o&?z_ ?aZ*Kt[%at +ִ-4߂U|xAl?-5 0cޒTcͪ $b]e +k 1I[#j?78Am範tQdW/) UG 0PzQ UF6>'ҿAj4_mx|[(צA*ŊA*[yGsIoI%!uTH\Nu+ 'p MNpTia')8_6MK.QAէoA0o_AryL ȅP $ n j*=oo0@M1m&o%I7^ +&ALqO _RWhګ{l AA#;uo #;+}6/g~aUm[0Ai7&~M8\5oAKA%M_;[ai7=|5I[a, DvnjGX@A#r@aU&# mJ8|} 2<@5oc@M{I&UkMߒMt m&ta@A$M1IK=DDE&GJ&L?0?KCH6a$i6-0oToHB M=0IA&Mtcis +B ҇I1A:PBc % ACIK_c%0pZAL6 T]~ioސd* |A$A$!P^0HR  '&!9d* ǥ?ʆA-8e -&E:`Mi$ Bj>X`HL& - b$A0& B:cI b>M`m4kL?I_Uѯ!i0/I|uDxto6mO FQ?Q^q~4Ǥ5y!)~ 6$h Iް1[~( GneZ +0 IMSGTut "T(- oޭP/d9S^fhG><ΓЧ&Uֳ4t\Zqt>L-G9|$O-G9eC T%KSD‚ 5l^4Iq|( P^*`ʿ<<-"]%*]%[ r.[pT4]GPim#êX䎛 ?AKu1)ǥaKu=D|_KA݆*]imYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_AbKaZA)Z #w/죘rH0+AbB 6"uok6]zM.Xߥ6MAu}&ʚ!_}uMUNv(*LV_6 J!$/ִMfWIY4>&i7lBI^_4_KM[l1*rce 'aҶcB5~K# [E:_+ 4r:Piuz|qg'I?b?K~"xO gBrD  &F}?xG! $CI}xz1AL>ץ_?:/! |=ZˠEx3H Ad [Շ^ 0ge\U/zף%I#= * A ubh!I#= *⵨KK^gGGV!ZK_oA0B%n_k$bA0KVmLRVU_muՇKx@ o5 +LjA +:9Or: D?>}/[t VMkӜkP_ Mj +8 DSEGa"?kʚ8)zA\S?XD&ooW'[i&ح|!7Li&*7oտdcI;)UV]{#Ep@!5+uǿ$1Hm/l#o`/pAm/u]77 ҿA";I r1D{_4@A#vUv}VH Dv}&mRoB* Iqo Cv?$II1&KA$I~~(&.|讕A$ItLpZAP/k)N:CǤ&oytij9e#P@ ҆ Ax"J) ~I8A7 Aj!d4ci0OA$ A04!Mi yxp@ @, `֓c: a0iAAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S$)y-P4Yo;["Ge򳚔2[3IPgehd򳚑$'lFR:(}Ug×9C$8&2Vf{pȟMladrj 2Pl6l6 g EVRQU`dNa& WLMnlkNݑ~]0di7iËAB*0e@*6@>If*mp\fh(}[wZLtj +}!DLs:)(Tr$>A£(AŘNE7 +Xl#qGSꪛ!*ۺem2JiU7tIzᇦuw Nj%$l]Iۤ(_-/m< _hү=#ֺI8AdKK&4_H6/n>`u=M0atMI/KeT}ZizoM WFzU]m%:Y:I׽,Q UkRB:+57!ICHW:U {)DJy$t[ _IB5&}"O/u믆obGD^/1BJoB. W4E?$AƓt4`/\RK4pE_},/Rd:GD*h +&!'7 + g__M:_-4W1IJ9. $Zt&fG90jJ">6IN$t]/{~JU9տ9hD?B.0׈PgjHETuɅUЋA{I#5 1?0tSq?8aY>mN9tA0tM:"FtK/ =Ruկ<^_Bg:KnZLzZO1Oē-6*Z^BUm]VRBdZ}tb*>?IGK#/ O朠5G_kLHDuhYjTA +Z^G:_+ ?>K.k7%|=!e i~, %V3~P_Mt%YuXo.! +(_( K^Z~tZV]%:]d[%H _kχY9DiDz,hR(l?U ~#s"Ap?i__N_A7-/DA%X YHϾ}% +#UEBB\$At NR=K Dz_3P"? &t]t$~ a=WIQa#6a(@ /Z #}'@Qhe>SK$a/?ylb":KmL[U^/*?}AA?At'O-R~m5.ph zt_.o$ȍ< ^S5ǔ-ֿ]Y_x@A_= /m&A0]}9>zJm$gL_?;+6 aL}z_:8 +_GImNA||m/LCY. Kke:EkoUoe8]s:z*[?i}TqߪhI~[I?㰿\~G (_ƖHTy< l_{^U>Cev_V+h)I-_حK޿_kb |1Hm-@_}]iwVH*vKa]8;/[`/a# Kho/c@Aa i, Itib U5'L>b? 4cUKjPil=1G?}xIvxE+du\A`bZ`ȮpO_9?0 (tR ,BdDSդ\pkഃIAMB2 _˃˛ 0AE/ 6$ 0}"5~INM` 2d(5b0:QU2 AΡ4(@.E/ {)H ?= +m&a! P^v8A5 ˴  @a%hXAH! 100q $eV5 a54Fka !DRiB#MP""44#M -4H5CPTZŠ""""G[EqѕHXg\V2;f &80aKq]݆q]]a#EA5} +"Z z]1u=Í>[I^6&IViu6ް1^z]j݉ĩ痤??I#D+HNsoJ-+e1l԰@WxΡSPm o*n":K`uʬըKu*dS*~n=R۫ШEZ Dj+7)a#@u]|%>BJo'w|kka0X/*TIјlz0]%:TDg(9$:*AWꗲuoa" Nj.벸_ujPy=Io +C>1IuQBHhI5TV䅳]!\S=.o-ɴ zYoge[Q i+ᴰAXѬ#5.ޒI ) H/IQ,. 7'J ӜBj΃aHԗؓ_0&4jL& }' g1 h` +q c A +B,DPL(T>B@M-TEhf,yjPDtGG7(Vm`Dlmrn>uG}-T},Gf8}GЎCB/DBH1JƂ}}G-)ĊgaK|G7zeQMˊ8!p{h+b{>P6G(GR#GuA:#HShd4%vAaD8FͰňV㈎}$"}b";.""#R$*~%HDo65&ʯ_z"_7Ϳ+6m:4HC84H4,鳽QGGf"}YDmn(4ꋡD"#qDBcb!!!@ۭD9DŽ oLJA=\2*ӐGADڝS~O}8׶JFtϣ#Kmgw8 iP!>GuG!}X"YuG>\G.D_{>D%ސmWvǯt?bBB}%CKSiz8}dW>>qt璘GT}P<@pDvGA"4}ϣ=Q}QuGUYD"ڂ)ӈ؎@փA?!T[cSi$8<6Vc3x-bqgr&4(kMޓb3 \\KvL/4 v40w# A٠.i&]\6ށ<(GБH)dq8G}h&&9r -GTB#:}Y.>E hI+"""B E0b"#8@~dIaG>rB y5c#p1p xرbCl\ M_bO6 'x#k օ\iMCW;<ꎨ>D:ϣJq[WV":.ɎϣGG !GT}?6yA +yGo:.#6# &,X T} ӈA|A~""S@#E9cDb,2; x;hh|SBXߎ 0q|DC"ڎ>#m<($|DPx~Ď -HqqHDT]/^nނ'AϤ$##>:0Si[:,AY Hk:#~Yv]hF9b87q/4N6q#"0wwB#ɱL87c ]n"iZ[`^n4K&m$~!HϦ ΚR! jm)skƁ⠎8VㄯlH6?Ŋهb}6\lx5bxm]XbDv)ɼ[L\0l1iPױLmJAV %hzWvmS< ݼa)0M0ǡYCnwiN>r7gq2\Sy321C#N"2G@VyY[R_d%ImLyYMIPAG !ADA X s>>"qSlDDEqqű_G{MaaA tmAS"V3B,lB; ϢfUDJi4,%)"*ňA +cB#qł#!.8U0D1 1^[  %W9B- #ȡGMuY(G +"-bA@|DDDE!H Vd& +@8ƕGB";4RD}ꏣY&XC"-"" ["ErAL"R>cB: MD+&#! b""؊^l N(JM8""""<>>tAs3N:#h'*+6 a e*D  FR;+FVsRKsRuY$Fd$<6=mQp4wL3= eQC eVQaEa"}7 il%ԈjL"sFVٵM EeZa`&17id  PdKWLMn$k&N6Sl;8Dߢ:ݑ}N (vtPaZsg;Pk2YȨxtAsg;X5TDC LD_pvwGƛ(!t:UUwM2(GP-u>Q6ޟ#L:QaӅ_В֮qՆ?FIH!gr ma6 +07V~H5y329i6 L H+},wޖNBy##A?z}[ WC0ۤۥ:CtMI/KϪ>:/T^K5jHGPQ\EސAzFZj߿GYym/)G O$95Cy.nU6HMA8Dt]z$}')>"Ď VAK @1#/1N"CxYR>/D5CT4`b,- . W4J0=&B^Y_ڥ&@6b=G4ZZdT ?Ч.?@TyR4LBN/Ii~P_%e2Ovh+HI:ֺZEO ȚϭtO4Tu#Ӝ$CAy Q ]3jJU;t8b-ߜI" +kI/=U"^H! Q}RL1]"T⩿.:aN* qT0}DpaN9_aqT8פ@KzZI -Du2{DpQ j0$뤗IU_Um]Rj`{7?gQY8 ~<IGKF5$_׏G_y2Ŋq/oKD$}$%I1/TT+ןFh@U{{)b"#I:#EfzIU%I%CB)GUu$@W9:D WzXAu*{h/ldfSB g"i=4| Gֱ0+G便[QpYj}t\-tpޯhdfSKFC I m//?ylE?*#}A6oDq-PAtm-k?At'O-R?}u ޷W*G>h,WYN= q: a⵮oz_MƄk(C + 6(q o /߰)i .'\A oKL?KPg9fMzL?KeT}=沉 7Ť+fT/?~UE6 FQ`?n>Jo6&#("Q ~66\2A#i HQ^פi^#@\zOm+}q=/I.='IMC_[OV6K$c!+I/1BJl2Ko!%6P2IE$▯8Z[Ut5[$^BJPګ^Y_ڤ^GJpy*jӋ'lBΜZq[/ߚ+\ӋJ9aDzs?\)0Ob,D!HRaM*b_Nb +kǪ3I-!:i6Z(aϰН4WB-=$( P^L?C(a%[:0I783"]%}8qItT"]%ꗄ&/tAT4ZKT[p합I=KK|"8(T[pI/I!/ -Du-KuEG"?=j a0T nQIޔiP%z2(JDzP%qD[uyUPDۜG΢%L=/ejMmpu*aWi{z_L B +$U2@le# Bb^K/[%Vzxc/%╠^O aL#aJXPaד_"K"B JI QH +_Dh/6]|%>CC 7ki# +.M[欟K0g~Z} `WIYjVVAaK/m*SImU3Fi %ixKe ii$##Xu$xWuqfWt~a`,P/Jar: "=h/?Z`)C ZPiu?Z\6q֖KJ .Ҳ-u +_ I|_&Pite;rM\3l i =':+ ҿpnKKA7OǠag)G޾9Ih$iϡ]%wDu:jGA$HϽ/)P$iH$9푥$a i:j8oW4 )% 0zo* k__L>H _>RH _UGImj_K/0geD/K] tI#=,*_oi3~A6[ $g%R85HdH+oV!ZzBt")A+ kA%h Vg5E.J+ZpA&)+u^;LRV+i%2?9k$bC>m_ 1I[(Q UGk ʀW U3A%CY. U>@AH%ZK_e:UlRKUU'n$)_'$_^A"~:OkHhMNv <[)=xDKAryL n__V+fAryL ( OVwOdCI4][Li&@#Iu[| #;uzZgz_QZia)P0=[9.g}*A-yTޖsA&^s .AwT7AJ o##+VD0 mm-D0 A M 0Ÿ[֗$";I+}$I'L>I,4?Ai60,4?HHm$I@DDDRou KT m&E&A'a] a~!m&I 0  B Mڌ=0!m&ÐN| tia7La tIp ˛ 0AE/ 6A:P^`'JNMQ_ Ty(A '&cA\ RA~,z NM85d* A.E '& $ +A01 `ᨖ1 9H + Jj ńĂ0H0` I b@4A04RAR0ZCXH@4$1 B& ^,,HAk H V:Bt H ʭa"[!CH*KAGu""#DA$ A4) A DDDPX!A "#,xd͎?l(G7Iߏ҄:bkP +Q  +endstream +endobj +9 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕr\CK +endstream +endobj +10 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +11 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 28627/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZm$J-6~ (z6/Rc)7HZE"2][_ղKl:_KmoWm.k ] +W$ߧ>ߏ__Kp6Bc餖߮UNAI%JFǣcK<uXBn!^v0 l?8}=:ZM6ם-hk:_&^v`- i1[m | mm{0 aDWڴ)$)zZ* z@>蕮_xIN 1$ r +ZWsK?/k#78Hik izE??K?O._!ʒ_oaLSmSxĭ-iR34zI*KIDZk;ioꇯivAa4 ?->h$h$pP7 `ahaXa$Bo zh)d#hQ-eg5(pι"M0pι-󵬗*8g\_a im0J&g, ѭFl2%0la X"5_ TϨ6Rpك +a"79i7SDKCBIu z6:pPF>#ZO0> +*ߒ=k +"Aa oKm4AޗL]|t&^g-VaZSꕾ*AHH#~D F_ F΢8IFe> )1O(uVAH!%6H %7jH5 h/ez#d j$^BJyzL=*h9YPZ|Si~N_%(֜ZP&Ic R#Ӝ92K?7zT0"=9ϢIZ(au {KUЋA{I#5 +0ת* 列Im3Co/z"+HIm îZۄG_Zi{G +Kni%0}*L["=cW)ӓKu*dVR-/ejm6 _Wi{z_L B +$U)Z u쥕_h,WnSA B JI#`"6z_/l K|2-"hm* \ JƼ P4bJ FYu$x[l10.*+рk#ߎJazZPitVPxT9DiXХPitAV |7>ΈTsD'\/ =Ixn6S^"?C5#agޗUk0Iչ%o i':/恖S9A&T -—֚ 3z f_$`φˠ/,wМ 0F{"A\U/߽-,Zu_I#=,*Ct@J+Zu]~_頂V!Z՞ ^H$%no}Wo5 1I[_ +_Tk^=z_?B UQe:UZH%ZA{HWp MA\S/KKAryO &F4/U][Li&@HbC/ ZXA AFvT?^ gkXbAm,_Gi7+c@K A MAi6"I cBEhA$M *i%atW'a=&AAyynT^A:PȘഃ $jK yps9sa Ȣ!&'J Ӝʽt plL-&Eh H0dA+RA|,z NM85KpP@V L8A4 BаXBc   a0cCA!$e `A M5BB 5$em4wXAa-bA 8A +QDDDDDDEQp|5Ed1*c8)0vD"*y8r`_lKR#'VD",k5-dUC4m 63E"iNPjL" 3.و&2Vf{pʢ„pEma6|"%p7uL^LI eRpٴ +ad ][m e٫ ?ag>\fh(q }Mp9t"x3wef2g_p]e3@#lZ9Z' b2 hu_[m!Cea:p[6sʙ e2(}USwLQ쩮R@\U[ͭzuآJHߞk]e'Щ.(Q({cCԈyBW>=ӑ8"A7{=M2?*i3gO:::mK#Nr^mC ȀV:fn&`6~90FC_6ސnh'("ٟQ=ޗejrAi'I? /u8Y/jV~?szY( i%񲢚__E'\EP= qK9}el_},R鈿Zu_/eO\UA/8_Hl~zރנK)/I@N + yzE_]/PŐ`ӧpi?7U)1Nry(uϭtMo"=^ʡ:aZ/G8zq{*Fk3΋HT8VHEug#(?51?_=axa=jc~:aN*x06ypT4J=-U_ +8=/VzZO5u'YFH}t/@_O?tO\_%mq}Z?/:د秭"o\_xDKID}A<:SC+M^Dy𐲆0zd\0:)XWƗq +:ۣ )~:Z KB d _ +Ë#Z(?~cBg_Et@a49 =}v~?iml=+ p%l>KI]-s{D-=k5jG$EB\$B X-}ztjzeNa/sSaA{K ޖ_/ OWAx ^SҴ +CkAl2m_m~ʾAt- KKA?D]cʲ]x@ +[?ޗ_KxК?K-DtW[=TKm&[xYP^tPz ~y}0Aq~z_P?K_t?8!,ח\860)W/i j@) mc|׮l4mu_Pt9I~8W i y!_KKWGZARi~8; AiT{z߄[+_ʙ_iu~:L|qK!AwtiƓikg'Hxucޓmi6KMl >u0Z^>Ɠi-a&L0_ZZƕM8KAI*vܬ0A[MkM㤡+ ~մo/ޒ c~}~v"!8*K1 8zM0N~oIa>`'U"5$,"V!4w+ XEAIH0I,"@C0@[`*La{ZI$jKL  <\i2(8I]EL`ȮpOG@H,2YKiwbP@Z I ] Æ=d`P4z 7H0i%d4ɃQ/kA4IR A"WH-_ !a 0 D@7H B @m/tUbFD $fARA?B"SʬHP,,HA_ UbF!*uI +B#4&I E!ŠHp@Rj""AGMԑ2DI3FBH茄Db򪎙Λ2B +>2!TDppȦjDo5#GTNDU.̬wڅdB"p\Ԏj[aÆ34eo m*t (%)g &bEՂi`&pa*ۻ L&/‡UMAP0 +>]0di7i!Xia6~:Dnʎ]0di7ii҄-YqLaE93Ѩ5v\fh(uDQdaZg;PkUQ 0p\fh(uDQ~wD0wF ӬWzCea7t(m~y(l#qs=u>P5G@XF -M2U7tTK%$oL9QFIHJHDs`]H4&(ͣ~ۤ?ۤ=s Jq/*i3i^< >O^T*g< >Os{SLkN_ ֟_&/:fmiD?| %]/՞ `_K>K׽//׽/_*ȴQ>j_>j_Y>j_Yp ?[ &P~>oI4}')?6&E'KWOM!2ZPŭ PeP\: }:(]bֈjKCA3^頼g '^4 $V4D*h4|z 3T8 \~ <u3@΍RH5iiSE + ~Uy3ҵȸ4R3]!MtS\MU{)*ITN\MU{).dZtDz2?q9B_oҋT8C'9@B,7d{*_H~HE,3| ^ʡ89p] Ue'1>UN*DdK:aN*Dd!XP>qU0tMO-ҿKVZ^Ii?_/qKI5k䜾zZO{@C]/NzT^ustNzU%W3ӓN {#U:H#~I|x"?$P Ac-'Íb=}/.V#U3Ηz?=\4GH4S{*gT_.V#U3Ηz*OչŴI(z_άG- HH*H*n?gVq#–fzI%CgVq#–qW@QfzI%C鿜>j/Kv7[>,RM'h[}]/΁oub-/I`Im=tJElI4>b-/I`Imֿ%K׿*?Ŕ1_TŔ1_1Jim_q K ~@W( znqP Aa/~J@@8 /wF]z~JA c~H _XhABH_ --UizG$PH -qyQi KKo^@I'T.(CWŮ-9BκI]A4 XS, _oץ㲧(YI+% ].L\zz]^T:GGKI- { Z\id5?Aiq/:?ZLh KsSa@P# a_ eg 6~4QYگA?tuoگAq_{* +ZHKoe_ -/iq-WPA Z[c k(H,WYNBRB(H,WYN --z uҽ A']=0Aiy_AnWh>y}0Aiy/{*N|=8`#߷)azXCMDAtHs`]zcAץa6 S]zcIץa6  G\ {mVȾxA1!E$͆CmVȾX.q%l4l|ׄ(u_=RGqKGq]l +*_)saux(_1+G:-&T΀տ/ @oKj k%ǥ[q[*qQ.r?? O)lo__OAhTo=D{Xj"?7W#M_t޻+8J-oO}m0W_*I, ooʮMIa> Uuo }&&0ZTAZM}&,"aҔ?}U,"a֓z?}I)^LL߃XA01 xA0zI0bBi\ ``&cH'<ϗA~$Aj0D.)0IV 42ZMF Ȇ,>I.!aR \Rad(5G4Kh0Y*@e0`Çaaȶ-R D +2gP^vLbKh0Y*@e0`ÃP^v&_V$`(Ih hp bF4P q AČi" aThhR$-5"$#M`#I $Zj"""""4""""4"""4"""1kH.R%9GTNԣ<#@f(:(rµ(J )L|8\AZV 4>HPI;dj)fE @pȺaw  0l f 8dYZ ["6l0al3=d 2Ӈ  0۽d:YP#]7 +wT!@pۨ DkBn=d9)w (@M_"ht(MUTk 2%Onl:i%=hpQj@a(\Eef2g t߷k6#0n|hu_F7*K;4!:W瑫?m[eaU b2 h"?WgAAkAޝm}i}l*΂Mփ:_M-8zJH+kyO灧H|{)qlEu灧*Ǻr_^x|&M{g[to:f/GF使Ι?M/}ѧ9'oizpAz?dtii,$_/3 S]6ސn^h'5 ?oYPJz}y:^!? R4 ԛͯszY(*AzG/F9,umm?szY(2qӪ_Ӫ#`zu_P656k|F B#0 G/$L?'^qdg*4|;kA83Hl+lONY_55D?oeg5tHز K競_MV7c]bI1?үةn\ֿY9%:5~°֌5 I#>&$<}OIv"!8-&_Ia1<(opz=+&^[0^z=+&aa ïT=[OH#a09O` [ /:AK 0zMpabdPd0zAׄ09W`=ȃ :+U0zQ[=)b叚eg*=( [AIAAB`ƒ]CK;g*?Lbh1 # + LN@N7 U `dX ia T@ȍXARkkId(t 5B l,D $fARp XA!j0b#i#2 nR6H*B#4&X BGB#4&"(!H!Aa DDDGYgb#!U-dQ:; ag20qCgV9s2ÆuDI(ȗ`f{1"Ɇ6l0al3>*E3DD#R`6im0J =d:YP#]7 +wTZ N0aSl;F£U }$S:oۅG%._p$ANBu՟mzF`(.!9\0N7_ +kyNKߒ=k +/^x|Ǻr_]zx 6(4~o:4$__Fv=n_/J55QEs?FA#i(u0 Ăm{L?aA#@\zOE{_kޖyp:PI$c!Ӫ_H~I/!%O~>qyXZ#?ΡWP&o RR}i\鮑'E?:eg5tHopAP:~_70"H>AIFʿh/a$fAFtE<Tjj`J_=xaꕤKu0 k}U QF7 \56U QK +":ePpv">I=$j>_H/ O朜[*>X"?DJ T"?b\kKejMmUA־"_^DZikl0lAKֿJG#G%opA}O?HHm$I'L>tÄ\?C$hJ?= 0 8J6 0K 0zMk΂ips9sa Ȣ!&'Ja6J+ba"'PʠJ+b+-'RA|,z NMQ_ k&Ei4@ȕR i,1ńĂ0H0`   .! +B mb#i#2 " l!ad(B #XAR0ZCU) ATЛdj%PFkI@t +""D吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂs#ztq?s) KN?DŽ;~wՈ I$YhH6(K"W$8Ad?':BS#ɯf8N0)'%_/0f9%ʳ(Izb>;*gEN"W^ֽ5_8#0_zjfZa. ><5!:Yl=].:+=@z}C(CuXhʰjA}#Xz @1쌏E_ZM7CBc 69ZMʡŪG6k_apVf$GtR⟏%]}~j &i+]&U/tz^j;_ +_W-/]C=9::+O/ֵ`Г&5V. +ADw%ri::z<Βav a ]{(?Qƿ\V+ UB +nTJq#߄pj_u󓑋m ޱkKչŵ,8=/'UʱKk7Kv6kkZOy7r:_5I{:ml?})8D{$> *ZuhKҤ_,%B8+(o[߷ fʝ=":ⴘz]$)^>zT9ikU~_W_,aI8ƿAΞ06 -xX[nc?a"`2t$__.^i~aakH/z [Xۍ^_ /V LKQYQ7ia#w@u:?辖֯_O6  OR֢OEfX: AK_K4`kA' J;K4R箴ʩ?[~A("=:ꮓiK+i~ޗ:^LIljz_'a@v0oVK)0/J~&Ko_}D &$ޗ0ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɺ3GedN*2D@( +Zi!U "TGL 9TFՓg̣"8g\^Tæ"@j |0䴓{  @AME>CH tPA0l'-. ea(Nf+S & :oO֓ #:u"P\ 鿨l#n5JHMIť+k3+|%iE&]$YPi]KR[^5&/N!%>=u .Wgʴ'Msۋ6MǴv&>[otq9>y%<؆HEM/uAHK%w /՞/!_hI3_8Z&?o6{q=/I95/oC\o6aN^MQu_'IMCIzMKns I= R/KC_`dIS/I' }/n Q`|UAN5_8#5D@ӋJ*'XњלYZǓ΃ȸ4kO2]!)}My iB_90Ο@qʀj@b2?A^a2ayP [(CFG"erT5O_c ϩT>@>Ӫ*`I"]%ꗄ?ervPgЪNO|ZD06|G+V&!_Ga4֒^o&1_Z#Eװ5uka7 +ǿj'[W"tZ' P="??/ ? TejMmTa" ? T# C+M~uL8A+e"`~ZB^O uTÍbP~!Z_ZZ)CI"[93չŵ,:ւ^fI/ubsX"Z ya ::]M{mi? zI6oxA +~}/m7r:_j8Aiz|Mb_[Yoֿ-, Fi %z^%H?>ߤoiaDp/B, a)T%x./V uK^ZSۺJXuFZQYGg6_}_:*׮Kr@E>VPqAWθm/-t$_XKI$t__t$_tub ^?A}aH$i:*?Aam~L\zz |=RP7ւ&.==H_]G DYxM׈))kA lKB^}yKzz-"W- m?@u}k3~D?K X?^^GY!9?Q]2^- +֬_c(#@tx A__:.EH$%n}g9 +[~a" uBAK/A\XH-(R.H%Z(R򴴴ץ۬r*qKy0K}/(_Hk^L(e Hl# +o|:Kǎr9] O)xG:/sS:K.4(.?NiAȆd Nirt^9oݥ+ #;*/&PI/m 'W_k 6//aץWە +Ko&_ A MA +Knx/[ DwǢB_KI m&=M n2I-êXEیt)m>"zL=/һH6h/6 S|D0_z^p 9Ѭ56~ s%za( ڂN688AXjl5*I?Iza([ӤA#t1=|,&RSҊؠA$ؓ_ȃ :<ϗ_e u=T T 5us+9F"gi`0y+ },vf ג~jL"s 6ͦ)CapavajpU(lȺl6q\&8myPӶ `2)8lM.YPBe-6zuahtۧP0DdH MtT(U-=B & +u +*_I 2aiOZ$\(e>æ#EKAx3 +.&Q a.@eӅ_4Mafפf &EAp 7yfŗIڶl#qŗIߞk]$̭U79\U[KeqVtmo!H^M-8y]D: + 6$/V➦H0۬o%^8 h|{\|{~FNA#A7{Q~HŤ]MIӣ=?}89V7C?N}U dW3j$o6SI!bJ55C~PKM[ +O BI-5oF:FA7C0=$$pΓu֑>,?!'$St(4IMC_[|4KF9нBIW|>PW>@2E$' <4_.+aElY:/8(_9 Jh>m%JQϭ83g^qdGC~NB/IʞtoA'^3^qdgסJ34M*b:kV+=M+=.Tqs$(p,yV{}].:I$PU9YWB-=$( P^=PyH|2aEu/$˗=tJqD_z I2K/ =Rt΢oTAB{<z7@Z45c~{<KQa-/aPim#U b/ a/C'KAeeK/m!_NN +-Q@Id*_Ae_@ZT?2D* b\kKejMmAa +/f}ZZ^I-RҴ[KDu{{))Z 4^D4҄ײA1_њ(_˕e"bϣ4Q]:_AI[/*e sቝt"֗p-b+Qp>zΏ"GK癈aEB4:}]aFi %Ek$_U~=/J9sh}?f_ӟ6Na#ߎJaqD|}#cL=."ǿ:5l=XK1F~cBCaהk=q#M#+-b> xy}~5A0)>9Dih$t ^sԒXc|0~k^$TH?L/[}gP@$ir/_?L0ȯ" ^AaE~c,s L>:_ւKH^Z6 v!~&_$`φ˯K|K3ׯX Mh.?(GzA&: F{"Y\U/ֿzI`4T>A E?}uD{x_As{KIA+ k|}h/c_EUD^I6owQMu[x IJ_}.zsI9#V[I(AI__?B UQ~?BP /1>! /_h$N{iuyΏ@$ayP?Ix%p MZ u}&}GVu#Bq Τc_V+~/?JkM_A% ulPA2!حK>߄J5:1 k  R3]"~$1>u0Ic .A-y_Ko1ץ_OzV @&9"= xA(aXA +IxA(a.c,p@ &m #Gk>?v"!8$_ `A.O0zL1$i6P<$һ8E +q|D0F V!aaKsմ" ͆ " (pZA_A/KyB /\ctL & %&a.q!QB0 =CKR2ŏA0`I "J+a"'Pg+_WVZO_8/ f-$ Kigbqn_%Io[Ak@ a L& pkH,j$bF8K l 'D%tH. `oһ!DQA0F t`8`GAH )`j0b# {C5ZŠq 4ҨB#ta +H!!HDqL!DDi#B""(!>@"^MtA7쒣;K!Y٪aȍ:DTAf "14hg^ -De^A"iE8e"geeiI}TݲcaZNad ʭE [f P 2l;N6َQSN/T-]T8L8fI"JU TZ vBJ:Al0! lέbʏ*H:%< O:\[*΃">=?A4h ҞH DD 7\-a ‹o3L:#X}Qh*Eyf R3ߤ>|D0Sפf + yv(.zI60æ.Z7 +񿋜/ҍMw|%F_ᆂ|o LGDGHCAf/0%_Bi+ֳ^%=zaYAc~m~>,?oKoIѯ㠓oJM$kKӏٽWDZ_#mid`kAmFiS~E~EBGd`1>K#E9_K rp&dq%}zW(]%rQRW"*l2/AI_au D҇0y^'d+:v7^uAyRQĝubI#?Ι|=q:.?>egV{zDzs>őgo֩0Z\b?io0u""ҍ["C zat.oO43/O #xUOzl.h/_KDvx>.x>-}--HPAr0m,?'ۄG_"HP/b/">tZ_z,u 0??]~!lP:t_Z_Ν:!T`f&S` YhIai_0̓BL=-*_#a2i_X~+^n" K +_{(:DiBe\V+2_6]~C_Z?Y*#=aYd𗙯5Hb؏W#@ؖ||ïN(TAm^s|ïM*|9鳑_C8)5-,%"J?[ia-xBJK kňI+80_iO^_>KήAy#q + 1+(Ƿ(\uic#"?#灧koB ahD8\ҟ~8q_A_#o@5Biǥ~,^J[uPk<:/pi~_K]4?_>M/3 g:1#JQ[j_ C!B ԿH~Z"p3R@_3X_KRK,_?uh< Azf`_ A~Fˤ_. _wY^?q1>DxMMxK+\},i2}~>RAyg|9PO(Y Ai_YWDt+A1_U_k]2_djG֚__e?Yk4~aSY:kO%nE> /Xנ+_-P1)!-/[I )!pG)_A93p#-ˆW΢yAl![J<Զtҏ5.k_=c-|L%-4-})mOWZrP[9?wm2K3Um;v?' mo P9A{ $ӯï:~"-&Kmo4FwΦ-Kxz_ m&e[i/:?;7֓MOtoK, a_?XaoItD݈N b_iï lM䄅V`=[O$$i705?n-/N/ocxDJ R` +0yB ,}'JGItȠ`K~oK_L5A0ȠU:A B"Xa`5د5IbNM: BH2 g䆺G~NL,Kw䆼$T-CHZ@lu I Hp !tBb>N4'u A00^ ix1'pjx1h0[ HI $! /K# ^Ab"SXBXCA584"@5iBФkh UA-DDDFDQ[D`E#B#B"" Z-#%OdޤD,g3dAG 0q20^yg`yʢ:gf3{0f6|i d5]CL&1*w ["=vÆ/u ;`r޴PDt Sɰ:w: +l: i0IDtT+*O鸺H7Ax3 +..4PU.LtS4p}MFŮD@o]&ڶ]'G'B/ aP:@(.qe|"?皦P: + 6$-E~/&]$YPi!z[QMQ_Uz5&/N!%>=?FI' [C :>[TI7ӟ ^[`K BI-\0OBI/o#J55E4VzB,i$zIIi$$Jz&pMzII&뮕7(^$mz'IzM_/?B $N}_JrT0 N%y0j~8Z4__"]RWҶt^qdgסAsczZ"҇6S:TL?cFkҿ3^qdgסRaK"uG1ױd@4"uG1W6Tb?kO]Q9tHMEנsUנ3GTVʀj@B2?^.Ls@ZZꗄή CI=TMH 0"I~G?d?K/m!+6e_@_2D*dPiH P=&UA!#a2/+KKZZ^HAfZ}ZZ^e"bLWrZ ,FP۪a ]{(?Q}b?t"֗,FjFŭ.#G(tXbg99N[[_sZ\G[+9/f#_=zlt癈xA_Ckc9#}sW0!ֿ_fIx9$!'kzU˛CcL=.'_歇0HR4"?>ʝ==0HPƿ&8? x^_N> )M`X$_ CȘ+"`2*X[nBH_ X$_ CAaE~d:A0"@4֊"?Pb?_B?L0ȯ" 3Rl/+A/&^X疟A1qC Mh/Ϭ& 4 Mh /,%!z^@P#ׯX Mh.?(AH}_=~>/R!^ &UHc$Eii3?|5y#[D^I6oNqOIB IBgb>G^g9@P@j A!_|^ZB4>‡j@F:ŝHH/Oz$ +>z:[0~IC5 (A9` ] A Ac? k~$=S Id/@v-ǿ[`_kO% 7K?aXk% 2AmФ _ `,7b" /- ~-z4, #XcJAy[t)m>"*k~ s%"' ӜKo΂ig'Fk %6< J?G>+-$ ׇ85D?Yi>aǜ+a,^wqNI  ; a 5u>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕr\CL +endstream +endobj +13 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +14 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88856/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY> 8a*| #al iAEju3RA6')Zm++4P1̘"=HVl,l:_q^_I/`Uk~f5u_, +ZM_k< ]&ڥkcѱ /N YH1 Jӥ/|']&t1_( omWZA\tZI7-KAz~IFylo^Uz_J|DOOH~ץ}-. &")z%Cz^;3q+K/ZTMAJzzҵ;ioꇯaa/M7AngO * 0  aH $qHBM@!o@ ii +"ΰNL/?lmOw;pӇ3S*2. N>/)14 +H '_% e /I",:L3aJId6|h +l٘emt\0>ې£ D,_G5 pOwQh?lΖn/pdcNv~xA~0~W5ѤעHHtxA~M7N.JBN{|*x_Ѱi ڶ%k +o,m|$1n Dt'|/iYp_H_FM@ڕH0AoAmzUX\8J)&{ǥ :M1PB7+_^խ#V\* A5b6 y+L]1  )4kj SR'{lN024i5 I^֓ABP"(0]C-0""X!DD5)4""""?qԷ&lE 2 Ӿ z>= < w36Yi&yv635ga}9:Zf3pBXC 8w eQPӆA$Cel8l447 /.vÆ` +DŷIu5l7(M i0 aHL7N$RM?=2&#E t*thUJGTw&rm " )#EE>CH t6{ 8lȔu]&uR";_a`ŗI Ӭ@oߑe;"?0:g: + 6ao /:MXl!HZIť+km0_fQt&>Ty6p)|BtЛal?FB$Ǻa5NH7_iӞWgON\pXO'hIo:(ZI%ߚ|E?gV"-$Kg"HmWīC7^h@ &}o8~x@iik?z'_1b|2لƼy^h5z~;ioz'I/?,~v@*󐺤Dm<4_YG8geRUoK]RV7Vn[쪎9(k/Z"לYd`+EP^qD_%kЋ3^#?( Rh"uG1+=19( <0 ^s_㥝VE9c?_KB/az 죜sPhʀjA}#Xz 01쌏E^}!&ŪG^l|GeyervPgK\-&ePvRg#]K5]'K/&of$GtR⟏%Ǐ5B#e_@_ϣESDDua7 OA^:2Dǿ_~?G3-/_/_W^ʛsR~P +iizZ}]н^D<Ϫ/onc&klײOׯ7Z\G,9KO^#')׿ +!WŽb֗sk:YqAvOyt"ࢽ!6+k#$ֿ5f#M!R4V_NV/ADbNq#@C?XF*IZmW&IXB\3֖٨b*\7*t믊atx~ (a]~5&Piwe/K AEj/K$/ xN>]}o'U~/!ǯֻ8,vzuA $/z], a_EA"?t#WKկk| a_EJti.u ` [[k_-?^A"=l/+A?[pEִ MׯA}-g-|K(ol| A SSϥz]-A E? --m_z_;t$ X=}:_mA$_aKm/GX_:^u&M .ڶUM$sU٭e-R۬~c9?Uu\$&IB 971^E;JҜ[KB ϋ?8A?Zk +1x_cM5pK -j+(><ԁm$<-xX$ZZd{K5ՋG?vkF,j_WGW=_k>AB(e Hl#'_zM +j?*|DGIsM.-*` DS4vΒ*g@p_xX<Ϥ?$9Ctc^I tDaޚA]!]i- PDzur`T Z;~$?X`cF8F@U[R&B1XN~$?KXI$۵aCViKҿaɽR* H"ixJM  1OM +JޗtI >I[ +&&萐^zZW `>%0$IJC7^at0L=|&J|D0DH$t  DŽ Ga.q";ؠc)5'Fk +oJ< /w08 } Aqn_^Ŋ- "6`Ahl47 /.vÆ`Ȕfۆ2l6 gÆTLF@8V$ tw1!0:J#}6 8Q`DMB3EBl;03 ɶ/ (GDt0 \2al6v}6СQihmg9>6{ P=,O(Nf~wPQqdλwLuTJc)Ne +ņ=Z]: + 6Eޛnmo_ ;O BlOGsP&"ۮ{:WL&Otq?s)˟ ձuy'ߤMUI$vwՈ I$YhM]z]&o4776?/vS0:IIW7 !?DI#4C)zZZZ vB $N_I1Ν4fᲂaoR|KElW??V=/!uIZ_"Z8ʥ9д`,\RӤ>Ey--.uEJyő∿>MMa_IB$#:|ȀW㥝VE9c?_KjΟ3|E٫oaMt$YW8*e)wbu/Dz2?|?$ 3rIϤ" ?]u:(3%aG.ij?};)?j 1 9S~t6>~0)=:_Iu0m7 M'ePu/p㮓*G{"ҩ$iU_/ +iizZ}浯8:?7mR("?DJ=뮿Dj1D{tӵLW6PmA5_a/RA־#_}VK^h(oȅ_Z\FF-g9|2VH* Kk5akkl&Ȅ]NL뮒kEd="I k\4zlAi~\4q5L0ȯ" %iPJ/R*ʡ8+Бm/\%)zGy>j `xAZ !}j$Z[yXaQ'EuuuKK_J4@$Ht}go-R)<Y_Aq? _^|&_ /?T/aA߯:KKK0 m/ _u}$VUK)Ah?{Koڶ\Vp _ %/_8ֲcvZ`a uS" UmA/B ZU4KvH +NUZMXP?Iyҥ_HLXImiJ&Ht5_WTk8cͯ:m-uH@Im /"?㯥cf>` sn졜:[{iolZ`%=uVv AUtmXVt /J7v 'a^ [%eb0=/^ MWM[b";KoФzM~o>JKj `kKVAb 7LEz ~]'IG ayUzx&An +a+zMq5մa"-"pza!>8HһK'7Xz taPM]'x@API#]L 4a{TBG'J=.x& + 0ǜ+EOH2eu0e&JQ[*)0~ AA@A0zM0 ; Nqal)'A"(XM ` |4&J0TBL XGCG&ӄz TBBB[а i$-hD +H0RTЎ"5 +DM55 +T,G@HF""""""#B"""""" +"#,I$EˢQFvJi̜dn;"ZᝎR;3 :Bd)hd}rܒl' jȺFaaaV. Zf3F2'adv+ӆET2Z 'i6F &}A…Zl0aÄTI2dᘛT3a +iAl]Kpa2" )#E *v݆g0|[*΃9;~ io)pʄ'$LӋ @ 88_$N30P\mom!stGT_MF XyjEʰ>6y$-*ͭ(5Uѭ>,`i35^/'^>0.FDlOGR|4!s8O`~[.9"#lRP飭o4J jR!/Juj쎍2N*bic8 e9D[—y- ЛFI?6D?(ZI%/l;*geTl5{ oIς؆[-Z_&ݾ ~DBS#o ŴkKuYA:]uZDrkm-/PDjgvtKfC$?6'_LK{z_B꒸B$m(lLY*N_D}mzXQu߄ mMjyZ"BP#/EUm%#cz ~ /E"֔Mi#_㥝VE9cK5zTfegH,bpit]B0~k o,R^Z Xa9+I}WVe /_/#҈ r8pKQA$GgTvIm /5PgWe}~_OIφϩyemV+ ~\5?'퓠^;6A^:2DVNgb"ISQ#!:z_R_֕~ 7Yk 8 +r +f&k/=/[_*rsӵLW^x3XAkU5ۥqZu'LWB^rNޱkK-YBƅGv~DhxAPdTP`kkd _Fd%+z(%׋#a(XK/k?]|VKD|?m&A t*!^:7A_/:eNׄ ;^NoB ){|+/ t@iPA$u"0񏄿A v DKFr:cg /D H__۬qKAXaE~qwY|  !t?AΝo>=ί6 E_K!BAVO#j+x[j_!Y׵㚗]iF~c /ʢI}?Є_Ad&T[پgsΓ~/__?zG%cI*o6a/$y_AV_ 0 m/~/IUJ/VUIPÉϥ%A6J_s[𒯯 DyvI?/^( HW_=>(WN?IV=m%HpGTR/S/K/SV/F_Q:ZTYO2>TBՕXK%mb ΂^HI,"@Mim%IS({2 }"1V1 +<Ϥ?$?MA%X>;>zI6XaKI:P B1XN~$?ǞiBa0L.Ai6: om/A0-/-t Ä Mm*-&${A&IaK ul$~% ?/ȧI.5֓il4,A:XAa RwAljAK҆I7ǢB jt_] SSh\m=-,8pl$Q%NA1clI0FB:G4^A dO_ +mi%'! +0HIB]RZAPEODID0at 0ta }-*KK %OKM& %- yFئJ""^!@ֈ!$ A$\ja& $5xi $chNQL 5ⰣN^qH|d L-&@\i0T dALRAAC,U I cXkpa80Aaxi "  &ӈNI $D$H̃!uႢ0  $X _FZ"ArLvjHF@!A"&Adj!5 ɃhEI8 DDDDDDE""""0H!F\0""#,Dh#Q\`)2+ʮJc;':F[Z;.L$eZ)ўD}aE (3\v98Y6-v al6 RdU0pᶛf3W Q7 0Ȫ5AB%Dbaa gܹn]&wTA%TGp5pWp[Zpݶ: +ӶUn"RM„*np䴵UL6/e>æoaQ|'*9ɨW6:@*‹e>æ @aUD">IO]gD@oF<]Rҧ~HԳ\hlslmtl'yWgAAfV*ON^Tjҿ|ե^}uײ: + 6Z +_*?nd0@.N 6 +Ԉо{y) 3C9Ob/mǴo>|HCʡÒ/0,Kѫz^[S3@۪H9ӟz:tIG/!o6H e|O0/zCx_u_u҅?2 $h I$-)JvQYd}y:; _+_[Mkx}~(:%6H kU%$NԙVA<%~q1 g 8 ,DtNŲ=y *jK]/HY12"г5{lt": /+5|/\":RB#?sN.*3I0i$}g $BPu4d#?Ρx=stCK5Ҭ@QW^}.0"=9YJ ,J0 408^Heg5 hPP~BҺ%D_( P_Ui6JrtASm2k:F5 Ξ`Ha~jD{<%[~DpQA:D@gK4tQ$^##ŪGPdh:j_֒Mu^4UϤ{_iy#U$Ku{*t.!2 ^vZXaD{}+m:צ%| J+V߷kmק>H Iv$D׈A%5qAl^}VaN +K_/_GLhM? $ȖWKzIa%I|hF_|/6VHQƿ[(gGqЧQ X`kT-RK/~q_E1*?~ Sk' osIJ}v#Y̓s\RH_])֌8D|ؿaY:/ɏ ~!*Kl| iD%^0 ^ÆS?[{:U!Iqy _A6A%\:,0m%?'^_%PkPM?W Mki A6__^HI/?[+O[cG/U~_ +A\?+H X-E?Ki2@Z|!73MNNLi&'IKy__K&M&J/ o%C?  R34KoAPA%`8*KoǞZ7CKZZx=E߂ i|K`BMBJI%_az_,0 /L A M oK,0T/?47|z$.c%?hA$M_a%AaI|%/ MOJ,20>=[O!m&pBJ mA$󢿊]|D?FäkAtk Ma{P!$~I-E"0: t֐AA I/y+^\?IoLAICAXäIֽA$Tk85 @@5lH j WS[_bP@|0aAk0[A^ ig?' HR H !I%pk ~N7 Ⴍ!q¦S$eV ~$ 4$ @/a{ GFd + bh6k R +,Q)Z+ $P",M F'&M"""4"(!DG[D+#4d1E/;H*-őVyFEFJ3F Dϱ Ŧ)TT9I[0֏:gVE5ۻN2fh֘47 /.l*9`VuJ.7D`pl0ΰDkML6B"i*H&.h8L FBau +gTlal86alL243 YH[8)[P*C'ŧD#:S Fn +qpxMAd 'M|:oaSL8Qr0)Ϫ&i {YtNrUR!lf/F| C +?a|!t?izAץMU}WcBlOGHQ5-HGDoK3]cu#Ny]>8BsZ6ͭ*}C5^j:?Ո I$pU9?_.?_F_7_yփ/kݾ ~LN,-(^^@hu:䄧GD='ג#la2:@kӏK} $:&Tł)x"֑o,af}e}^>2膿e 8?<'arT֎E^-RkqLi0JcKp#$"W^ֽ3JPϯ>iMSOIŐi61rRe?tz]Q9uP^RiliVYit~"lG93kGFKO_64H3g^*J m% 5L8w}/aG.ij?%H%M 彿--Ha $tDtk5=:_~T:Hwit/[p7-/ZerxOA^:2D,a/Dt6Ro]~"o_uQ~>qOȀU+KK5km:~$uLA٬"?W:?:tik>y_I=:Ii&+د&I&?hWKAb`$`2 8--?/*@C~KZ:Ԇ{ұ_WG֓mza/3B?+:,:wL=uK% j<ֺ}sk#k\<_US z6[^ .a."IA8!K_nzTi %~TGD;ia* }z~&I +# ;_l翤íq!q (@iW_,aK_*NTz]W7潵A +h4ȏEd=#/.M2!SK}/ }?[S_կk| a_E[(]jhIu__J̓XzF}(_T&m z#&XDmZkVVrF!@ϛYZlz?K_J4@$H/Zb,ؿF6믭0@0tχ[uЯm[)9ۤ}7yo " /K3ֿk(0&m RAyg 6X$f_?aA$Iz!KʙF+ZL~>jMZW_Km$ iI[]~Vݤ9GRKkk +1x>*TH_Xa"_gz竊Xk8Y֖k__#R +G(E/Z/ImKkI4AsGWG[~/z#$gOKkD} I_cf>` 7:=v4=rS.?PΕ]oeiKeT-m o{z &SehS[I?nM/ijz_'a@v oLKwil=go$I oL?Wm/IaoKKoK}P&,}&@oMZNto=-7LEz a-U&/pi7G"?:L07 0ǤƖI S^HA/k)_$Ti7-Aaj`%A-'1?5hץO(A:P%J?9h-B c @z I vp858OK,cbpl1|~I0  !5a (cK"" iV@Ke:  "`8A58EXc4L& 4A0 H A1!i tHPXAA3. !bbPT!X_ $ehCB= +L ڦ +PB"A BڤE9*@Dhj@H B +"""""""""""""""4"-"Rܡ D;*, .g<6iLaH֮l3<&L6af]‹gH:Wl(H,&؆As ê)@"-TRBhL3:H> +JN-.Jt% S /P9 -:TR_tj/K~8~'(NI|)2Pפm%`I"$UHzOͯ4Jy$tUMI/eb'CZVApս>bi7H\EpB&\:Xgˁ0:TY#t)hzW$Qu#M/a?z ^/I[__m_C ρddҦHXc'I-H}-CII_(AXI?OIX~P&EI 1u^XO\imjZpDJ<_Ab`tÍbIGqAN"]~5jbگI"MN_ _[^鿜)zI&+/J BI_>F2_#CP*X=%$^p=yҜIo}]$=% HZU_] !|$.p$jF}~6B\%mFڨ_?=BG LtB $6]%SS %k_פ,* >Z]+/<V_O Azy"<%{):V?_,zΠՃx p zF?=_ ^o6*48A6 [j>: &۪kKKz-i:KܞS9EImNդ?X: #;P}kmBZIml%Z_@&__m,0%-$&o?KJ a*+ M| F-$!C3(_$NK"-,22] 8A6z>[J` ɂht1 %G u Ku H %,/GC PZXh L-ӈ0 U A""""""""#bx;XGbh ;R6 ٬;SȖ0lh}.e;D&}9hs.vⅺ`Aah",i6 p漋iݰ2%0|TN|בu 8m4kWl6 2.Ϩ25 $tJa¨PjTt-DoWdG8i:%|, ˜Xn.4TS4p}MDDS FOuE>CHm锝a(]''NDH߻`ŗIAAp 7:u/c)Nw_( *U<~qiv(4oDuNgB\U[JN-.G0ӅDc.BlOGsԈb}C0M?:s) mUӞWgON>_DN'h`*PVgV"-$Kg"HmWkeal'gV"-$HoY >ʨEdH8N0)'%_/0θ+So8C3Jy$tUM޿*ʵz }?нBInse:6Q\vB $NcVAp{{uQUoK]RV7V-]Rz_B꒿"дID5)=gBP_yZ"ƌץ~hȏHeMJj~B,yő΅> Jm6^K:sZ~eg՝?ꡔ:Yl=].:eg?_~MH7Zzנ4D_Mbu/"Dz2?뮺jz]/ r8pKQCI=TmhZp"i6x>-P"?[*Ӳv}_ȏI?K k=:_I"?~tW"?K_A^:2D?\"~8Ta 4_Ҵu ? TZ 8+KK0KPNN\k뮽isYI=:Ii&+(6uDCbQtӵLWDCa ^qUoXjbsP_U[+CEoXsjb^ޗW9]k_k]>b4B|%T_k]>b?ͮCZkG}?C +a'k$-}4V_ϥ' W4/%ⴘz]$)^>zAsLԌD]|VKҼ|:_KP{/W_,aI8ƿA׶)=,a]~5ޓ]>?a_?/!BH_ XaD|esE~zEВ4^QN1VaE~a+OQWlP`_&dW}V r5j `xAZ !}j$zic9?D{0^VԇA1q恗]]zuM Mh$ +u +r:}zÈ˃R ĺҍ&& 4^}}t_WWV~_;t$ X=RY6V}w<7H} _mm[_-/ L?$KD]|/K"?&MQڶP넖!I(Ag9ץG ,B @Pg9b+cB ^>! }8? +1x? M4Qk__#5 ZT5b@$ai_*R^ikh: +皏 +zX*DY_ +j?*_a ecf>` so?(m (9ʭ?[~A("=:ꮓzl;o ABl M~bI*KaQF+ xo$(/J~&Ko_8?0)mV&~% ?ӥս}PnI=7LEz ~]'b+qqx$+ ]kC Ii k|D9_0I1נ O*L0&< J?~ s ƨHD4\|_iH2)z I vp{ {Z"O.G`] bsge7T!%f |4DD2 |(8x'&=pvdXQ'a/'G `b81аB =!pa hxz},50AGa~:XhDPCH! 9HB;]SB:DzKaUa!z(!ЈDDDhDDb""#,Yت%H,2Z+GbT;FvKN3 dj("%QtᝍdO%򔬟"FCŦR tt|\#ܕt:s DB5& a9f FL `aâg6 F TPak )]۸l6Rpك +a"7>B"07l^vD &paMӨPLID l(QM„{ eYu@ʰVJLiM\$"R.4ZS. YL8ߝ8U#Dޟ /F>K iő@Ud`?龙Zˤ.yBt4IsZ&eo$r 3Ϫ+MH쯧#ҤKp"yi#oo4AޗR:| +`o5&/hN'Ϥ|EseqFi#[IuNc) -ktq>=}AzS.~8~&?\ѨAHK/5tD]CE-$>Kg"K _/PHDGE95ZrkRsxO5'%kHU?/1BJl2eZF`K=}`I=$ $:NeZM^GJ"/%Ly *qNZL.(׏}/ת_9 JW}."дID5_z//ߚ+\Ӌ +}B8vQ鮟dm5]Wzl9([@RBE:4f+[w& 1HNsS^`y {~IM.Tqs +Qߠ/OFIvUf*hE +k+#5l2?C[(O)!ղhEeBiRu/0G"Dz2?3Ν_tT"]%o73_~ ϧb-Iz'KePvR0E>* -Du~Eg_G}뿞__S$uޔiP%~P=Ds0Z~jW"?]BK_/ b\kKejMm_P[ޟzV<\k3Ӛ#k&w{{))Z ~Ziy?m< + o\EL8A+O#_Au9<5пrrr{`h/),Z:9ЗչŴf A0~q_U%j߯mk8A>b+9z_9NGPu$,}kA8=/(}g-/I]~,R#n"=h/^sa:7U֖*tKKIC[|W~ޕyx{4)~6]{2:_K"u_oIyx%ҿpn/'q"`2[xHB]u%*6_3P"? &F}&ק +|7aE~iwt}8V B!=@)_ A}]@"?z&푁恗:/?n4[}AA l|S%ޱl| A%B +u +r:]A2޷WHdK+"?LzT?_x$M +־jΎ U[xGI/eiO ^h_A&)+u9=6_|7_Ko>. I(A%_ϭ?RzCY. UåV]|?_Kt/ ) / Ff->A*OtyZG# .o(=. $ij']/@=)__]A 9G COiuh RUHH*l0a +[UߕkUia`UŧP#ImI:ҲPan[ .aΡz Ӭ{L#_TLRw}/ ;It'vpFyKaYI'y#VQ]blT$z]wy߫HGDx7%.oqrZ|?]~F )ԛ8T!:}k]UhW?e9D}zχĄ5O${OZ>n/(aN7N +iӶP +~Xmr&`E6]Zc0Hfj\_B8UG)=ZQ~x@kPUZmM|GEM5_0 =Fs?I|U% +~y,jeZM*"@eqS+4Ɩa)]R_"[+S B%":J1>V(KB>pjE_s z|_>?Z##^43CFkҿ'[~he])cNt)mJZIHe*5B(E_8#/N/A_ZDtV -SCIֵKWtE>eUgtÍb}? isZ벃lR7_5SLk[{_[[KօnT?󓑋пK^6HRT8I+h_åz_}u. ++iCZT5℁_kk5KkyCjIz ,qI&.%oDN?@NV^I믮? DA$ 䀇}5:/T4 ׸C]A9͝!UKixtA0AFlۺK?· A֒ !Y#u(4Mi8K 4 D|4__KVPs0V44MtҌ.㮁at$iFȏ-UsEG gD|hR`_.I_ҜE#KSilB(^ E8A_BZNR#ѭ$?2A~_~G%IZXǧ]i{^_迚\z}ҷ7Zj$:^]$/@P#0H/_~r:{=wi޾ëD8RTI&3h^;k >fJ* ]4 `m z]tKwi/_Cw(Itq}RxJ]>L1!Z'Z]*.z]7d}pA|{i%I/ZGqΏV-u>wK-2D%EV 0I/J,i +T-/KHK\h-& A +Kai 㜎t__Gޖ~?Ǐ_9.H K\R-tP4?9O箴u_IDJD7O$lZM_0=$"tNe@_h4H [ai7K@-eUIWֽ? 4Jm/M۰ml?/7 +KKM$V5U&J_L0䄒HI/h--&_It}?%zMK7Y +%$/HJ"?&4:EQΊ&IzM` IiCBjI*L.[m6i9 D]fJrtk MAq˛ ?l$jJa%AP㝹V!=C!-?p #<ϖ(@ _t)_ES>XA0i5G$?mREOi ސQY 4L- {SA0AI%2 wA0XⰂ Pt"ƂalӜ UD4V5pxM<N,6y$-'LNI8Ӥ +Rү +_#h+z6'#~G&/ZB$xtG_5&/Nu_U)'`f_AzS0gMQ MǴTU~ gGmX~PItVzB,F."b_ $.GE +qI?I$IO}$C9 +rkRFʨ2kRI~NVA㶖I"tPj|5zi/?SH *d@+K㥝VE9c _7~y {~.',9) j ~oA~(B,}JDz2?fʰj@}"φ)ҥA>ie/_p"i6 +]CI8aeuvPgG:t)GtRECOdAo} '^']^ue_@_BM{ ^ƹ!q_?}~f +iizOZkpDZ8_~i:b,uy4ti/l^0 XKϪ" WxJ^h(ou_Z\G8gJDd5z9󓑋ׯH7 >^Rkb ?]k_k]>b>R4 ]i5"=ֿEB6 k}gU PY *ZuhKү#ql60®פށagӄNV*t %ⴘz]$>u^5J=fʝ=KՆ3LIzK_]B )zuCQ<}'au_z^GK߷AߥG_?/!EВ4KX[n@Ȏ/ wүSVaE~sN%iP:ҜF/MFށߥ Nt_^A_"=l/+Ae:4 L\zyee{6EI`ZZQ߂A&tOBKKAh/K< >OuүE?KپgsΓ~/C怭?@q?x_[[}+_֗_?aA$TkSfkp,@K/K(_Y}IX(/<,־SV/FqOu*A.=Ym$I7_8"q-+ل~&Ht5XD]^H.q)-RM(XaYlAJ[)B 8#x %7_V~l7#vG#ּ ^[zVK$[I/ЌVߠI; -4DqE0:Iagok&o";KnM?ZIm%7A(a HM +K5M&Xx ^zZW `b?!y!a 8 /AmΊa5TAap &~1?A:+nhIpA/yRaA7vQKaAL?i9:5_6dJK"L"?N& xA8I `1H&($LRLK[Xd!ȃ Ovma$Ï93岔&ݏ\@6  _,4!z >"" iV@H ~A_@ bL9pX ]AHY/  $B:ZAXA!]!pa X " eW l, !T,&0\ M`Dt$A  Hv C45B&P\g-wTJ#6puEsR#y] ,FDaN|בu ;6Dja {0U( m*F;d ] gan$&PA)Doa +B + 6}A'P4ݑMPa\ Өt96e莱qt! S:mh. Og;s5:a6sʙk#ai {YtP:@(.^PO VwM2-I+L$RMXl!HZIť+km֑:ZJ6nnSrBHz%֤IKZ΄؟D a5!%>=թ :4Z~5USiӞWgON pXO>Vj6(a`ې0a-IK_(s+|E?gV"-$Kg"HmWkeal)i "ȿUzWFCFUG+'GE95^`oC}\iUO<:/ O$a6TSYVA^[^$K7F92f}i*?W}"VAoLEQeXh%i~pkejbޜE) P{aZCT5CAh[+S7-4h +}B~DzcFkҿ3^qdG`2ڥS5H5Jt) -2t*hT:?KG,.TqsiB_#VtRK!IKt_MHʰjJ]#xz @1쌏E/*xU=9hEZqE:ervPgK\-&ePvRg#_8I}/ |qT?l_ΞO/SR ֫FW_KIK/nue_@\"S .~$*JOYa $iZZ^zrttV_ykzZ_餂#k_Dj1D{tӵLW6PmA5Jd *5S)U.IR?99 Pߒ-[[_s eha5p V.zHH*H*пg\+m~ֿ5f#M!R_JI,qI&6M'h[\/,|0k=/JֿIzI#@, ae b g~~*t믊atx~kS2R1%A ;~"+_#?{//K$/ xN>5M/C @oa_?/!BH_ XaD|e֩0_`uA ?KeN#/VaE~a+OQWlPkI񷲈2WI+%&%֯_O6  OR֢O:4ނ.t__ZZQ߂A&@P#ׯK8,5 } H&m/_~7yo "cIfZBma{oAB?T_i~_{~I6/҈_DAHL;X e:/߯]dt)~?9?Uu\$&IB 97/JJ +pz&,־SV/Fj@V)C \ +.q%GZA_Gm-gA\QAU|}KH!Kv_Ia(ұ3_yCmX0~ICr9_Av~[*l;o A?MDJEꑰ -?Wjz_'a@v0(A`K8K+<-Үak*IR|| 0NV$|p_T  7LEz ~]'/~UuI~1HW:+ S ]kC Ii  EI:*("2)Gm'rtk ML0&< J?~ s ƨHK'%!po' C Ѫ+L:a&)& %- 93W h<i+_ Vj@j ԕj$ pz"[((a9 ^ ^B`aA"vG}tDz(&? h01; H& $># 0TBL XGCG&apB: A0Aа  Љ$(!a!"=%DDa BB(!i""""""#B"DDb""#&hXE"&ȩ"1┷,*bҵ(<2M|#R-;5+ HmC$N\@> FR;+[ )n^`2 [ rҐR* 8p6i& L6 iW֙4&PBADV6 AC$0Rp_d ]Ϩ0 +T56tPfvϨ0 +l6RUMNa aoXj{+WUWlYp/zB(@YQ}7A8tFF؇ +.g;s: !Dj[V +y6l2祕3 oW-GJBз=SﳅvQ}fm&!}XxO{:gq [糠pm()^%_ 3N*I рjMU6m$οg@a-IKT+OM=!)đ~t ( #Mإ_+5y. +k8Ii/*2oI,Jy$tCP!a% Ka쪎+[_6eE6Uz]5%+4 [*=.W}"OXֳLW 3UqGn ~+"о!I+͆gִCT5CAŝ:`2_ٺ|5:}#DK_ +}B>I}VyFNMB4A_-볧3Α:)(oa K{~(UltE֑t>6;:u|0ejq:yΡ{hE2?"{ 4qfΡ$*5i8b-߆$\ BQ?zm~O ä~ umNyp.p |qT߆׊)דG^R_,Ȏo0 |E uҶZeAgQI5ǿzޛFtY"޿]z^%WstY> +|:?#Y8 0޸ֿȅЯ#5ta N5 K35I1_~Y!GI_*?%I1sȝ?YzK5L\EGzD RD P_RUgGO$5_ּ!z6~6&DϪ=M7T&G| ,Krg]y~, SŔ1(c/@iS:?/KCUǧg.BgP AuCI]Պg:_t58h׷!TT>  iˆc9UK`_:AiWI'T ᤔAwn##/L !o"Z AL8Q'aqE2ӭD_O?/a DK?K_aC@4$$ _atW*G^֗_?@%KKҜ[՚ ?I#A꒥_WZMC=/OW$OM//z/(h,WYN_ ꭿ֗Qu _G0WX" 1$eI맦-}GUN>^8~_A.%Ⳉ?/QR 0 +pJzi7ZKa/iR h\-}L0ce92mkJ_H׭@# KBT_"$-,Kl_A2GqZX*D?m&][?zL?D%z k.tI X>"tK+I],oKeRo)?M0tOvA㪺MI6xM1WeTa:11KlI/o_XMWM0eho#m/m![A?VRa7JV4II_ ZH_/KI&KqHa)%m&j?GRNIw߫ FtVAu M_Ί֖Lc?Lޓ~$Q%NIK 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHԉjSM4cT$x.*z $u=2 Z^)A1Z"@%~Hj=ክ,$} lr1e RaCIZ"8H0I$aȿ ig + 3c0 cK g 0H& PMNMAAI pᣡ?I[B%i*h4=?  OOPP<GhDDB4"#4(#ڠ,&B0CDa BH!ADDA +] +DDDFC7v(R26!&}SÆuDI(&uB9UvFEYp'j2Ba>[DB5& a6l !H֮lÇgI AZg6 F gTkD +AJ +g6`¦郄FA3 $q].j&mVI*gVϨ6%v/鵤h)(Tr$ [A(E,}EM:ehrnBvŗӅ_ zzp:u&AtNuF p0m eLߒ=it +?RIťZ{羒lGXUa'Я z_qdsӾ{:SS RlRPJR0/mU??GI5{izUpr+렃~u_Y}&mđw/?z?xHQ^)W7tԾK<:)IΞg$%<:/ACF_BJl2zVApԔU 6Uyʊ}%p"TqI/-/n t k>hZDEZ)_'[~hsN/BPץ}/R_-4SOK9E:|W5?7:~IN$KZRY%!o~Z_jUg㔓UЋA{҅ +kǪ :33_ʀj@}"a:/_=xaDKoQS\H_KePvRAt(3>q^kZ^":ePt|>$n?uGud~/xmtuQH1\"z~u(MK/\{q/n25 +&򪠈5g4GEisP +|:?_]/m}!JXID|>L8A(!E.tƽ>ւ$.&չŴkug@^{^M[欟Ka~mtB/^>M{mk_kgmxAC_ Fi %})?_+P]~,G(şNe9ZWo?G-q +m:_^>z!St:_46>(45Piu?Zy{zN>RA?W_(4+ KI$t ޑt$ۮ9ςZu H$irxJ2,ӍQD~w(eNcD|$a΋ǧj$\辕':/T_tZ 3Bo XI#=,*_ΣizSK "12>--6iaA+ kOW_ ck^D/O 1I[ 0cΟ^#O_UQuЂA +8]t#K3^?A}Bt-/oO_z$]pUK V=tҤI_KoaAr2%!tK)-Du~_ +򟶽lsL W[@i-zL?_"I}gQ`)lRm'PizIWA AFwekKebO!տɃK0<}& 6j륏_U WGim8KmGi7Ɓ[~Imh'$$XM&_ZOi1=E8&AL4+0 ؄A'a]_:+%wN` +~ Ý7_ Dx9dRP@ ҇zM_L0C(Xjl5a7I)AYaR2NMQU>US `$áE1_&)0~a =@ MiGAia@|:C 5 ~F  z"XY +"5 $e+4ᣡ^] F -cDD A PTЈ@DqM`* D!F""""#@""""""#&\SGj '-IPg[YG7.ɀl86?m C_0Ӑk$2AP oy G 0APasI{ 0/k \?≎D7&a-&zAai|:M:WO!@H 'KZ _5!:˟d[KaKOM$cZ A_!\Krh d(L t @K[R v[ E&,h*+v-ڄ[,h< {6ցȍ"{:XL3; RU3!wR:pij́fNbPdiCa"$"_ôPp5r) aZaNMp2"/΂>L#_g:BF!1pU4r056$ twA!0?*5 Ì}O@"2*pD;@e 3I3m^PaL,7e -:nqÅ xa>A#0s.F2섺ȢߦM8gTTKs6H +a| <O.oZ z|RlR&6'# k}}SzJ^&A}v;D{+O*P +i?{mX~P777Cƿ#ڲo[*t椧GDNB#_95^`ZZZ󄯏4φ_VAg$OQӍ/8Y׵oomt8ޟ1ӯnKF:zzet@ `kW>OS| U__.r 0i\g-wTJ#ZLr ́N )fNb@v"֓`' kȺa"S5AyPӆFI "7aÅϨ25 $tJa¨PjTt-Do \2al6Y4PaL,7I*)@e>æmv"" )#E t:P: ~FKi {YtP: ~A(]&u!i'l*΂MdMtJ~ņ=Z]: + 6iCWgAAҮF9IitzKtЛal?FB$Ǻ"1A&؟D a5OJpgpW9vt^?`6i+ނWU$Kg"HmWӝW:<ڱi$_=!Cm[( eVa;<ڱi$CJI _ aCƶVUHI|)%$$yejrT`gҞIBInse:9WYVA㶖I"tMQqYj+[^$s*=RV7V-]DZV=/!uIZ_"ZuJCM9 JBcFkҿ4^qdG`2jfOYЧ/"W^ֽ5_/8#0ShmRkЋ3^qdGOUG1֟/Y5gM/#eCa|tz]Q9u V{|YHVE9cV{K/Dz2?ײ9ߔ#xz @1쌏E/*V)i^"/*Ӳ{< GZ(^K\-&ePvRg#_89ZM=T/Q_ȏI?K k=:_I#p=ϥ~tW"?K_A^:2D?]/]C=9::+O/ֵ0 承 BW-/]C=9::+O/ֵt=uN/J-R0eخzcZD دH]GL#NA1_L8A+e"+3Fbe"5nr1mK9(/φStyuƿ +]WŽb֗sk:YqAUl PUŽb֗K9_f#M!R\r1_kakk5OK$/ x_zEВ=}|izG͆^}X:4XH?L] !|-cˆD}a/!ǯ/V L{QN1VaE~a+OQWlP`_&dW}AZ !}j$$ ޖ>΋(3G Mh bԇ饎 `xAZ R΋ A SSϥ+ΟoA޿ik]iF~c B^}/4Ԃ.I Mׯ_$ X=RQz_|&_ /?Tm -/_f:M_AcA$_@J"}~^u&M .ca &(/so~?ZW_Km$ A~_넖!I(A~$+ !Y]&b$+ !_)PA AFj@k5f|~0(RJK/SV/Fj@*`"&Ht5_WTȲ#DW<~UsICr9zZMұ3_yCmX0~ICr9_G6?A?MOö߄JNޟA[~A("=@vʟ~jz_'a@vʟzv 'aJo]?g{UgotZ_IzM~o>JK{ `>%w^zZW `>%}&"][kTV!$֗w+zMq5մa"-"p|?!xMq5=[O:+w08 j%l/<0 һOK( %(#< J> sryxAq=|SE L lWbLPI0o8.<ϗ^5*pk& %- +1]'a)p^N7L-%'e'$h &IdXQ'a)p^N7L-'K {)L 5N^N75GCG&Ӥ8kBL XGCG&a},W V"= 4#GJ i$g)GkhGAIl* 3#8DDFPB#L!APDDDGYsTJ.Y epW'DtɌȪ;FwKN3 dj("%QtᝍdO%򔬟"FCŦR tt|_v`6}0d"0l 46e"5`l4w=d5pl8pʤtȺ#]lHj 7pl6øDo}ABD`nF>L0S+KmPS +|/+B(I7P*UT dD֚L}EA0" 5"#E8QO(NfehskΜ*ToO%ӐNȠ*20LLqeyTC_:tK?{Gt2RTj&_$_BWRIЇ9 ->)i /Ru 7ɏ"jM +_*Н>OI{Ѩ!g}ŤI1HI_)_U??Kg"k+57I|E{F(}~ht/򅤒_o/?$h I"S#a~qu959l5Jy$tU%H!%6H 2^0V^Hi_^I~7>҈ez#d j$^BJEV(K?aK5B꒳0U&9K-/Fkҿ'[~h9sKu))G>BPN?zk'Y[~hMWU^[*qN> B68~o!4aDzs>L袝^"kJotsWe +$z-ddB-Yʿh/a$fAJH[ <98JtE@5l>PTz /m01Ue'?/H0J%[~FSp8u'N ~zGV"ЋKQtU~?E>* -Du~Eg_G}뿞__EKzS'@믥@{[kznke_@]w .Zk~֗ (۫eLsZ?-/]yŦg6PmSR+ץ0nX/~ukxtߠ.qչŴ|Dwh/6]O z//ܨ^X"Z K4t%nr:o! k}t&ҭͯq/T.M{mk_) 3]ͮO]~Q"?]aFi %>ZDN?KYoK{K4R__>^>z/o@㥠Ҷcz ͆lWΏZ[Sۺ/K/&I m_zW'az{4)~6]{2:_K"u_oIƑt$W9M/ۮ9b?$_ C~}BHPBJMu I|mIŸ a_E].sN6&.=<2=@)_ A}]@"?z&푁恗:/@P#Pd} A |6]})KooX6>I!GUKz: ^ + G[ $g%R\&=P_AV@]t_?j_M X`k_~5gGK-?Knq#A$IvA~__Ol }-_r\7$_*]oHK5Є@Xt knݥE;A|E?࿥H%Z.2>\Zd{_m#I%KW ?T\6脹H-5Ze-/7㜎t_iP~]Z O)Tn ʙ@?g!}vA% &QPaJ$a&D4KK@$ZafK!߄J$; :ei*MVHbI&_ ?M  fb/ .A Z Ia%׫~)mA~`Oi$ҰGi7.kI_v^ФKPPAa5_HXE4o$$X6MT*c %K萼oAtAlXAib?yay= 0 i-%zM$# SO  ?48AtWym$<\i2)xI@ ҇N?$QL=& 8__Xjl5asza٬,x@pid\i<93岖 I {)H ?= '&1^bI0z2t;(oK5-Su\hcD2#$~r O/ajB9I]t}a:3ND_Që=!#_'o4(TVzB,F]90V}~"bFYbg A|3i7 _ʨ+S/o J*MɯbR6HI FЛkFM^x|2/p#Zӏ%LWIeDH VU~pk$a)]R_"[+S B%":J1>V(KB>pjE_s__-Hz5_4CONG:h%^]k$P_ȄQNeVq9BGAф_\T=?_~/ֿy q~ߠ_5!K$VFGyӫp/dK7Zi6KddB/AJKX5lL:5Cs{}j*0cT 3׿]iCI8X I,J|>$nep[Zeb֓H?M_jeVjUQ/ kkKK_#a7 +/ǺՆ=of("?@F.ͯ#[^I討|PNh\kkm$a 8k_ZYoV!hi7eح?Hn/}V쪶خqlWW/M.tOvPm]&0#7a> A0|?%.׸IչŴh_FC99 ji't-C %o9NJĿ\WϩuO]7󐆵χk d׶jZJJXM~#qG$rO]}qDy#&Q$>鮿E? z_y?]A9͝!UKixtA0AFlۺK?· A֒ ,JΙ{֗A*m{Iz_a#灧o:]in~O]u~OQֻu">l2.9_ (Yߎh(l菘 L8C$@T[(P?"N"_P֯SkIA}%ichu zhqJߗXj^9u׊uׯ I^NNGO% `__ߒtZzB3@#BI6/GLR?K_ Yt6tE_%XAxkXAYq=,_Yi~ q۪#I&^'Qt}^cL? Ff[_Ax%_JA&A}|k~W,F~>GO.2> =$as8ZGk/8e%_i +!/8߂*L/G$<(+שP9ZM;îA9辿, r9 ]%㶐A%E/LIe AmAΣzJUQF4_^?M IK$N:_K/^ Ai [ai7K@-eUIWֽ? 4M۰ml?/7 +KKM$I҆ /m!$=-7~=K KIp@$i+l:]Aȸ0Q-!EQ10AЦ(tWA0Kl>xD&0:ARLߠacoID`4'Fk<&Fh&m]>D@5WIA2 1y{ l |  k1[(sg& &ᤃzBAEdPA0{8%ﲁN$ 5 c0h iAL  h1IM$A0ch O:L/I + K  X^:LH5AAKp +DRpЂ8A PUB&PjjI0RPH!0""""""""(!hb""""#,´WQؒ"eQ֣n'#361iq;390=TCEj3错TGL|gcY|2(\6[r%gN -9 pȺ57 /.aQ5v߫ /^e ::JbgBtx~DTK:MHU/Oڶp)8@P}΄؟D a5D?is|ԛ8T!:|?%u&0Yͪ<z Ҝ!8zo~8~'ײnn=תNF%bPCyb!BI%_Y}~AZ#Byo>H] O$ݾ ~H6*H7 rΥIQetkY4kpP'LWK} $:_(^5G4n_Aqŝ>//qEToK]RV`ۈi~pk#GId@1>P#8;U*_ +}B7kЋADCF9p5:h84f+u>uE9XJɏB*};n"?gUts):M/AC^ߠK.~ʥ&#7kR^Df(Y*eЋ3 kJ zGesatcZ/ޓvUe'eAOC)Хm/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\k]_?}~h +iizOZkpDZ81K/4_/.aNK)#tGg'0;]E_5K(6zmׯV_ ;y% K7亯zŭ.#3%kآ2[[KפQ +q%ؤ/:M_A0kakk*_(^,-}4W6OaWI?u䀇o@DIP묆!6T3Ki0H|꽕*+рk%^>z-v͕:{wC^ Pfx ^"Lx^I? +#A x"I c%-\sEQD dGe#_ϡIf@P#uZ OIR>?oߋA E~+}/\/e^;ׯߧ L?$Jjcu? ae 3V z oKPwAl[c G\Tz$/$/$Q%N KI J&\w%M8p@o S1#8Rk sĤ_ <0 һOK(? ?&l4Sa 2'%t&E5*~Na5$5 R 02 SaXI0{ l(IC(:A#Z -Xh5CC"A|4DD2 x(Aa& s d\10Pa=>NHZ#LPjBL_1A:B b!AU pV 05A!"k#I$-i$g$Gh XC 5p0P""""""""4aDGM4W:2̛Ԉ^B\ ̏ɘC9sFS.PƳLDppقT4`Ʋ'GN[F@8A03eBl6 L+g`fypl4ll;>o@pmPl0MA0NYH-4aFn4M +TFa +uP9ݱezA'/Ԡ0Œg&ۆS:n@U &rm/ ٰ˞Tϳ[uMpLF ʀP\ T 9@D}"FK:fפf f~yI+?c>t$vWgAAmqx$|wi?BK莾jM +_*Н1ۯlED+IKB~_-྾hN e${OPSߤ&}t}a?_FR +VU?ȌWw!$E>g"ۤ-%<:/ACF5 aTpsw&uO {Nd8S_:oj|2񲢞VU޸g6/O:kcm$euU/1-P"?k])t&_ꟲ:(3pe'~/]KH}#~?CAtt jfgX qtH"/OK/nQI/+Ca7 ǿֿI%h?.5 D=/x"?}#_SqGEi/>84btm^D41ۯ]b^B2 /:#Խ|Bzf')׿K9z]VUs׮-ׄpQ_$5R#BcZ/vq"҄G^_z_KkkZϧ 2+A|%u/kKz/o!_K_,#H}g|B0Qmp鎗w4USۺKÇ`3eN~zz ] ?K_^sEm_Zւ#9#D +FG/K w[Uo4uhZou_釷쥿X[nco@HȁK( KHGo^ڷB&?t_ nmnS!恗6{*5?"?_>hq-ŃzKMŵ__z_Ru_/GO_ޮ?^o=RA:_ }i%=-.Z#ovx [/*Z l _۪R_O_5ys'!Wo?sg*gSq  S&It_[ .2;sA­ a#5 I&HI=%dA 9U W,#h#G0A~:_%=_k$?_I7I|)0 &QPu? `e(_TޗǏ΋ o&Hv U._HeE;}=u%I0z_L%cI-KKo?mSK`lii$ޗ/n3#%b%֖,Go-__I7&XwAt,7X㠿I4IФaA;-B[ /萣~KV1z$/$/AXb! ImxAlJc +sմzWפG@EBO):T1t]i0"Pi~3M"SXjl5(^*K`BA |i?u F h 1NACL K<ԹdدҊج> Ada"'Pa좩a/A=-!`Ŋ52 yq  igA"hP,/AA,&0^HR ,XMAaH B#*GvfAQ^:DARB<* *DzX(HzAT!A6#PT"k U41AЉH4""4"# DDDDF"""#&hVM_E%H;NkLv1ؖQN׃>4BAI(ʒ :g-3z[F' %}Mal' ͦl &uE"gTfR(l8im06m2FuqC H֡aA0NY(aIT&.Pg "WuLW(.L6an;uvDuw +,3l"t(Xu,0aEMK( 1pAs n f. 4h& eP(u t{t:T(C :d`?2.uMLp3 m!BHR7P jvآӇ +Hmv*u>آEXEq4̭T_{J\U[ͭtmBy6p)|Bt?~ޗSi6oд$mmRNF{8YI6ן>]hղpI0/ꓪdtiqJpA?w ך>+_6pA>Nm$o6􍤿3 Hm!帄GE_ɯcqECǤu}"|XIiq83Hl^_ͬsbȀib(HO/ftI"=9^aز\R&0 1HNsDzs?}/j`9DQI#f`9( P_gWsWz h/A@_0}? ΣxC9׮tH Iu_U_|+/X[nVZT_?P +n}ǯ,m"/edIwsG@8 $g$ΟEQ$j$ig]8[Unjƛ]4 [#=BGFl5P6ڨ_ PF:/C[U6V9/mW-!2qbIa} tC Ik +cG_>CCۭ=R| WKuK9s $F{"Y\U/_/#_? /?a])/> Xk]2}WXA~ X`kQZֺe}>cE1y gt_?"< A&)+tA"ėx֩mN>NJA1Ac_z@A iV% ?j@ IaA 9 k/#!m @ ?TSZ_^~{?$ ,)P#;UPΦ/M 3)b~^%Ǟ@K0'ZK -O1 BBAK c]mV%5__ Dvz^ 7K?aXh/a$";IM}%[_pD݈N 萴 GI 6V&DBp@AMM_ktWԠ!8AF0AЧJ]I/I :XAFq & A^[ΊV!yc4. 2(2x9Ѭ56K͆fE:l/jN39R TL & I6A:P ҆g*QK_aʿOT;&d&j]eYlɃQ[a&xKh1 5 lI8A6a)b叆+د9~j J 5A놱j KH-a0a s଒ i ` &KO'a{E!)g`U ZC H %& D  Nj H ʠ$eab#j#B) BC#T" !HH!P A(AHCB#5DDDE""""""0Db"#-őnW"VtGb\+;XVb-+RVC;쌗$8g\\LdJ3dVṕ a 5 DB5& a9f Fv`;i6 9#Zi`' kȺuLh2 S"S͠T.QL0Vè[>$ twA!0;pUF0ӨBITS4}3mP&Cɶ/ (GDu0ӝuןsꉁ +hyBt4^Ud`?FK20 @ 8ޝmʁ=#ֺI*I8Ӥ +䏬@IR$ذC~yi=M0a9Ii^jM +_*Н>Dc. ~jM +_*Н=>t&$x[K~:ȀVa]TpXOe${O, ^:I9vt_("ٟQ ~b5q{Oei΀A[.!<ڱ|/ukaA#@\zO!I~x@!NM|B5>ʨEdH&}ݾ Qyqa$Sd01*4n_+⬫W_Om-/k\=:& OW>@2EDZ7>}-/*"п ޗP__-4W1IJ9:4f+u>uU놦h +}B~D:kkOM*bBA5 /#eCa㥝VEϭP~NFj(ah=m@/UV^~R%R)i_5=hC^zi-Ue'EA_Cr!(UAI/ r8pKSePu}/ +":?KGG]~kI򌑨')ӔKu{ ^GOgK/nue_G_b\kKejmZzrttV\ƴo=F@*_֕K}(E_h,WKl^D دۢ5=:Ii&+^AP_AuF-bK>M99 Pߒ-~(H+kk6omtBJM{mk\c9_?M~ytI#"$DC^:_fWI$>Zo_"?@C?¥XF_/z?D{_}i[l1Ҽ|:Z*tK_m&?K͕:{wKKi09׮< ?4)~6]{zN>o.{//K$/ -$%_N_A7OBH_ .=am/">l2kEpA隃5#agxJzuקYwG9:SKկk| a_">Y #^hdfSK$a O4 4 A[WPg'x@ '_Ɲ*5} A f. +u +r:y/_/+ΟoA%֔i76?6zAi%CA$D¸_ ^^>K/KپgsΓ~/URРǬ/m&A0B [K~?K. :^tA'̓XA 9?_~?9?Uu\$&kNkˡ UGZhqt_PA.6Yq _5f|x(.KW ?T/KGm-gA\QZ|q5/AryO#xzZM}+5G6m-+eTq7?V%IΣsz_zZ_ZKeT-mῶ_Kح, #;e-_TI/ЌVح-o0lAK_%IzW3y7Io}&a oR_IR|~oa!"I m& ǢBBx!?萐^zZW]7cKAI!m&E~1?A/ +Ec +a+zMq 0zMpab2)p\i2)xI@ ҇OѬ56tm'rtk ML0&:=(  ^10 X$ GJqeE L lWb$áA1A&b`]@maȶ-&Kk +@ a L&Sf |5 5 &IdXQFd +! +L$ !dRi HB4t<}^8k*!&t,W#U RbA @ATBTAVX(HPCH! 9HB1ADi"""#(euhDm +[نΨV[9`3ʜJg2+HⵕPjQy( eZ)1GLd_%a"S5A-  U'64D#Z 6 Vf 8aVP 3i$tJa¨Pj PuI"M7e:ngl0Rp_d ]Ϩ0 +TL56F|.O]:\5=E8j{+WUWlYp/zB(@W^Y$@oݿejam7t(mBݿej`f.zYS9AYHZIť+km֑:ZJ6nnSoeBSZ=.}sԈk-}?NYi>>&~8~'$VhZt0ꊰm0ۤۥciU6}t}aUMc29"щ䧒GE!) ImJHe%G1֟/Y5gOdjzH4.?HBIX^_0LY%FG"ԗlʼ*sሴ"8J(6qkq9㥜VkePI[y#""KB<)~}k^si?KV)%)$I0-K/kĆל5FןT*IZ%$Ŕ1(c/şO^~ @VWB!N4=HėI$,P A~]d4M쩝ς/KCURI}~5I|$ ota5!BH_ XaD|e֩0_`uA ˆc9UK}(]e.>9 F{( T"Z Aq2tG6O2+A?D/M,uM/|i { \Z>K:/恗j$MNNGO_>qYpjAzzM&_޾÷n~4y/GM}@!%CkKehqٵCPAz#Z_m-/i(XzG_ý +)SUVbK7 //skz^x87']=0Aꭿ֗Qu _GA!_?*/ANUm A~=iU8Oz|:~?/]*KKHH֕*/HxA1E6֕%[I6_kJ_m&U=_kR'"/,#x D~ +?_}[)GZAtA%9EX>~_߫u!tOIZ9#Ө7_iF(2* UWIJ_Ҿ`lm'T:SZG/I6xM1'eja?JoSᆐ U /o_XMW C4uo1@K _Ki~i ~ _ `>%}7SXII_ ZH_/K*kiEZDB*_oΊ$I.aΊ֗?ޑ8?w08 j_?ayrP&yR jJR&]EdQO*Z^l4&UBG\ya/b kDTIZbRTdFP׆) kDTHII$H0{d?*S93bEOWQy8A0p,1# Z 4 a 8h LVLz"/I2߯>/J,$[<F}ru]!MjΝ~8~o]!)qsI~ (ao#6u !Wap&O9hE0_WB-?J(a4 {##Ρo|oOA_Aշ_:1S~^(^Oi9ᆺI-EL\pa# }-CIopcNVqKSL#rZO[H8-/aJKnh8>L_⟏:Ξ8S?tKKҤt5]^]#P*]DT}/ ~ޟD_ e>p#aqѭ :*#_IGKkZ~֗GD$[uy$PD3ӓYh?},ΣVV՟]꒤Ut+Ab&_p]0eأ0C_:\{I_3_HH*H* ɋ׭zI6]y@+L6sh?_]"jsF}OtI`Z>%KI|ד/ͮC_YA (cP_^ Fi %})?_o L +.i/~:Z V uҼ|'ΟS{΢AMC @]cC]% ^S>)g?E/\?-* $A\4ҿtA7Op?BH_ k8?o*m$ _(N#隃5p &F}񲜤zB!(_?_0S~V.}/_2̧1"> 0zxqEb?_OKIM  EA 6]}SS844Q?h(Gj %K[I쉅qTZ?@u0EOW_Y%  +)S_X@J+Z_@7a I+E4lpA: _Q 1O#[cP{9N?ǟSH$È.`l *UBA6]׏_P#/5 o_$ EΐZҥ$N{iu/}-"eT㰴Tm/$O5k//ֿOI{?봐B(}_ <[*!9贺?7pVm?h!7u?Av~_bYƭ cl A~!t"=^_دP@A_ʪ 'zL?}$lԮZ.*a~ zZcI78HJ*][B`Gi7Ɓ[o^_voʮ.Du*BEA$M?a4,$  +%&8HKH8AB M 0үH2G yR FORm-o#$p@9dP{P@ ҇zM_ W䆣~AПk#P&*45*HkRA},P pmȡҊG/Ɛ6? >X 4vqhK al9 hXAH)h a0cZ@)Z] XkbXC@R %MA0AЄ cJ +E!bk H 'A Hh1,/GC%qd{$dHFa$Zi">!ƈ AA$iTDDAFBDD*A DDDDDGYo-F@Rc",8g`y|dk2:!SD~&IgL_a*\KzW ?gDTV??yHKЋ/}(zIs"Ћ ^a6euvPgX?muʡ0D_)AvOIUN*+8o >Dw[yhMK,;߯%RZOzZOZLMԣ?a7 / qtH"/ɏK/5IzT_IU +A[-_:_~==k$V_G3Ai?i?":EZ c^~u_yU/``z?}%IYA ug@^{ $$R y#""t.4H*R#:ףkϡ^Z^EE5H +?k$zh%-"XKhYiϤrY&Sv/0% (cP[U3~P]2"/eN~T|B۬"/h'P!@t5z ?oA2KO xK@TzT>  Etۮ9ςZ\ ic'?I/A^EC_RJT("?tw@t?}ArI]-Kt p@*ZI4 }*Nt_ nmnS!恗7/a ">,$f#Zeu? +xAw_=k%&m,-/&UN/*Z^BHLKuKoͯoW_Sz +Z - \/?~ұ|5ImKKֿ*&,WYN >"?i%;u]Y +[kƽ7']=0Adjzqt-/oO_z$]pU+S΀OK +p +G\ Y*A}m$\2;Zejw8_/[ \.q?mT_I%": i`2+qW^v`RWǏie=&A9[l)-JM7=u*/^[}}6Cjw-F(2* a:4 aoK`[ixA`o7]7Dvӄ,R Xt ~Imh'tJXa>8J.:Oi1=E8&AL4ZJ=$(ZoʦMAu `OssAa$Q$ރA'&>xxQIP ertk Ml4_ARt0c"2)B aDѩġ#ٰK %.M4ED"kMOpz ?^ L:QPab hפ &)0RiI`ǚ4Fڤ"5%:+d(4? Bl>!d"?A=-!`Ŋ5h KP^v K0UаѨmа xi!K&@a4A:B 6 44?DqM`*mD!E-# ¡Da BPFJ@AɲDYHE*FIvOfgAJeLYOQ[QH8dS5"54tU"YFExpι04U9Q3d "pal3<0dn`d)6L3=eM[npʚ"ȐEl; am0J g4au"7wTSanȿf24ʱjV7ih4$`Xt96]$hG%xa ‹A-iFsg;k1fO£M4*9QX^#ŗIAp 7SiU7tG@7t(mN{*gHE'NDa zzdR"$ +?I eqVtmnm=-/ѿmm$I[m#ni ^jM +_*=c?_$#ӆirZ~a oKn,mSi/Ju?8 -[tC'tts}a5~붏mE?(ZI%nFpA>NoK}U^=Yg"-A#i(}Kq O$rkC^!i7d?&W7 {q>ulWнBIH4cZ6H3Ro$H&᤾p d5׈/]RW)pZUN&R4áZ!ID47ly *~gBP'^E^qdG:F*&:!SD~}~4ETi_J@Ӌ_<ts镞]sYőҕ6D.}kl?EO|BO5b:i)ė_*e {AΉV& _NsXodd| {##(P@zӫ_(3>KQ{<5_XH0⩼~| |qTOUe'HIm*` JM/ePu.T9T4_IPim#U NI_-&U]*V OUz^%WC"j>GPT n_ZZ^_pDkZȎVG#KI\ZjZpD(Pkn$KA1_ײ .ƴf ?z?eتa Iu)Z 4H\:Z?g9I +#5#EZa|24H*U%I%Cqm+sk$.& 8">_m~3^%/=zlR4+izMK-(D{M'hY/ !r^M[漟Kav~,|!Zz_·+u (c/p1e a?_H6!$B;s>ʝ=&IX_*!V( ~J@9+I~cG[_L)#5%: 93sgJ+bl-&E"U~"$޿ z2 w'a/'@m [8JT 4/j  0IQiA01 `]&,/pW V">L'HDJp0q  !GC4t=!0@AN caDhD +T!j-44=SCH*% A:ijЈDDDPB"""""""æ2hOU.qeg@hHz}6fפf ւ4M]g`*{*g0Dae Ӭ@ost(Y. + ؿ_J* +IBd3+|7/t:]'l*΂M2: + R~Ѩƒ zZM[~ +RlRV 6yK-?n!BKL|{G^rL?Kotq>I[*H ?UYi$ $ FJ?85J"bւ F_^s՞]/՞/!uI _kJy$tZIIiFB95k x%_/uJy$t_nq~8jHhA )@iK_K d5:noMQrh3eZ&֟|_h_9 J /!%N4ly *~bSCK\4ID5AՈ- 3΅>k^^R}iEc=/r}i~"Q֕~ Jyő ΅>/8B0j].:I='_ G9YXsל_tKO_dd}c$ez (d… +k ^TV^ +0J="2?$dd~"/+6.OAS%['O0 kʡŪGA\x>.??:_#a4ցo'1}KnfҺU Q/T_/I}#zI2>[| ?M),[|9z/{Q҄_?+n]>-/^ GejMml?GQD^/戆ӂ#G3ӓ-ReؤJXU\~u╠^8guAlR]kS6PmA4Q"=KT)xxaAu.rr{& V#tKNrǜ>z(kͯOykURq&ҭ=BKҦrGK4mTG"$}8F*]#4؄-9a5! zFi %ÄGG6KI?_L=x8T_~KkmZρez0 kOOnhۦ<=%\BJXCTׄa[h҆KQW4"?KT>R&:׮q_z /KY~/!n mA7O^[[h|!-$$/z](^; /KI03I03 æ pJt"qǦ"?_s&(/ |=s_ X}aG&.==H^3fJw(R#\5~& 4$`φ˯"A l `=t @P#ׯHBeT{KAyg/N3e's~$D_@Wm/k,$/Je}>?IV!Z׋H V/ ]x@ _s}RI~A"@P :t'?9?_A ' o_g9ʽmm?=_y x~!*gZ~Є@/ɍu _?/^(=kH%Zz Z\Oif5 5,}{Z_׫=GWHk BAxHkK"i+G(_|}#_ PA\Sԩt7 PDzLi'Nޗ]idCI8ii-DoK7 'aA AFwfz_ #;M'Ke_@-IKnAkoKAǨK_I/oo% 6H Dv/IB  A M|┒oi _ 7?I `$IA!B$Ito_@ >>K_TA$I5.:$i6IJһ|D8QΊVgJ31dRyc (|ka9:5\| tS$?c&~ s)dry}=|0SH2Rኜ[@A$I2 AΡ<$á pm'Z 0#A0>ZQ[sgد,|1^p\ i/i ai?@I @ P‹AY^ ^X@ U a8x `Qy85ᣡ-%$At,/EXAU^kk0T #PAPј*$C Hq4t ק=hfTAzS{?:I[u]!VzB.|}wVJ?yb!BI/t/Ho.!}y:&VkJE֔0H蝾 ~_3O$rkRkF9,~HI7ͯ'Z_^нBI'鴿QrZOmn |?-/!uI_ZM\?"п_U_GgP&E:Ju KЧ/Kסf&?@לYS o_+ѫ:_χ$,tz]Q9t}.MT>egy {~Ը"?0ϯ.FGpjM)z JW?҈PmP"?O-(3>ӥygK4D{cZ@AҎbS@~ ϧ…/)g M/KZTctR%,BqK?UkOd(q{T>zB㮓*GGtMO_~ Έ:̓FcN4tiuiiz}___ (6.4h +:bZoaA0ǚ+yokM~yt癈GKL 9/5uZ־&%OK > +T;~,L¥XF*kˆ _Z}>P]}Gϫa!Vh벧Ouʅ殺&IXYO +27.!*tK ^|+/1,a]~50ƿ-YA]=KK9(3sE~yPpo=zu4[:5co(At^sϡ?)*Y,co_ /zKקWV C迲:D{0^VԇE5?H_:/hjZ_>OB0UK_ZQ߂A&ϯj ϯ_K_ a FxIkf:M_Ac ! A҈=eT MzCARIi~E(踏Q^us窐^] >? *넖!I(A~sOפZW_tt HE"РA!_cu?I5]C JtՋǚ?֖k__EG_({00K +j?*_됋_^@B6/?59~?XaK:(m (XA -}+5.4I?z6XaIo7l;o A~=uNV=]ekH Zxf'a@v_KZZޗدi&Ia%Ia<-UoZKҿ4_CAImo>J~)/Jޗ&~)~8Amb+q~QOkH^HN^zZ EBk|D?M%sմs?AI L=S:FXk% „`^G-'< /085>E>a.q.O, |iHԕ&TzW9T $  0`D h Fb`] beò`Wb$áATA1A&b=:B Ak冃@C!Ak2 x(BA/k"" j?3 PXhyT-8`qhXBT,'_1XA4GDz`H$!&t4&#@hDM`DHɃhZ 9&B;CJCCЉ%I BAhDDPB"0B̫(QK DF""""?l\D-n#5-S> T3U3!e왶jV`#Z*v;3a1!K)`8e^E4paZaAYF!Ca&jٶ\Ȣ57 /.FgbSΨY,MKu1!0:R#}7 SI#[Ϩ:}X a FBau Ȳ"g UMB " )#EE>CH tUL\:PjD}6,@+e莱qtALʭ"_ @ 8<:u"@(.U<߰.q$a(]' N-Y%<6y$-$YPi t1~YyA~ņ=NO37=kF+'#~F9Iitנ^Wt,|H=P/nBlOGW9!+ނ~8~' S꾿a ^ӞWgONOQ6D?(ZI$HEzo/&U)KgV"-$_ +q I?I*&< Qd )g_Fi )~q{œaROJOнBIns^q sZeZ)G}$VA㶖I"uv%i~pk)d RqY/4{z_B꒿B,hzW,}6dSP&?QѫsO^Dziפtz]Q9u V{`%wjYJ3ޓ~o|tz]Q9u[⸥z @1쌏EPoˁ. &K7Zzנ-P"?S/3[~OAg@ۋI"boKKaG.ij?/!WΞO/S"?H?XZ5jrԨ&/_ΞO/EaWL_?dGBT@^tW"?֑xa <_֕g'GEiZSKB%ٹzIޚUh +iizy~c2+q:Ii&+(6uDC_Z ρZ_ z1D{tӵLWO&VޱkKչŵ,98APYx/A]PPJ>h(ou_Z\Gm?a"M5f#M! ZXbI_ZOy_҄G$[-}4ROנ_\5^%~,-}4V|~̖ⴘz]$)^>zT_zD/8D(׫믊atuJߤ_^2 =zW^z_[Mzխ W}߰&K~J]N^$X`I CAzMj^-H05$p*ki^%IJT_a$8BJ&\w%M$Pi+)%OK( %5IAl1^N^O/L$pFM.FIޕ"x_DŽ EK E4נ8ZLK[sgدH2+1[iItJbLPI0o8- l-' AAVdXQ'a)p^N7HZNH5 ׆IF xh &IdXQ'a +tZ +k  !bb . 4T,-($ =RX a:zB+)"$ д!BB#B#FB XGBArvB"DPB"""""""1n*d tvDLV P8eO?XL|:uϢ A5)aZaa\PۆR#Zla݆„ʩۚYLצ3 ]Bh Mxe 6|L:oM40asoȪHBI "_/J*#VA?1]9N[x${_>_t/7/􍤿8ͯ VIҞI^|2iiƗH&V*(:J*3c!졇\Nm"_L RJ"гT<}>[I}6%:Y#$G]tK5kKQ=yr)%2/X@p G#KKoX#y?"?Lq[ 'Yj8֗L9tfTGSlJxExKh,WOpiħ"=:R&*nYu]~4çyîA(k&6Kc^,i %Iֿg!$ +]0d_7^#}D.ׂ">xk c#?yoK8FȌH=,H.sxG!5,oHϼ/\|TǯE#KˆT.m I#4`Jq_WKuVcDEgiDZ_+ZL5"u2qZC<C3(0zZh JX8A0 8 +TkaAh HZNJ)!   % !\@1R $e@D֒)CaP#"(A@DEl +DDF#,"2[Ƒ\QEnvJĔPʢ5+"0LRmQ)C*ԡoA' +DeTm D &d 5 $tJQOLʳA*l7Ȱ*OL twPzIlptGX +aaHQO)7e_u m]agd 20 @ 8<:u"P\ #Nw^D>ү 9οylbgBN-.\U[aH0`~&~jM +_*Н=>t&$x[ѨЇ9 -1a5h) *oMǴ+ނ.~8~'N'hUOO5rPE?gV"-$Kg"Ho ̯NHXh~6m洧GE_>~q{œaOJI _t@UyVUa~^q2^f_Om-/PD%; "мHMXQyU_3'ZO*G.+KC_KKK]Q8 r](t)=$$tN +'!l9(ksOYB,hzWk,5IfeVq9EQJ*g]?`zs_㥝VE9c?_KЋK`?ЋRFQղFKO_`c^]ܺKϦ/^U]% 69ZMʡŪG}0pG~3#:{)?tO>?/KI*ackMWL_?sL_ZI% 5)ֿߔiZZ^zrttV_}uׂn/>ӃK_%8]G#NA1_L8A+e"o_%*uUoXjbs뷝6 DlZmv5TM{mk_~Z3rGK_ZY&Sv 5m/"$})8D{(}g_TI?_nz9Ѻ=Wu\nzKoA}:{wKKi0HR|?׵Az ]@êƽ D|4f +_H_A0$}_)">G.:YxX[nc?a"`2t$_}iwu|m]a6w_A5L0ȯ" %iP붫^t_ nmkd=mW辖֯_ί6  ORWWU]-"z_xAw_k__.` s;LV5j}7=uUIv AMR%hWKlZMM+B&R&B1XN~$?X-%&ibooKҿaɽR- mi7 PI#^~_ +JޗqI(qL0T]$K= oKPwAlIia!zMΊ$Q$IizLz\:Wi0*kiA& #I XdD&LGO4&E/I''Fk +oJ< /w0;r ,0e#)0z@AaAid@8:A" WIBbL=$yŸAq=| d%a !h =!,qA vk4 ^+ +?D%:+H BhzJA &@ H Bi._` . !bb  BDDA# +EB""4"k +i$g$GkhG+jhDhE[Qa8?l_ec&_KzC +?@ +endstream +endobj +15 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕr\CM +endstream +endobj +16 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +17 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 85114/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:m$iR bҺoҳAezJo$-pD{".>eGIտ{0*I_y^_z:kn}vKe!KIkR{]oTtlz64__֝bq *5$ǥhna?6%@TGbK /㤵UI$I +^W^KJ5( f I$޽Ϋo,$Hi'IKcK,$I/")z%Ci*^;3q+K/ZTMI*KIFJ`ꇫIt&~L * 0  0 DDDDDDE! 7OHOxvh4n'ErT#2V0dj`ʜ &t`Ȣ  a0l:NeE۰&Q7GPUʰ34,둁L&y+ypKoŒ&}{*k|!mvPicVLѫ6 P a,a0pV5,tKf:@k_}8lLY_A #YW\YAdΚYAGmt6_#_u8 _|WT+W?Mk62ZezI,ֵҋ +JcXU5>yP'__Xj!STK%U[o& kב5Ы_oB, t)z?K~Dluᥤg /š,i~hs长 {*tQ'Uz^y_a$Ït%.%KT}{_ZUk_ JzW ih&}p?Ii:!֕gIVfPEiRҥJ6OkI$R'k$Pl */o- On6 2Ma4(.zL>(R 4&?WMM]7֖Nz][t :][o--.AK%-EZDÄa"-"ph$ [ jRZAP4SgdQCla7I i:ô6yVych.aH*~F2~Eo.ޟe AYeM7W$L'<~*ޗ$v;K3z_I| _<F__9g^oom/~TR.2ZE:_(]---/C?Őh(Dzs>a3 餾"= +kR9㥷iA!j9_aֳc/-_]y:뮺%; ~'tW?B +X">zXxAuKI{M&`K~/|Mb!$ +_AЋ$ᇰXΩ]uOg66Uk߾a49 C x_WuuuZ4ozu6ֿ' Ikcmm["W| nյmm-- KKA!Zֺe}< 51LSZ + %nE u}kAh AiwTcծ(NM5,$moMnqΚ[Dt-}]SZ^>+ZA޼S-`<, BIK--K R3/Z[pIKҴ--X 0M~a B ai7Km rIlm&H6X` PAl< (f -@H,2jpl1tXd&H,D Li/ X`/s _<tЄ J"""46-Մ; +v'vQQ.կdQCal2~0.*Pg "VdU 6yVyԠ0Š荦PS't:U N/ATן_ik'L&PW蓴I$L)C?}ȇ a(G| fRiiu{I8A7/ 7|9+IտeTq9Csk4΃We S}q@=ʀ_oߜΡIL1K_|Ws5_}H0뮹;KͯP}K?@zfuxa_]uryX^[Y  4Vu<:곰Dl6N}L +տX׿4AAq$tƻh-}XksSZ׺_ ZMŵ_~>@zVZM)sԇckZZ@$'I_.1LRi:+yϭ>Mz A KH\"/ %- |Fa(Z +n;0ds,ZAީ(Av9 Qw|, `TwTF(2/!4.1 KnC" [j_ۆΆ,R}vaەioKGH05DI-J`(A( iABiVVj\C`Cbqu #(AƃkDHA#E)DDEfn!S-P"?MLZr6ypT4GKkY?Nu] +J_ T"?B +X">uDCou,E㥜'e +.A0 Kr:_~R>&C Z|2M~oЋ$Kc">}__%ua= l0OƾF<:=}v~?{D?mCָJ-}?_#{K&oI>յ@zV^? aVյ!>(cVUKئ)b AQYr랪Cii~?K_uiHe!uDt-}]OWOPIKiuA&a4(.K&B۴K競_ᄛ "Z[r 'MkPb#"$մ]\?Il/j@H,2j3A VT&XA"UH-H̃!H8M FARQAD_-Մ; +v' k"TGL 9"MvÆ&\4QIH:%(m0 9ؚg&ۢ! S:oe;5[˂l20Y(0<ײlN-.\U[0L'-Ogʄ'Ms$v;O3ҺIpXODCgJ|E4VzB,ZZ]7{I:M|KO/j/?L iiibKC_}i'G:ƌץ~fȏz<:ᴴR.^׿ Z.WWT>ۯbԇ.:9>|ih E=+@$RC Vյ--HNkQ?/҈ZS%Z + rA~jA~Bѡit5 A?PI||}AiT{zǏs, ֧Q1 Kn_ $mb!+)%; B B aH_k [:z `( 9:5_a.t` A[5^aǜ+4}Σq^ ~:"<uB&PTЏgsG`H#%[#%-Մ; +v%j2*YJL(g^ }Z#h35ga}9:Z`G÷2*p6m8l; dð=8e^E4p*Å 2ᢊl2(lZl;A0聤 tw1!0:J#}7e>`r\fh'taa "jBASMA8YB:#A0]$hic) ȵ8l#ql~ll20 @ 8<:u"P\ 0PTQ({mUI:NMXl!HZIť+k|&P߰z(_~"~jM +_*Н=>t&$x[ѨЇ9 -1N'j;::!m+qJI9vC^?AAKAWls B?MkHK??.!<ڱi$_=!_C}--RO[+Sg{I:uzOͯaGDkݾ ~UMom?o 悷ߎA֑Ni|{^[^$K7F9ۍiiixt/Kʙ#M/O4{z_B꒴ID5|N3O͡Y:qd?B +" uEJyő O"ґ0St0g!N>k#u[AK89!~}/zoq40K?K5Zzנ4D_￿O Z!h/CGZ Am/ r8pKQCI=Tՙt?dHI?Kg_KKֳc/u]~uzW^N&i+]&U/v8* D%z*N+o۫(_Ҵu ? Tl ++e( `x= 4GH,WO/Wncklײ^0|B,Eg_~+8uUoXjbs~}/0  "[^ҵM{mk_~Z3rGKi ?#!$ +_!R۬#@z^$ez0 h?=@.Xm:eu_yOOnzȎ&I +W]}cF^ȏg6m.&_Ou &8k!@a49 l:}/qkEd="I k^G8߿4AHϼ/9>SKկk| a_EJtZ Ay +k(zeu@ ` L\zz]w_ .ˤl?#[-|K(ol| A SSϯkkh//KA)Z|_+:Ϭ%_-/f:M_A,m[]K!??حk]2]]]Ii(S_i~ izZA +}JBЅ9+%A6J_ Yv{MmzZ A`~ A K\QN +֫B ^>! ׮^ [J5+S:ejw8k__#5 "?ZXK,% A_m9I~85⻑$%^ikh: +皏 +҈^CAPIS-lǎYlJs΋!6 ~CBI?#vzIlS7#Ө,b bݥ)ޗimҥM~bI+. ۆOүiV-?g{GAaX+:x@&A0Ko/I/߭ C4(Z, &o 6ۥm-ǢBAzMj^-_E^DjI-êXEH6z_,0a Aat)a5TV!0A}WN39RIåatil9Ѭ560 һOK( %ܵ&DH4 `XeoN]CH SLAaLAapz I vp{ {bEAcm Li/ X`4 X`4 ^+ +?D%:+AEKE*HP2I~BX !,}A!Ξ0A4t"S" )#E=e +NAs x3 +-Jz 2S ᲰS ޟPa(]'ԋ[(MKe m!7zBK; @ UJZotv {?I ht=EoIK {F-xTCo>t&$x[ѨT XmCA7D:aӪF ^s)M^_Kу::}"<􍤿_yb!BI,kIS_6ranh'#i/.jkmXҞIʚM#}I8N0'%HW #^,?k~%=za +qn' j{ &Q/! +5K} $:/aʬ4 |CZ}9 d5tP^ DZ zL3G_YGUoK]RW zL6/L3GYRY:""Tizi/Nt) p϶Y#M_yZ"' l;I 8 +"Ucz 8  (~/?yG92sRׂ#u[AK895zVߥ8gDzs>a _bȀiHNs3pߎu[q9E*FKO_I|(a_9*C T(տ)1KO\X>mBQ#ocZOn 4iA}O]&9__iZ[pz[5k.#:{)?tJߡ1ۄG_󧲓_A %N^ǯ㮓*GZx%u^דA +\_=W|_Ҵ~?DZ3im?RKni_=)pfOAb`~]X]G#NA1_Z S?+ZDiBGL#NDE ^f ]/m ޱkKy90%jp$#5#E_~k LJ-8mIV.mz<ֺ}s^ҭ/A䫞=6r)V+_kc5|YЈI+8K_@T_9x*#+x*#J*Zu++~uQ֖^6]oG]|VK0Xհ~ D_~޿YkIu_^H_A0%#Z'OM.?m}4,0WU"c?a"`2I|CCKAdJHϼ/ϲ8կk| a_EG[ΤHϼ/5t})?p(Konzeu@ ` sꗼ"?QPpFZ9?D{_3 Ik?=oO]ֿik]iF~c [{ Ik8:ˤl430/ZQ)Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-tʡ7yobk]2}-tL?$K[_5Zֺe}:5V_O.hraI[z Km&넖!I(Ac+׽A"A"Ѕ<Km}s=yUO[]&b$+(i-ȀT~zS~zB _҇~_+S9EOY}_(=({97qb2;sXMnqγgG5bkKw"JB.BI]zM +j?*^wkKwkKw#ko#DW>VO)ötS:K_JǬ } A%Ka~[)!<,?R@APgnO]-O.H3<:[Kej-m ۯiv@Iޟ?ʆG>$oKMlTKTa; Km&-KS +gz_ЌVWڿzL>Z+<--Km-KKac Z[6_0Km+Mz[nx*I6ޗIm~Xa";I/KopGi7 KTפM7-$AzMj^-TץIKopD݈N &o 6"0pwTZKn4i7 :W$Ma5T%CAl@X` ޗ<8AF M~l 0\&yt) TKaO#RTPaA7vQ֖Il0tJil>A Ta΂iA_y|1I8GAzNM:AaMM$aA1I0a.qnZAN^Xatcd u=] 5II vKXK K4(& &IdXQ'a,A%  % JL& 4,0Ia _+ +: P % (4) AgOH\B~ $K,AAV/,tD +D!X5BE!FhP i E4 3d#0CC @DhBBЄ JBDDDDDDDhhDF""4ɲDWDNMٶ|:uϢ Y[Ⱥ68mL6BB%tvSw +-FO(P(M40>qeg@P\ V~(4kMUNa5O¥oK"AzSKK3|i$Cy֗m%$$ʚM#}II"u1e E5|y]RW^8Lz}kЋ>' iŒ8Q]Q9t}/3Ҵ=yR3~_E(a_m-G|ZDt!AIK+Kn~2D?[ J-R {Kn{(?Q=)EkK㥜 Qp𗙩:lOyt*/hKҭֿBI_L=.:eRa]~5FU|0~=[NK! a_EA>ૄ ` s}WPrc _>keZ x_AcRAyg m/҈m|V_Nk$sI[zA!_cͧ|9@$aCɿU镩6 +z-}SZ^+0~ICj?Qo%GۯM$o$Im߆)ޗKoKm_il?%@&-Al}ڠ&&o-i- ޗ0( %5KҟXA:PJ48GAzNM:Aa/; y8B^L& 4$1X@AK #8 +B#B-( +"?Tآ+" +.MDEFFh*;RXC D"*g؃mLb 0μA=DB"c:d[%h:g؃a@μA5׆uϢ $̨Px&02Ou 8m8p6m; 8p /.ٴm!mL6ͦl?ԁ0 Tt-Doػ3Qh&^0dHL7N]‹)jʅuvKw +,*lef2gXḺHC)7=e  JB )#DAs & )<(PdFD|6V8a(]&uoO[(_Z`S0eˤ4$f F=?#Ap#A<~(4kMUNY (=W +&bo*֙\UL&{lOG|{Rs mH0Q4H0HN'jy]>:у9AzS $~}Ո I$,#i/<ڱi$m% $ F^Y0ij|)E$$ʚM#}IvS0JIIIh .='I"(yEEqK} $:Qui2y h?_(Q,m-/PD d5@IMCF`c!~Liii /!uI_ zL3G_YFrTx dʉS)L&q]~NyZ"לY϶YNp#ziŐsN-8}z φ}ȸ4u[AK89Y#3=+HNs2,Ϋa"uG1Dzs>a 1HNsDzs>aם3=+egX{*G!i^"/vC G82A +k PC x P_p/EaG.ij?g#i + G/9ZM:JDKo4_/_:{)?tJۄG_ވjΞO/-DuJT[pKn~/+h+]&UւKuy:#(3xʾIu n%]h!u/+KK0K1-_iizm B--"?tmczZhtӵLWDCd+izSy$4t,WOb^XX"?{(?:ɕEoXs(AuKϥYHޱkK ^fKI ^fI(}:]Oyt*_-5f"oz 5m*J"=r?_u +a_WDp/0*ZuhKҡ %~TGkfWI+8kXl믊at1+(꣭-):ⴘz]$,1+(6V uaYF~_B )uׯy]WsItB )%~G.oޗy_:4XH?LO--š,csE}>^ ~KoҭV?z[yk| a_EA>TaE~iL43 1}O6 !9Ϫ"?Q{(3G Mh.#Iׇ@ߥ^U_uM Mh.|aˤtK(ol| Aˤ/A f.-z[_mپgsΓ~/X?ïeqT^GY?׵|&_ /\U/}:^HdL+WKuK_յ0 m/҈m|V_Nhߨ~I6k]2 h/A0Bk]2~?k)_Ao ,B @Pg9G W[\$&IB %nELRV%nEaMץ( HW (i1ꙂRKb$*1@~zo-5b@$aC?U镩f#_(=VנJ_KǚqHt5\}[hWr&-"ᰏ` ΂kKۿ$O5T֗5HlAJVO)sS:8lJSmA9< /ö߄J_IirtL?ö߄Jm$ۿ%I $#__#<7N$oKMlЌVߠI; 1H #; R3/o3y7[[jKKa0<-_k Xm/-_?Im~";I/Kmo_}Pޗ @&Gi7*WK1 W km&t&"][i7MMT_uKa5Tm>"%CA+ ; ޗIm M=[O^L"x_DŽ Ga.q^ ҆i*Q'< J!C4(ŇA:P ҆i*QI) %I.!i vp#'&OT J&/yŸAi8A6z:NMcU-0 ; y8B^L& 4$_aC ;  %aL& Li/h%N=V$`(pa i/ Z$ Ipa 2Ix}L` (AK&_! 9HB;CРA"4!A?B¡ 3#ЍAb A(AЈ DDDDDDDDDDDb#&n/*a)g,[v:mP7Pi[[sZɄnSIW[ Q+D׈P(8i$L/Rn R_x~o  zI+>p}%{G^ҟ?TE_D4K9\/K Zs]gƅ/E^'\/*5# yNa/ !Gu_Nm|_jO5B} r8yu8% {ijmJgaӷح/0߆M[[mMJho1^"AIƾ "o=-d `^ھJa$?QE +-Ј2T""1vWD#%n!KuaFyL#RdB"Ȋ漕DO$vZ;*g؃`SLe%v)גw2,pl6 @)d`p>E4l aPp&\4QJ@M_A0[mtD&-: Bau +YP$pͲޟ[0 9{.34 8A'ԆbtD(cC莁F +aaHI g&myvDf6r/ypN+˜eu>_Li @ 80ͯH20nAߝDS]D`<5a|!m +M_ipMSPOR#a _Oߧ{b}6D?(ZI%J"bqJZZ.qMlNW ?$_5E_e8S_:om?+aNm:u;ioz'Us^'+EP_&%bp _Iչ6'^UG%6HyZ"g:Q8 ͯAT?AiWe }qp,.Tqsxy F+u7T8=ʰ_oߜΡ~G!i^ @jEg& }~ZXdk뎘b>Ӑ4# ISPgIer~#~_5fG}~j9_j߮yƺ죯:{)?tl3|~0}w_fKKֳc/_zG^橞}xʾI0޿]W# WwI[bZV?B +VPzZh/zN +3Fbۨ}^0|B,E:Ə^:#Stydzŭ.#5K^=zEI?  !4B.߮ߎ:Z_tS_k]>b)~8K;@M:^yX_}l?Kz-oo:K_nzTh_΁-5#4"aE[|GIK&R"V_ڞۭ=H?~;t$KSuvյK:_]ôFL?$K:L;K_ئ+DZ_^Ah*#/Sim=?Zp _ %/'*m- Z A`~ A KHq F8( HVj!i_ 6Kh \2;/AMXP?I~KGaDGK `*h+KR;0ds,Ht5__$4# XAiD/!$Ip `e(;7 zA%K.4G=A +<KK$XA + KOHeEJzMKv A/F(2,S1_1 KnC" [j^bIz_SK`t]֖0W,Gm&__3y7[z_ ,  `^oK~% =)(/(Z, K0 ~10A!i`k!%xuKx0c XMq4p0AЧ 0@`( UeE4dU<:\)%OK(a9:5_ȃ mCOiV2I&T;&d64)$yŸAi2 ZN<$áK @Qh&X*[APXA  V@I,/AA@݄ UX6aDB~ 5*$JS:!E)a!*5DE""$Ƒ;Eu4AQ%dDْ'إΛV"D396Ə&PIPg^ ՞3Tϱ x3D3*Y%1<&yF"]`4YPӆÇ i(CEyPlall6? &cV*ET0k@M_*BBau7l](It1(UeBA0^ *A@`aJ3@G3`d,p]$hBAs 脈0{ 2i$ARSֈa ˜VQXF - {Ytս?lps.oO t:UB/!,0evTI {?I eqVtmo*'OJgBϯK Ľ'#~F>=[؟D a5z_^_W؟Da+ނW^0g +9vt^:_D|wVyb!BI/!/HKgV"-$􍤿$Is_)_Qy_|)$$ʚM#}I:䄧GD`k$濈0o5vB $NcF"L^CZ}^нBI@1փi~:uh/H_/8(M9 Jpkg.`=/N"- oK]RVFJ#4^OSFs~muנ/?^Y"?3CADCCjBP/?^Zqd>2{*q_:TL?uϯ9dpȸ4u[AK89Y)=+HNs2:Yl=].:HNs3NCTmfYO?~:[(TN^ʡ9QZzנ] P_A +kɅ=ʀ_oߜ#=Rҍ[ }G 4u# IjI4[ r8pKQ-H}S}q xz718z[5iujΞO/Ҵ1󧲓'KKn~F7~??DxʾC n/'_Z +I}#a-_2:O]"W-/_/?Ǵ\_֕륷W?׏i_i}mDt3Fbe"8?'^E?-gI0;] SFPvuY~_u*ޱkK㥜QQp𗙩8,ԫޱkK ^fK_]ViԫEڭ.kkb)V]u 먇 _3z_/:K_nzUЈI+8YK_nzT!$ +\MKz(X}yTuFMXl믊at1+(W]|VK:e+рk_mGX5uE(;zY!k}1i?~`_&dW}x_/edIw)15?j޷Ώ뷲9?D{0^Vԇ9>@G迲9?D{0^V"?Z ƛ][X疟Qz[տZQ߂A&ϯlK_a~%֔i76>IeZ6~落/L %-w<7H} :WKuC͡3I@&WKuZzۭ=H,i2}~;dL.a &(kZֿa &kWAzL;K_o$cx3[z߮Xk$sI[zIbMJ}*m- gsGy:}}8z_B ^>!~B6*РA!UQWKq ARZZdyk[SV/Fj@=#ZZ9,SV/F_ֿKGacVt5 i y!Z4AsGW=_kG/4AsGWT֗XGpF,`~${;g1I34lAJVO) }`A%O)~]i2z~{oirtZ_7#m涒w7#I?/6A}=_oKoz -!jF+ xo$Im߆)ޗ'a@vb~SK`oKGG]&XW_ Mڿ?g{K XmlamM㤩A(ai[i_oK}Pޗ/A[z[~:~tb^-TפMDŽW `m&#_[jP+KT\w%MOV![t1I/,0|Mq4m&"?@C[ qE:I$jJׄQKn>tJil?OK( T '. myB ("x;&AKiZ`] b '/I S,2cȃ :KvL,rR`K4 `AkaGo!/&K dXQ'a a0a,-5a [t!O j080AGH4 ^X,'_1@ +D5S!ka80 A0! 9HB;CРA"4!DH0RB#B5=aADG[d*"$ulspμA=$B":dS%H"3+(maYPӆ L&ͦll2ӃM" ӨDD'f(/nh6' 2ᣆ#E tڔ fr(U(*X`r]&t(}SzB#L6)dV: + 6C|~C +0)쩮&j1toK"a YnAzS?}t]k΋D?(ZI%I~?08C/?6#9gB $Nctp1փͯ~_󐺤3G_YF1_?^YF_HADCӬu[AK89YmfkZDzs)N`:z 0>0/sqWG.ij?g#'L1Ko_#R%s4":?GFW_#I}#_u9zGIPg }ZVajxm?}p5av ~z"-/J}Bl,POޱkK㥜':. y3t kIj3 Ik?=o\K]?:M_Ac!eqT^GY?׵ZZOJ&IJ"Aֵ+ѭWKHL*Xk$sZzZAt( HW!Tc> +#I/ A K|~0RU镩̢Zd{,$moHt5\}5⻑% i {I,% A_z<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%GJzO.H3<=ehP]a; k#;z[*ҷBMzL>KKl=o>J[a#&$ Km:wAl}6mM+ B aTm>"@CA+h$ [< J> sH&N39R-I?Ξ)^b ao8/دvL'&OT Mh&/XehaGo5 % P/ #++B (4) ؠA帹B(A@OаBDuADXqF@H ",*;**hh5-Մ; +v'd2`&]"hL3}jȄFDpᒤ)[+dQC;%Ⱥ2 QvÇ a`pp漋im0ea;OV*pl2&*l&\4:u ./o:5L&/!!0:Ruw +,b꩘baȍba*ͲUg I*9t"cL2_@ˌd QqtoaHؓ}Xa7Ta7\e;"2$ˤ}6l#qP=,M?I_m A{*k!H_JQ({a|!mUNT!4⟟6jѨ?zN'lOG/||rB:#L8o$v΋D1AzSXۮR3{vC^:_mO=C/L6 <GIs_ht6D?(ZI%I~ʩP0 ,U&ij9gkm7Y `kz5YqBeYyȢ-{h 6N.HgUI7MvB $NCZhsHiik:.+Q`(8(M9 JyS<{mf_,־NGzi'VkЋ' okST:5ny:kЋN,ôCjINgKPgy.TqsFyi`5/Z7ᙧ`i,.Tqs$G9ovn(#ǯ"=u/sq)P`Z8CrA +kQH74t4'I^Fڪ (c1Em-G!J}^6$#mxTr'K=-UGIujΞO/-Du n5oLr=%O?ւue_@XKubD~z_/; ~'t)zV]Ziizm?"?"u{(A@KG֖k8#kAb`~"O,| ' nZ?/:I$_u*ޱkK ^fH9V?<1Hr +yKᅦM0^G(aׄhKҬ_~V:K_nzT!$ +_5_"X'"a0Hx?:ۣ K*_!aYGr>LI0},FOg6K L!UF?=Tߺ>ߺ}֖ P?IzD+KKL-z]:|~0Zo%iRm/g^f&":XJۤ5ZMmB.B[ץ +j?*{KjkTUl]$I|?$bvb*g@i}v6~yCmX0~ICm}Ki`ح/!6K!AwuIxo%GaH3<:zM[~A("Ji: aM㤾oI|| 0Gi7KI0ӥiApPb"?iXK ߠIP Bb+i6l4o&#K`T$|J$ijvki7$%&_a\8 A-DŽ F$-! + IׄQ'JFK%7.H !K]~AA4+i I[,t~ZL`E D2V0o8-'&OT K? #j^Zd~a& 'a)@q ~ [AaA"v&Ka. :A& (tLAPEO h5U +B~  ^:B׍$T g +]$T MK GB;CI  +#0Ba! FR!UBA#ЈGM%"|ER 0j+HK"14@<" u uϢ ld>61*w ["2 3p欋im0e{*IA[Qh6l]0e`HL7N]‹eQTZ +H U9 + +aaH7\4kK;pê @ 86WjD__l!H[|Hge8WҪ?[b}#M3#MsCVE9c=ypɅql3-(տ./T@KO_@O<SֺL1Em-G!6"?) D}-/CU QΞO/-Du+Ch~ "QA^:2D%?#a2i_#G-/]-L:I-r"4?ZH99i&+XX"pϢXbgzEZzŭ.#. y^߄u~Z3JCq$}~F/4$FK_nzT!$ +]_8@\B ]uZL=.k@O>|,aIu_tHGR\2~S$t"?/!_b_ D~~3^&ŘƵYk| a_EF}~/~\3X疟"?:D{0^V"?T:鄺$/K3QAxZQ߂A&' Ik/"kʡOܑk3I@&WKuTpU^G _?aA$Btqerzˊ}cb>G^{(㔓p _ %${pj W) +1xUmDaC@:ŝ$x_jHkޓxqI-rF3y _龶lWA(m (ryO Tz=-O&[_-m %Iۤ6_'a@vbi6ޖ Mm/ ao-[@&K .#JX`b+i64#K| . zWa5TAB DK-:A HAal/jQ'JF VI[><" \I[,t)& %- I SծFJ'pp,1 iV@H Li/K> д?[Hqpa 2I*aWIT!APa! F(DDDDDDPQj+Ƒ6Gb +򨥺`AN򔌄%c4B"c:lZDYvc(Ȯvg؃a@μA=s̤QA֎2*l2~L  +{ a8e^E46m3Z5 .UA0\^F eػ`ȐnB&:Ϩ::m+^mL0 9!Ɨ[jC 1sIB _V\fh$p8 +KDA0]$hh.auL6vȨGMS#!/"חۦQXF\-a {Ytz/$_:4\' p5^ʚ?um<~_D]uޘ4q2R0Kq?y1ۭ>&j6O"Ȑm19!I>;Du\tt:  y]>:Qt)TvQ 6h__?gPGReijC򅤒^?0]--W{I8A6M5k^! +q I?I!?6) DrDj,z 6x"΃WFнBI@1փUk e|2]--.a)_ Gh?.z_B꒲2Th__ǶTgzi'Vռ +C[~hk?]6dziŐBP5).g׶**AHO/N`5,y(c85Κu[AK89#Ӝ ^G Oi%t"=`hE|>98({+SqYP~-=~_O_O>__'0y뎘c?d@mcO4tcZmCdG/J5zj=-U:5kh:tRm#죯(ˆSDmz?lez^Ǧy}tWL n/KgYFH((<҈y;HR-5ƿ/(+KKKno"?9 } 5# ~Z_[k82ZH:Ii&+XX"[k2_# nB^O +DU/Ћ$ᆒ_uFMXoy.!>&I u?om&{=@IK m_^ &8UPr5hsI$Ώe*z:A }/_^Jt}\Rᷥ.+)L#gfiCI omt o/KסY#ĝi>_ͬs#_FyitHtz]Q9t0&_oߜV0G"ς|> xz P_^=5=tv?5 r8pKQ-H~o\%8*gOe'N":"I~ GIxʾ?x_Mq(+KKKn[R_#J~ZH99i&+XX"q<"DMa9΄fj- %kCy'8ylq"K$OyU23a5z%*1|q"0*ZuhKҡ %~TG?I5/?/믊atX_DiD _8Nh> +Z֖H_A0$_9J~GEd>K"/9Ώ(_cZ,5L0ȯ" #>_OeV4 [A_"=l/+Apժ_~f ĺҍ&& 48lK\uֵ=H*Ez?rE|&_ /\U/}#?F~I6k]2/ײq9I? ,B @PI[K(?E ס^_( HUTc_;:?AXH񭾿ՋK:-/A~9[yA~:Mm/4AsGWT֗ǥ@A_e<Ϥ?$?O_KߏOKa7#ĻI?~K3 +om-B1XN~$0#;~/ >i6ޖ Mm/_|x?٪o>Ja# GF#!W `m&]ׄ\?(~`(~=+*i MxzVFAfE:T]l44. ą i6OK( TxI %=ta"'PɃVZMeYlɃJAcI0a.qnZNM:B ,/\5P\8@m0 ׊;  %B@ͯkkB)`ªDHqpa 2IPR 2@DhRDDDDDDDEg#dWO4eZ-\ aIKuam+!2[!16FѩZ(B)gdB"#Kgu#FEs>Ӝ7 (pe6' ] pXg5pl8pi);`6? PVCl /.I ALp!;5q{x&Űmm#!JH \*D'f.2$&Plag>ԓ9[jPb.LyT}úêMhl&Q 4RSQh0#NȏȭnGS꾶KCtJ \6V8t:UT2Aqe| NeMSi/CEC-?#Z]DHgBL&{y bbapPĽ/c?[b}P󜢇鲼(WEǑ3O"Ӓ~}dk85Κu[AK89uD{$|>98o?u V^ʡ9B?f \^?H▞u/}O!z\tQ#n)>N?%cs?y0 k\-&WSK߮yƣݕYOZ_\h:tR5or=b~<_/]$㮓*G@;IR3׏gHIW_(Mq(+KK7D}A<>}/} ~vri:/_Ig'0;],EHK:ɔ'Y>kۣNut%4HUoX}M0K/uU^(<%Ώ"ֿ:_~Z3ב5t/ ^W[+ +l?1|q"0*ZuhKүY  4{֖_'I2)/?/믊at; Fi\9rՔ?[GcooK _^ &8■\6i| + `k A-i'*Xa.x< 1灥!KKZ`vӌH'^< /4+i ةd~AX13DȓTH$ ,-z0vI[,t)& %-  h%׃PZA/@@4$A-..P} `AkaGMc!O M{BAHQU +*Y:~L,E + \(!HE!APa!ADDhDDD*0"-#O#Teȋ"μA&HF;t0^yR%ax3Vͦl ,h' ;ʭE 3d2aqemV*oJ!}tK$- +ߤpKҪ/QJi~AzS#i/ >)_QO(ZI%Ik$$a)duIU"OHzOͯHxi_΃ƨZ >h}_^$јkA1*gE,2Ҵ?j~8Z4_rTpqd2'(mNR҇0)^fzסY#0ω:A +Zy65Ϭ׈?i>].:HNsטg +kɅVy|>hqꖔjߥ ?(a-H}S]%d?o:aO]& H6[ۄG_(f8?) D}-/CO/~t8KuzL.5?AI}#a-_Kn HFjDK}+KKKnzuD_ZDiBKA1_z]~4u^$룪=/ߏGUxa/3TKi /Kb//!5q"癈[^! %~TGk@z($}z,#@z^I+8AcVQ&\GQƖ:GK\G!aYF4"?A:\9)?pRK~AM*=$_ CgKĎqk bG@8aE~i׭A\UnjAbZ~h ~#DeV Mh.#- Ikr i-%!z^V?ŵ_6>IeZeqT^GYT{?z~`4T> =H$eqT^GYkWA\ WFjF9WAi +ֵ+V?_Nyα#A_/@PI[z童 #//e)B|B +~zZKA%AX:ŝ/~0ZMi_I +V kKξO)~{o5G?$?It A'm)z[~~>_)xo%Gv R3/&V_wh*V~$0#;K 1xA/>{K#bAl/-|x?J| 0Gi7&ob>0*4#K04II/~x R /Kߩ@C*i MxxA:PJ0 =BA,fE=-:AI/c4. DŽ D (frpl1RdAB4fC`AckH-v*z0yŸAi8A6z&K Bh0@׃PX8A~@j 'a a0a( H % m HCX5 B?1@ (4 FjZtB A"4)DDDDDE"B"""ђ+ 4v$HI)n!Sæ笡P7\4:M$M4#NȌ~Eo. CۦQPXF - {Ytս?lp 3#Dޟ ,ײD (CJHl!H[+k}7W:zTPRfV*0(_ҧő/toI؟D a5O¥oK"A oK蓴Iڥ֙qSh5. Jwy]:у8.(I$76|CgJaJRIjC򅤒_ CZ^ I􍤺ZZ9gk">_[kœaROK!쩤=^HJy$tZh .='X Rt_:5$㶖I"u1e E5|7*=H!%6H t R]k9}e&%8530tq$^BJz6um֓iyZǓA^ֽ5F@gN,Ƃ6N>i%(֜_/y$^_ͬs5j_3pi,.Tqs2KSzVOe)8/'C R#Ӝu="BV+)}~serT5U9NBD_C&( P_ޤs'VQD>FگC1>\-&ŪG'KozJDKo?^G+\G*Vu?ZIZV":?#a45o~*?_"??WL0u$ n,y;I/#3/+KK0K1-5 +&oe( `x}_/_-/-{˕g'0;]^D>pfOAb`\";R+ nLtuY~ւ^fӭYT_Z\G,8Oҋ_NxaAuo !4dM:b/.kp"<ֺ}s#IVͯ 5m*|Mb%_^/:K_nzUЈI+8YlBI_@.i._xA& .q忍t #>h-}U_]G DYvPgWx@ +Z?p(AxH$K&/mW{ޞK_K.I Mׯ_5-}A>.ߥE  !ߥu_[{7yo " u* >Ckt$ȖWKm{KKHD4)#"@txIi~Ek⵭ttk_ A+ kئ+b AQc_9 _mߥ}\$&IB 1^A"A 5 BPW G_z|B +m?F?=S~!*Mmii ~/ץ|~0RqΑcנJDt-}I} P<^F3y ~@5⻏A"~uA'K +?=ʙ_]G6?-SKeAryO!6K!AwuIi~?KҞA!׎fv ASI?oAȆi!A{_&PI/a; I-#; #;im iοKoI+^_ Mڿ B KnVK_ mo%z_~o>JtW#H DvpPb":Wֿt7Ia!18_AzMzM[|{Ai7K` P+K," SSմt ioK :*Inb a5 WH'I?Iza( OK( %5KҟXA:P%J4A'J IF vLA75@z%d40a.qn_^Atc y pnH,D @- k %`AkaGo!/&K 0&^QB) AK#CXDtIx H %BU$e7Y:hE$aPЊB"ArLv!@DhBЈ."CAЈD幄AQTv*dA]Z-Dax3Gq J5la0M8pe6']CMi(CavÆV*E6 a"mL6B(5 L&/e0tպu\*y[-)R`p:Ruw +.As ՗Abg=kmJ \]$hh.a?n ++ZS։ AB%&|]$hh.az c2Um(}Tˤ6#0oK; :s.oOW-uMiB}t@"/}t@^!nC*ޗ8߽KmtJzT7?FoKNߥ\i}EvQ)t?K)_PK6WҍMwU-$􍤿I_2:*'$='׿H/fa)^!#zIIIް1փtz>s/PD d5_^(_[^$јkA1*gZ\?]RVSʙ#4:Fs]qKiZ.+)L|uנҞmǭziŒ8gP&uizסY#Og#fE}z]Q9t0ω:]s]$^.Tqs$G93 5Z{*D_oߜ@ _DQH^?Iub@!"iGB"=:M>X}O]&Քwk]/&Ko[p(ծl<χZ_/!__Z_^Z_ZC~/!_3 umĎq /3 ?bBZ/H a_EF}~=BG[G4?"?sS&Pz_疟D G0^V"?Rްt/jl| AˤK.A~A&' IkRAygGKo =H$eqT^GYYeP A~/L* >tu?@_{A$Bt}h/_Kʼ_A%A$Btt z$ V?_N;/@PI[zN?^:_A!UQWK$/{AB^(+|B +~zZ/~0Z뭵%F_֩/5_ +/.(}r_ +/:<i74_ +?=A%O)XA}lA%O)&O4K=_o A.OKb>t_%o%Gv R3/үk7N R3/4z$@vb WA/>{K˯- A/-_ޗ_~[xA(aoKk0'OK_ % 0MIt?-IwI5D`]_Z &ooKåXEۥԠ!4m&"Q ?A0](J/A ޗ T 43M"x@B ҆g*Qa_f^tJ_^ +Q'JF u=]RI.!tb[a" $D!0lk`M( qnZNM:B R A(@H Li/h1 # A2! "v&K҂ ^j0A5bAPi/khv ,C8  _ ! PB#B5aH*@DhRD DDDDF""""""((:dT̑WJGe*;Rv%n:A +0} + k*30!p"ϵGe:FOD _2*4l2~Ad6 ]&,8vI]CM5"u6qm6.($8aU +/o&$uHPU aҨL4Ee a\e;"?"חd`?LM (C :Ytfפf GVg1v֛AeM$ +)_آ9 i;l o_a5P;$RlR& =$Q&ʨR蓴IiW6:n=>}Wn^j CINX]AA*6~9>"bᆂ}GJߔ-$%GE |Ai'&rkU_R}$$$uS?om= RttϬhu&/PD_gQ&z_)_\5ӜZqyĕ_9 J4p4kDo0 gI:N}Qk\5.^Y)eTl4&t>?_y i>#?PŒӑ2AK89I;#?a"?u#X5l1{|>緤죜sQZ=tJLZMנduv>7 ,\0ſQ%oJ:S &KQ5W!_߮yƯIxeVj(I-#9f"q^Ga5op&7#_a&UL)4λZd/r0"?aTҴQT@*$wP' +?mWmqz["ŕ_SX '#GUc^fhȝԽ/o/E50 5XU:FtAaf"K__8Aiz ^G(aS~H}gJ5_h chKң0VVfK{K*#EpJ3eNuFk{i7z]$,Fz}tZQYGW' Y9'IlM9VP6s^LLKQ 8+PA7fa(M z0qMM4d"!\ a P&I/IBL8 M AA AAT 4!@I,$A9+^`>Ⴏa D  A3 A6?IxA3Y:X(JjA?H&0$|ު$ЈР""""""""""" +&Y‘>d #.DYE&ř3>JL 3<#R"em +myRȌEMC;ȯgk;0g^ &uE" 䡰d5$L6ÆlP2(pU(3l2~0E46m96& *Ϩ8m â 6eBp 2euEt@aA0N[PNEuꎠ[w\:A0}In$ʰ3JX`r-IOZ$\$ɶԠ0F7:8st*m20Eo.vKV*(}Tˤ0֝OA%ᇤ + SP_^ʚT$~WUGNO5&/Nu(_U^IKB_?FoK?~R_n=Vq Sh2!21B:.:!mƿ&yNuM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^\utGEkS_:\NMs{I8A6փ O^|ΩkYFʵz #@$I?k5IlT5Imx AzG/t $:3 h?pkhZLX0 t_AWj~8Z4_.+)L)eTl4BPtT[eWi'V?Iմq恎-(~'^mǭziŒ8}dgi_~k< ĝ:c5b?kO/f"uG1Dzs?Y_+[KʀjBWj0#|#=Rҍ[*e ?(aouή ߤz7 0I4"q^./N6j9_MHKK퓫\i:_[p,L+-r}W _:kYoZ͌Z_ n޿L n/RpU6 zHU9~'t)a#\ +J!xV_,Y^Kg(-{ר^oK\H(Om׾&+XX"rZK 襂(uIFrr{],`[MD`[Xbg99N:ŭ.#. yFR//4m0wL0kaZx3[׶b/OyU2e+3_>e)-$(}gLׯ#k0"U|Mb%9$!g4P*#t/_!.)TBa־Y  4EpIz4"?>ʝ=#atX_w:@^:KeRizuK] ǠD* m.z#`J~/'4_SK.b[zu}/a49 <:ᴒk-_ }/̓Xޑ a@z^ ߚ Kk:Q 2+Hϼ/#?|$f#ZPUAwOZ4nAbZ*5?l/+ApկzU1^5 [\K&y#n. A&' Ik_Ab}/ OzZOJ+KKA)ZiDkʡgCA E+:ϯYKޖz[^% KHD)rl|_{A$Bt~.yռ}- TGAz[+S- TGAzXXנu9?XAZAީ/uA'Kǎ(9<}-Iwm㙦z] a4(./K!AwuIz[~~?ZJz A]UP_l? 7B۴bݤwhߠI; 1H/KaW]_ %֖0]R % NuH/K I&It KnV+΀[~:)/>Ja#a8 `& Cz$-& B a:%-"#?! AlMH0tVaE#bn0AЧ"$0A9$-F :J SIoKtAF&q'jI9:5\T1A`@[Ko΂ig'Fki\A:PJ7(| eV& A[NR Ack& C`ppl1jA9VׄЄ`| @Ab 4 K l AA AD$L& 4A6?,/pA5*i"8";CX5^A A|ުFD +)T]%PhD + F(DDDDDPQj-ң!2)GihJёJ;R2גv"`DUC;ȷgclP• +S(\r U ad (aÄM2[iâid2:l6Ula8e^E4'eET* Tvjl"!Eě @M_4 : TvjdiT*AHnB%tpͲIg Jڒ Ze sIB ^g0v\fh(q4M֔e(02a{kS##k˂LP(C :1oa26p3KK @ 83(.nAD{*kϯ)y]E=$~e kK {?I eqVtmoL&{h&q/dggʴ'Otal?FKN'k$;L)tD|d8 wI7_AzS?}xAA@!y%062qJ_ 4wqJҍMwͫI7}--Ro{I8A6kΫ\%=za +q I?I/_E~T&ҿAοAο4}Bm-/PDF9gAκZZ])__r?%k'YBɅ]49 JI:_8)Dcz'^y(a?IB,yŒAQ졺y6EϮ/?PŐ`ӧpi֞_ͬs뾲3,.Tqs2KuX/|Pyer9sYsrP~s](տ&1KO_@/}>7dk뎘b?d@mu(39s\tz71Em-G|ZD)= ~j9_뿿\uݕY_~:8.tR%bMk62zG^Dn޿H㮓*G޿]} +J_o6/K@/J-RP8Q~=?-/?.V#_^҄3Fbe"`[ _]Vi[g/υthgHrr1{tuY5^֫ޱkK㥜IM0oob-/j^z.ߦ8_ _k]>b?|Mbh [_Na !g*֥_^h-}4V_"aߚ*?玴}a#6Tq>D_!?_a= m*ίk8NhrՔ/'4_D-IL)Sim=?Zl[i7ry'_p _ %/s$ ւ@$+\"/ #/Xe|B +/5,$mo/AAXՔGKk ttSV/Fj@_Dt-}InaA 9 @2\6/_Ht5\} =R[ &QPasal)2t_8@ޗAPg PBl +CBn6A}=_m&AiSKaxo%GJzi!ASK`m[ Ml >u0ҵޗ?B1XN~$?֖0 ,R}va0k1_WlaɽRܬ BLtz[:J~°Ф[u:~o>J%-"#$b&&DBpTcH_W `~"5$0c _AFR.`OԠ!0D  SSմ1AH& I?IiAׄ9:5^2}"_8yB ("x_DŽ Ga.rA KvL l/A74bAkAt3ɃeyŸA~|`4t@e jm AkσP_Xca ; y8"I٘m~H) A)eV$`( {G,N !bbY:PB A0RX(JjB"ArvDDDDDDDPB""41mQD:g-f Pan5٫!w +-Ö [{ 3OeOoO[(Q +IޗD?0g #i/='נDN2~Pp?qd4D9n]sHNsטe)8 ߜ P_0-HP_q1-_뎖_ SfAuK"ҭ/AgWDp/~u\~U" #>8 MO=BG;UlK_aRAyg#kWӣZ)מg%nE0@QT*#CLN~=SZ^+ryO-1] R3/KomGi7mK$M?$I/,0c-i ҆g*Q0t u=P!I 5 % + A B#B."#Qh0-Մ; +v%j2*YJL#<@f:(}Cel 9:p";ȶUQ `҇lPM8pa LL ImqFm &U + +eE e(M„0lZu +)h֛*6VYP$ $flOy&y=AH2a~*9-ODԯ ti3mO1gmZZ6V8d0P\ sa~3I@P\ a }FBt4\ BoD_S]Da: + 6Zm%ͭ(4#g&]$jPOR#a _oNS8؋O:{8ԁHy6p)|BtЇ9 ->;D{Z|WZgUD1M@?sv }ѧFz?${N~8~'=<Gkei&/!? D]CKg"֛ۤ.q=lNU?$7y^N_=E4q &pM{h?_3~5ImˆQޖy%s%i{^Miih1J_ `q?y|N@Ax_"^؜g驚nm נYx6u +@ >O8Fz_hzW*ZZNA5 ]c7T8P"/t/T+Sai/d ɅX5l!Ak_c@50 k>Ӑ$҅x>-P"?F@SPgWe} +^G+VIyN/i7uX.dpez0 kOn+_(3+ ~Dl6_ +Ë#Z|+-b>#|r@E?}!@a49 =}v~?=I)zu_^?۪EВloߚ z[}z Om_8l_A+O]tKOv!z_KH^?Z _/oqoIozWNNGOzh//KA)Z|_? a_D{BO4Km[_K!??D]cʲ]x@mQ_ւ[b/4- TGAy_Aos\RKm9Σ~rAvZ SZZ]z_?K_uN=~?A=/ Mk륥,$moXj@) /5 " Fq,% ă^ȪKzׯP5$_㑟_% J!y uA'.z_]l7xG:,KK$XA + ?m-ʿ޿/?! !imMK_zSqAuZ[pM*@X KnV-O&/_i/I1A(Al1ޒ c~}ADqzǢBE^DjI-êXE۞C$hJ=~AN#=[O ?a?^1A&a.r$6R__08/L YѬ56ta#@P85Aa:It .W`+K0iR9ZbK8 )2 AΡ<$á93h1&)-X :J`o=@m%Xh4 ?KŠ,/AA /pX/tUbFD $fARRHZ8TLj5*4t8)Q)uI +B#4&ISB8!*5(!ЈDFDDDDF""?twF"wFևI3\0꾶MCea2AqegPP\ 27-"Z}7t(mB2U7tPFGQ) {a|!l*΂M_鐠h6nn8nRM_zO8$x[ѨǺ}/d\/^5$#RZwy]>:G0gY}-[&&/e.ME Ո I$R#i/eTK'I6E:ҽ/{"Cͯo8C/?6#I/rBS#kI?m-/PDF9gAο( h?_(Dm#@IH}"VA_#k\9(0 g7.+ Lzm_AƓZ!t4`bE_^mjjNyZ"לYmƜY iI-2t*hT_ + BP'_ok55j_3pi,.Tqs2K>:|)Nҟ7]!Ms].asq*PT8*9 O_@/|(a^QW}'9B,7ߜIX5'0 k?d@m3c1Em-G|ZD)=)mBti >qU8o%L1])S(3/ePr}(eVj._:{)?t~Kn~~T2N_KIkzK\_h+]&U[ )~*JpD]\_qZVajxm13Du4DtZOǂ#ZOtS.V#y$4t{(?Q)Ec? aKRT'.>z_(ug&UŽb֗K9ΓtuY]~58g?Za|2#""~fzI%C\bz_v\S΁m5f#9/XJF` $zh%"=izMKok]iK8%gPk=/JZyBI_20_Ŕ1^?~umaE~}Ďg؅JEU $ ]o_너./"?]G DYvPg'x@ +ZeV#3f2%6AkOD}\_/z[֖k~%֔i76>Ij4 Ik:LXI]{U^/K >oߋA E?=RWKuCײAAB?TZA0WKne}<KIJ"Aֵ+ѭV}WA]e:t]x@AKto?^߮Xk$s? OLZ_ NG_z|B +/~z`D0W6 ++-2<ԁ Ukejw84[(\KE$/JB.B[z_? ΂zWr$"?C_Z &T΀K<Ϭ?$ +?=?PimR/@KM N3Ml;o AOW"Iil?G-?.r>_oKe_ЌVߠI; R3/KoKm/ D{kV+J<- ]7_o%z_~o>J[a# _ㄯ7/o Bb+q$Ml4/& Uu~һIq vk|D?Ri7 8Al5IxyX͆a{ZI$jK G^L"x_DŽ Ga.rA ҆i*Q,08[,>h,as )L˜N3L"MyFDeiyUdB"&2.  0l 6pa lPI`dNaٴe(l6l*,v&8au5p7uLl0B*DkBn:AIf *mpWqwUL4O& 6,a6~]$hQiBA)7£S։ +/PoaPQʶ0a"۟C謸&O s.:@ou6#0n|huIys +hpնPu c2: + 6ZmvoY\U[ͭzu__k]$̭U=6(DaphNj1qű~NF{8؋_4Aޗe Bt:쎍9{ߥӜ}_Y +ZL?K޲_i~PK!u5/J55QEs?FA#i(u0 ab~_ /u񇿜H/^NxJzT4ǤW5DuOнBIˆQf`SӯszY(}B i$$.+5.+S4)p4__},/RdIS,u_/zfk,<:_C`2gBלYx6u +@0'[~hpbsN/g;:!].:eg5tK#VtI+=ѫsC7~JG9uΚŒӐy^"/t/T2aDE}j["^HB 5Ce +U9ۊϥ&ŪGP驀k],6s@50 kSI/H0J%[:eqf:g%8lᩲh:u#a^F.*%i{G +Knh8;'W5k ZL=$j>T2=_d( KzS'@먊D~zpVajߠ#GZ/AG$#5دD[uy$PD_n{(?Q]kiuײ<־DiBt]i_8wZ?g9BI J/:YtPXbgւ ~aה_,FkFNv}}s#zSTOϥ#zYl_]/| I|ד_WC9_aoF*kk%א@|2M~ KbJKG[u!A.!WY 2D|4KH"=h/~^ x_|+/k^ r@_ +Ë#Z_XХPiu?Z_uEd?X۞p/=}v~?!:I?8?pVu _A\%}/?mCָJ3_u I|l)ʮt>@ +Zt֢ORׯ?_2|0H$9߯Ώ@$]z[RK K3K/0ge$Al2Iu/_-,i2}~WHdK+zzүۭMQXDz^.Z J"URU_頂V!Zz$s\RKu6:̓XA ZHW-)iVct[(?CY. Umz_(><ԁ/R_Jǚ?BgGA jsKj?*^B,"|]=_k(_A"~\~B*x0~ICKA}/eKA?mzHAZ~A("=\i6z_M~?5ձAȆ~_bӯ_\7Ny0/ziuh  R3]󩅥K)mZZtߥAm/8;מ_cK5Ko&'OzV @&9"=a+ $萿- N__"0cI6hO} tHI}%S%MOV!4w('pz=+F H6eL=+åak hSTSa%a@^ ƨHA s~&IyB .g.l4$ AC =&odPd0jl5=?FoKs {k#[I~~~}ѧFz쎍:3)t*?ir+57IG[h$ސ1 !b򅤒^?g^F:FA7C0釷C=$$/sk_cI d5J/c/Hޖy%sz'F`c!񮎐,5_},/RdIS,N@A?yhg?H!uIYO*g}b:E~DZq_g >҇0<)>}yő^Zqd?]:j=*bO:kV+=Mѫ[_AK89#Ӝ5%te_m3PC xAi#EɄ:FjߎEנ 5sqWi:EᇪV.T5(=(_g#O]&/jI4~i{G +Knh8;f /%zΗ'KKn~ÏKz#_W^ҟ98*]DT}#ֽ&Vat'JI}#a-_9zGIPg }Z^ޗ(Pkn*W}#5B0KJ۫J/ 3P*N+^VzM.fײ "4?5z +>yP'_AuzZKg9YCa%t"֗_z__ JY>~}/t<)9/f"oz. yVa //3MI+/*^&_RIkzT!$ +_ב5"=h/~+рk]Gϫ"?#cL=.q֖EXХPiu?Z\r@ +ËXƽ/_~LIeZ{>[ $g%RkifICBO<_ /\U/}|?}{_ZUkh V^>1ͯJ"*mQM+ZLF_Koҽ- KKA0?9k$b_K_u=Vg9@PI[l[x'Z + ?B UQ~?AP A!UQTq%Ah Aiwm/ V=<ԁgG<ԁ(=V ++KHXHHk(_ky0~j?*֡-"ᰏ`I7h+iuh <[)=/ (ryO %&T΀/o- Oo ulPA2!حK>tʏ߄J$H3<=ehP]+K$1Hu~TzC7N R3/MlJ1 KoM iyޖ/ )m}c֖Na o##_i"#)gi SIoKåmK`g.l4D$ AC =&o =a\K΂ia\cN39Rݔ Jz 2AW#Ndk~Eo. :p[6sʙ\(߶l2祕3kVW&ayeMyR} +͂~EXs`YPiΑdQ +L&Oa _a=Ӓ4?O~)7ׯ_DNDt\tt$ __Y +\CLۭGt?aWBu> CgJa\~DICo_zO􍤒MvKKA6{I:M88O0/aNeKeE4657_SޖzH(O`_Xi{h/?cq_8DxRбg9n?$俄GߨM0tHk|X=Ul /7便[l~P^:_G/^_O_$UY  2^~:Z (Kn.KzbDd aK' AK(?ƿylg?Koy um_N_,K8(=,}/"`+L?"?{DΡ?ο_㲧'Y?GB zF}˺렴ihe>SK]zZLzY "([xAl?^yi^JoK/egKzzV~|:Tk?ޗAΓ뷄e^mR@zV_Ua*_[oe_A_ t}EZ[xAm**ץm[T]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)bb AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiߧCY.=VrMEzc#K}hz/Lk_/A֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """kETvR0YKua),g5#U2'6eB}>Fgc2FEr DtȞt MΙ" g aÆ3E& l2l ϻa᳈ ]epe}`nI[m‡DOWLMwT +/n:ͲIg +lZ9Z|-(O +P0wFօG%)@7SIBE1DgZUM2P:wWs=u>P\0겄hm~\aeMqiv&(mI8]lpM5yBW!BKOā*ZT*gۭsKM2y;DiW6c"s}a:Q-v~8~'[רnmCgJaޖHE /Iޗ[HE%--Ai'Io~x@"FO${Ϫd?{7 +"R,aNi7M\ l4EƿK}"nIƾoI4֗beM!2Νp/1~,qK7(Ƞm_YG_/OtB05_ φ}@t@΍RH5qtB03^鐬陆tjG΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuXo(98 ]KQ9(C!!AD01쌏죜sRWsq1}OL1])S{*ӲGu 6/+8oSֺLNOKx<^⟏[~z[5k/qKICA?K_f_{]$E"?Jr=jst}t{@9zG_WwI[j)c-'3ӓN {#_:H-'% ?EPO_IR~qlRZ^<'i}h4S{*gTK}*a IiZ^J7y^0~b-TuY^D PbK^/K +Z?GUu$@^9"<)hX}M0b-/I`H%9}.^]n|XE4| -KҦr]]n|XPs_1/K׿ (c-/ $K"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:ttz#`Hy  Ii/5rՔ/렐@׮q_/CCpi'i HBIimZqyQi HBIimV/8 +?z7iZ" ?1k9Bκ"  Z!$S,WTO޹t &.==.҂/Ϫ#ڷ5?Ab-&Wut]7 Z:9=-[_egj NNGOKޖmR"WAc a/kzZMA/ʿV/KHD4L.#:/ʠ+m_.#:/ KoWۯbAZA + XbKm&ҽ A ߲mZ--.="Bp GoSץ>4NAzSjl;M~ K?MZZd{!KKL-u/_?I}iiȚ#ղ/_Dt-}]%; "ᰏcTԡ-"ᰏ$*1+vP"ᰏe Hl#s⿄uA'*K㜎tZLA9LUZ~9EʙAl)2tVBl +CBǝGHx}uc:ӭ N&CeiKe'렛BҖֺ --a&Yo׬tI+^#ZXA"Z[r i__7L>wKI~ B a`'$Jkt7W^KI#RIlx%:W%AJPһA PAl<\pk%>֒ $ \pkIZOI0c4+`H;&DF>_F Ȇ,>*<ϗ- +dF4A/h; +u 6 \ zXtM_ /??G&>[cMa_F5Co?_=!~6?ֈ F_zxto6Az7IkXH_q<~ 6$h I'$h In )@i/Itfת(MBJl2oR߄$c!H )1/n VQE$痤_A:E$VE$7Yf/ N4f+ӔsN-(~ufhG>WZr}i׵kӔsN/ 5 1HNsm,Il0"=9PAaDzsidpG  R#Ӝ!B`FGQ9(X( P^L5"jhP@jhP@@K=PC {*ӲG"]%ꗄ /B%[~C'K~"?ix.Kni%0tGFR~T[pca4 KPim#G)P%z2(ejӿKK3@ &0P%]%x[ ?ejMmTa" (2 ?QD_A (۫vQJ_lVzf> 0IO^sQ╠^Q9B`M╠^ KR+[[I~6]|%>BApKKM&l }&I., zM_r]U5)/ JIMU"=izuUFt/bJGiiNH6!$m$ߵ$:WKm+m:^8I=+m:vI=+m:ߎ\^VJ .K_9(l4AXa҆K _Piut$/H&3In_&M J &F}yNE:!A$Hϼ DA$?$i] #>a ^."$H$$a^a~ 0z@P# 3" NjtA l/p@|Oo 3J0geHdK+pj}{_T}W $g%RKD IeqT3 + Km +֬GgGGV!ZԧI  +ֵu X`k_--A&)+t3 1I[4mH$%n+uH$%n#T%xTad U_I^B UQഴ _Or: L1"/9U[H%Z~pG$O5UA5 ?Tz_ M%?ZXAseL W'h#A6AryM.5A0Σ<1AȆd O`A!7Li&ޭf"IE&ҡAƒwAA@?  R3 #;I| #; 6/`/pAm/ҿAA l_H Dv~ @&IHĩ(@A#A$M_I6oi{M0 it m&!m&^mF_B MkIo H6a~A:P^:xH浔A'J0sZFaP N7ǜA$ؓ_a} ~I8A7= po $ pn a0c0aC^B a0zL!xp@   L_GC0@ALPk㰈 A v0@Af2B\` *hz*@hRT$ I A%lHAu +"?TDH#%drTJV-"I3pιUDmA~6d6pQӜhen(8pο4wdl$6v,g\ieZ g6eB6;a6~aNt(LZmޓgt24)PWy[3@?3<oa"@jdL"#EauP*& f5 c2H#Dޟ+SΩVqe~f"6B|8"0#A&aaJ&~3+|~>!y\U[qNt!i3+|pM4qd0ϥY1> 6Ѩ~8 h|{%~FᰐaI$4ԍ&i0/QNGFTy$kYC$,$L?KphQ>)􍤿򅤒Mޟ➞fVzI ~KKA6o_q?OIz!@mdS#> гaB.=' &!%6H I"uzY1!@ eZʳreaz](BJl2iuPuSP/dIS9 J<- !{D}&H?zjӋzס >WBPJIZq<I[(71HNs"@ՠs_FoV{{/IbeCuS*Z$(aϽ=נ# In Ip/6( P_W1>Jd󐴉tϡǤZ=T#ޗL<}NHImU5kK ?A/l/xa +^jJKn$\ zZ]*]VR*GVN/ &\~CK8j@]2 ?QD_kLIJ-R˃R4ʙVB AQ5WzAZhQ╠^3^ fײeÔ&ߥK KNtMAu(OYCa%t#6ߥy/Au!]/ JUf#tookUB#ֺ +M[gK":kZZS&3MI+G^=/Ji/Z&{~,Isw DvI$fWIXn,p|zV uIB#cqbZt\"<TWI~>GJ .Ҳ-L{fA>.ثHl| AVz^ԑ_ A>.ڤG~JF{"Y\U/&C[x_A/a.M|^{B[I$HdK+ڶ%]:?? +ֿ]iV1ͯJ" FA0BbA }}6A&)+u@PK_[aA%A 5^ UGImHU~?A]p~?_hD Uiڧr9Uo(=/5 !n %MA*qPM$O4I-5Z}gGҴ$O4T#A0-[x0~ICKKKIW'!6}/AȆi m/~A("<Qf~Ai%GHPA2!_+gz_Q 'a=R!NuH #;~:_ _ /-Jo/gY_RAH Dvoimc տT0A oXA_I6n ,-8_Kߏo Iz]H6a$J CҵIR x A$I`G5jA:PsĤXȉx(ai0'.%0 (oI.! + `I ,fW[r~ RGA\;xA '&m  6 Jj@Ko0?TAAL& -V$`((^; H ʭ$-Bj WGXPXJ)g AUx"# D !ڪhG+HDi!#B A)DDDE""4""""Qd*E%:2Em-Մ; dB"ȉGTA#8g\6̃لqjP)l0:k; dppl2Y6FmL;LNL^E4l2CmLFݦٴalLHh/ԁ0 AøDO-:MӨP2=izMPup>쬢%lΜ6}Am&Huj60{ >S"I/ tU UTh(P}MzAC|e;5XF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F >QVݎ2GW1~Z YPigR~3$|l*΂M߶RV OO9a~FtqũC?qO&$mxN1}v;Mwѯ:i0/Q#N?tkIy'ҪJ}WD?zxto6I7:L_CzDF FZ!M$?!_q?OIz!6Ha#@\zOBd4GD7 )kнBI$Qpo5[*=P d50W(leZ(MժyW*B!uI[G~|Ey:dʹS"\Ey}נWZr}i=kЋg/8_UЧ-5KsN.R% +}BJP 7t R#Ӝ_Ƞ5h"uG1ѫ[^6 +?b/egusښ$(aϴ_E撥‚ 5W:רd󐴉tϡZ=T#ޖ@HIm=TZR5kH鱰T[pIgKI䎛?@ZۄGZ +X &0P%j +L5:T4~h=-,@Í___ԃ0D[uy2 + !_ZP5 +0_} _ZJDuabm 8*LW5{(PF&,aZh,WײG8Kf>7[8}&I.5 TkKՔ&_K9I.iiAu_t$.}?uh&m*eVZOy"mͮ 먆iVr:_ km$#P4Vl=}+ZZS#4؄kQPY/oJa0HPD|,t?X>B~ޗI_Vi|t+%yaXqk0҆KƿҿoKl5i(ng ۞=:ǯLOn_~ 0D  &F}}9)I]l< a_Em_ D6 #> oK_Ώ$a_'MG l/+A/_C  |=}H_Ⳣ_ )<$`ei[x Mh* _> "A h.bM6TF{"q\U/&C[x_A/a.MUI#=8*A_VvA+ kA%I6c-/Ώ +֨?/6 ikg}bB…B(^F2"8A,(#BV D !ڪhG)HDDz$@aB7ЈG-t:_V7IMant :LEZ   PH>(:rhUemb85!?|az)Ed*ED-"**RXC D"(QN3UQPexdDJ8gy8*8g_pp46v,dVd"23Fim0wRl2(D#:FbӤΈӆDt gN>U27<(D#:FͲݗAYI$AODȘ42OCԘh(tK\Zu);h.F2ȃl#q_QA&Z.uL@ACF?AJ&RG:JL_a++kwT RG:JL\&M~qm_ /|{oսM aI$5o?UGޝOUt#8I~nmzH/A#i/le6Ѣ8. 􍤺ZZ O?$Iz{6K.='_ǽ">$c!c[jf G d5BԳD.qEj('uh"TAkӔsN/AD/83YЧ%~^ZqK, #Y3@9g$ ]NY.-idpG  R#Ӝԝu|^ʡ8],ʳB 5=P"_gUj(azHImN9zL\x>-P"?k^=$K_\[4B/*!._Kn$ K*]VRʯ0W~|~]%x[u mz B<֙BʫZu(5}jp|[y> mz B +DtZ_╠^3^+OײG8Kxi~4 KR+I/Nt/3^a@>"?K9ή@K- akl  "֓iV*Իg?#6℁Z^i6oIa$#J=ֿeşOd.#4؄K5[l1iNG!?o_T>8AszV u_IW J .Ҳ-z k+Ih0@Hx =':+X%W] D ץ] #>>莶eqa_֡] #>w:?$a_'MG gEi%^$ak]%^5VA lb":Ko_A |6]Kԧ$ȖWK GA_J}IeqTV/A+ kA%#Q5iiuV!ZױLR _Anx$b_[I-Yus\G?.$b]PùD҈A +?gKo<._+ _.?ǚ?v?-gX$q/~ Mi/ i/I]/}]O֖A"~z+a[p3Iw O)Bl zT( M?m$_ƺ]uPdCI;jA AFwimr_KxK@]6/gүA&_cI&ީ{zI` _=&# mm-:I I-&# oXAL5H]$IKA8NGMM=-& .M,"~zBIl=1xb3մb Ί^ZLia߆ސA& $t$@#ZNH4AAuqivLIZh}*} B᷶a49IiH0鋯[糠q'hy>i0-)JWMn 'ٕ/՞AHKm&վoa#@\zOKlJy$tC״%BJl2KmjZbmKK_"dIS/Ih_Nqנƌץ~r}iťnt) H$J8*, :~P>&/J-+e1lԽuwssq +0ת*qﺈ>c}CI.KA@mA?T[pI/I{*VR7\"h@U ȴz~n=uPNhQD^F*`^p#VSC+M0eؤR+7)a0C_:WNrv#_M_ | PY"}v鿜>i6oxA_ 0ɅafWϧ(l?_Ҽ|Z[i[l1/$Fa]%i8 //E* "3Ք[ "I % }/H{O Z!A$HϽ/)Po*JaǧH$ꗲ%[utSS t=~'K _I#=,*CFokV?--J+Z?7Ԗ" p_Ao Kl IJ `&5A~ U "޿#$/e mk"HZ_?\6 M$- + +r9i2t+u}$GHxb $륚Y+&(:[( Hb-A8o +_  X @Vg?٨Z\BoISXAI6`kS_T!m&^mG:+ZX$\4oI/^L߂N68?ʖVt BF$ c{ x plI1U0&4jm +uBѠXdGn#-T}|>$n!P?%~KͲŰD{$"/f""? ,R2H"a4-΁B! I$46B#K>8`G&c 'ԵqD3UZZ a{Miu)6fapDzF'}wp@|GX) ~~#wLG}YfAG!Fi/C1DtDC0ላb#Rt21ek)%L 28"$5a N,^\N*:&A"71-ٴ=龜S yy^o}lC/B/yޚGEK48'̐N'AM~K۟Vh OcC(puoBn_6\˽o]vo@/J L*Zh@ij#I l\_jbAFGgo} B +endstream +endobj +18 0 obj <>stream +x+*T04U0B C=SSB!9WA?37T%_!+) H!$Ѕr\CN +endstream +endobj +19 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +20 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 92426/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:i J-6~ (ԘMHZE"2][_ղ'm$*:NW\zW&/`U}/;?~f5$p6BzKI&ڥkcѱKӬBn!7_Vf BhҴqi7KR̮mqKK򀡴b*C0 -Uv$I +^W/i(Ԡ/-az:{BT'ZzzD辰%^a$֟u +Tta!Kfn%io%KJi- ÿIi==R_kvC^I ð^nɟaAa%@܁AY Aaan""""""")Iz@~#X-A@TBm4K6B'́XXq-Մ; ;D$HΜ8g\ ; D!{<;/ÆuQ8,v 띔" $?Qpl8im0aݒ4laÃa4laÆ0-$m"}] 6"}]Ża."BͲ3 ZPoa 60{ 860{ 8e't#Ne?hA& +ŭ3$|{RG:JLİM?sa_J> 6)H0 aI$?_ ֓ҟT4ѭ0&F5o?phHk_~Z F_DGpA#i/8C~oj_*F$h IS6$h I_؛MqpIMCIzMǪ(MBJl2aJ~:">$Z]u_8_"dʹS/I8N~:JyW*sVE\#7Yf/:hY6P3^9?IT(֜_⮵Ӌ xzr}__!)zM)[(71HNsk[(71HNsidpG  }uߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%UO-":K`?@Xa -Du䎛 ?A[/T n^ 5KK4@c4'@,.3Nsg(GEi(P nB h0dXYYS(G ejamf9pjA B-x mz BW_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_I{qnr1m%AueIk6]zM6MAu41^f&/S9}.m*;CA7iV9/m6o,Z^i7^:i?_$xkZZS3MI+m$TXAq~ozr +^>z-ZM[l1ɀU$0|zV uI0U +oU Ii IW|tvPwAXa҆KBW6_"I % }/t A7O؎M2$M>?H&(CIz^D"!A$HϽBH" #>렒aWTzH OKI/eeLD]t$a`jZAL> +^$a#z:9=-H ˠ/, 0f0pfA4 \^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6SYȵ=s?e #^\ M7t_F V[8UW02@eMtI6 +3h߶6]L9Qh߶6տ~H5L&A<~+S<֜5S<7O {4?Mx_DNӒu\tt!&/:fqHtt~n  }@!y%0|J_K!3+ֈ-i7=&oK/Kz_փmvd? 6y$Hޒi~m +1}'&?6P/便_W]~1kD5CT4`u_Qq PeqO.qoltjGKL +"B4A>qYHѪINM! + 8RK/:6UgHBI5D?5jE=^AtUKHC>a樝j[~G! EpG89hE,3~#._|_}R(8U7ֈDڥ$1S=h>Ti9ᆺ_a5z~=-U֗:KȜKeVj?K~leNzT^^ǭNi?RUzjǮ/ ]} +JU$P Ai?C9_i tOq/n= 5# ҭM쩞t%IEU3 ~!ީ*O/怪G_Dn m$"<)hXGzD RD Pq_8DxRбD{GzD RD Pq@䴴׭z]7a 7[>,RM'h[}]/WuC~OM0$_Q W_]/t/?^G(aKߏe b @ߏ ?Ŕ1+]aK~Y  2!*/~J@\uF[ߏ+_cхt/I~v荂 0oAǜ/e?%ץC @Ք,hk}!θmK8( $A>Z[{:)zGk$PH + KKߚ uJh" ;*ru$ _O_3W wWTAh<}-&W%6Aiq~jޖ+]c n { Z\id~hdfSWIu]7$ ӥFޖkIJgK 6ZOJ+oe_AB?TZ_ tW֨ o j%i_$+YN AA}-]vEA]e:t_ + +  S1´ AQteBc OLZ^tA'e%RIteBk97 O4ւ@jl" +p}zXCMB]vx]\+^_?:5,$mo/^LlHQs-sa򪴴["5?(\k\id?[^?iDt-}]t1+㰺H<ULPpGK^aux(.PIKKV _>BA8&T΀ @?KMRhP]==# }+eTq6gIHxu#Q --IKTz[(BOZG+ $IN~#]7~VG/kok /!+ `x+o%~+% B a~~Uuot77]&KA!" Ԓ[a֓~I:W%A_Co7${A~L߃XA01RO#R]$1rA7L*H,G"H Lp, Ť d@!D1 a lZU^Ă08i"  AO H᠂`A0BB/ ) d`H~L-Hi-5)H&cQAЈDDF""?XDIe+̃Ev,Z)|2+漩Q:;)DviÃLp' 뒔BRKsRu3;}IÆuᝍ/5+ aQ t 2̓(xl2a%mL;nmL6d]Ԙ6 DmL:& {`Th2Al8Pi՝ƾȐQ7l:" UeBe' @"]]IMב%UTk 60a"DME$g;&s5[{ BA7 +M4Llu\0~,?RKRHzO!_='H-q>rkYeZmmM/I%IB}%D jY4IMC^׾qKh_u_T6E/C_D IS%HJ^Y_ڤ5)Ч/<K:v7:5I#եhJҦ!'^PM?5!SD$$g_-4W1IJ9:Z4UΚz\8ŒjH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*bC]'_' sWIs-)9 $C r@"Ј~\>(aɅZ zIP@`ղ]LZz_=h@g ~&ߒSqO8aY>m}ZDKoAʡ_iy'/Aҧ -DuPNۄG_6DpP4ɑJ?/҈Um]}&VNP +-_ IVM(  ᭽WZ[uZ^ޗ(Pnҥ־ƗҭM쩞t/+^SR+~t Ѣ"<)hXG ~U\%]aאE{h/6]|b_~m}]/MgŊI?便[B#0+G便[ֺ^A~iVK^,}<@ߏKW~,/Ŕ1!$"5 KbJ$>ߋ(c\B4^_:5>K ~(_Y^ZG-֕|St(oX?%CmI/X,hR(l4"Q-/KKȠ+^pu}v_KsD'\/ P^Q2RΟʜg]$@}oƂK%@_3P"? &F}E4"?:/6-&W%Al?5^恖Fe9A&_a n?t{+8I a˪ a˯_tAA3 _z_ t|9i7'-R'O-R_Ua3 +*w_B A][kDk)[z_h VJKKΈ${*NޒIOޒ_x IJNO֟_u㥶^XCMDAuIQW=/^]A +?: az["5?(.p;[zk?i}J.v: ;Aࢪd#`Ȓ~ߪh]Hk!l?Av㏐k[z^]'QAiuh =Dy/ /)b_VHbK_1|Go6_]6 }a+ uL(!?Atm-k ]pAl_AleBKo.4:io]p/ c,$iio  dD Մ0IiDBZQ吩Db; ^DJ^V-(8e' ιUDmA>K^3v$Wl0/ӆdJ6v,gTD#R`6im04kL H NFش6Rpك +a"7>Y[3@?3\RAPkoa"@jdL" & +NB%SY1oA#IMse8U#Dޟ OAAF/!F.*}>{Gt2RU70a?oޜ5#?G M 5OSL$mzH>;D K`($-/KeT}#[Iu^h76/BFm%>QEs?FA#i/Kt:_RC.='iO$uߤJ 4IMCLW^_-hAe $V"r-%Ly *q_}zKO,&LBN/Ao RR}i΅>}}Ȱ4HCU)E$G]"=9YVߠҡ)r:_tS/_Ks9txJrBI(|8 P^#AzYWB-=$( P_=Piﺿ%=K0,t}>tT"]%:"FV_SJt":#AT4:&[Z_D^XKue *xoJ4uK]}$/_5Ze:KZ^ޗ(Pknʚ#?J= 4GIw_h,WW?h,WKM.#1_uG QH +Z %M_g[a.I?便[Rk6omdӑt:jGA$HϾ6NR=뺺:? 57YO |=gE/ {KMxK <6]V%K/0geX[TPΓ~A60IeqTZV/A` +ZIwh Vׯ" z qK +u̓XA ]}z_]R_xTmސkˡ UGY5A11#m\R _{iu/@IuT& m-\ DS_Z 8e/K˵QA-KA?eO< `_Zm$_ ulPA2!ح-#xi|1Hm-  R3uү龸U_ / A-R8JWGi6A6ҰGi7ƁXAiiM_ 4 8zMAi7IR.ޓium&I'a=&A4a]^^LM)'J.x 9˛ 0AE 6A:PX- l.>2S.)0 Ae|8cJAA& I8A7ai2)m KK8$c JjĂ0H0` ֐0JO.0 K 8a H ʭ$-BjE!L` (XZ0ZCA␌$kA!HDDFkI@Dt %!BWdtd刲b)n!["D5(d5(g\6̱h6s#L + :(}UGg.rUxpιڿpۆDnf% av`f|0Ue(AUP6 DmL2a0wRl2Dݒ'. +WTLe' 0#}]nˌd uwFkoa"@jdL!NB$iB*p/PoavSXF0-tAշt&ej`2za^7\0p.tWz}F0 Dma6 +1wW1? m4xiWk]$̭TL&OނߚzM 5n,m^~}D?za oK.;DN'^&ۤ>?Iv}}d`+qi0-)J߄oҮ"H #i/TK}*r!GGY􍤿Ii_='+E{CMA<:-q=/I^㾒H" d5__ *"Ď eZ_cI d4KK]/PCD_ 9SK8 Ü3g8|E{+K KT"Ta'^(BΟPbqFzUO]:E~DZqiCyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^a^TK*fO[>ӎw΢0k]/tT"]%ꗄ}$҄Jt":T4:&[l3vU QK#A?P?үo%jsb*>?IGK#/ O朜[W"kKZe8ʪ#?רDF5$_^~֗ (۫ШEZ C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0og%UNUޖ] +)SfA0d }:^Z %M_ | PCm| ZUʬ/'XI_uͯ_]/| I|kH?PƗKWKg@K//3MI+A,6(_5q ^~KA}mT]?_a$ c_Y~,4"?ֽu4)~6]%￿h*?9^# x~h$t_um=oA`f=#>>莶l)Јk=?L #>EBl5Utp玗 >(W4 )% 0zmuukuZ,00uZDtB  tŏmm-~A6KZ0IeqT" vյ_)uk_ .ׯ_ׄ ]~_頂V!Z՞b)|xK +uevx IJ M}z^p'| muЍ,i:e^yt!*Me:EkoUoO9?#% _DGK~M%Am%ֹB]P-KW ?T KO)Am׭?/A5]ՠ +A&m$_}M-( L|1Hm-uia)P_k A0|KTK_n[M i`?";I ##_:$";IQK1m&/AX&_1 Z\HHm$I@ީao z 0c8J*Wh K= 0 ͨ _9?0 (tR\,BdDiaq =t ڄdD'36` "l t9ޒ]CJAW8A74 &# IH^" $DJ+b be)Ǡ0A$ؓ_R r8`Ҭ4!pkH%'h1 # H-@KаXBc   a0cj#@h|4 * XkA Hh1 mi *BB 5$em!Z@RIj +T""4KXBN"CBDDE""ۈh(DH;.34 p9tS4iBI\e;)'gU7t_F aN((fפf ᲰA[Yh5| 5{*kL9P?ۤ??vwM DZ]17RV_JL&<~*w?M2y@?@6.q/hC .蓴I$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RU_ls B?#IޗTa9 𗿥a:7I~m~p gd?WFiyi'O kXH$ҞIۭ?_'I&E'ƿA04zG":Zix/5Sd01^lWZZ)]_áӪK9{lW>+8 BKCUlyQ*y0- =m$hȸgF$p:!SDy#…ijE#=,z hzW(֜ZP&BP_/_ WJqTZ##{(3>M쮲iRMX*ӲG"]%ꗄ__#֗8ץz[5kN\57X]Ъnծ)ۄGZIzL(kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTtd/t@7ǂ#ZOL6[+z\_jZ )"۫ШEZ (A@kGêiVT??׶Z_SUDuL8A)-/}h$`/~0~b-G- : JۏVc%$ץ[:Ksi/& G(}/ !4ub-/I`Im=tK^_/ݭ$~}/ttBKJƼ kyX$z/B @#;:%i?_$xEp tKB ׮:ۣ ۺ>?&+рk_K x괶Ҷc_{=@aShAǜ/e#GI 4"?J .o!θm/8 +;-$Aicj"iKa] !|$A7O9~ 㲧(YB\$At _CT0zA Z!A$HϽ/#Po-}i2OD}Z\idڷ?x^AA|aǧH$ꗲ]Z{_Vv _Ɲ*5K|I*KB$`eD[V@zV_(i-&U HK }@G[c $g&R85V--CO +(\G t_ + + H+m?%ʲN`/A~?--J+Z?1^Ah*#Wh>y}0AiyKm&!]+~?H$%n}iAh AiwXCMG+^_vJ'?^Z-L8X/үAm,_B KnV"\>Z7-IŘ^/OpGi6k/A(Al1o?ʮM~$$ adVK1@ &l/ Ԓ[aҔ?}å~T) 8~T)`ǎ })2 AΡKih<ϗ '&Ĝ # Y"ش_5 dAxk BT:+&?"NHB8 +H'j3 ]^ V$`(4t?#C [P#HFO dj!HGhz*@hDb4""")#,DR*FB\-ґ; yْ$0C0hE+DpaX*ӲG"]%ꗄASb/'^zZOʡ[pI/IAeiZ⟏[ -DuHD}t@?DIU*>DKu*dS p=D0[W"ơ5V<[!3B3Wx"?$PDD[uzHA3ӓAREWQ?#_~t5F'_IR}4+Ab3rZ />EC+M0eؤR+7)a1"Ϋp, +^ ~4H*l K|2WΒbKI/KM/}_5&%jI|kW0!"9}.m*ͯ+K*y𐲆0/3MI+͡l4/bJ|YׅN{D.! +/+m:Ei^>z-~?W]}sREt?ZCa_6}Ii I>  .M{_iBH_ --M#?NR*/3^H AqzI03KT! Z!A$HϽ/#Po}'@Q9DK-?@ /A&T aǧH$ꗲ~rQ}7izf_گA$`φˠ//tB$`eDik^zz_/R*׏]Z$D_= _I#=0*C6Бjn`y=Cxx@AZ%aY]c]A0B=C|z+^z09:~H$%n}% ϯ]{jNxPPG\ ]q UG/ qAe^ʄ߯KgG\KA k---27םD ғ\ =&‚N68?xA0~A:P^O(ADn@.E/ m!$ IN=kK\>ZL(A$ؓ_a,]$ { x plI1@Av &ZH.8A4Aj>ZXcaP^v֐0@ :W}%Kh0S a0cPFkH )f A5#ka0q   [{CU +? AVT, F +"GA@BPFCH"V"CCi) +B=SCV"CB"#AH!DGM#-Q +`u{:mM WMnQ6je(iO$tX!lWջk/HjOZGЉ"W)UpKҋJA [5+:N=C@m}75kq~6jH^p#V_Rnw;?a0[Y Tƒ 0aQJe:}CΊ}? G΋.p?RΣ^-.y=Io ya ~o "޾/e mk/ gBI]-`}tQ I+n?k=cXK.!7) H/:+ZX$\4oI.'KyRBj΃aHԗbKda0Li4Մ g1 hc] p;Aj"!EˆB1j)"}G-BU-@T%"%NV)In4QEcIh3F^,ETDoo,,hԔ霏;ϣ?GH3DiDgz%}Fh;2gިv)⢣FVbdPE߈ lb M!!")lD&dtv7-؃@-2;>H G~h2#;h#,4d +gHKE謼tIRXC X(pib)68:46S D0 {v"B"";bT O[H$m.$v;O;B$f}\>,>#,#H!)#Ԏ:<}R ϣꏣ>GTJTm*nntOƇAB"'gֹ*g `п16>f@Eii6o n`%cqPn +΁D"&;)%h- %f`ZJAދ&aS4Nv; z."oz ͪsjvGdq\#iI䄫*o8EY[>oJPxN #:s'g}GNt}$U MGm}zqx⍬qO+\l,&q87MFxc"8㹴=#jaol]tW67MMt|3aةձzކ;I>؇_'}}qIGDZ>BmY#H2d4}YD $#:.~G F>.=BG]uGpGE #l|zwFG|P0@JD0R81IaB`cň- cln"ЈƝww$jL5|/ mְ _IAij]9đ/Ψ:6yuG< 2B>E6Gj})d8%mMPɳh>gTtl6a0Dv}GT}8i6ň4ll\\F1D- +B#1 п{u X,CEqX`ٜ`ЮnD(+{,bᇈi6 yϿKop x~^G\m N@ DtaP::6#GT":,^yY^y)yGҥY`pD{s]*>#FYŸ{.(r 8hãj]MD"8E9C\s{}YGh +GH< hsժX)GW v/_A $"ukDufإ}^#a%յKm(Qv8IlB^.Wb XB";QlXa\[[[_m[[I,1^+  {cA[]XTb Af)v! CuYS" ;NdG3PGGa&<*%Gw0;+^mAi3P1"ǜG&:<+H $Q`vM+}fÑ]VW.S#4׈! \ax G0`A #KaXԭA0G0ChGetG@g`(M8">#}!Fq!qi DDmBBrűmƄG^wm{mͣ鳈>#I @";=}YŴ]<TϢ4ȄGT}GGc0ϣ}Nydgg#"u_lDF8ax"""" #8P!q[wwb^m}[Qn/qI$bU6c`1An1A1l;$GTHtBnqVo>TAGa-}#lIBym0DFuD"c G>ꎨ% <4GVQ(BjGT}}GT}N}}Q +"""""#"#A%">Yި"#% E@diz<ͳXGTFJ!(D\DDDGqN\\%ȡeig9]2SFِ" 6gd08ƹj)CP辧dGGؖ@G7cu*> ҈rQ- +hꥐMc$Jѐ[DJ62Dapdb ޹YHhDQÆuy,V0sDA: :UB-\2(f{pʢe(l6 6ͦL;`lwdl$6ldl$6z0GN]0di7iB"]]Bl;Dwa"%ޙ'pg0ŭ3Ѩ5PQ& + +@TgM4gM4V.ɘtU7t^az}FDyE7]h]H +"v:L_t +Ik z]1uH U oK | z^m&KIiOVꭇ~>I4kL?Iѯ:&i0,#NvSRտ^to6&տֈ F_pA#i a0@:QQDuCQ^Fn_q?C zA bm7CoR )i/I=PBoSd01m@ +P d4}v;DN8 6qe^I9:ED"߽Z^AAA +hmW + G>҇7kY:.Qϭ8o]k3GE9I?F"痑ZtΘ>&I8([(71HNs쟿Pob_ۮ! +0ת.L+4-M\_ +0%C uC WJqT:tߪ^ >Dpao<<-"]%C'K?8ץ+A=V#ca4:ll0":8">GY?I*EGȀT n^ uA!3P ?@T n>I ?@T n뮫gǂ#ZOUGAREWQ?XPA )"۫X)rԃ0D$[uz_6TM.JXLܧւA ϣ4Q~?~FaVzsP#ih,W%#GUu$@h +6]|%>C[+b0KKM&l mI /K $t"L'I?bп ].6SZ &F}yN?M" #>"?Aa L4D5?As:_L>{(f"*_  0zda-pAA A&_tj A3 A^<_,/A 6]^ 0fahmyxA~HdL+pk4G~KF{"a\U/xKDRI쉅qT圿g":K< ^S׭ +֬.ZZ#A+ j 6J+Zb e gL_A M? IJ(Ij IJiS\m@~V/A70\+'_!*xm[_ĉ*Qs.sKUKGA h[t V붭i{EPP9#; ADc^pM$O4IӜV8 DSD1LSPb""?mzAW' +8)zA\S?GA\S74^i7醶o/ZdI2?KPA2]w[~f%I]A +5 }+@J4W$1HSVq  R3 yMzZ i`+ Aitߥ i{~"G#GGi6k/ |!۲%V[ A Mb, L:o?ʮO}zI6`_#)WMۈ7^Ai6&:aP(a]A$IQ?I$i6-0+_H6awk{Ri\ =&‚N68?"$~KZFLzL4ֲ AC1IB`Djai2(tbN  rY$ + ~I8A7 T&i<{Z/h;pkH @ +1 6 KHA LCh7F#Lt*B8A HH ƽEX8ABD@AUk `A v0@AZB"(!kA XA AGA +ZhJڡ!Ab""",dI +ˑ6 ["VG}"ȑ&4Uxd C$NsDA+;(D#QFIxpθEk-QIDf>EÆ80la2f \66 6ͦ(eDd]dA6Qpi;ܷ('TvV#_Wqd"nn."B"]]Űp2iE9 +T@UQA*ꏩwFm& +qjN&> lqaʳ'Pɀk +em#2ӠzQA&͋( _>KMTBбF*!V17W$sMU9!FnMe|:oKS z_~ 6Hu0 J~T6izYZG}{nC ~~BGUm& 6􍤽$~Gu^7ǩh*MA5㥥='FHː_NkƓւ!CQIjA )j;#xBJl2h7ǛQ[E+K-}fq sv8f&H1s< ap)M`YZVH$LBN,ti.Ma0sN/L59cFJ?C[!VJDzs(RIGaDzs`|tK#r8hb +΋jo3I,gPC p@2AgUj(ah/RF6ad 6qT&HIm^=$K 9C)u"kQ[ad}|&zS׆'$4/A??t8jML]>:"?=kO[&*A$j@,.> +-QhoODD}#ֶ+Fp#Z[uz_8, B-x mz B-)yrH=|l΂.,7DtI"]S:v+UߪOrK`h,WV#hpa0^ߠOoK#~T_^6mYH*I& ѡ56]x%@ $߈P +ޗRKJ B+)`ImDM[ ;t֗ZM[/Ntm"HS^O_O$0D<0DfWRmaFi %{xA~,zI7~}.?c#>EJJa & +<ץmR +Uk*T~q_} sqK(qe9*I6J .e9T _Pit<&P&PO=|qX?O,&$t }BǺ_f=#>, Aa#I}yI03_ǫ|l)o,EAl?Tq)KZQ'A&\/a~ 0z@oKC TU D}u,0@t-0[SZqA f.xץZ 30u<%_.Xaտp\U/Ab0xI#=0*) $g&RbuoA{z o&?z_ ?aZ/)An( VJ+Z[_[~ WPמ0zJ*EDi A&)+uPָA *K8(Cs zK Kq$AyOA +?lr҈A +1ZW4mR_Voe8H%Z[H%ZkJI, ̏綒[}9&SE"}4RW ?THO֖A"~i+$EsSGK!m&ÅMjA$I8zafcL4$c t" :JA@ ҇I$ǥI1t8- &|›td* NpoH2>CX po%A/@i$)z TK)t!PZq 8ZLH9p| 1;  LZ@ IIaL& 'H uƒ@ }!  ePxHp ): `ȰARupBBA$e'N*K PІ `RZ0A#A @ $DhD -& DHD !A .FH!B! T"AbDDF"#l0rOVJ&UuD*&$<; : ZGzH뎨c8pνi.)Cal)#I6ͦ(iʯ @ѭ0dl$6rGWqqwUp pWqi`Ϩ7z 6#]]h): +TgM45X"Vά:gM4?p#_]h=p6yE7nIC iW[fP*g@ϥY1> 6ۦ_ \ z_l}Hh֘~mtnۣ^CMa_6}hN ߤm%OZޞ)􍤣΢$h Ik_BS#4@mEH`c! &!%6P2}$-ʵz aJ~( Ks89:E#QckZ߽Z^rN/5KZr}i:5ny'!OMfhG>}Ι[(71HNskFI~[(71HNs2+J./ +k:4^jhP@-T5_2xyZDKoTK<<-"]%h8ۄG_UIV)?66Knpb*>SKK3@{ W@>I ?0T n۫HG2 ?QJ^JaN#Uig1ypjA BzX4R+F_,KG0 16aVz^lD +KKM&l I%]%$KmIVM4C!I~QmU֘?6m6oBI__iiNH6!$WOm4 )iK}=ZMo#4؄ah +cҶcUAA/N 7ǥmUײkk>GJ .e8-Y`tVi|tp?O ~{ D$tHϼ#L4~?BH" #>%b)9/ |=X3J|~t_ kB  0z- @?fA<. )<$`ˡ_AmG~K?F{"A\U/~6BF{"A\U/kPjΏA0B6ս X`kZJWYBH$%nu/Wa ֪4A UF8kTuZ.sKAƒw R3F)jCDjV_ _Hb^GqTߜj:_ _ ,oo i| Dvn%oc@iGi6 }[&֭ @&MۈބI׊UAi6?ߴ MI6oH6a釒cL=+H6a0PM]]+_H6aCഃI#_R5 (t?IIL0sZF 8A7 +-&E"RA po%W +B i"aI8A7Pa0i$ B  6 KXA o&u 8 A`҂ HA㰈 h x@hHoXXA v0@A^4ꄐ"BuZD##BV D (DDDDDP_?]BI0)F" h庰`AN򶌍xppȮjGgjG`HMQ:;D"&3"6Rd|fw' (lDnL3=eM d.p06 yFJ nSL &&\4BUM ٫ &8mh2 2ᢙF5t4ݧ CͲUg $"s$s: +@a9t"c۟CL0 9ؾ-iUF0ÅS[˂zM2U7tPOL$v;^΋D}G! m_nLVu\tC!zKΙ=77? a(G|/%{M?0#>z_XKKI=&K/!M?$6rBS#on5InRޒiJ_'jMƿ/jڷ*?HZZ1JbֈjKCA)L=:(q,Nοqi'XgF$pЩMat5>q_m$hکЧ.?@hThAYH<^t>4\KzW 9d5uϭtMtS~/o8b.HEA0@G8e #ߜIŚov_'R'8bSAa G ˟C+8oI|WZ^UO8ץ_ǥ*Vd|W_5i?kY_UxBdT?#Y/5t%WQh"?תWwI[k( t#$U*N+mR᯲D}A<: *ʙKR'f "Z_^u(A@kGê_IR~ "X "<)hXGzD UViפT8G(v?@_K: JۏtizL0a-gŊI0+izMK-#@0C.{m !4ͭb-/I`Ie=tב5`m{3,g$, el`">^G(a /}<=!e aD}d\0z^(\BZC\uFuY  2_oKB ׯםz#`ìPK4_A k<(?g ~hAźčCCpci^puAwZH KK--X\6_-,}//׿4A{S,뤕H_너.UEB>n6/DA Z4m-&W%9t ֙@\idڷ-}:/OD}Z\id׺K&mj  SӥFޖw׈ _Ɲ*5m[_KA)Z~ZM(Gh H1sI%_[J-h"_Ai%]mm/KHD4aW  +)=g + + H+m?iZZ)#:/ƅ9zSzZA +ޞ+{*N|=8`/: mZA +3ӏ-/: ZkZZ]>4DD0Wp}}k A KOF\ ưbM- Aa#kd_{ EQe86Y*KL- X?mk ,|DGK BWu*\x"?C; E4u i y!^KPu?㰺H<SLZM| =i_|/H X &T΀- OoZ_>AA$`TwOZC-?Vʨm NZ, [*=/&nOAh_ A7./i6?GZ[pM+N~#]7/&&Xuim 6Ov&I&!+  >:M㤩/+  VZI0DII*7/BK B a`'TI$DI-H0IJI:W%Bx Ԓ[Ί@CI:  `&H'S&F*I$jJ]sĠ( i\ a E*AL2#P>H0zA75B `XelɃQkH0zh$ ȁRC-& 85aȰ- ik  @"8">HAB80B $E48AR&v G[@hp@$a$"NF1b#&"1ڄF#yh2B-"1nrσE3R#y:t&8duB!yC%C:cYòf{pȗXUPݑOm}A-:X&DQ7d5uwQh6٫iF%Q6))@vén#UF0piIE AI`A%=hp Zpie8 [{ @wZPͯ黦CkןpQD&Q6ޞBn胫nMUu9]lm<:UTWoh߶6*ͣУ|4L=&!F.*Kͣ4xb]Tӏ05 Hi&zXt],ywޗ^R3>bޖ9!'opa-IKΙ?*҂BCmI6$-/)MMz^!^'JzI#h 6J 􍤒MwS^uAzF\_ޕq8%<:-/J!?M~0!_QHzO!Y&W}"OkjKI*H" d5/車 CH/HbGD01ѭ Pe\Ez ~I$DOha"'*i/Kb,%XHʟá[~4D*h3|6t) KO,&LBN/> +/:~uBIťaZZ~qf؄^}D4*h!IN/HBM. )$U:px~ +7 ZiHCU)p QHNsuϭtO9-œosxJrBI(|8 P\ hD?B.0J5os_Zu8U7ֈY1m:aN* _KI98LIm#$҄Jt":?qH3ҝ%kKRUzA~E]Wүo%??t# nIWAi?֒ +rZ[u|/-W#5ǂ#I jH_GiKRT_-.K-%Ʃmh,W҄%^ޖz$5U%I%CqWK.%UNUޖ]z;:ӯI#Sޖ]N$'I0-K/ZI?便[B#0+G便[l}b-/I$zZU"=izMzfe b @,I?!$YC_(c,BI^__3~ ??,BI_iuϯ]U#zh AޒWZ YHϾcA%X YHϾ3^I$#,Ǥg[" ւ-.4@OE%Al?5Tt/>( {t$$ ӥFm3 U3 Izf`_گM,00u]{U_ZAB?TZ_ t_ +_p\U/?Bp4\U/ &U #KZAm* +YN AA Zֿt@aZruBF. +ZG t@']=0AiyK +t|xK +uyqyV/zq\AtHs`]zc_%G_F_pW PQ%*AU_Npce:Bmk ,?r>ޫ_R(m굳XLcʄm?K@; ET"?_]o4?[Mko@ƖT_?,/![/K˵Q\*:+]ICH6aR&A֗ ߊ?}p < k&F/ !C|tם Қi\ K ȃ)s +B ҇ \|OIqIFjJ iATii{jNMEu~UNMVZHvLbڤK2 K}'&ɃQA@Lp, 0` ` +xq 685A0i` 8A0<AC`a K 8a H |4 *[ #h $Fk@A4?HЌ$kA!j *"5 R b""""""""(!ɹ+"Tv(R2RW5(g\""L(pιKFF"}ÆuDI(ȗ6ͦ8lٴÆ@U("!ȔMiPl64ݒ  +PWfTl*AIf *mpWqwUVs5[{ I oaB*iOZ$\(BIBG*23k3#Dޞ;N7!F*zoRfV*<4=#ֺI[mRޗi7 /Ϩzx 6(Iz[~L?K6uE}d`+qi0/oސAzFZA#i"ORB:(yGY􍤣4HzO'$HM0q>u}Dhi:i$c!:$-PI$c!CD_ )S#a' "T Yez#d j$^BJ)r4LBN,LzR}i7zP&o RR}i35G]"=9ΥI=_XMߠҡ)ts|8 P_0AZQZ zIP@z4*fO[Kz7ZDKoQSַJ=)[pl3U":?#AT4UuIuH^ҟ98*]DT}#ֺ[z KnQD[u|F5$I_+ƴ/QD^UT^+AbNZDiBt]iH*K.5i6]Y&wh/6]y8+`wҭOϥm*l_]/| I|Փ_YCbJ5H6!$U]aFi %Al1+рk]+m:tZV uKa,qcFGƅ/҆K)׮zAO`V/I?}z_h$t rʦtKI033_u I|l) a=WAxH$9CZYO |=gzJLRVo5 1I[zްW K UFʽkˡ UGk\VZ__H%ZeBKotm/ V=SD$O5[~Km-\ DS_ֹB*gz_gi+K$1HuXm/KAm-᥺_l0lAK ۥ/0uejmgr *ߒ=k> + 8ӆ}D/}\Hk?za oK;DN l:UGڴZ䊾\~U_\uPԐ@/HKt׽._~D F_oo~鲔RY*S#PHʄGE::$-T&>VAH!%6t 2^ߥ z 8f"pY #,. X:/ez#dij$^UʜE~z--?8EBN/A|~ >@Ч._`%(֜\S@4.}k]!TʅG]"=9RVϭtMtK"kF 1HNss뮲T8&]'9.0׈Pg؄RߜIߪWB-=$( P_=P +t_0}>sE:aN*5_C/ =Rt\*`H?VzD_KJt":UH0|zZOO8WKK|"8(T[pCAۍ]$H[ @t}tKޔiuP@q}$DtF5$[z KnO5PH ߏG#Gb\kKejamYUPD:opei: Nb/oKAb~N +1$}%I/SR+ץ_ӭ:ӯI#Sޖ]j @A&ΨtuY^D P~ւ ~aY+"E$O_\?KJUN9& z_ׯ_Ur}/Az/E@gI+GZA=!e a/şOXAx~lBI_ϧ_ aYaqP Ai~^ߠD{_}i[l1/]=*tJGJk4_A u]lƅ/҆Ko}[ $_?9^Ρ ,KKsD'\/ .rz[h_넒J_=?zF}}9)I]l4 _Z.r63XfDL4o#]}Wnj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_[/j 6Uei[a\U^/ _$`em[WK #KZAm*h!G | F{"q\U/ֿm[[J< Z = xkA%:/)A}x@/m&A0B}b+['_ޒ_[I-gL_?9k$b_k)AuI~ʽ_GIm:8 +N^]A +?6_i?%[z___h$9DԴqim[M/ i/^Bp Mk.>{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#SirDܡDOe"t8B"npn[<"nP;?E\ G7(HԴ'Mb"GRȫ +c}Qya"GE;4Y,E5b61L2 v0A1q ^}.>m bAmA7-|e;).)~ +{o KP>$6&}GTuG}:F"ETqg7diG}d=Df}>><=Gz#U|&O( I3C9#8q|蓴I$.ňVt48\cc8ڄKA'o"$3kmEsS668a9}G"(p#갊MPfsuY 6qFZ>E[8uGڑ>>'Ď 7FכX G~hl]uXiGcF1ROx""#לXb8E//|8 GX""."U#""-.":PX덶(S!!HC 6DUh6vf܈ #%`}Uzw`yQJuG";<)9 P莏\ͨ"@ Gfhc#sc I":mTmP!#D}>yhŐ}<#kpΈT}gH":!uNjЈcoEq[#xD0pr1؎"1C[=.Ä\x'r\% agvBs8ccx''JPVv&%ƿWa{h$""l]:0$|FJYbshv +0gu@GtCϧ>>6gGG}3G}Qad4}YuYvtZ#ZyZ,xFH#zg>!}&Јb8v c86(!|DDG8WzǡϫV[Xc k׋k⾩- {m֐gci8m/ttv]r_lkuKgJ" #(g#Mm֫I$ma [IG}tq4L%A:#H/ͣ>}idv~M2;ĤtG2>gө#":0 .p>:(hFMG }Ggւ6DDqlqD|i-0}'u8DGqq v8DDqWqp#LouNvi8h: +6(f'x z&'%ߺԟO3$mi&pjm$j߄ #gh4-l˙";SϪ8N(jm+0Smd Yl}=YG"F{KS:&>>Hڵ6KRBlڶ &$L]o䐰#?й>B1a1M;b1a)A}0f?LSa81 +qHlA+a ubm!HCn- l[ap wAAiX9"e*"V2A+i!jv!iP`n +vGJMAϥ2N}n@QGTG9LO5#hfo>>iD"ȄTyfDt]Q}di9YΨ>GL":(Jm4}+>Ϭ>Fk6"#""""#b"8Pp#"8ň0shuDEoaXw۱ƂB_m?M Nm -vYϢ3 nyMDP"#$FXG~qfM"TAGi!# W86?ЈE#7B:ZR 1LٷaX}Mfh[@*CűE#*ՍmmvP΁jBG>Bhf2n)VdgfG#UEaah:a}C$"4}_DDDDXB" }0DD-": zeaM‘uGTuG(A#h)g>;IQЈG DDlb,X.K"3DaQ}}+'8Ҭ;XGTuG4@؈2"""cng""#@*>>:eJDuGT}G}\DDDD}Dep\ɱ" +.V}&8fH2; @hEIR"+hXlPNahFJ|2)H8dw5pμ3^J█ڃRv JPi[E$dU06E 3** xl2aC f6K'){a Ft Ve'f:UMd@gPςd T&-:Ni^TRO.zS +bֽ̡a2(-k4UAR} 52( E[va'UAX>GSꪺn黦PdUu9]lm?GZ.uLMlKhccW2aѿmmh܁jh |j sho+`^7^5 eN&r }8jFe)#jm2x0ttSg&uU_H %lꭇ쪏SV}}*ȯUzWu$#(r)BRB: #i-5osT/`]lTE!_Q"S#l 3uM?6~I!_IO#BUX!h" d4QI$wq@ð>CQ8GY\=hj,pEEֈk1s$DOIP D<6yul pP -4ETSZZ~qf؄^=-?8EnPC$ێ5ZD M>.}&^Dץ}k]!TEG]"=9I8 j.S{u?XV)A)Ss"~s.#_ +kI/=Is_KK^:}'њz{bD01S\t$z/aY>m "80}cyV/UH0|zD +_KI8פLKpNۄG^C(?Kaa +H0I/J8]$H[PH5Y0 +뮗a u8 ~<IGKF5$_׏GA`ImkXKI4oaEB?UeM'/0H 6g$BŔ1(c/,yz/DgI+9sh}?# gzGVKD?%xB ׅB/oKD ?% -:=%a?ňJk4_IPH$/QwJ.ϰxVEJ$F=I'T $_>b=':+ˤzPп $DA pI]kG YHϼ}"+#WZPD">ZG@Q:G@aAG:/OD} _AGNA_1#LF9?_oAWAa&Oyl:UGImoXVGPFֿik_-R?}u  +_u< Z SABS#A]Д-ֹ_]A]'XE(CU73c]n[t\$[xk A0o~Dyfj%~0uVㄭ!:, Dvim L:܆qIXN I* -./?m,$iix6 K&~zaOk T!I :*zM#/I=1KރaVZa& \ h "'&2"z\t.x aiq&?) +iA>5IFjJu K_d(L4A )o%Abr&^! b j 0`Ça &]cj 0` ,pa0~GJXh5C@L]ސ"Jp4Lh4 *֕PB8 KaP UwI!jPA%i*AB@R b)hAA""0!(*6DDDDDDDDDDPB"1w-(-?n~̐rLUd1"TJF+Y<ԡԡrDb*h%'&&g@Vz݃%Cu"#j kXabayHDnf*E2jL"s 6ͦ)CapEÇۆD6v-pqD5uvJ:ed"ntEvA#WWua 6mwuwt@npWlZt] &H wZLtk )D˅ & +u +)Ph)>lm<|wD[wLm=/ :pPF? =?SD# zL:R)!| Q +tzMB]T֕yL_[iNI̭U i4&DԻoK__asYMƋuaIޕqzAI%+57IG[%?n>Jo6&靸鲔RɯSצPHT4ǤWI&ҽ'FW#BDkA`c!}BVAH!%6C }ni'lBΜZq,Tu#Ӝ??3EG]"=9^ߠҡ)qsI +B1)rH~:hD?B.0J5oUЋA{I#5 +0׏Tu'M&ЋB!‚ 5=qU8go/z"+HIm*` KITᜱ-C;L.=)[p$҄Jt":?#AT4b&[ZKT[p합_/o%Um]~)ӓKuEG qzL0U*]VR#-Wޗނ۫{Z^ޗ(Pn$M#Q5 +&Ze8_^ޖzj%Ʃmh,W҄╠^Ka[%Vzxc OzXAu$@W9:D WzXAu L/׭& (o lD_D@Va@26ҭGo5ͯ_]/| I|ד 2 GiV*Ԭ?!$\E1?$U,{ KbJKaGPƖlBI_(":>/ FP/@-:D~:Z +m:_~d*r:  ҶcK=K8tcBCaהkχYe8K % _Yʺ_>?AW/J4Bu ˆqL6?Z +M8=?zF}TDA%X YHϾ3__3P"? &F}񲜤zB!.KA$HϾ}"+#r +?-:aHz疟΋eNa/IsK2$$a_'MG %f. aˤ30/_/ H ˯YZh$`φ˯*#5-KZAm*N[{+ʡu_I#=0*_HdK+koӏBS +Z(2>#ZOv7[(hej`2*ToOO${I3|%iE!FZL_F&boc${I3|}mOSL$mtֿy:B z_R#a0=M0a-I7Ť+fAtL?K$^F lUG^ ~Of~D F_?p􍤂?N~GY􍤣O.='7=^4ǤF?$h I}& i$!?IMCI<}/ )k/1BJl2^G&H<|=jFdʉSWGZ!"T򅲽I/*%O}BE~KZqiCWbG>4R}i>m%JQϭ8opBiP>&ru8"~ʥ1)pOH& 1HNs:MFj(aU& +0NspC xe}e_m3PC xAoz+HIm I"]% 3$K}s T"]%󨩀kg0-/aPim#$&4":#AT4ncIޔiP%z2(DzP%q8*]VLNP +-QJ{Z^ޗ(PnB h0dCHN\;*~ )"۫ۜE$/ )"۫i ,Wi{z_L B-("?$^Vzf> 0D^  0+OD{+AbCJX_ KOJXI"u^K.A ѡ5 M^؊Ga@=^K. ֺ^A~iVׄ-&'*kl&ҭ*$IIYj}t&ҭ^O c^:_fW_M֟ƔklBI^ibJA^:_fW_D{_}i[l1/~WsS+m:?%"=h/ƅ/҆K?Bcz (l4 IP6]d_/K~AzW9M}c?XH&$M)_N_A7Op?AI03KT*& &F}$ #>>莶_3P"? &F}񲜤zY |=RP7b) fHZ |=WIQzeNa/IsK  lEkA3 O 6A3 _UGIm  lWHdL+pkAK$ȘWKނ $g&R~m5Ua3 +޵h Vg5E.J+Zh,W_%a$k4J+Z_s`H$%n}YB$bWPH$%n¶[}?9k$b_yt!*A_ U Tmސkˡ UGkA koA k\XA1 _.?i}J9m-\ DS_Ns ?T&TG DSDKKp MZ _V+fAryL xD PAryL nՠ +򟶽l?ؠdI2( .M;o( .M?m?V%I}ZXA AFvUl* #VK)i-#xh #;r+K$1Hu AAa{M?Am/ok iL4 .A-ep A M 0ž֗$";I.ㄭ! A MM A Mr1D{_,p@ &l/B$IK@ &maHHm$I'L> H6h/6L?G#A$Ir)m,B M>O0zL1$i6P<$һ9dR` I1&J t"FS"VqdImDJn&UtVy 3HhPιغ HW;D qFUxpιغ X䈃DV*"M3 +PEÆ80laT}G.pʒmL6Qpp46dG}LrmTE-EaPtVT +I]7iw +ΡNH (G"3"Uh$@UQ@Ltt foaoaFqB'Fl[(Ü@Xa9A.} ҶQ6ޟ2ӠzQA&b!폒< TBбF.*;t}^ۤ>jfV*t +bP5z_$f7wgAI,qS z_~ 6zqA~ߘQ䤒oB&m/Kmm&|&BS@_}F#Xj`I/HHE7I{zH/A#i"H#_B:k0 H6~nxiiIq&yFH*YL/:Fi7OMZ /cf$">$c!J>KҵR!"Hʙ*q rGv8f&H0(#@dSS^GЉ"bqlA?# <3r}iZ =9G> @FECWJq%ַtTu#Ӝ?M8C R#Ӝ I8g#)rYG΋ӫ$hB 5"?EE +0K=PC qԧ40 f,tA⩽M.zHImO C_u:tI| b/'_ -DuwOXIPim#_KnmgC@T؋A>:"?=kO[UgQWH$u%4a_P% +>!*6HG"?=j?o8^8 :OB5 +&&!D%번5 +&qt_R_!fa2 8 RG Σ^^>R+*~Z_╠^i @{~?Ka>zXAu4"T< M_C akl lG</5*a&EW/pV+ +K}-*"J}gTMJR'm*Y3MizuUJVGYUV :imMY?bJLYCAdAA3MI+6#4؄`D< ~f +uW-:9EJJa  +<ץmV8#V+>WFK>)gﲄ_z:8t&Pal46P OL//2[~k.ʍtA`A6 |MY^tC/0gzF}#], DpvI037 &F}>8_ǫ|l)o~9V- +$-( K |=bXE/ 1QsKC a˯ښӊ 3뇍zUA>. "<%}տp\U/EE < <$ȖWKz3}_7/ץ?aZq/)An( VJ+Z-4߂U|_i=a%l'YBALRV묡[pA&)+tM>[|7Ѝ,DKq( M?oIPA2!m__zXa)+  R3"[$1H[I| #;Vl t|tp ?^-M7 o,AK/Aa-{Xa0oa6, uX@&1ū~ @&ܠ1zMF%IBۄpAdxj;Mi7Ɓ]I7+_&mLMS@ &mRoIKAi6~{M4'L4ү4i6G:8$i6MjA$IBa8L?l &Lo-.aHA:PZw)1A:P*La ä$ (t6$E`ഃ ? T1~io""d* `I 4 + BhI8A7B,zY'H2=T Ih?ө 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$MMA(`^Ai64i6y&<$һI$i6aaV!m&c =&„~kYH t_IIL0sZF ސd* QI+ `I ~d* Q&!+Iz0A$G&@! `A!oA04] AZL!xp@ @AZ `0ZBPv0@AZ$UBF|7BXC  $!T$ @M"Q+J"BE"""""(,G8|~dTp)S!Dv_+C%C:vVFvO+"MyFdiJGAJNr)rXC pRa"}7 iiVIl2f{pʢ {)Capl6 3YJ +UET a ecWLMn$jNݒ]0d 7iËAB*0e@*6@>If *o\fh'}wZLtk +}!D@ Z9Z*9QFI Qi 'Ͳ6V8lUMm2Z.uLPGSꪛe p T;s +c)NJ&nIHQ +AZ_mHx5^{Gp0@|~/5.kߥY#4L&A{^&ۤ>[tvK"[N'h!zU]m%:Y:I׽,Q UkRB:-nnt!ICHW:U {)DJy$t[M?o jME'__ *"Ď eZ_ۯpjQ &RáIz^' sb,/ez#d KK^'^M?:SD$&!SD}y BPKuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?]u1?0tSq?8aY>mN9tA0tM:"FtK/ ?jkK(LIm#KIqKICA)eF7ePu/KK(a/Jҭ@UV U~{:EG 28q~P6+/x"?Ze:B#$U-'O$^#Q<}{Z^]za= 4G^^4^DA T">nK})1@K?:#: J", R)i:ӯI"~}N + KKK Oӥ#w.Z^Go-J!XKh[欟Ka'~6t@ (cKe I+G]2^y𐲆0/k/ϧ tKBAl1.! +/#Wֺ_-x_G-I]%:]d[%H _kχY9DiDz,h]?[AW/IΊpA8^?}ߥ!:Km pI~Fc3CȺJaUP M/6S_D?Qj rnj#5UtpH͘F">/sKւ@I |迫Y]/j O%f.ثHB* / O_t ~A6d84?At_k^_Fֿ{[Vյ.q: aⵯs}W/)Akh/BSKKk-zqV+i%?=8`]?ئ)b/_/F{h$F\ >6]֗SUo}!.M5?OAqK?I|ym.= -Mq~M%Am%r2\[*, Dvoimmh ?4cM_ 4 *&_1 Z\HHêXERᅬCH6a$ +8Ԡ!L=+.]#/Ί & i_5 +B ҇K% &DNk>zE> H0 a^ "'<9dVKiuآ3]^ޖ `3+vLbCY&# IH^" $DJ+b be)n1R 5&[ÎL& *AB,pkH%'h1 # H-@KаXR00q $eV5 a54Fka !dRRj !hah!AF1ADDDDF"?lW5FU"Kr3v+jVtBlQ0la 8pl8V#}]݆q]^$h(h&4P>?ToO֓oVB~afV*J@h\6a oK.糠qaZSꕿItj$o6&IVT4Ǥ&KKi4IMCIzMuv&T"Ta ^zJQϭ8MB$\VnJG9W7j]$( P^LYӂ(pFսBGGsG#H> ,>yGTG@GѐR>#uM 5 /# O6V}b8A?[cWG,:@!m̂@cua[l' 'NۿO`E4h>>–$fl<T6>gC'!^q#>)5$|hHD4pO9[Hc{H$&."l~F2z[?i^M 06#h:'V<&@IuD9P:}G}G_;w0a=FDD\%,|ſ>W>q|DDF;DNv":V#b"8Ј -Kyg!"DK3ݚR2D2C鰂"3lt}Y# #9FiJ]wg@q6yQ4M"+8AŠr C7q8 C8BY#"Io!y)ݜH X}8 #PaqlR ln7q cƅw0~cұ~dP3vdL dI%-o; #>%ꏣꏠAqdfESϭ8L8h`r1n}A>8ɺ6EC@s+iM䏮7XGDDqd1 lx\!^#kGlDB8.=C ĄD"#H=!Ɓc=N.Pg?!3<"*V DF.!lVڶ9tIoQlEkR:ISdi6ddHwМO#Q0f }<#ȄNyPDv}"]D(DtNA>D}a":)yTm)}U ꏣW#L/DIфtAͬ>N}H(p QЈGEBb"""8؍Dh~8":~] D'GK~t=GI*B BŎ*)~z˲첄ixA7~~>޾ޓxIpF^]Lf4"B":66NśZGGELGuDm\IC<Y}WDuM Dv")mSgy%Gmg(p.ظF@ 'Z'Ql]ZqqJ,Abh6#l(uu ^-QIǭE..Ňl:n.}T=inwt-ު6 ׵mR캠E8"?rdv}CRV;HT;kSD `\yQG #8.a,>7yX#:#>uL3Ϧ1ٚ΋ki}(FB#чAlA`er8W{eb}'"$ =8SjpACiu80A2;)bAX/-)1aňV0bh1ŋlP\4QXAj~et"""4KE|!a8ꐈ{`Riz'>X"+Ԯ?y^W #=MGGGq!}G=G}@y*)M,>7PDqODDDDDDEDF +"8#""""""#mc">#i^v]RMun(twg Tqj0,H#J泳E#d"#6FG؎\/qqE@1qQWлwLb*c cQ +"U^qu(LRMU%;u@MITvꥎȅ#>::EZ<ǦyQ})TDD[qDDDDDAqҠ&DEE` @T}`dvD}g EZ#>seB.#"8 uĎͶ'M #TA^WdtFߣQCN"4+#"""?#:- h::aGՐ4uH5#}&qLhEFdB 1bc5 x8dW5"7R5r22[3 גȥ6̣%Nm+e Gd3pۆU0ϲ +UeT2'p6v2[9JHFz0]iLvj部DnݦN +$6}A.]0di7l:"%LZt)8lRXC Q;5ͳC@PftwFe8 P 1kLuwFkoay>=oϯA LU]7t(m2u BGSꪛ!*ۺem"?Se8Uw!ejͣ~ۤۤ?᳹0tVc$~m#zP&ӆQ0#,'ޓzZI9 S:?|$rV>&&/UWۥmIz^}UQAj^"U^uԐJ 􍤴տ OڼY}6RAIrk\3u?蓴IڢNiծ7HW}",H落jo : ~Eϡ/EgS}%_ֈjh2 YZ\:h")*zL?򅲽yVm yTKANM! + +}BM?5!SD$Ao]?xVuϭt!I5e Zt&fG9I"& [~isKSq +IS9Is"Ћ ^B!pp@]$r#AzWB/JEb8H"0t`cS+83yS Koi}8qCr;>B"B"F:Ak RZO yƽ-$҄Jt":BZK֗^t*#/JҭTVRs7$DtZOcPExDKKKoAim?(AX_GD"I0_I.IR~pD"K$--њ(xcK _GT'UA&ΈtuY^GzD RD P:fzI%UNUޖ]}ll? q0 +_]zƗlDDD!I鳑XKI4>`ImkXKh`wҭ(HGʬ.ֿ_4&o e b >y𐲆4PXӟ6(":_zU`Id="P!@!!@ _~:_}>e8hH _EtK8u6}Ҳ-痿__ I//U }xzNtW/Pп $DA pI~Dc3CBJaDt]ga5?%6As}'@Q΋SaHzi:j8oW4 }#a<<" tj 6*?_گ aˮ?$Yb":Ko͡1GPFֿBp4\U/{_A muu5ξޖίG A`u Hx@Dk)[s.$uu}DygeNz`]=8|xK +u%¶[}?m{_S +\ UoG_W 3A%?m[]lR .t8PEΧQsZh S^U %:㰸~Q"__`F _*","''V2ͨT.HӇP„{ : +U *luAOD0Ƞ4T+n$h(h)ʛ_ToOMtBT4M2JsD# +h5!ik> +/NȊU i4ߒ=k +"5# v-&fBH0۬!5 66Ck~x 6b_Ҽs[n-&dSk糜RC t&>sYF 4ȀVaZSꕳ*O&􍤣43}ޕh ߤm%:M:QE?FA#i/lle~ |+m+$h IMzO.='7=^4H!%6t }ou_ߚ+ ӋJ9ҡ)qsB?LaDzs!I8~o*4aDzs~9:a=$( P^=PyHo I"ЈpC xe}Ԅʿh/a$fA^a_xaꕤKu0 k}`4nqU8gDKoq}ZDKo/ L_ꗰDpP4*+S3zIjKn9 #9i{G +Kni%0%AޔiuQZM&m*`[&T|a7?r@*]RAE(2BU*RD[uy$PDۜGB%L=/ejamu.k*aWi{z_L B- +$U1R6E9s쪽(P{{))Z 4%jXh,WW?[{{))Z 雔H0&0t6= ~aה_"A"b JI qL/"}^K.A ѡ5 M Jy>`L>0+Uʬ;+Okk6oxAn)rn^:_fW_ᆜGPƖlBI_(":<%XAx~lBI^}7Z~GQFi +m:_dhQ9[l1`GAzG-֕R\w99ҶBCaהk=p(AZXI-(l4JȿU֗4)~6]%~p-/_u ˆq $tGE{:8AzW9M}c?XH&庰@$ir7BZ &F}}9)I]l5AI03KȄT* c[9A&Y/l# |=WIQeNa/I/ey&f/1~ 0/0fj_֚ 3@uZDtf A f. xZ$`Ua3޵ONI#=8*h!O F{"a\U/ȇZ o\$Do[i5%a~ׯ'KB/ +ֿ]_M X`kVzKK\RA0V̓XA }e +dWA&)+uۙso5 1I[_P ,חBA6_Kג`A +?gKm^]A +?/|/ [KUm.QsH%Z.)v-H%ZH+ij'"nHhI~[Iz_ZA5_ ?m.W'eԑB#_+a[pA\S?/D4+V I}NPA2 Ka&K#_ ح, #;uzZgz_QZia)&0=[9. .A-yCMg?AKag?Am,_Gq^AAAX@A#c@ 1@A# Kh 1=+H Dve9 0 @ ) ix@TX6M&_ޖ Itib$$X6M _""")7:P  B M 0L< Il=1 ay= 0 ͨPAE/ 6A:PഃIi1?@ ҇K% &Dk>g.l4$ ACazsLxIһ +A~,z NMJQ_ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆD*H^`@ Xh5CA bAHa$0@ 1 Et +["H& H 'A HqK `0@A$-BjYA0D`AVI}P-@t +B>؁ DD|h1h "CBq+"""""(,FaDF8L,sZ%HDFoyآ%K 띉" yYJ3wL3Kck*A8ϝ +}B/ߚ+ ӋJ"=9+?LaDzs5&W7_{~JG9W7 5"( P_xFj(aU&-Tᜱ-umC^zi-T$t% -DuʬկHDpP4֒^ nzU*]lDzƯ/KzS'@U ȭj۫ۜG)5 +&_+ƴ/QD^F*`,W$JXPӯe,]/oe?+Ab3rZ (Au툡i%UAu푰VM_{h/6]|%>CJw5-"hm* \ JƼ JMPƖlBI^A >#4؄/:H +[l10.*+рk#ߎJaz6}IiCao}YAPcBCa_z|6>$toˆ}_N_A7O#>ߐ=Ixn6S^"?C5#agޗU^\L>x+xKI>W4 )% 0zmoXlxy%_Zh$`φ˧%_tAA>. x_NI#=,*ޖH-o$ȖWK!V% ~SV!ZkM +֬+u}e ^H$%no}Wo5 1I[_A!*6ּzHK5Є@c.A*{i-zIk_h$$t M7_BHkyL !Ј O)i{jiuh <rܛI4AȆw_ت`|a&D4 _ﴩ[$1H'tح, #;* CM \0kXbAm,_ Dvo+Vܬ ##._ҰGi6j/i6)7Ai6"I cBEhA$Mi6Il 0KH0.O0zL1$i6j0tc!i/5 ZA5%Ma<9dQ`  P Ai \A '&ZLD @aȃ w V1 X$ pk H@+L& CH h8 / 5 a0`&>$eVV ` ([ lAE!L` +oGuPL& X-ХAb""86@^:b[VLGt[2vJ)H>s#QO3>PBC!TwVK\pDuDȄEQDN~!y%06? d[3j'{Y8AA~p gWYQa?&t_~T&ҿˆQqKeE46I}&E1J{lr?%k'YB^Y_ڥ(_áKC]-.am$uED B/]6y:i~P_`%8i#`נ:!SDxњ_)A _Kri:tʙ_.V#_IR~qlW_,Es%-/υh"Z %X]ViפT:9_a h#z_vuM"kC_ǹ.Z^GKr߯ 0Ah |2M~/4 +K K@/ (c-'Y  2o}GϫKimх~:Z KB JKDl6u__|+/kS +_~H ZN>u_OX۞sD'\/P?-$AiBH_ |H׿4A[KoLuKm p@V yo?_#ڷ:?ޯhdfSK:?:Gauu5wϪ/z[ V?_))@zV_c6zA[s/6e_KKl mKHD4J"UR0W.Oxz_ ƄԱ. ]mKH A^s窐_㲖m ~o5Y *KΊ_Ao3ӏ/bZZ]}tC#/yu곗jl+ >/p i [j@) +mc|׮l4mu_iPt=_k(_2\6/m-_iH<a/ZA޴]l>vb*g@i2 9辖CB.4K_49:Cï5վ+oǝG!6i6KMl>u0Z^>Ɠi)ϭ-a&L0NV0k1_NDoJ]_ܬ0AIiZx(A +_=+mK!Dx__ߠD݈N + BEL4ߤXA I5 Ԓ[V!4w+ XEAIH0I,"@C( 09W` O#RZdPd0urLAAM"2(`&ׄEt}  +U0zQ[h1 5Kit8cJaA&u G ȃt]CK>{ Ai8z2%tH%i*[Ak +@ a DtD  +`/h; +u]0di7i!Xia6~:Dnʎ]0di7inBxP&Q 0Tk ;.34 p:"( 0ŭ3Ѩ5e8K.34 p:"(g;aZg;Pk] ޵PXF -M7t_F ++e\eOn6נ:5I#եNMB4A>q~NhѪI?@Th:gF$pЩMatZi\MU{).}&Q:)O. &LKy'E?. &HC2uϭtMzMQ9(KQ{*_H9hE,3~/ePkߜIœoT8C'99a+L:1>UN*DdK:aN*Dd!XP>qU0tMA/+5k䜾VZ^IO8ץ"?KS^%Wz]$S^~IU +A[E:61WP"nKI$P Dt@7IGKGa"?|9r ҭM쩞t%IEri:AZS<"9r ҭM쩞t/_IR}hH0R?K:՜pcU%I%Cl8DxRб:ӯI"}l8DxRб*:ӯI"qKL P.^"n|XOM0$_.߆gŊZ^Gz~"=@bi=4| +Z^GH Z/^| (cPZG~=!e aD}_PP3~P]2KmRK_XnKP!@tKB ׭vK ~@WGz_YkUׯ|$?][* f$-iimZK8( $A>l4#KIZX^/8 +I:-$AiG(\%z[~;*rt"Z Aץ㲧(YB\$At ZKoeNPWDKA! ZEU PECD~t]_@aƖH :?ZLsSaY "5?Aa#6a(n}0YM :Tk?/Vv _Ɲ*5u_& ZU8k~_ZM(Gj K!.KI| oe_AB?CAAm,,K A]e:t_ + + MK(\G t_ + + kK A]e:< ^Smǃ[Z pA: KΈ$z uҽ A KΈ$]+Pu?~NKjl" +p >/K}hpK/K}h.`:8 +KKjEk \.q%l4KjEkQs-sad_{ ESe8EaƩ#i~8G#8.RSm/^?㰺H<UM/qKG|a&T΀տ/ @oKj k%ǥ[Ʌ]? OҶUG?[*\T?O]&T_OSZGoW#]7~"?UM _0WkTo-o:&II*7%M`'UIK1O _ZTAZM}&,"aҔ?}U,"a֓z?}G%>k I k&F!&I& HM"kXA01u^LLLi\j}sH: )$ QH2 qIDjJu iAAj0D1d(5=It -& +d@2 ;&DF iR D +2d 0XA2-T Y"ؽR D +2d 0 I~5X $T᠂`A0CU +0E@.48AF0a\4Li#hZF!Ha BX B)B4B;@hb""#B"""#B""#B"""#gEU]Q])Kuڔg9΃J9RC +S+u4d0qSG+b>6QD"(y\8۪32,lm 63وDk:֡eVȢ  0l f 8dY3 䯆ô4m 63mt*$Fn&mC>Qh6VM„0{ms FIH@M_"ht(MSPa?p}MpUF0a+I)D˅ t߷ +KUTj 60aE+.34 8e>æTrZy ͯH$':W瑫? +Ap 7f κUjVBaeaÌH$':W +kyN羴WgAAkAޝm=%mYPiw[kߤ>=ӑ8"Jz9b/ۯ< >Oh&?tg-nt?a_쎍9;3OT__#NrNLӜ_ ?[fiFHm!\0OpkoH~_Ăm{_%=za /uak^N6_1g kPˆQyI:1g u_p `zu_4_{lNuUB5.gBלYx6u +@80yőGgP^toANf#U-D?'LFΚtS߲K:kjOY ?E_]/hɅ:F7IFD__֨?K4 sUœ/eP 0ϭP~SN{<AtE<Ҫ_KSePu}*2=_d(h _~'YFH}tK:?NoG0K#W=?$#50K#WI0K#XEy.gDiBA _J?qi:A _K+^,:K(SmI.:YtPۏp-/ӭgg9YBK?>_w=tkcK.算IF!]~?^#H?_ _$U|2M~">a[a5_`A.!A.!հc">}__/XFG V_9׮kXq|k^}~5@8r5]RcnzZIc^f_]_i%L?-zRKK_pK_?mCָKԅOcKoZ*\idh/ԇD}.4@OB!疟C">Y "ǯΏ뷩@N_>O :Tk?!LsL ^}VA?t^}VAtt K!.ZYeP/_-/jz~Al24((1AD]cʲ]x@ʼ(cVUKBT(cVUKKΈ$=T/: /NYpkCiI_Aos\RK}zcZ_AW5)g?K_u^^AW6YRH]l4Aa gGRH]l4-RH]e QM2!u}_K\[)i%l + ozׯPE4u_z_3-rq 5KK [Km.V| `_KKVʨOKIQi~$.4K_JUMm-?Wm.I/yc:]_ziu&K+K_eZZ|WVֿY9%:5~°֌5opA}OIk /FkotD݈N IXA}O"m>"#@zWzM$`m>"#@zWzM05:A^anz=+LQG%h(h" &rm-mZZ6V8{ hZY7a z}Ffפf 1섈eg/쩮Q0lN-.\U[I[+M/)6H + =a 4"6P%7RlRPrZc?OXH0鋭Hy6p)|BtL&i}]iW6MǴv&>[otq>;DCh* a(G5E4VzB,h[ F_(~noD\zZ8I3_8Z&?o6{q=/I95Z_3~5Iվk_I1I$a )@i/Ii{_8 )_M!0 g\RE$痤^?^v'jfi'G6dhzW,MQ)G>҇6Jc=/q +:O"!?_K0MtG9W7NA58#=&#ۯ^ʡ8*e~D_G҅ +kz Ʌ@5l}u>)u(3>PvRg#N搩k]$tߪ^ ?TA?Vfw_#_/#EװU QT[pI/IF7nK_3kYn"%O%]#P*]RAE1ehp&;|"?r\~'tq}ߨg4GEiZD(PknB h0~ׯe(W[(A@kGïV#qlW^D?U-{.+Ab3rZ *ngb mӭ!ubs +KPAa/3_$Aue z\:D-?  !4_0m7r:_\S/I&ҭ!Oϥ5_?a/^PKa@C?O_H6!$Ką[+рkAGiEp_,7>ʝ==֔VQ\BJa{+рk_}:{w_-,r:Fuk]_ZPitQhU,<#-\6zuHBZǯ~R^? }//zu9׿Q7mKoV }>Z$L4 _Z Ayu:?߄?_"?a#:GA&T KAu?/ +u +r:}zZA>. xWZ^Z K@zV\H6A^^GYHdK+pk]/K}ii~Gi%iZZwc(ۮ_O X`kVzh/j1i:+ U ϯ1Z }-E?h}ZKqN Ukkt5 U5ZXK,% A_m9I~8%I/$O5IqK-(4~ZA޾z_bF ט@ :UX0Uhx$-BݤHq5$en4 ׸`%eTJ]RBB]SB:B#B#CH* A4#PT"k E""DGZb**&HYdP8DԷ'TtZD"&3?}jȄEQY/I8pι04Ig$B2Fs+yF"30fD~ QvÇ m!i!I`dNaٴe(l6l6l2MCn*ET8myPӶ 2A*Do ‹(@M_e' @"]]UB*(LZnl2MtT&O)79t"&0͗8AM„{ : +U?O鴧.2aqt۠<:u"@(.a6V8s +hpͯHL@oAp 7.m!N-.\U[Iߒ=k +&6+ki}l*΂M?I սEV9Iit?^OSL$mQgZ4>=׮>=?FI'!;K<)>}yőa:"?ֽ&*ӱ/Y0 C \w& 1HNs5Iѫ[\_AK89I8-dd~"/Q9(C[/ePE"^HB 5&ZKD_Q^.LVUe'x>-P"?ji Xi9ᇪV.T5(=(_g#O]&{<KQa?KݕYPD~}KK|"8(T[pCAXF4l/KIBZ//@ZޔiP%"2: K??LJCPNN0K/q/oKAREWEGA+ TZiiz?&6PmAi}ik=\4G_╠^K/<_DCH(O{(?Q}O9㥜X~ւ^fӭE^K./KVPI,:K9^-iqll? 鿜?U) K@_Uk|E/#lr:_񯜽/et~cBCaהk=q#M#+-b> xy"I kim%[J4Bu ˆq/]IOCӬz_H?L/, +B?_ z[}f@$ir/_?L0ȯ" 3&.==H_]G DYv@#2_ 玗Rץ疟C Mh/_NNGO_>=in  l.Ϥ3@/zA&E?8A?o:ϯ-o$ȘWK^A &UAH}a|9 _dHۮ_OKIA+ k|}h/c_EUD^I6oA~-IKz ~o5 1I[zUYrI:g9@P_/A^ifTq_A>! G?G.KUm./5 <ԁ(<W-"ᰏ$+Hk(_y[5Y +s΋ &T΀KKA?mzD| K` M N3M?V%I}OKʿ A\ӯSoKe_ح, #;u_=R]?7NaץWat 6k_@͗[曤:K&a o##_i^~okIRKit8cJaA& I8A6dPE~" $k5I+a,\%G} k %`Ă0H0`   .4N7; y+ khx AK#@E!LN0@AN ␃[^,X1^#A?H&"4ABP"CTSB:UDqL!I1ADDi#B""(!ج/KU +endstream +endobj +21 0 obj <>stream +x+*T04U0B C=SSB!9WA?37L%_!+) H!$Ѕr\C;O +endstream +endobj +22 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +23 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 89731/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY|pUG>_BAU  r!䅮dR#%յ[!zG$*:NW\{ +W_Ko5OI/͖l-&^A֓iuRѱI|_֝bq *5!qZ8ztxOM8 xbP-${ح&+mJ_P - .:KU]IhZ }%/i(Ԡ/-$޽Ϋo,$b:'_KcK,$IH*J~^I}^JKꖕ/B>aҤ/tv[zi$vKM[3H6L8d0C@@0 40)@a$Bo zhtD6eS;EMATvD"*͘h3^K" tau 0gX^y& C:g" n`pA]CN6 2,@56@lPݲm0el*F e&Mu +*l0BeT0LQP:gel3T2S(&Q a.@A*~iנVtQtExe>e(DWS in fCl#qŗI}$B4ԸL'Ϫ%'<'iB^B]h + mMly]D: + 6$/V XtOvP##O^hb\UضWgAA*EVޟ%|{~FNBy#oxG56q`HGE<ޓ.9"#ƸsL\v\sDFޗ AzSUl=oΨId^_r eүM/4K!}i$Keֿ(K.sςJ55PI _=$$ΓuĂ^`3zKK5/6WfJz^Ǥ"|Xqc $::uKNt&~I~]yޫͭ/^ 6 d5i6 !uI^8 TGd`1>K#E9_K#Rx(d"A'^3^qdGסJ3)YF*"?FۈO -(~*\E"N,Bcrhr8fi\YYts$C:ĒF3zt]x9#q~|=qxMχ0:|>uOejtU9AI&\d hE}uE9)ҏ1?=TMH 0Ozl.h/_KwDvx>.x>-}--H:5k:_C+O#ac' X0zO%a?2D* +C=E?&Xat{\_}ZZ^m+6 0_G'pN:̓BL? HFjlam&DuײA1_њ(_M/"/B ײF'PukAb`-ɣEGl?K9^-iqll?u~hXd ~dXbguz^N ^f g#{:?@9/f" #@ؖ||ïN(TAm^s|ïM*|98V~_hKүN~\I8M\RZh"$o]׋$-ԫ _X*#MXoIB_Wֿ}u +]:7K&!~!RG/8cVQ:ﱷ_R>FG#Ko!DGOߑA8"?~)~# @[X$_ C?i~ȏ]) +K9DŽ_y,oz[} _AI8]4/% ._ ?|z`xAZ ^ͥ(-5/u^![j_~?K-?H~o8 DU_ׯX Mh.?$Y/J ,L AU׍MץM.#D{x_As{PEߐ?eg x;Ƹ55/qʡVKWKuU( &Ai_YWDt-A1_U_k]2[_Aos$%_e?Yk4~aFY:kO%nEA>! /-P1)!-/[I +C)!pG[ڏ5 #-ˆWήyAl![J<Զtҏ5.k_~8W~Uf1~޷ʡ[KۧҞo/)IK?$q_K3Um;v?' o%GpE@\B Mߏ@I_?L*@v~ @  -)ޗzU)mxz_ m&e_>J qI&%oS Dvz^a(N !, >?b??:PAa}#ӏ&ov"0aZ]|D?Tp# K&䅤Ǥ߈K`o$$.z"й!$I/A 0i-xA0~ sab; padQ:LH,2%iӘ/UQ4KL (f%"&޴ Kigbqn_%Iu &VtH2(B `Yi/VI S[AV `oһ!da$¡h2AŊCfLZHZCA q688LB ]Q)`j0b# {C5AZD>FHi!,A axX5,$eh "8AA$&1#MP, ̝4"BhP CVӂA"""?Dv!iynq-@7Na,E"$ D0$ ;1ْyl e,a#TPƲ-Dt{0f[athrth}Æ/u 6q\漋i4f9ENᲫdUCgp%.l"$T|:ոLY 0S%HtۧPh"2M+ոUaIH:%(ۧP{o3L:#X}Qh*EyeQC)7I&0aEF +TeIn|.O鸺HR=?FA7?F.Ҫ^jM +_*Н4!BKL|{~FO"zb}& ҝoY/^oR${N~8~'AzSUwIoH4~DD7K BI-\0OBI/o#J55E4VzB,i$&A: 6&~ZDI?I$&0ɯ)~x@~D`gI >7D_DYKJQq/PDi6нBI& AzG/nsz'GNI_^qJIyzr5?`gt_B꒲&d"qs<&^O FsKC_9 J}Σ 0J:/ץlB,NEl tiC:ƌץ~fȏB/In4 '&K,G֍-&+=.Tqs{DN.Tqs%~eF#MF3GTu> 4qtqu/zu/3-(տP쌏Eנˤ.]PAq0ި ÞŪG&&T$|\_=tervPgЪNO|ZDm-GDpa/b"O#~1m@%NN^HKK/tSr HӬ W"?LJ?Z_ n"I}#iPH_#a2ih 0KJ_VF*`!zsDtV_zV07Q_L8M{(?QbH0f4҄S6PmARܚ4X#z_؏,8~SHxpeZZk L')׿sk:YqkKe{ag#_ 먆 /#}s|M\1! yl^Zo!tOy\)n+zWZS·/$}>ߤ~=/J9rܞ%K,rez]$>N[aticD}:{wI^>zat?Slu])?탎ƿ&8? x^_N> )M`zO3?* +yuֱH?L0VEd=/ UR.H?L/?} _A\ / D~~3_A+O a_Efx kfjC Mh%0^VK@ &.==H_ ` _. _ׯX Mh/?@$A^@$\^zYBk|/UH}" 5YeP?@.~/!>7W?L//$K$I^?@J"IY +\sGdl/.)?I(AI(A sGy:_8JRW8 ^a2}NL5]lS8g ,85y? |B +/e A!A~‡~s/~‡5 #_HߝbΏQ@$aerezW~UdQAUߑW~Uf1]5o (aA%]?^| %/=_ @p =At 4/"v/Ak8x'D%t6VZ,q5481I"%8lA,^ႯGCGA"A}0 ZGi$ +JЉ%4#taFFDE#CCB(!ЈDDDDܢ';`#)JKrt<._5=0T吩di楺`AlDQAf ЈDRgNF+Dg'(,Zx&4n10Pʧ *&u L&/((FT3 qgTVQ],-qL)(@њ"2J}Bf&"2A(E#NHl#qI;L>P 3Df3࠸H4A^hb\Ur4d(Ӟ-YPi B0oIsL|/R|:'hD{O^_bmlO}&Mno_> +eT0 ?IMWfpSL=/KK'5ʽ /տE}-.a/kCI!?AiCn"?B/8]6_z_k-#D$`2_Xg<1Dj/χ0Y57~V{ҋ$Y֗\^ʡ9"G8(Xou0߯1?TGkgG)>)r!+u 5kyKy/=-߯Mu&Xat{/@]__^'pN:̓BL? =/+jt8_\zxC+MD^iake$/IAQX7[83Nuz^NΠ}0{=/ 'G ]aKm,%HZ_D{ȷm?XlDa/*^rGY /l. /*MOF}WA߾(#T!,_F>G?,\4:@ y>NR:\-L]Mw? yK/ԇ玗~CQ'W]h< A{޶/[]ȏ xk?~zJE%k^?# +mLW(oK _v)د_AnaSY쥪[k_~_0/AlBe';' GkCBJMa-H--2=[9g^yzDtB noJzjPpGKaiOWR'ʏ_oReL -׭1X֘>A&A  -}_ -z[*:/A:L?WI&Xpw?|GI)Mc@տIa(,0oӏIKa(Oa1oӏv[!!sմå~["z&<$]\m4"pp`XdJ0Wa'\,a~`^ %V (M3F: +r +Un*l΁gz! lef2~g.4ʣ:EuˤQ'&Teah#Eo A(AyeQr1섈ˆ1mˇA*P]~] ҶͯHf + \8Aye*_둠# v/nz~Ų: + ;(jLL&yteWP+:|:ߤsL|{gK}v;Ui/1>XFn&lv* HJ`?Z"?]SˆW_ߤM-_[ttk?Ti{ĂB&گTZTߡƨ\k{huEuҜ1OM?%}zW(]%uQ֥8hG H}18 Wץ}_נ^uAyRtv8o>IF(Fz_"zVZ_`i?o֩0Z\b?`)XtI_[L?]ii|^ʡ:7Mf4Y?Fz98$D~\Ρ2a=_"H:GI7o|oTa2Ftt׮kAKK5k_I*EG!/` 3oTi[ H^K_Keh}eY-uh bgʫ=Q?h QuV#e:ey5k~co3^:]ioPze:eyK:+K--?K@_ 3 +!]__]D?͂t_fkFol5ZƔkM/?0?u _Z_%K,xKo4#[[^:i5ǷG`zO?9z_PTZ΢ r@_N#'U +yq.VGGc[K8#Z/=u-A}?]?Lϥ}:? Ab]k~ߓh/:ˆgKKB=o[Zm|{ׯmYBk?~G_(UH|QIuiZյ/2B|5y##`[r)uנ픵>PIZ ̓^_ئ+}\S"^"uz Km{ksҖ&0`_qk<ig&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*"R+#TW[`AlDmDfR0 eQDS<+HgivH ;6UlF"26-2mP$&,fT[>qeͲظ}>g %Qʳ +z:L8Qy^F2v4 -WË]%7 rEjy8&v1ok0:*[I0wP_7։tv;_h^r /T 2*ѫz ,pF@_!)28-!h迷w^9. +ʵH/eZ*4Qz! -.a !h"кIWN#XQua_ zHHQ8]CЧ%"A1r NB_qJT躏LBOT?}(eP^D"?#;/ҟCUrq/>\QNKA!/Z_MaӮJ?j޿p@i$sHGFAta齃ihn#K J>$gIJi:WStz_ EۚF]H0ai|CԫYDI$a?,7XE:۞ D&aָ0T0׵A_z 5_Ď|~\ o_M.c} aw__zSm7]Mrjd=mWy:/' Puu,__][{_m[kkƖ`4ڷm[^׭.ZKtʿ/-{ :ئ+bAn[j'_ӝTWa3'1 ;AdkIn_5]CN )횠p漋ilZa&q;l*Q;nBID. *6HHL7NFmPi 6i7P&CWb )#EE>CH t DDA0]$hTS4|e;!#[m}Hip0s.Y$@oݿ0eˤΠ^P:0n&e%JbgBN-.\U[mHl!H[+kiRIť oԈǢ]k΄؟D a5!%>=թ 6$x[ѨǺ}P9 ->;D^F-, ^ӞWg_N pXO>Vj6:}/Ju?O ޖ{+Nt\ +jC򅤒I~X? jl 6-YjC򅤒_ _=!&hCƶVUHI|)%$$yeju`fiO$I _omR+*ʵz }?нBInse:6Q\vB $NcVApZ\Ԍ/*"оʰ9 J&Ž8RoK]RWZ7oS4Rz΅>yEJyŒʛCjL /?^Y"? +}B3^KKKP}z_G,.TqsiB_#VtLgUts镞_!.ZoɄRFG"ԗl+AN=~s\J:qE:_p"i6*Ӳ{<еL1Em-G|ZDUe'KB[(AGtR⟏%nΞO/S=}/?xʾE?H] +I}#{Z%#h_ф/~/J3ӓ-Rk_HT-/_/C=9::+O k_#ޏ3FbqlW^D=1V+*UgI0;]^D?Kl]qUoXjbsP_U[+CEoXsjb]7S\+mu?M~yt癈9#TRRM~yt癈GK6o!_#>!K_nzTK +a_gғ4/%ⴘz]$)^>zAsLԌD]|VKҼ|6]B )$>]^ؤB )uzN>8ށa_?/!BH_ XaD|esE~zEВ{QN1VaE~a+OQWlT`_&dW}V 6kzX_:/֯_Γ6  OR֢O:(3G Mh-H_:/ey/-|K(ol| A SSϥF\^%֔i76>I@P#mvz_|&_ /?Tm -/_f:M_Acm[^/ L?$KD]|/K"?&MQS_u\$&IB 97/J>IbM9.[[zY]&b$+ *_)PA A]ȚZMXP?IyҥX#5  ֗_86F3y >zץOE ΂]-&A?X<Ϭ?$9/lJG:,RU'Kaxo%GQUoO -m u޺ZM~bI*KaQF+ xo$)t u^ MWM +p~aɽRXdt|| 0NV߭ COZCz oKPwAlOW `~U!]J&\w%Mm>"HKHH^\w%MOV!Ί_ATaPM]'x@APi%a +!H5A!LL 5NS⼜o[8NRAkaGojuB~ b#а EXhDPCH! 90B;]SB:DzKaUa!z"#L!APЈDDGZ+Q*G`d1\B;RKY#R;%'׆V27D :pƲ'KVOTF#!`Cv::wUQӰl>z2]Ԙ6 DmL20l6a;`2 l68eV!]CM6 Fv¦ 6`¦wvϨ:P "םI*eiamt*bS>A)DBhP & +%^ʳꁒ`"(ZIoH&$K]$h]C)@(CehskΜ*ToO%Ӑ^Ƞ*20LL`ˤ,yBt4IGLIRIm@gTV$$|?I _OGI'fD<ׇ?za oKԁyC>ko0 c􈷚gʄ'O^j>"9Ii0~T&9ֿI7ޞ9Frc+57I|E{F(}~ht/򅤒_~X _/PHDGE95ZrkRsxO5'%k.HO i$$VAј+R_k?OI/B $NSVApKhDEI/!%N"пЏ+S +B%e`K!uIY*Z7ŷS9迴'[~hpbsN.t) G KuE拯u^E8_HkoSњߠ]Ay C R#Ӝ"`EC^ߠSsB(Py ??K"UkFj(a4=lsQ?H^UV =Kנr!Ћ3!4im.W' +^Ai7\eL U]` (0 sΊI-][Li' k Ie ?箵6C Hv uA!7ZXA AFw4WI$i[+__H0 6#7NK`ZYS U%` _:Z [ai6$a֓-/ `Ia o *]6֓t$I}& 6 j_ M䄋=& IJRlt){=Mh.-K-,GBkAi$O0zL1$i7:+KI^a"(.:Ba%M_6z` ˛ 0AE/ 6A:PYG` s9:5_6h'<ZMc K%ORA0 0e)Ǡ0A$߆+ Pi&AQ5#eC)` Fe8b{ ċЃ k@ a L&^  + QI} |BA&_D% k8xSpMAE!L` )X^P 2 L$׸`A5O +E*] GcMhh D FDPB"D +!ZHFz"""""(!庴[GbqDMDM!4tVt̃"ar +T*m8gy  2_#H$F& b +QIZiM\;al`afh֘8tL`5#Z`;aVrС-: +v~}$u +p2dnxe4a tD 6pDNVt|VVs! IWBȍ&rmV + J?}Cm( .aΡz Ӭ{\GD>LaN*vPN灸#OF<0O¤K(K.i6H +U=.o;Q<[o9!V܋DƤF9IiuN'SRlRPKMvS}VD2#$~r O/ajB9I]t}a:3ND_Q%VOpUKg"kh3o.!j՞&@tG5W꿜qlQ{[8&~028\5#iO$j `1}z󟤾*MjWN?_2^& 2YT8)\k4%HO&GZP.ATF0D"]DZCT++lLYԍ +񧨩3^D;(JIGzsODoWֺM:F*I|?"E:.JY8 F}ruP!ZA5_~_|ԇ5.idΝ:4hGD?udFG"tkTVC_l8g:֫¬0\HR*nguyp.ʡzWMQNeuvPg_O $ J|>$nep[Zeb֓H?LjeVjU]K=?{&>?@M¯Ka[Y$O&k:*#_*3ӓZ[IB)ָAՈijM浯">n+"Y[ڳ[ba ^_4ۭ?KA)t ީ5&|%i6Z9 | ~')׿qmVm$s$VP%_"ࢾ}Oz鿜55K|>S^(H+%T6ל>VBנnj~ߠ 2+6_\@"IA9jYoY_"RH/_v6tn=W.GK?_OOnto/Lz# +ތ-pZKv묆yVߥgLKL6=/H0E~.YAςin~Ok]k]#-"I c% 0Ҍ%X[ni2ΈZ~\4I5)P"?t69+O ȴS,u"=C)_=--J&.=<2$KE2.4kQ'^)^I'Az:9< A~Ki뿭 H#BI6/GLR?K_ Yt6t}R_cKoJ_ Qaf@W_R=}|/_|7ϥn$KAzOADM{3B44 *vR 0 k_@ktҬ|]7d}pA|{i%I/ZGqΏV-u>#R_Im"eW?z_$ǂ%4z*O!q.wa*i-]r9}zXA=s@Km Ko9 ]0A%/; ?:G*]WRyF*MIAi7 X`Đ:_KekAװt%&/Akl-&IjWl_J*]קᆐ UWMKmI6omq%&_@_KRlt/0 HI/K|ߏD!6a%IWWt up`[BA$#cK`L$Q%诠a}*D8?&H/T1ɀ]l4 s2( t'6wHԕ-íK#ǯ4)<%Acu85ǜE:A#& +@bQLϖLMQ i+TSO/ +A CAЗ:+ $0Z_ t 5+ A2 klPLh&NjA&RDA =?hxA0ca$(-/0TL/axhxA0A   -LA0j")8hAauM G +E*X(I5B5M PL$A)xA +DPH!0""""""""(!hDb""""#,Y";D[,v!&բ3;#h-3d83>Ӝ $D4Vcѭ #Z#TFv3 FbBau g;Ecep$B&-4a¨:|&UM}A "nɹ> %|:%\, ˜Xn.4TmE~!! 聄Io-*aZT[oP=,Ml=fםAVui比'NE@MF^>5pol2u|%_a|!i:dd}"w*IťHF&_$~}_m[8F V(>BlOG"M^9Ii^jM +_*>W_})'`f_AzS0gMQ MǴTU80}U Jt6D?(ZI$^_=!3_w0VKON#Byo>H] O$ݾ ~H6*H7 rΥIQeדDGE8eB2^_Om-/PD|x:k_I*KUy}3/4{z_B꒴?64TgCKCYK>:K"`B#5^dʅ0BP_yZ"Q+fi N9 JmϯdmscЧ#0#~>_|tz]Q9t᜘&Oߠ!o}Dʥ @)i^/"q3HXzddB, ղhE5JDPg0}Y{K.9ZM?JePvR=XA]8θ +_m/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\}/O_kiZZ^fzrttV\ƿ#0)I/<~i:b,uy4ti/l^0 XKϫ}|?!TP@C~D*Z98"T)չŴ|?^zAu g%݊J"=, 6<ֺ}s|8i &9k](D{5o^=~mxArXC?EϧR۬#@z^yat_P]zM*}8IiTlg/׫믊at{+RWJ}+Ҽ|:Z*tKҽ/V&!hW_,a^PFIz]mޗ &Pj|sE|D<t$ۮ9("?##_ϡ!Qr_KeW_A_C/k5b@$aN;* __'ҥMKJaI4AsGV+*_ GoRM(XaYlJ[)Z 8#x iҪ- PDy.=/a\ׄA/!VK$[I/ЌVߠI; -4HK*@t$tzW3y7[il5^4M?ZIm%7A(a HM +K5M& +K xAmǠ& W? "J ǢBB0 8 /AmΊa5TAap &~1?A:+o8*k sĤ_ <0 һOK(? ?&l4Sa 2'%t&E(J L4cT@DA1A&b`] !&DJ#"L+ &ya- 0vVH2|kp Ah 5A c᠂ B =&AkaG 4 `!ÝG 5k$፤2h >NHZ#LPjBL X!h *`a`džIa4AA@RI B"A 2"B@hjM`*5L!AT!b"""""""4aDD[p\2oZ!YREs幒dxŅ˝LF"6|גvwZv527dSRs%vL:guw +AJ +Y 0m8lUa;Mad ]M 3ߴ &{ `@0}ӄmX|*al]T* Tvj1h$ 7wT*mUeB 8T}Ag .sbˁ}u%O_ 0őg&ۆS:nU &rm.mal2祕3{uM`LGP ʀP\ T 9@D}"FA:fפf f\0Woiv?$ }}?46H +*΂Mw)6H +#*.٭?ۇ0~~9!IKB>=u8mH6p)|BtzZzn/@E__k(?}nn=vm()kotq>>VѫUUO_5]CHn_I/%wYqJqQxXh/\]__)ɯSC^!Y:$ΧS<:."sQOL+*A\?3{h΃1Αo6\2:i{_MeZ΃qO"Ƞ*0I7^Gۯ_qKh,mz N@AxGn DZ-ӂUGUT[El;KeTq9Csk-P"?k])t&_ꟲ:(3r'o)iYw_<_g_h:A O MK|=I]1xzM>_0aQ?ehu&{z_i$P"?^< T/_~A/`}nP~!־z~, +r< K/_]Virr1{tץia5^99NzC_"4(5ob-(D{5^ 96z_a ]xKZy$>K%b<_YoY۬"/hooSu>q Aq 5>ʝ=G] ?K_^sEm_Zւ#9#D +FG/KrSsEGFh +տzL= e-}/zu4_ w@t?}Aq$t ?Z/m[__^ +6HM%]L_4C@u0_eǧ:/\X7d[[|[Uuׯ_'_t._ޮ?^o=RA:_ Tׇtk_vmcEVeTA| R_O_5ys!o?sg +*gSq !S&It_ipin m[ .y_I5BH֐lH#G4]w `2/K~BI&/_Ka2 eZ[x i- &QPaiq?[(?%Mx9t_zM]Ka v )isz_KIaֿ)X`4$A~^E>$ ֐^M/K-=.)b>kI/~մ a,0m +KO%A;-B[ /萣~KV1z$/$/8HH%>k dO_P SCһ$h > +.::+ti0"hPi~2}"SXjl5^*K`BA |iߓC ѯH,0LSa쥠,05.z0||$á++`%m&DH't;(sg=_ L b@& ,XcXkA A '@m`֖pJ2& Bd+_BL bh2 Htm~pV">㵄#2 *5*X_E-# ¡G5BlB5B&PSB#CAЉH4""4"# DDDDDb"""?&HȂʑTDرa5;tu|K(ȧ D!Y $ICux3GáPueO\0gVj(C : oOoO +d@(.!9\0bd#HbN5aA17S|y*eqVtmo6M'gʄ'Om=h& MBAޖޗ{U(Zt?-oC ${L__C մj٠g~uI~o:4%pA?w ^[IzaK'I6Dz7IzF__6ސoX955׺x_NO4I- .='IjDGE<NAοCZ?M4 ԛI,dBJl2<2~?LWc.G[*'YS5ʙ#6EI&D}vW%dʉS5J#HZkUG5"ߚ,@!?:v76 ."ӋN,ZSOFk,<:\.d4j1]$k3\:kOg,I 4C R#Ӝ0K:{=tJ*eB?|?T +k=tJA0m( P^0K:F0A]t*`I-HXH0 "]%mCUGg#(?5k//߮yƶU QKn~DKI+ ~4֖":UIyNzȤhB UozRk_z/@PuIHBI_aVeliAfWI+8KY5_{eNך*/.!0X/a@+m:XIoA/A_8Nhz.A $PitU_ֿH`[9 I?Oy_]_/edmwsG@8 $g$ΟEU$j$ig]8[i_@U"? D_$f#Ze` 0z$hЈs?__imcYP.B*!H ˢ@lK_S=z[R?%=[yt9~{?Al* >r5AI,$D¸_eqT^GY/_côZS_}x@Zֺe}?T +֢t}{((cVUK36A"G!~H$%nV?_]=Tj3!1A~!*=N? -XAl4dwc^A6 H%ZU ~(?ǚ?B%I%w `2旛5PkKU  DSUMi~^ΏWaǎ]i2z7@AS"k_iZ O)?/N/e7箴 vOWO_O-ӯ *ԺAvdI?/߯qZL/JE>$ ,)P#;UPΦ/M 3)b~^%Ǟ]}v,R >~H3 S> `g&AiXWZZmV%5__ Dvz^ 7K?aXh/a$";IM}%[_ֿ7b"z$--,GB0m& ũ` _aAi6i7? :@C}+i7$cK Ž0A$؄AH6z_KKyY|D?F"S"'ɃSad\ii\&C4( ItȠ`ڟ\` (frIl$K 0zMd Y$áK-z0J+bpl1T$ m!$M '&pl1E,R<{g*=(5@AdX5 A00^A9VI4`Ɂ@  %h'דA"WH+E!)g`U ZC H %& D  Nj H ʘ$eab#i#2 !X(HtjR A"4)7I#CBj D ! hDz#U !ADDDDDDaPDGY=gb"ܓY,GTNv*8g\<#RdJT3~:Va]TpXOe${O_GY􍤽/՞؇׬_ yH9 +rk 6N?/1BJl2eZMkӪ#`ez#d j$^BJEi~pk#G>qy)Ku))G>BPץ~hgNZWH?7zT0"=9GK>k7"^HB 5Dz2?fʀj@]"Z)ZDKo-CI8aeuvPgu?K#AOd')ӓKu{ ^#W>دD[u֡Gq"/OSR+ץ6Pmۯ_^AP_AuF-:w=t +Z{M[]7󐆵҄G^Z&?$e}#XAx~lBI_ϥ'o!tZ~:Z +m:zWK]eNk< ?4)~6]{zN>o.i%,J4Bu HBXv mu_u I|m+O^G@\idzeNa/It_&.=<2׿2iңY?K/0geށNNGO%%MUa3zB?M +־/lD~o5 1I[^)zc_yt!*_~/H%Z l +)D.$O5_%q 5/AryO#xQğ][Li':G}}/gq` __oKzV @&%{K 8zMAi7H_=1 H6s?B\ y"L /36` "l t= '&1Q=|R|$áAK"HA,XAH! 1A0? Nd\p HPXE!L` (X_`) +Dhh D GhjM`*J"(!ADخW ؚ&y\:"*#V);#"w3> 3̶rgH1Cg ++aYP8;Ʉ̜ĀEQ4in_5]CN )횠p4Ue +*LvBDi&dh5 $tJa¨Pj PuI,-Bug& , ˜Xn.4TS4p}M6אae;!-&ԍ d`?2AqeyBt4DP\ RL/a4@IR$ذCKWgAAR#"tVy>m ߧDԁ6p)|BtЛal?FB$Ǻ"1A'Z_Oӆv;_cpSiӞWgON pXO>VCj6(a`ې0a/ y@U@{mX~PI/՞!^UAŲ0A|3|f"WKKZ ![+S쪎$VO$rk8N0)'%_/0θ+S0 Jy$t_omWyWYVA^[^$K7F92f}i*?^0/*"п ޗ󐺤/n L[ӈ!l8Bֈk뤭 LI::yZ"ƌץ~hȏHeMJjkI6SZ./#eCa㥝VE9c?_KjΟP@iz\~t?]ikײ9ߓ 7Zzנ4D_MW_Nsmr!(UAI/ r8pKQCI=TmhZI%@1-Q_dGtR⟏%nZ5%r.>_-?xʾE?H] I#O5I]z-#h_ф/ +iizZ}浯AijM_6bKnc&klײLk@U8j3zS]-u,e7G\k\b@C~KZ5nr1mK9(/ʡI[뒉#uc9_?M~yt癈9#TRRKRIͯI_޿Dg䀇!K_nzTKתIg 4/#6T/W[/_!JXuKd&bKvE3W/׼Ro"]B )$>]^ؤMzT?$t_D|eG=amsEzEВ=}|iGh6quLy+a$gKeN#/VaE~a+OQWlPkI񷲈2WI+k)f֯_O6  OR֢O:4ނ]kl:}ZZQ߂A&@P#ׯK8,5 } H&m,}#ޗ^|&_ /?Tm -/_f#mz ߏK0 m/ _uK/@wA]v)[}/'괮넖!I(Ag9ץG3Sxu5iYUmA/B ZU^>J _/DjHH֕*/HxA1KGm-gA\QAU|}KH!K('ұ3_yCmX0~ICr9_Av~Bl +ii]i-R PDzu]& "%yHeEW tR&B1XN~$??0(A`XKgoJoSᆐ U  +JޗtA%Cㄯ?= oKPwAlO_&Z_Ί:Wi0*kiEZDB*_nIi/ O, taPM]'x@APl ~O.JBݴA285_z I vp{ {Z"O.GJ4Döf$ |5 5 &IdXQ'a)p^N7L-'K {)Lbcփ A0wApca{ +B e!pa hxz},5`XGPڄ& +EXhFM`!A !uM!-T>B"# 0DDDDDDhDPT""ЈDDe$DY$F)n+HⵕTťjQy( d)IGLd_%vkVL#% E:%L 2)J64D#Z 6 f 8aʬ#6 gY AZadFÆU5paÆBv2(PEFQ2o m*j[MN 8T(DWi 3 + @Äͪ8T& 3 +Ai B*vF&;935 a]U]e:a#E^}EfA(Enb\(e [LleK*gHH44[{:ypB΂(!s_wM2շIHtȺOT- {羽GISZ紊}p;Oͣ~ۤۤ?IַgAOl k|t/E8kttr 3t8?&o'F6WM:v: :/a&/zWFei޿Ig"3OΡ7 DI_ӶKWz_BS#xqQ$%<:!I _U>ޓ+@YHKKB,K&HUgXֳMVAupԕ,6HplWJV"O__I? XkYQ +H":]-'꒤mC__ |>(6qkfkQl~}{+Wʫjm.IR~TT?~Y>ۏK5߯\[_u⿏fI_3_HH*H*0-K/kĆל5FןC_Ț/\粑S$zh%P, }={@7#ϧY_YA (cP\P!@}ui7t3:_"/O Uz\^(@ @olmXFΣA?WΟS{΢AMC @ _޾\4K¯._#JuI:ArKt Awn##/L !o#zh Av ~}ot_.=:I|NIZ vMƟ%鯰!ǚz]uNm %@kGizSOA?uI6֨ SA&q^o'_ y=]~yf4+YN _Umon`z"?R_0%{(FM']=0ArްW0 +T>zRZ^ޞ+8mB}O  $W..re8ZTm&\iL?EY*A}Kϯ LlHQs8/TzH<": $/H J*^KBuN P"?C߫u!tOIZ9[ ֟i /?_u__zMe8+[(}!IoI륚[aZ~?jii[(uV]&Cz7X[(p*_?bHD /o_XMWM0RehoKi~i ~ _▓I%Tnomp_*ǤNL4&h'BA~ZLi7_k@ I//m7S_ Ii6]7/+"pC󢵥㔀D߇5 4 +L Ƞ|TiL0C(7~O*ZZ@AcYHԉjkKm j[Ju xbEOA4RNAbKE3>H&+DT5z$ G1U>F7[졪L23RUj; H& ᠂ I1XA2/| pA@|:B> 4A` :HAš/pc& 8v4A05  /GC!z u*8K Thz  PB#@p@DD ]SB"8B8X2=2la$#0F-5@DDDDDAFBTJѐWDؓ,VXFF/Jxpι04I>NV( d)JGa_% o"/- fDP)AC$Ԙ6 3la6 Za8if L6 j`22g-)()h8l0l4If*n8DK>Ag2苆afna¦}AalaWi°"B_kI7SPDIC)@4P8Y0Iot:Y.{+S8UR7ᇧ YoWLooQd`?Z ٰ˞TϷ}X=#֗Im#n$Z]k{&_$zU_R} +S) 6!%|tN k#fT &~i7=tq>On.ѫ0V?ȶg FQ Kg"tIFiE>4=Q?xHQ^꼝)W7tA<:)IΞi!<:/ACF58+4 IMC_[[*4nZʵz?ʵz>~sQONŽ:^Y^ /*%OB&N#qD\EyLEPU__-4WJ9OCFkҿ>IF)/AVߚ)Ч%z碝 +}B32  28_HaDzsg\餧_BJ-&,k׷?K/K5*q1vSq|0_WB-?J(a4 {##Ρ"{*e vЋ͇O}$Ku0 pE%Ue']I9;(3p,GK{6m * -Duʡ|I2~?Ȏo0 ɣ_9wxmt@uQH1\"z~u(MK/\{5ta Ob\kKۂ#L B-("?M}jZf4GW_Gq_Ut+Ab&_p]0eأ0C_:\1zmׯ}VBbA^M^P + jb)rr1{Y>`鿜5_ֽ^}>ֿ87. ++Ć]^ Fi %})?_+H}g}#uϧ 2+~i/~:Z V uҼ|CUOnto*l}!U( /ƆJ .^|>R/oI:_5k/K~ނe3{ $sD']-$M\3zEВˆX[n3x/.oe3PfA$HϾ6S_D8V Zd5^mĥB#K#Kj$_eNcD|$aǧj$\辕':/T_atW}XAh$`ez:9?? +xAw_T/o $g&Rk_-/Jq_ $F&Q?_iaA+ kOW_ ck^u IJ__/atD~r-iW?:TqFfRZ^ޟֿCIW|8_uJ?m/H%Z럏 4_kJ_m&DI-醗 `_Hk(_+_^ +>K/$GZA Y(}_ <[*!9贺?}~+4Ka2 eUt:kdI?/Z?YN +=&HR~fH-M!:^_دP@A_ʪ 'K]&CK#K0<}& +tqR0A-RtKoo@- zXuo K?G#G]o▓%I>]%_HH$I'L>?#r cz$/$(qL0h'tHKH8AB M 0ү'0q?AΊaΊՆ"zAPLD \\i2)} AC =&O/Z]fI&UBG!Ѭ56yyJȥ+ h(Æ=d;$ ai2(t1Q=|KA1Z"@xICxb#L? S`2 z TAa =@ MiGAia@|:C 5 ~D  z"\ OOPP) XAQ:0ZCAa~:-, K0UаѨmа xi!KGA"4A!CH$T#4"-*iX(JDEqzKDDDDDxB"" DDDDDDPC`h 1Է493:KLDmE3R#Y;jG`hpƳ{6:(rC-J0m8lT(a;M*npʢa3ۆTȢ5& Ⱥ6l 3,E B6ڰUغV7i @v6PtFa"XMS 8ENM % '맄AC較 Og;s5".b֙H(t96]$hG%xa E aWT Y0n6QCj/aˤ΀eaPGS.Çϡh߶6Ҥ$|!l*΂MآEjnO!p׿ ^jM +_*=c?_Zb(NoXh/\]//eBS#)'%׺xŇM-ӂ$~<鶁JOR|}"O4 ԛeZ~H~(9٘+i:FZK $B/#mD5CT4`ph2e ih_󐺤\RᲵ1gL,gL 0I += vi!SDPMa + 7::B,#?!0V77(i7o.}&TIIKւ.Tqs2KtK vtز\R&uϯ lI/B/8#=9'9@B,7?B,7z X5l?u/"AXa9+ҽÿ9C`iSҟC8U7 WJqTH,$~ή Rm-G|ZDSֺXmAa Îc-!K#T<^ꖓɞꖓ4H$`.?mLWDCK}-1?YA , +r< K/J$*к:ӯI"qKL P\bZ?g9I +#5EZa|24TУֿ M'h[r%&%!5f#9/K)K^zȤhV"ׄ5 Ae b jz/B VϧF*k_h[ 9]$ނ%^Hh AiDT(&dW}_L*S!恗7/a ">,$f#Zesl/+AjC@j$#6a(oM . ZU8@$]zZB*Wނ֨ . d85/X=| R^zvH1sCkҭaނu)Ah?yN ߏIJ"uzϪ#T8 tW3ӏ,'IB IutL~[]\+(W:6 +kA!_c)iW֙Z9ƠKVce92Ic_@$a*_4]w㰵vY ~B,"|_-q4ɅA%?"KuTA~#a\Z~?T?_箵 PD{WI1@KKo?mSZG_ R ۥIl?Au@vA[Zt|zP,pWuԿIqPշ?aXh/ۤ-B[ /&`'T/ǢB >%wM؈!" > -=7(~Ž9XB*jzJ$Q%N #Xc +8Ԡ!c,2 mN%͆Xa.x%!po&$i\j}szE:@Aab e,Aa yDmL23RSivLbCCqn__IZ"!$ò` X8I K( Xac& 8v+ A{A_dN^N7A0ph0_&@a4A:B 6 44? 0U8 6L!GAC@ 5CB#B&P ƄJ@ADD吥d!őREtB%h-u FR2Pʪ:dO(ȯ&&:UU +6B*V@Og;s5`] \*9-$ANB$tNkguI$AABnH4M2'M7tSʙ,e Ӭ.uH#Dޟv>\ˤΠБ7A&m ͯHtih߶6vqiw[kMU7 4b}*~PRf&*:&-}tZp׿-4!BKO۬$mŒ3M`Җ>~F4H0m_tC'tts}a5~붏m h/JrBI&E:I׽/5Wz_g"ӯ՞P]􍤣4XO_PKA#i%h%z9 KMoY |+Wڤ/kk)ҞI~Zh .='РANM~HW}"MíSd01ZM/^q2^нBIH!%6C )pki}. X? P X?M!ID4dʉS$i&֟|_h_9 J /*%N4:!SD~}~:4D*hƌץ_R}i}z~f<:SE%(֜_Z3tt>69MtG9uΚJq%B0j].:I='_ /'9B,72>h=P~( P^=Pi+###(_C&( P]cdN*w*MePvRk]$t΢0O}~i^ij?*i->pTi?/)h:ۄG_1Oē-??:_#a4ցoI*}/Jǵ]#P*]DT}/ t=Ke_@^LP믟2:#ZOIGKhh5 8"?DIAREWEGI$ZSKJvQI^+}%I%I(6S6PmK}!JXID|$+(6 S%GuVz~פT?8 J J"V#zI6]y@+L6pD|G y +// 4.!OKh[iB#ޒi=4| Gxe! 7/m*5_+\39}P^\10I},OϥHYCA~ߓŔ1(c.6IFi %u DI/,pzUFi %zZsk.! +-v럒P!@xzJ_$oVQ /IBҶcg]ߥC @^J .^|>R--a>Mx@i&8(l4Ke#M#A~I/# "I i$no%xK"1Ed?Mp@I+%&?JuA$HϾ6S_D>(^; /KI03D}Z Kl0A1q:GA&Y/ΥKn=4Zӝ6 AxH$_ւ 6GMBAh$`ez_9?46>I/A f.Q. \}PA{ik3 +޵Ko% v@'KI쉅qT_A]e:t^/ ]x@J+Z_W3$KAz%axA||}0Ai~8 t LRVI~A"@P :t'?9?tp K +\ _t!*muЍ,ic^~z$*B UQ-K.q%(\K,|_$N{iu/ZO F5$~A=㰴㰲!a#~B DS_ֹBGE^֗Ο M~H] Z_9補t]l>+~9L?` +MK t%I}\7#dI?v-# UZkB  R3]~&~$6$1H^Ki iyޖ~ݯ iޗKWH*9ɣ*ë A&. g=3Y\0겄h\ +K@oӝ~E+S +GG:l&bo?J.K]$YPiҦWgAAkAޞd5H y:ʃ*p)|BtO z[< ~Z!%>=tg-Qip)o|/C$UodtiϽCuq_obւ F_^s՞]/՞!u6ސHEςVQiGU4ǤG|5I Kd>I _ԔH}y:&VkJE֔0HxBJl2}zi7I}&(94h^QpK #4'ervPg/O HIm)?5*Ӳ{<s@> R}K@Ζip퓠A_]pEE* +~?_%`l᩠X=>yJ p"3P%h/os](EB/?Nǿ5Cw-?KGQI^/戆ӂ#G3ӓ-R}/:6 8ҵ5)_n R+G n6PmK}*a ]{(?Qf#ylRL怫:A+ ^ߥuk6]5Eŵ^9㥜Zst}/:YtP ڬ;Pߥ^^Uǵ^ABzTBzFcͯr:_>oaA0ǚ+}okYofW8Dy8Dk$T׋>־&%K > +T;~,e:{wXGm_0@79/W}}Gϫa!VhղOuʅ"Caײ|L=u]$>ȏ_~oۮ?n ICZIBH_ X_]_Y =aD|q׋I5 6(]kV Pۍ l9~,1A&_ &O">L\zz$f#ZRC?_L"p3G l `=t @P#ׯHBeT{Ad'\$PF{"a\U/GT+@? ]o_e@_~"Z?v%as:m_o^/D\Tu{*ʩ@~ aLRVK5A *s\RK˴YA%_\OTz[_ _u__!x1AH %^?H$iq>/ +<ԁ<ԁ/R YZ(yIW9ΏA"~.y?\zׯL/j?oD+ق_k:%΋㜎t_Yz]it]?LH,0 %c箴PA2][44"O.4I?z6XaIo7AA AFwIPTN_@-Wm/U_A0-A? A/l?دi&Ia%Ia)(Ac$";I/VM2AzXoO|u$R ?D T m&I~8_J6B MtoRzaEY|D?Fs\u@ PAmk M ACH_H(zMSAlry}*LAMQ5aB0a/#P 0a$ IִL?PL,ϖVG+  W_r AO93Ha4 \ @@5oPAkA04B`  8x'_o=bB Ak@C!Ak@5$e MA8hpGCGXXH̃!tMaaPHZJAahaPk 8A +B)446ԑB"k"DLBЈDDPB""""#CT""(!!fT`4v6&MqgdIʑBԷYL`gÉP39;ȦKJhh}2&/j RYPӆݐ; 0m4kTLMp2"wl8mѭ0pi#Zlu1!0:KQ黸GsJ}AI*j7Gs ӨI "5pU4sXkpVOȃ +aaHC)6ԥe>æL}O , ˜Xn.4TS4p}MuTuì1eCP=,L + Xz5죩UE@(.`ŗI ӬAp 79l!H[+ky "\U[JlGņ=Z]: + 6A.`_/'#~F>=өկ ^jM +_*>ߧ΄؟D a5!%>=^]zOYлWgON.)T&}m9vC^?A*}WmX~PK!":K}jC򅤒I~X? pV`tud?!<:)ɯO|)%$$k&UGU O$<;ioz'_1Oiʵz}?нBIns^q sZeZ/!uI_ZM\?"п_UoK]RV7X1>ATEdgKסf&?@לYS o_+/?^XњYWm)Ч"_GK:sLEIs]&V{K׷1K#u[AK89!~}/l$o帮)i^"/Ұ"5B.FKO_`cIGD]/_ߗp"i6x>-P"?Ax>-P"?_:(3pt1Em-GUe'x>-P"?S/3[~OIKX<^I&5k">󧲓'K/xʾ]/pzWL_?f+KK0K}G-R~/J3Ӛ#-R)!WtӵLWDCAqmׯY'=99i&+(6uDC_Z-ժZ?g9˯(`N/g9uUoXjbs\ R]KZ3A b-/Kr:_kkZ굯?M~yt癈9#C_֖oXTZzYpt>y_ϧYo-}4ROנ_\5u}uZL=.0do\B)TF]oG]|VK+_cK/oHY!ka_ZdRI}~5#灦_oI,$_ C_KCk}ۮ9ѯA $/zK"1J>5L0ȯ"xG(_넺zuzk`_&dW}(]/8qO6 !xMODR΋Z֯_ί6  OR׵΋"ZQ߂A&ϯj ϯ_K_J4@$Ht. +"E~;t$AVCKKپgsΓ~/C ;3rL?$K/DEx@҈~?K0 m/ _}f넖!I(A~sOפZW_Km$ A~ߏ|B +S1ֿ^M( HWA~A!5?SV/Fj@?ǚ?ZY}_(? +<ԁY.:h: +皏 +zBz$zM +j?*zgKR } A%?=Acf>` sL?>ö߄JZKej-m G_O'a@v_KZZޗF+ xo$/M~&Kou֒go&J#}P4I}T&~% ?oo JwAl}ߔiS=ޖ1?qo#Sk|D?M%sմs?AI L=|&J|D=&=,IgE|<G'x@}H' %'圝Sa :  +oJ< /w08&EIzE; y< 0eªLK[WЃXvLb Wt;(*H&($LRLK[sgدH2+1]V@K! @^ ]I 4 ^+ +?D%:+I Ii+XD| I#"= 0U :zB++IcIB҂J$g)Gh|)@hhq5$PCH! 9&B;]SB8DpDp"4(DPB"""""#B4DDDD؜MDv6UQ$B2Et: *DFT#LO#[vgg ʥ.R B+ @χRpμA8fÄLlA@a4kIn_5d]CLpIJQVrY5 6ʵ e"5ͦl l=`fHӆϨ25 &"A6,>&UM&ͺgf7 PdWp.D}6,CU" )#D6C [FA5꩔4ۋ% 07\?@1]$|/L0eˤiŷ>!A(>A7:i-?YyA~ņ=gnz:WDa$C| [OM*o$e^Z6'#~G[+oeADj'+)Bz_nSF``z֫!/Ju|u(IU}WO2q:_<ڱi$_(_!OHoX_I}mf_YI|)$$kTֶmDHH臤੔  lWK} $:ս=zm-8_IZeZx d50ⓋYˎ/4{z_B꒿a&)d!o$- 5J#kq(չЧ/#w^ֽlI}6%:Y#$GE5,AeIZ7:Yl=].:~MlzZDzs9}CJhfx-=~_ugXK$e _C n-$..9ZMJ_A@DpQimC#ʬթo#:{)?tՇ,B_<[pcօV%^/OA^:2D":%W~F$ƿ3l _7"|I0JW-/_o6EGM}SK&:3 _a#Z[u{(׊AJ<ZdckKL(";u/o"^E?% +)$UoX}c$ap=K4< RIg9XAuK+^K6<ֺ}sR"=&+AIkͭ*-ӿJI+g䀩k=/J]#emYpt4KϤBI_ia* "):>":ⴘz]$)]o3_4^~+| PJPiF`}xcVQ(IX"]B )Vo@aGM!dg3u^ڠ:In?'jC?_>-v-[g(KپgsΓ~/C>Xi* >*:i%0{~I6_"Ϧy34-/kWn|I&:WW+%A6J_ZpzI/VsGV?]9GcjtI|B +  __?ΣGil=K_Iw֓k__#_a?Zί 1'I +E9Vޗ6F3y ޕ7]iZ]~^!kK_$:[i$CJcf>` ;ޒWߠz[(='^AU&RZKaxo%GoޒMs_KoOo_I/ЌVߠI; [ x}q/MƗgz^-i/ &I&o+<-xA}$_Kߤ_M?6aﶼt4Al7ޗz^k_^~zL?4/ޗx $xK I;A(q/I-Bb+i//K*ޖ1zMIK$vX ]k1M%ts_$]&=,C")W:*m& -xz ѤyRaA7vQAE Ai5$NKXH΂$ȥ6 P}+H' (frA[iItJbLPI0o8- lN-' AAZ^-4d, aP@5I S ~4Mmq 0^"" iV@H ߭5]xM$ -'h%?  `h$JI`jBL_1I!FL$ApA$HtT, @AKmRL XyTH0IDPCIVDA F B +""""""""""6B""#nKrؘT m-׶Azy!m_-~ˁYV +?/t_ifbM__ i6+?c+~-/",30$ 5$?ٷ Y?|5 }5@?/a=$ֿ?Kү]W# %m%Nk +#! DGU E^vHe庰`AX2YC*ԡ,elA5.065 F=8eVE4p 2agfѭݲc" +DeTm D &d 5 $tJQagQ in,~D;@Gzɶ' (GDt0 \2al6tðD, S:qdqϪv}Fa(]''NDP + vXa 3˄Ays}*^t$ذCKWgAA}*{l.a5?al?!<ԛ8T!:z|MH0QrZc??$vCAfk^&AzS??GUQ: pzB"bͫI%e6ѫO] ij~zͯ֔Hrkٯ/vS0:IIW7 ! O/eRToK]RV7V,Z5_uֽQ8]_Nt) 8/uEJyőʝ +}B"yBֿHWe*O5z^<<"?gUtsOzZEE#(hʀjA}#Xz 01쌏EE@gd +um/5w.KeyeuvPgK\-&ePvRg#_D eO&\0{*VpG~3#:{)?tOoI}w-W?_/nue_@\"-a*]z^S>U+KKPNh0K5oŔ eUJ_~t@tGg'0;]0eخzc_#Ez Z#wzB99N Pߑ +-[[_sK>/AOWo:C_md- ׶ֵ5\1o!tj_ts|\u?!_Y8!R۬#@z^$_ϥY}4ZML? /o)T/W[_!JXu׷vG z ~ڠGMZu &8kt>/ ߾|0[K"1 mֿ,$_ C.K^=DŽ 2+.0Kկk| a_EJtP6`~Ü'&dWuu5l/VU:/G(3G Mh bԇX8o6 ׺@?Wg-|K(ol| A SSϥWmc_K/KپgsΓ~/C K}m/յ}KK0 m/ _u1[ޖڷwXOi] ,B @Ps}4)VteZF/isbpU- g/֭N*q_OODBO8(ZE9:1]5O/fGzZEGT|>ug LS]o|o}q R,04L2Tm/~ʬկ5z]kޓ9|I^*צ}H0-a*]zۯJ/> +J]e:YURD}A<>?o_#Ez [^0~b-룪>l1Gt_}U0 E6$"&-<^>PïKz-oY0϶FK5ң Ћ$ᆗ*?]._UׄIYAg6Kk8Nhl|H|0z[:,<:ᴊZ{91"` m&QAx"/郆G[p a_]%l.OiU-֞Q ` M=z]7I&گn-lq^/mC1}m/յ}/!:I0.AizZA + z>4HZZ]D!H4 5IV%- |F2@P}eKHU,% A_mZXGpF,`t9y uA'J]i2z~{ |[f3A!6}%ZXA + I#aSo l} ic$0)%M[{"jᄰb#붓/{GIB KnVoKKk B a`"A!?_,W@ rIl?@CL +tUk(C|a#RP@[4. "<_~*_qqjMAa&T;&d6'H8^qm}  50B5J}/@|_R"B +M1_PL#E""DC DDDDDPQU(D'-Մ; +ܭ)20qC(A^vE& (pa &h33h։n1uOpv `TmlZmy[%ag>OnP4<_#NKL?"$3D4]pê +}l9N,A  KSL*΂Mփ:]*{l.a5 oa Qqű׭٨j?N'z$Ymi6dtiI_`A??gPCmBsFI=&^si'I^NyBS#>$/jszY(Udi~ B9 _1J{l"жqBOyyőGgP +t)IE Z.sRt}/j\鮗iAK˺G0ϭP~$PIo|_ŪGP驀k]/K >+_}$@9|D?FEV?0( A-09O` <_~*_q AK]3A Vxb[4H,|o=@mxkK4AE|D $fARhXNTi ut=SBmT")`D2X"MnMTV)ؚ;.#|2ZUQ>(A +RsQF+yKTjGi9Taѭ0pl5Zal6qe +ErBl8w FTw bLMBF!1lP"" c!6膉 BgpHL[>y[I>WUU?=2(tB}d2:"I$ pm&Q!dOL +?#N_5P__6N/Mm?a/Å?Ë[| K?:^7aVO3$< ޢm:{JÜүj{O(L:?H;Jas^Ԙ_DN5vPu䟮V& / QoA/a oAI?k_PH.q/_O9Tm䍳4GD?NH IzS^q/^4λW^;VK^X._Bo1>"pUB4Iy ,!ZM8WUBak_ȏӮ*q +}B qyRΟ:5I#Ч&nUsP%SK"/`Ց0WeO%8ʺ9nۭ%o@jiz˱RIG8Ћyӫ=K"? q_I>trq?>K. $a/~}>t?Dt4)eUa_o7~*ƿc_=N/}/^ >?VSK~?;Uͯz^U޾R%b%[(AB">nUW/O-Rah?o__T)~]zYx` 8Kƿ_KA& _K5!qC_Ί_kOϢ+ uŽYRDᙲIv_oK>49,S`3! ?^jKo{+рkA<:/{i2nzTA0TLr#灦co^F_>)g@T0VHz׵A{EȌXy uoK8׏Y|&dWϡ@_K6׼qB;*zvjoo `5v~}3Z AzU΋{@.[pE//bKn^9{[WK_K?}mo\|~?}mV:]3.E_KtpS~_ޭڷZ kAAKm[P÷(iX!qiZS>XHB45tB)V+i_-g'hdwM륥/xq6\DԇQz[}z^0dsV,%tU\zKJ0dsVxߠi79 &K-(_< j/(]/zLo1&M~ZXA NG֫~f_& Z!^+%_JЯ~ߤzX. KܒG%fI_ È =&&EIPboKAiX/ KXdCCL4Akti&|xL4נ^A\E *~{օU^NI .tU7 AϢ aI"00 zA XaRX&8H0ARG@H' 045&%P`MCQ`԰"#4 Dv6J`AND4IQ*ʝ R yY ;FHȭ R yY ;*L2U3*g(#|2i2% Çp"jE3N.Vll8yFF8Amg` ʽ8pw +DŰ٫ kL:g*u +DŰ٫ kL:g pʄèUy[; NAdOL ZNaD;@pg6?m#NAgbQ +ËsT)ŗË܍ 2@ AH"auE]//0:"ү 6 f Zz^U,=2RN'z~$o]M_JU(v5}*WmC15~nndY:IsNd%l?[ŹħUTPu~ѫ dk#\>#KZo5ä}\H辽$5ä}\HXhĂ+ 4G_ooyT5&3 ]o*=$ 6!ulW3ଫUKKZ*%zi$A _5s."оh +j\Ey+S $' 8\5C(z_K?l9(kMj~m +}B-k*qSZ%_CjBPq!#'5iB/y/[zL4&vP?A.+' .kUgWmpTuÞAA:I^a_ƐauN7"4 X5/g&m--Zu#iR w.i'UOsYJ=w.i'UO^U~C_im0T54AtN:pUGKF5A[bKA +AT.Ǐ/s/er&Uyx"?Kehq.Iz[a)R#$U ײ~9 BkI%;T)X׏fDA M]/}&+mo7It}VpiWX▖?t+e zu__G^<]vxK )$F}o(Iο0yxJk>tWo:*ͯ"ࢾj?>Ic/o VƗ?F]>#@{|C =hL+JdMzn_KG Hknz--Ga[so!ih"?lF~1п]Z^-WAׄ=6 jo,zm/LgNA_ Yĕo$_ [3]Io'Y s D|t$Iwu oo&dWwu oo@I3O, a#6a(]_OZ:/@ [mW֡΋--lZ ]^P!2qimԼ"?]|G~cmԼ"?]|Guo_K[WI/K \mק/_@z~m --\u2 im[[T%>/#߯/|5ImFւONS" [x(aƿ_m|~q?;u]k=vE;JҜ#K>=8S)_8v:i:8koKGt^U?cdwMu_?+S8q@#G5m/u^0dsV_Z^?R[ib}~|/G=A6`I&QPi7F>Mi-Z[z_Yd&yH+ C4!:b ̡? mU.xm _l+`/7[ +?K aKKoKt޿Ku /KKu /K";Km*Ka_- wKZA;KH7֓h,iBXoA@&XIK_CL4?IZJ0A/($aTKEc 4j|AEA,0a _SH$tikޑO$A& #H^}'*L0"L biΦ2" M1VA Wqn)idE8@bt A &DH9' `\+__ LV ~> d"p_A&@h1 # ` /_֐A1t OL&аZA @=0XJBh  X[O ! `U¡!A#!FF BF +B8 Cq!A1E2!S)DXI DDGYUQ؄["6H y*H3}ȄjegL"3*YRD"2H3d+<2a'D"&}Ul2FOø`l2FO#H֛"j8l0HRdMCa;KE`8YUZȚÆa[ +{aʒ&M4 / XH#ZaE„F!1l8{ F;L6}A٫ kL:<*A,n.34 , mi8US "~zeϠMp> +ӈ &j;kI 59[l#/3 m.O_;mpϑUe0M쐡m?Lܧ=ɥ> +ROҭ"UUÜzHʤ?#U$Q}-tO8߽I 0q{e"$&^9"w?{bjUTʃv;WүXuXr( xzv8ꪊoLGUQBKղLp_UQB&kC'מW )Jcku& ׃'Jy$tRäܺ)_Ir9Uj.==G_I[X#0؅VJ&Ukfʜ h^K֕VW^KA>q$h^K"ci9:ʀcSi**qn&֫IWkۯ +}BSZ%_?@i}rur}-#]@jnitn-#]]ggs8eP_ X5/ЋK鴃 X5/"D"Kaoy|_t:Nrq?>+i'UOޓ_InIStC;_.5-T׵4Z ["?AֿAWuU__v<IE._9C,i0/sV#@k:4"mwD"S_L <œE&,u QvjKDu[rQvjKDu.}O-Ra~示_ad]RZ_zKpUMq Zu&Zuf<]v[xz HAS봾,0BA4Hx/(AOC])z#@ׄK+IvTѠflRb^/  3^^/_a#/_yNm{_~,C_)w?g! F]L$l3vp =h?a#Xl`/~BD-5mW+o!ih"?Xl +e V拥L<%_۷M~^X^^(/@VHzo,zm/Ka+M>[[u_l?_]>?_FHn$KoҦ#m/ޒ޴QmKo:722W! J%s/vE/_{RkPuu:/A~CM/Q㚗GK޷z[pEؽԼ"?][p5/^)7@VTIOkڷsOAnO)GiWwICoHR$K 6}t/KoHRwr1=NݿTo\yzt졇e -onPÍ-(YBPÍ*o{I}_ǥ[^\"iNz_[O#K_[WL?KGt^U?Xe84~[ ČO$L'_?-/NqYմ Np~_Z^j;t^C_wH!=/H׉#LoH׉ G}xZAlf A +AB~g|`ƿt2AB{HeEW0A !u?KM&ս-VA*0b ~ |0^ WlA&tޖ) IPA7_ /K0?{l?$& [ZA;K z[AK _]m/ <$å/I&oKiqaMxDŽt0ol:E۝A6~zALA0xA0i14H(I5HֿPikޑO/jf% _Mo$A7@Z ` AddE? h M1VAt!PZ&] 5$CpJxhN1Z5` @-@D  զ+A= bLV %R8*5FJi*5F OL&AH f. OL&"EX9*cаza0,P-CDR`#qPCZA))mBA"HGHF(!A(ܸB""""Gbّ+""EQ7"U #R`&%;pƓ 8dFETIDDTa +udB ∍gL2)aMdICaa$C K& Fa8lalaZLMÆʭց4L6 04HL]3 XH#Za¨l:0Al7ۋ͠u X|* +Ld …Ql!&V"~zeϠ\:v֓ѠeV̭a UN_Ki_MU3@=jYqNJ 8m?{nlҷֽuME+r/ea_[EoH6( ?kpiJU?[Ԙ^ }$h/OԈ_Hn?8A_9j%מՃX} ~P /SK{-ྲ\/4?N!UQBĨ7 4 D+z I/B,QFw[ ^E"Z]%M_ RQN/zE2c销#lAuK54UGwI:dm5[t[H5- O歕l4V5/]o}wWh/F[tt^#c@Gal/t6_}_9{*nפT/ZHJYB\kL#)\[in\Z0.~>귮s K#1~:RG?^.+#KzOu_____?H .׽t /!Խi0҆T;F}v^/m!6?"ࢽDKuB1Lk]n(vx36)+/ =hxf +Ii](@YŘ_Sh}?W]P"$DMJşOGuȀB4ՔhUo!㥏_= Ɩ?׵AM(?eu}xIz\E@iJΙ%_] @˭Ry)9Ω/ dGGK7]ڔ_]Ke7IN#~ZI_|u8]_OZ믮( nm>uye/S_xۯ/ tgO(hN?OmS\9nm_=ƪ``44]ӥN~>B_9I- _:?Y~9WAKm[CΫWi_}6ֿ6]}!ykS)q_8pvϋ}c[K:_ZKGt^XU?\2; c_[(k]7`2步? KI`2IcGuםK)?TG=A6Is%ڙi_G?q8)zZM;LV5`Hv Q"0 m'Շ_JЯ- #L% &?h"?~4W"뤒M ,RA 4}/KVD1iJƃhzT:_UJIAiX/H7nH0 I?-&XAIׄ4>]7ߏKi|xIK[Mv":L0l$IBIE*Ib77tAΊTK>aa&M!aރA1I_Ί_H$t 66(+EO +L&M ڜJ"= 46 /$Ȣ0oA"bk 8;ANAL0o#^A+V)0Q`A y@I0y_ RI~얋 X@Ia&MA`'E0 H5a@& ,R YHZ J POt& OL&' ?A 2bOeH1h2 H + `a$0L +%0!A 0*R A7Ђ:B9B i  AhPB)C'(`0DDDDDDi""RDi"175EE-&ЎꡕDjDB;;;dICaaW,p3D&021uaV֘p1i„@!1vʭaϨ8Twmi8[8$D;@Ep먻mp~vq~צ~Q*EOs}u}ODM_JvA3nq)U/1[b}xBla x<|})Gb[KKSOQVAלoׯ1@UZ/֫IW"쪎9( +}BοHGK\@Jb? 7`<^|3t:N~?]ˡļ4F["?Z_Xn~gw\JjKsí B8s}BT8=%3_oK/4<]vץ}3D_O/*-vk>a#E.A?,Y--G"#E +?o ׄ=6^ s:_rFEH _Ǯ/ 9Ύw_]Z믯j>wt_^9x DtA?O_t9u^oHRZS/-_/Z\Em|oX@qxENҴ?ǯ7ѡ>GpKKaxkA=iy~Kނ0dsVkۤcIsM/ xH3_/~1XץCfl+mTa`O$z[ WZA;K[]&/o#t /K b&/$aE}g$FS_HA& #_&] ]eYZA"ZT1]A:h T:ւ d%ab $=T(ZA ^ U ]A)RB# BDQ@ hGZ5Et!E`ANC*Ԏ;L(F#4D(;jF$d>UᐤkL;tKhD2T4Μ3eK3DT4TDeK3Pʃ8ʖf"v@*o5_%?J6Z~VJ5uZkҞIxo:eP_ag:qF!\#"*"<}UܺKϧG"F_#̤Ë]KOē-qpݐǥcW?K@GZ=gb5sЉm~?8~K_WZ#?HerK^? ׯ8g/R0"3@c kٕ}?Z_k +z"875+ k*joşNr_>owsN ,7lyy?@U`*}{^B^(H.^a[KaD^ /M(s^9w_mKoI)P"mI 85]UKv~}3K]Ҥ΋:$iAz[pE+|?4Dbkj6_[kk6EDbe}L_z[}յ.ұ4_便y[YY_~Jd /P1LV-b-$O(U=k?K4X+Jsz$ FfAaᆗaaKGt^cKťa?u0dsVG"$2NqB/۝oA{~|IsM/ _imCtc_f ]4ޗ^[~ߩJЯ4 [=/|h0BI_~Wz_ H"i_iJ,R]$K1"kI ާ/tToB$aΊEaP[QE$_A4 |<I>85jpq%d#^ADb Pa_H2AiAe%PA  ?h0Z_''@$"ڇNk 3MP^$`(F4HKa`J bEEtT"4"!)`B#ADGZ,\㣳\"l;v#:a'D"HdK5fΆNpȒ%hd*HLKLŸf22 3fjj3 0l6u0l[#8eLpl2Bg9Z\2YփgS 3T \8I; + n$Am#&۲TeQ7La4#&۲R j)4$}PA WuUha{ [tF Hqv\fh:D:a{ [t@@D'I$K4JHFzo A0ejcS(l#R[xnm"\$a₢t :磊}%úOb}BGM}%oUM$tv(0./zCo*ϱսo oA/Gr|"{n@m]_ʃ ?JKI@5k/lKB5k/ MI.<Ҵ$!OO$CM^H>&? W^ڄYޒV4н$t6 + 4#J^< +ؚzN"=$Q&4I/$AzaVITn4O󐿈-gU$&>AA%} Nj ְI-D8 gI \ּsOC'A硨iaCL/CL*\E-;+Ί#@6$ԣ./QDN$jZs +0.J_. _G U5 +֍K 0\61v +k .w~R^R\=LZtN)/)..UPUa$nɝ_Wt=Xd0m31#Xa8e9\֠y!pD|dV\[(AzZ#k!5@PD/?}4Rp=-**)W=-4Rp=-*%W6ozBF\[i~-|]Kai#\5$ +zM%΅nڠjmsTgB[PL4U}6yADbb/ #@ϧJ"oOa]m8ʭZ F/IZ85imѬhzM UAEy}wwA6eO?< YB[elAg{8KK0{:'[$_ {8zz_z_n.a#Ql?o+^ 9_ a_tG[6o+[WVyK 7_ʬqռi0\U4@"տ8_i{Q&lK.Ҍw?CzM޿Վz_VTTяaߑw׿:1I:Qicm}z^7M]륷zPoa/ :Pm~}EUmk-ZȚ-Auzvhmk[-~P?k[~-kP m,=t/W:nHU,#~?KE}c 2i9B㶖-"?[Aa]0~ o"?[AazpWK'o/UFy:&ۭ#a_7DQaI"`m|R#5 Ǘ 6 .~a#R\:/ʐcˆ ߗ ?A0 z I$jJ2 -&a^z[(PW< f &Y^~Yũ%bQB 1젾y"D4!P\@A֝PA0|~A A h0׆?T׆L,EAqK $ BAMa j_ XAX*3A 6x5\*A0UfHB*A, T !# B#PE!8}$A + 8ADXB""""""""(!ɹ2,H]"JFU#[JUF@ 둼xa^ȄStEFD b" f}2tv:#6 XdÇpmg? ȍ\6Rahm6E0gق"փg٩ӃvaB#H XP6 v3Ae:{lpeQC*D EM 7 UjkqY(}#):ZYS> +ӈ +Q 4YqNT:*9z-A!CNr [*u2/a)5$*2(VPC VvP l#  Ρ oMo0:F Vc cQ( Ҧh#FS}o5$#F!_=Tͬsނ]2V՗{usI?;'~,S5W^ W_m&uI/@6_kIW[ς~ѫ_ςxs_BJ!j"BҞI7 *ȗI{*ř<:!OYqr^NW*QAzϣڈ-jp#} k(kG^> +ؚP +NL(TCs Ur0Ec8ܜUs=TXr~->[ ~eTq9C\_i~kARN3:V}ԫNE_Shڨ>]?zeq 4:*? Oey_K::C=Ky*?B/'!"azC*꧚!^?^?G9) !uZܺOϤ~kkua#LO(K^u4x_wW==/Jˍ'%ުx}ʽt9z%dGGWSX*{":4H܄DH.?K_ҰhD~?G4"mw<œGbBr +ƏP/bAz HYK-F6 'G׭fRZ#oa.Ihk;gH1z$}.l Sg_HKq/M-/\y-:ׯzZuK 1\?mbuYBQuYY4k izXAOC]+k.t/q1s~{%U^oa殶_殶[ <GF/};_zZi_ϧ_a۞(K V!2BeV {_ai_ֻB_/r]%B&YyK|Q~MzXi9z^0sIF ]KH%KlpY2 =\+/(Y#m[$"?/:q"?mK8]8\m;~ӄ]_JD|%[e: 7%7:>_΋zY."p3|N[l -"z[~ q^`4BkKIB !;_[uZAmmmm"?8<}+SkK_QA/vt~.KKtcK|rBяZ/\ ׾D-+kCӠKm[#=N-(_޿BJ&vQk4_҃M^E;JҜK)-ZKo U𴎫K) =("ᔏKi.iz_[_cNz]d"/0dsVKħ_-93Kc/KVWKZP/ս$(4].? \"? l$z 6$J8:oiso/*3_mI?]0 &uKtU@oIAJ:*(h$&H$t^q`I2V z$cyG  Ƃ :OcyR ypJ[2DdE>9W.2Z# As\zy4c a|$Ah&T!p$ l ~`A!A _@Ǥ BAҥ $ PA>B!kB$ y Ρ!0i3M5F*AU[_B„#@U  N|0)(XA 0 +vKjFBDE!BF)LPO!(a0DDDDDDFCDDD帪2 ֑>[#Xʥgъ'DO;|"(\b:lE(eQU Z  HDöcT",x.p0l8w ԍhFS;l n< : +ah:%(H.B h}A?wj1pdQ2:"H/=2(tűfP zo! BqE젆YN/M 8E=IJ<\:]IvRÜҭ/k~H?h?I _^ڍy'Jy$t]zZvUg[O75Bnz*=~"- ejadqb_zr5?OCn F`=_Sh<ѪSS:T/$m%׵ Q8]΅>|DW?!?!i)Ė9dp@J)kK hq/M&FGyӫ8Ћ>FqB@E%4 G^}>_~S@_報)eeVj(]K'%Xz-/0 {K?]_~rjuYB#{)#0tVm~?׷9IAX?G/fPmkmoZ8DxRh5pK--?I,0> A0~]z_%n(D{XaBⰕogEvşOU/~x'_iNK#﷥şOsS-/],q~z-nzF]ߥ?gD-?K<{TWKK8)\2KouΏ}o ovT[@A B!]|q<0 +t__׿Abo-Vv~}3KUׄ$/tzۂ/ׯ/_oq?o _kzG״8~|5y#տ ^h_.JsG}7 >&mվ?ˋz_0,WӎE;JҜ4:__U/wScX \|ַ#m/Kao~sK6 _pHV`2步;ވK]=9eK+U}!# Z^1X__^c?/-_K`_w[J Ub ]7RN-||_z H"i^o߰ ^~ZCL4Xb Izz-b$I,tA:+í ᧤"=ׂ֖ A& # d%akhp"L/ 4?B GC xH4 fammPB"`0UB# +TaAbF"(!)"""?h5GjoW ؚ; Pʪ5(eS?ӆv7D Dϱ g$+C qs-dD64ȦKr.p  UZNMp2"wl8m LU;q?aV֘p9e8P$&.*nϨ0M#I0#AHL7N$TMal' &'QT:;=$MAxYB:#A0]$hiae; ~\3#D1,qϪv#0s.Y$@oݽA =&ap d? 9οylbgBN-.\U[mL&^ Oal?*<ԛ8U:z|MH0QrZc?I$_WҮSv${O:}/Jpg4 <[JuUE Ax(ZE?gV"-$Kg"HmWl:Z^604dB5O$&}ݾ ~UMcSp_oo]`b[ )Fy@ziyʵz4Y}?нBInse:1']--fĽl~wTJWqSʰ9 J&Ž8}}Mj~Qϯm^ʨr._:Q:_yZ"ƌץ~hȏHe/it^.vP̓W3~k#u[AK89!~}/:h/]yvoy|-B/IGRGUVR-=~_dd~"/ ?qM:~.IC9;(3%aG.ij?};)?j ?ixPD~/Ni#??l_ΞO/Sޕ"?;. +(2p㮓*G{TK=  )&"+Ks8֗Z~H_Ҵu ? TZezI/M示_&+ Dj1D{tӵLW6PmA5%_tB.KoKK^h(ou_Z\FF-g9z`i~BM_(kͬ$ֿ5f#M!R_+ᇯ4F/"$})8D{$> *ZuhKҤ_BZ^BDVnzKoA͕:{wKKi0HR|?]d5~Ǧଔ6L?^">xko3j/K$/ xN>xᄁF3$H?%_?/!BH_ XᥤgB ]|ao_A0"@0B?+tB A&=`zZӝ##&A1qCI$5/^A@Kn^\5~y~ĺҍ&& 4:9>|_a%m]/?$D_mm~?w<7H}?@zIvյoHRJq{]ӥg{~I6/҈ZUئ)PÍ I_]3ZW_Km$ A~\$_8B _>E;JҜ׎?Zk +1x_ҬI.L/~ 鴽/Y/k5b@$aQJ$A/QVF,j_z_zM +j?*`"I.:F>M| A}(4_A0K}+5G68#`aId&e O kM!:bR箴ʭ?[~A("=:ꮓi }CxA Z]o Z7J7v 'a/I +Aax (}=,RAMIzW3y7[ߥ]77H7n Mx^~_ +Jޗt$p@ .I07D&"][i.AڥXq,:H KcE~0AЦI S_=[O(' H^}h,\u`:y2(:M<9:5]&TzW`i%acT$xn yžADPKt(&($LRLK[sgدH?n'VH, vk4 _+ +?D%:+ O P*ǵi3M0а :zB++ `#F B" +EB""4"k +i$g)GkhGA1A՚A DD.8F&&[[iXiC:=7ޓ}޶҆҆ +endstream +endobj +24 0 obj <>stream +x+*T04U0B C=SSB!9WA?37\%_!+) H!$Ѕr\CdP +endstream +endobj +25 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +26 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 87347/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYH|#ÆG>?H= AnQr ڧL$MItJJ?LgռDdd;OHM'V?׷7 +W_I%oz:k&o6Yֿ_e?/4KjFƗKciZuM&֗ 8}=:ZM֟ I// W=V___oa~%֒M$/KER^_Q@^[0$׹mޗ=="u_Zz_/K 0kWr뤗 !JKꖕ/B4AJzzzJ`ꇫIt&~Lgm$pP7 `ahaXa$Bo zhN+YR+ y[P &t`Ȣ *at$ˆ etu\ /sj[cZ4tfa:k?#YW\K5?<>~"=k"=?莍^G+L_8O5k](\0@;5>yP'~A0~b9K󪭷O׏ Y ^ބY ?K~DluSE/y u2~oeNbj$^iqΟҭ-hZ^iZZ _\-DtC*I/ A KҥJ6OI7h+X>RMPI]& oK!AwKaJ1 Knt_Z[e9uo_I ӤO +P|$Q%NmK`AP_`Ȣٴm!ao.uw +-h&m0 9ǰ\0Te;+ypF[(\ h T|N vPoKX}v;΋bGU0gM%ps 2<F__`?$='װ#~TR.2ZE:_(]--W+*g4?_m$qd>?B +"yG99 +pΚK.o︃?|t!h/4_#[p?nnMk62u^ד@@;-nB +X">z㏌XxAuKI{&`K~/^G(aJ B, b:uwz#`iu_6y uzt_s~ x_WuuUUZ4ozu6xM6]%D~at--h2_/#[mmmt--HOkZֻ1LVAh*#-AiQV;M0ZZ@FN饼Dԉuh+]p$l&a4(.O@]!imXbۆL0_Aim`oK -J[ DtI$[oK`i7Ab aC4(il7AaTa0!4P@Ab!`I~L {$eh # F ZQGY)n!S<גvv}" aɄEpU +8a"Y[ʰ3f?-Dm2>F2V(}T-8aHK;/쩯>O3pM}/}?tG$w֙q Sh2,  ̡|CgJa Z_NMk/j_KKT RN +zIտeTq9Csk4΃We S}q˺#*}~s:3 Ԏ/5z]knֳc/޿׆]x tKv@*N+lRvkMoe( `x|~߾O:0~b-룪>l1}L0k㎱C5PïKz-oЋ$ᆗ*?_WOg6H~^sEk﾿a49 ^׿4AAq$tƻւyu6{*5?{.𛥤[|[UMm]&-hҞۭ=H?jZZ@$'I_.1LSZ + HR z>M4ւ@$$q FiZZ@FKGab#WMHt-}IiaA 9 Ip$IB &QPasaР6Ay=_m&AwZ[vA`&V֖0t0b#붓/ܬ Ltz_%-">`"A! rIlP9B1AH& @H,2jRH2 M 50Ejv4_R"B,B(!J""((4Kuam g20qCE"6l0al3?.P6yVyL2a~*9-r1ȭ$':W0$3^ʚeqVtmo6&_a Qqű'hL)H#NrNAA<GoH~_{I:M6tC޿:M(87\2ik_)]Om\Ri'#K,<:__y{+=ѫs^@:FuO@50 kkx%8lᩲh:Z͌_udGK:d/AGnP']{(?Q]k?@s)o&`_K"|Mb Zd/ d\0{}GϫKDl6f_ +Ë#Zy umzRKK?׿4A=kւyoC">׺K&oI>"W_eյ- KKA/҈=eT}b-DtWg9ˮz ?iߧAvazZ@F&:XJۮzZ - OoZ_K!6K!Awt\i6bݤ_=]_ $HVە ??k_>'A9$C$hJ< )La{WAaUW`*4|o=@m%^GFd +E!ǖ@hM5R +Ј +#,n!S96 \2a|e;%Kȭ6 Ӭ@oA LײlN-.\U[0⤷%>jM +_*4!BKL|{蓴I$;L)n=??GN?gP.!e7=g&pMoo~T}I}&(:`kKKZ R~pk_N?uJyőy_)~ ϡT>@p_|WɌ~?+ֳc/a7 +ǿ^ +JKPNh0KhPn(6uDC7xbnr1mK9Θ} BiM{mi?|Mb_Yoֿ7Ep_͕:{wI^>zuz#`oI}~5CCpZX[nBH_ Xs^׿ Z.WU_Z4n OR.:9>|kH_,m[[[]- KKA ,ֻ1LVAh*#siA~Bѡa5,$moy K~ =ǎr9Bl +CBzSi/ۆL_߶ەB杄Gz$/ TDI- +=[O0@[Saw0:` 0c{ {@Ab> ]Qy8߂/s + Y:X(KhGGZ9b&󹣰$ANWW-Qږ; PRdB"׃>4F"g;C k;|iu7ȒÆfEհdUC4m0epve a& 6 p欋iXH#Za tBLh0 Fuw +-h&L:#I0 aHL7NfmZNM&y=A;h.aH*y>T3mNPaL,7I.F2oˆ}h&9ŒZ6V8m^Peja~Pi {Yt0$$Q3 3c!eMu_$ +ņ=MByuH0ܤF8߶D3Wgʄ'OO >&j>;DrW$ꮴΫbF0gJNn=Ny]>;qnnjS(Zh O RP +CgJjk_F_/R}/wՈ I$Z_Mäy8jv$ejrAi'[οI?@_>~q{œaOK>Gb[쭐$(~/j +~92ZE:_(_Sz~;ioz']--:zŒ/rjt/Kʙ#M/O4{z_B꒿ZJ(׶S5I?6diŒ8h(4D?nKס?Acz_΃<JDzs?0g!Nҿ8g!:Yl=].:חtA/&#s 5RR*ebu/}M:~.Ik|:4Du}h/PgWeq1Em-G["?'_IrV[p?f$GtRF]"?;N +(2~leJ-?xʾ@ B5 +IJK-?U+KK݅M]/WRVPzAZhXX"_8]GL#NA1_bx/IZ,Eg_~+ +8UoX}`i~[a ?EJZkֿ5f#zK3M ?#!$ +_䀩k=/Jt=[L?\Ћ$cVQ_UW*t믊at K҆ FkY!I/">l2y u[K~"GD?-Zth|0~>!MI -sD-OCu/Z _AWUT/_ |{= Mci|=BGºu?^A"=l/+A{sR@u$` ]7?/4 IkGZZQ߂A&^ $g$m KmRAygG?^|&_ /jށ)z%aq8/KHDbtxAwTk_AwTkQ:^u&Mئ)Ke 8 ^Ah*#_AnA"Ѕ?!nrJIbMi#K --.KqE8*SZk +1xiW$KHXH-Zݕg[;sK5ՋRiy۠ _zXJ۬r*qkKw"I/wJ&Ht5_#^&־h $O)TP_JǬ } A%!6H3_Bb -|7XA + O#M$%G%Oö߄J}Cw߆Z[vgz_J7v 'aixZAaim 'Wᴿ+KaVKҿaɽRۈ a׎PZ[r#>oK -L4IR|| 0&/lX@%-";XAMm-K$[D&"][A6~! ? Ԓ[Tm&H6X`A S ]kI5HցE^1A& (fr -K%%0sXjl5aA7vQ *H>- ޝ$ ӄa0!550!& + 0IQ`&X*[A&Ka$ a/AA@A0zM0 ; Aza0$zX/tUbF@AK$XAAc*!&z X#E"J! F ZB#B.M`!A !DE"AFDDDDb""?ꨂ"K-FK";FBʒ ek2DܞU;vD"DYPμA=$B":lFR5ga}9HPIQ+3}jL3}hD>[64֮8mL6BE&`N|בu ;NmL6By+6m8l; A*DkD ΁Ϩ6.Z aaHL7N1w` Luw +-â&)ôE>CH tݗZT:BAs ]%|(D#:DS Fz +, f[{ 3 OY$@oᲰW ޟPa(]'Ԋ[(MKe m!7zBZ]: + 6Q(v_<~ $W:{bN_B$Ǻ~s'^+z_O >&j>)"z_M??GV^0gKUӞWd?N^Bm`%F ༇_͍RYkK6_Ո I$!&UMHKɅa􍤿?I _':y䧒GEHC~mzG/vS0JIIl=@='נDǤDpcLWi2"~P_}?нBI"L@ d5|7CCZHK +7](BIAp9(ʰ9 JIV%p8*K'YKʙ#M/N4f+EFz +}B3HADCk"W^ֽ>ADCN,Ƃ6XރN,CADCB_O/K"=9^a 0 Ctz]Q9uO[~Qz 8gDJDzs?0g N͍KqcavC G8#Xz }$0/zp@_ePvRg#X>mBQ"ocZOn 4iA|SWZV":?Z_ΞO/ҷ}-Du ?Kh!]~"?ue_@_A]~[ ҺuPNh0K {Kn +iiz!bg۫_ÍbP~!8=)EZ_]vEctGg'0;]8?'ch,WO/XX"_unr1mK9.0. y37Bzŭ.#] 𗙩8ȐXԍ]~5scZo!tq^/A]?M~yt癈W[^W=zlR/AVIZgB!$ +_/GR۬#@z^J 0J W:eTuFMW[_!~uL1+(5l=:euT}_~֒Ӝ/eW_,aKFh +]Wt$/zm:}/imX:4XH?Liq#"_+O"tmLZF}~}_MZ _A}1uhϼ/[NmA1qCEsU D\.տ}#&9Ϫ^򏇨@G=BGºB^}_>.~{ޞ~ĺҍ&& 4 ~&.qj Ikq#Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-/҈~ҿ[_kWӣZ#`6]IiukF+ZLFֵ+QA~I[z Km&넖!I(Ac+׽A"A"Ѕ?A~Az/(i1Ꙃ[]&b$+(i-ȀT~zS~z5 qfQe-2"Ί[t1I/,0aҿI$l%v_ ;- dBm& 05)oKa ?a.qO.>tʔil:I$jJ +L0&< J:^ -N39R-2(2x0tʔzL4c{ {%GAtc ߤA& 0DAaNM:AaAIA SLAa⼜o_B^L& 4$_A0A@A0zM0 ׊; b!/! Li/,0ZT 4 a0a&AaKhx_Ta$KAPi/,RA?A!!Ξ0AH4X ^XNAPi/B SB8""Ј +B#B-$aBArLvhphA@HP iDDhDDDFB""""""#CB"4(!DDDD+"'-g*Iulue YB + D*E02"p۸pm0evZ Jt,DkػQh&)D˄OaL,7I(e>æ笡@7\4s.:@oz-*_Xl!H[+k}7W:zal?FTCvC^>F TS]jC򅤒_ CZ^Sצ`t{*i4y='נD#;ioz'_1{ &R^CZ#E9z_B꒿:gKӥakЋ>' iŒ8Q7㥝VE9cV{yG922 +jߔz ۂ 5K=tp"i6x>-P"?:[搠tR%֕a+]&UւKuy:#5Ҵ TC۫t҄3Fbe"8?'^E?;Rzŭ.#s'E ^f \f>Z3%[^%ԫ¥XF*kD$AQ W]|VKaYGT,a]~5FUEd?Xm:}/5k| a_EA>ગZ:D{0^Vԇ9>@F/L %֔i76>I|6]%Ɩ`4T>f:M_AcRAygʼL?$K/[_kWӣZXk$sI[zB ^>!~A6T_(><ԁ({972;sKv4AsGW=_kG/܍lAJVO)Kaxo%GۯM$#<7N$oK<-- piB ͫI7Y izF_yb!BI/HKI􍤽#i/` ] ~_eM&>\_|)%$$4HǤr dG㶖I"u1e"~P] Y[^$ѠkA$!CZ3 l4EK(M9 Jpkg.`=/Nr5ޗ󐺤3G$^TJO*g3'^zfk,@gN,ƂY8^ֽ|zIJ9Y>>Bpi,.Tqs2KFfzVOe)9RYO㥝VE9c:|= :b:|/ZIZV":?GFVtRm#zPjۄGZ[p}i_㮓*GA %N^ej¼ue_@XKui$ n]~5Ҵ TC۫iEZV_ )"۫۫#F=_=\4GH:Ii&+P~!2z S) z<Βav +JXH,WOgdlʢZ?g9~\ %jpg,UoXa/3XaAu/3\?_>"<ֺ}s#IV. i5\1KxaiVU4T_/:K_nzUЈI+8KY-}4P*#}3MI+$AQ ~_!cVQGZ[Rui0HXcVQmtbvRL}1i-_ /3 $igJ+bW[^t]#&?9\=BG?/er@ `  D\P^ 0z{!K(ol| Au |6]%}s]iF~c6]%iz 30tt Ik^}0kjkm3I@,aײ_/#sپgsΓ~/L* >/ $g&R+:ϥXmpïjMw~I6D_X+ZLFD_KoL?$HV_LV!ZV_Nյ1LW넖!I(A~#+V?^e-Xk$A"A&)+tA"nkb$+yULPq% +1xUCB UQF?=T߷M4|~0RqϳRiiSV/F_ kH%ZUK~8h: +皏 +z-}SZ^+PpGkgA\QAU5'ꚪkK|_ zA%Ka'CA9L_ }`A%O) +SK][Kaxo%Gۯm$49:C&VKaxo%G6 $ʆsv 'a[i7Fwm&PF+ xo$gz^Hb)ޗ7J<-- }c Mm/Am,6}PӤҿޗ7A(aoKH Dva#+%W `~56mM^-Iv@ &m&o*I]*jzۡ MxAa SIoKo$i6m&Ihc& < /08/J}aC4(t|i%tJb (aC4(?AҴyŸA~zAN^aXd%Ty`] u=PǝB '&pl1qb`AkaGo!/&K A/0AkaG 0&L& 44'080AGH4 ^Xb]80A Z$>&0@ApH % /ba!hP i aPB@DhF1  FAЌDDhDDFB"""""""""""1`|m\exmȔa-tl;MV6(PoiuHN)i+`EʌѨ~pk?PcS4R&P)/?7zT=$Txa8>#/ Oρ_i{z_Il"^?.K{YIBu//Ӝ_}uKQWp?*5#Zϯj}: Q[);E_Yq'lӡ>[Y.g'v6jT=aaӷح/0at4zW_X7"AIƾ8 ADBM󧥮 >=WA 1C +)G"Ri} 4ŠCDEBd6D`DUQ\+z)n!["D3A0g^ -D" Y"+EterR0YR9[5 ؖF ' kȺf P.p H"W6Fy:"vw:"ə-&kF?ԁ0 Tt1(alFa (Ȫ6*ahΓgV'e.34 p=FB FJBZ.ghAdP!hU*âW9vK_ea2Aqem_Z`S (!o(e13#@hH欐2Ƒ#%/Li/Q) {a|!mUY (죾Jz`8s׋үز 1a=~q/mH0Q4/#'H*9!_]#tЍAz$v{vt^:_]kζ$u(P]W k K6D?(ZI%I_kKSiz`ka Ad뜅K IO$I?m-/PD d55ZZI(KO'=$UkOtz_B꒲2T9}e H BE͆fTYAe /L4{m~'^ziŐt'6P3GEIE >K`Ҿt) ȝ;K_pi,.Tqs$G95%xPo~N1ǭ4]t?qTru/C er(#oPɅE_JrB~R9X r8pKQ-H}G/ZFr鑏ۥЇ󧲓'KKn~ÏKz#_(F7:KaGWL n)"?L_8_I$kA/O.?/+KKKn(yF<ϣZ0 >k0@U3.V#y$4t,WO-/J}B,_|";?%oH]`u*ޱkK ^f//80a~h(o߾7@Z3JisG,0^kP>]6%gPk=/J$AQ _B[mzKaϧZ ⴘz]$,1+(-K p>$]K GuޖH_A0$/Jr:[m#9 orGou:-/!_imfi--K]Ko-|D|_ /3 ?[S_8kKo-6ߺ|{(3G Mh.#im K?t_^^ֿZQ߂A&( IkKxOKoKoN߂#_oڷ;t$eqT^GY}-q,u_m[[K.a &kW"@?%VUJKK1_넖!I(A$RU- -/Hm$K^M5z_B ^>!UF?=Q椗[/t I-M5m#U腭-2=cϯK}{/P9ZF3y C(ZEa_h/$AzMK<Ϭ?$?p*L_AIqz[y /ö߄Jm$H3<=eiǿm$ȏ[*l?bIaFw -??;jz^ү~&Kl6دֿ/Jۈ[@&o_ӤzޗzK1 WMMO/^zZvki7ҿ?o$h/EBWi0u'x@B ҆i*QOHԉ딍GF?\z>k4yRaA7vT2V0o8-'&OWA7a?0ǝBdU0x1&)/1H&($LPAaT _+ +?D$L& 4 +Ao# e@Dւi,`:HP+($ehOPk l.3 ]¡a8Bߘ _Ags `xAZ @v߉uM Mh"ptپgsΓ~/L* >k^?aA$Bt} ,B @PI[r`*x( HUTcղ;s|~0Z +j?*JG69<tKaxo%GvKoa; K[aɽR }Pޗb+i6,0s5TAQ'JF!?)& %- I SըAa2 x(A00^ a80A A  3d#ХGY +^h"",ȕ"J%HK KDKua;.:μAVDRgLdg3v/ 뒄piô6mL6B(aÇ +Miv4fla eVPWdgWp醃"ʄP,"7 wvFŪFͲݗAIoag.P4ABI7P< Y? &tI7\e;%иl#qБ7A&r0)x3kGB7H[.cA&&ʭ74L=RB2S|C +, +z*IZI[੔w漺?BfV*iI[ૄz8߱AޖޗƒHR z\^SϓH0$#s /N'i'$a_V򄗡iRL?Ka&I0/ I􍤽#i/uA %IPAHKC F\_~KKM㦂 x_ $ H_q?I$c!c!񮎐, / IMC_$ )@k_B&H3T>r5^#Hly *E$"T:R}iŧHӬR}iyfhQӋϯ< |Zq/Ȱ4$aDzs:#Ӝ5%'_0"=9+ #/bbe[뮾/eP*2aB 5C er( PC #opC r/ +0scISHIm[_ޒ7JHIm8, %[~D?t!_JT[pKn~ÏKz#_J͎JۄG_^\":O":u$ n]~&VALQJ$ +-_o+Aa-U*]zXvQD^_Q~<J 6QD_C$8L B"?={QD_6 +Duz/9ŪAh,Wņ$x0Xh,Woxh,WlKI ^f//KI&l /&l  M_~E tJҭ/A_/ 5Pm&ҭe#OI6ozJ_]#4؄BI_?/m}&&3MI+ˆlBI_mfWiXmkmVq֖msPt~)V u]Ja@6]%|]<$Â#'J .% Uo6]__Ka^ ~K--š,z_AB ^A7O߯c ^z &F}-/4"bĨH$iag[$iuuKoL>=BG.."AAKL$a@L>߮?_L>{R0ge 6]%->z)g) uלZA>.4H Cm[/ $g%R+:ϯϯk#頶Q $g%RHdK+HdK+ڶ^?ނJ+Zֵ+鑠WŎ:%aMk(A0B~uV!ZױLS0_Ao 1I[Z? IJAt$bI_LRV_ץA1?5$ UF~?>Є@KT}UZ*#5A*r?Z __JDto MU5 i { DSMAZ'*?~ +S;gII3=AryM! <=fiW'!6AȆdI? `AAȆm?< +&D4K $)b~oKeWA AFv@K  R3W }c ^ 6OoGi6";I/t@A#$x@A#bA$MMM@i$Iҵ@ &o=-P Iz]H6ioKåm_A$Ii7A$IzA& A:P ҆g*QOAl4'J]r'JKi:NMc&/<NMǠxA$U-7A00a0a Pa0 L|>p@ 4A04X>V0@A0H % ؠA0@Ah!c [ ` *R%@P OаFhP!iJD@RDDDDDDDDDDDPQd*Eb%H"T*RXC D"(ˢg3IQLL#M3! 0QDl:Ӈpim0E8d \2a+MDaٴH YPBFۦ *!*n Hlef2~g(i Tt!$h)ˤT M4l:Ai ݲ& 0m& d:+e@4$f ֎oO#G#0o*jrk?Hκ74%mPEI2I3+|z‹)B )BLJ4 +L'K!H$mcK' $JUlE /N'i"N򄗡iRL?KXBKеC:͔CzPS&AAȤ ߤm%a/m_ F]-/It^$HAzZh,s,q?__A$$] Y_cIU(VKQ$c! H GJ"T/_AA":U>L/m- /!%O?A%] 4ӋӬޒQ}BϯI84R}iO"ГIRbjK5BNm$} :bߧpiaDzs/eP*2azZJ(a(㔯G ^,J0 6t JrB +kR91?MҠ%[?izJ$pҲ^?KHImB_}(F6:m*FjKnqoDtk5iB6i%A(F7pT[pCפ+C{^(/H0IEH ! ^[_K/B|2H ^{>/Bt/&A lkj[nAGMpi#=,*>K #/ϯ6kM F{"Y\U/յ/AX㠂V!Zԋߨ-jZ VeYU*PcʲH VS1^^H$%nKTpкPx6_H IJviKB UQ?5$E_GBAA-! V*#5S kRF vR \DGK MjB. wi%zuA"~ +A:JL_'D\~Ki +A& $H3<=eA4m$ȮʨI"IHb&Uqo9yho_H #;k 6/ _+ؠAm/BH DvnxBA$߷>&__IGi7, ſI6n/'A6O/hA$MR.bIl:WA7:HIu#@bIl> 6 ͆ ACOa +6Ň@H.F$&  t$ HHSI8A70HSA1<$ڨ A h4A  pn`a~A04_aC;yY*2!xH4DY(@ȁ KU +P` *b]}4BfAAUx"5#DD $,*!Bm( Лdj(!J"""(!ABDGY +]iMQ; D&da-Մ; dB"8g\ Y>E\tϺAv# N$#IMm0E YP#Hւv+sdi&ٴH 6"7^ؐnBg&awwe.34 8(M\{ 9t*uI dt0: SlIc).ȋ1l yE/F?ž`ŗI@uP yE74Q0G}jˣզeo_t@<~N(fV*08߸4_0aM$lOGR,D8 z_DN_yζϝa_!Ny]:Bm`L[a_KC F^6D?(ZI%쪚􍤺Z^q?@ }'o8HG$h Iom%IMCQQפ;ioz'LW6%$c!y *sQ9RrTZtE$u?,*!#Zq~g=j]KE΅>0$D?,(֜_I/Ȱ4A D|% R#Ӝ0 L:+Votz]Q9umSrA0"=9I]%{*3x%Ӆ +k98$L\zDAI7AԎu+SB z "]%S +zt r8pKQA8-"]%i%* -Duǥv_gOe'NKno+Qa-Y"?Ȏ?A^:2DK`u뮉c/ܿB!ejMm{_֕bgejMmk= 4G_ H`JX^;y4tE)Z Μgb6]罿HԫޱkK- q6]}nv=>}$UxA~VM~yt癈muG&ҭ3DuˆlBI_<ēp*ZuhKү}9lBI^XoSim&UoDFmuZL=.o{Wt/I(l4/^9+d,a^f +҆K#GKayH&KKlz x/!yW?I?A$HϿ D _A[UI03tjv"?A v_S.PgWx@ +S ^_ u-~*gĺҍ&& 4[{A |6]o-$ȖWK量|&_ / $g%Rm[[K.҈$J+Z`Wa &nk +ֽb[t$bL[\$&IB {LRV_ץ?>Є@( HW`*xx@49-UJ|~0mG$q/ ?T&-"ᰏsWgA\QAUA"~CAryL %&T΀lAJmW'!6Ξf"IgWHxl;o A[ .Li'@A AFwU]a; Km-p@U izL><-Ka $ۤ?>j}P,0Gi7, J$II 0b+ql4 Iz]"MIl:W&Mq5:*[" ,0cA& kg. (tzXH0< J>O*Xa%ȮH t$ cL`I ߇GcLLK[,0  `I [ANA04_sXAkaG4,B |8 A`bF9` *kMSXka U␌ Oа& I A)DDDPB"""""44""((#yZ%H %HR-DKua`8pι%D")3E2T6 >3wprP+*N$:ӆf ]Æ@6laMid4P6fu L&/B#}] UDo6,=mDo-qLMtI7SIB@hŔ#IʴHGNoaoaKm& dᲰa[UA&r0)}V;7CKzytoOi:D-&eo^Q-^-I[੔CL@:W +L'7΄ 6τ1ֹЫqtmqt 6󋣈S z_DNI]k&χ` d~uxfi0/ 27Iz F_d[3AHK[#0( ߤm%F_#@\zO.='eUK|~$] YmO )@k!%6H ~NԂSd1KKIdIS}h/!%OEM{$^BJdǜPH?y:o;ӋӬpoKQϭ80ӋϯI10I9<IG9>`~L_GG9?L8~obiH!)vp>.Cq +0sqWAA{(aPmN.E +0s>c%[?iP:tixaK~ʍ&HImBծ -DuǥѯԟǦ4Z^T[pXm":w0T n^ej8AD\xřKuixl[_ӤH +-^8 ~߲5 +&xD~zO}S(Pkn^(Pkn#Lz! (PknV#oxh,WKKҟPD{+Ab~ /lR+L!kƍnB^uG76]\o Pߏ6] .h0A $Auam{aM[vK^U5/tJ҄G$3p)6o":ulBI_ _'H6!$r_/bJo0=9>T$4؄,7c-$/Ҷc ҶcL8hI[i[l1]}Piu9z_-.CaХ U]xA$ (l4}__A7OZ[4Y_ͯI?f: oK I?1umIT~Iy3PI03 A$HϾү:?H$]\E?_ y 0z~$ak]kƖ 3z[:}q$`φ˯  u]֜PH Cm[/Km.z$D_$D_F{"Y\U/>my#3k]]h V"?]~t4J+Z%ak~qA0Bb)~H$%nKTOH$%n IJ%fc6 PA 4_^@~jI~!*! UFÆSAL/-H%Z$KLo_PH%Zai JA*qA~A5 i {A~A ?T_ $O4T|}/3H <vΒ*g@{GW'A4Ȟ+a&D4M ή "IǰPA2!\W_"I/$1Hz[*huHb݊$1H #; 6핧0Am/AK%A#^ @&&/ݶr1$";Ia o/H Dv~ x@ &mo=-{m4P IzcMtAi6K|$i6+篯vAf!m&0bIo$/H6avA:P'һ` pAEN>DRK'JKii '&yLR^$,I8A7d@I8A7I8A7UKh0_4A04_aC)L&  0@ Ix A`bF0@AZA?A" [5ԊB5$e%H $eWB8 HA +H'XT8 E&@CD$ A(!IT@@RDDDDDDE""""""#,hDKuafS(A[|9K*ɢ!I2)T\̦PڲOSCu 0Æ L69`l28m8e"T"[ 6;a6}$MôuL4#R htwpe+dZ4F@Do-qLaBS:mP7SIB@Zp}M(WQd JIc).weaÌzAp 7_Z`S bAp 7.rSس@P\ 74%oZeqVtmmk&GEC +?VŜ}%gs0/ l 6Tf~D^K'_w6 F]-/$⌞H_q~ޗ2^(yBoKHI~9i2QqOIK_ƺ:@koQq):4 oQubJl2ii%P=_aj_YFK&g2ub?KH?h/<לY R_h^P^x3 yB#?sN/`i!zV}//`~+=y3ҴﯲK1HNs]u\^ʡ8ۈA{I#498+Q_Wu|D_( P_ڑHuO=Txa8?Fg#*Fg#DKoЇjKJK +"?ވj?/KJ/OK":֫?O^ejUւB͆8*]zX,}q})ѵ!}}%Q~;+̃0KN {ey}?}5 +& M= 4GM32^D4/9^D6=h?e"h,W[:DҋK9\/ZtJ.)iAtItCjr:^_vKr:^/^4JG[ kּ tKNpK_z4S׷$?]T_}uimZG?TWo"9XV u__hK$f#ZPKo!xH$׺_K[^}: QKxOa S_>H Cm[-\0wUalpϯk-A^.\}-A3ixcQM(}-Q}?c=g/u|J"A+ kئ)b}asItOe-RqsźLRVM}z_ocK5 #I/ o?T}kKkHK_a#/my \DGK|}m-_ B!2\6 D{-xA_]_MReLh/տ*ץ\i+au5տvH3<=e~\G"I]&+K{3L=ޖʮ?~$1H_j~]7mm0KWAz[A#~ҿv&=%J,7a oXA$II6~&/-j>$IXEZi0zL>5å=[O1Œ ȵ9|D1$i6^L$08 ADBM󧥯I?ΟaiJ}mOlTN7AtǠ?׶y+􃠼| bI8A7UKh0Z4'䠁A_aCN7h%_8 LZHQ /G"Ri}  u#KqHAUx#hG#LZ!d0a aPFȐA +Q +""#,HR,^^hn!["Dk; +prJDLgLdR&vDFtFeW#h8g\B#kp8mٴel8l6  iafkL2%0᳔ͦ8d za6};a6~Fn/onYPDke:w gl;R"]] %B(VU6v\fh'pjӆS:m& +r(UI ӆS:ns}:n*(DbI7Un"1Z &UgnSdᲰa[زpP\ 7a^7زpP\ N 5 W oO\ +aZ\6.iDaeqVtmm&eo_m>WgAAG}D/T0&boaG]a/a?t oK~O󉬣QOSMg1 zZ߭gI$vPI_LcRsATB_TXy$kY:T UHm􍤽 \S5*h ߤm$?5J+L>-C ĂoKҞII/˃HH гa4_om%v&$c!ͨ_?ʵzIh?HIMCHͭg/AEz]--*(W$^BJza8 z_hYj_Hr^ᄒNF(֜_YI}y!yőyd_Ч+ ,ZquIR=%o_zyYG9>`^tWĝ>}/O.=*b+YO_^xCu}/ +k98$&G ؽN,D/a$fC uѾ}ŪGtFg#8}ϡZ^zu楤DKoIךoBOK":߻F7ՠD} +uA#_HT_"d[DzL\1O\_kD@*]RejD(iX׮/Waj(PknدQ^dO_}%RۭAREWi3SK_u8{(?Q+AbzZ_u{(?QzߊVzJ}B=.x2/uti/=ks_fl _MCGKm*K #G  &ҭ\pG[ֽ#4؄yMZ/YЋH6!$K 6~c,6ҶcuUWֺG?[*g?p%m_"Օ3>GEo/_zPiu9z_(#M#_oo҆KKٛkOo_I?im_vX#$tMf-I@_㯈co:jG_ #>-;W:?[A&_ Az[GcE#)%_H$AqW_>H ^{^}{_{ H ˨O#ڷ[Ǐ $g%Rt-A\3 +~}{_Uy|mm*.Q X`kR, +[cZ QMsA0B F竮ULSqs8H$%nKt}qsg|o5B$bXAQBM5z^c UF?8K1ײY.a UjIv4Ǧi-5 A h-2=ǯj@=8a VK pjaDGKƿ'$2\6z_WoKm-_Fa'* ~GKA0sS:KKKKIW'h I&vLi&A!VPA2]{x )ނoKeU/}+KJ$1H.I_*Am/I?W0oA/gY_? @&&_ҴGi6Wi%_ 6~ It#QIzL4=8zM?Ai6[~vNz B MJ=[O:|AISH6a%H1uz``0: tOaa |PAE 6@ ҇]ĦZǤA">x poA7箓" $b$ !hcd `BI8A7y􏴃 vB[AoL& ,/uKA5 AALcL& & (ci ALHQ# kkG Uzi T,"B $0@ARb](A5RȘA +H'hFx!HpыA"8b A) +ƣB" !ADGY@ёtJ +̎3I8pμVE(EdW)DMi L2`V-LPWpNEa''mei7PDaF)tuNuB$oOI&eo#fp^9!A oK /D?ZI0/:]G֒7IuRίB~ e$c!#N$` 2E$iPPJ9$i||?aDzsM1usAްt.+ZKN/. -Duiǔd0 RKu֡y*z(Pknqx╠^HϢI +(D{4J_aFi %G +o[l1ֻaKto#[bBv~ [>ߠagKb߫xIU_I0ge-"7 &$ȖWK$eYU-[J+Z]7LRV:Zc^?_t U4=a\齔~A* iZ__XI DS[ttAȥƭA?9m&PA2!.2om,  R3:h/A^ikH Dvv/ehr@ &l1\%ISA$I:?'J,AP@PA$,*2"81L& H̃!}h $e00B&!G]GZ=M@$Mn)ԷV)Vxd†dY0יD+<2a)0vD"*kTDdMCaLd"E5 *P"jdUC4l6? /٫ kL8AT 6 FêMd2 FÅ 2ᢊl2T* Tvjl'i7AEp K#| -mi8^Ig ef2g'$F2Զ៴lD$ɶoˆZ)qoˆ}r-ypN+eu>ACޒ(fgCF!EozH}{*k=>L'vzfA rxt[^~ׯDl<~+{N'iIM_J+`F-CYxXs@mWүWZgUGAM` H?UQB)kB>ѰhsNdfk-%: U?gP!~BfRZ^|604dBלM(60(M:A9^p gwK3 ]o$(~н&ĝ,lBu3 ]o/j}΃ү5sz"!fr\^iĽuWy +SZ%_sAzZkU Mj}Lm$UA*q_?Acz_.G4?+itȸ4+>]u֐aK5 V ssA痤D{/ePL*}~s}]tU?H]פ^Im.uT}tU?Z{}q ᄱoꠈ_<}'Kt%ZV-TB\["?_~oypTGG?I_e_|$E._ӭ"?Kֳc/_zDARLEVҴI$X?}\_%m_߯׏6.+z xUo~2bĴG_.ح 5# 9rGWDnx/IZZJA봾z䢘QLu__X_[8GU}7ׄKToO҄GO\`i@.0yxJ0 t~~8F]Fi#@>BZ =hWzKׯ#k0_M| `1mkPIAv9 Q!6H3(_xK_ \pI'"8A6mR/mR,? Ԓ[TP 6J )Q%H^}rR)`MazE>0@[`2}" M1VAFPAo8Ÿan52Anpk4+ut2DT;&LV +@dl Z 4@Y զ+AEAcm A Ap@L,% "{^>A`=0XJ 6' BKE*HPh_`q(DDR@"" q:!F"(!DPB#v&h^;FChMD+\ +GeH}94RPgcY*y)gbHDt2&cA4|92NP:gt;LN|בu 6tM6 ael8p0M8a8e^E4pla7DkV"ȈLZtADt*QIT* Tvj5L&/!!0:KQ.Z L&P>RQqt)AMڒ \P՗8A!c#E t*& fXZq10eˤ6#0oeO b2`ŗIAAp 7=[ NO3~9,Xl!H[BdCJQ) {a|!l*΂M_VWOlOGH6p)|Bt?toO؟D a5O¥oK" WgONNn=N n0AzSKK3<ڱi$(e>k+Vyb!BI/!/HKɅN0)'$q &u"Q] ~_eM&>rBS#㶖I"u_ /kO:5vB $NcF"L^CZ}^M9 J4 +_YGq~PrTפ\<z^EZHyZ"g:Q8 Mt뇓A^ֽ5D@gN,Ƃ6N>b#:Yl=].:'_We .}K#fEtz]Q9t}/OZDzs>a _Py?ejq#AɅX5l}sq*PVN/eP㜨-=~_E(a_.} IGaG.ij?ή vF>DٚQ:cZ@mB/eyI#aɗ뿿\G*VG_|IK+Kn~xay㮓*G&VQnz^Ǧy㮓*GA %]6/JG/+KK0K1-Kk&k?o_-/zZhtӵLWDCd+9< WŽb֗NF/tuY~_u*ޱkK㥜QQp𗙩8.tOy~}/mߎ:_]Ώ"<ֺ}s#IVͯ@k=/Jk !y~*ZuhKҭֿBI_Ϧ!~B6*j5b@$a[ .RZZdyk[SV/Fj@=#ZZ9,,$Ht5__$4# e Hl# +ץ +j?*_"=Mix ?>` lLReL -&/>` տl7#_=uPd_CiOWM NK PD{-O.Z'a@v(A`&Ml WB1XN~$?Km&1H-L< go)b>zL>ZJ<-- 7_[t7Im~";I/Kob/&"][1z$-/GIAiIa!18_AzMzM[|}& rK ;.:J~Ijvk|D:Kn4i7"aH0("x_DŽ D YѬ56>pN 'x@}O (f[yiC`zX1H""LK[" $L:Թd~H""It +LK[WD8A6zB+b &Qj4vdXQ'a&0?- hA-0 ; y8B^L& 4/TB ӃXET6a UX,W V":A$ehǡaPB BX(HzI PBa!hP t#DDDDDFDDhb"?lD'm +'-S>9 D QL"Q.32Db*h&}r # :gLLL"̬ /.ٴm!;al2~0QSlPp欋imO&f PaQvÇLE[ "QpʅU +8aոUa!0:K Bvj}]‹A0醃ap.%ȃ +aaH7\&I RQh*Jz 2S FO齵( 1m40/6y$-YPi?^QߑOeM[al?FoKKKҪal?FK!|!mvPvC^:_D|vC^>__/EZ36D?(ZI%IHfRZ"4S]jC򅤒_ )_ls n +qI?I!?6A~ka)vS0:II>"k"?q{QK} $:3 h?_XH~(9<9c! +5_%e<v@<\_=tp"i6x>-P"?~\t!A"=?:{)?t?l3}wq~S@Z^I8[pz[8 _|WA^:2D%&V'뿽A +I}#_u9zGIPg }ZV_^?#5Ҵ TKn~'trsӵLW^E?}ki g'0;]^D?}Ab`~>yP'|[-iqAuKz\룪=/ߚ|[-iqtGUa/3StA0~b4OyU4_ob//!5Oytb-*_/: !4aR۬#@z^I+80_y+-)%_^f-}4V_3I+8K^^G,W_!aYF`E[|GQƖ:G]uZL=.#aYGUim^ބY dRK#M#׾p~Y!ksE]WsItr荂o/!_^tj UEd?XK!Z[4Y]>`_&dW}x_/edmw(1aE~}Ďqg8oeNb `xAZ @h/mvUnjAbZ:D{0^Vԇ*5?(K /Ah<]iF~c6]%^immW. ]iF~c _>0tޖΟ7yo " RAygֺ^o=R?K0L_|&_ /yz_/#sҭ-h_IkZ^^?&MQ V_NhߨzZ@az%A6JI+t/yα#AXk$sZzZA( HUTc-)BPPA 1B|G_A5b@$akAl4dv_:αgG5b@$ab_+S9E+KHXH +j?*;0dsߑ +j?*^/ǪkKw"JB. zXJyCmH0~IC_lL<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%Gv_l2"Jzޖߧߏö߄J}1]gWHx{7РF+ xo$gz_A`&v 'aaFwm&Uqo<-_,GoKoe MzL>KKl>o>Ja#/oKo'O߭ COl Dvz^ۤ>xAim WM G4# Wi7ۤ  ; ޗ\?(~ `?5Tm>"@CA+h$ [< J!C3(04z[^tJQKTfE0tʔil:ItJ@[yŸAi8A6z2 DN3R8" \0o8/دvL'&OT Mh&/Xeh 5ⰣNA`I{AYZj /V@KPXA00^X` ~ ~@Ab7_1@ (45k B-`pa !@AK OPkx@ 9&B;HA"®B"ArLv F ZH'XT!"L:DDFDFB"""#ab-DY# 4v$ Dv#$ɣDTԷV)؞VђXVQrvO\vD"(gsa0μA"LÆJ,Hl8d3E "p.CE& i /.ٴm!>eZl۰aȚlap&ظpց0 TtI(MaDXV"6aP6yVy]$hrPA0}.34 =FB F#bO]a F=Ra B}r1gC+ypIŗImXF0- {Ytz&Ӽ Ӽ3kAATCv ^ mI a(G| |i$?/&L?jC򅤒^쪟 S8ePo9gkm7Y `kz5YqBeYyȢ-{i$:Mz'Y|c_M_нBI01փF}=?R!9ZZ_bsA_YGk7.+)L_ZX"E~pTZ!8 }IտZ"[}t[NyZ"Ӌ!/گ!SizY)4"7/"uG11gFsR|,yΫa"uG1Dzs>afiA1~҂?_뮩@נ./Q9(C[KejtU9ʎB(aDi#D߰a ߰aR9Oij??G UKQ:cZmCnO}*m|HG?r'K=-UGIujΞO/-Du nzle&U9zG'zgA^:2D%K"?=k/rX۬UVإZZ^vj_֕륷W&z_݅B +X">&+^_g'0;] S /RcN)?V0~b-׋Z\GX"Z $[NreQ|[-iqAuK_ԉ ן\?g)AU>uM0>&C#@z^db-$Ȏ*ZuhKҡ %~TGY8OH?B, ^Ky-0ҡIK }uZL=.|?Kч(s]4ĘQP`]}ga= m,xA0"rՔuK]1L}S%Z + K %*Q9([i7wo-%A6JI+t-{zgKK/egKU WoN?^РA!UQU-aϢa_iKHXH_(="GmG.oKkMXP?IzUc 463 /3Jik,% A_m_ +&E i y!]-qHt5]SZ^V5IlwͪyAiT{z P_;g1I34TIK<Ϭ?$?>%VР7#0ixi&-m %I~&#MK5bݤ@vMC&ЌVߠI; 1H-ּm8}=/ %K)m[zL>Zү~&Kl6=@z_D{Kܬ 'O% 4&_ 7_~o>Ja#%M$ҿ_IA(Al14% o_A(iIa!14I_I7i~`%*h> + `å~\Ba Ka5TAkPII/ 0. I?IzaIk OK( TK %_a.H  ÂAaqn[$: I&Ua0h""It +LK[aXa%zmjAII/ZB2?L0zi8A]AA-0 ׊;  %ưח N  I} :A& ("? PH'kpA4Č !bbAV/!kƒif3.if&#O B!HDH0IB#C +B)*HE DDDDDDDDhDDDDDF#&猒>MQ"Ȃ)ndL  hQLϺA:gV2 + ;ʭE{ a8eVE46m= $BAlέ¨ .2$&PNEAB}2莪-IOZ$\* +KE\A0]$hh.aF`Ua {Ytzև`5L/\6y$- +J3+UzIۭ>&j61~?ױ~~AzSS[hҍMwuyb!BI/HK IAL?׺{œaOHzOͯҦ AzG/:o;ioz'F`c!Ξ/NFㅣE9\Rᷥ.+)LGH ncKJ@kx~z^ֽq'^aN ǪL2~a]!Ϋa"uG1Dzs8dVMhqꖔj xz P_h}PASIS)k]&p"i6[ HP">*gOe'N":I4Fer tW"?uU@OVZf#QZV_SW$FPK}$y4t,WO8g}_ii13"WŽb֗_Wo ylKM~yt癈[^!8WZSJ#_#XF*WDp.yicDy.!.&I u5D_K> +Z֖H_A0$_$t#)O.VKe):A }/1?"?Pb?__cZ,5L0ȯ" #>T?.,_OA_"=l/+Apժ_^t]陁 K(ol| AˤƗܑDikYePHoߋA E+:Ϫ sR8 ^H*/#_^/0 m!Zֺe}8q9J=e>α#AsqI~IbMJB5y|^+޿|B +~zƶ"GuߝbΏ+V}n6D?(ZI%I?l E/{I8A6M5k^! +q I?I!?6) DrDj 6x"΃WFнBI@1փUk e|2]-. R9}eB\6%dd>"п8mmQT΃_ͬs5jY34P $qk5,.Tqs$G9"KZGm0_oߜG8ejtU9?#Xz P_} SKwO=`0~Ȁ3J#4_JGEd>KqGm$GĎ@~:k\% _Agow. ӮyuZ^ʭOڷ"?9?D{0^V"?辷+X]-w$r_گ=[_QAxZQ߂A&( Ik&VN$fkk.:/sԇkzGKm)-| w<7H}| #6k$'6Z@!I&ҟ#"`v~I6k]2_l*F*eTئ)X- TGAzImޭerXk$A"շHm(1 ![Z A KH$.pϢ#Kס^_( HUTctI/[ZZ@F_%IiioKi"Gm_(=VRR--/7~/ jB.B~8ޖ޹B#DW<~UuMiu_./uA'J Q &T΀oVlJS&o m$3, %I~)ii -ö߄Jm$RM6\h --I ,)Ml W&t#<7N R3/_i?i$!֖0O >zL>ZJIgoi+B /D `^Umo%KOI[_~% 0M_ k$8%-"#H_:M HzK1JX`b+i6 ?$?I%(~I%XE=+*i M|Z$h $hPI7@[K%N2"$5%Ik HAal/jQ'JG򤰛 @)i$Ao A[UeT;&AKiXElRLK[aA!F &U0xA%m&X| ~R 8@m0 ;  %v + V@ȁ4ApE_RA?AHP?80A Z$H̃!EBa$fA0' )d!O )R + ! A"4"0BmF DDDDDDDDDDDDDDc,Z&գERܢ 舤gv5Db*hK'gu#yFE3>9 D L(lPΝl L(d!6 gYPla«*p!;5uap8aػ`nB):muI-)D˅8mJ ]NBG% ˜Xn.4M40̷Vt}eOK;ۦQ :s.oO Mi}?mpC*޷ߥ_ׯ?tLmH0Qo6,__/o!/Jp/z%>+jC򅤒^ss8\E0ƿuo8_G΃~^__Um-/PD d5y' H~#?.z_B꒲T"78zmƔ?Ifg@ziŒ8I֞_ͬsA>5gFMtK:sIz IA|2a}J5oB,/qz"Zzנ 57#뎘cSIz!o:aiLZ0# I4_f8^_\h:tRm#q(ZP_}tWL n/I׎8ҋҴtU(J"4?u3Fb) 'KK4K]Vi^VޱkK ^f>'~}/㎱ _b/KM~yt癈[^!6_gRy#_#XF*WDp.l4^ZGy.!.&I u5,FGp~]idRK?_/HDKK,$_ C_(x"/5,5_ /3 Z UnjK-?_@U#&PZmWzf`_j K(ol| Aˤ_=k]/sԇ,i2}~]t_S$ZA{7yo " RAygA~/1ʼZS_iyIi +ֵ+yA!UF?=_cDMXP?IzT%ޖ޹B#DW<~UuMiyz_ +?= QPlAJS:Jz}JzL4[~A("붓imk0)m_ lj[i: a";I/ GD`b?XK _LEz &oxERF ?RH(-һ ; ޗiazi\:AK%N3M"HZB a{PD4A:PJ7`SI"u =P?eU[=P;$:Q[c Bj K l uX5 2 x(A00^ D " l*_G_1@ (4ЍAPUE!APa! F(DDDDDDDPQd*EyH`AlDQȠ$>e*):٦s NDa2Ⱥ5pl2~0wRl286y68:JVT* Bvjlef2~g L6ۜJa ‹[ +tU$RSWXF0-"a9eaT*I:ͯH(}W04L=uޟآӇ?,pv O"A7_I!lko/$w8g}pA^O}K?}Ȇh'aѫA%KRZ]/#_pFd=AqTX_ek8& +ꘟIW|4sZ]%/8mY:*eja/pHK' :pczZI*~K6_`ijbȀi:z_-tI֞_ͬs֣{*V((zl3 >Ʉx?|XA~_YKI/K2G0jeyG\5#pktkF7߮yƿ[<2G9zGe_ᮗ]~/EiZ_/ˆ V#לd ?LWM}*l_sXԍ^-zAb>"z_tuY~vgG_C9|/I?>X:a//0hoK$S,6M.8KoհaW&Wֿ_oK(49l>|0i~:|aE~_ /گe??=q?czյԶUR"׿%^/ /-շHm&R- >y_}8LjA'N_kRXZZd{k(A/6 +? xR(e Hl#yAyA~9IKH %&T΀KG簃M!i&gWHx\7A.)wWA~Z -S ^U_ac*i }v~.io aoA, !~tD݈N _KihB0_ak |$Q%넿"@C}xA0i,&$OȠ`cIi?ڄapM%d4"$( &$ A N- zHؤa"'PɃR T dD%M2 ^ aM!dax5Č2462a{  k#!!6Ԓ AеCPT"DE"""""((#^ڒ _#NApXF0-Xm0ì8a^7ۦQahQ({cw(Apmog:5a=?o 6mސoeL'h?vR!!Z_b h'556[WKKu:P8_ +Du8L8M0qSp~/:/#:E&T PT PMҿ!1z_e:_Cb?C9&駦&φoi:YDutEW+t|?H?a>8Koz(L>uez0 kKm #9z_El?4"?/zZ[A|% * : jGZ#E _]i.t]Kfb1h*_[*5?/K*YIK~#_/_OY=~;z _{?mi/eYU", +[/Z * }}̄L[pE gz_?8}/_ke!GK/"#_iB.__ Al)2tKpM%d4L0`~bAka"'Pdm%@DN_4`IbbFAPZZHPL$246Ab m$>␉6Ԓ $A?T)td!CE-Մ; dB"eg*GDTL"Gsᝌι)aT +ȧӆö92L"jd&ES 69aɅ&a) [wKɰtbSe¨UeBN۴uA0N^m&O )AN]%0aE&s0ۭK$ +u/dXF0-"Pue 9uXfפf "(wT[t:U @Ds0ۥ(M]0ۥHH07a$zGh&(a]&$-o&^t蓴Iމ;(  (^C ?T8rDߤ[o?" $mz0OLG@bO n)_-.o.7ӝ3,?xA$}99РTQhvs|4JR9-.(MFzI?^qN_YFB,g. 3_~bS4D}_8?A**^4-:. zI0ҽ"7=_ͯ~E-$o` OCM}>?*tA5~XΠ9yKҢר:_0t>pr뎘c/VͯAҧQoOxAlEuhAXK"?kѨ[(<҈(#M$Z( LX&">_]q}_5/K߾#X]'x= 4GSU(KAN2I~5??u֥@*XgA~RdsXԍ^}iz /}i zX@_'Ȁ]Viߠ "CyC9>xJPcV!-}[z ?Iz:uC|m[ZK@WmpIR/^_#SW/e-R _"<:t'==/ i~Lz_m/qQ Ma-MiiTJ!7A6/ Lj~8.$]C(ZEaKLWs~m$6_R#?XReLP 5/K?Jg@(y /AH3 :$}it2(2x>A )zVGΞfE7AxA%mI %=}ߴd!8QO洓" $DA&$^ڞvL` 4- g: ,j$U B)LW00(A@ D P@14ј*5K6XaHF,B#B H ) !"DDDPB""""""""3ز+2hv$`AN̕-iΛdb#hԊ D-d쳲!TM%cL" iAE82 aɄ.p8f3ᚸ68ec`4ᔝl L(d+!6 gyP$ˆ ¦8abmaݐF e.Pg "VuLX ӨY[ʰ3jI( 1sIB&< >BaBa&4P6QV\fh(q]m@aPUS Fd+ypEۦQo ұ b22~a {Yt04<ײ!o"ߟ- HR@$i|!|&a ]K$~gA'{_n$x[Ѩ$wZgEGAMcJ k\?(MD`gWd?Nk" a(G| #yW쪟DOpʤIZqJ<ڱi$KK= IGTY/ӔYI$u=`0O4tcZR5z?j=-UKa(կ8*gOe'N/ֳc/T\K_"?__~P_}tWL뮵d%H"?^?߉!%^HI~H-5ƿ#G-/_(A@KG/KK`Gm.V#"}.rsӵLWK,EHK:ɔ'Y>kۣNut%4HUoX}0 KXKZ u].kEzI5\1|Mb _=V +![z,_iH +a~Y  4{֖_'I2)/?/믊atDl6au//KYASYv6_p~|,a^$hm<χZ_I|it_l>#4_)SБЈ:4XH?L׿4A bG@8}+*WwKoGĎqf1p`_&dW}]h>ۧ:GUnj.ս{_ :?^ʭOtί6 t#1 -z[m^XAz^a/o}V9/mWuM Mh/kkZOJ+Kk =Hץ_uΣD{s=Hҟ" پgsΓ~/]mk :[ ^/2$ +[~C u?ҟ#Kׄ L?$KLRZA +|| gKm&Q>0:߈ zkG8넖!I(AvߤHIN>-` РOWM NKa~N +_)i0zl;o A!imHm_z -1im/_1*f_[}bI-a-NxA/>zL>ZKot* >i6ޖ MD `X`үmo%,0ƿJ/?٪o>JpPb"oh K3ApsZYj)$AŕeT;&+aV$yŸAp@Ab-j H%5X1:%X5 2 x({B }" $!ihRXh5U +*~\B~ K GAO aU )#T"5H* 3d#!B""""""1Ev#$v*dA׃>4@/I~WюU^{j6~W>T/_/Jp/m%'+#J55i I$#i/~m{ĂuZ %=za #_IIIް1փi #s AzG-t $:3 h?%LpZV^O Fs"B꒲TN,@=#Ceͯ*ZP&=K,Z"Ӌ$q#Ӝ'^!KO/fo]-נ 5ik L1!z\t&Ko[p6 ~?~!IxE]D!$ +\Mr_] #ZBX"/~,HGL0ȯ" #>^#/ʭO,_Ot `  DVa-.D 2ŵ_$/K3j& 48lK\l* >vjsԇO*/L* >t}h/J 8 ^H* ^/= m!Zֺe}:J\PI_39#u<=?JI+t/UtP D}w:_A!UQV_ֿh$/wX_cF_֩/#!Jߑ|~UuMiy?/r[azAf~(9<rܛI?/$=_oKoK=_o A.OFw_ Jk._xo$gz_i_[>z[/%oi Dvz_LA-W@&M GAC`&D`I~[i7i7/aP#{(~%M$I/'JFAH0b%H'A4%fE8( TzNM:L0F ԬٞvL,riOT;&8-'&OV`I{AYMj /{^ AD$L& 4 AA)^hKXG($eЍA T"®B! F(BDDDPQ`2SEtDdđ\)TI2-Մ; +v'd)3"`쟃>5dB"}9)9B + DdE68l2~0E& P ' kȺ68mL6B(jlaeA٦jVÅA0N\^aQd ,HL7NFm)a>*B#}]o*3}SABRi@aJ1&0͗8AS!c#E t*& fIIc)ߑ[˂EPu>a6V8a(]&uoO[(\,73@ &v_SSҔG@m!o%$l6y$-YPi֛=*e(T)3+|pO]/NSȗ_{lOG|{Ri aI$:.:: +mƿEQ>ۮ+ނW^0ge $~ȇ2<GR_h<ڱi$Cy֗m%A#i._`?$y`{*i4y='נDI$h Iom~T&AοI=8H~(8LE4Hy h?_(Mʵz@IMC]-.+VQ`BoK]RW^8Lzqh^A2E$Zi'Vi=6_鵩 |y:kЋ3^qdg}|h(shmTSR}iAizy65ϯ90ΞEtz]Q9t}/OZDzs>a _ 1HNsQZ$-ub?Q9(C[/eP㜤-=~_E(a_2aB 5}Az_(k"~\tQ#mW!aG.ij?g#i + %M"]%P|W=q~KvUfA"󧲓'K/-Du (F5Pim#ԍf_{}@ Qz^Ǥւue_@_h!]~/I&VXKu׮d$_?-/_/?Ǵ\ (۫S{(A@KGH0~i}ik=\4GH99i&+P~!2z Sb^Xt`룪?KE5lʢZ?g9~\ %jpK -& OaZK@&㎱j8Aizv_k]>b?פK׆6o>&C/ebz/K +_aXF*kD$AQ ,vH6!$EpIuK 0as?Kn-.K uZL=.:eWҶc몼' YN&?//KYA]_ޖH_A0.#ZKOo@6]{Zy ui%Z_im%[,$_ C_Vӧn#m%6:QW/^`_&dW}-#>9oo/A$HϿҮyu_LʭOڷD~Goeu@ ` s}WPrL>o.𛤿ŵ_Kzz-/ĺҍ&& 4^}φˤG^A lE  !ߥu_[{7yo " u* >Ckt$ȖWKmjKHD4)#"@txIi~Ek⵭ttk_ A+ kئ)X- TGAzXw@G=,[i7v/_Ao ,B @Pg9 W>H$%nMmh--."BBn?=^/A/B GOQT*߈A +>[ KHXH]AXG.Ջǚ?gHVVst܆U"$P%?^/ jB.B[z_? ΂ m#T֗?APIA%al)2t_ }`A%Ka'EA\SMRhP]RZ_g'Hxu㙦 PD{-O.[PA2!!imHz@^z -1~oKB1XN~$?Km&1H-$1HZ[pZfBaץW?g{ᴿ iqەg@D/tI|$ޗ[%@&- /5&MXALEz >P^^i7A$M@=(/A?J$Ka5Tm>"%CAΊAzM~" 4. O#R^g%J:`< J> sRN3IR-Jz׺z^~C~m| d5t $:3 h?ׂ* +$#uzI"tf2-J#qrTp8 鎑\RV9 JyS8}8pu4z_^Zqd2}eF?I]~$^EHG9ᙧ`itmfk^.Tqs$G93Nr2:,\鮗I6sIz C V^ʡ85 ?(a&!|3jy]X(a-HHQ:落to:aij?i~VSIe`KI4"::5k{8֓a#aCA/Ch:N": n&y.*G[ eht#-R_"#-GKd'2D%mDK}+KKKn_[`fDGgliizmXX"C+M_ +F'үH0z +𗙦ӭ_4kK ^f/I!&wzK&k %joztao/u>b)V[Kx3[/"A3JCJ o":谍zT!$ +\MKۣ~-JKUBI_bq z]$,1+(^ZXGK/^I %&I u5{|u8Nh )%x#j^KL֗ץ֗_}>z[z넱#E_A0"@4X3_ָK6&dW}x_PVvt `  D^yg6 zԷ6]%oy گ@$D-K30/_6>IeZeqT^GY/=R_ /\U/}k`4T> _A E+:Ϩk]2w/I6k]2Z r~I~I6k]2%nEo-y %$|}n A#$ V?^1ӏץNHUTc ^P)׊ +BV- (=V_mgG _kKj/kKK-\kKξO)M_kx0~IC_;_[(?A%0~IC-ɴM/OW~A("Ja#Z;lj/ C Dvz_m&!, )/O `m&#]oi:Wֿ-IzAjv{(~%M$I/~aJ?һ i7C4(%& $H'%tʔaz&+ם Ҥ6Fx@B ҆g*Q'&OWAKi ةdcȃ :Hr0& )/e9J+be*[aPa0a!TJ="v&K B,,Lh,- `@ +DČMc!@AK Ki8#n1@ (4 F(!HD CT"#ЍApX@*#R +Dv "!A +""?ε#$diґB&FC +`AN򔡝d[}NPBC2ʾ &id5::@Αg tM6 @gY el8pK6yPavHA`6 @l6l $ˆ#I0àEGfFBɉ6R(UeBl;(l24 aQmo$3yɶԐbۺ.@0a"+Ouۺۤf#Nc-ypMFt:T_a0ïAŗImzF`Mn4ua6p3miA ge4dCli~{bFD ~l5Tp5 a SO5&/hNMoa5~l%)I'>;Duu\tt: I_pAy3 &:c諾wȆ6~9>"bᆂ}GJߔ-$%GE = ɯWڋƵI8_N:D7_K_'IK=Aο8^oB $N}ei'itW& t/Vu^q%WB꒱8 ~\5<.0Y#m$:k6QFKMpԺ*zd +3}Q ST@I΃A5k4\﬌0 CKNG ʴL=].:'PD﬌`"=UV{zK98sDZŤz L-gWoI[ts'A%˞v?dmGJpa$ޓij?+B_#'_~%ݕY_죭$#aЉzK.5op&7#_a&UL)4λZc_%m_x`% Do9iizRU8 zH 5# n_\v&+뮿ez~-{X '#GUc^fhȝԽ/o/E5~0 5XU:FtAaf"K__8Aiz ב5uߒYoz/Ҭ~o}'X?U +__H *o͕:{w\G֖_a at]iEe_' Y9'IlM9VP6s^L?CqaE~̓X</WZZ4nUnjVWAŸ@ +]h/W~@u.ŵ_{ޞ|T& 4Gkmv-h{?zt}0@-t/_AxAyg_m[Z--CN([E_Ko$K]2b-DtW3쥺[i7I(A~>v-+5 !{}ӏHV7Kqi- Aa#kIz//򦴴FDGK BWtK KPpGGW7qKoPI꒿xz_l)2t7qx0~IC+Aw&a4(.-/箴}/ :~ A/}-ӯ7bݤE|aUO~$=/ouXe&&Z[pXer)}v}b|ЋKoK /N+ҿ"Z[r-)/M㤡+ %8% =M(`ӯKz^pPb"?!t $;`H0ZM_MF>0AЧPtH #Xb+.I 0|BazL8 A-Na׌H&3I?IiA% =PMyi/R / 0gߤAIA)X%- IuaHOT$ dK5@Ap BA0iH/ %&*H'hDJp 1B m9cA{;pe#5F$a  A +GꪒA  +b""""(!B"""""(! +e)@2ERlY=ST ;Ȳ5"*VVѐVؚge/<Gֈ(q{(ZI%I:\Jy$t^yf95ͭ`?$9gkh0M|ꘋI?I!?6lW4 MOK~T&K~T&׍P}BAοнBI01փ O kqAՈIE, _:KW/NFㅣE9B꒲TQFJt) ?9EMPտU|K6uoH[GhR҇0uzסY#wF~ѾOL?I/ή ;}q tKQ-HB'/"ꪒd#a_#ߚ|W|~:8֓a4ΛXB'z0L}&5o"&}ʾ*'S`]ZWwI[b0;I/׏iizm"ŕ_Y׽zne( `x~= %# 4҄{b)/KNrX"Z $g')׿%,EF,E_K--5&w룪&C)5^G(a\WZSJYoz,#@z^I+8ARJeN&kEpKaY  4K#Sۺ?&I u5gsU&k]E zG荂og6JK"sEL!UF?=_ޓ,$mo/,$mo/t/~0Zmo[^/P%wmm$/GWT֗:GKz]ڤPIAiT{z~xx0~ICKԗ~9oI箵^CBwT=u %IuXe ^z.--I!imH~Zo KAZW}7Z[pZ}im iml-_P_D߄oK `Y>Z[r, Bm";I/O+C/@ m?ǢBm| SPb":[=MM$ wEaFXdR1 (& +z_ rIlK`?``OԠ!4m&aT;&8-'&OVo xA}A Aki' "H,A dNA`IzZcB^ႦM/s/s?[ 0U!@AKGꪄhzJM`!"ѕNUUFM`*@DhRЈDDDDEf*2s"vMn!S<#.y)gib!16ȄET3vv>ϩ )P2ϱ >OPl6 @(᲋8D%&:& O H3eVȪ_5]CNl2~&\4UBEGfȲ"^LI e#I0àEGfFB "ZMg ,-`r 0Š&P9t"x3wef2gL{jH 1miOZ!\" +aaHC)7e;-ypOu>_eaPXF -20ۦQby a(]&u04 eMy8<5뷶(dCl i}a|!l*΂M a _O/eqM^5&/hN'#~F>=DN3㣠dAmG?[u${O?}~_[WgONȆSls B?#`fR ]CRS]jC򅤒_ )_KKNM"mE95/ O^{œaROK! RtJO:_:3(^ нBII:iu_)__r?%k'YBɅ]49 Jm$~ʨri]D_!?UYOg6J/_/eo :KeRidR ޫL +տXץ-/,$_ C_ ]2$Ď8ץX"/58~f0  2+?$t7WZOoeVVG[3K-?A"=l/+AjC[WJtI=q_[UhJ4@$]z[_@zVZ^Ҟۭ=H?m`4T>f:M_Ac.ڶZZ@!KI0.A"`] ʼL?$K/)U-DtWM}im y zKm$ Yt_ +q FK!{AA/B* M~ KGab#VRZ-MXP?I|yAP%w `2/OYPpGo#DW<~Us_$Io.4G=A +?=ʙ_xz_yCmX0~ICy *XA + IHeE;}g'HxuczIOWO-m )bݤO -ko/A7/Jz_ha; kZ[p[ $S@KIƕ>q_~&Ko~"Z[r,1 1_Mnx(A +_BmA(ai akt RXA!F^- Ԓ[?$P~AaKq?R.\w%MOV! 2}"2*$5%EO^L xm|5Q4i%a4+`K5.z0t!`ߤAIA]CH>aT;&?kՂ PXA Z_ /AA> Aa _+ +?D%'faE"$  D X0U!ka80AGdzA +H'HFM`*JB""(!AGMDO DԷML6Bf([ 1m40=u>?lG*'Oz__􍤿_^8kABKʙ#iŒ8Quϭ"=9^a $~sC t!A~yƒۄG_]~:[u,WO/GUa/3Sp XJyBI_cVQsE]W~t/$i5?(Wa-}WKuCV_Nh^yF?=S਍*2;s Mix=?ROƒwl1H-KKaޗa/i7bPm& \'JFÇdpl1B $L& 4+D$e(A@GZ^$de#4M2 Kua-R"Q40Z;#" O#{wgÐa#|8Z ﲩF"ۊyڞK8l&VT6cV9#ZMp2"wl8m l_޲l6eBfX 97 a-PeXj7Gt ӨI "7aÅPԩ e<I p9uYٯPtGX +aaHQO)6o/aL,7STBaפf 3B}Hip0s.Y$@oݿ0e04 X{Y]2_a|!i'l*΂MGZD6ya< MzzKtЛal?FB$Ǻ"1A&؟D N'|pAS~T+ނ~8~'+VNNy]>  } ֈ4V +Ո I$YhZDl[* +YՈ&amh/hCƶVYUHI|)%$$yejrTf~zXj*ʵz }?нBInsdb6Q\vߥyم' ^Pj~9*⮢- ޗ󐺤/n L ӈ!cz z^3 t\53DǬS;/?^XњY 6TR,7ui:b?p̨l>/#u[AK89!~}/:C)Pt~׮z+5 [*S48Kejs )FKO_cR_IUR6>\_ GZ(^K\-&ePvRg#_89_a ܐ?D}Oe'N)_\+CSKKϥ~tW"?K_A^:Vv1>#h_ф/~/J3ӓ-Rk_HT zŔhZD دH]GL#NA1_L8A+e"+3FTF;@X֍KMήZZig)<_m .ޱkKչŵ,8V)*޻sG ^L] 먆9O΍sֿ5f#M!R_JI5OoLȧ[+-)G}?C +a'k&-}M潇aֿ8o\׫믊atx~kS2R1}u_c"?޽H_A0$}_XkH_Ka*ށa_?/!BH_ XaD|esE.1{9RF65L0ȯ" %iP*\"}-s_WZA 5,}/WPg'x@ +AǧQ'KK}#ߺ^#GD:}zuM Mh$ +u +r:}zÈ˃R ĺҍ&kk=~;z_mG/KپgsΓ~/C K6֖|&ڶk/K0 m/ _uK/@bbռ[uzշ넖!I(Ag9ץG ,B 5]w拧t_PA ֕~A/ֻ["j?k5b@$aQJb__~D_86F3y >zץOE ΂oYlJs΋} <ܜ mzZ_[*l;o A?M:]_KWI/ЌVߠI;eOzL?J=a;-__0)m~t<5mi%7A(a.?[M؈ഛ_ tV&"][i.1A1.[KBPL=|&J|D0D8>&EOERǮSm%l/<0 һOK( %(#bAkOBh: XZ R 0ǜ+EO\ q}M4aAY> (,a9 A@A0zM0 ; Nqal:XcJgaAᱤ{B$`(hHp#  R_1_L'XXA +J i$g)GkhGAIl* 3A0DDDDFEB"#d+G`dH!I6χާU+C9s2+zU:FWΜ3 _F$#Y#S@Z&}~zi$C~HEdW3j$o6]/Q{B4_ I$~_ S#o??$h IS#a~qu959lB $NcVApI$`c!Uh +ԿKнBI?9 JB&G:Q}_},/RdʉS/t#euYG>#}R]RVf +kЋ>ȏBPץ~h +s= o RR}i΅>~~;(Oi~NuֽUGܣAK89Y/Oߠ]AyC R#Ӝt"EC^ߠSsB)z 01쌏hE0WB-=$( P_fiazG8NB/[*{JAIjT>Cz"+HImeM =:(3uXB/m-G%⟏ui{G +Kn-o~?l"~?)CE:_e_@_EKzS'@믥 {=@=Ea7 i2DZZ^_ZzrttV__5}25 +HS(Gm-\ֿOƿ=+KK_&+P~!]0eد_]/oe?+Abz\cدO-/5^WA1_kK㥜/չŴ|Dwh/6]O z//ܨ^X"Z ɋ_>A0"@4l/+AjC| @Ӥ,s L>wG/_@ +Kl| AuށNNGO%4[}AA 6]})KooX6>IH} ^ + G[ $g&R\&=P_AV$K/j_M X`k_~5gGK-?Knq#A$Iw@Pg9I}}?9k$b_kup[||B +Tސkˡ UGU_#*-K$)pw#5  Z}KU#ΏGA]P?Iz\2;$ij']/@=&__]A 9` s΋ *KA?#ZM;S:ax/?$9 PD{Y%fK~?V%IBo ZCYBO}03Mo%G@v|Jg#EtIAi6%ib9~$4 [1TM ih-mU0ՇWZL?ǏJTm&I{BMm-C C -$,"I7,p@ &n?*I҆H^HI7Mo /JCAAM H6s6(?`Oi?&XH0T( %%͆ i rLADBMN?'rp"Ra0i9Sa 4K -&pQp Tya-L4L<8cJAA& I8A7IA |$áE+}&PX58/ NĊԃ k@ a L&^  + QI} |BA&_D%bX_8!B 5$e +A&Q4A0 " h& ~ qzƛ-bA 8AE5])mP%B48 B";\FDDDDDDE"""[8H7ku8kخ\R[(aG +endstream +endobj +27 0 obj <>stream +x+*T04U0B C=SSB!9WA?37B%_!+) H!$Ѕr\CQ +endstream +endobj +28 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +29 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 83049/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GgQBAU  r!?HiK[]a&Mw]BC%?/]$ax/vfV_Tuޒ ;T%ZPuuCm- ; %-LiII rhXaafaXa$Bo zh帺&n-j7+᝺5dwVUQg2(0)[J >*0J\!CwZP #%6Dbo )] p$û  fiDa Z5 5gn'L\*gH:%HH",(Df5 RPA* Kʩ)TFaϨ8T3Jq:! "1D`OeY}XVY.|/& +\Zu "4ɶd+C-+/(Nf82@O(t_u (Nf܂ `}2FAx_h쯧#ҤKp"yi#n > ?S0$${j!T ZMjdK?T!BKMG9!VܔDF9Iiu'SRlRVKM|OdH^ë >?Τstq=jtf_=!__(o4(TVzB,F]9@V}~"bFYbgqS#oW-QzvV_/&UG__>ˆI)~x@a?u*4ns?I|U% +~y-jeZM*@e G- KC_%HO&GZP.ATF0D"]DZCTnWN> JϯlȀW=ELњߚ!GWJJ?'Xӝ +}B'[~hH!i)ė]SDUsPta'UOߠuC\E_0K9~`hEddg:'NGD?udFG"tk4UVC_l8g?=};)? JF?eM QN{o.֙T>CI)N KzIA?m]bIisKjb3? l>kEjb^/#u^ZŵY/K6o! XIB#޸_]| >nrּ/Mx `R^ri_})? GIi]t@GLWH}gg]~+\<ߠf΍_4Ҽ|:]|iz#6TWΏDa['aχY[~2:_/A2KT KGOߥ t\Gh$/_k]k]#-"I c% 0Ҍ%X[ni2Asq?8C$@T[(V?"N"_P[ %4 | A}%ichu zhqR,@P#^)^I'Az:9< A~Ka#t9\~ +^$^?@_m1K`-g/eiO ^h^K/ v[P __‹/3?ǯYi~ q۪#I&^'QuA|E?Aa#a_k/U۟SH$/|Au K̏/m$ \z6ֹ$źG K-2D%E'AO?z/K sCAi7\ U[I?s?ʰn$&PL6sTVvQ7A*"I'CmDM97>QDoD#:S Fmqg@1TS4}3mzLCA;aZT[oP=,Ml=fךVui比'NEXMFS-U\&p(YU<~FG)xҤZ]il짠sEڶp)8@P}΄؟D a5D?isԛ8U:v"R9I;L`0ͪ<Οz ҝA8zo~8~'ײnn=Hfj _$%:YgV"-$_/]/՞؇m4b0QpBJy$t_^`@qWD>I _&v_i +:1_˂:eZ[^$Bu=餾pЮ{a1oOKU|E}arT'8_"_?k˭uHtRPVN_ ~t) ȕB-r544Wmץ~NgN ,Y*~>_|tz]Q9t᜘&Oߠ!CUV~ʥ @)i^/"q#HXzDz2?hʰjMqI.^ GatcZ/ޓvUe'EA6Ufwѭ%Um?">󧲓'K/~?&iItޗj./OA^:2Ds_!&DuP=/CKTo5w~VY*_֕?m?g'GEi5bG FoT$@UKD1D{tӵLW_QqlW!KePA$~_E@!6/ Pߒ-p%Ȗ/bjnr1m/_'#JXMR]J"=, 6<ֺ}s|8i &9k](D{5~I#@{9zY! T"Bg0k=/JFyF +I$>g5H!'nkreN>~޽]o]|VKΫ^rS^oSuVPs0V'4MtK_]B )zuCQ<}'au_gD|hR`_.IXQ]}X:4XH?LCnBH_ .=ame9HFGJCyO޽Z _A;B7Zj$_E#&Q@ǧZ-#;uD0U-|K(ol| Al:'{jNNGO%6t}RTϭ*9DSw<7H}<_N +C K +Gߧ L?$Jjcu=&ƙuI/I?(֕p _ %-:Az_Oֿ~J*K/J@KH_M( HQN +_*Zֿۭ!KV + 8K5Ջ;sN!^J`'ҽm-gA\QAUG5_%Km Km/oDzPg PJ9.?RyF*MMU[*l;o A]z_Q=uZ]{@_Ka?J a7v 'a__(?O @ҮKK?WK ?g{_/i7I}#φ(I}.i$ KoK}PKm/a%ItۏAzMj^-KlpAKDI/I U"-"pxmuZIEBWi0*h LJ?B$jJa%APZ5R /tAxKTaPM]'x@RsA6}NNaפ`H?' 0]PAA)z I vp Ga*|ԉ0$q=|R|$áA2&lPLh&daI 1A!LL 5NA B0caΣd 8H0In` A; !jA1AAA3. !bb tCA pUIBG5ҤE4 3#,E!ڄTBQA B""""""""#H!;Z2'4W:2̛Ԉ^BԷ dQlX̏ɘC9sFS.PƳLFpقT4 `E Ϩl34k@"ֈ3`fq`6 Pv aɅtL6l ; ¨:|&UM}Al+V +`U +8aZ i0%t0h4 +nzz*Bvŗ '맄ACRKInOTrZ!Vnf a=,f#J!"nGSA6rDNuͯRү)>vaG C#Nd(4m?Oz{Q.uZ5wrB:#gʴ'L|{p{SK'_Wh 6Q MǴ?M>m0VKOO޿\"6׵."bCuI5&UGF^MIE* 8^濈S_:C'Tu_LU"ӌLW?ς$~<鶁|9_~i%(󪯇_,'q- Dzb,+S a$~(E}/mUV4Kqos΅> +UsQ^:VzQo/Q8 ͯ'Y-^qdgP+i}B"XFit?8feVq9F?*Pok3\!V{uΚ2Iȷm0洩_E lI/B/8#=9T|>P [( D_?J"-&Ҝ>=s(B_{{*Cۥ>oAC@tz$ K_▐G{s5&%*z4p\k_I$tt^']a7 ? FH5ф$qO_֒I+Ae q#0KJu}&`yU/`}nP~!־ׯH7 >^B2 /:#Խ|Bzf')׿K9z]VUQCׄpQ_$5R#BcZ/vq"҄G^_z_Zo@DIPL+J_a ]xKZy(}gkK|?/JXj3Ę^[u\:cm*t.!p.#Ჽz^GK߷A^@%8*5'4_~5]h"?sr 8:Q[tpЉ^'/Kkt_ nmnS!恗6{*5?"?_>KAh/K< >Ou_m,ֲ_m--ϯ Kʼvϯ--6\~Om{? t6ikK/K(_Y/-c^JKo/Kg9IJB/oϢUYxE; +-)B_1I=]/'Koa#Vsq5UAl4dv_?$ףr;) "GAsIm# .F,ib{G//Ke_IOWrIMA/Ka2 eZ[x i- &QPaiq?[+O%M _פ_zM]Ka v )isz_KIaaW_ aoK`[ixA`&_ZAzI7o";Ko^)R[z]im,R}vz_kZMmBXo ?A[Bi4/aA;-B[ /萣~KV1Iǝ7_ D8" > -=~?@C`NzJ0H(|i9/2(O)BT1t]i0"Pi~3M"SXjl5^*K`BA[k M)0~:@Aab e,Aa ysɃ&_X}/P@+i2 Mci ad 4&h&@ p@,P@5Akϓ `kK8%B!v xiA/ $)a,& Ԉ0HZ$! b#;XHA3 RZ5L!AT!zKA0qFM`!PA#Pi""""hDDhDF +DDDDGM幒+Փ`WAe0R*h)ndO%4];NkLv1Q^׃>4BAI(ʒ :gDal5? G`Y+l6 @`6? L6 gm0ea3R)8ʦJaCaMiٴm!T@a +tϨ: BvjDL01p8a`ʾE`aE<vۨDo#Qti3mpmJ Xa ‹IoƗ[jPbQi(GP^- 3QwH(IA7\4#Bu>PueO\0GVj(C : + oOoOФ +K=&_ϯG[kWw=-/j(eo* +RlRV/A7jM +_*?O_uM-5 z[z_${O'U>pA{ioyKzpAzZ[' /J"bZ`ᆂ~"b5}{Wnm%Qᆂ},$H/ ߤm%IANM|_I E:S#/aα_8"^!~mGU:>,?m$F='ʵz:<NAοCZ?M4 ԛI,dBJl2>2/ZM!B*'YF5ʙ#65ID}vW%dIS5ʙ#~N%:_ރ~ʨr@RBE_qdֿ:Z_%[^)HMF` ZM[V@C?u>y+Yo/y/ I+8?3 +L/bJ %~TGSt:_[3eNך*/.!0X/a@+m:XD"a8Nh"|9뤺; /A :Ca]W-\sE mԐ +տ/KJKJ[ @M_KF߉(QAė|:>$tpF}LUPFIzF}~.=9eVi_@U"? D_$f#Ze` 0z֗K#m-r_گ *eZBeT 3.ץsԇ?%=[yt9~{?Al* >r5AI,$D_eqT^GYA| G:L;K?Gׄ kWzϪK/A+ j+ZL_A$ ,)P#;UPΦ/M 3)b}v,R >~H3 > `g&Ai%?aXkt}MzJ204, a\I @&Gi7z$/$/7b"z$--,GB0m& i` _aAi6i7BE}Jak c +xԠ!>A 1åak aG lB MI/9:5_6wi\dPd0sXjl5,k 84u^ (fry.=Ӕ8"N'?za oKs|ԛ8T!:|?'UӜ4t#Ť>^!I]H2!u?ȮgH ߤm%~X|\E>)6tCͯqCPgWep=-IyN"IA8]aFi %>|i~TKA}m_oJkSۺ/U_|+/k_cKJ .'au_K߬zRKI,}/ dGW9MzEВ4KX[npAC5#agxJzuק 4"迩@\idzeNa/It_&.=<2׿2BϪ/N_tAA>. +u +r:y/_/"_eMUa3zeu{*ʩuhPPcg_頂V!Z ė.6y6 aLRVx |O{>1ZSƾ!?B UQ־AaHe!u~/H%Z $-ik/e QM2!uA"~?/~Bu[(?>AA~]Z O)s .4K_JUI5ձAȆ~\I/Wm."ZXA AFwG_wMM i{krKoOoKzV @&% V@__{K 8zMAi7H_=b$C$hJI>^O0zL1$i7:+t) m%'a.r$6 $Ȣs9sa Ȣ!&'Jw >'FkN)b叆+د9T ElV`dR2A0`I Tya- 0vS5Q-q dJ"HA,XAH! 1A0? NdAXXH̃!H8!Iad(B #XAQа pW hDz#U R-bA 8ATBUT"""""G)-3"KuagL(fJhk%YyKr&XRdB"k9{dMCaLd"E5 *P"jdUC4m ?٫ kL3P9]2+l65a iT2e5a i +eE e(M„mݵ:i7AEp K#| -mi8^Ig ef2G3S:oc)(=gFcY&m.ej`[m.ȵ8l#.q`3D4_AI|t:NOug#(?-TA瓯N9+ұoꠈ_A^G+VIy_ _=[L?]aE7a#iEp XWo,zm/amL<0I 鴿mM/Fa}~5@8r>}go H=#?_[3">l2y um_]_!M$|~L0ȯ  _2W7[(7^AoI}j_$a6  `AuA~Z믥yozWK㚗GK0OA  M_osR@u/oqoI[]/O_1xI#='KO_?zZOJ+k ڶzߏCV,WJ)zL;.oHR- KKA]E1*ئ)RC5 1𒲆kSe 8 AQ}9 sHm.]bq~!/KtI!_8-_8}ߧץtMk~Z * aW cy_."#-/#A/Q_5$_Z^?a(Z +n$gz_H׉A +BH H׉lF>M| =ip/MR Cb -|7s{zH #e 6AUH3(_РzK&$ K PXA`0--I_zi}ix_, l%6 4}, X /Kᄛ zUH7q@XA5 a= ܬ0[MBL:_X@&L:_1 0K%-";XA}NmR/ÈAcMTK"TK"5$,"V!4 6MazE>) A0a&0׽"Z A-xA0~ s~&&] `qn3q&k5 kAd4kiV%d4_r A զ+AR #gN'Va +N1Z4- %Kh0^N7  OL&)c  PD=0XJX/tUbFD $fAӂ0RR#IF +B80RRTGhM5DE"hDDb"#-EedAQ2FChM#)ndW;FTEͯH20Ya6V8a(]&u(}Sz~rXpL*΂M6zoRlN-.GQ) {a|!l*΂M_n󯳎-H_gʴ'Ms?^al?FKH#N?:IpXOvnw<Οz ҝ_KB.!b5E Ո I$R#i*Y$I _ukN0)'%zOޖy%s'i{^MI=8H~(:L9c!'4/qh/KCYK\R_YGk8 /!uI_/*zx6S<|yőqy'Xњߚ*kST@u?Kסfȏk45jegu!?_~\鮗sRa+N CI99k]/Q"mW!aG.ij?g#IL1Ko*l/oI}fbZ#Eװ5kOe'N_D}[/!zXh/b/"?]G DYvPg'x@ +ZeV _>))_-K(ol| Au~f.AuG$K]/H~_//#پgsΓ~/X<=H\U/c/?/0WKne}<KIJ"Aֿշ:k㲖mߥ}\$&IB I/I[zzz_A~q[WKPA ABy_h +5 KL-z]_m#5 /Z/I/gI|/JB.B[z_? ΂zl>7xG:/eisS:K/>` ('q_=u_49:Cï77#=_li'tWǞ./_Gtz[(B$ޗbIb/I+^_ M/4Фx/}P߯!((>_b?H_7/o Bb+q$M3մk_B SA]J$Ka5Tm>"@CA6aR__08/L YѬ56yl/kI?Iza( OK( %H2}"A:PQ[4)y_ߜa Paǜ@+A75@z%d40a.qn__=P:NMJhAkAY^ ^gQc A/@BK-0 ; y8j &RHZ8TLj5*4t?HqI n_U +B~ b#D$e7H*HD`! AP%45H*I T"4"a!E!DFDDDDDDE""""""4"1n\M1@LDWYjX3Vz1J)LԈjGbLf ;'l p3'0΃Gg+eÁ9.tP6 ۆ22kTLȺ6l0al3<0dn`lm 63L0M"7e:n*%`ng4au"7p7uLl0B*DkBn?09C讐^wLtj b0! 1kLtu ht96]$hQiTA)7£l黦Chu>Pڅ20YthuNs࠸3D4]pêACE7MC4CI6H +B\U[ͭzuo,*΂Mփ:_D2,N_RlRP?Fg[~t?-nxUglttCtI7^>o:4$;~#NrN]S,$J/K~PK!u5/נDi7BPH&pZII6tCq }y:^!m_h7ҾoI*?k/PDF9,u٘+iKF9,uܷNz^m2qֈjh2. X6EϭtM_<ts镞_],'LFΚKJ#J9hE/?B,7P [(kz 0ϭP~Ʌ:F(/J}XH0`cS!tҜU7_:(3Ijj`K x>-P"?MLZ}>~i0e\8ץ&N^S.*w_6%8lᩲh:y:/"^%WIUa7 I}#udGJ&V)e#QK*`Ai?Gi?ZZ^_~k_ T"?"1hH0%ީ*OJh&+P~!7믯e"x3K}.58gZa|2#""~fzI%C\:Z?g9BI /:YrvPzA +I0-Km(D{">_m\1~?^%~?^*#kem8Ŕ1(c/y𐲆0Y@C?=/JZd/ u?_ _,VQpHNgP AkqP A~>ʝ=&IXWƗq +i5>#\BdL?T|$[/렐@o"a]~5@8r5]z1#M#_|+/kT"R $Ai p|0~=}v~?\4K_]_iBCH$DA p@o a_EAo_L=k#3f2%6AkOD}\@ +Zt֢ORׯ?ZB*m^  MׯU'Z_>O AygbPAbH}_e5͆^^e}:5zϪ+YN  ~? &(cVUK_ u{*ʩu"']=0Ai3ӏ/r$ Yr랪Ci=T?=S0TK @+ptl B!kNJ:LNkoce92Ic(P?I|y_.֕-5 KKw#i{K#8-/j?*^B,"|]=_k(_-[k/> Pm.Vl KA v[ OK?Z~A("=\i6z_MKKAh ziuzL?KǞ]Kam/ooح-JomAa _m +K5Ko&ۥ@`'T?萿- N__ -=|(o@CtV0AЧJC$hJ$Q%N"m>"#@zWaR-IaV8>M5\pk圝Sa%a@^ ƨHA s&ICOT M!X1&)5vLbC^ 0gg*=(H?Iu W`+@5 a/h; ^ ]@K *  bFA"UH-%C-A`A!a{ +b4BHq&Ӥ "?3 R))DhB@X(HGhz#U ":CPC4&IDiB"""""#B""""(!ADDDGY3TJ-^yت%HYKsF"%ʯ)&"|2<˲,ڲ!DwKN3R"MyFDgw O9#SDDSlPI`dJaٴe(l6l*+v&2Ԙ6 DmL6R``$6ᲫdQCaʵ 6mwwuTAl0b&aIf *mpWqwUPʅ +)h֛&SuT._p$ANBma ‹n}3@?3/PoaPQʲ)6@etӅ_4Maj(C :1ntWz~3I@P\ ^Aߙ}~{Gt2WڤآӇ${I3+|}mMmh8&WgAAkAk=M0aYGi6o#?➦H0۬o%>8 h|{\ R0~d8 n-&mMGFKo:4Njk~D FQ`5pA>?("Q ~uMQ&.0q>u~>,?W.='΢ѯ8M_ %=zaT}B i$$/1BJl2zY1 +}BK;K<)>}yőax6S<~?8~o aDzs?\Y 9 `i?7T0"=9Οt'_FoV{qV(տWB-=$( P^=PyH|9*P/ePE"^HB 5&ZKD_Q~:FC^zi-ELZ9s}3cZDKoQSַߪx=T=tPzPi{G +Knh8K'_5kZ^BۄG__6gKIz^恳??ޔiP%"/7?rpT nGzL$R?"{'JfZ^ޗ(Pkn*k+ƴ/QD^UTQ-RHFj0H(O╠^K/?V#KOJXI֗מ _/P~!F'fXbgւ ~aד_,FjFNqz_/l pVK +-YBA%tbg~ JY>|9鳑v JY>~}/t<)R//3MI+/3 +߷l>#4؄"5i/Z*dKG~:Z +m:_հށKA}m_K^Z">}]>> +_ ^S\~cBCaהk=q#M#+-b> VZt+ H&.~۬GsD'\/ g۞=:ǯ$kΡI03#UΟ>z[}gP@$ir/_K^yihe>SK$aG,s L>:_ւKH^Z~K3K/0ge_/ H _zf. &U0IeqTZCU[zu_I#=,*_t$K0L^U_頂V!ZzKIA+ k|}h/c_EUco5 1I[z_-s`H$%n>=Vg9d.zAyt!*mu!,חBA6_/ _KUm.KkH%Z_RA"~\~Ap MZ u}&m.W'e_AryO^R>z_ؠdCI?/Zkb $k\e_TGVHb:L-*_gz?KKG=R!6_]6 zZ> }~M iyޖ/ 'OzV @&9"=a+ $ A Mr1D{_ 7ljF,p@ &m v"!8. /cI6hO}18_D`G0_'a=&A'a], #XcBz]A`bIlxIwp3մa B .g.l4D$ AC =&odPd0jl5'KKn~ÏKz#_WI}#a-_9zGIPg }}ZZ^[uiEj_%~z +>yP'K9"-iqAuKץ_Xr:_K--š,i~hsA0"@4TV+ߚ+C Mh.#z^yϬ& 48lK_z[:~xO$eqT^GY}iVSҴ D^I6k]2}-QJ--?I(A$R--DtCHUTc~jI_ZZ]HHk KLo5]SZ^kPpGk$PJS;gII3= H: PDxi'A]!(?ޖCB 'a)ޗ&Uqo-_)@&o_I [i77%-i SIoKåmK`\cN39RHG?]9P(4R} +HpP(I}i|&0xkOJeLYioSLh|{%YiRoK^;D'}i6 F4Q?3O{-/,xAAo?gPdW3j'_Kzm$jkZZMNk*4_j_:*4_='L=#@{/j@4QM/ͯ&(8O*)&56D iP?֗b5[+K KTzb/T_/"Ƞm%DRT4_Im%KpG#ItjG#?4f/:דv!'?I/opBiWg)9~`5#]^Ap}/X%1YCHNs~_UWB-=$g(TD_gœoZ׏ +k_tT{6^Dڥ=TֈǑ$0}Ma/r +8=/=-U֗}Rs8LIm#/C}/ O柜5ǿ9zG9pEpk4]~]v;+ƴ/HP"oaj'W9{z KnHFj,POKOM쩞xEU3ײ_)ä?oKAb$F'0 _`[KA ۏq#–K9q'%"=^G !4 !cWur:_$5sKP߾o5*P^:_G/^_O_$Ud\0{"=h/-0/ςucGՇ{=@aK)^ks-/tKX^\6ޞh8 +--#c& +2y}/#׿4AL!;*ru~/:P_],Ǥg_<-}YOaiqjޖ+^?aƖHk +:[ꗞZ~. Y~4{ޞ_>Ns,0@tf,4[VKA)Z~ַW?oKI%Uim_K0L^Umm[]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)b AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiZZ]??sg.4W?8ڛ18~ϢƿIK=M4֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """"%HMjU-Մ; dB"#VFpsy؅ E:!\6p 6daDkLÇ Å&a}0pWwl 0-qLTrZIL=h}38~F2l#q\0F>#ZNH4A E%m.I[+M/Oh\6L&k۬$mt׭|8o蓴IܐL?KJ}RU6pۯ76i렃~7M}KKI#@^!#@\zOKlJy$tC״Et>IMCIzM^VMiu$.$^BJyzL8BtO~N +Qϭ8M΅>iB$\V}~E"\鮐>&/J-+e1lԽu?q]_҅ +kz 8kc▦t%[~xH0/ %T4GIPim#$&'_MZWuHJ>GPT n^ N6]vZejMmTa"55oC+M}h$`,΢Fӭ\I/K5ߤOA!]*_$U5?]L0&a4$lBI^>*7XmXi~c_H&cхmaVt6]%AFz_-KI$t_-˭p &F}yNAW]GKtL>{(]տW]H A^<_]m[_K*| F{"Y\U/ȇ_:zm[[_K(_^- +֬%.1LW-[:? 1I[_ =/_t!*IH%Z4_DtvrA_t[(? +]ie /!6Li&@], +^i7B  R31M^AKXѬ?$";IQa.ޒ@ &l/tpa vJB MڎtVHh7ޒ^ ?l/jA:P^O*Z\HMYl5 2HҊؠA$ؓ_bKda0Li4R  L-ƃbF582ah6 E!aR +hA   +"""""0G,hs>>!B Ú0ms0du-WbFb">O(-]rMgGG#B8&;BC.#: /b/Ű0*ҖEmti:%E[,lE#64Fz6bzc)JҺA @*}IG}?my 7a0OQD[vƺ$w$;OǤ; tO[kmށG}YT: KGE B-}-.؏]?JHxfa)}8@#hꏣu"ӈ\qmx:6-ᄗMbDtN]GgdtyGE:>Έ>:u^8-b>"8_ݥc#29z&;8(y|YĦ$g!D}QgGU/\GlCB>9_&29~} +=^xi_`T>pE[>iͭMAeta +AյK\i;=xBH(tGE_LS0D( EKAkĎt^M5gIG}Zњ>S" >"8"'Q|_;ݥi~Bl +IS˫rP<6(":K +p NTF}#J+R+R(tm!\C?DDDDDDc^ +Y^2ʶ֏B<`Բ#H>hRR>""""#僨TDBKGkhD&"YFExpιL)h|Iڇ * #$A^W|D^Qp 6d 0E #8lMipl lR+"E"*0Ӄa¨uL"%[t;%(\"'wuAYiCe PyDžrTrZI@MBF+A{ VU[8*:Y@ԷV.uh5t4Mӏ4HҝXPO3|%iEWbJ2GVmUN +?~a oK.~ƨ$mb@-eW#fp_Ued^NoaZSꕲ IfΩ&צD#tI}VtE:8<|e;#K[ F_3x~)k4o6%_ILF\KZa$PQl0قxA @@κAH2׺xH~uYH~\BFEHTk?2usRS#w/L&i&}i}o!ۍg +/AEBJl23 l4B=:ޗK~ʵzM%]v;N8JK\RED痤GHr^"T7=k@iSւ#N$"м @ +hmR +Qϭ8MIR=%sN->߱CKt) A7Ѩ3I?MD]!)}UM]X:LJ~8 Y M}+APC zA0jo +k뷙6ίN #+~Z~)j`I"]%ꗄ}yi+.I)cl{A>DePu}%A?"_RN4֗֕EqeyIx5 +/?HJ>FT n^ -ĸ(h@몮"?=kҍiZ[1灧_U"#GD$[uzHAҜG3Lj\-D[ux"_8[?ڲ;qU5%־h,WnSA =.x2<'Ht/-./KnI.l K|2HF/KΞq~i& ]/o$_~W#bƗEBK$JƼ #S꿇uI}P^WEi5kE"mwu uU_H6!$K!'K6~i$_ЯbcA%V>t+#< +KRU"Օ38cYaD0UDx /:$7`vPVt6]%q͙}gW=qE t]%:@^ޖޒ{Z[_}6#H&$tZUcImE dyӷמ]kI03KT-}L4Ҋ_Ht}vMizI/e}yL>A~.>uvCt_#zYi- lԑ 3@t}0q_޽cޛʿ_,$ȘWK!׷!HdN+\0v-#[xim7~ZYBh Vg_A,W] +֣ǝ_X[~CU}Z gGpA&)+t3(_ATG#, az]gg}VPֿcN U~IcT{>#wKj?J %5 J1}a\Ko!}ioV&/$O5R/$s"3 ?T5HEJ`P8]-+K#v-.1LWBJZ}W'm"?xAi$ߎ+za.8@X_k&6Li&@&Z[( O8( \am__a} x WtA AFvUV@WA AFwLJlXCU}-_D|'_l%Mk 6/-d9Am/KWzR?@K BV}Gi6k/ uo+ 4ޒ+5UoCOmd&aAi6դ߆)!$I*I4=/7؄AAy}釤<:YNB M- a:*^c& ^\Ja tJ}鴘 #+c!PXs\Q[$ pk Av BI8A7Jq$ +18~'H>@,1A01 b4am1&A/ˆB#b1 'o xc `kHq)2zKEX:D^@2 ;VCB d+ᨍ$aR +(A +^H|GD AA&CX CF2QADDDDDDPDI[gvpb>#}zJZe\pw=F)n.ˣ%4v!,3]L$>A JrR!hɦ̦PPa6.r({(ijȶEHDkEofm 8pᷢwuPDujPDg'o +_MrFk Vq &Ugu +. YY#5xP?}8"0#JuaB`Zȗ޿-JYuTEA'0iR:k(Aٜ6Tŕ%KYGӸ%Q /%'X^64nI"uDM/'dG^RήuJy$t[)9BN(yF@gaOǻb/VAif)?:MϪ[A_h^jU)גo&}W-˭2 Kt) AG@EV!z }]y3ҵ󉴌׷q$K@m5,%1h!zVPcF?zZci|>gӽG*v4洏Q}}SPlt/O$ZG᾿uiu{x"+ZKN/z B .b.$4ZSi_#xUQuTIVF=3y*O1 N {AL̞ޓpP:!=/$J./KҿnI?]/A#<MkH6I7A ת$XN +" DvIϧ+Ҹ">ނE_Я8 jZ. +yV/pbKTZx֫pI@ /os:O'iKʰVHu9U!5AiEL_?~_؄1"?^U +UE֐0(PE_ Al>k?*,}v0[aK uԧ(tGM[I%:GKKl A,6a[_\lR$!@?յ9n u+-uPDpPb!K@kyyiuH}o凿{ D|isu/@Ac +ioiv? D{">A KKt-K}V^zO]KǮξz_]&:J]Xek?K 7|'j_LX8?<0KWzzJx_[HdžTҤ&A{+CkRM-ZmS:+zKCS}#IO}bbyrkG_>H: Ot!PZY&'H>H: NA Kᨓ B[GP4M<1qA/ˆP G*XhhXB L/&_hkAB4"B"ZM45hi((vsPKB4v +ϣ"?"Kua;d ;GTNtO}KuDagcYbR - M8p TbE(aal8d""0l L6bE(m9iH)AUᒄ 6d]Ԙ6u L&/DFmmC[)8lMmY-DKD@&OmaU 6m-qLă)7vŗTk 9ˤT#QM…UF0AQe>æI@\ QNm/둌db*+e(.a=,_#^:p{GL >=Ӓ4?OB)i灧*ox|&/a?N'rCt?a_MF}D3O~Ι=Kph?Co_~QE?FZ"?Ho e}--&CF$#ZW_/?s񲢞mkAl󤹅4ͯT/c'ͯkƓaBzb/Nr=0zil_},RӪLEP[+K:"?4hg=l=/_-4W1I@^me"%8hʖtTg_-4_O"}/樝WoIߠҢN'E?㚓+=IߠusEdq9F> WB-=$Nu"/dWB/kXx>-P"?Z##ivC^z|2?@mg#y[ֈi;q?I/կ_o[DpQ~UfΓ?%5Ǿ^Dt%)ӧic4Z]v}q}Z==w{8alWi{z_W_Z ?O]_5 ˕e"6]/oe?-r _7iu,8O?~Jz_/KKO㥜I^} .tHk算wP 算CU!_~}/~_ADb //">_">?_IK 뎴*D{_}F?(^'LF}#ߎ"?ǜ/Z K}YAk-/cFG}4c =uqi_N_=( +ߥW9ץ"?@隃5#__]GT_]|sC\idA~׫YK,տRXaƖHZ @W]iңYKx_P_?tO]z:OiңY_/[Vm~B]5,}o /k%UV.J"ׇРĊ_Р]w=/ƅ?ւ/S~ R ;)*-6 iyi7:QuХDM5z_?Y^]ifLk]w1HM[Q sa򪴴kom/͆Cŵǚ?io}06Y__}GZAH<ULPpGAࢪ~}GZAH<WLUK&Sa>BA8&T΀@e=&@k_ޕ8H30oIֿK%7Om7?ҽoN=-VOckA>{!"I&Aqs M1 +anzՆ#+'a=&m>" GI:XEA KRR."B !5s9sa Ƞ&ab/\tRL$庰@ yNa/<6KAƝ*56?RI%UΣ^m&AA8Wy=Io +9kKΈ$0M㴳^]W5ÿI\id=-&ELve QM;a5$- + +K| j#&K4%kzVʨJ =, +^i7bl}~  7z\0oI[L?KuZ5zM |%֗ToI LN L:A| oxA =i`pn $ "  ĖVt BF X=d 0@Z[# cIBc &Ei -ƃ 0BH$8KH5-1h PB)@A0""*!4{>:iGި>Pw}DG? 0y1P +YrADg#}xͥ0yFB#o8|syc 1kKcQAN#nnndbиzGD>D}^q9-YD"> iA B@&- 0A8CGسr-A%FtKN'rCۋp#vH # Fph<Ųa4q2PDu78q3:> S>߸\BaBn!=_ hCZ]k8KtxZ}E8";H|auYuA66,Gy?Y!t9ģb""7"믬ؠ$l=h.}+V({Ma$T>QMNym-JD/H># $,aAzBm6#M] *dqGtcMvS#8B?:4}}lR"GӟG+チ!{S-6.R?+?{I6JtT{oUkv;g楝86}6q}PN!qjm[cp/U0Qw6wL[ǺmSwm8n[ 3N29<P,3>YBH~յtqů@w8Gd"*")RB""88)b +I$!i3JqJqJqꏣ EٚShPH%+4 vPDFqHD~"'U R ӄ"\ͣ#"EA1#Hin= gD(") +K+^y%,R>HC,c-őRXC 2tA$̓+C:gh|d);4VQ)uhEB#k=\3R"0l 2tkPl6ͦl \0Pl23ϲ 2YȢ)(v,Fzql6ðA ήEŷICPŚ&6Q0^vGŧegn"HV@{ 38EVJq28Qi78"@jr1D# +ԁ#b鷧}bF$iN%d1sZ4C|*\  '0AM)iČixֳ~ٜ6'h!^%o0A/y$kY:('k(IAA/vlQEs?F6?5J0^I"uDoZZM^7jS#_ гa4}kL+]&]ǘ_cI-jZYECZeY92 ~EޗKOKK/N"uvW>@q%xDt%EJq%s;@*͡_t_4W1IsO_G@ΜYoJ/KlIo&dMzZ^)"=9Ο0YĐm/ouXFkO0KFKLm/_#}G?qI/H0J-?ȒKoa楤難6:_7}?BZ^Dz -DuHT}2դDUxoJ4>Ǟ. +?!Z}!,uZDD.)8~֗i?ڲ85W8fS?4[uy* B1 8M  +S&ᎂzLz\eiqx0 `3_ݫU_p]~5#O8ms5a"> W}7McKJtu V*]Wny2MkHҿ+K//})^ %~TG ?\ݒЋ$ /R'Mםo`D{_}yB/oKcVQ͈ +qbZsRpAW^ߥWvIe9cB(--. }3yÏm{(A&aKtIe8}_N_*sk|rLlR(__3fDr6Im#>/B/C{IW4 )%ZCX"?dBּ.шUW]kP_tAcf.RG?*յom om%o0--WKu^_Їߥ_[I[ڶz_Muحk]2ib)dnz_X)bq]e 6 u u%nEYB4? dPֿuPM4׿lizHK59 4뺨ߠ.ƒa׏Ҷ4io֖oIap. Z}a\&">U<'9ZiwT֗ק9Fd tt/OO5I6e >ҴGK_ZI7#.9=a!6&=ﭿ=vHi'x =v}/ޞZ_^gz_[ Uo.2moiU/7i/gY_T8TM A_ץ";I/p@տT0JpCV y4ݰA+ L:lE$BEu9|)6"[~-oK MvV~O0zL5_ ޗe:%niȬl5$s9sa ȥ&_ ҆i*QLyq)I 1SI1x c:IB {)H ?=b3T u=] TH2 m$/!PY>Y&'m#Td* 5Mi$1XAH! 1XkO a`IzI m2N@/,mSI$UVzBBEX8E!LUB$ Z$ V{פ*XhRb*Di$H!%Z!E@DhRA $>#H!!L$PB""""""(!yDGZ ""&6QЈ5!;/Ab +v*4ED Z4h"!hɧFp5]CO"h֡ . 86l(eOfmȍt>ػNS>BxQy0 +_Q`*!}aSPP#EêHd5@Ug +YY#5ʜ@D-V@HApP\ /ˤ_IO=2%EקD(4UC*I )WpQࠆ pPC ?tvQl!B"ŕ::ehpUւiNQk(uE~NCZ^PH_\[{1 m7gҞIʚM#}i'%y(Jy$tZIe +qP}BI*cVAeB $Nj'ZzZYKK6KK6^:3"- JΠÜG&J:n1yő΅>~NB.m +}BЋ _t Ȫ$/9ZdV{Kי^.Tqsj9cK\mrMŢ.`jYBK\b]/ZQ #+yBO3Qޣl~{</IKQKQ^GIfiDkH7K+tPB/?}A]OAACe_@_RDS|< 1o#xUQcJJ?/1Jħ-'VQ-"9O1 `IYDbA%_e"2~bKӝZn n:0_7 u#K9_J/Z\Ga_~#W#I'PpIr:_i3kyC{iDmko?I7A_gChKүYPA_zWGI+Ҹ">ނEƕ\oA"&IޗI + ?KWߣK\RT+N1FƿI?$BGK]ޖ>acl |x?ï " +m $ Σ[xim0t(ŵ m/ m Ap!Kp|s@P@P=85r#VPPDpPb< |B +1:4봯iwKC?AyyiuH}5 ({97@$aH 3"]in|Z[y +Kya/u_@ KK9~cD& Z]OjA%$~#l?YſoKn~A("=#ÜX?]O]|>CI~$?Id'+9PKoKa5Km_Koev5n@_KxaxO ?TWA(aXA(amm8 [X1V-cu_AzM|~[[ [m㋈ޗ[ w Cc%MsJAaK- ?a.q.O.>(O.%Vc-\&Ia%5kΓ3ҝ%ZW ITǥ_b4]P[kCe_@ZW"?֗@W9zG/ц]q}8;z KnLnq=ZZ^ T+KKK0Kj=/=\4G_ }-*[ks2~be"KP~!(tO#zXAu8e/EkK,:-iq_t/vC~ZUD~^癈tf"9/gu_D} %/#@z^{F*KşN_qu,7_Kt0HWoZL=.oN:KoK)_5 xm_~.aIsƿҹ5 a_Eo.aE~h/[ϡ]~vam玒9X@ +KC6 !k~t]%h. a6>Iϥ& 4_^}}yKz_kjߥ~/0$\/I/x]wk_Ko-iWi҈5AP +[ub)}},7@PKsB %$9Nk&[iK. mkYGO$).?:E{M5m}io綒[=~0RH\HRvjm/KK)_Ic@K_j?* +5 i y{Ko'T0~ICK (iWXA9L=wvi}- A\~A("<_$Zirt>gz_:RKm& ~$0)tޖWk ڿ~)m~M0-#|z[\";Ic@%>JinNm-o XA8㎓i6~I/I _0 |}ۤ[ߥao MɁ&ImJ񞭧C_%MEgi& Al5ik RN:\) H0׵%_%yHK,&]$K%ӤA#+8A74dQRAN_8/b~qn[HJ ~b~Xa%*-u1 Xh48A4 {XK@KqXLD5| 4_ CČ8hAARt A5A(qү aP0G@I:BR GA *! ЈBSH'DDDFDFPB"57$OmKsB PʴSg]agzνX80laam03 +FFPnzB(`A )#:[{ oV&azlm?HBбF.*վt']UIW{: +MiSz_/m&[O >i6^IhP~:ZZC}h6A`c!BiA?Ӥ$S 9Sd 9S}&!'m~N؄]J,G91YCHNsXB 5.p@$aY>m mǑ$0}GN=)[p@[*VIpNۄG_ρZXi nE\D{z KnՔAZ[u~!GoKAb%QXUK.--?D{K.RqiVu}C~ZUFt,BI^_bJ_? acхAl1il㎗Cnyxsf=#>}v@}s_V[xAl?_"3 _OS,00t=_ oeqTy=XAl08K +u4u a%nQu]T}/Zޫ_6 ~H]o5 +Z]TQ5*mE.Q*CH&r(\"(F2^E.:UT(me ӬWz}l?3GSꪛe (NfaC&v_SCCZ]/I6 +tN-.z$Û&0yBW!BKOā*ZT*gۭsKM2y;D}iW6c"s}a:Q-v~8~'[רnm@!y%0|KKg"rXKKg"}}~i7=& !ME<>![k_*K/jMDǤp ?[ &Qq$H%qM/iubeM!2Νp/1~,qK7(Ƞm_YG_/m$jGD*h3^頼g M $WGD*h!5_ +ΟgF$p΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuHE1쌏죜sPer?9aTC98%G8Hj WJqTʡQtG K:aN*5*ӲGGRP_|W5i>)_ZWG*VT4_HSKK~LWf_{]$E"?Jr=jst}t{@9zG]_%mGPNNE:61P"oG#G3Ӕ#I{(A@kGïTl?zZ_Z *ʙ'_JqlRZ_ҭM쩞ݢ7xQfzI%Csi/ޓQz/"<)hXViפT?zJbKKpc M0b-/I`H%9}.^]n|XE4| -KҦr]]n|Xz~Ps_1/K׿ (c-/ $I"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:tuz#`Hy  Ii/5rՔ/렐@׮q_/\6IZH .Z[iiViim^pwZH .Z[d--#~hv XJQ_KS, _Z BK?9BοuuZ4m뚟@ b(""?]zZLsSa&.==..eKW]u]7 Z:9=-[_egj NNGOKޖm[VKA)ZzM]?@\0ʾ?At^XZMmmmt--CO< ^Sim,B< ^S@}-v)b- TGAyHyzq۬1_[z^ʅzq KoKtJT-i~!NA#߷)jl?G\ )A~qa6 kKHXH%E&--2=GE$ഴMii":XJۮ~pG@jPpGK; (_~pGu\2\6么_ H:֕%G:-&T΀տ &T΀l?seL ׶sS:!6K!AwtI{Σ<> GHxi֐g'HxcZ[vi!~IMl ?eiKek]ޖOT֖0a,k:ZAv-׬za--X`o/TtIz[k;?TD0kI5M O_MA$R?+ å(~]KJT( C. 5wG_kI?It`Ą. 5^-'$1Aa$آ#Pya/MMf +dCLbCZQ[sgoQH2#qp@Ab :+h%IAY*@eA{AZ@mNXK d24?A0RA?Xi"a! Oi"@ $~L-HFuMI lCAЈDFb"?nR&Љ**EDJ_TJT'DtȖt:jR;0::[:ȣ*8g_vaMiL&8d 0wdl$6l86*#I6ͦim0 nh:AøDoz 6#}]aB!"5ފ|-(I7PU<oa60{ @jN& 'NEZ7kIF0Qt4MmvoO!z}$t +"d0v:L^)nI[aHIIC઄9IiH0鋭s dgҬ z_q.LO ,rB:&/Aޗ ֓ҟTVԍi0/ۣ^CMa^!a]/՞AHKTDGpA#i/L59`G9W6kT +?Pob(WIl0"=9I8g#)vn0 {##(,(aU&Q\T4Iq|( P_4Iq|( P\ VyP@CI.KAUP!i-^B%[~D?zHImSKuA:#_?@Xa -DuH鱰T[p[4ׄ_#uJQ2~ ߥaKu}v`u_.< +-ZzsDtV5 +&*0V_ʙB?ց(Pkn˃R ejMmD[^(Pkn6PmKK+Ab3rZ $/9( ?JX[(0F& ?JX_)Z F-t.A K k6]~>mM_^f& 9}.m*\Q M[h&m*J:m*#:OFi %z^#BִMfWi6IbJo bJ+URK$ ; $Wo.yJaIi I%}/6]{0Cam/(l4EВKKm$t_SE A7OL?H&M%iP #>EB"ʝ?@ag"?Aa L4I}B OKI/et$a kB  0z |=ZSS t:zA |6] E>'7 u]xץZ 3c $g%R85>>Y3|%Չl$D_\}J}IqT X`kVz#A+ jS X`kZA0BA ? Zo$bI~x$b_LjA +?ԒXt_LjA +0 u²uA/C$J!*ZZdyUr9U vPA*$~?Hl#'* ~Hi_qA, DSEGr9i2t+q~K_ +}_ <޿ +AQdCI2L&D4oV3M $"uPdcI;l AFvT?F)HbڤHbzAKN8 6_ _I` _pGi6j/CK$";IVH Dv$bT A M m&R$I鴽@ &oj4I6oH6h/6i/!m&ҵ$i7MjA$I (l/Npz<$~KZF tij9e#P@ ҇H0(I'J{ x plI0bA$ aI8A7 BhI8A7Yp^A010A!oA0=&u 8 A`IIaL& /ᣡ H &(5ABD`AQd ; H 3 .0@A_4= A4) +G@A ZT$ `$F@RDDDDDDB:d*FU|B%$EȖ#d1Kua$<;Æu*#j 0DmJ6쭹ӜlEo +*8pιUP4S&6Mf%Ցu 6 Pa)ѭzaIMi 8pl?ԁ0 W0wvŧIu +&RCg6I J`M(DO + 6v\fh(pDgM4DC LD]$h2auTL:nʬoazB(gndb#1l}voOT,8?3IPP\ Y vBhz{} Ҳ0!}Dݎ2GW1~Z YPigWJ>2GSZ  Ot U)a~FtqũC?q?HGE6g .>oI$Hv$ѭ0&>꠽)>ӣ=?$k3Ud5cI~i7 @?#8C~PI!bSI$o6}&m[便7Z/F'$_=E 6Hp6pWִ4Ǥ{~>\7 )kнBI$Qr[*6US+BSg@1֗Zbmtd㓠^r.rTyWZ:CLyW*}:CWu=5KZr}i=kЋg8#UЧ.a(֜^"HȀUpi `Ke)pOLtsխ}/W^ C R#ӜQi[(!/qHz%KSD‚ 5=Wai/҅ +k:N?c|}P!i-C;IAB{<ׄG/y~c. %t#ca4ޓΗ7/$4דku`c0P%j`tW"?kti7/_}!#X*]t&߮ 2 ?QF_kL1J-R˃R4ʙVB AQW\4FC+M4R+怫A1_ _/P~!죘r1szZB^!E+#v`5I.֗(H$s +>m\^>a"M^B'w} tp_]D46o-O@I FT yPxp@ Xh5C_D%N7Ci &}V$`((^; H ʭ$-Bj WGXPXJ)g AUhp;A"# D !ڪhG+hDi!#b A)@DDhDDDD#ʠ)uk㚖qeVjz (9tSVO]ok +x]!Z^]ht: %F&T +#-D}GaG#,䴴r>8V]"#XH Q(x<▃#> +"AΑ͡4HvɽfUf+8!()PM#G, rߜD E8DtGϣe`AG4 b1.ͲD}D#jPaqM>F2̧xFAAj/& ;D;#%/)CSGE}%>px17D~Mb/}]f&O9*b}f zV)6E_}P͡B:OŲ8k_g(G%jW(YIqb"8# :Ο]v|[聢)(v<:GT}Fk_~8#0q#;"uL7}}!?_{}}F8TGa9;8Yy$b!^6(01L⾂p8[)!݄qt; MPqKlf!j&wN"ѵ(vaQZEa ^(m TܡA'#V`M#n"1/0X[\)I+S^T<^Wr3ԺH MSXC"ik#tD}%HNSEGTuJYC8#hꎨt`[D9C>"1*ۡtoI}'eqEDi1aK9*IUa;/#bQZ#"((,TQ5k *!Y]:'̆"VGb"n.Z6 hl g;N5dpμ3\" Z;;F%=ݒ4laJl6f \0Pl23T6{(ijȾEQHkZ0.a-G2*]EICP"]]EŚ&6Q0r<oaVYӂoaFk 8EVI&yʬΡEén!]H#DޟadOt4M4HҝXPv:L^l=p = +WbJ17Q-G3k@үF}*H0nZK5A oKgi~["IZaL?K/m},"䑭fjaXa.A$_USY٩)􍤽[~#i/OOO3_~RI"DAAy_q?3U7BF4ǤZe!\椧GEa0&}Ǫ(MBJl2%j7KAdc!eY:B ~D! ."jDN_N"O'@/*%ODb-zJ,<_󈎐2ED"Z8B 'sUjӋy!VӋ3Zd5Tg?IeӋ{a:A cJG R#ӜK֍#Ӝሻs b*I/ +%KSD‚ 5xuiA[U|( P_A}iK}P!i-/ R-ia楤DKoSPlt/D},l0":XaU$": %/Knv}2դD^jaf +-PGU%$\~CUKKuO(HqK=V%""ʙB?ց(Pn"5ƕj^ **gZ=KnQI^;y8*4R+-/~ ^ Lz\e~)Z }/&aMAuXI(^I^IքKb0Ex3H ˮ j.0ԑ 30uү޿hmh-$D¸_ k\U/0 $g&RqoI/r?ZZ#A+ kkP@?/F竮 X`k\OE/RK]e +_A (ZL>t)Ȏ + _e  +x%A e ]kuu Xt_LjA +?zMUH}ߠ.ƒa UנƼ?Kr9UqzMPVߋx\H%ZS3Mϧڶ9^pM$O4INq*_uM.9GHh^!XiKJSP +8)zA\S=(D RnO)xA#wM <c aBG,]/r?&?KPA2]m~}IWo $o4Iҷ4W$1H +~CJuJ$1Hu[U_">WM U7 ~xAU5O&#ĪiGi6+}ol Dvhdžp@[J $Gi6FUoCO!6o@ &m&LGmZ CI-7H@ &m!$/ehq zKA$I.xH6aaIR xtxA@G0 x;l5?%e#P@ ҇I1'JAm^Lyq)@ ҇Bޓbyb0L~K$!PXDx1 '&!P]ic& '&W W ThH2 m$/zbd* ' $bKH yPxp@ 1 nA&!ZZ@*i ALL& )N!xA`A,$U/F $eVEX8 @A0V{א1 A, `,44,(%G@A +H!#!hi-4$ A +Z(!!#"""(!""""(!1qI7: ]_ņCqgҲlԲmBAt{@]堭Y2JeQIMܣ;t@:GԐD+pB:pl46zbe 2YȢ)him00 +H5`M(la uwUg +YI7O &Ugu +. YI7\MhvWS +Kצ4MpP2W!DTpP2WȢ z[cٜ6T$m|k(u_%Q /%'ZL?K 􍤼0'TK A^ F]}B$h IZ) +W:<:-~4ǤKK6Sec!b/VAifBJl d5 Esւ#N$"мԫ$^AʟA739F{a:gsN.[}%2Pbq$K@m5,%2Pbl- J(a6ίSy=;xP@h'?ȒHIm5K"I"]%WOA -Du5kW_ AۄG]{}-l[CY/|< &P%YDAD+[u8[j + )Z۫z[zMR+_zZ\^>7 qJX_nl 6G __i6]}v}'PޓiV9VSZ(R/ͯ?u 6o$JzFi %{b)Ga)X~,ҽ+#$?GDm[%`pAW_i괶J҆K*> T]%:@^(t}+KsJ .kdy$tQʰVHu9n('_]L4~_ &F} 0z2:KbZCX |=ZzXA<.aCWGc붂A lm㥥HdH+liKi$Aim3 +~ߐu%a[ۤI/j +ֿokLRVJ] .4iu؄@;zZc^?K U-u @Euisu U ?T&}9©iZ_Z]HhW' tKKt-KtA\S:XaؠdcI4ΈlN{~>]&F4[ #;No.2)Ke}/AoKtAK,Kh A M/:@A#(A$M7 Z 8Ai6$i6aEB MN:bc^O.C^{ t g I AjAd? VFy" +$ ?0@ I s@V4O ` JʰWD` *B*XhhXB AU|*e-&A 50E!@RVIJQhTuK\td"'*%[vȄEGa8pιYDmA 9FԠSo +كaÆuvR)4dl$6vfie" NiMiÆHeB"2_;a6}ރ pWlZtPBe%$zn>B"}]YDK-8l-qL Pma& +}:EA.4_O麪 @I7P =IPvk3YpXF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F Fq[v:L_!H^mh8&WgAA[ȊU: + 6~ڥIZ|& 'H0k?F:{8ԁ8ԓ T 6|{o֘;DF5UGz Ҝc쎍:3ѯ&J)^nmEGe3Y/~*S9DyŒ΅>%JAaDzs+].:5kKFG R#Ӝ_T8I4Iq|( P^#Aiנ# In)%K +kկ}sc2xyZDKoqm-GPzPŪGK _KŪG-Rjca4ޓΗ7~A/):!%TMaKudtW"?kti7, zZY +-_?KJuA (۫i T-/_a +/5 ?2AQW"0KjШKpei:G0 +16aVzxc&+^D=sP#{~0-rR+փALSr_bӭ +>mM_*xj /㥜{~ tl /:Yt +^ "mIYj>b8_GKI6/M[/~x3?ͬki/ai6IbJAׄhKҨdKֿIߋ>-)đlBI^k((^,RC4,7Ia&KGϫ ;oJa'KoaGJ .ҲQL=6Ad'6@h\6=Í6p۪Mi6-.֓z]j݉}:CW>IN +tҋJA [5* 8 ?60y:oeVjʟۏPVE 5}p>BJo'waL-V?CdUA4f/AFz_$4T/]տbtuo'-a`&$kzC[ZU%!lWHW֚MPkd41M^KuZ5 u&?VE8@0֖  @KIiq!5gA$jK-1_Ih:Ih6 hRb"aEG:>#R;젅l&"#-‘,iqH4 2mdu8v9-G_\Dyn!]Џ#JD[CB/SY~a`eޑ0Mn%N"}v;MwlDDGLQp76lNMޖkMom'GH4-/ٰlHc &!b?D]-vmGuD7N}G(p_pKGqlCDI 상J@莇:}bbhV#ARuJU">q)t}nJD\#k[ڳ mK6"0ЈDE/,TBXGuIDD|PQ:ڏYQɱb%H>eR%J[vv.4TGTK#8g\mhs%GchE&tO*)ђ.0:adl$6llL (aal6rgՐhE`LIm0FEa,5lΜ8fa:.a6t/@UTlI@P}MzAN]% +RpCԘh)H* x $Ar1d%?H#DޟPP\ ~}p鴛ȗo(A&a۱fV*WgAA__dH_Oջ&eo 8&'Aޗ;H1Zm U oK蓴IkF5XH"t}Hh֘~ ':N ߤm$ Co/_բ~piE!AHKk^ue#@\zO"BZ)'h8 Iױ66&# +P d51-΀^΀\7 )@k8Ez@/!%Oy#\za#\9:E$|6{~*Y:.Qϭ8Լ}tzMRֳ4t\ZqPC$[(71HNsY0 L:*EG R#ӜKSD‚ 5죜sRO>V撥KAרd󐴉t=TIWO9 HIm$ta -Du^U*C߻@?%!D},l0":{ &0P%듨q#`^| 8ua|[u۪P3 +q5  ?QD_Zu(5VlKXPA (۫_sP#ih,Wt9?KKegaZA)Z I}b8M6]~?s8R|8R 6# to& cK6 J;9/gxA.Rq3IP_]D46o /WOIMfWƞ_qe"?(? HI03 {! |=|Rv_ן_c.AL>{/p@|Oo 3^}}yKx_B 0ge[T %Չl$D_~Cop!ʂgHdK+ڶ6A+ kE" `Wָ̓ZD ijΏA0Bbu$mH$%n9ήk&Z|ПC?IYBH$%nMWoaVNS"`ʛe>æ=Ra.qi֬oazB(gPpe;5 c2٫!#Dޟ+SΩV!Ѩ~߷Prv}QHӎw=TZ#I-o*oծ-T[p!} +[/A}75k#wuI@@UUfj/o KuOmǮ?\_a-]AQ5W(AYU TαTo8-]AQ5W4F-78h,WW>DCQ%_0EA |)__bӭ: פAu(Os8RK| ~XAy._O0֗ZM[R3_ +izuU_ 0kȎXAq~lBI_(":4kQ,YCD(r./3MI+҆Ȫ5[l1iNG!?o_T>8AszV uA4h/_/(l4Jȷ]//%GO҆KE* "#Ք[$tGE{:*빞ZȏA7OKo7 &F}}9I]l? oB 7 &F}_WuuIWoa~ 0zH_Ⳣ\_a~ 0z/A |6]V%zZ^OzUA>.1KzN>$D_M>?rSHdK+Fokk]_ V\ s(̓ZDA+ kئ)&+[n VKoks\OKn ׌0Mj0Q:A?*t?C]0Q:AD5iam +A*AqK]KYƖ+ Y&P־"$qK ?T& _ia'$p;+o_AryL n]i.A0M&(Iy /uPdCI4i~wMץB $`}mR_$1Hm-KRO hK%@D&@KUX 6K $__;/o]o,AK'UYOIHĩ(@A# KkkNm/+oKIHĩ(@A#|%֗Tb R@ &maQniqbxA{KIKAi6Zä,"~zBIl=1xb3մb Ί^ZLia߆ސAZX$\4oI/^LH0(I'J.x 9?a‚l%`$F@RG!elI$#"F0I  XQЈu*Zv>:>/GG>#Kꏩh+B#B#b"81"Ğr99ig# rAG"Ar-#;%R% +Ş@,ˤBq& a88#,#"Yqv- -`9!؟AlІ)*}I t-Մ; +w>mP80#Yمa]V*?@v?MըbŎmK 6VUme;5.",ϥl6‹*UNE"04<Ž85:LO! 7hx!ݨ-I$4nAAOYީ fGdr8$dqGx-8"=Tmgͬ>itߌ0ocDi=68B/ $%-/Ae͆b $ݥW}#ArM4-uKJ.JCG_(3#28ƃb"$# 0@ qQu׈Emmzɻ_zݽm$үD">D6 }QG6 #>>DuGNq>m(Ϊ~tDDD^DDDqw !g9#"X3E*&5q}X.o'[I!إ|"VF<>g-#:ꏢGF8!JP8 .?b˲컈8&'pH1+6::b8# "#bmP1N h/vеA!_u 4۶EڗaP"ᓴm>d[_V}8*>R+ +Lv#1ɳхx"mQ}ASiHvA9#tG#꽭M""6#W0@ ,D8 _clb ZDDq `k7V״qCP\1m"4~1I1ZAEgTe7#SN}9>B>AY#ΚGDu}F͡[}~qƇlDp#Hƛb [A88ooA73x%&c}6c;*GUFiDiRyl$q7`HQ>Ꜭ#$""B,DDꏡ""",-FG}QG}EaDiG~D} q&q,e"-FV`Aage(Dj(ʯ;D; J)\hL\UC:KhDB"ȧDBe Mi.64ϫ!g- &}Ypm0Eøp*DgPWqdmg@tᝅS*63[:p8,k-Ͳ3goa2aa0I78zA0Q@SPPvk?aD}D=h + oۥM߷MJDzah{$s̭U*΂M߶?HWд,Q + o/Aޗ;76mWgAi/Tv;Op gD8II,ׄDԿoI ߤm$ Co m:KDFI􍤑vlyd5:_q? CROAc='Ti؛M!%6H os6OΠ٥ւ!C_^I^\>uh"TG78PHH"[# zL{hY6L59ߚY?]#D1 83?Y3@8^>~uTu#Ӝ3ҿ]tYg +kկ)z>(a_ D~"]%g#DhO$ad?[4Iy'Щ-#T3ҝ%+0/u8|h_aƯO[>HC8KkejMm8_fW[#[( +8 --G1ZDײG:Seav+̟إK/3^a#,99/‘+K._v4vjIS_f~Re'x3:}-*̄ /Jk./3MI+O_G8-9Q.KWށJU +m:9_|ik>!?cv +몬'(Aʡ҆KB_(Az[(W㎗[(AYk^~A7O>Ac8`?렒agAA̭z(zF}QWT/a~ 0z^?_]y+zC?{~>5VA lׯ__P|Q|xK <6]pKm oR_F{"Y\U/?!p!_^}%at҈5A?/`֑7Մk]/[_SPָA (_99#(ӡ>5~1XoI[5_C$J!* <.?/A38HQ<4cbJj@ڐ-z][z|ZPtUi +, DSD9I],/XHXI]/ ~H]o4I9P[hPo_AryL G*GZW^ZxyL Dj&ߧ7^ +&D4Om-?I, +٠Li&m+}6/g~.Rz[(p|1H[Km& N޷ Km/ީm/KXm/Km_1 r«zMF%IBۂ$[ anm/ uX@&5oҿ [zL5H]$I&_Io_&m&RoToÅMjA$IiV!L4Fb ֖m&Ý>}%C+ zC1h t" a.p t$ǧΞA6P + +l &=/J}x&?%A/@i$)y, AyدA0:H2׶L1ΪpoG>TB6gƐd* D B4H& A`!y8&FM&H?0L +L& %t-@,A%zXHd"$AUk `#k"* \p *XHH4i-& DHD -#hD , V+tG^B(&DE9'8-AT_fjwIihIs"mB A'F24D+;(D-QD+D&l"-C:gբ yOPsTAW&hDW"ȍn3"yF 6pl6ͦl \0Pl23T6lI"E"Mi.'DB5+PPu +<"[((vJQBDKP6҆&"%^3>,0ضRpٛ#EYM40n"1Z $h)ʬEA$n}.}'6l] z4HҝXH#Dޞ +B$, _C|*\ Rf&*$/ +Ql!oK߭g1 z_ixH0"?8Jr'_D#ZW$ +'(I$|$7_IKof􍤿o==<~ F@{+L=$4o6Eٲ~?~WrBS#K(S_ гa4q?Ze!\#@\zOXooUz'Mʵz BI=-,"c!qX}?HIMC\mt )k?󐺤"- JΠ xDt%/*%OEJq%yQ*us_B.m +}BЋ _u Ő~9z0sN/s_ZsWMt.aDzsIG9{  ֻx P_.Aޖ_:( P^,#WZZ=?ȒKoa楤DKo}MaHIm ϡ'Kk$("Kn~%/KnL5i/8":d&Uhe,E=u_%G5\_kD*]xHqK=V*]?]㤂n*Z"H&uL0ȯ"B:Ni}L4~_$iS}=6 5-#Eֵ 0z-z] |=$߯@$Q߄h!#٠lK_x=IA3 \?*H ˯ߨ~__ /@ im_/#>?I쉅qTm$9F{"a\U/_ & &g kW/A,W] +ֺ_X V-lJ_JAaǠ]V?^/ H*#HALRV묡kH$%n} |B +1:NiuTc~cI0 zbA:Ahx UT_P?I}c0BLȟZ[ %5 JMϧU **/)ק8@#0 Mk +ia'$EWTzI/A%$~yO  I&tA\S?G,]/r( <}"?߄J~A'DOd6 K%Iߏ( .M==koZ@v$2ق(OFwd[ @ԡ+t=ag~D#$/RBUoK)m0(oᴿ~xA t8 i.a}ߥ";I/p@[J $Gi6/:@A#p@[ \%oIAlVai7:Mmb Iqo8 Iqto萒tW SH,7]Ai<:YNB M L?^8Aa[ +*N'%[j TD:\Ja t" 1N:C̏ ̋!$Ʀ]sĸ9ŸA+, Fg 8A6z, Av vBI8A7 TINMTQ2>M;%$ + +X1 h; wKO a`IzZ@*i ALcL& - bN + K_KI&!-aa1] b4)t_  ^*R t0@AZEX? ` *v>㥈HaDvGiRi!KA $>#"BGp"B>! "!r@,F88F?/ŜY ^qgq3_}IiiZ!=dʼn7flB{5'ɲ-DiC +?lheT{uIlx7-%OWz׵]<5  +endstream +endobj +30 0 obj <>stream +x+*T04U0B C=SSB!9WA?37R%_!+) H!$Ѕr\CR +endstream +endobj +31 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +32 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88605/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY P>a T#a| $Pm H7(BmSΦqt ?1Ni]7YI][ \ȤFKkCD$eGIտ"M_8%)%oz:kn}vKe!KIk{MJFǣcK%_֝bq *5ǥhnk㎗+U${ح&+mJ /㤵Uڤo)$)zZ*_KKR`I7sK?/%I>?"uNK_zXIZ]BC%?/]$ax/Kfn%io%KJizH0RZOOT:Vm-T=]]P ; %-LiI&2T ! aaAAI"""""""''N  $("Kn~^ҟ98*]I)RDS|< !-_\kKejMmZ^ޗOZO mtu^:1XX"׭& ^ւ Z\F^p]~5t&ҭ/Oϥ kyCzU3#4؄^t^:_,R ҽ+#J q_}i[l1כ~:Z 8Et:eK4"? +_ _}pn+ /JgP@$i_3P"?9u~hBIm#>\2|0H$h/,s :/h)t Hk[|=BGk  u_/ AA,}veZ0IeqT뮗_AqeqT^GYk4J+ZZ O$HAjV_OA&)+ux@P=A"ifTouIi?Bf Nk 41H%ZIx!&wK-kij'"wUZW%@^:Z]5ՠ +կPA޿Ky<a&D4kKkuA'DOd+K$1HB(KiI; `eyG9xbAm- u]6[i2;gxm/J`zWXa~@&!"I m&Gq䄋=&r I H6mp'a=&Xnoi7dQ` A0͆ "yp(ڶC3(߲ cL pm7$JI"u {)H >=biFy" +a\H! 1A06h1 #XAH! 1Xk@H ]xc&K(B #XAQ[BQA0IU b4)t_  _薱h D K%Z!GiRi!J"""8""""""""/ZVL̘BW[Dɣ-Q +`AlDQ#D;WPʴS` Æf L2(ippwRl2H:ۄFggQnˌd ! ZPoaA(ELf# c2P:h#DޟG' oVAa buqivLIZh}*} B᷶a0A~Ї9 -? z]1u|t5$v~8~'ZL?KJ}RU6pۯ76@Kg"o6&IoitM_*FPHKKi{i?:K7 p d4*=.n$ID5YF^"о!AJtӋJS"HpUk`i`G9W7zQi[(!f뮗/eP쌏죜sPP@WΡSP}cNOtߪ^ ?Ko*o0\SKuA?}75kp=D[W"ӥM]aul B +$Uf4F*8S6PmKK+Ab3rZ /K35}Dng'nr1m%Aue'w 0M!I|k6aL-W#lBI^>*3IK x괶Ҷc_H&cхIi I)PaWiBH_ --MCΊ-BL4 +6ﺺaǧH$ꗲ%[uuz:9=-H A^<_]mRm-3~D?kj?--J+Z?7Ԗ$z Z[aLRVg0?i7ikLjA +?D5ikKk KL JhI5~8~pG$O5p++/㜎tZL +]ie /!6QdCI2fVJIgeCKeb/W 6/'UYOpGi6j/%֗TcM _Zä,"A$IQΊ֖  @Kׄw Ą՝P/I.!>^$ pk Uil& &[AG t4:HQh~@2ah6 E!!b"aDDDDDD* ; +GѐD}Q#+ #j[v#DDIB>-lv1l#!Kc)٬g}0K6 >3IcDGLD3"?]J!0ŔylM1dq DHj]t;BS8:SaJEgHS71-ٴ=w2gf{7GD>KB/B35w}䇒,"E $0E8aFEA,+_۟Vh OcC(puWoBnU6\˽o%ٽ#<+S +(pDsU0/W_n;եRZc$عڶbA#hϣB#yH MUbi]A"#UЈEY}PD" ꍣ5 (@8 "> +1!61lxL(#!`:&TD0DEA"=)h>R>AK!>#aZiX>d M[)n!Xl" 'DtȦt:`YZ ~3vR4ITAc|8g\h%vaMi@ \6͑f \6 ͑f \66 ?хQi n.a-ރ pWqphm霧8i҄{  8Ah)UAh));Ȍe;Bt4Uz}FOQt4Mo(A&%4\ $t> +"ݎ2GW8&daHIIPOsa_J> 6)H0 aIڢN'~pXN~oԉi0/5Dѭ0&|&XAAZKg"to6&Z"uh"{fکChzW(֜ZP&MRֳ4t\Zq~ߊfsN/L59e0?_aDzs~~JAG R#Ӝt R#ӜY3@X׏ߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%_?T[pI/I#ca4:ll0":[?p=D0[W" `c0P% &0P%K( S8zrtV5 +0*0VEE2 ?QF^AaN#A (۫Ȱq׮ )_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_V#_M_ | PZZi7aפ؎>mM_C akov4;M!I|kRlQ M[xIMUMizuNOFi %z^>֖ibJtaFi %~&\_fzr +^>z-ZM[l1ɀU$0|zV uI0U +ovP'a6]%q_҆KB-aGJ .e9\ _P~t$/H&q'I?b:A4ȓ A7O xJ &F}yV" #>"?Aa L4IwW_"&.==.A&T 31uH?IՃ% kB  0z){KItA h. xEx3H ˠ "A 6]pJ0~׵m 3~D?Am}W $g'Ra4M/$ȜWKz3{k@A+ jP%:?? +֠Z_oA0BV.lS/Z[aLRVgP 1I[e -[a 1I[un _8 UG5a!*~ u²uA(aܠ*Am5Xii VpO9U nH%Z[H."#9Ii-<A"~zsA5 ?THNqj MNpia'BxDr9i2t+"?pRW <_ <|"? !6&?QdI25&ANoտdI4&ҡA +֖Pgd +  R3蕿\{p@ʴڤH@};^AWM JoAAF!7a l/ |!۲%V[ A M 0ޓtRPa:MA$M:MA$MMI6n:M0 it 7H6h/6zKA$IiZAxA77!,^&? (l/NpzC1~kYH t"ǤKQk)N:C1h,I T>^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6De;"?"חn6tW\ ;/쩮0Fm&!AI6 +2pPm&!A洿 MvPSLkNioSLkӆx|Ҧa^AWz__%^DGGYZtI5/_5/!Z /jMKW}"k_zI(8HB0b_Z P X>W_.D5CT4`u_?S_},KzIȠgF$pЩ$!SDy#鵔j0oZdT <-([~h_:6UgHBI5D?5jE=^AtUKHC>a樝j[~XD{9pZa' sq*PH|Ns1Xo7=Rʿh/a_T*M2?I*G0 |qTZ##ϡ_=axa^G+/$KvUfu'/GUi{kY9RUz9zG9灧IUKK6]}; ~'t:H#~IuesAi?Z^D}A<:U3Ηz?փJ7yD4%IER(t"IN8DxRб*pcK9*iiZ Bi $lI4>`Im=tK_ ϋ ^i=4| GKz]D5]t|Mb PP, _oZ 3,YCAhKJr^?d\08t Y+_q֖]n~>RgP AFD{^_^v荂 0oAǜ/e?%ץC @Ք,hkm4#N$AicqyQ<I-,}/ҿtߚ uJh" ;*ru$ _O_3W w]Z4mKI- { Z\idڷXۯA^aY "߫Y:GuxMeg 6~4Q={+?miңY=ukh E=+@KI}PAi%_[oe_KKo +ZHK[/kiZZUBA`u PW(UiDZ SAР_X@lWZ + ?~+{*Nz` ;)*M{*]wYq tDAAh Aiwa6  ͂Au>,!.BA_Bl +CBq[*:JCìqǮl&k!imMZ폠B~"=>^-a&Ms}b"?}]7_a--X`T _x/T4 _/J[ DG򫮓{ߠIWI$7_ 8F?TMҿI-R :"~I=%0  `&  $ aba|$jK˛ 0AEAa%*AˊL2#RUkH0zA75*A/V0ȍIV =,I8cJaAP@Ab9*@e0`Çaaȶ- k"H !c& 8vLbҬ44, $^Ih hp  E@/  AxH4,,HX G[@@$alCMp!i!HDzA0#ЈDDFDhDDE"""1"HGd-Q\d-ƳdJKQ\W5MhJ N2cA8g\2[3w@KN3 o!yXl "֘l8l q\lDa +lapȟMla;"Fl2'0la4mSϨ:Aa‡U N5vD"aM}]«*)8lML0Țn*XaAx3 "k. ) 5D #9i3Ѭh"/Poag&g;U kVBa׮g8$i2#wD%[wLm<3k3 +huү>?0?9QF/!F*itzMB TLI6H +_n}3^P4?MT*gӆGᴓI,rB:.DԻoKo=M0ajM +_*Н>QV <3O{C | %~nI%m__Y +ZL?Ktq6-nL=׫ $/HK*. 6%lѨAHJ"bWy!) a_RC9 !=Al?$h I_:*?_kƓh|ޒiKI*H" d5/車!CU/1BJl2\8BӪ"B,gq$%xHJ5_(DRT4G&H?~N> G/*YӱhѪI-?8DV1 8*h +&!'I#=.m%JQϭ8BЩtK!?,U^Apt!*"ҒEZ 'I*:u$opBiP8Ϡ>?KzY8fCNsiNAI% +kC"C L-"^HB 56"`K/DdT=K0,t83yS KoS/00J%[N UvU WK98LIm#$҄Jt":#ALU]/K9A~E]Wүo%2={7?rT nMJDkt@7IGK9 m--ނ۫GدD$[u..4_OjoeL^$--]╠^ۥK^]8X֍8KB8__'H*K./KAI'#@R/Kk#z=zl|7[>,RM'}-*J_>}-*Oϥ J5h_gަ@o^| Xe i~, %y^:_fW !YC/ׯa_,GU@ `"=h/fʝ=@]{* .oI~.(4cBCai}`X^E[/H$*?_!:I?AuoJtvT:%u&4_-KAI03)|igƖHi2/ a=WaHzW4 3)% 0z_ޓuӥF#YMxK <6]W_֟K <6]~  lHKKI}8Am*8XAm*o$ȘWKWú  +xk_:#\yNxkւ/m&A0B?T_^tA']+Pu%K>r}<%6 aLRVrS-ƿjl" K /Q?B UQ[ ͆C&1F }VEΧQsk_KUQs)(_?RS%1+~D[M%SDm-\ DS_Iei | `_ Ty<'KKA? ȴ[*18&SKvi ulPA2]ZSL.-#xi|1Hb@Z@&"?}p a5/Am/?K?aXkaㄭ!, Dv";I_=+H DvФ?,7b"KK&o&m#!"I m& ]ΊzM05:u]ICH6a. H6q?^G&F*KEO8A60 (}yRN: 36` ^l tNaQ[Kk [AIAI¤ KKWpo+OWpoIu {)L ?= '&$á#5"ش]M "H LZY# Lo8A04 Bk +@ a L&Ak~B:A 6a\4LXHAAAVC U)4`q +ZAP$5BBBbA @A BMDDE4""""""(!MJg0Q0e8 Chw  AG ik^X%: ev e^[*[aqg|5]qKz聯[}$`f KKxtdu%h "'4 dE. @KJ *R҈,H"#LȄd"T𥺰`AlDQA)8duʪ#j _ls&gix&7&Vٴôd+:!ȔMiIZe(l6@M_Zud5uvŧITtͲݗAGҒ[{ >S"`(I7Pu +.F2#)٬l#qDM4DzL:QYӅ_4M\0AAQ({yobc${I3+|%_[i~P8߽8jF~I4k➦H0n,}v`[A!iz_*O_Y +ZL?KGAD/BFm%>QEs?FA#i/KKA7T?$h IS#E{J 4IMCLW^_BֈkPHa"'*B^Y_ڤh_)%zנiZT$i~N_%(֜\SO"Ӥ]!T*t9g$ [~JG9~IN$X^ʡ8ޓG $ 5="^HB 5_%=K0,t}>tT"]%:"FZV_A~#N=)[p +":ePt|>$n֗Qu5YH +^ҟ98*]},EG IGK9 m--<֙B~֗ (۫5V#/+`SR+ץ_p/:#zXAu(O׭& A0}!]IKJUK/m*y>!?l3Xg$# tH6!$g-,6K?-:D{_}i[l1/?__iP9#8uo<ƅ/҆KoyK<޿ $GE{:zW9M Km$@|NEWtG[L #>e9HC뺥Ώ붂-_'MG 恖S9A&Y~sK^Km3 _UGIm  u>׵KAB?:N[{+ko[ $g%Rk_mv/ +xkA%ޗ_頂V!Z^V" ['_XoI[𭤖Ol K K yt!*x]t#K3]Kh Z.)vKU=t D~$ߪhI~[IA"~r2?~yL nՠ +y /-?fi m/( OV4>gz_Qia)Wt\*Xm/ ` _ޖO%i+a# KkAX@A#c@, Im&/AX䄋=& IBީaoICH6a$0  B MΊ 0ү&&*ʳ9C*8g\_M8m"]7 iiVDR`;al3>g +* "S 6ͦ0;a6|MnljNtVT+`@Tl&}ATlef2~gsg;P5S} 52& PQʈ4I +KLa8u(I7P\dFSXF0-tAշt&ej`2za^7\0p.tWz}F50@Dma6 +1wW1? m4xiWk]$̭TMBi~YRI/_Œ3MKۯϨ}OSL$mt'j;D{{n^ʨ^h%SgUŤ+~ma/HKsU:A/J\HG@QQEs?FA#i/oZMM~u$Y}6RHT4Ǥ&,~K 01[]|4:$-ja$Sd1^}---CU |$DO(S/\RK4pE_},/RdIS/Iqz +/:~uBI?Ww΅>vo RR}iťoyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^aטUNļ⩆ad}8q*` KꚘK/H0J%[~xH0_I/3ҝ%U NI ݕCAt-/aPim#$&үo%jsb*>?IGK#/ O朜[W"k\_z_[z KnO5P]<"?MzGDcPEWi{z_L B +$U +Dt%Ʃmh,WW?_pZ]kN_^Vzf> 0_g%UNUޖ] +)SfA0d }:^Z %M_ | P00+G便[Rr}/K^\? JƼ DuŔ1?$#Y?_,{ KbJP,6(_5q ^~KA}mT_OK8uo<^|>R!#M#k_cBCa_~h*?9^# x~h$t_ץ@_r.:񲜤zB!63fDL4 +l5Utp玗 >(W4 )% 0zmuZ_֟K <6]V%_A A |6]Axc{Vۡ8XAm*h!zt_.o$ȖWK!mv.> ?5 +B ҇K%%&DNka6 IADOKyps9sa Ȣ!&'J Ӝ%d4>tzzX1H ̯b0QU2 DN4(@._+RA|,z NM85U-)[ÎL& *AB&Ryv0L$ 5 a0`&>0B2I P` ֐¡ t,!ad(B #XAV\Rj !ZijB)b#DA$ A4)DDDPB"#ADD嘪 W[E%j[vO)Hgc2ߣ'GeD :l+Ȳ#hPeg)e7DtȞt:i?dUC`&Ja*t.p06mde M8wl646d 0Ȳ5Lhf24A轼0ذ3EBm*U0 .e CH$h(h(uDe;!/"חQCkן}l?ӝy 6V8yBt4Uz}F/TDs`]HO֛II8]&bo4pa S*i3_'_Qs{B$$mtׯD$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RUo0#>~K {_=!~7-R{I:MCY~fY:H7tq ƿI Uq=/IM)}X5ImszII6PL2&e^:K7 p d4*>0_/e_YG +VМ%M!6HS>6jOjԲo /J'Zy?_aDzsU~~"=C?B,7dq9EJnI70I% +/eP 쌏죜sPP@W'K:aN*DdQ"oer[W*ISePvRKRa_5zyƽ-'ݕY]u&᩾SuoqO-":K`kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTty;K$P  Jg^چzrtV5 +H*0V} 5# h4S{*gT_KKn/ri:lVzf> 0^`[Iy +Z?GUu$@PNJJIKNt#_M_ | P_~0 J ϋ&%.{mvi"9}.m*ͯ|Mb ׿ (c-#?_afWϧ~Y  2^K( z-0 aWKm+m:; FaYN٢  rՔ$ r@N>K(l4K4Xy umqyQi KK--XMWDH O[ "I % }/ߚ ݯ~;*rt/DA >CqW/oHѤ/-BL41 +6뺚O޽-&Wt K,V~K0]h/l |=RP7:/._~4Q=o['OPE_tA f. xSҴ +CIi7]B]5e8]/ _I#=0*C ih"|UB< ^ShPPbEA_KoI-URs]ix_Z .imV!Z՞ح AQҽ A KΈ$줪[i7i _>}--A&)+t3נ ,!tp Lhq{K G!*~ץ,$moȾX.q%l4UVZe!5֐[_ZZdyU.b"5$tx}&_ +u$h)^pR.AAy `Ą. 5#$5%Sa]$A ACazs<@H,2QH2!&DF =ߤ +X1 AkJL0sD2Z93I 'Ai@!uaaȶ- ik }^0-N@ jӆ*v!0B $2x5U +? AVT,)d`@$a$""&jR DDDDDDDDDDF#- +H%EJdtW4DKtkDvd4.}L(d)J"1DwLwDIO(:i8fVD"*UQ"yӇ 띤֖gUfPgmpeVȪ@ nTL ٴ Il N 6ͦL2*j +$Al8Tq]Z Dvj#IN.Z@M_I[pWwl%Rqfn f.u Z")D0˄Nb֙ӨP{  KqLˢ! JM44:e;r&ڶAiy lUM2׮h#DޟG'#6V8yBt4Uz}F,6(>i}cCm̭To=Kf&*J@W&Xi6o;糠u5_H0鋭$G%sa^56i}n붓ҟT[` ֓ҟTrFuh'm&ҍMw[~7_=!~7 RB)GHΣC ѯ-,%=zaCQ^Fn&V4Ǥ&ʴGDx:$,i6&KPHSd1^e'WM\!%6C %6ʵz"b,!aB,gpҴ!H~\: \Y"Ta0%M!6HʡQHIm PT؋ץ<^h8":K`BZVKni%08"q]*"?=kOUxuJC\"h@U ȧ1y"MOGL4Fi>IQD^F*`/ ?ejmTa"b$01z_ |) TM.JXLܧւA ϣ4QDuL8A)-/}h$`.pG,FkF:ץ~B_13: J'o.A u9l K|2$sg"Kiz__l}b-/I`Im}/m*(HGttBKJƼ k4 +Jg$, KbJ}9sh}?[ 'K#4؄/}?^tqhKB Jaz~cWKm+m:߯AO_\u]OֺPit͇`_q_Ca_ϯ"?_/ˆq$t^EВKKm$t_O~6SKס \l)L41:VI03KT(<IzxxO">.sKI/e:?A1qv 0znt_TGM^ _ 3" NjE?/@P# 30tZׯ?ޗ uʡAָI#=,*C~`HdL+pk$bZ [:OP^?/)Akւ X`kVzX@A+ jPמ0Nzq_ 1I[__}--A&)+t3WlڤS-)W.6\B UQ //x@W%綒uhe8=H%ZKk KL J*4UMM/ֶZ DS_1D$~?Hl#'8j\ mU}/? O)qs΋I34A\S5M-N}Jo&D4 \QdI2M._:IWcDA^HboZRJ@Ein|󃴛 ?-vKPAm,_Ub [AK?aXk##7b/[G#GGi6k/?٬A --v"!8$'L4V"00IנAi6cM _ à#/K L4D @C<$һH6h/6êXEH6h/6AFh " ]2(2|8- &iuQ4E>I u^L߂N68?A2 K[AIAdSb:+-$;&DF"J(I8A6$K0I.!>^$ pk P ]` iM`.@8A5  A`IR 8x LB,DJp٠Mc-,L!CC$`AV^UbFGC40@A BB!iT!a +BTUЈPB"" RDDDDDDDE"""""1qTBnO;PʴS`(80a[ IPa@WuF:a#EA' oVAa *} B᷶Ϩo΃ƾ|SgU6p۩n ~MڷJ$S#-.$tH[*=.n9- ?|S"HpUk/ҶPCJΡSP_yP}/'_MZ_M/לտ1f`u[)t]D6aL-V}?CdUh6=_oR#=YAί_Oo*帀QK׭Ku OR[_a{BHC[ZmKB_.oKztX+%y].-A8o +[:XKM*ttpa /Ί֖  @KTj5%~LM5a%ih:B%l$@A0 PGj)B*9C (A cZk,g1MܵҟET}7DxA7Y]z;JyH#C˨""-(4vP*8qvhBnYN"PxVLS;4᷻a <L4>Yj3M#8.Ϣ4h;#>6Sg`H}jҰel]ީ""!&E qfްQͦd5ap!A!庰`AN ᤊ6&NA6=Â#GGӞG~a*:#0>FE +>Dg"6CG"ޢ6=0b'ӈ) +CTwtjDqslM bwhvwN^Ma& B ꡞZGGD}Gzi">#YB:#5<>DiGT}gm)}ϣTuGy >DGӟNqpж"ߎ>""G#'"8""""8P68IڢNHumB"xؤB=A^R!SIA"ȆqJ:D6z(dA2CA7lQD3/гTtA4HJHNyYf4ud YIdꚑy&y&#?iH2莓8>ͣQ৓wFqHYG!BAEqЉ8Idp@ꃊM$zPu|qtL>иQ KKK]F(qdTCi8m ނaavph TA[(p؄bI.('/޽Rh&m(PAapm.__Nq8AO!;:Ii!~aPd Y}@q)pEյM <#86E^HG}Gm8AG":8>k=yw㏄G!mqB({B b1N;B ?㈈""-J D68}hB.>="#xw:YdpQN, AvI:ڼ>7yzGg(G}GHZHVqDiId51ǒy=yH!6>V( #,09xF֋3ȅ,VΩο_^CuԄqqaX>uQ\":\mO~#'琄Pb1[V8K qǥ<"xFv1;V!3g ( +1$d,0!8j(Mfq-GP9}2:$x%`*6eѩI34}YY *XE.ꏣ>lS#)xG(FՐGvqG#S:8hꏣ >}G/%ל_q:#Ų;9q|Dq B1 %m&8LjxХ"/-J""ǯt4b(>뷄yVOQ_ +k~$v]i'ڃm${w.ARPa)QTm-Z"qv,օIXDaaPhD5FgU@3h0'%GUgg})B G$";'&„GaGF4CG"8I :><:#aO,v:onSlw>_X qEQ$TBV*,PƘ [M`NCvW9~؋f2i*0B;TF^pkiRGgm9岵8Gv>y}(rGyYAD}G}d<}QH(Dt]GT}D"!}GU^j*sShFfyi"PD|"&nj#Q[""6"#DlEqlDh\lDFp@P,G@㸋0!HE1mqՋ,lkH!6loAamvMEGF4'< y6yYŒ=#!"Ω8>9hVuYD(@ )CH[GL!\DFMC:B-Q!1 v!xb*C#Mئ0ֆh6$ $!1PI%,y\HtfBj\馈"6(DDqDOa qJ"-*+)EagFZ22"""-VB@~YIQVv4B!},&>G~:+"""""""DDGضWtgѐ<,k<" +CIKP]*uKQ#mZh lˏbf +f >""?>gM+FCn!C+D Yh\w4IO(:dfGehD+ggipιآ WQp{cQpȢa*46d 0aݒ4laÃa4la®,Fv]"%T(AøDKz 6"]]霢UQqG8a-iA: +I7PT<oaU<oa`Av1 zQCk 4oO֓ȟo(A&k] z'?17RV_տnIVݎ17W6_H0鋭$G`gҬ z_gH0ls_~i0-)J}Uԉ&i0/5Dѭ0&Rc"2Դ{AHKVZ":aN*QS֑.KAH 0-C'Kרd󐴉t޽GkU ۄGZIzLC+O~T[p66Kn{ctT|@U ȧT5KK4@c44@~Jqx"?UPDD$[uzHA8*eZ B-œG. H;@AREWԎE#_IR}4+Ab3rZ />EGaZA)Z #wQ9BM╠^C:ӯI"s@VI/^ZZi7aפ؎>mM_i흚&%uI|kW0!Mڂ!I~6 Jc|=!e a_fW˛CִMfWդ &3MI+ qY +qP A~[l1/B/{^8I=+m:& +oJa|'㲄]OֺPit͇`e8CaK# _ߦ!-$A~\3 8n| dI " rA$HϽ/)Pɠ@agG! $CI&t $aK@1UH?IՃ%k kB  0ze l,&. 6Rpۖ$8k,Mm"]]„U3DKaZd0ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AN (DMes 6U):L]oi[(oOCiF?ȏzl^qD!]n07Q2GC&boaHIIਪ#>ؔ)^ +3p*o(΃ԓzX~) /п z\1<=~`YF&/Om&mapz/e9Do5I􍤾A#i/oI ߤm$B:k0 IH7Ft򶏣7q?K.='=ͤh+G 9ΣѯKOMZ f!">$`c!~ǛQ[E+K-S6G p0"=9TV3#?_$f4XΡCkEE +0K=PC qRF6ad|⩽M.zHImaSBEN y:LIm#h"_":[4u:?5\&zSh}a-RPEX4I[ K*]HQ4yYQ"E">[}zq8 --RGIBQI^E3zU3 ٝ!\YnEO~u5h,W?Tf)Z ?-/JXK_L#` I_}/ʋH*I& ѡ56]}s_Jo_er(oK)}_便[qIDKlR'm*Yۦ:m*+ ~_46D_i~KI+_LYCAd"AA"3MI+6#4؄< ~h +uYN +Al1lI( VV uI0U +m: _0UѺ (A㎗^rT, m6]Fr@P&PO=|qX?O0tA`A6 |M)8/ L?{.c3b!zXAag^otL4lzrV_zUZQ'A&\/a~ 0zؔ%f**">ߺxAl??ylP[SZqA f.xץZ 30tA_ۇ aVQ oeqTśMXHdL+J}I쉅qT>uoA{z o&?z_ ?aZ X`k]/A0BKM,%}_[e My ,7cYBALRV묡[pA&)+t¬M>[|7,7/AaTm  |B UQe ;^B UQנIil=ڤ-[zKW'G_a%p[qUQ[{}୚viC#Li&zT( .M0~>ޖ`k}J{Uov>=-A:>gy:V  R3*jA AFw%o +jޖ II7ǃoa篥6 .AAm/4ߥ/l#ok &yM]1fKGi6Њa mVJ$";Iuo>>a AZMr1Dy&ཤy)m&RoʮI6n:M0 it m&IK=DDE&GJ&L?0?KCH6aΈ>a|B M L< H6aȄ0S6f<$ILo-.aHA:PDE&<'J!La ä$ (t*)1kLd]& H0 0$ +/ӭ- Ac$ ld* &I +AA$ߤ +e8Od* N=G IP?~I.8A04!a` KH 0i L @ H uƒ@ }!  ePxHp ): `ȰARupBBA$e'TqvT4!EX;T A5CB-!I-Q!KA !HE,$!I GA@ PDDEG\@B""(!"?VM +?-Q>eZ%(uTJV;hD* 3dEi";:[:ͦ(l wdl$6l*6FÃa4laq]U 6#]]ŧ G>0wuwoa*9R +m 7S +c@[:ꪃm 7V }voO+0baH#DޟoOջ&e 6a^)nICޗ>dH0n|3rb|$mK]#iZaL?Kny 4kL?IHK#8C~=kozxto6I:փ.='Y~f O$#@\zOT.P@j=t*6 Q(MBJl d5-J>㫠^r8IEEh[~j{$^Aʝ8-k3GE9չt΅>7⮵ӋG9:d Il0"=9ϵ%~WIl0"=9/ +kzȮi*Z$(a`xKAQSUP!i-DyR/רd󐴉tۄG_ʡ">6KnU%ZĤ$ta -Du[N=-.[5^#X &0P%Kn%""VT0D+[uy*8iVha5 +V #~]c( ?JXAI~/eÔ&A)Z ]xI+]--4IlGm$ItP/Io& [6T' 먆o&ҭsEIWZbIMUFq %~8o#4؄]=JȀ-Yi6IbJ:*_ץoJaVWmC) ; $V^qS_9(l4ݔ (e.oAXa҆K8A?H&R[_&M#>>6S_ HI03a["?Aa L4Ԗ\玗$a`ν*E|%!$H$Է6]/A l ?; jެ>fA<.}ֽU,IqTmk KD IqTBZ_:?? +֠^V%ai+u]e _A  P_IZo$bZk:^/ Uoޓ{᮸VN6jOǭ@Is"XoJ4 sq)PP"= Yf9nIT*⩾XH0E<Q#oer'.:aN*E<_#֗rS5i>i0nʬծ:_#zZO_Mk62zJV D0}]$-Gd$P Ac-'GXHA0UVڥ-'D}A<: *ʙKR'f "Z_^u(A@kGê_IR~0~b-q#–qW@QfzI%CZa|2n?K m%:ӯI"}Fa h7[>,RM'XKhYi算vka 0mkizMK/ׯ#k0 gYC-׿vCCpci^puAwZH KK--X\6_-,}/~hv㲧(YI+% ]-"WS}+ߚ ݯm_너&ukAh<_@">,$f#Zeiq~j߯i5?Aiqw^_ oگAhBeT~4Q=o]7?/Jg^@zV_{* +Z - \_ tүKA)Z|H6?AtZ_ tmvִ--COPX q/)As}WРĊc% < ^ShPPclRi:+zxZ pA: N[i:+ Ok~a6  G\ ƇG_Z@)ѰW.1 ץ,$mol|ׄ(5_K!Qii6Qssa/a(Z +nKG|ax(.-"ᰏ$+IzXJۮv[)i IuA'+o)kʙ^?PIK0<$Bl +CBHq㐏JUMk_Рz_o}+eTq'bݤM֩-#߷c&Pҥ&_@KnIer)Dkߤ-a&I$D `Aa'0WGBIt% `A"?K[)& 77SP@&HIxA(Al1?*7%~i7@Cq7J$SK`U(~7A ~LRi\j}sI?ITkx SM"kXA01VL8 A[HQH2 qIDjآ#PA&&R |1A0}#5 iAp@Ab9*@ea/  -a@AchdX^Ih GXARA?TаB8 +Aܹd`H4 ~L$IPX B@#B"""""A DDF"S;Pv2 HEF"B-9nQpȦjDo5#GTN88d ι(D/5(d5(g\g; F%&V3Rao m*iu4kO L$im"]7 i ["0f{a +gث6vT n +V17i!Ϩ:Vvk#bDݰ&F-#;5t-3D5uvF%=`nu-}{935|:. ) 5D#9i3Ѭh$.aZ. ,a2koaB4b֙J7t(m~y. ∑&@um2QQ+MMGSꪛ m&!AYobFIۤ(I}co Q +qv&ӆx|t8m$oK/5.8jFLZ$#DԭN %6y4EX0PHZ^m^&ۤ 0)KD?K$}U^P"]T/I$mAzF\]Ww^Q\uPԐ/HK{Ү"rGEU$='ɯSצd?KJ)I/!־JOIm}^I%IA}%DiP_,H萴2_p5 }:/Z!YBI"WCU $DM#E9ppE 9St5_r4BMa`@_6N>iiŚ$ҴIה!SEOΨT1 8L? KO,}7{ϯM?t>6uOHCU)E$G]"=9O4Tu#Ӝ_s]-"~ʥ?A:px~NI EpNsiNAI% +kB-EFNs"t|8 P\ B!ΠcSzK>?_E adCTO*fO[SIbD1 ViפU\I4>`Ie=tkI4}(D{>h<E$O_\?KJ҄Gb-/I`WoXL3,YCAhşI8g$ߋ(cKe I+ԫz/DgI+ (cK+рk$gP A\GU@ @Wc\B 9DiC @t %KtKT?8u[/렒_ $A>u}v_- N +WDoAM/J_ 1Lh$#z  1kп $ֿzB\$A4_@aƖH 辂-^#[ꗞZ5?%9tz5?oA?tqm#XaaXaa/L UXI%f.j O(Gj K!.CkAB?:N[{+N[{+ʡik_-RBp4ւu)A~4((1A` +ZNS +ZUX HׄkZyN맦-/: 8  a%nOO a%nu3ӎ8 Wo/zJ%9?K.l Lk +N +AU e^/K)ѰWLlHQssacbGk\_e8Vt PVQsaux(G"K~MmK kyv*oAi iyLM.r>-D{l4>gcFwPZGiw>gc龸U_ioo-Kt5] %~C!, Dv";IljoV c";Io t򩮓Z_66oOK Z^:M`'߇oEtK4i7il?PZ2:ARᅫA~ a*E3DD#R`6im0J ܷ&[zaU + +%Qh6)8lM.wFkoa$M4(AXM)D˅(I7SP]Q6ޞچmzF`hp^A¯A&\0ۤ(OM +L^CG${I3+|}m^& a/_4AޗeI/KzoIxΨn-&{/HK_H ߤm$IHG@Q("Q ~uIDĂ {鲔BSצ.='΢ѯ '_ d5bGD#_cI d5h"%*dl64$^BJᘋ94__},/RdIS.[BIŒ钘JQϭ8Jm"JQϭ8&fG9Կ:b ?7zT0"=9Οtס +k&( P_KJ5oUЋA{I#5 +0׏Tf4YS Ko4tO]&z"+HIm*`Bg:KnjۄG_Z^DpP4*J[2>[_ KzS'@먊D~zKoAim;(Pknơ!~֗ (۫ʪ#T+Xh,W1@H(O╠^K/%]a&-& S0׭& 'o| ZUM[p<k6o}/#(c,BI_$J tH6!$_q@-::ez0 km]x^#ߎJaq%:]z r@6]_XХPiu?Z^/, +ߥ ϯKҿpnnQ@yTΟz &F}kΡI03#XxAl?h/ |=g H`O@)_ 玗yu$`φ˯O  u-RzxI#=,*ZK0L_Ua3޵: aⵯ +֣ДrM +ֿkXoI[| IJ2yuA&)+u^[ +AU~!*WAyt!*mu +ޫK LImΏA*綗_ߪhUAKouHk(_Ga <?A\S׭fiץdCI4޴a&D4_K@44ia)ރk ~ 4K͗M iyޖa#t@A#Alj$";IF4k&m#A$M --?HHm$I'L>il:XE$i6 |A`bIlxIw0 (tA AC ȉuA49dQ` H0 ޯdAB '& VZN1 X$ ai2)N& h1 # a0` @ bAa$0@ Mi D U*2¡ i`B 5$e+8 B5KPFkI@t +DDDE"""""""""1\tY3KV-#2֊~+(2.VsR;(ȶWK^3wZ$IӆK xl2aC )f ,GsȺa*TB#Z*I`dRaٴ&26&af:h +$K"-:Nʴ ]`nӺ le' P"}].6v\fh$p=MZ. ,a25S}52* fwFօG%JE7 +M4:BG.F2#)l#.qGSꪺD6Q6ޟ+S)Ωt:UT(m.uDiCӅ_4M\0AA%l_6?0GW1V0v!mvw @=#ֺI#*5 '/Q0*oK#a7_2➦H0oNw$;0)KeT}IۥH%[Iu^~ma \uPԐ@/HKt׽._~D F_o-&l_C +HT4Ǥ)NX_,H萴P2HHeZ_cI d4ʵz~_B.C_K_ aYaqP Ai~^ߠD{_}i[l1/__/뤨q+%y* ]ֽuoKJ .~l>KH$}GE{:$F= -./ҿpngumI+ 1ϡ%wDu҇H A}k˨aI036S_unj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_KگM,0puZDtD > -%A 3@u^յ-F־[{+knE /_/o$ȜWK].uBD. +ZIvίG t_^/KIA+ k_b)=8 ev,7VKl=Ol kiKQ%*AU3A%+:yt!*x]~_[]cA1*[AqKX.q5A*]|DGK@ƖTH /KW ?TֹB{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#-yr}DDG#[ 6O"nPz&Ɛn[uGT}Gk 8qvh #}B>#lDF.Y=gz?gȲ$iNmE aX a#ct`eۤ,hH:@*#GTB>R=_}}}Dz!}G?Gk<鳊Y GDODDDobIb"1A$!rz[`)v!:f\6b 8D}GDtN,G}GGTB#:$>Q}Yf#~>"48"}B-">,b"}"8"} }"""-< \0bqDttMBa?Jƭ,Rߠm}vGYL +on+m)(yH>:t(pD|Yu]}GtG&GuG}QF՞YQuGXAO>#lӨ#'Oq> ÉSPczd;H aߥ]74"""#XD$lv \p'#ĎQFD!Kc}Ƕ0DNN*m.p[A`' 5U'pOZZ_F"g>G*#B#<[ͧdgNmQy}G~G}d4}6uGCGUYGyPhڣ1*[]\k<r;>.BDF#Ų;1N3ft㈄b)t88N"8p@I»b;,E o +*a('Aq^ +)7ǮaφaKaiOmSߝd :"4Eꥻ l6O#`< sAuFae{:^WΫK8eϣFfGtϣ= +}fVvn"#؈0i>B# DDDDD_qQqTO!w 1B=tNDTDQ<30h|uFBt=' ]"FڥX"nߴwIn*;BkD:! <(t]f{>IMGGT8:Ί΋6}W ⽶.˰B>{k|Es.7Mb!1#"7s89)xۇpɊRJޛ!Ͳpon뺥Vs")>HǞW6ϫ<M[soqm0DhÄGE0(ytyQYTqGpħ?8s8 gTggD46u瘶)7>5a":W s]\x2;p[Š0Ꭱv*0 ű ` Ql8a"<PŰbJǭ^m~(:! ATz\tֶnV&ᄜ"% BAV%5N3RY3[lgmGgכe:>Sk›MnFE<L:7YV6Ed4yMLQiah†GEaڭ8E`Ah`0D|A4GV qdžhXA"}$8^"]ejL`^cCشtN8\DE!#CuGB6!"6.""""#")ݶ#bpBMwSiVCGa} g% WGq:FXA9N}ED"#Hꏣ!g})}gӟY}VuJmy ("#fB5'm.8(pDDDD1"/'Ҍ!> [cNucA?ݶf}mDtfAm/]'hD"̆gѐDB bSkͳ# JyV@nH+#H>>)&*>}Gk>"g fЉ(X"#""""4GehR G7J}D">D}G"243m"GT}$qGiDDqaM)} # ja:>?ꏣꏣ>"""#- +W}Q}G}E3xgYNYQ |pS C +\B +jQl ڢᰕhOE3R#Y#VW? F׆k\RPppNʪ>Ndc6*me G}T3pۆU0ϴ +(3=Ʌ 3YL;`v, L-T"#إcQvUI٫i)v8*6@ F5t-3D5uwU NZzg68Ρ-kAqV".b־K(AXL m4/>S"\e`Avկs_A LU]7t(m2tu BGSꪺD6Q6ޟ#L:RQn%yRGǝE00ejͣ~ۤۤ?᳹ѿ<1F.*տѿ0hH +2?uu(^Ϩ`WQ0"oKI' 0ӆg[L/ɀa-IK6rgUU[Ψ/>{ʨZ[dFDe;:=-ץOJtE:^UHG@Qm%v Bڼ|>M4Aw)G O$~鲔RȀΓuj>oAi$?}+>I$tH^ʵz:$-A:;UDqbbqz P X<ᘋ9BKb,%xHʞkD5U +hmSo4ZZfT!SDwO\~iiŚ/bqzMKUKA yo +ayjϯJ `ht>6&,s]-"~ʥ?B*:pHVt?eREE,pOS> J~s. Et?t9"t|8 P_.LϵNs"ZZZ_ +L1N5H"0t`cS+H_0}DpaN9=޺Ј^`sqH3ҝ%P엗_GGGT}GTuCB ?KҤ/I/8TVL_;@˱FA$#~#/ǂ#I jH_y2] .1gT' Ib/_I.pD"+ןFh0U᎗24i d4h:ӯI#""5?fzIUϮe{a@T8fG'}GꉚN9$I`Z>\?6$IiV\$#eVZ$zM lVyP,  a!$͡`3 6v +H\B y+^/"{\B Y+x_Al11,'e8hH _Et:]M`UHH{- N$AI>}xzNtWI:({_넒J"[z]FޅI$#,Ǥg?>ӑtI+:">.r +?~j# Kr +?-tp_qg<" rj 6!?_گM,00utثH 6B (8.-F־[{+~`h!#%X e:,zu- +]xAlu]\+ʽ? e^/mAuI~>ce92IlIm?Imޫ@.A1m}QY?v[G4cI~[Ix D~WB "? v{/K˵ Wk8.? n ^koӆAKz}13[I6-Zk@[PZGM.T4])~9F[h-#xk Nh鼉Mp-/vk"4KXm/ }pEx ]oW Xm8JPAGi7A6+HqMBíƒo?oʮ KKOK Z^:M0I߇ H"T,@Cޓ~I}~tUJKAGR_CH6z 0c6^4#Lmi2'\po _i\ K ȉs +B ҇tR\,BdAM`t!PX 5آ0INA )k>I dE- YX1H N@ڤK}+H- 0@ Xh 4@K LһV B1h7D,$UNB8 BҪGA0I`* *$-Bjh $$:Dj-4"$kK@z 0! qAb""""""""""(!PiB8 iZ +aQU!ت%hb-D%)n\3VZ&yC%C:ř`7 t6ͦ6Ul(e:5Ԙ6 DmL6R`᲋ m02[9JÖQ\jt&Dݰ&F-g)8lM.VDݰش:(AXL m4*- m4S։ +E7 +M4*9QS +[9i7S} 52&  +;Dzy*զ:Dzz^A.tWzz~I Gۺ!*A&Z.uL)RB |0t/*ߒ=k +?I;nI[i'&M,wޗ^x 6Ck},$m 5ЇΨ/K$tn-&Hg9fMzL?KeT}=沛5$#( 6*. 6J55dW3j$o6K3}ޕh ߤm%:M;p'e(='_='L<)l?$h Iu^MzOq?IbGD01/車 CH/H^/1BJl2zxҴI\!%6H ZO3g8y+DNT3%HʚFsBW>@2ED^8Z[Ut5[$^BJPM$ίЩT*hZP&΅>v o. RR}i}zO*M9G>uYG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȐ5$)K 5t"Ј~\>(ajFj(a4HNMC +k{(3D'O3 '-7p)L3 '-_i:EᇪV.T50s9b%[>ӎw /\&zSI -Dui{G +Knh8>L_9 #94+S^XKuG* n"/KzS'@먊A a0T nQF5$[z Kn/-W#5+ƴ/QI^I&G΢%L=/ejMmp3$-RKRXI ]/oe?+Ab&_p% RK*ϮH*rt^Z %M^P + ؉.K *& *dm便[ &_>}-*kc^ֺ^A~iV'XA;ei&]&ҭUeYZ?,BI^(cKe I+ԫYu$ 8 b,-#4؄PDu}x_Al1֍K%8_~[ u@tZV u0ɀUF t(m_у9㎗Z{ $,q/ƅ/҆K)ן6q֖KJ .Ҳ-u>}~_~h$t l i =':+qz.FK7@}~f63fDL4e9HC ]I|NEWtG[ |I ~[t\-K-?@)_ 玗ZdI5H$N'K <6]3 Izf`__tAA3 _>RH _UGImjZ6\U/8+P ? WKfIC F{"a\U/ֿ'L$ȖWK ߧ]xAlgkbb@A_BkHb~9F[ikEin_6lAm/8;/a*oK9 _ /K9`ఁMo'OzV @&9"= [ $";I BAi6:M߂# 8zMAi6IMa$IKA)a2:ACH6~F Ί H6eL=+ÒΘxAl/ z 0c„dD!C5|tB /˃˛ 0AE/ 6A:PഃIXk'J.x 9X 襾aȓ +F~UNMYi>8cJAA& I8A6dR)EWH2^J5`I ,fW.0Ic  a@V B bAa$0@ Mii ÓA04 h # +5 H  $eU XY +"H&0@AN cEX:!$eV5 )hA&Z@j-bA 8AA$vD !"""""""""""##DE1LXɰȾv,Z&yKDɢV^yز%kv%';I" 0prPpɎ3IQPfYd DQDB5& a9f &(d+t6l60ladrI`dNaٴe(l62͠T.ΨӇPWqu NNe' @"]]n/Poa*ntI7S 4AOD0Ƞ4E7 +M4*9PD~tWz}F:4oOQ7se8U#Dޟ~H5f&*J@C%ش +6:L_~H5f&*ۭ➦H0鋭Ju΄ 6ӆG oK a?za oKn[o"[IiOṼ/?~IE6?I쪏}d@+qi0/nyGY􍤿I7IT/A#i/-57IG[aA#@\zOKor{8$h I?q?PHQ^MH!%6C %7Z~!x_Sd01_cI d55LyQ*y0zԌ 8C_ED ez#d j$^TJ1VK))G>҇7D}iŤhӋ}BE~KZq]&ߠҡ)}UM)qEJc R#ӜȐ5oM*b:tWB-=$( P^L?C(a9"A ʿh/a$fAꃤi9ᇪV.KADKoPgHImN9ZDKoQSHaZ^BۄGZIzL9 }Pim#5/ -Dui{G +Knh;qƓ 7)ӔKu*dQs-eW!KuKpT n^/ O朠[*?-ˈ0+ƴ/QI^F*`)A"vU^AREW8H":_AREW(AXD$[uy$PDI-t}h$`:a?VVzw╠^4^╠^KDh/6]|%>CC 7ki# +.*& *{h/6]y@+-t&ҭ!ZM:NTaM[2TI&iV*Z{M[漟Kǿ tH6!$KJ?#(#4؄0' $# tH6!$/@㥠Ҷc_k4#[V u 3.R~J+m:D{_}i[l1 +_ I|_Pite8(l4Jȿ^cBCaהksD'\/ ~MI: =':+Rpn隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HW4 3)% 0zo* SA&V̐%~ 0z@#2_ 玗%A 30t?_A f.mA f.ثH%A 30uo$ȘWK!ւ>I#=0*HdL+ko[ $g&RkKIA+ jP xk]h V%IX J+ZIwh V^x IJ ~H$%n'_ IJm$s`H$%n?B UQ~A +?AuI~!*ў -!,חBA6_A*~A*םc V ]A jsKZA5?A"~M7@&A4ij'm.W' Ǭ +Aڠ +A-KA?mzM5ձAvdO]PA2]w^-?PA2]Ka&Kb@UFK  R3:-[ZGA AFwimVHb:M i`;*  _ %MA i]6 zZrAX@A#5# a=V/H Dvo+][ ZC@A# KkAX@A#c@$$X6M _""")7:I6n#76Mۥ KcI6hO}AI!m&^mF~ G_H6aSXA_& |A`bIlxIws9sa ȥ&'J ӜcL ACD= .ExLxA6A:PsĤXȃ |\i2)xI@ ҇zMpDz cL plI!P_R p&(I8A7#6aA.&X poK0ie)Ǡ0A$ ICńĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0\XY "H& H V:Bt H ʭi[Vi]H @2I P,,HAS$ez?8}fkӥ&ҵKKt#G q"""#-բܡDeDB"%HR+E4Vs 3HhPθ4DR;ÆuQ^3vhpeuA+DD&xlmpm0EnS@Mi.f \2M*%(l4Jn; ʟTvIcWWqdnn."B#}]Űp2@iE9 +DI$" m4%G}S M4ՔM4RG}N (DMes 6U(:[oV&DGۺe A&#>4M"?ٱy u??OhX|{nI[z9RfV*B~,tQ=Å0az oKrA~ߘQ䤒oB&m/K)H,6a_aYG}i) />\#Xk~50 Mm%}b F^ޒ AHHTSu^7ǩhzAtkKKHzO<# #@\zO!bɕQ׭&IA`c!&.7$H!%6H GzD}/IMCT7/_$+[E+K+;q rGv8f&H0مS08k&T/׫t"H[r^>F!SDxg $Ӌ xzr}iŴ/PPyIukEUt8#{ #0"=9ϵ|tK#r8hb+T:[[F(|8 P]e Ћ *(a.{eYAf4X"FD [ߑ$Pb/U7I%[#I-&(]yt>L[y:LIm#oJJKn~-T[p·ΠKz|uD~z֟]XWH$u%4a_P%14y$Q"D>Q&yV<4GGIBQD^DXOUT֗ZM[Eia/ Ӧ&H/Փ~!$ZLYCAdAA3MI+6#4؄O/__&]fU? aaYEJJa P +<ץmR,Sb!y +:7_\yK<} sqKGe:I6J .e9L _Pit-вL//2[~kAAۤnA7OǺD? 1Y@$Gm #>렒ag-桱)E[rI a=IB*6a~$a" m %f**">ߺx,00t8،?֜PH \|h <|"? O)yB#/0D-wooX+f3[I4o"I7^ +&D4No? -/I_UQ b#Xտ@ʄڤHbCUoK`ރÄM8\5 _޷ iK_GqKtL-&󃴛pŘM0]|";I'@Za m +7I%H DvoGj8|} 2<@5oc@Mr$Ei6-MT@ &mI& .MI7Ǹ߈CBI*m0?KCH6a1TAxA77!m&L?Ma~I7)'J<3Lx5N:C1h tӤǥI1}t8- &~iH2_Z[8A7V}ZA.5 '&W$ + BhI8A7A/ S BǠ*i2)u'H[I bQ&@ , a0ii& $ A04R!`x11HG&0Ypc `$eTEX8hr*0@AZEX8@!!%2A" i V%McH5I ZBZ"B3 "6"BXIpB0A  xB +PB""(,B:""""?VMLD[|ʴJQ7ꨔ3wR P4U%|8g\;ײDw\uD;ÆuL6QpJ `LIm0EMUxl2i%Sdi&ٴÖ׫AøDkug@koa*9R +m 7S +c@[:ꪃm 7VQ6ޟaQt4MEfA8_]h!U[ic̡Ua 4-3(|RoK΁Jb|$mM~Ĺ1> 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$M7b;ki{M zaJ% pL?aa>tWJ |tLpZAP/k)N:CǤ&oytij9e#P@ ҆poH2ZLE(0A$JH2AE= pn I b֐0H א L_ B0M  i03m&AAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S"?Tp)S-Մ; dB"V3RK3Ru"#j V3R;JD*9zQR &2'p6v-d!Ig "6 a8QUTU@6@M_&;5t4ݰ&Fش8m(@v8*]STd 3 6`¦lef2~gѱkLuwFkoa"jdL.D0ŭ3Ѩ5NB$iB*p/F2#"2#Ჰa[eOn脫nMse*:UT(m%fפf :' 8U5U%l]Iۤ(_-/m< _hү=#ָMU~qނȗzM 5n,m^~}D?}vnI%쪏kV-/]~)*ȀVjޕqzAINoK$*%u_nԐfKU__='MYe!\+WH%l )l?H" d5h7[]|4:$-ja---/~%HʟPe i\: yė)%p qK8f"pBW>@뮿'^M?:SD$&!SD}y BPKuuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?XtҜUN⩆ad}8q tҜU7*` KꚘK/00jמqKI/3ҝ%-&yƽ-'U I ݕCAt-/ato%jB"뤕_ΫQH1L">__xo\_xDKKKoAimtGXHAǂ#ZOI&G#G1y"+ƴ= 4G^^4^DA T">nK})1@KlfzI%UNUޖ])Se ViפT?>'o %ץץz_amb-/I`WKJUH E4| -VOⰓtK^ֺ^ȎӑtH"! _l)Јk=?Lt]t$~ a=WIQa#6a(@ /Z #}$0QhdfS Xaa-!2qmWAx K %A{_- 8XAm*h!H1sCAֿAtm-km.q: aⵯs}W/)Akh/BSKK_ ~y}>r}<% +Im vWo/Otl'| p]t#K3Z_NW_muS(m\R_>sK~>GO_eBKom."#SDKKZ 8euB4m/Ty< l_{^U>Cev_Bl LM?mk__b~9F[`~/Tد_iL4_zZZp/0?mm-##_: |OtIKA W_B# KK 8uKjPil=1G?}xIvxE+du%\A`M"kr~aHA:PsĤXȉv89H'iaq =t ڄdD'36` "It .`Fk AeqɃQk$ai2)dABiElP ] V10 *[A+xq Xh5C_Mi!dai0I~k +@bF!Ђ B&L!CC` ֐¡ t,!ad,BB#MP""44#M -4H5CPT"""(!GM"TʤBnUÆumC*N_ &mL2a0 +øDo + „{  FG:4MymJOl?LIZh}- SL$mt|t7ZL?KJ}R6pۮD F_6jFiu6ƒA )@i/I.nj$^BJyzL>!oX1IJ9?I#D+-P>&ҶPCK +kz 8V.KAT߄G +Kni%0y:oeVjJ4uJʟۏ]/QD^F*`ȶp#Vh,WnSA F |)__ ~a_#$"} JƼ a U~lBI^P@+m:H&cх(l4Ku0VPs$t_CΊtIz^S}_pH$ꗲuoA l1Kza3~D?k X`kVzKQ̓XA 0Myt!*$C[H%Z2p Mk ~H[8h <z]ie /b $kd4a)P-A8o +M i`'UY A MZ\BoIS6M _N L:AI!m&^mFHh7ޒ_ 6A:P^Vt BFN 0A$ؓ_0&4jA LOcA@H&0@AC VI@hRb"aDDDP@PDt}p㖿#蛔#8ďP &fl`7]ۖE4}GB#-ʤv +6qvh<"$|L>#EbطI +>iPh#qB Јbe6#aLbI`Hp[nGHpFմq:#)D)gT}fGq>}y}fԲG0[x"wϡQO"4>b2 q"0Źdf'tzvȃ03njr &8:@hy}Ge B dl#m>d}'%-Մ; :##F<"7#5sboP\nsj|?wͯNi?oe|W#W]3ZF"#h##>ĺ>턍4g}V@}GT}2Q}@Ytf>;(YļdFDf$>ELG> _"#""'Ј/G-5PױJDRCظ"-j><~hj;UO}7Si<_8' hD}D"9C>Ʌ4FD4}Q(NT#!{%>>@=Lkd B̑3<?jJ7&8-U Mf>Kpߑq8A1fD]G!'vL+wcc}:txtn 'mE,8MS +I$;ߥ2VN28#%GUt*M)"&##H>!5D}$aQ8#fN"93 ѴNq MB""86m"EDDoBb<"?8 Z CI5camV" QcCxv.{ z lM&kp7Zo0Dv}:B!ꃒSdCGEP#>EF,#jD5GB#lYH*8loP^o>BGEŋDGr;F0xq(0@ Xcdq#B6-!G-_o8OK LD*i툈ſ0 [qb +BL1!po}=Mo0K#h">ͅx8Ơynyg}QfaGTxfplG}6}6qn9WYDp,>8#}GT}#>qcFFgғ GE>!H:8B#c8, +8p=[:'#}VC.kp˲_c q\C1c؍؈E;zk:CphEQ|}ct!&v<;ЃF%]DX* _t M7vբݲqU(KHt!_uϦSł)6DŜJcs>@vw=}8rgGUAхhÇ7Yt#k$":8C8".$"CD 2x XBq }\8"-"؅lDs\" B_D~o ۯzT}9ߣ!8lg":s곈,!GT}GFGg3"O"Y":.Gb4#""8؈7/qql-BVMwmDW2Tq"MSL7%"PFA\+1TG}uPb";.<5h1drn%J1itŇX0ٴdN@ӝ*<qe;}PuGG +,Elqb,1HATْDD)܃ANŕYG٢?1&"Q}." b'aID3Kcȶ!W(Mq88C2+a!*&ƈG"3!tl""-Fih..-s) +>X8cT&寢2X4 DG?ꏣ>""""<-Q}GԲIpLKpBȄAQ]Qab '{GoDmXS M (^Ϩ@WYRI-$GF_Ͳ(l?A_[nnlmI6$/>{ʨDdFSR7豗Jr+^g]I +?^/HKM[(y_/)G O$95Cy.n}tq8""E'X!{*?I}$2$uDN8B_EE#,.CT5CA8f"p"пCD_ ISa-AXAUb>،c -:4D*hnt) #4^tԅMo_4]-U&PCg"4 $ZiHC>a/"k>?OLQHNsELcc6uVCO'RߜK9hE/OHE|8 P_.LϽlV,bq{bD01S\tҜUN<⩆ad4>sKۉXU~`sqKI/3ҝ%V_F#B ?KҤ/I*J[PH5YH +qi3:ϣFA$#~#/ǂ#Z_[z Kn<֙Bb~#şC&%ީ*O_~^3E w1b"""4I4]Viפ^TT?"ΟtuY^D Us@w_[+LqcK0̹ +H'MZ^I0-KoZZ^GoaEB?Ueu\?qQ}GTuIM +3~!?Ŕ1}<=!e i~, %?.mPDuuyށ*YaqP Az8EqP/@-:=#ߎ'e8hH _EtK8u6}Ҳ-痿_>HH{- N$A_ #se+҇I$ \Gm_너.K%@xNJWtG[O.څtOD} { \I:Gk?aN/<" tj 6*?_گ aˮ?$Yb":Ko6AQq AB?T]KZ] oeqTa~m5" +'[:- +)Sǡ#_gy=73c]n[iL4BoDEU.U+A, Dvim (@ux  ~Uu Z]N_M_ ,B MzdFJ KPio_& |AA׭&6L. A7ADKyI}!CB:\)!2"s_36q&? Ab4 Lb"5%Z R1A0}"5~INMa,],fWÆ=RZ@!h0@ aL$@o8A0?#wҬ4!aEX8᱄#h hAT!*a0q $eW$MB}:Dj-4"T- A=BE""""""""""4()B>?n+X]a(D#%Td;(DxɚI8pι04Re᝕" yALԡ:av53/Ixpιd4ðȜMiPl6EÇۆD6v-HjL" 6ͦL6Qp^a"']T]ZEvÄDbӤ&Rpٵ +a"%YpPoaPQʹPh)>qM„{  8Su#K4MaRBAJF?VSS)NhD~tWz}F:4t2GWڥIӶ0> +A&t{Gt17RV_2a.ŤHS z_u~8ނAޗF]q o4AޗL]kWt atŤ]L +m|sHanUG3k(_Y +ZL?KJ}ReQI$Ö♟Q ~uuҭ􍤿IgV?ȶgH ߤm%MM AA#@\zOE{^MzOq?IIT4Ǥ&'FI$΀c!'+I}%Sg@1MH!%6C %7Z~2E\▯8Z[Ut5[$^UʟPګ^Y_ڤ^GH~))G>I[*Щ(֜_VKBE~AZqiCWbG>?7T0"=93tHR}'1HNs"Ԑ)0F 1HNsԯo'_1 +kǪ3I-!:i6Z(aϺ4WB-=$( P^L?C/ =Rt΢o|LM* ImN9`4oz+HIm I"]R +":ePu"ejrFsI-Pim#V!$g0-/aPim#$&:^ҟ9 [*>W ^LKud*L0NH@U ȥR([ʯuJ^ޗ(P n$sD B-<֙Bb%L=q/oKAREWQ2!: +PFȧ.qWejU/oe?+Ab&Z_ RK*K`]/oe?+Ab3rZ "Q?FÏ=_/l VKH5XdLD Ui6] @%XdOւ ~a_#:40xFq"?@I^A~iV'  X`>tJUei-t&ҭ!ZM:NUaM KbJK0ӈ"3MI+G\G//3MI+үOJ5H7A}m_K 0g#@+m:/@㥠Ҷc_k4#[VhR(l4ze8K % _Yʺƅ/҆K?B6N_A7Op?pUngQ/J4Bu }/,IܷV #>NR=^KA$HϾ}%)+#?_3P"? &F}yD ap<0H$9U$a i:j8oW4 3)% 0zo$F/A&AA 6]}KA h.ثH۬Կ_$`eD/K]  F{"q\U/ֿ $g'R~m5WHdL+pkAK$ȍm&A0BhES5V!ZpK"KIA+ jP xk]h +9k$b_ﬡLH$%n¶[s zA&)+t3A B UQizL UGIm~kˡ UG!+i}J9b.u: _.إ _ m-\ DS_ֹBM"Nr>A"~%Am%ij'$sK\ DA\S׭^A\S?ۅՠ +Aa#A]( OVwOdI4][Li&FZXA AFw!V$1Hm-  R3MaWazr]/$ +]6 zZᄩ, iL4,]6 +ب:o1 =+H DvyhyX:?H Dvoim:?a l/$# a=v/J=& IBqCI6n ,RC䄋=& I DDE&'P@ +AaA$I&/L< Il=1 ay= 0 ͨPAE/ 6A:PഃI蕍&0^A:PsĤXȃ p͆ " (l/NpzI 0zW`B2ŏA0`I "J+ $ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆZ@ +L& *AB/k +@ a L& }$^+ R!A0D`AQ:0ZCXH@4'Q !jP/BȤ #2H$U-1h "CT""#DA$ C XAb0DPCDDDE""1DgS nakD(-;Das$AO+9CuiulgdU:jf \6pޛf ar2 jL"S 6ͦ0rGWqvKvÄF7 +N0aSl;FS +9i7SDKCBI/R73ks +h5UnI[oү=#ֺI[+M/Aa oKm4AޗL]K*_{nSk۬e__Y +ZL?KJ}R􍤂?V FAdW3j$o6&zO_4Ǥu$PHT4Ǥ&`c!9K$c!(PᲭ^/1BJl2Kn[5yz/!%M_12bp"- ^Y_ڤ^ZOJЩ(֜ZOe@h"'O]:E~DZqiCG9'1HNs/opAP>&@C +kC"^HB 5å83"]%΢u tT"]%ꗄ":]$AU +":K`-[J@뭈XxoJ4uJZ[u{s"QD^ދ`^~֗ (۫ШEZ )Z u쥕_h,WnSA .-".6 +߉#k/׭& G(iV`楤MM[">_^ֺ^A~iVׄBI^iB3MI+$g^:_fW⃰P)Tq@+m:хBez0 ~ߠD{_}i[l1/Z]BXI-(l4 O(<*4,hR(l4KOUn pϳ/+ H&gI03 rGR63fDL4 +=[#kk0Iչ%o i':/恖S9A&T - O$M t}=K/0geD6WK} $g%RނEUa3~D?֤:Zt@J+Zu]~_頂V!Z՞%nA MA&)+t3T9B0W U׏^ifTZ,vQsH%Zm%I-KUSDnrsG$O4_BHkyL A\S/KKAryO 6iVdCI;^ Z_5ձAȆd b)ݤ:_geCᴾJAa,k V]6 m`J@A#dr1Dy%z zV @&Em&E& m&P0^";HHm$I@ސm&ÐNIlL4 0:+0  B Mڌ< (tJ Iy (dHpZA5%Ma<9dQ`  $d* HJ^ I8A6Ef"4H$i2 ] {)H >= '&Ĝ`! 0V L8A4 BаXBc   a0cAAUk `А20A h&a !DRi2A +Za4wPAa-bA 8A +Q""# +>?lu&ķt t[2vJ`AN251AqS(8(;"Gud%ȗ GTNDUjGgʪ:`Ȫ  0l el8pK0M8d""0l L0ZR +PPf 8`pZa*I GDoBn8a h6öN% WLMi 6y&yp}Mp9t"x3 ef2g_p]eN3@G3صs5 _# y! (.9\0꾶(C :1ntWl2祕3s?+eQCk(NfT+kyNXIߒ=k"%$l]HtKU]/GǺr3__{h&q/~xSM2y4{s蓵UL)C._쎍9{Y/"[Hq{\pXO <GCmᆂ-5_i~[tZAi'I!דU/!Mh/jWyp:5|I|l1/>0_)p/Vu_-5_=1N\: tID5I",<:_^mv7u>m KpG#AtB05_yz}/j\鮗sRbpiȸ4ʍ*'9Uqz_y}FY:2F9zG7?~p_뤕___%majߠ#Gb\kKq}-'3ӓ(A@kGå8]{(?Q]kzZ_Z=\4G_Sz}yOg6 :ίƾFVP_ƅ/?$-'a$hOX۞sD'\/P?-$AiBH_ 7uAo^?um隃5#?οum XJw_!-OH^:GKot]_2̧0KKt]t &.=?uwϪ/z[ V?_))_"WX5͆^_z-o ͯW ,v- KKA(cVUKT_Kok?/R< ^Sv+- TGAy|YpkCi[-s`]dt,Z /:(=} ]~ -)K^]szڛKG\ ,$moy_.*#__ ^a?M\DGK BWuӬ}_K\~jPpGDue Q?㰿AiT{ziuA9L_WzL7oK=sMRhP]=7_Ɠikg'HxucޓmbݤNWm.A7ixMo߯>ᄛ 0E9ZZƕM8KAI*vb!+ bֿ:J~°J[A=0o>A(Al1>'7,7b"c 76cM"5$մ]J$05*v{AaR :mKjP A- %U=&HԖ>LxA0x9dPpyH 41 5]"k_p@H,23A Vh&& BH2 v2]RA,z C 2 A&DF>P@Ab>N7 ] ` ~h0J`Ă0H0x= d2&E j G^GFd +!$H4"%8lČYA0Xi!H V$`(aGC@hM5R +A?H&B#DA4""4ThDDDE""""""""""#c#Dd$#nf7 "$-gMP i"\88dW5"5ߣ'VD"* fVsR;uDB!TDppȮjGdeg5#J{aÆ34eo m*t (%)g &bEՂi`&pa*P}$ B$vS=d8 L&/‡DOWLM{mqV)@M_&WLMpۺP%.34 p:"(g;s5Uˌe Σ, 1kLtj j5Nˌe Σ/b֙H-wT6V8~wM2瑯?†1o3GSꪛe #^t b2߮g(}USwL NDI6 +3h߶6IlFR@$ÛottK@kS<֜5%M2y9!84ʙ^| %6y4n3O~!@a-Kmպ /%UzWIޗIy^ޖNoY2y#}VCK/K!K/!M ?[ &P?~>oI4}')?6&E'KWOH3RoYFT?. Z P X>W _áӪ_-hkt4`2qî φ}@u3@΍RH5iiSDPMa@_AtjG#4A>q~}~NhѪI-2t*h:!SD~&j:fzVZyU^Apt!ITNS>6jOUGL1])S} aKJ/Ziy'/~yƽ-'կ֗rS5i>i0t5IU^?I*?__UxBdV?N {#U:H#~I|x"?$P Ac-'GXHA32z_=\4GH4S{*g.IR~zZhiVT??=\4GH4S{*g.KTg$ 0TzOENug"<)hXGzD RD Pq[:,~4H*n?[:,}#"4H*R#?KAzt~)&G| -算@b0$_"n|XOM0$44ֿ%K׿*?Ŕ1_TŔ1_1L`*TgP Aa/@]u_,!@4ޗyu* 4_A c~JY  ZZ[iiVi/8 +I:A[ /H󀣿A>l4#N.KIZQJ+b G^ߎʜg]$%_umuп ]/ַS,뤕H_너.UEBv{}Pm-&W%6AiqN붖+\:GaƖHii2/aOD}XH͘F[L5 /Vpm/NK/Jg]{+8I/&UN/_{* +ZHKoe_ -/iq-WPAlb[c K(H,WYNBRB(H,WYN >[{u+{*Nz` <teB|=8` :_-JT-8 tzqGoSڛ +\ ƃKjl?G\ ƒKjl" +NA-2=ڭ}ce92Ik ,ڭ}\K\id?-&6QsE$pG@_)s@; ETK.b Uuo }&&0?,"a֓~IKztx}&KzuޥxxQ#IO``& k IH'L<]W8A7E>\I.!aR \RaCZAi%d4*A Y0}"5 iA]CKI¤ "5ɃQhA/T Y& 8vLb-d@!uaaȶ/T Y& 85a&_V$`(Ih hp bF4P q AČi" aւHG`HB;5"$0!hiЈЈЈGYhUETWJRB:tv;,dj)as-+RT)lP”GÍ9.tTjQع@ϳCd a#,Ff:*v &pa bEι5pU(m 63وL*+0M8pa h2 +D  `AϠl8mZ U5p7uLh2Al;Œ&aȚ#]7 +wTdO$2a~*9-UQ 0u +Jz 2C)7£U 3Qp>ˌd 6OnF3k3Ap 7f κUj~0P\ Bsa~y&նPu_XF0-Ap 7f κUB(4mh;ӭAy/YPiw[kE_DeqVtmo64?tg-n4?R^NF{8؋O qc9b/ۯ3O{~#NrNL&Ӝ4d8 t{o:4$CmZQoH~_W 4\q }y:^! O^Co'Kd?"|X!דͯszY(*AzG/F9=,umm?szY(W5.WӪ"B,gP= qK-|F B#@ G/$L?4^qdg*3|;kA83Hl~Ku:)OI+=ѫsF7FΚtSDO`ieg5tKŚo2aDE}j@A*Q:F7zjqd#T8"/t/TSŪGP驀k].zO*Mx>-P"?MLZs֊xޜLXx>-P"?MLZ/#g MCAtK \56U W06ypT4_JLWFY:2F뤟~lD2Q5]$硎e$j>[Q-RDO"4_-RDk-RD믯e"x3K}(EtPP~!7҄_O/zAZhP~!7JץK9Βz[qK13s%),FjFKg:YtP=tOϥ#z]]/*t/K|9鳑aor:_~@鯯$I#z}~_ _$V":z|2M~D|4K_GD|4K_:5l=/XWƗq 8ƾF괿 V_9׮_|+/kTX۞X_cnzZIcyoKasԿ\%k[!y9>?mCָJY 'Z !zK,$hЈiytƖH1C"?ӥF/Ϫ/NS3ׯU'_Ɲ*5__ׯU']/k]/Al2HK"`4T> K!.?k | + + z_QXDz^/ƅ={(rJ"URР.J"UR ?85U!KΈ$Kus窐_D[=T^֗ctU`lAW5ץctU͆C<ԁ/R_ ,/XeY<ԁ/R_ ,=Kj<ԁ/R_H<SL]=_k(_A࢚zIz[8‚[ik/e QM2]Wz^}_K\| `/e0밃K X /ei8m-+eTqZ_ -K&ҶUGucc.4K_KKziuΦi/Ǟ]I&p@V7=Uo}5NIm>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕjr\CCz +endstream +endobj +35 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +36 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 74850/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GH= AnQr ڧLA6 ?1Ni]7YIz"=HVlIl:_qoWoWI+/Kߙ_'M~$p6Bzk< VIZli?4_֝bq *5bA_zV>-&xmqKKGbK ᅤ_Iji$_RHRU-꾷_Q@^[04I7sK?/%I>;'ZzzDK[]a&Mu +Tta!Kfn%io%KJi ÿIi==R_ڥkvC]H00A3gm$i$ÆJ4 ,00@@0 DDDDDDDR}'Gn?[G,6$*FB[GTN-P"?MLZToK/ =Rt΢o6%8lᩲh:^DpP4*O&V)e#QDxoJ4uQZajߠ#GWi{z_L B"?Ey.#Jh,WKz_tOפ׭& 'o=tOϥ#zYl_]/| I|Փ_">Fk5_R//3MI+/lF>/G~:Z +m:_r@_ +Ë#Z_XХPiu?Z^>sԿKҿpnz WkΡI03#.4@NC">ZYO |=g.Mk5͆^ZYePo$ȖWKƅ=h/(cVUK9W_M X`k_ /: ?s\RK|x IJ_^֗ct[(?CY. Um ,y_.tm/ V=A>R"_WUHk(_ X KA AryO^R?+eTq'qZ][Li'+_=]_4ia)ރAm/8;מk_iZ=+H DvyhI#>D`!"I m&П0opz=+F H6dL=+DŽ#a09O` ם rLADBMN8- l/`" $Dد9T ElWeR2A0`I "J+A2, I,/'@D0[Ia, $A L֐0Yp!HAD $fARR,,HAk H WA Hq +CPC4&IT!ZŠq 4FDDDPB""""""1| pel'ua-R"Q40Z;#"ؖw3> T̶rgKjy,ęYPَQ[d$h",jMp2"wl8m L;MLPg&l:L0j7Gt ӨI 蕢7aÅPfl0a"RH;#\ ]EVvk:IltGX +aaHQO)6oc"2#ea^729 +"Ai {YtP: ~ Nb;ok"kPT&_,6y$-$YPiԈWmoWDԁ6p)|BtЛal?FB$Ǻ">;U]e8gNMǴ+ނ~8~'+!WfWpA?-#=:uo؇jC򅤒I~XO jl 6/6h4![+S,$VO$rk8N0)'%_/0θ+Scc %q\UjH$pcc)iڊ,g8g򅗧#SWuh_UoK]RV7V-]W޺뱽k=/A:Tct) uEJyőʛCjL,7ui:b?p̨l>/C\tz]Q9u V{|Yq:%~C&ʡ8#=RZoDUVR-=~_dd~"/ ?I}&>\_ GZ(^Β IcZNO|ZDkGBA6!/HKKeuH?L +D}Oe'N)_728::{<_p㮓*G{" I}/}`~A0ߒW-/]C=9::+O/ֵt=MS:ki6bKnc&klײLkfh$\nutK>M99 Pߒ-[[_s c9sg#/_&._CgFW5akk$> *ZuhKҤ__aua44/#6T/W[/_!JXuK|$?gxEdRI}~5Ka*ށa_?/!BH_ XaD|e.1{9RF6^_ /V L'G;qM h,_ʠlt_}#&A1qCI_^落O_K_J4@$Ht}_tzwkz_z_;t$ X=RY6Vk/ltL?$KD]|/KW qα#A_Oi] ,B @PsK^w.q]&b$+ !_amk:]u&,־SV/Fj@V))n}=wIiuzM +j?*`d?oKIP?㯥cf>` so? mzZ_ZKeT-m GWI?:]_KW-RoK#<7NT^| u^ MWMD a/?KoKK/I/߭ C4uo"nD'cⴇǢBAzMj^-_Iak tztV0AЦI S_=[O('>LJO NaIޕ"x_DŽ Ga.qD >v _|Ad4E L lWb$áA1A&b`] >^z@ֈˑ@A $GPVh0@O> !NH5נ Ђ B =&AkaGQy8A0p,1b"SƐM!X t,/pPAA3. !bb  OO +ЍBBA ɂB#[ +""(! +b""?m:"b#7[E*- DbV˞PpȦjDk5#'VvaCG)A0hE&Ki2lfq!YGcj&tJÆ@`2(L6TpۆUh0dJ`2 [ rR* 8p6i& L6 iW֙4&PB7T6lNi)v>a + J6}Aq]¤p[ +0ö}Aq]06P mï%SAmk Oej.A(EHK6/5'zB(tT'+S 黦Cj+S<6sʙ +Σ\< PAw#.:ZJ6nnSoeBSZ=.}{ д-i^($\kp׿I[糠pxzZߧ{yg@{:ҋ-ˆ֥ :r %6uXgpUzM]XOWm7*Ii$ttUO>D_~K^6}jHEq$fho8@i6)g8.5FO$/򄧒GD0DHJy$tCx@}&W])ICHYL/*E>ʵzHUgXYmʊlWIjJViO8@Uz]i%I{+?ԆW=- Z!-z~qy |\E}:CC_AJLj/HRJ."aiN>hMB4A΅>ʮof GpS"HoWF)/~t) H$KH":[( -K!IK՝<tOE~_%2]SץEgyn/*zIs"Ћ au)BЋdd ?gDiHͮBHUkI}/ |qTxmr(=k{6Kr'a?K:ѭ%U+G^L_,Ȏo0 |E uҶiI~KҤKyO\{=鿺gOuB)^M4M &IGKךֻO==Y8 5h3૯΃~h2? >kW~RT'/Lkmr*"fkQA(c^0C_:cZKePA$\ȼ^TT?~Y>ۏK5߯\[_u⿏fI_)%)$I0-KokĆל5FןC_Ț/^RH/>gYC0Y됀>eg!z.I4Y^(@iS:?:_"/O U&n~OҡH _66W_)Q~?ѯOMFNQZl$ _޾\4K¯._#J84=Cm RJ"[ +u??,_N6:/7/a Q'aqE2ӭD_O?-#;M }oi_y_ma{oAB?T_*G^֗_?@%KKҜ[՚ ?G_ý +)SUVbK7 /K`< x87']=0Aꭿ֗Qu _G0WX" 1$eҪt +\ }'^>pU?/]*KKg_=K-(ɔ\KiR[sa}0IfoGo4_u.>a#8/TzH<": $/H Jr*^KBuK.</m&][?zL?D%z k.tDJEꑰ -?Um/Һ&t-JM7pVm?{@_ |0Z @0&ocIQ 쪖L?TVoQ )~ak*&Kp?_UzL?}$_>8J/][KHkVO/տzMa.pÂMU=%ta7A<|V cI>+\RXJI{ EI:*('Km$oՆ#:+Z_WzD: &EkK &1n w.M5 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHIZbRTdfP׆) kDTHII$H0{d;*S93bEOWJ{OZXH0| Z 4 a 8h LVL8=O( 8OHPO,AIXk*6 L' B&  a8K^]aaqH45HЊDx!Ј hDGhP'kG@Y.M$b-B"""""0DDDGMQSDb-v*R2NH}N4HfwTVXGfy/JxpιH4I>ΪV0P@ʴSȾK3ND_;RN!&npʢ 42II`l3=6ͦ)CapR580Æ`4ayV6 )C*Pji)vl0l4If*n8Do>Ag2afn4a¦}AaxQu93Ѩ5mD B R/鵤h)(Tr$ [A(E,}EM:ehrn[DΡM7tNL`¯F? =8^P:} Һe'{{:#;qFQ}fm&!}X=#֗I[m#n$Z]k{&_$zUӆKп z_qdsӾ{:TS RlRPJΠ[nn}d`+zL?KGO&oz0 ^&}u^zv>Kh+dW3A#i(}dM#4"b__{*.='΢yS#oiu95|Jy$tRIF)/Aߚ)Ч%zF}ru]!MΝ~8~o]!)tsI~ (KC^ߠ.G nNsXoȒ_."^ANDz2?a<'Pm|q+S\ 8U7u=C^k.T50T>mv' ϧt8▦tDqZ^":ePt|>$n?uGud^IUj6FT n_.ǽ?@鿺g&{ŝЯ#5ta Ob\kKۂ#L B"?M}jZg\4G_:_eUgz?5x]/m}!JXID|>L8A(!E.tƽZMqW@$@%ւ$.&չŴkug@=M7T&G| -KkiV'X_]7󐆿Kףkϡ^Zm{#?Ŕ1נD$lBI_/şJO>_>:K+]u_t$x׬"/eN~T*m* 4K(l4yK<'a)~?ѫ/i\$ ZpJ?J4BuI?8] !|/ihҦJ"[2?_3W ag)G"m+O,_N6RI+A^aZ>he>S |=g恗:/IIM  EA l/@P#/@[I6֨ RT,$ȖWK QT)䄑DS7u)Au /m, Z%a~ׯ _K|4ߴc OLZ?ߎH$%n0:}z"?9?_ZI|y>L8 +\ ү_HKt!*muЍ,x Ҥ?Ǟ蒯L0ce92IkJ__J9?#h,֕ MUeV㰴Tm/$O5k//ֿH Y봐B(}_ <[*!9贺?}~+4A uWI&D4ΣY &4a=> iABB,Mc J i >hci/pWBGQB# ADh"CIGhD ZT"8CB&PDaDDADDGM4d +Zz)6L25%1YF&rR)i#5pȦjDo5#gbXH vfgANHfDkDJAJ +X 0m8lT(a;M*npʚa3ۆU.Ȫ5&{ Ⱥ6l Pl7 J8AՇ¨6&'PݑNʗf2l 7NFn0Bvŗ '맄AC較 Og;s:"Pb֙H(t96]$hG% a=,f#J!"VwM2:UT(mBӅ20Yt~a=*0Woiv?$0}FIH|]Ht$ +?I eqVtmno_< ^ԁy6p)|BtQt~QoxFpm0ۤۥijSi/Ju?O޿\"6׵ȷUzW?׽-,$]C򅤒_ j帄GE=8fa4 +d?I)NM|kdz%?.)>01S0tMA~ ϥ&ŪG0 k,;߯%RZOzZOZL&zN_h: qtH"/OK/5IzT_IU +AO&i2D?W_i$P"?KIXDKI*`+KK0KkyU/`pUKRT~? aA1_ײ .^B2 /:#Խ|BzHH*H* : JeNSŭ.#sׄpQ_$5R#BcZ/I4>`IeH">F` k׶Oyt/|Y&Sv/0τ% (cP[U3~P]2>(}g4V^|B0Qmp鎗w4Y^(@KB H}}:{wZL=.KU .g/SAPH$/H ZRzx]krSsE$GFf +I'T A넋~ZKo@HȁK( t#zh Az" UPo a_EA ~t_ nmnS!恗7/a ">,$f#Zesl/+AjC@ Kmq`mxIE B*c _> __ޮ?^#A?At[$$A]kҭaނu)Ah?yN ߏIJ"un>#Km}=׿Ҧ맦,y}0Ac9?_J_9?Wo?sg*gS +\ B)ѰW/\|B +N[ .2;sA­ a.t8E$HHZ%dA 9U W,#x D~?㰿GW=_k~:L4G=A֖8BKo"` zAmi  Ȫor=u7# aoK`[ixA`o~$?TGim8K*Ka_ -MK R VN.%  |p]mt/R\| 04qL0h'tz>HPKaߕMW*H_\ uC( aA~R<(t)iE_'*LH .Aajq(@l4 sĹ) ~ 4H'S圝Sa%a6H11NAP4i {)d4 $cH#mRaCLò`Fj Wt3p(Hh4L L b@& ,XcXkA 0D 5akAk; y8 iа xi!K&@a4A:B 6 44? 0U8 +" B)h!"# 4 BB;C +CB""""""4"#f1\D'Eq$B\2KrQV3R;LԈjF@ yUGLe:"$Wl4+C 2frC fK2Ca3ۆTռ6 ,Vûa6f 8vÃm!ѭ0pd"5"v0966vj iLi#vAH:. SIgPB$]s:ŘE>CH +KI7SPDI ]ZEF4i[eaPGSꪛe Nn6=3YY\0F? =2'EY?}WŗI#0n4WX?ۤ8#OFIH~KK]&eo灸a{VCRB3q?m_~9!5KMs z_qdl4ϪvQ$ 8/KV/e&/>pXMv&ehbhZ ҜPI0O{WUzWVzB.a렃~u]ƕKIpH i7d?&W7 {q>uRoҞI~Zh /-i:F'Di7 %[$c!׮_N4eZz'ZBJoEIph2ֈjh2n %M!.$^BJ)%I7B]RWL}#cz?|~Щ ?>KL +"B4AZWFkҿ)G>R>f=P~( P^=Pi+###(_C&(mAa ÎbS]1S)?T>`I"]%󨩀k. $a+_CZJDꖓ<^ZO⟏** -Duʡ|I2cB6+AE?I*}/Jǵ]#P*]DT}/ t=Ke_@^L%_#$U-'#4DtVzrttV"? (۫ʪ#?Ғh?)ץiizj;(PZDA TKRTAlU0eؤ]GJlRE?_z DwX b3Z4XG(hN$~^TT?ҷ9I[aӂ#"=KT)xxarKC9A +Z^GJI`Z>_9i)~iV'XD"᜹C↿癈ᆺM+}2^y𐲆04 (cP\m~$bJKd+3AQ _Ymtzkװ.! +-v韒P!@xzJ_$oVQ /IBҶ4_A uPH$/a:׮K)ןKoυS^">xko )mDJ /-$Ak$PH =.H&.=v_ޗ#$_ C/Iޙ[DT$/DA $ނ _(A+OָI #>NR=x$t ?߄ 2+/A$èلkLnj#0׿A^a( O"> 0zxp[q迄 `  A&aBeTگAuׄoAy#NNGO 0gez_9?46>I/A Iys ] +Z $g%Rk^KAyg/N3~Y_x@A,WYN ^- +ֿk_@m* &^ X` K맦/_ $b_ץK>H$ƕ+ ͂A{kAB UQY +~!5HU@_A1!E6uA*綗\| ~@$aC^AAR'5"?Cń MZ 8e<}{Z_׫=GWH% Z_9補t]l+~9L?` +ic?otȂ OO-/G_PA2!ح?~A("='aΦ/o)ރZv@@v1 vK_AKTIKn][p%~Gi7ƁM~~XA(a@]'pD݈N/0k~U5v IB 7?I `.88p 0a(R?~8i؄A'a]^"ݏ&=.tW4UBGA>zE>  I AC =&A|Ba(ψ"ߓ% ]S Z0}#5 bIIFjJ h&sg<ϖV '&ZLE(&E.Js>ZLcꃤKN- y 8JT 4/j  0IQiA01 `]&\ i/i ai?@I @Na  +ChzC` )]-!Ǥ GCZKIX_1AtiHTM !AHiFPT""#5KDDDDDDDG(!sW%h +GuP.T<(gcyKPs+Ԍ2+\vʪ+SA`α荫f Z & im0|0`Val3> 6hEB5maöTgTj'i[6B*a.(CaA4tJm}AFn&UN &ŧoa7Dk$Lo & +lYnpE>CH t\:S:o/3s} 5-A^7d`?Z79u_9쩜U'NDH P\h/EZK|yIBd3|7Qt:]'l*΂M2: + 6Z!@_Ƿ+շ5&/hNi oK}t/B$ǺQqűJ=-6\s//-IMǴ=&l9"&??GW#N}GO{􍤕~pkE=􍤿Nj=!n_=!CidHm!՞]> +rk$4ǤG}|5I Kd>I _ԔH}y:&Vk[2R(aאD"ddTCD_W:F QKoO?ervPgO HIm)?5*Ӳ{<s@> R}l3|~3T[p5]D_h:Iz^F.-_>ehu&N +-S@q==B/ud8=WD$[u{+|G":+NPNN0KDuZ?@ꎊӬ4f?,W?mJXCY3]A).(6uDCg(P~!7~ K0 ^99^aW\[_+sk:Yp%9G㥜Ie + -c">}_ =q +E歕:Ke#M#J .C-aíz'a׮kƾD_ mA7O^[[h|!-$$/z]ǯ/A,h?>I5 6(]kV Pۍ l9\H$!oXQ:G ORׄلkR;Ht_ԇ[hzeב +?A f..9?))U1^|)?#Y eqTPF{"a\U/GT+@? ]o_e@_xA| X`k\NWׄ Q=g/~D]cʲ_&\ПC~ aLRVK5A *s\RK˴YZk)BAT ZkAkN ? /?!) |$ Vuj@mj@) _޿k BAxHkK"i+G(_|}i ڏ?jgKLj^CH G5_ ҇ΞAXjl5'JE:AC&?l/kw08Z f#09W` jax I ׶dABxIC 0A$O浤aGjag=|*<ϗ^>Xb3A ya-B@p ,A0?Qh1 # AkA04B`  8x'_o=bB AkP@AWb 0@A14h +!GC ǡab#i#2 5Bӆ !j!d1BBN"BCM hGGhM5$FE44Ј@DDDDDE"""""45B""1e4v&D&eqhv&Xբav(0cGÉT39;ȦKK0lh}`2 +2,DfkA8e^E4d"L3>d Mp`' kȺl34kL6AŦϨ2H$&Pj#}7w`Z#}6Ϩ:#I0ÅY FBau $Fn*oEQMVqtS:m 2 1kP}Mäɶ$AxYB:#A0]$hiꪒȝ @ 83(.aײU`^#aa(]''NDH*6y$-YPic*΂MI6H +#bgBN-.\U[~'#~F>=өկ ~jM +_*Н>ߧ΄؟D a5!%>=_ fTAzS{?:I[uNy]>83}a?HejC򅤒_ _]CgV"-$Kg"Ho"Jr|%<:'o8Cm/! )NM|m8N0)'%_/_'Z_^нBII鴿QpeZ[^$K7F9Ӎ/8Eh[z_B꒿KE~? ޗ󐺤/n 81>O^B,yőM~/8#Ч/AVߚ&"W^ֽ5_/8#OQ:Yl=].:eg]&*kZ2K_xkq׋,$_ C_Kʃk}ۮ9ѯA $/zK"1ҥ"65L0ȯ"xG(_넺zuzk`_&dW}(]/C迲9?D{0^VԇE5?H_:/hjZ9?D{0^V&.==H^ThZĺҍ&& 4^}~U_^}}=/ZZQ߂A&@P#ׯ^OpդkȿoߋA E?0 ^_;t$ X1?CARIi~E(踏Q^u&M /IW\$&IB Ikgr&ҺXk$ 'Dt&x|B +SAֿ^M( HWA~B!5VVqUs_(><ԁ5 ִZMXP?Iy4Zef 4AsGW=_krc=_kKHV&Ht5_WYۘI A$#>`  ұ3_yCmX0~ICr9&&K 4I--m O_箵֖ʩ?[~A("=:7A0-A?F+ xo$~7v 'a@pa$P M_%_0)mM1 -߭ CO޶%IR|| 0OIIJ WF? }!y!: AzMj^-_aMG4J o ;i4:?}V!Ί:$Wi0*kiA %z +yA< J> sLXH\}Na͆IRaA7vQKj"AA@jI vpkɃW_eiz I vp{ {@C!Ak2 |(BA/k"" iV@Ju`fCӆϨ25 &"ȈAU6,>&UM&ܧ f3(i4Ŕ"/$M3(tJYB:#A0]$htD(caqp4&]U2qdA7皻@1]$|/L0eˤiŷ>:A(>A7:iKDw @0,6y$/p"yi_4^N!mn]z_YвI#+@O >&j:\t}xt[{*'#VA?1]< >NW9vt^?eP.) 5o/&U)KgV"-$_%":K) Qd )g_Fi )~q{œaROJO]kifD+ijH_sleZ[^$iiƗH&V+(;q]RqY/4{z_B꒿p֓i[JEAt)(^kq(չЧ/"W^ֽlI}6$ocK"iPYF{o֍/#u[AK89#ki}~\ w=4fnI7l_RPy 7RFQ)' mŤ17zץ# Ig+6H?XZ5jrԨ&/_ΞO/Ea#t_+GcօV%^/OA^:2D":%~F$ƿ3!W܉ڽ$oM*4_Ҵ]1G8֗L9tfTR UׯK)#tGgI0;]_?aAC Q]euBCI(_@%|[-iqu|?4\"=:Z&*nYvz+>4mu?M~yt癈?(D{LWoL 5c@_>_Y>WϧaR۬#@z^n|G "0h"$&ZOp_/JNz~&I +W[ߤ0d_7zVP}]MwuY!_Imx L0#灦ؐ2#_zPtxzIoA zǮJǮߏyPpl%˲zX?Sz /r+]CqW"k׫_A0"@:Y^s[^z_a3PkzHտ/\Z9?D{0^VK_^W:& .tWB4o SVK_J4@$I7__\5z]/񜃐r +_7yo "c:/ !?Ҝ[:i%0{~I6_#Ϧy34/i$^LG]u\$&IB NI6R_0sUctI|B +  __?Ciki.k5b@$a5l=UG_Y/"$+[z_פZ ΂O[zTuiuz~&i-|m *MYlJ[zI__~al7?!Ag~l7#7 oI&ȯ7M <%-RoK#<7NV)_\@zү-i/ &I&o+<-xA}$_Kߤ_M/B`Ҿ:KCAJKoK}PI/Z/II}&߄GRSI0$vP^zZW ` 1 oI:_^U?I-Rcw,诇HP ݠ(&EBWi0*i& rI]I/4IK"-/P WS &\*-xz ѤyRaA7vQAERAi5$NKXH΢$Ƞ6 Vܴ? W! bIx2 A1I0a.qnZA0ZNh zX8A0 < +k$kC AUA`4DD2 |(A -5]xM$ -'h%,aPh$JI`jBL X#BЄ + K C b&HqDME>CH Ȍwߗ 4lM~\3h3~\3k˂pXF\-20Y!G5T"(ę1"}$QJ~5J0MIť+ uI Oa O߳ZH/H_"<ԛ8I:hCvWaȅW'߽5}*uu\tu_wI7ӟ RS(] dd?-Z6 nq)U,ŹħUTP( +CgJy~w /՞ ä~4dBYE H5Bla x=3=o:95/om==-`b[BJn^CI.X#@؅:ߏzK7j$_,B5_ &z5UQϯm^kU Mj}Lm$ڬzuJyitau"} .|~J#]Yo{ KAʈ%m0gBo!ih"?/m--G\Ћ$ᆿXo͕:{wI^>zׄ=6֔6L?&ǦAׄ=6d _N>M"`HF+~FG͆[!θm/-t$ oA$aE _2Y7[(6ץA+O֡넂L>{=&$Z믍7A~X-}_A1qCu㚗GK0CGKIK#נ :9>/$Ȕ׋Z~OmޟK@zV\H6kwm +_Z%aq8J)zL;.oHR- KKAq?/Vq?A Jq?Mݔ0K-DtW-'k#KI +ǥmǥ--.K {]WAkP?WKjKHXH-(R":)A/QVIizXGpWPcd_=_F>M~A A$k_.?}xZAAiT{zAxG:/ ̡?( ~ AZtPdR Ca4(.?N ߆ CaSP_/Ta A^>,AZ[pIUޗ Mx0wI H7czAK--X Ф 0K ?MtbaJ[ DwǢBTKq, A6~EA6~DjI-êXEیt)m8I5HtR.:ikޑOJ>LI5Hֽb a^L anf + [A6&] Z!&] G@H,23Aӄt1=| զ+A @6~A8 ZbkA+4 A:h [(H,t-z2 }Gaa(Ic  PaD=0XJX/tUbFpWᣡ0F +B8D`") BhGF B8TJRBB]SB1ADDE""&#!4Joyd TJ̒6>4Fe:j†v5l#v!I63VD"(}IÆuɄI(ȗ ? LL6l 6da;ipel8pl6B&2Ԙ6 DmL6R``ΛbӰ(`U +L0A*Dk ‹'@M_e' 0#}]UBCa £M44I96 \2asIB&=3@?3/PoaPQʲ L.\0F>#ZL3k3 hPXF0-Μ*ToO6LIZh}I@WI8eqVtmoo%o~H5fV*Tu .Wgʄ'Ms➦H0۬o]IiOV${N~8~'nn-&mHo& ߤm%M؆HE߯4P~D FQ`?ͯ^!#@\zOKmANM|Kͯq>u{cWI?Sd1^u%_OA_cI d5`́dIS/I' }/n Q`́B^Y_ڤXn_R}iťlFz_hzW,MMQנKu))G>;2]!)}My iB_90ΞEopBiP8ι_z(P@W ^UVG8 oCuUЋA{I#5 +0׏Tf4_T}:Bt%[~xH0SPgWe} +ŪGQ#mW!/H0J%[:I.h:ۄGZIzL6?lI|z[5j^կi{G +Knh8;?j@U Ƞ]&V n"r=%O// O朜[*>_TejMmTa" ? TدD[uy$PDD?U-{.+Ab3rZ *n(6uDCSV#KOJXI֗g9~@E5^M_ | PWNF/V#t/:XKuւ ~aה_U/) Ki~iVׄ9#v\Sao_]/| I|ד_k +]/ $fWTk !'k/K{K*##^:_fW_X?J+(.!%mT5fʝ==Z[taiuXo@㥠Ҷc\lF_:*׮Kr@E>VPqAW4)~6]yOֽs4i$nKKR.ΎR_sD'\/ gϡ kI03KtT/ Z. ץu I|l)ׯ# ^_ǧKo:?ޯhe>SK$aZA>. x@P#ׯ^{ޞK_K}AA l:K >IeqT" k,//#0IeqTZ҈-h Vgւ[DY}-Wk4J+Z_]g9?v/pA&)+t3'9ZR-̓XA N?~zS UGZq[WK^]A +8]?wuA*G?G.KUm.y0K}/(_Hk^L(e Hl# +o~8ij'뿄] O)xG:/tS:K/m.W'e#O7( L_=uM ή3M?V"I}OK #;*/ʟz[(b$ޗia)ރZ K}b_U]6 zZI/H Dvf_B曤:K&a o##_MAi6 萿>o_%䄋=& IBpAa!0JB Mڌ"`Oiå~\Baz]A`bIlxIwp*K%%7*Q6 (l/Npp =g'Fk %T 7*Qׄ˛ 0AE/ 6A:PഃI X1ZL@I 'I"u & ya/bA758z%d41 X$ ai2)OIo[V t!H-@  5uæ#EK/tJ@u"U*E~74ߥ%@o]'#j(C :ᲰA[!@o]'#fפf R3ߤ>|D0SpL*΂M: + 6$/V0-P"?ojIiSc~{<KQa(X\/^6gKIz^%N:5k:_C+O#ac' &VPatI}#iPHyʾ$?LO=:t{„ua +/f}ZZ^U-RҴGH6 Vla>N ^x3Y|APP~!&+3Ek9ruDCLWf/eaxKЂn :YuL13sZ:^,FkFn/:sZ:^zб=/'XAP't<GK癈aEB?*sg#{:?@9/f" #@ؖ||ïN(T xdKֽJ_4W?.mKZ#@z^zsIk ▖׋A%~W_DIB_'_潇at=5t]|BWA΍Xqkץϰx )M`#M#"?#灧koBꗮ$=}/X$_ Co-z/! g4 dG.ߔߥA5 _At?L0ȯ" K0A[.KH^Z6 v!~&#JQ[j_ C!R _>c t_>@$\~H__XXAd&A? ,i2}~?@.~`@m$]/ ~vq#t1ͯJ"*/$K7( &Ai_YWDt }.zs9_V[I(AI_,7YO*h?_A~!(?|B + BK(M~ᔏ-_KHt5 #_HH/Kmx6d}[ -_ +F?ȅ_ץ=_kQAU_ z?S*1o M/ oA P_o (p\[~?.03].2~A(""*kA1KT=[OJ.b_iï l__09Z_ać G.>LK^L\CazN/ocxDN fu rep0a. BH2 pH$ v+a,Ta PkaaGI@ @t @:2D ax8qN^GJ車h0Bm ; y+bFL*!X d6i:Ť8Aa8`GAH )`j0b# {C5AZD>FHi!,uTЎBGkRA +B#taBk4ЊE"#H!ADD،enh;2u4[R^`α^#TLֆuϢ DAC2 L2)&<+hL2X 9ْy)7ad ʭU [f P 2̃l;N6َQ[Np . 2̧ȺHuPEgadQl4&  !>V &,aB#BAFmӨL4&tz~ h^O=hpoa[<o3L:#X}Qh*EyeQC)7I&0a"#Eg$3@P\KKAp#M?m!6yp7_AË\,Mm!N,O}8 [+_[(4P#_6(>皦RNޒޓ橔\*΂M?I zlQce?Ds8yikˎHA7<[겏gKc>j;I~j;W}^_#zb}& ҝ+Y/^ƾ(KS] ~a%"BS-7 I$pA? I$fJz^Ǥ"|X~ޗ㠓_h?A&ޗCOKH'%6AzG/Ȁ1փ'Ҧ5B"iS1^H &I"u$FsFLP6EJ3PKӑ#8 JrT@!N%r`m^'ʅ?I ."?C!yӱΣ @J:/ץlȏB,gNEq8>egV{zDzs>abpi3T.@Z'Tl]Q9uY. :]Q9u"V P_:%xao#S,$h48KS H:GI7^Ή_^_M!A(a./P×{z{<KQKQ _^im#}$HKoT/ttXat{Y-N"?=kKKӧY-?2DW"?K f&#56 0_~ʰէi_#a2/+KKMZZ^,6 qZXX"t5km)+^D=dXbguz^N ^f Ѣ+K--8g9ŭ.#,FkFŭ.#ߛuG<G:ҭ/A'C9__]D0a}~9/f#=zlt癈K kUdXK^,BI_o_}KJ}uZ#@z^V#@z^B_T?K4~N{ȜC.:4ɜCoat:5?IC'ZG/ahN#q=t:G x◠aTsK/=/K g4X +<8 _)y'Zǯ"`2E[ AAi~x_+Y@A> /VtaE~xA󁚗_OR[j_fx kfjC Mh%0^V K4 6]%G? tH_>|l| AA& xk &Uҵ^?_/#?zC_e !x_AWCA EA1_U_k]2_djG_EiiKti5NI[yqOx9#u2$ +ǗYr$ $ r!C8e#TcYpj ug e Y8ig/A>!HTVҏ5-KZe~s?~‡5 #_HSRҞ5:rP[:OwmBP[=G~j?*MW }yO v ?$=7~?i'v?~A("<~A("=[b~Ko-ߠI;_@v&e[i/Ko1&ȧ:~E?Gi7~°[[~xA(aXA +XA(aoӏD`qMX"nD'~>7KM؈-HH\m0D sմBH6z^, #Xc/?Ky|D?Tt 0a*j` 0yB ,}'JGItȠ`K~oK_w08(]2(2|8( 0WeZQ'&OW m!$C]#t'xD?;C]#bqn^ BH2 |qn\ !uBb>N4'u A00^ ix1'pjx1''D$ i~@F[ AV/H )eaA,qš XCAb"Sn2tЊUDi@DhRA_L* I"#Em8$FFDE#CCB(!ɺ'́2oR"JMdM32Db*jEٌw^%t0l(6Ul(tLdE4aPgVTZ D &i 蔢5nB%=hpg&ۢ! S:n.4T#ZOZ^A#:u"P\ ˤDiEKI@WI8eqVtmo!H^b*\ B$Ǻ}i$:SꕿKtq9>N}UMDiF؆HEߔ-$VzMZ %=za_8R&=$$pΓu/I5B^ %(^$^/NFㅣE9M!%zL?C)*ZP&N5_83kЋoW6Tb?kO]Q9tHU&fiFղ?dd~"/]$rxH0z7 ϡT>@Z4IzL?) D}-/CLcIBAz2(A(E*GҠB h0֐C=9:+O/+KK}h$`ZDiBn(6uDCLWf/eZZk L')׿sk:YqkKe{a 먇 5rGK癈aEB2䒯_4W?.mK8@*t|?!B/{K"q_~L|l| AqE1ȇMz~`4T>! " ;=CW1ʼ~Eif]F}~9#u<O/sG %)+/e A!At5 #ߑW~UgR1kA9` >箵:o%Gr wheߠI;  6_peB>J/- ~-ނj< / S|D?TYѬ56~ sI΢ 5I<ϗ_8/ f| K l AA⼜oһzhK`b +JЉ%4#ta +QA#,H&H5-Մ; dB"" 0gXB":vF"6Z$<)9Agj4vɍ]6RU8dQ0;a6|DIB4ꡝM:Ҳ0fnˌd 9IG"P(}17OgB(Ȍl#qI;L>P 3Df3࠸H4@J&ߛ/zGeqVtcmNzXWgAA- oߔzLsgr4Ǟ΃;UүM/66'&l6U=~(K]S 0m&_YA?#Kޫͭ/\@[KYx3Z$m_M_u8 #m^'EôoK yŤ}$WO"9#Q~|=qKoޔY"Οq׋T81}D_(㔓mxΡFpҢ;_K{<?vON [m/ i`O%ǥ_I_^xP ,0=DRHF.H'K f&:/.=_C+MD^iake$/IAQ0dw+'{an D!zzKR_'O@avXK^/Z oB$-؉_TimO_]-#9z_PT~3AA g4c--5? c/?- A}6S o(w_t]Bo8^/H$^Y =o[}|{ }55/q_Z󨤽.Vkb!@[Y&+OW ^>VOIKT׿g&a{_z^؄Nw(NH?=-6Km-tvAl![J<Ԉ"#շ_{YuG\DGK i y{K[-֔"|A %&T΀mziBl nM ήح-+:M [A7[i~ރ-D~(-a[z[x7O l4"8Aa hN4_ CMqqČ /I:Bւ S oO! )3VIb:DhBDE DhDAADDDGY +]+$B'̒Bn!["EW%H4"|232DRgNF ȔEw) \gtdA/i$ӣE cT]2Sl68eD;f:r>WawRl2fh lέ‹س4iêag V0B*lw N 6v\fh'r3L:#X}Qh*J}eMPm.*4P6$Bz ^OU#l#q<?Du_ҝkGQ[49k$-7a=D?K:)׎ez0 kqG`zO?9z_PTZ΢ r@_N#k<8 _Z[dj#~#~ǭ_G~:^G Gy>.QgZ?>Ώ_3Xk_$Z ΠD_~?KKB=o[Zm|{ׯ[PO_m_:)R]t!V_/2B|5y##`[r)uנ픵>PIZ ̓^_دb}\S"^"uz Km{ksҖ&0`_qk<kg&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*Q>wZ&7`ANԑtSQbf0)+`EPpȶV#Vv<F/ + lptkL 3*8w6g% #Z"\28Gpôl8v K'ۢ$&-PqpH*bA0Ji %A+bV0l Gs:@^##*S zpDhl}oDdFk5PJsJui&i&4*m!#0UWHU z,_w_T!1萇oKW{m`2e lNS?}꾯Sk+is$5grUZI[*WeAC ~}Mj ڪ'ψ/X +Fn|3}ՋIgSi6*KMH_#A:I6a~]u`4LCH$/ W>$iZ/ZI`B]$?_i$~g_dkzausDk6 kPgKIaDB"?D$+__~Dò1:%/vW$__ `Yp_B^t_R4ױ]+K U{8ͬoƒZrHG-ͭPL:K(IR 0(})/~yKoşN zKy*W4oу90g#!oL:6 im[u@m[A+$WD0VT ]K/_TLr ` +\x6u+Ij 7]]!/_YԥBߥq5Xq8i.[[J +#;ҤLS,u۴/UUiBU6@[xگh, ^+Az[mGjUjL_;%`㚗Dbe}L>?_z_[m^k$wKo^ֽ.kiXZ^lW@0ЋЋKA[{[[a,6lEYBKۯ;_̃#@=k߲F=C%_\"+^虆LrEK)m^ׯKU__#cK_KSxHVVޗko눈%8Jev9\p/K~0=4-.exA/K/oIoil<%zcM3KUk`oOAzt9*i TKm ĿZU[&-G[& a$m/Ka?_X%ig?&IۊނoAGKV ='Aa &m/a0Aa\I}.=&a7aL MǤKl &KXdM>a0Kp`xK^! s&_[QaנZ6/HO*Lu< "jI,z,GI`T gP_G b RA/^G >Axd`1AȳH0zAK4 ap7 1AᤁIl@> YZd24Aq a*Ca`T5a$ $U kKZ1@ AC!kX OF(!A +U %TB8 fJ>8Aa#Fnd"""AQM A DD 2Oˢ| ,՝D16*gdO!HPd%9aa2dϱCJ%a ae+al6Rmf9En&l3-6l8l0δqbA6cT34ppKernŠL=F=ɸE""<ƃni +PgV0w +-EպPEӽCrVrL}wN-Qh*ax V7!W^!VӏTYA 9U7vP!:ۯ f_Yt>?f3XݎG4Wd UI5{zh&Tͬ7~NkҦɉ~Sb_&^!_C8f%)jv}%DGZ"?\Y& !0~&}stX%}+~Ry#>:!N~4%c묣3],95*3૗#Sj(~4Cv5WeUӑGtJWHRյ5]6RҥIo]OCDe+9]/nC^.!)R鲕-<5Bb? #Yj*zI{p@$ifrT G8^fA98s48K}]"$_$o죜sP'3GT|^Q./4im$WARk'Dt*? WHKY})1o?:VQp%oGH7@PZ_zL0ڤ~S=pkoO*oM`AS dHY)ZT"2BnFr0ƿ:AB-G(AiT3kzK`-/{G&}6g n-/{F-/.%8DAURI"M8+VaF+]J2ё$:_^_CgvX`]΅AQnLHL龑GeesﴧBtkt/ iTIjXE:F3Ǩl4H/ʰoKҝIkKo Tq: ֖߿QƖ>L8kpK Ϋ_-֖߿QƖ:\z)/*0:f`ޗ%?gCʨ,Ka9 "[am[$Kim +k ^im*G{KlaCeTegQxTk?a##x +mԨJD_l?O.XނI-(T@xE_=IG I!iwK/OApDMjZ[萿VAX%ߺAݰsR DA;^޿^ZAoQlۏm?>/Vn7:1 8 ^H mmΌo$zO|<%:1 I*a:1pm :||PÉ:nKI (aĩmuz _@B_~-u[Il\$ h$pD?2@Zd L66Lq:0i h$xD>O/qp k %1 @Aq S O_4N  ,'!AV") mh&R' l,5 U :!aWH!Ht ͼAP #,h ]^aDDDDDFE!ɵH"n5bq6Guf\21^g +ge(lmJ&;SR2zJ-pB^L#RlgL3jNSq+0N a"hʘɄCۢ_3P$hgR4ʃ8l`ك Æݑzjݳ +vgvJpIp4;' XH-0wa +B[m3a@A0zv,65dl @h$'&*m(Ol2ۅZ50U<0mAaTG !`{ ʙKL/I%/_^tJ]k$(TBG]i.Hu2EUˆwҥl;$o֗tZU"5>Sn5oMc )-τ1Xpzh/=Ճ?*UHA~{*I?)1.m*>EZI Ľ:.)WUXմI8*U_bj+MPi7D$Ҏ^H -$k@(!NT$/&JS#t!L-/p.8K!2<[+S^O4YX/eZ=is|[hͭ$t$Ih>z]-AʬjʰjTEcDIWKV%L{^FIWK_4DB;CqDZiN>$IVr_^Iy)r\ha i6H$Vr__w%3D" uӞgHY86$KYY8)a%D4KIK_ ~`u I"B?H0&4^dJtE+F"M/$/:A{erauՔw1t?xH%='ߥ?HՔwe/ 5Z >O!?_%j:5VWt Kz[kztd A^ɝe@m#Js+WϱDk*ntsG6ި ܞtW. _(HY/ +J/J/!d["?{Ugd ]}_ ^)=z_~in䖔=) A^=//m-/$ձXޗK4:! 8oױK $^iX#_]z P6A0B i~&^t/KO{]W[}tᤗ@PN8D{gӄv7 MH/K.I; /]{}sM,#6o_lie>ic Ko4/NW}A7EFGU?]$AT:z_Buy*P">l2]y 7+]4Y~']--">l2ׄ_Ɩ9˯yW' /҈|wO(SPf)l Kx:/3l"/_Aq!xNz]X/w~3j^;H/戌QΟ^Z[ mm/=~x9}OX4]4@/?I3 ogF0A.KobGPJt'/KKoK~9ߤ(aC[@@X㲔?y (mƗ]\& {"?_6}&/0}_Im~ ~ t+'9Wm-"ᰏ |.m(-/H"I8Ka/8ohd?pm-&T΀θg| K ML4g:[z_L2i/oeG! +8 %A1AE!KHR + :"|rO~좸灓0UT, Ac D4/ y 4Ȥ/iƩҾJ`DG!@([Ib,*@'яBB#Ј"-dirȁd<@ѩ,l3aC +&r¥2;)Y[[ L3Kq$al0alHjlÆʭÆ@ؐȢ:eWlZ+:fѭ  Ca4hÆ@G #; }TϨ: RQtA wLalXl0BPԙ) TAHl6U%]CN$iOZ@ 20Vjv}}j@8( [_-`Diz`S3Lsa>oq sQQe0#L=Zn)$zUJߒtQ:)U* <oE,uZaDX?_YG^8y~ʨo=*0kc|ꨫI7^ /cPaDbWꗲhXTMT\ҍP~mj]~#QzT _Ho5)D5CeԔHZO2]uLyu*4t$ߪ/GHmiC_OMjpV#iNA5tͯ~4N[".!h>hZ}i/_A'_STEy+St8WKմ(zV?x@"3iέ}ߚ)Ч*mIteF sOZ8tW)Yi}6_Pz(?KKI,JOd4F\l>/Km+_K#?@/׶_6HJqd(Cֿ^j χ:ֿKI_30_8NX`>za _@i*E@莍~B`@i}ѯԄ$`>]/WGFPli2xA4sK:IPgDεRKZ0J-+Wc"?ZQxA0KB)E /ħ5H&<‚#_/-L!H$/9_uahق}RP׷z^q%0ׯ KaXAi#/K5Eп]%_DNH K :/#xK%ͭ/ ԿYKH&t?Fq/jjSzTAK 4 8[ +0/Ϥ%4"?W L$I}&[<AaL4?/evqKۦ@h4 &~kz].i,%_"0 ,6_?6? R0 }0dtO1hꏣ"O#`AC[ /_KmS/[3Bn K_.Q }ex20ۮš, +8/m6oeNT$!F߿20҈GpKz"ʝ2' M)P_恗:/ǥ[ @mrX/8jpbj")mkAqI!D/N>y+A_a_A})t$O_vתYҟ^" X 3:_J-/ ~}{_UL{NQGkyV5 Iь_~{?x}~GJ^N$5muK/ե[椔Z+_gT#0c0í* 1_MjIJd[aku}{=m}(!&wh +kJI/,$lsNk-%~߃_izIIPFmOU+/Oe!ZIGOhKj:(;`m4zMF/ /צ߰L~YPiq~Mmq&*t+_װ4?maΦ/IK_M&a[i`'5%'ҬA?kM>4WԂV0%?L?[h,"Al8K錄M7ߠEäAƗDh,7:*1HKHzJ8II04A_Jv3q[jdaۇ #5dptdI f 2i .8d B!i82 m`Ȕp 6K>h6m  ÄϨ8UuԢ醃مL0M (T=E ArLՐja:4;@ 2t୐qT Ldh=}}EUx%}q~R$*f&_9nDac$>oq sQQTQad0zzcU$W%ᆝd0ۂ/8a|$ߡvUGߩ&̓J_ Ϋ:y#jʨޚ 6 +con頟Ol 4^:N ĽVEZnaFbWKiP~&םA[X[iP^_D.PbUG]u!)O_(XZ_k !0 I&PkZ:@k_֗eZtfh4?TukS} i]Ku`^4RJBEk. +S/% ղO8ejbޝgP*z)/ +}Bz"%fFus"qx M RRm/%FiW_Tf/ }%sRNyh?՝8͇zMhiW3"_U_X5KW򎡩4~J3Pg0|9ֵZM'TSJID_ggoey@iKq8 Mұm gJ@@*xJ:5pUC>]/WeoS=t+WΣ +8.t6ش &VAD-qXmS Q~>(H_G@J|䅐qJ/Ί浯_8B5ؠ) I_z^B%J}B[u5ֿgTHQ8ApD|AcG,_AE݄S# R h_wa"%$MDB.ӯDK_%n'B\3_-U6M_$%B$+3B(@|O>uQA_ :uu_ G<Ok$Aà-jrIMbO 0UFjjouCIa*|%0pm\YAJt ~W2J%VP}c %ϣ> 3 8ASE("?O_A+]š,l㯗 ( ZBT![[SIN#BBD_T_߅UE;@Ko/uK}+t_N],B*Aqio=j$*K5XڄfB_\] KIE?XB^ΟO\g@UށBg [sTE}iLB c#Go۟^߫iQ =/נ]{ 8)ь^Mו +P0mG/3@Aߤ5k_~f/3?KԒ+i|P ZKԒI/L0J tŠ~k;JҏPBLׄ_ҤK.PK I%%@Y.}9ģ +6fX*Dx_⿫iep8O'(;Iq~_IǤq-?eiRah'SL^MMmq&*tn^ Vi_fW +oKaW_Ѡ?0O`rookA?U~Io/K&v ,0܌ KտJΤAl7$~/"Al7:MxA L|';/A$Xl?-L?K*D"_ERo Âci$?Bh$Q%Nւ=%`$$ nA:~A􎟤:N~O(A7` 0MA|#RP~`1H1#!i- +BO;v!PL!*"C`1A0DDDPB""""""""1n*c"dB(DY04BEQph qNqMC eaZlsa%}R5|,>u8 :o8Y<:"G(_UjzuEqfjz΅>OCDo_Kcz_@*P /a =S>+\Da/_kn'#>_bOޘA |A:ҜF6*|Iˠ_XBKDS +lc :aNI *0>?A 3I)*_R &iOfU'04ð. URP 4|yA-Ia^ |4Dpca؆) !j#L!T Q7`AL5D)\3DNUQו0; Tw~aL֑I\3d5Zl(l8l +pd 6DkAVIr2;LFݕi8D]a`kBF!1laV֘t*ã Pmy6ŕue-+<;#"*kt Cmi8TSF[000d*p/MJ +둌dk|$dA O2ؠq m.D^-m!:l# Aj( S+V8#Ol sJ<,~{iVlQe; a?иP#F9! 0OH6_׶vN΃4`QZbjUȐg TIfC ?6aIү~/AuŹħUTPV%ᆂOH_]7]sY(Jy$tRäx&BS#a镰^EsINW*Ukh_SEVAY'iK ?HK@AĽ~qd*+yi,%HNPoX񥷔K6UsP%Si*pUG/ Ч&~cfFD9zQ~} +E!}iWNRN+'ipvQk6,9(뜅kA/0/*"? X5/ZS_O=u$F"}wuH"Y ?rq?>Ki'UOȢQ&׵ޓO4Aez~j~ j"`)$eU_][E.^?gץߥ(Ü[#mP/m _#k~?_W^ʛ]zEB/a.Iho|Kt_m/oOϪ޹/iD ?qiQ_K5!봾<)W"t|,G^j.ҜRA>iB#߄=Eo:[0yxJvkPd>z 6XA6Ϥ0ߥ>0VL+JKG/]_a--Gm&Ȁx!껫/?Z]{}b&_n(/.Vɡ:#ouP"?t?Wuu G@P_붫 ]}omt_e--uua m^____Լ"?]}_a}}%V8F{_[}m/"=m_\9nmvI 0ȚGgWK]Wz]wNN~>B]$#PҾhd-zڷ졇۪+I>׵aK/iZS8z_N>E;gBvo("khr dMk֗ 鴽/.xZm$Dtt# KjA 9}`I*I7^HR0KG=Ac &&QPoHjfi-s MD#Ctc_AZt!6D ÿpH-VM2im?+B?K- #}04 ҷ`gXa}~66cJDvV4%A KkE z[ m $ׄAbiMZXAI0L:_!IW"nGIZMtvdE*v:H KA6~/H0ItW0 ֓ &>IaZ%B>B VIHO(I5H֒R.6(+XAⲓ: *0qBHyrCHH "(A1An@! T!8A 0 g U`&A!A:h BM4&A0`cH.#DA1t ' BH5 -`g C^AgACiꙅC`lՄ5*& 0l8P6ùn6C% VmD;@RV1=VÌNQ ;mi8FI `%(TՔOË_ 8@O3_ t$je `mfm.ͯHD/YoX<47皴_szUO34J6DŽFG)EsZ^$}Y\t~,jDi{[^+HGDisj:5_N,ʨ`ӏ?H +i!cl 3xv$jߚ[2T:_A.f +Lek,"4_)EG88ꪊI$ Ȗg^>?Q꽕>m47򄧒GE!7D*IGƺB`'(M:AH$_KHjvmi?WE^yK&qN~4#0؅|4K4Y޺ƒ_l0<2*E|eD=1-?Po"  H%ITj^.ҵjS4Ra8KЧ/#BPu/ڪᲆ>.!)V(I&Yw$Z3S.!B@jF//| G4?$ -9y~o].m.,8l:iWg:I<_H_NH0Ճ\L$A%Պ gNqQI#5. $a*AܺOϧ#KJ?4xaZ귪WJ|>$n_G]UG Ђ?Iqa47c_+C_xmtkZE)k&}tazN|yAֹiKV3 B,%/n DFw>O#bfQ|4KKnM]/Z^aW81a֖z_?VQJ/=< yΨx/:KzK&ti'I%W*o:_?P=?]fK=}M*?>$"mRxA?kϧ#&şHo: כ~zK AN8D{%^L]W(z_y?\K I<">}]c_ovo ?BDWָ@p/KIxA& ,Ry/il?Gj VZ +]xV&վ 鴼r@$wIx@[ _M#-- gK=I-/x_!ktJ6/q9$oƷ6JOB$j5pm~b#:[sCJSU΋9΋~I!j_ւFBKxs#Lnp%^׋+DKn^P5KoaK gXA~{/-k[__ D{m?a_XA~H. .X8j+~>BR5Cމuϭ?KKKm[|Kl"<-~ ťk0,FE;JҜ60'I/aAVBjt ZI-+jZ>z GAi캞) Kl $ K! i$7K/AiX/KK$KޗKRL?KKkKiqI +1 0KTmI *$/qA\%9BEN4ja?A k~?=#4 rJaE+IB'aH^}B0/dP{Q cMq jRQ; Ȋ RAN@j W0tH4k&DH9 X 0 :&쥺A B'X(& zd զ+A B&YkPA h1AH jhG_BA ( p@2A=0XJ[DJr) Bg,H5U &!AU5X" P #!DjDƨB4-B"""(e""""""""#`|MTԷA)[ < +ӹSVmXt0 4krӗ A@sL[SZL8ˌgPh_#Ȍ}{ 8!# 8ac$8mE=I5P\6V)P/&0:齶 amtΫ[Wjkk^~ ]~{^k$S_ jo/ws>TO?[SFH/6 +_^PךHSä8AB5xʨZ'uDGE_EX}=GX#0؅kjH,"9UE"9U_/KнjKK/_5s+S,Gp L(EPU) +y_ZjᲪ8KMj#@LFzM`6PëQl:EZ6d +}B#`T^ .(!8Ӕ><+)u=Tt"^VaɅC*:U9)~]z]'u7C+9EK}&;(]K_o?+eSO{Dt5w_/6yxTI}UgqUo +>-?Wς6~?S;X?53B&a3B&z[E^Vql/B=iԖE٩-I~R\?0˯_o D<]v^8g$+CӭXA:gEvX^DKAOC]j)z#@DK_﷥m/ =h%kKW[ G_tx D*ϤKoB5ez0 k ,6T!Քh5x{y0oa%׵A:{}xA~IKتYAoĺ_a䟞^?/g_{/j6"~/qUwuB#mKmnGyA0":qtKU_֡ւ%ޚ[a/vTAe@ t}G ΋/^Kn^:_ ߌ<] /%lx-kUD{mm~_i~hmmtJ.3@~z]7_z]A^#Kh$mվ?)]0_zk#CӠ.._u[]҂/NҴ?մW:&k>?im }%az\2;kV{ (XkI7נYմȞHŤ_ sXjj o5ޗ;LV5L42M_Mҷl+,v `+ ?Gw]-I}zX$ &0Ҭ']/A7i."Mz H"itm& t AC$߿?[_XA^t - 4 0}%#A?cL? ~HO1h$X - &M^( "I|FvÂ"&l/aRǝ)^S.IH` ikA B0 W8A0t;B 0& q'6u}yA>A42" V&T&4a-'PĿAҪ  `(/[m: > + t  aPv0 ~`A^a,k8k1a G'֐A1tЂ,`=0Ah6 kČ 4 a0#*AkkKT,&0X(! )DjZZ PCPhR `"(u0E""1s4[iID^UQוFd YSDvVY؈;-;aryHEaøfkM5 0l0!EZ"jQ3 gM2tjE:*QW"Xap@R) #&h3.FPp\(DiϨ65aaϨ8m†A ػ'a "A2U F>Al7s "~zeϠPV3Y/CtkiŚR&6|_F[1p0d*yaa۞a_ORejbE8*:E&B?_szU7LI}=^?׶i&_aL/_mi%Y6 }moV&wU%_o_L2_sNWN/++H_|f ?)Jcci "TH?5-"Ui:en|mIDNHX~?W6!gZUinoI1ҏ_#Qaa)lWeW- 5s+S,%QAn,mPTv( +6Ğxb- !3D d1342 ( R .(! /)*Ҟ;P̩WeO>6Kob~ʬr_aV K+>"*)?9׏]'m7CiAjIl|-{["KRȒTZ , ~j][E'~SzK9z&VΫ뺿ϣE^~Ws!`ִl5r#u(OI}_9{*nu _=/ep-hiW̐Al0U_i{ߥ}V_K5!.Y?ZsK ?ȝ_|=z_Nk*]ml)DIio4 *HMkAs. ++_Y4zaP?? jIOşI+&SvCZ۞aAސ~Nyj_ K_ƶȀx!rjpVokAV.)*z{ ][߯~~oK80VKmb?쭺Z]|q O=SyKoEU@KXh_]Av~}3Z׺]|-|$f#ZKI_Ww(S:/M__Լ"?mBeTۯp+[u|F]Bobo ״} s祺K' Z GUYUw/47F"{Ks?]e -oC5_(aC[qv m~:__;u]5)V+G{+XC ]C ش_\"!{t|Z\2;Z%\*d_zb-NjL;4A-dvkƿۤNqYմ_I{sAu;EpWACF,lX 72zIH׉_e HkA8&QPoHjfi-I!:b ̡xA&fKH7 Km!6D ÿpH-Mz[ +`+ P~OGwA^'I7l464ck4X`7MbA`: U-66cJDv%jނ_A!7[H7D2_ 7 EI"Amb$h,h&oKiq&/aA$ڏ /A0/ R^m& -maI野0EPM^( aM(K| |B_ a/ m$:+xAi14H^ d@jM>$J@B`piƓ & ]&2(2|VR`Ǡ TNADPbj58@a<1C„ 4;Y2Ba8b1S>Z@-@DhN1H&ih٪xk TLc`@2 / 6o_@h >} b OL&A0 0IT,/A jL&+ x'axA."A0RAe5#CH!4""T6X.CA"dB"4"""""4""""1ilZ*W$*帾JQUƼfF&@C*ԊM2UHWfQRQ9A%ʢaei029;0p03 Za$"_LX6 )il6+80mV$* 4 : 6B#Ha$>gACh;*ҰTϨ6zA@P0l7mP?Mh+]o"~zeϠUޜ:@*Vu: a&g6戌_`elOËk' t$je0GeSd5-57#jUo4{\4T[E:@=$$tP GK!B@jI_G_VM~DkUsQ\RF_G&_Ei?&}~I 'mȘ6]ʞ}w.I6u ?8ND{*?썢HFuEp> D 9!/ᇪ4/'_ ҿKO0S?U- :/KPPK?) AGE~iEDI+q(A?Fa7VZ/ yH V_jl2$洒PaJ_0v+e?1~: }-,`g &/Af!8kcIV}goTZXaWGtIDxRDB ve!_K ?G]bMH6{7ia) *ЎZEpQ_5HWKaFRϤ{_il4 +şN_6lNV0oyEL*4knzL캋%1#t(=Wu\c:~U|^D^:wKa K6xH&PiwA -,Ng`KoY65NA ~BDce:4_~ ?gֻ\ eAU"MQl4Q6A%l[iC?N6(h]a_eTe(j8m,tKKm#(@˝_$KuKn[!/Az[^, -"zƾD ?ֲ_%钕$]qm/4km/-k[_-Qߤ[[z_Iv@IwNZz]AT$ZKWiڷ_Kq3VJ;u]_o #O\"iN:[_P8Kv:K #m/Ku_hIm2;s_o^"^]kze[KhskH/8մ$X Wma?AkNeK[_ I -imV1I0_8;LV5[yc_ tUK71iKol+Ɩ_ _Z_Pza,0iimJƃIzXz?zz_ށ[iR[Ma#-/AiX/|/(#;_Ih,iBXoM &MbL4?Az>HQq_A7-%Al&M`n?~8 /!:+@> $ï8A7nDK =z ` &uZKOLGO8 Dy-y+^N%͆KB2$D0c _&A6AեGIސADPNA!Sb@ X E<1M`J\B  A  4[A1X> d"p$$!5֖!`BAjp᠂` X&pɉ2r& %PǦpA Bh2 JаC ,XMA A8᠂ a!1@DRI0 +aPa5Ў"PB¡F0F"!DDE D""(!)DDDhb""?*6 Ks;DV(g`YX;wU #R;v>DG(Ue 6  ȒÆJT6L8w ԍjF"a21u$L(a0aV֘ptlZp4HL[>[`2^l8uua8ݵ=78$D;@(o7P_&#~\3vq Y~Q*ޕ%I~^W[yzDM C};/_iR_(3px]Xd릍_uQnq)U/؇i?򄧒GE =e H5Ju3|<:%ZUinoI3bmtGb[u?WBe 7:1@UB{=kyЧ,9NѪC0UMj9X^DUsP%S~i^I젆G4?5( RLG_>k^FGIB?_A_AjM7C*Pg^}>#ZPD~/i?۴#a +9/s/0 5UD~lf4H4 7Itۮ"W-/K_X8KBm#u__su8"4j]cׄKoo:Z >e i4R&ϥ/$xA{5}/oHktAZZ~[s6_z}xAci~-/oiEN~A\|zIzGu~3u>:D|_kV6vT? o9㍿|$f#ZKI ]߯gEwK_zU?_uԼ"?]~^U~ H1ii7ii _eEK%} ]!KAVKۅsK־Mp??_z[j??>մ]kZ+Jsx]TG޵EU~A/.iz_l/ h'J1/uuH/wYմ$j(Uc A/ߤ9 &K&AI+ ߎ#zI/L V Ctc_ޓR@TXC{ +T0K`_-oAX N h K X-eR& 6oF_f- h-]&IBä0L:_萒}.aa# WK" @ 0M_ZIisYc '$ I5H։\ t]H$t' Pj0PLi`k t5d id@?+ʴv ~D +aPt  Zbi iW A!+^+ h Me`L,% &UB@!5Bj5֐B#CH!FB8BB# BDQMDGcDk*|r"VK/].KtDKG +endstream +endobj +37 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕjr\Cl{ +endstream +endobj +38 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +39 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 17094/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 tBDApJG#k +>GzH6l$\6S8$J-6~ (Ԙ} @t \ȤFKkCD׋9hW%U[ |E__8%5?vM.Cׯ?o6Yֿ_?׿xA/$Zli?PuXBni%ǥhnKM8 xbPح&+mJaiqZW-KAz3 /Jkҽ{VY=~!*I:'_–/)辰%^a$~u +Tta!G/-*_ᦄGH0RZOOT#װvC_$ zi t?&~Z}m* 0  aH $qHBM@!o@ f6ͳl6ͳl6ͳl6ͳl6ͳl6 ˳"JC9r.Eȹ"\r.Eȹ"\r.Eȹ"\{,7$RX+B#] ptGWPfE! ]juPqqʽ!7, ;0kط۩!o,">L"8'Љa[p#\lr9F(H>0@w#cE߷GD#Xn_ uFDt]"bEՎ3n83m3lAs1?90;<ꏣ+˲˂P]GK IQ}Gw]( D5_{LZGҡW ɗ{opߞG)хڮ^6z\=W3L3A"ǽGEq߮4(U Bj!B1)zZME,$}Tqpޅz,xr1c[H![* բ`vj.-KCxbXvŦRug|GTIQqDDEGc۫esD":!>U0ݵϢB" )fM@"b#a0h46";G􂋂 CP ,jx uG}G}G}G}G}G\"C"mh4 Ah4 Ah4 5Pd2B6֋4]#pN 8'pN 1pN 8'DDDDDDDX!K$}q__ߖZ>CHG$GJ4Ee)! /chQ! +^pɏ n!"xTCCzTo- [Sߣj+V1|[,r }E\04CCF<Ɠ&;8$c bCEa!ŋ߄yZaI"]OOՂ)t}//&"4#S>$׳Џq>4e:h&RY}G}G}G}G}G}G}G}G}G}G}G}I}G}G}G}G}G}G}G}G}G}G}G}\Z{4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG DDCW9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9c +9 o@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@60U|}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Xd$|6 B""""""""""""""""""""""""""""""""""""""""""""""""8DGЍ/׽/׽/׽/h!{륥r?ir>#iDGE-KDDDDDlx}.[GE!D8sT~0c 1lEt=m'KH5Nf_ DtajGx"}G#RRRԗA*KYv'Tpm]UւGR9]Q(}GYeG/o\ eqϯ(xmU#*ZMu2,%K HNPs#i,Ȳ貐Dxp186ͱDr1`r1"쮔ZЈ$ܼBe Du!`Rc E9CϣD#}^P9cC"x}qeȹ.ےa h M.Dm`"9G![",}DX&3I>X"萏ꏣ:>fqeG!4 j@X}!f3RCBG$.r7& VL%YvXv]C+EHGfҸK Ή"nH3pnCGq#oGHB)qT~G#8 Zw[kPXj +M"(i[OQ"y\ .#Ϯn}Y gYIs0a0GÑ>G}Q}G}D}GTF0`#A|LzE>8;&8DDDDDDDDD?aDDHaawҠTտТl<` zYg}* +R܄z6͙r#aEByyZQc4hQY,69,6#>#>G}G#٘3`4vG0GdqG3:G1"GK(t#1G}Gih3l00B"- N"""> aP6I +ժ"""""""""""""""A`rxDDiux b ' +};(y$yIab9)qCC 5#r +#rPN 8'}PHCBDsE;  ÉF9cF9cF9cF9ph20 !Dv9r9#Gu vtF9c(wԎŜAH>ڣiR8'o#>>>ꏢG}QለƬqhDn|h0AAb""""""""""""?tлM t{2 ^6Ք#+*8UPG3gyT#qB1)'Ub׶bEXኺ.I>uH}T yxW#k Ԋ9 F9#> +Ghq:"<]Ŷ8F+򬓓V~;qdV:>P]B7[q!;bbBnpqBꈮ(o幪>⑎G0dH%2\" ؅S#'I IP &. ?x%gDC#$Ɏf<#q(6(RW&>>>>>>>>>>>ꏣ>>>>>>>>>>>>"""""""""""""""""""""""""""""""""""""""""""""""">_H#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#/1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1DDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDFt}G}G}G}G}G}G}G}G}G}G}G}GF}G}G}G}G}G}G}G}G}G}G}G}GcѵF>>"">6L)DGlmr$C:@|DQgDx#}+uVB#>4"=_-2XPb1kj/=vKOEBl>Bb!{u-:a#0|!e1ȣȍ*C)1!k%c +bҴ h눋p+9iLvuH(Uw KLͤLy* XJ,KqZe=%jP8H菮6(qB7*.l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳmmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm/i RpЈhDDDDDDDDDDDDDDDDDDDDDDDDCGIؑG0Jr1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1lS"""""""""""""""""""""""""""""""""""""""""""""""" 4}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}rr1\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|1вrO hDDF#hB7FioXK#T}:UDDDlWFD}:B#J:# ID}GUE-X9b;6a!1AfeTB[ )m];iTrNI {G @UӜTq a=YG&9c6FL Ph0OAG08X""-Zo"4D7E`-/QW[@\H'y6tGғ19\ ǟYN!YD#UADD01 +>8OT.J#AwWk@* +f3s0f qk9FAڲ !a^SFmM">0h=GqAB>"1B#Nʠ4Rtv۹ +%ʜ6s#%lduVlr80<ԑ:&]&H:ꎍ@|6.9رuG>B9!%fQ h 1DjGYHHG!G>Gx0a /e3#ԯ/!]+VDDDDDDDDD 0Gjx␯N)q<\pl6:]ީy!߶UtMf\wn#48T,rPHrQ.-/j%T}GTuGr6f !`rP^ GT}WXKv ħ0[!q%4$hDEb6 G* \r1$9 $F>J a֛DDRx8mu;jSApN 8'.˲/ )ܸ.{'d%Nqd>4 hl6`V Јϣ>ꏢGT}GTuGUB$CE69acb\qhv|DDDDDDDDDDDDGqm""}qlh64>uޕ|?2@GE";3@MYPAũsjA|beQ"*"1cQ$ q +|{ %mkZH(3E[6n}^Bʰ#gDCc D~aL.>0ha@O:/7qo}B#pr(o Ib#Adr1Al0Ps䉏ď1PhDm "Ŏ,F8LlG|X:ƃ|LG-9'$$ #Ɵ"G a4 <By4#t}Ka. ' њDc!YЈ.\h8Ɓ&Є1q/Qd n+MZa&AƈQ/́H5yPDxԐ":.HvmH莃 :c>#AѢ<#Q|P7K]2$3lͳl҅Sa9r9-DCYJ#x"8Ɏ!>a (H(8SM|:eHkEA@ɨA1 c)9cF=iA0Dρaa`RLցH56 `UDDDCB>Z؈,}D}G}}DuG}WDDDqDDG5K}K}K}K}K}K}K 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 6f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0=DDDDDDDDDDDDDDDDDDDDDDDGev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]dcev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]xB"""""""""""""""""""""""!6k66okL)GJ!񮍢 +G }Q !YEB'| DcɎ$c_B,V~z6&G|PB[ /0O %6WEJZ|Ɠ&961bF;<"FPDƸaݒ;8^dqnj1C7pa8|moMH-0>Evc#[VFbšz^&,\,E$;": Rj K)D՘FiS!6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl68j a"!!U 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8`?J1bF8ĂD3,h2jW)CDXA#Di~~~~A 3)}]-/E{hA*]r"%!H#D)DmUT}/DNDOb#Z#HꏣJbDL:gTMS4>׊bN$_:n#dqOp!\^N'=Da]21A9h'nP~4})Ω*%ʎQDD4 ͬl'<(*J\vˡprr4?[({n6I Pne᜖ne%+>r9E?  a:-0EZ䤋-Hئt`DDFC!} =$}BDhs ("dtymzT䂃W +P HAa4 ;D3GOY{ͣqf(~CGQ:,H287'6G.\Z\OGXj D[b">cBC >ERJ,.9"v^IGqB" %q j,@VA sL,~y D)}i=5^#f@ {xĢ(B$c_B!! V"q JLo K~XX)dp/z~6քC$,ApH{'ܔrqã +:*&l09(OGͯ6y!1p $,qĎG@l:UB"Cd쩔##{ғrqDAFqDcXRli"8gDա$8)Φ">PB$PF#GB#>ꏣꏣ:ꏣ>ꎑ٘0H(rP^xxC({ǭV10AhGi/Бu_{BQnU2x4؈K8'DrC!8V`rz6ͳf\r?,p0J#ꏣ?:/6)cLr7G}G}GGgr90f !ӑF9P9 J ٰiϢ4")؞M1؃#bj3,Ah4 A00.28@ !hDDDDD2v0DDDDXM*ұa*;C x6AlԤV:t +Al;HġZy>AܘӚה/ΌA9$9<F9`rNJ 8'a >8 B#pNpN Z1(2.˲.˲A˳a g hDDDGi;]ƈX"qV!k$?P\?y7ǣ3]VGE?6J!>>>>B!>>E_I[D|2AWH~b"""""""""""#"$u=K"$P-njw6uU%[z$(F##*XHwFJHx qbJ +XG%(nΦ'Ǐ[~#}kK}tCN}VtNyY:SK6>ΉV!!R|AzեKD4!E}ކ: +T4G#uP身q"B 6Gם:768)vaqd\ ھ񨈽['UG +c0v` Q HuLQŞIYFZ,}]lPAZX IU.U']@)r Ϫ6Hr #H6S͇#:dw!^ya⿌rclGw)=ă6 !!C !8F*jn1;| )G(B:e" ""8{-BV}GT}J|DDq5K}K}K}K}K}K}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}GC""""""""""""""""""""""""""""""""""""""""""""""""#{>>>>>>>>>>>>>>>>>>>>>>>>>B""""""""""""""""""""""""""""""""""""""""""""""""?#ٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٷT"""""""""""""""""""""""""""""""""""""""""""""""""#fpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%e8'pN 8'pN 8'pN 8'pN 8'pN 8'pNDDDDDDDDDDDDDDDDDDDDDDDDFYN>>>>>>>>>>>>>>>>>>>>>>>>""""""""""""""""""""""""66ok66GGUDDyi!]KMPDehDg"|x1VpKXq:FYd"B"?n8/_FGIߍ~G⁈?zz6!F#lC}y(^Zj? +Fi Ү;GbYiri1p A#b"۠w_$9 +V##b1xhA mO!cYC6ͳaE4&Q@"wE)W`ۆv /Lꡂ :c1w rțroɐqK2,Yff 3`0f 3`0f 3`0f 3`0f 3`0f 3`0`3`0f 3`0f 3`0f 3`0f 3`0f 3`0f ,DDDDDDDDDDDDDDDDDDDDDDDDhDDDDDDDDDDDDDDDDDDDDDDDEXX-˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲w/׽/h!{hӥZ-%_}߿eJʖ/؊ _A{,j/H}TZ=c+HrFk8e4iCK,@Yꏣ!H%;}Q#>R}IqDDlDP6TНX$72r;hGC6jh)#=g#Ie9>'XC ab$R'b#!vDDkwHBES:F5~Zd]TqG!`y.Ph>UFp",rq#n!><.#466mB)bȰN/LlFc azlF"DXB$q: x*l6'Mt fs*G2Dˌ +#"A9!UG3: "::T2Sʎ+,G*>hb""njTTUЋ-Y!2ŋyE|HPT.CE 4-ɐM~EٶmfU*0 5٩r$pN 8$$FA^W!`D4#-}Q}uG !!XG!!bG~*Ga +Ƙ]OWk xo*-xi +01!]ITlM}^{> #>s<NP>甇t!pN͛!t}Gdhr ""#4f>h;AA:lchE)1Шh0DD{-_~""B"1"-&Rmf\1]U'ex_-lˁ.g}A<@r INtR9cVA^y"H8>GGT}GD":# @Љ/ #1cG ?""""""'֙mB""A\rVnDvVLk`ȑ(Va#*gٗ2s >[I*mR6ͳf`.28 3lzr9YG"}gD4}&yPꏣ>dq^tJGD"hDD\Dr1k@r1 r1<vl? :>0"!"b=FfDDDDDGfwyZÍFT#bGC ܓ4:TJfmfafYv]ev]exl7yMW16#>wgӞP$># + Ea8&WP>92cF: Ah4hG>> l61A1DJǑ##7T7X J=/b#ňB pAX>=BLx"YuDɎaX b Am,cc Q=?ڰFn#j6hz!#r1yKMM$m.N15҂);:##'abP=0aqz6>""tq]"*I~?zuo%u{K":lCw՜_GUGRc""x_"č[0 +**82r^֞?Dt.#z>EEvH _4G}~GGU80@-N}Hf8>>"#8E1*#']1#DrNI8KTWߺXRR"!gFHR<6M!gE:h5qG0 cB#YA~SݤGfٷ~f0dq~*BFS}XGmG">ţDC#:@rG}qĄB}X!dq*Lj)cF"#Ċ䜓rC.4ZB"N wI x.˿Dni52 a<dcU(r1( + fRxl6#i4˳ak1HXqB$C(0 P'zLW^=4 0FHni&4tf 3͢G9!Gj' 09cΩyGbЈDG#:ajD8B1DG"DDg""?{_{_{_{_{_{_8>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGwmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm~"""""""""""""""""""""""""""""""""""""""""""""""""*pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'"""""""""""""""""""""""""""""""""""""""""""""""""?\".C 5-zIм_9 :k_KNW#@a&|0 ` /@0ON<#ƈURn[*M`oץ \o￿KJm- ( +endstream +endobj +40 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕjr\C| +endstream +endobj +41 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +42 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 24193/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?i$TAiYC^{(`֕7"=HVl um-Wk׷7/`UIkp_'Mp6BzZ?/ׅ_+]/K/N YHhҴqi7K_֖B_mqKK֒AV___㥷 H0KWkI+I +^Wי-}jP{ZI^Ϋo,$֞:/nzD"[]a&M~z^]BC%?/]$ax/%Kfn%io%KJi/H0RZOOT#I$װvC] ; %-LiA$ÆJ4 ,00@@? $qHBM@!o@ Ef`0f 3`0f 3`0f #hDDDDDDDDDDEe4 ijRmfٶmfٶmfٶmfٶmfٶl4B! ЈW1AK,ϩf+\ՇI.4UF-!Är3H#>Cpn+&.?I4r%I>B>4T#B"0oɺMm0#l*>c +bt[a*nC0};ÈE +X2nJ q"-b6Kw>0LP-H'GFG r1op[}]9B#Qؒ|oeoUYcϣ΍5Q b-Wb]{ͭ Ny{{#-7_ތfސB$ѴFZcҌ{p]$9;'Ψ>CB#J}X)鶮R\#k 8cYuG WRpW;Ď<":.E1VWp/s6=UïVz8T_O W^Jl;$߭DJ8cءZM"]j.CAMKWLBHF#Hx! Zkdx"":Lp\[aiW)m5V6FB'3Y}(s툲,DCձomi[#c6[Xal IGձHF05+ʒ^Q )؈"h0Aaϣ! DȔ8 v]ev]ev]r.˲.˲.YXHraDC.˲.˲.˲.˲.˲.˲!"""""#nYhl":B} !K%."'T}ye:GE{pk 6Ͳ <$8f" hq6E'%Gq qc\@Xcߎ b* ,.˵/F:_,y F,AG}_,y6 +D#"4A."F}9|Dx"3YAlf#i3`+8G?L8 aG;""'ψU~d$^ (e|:#8":$:82IGaYY#!'m1;cb8ЈBA!ݨz 2>m~Y&KS,t6>h"0:>>`܎29\xTQC!xIQkDDDjzq*>'#ꏣ::3(b,c(ud"=c DDDDPfX0zB"iRs=g!`uC.ͣ#GY! Dt]G#"!F80EFg$<Qz6e\aYB#c(C}hW2$BDl""#<x0N׋f p͇pktE#ٗ>MѹtuV~@xl6fa˫< GT}}G0Dp<0\Ǒ|2p$lDD1#01`rNa ÇJ!n7^DDDDDTA(q9;-- sGGՑ>># r #i DiQ@|t +"!t##$8 J'fp!waYE}D/j*+V!AH&䍂Dy6 +YAԎϠ[Ҡ|I{,pD ZqK ۏfYA!V$ꇋҨ~NoD+8?ͤP9YśH=6OByT!,q#AHlx#{#GCR +;mDRx{IUxIoɰRΩ]@:Cp5Fg]UmuNG\qxC*"68:hVfGDDDx' 1b a}BI0SG`v˯!l8:6gY8\ $H'_ǏI9'$cV,5ғS +CVm618)+TCYDO48C0EG?& +,#|*ggggggG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq/EYfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳlۡDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG|pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'(rnG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G՟G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDaj>4DuG`q ǡ!L7l0&G@Dc$>n lX#'~B":0A.m"CnA!xATX Q < +9CPCb-_=ܱX~׳N,4}1<}PDu.:Zvq~(tE|0ҮZ@E\Y1b,Ц<1[a ReF;<8##I /-P$F2U +}.}/TI{:(FHЄ?[i%>>j *= NP>#hTB.(X\>><qmc캐P?N1?[]`W@˄"눈"#H|QtGL,uXc}Z[Q_WZ~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}4qG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqɽ#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9lr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G3ܛ(>z=D~Zt^}/I_/ygסxJ|_I^aU|F֖ }z_ "c*X/0 +CYB#A|DBdsTKYB$CLW|aB"PB:D":>,Hq=#C\Yc U3P6Zr;˥"A:s>ϫFp"?o$G,"8c>&H" QGz6 xD1z2\q"F9!.Hh5-;&Pkrl ,ԹCi3ͮ#$}Gf`n9 J:#8v]hOa? +hD}Qz93`˂c'rvnh} 6  `CD\DH!=/G =zZ X.ôtqW ($3Cr)>Ay]Y!! rPN ay^WyA +f>#ЏGL&. l8[%x""""#~ߪߓ` 8hDh62?bF?01|hp}b$_+בB9 ";soC  DDj6+OWu *ɰR|{yuY}HHrB;`0K-:q!~l3cƖp_q[$9Y3YPhNPCϣꏣˈ{PB".""'ЈDDG _ _ _ _ _ _ϣ>>>>>>>>>>>>>>>:>>>>>>>>>>>>>>>."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""CǏK#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9VypDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP-8F9c$c}=,-\T}9}H6*qkp mF uG瓞Bm@DB.7~8%uCʌ#>":.XXIa[l5Kͩ1ј6$<hc\T.a(>Zq99 .,XQdžDs#8--U8ĄABb j@:av#H\S_jX"DPW+B=ZHDB$. CgT BH(iKHrg=mK"!0@ŞG~8mGԐ +CB1gHFjZKlsp4CB,2 f> ,ܨY?00<-CD}}GB#>!B"""#kVQ * \bԛ..H .;_0k G-WE_-/g޷eXA8F[/y,tGGסGzwe +A;ZXKtGGB +7 eGq|vaCK,}AGס,w)ʐ6X:gQD>#!#Dl#;FҌz+/% utSh 9e VmN<C1C՞E͢^S!/V) q dXHBCH;(ItLG,A`Sϭr!dPDtPaG_EGr7 C@0Cձ 5lmKUVjV>Yрo"93JY@kGyOGA%G,Z_tDx"J^Y4 U~dfrlC)d5˳a(+>qu3aGT}QHlh3#UهCش,Ä#E"}vCb %Z +sHqpHk}9pYP]rq>&"EC"Ywsʰ@񈸈ГHBAAm&^+I KnЪtU3^CGטG,~mW ⼤ꏢܡG}G9 JD" H!B# !| r0u #a4^qm}d` TDŽP"ͣGHGd4A|qKC(xPkA4*D|DGdhk!KqSIT*z̸*8OԐJ^9,y}Qv#H>D}G}f /Ob}4(!4)X""""#G¸V\ep,3CItۯ2F̸3cqȣF<><1'GaA\:F"A@cx/>"#346 |HJ} +8hDD;4ɰT`2pEO=fٳ.rB> (vC`pi4" xC4g#""F8ir nDG݂eϽF DF#)<J ;L 6^Hy\cqICf a""'TuG}Q}Qu\l8 .$tCQ6<DB ]Ba5☎" 7BO @tǢ:y!49p0b +%D!|~`pLAt8g(CeB$mY}+$}Y}GUgϠ)`2a|Kyza|Kyza|Kyza|Kyza|Kyza|Kyz}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}A:6vmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4,E ˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲!.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˼DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD͈zzzz!G}Di DIBO!L$p HvcyUb}7C#bzI#KRcA28m ﴛptX Q ?86z^k#__wN%>(xǦBo_d PDtb_l5K#cՈ~*#E_ %jg(y "Y1b,|1^w-]S,r1ħ#HcnuL&D1UG]_q +"F(I&=!컛wt>$ 3$8uA9G~%D/me.B#j}qRD$"?X"}"1F(X\><~뼘.W1鈡i% )HG{;rхeeЈ#E!}GXPb"""$) X{躷tyP _:~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}f}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE93ybZ'~S +~ϭS%b?Z<5zE:0;b#IoC"E)K: ]k<~WෂE:0(>&:c_dUK(_*>#ꏣ>DBg3-3!}Fe}Iq LBH 80=- pAC0f @>t{<<XV`mgepeeTlڸ1h[k#S`TKQ}Q}w\ec=rk`D`}UdBAFdG}aÅcxΩEEDv؈9|e-PBW]( 8}e|qC$LrPMLr +M5Y}yY5GBF9}o!łWq;FN8B>+Q$"#"0DCP'ѫ7n""6""""}!$>H}gP bTޕk?DmdJl4{\õCRs#Jͭ\>#1g(xˤLt#2Cq:&8"<`DA^8fSG IkShm2x4c%מI%;:3aYł)dxr9F3\!r1(pCNm+8CDDDZ#Haٸ!zXbB")vDi,үP͇6# x3J SbP|qcͥ6!6Lr + 8'6B#>$?X3Q["}gПGT}D WN?3DDDvuZ߿_rquy})}.E"8yCr'x@z*hoCF":bG-Ꝼ G[oϣ8ou98S HÈ6Eqo"""1dH z Oƈ>DFj$[M?lu u$8r cd$\ðE:0A XPŠ˲.˲v]c""""#M]pedWeyAEyZHV}V菣5[#HD\DDDZ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF^DpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'O,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF>~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGғs>>>>>>>>>>>>>>>>G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG }QBO1D#dh02nI9#pia `E3h 0ˢ1#Q!=-^HryFE$:6ĭhI ^v]'iXv7Ht$uG}x:GЋ]kXc_'#u&>a8]v߮G}qd*R|=:Pdqa>H?nbF8bHQ {"oqIn#qcňh!n6-Q]"Gqqb JvX!ō1OK$qfoCWW,tcQQT]O yj.?P >膏F?M21^P0c ""HpFr1#qI#y!#DDؤaf\0)c 0c˲,UDDDDD}<-EB#B> lPZ*\V,o6I#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""""""""""""""""""""""""""""""}hdr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G Gtb9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#B""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""B5@f7"?(~_[ߗ\|}*JMye2IQVNCtI/,"qO[ |"cE~^YE _Hj 唠y_Z@Ro&H&":"B"e}0ЈĄGT""""#DzalKe ,Eaw!yC"hӘD>GȄB#`}G}Ϥ(/"} a|BZ0bG9\0*"-ƒ}LoY`3ɿ,f}GT&90=]fH8cv^L WBꏣ!"")#pB,q/B*h1V"r1!~qhDAlI+ ePɝx6mfoS #lg(v}YggT}wA! Po ,3l6Ŕؤ1ZZE@f{Q!-e8fI.AXw0 +K+ɎCmQ'8JGGUGUr>>&ʴEq!=A?6n6A >DD1|CA#b!cPАa\!BI蔵#%zv]`jI/Pꏩ<#qDC vTPk8k -‘QB#pvyGq'2컆]|D QlmvVDq1Dj.Gn]PMj{Ubl5|pN 8GT}GuGm9DFm]L#ȅGxEJLy}PGnh0BC7>84q>qa5.f f uHfB"7cZCŵ Xi",^|R @GcTHɿ.N 8'tuY(wvq$]y 3Vy21!qO}thfgqY>>ѰnG>RLjB}$>##"GDDmDB?:ӈ #9CqؐP; Qb#p"ՠk"""7q8c1J#^S!,B!z#$z6enaɿ/8Pz}ה#>VM9 C Y!B#:ln;pA84GX""#> U&{L6f ˌB$AD|2\ros6ͳlAbDx PZodP;HFk8"=ٵP#R6;>s>dc 8/ !}GW~Z_"1F(DTq;.˳`@X(Ln퍊f5)&[UTB~^җGѴgY"F;ɏӎA+D}vmxČb"7]Qs@^\R\)y$m$y>#WYz]Pj"k "I" US7㳪A}gaQ!L!Y}ZdttRCͣٶm` Qq#^WFEk?,Dl{vX_pKo<Xco:y0f !1 Y!N}gUC:.x"1DF#uAO$E9\q#^G$%H`e"'ߗ(v\Ѵ}"1Ԇ¿K>5c E2pN 7v"A م1C .4x]`Q߷D\l6y4c>>ɔ:8h:qMDDDDDDDDGhqLD{B"- +\G~_[ߗV7տ~M|o_~_[ߗV7վn9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#x^MG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}g}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GCGE}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Q\EuZ#%"lDNGH%_A0TAr]r% yLr1fօc-}4|y"CBDADcĕVF9b?@bLy&8"=$<>1B!8#Pq0ByCɒs +.~M<{Wl'ͣe+LÐP-O!,Hbdv=p0 t!GgH:"Z1@|6tt"l&>ZkL#WlA1WH']K6GZkɎΪ!GU(ADqk-t]p#XE|-_^}I(F"LB`^ afٶ hd 9Ql\bm|E'\>R3G7 qTQ#`c+P]e`D9x(^A>ꎨ.d㵫F{ǞV(ujMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmjMϛfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٳ0Ďͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl7b"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#Փ.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲. Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""?.mt}~R:KEXzM@Z}_GnږUT}.t.P{C}-"Z)jBqAR}W>YJYE +Gaw:ꎨ&"hR!Lp"8"""8A +Ad;!*E!&VHyOeXcԎ.}&##r<3G}Ye 2 @ SLЈ2)v"#1#c#!Gwk$SP2jqIA8Rd">!`v>G#^H\b1"!qZ<*284C_*نm$> +zFBw,Hl +#tmxđ}PR:#0aҲ #ra08".84&(hqE2AnHdd C߯XwwȬ3v[,>Z!SA!5P>H(B gZruGH#-#,AAq1q⸨"DDDH2dDkIkdͤK.u4ycAͥ0"GJGVB"mH`r >ǥMd"qЮ.CC65A rn>u)V[ވD[޽l\?UdwbKr*J HG E<ϫ<-Dgҙ*}Gz6 +EE{G#Gi8oH4KJ/m@n1)o`nmWKn?_+[(Dt]Gӝsʶ.CC#CE;If(a•G` !'`Ehh4͵*!x:,+F1&8#2 +GUh0B"$!DDGnN 9(kKx +:8.DDV']23`x9{-Ɣr14F8DtS'EAGF:LH!HaG}G09릙''s 6. cnJ˵hb#GA  a4XB#GlEUo␎"ŗ"\2X4_!,eYA6qI\ȅ"LͬPD|G 9#!'ꎫ'[>!v,xB"%CPH(M2vg ++cE3tj7*l+rp]ea(jHDVuHSh4.B';#K:! c")V"cQ\2whsq؏Qq C_HM9.EۃJ )34ÏB"/o";0y14G0!,q+GmT#6hNXGvP жд6,Ŷ'$9f 1B!#A+^ɏX bqLw3$ +ء \j5炄2*r>!G}#3Gmf"9a6qIuq:#q@HYcX5"Abf1)0]_:oAʲnS@9ޅC{L3q2q`PWc8uc8QxbF:""${RP&H"iL@P=?6Ԍr#tGTHW} > WqO>D3D铲.ˏ`ޗ]}~ޗ]}~ޗ]}~|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4WpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%ȺxːΣB>O&ߜZվ.m.I}]4I EpaEz\ M ]H@K/ }8cDBuZ<^[K/}/čOǂ +endstream +endobj +43 0 obj <>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕjr\C} +endstream +endobj +44 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +45 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 27803/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?I&Ҥ@: Mtߥf&3~Co$-pD{".?^,im}'V?]oWo_8%5o?$1ׯ?*/͖l-&]{I$Zli?PAai!73Z_> $ qZ8ztk-,k㎗+6omW /㤵U+I +^Wי_Q@^^vK RO֞:/nyh/K 0k ")z%Cx~JKꖕ/B#aҤ/E&zi$vKM[36H6I rhXaafaA!&  O` Yh8f 3`0f 3`0f 3aG"""""""""""( D]a0a FԳJ1% 4 +%ߣ<dv0b {=gq=g{=""""""""""$Fڡf x(#}D2l6 a/ al6 DDDDDq_r&ܴɮ?MQGuGDDDo%m-2k+ +8dT'AUDm,tatXc +>C#8,ɮ#9.4#s#ht/ց^=8vCL,@G+_vyD"хرcvMpȪD@2>UC#*087؆ r&D>8Lb 6}'ó.xzcoo|ɬRcE7?ZLLqQưUGɭ0E#RMFyC>`Pԗr d+-2&*Xvuqy(>iEDW bF;faF1eՎث\?Pu@4}G}G}G}G}G}G}G}G}G}G}G}G}G}G#>>>>>>>>>>>>>>%y{=g{=g{=g{=g{=g{=g{=gg{=g{=g{=g{=g{=g{=g{=g@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 r;L +YL-NYD|꛸T-0kn㥭/] -0kJ] å-LTj;ז5!֟;VVdDPRȖDux/+ꏢ}uD)G4GWlN"#2 8L&":Z-1 d +c焇֍3 /AWDr98Y,vB#<6>r9G#B#(v}Y},H_001Cf 06" Ň"bDoÈzw[Rj!30jf8'g>6R(r$''4CF?A$8jdhPaS? hA kh1Lp51cDmDp"EK<K]ZND3CLɯ,fD|-Ω9F0DtE9CDt]d4GG8M2nJ2qN nWMf9!B} "!"@MWA% na  J(y8ytGaQ}G)F"H<CYZG!ȎW>#EMp}_9rHhDGEYzF#9b:F8B:?.7&B%Dy$8oAHAY 3ҋK8!(wg3YvQ})Ts 3Q GF\>D0$=n)p"D4spE\Լ>> >uJ"c&l [ɱd` 1GY^gZy}n-5,r1pA!R$$">>ꎨ:ѳH X%5#bbpN 8"""""} ЈVV%JB=l!K$߭FٶlyȮR-2C#8ͬQ>q}9})CI\)Dk90 }GT}_vGP㊷89\DaDDu؈+Zջݿԣx LwK6ّ{>d Wen:+=f̸aҔ;8iQAcAZtm[Au~cF<>yǞABG#ꎨz9G#f`! F9(/ Х}n,dHcXxk]xM33m4 A aa$08F0">[K)*S Y%lPH*{]JC$J EJq`}2F >8wP $c,/D}9}^CGuFFA!kA\r1A8'a h>ꎨG~GlEFČq 4>]JGq˲.fal@ ֱ5qE"UpB""""""#]A VJѣCvPk3UOJPc:/aIORcM_<"4Gc8HX)9Ŵ"q2b4ew^17HC'hmQ_N4vkT 'v\Per@8p9ݚ*8A"Ǻ(s h2Ljhgwbz2k" [a@b1)8ZmtA6?u +=+k8s>t}Ny>GI@a"o<<P6mm#RTqLDTQ1xBDZB}P88q7 D!)L;SUH. @>a0V܆c"?3Gtf):"sAͣ<*4GwNWQ|X!Ub!;'bhA +B" +ͤ# w( cc1#b0"ڇЂ57VPG#9G*<%e&:#nDtr +GgDAv"-""X PиRD[C+pC4Gh B""#(34~GTB#GFGuG}GT}V}GT}GQ!븈DDDDDDDD}]5}~{i]]5}~{i]]5}~Av!#r9G#r9G#r9G#r9G#r9G#r9G#r9G#lr9G#r9G#r9G#r9G#r9G#r9G#r9G#؈˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲1˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˰PЈ4"""""""""""""""""""""""""""""yFD>>>>>>>>>>>>>><>>>>>>>>>>>>>>"""""""""""""""""""""""""""">ܴɮ?-2kr,G}}u\qMe +3ȁ28C fa& D#43_B!:[:Ca\!E)=Me1N &8B@;!ڎc-¾gA EM~GGuUt=+ q v!UTɬԘ슣k! hy5<ҮŜL9iHv"0.!A qT-+[tҖ5"D_ҥSΈ^>*"E FF?h@q$iIGi"P7M]SE-2! q+ի#ZQ:,#{"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}G>t"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'aq?E>>>>>>>>>>>>>>>>>>>>>>>>>>>>>˪"""""""""""""""""""""""""""""""""""""""""""""""""""""""""8ToL۸kKH.ql>>-0ktz\+- ]l>>zFqqTvh[^[[K$"GeJq)ADђL̃dB>G#!3y}Y!}G}Y}G}}h3%ySg% 'i !7$PDDqΩ! *it1Z*}EQ7OtI +CI/@XGFZ#G3w45qڏAA\q[cD>(lXqBB!׊MXa\C|~}) +䜓z#OOw^THP8 a@DF`DwꏣS$]SG8}GG4tPش8IZTlc#k&9+ : +#H>Wt^nIbfePN &hR +K[Azɺ6#h:>$4y:"cY +Gϣp9J,z>#XHA3lG:/VrdxA0B-A i TqSJ"""1'EQ +bm'KBDh̡VS6J yZ+EE$ pLr8JD+#60C,ڎ 鑎D3S"GmgAIuG# ,! 1#r1 B8,p@7 ~N8*!FDc!$DDv8(qb"8BؤxJɹ ܍~pmw$Z-v5BA5ɸ(es5@]eϣ>"6aN,a k8ShH#@􋙀r;>!8G٢ɾ0lЯ)]1!B"#88h4GG|OЋ⁄$䞝=F#"c-RW d fH3 J[ɏ +1h*&m,>#}H##iyHrO>m(sL"~q[#hAf֑]aGGT}GuGBF9}oqdlrcj 6ͱ~ EN"GBХqLDDDDDO0D8XDX`q"a&:ZBqV`*n:^۶ +`lyٚϤcMd#JA@*16(z:#H":@mxH#>Zeu}GTuF "4//EhD\LLEc,@PC1#gA"$0: =HDFBbW+f-dpg6}PAP]GWJWG.iH >+I{S +>(pD|`#izF#6h;GT}G}G٘3y9ܘHTEZ] `ib}E&  +"9v a0DHJ>zZ@()3DD&5dpN '#DDDDDwcVۿDDDDDHd +;4;3G)OHI*hIVtGԊ9䜓1D5NH mzDvA8GVfZ!!kA\r #A@cpN a hDD}Q\F، ׎LCB, `alHPN9%'"CG#r1## ]0DDDDDuoJVz]Xca\5؊BrMR{6Ͱ@ͳl@%zZNJ4ǐP<qr;#?a(0@7Vpc RM-gqCێ6R #28.;LR6A[!9fӐhFr9G}|GG[Rc>@jR>gTvh}b"8HDx]7SaXɎWz_- {=3IB[LꮈHi*:6h>„ 'P:!3$9ǟT]p[\GDqqv(qE##kxxBoWKI=< )YG@r96}/"k#tH@<3L#]O@ ׎x  iC qJՃ#>APR (d0Z\ G¦XR:dn瓃!M8'Zdr CGEGGn]*hU"7c٠)DhbPcN6 bDopCt)Ea0Gѩ4B##J_a}G<"Esl+SZ>wE!DDDDDhDE!B""#a w_AvZ`qa w_AvZ`qa w_ETMd6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6 6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳm"""""""""""""""""""""""""""""""""""""""""""""""""""""""""=K!xr9G#r9G#r9G#r9G#r9G#r9G#r9G#ᘎG#r9G#r9G#r9G#r9G#r9G#r9G#r9GDDDDDDDDDDDDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDa"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDG5Mq.Ze>:4n;5>4z"L!-2Ar4rHIHvqq Aln {D>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDm^Y>>>>>>>>>>>>>>>>>>>>>>>>>>>>咰9]s9v]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]~""""""""""""""""""""""""""""""""""""""""""""""""""""""""" yG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GYuWH_wiX"WqK5߮_aioK5֗H|}53:#-"h -D8u1ޗ&hX"c>WGxdh^w+$g|]<6RVq&y}&}&m~y> ݜ@>8ETYLvB8$"QT62B""8,RP{ +Aw]wA6ԨW ^|8ȃPD|6tcn AE##E@ƄrLrqꝳ +#l"lpN :ڑ7#{ B>EhK\x%ͪ\Z.DEAC B]\Zj +.#!_{ mQQ!&! ~ZUU#e +)$t}SH%>D}`1Y DPq D80gu8'62C#!t;"$$y0[,0ld.7$ 6Z]LũG}Yg}GM >A#,G 8D"ЊDGDDlLx2COB#ZQq~PcɸftO WUl0CF?Dd`3ipDtY"9R :#0";Hhꏪ@!q>a)s0f]# +HGȷ:>H##xP+cB#QB"M!1>0qB#d CI9',lrNIҍw{Rl]D\DCkBpN ƽpRm0+E_>(}GT1Q`r1}Rc1ѵ0 :$gGG}Ga`fđ0 "!G(DGA ! DGHRB[Q9'LJq#qR8tkDD7~_-6et MrRG3D6D}HtEDxQO|r8) q7YV +G}}Qg93p4}lumjšaP)J;00 1t1ϫ8Ͱ""AY0DxJ!-$!]^FH UyٗGi,J/AZA1k}6ͳl6ͳl٘3\9#5]QNn*U d">,+G +I (lA 'ek1L#I 909 qA8/ >Gq_hEbDž>\X4: x39('eٸ+iRIX>*,@(x21 +_[,l6)M*6 G^mIG*ȃ0f " fpN 0f <{:곈"Gc750pƄDDTDDDXc3B}yc؈qO$f*`wd@7!!FhHpv1`ypiE<Ӣ#NGayGT}G}Gq],twvWx)>+y^]y@č$UˁAt +DDDDGN,$DPX""#b"B2c2.˷9z"5Ɛ=,,6)yTal#Cwk H+g(p˘;C0ϡ;HqB õ@+{'MWa'D}'#}t6EGjkEYqg488L0  ğ0Bf(ALXt gp` R\#r.;30>a0" G$0ra2 C]1,E>ŌCF>P1hbt)hFK5a0L!zܰ%.˲.˲Dh5' E`D &B"" .FB!OCCDB""""?AvZ`qa w_AvZ`qa w_AvZ`q w r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9x`y˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˱(r.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲ DDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDD|G}G}G}G}G}G}G}G}G}G}G}G}G}G}Y}G}G}G}G}G}G}G}G}G}G}G}G}G}G]q\tZe7GTy/\a,D! HAdh8~ 9; JH8XH;kDdd5t0Rp.) lnРA:6ꏣcC""0D~((CzYXNq(rFXkWL 0_HwBv,&a t<>1FhJ aW_ Gca|1{hZ zM:a!,y\KMLE ḯkA <ˎ"eB H. +ӹ||dt0cF?ƁRl1IR3E>j.6"iQu0JBZ`iK$:3F8#S^8dtGh!8䰡tac PƆ,rXiTZeQQXQqDGja{\mZ5G\}d0&r9G#r9G#r9G#r9G#r9G#r9G#r9G#$G#r9G#r9G#r9G#r9G#r9G#r9G#r9C,4pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8''pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'ˢЈeOZj*i?:ڣk88Sڣkk/vzie㯌WeKV," {AwY _K+EqDw#>>R%>#3D";uGTB"4Ȱ<#B"""""")C D G`pvde&v'&|vA2NB"G#%JDNDi[,t}vb"*Dt)8t!Ep44_J})GdqG44]V"G.eY('C~tG՗ϧ<"?'y0ͳHrDqFdMb0">9b-=Ǒ1b#=x E[-4^9!ȣ HF9cF HH h]tE>gA `\X䰻6L":s= 4}%P>pЏٯhRob &F&զ{x/WOAiEX% $9cjgGΩMg#GGGTfu]F7 +G}WaPdžB 0 +6h4h3pCH="8x""! G"-e؈B?ʈV",DW|*A^BvY03pF: Dt]IA1YpA"%$9 q:L!܌y#W8rn + C0 OPL\q#68g F>ڠB#wV. !D[.1MgT ,'^b6-Pty)}gUVz +qh4G}[H@y_TmQ6G@MD^8_X>9#"9u☈#t#;H 461(wTqfC7 c=s0ٮKVl٘5J!eh/|CYNXc!RtqG}AD"d<"B2I.術oG}f0~cؑ!b,/ɤPh4  c$r !$: !fc b"";lZ}a"mX*BIun|'gV# _-̑V.KwGmMϥ6>w#Ge +ju[y!)(v$uѴx9}G}G4DB"}! 9+4XC-~qdnI) +1""""""$kA ! 0<oj6#Sn!˃9Zu͑wg3X&WGf\# z E9C>"9!x"pF9!!hd@Ԑ"GT}q'Sb|8# !0@8h0 ~؈IC<'BDF1E?0mh=iTQrp35\6 lGOL< !NqSƬEqtDGGB\D0@B3A8'N%}5TD\Dw}7v $#P4ꔎ͠E;0uGԓ5T.CD"}CXЍ`Ј8#툈>ꍪb"""""8<|w&;>>4?B"""#Vڦժ6?jiZjc}Vڦգ 0ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#l6 al6 al6 al6 al6 al6 al6 al5al6 al6 al6 al6 al6 al6 al6 DDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDu]q\i#>>ZjZbsy^ ك0fhEu.LiIF8rC E +$XPH|AtnIi!#`">GU-1EUin!wWR"8!':."3Dlzz +$l|ge10Ј(ISEPͣ2v[8(|00~DR>رb"\1o]2Ǵm?Wm0Dt^8RƑ:㈨yiTOrPΉ+<<.N :3ma(3Ժ (D !#"O 5ٜrEd S!..[ uDDDDF(p#rN/_`妝qkVqq"EydG}G}G}G}G}G}G}G}G}G}G}G}G}G}&}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDC"""""""""""""""""""""""""""">\r9G#r9G#r9G#r9G#r9G#r9G#r9G#rG#r9G#r9G#r9G#r9G#r9G#r9G#r9G,DDDDDDDDDDDDDDDDDDDDDDDDDDDDC0DDDDDDDDDDDDDDDDDDDDDDDDDDDG˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲Z Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 IS +Y+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlFM1oezTm)M1%jbiwKAmQT/岪z~vB"hPGsD"#HB%;>R+ꎨUFdXA>""""'T#b)\Dz` GA#ȨGaGYG~g~DRPDGPB f0ďZ:U%Xq2 +]`I#U%bG&#|,3ZtqG#Kjq(yу0ggt}QG}GՑ,>C G#,I#6"tPC1x4 N(Tqb:c=hOȹ!;kCK"":Ot!Y E".6HrN1۪>.63F]R@qfF5#Y(H싮X䜓4H'C,"n Gď!XqQ*CXDXJp)IYIzI/Wl}+V I\?ҕ4#O$z!& di*7Z>FGԜ~P#nW "}QQ䁑0eȗH EC k$,NP(vC8,?HӱlD00Ʃ{`IŦ?C.)hWQxBڥt.5z63 fmô"`PP% a/YLtH'tK$)@qGr%F +y  DqtuG*$. AH(vA>>#Y9]ES!xa 2Yc07b?cҍ '  [yd~1iK9=1-K r܌uY ;BОdr +l6aQ.S0l6 cINq0 B  +[pѢ# :*6DMuG%h+;5Cb}!z6HD6m'b<\Savi$"0(Oa8hcbɸ e~[_{Zm;&⡙ɚd5I#;>ᬔ&GӟG}^mQd"DG}Z*C8Fg#@#RU_<ϣfpk'j"<ߑ.hr1W bՎ9q㈅4Cq\ebZ .;_Y<#'b(-nDHI=nŷW`pHb";ǏɲnΟSh}ZAD4}G=_ +TL>?9Qk/} +R,zj!plG <NG‚ `C9!:0Ae؞M[rCcP;jcG8R}G}GFGn>tfXŶs1A v'VNPBN+i b☨'Р$9 8B#ܛ6ɏBm+B"-II: IPx&"G? }XMC\!dsVԷ(͙pV03UfqYG"oi Cs+QAga!)GD4}G+B!RD}GA\r1< uGU#{xv3hAi=1CЌgu^"8B"" %Ds""9+DD|NҾ"ENB|LVa(B(BD})Vy &B#>KGEϬ1!{=G#q3`!  T]bP x:\DQ*!$  0@ GO4baoDFx]?y!##ɹl&=K8DtuPAAAAB"""""""""""?xW8QBG4#\BDw'b_"Y'./CA'f3l:7t Z9!ߘMPSq&t#8 " y}G 8N^.1 ǏqPDDzGLY1h_r䜓e'$9'_ _签D) " ]yND"(2·$aQ,wN2 jZ}ZҦyBdD5r&菠͆ &LG,Gd+Dco:O>" ?mhtԐmGT}$N*#mPm36GC0f qt:#8ڧ&^?CLR! Qb",t|N1!i†&a8lqId0`t")0mtH`:mI21#0)4%փDc|h4($-D$`EA862ܜqAl=@G' 0V""c(H1bb3,qa{ 68VcqI(80L- @[ ui);+Cڪ8$AIf><187AdcF9cTZD0@AATqP]q~` `VcDDDE o>D}Q>>#I"P#ꏣ>#GBDJA">>"""""""""8Vڦժ6?jiZjc}VڦK>>>>>>>>>>>>>>>>>>>>>>>>>>>>SjY+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSك0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD~Y>>>>>>>>>>>>>>ˣ>>>>>>>>>>>>>>""""""""""""""""""""""""""""#ȝq]q\i#>:4B<-1ty2 G3hPrl.l->Mj]IzAG`qP#F8XB(Jh] tTZ`jHpDtw>#cĺЋ EźtqYQ+iѵoqKn㳈!S<>|[#DeG8]{1x9ś>cM] H_a‡R3ˉi +G!lYcC,x6v>$;!fy4qRc""1 DXk~wԺdgsiZKLjyi񶯿EP(s<6cϣͮ#9'NJq[chuJ}B#u&?cǫ a+I>Hv\žLY!ׄ +#&8Gӡd66"* iZjiL}PduEqdR;e| B"#(kڵkP6M(G}G}G}G}G}G}G}G}G}G}G}G}G}G}Tf>>>>>>>>>>>>>>""""""""""""""""""""""""""""#k%y}G}G}G}G}G}G}G}G}G}G}G}G}G}GӞG}G}G}G}G}G}G}G}G}G}G}G}G}G}G Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4h4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r92!R\""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ?w#>>>>>>>>>>>>>>>>>>>>>>>>>>>>{""""""""""""""""""""""""""""""""""""""""""""""""""""""""#j⦘?]6iA_FeLG^^FT.a~meEFAT1A/&BrJ6TDqSkE5e(I.KVs#0f #R#,>ꎩO#&s"}Tm@8"AA+]qg lSxKNtM7ի ]$8&3PE[%ED<菣ahiX5dAyv2-pBO48b$tmنCM7 MqDTSW!:9DDqi7,'pn+EFE[<!$# !(XEC>6&7VaTd_],DSH;D$#l`?R$;,~#>?uH*6DuDh-(-;,qsD0B a\I_UO{_"1\(~n.nZ |")D~ܗ%E+D(#zz ɾ!!4)uXGHMDk ˲&9tIe rWQoUɽZ#"Yvs.Y=ɻ/A*%6T K_MhEfW82:#jS:D}G`]G;^$c(qF9cuCb}(A +!j"";u۱CRm*jGe+Մupˆw(tShH42AY>""8᜺!m:Q}8ل.C{HX_@ F!:k>0A:")jЈ7np] +-28C>N{R6e0|Gk6EanN <$u:>jG~>>z90AA Sq[#n" z@qϫLA0"""$0:  mz# x/gf K aAv^gP +-rl)FqL0fѩe aYG3Ar +#r1`r#%lCA:>GT"!GM6Ьb" G ^F9c8L AB"""""""?+APMzڥ?K_pA_U;YbN m.8'fCF(uTq8^8a.{B5&f>qlD%؎6;K{%7(r6 o>",OSiчtL+8?DBYRż%":11nF3l% xbJj:k<E,S; vuFӜT6xrCj+SB؈qaҫZmoC0w'P:ϩCFjk<#ᐃcPB!A!ňsS+ KǯzN!>KլcqYG09yŴrNڧcaqAyv7!I\G"݂7 _-GTuGFh"+G2 JDuOD||DDDDGTF4QM1TmSLTaQOQ~}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}^ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv͇~?~?~?~?~?~?~?~?~?~?~?~?~?~?؈-r\,,?,#}$^~rZ^m-e_A1]qkKFAtypaEaE}6 &Ǿ/@7p]\p|8屢:׬ylKAM~?o!Og- ( +endstream +endobj +46 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕjr\C~ +endstream +endobj +47 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +3 0 obj<> +endobj +34 0 obj<> +endobj +48 0 obj<> +endobj +49 0 obj<> +endobj +50 0 obj<> +endobj +xref +0 51 +0000000000 65535 f +0000000015 00000 n +0000043446 00000 n +0001024132 00000 n +0000043582 00000 n +0000043743 00000 n +0000139240 00000 n +0000139376 00000 n +0000139537 00000 n +0000230016 00000 n +0000230152 00000 n +0000230314 00000 n +0000259149 00000 n +0000259286 00000 n +0000259450 00000 n +0000348514 00000 n +0000348651 00000 n +0000348815 00000 n +0000434137 00000 n +0000434274 00000 n +0000434438 00000 n +0000527072 00000 n +0000527209 00000 n +0000527373 00000 n +0000617312 00000 n +0000617449 00000 n +0000617613 00000 n +0000705168 00000 n +0000705305 00000 n +0000705469 00000 n +0000788726 00000 n +0000788863 00000 n +0000789027 00000 n +0000877840 00000 n +0001024259 00000 n +0000877978 00000 n +0000878144 00000 n +0000953202 00000 n +0000953340 00000 n +0000953506 00000 n +0000970808 00000 n +0000970946 00000 n +0000971112 00000 n +0000995513 00000 n +0000995651 00000 n +0000995817 00000 n +0001023828 00000 n +0001023966 00000 n +0001024353 00000 n +0001024412 00000 n +0001024458 00000 n +trailer +<<2ddc9e3761381c47e64afd72e253da62>]/Root 49 0 R>> +startxref +1024602 +%%EOF diff --git a/backend/data/uploads/kb_6/47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt b/backend/data/uploads/kb_6/47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt new file mode 100644 index 0000000..56520e9 --- /dev/null +++ b/backend/data/uploads/kb_6/47a6f3b3-f860-4b12-8472-5374918aedb9_周报.txt @@ -0,0 +1,40 @@ + + + +2025.10.13-2025.10.17 + +1、项目支撑 + +1.1)边缘计算项目评估支撑 -- 提供算法,确定提供算法模型,100%; +1.2)陕西交控算法训练 ,待提供素材; +1.3)水利标书文件算法部分补充,100%; +1.4)溧宁高速算法优化,已确定问题,待排期处理。 +1.5)外购数据集评估,100%; + +2、算法开发 + +2.1) yolov11算法 的环境搭建,测试,训练完成 ,下一步将其移植到AILIB2框架优化现有算法。100% +2.2)公路违停算法优化:标注车道线数据集并训练,已完成 ,下一步测试算法效果。80% + +3、DSP优化: +3.1)自测功能中,下周完成转测 ,70%。 + + + + +[2025-11-14 11:28:16] 执行命令: train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 +[2025-11-14 11:28:16] 完整命令: cd /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics && echo '===== 训练任务信息 =====' > 003_CarRoadLane_N_1114-1100.log && echo '运行名称: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo '训练时间: $(date)' >> 003_CarRoadLane_N_1114-1100.log && echo 'YOLO版本: yolo11' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo 'project_path: /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics' >> 003_CarRoadLane_N_1114-1100.log && echo 'data_file: /home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml' >> 003_CarRoadLane_N_1114-1100.log && echo 'model_file: /home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt' >> 003_CarRoadLane_N_1114-1100.log && echo 'epochs: 220' >> 003_CarRoadLane_N_1114-1100.log && echo 'batch_size: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'img_size: 1280' >> 003_CarRoadLane_N_1114-1100.log && echo 'workers: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'device: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'project: 003_CarRoadLane' >> 003_CarRoadLane_N_1114-1100.log && echo 'name: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo 'exist_ok: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'resume: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'optimizer: SGD' >> 003_CarRoadLane_N_1114-1100.log && echo 'lr0: 0.01' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo '===== 开始训练 =====' >> 003_CarRoadLane_N_1114-1100.log && CUDA_VISIBLE_DEVICES=0 nohup /home/thsw2/miniconda3/envs/jcq_yolo11/bin/yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 >> 003_CarRoadLane_N_1114-1100.log 2>&1 & echo $! +[2025-11-14 11:28:34] 输出: 994531 + + + + + + +yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 + + + + + + diff --git a/backend/data/uploads/kb_6/65483448-1076-499a-915e-4ded81664153_周报.txt b/backend/data/uploads/kb_6/65483448-1076-499a-915e-4ded81664153_周报.txt new file mode 100644 index 0000000..56520e9 --- /dev/null +++ b/backend/data/uploads/kb_6/65483448-1076-499a-915e-4ded81664153_周报.txt @@ -0,0 +1,40 @@ + + + +2025.10.13-2025.10.17 + +1、项目支撑 + +1.1)边缘计算项目评估支撑 -- 提供算法,确定提供算法模型,100%; +1.2)陕西交控算法训练 ,待提供素材; +1.3)水利标书文件算法部分补充,100%; +1.4)溧宁高速算法优化,已确定问题,待排期处理。 +1.5)外购数据集评估,100%; + +2、算法开发 + +2.1) yolov11算法 的环境搭建,测试,训练完成 ,下一步将其移植到AILIB2框架优化现有算法。100% +2.2)公路违停算法优化:标注车道线数据集并训练,已完成 ,下一步测试算法效果。80% + +3、DSP优化: +3.1)自测功能中,下周完成转测 ,70%。 + + + + +[2025-11-14 11:28:16] 执行命令: train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 +[2025-11-14 11:28:16] 完整命令: cd /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics && echo '===== 训练任务信息 =====' > 003_CarRoadLane_N_1114-1100.log && echo '运行名称: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo '训练时间: $(date)' >> 003_CarRoadLane_N_1114-1100.log && echo 'YOLO版本: yolo11' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo 'project_path: /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics' >> 003_CarRoadLane_N_1114-1100.log && echo 'data_file: /home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml' >> 003_CarRoadLane_N_1114-1100.log && echo 'model_file: /home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt' >> 003_CarRoadLane_N_1114-1100.log && echo 'epochs: 220' >> 003_CarRoadLane_N_1114-1100.log && echo 'batch_size: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'img_size: 1280' >> 003_CarRoadLane_N_1114-1100.log && echo 'workers: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'device: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'project: 003_CarRoadLane' >> 003_CarRoadLane_N_1114-1100.log && echo 'name: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo 'exist_ok: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'resume: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'optimizer: SGD' >> 003_CarRoadLane_N_1114-1100.log && echo 'lr0: 0.01' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo '===== 开始训练 =====' >> 003_CarRoadLane_N_1114-1100.log && CUDA_VISIBLE_DEVICES=0 nohup /home/thsw2/miniconda3/envs/jcq_yolo11/bin/yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 >> 003_CarRoadLane_N_1114-1100.log 2>&1 & echo $! +[2025-11-14 11:28:34] 输出: 994531 + + + + + + +yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 + + + + + + diff --git a/backend/data/uploads/kb_6/7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt b/backend/data/uploads/kb_6/7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt new file mode 100644 index 0000000..56520e9 --- /dev/null +++ b/backend/data/uploads/kb_6/7d5d2079-231b-44c3-abbe-87d40d1c0e9f_周报.txt @@ -0,0 +1,40 @@ + + + +2025.10.13-2025.10.17 + +1、项目支撑 + +1.1)边缘计算项目评估支撑 -- 提供算法,确定提供算法模型,100%; +1.2)陕西交控算法训练 ,待提供素材; +1.3)水利标书文件算法部分补充,100%; +1.4)溧宁高速算法优化,已确定问题,待排期处理。 +1.5)外购数据集评估,100%; + +2、算法开发 + +2.1) yolov11算法 的环境搭建,测试,训练完成 ,下一步将其移植到AILIB2框架优化现有算法。100% +2.2)公路违停算法优化:标注车道线数据集并训练,已完成 ,下一步测试算法效果。80% + +3、DSP优化: +3.1)自测功能中,下周完成转测 ,70%。 + + + + +[2025-11-14 11:28:16] 执行命令: train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 +[2025-11-14 11:28:16] 完整命令: cd /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics && echo '===== 训练任务信息 =====' > 003_CarRoadLane_N_1114-1100.log && echo '运行名称: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo '训练时间: $(date)' >> 003_CarRoadLane_N_1114-1100.log && echo 'YOLO版本: yolo11' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo 'project_path: /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics' >> 003_CarRoadLane_N_1114-1100.log && echo 'data_file: /home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml' >> 003_CarRoadLane_N_1114-1100.log && echo 'model_file: /home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt' >> 003_CarRoadLane_N_1114-1100.log && echo 'epochs: 220' >> 003_CarRoadLane_N_1114-1100.log && echo 'batch_size: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'img_size: 1280' >> 003_CarRoadLane_N_1114-1100.log && echo 'workers: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'device: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'project: 003_CarRoadLane' >> 003_CarRoadLane_N_1114-1100.log && echo 'name: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo 'exist_ok: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'resume: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'optimizer: SGD' >> 003_CarRoadLane_N_1114-1100.log && echo 'lr0: 0.01' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo '===== 开始训练 =====' >> 003_CarRoadLane_N_1114-1100.log && CUDA_VISIBLE_DEVICES=0 nohup /home/thsw2/miniconda3/envs/jcq_yolo11/bin/yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 >> 003_CarRoadLane_N_1114-1100.log 2>&1 & echo $! +[2025-11-14 11:28:34] 输出: 994531 + + + + + + +yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 + + + + + + diff --git a/backend/data/uploads/kb_6/8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc b/backend/data/uploads/kb_6/8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc new file mode 100644 index 0000000..19343e0 Binary files /dev/null and b/backend/data/uploads/kb_6/8421beca-842b-4475-af39-3369acd081bc_链家租房合同.doc differ diff --git a/backend/data/uploads/kb_6/bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt b/backend/data/uploads/kb_6/bf5ab088-d02c-4d15-8247-12768899df05_抛洒物统计.txt new file mode 100644 index 0000000..e69de29 diff --git a/backend/data/uploads/kb_7/0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc b/backend/data/uploads/kb_7/0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/0619733e-2f0f-40b2-b8cd-6e681836463a_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc b/backend/data/uploads/kb_7/13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/13410d79-ff5c-4cca-a88f-afdd4a3c326f_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf b/backend/data/uploads/kb_7/20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf new file mode 100644 index 0000000..7e92481 --- /dev/null +++ b/backend/data/uploads/kb_7/20b12291-406f-4028-9e12-a1e809873e3a_发明专利申请说明书CN202411808464.5.pdf @@ -0,0 +1,2804 @@ +%PDF-1.4 +% +1 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 43224/Height 3509>>stream +Hđ8&E`dߕPlag6hoVMcZDo)o3 .N6R&јȺ|VA!p!.f߲1yKY!Y?8t?#GTDrd\!IiCSѥzAiwyJmd_) p?"ٙ.d_%]/!Kۥ5~U,k\Ґj]w_ 4[";H/KO 1Ŏ5pAޗ+$_?>L$Fi { tMlSfbc%"86IHAWKKaa$?ͣDCZ]rd8A+{[9x]fmr'c^l0A-M_ޕ~ H{v[ p&z_ Mֿ"YdK,8K iaM^!&Fm-&?^tMI^Zbg6f`q_.UT0jפXH0_b)F$T?k % +^MR6I;.Љ2[]NŤpjKQi*0i^a4.]_GPi/Zvf Sbq>"#9͞hq 3D]yt%$ɛB336pXC"\'@`8)oAFlY/ђlrF? 0YX\y _ +C!MY'£3gHffl2 1446q3fm *36q9 ȁ͈he"$6f٣2iy6p8@aP& ?@`4ংe 0\0f'I,Iћ؆3 3$6l;] m9pR ћ30nmD!m!8 0X$0l͹E_#YE,њ3b3f2R#)?POYO97[:2 LAd$#vNLU@lͳb6I_Y_#Ç*owH } J)o7P6Ua{8)  +5A +Im`I5Õr7UT۪" J2uBy ԻT_ ֑8'lKTvZ5i&m._ $2P:O# aӺ__3K 0nK@˂pN <*]!#M4$EX" Z] o- ڬ^٠0kE. 8KXQm4d0W"eH3j.J :2S"""2qeY8' T~#d|]dc DEC,i.HZ54CE'kڨiC 0jGr? aOd&3D2pN1_mkj-Z_lDq{ҩ z VN!p-W'MSM?KM/!V"[[iG$hN tkzZlOD?JI-o:뤖<0 Ea8'I"kRM&KOhlFJI$0ΟoKIt~<8$i}dKIqڋiGMǏ_c"?I k]J!~Ri~Ad;pNA*@k(vk~A1]cAXjKҮߤ5Pq/.3Fx'b4D+ׯkh;M5mD`Pai2 ΀!`d4 <M$Y8li 65Y.Mm5MSMZji&qQMBZǨr: ed4)deo[RMZvdt U6."150VCG. œ8't5P54&#"RȝM & f{L&(vM4lGTade8q'(vG5M[M0@b8Ј咰U'Qfp<qJiiCEK uRN3`G'Ē&N !LSMSM9CGYRn$ *q œp=b8Dt/Rn@:(N œAGPi馩GBj6"E#o\N2pN @30ii8#B:^xV* 8pN'mFMSM+M5GpIA'<B$N 8DuT[MDSM1qp]|yMY8'N մQ[M4I'<DTD\DDJjyNs.܎ ]y#ٚD5DC3("1,3A8qN 4pN ¥ S[c٨5#ÆG>?M!M4ME%Dު  ( v"Ј#moAiYCꨆSQe*_-":&"=HVl|2pN&\q 8GHmFWq_Nm4MDU-/K_H""o+_$!Udp:Xh8'N J=FJtA香Zioo6YDGpW< Hb5jFƗMTq 8f_i!76kik8}=:ZM"#D5 9mqK,;I4׷mx' 8C_)aiq4#M2:A~BDqK&/Gk +'Uz_N Xzo֞:i^mz_z^"."7h1?Iȳ*J~^I}[I}RҥFpN q}_-/*KIiZiRCi0.[z"8okXu6 { %-Li i-/BPP7 `afa qFp" jj{ G4 P"%5OKHc'4>P`5!dt"""8#ȥ#DDܦK +ODh3) iu5GF߷_K tF5 b56klq:| G{j*$K MZUIGE7Vi^dQRn-":V[[VJ-mFW=f߭o+KL'Kzi~VW^#3MlR@Zn$1/KFs0Ж;I/JX7_l jKaaI)z__^_5x?P_OI޷凫"uj:O^Kޗ^_^Z GOoI^^{k_jJ~wk~_-/'޴RCi0,hm붗okXu6 {ilOM/ ah" +bk~u ke(_}0b""?ܠ
4{aUPk8I5 MUTi6mPZM,hUJm+!ڷIb#)[I]}z,{8GZ8ZK]b ~_\#}+~n꾿^)/j.KJׄK^_IxAb9h B%kk&]^~q ]cKK{~m.,o6*&&뮿zIK_/J$dtt'~[o5Dk_êD"ukK_-#YI/_[KKKuε-K'KW^7 iHxCm$?IKm/uR^aH6^~aOh0ACaZ +b)p^R].Z?Qa0"?dA_R!^IOx u'#Q7_H "j#Qy(F%hZM6klqG$ MUH67>}oҴJ6*VFIH&Mb#)-qo[dp_#ҷҿTUD1KK-#W^^$$/^_I%F%KOIvժD']I$KK%AI/J?KKζC[I=RZ}$A ǡI?m+,?mKK5´t:DDDDmMc13TMTS"h*KDJs^Au4v4 +/m6u`ʨ<8l<$tA|݋a3$X$+CL4駧JOFk'HlD/gIp47ZI 8kmEXyк5 +܎ ?!TKG¨|*۴d`58T][T5g_~BtY1xJ:ZVޗ ڷQ?Lai6ͱTyh1"G^^Q!juYBޓB)iQcpϢKI.zA봃4AZK>9%&# J" $a) -Ub S$'5֪?Ӫ`_^]iz#pE֑U?:KoJ6 +?Ba_B?s0쩟ZU6+dT?ߧZIiETdpQׯo1Ct:g.t3tkKOȲ._ޭX~:~ڳgA>z4[-/Gs}>?_Ms_+[ۯ_]-'/:޴><Ϋ_=Ab:~Yp?kM+>Rs_]cH_y7իzKI/(&?ɏoo_Waտo+ս&oߥ0I&KA^M$oIKMkO5IK 7~]` ~Iͯ@lL$k ^h  s9q͆XA0ά,GL!I:pښVA4GZ @׊2"#A5Рh A,- +T"7&s\fJs^M] I E"tFQ_-*$gCM(TueM86:cv*gQ)Eų/#y̬q{ $M5;_>2D"F!~ʄsk$xŝ mG[ʅA*MAE4K3M[* I fJf*MW*h7p&8 ^\,Jh-C3_ZJ\y801ZJ8]=?[*K@NiH GQvo~|[[DZB x2IB +_i?Sz [3k ե+/ _Ɠ^!r+_㑵Ъ|xO,lkJ"=C:Z?K0" Tޗ:uά4iq~khT_T_.8kK?_}޿^-m&ށ>E_8i6H`^"=?mi}=/l^K_f=G׺a& /  e8Du)Cҿ~!#BX"?_h(Xw@+EKu_zmO_A +_zzHO_%XߠYkj:O/k'_ "u^}z_jJ/% o '?/ڥ$K,>_\c5!Kx _OT;x=ԯzOPc I K~w/m[?-&0!K  a~a (a!3 +a\_ /0AXz$1bM?^h(?}.bv):1 7֑cM W ꆫB""" DPT"#7mr &b:h(_aa,&VI @ZeQBd dpI 8kmšuDkT>TH۴ɕ%/6ͱ_tU"KH0CH!~lr0rԢ/֩) -k8s0ZC*JYS~ևҩdŢ:KoJ-_B? FlJZQf%vut'Z]*UdY"JrT/x}/K9uKj [)9IU~h \~s7+MI[V~?I|26 0 r aX[ k@ejjBˆA唷;RVljV&Tɸh mRaR!|Pc,I<" -2uyeL e]I AKÄTm\]T'o!DMF&xUy(I&oAB+ڌY6_p6֛_L޴%&m$6ߏ6_ %?J3 I$u7Wֿ_uKIt".zT\α JW8ޒPc690/H3/ Fj14ZXI%V5=-%V i}mIKITm/؊Ba__H/-jLEs1BOF}*†COAm0i[5 tDH ; Z^'qia1IPI/R""b 2thDjCMIv1K)VL""ވÆ̲P36K:Bϣ:gc"ϠD2qulʣGA z +.Ks.Ta{6,gE6Pʿ|zpII^?m.^Qy/( +Vm.,@ו}q>{*">%scρ͉V6M:!YIVtzF&zLGG\llYExHR9f9VVt S0Pg^ 5ۤRuZzۅ(3j!JJޒ[K#kH|qMH&YTm!$#KKئ+<Ъ{(/lr1Dc{M3e2WIi,(Xi~&mA"݋=3]@$?XA0L3"eHZy߂!: H0M)qB߉` ">eL}/ `ߤ z^@Y Tz_-/ @A (u @RrV}rI<斂=1E' xNrs8g?žsb/ oaUl7ZW<3ˆfMmOr X{yJA#Uϯ+CMץ/w,ڷ$_8A0K/ dzA.~0`āa ^]/Ht/ 5tD<_Ҵ鶧!,%zL(a 'u1LR S2?aP a"!,M3-3h#PYDfO +Rn;J2&& CP8l-ґ Ԋ UMtV'FFy@[u8'G&"U*UGJ&ii%RV&?iкy?eq}_qi:f[f^}U#F?yo9arοFZղ\o͔s_84GUK_CAGS">e &Q ooه*U ԿeM+J.@Gk>.]*l13?_(t &ҭL?$.#eN,4 iu]gSF?B/=z /_Y&0(% !URk~_bHoA#bPwD|:OA<71\0k./&kyt ?Iy&X_~祤!X]Y~H _KߥTQu#IKA"?G@ajTÖ;ϥ*K<a_5 OaHDqz[~Q0F U@fߏy=OB8_oI?aV!T$~]-oǡk,5_:IIF|skqpy~4>[ @/o KHCi|0a9 v6KhI-[uXk)s41-ґIE:FPӈuzUoO[Dk?=IourHf< c[?9=?]?~N{n_ݥ_衶Ni~DZ_ml-/a}BDDDm+MDhPL&rnFFDS4P@RHD\iViGmn$?UI'H6k1MIi&4Za^!;A@%DA\DDDR6n"aDhFD&SrʣI7##"]DfI `Hѓ@d2:EȌMa4H&N>l#aGM$HzhzIi6jO( KIDAJm+I4 KzAh'Umm[[!ҺvtiizZI~KQҭ,~/ToUZ}+~֑古JRI!$ׯ5ԉ +%O=R߆IizDe]tIv)-/H7PtzMoKKҿNN-/IizIizWz.I޵le$kNR'GI KOI/im[KKm$T"EkҴ%Oa$-'&޴.%Hi![i}Ul$K M+Xh0i%5A@%DAH!BźVTTL (VrnFFD&OQB# & #Hj5> A j#r#pM-%  G| #hCTHzHF=R Ai6D 6@tV٠Z^=:kjڶC"Z]}??-}oo֗I%Z]׭akֵz֟J}+ߍi^*QK!K֒=R$ry뮘Iu_mZ^_K]$JZ^_$u}% KKKu׭-/I/}~izI^~I$tU%NR'I_ֱWKKתꓤI*Jm-'I+I+KKK$Vm+JUIZ%I&6+J446CCKª[[i&4^H0״$TD! !4źVT@*2&2[P]&܌vVȧ0A| P) j#r#pM- M%#h>4{kt!1U MH6jO( ZHmI"N&Ҵ&6tARUmm[Vst$EZii%KI$Z K>W#ZZJ)x)uZBJ_OT$KK'pMPA-W/I/k%}W}%$'zZzI/K/I/_]%i=$ֿ׮$HZN'V׭cAuZ~o^%zIRW-ii:MjH~V+I.z$޴h4[Cm$4=A*i~Ik 5DAHEDDE(6n"aDfh"&DKoX' p(fhe/afh?eFI=tM3NӦuAsZ|F{ sD"yDIOs1JfM9U>*%8 NҏepS>:ߟxG#㯯_/MM_zM184BЛBP +['Y:/(Y:~>"pj5CDfqGKD9m~sySֿˮX}MGiCTG^+Y%>C Vs+=1_?V~?_}4OKAK/K0 @[}GPbz> r}}LoJ^L>CA y_z[GY(}wo>u|O aoK8o|c[ǿƖ>u _[I~ߟ|^?ץ__K#u$ʅR*~KGv8A-h0z_` ?I f+z^f+jId]I&WI&{i$0#@:!$t$ II@$#xB x8 B E~xP haA8';FfdBk%]mЈA hDDF""?nPO]NM#D["(/M2@@R{V#@R/7[|Ǣ +m77& ҫuOtC8 ]Q̒ޭJ$֭ 1U~^m ZZO`zL4a8^?1Z+ /fݥ?G^%t҃9  ;{ZQ<3[$t _{4[KFK~kI^KۥL{]BU~bkKm|%AB"7=R`FB+*†CO0P;MA]X i լ\G)d"fV0v/'J (HE6TɺW av aBf0z + EFa`N1 TD⯫ 'Tӷ%vO#PGn/J )A &au2鲀g8JRѩvpVoճ! :.!ťm%X(=~謐KtDAΨez:};MPI~*pO!A|mSqJVWp>fŽ/н EIWϏ8HE?#LT洿<~@~}y$E1O@flk)d]%(sЪ#0zK$rn + KG 6ҿ_gP{_G7nICkB-GKi +2hA{/}]#8E_?zѤ}h?sow_]{z_B\I6}uLIq +ttuK$zߋA Eu$I_ _>q^Ib $!~D\ $ykm.=o:?A Dz8^HRƫ\H&nfI+FtrBh%IKoB1Zl3%ZKoKמM$&ꗤޗ aIt#TNa1]?M0a.oK44ӧZKf.ãaa 0 0׷kڬA0d!&)MPd1j? +{>1iT&4#$- +V3#ath-a[~hH t8B8_DGJ-DDDDDDiB#H!1<6ͳl6ͳl6ͳl۔ nO-P$ܜpN 8'pN 8DxIJtE6X8!`[" :iAO= +zF`@A7KJ1KfjNRƗYaV|n7W״JOv2@u#!G3a5^_"47n%տj!e̲MǗy"H%A/BO޲@L~lksP/VL܇`c$^05Fω&Oo__6t+ +.0@޿cV>Xt kKCboNT< GF L3Bo!ZXaix!HG`]9r|) 0xh5GAzS!U|Fz´tDxR)=+XyO"?lp@0D|QmV'c[o##>":@IK# +]z\_b"ˣ[[JK4 fJfYْ)d(X:Y@e eF9ܡ)Ngw$gZpmd|ԡP.@9]t<&)Qam +:uT Qs4o$`PgNܕuꏣ>{js}ߝt@K 3wi%Fz)n1>>?YV +ch6$и?rVtVCV%GGàE@<{G]/izZ /+ 8'nJ 8't"u_M +z_IW"""3ɻWB8I%^o^G/_?h`_}i_IK_z~[Y2_e+V1Oflk)d]%(sЪ#@/gPc" r8aPZ'KQ֚*ցt{wO? + ~)_6P ~;Ɍ]Q0Mi}i0]w???#4/Kչ_P~I;n">ߒ/Gу_P`:#>z_#:حWIPko/tXI)%T={JJKoo?R}n#Ixi.7aF?"? qZ(R~p/G_ &4xAH Miu?TIXA&%-)Vi.?Itk @~.np[_BL?$ a=>Bz'PA$?ARm&&REUVh^!$H^L^gG$F'ZG\0tcZ_xzX_? %suA8[T_RЌV C~$WH1,ZKoKמM$>Ai#;K/I/oaq&ZE8'Iz +KafEA|a5]ޗhicb# `!4":6H&PJ0 {yƸA( D<duA5Ah* T&4#$- +V3#!&DzN Bk  ~aP>"#L>S &\öV0o-.5a8xqi.)Ɨe3_kd8{=g{=g{=g{=a:8g{=g{=g{=g"cxa@0 a@0 a@0 a@00 a@0 a@0 a@0 a#uah +1*~?~?~?~?~?~?~?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD]Hɱt#,TW+nh"YSEk*h[ 83yBY6 El86PYLz MaO46N4t|?Hl<6e +(Pu]t"#F, \3a .zBI(5 +4kF3@]!ނtAޭ~/Πy Vҋ#A֗eNc?(6c$=1+ϩUGz/ْlмHŔ,?_3G)4B.58E@OuH_g/]/i4@_*` /#Y#4~f"_)EYh> J"uY/?E/t$z9:_ Y>ʃ"?~h(ak_y'uccZE~p2}zE|-]aǿR_(5oz~[+]|t_ES߄/莽b[ce"1^Ah,iOwK 3>XaƵ=.%K/_~?_H΄=|_>z_%?io\tBGJD?J3Uӥփz_/M-q3KPEGph_. D|g `J>-(q/tK[Koejqsk5{\#0!/9y/X"}MZ_1J"|*SgxAzCGT +}?/sKdTmkP"^IBhk_e AXEn88%ZthX_i ivH#G\0a9ĭSV[o@[nG]&釄~Mu/I/IK-#n¹>3rlKޒ7M I(Tq#aֺoz_[I#?蓒@lOtItäF`A0I_, fDgɱ8E %$H"ϥ&ϥY&Aaτ42C`HőGR):>bD\S&& : tAAaA$;IјH5b! +P. ` - $Ru^D c QwYءܷJ pЈBŤLT,B -$#B,Gea[FB"ADDDjDs% O¼Sh6fbhu}G\hl""".)^0F8)0:kRpiPݮzC\aJⱰ1H+C(!A<>>:h:=0DcAlN?uBqub""""} B""6G*"= ,;=I)==xW x5AxvBzF<%5 +#f㔁9 F9 F9('xn+d[s"h(A A!ilE9 ~?⼦>"ǿTDDDjnJ/I(@jtY\>>>>:ꏪ ]Ї,0b/ DDDDDDDDGi\lF1 pU^% H{+{[L7q@jG0gN8@# +OK da2jGA$:DtHtm-E^[;DA@ ><$lF AJ %p7H-ʑ^ $)xNF8DuZ* ȓ&QVĊ؃fJ):BB aN" x6Q7a@䣆I0Ãe%*$N8dpޅn}]SiѵLixMKDR*-sI6}C 0BR[Mpj A;z'G, \3稹WE%+ʑF[.&%6PH8k3Fc4_mCz/s@8S#DD{՚o.,mv`ȝ+g1CQ--? To镛'غDr_>: G}swK^Z_ʜ"HPy{-KG΅9RY_^_'8qlgC~?5m*E^B֗$#F:[7G!AyB?3^o/\D^u-G/N(GUYL0_>>>>>>>>>>>>>>s/AkME?NcAK5ڬ⟠a0`a~ppiϻ`!$0sb"""""""""""""""""""""""""""""#S`AJ#s) D>A? ++++++++g+++++++Ѡ|AHpdBh1S] ^ I*DDDDDDDDDDDDDD\DDDDDDDDDDDDDDD $|!KN/B"#!m0HDDDFFDDqJMD"Hb=n @="; ɐ 'W!bon[|b<ԙ((`9[(P:@En86Rʴ 2~<r硷Q$:ÃlQ^]7Hl2U Dh:ᘄY#0oXg)=jtꨆ:Ν(xn+J!v0~ehl%ņ zA Voճ! :uz/^%X(=~讎,* !Aޛ}//ez:};NŐIպ5|E6nHC=^#}*s ~算aA􉰀 0F洹'M[eZ3iΟÂW/GD@1&9莙! x>BykU "O(_Q!ꨡB"$dtB.) ͔W}-{*k@2σ#ʘ1?!zW?We5 ;G@y벋ͯ5.zD=z_> 0/]Wk]-O0-#E|?KWwy#+l6\G8JhK/󃚿~kDt]A*\cѤ (5툘u "N%[v"!/~0raAjϥޗ}k1-Hdj)륥 5,6}uz.%/KD [>t貙O :>Az}xF}Ium,0\PK_<[i_-?eP˜1 D.IU/˅]{7Ok| "_ ?=-k?RK;jQA$/pI-/6 _X_^['pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'M $ mR]E"??ZO_""""""""""""""""""""""""""""" /QDK~r/KUΪ/)A Dz}>R[ C'ZEbsg_iuW[ail)fǍWPh-b5<[i2_RЏ -lR1t8"?0ZKoK3ZL4 $ߤ7Ï,EՆ%iA7]0'Iz + 9 &'äߤQL%MxF%mVs1$JKaѰA0„zQ_4AAm&5 7C.2:DBLR 4lKAkh A N b?_ Li4GXHZ AA8 XA:AD4#Bu Xg0itm""_|zw_[;KG(D)RNa= D#R)3FQ<ĕ3l߄T. ƈ:PgOJak>[䟋Ñ+K"#\!'MMnUW1𠑏&Ʊߢ}ℎQlE Y0e$Uj$8D#ON"g/IhM aBf=fJTIXNN4t>(x'D8wKZ 6zR6Qς6.΄DqihHh/0vP04pBmz4I9!@$ %pˍo{&ql5Z1߶=n?΂W?,?>)zh}DF( qii[o*a/FN9TolA\8~"" V%GGàTya?ju_Z_ EOoKAGn$,^KSX + {>V ^1ނm^pRc.3qJVWp=?(7D_"!;S#ꋯR-a /HCU3gƎ.R&h(A3XP>ʆ x&S}LG1F]/i!Y#t:G0+Xka ~??|E7"H/O#Ϯp/ ԯ4p˂.tBgE/t)@>ee9{!xSؐ">mDQu#>G#"8k3GUZWK_{*k/g}(OWĠ:PUm|79mfٶmf  DDDDH(rv'KQY9heqhb] DDDDDDH?ʵD]^TWߏK]Z+5dC?e:7ˮEwO?w׏%&㠐"VaH8ia8'pN͆aCA>Du\?5Ì[(I_?]BVU !K.Hi2it`DDDDDDDDDGbq9a8-#8>)60F=0~#\ct!F^US#q]}{z_B\Wh?W|Gf sYrCXI)%T>_im o4TvTlhNO)u74XAPB?]1Dg{ׇ~L0G᠎"_jQ":{#2[3[hpdY`3FƁ 0^i\xO_<[}m-/ 8XfE:.": H@xVAǛJCZ6+$C8::xKmsKO %x! me |k @]mmvEX{GXk! W>$I_ _>mGTm +ðJ"C PA$?^S_[ ,"8_/; X506'GgG^ $y%Mm"<`#B #3LzJ#DK#` ;A 0Kb#( 80~JZt#:bp.G$` +FD}]{yƸA(4C a ?֒ HUs ?DDB""=-GTyc>M=tIf}'F`_cFpYp. `- A  J' OB8_DGJ-% BhqCZƘT"4 B;a|<'҆JvbÖHQ![q2B>egؿij@m\0al\361f-0 ğVTH&ZixMTp3|3nTM(DkS' ӷ\/m& 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`e,.S4(Ő3iYn"""""""""""""""""""""""""""""#pSD5kt.%l6kai9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$-A[FBb"X AֳHDDDDDDDDDDDDDDD4""""""""""""""#}HP~~i [LG]/KI8EV/e +Q7UBk/-&Ui|WҴf}IE3|tRyVI) S>f(S!y^o< iuZRT36QzK]&".@g0F;q^Y&eA|O3I6:dSyaCUeT/H/85~._5T/64?{=_ +_.@^ A׊MZ}G(_[?\~;%ձ| +5qK anT%[v|^/Οx'K@}mtV}-~W1#^}-:_\~\:_= 5:U?8? _~\_:ez^/Kl$z___5RMj=./IAjד?-gDyPs/_AFE&?DBaѰg]6_AÉ`BY.ãa@2:\~)&+bc@ 2d3H#j}:UѠ 5AAFY`k AWat ~KX";4$"#cCHB!НCB^_H q RB"""""#WޥJW %X(3^}i[~ޗU,vhWwضWSΪ=/e֒_!5_I_11e 0 +pzEɎ?!"__|?RN:`^%/G0E:#fk0J.δY_85y fnXò8yB:ͬ5$=< +_uE?%3e +_qxefsk=X3~D/y!e_fzH(akZ?ƿ(|-K*g%?^]޿}I-8y+D"?_Sfa 3ȧ~"K 3AcOX)DeB5>_Z_:tC^NysOGݯyA }p0jϥ޼W~PC_S?E[*g]_89ξ# ݤTe += 3G6G_Y.7u6*L6o.GAO9s?/]%|EK:ء_P_u/Wdv6 +u:9D^9ğǍr9$uYOK@AK?*䆿Ϯ %^}S VpNϧk?i5g?[>IUl/T(-vm?_i7B tb5Dq}.z^ åRܭ%a8j)$8@ZA0 +i 588Etl4-`i֓ v&ϥYèA0ZG!uD]uJ)Z m -d9*,gtfIؠ7K$jZz[:l9QQ * +6" cb"'6YpDƿ2ܘ0$`-@pW< c&] 6zc e2 _Nj'2:w7A8,A.˲.˲7.Ib!GJ AhD4}GT}꫸GqKcQ o]kpKׯ^Z -EZ"r:>EK׷&HKsyɛC7"hW՜L…EϲYhfڼɱ2:Pᕵ maOd2VӃe$vl LL6T+ n[HMނM@PG(LXg@mdN$ӣj6깬M/ :^>0ύNV g4 .z:b~}<-"_q[mYp']7EѢ8PaHmiy^4c4_(YB0P CA~&䱿-/dL?gTN|ެֳypckWF-?/ ѴAޖޗ}}L>IeGK١^i ~n$(>HPw8_tJ"P畄P!zDt]k1 =+A% HŔ!1e 0)\pe\!ŷיBI({##zAc/aMh tdox/z8j6qgwڂkܕy a1iYҋ< {Js//iPc3#`j]0: L4=h=ac+pњx`5zF8Eg A@瓆t Q #qdWJa\%D{%qzK֑]GZ-]hDhG(hZDFG3jL4 @ +kJ8y=#_O0>K HKoKT| K*giSU_[#[#/ cK&We?PP'k$!yy mKNў{cD"?~"< +$H( G4 SWDuI"?-BDeZ#"&P^yU_kS?z[q +5l( K+ WxJKti/OAmϯ_F튎CG#_G_j #OCU^߯⾁ΊZ]t I&OIN6_h/D4D(hH wֿ(KZ?x+CPÍ$JPG"9zz>w<ȴg/Hd|!7fO_.y8jt$A~IC 2|#3?H%sQJ"yQׄ \aJ$I}%|EkqNf t(_ إءX@rD-|s_$k H_TI}~#D~.uf7i K 'Iz_W^[* _? _A&#H"?}./ [ 5 lj =X1 B)0 @$$_FIM RH0m&IIwߙ+Ko@J a#K\$Vz.Nq A$A0 }G +smz 5O aA8I4Ji-gkI }C7d I8 N`N`/Hᯊ@ XIA*Vk RPjKHZ> 82%p`" .NB !HEB"?I0B)c[A DDFL2G""""?ֿ|3l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl٘fٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈""""""""""""""##. 8'pN 8'pN 8'pN 8'Y8'pN 8'pN 8'pN 8'lQq->>>>>>>>>>>>>>""""""""""""""#B"""""""""""""#+)eRFU#MɲeyO3CTxpB:6ӕg:sn6Id&I"aƃ d$CK l.l's)]28\U6Su @P-U&'u@-i]}L. :vL庖{pV/>΋IiH>3Y?Se/'%6v!ťFN!PO'izZ>: Ecx7,ʠI7ZI +I8ElG]/K)J?#1e sD_+ +"rߐT :I tdo}^>;D4kbp~D},בpr^ >+D},菥t:~E6{G i~/ooK-*[UOنtagq0F;qwXu,֏}<0C"},P_"KoKţPiR-c:_֗( dGKA{z8t moEk׊gk o]i{/Ք ,i&d?euB>-/Lis^։,yRȨ6i_%]&>B?P%[vVK֑1#㥠k튎tykدK)[hRl;oJ}?"{!IG Dmm!o#N _?(#?$ <|ނ8u/mKvo5榗$JQq<j.U]z_O /$&G3S_^Sa+DP 3#W$$:ڎ`3B % ^ hq|_Y. +W/8KJkikuaD/8K*d.qr_q$4DgG$/^?ƽv1-莴Hj\>_xa2A IkKI-c#IA@+Q:uť^fa& 90~All2 5*!ʡ"k H20aA8I34|aѰ̓FK5 i^ x2 21j<㏠# džPnT ),XL,4AdV>p/U S6$ A_+DDDDDFDDDDRѴYVw_3w貭ĄȘ!}H8#GEDt2 CX6DiXDr}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Gn[afС29>ܭ)PL>(%wmAz%+FkL-Pʪ:pgZ2ZC#q C$g&RpױuIʣMF Fp$ 6zo3:^E' T&yGPkNgN/K?mm&QDm&Q Ol%4?ɱM^c"*pSD5^4 \ $M^BvH A=^}N)"]V^dj/7z]fzVʹ"BIj_꺢TTZ 7} ^" %DHB)0:HRa79c=YGYsp /HCas҈0 3eEzEI (G(iJMucJML?_ȧޕAEZZG-> (zNΚ_ߕ KI!ZAYV %T*)m++x$G*< I)!K+_I:* J mUO皯A Pa-!Ax(]GA5`^ @^)Ckϥ޴Ks}}ɢ+:!#</S?Z^EI)81:!#3$&A@D o}V|0~ C+PU%%pAȑBI馂 h h)Ͽ  >U +#dl E: kG <(aAK;0>h8䇹q-ԷG.qkނ "@r-^+$J8NF9,?ԍwvDc5m-xAsp׿)bH}/o`:XA  ܷTޕζuoz ΰ  tʜ >k-C?8 MlBX?|s8 /׬}IpdvY}H`vK6f#KD|rl##"=S)9A)9sB $2V.ˎ 1 ZdqKvk:?A D{߂_^"+e/ r2l,}<5 pN 7#r1`q # +(ndP+c#l+i6:88Etl4DA84ŽEP"""""A@c;7ʝ, dM)aAb`_bv z2:\qD~0y9A|DF4P& 5_"@״g8rG;vrC a0iaT"0hHGkf ~U x@N LO"WP}[?0q;kD~6ת3O +sacDOeهVZpE9crhEcGN8C}cWJ^ƾ#E8"?܃qFGY@s#kw5B>((GGTqiKN*l$ӓ P8Ꮬϥ9)mDpPm-qB?kA5Z/x. +\G[J/ FyO +{,8">l6tmXE9Cѭ3phDD2,gp˵ """"?YjءD i,#TwR;Dtٴ(LVml383f=f TgJ+GN @+FKQ1.Z22d|Z>:6 HME8`Ti}2eQ-ʃA &l&n>6`i:H5PA <&yGPk~[.|-2)(:mi2/Z:}hj oneyI[ +- +/ΝV-%4C3ҿoKBoI/= | $}QQ]QQKBBa7ƗdE fI" KgZנa$\ `W#8AyYGᇿ]tl$qdWJl:](a#"-{*k K <֨,$Î})CIPCPҔ4*gv G->֖^yc+H"?ZM_޿_.@t_vL0"?*IWe"ҤrIgP HYJUXDuJUI55q%"2bn-/JquD{6< ƏquK>ʟ<9g!ATy#uT?_ #}H K$_W믭jS?_ ?˃GzQJ A~Z J Az(ֵh)-Z--I'-^y~8@? V& D~ @u}PA{_-u3AqAt /_ }N:>_/?=XZζu/:Qm i~8 MpB_Έ )Np ϧP"vk5]fٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶ KZq_"׎DDDDDDDDDDDDDDDDDDDDDDDDDDDDDn|_ʯ: .Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"zMX1 }""""""""""""""""""""""""""""""#3Z_K aZ3_Kֺl8 F/oկKf"G%}^:M08& *ɉjpapc~ uH4f %ف})Pka&04!0 +`1_L2!1nL1QKbB ia AL&ADDDDZ@E+&hA9S88BJ9v +I#yd*'Z j apEme>>""#8{4jj4TqBN&PehtᲆR\3P[85 &{Jq +Ν&@/ehzָqzY44AYAm/p4363\_᤿ƒTgKN!ť- _.Qz s5ϯR +k# a# }ʙ:I[zUi'I/xD0KxDT=ƁVʅkVy mI#@[8_IY:4q+cIYEƟ4.lrDE? kKr [_e KΙ0"b D}8]HFW#:B$%]¢Uz>/_L~#\c?o_Q#z_8i ?aT>KKVÿV=gT=\e&8"=I$ . z[UKA6 (^%jA{6P:_Ď9 ~D~8 \xOGA&PYS_*L D 6e#Ύ!NZIL&_ttM/4 ~+$]u2}x@Jaf~z[^Kˬ?X_K  L0Tz_ Kk/NBZT($Wb^#XBp5yB $k%;N<KмBIp 'I\Zt~@ :8䅥A&#]7Z_#OG$!I`$$F5[Z_G_M IB#!R_*2 - +__@MA/Koo%ޗAҰaw /aWKak H6aY7խWL>I :LW~ v H' 6`0IG$ɍgҬʡ#?8%A58ǤlP N` 0zLUz ޜ<$t1ZWP; +q; HpdB +@ i +HAð tHA?@V3 A!ҠkHp IAЈaPB""""#L(ț)6EK"92QIE򉔪VP3Celd8llL38pۆj,fPBaɱiVE^aA%G 3=mݕUfKrHgI҄x3gNީ&{I.ز&ƽ +oA}iC8~( ~4[sY5(3I$I\~pSD5-&(^D /-H|P{6R 6yhT}0II'4N&WM֒_Y]/fL- A (X9nA (C*g)_+$2oprSCЗFP 4YK&|}$89EXe 4_DQ~c.Jt4Bg o?hO(_t=\tXC F?~Kf^ޣ~ʳ_bHSΖ^Ҳ0RNAD @C |Wg$pHA _"KoHihFo<?},5yyyk>y m?ׄFf[kYfLV4e }wAz>>=(Ec?I0-/K5ߤ(6l9qaka*fflSy俓Gݮa*pG_\C]#b3V}-GGK@O<GbG/ 3I?izI6|q?Ϫ$A?xAn _)^A{-/$ <,B ձKA&PKI=/h.}$y2<֧O_$Bo!yxA% 03?Kej/# f)u죯 XAaz L0T5 +W>jyxhPHiNBP }$/JUKtA u %5$*"=_-%!tPg֗ǍD/(BIi WiIG$)n DcUPϮ XA"1x3$-/+ @$/  RO=%BW[@M;z_8@M_S&R\9,? Gi_4Q:A@+i/ä%BAcSkIL1ä _< H' 7ϭ. ,0ZP/5p*zѤ!|L_:4ogU<뤪z+i~ +_:1-"PѷϢZ"_jQ)(">Qq>|Z"$zAc8::x"Z_ FG҈> VDC6 +?/ zS:uϧ3GH]|s_~?A}La no}8,AN7Lv5D:QoAD}'Ql\TH㨵+ +Ƿ@gޛWoM@*7^GUMCC (E + ~oNmo>WK A(:/n0Ͻ6ޛTo0bQ+me/euPͽ젞?+QE( (AB +P 5IG֢G+33 Q:eeV %`(b +? +endstream +endobj +2 0 obj <>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕr\CEI +endstream +endobj +4 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +5 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 95290/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZ$ |pUG>_D BZH= AnQr ڦߝkTm*O SWMVh,KԽI7"=HVl}cw$=B-W.|E_KH0 +W$߭'Icim__KU_, +ZM_[< _[z%JFǣcK<_֝bq Dmy %HhҴqi7^v B_mqK$k%AV_00 aDWҾhpa  V_@@-JK$x ?'ZzzD0k)辰%^} ~]BC%?/]$&ڧKfn%io%KJ/a ;T%5PuuCI ð^nɟiA$ÆJ4 ,00@@2R DDDDDDDR}'Gn?[GeDv6YӆvF 4ϺAVكŌuVtαڸ"ZȮJXDfVQڧDaN|Ցu ;6F dd%pgF2ӃM"jL0j7Gs ӨI 蔢5aÅ +L0aÅL4p,Ld#:DS F|.O^ k#a۰&Q7GPUʰ3ܨ'd`?2AqeyBt4EoI5ejd۷F0mRȭ Γd<~qiv(4o#CŒ&}{*j>By6p)|BtЛal?FB$ǺˎHԈ\C<~+&ʫ${O!/Jr:M,z*?iW.!<ڱi$_=!_Cmן d`*^?095|)$$VנVU+tړ`AsEkK} $:I}&(:vkYmib\k4_llSʀ9 J&ŝ?z]pZ1_8/uEJyőDkQ0UA5K:sZ~eg?\aAdΚYAa*ebu/Dz2?}i7~"=^cA]# IT>@" ~3#:{)?tOy._u8 _|W&i+]&U/tz^j"ISL_8O5U+KKPNh0K54$M}6Wk](\0@;D1D{rsӵLW6PmA5⵱Y. +IV֔?B +X">NS7Bzŭ.#V#tb VJ%B/l`yީ?M~yt癈9#T7ӯ +_/: !4sYo-}4RO׋_ kב5keNuuZL=.=Y G*^r|t*!Ћ$wLI)) !4/$qΟ_z_;t$ X=R_4^?ZIjϯkJ"MzK0 m/ _u6aiU|/QJ--3ZW_Km$ A~_R +f_UI=- TGA=,]&b$+ B8e#I%ZU_A~,־SV/Fj@w$-V %_zM +j?*`Z&=I,"I,% A_}4ұ3_yCmH0~ICr9p$8I =]i- PDzu]&IH #ʮ{7РJ7v 'a^AH0xҷBۧ^ MWM0iWM%SФzM~o>JKnxI.I7qz$$ޖ1?ItoH Itt:Wi0*kiEZDo$/$/M$ rIlѬ560 һOK( %&#A% >+ PAl?aРA1I0a.qn\ya/b kDT+0 H>/Xeh 5 &IdXQ'a)p^N7L-%$PT!& ~@Ab:A!]!pa hxzt^F Pkx@54 3d#4#GIzhhP!A,*&DDDDDDDhE"0B"""#e*D)q,e!tIITV2"ʲ"cLg^ }Q,ީcA)9B +XvzuϢ Y郆uϢ gV"-$,U5#i/ KpA?I~gQyb!Bai'Q?6ݾ ~[*i4yp"?I:?6Sצ` ⒐1փ)BvB $Ni2>_(G@1փmj h?"/$}Bm-/bαT3G^}arT^=MK*%LzqTN3G^Fsi'Ӌ:qQȕB/϶ôQӋ!!͡V7Ӌ:qQ҇0Dzsfa3 㥝VE9c|J ∏Ns2Y )q~`3ߎu[AK#@_,R_ +k=tK8 P_/J5oɌRmC":_1Em-G'ImB4Du~\-&j9_aukIZVa":=:_Z͌]~u?xʾւ)y: n/'_]~u~~ue_bUVޖ_pU+KK {=/_/J ,POAb`|Ed^1D{tӵLW2{1z"O)PsӵLW?@𗙯ߜ37zŭ.#] 𗙩8ȘXF. y:Vߚ|[-wL0zU?Jz<ֺ}s^ҭ/A䯞=6r)V+_kc5#k0 %~TG]|"?t +a5WDp/oWDp/שWךK_n@.{ u?K ⴘz]$?Ω:eW>cVQ_T_]|Ve_g66UkH_A0%#Z'OM.?m}4,aCCpޝ>D5A m2N#~">CK~"_:4XH> x_Bmu5L0ȯ"鋭SF}~pOg}~`_&dWZ4ozu=WPg'x@ +\9>{># +iy(3G M. 6]%D~aZuM Mh/m2L6]%>#."?u]iF~c@zV^+:Ϭ%~|&_ /|vWKuC͡㲸_/#[fICoߋ--COkZ֩tL?$K[_5Zֺe}:5V_O.hraߥZ + %nE u]i] ,B @P Wz %nE?%nE uy:넖!Ah AiwTcծ(EI|B +<Kr **QV06PPAǥ,$moMnqδtZMXP?IzPtm +2;sXMnqηgG5b@XJۮ/܉&Ht5^@b5⻎E5⻑5 +j>ZA޼S-4 :V=fk(m (z[ [F ?Ql O)>`XA + 4" $Nc&"L-RW^8Lz},p϶Y#:egיZDzs)NAN"/vC @mBIim#cւKuy:Z_{(?Q=)E?g9~\ %jp +kf#9/zJKV_B!$ +_tH~uKR_5C_Vӧ@>}1iW+AjCsU D\kh.|a Ik1X?ïeqT^GY?$K/[_kWӣZJ_88?<~zS><ԁ({972;s| ~@5⻑PyO-`>A("=~ji'w$Im߆)ޗKoKm_il?%@&- km&~i- ޗ0 J> sRN39R- b '/I S,2E"vq8 Li/,0Iq+ ^2IxAc!@DhBADGYQoI eo2Gb +)h5"FY&cA6|92P:g&}9 D q@Ry)Pl6 @(`pp漋inÆٴm!o"ւp漋im0el6l6eET* Tvjl!QN0 TtDoػ3Qh&3 "cQpʅU g>Ŀ&CYqL028n.4P}MYBBoaitTDS F4I"nGSiXF - {Ytս?lps.oO l쩯>'抢%$l6y$-YPi֛=* {?I o>(_~[+{lOG|{Rձ>&j6?ZfGAMH6(:/Jr?upSWgONߤK a(G| ReigV"-$Ho<􍤿\/yb!BI/HKD5 ?$濈N0)'%TizOͯ@y$%<:'o8^q 5 Rt>t_нBIQ(փlWm-/PD d5_+BoK]RW^9sLzqh[z_B꒲2T' _m$߲89D\8fi\GK:sLG9JpK,.Tqs$G9'Qz`9CZ`CrAp@)i^0 +z'߷0.%c}9ZM=TN(/cZmC5z]k:5kOe'N_iZ[pIa#aZ͌zG^h+]&UւKuy:WL n/IzMWwI[b׏뷛_iiz}=W-/]-Q~P}KDt3Fbe"8?'^E?-gI0;] SیXu=zO3?n/:ɕEoXs(AuKkUoXa/3Fsׯa_]us.kkb)V]yX^[KΡR۬#@z^k"J }&R۬#@z^I+86_Y  4Vu<;i7a+IC?X}uZL=.lF4U&ʾDl6 &8^YkIu_Y!r@5hsI2+Vc][,$_ C_Vӧ?a"`2OPVߚ V 8:RW^`_&dW}-#>8'o_ /3 .-}XksSZΏ뷲:OD{0^Vԇ9>@G迲9?D{0^V"?Z ƛ]tKojIK(ol| Au |6]%?J4@$E-KnSҴ +iOm{?-w<7H} :WKuC͡3I@&WKuZzۭZ@!I_*0 m/҈m|V_Nk0 m!Zֺe}>ôZ + HR z>շp _ %/s$pzJKm$ V?_SimZZ]D!HKPA AQTc4Ob$*1~ AXխm#5 JaLN?#U_ a#XJۤ᠌Y J/gA\QAUWkKwgA\QAU5~4# =RPIs@XAߥPg PyO-[(m (ryOKIs, $ v )i7 M/v A[I?v A  Ⱦ`$0)%MF+ xo$Im߆)ޗ'a@vb~SK` % X ү~&KoKm_il?aɽR ~,RZ[r-1_Mn[%@&-~% 0M~t%-">`"A! Bb+qjIwAlM K%~?@CL:Z]*jzۡ MxAaEBki7( AT%& < /08/J}aC4(Q'JFA ݬԹd H$ %- +"p u=P! 1I0a.qnZNM:L0LԸ M 50EA-0 ; y8B^L& 4/L 5NA`I{AYZ/g!j080AGH4 ^X,'_1@ +D5S&N)ɂ`!B"Arv !""uv;FBh"Iu}K"14T>9x3Vzdf9ENᲫdQC /. ? ML6Bέ¨ "XMg "VCZ RQh*Jz 2S FO齵( 1m40?nGSU {YtLMKe C=: + 6C|~/JlOG|{/__[Wd?NA)_Qyb!BI/HKEh0釻|)$$I9j#;ioz'_1O:u8kAB#SѢ/!uI_/*gKf-(~/?^YF_HADC>V#MgUts镞_O/fG92᝴n0?3GTV-=~_E9@|'L1߰# Iji + s5HKK:{)?t~Kn~"WLz]~x֐/J-R-FPrsӵLWDC+4Xbg~jUoXs]Vi_NAE]DZ3E[^%z($}yTZG^\$&IB '/I[zb$+ 1HAX:ŝՋǚ?LN Ht5\}5⻑(߄ } A% QO)Jzޖߧߏö߄J}1]ݯ4~bIbz[|}v6_0)mߏm/-t|| 04Gi7m4# Wi7J?`Mq5=[OPm& i\PD4\4.  TKaz0sb 5II vpdpl1B | aA"vqL& 4$hKXDa ^XaWIT! 9&B;CЊB#B-(DDhDDig"(ȋ"cL#!lFf(:*}Cel A:ɦp";ȾUQ)2_#yFE3"`쟃>5dB"Ul6a6iɃa5 (ͣZawDaݰ6 QvÇ m!iLh;DoBn6-: PM{`+W +TFaU0q{}E L&/L0 9ذe>æTrZC_O%AeI g&ۢ! .Lz 3ef2~gnc"ח;hu_1dT~n)mzF`aP:u_[a[e?eM2: + 6Zm%ͭ(4#g&]$$}ma QqűtqũC=~ +RlRPrZ|?ۯ'o޴ΫDo:4%H#N?:IpXOvn<GoH~_oHt%w /՞_(_?$7Y$I _ukaN1g ׽,K-(K%oz)]Om\R58 ~pk#k\9(0 fi'"K,<:__g836/#q3^E_^mjjNt}/j\鮗G ϣV+=y iBMt0 C X"/t/T+Sai/d ɅX5l1Ћ~98ksjj`J} IG |ZD >+ή CI99k]/Q#mW!x%`lᩲh:(!Ηo&!^ʡ:Qnʬը"?]{VZ͌_udGK3ϐvN/i$_Z' P=zK\_rlT +J_ T"?0ajߤߏZkpD]\_vP']{(?Q]k~f + _/P~!5S6Pm_K׼OzAZh"_s?^ +n-YBA%tH8 *b^/:XKu !4_Ύ"$"&M{mi5z_v\Sao^G(a _I4z i䀇oiaDp/Dud\0{}GϫKM">}]?2^ZFlۺJi~-0Ҋ?,7&ʾDl6f_ +Ë#Z|+-b>#|r@E=.VPqAWa49 =K-(]IOCӬz?KR.9tub-^[C?0p?V \%W/^OԇD}[/!zXh/b/"?]G DYvxMϪ/߭" 몯KBKKzz-//_.@i~/ ߥu_[t--COJ"URsk҈@T_Ko-.i:+x=T[}.zsf_;)nM][ZZ] -)8?_)^65 Kޗǚ?f_࿯ +ץ,% A_mS-r%z}/rC(ZEaHWK}/KZA޴[+OM:_J[ Dx__CPQ}޿ 萿 o_%F>z=+_8m>"P.:zWaҿI.!0R. *La{Z\).% sR0Saw =&HԗR 8 A[uW`+K0iR9ZbK8 )2 AΡ<$á93岁)ElVokIqRKi7NH,G + UBN7\Z Bd:+ ` ~^m +ӈᤌ2:CI P^ +_) AK#D:6H*HD`! AP%45H*I T"4"FDDDPB"4"""""""(!ɰ;FEH"#%TF"ȷEsn\cgÁ :gd#hU",Ԏ< O;1llq'1A`p>E4'4ٴm!l'i + eUYSL3=eU֨a,im 63-Ąt-DK3W٫:uw +-ظmB$vD&2LRU٫ &6}AIP"#}7 +wTȃ +aaHC)70As ӝ$Etsg;XkaZg;XkCɶ#E t߷ +KL8`ŗIAAp 7t:TޟPiwLu:UT(mB,L + 4tNu :=: + 6C|~TE7MC4CI6H +B\U[ͭzuv$x[ѨǺ}/d/^5$#RM ~F>=ӑ8"Wg_N29dKmmQm${OAzSӜgV"-$HoqJ􍤿]S,$J/K~PK!u5wo8(C/?6#I/rS#i'%YqK} $:QssCZ@H3Ro}'&?HU~^$szY(pV.+ Lzm_AZ!t4`9 J= qK}/?^Y%ͯӋ:q!/7NM + :!SD|SֽED B!㥝VE9cV{}z sሴ"y IV^"/t/TcZ@L{}q R4O  |qTKbSKPgIe}i6x>-P"?MLZ|IKi-Du }R`I}-'qKIM/ \56U '+]&U[ )~*J ZLE$j>UҴ TKn቞#$U#~<Ҵ T"?g10;]^D?}Ab`l4H$`T'}%IKn{(?Q]kiuj-:Ys룪0𗙩>R#)U%I%C4H*'"֗K9bzH]5f#9/XJF` $zh "=izMA/k׶Oyt/Jj*ZuhKҭֿgWDp/L1e a3~P_>!>_IR_]|VKcVQpHNP AkqP A~Fʝ=&IXWƗq +H_A0.p~UO* $/ x_|+/k_A c}/Ub>G4I:AZH -\$_ C_]_i/_ /(g5JD $ ]o_너.a /[ >`xAZ R D\^Fl5P6-{t `xAZ Rׯ?ZQ߂A&Ϯ-6]%o!2qa&]uWAx @$]z[RپgsΓ~/X<=H\U/}^.piPAk]/X5͆^^IJ"Aֵ+ѭV}WA]e:t]x@A>I6D]cʲ]x@p _ %/s g%nE5Nz`gL_I(A~=T +1xP?_UMQ-.`p K)W/\|B +:_(><ԁ Ukejw8oce9Mc(P?I|y_.ֿ ΂zWr&"?C_Ifik/yCm0~IC~{l_` iu PD{ $4#9o_箵 PD{m-^bIbz[z[ix _-#ߏ߯@vWm./3y7[KKam/ooح-JA(aimoKpKK% ??k_^-0&o-Ka7_OI!~[kIa5Tm>"@CA DQǤ߇R<`O5=[OHHJQKeE0tʔil:K %>o"k^O, x( %W=&:LK[WT;&aXd%P ,j ԕ;&DF Wt3p3A V$ XAkaGo5 % cXk P^vA"WH- +++B +T) XB8*AGFd +! Q 90B;CЊB#B-,F-44ЍBB;C4&H!Ј +DDDDDFDDDF""?v,Z2(D]ز%hȡKr<#Ff(:*}P• +Y$:$'dOVS""Gud$:$'dO- ma`f|6UldFl2'0la6 q\l;LNjL"s 6ͦ)Capۆ(UeB ht(MSQh6)8lM.ꩆ#$aŒ&aIf*mpWqwUVOnC QM„{ : +UAx3 Eef2g_p$ANBvͯH@oӝu/!.tWz~ڶᲰA[8U#DޟoY\U[ͭzu__k]$MU=6(DL_[jǺr3_]zx 6(&MB8a_H/ O朠[*>_MKzS(@먊D~z_ T"?b\kKejmAM~֗ )"۫"#믯e"x3K}$҄{{))Z 4nri:t]i/:YtPXbgւ ~aה_N#5E[8h/6]y@+t_r:_~ Jy>|9鳑v Jy>XM}־&KJU]aFi %[_^:_fW_i5>#\B@KA}m_Ku"=h/~tƾF뤿K~랿o,hR(l4zˆ~=K-$+ H&.~۬GsD'\/ g2?z WkAI03#$Ο>z[}f@$irORׯ?_2̧0H$9߯Ώ뷫Y |=gwI.4K_>kb $k_?ֿa&KIKGVHb:L-*_gz?~V AK^zүAm/8;מշ_iZ=+H Dvyht_OzV @&9"='pA}O?HHm$I'L>KM؈$$ BEhA$M?aH8E|D?F/0  B M 0A1NR.O0zL1$i6P<$һ=P㠂 =}*La{Z\\i2)xI@ ҇zMItȠ`kx <\i2)xI@ ҇zM]Sa PʠJ+b+-'RA~,z NM:Q_ ^!K42]RA~,z NM:Q_p Bq dJ@ bAHa$0@ Mi D]M k *[Ak +@ a L& pkH,j%ztGFd +!,BYA0E8AQ:0ZCAN)!j0 !dRi D i)DthM5R +B#DA% A:iI RF#J@t +FDDDPB""""""(!ADDGZ","L" 3Y"14FE5avajpU(eZ/u 6ͦl +P2=iABe-4znB):-}$p}M=hp2aqtoaa^74ߥL@o]&ޟoskA2: + 6כZ YPi!mUH8ԁsOgZ4>=?FoKߤdtiў#N?/Jp/&IHm(mߔ-$􍤿H&z/0z/_g_(8 ^ ,KB $NCZp M##E9G9 JyS8|)#לYP&Ge3ϯ83kЋN,'_FoV{qV+=.Tqs$G93d# IJ5oH_"_S |ZD҅x>-P"?6[0:_K?3 /%N":Z!IҥD*_&U]~A+ T !_Ziizm<_DCH(Oee"b)&-YCa%txbg~:YqkK ^f"f?tOyU2- IשW$_F*WDp.D|}#">}]?!aYF#M#+-b> VZ}~5A0$zRJzcnzS}>?~f/ 2+Hϼ/׭/<Rl/+Apկ}o]ׯIzf`_|l| AˤǮifICBO<_ /\U/}z_X6(9D^I6k]29Ω'_sksG %$ (?? <ԁgG<ԁ(=V_WamW~UuMiy~0~IC.2*?~A("Ja#18_D`GkAlM.SV!0_Fz4m&< __09R__08( TzL0O3++-'kŸAi8A6zh1 # o6?8'a a0a([^,^($e5TЎBhG@DhR DFDERܲɽH)64چv|#vc9#SP-Dtg3`0y+P;6ᲫdQCgp%.l 2ᢈL0A)Dk-â 4tJQNUBX`rDME>CH tS։ &rm)@e>æ#EK+ypMFBt4EFBt4EŗI&^ʚI@WI8eqVtmm/&]$YPi!zyBTIKB9Iit뚼ԛ8T!:hCO$G3㣠ҺIpXO_[i?/Jpsꭇ~!y%>"b_=!_CiF؆HEߔ-$VN_8Z&0M|K):M_ Ru%zG/nsz'D>)_ID5hg?ID5󐺤I6tqhzWk,(~'XњלYE7y_)~ ϩT>@SIPgWe} +ŪG&GrLC/CLcIBAf_{_n"~a7 +ǿʾ$?ɱP*N+m/C=9:+O/fZ}ZZ^P'\~uL8A+e"DiBn(6uDCLWf/"չŵ,:NSV#t"֗BiM{mi?f?m7r:_ʝ==0HP&ʾDl7Y8ƽ/I}~5A0)?a49 t$_KzuHBZǯ"`2kߚ A+O?AaE~c>ۯbԇy~L\zz`xAZ xMB^}%陁 +u +r:}zA&:t"W) !K0L_AH}a- KKAӚ ,rl _{A$YE:Z + rA~u9?_ Yq$ tA~AP /ѡ6 +<ԁgG(R~0KPI||}&_=_kQAUH =ǎr9 ]Qy8K l AA⼜oһEpWᣡ#[ 0Uhx1^lTM`.*#B&PTЎ#i1ЈD吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂsZޫ${O:}/Jpg:ӄ|K{mX~PI/՞/!^Tkς rH +C4XI O$&}o8~x@VSV*ܡ&|2q|vUy׵H$pcc56\WG{'CB/eRUoK]RV7V,믫d 4yOks~N:Q:_yZ"ƌץ~fȏHe|E"S5{WO"zs_㥝VE9c?_KΟχ0?T8Q5Zzנ4D_ޓ_CkY sc 69ZMʡŪG6k_ڔW5k&bD}Oe'N)_qO% K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z*G~zZh/?m q#ޏ3FbqlW^D=10UbPTG y~"7\g'# +!WŽb֗sk:YqAz^N%c_oa{/v6kkZOy7r:_5I{:KAQ I:}_/gҜG@C?XF*IZZk*8]o,75OnzȎ&I +W묆/:Ni}/©mWa~0V"]B )$>]:x"?DD}$/K~+ۭX:4XH?L] !|-cˆ_D|eD|e㸑_*^mk`_&dW}(]el._rͥqzK,]kGG۝##&A1qCI ԿKAh:_ikIo怬y_.I MNNGO_>~Y AҤ :ϤUe}L6^|&_ /?T0~^iWL_-߯[/ta &Q_ kK^$ uƖ>A-׬g'괮넖!I(Ag9P?-*D^~zm%TKWI|B +/AiPH?%_/(Amm_k__#5 ZTҥ{Z_^$z_?IWZ ΂^ +>Ia*J_]hA_xX<Ϭ?$98dAii,}aXA=uUIv AUtM&XAPoK/& $TI/ЌVߠI;ez7/MI_IzW3y7[ߥ]7&] 7L?`h%KoK}P:][t >oIXA= oKPwAlN7A}& =R.:Wi0*kiEZDo$/$/BL39RI dƵ<9:5]&TzW`i%acT$x  ]& 1p jL642]aРA1I0a.qn\ya/b kDT+085I~X9A-xk4 _+ +?D%:+ |e-%A:#E +pPAA3. !bb  ONK"۬#CA:7DDhD +H0RTЎ$ 顡R""""""""""#B(!;v";)Y[";ErDWUDL-dB"׃>4F"g;C k;|liiAV D-5!C:gdB"j[x&6ͦlv,7DaN|בu ;64֮8mL6B4.( L&/]‹a ŦôL0j7Gs ӨI "5d"g@gvFuw +-$ 8`r\fh(zAs ASϡDԄIlptGH +aaHQO)7ef6V@7\4\fh4v p+˂pXF -zBBd`?2AqeyBt4DP\ 6V|=[6V8zTQ) {mUI:NMXl!HZIť+kuWkMUNDaĽD?b!ԛ8U:z|MH0QrZc?9ů +/|^帅D1MR3`'I7<z Ҝ>괺у:ǽs B?MkHK?O.!<ڱi$_=!CY izF_I#~m{"?#ϳ_^`oCIΞy)l=^paNh+}kAi|֑NH$pcLWi2y h?_(^?1JJ"(DD?M/O*G.+KC_E|פ\8z^ hmVNY#ІCADC~DzcFkҿ4^qdg:שЧ/>qd4D`8(a_qW'c}-H}GZ AւervPgK\-&ePvRg#X>mBG+5ka&bD}Oe'N)_+Kn~կZ͌u^דU]y:0tW"?Kh!]~-?U+KKPNh0K {KnްD}A~޿YkIu_߯qθoKaC_?/!BH_ X+t_4AHϼ/9>RKկk| a_EJt:ȝ}Gx_)G^4ot]#]rº֯_ί6  ORΏ:/#So^f."?ul?_.I MNNGO_>aˤ|OJ+\U/}a-z n7yo "cđRAyg[pKKA]ֵ+QQG{~I6/҈~ҿ[_kWӣZ:++t-[B'괮넖!I(Ag9b/1^A"-.KqE8*SZk +1x_cz<~zSKF?m*N?ݕoY}_(? +<ԁ҇~_+S9'cTSZ^>+I~>+U6F3y >zץ-}SZ^+qT{zA'Ke[(k㯥cf>` sj?Pz_ƅק6G?#w֒ZKaxo%GQ]-O.m_bޗ[*ZޗF+ xo$Km&1H-_[pIUm/JgoJ6ү[r#>oK -L4IR|| 0OKm+Mz[-";XAMm-K$[D&"][t/IIKm, [K`v ޗ zH6X` +a+zMq5մj:+ImƐm& T PAl> 'JGKaIpL4 taPM]'x@_zS'JFz`[ӤAҢpl1tXd&cXd |$áA1A&b`] >^zI$D8A6zBjKi7N %Kh0A`I~L aL  5 &IdXQ'a)p^N7/ b!/&K J`>V$`( A!,RHZ>ႠgOH\B~ ~:"=WXI@AK 0jP i@54 3d#4#B"-РA"4!b(!AЈb""#&HID&"Ȃ#%J D[}9*׃>5gdDRgLd֙Y0g^ ҇ :g̦PrUr+" p漋inÆٴm!m]Æ@N|Ցu 6ͦllam0evpmD 9n$&Pb#]6ݔ]‹A0醃%BBauY[VT(DoQdݑ4Fmén2 ˜Xn.4P}MYBBoai.P3H +aaH7\)IoaMa(e>æۅ +u @ 83(.zB#A(]&ޟF#0n4MDM {?I eqVtmo*'O׬CgBRB2S|~L*΂MuH證H0Qt*V!|!>&j6ƒ z[z_ T8lWs)}ץtUw<z Ҝ'K(I$Ke+q}mX~PK!kK6]PͫIzF_H ߤm%IŔ_K!3j%h|)%$$ʚM#}IvS0:IIIh .='I"(yAvB $Nc&"L(GHmcI"tf2I$c!c! l4C>(8i$9 Jpkg`=/Nr5ޗ󐺤3G$^BJTgL/RkЋ>' iŒ8Qt4?KסY#I)G>Ӌ$qנg4^qdg@1I,.Tqs2Kk"=9^a 0 If,.Tqs$G93Г)z0yKyKWAp@죜sRQZzנ 5҆L(P@(av"^H,vp"i6x>-P"?:[搠~cZmCK-HJwg#^zy'ΞO/Ҵ1:5p'KKn~҄l3U":ۄG_KJK +"?+]&UւKuy:#(3xʾIu n%]h!7?>iiz}=Wҋ-/]-5AQ5WWGN {0K/oK-U99i&+P~!2z S) zK/I?OiVi'\/A0"@>}1i?[S _AgKI03Hϼ/W eu@ ` s}WPr A_"=l/+ApL>=BG^("H^@_K(ol| Au |lK_aKxOĺҍ&& 48lK^0ge@lK^醿ׯN/"}w<7H} :WKuC?}{_[7yo " RAygӥ$D_eqT^GYK u;0Rw8?0 m/҈m|V_Nhߨ~I6k]2!h/A0Bk]2~?km|_k ,B @Pg9 WZ\$&IB %nELRV%nEasItOB ^>!~A6T~jIB ^>!UF?=PÿTuQU/ ifPjHH҇~_+S9E#U5$*/OHt5\}[hWr$-"ᰏ` ΂kKۿ$O5T֗5H^ZdlJVO)ötS:8lAJSmA9<jT=_ö߄J_IiutLö߄J$ۿ"I$#_][ov 'a[i7Fwm&UqЌVߠI; 1H #; R3/ob׳43y7[[jKKa0<-_k Xm/-_ ׿[%@&-I}߭ C Dvz_@A#ޗ_i Bb+qjI& WMAi6i7$IBk|D:Kn4i7 :W\w%M$I/i A%z _l`i%aƩzS'JFäOOK( T AC'JG֑$08 ADBM󧥯I vp#'&OT Mh&/yŸAi8A6z:NMcxAA&2 x(A%`IxAaH%12 x(A00^F A` A_|0H00pa i/ A Ipa 2Ix}` + (4L$HA,TH0I4(A@OаD  A"4#PDA +B#ChG#LZ!d0l"#B""4!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R %QIKZ΄؟D a5!%>=\sDFG&ciAUn=Ny]>83}a?ziu}]i>oE?gV"-$Kg"HmW ,\7m~yYE BS#ɯf8N0)'%_/0f9%ʳ(Iz &vUy׵H$pcc56\W8`"S(QSʰ9 J&ŝ?z]u4<59DFo'^ +}B(~DzcFkҿ3^qdG`2"?~Q0yKӞgG,.TqsiB_ vt|=q>?qΣK V [(/kA~h=0I&>4ֲc^cA# IT>@k>Ԡ2jLĈ_ΞO/SK^__MWL_?%u:A +UZVajkZYhId\] S";Dumuy$4tÍbP~!~lVAܩ)~5#ͪDoWu󓑋m ޱkKչŵ,8=/'Uʱﴗv6kkZOy7r:_5I{:% o>*%~,SpH}g_@TI?_XK^-}zbJ+(o[߷ fʝ=":ⴘz]$)^>zT9i|*v$0V"]B )$>]:x"?DD}/K~KKa=amsEzEВ=}|ixK9G͆^G͆[!$tvJz[qKկk| a_EJt镳i~969/ DTunG۝##&A1qCI ԿKAh=i%Kg-|K(ol| A SSϥBh/_/_ >WA0[im3I@!%L%_]2[?K.I~E&Ş.H [XOi] ,B @PsJ+~)zZTCKi/ҤDץ:XjM( HWA~BJpG}_KPI,־SV/Fj@wI KK*K_#DW<~U=_kR'4@,%M/Ӯ It/ SXaiW^ MWM00MxI/a;__ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JuqLmI-DI29>j0O &rmԐb.P2DW$3u' b2t:U N/V3 {Ytfפf L_Z`S El^\ײI!p"ykbgB$>zaF~E~4J%K\t=>&j6" s {k(RB㣠0mG? g:}/Jutq2pmG]kΫN0#>H_Z}mX~PKE25!y%pn?"kvS0JII?H)ɯg濈;r_'IO:нBIi{_|9񮎐,5b"(^Fz_B꒱8 FQ W6unm נQ8 M'^ֽ~NeTq9BSk?]:j:Ӑ$# ISPg'eu~#^\tQKD{rկ뿿\uG^tRfeaWwIY]`x=\4GQ~=?4VGL#NA1_]qm~߾Z^?B +X"> ^b-zfu|7GAZ3Rׯ4//l`F&`EXK:Ίkk׶ob/. yVa #k0_(Km--&J4@$_immW{>SҴ +қCkSu~پgsΓ~/ZJ{n!KA)ZZ + ih"tIiw ~I6Z ltvx Ș+mW ih&ZPTGAz_-Ҧ z>շ%A6J_OT[xA` lLReLh)&$ J4(.-?#aSo_ö߄Ji֒6A}=_m4:C&V, XAt$?)%M~F+ xo$JE>$ z[)<[!imBm ~~,R}va?g{@Ka_Z[daKnVx/m&K}P_B&$ Km0Al1ޒ t 1 n^-=`# Rd[TP9B_ SA +xҿ6OI%x -xA0>pMK&+e(i`x_PO_K_B +X">_zA P'^-iq"W9΄fIGUc"/?!L`~Bi }>b?a 5_X5&`%^:YOaZK@&㎱S& :zU^G(a_&hEpKat:EpI/t"aB_.#]@.i._xA& .qLGd^Dl6B< xV +e_ pe_ e;㮹sEDl6dcK8Nh荂G:ᴴ|0~e*:y ui$/a49 y=\6Zu>(!οm.aE~bkY%m$GĎ@{DJOp$t 4AHHD 4\ Mh(yuZ^ʭO i>t?"?sSH-}U A~ Mh* IuXŵ_t% -}.𛤿ŵ_)ZimbH}ZOJ+I&s=H@zVZ[_CSҴ +҉EH/sԇ-hGDl- m$ iiZZ$[+J - KKAS#KHGD#KHPTGAzXI(AWq9K H A^C_=)i:+%uy AQc_9 _Z + $/B^ZZ]D!s}/Ah AiwS--."BBpAa#kI|~05 /Z@F_b +KHXH A_m_ +&=,% A_mZZ^n_@-}I} a(Z +n /=,% A_pOoTJ6+ZAީ*KoG簃- OoT3^h~{0$I G簃- On4(./ AL4Р/=_nhP]ROXIXA + KK ^}K!Aw۴7NIZ[vYSB۴KJկZ[v$1 Ko %A)m[}im y֖0H< ]ᄴsBKo+ C 'Al< `^Uo--X$ KnVK_ o---JX` #!Dx /5 $H(-"7$Ԡ!8 Ԓ[PDnI-ҏ@CpA$|x@bBX` vӌH&( _O\p@[IKeE71A[Sp%l @H,26*e%vL ؒ=P=Aa$`L [d Ab?D%(:@4W c M Qx5H,D @- @AcbE_pE&;X#lpE $ktPFAN*H""ADDPB1sBiq "MSζTOY $p&vh6? A6 " aɄEz i0àD'fFBpU +8a"TɶԠ0ŷuX`rO@aALnGS8V(}T-8Mip%_eMy"yjMԛ8T!:{?V)C tq<굦t\tC!", a.!)__<GI 1{I8A6kNr{_΃ 6:uE]? RN +'Vכ_񲏪6_񴓫u*q_OCZy65Ϯyb(j_ͬsTV{zKGgP 9>y~7 0ſI~ ~\tExuwq_^G+wq&}Rof_{_إ׎S^G + +J_o6{+P8Q~=?9uf׭xXA^:7?M{m|q"o&`F㎱CE7=VfyXZ?=pJeNEpJ)4U]o3 Y9'IlM;!= m*Ώk8NhHm?-_4y uimHjWzI#E_kq^ҮD]G@8mʭO4yuksSZt}.Mŵ_sԇKA)Zi{J{n!S +?G ih"Bt_"oI-,#h#G0A~:|B8@ޗAuA'KxAv9 Qw|/TZJzޗРPd^CiOWI_$6k/bݤO -ko/0\g>q_im l0XL< +IBmZ[r,1 1_MvD` K B a_xB@Ca@?Ԡ!& r>rtk MfE6q1AH& kL:d ڵ=P:A؜\}5H,GA Aa &SaK0U!{d6aDBT#UT"DDc,U刮isTv$& vv!Te:plh}.eufQRm:+j 0M8d ptM6lyPӻal0dn`lLvL` +.m#R@M_g&a0n$&PA)Doa +UC(Z'F3p[ ;.34 p8@96e莑qt! S:mנȐjDc,sۆ1nv#0s.Y(߻I+Sn&SJHT6H +a|!i'l*΂M 8 =eU| +_!Ľ>By6p)|BtЛal?FB$ǺˎHԈ"6P* +χޫ${O:}/Jpg:v]Cyb!BI$VzB,5yR > +ȀU *4XoI O$&}o8~x@VSV*ܡs|4VA3^ׯ㶖I"tMQqֳOq_~Ny7pT_h^ʥ? ޗ󐺤/n LY_GDGf9׷A΅>gEN"W^ֽ5_8#0_zjfY+ezO"zs_㥝VE9c?_KΟχ0?CuXhʰjA}#Xz @1쌏E_ZM7}~id4X9;(3aG.ij?};)?j kZ}@e:15k&bD}Oe'N)_qO%殿 &i+]&U/tz^j:__ k_W-/]C=9::+O/ֵ`Г&5V. +) +zZh/?m q#ޏ3FbqlW^D=10UbP/8^fDy_W$ӭGK^h(oȅ_Z\FF-g9Ay:Uoa{ "meI ׶ֵ5\1o!tjzu-v*#z"?GO_[şJsH +a'kK kůUxⲍv#WSt]oG]|VK+_cCQ +'4?_T׶?a~f +_H_A0$}_OZG{ț^ȏz[[[ mֿ,$_ C.KY/">l2">l2y WH/z [ۍ^_ /V LKQYQ7Z_@b]&">Ώ:/G(3G Mh bԇo8~?uX%WA0[_z_;t$ X=R_4^?IzZ +MoJe}4 m~{~I6/҈^___KI 5zrJIbM/soU]KK窖_Il4/UmA/B ZT#R?-KJ[f|~0(RK-.kui}z_KaU6F3y >zץOh{XKZAm_xX<Ϭ?$98dAi|}aXAo__֒U'Kaxo%GQUm4{aoK/& $ -RoK#<7N_& 1 +6> SXa6JgoJoILH 7L?`h0_)*^z_[iۤ?ME%wI 0&avE~0AЦI S_=[O('!y! BaʔzL=A&5&Ѭ560 һOK( %(#AȀ0a`P@aAz I vp{ {Z"^ 5/4Km _ 5 &IdXQ'a)p^N7L-%$P쥄;(qi/0mU +(XU +B =!pa hxzt^F,AgѼ""#B&PBArvt OM ADW;2&qF@H ",*;*HhE-dB"fZVRCrvO\vD"(gsa0μA#LÆJ,Hh8d3Ʌ-<Nu 8d! `4yPlav 6U0dI6I;+9\4QY@M_tl\^atk@M_!bBauX&S0â,+o0èUeBbp3b.34 >#ES.Lz KYqL028n.4M40} <6 <$)nypN+eŗImXF0- {Ytz&Ӽ Ӽ3k3eMu$/]%kL=C* OqO{C~q{Ѩ?zN'lOG/||rB:#L8o%9帅D1Mu)_mmH!/Jp/6e!16&/s B?#jk_BI.~_M.ZՈ I$#i/U?q7ŕʡ)~pmo:㤟m7Y `kz5UqBeYyȚ-A|x_'Iq[нBIr1&I[^$јkA#mssi|W.rT?(0 t__&%e<=KTZ/BS_[ڬzZ"[}t[NyZ"Ӌ!/گ SizY )4"5x`iE9cgFsR|,yΫa"uG1Dzs>afiA1~҂3uqo{*=נ./Q9(C[KejtU9NB(aDi#D߰a ߰a&|om-G<רtCJr5k:_nʬը"?]URLVtRm#oE^uפ6Z͌^*G#Ik3utW"?uXr9 2=_;K-/_Jo/J۫=/uDDG`xC+MւbKKK^zAZhrsӵLW^E?`| '>~"[8ȵ_(uIEWֿ LΎRK}[,$_ C|kƿ_BGB?4AKo&dW}&řg_/_ /3 O}&fyu:?&?KoZ:? `xAZ @ nT5]h/tK@$UyKzz5nK(ol| Aˤo֯]uK"V6A ES$_[5-w<7H}| ~m $/\>N$/KH$'K$I/#Y}-Ii +ֵ+(mk>줝AZ + K_Ao$^98Km&.um}\$&IB %nE],iwI},iw_(HZ]Dץ +?8-b$*1꥿6/X_6K{ ?meH񭲴ץޓm#U$^f&yy9%iRm-ƶ%Tj?*$2\6tK#DW<~UuMiz[` 'p +wZ_hP]R^ PDy&[ 4:Cï7_7#ĻI?/ۤ\~&Ka$? m-ޖ 7bIaFwmo?y~KnKOүKm&aץ}7^3y7[aG#_ەdNnx/m/?~% 0MxAaL?_/i$_B aIa?a,0n~& CHzK1 WM_IKqIlR.*h> + `å~\Ba Ka5TA%&_a\?-( UDŽ F$-! + IׄQ'JFK%7.H !K]~AAAaXelAËp%l MMi2 AKiB`] u=P ,ֻkP DrMIzmjAdAB6X*[A'a)@q ~ [AaA"v&Ka. :A& (tLAYC}*HQ> $M#CX@AKHZjKjT"#4 A0B>)2@DhqHE T)B5QDDDDDDDDhDDDDDDDb#-#%Orv6 %Dge/5 reVȢ =2"mL6BlE : +l6ػ`nB):}2莪-IOZ$\* +KE\A0]$hh.a9 + :s.oOWjJ__l!H[|e8WҪ?[b}./MiLZ0# I4"?) D}-/CU QΞO/-Du[DkW(l?-/~ +I}#a-_e?eXF@eGEiZZ^[ue:eyki G#NA1_z8g}_ii13"WŽb֗_~/!5/I5f"oz WZSJ#_#XF*WDp.8@\B ]uZL=.kJ~]idRKS: UJ~GEd>KkAkָK0  2+Hϼ/~\3X疟"?:D{0^V"?_ΘKB30/uM Mh"pt4,i2}zS$ZA{7yo " RAygp*Z[^?pk&M+ZL^XXנu^98$?\$&IB %nE\/ez_uB ^>!UF?=]$H=^Y"Gm_(=VxqI-rF3y 龶lWA(m (ryO ]Ka7#ĻI?MmwhKoЌVߠI; 1H7m--<-_I'Ko'OI[_~% 0MҽޖD`XK _LEz &oGFAl0\> + `ki7.!$-! I"x_DŽ D (frՒV+-%V (I vppl1j>w/P} `AkaG 4-`\B~  _vUUDjT$g$Gi!J4""(!ADGZ󳢸+Ƒ6Gb*yJLTj|MΛV"D2- P3}hfܲ2*pɎ6 O I]`4!Yal3<' S]CMi(C5Z`Ȣ 0a$ˆ+h \*EGf/oZl2l]0edHL7N]‹gx6l L0 9^ˌe \K$ˤ?.34 p8 +KDA0]$hh.auL6vȠJZ6V8t:U+e :s.oO"Xh}{*k=CJQ) {|!mUTE]ޘ#OR#a _K?KLglOG/S$LEHGE3㣨d`?}Dgؿ]s)t@DZrlV +CgJa!~^+O_gV"-$􍤿V+S{I8A6MuqE_YvS2IIIO$k s 6mu:uk>u_9vB $NCZVA2!?W9}eB\6%dd>"п8mmk6um[Cju< +t[~hk?]6d0ziŝ8BP5).g98{+Sq[P~-=~_O_O>ֿ'zo:afy<ҘaG.ij?i_F?_#jj=-U:5kh9>tRm#죯(ˆS_}z^Ǧy}tWL n/KgYFH()`;HRMqo"?DJ/J۫/B +X">Du_=\4G_־<Βav +`[:9З:n/:^&ޱkK ^f-IeZ}IUCkˡ΋!ށJ~_/f:M_A2_/#@l2}:͆Z- KKA{+J ?^G _?aA$Bt~楲,vURzZA +_Ao_=,[i7o-G8넖!I(A$mJ fBHm$ "BK>>~/^{РA!UQWǧ ?$Z@F[__%MiioKi"Gm_(=VRRP%E_)yA~9PpGK& ΂kKPI꒤AoG簃sS:KIKlWZ(m (ryOI$-XA + J } IKaxo%G6~C&oI.r?i!7z -]j[}bIaFw m'm! %]&XW_[zZ3y7[aA~k KnVtIRt߭ C Dvz_&Dw GIAiIa)XK _LEz &o=!~u'DjI-êXE~ҿI$K`P[w\w%M$I/KBb a^LY.6q'*K^LHZB a{PD4A:PJ?'%Z1KN&G@H,2YKirʲIGMM @%d4I[,t)& %- I S @P@ *<{(H,t-.- hA-J 2 |(A00_h0@ȅj* {J0UB" $ UbF!,W P H %, ЊFd +* #2 6%N!HE!O )R + ! A"4"0BmFDE""""""""""""1hD6,"2X"L"[y/ԎLL3}jö9;aɅ ["Ӷ aɅ =2"mL6B\"pʅA0N]El\*D'f.2$&PNE4h#H=( 1iOZ$\)Ɨ[jPbr*9-qqtoay8lH,amzF`nGSu>0eˤq2rt$i|!mUa$zG~^)3u'#~Fޗ4-PG}ן>ؿ]s)t D޶p3? n)_FqJ<ڱi$m%KtMLq %=za/^! +qI?I!?6pJ:u >x"΃WFнBI01փtyQOלBp Lr>\Rᷥ.+)LeER#gfiCI omt o/KסY#_I֞_ͬsA>5gFMtK:sIz Oߠ0|>B?|?P~-=~_/J^=5=tv?5 r8pKQ-Hemz?_F7߮yƒ?kCAt'KKn~òͭ("I~ GIxʾ_5#5-5ƿ#G-/]- J?Ү}H(OE]k#kAb`_>Duf;s z룪?*|[-iqAuK$/eb?>Xkc㎱_&<ֺ}sR/A=}uY8-}4P*#tO6LF~#@|G<~]|VK:e eJ#M#8NhKsEW׮B )%}/?BGB#ZX?a"`2O/:Q_9#E_kYk\% _Ag렿tSh/U/</eV:GPgWx@ +\=BGk_~f ĺҍ&& 48lK\z ?IC`4T>.:/sԇ)-| w<7H}| 렒#?F~I6k]2 g'_E_3^98$?\$&IB %nEK(?E ס^_( HUTc-E? "Gm_(=VȒK:-/A~9[yA~:Mm/4AsGWT֗~F~(oGlWA(m (ryO WO_KߏOKa7#ĻI?@KG7i6_'a@vb _M?g{KIq/W}Pޗ +A$/>wAlM~]ׄ\?(~`(~=+*i Mx}AҴ0 =c4. ם ҥsapN$-! I"x_DŽ D (fr $L0Id+-&Rd%l Ҋؤ0o8-'&OVAa~bFPZXca.P} `AkaG A"mx[^KT/B#CX@AKXFj +RB)R +  A"4)DDDDE""""""""@w4vő\dLђt[&ԛK)I!T@ՐymΛdB#hԊ D)d쳲!Dvj/Gi2gavUӇQa2~LNӆj>aÆV6 N1d C al3<' 2ᢊl2PaSA0\^ l6A0|@ңZl2 +3Q٫m L0 9Fˌe !39t"cʠ}&&Rh#Eeuef2~g.qڒ ]NBG%N ˜Xn' b2Um(}WhtNiX 1onGS\0P={*k=m%HȨc#EDu B#kL=ClޤF8K$~gA'_&n$xZ::: +mkVM_^Zm&#?/o:}ɱX* a(G| #d5i*I" +y:D!4Y5F@/?O"i>P󜢇鲼(SEǑ3O"Ӓ~.}do85Κu[T8!|>98o?u VN/eP +`hE}./TFKOZcH^D0~۷J})6 IGz!o:aiLZ0# _|WjTqeVj-9죯V<_=5ot\K_"?__~P_}tWlK%3׏gHIW_(Mq(D}A<>ri:K1Q_눿__K}$y$4uXtOGU~y2DG4K/HDKK*[(6z[z넱#E _?}o> +ץsG@@k\%ץytΏN ~#DeV[׵@@e@ K&\G/jޖ[^K_UK[UG_]iF}/KA)Zishm[C~/Ӯu#CC^;tzZ@!K ^/2$ +[~H u?ҟ#Kׄ L>Z + HABNPAZ@Fc_bB֖Zo_y[__)I ״)a,4ČPa. !bJ]RB@E$ab,.UAA +B)R + !DDPBB(! +DDDDDb""?ldAn|.DYE&lax3D +3ɄLGLvva#SFdK{;Yل:g̋im0el6`g 6? L(6Ul(pe6']CMi(Cu\*Uέ¨(0D'fӨE'WptoaLA*I-( 1u.3..4M40qemA^7 >ۦQriykuULS.oO?I oiMiBj6юU^{j6 Ҝ'KJ__ZV8NIzF_}/RZ"4S]K)_PK6^q i%_փ O^|C#H⬇~C~mB $NCZ<4/AοT-Pz>s/PD d5B꒲T' Xehphg?-..+)LkЋN,@=#Ceͯ*ZP&=K,Z"Ӌ$qts"=9^aumfkY}z]Q9t0(a&Yf 󟙣gZQ~D_oߜ@&KoTIt뎘cSIB"=:M='KKn~F7Уa<\?kIۄG_L n/IF??_z2D%V_7$x֐#?xV_A1_zuD_ZDiBKA1_zZ\F]~4u^$룪=/ߏGUxa/3]>b)Vr_I:^_CkcxE3JCF*WDp.`?/A gKJrIWKg4P*#tIBb5֐A6?4"?\B?&I u5r@AsK㮹sEL$_\2~SKKEd>KL0ȯ" #>_֐$t D~~3_K:Q 2+Hϼ/`xAZ @h/" "岫sS @c#*5?l/+Apծc6]%_ȁTxDzf`_X_A&' Ik@&WKuZ~5A]CקfIC sԇ@&WKu] m!Zֺe}>%|_o$cx/I6k]2IB %nE?($/:Ny %$ 童 #//e)B|B +~z~0ZKA%AX:ŝ/~0Z <A~?][/GWT֗~ P ʹ-Gv 3^h~{JS> A]GAvҞ%Ҟ PDxi'|7N R3/&V_wh*V~$0#;[a/a -]-͗뷿[a@&A~[ oKo'Oүo% 0M &ob>0*4#K04I ޗ\? _@C[Ԡ!4m&>< J!C3(0  Bi!$H'%tʔo[a" $D5(6g8" \AkSɃ- I Sկ;  %!da4 k, K l vQx5A00^($e {E,BMc!@AKB#B5-P +JjDv """"""!ADGZ*+ !v&h"KM⥔}`쟃>5dB"&}9*׃>5g lPM8l8pd2E& P ' kȺ68mL6B&j&\4QY@M_&3R* Tvj ‹'@M_*BBau"7l](B `r8A%4%&ڒ \P|6\fh(z 2asPPh.a~&' b2^nGS꾶MCea2Aqeg@P\ VphH{*k=J#6<~(4kMUN2*(_{Sȗ_{lOG|{Ri-]iW6c_Ԩ _mAzSKK3j<Gԫ+(_6D?(ZI%yd5I~_VV*pmo:">_[kœaROK!쩤=^PHQ_ RtV޾t[^$s^I@kABoUz1J_ ˴/5?ޗ󐺤&r#."н [G6dZOM~mjjNyZ"ϯ8#>qd4D96t) I-Ct\}~m/O/h`5/ȸ4u[AK89Y5zV0Sp?_BN7/ePS!k`9q9EJ{*G!i^"/vC  +>71?;ȗ0~ȀUHf:cZ@mB/IS_#_zs5Z#Eװ5kOe'N_iZ[pPm/Z͌uG8_ʏr=%O/㮓*GA %zI2;sO\_%mI߯Ggl^?]\_qZVajc[u G[(A@kG˕ Åx"9r#kA,WO/KGu?@ӭk`룪?KE5lʢZ?g9~\ %jpK /[a 5E/A*Țt:_]?EM~yt癈GK^/A^kׯ#k0/_ׄ+3z_TG[ -}4V_B!$ +_gӶsOB, KK/$%-0Ҋ?,6Ai0H~u_{ׯdG _L'4_^ +,a]~5FU߶ahsI/-Z_im%[,$_ C_VӧG8߿4A:#k#E _?~umaE~}b3 ~6X-}U:?A3*5?jt]#&?9\=BG?EP_At$jޖZ_uM Mh.|aˤG_K@zVZQ"_A =R^^GY|&_ /^| y6KzZ@!H_]A% Ȑ+m]2??aA$_}bk]2^Ah*#/}|$q~_3[~a"p _ %/s$pzJ~!₿_?8-ץ( HW (i1Ꙃ=6_%~_$-iiK-5b@$aCɿU镩!XJۤr,q A~9PpGKqHt5\}[hWqZAީ/A%al)2t_ }`A%Ka'EР?/ zSH3<:[~A("=~ki'Z[v$ނoKe_ЌVߠI;I R3/KoZ[pZ~_%뷤Jү~&KoKm_il?_Aim&_7I/?~% ?:Km+Mz[ b/5&MXALEz >P^^i7$ A$am(/A?J$Ka5Tm>"%CAΊ`( U"^2}"$5%rT& < /08/J}aC3(pk4+e=$ A2MMi2:It +LK[WD8A6zBbu EAcm @- k %`AkaGo!/&K 0/tUbFb" $ݤ080AGH4 ^X, Z%.!HGO B#B)2`!B#PQDDDDDFDDhDb"?YTF^Qت2EEt"mhXDYE :g!D@y-gf D QL+ ;-"15d/(ȦB2͘L3}jf i(C`4pf{ L"u 6ͦl gXlPl6 gÆw _ڗ> ]mJQ!H[| z[z_~/Qߥҧ)S߰/L?KgJ o. ^hԻ~ ^:_o6􍤿ei4_qJ򅤒^JjkRׯi$m%$h I~mx1 #_III >Jz׺z^~C~m|!%6H  h?_G:B $NCZ(/Huo^H"TRp8(\E%e<IeZuzf`_ I?l| AˤHdK+WKuH-! " RAygֺ_fIC_/ _A2_/#V!ZV_N $HV_Ow^9Wx@$$HV_NH$%nV?Z_/@PI[w:8IB %nE UTcէKD/ 童ֽ!}zS>!UF?=Z J-mu_9@$ak[k:?}J(=VAZK /"o(_A% A9<i74_ +?=A%O)XA}lA%O)PA2!O4K=_o A.OKb>t_%o%Gv$1HK_Zo K_ o$gz_A_^뷿[a/AlBR Gi6";I/t*Pޗ/a߾Ja#MM=%% AlM }+M?#Ji6H6ioKåXEۥԠ!4m&"Q ?A0](J/A ޗN0tʔtׄ_i\A:PJ0 =Rk ΂iRk #^< J!C3($ I SE D2GH-v*z0yŸAi8A6z2 DN KYi)FҊج Jc a0a`IzBm {^ AD$L& 4YX aYZ@m`;  %Ks S ^j0A5bAPi/khv ,C8  _r A(A +PB@DGi!ఁ +UGP A"4)DDDPB!"""""4(!ADDGZ󳣲ȩ##Hd7 63RdB"ؖE;}S̆O; g)lY>N}NP3d2*pl6? ΰ.p`'u 6lLԊDC`aBLh0 Di&tհҨQ{ya NBVT&C#J0V&yef2gL{jH 1msIB ^g0tFI|֎[w[ta"חᲰA[d`?LM (C :Ytfפf GVg1v֛(TQ) {i6H +?A뷶(mt@|!mFZuN)[ԈyBWFy6p)|BtKomޞk{ѨeTq9O~?I>ΫGAwI7_Y/5~!ނV,~Wجx0#>.!)__h'ZttBI/_^4PNW?$^urkU_R}$$$uS?~5InQ7ߏ:ugQƿ:zI"u_ /3(ƓI=b@ t/Xu^q%WB꒱8 ~\5<.0]Lm$6d6eTl4toA K+zס@=/G " 55Z:K*K=@U/"tʤӜ/eco9(49zD-I1AP">l2y ui /a"`2_SK* +ڱTQ%m'::R+ 2+/lǜdOXTZ4nG[3.տPqn&Z 3_#AtKj=q Mh/-zZOJ+KCkK=Rk=~:GA E^ ih#t?GPW &A~m AQ' ge-IշIB K A KH/XqN>A!Z_{- V?mTZZdyk#a(Z +nG"/_BP<׫j?*Iȅ^- OoT BgbY(FEKZ2,Z;)L gv%n̶a@νPhA`6 FD2MaٮÆlP2,pU*4l2~Dk"mL<(C#J3lnp荤 P&\4BLhAQh6ag "V"c0#H ŷuë $ɶRH< qem6ӪH8Ҥ0$5{*jS_֓dCC**J{_'ngʴ'Oa SgJ)ԛ8I:{j6IںIZfGQM4+LԸ)t_[i:uM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^6:\Jy$t^yf95ͭpmk ?$Z %=za_:"OHzO?O>jFI~|/j@|/j_9I"th2.F t- I 1Jj^OTFs%ddr|6SOYy:*jFNKz_񴓫zEm$8pJ?I6ֽ0D﬌-+|/y gA:^#M70'./M:K(3N+_R#EU%Ɍ#a_#ߚ|W|~:8֓<3V^&~+Cf_{IMk62iH _z2D%JT% DG_WiVPUVإr*N+lRKfZZ^[uS"ŕ_Y׽zne(i`x~= # 4҄{b^frZK 襂(uIFrr!{],`[MD`[Xbg99:ŭ.#.51K68Aukk/]0 o&`ּ 먇 5Xf"o8RJ5RI+C?BgyXY#k0.+-)e__䀇yBJVQ8֕Fʝ=L:Ћ$ᆖ@.i/QƖ:GSuL=.WA 'IlM?o\׎ `/$䟳 "Dl6iO>E x]R\Ewۨ@{!θm/a49  _=amH?LW/58m wߚ ^ @A~f#E/ a_EF}U3Fl5Z _߄z Z4nO/ysS&ZZ SKrj]7Kt tH^h& 4@l}%9 ]oI/KA)Zizih E=+@(qz~`4T>,=H$eqT_Oߞꗽ-q8- KKA%#S^? IkXoK^roKH A^kH A^9#u<O_3$Q{KAh Aiw: A KHP!>!UGI66~u:?P?Izt&#.>,% A_m_h+KȒH_ +W΃^}v7xAiT{zZAީ/߄8@ P'Kԃ~9oI箵^CBwT=u  I&UP:_l? 7B۴bݤwhߠI; 1H_AW}7Z[pZ}im iml-_KoICD~oIR]/ەeAimP&߾^BX`ŗIAp#DS]D8<5뷶(dCl i}a|!l*΂U"6PĽ~[+oFy6p)|BtK]>&j1uu\tu: /r6pAn=>}U/+ނ'6+^!y%062 ؇iFՈ I$9^p gi]_5E_ڋrkU_0o8_ RtJ>thtϬAzG,vB $N)_/@*Q+Y:/L.hg?oK]RWLm$shmVN쪎9(JmƑ=ރנ'^m>i%akЋ4^qzugQ9(C:%^ʡ8$e=%ҍ[cAֿ'c5L1K_ 6:Ao:a=tp"i6x>/_|W_~aǥ*V5kuq]/CI_}H0/@_/ɍ+]&UlA/vk:$_-/_VP8_9rG_zZhۯ}ez~#J/?ra &Z + ISim=?Zl[i7ry'_p _ %/--."B/Kmpw$` >bb$+,$mo/U[AAXՔGKk ttSV/Fj_K BWt9I~8w `2/OYPpGo#DW<~UsuA'K~z_lLwReL / Aa _ +?D%ӥU + kDHAI N*#G`B?`pa :!E) E!5F*"$g&Ghb"(!DDb#&hh"Iq|Lw Dl2~06m; q7A0NYQh&M@aoaiۦQmo*'Otz_iC{Wm%!^(9<9c! p9nmƜY#K>=yR3?#}~sC D$)mB%s4":??u^Nxm?Q)Eg94 ^f 4/XJ$AQ ?~uZp~U#E_jJ[zuj3 Ik?<=H\U/}J"Aֵ+ѭ곜=)+t/A-ӏF?=S਍b_+S9ׂ ]ryO-JzO._)ޗ}vil6";I/KnU0&o-x~oK Fi\'JFC`8A6zBŇ B (4>P z!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R L|^!<ԛ8U:z|MH0QrZc?{e?DjDz(RlZ ʂsWI9vt^?uuE?gV"-$Kg"HmW ,\m~yYEĐHrkٯ/vS0JIIW7 !$_ϥ9䀇$K_nzT׭7[k@RXok3eNuuZL=.=Y G*^t4υS_^ڮ_~f +_H_A0$}_OZG{ț^ȏz[[_vzuA $/zpsK 4 CWH/z [^:o_A0"@0B?+gt-sm-sa#w@uΏ:/G(3G Mh bԇo8~?M--] V?߿_:^u&M .$-*z_KI 3ZW_Km$ A~R +f_^AU-J^c6РA!_?*)_KP,־SV/Fj@w::/H%KI4AsGW,"|D WKtH /K}+5G68#`a -.>0,rK ?K[*l;o A?M, ~J7v 'a^A _W1MaU?g{UzL>"ga5&IA?ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɹEu-dB" 98΃~PBCd3ؙnpa a2ӃM"2ᢊl2DkBn8at$ˆn0 9.34 8e>æTrZJB& +Vyp+˂pXF0-Ap 7f κUF0mRȭ5쩮Q0\U[ͭzuY (oȧײ~Ǻr__a Yn!q Sh?GF䝿Xt\ugJa$/oH~_TCgK=&:Y0aNm(87\2ttfa1J_ `sQ Wi'ۛCju35F B/]:j, ,FΚ~`:Cp"H>A_q9J"=I|ZDG'r5kˆʡ:QoDtk5~~j9]k62{'YFH}t/@2~ >ֳc/wI[kq}Z?/}p5`xuC+M^DyP'3tOץ~c#L0a/aor:_~im0X/Ȏ_ _/K^^G-@.dA.!GZ[ׯHFa}~5@8r5]N^%]?g6I\6[X۞SE/y u ץpTV+ߚ+mC"?]\Ez A&^}VA~{>|OJ+k | ϯkJ"MA--HOwQXDz^,ߨzZ@aB AQ}9]sHm/KTOKH A Z]z_?K_t?8ԒJ [?mG?B-2=J6WuU%=_k(_T2\6I&-}ê =ip/etS:8I =РzK&M ή oK!Aw۴K競_렛UbKnI_ZZ$smֿ>xAimPb#%&tn2I-êXE۞C$hJ:WIA9$( U %S=&|(  }$ v+U0zQ[0OAaIR A"UH-_aC&XGҪČH̃!H8b]^$)TЛdj$~BB$èhDDDE""""1u,!qY#e)*$ȗ GTNR2ZjGgʪ:dO:lʅ( t FRdUC;JDB5& a9JAJ +l "ig +aÆ32*eo mLhe' @@u$ˆ,FvH:n8I B$vF&ag>7 +\ ?׽-/՞ `_ls B?#a/ ҽ/8ImvUCFNa&VEHUp gM~T&KeE46~T&o)=%i2_'I&_ Rez#d jLEbӪ+áKCUeCI:b_Z P i'K)/I@m$jGD*h3^頼g 6}(ѪI-2t*hT~Je =f9IyEϭtMB0 ULJKy}䲯e 8:EOWB-=$gHE@FGQ9(K_H9hE'z+ͯz|tҜU7};)?~']/I}K |qUWKK|"8(5zk|SKtWK9}-/}/ O柜5ǿf_{]$E"?KZ͌U/J6*_%m_5}OZERǂ#ZOg'GEi"_G`*N+mWt@7IGKe( `xu^oeL/(A@kGïTl?2D}A<:U3ΗzF,E^Kб,E4H*[[I~ҋפ0~b-G- HH*H*a zZ{zfBi $izMKnCv/^0 H%bi=4| G 0A}]aD}^G(a +z/B IZP *?Ŕ1"awD{_}`B, %TEp gP)6Uz#`74)F荂 "1$-'a֫*= l0 PH%a49 !:\6IZH .Z[iiVim4#N${DAg_4AJп ],%iP(\%Kߚ uJh" -}Yaiqyo\:GaiAZ4mKI- { oK/egӏ{Kj SSa{YM-hZu__SҴ + ,a,6ai-&U#T--tO-/m&^BKHGDL.#:/?u)- TGAyǧ6 |}EGBʅKH A^y}0A W㥤Z + ?~+{*Nzt~ifY6 頴 tp /~NZZ]zzXCMDAtCs`KHXHm/\i%,$mo_{6&6Qs(۔h+֐n+I!a(Z +nKvEaƩ#K BWuIs@< =iKe=&㏄AiT{zҤ{~9EʙAiT{zU,  uo&J, %:, ? O&+Km?!imMҖO]&i6ij"=ۆl$.atӄKnIu5-_KnIa"Go+ ?~~ܬ0Zu*W+ `x+A(Al1$$X7A:MMA(Al1*RMJ[ DG Ԓ[ aupA$R?DjI-H0I~g.l4$R." pa A-} $ڸ A-$M 8cJaA&u Gȃt@Xel d(5sg􃠿b aR \Ra`4EĂ0H0x= d2&E  )p_A/H&XD +2d 0"YA0Xi!H 4?A0pE4P ةbA 8 B]SCւN ! MDDDDDPB""""""(!Ъ#Q:;S25וԎQ:;S25"+Q4uDO+h9u@pȲ`ȢM3ۆT1"Ƀ"Q6ۆF nSDf 8dY0dQC=d:eD(tD5tݧ BLh&WLMp۽d:eA"7rkUQ 00 9&Y.b֙Tj < O<~*>=~L)H8ۥLZgEGAM@΀/KKVi3㣠 dA~|CgJaK^!y%0%Uz_zZY:I!y%06?Nk=&K/!M`?$69nck5ImszI' 7)joI4}/H5&k5Im+QvaUW_/ph21JbֈjKCA)L=: R00 G/my $WGD*h3|IѪI-2t*h!SD~&`@_I>dIyőy'E?m^Apʦ}kl<y~VjR3]!>66BD?tޭ2Kh!!@@Is"XoJ4 oEE<I}-RbSzO|_/p1+8o >zO|_Y|ZD_#֗8ץ|WZ^UO8ץ_x_?ֳc/]$Z͌^?*t"}~/t@7ǂ#ZO0UVCH":],x"? h0wL~'t_w %# h4S{*gT_P'YAZS^UGUu$@)i,Esn}]/{a 0~+izMK/ !4ѹn|XOM0$4=]/{a 0or:_-#:>&C Ikߏ_1yX(׿!?z/B Vӂ#:>&C Z>_ZEp%tKB ׭t"a7[1P/( ^Ћ$KMd' f~H _XB{=@at|%/렐@Og6 :ΏƾZX_KM/H󀣿A><:K8( $A><:=~/֗4A^vT:_너.Kߚ ݽuJh$/DA H"7uAƖH AmzZLsSaY #H-}+Z:GaلkLm.4@FZ4mԇA?tcw/Jf>xM$~ B*Jf>xM|B]4SҴ +HIi7]B]4SҴ +WPAlbHK@zV_cР- KKA<¯B--COPX q/)As}WР- KKA( KΈ$i:+~+{*I-DtW]+Pu?y- TGAy|Yvaצ4@ڛ)W.1~a6  F\ ƐZZ]}k ,,$moȾX.ql4 U/^Ll(?m ,,$moyA࢚df.b?㰿H<SLPt=_k>AAuA'/V| `- OoZW =L/00$>8K!Awt#>8K!Awt8ʇl$hP]=7_l|bݤ^߯c&nOAh_ i6oKnIfooKnIer5M I-a&L0k~Z[r L> `Aa'0WGR `A BON[kDI*7A(Al1oo?ʦ7A(Al1>I8 [aҔ?}Â%~i7@Cq7K`|D85#~LzE>abp@[I M"kMOp| y nZ @H,2Mf +dDLbCZAtiVɬaR \Rad(4?AtiVɯb `Z@4r TˢdX M  d20`ÃP^vL #~8ApE|4P q A{ $T᠂`L!CCa! B$#M` +GW[@hp@#(!AЈj""#&I0qC[ l6 gBn? +K_3D]pêփ:^[qűo:4$!{}y:^!.G[5.<:__WMtaZ.(?5NkI7<Οz Ҝ>N4_]Cyb!BI$VzB,5yR > +ȀU *__Cbs$%<:/kݾ ~UMc)YOk[+SYZ;r8AÔOʵz4Y}?нBInsf֖+/O3N + +"нJ~?V=/!uIZ_"ZKY Sz#_A΅>gEN"W^ֽ5_8#0_zjfWO"zs_㥝VE9c?_KΟχ0?U9)a*ebu/Dz2?}i7ן_CkY sc 69ZMʡŪG6k_ڔWKVf$GtR⟏%]}~j K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z* S";pzZh/?m q#ޏ3FbqlW^D=10UbPa8^fDy_W,#NF/7Bzŭ.#V#t VK*[Kk7ѹ.TM{mk_~Z3rGK/oaק_[u o>(~>"=Yo-}4RO׋_^Me+~6?MaoA͕:{wKDui0HR|?]d5ysO\>M}{j~y+WY!q_l2">l2y kH/z [xۍ^_ /V LKQYQ7a#w@|s[Z9?D{0^V&.==H_Z?󁚗cX-4@V wIb2%_IzW3y7[ߥ]7&P&$ޗ0_ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JubrKDb*Fi I`dJarҐR[1el8p2mrR1"@fam0ᲫdUCg63 VP&aIf*mm%vm‡Dl+A qFDP S-ӆg qL(WlYp.k]UN]%\2awlYp/UF0n>ݔ Jz 2AT*9-Kp+˂pXF0-Μ*V͆\sg@o6sʙ|5Mj+emy kuZTQ({~{GuB`s`V(eqVtmo)>AY8(`o_74iSLk< ?*i3tB< >O_Mu-.:!mAn.!im֣K:f!zZ_ZY:]y%0~\Ѩ/Hm_)^QӭNkyPqQR!qQH!<%=zaZY:M +~>a$6TSKk_zI1ʊyIhͤ2AzG-"W\D_ ez#d jLEbӪ^W _$HJFs.i'ڬz([~hȀb4j.鵔j6ȏ >qy +ΟᝈIťa /:Ȱ4=*'8/PSg uO^1t8/H:k@qʿh/a$f9t&zS֗{*Vc/_O?#Z8k}?ĸ5xv[H GK;/q/oKzz(:HZ==wRi6U^ނ۫-`xu +Du{{)3փJ7yP~!`tch,W҄F.b-l/_~8KB㥜 Xbg~^M0ao_]/| =_.|7[>,#C_=tK iVx3[%^ 0Al>?">D}!$RXiJY  2^zG-f +?:ۣ (^'X.-:DXi~Fa߿XХrՔ_S<63nyx_­z9 sD'\/P?im^pk> Vhwz[}gP@WuQB}v@}~f\%>v@)_?-.?[eKԇ?|GX a=RO#_/ O-Y~4Qz]:O4 Izf_OApE=+@/6e_KkzZM?6K!.KKo-RYeP ZZk?/( +[ /xz_ + + zxAl醂}&KH0q&m?qIlR.O0zL?VAZMJ$H0zՆ#,$ail?w PAl> ͆ "EdP4L:I$jK> sEdQ8A01R[ 0 (uQ4^Aa]CK!R2A0{d1D=ߤj0D'دC zAxKh d"O ߚet* %Kh0B bAa$<n2g"_ d2o"شXd_@7#Xc LXcaH-U +)4`BP $O HC` i8hAAUKuI +B#DA4" +H'$zB @RB4¤DPB""""""qdJ3vٴ&wwIz}F&eo4 z]1uaZSꕺ7I~p.='7IMCIzM"TaӋJaDzsE~xP@Wttߪ^ :ۄGZIzL +-TA@H AQ5WQ8h,WnSA I/M[^BAbJPtꗭ(l4K }/$i:*BA&T A |6]Axc $g%R85A0B=CA B UQH%ZHk <qAȆd A AFvT? $";IQ m&xAAyx ACazsI8A6$ LRAV\."CBDEr|nտ/KTRJ*DIizJ +endstream +endobj +6 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕr\CnJ +endstream +endobj +7 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +8 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 90272/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZ iR bҺoҳAe]]֥Le+o$-pD{".H{im}'Vv)w-׷6Uca.WI+kuAo?vKKKo3^tI J}vKe!KIKKo-{ o]$ZliǃT, :&u@Ka$ qZ8ztm;[Tk:_&^v`-I o+Im/ckoᅤ_DŽ"6I__RHRU8A0}+]%/$ާumI+׹mޗH5NRDOOH^MilIuj5Z^]BC%?/]$&ڥ%Kfn%io%KJ/a.I ÿIi==R_$^KWWT=t>H00A3gސm* 0  0 DDDDDDE! 7OHOxvh4/CT[eJM⧔; ԎDtȞtٕJPr`ᝌjGdeVUQ"y)HʴB"c:{`Ȫi%ig +aÆ3E& l2l ϻa᳈ ]BLh0 @5tݦۻ/of26I[l4^03e{.34 p>Zg;PkQO BZJYb֙ШE>CH&r(Uȵ8l#qGSꪛe :u*Z{(}USwLae ӬVz%^ʚ%$l]HtKv0@nIť^H/~q/ߡrZ~$ RS![k_*+aNi6~?oRzK7 r 3eM/O_Ik'+B. X:_"*Lr?/ph2i~pju3_shmVN + ƌץ~h/3 ~z鵓jMa4f+!y?AEs].a~Uy3ҵ5jDe^A} +}kl=sZ~W`7CuoXo(98 ]KQ9(C!!AG@1쌏죜sR_sqn$>/XtҜU7};)?~']/Q"mRbS0 kʡQQ_#k|SKtҏKvUfu5i?h:Mk62?_뤕_GUւN^ǭNUz"h/@lARZF=/$P DzrttV݊B +X">9rzJÍb=}/KKAZS<]kS6PmKKc"UuGUu$@F-zOEpcuY^D P+si//[a 0tkizMKnCv/^Wub-/I`Im^7yX*a_1/K׿ (c-/ $\Ћ$A@Ҽ|Z[j\BtKB Kuimײ_荂 /H ZN>K}gWS]ֽt">l2y umA] !|$ҭVKKK8(Ai$] !|$P+zZ[tQ%n:п ],%iP(\%Wuп /pJXΟ,t>zt]t &.==.҂/Ϫ#ڷ5?AbK&GWAx +u +r:z[L5 =oO_ -B-zZOJ+қCk ,a,6a?oKI| | ^%< ^Sim,B< ^S@}-^Ah*#ߞgL_--쥺[i7ZgL_ Kn>@$/tp /~NG^S`:< +N G#Z@F-cX.q%ii--2<ȾX.q%G"KKL},% A_mIcd?㰿.5HJB.Bsaz .P=$Ip9贙S:VsS:Ks΋I30^ReLa4(.-?u!g'Hxu#>?CN9:C--I__ZRI&P_oKe7 $K-_aנ=i0+ *WM㤽SoDw0I5M O_F<:](~- aҿI-R :R>t1A& \#IOFI0bBi\l/kw#X A[,%d4ɃQj<ϗA~h&&QH2!&D(93KA7Z :J`/h; +u[cMa_F5Co?Iz_=!~6?ֈ F_zxto6Az7I|Կoa#@\zOKn/q~4Ǥdڋ.='K.='zI/5Sd1^hͯT.P d4 +0 IMC_ޑKSec!q&e$^BJyzL5{$^BJ~j{$^BJuh"T΍RH5 JtӋJfGkY:.Qϭ8Uֳ4t\Zqyh&Ӌ*R3 5 1HNsm,Il0"=9PAaDzsidpG  R#ӜO(98  +kz dW4-M\_ +0mM\_ +0(gUj(aTT>?i-T$ie_ r.<<-"]%CKǤtO-":K`莍#ca4#Pim#AnۄG_S"h@U ȢPgN-.[43@AtT nIu ?ejMmTa" (2 ?QD_A (۫vQJ_AZS<ÍbJXLܧւA ) x4R+9(LR+AiVz8DxRбnr1m%Aue +_]--4Im&l 56]uƛCviVׄྺh&m*&A7iVP֓iV׿IH6!$KZ֖ibJ&i7lBI_XAq~lBI^~JaץoJaoJa<ץmUq_Ca_IK# ^+ 4r:Piu[ J .qyPt$I>fi/M"xO }v$tS넭?agޗ_[SL4G! $CI}oI03ZLaǧH$ꗲ _  0z! |=Wz_L>B$`φˠ/.>Oo 3 )<$`φ˪ƽ*H CKI|a$D_׵G~K?F{"Y\U/4M$ȖWK돩OI#= *B X`kVz#A+ jS X`kZA0BteB ϯH$%nնA KָA >4S"`I/ tULeVqgI7Xl#qo(A&Z.uL.4kA7%m?Vt +ACpL*΂M8JUi@ +~aJb|$m 5Qqj@OKc`a oK>m4kL?I쪏(/Jt:4OF#Zl!e a_#8C~PI!bSI$o6Z/F'$_=E~ 6a)Y!_ZH>\7 )@kнBI$Qq[*6US+BSd1򅓪{$^BJP]RV߽_hXK߷ւ#2E$u=5KZr}i=kЋg^qdgO]%YJQϭ8E-G9? jE9cV+=_z$i 1HNsqΪz%KSD‚ 5=ai/.҅ +k:_ r.>sKQ/jxD{I7難6:I-jO">6Kn:__#%}2դ":d ?0T n]&U*_M?Kĸ(HqH +-]q}PA (۫i )ZZ^_ypjA^fS?8"?A25 +&C+M4R+`A1_ _/P~!죘r1szZB^ΐ5I.֗(l$s$}&/:|?E.Cp_]D46o-KU O)AmJ_w\zXH <!7Li&@7#qi\q"I_+gz_Q 'a=R!NuH #;W A0R/x Am/iGi6A6>J =[J /$ @&%UAi60?#鴽1_ $IXEI$i6L +q|D=+_T LJA& $~KZFKQ*["Dj:[:Ue0ٓT>ڔZm[Pp38pιs(E:2%ppl2U6FmL;LNRE4l2CmLԍiMiÆVd"2L96@M_wa"7&(PKE ۽&Ϩ:PWvIQt gN>\fh'p60{ >S"`I/ tUI7P =IPXl#qH#Dޟ+SΩVqe~f"6Bȿւ4M߷.#ZOQ({~)nI[?I ͭ(4߳t?T +WgAAT+M/gH0k?F!8ԁ8Ԩ T 6|{o֘{tkiZaL?KeT}AzS}ѧFz5P?U%>[ޞ)􍤿򅤒Mޟ~HmEJ?lQ~4ǤI?I&z/{ O$4Ǥ/!)&PH@ +P d5^$g_(8-jXBJl2ss62^KoBoޭP/dIS9 J<- O0H?5Z^A⮵Ӌzס >WBP.Qϭ8% ,t) (~}<M]%x9g$ Z]Q9ujeg,G9YY-+sښ$(aϽ=נ# In%K +kկA0c2xyZDKoqm-GPzPŪGK&>HIm=TZ jca4ޓ /%:o ?#jKnk^U*CK`c43@@Ue_@YҥAcpT n8ZU Ȧ\v(PknO5PiizW}xal#l B)_gXWօF*`= 4G[(0F& ?JX_ }x3Y|AabooQVz}{(?QstnSA Ntm&l RZ\F:YsooᮖM^K9ή@K/ "mIYj]>b8_GKI6/M[/~x3?ͬkHODuaFi %4T2M%_դoşJ֖H6!$jZs/})xXoM[l1&I +W_v߷ץGOK# _Y&8 +ËXƿa>6]}~5z_-M2' =':+Ed=v%=N"(z_ c_/ץ"?Aa L4r.:xA0"@:?@a!m &F}AAņޗUl%!$H$N0^V_ԇ-pA:/ 0zgE fA>.ثHl| AVz^ 3/_>/,[a.Md/ $g%R~m5A EI7_3~i  +ֿ]iV1ͯJ"HA+ jJ"`֑z}Zo$b_[I- %$9Zն6 s\Og/ u²uA Y:uabAP T?-"/9Uo(=/5 !nOa hxR.ԇKWkA"~%Am% ~8 M,}JKA\S?ۅ4 +^A\S f"I- A\eGoMLi'i~'} #;rߠI; yuǿFHb.Uߎ A0R/'KAm.IOտ[XA(a/4o4 @&:IK1鴽@ &maGki{zI6kk6,"ZA_& T8m>"KIoCh.tUa0sZFU27<(D"#:FqLUM4DH LC*n =IDuŧZIeaÌjz7setj߷-TR 4MDaHII[%eqVtmnJaHII[7 a0ҼtZS~ 6~ʨӷIҪ΄s0/ 􍤿Fĺo6~4Ǥ\I%<:.m#@\zOG d5sr62^,8^$/IK4Ly *B_hXPA2b}7Yf/!%OAkӔsN/AD/83YЧ%~^Zq}<H6G p0"=9YWCV{xKKaY3@;Nq{*t*5 +0׈PgޜC[VyP@c| D~"]%}8q1s@"?ix.pAnۄG_9 TP -Du Kue *35~_P%/׮ (۫i ,_gXW֪GuS׮ (۫= 4GA)Z 0UᏲ{(?Qstdž/L +Abӭ: פAu(Os8RK| ~XAy.CmizuUʬ.~x3?ͮ @֗ZM[g":maFi %8ҏ_G8gYLˬ H6!$A5[l1iNG!?o_T>8AszV u_x@+"ywƿҿot< ? J .A7OzNtWD޻怒A,$t-$iϡ]%wDu( /$it]H$N!΋sK}H$Kƽ*H _UGIm^}}}c^h$`φˡmOI#=,*h!Ǐ;3wV!ZpK5G/6 ik3A0B_Anx$b_[I-Yus\G?.$b^/e ;(@F{h$_Aʝ"cte ;(@+ _.?ǚ?v?-gX$RqK ?TV _ia'*>z+a[p3Iw O)IPA2!KI_t&ҡAȆwmR_$1Hm-KRO hK%@_% iL4~MRAzMF%IB[__ti_]zZMF%IBߤj4I6n ,pBtK zZL5H]$IXE&5F z 0cgi&  Q!$i6^LH0(I'J.x 9?a‚l%i0-)JWMnHE ߤm%M6j&V4Ǥ&ʄGD:Z]{MI}&$eZ֭؛_%M!6HIN +}<N/0"=9ϢIKҋJA [5,^ʡ81G8`C zA0B:T>?i-T$~TVKni%0:oeVjǴSKu*dZt?Il B +$Uf4Fqi:lVzf> 0^fkQJNbKI/K5ߤO0M!I|k6aL-WDu3MI+g6EP,6Jai 3 Fm'a6]%AFz_Ka] !|$A7OI{:)Kl%iP #>EB ΏL\zz]L>{(]տz:9=-H A^<_] _I#=,*CFokw Km +֬%.A 0MLjA +?D5---2ꏣ>8l4})u1(Tm }1LFyJRdqݰm=tq)_(5FsN1lW_w~cЋbGCCЃt }s58GŅ.q'ϦN y5&j x@w `rZb?ݫSi5;v[64}=dunq +Vʄ* !Tu4":Db޸g&h+l>4}tA8:8QQG;8 g8">h:>ڞHb-؈tmb841 +:>#‘t}}  @8fQI4W +H(Y} DG- j?n: nR->eR%HTt,6 ]hʢ:dK:psyR |8g\Ihc8pι 2Æu=\;mL2a0E`LIm0EaTIm0Ea`la¨uwwW0wwAøDoPDFuwql! JM44<oaU<oaoa:u*F>#ZOȗo(A&k] zQA&'k̭T?Vt +-3+|{RG:JL]~9IiH0鋯pϥY1> 6%ɉaz oKIiOV}Hh֘~ۣ^CMa_a_Kg"o6&Z"҇7jӋUֳ4t\Zq~ւaNQϭ8(!`G9W7\Il0"=9ϵAaDzsa86G p0"=9n`=sq +0ת.i*Z$(aKAgUj(aT>?i-T$~E~d󐴉t r.zHImPim#$&ۄG_H鱰T[pAnۄG]{@8*]RAE؁@ǥa@c43@(.< +-_*Z (۫ШEZ qT0D[uy*8\v(Pkn"B9B[^(PknÍbJXLܧւA#~0-r (0F& ?JXD AiVz눫si/& G(BM]--4IlGIo& ѡ56]|/S9}.m*;CA7iV9ۯm6o,&:m*#:_ G_&M>?H&DŽ?agޗEP HI03a#!A$HϾ$i"&.==.A&T S1EH?IՃ%K kB  0z{KIկq))nA lzA |6]^ 0geA |6]o _I#=,*CG~K?F{"Y\U/xKD IeqTOI#=,*N Km +֬ZZ#A+ j 6J+Z}%a}e A u*mALRV7YBKVmLRV묡[pA&)+uA~ U_ՇKx@ 5 +LjA +?lrWT~--2W'MΣ<1AȆd O!7Li&߫AȆizMץB $!+geC +[+g} +N)ߐ[I| #; NX i`+ Aitߥ izX 6~j @&EUo4@A#vU߫$";I' *$bT A M0q& m&q&J m&GI$I&j4I6o AAyp_B M L?J p Q!$i6MF^L~A:P^:c ֲ ACD9 -G5jA:Pt :JA@ ҆&?%RA,1=|I8A6$* A`bA$ Td* " `I IBaNMփiQx A`! ^B a0iiC6 KH 0i L @ h7GC0@AXH(^; H ʭa"!a#2XHd"$AUx%hz*@hRB# @A +ZhJҡ$H"""""(,DDDPXqGqgq---+&ɡ3sg"#-ѐ"HDܶ;)FSDb&H*TO)I!TDppȮjDK5#GTNQdo@e\ԈjG~"6wK`Ȫi`&pۆU1"]`&pxmnTL +Lp4D#R`<(I V&aCIM{mt^ +B%}7P4ݑ OmbӸ[)8l_$3}&Q 0Tk 9ˤ?E 0g;s5Ua>QDSk˂pXF -M7t_F an6<| V[8U%^ʚ%$o9QFIHa͂6FIH>{GԈyBWS<֜5S<7O {4?M~ΫD1q0ۤۥLZ?[nn3O&`6~90%UzW_ U^DZ8Im&:[k=/A 6mKW}"k_zI(8HB0)]u/_-hj,Nr?/ }:)W>S5I>UAtjGKL +"4A>qYHѪIaNM + 8RKPEWy"}'l<9{)+.}&Q:)OԷI@s}! EpG89hE,3~#.Zc}R(8U7ֈKڥ$1S=h>Ti;q:rqկ֗rZO_ǥ*VIy#lZ_}NzT^^ǭNi?RUzjǮM0UVگ:H#~IuesAi?]B +X">W=\4GH4S{*g.IR~-/joeLiwJ*Q,E:՜pcU%I%C~8KBs U%I%C^o&`A/΁ou$zh%.|7[>,T7zI0-Kouuב5`[ {3,YCAh{">޵gYC0">뮹H K,7[^(@뎴t?%xB ׯ,z0#ߎ^g6 0T>  rՔ^AVPG͆[!θmizG$PH KKogE/Hy|$ ZX_*[(7wum :%tD@|9BκWDKA]/}N: Am:?ZLh Kl0K$.ս-&Wz V_2/owoA?t~{ޞm| 6~4Q~CkKI}PAi%_[oe_KKo +ZHK[ ih#(H,WYNB, +[ +(A`u #KzZA +g-JT-8 tDvR-JT-pA: KΈ$I--.=?/K}h.`p Lhqa6 uAtCs]zc_]~KHXHd_{ E`ZK!ii家EkKp&6Qs(Ė8h+ȲK.b8--IKTz[(OZG֖0a&^"?70kDo&ֿܬ0AK[&^m~iK[_DwII*7M ~򫮓{H@#RIlR.ީi7å~ZuD=&>xzK'A}W8A7LٴavEI`dNaٴâiۦ6}A7 0Dd:Zugf$)Mn$kYPIf*mpWtFv֡QjyUUF0n f/E\RA`koaFsg;X5D+$_p$A$M?ן60ï\eqTHem@FJDzxfפf N720洽myN6(a͂7y +07P#Nۤm`o~H5f&*I@X_^(^x|&M*i3iR#pIޖ9!z "~j]7{➦H0ɏ5&/tEX6t?aY/q0PHZ^m^&ۤ}}d@+qi0-Mǖ♞nL=׫ $/HK*. 6%lѨAHJ"d={IHU$='ɯ$F95VA_4CK_IRAc!I}$2a$Sd01׵s )p- Nu]bֈkPH")*CD IS[+K kT"T}U:瀁8gNgF$piZT$*hY$K))G>'X~o]%Κz\8ŒuH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*b?KT=,3Ή_C'9G $ 5_ЋB!pp@&ʿh/a$fAUU/ 5Sֺ^Z##P?_E adTS*fO[i9ᇪV.evi{T4_K/$":T3ҝ%J=)[pF7 +":z^]%]/K9A~E]Wүo%2={7?rT nKۂ#PDkt@7IGK9 m--ނ۫GدD$[u_KKEiVT:]zZ RKRXU{{))Z >/.zn?)fh +Z>_, @W9:D WzXAuz^Z %M_99^zI~Z=tO=6r>)&o{GoZ{M[ _gަ@o^| Xe i~, %y^:_fW !/KI~~N{g?-:ߊ(VW־KA}m_#6TƆz?P9#8u[~K8t9DiDKJ .t0V,}/"ޗqyPI~/ҿpnz–5pZ(DPԩgOeNPWZ YHϾcA%X YHϿL #>[9@43K$__@߰$~ a=z_Y |= n?t{+8I a˪ a˯_tAA3 _/_/OmץMWC{* +_p\U/?Bp4\U/u_I#=0*ia~L;AAPX -ֵS5ǔ-ֽh/k4J+ZOWh1K +t|xK +uOl /)ֿKm/1ڛ#/K@+Tz_ifTcl4ȾxA11#m.u?ޫZ_h$\XGpH<ULU\x"?_]o4?[Mkp M.?q5 |/K˵Q\*LLZ_tr~aHA:P \\i2)xI@ ҇9:5 >+J+b1YmzAxKh1 55T"ii{jNMEu~INM2 AΡ0e)Ǡ0A$߄r!kH- h<| Ťh0Y*@e0` `+xq bFXRc   a0~ [tB) !ƅu )"%8lIh $ B2B m !dRi U ƩB"8 BG`Hւ +B HA +CPCDA% A4"kA DDDDDb"# +H eMC $"IL J9CY 'ۺe 'v![Bt>`ixVzYRB::e($"Ď 4`b,) + ICB,7}8ol)?&%Wq~IjHmҤᘉ E pj0$YCAۺ^/_H _m_"z\GaAGA 6c:,zuy e^(ʄHv[~F|}vAֱKzK᥺_ItAHYT$iioO _2"z[J}C@AtR@ B¡ }&R҈&H"#ڌȄd"TD"(ᔜ2[:Ud/UxpιE^QP Ʉm02Y9JΨFl2%0lah֙J & NFش6Rpك +a"7>[.34 :E$ +}$D/Poa*9QXl#qDQ4DzL:QYӅ_4M\0F/!F.*}>{Gt2RU7ӆgᴓI/)i /_܆ %~>Ť]~6 #i/+57I|u_:_RC.='iO$u?KI*H" d5H!%6H 2^z-hAe $V"r-%Ly *q_נiZT$i~N_%(֜\S, :EJhpiI"QHNs"@տ8~o aDzs4Ks9txJrBI(|8 P^#AzYWB-=$( P_=Pic|A/Ң0}>sK/ =Rt\*` KծEe":T3ҝ%-/aPim#U NI֗Qu5YH +^ҟ98*]},EG Ǯ/Dt~Spނ۫i ,Wi{z_L B*J_V#/+`SR+ץ_pӭ8__@Tz_/l K< + !]IKJUK/m*>*?5,BI_(": KbJ}>,6K?-:D{_}i[l1/?_iP9#8uo<ƅ/҆KoyKe9HCh KUtpޯhe>SK$a$nT4GK/ +":K`iWUu5YH +K#_NN +-TAYJ+KKoAimp+UGIQ(jHq/oKAQ5WQ?C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0ӭ@W9:D WzXAu(OEaS{h/6]|%>C!]_>}-*eVZ$]/ׯ_U5$'":bYCbJA,]/ ~}=]aFi %z^(? P/ a_~`K @㥠Ҷc^_I~.Ҳ-kχY9DiDz,hR(l4KU ~#sG.?-/+ H&^I~Fc3CȺJar_ָJ#ΡI03KtT*Ώ\-_'MG xp_!@)_ ^Z,00uZDtB  tŏKnia_M_| 6 F{"Y\U/ȇ\KD)[$^A^,zu_M X`kVz}9>zJm$]?9k$bC>yW?gKoB45{HK5Є@.u/ +ޫ_.>sK~>GO_eBKom/ V~8o4U-(_+ij'*>*CH$h(uȵ8l#qs=u>P5_[t^q@C6#0o b2P:h#DޟGh}{*k=@@nޟ75qivLIZu"6P;{SLk4?$'OP&"KK!% oK/WZgUGQMQ/:fU%WIm_{IiObU?gPC_~K {_=!~V+t[οd?WFiyi'O kXH:M}$H(&F|2HGK_ /%BJl2KW_qKCAU9}e*r4}ZWBp 7("Tfi'G6dfjMa@_J +u15_ZqiCCt_yU^A} +}kl<9d5^SuN. :~P=JU9ƾ Y8f죜sQZaM}-%Iud‹T8!##(.(aUI}/K:aN*DdQ%oer[W*ISePvRKR~j9^=jKk=-U'_o.LU7_fjPim#$f_{%WD0$u쫲Ȯehq{@`*]Re=r ~'tP"oGmW[?E3Ӕ#AREWQح 5# 9r ҭM쩞_IR~-/m˕qlRZ^)Z 雔Xi/u8KBN$bII5ΒbKI/ !4ElXKh[}]/WKkIK.7&ҭ^G(a /_G84A_Suп /vU 9)^#Fo:VI03Kciii2OD}Z\idڷ?x^AA|aǧH$_w׈YگA?t~{ޞ-'d"}/ +u +r:z[A3 A^=/KA)Z|H6{*Ai%_[J͆_i> #-3 +~D?iZZ#/.x@AРċc[*]A0B=Ci:+teB|=8` ;)nM_CiiWϢ_Ao Kl IJ --.?Kjl?G\ ƇG_ZQ8H3<:ֿMXA~?CLi&F--IS_MlKI)& $I?Jooa_l=a~X i`ܬ0D&L>It%AlM,@A$";IDwI*7M 萒% [ G, $I@"5$,"aҔ?}å~T) 8i}cCmMTo=Kf&*J@&Xi6o;糠u5_H0鋭$G%sa][6sMd8 "EM__ۥ+yV?u+t!AG 5IS]q ߤm%M~HE ߤm%MlJy$tOQ'ŇtkKK O^W.='6BtƿI Uq=/IM^#BƓho^ O!%6C %6Ru/5Sd01^tq<u_Jt#E9ph2qdʉS/I7("Tant) ɖtoAGЉ"J?@T9?I&נƌץ~r}iťn~"ҭ}(Bֺ]&s0"=9ϪIEy?_aDzsU~tKsUƥ?-i#EQ~s$"|zA^aI/U9~98  +kz Σ^=t+8oELZDKo/  "80c}CI.KAIK:^N/CCAh4֒^?T[pI/I"q"D>UD~z֟"]$"P%z2)E"? +-TA[ h0\F5$^I -'ʪ# )"۫ШEZ l B- +$UH0z\ᘉ E^@C_:DiB'KR+7)a_9rS6PmKK+Ab3rZ (A E?Wb3R4Y/KaViפT9+Aue ll?ӭ%Ŵa_#0ͯ'C9'KkcizMKl~iVׄaEB?Eۦr]U51g+K*y𐲆0/3MI+͡l4/bJ~߯ /K@\B_V uKЋҼ|Z[i[l1/~$/~҆Kl<J .}yo.-/-$A~\3 .Z[i nM +6Oʮte9Hkz" rA$HϽ/#PKl%iP #>EB~r += yMÅ_K͖pw 6/*^A`t9"<, u^$ pkh a0At 4! Q& Lһ*[AG BaP 6h X8KKG i 0@A׸4:UX $enKI# CT!ҨB#Mh!+!4!!DDD*ADDDDF""?ȲD*`Dj2p9n0Uepp"QwTaxtqVL=h}38|,w }*<4- _>`u{:mSgU6pۯ~Mڷq O$J$S#-.ʵz"Ď eZ֭؛_.pE ^BPt) H$J8*/^ZVb٩tgPǨKKo*oUf}/#?I\F5$_Y8 .pD",΢/ Oӥ'wͯmu0 ZşO?g6EPoׅh6=_u0VPs$=觍# +9C:/!?1Kzm-k5{_|zuK_Wo/0MW$C[eBKo2- ~H[8K4%SKztX+%y_D&@Kp/,o h`]iq %O 4tpa K󢵥EA&O(ADOKyRBj΃aHԗb bKda0Li4@ g1 ht, Fkah6 DDRD XQ@F#->E"G-7Eiq,:-"T{ۈPu cZKk,BAܛD";(F^ƖyHqDDE!WIeNggGt7#GcyvGgv]GG>GT{>#0ؕL E1H1b"a!lDlCu&'i@y\at&jˢ>yP"쭔6j\Ή#i6q}EꌊLgd#G*UX4"R"#զ \y%"sh!m!Nm&\I*WAN'`D +PD">H&:#!ygG}Q}GD>>>G_s8>G}0Ϥ>8D4}qg b}B$mc"8}V8">#- B',!+DRFIJ]b"#h>PImG +GT} 28qIe[>6"asᑤE}+H1"plDt#şH ʶwIk:#>UԐ"4>}_ B xԂ!DE ׺1V8CL>DDq +XW}77[M+ڷظcInXIx@͆e\Gn[Ӯ,GƯX"F7зGT".}Y ud)^tGAD"l`:% !Rz8N:œ^}YiX"GH:hh{IBqG ` dr:>F aGL|c [lE!3 0@^DZaM-DiEi Wv:^ Rk7I5i!t0t68#}Qф#>:gPDw\ ?Q}";^>fA<@ FFןGy4qY,vqΨꏢD2#qLl6,VhQ)}SXXccgq<O_1qDshD;؂؋dwmQ^aR!5md&~h3ڵaS 'qRa5Jۦ҂Y@Z@jMөD>HSi#Shm#YC`r`qt^}\҄Pg@ry!MFzvV0AGT!,ua,w5*CN=6Hyfh0Mq{Va$Ny:Fm:6< 㐈MCL}PkoW"a0B!E !ͦ;+Hb!:B"=i! b) xcDEqq RB؝#-I8T$v + }ysԨGYśGmG}VHJ}:NPϢP:*8h><>6 GߦΉ8N}$qSeb80b#bhq1Q'8 X8G-B*Ȏ1xT -ն&fLYXxPH$v*&6iV):KLBa m21.=]6m<'.gқEc7)טtq#ꎨG&EGTuH$DDDDDqDqQPߙ*6[F^;(GTFVm}]#EaQG(GcHDD}TDDDD[vDDDDDj [" ,m ) i-̅/*yvƴzϤGoN,AAOJ& d+FBn]B+DGzg5#MyG;I5;,D![<;ÆuQ$v_ y$G}[(dQ04PlmL2vE`TIm0Ea\Im0aPYI٫ &8DKQup pWqnl;F;I_LDv5s:*9$ACAR +TlI@UTlIIi{(}USwL7kIO뷔] z.F=o{DF~h֘~$߳^to6&տֈ F_pA#i a:}6!a#@\zOKl 7]Z/F!_q= MMES}"OIMCIzM_~!oR߄$c!Z-,Hպ{(!~ GבZtΘ>&I8([(71HNs'Pob(Z9a=PpC zA0$˗BIR%C mM\_ +0[C WJqT:tߪ^ >Dpao<<-"]%C'K#FqKIT4VKni%0{h! ?GPim#$ta -DuDt]<UxuJCf1iv怨u}v怨uO8<|("? B- +$UKE2 ?QI^KaN#A (۫*OXh,WnSA њ(?K\H0+Abn9(PR+תwF4H*l K|2W&aMAu6#i7aldD-,E4| ,VOM[^B lQ M[pIMUb)_1~lBI^?.mZҜi7lBI^Vl4H6!$ش6?UKB Jaz~cZM[l10U$0|zV u6$ &$/~҆Kl<(A>>GJ .e8t_9(l4D|cZH gA7O q'I?b:A4ȓ A7Oп ].6SZ &F}y?vj?A$?$iC @ag_Ț">.sKI/eREWKA A&V %!$H$?_H ˠ//tzA f./p@|Oo 3^#i z $g&R85a o%I#=0* %Չl$D_׿z_h Vgt՝ X`kPm-/V!ZƲ3ӏ/ IJ JWYBH$%nu$mH$%ntp T/jå `!CC$`AV^a" x" ` *| ; H Nb4i4%b A4=BHb A)h!+j"BPB"""""""DDE +#?8}7&#&(D*EtJ٪>;XEDV؅-" >0hPι H;D qFI8pθEc+ X"$4(}CuD paÆٴe eM 6ͦ(l8lmL6Qp96Ȫ"Ȃle(w ͦ(x +I vpWqp-iJ.ȧ ȸUEb5uw@UQ+@Ltu foaoaZ>@PѠ0l:Pu  +qn6hz7l^qD!]m?>b UC&eoaHII[% WB]U{: +Mߊa oK/AޖU.__i7B&m/K*>mm&|&Eg?/e9D5I􍤄D~A#i/oI ߤm%u]i~׍` 6^:ZZC<$h I_q(aaY>mTq6⩽M.zHImArySB5N KoE3ҝ%Dz:'$4/A??t8uMLIm#ցZuV#*A$u@*.< +-QhHoOD}#ֶ[[!3ނ۫Xt!ejMmPC8KkejMmAN#΃AH3fC!qg#UU?ނ۫PkQXA"'ٹ +Vz%pO KR+)T}8M0/o^'^?K, DR JIhb!, zM^-"9AP%C 7/zXAu&eZKJXVGJMZ^i6oR :imMY?oST,BI_0t<04fWRmaFi %{xA~,zI7bJN[_K YEJJa  +<ץmRZpUk@*T~q[ u@U_z:8urD, m6]Fr@xL #L/u򟫮zײ@?O: H tM>?H& +8Kqˆ YHϽ|h Aa#I}yI03_ǫ|l)o,ǤgBs ZUAZQ'A&\a~ 0z@oKC TT, D}uRZf"x,0@tG50geA |6]u k0ExKyl_Q oeqTo`F{"Y\U/SHdK+7aߜL~Am*[}-qo'-ֻ:- +ֺ_u X`kZKkVXKo*Z< +Ze My ,7OU-0AtH$%n $bD)geoq _ a%n}QK  |B UQe ;b(@}O~Ka.6'/KkEޫX-\kA koA i/_+&2>Km]9&SEZvh +'$֜$O4U9ȪNq@o$ק;rD}/GaC|h <|"? O)@(DAW\WO)P, +٠Li&vdCI4&ҡAȆiߥO Z_b@ov>=-A88>gxտ@DڤHbCUoK`ރ#; +ߦ.zXi{MS _޷ M_;[ai7=|5;, uX@&ܡ#X@A#r«zMF%IBۑ +>dH0n|3rb|$m]#iZaL?Kny 4kL?Ix}hN ߤm%OZޞ)􍤳}h8 jH?lQ~4Ǥr߄$c!M~,WF7 )1Tut "T(- oޭP/d9SzjӋtj:NCBPWZr}is@G R#ӜYѾ_wt R#ӜRA\T4Iq|( P_SD‚ 5󨩀k*d󐴉t"Aƒuײ4W$1HR#RJ\{p@pw i|4 ^ߎ F4kH DvnʰտnOj nT'L>R$I&0LGmcm/ I T<$һI$i6/E{ҵ$i68- l(H浔A'J!ca2ҍY:d(x6BT&2i8:& 6 p漋iݰ270l6 &;&uwH6ȩ L&/ jL0j7Gs ӨI 蔢7aÅ +N-Z8F8A twXzIlptGH +aaHQO)6oD dH5?X"1V9ea ; _a`ŗI Ӭ@oݿ$Օ?ؿ)%$m*^t$ذCKWgAAȅ_@oKޣ'gʴ'OO >&j4!BKL|{lHR#a +MPV|?/MǴ+ނ~8~'ӯM.?oF{mX~PI/՞/!^Tkς rH +Cd?'4I O$&}o8~x@VSV*ܢb9>W㲭^f_Om-/PD%f⿪p#E_ +"нJ~?V=/!uIZ_"ZKDH4yOksusOYȕB,hzWk,tW^'3Z*ezV. ><5!:Yl=].:+=@z}C$/ePG?P_)i^ {##a֓zMW_CkY ,X9;(3aG.ij?};)?j kZapVf$GtR⟏%]}~j?&i+]&U/tz^j= U+KKPNN0K54$ɍ}2UKP) NC+MץD1D{tӵLW6PmA5⵱Y +VSrq#߄pjXA[899 Pߑ +-[[_s uY,:^z pZ5EʒAmk_k]>b4B|%:~ml?})8D{$> *ZuhKҤ_,%R5 Vl~*),75OnzȎ&I +W묆/:Ni|*v*0V"]B )$>]:x"?DDK!-_?/!BH_ X,6zh6l<㸑_*\um_/VaE~a+OV[(,[(RֻL D}nt_KxWPg'x@ +AǧQ'"p3R,Kh +.Ky~ĺҍ&& 4:9>|_aAd&K .DS [7yo "cI| x%h/iWL_-?K.I~E EXI +%A6J_ YqTvO//KJ窖_Il;KWI|B +/AiPH?_/(Amf|~0(RK-.A/H%Rq/J&Ht5_WTM/oK t:@-/0,rK 6K[*l;o A?M, ~ZJ7v 'a^A>Ib JgoJoIL5&I!~ФzM~o>JKnxGM7K1ǢBAzMj^-_I&/ ~AXE۝BJ&\w%Mm>"HKH:MH@ g*Q0lּ ?''Fk +oJ< /w08 j~" :AA ƒ]CKbL:a&)& %- 93W hzS#X4G@ i/k#8:/  א B =&AkaGQy8A0pOBc]Ť GQV$`(aW*!&t,W Wᣡ# y^0[uDhh B0GFBBBA BB#=444J^DDDDDDDDDDhE"0B#q\h $F"Yh-1Ku4#|88dS5#g5#$Jr&"`^EQDk+i2V3R;uD%[x&6 m &2u @pȲel8pvEf2ApKtg>\fh'pDM~wDwGPֺAUQ 0.L{s}Ug (â\0ŭ35pOWᲰa[eOn6iy/V-u>P5TkS]DaU6 +3h߶A뷿濯eMiPn!zo~T*gӆyio HN<~*w߯i"@FYn!q Sh3/@a-Kmռ~΋DUy4Tߑ]a(G|4_}U~id&bCgJak׽/Nuy5/i7Ωsi'I%<:/!qix_'IJ~>oI4}/H5&k_5Im[joImU_b/_-hkt4`2qӪ1Jh_ph2hֈkhmVNfѪI-3D*h:!SD~&`@_I>86t) "4A>q~LF~XN{).fZtJ!"tS`5,t_NIN/!"=s! EߜIޕ&h(RQD{_!pr%NsO:/1+8o >zO~AA>I}/KbSz_@c/5k䜾zZOZLz[5kNx<^FYS^~IU +APr=fpֳc/_뤕^5wI[k\_}CH":],x"? h0wf +JTx"?H":]`xu/zAZhiVT:]ꗯ>4H$`ۯB +X">WJƗ֗,EAl8DxRб*:ӯI"qKL P~0~b-GUu$@#&`Z7?aou$zh&%!zja Wֱ0$_ڧI>&C QMDu׿*?z/B V#|Mb g3~PZG(铆Ep o,7[^(\BZC\uFuY  2^_oKB ׯ5W荂?%C,]XDl6u  rJpcl4#N.KIZIcKAu z[~;*rut#z p@*_?>ҽ ޅHh AW\m-&W%9t ֙@\idڷ-}:/OD}Z\idZxMYMWAx !2q?t~{ޞ. ӥF 6SҴ +m Km-&U#?At[$鯇^SҴ +hm  t#KKAK A]e:< ^SAA}-- KKA=x@AР!]h,WPTGAyO_AnWh13ӏ, ;)jM_Z + ==8` > -.?ڛ +S_zcC#Ah Aiw?+^LV]Aڭ}ce9F\k\id<--2BA$@4(.B?+eTq&gWHxu~CB}QĞ Oi6uz @ _ -1tx--Io "=tᄛ W/JvA70kKnI7I7}-X`[0WGBIt% `A"?K[)& ]B aIa>~ U5 Io_DO򩮓{IA7-I%xuKzuޥxxQǤ+NDI-ET!l"7 PAl> I M"kMOp| y'* ui\pk&F* Ap t2AF Ȁe&vLbCC=K0@H,2Sd(5=aȃ PôIR D +2d 0"_4H, P^vLb` B0`>V$`(Ih GXARA?TаB8 +Aέ $)C O ;kR$b(!AF"#,YڴF#h32:-"1nq\ԈjG|0ppNrRVjPfjPιX"1Dw2;g\#XJ,J64@pȲȢ5&Vٴö.ٴÆʭU L3=Ʌ 3YL;*Ig 9nM7e:nmCPu NFȐM7l:"%A]0u L*6@+]]IOf2DݐJwLtu j5JH"* m4wZLtj )D0˄hb־K(AXL m4F Z9i3Ѭ7t_F 8$i2#wD[wLm=/!-u>Aem FQJDݷIHVmxma6 +1wR_Xm!bF]Iۤ(4?R3pIޖ9!z "~j]7ׯzpԌϨ7HGE},ywmmiꊰa-/etMI/KKɀa-SgT^nI%+K$/HK*. 6J55^zaIqzU]:䄧GEU$='ɯSצd?KJ)I/!_I?ͯoU}/$ 01錄 #KE C_K 5CAUqD5 (I$J?j/hg?.C_<"'*%J[B + 8m +}B4IiSϯ'BΟPbqiCYn!'_ +/:~uB^6jOHCU)E$G]"=9O3Tu#Ӝ_s]-"~ʥ?B*:px~NIf"hIsZSrIC/E|8 P](տ9Is_ +k9hD?B.8U7֊xY1m:aN* ~qT0}ZO_A/Dtg:Kn%&zS֗zD +_KJt":qKI/3ҝRKK( n_VXKu~%Gu_toZH":_)8koAimD^$#1y"Z[u|x"??Z]zZ RKRXI K3$-*Iq[z]""}*a" J XbgGUu$qWj> ViפU\%]vhY}]/M'}-*J_>}-*kcizI&ҭXKh`wŔ1Y,BI_4PXJg$BXy𐲆4P\P!@sWWo cG_ aqP/@.  oJ9K_K]%C㎗U %Kz ZX_I~KI:OZH*(DA 6zF} /ނzF}/I%uf=#>п MoA`f>aY ' {xAl?^yi:G@I ~[:Gk?a ӥFm3 U3 Izf_گM,00u]{U_Z,0PAi%Shm(GI oeqT oeqT`4T>Pm-k_\|N[)ShPPcuAl9>|AuT8AU__/ADTTi:6 +_ELZK!?(Ծ.p+[zl?%[zS(maux(G"K~MmK~kyv*O)'JyB )pO 0 (}E>|™n7)5=bRa8A7AW8A7Yi!0}(j ,@.[8A7vLbtz"@LZY# Lo8A04c& , a0&P^r`8hp , A0Ia! ! [!$eVka0q ¡ b28B8Ci!Hւ +B HA +UDj5A#MP!AD幄W*Dc,Qd*ιXDEcq Fl?$h Itk`c!$,H萴}B i$$nbTmh&H91shg?^Y_ڤ]8[2SJ9C_4W@1IJ9"=9ΥI=_XMߠҡ)ts0L(P@jFj(a<$hm.C^zi-ELZtf -Dui{G +Knh8;pLG??ޔiP%"KnQD[u|F5$I_+ƴ/QD^UT R+ᘉ EF'KOJXI֗^aAbgւ ~aד_ҭOϥm*l_]/| I|Փ_BI_$J tH6!$_v5uzG~:Z +m:_ƴ(l4K~랽, +ߥ ϯKҿpnF}S:$iz_:jGA$HϾ6S_Z A&Y>(_2|0H$9KzeA>.!?K3K/0geeqT^^HdK+6*A$D_ⵯ +֣ДrM +ֿkI[| IJ2yuA&)+u_U~!*WAyt!*muA**[?i}J9MW'ꚍ-%A"~\~Dy<k~+apKA?mzHArm$ӯKAȆii][Li'+_FwA AFv]?b@A_i}z_ ih -e` ^pw=~";IK_$";I`|x?AX@A#c@ItAI6a KKF,p@ &m l:XE$i6 |A`bIlxIwxA:P, P@ ҆A΂ips9sa Ȣ!&'Ja6{po i2 DN`AtR+-'RA|,z NMQ_Pa0i 0&0Iia, $A L֐0YpJ2A5U$eqB,,HAk H WA HqA +H!%@DRҨB#DA$ A:iIDPB"""(!D)Zf#;DȄE>1Ԋ~+2VR;(ȮW̗$8g\TI(BӆJ xl2aC f%GsȲa*hDkEB"0l 46e"5R`᳃M&af:f +$J_WlZtiLvj#iN0A 6mwvϨ8gˌdgձk_E &H +}!Elb֙ШIèBISPDI06V8lU]lYp(oOTTl :eOn6 :\¯A&_zmFͣ4xb U i <]Hz]$~H5fH*J?^5"?&Ml5P&F[_a?@T_\Si~P_%(֜\S<I:ֺZEJ,Tu#ӜȠ5%ii'\KzMt&/opBiP8}/:i)ėU9տ9Is/K 5= ?B,7UЋA{I#5 +0Tu: 3 KoqA+8oSֺQ~_=0J%[sk. $a/կ<^3ҝ%R <^*N +":ePq|>$nut# nP$뤕^_NP +-_KQH1$#1y"Z[uy2"Ax"?"?{Z^ޗ(P nʢ#?GK3:-*g'_KKOJX^]GE :ˣ:8ʅ?]a@ +$lGUu$@^{h/6]a;B.Z^IYjqI鳑XKh[i~mzZ{M[Y'XU>/"?迫Y |=gE/Ϋ^m a˯*# 1 _Ak_/ H ˯mZ +_| WK ܊#?At^_u_I#=8*_wx@+z!uZpKu< ^S_M X`k_z_ ~yqyV+i%? 6 aLRVץS{ tx ifT~5ձA6~_b~-#xi4 R3/(Kl/:_o_ح, #;A_t넋p/ a&^t?5/ .AKK[`ఁMMaK_AX@A#c@KXA ia KKItib,']zrcI6qO}uKjPZ24} M:(~]Ί H6sL=+ׯ& \ K Ȃ)s +B ҇K% &Dk`ȦpO&O.g.l4$ ACy`I%Ki}آCTi`Apoޖ `3 R _0}% iElR+RA~,z NMbZL( j 0` ,pa0iV Bд j  jаXc   a0~  IU +B8 KaP IB& NB8HqJXBʑA0E8AR`HDj5A)5H*Dhh D GA RCAPQ7[E:!\6 wTatQΠJ?l>pogA_mi7 ݺM}-.֗Zbm~!GЉ"W)UZVb٩Fu +z {*Vn=cV΢"}a0_ T4Mǣ ΢uI!gE?}_IwV=ykaP!(kk_ gBI\N +^i7eb.?k=iq %NE8@0Hh7ޒ].$&6Iz[# cIt40;Aj,DPL( T#Z>$)G-qtuDܡQ=wvb#Шq"""jn +#XB aɲ^c nE;+ꍶ-trl + 92:SGZ; +A"P<2:+ 3}>;} #N#|;XVmWP: Uf#*.8|GKґФ؏"(";~:1ZCAPA~O};' A E ޑMUEBL$ HG}G$q,> E}GuGMH>:=G}>#Q}YGfo8<\\qF#ӹX}8)Ј؏_o{q""툨qsv Sv-cc^sž@Dr85YGuGLYϣS> h>!,GTuG>>ꏦϬ#q/: ?)GE0Va2]GҜG3' w8'ͥsVGDt< E' E ň"",c8MЈ EEl!>0qedE؆"Wj;pcbkO{t-7 XI|%adr9PE%aCmzCvm#h&Y^VvqQ>>1Gq\,vqD:4g#m4mY}f24$mgmWGy7JGGYGa1#l0@wƂXmcb;!GGbǃ  lqG<`.8##c'űD^6nEvD~DXam aǹӆi uI'vah96*Fh6q#D}6@ͅٳD2# +]@uYA>>##I o86ftY7:#46f7}g>?}aO :qTqOϣ꘣%@}g}LgGE갊":'Yŵ&efq1l|q#"=b)byWb#ب#8( TOhDqQCFPZ!>8&xAm/ų,Ab\dq CU#iGmVY!"0L"v m.ߵXH%$\/y)↤ 7aͫU#5Z.r:6k(yM*9tuYiNTc>iqfa\s88  E^ٵoVaN/⯛_^ն=8B9؎/\/㈽|bb8bحc)Ŷ TRI[d|hBaXbh1 D60v]u#m[aM0zWhMG{\2dmvμ=[$:8E&Me̎HPͣ}!ZFZMa< K<>#>FGԘE3=3e#H C#stY}(A0A8"!@`=\C8!XB ؈`O`D |v0cłaqFDDDFE/ƱqhDDDElDq' BUkO. ն/bChi*v4## 9#aVtaYQđEaSID"#Hꏣ!}6q$mVCY䧑B,>":."!DDDE6(":ϯQDTqeG}Ƅz} qq۱lFtgZѢSM0H+y6Y:2PXYGjޥضvg4GqDi"3'&#AhY}:#b",B,5b +)Dp}V"6Ј#`TDGhwmFV!"":]1 &i LCLA1t%C \b *$m}Q$>; +YJsꏣ>R%a9"""">;qfJ|FhB>>G}“gF^3D}GuGAYLQDAq>ɻEXgѐK8 ,A6&Zh"d5GƁq{)qwJ.K\MG\) :C%8cj +4+#8Dr+Q:>PE<:GGT3 OC& C03AK} #\DWRGj0h&pFJ2)H88e&wR5pμ3^K"ڃLgz_aIGtPlh)C*%h*f{npʚAEʬŠ3 P>ٴö i^d†۪хB#@ ]iRvj部EZnݦP +$6}A.]0u L Hƾ1iu L*6@yΖu 1k^wLtu fP0\YB*dkoay>qf?}n|62UtwL;1 eOer˄Dz0\JD>IQa)#jmH+Vxm&! 4_6?07V6?B1c L HzpԌϨ7HkR#>f7~i&&/QWL l:a*il;q>ΫE׷_SEzҽ,թ!G^zaIi~㝨yW!AGڼ< hz/e()Y}6RCynM6$_B(6j1DX!{*?_,H萴2(_,H萾E)Igp y1sZ! YJ=&Bֈk1sɱP*͡UMᥠ4BMaM΅>qhI74_Me2O ϣSjV"4 &ZiHC>a/"k>.Sd" $?Ȑ5iHCU)p؟Z=> J~s. Et?t:?؈B>`sqHKpNۄG^C+OKw6(GӟG}Ft*#/K/o%U_[e|3DDgoǂ#I tơH":_#-WkLH":_#/1ca]꒤ᘉ E%^ޖz_f +1 H`b/?i gDh:ӯI#""5??N$* OzXAuE *iU"Y62_U6mGGuG[B g"i=4| Gֱi=p}-*\‹SO_\?BHH 8g$BŔ1(c/,yz/D gI+9sh}?# MCcLi,@W( x_D"@Wc~c"Y+x_&ğm t[JA oT?8u6}Ҳ/T?'C$F=I'T $_>b=':+ˤC} pI]A4 O˨п $ֿzr.:i%u6'dH +?@ >(Et/>( IQh Kr +?G I m/,$ 4 \~HZDtI͡E #AѴZ oeqTa~m5ik_PKgW#A]e:tX%:< Z = NxkuA% = E|n?']=0Al_yqyVJm$?Q ͂AlN KUo0ImTX`yXLlHQs - -h &1eBKoEV($'s@; -#[SGR1F$-"?_i!K{/U@/.5]'-[`z^]j_MkGo[_-?44 $@Ai i|+:1x ^u0ߪ @"ih KlZ6"#֘I"zE>& ȉuO)>pO 0 (GK%%&DkXADK1d* !`P&*4 dE-آ0 襾K0K0iTi`Ar)zIP^1; a0 P^10Ic :W}*AB0` .oH֏ `S!`AaP4LX# +5 H ʫ4:I P& ,B4EB#P!iDF CXZCi)$kKqAY s:y]mR-uYd]V:k)3J-J yF"2_lprah6} g2[8g\"6flayHDnf*ET2VjL"s 6ͦ)CapEÇۆD6v,ܷU}]DTݐHEle' @"]] "*"%'VKpAI`A%=hp_p$ANB%8֓{ >S"P&Wέ7tBUt&s +hp4JHH"> R7Se)Iۤ(I}iWk]$MU7M$tzL_ƓI:zM,ywޗ^x 6Ck},$mh5Їz_nI%i}u__Y +ZL?KGMsYI 4m~ʨ{9e$0n^Ww^Q("ٟQ ~u\#&CA#i/n>II)(Jy$t[ |+Wi^#@\zOm+z H" d4[*<I$`c!׭'+I}%Sd01Mr$E%O8jQhg?/ez#d j$^TJ)%󈥥WCUED --(_:CBΟbqiC:_-4W1IJ9?XeB4^tӋu*ܷG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȘ5$) +L<>(aC"C tVe_m3PC xAWBtm"( P^#Au!:i7aY>mSq_8aY>mO]&K/ =Rt΢0 $UNQ.>si$=)[p$҄Jt":?#AT4B&[ZKT[p합I>XKuG* n"/KzS(@먊A!4a@T nQI--^دD$[uy$PDnq50AREW(AԹDX_ U$--P/SR+iu7 ?K`$JX_  ޖ]I%UNUޖ]z;KAI[a a-%UAu(L/"7}-*a4| +0;iVx3[ Jy> +O4| +6o-N,0_$눲4PXJşOXAx~lBI_,0ӈ"3MI+G\G[ uRV(_P"?G-֕}/? 2 +0g#8uI~.,hR(l4yKzJd6 aLRVﬡLH$%n¶[s z \ +_GifTqFfm/^U!*ў -mOΏ S]s:ŊZ($b~oߪkom-\ DS_ֹBGDIT$O4R$-/*@ATT,!ad,B "` (-!ǥt Bt H N5 B5  ""4ABP"CI-#!HDDG""""""""""BIBG*"K:pPF>#ZOv7[(hej`2*ToOO${I3+|%iE*%ش +6:L_~H5f&*HxOSL$mtֿy:B z_R3a0=M0aH?DҟTۤaYU0K`&>Ť]*.QE?FA#i/lle~ FA'U AHK|f~D FQ paT4Ǥ&'FHq>u i$$?IMCI<}/ )k/1BJl2zoI/!%O<&8Z"TֈkH?l_},RdʉS$+o RR}iťo^KӋIKO,J9Ku))G>[=*b_Nb]!T0"=9YVߠҡ)tsIuUЋA{I#5 +0תP +k'9ΏpC xe}e_m3PC xAW~s T"]%ꗄ&/t1sK/ =Rt΢0#A?rۄG_j_T[p +":ePt|>$nxoJ4uJX +U΀u[)WKzS'@먊A~֗ (۫ШEZ 0!$ +NF\;*~ (۫ۜE$/ )"۫i ,Wi{z_L B-"?M-]/oe?+Ab3rZ "-?FÏ=╠^]h,WW?h,W">n_Aue $G(ol R8._AuA0K/m*SMmU3 i=6o-K_UjV KbJt8ҍ3MI+ 2plBI_(": KbJK"=h/?Z怫)C TJatZV ucBCa_I6]B$J .Ҳ-痿XХPiu?ZyJ4Bu }/,I>$ ~#se+ H&.?隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HChdfSK$aK@T__L>z@H$N,s L>:_?}AA lEkA>.mA f.ثH%A 30u_ F{"Y\U/ȇZ o\$D_#I#=0*h!o$ȘWKk4J+Z?_^"Z%aIBt+ +ֿ]i5%a~ׯק6 aLRVg-A&)+u}epA:LRV+i%A&)+uzkyt!*A_ U Tmސkˡ UGkifj'KUU;B H%Z.)vKUm.6ij'*sA48"?_'*__Hk(_(iuh <_=fiW'WG@/.W' m~]Z O)kʟxAؠdCI2( M;o( .M?m?V%I}oia)P0=[9.g}tZ%᠂@K6ح, #;u AAa{M?Am/ok iL4 .A-Ra=+H Dvfrdx 05 m`Kx+HqH Dvoim=+H Dvyh1f$$X6M _""")7:I6n#76Mۥ KcI6hO}wAI!m&^mF~ G_H6aOXA_& |A`bIlxIvxx>g.l4D$ ACazsLxIһ (t#ˑ9#MN:\)!2"s_36` "l tiaq~10 X$ pk T \ NM?0*Gid* qI$ Ae|8cJaA& I8A6dPEWEĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0JO.Ņ)4`q ƒ `C'Q ֕k֕؄pA0Id` * BYA0F t`h1h D $H"T"B?HA""#DA$ A:ijDDEDDDDG((F">z?8}fkӥ&ҵKKt#G QADVltJnb+E &4I8d C)NsA+;)D#QFIxpι ZwD"$DQiXelÇ i.pʪmL6Qpp46lmtEEaPrܣ$]Pg%~Dݦ"%\(EZ#:DaZg@ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AD}G8A6-a ,0VtY0 uAlm?ۺe A&">4M"#Q@l|_(>bUC&boaHII#% +sWB +;糠pޗ 6oB$mQ/47Yz~i6}^ۥm&|&4}G֗JSMAzFB#7I{zH/A#i&WE?WZ_|zߤ^:ZZC$h I_q=H+G 9ΣѯKOMZ FD٩$`c!H )iQA|?AVJt"+*dG44`>/*%NqIK4LyW*dm6q' ~D +L%oD$.Ma0sN/L59/FJ?C[!VΪDzs)l=Ăb&ᜎG9|urMQi#E>(a.2AgUj(aOi#EH}0}TMh$t@DKoJl#kא!GMo"uNۄGX?a%A -Du:?:\&zSh}a-PD(ҫ$FT n0/u>!+*6HG"?=ko["Tg=WN#! (Pn"9B[^(P nazU3 ٝ:\YnUO~u5h,WTf)Z ?-/JXDy4? `A{tޗGK.l K/3^a׋#_T0~"+ /o%MA,R'm*Y&:m*T[XKI$K)}/~!$ARb  lBI_I$xA~,zI7~}.?cmB5@I[i[l1ס)TpJ _0UѺ (Az㎗X(AP@IPiu(Aʡ҆KՔ xADI Su_~?c  I?Cnn x_a?yp@{o, DpvI037 &F}V-汱)E[ 1r[B-ZQ'A&\a~ 0zUD a7EZGY/-' X[SZqA f.xץZ 3@t<<%_.Xaտp\U/V,F $g&Rޥ>$D⸪_uoA{z o&?z_ ?aZ*Kt[%at +ִ-4߂U|xAl?-5 0cޒTcͪ $b]e +k 1I[#j?78Am範tQdW/) UG 0PzQ UF6>'ҿAj4_mx|[(צA*ŊA*[yGsIoI%!uTH\Nu+ 'p MNpTia')8_6MK.QAէoA0o_AryL ȅP $ n j*=oo0@M1m&o%I7^ +&ALqO _RWhګ{l AA#;uo #;+}6/g~aUm[0Ai7&~M8\5oAKA%M_;[ai7=|5I[a, DvnjGX@A#r@aU&# mJ8|} 2<@5oc@M{I&UkMߒMt m&ta@A$M1IK=DDE&GJ&L?0?KCH6a$i6-0oToHB M=0IA&Mtcis +B ҇I1A:PBc % ACIK_c%0pZAL6 T]~ioސd* |A$A$!P^0HR  '&!9d* ǥ?ʆA-8e -&E:`Mi$ Bj>X`HL& - b$A0& B:cI b>M`m4kL?I_Uѯ!i0/I|uDxto6mO FQ?Q^q~4Ǥ5y!)~ 6$h Iް1[~( GneZ +0 IMSGTut "T(- oޭP/d9S^fhG><ΓЧ&Uֳ4t\Zqt>L-G9|$O-G9eC T%KSD‚ 5l^4Iq|( P^*`ʿ<<-"]%*]%[ r.[pT4]GPim#êX䎛 ?AKu1)ǥaKu=D|_KA݆*]imYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_AbKaZA)Z #w/죘rH0+AbB 6"uok6]zM.Xߥ6MAu}&ʚ!_}uMUNv(*LV_6 J!$/ִMfWIY4>&i7lBI^_4_KM[l1*rce 'aҶcB5~K# [E:_+ 4r:Piuz|qg'I?b?K~"xO gBrD  &F}?xG! $CI}xz1AL>ץ_?:/! |=ZˠEx3H Ad [Շ^ 0ge\U/zף%I#= * A ubh!I#= *⵨KK^gGGV!ZK_oA0B%n_k$bA0KVmLRVU_muՇKx@ o5 +LjA +:9Or: D?>}/[t VMkӜkP_ Mj +8 DSEGa"?kʚ8)zA\S?XD&ooW'[i&ح|!7Li&*7oտdcI;)UV]{#Ep@!5+uǿ$1Hm/l#o`/pAm/u]77 ҿA";I r1D{_4@A#vUv}VH Dv}&mRoB* Iqo Cv?$II1&KA$I~~(&.|讕A$ItLpZAP/k)N:CǤ&oytij9e#P@ ҆ Ax"J) ~I8A7 Aj!d4ci0OA$ A04!Mi yxp@ @, `֓c: a0iAAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S$)y-P4Yo;["Ge򳚔2[3IPgehd򳚑$'lFR:(}Ug×9C$8&2Vf{pȟMladrj 2Pl6l6 g EVRQU`dNa& WLMnlkNݑ~]0di7iËAB*0e@*6@>If*mp\fh(}[wZLtj +}!DLs:)(Tr$>A£(AŘNE7 +Xl#qGSꪛ!*ۺem2JiU7tIzᇦuw Nj%$l]Iۤ(_-/m< _hү=#ֺI8AdKK&4_H6/n>`u=M0atMI/KeT}ZizoM WFzU]m%:Y:I׽,Q UkRB:+57!ICHW:U {)DJy$t[ _IB5&}"O/u믆obGD^/1BJoB. W4E?$AƓt4`/\RK4pE_},/Rd:GD*h +&!'7 + g__M:_-4W1IJ9. $Zt&fG90jJ">6IN$t]/{~JU9տ9hD?B.0׈PgjHETuɅUЋA{I#5 1?0tSq?8aY>mN9tA0tM:"FtK/ =Ruկ<^_Bg:KnZLzZO1Oē-6*Z^BUm]VRBdZ}tb*>?IGK#/ O朠5G_kLHDuhYjTA +Z^G:_+ ?>K.k7%|=!e i~, %V3~P_Mt%YuXo.! +(_( K^Z~tZV]%:]d[%H _kχY9DiDz,hR(l?U ~#s"Ap?i__N_A7-/DA%X YHϾ}% +#UEBB\$At NR=K Dz_3P"? &t]t$~ a=WIQa#6a(@ /Z #}'@Qhe>SK$a/?ylb":KmL[U^/*?}AA?At'O-R~m5.ph zt_.o$ȍ< ^S5ǔ-ֿ]Y_x@A_= /m&A0]}9>zJm$gL_?;+6 aL}z_:8 +_GImNA||m/LCY. Kke:EkoUoe8]s:z*[?i}TqߪhI~[I?㰿\~G (_ƖHTy< l_{^U>Cev_V+h)I-_حK޿_kb |1Hm-@_}]iwVH*vKa]8;/[`/a# Kho/c@Aa i, Itib U5'L>b? 4cUKjPil=1G?}xIvxE+du\A`bZ`ȮpO_9?0 (tR ,BdDSդ\pkഃIAMB2 _˃˛ 0AE/ 6$ 0}"5~INM` 2d(5b0:QU2 AΡ4(@.E/ {)H ?= +m&a! P^v8A5 ˴  @a%hXAH! 100q $eV5 a54Fka !DRiB#MP""44#M -4H5CPTZŠ""""G[EqѕHXg\V2;f &80aKq]݆q]]a#EA5} +"Z z]1u=Í>[I^6&IViu6ް1^z]j݉ĩ痤??I#D+HNsoJ-+e1l԰@WxΡSPm o*n":K`uʬըKu*dS*~n=R۫ШEZ Dj+7)a#@u]|%>BJo'w|kka0X/*TIјlz0]%:TDg(9$:*AWꗲuoa" Nj.벸_ujPy=Io +C>1IuQBHhI5TV䅳]!\S=.o-ɴ zYoge[Q i+ᴰAXѬ#5.ޒI ) H/IQ,. 7'J ӜBj΃aHԗؓ_0&4jL& }' g1 h` +q c A +B,DPL(T>B@M-TEhf,yjPDtGG7(Vm`Dlmrn>uG}-T},Gf8}GЎCB/DBH1JƂ}}G-)ĊgaK|G7zeQMˊ8!p{h+b{>P6G(GR#GuA:#HShd4%vAaD8FͰňV㈎}$"}b";.""#R$*~%HDo65&ʯ_z"_7Ϳ+6m:4HC84H4,鳽QGGf"}YDmn(4ꋡD"#qDBcb!!!@ۭD9DŽ oLJA=\2*ӐGADڝS~O}8׶JFtϣ#Kmgw8 iP!>GuG!}X"YuG>\G.D_{>D%ސmWvǯt?bBB}%CKSiz8}dW>>qt璘GT}P<@pDvGA"4}ϣ=Q}QuGUYD"ڂ)ӈ؎@փA?!T[cSi$8<6Vc3x-bqgr&4(kMޓb3 \\KvL/4 v40w# A٠.i&]\6ށ<(GБH)dq8G}h&&9r -GTB#:}Y.>E hI+"""B E0b"#8@~dIaG>rB y5c#p1p xرbCl\ M_bO6 'x#k օ\iMCW;<ꎨ>D:ϣJq[WV":.ɎϣGG !GT}?6yA +yGo:.#6# &,X T} ӈA|A~""S@#E9cDb,2; x;hh|SBXߎ 0q|DC"ڎ>#m<($|DPx~Ď -HqqHDT]/^nނ'AϤ$##>:0Si[:,AY Hk:#~Yv]hF9b87q/4N6q#"0wwB#ɱL87c ]n"iZ[`^n4K&m$~!HϦ ΚR! jm)skƁ⠎8VㄯlH6?Ŋهb}6\lx5bxm]XbDv)ɼ[L\0l1iPױLmJAV %hzWvmS< ݼa)0M0ǡYCnwiN>r7gq2\Sy321C#N"2G@VyY[R_d%ImLyYMIPAG !ADA X s>>"qSlDDEqqű_G{MaaA tmAS"V3B,lB; ϢfUDJi4,%)"*ňA +cB#qł#!.8U0D1 1^[  %W9B- #ȡGMuY(G +"-bA@|DDDE!H Vd& +@8ƕGB";4RD}ꏣY&XC"-"" ["ErAL"R>cB: MD+&#! b""؊^l N(JM8""""<>>tAs3N:#h'*+6 a e*D  FR;+FVsRKsRuY$Fd$<6=mQp4wL3= eQC eVQaEa"}7 il%ԈjL"sFVٵM EeZa`&17id  PdKWLMn$k&N6Sl;8Dߢ:ݑ}N (vtPaZsg;Pk2YȨxtAsg;X5TDC LD_pvwGƛ(!t:UUwM2(GP-u>Q6ޟ#L:QaӅ_В֮qՆ?FIH!gr ma6 +07V~H5y329i6 L H+},wޖNBy##A?z}[ WC0ۤۥ:CtMI/KϪ>:/T^K5jHGPQ\EސAzFZj߿GYym/)G O$95Cy.nU6HMA8Dt]z$}')>"Ď VAK @1#/1N"CxYR>/D5CT4`b,- . W4J0=&B^Y_ڥ&@6b=G4ZZdT ?Ч.?@TyR4LBN/Ii~P_%e2Ovh+HI:ֺZEO ȚϭtO4Tu#Ӝ$CAy Q ]3jJU;t8b-ߜI" +kI/=U"^H! Q}RL1]"T⩿.:aN* qT0}DpaN9_aqT8פ@KzZI -Du2{DpQ j0$뤗IU_Um]Rj`{7?gQY8 ~<IGKF5$_׏G_y2Ŋq/oKD$}$%I1/TT+ןFh@U{{)b"#I:#EfzIU%I%CB)GUu$@W9:D WzXAu*{h/ldfSB g"i=4| Gֱ0+G便[QpYj}t\-tpޯhdfSKFC I m//?ylE?*#}A6oDq-PAtm-k?At'O-R?}u ޷W*G>h,WYN= q: a⵮oz_MƄk(C + 6(q o /߰)i .'\A oKL?KPg9fMzL?KeT}=沉 7Ť+fT/?~UE6 FQ`?n>Jo6&#("Q ~66\2A#i HQ^פi^#@\zOm+}q=/I.='IMC_[OV6K$c!+I/1BJl2Ko!%6P2IE$▯8Z[Ut5[$^BJPګ^Y_ڤ^GJpy*jӋ'lBΜZq[/ߚ+\ӋJ9aDzs?\)0Ob,D!HRaM*b_Nb +kǪ3I-!:i6Z(aϰН4WB-=$( P^L?C(a%[:0I783"]%}8qItT"]%ꗄ&/tAT4ZKT[p합I=KK|"8(T[pI/I!/ -Du-KuEG"?=j a0T nQIޔiP%z2(JDzP%qD[uyUPDۜG΢%L=/ejMmpu*aWi{z_L B +$U2@le# Bb^K/[%Vzxc/%╠^O aL#aJXPaד_"K"B JI QH +_Dh/6]|%>CC 7ki# +.M[欟K0g~Z} `WIYjVVAaK/m*SImU3Fi %ixKe ii$##Xu$xWuqfWt~a`,P/Jar: "=h/?Z`)C ZPiu?Z\6q֖KJ .Ҳ-u +_ I|_&Pite;rM\3l i =':+ ҿpnKKA7OǠag)G޾9Ih$iϡ]%wDu:jGA$HϽ/)P$iH$9푥$a i:j8oW4 )% 0zo* k__L>H _>RH _UGImj_K/0geD/K] tI#=,*_oi3~A6[ $g%R85HdH+oV!ZzBt")A+ kA%h Vg5E.J+ZpA&)+u^;LRV+i%2?9k$bC>m_ 1I[(Q UGk ʀW U3A%CY. U>@AH%ZK_e:UlRKUU'n$)_'$_^A"~:OkHhMNv <[)=xDKAryL n__V+fAryL ( OVwOdCI4][Li&@#Iu[| #;uzZgz_QZia)P0=[9.g}*A-yTޖsA&^s .AwT7AJ o##+VD0 mm-D0 A M 0Ÿ[֗$";I+}$I'L>I,4?Ai60,4?HHm$I@DDDRou KT m&E&A'a] a~!m&I 0  B Mڌ=0!m&ÐN| tia7La tIp ˛ 0AE/ 6A:P^`'JNMQ_ Ty(A '&cA\ RA~,z NM85d* A.E '& $ +A01 `ᨖ1 9H + Jj ńĂ0H0` I b@4A04RAR0ZCXH@4$1 B& ^,,HAk H V:Bt H ʭa"[!CH*KAGu""#DA$ A4) A DDDPX!A "#,xd͎?l(G7Iߏ҄:bkP +Q  +endstream +endobj +9 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕr\CK +endstream +endobj +10 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +11 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 28627/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZm$J-6~ (z6/Rc)7HZE"2][_ղKl:_KmoWm.k ] +W$ߧ>ߏ__Kp6Bc餖߮UNAI%JFǣcK<uXBn!^v0 l?8}=:ZM6ם-hk:_&^v`- i1[m | mm{0 aDWڴ)$)zZ* z@>蕮_xIN 1$ r +ZWsK?/k#78Hik izE??K?O._!ʒ_oaLSmSxĭ-iR34zI*KIDZk;ioꇯivAa4 ?->h$h$pP7 `ahaXa$Bo zh)d#hQ-eg5(pι"M0pι-󵬗*8g\_a im0J&g, ѭFl2%0la X"5_ TϨ6Rpك +a"79i7SDKCBIu z6:pPF>#ZO0> +*ߒ=k +"Aa oKm4AޗL]|t&^g-VaZSꕾ*AHH#~D F_ F΢8IFe> )1O(uVAH!%6H %7jH5 h/ez#d j$^BJyzL=*h9YPZ|Si~N_%(֜ZP&Ic R#Ӝ92K?7zT0"=9ϢIZ(au {KUЋA{I#5 +0ת* 列Im3Co/z"+HIm îZۄG_Zi{G +Kni%0}*L["=cW)ӓKu*dVR-/ejm6 _Wi{z_L B +$U)Z u쥕_h,WnSA B JI#`"6z_/l K|2-"hm* \ JƼ P4bJ FYu$x[l10.*+рk#ߎJazZPitVPxT9DiXХPitAV |7>ΈTsD'\/ =Ixn6S^"?C5#agޗUk0Iչ%o i':/恖S9A&T -—֚ 3z f_$`φˠ/,wМ 0F{"A\U/߽-,Zu_I#=,*Ct@J+Zu]~_頂V!Z՞ ^H$%no}Wo5 1I[_ +_Tk^=z_?B UQe:UZH%ZA{HWp MA\S/KKAryO &F4/U][Li&@HbC/ ZXA AFvT?^ gkXbAm,_Gi7+c@K A MAi6"I cBEhA$M *i%atW'a=&AAyynT^A:PȘഃ $jK yps9sa Ȣ!&'J Ӝʽt plL-&Eh H0dA+RA|,z NM85KpP@V L8A4 BаXBc   a0cCA!$e `A M5BB 5$em4wXAa-bA 8A +QDDDDDDEQp|5Ed1*c8)0vD"*y8r`_lKR#'VD",k5-dUC4m 63E"iNPjL" 3.و&2Vf{pʢ„pEma6|"%p7uL^LI eRpٴ +ad ][m e٫ ?ag>\fh(q }Mp9t"x3wef2g_p]e3@#lZ9Z' b2 hu_[m!Cea:p[6sʙ e2(}USwLQ쩮R@\U[ͭzuآJHߞk]e'Щ.(Q({cCԈyBW>=ӑ8"A7{=M2?*i3gO:::mK#Nr^mC ȀV:fn&`6~90FC_6ސnh'("ٟQ=ޗejrAi'I? /u8Y/jV~?szY( i%񲢚__E'\EP= qK9}el_},R鈿Zu_/eO\UA/8_Hl~zރנK)/I@N + yzE_]/PŐ`ӧpi?7U)1Nry(uϭtMo"=^ʡ:aZ/G8zq{*Fk3΋HT8VHEug#(?51?_=axa=jc~:aN*x06ypT4J=-U_ +8=/VzZO5u'YFH}t/@_O?tO\_%mq}Z?/:د秭"o\_xDKID}A<:SC+M^Dy𐲆0zd\0:)XWƗq +:ۣ )~:Z KB d _ +Ë#Z(?~cBg_Et@a49 =}v~?iml=+ p%l>KI]-s{D-=k5jG$EB\$B X-}ztjzeNa/sSaA{K ޖ_/ OWAx ^SҴ +CkAl2m_m~ʾAt- KKA?D]cʲ]x@ +[?ޗ_KxК?K-DtW[=TKm&[xYP^tPz ~y}0Aq~z_P?K_t?8!,ח\860)W/i j@) mc|׮l4mu_Pt9I~8W i y!_KKWGZARi~8; AiT{z߄[+_ʙ_iu~:L|qK!AwtiƓikg'Hxucޓmi6KMl >u0Z^>Ɠi-a&L0_ZZƕM8KAI*vܬ0A[MkM㤡+ ~մo/ޒ c~}~v"!8*K1 8zM0N~oIa>`'U"5$,"V!4w+ XEAIH0I,"@C0@[`*La{ZI$jKL  <\i2(8I]EL`ȮpOG@H,2YKiwbP@Z I ] Æ=d`P4z 7H0i%d4ɃQ/kA4IR A"WH-_ !a 0 D@7H B @m/tUbFD $fARA?B"SʬHP,,HA_ UbF!*uI +B#4&I E!ŠHp@Rj""AGMԑ2DI3FBH茄Db򪎙Λ2B +>2!TDppȦjDo5#GTNDU.̬wڅdB"p\Ԏj[aÆ34eo m*t (%)g &bEՂi`&pa*ۻ L&/‡UMAP0 +>]0di7i!Xia6~:Dnʎ]0di7ii҄-YqLaE93Ѩ5v\fh(uDQdaZg;PkUQ 0p\fh(uDQ~wD0wF ӬWzCea7t(m~y(l#qs=u>P5G@XF -M2U7tTK%$oL9QFIHJHDs`]H4&(ͣ~ۤ?ۤ=s Jq/*i3i^< >O^T*g< >Os{SLkN_ ֟_&/:fmiD?| %]/՞ `_K>K׽//׽/_*ȴQ>j_>j_Y>j_Yp ?[ &P~>oI4}')?6&E'KWOM!2ZPŭ PeP\: }:(]bֈjKCA3^頼g '^4 $V4D*h4|z 3T8 \~ <u3@΍RH5iiSE + ~Uy3ҵȸ4R3]!MtS\MU{)*ITN\MU{).dZtDz2?q9B_oҋT8C'9@B,7d{*_H~HE,3| ^ʡ89p] Ue'1>UN*DdK:aN*Dd!XP>qU0tMO-ҿKVZ^Ii?_/qKI5k䜾zZO{@C]/NzT^ustNzU%W3ӓN {#U:H#~I|x"?$P Ac-'Íb=}/.V#U3Ηz?=\4GH4S{*gT_.V#U3Ηz*OչŴI(z_άG- HH*H*n?gVq#–fzI%CgVq#–qW@QfzI%C鿜>j/Kv7[>,RM'h[}]/΁oub-/I`Im=tJElI4>b-/I`Imֿ%K׿*?Ŕ1_TŔ1_1Jim_q K ~@W( znqP Aa/~J@@8 /wF]z~JA c~H _XhABH_ --UizG$PH -qyQi KKo^@I'T.(CWŮ-9BκI]A4 XS, _oץ㲧(YI+% ].L\zz]^T:GGKI- { Z\id5?Aiq/:?ZLh KsSa@P# a_ eg 6~4QYگA?tuoگAq_{* +ZHKoe_ -/iq-WPA Z[c k(H,WYNBRB(H,WYN --z uҽ A']=0Aiy_AnWh>y}0Aiy/{*N|=8`#߷)azXCMDAtHs`]zcAץa6 S]zcIץa6  G\ {mVȾxA1!E$͆CmVȾX.q%l4l|ׄ(u_=RGqKGq]l +*_)saux(_1+G:-&T΀տ/ @oKj k%ǥ[q[*qQ.r?? O)lo__OAhTo=D{Xj"?7W#M_t޻+8J-oO}m0W_*I, ooʮMIa> Uuo }&&0ZTAZM}&,"aҔ?}U,"a֓z?}I)^LL߃XA01 xA0zI0bBi\ ``&cH'<ϗA~$Aj0D.)0IV 42ZMF Ȇ,>I.!aR \Rad(5G4Kh0Y*@e0`Çaaȶ-R D +2gP^vLbKh0Y*@e0`ÃP^v&_V$`(Ih hp bF4P q AČi" aThhR$-5"$#M`#I $Zj"""""4""""4"""4"""1kH.R%9GTNԣ<#@f(:(rµ(J )L|8\AZV 4>HPI;dj)fE @pȺaw  0l f 8dYZ ["6l0al3=d 2Ӈ  0۽d:YP#]7 +wT!@pۨ DkBn=d9)w (@M_"ht(MUTk 2%Onl:i%=hpQj@a(\Eef2g t߷k6#0n|hu_F7*K;4!:W瑫?m[eaU b2 h"?WgAAkAޝm}i}l*΂Mփ:_M-8zJH+kyO灧H|{)qlEu灧*Ǻr_^x|&M{g[to:f/GF使Ι?M/}ѧ9'oizpAz?dtii,$_/3 S]6ސn^h'5 ?oYPJz}y:^!? R4 ԛͯszY(*AzG/F9,umm?szY(2qӪ_Ӫ#`zu_P656k|F B#0 G/$L?'^qdg*4|;kA83Hl+lONY_55D?oeg5tHز K競_MV7c]bI1?үةn\ֿY9%:5~°֌5 I#>&$<}OIv"!8-&_Ia1<(opz=+&^[0^z=+&aa ïT=[OH#a09O` [ /:AK 0zMpabdPd0zAׄ09W`=ȃ :+U0zQ[=)b叚eg*=( [AIAAB`ƒ]CK;g*?Lbh1 # + LN@N7 U `dX ia T@ȍXARkkId(t 5B l,D $fARp XA!j0b#i#2 nR6H*B#4&X BGB#4&"(!H!Aa DDDGYgb#!U-dQ:; ag20qCgV9s2ÆuDI(ȗ`f{1"Ɇ6l0al3>*E3DD#R`6im0J =d:YP#]7 +wTZ N0aSl;F£U }$S:oۅG%._p$ANBu՟mzF`(.!9\0N7_ +kyNKߒ=k +/^x|Ǻr_]zx 6(4~o:4$__Fv=n_/J55QEs?FA#i(u0 Ăm{L?aA#@\zOE{_kޖyp:PI$c!Ӫ_H~I/!%O~>qyXZ#?ΡWP&o RR}i\鮑'E?:eg5tHopAP:~_70"H>AIFʿh/a$fAFtE<Tjj`J_=xaꕤKu0 k}U QF7 \56U QK +":ePpv">I=$j>_H/ O朜[*>X"?DJ T"?b\kKejMmUA־"_^DZikl0lAKֿJG#G%opA}O?HHm$I'L>tÄ\?C$hJ?= 0 8J6 0K 0zMk΂ips9sa Ȣ!&'Ja6J+ba"'PʠJ+b+-'RA|,z NMQ_ k&Ei4@ȕR i,1ńĂ0H0`   .! +B mb#i#2 " l!ad(B #XAR0ZCU) ATЛdj%PFkI@t +""D吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂs#ztq?s) KN?DŽ;~wՈ I$YhH6(K"W$8Ad?':BS#ɯf8N0)'%_/0f9%ʳ(Izb>;*gEN"W^ֽ5_8#0_zjfZa. ><5!:Yl=].:+=@z}C(CuXhʰjA}#Xz @1쌏E_ZM7CBc 69ZMʡŪG6k_apVf$GtR⟏%]}~j &i+]&U/tz^j;_ +_W-/]C=9::+O/ֵ`Г&5V. +ADw%ri::z<Βav a ]{(?Qƿ\V+ UB +nTJq#߄pj_u󓑋m ޱkKչŵ,8=/'UʱKk7Kv6kkZOy7r:_5I{:ml?})8D{$> *ZuhKҤ_,%B8+(o[߷ fʝ=":ⴘz]$)^>zT9ikU~_W_,aI8ƿAΞ06 -xX[nc?a"`2t$__.^i~aakH/z [Xۍ^_ /V LKQYQ7ia#w@u:?辖֯_O6  OR֢OEfX: AK_K4`kA' J;K4R箴ʩ?[~A("=:ꮓiK+i~ޗ:^LIljz_'a@v0oVK)0/J~&Ko_}D &$ޗ0ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɺ3GedN*2D@( +Zi!U "TGL 9TFՓg̣"8g\^Tæ"@j |0䴓{  @AME>CH tPA0l'-. ea(Nf+S & :oO֓ #:u"P\ 鿨l#n5JHMIť+k3+|%iE&]$YPi]KR[^5&/N!%>=u .Wgʴ'Msۋ6MǴv&>[otq9>y%<؆HEM/uAHK%w /՞/!_hI3_8Z&?o6{q=/I95/oC\o6aN^MQu_'IMCIzMKns I= R/KC_`dIS/I' }/n Q`|UAN5_8#5D@ӋJ*'XњלYZǓ΃ȸ4kO2]!)}My iB_90Ο@qʀj@b2?A^a2ayP [(CFG"erT5O_c ϩT>@>Ӫ*`I"]%ꗄ?ervPgЪNO|ZD06|G+V&!_Ga4֒^o&1_Z#Eװ5uka7 +ǿj'[W"tZ' P="??/ ? TejMmTa" ? T# C+M~uL8A+e"`~ZB^O uTÍbP~!Z_ZZ)CI"[93չŵ,:ւ^fI/ubsX"Z ya ::]M{mi? zI6oxA +~}/m7r:_j8Aiz|Mb_[Yoֿ-, Fi %z^%H?>ߤoiaDp/B, a)T%x./V uK^ZSۺJXuFZQYGg6_}_:*׮Kr@E>VPqAWθm/-t$_XKI$t__t$_tub ^?A}aH$i:*?Aam~L\zz |=RP7ւ&.==H_]G DYxM׈))kA lKB^}yKzz-"W- m?@u}k3~D?K X?^^GY!9?Q]2^- +֬_c(#@tx A__:.EH$%n}g9 +[~a" uBAK/A\XH-(R.H%Z(R򴴴ץ۬r*qKy0K}/(_Hk^L(e Hl# +o|:Kǎr9] O)xG:/sS:K.4(.?NiAȆd Nirt^9oݥ+ #;*/&PI/m 'W_k 6//aץWە +Ko&_ A MA +Knx/[ DwǢB_KI m&=M n2I-êXEیt)m>"zL=/һH6h/6 S|D0_z^p 9Ѭ56~ s%za( ڂN688AXjl5*I?Iza([ӤA#t1=|,&RSҊؠA$ؓ_ȃ :<ϗ_e u=T T 5us+9F"gi`0y+ },vf ג~jL"s 6ͦ)CapavajpU(lȺl6q\&8myPӶ `2)8lM.YPBe-6zuahtۧP0DdH MtT(U-=B & +u +*_I 2aiOZ$\(e>æ#EKAx3 +.&Q a.@eӅ_4Mafפf &EAp 7yfŗIڶl#qŗIߞk]$̭U79\U[KeqVtmo!H^M-8y]D: + 6$/V➦H0۬o%^8 h|{\|{~FNA#A7{Q~HŤ]MIӣ=?}89V7C?N}U dW3j$o6SI!bJ55C~PKM[ +O BI-5oF:FA7C0=$$pΓu֑>,?!'$St(4IMC_[|4KF9нBIW|>PW>@2E$' <4_.+aElY:/8(_9 Jh>m%JQϭ83g^qdGC~NB/IʞtoA'^3^qdgסJ34M*b:kV+=M+=.Tqs$(p,yV{}].:I$PU9YWB-=$( P^=PyH|2aEu/$˗=tJqD_z I2K/ =Rt΢oTAB{<z7@Z45c~{<KQa-/aPim#U b/ a/C'KAeeK/m!_NN +-Q@Id*_Ae_@ZT?2D* b\kKejMmAa +/f}ZZ^I-RҴ[KDu{{))Z 4^D4҄ײA1_њ(_˕e"bϣ4Q]:_AI[/*e sቝt"֗p-b+Qp>zΏ"GK癈aEB4:}]aFi %Ek$_U~=/J9sh}?f_ӟ6Na#ߎJaqD|}#cL=."ǿ:5l=XK1F~cBCaהk=q#M#+-b> xy}~5A0)>9Dih$t ^sԒXc|0~k^$TH?L/[}gP@$ir/_?L0ȯ" ^AaE~c,s L>:_ւKH^Z6 v!~&_$`φ˯K|K3ׯX Mh.?(GzA&: F{"Y\U/ֿzI`4T>A E?}uD{x_As{KIA+ k|}h/c_EUD^I6owQMu[x IJ_}.zsI9#V[I(AI__?B UQ~?BP /1>! /_h$N{iuyΏ@$ayP?Ix%p MZ u}&}GVu#Bq Τc_V+~/?JkM_A% ulPA2!حK>߄J5:1 k  R3]"~$1>u0Ic .A-y_Ko1ץ_OzV @&9"= xA(aXA +IxA(a.c,p@ &m #Gk>?v"!8$_ `A.O0zL1$i6P<$һ8E +q|D0F V!aaKsմ" ͆ " (pZA_A/KyB /\ctL & %&a.q!QB0 =CKR2ŏA0`I "J+a"'Pg+_WVZO_8/ f-$ Kigbqn_%Io[Ak@ a L& pkH,j$bF8K l 'D%tH. `oһ!DQA0F t`8`GAH )`j0b# {C5ZŠq 4ҨB#ta +H!!HDqL!DDi#B""(!>@"^MtA7쒣;K!Y٪aȍ:DTAf "14hg^ -De^A"iE8e"geeiI}TݲcaZNad ʭE [f P 2l;N6َQSN/T-]T8L8fI"JU TZ vBJ:Al0! lέbʏ*H:%< O:\[*΃">=?A4h ҞH DD 7\-a ‹o3L:#X}Qh*Eyf R3ߤ>|D0Sפf + yv(.zI60æ.Z7 +񿋜/ҍMw|%F_ᆂ|o LGDGHCAf/0%_Bi+ֳ^%=zaYAc~m~>,?oKoIѯ㠓oJM$kKӏٽWDZ_#mid`kAmFiS~E~EBGd`1>K#E9_K rp&dq%}zW(]%rQRW"*l2/AI_au D҇0y^'d+:v7^uAyRQĝubI#?Ι|=q:.?>egV{zDzs>őgo֩0Z\b?io0u""ҍ["C zat.oO43/O #xUOzl.h/_KDvx>.x>-}--HPAr0m,?'ۄG_"HP/b/">tZ_z,u 0??]~!lP:t_Z_Ν:!T`f&S` YhIai_0̓BL=-*_#a2i_X~+^n" K +_{(:DiBe\V+2_6]~C_Z?Y*#=aYd𗙯5Hb؏W#@ؖ||ïN(TAm^s|ïM*|9鳑_C8)5-,%"J?[ia-xBJK kňI+80_iO^_>KήAy#q + 1+(Ƿ(\uic#"?#灧koB ahD8\ҟ~8q_A_#o@5Biǥ~,^J[uPk<:/pi~_K]4?_>M/3 g:1#JQ[j_ C!B ԿH~Z"p3R@_3X_KRK,_?uh< Azf`_ A~Fˤ_. _wY^?q1>DxMMxK+\},i2}~>RAyg|9PO(Y Ai_YWDt+A1_U_k]2_djG֚__e?Yk4~aSY:kO%nE> /Xנ+_-P1)!-/[I )!pG)_A93p#-ˆW΢yAl![J<Զtҏ5.k_=c-|L%-4-})mOWZrP[9?wm2K3Um;v?' mo P9A{ $ӯï:~"-&Kmo4FwΦ-Kxz_ m&e[i/:?;7֓MOtoK, a_?XaoItD݈N b_iï lM䄅V`=[O$$i705?n-/N/ocxDJ R` +0yB ,}'JGItȠ`K~oK_L5A0ȠU:A B"Xa`5د5IbNM: BH2 g䆺G~NL,Kw䆼$T-CHZ@lu I Hp !tBb>N4'u A00^ ix1'pjx1h0[ HI $! /K# ^Ab"SXBXCA584"@5iBФkh UA-DDDFDQ[D`E#B#B"" Z-#%OdޤD,g3dAG 0q20^yg`yʢ:gf3{0f6|i d5]CL&1*w ["=vÆ/u ;`r޴PDt Sɰ:w: +l: i0IDtT+*O鸺H7Ax3 +..4PU.LtS4p}MFŮD@o]&ڶ]'G'B/ aP:@(.qe|"?皦P: + 6$-E~/&]$YPi!z[QMQ_Uz5&/N!%>=?FI' [C :>[TI7ӟ ^[`K BI-\0OBI/o#J55E4VzB,i$zIIi$$Jz&pMzII&뮕7(^$mz'IzM_/?B $N}_JrT0 N%y0j~8Z4__"]RWҶt^qdgסAsczZ"҇6S:TL?cFkҿ3^qdgסRaK"uG1ױd@4"uG1W6Tb?kO]Q9tHMEנsUנ3GTVʀj@B2?^.Ls@ZZꗄή CI=TMH 0"I~G?d?K/m!+6e_@_2D*dPiH P=&UA!#a2/+KKZZ^HAfZ}ZZ^e"bLWrZ ,FP۪a ]{(?Q}b?t"֗,FjFŭ.#G(tXbg99N[[_sZ\G[+9/f#_=zlt癈xA_Ckc9#}sW0!ֿ_fIx9$!'kzU˛CcL=.'_歇0HR4"?>ʝ==0HPƿ&8? x^_N> )M`X$_ CȘ+"`2*X[nBH_ X$_ CAaE~d:A0"@4֊"?Pb?_B?L0ȯ" 3Rl/+A/&^X疟A1qC Mh/Ϭ& 4 Mh /,%!z^@P#ׯX Mh.?(AH}_=~>/R!^ &UHc$Eii3?|5y#[D^I6oNqOIB IBgb>G^g9@P@j A!_|^ZB4>‡j@F:ŝHH/Oz$ +>z:[0~IC5 (A9` ] A Ac? k~$=S Id/@v-ǿ[`_kO% 7K?aXk% 2AmФ _ `,7b" /- ~-z4, #XcJAy[t)m>"*k~ s%"' ӜKo΂ig'Fk %6< J?G>+-$ ׇ85D?Yi>aǜ+a,^wqNI  ; a 5u>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕr\CL +endstream +endobj +13 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +14 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88856/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY> 8a*| #al iAEju3RA6')Zm++4P1̘"=HVl,l:_q^_I/`Uk~f5u_, +ZM_k< ]&ڥkcѱ /N YH1 Jӥ/|']&t1_( omWZA\tZI7-KAz~IFylo^Uz_J|DOOH~ץ}-. &")z%Cz^;3q+K/ZTMAJzzҵ;ioꇯaa/M7AngO * 0  aH $qHBM@!o@ ii +"ΰNL/?lmOw;pӇ3S*2. N>/)14 +H '_% e /I",:L3aJId6|h +l٘emt\0>ې£ D,_G5 pOwQh?lΖn/pdcNv~xA~0~W5ѤעHHtxA~M7N.JBN{|*x_Ѱi ڶ%k +o,m|$1n Dt'|/iYp_H_FM@ڕH0AoAmzUX\8J)&{ǥ :M1PB7+_^խ#V\* A5b6 y+L]1  )4kj SR'{lN024i5 I^֓ABP"(0]C-0""X!DD5)4""""?qԷ&lE 2 Ӿ z>= < w36Yi&yv635ga}9:Zf3pBXC 8w eQPӆA$Cel8l447 /.vÆ` +DŷIu5l7(M i0 aHL7N$RM?=2&#E t*thUJGTw&rm " )#EE>CH t6{ 8lȔu]&uR";_a`ŗI Ӭ@oߑe;"?0:g: + 6ao /:MXl!HZIť+km0_fQt&>Ty6p)|BtЛal?FB$Ǻa5NH7_iӞWgON\pXO'hIo:(ZI%ߚ|E?gV"-$Kg"HmWīC7^h@ &}o8~x@iik?z'_1b|2لƼy^h5z~;ioz'I/?,~v@*󐺤Dm<4_YG8geRUoK]RV7Vn[쪎9(k/Z"לYd`+EP^qD_%kЋ3^#?( Rh"uG1+=19( <0 ^s_㥝VE9c?_KB/az 죜sPhʀjA}#Xz 01쌏E^}!&ŪG^l|GeyervPgK\-&ePvRg#]K5]'K/&of$GtR⟏%Ǐ5B#e_@_ϣESDDua7 OA^:2Dǿ_~?G3-/_/_W^ʛsR~P +iizZ}]н^D<Ϫ/onc&klײOׯ7Z\G,9KO^#')׿ +!WŽb֗sk:YqAvOyt"ࢽ!6+k#$ֿ5f#M!R4V_NV/ADbNq#@C?XF*IZmW&IXB\3֖٨b*\7*t믊atx~ (a]~5&Piwe/K AEj/K$/ xN>]}o'U~/!ǯֻ8,vzuA $/z], a_EA"?t#WKկk| a_EJti.u ` [[k_-?^A"=l/+A?[pEִ MׯA}-g-|K(ol| A SSϥz]-A E? --m_z_;t$ X=}:_mA$_aKm/GX_:^u&M .ڶUM$sU٭e-R۬~c9?Uu\$&IB 971^E;JҜ[KB ϋ?8A?Zk +1x_cM5pK -j+(><ԁm$<-xX$ZZd{K5ՋG?vkF,j_WGW=_k>AB(e Hl#'_zM +j?*|DGIsM.-*` DS4vΒ*g@p_xX<Ϥ?$9Ctc^I tDaޚA]!]i- PDzur`T Z;~$?X`cF8F@U[R&B1XN~$?KXI$۵aCViKҿaɽR* H"ixJM  1OM +JޗtI >I[ +&&萐^zZW `>%0$IJC7^at0L=|&J|D0DH$t  DŽ Ga.q";ؠc)5'Fk +oJ< /w08 } Aqn_^Ŋ- "6`Ahl47 /.vÆ`Ȕfۆ2l6 gÆTLF@8V$ tw1!0:J#}6 8Q`DMB3EBl;03 ɶ/ (GDt0 \2al6v}6СQihmg9>6{ P=,O(Nf~wPQqdλwLuTJc)Ne +ņ=Z]: + 6Eޛnmo_ ;O BlOGsP&"ۮ{:WL&Otq?s)˟ ձuy'ߤMUI$vwՈ I$YhM]z]&o4776?/vS0:IIW7 !?DI#4C)zZZZ vB $N_I1Ν4fᲂaoR|KElW??V=/!uIZ_"Z8ʥ9д`,\RӤ>Ey--.uEJyő∿>MMa_IB$#:|ȀW㥝VE9c?_KjΟ3|E٫oaMt$YW8*e)wbu/Dz2?|?$ 3rIϤ" ?]u:(3%aG.ij?};)?j 1 9S~t6>~0)=:_Iu0m7 M'ePu/p㮓*G{"ҩ$iU_/ +iizZ}浯8:?7mR("?DJ=뮿Dj1D{tӵLW6PmA5_a/RA־#_}VK^h(oȅ_Z\FF-g9|2VH* Kk5akkl&Ȅ]NL뮒kEd="I k\4zlAi~\4q5L0ȯ" %iPJ/R*ʡ8+Бm/\%)zGy>j `xAZ !}j$Z[yXaQ'EuuuKK_J4@$Ht}go-R)<Y_Aq? _^|&_ /?T/aA߯:KKK0 m/ _u}$VUK)Ah?{Koڶ\Vp _ %/_8ֲcvZ`a uS" UmA/B ZU4KvH +NUZMXP?Iyҥ_HLXImiJ&Ht5_WTk8cͯ:m-uH@Im /"?㯥cf>` sn졜:[{iolZ`%=uVv AUtmXVt /J7v 'a^ [%eb0=/^ MWM[b";KoФzM~o>JKj `kKVAb 7LEz ~]'IG ayUzx&An +a+zMq5մa"-"pza!>8HһK'7Xz taPM]'x@API#]L 4a{TBG'J=.x& + 0ǜ+EOH2eu0e&JQ[*)0~ AA@A0zM0 ; Nqal)'A"(XM ` |4&J0TBL XGCG&ӄz TBBB[а i$-hD +H0RTЎ"5 +DM55 +T,G@HF""""""#B"""""" +"#,I$EˢQFvJi̜dn;"ZᝎR;3 :Bd)hd}rܒl' jȺFaaaV. Zf3F2'adv+ӆET2Z 'i6F &}A…Zl0aÄTI2dᘛT3a +iAl]Kpa2" )#E *v݆g0|[*΃9;~ io)pʄ'$LӋ @ 88_$N30P\mom!stGT_MF XyjEʰ>6y$-*ͭ(5Uѭ>,`i35^/'^>0.FDlOGR|4!s8O`~[.9"#lRP飭o4J jR!/Juj쎍2N*bic8 e9D[—y- ЛFI?6D?(ZI%/l;*geTl5{ oIς؆[-Z_&ݾ ~DBS#o ŴkKuYA:]uZDrkm-/PDjgvtKfC$?6'_LK{z_B꒸B$m(lLY*N_D}mzXQu߄ mMjyZ"BP#/EUm%#cz ~ /E"֔Mi#_㥝VE9cK5zTfegH,bpit]B0~k o,R^Z Xa9+I}WVe /_/#҈ r8pKQA$GgTvIm /5PgWe}~_OIφϩyemV+ ~\5?'퓠^;6A^:2DVNgb"ISQ#!:z_R_֕~ 7Yk 8 +r +f&k/=/[_*rsӵLW^x3XAkU5ۥqZu'LWB^rNޱkK-YBƅGv~DhxAPdTP`kkd _Fd%+z(%׋#a(XK/k?]|VKD|?m&A t*!^:7A_/:eNׄ ;^NoB ){|+/ t@iPA$u"0񏄿A v DKFr:cg /D H__۬qKAXaE~qwY|  !t?AΝo>=ί6 E_K!BAVO#j+x[j_!Y׵㚗]iF~c /ʢI}?Є_Ad&T[پgsΓ~/__?zG%cI*o6a/$y_AV_ 0 m/~/IUJ/VUIPÉϥ%A6J_s[𒯯 DyvI?/^( HW_=>(WN?IV=m%HpGTR/S/K/SV/F_Q:ZTYO2>TBՕXK%mb ΂^HI,"@Mim%IS({2 }"1V1 +<Ϥ?$?MA%X>;>zI6XaKI:P B1XN~$?ǞiBa0L.Ai6: om/A0-/-t Ä Mm*-&${A&IaK ul$~% ?/ȧI.5֓il4,A:XAa RwAljAK҆I7ǢB jt_] SSh\m=-,8pl$Q%NA1clI0FB:G4^A dO_ +mi%'! +0HIB]RZAPEODID0at 0ta }-*KK %OKM& %- yFئJ""^!@ֈ!$ A$\ja& $5xi $chNQL 5ⰣN^qH|d L-&@\i0T dALRAAC,U I cXkpa80Aaxi "  &ӈNI $D$H̃!uႢ0  $X _FZ"ArLvjHF@!A"&Adj!5 ɃhEI8 DDDDDDE""""0H!F\0""#,Dh#Q\`)2+ʮJc;':F[Z;.L$eZ)ўD}aE (3\v98Y6-v al6 RdU0pᶛf3W Q7 0Ȫ5AB%Dbaa gܹn]&wTA%TGp5pWp[Zpݶ: +ӶUn"RM„*np䴵UL6/e>æoaQ|'*9ɨW6:@*‹e>æ @aUD">IO]gD@oF<]Rҧ~HԳ\hlslmtl'yWgAAfV*ON^Tjҿ|ե^}uײ: + 6Z +_*?nd0@.N 6 +Ԉо{y) 3C9Ob/mǴo>|HCʡÒ/0,Kѫz^[S3@۪H9ӟz:tIG/!o6H e|O0/zCx_u_u҅?2 $h I$-)JvQYd}y:; _+_[Mkx}~(:%6H kU%$NԙVA<%~q1 g 8 ,DtNŲ=y *jK]/HY12"г5{lt": /+5|/\":RB#?sN.*3I0i$}g $BPu4d#?Ρx=stCK5Ҭ@QW^}.0"=9YJ ,J0 408^Heg5 hPP~BҺ%D_( P_Ui6JrtASm2k:F5 Ξ`Ha~jD{<%[~DpQA:D@gK4tQ$^##ŪGPdh:j_֒Mu^4UϤ{_iy#U$Ku{*t.!2 ^vZXaD{}+m:צ%| J+V߷kmק>H Iv$D׈A%5qAl^}VaN +K_/_GLhM? $ȖWKzIa%I|hF_|/6VHQƿ[(gGqЧQ X`kT-RK/~q_E1*?~ Sk' osIJ}v#Y̓s\RH_])֌8D|ؿaY:/ɏ ~!*Kl| iD%^0 ^ÆS?[{:U!Iqy _A6A%\:,0m%?'^_%PkPM?W Mki A6__^HI/?[+O[cG/U~_ +A\?+H X-E?Ki2@Z|!73MNNLi&'IKy__K&M&J/ o%C?  R34KoAPA%`8*KoǞZ7CKZZx=E߂ i|K`BMBJI%_az_,0 /L A M oK,0T/?47|z$.c%?hA$M_a%AaI|%/ MOJ,20>=[O!m&pBJ mA$󢿊]|D?FäkAtk Ma{P!$~I-E"0: t֐AA I/y+^\?IoLAICAXäIֽA$Tk85 @@5lH j WS[_bP@|0aAk0[A^ ig?' HR H !I%pk ~N7 Ⴍ!q¦S$eV ~$ 4$ @/a{ GFd + bh6k R +,Q)Z+ $P",M F'&M"""4"(!DG[D+#4d1E/;H*-őVyFEFJ3F Dϱ Ŧ)TT9I[0֏:gVE5ۻN2fh֘47 /.l*9`VuJ.7D`pl0ΰDkML6B"i*H&.h8L FBau +gTlal86alL243 YH[8)[P*C'ŧD#:S Fn +qpxMAd 'M|:oaSL8Qr0)Ϫ&i {YtNrUR!lf/F| C +?a|!t?izAץMU}WcBlOGHQ5-HGDoK3]cu#Ny]>8BsZ6ͭ*}C5^j:?Ո I$pU9?_.?_F_7_yփ/kݾ ~LN,-(^^@hu:䄧GD='ג#la2:@kӏK} $:&Tł)x"֑o,af}e}^>2膿e 8?<'arT֎E^-RkqLi0JcKp#$"W^ֽ3JPϯ>iMSOIŐi61rRe?tz]Q9uP^RiliVYit~"lG93kGFKO_64H3g^*J m% 5L8w}/aG.ij?%H%M 彿--Ha $tDtk5=:_~T:Hwit/[p7-/ZerxOA^:2D,a/Dt6Ro]~"o_uQ~>qOȀU+KK5km:~$uLA٬"?W:?:tik>y_I=:Ii&+د&I&?hWKAb`$`2 8--?/*@C~KZ:Ԇ{ұ_WG֓mza/3B?+:,:wL=uK% j<ֺ}sk#k\<_US z6[^ .a."IA8!K_nzTi %~TGD;ia* }z~&I +# ;_l翤íq!q (@iW_,aK_*NTz]W7潵A +h4ȏEd=#/.M2!SK}/ }?[S_կk| a_E[(]jhIu__J̓XzF}(_T&m z#&XDmZkVVrF!@ϛYZlz?K_J4@$H/Zb,ؿF6믭0@0tχ[uЯm[)9ۤ}7yo " /K3ֿk(0&m RAyg 6X$f_?aA$Iz!KʙF+ZL~>jMZW_Km$ iI[]~Vݤ9GRKkk +1x>*TH_Xa"_gz竊Xk8Y֖k__#R +G(E/Z/ImKkI4AsGWG[~/z#$gOKkD} I_cf>` 7:=v4=rS.?PΕ]oeiKeT-m o{z &SehS[I?nM/ijz_'a@v oLKwil=go$I oL?Wm/IaoKKoK}P&,}&@oMZNto=-7LEz a-U&/pi7G"?:L07 0ǤƖI S^HA/k)_$Ti7-Aaj`%A-'1?5hץO(A:P%J?9h-B c @z I vp858OK,cbpl1|~I0  !5a (cK"" iV@Ke:  "`8A58EXc4L& 4A0 H A1!i tHPXAA3. !bbPT!X_ $ehCB= +L ڦ +PB"A BڤE9*@Dhj@H B +"""""""""""""""4"-"Rܡ D;*, .g<6iLaH֮l3<&L6af]‹gH:Wl(H,&؆As ê)@"-TRBhL3:H> +JN-.Jt% S /P9 -:TR_tj/K~8~'(NI|)2Pפm%`I"$UHzOͯ4Jy$tUMI/eb'CZVApս>bi7H\EpB&\:Xgˁ0:TY#t)hzW$Qu#M/a?z ^/I[__m_C ρddҦHXc'I-H}-CII_(AXI?OIX~P&EI 1u^XO\imjZpDJ<_Ab`tÍbIGqAN"]~5jbگI"MN_ _[^鿜)zI&+/J BI_>F2_#CP*X=%$^p=yҜIo}]$=% HZU_] !|$.p$jF}~6B\%mFڨ_?=BG LtB $6]%SS %k_פ,* >Z]+/<V_O Azy"<%{):V?_,zΠՃx p zF?=_ ^o6*48A6 [j>: &۪kKKz-i:KܞS9EImNդ?X: #;P}kmBZIml%Z_@&__m,0%-$&o?KJ a*+ M| F-$!C3(_$NK"-,22] 8A6z>[J` ɂht1 %G u Ku H %,/GC PZXh L-ӈ0 U A""""""""#bx;XGbh ;R6 ٬;SȖ0lh}.e;D&}9hs.vⅺ`Aah",i6 p漋iݰ2%0|TN|בu 8m4kWl6 2.Ϩ25 $tJa¨PjTt-DoWdG8i:%|, ˜Xn.4TS4p}MDDS FOuE>CHm锝a(]''NDH߻`ŗIAAp 7:u/c)Nw_( *U<~qiv(4oDuNgB\U[JN-.G0ӅDc.BlOGsԈb}C0M?:s) mUӞWgON>_DN'h`*PVgV"-$Kg"HmWkeal'gV"-$HoY >ʨEdH8N0)'%_/0θ+So8C3Jy$tUM޿*ʵz }?нBInse:6Q\vB $NcVAp{{uQUoK]RV7V-]Rz_B꒿"дID5)=gBP_yZ"ƌץ~hȏHeMJj~B,yő΅> Jm6^K:sZ~eg՝?ꡔ:Yl=].:eg?_~MH7Zzנ4D_Mbu/"Dz2?뮺jz]/ r8pKQCI=TmhZp"i6x>-P"?[*Ӳv}_ȏI?K k=:_I"?~tW"?K_A^:2D?\"~8Ta 4_Ҵu ? TZ 8+KK0KPNN\k뮽isYI=:Ii&+(6uDCbQtӵLWDCa ^qUoXjbsP_U[+CEoXsjb^ޗW9]k_k]>b4B|%T_k]>b?ͮCZkG}?C +a'k$-}4V_ϥ' W4/%ⴘz]$)^>zAsLԌD]|VKҼ|:_KP{/W_,aI8ƿA׶)=,a]~5ޓ]>?a_?/!BH_ XaD|esE~zEВ4^QN1VaE~a+OQWlP`_&dW}V r5j `xAZ !}j$zic9?D{0^VԇA1q恗]]zuM Mh$ +u +r:}zÈ˃R ĺҍ&& 4^}}t_WWV~_;t$ X=RY6V}w<7H} _mm[_-/ L?$KD]|/K"?&MQڶP넖!I(Ag9ץG ,B @Pg9b+cB ^>! }8? +1x? M4Qk__#5 ZT5b@$ai_*R^ikh: +皏 +zX*DY_ +j?*_a ecf>` so?(m (9ʭ?[~A("=:ꮓzl;o ABl M~bI*KaQF+ xo$(/J~&Ko_8?0)mV&~% ?ӥս}PnI=7LEz ~]'b+qqx$+ ]kC Ii k|D9_0I1נ O*L0&< J?~ s ƨHD4\|_iH2)z I vp{ {Z"O.G`] bsge7T!%f |4DD2 |(8x'&=pvdXQ'a/'G `b81аB =!pa hxz},50AGa~:XhDPCH! 9HB;]SB:DzKaUa!z(!ЈDDDhDDb""#,Yت%H,2Z+GbT;FvKN3 dj("%QtᝍdO%򔬟"FCŦR tt|\#ܕt:s DB5& a9f FL `aâg6 F TPak )]۸l6Rpك +a"7>B"07l^vD &paMӨPLID l(QM„{ eYu@ʰVJLiM\$"R.4ZS. YL8ߝ8U#Dޟ /F>K iő@Ud`?龙Zˤ.yBt4IsZ&eo$r 3Ϫ+MH쯧#ҤKp"yi#oo4AޗR:| +`o5&/hN'Ϥ|EseqFi#[IuNc) -ktq>=}AzS.~8~&?\ѨAHK/5tD]CE-$>Kg"K _/PHDGE95ZrkRsxO5'%kHU?/1BJl2eZF`K=}`I=$ $:NeZM^GJ"/%Ly *qNZL.(׏}/ת_9 JW}."дID5_z//ߚ+\Ӌ +}B8vQ鮟dm5]Wzl9([@RBE:4f+[w& 1HNsS^`y {~IM.Tqs +Qߠ/OFIvUf*hE +k+#5l2?C[(O)!ղhEeBiRu/0G"Dz2?3Ν_tT"]%o73_~ ϧb-Iz'KePvR0E>* -Du~Eg_G}뿞__S$uޔiP%~P=Ds0Z~jW"?]BK_/ b\kKejMm_P[ޟzV<\k3Ӛ#k&w{{))Z ~Ziy?m< + o\EL8A+O#_Au9<5пrrr{`h/),Z:9ЗչŴf A0~q_U%j߯mk8A>b+9z_9NGPu$,}kA8=/(}g-/I]~,R#n"=h/^sa:7U֖*tKKIC[|W~ޕyx{4)~6]{2:_K"u_oIyx%ҿpn/'q"`2[xHB]u%*6_3P"? &F}&ק +|7aE~iwt}8V B!=@)_ A}]@"?z&푁恗:/?n4[}AA l|S%ޱl| A%B +u +r:]A2޷WHdK+"?LzT?_x$M +־jΎ U[xGI/eiO ^h_A&)+u9=6_|7_Ko>. I(A%_ϭ?RzCY. UåV]|?_Kt/ ) / Ff->A*OtyZG# .o(=. $ij']/@=)__]A 9G COiuh RUHH*l0a +[UߕkUia`UŧP#ImI:ҲPan[ .aΡz Ӭ{L#_TLRw}/ ;It'vpFyKaYI'y#VQ]blT$z]wy߫HGDx7%.oqrZ|?]~F )ԛ8T!:}k]UhW?e9D}zχĄ5O${OZ>n/(aN7N +iӶP +~Xmr&`E6]Zc0Hfj\_B8UG)=ZQ~x@kPUZmM|GEM5_0 =Fs?I|U% +~y,jeZM*"@eqS+4Ɩa)]R_"[+S B%":J1>V(KB>pjE_s z|_>?Z##^43CFkҿ'[~he])cNt)mJZIHe*5B(E_8#/N/A_ZDtV -SCIֵKWtE>eUgtÍb}? isZ벃lR7_5SLk[{_[[KօnT?󓑋пK^6HRT8I+h_åz_}u. ++iCZT5℁_kk5KkyCjIz ,qI&.%oDN?@NV^I믮? DA$ 䀇}5:/T4 ׸C]A9͝!UKixtA0AFlۺK?· A֒ !Y#u(4Mi8K 4 D|4__KVPs0V44MtҌ.㮁at$iFȏ-UsEG gD|hR`_.I_ҜE#KSilB(^ E8A_BZNR#ѭ$?2A~_~G%IZXǧ]i{^_迚\z}ҷ7Zj$:^]$/@P#0H/_~r:{=wi޾ëD8RTI&3h^;k >fJ* ]4 `m z]tKwi/_Cw(Itq}RxJ]>L1!Z'Z]*.z]7d}pA|{i%I/ZGqΏV-u>wK-2D%EV 0I/J,i +T-/KHK\h-& A +Kai 㜎t__Gޖ~?Ǐ_9.H K\R-tP4?9O箴u_IDJD7O$lZM_0=$"tNe@_h4H [ai7K@-eUIWֽ? 4Jm/M۰ml?/7 +KKM$V5U&J_L0䄒HI/h--&_It}?%zMK7Y +%$/HJ"?&4:EQΊ&IzM` IiCBjI*L.[m6i9 D]fJrtk MAq˛ ?l$jJa%AP㝹V!=C!-?p #<ϖ(@ _t)_ES>XA0i5G$?mREOi ސQY 4L- {SA0AI%2 wA0XⰂ Pt"ƂalӜ UD4V5pxM<N,6y$-'LNI8Ӥ +Rү +_#h+z6'#~G&/ZB$xtG_5&/Nu_U)'`f_AzS0gMQ MǴTU~ gGmX~PItVzB,F."b_ $.GE +qI?I$IO}$C9 +rkRFʨ2kRI~NVA㶖I"tPj|5zi/?SH *d@+K㥝VE9c _7~y {~.',9) j ~oA~(B,}JDz2?fʰj@}"φ)ҥA>ie/_p"i6 +]CI8aeuvPgG:t)GtRECOdAo} '^']^ue_@_BM{ ^ƹ!q_?}~f +iizOZkpDZ8_~i:b,uy4ti/l^0 XKϪ" WxJ^h(ou_Z\G8gJDd5z9󓑋ׯH7 >^Rkb ?]k_k]>b>R4 ]i5"=ֿEB6 k}gU PY *ZuhKү#ql60®פށagӄNV*t %ⴘz]$>u^5J=fʝ=KՆ3LIzK_]B )zuCQ<}'au_z^GK߷AߥG_?/!EВ4KX[n@Ȏ/ wүSVaE~sN%iP:ҜF/MFށߥ Nt_^A_"=l/+Ae:4 L\zyee{6EI`ZZQ߂A&tOBKKAh/K< >OuүE?KپgsΓ~/C怭?@q?x_[[}+_֗_?aA$TkSfkp,@K/K(_Y}IX(/<,־SV/FqOu*A.=Ym$I7_8"q-+ل~&Ht5XD]^H.q)-RM(XaYlAJ[)B 8#x %7_V~l7#vG#ּ ^[zVK$[I/ЌVߠI; -4DqE0:Iagok&o";KnM?ZIm%7A(a HM +K5M&Xx ^zZW `b?!y!a 8 /AmΊa5TAap &~1?A:+nhIpA/yRaA7vQKaAL?i9:5_6dJK"L"?N& xA8I `1H&($LRLK[Xd!ȃ Ovma$Ï93岔&ݏ\@6  _,4!z >"" iV@H ~A_@ bL9pX ]AHY/  $B:ZAXA!]!pa X " eW l, !T,&0\ M`Dt$A  Hv C45B&P\g-wTJ#6puEsR#y] ,FDaN|בu ;6Dja {0U( m*F;d ] gan$&PA)Doa +B + 6}A'P4ݑMPa\ Өt96e莱qt! S:mh. Og;s5:a6sʙk#ai {YtP:@(.^PO VwM2-I+L$RMXl!HZIť+km֑:ZJ6nnSrBHz%֤IKZ΄؟D a5!%>=թ :4Z~5USiӞWgON pXO>Vj6(a`ې0a-IK_(s+|E?gV"-$Kg"HmWkeal)i "ȿUzWFCFUG+'GE95^`oC}\iUO<:/ O$a6TSYVA^[^$K7F92f}i*?W}"VAoLEQeXh%i~pkejbޜE) P{aZCT5CAh[+S7-4h +}B~DzcFkҿ3^qdG`2ڥS5H5Jt) -2t*hT:?KG,.TqsiB_#VtRK!IKt_MHʰjJ]#xz @1쌏E/*xU=9hEZqE:ervPgK\-&ePvRg#_8I}/ |qT?l_ΞO/SR ֫FW_KIK/nue_@\"S .~$*JOYa $iZZ^zrttV_ykzZ_餂#k_Dj1D{tӵLW6PmA5Jd *5S)U.IR?99 Pߒ-[[_s eha5p V.zHH*H*пg\+m~ֿ5f#M!R_JI,qI&6M'h[\/,|0k=/JֿIzI#@, ae b g~~*t믊atx~kS2R1%A ;~"+_#?{//K$/ xN>5M/C @oa_?/!BH_ XaD|e֩0_`uA ?KeN#/VaE~a+OQWlPkI񷲈2WI+%&%֯_O6  OR֢O:4ނ.t__ZZQ߂A&@P#ׯK8,5 } H&m/_~7yo "cIfZBma{oAB?T_i~_{~I6/҈_DAHL;X e:/߯]dt)~?9?Uu\$&IB 97/JJ +pz&,־SV/Fj@V)C \ +.q%GZA_Gm-gA\QAU|}KH!Kv_Ia(ұ3_yCmX0~ICr9_Av~[*l;o A?MDJEꑰ -?Wjz_'a@v0(A`K8K+<-Үak*IR|| 0NV$|p_T  7LEz ~]'/~UuI~1HW:+ S ]kC Ii  EI:*("2)Gm'rtk ML0&< J?~ s ƨHK'%!po' C Ѫ+L:a&)& %- 93W h<i+_ Vj@j ԕj$ pz"[((a9 ^ ^B`aA"vG}tDz(&? h01; H& $># 0TBL XGCG&apB: A0Aа  Љ$(!a!"=%DDa BB(!i""""""#B"DDb""#&hXE"&ȩ"1┷,*bҵ(<2M|#R-;5+ HmC$N\@> FR;+[ )n^`2 [ rҐR* 8p6i& L6 iW֙4&PBADV6 AC$0Rp_d ]Ϩ0 +T56tPfvϨ0 +l6RUMNa aoXj{+WUWlYp/zB(@YQ}7A8tFF؇ +.g;s: !Dj[V +y6l2祕3 oW-GJBз=SﳅvQ}fm&!}XxO{:gq [糠pm()^%_ 3N*I рjMU6m$οg@a-IKT+OM=!)đ~t ( #Mإ_+5y. +k8Ii/*2oI,Jy$tCP!a% Ka쪎+[_6eE6Uz]5%+4 [*=.W}"OXֳLW 3UqGn ~+"о!I+͆gִCT5CAŝ:`2_ٺ|5:}#DK_ +}B>I}VyFNMB4A_-볧3Α:)(oa K{~(UltE֑t>6;:u|0ejq:yΡ{hE2?"{ 4qfΡ$*5i8b-߆$\ BQ?zm~O ä~ umNyp.p |qT߆׊)דG^R_,Ȏo0 |E uҶZeAgQI5ǿzޛFtY"޿]z^%WstY> +|:?#Y8 0޸ֿȅЯ#5ta N5 K35I1_~Y!GI_*?%I1sȝ?YzK5L\EGzD RD P_RUgGO$5_ּ!z6~6&DϪ=M7T&G| ,Krg]y~, SŔ1(c/@iS:?/KCUǧg.BgP AuCI]Պg:_t58h׷!TT>  iˆc9UK`_:AiWI'T ᤔAwn##/L !o"Z AL8Q'aqE2ӭD_O?/a DK?K_aC@4$$ _atW*G^֗_?@%KKҜ[՚ ?I#A꒥_WZMC=/OW$OM//z/(h,WYN_ ꭿ֗Qu _G0WX" 1$eI맦-}GUN>^8~_A.%Ⳉ?/QR 0 +pJzi7ZKa/iR h\-}L0ce92mkJ_H׭@# KBT_"$-,Kl_A2GqZX*D?m&][?zL?D%z k.tI X>"tK+I],oKeRo)?M0tOvA㪺MI6xM1WeTa:11KlI/o_XMWM0eho#m/m![A?VRa7JV4II_ ZH_/KI&KqHa)%m&j?GRNIw߫ FtVAu M_Ί֖Lc?Lޓ~$Q%NIK 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHԉjSM4cT$x.*z $u=2 Z^)A1Z"@%~Hj=ክ,$} lr1e RaCIZ"8H0I$aȿ ig + 3c0 cK g 0H& PMNMAAI pᣡ?I[B%i*h4=?  OOPP<GhDDB4"#4(#ڠ,&B0CDa BH!ADDA +] +DDDFC7v(R26!&}SÆuDI(&uB9UvFEYp'j2Ba>[DB5& a6l !H֮lÇgI AZg6 F gTkD +AJ +g6`¦郄FA3 $q].j&mVI*gVϨ6%v/鵤h)(Tr$ [A(E,}EM:ehrnBvŗӅ_ zzp:u&AtNuF p0m eLߒ=it +?RIťZ{羒lGXUa'Я z_qdsӾ{:SS RlRPJR0/mU??GI5{izUpr+렃~u_Y}&mđw/?z?xHQ^)W7tԾK<:)IΞg$%<:/ACF_BJl2zVApԔU 6Uyʊ}%p"TqI/-/n t k>hZDEZ)_'[~hsN/BPץ}/R_-4SOK9E:|W5?7:~IN$KZRY%!o~Z_jUg㔓UЋA{҅ +kǪ :33_ʀj@}"a:/_=xaDKoQS\H_KePvRAt(3>q^kZ^":ePt|>$n?uGud~/xmtuQH1\"z~u(MK/\{q/n25 +&򪠈5g4GEisP +|:?_]/m}!JXID|>L8A(!E.tƽ>ւ$.&չŴkug@^{^M[欟Ka~mtB/^>M{mk_kgmxAC_ Fi %})?_+P]~,G(şNe9ZWo?G-q +m:_^>z!St:_46>(45Piu?Zy{zN>RA?W_(4+ KI$t ޑt$ۮ9ςZu H$irxJ2,ӍQD~w(eNcD|$a΋ǧj$\辕':/T_tZ 3Bo XI#=,*_ΣizSK "12>--6iaA+ kOW_ ck^D/O 1I[ 0cΟ^#O_UQuЂA +8]t#K3^?A}Bt-/oO_z$]pUK V=tҤI_KoaAr2%!tK)-Du~_ +򟶽lsL W[@i-zL?_"I}gQ`)lRm'PizIWA AFwekKebO!տɃK0<}& 6j륏_U WGim8KmGi7Ɓ[~Imh'$$XM&_ZOi1=E8&AL4+0 ؄A'a]_:+%wN` +~ Ý7_ Dx9dRP@ ҇zM_L0C(Xjl5a7I)AYaR2NMQU>US `$áE1_&)0~a =@ MiGAia@|:C 5 ~F  z"XY +"5 $e+4ᣡ^] F -cDD A PTЈ@DqM`* D!F""""#@""""""#&\SGj '-IPg[YG7.ɀl86?m C_0Ӑk$2AP oy G 0APasI{ 0/k \?≎D7&a-&zAai|:M:WO!@H 'KZ _5!:˟d[KaKOM$cZ A_!\Krh d(L t @K[R v[ E&,h*+v-ڄ[,h< {6ցȍ"{:XL3; RU3!wR:pij́fNbPdiCa"$"_ôPp5r) aZaNMp2"/΂>L#_g:BF!1pU4r056$ twA!0?*5 Ì}O@"2*pD;@e 3I3m^PaL,7e -:nqÅ xa>A#0s.F2섺ȢߦM8gTTKs6H +a| <O.oZ z|RlR&6'# k}}SzJ^&A}v;D{+O*P +i?{mX~P777Cƿ#ڲo[*t椧GDNB#_95^`ZZZ󄯏4φ_VAg$OQӍ/8Y׵oomt8ޟ1ӯnKF:zzet@ `kW>OS| U__.r 0i\g-wTJ#ZLr ́N )fNb@v"֓`' kȺa"S5AyPӆFI "7aÅϨ25 $tJa¨PjTt-Do \2al6Y4PaL,7I*)@e>æmv"" )#E t:P: ~FKi {YtP: ~A(]&u!i'l*΂MdMtJ~ņ=Z]: + 6iCWgAAҮF9IitzKtЛal?FB$Ǻ"1A&؟D a5OJpgpW9vt^?`6i+ނWU$Kg"HmWӝW:<ڱi$_=!Cm[( eVa;<ڱi$CJI _ aCƶVUHI|)%$$yejrT`gҞIBInse:9WYVA㶖I"tMQqYj+[^$s*=RV7V-]DZV=/!uIZ_"ZuJCM9 JBcFkҿ4^qdG`2jfOYЧ/"W^ֽ5_/8#0ShmRkЋ3^qdGOUG1֟/Y5gM/#eCa|tz]Q9u V{|YHVE9cV{K/Dz2?ײ9ߔ#xz @1쌏E/*V)i^"/*Ӳ{< GZ(^K\-&ePvRg#_89ZM=T/Q_ȏI?K k=:_I#p=ϥ~tW"?K_A^:2D?]/]C=9::+O/ֵ0 承 BW-/]C=9::+O/ֵt=uN/J-R0eخzcZD دH]GL#NA1_L8A+e"+3Fbe"5nr1mK9(/φStyuƿ +]WŽb֗sk:YqAUl PUŽb֗K9_f#M!R\r1_kakk5OK$/ x_zEВ=}|izG͆^}X:4XH?L] !|-cˆD}a/!ǯ/V L{QN1VaE~a+OQWlP`_&dW}AZ !}j$$ ޖ>΋(3G Mh bԇ饎 `xAZ R΋ A SSϥ+ΟoA޿ik]iF~c B^}/4Ԃ.I Mׯ_$ X=RQz_|&_ /?Tm -/_f:M_AcA$_@J"}~^u&M .ca &(/so~?ZW_Km$ A~_넖!I(A~$+ !Y]&b$+ !_)PA AFj@k5f|~0(RJK/SV/Fj@*`"&Ht5_WTȲ#DW<~UsICr9zZMұ3_yCmX0~ICr9_G6?A?MOö߄JNޟA[~A("=@vʟ~jz_'a@vʟzv 'aJo]?g{UgotZ_IzM~o>JK{ `>%w^zZW `>%}&"][kTV!$֗w+zMq5մa"-"p|?!xMq5=[O:+w08 j%l/<0 һOK( %(#< J> sryxAq=|SE L lWbLPI0o8.<ϗ^5*pk& %- +1]'a)p^N7L-%'e'$h &IdXQ'a)p^N7L-'K {)L 5N^N75GCG&Ӥ8kBL XGCG&a},W V"= 4#GJ i$g)GkhGAIl* 3#8DDFPB#L!APDDDGYsTJ.Y epW'DtɌȪ;FwKN3 dj("%QtᝍdO%򔬟"FCŦR tt|_v`6}0d"0l 46e"5`l4w=d5pl8pʤtȺ#]lHj 7pl6øDo}ABD`nF>L0S+KmPS +|/+B(I7P*UT dD֚L}EA0" 5"#E8QO(NfehskΜ*ToO%ӐNȠ*20LLqeyTC_:tK?{Gt2RTj&_$_BWRIЇ9 ->)i /Ru 7ɏ"jM +_*Н>OI{Ѩ!g}ŤI1HI_)_U??Kg"k+57I|E{F(}~ht/򅤒_o/?$h I"S#a~qu959l5Jy$tU%H!%6H 2^0V^Hi_^I~7>҈ez#d j$^BJEV(K?aK5B꒳0U&9K-/Fkҿ'[~h9sKu))G>BPN?zk'Y[~hMWU^[*qN> B68~o!4aDzs>L袝^"kJotsWe +$z-ddB-Yʿh/a$fAJH[ <98JtE@5l>PTz /m01Ue'?/H0J%[~FSp8u'N ~zGV"ЋKQtU~?E>* -Du~Eg_G}뿞__EKzS'@믥@{[kznke_@]w .Zk~֗ (۫eLsZ?-/]yŦg6PmSR+ץ0nX/~ukxtߠ.qչŴ|Dwh/6]O z//ܨ^X"Z K4t%nr:o! k}t&ҭͯq/T.M{mk_) 3]ͮO]~Q"?]aFi %>ZDN?KYoK{K4R__>^>z/o@㥠Ҷcz ͆lWΏZ[Sۺ/K/&I m_zW'az{4)~6]{2:_K"u_oIƑt$W9M/ۮ9b?$_ C~}BHPBJMu I|mIŸ a_E].sN6&.=<2=@)_ A}]@"?z&푁恗:/@P#Pd} A |6]})KooX6>I!GUKz: ^ + G[ $g%R\&=P_AV@]t_?j_M X`k_~5gGK-?Knq#A$IvA~__Ol }-_r\7$_*]oHK5Є@Xt knݥE;A|E?࿥H%Z.2>\Zd{_m#I%KW ?T\6脹H-5Ze-/7㜎t_iP~]Z O)Tn ʙ@?g!}vA% &QPaJ$a&D4KK@$ZafK!߄J$; :ei*MVHbI&_ ?M  fb/ .A Z Ia%׫~)mA~`Oi$ҰGi7.kI_v^ФKPPAa5_HXE4o$$X6MT*c %K萼oAtAlXAib?yay= 0 i-%zM$# SO  ?48AtWym$<\i2)xI@ ҇N?$QL=& 8__Xjl5asza٬,x@pid\i<93岖 I {)H ?= '&1^bI0z2t;(oK5-Su\hcD2#$~r O/ajB9I]t}a:3ND_Që=!#_'o4(TVzB,F]90V}~"bFYbg A|3i7 _ʨ+S/o J*MɯbR6HI FЛkFM^x|2/p#Zӏ%LWIeDH VU~pk$a)]R_"[+S B%":J1>V(KB>pjE_s__-Hz5_4CONG:h%^]k$P_ȄQNeVq9BGAф_\T=?_~/ֿy q~ߠ_5!K$VFGyӫp/dK7Zi6KddB/AJKX5lL:5Cs{}j*0cT 3׿]iCI8X I,J|>$nep[Zeb֓H?M_jeVjUQ/ kkKK_#a7 +/ǺՆ=of("?@F.ͯ#[^I討|PNh\kkm$a 8k_ZYoV!hi7eح?Hn/}V쪶خqlWW/M.tOvPm]&0#7a> A0|?%.׸IչŴh_FC99 ji't-C %o9NJĿ\WϩuO]7󐆵χk d׶jZJJXM~#qG$rO]}qDy#&Q$>鮿E? z_y?]A9͝!UKixtA0AFlۺK?· A֒ ,JΙ{֗A*m{Iz_a#灧o:]in~O]u~OQֻu">l2.9_ (Yߎh(l菘 L8C$@T[(P?"N"_P֯SkIA}%ichu zhqJߗXj^9u׊uׯ I^NNGO% `__ߒtZzB3@#BI6/GLR?K_ Yt6tE_%XAxkXAYq=,_Yi~ q۪#I&^'Qt}^cL? Ff[_Ax%_JA&A}|k~W,F~>GO.2> =$as8ZGk/8e%_i +!/8߂*L/G$<(+שP9ZM;îA9辿, r9 ]%㶐A%E/LIe AmAΣzJUQF4_^?M IK$N:_K/^ Ai [ai7K@-eUIWֽ? 4M۰ml?/7 +KKM$I҆ /m!$=-7~=K KIp@$i+l:]Aȸ0Q-!EQ10AЦ(tWA0Kl>xD&0:ARLߠacoID`4'Fk<&Fh&m]>D@5WIA2 1y{ l |  k1[(sg& &ᤃzBAEdPA0{8%ﲁN$ 5 c0h iAL  h1IM$A0ch O:L/I + K  X^:LH5AAKp +DRpЂ8A PUB&PjjI0RPH!0""""""""(!hb""""#,´WQؒ"eQ֣n'#361iq;390=TCEj3错TGL|gcY|2(\6[r%gN -9 pȺ57 /.aQ5v߫ /^e ::JbgBtx~DTK:MHU/Oڶp)8@P}΄؟D a5D?is|ԛ8T!:|?%u&0Yͪ<z Ҝ!8zo~8~'ײnn=תNF%bPCyb!BI%_Y}~AZ#Byo>H] O$ݾ ~H6*H7 rΥIQetkY4kpP'LWK} $:_(^5G4n_Aqŝ>//qEToK]RV`ۈi~pk#GId@1>P#8;U*_ +}B7kЋADCF9p5:h84f+u>uE9XJɏB*};n"?gUts):M/AC^ߠK.~ʥ&#7kR^Df(Y*eЋ3 kJ zGesatcZ/ޓvUe'eAOC)Хm/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\k]_?}~h +iizOZkpDZ81K/4_/.aNK)#tGg'0;]E_5K(6zmׯV_ ;y% K7亯zŭ.#3%kآ2[[KפQ +q%ؤ/:M_A0kakk*_(^,-}4W6OaWI?u䀇o@DIP묆!6T3Ki0H|꽕*+рk%^>z-v͕:{wC^ Pfx ^"Lx^I? +#A x"I c%-\sEQD dGe#_ϡIf@P#uZ OIR>?oߋA E~+}/\/e^;ׯߧ L?$Jjcu? ae 3V z oKPwAl[c G\Tz$/$/$Q%N KI J&\w%M8p@o S1#8Rk sĤ_ <0 һOK(? ?&l4Sa 2'%t&E5*~Na5$5 R 02 SaXI0{ l(IC(:A#Z -Xh5CC"A|4DD2 x(Aa& s d\10Pa=>NHZ#LPjBL_1A:B b!AU pV 05A!"k#I$-i$g$Gh XC 5p0P""""""""4aDGM4W:2̛Ԉ^B\ ̏ɘC9sFS.PƳLDppقT4`Ʋ'GN[F@8A03eBl6 L+g`fypl4ll;>o@pmPl0MA0NYH-4aFn4M +TFa +uP9ݱezA'/Ԡ0Œg&ۆS:n@U &rm/ ٰ˞Tϳ[uMpLF ʀP\ T 9@D}"FK:fפf f~yI+?c>t$vWgAAmqx$|wi?BK莾jM +_*Н1ۯlED+IKB~_-྾hN e${OPSߤ&}t}a?_FR +VU?ȌWw!$E>g"ۤ-%<:/ACF5 aTpsw&uO {Nd8S_:oj|2񲢞VU޸g6/O:kcm$euU/1-P"?k])t&_ꟲ:(3pe'~/]KH}#~?CAtt jfgX qtH"/OK/nQI/+Ca7 ǿֿI%h?.5 D=/x"?}#_SqGEi/>84btm^D41ۯ]b^B2 /:#Խ|Bzf')׿K9z]VUs׮-ׄpQ_$5R#BcZ/vq"҄G^_z_KkkZϧ 2+A|%u/kKz/o!_K_,#H}g|B0Qmp鎗w4USۺKÇ`3eN~zz ] ?K_^sEm_Zւ#9#D +FG/K w[Uo4uhZou_釷쥿X[nco@HȁK( KHGo^ڷB&?t_ nmnS!恗6{*5?"?_>hq-ŃzKMŵ__z_Ru_/GO_ޮ?^o=RA:_ }i%=-.Z#ovx [/*Z l _۪R_O_5ys'!Wo?sg*gSq  S&It_[ .2;sA­ a#5 I&HI=%dA 9U W,#h#G0A~:_%=_k$?_I7I|)0 &QPu? `e(_TޗǏ΋ o&Hv U._HeE;}=u%I0z_L%cI-KKo?mSK`lii$ޗ/n3#%b%֖,Go-__I7&XwAt,7X㠿I4IФaA;-B[ /萣~KV1z$/$/AXb! ImxAlJc +sմzWפG@EBO):T1t]i0"Pi~3M"SXjl5(^*K`BA |i?u F h 1NACL K<ԹdدҊج> Ada"'Pa좩a/A=-!`Ŋ52 yq  igA"hP,/AA,&0^HR ,XMAaH B#*GvfAQ^:DARB<* *DzX(HzAT!A6#PT"k U41AЉH4""4"# DDDDF"""#&hVM_E%H;NkLv1ؖQN׃>4BAI(ʒ :g-3z[F' %}Mal' ͦl &uE"gTfR(l8im06m2FuqC H֡aA0NY(aIT&.Pg "WuLW(.L6an;uvDuw +,3l"t(Xu,0aEMK( 1pAs n f. 4h& eP(u t{t:T(C :d`?2.uMLp3 m!BHR7P jvآӇ +Hmv*u>آEXEq4̭T_{J\U[ͭtmBy6p)|Bt?~ޗSi6oд$mmRNF{8YI6ן>]hղpI0/ꓪdtiqJpA?w ך>+_6pA>Nm$o6􍤿3 Hm!帄GE_ɯcqECǤu}"|XIiq83Hl^_ͬsbȀib(HO/ftI"=9^aز\R&0 1HNsDzs?}/j`9DQI#f`9( P_gWsWz h/A@_0}? ΣxC9׮tH Iu_U_|+/X[nVZT_?P +n}ǯ,m"/edIwsG@8 $g$ΟEQ$j$ig]8[Unjƛ]4 [#=BGFl5P6ڨ_ PF:/C[U6V9/mW-!2qbIa} tC Ik +cG_>CCۭ=R| WKuK9s $F{"Y\U/_/#_? /?a])/> Xk]2}WXA~ X`kQZֺe}>cE1y gt_?"< A&)+tA"ėx֩mN>NJA1Ac_z@A iV% ?j@ IaA 9 k/#!m @ ?TSZ_^~{?$ ,)P#;UPΦ/M 3)b~^%Ǟ@K0'ZK -O1 BBAK c]mV%5__ Dvz^ 7K?aXh/a$";IM}%[_pD݈N 萴 GI 6V&DBp@AMM_ktWԠ!8AF0AЧJ]I/I :XAFq & A^[ΊV!yc4. 2(2x9Ѭ56K͆fE:l/jN39R TL & I6A:P ҆g*QK_aʿOT;&d&j]eYlɃQ[a&xKh1 5 lI8A6a)b叆+د9~j J 5A놱j KH-a0a s଒ i ` &KO'a{E!)g`U ZC H %& D  Nj H ʠ$eab#j#B) BC#T" !HH!P A(AHCB#5DDDE""""""0Db"#-őnW"VtGb\+;XVb-+RVC;쌗$8g\\LdJ3dVṕ a 5 DB5& a9f Fv`;i6 9#Zi`' kȺuLh2 S"S͠T.QL0Vè[>$ twA!0;pUF0ӨBITS4}3mP&Cɶ/ (GDu0ӝuןsꉁ +hyBt4^Ud`?FK20 @ 8ޝmʁ=#ֺI*I8Ӥ +䏬@IR$ذC~yi=M0a9Ii^jM +_*Н>Dc. ~jM +_*Н=>t&$x[K~:ȀVa]TpXOe${O, ^:I9vt_("ٟQ ~b5q{Oei΀A[.!<ڱ|/ukaA#@\zO!I~x@!NM|B5>ʨEdH&}ݾ Qyqa$Sd01*4n_+⬫W_Om-/k\=:& OW>@2EDZ7>}-/*"п ޗP__-4W1IJ9:4f+u>uU놦h +}B~D:kkOM*bBA5 /#eCa㥝VEϭP~NFj(ah=m@/UV^~R%R)i_5=hC^zi-Ue'EA_Cr!(UAI/ r8pKSePu}/ +":?KGG]~kI򌑨')ӔKu{ ^GOgK/nue_G_b\kKejmZzrttV\ƴo=F@*_֕K}(E_h,WKl^D دۢ5=:Ii&+^AP_AuF-bK>M99 Pߒ-~(H+kk6omtBJM{mk\c9_?M~ytI#"$DC^:_fWI$>Zo_"?@C?¥XF_/z?D{_}i[l1Ҽ|:Z*tK_m&?K͕:{wKKi09׮< ?4)~6]{zN>o.{//K$/ -$%_N_A7OBH_ .=am/">l2kEpA隃5#agxJzuקYwG9:SKկk| a_">Y #^hdfSK$a O4 4 A[WPg'x@ '_Ɲ*5} A f. +u +r:y/_/+ΟoA%֔i76?6zAi%CA$D¸_ ^^>K/KپgsΓ~/URРǬ/m&A0B [K~?K. :^tA'̓XA 9?_~?9?Uu\$&kNkˡ UGZhqt_PA.6Yq _5f|x(.KW ?T/KGm-gA\QZ|q5/AryO#xzZM}+5G6m-+eTq7?V%IΣsz_zZ_ZKeT-mῶ_Kح, #;e-_TI/ЌVح-o0lAK_%IzW3y7Io}&a oR_IR|~oa!"I m& ǢBBx!?萐^zZW]7cKAI!m&E~1?A/ +Ec +a+zMq 0zMpab2)p\i2)xI@ ҇OѬ56tm'rtk ML0&:=(  ^10 X$ GJqeE L lWb$áA1A&b`]@maȶ-&Kk +@ a L&Sf |5 5 &IdXQFd +! +L$ !dRi HB4t<}^8k*!&t,W#U RbA @ATBTAVX(HPCH! 9HB1ADi"""#(euhDm +[نΨV[9`3ʜJg2+HⵕPjQy( eZ)1GLd_%a"S5A-  U'64D#Z 6 Vf 8aVP 3i$tJa¨Pj PuI"M7e:ngl0Rp_d ]Ϩ0 +TL56F|.O]:\5=E8j{+WUWlYp/zB(@W^Y$@oݿejam7t(mBݿej`f.zYS9AYHZIť+km֑:ZJ6nnSoeBSZ=.}sԈk-}?NYi>>&~8~'$VhZt0ꊰm0ۤۥciU6}t}aUMc29"щ䧒GE!) ImJHe%G1֟/Y5gOdjzH4.?HBIX^_0LY%FG"ԗlʼ*sሴ"8J(6qkq9㥜VkePI[y#""KB<)~}k^si?KV)%)$I0-K/kĆל5FןT*IZ%$Ŕ1(c/şO^~ @VWB!N4=HėI$,P A~]d4M쩝ς/KCURI}~5I|$ ota5!BH_ XaD|e֩0_`uA ˆc9UK}(]e.>9 F{( T"Z Aq2tG6O2+A?D/M,uM/|i { \Z>K:/恗j$MNNGO_>qYpjAzzM&_޾÷n~4y/GM}@!%CkKehqٵCPAz#Z_m-/i(XzG_ý +)SUVbK7 //skz^x87']=0Aꭿ֗Qu _GA!_?*/ANUm A~=iU8Oz|:~?/]*KKHH֕*/HxA1E6֕%[I6_kJ_m&U=_kR'"/,#x D~ +?_}[)GZAtA%9EX>~_߫u!tOIZ9#Ө7_iF(2* UWIJ_Ҿ`lm'T:SZG/I6xM1'eja?JoSᆐ U /o_XMW C4uo1@K _Ki~i ~ _ `>%}7SXII_ ZH_/K*kiEZDB*_oΊ$I.aΊ֗?ޑ8?w08 j_?ayrP&yR jJR&]EdQO*Z^l4&UBG\ya/b kDTIZbRTdFP׆) kDTHII$H0{d?*S93bEOWQy8A0p,1# Z 4 a 8h LVLz"/I2߯>/J,$[<F}ru]!MjΝ~8~o]!)qsI~ (ao#6u !Wap&O9hE0_WB-?J(a4 {##Ρo|oOA_Aշ_:1S~^(^Oi9ᆺI-EL\pa# }-CIopcNVqKSL#rZO[H8-/aJKnh8>L_⟏:Ξ8S?tKKҤt5]^]#P*]DT}/ ~ޟD_ e>p#aqѭ :*#_IGKkZ~֗GD$[uy$PD3ӓYh?},ΣVV՟]꒤Ut+Ab&_p]0eأ0C_:\{I_3_HH*H* ɋ׭zI6]y@+L6sh?_]"jsF}OtI`Z>%KI|ד/ͮC_YA (cP_^ Fi %})?_o L +.i/~:Z V uҼ|'ΟS{΢AMC @]cC]% ^S>)g?E/\?-* $A\4ҿtA7Op?BH_ k8?o*m$ _(N#隃5p &F}񲜤zB!(_?_0S~V.}/_2̧1"> 0zxqEb?_OKIM  EA 6]}SS844Q?h(Gj %K[I쉅qTZ?@u0EOW_Y%  +)S_X@J+Z_@7a I+E4lpA: _Q 1O#[cP{9N?ǟSH$È.`l *UBA6]׏_P#/5 o_$ EΐZҥ$N{iu/}-"eT㰴Tm/$O5k//ֿOI{?봐B(}_ <[*!9贺?7pVm?h!7u?Av~_bYƭ cl A~!t"=^_دP@A_ʪ 'zL?}$lԮZ.*a~ zZcI78HJ*][B`Gi7Ɓ[o^_voʮ.Du*BEA$M?a4,$  +%&8HKH8AB M 0үH2G yR FORm-o#$p@9dP{P@ ҇zM_ W䆣~AПk#P&*45*HkRA},P pmȡҊG/Ɛ6? >X 4vqhK al9 hXAH)h a0cZ@)Z] XkbXC@R %MA0AЄ cJ +E!bk H 'A Hh1,/GC%qd{$dHFa$Zi">!ƈ AA$iTDDAFBDD*A DDDDDGYo-F@Rc",8g`y|dk2:!SD~&IgL_a*\KzW ?gDTV??yHKЋ/}(zIs"Ћ ^a6euvPgX?muʡ0D_)AvOIUN*+8o >Dw[yhMK,;߯%RZOzZOZLMԣ?a7 / qtH"/ɏK/5IzT_IU +A[-_:_~==k$V_G3Ai?i?":EZ c^~u_yU/``z?}%IYA ug@^{ $$R y#""t.4H*R#:ףkϡ^Z^EE5H +?k$zh%-"XKhYiϤrY&Sv/0% (cP[U3~P]2"/eN~T|B۬"/h'P!@t5z ?oA2KO xK@TzT>  Etۮ9ςZ\ ic'?I/A^EC_RJT("?tw@t?}ArI]-Kt p@*ZI4 }*Nt_ nmnS!恗7/a ">,$f#Zeu? +xAw_=k%&m,-/&UN/*Z^BHLKuKoͯoW_Sz +Z - \/?~ұ|5ImKKֿ*&,WYN >"?i%;u]Y +[kƽ7']=0Adjzqt-/oO_z$]pU+S΀OK +p +G\ Y*A}m$\2;Zejw8_/[ \.q?mT_I%": i`2+qW^v`RWǏie=&A9[l)-JM7=u*/^[}}6Cjw-F(2* a:4 aoK`[ixA`o7]7Dvӄ,R Xt ~Imh'tJXa>8J.:Oi1=E8&AL4ZJ=$(ZoʦMAu `OssAa$Q$ރA'&>xxQIP ertk Ml4_ARt0c"2)B aDѩġ#ٰK %.M4ED"kMOpz ?^ L:QPab hפ &)0RiI`ǚ4Fڤ"5%:+d(4? Bl>!d"?A=-!`Ŋ5h KP^v K0UаѨmа xi!K&@a4A:B 6 44?DqM`*mD!E-# ¡Da BPFJ@AɲDYHE*FIvOfgAJeLYOQ[QH8dS5"54tU"YFExpι04U9Q3d "pal3<0dn`d)6L3=eM[npʚ"ȐEl; am0J g4au"7wTSanȿf24ʱjV7ih4$`Xt96]$hG%xa ‹A-iFsg;k1fO£M4*9QX^#ŗIAp 7SiU7tG@7t(mN{*gHE'NDa zzdR"$ +?I eqVtmnm=-/ѿmm$I[m#ni ^jM +_*=c?_$#ӆirZ~a oKn,mSi/Ju?8 -[tC'tts}a5~붏mE?(ZI%nFpA>NoK}U^=Yg"-A#i(}Kq O$rkC^!i7d?&W7 {q>ulWнBIH4cZ6H3Ro$H&᤾p d5׈/]RW)pZUN&R4áZ!ID47ly *~gBP'^E^qdG:F*&:!SD~}~4ETi_J@Ӌ_<ts镞]sYőҕ6D.}kl?EO|BO5b:i)ė_*e {AΉV& _NsXodd| {##(P@zӫ_(3>KQ{<5_XH0⩼~| |qTOUe'HIm*` JM/ePu.T9T4_IPim#U NI_-&U]*V OUz^%WC"j>GPT n_ZZ^_pDkZȎVG#KI\ZjZpD(Pkn$KA1_ײ .ƴf ?z?eتa Iu)Z 4H\:Z?g9I +#5#EZa|24H*U%I%Cqm+sk$.& 8">_m~3^%/=zlR4+izMK-(D{M'hY/ !r^M[漟Kav~,|!Zz_·+u (c/p1e a?_H6!$B;s>ʝ=&IX_*!V( ~J@9+I~cG[_L)#5%: 93sgJ+bl-&E"U~"$޿ z2 w'a/'@m [8JT 4/j  0IQiA01 `]&,/pW V">L'HDJp0q  !GC4t=!0@AN caDhD +T!j-44=SCH*% A:ijЈDDDPB"""""""æ2hOU.qeg@hHz}6fפf ւ4M]g`*{*g0Dae Ӭ@ost(Y. + ؿ_J* +IBd3+|7/t:]'l*΂M2: + R~Ѩƒ zZM[~ +RlRV 6yK-?n!BKL|{G^rL?Kotq>I[*H ?UYi$ $ FJ?85J"bւ F_^s՞]/՞/!uI _kJy$tZIIiFB95k x%_/uJy$t_nq~8jHhA )@iK_K d5:noMQrh3eZ&֟|_h_9 J /!%N4ly *~bSCK\4ID5AՈ- 3΅>k^^R}iEc=/r}i~"Q֕~ Jyő ΅>/8B0j].:I='_ G9YXsל_tKO_dd}c$ez (d… +k ^TV^ +0J="2?$dd~"/+6.OAS%['O0 kʡŪGA\x>.??:_#a4ցo'1}KnfҺU Q/T_/I}#zI2>[| ?M),[|9z/{Q҄_?+n]>-/^ GejMml?GQD^/戆ӂ#G3ӓ-ReؤJXU\~u╠^8guAlR]kS6PmA4Q"=KT)xxaAu.rr{& V#tKNrǜ>z(kͯOykURq&ҭ=BKҦrGK4mTG"$}8F*]#4؄-9a5! zFi %ÄGG6KI?_L=x8T_~KkmZρez0 kOOnhۦ<=%\BJXCTׄa[h҆KQW4"?KT>R&:׮q_z /KY~/!n mA7O^[[h|!-$$/z](^; /KI03I03 æ pJt"qǦ"?_s&(/ |=s_ X}aG&.==H^3fJw(R#\5~& 4$`φ˯"A l `=t @P#ׯHBeT{KAyg/N3e's~$D_@Wm/k,$/Je}>?IV!Z׋H V/ ]x@ _s}RI~A"@P :t'?9?_A ' o_g9ʽmm?=_y x~!*gZ~Є@/ɍu _?/^(=kH%Zz Z\Oif5 5,}{Z_׫=GWHk BAxHkK"i+G(_|}#_ PA\Sԩt7 PDzLi'Nޗ]idCI8ii-DoK7 'aA AFwfz_ #;M'Ke_@-IKnAkoKAǨK_I/oo% 6H Dv/IB  A M|┒oi _ 7?I `$IA!B$Ito_@ >>K_TA$I5.:$i6IJһ|D8QΊVgJ31dRyc (|ka9:5\| tS$?c&~ s)dry}=|0SH2Rኜ[@A$I2 AΡ<$á pm'Z 0#A0>ZQ[sgد,|1^p\ i/i ai?@I @ P‹AY^ ^X@ U a8x `Qy85ᣡ-%$At,/EXAU^kk0T #PAPј*$C Hq4t ק=hfTAzS{?:I[u]!VzB.|}wVJ?yb!BI/t/Ho.!}y:&VkJE֔0H蝾 ~_3O$rkRkF9,~HI7ͯ'Z_^нBI'鴿QrZOmn |?-/!uI_ZM\?"п_U_GgP&E:Ju KЧ/Kסf&?@לYS o_+ѫ:_χ$,tz]Q9t}.MT>egy {~Ը"?0ϯ.FGpjM)z JW?҈PmP"?O-(3>ӥygK4D{cZ@AҎbS@~ ϧ…/)g M/KZTctR%,BqK?UkOd(q{T>zB㮓*GGtMO_~ Έ:̓FcN4tiuiiz}___ (6.4h +:bZoaA0ǚ+yokM~yt癈GKL 9/5uZ־&%OK > +T;~,L¥XF*kˆ _Z}>P]}Gϫa!Vh벧Ouʅ殺&IXYO +27.!*tK ^|+/1,a]~50ƿ-YA]=KK9(3sE~yPpo=zu4[:5co(At^sϡ?)*Y,co_ /zKקWV C迲:D{0^VԇE5?H_:/hjZ_>OB0UK_ZQ߂A&ϯj ϯ_K_ a FxIkf:M_Ac ! A҈=eT MzCARIi~E(踏Q^us窐^] >? *넖!I(A~sOפZW_tt HE"РA!_cu?I5]C JtՋǚ?֖k__EG_({00K +j?*_됋_^@B6/?59~?XaK:(m (XA -}+5.4I?z6XaIo7l;o A~=uNV=]ekH Zxf'a@v_KZZޗدi&Ia%Ia<-UoZKҿ4_CAImo>J~)/Jޗ&~)~8Amb+q~QOkH^HN^zZ EBk|D?M%sմs?AI L=S:FXk% „`^G-'< /085>E>a.q.O, |iHԕ&TzW9T $  0`D h Fb`] beò`Wb$áATA1A&b=:B Ak冃@C!Ak2 x(BA/k"" j?3 PXhyT-8`qhXBT,'_1XA4GDz`H$!&t4&#@hDM`DHɃhZ 9&B;CJCCЉ%I BAhDDPB"0B̫(QK DF""""?l\D-n#5-S> T3U3!e왶jV`#Z*v;3a1!K)`8e^E4paZaAYF!Ca&jٶ\Ȣ57 /.FgbSΨY,MKu1!0:R#}7 SI#[Ϩ:}X a FBau Ȳ"g UMB " )#EE>CH tUL\:PjD}6,@+e莱qtALʭ"_ @ 8<:u"@(.U<߰.q$a(]' N-Y%<6y$-$YPi t1~YyA~ņ=NO37=kF+'#~F9Iitנ^Wt,|H=P/nBlOGW9!+ނ~8~' S꾿a ^ӞWgONOQ6D?(ZI$HEzo/&U)KgV"-$_ +q I?I*&< Qd )g_Fi )~q{œaROJOнBIns^q sZeZ)G}$VA㶖I"uv%i~pk)d RqY/4{z_B꒿B,hzW,}6dSP&?QѫsO^Dziפtz]Q9u V{`%wjYJ3ޓ~o|tz]Q9u[⸥z @1쌏EPoˁ. &K7Zzנ-P"?S/3[~OAg@ۋI"boKKaG.ij?/!WΞO/S"?H?XZ5jrԨ&/_ΞO/EaWL_?dGBT@^tW"?֑xa <_֕g'GEiZSKB%ٹzIޚUh +iizy~c2+q:Ii&+(6uDC_Z ρZ_ z1D{tӵLWO&VޱkKչŵ,98APYx/A]PPJ>h(ou_Z\Gm?a"M5f#M! ZXbI_ZOy_҄G$[-}4ROנ_\5^%~,-}4V|~̖ⴘz]$)^>zT_zD/8D(׫믊atuJߤ_^2 =zW^z_[Mzխ W}߰&K~J]N^$X`I CAzMj^-H05$p*ki^%IJT_a$8BJ&\w%M$Pi+)%OK( %5IAl1^N^O/L$pFM.FIޕ"x_DŽ EK E4נ8ZLK[sgدH2+1[iItJbLPI0o8- l-' AAVdXQ'a)p^N7HZNH5 ׆IF xh &IdXQ'a +tZ +k  !bb . 4T,-($ =RX a:zB+)"$ д!BB#B#FB XGBArvB"DPB"""""""1n*d tvDLV P8eO?XL|:uϢ A5)aZaa\PۆR#Zla݆„ʩۚYLצ3 ]Bh Mxe 6|L:oM40asoȪHBI "_/J*#VA?1]9N[x${_>_t/7/􍤿8ͯ VIҞI^|2iiƗH&V*(:J*3c!졇\Nm"_L RJ"гT<}>[I}6%:Y#$G]tK5kKQ=yr)%2/X@p G#KKoX#y?"?Lq[ 'Yj8֗L9tfTGSlJxExKh,WOpiħ"=:R&*nYu]~4çyîA(k&6Kc^,i %Iֿg!$ +]0d_7^#}D.ׂ">xk c#?yoK8FȌH=,H.sxG!5,oHϼ/\|TǯE#KˆT.m I#4`Jq_WKuVcDEgiDZ_+ZL5"u2qZC<C3(0zZh JX8A0 8 +TkaAh HZNJ)!   % !\@1R $e@D֒)CaP#"(A@DEl +DDF#,"2[Ƒ\QEnvJĔPʢ5+"0LRmQ)C*ԡoA' +DeTm D &d 5 $tJQOLʳA*l7Ȱ*OL twPzIlptGX +aaHQO)7e_u m]agd 20 @ 8<:u"P\ #Nw^D>ү 9οylbgBN-.\U[aH0`~&~jM +_*Н=>t&$x[ѨЇ9 -1a5h) *oMǴ+ނ.~8~'N'hUOO5rPE?gV"-$Kg"Ho ̯NHXh~6m洧GE_>~q{œaOJI _t@UyVUa~^q2^f_Om-/PD%; "мHMXQyU_3'ZO*G.+KC_KKK]Q8 r](t)=$$tN +'!l9(ksOYB,hzWk,5IfeVq9EQJ*g]?`zs_㥝VE9c?_KЋK`?ЋRFQղFKO_`c^]ܺKϦ/^U]% 69ZMʡŪG}0pG~3#:{)?tO>?/KI*ackMWL_?sL_ZI% 5)ֿߔiZZ^zrttV_}uׂn/>ӃK_%8]G#NA1_L8A+e"o_%*uUoXjbs뷝6 DlZmv5TM{mk_~Z3rGK_ZY&Sv 5m/"$})8D{(}g_TI?_nz9Ѻ=Wu\nzKoA}:{wKKi0HR|?׵Az ]@êƽ D|4f +_H_A0$}_)">G.:YxX[nc?a"`2t$_}iwu|m]a6w_A5L0ȯ" %iP붫^t_ nmkd=mW辖֯_ί6  ORWWU]-"z_xAw_k__.` s;LV5j}7=uUIv AMR%hWKlZMM+B&R&B1XN~$?X-%&ibooKҿaɽR- mi7 PI#^~_ +JޗqI(qL0T]$K= oKPwAlIia!zMΊ$Q$IizLz\:Wi0*kiA& #I XdD&LGO4&E/I''Fk +oJ< /w0;r ,0e#)0z@AaAid@8:A" WIBbL=$yŸAq=| d%a !h =!,qA vk4 ^+ +?D%:+H BhzJA &@ H Bi._` . !bb  BDDA# +EB""4"k +i$g$GkhG+jhDhE[Qa8?l_ec&_KzC +?@ +endstream +endobj +15 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕr\CM +endstream +endobj +16 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +17 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 85114/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:m$iR bҺoҳAezJo$-pD{".>eGIտ{0*I_y^_z:kn}vKe!KIkR{]oTtlz64__֝bq *5$ǥhna?6%@TGbK /㤵UI$I +^W^KJ5( f I$޽Ϋo,$Hi'IKcK,$I/")z%Ci*^;3q+K/ZTMI*KIFJ`ꇫIt&~L * 0  0 DDDDDDE! 7OHOxvh4n'ErT#2V0dj`ʜ &t`Ȣ  a0l:NeE۰&Q7GPUʰ34,둁L&y+ypKoŒ&}{*k|!mvPicVLѫ6 P a,a0pV5,tKf:@k_}8lLY_A #YW\YAdΚYAGmt6_#_u8 _|WT+W?Mk62ZezI,ֵҋ +JcXU5>yP'__Xj!STK%U[o& kב5Ы_oB, t)z?K~Dluᥤg /š,i~hs长 {*tQ'Uz^y_a$Ït%.%KT}{_ZUk_ JzW ih&}p?Ii:!֕gIVfPEiRҥJ6OkI$R'k$Pl */o- On6 2Ma4(.zL>(R 4&?WMM]7֖Nz][t :][o--.AK%-EZDÄa"-"ph$ [ jRZAP4SgdQCla7I i:ô6yVych.aH*~F2~Eo.ޟe AYeM7W$L'<~*ޗ$v;K3z_I| _<F__9g^oom/~TR.2ZE:_(]---/C?Őh(Dzs>a3 餾"= +kR9㥷iA!j9_aֳc/-_]y:뮺%; ~'tW?B +X">zXxAuKI{M&`K~/|Mb!$ +_AЋ$ᇰXΩ]uOg66Uk߾a49 C x_WuuuZ4ozu6ֿ' Ikcmm["W| nյmm-- KKA!Zֺe}< 51LSZ + %nE u}kAh AiwTcծ(NM5,$moMnqΚ[Dt-}]SZ^>+ZA޼S-`<, BIK--K R3/Z[pIKҴ--X 0M~a B ai7Km rIlm&H6X` PAl< (f -@H,2jpl1tXd&H,D Li/ X`/s _<tЄ J"""46-Մ; +v'vQQ.կdQCal2~0.*Pg "VdU 6yVyԠ0Š荦PS't:U N/ATן_ik'L&PW蓴I$L)C?}ȇ a(G| fRiiu{I8A7/ 7|9+IտeTq9Csk4΃We S}q@=ʀ_oߜΡIL1K_|Ws5_}H0뮹;KͯP}K?@zfuxa_]uryX^[Y  4Vu<:곰Dl6N}L +տX׿4AAq$tƻh-}XksSZ׺_ ZMŵ_~>@zVZM)sԇckZZ@$'I_.1LRi:+yϭ>Mz A KH\"/ %- |Fa(Z +n;0ds,ZAީ(Av9 Qw|, `TwTF(2/!4.1 KnC" [j_ۆΆ,R}vaەioKGH05DI-J`(A( iABiVVj\C`Cbqu #(AƃkDHA#E)DDEfn!S-P"?MLZr6ypT4GKkY?Nu] +J_ T"?B +X">uDCou,E㥜'e +.A0 Kr:_~R>&C Z|2M~oЋ$Kc">}__%ua= l0OƾF<:=}v~?{D?mCָJ-}?_#{K&oI>յ@zV^? aVյ!>(cVUKئ)b AQYr랪Cii~?K_uiHe!uDt-}]OWOPIKiuA&a4(.K&B۴K競_ᄛ "Z[r 'MkPb#"$մ]\?Il/j@H,2j3A VT&XA"UH-H̃!H8M FARQAD_-Մ; +v' k"TGL 9"MvÆ&\4QIH:%(m0 9ؚg&ۢ! S:oe;5[˂l20Y(0<ײlN-.\U[0L'-Ogʄ'Ms$v;O3ҺIpXODCgJ|E4VzB,ZZ]7{I:M|KO/j/?L iiibKC_}i'G:ƌץ~fȏz<:ᴴR.^׿ Z.WWT>ۯbԇ.:9>|ih E=+@$RC Vյ--HNkQ?/҈ZS%Z + rA~jA~Bѡit5 A?PI||}AiT{zǏs, ֧Q1 Kn_ $mb!+)%; B B aH_k [:z `( 9:5_a.t` A[5^aǜ+4}Σq^ ~:"<uB&PTЏgsG`H#%[#%-Մ; +v%j2*YJL(g^ }Z#h35ga}9:Z`G÷2*p6m8l; dð=8e^E4p*Å 2ᢊl2(lZl;A0聤 tw1!0:J#}7e>`r\fh'taa "jBASMA8YB:#A0]$hic) ȵ8l#ql~ll20 @ 8<:u"P\ 0PTQ({mUI:NMXl!HZIť+k|&P߰z(_~"~jM +_*Н=>t&$x[ѨЇ9 -1N'j;::!m+qJI9vC^?AAKAWls B?MkHK??.!<ڱi$_=!_C}--RO[+Sg{I:uzOͯaGDkݾ ~UMom?o 悷ߎA֑Ni|{^[^$K7F9ۍiiixt/Kʙ#M/O4{z_B꒴ID5|N3O͡Y:qd?B +" uEJyő O"ґ0St0g!N>k#u[AK89!~}/zoq40K?K5Zzנ4D_￿O Z!h/CGZ Am/ r8pKQCI=Tՙt?dHI?Kg_KKֳc/u]~uzW^N&i+]&U/v8* D%z*N+o۫(_Ҵu ? Tl ++e( `x= 4GH,WO/Wncklײ^0|B,Eg_~+8uUoXjbs~}/0  "[^ҵM{mk_~Z3rGKi ?#!$ +_!R۬#@z^$ez0 h?=@.Xm:eu_yOOnzȎ&I +W]}cF^ȏg6m.&_Ou &8k!@a49 l:}/qkEd="I k^G8߿4AHϼ/9>SKկk| a_EJtZ Ay +k(zeu@ ` L\zz]w_ .ˤl?#[-|K(ol| A SSϯkkh//KA)Z|_+:Ϭ%_-/f:M_A,m[]K!??حk]2]]]Ii(S_i~ izZA +}JBЅ9+%A6J_ Yv{MmzZ A`~ A K\QN +֫B ^>! ׮^ [J5+S:ejw8k__#5 "?ZXK,% A_m9I~85⻑$%^ikh: +皏 +҈^CAPIS-lǎYlJs΋!6 ~CBI?#vzIlS7#Ө,b bݥ)ޗimҥM~bI+. ۆOүiV-?g{GAaX+:x@&A0Ko/I/߭ C4(Z, &o 6ۥm-ǢBAzMj^-_E^DjI-êXEH6z_,0a Aat)a5TV!0A}WN39RIåatil9Ѭ560 һOK( %ܵ&DH4 `XeoN]CH SLAaLAapz I vp{ {bEAcm Li/ X`4 X`4 ^+ +?D%:+AEKE*HP2I~BX !,}A!Ξ0A4t"S" )#E=e +NAs x3 +-Jz 2S ᲰS ޟPa(]'ԋ[(MKe m!7zBK; @ UJZotv {?I ht=EoIK {F-xTCo>t&$x[ѨT XmCA7D:aӪF ^s)M^_Kу::}"<􍤿_yb!BI,kIS_6ranh'#i/.jkmXҞIʚM#}I8N0'%HW #^,?k~%=za +qn' j{ &Q/! +5K} $:/aʬ4 |CZ}9 d5tP^ DZ zL3G_YGUoK]RW zL6/L3GYRY:""Tizi/Nt) p϶Y#M_yZ"' l;I 8 +"Ucz 8  (~/?yG92sRׂ#u[AK895zVߥ8gDzs>a _bȀiHNs3pߎu[q9E*FKO_I|(a_9*C T(տ)1KO\X>mBQ#ocZOn 4iA}O]&9__iZ[pz[5k.#:{)?tJߡ1ۄG_󧲓_A %N^ǯ㮓*GZx%u^דA +\_=W|_Ҵ~?DZ3im?RKni_=)pfOAb`~]X]G#NA1_Z S?+ZDiBGL#NDE ^f ]/m ޱkKy90%jp$#5#E_~k LJ-8mIV.mz<ֺ}s^ҭ/A䫞=6r)V+_kc5|YЈI+8K_@T_9x*#+x*#J*Zu++~uQ֖^6]oG]|VK0Xհ~ D_~޿YkIu_^H_A0%#Z'OM.?m}4,0WU"c?a"`2I|CCKAdJHϼ/ϲ8կk| a_EG[ΤHϼ/5t})?p(Konzeu@ ` sꗼ"?QPpFZ9?D{_3 Ik?=oO]ֿik]iF~c [{ Ik8:ˤl430/ZQ)Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-tʡ7yobk]2}-tL?$K[_5Zֺe}:5V_O.hraI[z Km&넖!I(Ac+׽A"A"Ѕ<Km}s=yUO[]&b$+(i-ȀT~zS~zB _҇~_+S9EOY}_(=({97qb2;sXMnqγgG5bkKw"JB.BI]zM +j?*^wkKwkKw#ko#DW>VO)ötS:K_JǬ } A%Ka~[)!<,?R@APgnO]-O.H3<:[Kej-m ۯiv@Iޟ?ʆG>$oKMlTKTa; Km&-KS +gz_ЌVWڿzL>Z+<--Km-KKac Z[6_0Km+Mz[nx*I6ޗIm~Xa";I/KopGi7 KTפM7-$AzMj^-TץIKopD݈N &o 6"0pwTZKn4i7 :W$Ma5T%CAl@X` ޗ<8AF M~l 0\&yt) TKaO#RTPaA7vQ֖Il0tJil>A Ta΂iA_y|1I8GAzNM:AaMM$aA1I0a.qnZAN^Xatcd u=] 5II vKXK K4(& &IdXQ'a,A%  % JL& 4,0Ia _+ +: P % (4) AgOH\B~ $K,AAV/,tD +D!X5BE!FhP i E4 3d#0CC @DhBBЄ JBDDDDDDDhhDF""4ɲDWDNMٶ|:uϢ Y[Ⱥ68mL6BB%tvSw +-FO(P(M40>qeg@P\ V~(4kMUNa5O¥oK"AzSKK3|i$Cy֗m%$$ʚM#}II"u1e E5|y]RW^8Lz}kЋ>' iŒ8Q]Q9t}/3Ҵ=yR3~_E(a_m-G|ZDt!AIK+Kn~2D?[ J-R {Kn{(?Q=)EkK㥜 Qp𗙩:lOyt*/hKҭֿBI_L=.:eRa]~5FU|0~=[NK! a_EA>ૄ ` s}WPrc _>keZ x_AcRAyg m/҈m|V_Nk$sI[zA!_cͧ|9@$aCɿU镩6 +z-}SZ^+0~ICj?Qo%GۯM$o$Im߆)ޗKoKm_il?%@&-Al}ڠ&&o-i- ޗ0( %5KҟXA:PJ48GAzNM:Aa/; y8B^L& 4$1X@AK #8 +B#B-( +"?Tآ+" +.MDEFFh*;RXC D"*g؃mLb 0μA=DB"c:d[%h:g؃a@μA5׆uϢ $̨Px&02Ou 8m8p6m; 8p /.ٴm!mL6ͦl?ԁ0 Tt-Doػ3Qh&^0dHL7N]‹)jʅuvKw +,*lef2gXḺHC)7=e  JB )#DAs & )<(PdFD|6V8a(]&uoO[(_Z`S0eˤ4$f F=?#Ap#A<~(4kMUNY (=W +&bo*֙\UL&{lOG|{Rs mH0Q4H0HN'jy]>:у9AzS $~}Ո I$,#i/<ڱi$m% $ F^Y0ij|)E$$ʚM#}IvS0JIIIh .='I"(yEEqK} $:Qui2y h?_(Q,m-/PD d5@IMCF`c!~Liii /!uI_ zL3G_YFrTx dʉS)L&q]~NyZ"לY϶YNp#ziŐsN-8}z φ}ȸ4u[AK89Y#3=+HNs2,Ϋa"uG1Dzs>a 1HNsDzs>aם3=+egX{*G!i^"/vC G82A +k PC x P_p/EaG.ij?g#i + G/9ZM:JDKo4_/_:{)?tJۄG_ވjΞO/-DuJT[pKn~/+h+]&UւKuy:#(3xʾIu n%]h!u/+KK0K1-_iizm B--"?tmczZhtӵLWDCd+izSy$4t,WOb^XX"?{(?:ɕEoXs(AuKϥYHޱkK ^fKI ^fI(}:]Oyt*_-5f"oz 5m*J"=r?_u +a_WDp/0*ZuhKҡ %~TGkfWI+8kXl믊at1+(꣭-):ⴘz]$,1+(6V uaYF~_B )uׯy]WsItB )%~G.oޗy_:4XH?LO--š,csE}>^ ~KoҭV?z[yk| a_EA>TaE~iL43 1}O6 !9Ϫ"?Q{(3G Mh.#Iׇ@ߥ^U_uM Mh.|aˤtK(ol| Aˤ/A f.-z[_mپgsΓ~/X?ïeqT^GY?׵|&_ /\U/}:^HdL+WKuK_յ0 m/҈m|V_Nhߨ~I6k]2 h/A0Bk]2~?k)_Ao ,B @Pg9G W[\$&IB %nELRV%nEaMץ( HW (i1ꙂRKb$*1@~zo-5b@$aC?U镩f#_(=VנJ_KǚqHt5\}[hWr&-"ᰏ` ΂kKۿ$O5T֗5HlAJVO)sS:8lJSmA9< /ö߄J_IirtL?ö߄Jm$ۿ%I $#__#<7N$oKMlЌVߠI; 1H #; R3/o3y7[[jKKa0<-_k Xm/-_?Im~";I/Kmo_}Pޗ @&Gi7*WK1 W km&t&"][i7MMT_uKa5Tm>"%CA+ ; ޗIm M=[O^L"x_DŽ Ga.q^ ҆i*Q'< J!C4(ŇA:P ҆i*QI) %I.!i vp#'&OT J&/yŸAi8A6z:NMcU-0 ; y8B^L& 4$_aC ;  %aL& Li/h%N=V$`(pa i/ Z$ Ipa 2Ix}L` (AK&_! 9HB;CРA"4!A?B¡ 3#ЍAb A(AЈ DDDDDDDDDDDb#&n/*a)g,[v:mP7Pi[[sZɄnSIW[ Q+D׈P(8i$L/Rn R_x~o  zI+>p}%{G^ҟ?TE_D4K9\/K Zs]gƅ/E^'\/*5# yNa/ !Gu_Nm|_jO5B} r8yu8% {ijmJgaӷح/0߆M[[mMJho1^"AIƾ "o=-d `^ھJa$?QE +-Ј2T""1vWD#%n!KuaFyL#RdB"Ȋ漕DO$vZ;*g؃`SLe%v)גw2,pl6 @)d`p>E4l aPp&\4QJ@M_A0[mtD&-: Bau +YP$pͲޟ[0 9{.34 8A'ԆbtD(cC莁F +aaHI g&myvDf6r/ypN+˜eu>_Li @ 80ͯH20nAߝDS]D`<5a|!m +M_ipMSPOR#a _Oߧ{b}6D?(ZI%J"bqJZZ.qMlNW ?$_5E_e8S_:om?+aNm:u;ioz'Us^'+EP_&%bp _Iչ6'^UG%6HyZ"g:Q8 ͯAT?AiWe }qp,.Tqsxy F+u7T8=ʰ_oߜΡ~G!i^ @jEg& }~ZXdk뎘b>Ӑ4# ISPgIer~#~_5fG}~j9_j߮yƺ죯:{)?tl3|~0}w_fKKֳc/_zG^橞}xʾI0޿]W# WwI[bZV?B +VPzZh/zN +3Fbۨ}^0|B,E:Ə^:#Stydzŭ.#5K^=zEI?  !4B.߮ߎ:Z_tS_k]>b)~8K;@M:^yX_}l?Kz-oo:K_nzTh_΁-5#4"aE[|GIK&R"V_ڞۭ=H?~;t$KSuvյK:_]ôFL?$K:L;K_ئ+DZ_^Ah*#/Sim=?Zp _ %/'*m- Z A`~ A KHq F8( HVj!i_ 6Kh \2;/AMXP?I~KGaDGK `*h+KR;0ds,Ht5__$4# XAiD/!$Ip `e(;7 zA%K.4G=A +<KK$XA + KOHeEJzMKv A/F(2,S1_1 KnC" [j^bIz_SK`t]֖0W,Gm&__3y7[z_ ,  `^oK~% =)(/(Z, K0 ~10A!i`k!%xuKx0c XMq4p0AЧ 0@`( UeE4dU<:\)%OK(a9:5_ȃ mCOiV2I&T;&d64)$yŸAi2 ZN<$áK @Qh&X*[APXA  V@I,/AA@݄ UX6aDB~ 5*$JS:!E)a!*5DE""$Ƒ;Eu4AQ%dDْ'إΛV"D396Ə&PIPg^ ՞3Tϱ x3D3*Y%1<&yF"]`4YPӆÇ i(CEyPlall6? &cV*ET0k@M_*BBau7l](It1(UeBA0^ *A@`aJ3@G3`d,p]$hBAs 脈0{ 2i$ARSֈa ˜VQXF - {Ytս?lps.oO t:UB/!,0evTI {?I eqVtmo*'OJgBϯK Ľ'#~F>=[؟D a5z_^_W؟Da+ނW^0g +9vt^:_D|wVyb!BI/!/HKgV"-$􍤿$Is_)_Qy_|)$$ʚM#}I:䄧GD`k$濈0o5vB $NcF"L^CZ}^нBI@1փi~:uh/H_/8(M9 Jpkg.`=/N"- oK]RVFJ#4^OSFs~muנ/?^Y"?3CADCCjBP/?^Zqd>2{*q_:TL?uϯ9dpȸ4u[AK89Y)=+HNs2:Yl=].:HNs3NCTmfYO?~:[(TN^ʡ9QZzנ] P_A +kɅ=ʀ_oߜ#=Rҍ[ }G 4u# IjI4[ r8pKQ-H}S}q xz718z[5iujΞO/Ҵ1󧲓'KKn~F7~??DxʾC n/'_Z +I}#a-_2:O]"W-/_/?Ǵ\_֕륷W?׏i_i}mDt3Fbe"8?'^E?-gI0;] SFPvuY~_u*ޱkK㥜QQp𗙩8,ԫޱkK ^fK_]ViԫEڭ.kkb)V]u 먇 _3z_/:K_nzUЈI+8YK_nzT!$ +\MKz(X}yTuFMXl믊at1+(W]|VK:e+рk_mGX5uE(;zY!k}1i?~`_&dW}x_/edIw)15?j޷Ώ뷲9?D{0^Vԇ9>@G迲9?D{0^V"?Z ƛ][X疟Qz[տZQ߂A&ϯlK_a~%֔i76>IeZ6~落/L %-w<7H} :WKuC͡3I@&WKuZzۭ=H,i2}~;dL.a &(kZֿa &kWAzL;K_o$cx3[z߮Xk$sI[zIbMJ}*m- gsGy:}}8z_B ^>!~B6*РA!UQWKq ARZZdyk[SV/Fj@=#ZZ9,SV/F_ֿKGacVt5 i y!Z4AsGW=_kG/4AsGWT֗XGpF,`~${;g1I34lAJVO) }`A%O)~]i2z~{oirtZ_7#m涒w7#I?/6A}=_oKoz -!jF+ xo$Im߆)ޗ'a@vb~SK`oKGG]&XW_ Mڿ?g{K XmlamM㤩A(ai[i_oK}Pޗ/A[z[~:~tb^-TפMDŽW `m&#_[jP+KT\w%MOV![t1I/,0|Mq4m&"?@C[ qE:I$jJׄQKn>tJil?OK( T '. myB ("x;&AKiZ`] b '/I S,2cȃ :KvL,rR`K4 `AkaGo!/&K dXQ'a a0a,-5a [t!O j080AGH4 ^X,'_1@ +D5S!ka80 A0! 9HB;CРA"4!DH0RB#B5=aADG[d*"$ulspμA=$B":dS%H"3+(maYPӆ L&ͦll2ӃM" ӨDD'f(/nh6' 2ᣆ#E tڔ fr(U(*X`r]&t(}SzB#L6)dV: + 6C|~C +0)쩮&j1toK"a YnAzS?}t]k΋D?(ZI%I~?08C/?6#9gB $Nctp1փͯ~_󐺤3G_YF1_?^YF_HADCӬu[AK89YmfkZDzs)N`:z 0>0/sqWG.ij?g#'L1Ko_#R%s4":?GFW_#I}#_u9zGIPg }ZVajxm?}p5av ~z"-/J}Bl,POޱkK㥜':. y3t kIj3 Ik?=o\K]?:M_Ac!eqT^GY?׵ZZOJ&IJ"Aֵ+ѭWKHL*Xk$sZzZAt( HW!Tc> +#I/ A K|~0RU镩̢Zd{,$moHt5\}5⻑% i {I,% A_z<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%GJzO.H3<=ehP]a; k#;z[*ҷBMzL>KKl=o>J[a#&$ Km:wAl}6mM+ B aTm>"@CA+h$ [< J> sH&N39R-I?Ξ)^b ao8/دvL'&OT Mh&/XehaGo5 % P/ #++B (4) ؠA帹B(A@OаBDuADXqF@H ",*;**hh5-Մ; +v'd2`&]"hL3}jȄFDpᒤ)[+dQC;%Ⱥ2 QvÇ a`pp漋im0ea;OV*pl2&*l&\4:u ./o:5L&/!!0:Ruw +,b꩘baȍba*ͲUg I*9t"cL2_@ˌd QqtoaHؓ}Xa7Ta7\e;"2$ˤ}6l#qP=,M?I_m A{*k!H_JQ({a|!mUNT!4⟟6jѨ?zN'lOG/||rB:#L8o$v΋D1AzSXۮR3{vC^:_mO=C/L6 <GIs_ht6D?(ZI%I~ʩP0 ,U&ij9gkm7Y `kz5YqBeYyȢ-{h 6N.HgUI7MvB $NCZhsHiik:.+Q`(8(M9 JyS<{mf_,־NGzi'VkЋ' okST:5ny:kЋN,ôCjINgKPgy.TqsFyi`5/Z7ᙧ`i,.Tqs$G9ovn(#ǯ"=u/sq)P`Z8CrA +kQH74t4'I^Fڪ (c1Em-G!J}^6$#mxTr'K=-UGIujΞO/-Du n5oLr=%O?ւue_@XKubD~z_/; ~'t)zV]Ziizm?"?"u{(A@KG֖k8#kAb`~"O,| ' nZ?/:I$_u*ޱkK ^fH9V?<1Hr +yKᅦM0^G(aׄhKҬ_~V:K_nzT!$ +_5_"X'"a0Hx?:ۣ K*_!aYGr>LI0},FOg6K L!UF?=Tߺ>ߺ}֖ P?IzD+KKL-z]:|~0Zo%iRm/g^f&":XJۤ5ZMmB.B[ץ +j?*{KjkTUl]$I|?$bvb*g@i}v6~yCmX0~ICm}Ki`ح/!6K!AwuIxo%GaH3<:zM[~A("Ji: aM㤾oI|| 0Gi7KI0ӥiApPb"?iXK ߠIP Bb+i6l4o&#K`T$|J$ijvki7$%&_a\8 A-DŽ F$-! + IׄQ'JFK%7.H !K]~AA4+i I[,t~ZL`E D2V0o8-'&OT K? #j^Zd~a& 'a)@q ~ [AaA"v&Ka. :A& (tLAPEO h5U +B~  ^:B׍$T g +]$T MK GB;CI  +#0Ba! FR!UBA#ЈGM%"|ER 0j+HK"14@<" u uϢ ld>61*w ["2 3p欋im0e{*IA[Qh6l]0e`HL7N]‹eQTZ +H U9 + +aaH7\4kK;pê @ 86WjD__l!H[|Hge8WҪ?[b}#M3#MsCVE9c=ypɅql3-(տ./T@KO_@O<SֺL1Em-G!6"?) D}-/CU QΞO/-Du+Ch~ "QA^:2D%?#a2i_#G-/]-L:I-r"4?ZH99i&+XX"pϢXbgzEZzŭ.#. y^߄u~Z3JCq$}~F/4$FK_nzT!$ +]_8@\B ]uZL=.k@O>|,aIu_tHGR\2~S$t"?/!_b_ D~~3^&ŘƵYk| a_EF}~/~\3X疟"?:D{0^V"?T:鄺$/K3QAxZQ߂A&' Ik/"kʡOܑk3I@&WKuTpU^G _?aA$Btqerzˊ}cb>G^{(㔓p _ %${pj W) +1xUmDaC@:ŝ$x_jHkޓxqI-rF3y _龶lWA(m (ryO Tz=-O&[_-m %Iۤ6_'a@vbi6ޖ Mm/ ao-[@&K .#JX`b+i64#K| . zWa5TAB DK-:A HAal/jQ'JF VI[><" \I[,t)& %- I SծFJ'pp,1 iV@H Li/K> д?[Hqpa 2I*aWIT!APa! F(DDDDDDPQj+Ƒ6Gb +򨥺`AN򔌄%c4B"c:lZDYvc(Ȯvg؃a@μA=s̤QA֎2*l2~L  +{ a8e^E46m3Z5 .UA0\^F eػ`ȐnB&:Ϩ::m+^mL0 9!Ɨ[jC 1sIB _V\fh$p8 +KDA0]$hh.auL6vȨGMS#!/"חۦQXF\-a {Ytz/$_:4\' p5^ʚ?um<~_D]uޘ4q2R0Kq?y1ۭ>&j6O"Ȑm19!I>;Du\tt:  y]>:Qt)TvQ 6h__?gPGReijC򅤒^?0]--W{I8A6M5k^! +q I?I!?6) DrDj,z 6x"΃WFнBI@1փUk e|2]--.a)_ Gh?.z_B꒲2Th__ǶTgzi'Vռ +C[~hk?]6dziŐBP5).g׶**AHO/N`5,y(c85Κu[AK89#Ӝ ^G Oi%t"=`hE|>98({+SqYP~-=~_O_O>__'0y뎘c?d@mcO4tcZmCdG/J5zj=-U:5kh:tRm#죯(ˆSDmz?lez^Ǧy}tWL n/KgYFH((<҈y;HR-5ƿ/(+KKKno"?9 } 5# ~Z_[k82ZH:Ii&+XX"[k2_# nB^O +DU/Ћ$ᆒ_uFMXoy.!>&I u?om&{=@IK m_^ &8UPr5hsI$Ώe*z:A }/_^Jt}\Rᷥ.+)L#gfiCI omt o/KסY#ĝi>_ͬs#_FyitHtz]Q9t0&_oߜV0G"ς|> xz P_^=5=tv?5 r8pKQ-H~o\%8*gOe'N":"I~ GIxʾ?x_Mq(+KKKn[R_#J~ZH99i&+XX"q<"DMa9΄fj- %kCy'8ylq"K$OyU23a5z%*1|q"0*ZuhKҡ %~TG?I5/?/믊atX_DiD _8Nh> +Z֖H_A0$_9J~GEd>K"/9Ώ(_cZ,5L0ȯ" #>_OeV4 [A_"=l/+Apժ_~f ĺҍ&& 48lK\uֵ=H*Ez?rE|&_ /\U/}#?F~I6k]2/ײq9I? ,B @PI[K(?E ס^_( HUTc_;:?AXH񭾿ՋK:-/A~9[yA~:Mm/4AsGWT֗ǥ@A_e<Ϥ?$?O_KߏOKa7#ĻI?~K3 +om-B1XN~$0#;~/ >i6ޖ Mm/_|x?٪o>Ja# GF#!W `m&]ׄ\?(~`(~=+*i MxzVFAfE:T]l44. ą i6OK( TxI %=ta"'PɃVZMeYlɃJAcI0a.qnZNM:B ,/\5P\8@m0 ׊;  %B@ͯkkB)`ªDHqpa 2IPR 2@DhRDDDDDDDEg#dWO4eZ-\ aIKuam+!2[!16FѩZ(B)gdB"#Kgu#FEs>Ӝ7 (pe6' ] pXg5pl8pi);`6? PVCl /.I ALp!;5q{x&Űmm#!JH \*D'f.2$&Plag>ԓ9[jPb.LyT}úêMhl&Q 4RSQh0#NȏȭnGS꾶KCtJ \6V8t:UT2Aqe| NeMSi/CEC-?#Z]DHgBL&{y bbapPĽ/c?[b}P󜢇鲼(WEǑ3O"Ӓ~}dk85Κu[AK89uD{$|>98o?u V^ʡ9B?f \^?H▞u/}O!z\tQ#n)>N?%cs?y0 k\-&WSK߮yƣݕYOZ_\h:tR5or=b~<_/]$㮓*G@;IR3׏gHIW_(Mq(+KK7D}A<>}/} ~vri:/_Ig'0;],EHK:ɔ'Y>kۣNut%4HUoX}M0K/uU^(<%Ώ"ֿ:_~Z3ב5t/ ^W[+ +l?1|q"0*ZuhKүY  4{֖_'I2)/?/믊at; Fi\9rՔ?[GcooK _^ &8■\6i| + `k A-i'*Xa.x< 1灥!KKZ`vӌH'^< /4+i ةd~AX13DȓTH$ ,-z0vI[,t)& %-  h%׃PZA/@@4$A-..P} `AkaGMc!O M{BAHQU +*Y:~L,E + \(!HE!APa!ADDhDDD*0"-#O#Teȋ"μA&HF;t0^yR%ax3Vͦl ,h' ;ʭE 3d2aqemV*oJ!}tK$- +ߤpKҪ/QJi~AzS#i/ >)_QO(ZI%Ik$$a)duIU"OHzOͯHxi_΃ƨZ >h}_^$јkA1*gE,2Ҵ?j~8Z4_rTpqd2'(mNR҇0)^fzסY#0ω:A +Zy65Ϭ׈?i>].:HNsטg +kɅVy|>hqꖔjߥ ?(a-H}S]%d?o:aO]& H6[ۄG_(f8?) D}-/CO/~t8KuzL.5?AI}#a-_Kn HFjDK}+KKKnzuD_ZDiBKA1_z]~4u^$룪=/ߏGUxa/3TKi /Kb//!5q"癈[^! %~TGk@z($}z,#@z^I+8AcVQ&\GQƖ:GK\G!aYF4"?A:\9)?pRK~AM*=$_ CgKĎqk bG@8aE~i׭A\UnjAbZ~h ~#DeV Mh.#- Ikr i-%!z^V?ŵ_6>IeZeqT^GYT{?z~`4T> =H$eqT^GYkWA\ WFjF9WAi +ֵ+V?_Nyα#A_/@PI[z童 #//e)B|B +~zZKA%AX:ŝ/~0ZMi_I +V kKξO)~{o5G?$?It A'm)z[~~>_)xo%Gv R3/&V_wh*V~$0#;K 1xA/>{K#bAl/-|x?J| 0Gi7&ob>0*4#K04II/~x R /Kߩ@C*i MxxA:PJ0 =BA,fE=-:AI/c4. DŽ D (frpl1RdAB4fC`AckH-v*z0yŸAi8A6z&K Bh0@׃PX8A~@j 'a a0a( H % m HCX5 B?1@ (4 FjZtB A"4)DDDDDE"B"""ђ+ 4v$HI)n!Sæ笡P7\4:M$M4#NȌ~Eo. CۦQPXF - {Ytս?lp 3#Dޟ ,ײD (CJHl!H[+k}7W:zTPRfV*0(_ҧő/toI؟D a5O¥oK"A oK蓴Iڥ֙qSh5. Jwy]:у8.(I$76|CgJaJRIjC򅤒_ CZ^ I􍤺ZZ9gk">_[kœaROK!쩤=^HJy$tZh .='X Rt_:5$㶖I"u1e E5|7*=H!%6H t R]k9}e&%8530tq$^BJz6um֓iyZǓA^ֽ5F@gN,Ƃ6N>i%(֜_/y$^_ͬs5j_3pi,.Tqs2KSzVOe)8/'C R#Ӝu="BV+)}~serT5U9NBD_C&( P_ޤs'VQD>FگC1>\-&ŪG'KozJDKo?^G+\G*Vu?ZIZV":?#a45o~*?_"??WL0u$ n,y;I/#3/+KK0K1-5 +&oe( `x}_/_-/-{˕g'0;]^D>pfOAb`\";R+ nLtuY~ւ^fӭYT_Z\G,8Oҋ_NxaAuo !4dM:b/.kp"<ֺ}s#IVͯ 5m*|Mb%_^/:K_nzUЈI+8YlBI_@.i._xA& .q忍t #>h-}U_]G DYvPgWx@ +Z?p(AxH$K&/mW{ޞK_K.I Mׯ_5-}A>.ߥE  !ߥu_[{7yo " u* >Ckt$ȖWKm{KKHD4)#"@txIi~Ek⵭ttk_ A+ kئ+b AQc_9 _mߥ}\$&IB 1^A"A 5 BPW G_z|B +m?F?=S~!*Mmii ~/ץ|~0RqΑcנJDt-}I} P<^F3y ~@5⻏A"~uA'K +?=ʙ_]G6?-SKeAryO!6K!AwuIi~?KҞA!׎fv ASI?oAȆi!A{_&PI/a; I-#; #;im iοKoI+^_ Mڿ B KnVK_ mo%z_~o>JtW#H DvpPb":Wֿt7Ia!18_AzMzM[|{Ai7K` P+K," SSմt ioK :*Inb a5 WH'I?Iza( OK( %5KҟXA:P%J4A'J IF vLA75@z%d40a.qn_^Atc y pnH,D @- k %`AkaGo!/&K 0&^QB) AK#CXDtIx H %BU$e7Y:hE$aPЊB"ArLv!@DhBЈ."CAЈD幄AQTv*dA]Z-Dax3Gq J5la0M8pe6']CMi(CavÆV*E6 a"mL6B(5 L&/e0tպu\*y[-)R`p:Ruw +.As ՗Abg=kmJ \]$hh.a?n ++ZS։ AB%&|]$hh.az c2Um(}Tˤ6#0oK; :s.oOW-uMiB}t@"/}t@^!nC*ޗ8߽KmtJzT7?FoKNߥ\i}EvQ)t?K)_PK6WҍMwU-$􍤿I_2:*'$='׿H/fa)^!#zIIIް1փtz>s/PD d5_^(_[^$јkA1*gZ\?]RVSʙ#4:Fs]qKiZ.+)L|uנҞmǭziŒ8gP&uizסY#Og#fE}z]Q9t0ω:]s]$^.Tqs$G93 5Z{*D_oߜ@ _DQH^?Iub@!"iGB"=:M>X}O]&Քwk]/&Ko[p(ծl<χZ_/!__Z_^Z_ZC~/!_3 umĎq /3 ?bBZ/H a_EF}~=BG[G4?"?sS&Pz_疟D G0^V"?Rްt/jl| AˤK.A~A&' IkRAygGKo =H$eqT^GYYeP A~/L* >tu?@_{A$Bt}h/_Kʼ_A%A$Btt z$ V?_N;/@PI[zN?^:_A!UQWK$/{AB^(+|B +~zZ/~0Z뭵%F_֩/5_ +/.(}r_ +/:<i74_ +?=A%O)XA}lA%O)&O4K=_o A.OKb>t_%o%Gv R3/үk7N R3/4z$@vb WA/>{K˯- A/-_ޗ_~[xA(aoKk0'OK_ % 0MIt?-IwI5D`]_Z &ooKåXEۥԠ!4m&"Q ?A0](J/A ޗ T 43M"x@B ҆g*Qa_f^tJ_^ +Q'JF u=]RI.!tb[a" $D!0lk`M( qnZNM:B R A(@H Li/h1 # A2! "v&K҂ ^j0A5bAPi/khv ,C8  _ ! PB#B5aH*@DhRD DDDDF""""""((:dT̑WJGe*;Rv%n:A +0} + k*30!p"ϵGe:FOD _2*4l2~Ad6 ]&,8vI]CM5"u6qm6.($8aU +/o&$uHPU aҨL4Ee a\e;"?"חd`?LM (C :Ytfפf GVg1v֛AeM$ +)_آ9 i;l o_a5P;$RlR& =$Q&ʨR蓴IiW6:n=>}Wn^j CINX]AA*6~9>"bᆂ}GJߔ-$%GE |Ai'&rkU_R}$$$uS?om= RttϬhu&/PD_gQ&z_)_\5ӜZqyĕ_9 J4p4kDo0 gI:N}Qk\5.^Y)eTl4&t>?_y i>#?PŒӑ2AK89I;#?a"?u#X5l1{|>緤죜sQZ=tJLZMנduv>7 ,\0ſQ%oJ:S &KQ5W!_߮yƯIxeVj(I-#9f"q^Ga5op&7#_a&UL)4λZd/r0"?aTҴQT@*$wP' +?mWmqz["ŕ_SX '#GUc^fhȝԽ/o/E50 5XU:FtAaf"K__8Aiz ^G(aS~H}gJ5_h chKң0VVfK{K*#EpJ3eNuFk{i7z]$,Fz}tZQYGW' Y9'IlM9VP6s^LLKQ 8+PA7fa(M z0qMM4d"!\ a P&I/IBL8 M AA AAT 4!@I,$A9+^`>Ⴏa D  A3 A6?IxA3Y:X(JjA?H&0$|ު$ЈР""""""""""" +&Y‘>d #.DYE&ř3>JL 3<#R"em +myRȌEMC;ȯgk;0g^ &uE" 䡰d5$L6ÆlP2(pU(3l2~0E46m96& *Ϩ8m â 6eBp 2euEt@aA0N[PNEuꎠ[w\:A0}In$ʰ3JX`r-IOZ$\$ɶԠ0F7:8st*m20Eo.vKV*(}Tˤ0֝OA%ᇤ + SP_^ʚT$~WUGNO5&/Nu(_U^IKB_?FoK?~R_n=Vq Sh2!21B:.:!mƿ&yNuM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^\utGEkS_:\NMs{I8A6փ O^|ΩkYFʵz #@$I?k5IlT5Imx AzG/t $:3 h?pkhZLX0 t_AWj~8Z4_.+)L)eTl4BPtT[eWi'V?Iմq恎-(~'^mǭziŒ8}dgi_~k< ĝ:c5b?kO/f"uG1Dzs?Y_+[KʀjBWj0#|#=Rҍ[*e ?(aouή ߤz7 0I4"q^./N6j9_MHKK퓫\i:_[p,L+-r}W _:kYoZ͌Z_ n޿L n/RpU6 zHU9~'t)a#\ +J!xV_,Y^Kg(-{ר^oK\H(Om׾&+XX"rZK 襂(uIFrr{],`[MD`[Xbg99N:ŭ.#. yFR//4m0wL0kaZx3[׶b/OyU2e+3_>e)-$(}gLׯ#k0"U|Mb%9$!g4P*#t/_!.)TBa־Y  4EpIz4"?>ʝ=#atX_w:@^:KeRizuK] ǠD* m.z#`J~/'4_SK.b[zu}/a49 <:ᴒk-_ }/̓Xޑ a@z^ ߚ Kk:Q 2+Hϼ/#?|$f#ZPUAwOZ4nAbZ*5?l/+ApկzU1^5 [\K&y#n. A&' Ik_Ab}/ OzZOJ+KKA)ZiDkʡgCA E+:ϯYKޖz[^% KHD)rl|_{A$Bt~.yռ}- TGAz[+S- TGAzXXנu9?XAZAީ/uA'Kǎ(9<}-Iwm㙦z] a4(./K!AwuIz[~~?ZJz A]UP_l? 7B۴bݤwhߠI; 1H/KaW]_ %֖0]R % NuH/K I&It KnV+΀[~:)/>Ja#a8 `& Cz$-& B a:%-"#?! AlMH0tVaE#bn0AЧ"$0A9$-F :J SIoKtAF&q'jI9:5\T1A`@[Ko΂ig'Fki\A:PJ7(| eV& A[NR Ack& C`ppl1jA9VׄЄ`| @Ab 4 K l AA AD$L& 4A6?,/pA5*i"8";CX5^A A|ުFD +)T]%PhD + F(DDDDDPQj-ң!2)GihJёJ;R2גv"`DUC;ȷgclP• +S(\r U ad (aÄM2[iâid2:l6Ula8e^E4'eET* Tvjl"!Eě @M_4 : TvjdiT*AHnB%tpͲIg Jڒ Ze sIB ^g0v\fh(q4M֔e(02a{kS##k˂LP(C :1oa26p3KK @ 83(.nAD{*kϯ)y]E=$~e kK {?I eqVtmoL&{h&q/dggʴ'Otal?FKN'k$;L)tD|d8 wI7_AzS?}xAA@!y%062qJ_ 4wqJҍMwͫI7}--Ro{I8A6kΫ\%=za +q I?I/_E~T&ҿAοAο4}Bm-/PDF9gAκZZ])__r?%k'YBɅ]49 JI:_8)Dcz'^y(a?IB,yŒAQ졺y6EϮ/?PŐ`ӧpi֞_ͬs뾲3,.Tqs2KuX/|Pyer9sYsrP~s](տ&1KO_@/}>7dk뎘b?d@mu(39s\tz71Em-G|ZD)= ~j9_뿿\uݕY_~:8.tR%bMk62zG^Dn޿H㮓*G޿]} +J_o6/K@/J-RP8Q~=?-/?.V#_^҄3Fbe"`[ _]Vi[g/υthgHrr1{tuY5^֫ޱkK㥜IM0oob-/j^z.ߦ8_ _k]>b?|Mbh [_Na !g*֥_^h-}4V_"aߚ*?玴}a#6Tq>D_!?_a= m*ίk8NhrՔ/'4_D-IL)Sim=?Zl[i7ry'_p _ %/s$ ւ@$+\"/ #/Xe|B +/5,$mo/AAXՔGKk ttSV/Fj@_Dt-}InaA 9 @2\6/_Ht5\} =R[ &QPasal)2t_8@ޗAPg PBl +CBn6A}=_m&AiSKaxo%GJzi!ASK`m[ Ml >u0ҵޗ?B1XN~$?֖0 ,R}va0k1_WlaɽRܬ BLtz[:J~°Ф[u:~o>J%-"#$b&&DBpTcH_W `~"5$0c _AFR.`OԠ!0D  SSմ1AH& I?IiAׄ9:5^2}"_8yB ("x_DŽ Ga.rA KvL l/A74bAkAt3ɃeyŸA~|`4t@e jm AkσP_Xca ; y8"I٘m~H) A)eV$`( {G,N !bbY:PB A0RX(JjB"ArvDDDDDDDPB""41mQD:g-f Pan5٫!w +-Ö [{ 3OeOoO[(Q +IޗD?0g #i/='נDN2~Pp?qd4D9n]sHNsטe)8 ߜ P_0-HP_q1-_뎖_ SfAuK"ҭ/AgWDp/~u\~U" #>8 MO=BG;UlK_aRAyg#kWӣZ)מg%nE0@QT*#CLN~=SZ^+ryO-1] R3/KomGi7mK$M?$I/,0c-i ҆g*Q0t u=P!I 5 % + A B#B."#Qh0-Մ; +v%j2*YJL#<@f:(}Cel 9:p";ȶUQ `҇lPM8pa LL ImqFm &U + +eE e(M„0lZu +)h֛*6VYP$ $flOy&y=AH2a~*9-ODԯ ti3mO1gmZZ6V8d0P\ sa~3I@P\ a }FBt4\ BoD_S]Da: + 6Zm%ͭ(4#g&]$jPOR#a _oNS8؋O:{8ԁHy6p)|BtЇ9 ->;D{Z|WZgUD1M@?sv }ѧFz?${N~8~'=<Gkei&/!? D]CKg"֛ۤ.q=lNU?$7y^N_=E4q &pM{h?_3~5ImˆQޖy%s%i{^Miih1J_ `q?y|N@Ax_"^؜g驚nm נYx6u +@ >O8Fz_hzW*ZZNA5 ]c7T8P"/t/T+Sai/d ɅX5l!Ak_c@50 k>Ӑ$҅x>-P"?F@SPgWe} +^G+VIyN/i7uX.dpez0 kOn+_(3+ ~Dl6_ +Ë#Z|+-b>#|r@E?}!@a49 =}v~?=I)zu_^?۪EВloߚ z[}z Om_8l_A+O]tKOv!z_KH^?Z _/oqoIozWNNGOzh//KA)Z|_? a_D{BO4Km[_K!??D]cʲ]x@mQ_ւ[b/4- TGAy_Aos\RKm9Σ~rAvZ SZZ]z_?K_uN=~?A=/ Mk륥,$moXj@) /5 " Fq,% ă^ȪKzׯP5$_㑟_% J!y uA'.z_]l7xG:,KK$XA + ?m-ʿ޿/?! !imMK_zSqAuZ[pM*@X KnV-O&/_i/I1A(Al1ޒ c~}ADqzǢBE^DjI-êXE۞C$hJ=~AN#=[O ?a?^1A&a.r$6R__08/L YѬ56ta#@P85Aa:It .W`+K0iR9ZbK8 )2 AΡ<$á93h1&)-X :J`o=@m%Xh4 ?KŠ,/AA /pX/tUbFD $fARRHZ8TLj5*4t8)Q)uI +B#4&ISB8!*5(!ЈDFDDDDF""?twF"wFևI3\0꾶MCea2AqegPP\ 27-"Z}7t(mB2U7tPFGQ) {a|!l*΂M_鐠h6nn8nRM_zO8$x[ѨǺ}/d\/^5$#RZwy]>:G0gY}-[&&/e.ME Ո I$R#i/eTK'I6E:ҽ/{"Cͯo8C/?6#I/rBS#kI?m-/PDF9gAο( h?_(Dm#@IH}"VA_#k\9(0 g7.+ Lzm_AƓZ!t4`bE_^mjjNyZ"לYmƜY iI-2t*hT_ + BP'_ok55j_3pi,.Tqs2K>:|)Nҟ7]!Ms].asq*PT8*9 O_@/|(a^QW}'9B,7ߜIX5'0 k?d@m3c1Em-G|ZD)=)mBti >qU8o%L1])S(3/ePr}(eVj._:{)?t~Kn~~T2N_KIkzK\_h+]&U[ )~*JpD]\_qZVajxm13Du4DtZOǂ#ZOtS.V#y$4t{(?Q)Ec? aKRT'.>z_(ug&UŽb֗K9ΓtuY]~58g?Za|2#""~fzI%C\bz_v\S΁m5f#9/XJF` $zh%"=izMKok]iK8%gPk=/JZyBI_20_Ŕ1^?~umaE~}Ďg؅JEU $ ]o_너./"?]G DYvPg'x@ +ZeV#3f2%6AkOD}\_/z[֖k~%֔i76>Ij4 Ik:LXI]{U^/K >oߋA E?=RWKuCײAAB?TZA0WKne}<KIJ"Aֵ+ѭV}WA]e:t]x@AKto?^߮Xk$s? OLZ_ NG_z|B +/~z`D0W6 ++-2<ԁ Ukejw84[(\KE$/JB.B[z_? ΂zWr$"?C_Z &T΀K<Ϭ?$ +?=?PimR/@KM N3Ml;o AOW"Iil?G-?.r>_oKe_ЌVߠI; R3/KoKm/ D{kV+J<- ]7_o%z_~o>J[a# _ㄯ7/o Bb+q$Ml4/& Uu~һIq vk|D?Ri7 8Al5IxyX͆a{ZI$jK G^L"x_DŽ Ga.rA ҆i*Q,08[,>h,as )L˜N3L"MyFDeiyUdB"&2.  0l 6pa lPI`dNaٴe(l6l*,v&8au5p7uLl0B*DkBn:AIf *mpWqwUL4O& 6,a6~]$hQiBA)7£S։ +/PoaPQʶ0a"۟C謸&O s.:@ou6#0n|huIys +hpնPu c2: + 6ZmvoY\U[ͭzu__k]$̭U=6(DaphNj1qű~NF{8؋_4Aޗe Bt:쎍9{ߥӜ}_Y +ZL?K޲_i~PK!u5/J55QEs?FA#i(u0 ab~_ /u񇿜H/^NxJzT4ǤW5DuOнBIˆQf`SӯszY(}B i$$.+5.+S4)p4__},/RdIS,u_/zfk,<:_C`2gBלYx6u +@0'[~hpbsN/g;:!].:eg5tK#VtI+=ѫsC7~JG9uΚŒӐy^"/t/T2aDE}j["^HB 5Ce +U9ۊϥ&ŪGP驀k],6s@50 kSI/H0J%[:eqf:g%8lᩲh:u#a^F.*%i{G +Knh8;'W5k ZL=$j>T2=_d( KzS'@먊D~zpVajߠ#GZ/AG$#5دD[uy$PD_n{(?Q]kiuײ<־DiBt]i_8wZ?g9BI J/:YtPXbgւ ~aה_,FkFNv}}s#zSTOϥ#zYl_]/| I|ד_WC9_aoF*kk%א@|2M~ KbJKG[u!A.!WY 2D|4KH"=h/~^ x_|+/k^ r@_ +Ë#Z_XХPiu?Z_uEd?X۞p/=}v~?!:I?8?pVu _A\%}/?mCָJ3_u I|l)ʮt>@ +Zt֢ORׯ?_2|0H$9߯Ώ@$]z[RK K3K/0ge$Al2Iu/_-,i2}~WHdK+zzүۭMQXDz^.Z J"URU_頂V!Zz$s\RKu6:̓XA ZHW-)iVct[(?CY. Umz_(><ԁ/R_Jǚ?BgGA jsKj?*^B,"|]=_k(_A"~\~B*x0~ICKA}/eKA?mzHAZ~A("=\i6z_M~?5ձAȆ~_bӯ_\7Ny0/ziuh  R3]󩅥K)mZZtߥAm/8;מ_cK5Ko&'OzV @&9"=a+ $萿- N__"0cI6hO} tHI}%S%MOV!4w('pz=+F H6eL=+åak hSTSa%a@^ ƨHA s~&IyB .g.l4$ AC =&odPd0jl5=?FoKs {k#[I~~~}ѧFz쎍:3)t*?ir+57IG[h$ސ1 !b򅤒^?g^F:FA7C0釷C=$$/sk_cI d5J/c/Hޖy%sz'F`c!񮎐,5_},/RdIS,N@A?yhg?H!uIYO*g}b:E~DZq_g >҇0<)>}yő^Zqd?]:j=*bO:kV+=Mѫ[_AK89#Ӝ5%te_m3PC xAi#EɄ:FjߎEנ 5sqWi:EᇪV.T5(=(_g#O]&/jI4~i{G +Knh8;f /%zΗ'KKn~ÏKz#_W^ҟ98*]DT}#ֽ&Vat'JI}#a-_9zGIPg }Z^ޗ(Pkn*W}#5B0KJ۫J/ 3P*N+^VzM.fײ "4?5z +>yP'_AuzZKg9YCa%t"֗_z__ JY>~}/t<)9/f"oz. yVa //3MI+/*^&_RIkzT!$ +_ב5"=h/~+рk]Gϫ"?#cL=.q֖EXХPiu?Z\r@ +ËXƽ/_~LIeZ{>[ $g%RkifICBO<_ /\U/}|?}{_ZUkh V^>1ͯJ"*mQM+ZLF_Koҽ- KKA0?9k$b_K_u=Vg9@PI[l[x'Z + ?B UQ~?AP A!UQTq%Ah Aiwm/ V=<ԁgG<ԁ(=V ++KHXHHk(_ky0~j?*֡-"ᰏ`I7h+iuh <[)=/ (ryO %&T΀/o- Oo ulPA2!حK>tʏ߄J$H3<=ehP]+K$1Hu~TzC7N R3/MlJ1 KoM iyޖ/ )m}c֖Na o##_i"#)gi SIoKåmK`g.l4D$ AC =&o =a\K΂ia\cN39Rݔ Jz 2AW#Ndk~Eo. :p[6sʙ\(߶l2祕3kVW&ayeMyR} +͂~EXs`YPiΑdQ +L&Oa _a=Ӓ4?O~)7ׯ_DNDt\tt$ __Y +\CLۭGt?aWBu> CgJa\~DICo_zO􍤒MvKKA6{I:M88O0/aNeKeE4657_SޖzH(O`_Xi{h/?cq_8DxRбg9n?$俄GߨM0tHk|X=Ul /7便[l~P^:_G/^_O_$UY  2^~:Z (Kn.KzbDd aK' AK(?ƿylg?Koy um_N_,K8(=,}/"`+L?"?{DΡ?ο_㲧'Y?GB zF}˺렴ihe>SK]zZLzY "([xAl?^yi^JoK/egKzzV~|:Tk?ޗAΓ뷄e^mR@zV_Ua*_[oe_A_ t}EZ[xAm**ץm[T]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)bb AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiߧCY.=VrMEzc#K}hz/Lk_/A֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """kETvR0YKua),g5#U2'6eB}>Fgc2FEr DtȞt MΙ" g aÆ3E& l2l ϻa᳈ ]epe}`nI[m‡DOWLMwT +/n:ͲIg +lZ9Z|-(O +P0wFօG%)@7SIBE1DgZUM2P:wWs=u>P\0겄hm~\aeMqiv&(mI8]lpM5yBW!BKOā*ZT*gۭsKM2y;DiW6c"s}a:Q-v~8~'[רnmCgJaޖHE /Iޗ[HE%--Ai'Io~x@"FO${Ϫd?{7 +"R,aNi7M\ l4EƿK}"nIƾoI4֗beM!2Νp/1~,qK7(Ƞm_YG_/OtB05_ φ}@t@΍RH5qtB03^鐬陆tjG΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuXo(98 ]KQ9(C!!AD01쌏죜sRWsq1}OL1])S{*ӲGu 6/+8oSֺLNOKx<^⟏[~z[5k/qKICA?K_f_{]$E"?Jr=jst}t{@9zG_WwI[j)c-'3ӓN {#_:H-'% ?EPO_IR~qlRZ^<'i}h4S{*gTK}*a IiZ^J7y^0~b-TuY^D PbK^/K +Z?GUu$@^9"<)hX}M0b-/I`H%9}.^]n|XE4| -KҦr]]n|XPs_1/K׿ (c-/ $K"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:ttz#`Hy  Ii/5rՔ/렐@׮q_/CCpi'i HBIimZqyQi HBIimV/8 +?z7iZ" ?1k9Bκ"  Z!$S,WTO޹t &.==.҂/Ϫ#ڷ5?Ab-&Wut]7 Z:9=-[_egj NNGOKޖmR"WAc a/kzZMA/ʿV/KHD4L.#:/ʠ+m_.#:/ KoWۯbAZA + XbKm&ҽ A ߲mZ--.="Bp GoSץ>4NAzSjl;M~ K?MZZd{!KKL-u/_?I}iiȚ#ղ/_Dt-}]%; "ᰏcTԡ-"ᰏ$*1+vP"ᰏe Hl#s⿄uA'*K㜎tZLA9LUZ~9EʙAl)2tVBl +CBǝGHx}uc:ӭ N&CeiKe'렛BҖֺ --a&Yo׬tI+^#ZXA"Z[r i__7L>wKI~ B a`'$Jkt7W^KI#RIlx%:W%AJPһA PAl<\pk%>֒ $ \pkIZOI0c4+`H;&DF>_F Ȇ,>*<ϗ- +dF4A/h; +u 6 \ zXtM_ /??G&>[cMa_F5Co?_=!~6?ֈ F_zxto6Az7IkXH_q<~ 6$h I'$h In )@i/Itfת(MBJl2oR߄$c!H )1/n VQE$痤_A:E$VE$7Yf/ N4f+ӔsN-(~ufhG>WZr}i׵kӔsN/ 5 1HNsm,Il0"=9PAaDzsidpG  R#Ӝ!B`FGQ9(X( P^L5"jhP@jhP@@K=PC {*ӲG"]%ꗄ /B%[~C'K~"?ix.Kni%0tGFR~T[pca4 KPim#G)P%z2(ejӿKK3@ &0P%]%x[ ?ejMmTa" (2 ?QD_A (۫vQJ_lVzf> 0IO^sQ╠^Q9B`M╠^ KR+[[I~6]|%>BApKKM&l }&I., zM_r]U5)/ JIMU"=izuUFt/bJGiiNH6!$m$ߵ$:WKm+m:^8I=+m:vI=+m:ߎ\^VJ .K_9(l4AXa҆K _Piut$/H&3In_&M J &F}yNE:!A$Hϼ DA$?$i] #>a ^."$H$$a^a~ 0z@P# 3" NjtA l/p@|Oo 3J0geHdK+pj}{_T}W $g%RKD IeqT3 + Km +֬GgGGV!ZԧI  +ֵu X`k_--A&)+t3 1I[4mH$%n+uH$%n#T%xTad U_I^B UQഴ _Or: L1"/9U[H%Z~pG$O5UA5 ?Tz_ M%?ZXAseL W'h#A6AryM.5A0Σ<1AȆd O`A!7Li&ޭf"IE&ҡAƒwAA@?  R3 #;I| #; 6/`/pAm/ҿAA l_H Dv~ @&IHĩ(@A#A$M_I6oi{M0 it m&!m&^mF_B MkIo H6a~A:P^:xH浔A'J0sZFaP N7ǜA$ؓ_a} ~I8A7= po $ pn a0c0aC^B a0zL!xp@   L_GC0@ALPk㰈 A v0@Af2B\` *hz*@hRT$ I A%lHAu +"?TDH#%drTJV-"I3pιUDmA~6d6pQӜhen(8pο4wdl$6v,g\ieZ g6eB6;a6~aNt(LZmޓgt24)PWy[3@?3<oa"@jdL"#EauP*& f5 c2H#Dޟ+SΩVqe~f"6B|8"0#A&aaJ&~3+|~>!y\U[qNt!i3+|pM4qd0ϥY1> 6Ѩ~8 h|{%~FᰐaI$4ԍ&i0/QNGFTy$kYC$,$L?KphQ>)􍤿򅤒Mޟ➞fVzI ~KKA6o_q?OIz!@mdS#> гaB.=' &!%6H I"uzY1!@ eZʳreaz](BJl2iuPuSP/dIS9 J<- !{D}&H?zjӋzס >WBPJIZq<I[(71HNs"@ՠs_FoV{{/IbeCuS*Z$(aϽ=נ# In Ip/6( P_W1>Jd󐴉tϡǤZ=T#ޗL<}NHImU5kK ?A/l/xa +^jJKn$\ zZ]*]VR*GVN/ &\~CK8j@]2 ?QD_kLIJ-R˃R4ʙVB AQ5WzAZhQ╠^3^ fײeÔ&ߥK KNtMAu(OYCa%t#6ߥy/Au!]/ JUf#tookUB#ֺ +M[gK":kZZS&3MI+G^=/Ji/Z&{~,Isw DvI$fWIXn,p|zV uIB#cqbZt\"<TWI~>GJ .Ҳ-L{fA>.ثHl| AVz^ԑ_ A>.ڤG~JF{"Y\U/&C[x_A/a.M|^{B[I$HdK+ڶ%]:?? +ֿ]iV1ͯJ" FA0BbA }}6A&)+u@PK_[aA%A 5^ UGImHU~?A]p~?_hD Uiڧr9Uo(=/5 !n %MA*qPM$O4I-5Z}gGҴ$O4T#A0-[x0~ICKKKIW'!6}/AȆi m/~A("<Qf~Ai%GHPA2!_+gz_Q 'a=R!NuH #;~:_ _ /-Jo/gY_RAH Dvoimc տT0A oXA_I6n ,-8_Kߏo Iz]H6a$J CҵIR x A$I`G5jA:PsĤXȉx(ai0'.%0 (oI.! + `I ,fW[r~ RGA\;xA '&m  6 Jj@Ko0?TAAL& -V$`((^; H ʭ$-Bj WGXPXJ)g AUx"# D !ڪhG+HDi!#B A)DDDE""4""""Qd*E%:2Em-Մ; dB"ȉGTA#8g\6̃لqjP)l0:k; dppl2Y6FmL;LNL^E4l2CmLFݦٴalLHh/ԁ0 AøDO-:MӨP2=izMPup>쬢%lΜ6}Am&Huj60{ >S"I/ tU UTh(P}MzAC|e;5XF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F >QVݎ2GW1~Z YPigR~3$|l*΂M߶RV OO9a~FtqũC?qO&$mxN1}v;Mwѯ:i0/Q#N?tkIy'ҪJ}WD?zxto6I7:L_CzDF FZ!M$?!_q?OIz!6Ha#@\zOBd4GD7 )kнBI$Qpo5[*=P d50W(leZ(MժyW*B!uI[G~|Ey:dʹS"\Ey}נWZr}i=kЋg/8_UЧ-5KsN.R% +}BJP 7t R#Ӝ_Ƞ5h"uG1ѫ[^6 +?b/egusښ$(aϴ_E撥‚ 5W:רd󐴉tϡZ=T#ޖ@HIm=TZR5kH鱰T[pIgKI䎛?@ZۄGZ +X &0P%j +L5:T4~h=-,@Í___ԃ0D[uy2 + !_ZP5 +0_} _ZJDuabm 8*LW5{(PF&,aZh,WײG8Kf>7[8}&I.5 TkKՔ&_K9I.iiAu_t$.}?uh&m*eVZOy"mͮ 먆iVr:_ km$#P4Vl=}+ZZS#4؄kQPY/oJa0HPD|,t?X>B~ޗI_Vi|t+%yaXqk0҆KƿҿoKl5i(ng ۞=:ǯLOn_~ 0D  &F}}9)I]l< a_Em_ D6 #> oK_Ώ$a_'MG l/+A/_C  |=}H_Ⳣ_ )<$`ei[x Mh* _> "A h.bM6TF{"q\U/&C[x_A/a.MUI#=8*A_VvA+ kA%I6c-/Ώ +֨?/6 ikg}bB…B(^F2"8A,(#BV D !ڪhG)HDDz$@aB7ЈG-t:_V7IMant :LEZ   PH>(:rhUemb85!?|az)Ed*ED-"**RXC D"(QN3UQPexdDJ8gy8*8g_pp46v,dVd"23Fim0wRl2(D#:FbӤΈӆDt gN>U27<(D#:FͲݗAYI$AODȘ42OCԘh(tK\Zu);h.F2ȃl#q_QA&Z.uL@ACF?AJ&RG:JL_a++kwT RG:JL\&M~qm_ /|{oսM aI$5o?UGޝOUt#8I~nmzH/A#i/le6Ѣ8. 􍤺ZZ O?$Iz{6K.='_ǽ">$c!c[jf G d5BԳD.qEj('uh"TAkӔsN/AD/83YЧ%~^ZqK, #Y3@9g$ ]NY.-idpG  R#Ӝԝu|^ʡ8],ʳB 5=P"_gUj(azHImN9zL\x>-P"?k^=$K_\[4B/*!._Kn$ K*]VRʯ0W~|~]%x[u mz B<֙BʫZu(5}jp|[y> mz B +DtZ_╠^3^+OײG8Kxi~4 KR+I/Nt/3^a@>"?K9ή@K- akl  "֓iV*Իg?#6℁Z^i6oIa$#J=ֿeşOd.#4؄K5[l1iNG!?o_T>8AszV u_IW J .Ҳ-z k+Ih0@Hx =':+X%W] D ץ] #>>莶eqa_֡] #>w:?$a_'MG gEi%^$ak]%^5VA lb":Ko_A |6]Kԧ$ȖWK GA_J}IeqTV/A+ kA%#Q5iiuV!ZױLR _Anx$b_[I-Yus\G?.$b]PùD҈A +?gKo<._+ _.?ǚ?v?-gX$q/~ Mi/ i/I]/}]O֖A"~z+a[p3Iw O)Bl zT( M?m$_ƺ]uPdCI;jA AFwimr_KxK@]6/gүA&_cI&ީ{zI` _=&# mm-:I I-&# oXAL5H]$IKA8NGMM=-& .M,"~zBIl=1xb3մb Ί^ZLia߆ސA& $t$@#ZNH4AAuqivLIZh}*} B᷶a49IiH0鋯[糠q'hy>i0-)JWMn 'ٕ/՞AHKm&վoa#@\zOKlJy$tC״%BJl2KmjZbmKK_"dIS/Ih_Nqנƌץ~r}iťnt) H$J8*, :~P>&/J-+e1lԽuwssq +0ת*qﺈ>c}CI.KA@mA?T[pI/I{*VR7\"h@U ȴz~n=uPNhQD^F*`^p#VSC+M0eؤR+7)a0C_:WNrv#_M_ | PY"}v鿜>i6oxA_ 0ɅafWϧ(l?_Ҽ|Z[i[l1/$Fa]%i8 //E* "3Ք[ "I % }/H{O Z!A$HϽ/)Po*JaǧH$ꗲ%[utSS t=~'K _I#=,*CFokV?--J+Z?7Ԗ" p_Ao Kl IJ `&5A~ U "޿#$/e mk"HZ_?\6 M$- + +r9i2t+u}$GHxb $륚Y+&(:[( Hb-A8o +_  X @Vg?٨Z\BoISXAI6`kS_T!m&^mG:+ZX$\4oI/^L߂N68?ʖVt BF$ c{ x plI1U0&4jm +uBѠXdGn#-T}|>$n!P?%~KͲŰD{$"/f""? ,R2H"a4-΁B! I$46B#K>8`G&c 'ԵqD3UZZ a{Miu)6fapDzF'}wp@|GX) ~~#wLG}YfAG!Fi/C1DtDC0ላb#Rt21ek)%L 28"$5a N,^\N*:&A"71-ٴ=龜S yy^o}lC/B/yޚGEK48'̐N'AM~K۟Vh OcC(puoBn_6\˽o]vo@/J L*Zh@ij#I l\_jbAFGgo} B +endstream +endobj +18 0 obj <>stream +x+*T04U0B C=SSB!9WA?37T%_!+) H!$Ѕr\CN +endstream +endobj +19 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +20 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 92426/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:i J-6~ (ԘMHZE"2][_ղ'm$*:NW\zW&/`U}/;?~f5$p6BzKI&ڥkcѱKӬBn!7_Vf BhҴqi7KR̮mqKK򀡴b*C0 -Uv$I +^W/i(Ԡ/-az:{BT'ZzzD辰%^a$֟u +Tta!Kfn%io%KJi- ÿIi==R_kvC^I ð^nɟaAa%@܁AY Aaan""""""")Iz@~#X-A@TBm4K6B'́XXq-Մ; ;D$HΜ8g\ ; D!{<;/ÆuQ8,v 띔" $?Qpl8im0aݒ4laÃa4laÆ0-$m"}] 6"}]Ża."BͲ3 ZPoa 60{ 860{ 8e't#Ne?hA& +ŭ3$|{RG:JLİM?sa_J> 6)H0 aI$?_ ֓ҟT4ѭ0&F5o?phHk_~Z F_DGpA#i/8C~oj_*F$h IS6$h I_؛MqpIMCIzMǪ(MBJl2aJ~:">$Z]u_8_"dʹS/I8N~:JyW*sVE\#7Yf/:hY6P3^9?IT(֜_⮵Ӌ xzr}__!)zM)[(71HNsk[(71HNsidpG  }uߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%UO-":K`?@Xa -Du䎛 ?A[/T n^ 5KK4@c4'@,.3Nsg(GEi(P nB h0dXYYS(G ejamf9pjA B-x mz BW_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_I{qnr1m%AueIk6]zM6MAu41^f&/S9}.m*;CA7iV9/m6o,Z^i7^:i?_$xkZZS3MI+m$TXAq~ozr +^>z-ZM[l1ɀU$0|zV uI0U +oU Ii IW|tvPwAXa҆KBW6_"I % }/t A7O؎M2$M>?H&(CIz^D"!A$HϽBH" #>렒aWTzH OKI/eeLD]t$a`jZAL> +^$a#z:9=-H ˠ/, 0f0pfA4 \^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6SYȵ=s?e #^\ M7t_F V[8UW02@eMtI6 +3h߶6]L9Qh߶6տ~H5L&A<~+S<֜5S<7O {4?Mx_DNӒu\tt!&/:fqHtt~n  }@!y%0|J_K!3+ֈ-i7=&oK/Kz_փmvd? 6y$Hޒi~m +1}'&?6P/便_W]~1kD5CT4`u_Qq PeqO.qoltjGKL +"B4A>qYHѪINM! + 8RK/:6UgHBI5D?5jE=^AtUKHC>a樝j[~G! EpG89hE,3~#._|_}R(8U7ֈDڥ$1S=h>Ti9ᆺ_a5z~=-U֗:KȜKeVj?K~leNzT^^ǭNi?RUzjǮ/ ]} +JU$P Ai?C9_i tOq/n= 5# ҭM쩞t%IEU3 ~!ީ*O/怪G_Dn m$"<)hXGzD RD Pq_8DxRбD{GzD RD Pq@䴴׭z]7a 7[>,RM'h[}]/WuC~OM0$_Q W_]/t/?^G(aKߏe b @ߏ ?Ŕ1+]aK~Y  2!*/~J@\uF[ߏ+_cхt/I~v荂 0oAǜ/e?%ץC @Ք,hk}!θmK8( $A>Z[{:)zGk$PH + KKߚ uJh" ;*ru$ _O_3W wWTAh<}-&W%6Aiq~jޖ+]c n { Z\id~hdfSWIu]7$ ӥFޖkIJgK 6ZOJ+oe_AB?TZ_ tW֨ o j%i_$+YN AA}-]vEA]e:t_ + +  S1´ AQteBc OLZ^tA'e%RIteBk97 O4ւ@jl" +p}zXCMB]vx]\+^_?:5,$mo/^LlHQs-sa򪴴["5?(\k\id?[^?iDt-}]t1+㰺H<ULPpGK^aux(.PIKKV _>BA8&T΀ @?KMRhP]==# }+eTq6gIHxu#Q --IKTz[(BOZG+ $IN~#]7~VG/kok /!+ `x+o%~+% B a~~Uuot77]&KA!" Ԓ[a֓~I:W%A_Co7${A~L߃XA01RO#R]$1rA7L*H,G"H Lp, Ť d@!D1 a lZU^Ă08i"  AO H᠂`A0BB/ ) d`H~L-Hi-5)H&cQAЈDDF""?XDIe+̃Ev,Z)|2+漩Q:;)DviÃLp' 뒔BRKsRu3;}IÆuᝍ/5+ aQ t 2̓(xl2a%mL;nmL6d]Ԙ6 DmL:& {`Th2Al8Pi՝ƾȐQ7l:" UeBe' @"]]IMב%UTk 60a"DME$g;&s5[{ BA7 +M4Llu\0~,?RKRHzO!_='H-q>rkYeZmmM/I%IB}%D jY4IMC^׾qKh_u_T6E/C_D IS%HJ^Y_ڤ5)Ч/<K:v7:5I#եhJҦ!'^PM?5!SD$$g_-4W1IJ9:Z4UΚz\8ŒjH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*bC]'_' sWIs-)9 $C r@"Ј~\>(aɅZ zIP@`ղ]LZz_=h@g ~&ߒSqO8aY>m}ZDKoAʡ_iy'/Aҧ -DuPNۄG_6DpP4ɑJ?/҈Um]}&VNP +-_ IVM(  ᭽WZ[uZ^ޗ(Pnҥ־ƗҭM쩞t/+^SR+~t Ѣ"<)hXG ~U\%]aאE{h/6]|b_~m}]/MgŊI?便[B#0+G便[ֺ^A~iVK^,}<@ߏKW~,/Ŕ1!$"5 KbJ$>ߋ(c\B4^_:5>K ~(_Y^ZG-֕|St(oX?%CmI/X,hR(l4"Q-/KKȠ+^pu}v_KsD'\/ P^Q2RΟʜg]$@}oƂK%@_3P"? &F}E4"?:/6-&W%Al?5^恖Fe9A&_a n?t{+8I a˪ a˯_tAA3 _z_ t|9i7'-R'O-R_Ua3 +*w_B A][kDk)[z_h VJKKΈ${*NޒIOޒ_x IJNO֟_u㥶^XCMDAuIQW=/^]A +?: az["5?(.p;[zk?i}J.v: ;Aࢪd#`Ȓ~ߪh]Hk!l?Av㏐k[z^]'QAiuh =Dy/ /)b_VHbK_1|Go6_]6 }a+ uL(!?Atm-k ]pAl_AleBKo.4:io]p/ c,$iio  dD Մ0IiDBZQ吩Db; ^DJ^V-(8e' ιUDmA>K^3v$Wl0/ӆdJ6v,gTD#R`6im04kL H NFش6Rpك +a"7>Y[3@?3\RAPkoa"@jdL" & +NB%SY1oA#IMse8U#Dޟ OAAF/!F.*}>{Gt2RU70a?oޜ5#?G M 5OSL$mzH>;D K`($-/KeT}#[Iu^h76/BFm%>QEs?FA#i/Kt:_RC.='iO$uߤJ 4IMCLW^_-hAe $V"r-%Ly *q_}zKO,&LBN/Ao RR}i΅>}}Ȱ4HCU)E$G]"=9YVߠҡ)r:_tS/_Ks9txJrBI(|8 P^#AzYWB-=$( P_=Piﺿ%=K0,t}>tT"]%:"FV_SJt":#AT4:&[Z_D^XKue *xoJ4uK]}$/_5Ze:KZ^ޗ(Pknʚ#?J= 4GIw_h,WW?h,WKM.#1_uG QH +Z %M_g[a.I?便[Rk6omdӑt:jGA$HϾ6NR=뺺:? 57YO |=gE/ {KMxK <6]V%K/0geX[TPΓ~A60IeqTZV/A` +ZIwh Vׯ" z qK +u̓XA ]}z_]R_xTmސkˡ UGY5A11#m\R _{iu/@IuT& m-\ DS_Z 8e/K˵QA-KA?eO< `_Zm$_ ulPA2!ح-#xi|1Hm-  R3uү龸U_ / A-R8JWGi6A6ҰGi7ƁXAiiM_ 4 8zMAi7IR.ޓium&I'a=&A4a]^^LM)'J.x 9˛ 0AE 6A:PX- l.>2S.)0 Ae|8cJAA& I8A7ai2)m KK8$c JjĂ0H0` ֐0JO.0 K 8a H ʭ$-BjE!L` (XZ0ZCA␌$kA!HDDFkI@Dt %!BWdtd刲b)n!["D5(d5(g\6̱h6s#L + :(}UGg.rUxpιڿpۆDnf% av`f|0Ue(AUP6 DmL2a0wRl2Dݒ'. +WTLe' 0#}]nˌd uwFkoa"@jdL!NB$iB*p/PoavSXF0-tAշt&ej`2za^7\0p.tWz}F0 Dma6 +1wW1? m4xiWk]$̭TL&OނߚzM 5n,m^~}D?za oK.;DN'^&ۤ>?Iv}}d`+qi0-)J߄oҮ"H #i/TK}*r!GGY􍤿Ii_='+E{CMA<:-q=/I^㾒H" d5__ *"Ď eZ_cI d4KK]/PCD_ 9SK8 Ü3g8|E{+K KT"Ta'^(BΟPbqFzUO]:E~DZqiCyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^a^TK*fO[>ӎw΢0k]/tT"]%ꗄ}$҄Jt":T4:&[l3vU QK#A?P?үo%jsb*>?IGK#/ O朜[W"kKZe8ʪ#?רDF5$_^~֗ (۫ШEZ C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0og%UNUޖ] +)SfA0d }:^Z %M_ | PCm| ZUʬ/'XI_uͯ_]/| I|kH?PƗKWKg@K//3MI+A,6(_5q ^~KA}mT]?_a$ c_Y~,4"?ֽu4)~6]%￿h*?9^# x~h$t_um=oA`f=#>>莶l)Јk=?L #>EBl5Utp玗 >(W4 )% 0zmuukuZ,00uZDtB  tŏmm-~A6KZ0IeqT" vյ_)uk_ .ׯ_ׄ ]~_頂V!Z՞b)|xK +uevx IJ M}z^p'| muЍ,i:e^yt!*Me:EkoUoO9?#% _DGK~M%Am%ֹB]P-KW ?T KO)Am׭?/A5]ՠ +A&m$_}M-( L|1Hm-uia)P_k A0|KTK_n[M i`?";I ##_:$";IQK1m&/AX&_1 Z\HHm$I@ީao z 0c8J*Wh K= 0 ͨ _9?0 (tR\,BdDiaq =t ڄdD'36` "l t9ޒ]CJAW8A74 &# IH^" $DJ+b be)Ǡ0A$ؓ_R r8`Ҭ4!pkH%'h1 # H-@KаXBc   a0cj#@h|4 * XkA Hh1 mi *BB 5$em!Z@RIj +T""4KXBN"CBDDE""ۈh(DH;.34 p9tS4iBI\e;)'gU7t_F aN((fפf ᲰA[Yh5| 5{*kL9P?ۤ??vwM DZ]17RV_JL&<~*w?M2y@?@6.q/hC .蓴I$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RU_ls B?#IޗTa9 𗿥a:7I~m~p gd?WFiyi'O kXH$ҞIۭ?_'I&E'ƿA04zG":Zix/5Sd01^lWZZ)]_áӪK9{lW>+8 BKCUlyQ*y0- =m$hȸgF$p:!SDy#…ijE#=,z hzW(֜ZP&BP_/_ WJqTZ##{(3>M쮲iRMX*ӲG"]%ꗄ__#֗8ץz[5kN\57X]Ъnծ)ۄGZIzL(kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTtd/t@7ǂ#ZOL6[+z\_jZ )"۫ШEZ (A@kGêiVT??׶Z_SUDuL8A)-/}h$`/~0~b-G- : JۏVc%$ץ[:Ksi/& G(}/ !4ub-/I`Im=tK^_/ݭ$~}/ttBKJƼ kyX$z/B @#;:%i?_$xEp tKB ׮:ۣ ۺ>?&+рk_K x괶Ҷc_{=@aShAǜ/e#GI 4"?J .o!θm/8 +;-$Aicj"iKa] !|$A7O9~ 㲧(YB\$At _CT0zA Z!A$HϽ/#Po-}i2OD}Z\idڷ?x^AA|aǧH$ꗲ]Z{_Vv _Ɲ*5K|I*KB$`eD[V@zV_(i-&U HK }@G[c $g&R85V--CO +(\G t_ + + H+m?%ʲN`/A~?--J+Z?1^Ah*#Wh>y}0AiyKm&!]+~?H$%n}iAh AiwXCMG+^_vJ'?^Z-L8X/үAm,_B KnV"\>Z7-IŘ^/OpGi6k/A(Al1o?ʮM~$$ adVK1@ &l/ Ԓ[aҔ?}å~T) 8~T)`ǎ })2 AΡKih<ϗ '&Ĝ # Y"ش_5 dAxk BT:+&?"NHB8 +H'j3 ]^ V$`(4t?#C [P#HFO dj!HGhz*@hDb4""")#,DR*FB\-ґ; yْ$0C0hE+DpaX*ӲG"]%ꗄASb/'^zZOʡ[pI/IAeiZ⟏[ -DuHD}t@?DIU*>DKu*dS p=D0[W"ơ5V<[!3B3Wx"?$PDD[uzHA3ӓAREWQ?#_~t5F'_IR}4+Ab3rZ />EC+M0eؤR+7)a1"Ϋp, +^ ~4H*l K|2WΒbKI/KM/}_5&%jI|kW0!"9}.m*ͯ+K*y𐲆0/3MI+͡l4/bJ|YׅN{D.! +/+m:Ei^>z-~?W]}sREt?ZCa_6}Ii I>  .M{_iBH_ --M#?NR*/3^H AqzI03KT! Z!A$HϽ/#Po}'@Q9DK-?@ /A&T aǧH$ꗲ~rQ}7izf_گA$`φˠ//tB$`eDik^zz_/R*׏]Z$D_= _I#=0*C6Бjn`y=Cxx@AZ%aY]c]A0B=C|z+^z09:~H$%n}% ϯ]{jNxPPG\ ]q UG/ qAe^ʄ߯KgG\KA k---27םD ғ\ =&‚N68?xA0~A:P^O(ADn@.E/ m!$ IN=kK\>ZL(A$ؓ_a,]$ { x plI1@Av &ZH.8A4Aj>ZXcaP^v֐0@ :W}%Kh0S a0cPFkH )f A5#ka0q   [{CU +? AVT, F +"GA@BPFCH"V"CCi) +B=SCV"CB"#AH!DGM#-Q +`u{:mM WMnQ6je(iO$tX!lWջk/HjOZGЉ"W)UpKҋJA [5+:N=C@m}75kq~6jH^p#V_Rnw;?a0[Y Tƒ 0aQJe:}CΊ}? G΋.p?RΣ^-.y=Io ya ~o "޾/e mk/ gBI]-`}tQ I+n?k=cXK.!7) H/:+ZX$\4oI.'KyRBj΃aHԗbKda0Li4Մ g1 hc] p;Aj"!EˆB1j)"}G-BU-@T%"%NV)In4QEcIh3F^,ETDoo,,hԔ霏;ϣ?GH3DiDgz%}Fh;2gިv)⢣FVbdPE߈ lb M!!")lD&dtv7-؃@-2;>H G~h2#;h#,4d +gHKE謼tIRXC X(pib)68:46S D0 {v"B"";bT O[H$m.$v;O;B$f}\>,>#,#H!)#Ԏ:<}R ϣꏣ>GTJTm*nntOƇAB"'gֹ*g `п16>f@Eii6o n`%cqPn +΁D"&;)%h- %f`ZJAދ&aS4Nv; z."oz ͪsjvGdq\#iI䄫*o8EY[>oJPxN #:s'g}GNt}$U MGm}zqx⍬qO+\l,&q87MFxc"8㹴=#jaol]tW67MMt|3aةձzކ;I>؇_'}}qIGDZ>BmY#H2d4}YD $#:.~G F>.=BG]uGpGE #l|zwFG|P0@JD0R81IaB`cň- cln"ЈƝww$jL5|/ mְ _IAij]9đ/Ψ:6yuG< 2B>E6Gj})d8%mMPɳh>gTtl6a0Dv}GT}8i6ň4ll\\F1D- +B#1 п{u X,CEqX`ٜ`ЮnD(+{,bᇈi6 yϿKop x~^G\m N@ DtaP::6#GT":,^yY^y)yGҥY`pD{s]*>#FYŸ{.(r 8hãj]MD"8E9C\s{}YGh +GH< hsժX)GW v/_A $"ukDufإ}^#a%յKm(Qv8IlB^.Wb XB";QlXa\[[[_m[[I,1^+  {cA[]XTb Af)v! CuYS" ;NdG3PGGa&<*%Gw0;+^mAi3P1"ǜG&:<+H $Q`vM+}fÑ]VW.S#4׈! \ax G0`A #KaXԭA0G0ChGetG@g`(M8">#}!Fq!qi DDmBBrűmƄG^wm{mͣ鳈>#I @";=}YŴ]<TϢ4ȄGT}GGc0ϣ}Nydgg#"u_lDF8ax"""" #8P!q[wwb^m}[Qn/qI$bU6c`1An1A1l;$GTHtBnqVo>TAGa-}#lIBym0DFuD"c G>ꎨ% <4GVQ(BjGT}}GT}N}}Q +"""""#"#A%">Yި"#% E@diz<ͳXGTFJ!(D\DDDGqN\\%ȡeig9]2SFِ" 6gd08ƹj)CP辧dGGؖ@G7cu*> ҈rQ- +hꥐMc$Jѐ[DJ62Dapdb ޹YHhDQÆuy,V0sDA: :UB-\2(f{pʢe(l6 6ͦL;`lwdl$6ldl$6z0GN]0di7iB"]]Bl;Dwa"%ޙ'pg0ŭ3Ѩ5PQ& + +@TgM4gM4V.ɘtU7t^az}FDyE7]h]H +"v:L_t +Ik z]1uH U oK | z^m&KIiOVꭇ~>I4kL?Iѯ:&i0,#NvSRտ^to6&տֈ F_pA#i a0@:QQDuCQ^Fn_q?C zA bm7CoR )i/I=PBoSd01m@ +P d4}v;DN8 6qe^I9:ED"߽Z^AAA +hmW + G>҇7kY:.Qϭ8o]k3GE9I?F"痑ZtΘ>&I8([(71HNs쟿Pob_ۮ! +0ת.L+4-M\_ +0%C uC WJqT:tߪ^ >Dpao<<-"]%C'K?8ץ+A=V#ca4:ll0":8">GY?I*EGȀT n^ uA!3P ?@T n>I ?@T n뮫gǂ#ZOUGAREWQ?XPA )"۫X)rԃ0D$[uz_6TM.JXLܧւA ϣ4Q~?~FaVzsP#ih,W%#GUu$@h +6]|%>C[+b0KKM&l mI /K $t"L'I?bп ].6SZ &F}yN?M" #>"?Aa L4D5?As:_L>{(f"*_  0zda-pAA A&_tj A3 A^<_,/A 6]^ 0fahmyxA~HdL+pk4G~KF{"a\U/xKDRI쉅qT圿g":K< ^S׭ +֬.ZZ#A+ j 6J+Zb e gL_A M? IJ(Ij IJiS\m@~V/A70\+'_!*xm[_ĉ*Qs.sKUKGA h[t V붭i{EPP9#; ADc^pM$O4IӜV8 DSD1LSPb""?mzAW' +8)zA\S?GA\S74^i7醶o/ZdI2?KPA2]w[~f%I]A +5 }+@J4W$1HSVq  R3 yMzZ i`+ Aitߥ i{~"G#GGi6k/ |!۲%V[ A Mb, L:o?ʮO}zI6`_#)WMۈ7^Ai6&:aP(a]A$IQ?I$i6-0+_H6awk{Ri\ =&‚N68?"$~KZFLzL4ֲ AC1IB`Djai2(tbN  rY$ + ~I8A7 T&i<{Z/h;pkH @ +1 6 KHA LCh7F#Lt*B8A HH ƽEX8ABD@AUk `A v0@AZB"(!kA XA AGA +ZhJڡ!Ab""",dI +ˑ6 ["VG}"ȑ&4Uxd C$NsDA+;(D#QFIxpθEk-QIDf>EÆ80la2f \66 6ͦ(eDd]dA6Qpi;ܷ('TvV#_Wqd"nn."B"]]Űp2iE9 +T@UQA*ꏩwFm& +qjN&> lqaʳ'Pɀk +em#2ӠzQA&͋( _>KMTBбF*!V17W$sMU9!FnMe|:oKS z_~ 6Hu0 J~T6izYZG}{nC ~~BGUm& 6􍤽$~Gu^7ǩh*MA5㥥='FHː_NkƓւ!CQIjA )j;#xBJl2h7ǛQ[E+K-}fq sv8f&H1s< ap)M`YZVH$LBN,ti.Ma0sN/L59cFJ?C[!VJDzs(RIGaDzs`|tK#r8hb +΋jo3I,gPC p@2AgUj(ah/RF6ad 6qT&HIm^=$K 9C)u"kQ[ad}|&zS׆'$4/A??t8jML]>:"?=kO[&*A$j@,.> +-QhoODD}#ֶ+Fp#Z[uz_8, B-x mz B-)yrH=|l΂.,7DtI"]S:v+UߪOrK`h,WV#hpa0^ߠOoK#~T_^6mYH*I& ѡ56]x%@ $߈P +ޗRKJ B+)`ImDM[ ;t֗ZM[/Ntm"HS^O_O$0D<0DfWRmaFi %{xA~,zI7~}.?c#>EJJa & +<ץmR +Uk*T~q_} sqK(qe9*I6J .e9T _Pit<&P&PO=|qX?O,&$t }BǺ_f=#>, Aa#I}yI03_ǫ|l)o,EAl?Tq)KZQ'A&\/a~ 0z@oKC TU D}u,0@t-0[SZqA f.xץZ 30u<%_.Xaտp\U/Ab0xI#=0*) $g&RbuoA{z o&?z_ ?aZ/)An( VJ+Z[_[~ WPמ0zJ*EDi A&)+uPָA *K8(Cs zK Kq$AyOA +?lr҈A +1ZW4mR_Voe8H%Z[H%ZkJI, ̏綒[}9&SE"}4RW ?THO֖A"~i+$EsSGK!m&ÅMjA$I8zafcL4$c t" :JA@ ҇I$ǥI1t8- &|›td* NpoH2>CX po%A/@i$)z TK)t!PZq 8ZLH9p| 1;  LZ@ IIaL& 'H uƒ@ }!  ePxHp ): `ȰARupBBA$e'N*K PІ `RZ0A#A @ $DhD -& DHD !A .FH!B! T"AbDDF"#l0rOVJ&UuD*&$<; : ZGzH뎨c8pνi.)Cal)#I6ͦ(iʯ @ѭ0dl$6rGWqqwUp pWqi`Ϩ7z 6#]]h): +TgM45X"Vά:gM4?p#_]h=p6yE7nIC iW[fP*g@ϥY1> 6ۦ_ \ z_l}Hh֘~mtnۣ^CMa_6}hN ߤm%OZޞ)􍤣΢$h Ik_BS#4@mEH`c! &!%6P2}$-ʵz aJ~( Ks89:E#QckZ߽Z^rN/5KZr}i:5ny'!OMfhG>}Ι[(71HNskFI~[(71HNs2+J./ +k:4^jhP@-T5_2xyZDKoTK<<-"]%h8ۄG_UIV)?66Knpb*>SKK3@{ W@>I ?0T n۫HG2 ?QJ^JaN#Uig1ypjA BzX4R+F_,KG0 16aVz^lD +KKM&l I%]%$KmIVM4C!I~QmU֘?6m6oBI__iiNH6!$WOm4 )iK}=ZMo#4؄ah +cҶcUAA/N 7ǥmUײkk>GJ .e8-Y`tVi|tp?O ~{ D$tHϼ#L4~?BH" #>%b)9/ |=X3J|~t_ kB  0z- @?fA<. )<$`ˡ_AmG~K?F{"A\U/~6BF{"A\U/kPjΏA0B6ս X`kZJWYBH$%nu/Wa ֪4A UF8kTuZ.sKAƒw R3F)jCDjV_ _Hb^GqTߜj:_ _ ,oo i| Dvn%oc@iGi6 }[&֭ @&MۈބI׊UAi6?ߴ MI6oH6a釒cL=+H6a0PM]]+_H6aCഃI#_R5 (t?IIL0sZF 8A7 +-&E"RA po%W +B i"aI8A7Pa0i$ B  6 KXA o&u 8 A`҂ HA㰈 h x@hHoXXA v0@A^4ꄐ"BuZD##BV D (DDDDDP_?]BI0)F" h庰`AN򶌍xppȮjGgjG`HMQ:;D"&3"6Rd|fw' (lDnL3=eM d.p06 yFJ nSL &&\4BUM ٫ &8mh2 2ᢙF5t4ݧ CͲUg $"s$s: +@a9t"c۟CL0 9ؾ-iUF0ÅS[˂zM2U7tPOL$v;^΋D}G! m_nLVu\tC!zKΙ=77? a(G|/%{M?0#>z_XKKI=&K/!M?$6rBS#on5InRޒiJ_'jMƿ/jڷ*?HZZ1JbֈjKCA)L=:(q,Nοqi'XgF$pЩMat5>q_m$hکЧ.?@hThAYH<^t>4\KzW 9d5uϭtMtS~/o8b.HEA0@G8e #ߜIŚov_'R'8bSAa G ˟C+8oI|WZ^UO8ץ_ǥ*Vd|W_5i?kY_UxBdT?#Y/5t%WQh"?תWwI[k( t#$U*N+mR᯲D}A<: *ʙKR'f "Z_^u(A@kGê_IR~ "X "<)hXGzD UViפT8G(v?@_K: JۏtizL0a-gŊI0+izMK-#@0C.{m !4ͭb-/I`Ie=tב5`m{3,g$, el`">^G(a /}<=!e aD}d\0z^(\BZC\uFuY  2_oKB ׯםz#`ìPK4_A k<(?g ~hAźčCCpci^puAwZH KK--X\6_-,}//׿4A{S,뤕H_너.UEB>n6/DA Z4m-&W%9t ֙@\idڷ-}:/OD}Z\id׺K&mj  SӥFޖw׈ _Ɲ*5m[_KA)Z~ZM(Gh H1sI%_[J-h"_Ai%]mm/KHD4aW  +)=g + + H+m?iZZ)#:/ƅ9zSzZA +ޞ+{*N|=8`/: mZA +3ӏ-/: ZkZZ]>4DD0Wp}}k A KOF\ ưbM- Aa#kd_{ EQe86Y*KL- X?mk ,|DGK BWu*\x"?C; E4u i y!^KPu?㰺H<SLZM| =i_|/H X &T΀- OoZ_>AA$`TwOZC-?Vʨm NZ, [*=/&nOAh_ A7./i6?GZ[pM+N~#]7/&&Xuim 6Ov&I&!+  >:M㤩/+  VZI0DII*7/BK B a`'TI$DI-H0IJI:W%Bx Ԓ[Ί@CI:  `&H'S&F*I$jJ]sĠ( i\ a E*AL2#P>H0zA75B `XelɃQkH0zh$ ȁRC-& 85aȰ- ik  @"8">HAB80B $E48AR&v G[@hp@$a$"NF1b#&"1ڄF#yh2B-"1nrσE3R#y:t&8duB!yC%C:cYòf{pȗXUPݑOm}A-:X&DQ7d5uwQh6٫iF%Q6))@vén#UF0piIE AI`A%=hp Zpie8 [{ @wZPͯ黦CkןpQD&Q6ޞBn胫nMUu9]lm<:UTWoh߶6*ͣУ|4L=&!F.*Kͣ4xb]Tӏ05 Hi&zXt],ywޗ^R3>bޖ9!'opa-IKΙ?*҂BCmI6$-/)MMz^!^'JzI#h 6J 􍤒MwS^uAzF\_ޕq8%<:-/J!?M~0!_QHzO!Y&W}"OkjKI*H" d5/車 CH/HbGD01ѭ Pe\Ez ~I$DOha"'*i/Kb,%XHʟá[~4D*h3|6t) KO,&LBN/> +/:~uBIťaZZ~qf؄^}D4*h!IN/HBM. )$U:px~ +7 ZiHCU)p QHNsuϭtO9-œosxJrBI(|8 P\ hD?B.0J5os_Zu8U7ֈY1m:aN* _KI98LIm#$҄Jt":?qH3ҝ%kKRUzA~E]Wүo%??t# nIWAi?֒ +rZ[u|/-W#5ǂ#I jH_GiKRT_-.K-%Ʃmh,W҄%^ޖz$5U%I%CqWK.%UNUޖ]z;:ӯI#Sޖ]N$'I0-K/ZI?便[B#0+G便[l}b-/I$zZU"=izMzfe b @,I?!$YC_(c,BI^__3~ ??,BI_iuϯ]U#zh AޒWZ YHϾcA%X YHϾ3^I$#,Ǥg[" ւ-.4@OE%Al?5Tt/>( {t$$ ӥFm3 U3 Izf`_گM,00u]{U_ZAB?TZ_ t_ +_p\U/?Bp4\U/ &U #KZAm* +YN AA Zֿt@aZruBF. +ZG t@']=0AiyK +t|xK +uyqyV/zq\AtHs`]zc_%G_F_pW PQ%*AU_Npce:Bmk ,?r>ޫ_R(m굳XLcʄm?K@; ET"?_]o4?[Mko@ƖT_?,/![/K˵Q\*:+]ICH6aR&A֗ ߊ?}p < k&F/ !C|tם Қi\ K ȃ)s +B ҇ \|OIqIFjJ iATii{jNMEu~UNMVZHvLbڤK2 K}'&ɃQA@Lp, 0` ` +xq 685A0i` 8A0<AC`a K 8a H |4 *[ #h $Fk@A4?HЌ$kA!j *"5 R b""""""""(!ɹ+"Tv(R2RW5(g\""L(pιKFF"}ÆuDI(ȗ6ͦ8lٴÆ@U("!ȔMiPl64ݒ  +PWfTl*AIf *mpWqwUVs5[{ I oaB*iOZ$\(BIBG*23k3#Dޞ;N7!F*zoRfV*<4=#ֺI[mRޗi7 /Ϩzx 6(Iz[~L?K6uE}d`+qi0/oސAzFZA#i"ORB:(yGY􍤣4HzO'$HM0q>u}Dhi:i$c!:$-PI$c!CD_ )S#a' "T Yez#d j$^BJ)r4LBN,LzR}i7zP&o RR}i35G]"=9ΥI=_XMߠҡ)ts|8 P_0AZQZ zIP@z4*fO[Kz7ZDKoQSַJ=)[pl3U":?#AT4UuIuH^ҟ98*]DT}#ֺ[z KnQD[u|F5$I_+ƴ/QD^UT^+AbNZDiBt]iH*K.5i6]Y&wh/6]y8+`wҭOϥm*l_]/| I|Փ_YCbJ5H6!$U]aFi %Al1+рk]+m:tZV uKa,qcFGƅ/҆K)׮zAO`V/I?}z_h$t rʦtKI033_u I|l) a=WAxH$9CZYO |=gzJLRVo5 1I[zްW K UFʽkˡ UGk\VZ__H%ZeBKotm/ V=SD$O5[~Km-\ DS_ֹB*gz_gi+K$1HuXm/KAm-᥺_l0lAK ۥ/0uejmgr *ߒ=k> + 8ӆ}D/}\Hk?za oK;DN l:UGڴZ䊾\~U_\uPԐ@/HKt׽._~D F_oo~鲔RY*S#PHʄGE::$-T&>VAH!%6t 2^ߥ z 8f"pY #,. X:/ez#dij$^UʜE~z--?8EBN/A|~ >@Ч._`%(֜\S@4.}k]!TʅG]"=9RVϭtMtK"kF 1HNss뮲T8&]'9.0׈Pg؄RߜIߪWB-=$( P_=P +t_0}>sE:aN*5_C/ =Rt\*`H?VzD_KJt":UH0|zZOO8WKK|"8(T[pCAۍ]$H[ @t}tKޔiuP@q}$DtF5$[z KnO5PH ߏG#Gb\kKejamYUPD:opei: Nb/oKAb~N +1$}%I/SR+ץ_ӭ:ӯI#Sޖ]j @A&ΨtuY^D P~ւ ~aY+"E$O_\?KJUN9& z_ׯ_Ur}/Az/E@gI+GZA=!e a/şOXAx~lBI_ϧ_ aYaqP Ai~^ߠD{_}i[l1/]=*tJGJk4_A u]lƅ/҆Ko}[ $_?9^Ρ ,KKsD'\/ .rz[h_넒J_=?zF}}9)I]l4 _Z.r63XfDL4o#]}Wnj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_[/j 6Uei[a\U^/ _$`em[WK #KZAm*h!G | F{"q\U/ֿm[[J< Z = xkA%:/)A}x@/m&A0B}b+['_ޒ_[I-gL_?9k$b_k)AuI~ʽ_GIm:8 +N^]A +?6_i?%[z___h$9DԴqim[M/ i/^Bp Mk.>{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#SirDܡDOe"t8B"npn[<"nP;?E\ G7(HԴ'Mb"GRȫ +c}Qya"GE;4Y,E5b61L2 v0A1q ^}.>m bAmA7-|e;).)~ +{o KP>$6&}GTuG}:F"ETqg7diG}d=Df}>><=Gz#U|&O( I3C9#8q|蓴I$.ňVt48\cc8ڄKA'o"$3kmEsS668a9}G"(p#갊MPfsuY 6qFZ>E[8uGڑ>>'Ď 7FכX G~hl]uXiGcF1ROx""#לXb8E//|8 GX""."U#""-.":PX덶(S!!HC 6DUh6vf܈ #%`}Uzw`yQJuG";<)9 P莏\ͨ"@ Gfhc#sc I":mTmP!#D}>yhŐ}<#kpΈT}gH":!uNjЈcoEq[#xD0pr1؎"1C[=.Ä\x'r\% agvBs8ccx''JPVv&%ƿWa{h$""l]:0$|FJYbshv +0gu@GtCϧ>>6gGG}3G}Qad4}YuYvtZ#ZyZ,xFH#zg>!}&Јb8v c86(!|DDG8WzǡϫV[Xc k׋k⾩- {m֐gci8m/ttv]r_lkuKgJ" #(g#Mm֫I$ma [IG}tq4L%A:#H/ͣ>}idv~M2;ĤtG2>gө#":0 .p>:(hFMG }Ggւ6DDqlqD|i-0}'u8DGqq v8DDqWqp#LouNvi8h: +6(f'x z&'%ߺԟO3$mi&pjm$j߄ #gh4-l˙";SϪ8N(jm+0Smd Yl}=YG"F{KS:&>>Hڵ6KRBlڶ &$L]o䐰#?й>B1a1M;b1a)A}0f?LSa81 +qHlA+a ubm!HCn- l[ap wAAiX9"e*"V2A+i!jv!iP`n +vGJMAϥ2N}n@QGTG9LO5#hfo>>iD"ȄTyfDt]Q}di9YΨ>GL":(Jm4}+>Ϭ>Fk6"#""""#b"8Pp#"8ň0shuDEoaXw۱ƂB_m?M Nm -vYϢ3 nyMDP"#$FXG~qfM"TAGi!# W86?ЈE#7B:ZR 1LٷaX}Mfh[@*CűE#*ՍmmvP΁jBG>Bhf2n)VdgfG#UEaah:a}C$"4}_DDDDXB" }0DD-": zeaM‘uGTuG(A#h)g>;IQЈG DDlb,X.K"3DaQ}}+'8Ҭ;XGTuG4@؈2"""cng""#@*>>:eJDuGT}G}\DDDD}Dep\ɱ" +.V}&8fH2; @hEIR"+hXlPNahFJ|2)H8dw5pμ3^J█ڃRv JPi[E$dU06E 3** xl2aC f6K'){a Ft Ve'f:UMd@gPςd T&-:Ni^TRO.zS +bֽ̡a2(-k4UAR} 52( E[va'UAX>GSꪺn黦PdUu9]lm?GZ.uLMlKhccW2aѿmmh܁jh |j sho+`^7^5 eN&r }8jFe)#jm2x0ttSg&uU_H %lꭇ쪏SV}}*ȯUzWu$#(r)BRB: #i-5osT/`]lTE!_Q"S#l 3uM?6~I!_IO#BUX!h" d4QI$wq@ð>CQ8GY\=hj,pEEֈk1s$DOIP D<6yul pP -4ETSZZ~qf؄^=-?8EnPC$ێ5ZD M>.}&^Dץ}k]!TEG]"=9I8 j.S{u?XV)A)Ss"~s.#_ +kI/=Is_KK^:}'њz{bD01S\t$z/aY>m "80}cyV/UH0|zD +_KI8פLKpNۄG^C(?Kaa +H0I/J8]$H[PH5Y0 +뮗a u8 ~<IGKF5$_׏GA`ImkXKI4oaEB?UeM'/0H 6g$BŔ1(c/,yz/DgI+9sh}?# gzGVKD?%xB ׅB/oKD ?% -:=%a?ňJk4_IPH$/QwJ.ϰxVEJ$F=I'T $_>b=':+ˤzPп $DA pI]kG YHϼ}"+#WZPD">ZG@Q:G@aAG:/OD} _AGNA_1#LF9?_oAWAa&Oyl:UGImoXVGPFֿik_-R?}u  +_u< Z SABS#A]Д-ֹ_]A]'XE(CU73c]n[t\$[xk A0o~Dyfj%~0uVㄭ!:, Dvim L:܆qIXN I* -./?m,$iix6 K&~zaOk T!I :*zM#/I=1KރaVZa& \ h "'&2"z\t.x aiq&?) +iA>5IFjJu K_d(L4A )o%Abr&^! b j 0`Ça &]cj 0` ,pa0~GJXh5C@L]ސ"Jp4Lh4 *֕PB8 KaP UwI!jPA%i*AB@R b)hAA""0!(*6DDDDDDDDDDPB"1w-(-?n~̐rLUd1"TJF+Y<ԡԡrDb*h%'&&g@Vz݃%Cu"#j kXabayHDnf*E2jL"s 6ͦ)CapEÇۆD6v-pqD5uvJ:ed"ntEvA#WWua 6mwuwt@npWlZt] &H wZLtk )D˅ & +u +)Ph)>lm<|wD[wLm=/ :pPF? =?SD# zL:R)!| Q +tzMB]T֕yL_[iNI̭U i4&DԻoK__asYMƋuaIޕqzAI%+57IG[%?n>Jo6&靸鲔RɯSצPHT4ǤWI&ҽ'FW#BDkA`c!}BVAH!%6C }ni'lBΜZq,Tu#Ӝ??3EG]"=9^ߠҡ)qsI +B1)rH~:hD?B.0J5oUЋA{I#5 +0׏Tu'M&ЋB!‚ 5=qU8go/z"+HIm*` KITᜱ-C;L.=)[p$҄Jt":?#AT4b&[ZKT[p합_/o%Um]~)ӓKuEG qzL0U*]VR#-Wޗނ۫{Z^ޗ(Pn$M#Q5 +&Ze8_^ޖzj%Ʃmh,W҄╠^Ka[%Vzxc OzXAu$@W9:D WzXAu L/׭& (o lD_D@Va@26ҭGo5ͯ_]/| I|ד 2 GiV*Ԭ?!$\E1?$U,{ KbJKaGPƖlBI_(":>/ FP/@-:D~:Z +m:_~d*r:  ҶcK=K8tcBCaהkχYe8K % _Yʺ_>?AW/J4Bu ˆqL6?Z +M8=?zF}TDA%X YHϾ3__3P"? &F}񲜤zB!.KA$HϾ}"+#r +?-:aHz疟΋eNa/IsK2$$a_'MG %f. aˤ30/_/ H ˯YZh$`φ˯*#5-KZAm*N[{+ʡu_I#=0*_HdK+koӏBS +Z(2>#ZOv7[(hej`2*ToOO${I3|%iE!FZL_F&boc${I3|}mOSL$mtֿy:B z_R#a0=M0a-I7Ť+fAtL?K$^F lUG^ ~Of~D F_?p􍤂?N~GY􍤣O.='7=^4ǤF?$h I}& i$!?IMCI<}/ )k/1BJl2^G&H<|=jFdʉSWGZ!"T򅲽I/*%O}BE~KZqiCWbG>4R}i>m%JQϭ8opBiP>&ru8"~ʥ1)pOH& 1HNs:MFj(aU& +0NspC xe}e_m3PC xAoz+HIm I"]% 3$K}s T"]%󨩀kg0-/aPim#$&4":#AT4ncIޔiP%z2(DzP%q8*]VLNP +-QJ{Z^ޗ(PnB h0dCHN\;*~ )"۫ۜE$/ )"۫i ,Wi{z_L B-("?$^Vzf> 0D^  0+OD{+AbCJX_ KOJXI"u^K.A ѡ5 M^؊Ga@=^K. ֺ^A~iVׄ-&'*kl&ҭ*$IIYj}t&ҭ^O c^:_fW_M֟ƔklBI^ibJA^:_fW_D{_}i[l1/~WsS+m:?%"=h/ƅ/҆K?Bcz (l4 IP6]d_/K~AzW9M}c?XH&$M)_N_A7Op?AI03KT*& &F}$ #>>莶_3P"? &F}񲜤zY |=RP7b) fHZ |=WIQzeNa/IsK  lEkA3 O 6A3 _UGIm  lWHdL+pkAK$ȘWKނ $g&R~m5Ua3 +޵h Vg5E.J+Zh,W_%a$k4J+Z_s`H$%n}YB$bWPH$%n¶[}?9k$b_yt!*A_ U Tmސkˡ UGkA koA k\XA1 _.?i}J9m-\ DS_Ns ?T&TG DSDKKp MZ _V+fAryL xD PAryL nՠ +򟶽l?ؠdI2( .M;o( .M?m?V%I}ZXA AFvUl* #VK)i-#xh #;r+K$1Hu AAa{M?Am/ok iL4 .A-ep A M 0ž֗$";I.ㄭ! A MM A Mr1D{_,p@ &l/B$IK@ &maHHm$I'L> H6h/6L?G#A$Ir)m,B M>O0zL1$i6P<$һ9dR` I1&J t"FS"VqdImDJn&UtVy 3HhPιغ HW;D qFUxpιغ X䈃DV*"M3 +PEÆ80laT}G.pʒmL6Qpp46dG}LrmTE-EaPtVT +I]7iw +ΡNH (G"3"Uh$@UQ@Ltt foaoaFqB'Fl[(Ü@Xa9A.} ҶQ6ޟ2ӠzQA&b!폒< TBбF.*;t}^ۤ>jfV*t +bP5z_$f7wgAI,qS z_~ 6zqA~ߘQ䤒oB&m/Kmm&|&BS@_}F#Xj`I/HHE7I{zH/A#i"H#_B:k0 H6~nxiiIq&yFH*YL/:Fi7OMZ /cf$">$c!J>KҵR!"Hʙ*q rGv8f&H0(#@dSS^GЉ"bqlA?# <3r}iZ =9G> @FECWJq%ַtTu#Ӝ?M8C R#Ӝ I8g#)rYG΋ӫ$hB 5"?EE +0K=PC qԧ40 f,tA⩽M.zHImO C_u:tI| b/'_ -DuwOXIPim#_KnmgC@T؋A>:"?=kO[UgQWH$u%4a_P% +>!*6HG"?=j?o8^8 :OB5 +&&!D%번5 +&qt_R_!fa2 8 RG Σ^^>R+*~Z_╠^i @{~?Ka>zXAu4"T< M_C akl lG</5*a&EW/pV+ +K}-*"J}gTMJR'm*Y3MizuUJVGYUV :imMY?bJLYCAdAA3MI+6#4؄`D< ~f +uW-:9EJJa  +<ץmV8#V+>WFK>)gﲄ_z:8t&Pal46P OL//2[~k.ʍtA`A6 |MY^tC/0gzF}#], DpvI037 &F}>8_ǫ|l)o~9V- +$-( K |=bXE/ 1QsKC a˯ښӊ 3뇍zUA>. "<%}տp\U/EE < <$ȖWKz3}_7/ץ?aZq/)An( VJ+Z-4߂U|_i=a%l'YBALRV묡[pA&)+tM>[|7Ѝ,DKq( M?oIPA2!m__zXa)+  R3"[$1H[I| #;Vl t|tp ?^-M7 o,AK/Aa-{Xa0oa6, uX@&1ū~ @&ܠ1zMF%IBۄpAdxj;Mi7Ɓ]I7+_&mLMS@ &mRoIKAi6~{M4'L4ү4i6G:8$i6MjA$IBa8L?l &Lo-.aHA:PZw)1A:P*La ä$ (t6$E`ഃ ? T1~io""d* `I 4 + BhI8A7B,zY'H2=T Ih?ө 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$MMA(`^Ai64i6y&<$һI$i6aaV!m&c =&„~kYH t_IIL0sZF ސd* QI+ `I ~d* Q&!+Iz0A$G&@! `A!oA04] AZL!xp@ @AZ `0ZBPv0@AZ$UBF|7BXC  $!T$ @M"Q+J"BE"""""(,G8|~dTp)S!Dv_+C%C:vVFvO+"MyFdiJGAJNr)rXC pRa"}7 iiVIl2f{pʢ {)Capl6 3YJ +UET a ecWLMn$jNݒ]0d 7iËAB*0e@*6@>If *o\fh'}wZLtk +}!D@ Z9Z*9QFI Qi 'Ͳ6V8lUMm2Z.uLPGSꪛe p T;s +c)NJ&nIHQ +AZ_mHx5^{Gp0@|~/5.kߥY#4L&A{^&ۤ>[tvK"[N'h!zU]m%:Y:I׽,Q UkRB:-nnt!ICHW:U {)DJy$t[M?o jME'__ *"Ď eZ_ۯpjQ &RáIz^' sb,/ez#d KK^'^M?:SD$&!SD}y BPKuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?]u1?0tSq?8aY>mN9tA0tM:"FtK/ ?jkK(LIm#KIqKICA)eF7ePu/KK(a/Jҭ@UV U~{:EG 28q~P6+/x"?Ze:B#$U-'O$^#Q<}{Z^]za= 4G^^4^DA T">nK})1@K?:#: J", R)i:ӯI"~}N + KKK Oӥ#w.Z^Go-J!XKh[欟Ka'~6t@ (cKe I+G]2^y𐲆0/k/ϧ tKBAl1.! +/#Wֺ_-x_G-I]%:]d[%H _kχY9DiDz,h]?[AW/IΊpA8^?}ߥ!:Km pI~Fc3CȺJaUP M/6S_D?Qj rnj#5UtpH͘F">/sKւ@I |迫Y]/j O%f.ثHB* / O_t ~A6d84?At_k^_Fֿ{[Vյ.q: aⵯs}W/)Akh/BSKKk-zqV+i%?=8`]?ئ)b/_/F{h$F\ >6]֗SUo}!.M5?OAqK?I|ym.= -Mq~M%Am%r2\[*, Dvoimmh ?4cM_ 4 *&_1 Z\HHêXERᅬCH6a$ +8Ԡ!L=+.]#/Ί & i_5 +B ҇K% &DNk>zE> H0 a^ "'<9dVKiuآ3]^ޖ `3+vLbCY&# IH^" $DJ+b be)n1R 5&[ÎL& *AB,pkH%'h1 # H-@KаXR00q $eV5 a54Fka !dRRj !hah!AF1ADDDDF"?lW5FU"Kr3v+jVtBlQ0la 8pl8V#}]݆q]^$h(h&4P>?ToO֓oVB~afV*J@h\6a oK.糠qaZSꕿItj$o6&IVT4Ǥ&KKi4IMCIzMuv&T"Ta ^zJQϭ8MB$\VnJG9W7j]$( P^LYӂ(pFսBGGsG#H> ,>yGTG@GѐR>#uM 5 /# O6V}b8A?[cWG,:@!m̂@cua[l' 'NۿO`E4h>>–$fl<T6>gC'!^q#>)5$|hHD4pO9[Hc{H$&."l~F2z[?i^M 06#h:'V<&@IuD9P:}G}G_;w0a=FDD\%,|ſ>W>q|DDF;DNv":V#b"8Ј -Kyg!"DK3ݚR2D2C鰂"3lt}Y# #9FiJ]wg@q6yQ4M"+8AŠr C7q8 C8BY#"Io!y)ݜH X}8 #PaqlR ln7q cƅw0~cұ~dP3vdL dI%-o; #>%ꏣꏠAqdfESϭ8L8h`r1n}A>8ɺ6EC@s+iM䏮7XGDDqd1 lx\!^#kGlDB8.=C ĄD"#H=!Ɓc=N.Pg?!3<"*V DF.!lVڶ9tIoQlEkR:ISdi6ddHwМO#Q0f }<#ȄNyPDv}"]D(DtNA>D}a":)yTm)}U ꏣW#L/DIфtAͬ>N}H(p QЈGEBb"""8؍Dh~8":~] D'GK~t=GI*B BŎ*)~z˲첄ixA7~~>޾ޓxIpF^]Lf4"B":66NśZGGELGuDm\IC<Y}WDuM Dv")mSgy%Gmg(p.ظF@ 'Z'Ql]ZqqJ,Abh6#l(uu ^-QIǭE..Ňl:n.}T=inwt-ު6 ׵mR캠E8"?rdv}CRV;HT;kSD `\yQG #8.a,>7yX#:#>uL3Ϧ1ٚ΋ki}(FB#чAlA`er8W{eb}'"$ =8SjpACiu80A2;)bAX/-)1aňV0bh1ŋlP\4QXAj~et"""4KE|!a8ꐈ{`Riz'>X"+Ԯ?y^W #=MGGGq!}G=G}@y*)M,>7PDqODDDDDDEDF +"8#""""""#mc">#i^v]RMun(twg Tqj0,H#J泳E#d"#6FG؎\/qqE@1qQWлwLb*c cQ +"U^qu(LRMU%;u@MITvꥎȅ#>::EZ<ǦyQ})TDD[qDDDDDAqҠ&DEE` @T}`dvD}g EZ#>seB.#"8 uĎͶ'M #TA^WdtFߣQCN"4+#"""?#:- h::aGՐ4uH5#}&qLhEFdB 1bc5 x8dW5"7R5r22[3 גȥ6̣%Nm+e Gd3pۆU0ϲ +UeT2'p6v2[9JHFz0]iLvj部DnݦN +$6}A.]0di7l:"%LZt)8lRXC Q;5ͳC@PftwFe8 P 1kLuwFkoay>=oϯA LU]7t(m2u BGSꪛ!*ۺem"?Se8Uw!ejͣ~ۤۤ?᳹0tVc$~m#zP&ӆQ0#,'ޓzZI9 S:?|$rV>&&/UWۥmIz^}UQAj^"U^uԐJ 􍤴տ OڼY}6RAIrk\3u?蓴IڢNiծ7HW}",H落jo : ~Eϡ/EgS}%_ֈjh2 YZ\:h")*zL?򅲽yVm yTKANM! + +}BM?5!SD$Ao]?xVuϭt!I5e Zt&fG9I"& [~isKSq +IS9Is"Ћ ^B!pp@]$r#AzWB/JEb8H"0t`cS+83yS Koi}8qCr;>B"B"F:Ak RZO yƽ-$҄Jt":BZK֗^t*#/JҭTVRs7$DtZOcPExDKKKoAim?(AX_GD"I0_I.IR~pD"K$--њ(xcK _GT'UA&ΈtuY^GzD RD P:fzI%UNUޖ]}ll? q0 +_]zƗlDDD!I鳑XKI4>`ImkXKh`wҭ(HGʬ.ֿ_4&o e b >y𐲆4PXӟ6(":_zU`Id="P!@!!@ _~:_}>e8hH _EtK8u6}Ҳ-痿__ I//U }xzNtW/Pп $DA pI~Dc3CBJaDt]ga5?%6As}'@Q΋SaHzi:j8oW4 }#a<<" tj 6*?_گ aˮ?$Yb":Ko͡1GPFֿBp4\U/{_A muu5ξޖίG A`u Hx@Dk)[s.$uu}DygeNz`]=8|xK +u%¶[}?m{_S +\ UoG_W 3A%?m[]lR .t8PEΧQsZh S^U %:㰸~Q"__`F _*","''V2ͨT.HӇP„{ : +U *luAOD0Ƞ4T+n$h(h)ʛ_ToOMtBT4M2JsD# +h5!ik> +/NȊU i4ߒ=k +"5# v-&fBH0۬!5 66Ck~x 6b_Ҽs[n-&dSk糜RC t&>sYF 4ȀVaZSꕳ*O&􍤣43}ޕh ߤm%:M:QE?FA#i/lle~ |+m+$h IMzO.='7=^4H!%6t }ou_ߚ+ ӋJ9ҡ)qsB?LaDzs!I8~o*4aDzs~9:a=$( P^=PyHo I"ЈpC xe}Ԅʿh/a$fA^a_xaꕤKu0 k}`4nqU8gDKoq}ZDKo/ L_ꗰDpP4*+S3zIjKn9 #9i{G +Kni%0%AޔiuQZM&m*`[&T|a7?r@*]RAE(2BU*RD[uy$PDۜGB%L=/ejamu.k*aWi{z_L B- +$U1R6E9s쪽(P{{))Z 4%jXh,WW?[{{))Z 雔H0&0t6= ~aה_"A"b JI qL/"}^K.A ѡ5 M Jy>`L>0+Uʬ;+Okk6oxAn)rn^:_fW_ᆜGPƖlBI_(":<%XAx~lBI^}7Z~GQFi +m:_dhQ9[l1`GAzG-֕R\w99ҶBCaהk=p(AZXI-(l4JȿU֗4)~6]%~p-/_u ˆq $tGE{:8AzW9M}c?XH&庰@$ir7BZ &F}}9)I]l5AI03KȄT* c[9A&Y/l# |=WIQeNa/I/ey&f/1~ 0/0fj_֚ 3@uZDtf A f. xZ$`Ua3޵ONI#=8*h!O F{"a\U/ȇZ o\$Do[i5%a~ׯ'KB/ +ֿ]_M X`kVzKK\RA0V̓XA }e +dWA&)+uۙso5 1I[_P ,חBA6_Kג`A +?gKm^]A +?/|/ [KUm.QsH%Z.)v-H%ZH+ij'"nHhI~[Iz_ZA5_ ?m.W'eԑB#_+a[pA\S?/D4+V I}NPA2 Ka&K#_ ح, #;uzZgz_QZia)&0=[9. .A-yCMg?AKag?Am,_Gq^AAAX@A#c@ 1@A# Kh 1=+H Dve9 0 @ ) ix@TX6M&_ޖ Itib$$X6M _""")7:P  B M 0L< Il=1 ay= 0 ͨPAE/ 6A:PഃIi1?@ ҇K% &Dk>g.l4$ ACazsLxIһ +A~,z NMJQ_ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆD*H^`@ Xh5CA bAHa$0@ 1 Et +["H& H 'A HqK `0@A$-BjYA0D`AVI}P-@t +B>؁ DD|h1h "CBq+"""""(,FaDF8L,sZ%HDFoyآ%K 띉" yYJ3wL3Kck*A8ϝ +}B/ߚ+ ӋJ"=9+?LaDzs5&W7_{~JG9W7 5"( P_xFj(aU&-Tᜱ-umC^zi-T$t% -DuʬկHDpP4֒^ nzU*]lDzƯ/KzS'@U ȭj۫ۜG)5 +&_+ƴ/QD^F*`,W$JXPӯe,]/oe?+Ab3rZ (Au툡i%UAu푰VM_{h/6]|%>CJw5-"hm* \ JƼ JMPƖlBI^A >#4؄/:H +[l10.*+рk#ߎJaz6}IiCao}YAPcBCa_z|6>$toˆ}_N_A7O#>ߐ=Ixn6S^"?C5#agޗU^\L>x+xKI>W4 )% 0zmoXlxy%_Zh$`φ˧%_tAA>. x_NI#=,*ޖH-o$ȖWK!V% ~SV!ZkM +֬+u}e ^H$%no}Wo5 1I[_A!*6ּzHK5Є@c.A*{i-zIk_h$$t M7_BHkyL !Ј O)i{jiuh <rܛI4AȆw_ت`|a&D4 _ﴩ[$1H'tح, #;* CM \0kXbAm,_ Dvo+Vܬ ##._ҰGi6j/i6)7Ai6"I cBEhA$Mi6Il 0KH0.O0zL1$i6j0tc!i/5 ZA5%Ma<9dQ`  P Ai \A '&ZLD @aȃ w V1 X$ pk H@+L& CH h8 / 5 a0`&>$eVV ` ([ lAE!L` +oGuPL& X-ХAb""86@^:b[VLGt[2vJ)H>s#QO3>PBC!TwVK\pDuDȄEQDN~!y%06? d[3j'{Y8AA~p gWYQa?&t_~T&ҿˆQqKeE46I}&E1J{lr?%k'YB^Y_ڥ(_áKC]-.am$uED B/]6y:i~P_`%8i#`נ:!SDxњ_)A _Kri:tʙ_.V#_IR~qlW_,Es%-/υh"Z %X]ViפT:9_a h#z_vuM"kC_ǹ.Z^GKr߯ 0Ah |2M~/4 +K K@/ (c-'Y  2o}GϫKimх~:Z KB JKDl6u__|+/kS +_~H ZN>u_OX۞sD'\/P?-$AiBH_ |H׿4A[KoLuKm p@V yo?_#ڷ:?ޯhdfSK:?:Gauu5wϪ/z[ V?_))@zV_c6zA[s/6e_KKl mKHD4J"UR0W.Oxz_ ƄԱ. ]mKH A^s窐_㲖m ~o5Y *KΊ_Ao3ӏ/bZZ]}tC#/yu곗jl+ >/p i [j@) +mc|׮l4mu_iPt=_k(_2\6/m-_iH<a/ZA޴]l>vb*g@i2 9辖CB.4K_49:Cï5վ+oǝG!6i6KMl>u0Z^>Ɠi)ϭ-a&L0NV0k1_NDoJ]_ܬ0AIiZx(A +_=+mK!Dx__ߠD݈N + BEL4ߤXA I5 Ԓ[V!4w+ XEAIH0I,"@C( 09W` O#RZdPd0urLAAM"2(`&ׄEt}  +U0zQ[h1 5Kit8cJaA&u G ȃt]CK>{ Ai8z2%tH%i*[Ak +@ a DtD  +`/h; +u]0di7i!Xia6~:Dnʎ]0di7inBxP&Q 0Tk ;.34 p:"( 0ŭ3Ѩ5e8K.34 p:"(g;aZg;Pk] ޵PXF -M7t_F ++e\eOn6נ:5I#եNMB4A>q~NhѪI?@Th:gF$pЩMatZi\MU{).}&Q:)O. &LKy'E?. &HC2uϭtMzMQ9(KQ{*_H9hE,3~/ePkߜIœoT8C'99a+L:1>UN*DdK:aN*Dd!XP>qU0tMA/+5k䜾VZ^IO8ץ"?KS^%Wz]$S^~IU +A[E:61WP"nKI$P Dt@7IGKGa"?|9r ҭM쩞t%IEri:AZS<"9r ҭM쩞t/_IR}hH0R?K:՜pcU%I%Cl8DxRб:ӯI"}l8DxRб*:ӯI"qKL P.^"n|XOM0$_.߆gŊZ^Gz~"=@bi=4| +Z^GH Z/^| (cPZG~=!e aD}_PP3~P]2KmRK_XnKP!@tKB ׭vK ~@WGz_YkUׯ|$?][* f$-iimZK8( $A>l4#KIZX^/8 +I:-$AiG(\%z[~;*rt"Z Aץ㲧(YB\$At ZKoeNPWDKA! ZEU PECD~t]_@aƖH :?ZLsSaY "5?Aa#6a(n}0YM :Tk?/Vv _Ɲ*5u_& ZU8k~_ZM(Gj K!.KI| oe_AB?CAAm,,K A]e:t_ + + MK(\G t_ + + kK A]e:< ^Smǃ[Z pA: KΈ$z uҽ A KΈ$]+Pu?~NKjl" +p >/K}hpK/K}h.`:8 +KKjEk \.q%l4KjEkQs-sad_{ ESe8EaƩ#i~8G#8.RSm/^?㰺H<UM/qKG|a&T΀տ/ @oKj k%ǥ[Ʌ]? OҶUG?[*\T?O]&T_OSZGoW#]7~"?UM _0WkTo-o:&II*7%M`'UIK1O _ZTAZM}&,"aҔ?}U,"a֓z?}G%>k I k&F!&I& HM"kXA01u^LLLi\j}sH: )$ QH2 qIDjJu iAAj0D1d(5=It -& +d@2 ;&DF iR D +2d 0XA2-T Y"ؽR D +2d 0 I~5X $T᠂`A0CU +0E@.48AF0a\4Li#hZF!Ha BX B)B4B;@hb""#B"""#B""#B"""#gEU]Q])Kuڔg9΃J9RC +S+u4d0qSG+b>6QD"(y\8۪32,lm 63وDk:֡eVȢ  0l f 8dY3 䯆ô4m 63mt*$Fn&mC>Qh6VM„0{ms FIH@M_"ht(MSPa?p}MpUF0a+I)D˅ t߷ +KUTj 60aE+.34 8e>æTrZy ͯH$':W瑫? +Ap 7f κUjVBaeaÌH$':W +kyN羴WgAAkAޝm=%mYPiw[kߤ>=ӑ8"Jz9b/ۯ< >Oh&?tg-nt?a_쎍9;3OT__#NrNLӜ_ ?[fiFHm!\0OpkoH~_Ăm{_%=za /uak^N6_1g kPˆQyI:1g u_p `zu_4_{lNuUB5.gBלYx6u +@80yőGgP^toANf#U-D?'LFΚtS߲K:kjOY ?E_]/hɅ:F7IFD__֨?K4 sUœ/eP 0ϭP~SN{<AtE<Ҫ_KSePu}*2=_d(h _~'YFH}tK:?NoG0K#W=?$#50K#WI0K#XEy.gDiBA _J?qi:A _K+^,:K(SmI.:YtPۏp-/ӭgg9YBK?>_w=tkcK.算IF!]~?^#H?_ _$U|2M~">a[a5_`A.!A.!հc">}__/XFG V_9׮kXq|k^}~5@8r5]RcnzZIc^f_]_i%L?-zRKK_pK_?mCָKԅOcKoZ*\idh/ԇD}.4@OB!疟C">Y "ǯΏ뷩@N_>O :Tk?!LsL ^}VA?t^}VAtt K!.ZYeP/_-/jz~Al24((1AD]cʲ]x@ʼ(cVUKBT(cVUKKΈ$=T/: /NYpkCiI_Aos\RK}zcZ_AW5)g?K_u^^AW6YRH]l4Aa gGRH]l4-RH]e QM2!u}_K\[)i%l + ozׯPE4u_z_3-rq 5KK [Km.V| `_KKVʨOKIQi~$.4K_JUMm-?Wm.I/yc:]_ziu&K+K_eZZ|WVֿY9%:5~°֌5opA}OIk /FkotD݈N IXA}O"m>"#@zWzM$`m>"#@zWzM05:A^anz=+LQG%h(h" &rm-mZZ6V8{ hZY7a z}Ffפf 1섈eg/쩮Q0lN-.\U[I[+M/)6H + =a 4"6P%7RlRPrZc?OXH0鋭Hy6p)|BtL&i}]iW6MǴv&>[otq>;DCh* a(G5E4VzB,h[ F_(~noD\zZ8I3_8Z&?o6{q=/I95Z_3~5Iվk_I1I$a )@i/Ii{_8 )_M!0 g\RE$痤^?^v'jfi'G6dhzW,MQ)G>҇6Jc=/q +:O"!?_K0MtG9W7NA58#=&#ۯ^ʡ8*e~D_G҅ +kz Ʌ@5l}u>)u(3>PvRg#N搩k]$tߪ^ ?TA?Vfw_#_/#EװU QT[pI/IF7nK_3kYn"%O%]#P*]RAE1ehp&;|"?r\~'tq}ߨg4GEiZD(PknB h0~ׯe(W[(A@kGïV#qlW^D?U-{.+Ab3rZ *ngb mӭ!ubs +KPAa/3_$Aue z\:D-?  !4_0m7r:_\S/I&ҭ!Oϥ5_?a/^PKa@C?O_H6!$Ką[+рkAGiEp_,7>ʝ==֔VQ\BJa{+рk_}:{w_-,r:Fuk]_ZPitQhU,<#-\6zuHBZǯ~R^? }//zu9׿Q7mKoV }>Z$L4 _Z Ayu:?߄?_"?a#:GA&T KAu?/ +u +r:}zZA>. xWZ^Z K@zV\H6A^^GYHdK+pk]/K}ii~Gi%iZZwc(ۮ_O X`kVzh/j1i:+ U ϯ1Z }-E?h}ZKqN Ukkt5 U5ZXK,% A_m9I~8%I/$O5IqK-(4~ZA޾z_bF ט@ :UX0Uhx$-BݤHq5$en4 ׸`%eTJ]RBB]SB:B#B#CH* A4#PT"k E""DGZb**&HYdP8DԷ'TtZD"&3?}jȄEQY/I8pι04Ig$B2Fs+yF"30fD~ QvÇ m!i!I`dNaٴe(l6l6l2MCn*ET8myPӶ 2A*Do ‹(@M_e' @"]]UB*(LZnl2MtT&O)79t"&0͗8AM„{ : +U?O鴧.2aqt۠<:u"@(.a6V8s +hpͯHL@oAp 7.m!N-.\U[Iߒ=k +&6+ki}l*΂M?I սEV9Iit?^OSL$mQgZ4>=׮>=?FI'!;K<)>}yőa:"?ֽ&*ӱ/Y0 C \w& 1HNs5Iѫ[\_AK89I8-dd~"/Q9(C[/ePE"^HB 5&ZKD_Q^.LVUe'x>-P"?ji Xi9ᇪV.T5(=(_g#O]&{<KQa?KݕYPD~}KK|"8(T[pCAXF4l/KIBZ//@ZޔiP%"2: K??LJCPNN0K/q/oKAREWEGA+ TZiiz?&6PmAi}ik=\4G_╠^K/<_DCH(O{(?Q}O9㥜X~ւ^fӭE^K./KVPI,:K9^-iqll? 鿜?U) K@_Uk|E/#lr:_񯜽/et~cBCaהk=q#M#+-b> xy"I kim%[J4Bu ˆq/]IOCӬz_H?L/, +B?_ z[}f@$ir/_?L0ȯ" 3&.==H_]G DYv@#2_ 玗Rץ疟C Mh/_NNGO_>=in  l.Ϥ3@/zA&E?8A?o:ϯ-o$ȘWK^A &UAH}a|9 _dHۮ_OKIA+ k|}h/c_EUD^I6oA~-IKz ~o5 1I[zUYrI:g9@P_/A^ifTq_A>! G?G.KUm./5 <ԁ(<W-"ᰏ$+Hk(_y[5Y +s΋ &T΀KKA?mzD| K` M N3M?V%I}OKʿ A\ӯSoKe_ح, #;u_=R]?7NaץWat 6k_@͗[曤:K&a o##_i^~okIRKit8cJaA& I8A6dPE~" $k5I+a,\%G} k %`Ă0H0`   .4N7; y+ khx AK#@E!LN0@AN ␃[^,X1^#A?H&"4ABP"CTSB:UDqL!I1ADDi#B""(!ج/KU +endstream +endobj +21 0 obj <>stream +x+*T04U0B C=SSB!9WA?37L%_!+) H!$Ѕr\C;O +endstream +endobj +22 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +23 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 89731/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY|pUG>_BAU  r!䅮dR#%յ[!zG$*:NW\{ +W_Ko5OI/͖l-&^A֓iuRѱI|_֝bq *5!qZ8ztxOM8 xbP-${ح&+mJ_P - .:KU]IhZ }%/i(Ԡ/-$޽Ϋo,$b:'_KcK,$IH*J~^I}^JKꖕ/B>aҤ/tv[zi$vKM[3H6L8d0C@@0 40)@a$Bo zhtD6eS;EMATvD"*͘h3^K" tau 0gX^y& C:g" n`pA]CN6 2,@56@lPݲm0el*F e&Mu +*l0BeT0LQP:gel3T2S(&Q a.@A*~iנVtQtExe>e(DWS in fCl#qŗI}$B4ԸL'Ϫ%'<'iB^B]h + mMly]D: + 6$/V XtOvP##O^hb\UضWgAA*EVޟ%|{~FNBy#oxG56q`HGE<ޓ.9"#ƸsL\v\sDFޗ AzSUl=oΨId^_r eүM/4K!}i$Keֿ(K.sςJ55PI _=$$ΓuĂ^`3zKK5/6WfJz^Ǥ"|Xqc $::uKNt&~I~]yޫͭ/^ 6 d5i6 !uI^8 TGd`1>K#E9_K#Rx(d"A'^3^qdGסJ3)YF*"?FۈO -(~*\E"N,Bcrhr8fi\YYts$C:ĒF3zt]x9#q~|=qxMχ0:|>uOejtU9AI&\d hE}uE9)ҏ1?=TMH 0Ozl.h/_KwDvx>.x>-}--H:5k:_C+O#ac' X0zO%a?2D* +C=E?&Xat{\_}ZZ^m+6 0_G'pN:̓BL? HFjlam&DuײA1_њ(_M/"/B ײF'PukAb`-ɣEGl?K9^-iqll?u~hXd ~dXbguz^N ^f g#{:?@9/f" #@ؖ||ïN(TAm^s|ïM*|98V~_hKүN~\I8M\RZh"$o]׋$-ԫ _X*#MXoIB_Wֿ}u +]:7K&!~!RG/8cVQ:ﱷ_R>FG#Ko!DGOߑA8"?~)~# @[X$_ C?i~ȏ]) +K9DŽ_y,oz[} _AI8]4/% ._ ?|z`xAZ ^ͥ(-5/u^![j_~?K-?H~o8 DU_ׯX Mh.?$Y/J ,L AU׍MץM.#D{x_As{PEߐ?eg x;Ƹ55/qʡVKWKuU( &Ai_YWDt-A1_U_k]2[_Aos$%_e?Yk4~aFY:kO%nEA>! /-P1)!-/[I +C)!pG[ڏ5 #-ˆWήyAl![J<Զtҏ5.k_~8W~Uf1~޷ʡ[KۧҞo/)IK?$q_K3Um;v?' o%GpE@\B Mߏ@I_?L*@v~ @  -)ޗzU)mxz_ m&e_>J qI&%oS Dvz^a(N !, >?b??:PAa}#ӏ&ov"0aZ]|D?Tp# K&䅤Ǥ߈K`o$$.z"й!$I/A 0i-xA0~ sab; padQ:LH,2%iӘ/UQ4KL (f%"&޴ Kigbqn_%Iu &VtH2(B `Yi/VI S[AV `oһ!da$¡h2AŊCfLZHZCA q688LB ]Q)`j0b# {C5AZD>FHi!,A axX5,$eh "8AA$&1#MP, ̝4"BhP CVӂA"""?Dv!iynq-@7Na,E"$ D0$ ;1ْyl e,a#TPƲ-Dt{0f[athrth}Æ/u 6q\漋i4f9ENᲫdUCgp%.l"$T|:ոLY 0S%HtۧPh"2M+ոUaIH:%(ۧP{o3L:#X}Qh*EyeQC)7I&0aEF +TeIn|.O鸺HR=?FA7?F.Ҫ^jM +_*Н4!BKL|{~FO"zb}& ҝoY/^oR${N~8~'AzSUwIoH4~DD7K BI-\0OBI/o#J55E4VzB,i$&A: 6&~ZDI?I$&0ɯ)~x@~D`gI >7D_DYKJQq/PDi6нBI& AzG/nsz'GNI_^qJIyzr5?`gt_B꒲&d"qs<&^O FsKC_9 J}Σ 0J:/ץlB,NEl tiC:ƌץ~fȏB/In4 '&K,G֍-&+=.Tqs{DN.Tqs%~eF#MF3GTu> 4qtqu/zu/3-(տP쌏Eנˤ.]PAq0ި ÞŪG&&T$|\_=tervPgЪNO|ZDm-GDpa/b"O#~1m@%NN^HKK/tSr HӬ W"?LJ?Z_ n"I}#iPH_#a2ih 0KJ_VF*`!zsDtV_zV07Q_L8M{(?QbH0f4҄S6PmARܚ4X#z_؏,8~SHxpeZZk L')׿sk:YqkKe{ag#_ 먆 /#}s|M\1! yl^Zo!tOy\)n+zWZS·/$}>ߤ~=/J9rܞ%K,rez]$>N[aticD}:{wI^>zat?Slu])?탎ƿ&8? x^_N> )M`zO3?* +yuֱH?L0VEd=/ UR.H?L/?} _A\ / D~~3_A+O a_Efx kfjC Mh%0^VK@ &.==H_ ` _. _ׯX Mh/?@$A^@$\^zYBk|/UH}" 5YeP?@.~/!>7W?L//$K$I^?@J"IY +\sGdl/.)?I(AI(A sGy:_8JRW8 ^a2}NL5]lS8g ,85y? |B +/e A!A~‡~s/~‡5 #_HߝbΏQ@$aerezW~UdQAUߑW~Uf1]5o (aA%]?^| %/=_ @p =At 4/"v/Ak8x'D%t6VZ,q5481I"%8lA,^ႯGCGA"A}0 ZGi$ +JЉ%4#taFFDE#CCB(!ЈDDDDܢ';`#)JKrt<._5=0T吩di楺`AlDQAf ЈDRgNF+Dg'(,Zx&4n10Pʧ *&u L&/((FT3 qgTVQ],-qL)(@њ"2J}Bf&"2A(E#NHl#qI;L>P 3Df3࠸H4A^hb\Ur4d(Ӟ-YPi B0oIsL|/R|:'hD{O^_bmlO}&Mno_> +eT0 ?IMWfpSL=/KK'5ʽ /տE}-.a/kCI!?AiCn"?B/8]6_z_k-#D$`2_Xg<1Dj/χ0Y57~V{ҋ$Y֗\^ʡ9"G8(Xou0߯1?TGkgG)>)r!+u 5kyKy/=-߯Mu&Xat{/@]__^'pN:̓BL? =/+jt8_\zxC+MD^iake$/IAQX7[83Nuz^NΠ}0{=/ 'G ]aKm,%HZ_D{ȷm?XlDa/*^rGY /l. /*MOF}WA߾(#T!,_F>G?,\4:@ y>NR:\-L]Mw? yK/ԇ玗~CQ'W]h< A{޶/[]ȏ xk?~zJE%k^?# +mLW(oK _v)د_AnaSY쥪[k_~_0/AlBe';' GkCBJMa-H--2=[9g^yzDtB noJzjPpGKaiOWR'ʏ_oReL -׭1X֘>A&A  -}_ -z[*:/A:L?WI&Xpw?|GI)Mc@տIa(,0oӏIKa(Oa1oӏv[!!sմå~["z&<$]\m4"pp`XdJ0Wa'\,a~`^ %V (M3F: +r +Un*l΁gz! lef2~g.4ʣ:EuˤQ'&Teah#Eo A(AyeQr1섈ˆ1mˇA*P]~] ҶͯHf + \8Aye*_둠# v/nz~Ų: + ;(jLL&yteWP+:|:ߤsL|{gK}v;Ui/1>XFn&lv* HJ`?Z"?]SˆW_ߤM-_[ttk?Ti{ĂB&گTZTߡƨ\k{huEuҜ1OM?%}zW(]%uQ֥8hG H}18 Wץ}_נ^uAyRtv8o>IF(Fz_"zVZ_`i?o֩0Z\b?`)XtI_[L?]ii|^ʡ:7Mf4Y?Fz98$D~\Ρ2a=_"H:GI7o|oTa2Ftt׮kAKK5k_I*EG!/` 3oTi[ H^K_Keh}eY-uh bgʫ=Q?h QuV#e:ey5k~co3^:]ioPze:eyK:+K--?K@_ 3 +!]__]D?͂t_fkFol5ZƔkM/?0?u _Z_%K,xKo4#[[^:i5ǷG`zO?9z_PTZ΢ r@_N#'U +yq.VGGc[K8#Z/=u-A}?]?Lϥ}:? Ab]k~ߓh/:ˆgKKB=o[Zm|{ׯmYBk?~G_(UH|QIuiZյ/2B|5y##`[r)uנ픵>PIZ ̓^_ئ+}\S"^"uz Km{ksҖ&0`_qk<ig&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*"R+#TW[`AlDmDfR0 eQDS<+HgivH ;6UlF"26-2mP$&,fT[>qeͲظ}>g %Qʳ +z:L8Qy^F2v4 -WË]%7 rEjy8&v1ok0:*[I0wP_7։tv;_h^r /T 2*ѫz ,pF@_!)28-!h迷w^9. +ʵH/eZ*4Qz! -.a !h"кIWN#XQua_ zHHQ8]CЧ%"A1r NB_qJT躏LBOT?}(eP^D"?#;/ҟCUrq/>\QNKA!/Z_MaӮJ?j޿p@i$sHGFAta齃ihn#K J>$gIJi:WStz_ EۚF]H0ai|CԫYDI$a?,7XE:۞ D&aָ0T0׵A_z 5_Ď|~\ o_M.c} aw__zSm7]Mrjd=mWy:/' Puu,__][{_m[kkƖ`4ڷm[^׭.ZKtʿ/-{ :ئ+bAn[j'_ӝTWa3'1 ;AdkIn_5]CN )횠p漋ilZa&q;l*Q;nBID. *6HHL7NFmPi 6i7P&CWb )#EE>CH t DDA0]$hTS4|e;!#[m}Hip0s.Y$@oݿ0eˤΠ^P:0n&e%JbgBN-.\U[mHl!H[+kiRIť oԈǢ]k΄؟D a5!%>=թ 6$x[ѨǺ}P9 ->;D^F-, ^ӞWg_N pXO>Vj6:}/Ju?O ޖ{+Nt\ +jC򅤒I~X? jl 6-YjC򅤒_ _=!&hCƶVUHI|)%$$yeju`fiO$I _omR+*ʵz }?нBInse:6Q\vB $NcVApZ\Ԍ/*"оʰ9 J&Ž8RoK]RWZ7oS4Rz΅>yEJyŒʛCjL /?^Y"? +}B3^KKKP}z_G,.TqsiB_#VtLgUts镞_!.ZoɄRFG"ԗl+AN=~s\J:qE:_p"i6*Ӳ{<еL1Em-G|ZDUe'KB[(AGtR⟏%nΞO/S=}/?xʾE?H] +I}#{Z%#h_ф/~/J3ӓ-Rk_HT-/_/C=9::+O k_#ޏ3FbqlW^D=1V+*UgI0;]^D?Kl]qUoXjbsP_U[+CEoXsjb]7S\+mu?M~yt癈9#TRRM~yt癈GK6o!_#>!K_nzTK +a_gғ4/%ⴘz]$)^>zAsLԌD]|VKҼ|6]B )$>]^ؤB )uzN>8ށa_?/!BH_ XaD|esE~zEВ{QN1VaE~a+OQWlT`_&dW}V 6kzX_:/֯_Γ6  OR֢O:(3G Mh-H_:/ey/-|K(ol| A SSϥF\^%֔i76>I@P#mvz_|&_ /?Tm -/_f:M_Acm[^/ L?$KD]|/K"?&MQS_u\$&IB 97/J>IbM9.[[zY]&b$+ *_)PA A]ȚZMXP?IyҥX#5  ֗_86F3y >zץOE ΂]-&A?X<Ϭ?$9/lJG:,RU'Kaxo%GQUoO -m u޺ZM~bI*KaQF+ xo$)t u^ MWM +p~aɽRXdt|| 0NV߭ COZCz oKPwAlOW `~U!]J&\w%Mm>"HKHH^\w%MOV!Ί_ATaPM]'x@APi%a +!H5A!LL 5NS⼜o[8NRAkaGojuB~ b#а EXhDPCH! 90B;]SB:DzKaUa!z"#L!APЈDDGZ+Q*G`d1\B;RKY#R;%'׆V27D :pƲ'KVOTF#!`Cv::wUQӰl>z2]Ԙ6 DmL20l6a;`2 l68eV!]CM6 Fv¦ 6`¦wvϨ:P "םI*eiamt*bS>A)DBhP & +%^ʳꁒ`"(ZIoH&$K]$h]C)@(CehskΜ*ToO%Ӑ^Ƞ*20LL`ˤ,yBt4IGLIRIm@gTV$$|?I _OGI'fD<ׇ?za oKԁyC>ko0 c􈷚gʄ'O^j>"9Ii0~T&9ֿI7ޞ9Frc+57I|E{F(}~ht/򅤒_~X _/PHDGE95ZrkRsxO5'%k.HO i$$VAј+R_k?OI/B $NSVApKhDEI/!%N"пЏ+S +B%e`K!uIY*Z7ŷS9迴'[~hpbsN.t) G KuE拯u^E8_HkoSњߠ]Ay C R#Ӝ"`EC^ߠSsB(Py ??K"UkFj(a4=lsQ?H^UV =Kנr!Ћ3!4im.W' +^Ai7\eL U]` (0 sΊI-][Li' k Ie ?箵6C Hv uA!7ZXA AFw4WI$i[+__H0 6#7NK`ZYS U%` _:Z [ai6$a֓-/ `Ia o *]6֓t$I}& 6 j_ M䄋=& IJRlt){=Mh.-K-,GBkAi$O0zL1$i7:+KI^a"(.:Ba%M_6z` ˛ 0AE/ 6A:PYG` s9:5_6h'<ZMc K%ORA0 0e)Ǡ0A$߆+ Pi&AQ5#eC)` Fe8b{ ċЃ k@ a L&^  + QI} |BA&_D% k8xSpMAE!L` )X^P 2 L$׸`A5O +E*] GcMhh D FDPB"D +!ZHFz"""""(!庴[GbqDMDM!4tVt̃"ar +T*m8gy  2_#H$F& b +QIZiM\;al`afh֘8tL`5#Z`;aVrС-: +v~}$u +p2dnxe4a tD 6pDNVt|VVs! IWBȍ&rmV + J?}Cm( .aΡz Ӭ{\GD>LaN*vPN灸#OF<0O¤K(K.i6H +U=.o;Q<[o9!V܋DƤF9IiuN'SRlRPKMvS}VD2#$~r O/ajB9I]t}a:3ND_Q%VOpUKg"kh3o.!j՞&@tG5W꿜qlQ{[8&~028\5#iO$j `1}z󟤾*MjWN?_2^& 2YT8)\k4%HO&GZP.ATF0D"]DZCT++lLYԍ +񧨩3^D;(JIGzsODoWֺM:F*I|?"E:.JY8 F}ruP!ZA5_~_|ԇ5.idΝ:4hGD?udFG"tkTVC_l8g:֫¬0\HR*nguyp.ʡzWMQNeuvPg_O $ J|>$nep[Zeb֓H?LjeVjU]K=?{&>?@M¯Ka[Y$O&k:*#_*3ӓZ[IB)ָAՈijM浯">n+"Y[ڳ[ba ^_4ۭ?KA)t ީ5&|%i6Z9 | ~')׿qmVm$s$VP%_"ࢾ}Oz鿜55K|>S^(H+%T6ל>VBנnj~ߠ 2+6_\@"IA9jYoY_"RH/_v6tn=W.GK?_OOnto/Lz# +ތ-pZKv묆yVߥgLKL6=/H0E~.YAςin~Ok]k]#-"I c% 0Ҍ%X[ni2ΈZ~\4I5)P"?t69+O ȴS,u"=C)_=--J&.=<2$KE2.4kQ'^)^I'Az:9< A~Ki뿭 H#BI6/GLR?K_ Yt6t}R_cKoJ_ Qaf@W_R=}|/_|7ϥn$KAzOADM{3B44 *vR 0 k_@ktҬ|]7d}pA|{i%I/ZGqΏV-u>#R_Im"eW?z_$ǂ%4z*O!q.wa*i-]r9}zXA=s@Km Ko9 ]0A%/; ?:G*]WRyF*MIAi7 X`Đ:_KekAװt%&/Akl-&IjWl_J*]קᆐ UWMKmI6omq%&_@_KRlt/0 HI/K|ߏD!6a%IWWt up`[BA$#cK`L$Q%诠a}*D8?&H/T1ɀ]l4 s2( t'6wHԕ-íK#ǯ4)<%Acu85ǜE:A#& +@bQLϖLMQ i+TSO/ +A CAЗ:+ $0Z_ t 5+ A2 klPLh&NjA&RDA =?hxA0ca$(-/0TL/axhxA0A   -LA0j")8hAauM G +E*X(I5B5M PL$A)xA +DPH!0""""""""(!hDb""""#,Y";D[,v!&բ3;#h-3d83>Ӝ $D4Vcѭ #Z#TFv3 FbBau g;Ecep$B&-4a¨:|&UM}A "nɹ> %|:%\, ˜Xn.4TmE~!! 聄Io-*aZT[oP=,Ml=fםAVui比'NE@MF^>5pol2u|%_a|!i:dd}"w*IťHF&_$~}_m[8F V(>BlOG"M^9Ii^jM +_*>W_})'`f_AzS0gMQ MǴTU80}U Jt6D?(ZI$^_=!3_w0VKON#Byo>H] O$ݾ ~H6*H7 rΥIQeדDGE8eB2^_Om-/PD|x:k_I*KUy}3/4{z_B꒴?64TgCKCYK>:K"`B#5^dʅ0BP_yZ"Q+fi N9 JmϯdmscЧ#0#~>_|tz]Q9t᜘&Oߠ!o}Dʥ @)i^/"q3HXzddB, ղhE5JDPg0}Y{K.9ZM?JePvR=XA]8θ +_m/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\}/O_kiZZ^fzrttV\ƿ#0)I/<~i:b,uy4ti/l^0 XKϫ}|?!TP@C~D*Z98"T)չŴ|?^zAu g%݊J"=, 6<ֺ}s|8i &9k](D{5o^=~mxArXC?EϧR۬#@z^yat_P]zM*}8IiTlg/׫믊at{+RWJ}+Ҽ|:Z*tKҽ/V&!hW_,a^PFIz]mޗ &Pj|sE|D<t$ۮ9("?##_ϡ!Qr_KeW_A_C/k5b@$aN;* __'ҥMKJaI4AsGV+*_ GoRM(XaYlJ[)Z 8#x iҪ- PDy.=/a\ׄA/!VK$[I/ЌVߠI; -4HK*@t$tzW3y7[il5^4M?ZIm%7A(a HM +K5M& +K xAmǠ& W? "J ǢBB0 8 /AmΊa5TAap &~1?A:+o8*k sĤ_ <0 һOK(? ?&l4Sa 2'%t&E(J L4cT@DA1A&b`] !&DJ#"L+ &ya- 0vVH2|kp Ah 5A c᠂ B =&AkaG 4 `!ÝG 5k$፤2h >NHZ#LPjBL X!h *`a`džIa4AA@RI B"A 2"B@hjM`*5L!AT!b"""""""4aDD[p\2oZ!YREs幒dxŅ˝LF"6|גvwZv527dSRs%vL:guw +AJ +Y 0m8lUa;Mad ]M 3ߴ &{ `@0}ӄmX|*al]T* Tvj1h$ 7wT*mUeB 8T}Ag .sbˁ}u%O_ 0őg&ۆS:nU &rm.mal2祕3{uM`LGP ʀP\ T 9@D}"FA:fפf f\0Woiv?$ }}?46H +*΂Mw)6H +#*.٭?ۇ0~~9!IKB>=u8mH6p)|BtzZzn/@E__k(?}nn=vm()kotq>>VѫUUO_5]CHn_I/%wYqJqQxXh/\]__)ɯSC^!Y:$ΧS<:."sQOL+*A\?3{h΃1Αo6\2:i{_MeZ΃qO"Ƞ*0I7^Gۯ_qKh,mz N@AxGn DZ-ӂUGUT[El;KeTq9Csk-P"?k])t&_ꟲ:(3r'o)iYw_<_g_h:A O MK|=I]1xzM>_0aQ?ehu&{z_i$P"?^< T/_~A/`}nP~!־z~, +r< K/_]Virr1{tץia5^99NzC_"4(5ob-(D{5^ 96z_a ]xKZy$>K%b<_YoY۬"/hooSu>q Aq 5>ʝ=G] ?K_^sEm_Zւ#9#D +FG/KrSsEGFh +տzL= e-}/zu4_ w@t?}Aq$t ?Z/m[__^ +6HM%]L_4C@u0_eǧ:/\X7d[[|[Uuׯ_'_t._ޮ?^o=RA:_ Tׇtk_vmcEVeTA| R_O_5ys!o?sg +*gSq !S&It_ipin m[ .y_I5BH֐lH#G4]w `2/K~BI&/_Ka2 eZ[x i- &QPaiq?[(?%Mx9t_zM]Ka v )isz_KIaֿ)X`4$A~^E>$ ֐^M/K-=.)b>kI/~մ a,0m +KO%A;-B[ /萣~KV1z$/$/8HH%>k dO_P SCһ$h > +.::+ti0"hPi~2}"SXjl5^*K`BA |iߓC ѯH,0LSa쥠,05.z0||$á++`%m&DH't;(sg=_ L b@& ,XcXkA A '@m`֖pJ2& Bd+_BL bh2 Htm~pV">㵄#2 *5*X_E-# ¡G5BlB5B&PSB#CAЉH4""4"# DDDDDb"""?&HȂʑTDرa5;tu|K(ȧ D!Y $ICux3GáPueO\0gVj(C : oOoO +d@(.!9\0bd#HbN5aA17S|y*eqVtmo6M'gʄ'Om=h& MBAޖޗ{U(Zt?-oC ${L__C մj٠g~uI~o:4%pA?w ^[IzaK'I6Dz7IzF__6ސoX955׺x_NO4I- .='IjDGE<NAοCZ?M4 ԛI,dBJl2<2~?LWc.G[*'YS5ʙ#6EI&D}vW%dʉS5J#HZkUG5"ߚ,@!?:v76 ."ӋN,ZSOFk,<:\.d4j1]$k3\:kOg,I 4C R#Ӝ0K:{=tJ*eB?|?T +k=tJA0m( P^0K:F0A]t*`I-HXH0 "]%mCUGg#(?5k//߮yƶU QKn~DKI+ ~4֖":UIyNzȤhB UozRk_z/@PuIHBI_aVeliAfWI+8KY5_{eNך*/.!0X/a@+m:XIoA/A_8Nhz.A $PitU_ֿH`[9 I?Oy_]_/edmwsG@8 $g$ΟEU$j$ig]8[i_@U"? D_$f#Ze` 0z$hЈs?__imcYP.B*!H ˢ@lK_S=z[R?%=[yt9~{?Al* >r5AI,$D¸_eqT^GY/_côZS_}x@Zֺe}?T +֢t}{((cVUK36A"G!~H$%nV?_]=Tj3!1A~!*=N? -XAl4dwc^A6 H%ZU ~(?ǚ?B%I%w `2旛5PkKU  DSUMi~^ΏWaǎ]i2z7@AS"k_iZ O)?/N/e7箴 vOWO_O-ӯ *ԺAvdI?/߯qZL/JE>$ ,)P#;UPΦ/M 3)b~^%Ǟ]}v,R >~H3 S> `g&AiXWZZmV%5__ Dvz^ 7K?aXh/a$";IM}%[_ֿ7b"z$--,GB0m& ũ` _aAi6i7? :@C}+i7$cK Ž0A$؄AH6z_KKyY|D?F"S"'ɃSad\ii\&C4( ItȠ`ڟ\` (frIl$K 0zMd Y$áK-z0J+bpl1T$ m!$M '&pl1E,R<{g*=(5@AdX5 A00^A9VI4`Ɂ@  %h'דA"WH+E!)g`U ZC H %& D  Nj H ʘ$eab#i#2 !X(HtjR A"4)7I#CBj D ! hDz#U !ADDDDDDaPDGY=gb"ܓY,GTNv*8g\<#RdJT3~:Va]TpXOe${O_GY􍤽/՞؇׬_ yH9 +rk 6N?/1BJl2eZMkӪ#`ez#d j$^BJEi~pk#G>qy)Ku))G>BPץ~hgNZWH?7zT0"=9GK>k7"^HB 5Dz2?fʀj@]"Z)ZDKo-CI8aeuvPgu?K#AOd')ӓKu{ ^#W>دD[u֡Gq"/OSR+ץ6Pmۯ_^AP_AuF-:w=t +Z{M[]7󐆵҄G^Z&?$e}#XAx~lBI_ϥ'o!tZ~:Z +m:zWK]eNk< ?4)~6]{zN>o.i%,J4Bu HBXv mu_u I|m+O^G@\idzeNa/It_&.=<2׿2iңY?K/0geށNNGO%%MUa3zB?M +־/lD~o5 1I[^)zc_yt!*_~/H%Z l +)D.$O5_%q 5/AryO#xQğ][Li':G}}/gq` __oKzV @&%{K 8zMAi7H_=1 H6s?B\ y"L /36` "l t= '&1Q=|R|$áAK"HA,XAH! 1A0? Nd\p HPXE!L` (X_`) +Dhh D GhjM`*J"(!ADخW ؚ&y\:"*#V);#"w3> 3̶rgH1Cg ++aYP8;Ʉ̜ĀEQ4in_5]CN )횠p4Ue +*LvBDi&dh5 $tJa¨Pj PuI,-Bug& , ˜Xn.4TS4p}M6אae;!-&ԍ d`?2AqeyBt4DP\ RL/a4@IR$ذCKWgAAR#"tVy>m ߧDԁ6p)|BtЛal?FB$Ǻ"1A'Z_Oӆv;_cpSiӞWgON pXO>VCj6(a`ې0a/ y@U@{mX~PI/՞!^UAŲ0A|3|f"WKKZ ![+S쪎$VO$rk8N0)'%_/0θ+S0 Jy$t_omWyWYVA^[^$K7F92f}i*?^0/*"п ޗ󐺤/n L[ӈ!l8Bֈk뤭 LI::yZ"ƌץ~hȏHeMJjkI6SZ./#eCa㥝VE9c?_KjΟP@iz\~t?]ikײ9ߓ 7Zzנ4D_MW_Nsmr!(UAI/ r8pKQCI=TmhZI%@1-Q_dGtR⟏%nZ5%r.>_-?xʾE?H] I#O5I]z-#h_ф/ +iizZ}浯AijM_6bKnc&klײLk@U8j3zS]-u,e7G\k\b@C~KZ5nr1mK9(/ʡI[뒉#uc9_?M~yt癈9#TRRKRIͯI_޿Dg䀇!K_nzTKתIg 4/#6T/W[/_!JXuKd&bKvE3W/׼Ro"]B )$>]^ؤMzT?$t_D|eG=amsEzEВ=}|iGh6quLy+a$gKeN#/VaE~a+OQWlPkI񷲈2WI+k)f֯_O6  OR֢O:4ނ]kl:}ZZQ߂A&@P#ׯK8,5 } H&m,}#ޗ^|&_ /?Tm -/_f#mz ߏK0 m/ _uK/@wA]v)[}/'괮넖!I(Ag9ץG3Sxu5iYUmA/B ZU^>J _/DjHH֕*/HxA1KGm-gA\QAU|}KH!K('ұ3_yCmX0~ICr9_Av~Bl +ii]i-R PDzu]& "%yHeEW tR&B1XN~$??0(A`XKgoJoSᆐ U  +JޗtA%Cㄯ?= oKPwAlO_&Z_Ί:Wi0*kiEZDB*_nIi/ O, taPM]'x@APl ~O.JBݴA285_z I vp{ {Z"O.GJ4Döf$ |5 5 &IdXQ'a)p^N7L-'K {)Lbcփ A0wApca{ +B e!pa hxz},5`XGPڄ& +EXhFM`!A !uM!-T>B"# 0DDDDDDhDPT""ЈDDe$DY$F)n+HⵕTťjQy( d)IGLd_%vkVL#% E:%L 2)J64D#Z 6 f 8aʬ#6 gY AZadFÆU5paÆBv2(PEFQ2o m*j[MN 8T(DWi 3 + @Äͪ8T& 3 +Ai B*vF&;935 a]U]e:a#E^}EfA(Enb\(e [LleK*gHH44[{:ypB΂(!s_wM2շIHtȺOT- {羽GISZ紊}p;Oͣ~ۤۤ?IַgAOl k|t/E8kttr 3t8?&o'F6WM:v: :/a&/zWFei޿Ig"3OΡ7 DI_ӶKWz_BS#xqQ$%<:!I _U>ޓ+@YHKKB,K&HUgXֳMVAupԕ,6HplWJV"O__I? XkYQ +H":]-'꒤mC__ |>(6qkfkQl~}{+Wʫjm.IR~TT?~Y>ۏK5߯\[_u⿏fI_3_HH*H*0-K/kĆל5FןC_Ț/\粑S$zh%P, }={@7#ϧY_YA (cP\P!@}ui7t3:_"/O Uz\^(@ @olmXFΣA?WΟS{΢AMC @ _޾\4K¯._#JuI:ArKt Awn##/L !o#zh Av ~}ot_.=:I|NIZ vMƟ%鯰!ǚz]uNm %@kGizSOA?uI6֨ SA&q^o'_ y=]~yf4+YN _Umon`z"?R_0%{(FM']=0ArްW0 +T>zRZ^ޞ+8mB}O  $W..re8ZTm&\iL?EY*A}Kϯ LlHQs8/TzH<": $/H J*^KBuN P"?C߫u!tOIZ9[ ֟i /?_u__zMe8+[(}!IoI륚[aZ~?jii[(uV]&Cz7X[(p*_?bHD /o_XMWM0RehoKi~i ~ _▓I%Tnomp_*ǤNL4&h'BA~ZLi7_k@ I//m7S_ Ii6]7/+"pC󢵥㔀D߇5 4 +L Ƞ|TiL0C(7~O*ZZ@AcYHԉjkKm j[Ju xbEOA4RNAbKE3>H&+DT5z$ G1U>F7[졪L23RUj; H& ᠂ I1XA2/| pA@|:B> 4A` :HAš/pc& 8v4A05  /GC!z u*8K Thz  PB#@p@DD ]SB"8B8X2=2la$#0F-5@DDDDDAFBTJѐWDؓ,VXFF/Jxpι04I>NV( d)JGa_% o"/- fDP)AC$Ԙ6 3la6 Za8if L6 j`22g-)()h8l0l4If*n8DK>Ag2苆afna¦}AalaWi°"B_kI7SPDIC)@4P8Y0Iot:Y.{+S8UR7ᇧ YoWLooQd`?Z ٰ˞TϷ}X=#֗Im#n$Z]k{&_$zU_R} +S) 6!%|tN k#fT &~i7=tq>On.ѫ0V?ȶg FQ Kg"tIFiE>4=Q?xHQ^꼝)W7tA<:)IΞi!<:/ACF58+4 IMC_[[*4nZʵz?ʵz>~sQONŽ:^Y^ /*%OB&N#qD\EyLEPU__-4WJ9OCFkҿ>IF)/AVߚ)Ч%z碝 +}B32  28_HaDzsg\餧_BJ-&,k׷?K/K5*q1vSq|0_WB-?J(a4 {##Ρ"{*e vЋ͇O}$Ku0 pE%Ue']I9;(3p,GK{6m * -Duʡ|I2~?Ȏo0 ɣ_9wxmt@uQH1\"z~u(MK/\{5ta Ob\kKۂ#L B-("?M}jZf4GW_Gq_Ut+Ab&_p]0eأ0C_:\1zmׯ}VBbA^M^P + jb)rr1{Y>`鿜5_ֽ^}>ֿ87. ++Ć]^ Fi %})?_+H}g}#uϧ 2+~i/~:Z V uҼ|CUOnto*l}!U( /ƆJ .^|>R/oI:_5k/K~ނe3{ $sD']-$M\3zEВˆX[n3x/.oe3PfA$HϾ6S_D8V Zd5^mĥB#K#Kj$_eNcD|$aǧj$\辕':/T_atW}XAh$`ez:9?? +xAw_T/o $g&Rk_-/Jq_ $F&Q?_iaA+ kOW_ ck^u IJ__/atD~r-iW?:TqFfRZ^ޟֿCIW|8_uJ?m/H%Z럏 4_kJ_m&DI-醗 `_Hk(_+_^ +>K/$GZA Y(}_ <[*!9贺?}~+4Ka2 eUt:kdI?/Z?YN +=&HR~fH-M!:^_دP@A_ʪ 'K]&CK#K0<}& +tqR0A-RtKoo@- zXuo K?G#G]o▓%I>]%_HH$I'L>?#r cz$/$(qL0h'tHKH8AB M 0ү'0q?AΊaΊՆ"zAPLD \\i2)} AC =&O/Z]fI&UBG!Ѭ56yyJȥ+ h(Æ=d;$ ai2(t1Q=|KA1Z"@xICxb#L? S`2 z TAa =@ MiGAia@|:C 5 ~D  z"\ OOPP) XAQ:0ZCAa~:-, K0UаѨmа xi!KGA"4A!CH$T#4"-*iX(JDEqzKDDDDDxB"" DDDDDDPC`h 1Է493:KLDmE3R#Y;jG`hpƳ{6:(rC-J0m8lT(a;M*npʢa3ۆTȢ5& Ⱥ6l 3,E B6ڰUغV7i @v6PtFa"XMS 8ENM % '맄AC較 Og;s5".b֙H(t96]$hG%xa E aWT Y0n6QCj/aˤ΀eaPGS.Çϡh߶6Ҥ$|!l*΂MآEjnO!p׿ ^jM +_*=c?_Zb(NoXh/\]//eBS#)'%׺xŇM-ӂ$~<鶁JOR|}"O4 ԛeZ~H~(9٘+i:FZK $B/#mD5CT4`ph2e ih_󐺤\RᲵ1gL,gL 0I += vi!SDPMa + 7::B,#?!0V77(i7o.}&TIIKւ.Tqs2KtK vtز\R&uϯ lI/B/8#=9'9@B,7?B,7z X5l?u/"AXa9+ҽÿ9C`iSҟC8U7 WJqTH,$~ή Rm-G|ZDSֺXmAa Îc-!K#T<^ꖓɞꖓ4H$`.?mLWDCK}-1?YA , +r< K/J$*к:ӯI"qKL P\bZ?g9I +#5EZa|24TУֿ M'h[r%&%!5f#9/K)K^zȤhV"ׄ5 Ae b jz/B VϧF*k_h[ 9]$ނ%^Hh AiDT(&dW}_L*S!恗7/a ">,$f#Zesl/+AjC@j$#6a(oM . ZU8@$]zZB*Wނ֨ . d85/X=| R^zvH1sCkҭaނu)Ah?yN ߏIJ"uzϪ#T8 tW3ӏ,'IB IutL~[]\+(W:6 +kA!_c)iW֙Z9ƠKVce92Ic_@$a*_4]w㰵vY ~B,"|_-q4ɅA%?"KuTA~#a\Z~?T?_箵 PD{WI1@KKo?mSZG_ R ۥIl?Au@vA[Zt|zP,pWuԿIqPշ?aXh/ۤ-B[ /&`'T/ǢB >%wM؈!" > -=7(~Ž9XB*jzJ$Q%N #Xc +8Ԡ!c,2 mN%͆Xa.x%!po&$i\j}szE:@Aab e,Aa yDmL23RSivLbCCqn__IZ"!$ò` X8I K( Xac& 8v+ A{A_dN^N7A0ph0_&@a4A:B 6 44? 0U8 6L!GAC@ 5CB#B&P ƄJ@ADD吥d!őREtB%h-u FR2Pʪ:dO(ȯ&&:UU +6B*V@Og;s5`] \*9-$ANB$tNkguI$AABnH4M2'M7tSʙ,e Ӭ.uH#Dޟv>\ˤΠБ7A&m ͯHtih߶6vqiw[kMU7 4b}*~PRf&*:&-}tZp׿-4!BKO۬$mŒ3M`Җ>~F4H0m_tC'tts}a5~붏m h/JrBI&E:I׽/5Wz_g"ӯ՞P]􍤣4XO_PKA#i%h%z9 KMoY |+Wڤ/kk)ҞI~Zh .='РANM~HW}"MíSd01ZM/^q2^нBIH!%6C )pki}. X? P X?M!ID4dʉS$i&֟|_h_9 J /*%N4:!SD~}~:4D*hƌץ_R}i}z~f<:SE%(֜_Z3tt>69MtG9uΚJq%B0j].:I='_ /'9B,72>h=P~( P^=Pi+###(_C&( P]cdN*w*MePvRk]$t΢0O}~i^ij?*i->pTi?/)h:ۄG_1Oē-??:_#a4ցoI*}/Jǵ]#P*]DT}/ t=Ke_@^LP믟2:#ZOIGKhh5 8"?DIAREWEGI$ZSKJvQI^+}%I%I(6S6PmK}!JXID|$+(6 S%GuVz~פT?8 J J"V#zI6]y@+L6pD|G y +// 4.!OKh[iB#ޒi=4| Gxe! 7/m*5_+\39}P^\10I},OϥHYCA~ߓŔ1(c.6IFi %u DI/,pzUFi %zZsk.! +-v럒P!@xzJ_$oVQ /IBҶcg]ߥC @^J .^|>R--a>Mx@i&8(l4Ke#M#A~I/# "I i$no%xK"1Ed?Mp@I+%&?JuA$HϾ6S_D>(^; /KI03D}Z Kl0A1q:GA&Y/ΥKn=4Zӝ6 AxH$_ւ 6GMBAh$`ez_9?46>I/A f.Q. \}PA{ik3 +޵Ko% v@'KI쉅qT_A]e:t^/ ]x@J+Z_W3$KAz%axA||}0Ai~8 t LRVI~A"@P :t'?9?tp K +\ _t!*muЍ,ic^~z$*B UQ-K.q%(\K,|_$N{iu/ZO F5$~A=㰴㰲!a#~B DS_ֹBGE^֗Ο M~H] Z_9補t]l>+~9L?` +MK t%I}\7#dI?v-# UZkB  R3]~&~$6$1H^Ki iyޖ~ݯ iޗKWH*9ɣ*ë A&. g=3Y\0겄h\ +K@oӝ~E+S +GG:l&bo?J.K]$YPiҦWgAAkAޞd5H y:ʃ*p)|BtO z[< ~Z!%>=tg-Qip)o|/C$UodtiϽCuq_obւ F_^s՞]/՞!u6ސHEςVQiGU4ǤG|5I Kd>I _ԔH}y:&VkJE֔0HxBJl2}zi7I}&(94h^QpK #4'ervPg/O HIm)?5*Ӳ{<s@> R}K@Ζip퓠A_]pEE* +~?_%`l᩠X=>yJ p"3P%h/os](EB/?Nǿ5Cw-?KGQI^/戆ӂ#G3ӓ-R}/:6 8ҵ5)_n R+G n6PmK}*a ]{(?Qf#ylRL怫:A+ ^ߥuk6]5Eŵ^9㥜Zst}/:YtP ڬ;Pߥ^^Uǵ^ABzTBzFcͯr:_>oaA0ǚ+}okYofW8Dy8Dk$T׋>־&%K > +T;~,e:{wXGm_0@79/W}}Gϫa!VhղOuʅ"Caײ|L=u]$>ȏ_~oۮ?n ICZIBH_ X_]_Y =aD|q׋I5 6(]kV Pۍ l9~,1A&_ &O">L\zz$f#ZRC?_L"p3G l `=t @P#ׯHBeT{Ad'\$PF{"a\U/GT+@? ]o_e@_~"Z?v%as:m_o^/D\Tu{*ʩ@~ aLRVK5A *s\RK˴YA%_\OTz[_ _u__!x1AH %^?H$iq>/ +<ԁ<ԁ/R YZ(yIW9ΏA"~.y?\zׯL/j?oD+ق_k:%΋㜎t_Yz]it]?LH,0 %c箴PA2][44"O.4I?z6XaIo7AA AFwIPTN_@-Wm/U_A0-A? A/l?دi&Ia%Ia)(Ac$";I/VM2AzXoO|u$R ?D T m&I~8_J6B MtoRzaEY|D?Fs\u@ PAmk M ACH_H(zMSAlry}*LAMQ5aB0a/#P 0a$ IִL?PL,ϖVG+  W_r AO93Ha4 \ @@5oPAkA04B`  8x'_o=bB Ak@C!Ak@5$e MA8hpGCGXXH̃!tMaaPHZJAahaPk 8A +B)446ԑB"k"DLBЈDDPB""""#CT""(!!fT`4v6&MqgdIʑBԷYL`gÉP39;ȦKJhh}2&/j RYPӆݐ; 0m4kTLMp2"wl8mѭ0pi#Zlu1!0:KQ黸GsJ}AI*j7Gs ӨI "5pU4sXkpVOȃ +aaHC)6ԥe>æL}O , ˜Xn.4TS4p}MuTuì1eCP=,L + Xz5죩UE@(.`ŗI ӬAp 79l!H[+ky "\U[JlGņ=Z]: + 6A.`_/'#~F>=өկ ^jM +_*>ߧ΄؟D a5!%>=^]zOYлWgON.)T&}m9vC^?A*}WmX~PK!":K}jC򅤒I~X? pV`tud?!<:)ɯO|)%$$k&UGU O$<;ioz'_1Oiʵz}?нBIns^q sZeZ/!uI_ZM\?"п_UoK]RV7X1>ATEdgKסf&?@לYS o_+/?^XњYWm)Ч"_GK:sLEIs]&V{K׷1K#u[AK89!~}/l$o帮)i^"/Ұ"5B.FKO_`cIGD]/_ߗp"i6x>-P"?Ax>-P"?_:(3pt1Em-GUe'x>-P"?S/3[~OIKX<^I&5k">󧲓'K/xʾ]/pzWL_?f+KK0K}G-R~/J3Ӛ#-R)!WtӵLWDCAqmׯY'=99i&+(6uDC_Z-ժZ?g9˯(`N/g9uUoXjbs\ R]KZ3A b-/Kr:_kkZ굯?M~yt癈9#C_֖oXTZzYpt>y_ϧYo-}4ROנ_\5u}uZL=.0do\B)TF]oG]|VK+_cK/oHY!ka_ZdRI}~5#灦_oI,$_ C_KCk}ۮ9ѯA $/zK"1J>5L0ȯ"xG(_넺zuzk`_&dW}(]/8qO6 !xMODR΋Z֯_ί6  OR׵΋"ZQ߂A&ϯj ϯ_K_J4@$Ht. +"E~;t$AVCKKپgsΓ~/C ;3rL?$K/DEx@҈~?K0 m/ _}f넖!I(A~sOפZW_Km$ A~ߏ|B +S1ֿ^M( HWA~A!5?SV/Fj@?ǚ?ZY}_(? +<ԁY.:h: +皏 +zBz$zM +j?*zgKR } A%?=Acf>` sL?>ö߄JZKej-m G_O'a@v_KZZޗF+ xo$/M~&Kou֒go&J#}P4I}T&~% ?oo JwAl}ߔiS=ޖ1?qo#Sk|D?M%sմs?AI L=|&J|D=&=,IgE|<G'x@}H' %'圝Sa :  +oJ< /w08&EIzE; y< 0eªLK[WЃXvLb Wt;(*H&($LRLK[sgدH2+1]V@K! @^ ]I 4 ^+ +?D%:+I Ii+XD| I#"= 0U :zB++IcIB҂J$g)Gh|)@hhq5$PCH! 9&B;]SB8DpDp"4(DPB"""""#B4DDDD؜MDv6UQ$B2Et: *DFT#LO#[vgg ʥ.R B+ @χRpμA8fÄLlA@a4kIn_5d]CLpIJQVrY5 6ʵ e"5ͦl l=`fHӆϨ25 &"A6,>&UM&ͺgf7 PdWp.D}6,CU" )#D6C [FA5꩔4ۋ% 07\?@1]$|/L0eˤiŷ>!A(>A7:i-?YyA~ņ=gnz:WDa$C| [OM*o$e^Z6'#~G[+oeADj'+)Bz_nSF``z֫!/Ju|u(IU}WO2q:_<ڱi$_(_!OHoX_I}mf_YI|)$$kTֶmDHH臤੔  lWK} $:ս=zm-8_IZeZx d50ⓋYˎ/4{z_B꒿a&)d!o$- 5J#kq(չЧ/#w^ֽlI}6%:Y#$GE5,AeIZ7:Yl=].:~MlzZDzs9}CJhfx-=~_ugXK$e _C n-$..9ZMJ_A@DpQimC#ʬթo#:{)?tՇ,B_<[pcօV%^/OA^:2D":%W~F$ƿ3l _7"|I0JW-/_o6EGM}SK&:3 _a#Z[u{(׊AJ<ZdckKL(";u/o"^E?% +)$UoX}c$ap=K4< RIg9XAuK+^K6<ֺ}sR"=&+AIkͭ*-ӿJI+g䀩k=/J]#emYpt4KϤBI_ia* "):>":ⴘz]$)]o3_4^~+| PJPiF`}xcVQ(IX"]B )Vo@aGM!dg3u^ڠ:In?'jC?_>-v-[g(KپgsΓ~/C>Xi* >*:i%0{~I6_"Ϧy34-/kWn|I&:WW+%A6J_ZpzI/VsGV?]9GcjtI|B +  __?ΣGil=K_Iw֓k__#_a?Zί 1'I +E9Vޗ6F3y ޕ7]iZ]~^!kK_$:[i$CJcf>` ;ޒWߠz[(='^AU&RZKaxo%GoޒMs_KoOo_I/ЌVߠI; [ x}q/MƗgz^-i/ &I&o+<-xA}$_Kߤ_M?6aﶼt4Al7ޗz^k_^~zL?4/ޗx $xK I;A(q/I-Bb+i//K*ޖ1zMIK$vX ]k1M%ts_$]&=,C")W:*m& -xz ѤyRaA7vQAE Ai5$NKXH΂$ȥ6 P}+H' (frA[iItJbLPI0o8- lN-' AAZ^-4d, aP@5I S ~4Mmq 0^"" iV@H ߭5]xM$ -'h%?  `h$JI`jBL_1I!FL$ApA$HtT, @AKmRL XyTH0IDPCIVDA F B +""""""""""6B""#nKrؘT m-׶Azy!m_-~ˁYV +?/t_ifbM__ i6+?c+~-/",30$ 5$?ٷ Y?|5 }5@?/a=$ֿ?Kү]W# %m%Nk +#! DGU E^vHe庰`AX2YC*ԡ,elA5.065 F=8eVE4p 2agfѭݲc" +DeTm D &d 5 $tJQagQ in,~D;@Gzɶ' (GDt0 \2al6tðD, S:qdqϪv}Fa(]''NDP + vXa 3˄Ays}*^t$ذCKWgAA}*{l.a5?al?!<ԛ8T!:z|MH0QrZc??$vCAfk^&AzS??GUQ: pzB"bͫI%e6ѫO] ij~zͯ֔Hrkٯ/vS0:IIW7 ! O/eRToK]RV7V,Z5_uֽQ8]_Nt) 8/uEJyőʝ +}B"yBֿHWe*O5z^<<"?gUtsOzZEE#(hʀjA}#Xz 01쌏EE@gd +um/5w.KeyeuvPgK\-&ePvRg#_D eO&\0{*VpG~3#:{)?tOoI}w-W?_/nue_@\"-a*]z^S>U+KKPNh0K5oŔ eUJ_~t@tGg'0;]0eخzc_#Ez Z#wzB99N Pߑ +-[[_sK>/AOWo:C_md- ׶ֵ5\1o!tj_ts|\u?!_Y8!R۬#@z^$_ϥY}4ZML? /o)T/W[_!JXu׷vG z ~ڠGMZu &8kt>/ ߾|0[K"1 mֿ,$_ C.K^=DŽ 2+.0Kկk| a_EJtP6`~Ü'&dWuu5l/VU:/G(3G Mh bԇX8o6 ׺@?Wg-|K(ol| A SSϥWmc_K/KپgsΓ~/C K}m/յ}KK0 m/ _u1[ޖڷwXOi] ,B @Ps}4)VteZF/isbpU- g/֭N*q_OODBO8(ZE9:1]5O/fGzZEGT|>ug LS]o|o}q R,04L2Tm/~ʬկ5z]kޓ9|I^*צ}H0-a*]zۯJ/> +J]e:YURD}A<>?o_#Ez [^0~b-룪>l1Gt_}U0 E6$"&-<^>PïKz-oY0϶FK5ң Ћ$ᆗ*?]._UׄIYAg6Kk8Nhl|H|0z[:,<:ᴊZ{91"` m&QAx"/郆G[p a_]%l.OiU-֞Q ` M=z]7I&گn-lq^/mC1}m/յ}/!:I0.AizZA + z>4HZZ]D!H4 5IV%- |F2@P}eKHU,% A_mZXGpF,`t9y uA'J]i2z~{ |[f3A!6}%ZXA + I#aSo l} ic$0)%M[{"jᄰb#붓/{GIB KnVoKKk B a`"A!?_,W@ rIl?@CL +tUk(C|a#RP@[4. "<_~*_qqjMAa&T;&d6'H8^qm}  50B5J}/@|_R"B +M1_PL#E""DC DDDDDPQU(D'-Մ; +ܭ)20qC(A^vE& (pa &h33h։n1uOpv `TmlZmy[%ag>OnP4<_#NKL?"$3D4]pê +}l9N,A  KSL*΂Mփ:]*{l.a5 oa Qqű׭٨j?N'z$Ymi6dtiI_`A??gPCmBsFI=&^si'I^NyBS#>$/jszY(Udi~ B9 _1J{l"жqBOyyőGgP +t)IE Z.sRt}/j\鮗iAK˺G0ϭP~$PIo|_ŪGP驀k]/K >+_}$@9|D?FEV?0( A-09O` <_~*_q AK]3A Vxb[4H,|o=@mxkK4AE|D $fARhXNTi ut=SBmT")`D2X"MnMTV)ؚ;.#|2ZUQ>(A +RsQF+yKTjGi9Taѭ0pl5Zal6qe +ErBl8w FTw bLMBF!1lP"" c!6膉 BgpHL[>y[I>WUU?=2(tB}d2:"I$ pm&Q!dOL +?#N_5P__6N/Mm?a/Å?Ë[| K?:^7aVO3$< ޢm:{JÜүj{O(L:?H;Jas^Ԙ_DN5vPu䟮V& / QoA/a oAI?k_PH.q/_O9Tm䍳4GD?NH IzS^q/^4λW^;VK^X._Bo1>"pUB4Iy ,!ZM8WUBak_ȏӮ*q +}B qyRΟ:5I#Ч&nUsP%SK"/`Ց0WeO%8ʺ9nۭ%o@jiz˱RIG8Ћyӫ=K"? q_I>trq?>K. $a/~}>t?Dt4)eUa_o7~*ƿc_=N/}/^ >?VSK~?;Uͯz^U޾R%b%[(AB">nUW/O-Rah?o__T)~]zYx` 8Kƿ_KA& _K5!qC_Ί_kOϢ+ uŽYRDᙲIv_oK>49,S`3! ?^jKo{+рkA<:/{i2nzTA0TLr#灦co^F_>)g@T0VHz׵A{EȌXy uoK8׏Y|&dWϡ@_K6׼qB;*zvjoo `5v~}3Z AzU΋{@.[pE//bKn^9{[WK_K?}mo\|~?}mV:]3.E_KtpS~_ޭڷZ kAAKm[P÷(iX!qiZS>XHB45tB)V+i_-g'hdwM륥/xq6\DԇQz[}z^0dsV,%tU\zKJ0dsVxߠi79 &K-(_< j/(]/zLo1&M~ZXA NG֫~f_& Z!^+%_JЯ~ߤzX. KܒG%fI_ È =&&EIPboKAiX/ KXdCCL4Akti&|xL4נ^A\E *~{օU^NI .tU7 AϢ aI"00 zA XaRX&8H0ARG@H' 045&%P`MCQ`԰"#4 Dv6J`AND4IQ*ʝ R yY ;FHȭ R yY ;*L2U3*g(#|2i2% Çp"jE3N.Vll8yFF8Amg` ʽ8pw +DŰ٫ kL:g*u +DŰ٫ kL:g pʄèUy[; NAdOL ZNaD;@pg6?m#NAgbQ +ËsT)ŗË܍ 2@ AH"auE]//0:"ү 6 f Zz^U,=2RN'z~$o]M_JU(v5}*WmC15~nndY:IsNd%l?[ŹħUTPu~ѫ dk#\>#KZo5ä}\H辽$5ä}\HXhĂ+ 4G_ooyT5&3 ]o*=$ 6!ulW3ଫUKKZ*%zi$A _5s."оh +j\Ey+S $' 8\5C(z_K?l9(kMj~m +}B-k*qSZ%_CjBPq!#'5iB/y/[zL4&vP?A.+' .kUgWmpTuÞAA:I^a_ƐauN7"4 X5/g&m--Zu#iR w.i'UOsYJ=w.i'UO^U~C_im0T54AtN:pUGKF5A[bKA +AT.Ǐ/s/er&Uyx"?Kehq.Iz[a)R#$U ײ~9 BkI%;T)X׏fDA M]/}&+mo7It}VpiWX▖?t+e zu__G^<]vxK )$F}o(Iο0yxJk>tWo:*ͯ"ࢾj?>Ic/o VƗ?F]>#@{|C =hL+JdMzn_KG Hknz--Ga[so!ih"?lF~1п]Z^-WAׄ=6 jo,zm/LgNA_ Yĕo$_ [3]Io'Y s D|t$Iwu oo&dWwu oo@I3O, a#6a(]_OZ:/@ [mW֡΋--lZ ]^P!2qimԼ"?]|G~cmԼ"?]|Guo_K[WI/K \mק/_@z~m --\u2 im[[T%>/#߯/|5ImFւONS" [x(aƿ_m|~q?;u]k=vE;JҜ#K>=8S)_8v:i:8koKGt^U?cdwMu_?+S8q@#G5m/u^0dsV_Z^?R[ib}~|/G=A6`I&QPi7F>Mi-Z[z_Yd&yH+ C4!:b ̡? mU.xm _l+`/7[ +?K aKKoKt޿Ku /KKu /K";Km*Ka_- wKZA;KH7֓h,iBXoA@&XIK_CL4?IZJ0A/($aTKEc 4j|AEA,0a _SH$tikޑO$A& #H^}'*L0"L biΦ2" M1VA Wqn)idE8@bt A &DH9' `\+__ LV ~> d"p_A&@h1 # ` /_֐A1t OL&аZA @=0XJBh  X[O ! `U¡!A#!FF BF +B8 Cq!A1E2!S)DXI DDGYUQ؄["6H y*H3}ȄjegL"3*YRD"2H3d+<2a'D"&}Ul2FOø`l2FO#H֛"j8l0HRdMCa;KE`8YUZȚÆa[ +{aʒ&M4 / XH#ZaE„F!1l8{ F;L6}A٫ kL:<*A,n.34 , mi8US "~zeϠMp> +ӈ &j;kI 59[l#/3 m.O_;mpϑUe0M쐡m?Lܧ=ɥ> +ROҭ"UUÜzHʤ?#U$Q}-tO8߽I 0q{e"$&^9"w?{bjUTʃv;WүXuXr( xzv8ꪊoLGUQBKղLp_UQB&kC'מW )Jcku& ׃'Jy$tRäܺ)_Ir9Uj.==G_I[X#0؅VJ&Ukfʜ h^K֕VW^KA>q$h^K"ci9:ʀcSi**qn&֫IWkۯ +}BSZ%_?@i}rur}-#]@jnitn-#]]ggs8eP_ X5/ЋK鴃 X5/"D"Kaoy|_t:Nrq?>+i'UOޓ_InIStC;_.5-T׵4Z ["?AֿAWuU__v<IE._9C,i0/sV#@k:4"mwD"S_L <œE&,u QvjKDu[rQvjKDu.}O-Ra~示_ad]RZ_zKpUMq Zu&Zuf<]v[xz HAS봾,0BA4Hx/(AOC])z#@ׄK+IvTѠflRb^/  3^^/_a#/_yNm{_~,C_)w?g! F]L$l3vp =h?a#Xl`/~BD-5mW+o!ih"?Xl +e V拥L<%_۷M~^X^^(/@VHzo,zm/Ka+M>[[u_l?_]>?_FHn$KoҦ#m/ޒ޴QmKo:722W! J%s/vE/_{RkPuu:/A~CM/Q㚗GK޷z[pEؽԼ"?][p5/^)7@VTIOkڷsOAnO)GiWwICoHR$K 6}t/KoHRwr1=NݿTo\yzt졇e -onPÍ-(YBPÍ*o{I}_ǥ[^\"iNz_[O#K_[WL?KGt^U?Xe84~[ ČO$L'_?-/NqYմ Np~_Z^j;t^C_wH!=/H׉#LoH׉ G}xZAlf A +AB~g|`ƿt2AB{HeEW0A !u?KM&ս-VA*0b ~ |0^ WlA&tޖ) IPA7_ /K0?{l?$& [ZA;K z[AK _]m/ <$å/I&oKiqaMxDŽt0ol:E۝A6~zALA0xA0i14H(I5HֿPikޑO/jf% _Mo$A7@Z ` AddE? h M1VAt!PZ&] 5$CpJxhN1Z5` @-@D  զ+A= bLV %R8*5FJi*5F OL&AH f. OL&"EX9*cаza0,P-CDR`#qPCZA))mBA"HGHF(!A(ܸB""""Gbّ+""EQ7"U #R`&%;pƓ 8dFETIDDTa +udB ∍gL2)aMdICaa$C K& Fa8lalaZLMÆʭց4L6 04HL]3 XH#Za¨l:0Al7ۋ͠u X|* +Ld …Ql!&V"~zeϠ\:v֓ѠeV̭a UN_Ki_MU3@=jYqNJ 8m?{nlҷֽuME+r/ea_[EoH6( ?kpiJU?[Ԙ^ }$h/OԈ_Hn?8A_9j%מՃX} ~P /SK{-ྲ\/4?N!UQBĨ7 4 D+z I/B,QFw[ ^E"Z]%M_ RQN/zE2c销#lAuK54UGwI:dm5[t[H5- O歕l4V5/]o}wWh/F[tt^#c@Gal/t6_}_9{*nפT/ZHJYB\kL#)\[in\Z0.~>귮s K#1~:RG?^.+#KzOu_____?H .׽t /!Խi0҆T;F}v^/m!6?"ࢽDKuB1Lk]n(vx36)+/ =hxf +Ii](@YŘ_Sh}?W]P"$DMJşOGuȀB4ՔhUo!㥏_= Ɩ?׵AM(?eu}xIz\E@iJΙ%_] @˭Ry)9Ω/ dGGK7]ڔ_]Ke7IN#~ZI_|u8]_OZ믮( nm>uye/S_xۯ/ tgO(hN?OmS\9nm_=ƪ``44]ӥN~>B_9I- _:?Y~9WAKm[CΫWi_}6ֿ6]}!ykS)q_8pvϋ}c[K:_ZKGt^XU?\2; c_[(k]7`2步? KI`2IcGuםK)?TG=A6Is%ڙi_G?q8)zZM;LV5`Hv Q"0 m'Շ_JЯ- #L% &?h"?~4W"뤒M ,RA 4}/KVD1iJƃhzT:_UJIAiX/H7nH0 I?-&XAIׄ4>]7ߏKi|xIK[Mv":L0l$IBIE*Ib77tAΊTK>aa&M!aރA1I_Ί_H$t 66(+EO +L&M ڜJ"= 46 /$Ȣ0oA"bk 8;ANAL0o#^A+V)0Q`A y@I0y_ RI~얋 X@Ia&MA`'E0 H5a@& ,R YHZ J POt& OL&' ?A 2bOeH1h2 H + `a$0L +%0!A 0*R A7Ђ:B9B i  AhPB)C'(`0DDDDDDi""RDi"175EE-&ЎꡕDjDB;;;dICaaW,p3D&021uaV֘p1i„@!1vʭaϨ8Twmi8[8$D;@Ep먻mp~vq~צ~Q*EOs}u}ODM_JvA3nq)U/1[b}xBla x<|})Gb[KKSOQVAלoׯ1@UZ/֫IW"쪎9( +}BοHGK\@Jb? 7`<^|3t:N~?]ˡļ4F["?Z_Xn~gw\JjKsí B8s}BT8=%3_oK/4<]vץ}3D_O/*-vk>a#E.A?,Y--G"#E +?o ׄ=6^ s:_rFEH _Ǯ/ 9Ύw_]Z믯j>wt_^9x DtA?O_t9u^oHRZS/-_/Z\Em|oX@qxENҴ?ǯ7ѡ>GpKKaxkA=iy~Kނ0dsVkۤcIsM/ xH3_/~1XץCfl+mTa`O$z[ WZA;K[]&/o#t /K b&/$aE}g$FS_HA& #_&] ]eYZA"ZT1]A:h T:ւ d%ab $=T(ZA ^ U ]A)RB# BDQ@ hGZ5Et!E`ANC*Ԏ;L(F#4D(;jF$d>UᐤkL;tKhD2T4Μ3eK3DT4TDeK3Pʃ8ʖf"v@*o5_%?J6Z~VJ5uZkҞIxo:eP_ag:qF!\#"*"<}UܺKϧG"F_#̤Ë]KOē-qpݐǥcW?K@GZ=gb5sЉm~?8~K_WZ#?HerK^? ׯ8g/R0"3@c kٕ}?Z_k +z"875+ k*joşNr_>owsN ,7lyy?@U`*}{^B^(H.^a[KaD^ /M(s^9w_mKoI)P"mI 85]UKv~}3K]Ҥ΋:$iAz[pE+|?4Dbkj6_[kk6EDbe}L_z[}յ.ұ4_便y[YY_~Jd /P1LV-b-$O(U=k?K4X+Jsz$ FfAaᆗaaKGt^cKťa?u0dsVG"$2NqB/۝oA{~|IsM/ _imCtc_f ]4ޗ^[~ߩJЯ4 [=/|h0BI_~Wz_ H"i_iJ,R]$K1"kI ާ/tToB$aΊEaP[QE$_A4 |<I>85jpq%d#^ADb Pa_H2AiAe%PA  ?h0Z_''@$"ڇNk 3MP^$`(F4HKa`J bEEtT"4"!)`B#ADGZ,\㣳\"l;v#:a'D"HdK5fΆNpȒ%hd*HLKLŸf22 3fjj3 0l6u0l[#8eLpl2Bg9Z\2YփgS 3T \8I; + n$Am#&۲TeQ7La4#&۲R j)4$}PA WuUha{ [tF Hqv\fh:D:a{ [t@@D'I$K4JHFzo A0ejcS(l#R[xnm"\$a₢t :磊}%úOb}BGM}%oUM$tv(0./zCo*ϱսo oA/Gr|"{n@m]_ʃ ?JKI@5k/lKB5k/ MI.<Ҵ$!OO$CM^H>&? W^ڄYޒV4н$t6 + 4#J^< +ؚzN"=$Q&4I/$AzaVITn4O󐿈-gU$&>AA%} Nj ְI-D8 gI \ּsOC'A硨iaCL/CL*\E-;+Ί#@6$ԣ./QDN$jZs +0.J_. _G U5 +֍K 0\61v +k .w~R^R\=LZtN)/)..UPUa$nɝ_Wt=Xd0m31#Xa8e9\֠y!pD|dV\[(AzZ#k!5@PD/?}4Rp=-**)W=-4Rp=-*%W6ozBF\[i~-|]Kai#\5$ +zM%΅nڠjmsTgB[PL4U}6yADbb/ #@ϧJ"oOa]m8ʭZ F/IZ85imѬhzM UAEy}wwA6eO?< YB[elAg{8KK0{:'[$_ {8zz_z_n.a#Ql?o+^ 9_ a_tG[6o+[WVyK 7_ʬqռi0\U4@"տ8_i{Q&lK.Ҍw?CzM޿Վz_VTTяaߑw׿:1I:Qicm}z^7M]륷zPoa/ :Pm~}EUmk-ZȚ-Auzvhmk[-~P?k[~-kP m,=t/W:nHU,#~?KE}c 2i9B㶖-"?[Aa]0~ o"?[AazpWK'o/UFy:&ۭ#a_7DQaI"`m|R#5 Ǘ 6 .~a#R\:/ʐcˆ ߗ ?A0 z I$jJ2 -&a^z[(PW< f &Y^~Yũ%bQB 1젾y"D4!P\@A֝PA0|~A A h0׆?T׆L,EAqK $ BAMa j_ XAX*3A 6x5\*A0UfHB*A, T !# B#PE!8}$A + 8ADXB""""""""(!ɹ2,H]"JFU#[JUF@ 둼xa^ȄStEFD b" f}2tv:#6 XdÇpmg? ȍ\6Rahm6E0gق"փg٩ӃvaB#H XP6 v3Ae:{lpeQC*D EM 7 UjkqY(}#):ZYS> +ӈ +Q 4YqNT:*9z-A!CNr [*u2/a)5$*2(VPC VvP l#  Ρ oMo0:F Vc cQ( Ҧh#FS}o5$#F!_=Tͬsނ]2V՗{usI?;'~,S5W^ W_m&uI/@6_kIW[ς~ѫ_ςxs_BJ!j"BҞI7 *ȗI{*ř<:!OYqr^NW*QAzϣڈ-jp#} k(kG^> +ؚP +NL(TCs Ur0Ec8ܜUs=TXr~->[ ~eTq9C\_i~kARN3:V}ԫNE_Shڨ>]?zeq 4:*? Oey_K::C=Ky*?B/'!"azC*꧚!^?^?G9) !uZܺOϤ~kkua#LO(K^u4x_wW==/Jˍ'%ުx}ʽt9z%dGGWSX*{":4H܄DH.?K_ҰhD~?G4"mw<œGbBr +ƏP/bAz HYK-F6 'G׭fRZ#oa.Ihk;gH1z$}.l Sg_HKq/M-/\y-:ׯzZuK 1\?mbuYBQuYY4k izXAOC]+k.t/q1s~{%U^oa殶_殶[ <GF/};_zZi_ϧ_a۞(K V!2BeV {_ai_ֻB_/r]%B&YyK|Q~MzXi9z^0sIF ]KH%KlpY2 =\+/(Y#m[$"?/:q"?mK8]8\m;~ӄ]_JD|%[e: 7%7:>_΋zY."p3|N[l -"z[~ q^`4BkKIB !;_[uZAmmmm"?8<}+SkK_QA/vt~.KKtcK|rBяZ/\ ׾D-+kCӠKm[#=N-(_޿BJ&vQk4_҃M^E;JҜK)-ZKo U𴎫K) =("ᔏKi.iz_[_cNz]d"/0dsVKħ_-93Kc/KVWKZP/ս$(4].? \"? l$z 6$J8:oiso/*3_mI?]0 &uKtU@oIAJ:*(h$&H$t^q`I2V z$cyG  Ƃ :OcyR ypJ[2DdE>9W.2Z# As\zy4c a|$Ah&T!p$ l ~`A!A _@Ǥ BAҥ $ PA>B!kB$ y Ρ!0i3M5F*AU[_B„#@U  N|0)(XA 0 +vKjFBDE!BF)LPO!(a0DDDDDDFCDDD帪2 ֑>[#Xʥgъ'DO;|"(\b:lE(eQU Z  HDöcT",x.p0l8w ԍhFS;l n< : +ah:%(H.B h}A?wj1pdQ2:"H/=2(tűfP zo! BqE젆YN/M 8E=IJ<\:]IvRÜҭ/k~H?h?I _^ڍy'Jy$t]zZvUg[O75Bnz*=~"- ejadqb_zr5?OCn F`=_Sh<ѪSS:T/$m%׵ Q8]΅>|DW?!?!i)Ė9dp@J)kK hq/M&FGyӫ8Ћ>FqB@E%4 G^}>_~S@_報)eeVj(]K'%Xz-/0 {K?]_~rjuYB#{)#0tVm~?׷9IAX?G/fPmkmoZ8DxRh5pK--?I,0> A0~]z_%n(D{XaBⰕogEvşOU/~x'_iNK#﷥şOsS-/],q~z-nzF]ߥ?gD-?K<{TWKK8)\2KouΏ}o ovT[@A B!]|q<0 +t__׿Abo-Vv~}3KUׄ$/tzۂ/ׯ/_oq?o _kzG״8~|5y#տ ^h_.JsG}7 >&mվ?ˋz_0,WӎE;JҜ4:__U/wScX \|ַ#m/Kao~sK6 _pHV`2步;ވK]=9eK+U}!# Z^1X__^c?/-_K`_w[J Ub ]7RN-||_z H"i^o߰ ^~ZCL4Xb Izz-b$I,tA:+í ᧤"=ׂ֖ A& # d%akhp"L/ 4?B GC xH4 fammPB"`0UB# +TaAbF"(!)"""?h5GjoW ؚ; Pʪ5(eS?ӆv7D Dϱ g$+C qs-dD64ȦKr.p  UZNMp2"wl8m LU;q?aV֘p9e8P$&.*nϨ0M#I0#AHL7N$TMal' &'QT:;=$MAxYB:#A0]$hiae; ~\3#D1,qϪv#0s.Y$@oݽA =&ap d? 9οylbgBN-.\U[mL&^ Oal?*<ԛ8U:z|MH0QrZc?I$_WҮSv${O:}/Jpg4 <[JuUE Ax(ZE?gV"-$Kg"HmWl:Z^604dB5O$&}ݾ ~UMcSp_oo]`b[ )Fy@ziyʵz4Y}?нBInse:1']--fĽl~wTJWqSʰ9 J&Ž8}}Mj~Qϯm^ʨr._:Q:_yZ"ƌץ~hȏHe/it^.vP̓W3~k#u[AK89!~}/:h/]yvoy|-B/IGRGUVR-=~_dd~"/ ?qM:~.IC9;(3%aG.ij?};)?j ?ixPD~/Ni#??l_ΞO/Sޕ"?;. +(2p㮓*G{TK=  )&"+Ks8֗Z~H_Ҵu ? TZezI/M示_&+ Dj1D{tӵLW6PmA5%_tB.KoKK^h(ou_Z\FF-g9z`i~BM_(kͬ$ֿ5f#M!R_+ᇯ4F/"$})8D{$> *ZuhKҤ_BZ^BDVnzKoA͕:{wKKi0HR|?]d5~Ǧଔ6L?^">xko3j/K$/ xN>xᄁF3$H?%_?/!BH_ XᥤgB ]|ao_A0"@0B?+tB A&=`zZӝ##&A1qCI$5/^A@Kn^\5~y~ĺҍ&& 4:9>|_a%m]/?$D_mm~?w<7H}?@zIvյoHRJq{]ӥg{~I6/҈ZUئ)PÍ I_]3ZW_Km$ A~\$_8B _>E;JҜ׎?Zk +1x_ҬI.L/~ 鴽/Y/k5b@$aQJ$A/QVF,j_z_zM +j?*`"I.:F>M| A}(4_A0K}+5G68#`aId&e O kM!:bR箴ʭ?[~A("=:ꮓi }CxA Z]o Z7J7v 'a/I +Aax (}=,RAMIzW3y7[ߥ]77H7n Mx^~_ +Jޗt$p@ .I07D&"][i.AڥXq,:H KcE~0AЦI S_=[O(' H^}h,\u`:y2(:M<9:5]&TzW`i%acT$xn yžADPKt(&($LRLK[sgدH?n'VH, vk4 _+ +?D%:+ O P*ǵi3M0а :zB++ `#F B" +EB""4"k +i$g)GkhGA1A՚A DD.8F&&[[iXiC:=7ޓ}޶҆҆ +endstream +endobj +24 0 obj <>stream +x+*T04U0B C=SSB!9WA?37\%_!+) H!$Ѕr\CdP +endstream +endobj +25 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +26 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 87347/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYH|#ÆG>?H= AnQr ڧL$MItJJ?LgռDdd;OHM'V?׷7 +W_I%oz:k&o6Yֿ_e?/4KjFƗKciZuM&֗ 8}=:ZM֟ I// W=V___oa~%֒M$/KER^_Q@^[0$׹mޗ=="u_Zz_/K 0kWr뤗 !JKꖕ/B4AJzzzJ`ꇫIt&~Lgm$pP7 `ahaXa$Bo zhN+YR+ y[P &t`Ȣ *at$ˆ etu\ /sj[cZ4tfa:k?#YW\K5?<>~"=k"=?莍^G+L_8O5k](\0@;5>yP'~A0~b9K󪭷O׏ Y ^ބY ?K~DluSE/y u2~oeNbj$^iqΟҭ-hZ^iZZ _\-DtC*I/ A KҥJ6OI7h+X>RMPI]& oK!AwKaJ1 Knt_Z[e9uo_I ӤO +P|$Q%NmK`AP_`Ȣٴm!ao.uw +-h&m0 9ǰ\0Te;+ypF[(\ h T|N vPoKX}v;΋bGU0gM%ps 2<F__`?$='װ#~TR.2ZE:_(]--W+*g4?_m$qd>?B +"yG99 +pΚK.o︃?|t!h/4_#[p?nnMk62u^ד@@;-nB +X">z㏌XxAuKI{&`K~/^G(aJ B, b:uwz#`iu_6y uzt_s~ x_WuuUUZ4ozu6xM6]%D~at--h2_/#[mmmt--HOkZֻ1LVAh*#-AiQV;M0ZZ@FN饼Dԉuh+]p$l&a4(.O@]!imXbۆL0_Aim`oK -J[ DtI$[oK`i7Ab aC4(il7AaTa0!4P@Ab!`I~L {$eh # F ZQGY)n!S<גvv}" aɄEpU +8a"Y[ʰ3f?-Dm2>F2V(}T-8aHK;/쩯>O3pM}/}?tG$w֙q Sh2,  ̡|CgJa Z_NMk/j_KKT RN +zIտeTq9Csk4΃We S}q˺#*}~s:3 Ԏ/5z]knֳc/޿׆]x tKv@*N+lRvkMoe( `x|~߾O:0~b-룪>l1}L0k㎱C5PïKz-oЋ$ᆗ*?_WOg6H~^sEk﾿a49 ^׿4AAq$tƻւyu6{*5?{.𛥤[|[UMm]&-hҞۭ=H?jZZ@$'I_.1LSZ + HR z>M4ւ@$$q FiZZ@FKGab#WMHt-}IiaA 9 Ip$IB &QPasaР6Ay=_m&AwZ[vA`&V֖0t0b#붓/ܬ Ltz_%-">`"A! rIlP9B1AH& @H,2jRH2 M 50Ejv4_R"B,B(!J""((4Kuam g20qCE"6l0al3?.P6yVyL2a~*9-r1ȭ$':W0$3^ʚeqVtmo6&_a Qqű'hL)H#NrNAA<GoH~_{I:M6tC޿:M(87\2ik_)]Om\Ri'#K,<:__y{+=ѫs^@:FuO@50 kkx%8lᩲh:Z͌_udGK:d/AGnP']{(?Q]k?@s)o&`_K"|Mb Zd/ d\0{}GϫKDl6f_ +Ë#Zy umzRKK?׿4A=kւyoC">׺K&oI>"W_eյ- KKA/҈=eT}b-DtWg9ˮz ?iߧAvazZ@F&:XJۮzZ - OoZ_K!6K!Awt\i6bݤ_=]_ $HVە ??k_>'A9$C$hJ< )La{WAaUW`*4|o=@m%^GFd +E!ǖ@hM5R +Ј +#,n!S96 \2a|e;%Kȭ6 Ӭ@oA LײlN-.\U[0⤷%>jM +_*4!BKL|{蓴I$;L)n=??GN?gP.!e7=g&pMoo~T}I}&(:`kKKZ R~pk_N?uJyőy_)~ ϡT>@p_|WɌ~?+ֳc/a7 +ǿ^ +JKPNh0KhPn(6uDC7xbnr1mK9Θ} BiM{mi?|Mb_Yoֿ7Ep_͕:{wI^>zuz#`oI}~5CCpZX[nBH_ Xs^׿ Z.WU_Z4n OR.:9>|kH_,m[[[]- KKA ,ֻ1LVAh*#siA~Bѡa5,$moy K~ =ǎr9Bl +CBzSi/ۆL_߶ەB杄Gz$/ TDI- +=[O0@[Saw0:` 0c{ {@Ab> ]Qy8߂/s + Y:X(KhGGZ9b&󹣰$ANWW-Qږ; PRdB"׃>4F"g;C k;|iu7ȒÆfEհdUC4m0epve a& 6 p欋iXH#Za tBLh0 Fuw +-h&L:#I0 aHL7NfmZNM&y=A;h.aH*y>T3mNPaL,7I.F2oˆ}h&9ŒZ6V8m^Peja~Pi {Yt0$$Q3 3c!eMu_$ +ņ=MByuH0ܤF8߶D3Wgʄ'OO >&j>;DrW$ꮴΫbF0gJNn=Ny]>;qnnjS(Zh O RP +CgJjk_F_/R}/wՈ I$Z_Mäy8jv$ejrAi'[οI?@_>~q{œaOK>Gb[쭐$(~/j +~92ZE:_(_Sz~;ioz']--:zŒ/rjt/Kʙ#M/O4{z_B꒿ZJ(׶S5I?6diŒ8h(4D?nKס?Acz_΃<JDzs?0g!Nҿ8g!:Yl=].:חtA/&#s 5RR*ebu/}M:~.Ik|:4Du}h/PgWeq1Em-G["?'_IrV[p?f$GtRF]"?;N +(2~leJ-?xʾ@ B5 +IJK-?U+KK݅M]/WRVPzAZhXX"_8]GL#NA1_bx/IZ,Eg_~+ +8UoX}`i~[a ?EJZkֿ5f#zK3M ?#!$ +_䀩k=/Jt=[L?\Ћ$cVQ_UW*t믊at K҆ FkY!I/">l2y u[K~"GD?-Zth|0~>!MI -sD-OCu/Z _AWUT/_ |{= Mci|=BGºu?^A"=l/+A{sR@u$` ]7?/4 IkGZZQ߂A&^ $g$m KmRAygG?^|&_ /jށ)z%aq8/KHDbtxAwTk_AwTkQ:^u&Mئ)Ke 8 ^Ah*#_AnA"Ѕ?!nrJIbMi#K --.KqE8*SZk +1xiW$KHXH-Zݕg[;sK5ՋRiy۠ _zXJ۬r*qkKw"I/wJ&Ht5_#^&־h $O)TP_JǬ } A%!6H3_Bb -|7XA + O#M$%G%Oö߄J}Cw߆Z[vgz_J7v 'aixZAaim 'Wᴿ+KaVKҿaɽRۈ a׎PZ[r#>oK -L4IR|| 0&/lX@%-";XAMm-K$[D&"][A6~! ? Ԓ[Tm&H6X`A S ]kI5HցE^1A& (fr -K%%0sXjl5aA7vQ *H>- ޝ$ ӄa0!550!& + 0IQ`&X*[A&Ka$ a/AA@A0zM0 ; Aza0$zX/tUbF@AK$XAAc*!&z X#E"J! F ZB#B.M`!A !DE"AFDDDDb""?ꨂ"K-FK";FBʒ ek2DܞU;vD"DYPμA=$B":lFR5ga}9HPIQ+3}jL3}hD>[64֮8mL6BE&`N|בu ;NmL6By+6m8l; A*DkD ΁Ϩ6.Z aaHL7N1w` Luw +-â&)ôE>CH tݗZT:BAs ]%|(D#:DS Fz +, f[{ 3 OY$@oᲰW ޟPa(]'Ԋ[(MKe m!7zBZ]: + 6Q(v_<~ $W:{bN_B$Ǻ~s'^+z_O >&j>)"z_M??GV^0gKUӞWd?N^Bm`%F ༇_͍RYkK6_Ո I$!&UMHKɅa􍤿?I _':y䧒GEHC~mzG/vS0JIIl=@='נDǤDpcLWi2"~P_}?нBI"L@ d5|7CCZHK +7](BIAp9(ʰ9 JIV%p8*K'YKʙ#M/N4f+EFz +}B3HADCk"W^ֽ>ADCN,Ƃ6XރN,CADCB_O/K"=9^a 0 Ctz]Q9uO[~Qz 8gDJDzs?0g N͍KqcavC G8#Xz }$0/zp@_ePvRg#X>mBQ"ocZOn 4iA|SWZV":?Z_ΞO/ҷ}-Du ?Kh!]~"?ue_@_A]~[ ҺuPNh0K {Kn +iiz!bg۫_ÍbP~!8=)EZ_]vEctGg'0;]8?'ch,WO/XX"_unr1mK9.0. y37Bzŭ.#] 𗙩8ȐXԍ]~5scZo!tq^/A]?M~yt癈W[^W=zlR/AVIZgB!$ +_/GR۬#@z^J 0J W:eTuFMW[_!~uL1+(5l=:euT}_~֒Ӝ/eW_,aKFh +]Wt$/zm:}/imX:4XH?Liq#"_+O"tmLZF}~}_MZ _A}1uhϼ/[NmA1qCEsU D\.տ}#&9Ϫ^򏇨@G=BGºB^}_>.~{ޞ~ĺҍ&& 4 ~&.qj Ikq#Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-/҈~ҿ[_kWӣZ#`6]IiukF+ZLFֵ+QA~I[z Km&넖!I(Ac+׽A"A"Ѕ?A~Az/(i1Ꙃ[]&b$+(i-ȀT~zS~z5 qfQe-2"Ί[t1I/,0aҿI$l%v_ ;- dBm& 05)oKa ?a.qO.>tʔil:I$jJ +L0&< J:^ -N39R-2(2x0tʔzL4c{ {%GAtc ߤA& 0DAaNM:AaAIA SLAa⼜o_B^L& 4$_A0A@A0zM0 ׊; b!/! Li/,0ZT 4 a0a&AaKhx_Ta$KAPi/,RA?A!!Ξ0AH4X ^XNAPi/B SB8""Ј +B#B-$aBArLvhphA@HP iDDhDDDFB""""""#CB"4(!DDDD+"'-g*Iulue YB + D*E02"p۸pm0evZ Jt,DkػQh&)D˄OaL,7I(e>æ笡@7\4s.:@oz-*_Xl!H[+k}7W:zal?FTCvC^>F TS]jC򅤒_ CZ^Sצ`t{*i4y='נD#;ioz'_1{ &R^CZ#E9z_B꒿:gKӥakЋ>' iŒ8Q7㥝VE9cV{yG922 +jߔz ۂ 5K=tp"i6x>-P"?:[搠tR%֕a+]&UւKuy:#5Ҵ TC۫t҄3Fbe"8?'^E?;Rzŭ.#s'E ^f \f>Z3%[^%ԫ¥XF*kD$AQ W]|VKaYGT,a]~5FUEd?Xm:}/5k| a_EA>ગZ:D{0^Vԇ9>@F/L %֔i76>I|6]%Ɩ`4T>f:M_AcRAygʼL?$K/[_kWӣZXk$sI[zB ^>!~A6T_(><ԁ({972;sKv4AsGW=_kG/܍lAJVO)Kaxo%GۯM$#<7N$oK<-- piB ͫI7Y izF_yb!BI/HKI􍤽#i/` ] ~_eM&>\_|)%$$4HǤr dG㶖I"u1e"~P] Y[^$ѠkA$!CZ3 l4EK(M9 Jpkg.`=/Nr5ޗ󐺤3G$^TJO*g3'^zfk,@gN,ƂY8^ֽ|zIJ9Y>>Bpi,.Tqs2KFfzVOe)9RYO㥝VE9c:|= :b:|/ZIZV":?GFVtRm#zPjۄGZ[p}i_㮓*GA %N^ej¼ue_@XKui$ n]~5Ҵ TC۫iEZV_ )"۫۫#F=_=\4GH:Ii&+P~!2z S) z<Βav +JXH,WOgdlʢZ?g9~\ %jpg,UoXa/3XaAu/3\?_>"<ֺ}s#IV. i5\1KxaiVU4T_/:K_nzUЈI+8KY-}4P*#}3MI+$AQ ~_!cVQGZ[Rui0HXcVQmtbvRL}1i-_ /3 $igJ+bW[^t]#&?9\=BG?/er@ `  D\P^ 0z{!K(ol| Au |6]%}s]iF~c6]%iz 30tt Ik^}0kjkm3I@,aײ_/#sپgsΓ~/L* >/ $g&R+:ϥXmpïjMw~I6D_X+ZLFD_KoL?$HV_LV!ZV_Nյ1LW넖!I(A~#+V?^e-Xk$A"A&)+tA"nkb$+yULPq% +1xUCB UQF?=T߷M4|~0RqϳRiiSV/F_ kH%ZUK~8h: +皏 +z-}SZ^+PpGkgA\QAU5'ꚪkK|_ zA%Ka'CA9L_ }`A%O) +SK][Kaxo%Gۯm$49:C&VKaxo%G6 $ʆsv 'a[i7Fwm&PF+ xo$gz^Hb)ޗ7J<-- }c Mm/Am,6}PӤҿޗ7A(aoKH Dva#+%W `~56mM^-Iv@ &m&o*I]*jzۡ MxAa SIoKo$i6m&Ihc& < /08/J}aC4(t|i%tJb (aC4(?AҴyŸA~zAN^aXd%Ty`] u=PǝB '&pl1qb`AkaGo!/&K A/0AkaG 0&L& 44'080AGH4 ^Xb]80A Z$>&0@ApH % /ba!hP i aPB@DhF1  FAЌDDhDDFB"""""""""""1`|m\exmȔa-tl;MV6(PoiuHN)i+`EʌѨ~pk?PcS4R&P)/?7zT=$Txa8>#/ Oρ_i{z_Il"^?.K{YIBu//Ӝ_}uKQWp?*5#Zϯj}: Q[);E_Yq'lӡ>[Y.g'v6jT=aaӷح/0at4zW_X7"AIƾ8 ADBM󧥮 >=WA 1C +)G"Ri} 4ŠCDEBd6D`DUQ\+z)n!["D3A0g^ -D" Y"+EterR0YR9[5 ؖF ' kȺf P.p H"W6Fy:"vw:"ə-&kF?ԁ0 Tt1(alFa (Ȫ6*ahΓgV'e.34 p=FB FJBZ.ghAdP!hU*âW9vK_ea2Aqem_Z`S (!o(e13#@hH欐2Ƒ#%/Li/Q) {a|!mUY (죾Jz`8s׋үز 1a=~q/mH0Q4/#'H*9!_]#tЍAz$v{vt^:_]kζ$u(P]W k K6D?(ZI%I_kKSiz`ka Ad뜅K IO$I?m-/PD d55ZZI(KO'=$UkOtz_B꒲2T9}e H BE͆fTYAe /L4{m~'^ziŐt'6P3GEIE >K`Ҿt) ȝ;K_pi,.Tqs$G95%xPo~N1ǭ4]t?qTru/C er(#oPɅE_JrB~R9X r8pKQ-H}G/ZFr鑏ۥЇ󧲓'KKn~ÏKz#_(F7:KaGWL n)"?L_8_I$kA/O.?/+KKKn(yF<ϣZ0 >k0@U3.V#y$4t,WO-/J}B,_|";?%oH]`u*ޱkK ^f//80a~h(o߾7@Z3JisG,0^kP>]6%gPk=/J$AQ _B[mzKaϧZ ⴘz]$,1+(-K p>$]K GuޖH_A0$/Jr:[m#9 orGou:-/!_imfi--K]Ko-|D|_ /3 ?[S_8kKo-6ߺ|{(3G Mh.#im K?t_^^ֿZQ߂A&( IkKxOKoKoN߂#_oڷ;t$eqT^GY}-q,u_m[[K.a &kW"@?%VUJKK1_넖!I(A$RU- -/Hm$K^M5z_B ^>!UF?=Q椗[/t I-M5m#U腭-2=cϯK}{/P9ZF3y C(ZEa_h/$AzMK<Ϭ?$?p*L_AIqz[y /ö߄Jm$H3<=eiǿm$ȏ[*l?bIaFw -??;jz^ү~&Kl6دֿ/Jۈ[@&o_ӤzޗzK1 WMMO/^zZvki7ҿ?o$h/EBWi0u'x@B ҆i*QOHԉ딍GF?\z>k4yRaA7vT2V0o8-'&OWA7a?0ǝBdU0x1&)/1H&($LPAaT _+ +?D$L& 4 +Ao# e@Dւi,`:HP+($ehOPk l.3 ]¡a8Bߘ _Ags `xAZ @v߉uM Mh"ptپgsΓ~/L* >k^?aA$Bt} ,B @PI[r`*x( HUTcղ;s|~0Z +j?*JG69<tKaxo%GvKoa; K[aɽR }Pޗb+i6,0s5TAQ'JF!?)& %- I SըAa2 x(A00^ a80A A  3d#ХGY +^h"",ȕ"J%HK KDKua;.:μAVDRgLdg3v/ 뒄piô6mL6B(aÇ +Miv4fla eVPWdgWp醃"ʄP,"7 wvFŪFͲݗAIoag.P4ABI7P< Y? &tI7\e;%иl#qБ7A&r0)x3kGB7H[.cA&&ʭ74L=RB2S|C +, +z*IZI[੔w漺?BfV*iI[ૄz8߱AޖޗƒHR z\^SϓH0$#s /N'i'$a_V򄗡iRL?Ka&I0/ I􍤽#i/uA %IPAHKC F\_~KKM㦂 x_ $ H_q?I$c!c!񮎐, / IMC_$ )@k_B&H3T>r5^#Hly *E$"T:R}iŧHӬR}iyfhQӋϯ< |Zq/Ȱ4$aDzs:#Ӝ5%'_0"=9+ #/bbe[뮾/eP*2aB 5C er( PC #opC r/ +0scISHIm[_ޒ7JHIm8, %[~D?t!_JT[pKn~ÏKz#_J͎JۄG_^\":O":u$ n]~&VALQJ$ +-_o+Aa-U*]zXvQD^_Q~<J 6QD_C$8L B"?={QD_6 +Duz/9ŪAh,Wņ$x0Xh,Woxh,WlKI ^f//KI&l /&l  M_~E tJҭ/A_/ 5Pm&ҭe#OI6ozJ_]#4؄BI_?/m}&&3MI+ˆlBI_mfWiXmkmVq֖msPt~)V u]Ja@6]%|]<$Â#'J .% Uo6]__Ka^ ~K--š,z_AB ^A7O߯c ^z &F}-/4"bĨH$iag[$iuuKoL>=BG.."AAKL$a@L>߮?_L>{R0ge 6]%->z)g) uלZA>.4H Cm[/ $g%R+:ϯϯk#頶Q $g%RHdK+HdK+ڶ^?ނJ+Zֵ+鑠WŎ:%aMk(A0B~uV!ZױLS0_Ao 1I[Z? IJAt$bI_LRV_ץA1?5$ UF~?>Є@KT}UZ*#5A*r?Z __JDto MU5 i { DSMAZ'*?~ +S;gII3=AryM! <=fiW'!6AȆdI? `AAȆm?< +&D4K $)b~oKeWA AFv@K  R3W }c ^ 6OoGi6";I/t@A#$x@A#bA$MMM@i$Iҵ@ &o=-P Iz]H6ioKåm_A$Ii7A$IzA& A:P ҆g*QOAl4'J]r'JKi:NMc&/<NMǠxA$U-7A00a0a Pa0 L|>p@ 4A04X>V0@A0H % ؠA0@Ah!c [ ` *R%@P OаFhP!iJD@RDDDDDDDDDDDPQd*Eb%H"T*RXC D"(ˢg3IQLL#M3! 0QDl:Ӈpim0E8d \2a+MDaٴH YPBFۦ *!*n Hlef2~g(i Tt!$h)ˤT M4l:Ai ݲ& 0m& d:+e@4$f ֎oO#G#0o*jrk?Hκ74%mPEI2I3+|z‹)B )BLJ4 +L'K!H$mcK' $JUlE /N'i"N򄗡iRL?KXBKеC:͔CzPS&AAȤ ߤm%a/m_ F]-/It^$HAzZh,s,q?__A$$] Y_cIU(VKQ$c! H GJ"T/_AA":U>L/m- /!%O?A%] 4ӋӬޒQ}BϯI84R}iO"ГIRbjK5BNm$} :bߧpiaDzs/eP*2azZJ(a(㔯G ^,J0 6t JrB +kR91?MҠ%[?izJ$pҲ^?KHImB_}(F6:m*FjKnqoDtk5iB6i%A(F7pT[pCפ+C{^(/H0IEH ! ^[_K/B|2H ^{>/Bt/&A lkj[nAGMpi#=,*>K #/ϯ6kM F{"Y\U/յ/AX㠂V!Zԋߨ-jZ VeYU*PcʲH VS1^^H$%nKTpкPx6_H IJviKB UQ?5$E_GBAA-! V*#5S kRF vR \DGK MjB. wi%zuA"~ +A:JL_'D\~Ki +A& $H3<=eA4m$ȮʨI"IHb&Uqo9yho_H #;k 6/ _+ؠAm/BH DvnxBA$߷>&__IGi7, ſI6n/'A6O/hA$MR.bIl:WA7:HIu#@bIl> 6 ͆ ACOa +6Ň@H.F$&  t$ HHSI8A70HSA1<$ڨ A h4A  pn`a~A04_aC;yY*2!xH4DY(@ȁ KU +P` *b]}4BfAAUx"5#DD $,*!Bm( Лdj(!J"""(!ABDGY +]iMQ; D&da-Մ; dB"8g\ Y>E\tϺAv# N$#IMm0E YP#Hւv+sdi&ٴH 6"7^ؐnBg&awwe.34 8(M\{ 9t*uI dt0: SlIc).ȋ1l yE/F?ž`ŗI@uP yE74Q0G}jˣզeo_t@<~N(fV*08߸4_0aM$lOGR,D8 z_DN_yζϝa_!Ny]:Bm`L[a_KC F^6D?(ZI%쪚􍤺Z^q?@ }'o8HG$h Iom%IMCQQפ;ioz'LW6%$c!y *sQ9RrTZtE$u?,*!#Zq~g=j]KE΅>0$D?,(֜_I/Ȱ4A D|% R#Ӝ0 L:+Votz]Q9umSrA0"=9I]%{*3x%Ӆ +k98$L\zDAI7AԎu+SB z "]%S +zt r8pKQA8-"]%i%* -Duǥv_gOe'NKno+Qa-Y"?Ȏ?A^:2DK`u뮉c/ܿB!ejMm{_֕bgejMmk= 4G_ H`JX^;y4tE)Z Μgb6]罿HԫޱkK- q6]}nv=>}$UxA~VM~yt癈muG&ҭ3DuˆlBI_<ēp*ZuhKү}9lBI^XoSim&UoDFmuZL=.o{Wt/I(l4/^9+d,a^f +҆K#GKayH&KKlz x/!yW?I?A$HϿ D _A[UI03tjv"?A v_S.PgWx@ +S ^_ u-~*gĺҍ&& 4[{A |6]o-$ȖWK量|&_ / $g%Rm[[K.҈$J+Z`Wa &nk +ֽb[t$bL[\$&IB {LRV_ץ?>Є@( HW`*xx@49-UJ|~0mG$q/ ?T&-"ᰏsWgA\QAUA"~CAryL %&T΀lAJmW'!6Ξf"IgWHxl;o A[ .Li'@A AFwU]a; Km-p@U izL><-Ka $ۤ?>j}P,0Gi7, J$II 0b+ql4 Iz]"MIl:W&Mq5:*[" ,0cA& kg. (tzXH0< J>O*Xa%ȮH t$ cL`I ߇GcLLK[,0  `I [ANA04_sXAkaG4,B |8 A`bF9` *kMSXka U␌ Oа& I A)DDDPB"""""44""((#yZ%H %HR-DKua`8pι%D")3E2T6 >3wprP+*N$:ӆf ]Æ@6laMid4P6fu L&/B#}] UDo6,=mDo-qLMtI7SIB@hŔ#IʴHGNoaoaKm& dᲰa[UA&r0)}V;7CKzytoOi:D-&eo^Q-^-I[੔CL@:W +L'7΄ 6τ1ֹЫqtmqt 6󋣈S z_DNI]k&χ` d~uxfi0/ 27Iz F_d[3AHK[#0( ߤm%F_#@\zO.='eUK|~$] YmO )@k!%6H ~NԂSd1KKIdIS}h/!%OEM{$^BJdǜPH?y:o;ӋӬpoKQϭ80ӋϯI10I9<IG9>`~L_GG9?L8~obiH!)vp>.Cq +0sqWAA{(aPmN.E +0s>c%[?iP:tixaK~ʍ&HImBծ -DuǥѯԟǦ4Z^T[pXm":w0T n^ej8AD\xřKuixl[_ӤH +-^8 ~߲5 +&xD~zO}S(Pkn^(Pkn#Lz! (PknV#oxh,WKKҟPD{+Ab~ /lR+L!kƍnB^uG76]\o Pߏ6] .h0A $Auam{aM[vK^U5/tJ҄G$3p)6o":ulBI_ _'H6!$r_/bJo0=9>T$4؄,7c-$/Ҷc ҶcL8hI[i[l1]}Piu9z_-.CaХ U]xA$ (l4}__A7OZ[4Y_ͯI?f: oK I?1umIT~Iy3PI03 A$HϾү:?H$]\E?_ y 0z~$ak]kƖ 3z[:}q$`φ˯  u]֜PH Cm[/Km.z$D_$D_F{"Y\U/>my#3k]]h V"?]~t4J+Z%ak~qA0Bb)~H$%nKTOH$%n IJ%fc6 PA 4_^@~jI~!*! UFÆSAL/-H%Z$KLo_PH%Zai JA*qA~A5 i {A~A ?T_ $O4T|}/3H <vΒ*g@{GW'A4Ȟ+a&D4M ή "IǰPA2!\W_"I/$1Hz[*huHb݊$1H #; 6핧0Am/AK%A#^ @&&/ݶr1$";Ia o/H Dv~ x@ &mo=-{m4P IzcMtAi6K|$i6+篯vAf!m&0bIo$/H6avA:P'һ` pAEN>DRK'JKii '&yLR^$,I8A7d@I8A7I8A7UKh0_4A04_aC)L&  0@ Ix A`bF0@AZA?A" [5ԊB5$e%H $eWB8 HA +H'XT8 E&@CD$ A(!IT@@RDDDDDDE""""""#,hDKuafS(A[|9K*ɢ!I2)T\̦PڲOSCu 0Æ L69`l28m8e"T"[ 6;a6}$MôuL4#R htwpe+dZ4F@Do-qLaBS:mP7SIB@Zp}M(WQd JIc).weaÌzAp 7_Z`S bAp 7.rSس@P\ 74%oZeqVtmmk&GEC +?VŜ}%gs0/ l 6Tf~D^K'_w6 F]-/$⌞H_q~ޗ2^(yBoKHI~9i2QqOIK_ƺ:@koQq):4 oQubJl2ii%P=_aj_YFK&g2ub?KH?h/<לY R_h^P^x3 yB#?sN/`i!zV}//`~+=y3ҴﯲK1HNs]u\^ʡ8ۈA{I#498+Q_Wu|D_( P_ڑHuO=Txa8?Fg#*Fg#DKoЇjKJK +"?ވj?/KJ/OK":֫?O^ejUւB͆8*]zX,}q})ѵ!}}%Q~;+̃0KN {ey}?}5 +& M= 4GM32^D4/9^D6=h?e"h,W[:DҋK9\/ZtJ.)iAtItCjr:^_vKr:^/^4JG[ kּ tKNpK_z4S׷$?]T_}uimZG?TWo"9XV u__hK$f#ZPKo!xH$׺_K[^}: QKxOa S_>H Cm[-\0wUalpϯk-A^.\}-A3ixcQM(}-Q}?c=g/u|J"A+ kئ)b}asItOe-RqsźLRVM}z_ocK5 #I/ o?T}kKkHK_a#/my \DGK|}m-_ B!2\6 D{-xA_]_MReLh/տ*ץ\i+au5տvH3<=e~\G"I]&+K{3L=ޖʮ?~$1H_j~]7mm0KWAz[A#~ҿv&=%J,7a oXA$II6~&/-j>$IXEZi0zL>5å=[O1Œ ȵ9|D1$i6^L$08 ADBM󧥯I?ΟaiJ}mOlTN7AtǠ?׶y+􃠼| bI8A7UKh0Z4'䠁A_aCN7h%_8 LZHQ /G"Ri}  u#KqHAUx#hG#LZ!d0a aPFȐA +Q +""#,HR,^^hn!["Dk; +prJDLgLdR&vDFtFeW#h8g\B#kp8mٴel8l6  iafkL2%0᳔ͦ8d za6};a6~Fn/onYPDke:w gl;R"]] %B(VU6v\fh'pjӆS:m& +r(UI ӆS:ns}:n*(DbI7Un"1Z &UgnSdᲰa[زpP\ 7a^7زpP\ N 5 W oO\ +aZ\6.iDaeqVtmm&eo_m>WgAAG}D/T0&boaG]a/a?t oK~O󉬣QOSMg1 zZ߭gI$vPI_LcRsATB_TXy$kY:T UHm􍤽 \S5*h ߤm$?5J+L>-C ĂoKҞII/˃HH гa4_om%v&$c!ͨ_?ʵzIh?HIMCHͭg/AEz]--*(W$^BJza8 z_hYj_Hr^ᄒNF(֜_YI}y!yőyd_Ч+ ,ZquIR=%o_zyYG9>`^tWĝ>}/O.=*b+YO_^xCu}/ +k98$&G ؽN,D/a$fC uѾ}ŪGtFg#8}ϡZ^zu楤DKoIךoBOK":߻F7ՠD} +uA#_HT_"d[DzL\1O\_kD@*]RejD(iX׮/Waj(PknدQ^dO_}%RۭAREWi3SK_u8{(?Q+AbzZ_u{(?QzߊVzJ}B=.x2/uti/=ks_fl _MCGKm*K #G  &ҭ\pG[ֽ#4؄yMZ/YЋH6!$K 6~c,6ҶcuUWֺG?[*g?p%m_"Օ3>GEo/_zPiu9z_(#M#_oo҆KKٛkOo_I?im_vX#$tMf-I@_㯈co:jG_ #>-;W:?[A&_ Az[GcE#)%_H$AqW_>H ^{^}{_{ H ˨O#ڷ[Ǐ $g%Rt-A\3 +~}{_Uy|mm*.Q X`kR, +[cZ QMsA0B F竮ULSqs8H$%nKt}qsg|o5B$bXAQBM5z^c UF?8K1ײY.a UjIv4Ǧi-5 A h-2=ǯj@=8a VK pjaDGKƿ'$2\6z_WoKm-_Fa'* ~GKA0sS:KKKKIW'h I&vLi&A!VPA2]{x )ނoKeU/}+KJ$1H.I_*Am/I?W0oA/gY_? @&&_ҴGi6Wi%_ 6~ It#QIzL4=8zM?Ai6[~vNz B MJ=[O:|AISH6a%H1uz``0: tOaa |PAE 6@ ҇]ĦZǤA">x poA7箓" $b$ !hcd `BI8A7y􏴃 vB[AoL& ,/uKA5 AALcL& & (ci ALHQ# kkG Uzi T,"B $0@ARb](A5RȘA +H'hFx!HpыA"8b A) +ƣB" !ADGY@ёtJ +̎3I8pμVE(EdW)DMi L2`V-LPWpNEa''mei7PDaF)tuNuB$oOI&eo#fp^9!A oK /D?ZI0/:]G֒7IuRίB~ e$c!#N$` 2E$iPPJ9$i||?aDzsM1usAްt.+ZKN/. -Duiǔd0 RKu֡y*z(Pknqx╠^HϢI +(D{4J_aFi %G +o[l1ֻaKto#[bBv~ [>ߠagKb߫xIU_I0ge-"7 &$ȖWK$eYU-[J+Z]7LRV:Zc^?_t U4=a\齔~A* iZ__XI DS[ttAȥƭA?9m&PA2!.2om,  R3:h/A^ikH Dvv/ehr@ &l1\%ISA$I:?'J,AP@PA$,*2"81L& H̃!}h $e00B&!G]GZ=M@$Mn)ԷV)Vxd†dY0יD+<2a)0vD"*kTDdMCaLd"E5 *P"jdUC4l6? /٫ kL8AT 6 FêMd2 FÅ 2ᢊl2T* Tvjl'i7AEp K#| -mi8^Ig ef2g'$F2Զ៴lD$ɶoˆZ)qoˆ}r-ypN+eu>ACޒ(fgCF!EozH}{*k=>L'vzfA rxt[^~ׯDl<~+{N'iIM_J+`F-CYxXs@mWүWZgUGAM` H?UQB)kB>ѰhsNdfk-%: U?gP!~BfRZ^|604dBלM(60(M:A9^p gwK3 ]o$(~н&ĝ,lBu3 ]o/j}΃ү5sz"!fr\^iĽuWy +SZ%_sAzZkU Mj}Lm$UA*q_?Acz_.G4?+itȸ4+>]u֐aK5 V ssA痤D{/ePL*}~s}]tU?H]פ^Im.uT}tU?Z{}q ᄱoꠈ_<}'Kt%ZV-TB\["?_~oypTGG?I_e_|$E._ӭ"?Kֳc/_zDARLEVҴI$X?}\_%m_߯׏6.+z xUo~2bĴG_.ح 5# 9rGWDnx/IZZJA봾z䢘QLu__X_[8GU}7ׄKToO҄GO\`i@.0yxJ0 t~~8F]Fi#@>BZ =hWzKׯ#k0_M| `1mkPIAv9 Q!6H3(_xK_ \pI'"8A6mR/mR,? Ԓ[TP 6J )Q%H^}rR)`MazE>0@[`2}" M1VAFPAo8Ÿan52Anpk4+ut2DT;&LV +@dl Z 4@Y զ+AEAcm A Ap@L,% "{^>A`=0XJ 6' BKE*HPh_`q(DDR@"" q:!F"(!DPB#v&h^;FChMD+\ +GeH}94RPgcY*y)gbHDt2&cA4|92NP:gt;LN|בu 6tM6 ael8p0M8a8e^E4pla7DkV"ȈLZtADt*QIT* Tvj5L&/!!0:KQ.Z L&P>RQqt)AMڒ \P՗8A!c#E t*& fXZq10eˤ6#0oeO b2`ŗIAAp 7=[ NO3~9,Xl!H[BdCJQ) {a|!l*΂M_VWOlOGH6p)|Bt?toO؟D a5O¥oK" WgONNn=N n0AzSKK3<ڱi$(e>k+Vyb!BI/!/HKɅN0)'$q &u"Q] ~_eM&>rBS#㶖I"u_ /kO:5vB $NcF"L^CZ}^M9 J4 +_YGq~PrTפ\<z^EZHyZ"g:Q8 Mt뇓A^ֽ5D@gN,Ƃ6N>b#:Yl=].:'_We .}K#fEtz]Q9t}/OZDzs>a _Py?ejq#AɅX5l}sq*PVN/eP㜨-=~_E(a_.} IGaG.ij?ή vF>DٚQ:cZ@mB/eyI#aɗ뿿\G*VG_|IK+Kn~xay㮓*G&VQnz^Ǧy㮓*GA %]6/JG/+KK0K1-Kk&k?o_-/zZhtӵLWDCd+9< WŽb֗NF/tuY~_u*ޱkK㥜QQp𗙩8.tOy~}/mߎ:_]Ώ"<ֺ}s#IVͯ@k=/Jk !y~*ZuhKҭֿBI_Ϧ!~B6*j5b@$a[ .RZZdyk[SV/Fj@=#ZZ9,,$Ht5__$4# e Hl# +ץ +j?*_"=Mix ?>` lLReL -&/>` տl7#_=uPd_CiOWM NK PD{-O.Z'a@v(A`&Ml WB1XN~$?Km&1H-L< go)b>zL>ZJ<-- 7_[t7Im~";I/Kob/&"][1z$-/GIAiIa!18_AzMzM[|}& rK ;.:J~Ijvk|D:Kn4i7"aH0("x_DŽ D YѬ56>pN 'x@}O (f[yiC`zX1H""LK[" $L:Թd~H""It +LK[WD8A6zB+b &Qj4vdXQ'a&0?- hA-0 ; y8B^L& 4/TB ӃXET6a UX,W V":A$ehǡaPB BX(HzI PBa!hP t#DDDDDFDDhb"?lD'm +'-S>9 D QL"Q.32Db*h&}r # :gLLL"̬ /.ٴm!;al2~0QSlPp欋imO&f PaQvÇLE[ "QpʅU +8aոUa!0:K Bvj}]‹A0醃ap.%ȃ +aaH7\&I RQh*Jz 2S FO齵( 1m40/6y$-YPi?^QߑOeM[al?FoKKKҪal?FK!|!mvPvC^:_D|vC^>__/EZ36D?(ZI%IHfRZ"4S]jC򅤒_ )_ls n +qI?I!?6A~ka)vS0:II>"k"?q{QK} $:3 h?_XH~(9<9c! +5_%e<v@<\_=tp"i6x>-P"?~\t!A"=?:{)?t?l3}wq~S@Z^I8[pz[8 _|WA^:2D%&V'뿽A +I}#_u9zGIPg }ZV_^?#5Ҵ TKn~'trsӵLW^E?}ki g'0;]^D?}Ab`~>yP'|[-iqAuKz\룪=/ߚ|[-iqtGUa/3StA0~b4OyU4_ob//!5Oytb-*_/: !4aR۬#@z^I+80_y+-)%_^f-}4V_3I+8K^^G,W_!aYF`E[|GQƖ:G]uZL=.#aYGUim^ބY dRK#M#׾p~Y!ksE]WsItr荂o/!_^tj UEd?XK!Z[4Y]>`_&dW}x_/edmw(1aE~}Ďqg8oeNb `xAZ @h/mvUnjAbZ:D{0^Vԇ*5?(K /Ah<]iF~c6]%^immW. ]iF~c _>0tޖΟ7yo " RAygֺ^o=R?K0L_|&_ /yz_/#sҭ-h_IkZ^^?&MQ V_NhߨzZ@az%A6JI+t/yα#AXk$sZzZA( HUTc-)BPPA 1B|G_A5b@$akAl4dv_:αgG5b@$ab_+S9E+KHXH +j?*;0dsߑ +j?*^/ǪkKw"JB. zXJyCmH0~IC_lL<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%Gv_l2"Jzޖߧߏö߄J}1]gWHx{7РF+ xo$gz_A`&v 'aaFwm&Uqo<-_,GoKoe MzL>KKl>o>Ja#/oKo'O߭ COl Dvz^ۤ>xAim WM G4# Wi7ۤ  ; ޗ\?(~ `?5Tm>"@CA+h$ [< J!C3(04z[^tJQKTfE0tʔil:ItJ@[yŸAi8A6z2 DN3R8" \0o8/دvL'&OT Mh&/Xeh 5ⰣNA`I{AYZj /V@KPXA00^X` ~ ~@Ab7_1@ (45k B-`pa !@AK OPkx@ 9&B;HA"®B"ArLv F ZH'XT!"L:DDFDFB"""#ab-DY# 4v$ Dv#$ɣDTԷV)؞VђXVQrvO\vD"(gsa0μA"LÆJ,Hl8d3E "p.CE& i /.ٴm!>eZl۰aȚlap&ظpց0 TtI(MaDXV"6aP6yVy]$hrPA0}.34 =FB F#bO]a F=Ra B}r1gC+ypIŗImXF0- {Ytz&Ӽ Ӽ3kAATCv ^ mI a(G| |i$?/&L?jC򅤒^쪟 S8ePo9gkm7Y `kz5YqBeYyȢ-{i$:Mz'Y|c_M_нBI01փF}=?R!9ZZ_bsA_YGk7.+)L_ZX"E~pTZ!8 }IտZ"[}t[NyZ"Ӌ!/گ!SizY)4"7/"uG11gFsR|,yΫa"uG1Dzs>afiA1~҂?_뮩@נ./Q9(C[KejtU9ʎB(aDi#D߰a ߰aR9Oij??G UKQ:cZmCnO}*m|HG?r'K=-UGIujΞO/-Du nzle&U9zG'zgA^:2D%K"?=k/rX۬UVإZZ^vj_֕륷W&z_݅B +X">&+^_g'0;] S /RcN)?V0~b-׋Z\GX"Z $[NreQ|[-iqAuK_ԉ ן\?g)AU>uM0>&C#@z^db-$Ȏ*ZuhKҡ %~TGY8OH?B, ^Ky-0ҡIK }uZL=.|?Kч(s]4ĘQP`]}ga= m,xA0"rՔuK]1L}S%Z + K %*Q9([i7wo-%A6JI+t-{zgKK/egKU WoN?^РA!UQU-aϢa_iKHXH_(="GmG.oKkMXP?IzUc 463 /3Jik,% A_m_ +&E i y!]-qHt5]SZ^V5IlwͪyAiT{z P_;g1I34TIK<Ϭ?$?>%VР7#0ixi&-m %I~&#MK5bݤ@vMC&ЌVߠI; 1H-ּm8}=/ %K)m[zL>Zү~&Kl6=@z_D{Kܬ 'O% 4&_ 7_~o>Ja#%M$ҿ_IA(Al14% o_A(iIa!14I_I7i~`%*h> + `å~\Ba Ka5TAkPII/ 0. I?IzaIk OK( TK %_a.H  ÂAaqn[$: I&Ua0h""It +LK[aXa%zmjAII/ZB2?L0zi8A]AA-0 ׊;  %ưח N  I} :A& ("? PH'kpA4Č !bbAV/!kƒif3.if&#O B!HDH0IB#C +B)*HE DDDDDDDDhDDDDDF#&猒>MQ"Ȃ)ndL  hQLϺA:gV2 + ;ʭE{ a8eVE46m= $BAlέ¨ .2$&PNEAB}2莪-IOZ$\* +KE\A0]$hh.aF`Ua {Ytzև`5L/\6y$- +J3+UzIۭ>&j61~?ױ~~AzSS[hҍMwuyb!BI/HK IAL?׺{œaOHzOͯҦ AzG/:o;ioz'F`c!Ξ/NFㅣE9\Rᷥ.+)LGH ncKJ@kx~z^ֽq'^aN ǪL2~a]!Ϋa"uG1Dzs8dVMhqꖔj xz P_h}PASIS)k]&p"i6[ HP">*gOe'N":I4Fer tW"?uU@OVZf#QZV_SW$FPK}$y4t,WO8g}_ii13"WŽb֗_Wo ylKM~yt癈[^!8WZSJ#_#XF*WDp.yicDy.!.&I u5D_K> +Z֖H_A0$_$t#)O.VKe):A }/1?"?Pb?__cZ,5L0ȯ" #>T?.,_OA_"=l/+Apժ_^t]陁 K(ol| AˤƗܑDikYePHoߋA E+:Ϫ sR8 ^H*/#_^/0 m!Zֺe}8q9J=e>α#AsqI~IbMJB5y|^+޿|B +~zƶ"GuߝbΏ+V}n6D?(ZI%I?l E/{I8A6M5k^! +q I?I!?6) DrDj 6x"΃WFнBI@1փUk e|2]-. R9}eB\6%dd>"п8mmQT΃_ͬs5jY34P $qk5,.Tqs$G9"KZGm0_oߜG8ejtU9?#Xz P_} SKwO=`0~Ȁ3J#4_JGEd>KqGm$GĎ@~:k\% _Agow. ӮyuZ^ʭOڷ"?9?D{0^V"?辷+X]-w$r_گ=[_QAxZQ߂A&( Ik&VN$fkk.:/sԇkzGKm)-| w<7H}| #6k$'6Z@!I&ҟ#"`v~I6k]2_l*F*eTئ)X- TGAzImޭerXk$A"շHm(1 ![Z A KH$.pϢ#Kס^_( HUTctI/[ZZ@F_%IiioKi"Gm_(=VRR--/7~/ jB.B~8ޖ޹B#DW<~UuMiu_./uA'J Q &T΀oVlJS&o m$3, %I~)ii -ö߄Jm$RM6\h --I ,)Ml W&t#<7N R3/_i?i$!֖0O >zL>ZJIgoi+B /D `^Umo%KOI[_~% 0M_ k$8%-"#H_:M HzK1JX`b+i6 ?$?I%(~I%XE=+*i M|Z$h $hPI7@[K%N2"$5%Ik HAal/jQ'JG򤰛 @)i$Ao A[UeT;&AKiXElRLK[aA!F &U0xA%m&X| ~R 8@m0 ;  %v + V@ȁ4ApE_RA?AHP?80A Z$H̃!EBa$fA0' )d!O )R + ! A"4"0BmF DDDDDDDDDDDDDDc,Z&գERܢ 舤gv5Db*hK'gu#yFE3>9 D L(lPΝl L(d!6 gYPla«*p!;5uap8aػ`nB):muI-)D˅8mJ ]NBG% ˜Xn.4M40̷Vt}eOK;ۦQ :s.oO Mi}?mpC*޷ߥ_ׯ?tLmH0Qo6,__/o!/Jp/z%>+jC򅤒^ss8\E0ƿuo8_G΃~^__Um-/PD d5y' H~#?.z_B꒲T"78zmƔ?Ifg@ziŒ8I֞_ͬsA>5gFMtK:sIz IA|2a}J5oB,/qz"Zzנ 57#뎘cSIz!o:aiLZ0# I4_f8^_\h:tRm#q(ZP_}tWL n/I׎8ҋҴtU(J"4?u3Fb) 'KK4K]Vi^VޱkK ^f>'~}/㎱ _b/KM~yt癈[^!6_gRy#_#XF*WDp.l4^ZGy.!.&I u5,FGp~]idRK?_/HDKK,$_ C_(x"/5,5_ /3 Z UnjK-?_@U#&PZmWzf`_j K(ol| Aˤ_=k]/sԇ,i2}~]t_S$ZA{7yo " RAygA~/1ʼZS_iyIi +ֵ+yA!UF?=_cDMXP?IzT%ޖ޹B#DW<~UuMiyz_ +?= QPlAJS:Jz}JzL4[~A("붓imk0)m_ lj[i: a";I/ GD`b?XK _LEz &oxERF ?RH(-һ ; ޗiazi\:AK%N3M"HZB a{PD4A:PJ7`SI"u =P?eU[=P;$:Q[c Bj K l uX5 2 x(A00^ D " l*_G_1@ (4ЍAPUE!APa! F(DDDDDDDPQd*EyH`AlDQȠ$>e*):٦s NDa2Ⱥ5pl2~0wRl286y68:JVT* Bvjlef2~g L6ۜJa ‹[ +tU$RSWXF0-"a9eaT*I:ͯH(}W04L=uޟآӇ?,pv O"A7_I!lko/$w8g}pA^O}K?}Ȇh'aѫA%KRZ]/#_pFd=AqTX_ek8& +ꘟIW|4sZ]%/8mY:*eja/pHK' :pczZI*~K6_`ijbȀi:z_-tI֞_ͬs֣{*V((zl3 >Ʉx?|XA~_YKI/K2G0jeyG\5#pktkF7߮yƿ[<2G9zGe_ᮗ]~/EiZ_/ˆ V#לd ?LWM}*l_sXԍ^-zAb>"z_tuY~vgG_C9|/I?>X:a//0hoK$S,6M.8KoհaW&Wֿ_oK(49l>|0i~:|aE~_ /گe??=q?czյԶUR"׿%^/ /-շHm&R- >y_}8LjA'N_kRXZZd{k(A/6 +? xR(e Hl#yAyA~9IKH %&T΀KG簃M!i&gWHx\7A.)wWA~Z -S ^U_ac*i }v~.io aoA, !~tD݈N _KihB0_ak |$Q%넿"@C}xA0i,&$OȠ`cIi?ڄapM%d4"$( &$ A N- zHؤa"'PɃR T dD%M2 ^ aM!dax5Č2462a{  k#!!6Ԓ AеCPT"DE"""""((#^ڒ _#NApXF0-Xm0ì8a^7ۦQahQ({cw(Apmog:5a=?o 6mސoeL'h?vR!!Z_b h'556[WKKu:P8_ +Du8L8M0qSp~/:/#:E&T PT PMҿ!1z_e:_Cb?C9&駦&φoi:YDutEW+t|?H?a>8Koz(L>uez0 kKm #9z_El?4"?/zZ[A|% * : jGZ#E _]i.t]Kfb1h*_[*5?/K*YIK~#_/_OY=~;z _{?mi/eYU", +[/Z * }}̄L[pE gz_?8}/_ke!GK/"#_iB.__ Al)2tKpM%d4L0`~bAka"'Pdm%@DN_4`IbbFAPZZHPL$246Ab m$>␉6Ԓ $A?T)td!CE-Մ; dB"eg*GDTL"Gsᝌι)aT +ȧӆö92L"jd&ES 69aɅ&a) [wKɰtbSe¨UeBN۴uA0N^m&O )AN]%0aE&s0ۭK$ +u/dXF0-"Pue 9uXfפf "(wT[t:U @Ds0ۥ(M]0ۥHH07a$zGh&(a]&$-o&^t蓴Iމ;(  (^C ?T8rDߤ[o?" $mz0OLG@bO n)_-.o.7ӝ3,?xA$}99РTQhvs|4JR9-.(MFzI?^qN_YFB,g. 3_~bS4D}_8?A**^4-:. zI0ҽ"7=_ͯ~E-$o` OCM}>?*tA5~XΠ9yKҢר:_0t>pr뎘c/VͯAҧQoOxAlEuhAXK"?kѨ[(<҈(#M$Z( LX&">_]q}_5/K߾#X]'x= 4GSU(KAN2I~5??u֥@*XgA~RdsXԍ^}iz /}i zX@_'Ȁ]Viߠ "CyC9>xJPcV!-}[z ?Iz:uC|m[ZK@WmpIR/^_#SW/e-R _"<:t'==/ i~Lz_m/qQ Ma-MiiTJ!7A6/ Lj~8.$]C(ZEaKLWs~m$6_R#?XReLP 5/K?Jg@(y /AH3 :$}it2(2x>A )zVGΞfE7AxA%mI %=}ߴd!8QO洓" $DA&$^ڞvL` 4- g: ,j$U B)LW00(A@ D P@14ј*5K6XaHF,B#B H ) !"DDDPB""""""""3ز+2hv$`AN̕-iΛdb#hԊ D-d쳲!TM%cL" iAE82 aɄ.p8f3ᚸ68ec`4ᔝl L(d+!6 gyP$ˆ ¦8abmaݐF e.Pg "VuLX ӨY[ʰ3jI( 1sIB&< >BaBa&4P6QV\fh(q]m@aPUS Fd+ypEۦQo ұ b22~a {Yt04<ײ!o"ߟ- HR@$i|!|&a ]K$~gA'{_n$x[Ѩ$wZgEGAMcJ k\?(MD`gWd?Nk" a(G| #yW쪟DOpʤIZqJ<ڱi$KK= IGTY/ӔYI$u=`0O4tcZR5z?j=-UKa(կ8*gOe'N/ֳc/T\K_"?__~P_}tWL뮵d%H"?^?߉!%^HI~H-5ƿ#G-/_(A@KG/KK`Gm.V#"}.rsӵLWK,EHK:ɔ'Y>kۣNut%4HUoX}0 KXKZ u].kEzI5\1|Mb _=V +![z,_iH +a~Y  4{֖_'I2)/?/믊atDl6au//KYASYv6_p~|,a^$hm<χZ_I|it_l>#4_)SБЈ:4XH?L׿4A bG@8}+*WwKoGĎqf1p`_&dW}]h>ۧ:GUnj.ս{_ :?^ʭOtί6 t#1 -z[m^XAz^a/o}V9/mWuM Mh/kkZOJ+Kk =Hץ_uΣD{s=Hҟ" پgsΓ~/]mk :[ ^/2$ +[~C u?ҟ#Kׄ L?$KLRZA +|| gKm&Q>0:߈ zkG8넖!I(AvߤHIN>-` РOWM NKa~N +_)i0zl;o A!imHm_z -1im/_1*f_[}bI-a-NxA/>zL>ZKot* >i6ޖ MD `X`үmo%,0ƿJ/?٪o>JpPb"oh K3ApsZYj)$AŕeT;&+aV$yŸAp@Ab-j H%5X1:%X5 2 x({B }" $!ihRXh5U +*~\B~ K GAO aU )#T"5H* 3d#!B""""""1Ev#$v*dA׃>4@/I~WюU^{j6~W>T/_/Jp/m%'+#J55i I$#i/~m{ĂuZ %=za #_IIIް1փi #s AzG-t $:3 h?%LpZV^O Fs"B꒲TN,@=#Ceͯ*ZP&=K,Z"Ӌ$q#Ӝ'^!KO/fo]-נ 5ik L1!z\t&Ko[p6 ~?~!IxE]D!$ +\Mr_] #ZBX"/~,HGL0ȯ" #>^#/ʭO,_Ot `  DVa-.D 2ŵ_$/K3j& 48lK\l* >vjsԇO*/L* >t}h/J 8 ^H* ^/= m!Zֺe}:J\PI_39#u<=?JI+t/UtP D}w:_A!UQV_ֿh$/wX_cF_֩/#!Jߑ|~UuMiy?/r[azAf~(9<rܛI?/$=_oKoK=_o A.OFw_ Jk._xo$gz_i_[>z[/%oi Dvz_LA-W@&M GAC`&D`I~[i7i7/aP#{(~%M$I/'JFAH0b%H'A4%fE8( TzNM:L0F ԬٞvL,riOT;&8-'&OV`I{AYMj /{^ AD$L& 4 AA)^hKXG($eЍA T"®B! F(BDDDPQ`2SEtDdđ\)TI2-Մ; +v'd)3"`쟃>5dB"}9)9B + DdE68l2~0E& P ' kȺ68mL6B(jlaeA٦jVÅA0N\^aQd ,HL7NFm)a>*B#}]o*3}SABRi@aJ1&0͗8AS!c#E t*& fIIc)ߑ[˂EPu>a6V8a(]&uoO[(\,73@ &v_SSҔG@m!o%$l6y$-YPi֛=*e(T)3+|pO]/NSȗ_{lOG|{Ri aI$:.:: +mƿEQ>ۮ+ނW^0ge $~ȇ2<GR_h<ڱi$Cy֗m%A#i._`?$y`{*i4y='נDI$h Iom~T&AοI=8H~(8LE4Hy h?_(Mʵz@IMC]-.+VQ`BoK]RW^8Lzqh^A2E$Zi'Vi=6_鵩 |y:kЋ3^qdg}|h(shmTSR}iAizy65ϯ90ΞEtz]Q9t}/OZDzs>a _ 1HNsQZ$-ub?Q9(C[/eP㜤-=~_E(a_2aB 5}Az_(k"~\tQ#mW!aG.ij?g#i + %M"]%P|W=q~KvUfA"󧲓'K/-Du (F5Pim#ԍf_{}@ Qz^Ǥւue_@_h!]~/I&VXKu׮d$_?-/_/?Ǵ\ (۫S{(A@KGH0~i}ik=\4GH99i&+P~!2z Sb^Xt`룪?KE5lʢZ?g9~\ %jpK -& OaZK@&㎱j8Aizv_k]>b?פK׆6o>&C/ebz/K +_aXF*kD$AQ ,vH6!$EpIuK 0as?Kn-.K uZL=.:eWҶc몼' YN&?//KYA]_ޖH_A0.#ZKOo@6]{Zy ui%Z_im%[,$_ C_Vӧn#m%6:QW/^`_&dW}-#>9oo/A$HϿҮyu_LʭOڷD~Goeu@ ` s}WPrL>o.𛤿ŵ_Kzz-/ĺҍ&& 4^}φˤG^A lE  !ߥu_[{7yo " u* >Ckt$ȖWKmjKHD4)#"@txIi~Ek⵭ttk_ A+ kئ)X- TGAzXw@G=,[i7v/_Ao ,B @Pg9 W>H$%nMmh--."BBn?=^/A/B GOQT*߈A +>[ KHXH]AXG.Ջǚ?gHVVst܆U"$P%?^/ jB.B[z_? ΂ m#T֗?APIA%al)2t_ }`A%Ka'EA\SMRhP]RZ_g'Hxu㙦 PD{-O.[PA2!!imHz@^z -1~oKB1XN~$?Km&1H-$1HZ[pZfBaץW?g{ᴿ iqەg@D/tI|$ޗ[%@&- /5&MXALEz >P^^i7A$M@=(/A?J$Ka5Tm>"%CAΊAzM~" 4. O#R^g%J:`< J> sRN3IR-Jz׺z^~C~m| d5t $:3 h?ׂ* +$#uzI"tf2-J#qrTp8 鎑\RV9 JyS8}8pu4z_^Zqd2}eF?I]~$^EHG9ᙧ`itmfk^.Tqs$G93Nr2:,\鮗I6sIz C V^ʡ85 ?(a&!|3jy]X(a-HHQ:落to:aij?i~VSIe`KI4"::5k{8֓a#aCA/Ch:N": n&y.*G[ eht#-R_"#-GKd'2D%mDK}+KKKn_[`fDGgliizmXX"C+M_ +F'үH0z +𗙦ӭ_4kK ^f/I!&wzK&k %joztao/u>b)V[Kx3[/"A3JCJ o":谍zT!$ +\MKۣ~-JKUBI_bq z]$,1+(^ZXGK/^I %&I u5{|u8Nh )%x#j^KL֗ץ֗_}>z[z넱#E_A0"@4X3_ָK6&dW}x_PVvt `  D^yg6 zԷ6]%oy گ@$D-K30/_6>IeZeqT^GY/=R_ /\U/}k`4T> _A E+:Ϩk]2w/I6k]2Z r~I~I6k]2%nEo-y %$|}n A#$ V?^1ӏץNHUTc ^P)׊ +BV- (=V_mgG _kKj/kKK-\kKξO)M_kx0~IC_;_[(?A%0~IC-ɴM/OW~A("Ja#Z;lj/ C Dvz_m&!, )/O `m&#]oi:Wֿ-IzAjv{(~%M$I/~aJ?һ i7C4(%& $H'%tʔaz&+ם Ҥ6Fx@B ҆g*Q'&OWAKi ةdcȃ :Hr0& )/e9J+be*[aPa0a!TJ="v&K B,,Lh,- `@ +DČMc!@AK Ki8#n1@ (4 F(!HD CT"#ЍApX@*#R +Dv "!A +""?ε#$diґB&FC +`AN򔡝d[}NPBC2ʾ &id5::@Αg tM6 @gY el8pK6yPavHA`6 @l6l $ˆ#I0àEGfFBɉ6R(UeBl;(l24 aQmo$3yɶԐbۺ.@0a"+Ouۺۤf#Nc-ypMFt:T_a0ïAŗImzF`Mn4ua6p3miA ge4dCli~{bFD ~l5Tp5 a SO5&/hNMoa5~l%)I'>;Duu\tt: I_pAy3 &:c諾wȆ6~9>"bᆂ}GJߔ-$%GE = ɯWڋƵI8_N:D7_K_'IK=Aο8^oB $N}ei'itW& t/Vu^q%WB꒱8 ~\5<.0Y#m$:k6QFKMpԺ*zd +3}Q ST@I΃A5k4\﬌0 CKNG ʴL=].:'PD﬌`"=UV{zK98sDZŤz L-gWoI[ts'A%˞v?dmGJpa$ޓij?+B_#'_~%ݕY_죭$#aЉzK.5op&7#_a&UL)4λZc_%m_x`% Do9iizRU8 zH 5# n_\v&+뮿ez~-{X '#GUc^fhȝԽ/o/E5~0 5XU:FtAaf"K__8Aiz ב5uߒYoz/Ҭ~o}'X?U +__H *o͕:{w\G֖_a at]iEe_' Y9'IlM9VP6s^L?CqaE~̓X</WZZ4nUnjVWAŸ@ +]h/W~@u.ŵ_{ޞ|T& 4Gkmv-h{?zt}0@-t/_AxAyg_m[Z--CN([E_Ko$K]2b-DtW3쥺[i7I(A~>v-+5 !{}ӏHV7Kqi- Aa#kIz//򦴴FDGK BWtK KPpGGW7qKoPI꒿xz_l)2t7qx0~IC+Aw&a4(.-/箴}/ :~ A/}-ӯ7bݤE|aUO~$=/ouXe&&Z[pXer)}v}b|ЋKoK /N+ҿ"Z[r-)/M㤡+ %8% =M(`ӯKz^pPb"?!t $;`H0ZM_MF>0AЧPtH #Xb+.I 0|BazL8 A-Na׌H&3I?IiA% =PMyi/R / 0gߤAIA)X%- IuaHOT$ dK5@Ap BA0iH/ %&*H'hDJp 1B m9cA{;pe#5F$a  A +GꪒA  +b""""(!B"""""(! +e)@2ERlY=ST ;Ȳ5"*VVѐVؚge/<Gֈ(q{(ZI%I:\Jy$t^yf95ͭ`?$9gkh0M|ꘋI?I!?6lW4 MOK~T&K~T&׍P}BAοнBI01փ O kqAՈIE, _:KW/NFㅣE9B꒲TQFJt) ?9EMPտU|K6uoH[GhR҇0uzסY#wF~ѾOL?I/ή ;}q tKQ-HB'/"ꪒd#a_#ߚ|W|~:8֓a4ΛXB'z0L}&5o"&}ʾ*'S`]ZWwI[b0;I/׏iizm"ŕ_Y׽zne( `x~= %# 4҄{b)/KNrX"Z $g')׿%,EF,E_K--5&w룪&C)5^G(a\WZSJYoz,#@z^I+8ARJeN&kEpKaY  4K#Sۺ?&I u5gsU&k]E zG荂og6JK"sEL!UF?=_ޓ,$mo/,$mo/t/~0Zmo[^/P%wmm$/GWT֗:GKz]ڤPIAiT{z~xx0~ICKԗ~9oI箵^CBwT=u %IuXe ^z.--I!imH~Zo KAZW}7Z[pZ}im iml-_P_D߄oK `Y>Z[r, Bm";I/O+C/@ m?ǢBm| SPb":[=MM$ wEaFXdR1 (& +z_ rIlK`?``OԠ!4m&aT;&8-'&OVo xA}A Aki' "H,A dNA`IzZcB^ႦM/s/s?[ 0U!@AKGꪄhzJM`!"ѕNUUFM`*@DhRЈDDDDEf*2s"vMn!S<#.y)gib!16ȄET3vv>ϩ )P2ϱ >OPl6 @(᲋8D%&:& O H3eVȪ_5]CNl2~&\4UBEGfȲ"^LI e#I0àEGfFB "ZMg ,-`r 0Š&P9t"x3wef2gL{jH 1miOZ!\" +aaHC)7e;-ypOu>_eaPXF -20ۦQby a(]&u04 eMy8<5뷶(dCl i}a|!l*΂M a _O/eqM^5&/hN'#~F>=DN3㣠dAmG?[u${O?}~_[WgONȆSls B?#`fR ]CRS]jC򅤒_ )_KKNM"mE95/ O^{œaROK! RtJO:_:3(^ нBII:iu_)__r?%k'YBɅ]49 Jm$~ʨri]D_!?UYOg6J/_/eo :KeRidR ޫL +տXץ-/,$_ C_ ]2$Ď8ץX"/58~f0  2+?$t7WZOoeVVG[3K-?A"=l/+AjC[WJtI=q_[UhJ4@$]z[_@zVZ^Ҟۭ=H?m`4T>f:M_Ac.ڶZZ@!KI0.A"`] ʼL?$K/)U-DtWM}im y zKm$ Yt_ +q FK!{AA/B* M~ KGab#VRZ-MXP?I|yAP%w `2/OYPpGo#DW<~Us_$Io.4G=A +?=ʙ_xz_yCmX0~ICy *XA + IHeE;}g'HxuczIOWO-m )bݤO -ko/A7/Jz_ha; kZ[p[ $S@KIƕ>q_~&Ko~"Z[r,1 1_Mnx(A +_BmA(ai akt RXA!F^- Ԓ[?$P~AaKq?R.\w%MOV! 2}"2*$5%EO^L xm|5Q4i%a4+`K5.z0t!`ߤAIA]CH>aT;&?kՂ PXA Z_ /AA> Aa _+ +?D%'faE"$  D X0U!ka80AGdzA +H'HFM`*JB""(!AGMDO DԷML6Bf([ 1m40=u>?lG*'Oz__􍤿_^8kABKʙ#iŒ8Quϭ"=9^a $~sC t!A~yƒۄG_]~:[u,WO/GUa/3Sp XJyBI_cVQsE]W~t/$i5?(Wa-}WKuCV_Nh^yF?=S਍*2;s Mix=?ROƒwl1H-KKaޗa/i7bPm& \'JFÇdpl1B $L& 4+D$e(A@GZ^$de#4M2 Kua-R"Q40Z;#" O#{wgÐa#|8Z ﲩF"ۊyڞK8l&VT6cV9#ZMp2"wl8m l_޲l6eBfX 97 a-PeXj7Gt ӨI "7aÅPԩ e<I p9uYٯPtGX +aaHQO)6o/aL,7STBaפf 3B}Hip0s.Y$@oݿ0e04 X{Y]2_a|!i'l*΂MGZD6ya< MzzKtЛal?FB$Ǻ"1A&؟D N'|pAS~T+ނ~8~'+VNNy]>  } ֈ4V +Ո I$YhZDl[* +YՈ&amh/hCƶVYUHI|)%$$yejrTf~zXj*ʵz }?нBInsdb6Q\vߥyم' ^Pj~9*⮢- ޗ󐺤/n L ӈ!cz z^3 t\53DǬS;/?^XњY 6TR,7ui:b?p̨l>/#u[AK89!~}/:C)Pt~׮z+5 [*S48Kejs )FKO_cR_IUR6>\_ GZ(^K\-&ePvRg#_89_a ܐ?D}Oe'N)_\+CSKKϥ~tW"?K_A^:Vv1>#h_ф/~/J3ӓ-Rk_HT zŔhZD دH]GL#NA1_L8A+e"+3FTF;@X֍KMήZZig)<_m .ޱkKչŵ,8V)*޻sG ^L] 먆9O΍sֿ5f#M!R_JI5OoLȧ[+-)G}?C +a'k&-}M潇aֿ8o\׫믊atx~kS2R1}u_c"?޽H_A0$}_XkH_Ka*ށa_?/!BH_ XaD|esE.1{9RF65L0ȯ" %iP*\"}-s_WZA 5,}/WPg'x@ +AǧQ'KK}#ߺ^#GD:}zuM Mh$ +u +r:}zÈ˃R ĺҍ&kk=~;z_mG/KپgsΓ~/C K6֖|&ڶk/K0 m/ _uK/@bbռ[uzշ넖!I(Ag9ץG ,B 5]w拧t_PA ֕~A/ֻ["j?k5b@$aQJb__~D_86F3y >zץOE ΂oYlJs΋} <ܜ mzZ_[*l;o A?M:]_KWI/ЌVߠI;eOzL?J=a;-__0)m~t<5mi%7A(a.?[M؈ഛ_ tV&"][i.1A1.[KBPL=|&J|D0D8>&EOERǮSm%l/<0 һOK( %(#bAkOBh: XZ R 0ǜ+EO\ q}M4aAY> (,a9 A@A0zM0 ; Nqal:XcJgaAᱤ{B$`(hHp#  R_1_L'XXA +J i$g)GkhGAIl* 3A0DDDDFEB"#d+G`dH!I6χާU+C9s2+zU:FWΜ3 _F$#Y#S@Z&}~zi$C~HEdW3j$o6]/Q{B4_ I$~_ S#o??$h IS#a~qu959lB $NcVApI$`c!Uh +ԿKнBI?9 JB&G:Q}_},/RdʉS/t#euYG>#}R]RVf +kЋ>ȏBPץ~h +s= o RR}i΅>~~;(Oi~NuֽUGܣAK89Y/Oߠ]AyC R#Ӝt"EC^ߠSsB)z 01쌏hE0WB-=$( P_fiazG8NB/[*{JAIjT>Cz"+HImeM =:(3uXB/m-G%⟏ui{G +Kn-o~?l"~?)CE:_e_@_EKzS'@믥 {=@=Ea7 i2DZZ^_ZzrttV__5}25 +HS(Gm-\ֿOƿ=+KK_&+P~!]0eد_]/oe?+Abz\cدO-/5^WA1_kK㥜/չŴ|Dwh/6]O z//ܨ^X"Z ɋ_>A0"@4l/+AjC| @Ӥ,s L>wG/_@ +Kl| AuށNNGO%4[}AA 6]})KooX6>IH} ^ + G[ $g&R\&=P_AV$K/j_M X`k_~5gGK-?Knq#A$Iw@Pg9I}}?9k$b_kup[||B +Tސkˡ UGU_#*-K$)pw#5  Z}KU#ΏGA]P?Iz\2;$ij']/@=&__]A 9` s΋ *KA?#ZM;S:ax/?$9 PD{Y%fK~?V%IBo ZCYBO}03Mo%G@v|Jg#EtIAi6%ib9~$4 [1TM ih-mU0ՇWZL?ǏJTm&I{BMm-C C -$,"I7,p@ &n?*I҆H^HI7Mo /JCAAM H6s6(?`Oi?&XH0T( %%͆ i rLADBMN?'rp"Ra0i9Sa 4K -&pQp Tya-L4L<8cJAA& I8A7IA |$áE+}&PX58/ NĊԃ k@ a L&^  + QI} |BA&_D%bX_8!B 5$e +A&Q4A0 " h& ~ qzƛ-bA 8AE5])mP%B48 B";\FDDDDDDE"""[8H7ku8kخ\R[(aG +endstream +endobj +27 0 obj <>stream +x+*T04U0B C=SSB!9WA?37B%_!+) H!$Ѕr\CQ +endstream +endobj +28 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +29 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 83049/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GgQBAU  r!?HiK[]a&Mw]BC%?/]$ax/vfV_Tuޒ ;T%ZPuuCm- ; %-LiII rhXaafaXa$Bo zh帺&n-j7+᝺5dwVUQg2(0)[J >*0J\!CwZP #%6Dbo )] p$û  fiDa Z5 5gn'L\*gH:%HH",(Df5 RPA* Kʩ)TFaϨ8T3Jq:! "1D`OeY}XVY.|/& +\Zu "4ɶd+C-+/(Nf82@O(t_u (Nf܂ `}2FAx_h쯧#ҤKp"yi#n > ?S0$${j!T ZMjdK?T!BKMG9!VܔDF9Iiu'SRlRVKM|OdH^ë >?Τstq=jtf_=!__(o4(TVzB,F]9@V}~"bFYbgqS#oW-QzvV_/&UG__>ˆI)~x@a?u*4ns?I|U% +~y-jeZM*@e G- KC_%HO&GZP.ATF0D"]DZCTnWN> JϯlȀW=ELњߚ!GWJJ?'Xӝ +}B'[~hH!i)ė]SDUsPta'UOߠuC\E_0K9~`hEddg:'NGD?udFG"tk4UVC_l8g?=};)? JF?eM QN{o.֙T>CI)N KzIA?m]bIisKjb3? l>kEjb^/#u^ZŵY/K6o! XIB#޸_]| >nrּ/Mx `R^ri_})? GIi]t@GLWH}gg]~+\<ߠf΍_4Ҽ|:]|iz#6TWΏDa['aχY[~2:_/A2KT KGOߥ t\Gh$/_k]k]#-"I c% 0Ҍ%X[ni2Asq?8C$@T[(V?"N"_P[ %4 | A}%ichu zhqR,@P#^)^I'Az:9< A~Ka#t9\~ +^$^?@_m1K`-g/eiO ^h^K/ v[P __‹/3?ǯYi~ q۪#I&^'QuA|E?Aa#a_k/U۟SH$/|Au K̏/m$ \z6ֹ$źG K-2D%E'AO?z/K sCAi7\ U[I?s?ʰn$&PL6sTVvQ7A*"I'CmDM97>QDoD#:S Fmqg@1TS4}3mzLCA;aZT[oP=,Ml=fךVui比'NEXMFS-U\&p(YU<~FG)xҤZ]il짠sEڶp)8@P}΄؟D a5D?isԛ8U:v"R9I;L`0ͪ<Οz ҝA8zo~8~'ײnn=Hfj _$%:YgV"-$_/]/՞؇m4b0QpBJy$t_^`@qWD>I _&v_i +:1_˂:eZ[^$Bu=餾pЮ{a1oOKU|E}arT'8_"_?k˭uHtRPVN_ ~t) ȕB-r544Wmץ~NgN ,Y*~>_|tz]Q9t᜘&Oߠ!CUV~ʥ @)i^/"q#HXzDz2?hʰjMqI.^ GatcZ/ޓvUe'EA6Ufwѭ%Um?">󧲓'K/~?&iItޗj./OA^:2Ds_!&DuP=/CKTo5w~VY*_֕?m?g'GEi5bG FoT$@UKD1D{tӵLW_QqlW!KePA$~_E@!6/ Pߒ-p%Ȗ/bjnr1m/_'#JXMR]J"=, 6<ֺ}s|8i &9k](D{5~I#@{9zY! T"Bg0k=/JFyF +I$>g5H!'nkreN>~޽]o]|VKΫ^rS^oSuVPs0V'4MtK_]B )zuCQ<}'au_gD|hR`_.IXQ]}X:4XH?LCnBH_ .=ame9HFGJCyO޽Z _A;B7Zj$_E#&Q@ǧZ-#;uD0U-|K(ol| Al:'{jNNGO%6t}RTϭ*9DSw<7H}<_N +C K +Gߧ L?$Jjcu=&ƙuI/I?(֕p _ %-:Az_Oֿ~J*K/J@KH_M( HQN +_*Zֿۭ!KV + 8K5Ջ;sN!^J`'ҽm-gA\QAUG5_%Km Km/oDzPg PJ9.?RyF*MMU[*l;o A]z_Q=uZ]{@_Ka?J a7v 'a__(?O @ҮKK?WK ?g{_/i7I}#φ(I}.i$ KoK}PKm/a%ItۏAzMj^-KlpAKDI/I U"-"pxmuZIEBWi0*h LJ?B$jJa%APZ5R /tAxKTaPM]'x@RsA6}NNaפ`H?' 0]PAA)z I vp Ga*|ԉ0$q=|R|$áA2&lPLh&daI 1A!LL 5NA B0caΣd 8H0In` A; !jA1AAA3. !bb tCA pUIBG5ҤE4 3#,E!ڄTBQA B""""""""#H!;Z2'4W:2̛Ԉ^BԷ dQlX̏ɘC9sFS.PƳLFpقT4 `E Ϩl34k@"ֈ3`fq`6 Pv aɅtL6l ; ¨:|&UM}Al+V +`U +8aZ i0%t0h4 +nzz*Bvŗ '맄ACRKInOTrZ!Vnf a=,f#J!"nGSA6rDNuͯRү)>vaG C#Nd(4m?Oz{Q.uZ5wrB:#gʴ'L|{p{SK'_Wh 6Q MǴ?M>m0VKOO޿\"6׵."bCuI5&UGF^MIE* 8^濈S_:C'Tu_LU"ӌLW?ς$~<鶁|9_~i%(󪯇_,'q- Dzb,+S a$~(E}/mUV4Kqos΅> +UsQ^:VzQo/Q8 ͯ'Y-^qdgP+i}B"XFit?8feVq9F?*Pok3\!V{uΚ2Iȷm0洩_E lI/B/8#=9T|>P [( D_?J"-&Ҝ>=s(B_{{*Cۥ>oAC@tz$ K_▐G{s5&%*z4p\k_I$tt^']a7 ? FH5ф$qO_֒I+Ae q#0KJu}&`yU/`}nP~!־ׯH7 >^B2 /:#Խ|Bzf')׿K9z]VUQCׄpQ_$5R#BcZ/vq"҄G^_z_Zo@DIPL+J_a ]xKZy(}gkK|?/JXj3Ę^[u\:cm*t.!p.#Ჽz^GK߷A^@%8*5'4_~5]h"?sr 8:Q[tpЉ^'/Kkt_ nmnS!恗6{*5?"?_>KAh/K< >Ou_m,ֲ_m--ϯ Kʼvϯ--6\~Om{? t6ikK/K(_Y/-c^JKo/Kg9IJB/oϢUYxE; +-)B_1I=]/'Koa#Vsq5UAl4dv_?$ףr;) "GAsIm# .F,ib{G//Ke_IOWrIMA/Ka2 eZ[x i- &QPaiq?[+O%M _פ_zM]Ka v )isz_KIaaW_ aoK`[ixA`&_ZAzI7o";Ko^)R[z]im,R}vz_kZMmBXo ?A[Bi4/aA;-B[ /萣~KV1Iǝ7_ D8" > -=~?@C`NzJ0H(|i9/2(O)BT1t]i0"Pi~3M"SXjl5^*K`BA[k M)0~:@Aab e,Aa ysɃ&_X}/P@+i2 Mci ad 4&h&@ p@,P@5Akϓ `kK8%B!v xiA/ $)a,& Ԉ0HZ$! b#;XHA3 RZ5L!AT!zKA0qFM`!PA#Pi""""hDDhDF +DDDDGM幒+Փ`WAe0R*h)ndO%4];NkLv1Q^׃>4BAI(ʒ :gDal5? G`Y+l6 @`6? L6 gm0ea3R)8ʦJaCaMiٴm!T@a +tϨ: BvjDL01p8a`ʾE`aE<vۨDo#Qti3mpmJ Xa ‹IoƗ[jPbQi(GP^- 3QwH(IA7\4#Bu>PueO\0GVj(C : + oOoOФ +K=&_ϯG[kWw=-/j(eo* +RlRV/A7jM +_*?O_uM-5 z[z_${O'U>pA{ioyKzpAzZ[' /J"bZ`ᆂ~"b5}{Wnm%Qᆂ},$H/ ߤm%IANM|_I E:S#/aα_8"^!~mGU:>,?m$F='ʵz:<NAοCZ?M4 ԛI,dBJl2>2/ZM!B*'YF5ʙ#65ID}vW%dIS5ʙ#~N%:_ރ~ʨr@RBE_qdֿ:Z_%[^)HMF` ZM[V@C?u>y+Yo/y/ I+8?3 +L/bJ %~TGSt:_[3eNך*/.!0X/a@+m:XD"a8Nh"|9뤺; /A :Ca]W-\sE mԐ +տ/KJKJ[ @M_KF߉(QAė|:>$tpF}LUPFIzF}~.=9eVi_@U"? D_$f#Ze` 0z֗K#m-r_گ *eZBeT 3.ץsԇ?%=[yt9~{?Al* >r5AI,$D_eqT^GYA| G:L;K?Gׄ kWzϪK/A+ j+ZL_A$ ,)P#;UPΦ/M 3)b}v,R >~H3 > `g&Ai%?aXkt}MzJ204, a\I @&Gi7z$/$/7b"z$--,GB0m& i` _aAi6i7BE}Jak c +xԠ!>A 1åak aG lB MI/9:5_6wi\dPd0sXjl5,k 84u^ (fry.=Ӕ8"N'?za oKs|ԛ8T!:|?'UӜ4t#Ť>^!I]H2!u?ȮgH ߤm%~X|\E>)6tCͯqCPgWep=-IyN"IA8]aFi %>|i~TKA}m_oJkSۺ/U_|+/k_cKJ .'au_K߬zRKI,}/ dGW9MzEВ4KX[npAC5#agxJzuק 4"迩@\idzeNa/It_&.=<2׿2BϪ/N_tAA>. +u +r:y/_/"_eMUa3zeu{*ʩuhPPcg_頂V!Z ė.6y6 aLRVx |O{>1ZSƾ!?B UQ־AaHe!u~/H%Z $-ik/e QM2!uA"~?/~Bu[(?>AA~]Z O)s .4K_JUI5ձAȆ~\I/Wm."ZXA AFwG_wMM i{krKoOoKzV @&% V@__{K 8zMAi7H_=b$C$hJI>^O0zL1$i7:+t) m%'a.r$6 $Ȣs9sa Ȣ!&'Jw >'FkN)b叆+د9T ElV`dR2A0`I Tya- 0vS5Q-q dJ"HA,XAH! 1A0? NdAXXH̃!H8!Iad(B #XAQа pW hDz#U R-bA 8ATBUT"""""G)-3"KuagL(fJhk%YyKr&XRdB"k9{dMCaLd"E5 *P"jdUC4m ?٫ kL3P9]2+l65a iT2e5a i +eE e(M„mݵ:i7AEp K#| -mi8^Ig ef2G3S:oc)(=gFcY&m.ej`[m.ȵ8l#.q`3D4_AI|t:NOug#(?-TA瓯N9+ұoꠈ_A^G+VIy_ _=[L?]aE7a#iEp XWo,zm/amL<0I 鴿mM/Fa}~5@8r>}go H=#?_[3">l2y um_]_!M$|~L0ȯ  _2W7[(7^AoI}j_$a6  `AuA~Z믥yozWK㚗GK0OA  M_osR@u/oqoI[]/O_1xI#='KO_?zZOJ+k ڶzߏCV,WJ)zL;.oHR- KKA]E1*ئ)RC5 1𒲆kSe 8 AQ}9 sHm.]bq~!/KtI!_8-_8}ߧץtMk~Z * aW cy_."#-/#A/Q_5$_Z^?a(Z +n$gz_H׉A +BH H׉lF>M| =ip/MR Cb -|7s{zH #e 6AUH3(_РzK&$ K PXA`0--I_zi}ix_, l%6 4}, X /Kᄛ zUH7q@XA5 a= ܬ0[MBL:_X@&L:_1 0K%-";XA}NmR/ÈAcMTK"TK"5$,"V!4 6MazE>) A0a&0׽"Z A-xA0~ s~&&] `qn3q&k5 kAd4kiV%d4_r A զ+AR #gN'Va +N1Z4- %Kh0^N7  OL&)c  PD=0XJX/tUbFD $fAӂ0RR#IF +B80RRTGhM5DE"hDDb"#-EedAQ2FChM#)ndW;FTEͯH20Ya6V8a(]&u(}Sz~rXpL*΂M6zoRlN-.GQ) {a|!l*΂M_n󯳎-H_gʴ'Ms?^al?FKH#N?:IpXOvnw<Οz ҝ_KB.!b5E Ո I$R#i*Y$I _ukN0)'%zOޖy%s'i{^MI=8H~(:L9c!'4/qh/KCYK\R_YGk8 /!uI_/*zx6S<|yőqy'Xњߚ*kST@u?Kסfȏk45jegu!?_~\鮗sRa+N CI99k]/Q"mW!aG.ij?g#IL1Ko*l/oI}fbZ#Eװ5kOe'N_D}[/!zXh/b/"?]G DYvPg'x@ +ZeV _>))_-K(ol| Au~f.AuG$K]/H~_//#پgsΓ~/X<=H\U/c/?/0WKne}<KIJ"Aֿշ:k㲖mߥ}\$&IB I/I[zzz_A~q[WKPA ABy_h +5 KL-z]_m#5 /Z/I/gI|/JB.B[z_? ΂zl>7xG:/eisS:K/>` ('q_=u_49:Cï77#=_li'tWǞ./_Gtz[(B$ޗbIb/I+^_ M/4Фx/}P߯!((>_b?H_7/o Bb+q$M3մk_B SA]J$Ka5Tm>"@CA6aR__08/L YѬ56yl/kI?Iza( OK( %H2}"A:PQ[4)y_ߜa Paǜ@+A75@z%d40a.qn__=P:NMJhAkAY^ ^gQc A/@BK-0 ; y8j &RHZ8TLj5*4t?HqI n_U +B~ b#D$e7H*HD`! AP%45H*I T"4"a!E!DFDDDDDDE""""""4"1n\M1@LDWYjX3Vz1J)LԈjGbLf ;'l p3'0΃Gg+eÁ9.tP6 ۆ22kTLȺ6l0al3<0dn`lm 63L0M"7e:n*%`ng4au"7p7uLl0B*DkBn?09C讐^wLtj b0! 1kLtu ht96]$hQiTA)7£l黦Chu>Pڅ20YthuNs࠸3D4]pêACE7MC4CI6H +B\U[ͭzuo,*΂Mփ:_D2,N_RlRP?Fg[~t?-nxUglttCtI7^>o:4$;~#NrN]S,$J/K~PK!u5/נDi7BPH&pZII6tCq }y:^!m_h7ҾoI*?k/PDF9,u٘+iKF9,uܷNz^m2qֈjh2. X6EϭtM_<ts镞_],'LFΚKJ#J9hE/?B,7P [(kz 0ϭP~Ʌ:F(/J}XH0`cS!tҜU7_:(3Ijj`K x>-P"?MLZ}>~i0e\8ץ&N^S.*w_6%8lᩲh:y:/"^%WIUa7 I}#udGJ&V)e#QK*`Ai?Gi?ZZ^_~k_ T"?"1hH0%ީ*OJh&+P~!7믯e"x3K}.58gZa|2#""~fzI%C\:Z?g9BI /:YrvPzA +I0-Km(D{">_m\1~?^%~?^*#kem8Ŕ1(c/y𐲆0Y@C?=/JZd/ u?_ _,VQpHNgP AkqP A~>ʝ=&IXWƗq +i5>#\BdL?T|$[/렐@o"a]~5@8r5]z1#M#_|+/kT"R $Ai p|0~=}v~?\4K_]_iBCH$DA p@o a_EAo_L=k#3f2%6AkOD}\@ +Zt֢ORׯ?ZB*m^  MׯU'Z_>O AygbPAbH}_e5͆^^e}:5zϪ+YN  ~? &(cVUK_ u{*ʩu"']=0Ai3ӏ/r$ Yr랪Ci=T?=S0TK @+ptl B!kNJ:LNkoce92Ic(P?I|y_.֕-5 KKw#i{K#8-/j?*^B,"|]=_k(_-[k/> Pm.Vl KA v[ OK?Z~A("=\i6z_MKKAh ziuzL?KǞ]Kam/ooح-JomAa _m +K5Ko&ۥ@`'T?萿- N__ -=|(o@CtV0AЧJC$hJ$Q%N"m>"#@zWaR-IaV8>M5\pk圝Sa%a@^ ƨHA s&ICOT M!X1&)5vLbC^ 0gg*=(H?Iu W`+@5 a/h; ^ ]@K *  bFA"UH-%C-A`A!a{ +b4BHq&Ӥ "?3 R))DhB@X(HGhz#U ":CPC4&IDiB"""""#B""""(!ADDDGY3TJ-^yت%HYKsF"%ʯ)&"|2<˲,ڲ!DwKN3R"MyFDgw O9#SDDSlPI`dJaٴe(l6l*+v&2Ԙ6 DmL6R``$6ᲫdQCaʵ 6mwwuTAl0b&aIf *mpWqwUPʅ +)h֛&SuT._p$ANBma ‹n}3@?3/PoaPQʲ)6@etӅ_4Maj(C :1ntWz~3I@P\ ^Aߙ}~{Gt2WڤآӇ${I3+|}mMmh8&WgAAkAk=M0aYGi6o#?➦H0۬o%>8 h|{\ R0~d8 n-&mMGFKo:4Njk~D FQ`5pA>?("Q ~uMQ&.0q>u~>,?W.='΢ѯ8M_ %=zaT}B i$$/1BJl2zY1 +}BK;K<)>}yőax6S<~?8~o aDzs?\Y 9 `i?7T0"=9Οt'_FoV{qV(տWB-=$( P^=PyH|9*P/ePE"^HB 5&ZKD_Q~:FC^zi-ELZ9s}3cZDKoQSַߪx=T=tPzPi{G +Knh8K'_5kZ^BۄG__6gKIz^恳??ޔiP%"/7?rpT nGzL$R?"{'JfZ^ޗ(Pkn*k+ƴ/QD^UTQ-RHFj0H(O╠^K/?V#KOJXI֗מ _/P~!F'fXbgւ ~aד_,FjFNqz_/l pVK +-YBA%tbg~ JY>|9鳑v JY>~}/t<)R//3MI+/3 +߷l>#4؄"5i/Z*dKG~:Z +m:_հށKA}m_K^Z">}]>> +_ ^S\~cBCaהk=q#M#+-b> VZt+ H&.~۬GsD'\/ g۞=:ǯ$kΡI03#UΟ>z[}gP@$ir/_K^yihe>SK$aG,s L>:_ւKH^Z~K3K/0ge_/ H _zf. &U0IeqTZCU[zu_I#=,*_t$K0L^U_頂V!ZzKIA+ k|}h/c_EUco5 1I[z_-s`H$%n>=Vg9d.zAyt!*mu!,חBA6_/ _KUm.KkH%Z_RA"~\~Ap MZ u}&m.W'e_AryO^R>z_ؠdCI?/Zkb $k\e_TGVHb:L-*_gz?KKG=R!6_]6 zZ> }~M iyޖ/ 'OzV @&9"=a+ $ A Mr1D{_ 7ljF,p@ &m v"!8. /cI6hO}18_D`G0_'a=&A'a], #XcBz]A`bIlxIwp3մa B .g.l4D$ AC =&odPd0jl5'KKn~ÏKz#_WI}#a-_9zGIPg }}ZZ^[uiEj_%~z +>yP'K9"-iqAuKץ_Xr:_K--š,i~hsA0"@4TV+ߚ+C Mh.#z^yϬ& 48lK_z[:~xO$eqT^GY}iVSҴ D^I6k]2}-QJ--?I(A$R--DtCHUTc~jI_ZZ]HHk KLo5]SZ^kPpGk$PJS;gII3= H: PDxi'A]!(?ޖCB 'a)ޗ&Uqo-_)@&o_I [i77%-i SIoKåmK`\cN39RHG?]9P(4R} +HpP(I}i|&0xkOJeLYioSLh|{%YiRoK^;D'}i6 F4Q?3O{-/,xAAo?gPdW3j'_Kzm$jkZZMNk*4_j_:*4_='L=#@{/j@4QM/ͯ&(8O*)&56D iP?֗b5[+K KTzb/T_/"Ƞm%DRT4_Im%KpG#ItjG#?4f/:דv!'?I/opBiWg)9~`5#]^Ap}/X%1YCHNs~_UWB-=$g(TD_gœoZ׏ +k_tT{6^Dڥ=TֈǑ$0}Ma/r +8=/=-U֗}Rs8LIm#/C}/ O柜5ǿ9zG9pEpk4]~]v;+ƴ/HP"oaj'W9{z KnHFj,POKOM쩞xEU3ײ_)ä?oKAb$F'0 _`[KA ۏq#–K9q'%"=^G !4 !cWur:_$5sKP߾o5*P^:_G/^_O_$Ud\0{"=h/-0/ςucGՇ{=@aK)^ks-/tKX^\6ޞh8 +--#c& +2y}/#׿4AL!;*ru~/:P_],Ǥg_<-}YOaiqjޖ+^?aƖHk +:[ꗞZ~. Y~4{ޞ_>Ns,0@tf,4[VKA)Z~ַW?oKI%Uim_K0L^Umm[]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)b AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiZZ]??sg.4W?8ڛ18~ϢƿIK=M4֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """"%HMjU-Մ; dB"#VFpsy؅ E:!\6p 6daDkLÇ Å&a}0pWwl 0-qLTrZIL=h}38~F2l#q\0F>#ZNH4A E%m.I[+M/Oh\6L&k۬$mt׭|8o蓴IܐL?KJ}RU6pۯ76i렃~7M}KKI#@^!#@\zOKlJy$tC״Et>IMCIzM^VMiu$.$^BJyzL8BtO~N +Qϭ8M΅>iB$\V}~E"\鮐>&/J-+e1lԽu?q]_҅ +kz 8kc▦t%[~xH0/ %T4GIPim#$&'_MZWuHJ>GPT n^ N6]vZejMmTa"55oC+M}h$`,΢Fӭ\I/K5ߤOA!]*_$U5?]L0&a4$lBI^>*7XmXi~c_H&cхmaVt6]%AFz_-KI$t_-˭p &F}yNAW]GKtL>{(]տW]H A^<_]m[_K*| F{"Y\U/ȇ_:zm[[_K(_^- +֬%.1LW-[:? 1I[_ =/_t!*IH%Z4_DtvrA_t[(? +]ie /!6Li&@], +^i7B  R31M^AKXѬ?$";IQa.ޒ@ &l/tpa vJB MڎtVHh7ޒ^ ?l/jA:P^O*Z\HMYl5 2HҊؠA$ؓ_bKda0Li4R  L-ƃbF582ah6 E!aR +hA   +"""""0G,hs>>!B Ú0ms0du-WbFb">O(-]rMgGG#B8&;BC.#: /b/Ű0*ҖEmti:%E[,lE#64Fz6bzc)JҺA @*}IG}?my 7a0OQD[vƺ$w$;OǤ; tO[kmށG}YT: KGE B-}-.؏]?JHxfa)}8@#hꏣu"ӈ\qmx:6-ᄗMbDtN]GgdtyGE:>Έ>:u^8-b>"8_ݥc#29z&;8(y|YĦ$g!D}QgGU/\GlCB>9_&29~} +=^xi_`T>pE[>iͭMAeta +AյK\i;=xBH(tGE_LS0D( EKAkĎt^M5gIG}Zњ>S" >"8"'Q|_;ݥi~Bl +IS˫rP<6(":K +p NTF}#J+R+R(tm!\C?DDDDDDc^ +Y^2ʶ֏B<`Բ#H>hRR>""""#僨TDBKGkhD&"YFExpιL)h|Iڇ * #$A^W|D^Qp 6d 0E #8lMipl lR+"E"*0Ӄa¨uL"%[t;%(\"'wuAYiCe PyDžrTrZI@MBF+A{ VU[8*:Y@ԷV.uh5t4Mӏ4HҝXPO3|%iEWbJ2GVmUN +?~a oK.~ƨ$mb@-eW#fp_Ued^NoaZSꕲ IfΩ&צD#tI}VtE:8<|e;#K[ F_3x~)k4o6%_ILF\KZa$PQl0قxA @@κAH2׺xH~uYH~\BFEHTk?2usRS#w/L&i&}i}o!ۍg +/AEBJl23 l4B=:ޗK~ʵzM%]v;N8JK\RED痤GHr^"T7=k@iSւ#N$"м @ +hmR +Qϭ8MIR=%sN->߱CKt) A7Ѩ3I?MD]!)}UM]X:LJ~8 Y M}+APC zA0jo +k뷙6ίN #+~Z~)j`I"]%ꗄ}yi+.I)cl{A>DePu}%A?"_RN4֗֕EqeyIx5 +/?HJ>FT n^ -ĸ(h@몮"?=kҍiZ[1灧_U"#GD$[uzHAҜG3Lj\-D[ux"_8[?ڲ;qU5%־h,WnSA =.x2<'Ht/-./KnI.l K|2HF/KΞq~i& ]/o$_~W#bƗEBK$JƼ #S꿇uI}P^WEi5kE"mwu uU_H6!$K!'K6~i$_ЯbcA%V>t+#< +KRU"Օ38cYaD0UDx /:$7`vPVt6]%q͙}gW=qE t]%:@^ޖޒ{Z[_}6#H&$tZUcImE dyӷמ]kI03KT-}L4Ҋ_Ht}vMizI/e}yL>A~.>uvCt_#zYi- lԑ 3@t}0q_޽cޛʿ_,$ȘWK!׷!HdN+\0v-#[xim7~ZYBh Vg_A,W] +֣ǝ_X[~CU}Z gGpA&)+t3(_ATG#, az]gg}VPֿcN U~IcT{>#wKj?J %5 J1}a\Ko!}ioV&/$O5R/$s"3 ?T5HEJ`P8]-+K#v-.1LWBJZ}W'm"?xAi$ߎ+za.8@X_k&6Li&@&Z[( O8( \am__a} x WtA AFvUV@WA AFwLJlXCU}-_D|'_l%Mk 6/-d9Am/KWzR?@K BV}Gi6k/ uo+ 4ޒ+5UoCOmd&aAi6դ߆)!$I*I4=/7؄AAy}釤<:YNB M- a:*^c& ^\Ja tJ}鴘 #+c!PXs\Q[$ pk Av BI8A7Jq$ +18~'H>@,1A01 b4am1&A/ˆB#b1 'o xc `kHq)2zKEX:D^@2 ;VCB d+ᨍ$aR +(A +^H|GD AA&CX CF2QADDDDDDPDI[gvpb>#}zJZe\pw=F)n.ˣ%4v!,3]L$>A JrR!hɦ̦PPa6.r({(ijȶEHDkEofm 8pᷢwuPDujPDg'o +_MrFk Vq &Ugu +. YY#5xP?}8"0#JuaB`Zȗ޿-JYuTEA'0iR:k(Aٜ6Tŕ%KYGӸ%Q /%'X^64nI"uDM/'dG^RήuJy$t[)9BN(yF@gaOǻb/VAif)?:MϪ[A_h^jU)גo&}W-˭2 Kt) AG@EV!z }]y3ҵ󉴌׷q$K@m5,%1h!zVPcF?zZci|>gӽG*v4洏Q}}SPlt/O$ZG᾿uiu{x"+ZKN/z B .b.$4ZSi_#xUQuTIVF=3y*O1 N {AL̞ޓpP:!=/$J./KҿnI?]/A#<MkH6I7A ת$XN +" DvIϧ+Ҹ">ނE_Я8 jZ. +yV/pbKTZx֫pI@ /os:O'iKʰVHu9U!5AiEL_?~_؄1"?^U +UE֐0(PE_ Al>k?*,}v0[aK uԧ(tGM[I%:GKKl A,6a[_\lR$!@?յ9n u+-uPDpPb!K@kyyiuH}o凿{ D|isu/@Ac +ioiv? D{">A KKt-K}V^zO]KǮξz_]&:J]Xek?K 7|'j_LX8?<0KWzzJx_[HdžTҤ&A{+CkRM-ZmS:+zKCS}#IO}bbyrkG_>H: Ot!PZY&'H>H: NA Kᨓ B[GP4M<1qA/ˆP G*XhhXB L/&_hkAB4"B"ZM45hi((vsPKB4v +ϣ"?"Kua;d ;GTNtO}KuDagcYbR - M8p TbE(aal8d""0l L6bE(m9iH)AUᒄ 6d]Ԙ6u L&/DFmmC[)8lMmY-DKD@&OmaU 6m-qLă)7vŗTk 9ˤT#QM…UF0AQe>æI@\ QNm/둌db*+e(.a=,_#^:p{GL >=Ӓ4?OB)i灧*ox|&/a?N'rCt?a_MF}D3O~Ι=Kph?Co_~QE?FZ"?Ho e}--&CF$#ZW_/?s񲢞mkAl󤹅4ͯT/c'ͯkƓaBzb/Nr=0zil_},RӪLEP[+K:"?4hg=l=/_-4W1I@^me"%8hʖtTg_-4_O"}/樝WoIߠҢN'E?㚓+=IߠusEdq9F> WB-=$Nu"/dWB/kXx>-P"?Z##ivC^z|2?@mg#y[ֈi;q?I/կ_o[DpQ~UfΓ?%5Ǿ^Dt%)ӧic4Z]v}q}Z==w{8alWi{z_W_Z ?O]_5 ˕e"6]/oe?-r _7iu,8O?~Jz_/KKO㥜I^} .tHk算wP 算CU!_~}/~_ADb //">_">?_IK 뎴*D{_}F?(^'LF}#ߎ"?ǜ/Z K}YAk-/cFG}4c =uqi_N_=( +ߥW9ץ"?@隃5#__]GT_]|sC\idA~׫YK,տRXaƖHZ @W]iңYKx_P_?tO]z:OiңY_/[Vm~B]5,}o /k%UV.J"ׇРĊ_Р]w=/ƅ?ւ/S~ R ;)*-6 iyi7:QuХDM5z_?Y^]ifLk]w1HM[Q sa򪴴kom/͆Cŵǚ?io}06Y__}GZAH<ULPpGAࢪ~}GZAH<WLUK&Sa>BA8&T΀@e=&@k_ޕ8H30oIֿK%7Om7?ҽoN=-VOckA>{!"I&Aqs M1 +anzՆ#+'a=&m>" GI:XEA KRR."B !5s9sa Ƞ&ab/\tRL$庰@ yNa/<6KAƝ*56?RI%UΣ^m&AA8Wy=Io +9kKΈ$0M㴳^]W5ÿI\id=-&ELve QM;a5$- + +K| j#&K4%kzVʨJ =, +^i7bl}~  7z\0oI[L?KuZ5zM |%֗ToI LN L:A| oxA =i`pn $ "  ĖVt BF X=d 0@Z[# cIBc &Ei -ƃ 0BH$8KH5-1h PB)@A0""*!4{>:iGި>Pw}DG? 0y1P +YrADg#}xͥ0yFB#o8|syc 1kKcQAN#nnndbиzGD>D}^q9-YD"> iA B@&- 0A8CGسr-A%FtKN'rCۋp#vH # Fph<Ųa4q2PDu78q3:> S>߸\BaBn!=_ hCZ]k8KtxZ}E8";H|auYuA66,Gy?Y!t9ģb""7"믬ؠ$l=h.}+V({Ma$T>QMNym-JD/H># $,aAzBm6#M] *dqGtcMvS#8B?:4}}lR"GӟG+チ!{S-6.R?+?{I6JtT{oUkv;g楝86}6q}PN!qjm[cp/U0Qw6wL[ǺmSwm8n[ 3N29<P,3>YBH~յtqů@w8Gd"*")RB""88)b +I$!i3JqJqJqꏣ EٚShPH%+4 vPDFqHD~"'U R ӄ"\ͣ#"EA1#Hin= gD(") +K+^y%,R>HC,c-őRXC 2tA$̓+C:gh|d);4VQ)uhEB#k=\3R"0l 2tkPl6ͦl \0Pl23ϲ 2YȢ)(v,Fzql6ðA ήEŷICPŚ&6Q0^vGŧegn"HV@{ 38EVJq28Qi78"@jr1D# +ԁ#b鷧}bF$iN%d1sZ4C|*\  '0AM)iČixֳ~ٜ6'h!^%o0A/y$kY:('k(IAA/vlQEs?F6?5J0^I"uDoZZM^7jS#_ гa4}kL+]&]ǘ_cI-jZYECZeY92 ~EޗKOKK/N"uvW>@q%xDt%EJq%s;@*͡_t_4W1IsO_G@ΜYoJ/KlIo&dMzZ^)"=9Ο0YĐm/ouXFkO0KFKLm/_#}G?qI/H0J-?ȒKoa楤難6:_7}?BZ^Dz -DuHT}2դDUxoJ4>Ǟ. +?!Z}!,uZDD.)8~֗i?ڲ85W8fS?4[uy* B1 8M  +S&ᎂzLz\eiqx0 `3_ݫU_p]~5#O8ms5a"> W}7McKJtu V*]Wny2MkHҿ+K//})^ %~TG ?\ݒЋ$ /R'Mםo`D{_}yB/oKcVQ͈ +qbZsRpAW^ߥWvIe9cB(--. }3yÏm{(A&aKtIe8}_N_*sk|rLlR(__3fDr6Im#>/B/C{IW4 )%ZCX"?dBּ.шUW]kP_tAcf.RG?*յom om%o0--WKu^_Їߥ_[I[ڶz_Muحk]2ib)dnz_X)bq]e 6 u u%nEYB4? dPֿuPM4׿lizHK59 4뺨ߠ.ƒa׏Ҷ4io֖oIap. Z}a\&">U<'9ZiwT֗ק9Fd tt/OO5I6e >ҴGK_ZI7#.9=a!6&=ﭿ=vHi'x =v}/ޞZ_^gz_[ Uo.2moiU/7i/gY_T8TM A_ץ";I/p@տT0JpCV y4ݰA+ L:lE$BEu9|)6"[~-oK MvV~O0zL5_ ޗe:%niȬl5$s9sa ȥ&_ ҆i*QLyq)I 1SI1x c:IB {)H ?=b3T u=] TH2 m$/!PY>Y&'m#Td* 5Mi$1XAH! 1XkO a`IzI m2N@/,mSI$UVzBBEX8E!LUB$ Z$ V{פ*XhRb*Di$H!%Z!E@DhRA $>#H!!L$PB""""""(!yDGZ ""&6QЈ5!;/Ab +v*4ED Z4h"!hɧFp5]CO"h֡ . 86l(eOfmȍt>ػNS>BxQy0 +_Q`*!}aSPP#EêHd5@Ug +YY#5ʜ@D-V@HApP\ /ˤ_IO=2%EקD(4UC*I )WpQࠆ pPC ?tvQl!B"ŕ::ehpUւiNQk(uE~NCZ^PH_\[{1 m7gҞIʚM#}i'%y(Jy$tZIe +qP}BI*cVAeB $Nj'ZzZYKK6KK6^:3"- JΠÜG&J:n1yő΅>~NB.m +}BЋ _t Ȫ$/9ZdV{Kי^.Tqsj9cK\mrMŢ.`jYBK\b]/ZQ #+yBO3Qޣl~{</IKQKQ^GIfiDkH7K+tPB/?}A]OAACe_@_RDS|< 1o#xUQcJJ?/1Jħ-'VQ-"9O1 `IYDbA%_e"2~bKӝZn n:0_7 u#K9_J/Z\Ga_~#W#I'PpIr:_i3kyC{iDmko?I7A_gChKүYPA_zWGI+Ҹ">ނEƕ\oA"&IޗI + ?KWߣK\RT+N1FƿI?$BGK]ޖ>acl |x?ï " +m $ Σ[xim0t(ŵ m/ m Ap!Kp|s@P@P=85r#VPPDpPb< |B +1:4봯iwKC?AyyiuH}5 ({97@$aH 3"]in|Z[y +Kya/u_@ KK9~cD& Z]OjA%$~#l?YſoKn~A("=#ÜX?]O]|>CI~$?Id'+9PKoKa5Km_Koev5n@_KxaxO ?TWA(aXA(amm8 [X1V-cu_AzM|~[[ [m㋈ޗ[ w Cc%MsJAaK- ?a.q.O.>(O.%Vc-\&Ia%5kΓ3ҝ%ZW ITǥ_b4]P[kCe_@ZW"?֗@W9zG/ц]q}8;z KnLnq=ZZ^ T+KKK0Kj=/=\4G_ }-*[ks2~be"KP~!(tO#zXAu8e/EkK,:-iq_t/vC~ZUD~^癈tf"9/gu_D} %/#@z^{F*KşN_qu,7_Kt0HWoZL=.oN:KoK)_5 xm_~.aIsƿҹ5 a_Eo.aE~h/[ϡ]~vam玒9X@ +KC6 !k~t]%h. a6>Iϥ& 4_^}}yKz_kjߥ~/0$\/I/x]wk_Ko-iWi҈5AP +[ub)}},7@PKsB %$9Nk&[iK. mkYGO$).?:E{M5m}io綒[=~0RH\HRvjm/KK)_Ic@K_j?* +5 i y{Ko'T0~ICK (iWXA9L=wvi}- A\~A("<_$Zirt>gz_:RKm& ~$0)tޖWk ڿ~)m~M0-#|z[\";Ic@%>JinNm-o XA8㎓i6~I/I _0 |}ۤ[ߥao MɁ&ImJ񞭧C_%MEgi& Al5ik RN:\) H0׵%_%yHK,&]$K%ӤA#+8A74dQRAN_8/b~qn[HJ ~b~Xa%*-u1 Xh48A4 {XK@KqXLD5| 4_ CČ8hAARt A5A(qү aP0G@I:BR GA *! ЈBSH'DDDFDFPB"57$OmKsB PʴSg]agzνX80laam03 +FFPnzB(`A )#:[{ oV&azlm?HBбF.*վt']UIW{: +MiSz_/m&[O >i6^IhP~:ZZC}h6A`c!BiA?Ӥ$S 9Sd 9S}&!'m~N؄]J,G91YCHNsXB 5.p@$aY>m mǑ$0}GN=)[p@[*VIpNۄG_ρZXi nE\D{z KnՔAZ[u~!GoKAb%QXUK.--?D{K.RqiVu}C~ZUFt,BI^_bJ_? acхAl1il㎗Cnyxsf=#>}v@}s_V[xAl?_"3 _OS,00t=_ oeqTy=XAl08K +u4u a%nQu]T}/Zޫ_6 ~H]o5 +Z]TQ5*mE.Q*CH&r(\"(F2^E.:UT(me ӬWz}l?3GSꪛe (NfaC&v_SCCZ]/I6 +tN-.z$Û&0yBW!BKOā*ZT*gۭsKM2y;D}iW6c"s}a:Q-v~8~'[רnm@!y%0|KKg"rXKKg"}}~i7=& !ME<>![k_*K/jMDǤp ?[ &Qq$H%qM/iubeM!2Νp/1~,qK7(Ƞm_YG_/m$jGD*h3^頼g M $WGD*h!5_ +ΟgF$p΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuHE1쌏죜sPer?9aTC98%G8Hj WJqTʡQtG K:aN*5*ӲGGRP_|W5i>)_ZWG*VT4_HSKK~LWf_{]$E"?Jr=jst}t{@9zG]_%mGPNNE:61P"oG#G3Ӕ#I{(A@kGïTl?zZ_Z *ʙ'_JqlRZ_ҭM쩞ݢ7xQfzI%Csi/ޓQz/"<)hXViפT?zJbKKpc M0b-/I`H%9}.^]n|XE4| -KҦr]]n|Xz~Ps_1/K׿ (c-/ $I"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:tuz#`Hy  Ii/5rՔ/렐@׮q_/\6IZH .Z[iiViim^pwZH .Z[d--#~hv XJQ_KS, _Z BK?9BοuuZ4m뚟@ b(""?]zZLsSa&.==..eKW]u]7 Z:9=-[_egj NNGOKޖm[VKA)ZzM]?@\0ʾ?At^XZMmmmt--CO< ^Sim,B< ^S@}-v)b- TGAyHyzq۬1_[z^ʅzq KoKtJT-i~!NA#߷)jl?G\ )A~qa6 kKHXH%E&--2=GE$ഴMii":XJۮ~pG@jPpGK; (_~pGu\2\6么_ H:֕%G:-&T΀տ &T΀l?seL ׶sS:!6K!AwtI{Σ<> GHxi֐g'HxcZ[vi!~IMl ?eiKek]ޖOT֖0a,k:ZAv-׬za--X`o/TtIz[k;?TD0kI5M O_MA$R?+ å(~]KJT( C. 5wG_kI?It`Ą. 5^-'$1Aa$آ#Pya/MMf +dCLbCZQ[sgoQH2#qp@Ab :+h%IAY*@eA{AZ@mNXK d24?A0RA?Xi"a! Oi"@ $~L-HFuMI lCAЈDFb"?nR&Љ**EDJ_TJT'DtȖt:jR;0::[:ȣ*8g_vaMiL&8d 0wdl$6l86*#I6ͦim0 nh:AøDoz 6#}]aB!"5ފ|-(I7PU<oa60{ @jN& 'NEZ7kIF0Qt4MmvoO!z}$t +"d0v:L^)nI[aHIIC઄9IiH0鋭s dgҬ z_q.LO ,rB:&/Aޗ ֓ҟTVԍi0/ۣ^CMa^!a]/՞AHKTDGpA#i/L59`G9W6kT +?Pob(WIl0"=9I8g#)vn0 {##(,(aU&Q\T4Iq|( P_4Iq|( P\ VyP@CI.KAUP!i-^B%[~D?zHImSKuA:#_?@Xa -DuH鱰T[p[4ׄ_#uJQ2~ ߥaKu}v`u_.< +-ZzsDtV5 +&*0V_ʙB?ց(Pkn˃R ejMmD[^(Pkn6PmKK+Ab3rZ $/9( ?JX[(0F& ?JX_)Z F-t.A K k6]~>mM_^f& 9}.m*\Q M[h&m*J:m*#:OFi %z^#BִMfWi6IbJo bJ+URK$ ; $Wo.yJaIi I%}/6]{0Cam/(l4EВKKm$t_SE A7OL?H&M%iP #>EB"ʝ?@ag"?Aa L4I}B OKI/et$a kB  0z |=ZSS t:zA |6] E>'7 u]xץZ 3c $g%R85>>Y3|%Չl$D_\}J}IqT X`kVz#A+ jS X`kZA0BA ? Zo$bI~x$b_LjA +?ԒXt_LjA +0 u²uA/C$J!*ZZdyUr9U vPA*$~?Hl#'* ~Hi_qA, DSEGr9i2t+q~K_ +}_ <޿ +AQdCI2L&D4oV3M $"uPdcI;l AFvT?F)HbڤHbzAKN8 6_ _I` _pGi6j/CK$";IVH Dv$bT A M m&R$I鴽@ &oj4I6oH6h/6i/!m&ҵ$i7MjA$I (l/Npz<$~KZF tij9e#P@ ҇H0(I'J{ x plI0bA$ aI8A7 BhI8A7Yp^A010A!oA0=&u 8 A`IIaL& /ᣡ H &(5ABD`AQd ; H 3 .0@A_4= A4) +G@A ZT$ `$F@RDDDDDDB:d*FU|B%$EȖ#d1Kua$<;Æu*#j 0DmJ6쭹ӜlEo +*8pιUP4S&6Mf%Ցu 6 Pa)ѭzaIMi 8pl?ԁ0 W0wvŧIu +&RCg6I J`M(DO + 6v\fh(pDgM4DC LD]$h2auTL:nʬoazB(gndb#1l}voOT,8?3IPP\ Y vBhz{} Ҳ0!}Dݎ2GW1~Z YPigWJ>2GSZ  Ot U)a~FtqũC?q?HGE6g .>oI$Hv$ѭ0&>꠽)>ӣ=?$k3Ud5cI~i7 @?#8C~PI!bSI$o6}&m[便7Z/F'$_=E 6Hp6pWִ4Ǥ{~>\7 )kнBI$Qr[*6US+BSg@1֗Zbmtd㓠^r.rTyWZ:CLyW*}:CWu=5KZr}i=kЋg8#UЧ.a(֜^"HȀUpi `Ke)pOLtsխ}/W^ C R#ӜQi[(!/qHz%KSD‚ 5=Wai/҅ +k:N?c|}P!i-C;IAB{<ׄG/y~c. %t#ca4ޓΗ7/$4דku`c0P%j`tW"?kti7/_}!#X*]t&߮ 2 ?QF_kL1J-R˃R4ʙVB AQW\4FC+M4R+怫A1_ _/P~!죘r1szZB^!E+#v`5I.֗(H$s +>m\^>a"M^B'w} tp_]D46o-O@I FT yPxp@ Xh5C_D%N7Ci &}V$`((^; H ʭ$-Bj WGXPXJ)g AUhp;A"# D !ڪhG+hDi!#b A)@DDhDDDD#ʠ)uk㚖qeVjz (9tSVO]ok +x]!Z^]ht: %F&T +#-D}GaG#,䴴r>8V]"#XH Q(x<▃#> +"AΑ͡4HvɽfUf+8!()PM#G, rߜD E8DtGϣe`AG4 b1.ͲD}D#jPaqM>F2̧xFAAj/& ;D;#%/)CSGE}%>px17D~Mb/}]f&O9*b}f zV)6E_}P͡B:OŲ8k_g(G%jW(YIqb"8# :Ο]v|[聢)(v<:GT}Fk_~8#0q#;"uL7}}!?_{}}F8TGa9;8Yy$b!^6(01L⾂p8[)!݄qt; MPqKlf!j&wN"ѵ(vaQZEa ^(m TܡA'#V`M#n"1/0X[\)I+S^T<^Wr3ԺH MSXC"ik#tD}%HNSEGTuJYC8#hꎨt`[D9C>"1*ۡtoI}'eqEDi1aK9*IUa;/#bQZ#"((,TQ5k *!Y]:'̆"VGb"n.Z6 hl g;N5dpμ3\" Z;;F%=ݒ4laJl6f \0Pl23T6{(ijȾEQHkZ0.a-G2*]EICP"]]EŚ&6Q0r<oaVYӂoaFk 8EVI&yʬΡEén!]H#DޟadOt4M4HҝXPv:L^l=p = +WbJ17Q-G3k@үF}*H0nZK5A oKgi~["IZaL?K/m},"䑭fjaXa.A$_USY٩)􍤽[~#i/OOO3_~RI"DAAy_q?3U7BF4ǤZe!\椧GEa0&}Ǫ(MBJl2%j7KAdc!eY:B ~D! ."jDN_N"O'@/*%ODb-zJ,<_󈎐2ED"Z8B 'sUjӋy!VӋ3Zd5Tg?IeӋ{a:A cJG R#ӜK֍#Ӝሻs b*I/ +%KSD‚ 5xuiA[U|( P_A}iK}P!i-/ R-ia楤DKoSPlt/D},l0":XaU$": %/Knv}2դD^jaf +-PGU%$\~CUKKuO(HqK=V%""ʙB?ց(Pn"5ƕj^ **gZ=KnQI^;y8*4R+-/~ ^ Lz\e~)Z }/&aMAuXI(^I^IքKb0Ex3H ˮ j.0ԑ 30uү޿hmh-$D¸_ k\U/0 $g&RqoI/r?ZZ#A+ kkP@?/F竮 X`k\OE/RK]e +_A (ZL>t)Ȏ + _e  +x%A e ]kuu Xt_LjA +?zMUH}ߠ.ƒa UנƼ?Kr9UqzMPVߋx\H%ZS3Mϧڶ9^pM$O4INq*_uM.9GHh^!XiKJSP +8)zA\S=(D RnO)xA#wM <c aBG,]/r?&?KPA2]m~}IWo $o4Iҷ4W$1H +~CJuJ$1Hu[U_">WM U7 ~xAU5O&#ĪiGi6+}ol Dvhdžp@[J $Gi6FUoCO!6o@ &m&LGmZ CI-7H@ &m!$/ehq zKA$I.xH6aaIR xtxA@G0 x;l5?%e#P@ ҇I1'JAm^Lyq)@ ҇Bޓbyb0L~K$!PXDx1 '&!P]ic& '&W W ThH2 m$/zbd* ' $bKH yPxp@ 1 nA&!ZZ@*i ALL& )N!xA`A,$U/F $eVEX8 @A0V{א1 A, `,44,(%G@A +H!#!hi-4$ A +Z(!!#"""(!""""(!1qI7: ]_ņCqgҲlԲmBAt{@]堭Y2JeQIMܣ;t@:GԐD+pB:pl46zbe 2YȢ)him00 +H5`M(la uwUg +YI7O &Ugu +. YI7\MhvWS +Kצ4MpP2W!DTpP2WȢ z[cٜ6T$m|k(u_%Q /%'ZL?K 􍤼0'TK A^ F]}B$h IZ) +W:<:-~4ǤKK6Sec!b/VAifBJl d5 Esւ#N$"мԫ$^AʟA739F{a:gsN.[}%2Pbq$K@m5,%2Pbl- J(a6ίSy=;xP@h'?ȒHIm5K"I"]%WOA -Du5kW_ AۄG]{}-l[CY/|< &P%YDAD+[u8[j + )Z۫z[zMR+_zZ\^>7 qJX_nl 6G __i6]}v}'PޓiV9VSZ(R/ͯ?u 6o$JzFi %{b)Ga)X~,ҽ+#$?GDm[%`pAW_i괶J҆K*> T]%:@^(t}+KsJ .kdy$tQʰVHu9n('_]L4~_ &F} 0z2:KbZCX |=ZzXA<.aCWGc붂A lm㥥HdH+liKi$Aim3 +~ߐu%a[ۤI/j +ֿokLRVJ] .4iu؄@;zZc^?K U-u @Euisu U ?T&}9©iZ_Z]HhW' tKKt-KtA\S:XaؠdcI4ΈlN{~>]&F4[ #;No.2)Ke}/AoKtAK,Kh A M/:@A#(A$M7 Z 8Ai6$i6aEB MN:bc^O.C^{ t g I AjAd? VFy" +$ ?0@ I s@V4O ` JʰWD` *B*XhhXB AU|*e-&A 50E!@RVIJQhTuK\td"'*%[vȄEGa8pιYDmA 9FԠSo +كaÆuvR)4dl$6vfie" NiMiÆHeB"2_;a6}ރ pWlZtPBe%$zn>B"}]YDK-8l-qL Pma& +}:EA.4_O麪 @I7P =IPvk3YpXF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F Fq[v:L_!H^mh8&WgAA[ȊU: + 6~ڥIZ|& 'H0k?F:{8ԁ8ԓ T 6|{o֘;DF5UGz Ҝc쎍:3ѯ&J)^nmEGe3Y/~*S9DyŒ΅>%JAaDzs+].:5kKFG R#Ӝ_T8I4Iq|( P^#Aiנ# In)%K +kկ}sc2xyZDKoqm-GPzPŪGK _KŪG-Rjca4ޓΗ7~A/):!%TMaKudtW"?kti7, zZY +-_?KJuA (۫i T-/_a +/5 ?2AQW"0KjШKpei:G0 +16aVzxc&+^D=sP#{~0-rR+փALSr_bӭ +>mM_*xj /㥜{~ tl /:Yt +^ "mIYj>b8_GKI6/M[/~x3?ͬki/ai6IbJAׄhKҨdKֿIߋ>-)đlBI^k((^,RC4,7Ia&KGϫ ;oJa'KoaGJ .ҲQL=6Ad'6@h\6=Í6p۪Mi6-.֓z]j݉}:CW>IN +tҋJA [5* 8 ?60y:oeVjʟۏPVE 5}p>BJo'waL-V?CdUA4f/AFz_$4T/]տbtuo'-a`&$kzC[ZU%!lWHW֚MPkd41M^KuZ5 u&?VE8@0֖  @KIiq!5gA$jK-1_Ih:Ih6 hRb"aEG:>#R;젅l&"#-‘,iqH4 2mdu8v9-G_\Dyn!]Џ#JD[CB/SY~a`eޑ0Mn%N"}v;MwlDDGLQp76lNMޖkMom'GH4-/ٰlHc &!b?D]-vmGuD7N}G(p_pKGqlCDI 상J@莇:}bbhV#ARuJU">q)t}nJD\#k[ڳ mK6"0ЈDE/,TBXGuIDD|PQ:ڏYQɱb%H>eR%J[vv.4TGTK#8g\mhs%GchE&tO*)ђ.0:adl$6llL (aal6rgՐhE`LIm0FEa,5lΜ8fa:.a6t/@UTlI@P}MzAN]% +RpCԘh)H* x $Ar1d%?H#DޟPP\ ~}p鴛ȗo(A&a۱fV*WgAA__dH_Oջ&eo 8&'Aޗ;H1Zm U oK蓴IkF5XH"t}Hh֘~ ':N ߤm$ Co/_բ~piE!AHKk^ue#@\zO"BZ)'h8 Iױ66&# +P d51-΀^΀\7 )@k8Ez@/!%Oy#\za#\9:E$|6{~*Y:.Qϭ8Լ}tzMRֳ4t\ZqPC$[(71HNsY0 L:*EG R#ӜKSD‚ 5죜sRO>V撥KAרd󐴉t=TIWO9 HIm$ta -Du^U*C߻@?%!D},l0":{ &0P%듨q#`^| 8ua|[u۪P3 +q5  ?QD_Zu(5VlKXPA (۫_sP#ih,Wt9?KKegaZA)Z I}b8M6]~?s8R|8R 6# to& cK6 J;9/gxA.Rq3IP_]D46o /WOIMfWƞ_qe"?(? HI03 {! |=|Rv_ן_c.AL>{/p@|Oo 3^}}yKx_B 0ge[T %Չl$D_~Cop!ʂgHdK+ڶ6A+ kE" `Wָ̓ZD ijΏA0Bbu$mH$%n9ήk&Z|ПC?IYBH$%nMWoaVNS"`ʛe>æ=Ra.qi֬oazB(gPpe;5 c2٫!#Dޟ+SΩV!Ѩ~߷Prv}QHӎw=TZ#I-o*oծ-T[p!} +[/A}75k#wuI@@UUfj/o KuOmǮ?\_a-]AQ5W(AYU TαTo8-]AQ5W4F-78h,WW>DCQ%_0EA |)__bӭ: פAu(Os8RK| ~XAy._O0֗ZM[R3_ +izuU_ 0kȎXAq~lBI_(":4kQ,YCD(r./3MI+҆Ȫ5[l1iNG!?o_T>8AszV uA4h/_/(l4Jȷ]//%GO҆KE* "#Ք[$tGE{:*빞ZȏA7OKo7 &F}}9I]l? oB 7 &F}_WuuIWoa~ 0zH_Ⳣ\_a~ 0z/A |6]V%zZ^OzUA>.1KzN>$D_M>?rSHdK+Fokk]_ V\ s(̓ZDA+ kئ)&+[n VKoks\OKn ׌0Mj0Q:A?*t?C]0Q:AD5iam +A*AqK]KYƖ+ Y&P־"$qK ?T& _ia'$p;+o_AryL n]i.A0M&(Iy /uPdCI4i~wMץB $`}mR_$1Hm-KRO hK%@D&@KUX 6K $__;/o]o,AK'UYOIHĩ(@A# KkkNm/+oKIHĩ(@A#|%֗Tb R@ &maQniqbxA{KIKAi6Zä,"~zBIl=1xb3մb Ί^ZLia߆ސAZX$\4oI/^LH0(I'J.x 9?a‚l%`$F@RG!elI$#"F0I  XQЈu*Zv>:>/GG>#Kꏩh+B#B#b"81"Ğr99ig# rAG"Ar-#;%R% +Ş@,ˤBq& a88#,#"Yqv- -`9!؟AlІ)*}I t-Մ; +w>mP80#Yمa]V*?@v?MըbŎmK 6VUme;5.",ϥl6‹*UNE"04<Ž85:LO! 7hx!ݨ-I$4nAAOYީ fGdr8$dqGx-8"=Tmgͬ>itߌ0ocDi=68B/ $%-/Ae͆b $ݥW}#ArM4-uKJ.JCG_(3#28ƃb"$# 0@ qQu׈Emmzɻ_zݽm$үD">D6 }QG6 #>>DuGNq>m(Ϊ~tDDD^DDDqw !g9#"X3E*&5q}X.o'[I!إ|"VF<>g-#:ꏢGF8!JP8 .?b˲컈8&'pH1+6::b8# "#bmP1N h/vеA!_u 4۶EڗaP"ᓴm>d[_V}8*>R+ +Lv#1ɳхx"mQ}ASiHvA9#tG#꽭M""6#W0@ ,D8 _clb ZDDq `k7V״qCP\1m"4~1I1ZAEgTe7#SN}9>B>AY#ΚGDu}F͡[}~qƇlDp#Hƛb [A88ooA73x%&c}6c;*GUFiDiRyl$q7`HQ>Ꜭ#$""B,DDꏡ""",-FG}QG}EaDiG~D} q&q,e"-FV`Aage(Dj(ʯ;D; J)\hL\UC:KhDB"ȧDBe Mi.64ϫ!g- &}Ypm0Eøp*DgPWqdmg@tᝅS*63[:p8,k-Ͳ3goa2aa0I78zA0Q@SPPvk?aD}D=h + oۥM߷MJDzah{$s̭U*΂M߶?HWд,Q + o/Aޗ;76mWgAi/Tv;Op gD8II,ׄDԿoI ߤm$ Co m:KDFI􍤑vlyd5:_q? CROAc='Ti؛M!%6H os6OΠ٥ւ!C_^I^\>uh"TG78PHH"[# zL{hY6L59ߚY?]#D1 83?Y3@8^>~uTu#Ӝ3ҿ]tYg +kկ)z>(a_ D~"]%g#DhO$ad?[4Iy'Щ-#T3ҝ%+0/u8|h_aƯO[>HC8KkejMm8_fW[#[( +8 --G1ZDײG:Seav+̟إK/3^a#,99/‘+K._v4vjIS_f~Re'x3:}-*̄ /Jk./3MI+O_G8-9Q.KWށJU +m:9_|ik>!?cv +몬'(Aʡ҆KB_(Az[(W㎗[(AYk^~A7O>Ac8`?렒agAA̭z(zF}QWT/a~ 0z^?_]y+zC?{~>5VA lׯ__P|Q|xK <6]pKm oR_F{"Y\U/?!p!_^}%at҈5A?/`֑7Մk]/[_SPָA (_99#(ӡ>5~1XoI[5_C$J!* <.?/A38HQ<4cbJj@ڐ-z][z|ZPtUi +, DSD9I],/XHXI]/ ~H]o4I9P[hPo_AryL G*GZW^ZxyL Dj&ߧ7^ +&D4Om-?I, +٠Li&m+}6/g~.Rz[(p|1H[Km& N޷ Km/ީm/KXm/Km_1 r«zMF%IBۂ$[ anm/ uX@&5oҿ [zL5H]$I&_Io_&m&RoToÅMjA$IiV!L4Fb ֖m&Ý>}%C+ zC1h t" a.p t$ǧΞA6P + +l &=/J}x&?%A/@i$)y, AyدA0:H2׶L1ΪpoG>TB6gƐd* D B4H& A`!y8&FM&H?0L +L& %t-@,A%zXHd"$AUk `#k"* \p *XHH4i-& DHD -#hD , V+tG^B(&DE9'8-AT_fjwIihIs"mB A'F24D+;(D-QD+D&l"-C:gբ yOPsTAW&hDW"ȍn3"yF 6pl6ͦl \0Pl23T6lI"E"Mi.'DB5+PPu +<"[((vJQBDKP6҆&"%^3>,0ضRpٛ#EYM40n"1Z $h)ʬEA$n}.}'6l] z4HҝXH#Dޞ +B$, _C|*\ Rf&*$/ +Ql!oK߭g1 z_ixH0"?8Jr'_D#ZW$ +'(I$|$7_IKof􍤿o==<~ F@{+L=$4o6Eٲ~?~WrBS#K(S_ гa4q?Ze!\#@\zOXooUz'Mʵz BI=-,"c!qX}?HIMC\mt )k?󐺤"- JΠ xDt%/*%OEJq%yQ*us_B.m +}BЋ _u Ő~9z0sN/s_ZsWMt.aDzsIG9{  ֻx P_.Aޖ_:( P^,#WZZ=?ȒKoa楤DKo}MaHIm ϡ'Kk$("Kn~%/KnL5i/8":d&Uhe,E=u_%G5\_kD*]xHqK=V*]?]㤂n*Z"H&uL0ȯ"B:Ni}L4~_$iS}=6 5-#Eֵ 0z-z] |=$߯@$Q߄h!#٠lK_x=IA3 \?*H ˯ߨ~__ /@ im_/#>?I쉅qTm$9F{"a\U/_ & &g kW/A,W] +ֺ_X V-lJ_JAaǠ]V?^/ H*#HALRV묡kH$%n} |B +1:NiuTc~cI0 zbA:Ahx UT_P?I}c0BLȟZ[ %5 JMϧU **/)ק8@#0 Mk +ia'$EWTzI/A%$~yO  I&tA\S?G,]/r( <}"?߄J~A'DOd6 K%Iߏ( .M==koZ@v$2ق(OFwd[ @ԡ+t=ag~D#$/RBUoK)m0(oᴿ~xA t8 i.a}ߥ";I/p@[J $Gi6/:@A#p@[ \%oIAlVai7:Mmb Iqo8 Iqto萒tW SH,7]Ai<:YNB M L?^8Aa[ +*N'%[j TD:\Ja t" 1N:C̏ ̋!$Ʀ]sĸ9ŸA+, Fg 8A6z, Av vBI8A7 TINMTQ2>M;%$ + +X1 h; wKO a`IzZ@*i ALcL& - bN + K_KI&!-aa1] b4)t_  ^*R t0@AZEX? ` *v>㥈HaDvGiRi!KA $>#"BGp"B>! "!r@,F88F?/ŜY ^qgq3_}IiiZ!=dʼn7flB{5'ɲ-DiC +?lheT{uIlx7-%OWz׵]<5  +endstream +endobj +30 0 obj <>stream +x+*T04U0B C=SSB!9WA?37R%_!+) H!$Ѕr\CR +endstream +endobj +31 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +32 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88605/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY P>a T#a| $Pm H7(BmSΦqt ?1Ni]7YI][ \ȤFKkCD$eGIտ"M_8%)%oz:kn}vKe!KIk{MJFǣcK%_֝bq *5ǥhnk㎗+U${ح&+mJ /㤵Uڤo)$)zZ*_KKR`I7sK?/%I>?"uNK_zXIZ]BC%?/]$ax/Kfn%io%KJizH0RZOOT:Vm-T=]]P ; %-LiI&2T ! aaAAI"""""""''N  $("Kn~^ҟ98*]I)RDS|< !-_\kKejMmZ^ޗOZO mtu^:1XX"׭& ^ւ Z\F^p]~5t&ҭ/Oϥ kyCzU3#4؄^t^:_,R ҽ+#J q_}i[l1כ~:Z 8Et:eK4"? +_ _}pn+ /JgP@$i_3P"?9u~hBIm#>\2|0H$h/,s :/h)t Hk[|=BGk  u_/ AA,}veZ0IeqT뮗_AqeqT^GYk4J+ZZ O$HAjV_OA&)+ux@P=A"ifTouIi?Bf Nk 41H%ZIx!&wK-kij'"wUZW%@^:Z]5ՠ +կPA޿Ky<a&D4kKkuA'DOd+K$1HB(KiI; `eyG9xbAm- u]6[i2;gxm/J`zWXa~@&!"I m&Gq䄋=&r I H6mp'a=&Xnoi7dQ` A0͆ "yp(ڶC3(߲ cL pm7$JI"u {)H >=biFy" +a\H! 1A06h1 #XAH! 1Xk@H ]xc&K(B #XAQ[BQA0IU b4)t_  _薱h D K%Z!GiRi!J"""8""""""""/ZVL̘BW[Dɣ-Q +`AlDQ#D;WPʴS` Æf L2(ippwRl2H:ۄFggQnˌd ! ZPoaA(ELf# c2P:h#DޟG' oVAa buqivLIZh}*} B᷶a0A~Ї9 -? z]1u|t5$v~8~'ZL?KJ}RU6pۯ76@Kg"o6&IoitM_*FPHKKi{i?:K7 p d4*=.n$ID5YF^"о!AJtӋJS"HpUk`i`G9W7zQi[(!f뮗/eP쌏죜sPP@WΡSP}cNOtߪ^ ?Ko*o0\SKuA?}75kp=D[W"ӥM]aul B +$Uf4F*8S6PmKK+Ab3rZ /K35}Dng'nr1m%Aue'w 0M!I|k6aL-W#lBI^>*3IK x괶Ҷc_H&cхIi I)PaWiBH_ --MCΊ-BL4 +6ﺺaǧH$ꗲ%[uuz:9=-H A^<_]mRm-3~D?kj?--J+Z?7Ԗ$z Z[aLRVg0?i7ikLjA +?D5ikKk KL JhI5~8~pG$O5p++/㜎tZL +]ie /!6QdCI2fVJIgeCKeb/W 6/'UYOpGi6j/%֗TcM _Zä,"A$IQΊ֖  @Kׄw Ą՝P/I.!>^$ pk Uil& &[AG t4:HQh~@2ah6 E!!b"aDDDDDD* ; +GѐD}Q#+ #j[v#DDIB>-lv1l#!Kc)٬g}0K6 >3IcDGLD3"?]J!0ŔylM1dq DHj]t;BS8:SaJEgHS71-ٴ=w2gf{7GD>KB/B35w}䇒,"E $0E8aFEA,+_۟Vh OcC(puWoBnU6\˽o%ٽ#<+S +(pDsU0/W_n;եRZc$عڶbA#hϣB#yH MUbi]A"#UЈEY}PD" ꍣ5 (@8 "> +1!61lxL(#!`:&TD0DEA"=)h>R>AK!>#aZiX>d M[)n!Xl" 'DtȦt:`YZ ~3vR4ITAc|8g\h%vaMi@ \6͑f \6 ͑f \66 ?хQi n.a-ރ pWqphm霧8i҄{  8Ah)UAh));Ȍe;Bt4Uz}FOQt4Mo(A&%4\ $t> +"ݎ2GW8&daHIIPOsa_J> 6)H0 aIڢN'~pXN~oԉi0/5Dѭ0&|&XAAZKg"to6&Z"uh"{fکChzW(֜ZP&MRֳ4t\Zq~ߊfsN/L59e0?_aDzs~~JAG R#Ӝt R#ӜY3@X׏ߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%_?T[pI/I#ca4:ll0":[?p=D0[W" `c0P% &0P%K( S8zrtV5 +0*0VEE2 ?QF^AaN#A (۫Ȱq׮ )_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_V#_M_ | PZZi7aפ؎>mM_C akov4;M!I|kRlQ M[xIMUMizuNOFi %z^>֖ibJtaFi %~&\_fzr +^>z-ZM[l1ɀU$0|zV uI0U +ovP'a6]%q_҆KB-aGJ .e9\ _P~t$/H&q'I?b:A4ȓ A7O xJ &F}yV" #>"?Aa L4IwW_"&.==.A&T 31uH?IՃ% kB  0z){KItA h. xEx3H ˠ "A 6]pJ0~׵m 3~D?Am}W $g'Ra4M/$ȜWKz3{k@A+ jP%:?? +֠Z_oA0BV.lS/Z[aLRVgP 1I[e -[a 1I[un _8 UG5a!*~ u²uA(aܠ*Am5Xii VpO9U nH%Z[H."#9Ii-<A"~zsA5 ?THNqj MNpia'BxDr9i2t+"?pRW <_ <|"? !6&?QdI25&ANoտdI4&ҡA +֖Pgd +  R3蕿\{p@ʴڤH@};^AWM JoAAF!7a l/ |!۲%V[ A M 0ޓtRPa:MA$M:MA$MMI6n:M0 it 7H6h/6zKA$IiZAxA77!,^&? (l/NpzC1~kYH t"ǤKQk)N:C1h,I T>^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6De;"?"חn6tW\ ;/쩮0Fm&!AI6 +2pPm&!A洿 MvPSLkNioSLkӆx|Ҧa^AWz__%^DGGYZtI5/_5/!Z /jMKW}"k_zI(8HB0b_Z P X>W_.D5CT4`u_?S_},KzIȠgF$pЩ$!SDy#鵔j0oZdT <-([~h_:6UgHBI5D?5jE=^AtUKHC>a樝j[~XD{9pZa' sq*PH|Ns1Xo7=Rʿh/a_T*M2?I*G0 |qTZ##ϡ_=axa^G+/$KvUfu'/GUi{kY9RUz9zG9灧IUKK6]}; ~'t:H#~IuesAi?Z^D}A<:U3Ηz?փJ7yD4%IER(t"IN8DxRб*pcK9*iiZ Bi $lI4>`Im=tK_ ϋ ^i=4| GKz]D5]t|Mb PP, _oZ 3,YCAhKJr^?d\08t Y+_q֖]n~>RgP AFD{^_^v荂 0oAǜ/e?%ץC @Ք,hkm4#N$AicqyQ<I-,}/ҿtߚ uJh" ;*ru$ _O_3W w]Z4mKI- { Z\idڷXۯA^aY "߫Y:GuxMeg 6~4Q={+?miңY=ukh E=+@KI}PAi%_[oe_KKo +ZHK[/kiZZUBA`u PW(UiDZ SAР_X@lWZ + ?~+{*Nz` ;)*M{*]wYq tDAAh Aiwa6  ͂Au>,!.BA_Bl +CBq[*:JCìqǮl&k!imMZ폠B~"=>^-a&Ms}b"?}]7_a--X`T _x/T4 _/J[ DG򫮓{ߠIWI$7_ 8F?TMҿI-R :"~I=%0  `&  $ aba|$jK˛ 0AEAa%*AˊL2#RUkH0zA75*A/V0ȍIV =,I8cJaAP@Ab9*@e0`Çaaȶ- k"H !c& 8vLbҬ44, $^Ih hp  E@/  AxH4,,HX G[@@$alCMp!i!HDzA0#ЈDDFDhDDE"""1"HGd-Q\d-ƳdJKQ\W5MhJ N2cA8g\2[3w@KN3 o!yXl "֘l8l q\lDa +lapȟMla;"Fl2'0la4mSϨ:Aa‡U N5vD"aM}]«*)8lML0Țn*XaAx3 "k. ) 5D #9i3Ѭh"/Poag&g;U kVBa׮g8$i2#wD%[wLm<3k3 +huү>?0?9QF/!F*itzMB TLI6H +_n}3^P4?MT*gӆGᴓI,rB:.DԻoKo=M0ajM +_*Н>QV <3O{C | %~nI%m__Y +ZL?Ktq6-nL=׫ $/HK*. 6%lѨAHJ"bWy!) a_RC9 !=Al?$h I_:*?_kƓh|ޒiKI*H" d5/車!CU/1BJl2\8BӪ"B,gq$%xHJ5_(DRT4G&H?~N> G/*YӱhѪI-?8DV1 8*h +&!'I#=.m%JQϭ8BЩtK!?,U^Apt!*"ҒEZ 'I*:u$opBiP8Ϡ>?KzY8fCNsiNAI% +kC"C L-"^HB 56"`K/DdT=K0,t83yS KoS/00J%[N UvU WK98LIm#$҄Jt":#ALU]/K9A~E]Wүo%2={7?rT nMJDkt@7IGK9 m--ނ۫GدD$[u..4_OjoeL^$--]╠^ۥK^]8X֍8KB8__'H*K./KAI'#@R/Kk#z=zl|7[>,RM'}-*J_>}-*Oϥ J5h_gަ@o^| Xe i~, %y^:_fW !YC/ׯa_,GU@ `"=h/fʝ=@]{* .oI~.(4cBCai}`X^E[/H$*?_!:I?AuoJtvT:%u&4_-KAI03)|igƖHi2/ a=WaHzW4 3)% 0z_ޓuӥF#YMxK <6]W_֟K <6]~  lHKKI}8Am*8XAm*o$ȘWKWú  +xk_:#\yNxkւ/m&A0B?T_^tA']+Pu%K>r}<%6 aLRVrS-ƿjl" K /Q?B UQ[ ͆C&1F }VEΧQsk_KUQs)(_?RS%1+~D[M%SDm-\ DS_Iei | `_ Ty<'KKA? ȴ[*18&SKvi ulPA2]ZSL.-#xi|1Hb@Z@&"?}p a5/Am/?K?aXkaㄭ!, Dv";I_=+H DvФ?,7b"KK&o&m#!"I m& ]ΊzM05:u]ICH6a. H6q?^G&F*KEO8A60 (}yRN: 36` ^l tNaQ[Kk [AIAI¤ KKWpo+OWpoIu {)L ?= '&$á#5"ش]M "H LZY# Lo8A04 Bk +@ a L&Ak~B:A 6a\4LXHAAAVC U)4`q +ZAP$5BBBbA @A BMDDE4""""""(!MJg0Q0e8 Chw  AG ik^X%: ev e^[*[aqg|5]qKz聯[}$`f KKxtdu%h "'4 dE. @KJ *R҈,H"#LȄd"T𥺰`AlDQA)8duʪ#j _ls&gix&7&Vٴôd+:!ȔMiIZe(l6@M_Zud5uvŧITtͲݗAGҒ[{ >S"`(I7Pu +.F2#)٬l#qDM4DzL:QYӅ_4M\0AAQ({yobc${I3+|%_[i~P8߽8jF~I4k➦H0n,}v`[A!iz_*O_Y +ZL?KGAD/BFm%>QEs?FA#i/KKA7T?$h IS#E{J 4IMCLW^_BֈkPHa"'*B^Y_ڤh_)%zנiZT$i~N_%(֜\SO"Ӥ]!T*t9g$ [~JG9~IN$X^ʡ8ޓG $ 5="^HB 5_%=K0,t}>tT"]%:"FZV_A~#N=)[p +":ePt|>$n֗Qu5YH +^ҟ98*]},EG IGK9 m--<֙B~֗ (۫5V#/+`SR+ץ_p/:#zXAu(O׭& A0}!]IKJUK/m*y>!?l3Xg$# tH6!$g-,6K?-:D{_}i[l1/?__iP9#8uo<ƅ/҆KoyK<޿ $GE{:zW9M Km$@|NEWtG[L #>e9HC뺥Ώ붂-_'MG 恖S9A&Y~sK^Km3 _UGIm  u>׵KAB?:N[{+ko[ $g%Rk_mv/ +xkA%ޗ_頂V!Z^V" ['_XoI[𭤖Ol K K yt!*x]t#K3]Kh Z.)vKU=t D~$ߪhI~[IA"~r2?~yL nՠ +y /-?fi m/( OV4>gz_Qia)Wt\*Xm/ ` _ޖO%i+a# KkAX@A#c@, Im&/AX䄋=& IBީaoICH6a$0  B MΊ 0ү&&*ʳ9C*8g\_M8m"]7 iiVDR`;al3>g +* "S 6ͦ0;a6|MnljNtVT+`@Tl&}ATlef2~gsg;P5S} 52& PQʈ4I +KLa8u(I7P\dFSXF0-tAշt&ej`2za^7\0p.tWz}F50@Dma6 +1wW1? m4xiWk]$̭TMBi~YRI/_Œ3MKۯϨ}OSL$mt'j;D{{n^ʨ^h%SgUŤ+~ma/HKsU:A/J\HG@QQEs?FA#i/oZMM~u$Y}6RHT4Ǥ&,~K 01[]|4:$-ja$Sd1^}---CU |$DO(S/\RK4pE_},/RdIS/Iqz +/:~uBI?Ww΅>vo RR}iťoyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^aטUNļ⩆ad}8q*` KꚘK/H0J%[~xH0_I/3ҝ%U NI ݕCAt-/aPim#$&үo%jsb*>?IGK#/ O朜[W"k\_z_[z KnO5P]<"?MzGDcPEWi{z_L B +$U +Dt%Ʃmh,WW?_pZ]kN_^Vzf> 0_g%UNUޖ] +)SfA0d }:^Z %M_ | P00+G便[Rr}/K^\? JƼ DuŔ1?$#Y?_,{ KbJP,6(_5q ^~KA}mT_OK8uo<^|>R!#M#k_cBCa_~h*?9^# x~h$t_ץ@_r.:񲜤zB!63fDL4 +l5Utp玗 >(W4 )% 0zmuZ_֟K <6]V%_A A |6]Axc{Vۡ8XAm*h!zt_.o$ȖWK!mv.> ?5 +B ҇K%%&DNka6 IADOKyps9sa Ȣ!&'J Ӝ%d4>tzzX1H ̯b0QU2 DN4(@._+RA|,z NM85U-)[ÎL& *AB&Ryv0L$ 5 a0`&>0B2I P` ֐¡ t,!ad(B #XAV\Rj !ZijB)b#DA$ A4)DDDPB"#ADD嘪 W[E%j[vO)Hgc2ߣ'GeD :l+Ȳ#hPeg)e7DtȞt:i?dUC`&Ja*t.p06mde M8wl646d 0Ȳ5Lhf24A轼0ذ3EBm*U0 .e CH$h(h(uDe;!/"חQCkן}l?ӝy 6V8yBt4Uz}F/TDs`]HO֛II8]&bo4pa S*i3_'_Qs{B$$mtׯD$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RUo0#>~K {_=!~7-R{I:MCY~fY:H7tq ƿI Uq=/IM)}X5ImszII6PL2&e^:K7 p d4*>0_/e_YG +VМ%M!6HS>6jOjԲo /J'Zy?_aDzsU~~"=C?B,7dq9EJnI70I% +/eP 쌏죜sPP@W'K:aN*DdQ"oer[W*ISePvRKRa_5zyƽ-'ݕY]u&᩾SuoqO-":K`kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTty;K$P  Jg^چzrtV5 +H*0V} 5# h4S{*gT_KKn/ri:lVzf> 0^`[Iy +Z?GUu$@PNJJIKNt#_M_ | P_~0 J ϋ&%.{mvi"9}.m*ͯ|Mb ׿ (c-#?_afWϧ~Y  2^K( z-0 aWKm+m:; FaYN٢  rՔ$ r@N>K(l4K4Xy umqyQi KK--XMWDH O[ "I % }/ߚ ݯ~;*rt/DA >CqW/oHѤ/-BL41 +6뺚O޽-&Wt K,V~K0]h/l |=RP7:/._~4Q=o['OPE_tA f. xSҴ +CIi7]B]5e8]/ _I#=0*C ih"|UB< ^ShPPbEA_KoI-URs]ix_Z .imV!Z՞ح AQҽ A KΈ$줪[i7i _>}--A&)+t3נ ,!tp Lhq{K G!*~ץ,$moȾX.q%l4UVZe!5֐[_ZZdyU.b"5$tx}&_ +u$h)^pR.AAy `Ą. 5#$5%Sa]$A ACazs<@H,2QH2!&DF =ߤ +X1 AkJL0sD2Z93I 'Ai@!uaaȶ- ik }^0-N@ jӆ*v!0B $2x5U +? AVT,)d`@$a$""&jR DDDDDDDDDDF#- +H%EJdtW4DKtkDvd4.}L(d)J"1DwLwDIO(:i8fVD"*UQ"yӇ 띤֖gUfPgmpeVȪ@ nTL ٴ Il N 6ͦL2*j +$Al8Tq]Z Dvj#IN.Z@M_I[pWwl%Rqfn f.u Z")D0˄Nb֙ӨP{  KqLˢ! JM44:e;r&ڶAiy lUM2׮h#DޟG'#6V8yBt4Uz}F,6(>i}cCm̭To=Kf&*J@W&Xi6o;糠u5_H0鋭$G%sa^56i}n붓ҟT[` ֓ҟTrFuh'm&ҍMw[~7_=!~7 RB)GHΣC ѯ-,%=zaCQ^Fn&V4Ǥ&ʴGDx:$,i6&KPHSd1^e'WM\!%6C %6ʵz"b,!aB,gpҴ!H~\: \Y"Ta0%M!6HʡQHIm PT؋ץ<^h8":K`BZVKni%08"q]*"?=kOUxuJC\"h@U ȧ1y"MOGL4Fi>IQD^F*`/ ?ejmTa"b$01z_ |) TM.JXLܧւA ϣ4QDuL8A)-/}h$`.pG,FkF:ץ~B_13: J'o.A u9l K|2$sg"Kiz__l}b-/I`Im}/m*(HGttBKJƼ k4 +Jg$, KbJ}9sh}?[ 'K#4؄/}?^tqhKB Jaz~cWKm+m:߯AO_\u]OֺPit͇`_q_Ca_ϯ"?_/ˆq$t^EВKKm$t_O~6SKס \l)L41:VI03KT(<IzxxO">.sKI/e:?A1qv 0znt_TGM^ _ 3" NjE?/@P# 30tZׯ?ޗ uʡAָI#=,*C~`HdL+pk$bZ [:OP^?/)Akւ X`kVzX@A+ jPמ0Nzq_ 1I[__}--A&)+t3WlڤS-)W.6\B UQ //x@W%綒uhe8=H%ZKk KL J*4UMM/ֶZ DS_1D$~?Hl#'8j\ mU}/? O)qs΋I34A\S5M-N}Jo&D4 \QdI2M._:IWcDA^HboZRJ@Ein|󃴛 ?-vKPAm,_Ub [AK?aXk##7b/[G#GGi6k/?٬A --v"!8$'L4V"00IנAi6cM _ à#/K L4D @C<$һH6h/6êXEH6h/6AFh " ]2(2|8- &iuQ4E>I u^L߂N68?A2 K[AIAdSb:+-$;&DF"J(I8A6$K0I.!>^$ pk P ]` iM`.@8A5  A`IR 8x LB,DJp٠Mc-,L!CC$`AV^UbFGC40@A BB!iT!a +BTUЈPB"" RDDDDDDDE"""""1qTBnO;PʴS`(80a[ IPa@WuF:a#EA' oVAa *} B᷶Ϩo΃ƾ|SgU6p۩n ~MڷJ$S#-.$tH[*=.n9- ?|S"HpUk/ҶPCJΡSP_yP}/'_MZ_M/לտ1f`u[)t]D6aL-V}?CdUh6=_oR#=YAί_Oo*帀QK׭Ku OR[_a{BHC[ZmKB_.oKztX+%y].-A8o +[:XKM*ttpa /Ί֖  @KTj5%~LM5a%ih:B%l$@A0 PGj)B*9C (A cZk,g1MܵҟET}7DxA7Y]z;JyH#C˨""-(4vP*8qvhBnYN"PxVLS;4᷻a <L4>Yj3M#8.Ϣ4h;#>6Sg`H}jҰel]ީ""!&E qfްQͦd5ap!A!庰`AN ᤊ6&NA6=Â#GGӞG~a*:#0>FE +>Dg"6CG"ޢ6=0b'ӈ) +CTwtjDqslM bwhvwN^Ma& B ꡞZGGD}Gzi">#YB:#5<>DiGT}gm)}ϣTuGy >DGӟNqpж"ߎ>""G#'"8""""8P68IڢNHumB"xؤB=A^R!SIA"ȆqJ:D6z(dA2CA7lQD3/гTtA4HJHNyYf4ud YIdꚑy&y&#?iH2莓8>ͣQ৓wFqHYG!BAEqЉ8Idp@ꃊM$zPu|qtL>иQ KKK]F(qdTCi8m ނaavph TA[(p؄bI.('/޽Rh&m(PAapm.__Nq8AO!;:Ii!~aPd Y}@q)pEյM <#86E^HG}Gm8AG":8>k=yw㏄G!mqB({B b1N;B ?㈈""-J D68}hB.>="#xw:YdpQN, AvI:ڼ>7yzGg(G}GHZHVqDiId51ǒy=yH!6>V( #,09xF֋3ȅ,VΩο_^CuԄqqaX>uQ\":\mO~#'琄Pb1[V8K qǥ<"xFv1;V!3g ( +1$d,0!8j(Mfq-GP9}2:$x%`*6eѩI34}YY *XE.ꏣ>lS#)xG(FՐGvqG#S:8hꏣ >}G/%ל_q:#Ų;9q|Dq B1 %m&8LjxХ"/-J""ǯt4b(>뷄yVOQ_ +k~$v]i'ڃm${w.ARPa)QTm-Z"qv,օIXDaaPhD5FgU@3h0'%GUgg})B G$";'&„GaGF4CG"8I :><:#aO,v:onSlw>_X qEQ$TBV*,PƘ [M`NCvW9~؋f2i*0B;TF^pkiRGgm9岵8Gv>y}(rGyYAD}G}d<}QH(Dt]GT}D"!}GU^j*sShFfyi"PD|"&nj#Q[""6"#DlEqlDh\lDFp@P,G@㸋0!HE1mqՋ,lkH!6loAamvMEGF4'< y6yYŒ=#!"Ω8>9hVuYD(@ )CH[GL!\DFMC:B-Q!1 v!xb*C#Mئ0ֆh6$ $!1PI%,y\HtfBj\馈"6(DDqDOa qJ"-*+)EagFZ22"""-VB@~YIQVv4B!},&>G~:+"""""""DDGضWtgѐ<,k<" +CIKP]*uKQ#mZh lˏbf +f >""?>gM+FCn!C+D Yh\w4IO(:dfGehD+ggipιآ WQp{cQpȢa*46d 0aݒ4laÃa4la®,Fv]"%T(AøDKz 6"]]霢UQqG8a-iA: +I7PT<oaU<oa`Av1 zQCk 4oO֓ȟo(A&k] z'?17RV_տnIVݎ17W6_H0鋭$G`gҬ z_gH0ls_~i0-)J}Uԉ&i0/5Dѭ0&Rc"2Դ{AHKVZ":aN*QS֑.KAH 0-C'Kרd󐴉t޽GkU ۄGZIzLC+O~T[p66Kn{ctT|@U ȧT5KK4@c44@~Jqx"?UPDD$[uzHA8*eZ B-œG. H;@AREWԎE#_IR}4+Ab3rZ />EGaZA)Z #wQ9BM╠^C:ӯI"s@VI/^ZZi7aפ؎>mM_i흚&%uI|kW0!Mڂ!I~6 Jc|=!e a_fW˛CִMfWդ &3MI+ qY +qP A~[l1/B/{^8I=+m:& +oJa|'㲄]OֺPit͇`e8CaK# _ߦ!-$A~\3 8n| dI " rA$HϽ/)Pɠ@agG! $CI&t $aK@1UH?IՃ%k kB  0ze l,&. 6Rpۖ$8k,Mm"]]„U3DKaZd0ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AN (DMes 6U):L]oi[(oOCiF?ȏzl^qD!]n07Q2GC&boaHIIਪ#>ؔ)^ +3p*o(΃ԓzX~) /п z\1<=~`YF&/Om&mapz/e9Do5I􍤾A#i/oI ߤm$B:k0 IH7Ft򶏣7q?K.='=ͤh+G 9ΣѯKOMZ f!">$`c!~ǛQ[E+K-S6G p0"=9TV3#?_$f4XΡCkEE +0K=PC qRF6ad|⩽M.zHImaSBEN y:LIm#h"_":[4u:?5\&zSh}a-RPEX4I[ K*]HQ4yYQ"E">[}zq8 --RGIBQI^E3zU3 ٝ!\YnEO~u5h,W?Tf)Z ?-/JXK_L#` I_}/ʋH*I& ѡ56]}s_Jo_er(oK)}_便[qIDKlR'm*Yۦ:m*+ ~_46D_i~KI+_LYCAd"AA"3MI+6#4؄< ~h +uYN +Al1lI( VV uI0U +m: _0UѺ (A㎗^rT, m6]Fr@P&PO=|qX?O0tA`A6 |M)8/ L?{.c3b!zXAag^otL4lzrV_zUZQ'A&\/a~ 0zؔ%f**">ߺxAl??ylP[SZqA f.xץZ 30tA_ۇ aVQ oeqTśMXHdL+J}I쉅qT>uoA{z o&?z_ ?aZ X`k]/A0BKM,%}_[e My ,7cYBALRV묡[pA&)+t¬M>[|7,7/AaTm  |B UQe ;^B UQנIil=ڤ-[zKW'G_a%p[qUQ[{}୚viC#Li&zT( .M0~>ޖ`k}J{Uov>=-A:>gy:V  R3*jA AFw%o +jޖ II7ǃoa篥6 .AAm/4ߥ/l#ok &yM]1fKGi6Њa mVJ$";Iuo>>a AZMr1Dy&ཤy)m&RoʮI6n:M0 it m&IK=DDE&GJ&L?0?KCH6aΈ>a|B M L< H6aȄ0S6f<$ILo-.aHA:PDE&<'J!La ä$ (t*)1kLd]& H0 0$ +/ӭ- Ac$ ld* &I +AA$ߤ +e8Od* N=G IP?~I.8A04!a` KH 0i L @ H uƒ@ }!  ePxHp ): `ȰARupBBA$e'TqvT4!EX;T A5CB-!I-Q!KA !HE,$!I GA@ PDDEG\@B""(!"?VM +?-Q>eZ%(uTJV;hD* 3dEi";:[:ͦ(l wdl$6l*6FÃa4laq]U 6#]]ŧ G>0wuwoa*9R +m 7S +c@[:ꪃm 7V }voO+0baH#DޟoOջ&e 6a^)nICޗ>dH0n|3rb|$mK]#iZaL?Kny 4kL?IHK#8C~=kozxto6I:փ.='Y~f O$#@\zOT.P@j=t*6 Q(MBJl d5-J>㫠^r8IEEh[~j{$^Aʝ8-k3GE9չt΅>7⮵ӋG9:d Il0"=9ϵ%~WIl0"=9/ +kzȮi*Z$(a`xKAQSUP!i-DyR/רd󐴉tۄG_ʡ">6KnU%ZĤ$ta -Du[N=-.[5^#X &0P%Kn%""VT0D+[uy*8iVha5 +V #~]c( ?JXAI~/eÔ&A)Z ]xI+]--4IlGm$ItP/Io& [6T' 먆o&ҭsEIWZbIMUFq %~8o#4؄]=JȀ-Yi6IbJ:*_ץoJaVWmC) ; $V^qS_9(l4ݔ (e.oAXa҆K8A?H&R[_&M#>>6S_ HI03a["?Aa L4Ԗ\玗$a`ν*E|%!$H$Է6]/A l ?; jެ>fA<.}ֽU,IqTmk KD IqTBZ_:?? +֠^V%ai+u]e _A  P_IZo$bZk:^/ Uoޓ{᮸VN6jOǭ@Is"XoJ4 sq)PP"= Yf9nIT*⩾XH0E<Q#oer'.:aN*E<_#֗rS5i>i0nʬծ:_#zZO_Mk62zJV D0}]$-Gd$P Ac-'GXHA0UVڥ-'D}A<: *ʙKR'f "Z_^u(A@kGê_IR~0~b-q#–qW@QfzI%CZa|2n?K m%:ӯI"}Fa h7[>,RM'XKhYi算vka 0mkizMK/ׯ#k0 gYC-׿vCCpci^puAwZH KK--X\6_-,}/~hv㲧(YI+% ]-"WS}+ߚ ݯm_너&ukAh<_@">,$f#Zeiq~j߯i5?Aiqw^_ oگAhBeT~4Q=o]7?/Jg^@zV_{* +Z - \_ tүKA)Z|H6?AtZ_ tmvִ--COPX q/)As}WРĊc% < ^ShPPclRi:+zxZ pA: N[i:+ Ok~a6  G\ ƇG_Z@)ѰW.1 ץ,$mol|ׄ(5_K!Qii6Qssa/a(Z +nKG|ax(.-"ᰏ$+IzXJۮv[)i IuA'+o)kʙ^?PIK0<$Bl +CBHq㐏JUMk_Рz_o}+eTq'bݤM֩-#߷c&Pҥ&_@KnIer)Dkߤ-a&I$D `Aa'0WGBIt% `A"?K[)& 77SP@&HIxA(Al1?*7%~i7@Cq7J$SK`U(~7A ~LRi\j}sI?ITkx SM"kXA01VL8 A[HQH2 qIDjآ#PA&&R |1A0}#5 iAp@Ab9*@ea/  -a@AchdX^Ih GXARA?TаB8 +Aܹd`H4 ~L$IPX B@#B"""""A DDF"S;Pv2 HEF"B-9nQpȦjDo5#GTN88d ι(D/5(d5(g\g; F%&V3Rao m*iu4kO L$im"]7 i ["0f{a +gث6vT n +V17i!Ϩ:Vvk#bDݰ&F-#;5t-3D5uvF%=`nu-}{935|:. ) 5D#9i3Ѭh$.aZ. ,a2koaB4b֙J7t(m~y. ∑&@um2QQ+MMGSꪛ m&!AYobFIۤ(I}co Q +qv&ӆx|t8m$oK/5.8jFLZ$#DԭN %6y4EX0PHZ^m^&ۤ 0)KD?K$}U^P"]T/I$mAzF\]Ww^Q\uPԐ/HK{Ү"rGEU$='ɯSצd?KJ)I/!־JOIm}^I%IA}%DiP_,H萴2_p5 }:/Z!YBI"WCU $DM#E9ppE 9St5_r4BMa`@_6N>iiŚ$ҴIה!SEOΨT1 8L? KO,}7{ϯM?t>6uOHCU)E$G]"=9O4Tu#Ӝ_s]-"~ʥ?A:px~NI EpNsiNAI% +kB-EFNs"t|8 P\ B!ΠcSzK>?_E adCTO*fO[SIbD1 ViפU\I4>`Ie=tkI4}(D{>h<E$O_\?KJ҄Gb-/I`WoXL3,YCAhşI8g$ߋ(cKe I+ԫz/DgI+ (cK+рk$gP A\GU@ @Wc\B 9DiC @t %KtKT?8u[/렒_ $A>u}v_- N +WDoAM/J_ 1Lh$#z  1kп $ֿzB\$A4_@aƖH 辂-^#[ꗞZ5?%9tz5?oA?tqm#XaaXaa/L UXI%f.j O(Gj K!.CkAB?:N[{+N[{+ʡik_-RBp4ւu)A~4((1A` +ZNS +ZUX HׄkZyN맦-/: 8  a%nOO a%nu3ӎ8 Wo/zJ%9?K.l Lk +N +AU e^/K)ѰWLlHQssacbGk\_e8Vt PVQsaux(G"K~MmK kyv*oAi iyLM.r>-D{l4>gcFwPZGiw>gc龸U_ioo-Kt5] %~C!, Dv";IljoV c";Io t򩮓Z_66oOK Z^:M`'߇oEtK4i7il?PZ2:ARᅫA~ a*E3DD#R`6im0J ܷ&[zaU + +%Qh6)8lM.wFkoa$M4(AXM)D˅(I7SP]Q6ޞچmzF`hp^A¯A&\0ۤ(OM +L^CG${I3+|}m^& a/_4AޗeI/KzoIxΨn-&{/HK_H ߤm$IHG@Q("Q ~uIDĂ {鲔BSצ.='΢ѯ '_ d5bGD#_cI d5h"%*dl64$^BJᘋ94__},/RdIS.[BIŒ钘JQϭ8Jm"JQϭ8&fG9Կ:b ?7zT0"=9Οtס +k&( P_KJ5oUЋA{I#5 +0׏Tf4YS Ko4tO]&z"+HIm*`Bg:KnjۄG_Z^DpP4*J[2>[_ KzS'@먊D~zKoAim;(Pknơ!~֗ (۫ʪ#T+Xh,W1@H(O╠^K/%]a&-& S0׭& 'o| ZUM[p<k6o}/#(c,BI_$J tH6!$_q@-::ez0 km]x^#ߎJaq%:]z r@6]_XХPiu?Z^/, +ߥ ϯKҿpnnQ@yTΟz &F}kΡI03#XxAl?h/ |=g H`O@)_ 玗yu$`φ˯O  u-RzxI#=,*ZK0L_Ua3޵: aⵯ +֣ДrM +ֿkXoI[| IJ2yuA&)+u^[ +AU~!*WAyt!*mu +ޫK LImΏA*綗_ߪhUAKouHk(_Ga <?A\S׭fiץdCI4޴a&D4_K@44ia)ރk ~ 4K͗M iyޖa#t@A#Alj$";IF4k&m#A$M --?HHm$I'L>il:XE$i6 |A`bIlxIw0 (tA AC ȉuA49dQ` H0 ޯdAB '& VZN1 X$ ai2)N& h1 # a0` @ bAa$0@ Mi D U*2¡ i`B 5$e+8 B5KPFkI@t +DDDE"""""""""1\tY3KV-#2֊~+(2.VsR;(ȶWK^3wZ$IӆK xl2aC )f ,GsȺa*TB#Z*I`dRaٴ&26&af:h +$K"-:Nʴ ]`nӺ le' P"}].6v\fh$p=MZ. ,a25S}52* fwFօG%JE7 +M4:BG.F2#)l#.qGSꪺD6Q6ޟ+S)Ωt:UT(m.uDiCӅ_4M\0AA%l_6?0GW1V0v!mvw @=#ֺI#*5 '/Q0*oK#a7_2➦H0oNw$;0)KeT}IۥH%[Iu^~ma \uPԐ@/HKt׽._~D F_o-&l_C +HT4Ǥ)NX_,H萴P2HHeZ_cI d4ʵz~_B.C_K_ aYaqP Ai~^ߠD{_}i[l1/__/뤨q+%y* ]ֽuoKJ .~l>KH$}GE{:$F= -./ҿpngumI+ 1ϡ%wDu҇H A}k˨aI036S_unj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_KگM,0puZDtD > -%A 3@u^յ-F־[{+knE /_/o$ȜWK].uBD. +ZIvίG t_^/KIA+ k_b)=8 ev,7VKl=Ol kiKQ%*AU3A%+:yt!*x]~_[]cA1*[AqKX.q5A*]|DGK@ƖTH /KW ?TֹB{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#-yr}DDG#[ 6O"nPz&Ɛn[uGT}Gk 8qvh #}B>#lDF.Y=gz?gȲ$iNmE aX a#ct`eۤ,hH:@*#GTB>R=_}}}Dz!}G?Gk<鳊Y GDODDDobIb"1A$!rz[`)v!:f\6b 8D}GDtN,G}GGTB#:$>Q}Yf#~>"48"}B-">,b"}"8"} }"""-< \0bqDttMBa?Jƭ,Rߠm}vGYL +on+m)(yH>:t(pD|Yu]}GtG&GuG}QF՞YQuGXAO>#lӨ#'Oq> ÉSPczd;H aߥ]74"""#XD$lv \p'#ĎQFD!Kc}Ƕ0DNN*m.p[A`' 5U'pOZZ_F"g>G*#B#<[ͧdgNmQy}G~G}d4}6uGCGUYGyPhڣ1*[]\k<r;>.BDF#Ų;1N3ft㈄b)t88N"8p@I»b;,E o +*a('Aq^ +)7ǮaφaKaiOmSߝd :"4Eꥻ l6O#`< sAuFae{:^WΫK8eϣFfGtϣ= +}fVvn"#؈0i>B# DDDDD_qQqTO!w 1B=tNDTDQ<30h|uFBt=' ]"FڥX"nߴwIn*;BkD:! <(t]f{>IMGGT8:Ί΋6}W ⽶.˰B>{k|Es.7Mb!1#"7s89)xۇpɊRJޛ!Ͳpon뺥Vs")>HǞW6ϫ<M[soqm0DhÄGE0(ytyQYTqGpħ?8s8 gTggD46u瘶)7>5a":W s]\x2;p[Š0Ꭱv*0 ű ` Ql8a"<PŰbJǭ^m~(:! ATz\tֶnV&ᄜ"% BAV%5N3RY3[lgmGgכe:>Sk›MnFE<L:7YV6Ed4yMLQiah†GEaڭ8E`Ah`0D|A4GV qdžhXA"}$8^"]ejL`^cCشtN8\DE!#CuGB6!"6.""""#")ݶ#bpBMwSiVCGa} g% WGq:FXA9N}ED"#Hꏣ!g})}gӟY}VuJmy ("#fB5'm.8(pDDDD1"/'Ҍ!> [cNucA?ݶf}mDtfAm/]'hD"̆gѐDB bSkͳ# JyV@nH+#H>>)&*>}Gk>"g fЉ(X"#""""4GehR G7J}D">D}G"243m"GT}$qGiDDqaM)} # ja:>?ꏣꏣ>"""#- +W}Q}G}E3xgYNYQ |pS C +\B +jQl ڢᰕhOE3R#Y#VW? F׆k\RPppNʪ>Ndc6*me G}T3pۆU0ϴ +(3=Ʌ 3YL;`v, L-T"#إcQvUI٫i)v8*6@ F5t-3D5uwU NZzg68Ρ-kAqV".b־K(AXL m4/>S"\e`Avկs_A LU]7t(m2tu BGSꪺD6Q6ޟ#L:RQn%yRGǝE00ejͣ~ۤۤ?᳹ѿ<1F.*տѿ0hH +2?uu(^Ϩ`WQ0"oKI' 0ӆg[L/ɀa-IK6rgUU[Ψ/>{ʨZ[dFDe;:=-ץOJtE:^UHG@Qm%v Bڼ|>M4Aw)G O$~鲔RȀΓuj>oAi$?}+>I$tH^ʵz:$-A:;UDqbbqz P X<ᘋ9BKb,%xHʞkD5U +hmSo4ZZfT!SDwO\~iiŚ/bqzMKUKA yo +ayjϯJ `ht>6&,s]-"~ʥ?B*:pHVt?eREE,pOS> J~s. Et?t9"t|8 P_.LϵNs"ZZZ_ +L1N5H"0t`cS+H_0}DpaN9=޺Ј^`sqH3ҝ%P엗_GGGT}GTuCB ?KҤ/I/8TVL_;@˱FA$#~#/ǂ#I jH_y2] .1gT' Ib/_I.pD"+ןFh0U᎗24i d4h:ӯI#""5?fzIUϮe{a@T8fG'}GꉚN9$I`Z>\?6$IiV\$#eVZ$zM lVyP,  a!$͡`3 6v +H\B y+^/"{\B Y+x_Al11,'e8hH _Et:]M`UHH{- N$AI>}xzNtWI:({_넒J"[z]FޅI$#,Ǥg?>ӑtI+:">.r +?~j# Kr +?-tp_qg<" rj 6!?_گM,00utثH 6B (8.-F־[{+~`h!#%X e:,zu- +]xAlu]\+ʽ? e^/mAuI~>ce92IlIm?Imޫ@.A1m}QY?v[G4cI~[Ix D~WB "? v{/K˵ Wk8.? n ^koӆAKz}13[I6-Zk@[PZGM.T4])~9F[h-#xk Nh鼉Mp-/vk"4KXm/ }pEx ]oW Xm8JPAGi7A6+HqMBíƒo?oʮ KKOK Z^:M0I߇ H"T,@Cޓ~I}~tUJKAGR_CH6z 0c6^4#Lmi2'\po _i\ K ȉs +B ҇tR\,BdAM`t!PX 5آ0INA )k>I dE- YX1H N@ڤK}+H- 0@ Xh 4@K LһV B1h7D,$UNB8 BҪGA0I`* *$-Bjh $$:Dj-4"$kK@z 0! qAb""""""""""(!PiB8 iZ +aQU!ت%hb-D%)n\3VZ&yC%C:ř`7 t6ͦ6Ul(e:5Ԙ6 DmL6R`᲋ m02[9JÖQ\jt&Dݰ&F-g)8lM.VDݰش:(AXL m4*- m4S։ +E7 +M4*9QS +[9i7S} 52&  +;Dzy*զ:Dzz^A.tWzz~I Gۺ!*A&Z.uL)RB |0t/*ߒ=k +?I;nI[i'&M,wޗ^x 6Ck},$m 5ЇΨ/K$tn-&Hg9fMzL?KeT}=沛5$#( 6*. 6J55dW3j$o6K3}ޕh ߤm%:M;p'e(='_='L<)l?$h Iu^MzOq?IbGD01/車 CH/H^/1BJl2zxҴI\!%6H ZO3g8y+DNT3%HʚFsBW>@2ED^8Z[Ut5[$^BJPM$ίЩT*hZP&΅>v o. RR}i}zO*M9G>uYG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȐ5$)K 5t"Ј~\>(ajFj(a4HNMC +k{(3D'O3 '-7p)L3 '-_i:EᇪV.T50s9b%[>ӎw /\&zSI -Dui{G +Knh8>L_9 #94+S^XKuG* n"/KzS'@먊A a0T nQF5$[z Kn/-W#5+ƴ/QI^I&G΢%L=/ejMmp3$-RKRXI ]/oe?+Ab&_p% RK*ϮH*rt^Z %M^P + ؉.K *& *dm便[ &_>}-*kc^ֺ^A~iV'XA;ei&]&ҭUeYZ?,BI^(cKe I+ԫYu$ 8 b,-#4؄PDu}x_Al1֍K%8_~[ u@tZV u0ɀUF t(m_у9㎗Z{ $,q/ƅ/҆K)ן6q֖KJ .Ҳ-u>}~_~h$t l i =':+qz.FK7@}~f63fDL4e9HC ]I|NEWtG[ |I ~[t\-K-?@)_ 玗ZdI5H$N'K <6]3 Izf`__tAA3 _>RH _UGImjZ6\U/8+P ? WKfIC F{"a\U/ֿ'L$ȖWK ߧ]xAlgkbb@A_BkHb~9F[ikEin_6lAm/8;/a*oK9 _ /K9`ఁMo'OzV @&9"= [ $";I BAi6:M߂# 8zMAi6IMa$IKA)a2:ACH6~F Ί H6eL=+ÒΘxAl/ z 0c„dD!C5|tB /˃˛ 0AE/ 6A:PഃIXk'J.x 9X 襾aȓ +F~UNMYi>8cJAA& I8A6dR)EWH2^J5`I ,fW.0Ic  a@V B bAa$0@ Mii ÓA04 h # +5 H  $eU XY +"H&0@AN cEX:!$eV5 )hA&Z@j-bA 8AA$vD !"""""""""""##DE1LXɰȾv,Z&yKDɢV^yز%kv%';I" 0prPpɎ3IQPfYd DQDB5& a9f &(d+t6l60ladrI`dNaٴe(l62͠T.ΨӇPWqu NNe' @"]]n/Poa*ntI7S 4AOD0Ƞ4E7 +M4*9PD~tWz}F:4oOQ7se8U#Dޟ~H5f&*J@C%ش +6:L_~H5f&*ۭ➦H0鋭Ju΄ 6ӆG oK a?za oKn[o"[IiOṼ/?~IE6?I쪏}d@+qi0/nyGY􍤿I7IT/A#i/-57IG[aA#@\zOKor{8$h I?q?PHQ^MH!%6C %7Z~!x_Sd01_cI d55LyQ*y0zԌ 8C_ED ez#d j$^TJ1VK))G>҇7D}iŤhӋ}BE~KZq]&ߠҡ)}UM)qEJc R#ӜȐ5oM*b:tWB-=$( P^L?C(a9"A ʿh/a$fAꃤi9ᇪV.KADKoPgHImN9ZDKoQSHaZ^BۄGZIzL9 }Pim#5/ -Dui{G +Knh;qƓ 7)ӔKu*dQs-eW!KuKpT n^/ O朠[*?-ˈ0+ƴ/QI^F*`)A"vU^AREW8H":_AREW(AXD$[uy$PDI-t}h$`:a?VVzw╠^4^╠^KDh/6]|%>CC 7ki# +.*& *{h/6]y@+-t&ҭ!ZM:NTaM[2TI&iV*Z{M[漟Kǿ tH6!$KJ?#(#4؄0' $# tH6!$/@㥠Ҷc_k4#[V u 3.R~J+m:D{_}i[l1 +_ I|_Pite8(l4Jȿ^cBCaהksD'\/ ~MI: =':+Rpn隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HW4 3)% 0zo* SA&V̐%~ 0z@#2_ 玗%A 30t?_A f.mA f.ثH%A 30uo$ȘWK!ւ>I#=0*HdL+ko[ $g&RkKIA+ jP xk]h V%IX J+ZIwh V^x IJ ~H$%n'_ IJm$s`H$%n?B UQ~A +?AuI~!*ў -!,חBA6_A*~A*םc V ]A jsKZA5?A"~M7@&A4ij'm.W' Ǭ +Aڠ +A-KA?mzM5ձAvdO]PA2]w^-?PA2]Ka&Kb@UFK  R3:-[ZGA AFwimVHb:M i`;*  _ %MA i]6 zZrAX@A#5# a=V/H Dvo+][ ZC@A# KkAX@A#c@$$X6M _""")7:I6n#76Mۥ KcI6hO}AI!m&^mF~ G_H6aSXA_& |A`bIlxIws9sa ȥ&'J ӜcL ACD= .ExLxA6A:PsĤXȃ |\i2)xI@ ҇zMpDz cL plI!P_R p&(I8A7#6aA.&X poK0ie)Ǡ0A$ ICńĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0\XY "H& H V:Bt H ʭi[Vi]H @2I P,,HAS$ez?8}fkӥ&ҵKKt#G q"""#-բܡDeDB"%HR+E4Vs 3HhPθ4DR;ÆuQ^3vhpeuA+DD&xlmpm0EnS@Mi.f \2M*%(l4Jn; ʟTvIcWWqdnn."B#}]Űp2@iE9 +DI$" m4%G}S M4ՔM4RG}N (DMes 6U(:[oV&DGۺe A&#>4M"?ٱy u??OhX|{nI[z9RfV*B~,tQ=Å0az oKrA~ߘQ䤒oB&m/K)H,6a_aYG}i) />\#Xk~50 Mm%}b F^ޒ AHHTSu^7ǩhzAtkKKHzO<# #@\zO!bɕQ׭&IA`c!&.7$H!%6H GzD}/IMCT7/_$+[E+K+;q rGv8f&H0مS08k&T/׫t"H[r^>F!SDxg $Ӌ xzr}iŴ/PPyIukEUt8#{ #0"=9ϵ|tK#r8hb+T:[[F(|8 P]e Ћ *(a.{eYAf4X"FD [ߑ$Pb/U7I%[#I-&(]yt>L[y:LIm#oJJKn~-T[p·ΠKz|uD~z֟]XWH$u%4a_P%14y$Q"D>Q&yV<4GGIBQD^DXOUT֗ZM[Eia/ Ӧ&H/Փ~!$ZLYCAdAA3MI+6#4؄O/__&]fU? aaYEJJa P +<ץmR,Sb!y +:7_\yK<} sqKGe:I6J .e9L _Pit-вL//2[~kAAۤnA7OǺD? 1Y@$Gm #>렒ag-桱)E[rI a=IB*6a~$a" m %f**">ߺx,00t8،?֜PH \|h <|"? O)yB#/0D-wooX+f3[I4o"I7^ +&D4No? -/I_UQ b#Xտ@ʄڤHbCUoK`ރÄM8\5 _޷ iK_GqKtL-&󃴛pŘM0]|";I'@Za m +7I%H DvoGj8|} 2<@5oc@Mr$Ei6-MT@ &mI& .MI7Ǹ߈CBI*m0?KCH6a1TAxA77!m&L?Ma~I7)'J<3Lx5N:C1h tӤǥI1}t8- &~iH2_Z[8A7V}ZA.5 '&W$ + BhI8A7A/ S BǠ*i2)u'H[I bQ&@ , a0ii& $ A04R!`x11HG&0Ypc `$eTEX8hr*0@AZEX8@!!%2A" i V%McH5I ZBZ"B3 "6"BXIpB0A  xB +PB""(,B:""""?VMLD[|ʴJQ7ꨔ3wR P4U%|8g\;ײDw\uD;ÆuL6QpJ `LIm0EMUxl2i%Sdi&ٴÖ׫AøDkug@koa*9R +m 7S +c@[:ꪃm 7VQ6ޟaQt4MEfA8_]h!U[ic̡Ua 4-3(|RoK΁Jb|$mM~Ĺ1> 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$M7b;ki{M zaJ% pL?aa>tWJ |tLpZAP/k)N:CǤ&oytij9e#P@ ҆poH2ZLE(0A$JH2AE= pn I b֐0H א L_ B0M  i03m&AAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S"?Tp)S-Մ; dB"V3RK3Ru"#j V3R;JD*9zQR &2'p6v-d!Ig "6 a8QUTU@6@M_&;5t4ݰ&Fش8m(@v8*]STd 3 6`¦lef2~gѱkLuwFkoa"jdL.D0ŭ3Ѩ5NB$iB*p/F2#"2#Ჰa[eOn脫nMse*:UT(m%fפf :' 8U5U%l]Iۤ(_-/m< _hү=#ָMU~qނȗzM 5n,m^~}D?}vnI%쪏kV-/]~)*ȀVjޕqzAINoK$*%u_nԐfKU__='MYe!\+WH%l )l?H" d5h7[]|4:$-ja---/~%HʟPe i\: yė)%p qK8f"pBW>@뮿'^M?:SD$&!SD}y BPKuuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?XtҜUN⩆ad}8q tҜU7*` KꚘK/00jמqKI/3ҝ%-&yƽ-'U I ݕCAt-/ato%jB"뤕_ΫQH1L">__xo\_xDKKKoAimtGXHAǂ#ZOI&G#G1y"+ƴ= 4G^^4^DA T">nK})1@KlfzI%UNUޖ])Se ViפT?>'o %ץץz_amb-/I`WKJUH E4| -VOⰓtK^ֺ^ȎӑtH"! _l)Јk=?Lt]t$~ a=WIQa#6a(@ /Z #}$0QhdfS Xaa-!2qmWAx K %A{_- 8XAm*h!H1sCAֿAtm-km.q: aⵯs}W/)Akh/BSKK_ ~y}>r}<% +Im vWo/Otl'| p]t#K3Z_NW_muS(m\R_>sK~>GO_eBKom."#SDKKZ 8euB4m/Ty< l_{^U>Cev_Bl LM?mk__b~9F[`~/Tد_iL4_zZZp/0?mm-##_: |OtIKA W_B# KK 8uKjPil=1G?}xIvxE+du%\A`M"kr~aHA:PsĤXȉv89H'iaq =t ڄdD'36` "It .`Fk AeqɃQk$ai2)dABiElP ] V10 *[A+xq Xh5C_Mi!dai0I~k +@bF!Ђ B&L!CC` ֐¡ t,!ad,BB#MP""44#M -4H5CPT"""(!GM"TʤBnUÆumC*N_ &mL2a0 +øDo + „{  FG:4MymJOl?LIZh}- SL$mt|t7ZL?KJ}R6pۮD F_6jFiu6ƒA )@i/I.nj$^BJyzL>!oX1IJ9?I#D+-P>&ҶPCK +kz 8V.KAT߄G +Kni%0y:oeVjJ4uJʟۏ]/QD^F*`ȶp#Vh,WnSA F |)__ ~a_#$"} JƼ a U~lBI^P@+m:H&cх(l4Ku0VPs$t_CΊtIz^S}_pH$ꗲuoA l1Kza3~D?k X`kVzKQ̓XA 0Myt!*$C[H%Z2p Mk ~H[8h <z]ie /b $kd4a)P-A8o +M i`'UY A MZ\BoIS6M _N L:AI!m&^mFHh7ޒ_ 6A:P^Vt BFN 0A$ؓ_0&4jA LOcA@H&0@AC VI@hRb"aDDDP@PDt}p㖿#蛔#8ďP &fl`7]ۖE4}GB#-ʤv +6qvh<"$|L>#EbطI +>iPh#qB Јbe6#aLbI`Hp[nGHpFմq:#)D)gT}fGq>}y}fԲG0[x"wϡQO"4>b2 q"0Źdf'tzvȃ03njr &8:@hy}Ge B dl#m>d}'%-Մ; :##F<"7#5sboP\nsj|?wͯNi?oe|W#W]3ZF"#h##>ĺ>턍4g}V@}GT}2Q}@Ytf>;(YļdFDf$>ELG> _"#""'Ј/G-5PױJDRCظ"-j><~hj;UO}7Si<_8' hD}D"9C>Ʌ4FD4}Q(NT#!{%>>@=Lkd B̑3<?jJ7&8-U Mf>Kpߑq8A1fD]G!'vL+wcc}:txtn 'mE,8MS +I$;ߥ2VN28#%GUt*M)"&##H>!5D}$aQ8#fN"93 ѴNq MB""86m"EDDoBb<"?8 Z CI5camV" QcCxv.{ z lM&kp7Zo0Dv}:B!ꃒSdCGEP#>EF,#jD5GB#lYH*8loP^o>BGEŋDGr;F0xq(0@ Xcdq#B6-!G-_o8OK LD*i툈ſ0 [qb +BL1!po}=Mo0K#h">ͅx8Ơynyg}QfaGTxfplG}6}6qn9WYDp,>8#}GT}#>qcFFgғ GE>!H:8B#c8, +8p=[:'#}VC.kp˲_c q\C1c؍؈E;zk:CphEQ|}ct!&v<;ЃF%]DX* _t M7vբݲqU(KHt!_uϦSł)6DŜJcs>@vw=}8rgGUAхhÇ7Yt#k$":8C8".$"CD 2x XBq }\8"-"؅lDs\" B_D~o ۯzT}9ߣ!8lg":s곈,!GT}GFGg3"O"Y":.Gb4#""8؈7/qql-BVMwmDW2Tq"MSL7%"PFA\+1TG}uPb";.<5h1drn%J1itŇX0ٴdN@ӝ*<qe;}PuGG +,Elqb,1HATْDD)܃ANŕYG٢?1&"Q}." b'aID3Kcȶ!W(Mq88C2+a!*&ƈG"3!tl""-Fih..-s) +>X8cT&寢2X4 DG?ꏣ>""""<-Q}GԲIpLKpBȄAQ]Qab '{GoDmXS M (^Ϩ@WYRI-$GF_Ͳ(l?A_[nnlmI6$/>{ʨDdFSR7豗Jr+^g]I +?^/HKM[(y_/)G O$95Cy.n}tq8""E'X!{*?I}$2$uDN8B_EE#,.CT5CA8f"p"пCD_ ISa-AXAUb>،c -:4D*hnt) #4^tԅMo_4]-U&PCg"4 $ZiHC>a/"k>?OLQHNsELcc6uVCO'RߜK9hE/OHE|8 P_.LϽlV,bq{bD01S\tҜUN<⩆ad4>sKۉXU~`sqKI/3ҝ%V_F#B ?KҤ/I*J[PH5YH +qi3:ϣFA$#~#/ǂ#Z_[z Kn<֙Bb~#şC&%ީ*O_~^3E w1b"""4I4]Viפ^TT?"ΟtuY^D Us@w_[+LqcK0̹ +H'MZ^I0-KoZZ^GoaEB?Ueu\?qQ}GTuIM +3~!?Ŕ1}<=!e i~, %?.mPDuuyށ*YaqP Az8EqP/@-:=#ߎ'e8hH _EtK8u6}Ҳ-痿_>HH{- N$A_ #se+҇I$ \Gm_너.K%@xNJWtG[O.څtOD} { \I:Gk?aN/<" tj 6*?_گ aˮ?$Yb":Ko6AQq AB?T]KZ] oeqTa~m5" +'[:- +)Sǡ#_gy=73c]n[iL4BoDEU.U+A, Dvim (@ux  ~Uu Z]N_M_ ,B MzdFJ KPio_& |AA׭&6L. A7ADKyI}!CB:\)!2"s_36q&? Ab4 Lb"5%Z R1A0}"5~INMa,],fWÆ=RZ@!h0@ aL$@o8A0?#wҬ4!aEX8᱄#h hAT!*a0q $eW$MB}:Dj-4"T- A=BE""""""""""4()B>?n+X]a(D#%Td;(DxɚI8pι04Re᝕" yALԡ:av53/Ixpιd4ðȜMiPl6EÇۆD6v-HjL" 6ͦL6Qp^a"']T]ZEvÄDbӤ&Rpٵ +a"%YpPoaPQʹPh)>qM„{  8Su#K4MaRBAJF?VSS)NhD~tWz}F:4t2GWڥIӶ0> +A&t{Gt17RV_2a.ŤHS z_u~8ނAޗF]q o4AޗL]kWt atŤ]L +m|sHanUG3k(_Y +ZL?KJ}ReQI$Ö♟Q ~uuҭ􍤿IgV?ȶgH ߤm%MM AA#@\zOE{^MzOq?IIT4Ǥ&'FI$΀c!'+I}%Sg@1MH!%6C %7Z~2E\▯8Z[Ut5[$^UʟPګ^Y_ڤ^GH~))G>I[*Щ(֜_VKBE~AZqiCWbG>?7T0"=93tHR}'1HNs"Ԑ)0F 1HNsԯo'_1 +kǪ3I-!:i6Z(aϺ4WB-=$( P^L?C/ =Rt΢o|LM* ImN9`4oz+HIm I"]R +":ePu"ejrFsI-Pim#V!$g0-/aPim#$&:^ҟ9 [*>W ^LKud*L0NH@U ȥR([ʯuJ^ޗ(P n$sD B-<֙Bb%L=q/oKAREWQ2!: +PFȧ.qWejU/oe?+Ab&Z_ RK*K`]/oe?+Ab3rZ "Q?FÏ=_/l VKH5XdLD Ui6] @%XdOւ ~a_#:40xFq"?@I^A~iV'  X`>tJUei-t&ҭ!ZM:NUaM KbJK0ӈ"3MI+G\G//3MI+үOJ5H7A}m_K 0g#@+m:/@㥠Ҷc_k4#[VhR(l4ze8K % _Yʺƅ/҆K?B6N_A7Op?pUngQ/J4Bu }/,IܷV #>NR=^KA$HϾ}%)+#?_3P"? &F}yD ap<0H$9U$a i:j8oW4 3)% 0zo$F/A&AA 6]}KA h.ثH۬Կ_$`eD/K]  F{"q\U/ֿ $g'R~m5WHdL+pkAK$ȍm&A0BhES5V!ZpK"KIA+ jP xk]h +9k$b_ﬡLH$%n¶[s zA&)+t3A B UQizL UGIm~kˡ UG!+i}J9b.u: _.إ _ m-\ DS_ֹBM"Nr>A"~%Am%ij'$sK\ DA\S׭^A\S?ۅՠ +Aa#A]( OVwOdI4][Li&FZXA AFw!V$1Hm-  R3MaWazr]/$ +]6 zZᄩ, iL4,]6 +ب:o1 =+H DvyhyX:?H Dvoim:?a l/$# a=v/J=& IBqCI6n ,RC䄋=& I DDE&'P@ +AaA$I&/L< Il=1 ay= 0 ͨPAE/ 6A:PഃI蕍&0^A:PsĤXȃ p͆ " (l/NpzI 0zW`B2ŏA0`I "J+ $ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆZ@ +L& *AB/k +@ a L& }$^+ R!A0D`AQ:0ZCXH@4'Q !jP/BȤ #2H$U-1h "CT""#DA$ C XAb0DPCDDDE""1DgS nakD(-;Das$AO+9CuiulgdU:jf \6pޛf ar2 jL"S 6ͦ0rGWqvKvÄF7 +N0aSl;FS +9i7SDKCBI/R73ks +h5UnI[oү=#ֺI[+M/Aa oKm4AޗL]K*_{nSk۬e__Y +ZL?KJ}R􍤂?V FAdW3j$o6&zO_4Ǥu$PHT4Ǥ&`c!9K$c!(PᲭ^/1BJl2Kn[5yz/!%M_12bp"- ^Y_ڤ^ZOJЩ(֜ZOe@h"'O]:E~DZqiCG9'1HNs/opAP>&@C +kC"^HB 5å83"]%΢u tT"]%ꗄ":]$AU +":K`-[J@뭈XxoJ4uJZ[u{s"QD^ދ`^~֗ (۫ШEZ )Z u쥕_h,WnSA .-".6 +߉#k/׭& G(iV`楤MM[">_^ֺ^A~iVׄBI^iB3MI+$g^:_fW⃰P)Tq@+m:хBez0 ~ߠD{_}i[l1/Z]BXI-(l4 O(<*4,hR(l4KOUn pϳ/+ H&gI03 rGR63fDL4 +=[#kk0Iչ%o i':/恖S9A&T - O$M t}=K/0geD6WK} $g%RނEUa3~D?֤:Zt@J+Zu]~_頂V!Z՞%nA MA&)+t3T9B0W U׏^ifTZ,vQsH%Zm%I-KUSDnrsG$O4_BHkyL A\S/KKAryO 6iVdCI;^ Z_5ձAȆd b)ݤ:_geCᴾJAa,k V]6 m`J@A#dr1Dy%z zV @&Em&E& m&P0^";HHm$I@ސm&ÐNIlL4 0:+0  B Mڌ< (tJ Iy (dHpZA5%Ma<9dQ`  $d* HJ^ I8A6Ef"4H$i2 ] {)H >= '&Ĝ`! 0V L8A4 BаXBc   a0cAAUk `А20A h&a !DRi2A +Za4wPAa-bA 8A +Q""# +>?lu&ķt t[2vJ`AN251AqS(8(;"Gud%ȗ GTNDUjGgʪ:`Ȫ  0l el8pK0M8d""0l L0ZR +PPf 8`pZa*I GDoBn8a h6öN% WLMi 6y&yp}Mp9t"x3 ef2g_p]eN3@G3صs5 _# y! (.9\0꾶(C :1ntWl2祕3s?+eQCk(NfT+kyNXIߒ=k"%$l]HtKU]/GǺr3__{h&q/~xSM2y4{s蓵UL)C._쎍9{Y/"[Hq{\pXO <GCmᆂ-5_i~[tZAi'I!דU/!Mh/jWyp:5|I|l1/>0_)p/Vu_-5_=1N\: tID5I",<:_^mv7u>m KpG#AtB05_yz}/j\鮗sRbpiȸ4ʍ*'9Uqz_y}FY:2F9zG7?~p_뤕___%majߠ#Gb\kKq}-'3ӓ(A@kGå8]{(?Q]kzZ_Z=\4G_Sz}yOg6 :ίƾFVP_ƅ/?$-'a$hOX۞sD'\/P?-$AiBH_ 7uAo^?um隃5#?οum XJw_!-OH^:GKot]_2̧0KKt]t &.=?uwϪ/z[ V?_))_"WX5͆^_z-o ͯW ,v- KKA(cVUKT_Kok?/R< ^Sv+- TGAy|YpkCi[-s`]dt,Z /:(=} ]~ -)K^]szڛKG\ ,$moy_.*#__ ^a?M\DGK BWuӬ}_K\~jPpGDue Q?㰿AiT{ziuA9L_WzL7oK=sMRhP]=7_Ɠikg'HxucޓmbݤNWm.A7ixMo߯>ᄛ 0E9ZZƕM8KAI*vb!+ bֿ:J~°J[A=0o>A(Al1>'7,7b"c 76cM"5$մ]J$05*v{AaR :mKjP A- %U=&HԖ>LxA0x9dPpyH 41 5]"k_p@H,23A Vh&& BH2 v2]RA,z C 2 A&DF>P@Ab>N7 ] ` ~h0J`Ă0H0x= d2&E j G^GFd +!$H4"%8lČYA0Xi!H V$`(aGC@hM5R +A?H&B#DA4""4ThDDDE""""""""""#c#Dd$#nf7 "$-gMP i"\88dW5"5ߣ'VD"* fVsR;uDB!TDppȮjGdeg5#J{aÆ34eo m*t (%)g &bEՂi`&pa*P}$ B$vS=d8 L&/‡DOWLM{mqV)@M_&WLMpۺP%.34 p:"(g;s5Uˌe Σ, 1kLtj j5Nˌe Σ/b֙H-wT6V8~wM2瑯?†1o3GSꪛe #^t b2߮g(}USwL NDI6 +3h߶6IlFR@$ÛottK@kS<֜5%M2y9!84ʙ^| %6y4n3O~!@a-Kmպ /%UzWIޗIy^ޖNoY2y#}VCK/K!K/!M ?[ &P?~>oI4}')?6&E'KWOH3RoYFT?. Z P X>W _áӪ_-hkt4`2qî φ}@u3@΍RH5iiSDPMa@_AtjG#4A>q~}~NhѪI-2t*h:!SD~&j:fzVZyU^Apt!ITNS>6jOUGL1])S} aKJ/Ziy'/~yƽ-'կ֗rS5i>i0t5IU^?I*?__UxBdV?N {#U:H#~I|x"?$P Ac-'GXHA32z_=\4GH4S{*g.IR~zZhiVT??=\4GH4S{*g.KTg$ 0TzOENug"<)hXGzD RD Pq[:,~4H*n?[:,}#"4H*R#?KAzt~)&G| -算@b0$_"n|XOM0$44ֿ%K׿*?Ŕ1_TŔ1_1L`*TgP Aa/@]u_,!@4ޗyu* 4_A c~JY  ZZ[iiVi/8 +I:A[ /H󀣿A>l4#N.KIZQJ+b G^ߎʜg]$%_umuп ]/ַS,뤕H_너.UEBv{}Pm-&W%6AiqN붖+\:GaƖHii2/aOD}XH͘F[L5 /Vpm/NK/Jg]{+8I/&UN/_{* +ZHKoe_ -/iq-WPAlb[c K(H,WYNBRB(H,WYN >[{u+{*Nz` <teB|=8` :_-JT-8 tzqGoSڛ +\ ƃKjl?G\ ƒKjl" +NA-2=ڭ}ce92Ik ,ڭ}\K\id?-&6QsE$pG@_)s@; ETK.b Uuo }&&0?,"a֓~IKztx}&KzuޥxxQ#IO``& k IH'L<]W8A7E>\I.!aR \RaCZAi%d4*A Y0}"5 iA]CKI¤ "5ɃQhA/T Y& 8vLb-d@!uaaȶ/T Y& 85a&_V$`(Ih hp bF4P q AČi" aւHG`HB;5"$0!hiЈЈЈGYhUETWJRB:tv;,dj)as-+RT)lP”GÍ9.tTjQع@ϳCd a#,Ff:*v &pa bEι5pU(m 63وL*+0M8pa h2 +D  `AϠl8mZ U5p7uLh2Al;Œ&aȚ#]7 +wTdO$2a~*9-UQ 0u +Jz 2C)7£U 3Qp>ˌd 6OnF3k3Ap 7f κUj~0P\ Bsa~y&նPu_XF0-Ap 7f κUB(4mh;ӭAy/YPiw[kE_DeqVtmo64?tg-n4?R^NF{8؋O qc9b/ۯ3O{~#NrNL&Ӝ4d8 t{o:4$CmZQoH~_W 4\q }y:^! O^Co'Kd?"|X!דͯszY(*AzG/F9=,umm?szY(W5.WӪ"B,gP= qK-|F B#@ G/$L?4^qdg*3|;kA83Hl~Ku:)OI+=ѫsF7FΚtSDO`ieg5tKŚo2aDE}j@A*Q:F7zjqd#T8"/t/TSŪGP驀k].zO*Mx>-P"?MLZs֊xޜLXx>-P"?MLZ/#g MCAtK \56U W06ypT4_JLWFY:2F뤟~lD2Q5]$硎e$j>[Q-RDO"4_-RDk-RD믯e"x3K}(EtPP~!7҄_O/zAZhP~!7JץK9Βz[qK13s%),FjFKg:YtP=tOϥ#z]]/*t/K|9鳑aor:_~@鯯$I#z}~_ _$V":z|2M~D|4K_GD|4K_:5l=/XWƗq 8ƾF괿 V_9׮_|+/kTX۞X_cnzZIcyoKasԿ\%k[!y9>?mCָJY 'Z !zK,$hЈiytƖH1C"?ӥF/Ϫ/NS3ׯU'_Ɲ*5__ׯU']/k]/Al2HK"`4T> K!.?k | + + z_QXDz^/ƅ={(rJ"URР.J"UR ?85U!KΈ$Kus窐_D[=T^֗ctU`lAW5ץctU͆C<ԁ/R_ ,/XeY<ԁ/R_ ,=Kj<ԁ/R_H<SL]=_k(_A࢚zIz[8‚[ik/e QM2]Wz^}_K\| `/e0밃K X /ei8m-+eTqZ_ -K&ҶUGucc.4K_KKziuΦi/Ǟ]I&p@V7=Uo}5NIm>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕjr\CCz +endstream +endobj +35 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +36 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 74850/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GH= AnQr ڧLA6 ?1Ni]7YIz"=HVlIl:_qoWoWI+/Kߙ_'M~$p6Bzk< VIZli?4_֝bq *5bA_zV>-&xmqKKGbK ᅤ_Iji$_RHRU-꾷_Q@^[04I7sK?/%I>;'ZzzDK[]a&Mu +Tta!Kfn%io%KJi ÿIi==R_ڥkvC]H00A3gm$i$ÆJ4 ,00@@0 DDDDDDDR}'Gn?[G,6$*FB[GTN-P"?MLZToK/ =Rt΢o6%8lᩲh:^DpP4*O&V)e#QDxoJ4uQZajߠ#GWi{z_L B"?Ey.#Jh,WKz_tOפ׭& 'o=tOϥ#zYl_]/| I|Փ_">Fk5_R//3MI+/lF>/G~:Z +m:_r@_ +Ë#Z_XХPiu?Z^>sԿKҿpnz WkΡI03#.4@NC">ZYO |=g.Mk5͆^ZYePo$ȖWKƅ=h/(cVUK9W_M X`k_ /: ?s\RK|x IJ_^֗ct[(?CY. Um ,y_.tm/ V=A>R"_WUHk(_ X KA AryO^R?+eTq'qZ][Li'+_=]_4ia)ރAm/8;מk_iZ=+H DvyhI#>D`!"I m&П0opz=+F H6dL=+DŽ#a09O` ם rLADBMN8- l/`" $Dد9T ElWeR2A0`I "J+A2, I,/'@D0[Ia, $A L֐0Yp!HAD $fARR,,HAk H WA Hq +CPC4&IT!ZŠq 4FDDDPB""""""1| pel'ua-R"Q40Z;#"ؖw3> T̶rgKjy,ęYPَQ[d$h",jMp2"wl8m L;MLPg&l:L0j7Gt ӨI 蕢7aÅPfl0a"RH;#\ ]EVvk:IltGX +aaHQO)6oc"2#ea^729 +"Ai {YtP: ~ Nb;ok"kPT&_,6y$-$YPiԈWmoWDԁ6p)|BtЛal?FB$Ǻ">;U]e8gNMǴ+ނ~8~'+!WfWpA?-#=:uo؇jC򅤒I~XO jl 6/6h4![+S,$VO$rk8N0)'%_/0θ+Scc %q\UjH$pcc)iڊ,g8g򅗧#SWuh_UoK]RV7V-]W޺뱽k=/A:Tct) uEJyőʛCjL,7ui:b?p̨l>/C\tz]Q9u V{|Yq:%~C&ʡ8#=RZoDUVR-=~_dd~"/ ?I}&>\_ GZ(^Β IcZNO|ZDkGBA6!/HKKeuH?L +D}Oe'N)_728::{<_p㮓*G{" I}/}`~A0ߒW-/]C=9::+O/ֵt=MS:ki6bKnc&klײLkfh$\nutK>M99 Pߒ-[[_s c9sg#/_&._CgFW5akk$> *ZuhKҤ__aua44/#6T/W[/_!JXuK|$?gxEdRI}~5Ka*ށa_?/!BH_ XaD|e.1{9RF6^_ /V L'G;qM h,_ʠlt_}#&A1qCI_^落O_K_J4@$Ht}_tzwkz_z_;t$ X=RY6Vk/ltL?$KD]|/KW qα#A_Oi] ,B @PsK^w.q]&b$+ !_amk:]u&,־SV/Fj@V))n}=wIiuzM +j?*`d?oKIP?㯥cf>` so? mzZ_ZKeT-m GWI?:]_KW-RoK#<7NT^| u^ MWMD a/?KoKK/I/߭ C4uo"nD'cⴇǢBAzMj^-_Iak tztV0AЦI S_=[O('>LJO NaIޕ"x_DŽ Ga.qD >v _|Ad4E L lWb$áA1A&b`] >^z@ֈˑ@A $GPVh0@O> !NH5נ Ђ B =&AkaGQy8A0p,1b"SƐM!X t,/pPAA3. !bb  OO +ЍBBA ɂB#[ +""(! +b""?m:"b#7[E*- DbV˞PpȦjDk5#'VvaCG)A0hE&Ki2lfq!YGcj&tJÆ@`2(L6TpۆUh0dJ`2 [ rR* 8p6i& L6 iW֙4&PB7T6lNi)v>a + J6}Aq]¤p[ +0ö}Aq]06P mï%SAmk Oej.A(EHK6/5'zB(tT'+S 黦Cj+S<6sʙ +Σ\< PAw#.:ZJ6nnSoeBSZ=.}{ д-i^($\kp׿I[糠pxzZߧ{yg@{:ҋ-ˆ֥ :r %6uXgpUzM]XOWm7*Ii$ttUO>D_~K^6}jHEq$fho8@i6)g8.5FO$/򄧒GD0DHJy$tCx@}&W])ICHYL/*E>ʵzHUgXYmʊlWIjJViO8@Uz]i%I{+?ԆW=- Z!-z~qy |\E}:CC_AJLj/HRJ."aiN>hMB4A΅>ʮof GpS"HoWF)/~t) H$KH":[( -K!IK՝<tOE~_%2]SץEgyn/*zIs"Ћ au)BЋdd ?gDiHͮBHUkI}/ |qTxmr(=k{6Kr'a?K:ѭ%U+G^L_,Ȏo0 |E uҶiI~KҤKyO\{=鿺gOuB)^M4M &IGKךֻO==Y8 5h3૯΃~h2? >kW~RT'/Lkmr*"fkQA(c^0C_:cZKePA$\ȼ^TT?~Y>ۏK5߯\[_u⿏fI_)%)$I0-KokĆל5FןC_Ț/^RH/>gYC0Y됀>eg!z.I4Y^(@iS:?:_"/O U&n~OҡH _66W_)Q~?ѯOMFNQZl$ _޾\4K¯._#J84=Cm RJ"[ +u??,_N6:/7/a Q'aqE2ӭD_O?-#;M }oi_y_ma{oAB?T_*G^֗_?@%KKҜ[՚ ?G_ý +)SUVbK7 /K`< x87']=0Aꭿ֗Qu _G0WX" 1$eҪt +\ }'^>pU?/]*KKg_=K-(ɔ\KiR[sa}0IfoGo4_u.>a#8/TzH<": $/H Jr*^KBuK.</m&][?zL?D%z k.tDJEꑰ -?Um/Һ&t-JM7pVm?{@_ |0Z @0&ocIQ 쪖L?TVoQ )~ak*&Kp?_UzL?}$_>8J/][KHkVO/տzMa.pÂMU=%ta7A<|V cI>+\RXJI{ EI:*('Km$oՆ#:+Z_WzD: &EkK &1n w.M5 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHIZbRTdfP׆) kDTHII$H0{d;*S93bEOWJ{OZXH0| Z 4 a 8h LVL8=O( 8OHPO,AIXk*6 L' B&  a8K^]aaqH45HЊDx!Ј hDGhP'kG@Y.M$b-B"""""0DDDGMQSDb-v*R2NH}N4HfwTVXGfy/JxpιH4I>ΪV0P@ʴSȾK3ND_;RN!&npʢ 42II`l3=6ͦ)CapR580Æ`4ayV6 )C*Pji)vl0l4If*n8Do>Ag2afn4a¦}AaxQu93Ѩ5mD B R/鵤h)(Tr$ [A(E,}EM:ehrn[DΡM7tNL`¯F? =8^P:} Һe'{{:#;qFQ}fm&!}X=#֗I[m#n$Z]k{&_$zUӆKп z_qdsӾ{:TS RlRPJΠ[nn}d`+zL?KGO&oz0 ^&}u^zv>Kh+dW3A#i(}dM#4"b__{*.='΢yS#oiu95|Jy$tRIF)/Aߚ)Ч%zF}ru]!MΝ~8~o]!)tsI~ (KC^ߠ.G nNsXoȒ_."^ANDz2?a<'Pm|q+S\ 8U7u=C^k.T50T>mv' ϧt8▦tDqZ^":ePt|>$n?uGud^IUj6FT n_.ǽ?@鿺g&{ŝЯ#5ta Ob\kKۂ#L B"?M}jZg\4G_:_eUgz?5x]/m}!JXID|>L8A(!E.tƽZMqW@$@%ւ$.&չŴkug@=M7T&G| -KkiV'X_]7󐆿Kףkϡ^Zm{#?Ŕ1נD$lBI_/şJO>_>:K+]u_t$x׬"/eN~T*m* 4K(l4yK<'a)~?ѫ/i\$ ZpJ?J4BuI?8] !|/ihҦJ"[2?_3W ag)G"m+O,_N6RI+A^aZ>he>S |=g恗:/IIM  EA l/@P#/@[I6֨ RT,$ȖWK QT)䄑DS7u)Au /m, Z%a~ׯ _K|4ߴc OLZ?ߎH$%n0:}z"?9?_ZI|y>L8 +\ ү_HKt!*muЍ,x Ҥ?Ǟ蒯L0ce92IkJ__J9?#h,֕ MUeV㰴Tm/$O5k//ֿH Y봐B(}_ <[*!9贺?}~+4A uWI&D4ΣY &4a=> iABB,Mc J i >hci/pWBGQB# ADh"CIGhD ZT"8CB&PDaDDADDGM4d +Zz)6L25%1YF&rR)i#5pȦjDo5#gbXH vfgANHfDkDJAJ +X 0m8lT(a;M*npʚa3ۆU.Ȫ5&{ Ⱥ6l Pl7 J8AՇ¨6&'PݑNʗf2l 7NFn0Bvŗ '맄AC較 Og;s:"Pb֙H(t96]$hG% a=,f#J!"VwM2:UT(mBӅ20Yt~a=*0Woiv?$0}FIH|]Ht$ +?I eqVtmno_< ^ԁy6p)|BtQt~QoxFpm0ۤۥijSi/Ju?O޿\"6׵ȷUzW?׽-,$]C򅤒_ j帄GE=8fa4 +d?I)NM|kdz%?.)>01S0tMA~ ϥ&ŪG0 k,;߯%RZOzZOZL&zN_h: qtH"/OK/5IzT_IU +AO&i2D?W_i$P"?KIXDKI*`+KK0KkyU/`pUKRT~? aA1_ײ .^B2 /:#Խ|BzHH*H* : JeNSŭ.#sׄpQ_$5R#BcZ/I4>`IeH">F` k׶Oyt/|Y&Sv/0τ% (cP[U3~P]2>(}g4V^|B0Qmp鎗w4Y^(@KB H}}:{wZL=.KU .g/SAPH$/H ZRzx]krSsE$GFf +I'T A넋~ZKo@HȁK( t#zh Az" UPo a_EA ~t_ nmnS!恗7/a ">,$f#Zesl/+AjC@ Kmq`mxIE B*c _> __ޮ?^#A?At[$$A]kҭaނu)Ah?yN ߏIJ"un>#Km}=׿Ҧ맦,y}0Ac9?_J_9?Wo?sg*gS +\ B)ѰW/\|B +N[ .2;sA­ a.t8E$HHZ%dA 9U W,#x D~?㰿GW=_k~:L4G=A֖8BKo"` zAmi  Ȫor=u7# aoK`[ixA`o~$?TGim8K*Ka_ -MK R VN.%  |p]mt/R\| 04qL0h'tz>HPKaߕMW*H_\ uC( aA~R<(t)iE_'*LH .Aajq(@l4 sĹ) ~ 4H'S圝Sa%a6H11NAP4i {)d4 $cH#mRaCLò`Fj Wt3p(Hh4L L b@& ,XcXkA 0D 5akAk; y8 iа xi!K&@a4A:B 6 44? 0U8 +" B)h!"# 4 BB;C +CB""""""4"#f1\D'Eq$B\2KrQV3R;LԈjF@ yUGLe:"$Wl4+C 2frC fK2Ca3ۆTռ6 ,Vûa6f 8vÃm!ѭ0pd"5"v0966vj iLi#vAH:. SIgPB$]s:ŘE>CH +KI7SPDI ]ZEF4i[eaPGSꪛe Nn6=3YY\0F? =2'EY?}WŗI#0n4WX?ۤ8#OFIH~KK]&eo灸a{VCRB3q?m_~9!5KMs z_qdl4ϪvQ$ 8/KV/e&/>pXMv&ehbhZ ҜPI0O{WUzWVzB.a렃~u]ƕKIpH i7d?&W7 {q>uRoҞI~Zh /-i:F'Di7 %[$c!׮_N4eZz'ZBJoEIph2ֈjh2n %M!.$^BJ)%I7B]RWL}#cz?|~Щ ?>KL +"B4AZWFkҿ)G>R>f=P~( P^=Pi+###(_C&(mAa ÎbS]1S)?T>`I"]%󨩀k. $a+_CZJDꖓ<^ZO⟏** -Duʡ|I2cB6+AE?I*}/Jǵ]#P*]DT}/ t=Ke_@^L%_#$U-'#4DtVzrttV"? (۫ʪ#?Ғh?)ץiizj;(PZDA TKRTAlU0eؤ]GJlRE?_z DwX b3Z4XG(hN$~^TT?ҷ9I[aӂ#"=KT)xxarKC9A +Z^GJI`Z>_9i)~iV'XD"᜹C↿癈ᆺM+}2^y𐲆04 (cP\m~$bJKd+3AQ _Ymtzkװ.! +-v韒P!@xzJ_$oVQ /IBҶ4_A uPH$/a:׮K)ןKoυS^">xko )mDJ /-$Ak$PH =.H&.=v_ޗ#$_ C/Iޙ[DT$/DA $ނ _(A+OָI #>NR=x$t ?߄ 2+/A$èلkLnj#0׿A^a( O"> 0zxp[q迄 `  A&aBeTگAuׄoAy#NNGO 0gez_9?46>I/A Iys ] +Z $g%Rk^KAyg/N3~Y_x@A,WYN ^- +ֿk_@m* &^ X` K맦/_ $b_ץK>H$ƕ+ ͂A{kAB UQY +~!5HU@_A1!E6uA*綗\| ~@$aC^AAR'5"?Cń MZ 8e<}{Z_׫=GWH% Z_9補t]l+~9L?` +ic?otȂ OO-/G_PA2!ح?~A("='aΦ/o)ރZv@@v1 vK_AKTIKn][p%~Gi7ƁM~~XA(a@]'pD݈N/0k~U5v IB 7?I `.88p 0a(R?~8i؄A'a]^"ݏ&=.tW4UBGA>zE>  I AC =&A|Ba(ψ"ߓ% ]S Z0}#5 bIIFjJ h&sg<ϖV '&ZLE(&E.Js>ZLcꃤKN- y 8JT 4/j  0IQiA01 `]&\ i/i ai?@I @Na  +ChzC` )]-!Ǥ GCZKIX_1AtiHTM !AHiFPT""#5KDDDDDDDG(!sW%h +GuP.T<(gcyKPs+Ԍ2+\vʪ+SA`α荫f Z & im0|0`Val3> 6hEB5maöTgTj'i[6B*a.(CaA4tJm}AFn&UN &ŧoa7Dk$Lo & +lYnpE>CH t\:S:o/3s} 5-A^7d`?Z79u_9쩜U'NDH P\h/EZK|yIBd3|7Qt:]'l*΂M2: + 6Z!@_Ƿ+շ5&/hNi oK}t/B$ǺQqűJ=-6\s//-IMǴ=&l9"&??GW#N}GO{􍤕~pkE=􍤿Nj=!n_=!CidHm!՞]> +rk$4ǤG}|5I Kd>I _ԔH}y:&Vk[2R(aאD"ddTCD_W:F QKoO?ervPgO HIm)?5*Ӳ{<s@> R}l3|~3T[p5]D_h:Iz^F.-_>ehu&N +-S@q==B/ud8=WD$[u{+|G":+NPNN0KDuZ?@ꎊӬ4f?,W?mJXCY3]A).(6uDCg(P~!7~ K0 ^99^aW\[_+sk:Yp%9G㥜Ie + -c">}_ =q +E歕:Ke#M#J .C-aíz'a׮kƾD_ mA7O^[[h|!-$$/z]ǯ/A,h?>I5 6(]kV Pۍ l9\H$!oXQ:G ORׄلkR;Ht_ԇ[hzeב +?A f..9?))U1^|)?#Y eqTPF{"a\U/GT+@? ]o_e@_xA| X`k\NWׄ Q=g/~D]cʲ_&\ПC~ aLRVK5A *s\RK˴YZk)BAT ZkAkN ? /?!) |$ Vuj@mj@) _޿k BAxHkK"i+G(_|}i ڏ?jgKLj^CH G5_ ҇ΞAXjl5'JE:AC&?l/kw08Z f#09W` jax I ׶dABxIC 0A$O浤aGjag=|*<ϗ^>Xb3A ya-B@p ,A0?Qh1 # AkA04B`  8x'_o=bB AkP@AWb 0@A14h +!GC ǡab#i#2 5Bӆ !j!d1BBN"BCM hGGhM5$FE44Ј@DDDDDE"""""45B""1e4v&D&eqhv&Xբav(0cGÉT39;ȦKK0lh}`2 +2,DfkA8e^E4d"L3>d Mp`' kȺl34kL6AŦϨ2H$&Pj#}7w`Z#}6Ϩ:#I0ÅY FBau $Fn*oEQMVqtS:m 2 1kP}Mäɶ$AxYB:#A0]$hiꪒȝ @ 83(.aײU`^#aa(]''NDH*6y$-YPic*΂MI6H +#bgBN-.\U[~'#~F>=өկ ~jM +_*Н>ߧ΄؟D a5!%>=_ fTAzS{?:I[uNy]>83}a?HejC򅤒_ _]CgV"-$Kg"Ho"Jr|%<:'o8Cm/! )NM|m8N0)'%_/_'Z_^нBII鴿QpeZ[^$K7F9Ӎ/8Eh[z_B꒿KE~? ޗ󐺤/n 81>O^B,yőM~/8#Ч/AVߚ&"W^ֽ5_/8#OQ:Yl=].:eg]&*kZ2K_xkq׋,$_ C_Kʃk}ۮ9ѯA $/zK"1ҥ"65L0ȯ"xG(_넺zuzk`_&dW}(]/C迲9?D{0^VԇE5?H_:/hjZ9?D{0^V&.==H^ThZĺҍ&& 4^}~U_^}}=/ZZQ߂A&@P#ׯ^OpդkȿoߋA E?0 ^_;t$ X1?CARIi~E(踏Q^u&M /IW\$&IB Ikgr&ҺXk$ 'Dt&x|B +SAֿ^M( HWA~B!5VVqUs_(><ԁ5 ִZMXP?Iy4Zef 4AsGW=_krc=_kKHV&Ht5_WYۘI A$#>`  ұ3_yCmX0~ICr9&&K 4I--m O_箵֖ʩ?[~A("=:7A0-A?F+ xo$~7v 'a@pa$P M_%_0)mM1 -߭ CO޶%IR|| 0OIIJ WF? }!y!: AzMj^-_aMG4J o ;i4:?}V!Ί:$Wi0*kiA %z +yA< J> sLXH\}Na͆IRaA7vQKj"AA@jI vpkɃW_eiz I vp{ {@C!Ak2 |(BA/k"" iV@Ju`fCӆϨ25 &"ȈAU6,>&UM&ܧ f3(i4Ŕ"/$M3(tJYB:#A0]$htD(caqp4&]U2qdA7皻@1]$|/L0eˤiŷ>:A(>A7:iKDw @0,6y$/p"yi_4^N!mn]z_YвI#+@O >&j:\t}xt[{*'#VA?1]< >NW9vt^?eP.) 5o/&U)KgV"-$_%":K) Qd )g_Fi )~q{œaROJO]kifD+ijH_sleZ[^$iiƗH&V+(;q]RqY/4{z_B꒿p֓i[JEAt)(^kq(չЧ/"W^ֽlI}6$ocK"iPYF{o֍/#u[AK89#ki}~\ w=4fnI7l_RPy 7RFQ)' mŤ17zץ# Ig+6H?XZ5jrԨ&/_ΞO/Ea#t_+GcօV%^/OA^:2D":%~F$ƿ3!W܉ڽ$oM*4_Ҵ]1G8֗L9tfTR UׯK)#tGgI0;]_?aAC Q]euBCI(_@%|[-iqu|?4\"=:Z&*nYvz+>4mu?M~yt癈?(D{LWoL 5c@_>_Y>WϧaR۬#@z^n|G "0h"$&ZOp_/JNz~&I +W[ߤ0d_7zVP}]MwuY!_Imx L0#灦ؐ2#_zPtxzIoA zǮJǮߏyPpl%˲zX?Sz /r+]CqW"k׫_A0"@:Y^s[^z_a3PkzHտ/\Z9?D{0^VK_^W:& .tWB4o SVK_J4@$I7__\5z]/񜃐r +_7yo "c:/ !?Ҝ[:i%0{~I6_#Ϧy34/i$^LG]u\$&IB NI6R_0sUctI|B +  __?Ciki.k5b@$a5l=UG_Y/"$+[z_פZ ΂O[zTuiuz~&i-|m *MYlJ[zI__~al7?!Ag~l7#7 oI&ȯ7M <%-RoK#<7NV)_\@zү-i/ &I&o+<-xA}$_Kߤ_M/B`Ҿ:KCAJKoK}PI/Z/II}&߄GRSI0$vP^zZW ` 1 oI:_^U?I-Rcw,诇HP ݠ(&EBWi0*i& rI]I/4IK"-/P WS &\*-xz ѤyRaA7vQAERAi5$NKXH΢$Ƞ6 Vܴ? W! bIx2 A1I0a.qnZA0ZNh zX8A0 < +k$kC AUA`4DD2 |(A -5]xM$ -'h%,aPh$JI`jBL X#BЄ + K C b&HqDME>CH Ȍwߗ 4lM~\3h3~\3k˂pXF\-20Y!G5T"(ę1"}$QJ~5J0MIť+ uI Oa O߳ZH/H_"<ԛ8I:hCvWaȅW'߽5}*uu\tu_wI7ӟ RS(] dd?-Z6 nq)U,ŹħUTP( +CgJy~w /՞ ä~4dBYE H5Bla x=3=o:95/om==-`b[BJn^CI.X#@؅:ߏzK7j$_,B5_ &z5UQϯm^kU Mj}Lm$ڬzuJyitau"} .|~J#]Yo{ KAʈ%m0gBo!ih"?/m--G\Ћ$ᆿXo͕:{wI^>zׄ=6֔6L?&ǦAׄ=6d _N>M"`HF+~FG͆[!θm/-t$ oA$aE _2Y7[(6ץA+O֡넂L>{=&$Z믍7A~X-}_A1qCu㚗GK0CGKIK#נ :9>/$Ȕ׋Z~OmޟK@zV\H6kwm +_Z%aq8J)zL;.oHR- KKAq?/Vq?A Jq?Mݔ0K-DtW-'k#KI +ǥmǥ--.K {]WAkP?WKjKHXH-(R":)A/QVIizXGpWPcd_=_F>M~A A$k_.?}xZAAiT{zAxG:/ ̡?( ~ AZtPdR Ca4(.?N ߆ CaSP_/Ta A^>,AZ[pIUޗ Mx0wI H7czAK--X Ф 0K ?MtbaJ[ DwǢBTKq, A6~EA6~DjI-êXEیt)m8I5HtR.:ikޑOJ>LI5Hֽb a^L anf + [A6&] Z!&] G@H,23Aӄt1=| զ+A @6~A8 ZbkA+4 A:h [(H,t-z2 }Gaa(Ic  PaD=0XJX/tUbFpWᣡ0F +B8D`") BhGF B8TJRBB]SB1ADDE""&#!4Joyd TJ̒6>4Fe:j†v5l#v!I63VD"(}IÆuɄI(ȗ ? LL6l 6da;ipel8pl6B&2Ԙ6 DmL6R``ΛbӰ(`U +L0A*Dk ‹'@M_e' 0#}]UBCa £M44I96 \2asIB&=3@?3/PoaPQʲ L.\0F>#ZL3k3 hPXF0-Μ*ToO6LIZh}I@WI8eqVtmoo%o~H5fV*Tu .Wgʄ'Ms➦H0۬o]IiOV${N~8~'nn-&mHo& ߤm%M؆HE߯4P~D FQ`?ͯ^!#@\zOKmANM|Kͯq>u{cWI?Sd1^u%_OA_cI d5`́dIS/I' }/n Q`́B^Y_ڤXn_R}iťlFz_hzW,MMQנKu))G>;2]!)}My iB_90ΞEopBiP8ι_z(P@W ^UVG8 oCuUЋA{I#5 +0׏Tf4_T}:Bt%[~xH0SPgWe} +ŪGQ#mW!/H0J%[:I.h:ۄGZIzL6?lI|z[5j^կi{G +Knh8;?j@U Ƞ]&V n"r=%O// O朜[*>_TejMmTa" ? TدD[uy$PDD?U-{.+Ab3rZ *n(6uDCSV#KOJXI֗g9~@E5^M_ | PWNF/V#t/:XKuւ ~aה_U/) Ki~iVׄ9#v\Sao_]/| I|ד_k +]/ $fWTk !'k/K{K*##^:_fW_X?J+(.!%mT5fʝ==Z[taiuXo@㥠Ҷc\lF_:*׮Kr@E>VPqAW4)~6]yOֽs4i$nKKR.ΎR_sD'\/ gϡ kI03KtT/ Z. ץu I|l)ׯ# ^_ǧKo:?ޯhe>SK$aZA>. x@P#ׯ^{ޞK_K}AA l:K >IeqT" k,//#0IeqTZ҈-h Vgւ[DY}-Wk4J+Z_]g9?v/pA&)+t3'9ZR-̓XA N?~zS UGZq[WK^]A +8]?wuA*G?G.KUm.y0K}/(_Hk^L(e Hl# +o~8ij'뿄] O)xG:/tS:K/m.W'e#O7( L_=uM ή3M?V"I}OK #;*/ʟz[(b$ޗia)ރZ K}b_U]6 zZI/H Dvf_B曤:K&a o##_MAi6 萿>o_%䄋=& IBpAa!0JB Mڌ"`Oiå~\Baz]A`bIlxIwp*K%%7*Q6 (l/Npp =g'Fk %T 7*Qׄ˛ 0AE/ 6A:PഃI X1ZL@I 'I"u & ya/bA758z%d41 X$ ai2)OIo[V t!H-@  5uæ#EK/tJ@u"U*E~74ߥ%@o]'#j(C :ᲰA[!@o]'#fפf R3ߤ>|D0SpL*΂M: + 6$/V0-P"?ojIiSc~{<KQa(X\/^6gKIz^%N:5k:_C+O#ac' &VPatI}#iPHyʾ$?LO=:t{„ua +/f}ZZ^U-RҴGH6 Vla>N ^x3Y|APP~!&+3Ek9ruDCLWf/eaxKЂn :YuL13sZ:^,FkFn/:sZ:^zб=/'XAP't<GK癈aEB?*sg#{:?@9/f" #@ؖ||ïN(T xdKֽJ_4W?.mKZ#@z^zsIk ▖׋A%~W_DIB_'_潇at=5t]|BWA΍Xqkץϰx )M`#M#"?#灧koBꗮ$=}/X$_ Co-z/! g4 dG.ߔߥA5 _At?L0ȯ" K0A[.KH^Z6 v!~&#JQ[j_ C!R _>c t_>@$\~H__XXAd&A? ,i2}~?@.~`@m$]/ ~vq#t1ͯJ"*/$K7( &Ai_YWDt }.zs9_V[I(AI_,7YO*h?_A~!(?|B + BK(M~ᔏ-_KHt5 #_HH/Kmx6d}[ -_ +F?ȅ_ץ=_kQAU_ z?S*1o M/ oA P_o (p\[~?.03].2~A(""*kA1KT=[OJ.b_iï l__09Z_ać G.>LK^L\CazN/ocxDN fu rep0a. BH2 pH$ v+a,Ta PkaaGI@ @t @:2D ax8qN^GJ車h0Bm ; y+bFL*!X d6i:Ť8Aa8`GAH )`j0b# {C5AZD>FHi!,uTЎBGkRA +B#taBk4ЊE"#H!ADD،enh;2u4[R^`α^#TLֆuϢ DAC2 L2)&<+hL2X 9ْy)7ad ʭU [f P 2̃l;N6َQ[Np . 2̧ȺHuPEgadQl4&  !>V &,aB#BAFmӨL4&tz~ h^O=hpoa[<o3L:#X}Qh*EyeQC)7I&0a"#Eg$3@P\KKAp#M?m!6yp7_AË\,Mm!N,O}8 [+_[(4P#_6(>皦RNޒޓ橔\*΂M?I zlQce?Ds8yikˎHA7<[겏gKc>j;I~j;W}^_#zb}& ҝ+Y/^ƾ(KS] ~a%"BS-7 I$pA? I$fJz^Ǥ"|X~ޗ㠓_h?A&ޗCOKH'%6AzG/Ȁ1փ'Ҧ5B"iS1^H &I"u$FsFLP6EJ3PKӑ#8 JrT@!N%r`m^'ʅ?I ."?C!yӱΣ @J:/ץlȏB,gNEq8>egV{zDzs>abpi3T.@Z'Tl]Q9uY. :]Q9u"V P_:%xao#S,$h48KS H:GI7^Ή_^_M!A(a./P×{z{<KQKQ _^im#}$HKoT/ttXat{Y-N"?=kKKӧY-?2DW"?K f&#56 0_~ʰէi_#a2/+KKMZZ^,6 qZXX"t5km)+^D=dXbguz^N ^f Ѣ+K--8g9ŭ.#,FkFŭ.#ߛuG<G:ҭ/A'C9__]D0a}~9/f#=zlt癈K kUdXK^,BI_o_}KJ}uZ#@z^V#@z^B_T?K4~N{ȜC.:4ɜCoat:5?IC'ZG/ahN#q=t:G x◠aTsK/=/K g4X +<8 _)y'Zǯ"`2E[ AAi~x_+Y@A> /VtaE~xA󁚗_OR[j_fx kfjC Mh%0^V K4 6]%G? tH_>|l| AA& xk &Uҵ^?_/#?zC_e !x_AWCA EA1_U_k]2_djG_EiiKti5NI[yqOx9#u2$ +ǗYr$ $ r!C8e#TcYpj ug e Y8ig/A>!HTVҏ5-KZe~s?~‡5 #_HSRҞ5:rP[:OwmBP[=G~j?*MW }yO v ?$=7~?i'v?~A("<~A("=[b~Ko-ߠI;_@v&e[i/Ko1&ȧ:~E?Gi7~°[[~xA(aXA +XA(aoӏD`qMX"nD'~>7KM؈-HH\m0D sմBH6z^, #Xc/?Ky|D?Tt 0a*j` 0yB ,}'JGItȠ`K~oK_w08(]2(2|8( 0WeZQ'&OW m!$C]#t'xD?;C]#bqn^ BH2 |qn\ !uBb>N4'u A00^ ix1'pjx1''D$ i~@F[ AV/H )eaA,qš XCAb"Sn2tЊUDi@DhRA_L* I"#Em8$FFDE#CCB(!ɺ'́2oR"JMdM32Db*jEٌw^%t0l(6Ul(tLdE4aPgVTZ D &i 蔢5nB%=hpg&ۢ! S:n.4T#ZOZ^A#:u"P\ ˤDiEKI@WI8eqVtmo!H^b*\ B$Ǻ}i$:SꕿKtq9>N}UMDiF؆HEߔ-$VzMZ %=za_8R&=$$pΓu/I5B^ %(^$^/NFㅣE9M!%zL?C)*ZP&N5_83kЋoW6Tb?kO]Q9tHU&fiFղ?dd~"/]$rxH0z7 ϡT>@Z4IzL?) D}-/CLcIBAz2(A(E*GҠB h0֐C=9:+O/+KK}h$`ZDiBn(6uDCLWf/eZZk L')׿sk:YqkKe{a 먇 5rGK癈aEB2䒯_4W?.mK8@*t|?!B/{K"q_~L|l| AqE1ȇMz~`4T>! " ;=CW1ʼ~Eif]F}~9#u<O/sG %)+/e A!At5 #ߑW~UgR1kA9` >箵:o%Gr wheߠI;  6_peB>J/- ~-ނj< / S|D?TYѬ56~ sI΢ 5I<ϗ_8/ f| K l AA⼜oһzhK`b +JЉ%4#ta +QA#,H&H5-Մ; dB"" 0gXB":vF"6Z$<)9Agj4vɍ]6RU8dQ0;a6|DIB4ꡝM:Ҳ0fnˌd 9IG"P(}17OgB(Ȍl#qI;L>P 3Df3࠸H4@J&ߛ/zGeqVtcmNzXWgAA- oߔzLsgr4Ǟ΃;UүM/66'&l6U=~(K]S 0m&_YA?#Kޫͭ/\@[KYx3Z$m_M_u8 #m^'EôoK yŤ}$WO"9#Q~|=qKoޔY"Οq׋T81}D_(㔓mxΡFpҢ;_K{<?vON [m/ i`O%ǥ_I_^xP ,0=DRHF.H'K f&:/.=_C+MD^iake$/IAQ0dw+'{an D!zzKR_'O@avXK^/Z oB$-؉_TimO_]-#9z_PT~3AA g4c--5? c/?- A}6S o(w_t]Bo8^/H$^Y =o[}|{ }55/q_Z󨤽.Vkb!@[Y&+OW ^>VOIKT׿g&a{_z^؄Nw(NH?=-6Km-tvAl![J<Ԉ"#շ_{YuG\DGK i y{K[-֔"|A %&T΀mziBl nM ήح-+:M [A7[i~ރ-D~(-a[z[x7O l4"8Aa hN4_ CMqqČ /I:Bւ S oO! )3VIb:DhBDE DhDAADDDGY +]+$B'̒Bn!["EW%H4"|232DRgNF ȔEw) \gtdA/i$ӣE cT]2Sl68eD;f:r>WawRl2fh lέ‹س4iêag V0B*lw N 6v\fh'r3L:#X}Qh*J}eMPm.*4P6$Bz ^OU#l#q<?Du_ҝkGQ[49k$-7a=D?K:)׎ez0 kqG`zO?9z_PTZ΢ r@_N#k<8 _Z[dj#~#~ǭ_G~:^G Gy>.QgZ?>Ώ_3Xk_$Z ΠD_~?KKB=o[Zm|{ׯ[PO_m_:)R]t!V_/2B|5y##`[r)uנ픵>PIZ ̓^_دb}\S"^"uz Km{ksҖ&0`_qk<kg&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*Q>wZ&7`ANԑtSQbf0)+`EPpȶV#Vv<F/ + lptkL 3*8w6g% #Z"\28Gpôl8v K'ۢ$&-PqpH*bA0Ji %A+bV0l Gs:@^##*S zpDhl}oDdFk5PJsJui&i&4*m!#0UWHU z,_w_T!1萇oKW{m`2e lNS?}꾯Sk+is$5grUZI[*WeAC ~}Mj ڪ'ψ/X +Fn|3}ՋIgSi6*KMH_#A:I6a~]u`4LCH$/ W>$iZ/ZI`B]$?_i$~g_dkzausDk6 kPgKIaDB"?D$+__~Dò1:%/vW$__ `Yp_B^t_R4ױ]+K U{8ͬoƒZrHG-ͭPL:K(IR 0(})/~yKoşN zKy*W4oу90g#!oL:6 im[u@m[A+$WD0VT ]K/_TLr ` +\x6u+Ij 7]]!/_YԥBߥq5Xq8i.[[J +#;ҤLS,u۴/UUiBU6@[xگh, ^+Az[mGjUjL_;%`㚗Dbe}L>?_z_[m^k$wKo^ֽ.kiXZ^lW@0ЋЋKA[{[[a,6lEYBKۯ;_̃#@=k߲F=C%_\"+^虆LrEK)m^ׯKU__#cK_KSxHVVޗko눈%8Jev9\p/K~0=4-.exA/K/oIoil<%zcM3KUk`oOAzt9*i TKm ĿZU[&-G[& a$m/Ka?_X%ig?&IۊނoAGKV ='Aa &m/a0Aa\I}.=&a7aL MǤKl &KXdM>a0Kp`xK^! s&_[QaנZ6/HO*Lu< "jI,z,GI`T gP_G b RA/^G >Axd`1AȳH0zAK4 ap7 1AᤁIl@> YZd24Aq a*Ca`T5a$ $U kKZ1@ AC!kX OF(!A +U %TB8 fJ>8Aa#Fnd"""AQM A DD 2Oˢ| ,՝D16*gdO!HPd%9aa2dϱCJ%a ae+al6Rmf9En&l3-6l8l0δqbA6cT34ppKernŠL=F=ɸE""<ƃni +PgV0w +-EպPEӽCrVrL}wN-Qh*ax V7!W^!VӏTYA 9U7vP!:ۯ f_Yt>?f3XݎG4Wd UI5{zh&Tͬ7~NkҦɉ~Sb_&^!_C8f%)jv}%DGZ"?\Y& !0~&}stX%}+~Ry#>:!N~4%c묣3],95*3૗#Sj(~4Cv5WeUӑGtJWHRյ5]6RҥIo]OCDe+9]/nC^.!)R鲕-<5Bb? #Yj*zI{p@$ifrT G8^fA98s48K}]"$_$o죜sP'3GT|^Q./4im$WARk'Dt*? WHKY})1o?:VQp%oGH7@PZ_zL0ڤ~S=pkoO*oM`AS dHY)ZT"2BnFr0ƿ:AB-G(AiT3kzK`-/{G&}6g n-/{F-/.%8DAURI"M8+VaF+]J2ё$:_^_CgvX`]΅AQnLHL龑GeesﴧBtkt/ iTIjXE:F3Ǩl4H/ʰoKҝIkKo Tq: ֖߿QƖ>L8kpK Ϋ_-֖߿QƖ:\z)/*0:f`ޗ%?gCʨ,Ka9 "[am[$Kim +k ^im*G{KlaCeTegQxTk?a##x +mԨJD_l?O.XނI-(T@xE_=IG I!iwK/OApDMjZ[萿VAX%ߺAݰsR DA;^޿^ZAoQlۏm?>/Vn7:1 8 ^H mmΌo$zO|<%:1 I*a:1pm :||PÉ:nKI (aĩmuz _@B_~-u[Il\$ h$pD?2@Zd L66Lq:0i h$xD>O/qp k %1 @Aq S O_4N  ,'!AV") mh&R' l,5 U :!aWH!Ht ͼAP #,h ]^aDDDDDFE!ɵH"n5bq6Guf\21^g +ge(lmJ&;SR2zJ-pB^L#RlgL3jNSq+0N a"hʘɄCۢ_3P$hgR4ʃ8l`ك Æݑzjݳ +vgvJpIp4;' XH-0wa +B[m3a@A0zv,65dl @h$'&*m(Ol2ۅZ50U<0mAaTG !`{ ʙKL/I%/_^tJ]k$(TBG]i.Hu2EUˆwҥl;$o֗tZU"5>Sn5oMc )-τ1Xpzh/=Ճ?*UHA~{*I?)1.m*>EZI Ľ:.)WUXմI8*U_bj+MPi7D$Ҏ^H -$k@(!NT$/&JS#t!L-/p.8K!2<[+S^O4YX/eZ=is|[hͭ$t$Ih>z]-AʬjʰjTEcDIWKV%L{^FIWK_4DB;CqDZiN>$IVr_^Iy)r\ha i6H$Vr__w%3D" uӞgHY86$KYY8)a%D4KIK_ ~`u I"B?H0&4^dJtE+F"M/$/:A{erauՔw1t?xH%='ߥ?HՔwe/ 5Z >O!?_%j:5VWt Kz[kztd A^ɝe@m#Js+WϱDk*ntsG6ި ܞtW. _(HY/ +J/J/!d["?{Ugd ]}_ ^)=z_~in䖔=) A^=//m-/$ձXޗK4:! 8oױK $^iX#_]z P6A0B i~&^t/KO{]W[}tᤗ@PN8D{gӄv7 MH/K.I; /]{}sM,#6o_lie>ic Ko4/NW}A7EFGU?]$AT:z_Buy*P">l2]y 7+]4Y~']--">l2ׄ_Ɩ9˯yW' /҈|wO(SPf)l Kx:/3l"/_Aq!xNz]X/w~3j^;H/戌QΟ^Z[ mm/=~x9}OX4]4@/?I3 ogF0A.KobGPJt'/KKoK~9ߤ(aC[@@X㲔?y (mƗ]\& {"?_6}&/0}_Im~ ~ t+'9Wm-"ᰏ |.m(-/H"I8Ka/8ohd?pm-&T΀θg| K ML4g:[z_L2i/oeG! +8 %A1AE!KHR + :"|rO~좸灓0UT, Ac D4/ y 4Ȥ/iƩҾJ`DG!@([Ib,*@'яBB#Ј"-dirȁd<@ѩ,l3aC +&r¥2;)Y[[ L3Kq$al0alHjlÆʭÆ@ؐȢ:eWlZ+:fѭ  Ca4hÆ@G #; }TϨ: RQtA wLalXl0BPԙ) TAHl6U%]CN$iOZ@ 20Vjv}}j@8( [_-`Diz`S3Lsa>oq sQQe0#L=Zn)$zUJߒtQ:)U* <oE,uZaDX?_YG^8y~ʨo=*0kc|ꨫI7^ /cPaDbWꗲhXTMT\ҍP~mj]~#QzT _Ho5)D5CeԔHZO2]uLyu*4t$ߪ/GHmiC_OMjpV#iNA5tͯ~4N[".!h>hZ}i/_A'_STEy+St8WKմ(zV?x@"3iέ}ߚ)Ч*mIteF sOZ8tW)Yi}6_Pz(?KKI,JOd4F\l>/Km+_K#?@/׶_6HJqd(Cֿ^j χ:ֿKI_30_8NX`>za _@i*E@莍~B`@i}ѯԄ$`>]/WGFPli2xA4sK:IPgDεRKZ0J-+Wc"?ZQxA0KB)E /ħ5H&<‚#_/-L!H$/9_uahق}RP׷z^q%0ׯ KaXAi#/K5Eп]%_DNH K :/#xK%ͭ/ ԿYKH&t?Fq/jjSzTAK 4 8[ +0/Ϥ%4"?W L$I}&[<AaL4?/evqKۦ@h4 &~kz].i,%_"0 ,6_?6? R0 }0dtO1hꏣ"O#`AC[ /_KmS/[3Bn K_.Q }ex20ۮš, +8/m6oeNT$!F߿20҈GpKz"ʝ2' M)P_恗:/ǥ[ @mrX/8jpbj")mkAqI!D/N>y+A_a_A})t$O_vתYҟ^" X 3:_J-/ ~}{_UL{NQGkyV5 Iь_~{?x}~GJ^N$5muK/ե[椔Z+_gT#0c0í* 1_MjIJd[aku}{=m}(!&wh +kJI/,$lsNk-%~߃_izIIPFmOU+/Oe!ZIGOhKj:(;`m4zMF/ /צ߰L~YPiq~Mmq&*t+_װ4?maΦ/IK_M&a[i`'5%'ҬA?kM>4WԂV0%?L?[h,"Al8K錄M7ߠEäAƗDh,7:*1HKHzJ8II04A_Jv3q[jdaۇ #5dptdI f 2i .8d B!i82 m`Ȕp 6K>h6m  ÄϨ8UuԢ醃مL0M (T=E ArLՐja:4;@ 2t୐qT Ldh=}}EUx%}q~R$*f&_9nDac$>oq sQQTQad0zzcU$W%ᆝd0ۂ/8a|$ߡvUGߩ&̓J_ Ϋ:y#jʨޚ 6 +con頟Ol 4^:N ĽVEZnaFbWKiP~&םA[X[iP^_D.PbUG]u!)O_(XZ_k !0 I&PkZ:@k_֗eZtfh4?TukS} i]Ku`^4RJBEk. +S/% ղO8ejbޝgP*z)/ +}Bz"%fFus"qx M RRm/%FiW_Tf/ }%sRNyh?՝8͇zMhiW3"_U_X5KW򎡩4~J3Pg0|9ֵZM'TSJID_ggoey@iKq8 Mұm gJ@@*xJ:5pUC>]/WeoS=t+WΣ +8.t6ش &VAD-qXmS Q~>(H_G@J|䅐qJ/Ί浯_8B5ؠ) I_z^B%J}B[u5ֿgTHQ8ApD|AcG,_AE݄S# R h_wa"%$MDB.ӯDK_%n'B\3_-U6M_$%B$+3B(@|O>uQA_ :uu_ G<Ok$Aà-jrIMbO 0UFjjouCIa*|%0pm\YAJt ~W2J%VP}c %ϣ> 3 8ASE("?O_A+]š,l㯗 ( ZBT![[SIN#BBD_T_߅UE;@Ko/uK}+t_N],B*Aqio=j$*K5XڄfB_\] KIE?XB^ΟO\g@UށBg [sTE}iLB c#Go۟^߫iQ =/נ]{ 8)ь^Mו +P0mG/3@Aߤ5k_~f/3?KԒ+i|P ZKԒI/L0J tŠ~k;JҏPBLׄ_ҤK.PK I%%@Y.}9ģ +6fX*Dx_⿫iep8O'(;Iq~_IǤq-?eiRah'SL^MMmq&*tn^ Vi_fW +oKaW_Ѡ?0O`rookA?U~Io/K&v ,0܌ KտJΤAl7$~/"Al7:MxA L|';/A$Xl?-L?K*D"_ERo Âci$?Bh$Q%Nւ=%`$$ nA:~A􎟤:N~O(A7` 0MA|#RP~`1H1#!i- +BO;v!PL!*"C`1A0DDDPB""""""""1n*c"dB(DY04BEQph qNqMC eaZlsa%}R5|,>u8 :o8Y<:"G(_UjzuEqfjz΅>OCDo_Kcz_@*P /a =S>+\Da/_kn'#>_bOޘA |A:ҜF6*|Iˠ_XBKDS +lc :aNI *0>?A 3I)*_R &iOfU'04ð. URP 4|yA-Ia^ |4Dpca؆) !j#L!T Q7`AL5D)\3DNUQו0; Tw~aL֑I\3d5Zl(l8l +pd 6DkAVIr2;LFݕi8D]a`kBF!1laV֘t*ã Pmy6ŕue-+<;#"*kt Cmi8TSF[000d*p/MJ +둌dk|$dA O2ؠq m.D^-m!:l# Aj( S+V8#Ol sJ<,~{iVlQe; a?иP#F9! 0OH6_׶vN΃4`QZbjUȐg TIfC ?6aIү~/AuŹħUTPV%ᆂOH_]7]sY(Jy$tRäx&BS#a镰^EsINW*Ukh_SEVAY'iK ?HK@AĽ~qd*+yi,%HNPoX񥷔K6UsP%Si*pUG/ Ч&~cfFD9zQ~} +E!}iWNRN+'ipvQk6,9(뜅kA/0/*"? X5/ZS_O=u$F"}wuH"Y ?rq?>Ki'UOȢQ&׵ޓO4Aez~j~ j"`)$eU_][E.^?gץߥ(Ü[#mP/m _#k~?_W^ʛ]zEB/a.Iho|Kt_m/oOϪ޹/iD ?qiQ_K5!봾<)W"t|,G^j.ҜRA>iB#߄=Eo:[0yxJvkPd>z 6XA6Ϥ0ߥ>0VL+JKG/]_a--Gm&Ȁx!껫/?Z]{}b&_n(/.Vɡ:#ouP"?t?Wuu G@P_붫 ]}omt_e--uua m^____Լ"?]}_a}}%V8F{_[}m/"=m_\9nmvI 0ȚGgWK]Wz]wNN~>B]$#PҾhd-zڷ졇۪+I>׵aK/iZS8z_N>E;gBvo("khr dMk֗ 鴽/.xZm$Dtt# KjA 9}`I*I7^HR0KG=Ac &&QPoHjfi-s MD#Ctc_AZt!6D ÿpH-VM2im?+B?K- #}04 ҷ`gXa}~66cJDvV4%A KkE z[ m $ׄAbiMZXAI0L:_!IW"nGIZMtvdE*v:H KA6~/H0ItW0 ֓ &>IaZ%B>B VIHO(I5H֒R.6(+XAⲓ: *0qBHyrCHH "(A1An@! T!8A 0 g U`&A!A:h BM4&A0`cH.#DA1t ' BH5 -`g C^AgACiꙅC`lՄ5*& 0l8P6ùn6C% VmD;@RV1=VÌNQ ;mi8FI `%(TՔOË_ 8@O3_ t$je `mfm.ͯHD/YoX<47皴_szUO34J6DŽFG)EsZ^$}Y\t~,jDi{[^+HGDisj:5_N,ʨ`ӏ?H +i!cl 3xv$jߚ[2T:_A.f +Lek,"4_)EG88ꪊI$ Ȗg^>?Q꽕>m47򄧒GE!7D*IGƺB`'(M:AH$_KHjvmi?WE^yK&qN~4#0؅|4K4Y޺ƒ_l0<2*E|eD=1-?Po"  H%ITj^.ҵjS4Ra8KЧ/#BPu/ڪᲆ>.!)V(I&Yw$Z3S.!B@jF//| G4?$ -9y~o].m.,8l:iWg:I<_H_NH0Ճ\L$A%Պ gNqQI#5. $a*AܺOϧ#KJ?4xaZ귪WJ|>$n_G]UG Ђ?Iqa47c_+C_xmtkZE)k&}tazN|yAֹiKV3 B,%/n DFw>O#bfQ|4KKnM]/Z^aW81a֖z_?VQJ/=< yΨx/:KzK&ti'I%W*o:_?P=?]fK=}M*?>$"mRxA?kϧ#&şHo: כ~zK AN8D{%^L]W(z_y?\K I<">}]c_ovo ?BDWָ@p/KIxA& ,Ry/il?Gj VZ +]xV&վ 鴼r@$wIx@[ _M#-- gK=I-/x_!ktJ6/q9$oƷ6JOB$j5pm~b#:[sCJSU΋9΋~I!j_ւFBKxs#Lnp%^׋+DKn^P5KoaK gXA~{/-k[__ D{m?a_XA~H. .X8j+~>BR5Cމuϭ?KKKm[|Kl"<-~ ťk0,FE;JҜ60'I/aAVBjt ZI-+jZ>z GAi캞) Kl $ K! i$7K/AiX/KK$KޗKRL?KKkKiqI +1 0KTmI *$/qA\%9BEN4ja?A k~?=#4 rJaE+IB'aH^}B0/dP{Q cMq jRQ; Ȋ RAN@j W0tH4k&DH9 X 0 :&쥺A B'X(& zd զ+A B&YkPA h1AH jhG_BA ( p@2A=0XJ[DJr) Bg,H5U &!AU5X" P #!DjDƨB4-B"""(e""""""""#`|MTԷA)[ < +ӹSVmXt0 4krӗ A@sL[SZL8ˌgPh_#Ȍ}{ 8!# 8ac$8mE=I5P\6V)P/&0:齶 amtΫ[Wjkk^~ ]~{^k$S_ jo/ws>TO?[SFH/6 +_^PךHSä8AB5xʨZ'uDGE_EX}=GX#0؅kjH,"9UE"9U_/KнjKK/_5s+S,Gp L(EPU) +y_ZjᲪ8KMj#@LFzM`6PëQl:EZ6d +}B#`T^ .(!8Ӕ><+)u=Tt"^VaɅC*:U9)~]z]'u7C+9EK}&;(]K_o?+eSO{Dt5w_/6yxTI}UgqUo +>-?Wς6~?S;X?53B&a3B&z[E^Vql/B=iԖE٩-I~R\?0˯_o D<]v^8g$+CӭXA:gEvX^DKAOC]j)z#@DK_﷥m/ =h%kKW[ G_tx D*ϤKoB5ez0 k ,6T!Քh5x{y0oa%׵A:{}xA~IKتYAoĺ_a䟞^?/g_{/j6"~/qUwuB#mKmnGyA0":qtKU_֡ւ%ޚ[a/vTAe@ t}G ΋/^Kn^:_ ߌ<] /%lx-kUD{mm~_i~hmmtJ.3@~z]7_z]A^#Kh$mվ?)]0_zk#CӠ.._u[]҂/NҴ?մW:&k>?im }%az\2;kV{ (XkI7נYմȞHŤ_ sXjj o5ޗ;LV5L42M_Mҷl+,v `+ ?Gw]-I}zX$ &0Ҭ']/A7i."Mz H"itm& t AC$߿?[_XA^t - 4 0}%#A?cL? ~HO1h$X - &M^( "I|FvÂ"&l/aRǝ)^S.IH` ikA B0 W8A0t;B 0& q'6u}yA>A42" V&T&4a-'PĿAҪ  `(/[m: > + t  aPv0 ~`A^a,k8k1a G'֐A1tЂ,`=0Ah6 kČ 4 a0#*AkkKT,&0X(! )DjZZ PCPhR `"(u0E""1s4[iID^UQוFd YSDvVY؈;-;aryHEaøfkM5 0l0!EZ"jQ3 gM2tjE:*QW"Xap@R) #&h3.FPp\(DiϨ65aaϨ8m†A ػ'a "A2U F>Al7s "~zeϠPV3Y/CtkiŚR&6|_F[1p0d*yaa۞a_ORejbE8*:E&B?_szU7LI}=^?׶i&_aL/_mi%Y6 }moV&wU%_o_L2_sNWN/++H_|f ?)Jcci "TH?5-"Ui:en|mIDNHX~?W6!gZUinoI1ҏ_#Qaa)lWeW- 5s+S,%QAn,mPTv( +6Ğxb- !3D d1342 ( R .(! /)*Ҟ;P̩WeO>6Kob~ʬr_aV K+>"*)?9׏]'m7CiAjIl|-{["KRȒTZ , ~j][E'~SzK9z&VΫ뺿ϣE^~Ws!`ִl5r#u(OI}_9{*nu _=/ep-hiW̐Al0U_i{ߥ}V_K5!.Y?ZsK ?ȝ_|=z_Nk*]ml)DIio4 *HMkAs. ++_Y4zaP?? jIOşI+&SvCZ۞aAސ~Nyj_ K_ƶȀx!rjpVokAV.)*z{ ][߯~~oK80VKmb?쭺Z]|q O=SyKoEU@KXh_]Av~}3Z׺]|-|$f#ZKI_Ww(S:/M__Լ"?mBeTۯp+[u|F]Bobo ״} s祺K' Z GUYUw/47F"{Ks?]e -oC5_(aC[qv m~:__;u]5)V+G{+XC ]C ش_\"!{t|Z\2;Z%\*d_zb-NjL;4A-dvkƿۤNqYմ_I{sAu;EpWACF,lX 72zIH׉_e HkA8&QPoHjfi-I!:b ̡xA&fKH7 Km!6D ÿpH-Mz[ +`+ P~OGwA^'I7l464ck4X`7MbA`: U-66cJDv%jނ_A!7[H7D2_ 7 EI"Amb$h,h&oKiq&/aA$ڏ /A0/ R^m& -maI野0EPM^( aM(K| |B_ a/ m$:+xAi14H^ d@jM>$J@B`piƓ & ]&2(2|VR`Ǡ TNADPbj58@a<1C„ 4;Y2Ba8b1S>Z@-@DhN1H&ih٪xk TLc`@2 / 6o_@h >} b OL&A0 0IT,/A jL&+ x'axA."A0RAe5#CH!4""T6X.CA"dB"4"""""4""""1ilZ*W$*帾JQUƼfF&@C*ԊM2UHWfQRQ9A%ʢaei029;0p03 Za$"_LX6 )il6+80mV$* 4 : 6B#Ha$>gACh;*ҰTϨ6zA@P0l7mP?Mh+]o"~zeϠUޜ:@*Vu: a&g6戌_`elOËk' t$je0GeSd5-57#jUo4{\4T[E:@=$$tP GK!B@jI_G_VM~DkUsQ\RF_G&_Ei?&}~I 'mȘ6]ʞ}w.I6u ?8ND{*?썢HFuEp> D 9!/ᇪ4/'_ ҿKO0S?U- :/KPPK?) AGE~iEDI+q(A?Fa7VZ/ yH V_jl2$洒PaJ_0v+e?1~: }-,`g &/Af!8kcIV}goTZXaWGtIDxRDB ve!_K ?G]bMH6{7ia) *ЎZEpQ_5HWKaFRϤ{_il4 +şN_6lNV0oyEL*4knzL캋%1#t(=Wu\c:~U|^D^:wKa K6xH&PiwA -,Ng`KoY65NA ~BDce:4_~ ?gֻ\ eAU"MQl4Q6A%l[iC?N6(h]a_eTe(j8m,tKKm#(@˝_$KuKn[!/Az[^, -"zƾD ?ֲ_%钕$]qm/4km/-k[_-Qߤ[[z_Iv@IwNZz]AT$ZKWiڷ_Kq3VJ;u]_o #O\"iN:[_P8Kv:K #m/Ku_hIm2;s_o^"^]kze[KhskH/8մ$X Wma?AkNeK[_ I -imV1I0_8;LV5[yc_ tUK71iKol+Ɩ_ _Z_Pza,0iimJƃIzXz?zz_ށ[iR[Ma#-/AiX/|/(#;_Ih,iBXoM &MbL4?Az>HQq_A7-%Al&M`n?~8 /!:+@> $ï8A7nDK =z ` &uZKOLGO8 Dy-y+^N%͆KB2$D0c _&A6AեGIސADPNA!Sb@ X E<1M`J\B  A  4[A1X> d"p$$!5֖!`BAjp᠂` X&pɉ2r& %PǦpA Bh2 JаC ,XMA A8᠂ a!1@DRI0 +aPa5Ў"PB¡F0F"!DDE D""(!)DDDhb""?*6 Ks;DV(g`YX;wU #R;v>DG(Ue 6  ȒÆJT6L8w ԍjF"a21u$L(a0aV֘ptlZp4HL[>[`2^l8uua8ݵ=78$D;@(o7P_&#~\3vq Y~Q*ޕ%I~^W[yzDM C};/_iR_(3px]Xd릍_uQnq)U/؇i?򄧒GE =e H5Ju3|<:%ZUinoI3bmtGb[u?WBe 7:1@UB{=kyЧ,9NѪC0UMj9X^DUsP%S~i^I젆G4?5( RLG_>k^FGIB?_A_AjM7C*Pg^}>#ZPD~/i?۴#a +9/s/0 5UD~lf4H4 7Itۮ"W-/K_X8KBm#u__su8"4j]cׄKoo:Z >e i4R&ϥ/$xA{5}/oHktAZZ~[s6_z}xAci~-/oiEN~A\|zIzGu~3u>:D|_kV6vT? o9㍿|$f#ZKI ]߯gEwK_zU?_uԼ"?]~^U~ H1ii7ii _eEK%} ]!KAVKۅsK־Mp??_z[j??>մ]kZ+Jsx]TG޵EU~A/.iz_l/ h'J1/uuH/wYմ$j(Uc A/ߤ9 &K&AI+ ߎ#zI/L V Ctc_ޓR@TXC{ +T0K`_-oAX N h K X-eR& 6oF_f- h-]&IBä0L:_萒}.aa# WK" @ 0M_ZIisYc '$ I5H։\ t]H$t' Pj0PLi`k t5d id@?+ʴv ~D +aPt  Zbi iW A!+^+ h Me`L,% &UB@!5Bj5֐B#CH!FB8BB# BDQMDGcDk*|r"VK/].KtDKG +endstream +endobj +37 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕjr\Cl{ +endstream +endobj +38 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +39 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 17094/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 tBDApJG#k +>GzH6l$\6S8$J-6~ (Ԙ} @t \ȤFKkCD׋9hW%U[ |E__8%5?vM.Cׯ?o6Yֿ_?׿xA/$Zli?PuXBni%ǥhnKM8 xbPح&+mJaiqZW-KAz3 /Jkҽ{VY=~!*I:'_–/)辰%^a$~u +Tta!G/-*_ᦄGH0RZOOT#װvC_$ zi t?&~Z}m* 0  aH $qHBM@!o@ f6ͳl6ͳl6ͳl6ͳl6ͳl6 ˳"JC9r.Eȹ"\r.Eȹ"\r.Eȹ"\{,7$RX+B#] ptGWPfE! ]juPqqʽ!7, ;0kط۩!o,">L"8'Љa[p#\lr9F(H>0@w#cE߷GD#Xn_ uFDt]"bEՎ3n83m3lAs1?90;<ꏣ+˲˂P]GK IQ}Gw]( D5_{LZGҡW ɗ{opߞG)хڮ^6z\=W3L3A"ǽGEq߮4(U Bj!B1)zZME,$}Tqpޅz,xr1c[H![* բ`vj.-KCxbXvŦRug|GTIQqDDEGc۫esD":!>U0ݵϢB" )fM@"b#a0h46";G􂋂 CP ,jx uG}G}G}G}G}G\"C"mh4 Ah4 Ah4 5Pd2B6֋4]#pN 8'pN 1pN 8'DDDDDDDX!K$}q__ߖZ>CHG$GJ4Ee)! /chQ! +^pɏ n!"xTCCzTo- [Sߣj+V1|[,r }E\04CCF<Ɠ&;8$c bCEa!ŋ߄yZaI"]OOՂ)t}//&"4#S>$׳Џq>4e:h&RY}G}G}G}G}G}G}G}G}G}G}G}I}G}G}G}G}G}G}G}G}G}G}G}\Z{4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG DDCW9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9c +9 o@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@60U|}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Xd$|6 B""""""""""""""""""""""""""""""""""""""""""""""""8DGЍ/׽/׽/׽/h!{륥r?ir>#iDGE-KDDDDDlx}.[GE!D8sT~0c 1lEt=m'KH5Nf_ DtajGx"}G#RRRԗA*KYv'Tpm]UւGR9]Q(}GYeG/o\ eqϯ(xmU#*ZMu2,%K HNPs#i,Ȳ貐Dxp186ͱDr1`r1"쮔ZЈ$ܼBe Du!`Rc E9CϣD#}^P9cC"x}qeȹ.ےa h M.Dm`"9G![",}DX&3I>X"萏ꏣ:>fqeG!4 j@X}!f3RCBG$.r7& VL%YvXv]C+EHGfҸK Ή"nH3pnCGq#oGHB)qT~G#8 Zw[kPXj +M"(i[OQ"y\ .#Ϯn}Y gYIs0a0GÑ>G}Q}G}D}GTF0`#A|LzE>8;&8DDDDDDDDD?aDDHaawҠTտТl<` zYg}* +R܄z6͙r#aEByyZQc4hQY,69,6#>#>G}G#٘3`4vG0GdqG3:G1"GK(t#1G}Gih3l00B"- N"""> aP6I +ժ"""""""""""""""A`rxDDiux b ' +};(y$yIab9)qCC 5#r +#rPN 8'}PHCBDsE;  ÉF9cF9cF9cF9ph20 !Dv9r9#Gu vtF9c(wԎŜAH>ڣiR8'o#>>>ꏢG}QለƬqhDn|h0AAb""""""""""""?tлM t{2 ^6Ք#+*8UPG3gyT#qB1)'Ub׶bEXኺ.I>uH}T yxW#k Ԋ9 F9#> +Ghq:"<]Ŷ8F+򬓓V~;qdV:>P]B7[q!;bbBnpqBꈮ(o幪>⑎G0dH%2\" ؅S#'I IP &. ?x%gDC#$Ɏf<#q(6(RW&>>>>>>>>>>>ꏣ>>>>>>>>>>>>"""""""""""""""""""""""""""""""""""""""""""""""">_H#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#/1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1DDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDFt}G}G}G}G}G}G}G}G}G}G}G}GF}G}G}G}G}G}G}G}G}G}G}G}GcѵF>>"">6L)DGlmr$C:@|DQgDx#}+uVB#>4"=_-2XPb1kj/=vKOEBl>Bb!{u-:a#0|!e1ȣȍ*C)1!k%c +bҴ h눋p+9iLvuH(Uw KLͤLy* XJ,KqZe=%jP8H菮6(qB7*.l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳmmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm/i RpЈhDDDDDDDDDDDDDDDDDDDDDDDDCGIؑG0Jr1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1lS"""""""""""""""""""""""""""""""""""""""""""""""" 4}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}rr1\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|1вrO hDDF#hB7FioXK#T}:UDDDlWFD}:B#J:# ID}GUE-X9b;6a!1AfeTB[ )m];iTrNI {G @UӜTq a=YG&9c6FL Ph0OAG08X""-Zo"4D7E`-/QW[@\H'y6tGғ19\ ǟYN!YD#UADD01 +>8OT.J#AwWk@* +f3s0f qk9FAڲ !a^SFmM">0h=GqAB>"1B#Nʠ4Rtv۹ +%ʜ6s#%lduVlr80<ԑ:&]&H:ꎍ@|6.9رuG>B9!%fQ h 1DjGYHHG!G>Gx0a /e3#ԯ/!]+VDDDDDDDDD 0Gjx␯N)q<\pl6:]ީy!߶UtMf\wn#48T,rPHrQ.-/j%T}GTuGr6f !`rP^ GT}WXKv ħ0[!q%4$hDEb6 G* \r1$9 $F>J a֛DDRx8mu;jSApN 8'.˲/ )ܸ.{'d%Nqd>4 hl6`V Јϣ>ꏢGT}GTuGUB$CE69acb\qhv|DDDDDDDDDDDDGqm""}qlh64>uޕ|?2@GE";3@MYPAũsjA|beQ"*"1cQ$ q +|{ %mkZH(3E[6n}^Bʰ#gDCc D~aL.>0ha@O:/7qo}B#pr(o Ib#Adr1Al0Ps䉏ď1PhDm "Ŏ,F8LlG|X:ƃ|LG-9'$$ #Ɵ"G a4 <By4#t}Ka. ' њDc!YЈ.\h8Ɓ&Є1q/Qd n+MZa&AƈQ/́H5yPDxԐ":.HvmH莃 :c>#AѢ<#Q|P7K]2$3lͳl҅Sa9r9-DCYJ#x"8Ɏ!>a (H(8SM|:eHkEA@ɨA1 c)9cF=iA0Dρaa`RLցH56 `UDDDCB>Z؈,}D}G}}DuG}WDDDqDDG5K}K}K}K}K}K}K 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 6f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0=DDDDDDDDDDDDDDDDDDDDDDDGev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]dcev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]xB"""""""""""""""""""""""!6k66okL)GJ!񮍢 +G }Q !YEB'| DcɎ$c_B,V~z6&G|PB[ /0O %6WEJZ|Ɠ&961bF;<"FPDƸaݒ;8^dqnj1C7pa8|moMH-0>Evc#[VFbšz^&,\,E$;": Rj K)D՘FiS!6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl68j a"!!U 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8`?J1bF8ĂD3,h2jW)CDXA#Di~~~~A 3)}]-/E{hA*]r"%!H#D)DmUT}/DNDOb#Z#HꏣJbDL:gTMS4>׊bN$_:n#dqOp!\^N'=Da]21A9h'nP~4})Ω*%ʎQDD4 ͬl'<(*J\vˡprr4?[({n6I Pne᜖ne%+>r9E?  a:-0EZ䤋-Hئt`DDFC!} =$}BDhs ("dtymzT䂃W +P HAa4 ;D3GOY{ͣqf(~CGQ:,H287'6G.\Z\OGXj D[b">cBC >ERJ,.9"v^IGqB" %q j,@VA sL,~y D)}i=5^#f@ {xĢ(B$c_B!! V"q JLo K~XX)dp/z~6քC$,ApH{'ܔrqã +:*&l09(OGͯ6y!1p $,qĎG@l:UB"Cd쩔##{ғrqDAFqDcXRli"8gDա$8)Φ">PB$PF#GB#>ꏣꏣ:ꏣ>ꎑ٘0H(rP^xxC({ǭV10AhGi/Бu_{BQnU2x4؈K8'DrC!8V`rz6ͳf\r?,p0J#ꏣ?:/6)cLr7G}G}GGgr90f !ӑF9P9 J ٰiϢ4")؞M1؃#bj3,Ah4 A00.28@ !hDDDDD2v0DDDDXM*ұa*;C x6AlԤV:t +Al;HġZy>AܘӚה/ΌA9$9<F9`rNJ 8'a >8 B#pNpN Z1(2.˲.˲A˳a g hDDDGi;]ƈX"qV!k$?P\?y7ǣ3]VGE?6J!>>>>B!>>E_I[D|2AWH~b"""""""""""#"$u=K"$P-njw6uU%[z$(F##*XHwFJHx qbJ +XG%(nΦ'Ǐ[~#}kK}tCN}VtNyY:SK6>ΉV!!R|AzեKD4!E}ކ: +T4G#uP身q"B 6Gם:768)vaqd\ ھ񨈽['UG +c0v` Q HuLQŞIYFZ,}]lPAZX IU.U']@)r Ϫ6Hr #H6S͇#:dw!^ya⿌rclGw)=ă6 !!C !8F*jn1;| )G(B:e" ""8{-BV}GT}J|DDq5K}K}K}K}K}K}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}GC""""""""""""""""""""""""""""""""""""""""""""""""#{>>>>>>>>>>>>>>>>>>>>>>>>>B""""""""""""""""""""""""""""""""""""""""""""""""?#ٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٷT"""""""""""""""""""""""""""""""""""""""""""""""""#fpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%e8'pN 8'pN 8'pN 8'pN 8'pN 8'pNDDDDDDDDDDDDDDDDDDDDDDDDFYN>>>>>>>>>>>>>>>>>>>>>>>>""""""""""""""""""""""""66ok66GGUDDyi!]KMPDehDg"|x1VpKXq:FYd"B"?n8/_FGIߍ~G⁈?zz6!F#lC}y(^Zj? +Fi Ү;GbYiri1p A#b"۠w_$9 +V##b1xhA mO!cYC6ͳaE4&Q@"wE)W`ۆv /Lꡂ :c1w rțroɐqK2,Yff 3`0f 3`0f 3`0f 3`0f 3`0f 3`0`3`0f 3`0f 3`0f 3`0f 3`0f 3`0f ,DDDDDDDDDDDDDDDDDDDDDDDDhDDDDDDDDDDDDDDDDDDDDDDDEXX-˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲w/׽/h!{hӥZ-%_}߿eJʖ/؊ _A{,j/H}TZ=c+HrFk8e4iCK,@Yꏣ!H%;}Q#>R}IqDDlDP6TНX$72r;hGC6jh)#=g#Ie9>'XC ab$R'b#!vDDkwHBES:F5~Zd]TqG!`y.Ph>UFp",rq#n!><.#466mB)bȰN/LlFc azlF"DXB$q: x*l6'Mt fs*G2Dˌ +#"A9!UG3: "::T2Sʎ+,G*>hb""njTTUЋ-Y!2ŋyE|HPT.CE 4-ɐM~EٶmfU*0 5٩r$pN 8$$FA^W!`D4#-}Q}uG !!XG!!bG~*Ga +Ƙ]OWk xo*-xi +01!]ITlM}^{> #>s<NP>甇t!pN͛!t}Gdhr ""#4f>h;AA:lchE)1Шh0DD{-_~""B"1"-&Rmf\1]U'ex_-lˁ.g}A<@r INtR9cVA^y"H8>GGT}GD":# @Љ/ #1cG ?""""""'֙mB""A\rVnDvVLk`ȑ(Va#*gٗ2s >[I*mR6ͳf`.28 3lzr9YG"}gD4}&yPꏣ>dq^tJGD"hDD\Dr1k@r1 r1<vl? :>0"!"b=FfDDDDDGfwyZÍFT#bGC ܓ4:TJfmfafYv]ev]exl7yMW16#>wgӞP$># + Ea8&WP>92cF: Ah4hG>> l61A1DJǑ##7T7X J=/b#ňB pAX>=BLx"YuDɎaX b Am,cc Q=?ڰFn#j6hz!#r1yKMM$m.N15҂);:##'abP=0aqz6>""tq]"*I~?zuo%u{K":lCw՜_GUGRc""x_"č[0 +**82r^֞?Dt.#z>EEvH _4G}~GGU80@-N}Hf8>>"#8E1*#']1#DrNI8KTWߺXRR"!gFHR<6M!gE:h5qG0 cB#YA~SݤGfٷ~f0dq~*BFS}XGmG">ţDC#:@rG}qĄB}X!dq*Lj)cF"#Ċ䜓rC.4ZB"N wI x.˿Dni52 a<dcU(r1( + fRxl6#i4˳ak1HXqB$C(0 P'zLW^=4 0FHni&4tf 3͢G9!Gj' 09cΩyGbЈDG#:ajD8B1DG"DDg""?{_{_{_{_{_{_8>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGwmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm~"""""""""""""""""""""""""""""""""""""""""""""""""*pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'"""""""""""""""""""""""""""""""""""""""""""""""""?\".C 5-zIм_9 :k_KNW#@a&|0 ` /@0ON<#ƈURn[*M`oץ \o￿KJm- ( +endstream +endobj +40 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕjr\C| +endstream +endobj +41 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +42 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 24193/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?i$TAiYC^{(`֕7"=HVl um-Wk׷7/`UIkp_'Mp6BzZ?/ׅ_+]/K/N YHhҴqi7K_֖B_mqKK֒AV___㥷 H0KWkI+I +^Wי-}jP{ZI^Ϋo,$֞:/nzD"[]a&M~z^]BC%?/]$ax/%Kfn%io%KJi/H0RZOOT#I$װvC] ; %-LiA$ÆJ4 ,00@@? $qHBM@!o@ Ef`0f 3`0f 3`0f #hDDDDDDDDDDEe4 ijRmfٶmfٶmfٶmfٶmfٶl4B! ЈW1AK,ϩf+\ՇI.4UF-!Är3H#>Cpn+&.?I4r%I>B>4T#B"0oɺMm0#l*>c +bt[a*nC0};ÈE +X2nJ q"-b6Kw>0LP-H'GFG r1op[}]9B#Qؒ|oeoUYcϣ΍5Q b-Wb]{ͭ Ny{{#-7_ތfސB$ѴFZcҌ{p]$9;'Ψ>CB#J}X)鶮R\#k 8cYuG WRpW;Ď<":.E1VWp/s6=UïVz8T_O W^Jl;$߭DJ8cءZM"]j.CAMKWLBHF#Hx! Zkdx"":Lp\[aiW)m5V6FB'3Y}(s툲,DCձomi[#c6[Xal IGձHF05+ʒ^Q )؈"h0Aaϣ! DȔ8 v]ev]ev]r.˲.˲.YXHraDC.˲.˲.˲.˲.˲.˲!"""""#nYhl":B} !K%."'T}ye:GE{pk 6Ͳ <$8f" hq6E'%Gq qc\@Xcߎ b* ,.˵/F:_,y F,AG}_,y6 +D#"4A."F}9|Dx"3YAlf#i3`+8G?L8 aG;""'ψU~d$^ (e|:#8":$:82IGaYY#!'m1;cb8ЈBA!ݨz 2>m~Y&KS,t6>h"0:>>`܎29\xTQC!xIQkDDDjzq*>'#ꏣ::3(b,c(ud"=c DDDDPfX0zB"iRs=g!`uC.ͣ#GY! Dt]G#"!F80EFg$<Qz6e\aYB#c(C}hW2$BDl""#<x0N׋f p͇pktE#ٗ>MѹtuV~@xl6fa˫< GT}}G0Dp<0\Ǒ|2p$lDD1#01`rNa ÇJ!n7^DDDDDTA(q9;-- sGGՑ>># r #i DiQ@|t +"!t##$8 J'fp!waYE}D/j*+V!AH&䍂Dy6 +YAԎϠ[Ҡ|I{,pD ZqK ۏfYA!V$ꇋҨ~NoD+8?ͤP9YśH=6OByT!,q#AHlx#{#GCR +;mDRx{IUxIoɰRΩ]@:Cp5Fg]UmuNG\qxC*"68:hVfGDDDx' 1b a}BI0SG`v˯!l8:6gY8\ $H'_ǏI9'$cV,5ғS +CVm618)+TCYDO48C0EG?& +,#|*ggggggG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq/EYfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳlۡDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG|pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'(rnG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G՟G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDaj>4DuG`q ǡ!L7l0&G@Dc$>n lX#'~B":0A.m"CnA!xATX Q < +9CPCb-_=ܱX~׳N,4}1<}PDu.:Zvq~(tE|0ҮZ@E\Y1b,Ц<1[a ReF;<8##I /-P$F2U +}.}/TI{:(FHЄ?[i%>>j *= NP>#hTB.(X\>><qmc캐P?N1?[]`W@˄"눈"#H|QtGL,uXc}Z[Q_WZ~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}4qG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqɽ#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9lr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G3ܛ(>z=D~Zt^}/I_/ygסxJ|_I^aU|F֖ }z_ "c*X/0 +CYB#A|DBdsTKYB$CLW|aB"PB:D":>,Hq=#C\Yc U3P6Zr;˥"A:s>ϫFp"?o$G,"8c>&H" QGz6 xD1z2\q"F9!.Hh5-;&Pkrl ,ԹCi3ͮ#$}Gf`n9 J:#8v]hOa? +hD}Qz93`˂c'rvnh} 6  `CD\DH!=/G =zZ X.ôtqW ($3Cr)>Ay]Y!! rPN ay^WyA +f>#ЏGL&. l8[%x""""#~ߪߓ` 8hDh62?bF?01|hp}b$_+בB9 ";soC  DDj6+OWu *ɰR|{yuY}HHrB;`0K-:q!~l3cƖp_q[$9Y3YPhNPCϣꏣˈ{PB".""'ЈDDG _ _ _ _ _ _ϣ>>>>>>>>>>>>>>>:>>>>>>>>>>>>>>>."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""CǏK#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9VypDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP-8F9c$c}=,-\T}9}H6*qkp mF uG瓞Bm@DB.7~8%uCʌ#>":.XXIa[l5Kͩ1ј6$<hc\T.a(>Zq99 .,XQdžDs#8--U8ĄABb j@:av#H\S_jX"DPW+B=ZHDB$. CgT BH(iKHrg=mK"!0@ŞG~8mGԐ +CB1gHFjZKlsp4CB,2 f> ,ܨY?00<-CD}}GB#>!B"""#kVQ * \bԛ..H .;_0k G-WE_-/g޷eXA8F[/y,tGGסGzwe +A;ZXKtGGB +7 eGq|vaCK,}AGס,w)ʐ6X:gQD>#!#Dl#;FҌz+/% utSh 9e VmN<C1C՞E͢^S!/V) q dXHBCH;(ItLG,A`Sϭr!dPDtPaG_EGr7 C@0Cձ 5lmKUVjV>Yрo"93JY@kGyOGA%G,Z_tDx"J^Y4 U~dfrlC)d5˳a(+>qu3aGT}QHlh3#UهCش,Ä#E"}vCb %Z +sHqpHk}9pYP]rq>&"EC"Ywsʰ@񈸈ГHBAAm&^+I KnЪtU3^CGטG,~mW ⼤ꏢܡG}G9 JD" H!B# !| r0u #a4^qm}d` TDŽP"ͣGHGd4A|qKC(xPkA4*D|DGdhk!KqSIT*z̸*8OԐJ^9,y}Qv#H>D}G}f /Ob}4(!4)X""""#G¸V\ep,3CItۯ2F̸3cqȣF<><1'GaA\:F"A@cx/>"#346 |HJ} +8hDD;4ɰT`2pEO=fٳ.rB> (vC`pi4" xC4g#""F8ir nDG݂eϽF DF#)<J ;L 6^Hy\cqICf a""'TuG}Q}Qu\l8 .$tCQ6<DB ]Ba5☎" 7BO @tǢ:y!49p0b +%D!|~`pLAt8g(CeB$mY}+$}Y}GUgϠ)`2a|Kyza|Kyza|Kyza|Kyza|Kyza|Kyz}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}A:6vmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4,E ˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲!.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˼DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD͈zzzz!G}Di DIBO!L$p HvcyUb}7C#bzI#KRcA28m ﴛptX Q ?86z^k#__wN%>(xǦBo_d PDtb_l5K#cՈ~*#E_ %jg(y "Y1b,|1^w-]S,r1ħ#HcnuL&D1UG]_q +"F(I&=!컛wt>$ 3$8uA9G~%D/me.B#j}qRD$"?X"}"1F(X\><~뼘.W1鈡i% )HG{;rхeeЈ#E!}GXPb"""$) X{躷tyP _:~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}f}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE93ybZ'~S +~ϭS%b?Z<5zE:0;b#IoC"E)K: ]k<~WෂE:0(>&:c_dUK(_*>#ꏣ>DBg3-3!}Fe}Iq LBH 80=- pAC0f @>t{<<XV`mgepeeTlڸ1h[k#S`TKQ}Q}w\ec=rk`D`}UdBAFdG}aÅcxΩEEDv؈9|e-PBW]( 8}e|qC$LrPMLr +M5Y}yY5GBF9}o!łWq;FN8B>+Q$"#"0DCP'ѫ7n""6""""}!$>H}gP bTޕk?DmdJl4{\õCRs#Jͭ\>#1g(xˤLt#2Cq:&8"<`DA^8fSG IkShm2x4c%מI%;:3aYł)dxr9F3\!r1(pCNm+8CDDDZ#Haٸ!zXbB")vDi,үP͇6# x3J SbP|qcͥ6!6Lr + 8'6B#>$?X3Q["}gПGT}D WN?3DDDvuZ߿_rquy})}.E"8yCr'x@z*hoCF":bG-Ꝼ G[oϣ8ou98S HÈ6Eqo"""1dH z Oƈ>DFj$[M?lu u$8r cd$\ðE:0A XPŠ˲.˲v]c""""#M]pedWeyAEyZHV}V菣5[#HD\DDDZ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF^DpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'O,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF>~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGғs>>>>>>>>>>>>>>>>G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG }QBO1D#dh02nI9#pia `E3h 0ˢ1#Q!=-^HryFE$:6ĭhI ^v]'iXv7Ht$uG}x:GЋ]kXc_'#u&>a8]v߮G}qd*R|=:Pdqa>H?nbF8bHQ {"oqIn#qcňh!n6-Q]"Gqqb JvX!ō1OK$qfoCWW,tcQQT]O yj.?P >膏F?M21^P0c ""HpFr1#qI#y!#DDؤaf\0)c 0c˲,UDDDDD}<-EB#B> lPZ*\V,o6I#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""""""""""""""""""""""""""""""}hdr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G Gtb9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#B""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""B5@f7"?(~_[ߗ\|}*JMye2IQVNCtI/,"qO[ |"cE~^YE _Hj 唠y_Z@Ro&H&":"B"e}0ЈĄGT""""#DzalKe ,Eaw!yC"hӘD>GȄB#`}G}Ϥ(/"} a|BZ0bG9\0*"-ƒ}LoY`3ɿ,f}GT&90=]fH8cv^L WBꏣ!"")#pB,q/B*h1V"r1!~qhDAlI+ ePɝx6mfoS #lg(v}YggT}wA! Po ,3l6Ŕؤ1ZZE@f{Q!-e8fI.AXw0 +K+ɎCmQ'8JGGUGUr>>&ʴEq!=A?6n6A >DD1|CA#b!cPАa\!BI蔵#%zv]`jI/Pꏩ<#qDC vTPk8k -‘QB#pvyGq'2컆]|D QlmvVDq1Dj.Gn]PMj{Ubl5|pN 8GT}GuGm9DFm]L#ȅGxEJLy}PGnh0BC7>84q>qa5.f f uHfB"7cZCŵ Xi",^|R @GcTHɿ.N 8'tuY(wvq$]y 3Vy21!qO}thfgqY>>ѰnG>RLjB}$>##"GDDmDB?:ӈ #9CqؐP; Qb#p"ՠk"""7q8c1J#^S!,B!z#$z6enaɿ/8Pz}ה#>VM9 C Y!B#:ln;pA84GX""#> U&{L6f ˌB$AD|2\ros6ͳlAbDx PZodP;HFk8"=ٵP#R6;>s>dc 8/ !}GW~Z_"1F(DTq;.˳`@X(Ln퍊f5)&[UTB~^җGѴgY"F;ɏӎA+D}vmxČb"7]Qs@^\R\)y$m$y>#WYz]Pj"k "I" US7㳪A}gaQ!L!Y}ZdttRCͣٶm` Qq#^WFEk?,Dl{vX_pKo<Xco:y0f !1 Y!N}gUC:.x"1DF#uAO$E9\q#^G$%H`e"'ߗ(v\Ѵ}"1Ԇ¿K>5c E2pN 7v"A م1C .4x]`Q߷D\l6y4c>>ɔ:8h:qMDDDDDDDDGhqLD{B"- +\G~_[ߗV7տ~M|o_~_[ߗV7վn9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#x^MG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}g}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GCGE}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Q\EuZ#%"lDNGH%_A0TAr]r% yLr1fօc-}4|y"CBDADcĕVF9b?@bLy&8"=$<>1B!8#Pq0ByCɒs +.~M<{Wl'ͣe+LÐP-O!,Hbdv=p0 t!GgH:"Z1@|6tt"l&>ZkL#WlA1WH']K6GZkɎΪ!GU(ADqk-t]p#XE|-_^}I(F"LB`^ afٶ hd 9Ql\bm|E'\>R3G7 qTQ#`c+P]e`D9x(^A>ꎨ.d㵫F{ǞV(ujMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmjMϛfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٳ0Ďͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl7b"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#Փ.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲. Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""?.mt}~R:KEXzM@Z}_GnږUT}.t.P{C}-"Z)jBqAR}W>YJYE +Gaw:ꎨ&"hR!Lp"8"""8A +Ad;!*E!&VHyOeXcԎ.}&##r<3G}Ye 2 @ SLЈ2)v"#1#c#!Gwk$SP2jqIA8Rd">!`v>G#^H\b1"!qZ<*284C_*نm$> +zFBw,Hl +#tmxđ}PR:#0aҲ #ra08".84&(hqE2AnHdd C߯XwwȬ3v[,>Z!SA!5P>H(B gZruGH#-#,AAq1q⸨"DDDH2dDkIkdͤK.u4ycAͥ0"GJGVB"mH`r >ǥMd"qЮ.CC65A rn>u)V[ވD[޽l\?UdwbKr*J HG E<ϫ<-Dgҙ*}Gz6 +EE{G#Gi8oH4KJ/m@n1)o`nmWKn?_+[(Dt]Gӝsʶ.CC#CE;If(a•G` !'`Ehh4͵*!x:,+F1&8#2 +GUh0B"$!DDGnN 9(kKx +:8.DDV']23`x9{-Ɣr14F8DtS'EAGF:LH!HaG}G09릙''s 6. cnJ˵hb#GA  a4XB#GlEUo␎"ŗ"\2X4_!,eYA6qI\ȅ"LͬPD|G 9#!'ꎫ'[>!v,xB"%CPH(M2vg ++cE3tj7*l+rp]ea(jHDVuHSh4.B';#K:! c")V"cQ\2whsq؏Qq C_HM9.EۃJ )34ÏB"/o";0y14G0!,q+GmT#6hNXGvP жд6,Ŷ'$9f 1B!#A+^ɏX bqLw3$ +ء \j5炄2*r>!G}#3Gmf"9a6qIuq:#q@HYcX5"Abf1)0]_:oAʲnS@9ޅC{L3q2q`PWc8uc8QxbF:""${RP&H"iL@P=?6Ԍr#tGTHW} > WqO>D3D铲.ˏ`ޗ]}~ޗ]}~ޗ]}~|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4WpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%ȺxːΣB>O&ߜZվ.m.I}]4I EpaEz\ M ]H@K/ }8cDBuZ<^[K/}/čOǂ +endstream +endobj +43 0 obj <>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕjr\C} +endstream +endobj +44 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +45 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 27803/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?I&Ҥ@: Mtߥf&3~Co$-pD{".?^,im}'V?]oWo_8%5o?$1ׯ?*/͖l-&]{I$Zli?PAai!73Z_> $ qZ8ztk-,k㎗+6omW /㤵U+I +^Wי_Q@^^vK RO֞:/nyh/K 0k ")z%Cx~JKꖕ/B#aҤ/E&zi$vKM[36H6I rhXaafaA!&  O` Yh8f 3`0f 3`0f 3aG"""""""""""( D]a0a FԳJ1% 4 +%ߣ<dv0b {=gq=g{=""""""""""$Fڡf x(#}D2l6 a/ al6 DDDDDq_r&ܴɮ?MQGuGDDDo%m-2k+ +8dT'AUDm,tatXc +>C#8,ɮ#9.4#s#ht/ց^=8vCL,@G+_vyD"хرcvMpȪD@2>UC#*087؆ r&D>8Lb 6}'ó.xzcoo|ɬRcE7?ZLLqQưUGɭ0E#RMFyC>`Pԗr d+-2&*Xvuqy(>iEDW bF;faF1eՎث\?Pu@4}G}G}G}G}G}G}G}G}G}G}G}G}G}G#>>>>>>>>>>>>>>%y{=g{=g{=g{=g{=g{=g{=gg{=g{=g{=g{=g{=g{=g{=g@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 r;L +YL-NYD|꛸T-0kn㥭/] -0kJ] å-LTj;ז5!֟;VVdDPRȖDux/+ꏢ}uD)G4GWlN"#2 8L&":Z-1 d +c焇֍3 /AWDr98Y,vB#<6>r9G#B#(v}Y},H_001Cf 06" Ň"bDoÈzw[Rj!30jf8'g>6R(r$''4CF?A$8jdhPaS? hA kh1Lp51cDmDp"EK<K]ZND3CLɯ,fD|-Ω9F0DtE9CDt]d4GG8M2nJ2qN nWMf9!B} "!"@MWA% na  J(y8ytGaQ}G)F"H<CYZG!ȎW>#EMp}_9rHhDGEYzF#9b:F8B:?.7&B%Dy$8oAHAY 3ҋK8!(wg3YvQ})Ts 3Q GF\>D0$=n)p"D4spE\Լ>> >uJ"c&l [ɱd` 1GY^gZy}n-5,r1pA!R$$">>ꎨ:ѳH X%5#bbpN 8"""""} ЈVV%JB=l!K$߭FٶlyȮR-2C#8ͬQ>q}9})CI\)Dk90 }GT}_vGP㊷89\DaDDu؈+Zջݿԣx LwK6ّ{>d Wen:+=f̸aҔ;8iQAcAZtm[Au~cF<>yǞABG#ꎨz9G#f`! F9(/ Х}n,dHcXxk]xM33m4 A aa$08F0">[K)*S Y%lPH*{]JC$J EJq`}2F >8wP $c,/D}9}^CGuFFA!kA\r1A8'a h>ꎨG~GlEFČq 4>]JGq˲.fal@ ֱ5qE"UpB""""""#]A VJѣCvPk3UOJPc:/aIORcM_<"4Gc8HX)9Ŵ"q2b4ew^17HC'hmQ_N4vkT 'v\Per@8p9ݚ*8A"Ǻ(s h2Ljhgwbz2k" [a@b1)8ZmtA6?u +=+k8s>t}Ny>GI@a"o<<P6mm#RTqLDTQ1xBDZB}P88q7 D!)L;SUH. @>a0V܆c"?3Gtf):"sAͣ<*4GwNWQ|X!Ub!;'bhA +B" +ͤ# w( cc1#b0"ڇЂ57VPG#9G*<%e&:#nDtr +GgDAv"-""X PиRD[C+pC4Gh B""#(34~GTB#GFGuG}GT}V}GT}GQ!븈DDDDDDDD}]5}~{i]]5}~{i]]5}~Av!#r9G#r9G#r9G#r9G#r9G#r9G#r9G#lr9G#r9G#r9G#r9G#r9G#r9G#r9G#؈˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲1˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˰PЈ4"""""""""""""""""""""""""""""yFD>>>>>>>>>>>>>><>>>>>>>>>>>>>>"""""""""""""""""""""""""""">ܴɮ?-2kr,G}}u\qMe +3ȁ28C fa& D#43_B!:[:Ca\!E)=Me1N &8B@;!ڎc-¾gA EM~GGuUt=+ q v!UTɬԘ슣k! hy5<ҮŜL9iHv"0.!A qT-+[tҖ5"D_ҥSΈ^>*"E FF?h@q$iIGi"P7M]SE-2! q+ի#ZQ:,#{"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}G>t"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'aq?E>>>>>>>>>>>>>>>>>>>>>>>>>>>>>˪"""""""""""""""""""""""""""""""""""""""""""""""""""""""""8ToL۸kKH.ql>>-0ktz\+- ]l>>zFqqTvh[^[[K$"GeJq)ADђL̃dB>G#!3y}Y!}G}Y}G}}h3%ySg% 'i !7$PDDqΩ! *it1Z*}EQ7OtI +CI/@XGFZ#G3w45qڏAA\q[cD>(lXqBB!׊MXa\C|~}) +䜓z#OOw^THP8 a@DF`DwꏣS$]SG8}GG4tPش8IZTlc#k&9+ : +#H>Wt^nIbfePN &hR +K[Azɺ6#h:>$4y:"cY +Gϣp9J,z>#XHA3lG:/VrdxA0B-A i TqSJ"""1'EQ +bm'KBDh̡VS6J yZ+EE$ pLr8JD+#60C,ڎ 鑎D3S"GmgAIuG# ,! 1#r1 B8,p@7 ~N8*!FDc!$DDv8(qb"8BؤxJɹ ܍~pmw$Z-v5BA5ɸ(es5@]eϣ>"6aN,a k8ShH#@􋙀r;>!8G٢ɾ0lЯ)]1!B"#88h4GG|OЋ⁄$䞝=F#"c-RW d fH3 J[ɏ +1h*&m,>#}H##iyHrO>m(sL"~q[#hAf֑]aGGT}GuGBF9}oqdlrcj 6ͱ~ EN"GBХqLDDDDDO0D8XDX`q"a&:ZBqV`*n:^۶ +`lyٚϤcMd#JA@*16(z:#H":@mxH#>Zeu}GTuF "4//EhD\LLEc,@PC1#gA"$0: =HDFBbW+f-dpg6}PAP]GWJWG.iH >+I{S +>(pD|`#izF#6h;GT}G}G٘3y9ܘHTEZ] `ib}E&  +"9v a0DHJ>zZ@()3DD&5dpN '#DDDDDwcVۿDDDDDHd +;4;3G)OHI*hIVtGԊ9䜓1D5NH mzDvA8GVfZ!!kA\r #A@cpN a hDD}Q\F، ׎LCB, `alHPN9%'"CG#r1## ]0DDDDDuoJVz]Xca\5؊BrMR{6Ͱ@ͳl@%zZNJ4ǐP<qr;#?a(0@7Vpc RM-gqCێ6R #28.;LR6A[!9fӐhFr9G}|GG[Rc>@jR>gTvh}b"8HDx]7SaXɎWz_- {=3IB[LꮈHi*:6h>„ 'P:!3$9ǟT]p[\GDqqv(qE##kxxBoWKI=< )YG@r96}/"k#tH@<3L#]O@ ׎x  iC qJՃ#>APR (d0Z\ G¦XR:dn瓃!M8'Zdr CGEGGn]*hU"7c٠)DhbPcN6 bDopCt)Ea0Gѩ4B##J_a}G<"Esl+SZ>wE!DDDDDhDE!B""#a w_AvZ`qa w_AvZ`qa w_ETMd6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6 6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳm"""""""""""""""""""""""""""""""""""""""""""""""""""""""""=K!xr9G#r9G#r9G#r9G#r9G#r9G#r9G#ᘎG#r9G#r9G#r9G#r9G#r9G#r9G#r9GDDDDDDDDDDDDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDa"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDG5Mq.Ze>:4n;5>4z"L!-2Ar4rHIHvqq Aln {D>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDm^Y>>>>>>>>>>>>>>>>>>>>>>>>>>>>咰9]s9v]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]~""""""""""""""""""""""""""""""""""""""""""""""""""""""""" yG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GYuWH_wiX"WqK5߮_aioK5֗H|}53:#-"h -D8u1ޗ&hX"c>WGxdh^w+$g|]<6RVq&y}&}&m~y> ݜ@>8ETYLvB8$"QT62B""8,RP{ +Aw]wA6ԨW ^|8ȃPD|6tcn AE##E@ƄrLrqꝳ +#l"lpN :ڑ7#{ B>EhK\x%ͪ\Z.DEAC B]\Zj +.#!_{ mQQ!&! ~ZUU#e +)$t}SH%>D}`1Y DPq D80gu8'62C#!t;"$$y0[,0ld.7$ 6Z]LũG}Yg}GM >A#,G 8D"ЊDGDDlLx2COB#ZQq~PcɸftO WUl0CF?Dd`3ipDtY"9R :#0";Hhꏪ@!q>a)s0f]# +HGȷ:>H##xP+cB#QB"M!1>0qB#d CI9',lrNIҍw{Rl]D\DCkBpN ƽpRm0+E_>(}GT1Q`r1}Rc1ѵ0 :$gGG}Ga`fđ0 "!G(DGA ! DGHRB[Q9'LJq#qR8tkDD7~_-6et MrRG3D6D}HtEDxQO|r8) q7YV +G}}Qg93p4}lumjšaP)J;00 1t1ϫ8Ͱ""AY0DxJ!-$!]^FH UyٗGi,J/AZA1k}6ͳl6ͳl٘3\9#5]QNn*U d">,+G +I (lA 'ek1L#I 909 qA8/ >Gq_hEbDž>\X4: x39('eٸ+iRIX>*,@(x21 +_[,l6)M*6 G^mIG*ȃ0f " fpN 0f <{:곈"Gc750pƄDDTDDDXc3B}yc؈qO$f*`wd@7!!FhHpv1`ypiE<Ӣ#NGayGT}G}Gq],twvWx)>+y^]y@č$UˁAt +DDDDGN,$DPX""#b"B2c2.˷9z"5Ɛ=,,6)yTal#Cwk H+g(p˘;C0ϡ;HqB õ@+{'MWa'D}'#}t6EGjkEYqg488L0  ğ0Bf(ALXt gp` R\#r.;30>a0" G$0ra2 C]1,E>ŌCF>P1hbt)hFK5a0L!zܰ%.˲.˲Dh5' E`D &B"" .FB!OCCDB""""?AvZ`qa w_AvZ`qa w_AvZ`q w r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9x`y˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˱(r.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲ DDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDD|G}G}G}G}G}G}G}G}G}G}G}G}G}G}Y}G}G}G}G}G}G}G}G}G}G}G}G}G}G]q\tZe7GTy/\a,D! HAdh8~ 9; JH8XH;kDdd5t0Rp.) lnРA:6ꏣcC""0D~((CzYXNq(rFXkWL 0_HwBv,&a t<>1FhJ aW_ Gca|1{hZ zM:a!,y\KMLE ḯkA <ˎ"eB H. +ӹ||dt0cF?ƁRl1IR3E>j.6"iQu0JBZ`iK$:3F8#S^8dtGh!8䰡tac PƆ,rXiTZeQQXQqDGja{\mZ5G\}d0&r9G#r9G#r9G#r9G#r9G#r9G#r9G#$G#r9G#r9G#r9G#r9G#r9G#r9G#r9C,4pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8''pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'ˢЈeOZj*i?:ڣk88Sڣkk/vzie㯌WeKV," {AwY _K+EqDw#>>R%>#3D";uGTB"4Ȱ<#B"""""")C D G`pvde&v'&|vA2NB"G#%JDNDi[,t}vb"*Dt)8t!Ep44_J})GdqG44]V"G.eY('C~tG՗ϧ<"?'y0ͳHrDqFdMb0">9b-=Ǒ1b#=x E[-4^9!ȣ HF9cF HH h]tE>gA `\X䰻6L":s= 4}%P>pЏٯhRob &F&զ{x/WOAiEX% $9cjgGΩMg#GGGTfu]F7 +G}WaPdžB 0 +6h4h3pCH="8x""! G"-e؈B?ʈV",DW|*A^BvY03pF: Dt]IA1YpA"%$9 q:L!܌y#W8rn + C0 OPL\q#68g F>ڠB#wV. !D[.1MgT ,'^b6-Pty)}gUVz +qh4G}[H@y_TmQ6G@MD^8_X>9#"9u☈#t#;H 461(wTqfC7 c=s0ٮKVl٘5J!eh/|CYNXc!RtqG}AD"d<"B2I.術oG}f0~cؑ!b,/ɤPh4  c$r !$: !fc b"";lZ}a"mX*BIun|'gV# _-̑V.KwGmMϥ6>w#Ge +ju[y!)(v$uѴx9}G}G4DB"}! 9+4XC-~qdnI) +1""""""$kA ! 0<oj6#Sn!˃9Zu͑wg3X&WGf\# z E9C>"9!x"pF9!!hd@Ԑ"GT}q'Sb|8# !0@8h0 ~؈IC<'BDF1E?0mh=iTQrp35\6 lGOL< !NqSƬEqtDGGB\D0@B3A8'N%}5TD\Dw}7v $#P4ꔎ͠E;0uGԓ5T.CD"}CXЍ`Ј8#툈>ꍪb"""""8<|w&;>>4?B"""#Vڦժ6?jiZjc}Vڦգ 0ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#l6 al6 al6 al6 al6 al6 al6 al5al6 al6 al6 al6 al6 al6 al6 DDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDu]q\i#>>ZjZbsy^ ك0fhEu.LiIF8rC E +$XPH|AtnIi!#`">GU-1EUin!wWR"8!':."3Dlzz +$l|ge10Ј(ISEPͣ2v[8(|00~DR>رb"\1o]2Ǵm?Wm0Dt^8RƑ:㈨yiTOrPΉ+<<.N :3ma(3Ժ (D !#"O 5ٜrEd S!..[ uDDDDF(p#rN/_`妝qkVqq"EydG}G}G}G}G}G}G}G}G}G}G}G}G}G}&}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDC"""""""""""""""""""""""""""">\r9G#r9G#r9G#r9G#r9G#r9G#r9G#rG#r9G#r9G#r9G#r9G#r9G#r9G#r9G,DDDDDDDDDDDDDDDDDDDDDDDDDDDDC0DDDDDDDDDDDDDDDDDDDDDDDDDDDG˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲Z Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 IS +Y+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlFM1oezTm)M1%jbiwKAmQT/岪z~vB"hPGsD"#HB%;>R+ꎨUFdXA>""""'T#b)\Dz` GA#ȨGaGYG~g~DRPDGPB f0ďZ:U%Xq2 +]`I#U%bG&#|,3ZtqG#Kjq(yу0ggt}QG}GՑ,>C G#,I#6"tPC1x4 N(Tqb:c=hOȹ!;kCK"":Ot!Y E".6HrN1۪>.63F]R@qfF5#Y(H싮X䜓4H'C,"n Gď!XqQ*CXDXJp)IYIzI/Wl}+V I\?ҕ4#O$z!& di*7Z>FGԜ~P#nW "}QQ䁑0eȗH EC k$,NP(vC8,?HӱlD00Ʃ{`IŦ?C.)hWQxBڥt.5z63 fmô"`PP% a/YLtH'tK$)@qGr%F +y  DqtuG*$. AH(vA>>#Y9]ES!xa 2Yc07b?cҍ '  [yd~1iK9=1-K r܌uY ;BОdr +l6aQ.S0l6 cINq0 B  +[pѢ# :*6DMuG%h+;5Cb}!z6HD6m'b<\Savi$"0(Oa8hcbɸ e~[_{Zm;&⡙ɚd5I#;>ᬔ&GӟG}^mQd"DG}Z*C8Fg#@#RU_<ϣfpk'j"<ߑ.hr1W bՎ9q㈅4Cq\ebZ .;_Y<#'b(-nDHI=nŷW`pHb";ǏɲnΟSh}ZAD4}G=_ +TL>?9Qk/} +R,zj!plG <NG‚ `C9!:0Ae؞M[rCcP;jcG8R}G}GFGn>tfXŶs1A v'VNPBN+i b☨'Р$9 8B#ܛ6ɏBm+B"-II: IPx&"G? }XMC\!dsVԷ(͙pV03UfqYG"oi Cs+QAga!)GD4}G+B!RD}GA\r1< uGU#{xv3hAi=1CЌgu^"8B"" %Ds""9+DD|NҾ"ENB|LVa(B(BD})Vy &B#>KGEϬ1!{=G#q3`!  T]bP x:\DQ*!$  0@ GO4baoDFx]?y!##ɹl&=K8DtuPAAAAB"""""""""""?xW8QBG4#\BDw'b_"Y'./CA'f3l:7t Z9!ߘMPSq&t#8 " y}G 8N^.1 ǏqPDDzGLY1h_r䜓e'$9'_ _签D) " ]yND"(2·$aQ,wN2 jZ}ZҦyBdD5r&菠͆ &LG,Gd+Dco:O>" ?mhtԐmGT}$N*#mPm36GC0f qt:#8ڧ&^?CLR! Qb",t|N1!i†&a8lqId0`t")0mtH`:mI21#0)4%փDc|h4($-D$`EA862ܜqAl=@G' 0V""c(H1bb3,qa{ 68VcqI(80L- @[ ui);+Cڪ8$AIf><187AdcF9cTZD0@AATqP]q~` `VcDDDE o>D}Q>>#I"P#ꏣ>#GBDJA">>"""""""""8Vڦժ6?jiZjc}VڦK>>>>>>>>>>>>>>>>>>>>>>>>>>>>SjY+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSك0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD~Y>>>>>>>>>>>>>>ˣ>>>>>>>>>>>>>>""""""""""""""""""""""""""""#ȝq]q\i#>:4B<-1ty2 G3hPrl.l->Mj]IzAG`qP#F8XB(Jh] tTZ`jHpDtw>#cĺЋ EźtqYQ+iѵoqKn㳈!S<>|[#DeG8]{1x9ś>cM] H_a‡R3ˉi +G!lYcC,x6v>$;!fy4qRc""1 DXk~wԺdgsiZKLjyi񶯿EP(s<6cϣͮ#9'NJq[chuJ}B#u&?cǫ a+I>Hv\žLY!ׄ +#&8Gӡd66"* iZjiL}PduEqdR;e| B"#(kڵkP6M(G}G}G}G}G}G}G}G}G}G}G}G}G}G}Tf>>>>>>>>>>>>>>""""""""""""""""""""""""""""#k%y}G}G}G}G}G}G}G}G}G}G}G}G}G}GӞG}G}G}G}G}G}G}G}G}G}G}G}G}G}G Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4h4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r92!R\""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ?w#>>>>>>>>>>>>>>>>>>>>>>>>>>>>{""""""""""""""""""""""""""""""""""""""""""""""""""""""""#j⦘?]6iA_FeLG^^FT.a~meEFAT1A/&BrJ6TDqSkE5e(I.KVs#0f #R#,>ꎩO#&s"}Tm@8"AA+]qg lSxKNtM7ի ]$8&3PE[%ED<菣ahiX5dAyv2-pBO48b$tmنCM7 MqDTSW!:9DDqi7,'pn+EFE[<!$# !(XEC>6&7VaTd_],DSH;D$#l`?R$;,~#>?uH*6DuDh-(-;,qsD0B a\I_UO{_"1\(~n.nZ |")D~ܗ%E+D(#zz ɾ!!4)uXGHMDk ˲&9tIe rWQoUɽZ#"Yvs.Y=ɻ/A*%6T K_MhEfW82:#jS:D}G`]G;^$c(qF9cuCb}(A +!j"";u۱CRm*jGe+Մupˆw(tShH42AY>""8᜺!m:Q}8ل.C{HX_@ F!:k>0A:")jЈ7np] +-28C>N{R6e0|Gk6EanN <$u:>jG~>>z90AA Sq[#n" z@qϫLA0"""$0:  mz# x/gf K aAv^gP +-rl)FqL0fѩe aYG3Ar +#r1`r#%lCA:>GT"!GM6Ьb" G ^F9c8L AB"""""""?+APMzڥ?K_pA_U;YbN m.8'fCF(uTq8^8a.{B5&f>qlD%؎6;K{%7(r6 o>",OSiчtL+8?DBYRż%":11nF3l% xbJj:k<E,S; vuFӜT6xrCj+SB؈qaҫZmoC0w'P:ϩCFjk<#ᐃcPB!A!ňsS+ KǯzN!>KլcqYG09yŴrNڧcaqAyv7!I\G"݂7 _-GTuGFh"+G2 JDuOD||DDDDGTF4QM1TmSLTaQOQ~}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}^ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv͇~?~?~?~?~?~?~?~?~?~?~?~?~?~?؈-r\,,?,#}$^~rZ^m-e_A1]qkKFAtypaEaE}6 &Ǿ/@7p]\p|8屢:׬ylKAM~?o!Og- ( +endstream +endobj +46 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕjr\C~ +endstream +endobj +47 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +3 0 obj<> +endobj +34 0 obj<> +endobj +48 0 obj<> +endobj +49 0 obj<> +endobj +50 0 obj<> +endobj +xref +0 51 +0000000000 65535 f +0000000015 00000 n +0000043446 00000 n +0001024132 00000 n +0000043582 00000 n +0000043743 00000 n +0000139240 00000 n +0000139376 00000 n +0000139537 00000 n +0000230016 00000 n +0000230152 00000 n +0000230314 00000 n +0000259149 00000 n +0000259286 00000 n +0000259450 00000 n +0000348514 00000 n +0000348651 00000 n +0000348815 00000 n +0000434137 00000 n +0000434274 00000 n +0000434438 00000 n +0000527072 00000 n +0000527209 00000 n +0000527373 00000 n +0000617312 00000 n +0000617449 00000 n +0000617613 00000 n +0000705168 00000 n +0000705305 00000 n +0000705469 00000 n +0000788726 00000 n +0000788863 00000 n +0000789027 00000 n +0000877840 00000 n +0001024259 00000 n +0000877978 00000 n +0000878144 00000 n +0000953202 00000 n +0000953340 00000 n +0000953506 00000 n +0000970808 00000 n +0000970946 00000 n +0000971112 00000 n +0000995513 00000 n +0000995651 00000 n +0000995817 00000 n +0001023828 00000 n +0001023966 00000 n +0001024353 00000 n +0001024412 00000 n +0001024458 00000 n +trailer +<<2ddc9e3761381c47e64afd72e253da62>]/Root 49 0 R>> +startxref +1024602 +%%EOF diff --git a/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc b/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/245b9c36-26c4-4cb9-9d1d-7f29b6e40b94_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc b/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc new file mode 100644 index 0000000..02e08b7 Binary files /dev/null and b/backend/data/uploads/kb_7/3904a2d0-e378-4609-94e7-8ce5471832b8_testdoc.doc differ diff --git a/backend/data/uploads/kb_7/4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc b/backend/data/uploads/kb_7/4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/4af161ff-0375-4ec8-ae32-96a8d1fc1af9_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc b/backend/data/uploads/kb_7/4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/4bff529c-a1ec-4e40-b296-83b973de4ddd_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf b/backend/data/uploads/kb_7/6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf new file mode 100644 index 0000000..1bbe37f Binary files /dev/null and b/backend/data/uploads/kb_7/6cfe36cf-273c-4c3f-b8cf-2f9dea0b4790_testpdf.pdf differ diff --git a/backend/data/uploads/kb_7/71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx b/backend/data/uploads/kb_7/71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/71453a96-1405-4c19-9695-57b5c6e3481e_testdoc2.docx differ diff --git a/backend/data/uploads/kb_7/7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf b/backend/data/uploads/kb_7/7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf new file mode 100644 index 0000000..1bbe37f Binary files /dev/null and b/backend/data/uploads/kb_7/7932d340-5bf8-4b2c-8c33-2d824baa4d65_testpdf.pdf differ diff --git a/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc b/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/808cdf0c-f003-449b-a212-eedb378bd04e_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc b/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/8de50626-00ef-4b31-9928-7ede181ad074_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx b/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/90536805-dbc8-4d37-80f7-7c0bffad3138_testdoc2.docx differ diff --git a/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf b/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf new file mode 100644 index 0000000..1bbe37f Binary files /dev/null and b/backend/data/uploads/kb_7/9976cdff-e6b7-45af-aa89-3caf46ed273b_testpdf.pdf differ diff --git a/backend/data/uploads/kb_7/9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc b/backend/data/uploads/kb_7/9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc new file mode 100644 index 0000000..02e08b7 Binary files /dev/null and b/backend/data/uploads/kb_7/9a5bf938-37f8-4726-a095-841e45081f3a_testdoc.doc differ diff --git a/backend/data/uploads/kb_7/9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc b/backend/data/uploads/kb_7/9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/9f1f03f8-7e00-4527-9d35-297be432e7f2_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc b/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc new file mode 100644 index 0000000..02e08b7 Binary files /dev/null and b/backend/data/uploads/kb_7/a5fb94a0-dc86-495f-af2b-b288e4b06362_testdoc.doc differ diff --git a/backend/data/uploads/kb_7/b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc b/backend/data/uploads/kb_7/b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/b3379b05-ba6c-4b6d-bb76-48a9d6153eb8_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf b/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf new file mode 100644 index 0000000..7e92481 --- /dev/null +++ b/backend/data/uploads/kb_7/b5d6c8fa-5342-4d81-8c9a-61724c252fa0_发明专利申请说明书CN202411808464.5.pdf @@ -0,0 +1,2804 @@ +%PDF-1.4 +% +1 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 43224/Height 3509>>stream +Hđ8&E`dߕPlag6hoVMcZDo)o3 .N6R&јȺ|VA!p!.f߲1yKY!Y?8t?#GTDrd\!IiCSѥzAiwyJmd_) p?"ٙ.d_%]/!Kۥ5~U,k\Ґj]w_ 4[";H/KO 1Ŏ5pAޗ+$_?>L$Fi { tMlSfbc%"86IHAWKKaa$?ͣDCZ]rd8A+{[9x]fmr'c^l0A-M_ޕ~ H{v[ p&z_ Mֿ"YdK,8K iaM^!&Fm-&?^tMI^Zbg6f`q_.UT0jפXH0_b)F$T?k % +^MR6I;.Љ2[]NŤpjKQi*0i^a4.]_GPi/Zvf Sbq>"#9͞hq 3D]yt%$ɛB336pXC"\'@`8)oAFlY/ђlrF? 0YX\y _ +C!MY'£3gHffl2 1446q3fm *36q9 ȁ͈he"$6f٣2iy6p8@aP& ?@`4ংe 0\0f'I,Iћ؆3 3$6l;] m9pR ћ30nmD!m!8 0X$0l͹E_#YE,њ3b3f2R#)?POYO97[:2 LAd$#vNLU@lͳb6I_Y_#Ç*owH } J)o7P6Ua{8)  +5A +Im`I5Õr7UT۪" J2uBy ԻT_ ֑8'lKTvZ5i&m._ $2P:O# aӺ__3K 0nK@˂pN <*]!#M4$EX" Z] o- ڬ^٠0kE. 8KXQm4d0W"eH3j.J :2S"""2qeY8' T~#d|]dc DEC,i.HZ54CE'kڨiC 0jGr? aOd&3D2pN1_mkj-Z_lDq{ҩ z VN!p-W'MSM?KM/!V"[[iG$hN tkzZlOD?JI-o:뤖<0 Ea8'I"kRM&KOhlFJI$0ΟoKIt~<8$i}dKIqڋiGMǏ_c"?I k]J!~Ri~Ad;pNA*@k(vk~A1]cAXjKҮߤ5Pq/.3Fx'b4D+ׯkh;M5mD`Pai2 ΀!`d4 <M$Y8li 65Y.Mm5MSMZji&qQMBZǨr: ed4)deo[RMZvdt U6."150VCG. œ8't5P54&#"RȝM & f{L&(vM4lGTade8q'(vG5M[M0@b8Ј咰U'Qfp<qJiiCEK uRN3`G'Ē&N !LSMSM9CGYRn$ *q œp=b8Dt/Rn@:(N œAGPi馩GBj6"E#o\N2pN @30ii8#B:^xV* 8pN'mFMSM+M5GpIA'<B$N 8DuT[MDSM1qp]|yMY8'N մQ[M4I'<DTD\DDJjyNs.܎ ]y#ٚD5DC3("1,3A8qN 4pN ¥ S[c٨5#ÆG>?M!M4ME%Dު  ( v"Ј#moAiYCꨆSQe*_-":&"=HVl|2pN&\q 8GHmFWq_Nm4MDU-/K_H""o+_$!Udp:Xh8'N J=FJtA香Zioo6YDGpW< Hb5jFƗMTq 8f_i!76kik8}=:ZM"#D5 9mqK,;I4׷mx' 8C_)aiq4#M2:A~BDqK&/Gk +'Uz_N Xzo֞:i^mz_z^"."7h1?Iȳ*J~^I}[I}RҥFpN q}_-/*KIiZiRCi0.[z"8okXu6 { %-Li i-/BPP7 `afa qFp" jj{ G4 P"%5OKHc'4>P`5!dt"""8#ȥ#DDܦK +ODh3) iu5GF߷_K tF5 b56klq:| G{j*$K MZUIGE7Vi^dQRn-":V[[VJ-mFW=f߭o+KL'Kzi~VW^#3MlR@Zn$1/KFs0Ж;I/JX7_l jKaaI)z__^_5x?P_OI޷凫"uj:O^Kޗ^_^Z GOoI^^{k_jJ~wk~_-/'޴RCi0,hm붗okXu6 {ilOM/ ah" +bk~u ke(_}0b""?ܠ
4{aUPk8I5 MUTi6mPZM,hUJm+!ڷIb#)[I]}z,{8GZ8ZK]b ~_\#}+~n꾿^)/j.KJׄK^_IxAb9h B%kk&]^~q ]cKK{~m.,o6*&&뮿zIK_/J$dtt'~[o5Dk_êD"ukK_-#YI/_[KKKuε-K'KW^7 iHxCm$?IKm/uR^aH6^~aOh0ACaZ +b)p^R].Z?Qa0"?dA_R!^IOx u'#Q7_H "j#Qy(F%hZM6klqG$ MUH67>}oҴJ6*VFIH&Mb#)-qo[dp_#ҷҿTUD1KK-#W^^$$/^_I%F%KOIvժD']I$KK%AI/J?KKζC[I=RZ}$A ǡI?m+,?mKK5´t:DDDDmMc13TMTS"h*KDJs^Au4v4 +/m6u`ʨ<8l<$tA|݋a3$X$+CL4駧JOFk'HlD/gIp47ZI 8kmEXyк5 +܎ ?!TKG¨|*۴d`58T][T5g_~BtY1xJ:ZVޗ ڷQ?Lai6ͱTyh1"G^^Q!juYBޓB)iQcpϢKI.zA봃4AZK>9%&# J" $a) -Ub S$'5֪?Ӫ`_^]iz#pE֑U?:KoJ6 +?Ba_B?s0쩟ZU6+dT?ߧZIiETdpQׯo1Ct:g.t3tkKOȲ._ޭX~:~ڳgA>z4[-/Gs}>?_Ms_+[ۯ_]-'/:޴><Ϋ_=Ab:~Yp?kM+>Rs_]cH_y7իzKI/(&?ɏoo_Waտo+ս&oߥ0I&KA^M$oIKMkO5IK 7~]` ~Iͯ@lL$k ^h  s9q͆XA0ά,GL!I:pښVA4GZ @׊2"#A5Рh A,- +T"7&s\fJs^M] I E"tFQ_-*$gCM(TueM86:cv*gQ)Eų/#y̬q{ $M5;_>2D"F!~ʄsk$xŝ mG[ʅA*MAE4K3M[* I fJf*MW*h7p&8 ^\,Jh-C3_ZJ\y801ZJ8]=?[*K@NiH GQvo~|[[DZB x2IB +_i?Sz [3k ե+/ _Ɠ^!r+_㑵Ъ|xO,lkJ"=C:Z?K0" Tޗ:uά4iq~khT_T_.8kK?_}޿^-m&ށ>E_8i6H`^"=?mi}=/l^K_f=G׺a& /  e8Du)Cҿ~!#BX"?_h(Xw@+EKu_zmO_A +_zzHO_%XߠYkj:O/k'_ "u^}z_jJ/% o '?/ڥ$K,>_\c5!Kx _OT;x=ԯzOPc I K~w/m[?-&0!K  a~a (a!3 +a\_ /0AXz$1bM?^h(?}.bv):1 7֑cM W ꆫB""" DPT"#7mr &b:h(_aa,&VI @ZeQBd dpI 8kmšuDkT>TH۴ɕ%/6ͱ_tU"KH0CH!~lr0rԢ/֩) -k8s0ZC*JYS~ևҩdŢ:KoJ-_B? FlJZQf%vut'Z]*UdY"JrT/x}/K9uKj [)9IU~h \~s7+MI[V~?I|26 0 r aX[ k@ejjBˆA唷;RVljV&Tɸh mRaR!|Pc,I<" -2uyeL e]I AKÄTm\]T'o!DMF&xUy(I&oAB+ڌY6_p6֛_L޴%&m$6ߏ6_ %?J3 I$u7Wֿ_uKIt".zT\α JW8ޒPc690/H3/ Fj14ZXI%V5=-%V i}mIKITm/؊Ba__H/-jLEs1BOF}*†COAm0i[5 tDH ; Z^'qia1IPI/R""b 2thDjCMIv1K)VL""ވÆ̲P36K:Bϣ:gc"ϠD2qulʣGA z +.Ks.Ta{6,gE6Pʿ|zpII^?m.^Qy/( +Vm.,@ו}q>{*">%scρ͉V6M:!YIVtzF&zLGG\llYExHR9f9VVt S0Pg^ 5ۤRuZzۅ(3j!JJޒ[K#kH|qMH&YTm!$#KKئ+<Ъ{(/lr1Dc{M3e2WIi,(Xi~&mA"݋=3]@$?XA0L3"eHZy߂!: H0M)qB߉` ">eL}/ `ߤ z^@Y Tz_-/ @A (u @RrV}rI<斂=1E' xNrs8g?žsb/ oaUl7ZW<3ˆfMmOr X{yJA#Uϯ+CMץ/w,ڷ$_8A0K/ dzA.~0`āa ^]/Ht/ 5tD<_Ҵ鶧!,%zL(a 'u1LR S2?aP a"!,M3-3h#PYDfO +Rn;J2&& CP8l-ґ Ԋ UMtV'FFy@[u8'G&"U*UGJ&ii%RV&?iкy?eq}_qi:f[f^}U#F?yo9arοFZղ\o͔s_84GUK_CAGS">e &Q ooه*U ԿeM+J.@Gk>.]*l13?_(t &ҭL?$.#eN,4 iu]gSF?B/=z /_Y&0(% !URk~_bHoA#bPwD|:OA<71\0k./&kyt ?Iy&X_~祤!X]Y~H _KߥTQu#IKA"?G@ajTÖ;ϥ*K<a_5 OaHDqz[~Q0F U@fߏy=OB8_oI?aV!T$~]-oǡk,5_:IIF|skqpy~4>[ @/o KHCi|0a9 v6KhI-[uXk)s41-ґIE:FPӈuzUoO[Dk?=IourHf< c[?9=?]?~N{n_ݥ_衶Ni~DZ_ml-/a}BDDDm+MDhPL&rnFFDS4P@RHD\iViGmn$?UI'H6k1MIi&4Za^!;A@%DA\DDDR6n"aDhFD&SrʣI7##"]DfI `Hѓ@d2:EȌMa4H&N>l#aGM$HzhzIi6jO( KIDAJm+I4 KzAh'Umm[[!ҺvtiizZI~KQҭ,~/ToUZ}+~֑古JRI!$ׯ5ԉ +%O=R߆IizDe]tIv)-/H7PtzMoKKҿNN-/IizIizWz.I޵le$kNR'GI KOI/im[KKm$T"EkҴ%Oa$-'&޴.%Hi![i}Ul$K M+Xh0i%5A@%DAH!BźVTTL (VrnFFD&OQB# & #Hj5> A j#r#pM-%  G| #hCTHzHF=R Ai6D 6@tV٠Z^=:kjڶC"Z]}??-}oo֗I%Z]׭akֵz֟J}+ߍi^*QK!K֒=R$ry뮘Iu_mZ^_K]$JZ^_$u}% KKKu׭-/I/}~izI^~I$tU%NR'I_ֱWKKתꓤI*Jm-'I+I+KKK$Vm+JUIZ%I&6+J446CCKª[[i&4^H0״$TD! !4źVT@*2&2[P]&܌vVȧ0A| P) j#r#pM- M%#h>4{kt!1U MH6jO( ZHmI"N&Ҵ&6tARUmm[Vst$EZii%KI$Z K>W#ZZJ)x)uZBJ_OT$KK'pMPA-W/I/k%}W}%$'zZzI/K/I/_]%i=$ֿ׮$HZN'V׭cAuZ~o^%zIRW-ii:MjH~V+I.z$޴h4[Cm$4=A*i~Ik 5DAHEDDE(6n"aDfh"&DKoX' p(fhe/afh?eFI=tM3NӦuAsZ|F{ sD"yDIOs1JfM9U>*%8 NҏepS>:ߟxG#㯯_/MM_zM184BЛBP +['Y:/(Y:~>"pj5CDfqGKD9m~sySֿˮX}MGiCTG^+Y%>C Vs+=1_?V~?_}4OKAK/K0 @[}GPbz> r}}LoJ^L>CA y_z[GY(}wo>u|O aoK8o|c[ǿƖ>u _[I~ߟ|^?ץ__K#u$ʅR*~KGv8A-h0z_` ?I f+z^f+jId]I&WI&{i$0#@:!$t$ II@$#xB x8 B E~xP haA8';FfdBk%]mЈA hDDF""?nPO]NM#D["(/M2@@R{V#@R/7[|Ǣ +m77& ҫuOtC8 ]Q̒ޭJ$֭ 1U~^m ZZO`zL4a8^?1Z+ /fݥ?G^%t҃9  ;{ZQ<3[$t _{4[KFK~kI^KۥL{]BU~bkKm|%AB"7=R`FB+*†CO0P;MA]X i լ\G)d"fV0v/'J (HE6TɺW av aBf0z + EFa`N1 TD⯫ 'Tӷ%vO#PGn/J )A &au2鲀g8JRѩvpVoճ! :.!ťm%X(=~謐KtDAΨez:};MPI~*pO!A|mSqJVWp>fŽ/н EIWϏ8HE?#LT洿<~@~}y$E1O@flk)d]%(sЪ#0zK$rn + KG 6ҿ_gP{_G7nICkB-GKi +2hA{/}]#8E_?zѤ}h?sow_]{z_B\I6}uLIq +ttuK$zߋA Eu$I_ _>q^Ib $!~D\ $ykm.=o:?A Dz8^HRƫ\H&nfI+FtrBh%IKoB1Zl3%ZKoKמM$&ꗤޗ aIt#TNa1]?M0a.oK44ӧZKf.ãaa 0 0׷kڬA0d!&)MPd1j? +{>1iT&4#$- +V3#ath-a[~hH t8B8_DGJ-DDDDDDiB#H!1<6ͳl6ͳl6ͳl۔ nO-P$ܜpN 8'pN 8DxIJtE6X8!`[" :iAO= +zF`@A7KJ1KfjNRƗYaV|n7W״JOv2@u#!G3a5^_"47n%տj!e̲MǗy"H%A/BO޲@L~lksP/VL܇`c$^05Fω&Oo__6t+ +.0@޿cV>Xt kKCboNT< GF L3Bo!ZXaix!HG`]9r|) 0xh5GAzS!U|Fz´tDxR)=+XyO"?lp@0D|QmV'c[o##>":@IK# +]z\_b"ˣ[[JK4 fJfYْ)d(X:Y@e eF9ܡ)Ngw$gZpmd|ԡP.@9]t<&)Qam +:uT Qs4o$`PgNܕuꏣ>{js}ߝt@K 3wi%Fz)n1>>?YV +ch6$и?rVtVCV%GGàE@<{G]/izZ /+ 8'nJ 8't"u_M +z_IW"""3ɻWB8I%^o^G/_?h`_}i_IK_z~[Y2_e+V1Oflk)d]%(sЪ#@/gPc" r8aPZ'KQ֚*ցt{wO? + ~)_6P ~;Ɍ]Q0Mi}i0]w???#4/Kչ_P~I;n">ߒ/Gу_P`:#>z_#:حWIPko/tXI)%T={JJKoo?R}n#Ixi.7aF?"? qZ(R~p/G_ &4xAH Miu?TIXA&%-)Vi.?Itk @~.np[_BL?$ a=>Bz'PA$?ARm&&REUVh^!$H^L^gG$F'ZG\0tcZ_xzX_? %suA8[T_RЌV C~$WH1,ZKoKמM$>Ai#;K/I/oaq&ZE8'Iz +KafEA|a5]ޗhicb# `!4":6H&PJ0 {yƸA( D<duA5Ah* T&4#$- +V3#!&DzN Bk  ~aP>"#L>S &\öV0o-.5a8xqi.)Ɨe3_kd8{=g{=g{=g{=a:8g{=g{=g{=g"cxa@0 a@0 a@0 a@00 a@0 a@0 a@0 a#uah +1*~?~?~?~?~?~?~?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD]Hɱt#,TW+nh"YSEk*h[ 83yBY6 El86PYLz MaO46N4t|?Hl<6e +(Pu]t"#F, \3a .zBI(5 +4kF3@]!ނtAޭ~/Πy Vҋ#A֗eNc?(6c$=1+ϩUGz/ْlмHŔ,?_3G)4B.58E@OuH_g/]/i4@_*` /#Y#4~f"_)EYh> J"uY/?E/t$z9:_ Y>ʃ"?~h(ak_y'uccZE~p2}zE|-]aǿR_(5oz~[+]|t_ES߄/莽b[ce"1^Ah,iOwK 3>XaƵ=.%K/_~?_H΄=|_>z_%?io\tBGJD?J3Uӥփz_/M-q3KPEGph_. D|g `J>-(q/tK[Koejqsk5{\#0!/9y/X"}MZ_1J"|*SgxAzCGT +}?/sKdTmkP"^IBhk_e AXEn88%ZthX_i ivH#G\0a9ĭSV[o@[nG]&釄~Mu/I/IK-#n¹>3rlKޒ7M I(Tq#aֺoz_[I#?蓒@lOtItäF`A0I_, fDgɱ8E %$H"ϥ&ϥY&Aaτ42C`HőGR):>bD\S&& : tAAaA$;IјH5b! +P. ` - $Ru^D c QwYءܷJ pЈBŤLT,B -$#B,Gea[FB"ADDDjDs% O¼Sh6fbhu}G\hl""".)^0F8)0:kRpiPݮzC\aJⱰ1H+C(!A<>>:h:=0DcAlN?uBqub""""} B""6G*"= ,;=I)==xW x5AxvBzF<%5 +#f㔁9 F9 F9('xn+d[s"h(A A!ilE9 ~?⼦>"ǿTDDDjnJ/I(@jtY\>>>>:ꏪ ]Ї,0b/ DDDDDDDDGi\lF1 pU^% H{+{[L7q@jG0gN8@# +OK da2jGA$:DtHtm-E^[;DA@ ><$lF AJ %p7H-ʑ^ $)xNF8DuZ* ȓ&QVĊ؃fJ):BB aN" x6Q7a@䣆I0Ãe%*$N8dpޅn}]SiѵLixMKDR*-sI6}C 0BR[Mpj A;z'G, \3稹WE%+ʑF[.&%6PH8k3Fc4_mCz/s@8S#DD{՚o.,mv`ȝ+g1CQ--? To镛'غDr_>: G}swK^Z_ʜ"HPy{-KG΅9RY_^_'8qlgC~?5m*E^B֗$#F:[7G!AyB?3^o/\D^u-G/N(GUYL0_>>>>>>>>>>>>>>s/AkME?NcAK5ڬ⟠a0`a~ppiϻ`!$0sb"""""""""""""""""""""""""""""#S`AJ#s) D>A? ++++++++g+++++++Ѡ|AHpdBh1S] ^ I*DDDDDDDDDDDDDD\DDDDDDDDDDDDDDD $|!KN/B"#!m0HDDDFFDDqJMD"Hb=n @="; ɐ 'W!bon[|b<ԙ((`9[(P:@En86Rʴ 2~<r硷Q$:ÃlQ^]7Hl2U Dh:ᘄY#0oXg)=jtꨆ:Ν(xn+J!v0~ehl%ņ zA Voճ! :uz/^%X(=~讎,* !Aޛ}//ez:};NŐIպ5|E6nHC=^#}*s ~算aA􉰀 0F洹'M[eZ3iΟÂW/GD@1&9莙! x>BykU "O(_Q!ꨡB"$dtB.) ͔W}-{*k@2σ#ʘ1?!zW?We5 ;G@y벋ͯ5.zD=z_> 0/]Wk]-O0-#E|?KWwy#+l6\G8JhK/󃚿~kDt]A*\cѤ (5툘u "N%[v"!/~0raAjϥޗ}k1-Hdj)륥 5,6}uz.%/KD [>t貙O :>Az}xF}Ium,0\PK_<[i_-?eP˜1 D.IU/˅]{7Ok| "_ ?=-k?RK;jQA$/pI-/6 _X_^['pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'M $ mR]E"??ZO_""""""""""""""""""""""""""""" /QDK~r/KUΪ/)A Dz}>R[ C'ZEbsg_iuW[ail)fǍWPh-b5<[i2_RЏ -lR1t8"?0ZKoK3ZL4 $ߤ7Ï,EՆ%iA7]0'Iz + 9 &'äߤQL%MxF%mVs1$JKaѰA0„zQ_4AAm&5 7C.2:DBLR 4lKAkh A N b?_ Li4GXHZ AA8 XA:AD4#Bu Xg0itm""_|zw_[;KG(D)RNa= D#R)3FQ<ĕ3l߄T. ƈ:PgOJak>[䟋Ñ+K"#\!'MMnUW1𠑏&Ʊߢ}ℎQlE Y0e$Uj$8D#ON"g/IhM aBf=fJTIXNN4t>(x'D8wKZ 6zR6Qς6.΄DqihHh/0vP04pBmz4I9!@$ %pˍo{&ql5Z1߶=n?΂W?,?>)zh}DF( qii[o*a/FN9TolA\8~"" V%GGàTya?ju_Z_ EOoKAGn$,^KSX + {>V ^1ނm^pRc.3qJVWp=?(7D_"!;S#ꋯR-a /HCU3gƎ.R&h(A3XP>ʆ x&S}LG1F]/i!Y#t:G0+Xka ~??|E7"H/O#Ϯp/ ԯ4p˂.tBgE/t)@>ee9{!xSؐ">mDQu#>G#"8k3GUZWK_{*k/g}(OWĠ:PUm|79mfٶmf  DDDDH(rv'KQY9heqhb] DDDDDDH?ʵD]^TWߏK]Z+5dC?e:7ˮEwO?w׏%&㠐"VaH8ia8'pN͆aCA>Du\?5Ì[(I_?]BVU !K.Hi2it`DDDDDDDDDGbq9a8-#8>)60F=0~#\ct!F^US#q]}{z_B\Wh?W|Gf sYrCXI)%T>_im o4TvTlhNO)u74XAPB?]1Dg{ׇ~L0G᠎"_jQ":{#2[3[hpdY`3FƁ 0^i\xO_<[}m-/ 8XfE:.": H@xVAǛJCZ6+$C8::xKmsKO %x! me |k @]mmvEX{GXk! W>$I_ _>mGTm +ðJ"C PA$?^S_[ ,"8_/; X506'GgG^ $y%Mm"<`#B #3LzJ#DK#` ;A 0Kb#( 80~JZt#:bp.G$` +FD}]{yƸA(4C a ?֒ HUs ?DDB""=-GTyc>M=tIf}'F`_cFpYp. `- A  J' OB8_DGJ-% BhqCZƘT"4 B;a|<'҆JvbÖHQ![q2B>egؿij@m\0al\361f-0 ğVTH&ZixMTp3|3nTM(DkS' ӷ\/m& 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`e,.S4(Ő3iYn"""""""""""""""""""""""""""""#pSD5kt.%l6kai9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$-A[FBb"X AֳHDDDDDDDDDDDDDDD4""""""""""""""#}HP~~i [LG]/KI8EV/e +Q7UBk/-&Ui|WҴf}IE3|tRyVI) S>f(S!y^o< iuZRT36QzK]&".@g0F;q^Y&eA|O3I6:dSyaCUeT/H/85~._5T/64?{=_ +_.@^ A׊MZ}G(_[?\~;%ձ| +5qK anT%[v|^/Οx'K@}mtV}-~W1#^}-:_\~\:_= 5:U?8? _~\_:ez^/Kl$z___5RMj=./IAjד?-gDyPs/_AFE&?DBaѰg]6_AÉ`BY.ãa@2:\~)&+bc@ 2d3H#j}:UѠ 5AAFY`k AWat ~KX";4$"#cCHB!НCB^_H q RB"""""#WޥJW %X(3^}i[~ޗU,vhWwضWSΪ=/e֒_!5_I_11e 0 +pzEɎ?!"__|?RN:`^%/G0E:#fk0J.δY_85y fnXò8yB:ͬ5$=< +_uE?%3e +_qxefsk=X3~D/y!e_fzH(akZ?ƿ(|-K*g%?^]޿}I-8y+D"?_Sfa 3ȧ~"K 3AcOX)DeB5>_Z_:tC^NysOGݯyA }p0jϥ޼W~PC_S?E[*g]_89ξ# ݤTe += 3G6G_Y.7u6*L6o.GAO9s?/]%|EK:ء_P_u/Wdv6 +u:9D^9ğǍr9$uYOK@AK?*䆿Ϯ %^}S VpNϧk?i5g?[>IUl/T(-vm?_i7B tb5Dq}.z^ åRܭ%a8j)$8@ZA0 +i 588Etl4-`i֓ v&ϥYèA0ZG!uD]uJ)Z m -d9*,gtfIؠ7K$jZz[:l9QQ * +6" cb"'6YpDƿ2ܘ0$`-@pW< c&] 6zc e2 _Nj'2:w7A8,A.˲.˲7.Ib!GJ AhD4}GT}꫸GqKcQ o]kpKׯ^Z -EZ"r:>EK׷&HKsyɛC7"hW՜L…EϲYhfڼɱ2:Pᕵ maOd2VӃe$vl LL6T+ n[HMނM@PG(LXg@mdN$ӣj6깬M/ :^>0ύNV g4 .z:b~}<-"_q[mYp']7EѢ8PaHmiy^4c4_(YB0P CA~&䱿-/dL?gTN|ެֳypckWF-?/ ѴAޖޗ}}L>IeGK١^i ~n$(>HPw8_tJ"P畄P!zDt]k1 =+A% HŔ!1e 0)\pe\!ŷיBI({##zAc/aMh tdox/z8j6qgwڂkܕy a1iYҋ< {Js//iPc3#`j]0: L4=h=ac+pњx`5zF8Eg A@瓆t Q #qdWJa\%D{%qzK֑]GZ-]hDhG(hZDFG3jL4 @ +kJ8y=#_O0>K HKoKT| K*giSU_[#[#/ cK&We?PP'k$!yy mKNў{cD"?~"< +$H( G4 SWDuI"?-BDeZ#"&P^yU_kS?z[q +5l( K+ WxJKti/OAmϯ_F튎CG#_G_j #OCU^߯⾁ΊZ]t I&OIN6_h/D4D(hH wֿ(KZ?x+CPÍ$JPG"9zz>w<ȴg/Hd|!7fO_.y8jt$A~IC 2|#3?H%sQJ"yQׄ \aJ$I}%|EkqNf t(_ إءX@rD-|s_$k H_TI}~#D~.uf7i K 'Iz_W^[* _? _A&#H"?}./ [ 5 lj =X1 B)0 @$$_FIM RH0m&IIwߙ+Ko@J a#K\$Vz.Nq A$A0 }G +smz 5O aA8I4Ji-gkI }C7d I8 N`N`/Hᯊ@ XIA*Vk RPjKHZ> 82%p`" .NB !HEB"?I0B)c[A DDFL2G""""?ֿ|3l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl٘fٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈""""""""""""""##. 8'pN 8'pN 8'pN 8'Y8'pN 8'pN 8'pN 8'lQq->>>>>>>>>>>>>>""""""""""""""#B"""""""""""""#+)eRFU#MɲeyO3CTxpB:6ӕg:sn6Id&I"aƃ d$CK l.l's)]28\U6Su @P-U&'u@-i]}L. :vL庖{pV/>΋IiH>3Y?Se/'%6v!ťFN!PO'izZ>: Ecx7,ʠI7ZI +I8ElG]/K)J?#1e sD_+ +"rߐT :I tdo}^>;D4kbp~D},בpr^ >+D},菥t:~E6{G i~/ooK-*[UOنtagq0F;qwXu,֏}<0C"},P_"KoKţPiR-c:_֗( dGKA{z8t moEk׊gk o]i{/Ք ,i&d?euB>-/Lis^։,yRȨ6i_%]&>B?P%[vVK֑1#㥠k튎tykدK)[hRl;oJ}?"{!IG Dmm!o#N _?(#?$ <|ނ8u/mKvo5榗$JQq<j.U]z_O /$&G3S_^Sa+DP 3#W$$:ڎ`3B % ^ hq|_Y. +W/8KJkikuaD/8K*d.qr_q$4DgG$/^?ƽv1-莴Hj\>_xa2A IkKI-c#IA@+Q:uť^fa& 90~All2 5*!ʡ"k H20aA8I34|aѰ̓FK5 i^ x2 21j<㏠# džPnT ),XL,4AdV>p/U S6$ A_+DDDDDFDDDDRѴYVw_3w貭ĄȘ!}H8#GEDt2 CX6DiXDr}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Gn[afС29>ܭ)PL>(%wmAz%+FkL-Pʪ:pgZ2ZC#q C$g&RpױuIʣMF Fp$ 6zo3:^E' T&yGPkNgN/K?mm&QDm&Q Ol%4?ɱM^c"*pSD5^4 \ $M^BvH A=^}N)"]V^dj/7z]fzVʹ"BIj_꺢TTZ 7} ^" %DHB)0:HRa79c=YGYsp /HCas҈0 3eEzEI (G(iJMucJML?_ȧޕAEZZG-> (zNΚ_ߕ KI!ZAYV %T*)m++x$G*< I)!K+_I:* J mUO皯A Pa-!Ax(]GA5`^ @^)Ckϥ޴Ks}}ɢ+:!#</S?Z^EI)81:!#3$&A@D o}V|0~ C+PU%%pAȑBI馂 h h)Ͽ  >U +#dl E: kG <(aAK;0>h8䇹q-ԷG.qkނ "@r-^+$J8NF9,?ԍwvDc5m-xAsp׿)bH}/o`:XA  ܷTޕζuoz ΰ  tʜ >k-C?8 MlBX?|s8 /׬}IpdvY}H`vK6f#KD|rl##"=S)9A)9sB $2V.ˎ 1 ZdqKvk:?A D{߂_^"+e/ r2l,}<5 pN 7#r1`q # +(ndP+c#l+i6:88Etl4DA84ŽEP"""""A@c;7ʝ, dM)aAb`_bv z2:\qD~0y9A|DF4P& 5_"@״g8rG;vrC a0iaT"0hHGkf ~U x@N LO"WP}[?0q;kD~6ת3O +sacDOeهVZpE9crhEcGN8C}cWJ^ƾ#E8"?܃qFGY@s#kw5B>((GGTqiKN*l$ӓ P8Ꮬϥ9)mDpPm-qB?kA5Z/x. +\G[J/ FyO +{,8">l6tmXE9Cѭ3phDD2,gp˵ """"?YjءD i,#TwR;Dtٴ(LVml383f=f TgJ+GN @+FKQ1.Z22d|Z>:6 HME8`Ti}2eQ-ʃA &l&n>6`i:H5PA <&yGPk~[.|-2)(:mi2/Z:}hj oneyI[ +- +/ΝV-%4C3ҿoKBoI/= | $}QQ]QQKBBa7ƗdE fI" KgZנa$\ `W#8AyYGᇿ]tl$qdWJl:](a#"-{*k K <֨,$Î})CIPCPҔ4*gv G->֖^yc+H"?ZM_޿_.@t_vL0"?*IWe"ҤrIgP HYJUXDuJUI55q%"2bn-/JquD{6< ƏquK>ʟ<9g!ATy#uT?_ #}H K$_W믭jS?_ ?˃GzQJ A~Z J Az(ֵh)-Z--I'-^y~8@? V& D~ @u}PA{_-u3AqAt /_ }N:>_/?=XZζu/:Qm i~8 MpB_Έ )Np ϧP"vk5]fٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶ KZq_"׎DDDDDDDDDDDDDDDDDDDDDDDDDDDDDn|_ʯ: .Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"zMX1 }""""""""""""""""""""""""""""""#3Z_K aZ3_Kֺl8 F/oկKf"G%}^:M08& *ɉjpapc~ uH4f %ف})Pka&04!0 +`1_L2!1nL1QKbB ia AL&ADDDDZ@E+&hA9S88BJ9v +I#yd*'Z j apEme>>""#8{4jj4TqBN&PehtᲆR\3P[85 &{Jq +Ν&@/ehzָqzY44AYAm/p4363\_᤿ƒTgKN!ť- _.Qz s5ϯR +k# a# }ʙ:I[zUi'I/xD0KxDT=ƁVʅkVy mI#@[8_IY:4q+cIYEƟ4.lrDE? kKr [_e KΙ0"b D}8]HFW#:B$%]¢Uz>/_L~#\c?o_Q#z_8i ?aT>KKVÿV=gT=\e&8"=I$ . z[UKA6 (^%jA{6P:_Ď9 ~D~8 \xOGA&PYS_*L D 6e#Ύ!NZIL&_ttM/4 ~+$]u2}x@Jaf~z[^Kˬ?X_K  L0Tz_ Kk/NBZT($Wb^#XBp5yB $k%;N<KмBIp 'I\Zt~@ :8䅥A&#]7Z_#OG$!I`$$F5[Z_G_M IB#!R_*2 - +__@MA/Koo%ޗAҰaw /aWKak H6aY7խWL>I :LW~ v H' 6`0IG$ɍgҬʡ#?8%A58ǤlP N` 0zLUz ޜ<$t1ZWP; +q; HpdB +@ i +HAð tHA?@V3 A!ҠkHp IAЈaPB""""#L(ț)6EK"92QIE򉔪VP3Celd8llL38pۆj,fPBaɱiVE^aA%G 3=mݕUfKrHgI҄x3gNީ&{I.ز&ƽ +oA}iC8~( ~4[sY5(3I$I\~pSD5-&(^D /-H|P{6R 6yhT}0II'4N&WM֒_Y]/fL- A (X9nA (C*g)_+$2oprSCЗFP 4YK&|}$89EXe 4_DQ~c.Jt4Bg o?hO(_t=\tXC F?~Kf^ޣ~ʳ_bHSΖ^Ҳ0RNAD @C |Wg$pHA _"KoHihFo<?},5yyyk>y m?ׄFf[kYfLV4e }wAz>>=(Ec?I0-/K5ߤ(6l9qaka*fflSy俓Gݮa*pG_\C]#b3V}-GGK@O<GbG/ 3I?izI6|q?Ϫ$A?xAn _)^A{-/$ <,B ձKA&PKI=/h.}$y2<֧O_$Bo!yxA% 03?Kej/# f)u죯 XAaz L0T5 +W>jyxhPHiNBP }$/JUKtA u %5$*"=_-%!tPg֗ǍD/(BIi WiIG$)n DcUPϮ XA"1x3$-/+ @$/  RO=%BW[@M;z_8@M_S&R\9,? Gi_4Q:A@+i/ä%BAcSkIL1ä _< H' 7ϭ. ,0ZP/5p*zѤ!|L_:4ogU<뤪z+i~ +_:1-"PѷϢZ"_jQ)(">Qq>|Z"$zAc8::x"Z_ FG҈> VDC6 +?/ zS:uϧ3GH]|s_~?A}La no}8,AN7Lv5D:QoAD}'Ql\TH㨵+ +Ƿ@gޛWoM@*7^GUMCC (E + ~oNmo>WK A(:/n0Ͻ6ޛTo0bQ+me/euPͽ젞?+QE( (AB +P 5IG֢G+33 Q:eeV %`(b +? +endstream +endobj +2 0 obj <>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕr\CEI +endstream +endobj +4 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +5 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 95290/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZ$ |pUG>_D BZH= AnQr ڦߝkTm*O SWMVh,KԽI7"=HVl}cw$=B-W.|E_KH0 +W$߭'Icim__KU_, +ZM_[< _[z%JFǣcK<_֝bq Dmy %HhҴqi7^v B_mqK$k%AV_00 aDWҾhpa  V_@@-JK$x ?'ZzzD0k)辰%^} ~]BC%?/]$&ڧKfn%io%KJ/a ;T%5PuuCI ð^nɟiA$ÆJ4 ,00@@2R DDDDDDDR}'Gn?[GeDv6YӆvF 4ϺAVكŌuVtαڸ"ZȮJXDfVQڧDaN|Ցu ;6F dd%pgF2ӃM"jL0j7Gs ӨI 蔢5aÅ +L0aÅL4p,Ld#:DS F|.O^ k#a۰&Q7GPUʰ3ܨ'd`?2AqeyBt4EoI5ejd۷F0mRȭ Γd<~qiv(4o#CŒ&}{*j>By6p)|BtЛal?FB$ǺˎHԈ\C<~+&ʫ${O!/Jr:M,z*?iW.!<ڱi$_=!_Cmן d`*^?095|)$$VנVU+tړ`AsEkK} $:I}&(:vkYmib\k4_llSʀ9 J&ŝ?z]pZ1_8/uEJyőDkQ0UA5K:sZ~eg?\aAdΚYAa*ebu/Dz2?}i7~"=^cA]# IT>@" ~3#:{)?tOy._u8 _|W&i+]&U/tz^j"ISL_8O5U+KKPNh0K54$M}6Wk](\0@;D1D{rsӵLW6PmA5⵱Y. +IV֔?B +X">NS7Bzŭ.#V#tb VJ%B/l`yީ?M~yt癈9#T7ӯ +_/: !4sYo-}4RO׋_ kב5keNuuZL=.=Y G*^r|t*!Ћ$wLI)) !4/$qΟ_z_;t$ X=R_4^?ZIjϯkJ"MzK0 m/ _u6aiU|/QJ--3ZW_Km$ A~_R +f_UI=- TGA=,]&b$+ B8e#I%ZU_A~,־SV/Fj@w$-V %_zM +j?*`Z&=I,"I,% A_}4ұ3_yCmH0~ICr9p$8I =]i- PDzu]&IH #ʮ{7РJ7v 'a^AH0xҷBۧ^ MWM0iWM%SФzM~o>JKnxI.I7qz$$ޖ1?ItoH Itt:Wi0*kiEZDo$/$/M$ rIlѬ560 һOK( %&#A% >+ PAl?aРA1I0a.qn\ya/b kDT+0 H>/Xeh 5 &IdXQ'a)p^N7L-%$PT!& ~@Ab:A!]!pa hxzt^F Pkx@54 3d#4#GIzhhP!A,*&DDDDDDDhE"0B"""#e*D)q,e!tIITV2"ʲ"cLg^ }Q,ީcA)9B +XvzuϢ Y郆uϢ gV"-$,U5#i/ KpA?I~gQyb!Bai'Q?6ݾ ~[*i4yp"?I:?6Sצ` ⒐1փ)BvB $Ni2>_(G@1փmj h?"/$}Bm-/bαT3G^}arT^=MK*%LzqTN3G^Fsi'Ӌ:qQȕB/϶ôQӋ!!͡V7Ӌ:qQ҇0Dzsfa3 㥝VE9c|J ∏Ns2Y )q~`3ߎu[AK#@_,R_ +k=tK8 P_/J5oɌRmC":_1Em-G'ImB4Du~\-&j9_aukIZVa":=:_Z͌]~u?xʾւ)y: n/'_]~u~~ue_bUVޖ_pU+KK {=/_/J ,POAb`|Ed^1D{tӵLW2{1z"O)PsӵLW?@𗙯ߜ37zŭ.#] 𗙩8ȘXF. y:Vߚ|[-wL0zU?Jz<ֺ}s^ҭ/A䯞=6r)V+_kc5#k0 %~TG]|"?t +a5WDp/oWDp/שWךK_n@.{ u?K ⴘz]$?Ω:eW>cVQ_T_]|Ve_g66UkH_A0%#Z'OM.?m}4,aCCpޝ>D5A m2N#~">CK~"_:4XH> x_Bmu5L0ȯ"鋭SF}~pOg}~`_&dWZ4ozu=WPg'x@ +\9>{># +iy(3G M. 6]%D~aZuM Mh/m2L6]%>#."?u]iF~c@zV^+:Ϭ%~|&_ /|vWKuC͡㲸_/#[fICoߋ--COkZ֩tL?$K[_5Zֺe}:5V_O.hraߥZ + %nE u]i] ,B @P Wz %nE?%nE uy:넖!Ah AiwTcծ(EI|B +<Kr **QV06PPAǥ,$moMnqδtZMXP?IzPtm +2;sXMnqηgG5b@XJۮ/܉&Ht5^@b5⻎E5⻑5 +j>ZA޼S-4 :V=fk(m (z[ [F ?Ql O)>`XA + 4" $Nc&"L-RW^8Lz},p϶Y#:egיZDzs)NAN"/vC @mBIim#cւKuy:Z_{(?Q=)E?g9~\ %jp +kf#9/zJKV_B!$ +_tH~uKR_5C_Vӧ@>}1iW+AjCsU D\kh.|a Ik1X?ïeqT^GY?$K/[_kWӣZJ_88?<~zS><ԁ({972;s| ~@5⻑PyO-`>A("=~ji'w$Im߆)ޗKoKm_il?%@&- km&~i- ޗ0 J> sRN39R- b '/I S,2E"vq8 Li/,0Iq+ ^2IxAc!@DhBADGYQoI eo2Gb +)h5"FY&cA6|92P:g&}9 D q@Ry)Pl6 @(`pp漋inÆٴm!o"ւp漋im0el6l6eET* Tvjl!QN0 TtDoػ3Qh&3 "cQpʅU g>Ŀ&CYqL028n.4P}MYBBoaitTDS F4I"nGSiXF - {Ytս?lps.oO l쩯>'抢%$l6y$-YPi֛=* {?I o>(_~[+{lOG|{Rձ>&j6?ZfGAMH6(:/Jr?upSWgONߤK a(G| ReigV"-$Ho<􍤿\/yb!BI/HKD5 ?$濈N0)'%TizOͯ@y$%<:'o8^q 5 Rt>t_нBIQ(փlWm-/PD d5_+BoK]RW^9sLzqh[z_B꒲2T' _m$߲89D\8fi\GK:sLG9JpK,.Tqs$G9'Qz`9CZ`CrAp@)i^0 +z'߷0.%c}9ZM=TN(/cZmC5z]k:5kOe'N_iZ[pIa#aZ͌zG^h+]&UւKuy:WL n/IzMWwI[b׏뷛_iiz}=W-/]-Q~P}KDt3Fbe"8?'^E?-gI0;] SیXu=zO3?n/:ɕEoXs(AuKkUoXa/3Fsׯa_]us.kkb)V]yX^[KΡR۬#@z^k"J }&R۬#@z^I+86_Y  4Vu<;i7a+IC?X}uZL=.lF4U&ʾDl6 &8^YkIu_Y!r@5hsI2+Vc][,$_ C_Vӧ?a"`2OPVߚ V 8:RW^`_&dW}-#>8'o_ /3 .-}XksSZΏ뷲:OD{0^Vԇ9>@G迲9?D{0^V"?Z ƛ]tKojIK(ol| Au |6]%?J4@$E-KnSҴ +iOm{?-w<7H} :WKuC͡3I@&WKuZzۭZ@!I_*0 m/҈m|V_Nk0 m!Zֺe}>ôZ + HR z>շp _ %/s$pzJKm$ V?_SimZZ]D!HKPA AQTc4Ob$*1~ AXխm#5 JaLN?#U_ a#XJۤ᠌Y J/gA\QAUWkKwgA\QAU5~4# =RPIs@XAߥPg PyO-[(m (ryOKIs, $ v )i7 M/v A[I?v A  Ⱦ`$0)%MF+ xo$Im߆)ޗ'a@vb~SK` % X ү~&KoKm_il?aɽR ~,RZ[r-1_Mn[%@&-~% 0M~t%-">`"A! Bb+qjIwAlM K%~?@CL:Z]*jzۡ MxAaEBki7( AT%& < /08/J}aC4(Q'JFA ݬԹd H$ %- +"p u=P! 1I0a.qnZNM:L0LԸ M 50EA-0 ; y8B^L& 4/L 5NA`I{AYZ/g!j080AGH4 ^X,'_1@ +D5S&N)ɂ`!B"Arv !""uv;FBh"Iu}K"14T>9x3Vzdf9ENᲫdQC /. ? ML6Bέ¨ "XMg "VCZ RQh*Jz 2S FO齵( 1m40?nGSU {YtLMKe C=: + 6C|~/JlOG|{/__[Wd?NA)_Qyb!BI/HKEh0釻|)$$I9j#;ioz'_1O:u8kAB#SѢ/!uI_/*gKf-(~/?^YF_HADC>V#MgUts镞_O/fG92᝴n0?3GTV-=~_E9@|'L1߰# Iji + s5HKK:{)?t~Kn~"WLz]~x֐/J-R-FPrsӵLWDC+4Xbg~jUoXs]Vi_NAE]DZ3E[^%z($}yTZG^\$&IB '/I[zb$+ 1HAX:ŝՋǚ?LN Ht5\}5⻑(߄ } A% QO)Jzޖߧߏö߄J}1]ݯ4~bIbz[|}v6_0)mߏm/-t|| 04Gi7m4# Wi7J?`Mq5=[OPm& i\PD4\4.  TKaz0sb 5II vpdpl1B | aA"vqL& 4$hKXDa ^XaWIT! 9&B;CЊB#B-(DDhDDig"(ȋ"cL#!lFf(:*}Cel A:ɦp";ȾUQ)2_#yFE3"`쟃>5dB"Ul6a6iɃa5 (ͣZawDaݰ6 QvÇ m!iLh;DoBn6-: PM{`+W +TFaU0q{}E L&/L0 9ذe>æTrZC_O%AeI g&ۢ! .Lz 3ef2~gnc"ח;hu_1dT~n)mzF`aP:u_[a[e?eM2: + 6Zm%ͭ(4#g&]$$}ma QqűtqũC=~ +RlRPrZ|?ۯ'o޴ΫDo:4%H#N?:IpXOvn<GoH~_oHt%w /՞_(_?$7Y$I _ukaN1g ׽,K-(K%oz)]Om\R58 ~pk#k\9(0 fi'"K,<:__g836/#q3^E_^mjjNt}/j\鮗G ϣV+=y iBMt0 C X"/t/T+Sai/d ɅX5l1Ћ~98ksjj`J} IG |ZD >+ή CI99k]/Q#mW!x%`lᩲh:(!Ηo&!^ʡ:Qnʬը"?]{VZ͌_udGK3ϐvN/i$_Z' P=zK\_rlT +J_ T"?0ajߤߏZkpD]\_vP']{(?Q]k~f + _/P~!5S6Pm_K׼OzAZh"_s?^ +n-YBA%tH8 *b^/:XKu !4_Ύ"$"&M{mi5z_v\Sao^G(a _I4z i䀇oiaDp/Dud\0{}GϫKM">}]?2^ZFlۺJi~-0Ҋ?,7&ʾDl6f_ +Ë#Z|+-b>#|r@E=.VPqAWa49 =K-(]IOCӬz?KR.9tub-^[C?0p?V \%W/^OԇD}[/!zXh/b/"?]G DYvxMϪ/߭" 몯KBKKzz-//_.@i~/ ߥu_[t--COJ"URsk҈@T_Ko-.i:+x=T[}.zsf_;)nM][ZZ] -)8?_)^65 Kޗǚ?f_࿯ +ץ,% A_mS-r%z}/rC(ZEaHWK}/KZA޴[+OM:_J[ Dx__CPQ}޿ 萿 o_%F>z=+_8m>"P.:zWaҿI.!0R. *La{Z\).% sR0Saw =&HԗR 8 A[uW`+K0iR9ZbK8 )2 AΡ<$á93岁)ElVokIqRKi7NH,G + UBN7\Z Bd:+ ` ~^m +ӈᤌ2:CI P^ +_) AK#D:6H*HD`! AP%45H*I T"4"FDDDPB"4"""""""(!ɰ;FEH"#%TF"ȷEsn\cgÁ :gd#hU",Ԏ< O;1llq'1A`p>E4'4ٴm!l'i + eUYSL3=eU֨a,im 63-Ąt-DK3W٫:uw +-ظmB$vD&2LRU٫ &6}AIP"#}7 +wTȃ +aaHC)70As ӝ$Etsg;XkaZg;XkCɶ#E t߷ +KL8`ŗIAAp 7t:TޟPiwLu:UT(mB,L + 4tNu :=: + 6C|~TE7MC4CI6H +B\U[ͭzuv$x[ѨǺ}/d/^5$#RM ~F>=ӑ8"Wg_N29dKmmQm${OAzSӜgV"-$HoqJ􍤿]S,$J/K~PK!u5wo8(C/?6#I/rS#i'%YqK} $:QssCZ@H3Ro}'&?HU~^$szY(pV.+ Lzm_AZ!t4`9 J= qK}/?^Y%ͯӋ:q!/7NM + :!SD|SֽED B!㥝VE9cV{}z sሴ"y IV^"/t/TcZ@L{}q R4O  |qTKbSKPgIe}i6x>-P"?MLZ|IKi-Du }R`I}-'qKIM/ \56U '+]&U[ )~*J ZLE$j>UҴ TKn቞#$U#~<Ҵ T"?g10;]^D?}Ab`l4H$`T'}%IKn{(?Q]kiuj-:Ys룪0𗙩>R#)U%I%C4H*'"֗K9bzH]5f#9/XJF` $zh "=izMA/k׶Oyt/Jj*ZuhKҭֿgWDp/L1e a3~P_>!>_IR_]|VKcVQpHNP AkqP A~Fʝ=&IXWƗq +H_A0.p~UO* $/ x_|+/k_A c}/Ub>G4I:AZH -\$_ C_]_i/_ /(g5JD $ ]o_너.a /[ >`xAZ R D\^Fl5P6-{t `xAZ Rׯ?ZQ߂A&Ϯ-6]%o!2qa&]uWAx @$]z[RپgsΓ~/X<=H\U/}^.piPAk]/X5͆^^IJ"Aֵ+ѭV}WA]e:t]x@A>I6D]cʲ]x@p _ %/s g%nE5Nz`gL_I(A~=T +1xP?_UMQ-.`p K)W/\|B +:_(><ԁ Ukejw8oce9Mc(P?I|y_.ֿ ΂zWr&"?C_Ifik/yCm0~IC~{l_` iu PD{ $4#9o_箵 PD{m-^bIbz[z[ix _-#ߏ߯@vWm./3y7[KKam/ooح-JA(aimoKpKK% ??k_^-0&o-Ka7_OI!~[kIa5Tm>"@CA DQǤ߇R<`O5=[OHHJQKeE0tʔil:K %>o"k^O, x( %W=&:LK[WT;&aXd%P ,j ԕ;&DF Wt3p3A V$ XAkaGo5 % cXk P^vA"WH- +++B +T) XB8*AGFd +! Q 90B;CЊB#B-,F-44ЍBB;C4&H!Ј +DDDDDFDDDF""?v,Z2(D]ز%hȡKr<#Ff(:*}P• +Y$:$'dOVS""Gud$:$'dO- ma`f|6UldFl2'0la6 q\l;LNjL"s 6ͦ)Capۆ(UeB ht(MSQh6)8lM.ꩆ#$aŒ&aIf*mpWqwUVOnC QM„{ : +UAx3 Eef2g_p$ANBvͯH@oӝu/!.tWz~ڶᲰA[8U#DޟoY\U[ͭzu__k]$MU=6(DL_[jǺr3_]zx 6(&MB8a_H/ O朠[*>_MKzS(@먊D~z_ T"?b\kKejmAM~֗ )"۫"#믯e"x3K}$҄{{))Z 4nri:t]i/:YtPXbgւ ~aה_N#5E[8h/6]y@+t_r:_~ Jy>|9鳑v Jy>XM}־&KJU]aFi %[_^:_fW_i5>#\B@KA}m_Ku"=h/~tƾF뤿K~랿o,hR(l4zˆ~=K-$+ H&.~۬GsD'\/ g2?z WkAI03#$Ο>z[}f@$irORׯ?_2̧0H$9߯Ώ뷫Y |=gwI.4K_>kb $k_?ֿa&KIKGVHb:L-*_gz?~V AK^zүAm/8;מշ_iZ=+H Dvyht_OzV @&9"='pA}O?HHm$I'L>KM؈$$ BEhA$M?aH8E|D?F/0  B M 0A1NR.O0zL1$i6P<$һ=P㠂 =}*La{Z\\i2)xI@ ҇zMItȠ`kx <\i2)xI@ ҇zM]Sa PʠJ+b+-'RA~,z NM:Q_ ^!K42]RA~,z NM:Q_p Bq dJ@ bAHa$0@ Mi D]M k *[Ak +@ a L& pkH,j%ztGFd +!,BYA0E8AQ:0ZCAN)!j0 !dRi D i)DthM5R +B#DA% A:iI RF#J@t +FDDDPB""""""(!ADDGZ","L" 3Y"14FE5avajpU(eZ/u 6ͦl +P2=iABe-4znB):-}$p}M=hp2aqtoaa^74ߥL@o]&ޟoskA2: + 6כZ YPi!mUH8ԁsOgZ4>=?FoKߤdtiў#N?/Jp/&IHm(mߔ-$􍤿H&z/0z/_g_(8 ^ ,KB $NCZp M##E9G9 JyS8|)#לYP&Ge3ϯ83kЋN,'_FoV{qV+=.Tqs$G93d# IJ5oH_"_S |ZD҅x>-P"?6[0:_K?3 /%N":Z!IҥD*_&U]~A+ T !_Ziizm<_DCH(Oee"b)&-YCa%txbg~:YqkK ^f"f?tOyU2- IשW$_F*WDp.D|}#">}]?!aYF#M#+-b> VZ}~5A0$zRJzcnzS}>?~f/ 2+Hϼ/׭/<Rl/+Apկ}o]ׯIzf`_|l| AˤǮifICBO<_ /\U/}z_X6(9D^I6k]29Ω'_sksG %$ (?? <ԁgG<ԁ(=V_WamW~UuMiy~0~IC.2*?~A("Ja#18_D`GkAlM.SV!0_Fz4m&< __09R__08( TzL0O3++-'kŸAi8A6zh1 # o6?8'a a0a([^,^($e5TЎBhG@DhR DFDERܲɽH)64چv|#vc9#SP-Dtg3`0y+P;6ᲫdQCgp%.l 2ᢈL0A)Dk-â 4tJQNUBX`rDME>CH tS։ &rm)@e>æ#EK+ypMFBt4EFBt4EŗI&^ʚI@WI8eqVtmm/&]$YPi!zyBTIKB9Iit뚼ԛ8T!:hCO$G3㣠ҺIpXO_[i?/Jpsꭇ~!y%>"b_=!_CiF؆HEߔ-$VN_8Z&0M|K):M_ Ru%zG/nsz'D>)_ID5hg?ID5󐺤I6tqhzWk,(~'XњלYE7y_)~ ϩT>@SIPgWe} +ŪG&GrLC/CLcIBAf_{_n"~a7 +ǿʾ$?ɱP*N+m/C=9:+O/fZ}ZZ^P'\~uL8A+e"DiBn(6uDCLWf/"չŵ,:NSV#t"֗BiM{mi?f?m7r:_ʝ==0HP&ʾDl7Y8ƽ/I}~5A0)?a49 t$_KzuHBZǯ"`2kߚ A+O?AaE~c>ۯbԇy~L\zz`xAZ xMB^}%陁 +u +r:}zA&:t"W) !K0L_AH}a- KKAӚ ,rl _{A$YE:Z + rA~u9?_ Yq$ tA~AP /ѡ6 +<ԁgG(R~0KPI||}&_=_kQAUH =ǎr9 ]Qy8K l AA⼜oһEpWᣡ#[ 0Uhx1^lTM`.*#B&PTЎ#i1ЈD吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂsZޫ${O:}/Jpg:ӄ|K{mX~PI/՞/!^Tkς rH +C4XI O$&}o8~x@VSV*ܡ&|2q|vUy׵H$pcc56\WG{'CB/eRUoK]RV7V,믫d 4yOks~N:Q:_yZ"ƌץ~fȏHe|E"S5{WO"zs_㥝VE9c?_KΟχ0?T8Q5Zzנ4D_ޓ_CkY sc 69ZMʡŪG6k_ڔW5k&bD}Oe'N)_qO% K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z*G~zZh/?m q#ޏ3FbqlW^D=10UbPTG y~"7\g'# +!WŽb֗sk:YqAz^N%c_oa{/v6kkZOy7r:_5I{:KAQ I:}_/gҜG@C?XF*IZZk*8]o,75OnzȎ&I +W묆/:Ni}/©mWa~0V"]B )$>]:x"?DD}$/K~+ۭX:4XH?L] !|-cˆ_D|eD|e㸑_*^mk`_&dW}(]el._rͥqzK,]kGG۝##&A1qCI ԿKAh:_ikIo怬y_.I MNNGO_>~Y AҤ :ϤUe}L6^|&_ /?T0~^iWL_-߯[/ta &Q_ kK^$ uƖ>A-׬g'괮넖!I(Ag9P?-*D^~zm%TKWI|B +/AiPH?%_/(Amm_k__#5 ZTҥ{Z_^$z_?IWZ ΂^ +>Ia*J_]hA_xX<Ϭ?$98dAii,}aXA=uUIv AUtM&XAPoK/& $TI/ЌVߠI;ez7/MI_IzW3y7[ߥ]7&] 7L?`h%KoK}P:][t >oIXA= oKPwAlN7A}& =R.:Wi0*kiEZDo$/$/BL39RI dƵ<9:5]&TzW`i%acT$x  ]& 1p jL642]aРA1I0a.qn\ya/b kDT+085I~X9A-xk4 _+ +?D%:+ |e-%A:#E +pPAA3. !bb  ONK"۬#CA:7DDhD +H0RTЎ$ 顡R""""""""""#B(!;v";)Y[";ErDWUDL-dB"׃>4F"g;C k;|liiAV D-5!C:gdB"j[x&6ͦlv,7DaN|בu ;64֮8mL6B4.( L&/]‹a ŦôL0j7Gs ӨI "5d"g@gvFuw +-$ 8`r\fh(zAs ASϡDԄIlptGH +aaHQO)7ef6V@7\4\fh4v p+˂pXF -zBBd`?2AqeyBt4DP\ 6V|=[6V8zTQ) {mUI:NMXl!HZIť+kuWkMUNDaĽD?b!ԛ8U:z|MH0QrZc?9ů +/|^帅D1MR3`'I7<z Ҝ>괺у:ǽs B?MkHK?O.!<ڱi$_=!CY izF_I#~m{"?#ϳ_^`oCIΞy)l=^paNh+}kAi|֑NH$pcLWi2y h?_(^?1JJ"(DD?M/O*G.+KC_E|פ\8z^ hmVNY#ІCADC~DzcFkҿ4^qdg:שЧ/>qd4D`8(a_qW'c}-H}GZ AւervPgK\-&ePvRg#X>mBG+5ka&bD}Oe'N)_+Kn~կZ͌u^דU]y:0tW"?Kh!]~-?U+KKPNh0K {KnްD}A~޿YkIu_߯qθoKaC_?/!BH_ X+t_4AHϼ/9>RKկk| a_EJt:ȝ}Gx_)G^4ot]#]rº֯_ί6  ORΏ:/#So^f."?ul?_.I MNNGO_>aˤ|OJ+\U/}a-z n7yo "cđRAyg[pKKA]ֵ+QQG{~I6/҈~ҿ[_kWӣZ:++t-[B'괮넖!I(Ag9b/1^A"-.KqE8*SZk +1x_cz<~zSKF?m*N?ݕoY}_(? +<ԁ҇~_+S9'cTSZ^>+I~>+U6F3y >zץ-}SZ^+qT{zA'Ke[(k㯥cf>` sj?Pz_ƅק6G?#w֒ZKaxo%GQ]-O.m_bޗ[*ZޗF+ xo$Km&1H-_[pIUm/JgoJ6ү[r#>oK -L4IR|| 0OKm+Mz[-";XAMm-K$[D&"][t/IIKm, [K`v ޗ zH6X` +a+zMq5մj:+ImƐm& T PAl> 'JGKaIpL4 taPM]'x@_zS'JFz`[ӤAҢpl1tXd&cXd |$áA1A&b`] >^zI$D8A6zBjKi7N %Kh0A`I~L aL  5 &IdXQ'a)p^N7/ b!/&K J`>V$`( A!,RHZ>ႠgOH\B~ ~:"=WXI@AK 0jP i@54 3d#4#B"-РA"4!b(!AЈb""#&HID&"Ȃ#%J D[}9*׃>5gdDRgLd֙Y0g^ ҇ :g̦PrUr+" p漋inÆٴm!m]Æ@N|Ցu 6ͦllam0evpmD 9n$&Pb#]6ݔ]‹A0醃%BBauY[VT(DoQdݑ4Fmén2 ˜Xn.4P}MYBBoai.P3H +aaH7\)IoaMa(e>æۅ +u @ 83(.zB#A(]&ޟF#0n4MDM {?I eqVtmo*'O׬CgBRB2S|~L*΂MuH證H0Qt*V!|!>&j6ƒ z[z_ T8lWs)}ץtUw<z Ҝ'K(I$Ke+q}mX~PK!kK6]PͫIzF_H ߤm%IŔ_K!3j%h|)%$$ʚM#}IvS0:IIIh .='I"(yAvB $Nc&"L(GHmcI"tf2I$c!c! l4C>(8i$9 Jpkg`=/Nr5ޗ󐺤3G$^BJTgL/RkЋ>' iŒ8Qt4?KסY#I)G>Ӌ$qנg4^qdg@1I,.Tqs2Kk"=9^a 0 If,.Tqs$G93Г)z0yKyKWAp@죜sRQZzנ 5҆L(P@(av"^H,vp"i6x>-P"?:[搠~cZmCK-HJwg#^zy'ΞO/Ҵ1:5p'KKn~҄l3U":ۄG_KJK +"?+]&UւKuy:#(3xʾIu n%]h!7?>iiz}=Wҋ-/]-5AQ5WWGN {0K/oK-U99i&+P~!2z S) zK/I?OiVi'\/A0"@>}1i?[S _AgKI03Hϼ/W eu@ ` s}WPr A_"=l/+ApL>=BG^("H^@_K(ol| Au |lK_aKxOĺҍ&& 48lK^0ge@lK^醿ׯN/"}w<7H} :WKuC?}{_[7yo " RAygӥ$D_eqT^GYK u;0Rw8?0 m/҈m|V_Nhߨ~I6k]2!h/A0Bk]2~?km|_k ,B @Pg9 WZ\$&IB %nELRV%nEasItOB ^>!~A6T~jIB ^>!UF?=PÿTuQU/ ifPjHH҇~_+S9E#U5$*/OHt5\}[hWr$-"ᰏ` ΂kKۿ$O5T֗5H^ZdlJVO)ötS:8lAJSmA9<jT=_ö߄J_IiutLö߄J$ۿ"I$#_][ov 'a[i7Fwm&UqЌVߠI; 1H #; R3/ob׳43y7[[jKKa0<-_k Xm/-_ ׿[%@&-I}߭ C Dvz_@A#ޗ_i Bb+qjI& WMAi6i7$IBk|D:Kn4i7 :W\w%M$I/i A%z _l`i%aƩzS'JFäOOK( T AC'JG֑$08 ADBM󧥯I vp#'&OT Mh&/yŸAi8A6z:NMcxAA&2 x(A%`IxAaH%12 x(A00^F A` A_|0H00pa i/ A Ipa 2Ix}` + (4L$HA,TH0I4(A@OаD  A"4#PDA +B#ChG#LZ!d0l"#B""4!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R %QIKZ΄؟D a5!%>=\sDFG&ciAUn=Ny]>83}a?ziu}]i>oE?gV"-$Kg"HmW ,\7m~yYE BS#ɯf8N0)'%_/0f9%ʳ(Iz &vUy׵H$pcc56\W8`"S(QSʰ9 J&ŝ?z]u4<59DFo'^ +}B(~DzcFkҿ3^qdG`2"?~Q0yKӞgG,.TqsiB_ vt|=q>?qΣK V [(/kA~h=0I&>4ֲc^cA# IT>@k>Ԡ2jLĈ_ΞO/SK^__MWL_?%u:A +UZVajkZYhId\] S";Dumuy$4tÍbP~!~lVAܩ)~5#ͪDoWu󓑋m ޱkKչŵ,8=/'Uʱﴗv6kkZOy7r:_5I{:% o>*%~,SpH}g_@TI?_XK^-}zbJ+(o[߷ fʝ=":ⴘz]$)^>zT9i|*v$0V"]B )$>]:x"?DD}/K~KKa=amsEzEВ=}|ixK9G͆^G͆[!$tvJz[qKկk| a_EJt镳i~969/ DTunG۝##&A1qCI ԿKAh=i%Kg-|K(ol| A SSϥBh/_/_ >WA0[im3I@!%L%_]2[?K.I~E&Ş.H [XOi] ,B @PsJ+~)zZTCKi/ҤDץ:XjM( HWA~BJpG}_KPI,־SV/Fj@wI KK*K_#DW<~U=_kR'4@,%M/Ӯ It/ SXaiW^ MWM00MxI/a;__ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JuqLmI-DI29>j0O &rmԐb.P2DW$3u' b2t:U N/V3 {Ytfפf L_Z`S El^\ײI!p"ykbgB$>zaF~E~4J%K\t=>&j6" s {k(RB㣠0mG? g:}/Jutq2pmG]kΫN0#>H_Z}mX~PKE25!y%pn?"kvS0JII?H)ɯg濈;r_'IO:нBIi{_|9񮎐,5b"(^Fz_B꒱8 FQ W6unm נQ8 M'^ֽ~NeTq9BSk?]:j:Ӑ$# ISPg'eu~#^\tQKD{rկ뿿\uG^tRfeaWwIY]`x=\4GQ~=?4VGL#NA1_]qm~߾Z^?B +X"> ^b-zfu|7GAZ3Rׯ4//l`F&`EXK:Ίkk׶ob/. yVa #k0_(Km--&J4@$_immW{>SҴ +қCkSu~پgsΓ~/ZJ{n!KA)ZZ + ih"tIiw ~I6Z ltvx Ș+mW ih&ZPTGAz_-Ҧ z>շ%A6J_OT[xA` lLReLh)&$ J4(.-?#aSo_ö߄Ji֒6A}=_m4:C&V, XAt$?)%M~F+ xo$JE>$ z[)<[!imBm ~~,R}va?g{@Ka_Z[daKnVx/m&K}P_B&$ Km0Al1ޒ t 1 n^-=`# Rd[TP9B_ SA +xҿ6OI%x -xA0>pMK&+e(i`x_PO_K_B +X">_zA P'^-iq"W9΄fIGUc"/?!L`~Bi }>b?a 5_X5&`%^:YOaZK@&㎱S& :zU^G(a_&hEpKat:EpI/t"aB_.#]@.i._xA& .qLGd^Dl6B< xV +e_ pe_ e;㮹sEDl6dcK8Nh荂G:ᴴ|0~e*:y ui$/a49 y=\6Zu>(!οm.aE~bkY%m$GĎ@{DJOp$t 4AHHD 4\ Mh(yuZ^ʭO i>t?"?sSH-}U A~ Mh* IuXŵ_t% -}.𛤿ŵ_)ZimbH}ZOJ+I&s=H@zVZ[_CSҴ +҉EH/sԇ-hGDl- m$ iiZZ$[+J - KKAS#KHGD#KHPTGAzXI(AWq9K H A^C_=)i:+%uy AQc_9 _Z + $/B^ZZ]D!s}/Ah AiwS--."BBpAa#kI|~05 /Z@F_b +KHXH A_m_ +&=,% A_mZZ^n_@-}I} a(Z +n /=,% A_pOoTJ6+ZAީ*KoG簃- OoT3^h~{0$I G簃- On4(./ AL4Р/=_nhP]ROXIXA + KK ^}K!Aw۴7NIZ[vYSB۴KJկZ[v$1 Ko %A)m[}im y֖0H< ]ᄴsBKo+ C 'Al< `^Uo--X$ KnVK_ o---JX` #!Dx /5 $H(-"7$Ԡ!8 Ԓ[PDnI-ҏ@CpA$|x@bBX` vӌH&( _O\p@[IKeE71A[Sp%l @H,26*e%vL ؒ=P=Aa$`L [d Ab?D%(:@4W c M Qx5H,D @- @AcbE_pE&;X#lpE $ktPFAN*H""ADDPB1sBiq "MSζTOY $p&vh6? A6 " aɄEz i0àD'fFBpU +8a"TɶԠ0ŷuX`rO@aALnGS8V(}T-8Mip%_eMy"yjMԛ8T!:{?V)C tq<굦t\tC!", a.!)__<GI 1{I8A6kNr{_΃ 6:uE]? RN +'Vכ_񲏪6_񴓫u*q_OCZy65Ϯyb(j_ͬsTV{zKGgP 9>y~7 0ſI~ ~\tExuwq_^G+wq&}Rof_{_إ׎S^G + +J_o6{+P8Q~=?9uf׭xXA^:7?M{m|q"o&`F㎱CE7=VfyXZ?=pJeNEpJ)4U]o3 Y9'IlM;!= m*Ώk8NhHm?-_4y uimHjWzI#E_kq^ҮD]G@8mʭO4yuksSZt}.Mŵ_sԇKA)Zi{J{n!S +?G ih"Bt_"oI-,#h#G0A~:|B8@ޗAuA'KxAv9 Qw|/TZJzޗРPd^CiOWI_$6k/bݤO -ko/0\g>q_im l0XL< +IBmZ[r,1 1_MvD` K B a_xB@Ca@?Ԡ!& r>rtk MfE6q1AH& kL:d ڵ=P:A؜\}5H,GA Aa &SaK0U!{d6aDBT#UT"DDc,U刮isTv$& vv!Te:plh}.eufQRm:+j 0M8d ptM6lyPӻal0dn`lLvL` +.m#R@M_g&a0n$&PA)Doa +UC(Z'F3p[ ;.34 p8@96e莑qt! S:mנȐjDc,sۆ1nv#0s.Y(߻I+Sn&SJHT6H +a|!i'l*΂M 8 =eU| +_!Ľ>By6p)|BtЛal?FB$ǺˎHԈ"6P* +χޫ${O:}/Jpg:v]Cyb!BI$VzB,5yR > +ȀU *4XoI O$&}o8~x@VSV*ܡs|4VA3^ׯ㶖I"tMQqֳOq_~Ny7pT_h^ʥ? ޗ󐺤/n LY_GDGf9׷A΅>gEN"W^ֽ5_8#0_zjfY+ezO"zs_㥝VE9c?_KΟχ0?CuXhʰjA}#Xz @1쌏E_ZM7}~id4X9;(3aG.ij?};)?j kZ}@e:15k&bD}Oe'N)_qO%殿 &i+]&U/tz^j:__ k_W-/]C=9::+O/ֵ`Г&5V. +) +zZh/?m q#ޏ3FbqlW^D=10UbP/8^fDy_W$ӭGK^h(oȅ_Z\FF-g9Ay:Uoa{ "meI ׶ֵ5\1o!tjzu-v*#z"?GO_[şJsH +a'kK kůUxⲍv#WSt]oG]|VK+_cCQ +'4?_T׶?a~f +_H_A0$}_OZG{ț^ȏz[[[ mֿ,$_ C.KY/">l2">l2y WH/z [ۍ^_ /V LKQYQ7Z_@b]&">Ώ:/G(3G Mh bԇo8~?uX%WA0[_z_;t$ X=R_4^?IzZ +MoJe}4 m~{~I6/҈^___KI 5zrJIbM/soU]KK窖_Il4/UmA/B ZT#R?-KJ[f|~0(RK-.kui}z_KaU6F3y >zץOh{XKZAm_xX<Ϭ?$98dAi|}aXAo__֒U'Kaxo%GQUm4{aoK/& $ -RoK#<7N_& 1 +6> SXa6JgoJoILH 7L?`h0_)*^z_[iۤ?ME%wI 0&avE~0AЦI S_=[O('!y! BaʔzL=A&5&Ѭ560 һOK( %(#AȀ0a`P@aAz I vp{ {Z"^ 5/4Km _ 5 &IdXQ'a)p^N7L-%$P쥄;(qi/0mU +(XU +B =!pa hxzt^F,AgѼ""#B&PBArvt OM ADW;2&qF@H ",*;*HhE-dB"fZVRCrvO\vD"(gsa0μA#LÆJ,Hh8d3Ʌ-<Nu 8d! `4yPlav 6U0dI6I;+9\4QY@M_tl\^atk@M_!bBauX&S0â,+o0èUeBbp3b.34 >#ES.Lz KYqL028n.4M40} <6 <$)nypN+eŗImXF0- {Ytz&Ӽ Ӽ3k3eMu$/]%kL=C* OqO{C~q{Ѩ?zN'lOG/||rB:#L8o%9帅D1Mu)_mmH!/Jp/6e!16&/s B?#jk_BI.~_M.ZՈ I$#i/U?q7ŕʡ)~pmo:㤟m7Y `kz5UqBeYyȚ-A|x_'Iq[нBIr1&I[^$јkA#mssi|W.rT?(0 t__&%e<=KTZ/BS_[ڬzZ"[}t[NyZ"Ӌ!/گ SizY )4"5x`iE9cgFsR|,yΫa"uG1Dzs>afiA1~҂3uqo{*=נ./Q9(C[KejtU9NB(aDi#D߰a ߰a&|om-G<רtCJr5k:_nʬը"?]URLVtRm#oE^uפ6Z͌^*G#Ik3utW"?uXr9 2=_;K-/_Jo/J۫=/uDDG`xC+MւbKKK^zAZhrsӵLW^E?`| '>~"[8ȵ_(uIEWֿ LΎRK}[,$_ C|kƿ_BGB?4AKo&dW}&řg_/_ /3 O}&fyu:?&?KoZ:? `xAZ @ nT5]h/tK@$UyKzz5nK(ol| Aˤo֯]uK"V6A ES$_[5-w<7H}| ~m $/\>N$/KH$'K$I/#Y}-Ii +ֵ+(mk>줝AZ + K_Ao$^98Km&.um}\$&IB %nE],iwI},iw_(HZ]Dץ +?8-b$*1꥿6/X_6K{ ?meH񭲴ץޓm#U$^f&yy9%iRm-ƶ%Tj?*$2\6tK#DW<~UuMiz[` 'p +wZ_hP]R^ PDy&[ 4:Cï7_7#ĻI?/ۤ\~&Ka$? m-ޖ 7bIaFwmo?y~KnKOүKm&aץ}7^3y7[aG#_ەdNnx/m/?~% 0MxAaL?_/i$_B aIa?a,0n~& CHzK1 WM_IKqIlR.*h> + `å~\Ba Ka5TA%&_a\?-( UDŽ F$-! + IׄQ'JFK%7.H !K]~AAAaXelAËp%l MMi2 AKiB`] u=P ,ֻkP DrMIzmjAdAB6X*[A'a)@q ~ [AaA"v&Ka. :A& (tLAYC}*HQ> $M#CX@AKHZjKjT"#4 A0B>)2@DhqHE T)B5QDDDDDDDDhDDDDDDDb#-#%Orv6 %Dge/5 reVȢ =2"mL6BlE : +l6ػ`nB):}2莪-IOZ$\* +KE\A0]$hh.a9 + :s.oOWjJ__l!H[|e8WҪ?[b}./MiLZ0# I4"?) D}-/CU QΞO/-Du[DkW(l?-/~ +I}#a-_e?eXF@eGEiZZ^[ue:eyki G#NA1_z8g}_ii13"WŽb֗_~/!5/I5f"oz WZSJ#_#XF*WDp.8@\B ]uZL=.kJ~]idRKS: UJ~GEd>KkAkָK0  2+Hϼ/~\3X疟"?:D{0^V"?_ΘKB30/uM Mh"pt4,i2}zS$ZA{7yo " RAygp*Z[^?pk&M+ZL^XXנu^98$?\$&IB %nE\/ez_uB ^>!UF?=]$H=^Y"Gm_(=VxqI-rF3y 龶lWA(m (ryO ]Ka7#ĻI?MmwhKoЌVߠI; 1H7m--<-_I'Ko'OI[_~% 0MҽޖD`XK _LEz &oGFAl0\> + `ki7.!$-! I"x_DŽ D (frՒV+-%V (I vppl1j>w/P} `AkaG 4-`\B~  _vUUDjT$g$Gi!J4""(!ADGZ󳢸+Ƒ6Gb*yJLTj|MΛV"D2- P3}hfܲ2*pɎ6 O I]`4!Yal3<' S]CMi(C5Z`Ȣ 0a$ˆ+h \*EGf/oZl2l]0edHL7N]‹gx6l L0 9^ˌe \K$ˤ?.34 p8 +KDA0]$hh.auL6vȠJZ6V8t:U+e :s.oO"Xh}{*k=CJQ) {|!mUTE]ޘ#OR#a _K?KLglOG/S$LEHGE3㣨d`?}Dgؿ]s)t@DZrlV +CgJa!~^+O_gV"-$􍤿V+S{I8A6MuqE_YvS2IIIO$k s 6mu:uk>u_9vB $NCZVA2!?W9}eB\6%dd>"п8mmk6um[Cju< +t[~hk?]6d0ziŝ8BP5).g98{+Sq[P~-=~_O_O>ֿ'zo:afy<ҘaG.ij?i_F?_#jj=-U:5kh9>tRm#죯(ˆS_}z^Ǧy}tWL n/KgYFH()`;HRMqo"?DJ/J۫/B +X">Du_=\4G_־<Βav +`[:9З:n/:^&ޱkK ^f-IeZ}IUCkˡ΋!ށJ~_/f:M_A2_/#@l2}:͆Z- KKA{+J ?^G _?aA$Bt~楲,vURzZA +_Ao_=,[i7o-G8넖!I(A$mJ fBHm$ "BK>>~/^{РA!UQWǧ ?$Z@F[__%MiioKi"Gm_(=VRRP%E_)yA~9PpGK& ΂kKPI꒤AoG簃sS:KIKlWZ(m (ryOI$-XA + J } IKaxo%G6~C&oI.r?i!7z -]j[}bIaFw m'm! %]&XW_[zZ3y7[aA~k KnVtIRt߭ C Dvz_&Dw GIAiIa)XK _LEz &o=!~u'DjI-êXE~ҿI$K`P[w\w%M$I/KBb a^LY.6q'*K^LHZB a{PD4A:PJ?'%Z1KN&G@H,2YKirʲIGMM @%d4I[,t)& %- I S @P@ *<{(H,t-.- hA-J 2 |(A00_h0@ȅj* {J0UB" $ UbF!,W P H %, ЊFd +* #2 6%N!HE!O )R + ! A"4"0BmFDE""""""""""""1hD6,"2X"L"[y/ԎLL3}jö9;aɅ ["Ӷ aɅ =2"mL6B\"pʅA0N]El\*D'f.2$&PNE4h#H=( 1iOZ$\)Ɨ[jPbr*9-qqtoay8lH,amzF`nGSu>0eˤq2rt$i|!mUa$zG~^)3u'#~Fޗ4-PG}ן>ؿ]s)t D޶p3? n)_FqJ<ڱi$m%KtMLq %=za/^! +qI?I!?6pJ:u >x"΃WFнBI01փtyQOלBp Lr>\Rᷥ.+)LeER#gfiCI omt o/KסY#_I֞_ͬsA>5gFMtK:sIz Oߠ0|>B?|?P~-=~_/J^=5=tv?5 r8pKQ-Hemz?_F7߮yƒ?kCAt'KKn~òͭ("I~ GIxʾ_5#5-5ƿ#G-/]- J?Ү}H(OE]k#kAb`_>Duf;s z룪?*|[-iqAuK$/eb?>Xkc㎱_&<ֺ}sR/A=}uY8-}4P*#tO6LF~#@|G<~]|VK:e eJ#M#8NhKsEW׮B )%}/?BGB#ZX?a"`2O/:Q_9#E_kYk\% _Ag렿tSh/U/</eV:GPgWx@ +\=BGk_~f ĺҍ&& 48lK\z ?IC`4T>.:/sԇ)-| w<7H}| 렒#?F~I6k]2 g'_E_3^98$?\$&IB %nEK(?E ס^_( HUTc-E? "Gm_(=VȒK:-/A~9[yA~:Mm/4AsGWT֗~F~(oGlWA(m (ryO WO_KߏOKa7#ĻI?@KG7i6_'a@vb _M?g{KIq/W}Pޗ +A$/>wAlM~]ׄ\?(~`(~=+*i Mx}AҴ0 =c4. ם ҥsapN$-! I"x_DŽ D (fr $L0Id+-&Rd%l Ҋؤ0o8-'&OVAa~bFPZXca.P} `AkaG A"mx[^KT/B#CX@AKXFj +RB)R +  A"4)DDDDE""""""""@w4vő\dLђt[&ԛK)I!T@ՐymΛdB#hԊ D)d쳲!Dvj/Gi2gavUӇQa2~LNӆj>aÆV6 N1d C al3<' 2ᢊl2PaSA0\^ l6A0|@ңZl2 +3Q٫m L0 9Fˌe !39t"cʠ}&&Rh#Eeuef2~g.qڒ ]NBG%N ˜Xn' b2Um(}WhtNiX 1onGS\0P={*k=m%HȨc#EDu B#kL=ClޤF8K$~gA'_&n$xZ::: +mkVM_^Zm&#?/o:}ɱX* a(G| #d5i*I" +y:D!4Y5F@/?O"i>P󜢇鲼(SEǑ3O"Ӓ~.}do85Κu[T8!|>98o?u VN/eP +`hE}./TFKOZcH^D0~۷J})6 IGz!o:aiLZ0# _|WjTqeVj-9죯V<_=5ot\K_"?__~P_}tWlK%3׏gHIW_(Mq(D}A<>ri:K1Q_눿__K}$y$4uXtOGU~y2DG4K/HDKK*[(6z[z넱#E _?}o> +ץsG@@k\%ץytΏN ~#DeV[׵@@e@ K&\G/jޖ[^K_UK[UG_]iF}/KA)Zishm[C~/Ӯu#CC^;tzZ@!K ^/2$ +[~H u?ҟ#Kׄ L>Z + HABNPAZ@Fc_bB֖Zo_y[__)I ״)a,4ČPa. !bJ]RB@E$ab,.UAA +B)R + !DDPBB(! +DDDDDb""?ldAn|.DYE&lax3D +3ɄLGLvva#SFdK{;Yل:g̋im0el6`g 6? L(6Ul(pe6']CMi(Cu\*Uέ¨(0D'fӨE'WptoaLA*I-( 1u.3..4M40qemA^7 >ۦQriykuULS.oO?I oiMiBj6юU^{j6 Ҝ'KJ__ZV8NIzF_}/RZ"4S]K)_PK6^q i%_փ O^|C#H⬇~C~mB $NCZ<4/AοT-Pz>s/PD d5B꒲T' Xehphg?-..+)LkЋN,@=#Ceͯ*ZP&=K,Z"Ӌ$qts"=9^aumfkY}z]Q9t0(a&Yf 󟙣gZQ~D_oߜ@&KoTIt뎘cSIB"=:M='KKn~F7Уa<\?kIۄG_L n/IF??_z2D%V_7$x֐#?xV_A1_zuD_ZDiBKA1_zZ\F]~4u^$룪=/ߏGUxa/3]>b)Vr_I:^_CkcxE3JCF*WDp.`?/A gKJrIWKg4P*#tIBb5֐A6?4"?\B?&I u5r@AsK㮹sEL$_\2~SKKEd>KL0ȯ" #>_֐$t D~~3_K:Q 2+Hϼ/`xAZ @h/" "岫sS @c#*5?l/+Apծc6]%_ȁTxDzf`_X_A&' Ik@&WKuZ~5A]CקfIC sԇ@&WKu] m!Zֺe}>%|_o$cx/I6k]2IB %nE?($/:Ny %$ 童 #//e)B|B +~z~0ZKA%AX:ŝ/~0Z <A~?][/GWT֗~ P ʹ-Gv 3^h~{JS> A]GAvҞ%Ҟ PDxi'|7N R3/&V_wh*V~$0#;[a/a -]-͗뷿[a@&A~[ oKo'Oүo% 0M &ob>0*4#K04I ޗ\? _@C[Ԡ!4m&>< J!C3(0  Bi!$H'%tʔo[a" $D5(6g8" \AkSɃ- I Sկ;  %!da4 k, K l vQx5A00^($e {E,BMc!@AKB#B5-P +JjDv """"""!ADGZ*+ !v&h"KM⥔}`쟃>5dB"&}9*׃>5g lPM8l8pd2E& P ' kȺ68mL6B&j&\4QY@M_&3R* Tvj ‹'@M_*BBau"7l](B `r8A%4%&ڒ \P|6\fh(z 2asPPh.a~&' b2^nGS꾶MCea2Aqeg@P\ VphH{*k=J#6<~(4kMUN2*(_{Sȗ_{lOG|{Ri-]iW6c_Ԩ _mAzSKK3j<Gԫ+(_6D?(ZI%yd5I~_VV*pmo:">_[kœaROK!쩤=^PHQ_ RtV޾t[^$s^I@kABoUz1J_ ˴/5?ޗ󐺤&r#."н [G6dZOM~mjjNyZ"ϯ8#>qd4D96t) I-Ct\}~m/O/h`5/ȸ4u[AK89Y5zV0Sp?_BN7/ePS!k`9q9EJ{*G!i^"/vC  +>71?;ȗ0~ȀUHf:cZ@mB/IS_#_zs5Z#Eװ5kOe'N_iZ[pPm/Z͌uG8_ʏr=%O/㮓*GA %zI2;sO\_%mI߯Ggl^?]\_qZVajc[u G[(A@kG˕ Åx"9r#kA,WO/KGu?@ӭk`룪?KE5lʢZ?g9~\ %jpK /[a 5E/A*Țt:_]?EM~yt癈GK^/A^kׯ#k0/_ׄ+3z_TG[ -}4V_B!$ +_gӶsOB, KK/$%-0Ҋ?,6Ai0H~u_{ׯdG _L'4_^ +,a]~5FU߶ahsI/-Z_im%[,$_ C_VӧG8߿4A:#k#E _?~umaE~}b3 ~6X-}U:?A3*5?jt]#&?9\=BG?EP_At$jޖZ_uM Mh.|aˤG_K@zVZQ"_A =R^^GY|&_ /^| y6KzZ@!H_]A% Ȑ+m]2??aA$_}bk]2^Ah*#/}|$q~_3[~a"p _ %/s$pzJ~!₿_?8-ץ( HW (i1Ꙃ=6_%~_$-iiK-5b@$aCɿU镩!XJۤr,q A~9PpGKqHt5\}[hWqZAީ/A%al)2t_ }`A%Ka'EР?/ zSH3<:[~A("=~ki'Z[v$ނoKe_ЌVߠI;I R3/KoZ[pZ~_%뷤Jү~&KoKm_il?_Aim&_7I/?~% ?:Km+Mz[ b/5&MXALEz >P^^i7$ A$am(/A?J$Ka5Tm>"%CAΊ`( U"^2}"$5%rT& < /08/J}aC3(pk4+e=$ A2MMi2:It +LK[WD8A6zBbu EAcm @- k %`AkaGo!/&K 0/tUbFb" $ݤ080AGH4 ^X, Z%.!HGO B#B)2`!B#PQDDDDDFDDhDb"?YTF^Qت2EEt"mhXDYE :g!D@y-gf D QL+ ;-"15d/(ȦB2͘L3}jf i(C`4pf{ L"u 6ͦl gXlPl6 gÆw _ڗ> ]mJQ!H[| z[z_~/Qߥҧ)S߰/L?KgJ o. ^hԻ~ ^:_o6􍤿ei4_qJ򅤒^JjkRׯi$m%$h I~mx1 #_III >Jz׺z^~C~m|!%6H  h?_G:B $NCZ(/Huo^H"TRp8(\E%e<IeZuzf`_ I?l| AˤHdK+WKuH-! " RAygֺ_fIC_/ _A2_/#V!ZV_N $HV_Ow^9Wx@$$HV_NH$%nV?Z_/@PI[w:8IB %nE UTcէKD/ 童ֽ!}zS>!UF?=Z J-mu_9@$ak[k:?}J(=VAZK /"o(_A% A9<i74_ +?=A%O)XA}lA%O)PA2!O4K=_o A.OKb>t_%o%Gv$1HK_Zo K_ o$gz_A_^뷿[a/AlBR Gi6";I/t*Pޗ/a߾Ja#MM=%% AlM }+M?#Ji6H6ioKåXEۥԠ!4m&"Q ?A0](J/A ޗN0tʔtׄ_i\A:PJ0 =Rk ΂iRk #^< J!C3($ I SE D2GH-v*z0yŸAi8A6z2 DN KYi)FҊج Jc a0a`IzBm {^ AD$L& 4YX aYZ@m`;  %Ks S ^j0A5bAPi/khv ,C8  _r A(A +PB@DGi!ఁ +UGP A"4)DDDPB!"""""4(!ADDGZ󳣲ȩ##Hd7 63RdB"ؖE;}S̆O; g)lY>N}NP3d2*pl6? ΰ.p`'u 6lLԊDC`aBLh0 Di&tհҨQ{ya NBVT&C#J0V&yef2gL{jH 1msIB ^g0tFI|֎[w[ta"חᲰA[d`?LM (C :Ytfפf GVg1v֛(TQ) {i6H +?A뷶(mt@|!mFZuN)[ԈyBWFy6p)|BtKomޞk{ѨeTq9O~?I>ΫGAwI7_Y/5~!ނV,~Wجx0#>.!)__h'ZttBI/_^4PNW?$^urkU_R}$$$uS?~5InQ7ߏ:ugQƿ:zI"u_ /3(ƓI=b@ t/Xu^q%WB꒱8 ~\5<.0]Lm$6d6eTl4toA K+zס@=/G " 55Z:K*K=@U/"tʤӜ/eco9(49zD-I1AP">l2y ui /a"`2_SK* +ڱTQ%m'::R+ 2+/lǜdOXTZ4nG[3.տPqn&Z 3_#AtKj=q Mh/-zZOJ+KCkK=Rk=~:GA E^ ih#t?GPW &A~m AQ' ge-IշIB K A KH/XqN>A!Z_{- V?mTZZdyk#a(Z +nG"/_BP<׫j?*Iȅ^- OoT BgbY(FEKZ2,Z;)L gv%n̶a@νPhA`6 FD2MaٮÆlP2,pU*4l2~Dk"mL<(C#J3lnp荤 P&\4BLhAQh6ag "V"c0#H ŷuë $ɶRH< qem6ӪH8Ҥ0$5{*jS_֓dCC**J{_'ngʴ'Oa SgJ)ԛ8I:{j6IںIZfGQM4+LԸ)t_[i:uM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^6:\Jy$t^yf95ͭpmk ?$Z %=za_:"OHzO?O>jFI~|/j@|/j_9I"th2.F t- I 1Jj^OTFs%ddr|6SOYy:*jFNKz_񴓫zEm$8pJ?I6ֽ0D﬌-+|/y gA:^#M70'./M:K(3N+_R#EU%Ɍ#a_#ߚ|W|~:8֓<3V^&~+Cf_{IMk62iH _z2D%JT% DG_WiVPUVإr*N+lRKfZZ^[uS"ŕ_Y׽zne(i`x~= # 4҄{b^frZK 襂(uIFrr!{],`[MD`[Xbg99:ŭ.#.51K68Aukk/]0 o&`ּ 먇 5Xf"o8RJ5RI+C?BgyXY#k0.+-)e__䀇yBJVQ8֕Fʝ=L:Ћ$ᆖ@.i/QƖ:GSuL=.WA 'IlM?o\׎ `/$䟳 "Dl6iO>E x]R\Ewۨ@{!θm/a49  _=amH?LW/58m wߚ ^ @A~f#E/ a_EF}U3Fl5Z _߄z Z4nO/ysS&ZZ SKrj]7Kt tH^h& 4@l}%9 ]oI/KA)Zizih E=+@(qz~`4T>,=H$eqT_Oߞꗽ-q8- KKA%#S^? IkXoK^roKH A^kH A^9#u<O_3$Q{KAh Aiw: A KHP!>!UGI66~u:?P?Izt&#.>,% A_m_h+KȒH_ +W΃^}v7xAiT{zZAީ/߄8@ P'Kԃ~9oI箵^CBwT=u  I&UP:_l? 7B۴bݤwhߠI; 1H_AW}7Z[pZ}im iml-_KoICD~oIR]/ەeAimP&߾^BX`ŗIAp#DS]D8<5뷶(dCl i}a|!l*΂U"6PĽ~[+oFy6p)|BtK]>&j1uu\tu: /r6pAn=>}U/+ނ'6+^!y%062 ؇iFՈ I$9^p gi]_5E_ڋrkU_0o8_ RtJ>thtϬAzG,vB $N)_/@*Q+Y:/L.hg?oK]RWLm$shmVN쪎9(JmƑ=ރנ'^m>i%akЋ4^qzugQ9(C:%^ʡ8$e=%ҍ[cAֿ'c5L1K_ 6:Ao:a=tp"i6x>/_|W_~aǥ*V5kuq]/CI_}H0/@_/ɍ+]&UlA/vk:$_-/_VP8_9rG_zZhۯ}ez~#J/?ra &Z + ISim=?Zl[i7ry'_p _ %/--."B/Kmpw$` >bb$+,$mo/U[AAXՔGKk ttSV/Fj_K BWt9I~8w `2/OYPpGo#DW<~UsuA'K~z_lLwReL / Aa _ +?D%ӥU + kDHAI N*#G`B?`pa :!E) E!5F*"$g&Ghb"(!DDb#&hh"Iq|Lw Dl2~06m; q7A0NYQh&M@aoaiۦQmo*'Otz_iC{Wm%!^(9<9c! p9nmƜY#K>=yR3?#}~sC D$)mB%s4":??u^Nxm?Q)Eg94 ^f 4/XJ$AQ ?~uZp~U#E_jJ[zuj3 Ik?<=H\U/}J"Aֵ+ѭ곜=)+t/A-ӏF?=S਍b_+S9ׂ ]ryO-JzO._)ޗ}vil6";I/KnU0&o-x~oK Fi\'JFC`8A6zBŇ B (4>P z!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R L|^!<ԛ8U:z|MH0QrZc?{e?DjDz(RlZ ʂsWI9vt^?uuE?gV"-$Kg"HmW ,\m~yYEĐHrkٯ/vS0JIIW7 !$_ϥ9䀇$K_nzT׭7[k@RXok3eNuuZL=.=Y G*^t4υS_^ڮ_~f +_H_A0$}_OZG{ț^ȏz[[_vzuA $/zpsK 4 CWH/z [^:o_A0"@0B?+gt-sm-sa#w@uΏ:/G(3G Mh bԇo8~?M--] V?߿_:^u&M .$-*z_KI 3ZW_Km$ A~R +f_^AU-J^c6РA!_?*)_KP,־SV/Fj@w::/H%KI4AsGW,"|D WKtH /K}+5G68#`a -.>0,rK ?K[*l;o A?M, ~J7v 'a^A _W1MaU?g{UzL>"ga5&IA?ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɹEu-dB" 98΃~PBCd3ؙnpa a2ӃM"2ᢊl2DkBn8at$ˆn0 9.34 8e>æTrZJB& +Vyp+˂pXF0-Ap 7f κUF0mRȭ5쩮Q0\U[ͭzuY (oȧײ~Ǻr__a Yn!q Sh?GF䝿Xt\ugJa$/oH~_TCgK=&:Y0aNm(87\2ttfa1J_ `sQ Wi'ۛCju35F B/]:j, ,FΚ~`:Cp"H>A_q9J"=I|ZDG'r5kˆʡ:QoDtk5~~j9]k62{'YFH}t/@2~ >ֳc/wI[kq}Z?/}p5`xuC+M^DyP'3tOץ~c#L0a/aor:_~im0X/Ȏ_ _/K^^G-@.dA.!GZ[ׯHFa}~5@8r5]N^%]?g6I\6[X۞SE/y u ץpTV+ߚ+mC"?]\Ez A&^}VA~{>|OJ+k | ϯkJ"MA--HOwQXDz^,ߨzZ@aB AQ}9]sHm/KTOKH A Z]z_?K_t?8ԒJ [?mG?B-2=J6WuU%=_k(_T2\6I&-}ê =ip/etS:8I =РzK&M ή oK!Aw۴K競_렛UbKnI_ZZ$smֿ>xAimPb#%&tn2I-êXE۞C$hJ:WIA9$( U %S=&|(  }$ v+U0zQ[0OAaIR A"UH-_aC&XGҪČH̃!H8b]^$)TЛdj$~BB$èhDDDE""""1u,!qY#e)*$ȗ GTNR2ZjGgʪ:dO:lʅ( t FRdUC;JDB5& a9JAJ +l "ig +aÆ32*eo mLhe' @@u$ˆ,FvH:n8I B$vF&ag>7 +\ ?׽-/՞ `_ls B?#a/ ҽ/8ImvUCFNa&VEHUp gM~T&KeE46~T&o)=%i2_'I&_ Rez#d jLEbӪ+áKCUeCI:b_Z P i'K)/I@m$jGD*h3^頼g 6}(ѪI-2t*hT~Je =f9IyEϭtMB0 ULJKy}䲯e 8:EOWB-=$gHE@FGQ9(K_H9hE'z+ͯz|tҜU7};)?~']/I}K |qUWKK|"8(5zk|SKtWK9}-/}/ O柜5ǿf_{]$E"?KZ͌U/J6*_%m_5}OZERǂ#ZOg'GEi"_G`*N+mWt@7IGKe( `xu^oeL/(A@kGïTl?2D}A<:U3ΗzF,E^Kб,E4H*[[I~ҋפ0~b-G- HH*H*a zZ{zfBi $izMKnCv/^0 H%bi=4| G 0A}]aD}^G(a +z/B IZP *?Ŕ1"awD{_}`B, %TEp gP)6Uz#`74)F荂 "1$-'a֫*= l0 PH%a49 !:\6IZH .Z[iiVim4#N${DAg_4AJп ],%iP(\%Kߚ uJh" -}Yaiqyo\:GaiAZ4mKI- { oK/egӏ{Kj SSa{YM-hZu__SҴ + ,a,6ai-&U#T--tO-/m&^BKHGDL.#:/?u)- TGAyǧ6 |}EGBʅKH A^y}0A W㥤Z + ?~+{*Nzt~ifY6 頴 tp /~NZZ]zzXCMDAtCs`KHXHm/\i%,$mo_{6&6Qs(۔h+֐n+I!a(Z +nKvEaƩ#K BWuIs@< =iKe=&㏄AiT{zҤ{~9EʙAiT{zU,  uo&J, %:, ? O&+Km?!imMҖO]&i6ij"=ۆl$.atӄKnIu5-_KnIa"Go+ ?~~ܬ0Zu*W+ `x+A(Al1$$X7A:MMA(Al1*RMJ[ DG Ԓ[ aupA$R?DjI-H0I~g.l4$R." pa A-} $ڸ A-$M 8cJaA&u Gȃt@Xel d(5sg􃠿b aR \Ra`4EĂ0H0x= d2&E  )p_A/H&XD +2d 0"YA0Xi!H 4?A0pE4P ةbA 8 B]SCւN ! MDDDDDPB""""""(!Ъ#Q:;S25וԎQ:;S25"+Q4uDO+h9u@pȲ`ȢM3ۆT1"Ƀ"Q6ۆF nSDf 8dY0dQC=d:eD(tD5tݧ BLh&WLMp۽d:eA"7rkUQ 00 9&Y.b֙Tj < O<~*>=~L)H8ۥLZgEGAM@΀/KKVi3㣠 dA~|CgJaK^!y%0%Uz_zZY:I!y%06?Nk=&K/!M`?$69nck5ImszI' 7)joI4}/H5&k5Im+QvaUW_/ph21JbֈjKCA)L=: R00 G/my $WGD*h3|IѪI-2t*h!SD~&`@_I>dIyőy'E?m^Apʦ}kl<y~VjR3]!>66BD?tޭ2Kh!!@@Is"XoJ4 oEE<I}-RbSzO|_/p1+8o >zO|_Y|ZD_#֗8ץ|WZ^UO8ץ_x_?ֳc/]$Z͌^?*t"}~/t@7ǂ#ZO0UVCH":],x"? h0wL~'t_w %# h4S{*gT_P'YAZS^UGUu$@)i,Esn}]/{a 0~+izMK/ !4ѹn|XOM0$4=]/{a 0or:_-#:>&C Ikߏ_1yX(׿!?z/B Vӂ#:>&C Z>_ZEp%tKB ׭t"a7[1P/( ^Ћ$KMd' f~H _XB{=@at|%/렐@Og6 :ΏƾZX_KM/H󀣿A><:K8( $A><:=~/֗4A^vT:_너.Kߚ ݽuJh$/DA H"7uAƖH AmzZLsSaY #H-}+Z:GaلkLm.4@FZ4mԇA?tcw/Jf>xM$~ B*Jf>xM|B]4SҴ +HIi7]B]4SҴ +WPAlbHK@zV_cР- KKA<¯B--COPX q/)As}WР- KKA( KΈ$i:+~+{*I-DtW]+Pu?y- TGAy|Yvaצ4@ڛ)W.1~a6  F\ ƐZZ]}k ,,$moȾX.ql4 U/^Ll(?m ,,$moyA࢚df.b?㰿H<SLPt=_k>AAuA'/V| `- OoZW =L/00$>8K!Awt#>8K!Awt8ʇl$hP]=7_l|bݤ^߯c&nOAh_ i6oKnIfooKnIer5M I-a&L0k~Z[r L> `Aa'0WGR `A BON[kDI*7A(Al1oo?ʦ7A(Al1>I8 [aҔ?}Â%~i7@Cq7K`|D85#~LzE>abp@[I M"kMOp| y nZ @H,2Mf +dDLbCZAtiVɬaR \Rad(4?AtiVɯb `Z@4r TˢdX M  d20`ÃP^vL #~8ApE|4P q A{ $T᠂`L!CCa! B$#M` +GW[@hp@#(!AЈj""#&I0qC[ l6 gBn? +K_3D]pêփ:^[qűo:4$!{}y:^!.G[5.<:__WMtaZ.(?5NkI7<Οz Ҝ>N4_]Cyb!BI$VzB,5yR > +ȀU *__Cbs$%<:/kݾ ~UMc)YOk[+SYZ;r8AÔOʵz4Y}?нBInsf֖+/O3N + +"нJ~?V=/!uIZ_"ZKY Sz#_A΅>gEN"W^ֽ5_8#0_zjfWO"zs_㥝VE9c?_KΟχ0?U9)a*ebu/Dz2?}i7ן_CkY sc 69ZMʡŪG6k_ڔWKVf$GtR⟏%]}~j K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z* S";pzZh/?m q#ޏ3FbqlW^D=10UbPa8^fDy_W,#NF/7Bzŭ.#V#t VK*[Kk7ѹ.TM{mk_~Z3rGK/oaק_[u o>(~>"=Yo-}4RO׋_^Me+~6?MaoA͕:{wKDui0HR|?]d5ysO\>M}{j~y+WY!q_l2">l2y kH/z [xۍ^_ /V LKQYQ7a#w@|s[Z9?D{0^V&.==H_Z?󁚗cX-4@V wIb2%_IzW3y7[ߥ]7&P&$ޗ0_ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JubrKDb*Fi I`dJarҐR[1el8p2mrR1"@fam0ᲫdUCg63 VP&aIf*mm%vm‡Dl+A qFDP S-ӆg qL(WlYp.k]UN]%\2awlYp/UF0n>ݔ Jz 2AT*9-Kp+˂pXF0-Μ*V͆\sg@o6sʙ|5Mj+emy kuZTQ({~{GuB`s`V(eqVtmo)>AY8(`o_74iSLk< ?*i3tB< >O_Mu-.:!mAn.!im֣K:f!zZ_ZY:]y%0~\Ѩ/Hm_)^QӭNkyPqQR!qQH!<%=zaZY:M +~>a$6TSKk_zI1ʊyIhͤ2AzG-"W\D_ ez#d jLEbӪ^W _$HJFs.i'ڬz([~hȀb4j.鵔j6ȏ >qy +ΟᝈIťa /:Ȱ4=*'8/PSg uO^1t8/H:k@qʿh/a$f9t&zS֗{*Vc/_O?#Z8k}?ĸ5xv[H GK;/q/oKzz(:HZ==wRi6U^ނ۫-`xu +Du{{)3փJ7yP~!`tch,W҄F.b-l/_~8KB㥜 Xbg~^M0ao_]/| =_.|7[>,#C_=tK iVx3[%^ 0Al>?">D}!$RXiJY  2^zG-f +?:ۣ (^'X.-:DXi~Fa߿XХrՔ_S<63nyx_­z9 sD'\/P?im^pk> Vhwz[}gP@WuQB}v@}~f\%>v@)_?-.?[eKԇ?|GX a=RO#_/ O-Y~4Qz]:O4 Izf_OApE=+@/6e_KkzZM?6K!.KKo-RYeP ZZk?/( +[ /xz_ + + zxAl醂}&KH0q&m?qIlR.O0zL?VAZMJ$H0zՆ#,$ail?w PAl> ͆ "EdP4L:I$jK> sEdQ8A01R[ 0 (uQ4^Aa]CK!R2A0{d1D=ߤj0D'دC zAxKh d"O ߚet* %Kh0B bAa$<n2g"_ d2o"شXd_@7#Xc LXcaH-U +)4`BP $O HC` i8hAAUKuI +B#DA4" +H'$zB @RB4¤DPB""""""qdJ3vٴ&wwIz}F&eo4 z]1uaZSꕺ7I~p.='7IMCIzM"TaӋJaDzsE~xP@Wttߪ^ :ۄGZIzL +-TA@H AQ5WQ8h,WnSA I/M[^BAbJPtꗭ(l4K }/$i:*BA&T A |6]Axc $g%R85A0B=CA B UQH%ZHk <qAȆd A AFvT? $";IQ m&xAAyx ACazsI8A6$ LRAV\."CBDEr|nտ/KTRJ*DIizJ +endstream +endobj +6 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕr\CnJ +endstream +endobj +7 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +8 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 90272/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZ iR bҺoҳAe]]֥Le+o$-pD{".H{im}'Vv)w-׷6Uca.WI+kuAo?vKKKo3^tI J}vKe!KIKKo-{ o]$ZliǃT, :&u@Ka$ qZ8ztm;[Tk:_&^v`-I o+Im/ckoᅤ_DŽ"6I__RHRU8A0}+]%/$ާumI+׹mޗH5NRDOOH^MilIuj5Z^]BC%?/]$&ڥ%Kfn%io%KJ/a.I ÿIi==R_$^KWWT=t>H00A3gސm* 0  0 DDDDDDE! 7OHOxvh4/CT[eJM⧔; ԎDtȞtٕJPr`ᝌjGdeVUQ"y)HʴB"c:{`Ȫi%ig +aÆ3E& l2l ϻa᳈ ]BLh0 @5tݦۻ/of26I[l4^03e{.34 p>Zg;PkQO BZJYb֙ШE>CH&r(Uȵ8l#qGSꪛe :u*Z{(}USwLae ӬVz%^ʚ%$l]HtKv0@nIť^H/~q/ߡrZ~$ RS![k_*+aNi6~?oRzK7 r 3eM/O_Ik'+B. X:_"*Lr?/ph2i~pju3_shmVN + ƌץ~h/3 ~z鵓jMa4f+!y?AEs].a~Uy3ҵ5jDe^A} +}kl=sZ~W`7CuoXo(98 ]KQ9(C!!AG@1쌏죜sR_sqn$>/XtҜU7};)?~']/Q"mRbS0 kʡQQ_#k|SKtҏKvUfu5i?h:Mk62?_뤕_GUւN^ǭNUz"h/@lARZF=/$P DzrttV݊B +X">9rzJÍb=}/KKAZS<]kS6PmKKc"UuGUu$@F-zOEpcuY^D P+si//[a 0tkizMKnCv/^Wub-/I`Im^7yX*a_1/K׿ (c-/ $\Ћ$A@Ҽ|Z[j\BtKB Kuimײ_荂 /H ZN>K}gWS]ֽt">l2y umA] !|$ҭVKKK8(Ai$] !|$P+zZ[tQ%n:п ],%iP(\%Wuп /pJXΟ,t>zt]t &.==.҂/Ϫ#ڷ5?AbK&GWAx +u +r:z[L5 =oO_ -B-zZOJ+қCk ,a,6a?oKI| | ^%< ^Sim,B< ^S@}-^Ah*#ߞgL_--쥺[i7ZgL_ Kn>@$/tp /~NG^S`:< +N G#Z@F-cX.q%ii--2<ȾX.q%G"KKL},% A_mIcd?㰿.5HJB.Bsaz .P=$Ip9贙S:VsS:Ks΋I30^ReLa4(.-?u!g'Hxu#>?CN9:C--I__ZRI&P_oKe7 $K-_aנ=i0+ *WM㤽SoDw0I5M O_F<:](~- aҿI-R :R>t1A& \#IOFI0bBi\l/kw#X A[,%d4ɃQj<ϗA~h&&QH2!&D(93KA7Z :J`/h; +u[cMa_F5Co?Iz_=!~6?ֈ F_zxto6Az7I|Կoa#@\zOKn/q~4Ǥdڋ.='K.='zI/5Sd1^hͯT.P d4 +0 IMC_ޑKSec!q&e$^BJyzL5{$^BJ~j{$^BJuh"T΍RH5 JtӋJfGkY:.Qϭ8Uֳ4t\Zqyh&Ӌ*R3 5 1HNsm,Il0"=9PAaDzsidpG  R#ӜO(98  +kz dW4-M\_ +0mM\_ +0(gUj(aTT>?i-T$ie_ r.<<-"]%CKǤtO-":K`莍#ca4#Pim#AnۄG_S"h@U ȢPgN-.[43@AtT nIu ?ejMmTa" (2 ?QD_A (۫vQJ_AZS<ÍbJXLܧւA ) x4R+9(LR+AiVz8DxRбnr1m%Aue +_]--4Im&l 56]uƛCviVׄྺh&m*&A7iVP֓iV׿IH6!$KZ֖ibJ&i7lBI_XAq~lBI^~JaץoJaoJa<ץmUq_Ca_IK# ^+ 4r:Piu[ J .qyPt$I>fi/M"xO }v$tS넭?agޗ_[SL4G! $CI}oI03ZLaǧH$ꗲ _  0z! |=Wz_L>B$`φˠ/.>Oo 3 )<$`φ˪ƽ*H CKI|a$D_׵G~K?F{"Y\U/4M$ȖWK돩OI#= *B X`kVz#A+ jS X`kZA0BteB ϯH$%nնA KָA >4S"`I/ tULeVqgI7Xl#qo(A&Z.uL.4kA7%m?Vt +ACpL*΂M8JUi@ +~aJb|$m 5Qqj@OKc`a oK>m4kL?I쪏(/Jt:4OF#Zl!e a_#8C~PI!bSI$o6Z/F'$_=E~ 6a)Y!_ZH>\7 )@kнBI$Qq[*6US+BSd1򅓪{$^BJP]RV߽_hXK߷ւ#2E$u=5KZr}i=kЋg^qdgO]%YJQϭ8E-G9? jE9cV+=_z$i 1HNsqΪz%KSD‚ 5=ai/.҅ +k:_ r.>sKQ/jxD{I7難6:I-jO">6Kn:__#%}2դ":d ?0T n]&U*_M?Kĸ(HqH +-]q}PA (۫i )ZZ^_ypjA^fS?8"?A25 +&C+M4R+`A1_ _/P~!죘r1szZB^ΐ5I.֗(l$s$}&/:|?E.Cp_]D46o-KU O)AmJ_w\zXH <!7Li&@7#qi\q"I_+gz_Q 'a=R!NuH #;W A0R/x Am/iGi6A6>J =[J /$ @&%UAi60?#鴽1_ $IXEI$i6L +q|D=+_T LJA& $~KZFKQ*["Dj:[:Ue0ٓT>ڔZm[Pp38pιs(E:2%ppl2U6FmL;LNRE4l2CmLԍiMiÆVd"2L96@M_wa"7&(PKE ۽&Ϩ:PWvIQt gN>\fh'p60{ >S"`I/ tUI7P =IPXl#qH#Dޟ+SΩVqe~f"6Bȿւ4M߷.#ZOQ({~)nI[?I ͭ(4߳t?T +WgAAT+M/gH0k?F!8ԁ8Ԩ T 6|{o֘{tkiZaL?KeT}AzS}ѧFz5P?U%>[ޞ)􍤿򅤒Mޟ~HmEJ?lQ~4ǤI?I&z/{ O$4Ǥ/!)&PH@ +P d5^$g_(8-jXBJl2ss62^KoBoޭP/dIS9 J<- O0H?5Z^A⮵Ӌzס >WBP.Qϭ8% ,t) (~}<M]%x9g$ Z]Q9ujeg,G9YY-+sښ$(aϽ=נ# In%K +kկA0c2xyZDKoqm-GPzPŪGK&>HIm=TZ jca4ޓ /%:o ?#jKnk^U*CK`c43@@Ue_@YҥAcpT n8ZU Ȧ\v(PknO5PiizW}xal#l B)_gXWօF*`= 4G[(0F& ?JX_ }x3Y|AabooQVz}{(?QstnSA Ntm&l RZ\F:YsooᮖM^K9ή@K/ "mIYj]>b8_GKI6/M[/~x3?ͬkHODuaFi %4T2M%_դoşJ֖H6!$jZs/})xXoM[l1&I +W_v߷ץGOK# _Y&8 +ËXƿa>6]}~5z_-M2' =':+Ed=v%=N"(z_ c_/ץ"?Aa L4r.:xA0"@:?@a!m &F}AAņޗUl%!$H$N0^V_ԇ-pA:/ 0zgE fA>.ثHl| AVz^ 3/_>/,[a.Md/ $g%R~m5A EI7_3~i  +ֿ]iV1ͯJ"HA+ jJ"`֑z}Zo$b_[I- %$9Zն6 s\Og/ u²uA Y:uabAP T?-"/9Uo(=/5 !nOa hxR.ԇKWkA"~%Am% ~8 M,}JKA\S?ۅ4 +^A\S f"I- A\eGoMLi'i~'} #;rߠI; yuǿFHb.Uߎ A0R/'KAm.IOտ[XA(a/4o4 @&:IK1鴽@ &maGki{zI6kk6,"ZA_& T8m>"KIoCh.tUa0sZFU27<(D"#:FqLUM4DH LC*n =IDuŧZIeaÌjz7setj߷-TR 4MDaHII[%eqVtmnJaHII[7 a0ҼtZS~ 6~ʨӷIҪ΄s0/ 􍤿Fĺo6~4Ǥ\I%<:.m#@\zOG d5sr62^,8^$/IK4Ly *B_hXPA2b}7Yf/!%OAkӔsN/AD/83YЧ%~^Zq}<H6G p0"=9YWCV{xKKaY3@;Nq{*t*5 +0׈PgޜC[VyP@c| D~"]%}8q1s@"?ix.pAnۄG_9 TP -Du Kue *35~_P%/׮ (۫i ,_gXW֪GuS׮ (۫= 4GA)Z 0UᏲ{(?Qstdž/L +Abӭ: פAu(Os8RK| ~XAy.CmizuUʬ.~x3?ͮ @֗ZM[g":maFi %8ҏ_G8gYLˬ H6!$A5[l1iNG!?o_T>8AszV u_x@+"ywƿҿot< ? J .A7OzNtWD޻怒A,$t-$iϡ]%wDu( /$it]H$N!΋sK}H$Kƽ*H _UGIm^}}}c^h$`φˡmOI#=,*h!Ǐ;3wV!ZpK5G/6 ik3A0B_Anx$b_[I-Yus\G?.$b^/e ;(@F{h$_Aʝ"cte ;(@+ _.?ǚ?v?-gX$RqK ?TV _ia'*>z+a[p3Iw O)IPA2!KI_t&ҡAȆwmR_$1Hm-KRO hK%@_% iL4~MRAzMF%IB[__ti_]zZMF%IBߤj4I6n ,pBtK zZL5H]$IXE&5F z 0cgi&  Q!$i6^LH0(I'J.x 9?a‚l%i0-)JWMnHE ߤm%M6j&V4Ǥ&ʄGD:Z]{MI}&$eZ֭؛_%M!6HIN +}<N/0"=9ϢIKҋJA [5,^ʡ81G8`C zA0B:T>?i-T$~TVKni%0:oeVjǴSKu*dZt?Il B +$Uf4Fqi:lVzf> 0^fkQJNbKI/K5ߤO0M!I|k6aL-WDu3MI+g6EP,6Jai 3 Fm'a6]%AFz_Ka] !|$A7OI{:)Kl%iP #>EB ΏL\zz]L>{(]տz:9=-H A^<_] _I#=,*CFokw Km +֬%.A 0MLjA +?D5---2ꏣ>8l4})u1(Tm }1LFyJRdqݰm=tq)_(5FsN1lW_w~cЋbGCCЃt }s58GŅ.q'ϦN y5&j x@w `rZb?ݫSi5;v[64}=dunq +Vʄ* !Tu4":Db޸g&h+l>4}tA8:8QQG;8 g8">h:>ڞHb-؈tmb841 +:>#‘t}}  @8fQI4W +H(Y} DG- j?n: nR->eR%HTt,6 ]hʢ:dK:psyR |8g\Ihc8pι 2Æu=\;mL2a0E`LIm0EaTIm0Ea`la¨uwwW0wwAøDoPDFuwql! JM44<oaU<oaoa:u*F>#ZOȗo(A&k] zQA&'k̭T?Vt +-3+|{RG:JL]~9IiH0鋯pϥY1> 6%ɉaz oKIiOV}Hh֘~ۣ^CMa_a_Kg"o6&Z"҇7jӋUֳ4t\Zq~ւaNQϭ8(!`G9W7\Il0"=9ϵAaDzsa86G p0"=9n`=sq +0ת.i*Z$(aKAgUj(aT>?i-T$~E~d󐴉t r.zHImPim#$&ۄG_H鱰T[pAnۄG]{@8*]RAE؁@ǥa@c43@(.< +-_*Z (۫ШEZ qT0D[uy*8\v(Pkn"B9B[^(PknÍbJXLܧւA#~0-r (0F& ?JXD AiVz눫si/& G(BM]--4IlGIo& ѡ56]|/S9}.m*;CA7iV9ۯm6o,&:m*#:_ G_&M>?H&DŽ?agޗEP HI03a#!A$HϾ$i"&.==.A&T S1EH?IՃ%K kB  0z{KIկq))nA lzA |6]^ 0geA |6]o _I#=,*CG~K?F{"Y\U/xKD IeqTOI#=,*N Km +֬ZZ#A+ j 6J+Z}%a}e A u*mALRV7YBKVmLRV묡[pA&)+uA~ U_ՇKx@ 5 +LjA +?lrWT~--2W'MΣ<1AȆd O!7Li&߫AȆizMץB $!+geC +[+g} +N)ߐ[I| #; NX i`+ Aitߥ izX 6~j @&EUo4@A#vU߫$";I' *$bT A M0q& m&q&J m&GI$I&j4I6o AAyp_B M L?J p Q!$i6MF^L~A:P^:c ֲ ACD9 -G5jA:Pt :JA@ ҆&?%RA,1=|I8A6$* A`bA$ Td* " `I IBaNMփiQx A`! ^B a0iiC6 KH 0i L @ h7GC0@AXH(^; H ʭa"!a#2XHd"$AUx%hz*@hRB# @A +ZhJҡ$H"""""(,DDDPXqGqgq---+&ɡ3sg"#-ѐ"HDܶ;)FSDb&H*TO)I!TDppȮjDK5#GTNQdo@e\ԈjG~"6wK`Ȫi`&pۆU1"]`&pxmnTL +Lp4D#R`<(I V&aCIM{mt^ +B%}7P4ݑ OmbӸ[)8l_$3}&Q 0Tk 9ˤ?E 0g;s5Ua>QDSk˂pXF -M7t_F an6<| V[8U%^ʚ%$o9QFIHa͂6FIH>{GԈyBWS<֜5S<7O {4?M~ΫD1q0ۤۥLZ?[nn3O&`6~90%UzW_ U^DZ8Im&:[k=/A 6mKW}"k_zI(8HB0)]u/_-hj,Nr?/ }:)W>S5I>UAtjGKL +"4A>qYHѪIaNM + 8RKPEWy"}'l<9{)+.}&Q:)OԷI@s}! EpG89hE,3~#.Zc}R(8U7ֈKڥ$1S=h>Ti;q:rqկ֗rZO_ǥ*VIy#lZ_}NzT^^ǭNi?RUzjǮM0UVگ:H#~IuesAi?]B +X">W=\4GH4S{*g.IR~-/joeLiwJ*Q,E:՜pcU%I%C~8KBs U%I%C^o&`A/΁ou$zh%.|7[>,T7zI0-Kouuב5`[ {3,YCAh{">޵gYC0">뮹H K,7[^(@뎴t?%xB ׯ,z0#ߎ^g6 0T>  rՔ^AVPG͆[!θmizG$PH KKogE/Hy|$ ZX_*[(7wum :%tD@|9BκWDKA]/}N: Am:?ZLh Kl0K$.ս-&Wz V_2/owoA?t~{ޞm| 6~4Q~CkKI}PAi%_[oe_KKo +ZHK[ ih#(H,WYNB, +[ +(A`u #KzZA +g-JT-8 tDvR-JT-pA: KΈ$I--.=?/K}h.`p Lhqa6 uAtCs]zc_]~KHXHd_{ E`ZK!ii家EkKp&6Qs(Ė8h+ȲK.b8--IKTz[(OZG֖0a&^"?70kDo&ֿܬ0AK[&^m~iK[_DwII*7M ~򫮓{H@#RIlR.ީi7å~ZuD=&>xzK'A}W8A7LٴavEI`dNaٴâiۦ6}A7 0Dd:Zugf$)Mn$kYPIf*mpWtFv֡QjyUUF0n f/E\RA`koaFsg;X5D+$_p$A$M?ן60ï\eqTHem@FJDzxfפf N720洽myN6(a͂7y +07P#Nۤm`o~H5f&*I@X_^(^x|&M*i3iR#pIޖ9!z "~j]7{➦H0ɏ5&/tEX6t?aY/q0PHZ^m^&ۤ}}d@+qi0-Mǖ♞nL=׫ $/HK*. 6%lѨAHJ"d={IHU$='ɯ$F95VA_4CK_IRAc!I}$2a$Sd01׵s )p- Nu]bֈkPH")*CD IS[+K kT"T}U:瀁8gNgF$piZT$*hY$K))G>'X~o]%Κz\8ŒuH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*b?KT=,3Ή_C'9G $ 5_ЋB!pp@&ʿh/a$fAUU/ 5Sֺ^Z##P?_E adTS*fO[i9ᇪV.evi{T4_K/$":T3ҝ%J=)[pF7 +":z^]%]/K9A~E]Wүo%2={7?rT nKۂ#PDkt@7IGK9 m--ނ۫GدD$[u_KKEiVT:]zZ RKRXU{{))Z >/.zn?)fh +Z>_, @W9:D WzXAuz^Z %M_99^zI~Z=tO=6r>)&o{GoZ{M[ _gަ@o^| Xe i~, %y^:_fW !/KI~~N{g?-:ߊ(VW־KA}m_#6TƆz?P9#8u[~K8t9DiDKJ .t0V,}/"ޗqyPI~/ҿpnz–5pZ(DPԩgOeNPWZ YHϾcA%X YHϿL #>[9@43K$__@߰$~ a=z_Y |= n?t{+8I a˪ a˯_tAA3 _/_/OmץMWC{* +_p\U/?Bp4\U/u_I#=0*ia~L;AAPX -ֵS5ǔ-ֽh/k4J+ZOWh1K +t|xK +uOl /)ֿKm/1ڛ#/K@+Tz_ifTcl4ȾxA11#m.u?ޫZ_h$\XGpH<ULU\x"?_]o4?[Mkp M.?q5 |/K˵Q\*LLZ_tr~aHA:P \\i2)xI@ ҇9:5 >+J+b1YmzAxKh1 55T"ii{jNMEu~INM2 AΡ0e)Ǡ0A$߄r!kH- h<| Ťh0Y*@e0` `+xq bFXRc   a0~ [tB) !ƅu )"%8lIh $ B2B m !dRi U ƩB"8 BG`Hւ +B HA +CPCDA% A4"kA DDDDDb"# +H eMC $"IL J9CY 'ۺe 'v![Bt>`ixVzYRB::e($"Ď 4`b,) + ICB,7}8ol)?&%Wq~IjHmҤᘉ E pj0$YCAۺ^/_H _m_"z\GaAGA 6c:,zuy e^(ʄHv[~F|}vAֱKzK᥺_ItAHYT$iioO _2"z[J}C@AtR@ B¡ }&R҈&H"#ڌȄd"TD"(ᔜ2[:Ud/UxpιE^QP Ʉm02Y9JΨFl2%0lah֙J & NFش6Rpك +a"7>[.34 :E$ +}$D/Poa*9QXl#qDQ4DzL:QYӅ_4M\0F/!F.*}>{Gt2RU7ӆgᴓI/)i /_܆ %~>Ť]~6 #i/+57I|u_:_RC.='iO$u?KI*H" d5H!%6H 2^z-hAe $V"r-%Ly *q_נiZT$i~N_%(֜\S, :EJhpiI"QHNs"@տ8~o aDzs4Ks9txJrBI(|8 P^#AzYWB-=$( P_=Pic|A/Ң0}>sK/ =Rt\*` KծEe":T3ҝ%-/aPim#U NI֗Qu5YH +^ҟ98*]},EG Ǯ/Dt~Spނ۫i ,Wi{z_L B*J_V#/+`SR+ץ_pӭ8__@Tz_/l K< + !]IKJUK/m*>*?5,BI_(": KbJ}>,6K?-:D{_}i[l1/?_iP9#8uo<ƅ/҆KoyKe9HCh KUtpޯhe>SK$a$nT4GK/ +":K`iWUu5YH +K#_NN +-TAYJ+KKoAimp+UGIQ(jHq/oKAQ5WQ?C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0ӭ@W9:D WzXAu(OEaS{h/6]|%>C!]_>}-*eVZ$]/ׯ_U5$'":bYCbJA,]/ ~}=]aFi %z^(? P/ a_~`K @㥠Ҷc^_I~.Ҳ-kχY9DiDz,hR(l4KU ~#sG.?-/+ H&^I~Fc3CȺJar_ָJ#ΡI03KtT*Ώ\-_'MG xp_!@)_ ^Z,00uZDtB  tŏKnia_M_| 6 F{"Y\U/ȇ\KD)[$^A^,zu_M X`kVz}9>zJm$]?9k$bC>yW?gKoB45{HK5Є@.u/ +ޫ_.>sK~>GO_eBKom/ V~8o4U-(_+ij'*>*CH$h(uȵ8l#qs=u>P5_[t^q@C6#0o b2P:h#DޟGh}{*k=@@nޟ75qivLIZu"6P;{SLk4?$'OP&"KK!% oK/WZgUGQMQ/:fU%WIm_{IiObU?gPC_~K {_=!~V+t[οd?WFiyi'O kXH:M}$H(&F|2HGK_ /%BJl2KW_qKCAU9}e*r4}ZWBp 7("Tfi'G6dfjMa@_J +u15_ZqiCCt_yU^A} +}kl<9d5^SuN. :~P=JU9ƾ Y8f죜sQZaM}-%Iud‹T8!##(.(aUI}/K:aN*DdQ%oer[W*ISePvRKR~j9^=jKk=-U'_o.LU7_fjPim#$f_{%WD0$u쫲Ȯehq{@`*]Re=r ~'tP"oGmW[?E3Ӕ#AREWQح 5# 9r ҭM쩞_IR~-/m˕qlRZ^)Z 雔Xi/u8KBN$bII5ΒbKI/ !4ElXKh[}]/WKkIK.7&ҭ^G(a /_G84A_Suп /vU 9)^#Fo:VI03Kciii2OD}Z\idڷ?x^AA|aǧH$_w׈YگA?t~{ޞ-'d"}/ +u +r:z[A3 A^=/KA)Z|H6{*Ai%_[J͆_i> #-3 +~D?iZZ#/.x@AРċc[*]A0B=Ci:+teB|=8` ;)nM_CiiWϢ_Ao Kl IJ --.?Kjl?G\ ƇG_ZQ8H3<:ֿMXA~?CLi&F--IS_MlKI)& $I?Jooa_l=a~X i`ܬ0D&L>It%AlM,@A$";IDwI*7M 萒% [ G, $I@"5$,"aҔ?}å~T) 8i}cCmMTo=Kf&*J@&Xi6o;糠u5_H0鋭$G%sa][6sMd8 "EM__ۥ+yV?u+t!AG 5IS]q ߤm%M~HE ߤm%MlJy$tOQ'ŇtkKK O^W.='6BtƿI Uq=/IM^#BƓho^ O!%6C %6Ru/5Sd01^tq<u_Jt#E9ph2qdʉS/I7("Tant) ɖtoAGЉ"J?@T9?I&נƌץ~r}iťn~"ҭ}(Bֺ]&s0"=9ϪIEy?_aDzsU~tKsUƥ?-i#EQ~s$"|zA^aI/U9~98  +kz Σ^=t+8oELZDKo/  "80c}CI.KAIK:^N/CCAh4֒^?T[pI/I"q"D>UD~z֟"]$"P%z2)E"? +-TA[ h0\F5$^I -'ʪ# )"۫ШEZ l B- +$UH0z\ᘉ E^@C_:DiB'KR+7)a_9rS6PmKK+Ab3rZ (A E?Wb3R4Y/KaViפT9+Aue ll?ӭ%Ŵa_#0ͯ'C9'KkcizMKl~iVׄaEB?Eۦr]U51g+K*y𐲆0/3MI+͡l4/bJ~߯ /K@\B_V uKЋҼ|Z[i[l1/~$/~҆Kl<J .}yo.-/-$A~\3 .Z[i nM +6Oʮte9Hkz" rA$HϽ/#PKl%iP #>EB~r += yMÅ_K͖pw 6/*^A`t9"<, u^$ pkh a0At 4! Q& Lһ*[AG BaP 6h X8KKG i 0@A׸4:UX $enKI# CT!ҨB#Mh!+!4!!DDD*ADDDDF""?ȲD*`Dj2p9n0Uepp"QwTaxtqVL=h}38|,w }*<4- _>`u{:mSgU6pۯ~Mڷq O$J$S#-.ʵz"Ď eZ֭؛_.pE ^BPt) H$J8*/^ZVb٩tgPǨKKo*oUf}/#?I\F5$_Y8 .pD",΢/ Oӥ'wͯmu0 ZşO?g6EPoׅh6=_u0VPs$=觍# +9C:/!?1Kzm-k5{_|zuK_Wo/0MW$C[eBKo2- ~H[8K4%SKztX+%y_D&@Kp/,o h`]iq %O 4tpa K󢵥EA&O(ADOKyRBj΃aHԗb bKda0Li4@ g1 ht, Fkah6 DDRD XQ@F#->E"G-7Eiq,:-"T{ۈPu cZKk,BAܛD";(F^ƖyHqDDE!WIeNggGt7#GcyvGgv]GG>GT{>#0ؕL E1H1b"a!lDlCu&'i@y\at&jˢ>yP"쭔6j\Ή#i6q}EꌊLgd#G*UX4"R"#զ \y%"sh!m!Nm&\I*WAN'`D +PD">H&:#!ygG}Q}GD>>>G_s8>G}0Ϥ>8D4}qg b}B$mc"8}V8">#- B',!+DRFIJ]b"#h>PImG +GT} 28qIe[>6"asᑤE}+H1"plDt#şH ʶwIk:#>UԐ"4>}_ B xԂ!DE ׺1V8CL>DDq +XW}77[M+ڷظcInXIx@͆e\Gn[Ӯ,GƯX"F7зGT".}Y ud)^tGAD"l`:% !Rz8N:œ^}YiX"GH:hh{IBqG ` dr:>F aGL|c [lE!3 0@^DZaM-DiEi Wv:^ Rk7I5i!t0t68#}Qф#>:gPDw\ ?Q}";^>fA<@ FFןGy4qY,vqΨꏢD2#qLl6,VhQ)}SXXccgq<O_1qDshD;؂؋dwmQ^aR!5md&~h3ڵaS 'qRa5Jۦ҂Y@Z@jMөD>HSi#Shm#YC`r`qt^}\҄Pg@ry!MFzvV0AGT!,ua,w5*CN=6Hyfh0Mq{Va$Ny:Fm:6< 㐈MCL}PkoW"a0B!E !ͦ;+Hb!:B"=i! b) xcDEqq RB؝#-I8T$v + }ysԨGYśGmG}VHJ}:NPϢP:*8h><>6 GߦΉ8N}$qSeb80b#bhq1Q'8 X8G-B*Ȏ1xT -ն&fLYXxPH$v*&6iV):KLBa m21.=]6m<'.gқEc7)טtq#ꎨG&EGTuH$DDDDDqDqQPߙ*6[F^;(GTFVm}]#EaQG(GcHDD}TDDDD[vDDDDDj [" ,m ) i-̅/*yvƴzϤGoN,AAOJ& d+FBn]B+DGzg5#MyG;I5;,D![<;ÆuQ$v_ y$G}[(dQ04PlmL2vE`TIm0Ea\Im0aPYI٫ &8DKQup pWqnl;F;I_LDv5s:*9$ACAR +TlI@UTlIIi{(}USwL7kIO뷔] z.F=o{DF~h֘~$߳^to6&տֈ F_pA#i a:}6!a#@\zOKl 7]Z/F!_q= MMES}"OIMCIzM_~!oR߄$c!Z-,Hպ{(!~ GבZtΘ>&I8([(71HNs'Pob(Z9a=PpC zA0$˗BIR%C mM\_ +0[C WJqT:tߪ^ >Dpao<<-"]%C'K#FqKIT4VKni%0{h! ?GPim#$ta -DuDt]<UxuJCf1iv怨u}v怨uO8<|("? B- +$UKE2 ?QI^KaN#A (۫*OXh,WnSA њ(?K\H0+Abn9(PR+תwF4H*l K|2W&aMAu6#i7aldD-,E4| ,VOM[^B lQ M[pIMUb)_1~lBI^?.mZҜi7lBI^Vl4H6!$ش6?UKB Jaz~cZM[l10U$0|zV u6$ &$/~҆Kl<(A>>GJ .e8t_9(l4D|cZH gA7O q'I?b:A4ȓ A7Oп ].6SZ &F}y?vj?A$?$iC @ag_Ț">.sKI/eREWKA A&V %!$H$?_H ˠ//tzA f./p@|Oo 3^#i z $g&R85a o%I#=0* %Չl$D_׿z_h Vgt՝ X`kPm-/V!ZƲ3ӏ/ IJ JWYBH$%nu$mH$%ntp T/jå `!CC$`AV^a" x" ` *| ; H Nb4i4%b A4=BHb A)h!+j"BPB"""""""DDE +#?8}7&#&(D*EtJ٪>;XEDV؅-" >0hPι H;D qFI8pθEc+ X"$4(}CuD paÆٴe eM 6ͦ(l8lmL6Qp96Ȫ"Ȃle(w ͦ(x +I vpWqp-iJ.ȧ ȸUEb5uw@UQ+@Ltu foaoaZ>@PѠ0l:Pu  +qn6hz7l^qD!]m?>b UC&eoaHII[% WB]U{: +Mߊa oK/AޖU.__i7B&m/K*>mm&|&Eg?/e9D5I􍤄D~A#i/oI ߤm%u]i~׍` 6^:ZZC<$h I_q(aaY>mTq6⩽M.zHImArySB5N KoE3ҝ%Dz:'$4/A??t8uMLIm#ցZuV#*A$u@*.< +-QhHoOD}#ֶ[[!3ނ۫Xt!ejMmPC8KkejMmAN#΃AH3fC!qg#UU?ނ۫PkQXA"'ٹ +Vz%pO KR+)T}8M0/o^'^?K, DR JIhb!, zM^-"9AP%C 7/zXAu&eZKJXVGJMZ^i6oR :imMY?oST,BI_0t<04fWRmaFi %{xA~,zI7bJN[_K YEJJa  +<ץmRZpUk@*T~q[ u@U_z:8urD, m6]Fr@xL #L/u򟫮zײ@?O: H tM>?H& +8Kqˆ YHϽ|h Aa#I}yI03_ǫ|l)o,ǤgBs ZUAZQ'A&\a~ 0z@oKC TT, D}uRZf"x,0@tG50geA |6]u k0ExKyl_Q oeqTo`F{"Y\U/SHdK+7aߜL~Am*[}-qo'-ֻ:- +ֺ_u X`kZKkVXKo*Z< +Ze My ,7OU-0AtH$%n $bD)geoq _ a%n}QK  |B UQe ;b(@}O~Ka.6'/KkEޫX-\kA koA i/_+&2>Km]9&SEZvh +'$֜$O4U9ȪNq@o$ק;rD}/GaC|h <|"? O)@(DAW\WO)P, +٠Li&vdCI4&ҡAȆiߥO Z_b@ov>=-A88>gxտ@DڤHbCUoK`ރ#; +ߦ.zXi{MS _޷ M_;[ai7=|5;, uX@&ܡ#X@A#r«zMF%IBۑ +>dH0n|3rb|$m]#iZaL?Kny 4kL?Ix}hN ߤm%OZޞ)􍤳}h8 jH?lQ~4Ǥr߄$c!M~,WF7 )1Tut "T(- oޭP/d9SzjӋtj:NCBPWZr}is@G R#ӜYѾ_wt R#ӜRA\T4Iq|( P_SD‚ 5󨩀k*d󐴉t"Aƒuײ4W$1HR#RJ\{p@pw i|4 ^ߎ F4kH DvnʰտnOj nT'L>R$I&0LGmcm/ I T<$һI$i6/E{ҵ$i68- l(H浔A'J!ca2ҍY:d(x6BT&2i8:& 6 p漋iݰ270l6 &;&uwH6ȩ L&/ jL0j7Gs ӨI 蔢7aÅ +N-Z8F8A twXzIlptGH +aaHQO)6oD dH5?X"1V9ea ; _a`ŗI Ӭ@oݿ$Օ?ؿ)%$m*^t$ذCKWgAAȅ_@oKޣ'gʴ'OO >&j4!BKL|{lHR#a +MPV|?/MǴ+ނ~8~'ӯM.?oF{mX~PI/՞/!^Tkς rH +Cd?'4I O$&}o8~x@VSV*ܢb9>W㲭^f_Om-/PD%f⿪p#E_ +"нJ~?V=/!uIZ_"ZKDH4yOksusOYȕB,hzWk,tW^'3Z*ezV. ><5!:Yl=].:+=@z}C$/ePG?P_)i^ {##a֓zMW_CkY ,X9;(3aG.ij?};)?j kZapVf$GtR⟏%]}~j?&i+]&U/tz^j= U+KKPNN0K54$ɍ}2UKP) NC+MץD1D{tӵLW6PmA5⵱Y +VSrq#߄pjXA[899 Pߑ +-[[_s uY,:^z pZ5EʒAmk_k]>b4B|%:~ml?})8D{$> *ZuhKҤ_,%R5 Vl~*),75OnzȎ&I +W묆/:Ni|*v*0V"]B )$>]:x"?DDK!-_?/!BH_ X,6zh6l<㸑_*\um_/VaE~a+OV[(,[(RֻL D}nt_KxWPg'x@ +AǧQ'"p3R,Kh +.Ky~ĺҍ&& 4:9>|_aAd&K .DS [7yo "cI| x%h/iWL_-?K.I~E EXI +%A6J_ YqTvO//KJ窖_Il;KWI|B +/AiPH?_/(Amf|~0(RK-.A/H%Rq/J&Ht5_WTM/oK t:@-/0,rK 6K[*l;o A?M, ~ZJ7v 'a^A>Ib JgoJoIL5&I!~ФzM~o>JKnxGM7K1ǢBAzMj^-_I&/ ~AXE۝BJ&\w%Mm>"HKH:MH@ g*Q0lּ ?''Fk +oJ< /w08 j~" :AA ƒ]CKbL:a&)& %- 93W hzS#X4G@ i/k#8:/  א B =&AkaGQy8A0pOBc]Ť GQV$`(aW*!&t,W Wᣡ# y^0[uDhh B0GFBBBA BB#=444J^DDDDDDDDDDhE"0B#q\h $F"Yh-1Ku4#|88dS5#g5#$Jr&"`^EQDk+i2V3R;uD%[x&6 m &2u @pȲel8pvEf2ApKtg>\fh'pDM~wDwGPֺAUQ 0.L{s}Ug (â\0ŭ35pOWᲰa[eOn6iy/V-u>P5TkS]DaU6 +3h߶A뷿濯eMiPn!zo~T*gӆyio HN<~*w߯i"@FYn!q Sh3/@a-Kmռ~΋DUy4Tߑ]a(G|4_}U~id&bCgJak׽/Nuy5/i7Ωsi'I%<:/!qix_'IJ~>oI4}/H5&k_5Im[joImU_b/_-hkt4`2qӪ1Jh_ph2hֈkhmVNfѪI-3D*h:!SD~&`@_I>86t) "4A>q~LF~XN{).fZtJ!"tS`5,t_NIN/!"=s! EߜIޕ&h(RQD{_!pr%NsO:/1+8o >zO~AA>I}/KbSz_@c/5k䜾zZOZLz[5kNx<^FYS^~IU +APr=fpֳc/_뤕^5wI[k\_}CH":],x"? h0wf +JTx"?H":]`xu/zAZhiVT:]ꗯ>4H$`ۯB +X">WJƗ֗,EAl8DxRб*:ӯI"qKL P~0~b-GUu$@#&`Z7?aou$zh&%!zja Wֱ0$_ڧI>&C QMDu׿*?z/B V#|Mb g3~PZG(铆Ep o,7[^(\BZC\uFuY  2^_oKB ׯ5W荂?%C,]XDl6u  rJpcl4#N.KIZIcKAu z[~;*rut#z p@*_?>ҽ ޅHh AW\m-&W%9t ֙@\idڷ-}:/OD}Z\idZxMYMWAx !2q?t~{ޞ. ӥF 6SҴ +m Km-&U#?At[$鯇^SҴ +hm  t#KKAK A]e:< ^SAA}-- KKA=x@AР!]h,WPTGAyO_AnWh13ӏ, ;)jM_Z + ==8` > -.?ڛ +S_zcC#Ah Aiw?+^LV]Aڭ}ce9F\k\id<--2BA$@4(.B?+eTq&gWHxu~CB}QĞ Oi6uz @ _ -1tx--Io "=tᄛ W/JvA70kKnI7I7}-X`[0WGBIt% `A"?K[)& ]B aIa>~ U5 Io_DO򩮓{IA7-I%xuKzuޥxxQǤ+NDI-ET!l"7 PAl> I M"kMOp| y'* ui\pk&F* Ap t2AF Ȁe&vLbCC=K0@H,2Sd(5=aȃ PôIR D +2d 0"_4H, P^vLb` B0`>V$`(Ih GXARA?TаB8 +Aέ $)C O ;kR$b(!AF"#,YڴF#h32:-"1nq\ԈjG|0ppNrRVjPfjPιX"1Dw2;g\#XJ,J64@pȲȢ5&Vٴö.ٴÆʭU L3=Ʌ 3YL;*Ig 9nM7e:nmCPu NFȐM7l:"%A]0u L*6@+]]IOf2DݐJwLtu j5JH"* m4wZLtj )D0˄hb־K(AXL m4F Z9i3Ѭ7t_F 8$i2#wD[wLm=/!-u>Aem FQJDݷIHVmxma6 +1wR_Xm!bF]Iۤ(4?R3pIޖ9!z "~j]7ׯzpԌϨ7HGE},ywmmiꊰa-/etMI/KKɀa-SgT^nI%+K$/HK*. 6J55^zaIqzU]:䄧GEU$='ɯSצd?KJ)I/!_I?ͯoU}/$ 01錄 #KE C_K 5CAUqD5 (I$J?j/hg?.C_<"'*%J[B + 8m +}B4IiSϯ'BΟPbqiCYn!'_ +/:~uB^6jOHCU)E$G]"=9O3Tu#Ӝ_s]-"~ʥ?B*:px~NIf"hIsZSrIC/E|8 P](տ9Is_ +k9hD?B.8U7֊xY1m:aN* ~qT0}ZO_A/Dtg:Kn%&zS֗zD +_KJt":qKI/3ҝRKK( n_VXKu~%Gu_toZH":_)8koAimD^$#1y"Z[u|x"??Z]zZ RKRXI K3$-*Iq[z]""}*a" J XbgGUu$qWj> ViפU\%]vhY}]/M'}-*J_>}-*kcizI&ҭXKh`wŔ1Y,BI_4PXJg$BXy𐲆4P\P!@sWWo cG_ aqP/@.  oJ9K_K]%C㎗U %Kz ZX_I~KI:OZH*(DA 6zF} /ނzF}/I%uf=#>п MoA`f>aY ' {xAl?^yi:G@I ~[:Gk?a ӥFm3 U3 Izf_گM,00u]{U_Z,0PAi%Shm(GI oeqT oeqT`4T>Pm-k_\|N[)ShPPcuAl9>|AuT8AU__/ADTTi:6 +_ELZK!?(Ծ.p+[zl?%[zS(maux(G"K~MmK~kyv*O)'JyB )pO 0 (}E>|™n7)5=bRa8A7AW8A7Yi!0}(j ,@.[8A7vLbtz"@LZY# Lo8A04c& , a0&P^r`8hp , A0Ia! ! [!$eVka0q ¡ b28B8Ci!Hւ +B HA +UDj5A#MP!AD幄W*Dc,Qd*ιXDEcq Fl?$h Itk`c!$,H萴}B i$$nbTmh&H91shg?^Y_ڤ]8[2SJ9C_4W@1IJ9"=9ΥI=_XMߠҡ)ts0L(P@jFj(a<$hm.C^zi-ELZtf -Dui{G +Knh8;pLG??ޔiP%"KnQD[u|F5$I_+ƴ/QD^UT R+ᘉ EF'KOJXI֗^aAbgւ ~aד_ҭOϥm*l_]/| I|Փ_BI_$J tH6!$_v5uzG~:Z +m:_ƴ(l4K~랽, +ߥ ϯKҿpnF}S:$iz_:jGA$HϾ6S_Z A&Y>(_2|0H$9KzeA>.!?K3K/0geeqT^^HdK+6*A$D_ⵯ +֣ДrM +ֿkI[| IJ2yuA&)+u_U~!*WAyt!*muA**[?i}J9MW'ꚍ-%A"~\~Dy<k~+apKA?mzHArm$ӯKAȆii][Li'+_FwA AFv]?b@A_i}z_ ih -e` ^pw=~";IK_$";I`|x?AX@A#c@ItAI6a KKF,p@ &m l:XE$i6 |A`bIlxIwxA:P, P@ ҆A΂ips9sa Ȣ!&'Ja6{po i2 DN`AtR+-'RA|,z NMQ_Pa0i 0&0Iia, $A L֐0YpJ2A5U$eqB,,HAk H WA HqA +H!%@DRҨB#DA$ A:iIDPB"""(!D)Zf#;DȄE>1Ԋ~+2VR;(ȮW̗$8g\TI(BӆJ xl2aC f%GsȲa*hDkEB"0l 46e"5R`᳃M&af:f +$J_WlZtiLvj#iN0A 6mwvϨ8gˌdgձk_E &H +}!Elb֙ШIèBISPDI06V8lU]lYp(oOTTl :eOn6 :\¯A&_zmFͣ4xb U i <]Hz]$~H5fH*J?^5"?&Ml5P&F[_a?@T_\Si~P_%(֜\S<I:ֺZEJ,Tu#ӜȠ5%ii'\KzMt&/opBiP8}/:i)ėU9տ9Is/K 5= ?B,7UЋA{I#5 +0Tu: 3 KoqA+8oSֺQ~_=0J%[sk. $a/կ<^3ҝ%R <^*N +":ePq|>$nut# nP$뤕^_NP +-_KQH1$#1y"Z[uy2"Ax"?"?{Z^ޗ(P nʢ#?GK3:-*g'_KKOJX^]GE :ˣ:8ʅ?]a@ +$lGUu$@^{h/6]a;B.Z^IYjqI鳑XKh[i~mzZ{M[Y'XU>/"?迫Y |=gE/Ϋ^m a˯*# 1 _Ak_/ H ˯mZ +_| WK ܊#?At^_u_I#=8*_wx@+z!uZpKu< ^S_M X`k_z_ ~yqyV+i%? 6 aLRVץS{ tx ifT~5ձA6~_b~-#xi4 R3/(Kl/:_o_ح, #;A_t넋p/ a&^t?5/ .AKK[`ఁMMaK_AX@A#c@KXA ia KKItib,']zrcI6qO}uKjPZ24} M:(~]Ί H6sL=+ׯ& \ K Ȃ)s +B ҇K% &Dk`ȦpO&O.g.l4$ ACy`I%Ki}آCTi`Apoޖ `3 R _0}% iElR+RA~,z NMbZL( j 0` ,pa0iV Bд j  jаXc   a0~  IU +B8 KaP IB& NB8HqJXBʑA0E8AR`HDj5A)5H*Dhh D GA RCAPQ7[E:!\6 wTatQΠJ?l>pogA_mi7 ݺM}-.֗Zbm~!GЉ"W)UZVb٩Fu +z {*Vn=cV΢"}a0_ T4Mǣ ΢uI!gE?}_IwV=ykaP!(kk_ gBI\N +^i7eb.?k=iq %NE8@0Hh7ޒ].$&6Iz[# cIt40;Aj,DPL( T#Z>$)G-qtuDܡQ=wvb#Шq"""jn +#XB aɲ^c nE;+ꍶ-trl + 92:SGZ; +A"P<2:+ 3}>;} #N#|;XVmWP: Uf#*.8|GKґФ؏"(";~:1ZCAPA~O};' A E ޑMUEBL$ HG}G$q,> E}GuGMH>:=G}>#Q}YGfo8<\\qF#ӹX}8)Ј؏_o{q""툨qsv Sv-cc^sž@Dr85YGuGLYϣS> h>!,GTuG>>ꏦϬ#q/: ?)GE0Va2]GҜG3' w8'ͥsVGDt< E' E ň"",c8MЈ EEl!>0qedE؆"Wj;pcbkO{t-7 XI|%adr9PE%aCmzCvm#h&Y^VvqQ>>1Gq\,vqD:4g#m4mY}f24$mgmWGy7JGGYGa1#l0@wƂXmcb;!GGbǃ  lqG<`.8##c'űD^6nEvD~DXam aǹӆi uI'vah96*Fh6q#D}6@ͅٳD2# +]@uYA>>##I o86ftY7:#46f7}g>?}aO :qTqOϣ꘣%@}g}LgGE갊":'Yŵ&efq1l|q#"=b)byWb#ب#8( TOhDqQCFPZ!>8&xAm/ų,Ab\dq CU#iGmVY!"0L"v m.ߵXH%$\/y)↤ 7aͫU#5Z.r:6k(yM*9tuYiNTc>iqfa\s88  E^ٵoVaN/⯛_^ն=8B9؎/\/㈽|bb8bحc)Ŷ TRI[d|hBaXbh1 D60v]u#m[aM0zWhMG{\2dmvμ=[$:8E&Me̎HPͣ}!ZFZMa< K<>#>FGԘE3=3e#H C#stY}(A0A8"!@`=\C8!XB ؈`O`D |v0cłaqFDDDFE/ƱqhDDDElDq' BUkO. ն/bChi*v4## 9#aVtaYQđEaSID"#Hꏣ!}6q$mVCY䧑B,>":."!DDDE6(":ϯQDTqeG}Ƅz} qq۱lFtgZѢSM0H+y6Y:2PXYGjޥضvg4GqDi"3'&#AhY}:#b",B,5b +)Dp}V"6Ј#`TDGhwmFV!"":]1 &i LCLA1t%C \b *$m}Q$>; +YJsꏣ>R%a9"""">;qfJ|FhB>>G}“gF^3D}GuGAYLQDAq>ɻEXgѐK8 ,A6&Zh"d5GƁq{)qwJ.K\MG\) :C%8cj +4+#8Dr+Q:>PE<:GGT3 OC& C03AK} #\DWRGj0h&pFJ2)H88e&wR5pμ3^K"ڃLgz_aIGtPlh)C*%h*f{npʚAEʬŠ3 P>ٴö i^d†۪хB#@ ]iRvj部EZnݦP +$6}A.]0u L Hƾ1iu L*6@yΖu 1k^wLtu fP0\YB*dkoay>qf?}n|62UtwL;1 eOer˄Dz0\JD>IQa)#jmH+Vxm&! 4_6?07V6?B1c L HzpԌϨ7HkR#>f7~i&&/QWL l:a*il;q>ΫE׷_SEzҽ,թ!G^zaIi~㝨yW!AGڼ< hz/e()Y}6RCynM6$_B(6j1DX!{*?_,H萴2(_,H萾E)Igp y1sZ! YJ=&Bֈk1sɱP*͡UMᥠ4BMaM΅>qhI74_Me2O ϣSjV"4 &ZiHC>a/"k>.Sd" $?Ȑ5iHCU)p؟Z=> J~s. Et?t:?؈B>`sqHKpNۄG^C+OKw6(GӟG}Ft*#/K/o%U_[e|3DDgoǂ#I tơH":_#-WkLH":_#/1ca]꒤ᘉ E%^ޖz_f +1 H`b/?i gDh:ӯI#""5??N$* OzXAuE *iU"Y62_U6mGGuG[B g"i=4| Gֱi=p}-*\‹SO_\?BHH 8g$BŔ1(c/,yz/D gI+9sh}?# MCcLi,@W( x_D"@Wc~c"Y+x_&ğm t[JA oT?8u6}Ҳ/T?'C$F=I'T $_>b=':+ˤC} pI]A4 O˨п $ֿzr.:i%u6'dH +?@ >(Et/>( IQh Kr +?G I m/,$ 4 \~HZDtI͡E #AѴZ oeqTa~m5ik_PKgW#A]e:tX%:< Z = NxkuA% = E|n?']=0Al_yqyVJm$?Q ͂AlN KUo0ImTX`yXLlHQs - -h &1eBKoEV($'s@; -#[SGR1F$-"?_i!K{/U@/.5]'-[`z^]j_MkGo[_-?44 $@Ai i|+:1x ^u0ߪ @"ih KlZ6"#֘I"zE>& ȉuO)>pO 0 (GK%%&DkXADK1d* !`P&*4 dE-آ0 襾K0K0iTi`Ar)zIP^1; a0 P^10Ic :W}*AB0` .oH֏ `S!`AaP4LX# +5 H ʫ4:I P& ,B4EB#P!iDF CXZCi)$kKqAY s:y]mR-uYd]V:k)3J-J yF"2_lprah6} g2[8g\"6flayHDnf*ET2VjL"s 6ͦ)CapEÇۆD6v,ܷU}]DTݐHEle' @"]] "*"%'VKpAI`A%=hp_p$ANB%8֓{ >S"P&Wέ7tBUt&s +hp4JHH"> R7Se)Iۤ(I}iWk]$MU7M$tzL_ƓI:zM,ywޗ^x 6Ck},$mh5Їz_nI%i}u__Y +ZL?KGMsYI 4m~ʨ{9e$0n^Ww^Q("ٟQ ~u\#&CA#i/n>II)(Jy$t[ |+Wi^#@\zOm+z H" d4[*<I$`c!׭'+I}%Sd01Mr$E%O8jQhg?/ez#d j$^TJ)%󈥥WCUED --(_:CBΟbqiC:_-4W1IJ9?XeB4^tӋu*ܷG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȘ5$) +L<>(aC"C tVe_m3PC xAWBtm"( P^#Au!:i7aY>mSq_8aY>mO]&K/ =Rt΢0 $UNQ.>si$=)[p$҄Jt":?#AT4B&[ZKT[p합I>XKuG* n"/KzS(@먊A!4a@T nQI--^دD$[uy$PDnq50AREW(AԹDX_ U$--P/SR+iu7 ?K`$JX_  ޖ]I%UNUޖ]z;KAI[a a-%UAu(L/"7}-*a4| +0;iVx3[ Jy> +O4| +6o-N,0_$눲4PXJşOXAx~lBI_,0ӈ"3MI+G\G[ uRV(_P"?G-֕}/? 2 +0g#8uI~.,hR(l4yKzJd6 aLRVﬡLH$%n¶[s z \ +_GifTqFfm/^U!*ў -mOΏ S]s:ŊZ($b~oߪkom-\ DS_ֹBGDIT$O4R$-/*@ATT,!ad,B "` (-!ǥt Bt H N5 B5  ""4ABP"CI-#!HDDG""""""""""BIBG*"K:pPF>#ZOv7[(hej`2*ToOO${I3+|%iE*%ش +6:L_~H5f&*HxOSL$mtֿy:B z_R3a0=M0aH?DҟTۤaYU0K`&>Ť]*.QE?FA#i/lle~ FA'U AHK|f~D FQ paT4Ǥ&'FHq>u i$$?IMCI<}/ )k/1BJl2zoI/!%O<&8Z"TֈkH?l_},RdʉS$+o RR}iťo^KӋIKO,J9Ku))G>[=*b_Nb]!T0"=9YVߠҡ)tsIuUЋA{I#5 +0תP +k'9ΏpC xe}e_m3PC xAW~s T"]%ꗄ&/t1sK/ =Rt΢0#A?rۄG_j_T[p +":ePt|>$nxoJ4uJX +U΀u[)WKzS'@먊A~֗ (۫ШEZ 0!$ +NF\;*~ (۫ۜE$/ )"۫i ,Wi{z_L B-"?M-]/oe?+Ab3rZ "-?FÏ=╠^]h,WW?h,W">n_Aue $G(ol R8._AuA0K/m*SMmU3 i=6o-K_UjV KbJt8ҍ3MI+ 2plBI_(": KbJK"=h/?Z怫)C TJatZV ucBCa_I6]B$J .Ҳ-痿XХPiu?ZyJ4Bu }/,I>$ ~#se+ H&.?隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HChdfSK$aK@T__L>z@H$N,s L>:_?}AA lEkA>.mA f.ثH%A 30u_ F{"Y\U/ȇZ o\$D_#I#=0*h!o$ȘWKk4J+Z?_^"Z%aIBt+ +ֿ]i5%a~ׯק6 aLRVg-A&)+u}epA:LRV+i%A&)+uzkyt!*A_ U Tmސkˡ UGkifj'KUU;B H%Z.)vKUm.6ij'*sA48"?_'*__Hk(_(iuh <_=fiW'WG@/.W' m~]Z O)kʟxAؠdCI2( M;o( .M?m?V%I}oia)P0=[9.g}tZ%᠂@K6ح, #;u AAa{M?Am/ok iL4 .A-Ra=+H Dvfrdx 05 m`Kx+HqH Dvoim=+H Dvyh1f$$X6M _""")7:I6n#76Mۥ KcI6hO}wAI!m&^mF~ G_H6aOXA_& |A`bIlxIvxx>g.l4D$ ACazsLxIһ (t#ˑ9#MN:\)!2"s_36` "l tiaq~10 X$ pk T \ NM?0*Gid* qI$ Ae|8cJaA& I8A6dPEWEĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0JO.Ņ)4`q ƒ `C'Q ֕k֕؄pA0Id` * BYA0F t`h1h D $H"T"B?HA""#DA$ A:ijDDEDDDDG((F">z?8}fkӥ&ҵKKt#G QADVltJnb+E &4I8d C)NsA+;)D#QFIxpι ZwD"$DQiXelÇ i.pʪmL6Qpp46lmtEEaPrܣ$]Pg%~Dݦ"%\(EZ#:DaZg@ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AD}G8A6-a ,0VtY0 uAlm?ۺe A&">4M"#Q@l|_(>bUC&boaHII#% +sWB +;糠pޗ 6oB$mQ/47Yz~i6}^ۥm&|&4}G֗JSMAzFB#7I{zH/A#i&WE?WZ_|zߤ^:ZZC$h I_q=H+G 9ΣѯKOMZ FD٩$`c!H )iQA|?AVJt"+*dG44`>/*%NqIK4LyW*dm6q' ~D +L%oD$.Ma0sN/L59/FJ?C[!VΪDzs)l=Ăb&ᜎG9|urMQi#E>(a.2AgUj(aOi#EH}0}TMh$t@DKoJl#kא!GMo"uNۄGX?a%A -Du:?:\&zSh}a-PD(ҫ$FT n0/u>!+*6HG"?=ko["Tg=WN#! (Pn"9B[^(P nazU3 ٝ:\YnUO~u5h,WTf)Z ?-/JXDy4? `A{tޗGK.l K/3^a׋#_T0~"+ /o%MA,R'm*Y&:m*T[XKI$K)}/~!$ARb  lBI_I$xA~,zI7~}.?cmB5@I[i[l1ס)TpJ _0UѺ (Az㎗X(AP@IPiu(Aʡ҆KՔ xADI Su_~?c  I?Cnn x_a?yp@{o, DpvI037 &F}V-汱)E[ 1r[B-ZQ'A&\a~ 0zUD a7EZGY/-' X[SZqA f.xץZ 3@t<<%_.Xaտp\U/V,F $g&Rޥ>$D⸪_uoA{z o&?z_ ?aZ*Kt[%at +ִ-4߂U|xAl?-5 0cޒTcͪ $b]e +k 1I[#j?78Am範tQdW/) UG 0PzQ UF6>'ҿAj4_mx|[(צA*ŊA*[yGsIoI%!uTH\Nu+ 'p MNpTia')8_6MK.QAէoA0o_AryL ȅP $ n j*=oo0@M1m&o%I7^ +&ALqO _RWhګ{l AA#;uo #;+}6/g~aUm[0Ai7&~M8\5oAKA%M_;[ai7=|5I[a, DvnjGX@A#r@aU&# mJ8|} 2<@5oc@M{I&UkMߒMt m&ta@A$M1IK=DDE&GJ&L?0?KCH6a$i6-0oToHB M=0IA&Mtcis +B ҇I1A:PBc % ACIK_c%0pZAL6 T]~ioސd* |A$A$!P^0HR  '&!9d* ǥ?ʆA-8e -&E:`Mi$ Bj>X`HL& - b$A0& B:cI b>M`m4kL?I_Uѯ!i0/I|uDxto6mO FQ?Q^q~4Ǥ5y!)~ 6$h Iް1[~( GneZ +0 IMSGTut "T(- oޭP/d9S^fhG><ΓЧ&Uֳ4t\Zqt>L-G9|$O-G9eC T%KSD‚ 5l^4Iq|( P^*`ʿ<<-"]%*]%[ r.[pT4]GPim#êX䎛 ?AKu1)ǥaKu=D|_KA݆*]imYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_AbKaZA)Z #w/죘rH0+AbB 6"uok6]zM.Xߥ6MAu}&ʚ!_}uMUNv(*LV_6 J!$/ִMfWIY4>&i7lBI^_4_KM[l1*rce 'aҶcB5~K# [E:_+ 4r:Piuz|qg'I?b?K~"xO gBrD  &F}?xG! $CI}xz1AL>ץ_?:/! |=ZˠEx3H Ad [Շ^ 0ge\U/zף%I#= * A ubh!I#= *⵨KK^gGGV!ZK_oA0B%n_k$bA0KVmLRVU_muՇKx@ o5 +LjA +:9Or: D?>}/[t VMkӜkP_ Mj +8 DSEGa"?kʚ8)zA\S?XD&ooW'[i&ح|!7Li&*7oտdcI;)UV]{#Ep@!5+uǿ$1Hm/l#o`/pAm/u]77 ҿA";I r1D{_4@A#vUv}VH Dv}&mRoB* Iqo Cv?$II1&KA$I~~(&.|讕A$ItLpZAP/k)N:CǤ&oytij9e#P@ ҆ Ax"J) ~I8A7 Aj!d4ci0OA$ A04!Mi yxp@ @, `֓c: a0iAAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S$)y-P4Yo;["Ge򳚔2[3IPgehd򳚑$'lFR:(}Ug×9C$8&2Vf{pȟMladrj 2Pl6l6 g EVRQU`dNa& WLMnlkNݑ~]0di7iËAB*0e@*6@>If*mp\fh(}[wZLtj +}!DLs:)(Tr$>A£(AŘNE7 +Xl#qGSꪛ!*ۺem2JiU7tIzᇦuw Nj%$l]Iۤ(_-/m< _hү=#ֺI8AdKK&4_H6/n>`u=M0atMI/KeT}ZizoM WFzU]m%:Y:I׽,Q UkRB:+57!ICHW:U {)DJy$t[ _IB5&}"O/u믆obGD^/1BJoB. W4E?$AƓt4`/\RK4pE_},/Rd:GD*h +&!'7 + g__M:_-4W1IJ9. $Zt&fG90jJ">6IN$t]/{~JU9տ9hD?B.0׈PgjHETuɅUЋA{I#5 1?0tSq?8aY>mN9tA0tM:"FtK/ =Ruկ<^_Bg:KnZLzZO1Oē-6*Z^BUm]VRBdZ}tb*>?IGK#/ O朠5G_kLHDuhYjTA +Z^G:_+ ?>K.k7%|=!e i~, %V3~P_Mt%YuXo.! +(_( K^Z~tZV]%:]d[%H _kχY9DiDz,hR(l?U ~#s"Ap?i__N_A7-/DA%X YHϾ}% +#UEBB\$At NR=K Dz_3P"? &t]t$~ a=WIQa#6a(@ /Z #}'@Qhe>SK$a/?ylb":KmL[U^/*?}AA?At'O-R~m5.ph zt_.o$ȍ< ^S5ǔ-ֿ]Y_x@A_= /m&A0]}9>zJm$gL_?;+6 aL}z_:8 +_GImNA||m/LCY. Kke:EkoUoe8]s:z*[?i}TqߪhI~[I?㰿\~G (_ƖHTy< l_{^U>Cev_V+h)I-_حK޿_kb |1Hm-@_}]iwVH*vKa]8;/[`/a# Kho/c@Aa i, Itib U5'L>b? 4cUKjPil=1G?}xIvxE+du\A`bZ`ȮpO_9?0 (tR ,BdDSդ\pkഃIAMB2 _˃˛ 0AE/ 6$ 0}"5~INM` 2d(5b0:QU2 AΡ4(@.E/ {)H ?= +m&a! P^v8A5 ˴  @a%hXAH! 100q $eV5 a54Fka !DRiB#MP""44#M -4H5CPTZŠ""""G[EqѕHXg\V2;f &80aKq]݆q]]a#EA5} +"Z z]1u=Í>[I^6&IViu6ް1^z]j݉ĩ痤??I#D+HNsoJ-+e1l԰@WxΡSPm o*n":K`uʬըKu*dS*~n=R۫ШEZ Dj+7)a#@u]|%>BJo'w|kka0X/*TIјlz0]%:TDg(9$:*AWꗲuoa" Nj.벸_ujPy=Io +C>1IuQBHhI5TV䅳]!\S=.o-ɴ zYoge[Q i+ᴰAXѬ#5.ޒI ) H/IQ,. 7'J ӜBj΃aHԗؓ_0&4jL& }' g1 h` +q c A +B,DPL(T>B@M-TEhf,yjPDtGG7(Vm`Dlmrn>uG}-T},Gf8}GЎCB/DBH1JƂ}}G-)ĊgaK|G7zeQMˊ8!p{h+b{>P6G(GR#GuA:#HShd4%vAaD8FͰňV㈎}$"}b";.""#R$*~%HDo65&ʯ_z"_7Ϳ+6m:4HC84H4,鳽QGGf"}YDmn(4ꋡD"#qDBcb!!!@ۭD9DŽ oLJA=\2*ӐGADڝS~O}8׶JFtϣ#Kmgw8 iP!>GuG!}X"YuG>\G.D_{>D%ސmWvǯt?bBB}%CKSiz8}dW>>qt璘GT}P<@pDvGA"4}ϣ=Q}QuGUYD"ڂ)ӈ؎@փA?!T[cSi$8<6Vc3x-bqgr&4(kMޓb3 \\KvL/4 v40w# A٠.i&]\6ށ<(GБH)dq8G}h&&9r -GTB#:}Y.>E hI+"""B E0b"#8@~dIaG>rB y5c#p1p xرbCl\ M_bO6 'x#k օ\iMCW;<ꎨ>D:ϣJq[WV":.ɎϣGG !GT}?6yA +yGo:.#6# &,X T} ӈA|A~""S@#E9cDb,2; x;hh|SBXߎ 0q|DC"ڎ>#m<($|DPx~Ď -HqqHDT]/^nނ'AϤ$##>:0Si[:,AY Hk:#~Yv]hF9b87q/4N6q#"0wwB#ɱL87c ]n"iZ[`^n4K&m$~!HϦ ΚR! jm)skƁ⠎8VㄯlH6?Ŋهb}6\lx5bxm]XbDv)ɼ[L\0l1iPױLmJAV %hzWvmS< ݼa)0M0ǡYCnwiN>r7gq2\Sy321C#N"2G@VyY[R_d%ImLyYMIPAG !ADA X s>>"qSlDDEqqű_G{MaaA tmAS"V3B,lB; ϢfUDJi4,%)"*ňA +cB#qł#!.8U0D1 1^[  %W9B- #ȡGMuY(G +"-bA@|DDDE!H Vd& +@8ƕGB";4RD}ꏣY&XC"-"" ["ErAL"R>cB: MD+&#! b""؊^l N(JM8""""<>>tAs3N:#h'*+6 a e*D  FR;+FVsRKsRuY$Fd$<6=mQp4wL3= eQC eVQaEa"}7 il%ԈjL"sFVٵM EeZa`&17id  PdKWLMn$k&N6Sl;8Dߢ:ݑ}N (vtPaZsg;Pk2YȨxtAsg;X5TDC LD_pvwGƛ(!t:UUwM2(GP-u>Q6ޟ#L:QaӅ_В֮qՆ?FIH!gr ma6 +07V~H5y329i6 L H+},wޖNBy##A?z}[ WC0ۤۥ:CtMI/KϪ>:/T^K5jHGPQ\EސAzFZj߿GYym/)G O$95Cy.nU6HMA8Dt]z$}')>"Ď VAK @1#/1N"CxYR>/D5CT4`b,- . W4J0=&B^Y_ڥ&@6b=G4ZZdT ?Ч.?@TyR4LBN/Ii~P_%e2Ovh+HI:ֺZEO ȚϭtO4Tu#Ӝ$CAy Q ]3jJU;t8b-ߜI" +kI/=U"^H! Q}RL1]"T⩿.:aN* qT0}DpaN9_aqT8פ@KzZI -Du2{DpQ j0$뤗IU_Um]Rj`{7?gQY8 ~<IGKF5$_׏G_y2Ŋq/oKD$}$%I1/TT+ןFh@U{{)b"#I:#EfzIU%I%CB)GUu$@W9:D WzXAu*{h/ldfSB g"i=4| Gֱ0+G便[QpYj}t\-tpޯhdfSKFC I m//?ylE?*#}A6oDq-PAtm-k?At'O-R?}u ޷W*G>h,WYN= q: a⵮oz_MƄk(C + 6(q o /߰)i .'\A oKL?KPg9fMzL?KeT}=沉 7Ť+fT/?~UE6 FQ`?n>Jo6&#("Q ~66\2A#i HQ^פi^#@\zOm+}q=/I.='IMC_[OV6K$c!+I/1BJl2Ko!%6P2IE$▯8Z[Ut5[$^BJPګ^Y_ڤ^GJpy*jӋ'lBΜZq[/ߚ+\ӋJ9aDzs?\)0Ob,D!HRaM*b_Nb +kǪ3I-!:i6Z(aϰН4WB-=$( P^L?C(a%[:0I783"]%}8qItT"]%ꗄ&/tAT4ZKT[p합I=KK|"8(T[pI/I!/ -Du-KuEG"?=j a0T nQIޔiP%z2(JDzP%qD[uyUPDۜG΢%L=/ejMmpu*aWi{z_L B +$U2@le# Bb^K/[%Vzxc/%╠^O aL#aJXPaד_"K"B JI QH +_Dh/6]|%>CC 7ki# +.M[欟K0g~Z} `WIYjVVAaK/m*SImU3Fi %ixKe ii$##Xu$xWuqfWt~a`,P/Jar: "=h/?Z`)C ZPiu?Z\6q֖KJ .Ҳ-u +_ I|_&Pite;rM\3l i =':+ ҿpnKKA7OǠag)G޾9Ih$iϡ]%wDu:jGA$HϽ/)P$iH$9푥$a i:j8oW4 )% 0zo* k__L>H _>RH _UGImj_K/0geD/K] tI#=,*_oi3~A6[ $g%R85HdH+oV!ZzBt")A+ kA%h Vg5E.J+ZpA&)+u^;LRV+i%2?9k$bC>m_ 1I[(Q UGk ʀW U3A%CY. U>@AH%ZK_e:UlRKUU'n$)_'$_^A"~:OkHhMNv <[)=xDKAryL n__V+fAryL ( OVwOdCI4][Li&@#Iu[| #;uzZgz_QZia)P0=[9.g}*A-yTޖsA&^s .AwT7AJ o##+VD0 mm-D0 A M 0Ÿ[֗$";I+}$I'L>I,4?Ai60,4?HHm$I@DDDRou KT m&E&A'a] a~!m&I 0  B Mڌ=0!m&ÐN| tia7La tIp ˛ 0AE/ 6A:P^`'JNMQ_ Ty(A '&cA\ RA~,z NM85d* A.E '& $ +A01 `ᨖ1 9H + Jj ńĂ0H0` I b@4A04RAR0ZCXH@4$1 B& ^,,HAk H V:Bt H ʭa"[!CH*KAGu""#DA$ A4) A DDDPX!A "#,xd͎?l(G7Iߏ҄:bkP +Q  +endstream +endobj +9 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕr\CK +endstream +endobj +10 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +11 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 28627/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZm$J-6~ (z6/Rc)7HZE"2][_ղKl:_KmoWm.k ] +W$ߧ>ߏ__Kp6Bc餖߮UNAI%JFǣcK<uXBn!^v0 l?8}=:ZM6ם-hk:_&^v`- i1[m | mm{0 aDWڴ)$)zZ* z@>蕮_xIN 1$ r +ZWsK?/k#78Hik izE??K?O._!ʒ_oaLSmSxĭ-iR34zI*KIDZk;ioꇯivAa4 ?->h$h$pP7 `ahaXa$Bo zh)d#hQ-eg5(pι"M0pι-󵬗*8g\_a im0J&g, ѭFl2%0la X"5_ TϨ6Rpك +a"79i7SDKCBIu z6:pPF>#ZO0> +*ߒ=k +"Aa oKm4AޗL]|t&^g-VaZSꕾ*AHH#~D F_ F΢8IFe> )1O(uVAH!%6H %7jH5 h/ez#d j$^BJyzL=*h9YPZ|Si~N_%(֜ZP&Ic R#Ӝ92K?7zT0"=9ϢIZ(au {KUЋA{I#5 +0ת* 列Im3Co/z"+HIm îZۄG_Zi{G +Kni%0}*L["=cW)ӓKu*dVR-/ejm6 _Wi{z_L B +$U)Z u쥕_h,WnSA B JI#`"6z_/l K|2-"hm* \ JƼ P4bJ FYu$x[l10.*+рk#ߎJazZPitVPxT9DiXХPitAV |7>ΈTsD'\/ =Ixn6S^"?C5#agޗUk0Iչ%o i':/恖S9A&T -—֚ 3z f_$`φˠ/,wМ 0F{"A\U/߽-,Zu_I#=,*Ct@J+Zu]~_頂V!Z՞ ^H$%no}Wo5 1I[_ +_Tk^=z_?B UQe:UZH%ZA{HWp MA\S/KKAryO &F4/U][Li&@HbC/ ZXA AFvT?^ gkXbAm,_Gi7+c@K A MAi6"I cBEhA$M *i%atW'a=&AAyynT^A:PȘഃ $jK yps9sa Ȣ!&'J Ӝʽt plL-&Eh H0dA+RA|,z NM85KpP@V L8A4 BаXBc   a0cCA!$e `A M5BB 5$em4wXAa-bA 8A +QDDDDDDEQp|5Ed1*c8)0vD"*y8r`_lKR#'VD",k5-dUC4m 63E"iNPjL" 3.و&2Vf{pʢ„pEma6|"%p7uL^LI eRpٴ +ad ][m e٫ ?ag>\fh(q }Mp9t"x3wef2g_p]e3@#lZ9Z' b2 hu_[m!Cea:p[6sʙ e2(}USwLQ쩮R@\U[ͭzuآJHߞk]e'Щ.(Q({cCԈyBW>=ӑ8"A7{=M2?*i3gO:::mK#Nr^mC ȀV:fn&`6~90FC_6ސnh'("ٟQ=ޗejrAi'I? /u8Y/jV~?szY( i%񲢚__E'\EP= qK9}el_},R鈿Zu_/eO\UA/8_Hl~zރנK)/I@N + yzE_]/PŐ`ӧpi?7U)1Nry(uϭtMo"=^ʡ:aZ/G8zq{*Fk3΋HT8VHEug#(?51?_=axa=jc~:aN*x06ypT4J=-U_ +8=/VzZO5u'YFH}t/@_O?tO\_%mq}Z?/:د秭"o\_xDKID}A<:SC+M^Dy𐲆0zd\0:)XWƗq +:ۣ )~:Z KB d _ +Ë#Z(?~cBg_Et@a49 =}v~?iml=+ p%l>KI]-s{D-=k5jG$EB\$B X-}ztjzeNa/sSaA{K ޖ_/ OWAx ^SҴ +CkAl2m_m~ʾAt- KKA?D]cʲ]x@ +[?ޗ_KxК?K-DtW[=TKm&[xYP^tPz ~y}0Aq~z_P?K_t?8!,ח\860)W/i j@) mc|׮l4mu_Pt9I~8W i y!_KKWGZARi~8; AiT{z߄[+_ʙ_iu~:L|qK!AwtiƓikg'Hxucޓmi6KMl >u0Z^>Ɠi-a&L0_ZZƕM8KAI*vܬ0A[MkM㤡+ ~մo/ޒ c~}~v"!8*K1 8zM0N~oIa>`'U"5$,"V!4w+ XEAIH0I,"@C0@[`*La{ZI$jKL  <\i2(8I]EL`ȮpOG@H,2YKiwbP@Z I ] Æ=d`P4z 7H0i%d4ɃQ/kA4IR A"WH-_ !a 0 D@7H B @m/tUbFD $fARA?B"SʬHP,,HA_ UbF!*uI +B#4&I E!ŠHp@Rj""AGMԑ2DI3FBH茄Db򪎙Λ2B +>2!TDppȦjDo5#GTNDU.̬wڅdB"p\Ԏj[aÆ34eo m*t (%)g &bEՂi`&pa*ۻ L&/‡UMAP0 +>]0di7i!Xia6~:Dnʎ]0di7ii҄-YqLaE93Ѩ5v\fh(uDQdaZg;PkUQ 0p\fh(uDQ~wD0wF ӬWzCea7t(m~y(l#qs=u>P5G@XF -M2U7tTK%$oL9QFIHJHDs`]H4&(ͣ~ۤ?ۤ=s Jq/*i3i^< >O^T*g< >Os{SLkN_ ֟_&/:fmiD?| %]/՞ `_K>K׽//׽/_*ȴQ>j_>j_Y>j_Yp ?[ &P~>oI4}')?6&E'KWOM!2ZPŭ PeP\: }:(]bֈjKCA3^頼g '^4 $V4D*h4|z 3T8 \~ <u3@΍RH5iiSE + ~Uy3ҵȸ4R3]!MtS\MU{)*ITN\MU{).dZtDz2?q9B_oҋT8C'9@B,7d{*_H~HE,3| ^ʡ89p] Ue'1>UN*DdK:aN*Dd!XP>qU0tMO-ҿKVZ^Ii?_/qKI5k䜾zZO{@C]/NzT^ustNzU%W3ӓN {#U:H#~I|x"?$P Ac-'Íb=}/.V#U3Ηz?=\4GH4S{*gT_.V#U3Ηz*OչŴI(z_άG- HH*H*n?gVq#–fzI%CgVq#–qW@QfzI%C鿜>j/Kv7[>,RM'h[}]/΁oub-/I`Im=tJElI4>b-/I`Imֿ%K׿*?Ŕ1_TŔ1_1Jim_q K ~@W( znqP Aa/~J@@8 /wF]z~JA c~H _XhABH_ --UizG$PH -qyQi KKo^@I'T.(CWŮ-9BκI]A4 XS, _oץ㲧(YI+% ].L\zz]^T:GGKI- { Z\id5?Aiq/:?ZLh KsSa@P# a_ eg 6~4QYگA?tuoگAq_{* +ZHKoe_ -/iq-WPA Z[c k(H,WYNBRB(H,WYN --z uҽ A']=0Aiy_AnWh>y}0Aiy/{*N|=8`#߷)azXCMDAtHs`]zcAץa6 S]zcIץa6  G\ {mVȾxA1!E$͆CmVȾX.q%l4l|ׄ(u_=RGqKGq]l +*_)saux(_1+G:-&T΀տ/ @oKj k%ǥ[q[*qQ.r?? O)lo__OAhTo=D{Xj"?7W#M_t޻+8J-oO}m0W_*I, ooʮMIa> Uuo }&&0ZTAZM}&,"aҔ?}U,"a֓z?}I)^LL߃XA01 xA0zI0bBi\ ``&cH'<ϗA~$Aj0D.)0IV 42ZMF Ȇ,>I.!aR \Rad(5G4Kh0Y*@e0`Çaaȶ-R D +2gP^vLbKh0Y*@e0`ÃP^v&_V$`(Ih hp bF4P q AČi" aThhR$-5"$#M`#I $Zj"""""4""""4"""4"""1kH.R%9GTNԣ<#@f(:(rµ(J )L|8\AZV 4>HPI;dj)fE @pȺaw  0l f 8dYZ ["6l0al3=d 2Ӈ  0۽d:YP#]7 +wT!@pۨ DkBn=d9)w (@M_"ht(MUTk 2%Onl:i%=hpQj@a(\Eef2g t߷k6#0n|hu_F7*K;4!:W瑫?m[eaU b2 h"?WgAAkAޝm}i}l*΂Mփ:_M-8zJH+kyO灧H|{)qlEu灧*Ǻr_^x|&M{g[to:f/GF使Ι?M/}ѧ9'oizpAz?dtii,$_/3 S]6ސn^h'5 ?oYPJz}y:^!? R4 ԛͯszY(*AzG/F9,umm?szY(2qӪ_Ӫ#`zu_P656k|F B#0 G/$L?'^qdg*4|;kA83Hl+lONY_55D?oeg5tHز K競_MV7c]bI1?үةn\ֿY9%:5~°֌5 I#>&$<}OIv"!8-&_Ia1<(opz=+&^[0^z=+&aa ïT=[OH#a09O` [ /:AK 0zMpabdPd0zAׄ09W`=ȃ :+U0zQ[=)b叚eg*=( [AIAAB`ƒ]CK;g*?Lbh1 # + LN@N7 U `dX ia T@ȍXARkkId(t 5B l,D $fARp XA!j0b#i#2 nR6H*B#4&X BGB#4&"(!H!Aa DDDGYgb#!U-dQ:; ag20qCgV9s2ÆuDI(ȗ`f{1"Ɇ6l0al3>*E3DD#R`6im0J =d:YP#]7 +wTZ N0aSl;F£U }$S:oۅG%._p$ANBu՟mzF`(.!9\0N7_ +kyNKߒ=k +/^x|Ǻr_]zx 6(4~o:4$__Fv=n_/J55QEs?FA#i(u0 Ăm{L?aA#@\zOE{_kޖyp:PI$c!Ӫ_H~I/!%O~>qyXZ#?ΡWP&o RR}i\鮑'E?:eg5tHopAP:~_70"H>AIFʿh/a$fAFtE<Tjj`J_=xaꕤKu0 k}U QF7 \56U QK +":ePpv">I=$j>_H/ O朜[*>X"?DJ T"?b\kKejMmUA־"_^DZikl0lAKֿJG#G%opA}O?HHm$I'L>tÄ\?C$hJ?= 0 8J6 0K 0zMk΂ips9sa Ȣ!&'Ja6J+ba"'PʠJ+b+-'RA|,z NMQ_ k&Ei4@ȕR i,1ńĂ0H0`   .! +B mb#i#2 " l!ad(B #XAR0ZCU) ATЛdj%PFkI@t +""D吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂs#ztq?s) KN?DŽ;~wՈ I$YhH6(K"W$8Ad?':BS#ɯf8N0)'%_/0f9%ʳ(Izb>;*gEN"W^ֽ5_8#0_zjfZa. ><5!:Yl=].:+=@z}C(CuXhʰjA}#Xz @1쌏E_ZM7CBc 69ZMʡŪG6k_apVf$GtR⟏%]}~j &i+]&U/tz^j;_ +_W-/]C=9::+O/ֵ`Г&5V. +ADw%ri::z<Βav a ]{(?Qƿ\V+ UB +nTJq#߄pj_u󓑋m ޱkKչŵ,8=/'UʱKk7Kv6kkZOy7r:_5I{:ml?})8D{$> *ZuhKҤ_,%B8+(o[߷ fʝ=":ⴘz]$)^>zT9ikU~_W_,aI8ƿAΞ06 -xX[nc?a"`2t$__.^i~aakH/z [Xۍ^_ /V LKQYQ7ia#w@u:?辖֯_O6  OR֢OEfX: AK_K4`kA' J;K4R箴ʩ?[~A("=:ꮓiK+i~ޗ:^LIljz_'a@v0oVK)0/J~&Ko_}D &$ޗ0ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɺ3GedN*2D@( +Zi!U "TGL 9TFՓg̣"8g\^Tæ"@j |0䴓{  @AME>CH tPA0l'-. ea(Nf+S & :oO֓ #:u"P\ 鿨l#n5JHMIť+k3+|%iE&]$YPi]KR[^5&/N!%>=u .Wgʴ'Msۋ6MǴv&>[otq9>y%<؆HEM/uAHK%w /՞/!_hI3_8Z&?o6{q=/I95/oC\o6aN^MQu_'IMCIzMKns I= R/KC_`dIS/I' }/n Q`|UAN5_8#5D@ӋJ*'XњלYZǓ΃ȸ4kO2]!)}My iB_90Ο@qʀj@b2?A^a2ayP [(CFG"erT5O_c ϩT>@>Ӫ*`I"]%ꗄ?ervPgЪNO|ZD06|G+V&!_Ga4֒^o&1_Z#Eװ5uka7 +ǿj'[W"tZ' P="??/ ? TejMmTa" ? T# C+M~uL8A+e"`~ZB^O uTÍbP~!Z_ZZ)CI"[93չŵ,:ւ^fI/ubsX"Z ya ::]M{mi? zI6oxA +~}/m7r:_j8Aiz|Mb_[Yoֿ-, Fi %z^%H?>ߤoiaDp/B, a)T%x./V uK^ZSۺJXuFZQYGg6_}_:*׮Kr@E>VPqAWθm/-t$_XKI$t__t$_tub ^?A}aH$i:*?Aam~L\zz |=RP7ւ&.==H_]G DYxM׈))kA lKB^}yKzz-"W- m?@u}k3~D?K X?^^GY!9?Q]2^- +֬_c(#@tx A__:.EH$%n}g9 +[~a" uBAK/A\XH-(R.H%Z(R򴴴ץ۬r*qKy0K}/(_Hk^L(e Hl# +o|:Kǎr9] O)xG:/sS:K.4(.?NiAȆd Nirt^9oݥ+ #;*/&PI/m 'W_k 6//aץWە +Ko&_ A MA +Knx/[ DwǢB_KI m&=M n2I-êXEیt)m>"zL=/һH6h/6 S|D0_z^p 9Ѭ56~ s%za( ڂN688AXjl5*I?Iza([ӤA#t1=|,&RSҊؠA$ؓ_ȃ :<ϗ_e u=T T 5us+9F"gi`0y+ },vf ג~jL"s 6ͦ)CapavajpU(lȺl6q\&8myPӶ `2)8lM.YPBe-6zuahtۧP0DdH MtT(U-=B & +u +*_I 2aiOZ$\(e>æ#EKAx3 +.&Q a.@eӅ_4Mafפf &EAp 7yfŗIڶl#qŗIߞk]$̭U79\U[KeqVtmo!H^M-8y]D: + 6$/V➦H0۬o%^8 h|{\|{~FNA#A7{Q~HŤ]MIӣ=?}89V7C?N}U dW3j$o6SI!bJ55C~PKM[ +O BI-5oF:FA7C0=$$pΓu֑>,?!'$St(4IMC_[|4KF9нBIW|>PW>@2E$' <4_.+aElY:/8(_9 Jh>m%JQϭ83g^qdGC~NB/IʞtoA'^3^qdgסJ34M*b:kV+=M+=.Tqs$(p,yV{}].:I$PU9YWB-=$( P^=PyH|2aEu/$˗=tJqD_z I2K/ =Rt΢oTAB{<z7@Z45c~{<KQa-/aPim#U b/ a/C'KAeeK/m!_NN +-Q@Id*_Ae_@ZT?2D* b\kKejMmAa +/f}ZZ^I-RҴ[KDu{{))Z 4^D4҄ײA1_њ(_˕e"bϣ4Q]:_AI[/*e sቝt"֗p-b+Qp>zΏ"GK癈aEB4:}]aFi %Ek$_U~=/J9sh}?f_ӟ6Na#ߎJaqD|}#cL=."ǿ:5l=XK1F~cBCaהk=q#M#+-b> xy}~5A0)>9Dih$t ^sԒXc|0~k^$TH?L/[}gP@$ir/_?L0ȯ" ^AaE~c,s L>:_ւKH^Z6 v!~&_$`φ˯K|K3ׯX Mh.?(GzA&: F{"Y\U/ֿzI`4T>A E?}uD{x_As{KIA+ k|}h/c_EUD^I6owQMu[x IJ_}.zsI9#V[I(AI__?B UQ~?BP /1>! /_h$N{iuyΏ@$ayP?Ix%p MZ u}&}GVu#Bq Τc_V+~/?JkM_A% ulPA2!حK>߄J5:1 k  R3]"~$1>u0Ic .A-y_Ko1ץ_OzV @&9"= xA(aXA +IxA(a.c,p@ &m #Gk>?v"!8$_ `A.O0zL1$i6P<$һ8E +q|D0F V!aaKsմ" ͆ " (pZA_A/KyB /\ctL & %&a.q!QB0 =CKR2ŏA0`I "J+a"'Pg+_WVZO_8/ f-$ Kigbqn_%Io[Ak@ a L& pkH,j$bF8K l 'D%tH. `oһ!DQA0F t`8`GAH )`j0b# {C5ZŠq 4ҨB#ta +H!!HDqL!DDi#B""(!>@"^MtA7쒣;K!Y٪aȍ:DTAf "14hg^ -De^A"iE8e"geeiI}TݲcaZNad ʭE [f P 2l;N6َQSN/T-]T8L8fI"JU TZ vBJ:Al0! lέbʏ*H:%< O:\[*΃">=?A4h ҞH DD 7\-a ‹o3L:#X}Qh*Eyf R3ߤ>|D0Sפf + yv(.zI60æ.Z7 +񿋜/ҍMw|%F_ᆂ|o LGDGHCAf/0%_Bi+ֳ^%=zaYAc~m~>,?oKoIѯ㠓oJM$kKӏٽWDZ_#mid`kAmFiS~E~EBGd`1>K#E9_K rp&dq%}zW(]%rQRW"*l2/AI_au D҇0y^'d+:v7^uAyRQĝubI#?Ι|=q:.?>egV{zDzs>őgo֩0Z\b?io0u""ҍ["C zat.oO43/O #xUOzl.h/_KDvx>.x>-}--HPAr0m,?'ۄG_"HP/b/">tZ_z,u 0??]~!lP:t_Z_Ν:!T`f&S` YhIai_0̓BL=-*_#a2i_X~+^n" K +_{(:DiBe\V+2_6]~C_Z?Y*#=aYd𗙯5Hb؏W#@ؖ||ïN(TAm^s|ïM*|9鳑_C8)5-,%"J?[ia-xBJK kňI+80_iO^_>KήAy#q + 1+(Ƿ(\uic#"?#灧koB ahD8\ҟ~8q_A_#o@5Biǥ~,^J[uPk<:/pi~_K]4?_>M/3 g:1#JQ[j_ C!B ԿH~Z"p3R@_3X_KRK,_?uh< Azf`_ A~Fˤ_. _wY^?q1>DxMMxK+\},i2}~>RAyg|9PO(Y Ai_YWDt+A1_U_k]2_djG֚__e?Yk4~aSY:kO%nE> /Xנ+_-P1)!-/[I )!pG)_A93p#-ˆW΢yAl![J<Զtҏ5.k_=c-|L%-4-})mOWZrP[9?wm2K3Um;v?' mo P9A{ $ӯï:~"-&Kmo4FwΦ-Kxz_ m&e[i/:?;7֓MOtoK, a_?XaoItD݈N b_iï lM䄅V`=[O$$i705?n-/N/ocxDJ R` +0yB ,}'JGItȠ`K~oK_L5A0ȠU:A B"Xa`5د5IbNM: BH2 g䆺G~NL,Kw䆼$T-CHZ@lu I Hp !tBb>N4'u A00^ ix1'pjx1h0[ HI $! /K# ^Ab"SXBXCA584"@5iBФkh UA-DDDFDQ[D`E#B#B"" Z-#%OdޤD,g3dAG 0q20^yg`yʢ:gf3{0f6|i d5]CL&1*w ["=vÆ/u ;`r޴PDt Sɰ:w: +l: i0IDtT+*O鸺H7Ax3 +..4PU.LtS4p}MFŮD@o]&ڶ]'G'B/ aP:@(.qe|"?皦P: + 6$-E~/&]$YPi!z[QMQ_Uz5&/N!%>=?FI' [C :>[TI7ӟ ^[`K BI-\0OBI/o#J55E4VzB,i$zIIi$$Jz&pMzII&뮕7(^$mz'IzM_/?B $N}_JrT0 N%y0j~8Z4__"]RWҶt^qdgסAsczZ"҇6S:TL?cFkҿ3^qdgסRaK"uG1ױd@4"uG1W6Tb?kO]Q9tHMEנsUנ3GTVʀj@B2?^.Ls@ZZꗄή CI=TMH 0"I~G?d?K/m!+6e_@_2D*dPiH P=&UA!#a2/+KKZZ^HAfZ}ZZ^e"bLWrZ ,FP۪a ]{(?Q}b?t"֗,FjFŭ.#G(tXbg99N[[_sZ\G[+9/f#_=zlt癈xA_Ckc9#}sW0!ֿ_fIx9$!'kzU˛CcL=.'_歇0HR4"?>ʝ==0HPƿ&8? x^_N> )M`X$_ CȘ+"`2*X[nBH_ X$_ CAaE~d:A0"@4֊"?Pb?_B?L0ȯ" 3Rl/+A/&^X疟A1qC Mh/Ϭ& 4 Mh /,%!z^@P#ׯX Mh.?(AH}_=~>/R!^ &UHc$Eii3?|5y#[D^I6oNqOIB IBgb>G^g9@P@j A!_|^ZB4>‡j@F:ŝHH/Oz$ +>z:[0~IC5 (A9` ] A Ac? k~$=S Id/@v-ǿ[`_kO% 7K?aXk% 2AmФ _ `,7b" /- ~-z4, #XcJAy[t)m>"*k~ s%"' ӜKo΂ig'Fk %6< J?G>+-$ ׇ85D?Yi>aǜ+a,^wqNI  ; a 5u>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕr\CL +endstream +endobj +13 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +14 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88856/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY> 8a*| #al iAEju3RA6')Zm++4P1̘"=HVl,l:_q^_I/`Uk~f5u_, +ZM_k< ]&ڥkcѱ /N YH1 Jӥ/|']&t1_( omWZA\tZI7-KAz~IFylo^Uz_J|DOOH~ץ}-. &")z%Cz^;3q+K/ZTMAJzzҵ;ioꇯaa/M7AngO * 0  aH $qHBM@!o@ ii +"ΰNL/?lmOw;pӇ3S*2. N>/)14 +H '_% e /I",:L3aJId6|h +l٘emt\0>ې£ D,_G5 pOwQh?lΖn/pdcNv~xA~0~W5ѤעHHtxA~M7N.JBN{|*x_Ѱi ڶ%k +o,m|$1n Dt'|/iYp_H_FM@ڕH0AoAmzUX\8J)&{ǥ :M1PB7+_^խ#V\* A5b6 y+L]1  )4kj SR'{lN024i5 I^֓ABP"(0]C-0""X!DD5)4""""?qԷ&lE 2 Ӿ z>= < w36Yi&yv635ga}9:Zf3pBXC 8w eQPӆA$Cel8l447 /.vÆ` +DŷIu5l7(M i0 aHL7N$RM?=2&#E t*thUJGTw&rm " )#EE>CH t6{ 8lȔu]&uR";_a`ŗI Ӭ@oߑe;"?0:g: + 6ao /:MXl!HZIť+km0_fQt&>Ty6p)|BtЛal?FB$Ǻa5NH7_iӞWgON\pXO'hIo:(ZI%ߚ|E?gV"-$Kg"HmWīC7^h@ &}o8~x@iik?z'_1b|2لƼy^h5z~;ioz'I/?,~v@*󐺤Dm<4_YG8geRUoK]RV7Vn[쪎9(k/Z"לYd`+EP^qD_%kЋ3^#?( Rh"uG1+=19( <0 ^s_㥝VE9c?_KB/az 죜sPhʀjA}#Xz 01쌏E^}!&ŪG^l|GeyervPgK\-&ePvRg#]K5]'K/&of$GtR⟏%Ǐ5B#e_@_ϣESDDua7 OA^:2Dǿ_~?G3-/_/_W^ʛsR~P +iizZ}]н^D<Ϫ/onc&klײOׯ7Z\G,9KO^#')׿ +!WŽb֗sk:YqAvOyt"ࢽ!6+k#$ֿ5f#M!R4V_NV/ADbNq#@C?XF*IZmW&IXB\3֖٨b*\7*t믊atx~ (a]~5&Piwe/K AEj/K$/ xN>]}o'U~/!ǯֻ8,vzuA $/z], a_EA"?t#WKկk| a_EJti.u ` [[k_-?^A"=l/+A?[pEִ MׯA}-g-|K(ol| A SSϥz]-A E? --m_z_;t$ X=}:_mA$_aKm/GX_:^u&M .ڶUM$sU٭e-R۬~c9?Uu\$&IB 971^E;JҜ[KB ϋ?8A?Zk +1x_cM5pK -j+(><ԁm$<-xX$ZZd{K5ՋG?vkF,j_WGW=_k>AB(e Hl#'_zM +j?*|DGIsM.-*` DS4vΒ*g@p_xX<Ϥ?$9Ctc^I tDaޚA]!]i- PDzur`T Z;~$?X`cF8F@U[R&B1XN~$?KXI$۵aCViKҿaɽR* H"ixJM  1OM +JޗtI >I[ +&&萐^zZW `>%0$IJC7^at0L=|&J|D0DH$t  DŽ Ga.q";ؠc)5'Fk +oJ< /w08 } Aqn_^Ŋ- "6`Ahl47 /.vÆ`Ȕfۆ2l6 gÆTLF@8V$ tw1!0:J#}6 8Q`DMB3EBl;03 ɶ/ (GDt0 \2al6v}6СQihmg9>6{ P=,O(Nf~wPQqdλwLuTJc)Ne +ņ=Z]: + 6Eޛnmo_ ;O BlOGsP&"ۮ{:WL&Otq?s)˟ ձuy'ߤMUI$vwՈ I$YhM]z]&o4776?/vS0:IIW7 !?DI#4C)zZZZ vB $N_I1Ν4fᲂaoR|KElW??V=/!uIZ_"Z8ʥ9д`,\RӤ>Ey--.uEJyő∿>MMa_IB$#:|ȀW㥝VE9c?_KjΟ3|E٫oaMt$YW8*e)wbu/Dz2?|?$ 3rIϤ" ?]u:(3%aG.ij?};)?j 1 9S~t6>~0)=:_Iu0m7 M'ePu/p㮓*G{"ҩ$iU_/ +iizZ}浯8:?7mR("?DJ=뮿Dj1D{tӵLW6PmA5_a/RA־#_}VK^h(oȅ_Z\FF-g9|2VH* Kk5akkl&Ȅ]NL뮒kEd="I k\4zlAi~\4q5L0ȯ" %iPJ/R*ʡ8+Бm/\%)zGy>j `xAZ !}j$Z[yXaQ'EuuuKK_J4@$Ht}go-R)<Y_Aq? _^|&_ /?T/aA߯:KKK0 m/ _u}$VUK)Ah?{Koڶ\Vp _ %/_8ֲcvZ`a uS" UmA/B ZU4KvH +NUZMXP?Iyҥ_HLXImiJ&Ht5_WTk8cͯ:m-uH@Im /"?㯥cf>` sn졜:[{iolZ`%=uVv AUtmXVt /J7v 'a^ [%eb0=/^ MWM[b";KoФzM~o>JKj `kKVAb 7LEz ~]'IG ayUzx&An +a+zMq5մa"-"pza!>8HһK'7Xz taPM]'x@API#]L 4a{TBG'J=.x& + 0ǜ+EOH2eu0e&JQ[*)0~ AA@A0zM0 ; Nqal)'A"(XM ` |4&J0TBL XGCG&ӄz TBBB[а i$-hD +H0RTЎ"5 +DM55 +T,G@HF""""""#B"""""" +"#,I$EˢQFvJi̜dn;"ZᝎR;3 :Bd)hd}rܒl' jȺFaaaV. Zf3F2'adv+ӆET2Z 'i6F &}A…Zl0aÄTI2dᘛT3a +iAl]Kpa2" )#E *v݆g0|[*΃9;~ io)pʄ'$LӋ @ 88_$N30P\mom!stGT_MF XyjEʰ>6y$-*ͭ(5Uѭ>,`i35^/'^>0.FDlOGR|4!s8O`~[.9"#lRP飭o4J jR!/Juj쎍2N*bic8 e9D[—y- ЛFI?6D?(ZI%/l;*geTl5{ oIς؆[-Z_&ݾ ~DBS#o ŴkKuYA:]uZDrkm-/PDjgvtKfC$?6'_LK{z_B꒸B$m(lLY*N_D}mzXQu߄ mMjyZ"BP#/EUm%#cz ~ /E"֔Mi#_㥝VE9cK5zTfegH,bpit]B0~k o,R^Z Xa9+I}WVe /_/#҈ r8pKQA$GgTvIm /5PgWe}~_OIφϩyemV+ ~\5?'퓠^;6A^:2DVNgb"ISQ#!:z_R_֕~ 7Yk 8 +r +f&k/=/[_*rsӵLW^x3XAkU5ۥqZu'LWB^rNޱkK-YBƅGv~DhxAPdTP`kkd _Fd%+z(%׋#a(XK/k?]|VKD|?m&A t*!^:7A_/:eNׄ ;^NoB ){|+/ t@iPA$u"0񏄿A v DKFr:cg /D H__۬qKAXaE~qwY|  !t?AΝo>=ί6 E_K!BAVO#j+x[j_!Y׵㚗]iF~c /ʢI}?Є_Ad&T[پgsΓ~/__?zG%cI*o6a/$y_AV_ 0 m/~/IUJ/VUIPÉϥ%A6J_s[𒯯 DyvI?/^( HW_=>(WN?IV=m%HpGTR/S/K/SV/F_Q:ZTYO2>TBՕXK%mb ΂^HI,"@Mim%IS({2 }"1V1 +<Ϥ?$?MA%X>;>zI6XaKI:P B1XN~$?ǞiBa0L.Ai6: om/A0-/-t Ä Mm*-&${A&IaK ul$~% ?/ȧI.5֓il4,A:XAa RwAljAK҆I7ǢB jt_] SSh\m=-,8pl$Q%NA1clI0FB:G4^A dO_ +mi%'! +0HIB]RZAPEODID0at 0ta }-*KK %OKM& %- yFئJ""^!@ֈ!$ A$\ja& $5xi $chNQL 5ⰣN^qH|d L-&@\i0T dALRAAC,U I cXkpa80Aaxi "  &ӈNI $D$H̃!uႢ0  $X _FZ"ArLvjHF@!A"&Adj!5 ɃhEI8 DDDDDDE""""0H!F\0""#,Dh#Q\`)2+ʮJc;':F[Z;.L$eZ)ўD}aE (3\v98Y6-v al6 RdU0pᶛf3W Q7 0Ȫ5AB%Dbaa gܹn]&wTA%TGp5pWp[Zpݶ: +ӶUn"RM„*np䴵UL6/e>æoaQ|'*9ɨW6:@*‹e>æ @aUD">IO]gD@oF<]Rҧ~HԳ\hlslmtl'yWgAAfV*ON^Tjҿ|ե^}uײ: + 6Z +_*?nd0@.N 6 +Ԉо{y) 3C9Ob/mǴo>|HCʡÒ/0,Kѫz^[S3@۪H9ӟz:tIG/!o6H e|O0/zCx_u_u҅?2 $h I$-)JvQYd}y:; _+_[Mkx}~(:%6H kU%$NԙVA<%~q1 g 8 ,DtNŲ=y *jK]/HY12"г5{lt": /+5|/\":RB#?sN.*3I0i$}g $BPu4d#?Ρx=stCK5Ҭ@QW^}.0"=9YJ ,J0 408^Heg5 hPP~BҺ%D_( P_Ui6JrtASm2k:F5 Ξ`Ha~jD{<%[~DpQA:D@gK4tQ$^##ŪGPdh:j_֒Mu^4UϤ{_iy#U$Ku{*t.!2 ^vZXaD{}+m:צ%| J+V߷kmק>H Iv$D׈A%5qAl^}VaN +K_/_GLhM? $ȖWKzIa%I|hF_|/6VHQƿ[(gGqЧQ X`kT-RK/~q_E1*?~ Sk' osIJ}v#Y̓s\RH_])֌8D|ؿaY:/ɏ ~!*Kl| iD%^0 ^ÆS?[{:U!Iqy _A6A%\:,0m%?'^_%PkPM?W Mki A6__^HI/?[+O[cG/U~_ +A\?+H X-E?Ki2@Z|!73MNNLi&'IKy__K&M&J/ o%C?  R34KoAPA%`8*KoǞZ7CKZZx=E߂ i|K`BMBJI%_az_,0 /L A M oK,0T/?47|z$.c%?hA$M_a%AaI|%/ MOJ,20>=[O!m&pBJ mA$󢿊]|D?FäkAtk Ma{P!$~I-E"0: t֐AA I/y+^\?IoLAICAXäIֽA$Tk85 @@5lH j WS[_bP@|0aAk0[A^ ig?' HR H !I%pk ~N7 Ⴍ!q¦S$eV ~$ 4$ @/a{ GFd + bh6k R +,Q)Z+ $P",M F'&M"""4"(!DG[D+#4d1E/;H*-őVyFEFJ3F Dϱ Ŧ)TT9I[0֏:gVE5ۻN2fh֘47 /.l*9`VuJ.7D`pl0ΰDkML6B"i*H&.h8L FBau +gTlal86alL243 YH[8)[P*C'ŧD#:S Fn +qpxMAd 'M|:oaSL8Qr0)Ϫ&i {YtNrUR!lf/F| C +?a|!t?izAץMU}WcBlOGHQ5-HGDoK3]cu#Ny]>8BsZ6ͭ*}C5^j:?Ո I$pU9?_.?_F_7_yփ/kݾ ~LN,-(^^@hu:䄧GD='ג#la2:@kӏK} $:&Tł)x"֑o,af}e}^>2膿e 8?<'arT֎E^-RkqLi0JcKp#$"W^ֽ3JPϯ>iMSOIŐi61rRe?tz]Q9uP^RiliVYit~"lG93kGFKO_64H3g^*J m% 5L8w}/aG.ij?%H%M 彿--Ha $tDtk5=:_~T:Hwit/[p7-/ZerxOA^:2D,a/Dt6Ro]~"o_uQ~>qOȀU+KK5km:~$uLA٬"?W:?:tik>y_I=:Ii&+د&I&?hWKAb`$`2 8--?/*@C~KZ:Ԇ{ұ_WG֓mza/3B?+:,:wL=uK% j<ֺ}sk#k\<_US z6[^ .a."IA8!K_nzTi %~TGD;ia* }z~&I +# ;_l翤íq!q (@iW_,aK_*NTz]W7潵A +h4ȏEd=#/.M2!SK}/ }?[S_կk| a_E[(]jhIu__J̓XzF}(_T&m z#&XDmZkVVrF!@ϛYZlz?K_J4@$H/Zb,ؿF6믭0@0tχ[uЯm[)9ۤ}7yo " /K3ֿk(0&m RAyg 6X$f_?aA$Iz!KʙF+ZL~>jMZW_Km$ iI[]~Vݤ9GRKkk +1x>*TH_Xa"_gz竊Xk8Y֖k__#R +G(E/Z/ImKkI4AsGWG[~/z#$gOKkD} I_cf>` 7:=v4=rS.?PΕ]oeiKeT-m o{z &SehS[I?nM/ijz_'a@v oLKwil=go$I oL?Wm/IaoKKoK}P&,}&@oMZNto=-7LEz a-U&/pi7G"?:L07 0ǤƖI S^HA/k)_$Ti7-Aaj`%A-'1?5hץO(A:P%J?9h-B c @z I vp858OK,cbpl1|~I0  !5a (cK"" iV@Ke:  "`8A58EXc4L& 4A0 H A1!i tHPXAA3. !bbPT!X_ $ehCB= +L ڦ +PB"A BڤE9*@Dhj@H B +"""""""""""""""4"-"Rܡ D;*, .g<6iLaH֮l3<&L6af]‹gH:Wl(H,&؆As ê)@"-TRBhL3:H> +JN-.Jt% S /P9 -:TR_tj/K~8~'(NI|)2Pפm%`I"$UHzOͯ4Jy$tUMI/eb'CZVApս>bi7H\EpB&\:Xgˁ0:TY#t)hzW$Qu#M/a?z ^/I[__m_C ρddҦHXc'I-H}-CII_(AXI?OIX~P&EI 1u^XO\imjZpDJ<_Ab`tÍbIGqAN"]~5jbگI"MN_ _[^鿜)zI&+/J BI_>F2_#CP*X=%$^p=yҜIo}]$=% HZU_] !|$.p$jF}~6B\%mFڨ_?=BG LtB $6]%SS %k_פ,* >Z]+/<V_O Azy"<%{):V?_,zΠՃx p zF?=_ ^o6*48A6 [j>: &۪kKKz-i:KܞS9EImNդ?X: #;P}kmBZIml%Z_@&__m,0%-$&o?KJ a*+ M| F-$!C3(_$NK"-,22] 8A6z>[J` ɂht1 %G u Ku H %,/GC PZXh L-ӈ0 U A""""""""#bx;XGbh ;R6 ٬;SȖ0lh}.e;D&}9hs.vⅺ`Aah",i6 p漋iݰ2%0|TN|בu 8m4kWl6 2.Ϩ25 $tJa¨PjTt-DoWdG8i:%|, ˜Xn.4TS4p}MDDS FOuE>CHm锝a(]''NDH߻`ŗIAAp 7:u/c)Nw_( *U<~qiv(4oDuNgB\U[JN-.G0ӅDc.BlOGsԈb}C0M?:s) mUӞWgON>_DN'h`*PVgV"-$Kg"HmWkeal'gV"-$HoY >ʨEdH8N0)'%_/0θ+So8C3Jy$tUM޿*ʵz }?нBInse:6Q\vB $NcVAp{{uQUoK]RV7V-]Rz_B꒿"дID5)=gBP_yZ"ƌץ~hȏHeMJj~B,yő΅> Jm6^K:sZ~eg՝?ꡔ:Yl=].:eg?_~MH7Zzנ4D_Mbu/"Dz2?뮺jz]/ r8pKQCI=TmhZp"i6x>-P"?[*Ӳv}_ȏI?K k=:_I"?~tW"?K_A^:2D?\"~8Ta 4_Ҵu ? TZ 8+KK0KPNN\k뮽isYI=:Ii&+(6uDCbQtӵLWDCa ^qUoXjbsP_U[+CEoXsjb^ޗW9]k_k]>b4B|%T_k]>b?ͮCZkG}?C +a'k$-}4V_ϥ' W4/%ⴘz]$)^>zAsLԌD]|VKҼ|:_KP{/W_,aI8ƿA׶)=,a]~5ޓ]>?a_?/!BH_ XaD|esE~zEВ4^QN1VaE~a+OQWlP`_&dW}V r5j `xAZ !}j$zic9?D{0^VԇA1q恗]]zuM Mh$ +u +r:}zÈ˃R ĺҍ&& 4^}}t_WWV~_;t$ X=RY6V}w<7H} _mm[_-/ L?$KD]|/K"?&MQڶP넖!I(Ag9ץG ,B @Pg9b+cB ^>! }8? +1x? M4Qk__#5 ZT5b@$ai_*R^ikh: +皏 +zX*DY_ +j?*_a ecf>` so?(m (9ʭ?[~A("=:ꮓzl;o ABl M~bI*KaQF+ xo$(/J~&Ko_8?0)mV&~% ?ӥս}PnI=7LEz ~]'b+qqx$+ ]kC Ii k|D9_0I1נ O*L0&< J?~ s ƨHD4\|_iH2)z I vp{ {Z"O.G`] bsge7T!%f |4DD2 |(8x'&=pvdXQ'a/'G `b81аB =!pa hxz},50AGa~:XhDPCH! 9HB;]SB:DzKaUa!z(!ЈDDDhDDb""#,Yت%H,2Z+GbT;FvKN3 dj("%QtᝍdO%򔬟"FCŦR tt|\#ܕt:s DB5& a9f FL `aâg6 F TPak )]۸l6Rpك +a"7>B"07l^vD &paMӨPLID l(QM„{ eYu@ʰVJLiM\$"R.4ZS. YL8ߝ8U#Dޟ /F>K iő@Ud`?龙Zˤ.yBt4IsZ&eo$r 3Ϫ+MH쯧#ҤKp"yi#oo4AޗR:| +`o5&/hN'Ϥ|EseqFi#[IuNc) -ktq>=}AzS.~8~&?\ѨAHK/5tD]CE-$>Kg"K _/PHDGE95ZrkRsxO5'%kHU?/1BJl2eZF`K=}`I=$ $:NeZM^GJ"/%Ly *qNZL.(׏}/ת_9 JW}."дID5_z//ߚ+\Ӌ +}B8vQ鮟dm5]Wzl9([@RBE:4f+[w& 1HNsS^`y {~IM.Tqs +Qߠ/OFIvUf*hE +k+#5l2?C[(O)!ղhEeBiRu/0G"Dz2?3Ν_tT"]%o73_~ ϧb-Iz'KePvR0E>* -Du~Eg_G}뿞__S$uޔiP%~P=Ds0Z~jW"?]BK_/ b\kKejMm_P[ޟzV<\k3Ӛ#k&w{{))Z ~Ziy?m< + o\EL8A+O#_Au9<5пrrr{`h/),Z:9ЗչŴf A0~q_U%j߯mk8A>b+9z_9NGPu$,}kA8=/(}g-/I]~,R#n"=h/^sa:7U֖*tKKIC[|W~ޕyx{4)~6]{2:_K"u_oIyx%ҿpn/'q"`2[xHB]u%*6_3P"? &F}&ק +|7aE~iwt}8V B!=@)_ A}]@"?z&푁恗:/?n4[}AA l|S%ޱl| A%B +u +r:]A2޷WHdK+"?LzT?_x$M +־jΎ U[xGI/eiO ^h_A&)+u9=6_|7_Ko>. I(A%_ϭ?RzCY. UåV]|?_Kt/ ) / Ff->A*OtyZG# .o(=. $ij']/@=)__]A 9G COiuh RUHH*l0a +[UߕkUia`UŧP#ImI:ҲPan[ .aΡz Ӭ{L#_TLRw}/ ;It'vpFyKaYI'y#VQ]blT$z]wy߫HGDx7%.oqrZ|?]~F )ԛ8T!:}k]UhW?e9D}zχĄ5O${OZ>n/(aN7N +iӶP +~Xmr&`E6]Zc0Hfj\_B8UG)=ZQ~x@kPUZmM|GEM5_0 =Fs?I|U% +~y,jeZM*"@eqS+4Ɩa)]R_"[+S B%":J1>V(KB>pjE_s z|_>?Z##^43CFkҿ'[~he])cNt)mJZIHe*5B(E_8#/N/A_ZDtV -SCIֵKWtE>eUgtÍb}? isZ벃lR7_5SLk[{_[[KօnT?󓑋пK^6HRT8I+h_åz_}u. ++iCZT5℁_kk5KkyCjIz ,qI&.%oDN?@NV^I믮? DA$ 䀇}5:/T4 ׸C]A9͝!UKixtA0AFlۺK?· A֒ !Y#u(4Mi8K 4 D|4__KVPs0V44MtҌ.㮁at$iFȏ-UsEG gD|hR`_.I_ҜE#KSilB(^ E8A_BZNR#ѭ$?2A~_~G%IZXǧ]i{^_迚\z}ҷ7Zj$:^]$/@P#0H/_~r:{=wi޾ëD8RTI&3h^;k >fJ* ]4 `m z]tKwi/_Cw(Itq}RxJ]>L1!Z'Z]*.z]7d}pA|{i%I/ZGqΏV-u>wK-2D%EV 0I/J,i +T-/KHK\h-& A +Kai 㜎t__Gޖ~?Ǐ_9.H K\R-tP4?9O箴u_IDJD7O$lZM_0=$"tNe@_h4H [ai7K@-eUIWֽ? 4Jm/M۰ml?/7 +KKM$V5U&J_L0䄒HI/h--&_It}?%zMK7Y +%$/HJ"?&4:EQΊ&IzM` IiCBjI*L.[m6i9 D]fJrtk MAq˛ ?l$jJa%AP㝹V!=C!-?p #<ϖ(@ _t)_ES>XA0i5G$?mREOi ސQY 4L- {SA0AI%2 wA0XⰂ Pt"ƂalӜ UD4V5pxM<N,6y$-'LNI8Ӥ +Rү +_#h+z6'#~G&/ZB$xtG_5&/Nu_U)'`f_AzS0gMQ MǴTU~ gGmX~PItVzB,F."b_ $.GE +qI?I$IO}$C9 +rkRFʨ2kRI~NVA㶖I"tPj|5zi/?SH *d@+K㥝VE9c _7~y {~.',9) j ~oA~(B,}JDz2?fʰj@}"φ)ҥA>ie/_p"i6 +]CI8aeuvPgG:t)GtRECOdAo} '^']^ue_@_BM{ ^ƹ!q_?}~f +iizOZkpDZ8_~i:b,uy4ti/l^0 XKϪ" WxJ^h(ou_Z\G8gJDd5z9󓑋ׯH7 >^Rkb ?]k_k]>b>R4 ]i5"=ֿEB6 k}gU PY *ZuhKү#ql60®פށagӄNV*t %ⴘz]$>u^5J=fʝ=KՆ3LIzK_]B )zuCQ<}'au_z^GK߷AߥG_?/!EВ4KX[n@Ȏ/ wүSVaE~sN%iP:ҜF/MFށߥ Nt_^A_"=l/+Ae:4 L\zyee{6EI`ZZQ߂A&tOBKKAh/K< >OuүE?KپgsΓ~/C怭?@q?x_[[}+_֗_?aA$TkSfkp,@K/K(_Y}IX(/<,־SV/FqOu*A.=Ym$I7_8"q-+ل~&Ht5XD]^H.q)-RM(XaYlAJ[)B 8#x %7_V~l7#vG#ּ ^[zVK$[I/ЌVߠI; -4DqE0:Iagok&o";KnM?ZIm%7A(a HM +K5M&Xx ^zZW `b?!y!a 8 /AmΊa5TAap &~1?A:+nhIpA/yRaA7vQKaAL?i9:5_6dJK"L"?N& xA8I `1H&($LRLK[Xd!ȃ Ovma$Ï93岔&ݏ\@6  _,4!z >"" iV@H ~A_@ bL9pX ]AHY/  $B:ZAXA!]!pa X " eW l, !T,&0\ M`Dt$A  Hv C45B&P\g-wTJ#6puEsR#y] ,FDaN|בu ;6Dja {0U( m*F;d ] gan$&PA)Doa +B + 6}A'P4ݑMPa\ Өt96e莱qt! S:mh. Og;s5:a6sʙk#ai {YtP:@(.^PO VwM2-I+L$RMXl!HZIť+km֑:ZJ6nnSrBHz%֤IKZ΄؟D a5!%>=թ :4Z~5USiӞWgON pXO>Vj6(a`ې0a-IK_(s+|E?gV"-$Kg"HmWkeal)i "ȿUzWFCFUG+'GE95^`oC}\iUO<:/ O$a6TSYVA^[^$K7F92f}i*?W}"VAoLEQeXh%i~pkejbޜE) P{aZCT5CAh[+S7-4h +}B~DzcFkҿ3^qdG`2ڥS5H5Jt) -2t*hT:?KG,.TqsiB_#VtRK!IKt_MHʰjJ]#xz @1쌏E/*xU=9hEZqE:ervPgK\-&ePvRg#_8I}/ |qT?l_ΞO/SR ֫FW_KIK/nue_@\"S .~$*JOYa $iZZ^zrttV_ykzZ_餂#k_Dj1D{tӵLW6PmA5Jd *5S)U.IR?99 Pߒ-[[_s eha5p V.zHH*H*пg\+m~ֿ5f#M!R_JI,qI&6M'h[\/,|0k=/JֿIzI#@, ae b g~~*t믊atx~kS2R1%A ;~"+_#?{//K$/ xN>5M/C @oa_?/!BH_ XaD|e֩0_`uA ?KeN#/VaE~a+OQWlPkI񷲈2WI+%&%֯_O6  OR֢O:4ނ.t__ZZQ߂A&@P#ׯK8,5 } H&m/_~7yo "cIfZBma{oAB?T_i~_{~I6/҈_DAHL;X e:/߯]dt)~?9?Uu\$&IB 97/JJ +pz&,־SV/Fj@V)C \ +.q%GZA_Gm-gA\QAU|}KH!Kv_Ia(ұ3_yCmX0~ICr9_Av~[*l;o A?MDJEꑰ -?Wjz_'a@v0(A`K8K+<-Үak*IR|| 0NV$|p_T  7LEz ~]'/~UuI~1HW:+ S ]kC Ii  EI:*("2)Gm'rtk ML0&< J?~ s ƨHK'%!po' C Ѫ+L:a&)& %- 93W h<i+_ Vj@j ԕj$ pz"[((a9 ^ ^B`aA"vG}tDz(&? h01; H& $># 0TBL XGCG&apB: A0Aа  Љ$(!a!"=%DDa BB(!i""""""#B"DDb""#&hXE"&ȩ"1┷,*bҵ(<2M|#R-;5+ HmC$N\@> FR;+[ )n^`2 [ rҐR* 8p6i& L6 iW֙4&PBADV6 AC$0Rp_d ]Ϩ0 +T56tPfvϨ0 +l6RUMNa aoXj{+WUWlYp/zB(@YQ}7A8tFF؇ +.g;s: !Dj[V +y6l2祕3 oW-GJBз=SﳅvQ}fm&!}XxO{:gq [糠pm()^%_ 3N*I рjMU6m$οg@a-IKT+OM=!)đ~t ( #Mإ_+5y. +k8Ii/*2oI,Jy$tCP!a% Ka쪎+[_6eE6Uz]5%+4 [*=.W}"OXֳLW 3UqGn ~+"о!I+͆gִCT5CAŝ:`2_ٺ|5:}#DK_ +}B>I}VyFNMB4A_-볧3Α:)(oa K{~(UltE֑t>6;:u|0ejq:yΡ{hE2?"{ 4qfΡ$*5i8b-߆$\ BQ?zm~O ä~ umNyp.p |qT߆׊)דG^R_,Ȏo0 |E uҶZeAgQI5ǿzޛFtY"޿]z^%WstY> +|:?#Y8 0޸ֿȅЯ#5ta N5 K35I1_~Y!GI_*?%I1sȝ?YzK5L\EGzD RD P_RUgGO$5_ּ!z6~6&DϪ=M7T&G| ,Krg]y~, SŔ1(c/@iS:?/KCUǧg.BgP AuCI]Պg:_t58h׷!TT>  iˆc9UK`_:AiWI'T ᤔAwn##/L !o"Z AL8Q'aqE2ӭD_O?/a DK?K_aC@4$$ _atW*G^֗_?@%KKҜ[՚ ?I#A꒥_WZMC=/OW$OM//z/(h,WYN_ ꭿ֗Qu _G0WX" 1$eI맦-}GUN>^8~_A.%Ⳉ?/QR 0 +pJzi7ZKa/iR h\-}L0ce92mkJ_H׭@# KBT_"$-,Kl_A2GqZX*D?m&][?zL?D%z k.tI X>"tK+I],oKeRo)?M0tOvA㪺MI6xM1WeTa:11KlI/o_XMWM0eho#m/m![A?VRa7JV4II_ ZH_/KI&KqHa)%m&j?GRNIw߫ FtVAu M_Ί֖Lc?Lޓ~$Q%NIK 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHԉjSM4cT$x.*z $u=2 Z^)A1Z"@%~Hj=ክ,$} lr1e RaCIZ"8H0I$aȿ ig + 3c0 cK g 0H& PMNMAAI pᣡ?I[B%i*h4=?  OOPP<GhDDB4"#4(#ڠ,&B0CDa BH!ADDA +] +DDDFC7v(R26!&}SÆuDI(&uB9UvFEYp'j2Ba>[DB5& a6l !H֮lÇgI AZg6 F gTkD +AJ +g6`¦郄FA3 $q].j&mVI*gVϨ6%v/鵤h)(Tr$ [A(E,}EM:ehrnBvŗӅ_ zzp:u&AtNuF p0m eLߒ=it +?RIťZ{羒lGXUa'Я z_qdsӾ{:SS RlRPJR0/mU??GI5{izUpr+렃~u_Y}&mđw/?z?xHQ^)W7tԾK<:)IΞg$%<:/ACF_BJl2zVApԔU 6Uyʊ}%p"TqI/-/n t k>hZDEZ)_'[~hsN/BPץ}/R_-4SOK9E:|W5?7:~IN$KZRY%!o~Z_jUg㔓UЋA{҅ +kǪ :33_ʀj@}"a:/_=xaDKoQS\H_KePvRAt(3>q^kZ^":ePt|>$n?uGud~/xmtuQH1\"z~u(MK/\{q/n25 +&򪠈5g4GEisP +|:?_]/m}!JXID|>L8A(!E.tƽ>ւ$.&չŴkug@^{^M[欟Ka~mtB/^>M{mk_kgmxAC_ Fi %})?_+P]~,G(şNe9ZWo?G-q +m:_^>z!St:_46>(45Piu?Zy{zN>RA?W_(4+ KI$t ޑt$ۮ9ςZu H$irxJ2,ӍQD~w(eNcD|$a΋ǧj$\辕':/T_tZ 3Bo XI#=,*_ΣizSK "12>--6iaA+ kOW_ ck^D/O 1I[ 0cΟ^#O_UQuЂA +8]t#K3^?A}Bt-/oO_z$]pUK V=tҤI_KoaAr2%!tK)-Du~_ +򟶽lsL W[@i-zL?_"I}gQ`)lRm'PizIWA AFwekKebO!տɃK0<}& 6j륏_U WGim8KmGi7Ɓ[~Imh'$$XM&_ZOi1=E8&AL4+0 ؄A'a]_:+%wN` +~ Ý7_ Dx9dRP@ ҇zM_L0C(Xjl5a7I)AYaR2NMQU>US `$áE1_&)0~a =@ MiGAia@|:C 5 ~F  z"XY +"5 $e+4ᣡ^] F -cDD A PTЈ@DqM`* D!F""""#@""""""#&\SGj '-IPg[YG7.ɀl86?m C_0Ӑk$2AP oy G 0APasI{ 0/k \?≎D7&a-&zAai|:M:WO!@H 'KZ _5!:˟d[KaKOM$cZ A_!\Krh d(L t @K[R v[ E&,h*+v-ڄ[,h< {6ցȍ"{:XL3; RU3!wR:pij́fNbPdiCa"$"_ôPp5r) aZaNMp2"/΂>L#_g:BF!1pU4r056$ twA!0?*5 Ì}O@"2*pD;@e 3I3m^PaL,7e -:nqÅ xa>A#0s.F2섺ȢߦM8gTTKs6H +a| <O.oZ z|RlR&6'# k}}SzJ^&A}v;D{+O*P +i?{mX~P777Cƿ#ڲo[*t椧GDNB#_95^`ZZZ󄯏4φ_VAg$OQӍ/8Y׵oomt8ޟ1ӯnKF:zzet@ `kW>OS| U__.r 0i\g-wTJ#ZLr ́N )fNb@v"֓`' kȺa"S5AyPӆFI "7aÅϨ25 $tJa¨PjTt-Do \2al6Y4PaL,7I*)@e>æmv"" )#E t:P: ~FKi {YtP: ~A(]&u!i'l*΂MdMtJ~ņ=Z]: + 6iCWgAAҮF9IitzKtЛal?FB$Ǻ"1A&؟D a5OJpgpW9vt^?`6i+ނWU$Kg"HmWӝW:<ڱi$_=!Cm[( eVa;<ڱi$CJI _ aCƶVUHI|)%$$yejrT`gҞIBInse:9WYVA㶖I"tMQqYj+[^$s*=RV7V-]DZV=/!uIZ_"ZuJCM9 JBcFkҿ4^qdG`2jfOYЧ/"W^ֽ5_/8#0ShmRkЋ3^qdGOUG1֟/Y5gM/#eCa|tz]Q9u V{|YHVE9cV{K/Dz2?ײ9ߔ#xz @1쌏E/*V)i^"/*Ӳ{< GZ(^K\-&ePvRg#_89ZM=T/Q_ȏI?K k=:_I#p=ϥ~tW"?K_A^:2D?]/]C=9::+O/ֵ0 承 BW-/]C=9::+O/ֵt=uN/J-R0eخzcZD دH]GL#NA1_L8A+e"+3Fbe"5nr1mK9(/φStyuƿ +]WŽb֗sk:YqAUl PUŽb֗K9_f#M!R\r1_kakk5OK$/ x_zEВ=}|izG͆^}X:4XH?L] !|-cˆD}a/!ǯ/V L{QN1VaE~a+OQWlP`_&dW}AZ !}j$$ ޖ>΋(3G Mh bԇ饎 `xAZ R΋ A SSϥ+ΟoA޿ik]iF~c B^}/4Ԃ.I Mׯ_$ X=RQz_|&_ /?Tm -/_f:M_AcA$_@J"}~^u&M .ca &(/so~?ZW_Km$ A~_넖!I(A~$+ !Y]&b$+ !_)PA AFj@k5f|~0(RJK/SV/Fj@*`"&Ht5_WTȲ#DW<~UsICr9zZMұ3_yCmX0~ICr9_G6?A?MOö߄JNޟA[~A("=@vʟ~jz_'a@vʟzv 'aJo]?g{UgotZ_IzM~o>JK{ `>%w^zZW `>%}&"][kTV!$֗w+zMq5մa"-"p|?!xMq5=[O:+w08 j%l/<0 һOK( %(#< J> sryxAq=|SE L lWbLPI0o8.<ϗ^5*pk& %- +1]'a)p^N7L-%'e'$h &IdXQ'a)p^N7L-'K {)L 5N^N75GCG&Ӥ8kBL XGCG&a},W V"= 4#GJ i$g)GkhGAIl* 3#8DDFPB#L!APDDDGYsTJ.Y epW'DtɌȪ;FwKN3 dj("%QtᝍdO%򔬟"FCŦR tt|_v`6}0d"0l 46e"5`l4w=d5pl8pʤtȺ#]lHj 7pl6øDo}ABD`nF>L0S+KmPS +|/+B(I7P*UT dD֚L}EA0" 5"#E8QO(NfehskΜ*ToO%ӐNȠ*20LLqeyTC_:tK?{Gt2RTj&_$_BWRIЇ9 ->)i /Ru 7ɏ"jM +_*Н>OI{Ѩ!g}ŤI1HI_)_U??Kg"k+57I|E{F(}~ht/򅤒_o/?$h I"S#a~qu959l5Jy$tU%H!%6H 2^0V^Hi_^I~7>҈ez#d j$^BJEV(K?aK5B꒳0U&9K-/Fkҿ'[~h9sKu))G>BPN?zk'Y[~hMWU^[*qN> B68~o!4aDzs>L袝^"kJotsWe +$z-ddB-Yʿh/a$fAJH[ <98JtE@5l>PTz /m01Ue'?/H0J%[~FSp8u'N ~zGV"ЋKQtU~?E>* -Du~Eg_G}뿞__EKzS'@믥@{[kznke_@]w .Zk~֗ (۫eLsZ?-/]yŦg6PmSR+ץ0nX/~ukxtߠ.qչŴ|Dwh/6]O z//ܨ^X"Z K4t%nr:o! k}t&ҭͯq/T.M{mk_) 3]ͮO]~Q"?]aFi %>ZDN?KYoK{K4R__>^>z/o@㥠Ҷcz ͆lWΏZ[Sۺ/K/&I m_zW'az{4)~6]{2:_K"u_oIƑt$W9M/ۮ9b?$_ C~}BHPBJMu I|mIŸ a_E].sN6&.=<2=@)_ A}]@"?z&푁恗:/@P#Pd} A |6]})KooX6>I!GUKz: ^ + G[ $g%R\&=P_AV@]t_?j_M X`k_~5gGK-?Knq#A$IvA~__Ol }-_r\7$_*]oHK5Є@Xt knݥE;A|E?࿥H%Z.2>\Zd{_m#I%KW ?T\6脹H-5Ze-/7㜎t_iP~]Z O)Tn ʙ@?g!}vA% &QPaJ$a&D4KK@$ZafK!߄J$; :ei*MVHbI&_ ?M  fb/ .A Z Ia%׫~)mA~`Oi$ҰGi7.kI_v^ФKPPAa5_HXE4o$$X6MT*c %K萼oAtAlXAib?yay= 0 i-%zM$# SO  ?48AtWym$<\i2)xI@ ҇N?$QL=& 8__Xjl5asza٬,x@pid\i<93岖 I {)H ?= '&1^bI0z2t;(oK5-Su\hcD2#$~r O/ajB9I]t}a:3ND_Që=!#_'o4(TVzB,F]90V}~"bFYbg A|3i7 _ʨ+S/o J*MɯbR6HI FЛkFM^x|2/p#Zӏ%LWIeDH VU~pk$a)]R_"[+S B%":J1>V(KB>pjE_s__-Hz5_4CONG:h%^]k$P_ȄQNeVq9BGAф_\T=?_~/ֿy q~ߠ_5!K$VFGyӫp/dK7Zi6KddB/AJKX5lL:5Cs{}j*0cT 3׿]iCI8X I,J|>$nep[Zeb֓H?M_jeVjUQ/ kkKK_#a7 +/ǺՆ=of("?@F.ͯ#[^I討|PNh\kkm$a 8k_ZYoV!hi7eح?Hn/}V쪶خqlWW/M.tOvPm]&0#7a> A0|?%.׸IչŴh_FC99 ji't-C %o9NJĿ\WϩuO]7󐆵χk d׶jZJJXM~#qG$rO]}qDy#&Q$>鮿E? z_y?]A9͝!UKixtA0AFlۺK?· A֒ ,JΙ{֗A*m{Iz_a#灧o:]in~O]u~OQֻu">l2.9_ (Yߎh(l菘 L8C$@T[(P?"N"_P֯SkIA}%ichu zhqJߗXj^9u׊uׯ I^NNGO% `__ߒtZzB3@#BI6/GLR?K_ Yt6tE_%XAxkXAYq=,_Yi~ q۪#I&^'Qt}^cL? Ff[_Ax%_JA&A}|k~W,F~>GO.2> =$as8ZGk/8e%_i +!/8߂*L/G$<(+שP9ZM;îA9辿, r9 ]%㶐A%E/LIe AmAΣzJUQF4_^?M IK$N:_K/^ Ai [ai7K@-eUIWֽ? 4M۰ml?/7 +KKM$I҆ /m!$=-7~=K KIp@$i+l:]Aȸ0Q-!EQ10AЦ(tWA0Kl>xD&0:ARLߠacoID`4'Fk<&Fh&m]>D@5WIA2 1y{ l |  k1[(sg& &ᤃzBAEdPA0{8%ﲁN$ 5 c0h iAL  h1IM$A0ch O:L/I + K  X^:LH5AAKp +DRpЂ8A PUB&PjjI0RPH!0""""""""(!hb""""#,´WQؒ"eQ֣n'#361iq;390=TCEj3错TGL|gcY|2(\6[r%gN -9 pȺ57 /.aQ5v߫ /^e ::JbgBtx~DTK:MHU/Oڶp)8@P}΄؟D a5D?is|ԛ8T!:|?%u&0Yͪ<z Ҝ!8zo~8~'ײnn=תNF%bPCyb!BI%_Y}~AZ#Byo>H] O$ݾ ~H6*H7 rΥIQetkY4kpP'LWK} $:_(^5G4n_Aqŝ>//qEToK]RV`ۈi~pk#GId@1>P#8;U*_ +}B7kЋADCF9p5:h84f+u>uE9XJɏB*};n"?gUts):M/AC^ߠK.~ʥ&#7kR^Df(Y*eЋ3 kJ zGesatcZ/ޓvUe'eAOC)Хm/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\k]_?}~h +iizOZkpDZ81K/4_/.aNK)#tGg'0;]E_5K(6zmׯV_ ;y% K7亯zŭ.#3%kآ2[[KפQ +q%ؤ/:M_A0kakk*_(^,-}4W6OaWI?u䀇o@DIP묆!6T3Ki0H|꽕*+рk%^>z-v͕:{wC^ Pfx ^"Lx^I? +#A x"I c%-\sEQD dGe#_ϡIf@P#uZ OIR>?oߋA E~+}/\/e^;ׯߧ L?$Jjcu? ae 3V z oKPwAl[c G\Tz$/$/$Q%N KI J&\w%M8p@o S1#8Rk sĤ_ <0 һOK(? ?&l4Sa 2'%t&E5*~Na5$5 R 02 SaXI0{ l(IC(:A#Z -Xh5CC"A|4DD2 x(Aa& s d\10Pa=>NHZ#LPjBL_1A:B b!AU pV 05A!"k#I$-i$g$Gh XC 5p0P""""""""4aDGM4W:2̛Ԉ^B\ ̏ɘC9sFS.PƳLDppقT4`Ʋ'GN[F@8A03eBl6 L+g`fypl4ll;>o@pmPl0MA0NYH-4aFn4M +TFa +uP9ݱezA'/Ԡ0Œg&ۆS:n@U &rm/ ٰ˞Tϳ[uMpLF ʀP\ T 9@D}"FK:fפf f~yI+?c>t$vWgAAmqx$|wi?BK莾jM +_*Н1ۯlED+IKB~_-྾hN e${OPSߤ&}t}a?_FR +VU?ȌWw!$E>g"ۤ-%<:/ACF5 aTpsw&uO {Nd8S_:oj|2񲢞VU޸g6/O:kcm$euU/1-P"?k])t&_ꟲ:(3pe'~/]KH}#~?CAtt jfgX qtH"/OK/nQI/+Ca7 ǿֿI%h?.5 D=/x"?}#_SqGEi/>84btm^D41ۯ]b^B2 /:#Խ|Bzf')׿K9z]VUs׮-ׄpQ_$5R#BcZ/vq"҄G^_z_KkkZϧ 2+A|%u/kKz/o!_K_,#H}g|B0Qmp鎗w4USۺKÇ`3eN~zz ] ?K_^sEm_Zւ#9#D +FG/K w[Uo4uhZou_釷쥿X[nco@HȁK( KHGo^ڷB&?t_ nmnS!恗6{*5?"?_>hq-ŃzKMŵ__z_Ru_/GO_ޮ?^o=RA:_ }i%=-.Z#ovx [/*Z l _۪R_O_5ys'!Wo?sg*gSq  S&It_[ .2;sA­ a#5 I&HI=%dA 9U W,#h#G0A~:_%=_k$?_I7I|)0 &QPu? `e(_TޗǏ΋ o&Hv U._HeE;}=u%I0z_L%cI-KKo?mSK`lii$ޗ/n3#%b%֖,Go-__I7&XwAt,7X㠿I4IФaA;-B[ /萣~KV1z$/$/AXb! ImxAlJc +sմzWפG@EBO):T1t]i0"Pi~3M"SXjl5(^*K`BA |i?u F h 1NACL K<ԹdدҊج> Ada"'Pa좩a/A=-!`Ŋ52 yq  igA"hP,/AA,&0^HR ,XMAaH B#*GvfAQ^:DARB<* *DzX(HzAT!A6#PT"k U41AЉH4""4"# DDDDF"""#&hVM_E%H;NkLv1ؖQN׃>4BAI(ʒ :g-3z[F' %}Mal' ͦl &uE"gTfR(l8im06m2FuqC H֡aA0NY(aIT&.Pg "WuLW(.L6an;uvDuw +,3l"t(Xu,0aEMK( 1pAs n f. 4h& eP(u t{t:T(C :d`?2.uMLp3 m!BHR7P jvآӇ +Hmv*u>آEXEq4̭T_{J\U[ͭtmBy6p)|Bt?~ޗSi6oд$mmRNF{8YI6ן>]hղpI0/ꓪdtiqJpA?w ך>+_6pA>Nm$o6􍤿3 Hm!帄GE_ɯcqECǤu}"|XIiq83Hl^_ͬsbȀib(HO/ftI"=9^aز\R&0 1HNsDzs?}/j`9DQI#f`9( P_gWsWz h/A@_0}? ΣxC9׮tH Iu_U_|+/X[nVZT_?P +n}ǯ,m"/edIwsG@8 $g$ΟEQ$j$ig]8[Unjƛ]4 [#=BGFl5P6ڨ_ PF:/C[U6V9/mW-!2qbIa} tC Ik +cG_>CCۭ=R| WKuK9s $F{"Y\U/_/#_? /?a])/> Xk]2}WXA~ X`kQZֺe}>cE1y gt_?"< A&)+tA"ėx֩mN>NJA1Ac_z@A iV% ?j@ IaA 9 k/#!m @ ?TSZ_^~{?$ ,)P#;UPΦ/M 3)b~^%Ǟ@K0'ZK -O1 BBAK c]mV%5__ Dvz^ 7K?aXh/a$";IM}%[_pD݈N 萴 GI 6V&DBp@AMM_ktWԠ!8AF0AЧJ]I/I :XAFq & A^[ΊV!yc4. 2(2x9Ѭ56K͆fE:l/jN39R TL & I6A:P ҆g*QK_aʿOT;&d&j]eYlɃQ[a&xKh1 5 lI8A6a)b叆+د9~j J 5A놱j KH-a0a s଒ i ` &KO'a{E!)g`U ZC H %& D  Nj H ʠ$eab#j#B) BC#T" !HH!P A(AHCB#5DDDE""""""0Db"#-őnW"VtGb\+;XVb-+RVC;쌗$8g\\LdJ3dVṕ a 5 DB5& a9f Fv`;i6 9#Zi`' kȺuLh2 S"S͠T.QL0Vè[>$ twA!0;pUF0ӨBITS4}3mP&Cɶ/ (GDu0ӝuןsꉁ +hyBt4^Ud`?FK20 @ 8ޝmʁ=#ֺI*I8Ӥ +䏬@IR$ذC~yi=M0a9Ii^jM +_*Н>Dc. ~jM +_*Н=>t&$x[K~:ȀVa]TpXOe${O, ^:I9vt_("ٟQ ~b5q{Oei΀A[.!<ڱ|/ukaA#@\zO!I~x@!NM|B5>ʨEdH&}ݾ Qyqa$Sd01*4n_+⬫W_Om-/k\=:& OW>@2EDZ7>}-/*"п ޗP__-4W1IJ9:4f+u>uU놦h +}B~D:kkOM*bBA5 /#eCa㥝VEϭP~NFj(ah=m@/UV^~R%R)i_5=hC^zi-Ue'EA_Cr!(UAI/ r8pKSePu}/ +":?KGG]~kI򌑨')ӔKu{ ^GOgK/nue_G_b\kKejmZzrttV\ƴo=F@*_֕K}(E_h,WKl^D دۢ5=:Ii&+^AP_AuF-bK>M99 Pߒ-~(H+kk6omtBJM{mk\c9_?M~ytI#"$DC^:_fWI$>Zo_"?@C?¥XF_/z?D{_}i[l1Ҽ|:Z*tK_m&?K͕:{wKKi09׮< ?4)~6]{zN>o.{//K$/ -$%_N_A7OBH_ .=am/">l2kEpA隃5#agxJzuקYwG9:SKկk| a_">Y #^hdfSK$a O4 4 A[WPg'x@ '_Ɲ*5} A f. +u +r:y/_/+ΟoA%֔i76?6zAi%CA$D¸_ ^^>K/KپgsΓ~/URРǬ/m&A0B [K~?K. :^tA'̓XA 9?_~?9?Uu\$&kNkˡ UGZhqt_PA.6Yq _5f|x(.KW ?T/KGm-gA\QZ|q5/AryO#xzZM}+5G6m-+eTq7?V%IΣsz_zZ_ZKeT-mῶ_Kح, #;e-_TI/ЌVح-o0lAK_%IzW3y7Io}&a oR_IR|~oa!"I m& ǢBBx!?萐^zZW]7cKAI!m&E~1?A/ +Ec +a+zMq 0zMpab2)p\i2)xI@ ҇OѬ56tm'rtk ML0&:=(  ^10 X$ GJqeE L lWb$áA1A&b`]@maȶ-&Kk +@ a L&Sf |5 5 &IdXQFd +! +L$ !dRi HB4t<}^8k*!&t,W#U RbA @ATBTAVX(HPCH! 9HB1ADi"""#(euhDm +[نΨV[9`3ʜJg2+HⵕPjQy( eZ)1GLd_%a"S5A-  U'64D#Z 6 Vf 8aVP 3i$tJa¨Pj PuI"M7e:ngl0Rp_d ]Ϩ0 +TL56F|.O]:\5=E8j{+WUWlYp/zB(@W^Y$@oݿejam7t(mBݿej`f.zYS9AYHZIť+km֑:ZJ6nnSoeBSZ=.}sԈk-}?NYi>>&~8~'$VhZt0ꊰm0ۤۥciU6}t}aUMc29"щ䧒GE!) ImJHe%G1֟/Y5gOdjzH4.?HBIX^_0LY%FG"ԗlʼ*sሴ"8J(6qkq9㥜VkePI[y#""KB<)~}k^si?KV)%)$I0-K/kĆל5FןT*IZ%$Ŕ1(c/şO^~ @VWB!N4=HėI$,P A~]d4M쩝ς/KCURI}~5I|$ ota5!BH_ XaD|e֩0_`uA ˆc9UK}(]e.>9 F{( T"Z Aq2tG6O2+A?D/M,uM/|i { \Z>K:/恗j$MNNGO_>qYpjAzzM&_޾÷n~4y/GM}@!%CkKehqٵCPAz#Z_m-/i(XzG_ý +)SUVbK7 //skz^x87']=0Aꭿ֗Qu _GA!_?*/ANUm A~=iU8Oz|:~?/]*KKHH֕*/HxA1E6֕%[I6_kJ_m&U=_kR'"/,#x D~ +?_}[)GZAtA%9EX>~_߫u!tOIZ9#Ө7_iF(2* UWIJ_Ҿ`lm'T:SZG/I6xM1'eja?JoSᆐ U /o_XMW C4uo1@K _Ki~i ~ _ `>%}7SXII_ ZH_/K*kiEZDB*_oΊ$I.aΊ֗?ޑ8?w08 j_?ayrP&yR jJR&]EdQO*Z^l4&UBG\ya/b kDTIZbRTdFP׆) kDTHII$H0{d?*S93bEOWQy8A0p,1# Z 4 a 8h LVLz"/I2߯>/J,$[<F}ru]!MjΝ~8~o]!)qsI~ (ao#6u !Wap&O9hE0_WB-?J(a4 {##Ρo|oOA_Aշ_:1S~^(^Oi9ᆺI-EL\pa# }-CIopcNVqKSL#rZO[H8-/aJKnh8>L_⟏:Ξ8S?tKKҤt5]^]#P*]DT}/ ~ޟD_ e>p#aqѭ :*#_IGKkZ~֗GD$[uy$PD3ӓYh?},ΣVV՟]꒤Ut+Ab&_p]0eأ0C_:\{I_3_HH*H* ɋ׭zI6]y@+L6sh?_]"jsF}OtI`Z>%KI|ד/ͮC_YA (cP_^ Fi %})?_o L +.i/~:Z V uҼ|'ΟS{΢AMC @]cC]% ^S>)g?E/\?-* $A\4ҿtA7Op?BH_ k8?o*m$ _(N#隃5p &F}񲜤zB!(_?_0S~V.}/_2̧1"> 0zxqEb?_OKIM  EA 6]}SS844Q?h(Gj %K[I쉅qTZ?@u0EOW_Y%  +)S_X@J+Z_@7a I+E4lpA: _Q 1O#[cP{9N?ǟSH$È.`l *UBA6]׏_P#/5 o_$ EΐZҥ$N{iu/}-"eT㰴Tm/$O5k//ֿOI{?봐B(}_ <[*!9贺?7pVm?h!7u?Av~_bYƭ cl A~!t"=^_دP@A_ʪ 'zL?}$lԮZ.*a~ zZcI78HJ*][B`Gi7Ɓ[o^_voʮ.Du*BEA$M?a4,$  +%&8HKH8AB M 0үH2G yR FORm-o#$p@9dP{P@ ҇zM_ W䆣~AПk#P&*45*HkRA},P pmȡҊG/Ɛ6? >X 4vqhK al9 hXAH)h a0cZ@)Z] XkbXC@R %MA0AЄ cJ +E!bk H 'A Hh1,/GC%qd{$dHFa$Zi">!ƈ AA$iTDDAFBDD*A DDDDDGYo-F@Rc",8g`y|dk2:!SD~&IgL_a*\KzW ?gDTV??yHKЋ/}(zIs"Ћ ^a6euvPgX?muʡ0D_)AvOIUN*+8o >Dw[yhMK,;߯%RZOzZOZLMԣ?a7 / qtH"/ɏK/5IzT_IU +A[-_:_~==k$V_G3Ai?i?":EZ c^~u_yU/``z?}%IYA ug@^{ $$R y#""t.4H*R#:ףkϡ^Z^EE5H +?k$zh%-"XKhYiϤrY&Sv/0% (cP[U3~P]2"/eN~T|B۬"/h'P!@t5z ?oA2KO xK@TzT>  Etۮ9ςZ\ ic'?I/A^EC_RJT("?tw@t?}ArI]-Kt p@*ZI4 }*Nt_ nmnS!恗7/a ">,$f#Zeu? +xAw_=k%&m,-/&UN/*Z^BHLKuKoͯoW_Sz +Z - \/?~ұ|5ImKKֿ*&,WYN >"?i%;u]Y +[kƽ7']=0Adjzqt-/oO_z$]pU+S΀OK +p +G\ Y*A}m$\2;Zejw8_/[ \.q?mT_I%": i`2+qW^v`RWǏie=&A9[l)-JM7=u*/^[}}6Cjw-F(2* a:4 aoK`[ixA`o7]7Dvӄ,R Xt ~Imh'tJXa>8J.:Oi1=E8&AL4ZJ=$(ZoʦMAu `OssAa$Q$ރA'&>xxQIP ertk Ml4_ARt0c"2)B aDѩġ#ٰK %.M4ED"kMOpz ?^ L:QPab hפ &)0RiI`ǚ4Fڤ"5%:+d(4? Bl>!d"?A=-!`Ŋ5h KP^v K0UаѨmа xi!K&@a4A:B 6 44?DqM`*mD!E-# ¡Da BPFJ@AɲDYHE*FIvOfgAJeLYOQ[QH8dS5"54tU"YFExpι04U9Q3d "pal3<0dn`d)6L3=eM[npʚ"ȐEl; am0J g4au"7wTSanȿf24ʱjV7ih4$`Xt96]$hG%xa ‹A-iFsg;k1fO£M4*9QX^#ŗIAp 7SiU7tG@7t(mN{*gHE'NDa zzdR"$ +?I eqVtmnm=-/ѿmm$I[m#ni ^jM +_*=c?_$#ӆirZ~a oKn,mSi/Ju?8 -[tC'tts}a5~붏mE?(ZI%nFpA>NoK}U^=Yg"-A#i(}Kq O$rkC^!i7d?&W7 {q>ulWнBIH4cZ6H3Ro$H&᤾p d5׈/]RW)pZUN&R4áZ!ID47ly *~gBP'^E^qdG:F*&:!SD~}~4ETi_J@Ӌ_<ts镞]sYőҕ6D.}kl?EO|BO5b:i)ė_*e {AΉV& _NsXodd| {##(P@zӫ_(3>KQ{<5_XH0⩼~| |qTOUe'HIm*` JM/ePu.T9T4_IPim#U NI_-&U]*V OUz^%WC"j>GPT n_ZZ^_pDkZȎVG#KI\ZjZpD(Pkn$KA1_ײ .ƴf ?z?eتa Iu)Z 4H\:Z?g9I +#5#EZa|24H*U%I%Cqm+sk$.& 8">_m~3^%/=zlR4+izMK-(D{M'hY/ !r^M[漟Kav~,|!Zz_·+u (c/p1e a?_H6!$B;s>ʝ=&IX_*!V( ~J@9+I~cG[_L)#5%: 93sgJ+bl-&E"U~"$޿ z2 w'a/'@m [8JT 4/j  0IQiA01 `]&,/pW V">L'HDJp0q  !GC4t=!0@AN caDhD +T!j-44=SCH*% A:ijЈDDDPB"""""""æ2hOU.qeg@hHz}6fפf ւ4M]g`*{*g0Dae Ӭ@ost(Y. + ؿ_J* +IBd3+|7/t:]'l*΂M2: + R~Ѩƒ zZM[~ +RlRV 6yK-?n!BKL|{G^rL?Kotq>I[*H ?UYi$ $ FJ?85J"bւ F_^s՞]/՞/!uI _kJy$tZIIiFB95k x%_/uJy$t_nq~8jHhA )@iK_K d5:noMQrh3eZ&֟|_h_9 J /!%N4ly *~bSCK\4ID5AՈ- 3΅>k^^R}iEc=/r}i~"Q֕~ Jyő ΅>/8B0j].:I='_ G9YXsל_tKO_dd}c$ez (d… +k ^TV^ +0J="2?$dd~"/+6.OAS%['O0 kʡŪGA\x>.??:_#a4ցo'1}KnfҺU Q/T_/I}#zI2>[| ?M),[|9z/{Q҄_?+n]>-/^ GejMml?GQD^/戆ӂ#G3ӓ-ReؤJXU\~u╠^8guAlR]kS6PmA4Q"=KT)xxaAu.rr{& V#tKNrǜ>z(kͯOykURq&ҭ=BKҦrGK4mTG"$}8F*]#4؄-9a5! zFi %ÄGG6KI?_L=x8T_~KkmZρez0 kOOnhۦ<=%\BJXCTׄa[h҆KQW4"?KT>R&:׮q_z /KY~/!n mA7O^[[h|!-$$/z](^; /KI03I03 æ pJt"qǦ"?_s&(/ |=s_ X}aG&.==H^3fJw(R#\5~& 4$`φ˯"A l `=t @P#ׯHBeT{KAyg/N3e's~$D_@Wm/k,$/Je}>?IV!Z׋H V/ ]x@ _s}RI~A"@P :t'?9?_A ' o_g9ʽmm?=_y x~!*gZ~Є@/ɍu _?/^(=kH%Zz Z\Oif5 5,}{Z_׫=GWHk BAxHkK"i+G(_|}#_ PA\Sԩt7 PDzLi'Nޗ]idCI8ii-DoK7 'aA AFwfz_ #;M'Ke_@-IKnAkoKAǨK_I/oo% 6H Dv/IB  A M|┒oi _ 7?I `$IA!B$Ito_@ >>K_TA$I5.:$i6IJһ|D8QΊVgJ31dRyc (|ka9:5\| tS$?c&~ s)dry}=|0SH2Rኜ[@A$I2 AΡ<$á pm'Z 0#A0>ZQ[sgد,|1^p\ i/i ai?@I @ P‹AY^ ^X@ U a8x `Qy85ᣡ-%$At,/EXAU^kk0T #PAPј*$C Hq4t ק=hfTAzS{?:I[u]!VzB.|}wVJ?yb!BI/t/Ho.!}y:&VkJE֔0H蝾 ~_3O$rkRkF9,~HI7ͯ'Z_^нBI'鴿QrZOmn |?-/!uI_ZM\?"п_U_GgP&E:Ju KЧ/Kסf&?@לYS o_+ѫ:_χ$,tz]Q9t}.MT>egy {~Ը"?0ϯ.FGpjM)z JW?҈PmP"?O-(3>ӥygK4D{cZ@AҎbS@~ ϧ…/)g M/KZTctR%,BqK?UkOd(q{T>zB㮓*GGtMO_~ Έ:̓FcN4tiuiiz}___ (6.4h +:bZoaA0ǚ+yokM~yt癈GKL 9/5uZ־&%OK > +T;~,L¥XF*kˆ _Z}>P]}Gϫa!Vh벧Ouʅ殺&IXYO +27.!*tK ^|+/1,a]~50ƿ-YA]=KK9(3sE~yPpo=zu4[:5co(At^sϡ?)*Y,co_ /zKקWV C迲:D{0^VԇE5?H_:/hjZ_>OB0UK_ZQ߂A&ϯj ϯ_K_ a FxIkf:M_Ac ! A҈=eT MzCARIi~E(踏Q^us窐^] >? *넖!I(A~sOפZW_tt HE"РA!_cu?I5]C JtՋǚ?֖k__EG_({00K +j?*_됋_^@B6/?59~?XaK:(m (XA -}+5.4I?z6XaIo7l;o A~=uNV=]ekH Zxf'a@v_KZZޗدi&Ia%Ia<-UoZKҿ4_CAImo>J~)/Jޗ&~)~8Amb+q~QOkH^HN^zZ EBk|D?M%sմs?AI L=S:FXk% „`^G-'< /085>E>a.q.O, |iHԕ&TzW9T $  0`D h Fb`] beò`Wb$áATA1A&b=:B Ak冃@C!Ak2 x(BA/k"" j?3 PXhyT-8`qhXBT,'_1XA4GDz`H$!&t4&#@hDM`DHɃhZ 9&B;CJCCЉ%I BAhDDPB"0B̫(QK DF""""?l\D-n#5-S> T3U3!e왶jV`#Z*v;3a1!K)`8e^E4paZaAYF!Ca&jٶ\Ȣ57 /.FgbSΨY,MKu1!0:R#}7 SI#[Ϩ:}X a FBau Ȳ"g UMB " )#EE>CH tUL\:PjD}6,@+e莱qtALʭ"_ @ 8<:u"@(.U<߰.q$a(]' N-Y%<6y$-$YPi t1~YyA~ņ=NO37=kF+'#~F9Iitנ^Wt,|H=P/nBlOGW9!+ނ~8~' S꾿a ^ӞWgONOQ6D?(ZI$HEzo/&U)KgV"-$_ +q I?I*&< Qd )g_Fi )~q{œaROJOнBIns^q sZeZ)G}$VA㶖I"uv%i~pk)d RqY/4{z_B꒿B,hzW,}6dSP&?QѫsO^Dziפtz]Q9u V{`%wjYJ3ޓ~o|tz]Q9u[⸥z @1쌏EPoˁ. &K7Zzנ-P"?S/3[~OAg@ۋI"boKKaG.ij?/!WΞO/S"?H?XZ5jrԨ&/_ΞO/EaWL_?dGBT@^tW"?֑xa <_֕g'GEiZSKB%ٹzIޚUh +iizy~c2+q:Ii&+(6uDC_Z ρZ_ z1D{tӵLWO&VޱkKչŵ,98APYx/A]PPJ>h(ou_Z\Gm?a"M5f#M! ZXbI_ZOy_҄G$[-}4ROנ_\5^%~,-}4V|~̖ⴘz]$)^>zT_zD/8D(׫믊atuJߤ_^2 =zW^z_[Mzխ W}߰&K~J]N^$X`I CAzMj^-H05$p*ki^%IJT_a$8BJ&\w%M$Pi+)%OK( %5IAl1^N^O/L$pFM.FIޕ"x_DŽ EK E4נ8ZLK[sgدH2+1[iItJbLPI0o8- l-' AAVdXQ'a)p^N7HZNH5 ׆IF xh &IdXQ'a +tZ +k  !bb . 4T,-($ =RX a:zB+)"$ д!BB#B#FB XGBArvB"DPB"""""""1n*d tvDLV P8eO?XL|:uϢ A5)aZaa\PۆR#Zla݆„ʩۚYLצ3 ]Bh Mxe 6|L:oM40asoȪHBI "_/J*#VA?1]9N[x${_>_t/7/􍤿8ͯ VIҞI^|2iiƗH&V*(:J*3c!졇\Nm"_L RJ"гT<}>[I}6%:Y#$G]tK5kKQ=yr)%2/X@p G#KKoX#y?"?Lq[ 'Yj8֗L9tfTGSlJxExKh,WOpiħ"=:R&*nYu]~4çyîA(k&6Kc^,i %Iֿg!$ +]0d_7^#}D.ׂ">xk c#?yoK8FȌH=,H.sxG!5,oHϼ/\|TǯE#KˆT.m I#4`Jq_WKuVcDEgiDZ_+ZL5"u2qZC<C3(0zZh JX8A0 8 +TkaAh HZNJ)!   % !\@1R $e@D֒)CaP#"(A@DEl +DDF#,"2[Ƒ\QEnvJĔPʢ5+"0LRmQ)C*ԡoA' +DeTm D &d 5 $tJQOLʳA*l7Ȱ*OL twPzIlptGX +aaHQO)7e_u m]agd 20 @ 8<:u"P\ #Nw^D>ү 9οylbgBN-.\U[aH0`~&~jM +_*Н=>t&$x[ѨЇ9 -1a5h) *oMǴ+ނ.~8~'N'hUOO5rPE?gV"-$Kg"Ho ̯NHXh~6m洧GE_>~q{œaOJI _t@UyVUa~^q2^f_Om-/PD%; "мHMXQyU_3'ZO*G.+KC_KKK]Q8 r](t)=$$tN +'!l9(ksOYB,hzWk,5IfeVq9EQJ*g]?`zs_㥝VE9c?_KЋK`?ЋRFQղFKO_`c^]ܺKϦ/^U]% 69ZMʡŪG}0pG~3#:{)?tO>?/KI*ackMWL_?sL_ZI% 5)ֿߔiZZ^zrttV_}uׂn/>ӃK_%8]G#NA1_L8A+e"o_%*uUoXjbs뷝6 DlZmv5TM{mk_~Z3rGK_ZY&Sv 5m/"$})8D{(}g_TI?_nz9Ѻ=Wu\nzKoA}:{wKKi0HR|?׵Az ]@êƽ D|4f +_H_A0$}_)">G.:YxX[nc?a"`2t$_}iwu|m]a6w_A5L0ȯ" %iP붫^t_ nmkd=mW辖֯_ί6  ORWWU]-"z_xAw_k__.` s;LV5j}7=uUIv AMR%hWKlZMM+B&R&B1XN~$?X-%&ibooKҿaɽR- mi7 PI#^~_ +JޗqI(qL0T]$K= oKPwAlIia!zMΊ$Q$IizLz\:Wi0*kiA& #I XdD&LGO4&E/I''Fk +oJ< /w0;r ,0e#)0z@AaAid@8:A" WIBbL=$yŸAq=| d%a !h =!,qA vk4 ^+ +?D%:+H BhzJA &@ H Bi._` . !bb  BDDA# +EB""4"k +i$g$GkhG+jhDhE[Qa8?l_ec&_KzC +?@ +endstream +endobj +15 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕr\CM +endstream +endobj +16 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +17 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 85114/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:m$iR bҺoҳAezJo$-pD{".>eGIտ{0*I_y^_z:kn}vKe!KIkR{]oTtlz64__֝bq *5$ǥhna?6%@TGbK /㤵UI$I +^W^KJ5( f I$޽Ϋo,$Hi'IKcK,$I/")z%Ci*^;3q+K/ZTMI*KIFJ`ꇫIt&~L * 0  0 DDDDDDE! 7OHOxvh4n'ErT#2V0dj`ʜ &t`Ȣ  a0l:NeE۰&Q7GPUʰ34,둁L&y+ypKoŒ&}{*k|!mvPicVLѫ6 P a,a0pV5,tKf:@k_}8lLY_A #YW\YAdΚYAGmt6_#_u8 _|WT+W?Mk62ZezI,ֵҋ +JcXU5>yP'__Xj!STK%U[o& kב5Ы_oB, t)z?K~Dluᥤg /š,i~hs长 {*tQ'Uz^y_a$Ït%.%KT}{_ZUk_ JzW ih&}p?Ii:!֕gIVfPEiRҥJ6OkI$R'k$Pl */o- On6 2Ma4(.zL>(R 4&?WMM]7֖Nz][t :][o--.AK%-EZDÄa"-"ph$ [ jRZAP4SgdQCla7I i:ô6yVych.aH*~F2~Eo.ޟe AYeM7W$L'<~*ޗ$v;K3z_I| _<F__9g^oom/~TR.2ZE:_(]---/C?Őh(Dzs>a3 餾"= +kR9㥷iA!j9_aֳc/-_]y:뮺%; ~'tW?B +X">zXxAuKI{M&`K~/|Mb!$ +_AЋ$ᇰXΩ]uOg66Uk߾a49 C x_WuuuZ4ozu6ֿ' Ikcmm["W| nյmm-- KKA!Zֺe}< 51LSZ + %nE u}kAh AiwTcծ(NM5,$moMnqΚ[Dt-}]SZ^>+ZA޼S-`<, BIK--K R3/Z[pIKҴ--X 0M~a B ai7Km rIlm&H6X` PAl< (f -@H,2jpl1tXd&H,D Li/ X`/s _<tЄ J"""46-Մ; +v'vQQ.կdQCal2~0.*Pg "VdU 6yVyԠ0Š荦PS't:U N/ATן_ik'L&PW蓴I$L)C?}ȇ a(G| fRiiu{I8A7/ 7|9+IտeTq9Csk4΃We S}q@=ʀ_oߜΡIL1K_|Ws5_}H0뮹;KͯP}K?@zfuxa_]uryX^[Y  4Vu<:곰Dl6N}L +տX׿4AAq$tƻh-}XksSZ׺_ ZMŵ_~>@zVZM)sԇckZZ@$'I_.1LRi:+yϭ>Mz A KH\"/ %- |Fa(Z +n;0ds,ZAީ(Av9 Qw|, `TwTF(2/!4.1 KnC" [j_ۆΆ,R}vaەioKGH05DI-J`(A( iABiVVj\C`Cbqu #(AƃkDHA#E)DDEfn!S-P"?MLZr6ypT4GKkY?Nu] +J_ T"?B +X">uDCou,E㥜'e +.A0 Kr:_~R>&C Z|2M~oЋ$Kc">}__%ua= l0OƾF<:=}v~?{D?mCָJ-}?_#{K&oI>յ@zV^? aVյ!>(cVUKئ)b AQYr랪Cii~?K_uiHe!uDt-}]OWOPIKiuA&a4(.K&B۴K競_ᄛ "Z[r 'MkPb#"$մ]\?Il/j@H,2j3A VT&XA"UH-H̃!H8M FARQAD_-Մ; +v' k"TGL 9"MvÆ&\4QIH:%(m0 9ؚg&ۢ! S:oe;5[˂l20Y(0<ײlN-.\U[0L'-Ogʄ'Ms$v;O3ҺIpXODCgJ|E4VzB,ZZ]7{I:M|KO/j/?L iiibKC_}i'G:ƌץ~fȏz<:ᴴR.^׿ Z.WWT>ۯbԇ.:9>|ih E=+@$RC Vյ--HNkQ?/҈ZS%Z + rA~jA~Bѡit5 A?PI||}AiT{zǏs, ֧Q1 Kn_ $mb!+)%; B B aH_k [:z `( 9:5_a.t` A[5^aǜ+4}Σq^ ~:"<uB&PTЏgsG`H#%[#%-Մ; +v%j2*YJL(g^ }Z#h35ga}9:Z`G÷2*p6m8l; dð=8e^E4p*Å 2ᢊl2(lZl;A0聤 tw1!0:J#}7e>`r\fh'taa "jBASMA8YB:#A0]$hic) ȵ8l#ql~ll20 @ 8<:u"P\ 0PTQ({mUI:NMXl!HZIť+k|&P߰z(_~"~jM +_*Н=>t&$x[ѨЇ9 -1N'j;::!m+qJI9vC^?AAKAWls B?MkHK??.!<ڱi$_=!_C}--RO[+Sg{I:uzOͯaGDkݾ ~UMom?o 悷ߎA֑Ni|{^[^$K7F9ۍiiixt/Kʙ#M/O4{z_B꒴ID5|N3O͡Y:qd?B +" uEJyő O"ґ0St0g!N>k#u[AK89!~}/zoq40K?K5Zzנ4D_￿O Z!h/CGZ Am/ r8pKQCI=Tՙt?dHI?Kg_KKֳc/u]~uzW^N&i+]&U/v8* D%z*N+o۫(_Ҵu ? Tl ++e( `x= 4GH,WO/Wncklײ^0|B,Eg_~+8uUoXjbs~}/0  "[^ҵM{mk_~Z3rGKi ?#!$ +_!R۬#@z^$ez0 h?=@.Xm:eu_yOOnzȎ&I +W]}cF^ȏg6m.&_Ou &8k!@a49 l:}/qkEd="I k^G8߿4AHϼ/9>SKկk| a_EJtZ Ay +k(zeu@ ` L\zz]w_ .ˤl?#[-|K(ol| A SSϯkkh//KA)Z|_+:Ϭ%_-/f:M_A,m[]K!??حk]2]]]Ii(S_i~ izZA +}JBЅ9+%A6J_ Yv{MmzZ A`~ A K\QN +֫B ^>! ׮^ [J5+S:ejw8k__#5 "?ZXK,% A_m9I~85⻑$%^ikh: +皏 +҈^CAPIS-lǎYlJs΋!6 ~CBI?#vzIlS7#Ө,b bݥ)ޗimҥM~bI+. ۆOүiV-?g{GAaX+:x@&A0Ko/I/߭ C4(Z, &o 6ۥm-ǢBAzMj^-_E^DjI-êXEH6z_,0a Aat)a5TV!0A}WN39RIåatil9Ѭ560 һOK( %ܵ&DH4 `XeoN]CH SLAaLAapz I vp{ {bEAcm Li/ X`4 X`4 ^+ +?D%:+AEKE*HP2I~BX !,}A!Ξ0A4t"S" )#E=e +NAs x3 +-Jz 2S ᲰS ޟPa(]'ԋ[(MKe m!7zBK; @ UJZotv {?I ht=EoIK {F-xTCo>t&$x[ѨT XmCA7D:aӪF ^s)M^_Kу::}"<􍤿_yb!BI,kIS_6ranh'#i/.jkmXҞIʚM#}I8N0'%HW #^,?k~%=za +qn' j{ &Q/! +5K} $:/aʬ4 |CZ}9 d5tP^ DZ zL3G_YGUoK]RW zL6/L3GYRY:""Tizi/Nt) p϶Y#M_yZ"' l;I 8 +"Ucz 8  (~/?yG92sRׂ#u[AK895zVߥ8gDzs>a _bȀiHNs3pߎu[q9E*FKO_I|(a_9*C T(տ)1KO\X>mBQ#ocZOn 4iA}O]&9__iZ[pz[5k.#:{)?tJߡ1ۄG_󧲓_A %N^ǯ㮓*GZx%u^דA +\_=W|_Ҵ~?DZ3im?RKni_=)pfOAb`~]X]G#NA1_Z S?+ZDiBGL#NDE ^f ]/m ޱkKy90%jp$#5#E_~k LJ-8mIV.mz<ֺ}s^ҭ/A䫞=6r)V+_kc5|YЈI+8K_@T_9x*#+x*#J*Zu++~uQ֖^6]oG]|VK0Xհ~ D_~޿YkIu_^H_A0%#Z'OM.?m}4,0WU"c?a"`2I|CCKAdJHϼ/ϲ8կk| a_EG[ΤHϼ/5t})?p(Konzeu@ ` sꗼ"?QPpFZ9?D{_3 Ik?=oO]ֿik]iF~c [{ Ik8:ˤl430/ZQ)Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-tʡ7yobk]2}-tL?$K[_5Zֺe}:5V_O.hraI[z Km&넖!I(Ac+׽A"A"Ѕ<Km}s=yUO[]&b$+(i-ȀT~zS~zB _҇~_+S9EOY}_(=({97qb2;sXMnqγgG5bkKw"JB.BI]zM +j?*^wkKwkKw#ko#DW>VO)ötS:K_JǬ } A%Ka~[)!<,?R@APgnO]-O.H3<:[Kej-m ۯiv@Iޟ?ʆG>$oKMlTKTa; Km&-KS +gz_ЌVWڿzL>Z+<--Km-KKac Z[6_0Km+Mz[nx*I6ޗIm~Xa";I/KopGi7 KTפM7-$AzMj^-TץIKopD݈N &o 6"0pwTZKn4i7 :W$Ma5T%CAl@X` ޗ<8AF M~l 0\&yt) TKaO#RTPaA7vQ֖Il0tJil>A Ta΂iA_y|1I8GAzNM:AaMM$aA1I0a.qnZAN^Xatcd u=] 5II vKXK K4(& &IdXQ'a,A%  % JL& 4,0Ia _+ +: P % (4) AgOH\B~ $K,AAV/,tD +D!X5BE!FhP i E4 3d#0CC @DhBBЄ JBDDDDDDDhhDF""4ɲDWDNMٶ|:uϢ Y[Ⱥ68mL6BB%tvSw +-FO(P(M40>qeg@P\ V~(4kMUNa5O¥oK"AzSKK3|i$Cy֗m%$$ʚM#}II"u1e E5|y]RW^8Lz}kЋ>' iŒ8Q]Q9t}/3Ҵ=yR3~_E(a_m-G|ZDt!AIK+Kn~2D?[ J-R {Kn{(?Q=)EkK㥜 Qp𗙩:lOyt*/hKҭֿBI_L=.:eRa]~5FU|0~=[NK! a_EA>ૄ ` s}WPrc _>keZ x_AcRAyg m/҈m|V_Nk$sI[zA!_cͧ|9@$aCɿU镩6 +z-}SZ^+0~ICj?Qo%GۯM$o$Im߆)ޗKoKm_il?%@&-Al}ڠ&&o-i- ޗ0( %5KҟXA:PJ48GAzNM:Aa/; y8B^L& 4$1X@AK #8 +B#B-( +"?Tآ+" +.MDEFFh*;RXC D"*g؃mLb 0μA=DB"c:d[%h:g؃a@μA5׆uϢ $̨Px&02Ou 8m8p6m; 8p /.ٴm!mL6ͦl?ԁ0 Tt-Doػ3Qh&^0dHL7N]‹)jʅuvKw +,*lef2gXḺHC)7=e  JB )#DAs & )<(PdFD|6V8a(]&uoO[(_Z`S0eˤ4$f F=?#Ap#A<~(4kMUNY (=W +&bo*֙\UL&{lOG|{Rs mH0Q4H0HN'jy]>:у9AzS $~}Ո I$,#i/<ڱi$m% $ F^Y0ij|)E$$ʚM#}IvS0JIIIh .='I"(yEEqK} $:Qui2y h?_(Q,m-/PD d5@IMCF`c!~Liii /!uI_ zL3G_YFrTx dʉS)L&q]~NyZ"לY϶YNp#ziŐsN-8}z φ}ȸ4u[AK89Y#3=+HNs2,Ϋa"uG1Dzs>a 1HNsDzs>aם3=+egX{*G!i^"/vC G82A +k PC x P_p/EaG.ij?g#i + G/9ZM:JDKo4_/_:{)?tJۄG_ވjΞO/-DuJT[pKn~/+h+]&UւKuy:#(3xʾIu n%]h!u/+KK0K1-_iizm B--"?tmczZhtӵLWDCd+izSy$4t,WOb^XX"?{(?:ɕEoXs(AuKϥYHޱkK ^fKI ^fI(}:]Oyt*_-5f"oz 5m*J"=r?_u +a_WDp/0*ZuhKҡ %~TGkfWI+8kXl믊at1+(꣭-):ⴘz]$,1+(6V uaYF~_B )uׯy]WsItB )%~G.oޗy_:4XH?LO--š,csE}>^ ~KoҭV?z[yk| a_EA>TaE~iL43 1}O6 !9Ϫ"?Q{(3G Mh.#Iׇ@ߥ^U_uM Mh.|aˤtK(ol| Aˤ/A f.-z[_mپgsΓ~/X?ïeqT^GY?׵|&_ /\U/}:^HdL+WKuK_յ0 m/҈m|V_Nhߨ~I6k]2 h/A0Bk]2~?k)_Ao ,B @Pg9G W[\$&IB %nELRV%nEaMץ( HW (i1ꙂRKb$*1@~zo-5b@$aC?U镩f#_(=VנJ_KǚqHt5\}[hWr&-"ᰏ` ΂kKۿ$O5T֗5HlAJVO)sS:8lJSmA9< /ö߄J_IirtL?ö߄Jm$ۿ%I $#__#<7N$oKMlЌVߠI; 1H #; R3/o3y7[[jKKa0<-_k Xm/-_?Im~";I/Kmo_}Pޗ @&Gi7*WK1 W km&t&"][i7MMT_uKa5Tm>"%CA+ ; ޗIm M=[O^L"x_DŽ Ga.q^ ҆i*Q'< J!C4(ŇA:P ҆i*QI) %I.!i vp#'&OT J&/yŸAi8A6z:NMcU-0 ; y8B^L& 4$_aC ;  %aL& Li/h%N=V$`(pa i/ Z$ Ipa 2Ix}L` (AK&_! 9HB;CРA"4!A?B¡ 3#ЍAb A(AЈ DDDDDDDDDDDb#&n/*a)g,[v:mP7Pi[[sZɄnSIW[ Q+D׈P(8i$L/Rn R_x~o  zI+>p}%{G^ҟ?TE_D4K9\/K Zs]gƅ/E^'\/*5# yNa/ !Gu_Nm|_jO5B} r8yu8% {ijmJgaӷح/0߆M[[mMJho1^"AIƾ "o=-d `^ھJa$?QE +-Ј2T""1vWD#%n!KuaFyL#RdB"Ȋ漕DO$vZ;*g؃`SLe%v)גw2,pl6 @)d`p>E4l aPp&\4QJ@M_A0[mtD&-: Bau +YP$pͲޟ[0 9{.34 8A'ԆbtD(cC莁F +aaHI g&myvDf6r/ypN+˜eu>_Li @ 80ͯH20nAߝDS]D`<5a|!m +M_ipMSPOR#a _Oߧ{b}6D?(ZI%J"bqJZZ.qMlNW ?$_5E_e8S_:om?+aNm:u;ioz'Us^'+EP_&%bp _Iչ6'^UG%6HyZ"g:Q8 ͯAT?AiWe }qp,.Tqsxy F+u7T8=ʰ_oߜΡ~G!i^ @jEg& }~ZXdk뎘b>Ӑ4# ISPgIer~#~_5fG}~j9_j߮yƺ죯:{)?tl3|~0}w_fKKֳc/_zG^橞}xʾI0޿]W# WwI[bZV?B +VPzZh/zN +3Fbۨ}^0|B,E:Ə^:#Stydzŭ.#5K^=zEI?  !4B.߮ߎ:Z_tS_k]>b)~8K;@M:^yX_}l?Kz-oo:K_nzTh_΁-5#4"aE[|GIK&R"V_ڞۭ=H?~;t$KSuvյK:_]ôFL?$K:L;K_ئ+DZ_^Ah*#/Sim=?Zp _ %/'*m- Z A`~ A KHq F8( HVj!i_ 6Kh \2;/AMXP?I~KGaDGK `*h+KR;0ds,Ht5__$4# XAiD/!$Ip `e(;7 zA%K.4G=A +<KK$XA + KOHeEJzMKv A/F(2,S1_1 KnC" [j^bIz_SK`t]֖0W,Gm&__3y7[z_ ,  `^oK~% =)(/(Z, K0 ~10A!i`k!%xuKx0c XMq4p0AЧ 0@`( UeE4dU<:\)%OK(a9:5_ȃ mCOiV2I&T;&d64)$yŸAi2 ZN<$áK @Qh&X*[APXA  V@I,/AA@݄ UX6aDB~ 5*$JS:!E)a!*5DE""$Ƒ;Eu4AQ%dDْ'إΛV"D396Ə&PIPg^ ՞3Tϱ x3D3*Y%1<&yF"]`4YPӆÇ i(CEyPlall6? &cV*ET0k@M_*BBau7l](It1(UeBA0^ *A@`aJ3@G3`d,p]$hBAs 脈0{ 2i$ARSֈa ˜VQXF - {Ytս?lps.oO t:UB/!,0evTI {?I eqVtmo*'OJgBϯK Ľ'#~F>=[؟D a5z_^_W؟Da+ނW^0g +9vt^:_D|wVyb!BI/!/HKgV"-$􍤿$Is_)_Qy_|)$$ʚM#}I:䄧GD`k$濈0o5vB $NcF"L^CZ}^нBI@1փi~:uh/H_/8(M9 Jpkg.`=/N"- oK]RVFJ#4^OSFs~muנ/?^Y"?3CADCCjBP/?^Zqd>2{*q_:TL?uϯ9dpȸ4u[AK89Y)=+HNs2:Yl=].:HNs3NCTmfYO?~:[(TN^ʡ9QZzנ] P_A +kɅ=ʀ_oߜ#=Rҍ[ }G 4u# IjI4[ r8pKQ-H}S}q xz718z[5iujΞO/Ҵ1󧲓'KKn~F7~??DxʾC n/'_Z +I}#a-_2:O]"W-/_/?Ǵ\_֕륷W?׏i_i}mDt3Fbe"8?'^E?-gI0;] SFPvuY~_u*ޱkK㥜QQp𗙩8,ԫޱkK ^fK_]ViԫEڭ.kkb)V]u 먇 _3z_/:K_nzUЈI+8YK_nzT!$ +\MKz(X}yTuFMXl믊at1+(W]|VK:e+рk_mGX5uE(;zY!k}1i?~`_&dW}x_/edIw)15?j޷Ώ뷲9?D{0^Vԇ9>@G迲9?D{0^V"?Z ƛ][X疟Qz[տZQ߂A&ϯlK_a~%֔i76>IeZ6~落/L %-w<7H} :WKuC͡3I@&WKuZzۭ=H,i2}~;dL.a &(kZֿa &kWAzL;K_o$cx3[z߮Xk$sI[zIbMJ}*m- gsGy:}}8z_B ^>!~B6*РA!UQWKq ARZZdyk[SV/Fj@=#ZZ9,SV/F_ֿKGacVt5 i y!Z4AsGW=_kG/4AsGWT֗XGpF,`~${;g1I34lAJVO) }`A%O)~]i2z~{oirtZ_7#m涒w7#I?/6A}=_oKoz -!jF+ xo$Im߆)ޗ'a@vb~SK`oKGG]&XW_ Mڿ?g{K XmlamM㤩A(ai[i_oK}Pޗ/A[z[~:~tb^-TפMDŽW `m&#_[jP+KT\w%MOV![t1I/,0|Mq4m&"?@C[ qE:I$jJׄQKn>tJil?OK( T '. myB ("x;&AKiZ`] b '/I S,2cȃ :KvL,rR`K4 `AkaGo!/&K dXQ'a a0a,-5a [t!O j080AGH4 ^X,'_1@ +D5S!ka80 A0! 9HB;CРA"4!DH0RB#B5=aADG[d*"$ulspμA=$B":dS%H"3+(maYPӆ L&ͦll2ӃM" ӨDD'f(/nh6' 2ᣆ#E tڔ fr(U(*X`r]&t(}SzB#L6)dV: + 6C|~C +0)쩮&j1toK"a YnAzS?}t]k΋D?(ZI%I~?08C/?6#9gB $Nctp1փͯ~_󐺤3G_YF1_?^YF_HADCӬu[AK89YmfkZDzs)N`:z 0>0/sqWG.ij?g#'L1Ko_#R%s4":?GFW_#I}#_u9zGIPg }ZVajxm?}p5av ~z"-/J}Bl,POޱkK㥜':. y3t kIj3 Ik?=o\K]?:M_Ac!eqT^GY?׵ZZOJ&IJ"Aֵ+ѭWKHL*Xk$sZzZAt( HW!Tc> +#I/ A K|~0RU镩̢Zd{,$moHt5\}5⻑% i {I,% A_z<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%GJzO.H3<=ehP]a; k#;z[*ҷBMzL>KKl=o>J[a#&$ Km:wAl}6mM+ B aTm>"@CA+h$ [< J> sH&N39R-I?Ξ)^b ao8/دvL'&OT Mh&/XehaGo5 % P/ #++B (4) ؠA帹B(A@OаBDuADXqF@H ",*;**hh5-Մ; +v'd2`&]"hL3}jȄFDpᒤ)[+dQC;%Ⱥ2 QvÇ a`pp漋im0ea;OV*pl2&*l&\4:u ./o:5L&/!!0:Ruw +,b꩘baȍba*ͲUg I*9t"cL2_@ˌd QqtoaHؓ}Xa7Ta7\e;"2$ˤ}6l#qP=,M?I_m A{*k!H_JQ({a|!mUNT!4⟟6jѨ?zN'lOG/||rB:#L8o$v΋D1AzSXۮR3{vC^:_mO=C/L6 <GIs_ht6D?(ZI%I~ʩP0 ,U&ij9gkm7Y `kz5YqBeYyȢ-{h 6N.HgUI7MvB $NCZhsHiik:.+Q`(8(M9 JyS<{mf_,־NGzi'VkЋ' okST:5ny:kЋN,ôCjINgKPgy.TqsFyi`5/Z7ᙧ`i,.Tqs$G9ovn(#ǯ"=u/sq)P`Z8CrA +kQH74t4'I^Fڪ (c1Em-G!J}^6$#mxTr'K=-UGIujΞO/-Du n5oLr=%O?ւue_@XKubD~z_/; ~'t)zV]Ziizm?"?"u{(A@KG֖k8#kAb`~"O,| ' nZ?/:I$_u*ޱkK ^fH9V?<1Hr +yKᅦM0^G(aׄhKҬ_~V:K_nzT!$ +_5_"X'"a0Hx?:ۣ K*_!aYGr>LI0},FOg6K L!UF?=Tߺ>ߺ}֖ P?IzD+KKL-z]:|~0Zo%iRm/g^f&":XJۤ5ZMmB.B[ץ +j?*{KjkTUl]$I|?$bvb*g@i}v6~yCmX0~ICm}Ki`ح/!6K!AwuIxo%GaH3<:zM[~A("Ji: aM㤾oI|| 0Gi7KI0ӥiApPb"?iXK ߠIP Bb+i6l4o&#K`T$|J$ijvki7$%&_a\8 A-DŽ F$-! + IׄQ'JFK%7.H !K]~AA4+i I[,t~ZL`E D2V0o8-'&OT K? #j^Zd~a& 'a)@q ~ [AaA"v&Ka. :A& (tLAPEO h5U +B~  ^:B׍$T g +]$T MK GB;CI  +#0Ba! FR!UBA#ЈGM%"|ER 0j+HK"14@<" u uϢ ld>61*w ["2 3p欋im0e{*IA[Qh6l]0e`HL7N]‹eQTZ +H U9 + +aaH7\4kK;pê @ 86WjD__l!H[|Hge8WҪ?[b}#M3#MsCVE9c=ypɅql3-(տ./T@KO_@O<SֺL1Em-G!6"?) D}-/CU QΞO/-Du+Ch~ "QA^:2D%?#a2i_#G-/]-L:I-r"4?ZH99i&+XX"pϢXbgzEZzŭ.#. y^߄u~Z3JCq$}~F/4$FK_nzT!$ +]_8@\B ]uZL=.k@O>|,aIu_tHGR\2~S$t"?/!_b_ D~~3^&ŘƵYk| a_EF}~/~\3X疟"?:D{0^V"?T:鄺$/K3QAxZQ߂A&' Ik/"kʡOܑk3I@&WKuTpU^G _?aA$Btqerzˊ}cb>G^{(㔓p _ %${pj W) +1xUmDaC@:ŝ$x_jHkޓxqI-rF3y _龶lWA(m (ryO Tz=-O&[_-m %Iۤ6_'a@vbi6ޖ Mm/ ao-[@&K .#JX`b+i64#K| . zWa5TAB DK-:A HAal/jQ'JF VI[><" \I[,t)& %- I SծFJ'pp,1 iV@H Li/K> д?[Hqpa 2I*aWIT!APa! F(DDDDDDPQj+Ƒ6Gb +򨥺`AN򔌄%c4B"c:lZDYvc(Ȯvg؃a@μA=s̤QA֎2*l2~L  +{ a8e^E46m3Z5 .UA0\^F eػ`ȐnB&:Ϩ::m+^mL0 9!Ɨ[jC 1sIB _V\fh$p8 +KDA0]$hh.auL6vȨGMS#!/"חۦQXF\-a {Ytz/$_:4\' p5^ʚ?um<~_D]uޘ4q2R0Kq?y1ۭ>&j6O"Ȑm19!I>;Du\tt:  y]>:Qt)TvQ 6h__?gPGReijC򅤒^?0]--W{I8A6M5k^! +q I?I!?6) DrDj,z 6x"΃WFнBI@1փUk e|2]--.a)_ Gh?.z_B꒲2Th__ǶTgzi'Vռ +C[~hk?]6dziŐBP5).g׶**AHO/N`5,y(c85Κu[AK89#Ӝ ^G Oi%t"=`hE|>98({+SqYP~-=~_O_O>__'0y뎘c?d@mcO4tcZmCdG/J5zj=-U:5kh:tRm#죯(ˆSDmz?lez^Ǧy}tWL n/KgYFH((<҈y;HR-5ƿ/(+KKKno"?9 } 5# ~Z_[k82ZH:Ii&+XX"[k2_# nB^O +DU/Ћ$ᆒ_uFMXoy.!>&I u?om&{=@IK m_^ &8UPr5hsI$Ώe*z:A }/_^Jt}\Rᷥ.+)L#gfiCI omt o/KסY#ĝi>_ͬs#_FyitHtz]Q9t0&_oߜV0G"ς|> xz P_^=5=tv?5 r8pKQ-H~o\%8*gOe'N":"I~ GIxʾ?x_Mq(+KKKn[R_#J~ZH99i&+XX"q<"DMa9΄fj- %kCy'8ylq"K$OyU23a5z%*1|q"0*ZuhKҡ %~TG?I5/?/믊atX_DiD _8Nh> +Z֖H_A0$_9J~GEd>K"/9Ώ(_cZ,5L0ȯ" #>_OeV4 [A_"=l/+Apժ_~f ĺҍ&& 48lK\uֵ=H*Ez?rE|&_ /\U/}#?F~I6k]2/ײq9I? ,B @PI[K(?E ס^_( HUTc_;:?AXH񭾿ՋK:-/A~9[yA~:Mm/4AsGWT֗ǥ@A_e<Ϥ?$?O_KߏOKa7#ĻI?~K3 +om-B1XN~$0#;~/ >i6ޖ Mm/_|x?٪o>Ja# GF#!W `m&]ׄ\?(~`(~=+*i MxzVFAfE:T]l44. ą i6OK( TxI %=ta"'PɃVZMeYlɃJAcI0a.qnZNM:B ,/\5P\8@m0 ׊;  %B@ͯkkB)`ªDHqpa 2IPR 2@DhRDDDDDDDEg#dWO4eZ-\ aIKuam+!2[!16FѩZ(B)gdB"#Kgu#FEs>Ӝ7 (pe6' ] pXg5pl8pi);`6? PVCl /.I ALp!;5q{x&Űmm#!JH \*D'f.2$&Plag>ԓ9[jPb.LyT}úêMhl&Q 4RSQh0#NȏȭnGS꾶KCtJ \6V8t:UT2Aqe| NeMSi/CEC-?#Z]DHgBL&{y bbapPĽ/c?[b}P󜢇鲼(WEǑ3O"Ӓ~}dk85Κu[AK89uD{$|>98o?u V^ʡ9B?f \^?H▞u/}O!z\tQ#n)>N?%cs?y0 k\-&WSK߮yƣݕYOZ_\h:tR5or=b~<_/]$㮓*G@;IR3׏gHIW_(Mq(+KK7D}A<>}/} ~vri:/_Ig'0;],EHK:ɔ'Y>kۣNut%4HUoX}M0K/uU^(<%Ώ"ֿ:_~Z3ב5t/ ^W[+ +l?1|q"0*ZuhKүY  4{֖_'I2)/?/믊at; Fi\9rՔ?[GcooK _^ &8■\6i| + `k A-i'*Xa.x< 1灥!KKZ`vӌH'^< /4+i ةd~AX13DȓTH$ ,-z0vI[,t)& %-  h%׃PZA/@@4$A-..P} `AkaGMc!O M{BAHQU +*Y:~L,E + \(!HE!APa!ADDhDDD*0"-#O#Teȋ"μA&HF;t0^yR%ax3Vͦl ,h' ;ʭE 3d2aqemV*oJ!}tK$- +ߤpKҪ/QJi~AzS#i/ >)_QO(ZI%Ik$$a)duIU"OHzOͯHxi_΃ƨZ >h}_^$јkA1*gE,2Ҵ?j~8Z4_rTpqd2'(mNR҇0)^fzסY#0ω:A +Zy65Ϭ׈?i>].:HNsטg +kɅVy|>hqꖔjߥ ?(a-H}S]%d?o:aO]& H6[ۄG_(f8?) D}-/CO/~t8KuzL.5?AI}#a-_Kn HFjDK}+KKKnzuD_ZDiBKA1_z]~4u^$룪=/ߏGUxa/3TKi /Kb//!5q"癈[^! %~TGk@z($}z,#@z^I+8AcVQ&\GQƖ:GK\G!aYF4"?A:\9)?pRK~AM*=$_ CgKĎqk bG@8aE~i׭A\UnjAbZ~h ~#DeV Mh.#- Ikr i-%!z^V?ŵ_6>IeZeqT^GYT{?z~`4T> =H$eqT^GYkWA\ WFjF9WAi +ֵ+V?_Nyα#A_/@PI[z童 #//e)B|B +~zZKA%AX:ŝ/~0ZMi_I +V kKξO)~{o5G?$?It A'm)z[~~>_)xo%Gv R3/&V_wh*V~$0#;K 1xA/>{K#bAl/-|x?J| 0Gi7&ob>0*4#K04II/~x R /Kߩ@C*i MxxA:PJ0 =BA,fE=-:AI/c4. DŽ D (frpl1RdAB4fC`AckH-v*z0yŸAi8A6z&K Bh0@׃PX8A~@j 'a a0a( H % m HCX5 B?1@ (4 FjZtB A"4)DDDDDE"B"""ђ+ 4v$HI)n!Sæ笡P7\4:M$M4#NȌ~Eo. CۦQPXF - {Ytս?lp 3#Dޟ ,ײD (CJHl!H[+k}7W:zTPRfV*0(_ҧő/toI؟D a5O¥oK"A oK蓴Iڥ֙qSh5. Jwy]:у8.(I$76|CgJaJRIjC򅤒_ CZ^ I􍤺ZZ9gk">_[kœaROK!쩤=^HJy$tZh .='X Rt_:5$㶖I"u1e E5|7*=H!%6H t R]k9}e&%8530tq$^BJz6um֓iyZǓA^ֽ5F@gN,Ƃ6N>i%(֜_/y$^_ͬs5j_3pi,.Tqs2KSzVOe)8/'C R#Ӝu="BV+)}~serT5U9NBD_C&( P_ޤs'VQD>FگC1>\-&ŪG'KozJDKo?^G+\G*Vu?ZIZV":?#a45o~*?_"??WL0u$ n,y;I/#3/+KK0K1-5 +&oe( `x}_/_-/-{˕g'0;]^D>pfOAb`\";R+ nLtuY~ւ^fӭYT_Z\G,8Oҋ_NxaAuo !4dM:b/.kp"<ֺ}s#IVͯ 5m*|Mb%_^/:K_nzUЈI+8YlBI_@.i._xA& .q忍t #>h-}U_]G DYvPgWx@ +Z?p(AxH$K&/mW{ޞK_K.I Mׯ_5-}A>.ߥE  !ߥu_[{7yo " u* >Ckt$ȖWKm{KKHD4)#"@txIi~Ek⵭ttk_ A+ kئ+b AQc_9 _mߥ}\$&IB 1^A"A 5 BPW G_z|B +m?F?=S~!*Mmii ~/ץ|~0RqΑcנJDt-}I} P<^F3y ~@5⻏A"~uA'K +?=ʙ_]G6?-SKeAryO!6K!AwuIi~?KҞA!׎fv ASI?oAȆi!A{_&PI/a; I-#; #;im iοKoI+^_ Mڿ B KnVK_ mo%z_~o>JtW#H DvpPb":Wֿt7Ia!18_AzMzM[|{Ai7K` P+K," SSմt ioK :*Inb a5 WH'I?Iza( OK( %5KҟXA:P%J4A'J IF vLA75@z%d40a.qn_^Atc y pnH,D @- k %`AkaGo!/&K 0&^QB) AK#CXDtIx H %BU$e7Y:hE$aPЊB"ArLv!@DhBЈ."CAЈD幄AQTv*dA]Z-Dax3Gq J5la0M8pe6']CMi(CavÆV*E6 a"mL6B(5 L&/e0tպu\*y[-)R`p:Ruw +.As ՗Abg=kmJ \]$hh.a?n ++ZS։ AB%&|]$hh.az c2Um(}Tˤ6#0oK; :s.oOW-uMiB}t@"/}t@^!nC*ޗ8߽KmtJzT7?FoKNߥ\i}EvQ)t?K)_PK6WҍMwU-$􍤿I_2:*'$='׿H/fa)^!#zIIIް1փtz>s/PD d5_^(_[^$јkA1*gZ\?]RVSʙ#4:Fs]qKiZ.+)L|uנҞmǭziŒ8gP&uizסY#Og#fE}z]Q9t0ω:]s]$^.Tqs$G93 5Z{*D_oߜ@ _DQH^?Iub@!"iGB"=:M>X}O]&Քwk]/&Ko[p(ծl<χZ_/!__Z_^Z_ZC~/!_3 umĎq /3 ?bBZ/H a_EF}~=BG[G4?"?sS&Pz_疟D G0^V"?Rްt/jl| AˤK.A~A&' IkRAygGKo =H$eqT^GYYeP A~/L* >tu?@_{A$Bt}h/_Kʼ_A%A$Btt z$ V?_N;/@PI[zN?^:_A!UQWK$/{AB^(+|B +~zZ/~0Z뭵%F_֩/5_ +/.(}r_ +/:<i74_ +?=A%O)XA}lA%O)&O4K=_o A.OKb>t_%o%Gv R3/үk7N R3/4z$@vb WA/>{K˯- A/-_ޗ_~[xA(aoKk0'OK_ % 0MIt?-IwI5D`]_Z &ooKåXEۥԠ!4m&"Q ?A0](J/A ޗ T 43M"x@B ҆g*Qa_f^tJ_^ +Q'JF u=]RI.!tb[a" $D!0lk`M( qnZNM:B R A(@H Li/h1 # A2! "v&K҂ ^j0A5bAPi/khv ,C8  _ ! PB#B5aH*@DhRD DDDDF""""""((:dT̑WJGe*;Rv%n:A +0} + k*30!p"ϵGe:FOD _2*4l2~Ad6 ]&,8vI]CM5"u6qm6.($8aU +/o&$uHPU aҨL4Ee a\e;"?"חd`?LM (C :Ytfפf GVg1v֛AeM$ +)_آ9 i;l o_a5P;$RlR& =$Q&ʨR蓴IiW6:n=>}Wn^j CINX]AA*6~9>"bᆂ}GJߔ-$%GE |Ai'&rkU_R}$$$uS?om= RttϬhu&/PD_gQ&z_)_\5ӜZqyĕ_9 J4p4kDo0 gI:N}Qk\5.^Y)eTl4&t>?_y i>#?PŒӑ2AK89I;#?a"?u#X5l1{|>緤죜sQZ=tJLZMנduv>7 ,\0ſQ%oJ:S &KQ5W!_߮yƯIxeVj(I-#9f"q^Ga5op&7#_a&UL)4λZd/r0"?aTҴQT@*$wP' +?mWmqz["ŕ_SX '#GUc^fhȝԽ/o/E50 5XU:FtAaf"K__8Aiz ^G(aS~H}gJ5_h chKң0VVfK{K*#EpJ3eNuFk{i7z]$,Fz}tZQYGW' Y9'IlM9VP6s^LLKQ 8+PA7fa(M z0qMM4d"!\ a P&I/IBL8 M AA AAT 4!@I,$A9+^`>Ⴏa D  A3 A6?IxA3Y:X(JjA?H&0$|ު$ЈР""""""""""" +&Y‘>d #.DYE&ř3>JL 3<#R"em +myRȌEMC;ȯgk;0g^ &uE" 䡰d5$L6ÆlP2(pU(3l2~0E46m96& *Ϩ8m â 6eBp 2euEt@aA0N[PNEuꎠ[w\:A0}In$ʰ3JX`r-IOZ$\$ɶԠ0F7:8st*m20Eo.vKV*(}Tˤ0֝OA%ᇤ + SP_^ʚT$~WUGNO5&/Nu(_U^IKB_?FoK?~R_n=Vq Sh2!21B:.:!mƿ&yNuM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^\utGEkS_:\NMs{I8A6փ O^|ΩkYFʵz #@$I?k5IlT5Imx AzG/t $:3 h?pkhZLX0 t_AWj~8Z4_.+)L)eTl4BPtT[eWi'V?Iմq恎-(~'^mǭziŒ8}dgi_~k< ĝ:c5b?kO/f"uG1Dzs?Y_+[KʀjBWj0#|#=Rҍ[*e ?(aouή ߤz7 0I4"q^./N6j9_MHKK퓫\i:_[p,L+-r}W _:kYoZ͌Z_ n޿L n/RpU6 zHU9~'t)a#\ +J!xV_,Y^Kg(-{ר^oK\H(Om׾&+XX"rZK 襂(uIFrr{],`[MD`[Xbg99N:ŭ.#. yFR//4m0wL0kaZx3[׶b/OyU2e+3_>e)-$(}gLׯ#k0"U|Mb%9$!g4P*#t/_!.)TBa־Y  4EpIz4"?>ʝ=#atX_w:@^:KeRizuK] ǠD* m.z#`J~/'4_SK.b[zu}/a49 <:ᴒk-_ }/̓Xޑ a@z^ ߚ Kk:Q 2+Hϼ/#?|$f#ZPUAwOZ4nAbZ*5?l/+ApկzU1^5 [\K&y#n. A&' Ik_Ab}/ OzZOJ+KKA)ZiDkʡgCA E+:ϯYKޖz[^% KHD)rl|_{A$Bt~.yռ}- TGAz[+S- TGAzXXנu9?XAZAީ/uA'Kǎ(9<}-Iwm㙦z] a4(./K!AwuIz[~~?ZJz A]UP_l? 7B۴bݤwhߠI; 1H/KaW]_ %֖0]R % NuH/K I&It KnV+΀[~:)/>Ja#a8 `& Cz$-& B a:%-"#?! AlMH0tVaE#bn0AЧ"$0A9$-F :J SIoKtAF&q'jI9:5\T1A`@[Ko΂ig'Fki\A:PJ7(| eV& A[NR Ack& C`ppl1jA9VׄЄ`| @Ab 4 K l AA AD$L& 4A6?,/pA5*i"8";CX5^A A|ުFD +)T]%PhD + F(DDDDDPQj-ң!2)GihJёJ;R2גv"`DUC;ȷgclP• +S(\r U ad (aÄM2[iâid2:l6Ula8e^E4'eET* Tvjl"!Eě @M_4 : TvjdiT*AHnB%tpͲIg Jڒ Ze sIB ^g0v\fh(q4M֔e(02a{kS##k˂LP(C :1oa26p3KK @ 83(.nAD{*kϯ)y]E=$~e kK {?I eqVtmoL&{h&q/dggʴ'Otal?FKN'k$;L)tD|d8 wI7_AzS?}xAA@!y%062qJ_ 4wqJҍMwͫI7}--Ro{I8A6kΫ\%=za +q I?I/_E~T&ҿAοAο4}Bm-/PDF9gAκZZ])__r?%k'YBɅ]49 JI:_8)Dcz'^y(a?IB,yŒAQ졺y6EϮ/?PŐ`ӧpi֞_ͬs뾲3,.Tqs2KuX/|Pyer9sYsrP~s](տ&1KO_@/}>7dk뎘b?d@mu(39s\tz71Em-G|ZD)= ~j9_뿿\uݕY_~:8.tR%bMk62zG^Dn޿H㮓*G޿]} +J_o6/K@/J-RP8Q~=?-/?.V#_^҄3Fbe"`[ _]Vi[g/υthgHrr1{tuY5^֫ޱkK㥜IM0oob-/j^z.ߦ8_ _k]>b?|Mbh [_Na !g*֥_^h-}4V_"aߚ*?玴}a#6Tq>D_!?_a= m*ίk8NhrՔ/'4_D-IL)Sim=?Zl[i7ry'_p _ %/s$ ւ@$+\"/ #/Xe|B +/5,$mo/AAXՔGKk ttSV/Fj@_Dt-}InaA 9 @2\6/_Ht5\} =R[ &QPasal)2t_8@ޗAPg PBl +CBn6A}=_m&AiSKaxo%GJzi!ASK`m[ Ml >u0ҵޗ?B1XN~$?֖0 ,R}va0k1_WlaɽRܬ BLtz[:J~°Ф[u:~o>J%-"#$b&&DBpTcH_W `~"5$0c _AFR.`OԠ!0D  SSմ1AH& I?IiAׄ9:5^2}"_8yB ("x_DŽ Ga.rA KvL l/A74bAkAt3ɃeyŸA~|`4t@e jm AkσP_Xca ; y8"I٘m~H) A)eV$`( {G,N !bbY:PB A0RX(JjB"ArvDDDDDDDPB""41mQD:g-f Pan5٫!w +-Ö [{ 3OeOoO[(Q +IޗD?0g #i/='נDN2~Pp?qd4D9n]sHNsטe)8 ߜ P_0-HP_q1-_뎖_ SfAuK"ҭ/AgWDp/~u\~U" #>8 MO=BG;UlK_aRAyg#kWӣZ)מg%nE0@QT*#CLN~=SZ^+ryO-1] R3/KomGi7mK$M?$I/,0c-i ҆g*Q0t u=P!I 5 % + A B#B."#Qh0-Մ; +v%j2*YJL#<@f:(}Cel 9:p";ȶUQ `҇lPM8pa LL ImqFm &U + +eE e(M„0lZu +)h֛*6VYP$ $flOy&y=AH2a~*9-ODԯ ti3mO1gmZZ6V8d0P\ sa~3I@P\ a }FBt4\ BoD_S]Da: + 6Zm%ͭ(4#g&]$jPOR#a _oNS8؋O:{8ԁHy6p)|BtЇ9 ->;D{Z|WZgUD1M@?sv }ѧFz?${N~8~'=<Gkei&/!? D]CKg"֛ۤ.q=lNU?$7y^N_=E4q &pM{h?_3~5ImˆQޖy%s%i{^Miih1J_ `q?y|N@Ax_"^؜g驚nm נYx6u +@ >O8Fz_hzW*ZZNA5 ]c7T8P"/t/T+Sai/d ɅX5l!Ak_c@50 k>Ӑ$҅x>-P"?F@SPgWe} +^G+VIyN/i7uX.dpez0 kOn+_(3+ ~Dl6_ +Ë#Z|+-b>#|r@E?}!@a49 =}v~?=I)zu_^?۪EВloߚ z[}z Om_8l_A+O]tKOv!z_KH^?Z _/oqoIozWNNGOzh//KA)Z|_? a_D{BO4Km[_K!??D]cʲ]x@mQ_ւ[b/4- TGAy_Aos\RKm9Σ~rAvZ SZZ]z_?K_uN=~?A=/ Mk륥,$moXj@) /5 " Fq,% ă^ȪKzׯP5$_㑟_% J!y uA'.z_]l7xG:,KK$XA + ?m-ʿ޿/?! !imMK_zSqAuZ[pM*@X KnV-O&/_i/I1A(Al1ޒ c~}ADqzǢBE^DjI-êXE۞C$hJ=~AN#=[O ?a?^1A&a.r$6R__08/L YѬ56ta#@P85Aa:It .W`+K0iR9ZbK8 )2 AΡ<$á93h1&)-X :J`o=@m%Xh4 ?KŠ,/AA /pX/tUbFD $fARRHZ8TLj5*4t8)Q)uI +B#4&ISB8!*5(!ЈDFDDDDF""?twF"wFևI3\0꾶MCea2AqegPP\ 27-"Z}7t(mB2U7tPFGQ) {a|!l*΂M_鐠h6nn8nRM_zO8$x[ѨǺ}/d\/^5$#RZwy]>:G0gY}-[&&/e.ME Ո I$R#i/eTK'I6E:ҽ/{"Cͯo8C/?6#I/rBS#kI?m-/PDF9gAο( h?_(Dm#@IH}"VA_#k\9(0 g7.+ Lzm_AƓZ!t4`bE_^mjjNyZ"לYmƜY iI-2t*hT_ + BP'_ok55j_3pi,.Tqs2K>:|)Nҟ7]!Ms].asq*PT8*9 O_@/|(a^QW}'9B,7ߜIX5'0 k?d@m3c1Em-G|ZD)=)mBti >qU8o%L1])S(3/ePr}(eVj._:{)?t~Kn~~T2N_KIkzK\_h+]&U[ )~*JpD]\_qZVajxm13Du4DtZOǂ#ZOtS.V#y$4t{(?Q)Ec? aKRT'.>z_(ug&UŽb֗K9ΓtuY]~58g?Za|2#""~fzI%C\bz_v\S΁m5f#9/XJF` $zh%"=izMKok]iK8%gPk=/JZyBI_20_Ŕ1^?~umaE~}Ďg؅JEU $ ]o_너./"?]G DYvPg'x@ +ZeV#3f2%6AkOD}\_/z[֖k~%֔i76>Ij4 Ik:LXI]{U^/K >oߋA E?=RWKuCײAAB?TZA0WKne}<KIJ"Aֵ+ѭV}WA]e:t]x@AKto?^߮Xk$s? OLZ_ NG_z|B +/~z`D0W6 ++-2<ԁ Ukejw84[(\KE$/JB.B[z_? ΂zWr$"?C_Z &T΀K<Ϭ?$ +?=?PimR/@KM N3Ml;o AOW"Iil?G-?.r>_oKe_ЌVߠI; R3/KoKm/ D{kV+J<- ]7_o%z_~o>J[a# _ㄯ7/o Bb+q$Ml4/& Uu~һIq vk|D?Ri7 8Al5IxyX͆a{ZI$jK G^L"x_DŽ Ga.rA ҆i*Q,08[,>h,as )L˜N3L"MyFDeiyUdB"&2.  0l 6pa lPI`dNaٴe(l6l*,v&8au5p7uLl0B*DkBn:AIf *mpWqwUL4O& 6,a6~]$hQiBA)7£S։ +/PoaPQʶ0a"۟C謸&O s.:@ou6#0n|huIys +hpնPu c2: + 6ZmvoY\U[ͭzu__k]$̭U=6(DaphNj1qű~NF{8؋_4Aޗe Bt:쎍9{ߥӜ}_Y +ZL?K޲_i~PK!u5/J55QEs?FA#i(u0 ab~_ /u񇿜H/^NxJzT4ǤW5DuOнBIˆQf`SӯszY(}B i$$.+5.+S4)p4__},/RdIS,u_/zfk,<:_C`2gBלYx6u +@0'[~hpbsN/g;:!].:eg5tK#VtI+=ѫsC7~JG9uΚŒӐy^"/t/T2aDE}j["^HB 5Ce +U9ۊϥ&ŪGP驀k],6s@50 kSI/H0J%[:eqf:g%8lᩲh:u#a^F.*%i{G +Knh8;'W5k ZL=$j>T2=_d( KzS'@먊D~zpVajߠ#GZ/AG$#5دD[uy$PD_n{(?Q]kiuײ<־DiBt]i_8wZ?g9BI J/:YtPXbgւ ~aה_,FkFNv}}s#zSTOϥ#zYl_]/| I|ד_WC9_aoF*kk%א@|2M~ KbJKG[u!A.!WY 2D|4KH"=h/~^ x_|+/k^ r@_ +Ë#Z_XХPiu?Z_uEd?X۞p/=}v~?!:I?8?pVu _A\%}/?mCָJ3_u I|l)ʮt>@ +Zt֢ORׯ?_2|0H$9߯Ώ@$]z[RK K3K/0ge$Al2Iu/_-,i2}~WHdK+zzүۭMQXDz^.Z J"URU_頂V!Zz$s\RKu6:̓XA ZHW-)iVct[(?CY. Umz_(><ԁ/R_Jǚ?BgGA jsKj?*^B,"|]=_k(_A"~\~B*x0~ICKA}/eKA?mzHAZ~A("=\i6z_M~?5ձAȆ~_bӯ_\7Ny0/ziuh  R3]󩅥K)mZZtߥAm/8;מ_cK5Ko&'OzV @&9"=a+ $萿- N__"0cI6hO} tHI}%S%MOV!4w('pz=+F H6eL=+åak hSTSa%a@^ ƨHA s~&IyB .g.l4$ AC =&odPd0jl5=?FoKs {k#[I~~~}ѧFz쎍:3)t*?ir+57IG[h$ސ1 !b򅤒^?g^F:FA7C0釷C=$$/sk_cI d5J/c/Hޖy%sz'F`c!񮎐,5_},/RdIS,N@A?yhg?H!uIYO*g}b:E~DZq_g >҇0<)>}yő^Zqd?]:j=*bO:kV+=Mѫ[_AK89#Ӝ5%te_m3PC xAi#EɄ:FjߎEנ 5sqWi:EᇪV.T5(=(_g#O]&/jI4~i{G +Knh8;f /%zΗ'KKn~ÏKz#_W^ҟ98*]DT}#ֽ&Vat'JI}#a-_9zGIPg }Z^ޗ(Pkn*W}#5B0KJ۫J/ 3P*N+^VzM.fײ "4?5z +>yP'_AuzZKg9YCa%t"֗_z__ JY>~}/t<)9/f"oz. yVa //3MI+/*^&_RIkzT!$ +_ב5"=h/~+рk]Gϫ"?#cL=.q֖EXХPiu?Z\r@ +ËXƽ/_~LIeZ{>[ $g%RkifICBO<_ /\U/}|?}{_ZUkh V^>1ͯJ"*mQM+ZLF_Koҽ- KKA0?9k$b_K_u=Vg9@PI[l[x'Z + ?B UQ~?AP A!UQTq%Ah Aiwm/ V=<ԁgG<ԁ(=V ++KHXHHk(_ky0~j?*֡-"ᰏ`I7h+iuh <[)=/ (ryO %&T΀/o- Oo ulPA2!حK>tʏ߄J$H3<=ehP]+K$1Hu~TzC7N R3/MlJ1 KoM iyޖ/ )m}c֖Na o##_i"#)gi SIoKåmK`g.l4D$ AC =&o =a\K΂ia\cN39Rݔ Jz 2AW#Ndk~Eo. :p[6sʙ\(߶l2祕3kVW&ayeMyR} +͂~EXs`YPiΑdQ +L&Oa _a=Ӓ4?O~)7ׯ_DNDt\tt$ __Y +\CLۭGt?aWBu> CgJa\~DICo_zO􍤒MvKKA6{I:M88O0/aNeKeE4657_SޖzH(O`_Xi{h/?cq_8DxRбg9n?$俄GߨM0tHk|X=Ul /7便[l~P^:_G/^_O_$UY  2^~:Z (Kn.KzbDd aK' AK(?ƿylg?Koy um_N_,K8(=,}/"`+L?"?{DΡ?ο_㲧'Y?GB zF}˺렴ihe>SK]zZLzY "([xAl?^yi^JoK/egKzzV~|:Tk?ޗAΓ뷄e^mR@zV_Ua*_[oe_A_ t}EZ[xAm**ץm[T]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)bb AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiߧCY.=VrMEzc#K}hz/Lk_/A֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """kETvR0YKua),g5#U2'6eB}>Fgc2FEr DtȞt MΙ" g aÆ3E& l2l ϻa᳈ ]epe}`nI[m‡DOWLMwT +/n:ͲIg +lZ9Z|-(O +P0wFօG%)@7SIBE1DgZUM2P:wWs=u>P\0겄hm~\aeMqiv&(mI8]lpM5yBW!BKOā*ZT*gۭsKM2y;DiW6c"s}a:Q-v~8~'[רnmCgJaޖHE /Iޗ[HE%--Ai'Io~x@"FO${Ϫd?{7 +"R,aNi7M\ l4EƿK}"nIƾoI4֗beM!2Νp/1~,qK7(Ƞm_YG_/OtB05_ φ}@t@΍RH5qtB03^鐬陆tjG΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuXo(98 ]KQ9(C!!AD01쌏죜sRWsq1}OL1])S{*ӲGu 6/+8oSֺLNOKx<^⟏[~z[5k/qKICA?K_f_{]$E"?Jr=jst}t{@9zG_WwI[j)c-'3ӓN {#_:H-'% ?EPO_IR~qlRZ^<'i}h4S{*gTK}*a IiZ^J7y^0~b-TuY^D PbK^/K +Z?GUu$@^9"<)hX}M0b-/I`H%9}.^]n|XE4| -KҦr]]n|XPs_1/K׿ (c-/ $K"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:ttz#`Hy  Ii/5rՔ/렐@׮q_/CCpi'i HBIimZqyQi HBIimV/8 +?z7iZ" ?1k9Bκ"  Z!$S,WTO޹t &.==.҂/Ϫ#ڷ5?Ab-&Wut]7 Z:9=-[_egj NNGOKޖmR"WAc a/kzZMA/ʿV/KHD4L.#:/ʠ+m_.#:/ KoWۯbAZA + XbKm&ҽ A ߲mZ--.="Bp GoSץ>4NAzSjl;M~ K?MZZd{!KKL-u/_?I}iiȚ#ղ/_Dt-}]%; "ᰏcTԡ-"ᰏ$*1+vP"ᰏe Hl#s⿄uA'*K㜎tZLA9LUZ~9EʙAl)2tVBl +CBǝGHx}uc:ӭ N&CeiKe'렛BҖֺ --a&Yo׬tI+^#ZXA"Z[r i__7L>wKI~ B a`'$Jkt7W^KI#RIlx%:W%AJPһA PAl<\pk%>֒ $ \pkIZOI0c4+`H;&DF>_F Ȇ,>*<ϗ- +dF4A/h; +u 6 \ zXtM_ /??G&>[cMa_F5Co?_=!~6?ֈ F_zxto6Az7IkXH_q<~ 6$h I'$h In )@i/Itfת(MBJl2oR߄$c!H )1/n VQE$痤_A:E$VE$7Yf/ N4f+ӔsN-(~ufhG>WZr}i׵kӔsN/ 5 1HNsm,Il0"=9PAaDzsidpG  R#Ӝ!B`FGQ9(X( P^L5"jhP@jhP@@K=PC {*ӲG"]%ꗄ /B%[~C'K~"?ix.Kni%0tGFR~T[pca4 KPim#G)P%z2(ejӿKK3@ &0P%]%x[ ?ejMmTa" (2 ?QD_A (۫vQJ_lVzf> 0IO^sQ╠^Q9B`M╠^ KR+[[I~6]|%>BApKKM&l }&I., zM_r]U5)/ JIMU"=izuUFt/bJGiiNH6!$m$ߵ$:WKm+m:^8I=+m:vI=+m:ߎ\^VJ .K_9(l4AXa҆K _Piut$/H&3In_&M J &F}yNE:!A$Hϼ DA$?$i] #>a ^."$H$$a^a~ 0z@P# 3" NjtA l/p@|Oo 3J0geHdK+pj}{_T}W $g%RKD IeqT3 + Km +֬GgGGV!ZԧI  +ֵu X`k_--A&)+t3 1I[4mH$%n+uH$%n#T%xTad U_I^B UQഴ _Or: L1"/9U[H%Z~pG$O5UA5 ?Tz_ M%?ZXAseL W'h#A6AryM.5A0Σ<1AȆd O`A!7Li&ޭf"IE&ҡAƒwAA@?  R3 #;I| #; 6/`/pAm/ҿAA l_H Dv~ @&IHĩ(@A#A$M_I6oi{M0 it m&!m&^mF_B MkIo H6a~A:P^:xH浔A'J0sZFaP N7ǜA$ؓ_a} ~I8A7= po $ pn a0c0aC^B a0zL!xp@   L_GC0@ALPk㰈 A v0@Af2B\` *hz*@hRT$ I A%lHAu +"?TDH#%drTJV-"I3pιUDmA~6d6pQӜhen(8pο4wdl$6v,g\ieZ g6eB6;a6~aNt(LZmޓgt24)PWy[3@?3<oa"@jdL"#EauP*& f5 c2H#Dޟ+SΩVqe~f"6B|8"0#A&aaJ&~3+|~>!y\U[qNt!i3+|pM4qd0ϥY1> 6Ѩ~8 h|{%~FᰐaI$4ԍ&i0/QNGFTy$kYC$,$L?KphQ>)􍤿򅤒Mޟ➞fVzI ~KKA6o_q?OIz!@mdS#> гaB.=' &!%6H I"uzY1!@ eZʳreaz](BJl2iuPuSP/dIS9 J<- !{D}&H?zjӋzס >WBPJIZq<I[(71HNs"@ՠs_FoV{{/IbeCuS*Z$(aϽ=נ# In Ip/6( P_W1>Jd󐴉tϡǤZ=T#ޗL<}NHImU5kK ?A/l/xa +^jJKn$\ zZ]*]VR*GVN/ &\~CK8j@]2 ?QD_kLIJ-R˃R4ʙVB AQ5WzAZhQ╠^3^ fײeÔ&ߥK KNtMAu(OYCa%t#6ߥy/Au!]/ JUf#tookUB#ֺ +M[gK":kZZS&3MI+G^=/Ji/Z&{~,Isw DvI$fWIXn,p|zV uIB#cqbZt\"<TWI~>GJ .Ҳ-L{fA>.ثHl| AVz^ԑ_ A>.ڤG~JF{"Y\U/&C[x_A/a.M|^{B[I$HdK+ڶ%]:?? +ֿ]iV1ͯJ" FA0BbA }}6A&)+u@PK_[aA%A 5^ UGImHU~?A]p~?_hD Uiڧr9Uo(=/5 !n %MA*qPM$O4I-5Z}gGҴ$O4T#A0-[x0~ICKKKIW'!6}/AȆi m/~A("<Qf~Ai%GHPA2!_+gz_Q 'a=R!NuH #;~:_ _ /-Jo/gY_RAH Dvoimc տT0A oXA_I6n ,-8_Kߏo Iz]H6a$J CҵIR x A$I`G5jA:PsĤXȉx(ai0'.%0 (oI.! + `I ,fW[r~ RGA\;xA '&m  6 Jj@Ko0?TAAL& -V$`((^; H ʭ$-Bj WGXPXJ)g AUx"# D !ڪhG+HDi!#B A)DDDE""4""""Qd*E%:2Em-Մ; dB"ȉGTA#8g\6̃لqjP)l0:k; dppl2Y6FmL;LNL^E4l2CmLFݦٴalLHh/ԁ0 AøDO-:MӨP2=izMPup>쬢%lΜ6}Am&Huj60{ >S"I/ tU UTh(P}MzAC|e;5XF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F >QVݎ2GW1~Z YPigR~3$|l*΂M߶RV OO9a~FtqũC?qO&$mxN1}v;Mwѯ:i0/Q#N?tkIy'ҪJ}WD?zxto6I7:L_CzDF FZ!M$?!_q?OIz!6Ha#@\zOBd4GD7 )kнBI$Qpo5[*=P d50W(leZ(MժyW*B!uI[G~|Ey:dʹS"\Ey}נWZr}i=kЋg/8_UЧ-5KsN.R% +}BJP 7t R#Ӝ_Ƞ5h"uG1ѫ[^6 +?b/egusښ$(aϴ_E撥‚ 5W:רd󐴉tϡZ=T#ޖ@HIm=TZR5kH鱰T[pIgKI䎛?@ZۄGZ +X &0P%j +L5:T4~h=-,@Í___ԃ0D[uy2 + !_ZP5 +0_} _ZJDuabm 8*LW5{(PF&,aZh,WײG8Kf>7[8}&I.5 TkKՔ&_K9I.iiAu_t$.}?uh&m*eVZOy"mͮ 먆iVr:_ km$#P4Vl=}+ZZS#4؄kQPY/oJa0HPD|,t?X>B~ޗI_Vi|t+%yaXqk0҆KƿҿoKl5i(ng ۞=:ǯLOn_~ 0D  &F}}9)I]l< a_Em_ D6 #> oK_Ώ$a_'MG l/+A/_C  |=}H_Ⳣ_ )<$`ei[x Mh* _> "A h.bM6TF{"q\U/&C[x_A/a.MUI#=8*A_VvA+ kA%I6c-/Ώ +֨?/6 ikg}bB…B(^F2"8A,(#BV D !ڪhG)HDDz$@aB7ЈG-t:_V7IMant :LEZ   PH>(:rhUemb85!?|az)Ed*ED-"**RXC D"(QN3UQPexdDJ8gy8*8g_pp46v,dVd"23Fim0wRl2(D#:FbӤΈӆDt gN>U27<(D#:FͲݗAYI$AODȘ42OCԘh(tK\Zu);h.F2ȃl#q_QA&Z.uL@ACF?AJ&RG:JL_a++kwT RG:JL\&M~qm_ /|{oսM aI$5o?UGޝOUt#8I~nmzH/A#i/le6Ѣ8. 􍤺ZZ O?$Iz{6K.='_ǽ">$c!c[jf G d5BԳD.qEj('uh"TAkӔsN/AD/83YЧ%~^ZqK, #Y3@9g$ ]NY.-idpG  R#Ӝԝu|^ʡ8],ʳB 5=P"_gUj(azHImN9zL\x>-P"?k^=$K_\[4B/*!._Kn$ K*]VRʯ0W~|~]%x[u mz B<֙BʫZu(5}jp|[y> mz B +DtZ_╠^3^+OײG8Kxi~4 KR+I/Nt/3^a@>"?K9ή@K- akl  "֓iV*Իg?#6℁Z^i6oIa$#J=ֿeşOd.#4؄K5[l1iNG!?o_T>8AszV u_IW J .Ҳ-z k+Ih0@Hx =':+X%W] D ץ] #>>莶eqa_֡] #>w:?$a_'MG gEi%^$ak]%^5VA lb":Ko_A |6]Kԧ$ȖWK GA_J}IeqTV/A+ kA%#Q5iiuV!ZױLR _Anx$b_[I-Yus\G?.$b]PùD҈A +?gKo<._+ _.?ǚ?v?-gX$q/~ Mi/ i/I]/}]O֖A"~z+a[p3Iw O)Bl zT( M?m$_ƺ]uPdCI;jA AFwimr_KxK@]6/gүA&_cI&ީ{zI` _=&# mm-:I I-&# oXAL5H]$IKA8NGMM=-& .M,"~zBIl=1xb3մb Ί^ZLia߆ސA& $t$@#ZNH4AAuqivLIZh}*} B᷶a49IiH0鋯[糠q'hy>i0-)JWMn 'ٕ/՞AHKm&վoa#@\zOKlJy$tC״%BJl2KmjZbmKK_"dIS/Ih_Nqנƌץ~r}iťnt) H$J8*, :~P>&/J-+e1lԽuwssq +0ת*qﺈ>c}CI.KA@mA?T[pI/I{*VR7\"h@U ȴz~n=uPNhQD^F*`^p#VSC+M0eؤR+7)a0C_:WNrv#_M_ | PY"}v鿜>i6oxA_ 0ɅafWϧ(l?_Ҽ|Z[i[l1/$Fa]%i8 //E* "3Ք[ "I % }/H{O Z!A$HϽ/)Po*JaǧH$ꗲ%[utSS t=~'K _I#=,*CFokV?--J+Z?7Ԗ" p_Ao Kl IJ `&5A~ U "޿#$/e mk"HZ_?\6 M$- + +r9i2t+u}$GHxb $륚Y+&(:[( Hb-A8o +_  X @Vg?٨Z\BoISXAI6`kS_T!m&^mG:+ZX$\4oI/^L߂N68?ʖVt BF$ c{ x plI1U0&4jm +uBѠXdGn#-T}|>$n!P?%~KͲŰD{$"/f""? ,R2H"a4-΁B! I$46B#K>8`G&c 'ԵqD3UZZ a{Miu)6fapDzF'}wp@|GX) ~~#wLG}YfAG!Fi/C1DtDC0ላb#Rt21ek)%L 28"$5a N,^\N*:&A"71-ٴ=龜S yy^o}lC/B/yޚGEK48'̐N'AM~K۟Vh OcC(puoBn_6\˽o]vo@/J L*Zh@ij#I l\_jbAFGgo} B +endstream +endobj +18 0 obj <>stream +x+*T04U0B C=SSB!9WA?37T%_!+) H!$Ѕr\CN +endstream +endobj +19 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +20 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 92426/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:i J-6~ (ԘMHZE"2][_ղ'm$*:NW\zW&/`U}/;?~f5$p6BzKI&ڥkcѱKӬBn!7_Vf BhҴqi7KR̮mqKK򀡴b*C0 -Uv$I +^W/i(Ԡ/-az:{BT'ZzzD辰%^a$֟u +Tta!Kfn%io%KJi- ÿIi==R_kvC^I ð^nɟaAa%@܁AY Aaan""""""")Iz@~#X-A@TBm4K6B'́XXq-Մ; ;D$HΜ8g\ ; D!{<;/ÆuQ8,v 띔" $?Qpl8im0aݒ4laÃa4laÆ0-$m"}] 6"}]Ża."BͲ3 ZPoa 60{ 860{ 8e't#Ne?hA& +ŭ3$|{RG:JLİM?sa_J> 6)H0 aI$?_ ֓ҟT4ѭ0&F5o?phHk_~Z F_DGpA#i/8C~oj_*F$h IS6$h I_؛MqpIMCIzMǪ(MBJl2aJ~:">$Z]u_8_"dʹS/I8N~:JyW*sVE\#7Yf/:hY6P3^9?IT(֜_⮵Ӌ xzr}__!)zM)[(71HNsk[(71HNsidpG  }uߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%UO-":K`?@Xa -Du䎛 ?A[/T n^ 5KK4@c4'@,.3Nsg(GEi(P nB h0dXYYS(G ejamf9pjA B-x mz BW_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_I{qnr1m%AueIk6]zM6MAu41^f&/S9}.m*;CA7iV9/m6o,Z^i7^:i?_$xkZZS3MI+m$TXAq~ozr +^>z-ZM[l1ɀU$0|zV uI0U +oU Ii IW|tvPwAXa҆KBW6_"I % }/t A7O؎M2$M>?H&(CIz^D"!A$HϽBH" #>렒aWTzH OKI/eeLD]t$a`jZAL> +^$a#z:9=-H ˠ/, 0f0pfA4 \^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6SYȵ=s?e #^\ M7t_F V[8UW02@eMtI6 +3h߶6]L9Qh߶6տ~H5L&A<~+S<֜5S<7O {4?Mx_DNӒu\tt!&/:fqHtt~n  }@!y%0|J_K!3+ֈ-i7=&oK/Kz_փmvd? 6y$Hޒi~m +1}'&?6P/便_W]~1kD5CT4`u_Qq PeqO.qoltjGKL +"B4A>qYHѪINM! + 8RK/:6UgHBI5D?5jE=^AtUKHC>a樝j[~G! EpG89hE,3~#._|_}R(8U7ֈDڥ$1S=h>Ti9ᆺ_a5z~=-U֗:KȜKeVj?K~leNzT^^ǭNi?RUzjǮ/ ]} +JU$P Ai?C9_i tOq/n= 5# ҭM쩞t%IEU3 ~!ީ*O/怪G_Dn m$"<)hXGzD RD Pq_8DxRбD{GzD RD Pq@䴴׭z]7a 7[>,RM'h[}]/WuC~OM0$_Q W_]/t/?^G(aKߏe b @ߏ ?Ŕ1+]aK~Y  2!*/~J@\uF[ߏ+_cхt/I~v荂 0oAǜ/e?%ץC @Ք,hk}!θmK8( $A>Z[{:)zGk$PH + KKߚ uJh" ;*ru$ _O_3W wWTAh<}-&W%6Aiq~jޖ+]c n { Z\id~hdfSWIu]7$ ӥFޖkIJgK 6ZOJ+oe_AB?TZ_ tW֨ o j%i_$+YN AA}-]vEA]e:t_ + +  S1´ AQteBc OLZ^tA'e%RIteBk97 O4ւ@jl" +p}zXCMB]vx]\+^_?:5,$mo/^LlHQs-sa򪴴["5?(\k\id?[^?iDt-}]t1+㰺H<ULPpGK^aux(.PIKKV _>BA8&T΀ @?KMRhP]==# }+eTq6gIHxu#Q --IKTz[(BOZG+ $IN~#]7~VG/kok /!+ `x+o%~+% B a~~Uuot77]&KA!" Ԓ[a֓~I:W%A_Co7${A~L߃XA01RO#R]$1rA7L*H,G"H Lp, Ť d@!D1 a lZU^Ă08i"  AO H᠂`A0BB/ ) d`H~L-Hi-5)H&cQAЈDDF""?XDIe+̃Ev,Z)|2+漩Q:;)DviÃLp' 뒔BRKsRu3;}IÆuᝍ/5+ aQ t 2̓(xl2a%mL;nmL6d]Ԙ6 DmL:& {`Th2Al8Pi՝ƾȐQ7l:" UeBe' @"]]IMב%UTk 60a"DME$g;&s5[{ BA7 +M4Llu\0~,?RKRHzO!_='H-q>rkYeZmmM/I%IB}%D jY4IMC^׾qKh_u_T6E/C_D IS%HJ^Y_ڤ5)Ч/<K:v7:5I#եhJҦ!'^PM?5!SD$$g_-4W1IJ9:Z4UΚz\8ŒjH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*bC]'_' sWIs-)9 $C r@"Ј~\>(aɅZ zIP@`ղ]LZz_=h@g ~&ߒSqO8aY>m}ZDKoAʡ_iy'/Aҧ -DuPNۄG_6DpP4ɑJ?/҈Um]}&VNP +-_ IVM(  ᭽WZ[uZ^ޗ(Pnҥ־ƗҭM쩞t/+^SR+~t Ѣ"<)hXG ~U\%]aאE{h/6]|b_~m}]/MgŊI?便[B#0+G便[ֺ^A~iVK^,}<@ߏKW~,/Ŕ1!$"5 KbJ$>ߋ(c\B4^_:5>K ~(_Y^ZG-֕|St(oX?%CmI/X,hR(l4"Q-/KKȠ+^pu}v_KsD'\/ P^Q2RΟʜg]$@}oƂK%@_3P"? &F}E4"?:/6-&W%Al?5^恖Fe9A&_a n?t{+8I a˪ a˯_tAA3 _z_ t|9i7'-R'O-R_Ua3 +*w_B A][kDk)[z_h VJKKΈ${*NޒIOޒ_x IJNO֟_u㥶^XCMDAuIQW=/^]A +?: az["5?(.p;[zk?i}J.v: ;Aࢪd#`Ȓ~ߪh]Hk!l?Av㏐k[z^]'QAiuh =Dy/ /)b_VHbK_1|Go6_]6 }a+ uL(!?Atm-k ]pAl_AleBKo.4:io]p/ c,$iio  dD Մ0IiDBZQ吩Db; ^DJ^V-(8e' ιUDmA>K^3v$Wl0/ӆdJ6v,gTD#R`6im04kL H NFش6Rpك +a"7>Y[3@?3\RAPkoa"@jdL" & +NB%SY1oA#IMse8U#Dޟ OAAF/!F.*}>{Gt2RU70a?oޜ5#?G M 5OSL$mzH>;D K`($-/KeT}#[Iu^h76/BFm%>QEs?FA#i/Kt:_RC.='iO$uߤJ 4IMCLW^_-hAe $V"r-%Ly *q_}zKO,&LBN/Ao RR}i΅>}}Ȱ4HCU)E$G]"=9YVߠҡ)r:_tS/_Ks9txJrBI(|8 P^#AzYWB-=$( P_=Piﺿ%=K0,t}>tT"]%:"FV_SJt":#AT4:&[Z_D^XKue *xoJ4uK]}$/_5Ze:KZ^ޗ(Pknʚ#?J= 4GIw_h,WW?h,WKM.#1_uG QH +Z %M_g[a.I?便[Rk6omdӑt:jGA$HϾ6NR=뺺:? 57YO |=gE/ {KMxK <6]V%K/0geX[TPΓ~A60IeqTZV/A` +ZIwh Vׯ" z qK +u̓XA ]}z_]R_xTmސkˡ UGY5A11#m\R _{iu/@IuT& m-\ DS_Z 8e/K˵QA-KA?eO< `_Zm$_ ulPA2!ح-#xi|1Hm-  R3uү龸U_ / A-R8JWGi6A6ҰGi7ƁXAiiM_ 4 8zMAi7IR.ޓium&I'a=&A4a]^^LM)'J.x 9˛ 0AE 6A:PX- l.>2S.)0 Ae|8cJAA& I8A7ai2)m KK8$c JjĂ0H0` ֐0JO.0 K 8a H ʭ$-BjE!L` (XZ0ZCA␌$kA!HDDFkI@Dt %!BWdtd刲b)n!["D5(d5(g\6̱h6s#L + :(}UGg.rUxpιڿpۆDnf% av`f|0Ue(AUP6 DmL2a0wRl2Dݒ'. +WTLe' 0#}]nˌd uwFkoa"@jdL!NB$iB*p/PoavSXF0-tAշt&ej`2za^7\0p.tWz}F0 Dma6 +1wW1? m4xiWk]$̭TL&OނߚzM 5n,m^~}D?za oK.;DN'^&ۤ>?Iv}}d`+qi0-)J߄oҮ"H #i/TK}*r!GGY􍤿Ii_='+E{CMA<:-q=/I^㾒H" d5__ *"Ď eZ_cI d4KK]/PCD_ 9SK8 Ü3g8|E{+K KT"Ta'^(BΟPbqFzUO]:E~DZqiCyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^a^TK*fO[>ӎw΢0k]/tT"]%ꗄ}$҄Jt":T4:&[l3vU QK#A?P?үo%jsb*>?IGK#/ O朜[W"kKZe8ʪ#?רDF5$_^~֗ (۫ШEZ C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0og%UNUޖ] +)SfA0d }:^Z %M_ | PCm| ZUʬ/'XI_uͯ_]/| I|kH?PƗKWKg@K//3MI+A,6(_5q ^~KA}mT]?_a$ c_Y~,4"?ֽu4)~6]%￿h*?9^# x~h$t_um=oA`f=#>>莶l)Јk=?L #>EBl5Utp玗 >(W4 )% 0zmuukuZ,00uZDtB  tŏmm-~A6KZ0IeqT" vյ_)uk_ .ׯ_ׄ ]~_頂V!Z՞b)|xK +uevx IJ M}z^p'| muЍ,i:e^yt!*Me:EkoUoO9?#% _DGK~M%Am%ֹB]P-KW ?T KO)Am׭?/A5]ՠ +A&m$_}M-( L|1Hm-uia)P_k A0|KTK_n[M i`?";I ##_:$";IQK1m&/AX&_1 Z\HHm$I@ީao z 0c8J*Wh K= 0 ͨ _9?0 (tR\,BdDiaq =t ڄdD'36` "l t9ޒ]CJAW8A74 &# IH^" $DJ+b be)Ǡ0A$ؓ_R r8`Ҭ4!pkH%'h1 # H-@KаXBc   a0cj#@h|4 * XkA Hh1 mi *BB 5$em!Z@RIj +T""4KXBN"CBDDE""ۈh(DH;.34 p9tS4iBI\e;)'gU7t_F aN((fפf ᲰA[Yh5| 5{*kL9P?ۤ??vwM DZ]17RV_JL&<~*w?M2y@?@6.q/hC .蓴I$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RU_ls B?#IޗTa9 𗿥a:7I~m~p gd?WFiyi'O kXH$ҞIۭ?_'I&E'ƿA04zG":Zix/5Sd01^lWZZ)]_áӪK9{lW>+8 BKCUlyQ*y0- =m$hȸgF$p:!SDy#…ijE#=,z hzW(֜ZP&BP_/_ WJqTZ##{(3>M쮲iRMX*ӲG"]%ꗄ__#֗8ץz[5kN\57X]Ъnծ)ۄGZIzL(kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTtd/t@7ǂ#ZOL6[+z\_jZ )"۫ШEZ (A@kGêiVT??׶Z_SUDuL8A)-/}h$`/~0~b-G- : JۏVc%$ץ[:Ksi/& G(}/ !4ub-/I`Im=tK^_/ݭ$~}/ttBKJƼ kyX$z/B @#;:%i?_$xEp tKB ׮:ۣ ۺ>?&+рk_K x괶Ҷc_{=@aShAǜ/e#GI 4"?J .o!θm/8 +;-$Aicj"iKa] !|$A7O9~ 㲧(YB\$At _CT0zA Z!A$HϽ/#Po-}i2OD}Z\idڷ?x^AA|aǧH$ꗲ]Z{_Vv _Ɲ*5K|I*KB$`eD[V@zV_(i-&U HK }@G[c $g&R85V--CO +(\G t_ + + H+m?%ʲN`/A~?--J+Z?1^Ah*#Wh>y}0AiyKm&!]+~?H$%n}iAh AiwXCMG+^_vJ'?^Z-L8X/үAm,_B KnV"\>Z7-IŘ^/OpGi6k/A(Al1o?ʮM~$$ adVK1@ &l/ Ԓ[aҔ?}å~T) 8~T)`ǎ })2 AΡKih<ϗ '&Ĝ # Y"ش_5 dAxk BT:+&?"NHB8 +H'j3 ]^ V$`(4t?#C [P#HFO dj!HGhz*@hDb4""")#,DR*FB\-ґ; yْ$0C0hE+DpaX*ӲG"]%ꗄASb/'^zZOʡ[pI/IAeiZ⟏[ -DuHD}t@?DIU*>DKu*dS p=D0[W"ơ5V<[!3B3Wx"?$PDD[uzHA3ӓAREWQ?#_~t5F'_IR}4+Ab3rZ />EC+M0eؤR+7)a1"Ϋp, +^ ~4H*l K|2WΒbKI/KM/}_5&%jI|kW0!"9}.m*ͯ+K*y𐲆0/3MI+͡l4/bJ|YׅN{D.! +/+m:Ei^>z-~?W]}sREt?ZCa_6}Ii I>  .M{_iBH_ --M#?NR*/3^H AqzI03KT! Z!A$HϽ/#Po}'@Q9DK-?@ /A&T aǧH$ꗲ~rQ}7izf_گA$`φˠ//tB$`eDik^zz_/R*׏]Z$D_= _I#=0*C6Бjn`y=Cxx@AZ%aY]c]A0B=C|z+^z09:~H$%n}% ϯ]{jNxPPG\ ]q UG/ qAe^ʄ߯KgG\KA k---27םD ғ\ =&‚N68?xA0~A:P^O(ADn@.E/ m!$ IN=kK\>ZL(A$ؓ_a,]$ { x plI1@Av &ZH.8A4Aj>ZXcaP^v֐0@ :W}%Kh0S a0cPFkH )f A5#ka0q   [{CU +? AVT, F +"GA@BPFCH"V"CCi) +B=SCV"CB"#AH!DGM#-Q +`u{:mM WMnQ6je(iO$tX!lWջk/HjOZGЉ"W)UpKҋJA [5+:N=C@m}75kq~6jH^p#V_Rnw;?a0[Y Tƒ 0aQJe:}CΊ}? G΋.p?RΣ^-.y=Io ya ~o "޾/e mk/ gBI]-`}tQ I+n?k=cXK.!7) H/:+ZX$\4oI.'KyRBj΃aHԗbKda0Li4Մ g1 hc] p;Aj"!EˆB1j)"}G-BU-@T%"%NV)In4QEcIh3F^,ETDoo,,hԔ霏;ϣ?GH3DiDgz%}Fh;2gިv)⢣FVbdPE߈ lb M!!")lD&dtv7-؃@-2;>H G~h2#;h#,4d +gHKE謼tIRXC X(pib)68:46S D0 {v"B"";bT O[H$m.$v;O;B$f}\>,>#,#H!)#Ԏ:<}R ϣꏣ>GTJTm*nntOƇAB"'gֹ*g `п16>f@Eii6o n`%cqPn +΁D"&;)%h- %f`ZJAދ&aS4Nv; z."oz ͪsjvGdq\#iI䄫*o8EY[>oJPxN #:s'g}GNt}$U MGm}zqx⍬qO+\l,&q87MFxc"8㹴=#jaol]tW67MMt|3aةձzކ;I>؇_'}}qIGDZ>BmY#H2d4}YD $#:.~G F>.=BG]uGpGE #l|zwFG|P0@JD0R81IaB`cň- cln"ЈƝww$jL5|/ mְ _IAij]9đ/Ψ:6yuG< 2B>E6Gj})d8%mMPɳh>gTtl6a0Dv}GT}8i6ň4ll\\F1D- +B#1 п{u X,CEqX`ٜ`ЮnD(+{,bᇈi6 yϿKop x~^G\m N@ DtaP::6#GT":,^yY^y)yGҥY`pD{s]*>#FYŸ{.(r 8hãj]MD"8E9C\s{}YGh +GH< hsժX)GW v/_A $"ukDufإ}^#a%յKm(Qv8IlB^.Wb XB";QlXa\[[[_m[[I,1^+  {cA[]XTb Af)v! CuYS" ;NdG3PGGa&<*%Gw0;+^mAi3P1"ǜG&:<+H $Q`vM+}fÑ]VW.S#4׈! \ax G0`A #KaXԭA0G0ChGetG@g`(M8">#}!Fq!qi DDmBBrűmƄG^wm{mͣ鳈>#I @";=}YŴ]<TϢ4ȄGT}GGc0ϣ}Nydgg#"u_lDF8ax"""" #8P!q[wwb^m}[Qn/qI$bU6c`1An1A1l;$GTHtBnqVo>TAGa-}#lIBym0DFuD"c G>ꎨ% <4GVQ(BjGT}}GT}N}}Q +"""""#"#A%">Yި"#% E@diz<ͳXGTFJ!(D\DDDGqN\\%ȡeig9]2SFِ" 6gd08ƹj)CP辧dGGؖ@G7cu*> ҈rQ- +hꥐMc$Jѐ[DJ62Dapdb ޹YHhDQÆuy,V0sDA: :UB-\2(f{pʢe(l6 6ͦL;`lwdl$6ldl$6z0GN]0di7iB"]]Bl;Dwa"%ޙ'pg0ŭ3Ѩ5PQ& + +@TgM4gM4V.ɘtU7t^az}FDyE7]h]H +"v:L_t +Ik z]1uH U oK | z^m&KIiOVꭇ~>I4kL?Iѯ:&i0,#NvSRտ^to6&տֈ F_pA#i a0@:QQDuCQ^Fn_q?C zA bm7CoR )i/I=PBoSd01m@ +P d4}v;DN8 6qe^I9:ED"߽Z^AAA +hmW + G>҇7kY:.Qϭ8o]k3GE9I?F"痑ZtΘ>&I8([(71HNs쟿Pob_ۮ! +0ת.L+4-M\_ +0%C uC WJqT:tߪ^ >Dpao<<-"]%C'K?8ץ+A=V#ca4:ll0":8">GY?I*EGȀT n^ uA!3P ?@T n>I ?@T n뮫gǂ#ZOUGAREWQ?XPA )"۫X)rԃ0D$[uz_6TM.JXLܧւA ϣ4Q~?~FaVzsP#ih,W%#GUu$@h +6]|%>C[+b0KKM&l mI /K $t"L'I?bп ].6SZ &F}yN?M" #>"?Aa L4D5?As:_L>{(f"*_  0zda-pAA A&_tj A3 A^<_,/A 6]^ 0fahmyxA~HdL+pk4G~KF{"a\U/xKDRI쉅qT圿g":K< ^S׭ +֬.ZZ#A+ j 6J+Zb e gL_A M? IJ(Ij IJiS\m@~V/A70\+'_!*xm[_ĉ*Qs.sKUKGA h[t V붭i{EPP9#; ADc^pM$O4IӜV8 DSD1LSPb""?mzAW' +8)zA\S?GA\S74^i7醶o/ZdI2?KPA2]w[~f%I]A +5 }+@J4W$1HSVq  R3 yMzZ i`+ Aitߥ i{~"G#GGi6k/ |!۲%V[ A Mb, L:o?ʮO}zI6`_#)WMۈ7^Ai6&:aP(a]A$IQ?I$i6-0+_H6awk{Ri\ =&‚N68?"$~KZFLzL4ֲ AC1IB`Djai2(tbN  rY$ + ~I8A7 T&i<{Z/h;pkH @ +1 6 KHA LCh7F#Lt*B8A HH ƽEX8ABD@AUk `A v0@AZB"(!kA XA AGA +ZhJڡ!Ab""",dI +ˑ6 ["VG}"ȑ&4Uxd C$NsDA+;(D#QFIxpθEk-QIDf>EÆ80la2f \66 6ͦ(eDd]dA6Qpi;ܷ('TvV#_Wqd"nn."B"]]Űp2iE9 +T@UQA*ꏩwFm& +qjN&> lqaʳ'Pɀk +em#2ӠzQA&͋( _>KMTBбF*!V17W$sMU9!FnMe|:oKS z_~ 6Hu0 J~T6izYZG}{nC ~~BGUm& 6􍤽$~Gu^7ǩh*MA5㥥='FHː_NkƓւ!CQIjA )j;#xBJl2h7ǛQ[E+K-}fq sv8f&H1s< ap)M`YZVH$LBN,ti.Ma0sN/L59cFJ?C[!VJDzs(RIGaDzs`|tK#r8hb +΋jo3I,gPC p@2AgUj(ah/RF6ad 6qT&HIm^=$K 9C)u"kQ[ad}|&zS׆'$4/A??t8jML]>:"?=kO[&*A$j@,.> +-QhoODD}#ֶ+Fp#Z[uz_8, B-x mz B-)yrH=|l΂.,7DtI"]S:v+UߪOrK`h,WV#hpa0^ߠOoK#~T_^6mYH*I& ѡ56]x%@ $߈P +ޗRKJ B+)`ImDM[ ;t֗ZM[/Ntm"HS^O_O$0D<0DfWRmaFi %{xA~,zI7~}.?c#>EJJa & +<ץmR +Uk*T~q_} sqK(qe9*I6J .e9T _Pit<&P&PO=|qX?O,&$t }BǺ_f=#>, Aa#I}yI03_ǫ|l)o,EAl?Tq)KZQ'A&\/a~ 0z@oKC TU D}u,0@t-0[SZqA f.xץZ 30u<%_.Xaտp\U/Ab0xI#=0*) $g&RbuoA{z o&?z_ ?aZ/)An( VJ+Z[_[~ WPמ0zJ*EDi A&)+uPָA *K8(Cs zK Kq$AyOA +?lr҈A +1ZW4mR_Voe8H%Z[H%ZkJI, ̏綒[}9&SE"}4RW ?THO֖A"~i+$EsSGK!m&ÅMjA$I8zafcL4$c t" :JA@ ҇I$ǥI1t8- &|›td* NpoH2>CX po%A/@i$)z TK)t!PZq 8ZLH9p| 1;  LZ@ IIaL& 'H uƒ@ }!  ePxHp ): `ȰARupBBA$e'N*K PІ `RZ0A#A @ $DhD -& DHD !A .FH!B! T"AbDDF"#l0rOVJ&UuD*&$<; : ZGzH뎨c8pνi.)Cal)#I6ͦ(iʯ @ѭ0dl$6rGWqqwUp pWqi`Ϩ7z 6#]]h): +TgM45X"Vά:gM4?p#_]h=p6yE7nIC iW[fP*g@ϥY1> 6ۦ_ \ z_l}Hh֘~mtnۣ^CMa_6}hN ߤm%OZޞ)􍤣΢$h Ik_BS#4@mEH`c! &!%6P2}$-ʵz aJ~( Ks89:E#QckZ߽Z^rN/5KZr}i:5ny'!OMfhG>}Ι[(71HNskFI~[(71HNs2+J./ +k:4^jhP@-T5_2xyZDKoTK<<-"]%h8ۄG_UIV)?66Knpb*>SKK3@{ W@>I ?0T n۫HG2 ?QJ^JaN#Uig1ypjA BzX4R+F_,KG0 16aVz^lD +KKM&l I%]%$KmIVM4C!I~QmU֘?6m6oBI__iiNH6!$WOm4 )iK}=ZMo#4؄ah +cҶcUAA/N 7ǥmUײkk>GJ .e8-Y`tVi|tp?O ~{ D$tHϼ#L4~?BH" #>%b)9/ |=X3J|~t_ kB  0z- @?fA<. )<$`ˡ_AmG~K?F{"A\U/~6BF{"A\U/kPjΏA0B6ս X`kZJWYBH$%nu/Wa ֪4A UF8kTuZ.sKAƒw R3F)jCDjV_ _Hb^GqTߜj:_ _ ,oo i| Dvn%oc@iGi6 }[&֭ @&MۈބI׊UAi6?ߴ MI6oH6a釒cL=+H6a0PM]]+_H6aCഃI#_R5 (t?IIL0sZF 8A7 +-&E"RA po%W +B i"aI8A7Pa0i$ B  6 KXA o&u 8 A`҂ HA㰈 h x@hHoXXA v0@A^4ꄐ"BuZD##BV D (DDDDDP_?]BI0)F" h庰`AN򶌍xppȮjGgjG`HMQ:;D"&3"6Rd|fw' (lDnL3=eM d.p06 yFJ nSL &&\4BUM ٫ &8mh2 2ᢙF5t4ݧ CͲUg $"s$s: +@a9t"c۟CL0 9ؾ-iUF0ÅS[˂zM2U7tPOL$v;^΋D}G! m_nLVu\tC!zKΙ=77? a(G|/%{M?0#>z_XKKI=&K/!M?$6rBS#on5InRޒiJ_'jMƿ/jڷ*?HZZ1JbֈjKCA)L=:(q,Nοqi'XgF$pЩMat5>q_m$hکЧ.?@hThAYH<^t>4\KzW 9d5uϭtMtS~/o8b.HEA0@G8e #ߜIŚov_'R'8bSAa G ˟C+8oI|WZ^UO8ץ_ǥ*Vd|W_5i?kY_UxBdT?#Y/5t%WQh"?תWwI[k( t#$U*N+mR᯲D}A<: *ʙKR'f "Z_^u(A@kGê_IR~ "X "<)hXGzD UViפT8G(v?@_K: JۏtizL0a-gŊI0+izMK-#@0C.{m !4ͭb-/I`Ie=tב5`m{3,g$, el`">^G(a /}<=!e aD}d\0z^(\BZC\uFuY  2_oKB ׯםz#`ìPK4_A k<(?g ~hAźčCCpci^puAwZH KK--X\6_-,}//׿4A{S,뤕H_너.UEB>n6/DA Z4m-&W%9t ֙@\idڷ-}:/OD}Z\id׺K&mj  SӥFޖw׈ _Ɲ*5m[_KA)Z~ZM(Gh H1sI%_[J-h"_Ai%]mm/KHD4aW  +)=g + + H+m?iZZ)#:/ƅ9zSzZA +ޞ+{*N|=8`/: mZA +3ӏ-/: ZkZZ]>4DD0Wp}}k A KOF\ ưbM- Aa#kd_{ EQe86Y*KL- X?mk ,|DGK BWu*\x"?C; E4u i y!^KPu?㰺H<SLZM| =i_|/H X &T΀- OoZ_>AA$`TwOZC-?Vʨm NZ, [*=/&nOAh_ A7./i6?GZ[pM+N~#]7/&&Xuim 6Ov&I&!+  >:M㤩/+  VZI0DII*7/BK B a`'TI$DI-H0IJI:W%Bx Ԓ[Ί@CI:  `&H'S&F*I$jJ]sĠ( i\ a E*AL2#P>H0zA75B `XelɃQkH0zh$ ȁRC-& 85aȰ- ik  @"8">HAB80B $E48AR&v G[@hp@$a$"NF1b#&"1ڄF#yh2B-"1nrσE3R#y:t&8duB!yC%C:cYòf{pȗXUPݑOm}A-:X&DQ7d5uwQh6٫iF%Q6))@vén#UF0piIE AI`A%=hp Zpie8 [{ @wZPͯ黦CkןpQD&Q6ޞBn胫nMUu9]lm<:UTWoh߶6*ͣУ|4L=&!F.*Kͣ4xb]Tӏ05 Hi&zXt],ywޗ^R3>bޖ9!'opa-IKΙ?*҂BCmI6$-/)MMz^!^'JzI#h 6J 􍤒MwS^uAzF\_ޕq8%<:-/J!?M~0!_QHzO!Y&W}"OkjKI*H" d5/車 CH/HbGD01ѭ Pe\Ez ~I$DOha"'*i/Kb,%XHʟá[~4D*h3|6t) KO,&LBN/> +/:~uBIťaZZ~qf؄^}D4*h!IN/HBM. )$U:px~ +7 ZiHCU)p QHNsuϭtO9-œosxJrBI(|8 P\ hD?B.0J5os_Zu8U7ֈY1m:aN* _KI98LIm#$҄Jt":?qH3ҝ%kKRUzA~E]Wүo%??t# nIWAi?֒ +rZ[u|/-W#5ǂ#I jH_GiKRT_-.K-%Ʃmh,W҄%^ޖz$5U%I%CqWK.%UNUޖ]z;:ӯI#Sޖ]N$'I0-K/ZI?便[B#0+G便[l}b-/I$zZU"=izMzfe b @,I?!$YC_(c,BI^__3~ ??,BI_iuϯ]U#zh AޒWZ YHϾcA%X YHϾ3^I$#,Ǥg[" ւ-.4@OE%Al?5Tt/>( {t$$ ӥFm3 U3 Izf`_گM,00u]{U_ZAB?TZ_ t_ +_p\U/?Bp4\U/ &U #KZAm* +YN AA Zֿt@aZruBF. +ZG t@']=0AiyK +t|xK +uyqyV/zq\AtHs`]zc_%G_F_pW PQ%*AU_Npce:Bmk ,?r>ޫ_R(m굳XLcʄm?K@; ET"?_]o4?[Mko@ƖT_?,/![/K˵Q\*:+]ICH6aR&A֗ ߊ?}p < k&F/ !C|tם Қi\ K ȃ)s +B ҇ \|OIqIFjJ iATii{jNMEu~UNMVZHvLbڤK2 K}'&ɃQA@Lp, 0` ` +xq 685A0i` 8A0<AC`a K 8a H |4 *[ #h $Fk@A4?HЌ$kA!j *"5 R b""""""""(!ɹ+"Tv(R2RW5(g\""L(pιKFF"}ÆuDI(ȗ6ͦ8lٴÆ@U("!ȔMiPl64ݒ  +PWfTl*AIf *mpWqwUVs5[{ I oaB*iOZ$\(BIBG*23k3#Dޞ;N7!F*zoRfV*<4=#ֺI[mRޗi7 /Ϩzx 6(Iz[~L?K6uE}d`+qi0/oސAzFZA#i"ORB:(yGY􍤣4HzO'$HM0q>u}Dhi:i$c!:$-PI$c!CD_ )S#a' "T Yez#d j$^BJ)r4LBN,LzR}i7zP&o RR}i35G]"=9ΥI=_XMߠҡ)ts|8 P_0AZQZ zIP@z4*fO[Kz7ZDKoQSַJ=)[pl3U":?#AT4UuIuH^ҟ98*]DT}#ֺ[z KnQD[u|F5$I_+ƴ/QD^UT^+AbNZDiBt]iH*K.5i6]Y&wh/6]y8+`wҭOϥm*l_]/| I|Փ_YCbJ5H6!$U]aFi %Al1+рk]+m:tZV uKa,qcFGƅ/҆K)׮zAO`V/I?}z_h$t rʦtKI033_u I|l) a=WAxH$9CZYO |=gzJLRVo5 1I[zްW K UFʽkˡ UGk\VZ__H%ZeBKotm/ V=SD$O5[~Km-\ DS_ֹB*gz_gi+K$1HuXm/KAm-᥺_l0lAK ۥ/0uejmgr *ߒ=k> + 8ӆ}D/}\Hk?za oK;DN l:UGڴZ䊾\~U_\uPԐ@/HKt׽._~D F_oo~鲔RY*S#PHʄGE::$-T&>VAH!%6t 2^ߥ z 8f"pY #,. X:/ez#dij$^UʜE~z--?8EBN/A|~ >@Ч._`%(֜\S@4.}k]!TʅG]"=9RVϭtMtK"kF 1HNss뮲T8&]'9.0׈Pg؄RߜIߪWB-=$( P_=P +t_0}>sE:aN*5_C/ =Rt\*`H?VzD_KJt":UH0|zZOO8WKK|"8(T[pCAۍ]$H[ @t}tKޔiuP@q}$DtF5$[z KnO5PH ߏG#Gb\kKejamYUPD:opei: Nb/oKAb~N +1$}%I/SR+ץ_ӭ:ӯI#Sޖ]j @A&ΨtuY^D P~ւ ~aY+"E$O_\?KJUN9& z_ׯ_Ur}/Az/E@gI+GZA=!e a/şOXAx~lBI_ϧ_ aYaqP Ai~^ߠD{_}i[l1/]=*tJGJk4_A u]lƅ/҆Ko}[ $_?9^Ρ ,KKsD'\/ .rz[h_넒J_=?zF}}9)I]l4 _Z.r63XfDL4o#]}Wnj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_[/j 6Uei[a\U^/ _$`em[WK #KZAm*h!G | F{"q\U/ֿm[[J< Z = xkA%:/)A}x@/m&A0B}b+['_ޒ_[I-gL_?9k$b_k)AuI~ʽ_GIm:8 +N^]A +?6_i?%[z___h$9DԴqim[M/ i/^Bp Mk.>{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#SirDܡDOe"t8B"npn[<"nP;?E\ G7(HԴ'Mb"GRȫ +c}Qya"GE;4Y,E5b61L2 v0A1q ^}.>m bAmA7-|e;).)~ +{o KP>$6&}GTuG}:F"ETqg7diG}d=Df}>><=Gz#U|&O( I3C9#8q|蓴I$.ňVt48\cc8ڄKA'o"$3kmEsS668a9}G"(p#갊MPfsuY 6qFZ>E[8uGڑ>>'Ď 7FכX G~hl]uXiGcF1ROx""#לXb8E//|8 GX""."U#""-.":PX덶(S!!HC 6DUh6vf܈ #%`}Uzw`yQJuG";<)9 P莏\ͨ"@ Gfhc#sc I":mTmP!#D}>yhŐ}<#kpΈT}gH":!uNjЈcoEq[#xD0pr1؎"1C[=.Ä\x'r\% agvBs8ccx''JPVv&%ƿWa{h$""l]:0$|FJYbshv +0gu@GtCϧ>>6gGG}3G}Qad4}YuYvtZ#ZyZ,xFH#zg>!}&Јb8v c86(!|DDG8WzǡϫV[Xc k׋k⾩- {m֐gci8m/ttv]r_lkuKgJ" #(g#Mm֫I$ma [IG}tq4L%A:#H/ͣ>}idv~M2;ĤtG2>gө#":0 .p>:(hFMG }Ggւ6DDqlqD|i-0}'u8DGqq v8DDqWqp#LouNvi8h: +6(f'x z&'%ߺԟO3$mi&pjm$j߄ #gh4-l˙";SϪ8N(jm+0Smd Yl}=YG"F{KS:&>>Hڵ6KRBlڶ &$L]o䐰#?й>B1a1M;b1a)A}0f?LSa81 +qHlA+a ubm!HCn- l[ap wAAiX9"e*"V2A+i!jv!iP`n +vGJMAϥ2N}n@QGTG9LO5#hfo>>iD"ȄTyfDt]Q}di9YΨ>GL":(Jm4}+>Ϭ>Fk6"#""""#b"8Pp#"8ň0shuDEoaXw۱ƂB_m?M Nm -vYϢ3 nyMDP"#$FXG~qfM"TAGi!# W86?ЈE#7B:ZR 1LٷaX}Mfh[@*CűE#*ՍmmvP΁jBG>Bhf2n)VdgfG#UEaah:a}C$"4}_DDDDXB" }0DD-": zeaM‘uGTuG(A#h)g>;IQЈG DDlb,X.K"3DaQ}}+'8Ҭ;XGTuG4@؈2"""cng""#@*>>:eJDuGT}G}\DDDD}Dep\ɱ" +.V}&8fH2; @hEIR"+hXlPNahFJ|2)H8dw5pμ3^J█ڃRv JPi[E$dU06E 3** xl2aC f6K'){a Ft Ve'f:UMd@gPςd T&-:Ni^TRO.zS +bֽ̡a2(-k4UAR} 52( E[va'UAX>GSꪺn黦PdUu9]lm?GZ.uLMlKhccW2aѿmmh܁jh |j sho+`^7^5 eN&r }8jFe)#jm2x0ttSg&uU_H %lꭇ쪏SV}}*ȯUzWu$#(r)BRB: #i-5osT/`]lTE!_Q"S#l 3uM?6~I!_IO#BUX!h" d4QI$wq@ð>CQ8GY\=hj,pEEֈk1s$DOIP D<6yul pP -4ETSZZ~qf؄^=-?8EnPC$ێ5ZD M>.}&^Dץ}k]!TEG]"=9I8 j.S{u?XV)A)Ss"~s.#_ +kI/=Is_KK^:}'њz{bD01S\t$z/aY>m "80}cyV/UH0|zD +_KI8פLKpNۄG^C(?Kaa +H0I/J8]$H[PH5Y0 +뮗a u8 ~<IGKF5$_׏GA`ImkXKI4oaEB?UeM'/0H 6g$BŔ1(c/,yz/DgI+9sh}?# gzGVKD?%xB ׅB/oKD ?% -:=%a?ňJk4_IPH$/QwJ.ϰxVEJ$F=I'T $_>b=':+ˤzPп $DA pI]kG YHϼ}"+#WZPD">ZG@Q:G@aAG:/OD} _AGNA_1#LF9?_oAWAa&Oyl:UGImoXVGPFֿik_-R?}u  +_u< Z SABS#A]Д-ֹ_]A]'XE(CU73c]n[t\$[xk A0o~Dyfj%~0uVㄭ!:, Dvim L:܆qIXN I* -./?m,$iix6 K&~zaOk T!I :*zM#/I=1KރaVZa& \ h "'&2"z\t.x aiq&?) +iA>5IFjJu K_d(L4A )o%Abr&^! b j 0`Ça &]cj 0` ,pa0~GJXh5C@L]ސ"Jp4Lh4 *֕PB8 KaP UwI!jPA%i*AB@R b)hAA""0!(*6DDDDDDDDDDPB"1w-(-?n~̐rLUd1"TJF+Y<ԡԡrDb*h%'&&g@Vz݃%Cu"#j kXabayHDnf*E2jL"s 6ͦ)CapEÇۆD6v-pqD5uvJ:ed"ntEvA#WWua 6mwuwt@npWlZt] &H wZLtk )D˅ & +u +)Ph)>lm<|wD[wLm=/ :pPF? =?SD# zL:R)!| Q +tzMB]T֕yL_[iNI̭U i4&DԻoK__asYMƋuaIޕqzAI%+57IG[%?n>Jo6&靸鲔RɯSצPHT4ǤWI&ҽ'FW#BDkA`c!}BVAH!%6C }ni'lBΜZq,Tu#Ӝ??3EG]"=9^ߠҡ)qsI +B1)rH~:hD?B.0J5oUЋA{I#5 +0׏Tu'M&ЋB!‚ 5=qU8go/z"+HIm*` KITᜱ-C;L.=)[p$҄Jt":?#AT4b&[ZKT[p합_/o%Um]~)ӓKuEG qzL0U*]VR#-Wޗނ۫{Z^ޗ(Pn$M#Q5 +&Ze8_^ޖzj%Ʃmh,W҄╠^Ka[%Vzxc OzXAu$@W9:D WzXAu L/׭& (o lD_D@Va@26ҭGo5ͯ_]/| I|ד 2 GiV*Ԭ?!$\E1?$U,{ KbJKaGPƖlBI_(":>/ FP/@-:D~:Z +m:_~d*r:  ҶcK=K8tcBCaהkχYe8K % _Yʺ_>?AW/J4Bu ˆqL6?Z +M8=?zF}TDA%X YHϾ3__3P"? &F}񲜤zB!.KA$HϾ}"+#r +?-:aHz疟΋eNa/IsK2$$a_'MG %f. aˤ30/_/ H ˯YZh$`φ˯*#5-KZAm*N[{+ʡu_I#=0*_HdK+koӏBS +Z(2>#ZOv7[(hej`2*ToOO${I3|%iE!FZL_F&boc${I3|}mOSL$mtֿy:B z_R#a0=M0a-I7Ť+fAtL?K$^F lUG^ ~Of~D F_?p􍤂?N~GY􍤣O.='7=^4ǤF?$h I}& i$!?IMCI<}/ )k/1BJl2^G&H<|=jFdʉSWGZ!"T򅲽I/*%O}BE~KZqiCWbG>4R}i>m%JQϭ8opBiP>&ru8"~ʥ1)pOH& 1HNs:MFj(aU& +0NspC xe}e_m3PC xAoz+HIm I"]% 3$K}s T"]%󨩀kg0-/aPim#$&4":#AT4ncIޔiP%z2(DzP%q8*]VLNP +-QJ{Z^ޗ(PnB h0dCHN\;*~ )"۫ۜE$/ )"۫i ,Wi{z_L B-("?$^Vzf> 0D^  0+OD{+AbCJX_ KOJXI"u^K.A ѡ5 M^؊Ga@=^K. ֺ^A~iVׄ-&'*kl&ҭ*$IIYj}t&ҭ^O c^:_fW_M֟ƔklBI^ibJA^:_fW_D{_}i[l1/~WsS+m:?%"=h/ƅ/҆K?Bcz (l4 IP6]d_/K~AzW9M}c?XH&$M)_N_A7Op?AI03KT*& &F}$ #>>莶_3P"? &F}񲜤zY |=RP7b) fHZ |=WIQzeNa/IsK  lEkA3 O 6A3 _UGIm  lWHdL+pkAK$ȘWKނ $g&R~m5Ua3 +޵h Vg5E.J+Zh,W_%a$k4J+Z_s`H$%n}YB$bWPH$%n¶[}?9k$b_yt!*A_ U Tmސkˡ UGkA koA k\XA1 _.?i}J9m-\ DS_Ns ?T&TG DSDKKp MZ _V+fAryL xD PAryL nՠ +򟶽l?ؠdI2( .M;o( .M?m?V%I}ZXA AFvUl* #VK)i-#xh #;r+K$1Hu AAa{M?Am/ok iL4 .A-ep A M 0ž֗$";I.ㄭ! A MM A Mr1D{_,p@ &l/B$IK@ &maHHm$I'L> H6h/6L?G#A$Ir)m,B M>O0zL1$i6P<$һ9dR` I1&J t"FS"VqdImDJn&UtVy 3HhPιغ HW;D qFUxpιغ X䈃DV*"M3 +PEÆ80laT}G.pʒmL6Qpp46dG}LrmTE-EaPtVT +I]7iw +ΡNH (G"3"Uh$@UQ@Ltt foaoaFqB'Fl[(Ü@Xa9A.} ҶQ6ޟ2ӠzQA&b!폒< TBбF.*;t}^ۤ>jfV*t +bP5z_$f7wgAI,qS z_~ 6zqA~ߘQ䤒oB&m/Kmm&|&BS@_}F#Xj`I/HHE7I{zH/A#i"H#_B:k0 H6~nxiiIq&yFH*YL/:Fi7OMZ /cf$">$c!J>KҵR!"Hʙ*q rGv8f&H0(#@dSS^GЉ"bqlA?# <3r}iZ =9G> @FECWJq%ַtTu#Ӝ?M8C R#Ӝ I8g#)rYG΋ӫ$hB 5"?EE +0K=PC qԧ40 f,tA⩽M.zHImO C_u:tI| b/'_ -DuwOXIPim#_KnmgC@T؋A>:"?=kO[UgQWH$u%4a_P% +>!*6HG"?=j?o8^8 :OB5 +&&!D%번5 +&qt_R_!fa2 8 RG Σ^^>R+*~Z_╠^i @{~?Ka>zXAu4"T< M_C akl lG</5*a&EW/pV+ +K}-*"J}gTMJR'm*Y3MizuUJVGYUV :imMY?bJLYCAdAA3MI+6#4؄`D< ~f +uW-:9EJJa  +<ץmV8#V+>WFK>)gﲄ_z:8t&Pal46P OL//2[~k.ʍtA`A6 |MY^tC/0gzF}#], DpvI037 &F}>8_ǫ|l)o~9V- +$-( K |=bXE/ 1QsKC a˯ښӊ 3뇍zUA>. "<%}տp\U/EE < <$ȖWKz3}_7/ץ?aZq/)An( VJ+Z-4߂U|_i=a%l'YBALRV묡[pA&)+tM>[|7Ѝ,DKq( M?oIPA2!m__zXa)+  R3"[$1H[I| #;Vl t|tp ?^-M7 o,AK/Aa-{Xa0oa6, uX@&1ū~ @&ܠ1zMF%IBۄpAdxj;Mi7Ɓ]I7+_&mLMS@ &mRoIKAi6~{M4'L4ү4i6G:8$i6MjA$IBa8L?l &Lo-.aHA:PZw)1A:P*La ä$ (t6$E`ഃ ? T1~io""d* `I 4 + BhI8A7B,zY'H2=T Ih?ө 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$MMA(`^Ai64i6y&<$һI$i6aaV!m&c =&„~kYH t_IIL0sZF ސd* QI+ `I ~d* Q&!+Iz0A$G&@! `A!oA04] AZL!xp@ @AZ `0ZBPv0@AZ$UBF|7BXC  $!T$ @M"Q+J"BE"""""(,G8|~dTp)S!Dv_+C%C:vVFvO+"MyFdiJGAJNr)rXC pRa"}7 iiVIl2f{pʢ {)Capl6 3YJ +UET a ecWLMn$jNݒ]0d 7iËAB*0e@*6@>If *o\fh'}wZLtk +}!D@ Z9Z*9QFI Qi 'Ͳ6V8lUMm2Z.uLPGSꪛe p T;s +c)NJ&nIHQ +AZ_mHx5^{Gp0@|~/5.kߥY#4L&A{^&ۤ>[tvK"[N'h!zU]m%:Y:I׽,Q UkRB:-nnt!ICHW:U {)DJy$t[M?o jME'__ *"Ď eZ_ۯpjQ &RáIz^' sb,/ez#d KK^'^M?:SD$&!SD}y BPKuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?]u1?0tSq?8aY>mN9tA0tM:"FtK/ ?jkK(LIm#KIqKICA)eF7ePu/KK(a/Jҭ@UV U~{:EG 28q~P6+/x"?Ze:B#$U-'O$^#Q<}{Z^]za= 4G^^4^DA T">nK})1@K?:#: J", R)i:ӯI"~}N + KKK Oӥ#w.Z^Go-J!XKh[欟Ka'~6t@ (cKe I+G]2^y𐲆0/k/ϧ tKBAl1.! +/#Wֺ_-x_G-I]%:]d[%H _kχY9DiDz,h]?[AW/IΊpA8^?}ߥ!:Km pI~Fc3CȺJaUP M/6S_D?Qj rnj#5UtpH͘F">/sKւ@I |迫Y]/j O%f.ثHB* / O_t ~A6d84?At_k^_Fֿ{[Vյ.q: aⵯs}W/)Akh/BSKKk-zqV+i%?=8`]?ئ)b/_/F{h$F\ >6]֗SUo}!.M5?OAqK?I|ym.= -Mq~M%Am%r2\[*, Dvoimmh ?4cM_ 4 *&_1 Z\HHêXERᅬCH6a$ +8Ԡ!L=+.]#/Ί & i_5 +B ҇K% &DNk>zE> H0 a^ "'<9dVKiuآ3]^ޖ `3+vLbCY&# IH^" $DJ+b be)n1R 5&[ÎL& *AB,pkH%'h1 # H-@KаXR00q $eV5 a54Fka !dRRj !hah!AF1ADDDDF"?lW5FU"Kr3v+jVtBlQ0la 8pl8V#}]݆q]^$h(h&4P>?ToO֓oVB~afV*J@h\6a oK.糠qaZSꕿItj$o6&IVT4Ǥ&KKi4IMCIzMuv&T"Ta ^zJQϭ8MB$\VnJG9W7j]$( P^LYӂ(pFսBGGsG#H> ,>yGTG@GѐR>#uM 5 /# O6V}b8A?[cWG,:@!m̂@cua[l' 'NۿO`E4h>>–$fl<T6>gC'!^q#>)5$|hHD4pO9[Hc{H$&."l~F2z[?i^M 06#h:'V<&@IuD9P:}G}G_;w0a=FDD\%,|ſ>W>q|DDF;DNv":V#b"8Ј -Kyg!"DK3ݚR2D2C鰂"3lt}Y# #9FiJ]wg@q6yQ4M"+8AŠr C7q8 C8BY#"Io!y)ݜH X}8 #PaqlR ln7q cƅw0~cұ~dP3vdL dI%-o; #>%ꏣꏠAqdfESϭ8L8h`r1n}A>8ɺ6EC@s+iM䏮7XGDDqd1 lx\!^#kGlDB8.=C ĄD"#H=!Ɓc=N.Pg?!3<"*V DF.!lVڶ9tIoQlEkR:ISdi6ddHwМO#Q0f }<#ȄNyPDv}"]D(DtNA>D}a":)yTm)}U ꏣW#L/DIфtAͬ>N}H(p QЈGEBb"""8؍Dh~8":~] D'GK~t=GI*B BŎ*)~z˲첄ixA7~~>޾ޓxIpF^]Lf4"B":66NśZGGELGuDm\IC<Y}WDuM Dv")mSgy%Gmg(p.ظF@ 'Z'Ql]ZqqJ,Abh6#l(uu ^-QIǭE..Ňl:n.}T=inwt-ު6 ׵mR캠E8"?rdv}CRV;HT;kSD `\yQG #8.a,>7yX#:#>uL3Ϧ1ٚ΋ki}(FB#чAlA`er8W{eb}'"$ =8SjpACiu80A2;)bAX/-)1aňV0bh1ŋlP\4QXAj~et"""4KE|!a8ꐈ{`Riz'>X"+Ԯ?y^W #=MGGGq!}G=G}@y*)M,>7PDqODDDDDDEDF +"8#""""""#mc">#i^v]RMun(twg Tqj0,H#J泳E#d"#6FG؎\/qqE@1qQWлwLb*c cQ +"U^qu(LRMU%;u@MITvꥎȅ#>::EZ<ǦyQ})TDD[qDDDDDAqҠ&DEE` @T}`dvD}g EZ#>seB.#"8 uĎͶ'M #TA^WdtFߣQCN"4+#"""?#:- h::aGՐ4uH5#}&qLhEFdB 1bc5 x8dW5"7R5r22[3 גȥ6̣%Nm+e Gd3pۆU0ϲ +UeT2'p6v2[9JHFz0]iLvj部DnݦN +$6}A.]0di7l:"%LZt)8lRXC Q;5ͳC@PftwFe8 P 1kLuwFkoay>=oϯA LU]7t(m2u BGSꪛ!*ۺem"?Se8Uw!ejͣ~ۤۤ?᳹0tVc$~m#zP&ӆQ0#,'ޓzZI9 S:?|$rV>&&/UWۥmIz^}UQAj^"U^uԐJ 􍤴տ OڼY}6RAIrk\3u?蓴IڢNiծ7HW}",H落jo : ~Eϡ/EgS}%_ֈjh2 YZ\:h")*zL?򅲽yVm yTKANM! + +}BM?5!SD$Ao]?xVuϭt!I5e Zt&fG9I"& [~isKSq +IS9Is"Ћ ^B!pp@]$r#AzWB/JEb8H"0t`cS+83yS Koi}8qCr;>B"B"F:Ak RZO yƽ-$҄Jt":BZK֗^t*#/JҭTVRs7$DtZOcPExDKKKoAim?(AX_GD"I0_I.IR~pD"K$--њ(xcK _GT'UA&ΈtuY^GzD RD P:fzI%UNUޖ]}ll? q0 +_]zƗlDDD!I鳑XKI4>`ImkXKh`wҭ(HGʬ.ֿ_4&o e b >y𐲆4PXӟ6(":_zU`Id="P!@!!@ _~:_}>e8hH _EtK8u6}Ҳ-痿__ I//U }xzNtW/Pп $DA pI~Dc3CBJaDt]ga5?%6As}'@Q΋SaHzi:j8oW4 }#a<<" tj 6*?_گ aˮ?$Yb":Ko͡1GPFֿBp4\U/{_A muu5ξޖίG A`u Hx@Dk)[s.$uu}DygeNz`]=8|xK +u%¶[}?m{_S +\ UoG_W 3A%?m[]lR .t8PEΧQsZh S^U %:㰸~Q"__`F _*","''V2ͨT.HӇP„{ : +U *luAOD0Ƞ4T+n$h(h)ʛ_ToOMtBT4M2JsD# +h5!ik> +/NȊU i4ߒ=k +"5# v-&fBH0۬!5 66Ck~x 6b_Ҽs[n-&dSk糜RC t&>sYF 4ȀVaZSꕳ*O&􍤣43}ޕh ߤm%:M:QE?FA#i/lle~ |+m+$h IMzO.='7=^4H!%6t }ou_ߚ+ ӋJ9ҡ)qsB?LaDzs!I8~o*4aDzs~9:a=$( P^=PyHo I"ЈpC xe}Ԅʿh/a$fA^a_xaꕤKu0 k}`4nqU8gDKoq}ZDKo/ L_ꗰDpP4*+S3zIjKn9 #9i{G +Kni%0%AޔiuQZM&m*`[&T|a7?r@*]RAE(2BU*RD[uy$PDۜGB%L=/ejamu.k*aWi{z_L B- +$U1R6E9s쪽(P{{))Z 4%jXh,WW?[{{))Z 雔H0&0t6= ~aה_"A"b JI qL/"}^K.A ѡ5 M Jy>`L>0+Uʬ;+Okk6oxAn)rn^:_fW_ᆜGPƖlBI_(":<%XAx~lBI^}7Z~GQFi +m:_dhQ9[l1`GAzG-֕R\w99ҶBCaהk=p(AZXI-(l4JȿU֗4)~6]%~p-/_u ˆq $tGE{:8AzW9M}c?XH&庰@$ir7BZ &F}}9)I]l5AI03KȄT* c[9A&Y/l# |=WIQeNa/I/ey&f/1~ 0/0fj_֚ 3@uZDtf A f. xZ$`Ua3޵ONI#=8*h!O F{"a\U/ȇZ o\$Do[i5%a~ׯ'KB/ +ֿ]_M X`kVzKK\RA0V̓XA }e +dWA&)+uۙso5 1I[_P ,חBA6_Kג`A +?gKm^]A +?/|/ [KUm.QsH%Z.)v-H%ZH+ij'"nHhI~[Iz_ZA5_ ?m.W'eԑB#_+a[pA\S?/D4+V I}NPA2 Ka&K#_ ح, #;uzZgz_QZia)&0=[9. .A-yCMg?AKag?Am,_Gq^AAAX@A#c@ 1@A# Kh 1=+H Dve9 0 @ ) ix@TX6M&_ޖ Itib$$X6M _""")7:P  B M 0L< Il=1 ay= 0 ͨPAE/ 6A:PഃIi1?@ ҇K% &Dk>g.l4$ ACazsLxIһ +A~,z NMJQ_ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆD*H^`@ Xh5CA bAHa$0@ 1 Et +["H& H 'A HqK `0@A$-BjYA0D`AVI}P-@t +B>؁ DD|h1h "CBq+"""""(,FaDF8L,sZ%HDFoyآ%K 띉" yYJ3wL3Kck*A8ϝ +}B/ߚ+ ӋJ"=9+?LaDzs5&W7_{~JG9W7 5"( P_xFj(aU&-Tᜱ-umC^zi-T$t% -DuʬկHDpP4֒^ nzU*]lDzƯ/KzS'@U ȭj۫ۜG)5 +&_+ƴ/QD^F*`,W$JXPӯe,]/oe?+Ab3rZ (Au툡i%UAu푰VM_{h/6]|%>CJw5-"hm* \ JƼ JMPƖlBI^A >#4؄/:H +[l10.*+рk#ߎJaz6}IiCao}YAPcBCa_z|6>$toˆ}_N_A7O#>ߐ=Ixn6S^"?C5#agޗU^\L>x+xKI>W4 )% 0zmoXlxy%_Zh$`φ˧%_tAA>. x_NI#=,*ޖH-o$ȖWK!V% ~SV!ZkM +֬+u}e ^H$%no}Wo5 1I[_A!*6ּzHK5Є@c.A*{i-zIk_h$$t M7_BHkyL !Ј O)i{jiuh <rܛI4AȆw_ت`|a&D4 _ﴩ[$1H'tح, #;* CM \0kXbAm,_ Dvo+Vܬ ##._ҰGi6j/i6)7Ai6"I cBEhA$Mi6Il 0KH0.O0zL1$i6j0tc!i/5 ZA5%Ma<9dQ`  P Ai \A '&ZLD @aȃ w V1 X$ pk H@+L& CH h8 / 5 a0`&>$eVV ` ([ lAE!L` +oGuPL& X-ХAb""86@^:b[VLGt[2vJ)H>s#QO3>PBC!TwVK\pDuDȄEQDN~!y%06? d[3j'{Y8AA~p gWYQa?&t_~T&ҿˆQqKeE46I}&E1J{lr?%k'YB^Y_ڥ(_áKC]-.am$uED B/]6y:i~P_`%8i#`נ:!SDxњ_)A _Kri:tʙ_.V#_IR~qlW_,Es%-/υh"Z %X]ViפT:9_a h#z_vuM"kC_ǹ.Z^GKr߯ 0Ah |2M~/4 +K K@/ (c-'Y  2o}GϫKimх~:Z KB JKDl6u__|+/kS +_~H ZN>u_OX۞sD'\/P?-$AiBH_ |H׿4A[KoLuKm p@V yo?_#ڷ:?ޯhdfSK:?:Gauu5wϪ/z[ V?_))@zV_c6zA[s/6e_KKl mKHD4J"UR0W.Oxz_ ƄԱ. ]mKH A^s窐_㲖m ~o5Y *KΊ_Ao3ӏ/bZZ]}tC#/yu곗jl+ >/p i [j@) +mc|׮l4mu_iPt=_k(_2\6/m-_iH<a/ZA޴]l>vb*g@i2 9辖CB.4K_49:Cï5վ+oǝG!6i6KMl>u0Z^>Ɠi)ϭ-a&L0NV0k1_NDoJ]_ܬ0AIiZx(A +_=+mK!Dx__ߠD݈N + BEL4ߤXA I5 Ԓ[V!4w+ XEAIH0I,"@C( 09W` O#RZdPd0urLAAM"2(`&ׄEt}  +U0zQ[h1 5Kit8cJaA&u G ȃt]CK>{ Ai8z2%tH%i*[Ak +@ a DtD  +`/h; +u]0di7i!Xia6~:Dnʎ]0di7inBxP&Q 0Tk ;.34 p:"( 0ŭ3Ѩ5e8K.34 p:"(g;aZg;Pk] ޵PXF -M7t_F ++e\eOn6נ:5I#եNMB4A>q~NhѪI?@Th:gF$pЩMatZi\MU{).}&Q:)O. &LKy'E?. &HC2uϭtMzMQ9(KQ{*_H9hE,3~/ePkߜIœoT8C'99a+L:1>UN*DdK:aN*Dd!XP>qU0tMA/+5k䜾VZ^IO8ץ"?KS^%Wz]$S^~IU +A[E:61WP"nKI$P Dt@7IGKGa"?|9r ҭM쩞t%IEri:AZS<"9r ҭM쩞t/_IR}hH0R?K:՜pcU%I%Cl8DxRб:ӯI"}l8DxRб*:ӯI"qKL P.^"n|XOM0$_.߆gŊZ^Gz~"=@bi=4| +Z^GH Z/^| (cPZG~=!e aD}_PP3~P]2KmRK_XnKP!@tKB ׭vK ~@WGz_YkUׯ|$?][* f$-iimZK8( $A>l4#KIZX^/8 +I:-$AiG(\%z[~;*rt"Z Aץ㲧(YB\$At ZKoeNPWDKA! ZEU PECD~t]_@aƖH :?ZLsSaY "5?Aa#6a(n}0YM :Tk?/Vv _Ɲ*5u_& ZU8k~_ZM(Gj K!.KI| oe_AB?CAAm,,K A]e:t_ + + MK(\G t_ + + kK A]e:< ^Smǃ[Z pA: KΈ$z uҽ A KΈ$]+Pu?~NKjl" +p >/K}hpK/K}h.`:8 +KKjEk \.q%l4KjEkQs-sad_{ ESe8EaƩ#i~8G#8.RSm/^?㰺H<UM/qKG|a&T΀տ/ @oKj k%ǥ[Ʌ]? OҶUG?[*\T?O]&T_OSZGoW#]7~"?UM _0WkTo-o:&II*7%M`'UIK1O _ZTAZM}&,"aҔ?}U,"a֓z?}G%>k I k&F!&I& HM"kXA01u^LLLi\j}sH: )$ QH2 qIDjJu iAAj0D1d(5=It -& +d@2 ;&DF iR D +2d 0XA2-T Y"ؽR D +2d 0 I~5X $T᠂`A0CU +0E@.48AF0a\4Li#hZF!Ha BX B)B4B;@hb""#B"""#B""#B"""#gEU]Q])Kuڔg9΃J9RC +S+u4d0qSG+b>6QD"(y\8۪32,lm 63وDk:֡eVȢ  0l f 8dY3 䯆ô4m 63mt*$Fn&mC>Qh6VM„0{ms FIH@M_"ht(MSPa?p}MpUF0a+I)D˅ t߷ +KUTj 60aE+.34 8e>æTrZy ͯH$':W瑫? +Ap 7f κUjVBaeaÌH$':W +kyN羴WgAAkAޝm=%mYPiw[kߤ>=ӑ8"Jz9b/ۯ< >Oh&?tg-nt?a_쎍9;3OT__#NrNLӜ_ ?[fiFHm!\0OpkoH~_Ăm{_%=za /uak^N6_1g kPˆQyI:1g u_p `zu_4_{lNuUB5.gBלYx6u +@80yőGgP^toANf#U-D?'LFΚtS߲K:kjOY ?E_]/hɅ:F7IFD__֨?K4 sUœ/eP 0ϭP~SN{<AtE<Ҫ_KSePu}*2=_d(h _~'YFH}tK:?NoG0K#W=?$#50K#WI0K#XEy.gDiBA _J?qi:A _K+^,:K(SmI.:YtPۏp-/ӭgg9YBK?>_w=tkcK.算IF!]~?^#H?_ _$U|2M~">a[a5_`A.!A.!հc">}__/XFG V_9׮kXq|k^}~5@8r5]RcnzZIc^f_]_i%L?-zRKK_pK_?mCָKԅOcKoZ*\idh/ԇD}.4@OB!疟C">Y "ǯΏ뷩@N_>O :Tk?!LsL ^}VA?t^}VAtt K!.ZYeP/_-/jz~Al24((1AD]cʲ]x@ʼ(cVUKBT(cVUKKΈ$=T/: /NYpkCiI_Aos\RK}zcZ_AW5)g?K_u^^AW6YRH]l4Aa gGRH]l4-RH]e QM2!u}_K\[)i%l + ozׯPE4u_z_3-rq 5KK [Km.V| `_KKVʨOKIQi~$.4K_JUMm-?Wm.I/yc:]_ziu&K+K_eZZ|WVֿY9%:5~°֌5opA}OIk /FkotD݈N IXA}O"m>"#@zWzM$`m>"#@zWzM05:A^anz=+LQG%h(h" &rm-mZZ6V8{ hZY7a z}Ffפf 1섈eg/쩮Q0lN-.\U[I[+M/)6H + =a 4"6P%7RlRPrZc?OXH0鋭Hy6p)|BtL&i}]iW6MǴv&>[otq>;DCh* a(G5E4VzB,h[ F_(~noD\zZ8I3_8Z&?o6{q=/I95Z_3~5Iվk_I1I$a )@i/Ii{_8 )_M!0 g\RE$痤^?^v'jfi'G6dhzW,MQ)G>҇6Jc=/q +:O"!?_K0MtG9W7NA58#=&#ۯ^ʡ8*e~D_G҅ +kz Ʌ@5l}u>)u(3>PvRg#N搩k]$tߪ^ ?TA?Vfw_#_/#EװU QT[pI/IF7nK_3kYn"%O%]#P*]RAE1ehp&;|"?r\~'tq}ߨg4GEiZD(PknB h0~ׯe(W[(A@kGïV#qlW^D?U-{.+Ab3rZ *ngb mӭ!ubs +KPAa/3_$Aue z\:D-?  !4_0m7r:_\S/I&ҭ!Oϥ5_?a/^PKa@C?O_H6!$Ką[+рkAGiEp_,7>ʝ==֔VQ\BJa{+рk_}:{w_-,r:Fuk]_ZPitQhU,<#-\6zuHBZǯ~R^? }//zu9׿Q7mKoV }>Z$L4 _Z Ayu:?߄?_"?a#:GA&T KAu?/ +u +r:}zZA>. xWZ^Z K@zV\H6A^^GYHdK+pk]/K}ii~Gi%iZZwc(ۮ_O X`kVzh/j1i:+ U ϯ1Z }-E?h}ZKqN Ukkt5 U5ZXK,% A_m9I~8%I/$O5IqK-(4~ZA޾z_bF ט@ :UX0Uhx$-BݤHq5$en4 ׸`%eTJ]RBB]SB:B#B#CH* A4#PT"k E""DGZb**&HYdP8DԷ'TtZD"&3?}jȄEQY/I8pι04Ig$B2Fs+yF"30fD~ QvÇ m!i!I`dNaٴe(l6l6l2MCn*ET8myPӶ 2A*Do ‹(@M_e' @"]]UB*(LZnl2MtT&O)79t"&0͗8AM„{ : +U?O鴧.2aqt۠<:u"@(.a6V8s +hpͯHL@oAp 7.m!N-.\U[Iߒ=k +&6+ki}l*΂M?I սEV9Iit?^OSL$mQgZ4>=׮>=?FI'!;K<)>}yőa:"?ֽ&*ӱ/Y0 C \w& 1HNs5Iѫ[\_AK89I8-dd~"/Q9(C[/ePE"^HB 5&ZKD_Q^.LVUe'x>-P"?ji Xi9ᇪV.T5(=(_g#O]&{<KQa?KݕYPD~}KK|"8(T[pCAXF4l/KIBZ//@ZޔiP%"2: K??LJCPNN0K/q/oKAREWEGA+ TZiiz?&6PmAi}ik=\4G_╠^K/<_DCH(O{(?Q}O9㥜X~ւ^fӭE^K./KVPI,:K9^-iqll? 鿜?U) K@_Uk|E/#lr:_񯜽/et~cBCaהk=q#M#+-b> xy"I kim%[J4Bu ˆq/]IOCӬz_H?L/, +B?_ z[}f@$ir/_?L0ȯ" 3&.==H_]G DYv@#2_ 玗Rץ疟C Mh/_NNGO_>=in  l.Ϥ3@/zA&E?8A?o:ϯ-o$ȘWK^A &UAH}a|9 _dHۮ_OKIA+ k|}h/c_EUD^I6oA~-IKz ~o5 1I[zUYrI:g9@P_/A^ifTq_A>! G?G.KUm./5 <ԁ(<W-"ᰏ$+Hk(_y[5Y +s΋ &T΀KKA?mzD| K` M N3M?V%I}OKʿ A\ӯSoKe_ح, #;u_=R]?7NaץWat 6k_@͗[曤:K&a o##_i^~okIRKit8cJaA& I8A6dPE~" $k5I+a,\%G} k %`Ă0H0`   .4N7; y+ khx AK#@E!LN0@AN ␃[^,X1^#A?H&"4ABP"CTSB:UDqL!I1ADDi#B""(!ج/KU +endstream +endobj +21 0 obj <>stream +x+*T04U0B C=SSB!9WA?37L%_!+) H!$Ѕr\C;O +endstream +endobj +22 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +23 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 89731/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY|pUG>_BAU  r!䅮dR#%յ[!zG$*:NW\{ +W_Ko5OI/͖l-&^A֓iuRѱI|_֝bq *5!qZ8ztxOM8 xbP-${ح&+mJ_P - .:KU]IhZ }%/i(Ԡ/-$޽Ϋo,$b:'_KcK,$IH*J~^I}^JKꖕ/B>aҤ/tv[zi$vKM[3H6L8d0C@@0 40)@a$Bo zhtD6eS;EMATvD"*͘h3^K" tau 0gX^y& C:g" n`pA]CN6 2,@56@lPݲm0el*F e&Mu +*l0BeT0LQP:gel3T2S(&Q a.@A*~iנVtQtExe>e(DWS in fCl#qŗI}$B4ԸL'Ϫ%'<'iB^B]h + mMly]D: + 6$/V XtOvP##O^hb\UضWgAA*EVޟ%|{~FNBy#oxG56q`HGE<ޓ.9"#ƸsL\v\sDFޗ AzSUl=oΨId^_r eүM/4K!}i$Keֿ(K.sςJ55PI _=$$ΓuĂ^`3zKK5/6WfJz^Ǥ"|Xqc $::uKNt&~I~]yޫͭ/^ 6 d5i6 !uI^8 TGd`1>K#E9_K#Rx(d"A'^3^qdGסJ3)YF*"?FۈO -(~*\E"N,Bcrhr8fi\YYts$C:ĒF3zt]x9#q~|=qxMχ0:|>uOejtU9AI&\d hE}uE9)ҏ1?=TMH 0Ozl.h/_KwDvx>.x>-}--H:5k:_C+O#ac' X0zO%a?2D* +C=E?&Xat{\_}ZZ^m+6 0_G'pN:̓BL? HFjlam&DuײA1_њ(_M/"/B ײF'PukAb`-ɣEGl?K9^-iqll?u~hXd ~dXbguz^N ^f g#{:?@9/f" #@ؖ||ïN(TAm^s|ïM*|98V~_hKүN~\I8M\RZh"$o]׋$-ԫ _X*#MXoIB_Wֿ}u +]:7K&!~!RG/8cVQ:ﱷ_R>FG#Ko!DGOߑA8"?~)~# @[X$_ C?i~ȏ]) +K9DŽ_y,oz[} _AI8]4/% ._ ?|z`xAZ ^ͥ(-5/u^![j_~?K-?H~o8 DU_ׯX Mh.?$Y/J ,L AU׍MץM.#D{x_As{PEߐ?eg x;Ƹ55/qʡVKWKuU( &Ai_YWDt-A1_U_k]2[_Aos$%_e?Yk4~aFY:kO%nEA>! /-P1)!-/[I +C)!pG[ڏ5 #-ˆWήyAl![J<Զtҏ5.k_~8W~Uf1~޷ʡ[KۧҞo/)IK?$q_K3Um;v?' o%GpE@\B Mߏ@I_?L*@v~ @  -)ޗzU)mxz_ m&e_>J qI&%oS Dvz^a(N !, >?b??:PAa}#ӏ&ov"0aZ]|D?Tp# K&䅤Ǥ߈K`o$$.z"й!$I/A 0i-xA0~ sab; padQ:LH,2%iӘ/UQ4KL (f%"&޴ Kigbqn_%Iu &VtH2(B `Yi/VI S[AV `oһ!da$¡h2AŊCfLZHZCA q688LB ]Q)`j0b# {C5AZD>FHi!,A axX5,$eh "8AA$&1#MP, ̝4"BhP CVӂA"""?Dv!iynq-@7Na,E"$ D0$ ;1ْyl e,a#TPƲ-Dt{0f[athrth}Æ/u 6q\漋i4f9ENᲫdUCgp%.l"$T|:ոLY 0S%HtۧPh"2M+ոUaIH:%(ۧP{o3L:#X}Qh*EyeQC)7I&0aEF +TeIn|.O鸺HR=?FA7?F.Ҫ^jM +_*Н4!BKL|{~FO"zb}& ҝoY/^oR${N~8~'AzSUwIoH4~DD7K BI-\0OBI/o#J55E4VzB,i$&A: 6&~ZDI?I$&0ɯ)~x@~D`gI >7D_DYKJQq/PDi6нBI& AzG/nsz'GNI_^qJIyzr5?`gt_B꒲&d"qs<&^O FsKC_9 J}Σ 0J:/ץlB,NEl tiC:ƌץ~fȏB/In4 '&K,G֍-&+=.Tqs{DN.Tqs%~eF#MF3GTu> 4qtqu/zu/3-(տP쌏Eנˤ.]PAq0ި ÞŪG&&T$|\_=tervPgЪNO|ZDm-GDpa/b"O#~1m@%NN^HKK/tSr HӬ W"?LJ?Z_ n"I}#iPH_#a2ih 0KJ_VF*`!zsDtV_zV07Q_L8M{(?QbH0f4҄S6PmARܚ4X#z_؏,8~SHxpeZZk L')׿sk:YqkKe{ag#_ 먆 /#}s|M\1! yl^Zo!tOy\)n+zWZS·/$}>ߤ~=/J9rܞ%K,rez]$>N[aticD}:{wI^>zat?Slu])?탎ƿ&8? x^_N> )M`zO3?* +yuֱH?L0VEd=/ UR.H?L/?} _A\ / D~~3_A+O a_Efx kfjC Mh%0^VK@ &.==H_ ` _. _ׯX Mh/?@$A^@$\^zYBk|/UH}" 5YeP?@.~/!>7W?L//$K$I^?@J"IY +\sGdl/.)?I(AI(A sGy:_8JRW8 ^a2}NL5]lS8g ,85y? |B +/e A!A~‡~s/~‡5 #_HߝbΏQ@$aerezW~UdQAUߑW~Uf1]5o (aA%]?^| %/=_ @p =At 4/"v/Ak8x'D%t6VZ,q5481I"%8lA,^ႯGCGA"A}0 ZGi$ +JЉ%4#taFFDE#CCB(!ЈDDDDܢ';`#)JKrt<._5=0T吩di楺`AlDQAf ЈDRgNF+Dg'(,Zx&4n10Pʧ *&u L&/((FT3 qgTVQ],-qL)(@њ"2J}Bf&"2A(E#NHl#qI;L>P 3Df3࠸H4A^hb\Ur4d(Ӟ-YPi B0oIsL|/R|:'hD{O^_bmlO}&Mno_> +eT0 ?IMWfpSL=/KK'5ʽ /տE}-.a/kCI!?AiCn"?B/8]6_z_k-#D$`2_Xg<1Dj/χ0Y57~V{ҋ$Y֗\^ʡ9"G8(Xou0߯1?TGkgG)>)r!+u 5kyKy/=-߯Mu&Xat{/@]__^'pN:̓BL? =/+jt8_\zxC+MD^iake$/IAQX7[83Nuz^NΠ}0{=/ 'G ]aKm,%HZ_D{ȷm?XlDa/*^rGY /l. /*MOF}WA߾(#T!,_F>G?,\4:@ y>NR:\-L]Mw? yK/ԇ玗~CQ'W]h< A{޶/[]ȏ xk?~zJE%k^?# +mLW(oK _v)د_AnaSY쥪[k_~_0/AlBe';' GkCBJMa-H--2=[9g^yzDtB noJzjPpGKaiOWR'ʏ_oReL -׭1X֘>A&A  -}_ -z[*:/A:L?WI&Xpw?|GI)Mc@տIa(,0oӏIKa(Oa1oӏv[!!sմå~["z&<$]\m4"pp`XdJ0Wa'\,a~`^ %V (M3F: +r +Un*l΁gz! lef2~g.4ʣ:EuˤQ'&Teah#Eo A(AyeQr1섈ˆ1mˇA*P]~] ҶͯHf + \8Aye*_둠# v/nz~Ų: + ;(jLL&yteWP+:|:ߤsL|{gK}v;Ui/1>XFn&lv* HJ`?Z"?]SˆW_ߤM-_[ttk?Ti{ĂB&گTZTߡƨ\k{huEuҜ1OM?%}zW(]%uQ֥8hG H}18 Wץ}_נ^uAyRtv8o>IF(Fz_"zVZ_`i?o֩0Z\b?`)XtI_[L?]ii|^ʡ:7Mf4Y?Fz98$D~\Ρ2a=_"H:GI7o|oTa2Ftt׮kAKK5k_I*EG!/` 3oTi[ H^K_Keh}eY-uh bgʫ=Q?h QuV#e:ey5k~co3^:]ioPze:eyK:+K--?K@_ 3 +!]__]D?͂t_fkFol5ZƔkM/?0?u _Z_%K,xKo4#[[^:i5ǷG`zO?9z_PTZ΢ r@_N#'U +yq.VGGc[K8#Z/=u-A}?]?Lϥ}:? Ab]k~ߓh/:ˆgKKB=o[Zm|{ׯmYBk?~G_(UH|QIuiZյ/2B|5y##`[r)uנ픵>PIZ ̓^_ئ+}\S"^"uz Km{ksҖ&0`_qk<ig&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*"R+#TW[`AlDmDfR0 eQDS<+HgivH ;6UlF"26-2mP$&,fT[>qeͲظ}>g %Qʳ +z:L8Qy^F2v4 -WË]%7 rEjy8&v1ok0:*[I0wP_7։tv;_h^r /T 2*ѫz ,pF@_!)28-!h迷w^9. +ʵH/eZ*4Qz! -.a !h"кIWN#XQua_ zHHQ8]CЧ%"A1r NB_qJT躏LBOT?}(eP^D"?#;/ҟCUrq/>\QNKA!/Z_MaӮJ?j޿p@i$sHGFAta齃ihn#K J>$gIJi:WStz_ EۚF]H0ai|CԫYDI$a?,7XE:۞ D&aָ0T0׵A_z 5_Ď|~\ o_M.c} aw__zSm7]Mrjd=mWy:/' Puu,__][{_m[kkƖ`4ڷm[^׭.ZKtʿ/-{ :ئ+bAn[j'_ӝTWa3'1 ;AdkIn_5]CN )횠p漋ilZa&q;l*Q;nBID. *6HHL7NFmPi 6i7P&CWb )#EE>CH t DDA0]$hTS4|e;!#[m}Hip0s.Y$@oݿ0eˤΠ^P:0n&e%JbgBN-.\U[mHl!H[+kiRIť oԈǢ]k΄؟D a5!%>=թ 6$x[ѨǺ}P9 ->;D^F-, ^ӞWg_N pXO>Vj6:}/Ju?O ޖ{+Nt\ +jC򅤒I~X? jl 6-YjC򅤒_ _=!&hCƶVUHI|)%$$yeju`fiO$I _omR+*ʵz }?нBInse:6Q\vB $NcVApZ\Ԍ/*"оʰ9 J&Ž8RoK]RWZ7oS4Rz΅>yEJyŒʛCjL /?^Y"? +}B3^KKKP}z_G,.TqsiB_#VtLgUts镞_!.ZoɄRFG"ԗl+AN=~s\J:qE:_p"i6*Ӳ{<еL1Em-G|ZDUe'KB[(AGtR⟏%nΞO/S=}/?xʾE?H] +I}#{Z%#h_ф/~/J3ӓ-Rk_HT-/_/C=9::+O k_#ޏ3FbqlW^D=1V+*UgI0;]^D?Kl]qUoXjbsP_U[+CEoXsjb]7S\+mu?M~yt癈9#TRRM~yt癈GK6o!_#>!K_nzTK +a_gғ4/%ⴘz]$)^>zAsLԌD]|VKҼ|6]B )$>]^ؤB )uzN>8ށa_?/!BH_ XaD|esE~zEВ{QN1VaE~a+OQWlT`_&dW}V 6kzX_:/֯_Γ6  OR֢O:(3G Mh-H_:/ey/-|K(ol| A SSϥF\^%֔i76>I@P#mvz_|&_ /?Tm -/_f:M_Acm[^/ L?$KD]|/K"?&MQS_u\$&IB 97/J>IbM9.[[zY]&b$+ *_)PA A]ȚZMXP?IyҥX#5  ֗_86F3y >zץOE ΂]-&A?X<Ϭ?$9/lJG:,RU'Kaxo%GQUoO -m u޺ZM~bI*KaQF+ xo$)t u^ MWM +p~aɽRXdt|| 0NV߭ COZCz oKPwAlOW `~U!]J&\w%Mm>"HKHH^\w%MOV!Ί_ATaPM]'x@APi%a +!H5A!LL 5NS⼜o[8NRAkaGojuB~ b#а EXhDPCH! 90B;]SB:DzKaUa!z"#L!APЈDDGZ+Q*G`d1\B;RKY#R;%'׆V27D :pƲ'KVOTF#!`Cv::wUQӰl>z2]Ԙ6 DmL20l6a;`2 l68eV!]CM6 Fv¦ 6`¦wvϨ:P "םI*eiamt*bS>A)DBhP & +%^ʳꁒ`"(ZIoH&$K]$h]C)@(CehskΜ*ToO%Ӑ^Ƞ*20LL`ˤ,yBt4IGLIRIm@gTV$$|?I _OGI'fD<ׇ?za oKԁyC>ko0 c􈷚gʄ'O^j>"9Ii0~T&9ֿI7ޞ9Frc+57I|E{F(}~ht/򅤒_~X _/PHDGE95ZrkRsxO5'%k.HO i$$VAј+R_k?OI/B $NSVApKhDEI/!%N"пЏ+S +B%e`K!uIY*Z7ŷS9迴'[~hpbsN.t) G KuE拯u^E8_HkoSњߠ]Ay C R#Ӝ"`EC^ߠSsB(Py ??K"UkFj(a4=lsQ?H^UV =Kנr!Ћ3!4im.W' +^Ai7\eL U]` (0 sΊI-][Li' k Ie ?箵6C Hv uA!7ZXA AFw4WI$i[+__H0 6#7NK`ZYS U%` _:Z [ai6$a֓-/ `Ia o *]6֓t$I}& 6 j_ M䄋=& IJRlt){=Mh.-K-,GBkAi$O0zL1$i7:+KI^a"(.:Ba%M_6z` ˛ 0AE/ 6A:PYG` s9:5_6h'<ZMc K%ORA0 0e)Ǡ0A$߆+ Pi&AQ5#eC)` Fe8b{ ċЃ k@ a L&^  + QI} |BA&_D% k8xSpMAE!L` )X^P 2 L$׸`A5O +E*] GcMhh D FDPB"D +!ZHFz"""""(!庴[GbqDMDM!4tVt̃"ar +T*m8gy  2_#H$F& b +QIZiM\;al`afh֘8tL`5#Z`;aVrС-: +v~}$u +p2dnxe4a tD 6pDNVt|VVs! IWBȍ&rmV + J?}Cm( .aΡz Ӭ{\GD>LaN*vPN灸#OF<0O¤K(K.i6H +U=.o;Q<[o9!V܋DƤF9IiuN'SRlRPKMvS}VD2#$~r O/ajB9I]t}a:3ND_Q%VOpUKg"kh3o.!j՞&@tG5W꿜qlQ{[8&~028\5#iO$j `1}z󟤾*MjWN?_2^& 2YT8)\k4%HO&GZP.ATF0D"]DZCT++lLYԍ +񧨩3^D;(JIGzsODoWֺM:F*I|?"E:.JY8 F}ruP!ZA5_~_|ԇ5.idΝ:4hGD?udFG"tkTVC_l8g:֫¬0\HR*nguyp.ʡzWMQNeuvPg_O $ J|>$nep[Zeb֓H?LjeVjU]K=?{&>?@M¯Ka[Y$O&k:*#_*3ӓZ[IB)ָAՈijM浯">n+"Y[ڳ[ba ^_4ۭ?KA)t ީ5&|%i6Z9 | ~')׿qmVm$s$VP%_"ࢾ}Oz鿜55K|>S^(H+%T6ל>VBנnj~ߠ 2+6_\@"IA9jYoY_"RH/_v6tn=W.GK?_OOnto/Lz# +ތ-pZKv묆yVߥgLKL6=/H0E~.YAςin~Ok]k]#-"I c% 0Ҍ%X[ni2ΈZ~\4I5)P"?t69+O ȴS,u"=C)_=--J&.=<2$KE2.4kQ'^)^I'Az:9< A~Ki뿭 H#BI6/GLR?K_ Yt6t}R_cKoJ_ Qaf@W_R=}|/_|7ϥn$KAzOADM{3B44 *vR 0 k_@ktҬ|]7d}pA|{i%I/ZGqΏV-u>#R_Im"eW?z_$ǂ%4z*O!q.wa*i-]r9}zXA=s@Km Ko9 ]0A%/; ?:G*]WRyF*MIAi7 X`Đ:_KekAװt%&/Akl-&IjWl_J*]קᆐ UWMKmI6omq%&_@_KRlt/0 HI/K|ߏD!6a%IWWt up`[BA$#cK`L$Q%诠a}*D8?&H/T1ɀ]l4 s2( t'6wHԕ-íK#ǯ4)<%Acu85ǜE:A#& +@bQLϖLMQ i+TSO/ +A CAЗ:+ $0Z_ t 5+ A2 klPLh&NjA&RDA =?hxA0ca$(-/0TL/axhxA0A   -LA0j")8hAauM G +E*X(I5B5M PL$A)xA +DPH!0""""""""(!hDb""""#,Y";D[,v!&բ3;#h-3d83>Ӝ $D4Vcѭ #Z#TFv3 FbBau g;Ecep$B&-4a¨:|&UM}A "nɹ> %|:%\, ˜Xn.4TmE~!! 聄Io-*aZT[oP=,Ml=fםAVui比'NE@MF^>5pol2u|%_a|!i:dd}"w*IťHF&_$~}_m[8F V(>BlOG"M^9Ii^jM +_*>W_})'`f_AzS0gMQ MǴTU80}U Jt6D?(ZI$^_=!3_w0VKON#Byo>H] O$ݾ ~H6*H7 rΥIQeדDGE8eB2^_Om-/PD|x:k_I*KUy}3/4{z_B꒴?64TgCKCYK>:K"`B#5^dʅ0BP_yZ"Q+fi N9 JmϯdmscЧ#0#~>_|tz]Q9t᜘&Oߠ!o}Dʥ @)i^/"q3HXzddB, ղhE5JDPg0}Y{K.9ZM?JePvR=XA]8θ +_m/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\}/O_kiZZ^fzrttV\ƿ#0)I/<~i:b,uy4ti/l^0 XKϫ}|?!TP@C~D*Z98"T)չŴ|?^zAu g%݊J"=, 6<ֺ}s|8i &9k](D{5o^=~mxArXC?EϧR۬#@z^yat_P]zM*}8IiTlg/׫믊at{+RWJ}+Ҽ|:Z*tKҽ/V&!hW_,a^PFIz]mޗ &Pj|sE|D<t$ۮ9("?##_ϡ!Qr_KeW_A_C/k5b@$aN;* __'ҥMKJaI4AsGV+*_ GoRM(XaYlJ[)Z 8#x iҪ- PDy.=/a\ׄA/!VK$[I/ЌVߠI; -4HK*@t$tzW3y7[il5^4M?ZIm%7A(a HM +K5M& +K xAmǠ& W? "J ǢBB0 8 /AmΊa5TAap &~1?A:+o8*k sĤ_ <0 һOK(? ?&l4Sa 2'%t&E(J L4cT@DA1A&b`] !&DJ#"L+ &ya- 0vVH2|kp Ah 5A c᠂ B =&AkaG 4 `!ÝG 5k$፤2h >NHZ#LPjBL X!h *`a`džIa4AA@RI B"A 2"B@hjM`*5L!AT!b"""""""4aDD[p\2oZ!YREs幒dxŅ˝LF"6|גvwZv527dSRs%vL:guw +AJ +Y 0m8lUa;Mad ]M 3ߴ &{ `@0}ӄmX|*al]T* Tvj1h$ 7wT*mUeB 8T}Ag .sbˁ}u%O_ 0őg&ۆS:nU &rm.mal2祕3{uM`LGP ʀP\ T 9@D}"FA:fפf f\0Woiv?$ }}?46H +*΂Mw)6H +#*.٭?ۇ0~~9!IKB>=u8mH6p)|BtzZzn/@E__k(?}nn=vm()kotq>>VѫUUO_5]CHn_I/%wYqJqQxXh/\]__)ɯSC^!Y:$ΧS<:."sQOL+*A\?3{h΃1Αo6\2:i{_MeZ΃qO"Ƞ*0I7^Gۯ_qKh,mz N@AxGn DZ-ӂUGUT[El;KeTq9Csk-P"?k])t&_ꟲ:(3r'o)iYw_<_g_h:A O MK|=I]1xzM>_0aQ?ehu&{z_i$P"?^< T/_~A/`}nP~!־z~, +r< K/_]Virr1{tץia5^99NzC_"4(5ob-(D{5^ 96z_a ]xKZy$>K%b<_YoY۬"/hooSu>q Aq 5>ʝ=G] ?K_^sEm_Zւ#9#D +FG/KrSsEGFh +տzL= e-}/zu4_ w@t?}Aq$t ?Z/m[__^ +6HM%]L_4C@u0_eǧ:/\X7d[[|[Uuׯ_'_t._ޮ?^o=RA:_ Tׇtk_vmcEVeTA| R_O_5ys!o?sg +*gSq !S&It_ipin m[ .y_I5BH֐lH#G4]w `2/K~BI&/_Ka2 eZ[x i- &QPaiq?[(?%Mx9t_zM]Ka v )isz_KIaֿ)X`4$A~^E>$ ֐^M/K-=.)b>kI/~մ a,0m +KO%A;-B[ /萣~KV1z$/$/8HH%>k dO_P SCһ$h > +.::+ti0"hPi~2}"SXjl5^*K`BA |iߓC ѯH,0LSa쥠,05.z0||$á++`%m&DH't;(sg=_ L b@& ,XcXkA A '@m`֖pJ2& Bd+_BL bh2 Htm~pV">㵄#2 *5*X_E-# ¡G5BlB5B&PSB#CAЉH4""4"# DDDDDb"""?&HȂʑTDرa5;tu|K(ȧ D!Y $ICux3GáPueO\0gVj(C : oOoO +d@(.!9\0bd#HbN5aA17S|y*eqVtmo6M'gʄ'Om=h& MBAޖޗ{U(Zt?-oC ${L__C մj٠g~uI~o:4%pA?w ^[IzaK'I6Dz7IzF__6ސoX955׺x_NO4I- .='IjDGE<NAοCZ?M4 ԛI,dBJl2<2~?LWc.G[*'YS5ʙ#6EI&D}vW%dʉS5J#HZkUG5"ߚ,@!?:v76 ."ӋN,ZSOFk,<:\.d4j1]$k3\:kOg,I 4C R#Ӝ0K:{=tJ*eB?|?T +k=tJA0m( P^0K:F0A]t*`I-HXH0 "]%mCUGg#(?5k//߮yƶU QKn~DKI+ ~4֖":UIyNzȤhB UozRk_z/@PuIHBI_aVeliAfWI+8KY5_{eNך*/.!0X/a@+m:XIoA/A_8Nhz.A $PitU_ֿH`[9 I?Oy_]_/edmwsG@8 $g$ΟEU$j$ig]8[i_@U"? D_$f#Ze` 0z$hЈs?__imcYP.B*!H ˢ@lK_S=z[R?%=[yt9~{?Al* >r5AI,$D¸_eqT^GY/_côZS_}x@Zֺe}?T +֢t}{((cVUK36A"G!~H$%nV?_]=Tj3!1A~!*=N? -XAl4dwc^A6 H%ZU ~(?ǚ?B%I%w `2旛5PkKU  DSUMi~^ΏWaǎ]i2z7@AS"k_iZ O)?/N/e7箴 vOWO_O-ӯ *ԺAvdI?/߯qZL/JE>$ ,)P#;UPΦ/M 3)b~^%Ǟ]}v,R >~H3 S> `g&AiXWZZmV%5__ Dvz^ 7K?aXh/a$";IM}%[_ֿ7b"z$--,GB0m& ũ` _aAi6i7? :@C}+i7$cK Ž0A$؄AH6z_KKyY|D?F"S"'ɃSad\ii\&C4( ItȠ`ڟ\` (frIl$K 0zMd Y$áK-z0J+bpl1T$ m!$M '&pl1E,R<{g*=(5@AdX5 A00^A9VI4`Ɂ@  %h'דA"WH+E!)g`U ZC H %& D  Nj H ʘ$eab#i#2 !X(HtjR A"4)7I#CBj D ! hDz#U !ADDDDDDaPDGY=gb"ܓY,GTNv*8g\<#RdJT3~:Va]TpXOe${O_GY􍤽/՞؇׬_ yH9 +rk 6N?/1BJl2eZMkӪ#`ez#d j$^BJEi~pk#G>qy)Ku))G>BPץ~hgNZWH?7zT0"=9GK>k7"^HB 5Dz2?fʀj@]"Z)ZDKo-CI8aeuvPgu?K#AOd')ӓKu{ ^#W>دD[u֡Gq"/OSR+ץ6Pmۯ_^AP_AuF-:w=t +Z{M[]7󐆵҄G^Z&?$e}#XAx~lBI_ϥ'o!tZ~:Z +m:zWK]eNk< ?4)~6]{zN>o.i%,J4Bu HBXv mu_u I|m+O^G@\idzeNa/It_&.=<2׿2iңY?K/0geށNNGO%%MUa3zB?M +־/lD~o5 1I[^)zc_yt!*_~/H%Z l +)D.$O5_%q 5/AryO#xQğ][Li':G}}/gq` __oKzV @&%{K 8zMAi7H_=1 H6s?B\ y"L /36` "l t= '&1Q=|R|$áAK"HA,XAH! 1A0? Nd\p HPXE!L` (X_`) +Dhh D GhjM`*J"(!ADخW ؚ&y\:"*#V);#"w3> 3̶rgH1Cg ++aYP8;Ʉ̜ĀEQ4in_5]CN )횠p4Ue +*LvBDi&dh5 $tJa¨Pj PuI,-Bug& , ˜Xn.4TS4p}M6אae;!-&ԍ d`?2AqeyBt4DP\ RL/a4@IR$ذCKWgAAR#"tVy>m ߧDԁ6p)|BtЛal?FB$Ǻ"1A'Z_Oӆv;_cpSiӞWgON pXO>VCj6(a`ې0a/ y@U@{mX~PI/՞!^UAŲ0A|3|f"WKKZ ![+S쪎$VO$rk8N0)'%_/0θ+S0 Jy$t_omWyWYVA^[^$K7F92f}i*?^0/*"п ޗ󐺤/n L[ӈ!l8Bֈk뤭 LI::yZ"ƌץ~hȏHeMJjkI6SZ./#eCa㥝VE9c?_KjΟP@iz\~t?]ikײ9ߓ 7Zzנ4D_MW_Nsmr!(UAI/ r8pKQCI=TmhZI%@1-Q_dGtR⟏%nZ5%r.>_-?xʾE?H] I#O5I]z-#h_ф/ +iizZ}浯AijM_6bKnc&klײLk@U8j3zS]-u,e7G\k\b@C~KZ5nr1mK9(/ʡI[뒉#uc9_?M~yt癈9#TRRKRIͯI_޿Dg䀇!K_nzTKתIg 4/#6T/W[/_!JXuKd&bKvE3W/׼Ro"]B )$>]^ؤMzT?$t_D|eG=amsEzEВ=}|iGh6quLy+a$gKeN#/VaE~a+OQWlPkI񷲈2WI+k)f֯_O6  OR֢O:4ނ]kl:}ZZQ߂A&@P#ׯK8,5 } H&m,}#ޗ^|&_ /?Tm -/_f#mz ߏK0 m/ _uK/@wA]v)[}/'괮넖!I(Ag9ץG3Sxu5iYUmA/B ZU^>J _/DjHH֕*/HxA1KGm-gA\QAU|}KH!K('ұ3_yCmX0~ICr9_Av~Bl +ii]i-R PDzu]& "%yHeEW tR&B1XN~$??0(A`XKgoJoSᆐ U  +JޗtA%Cㄯ?= oKPwAlO_&Z_Ί:Wi0*kiEZDB*_nIi/ O, taPM]'x@APl ~O.JBݴA285_z I vp{ {Z"O.GJ4Döf$ |5 5 &IdXQ'a)p^N7L-'K {)Lbcփ A0wApca{ +B e!pa hxz},5`XGPڄ& +EXhFM`!A !uM!-T>B"# 0DDDDDDhDPT""ЈDDe$DY$F)n+HⵕTťjQy( d)IGLd_%vkVL#% E:%L 2)J64D#Z 6 f 8aʬ#6 gY AZadFÆU5paÆBv2(PEFQ2o m*j[MN 8T(DWi 3 + @Äͪ8T& 3 +Ai B*vF&;935 a]U]e:a#E^}EfA(Enb\(e [LleK*gHH44[{:ypB΂(!s_wM2շIHtȺOT- {羽GISZ紊}p;Oͣ~ۤۤ?IַgAOl k|t/E8kttr 3t8?&o'F6WM:v: :/a&/zWFei޿Ig"3OΡ7 DI_ӶKWz_BS#xqQ$%<:!I _U>ޓ+@YHKKB,K&HUgXֳMVAupԕ,6HplWJV"O__I? XkYQ +H":]-'꒤mC__ |>(6qkfkQl~}{+Wʫjm.IR~TT?~Y>ۏK5߯\[_u⿏fI_3_HH*H*0-K/kĆל5FןC_Ț/\粑S$zh%P, }={@7#ϧY_YA (cP\P!@}ui7t3:_"/O Uz\^(@ @olmXFΣA?WΟS{΢AMC @ _޾\4K¯._#JuI:ArKt Awn##/L !o#zh Av ~}ot_.=:I|NIZ vMƟ%鯰!ǚz]uNm %@kGizSOA?uI6֨ SA&q^o'_ y=]~yf4+YN _Umon`z"?R_0%{(FM']=0ArްW0 +T>zRZ^ޞ+8mB}O  $W..re8ZTm&\iL?EY*A}Kϯ LlHQs8/TzH<": $/H J*^KBuN P"?C߫u!tOIZ9[ ֟i /?_u__zMe8+[(}!IoI륚[aZ~?jii[(uV]&Cz7X[(p*_?bHD /o_XMWM0RehoKi~i ~ _▓I%Tnomp_*ǤNL4&h'BA~ZLi7_k@ I//m7S_ Ii6]7/+"pC󢵥㔀D߇5 4 +L Ƞ|TiL0C(7~O*ZZ@AcYHԉjkKm j[Ju xbEOA4RNAbKE3>H&+DT5z$ G1U>F7[졪L23RUj; H& ᠂ I1XA2/| pA@|:B> 4A` :HAš/pc& 8v4A05  /GC!z u*8K Thz  PB#@p@DD ]SB"8B8X2=2la$#0F-5@DDDDDAFBTJѐWDؓ,VXFF/Jxpι04I>NV( d)JGa_% o"/- fDP)AC$Ԙ6 3la6 Za8if L6 j`22g-)()h8l0l4If*n8DK>Ag2苆afna¦}AalaWi°"B_kI7SPDIC)@4P8Y0Iot:Y.{+S8UR7ᇧ YoWLooQd`?Z ٰ˞TϷ}X=#֗Im#n$Z]k{&_$zU_R} +S) 6!%|tN k#fT &~i7=tq>On.ѫ0V?ȶg FQ Kg"tIFiE>4=Q?xHQ^꼝)W7tA<:)IΞi!<:/ACF58+4 IMC_[[*4nZʵz?ʵz>~sQONŽ:^Y^ /*%OB&N#qD\EyLEPU__-4WJ9OCFkҿ>IF)/AVߚ)Ч%z碝 +}B32  28_HaDzsg\餧_BJ-&,k׷?K/K5*q1vSq|0_WB-?J(a4 {##Ρ"{*e vЋ͇O}$Ku0 pE%Ue']I9;(3p,GK{6m * -Duʡ|I2~?Ȏo0 ɣ_9wxmt@uQH1\"z~u(MK/\{5ta Ob\kKۂ#L B-("?M}jZf4GW_Gq_Ut+Ab&_p]0eأ0C_:\1zmׯ}VBbA^M^P + jb)rr1{Y>`鿜5_ֽ^}>ֿ87. ++Ć]^ Fi %})?_+H}g}#uϧ 2+~i/~:Z V uҼ|CUOnto*l}!U( /ƆJ .^|>R/oI:_5k/K~ނe3{ $sD']-$M\3zEВˆX[n3x/.oe3PfA$HϾ6S_D8V Zd5^mĥB#K#Kj$_eNcD|$aǧj$\辕':/T_atW}XAh$`ez:9?? +xAw_T/o $g&Rk_-/Jq_ $F&Q?_iaA+ kOW_ ck^u IJ__/atD~r-iW?:TqFfRZ^ޟֿCIW|8_uJ?m/H%Z럏 4_kJ_m&DI-醗 `_Hk(_+_^ +>K/$GZA Y(}_ <[*!9贺?}~+4Ka2 eUt:kdI?/Z?YN +=&HR~fH-M!:^_دP@A_ʪ 'K]&CK#K0<}& +tqR0A-RtKoo@- zXuo K?G#G]o▓%I>]%_HH$I'L>?#r cz$/$(qL0h'tHKH8AB M 0ү'0q?AΊaΊՆ"zAPLD \\i2)} AC =&O/Z]fI&UBG!Ѭ56yyJȥ+ h(Æ=d;$ ai2(t1Q=|KA1Z"@xICxb#L? S`2 z TAa =@ MiGAia@|:C 5 ~D  z"\ OOPP) XAQ:0ZCAa~:-, K0UаѨmа xi!KGA"4A!CH$T#4"-*iX(JDEqzKDDDDDxB"" DDDDDDPC`h 1Է493:KLDmE3R#Y;jG`hpƳ{6:(rC-J0m8lT(a;M*npʢa3ۆTȢ5& Ⱥ6l 3,E B6ڰUغV7i @v6PtFa"XMS 8ENM % '맄AC較 Og;s5".b֙H(t96]$hG%xa E aWT Y0n6QCj/aˤ΀eaPGS.Çϡh߶6Ҥ$|!l*΂MآEjnO!p׿ ^jM +_*=c?_Zb(NoXh/\]//eBS#)'%׺xŇM-ӂ$~<鶁JOR|}"O4 ԛeZ~H~(9٘+i:FZK $B/#mD5CT4`ph2e ih_󐺤\RᲵ1gL,gL 0I += vi!SDPMa + 7::B,#?!0V77(i7o.}&TIIKւ.Tqs2KtK vtز\R&uϯ lI/B/8#=9'9@B,7?B,7z X5l?u/"AXa9+ҽÿ9C`iSҟC8U7 WJqTH,$~ή Rm-G|ZDSֺXmAa Îc-!K#T<^ꖓɞꖓ4H$`.?mLWDCK}-1?YA , +r< K/J$*к:ӯI"qKL P\bZ?g9I +#5EZa|24TУֿ M'h[r%&%!5f#9/K)K^zȤhV"ׄ5 Ae b jz/B VϧF*k_h[ 9]$ނ%^Hh AiDT(&dW}_L*S!恗7/a ">,$f#Zesl/+AjC@j$#6a(oM . ZU8@$]zZB*Wނ֨ . d85/X=| R^zvH1sCkҭaނu)Ah?yN ߏIJ"uzϪ#T8 tW3ӏ,'IB IutL~[]\+(W:6 +kA!_c)iW֙Z9ƠKVce92Ic_@$a*_4]w㰵vY ~B,"|_-q4ɅA%?"KuTA~#a\Z~?T?_箵 PD{WI1@KKo?mSZG_ R ۥIl?Au@vA[Zt|zP,pWuԿIqPշ?aXh/ۤ-B[ /&`'T/ǢB >%wM؈!" > -=7(~Ž9XB*jzJ$Q%N #Xc +8Ԡ!c,2 mN%͆Xa.x%!po&$i\j}szE:@Aab e,Aa yDmL23RSivLbCCqn__IZ"!$ò` X8I K( Xac& 8v+ A{A_dN^N7A0ph0_&@a4A:B 6 44? 0U8 6L!GAC@ 5CB#B&P ƄJ@ADD吥d!őREtB%h-u FR2Pʪ:dO(ȯ&&:UU +6B*V@Og;s5`] \*9-$ANB$tNkguI$AABnH4M2'M7tSʙ,e Ӭ.uH#Dޟv>\ˤΠБ7A&m ͯHtih߶6vqiw[kMU7 4b}*~PRf&*:&-}tZp׿-4!BKO۬$mŒ3M`Җ>~F4H0m_tC'tts}a5~붏m h/JrBI&E:I׽/5Wz_g"ӯ՞P]􍤣4XO_PKA#i%h%z9 KMoY |+Wڤ/kk)ҞI~Zh .='РANM~HW}"MíSd01ZM/^q2^нBIH!%6C )pki}. X? P X?M!ID4dʉS$i&֟|_h_9 J /*%N4:!SD~}~:4D*hƌץ_R}i}z~f<:SE%(֜_Z3tt>69MtG9uΚJq%B0j].:I='_ /'9B,72>h=P~( P^=Pi+###(_C&( P]cdN*w*MePvRk]$t΢0O}~i^ij?*i->pTi?/)h:ۄG_1Oē-??:_#a4ցoI*}/Jǵ]#P*]DT}/ t=Ke_@^LP믟2:#ZOIGKhh5 8"?DIAREWEGI$ZSKJvQI^+}%I%I(6S6PmK}!JXID|$+(6 S%GuVz~פT?8 J J"V#zI6]y@+L6pD|G y +// 4.!OKh[iB#ޒi=4| Gxe! 7/m*5_+\39}P^\10I},OϥHYCA~ߓŔ1(c.6IFi %u DI/,pzUFi %zZsk.! +-v럒P!@xzJ_$oVQ /IBҶcg]ߥC @^J .^|>R--a>Mx@i&8(l4Ke#M#A~I/# "I i$no%xK"1Ed?Mp@I+%&?JuA$HϾ6S_D>(^; /KI03D}Z Kl0A1q:GA&Y/ΥKn=4Zӝ6 AxH$_ւ 6GMBAh$`ez_9?46>I/A f.Q. \}PA{ik3 +޵Ko% v@'KI쉅qT_A]e:t^/ ]x@J+Z_W3$KAz%axA||}0Ai~8 t LRVI~A"@P :t'?9?tp K +\ _t!*muЍ,ic^~z$*B UQ-K.q%(\K,|_$N{iu/ZO F5$~A=㰴㰲!a#~B DS_ֹBGE^֗Ο M~H] Z_9補t]l>+~9L?` +MK t%I}\7#dI?v-# UZkB  R3]~&~$6$1H^Ki iyޖ~ݯ iޗKWH*9ɣ*ë A&. g=3Y\0겄h\ +K@oӝ~E+S +GG:l&bo?J.K]$YPiҦWgAAkAޞd5H y:ʃ*p)|BtO z[< ~Z!%>=tg-Qip)o|/C$UodtiϽCuq_obւ F_^s՞]/՞!u6ސHEςVQiGU4ǤG|5I Kd>I _ԔH}y:&VkJE֔0HxBJl2}zi7I}&(94h^QpK #4'ervPg/O HIm)?5*Ӳ{<s@> R}K@Ζip퓠A_]pEE* +~?_%`l᩠X=>yJ p"3P%h/os](EB/?Nǿ5Cw-?KGQI^/戆ӂ#G3ӓ-R}/:6 8ҵ5)_n R+G n6PmK}*a ]{(?Qf#ylRL怫:A+ ^ߥuk6]5Eŵ^9㥜Zst}/:YtP ڬ;Pߥ^^Uǵ^ABzTBzFcͯr:_>oaA0ǚ+}okYofW8Dy8Dk$T׋>־&%K > +T;~,e:{wXGm_0@79/W}}Gϫa!VhղOuʅ"Caײ|L=u]$>ȏ_~oۮ?n ICZIBH_ X_]_Y =aD|q׋I5 6(]kV Pۍ l9~,1A&_ &O">L\zz$f#ZRC?_L"p3G l `=t @P#ׯHBeT{Ad'\$PF{"a\U/GT+@? ]o_e@_~"Z?v%as:m_o^/D\Tu{*ʩ@~ aLRVK5A *s\RK˴YA%_\OTz[_ _u__!x1AH %^?H$iq>/ +<ԁ<ԁ/R YZ(yIW9ΏA"~.y?\zׯL/j?oD+ق_k:%΋㜎t_Yz]it]?LH,0 %c箴PA2][44"O.4I?z6XaIo7AA AFwIPTN_@-Wm/U_A0-A? A/l?دi&Ia%Ia)(Ac$";I/VM2AzXoO|u$R ?D T m&I~8_J6B MtoRzaEY|D?Fs\u@ PAmk M ACH_H(zMSAlry}*LAMQ5aB0a/#P 0a$ IִL?PL,ϖVG+  W_r AO93Ha4 \ @@5oPAkA04B`  8x'_o=bB Ak@C!Ak@5$e MA8hpGCGXXH̃!tMaaPHZJAahaPk 8A +B)446ԑB"k"DLBЈDDPB""""#CT""(!!fT`4v6&MqgdIʑBԷYL`gÉP39;ȦKJhh}2&/j RYPӆݐ; 0m4kTLMp2"wl8mѭ0pi#Zlu1!0:KQ黸GsJ}AI*j7Gs ӨI "5pU4sXkpVOȃ +aaHC)6ԥe>æL}O , ˜Xn.4TS4p}MuTuì1eCP=,L + Xz5죩UE@(.`ŗI ӬAp 79l!H[+ky "\U[JlGņ=Z]: + 6A.`_/'#~F>=өկ ^jM +_*>ߧ΄؟D a5!%>=^]zOYлWgON.)T&}m9vC^?A*}WmX~PK!":K}jC򅤒I~X? pV`tud?!<:)ɯO|)%$$k&UGU O$<;ioz'_1Oiʵz}?нBIns^q sZeZ/!uI_ZM\?"п_UoK]RV7X1>ATEdgKסf&?@לYS o_+/?^XњYWm)Ч"_GK:sLEIs]&V{K׷1K#u[AK89!~}/l$o帮)i^"/Ұ"5B.FKO_`cIGD]/_ߗp"i6x>-P"?Ax>-P"?_:(3pt1Em-GUe'x>-P"?S/3[~OIKX<^I&5k">󧲓'K/xʾ]/pzWL_?f+KK0K}G-R~/J3Ӛ#-R)!WtӵLWDCAqmׯY'=99i&+(6uDC_Z-ժZ?g9˯(`N/g9uUoXjbs\ R]KZ3A b-/Kr:_kkZ굯?M~yt癈9#C_֖oXTZzYpt>y_ϧYo-}4ROנ_\5u}uZL=.0do\B)TF]oG]|VK+_cK/oHY!ka_ZdRI}~5#灦_oI,$_ C_KCk}ۮ9ѯA $/zK"1J>5L0ȯ"xG(_넺zuzk`_&dW}(]/8qO6 !xMODR΋Z֯_ί6  OR׵΋"ZQ߂A&ϯj ϯ_K_J4@$Ht. +"E~;t$AVCKKپgsΓ~/C ;3rL?$K/DEx@҈~?K0 m/ _}f넖!I(A~sOפZW_Km$ A~ߏ|B +S1ֿ^M( HWA~A!5?SV/Fj@?ǚ?ZY}_(? +<ԁY.:h: +皏 +zBz$zM +j?*zgKR } A%?=Acf>` sL?>ö߄JZKej-m G_O'a@v_KZZޗF+ xo$/M~&Kou֒go&J#}P4I}T&~% ?oo JwAl}ߔiS=ޖ1?qo#Sk|D?M%sմs?AI L=|&J|D=&=,IgE|<G'x@}H' %'圝Sa :  +oJ< /w08&EIzE; y< 0eªLK[WЃXvLb Wt;(*H&($LRLK[sgدH2+1]V@K! @^ ]I 4 ^+ +?D%:+I Ii+XD| I#"= 0U :zB++IcIB҂J$g)Gh|)@hhq5$PCH! 9&B;]SB8DpDp"4(DPB"""""#B4DDDD؜MDv6UQ$B2Et: *DFT#LO#[vgg ʥ.R B+ @χRpμA8fÄLlA@a4kIn_5d]CLpIJQVrY5 6ʵ e"5ͦl l=`fHӆϨ25 &"A6,>&UM&ͺgf7 PdWp.D}6,CU" )#D6C [FA5꩔4ۋ% 07\?@1]$|/L0eˤiŷ>!A(>A7:i-?YyA~ņ=gnz:WDa$C| [OM*o$e^Z6'#~G[+oeADj'+)Bz_nSF``z֫!/Ju|u(IU}WO2q:_<ڱi$_(_!OHoX_I}mf_YI|)$$kTֶmDHH臤੔  lWK} $:ս=zm-8_IZeZx d50ⓋYˎ/4{z_B꒿a&)d!o$- 5J#kq(չЧ/#w^ֽlI}6%:Y#$GE5,AeIZ7:Yl=].:~MlzZDzs9}CJhfx-=~_ugXK$e _C n-$..9ZMJ_A@DpQimC#ʬթo#:{)?tՇ,B_<[pcօV%^/OA^:2D":%W~F$ƿ3l _7"|I0JW-/_o6EGM}SK&:3 _a#Z[u{(׊AJ<ZdckKL(";u/o"^E?% +)$UoX}c$ap=K4< RIg9XAuK+^K6<ֺ}sR"=&+AIkͭ*-ӿJI+g䀩k=/J]#emYpt4KϤBI_ia* "):>":ⴘz]$)]o3_4^~+| PJPiF`}xcVQ(IX"]B )Vo@aGM!dg3u^ڠ:In?'jC?_>-v-[g(KپgsΓ~/C>Xi* >*:i%0{~I6_"Ϧy34-/kWn|I&:WW+%A6J_ZpzI/VsGV?]9GcjtI|B +  __?ΣGil=K_Iw֓k__#_a?Zί 1'I +E9Vޗ6F3y ޕ7]iZ]~^!kK_$:[i$CJcf>` ;ޒWߠz[(='^AU&RZKaxo%GoޒMs_KoOo_I/ЌVߠI; [ x}q/MƗgz^-i/ &I&o+<-xA}$_Kߤ_M?6aﶼt4Al7ޗz^k_^~zL?4/ޗx $xK I;A(q/I-Bb+i//K*ޖ1zMIK$vX ]k1M%ts_$]&=,C")W:*m& -xz ѤyRaA7vQAE Ai5$NKXH΂$ȥ6 P}+H' (frA[iItJbLPI0o8- lN-' AAZ^-4d, aP@5I S ~4Mmq 0^"" iV@H ߭5]xM$ -'h%?  `h$JI`jBL_1I!FL$ApA$HtT, @AKmRL XyTH0IDPCIVDA F B +""""""""""6B""#nKrؘT m-׶Azy!m_-~ˁYV +?/t_ifbM__ i6+?c+~-/",30$ 5$?ٷ Y?|5 }5@?/a=$ֿ?Kү]W# %m%Nk +#! DGU E^vHe庰`AX2YC*ԡ,elA5.065 F=8eVE4p 2agfѭݲc" +DeTm D &d 5 $tJQagQ in,~D;@Gzɶ' (GDt0 \2al6tðD, S:qdqϪv}Fa(]''NDP + vXa 3˄Ays}*^t$ذCKWgAA}*{l.a5?al?!<ԛ8T!:z|MH0QrZc??$vCAfk^&AzS??GUQ: pzB"bͫI%e6ѫO] ij~zͯ֔Hrkٯ/vS0:IIW7 ! O/eRToK]RV7V,Z5_uֽQ8]_Nt) 8/uEJyőʝ +}B"yBֿHWe*O5z^<<"?gUtsOzZEE#(hʀjA}#Xz 01쌏EE@gd +um/5w.KeyeuvPgK\-&ePvRg#_D eO&\0{*VpG~3#:{)?tOoI}w-W?_/nue_@\"-a*]z^S>U+KKPNh0K5oŔ eUJ_~t@tGg'0;]0eخzc_#Ez Z#wzB99N Pߑ +-[[_sK>/AOWo:C_md- ׶ֵ5\1o!tj_ts|\u?!_Y8!R۬#@z^$_ϥY}4ZML? /o)T/W[_!JXu׷vG z ~ڠGMZu &8kt>/ ߾|0[K"1 mֿ,$_ C.K^=DŽ 2+.0Kկk| a_EJtP6`~Ü'&dWuu5l/VU:/G(3G Mh bԇX8o6 ׺@?Wg-|K(ol| A SSϥWmc_K/KپgsΓ~/C K}m/յ}KK0 m/ _u1[ޖڷwXOi] ,B @Ps}4)VteZF/isbpU- g/֭N*q_OODBO8(ZE9:1]5O/fGzZEGT|>ug LS]o|o}q R,04L2Tm/~ʬկ5z]kޓ9|I^*צ}H0-a*]zۯJ/> +J]e:YURD}A<>?o_#Ez [^0~b-룪>l1Gt_}U0 E6$"&-<^>PïKz-oY0϶FK5ң Ћ$ᆗ*?]._UׄIYAg6Kk8Nhl|H|0z[:,<:ᴊZ{91"` m&QAx"/郆G[p a_]%l.OiU-֞Q ` M=z]7I&گn-lq^/mC1}m/յ}/!:I0.AizZA + z>4HZZ]D!H4 5IV%- |F2@P}eKHU,% A_mZXGpF,`t9y uA'J]i2z~{ |[f3A!6}%ZXA + I#aSo l} ic$0)%M[{"jᄰb#붓/{GIB KnVoKKk B a`"A!?_,W@ rIl?@CL +tUk(C|a#RP@[4. "<_~*_qqjMAa&T;&d6'H8^qm}  50B5J}/@|_R"B +M1_PL#E""DC DDDDDPQU(D'-Մ; +ܭ)20qC(A^vE& (pa &h33h։n1uOpv `TmlZmy[%ag>OnP4<_#NKL?"$3D4]pê +}l9N,A  KSL*΂Mփ:]*{l.a5 oa Qqű׭٨j?N'z$Ymi6dtiI_`A??gPCmBsFI=&^si'I^NyBS#>$/jszY(Udi~ B9 _1J{l"жqBOyyőGgP +t)IE Z.sRt}/j\鮗iAK˺G0ϭP~$PIo|_ŪGP驀k]/K >+_}$@9|D?FEV?0( A-09O` <_~*_q AK]3A Vxb[4H,|o=@mxkK4AE|D $fARhXNTi ut=SBmT")`D2X"MnMTV)ؚ;.#|2ZUQ>(A +RsQF+yKTjGi9Taѭ0pl5Zal6qe +ErBl8w FTw bLMBF!1lP"" c!6膉 BgpHL[>y[I>WUU?=2(tB}d2:"I$ pm&Q!dOL +?#N_5P__6N/Mm?a/Å?Ë[| K?:^7aVO3$< ޢm:{JÜүj{O(L:?H;Jas^Ԙ_DN5vPu䟮V& / QoA/a oAI?k_PH.q/_O9Tm䍳4GD?NH IzS^q/^4λW^;VK^X._Bo1>"pUB4Iy ,!ZM8WUBak_ȏӮ*q +}B qyRΟ:5I#Ч&nUsP%SK"/`Ց0WeO%8ʺ9nۭ%o@jiz˱RIG8Ћyӫ=K"? q_I>trq?>K. $a/~}>t?Dt4)eUa_o7~*ƿc_=N/}/^ >?VSK~?;Uͯz^U޾R%b%[(AB">nUW/O-Rah?o__T)~]zYx` 8Kƿ_KA& _K5!qC_Ί_kOϢ+ uŽYRDᙲIv_oK>49,S`3! ?^jKo{+рkA<:/{i2nzTA0TLr#灦co^F_>)g@T0VHz׵A{EȌXy uoK8׏Y|&dWϡ@_K6׼qB;*zvjoo `5v~}3Z AzU΋{@.[pE//bKn^9{[WK_K?}mo\|~?}mV:]3.E_KtpS~_ޭڷZ kAAKm[P÷(iX!qiZS>XHB45tB)V+i_-g'hdwM륥/xq6\DԇQz[}z^0dsV,%tU\zKJ0dsVxߠi79 &K-(_< j/(]/zLo1&M~ZXA NG֫~f_& Z!^+%_JЯ~ߤzX. KܒG%fI_ È =&&EIPboKAiX/ KXdCCL4Akti&|xL4נ^A\E *~{օU^NI .tU7 AϢ aI"00 zA XaRX&8H0ARG@H' 045&%P`MCQ`԰"#4 Dv6J`AND4IQ*ʝ R yY ;FHȭ R yY ;*L2U3*g(#|2i2% Çp"jE3N.Vll8yFF8Amg` ʽ8pw +DŰ٫ kL:g*u +DŰ٫ kL:g pʄèUy[; NAdOL ZNaD;@pg6?m#NAgbQ +ËsT)ŗË܍ 2@ AH"auE]//0:"ү 6 f Zz^U,=2RN'z~$o]M_JU(v5}*WmC15~nndY:IsNd%l?[ŹħUTPu~ѫ dk#\>#KZo5ä}\H辽$5ä}\HXhĂ+ 4G_ooyT5&3 ]o*=$ 6!ulW3ଫUKKZ*%zi$A _5s."оh +j\Ey+S $' 8\5C(z_K?l9(kMj~m +}B-k*qSZ%_CjBPq!#'5iB/y/[zL4&vP?A.+' .kUgWmpTuÞAA:I^a_ƐauN7"4 X5/g&m--Zu#iR w.i'UOsYJ=w.i'UO^U~C_im0T54AtN:pUGKF5A[bKA +AT.Ǐ/s/er&Uyx"?Kehq.Iz[a)R#$U ײ~9 BkI%;T)X׏fDA M]/}&+mo7It}VpiWX▖?t+e zu__G^<]vxK )$F}o(Iο0yxJk>tWo:*ͯ"ࢾj?>Ic/o VƗ?F]>#@{|C =hL+JdMzn_KG Hknz--Ga[so!ih"?lF~1п]Z^-WAׄ=6 jo,zm/LgNA_ Yĕo$_ [3]Io'Y s D|t$Iwu oo&dWwu oo@I3O, a#6a(]_OZ:/@ [mW֡΋--lZ ]^P!2qimԼ"?]|G~cmԼ"?]|Guo_K[WI/K \mק/_@z~m --\u2 im[[T%>/#߯/|5ImFւONS" [x(aƿ_m|~q?;u]k=vE;JҜ#K>=8S)_8v:i:8koKGt^U?cdwMu_?+S8q@#G5m/u^0dsV_Z^?R[ib}~|/G=A6`I&QPi7F>Mi-Z[z_Yd&yH+ C4!:b ̡? mU.xm _l+`/7[ +?K aKKoKt޿Ku /KKu /K";Km*Ka_- wKZA;KH7֓h,iBXoA@&XIK_CL4?IZJ0A/($aTKEc 4j|AEA,0a _SH$tikޑO$A& #H^}'*L0"L biΦ2" M1VA Wqn)idE8@bt A &DH9' `\+__ LV ~> d"p_A&@h1 # ` /_֐A1t OL&аZA @=0XJBh  X[O ! `U¡!A#!FF BF +B8 Cq!A1E2!S)DXI DDGYUQ؄["6H y*H3}ȄjegL"3*YRD"2H3d+<2a'D"&}Ul2FOø`l2FO#H֛"j8l0HRdMCa;KE`8YUZȚÆa[ +{aʒ&M4 / XH#ZaE„F!1l8{ F;L6}A٫ kL:<*A,n.34 , mi8US "~zeϠMp> +ӈ &j;kI 59[l#/3 m.O_;mpϑUe0M쐡m?Lܧ=ɥ> +ROҭ"UUÜzHʤ?#U$Q}-tO8߽I 0q{e"$&^9"w?{bjUTʃv;WүXuXr( xzv8ꪊoLGUQBKղLp_UQB&kC'מW )Jcku& ׃'Jy$tRäܺ)_Ir9Uj.==G_I[X#0؅VJ&Ukfʜ h^K֕VW^KA>q$h^K"ci9:ʀcSi**qn&֫IWkۯ +}BSZ%_?@i}rur}-#]@jnitn-#]]ggs8eP_ X5/ЋK鴃 X5/"D"Kaoy|_t:Nrq?>+i'UOޓ_InIStC;_.5-T׵4Z ["?AֿAWuU__v<IE._9C,i0/sV#@k:4"mwD"S_L <œE&,u QvjKDu[rQvjKDu.}O-Ra~示_ad]RZ_zKpUMq Zu&Zuf<]v[xz HAS봾,0BA4Hx/(AOC])z#@ׄK+IvTѠflRb^/  3^^/_a#/_yNm{_~,C_)w?g! F]L$l3vp =h?a#Xl`/~BD-5mW+o!ih"?Xl +e V拥L<%_۷M~^X^^(/@VHzo,zm/Ka+M>[[u_l?_]>?_FHn$KoҦ#m/ޒ޴QmKo:722W! J%s/vE/_{RkPuu:/A~CM/Q㚗GK޷z[pEؽԼ"?][p5/^)7@VTIOkڷsOAnO)GiWwICoHR$K 6}t/KoHRwr1=NݿTo\yzt졇e -onPÍ-(YBPÍ*o{I}_ǥ[^\"iNz_[O#K_[WL?KGt^U?Xe84~[ ČO$L'_?-/NqYմ Np~_Z^j;t^C_wH!=/H׉#LoH׉ G}xZAlf A +AB~g|`ƿt2AB{HeEW0A !u?KM&ս-VA*0b ~ |0^ WlA&tޖ) IPA7_ /K0?{l?$& [ZA;K z[AK _]m/ <$å/I&oKiqaMxDŽt0ol:E۝A6~zALA0xA0i14H(I5HֿPikޑO/jf% _Mo$A7@Z ` AddE? h M1VAt!PZ&] 5$CpJxhN1Z5` @-@D  զ+A= bLV %R8*5FJi*5F OL&AH f. OL&"EX9*cаza0,P-CDR`#qPCZA))mBA"HGHF(!A(ܸB""""Gbّ+""EQ7"U #R`&%;pƓ 8dFETIDDTa +udB ∍gL2)aMdICaa$C K& Fa8lalaZLMÆʭց4L6 04HL]3 XH#Za¨l:0Al7ۋ͠u X|* +Ld …Ql!&V"~zeϠ\:v֓ѠeV̭a UN_Ki_MU3@=jYqNJ 8m?{nlҷֽuME+r/ea_[EoH6( ?kpiJU?[Ԙ^ }$h/OԈ_Hn?8A_9j%מՃX} ~P /SK{-ྲ\/4?N!UQBĨ7 4 D+z I/B,QFw[ ^E"Z]%M_ RQN/zE2c销#lAuK54UGwI:dm5[t[H5- O歕l4V5/]o}wWh/F[tt^#c@Gal/t6_}_9{*nפT/ZHJYB\kL#)\[in\Z0.~>귮s K#1~:RG?^.+#KzOu_____?H .׽t /!Խi0҆T;F}v^/m!6?"ࢽDKuB1Lk]n(vx36)+/ =hxf +Ii](@YŘ_Sh}?W]P"$DMJşOGuȀB4ՔhUo!㥏_= Ɩ?׵AM(?eu}xIz\E@iJΙ%_] @˭Ry)9Ω/ dGGK7]ڔ_]Ke7IN#~ZI_|u8]_OZ믮( nm>uye/S_xۯ/ tgO(hN?OmS\9nm_=ƪ``44]ӥN~>B_9I- _:?Y~9WAKm[CΫWi_}6ֿ6]}!ykS)q_8pvϋ}c[K:_ZKGt^XU?\2; c_[(k]7`2步? KI`2IcGuםK)?TG=A6Is%ڙi_G?q8)zZM;LV5`Hv Q"0 m'Շ_JЯ- #L% &?h"?~4W"뤒M ,RA 4}/KVD1iJƃhzT:_UJIAiX/H7nH0 I?-&XAIׄ4>]7ߏKi|xIK[Mv":L0l$IBIE*Ib77tAΊTK>aa&M!aރA1I_Ί_H$t 66(+EO +L&M ڜJ"= 46 /$Ȣ0oA"bk 8;ANAL0o#^A+V)0Q`A y@I0y_ RI~얋 X@Ia&MA`'E0 H5a@& ,R YHZ J POt& OL&' ?A 2bOeH1h2 H + `a$0L +%0!A 0*R A7Ђ:B9B i  AhPB)C'(`0DDDDDDi""RDi"175EE-&ЎꡕDjDB;;;dICaaW,p3D&021uaV֘p1i„@!1vʭaϨ8Twmi8[8$D;@Ep먻mp~vq~צ~Q*EOs}u}ODM_JvA3nq)U/1[b}xBla x<|})Gb[KKSOQVAלoׯ1@UZ/֫IW"쪎9( +}BοHGK\@Jb? 7`<^|3t:N~?]ˡļ4F["?Z_Xn~gw\JjKsí B8s}BT8=%3_oK/4<]vץ}3D_O/*-vk>a#E.A?,Y--G"#E +?o ׄ=6^ s:_rFEH _Ǯ/ 9Ύw_]Z믯j>wt_^9x DtA?O_t9u^oHRZS/-_/Z\Em|oX@qxENҴ?ǯ7ѡ>GpKKaxkA=iy~Kނ0dsVkۤcIsM/ xH3_/~1XץCfl+mTa`O$z[ WZA;K[]&/o#t /K b&/$aE}g$FS_HA& #_&] ]eYZA"ZT1]A:h T:ւ d%ab $=T(ZA ^ U ]A)RB# BDQ@ hGZ5Et!E`ANC*Ԏ;L(F#4D(;jF$d>UᐤkL;tKhD2T4Μ3eK3DT4TDeK3Pʃ8ʖf"v@*o5_%?J6Z~VJ5uZkҞIxo:eP_ag:qF!\#"*"<}UܺKϧG"F_#̤Ë]KOē-qpݐǥcW?K@GZ=gb5sЉm~?8~K_WZ#?HerK^? ׯ8g/R0"3@c kٕ}?Z_k +z"875+ k*joşNr_>owsN ,7lyy?@U`*}{^B^(H.^a[KaD^ /M(s^9w_mKoI)P"mI 85]UKv~}3K]Ҥ΋:$iAz[pE+|?4Dbkj6_[kk6EDbe}L_z[}յ.ұ4_便y[YY_~Jd /P1LV-b-$O(U=k?K4X+Jsz$ FfAaᆗaaKGt^cKťa?u0dsVG"$2NqB/۝oA{~|IsM/ _imCtc_f ]4ޗ^[~ߩJЯ4 [=/|h0BI_~Wz_ H"i_iJ,R]$K1"kI ާ/tToB$aΊEaP[QE$_A4 |<I>85jpq%d#^ADb Pa_H2AiAe%PA  ?h0Z_''@$"ڇNk 3MP^$`(F4HKa`J bEEtT"4"!)`B#ADGZ,\㣳\"l;v#:a'D"HdK5fΆNpȒ%hd*HLKLŸf22 3fjj3 0l6u0l[#8eLpl2Bg9Z\2YփgS 3T \8I; + n$Am#&۲TeQ7La4#&۲R j)4$}PA WuUha{ [tF Hqv\fh:D:a{ [t@@D'I$K4JHFzo A0ejcS(l#R[xnm"\$a₢t :磊}%úOb}BGM}%oUM$tv(0./zCo*ϱսo oA/Gr|"{n@m]_ʃ ?JKI@5k/lKB5k/ MI.<Ҵ$!OO$CM^H>&? W^ڄYޒV4н$t6 + 4#J^< +ؚzN"=$Q&4I/$AzaVITn4O󐿈-gU$&>AA%} Nj ְI-D8 gI \ּsOC'A硨iaCL/CL*\E-;+Ί#@6$ԣ./QDN$jZs +0.J_. _G U5 +֍K 0\61v +k .w~R^R\=LZtN)/)..UPUa$nɝ_Wt=Xd0m31#Xa8e9\֠y!pD|dV\[(AzZ#k!5@PD/?}4Rp=-**)W=-4Rp=-*%W6ozBF\[i~-|]Kai#\5$ +zM%΅nڠjmsTgB[PL4U}6yADbb/ #@ϧJ"oOa]m8ʭZ F/IZ85imѬhzM UAEy}wwA6eO?< YB[elAg{8KK0{:'[$_ {8zz_z_n.a#Ql?o+^ 9_ a_tG[6o+[WVyK 7_ʬqռi0\U4@"տ8_i{Q&lK.Ҍw?CzM޿Վz_VTTяaߑw׿:1I:Qicm}z^7M]륷zPoa/ :Pm~}EUmk-ZȚ-Auzvhmk[-~P?k[~-kP m,=t/W:nHU,#~?KE}c 2i9B㶖-"?[Aa]0~ o"?[AazpWK'o/UFy:&ۭ#a_7DQaI"`m|R#5 Ǘ 6 .~a#R\:/ʐcˆ ߗ ?A0 z I$jJ2 -&a^z[(PW< f &Y^~Yũ%bQB 1젾y"D4!P\@A֝PA0|~A A h0׆?T׆L,EAqK $ BAMa j_ XAX*3A 6x5\*A0UfHB*A, T !# B#PE!8}$A + 8ADXB""""""""(!ɹ2,H]"JFU#[JUF@ 둼xa^ȄStEFD b" f}2tv:#6 XdÇpmg? ȍ\6Rahm6E0gق"փg٩ӃvaB#H XP6 v3Ae:{lpeQC*D EM 7 UjkqY(}#):ZYS> +ӈ +Q 4YqNT:*9z-A!CNr [*u2/a)5$*2(VPC VvP l#  Ρ oMo0:F Vc cQ( Ҧh#FS}o5$#F!_=Tͬsނ]2V՗{usI?;'~,S5W^ W_m&uI/@6_kIW[ς~ѫ_ςxs_BJ!j"BҞI7 *ȗI{*ř<:!OYqr^NW*QAzϣڈ-jp#} k(kG^> +ؚP +NL(TCs Ur0Ec8ܜUs=TXr~->[ ~eTq9C\_i~kARN3:V}ԫNE_Shڨ>]?zeq 4:*? Oey_K::C=Ky*?B/'!"azC*꧚!^?^?G9) !uZܺOϤ~kkua#LO(K^u4x_wW==/Jˍ'%ުx}ʽt9z%dGGWSX*{":4H܄DH.?K_ҰhD~?G4"mw<œGbBr +ƏP/bAz HYK-F6 'G׭fRZ#oa.Ihk;gH1z$}.l Sg_HKq/M-/\y-:ׯzZuK 1\?mbuYBQuYY4k izXAOC]+k.t/q1s~{%U^oa殶_殶[ <GF/};_zZi_ϧ_a۞(K V!2BeV {_ai_ֻB_/r]%B&YyK|Q~MzXi9z^0sIF ]KH%KlpY2 =\+/(Y#m[$"?/:q"?mK8]8\m;~ӄ]_JD|%[e: 7%7:>_΋zY."p3|N[l -"z[~ q^`4BkKIB !;_[uZAmmmm"?8<}+SkK_QA/vt~.KKtcK|rBяZ/\ ׾D-+kCӠKm[#=N-(_޿BJ&vQk4_҃M^E;JҜK)-ZKo U𴎫K) =("ᔏKi.iz_[_cNz]d"/0dsVKħ_-93Kc/KVWKZP/ս$(4].? \"? l$z 6$J8:oiso/*3_mI?]0 &uKtU@oIAJ:*(h$&H$t^q`I2V z$cyG  Ƃ :OcyR ypJ[2DdE>9W.2Z# As\zy4c a|$Ah&T!p$ l ~`A!A _@Ǥ BAҥ $ PA>B!kB$ y Ρ!0i3M5F*AU[_B„#@U  N|0)(XA 0 +vKjFBDE!BF)LPO!(a0DDDDDDFCDDD帪2 ֑>[#Xʥgъ'DO;|"(\b:lE(eQU Z  HDöcT",x.p0l8w ԍhFS;l n< : +ah:%(H.B h}A?wj1pdQ2:"H/=2(tűfP zo! BqE젆YN/M 8E=IJ<\:]IvRÜҭ/k~H?h?I _^ڍy'Jy$t]zZvUg[O75Bnz*=~"- ejadqb_zr5?OCn F`=_Sh<ѪSS:T/$m%׵ Q8]΅>|DW?!?!i)Ė9dp@J)kK hq/M&FGyӫ8Ћ>FqB@E%4 G^}>_~S@_報)eeVj(]K'%Xz-/0 {K?]_~rjuYB#{)#0tVm~?׷9IAX?G/fPmkmoZ8DxRh5pK--?I,0> A0~]z_%n(D{XaBⰕogEvşOU/~x'_iNK#﷥şOsS-/],q~z-nzF]ߥ?gD-?K<{TWKK8)\2KouΏ}o ovT[@A B!]|q<0 +t__׿Abo-Vv~}3KUׄ$/tzۂ/ׯ/_oq?o _kzG״8~|5y#տ ^h_.JsG}7 >&mվ?ˋz_0,WӎE;JҜ4:__U/wScX \|ַ#m/Kao~sK6 _pHV`2步;ވK]=9eK+U}!# Z^1X__^c?/-_K`_w[J Ub ]7RN-||_z H"i^o߰ ^~ZCL4Xb Izz-b$I,tA:+í ᧤"=ׂ֖ A& # d%akhp"L/ 4?B GC xH4 fammPB"`0UB# +TaAbF"(!)"""?h5GjoW ؚ; Pʪ5(eS?ӆv7D Dϱ g$+C qs-dD64ȦKr.p  UZNMp2"wl8m LU;q?aV֘p9e8P$&.*nϨ0M#I0#AHL7N$TMal' &'QT:;=$MAxYB:#A0]$hiae; ~\3#D1,qϪv#0s.Y$@oݽA =&ap d? 9οylbgBN-.\U[mL&^ Oal?*<ԛ8U:z|MH0QrZc?I$_WҮSv${O:}/Jpg4 <[JuUE Ax(ZE?gV"-$Kg"HmWl:Z^604dB5O$&}ݾ ~UMcSp_oo]`b[ )Fy@ziyʵz4Y}?нBInse:1']--fĽl~wTJWqSʰ9 J&Ž8}}Mj~Qϯm^ʨr._:Q:_yZ"ƌץ~hȏHe/it^.vP̓W3~k#u[AK89!~}/:h/]yvoy|-B/IGRGUVR-=~_dd~"/ ?qM:~.IC9;(3%aG.ij?};)?j ?ixPD~/Ni#??l_ΞO/Sޕ"?;. +(2p㮓*G{TK=  )&"+Ks8֗Z~H_Ҵu ? TZezI/M示_&+ Dj1D{tӵLW6PmA5%_tB.KoKK^h(ou_Z\FF-g9z`i~BM_(kͬ$ֿ5f#M!R_+ᇯ4F/"$})8D{$> *ZuhKҤ_BZ^BDVnzKoA͕:{wKKi0HR|?]d5~Ǧଔ6L?^">xko3j/K$/ xN>xᄁF3$H?%_?/!BH_ XᥤgB ]|ao_A0"@0B?+tB A&=`zZӝ##&A1qCI$5/^A@Kn^\5~y~ĺҍ&& 4:9>|_a%m]/?$D_mm~?w<7H}?@zIvյoHRJq{]ӥg{~I6/҈ZUئ)PÍ I_]3ZW_Km$ A~\$_8B _>E;JҜ׎?Zk +1x_ҬI.L/~ 鴽/Y/k5b@$aQJ$A/QVF,j_z_zM +j?*`"I.:F>M| A}(4_A0K}+5G68#`aId&e O kM!:bR箴ʭ?[~A("=:ꮓi }CxA Z]o Z7J7v 'a/I +Aax (}=,RAMIzW3y7[ߥ]77H7n Mx^~_ +Jޗt$p@ .I07D&"][i.AڥXq,:H KcE~0AЦI S_=[O(' H^}h,\u`:y2(:M<9:5]&TzW`i%acT$xn yžADPKt(&($LRLK[sgدH?n'VH, vk4 _+ +?D%:+ O P*ǵi3M0а :zB++ `#F B" +EB""4"k +i$g)GkhGA1A՚A DD.8F&&[[iXiC:=7ޓ}޶҆҆ +endstream +endobj +24 0 obj <>stream +x+*T04U0B C=SSB!9WA?37\%_!+) H!$Ѕr\CdP +endstream +endobj +25 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +26 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 87347/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYH|#ÆG>?H= AnQr ڧL$MItJJ?LgռDdd;OHM'V?׷7 +W_I%oz:k&o6Yֿ_e?/4KjFƗKciZuM&֗ 8}=:ZM֟ I// W=V___oa~%֒M$/KER^_Q@^[0$׹mޗ=="u_Zz_/K 0kWr뤗 !JKꖕ/B4AJzzzJ`ꇫIt&~Lgm$pP7 `ahaXa$Bo zhN+YR+ y[P &t`Ȣ *at$ˆ etu\ /sj[cZ4tfa:k?#YW\K5?<>~"=k"=?莍^G+L_8O5k](\0@;5>yP'~A0~b9K󪭷O׏ Y ^ބY ?K~DluSE/y u2~oeNbj$^iqΟҭ-hZ^iZZ _\-DtC*I/ A KҥJ6OI7h+X>RMPI]& oK!AwKaJ1 Knt_Z[e9uo_I ӤO +P|$Q%NmK`AP_`Ȣٴm!ao.uw +-h&m0 9ǰ\0Te;+ypF[(\ h T|N vPoKX}v;΋bGU0gM%ps 2<F__`?$='װ#~TR.2ZE:_(]--W+*g4?_m$qd>?B +"yG99 +pΚK.o︃?|t!h/4_#[p?nnMk62u^ד@@;-nB +X">z㏌XxAuKI{&`K~/^G(aJ B, b:uwz#`iu_6y uzt_s~ x_WuuUUZ4ozu6xM6]%D~at--h2_/#[mmmt--HOkZֻ1LVAh*#-AiQV;M0ZZ@FN饼Dԉuh+]p$l&a4(.O@]!imXbۆL0_Aim`oK -J[ DtI$[oK`i7Ab aC4(il7AaTa0!4P@Ab!`I~L {$eh # F ZQGY)n!S<גvv}" aɄEpU +8a"Y[ʰ3f?-Dm2>F2V(}T-8aHK;/쩯>O3pM}/}?tG$w֙q Sh2,  ̡|CgJa Z_NMk/j_KKT RN +zIտeTq9Csk4΃We S}q˺#*}~s:3 Ԏ/5z]knֳc/޿׆]x tKv@*N+lRvkMoe( `x|~߾O:0~b-룪>l1}L0k㎱C5PïKz-oЋ$ᆗ*?_WOg6H~^sEk﾿a49 ^׿4AAq$tƻւyu6{*5?{.𛥤[|[UMm]&-hҞۭ=H?jZZ@$'I_.1LSZ + HR z>M4ւ@$$q FiZZ@FKGab#WMHt-}IiaA 9 Ip$IB &QPasaР6Ay=_m&AwZ[vA`&V֖0t0b#붓/ܬ Ltz_%-">`"A! rIlP9B1AH& @H,2jRH2 M 50Ejv4_R"B,B(!J""((4Kuam g20qCE"6l0al3?.P6yVyL2a~*9-r1ȭ$':W0$3^ʚeqVtmo6&_a Qqű'hL)H#NrNAA<GoH~_{I:M6tC޿:M(87\2ik_)]Om\Ri'#K,<:__y{+=ѫs^@:FuO@50 kkx%8lᩲh:Z͌_udGK:d/AGnP']{(?Q]k?@s)o&`_K"|Mb Zd/ d\0{}GϫKDl6f_ +Ë#Zy umzRKK?׿4A=kւyoC">׺K&oI>"W_eյ- KKA/҈=eT}b-DtWg9ˮz ?iߧAvazZ@F&:XJۮzZ - OoZ_K!6K!Awt\i6bݤ_=]_ $HVە ??k_>'A9$C$hJ< )La{WAaUW`*4|o=@m%^GFd +E!ǖ@hM5R +Ј +#,n!S96 \2a|e;%Kȭ6 Ӭ@oA LײlN-.\U[0⤷%>jM +_*4!BKL|{蓴I$;L)n=??GN?gP.!e7=g&pMoo~T}I}&(:`kKKZ R~pk_N?uJyőy_)~ ϡT>@p_|WɌ~?+ֳc/a7 +ǿ^ +JKPNh0KhPn(6uDC7xbnr1mK9Θ} BiM{mi?|Mb_Yoֿ7Ep_͕:{wI^>zuz#`oI}~5CCpZX[nBH_ Xs^׿ Z.WU_Z4n OR.:9>|kH_,m[[[]- KKA ,ֻ1LVAh*#siA~Bѡa5,$moy K~ =ǎr9Bl +CBzSi/ۆL_߶ەB杄Gz$/ TDI- +=[O0@[Saw0:` 0c{ {@Ab> ]Qy8߂/s + Y:X(KhGGZ9b&󹣰$ANWW-Qږ; PRdB"׃>4F"g;C k;|iu7ȒÆfEհdUC4m0epve a& 6 p欋iXH#Za tBLh0 Fuw +-h&L:#I0 aHL7NfmZNM&y=A;h.aH*y>T3mNPaL,7I.F2oˆ}h&9ŒZ6V8m^Peja~Pi {Yt0$$Q3 3c!eMu_$ +ņ=MByuH0ܤF8߶D3Wgʄ'OO >&j>;DrW$ꮴΫbF0gJNn=Ny]>;qnnjS(Zh O RP +CgJjk_F_/R}/wՈ I$Z_Mäy8jv$ejrAi'[οI?@_>~q{œaOK>Gb[쭐$(~/j +~92ZE:_(_Sz~;ioz']--:zŒ/rjt/Kʙ#M/O4{z_B꒿ZJ(׶S5I?6diŒ8h(4D?nKס?Acz_΃<JDzs?0g!Nҿ8g!:Yl=].:חtA/&#s 5RR*ebu/}M:~.Ik|:4Du}h/PgWeq1Em-G["?'_IrV[p?f$GtRF]"?;N +(2~leJ-?xʾ@ B5 +IJK-?U+KK݅M]/WRVPzAZhXX"_8]GL#NA1_bx/IZ,Eg_~+ +8UoX}`i~[a ?EJZkֿ5f#zK3M ?#!$ +_䀩k=/Jt=[L?\Ћ$cVQ_UW*t믊at K҆ FkY!I/">l2y u[K~"GD?-Zth|0~>!MI -sD-OCu/Z _AWUT/_ |{= Mci|=BGºu?^A"=l/+A{sR@u$` ]7?/4 IkGZZQ߂A&^ $g$m KmRAygG?^|&_ /jށ)z%aq8/KHDbtxAwTk_AwTkQ:^u&Mئ)Ke 8 ^Ah*#_AnA"Ѕ?!nrJIbMi#K --.KqE8*SZk +1xiW$KHXH-Zݕg[;sK5ՋRiy۠ _zXJ۬r*qkKw"I/wJ&Ht5_#^&־h $O)TP_JǬ } A%!6H3_Bb -|7XA + O#M$%G%Oö߄J}Cw߆Z[vgz_J7v 'aixZAaim 'Wᴿ+KaVKҿaɽRۈ a׎PZ[r#>oK -L4IR|| 0&/lX@%-";XAMm-K$[D&"][A6~! ? Ԓ[Tm&H6X`A S ]kI5HցE^1A& (fr -K%%0sXjl5aA7vQ *H>- ޝ$ ӄa0!550!& + 0IQ`&X*[A&Ka$ a/AA@A0zM0 ; Aza0$zX/tUbF@AK$XAAc*!&z X#E"J! F ZB#B.M`!A !DE"AFDDDDb""?ꨂ"K-FK";FBʒ ek2DܞU;vD"DYPμA=$B":lFR5ga}9HPIQ+3}jL3}hD>[64֮8mL6BE&`N|בu ;NmL6By+6m8l; A*DkD ΁Ϩ6.Z aaHL7N1w` Luw +-â&)ôE>CH tݗZT:BAs ]%|(D#:DS Fz +, f[{ 3 OY$@oᲰW ޟPa(]'Ԋ[(MKe m!7zBZ]: + 6Q(v_<~ $W:{bN_B$Ǻ~s'^+z_O >&j>)"z_M??GV^0gKUӞWd?N^Bm`%F ༇_͍RYkK6_Ո I$!&UMHKɅa􍤿?I _':y䧒GEHC~mzG/vS0JIIl=@='נDǤDpcLWi2"~P_}?нBI"L@ d5|7CCZHK +7](BIAp9(ʰ9 JIV%p8*K'YKʙ#M/N4f+EFz +}B3HADCk"W^ֽ>ADCN,Ƃ6XރN,CADCB_O/K"=9^a 0 Ctz]Q9uO[~Qz 8gDJDzs?0g N͍KqcavC G8#Xz }$0/zp@_ePvRg#X>mBQ"ocZOn 4iA|SWZV":?Z_ΞO/ҷ}-Du ?Kh!]~"?ue_@_A]~[ ҺuPNh0K {Kn +iiz!bg۫_ÍbP~!8=)EZ_]vEctGg'0;]8?'ch,WO/XX"_unr1mK9.0. y37Bzŭ.#] 𗙩8ȐXԍ]~5scZo!tq^/A]?M~yt癈W[^W=zlR/AVIZgB!$ +_/GR۬#@z^J 0J W:eTuFMW[_!~uL1+(5l=:euT}_~֒Ӝ/eW_,aKFh +]Wt$/zm:}/imX:4XH?Liq#"_+O"tmLZF}~}_MZ _A}1uhϼ/[NmA1qCEsU D\.տ}#&9Ϫ^򏇨@G=BGºB^}_>.~{ޞ~ĺҍ&& 4 ~&.qj Ikq#Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-/҈~ҿ[_kWӣZ#`6]IiukF+ZLFֵ+QA~I[z Km&넖!I(Ac+׽A"A"Ѕ?A~Az/(i1Ꙃ[]&b$+(i-ȀT~zS~z5 qfQe-2"Ί[t1I/,0aҿI$l%v_ ;- dBm& 05)oKa ?a.qO.>tʔil:I$jJ +L0&< J:^ -N39R-2(2x0tʔzL4c{ {%GAtc ߤA& 0DAaNM:AaAIA SLAa⼜o_B^L& 4$_A0A@A0zM0 ׊; b!/! Li/,0ZT 4 a0a&AaKhx_Ta$KAPi/,RA?A!!Ξ0AH4X ^XNAPi/B SB8""Ј +B#B-$aBArLvhphA@HP iDDhDDDFB""""""#CB"4(!DDDD+"'-g*Iulue YB + D*E02"p۸pm0evZ Jt,DkػQh&)D˄OaL,7I(e>æ笡@7\4s.:@oz-*_Xl!H[+k}7W:zal?FTCvC^>F TS]jC򅤒_ CZ^Sצ`t{*i4y='נD#;ioz'_1{ &R^CZ#E9z_B꒿:gKӥakЋ>' iŒ8Q7㥝VE9cV{yG922 +jߔz ۂ 5K=tp"i6x>-P"?:[搠tR%֕a+]&UւKuy:#5Ҵ TC۫t҄3Fbe"8?'^E?;Rzŭ.#s'E ^f \f>Z3%[^%ԫ¥XF*kD$AQ W]|VKaYGT,a]~5FUEd?Xm:}/5k| a_EA>ગZ:D{0^Vԇ9>@F/L %֔i76>I|6]%Ɩ`4T>f:M_AcRAygʼL?$K/[_kWӣZXk$sI[zB ^>!~A6T_(><ԁ({972;sKv4AsGW=_kG/܍lAJVO)Kaxo%GۯM$#<7N$oK<-- piB ͫI7Y izF_yb!BI/HKI􍤽#i/` ] ~_eM&>\_|)%$$4HǤr dG㶖I"u1e"~P] Y[^$ѠkA$!CZ3 l4EK(M9 Jpkg.`=/Nr5ޗ󐺤3G$^TJO*g3'^zfk,@gN,ƂY8^ֽ|zIJ9Y>>Bpi,.Tqs2KFfzVOe)9RYO㥝VE9c:|= :b:|/ZIZV":?GFVtRm#zPjۄGZ[p}i_㮓*GA %N^ej¼ue_@XKui$ n]~5Ҵ TC۫iEZV_ )"۫۫#F=_=\4GH:Ii&+P~!2z S) z<Βav +JXH,WOgdlʢZ?g9~\ %jpg,UoXa/3XaAu/3\?_>"<ֺ}s#IV. i5\1KxaiVU4T_/:K_nzUЈI+8KY-}4P*#}3MI+$AQ ~_!cVQGZ[Rui0HXcVQmtbvRL}1i-_ /3 $igJ+bW[^t]#&?9\=BG?/er@ `  D\P^ 0z{!K(ol| Au |6]%}s]iF~c6]%iz 30tt Ik^}0kjkm3I@,aײ_/#sپgsΓ~/L* >/ $g&R+:ϥXmpïjMw~I6D_X+ZLFD_KoL?$HV_LV!ZV_Nյ1LW넖!I(A~#+V?^e-Xk$A"A&)+tA"nkb$+yULPq% +1xUCB UQF?=T߷M4|~0RqϳRiiSV/F_ kH%ZUK~8h: +皏 +z-}SZ^+PpGkgA\QAU5'ꚪkK|_ zA%Ka'CA9L_ }`A%O) +SK][Kaxo%Gۯm$49:C&VKaxo%G6 $ʆsv 'a[i7Fwm&PF+ xo$gz^Hb)ޗ7J<-- }c Mm/Am,6}PӤҿޗ7A(aoKH Dva#+%W `~56mM^-Iv@ &m&o*I]*jzۡ MxAa SIoKo$i6m&Ihc& < /08/J}aC4(t|i%tJb (aC4(?AҴyŸA~zAN^aXd%Ty`] u=PǝB '&pl1qb`AkaGo!/&K A/0AkaG 0&L& 44'080AGH4 ^Xb]80A Z$>&0@ApH % /ba!hP i aPB@DhF1  FAЌDDhDDFB"""""""""""1`|m\exmȔa-tl;MV6(PoiuHN)i+`EʌѨ~pk?PcS4R&P)/?7zT=$Txa8>#/ Oρ_i{z_Il"^?.K{YIBu//Ӝ_}uKQWp?*5#Zϯj}: Q[);E_Yq'lӡ>[Y.g'v6jT=aaӷح/0at4zW_X7"AIƾ8 ADBM󧥮 >=WA 1C +)G"Ri} 4ŠCDEBd6D`DUQ\+z)n!["D3A0g^ -D" Y"+EterR0YR9[5 ؖF ' kȺf P.p H"W6Fy:"vw:"ə-&kF?ԁ0 Tt1(alFa (Ȫ6*ahΓgV'e.34 p=FB FJBZ.ghAdP!hU*âW9vK_ea2Aqem_Z`S (!o(e13#@hH欐2Ƒ#%/Li/Q) {a|!mUY (죾Jz`8s׋үز 1a=~q/mH0Q4/#'H*9!_]#tЍAz$v{vt^:_]kζ$u(P]W k K6D?(ZI%I_kKSiz`ka Ad뜅K IO$I?m-/PD d55ZZI(KO'=$UkOtz_B꒲2T9}e H BE͆fTYAe /L4{m~'^ziŐt'6P3GEIE >K`Ҿt) ȝ;K_pi,.Tqs$G95%xPo~N1ǭ4]t?qTru/C er(#oPɅE_JrB~R9X r8pKQ-H}G/ZFr鑏ۥЇ󧲓'KKn~ÏKz#_(F7:KaGWL n)"?L_8_I$kA/O.?/+KKKn(yF<ϣZ0 >k0@U3.V#y$4t,WO-/J}B,_|";?%oH]`u*ޱkK ^f//80a~h(o߾7@Z3JisG,0^kP>]6%gPk=/J$AQ _B[mzKaϧZ ⴘz]$,1+(-K p>$]K GuޖH_A0$/Jr:[m#9 orGou:-/!_imfi--K]Ko-|D|_ /3 ?[S_8kKo-6ߺ|{(3G Mh.#im K?t_^^ֿZQ߂A&( IkKxOKoKoN߂#_oڷ;t$eqT^GY}-q,u_m[[K.a &kW"@?%VUJKK1_넖!I(A$RU- -/Hm$K^M5z_B ^>!UF?=Q椗[/t I-M5m#U腭-2=cϯK}{/P9ZF3y C(ZEa_h/$AzMK<Ϭ?$?p*L_AIqz[y /ö߄Jm$H3<=eiǿm$ȏ[*l?bIaFw -??;jz^ү~&Kl6دֿ/Jۈ[@&o_ӤzޗzK1 WMMO/^zZvki7ҿ?o$h/EBWi0u'x@B ҆i*QOHԉ딍GF?\z>k4yRaA7vT2V0o8-'&OWA7a?0ǝBdU0x1&)/1H&($LPAaT _+ +?D$L& 4 +Ao# e@Dւi,`:HP+($ehOPk l.3 ]¡a8Bߘ _Ags `xAZ @v߉uM Mh"ptپgsΓ~/L* >k^?aA$Bt} ,B @PI[r`*x( HUTcղ;s|~0Z +j?*JG69<tKaxo%GvKoa; K[aɽR }Pޗb+i6,0s5TAQ'JF!?)& %- I SըAa2 x(A00^ a80A A  3d#ХGY +^h"",ȕ"J%HK KDKua;.:μAVDRgLdg3v/ 뒄piô6mL6B(aÇ +Miv4fla eVPWdgWp醃"ʄP,"7 wvFŪFͲݗAIoag.P4ABI7P< Y? &tI7\e;%иl#qБ7A&r0)x3kGB7H[.cA&&ʭ74L=RB2S|C +, +z*IZI[੔w漺?BfV*iI[ૄz8߱AޖޗƒHR z\^SϓH0$#s /N'i'$a_V򄗡iRL?Ka&I0/ I􍤽#i/uA %IPAHKC F\_~KKM㦂 x_ $ H_q?I$c!c!񮎐, / IMC_$ )@k_B&H3T>r5^#Hly *E$"T:R}iŧHӬR}iyfhQӋϯ< |Zq/Ȱ4$aDzs:#Ӝ5%'_0"=9+ #/bbe[뮾/eP*2aB 5C er( PC #opC r/ +0scISHIm[_ޒ7JHIm8, %[~D?t!_JT[pKn~ÏKz#_J͎JۄG_^\":O":u$ n]~&VALQJ$ +-_o+Aa-U*]zXvQD^_Q~<J 6QD_C$8L B"?={QD_6 +Duz/9ŪAh,Wņ$x0Xh,Woxh,WlKI ^f//KI&l /&l  M_~E tJҭ/A_/ 5Pm&ҭe#OI6ozJ_]#4؄BI_?/m}&&3MI+ˆlBI_mfWiXmkmVq֖msPt~)V u]Ja@6]%|]<$Â#'J .% Uo6]__Ka^ ~K--š,z_AB ^A7O߯c ^z &F}-/4"bĨH$iag[$iuuKoL>=BG.."AAKL$a@L>߮?_L>{R0ge 6]%->z)g) uלZA>.4H Cm[/ $g%R+:ϯϯk#頶Q $g%RHdK+HdK+ڶ^?ނJ+Zֵ+鑠WŎ:%aMk(A0B~uV!ZױLS0_Ao 1I[Z? IJAt$bI_LRV_ץA1?5$ UF~?>Є@KT}UZ*#5A*r?Z __JDto MU5 i { DSMAZ'*?~ +S;gII3=AryM! <=fiW'!6AȆdI? `AAȆm?< +&D4K $)b~oKeWA AFv@K  R3W }c ^ 6OoGi6";I/t@A#$x@A#bA$MMM@i$Iҵ@ &o=-P Iz]H6ioKåm_A$Ii7A$IzA& A:P ҆g*QOAl4'J]r'JKi:NMc&/<NMǠxA$U-7A00a0a Pa0 L|>p@ 4A04X>V0@A0H % ؠA0@Ah!c [ ` *R%@P OаFhP!iJD@RDDDDDDDDDDDPQd*Eb%H"T*RXC D"(ˢg3IQLL#M3! 0QDl:Ӈpim0E8d \2a+MDaٴH YPBFۦ *!*n Hlef2~g(i Tt!$h)ˤT M4l:Ai ݲ& 0m& d:+e@4$f ֎oO#G#0o*jrk?Hκ74%mPEI2I3+|z‹)B )BLJ4 +L'K!H$mcK' $JUlE /N'i"N򄗡iRL?KXBKеC:͔CzPS&AAȤ ߤm%a/m_ F]-/It^$HAzZh,s,q?__A$$] Y_cIU(VKQ$c! H GJ"T/_AA":U>L/m- /!%O?A%] 4ӋӬޒQ}BϯI84R}iO"ГIRbjK5BNm$} :bߧpiaDzs/eP*2azZJ(a(㔯G ^,J0 6t JrB +kR91?MҠ%[?izJ$pҲ^?KHImB_}(F6:m*FjKnqoDtk5iB6i%A(F7pT[pCפ+C{^(/H0IEH ! ^[_K/B|2H ^{>/Bt/&A lkj[nAGMpi#=,*>K #/ϯ6kM F{"Y\U/յ/AX㠂V!Zԋߨ-jZ VeYU*PcʲH VS1^^H$%nKTpкPx6_H IJviKB UQ?5$E_GBAA-! V*#5S kRF vR \DGK MjB. wi%zuA"~ +A:JL_'D\~Ki +A& $H3<=eA4m$ȮʨI"IHb&Uqo9yho_H #;k 6/ _+ؠAm/BH DvnxBA$߷>&__IGi7, ſI6n/'A6O/hA$MR.bIl:WA7:HIu#@bIl> 6 ͆ ACOa +6Ň@H.F$&  t$ HHSI8A70HSA1<$ڨ A h4A  pn`a~A04_aC;yY*2!xH4DY(@ȁ KU +P` *b]}4BfAAUx"5#DD $,*!Bm( Лdj(!J"""(!ABDGY +]iMQ; D&da-Մ; dB"8g\ Y>E\tϺAv# N$#IMm0E YP#Hւv+sdi&ٴH 6"7^ؐnBg&awwe.34 8(M\{ 9t*uI dt0: SlIc).ȋ1l yE/F?ž`ŗI@uP yE74Q0G}jˣզeo_t@<~N(fV*08߸4_0aM$lOGR,D8 z_DN_yζϝa_!Ny]:Bm`L[a_KC F^6D?(ZI%쪚􍤺Z^q?@ }'o8HG$h Iom%IMCQQפ;ioz'LW6%$c!y *sQ9RrTZtE$u?,*!#Zq~g=j]KE΅>0$D?,(֜_I/Ȱ4A D|% R#Ӝ0 L:+Votz]Q9umSrA0"=9I]%{*3x%Ӆ +k98$L\zDAI7AԎu+SB z "]%S +zt r8pKQA8-"]%i%* -Duǥv_gOe'NKno+Qa-Y"?Ȏ?A^:2DK`u뮉c/ܿB!ejMm{_֕bgejMmk= 4G_ H`JX^;y4tE)Z Μgb6]罿HԫޱkK- q6]}nv=>}$UxA~VM~yt癈muG&ҭ3DuˆlBI_<ēp*ZuhKү}9lBI^XoSim&UoDFmuZL=.o{Wt/I(l4/^9+d,a^f +҆K#GKayH&KKlz x/!yW?I?A$HϿ D _A[UI03tjv"?A v_S.PgWx@ +S ^_ u-~*gĺҍ&& 4[{A |6]o-$ȖWK量|&_ / $g%Rm[[K.҈$J+Z`Wa &nk +ֽb[t$bL[\$&IB {LRV_ץ?>Є@( HW`*xx@49-UJ|~0mG$q/ ?T&-"ᰏsWgA\QAUA"~CAryL %&T΀lAJmW'!6Ξf"IgWHxl;o A[ .Li'@A AFwU]a; Km-p@U izL><-Ka $ۤ?>j}P,0Gi7, J$II 0b+ql4 Iz]"MIl:W&Mq5:*[" ,0cA& kg. (tzXH0< J>O*Xa%ȮH t$ cL`I ߇GcLLK[,0  `I [ANA04_sXAkaG4,B |8 A`bF9` *kMSXka U␌ Oа& I A)DDDPB"""""44""((#yZ%H %HR-DKua`8pι%D")3E2T6 >3wprP+*N$:ӆf ]Æ@6laMid4P6fu L&/B#}] UDo6,=mDo-qLMtI7SIB@hŔ#IʴHGNoaoaKm& dᲰa[UA&r0)}V;7CKzytoOi:D-&eo^Q-^-I[੔CL@:W +L'7΄ 6τ1ֹЫqtmqt 6󋣈S z_DNI]k&χ` d~uxfi0/ 27Iz F_d[3AHK[#0( ߤm%F_#@\zO.='eUK|~$] YmO )@k!%6H ~NԂSd1KKIdIS}h/!%OEM{$^BJdǜPH?y:o;ӋӬpoKQϭ80ӋϯI10I9<IG9>`~L_GG9?L8~obiH!)vp>.Cq +0sqWAA{(aPmN.E +0s>c%[?iP:tixaK~ʍ&HImBծ -DuǥѯԟǦ4Z^T[pXm":w0T n^ej8AD\xřKuixl[_ӤH +-^8 ~߲5 +&xD~zO}S(Pkn^(Pkn#Lz! (PknV#oxh,WKKҟPD{+Ab~ /lR+L!kƍnB^uG76]\o Pߏ6] .h0A $Auam{aM[vK^U5/tJ҄G$3p)6o":ulBI_ _'H6!$r_/bJo0=9>T$4؄,7c-$/Ҷc ҶcL8hI[i[l1]}Piu9z_-.CaХ U]xA$ (l4}__A7OZ[4Y_ͯI?f: oK I?1umIT~Iy3PI03 A$HϾү:?H$]\E?_ y 0z~$ak]kƖ 3z[:}q$`φ˯  u]֜PH Cm[/Km.z$D_$D_F{"Y\U/>my#3k]]h V"?]~t4J+Z%ak~qA0Bb)~H$%nKTOH$%n IJ%fc6 PA 4_^@~jI~!*! UFÆSAL/-H%Z$KLo_PH%Zai JA*qA~A5 i {A~A ?T_ $O4T|}/3H <vΒ*g@{GW'A4Ȟ+a&D4M ή "IǰPA2!\W_"I/$1Hz[*huHb݊$1H #; 6핧0Am/AK%A#^ @&&/ݶr1$";Ia o/H Dv~ x@ &mo=-{m4P IzcMtAi6K|$i6+篯vAf!m&0bIo$/H6avA:P'һ` pAEN>DRK'JKii '&yLR^$,I8A7d@I8A7I8A7UKh0_4A04_aC)L&  0@ Ix A`bF0@AZA?A" [5ԊB5$e%H $eWB8 HA +H'XT8 E&@CD$ A(!IT@@RDDDDDDE""""""#,hDKuafS(A[|9K*ɢ!I2)T\̦PڲOSCu 0Æ L69`l28m8e"T"[ 6;a6}$MôuL4#R htwpe+dZ4F@Do-qLaBS:mP7SIB@Zp}M(WQd JIc).weaÌzAp 7_Z`S bAp 7.rSس@P\ 74%oZeqVtmmk&GEC +?VŜ}%gs0/ l 6Tf~D^K'_w6 F]-/$⌞H_q~ޗ2^(yBoKHI~9i2QqOIK_ƺ:@koQq):4 oQubJl2ii%P=_aj_YFK&g2ub?KH?h/<לY R_h^P^x3 yB#?sN/`i!zV}//`~+=y3ҴﯲK1HNs]u\^ʡ8ۈA{I#498+Q_Wu|D_( P_ڑHuO=Txa8?Fg#*Fg#DKoЇjKJK +"?ވj?/KJ/OK":֫?O^ejUւB͆8*]zX,}q})ѵ!}}%Q~;+̃0KN {ey}?}5 +& M= 4GM32^D4/9^D6=h?e"h,W[:DҋK9\/ZtJ.)iAtItCjr:^_vKr:^/^4JG[ kּ tKNpK_z4S׷$?]T_}uimZG?TWo"9XV u__hK$f#ZPKo!xH$׺_K[^}: QKxOa S_>H Cm[-\0wUalpϯk-A^.\}-A3ixcQM(}-Q}?c=g/u|J"A+ kئ)b}asItOe-RqsźLRVM}z_ocK5 #I/ o?T}kKkHK_a#/my \DGK|}m-_ B!2\6 D{-xA_]_MReLh/տ*ץ\i+au5տvH3<=e~\G"I]&+K{3L=ޖʮ?~$1H_j~]7mm0KWAz[A#~ҿv&=%J,7a oXA$II6~&/-j>$IXEZi0zL>5å=[O1Œ ȵ9|D1$i6^L$08 ADBM󧥯I?ΟaiJ}mOlTN7AtǠ?׶y+􃠼| bI8A7UKh0Z4'䠁A_aCN7h%_8 LZHQ /G"Ri}  u#KqHAUx#hG#LZ!d0a aPFȐA +Q +""#,HR,^^hn!["Dk; +prJDLgLdR&vDFtFeW#h8g\B#kp8mٴel8l6  iafkL2%0᳔ͦ8d za6};a6~Fn/onYPDke:w gl;R"]] %B(VU6v\fh'pjӆS:m& +r(UI ӆS:ns}:n*(DbI7Un"1Z &UgnSdᲰa[زpP\ 7a^7زpP\ N 5 W oO\ +aZ\6.iDaeqVtmm&eo_m>WgAAG}D/T0&boaG]a/a?t oK~O󉬣QOSMg1 zZ߭gI$vPI_LcRsATB_TXy$kY:T UHm􍤽 \S5*h ߤm$?5J+L>-C ĂoKҞII/˃HH гa4_om%v&$c!ͨ_?ʵzIh?HIMCHͭg/AEz]--*(W$^BJza8 z_hYj_Hr^ᄒNF(֜_YI}y!yőyd_Ч+ ,ZquIR=%o_zyYG9>`^tWĝ>}/O.=*b+YO_^xCu}/ +k98$&G ؽN,D/a$fC uѾ}ŪGtFg#8}ϡZ^zu楤DKoIךoBOK":߻F7ՠD} +uA#_HT_"d[DzL\1O\_kD@*]RejD(iX׮/Waj(PknدQ^dO_}%RۭAREWi3SK_u8{(?Q+AbzZ_u{(?QzߊVzJ}B=.x2/uti/=ks_fl _MCGKm*K #G  &ҭ\pG[ֽ#4؄yMZ/YЋH6!$K 6~c,6ҶcuUWֺG?[*g?p%m_"Օ3>GEo/_zPiu9z_(#M#_oo҆KKٛkOo_I?im_vX#$tMf-I@_㯈co:jG_ #>-;W:?[A&_ Az[GcE#)%_H$AqW_>H ^{^}{_{ H ˨O#ڷ[Ǐ $g%Rt-A\3 +~}{_Uy|mm*.Q X`kR, +[cZ QMsA0B F竮ULSqs8H$%nKt}qsg|o5B$bXAQBM5z^c UF?8K1ײY.a UjIv4Ǧi-5 A h-2=ǯj@=8a VK pjaDGKƿ'$2\6z_WoKm-_Fa'* ~GKA0sS:KKKKIW'h I&vLi&A!VPA2]{x )ނoKeU/}+KJ$1H.I_*Am/I?W0oA/gY_? @&&_ҴGi6Wi%_ 6~ It#QIzL4=8zM?Ai6[~vNz B MJ=[O:|AISH6a%H1uz``0: tOaa |PAE 6@ ҇]ĦZǤA">x poA7箓" $b$ !hcd `BI8A7y􏴃 vB[AoL& ,/uKA5 AALcL& & (ci ALHQ# kkG Uzi T,"B $0@ARb](A5RȘA +H'hFx!HpыA"8b A) +ƣB" !ADGY@ёtJ +̎3I8pμVE(EdW)DMi L2`V-LPWpNEa''mei7PDaF)tuNuB$oOI&eo#fp^9!A oK /D?ZI0/:]G֒7IuRίB~ e$c!#N$` 2E$iPPJ9$i||?aDzsM1usAްt.+ZKN/. -Duiǔd0 RKu֡y*z(Pknqx╠^HϢI +(D{4J_aFi %G +o[l1ֻaKto#[bBv~ [>ߠagKb߫xIU_I0ge-"7 &$ȖWK$eYU-[J+Z]7LRV:Zc^?_t U4=a\齔~A* iZ__XI DS[ttAȥƭA?9m&PA2!.2om,  R3:h/A^ikH Dvv/ehr@ &l1\%ISA$I:?'J,AP@PA$,*2"81L& H̃!}h $e00B&!G]GZ=M@$Mn)ԷV)Vxd†dY0יD+<2a)0vD"*kTDdMCaLd"E5 *P"jdUC4l6? /٫ kL8AT 6 FêMd2 FÅ 2ᢊl2T* Tvjl'i7AEp K#| -mi8^Ig ef2g'$F2Զ៴lD$ɶoˆZ)qoˆ}r-ypN+eu>ACޒ(fgCF!EozH}{*k=>L'vzfA rxt[^~ׯDl<~+{N'iIM_J+`F-CYxXs@mWүWZgUGAM` H?UQB)kB>ѰhsNdfk-%: U?gP!~BfRZ^|604dBלM(60(M:A9^p gwK3 ]o$(~н&ĝ,lBu3 ]o/j}΃ү5sz"!fr\^iĽuWy +SZ%_sAzZkU Mj}Lm$UA*q_?Acz_.G4?+itȸ4+>]u֐aK5 V ssA痤D{/ePL*}~s}]tU?H]פ^Im.uT}tU?Z{}q ᄱoꠈ_<}'Kt%ZV-TB\["?_~oypTGG?I_e_|$E._ӭ"?Kֳc/_zDARLEVҴI$X?}\_%m_߯׏6.+z xUo~2bĴG_.ح 5# 9rGWDnx/IZZJA봾z䢘QLu__X_[8GU}7ׄKToO҄GO\`i@.0yxJ0 t~~8F]Fi#@>BZ =hWzKׯ#k0_M| `1mkPIAv9 Q!6H3(_xK_ \pI'"8A6mR/mR,? Ԓ[TP 6J )Q%H^}rR)`MazE>0@[`2}" M1VAFPAo8Ÿan52Anpk4+ut2DT;&LV +@dl Z 4@Y զ+AEAcm A Ap@L,% "{^>A`=0XJ 6' BKE*HPh_`q(DDR@"" q:!F"(!DPB#v&h^;FChMD+\ +GeH}94RPgcY*y)gbHDt2&cA4|92NP:gt;LN|בu 6tM6 ael8p0M8a8e^E4pla7DkV"ȈLZtADt*QIT* Tvj5L&/!!0:KQ.Z L&P>RQqt)AMڒ \P՗8A!c#E t*& fXZq10eˤ6#0oeO b2`ŗIAAp 7=[ NO3~9,Xl!H[BdCJQ) {a|!l*΂M_VWOlOGH6p)|Bt?toO؟D a5O¥oK" WgONNn=N n0AzSKK3<ڱi$(e>k+Vyb!BI/!/HKɅN0)'$q &u"Q] ~_eM&>rBS#㶖I"u_ /kO:5vB $NcF"L^CZ}^M9 J4 +_YGq~PrTפ\<z^EZHyZ"g:Q8 Mt뇓A^ֽ5D@gN,Ƃ6N>b#:Yl=].:'_We .}K#fEtz]Q9t}/OZDzs>a _Py?ejq#AɅX5l}sq*PVN/eP㜨-=~_E(a_.} IGaG.ij?ή vF>DٚQ:cZ@mB/eyI#aɗ뿿\G*VG_|IK+Kn~xay㮓*G&VQnz^Ǧy㮓*GA %]6/JG/+KK0K1-Kk&k?o_-/zZhtӵLWDCd+9< WŽb֗NF/tuY~_u*ޱkK㥜QQp𗙩8.tOy~}/mߎ:_]Ώ"<ֺ}s#IVͯ@k=/Jk !y~*ZuhKҭֿBI_Ϧ!~B6*j5b@$a[ .RZZdyk[SV/Fj@=#ZZ9,,$Ht5__$4# e Hl# +ץ +j?*_"=Mix ?>` lLReL -&/>` տl7#_=uPd_CiOWM NK PD{-O.Z'a@v(A`&Ml WB1XN~$?Km&1H-L< go)b>zL>ZJ<-- 7_[t7Im~";I/Kob/&"][1z$-/GIAiIa!18_AzMzM[|}& rK ;.:J~Ijvk|D:Kn4i7"aH0("x_DŽ D YѬ56>pN 'x@}O (f[yiC`zX1H""LK[" $L:Թd~H""It +LK[WD8A6zB+b &Qj4vdXQ'a&0?- hA-0 ; y8B^L& 4/TB ӃXET6a UX,W V":A$ehǡaPB BX(HzI PBa!hP t#DDDDDFDDhb"?lD'm +'-S>9 D QL"Q.32Db*h&}r # :gLLL"̬ /.ٴm!;al2~0QSlPp欋imO&f PaQvÇLE[ "QpʅU +8aոUa!0:K Bvj}]‹A0醃ap.%ȃ +aaH7\&I RQh*Jz 2S FO齵( 1m40/6y$-YPi?^QߑOeM[al?FoKKKҪal?FK!|!mvPvC^:_D|vC^>__/EZ36D?(ZI%IHfRZ"4S]jC򅤒_ )_ls n +qI?I!?6A~ka)vS0:II>"k"?q{QK} $:3 h?_XH~(9<9c! +5_%e<v@<\_=tp"i6x>-P"?~\t!A"=?:{)?t?l3}wq~S@Z^I8[pz[8 _|WA^:2D%&V'뿽A +I}#_u9zGIPg }ZV_^?#5Ҵ TKn~'trsӵLW^E?}ki g'0;]^D?}Ab`~>yP'|[-iqAuKz\룪=/ߚ|[-iqtGUa/3StA0~b4OyU4_ob//!5Oytb-*_/: !4aR۬#@z^I+80_y+-)%_^f-}4V_3I+8K^^G,W_!aYF`E[|GQƖ:G]uZL=.#aYGUim^ބY dRK#M#׾p~Y!ksE]WsItr荂o/!_^tj UEd?XK!Z[4Y]>`_&dW}x_/edmw(1aE~}Ďqg8oeNb `xAZ @h/mvUnjAbZ:D{0^Vԇ*5?(K /Ah<]iF~c6]%^immW. ]iF~c _>0tޖΟ7yo " RAygֺ^o=R?K0L_|&_ /yz_/#sҭ-h_IkZ^^?&MQ V_NhߨzZ@az%A6JI+t/yα#AXk$sZzZA( HUTc-)BPPA 1B|G_A5b@$akAl4dv_:αgG5b@$ab_+S9E+KHXH +j?*;0dsߑ +j?*^/ǪkKw"JB. zXJyCmH0~IC_lL<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%Gv_l2"Jzޖߧߏö߄J}1]gWHx{7РF+ xo$gz_A`&v 'aaFwm&Uqo<-_,GoKoe MzL>KKl>o>Ja#/oKo'O߭ COl Dvz^ۤ>xAim WM G4# Wi7ۤ  ; ޗ\?(~ `?5Tm>"@CA+h$ [< J!C3(04z[^tJQKTfE0tʔil:ItJ@[yŸAi8A6z2 DN3R8" \0o8/دvL'&OT Mh&/Xeh 5ⰣNA`I{AYZj /V@KPXA00^X` ~ ~@Ab7_1@ (45k B-`pa !@AK OPkx@ 9&B;HA"®B"ArLv F ZH'XT!"L:DDFDFB"""#ab-DY# 4v$ Dv#$ɣDTԷV)؞VђXVQrvO\vD"(gsa0μA"LÆJ,Hl8d3E "p.CE& i /.ٴm!>eZl۰aȚlap&ظpց0 TtI(MaDXV"6aP6yVy]$hrPA0}.34 =FB F#bO]a F=Ra B}r1gC+ypIŗImXF0- {Ytz&Ӽ Ӽ3kAATCv ^ mI a(G| |i$?/&L?jC򅤒^쪟 S8ePo9gkm7Y `kz5YqBeYyȢ-{i$:Mz'Y|c_M_нBI01փF}=?R!9ZZ_bsA_YGk7.+)L_ZX"E~pTZ!8 }IտZ"[}t[NyZ"Ӌ!/گ!SizY)4"7/"uG11gFsR|,yΫa"uG1Dzs>afiA1~҂?_뮩@נ./Q9(C[KejtU9ʎB(aDi#D߰a ߰aR9Oij??G UKQ:cZmCnO}*m|HG?r'K=-UGIujΞO/-Du nzle&U9zG'zgA^:2D%K"?=k/rX۬UVإZZ^vj_֕륷W&z_݅B +X">&+^_g'0;] S /RcN)?V0~b-׋Z\GX"Z $[NreQ|[-iqAuK_ԉ ן\?g)AU>uM0>&C#@z^db-$Ȏ*ZuhKҡ %~TGY8OH?B, ^Ky-0ҡIK }uZL=.|?Kч(s]4ĘQP`]}ga= m,xA0"rՔuK]1L}S%Z + K %*Q9([i7wo-%A6JI+t-{zgKK/egKU WoN?^РA!UQU-aϢa_iKHXH_(="GmG.oKkMXP?IzUc 463 /3Jik,% A_m_ +&E i y!]-qHt5]SZ^V5IlwͪyAiT{z P_;g1I34TIK<Ϭ?$?>%VР7#0ixi&-m %I~&#MK5bݤ@vMC&ЌVߠI; 1H-ּm8}=/ %K)m[zL>Zү~&Kl6=@z_D{Kܬ 'O% 4&_ 7_~o>Ja#%M$ҿ_IA(Al14% o_A(iIa!14I_I7i~`%*h> + `å~\Ba Ka5TAkPII/ 0. I?IzaIk OK( TK %_a.H  ÂAaqn[$: I&Ua0h""It +LK[aXa%zmjAII/ZB2?L0zi8A]AA-0 ׊;  %ưח N  I} :A& ("? PH'kpA4Č !bbAV/!kƒif3.if&#O B!HDH0IB#C +B)*HE DDDDDDDDhDDDDDF#&猒>MQ"Ȃ)ndL  hQLϺA:gV2 + ;ʭE{ a8eVE46m= $BAlέ¨ .2$&PNEAB}2莪-IOZ$\* +KE\A0]$hh.aF`Ua {Ytzև`5L/\6y$- +J3+UzIۭ>&j61~?ױ~~AzSS[hҍMwuyb!BI/HK IAL?׺{œaOHzOͯҦ AzG/:o;ioz'F`c!Ξ/NFㅣE9\Rᷥ.+)LGH ncKJ@kx~z^ֽq'^aN ǪL2~a]!Ϋa"uG1Dzs8dVMhqꖔj xz P_h}PASIS)k]&p"i6[ HP">*gOe'N":I4Fer tW"?uU@OVZf#QZV_SW$FPK}$y4t,WO8g}_ii13"WŽb֗_Wo ylKM~yt癈[^!8WZSJ#_#XF*WDp.yicDy.!.&I u5D_K> +Z֖H_A0$_$t#)O.VKe):A }/1?"?Pb?__cZ,5L0ȯ" #>T?.,_OA_"=l/+Apժ_^t]陁 K(ol| AˤƗܑDikYePHoߋA E+:Ϫ sR8 ^H*/#_^/0 m!Zֺe}8q9J=e>α#AsqI~IbMJB5y|^+޿|B +~zƶ"GuߝbΏ+V}n6D?(ZI%I?l E/{I8A6M5k^! +q I?I!?6) DrDj 6x"΃WFнBI@1փUk e|2]-. R9}eB\6%dd>"п8mmQT΃_ͬs5jY34P $qk5,.Tqs$G9"KZGm0_oߜG8ejtU9?#Xz P_} SKwO=`0~Ȁ3J#4_JGEd>KqGm$GĎ@~:k\% _Agow. ӮyuZ^ʭOڷ"?9?D{0^V"?辷+X]-w$r_گ=[_QAxZQ߂A&( Ik&VN$fkk.:/sԇkzGKm)-| w<7H}| #6k$'6Z@!I&ҟ#"`v~I6k]2_l*F*eTئ)X- TGAzImޭerXk$A"շHm(1 ![Z A KH$.pϢ#Kס^_( HUTctI/[ZZ@F_%IiioKi"Gm_(=VRR--/7~/ jB.B~8ޖ޹B#DW<~UuMiu_./uA'J Q &T΀oVlJS&o m$3, %I~)ii -ö߄Jm$RM6\h --I ,)Ml W&t#<7N R3/_i?i$!֖0O >zL>ZJIgoi+B /D `^Umo%KOI[_~% 0M_ k$8%-"#H_:M HzK1JX`b+i6 ?$?I%(~I%XE=+*i M|Z$h $hPI7@[K%N2"$5%Ik HAal/jQ'JG򤰛 @)i$Ao A[UeT;&AKiXElRLK[aA!F &U0xA%m&X| ~R 8@m0 ;  %v + V@ȁ4ApE_RA?AHP?80A Z$H̃!EBa$fA0' )d!O )R + ! A"4"0BmF DDDDDDDDDDDDDDc,Z&գERܢ 舤gv5Db*hK'gu#yFE3>9 D L(lPΝl L(d!6 gYPla«*p!;5uap8aػ`nB):muI-)D˅8mJ ]NBG% ˜Xn.4M40̷Vt}eOK;ۦQ :s.oO Mi}?mpC*޷ߥ_ׯ?tLmH0Qo6,__/o!/Jp/z%>+jC򅤒^ss8\E0ƿuo8_G΃~^__Um-/PD d5y' H~#?.z_B꒲T"78zmƔ?Ifg@ziŒ8I֞_ͬsA>5gFMtK:sIz IA|2a}J5oB,/qz"Zzנ 57#뎘cSIz!o:aiLZ0# I4_f8^_\h:tRm#q(ZP_}tWL n/I׎8ҋҴtU(J"4?u3Fb) 'KK4K]Vi^VޱkK ^f>'~}/㎱ _b/KM~yt癈[^!6_gRy#_#XF*WDp.l4^ZGy.!.&I u5,FGp~]idRK?_/HDKK,$_ C_(x"/5,5_ /3 Z UnjK-?_@U#&PZmWzf`_j K(ol| Aˤ_=k]/sԇ,i2}~]t_S$ZA{7yo " RAygA~/1ʼZS_iyIi +ֵ+yA!UF?=_cDMXP?IzT%ޖ޹B#DW<~UuMiyz_ +?= QPlAJS:Jz}JzL4[~A("붓imk0)m_ lj[i: a";I/ GD`b?XK _LEz &oxERF ?RH(-һ ; ޗiazi\:AK%N3M"HZB a{PD4A:PJ7`SI"u =P?eU[=P;$:Q[c Bj K l uX5 2 x(A00^ D " l*_G_1@ (4ЍAPUE!APa! F(DDDDDDDPQd*EyH`AlDQȠ$>e*):٦s NDa2Ⱥ5pl2~0wRl286y68:JVT* Bvjlef2~g L6ۜJa ‹[ +tU$RSWXF0-"a9eaT*I:ͯH(}W04L=uޟآӇ?,pv O"A7_I!lko/$w8g}pA^O}K?}Ȇh'aѫA%KRZ]/#_pFd=AqTX_ek8& +ꘟIW|4sZ]%/8mY:*eja/pHK' :pczZI*~K6_`ijbȀi:z_-tI֞_ͬs֣{*V((zl3 >Ʉx?|XA~_YKI/K2G0jeyG\5#pktkF7߮yƿ[<2G9zGe_ᮗ]~/EiZ_/ˆ V#לd ?LWM}*l_sXԍ^-zAb>"z_tuY~vgG_C9|/I?>X:a//0hoK$S,6M.8KoհaW&Wֿ_oK(49l>|0i~:|aE~_ /گe??=q?czյԶUR"׿%^/ /-շHm&R- >y_}8LjA'N_kRXZZd{k(A/6 +? xR(e Hl#yAyA~9IKH %&T΀KG簃M!i&gWHx\7A.)wWA~Z -S ^U_ac*i }v~.io aoA, !~tD݈N _KihB0_ak |$Q%넿"@C}xA0i,&$OȠ`cIi?ڄapM%d4"$( &$ A N- zHؤa"'PɃR T dD%M2 ^ aM!dax5Č2462a{  k#!!6Ԓ AеCPT"DE"""""((#^ڒ _#NApXF0-Xm0ì8a^7ۦQahQ({cw(Apmog:5a=?o 6mސoeL'h?vR!!Z_b h'556[WKKu:P8_ +Du8L8M0qSp~/:/#:E&T PT PMҿ!1z_e:_Cb?C9&駦&φoi:YDutEW+t|?H?a>8Koz(L>uez0 kKm #9z_El?4"?/zZ[A|% * : jGZ#E _]i.t]Kfb1h*_[*5?/K*YIK~#_/_OY=~;z _{?mi/eYU", +[/Z * }}̄L[pE gz_?8}/_ke!GK/"#_iB.__ Al)2tKpM%d4L0`~bAka"'Pdm%@DN_4`IbbFAPZZHPL$246Ab m$>␉6Ԓ $A?T)td!CE-Մ; dB"eg*GDTL"Gsᝌι)aT +ȧӆö92L"jd&ES 69aɅ&a) [wKɰtbSe¨UeBN۴uA0N^m&O )AN]%0aE&s0ۭK$ +u/dXF0-"Pue 9uXfפf "(wT[t:U @Ds0ۥ(M]0ۥHH07a$zGh&(a]&$-o&^t蓴Iމ;(  (^C ?T8rDߤ[o?" $mz0OLG@bO n)_-.o.7ӝ3,?xA$}99РTQhvs|4JR9-.(MFzI?^qN_YFB,g. 3_~bS4D}_8?A**^4-:. zI0ҽ"7=_ͯ~E-$o` OCM}>?*tA5~XΠ9yKҢר:_0t>pr뎘c/VͯAҧQoOxAlEuhAXK"?kѨ[(<҈(#M$Z( LX&">_]q}_5/K߾#X]'x= 4GSU(KAN2I~5??u֥@*XgA~RdsXԍ^}iz /}i zX@_'Ȁ]Viߠ "CyC9>xJPcV!-}[z ?Iz:uC|m[ZK@WmpIR/^_#SW/e-R _"<:t'==/ i~Lz_m/qQ Ma-MiiTJ!7A6/ Lj~8.$]C(ZEaKLWs~m$6_R#?XReLP 5/K?Jg@(y /AH3 :$}it2(2x>A )zVGΞfE7AxA%mI %=}ߴd!8QO洓" $DA&$^ڞvL` 4- g: ,j$U B)LW00(A@ D P@14ј*5K6XaHF,B#B H ) !"DDDPB""""""""3ز+2hv$`AN̕-iΛdb#hԊ D-d쳲!TM%cL" iAE82 aɄ.p8f3ᚸ68ec`4ᔝl L(d+!6 gyP$ˆ ¦8abmaݐF e.Pg "VuLX ӨY[ʰ3jI( 1sIB&< >BaBa&4P6QV\fh(q]m@aPUS Fd+ypEۦQo ұ b22~a {Yt04<ײ!o"ߟ- HR@$i|!|&a ]K$~gA'{_n$x[Ѩ$wZgEGAMcJ k\?(MD`gWd?Nk" a(G| #yW쪟DOpʤIZqJ<ڱi$KK= IGTY/ӔYI$u=`0O4tcZR5z?j=-UKa(կ8*gOe'N/ֳc/T\K_"?__~P_}tWL뮵d%H"?^?߉!%^HI~H-5ƿ#G-/_(A@KG/KK`Gm.V#"}.rsӵLWK,EHK:ɔ'Y>kۣNut%4HUoX}0 KXKZ u].kEzI5\1|Mb _=V +![z,_iH +a~Y  4{֖_'I2)/?/믊atDl6au//KYASYv6_p~|,a^$hm<χZ_I|it_l>#4_)SБЈ:4XH?L׿4A bG@8}+*WwKoGĎqf1p`_&dW}]h>ۧ:GUnj.ս{_ :?^ʭOtί6 t#1 -z[m^XAz^a/o}V9/mWuM Mh/kkZOJ+Kk =Hץ_uΣD{s=Hҟ" پgsΓ~/]mk :[ ^/2$ +[~C u?ҟ#Kׄ L?$KLRZA +|| gKm&Q>0:߈ zkG8넖!I(AvߤHIN>-` РOWM NKa~N +_)i0zl;o A!imHm_z -1im/_1*f_[}bI-a-NxA/>zL>ZKot* >i6ޖ MD `X`үmo%,0ƿJ/?٪o>JpPb"oh K3ApsZYj)$AŕeT;&+aV$yŸAp@Ab-j H%5X1:%X5 2 x({B }" $!ihRXh5U +*~\B~ K GAO aU )#T"5H* 3d#!B""""""1Ev#$v*dA׃>4@/I~WюU^{j6~W>T/_/Jp/m%'+#J55i I$#i/~m{ĂuZ %=za #_IIIް1փi #s AzG-t $:3 h?%LpZV^O Fs"B꒲TN,@=#Ceͯ*ZP&=K,Z"Ӌ$q#Ӝ'^!KO/fo]-נ 5ik L1!z\t&Ko[p6 ~?~!IxE]D!$ +\Mr_] #ZBX"/~,HGL0ȯ" #>^#/ʭO,_Ot `  DVa-.D 2ŵ_$/K3j& 48lK\l* >vjsԇO*/L* >t}h/J 8 ^H* ^/= m!Zֺe}:J\PI_39#u<=?JI+t/UtP D}w:_A!UQV_ֿh$/wX_cF_֩/#!Jߑ|~UuMiy?/r[azAf~(9<rܛI?/$=_oKoK=_o A.OFw_ Jk._xo$gz_i_[>z[/%oi Dvz_LA-W@&M GAC`&D`I~[i7i7/aP#{(~%M$I/'JFAH0b%H'A4%fE8( TzNM:L0F ԬٞvL,riOT;&8-'&OV`I{AYMj /{^ AD$L& 4 AA)^hKXG($eЍA T"®B! F(BDDDPQ`2SEtDdđ\)TI2-Մ; +v'd)3"`쟃>5dB"}9)9B + DdE68l2~0E& P ' kȺ68mL6B(jlaeA٦jVÅA0N\^aQd ,HL7NFm)a>*B#}]o*3}SABRi@aJ1&0͗8AS!c#E t*& fIIc)ߑ[˂EPu>a6V8a(]&uoO[(\,73@ &v_SSҔG@m!o%$l6y$-YPi֛=*e(T)3+|pO]/NSȗ_{lOG|{Ri aI$:.:: +mƿEQ>ۮ+ނW^0ge $~ȇ2<GR_h<ڱi$Cy֗m%A#i._`?$y`{*i4y='נDI$h Iom~T&AοI=8H~(8LE4Hy h?_(Mʵz@IMC]-.+VQ`BoK]RW^8Lzqh^A2E$Zi'Vi=6_鵩 |y:kЋ3^qdg}|h(shmTSR}iAizy65ϯ90ΞEtz]Q9t}/OZDzs>a _ 1HNsQZ$-ub?Q9(C[/eP㜤-=~_E(a_2aB 5}Az_(k"~\tQ#mW!aG.ij?g#i + %M"]%P|W=q~KvUfA"󧲓'K/-Du (F5Pim#ԍf_{}@ Qz^Ǥւue_@_h!]~/I&VXKu׮d$_?-/_/?Ǵ\ (۫S{(A@KGH0~i}ik=\4GH99i&+P~!2z Sb^Xt`룪?KE5lʢZ?g9~\ %jpK -& OaZK@&㎱j8Aizv_k]>b?פK׆6o>&C/ebz/K +_aXF*kD$AQ ,vH6!$EpIuK 0as?Kn-.K uZL=.:eWҶc몼' YN&?//KYA]_ޖH_A0.#ZKOo@6]{Zy ui%Z_im%[,$_ C_Vӧn#m%6:QW/^`_&dW}-#>9oo/A$HϿҮyu_LʭOڷD~Goeu@ ` s}WPrL>o.𛤿ŵ_Kzz-/ĺҍ&& 4^}φˤG^A lE  !ߥu_[{7yo " u* >Ckt$ȖWKmjKHD4)#"@txIi~Ek⵭ttk_ A+ kئ)X- TGAzXw@G=,[i7v/_Ao ,B @Pg9 W>H$%nMmh--."BBn?=^/A/B GOQT*߈A +>[ KHXH]AXG.Ջǚ?gHVVst܆U"$P%?^/ jB.B[z_? ΂ m#T֗?APIA%al)2t_ }`A%Ka'EA\SMRhP]RZ_g'Hxu㙦 PD{-O.[PA2!!imHz@^z -1~oKB1XN~$?Km&1H-$1HZ[pZfBaץW?g{ᴿ iqەg@D/tI|$ޗ[%@&- /5&MXALEz >P^^i7A$M@=(/A?J$Ka5Tm>"%CAΊAzM~" 4. O#R^g%J:`< J> sRN3IR-Jz׺z^~C~m| d5t $:3 h?ׂ* +$#uzI"tf2-J#qrTp8 鎑\RV9 JyS8}8pu4z_^Zqd2}eF?I]~$^EHG9ᙧ`itmfk^.Tqs$G93Nr2:,\鮗I6sIz C V^ʡ85 ?(a&!|3jy]X(a-HHQ:落to:aij?i~VSIe`KI4"::5k{8֓a#aCA/Ch:N": n&y.*G[ eht#-R_"#-GKd'2D%mDK}+KKKn_[`fDGgliizmXX"C+M_ +F'үH0z +𗙦ӭ_4kK ^f/I!&wzK&k %joztao/u>b)V[Kx3[/"A3JCJ o":谍zT!$ +\MKۣ~-JKUBI_bq z]$,1+(^ZXGK/^I %&I u5{|u8Nh )%x#j^KL֗ץ֗_}>z[z넱#E_A0"@4X3_ָK6&dW}x_PVvt `  D^yg6 zԷ6]%oy گ@$D-K30/_6>IeZeqT^GY/=R_ /\U/}k`4T> _A E+:Ϩk]2w/I6k]2Z r~I~I6k]2%nEo-y %$|}n A#$ V?^1ӏץNHUTc ^P)׊ +BV- (=V_mgG _kKj/kKK-\kKξO)M_kx0~IC_;_[(?A%0~IC-ɴM/OW~A("Ja#Z;lj/ C Dvz_m&!, )/O `m&#]oi:Wֿ-IzAjv{(~%M$I/~aJ?һ i7C4(%& $H'%tʔaz&+ם Ҥ6Fx@B ҆g*Q'&OWAKi ةdcȃ :Hr0& )/e9J+be*[aPa0a!TJ="v&K B,,Lh,- `@ +DČMc!@AK Ki8#n1@ (4 F(!HD CT"#ЍApX@*#R +Dv "!A +""?ε#$diґB&FC +`AN򔡝d[}NPBC2ʾ &id5::@Αg tM6 @gY el8pK6yPavHA`6 @l6l $ˆ#I0àEGfFBɉ6R(UeBl;(l24 aQmo$3yɶԐbۺ.@0a"+Ouۺۤf#Nc-ypMFt:T_a0ïAŗImzF`Mn4ua6p3miA ge4dCli~{bFD ~l5Tp5 a SO5&/hNMoa5~l%)I'>;Duu\tt: I_pAy3 &:c諾wȆ6~9>"bᆂ}GJߔ-$%GE = ɯWڋƵI8_N:D7_K_'IK=Aο8^oB $N}ei'itW& t/Vu^q%WB꒱8 ~\5<.0Y#m$:k6QFKMpԺ*zd +3}Q ST@I΃A5k4\﬌0 CKNG ʴL=].:'PD﬌`"=UV{zK98sDZŤz L-gWoI[ts'A%˞v?dmGJpa$ޓij?+B_#'_~%ݕY_죭$#aЉzK.5op&7#_a&UL)4λZc_%m_x`% Do9iizRU8 zH 5# n_\v&+뮿ez~-{X '#GUc^fhȝԽ/o/E5~0 5XU:FtAaf"K__8Aiz ב5uߒYoz/Ҭ~o}'X?U +__H *o͕:{w\G֖_a at]iEe_' Y9'IlM9VP6s^L?CqaE~̓X</WZZ4nUnjVWAŸ@ +]h/W~@u.ŵ_{ޞ|T& 4Gkmv-h{?zt}0@-t/_AxAyg_m[Z--CN([E_Ko$K]2b-DtW3쥺[i7I(A~>v-+5 !{}ӏHV7Kqi- Aa#kIz//򦴴FDGK BWtK KPpGGW7qKoPI꒿xz_l)2t7qx0~IC+Aw&a4(.-/箴}/ :~ A/}-ӯ7bݤE|aUO~$=/ouXe&&Z[pXer)}v}b|ЋKoK /N+ҿ"Z[r-)/M㤡+ %8% =M(`ӯKz^pPb"?!t $;`H0ZM_MF>0AЧPtH #Xb+.I 0|BazL8 A-Na׌H&3I?IiA% =PMyi/R / 0gߤAIA)X%- IuaHOT$ dK5@Ap BA0iH/ %&*H'hDJp 1B m9cA{;pe#5F$a  A +GꪒA  +b""""(!B"""""(! +e)@2ERlY=ST ;Ȳ5"*VVѐVؚge/<Gֈ(q{(ZI%I:\Jy$t^yf95ͭ`?$9gkh0M|ꘋI?I!?6lW4 MOK~T&K~T&׍P}BAοнBI01փ O kqAՈIE, _:KW/NFㅣE9B꒲TQFJt) ?9EMPտU|K6uoH[GhR҇0uzסY#wF~ѾOL?I/ή ;}q tKQ-HB'/"ꪒd#a_#ߚ|W|~:8֓a4ΛXB'z0L}&5o"&}ʾ*'S`]ZWwI[b0;I/׏iizm"ŕ_Y׽zne( `x~= %# 4҄{b)/KNrX"Z $g')׿%,EF,E_K--5&w룪&C)5^G(a\WZSJYoz,#@z^I+8ARJeN&kEpKaY  4K#Sۺ?&I u5gsU&k]E zG荂og6JK"sEL!UF?=_ޓ,$mo/,$mo/t/~0Zmo[^/P%wmm$/GWT֗:GKz]ڤPIAiT{z~xx0~ICKԗ~9oI箵^CBwT=u %IuXe ^z.--I!imH~Zo KAZW}7Z[pZ}im iml-_P_D߄oK `Y>Z[r, Bm";I/O+C/@ m?ǢBm| SPb":[=MM$ wEaFXdR1 (& +z_ rIlK`?``OԠ!4m&aT;&8-'&OVo xA}A Aki' "H,A dNA`IzZcB^ႦM/s/s?[ 0U!@AKGꪄhzJM`!"ѕNUUFM`*@DhRЈDDDDEf*2s"vMn!S<#.y)gib!16ȄET3vv>ϩ )P2ϱ >OPl6 @(᲋8D%&:& O H3eVȪ_5]CNl2~&\4UBEGfȲ"^LI e#I0àEGfFB "ZMg ,-`r 0Š&P9t"x3wef2gL{jH 1miOZ!\" +aaHC)7e;-ypOu>_eaPXF -20ۦQby a(]&u04 eMy8<5뷶(dCl i}a|!l*΂M a _O/eqM^5&/hN'#~F>=DN3㣠dAmG?[u${O?}~_[WgONȆSls B?#`fR ]CRS]jC򅤒_ )_KKNM"mE95/ O^{œaROK! RtJO:_:3(^ нBII:iu_)__r?%k'YBɅ]49 Jm$~ʨri]D_!?UYOg6J/_/eo :KeRidR ޫL +տXץ-/,$_ C_ ]2$Ď8ץX"/58~f0  2+?$t7WZOoeVVG[3K-?A"=l/+AjC[WJtI=q_[UhJ4@$]z[_@zVZ^Ҟۭ=H?m`4T>f:M_Ac.ڶZZ@!KI0.A"`] ʼL?$K/)U-DtWM}im y zKm$ Yt_ +q FK!{AA/B* M~ KGab#VRZ-MXP?I|yAP%w `2/OYPpGo#DW<~Us_$Io.4G=A +?=ʙ_xz_yCmX0~ICy *XA + IHeE;}g'HxuczIOWO-m )bݤO -ko/A7/Jz_ha; kZ[p[ $S@KIƕ>q_~&Ko~"Z[r,1 1_Mnx(A +_BmA(ai akt RXA!F^- Ԓ[?$P~AaKq?R.\w%MOV! 2}"2*$5%EO^L xm|5Q4i%a4+`K5.z0t!`ߤAIA]CH>aT;&?kՂ PXA Z_ /AA> Aa _+ +?D%'faE"$  D X0U!ka80AGdzA +H'HFM`*JB""(!AGMDO DԷML6Bf([ 1m40=u>?lG*'Oz__􍤿_^8kABKʙ#iŒ8Quϭ"=9^a $~sC t!A~yƒۄG_]~:[u,WO/GUa/3Sp XJyBI_cVQsE]W~t/$i5?(Wa-}WKuCV_Nh^yF?=S਍*2;s Mix=?ROƒwl1H-KKaޗa/i7bPm& \'JFÇdpl1B $L& 4+D$e(A@GZ^$de#4M2 Kua-R"Q40Z;#" O#{wgÐa#|8Z ﲩF"ۊyڞK8l&VT6cV9#ZMp2"wl8m l_޲l6eBfX 97 a-PeXj7Gt ӨI "7aÅPԩ e<I p9uYٯPtGX +aaHQO)6o/aL,7STBaפf 3B}Hip0s.Y$@oݿ0e04 X{Y]2_a|!i'l*΂MGZD6ya< MzzKtЛal?FB$Ǻ"1A&؟D N'|pAS~T+ނ~8~'+VNNy]>  } ֈ4V +Ո I$YhZDl[* +YՈ&amh/hCƶVYUHI|)%$$yejrTf~zXj*ʵz }?нBInsdb6Q\vߥyم' ^Pj~9*⮢- ޗ󐺤/n L ӈ!cz z^3 t\53DǬS;/?^XњY 6TR,7ui:b?p̨l>/#u[AK89!~}/:C)Pt~׮z+5 [*S48Kejs )FKO_cR_IUR6>\_ GZ(^K\-&ePvRg#_89_a ܐ?D}Oe'N)_\+CSKKϥ~tW"?K_A^:Vv1>#h_ф/~/J3ӓ-Rk_HT zŔhZD دH]GL#NA1_L8A+e"+3FTF;@X֍KMήZZig)<_m .ޱkKչŵ,8V)*޻sG ^L] 먆9O΍sֿ5f#M!R_JI5OoLȧ[+-)G}?C +a'k&-}M潇aֿ8o\׫믊atx~kS2R1}u_c"?޽H_A0$}_XkH_Ka*ށa_?/!BH_ XaD|esE.1{9RF65L0ȯ" %iP*\"}-s_WZA 5,}/WPg'x@ +AǧQ'KK}#ߺ^#GD:}zuM Mh$ +u +r:}zÈ˃R ĺҍ&kk=~;z_mG/KپgsΓ~/C K6֖|&ڶk/K0 m/ _uK/@bbռ[uzշ넖!I(Ag9ץG ,B 5]w拧t_PA ֕~A/ֻ["j?k5b@$aQJb__~D_86F3y >zץOE ΂oYlJs΋} <ܜ mzZ_[*l;o A?M:]_KWI/ЌVߠI;eOzL?J=a;-__0)m~t<5mi%7A(a.?[M؈ഛ_ tV&"][i.1A1.[KBPL=|&J|D0D8>&EOERǮSm%l/<0 һOK( %(#bAkOBh: XZ R 0ǜ+EO\ q}M4aAY> (,a9 A@A0zM0 ; Nqal:XcJgaAᱤ{B$`(hHp#  R_1_L'XXA +J i$g)GkhGAIl* 3A0DDDDFEB"#d+G`dH!I6χާU+C9s2+zU:FWΜ3 _F$#Y#S@Z&}~zi$C~HEdW3j$o6]/Q{B4_ I$~_ S#o??$h IS#a~qu959lB $NcVApI$`c!Uh +ԿKнBI?9 JB&G:Q}_},/RdʉS/t#euYG>#}R]RVf +kЋ>ȏBPץ~h +s= o RR}i΅>~~;(Oi~NuֽUGܣAK89Y/Oߠ]AyC R#Ӝt"EC^ߠSsB)z 01쌏hE0WB-=$( P_fiazG8NB/[*{JAIjT>Cz"+HImeM =:(3uXB/m-G%⟏ui{G +Kn-o~?l"~?)CE:_e_@_EKzS'@믥 {=@=Ea7 i2DZZ^_ZzrttV__5}25 +HS(Gm-\ֿOƿ=+KK_&+P~!]0eد_]/oe?+Abz\cدO-/5^WA1_kK㥜/չŴ|Dwh/6]O z//ܨ^X"Z ɋ_>A0"@4l/+AjC| @Ӥ,s L>wG/_@ +Kl| AuށNNGO%4[}AA 6]})KooX6>IH} ^ + G[ $g&R\&=P_AV$K/j_M X`k_~5gGK-?Knq#A$Iw@Pg9I}}?9k$b_kup[||B +Tސkˡ UGU_#*-K$)pw#5  Z}KU#ΏGA]P?Iz\2;$ij']/@=&__]A 9` s΋ *KA?#ZM;S:ax/?$9 PD{Y%fK~?V%IBo ZCYBO}03Mo%G@v|Jg#EtIAi6%ib9~$4 [1TM ih-mU0ՇWZL?ǏJTm&I{BMm-C C -$,"I7,p@ &n?*I҆H^HI7Mo /JCAAM H6s6(?`Oi?&XH0T( %%͆ i rLADBMN?'rp"Ra0i9Sa 4K -&pQp Tya-L4L<8cJAA& I8A7IA |$áE+}&PX58/ NĊԃ k@ a L&^  + QI} |BA&_D%bX_8!B 5$e +A&Q4A0 " h& ~ qzƛ-bA 8AE5])mP%B48 B";\FDDDDDDE"""[8H7ku8kخ\R[(aG +endstream +endobj +27 0 obj <>stream +x+*T04U0B C=SSB!9WA?37B%_!+) H!$Ѕr\CQ +endstream +endobj +28 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +29 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 83049/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GgQBAU  r!?HiK[]a&Mw]BC%?/]$ax/vfV_Tuޒ ;T%ZPuuCm- ; %-LiII rhXaafaXa$Bo zh帺&n-j7+᝺5dwVUQg2(0)[J >*0J\!CwZP #%6Dbo )] p$û  fiDa Z5 5gn'L\*gH:%HH",(Df5 RPA* Kʩ)TFaϨ8T3Jq:! "1D`OeY}XVY.|/& +\Zu "4ɶd+C-+/(Nf82@O(t_u (Nf܂ `}2FAx_h쯧#ҤKp"yi#n > ?S0$${j!T ZMjdK?T!BKMG9!VܔDF9Iiu'SRlRVKM|OdH^ë >?Τstq=jtf_=!__(o4(TVzB,F]9@V}~"bFYbgqS#oW-QzvV_/&UG__>ˆI)~x@a?u*4ns?I|U% +~y-jeZM*@e G- KC_%HO&GZP.ATF0D"]DZCTnWN> JϯlȀW=ELњߚ!GWJJ?'Xӝ +}B'[~hH!i)ė]SDUsPta'UOߠuC\E_0K9~`hEddg:'NGD?udFG"tk4UVC_l8g?=};)? JF?eM QN{o.֙T>CI)N KzIA?m]bIisKjb3? l>kEjb^/#u^ZŵY/K6o! XIB#޸_]| >nrּ/Mx `R^ri_})? GIi]t@GLWH}gg]~+\<ߠf΍_4Ҽ|:]|iz#6TWΏDa['aχY[~2:_/A2KT KGOߥ t\Gh$/_k]k]#-"I c% 0Ҍ%X[ni2Asq?8C$@T[(V?"N"_P[ %4 | A}%ichu zhqR,@P#^)^I'Az:9< A~Ka#t9\~ +^$^?@_m1K`-g/eiO ^h^K/ v[P __‹/3?ǯYi~ q۪#I&^'QuA|E?Aa#a_k/U۟SH$/|Au K̏/m$ \z6ֹ$źG K-2D%E'AO?z/K sCAi7\ U[I?s?ʰn$&PL6sTVvQ7A*"I'CmDM97>QDoD#:S Fmqg@1TS4}3mzLCA;aZT[oP=,Ml=fךVui比'NEXMFS-U\&p(YU<~FG)xҤZ]il짠sEڶp)8@P}΄؟D a5D?isԛ8U:v"R9I;L`0ͪ<Οz ҝA8zo~8~'ײnn=Hfj _$%:YgV"-$_/]/՞؇m4b0QpBJy$t_^`@qWD>I _&v_i +:1_˂:eZ[^$Bu=餾pЮ{a1oOKU|E}arT'8_"_?k˭uHtRPVN_ ~t) ȕB-r544Wmץ~NgN ,Y*~>_|tz]Q9t᜘&Oߠ!CUV~ʥ @)i^/"q#HXzDz2?hʰjMqI.^ GatcZ/ޓvUe'EA6Ufwѭ%Um?">󧲓'K/~?&iItޗj./OA^:2Ds_!&DuP=/CKTo5w~VY*_֕?m?g'GEi5bG FoT$@UKD1D{tӵLW_QqlW!KePA$~_E@!6/ Pߒ-p%Ȗ/bjnr1m/_'#JXMR]J"=, 6<ֺ}s|8i &9k](D{5~I#@{9zY! T"Bg0k=/JFyF +I$>g5H!'nkreN>~޽]o]|VKΫ^rS^oSuVPs0V'4MtK_]B )zuCQ<}'au_gD|hR`_.IXQ]}X:4XH?LCnBH_ .=ame9HFGJCyO޽Z _A;B7Zj$_E#&Q@ǧZ-#;uD0U-|K(ol| Al:'{jNNGO%6t}RTϭ*9DSw<7H}<_N +C K +Gߧ L?$Jjcu=&ƙuI/I?(֕p _ %-:Az_Oֿ~J*K/J@KH_M( HQN +_*Zֿۭ!KV + 8K5Ջ;sN!^J`'ҽm-gA\QAUG5_%Km Km/oDzPg PJ9.?RyF*MMU[*l;o A]z_Q=uZ]{@_Ka?J a7v 'a__(?O @ҮKK?WK ?g{_/i7I}#φ(I}.i$ KoK}PKm/a%ItۏAzMj^-KlpAKDI/I U"-"pxmuZIEBWi0*h LJ?B$jJa%APZ5R /tAxKTaPM]'x@RsA6}NNaפ`H?' 0]PAA)z I vp Ga*|ԉ0$q=|R|$áA2&lPLh&daI 1A!LL 5NA B0caΣd 8H0In` A; !jA1AAA3. !bb tCA pUIBG5ҤE4 3#,E!ڄTBQA B""""""""#H!;Z2'4W:2̛Ԉ^BԷ dQlX̏ɘC9sFS.PƳLFpقT4 `E Ϩl34k@"ֈ3`fq`6 Pv aɅtL6l ; ¨:|&UM}Al+V +`U +8aZ i0%t0h4 +nzz*Bvŗ '맄ACRKInOTrZ!Vnf a=,f#J!"nGSA6rDNuͯRү)>vaG C#Nd(4m?Oz{Q.uZ5wrB:#gʴ'L|{p{SK'_Wh 6Q MǴ?M>m0VKOO޿\"6׵."bCuI5&UGF^MIE* 8^濈S_:C'Tu_LU"ӌLW?ς$~<鶁|9_~i%(󪯇_,'q- Dzb,+S a$~(E}/mUV4Kqos΅> +UsQ^:VzQo/Q8 ͯ'Y-^qdgP+i}B"XFit?8feVq9F?*Pok3\!V{uΚ2Iȷm0洩_E lI/B/8#=9T|>P [( D_?J"-&Ҝ>=s(B_{{*Cۥ>oAC@tz$ K_▐G{s5&%*z4p\k_I$tt^']a7 ? FH5ф$qO_֒I+Ae q#0KJu}&`yU/`}nP~!־ׯH7 >^B2 /:#Խ|Bzf')׿K9z]VUQCׄpQ_$5R#BcZ/vq"҄G^_z_Zo@DIPL+J_a ]xKZy(}gkK|?/JXj3Ę^[u\:cm*t.!p.#Ჽz^GK߷A^@%8*5'4_~5]h"?sr 8:Q[tpЉ^'/Kkt_ nmnS!恗6{*5?"?_>KAh/K< >Ou_m,ֲ_m--ϯ Kʼvϯ--6\~Om{? t6ikK/K(_Y/-c^JKo/Kg9IJB/oϢUYxE; +-)B_1I=]/'Koa#Vsq5UAl4dv_?$ףr;) "GAsIm# .F,ib{G//Ke_IOWrIMA/Ka2 eZ[x i- &QPaiq?[+O%M _פ_zM]Ka v )isz_KIaaW_ aoK`[ixA`&_ZAzI7o";Ko^)R[z]im,R}vz_kZMmBXo ?A[Bi4/aA;-B[ /萣~KV1Iǝ7_ D8" > -=~?@C`NzJ0H(|i9/2(O)BT1t]i0"Pi~3M"SXjl5^*K`BA[k M)0~:@Aab e,Aa ysɃ&_X}/P@+i2 Mci ad 4&h&@ p@,P@5Akϓ `kK8%B!v xiA/ $)a,& Ԉ0HZ$! b#;XHA3 RZ5L!AT!zKA0qFM`!PA#Pi""""hDDhDF +DDDDGM幒+Փ`WAe0R*h)ndO%4];NkLv1Q^׃>4BAI(ʒ :gDal5? G`Y+l6 @`6? L6 gm0ea3R)8ʦJaCaMiٴm!T@a +tϨ: BvjDL01p8a`ʾE`aE<vۨDo#Qti3mpmJ Xa ‹IoƗ[jPbQi(GP^- 3QwH(IA7\4#Bu>PueO\0GVj(C : + oOoOФ +K=&_ϯG[kWw=-/j(eo* +RlRV/A7jM +_*?O_uM-5 z[z_${O'U>pA{ioyKzpAzZ[' /J"bZ`ᆂ~"b5}{Wnm%Qᆂ},$H/ ߤm%IANM|_I E:S#/aα_8"^!~mGU:>,?m$F='ʵz:<NAοCZ?M4 ԛI,dBJl2>2/ZM!B*'YF5ʙ#65ID}vW%dIS5ʙ#~N%:_ރ~ʨr@RBE_qdֿ:Z_%[^)HMF` ZM[V@C?u>y+Yo/y/ I+8?3 +L/bJ %~TGSt:_[3eNך*/.!0X/a@+m:XD"a8Nh"|9뤺; /A :Ca]W-\sE mԐ +տ/KJKJ[ @M_KF߉(QAė|:>$tpF}LUPFIzF}~.=9eVi_@U"? D_$f#Ze` 0z֗K#m-r_گ *eZBeT 3.ץsԇ?%=[yt9~{?Al* >r5AI,$D_eqT^GYA| G:L;K?Gׄ kWzϪK/A+ j+ZL_A$ ,)P#;UPΦ/M 3)b}v,R >~H3 > `g&Ai%?aXkt}MzJ204, a\I @&Gi7z$/$/7b"z$--,GB0m& i` _aAi6i7BE}Jak c +xԠ!>A 1åak aG lB MI/9:5_6wi\dPd0sXjl5,k 84u^ (fry.=Ӕ8"N'?za oKs|ԛ8T!:|?'UӜ4t#Ť>^!I]H2!u?ȮgH ߤm%~X|\E>)6tCͯqCPgWep=-IyN"IA8]aFi %>|i~TKA}m_oJkSۺ/U_|+/k_cKJ .'au_K߬zRKI,}/ dGW9MzEВ4KX[npAC5#agxJzuק 4"迩@\idzeNa/It_&.=<2׿2BϪ/N_tAA>. +u +r:y/_/"_eMUa3zeu{*ʩuhPPcg_頂V!Z ė.6y6 aLRVx |O{>1ZSƾ!?B UQ־AaHe!u~/H%Z $-ik/e QM2!uA"~?/~Bu[(?>AA~]Z O)s .4K_JUI5ձAȆ~\I/Wm."ZXA AFwG_wMM i{krKoOoKzV @&% V@__{K 8zMAi7H_=b$C$hJI>^O0zL1$i7:+t) m%'a.r$6 $Ȣs9sa Ȣ!&'Jw >'FkN)b叆+د9T ElV`dR2A0`I Tya- 0vS5Q-q dJ"HA,XAH! 1A0? NdAXXH̃!H8!Iad(B #XAQа pW hDz#U R-bA 8ATBUT"""""G)-3"KuagL(fJhk%YyKr&XRdB"k9{dMCaLd"E5 *P"jdUC4m ?٫ kL3P9]2+l65a iT2e5a i +eE e(M„mݵ:i7AEp K#| -mi8^Ig ef2G3S:oc)(=gFcY&m.ej`[m.ȵ8l#.q`3D4_AI|t:NOug#(?-TA瓯N9+ұoꠈ_A^G+VIy_ _=[L?]aE7a#iEp XWo,zm/amL<0I 鴿mM/Fa}~5@8r>}go H=#?_[3">l2y um_]_!M$|~L0ȯ  _2W7[(7^AoI}j_$a6  `AuA~Z믥yozWK㚗GK0OA  M_osR@u/oqoI[]/O_1xI#='KO_?zZOJ+k ڶzߏCV,WJ)zL;.oHR- KKA]E1*ئ)RC5 1𒲆kSe 8 AQ}9 sHm.]bq~!/KtI!_8-_8}ߧץtMk~Z * aW cy_."#-/#A/Q_5$_Z^?a(Z +n$gz_H׉A +BH H׉lF>M| =ip/MR Cb -|7s{zH #e 6AUH3(_РzK&$ K PXA`0--I_zi}ix_, l%6 4}, X /Kᄛ zUH7q@XA5 a= ܬ0[MBL:_X@&L:_1 0K%-";XA}NmR/ÈAcMTK"TK"5$,"V!4 6MazE>) A0a&0׽"Z A-xA0~ s~&&] `qn3q&k5 kAd4kiV%d4_r A զ+AR #gN'Va +N1Z4- %Kh0^N7  OL&)c  PD=0XJX/tUbFD $fAӂ0RR#IF +B80RRTGhM5DE"hDDb"#-EedAQ2FChM#)ndW;FTEͯH20Ya6V8a(]&u(}Sz~rXpL*΂M6zoRlN-.GQ) {a|!l*΂M_n󯳎-H_gʴ'Ms?^al?FKH#N?:IpXOvnw<Οz ҝ_KB.!b5E Ո I$R#i*Y$I _ukN0)'%zOޖy%s'i{^MI=8H~(:L9c!'4/qh/KCYK\R_YGk8 /!uI_/*zx6S<|yőqy'Xњߚ*kST@u?Kסfȏk45jegu!?_~\鮗sRa+N CI99k]/Q"mW!aG.ij?g#IL1Ko*l/oI}fbZ#Eװ5kOe'N_D}[/!zXh/b/"?]G DYvPg'x@ +ZeV _>))_-K(ol| Au~f.AuG$K]/H~_//#پgsΓ~/X<=H\U/c/?/0WKne}<KIJ"Aֿշ:k㲖mߥ}\$&IB I/I[zzz_A~q[WKPA ABy_h +5 KL-z]_m#5 /Z/I/gI|/JB.B[z_? ΂zl>7xG:/eisS:K/>` ('q_=u_49:Cï77#=_li'tWǞ./_Gtz[(B$ޗbIb/I+^_ M/4Фx/}P߯!((>_b?H_7/o Bb+q$M3մk_B SA]J$Ka5Tm>"@CA6aR__08/L YѬ56yl/kI?Iza( OK( %H2}"A:PQ[4)y_ߜa Paǜ@+A75@z%d40a.qn__=P:NMJhAkAY^ ^gQc A/@BK-0 ; y8j &RHZ8TLj5*4t?HqI n_U +B~ b#D$e7H*HD`! AP%45H*I T"4"a!E!DFDDDDDDE""""""4"1n\M1@LDWYjX3Vz1J)LԈjGbLf ;'l p3'0΃Gg+eÁ9.tP6 ۆ22kTLȺ6l0al3<0dn`lm 63L0M"7e:n*%`ng4au"7p7uLl0B*DkBn?09C讐^wLtj b0! 1kLtu ht96]$hQiTA)7£l黦Chu>Pڅ20YthuNs࠸3D4]pêACE7MC4CI6H +B\U[ͭzuo,*΂Mփ:_D2,N_RlRP?Fg[~t?-nxUglttCtI7^>o:4$;~#NrN]S,$J/K~PK!u5/נDi7BPH&pZII6tCq }y:^!m_h7ҾoI*?k/PDF9,u٘+iKF9,uܷNz^m2qֈjh2. X6EϭtM_<ts镞_],'LFΚKJ#J9hE/?B,7P [(kz 0ϭP~Ʌ:F(/J}XH0`cS!tҜU7_:(3Ijj`K x>-P"?MLZ}>~i0e\8ץ&N^S.*w_6%8lᩲh:y:/"^%WIUa7 I}#udGJ&V)e#QK*`Ai?Gi?ZZ^_~k_ T"?"1hH0%ީ*OJh&+P~!7믯e"x3K}.58gZa|2#""~fzI%C\:Z?g9BI /:YrvPzA +I0-Km(D{">_m\1~?^%~?^*#kem8Ŕ1(c/y𐲆0Y@C?=/JZd/ u?_ _,VQpHNgP AkqP A~>ʝ=&IXWƗq +i5>#\BdL?T|$[/렐@o"a]~5@8r5]z1#M#_|+/kT"R $Ai p|0~=}v~?\4K_]_iBCH$DA p@o a_EAo_L=k#3f2%6AkOD}\@ +Zt֢ORׯ?ZB*m^  MׯU'Z_>O AygbPAbH}_e5͆^^e}:5zϪ+YN  ~? &(cVUK_ u{*ʩu"']=0Ai3ӏ/r$ Yr랪Ci=T?=S0TK @+ptl B!kNJ:LNkoce92Ic(P?I|y_.֕-5 KKw#i{K#8-/j?*^B,"|]=_k(_-[k/> Pm.Vl KA v[ OK?Z~A("=\i6z_MKKAh ziuzL?KǞ]Kam/ooح-JomAa _m +K5Ko&ۥ@`'T?萿- N__ -=|(o@CtV0AЧJC$hJ$Q%N"m>"#@zWaR-IaV8>M5\pk圝Sa%a@^ ƨHA s&ICOT M!X1&)5vLbC^ 0gg*=(H?Iu W`+@5 a/h; ^ ]@K *  bFA"UH-%C-A`A!a{ +b4BHq&Ӥ "?3 R))DhB@X(HGhz#U ":CPC4&IDiB"""""#B""""(!ADDDGY3TJ-^yت%HYKsF"%ʯ)&"|2<˲,ڲ!DwKN3R"MyFDgw O9#SDDSlPI`dJaٴe(l6l*+v&2Ԙ6 DmL6R``$6ᲫdQCaʵ 6mwwuTAl0b&aIf *mpWqwUPʅ +)h֛&SuT._p$ANBma ‹n}3@?3/PoaPQʲ)6@etӅ_4Maj(C :1ntWz~3I@P\ ^Aߙ}~{Gt2WڤآӇ${I3+|}mMmh8&WgAAkAk=M0aYGi6o#?➦H0۬o%>8 h|{\ R0~d8 n-&mMGFKo:4Njk~D FQ`5pA>?("Q ~uMQ&.0q>u~>,?W.='΢ѯ8M_ %=zaT}B i$$/1BJl2zY1 +}BK;K<)>}yőax6S<~?8~o aDzs?\Y 9 `i?7T0"=9Οt'_FoV{qV(տWB-=$( P^=PyH|9*P/ePE"^HB 5&ZKD_Q~:FC^zi-ELZ9s}3cZDKoQSַߪx=T=tPzPi{G +Knh8K'_5kZ^BۄG__6gKIz^恳??ޔiP%"/7?rpT nGzL$R?"{'JfZ^ޗ(Pkn*k+ƴ/QD^UTQ-RHFj0H(O╠^K/?V#KOJXI֗מ _/P~!F'fXbgւ ~aד_,FjFNqz_/l pVK +-YBA%tbg~ JY>|9鳑v JY>~}/t<)R//3MI+/3 +߷l>#4؄"5i/Z*dKG~:Z +m:_հށKA}m_K^Z">}]>> +_ ^S\~cBCaהk=q#M#+-b> VZt+ H&.~۬GsD'\/ g۞=:ǯ$kΡI03#UΟ>z[}gP@$ir/_K^yihe>SK$aG,s L>:_ւKH^Z~K3K/0ge_/ H _zf. &U0IeqTZCU[zu_I#=,*_t$K0L^U_頂V!ZzKIA+ k|}h/c_EUco5 1I[z_-s`H$%n>=Vg9d.zAyt!*mu!,חBA6_/ _KUm.KkH%Z_RA"~\~Ap MZ u}&m.W'e_AryO^R>z_ؠdCI?/Zkb $k\e_TGVHb:L-*_gz?KKG=R!6_]6 zZ> }~M iyޖ/ 'OzV @&9"=a+ $ A Mr1D{_ 7ljF,p@ &m v"!8. /cI6hO}18_D`G0_'a=&A'a], #XcBz]A`bIlxIwp3մa B .g.l4D$ AC =&odPd0jl5'KKn~ÏKz#_WI}#a-_9zGIPg }}ZZ^[uiEj_%~z +>yP'K9"-iqAuKץ_Xr:_K--š,i~hsA0"@4TV+ߚ+C Mh.#z^yϬ& 48lK_z[:~xO$eqT^GY}iVSҴ D^I6k]2}-QJ--?I(A$R--DtCHUTc~jI_ZZ]HHk KLo5]SZ^kPpGk$PJS;gII3= H: PDxi'A]!(?ޖCB 'a)ޗ&Uqo-_)@&o_I [i77%-i SIoKåmK`\cN39RHG?]9P(4R} +HpP(I}i|&0xkOJeLYioSLh|{%YiRoK^;D'}i6 F4Q?3O{-/,xAAo?gPdW3j'_Kzm$jkZZMNk*4_j_:*4_='L=#@{/j@4QM/ͯ&(8O*)&56D iP?֗b5[+K KTzb/T_/"Ƞm%DRT4_Im%KpG#ItjG#?4f/:דv!'?I/opBiWg)9~`5#]^Ap}/X%1YCHNs~_UWB-=$g(TD_gœoZ׏ +k_tT{6^Dڥ=TֈǑ$0}Ma/r +8=/=-U֗}Rs8LIm#/C}/ O柜5ǿ9zG9pEpk4]~]v;+ƴ/HP"oaj'W9{z KnHFj,POKOM쩞xEU3ײ_)ä?oKAb$F'0 _`[KA ۏq#–K9q'%"=^G !4 !cWur:_$5sKP߾o5*P^:_G/^_O_$Ud\0{"=h/-0/ςucGՇ{=@aK)^ks-/tKX^\6ޞh8 +--#c& +2y}/#׿4AL!;*ru~/:P_],Ǥg_<-}YOaiqjޖ+^?aƖHk +:[ꗞZ~. Y~4{ޞ_>Ns,0@tf,4[VKA)Z~ַW?oKI%Uim_K0L^Umm[]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)b AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiZZ]??sg.4W?8ڛ18~ϢƿIK=M4֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """"%HMjU-Մ; dB"#VFpsy؅ E:!\6p 6daDkLÇ Å&a}0pWwl 0-qLTrZIL=h}38~F2l#q\0F>#ZNH4A E%m.I[+M/Oh\6L&k۬$mt׭|8o蓴IܐL?KJ}RU6pۯ76i렃~7M}KKI#@^!#@\zOKlJy$tC״Et>IMCIzM^VMiu$.$^BJyzL8BtO~N +Qϭ8M΅>iB$\V}~E"\鮐>&/J-+e1lԽu?q]_҅ +kz 8kc▦t%[~xH0/ %T4GIPim#$&'_MZWuHJ>GPT n^ N6]vZejMmTa"55oC+M}h$`,΢Fӭ\I/K5ߤOA!]*_$U5?]L0&a4$lBI^>*7XmXi~c_H&cхmaVt6]%AFz_-KI$t_-˭p &F}yNAW]GKtL>{(]տW]H A^<_]m[_K*| F{"Y\U/ȇ_:zm[[_K(_^- +֬%.1LW-[:? 1I[_ =/_t!*IH%Z4_DtvrA_t[(? +]ie /!6Li&@], +^i7B  R31M^AKXѬ?$";IQa.ޒ@ &l/tpa vJB MڎtVHh7ޒ^ ?l/jA:P^O*Z\HMYl5 2HҊؠA$ؓ_bKda0Li4R  L-ƃbF582ah6 E!aR +hA   +"""""0G,hs>>!B Ú0ms0du-WbFb">O(-]rMgGG#B8&;BC.#: /b/Ű0*ҖEmti:%E[,lE#64Fz6bzc)JҺA @*}IG}?my 7a0OQD[vƺ$w$;OǤ; tO[kmށG}YT: KGE B-}-.؏]?JHxfa)}8@#hꏣu"ӈ\qmx:6-ᄗMbDtN]GgdtyGE:>Έ>:u^8-b>"8_ݥc#29z&;8(y|YĦ$g!D}QgGU/\GlCB>9_&29~} +=^xi_`T>pE[>iͭMAeta +AյK\i;=xBH(tGE_LS0D( EKAkĎt^M5gIG}Zњ>S" >"8"'Q|_;ݥi~Bl +IS˫rP<6(":K +p NTF}#J+R+R(tm!\C?DDDDDDc^ +Y^2ʶ֏B<`Բ#H>hRR>""""#僨TDBKGkhD&"YFExpιL)h|Iڇ * #$A^W|D^Qp 6d 0E #8lMipl lR+"E"*0Ӄa¨uL"%[t;%(\"'wuAYiCe PyDžrTrZI@MBF+A{ VU[8*:Y@ԷV.uh5t4Mӏ4HҝXPO3|%iEWbJ2GVmUN +?~a oK.~ƨ$mb@-eW#fp_Ued^NoaZSꕲ IfΩ&צD#tI}VtE:8<|e;#K[ F_3x~)k4o6%_ILF\KZa$PQl0قxA @@κAH2׺xH~uYH~\BFEHTk?2usRS#w/L&i&}i}o!ۍg +/AEBJl23 l4B=:ޗK~ʵzM%]v;N8JK\RED痤GHr^"T7=k@iSւ#N$"м @ +hmR +Qϭ8MIR=%sN->߱CKt) A7Ѩ3I?MD]!)}UM]X:LJ~8 Y M}+APC zA0jo +k뷙6ίN #+~Z~)j`I"]%ꗄ}yi+.I)cl{A>DePu}%A?"_RN4֗֕EqeyIx5 +/?HJ>FT n^ -ĸ(h@몮"?=kҍiZ[1灧_U"#GD$[uzHAҜG3Lj\-D[ux"_8[?ڲ;qU5%־h,WnSA =.x2<'Ht/-./KnI.l K|2HF/KΞq~i& ]/o$_~W#bƗEBK$JƼ #S꿇uI}P^WEi5kE"mwu uU_H6!$K!'K6~i$_ЯbcA%V>t+#< +KRU"Օ38cYaD0UDx /:$7`vPVt6]%q͙}gW=qE t]%:@^ޖޒ{Z[_}6#H&$tZUcImE dyӷמ]kI03KT-}L4Ҋ_Ht}vMizI/e}yL>A~.>uvCt_#zYi- lԑ 3@t}0q_޽cޛʿ_,$ȘWK!׷!HdN+\0v-#[xim7~ZYBh Vg_A,W] +֣ǝ_X[~CU}Z gGpA&)+t3(_ATG#, az]gg}VPֿcN U~IcT{>#wKj?J %5 J1}a\Ko!}ioV&/$O5R/$s"3 ?T5HEJ`P8]-+K#v-.1LWBJZ}W'm"?xAi$ߎ+za.8@X_k&6Li&@&Z[( O8( \am__a} x WtA AFvUV@WA AFwLJlXCU}-_D|'_l%Mk 6/-d9Am/KWzR?@K BV}Gi6k/ uo+ 4ޒ+5UoCOmd&aAi6դ߆)!$I*I4=/7؄AAy}釤<:YNB M- a:*^c& ^\Ja tJ}鴘 #+c!PXs\Q[$ pk Av BI8A7Jq$ +18~'H>@,1A01 b4am1&A/ˆB#b1 'o xc `kHq)2zKEX:D^@2 ;VCB d+ᨍ$aR +(A +^H|GD AA&CX CF2QADDDDDDPDI[gvpb>#}zJZe\pw=F)n.ˣ%4v!,3]L$>A JrR!hɦ̦PPa6.r({(ijȶEHDkEofm 8pᷢwuPDujPDg'o +_MrFk Vq &Ugu +. YY#5xP?}8"0#JuaB`Zȗ޿-JYuTEA'0iR:k(Aٜ6Tŕ%KYGӸ%Q /%'X^64nI"uDM/'dG^RήuJy$t[)9BN(yF@gaOǻb/VAif)?:MϪ[A_h^jU)גo&}W-˭2 Kt) AG@EV!z }]y3ҵ󉴌׷q$K@m5,%1h!zVPcF?zZci|>gӽG*v4洏Q}}SPlt/O$ZG᾿uiu{x"+ZKN/z B .b.$4ZSi_#xUQuTIVF=3y*O1 N {AL̞ޓpP:!=/$J./KҿnI?]/A#<MkH6I7A ת$XN +" DvIϧ+Ҹ">ނE_Я8 jZ. +yV/pbKTZx֫pI@ /os:O'iKʰVHu9U!5AiEL_?~_؄1"?^U +UE֐0(PE_ Al>k?*,}v0[aK uԧ(tGM[I%:GKKl A,6a[_\lR$!@?յ9n u+-uPDpPb!K@kyyiuH}o凿{ D|isu/@Ac +ioiv? D{">A KKt-K}V^zO]KǮξz_]&:J]Xek?K 7|'j_LX8?<0KWzzJx_[HdžTҤ&A{+CkRM-ZmS:+zKCS}#IO}bbyrkG_>H: Ot!PZY&'H>H: NA Kᨓ B[GP4M<1qA/ˆP G*XhhXB L/&_hkAB4"B"ZM45hi((vsPKB4v +ϣ"?"Kua;d ;GTNtO}KuDagcYbR - M8p TbE(aal8d""0l L6bE(m9iH)AUᒄ 6d]Ԙ6u L&/DFmmC[)8lMmY-DKD@&OmaU 6m-qLă)7vŗTk 9ˤT#QM…UF0AQe>æI@\ QNm/둌db*+e(.a=,_#^:p{GL >=Ӓ4?OB)i灧*ox|&/a?N'rCt?a_MF}D3O~Ι=Kph?Co_~QE?FZ"?Ho e}--&CF$#ZW_/?s񲢞mkAl󤹅4ͯT/c'ͯkƓaBzb/Nr=0zil_},RӪLEP[+K:"?4hg=l=/_-4W1I@^me"%8hʖtTg_-4_O"}/樝WoIߠҢN'E?㚓+=IߠusEdq9F> WB-=$Nu"/dWB/kXx>-P"?Z##ivC^z|2?@mg#y[ֈi;q?I/կ_o[DpQ~UfΓ?%5Ǿ^Dt%)ӧic4Z]v}q}Z==w{8alWi{z_W_Z ?O]_5 ˕e"6]/oe?-r _7iu,8O?~Jz_/KKO㥜I^} .tHk算wP 算CU!_~}/~_ADb //">_">?_IK 뎴*D{_}F?(^'LF}#ߎ"?ǜ/Z K}YAk-/cFG}4c =uqi_N_=( +ߥW9ץ"?@隃5#__]GT_]|sC\idA~׫YK,տRXaƖHZ @W]iңYKx_P_?tO]z:OiңY_/[Vm~B]5,}o /k%UV.J"ׇРĊ_Р]w=/ƅ?ւ/S~ R ;)*-6 iyi7:QuХDM5z_?Y^]ifLk]w1HM[Q sa򪴴kom/͆Cŵǚ?io}06Y__}GZAH<ULPpGAࢪ~}GZAH<WLUK&Sa>BA8&T΀@e=&@k_ޕ8H30oIֿK%7Om7?ҽoN=-VOckA>{!"I&Aqs M1 +anzՆ#+'a=&m>" GI:XEA KRR."B !5s9sa Ƞ&ab/\tRL$庰@ yNa/<6KAƝ*56?RI%UΣ^m&AA8Wy=Io +9kKΈ$0M㴳^]W5ÿI\id=-&ELve QM;a5$- + +K| j#&K4%kzVʨJ =, +^i7bl}~  7z\0oI[L?KuZ5zM |%֗ToI LN L:A| oxA =i`pn $ "  ĖVt BF X=d 0@Z[# cIBc &Ei -ƃ 0BH$8KH5-1h PB)@A0""*!4{>:iGި>Pw}DG? 0y1P +YrADg#}xͥ0yFB#o8|syc 1kKcQAN#nnndbиzGD>D}^q9-YD"> iA B@&- 0A8CGسr-A%FtKN'rCۋp#vH # Fph<Ųa4q2PDu78q3:> S>߸\BaBn!=_ hCZ]k8KtxZ}E8";H|auYuA66,Gy?Y!t9ģb""7"믬ؠ$l=h.}+V({Ma$T>QMNym-JD/H># $,aAzBm6#M] *dqGtcMvS#8B?:4}}lR"GӟG+チ!{S-6.R?+?{I6JtT{oUkv;g楝86}6q}PN!qjm[cp/U0Qw6wL[ǺmSwm8n[ 3N29<P,3>YBH~յtqů@w8Gd"*")RB""88)b +I$!i3JqJqJqꏣ EٚShPH%+4 vPDFqHD~"'U R ӄ"\ͣ#"EA1#Hin= gD(") +K+^y%,R>HC,c-őRXC 2tA$̓+C:gh|d);4VQ)uhEB#k=\3R"0l 2tkPl6ͦl \0Pl23ϲ 2YȢ)(v,Fzql6ðA ήEŷICPŚ&6Q0^vGŧegn"HV@{ 38EVJq28Qi78"@jr1D# +ԁ#b鷧}bF$iN%d1sZ4C|*\  '0AM)iČixֳ~ٜ6'h!^%o0A/y$kY:('k(IAA/vlQEs?F6?5J0^I"uDoZZM^7jS#_ гa4}kL+]&]ǘ_cI-jZYECZeY92 ~EޗKOKK/N"uvW>@q%xDt%EJq%s;@*͡_t_4W1IsO_G@ΜYoJ/KlIo&dMzZ^)"=9Ο0YĐm/ouXFkO0KFKLm/_#}G?qI/H0J-?ȒKoa楤難6:_7}?BZ^Dz -DuHT}2դDUxoJ4>Ǟ. +?!Z}!,uZDD.)8~֗i?ڲ85W8fS?4[uy* B1 8M  +S&ᎂzLz\eiqx0 `3_ݫU_p]~5#O8ms5a"> W}7McKJtu V*]Wny2MkHҿ+K//})^ %~TG ?\ݒЋ$ /R'Mםo`D{_}yB/oKcVQ͈ +qbZsRpAW^ߥWvIe9cB(--. }3yÏm{(A&aKtIe8}_N_*sk|rLlR(__3fDr6Im#>/B/C{IW4 )%ZCX"?dBּ.шUW]kP_tAcf.RG?*յom om%o0--WKu^_Їߥ_[I[ڶz_Muحk]2ib)dnz_X)bq]e 6 u u%nEYB4? dPֿuPM4׿lizHK59 4뺨ߠ.ƒa׏Ҷ4io֖oIap. Z}a\&">U<'9ZiwT֗ק9Fd tt/OO5I6e >ҴGK_ZI7#.9=a!6&=ﭿ=vHi'x =v}/ޞZ_^gz_[ Uo.2moiU/7i/gY_T8TM A_ץ";I/p@տT0JpCV y4ݰA+ L:lE$BEu9|)6"[~-oK MvV~O0zL5_ ޗe:%niȬl5$s9sa ȥ&_ ҆i*QLyq)I 1SI1x c:IB {)H ?=b3T u=] TH2 m$/!PY>Y&'m#Td* 5Mi$1XAH! 1XkO a`IzI m2N@/,mSI$UVzBBEX8E!LUB$ Z$ V{פ*XhRb*Di$H!%Z!E@DhRA $>#H!!L$PB""""""(!yDGZ ""&6QЈ5!;/Ab +v*4ED Z4h"!hɧFp5]CO"h֡ . 86l(eOfmȍt>ػNS>BxQy0 +_Q`*!}aSPP#EêHd5@Ug +YY#5ʜ@D-V@HApP\ /ˤ_IO=2%EקD(4UC*I )WpQࠆ pPC ?tvQl!B"ŕ::ehpUւiNQk(uE~NCZ^PH_\[{1 m7gҞIʚM#}i'%y(Jy$tZIe +qP}BI*cVAeB $Nj'ZzZYKK6KK6^:3"- JΠÜG&J:n1yő΅>~NB.m +}BЋ _t Ȫ$/9ZdV{Kי^.Tqsj9cK\mrMŢ.`jYBK\b]/ZQ #+yBO3Qޣl~{</IKQKQ^GIfiDkH7K+tPB/?}A]OAACe_@_RDS|< 1o#xUQcJJ?/1Jħ-'VQ-"9O1 `IYDbA%_e"2~bKӝZn n:0_7 u#K9_J/Z\Ga_~#W#I'PpIr:_i3kyC{iDmko?I7A_gChKүYPA_zWGI+Ҹ">ނEƕ\oA"&IޗI + ?KWߣK\RT+N1FƿI?$BGK]ޖ>acl |x?ï " +m $ Σ[xim0t(ŵ m/ m Ap!Kp|s@P@P=85r#VPPDpPb< |B +1:4봯iwKC?AyyiuH}5 ({97@$aH 3"]in|Z[y +Kya/u_@ KK9~cD& Z]OjA%$~#l?YſoKn~A("=#ÜX?]O]|>CI~$?Id'+9PKoKa5Km_Koev5n@_KxaxO ?TWA(aXA(amm8 [X1V-cu_AzM|~[[ [m㋈ޗ[ w Cc%MsJAaK- ?a.q.O.>(O.%Vc-\&Ia%5kΓ3ҝ%ZW ITǥ_b4]P[kCe_@ZW"?֗@W9zG/ц]q}8;z KnLnq=ZZ^ T+KKK0Kj=/=\4G_ }-*[ks2~be"KP~!(tO#zXAu8e/EkK,:-iq_t/vC~ZUD~^癈tf"9/gu_D} %/#@z^{F*KşN_qu,7_Kt0HWoZL=.oN:KoK)_5 xm_~.aIsƿҹ5 a_Eo.aE~h/[ϡ]~vam玒9X@ +KC6 !k~t]%h. a6>Iϥ& 4_^}}yKz_kjߥ~/0$\/I/x]wk_Ko-iWi҈5AP +[ub)}},7@PKsB %$9Nk&[iK. mkYGO$).?:E{M5m}io綒[=~0RH\HRvjm/KK)_Ic@K_j?* +5 i y{Ko'T0~ICK (iWXA9L=wvi}- A\~A("<_$Zirt>gz_:RKm& ~$0)tޖWk ڿ~)m~M0-#|z[\";Ic@%>JinNm-o XA8㎓i6~I/I _0 |}ۤ[ߥao MɁ&ImJ񞭧C_%MEgi& Al5ik RN:\) H0׵%_%yHK,&]$K%ӤA#+8A74dQRAN_8/b~qn[HJ ~b~Xa%*-u1 Xh48A4 {XK@KqXLD5| 4_ CČ8hAARt A5A(qү aP0G@I:BR GA *! ЈBSH'DDDFDFPB"57$OmKsB PʴSg]agzνX80laam03 +FFPnzB(`A )#:[{ oV&azlm?HBбF.*վt']UIW{: +MiSz_/m&[O >i6^IhP~:ZZC}h6A`c!BiA?Ӥ$S 9Sd 9S}&!'m~N؄]J,G91YCHNsXB 5.p@$aY>m mǑ$0}GN=)[p@[*VIpNۄG_ρZXi nE\D{z KnՔAZ[u~!GoKAb%QXUK.--?D{K.RqiVu}C~ZUFt,BI^_bJ_? acхAl1il㎗Cnyxsf=#>}v@}s_V[xAl?_"3 _OS,00t=_ oeqTy=XAl08K +u4u a%nQu]T}/Zޫ_6 ~H]o5 +Z]TQ5*mE.Q*CH&r(\"(F2^E.:UT(me ӬWz}l?3GSꪛe (NfaC&v_SCCZ]/I6 +tN-.z$Û&0yBW!BKOā*ZT*gۭsKM2y;D}iW6c"s}a:Q-v~8~'[רnm@!y%0|KKg"rXKKg"}}~i7=& !ME<>![k_*K/jMDǤp ?[ &Qq$H%qM/iubeM!2Νp/1~,qK7(Ƞm_YG_/m$jGD*h3^頼g M $WGD*h!5_ +ΟgF$p΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuHE1쌏죜sPer?9aTC98%G8Hj WJqTʡQtG K:aN*5*ӲGGRP_|W5i>)_ZWG*VT4_HSKK~LWf_{]$E"?Jr=jst}t{@9zG]_%mGPNNE:61P"oG#G3Ӕ#I{(A@kGïTl?zZ_Z *ʙ'_JqlRZ_ҭM쩞ݢ7xQfzI%Csi/ޓQz/"<)hXViפT?zJbKKpc M0b-/I`H%9}.^]n|XE4| -KҦr]]n|Xz~Ps_1/K׿ (c-/ $I"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:tuz#`Hy  Ii/5rՔ/렐@׮q_/\6IZH .Z[iiViim^pwZH .Z[d--#~hv XJQ_KS, _Z BK?9BοuuZ4m뚟@ b(""?]zZLsSa&.==..eKW]u]7 Z:9=-[_egj NNGOKޖm[VKA)ZzM]?@\0ʾ?At^XZMmmmt--CO< ^Sim,B< ^S@}-v)b- TGAyHyzq۬1_[z^ʅzq KoKtJT-i~!NA#߷)jl?G\ )A~qa6 kKHXH%E&--2=GE$ഴMii":XJۮ~pG@jPpGK; (_~pGu\2\6么_ H:֕%G:-&T΀տ &T΀l?seL ׶sS:!6K!AwtI{Σ<> GHxi֐g'HxcZ[vi!~IMl ?eiKek]ޖOT֖0a,k:ZAv-׬za--X`o/TtIz[k;?TD0kI5M O_MA$R?+ å(~]KJT( C. 5wG_kI?It`Ą. 5^-'$1Aa$آ#Pya/MMf +dCLbCZQ[sgoQH2#qp@Ab :+h%IAY*@eA{AZ@mNXK d24?A0RA?Xi"a! Oi"@ $~L-HFuMI lCAЈDFb"?nR&Љ**EDJ_TJT'DtȖt:jR;0::[:ȣ*8g_vaMiL&8d 0wdl$6l86*#I6ͦim0 nh:AøDoz 6#}]aB!"5ފ|-(I7PU<oa60{ @jN& 'NEZ7kIF0Qt4MmvoO!z}$t +"d0v:L^)nI[aHIIC઄9IiH0鋭s dgҬ z_q.LO ,rB:&/Aޗ ֓ҟTVԍi0/ۣ^CMa^!a]/՞AHKTDGpA#i/L59`G9W6kT +?Pob(WIl0"=9I8g#)vn0 {##(,(aU&Q\T4Iq|( P_4Iq|( P\ VyP@CI.KAUP!i-^B%[~D?zHImSKuA:#_?@Xa -DuH鱰T[p[4ׄ_#uJQ2~ ߥaKu}v`u_.< +-ZzsDtV5 +&*0V_ʙB?ց(Pkn˃R ejMmD[^(Pkn6PmKK+Ab3rZ $/9( ?JX[(0F& ?JX_)Z F-t.A K k6]~>mM_^f& 9}.m*\Q M[h&m*J:m*#:OFi %z^#BִMfWi6IbJo bJ+URK$ ; $Wo.yJaIi I%}/6]{0Cam/(l4EВKKm$t_SE A7OL?H&M%iP #>EB"ʝ?@ag"?Aa L4I}B OKI/et$a kB  0z |=ZSS t:zA |6] E>'7 u]xץZ 3c $g%R85>>Y3|%Չl$D_\}J}IqT X`kVz#A+ jS X`kZA0BA ? Zo$bI~x$b_LjA +?ԒXt_LjA +0 u²uA/C$J!*ZZdyUr9U vPA*$~?Hl#'* ~Hi_qA, DSEGr9i2t+q~K_ +}_ <޿ +AQdCI2L&D4oV3M $"uPdcI;l AFvT?F)HbڤHbzAKN8 6_ _I` _pGi6j/CK$";IVH Dv$bT A M m&R$I鴽@ &oj4I6oH6h/6i/!m&ҵ$i7MjA$I (l/Npz<$~KZF tij9e#P@ ҇H0(I'J{ x plI0bA$ aI8A7 BhI8A7Yp^A010A!oA0=&u 8 A`IIaL& /ᣡ H &(5ABD`AQd ; H 3 .0@A_4= A4) +G@A ZT$ `$F@RDDDDDDB:d*FU|B%$EȖ#d1Kua$<;Æu*#j 0DmJ6쭹ӜlEo +*8pιUP4S&6Mf%Ցu 6 Pa)ѭzaIMi 8pl?ԁ0 W0wvŧIu +&RCg6I J`M(DO + 6v\fh(pDgM4DC LD]$h2auTL:nʬoazB(gndb#1l}voOT,8?3IPP\ Y vBhz{} Ҳ0!}Dݎ2GW1~Z YPigWJ>2GSZ  Ot U)a~FtqũC?q?HGE6g .>oI$Hv$ѭ0&>꠽)>ӣ=?$k3Ud5cI~i7 @?#8C~PI!bSI$o6}&m[便7Z/F'$_=E 6Hp6pWִ4Ǥ{~>\7 )kнBI$Qr[*6US+BSg@1֗Zbmtd㓠^r.rTyWZ:CLyW*}:CWu=5KZr}i=kЋg8#UЧ.a(֜^"HȀUpi `Ke)pOLtsխ}/W^ C R#ӜQi[(!/qHz%KSD‚ 5=Wai/҅ +k:N?c|}P!i-C;IAB{<ׄG/y~c. %t#ca4ޓΗ7/$4דku`c0P%j`tW"?kti7/_}!#X*]t&߮ 2 ?QF_kL1J-R˃R4ʙVB AQW\4FC+M4R+怫A1_ _/P~!죘r1szZB^!E+#v`5I.֗(H$s +>m\^>a"M^B'w} tp_]D46o-O@I FT yPxp@ Xh5C_D%N7Ci &}V$`((^; H ʭ$-Bj WGXPXJ)g AUhp;A"# D !ڪhG+hDi!#b A)@DDhDDDD#ʠ)uk㚖qeVjz (9tSVO]ok +x]!Z^]ht: %F&T +#-D}GaG#,䴴r>8V]"#XH Q(x<▃#> +"AΑ͡4HvɽfUf+8!()PM#G, rߜD E8DtGϣe`AG4 b1.ͲD}D#jPaqM>F2̧xFAAj/& ;D;#%/)CSGE}%>px17D~Mb/}]f&O9*b}f zV)6E_}P͡B:OŲ8k_g(G%jW(YIqb"8# :Ο]v|[聢)(v<:GT}Fk_~8#0q#;"uL7}}!?_{}}F8TGa9;8Yy$b!^6(01L⾂p8[)!݄qt; MPqKlf!j&wN"ѵ(vaQZEa ^(m TܡA'#V`M#n"1/0X[\)I+S^T<^Wr3ԺH MSXC"ik#tD}%HNSEGTuJYC8#hꎨt`[D9C>"1*ۡtoI}'eqEDi1aK9*IUa;/#bQZ#"((,TQ5k *!Y]:'̆"VGb"n.Z6 hl g;N5dpμ3\" Z;;F%=ݒ4laJl6f \0Pl23T6{(ijȾEQHkZ0.a-G2*]EICP"]]EŚ&6Q0r<oaVYӂoaFk 8EVI&yʬΡEén!]H#DޟadOt4M4HҝXPv:L^l=p = +WbJ17Q-G3k@үF}*H0nZK5A oKgi~["IZaL?K/m},"䑭fjaXa.A$_USY٩)􍤽[~#i/OOO3_~RI"DAAy_q?3U7BF4ǤZe!\椧GEa0&}Ǫ(MBJl2%j7KAdc!eY:B ~D! ."jDN_N"O'@/*%ODb-zJ,<_󈎐2ED"Z8B 'sUjӋy!VӋ3Zd5Tg?IeӋ{a:A cJG R#ӜK֍#Ӝሻs b*I/ +%KSD‚ 5xuiA[U|( P_A}iK}P!i-/ R-ia楤DKoSPlt/D},l0":XaU$": %/Knv}2դD^jaf +-PGU%$\~CUKKuO(HqK=V%""ʙB?ց(Pn"5ƕj^ **gZ=KnQI^;y8*4R+-/~ ^ Lz\e~)Z }/&aMAuXI(^I^IքKb0Ex3H ˮ j.0ԑ 30uү޿hmh-$D¸_ k\U/0 $g&RqoI/r?ZZ#A+ kkP@?/F竮 X`k\OE/RK]e +_A (ZL>t)Ȏ + _e  +x%A e ]kuu Xt_LjA +?zMUH}ߠ.ƒa UנƼ?Kr9UqzMPVߋx\H%ZS3Mϧڶ9^pM$O4INq*_uM.9GHh^!XiKJSP +8)zA\S=(D RnO)xA#wM <c aBG,]/r?&?KPA2]m~}IWo $o4Iҷ4W$1H +~CJuJ$1Hu[U_">WM U7 ~xAU5O&#ĪiGi6+}ol Dvhdžp@[J $Gi6FUoCO!6o@ &m&LGmZ CI-7H@ &m!$/ehq zKA$I.xH6aaIR xtxA@G0 x;l5?%e#P@ ҇I1'JAm^Lyq)@ ҇Bޓbyb0L~K$!PXDx1 '&!P]ic& '&W W ThH2 m$/zbd* ' $bKH yPxp@ 1 nA&!ZZ@*i ALL& )N!xA`A,$U/F $eVEX8 @A0V{א1 A, `,44,(%G@A +H!#!hi-4$ A +Z(!!#"""(!""""(!1qI7: ]_ņCqgҲlԲmBAt{@]堭Y2JeQIMܣ;t@:GԐD+pB:pl46zbe 2YȢ)him00 +H5`M(la uwUg +YI7O &Ugu +. YI7\MhvWS +Kצ4MpP2W!DTpP2WȢ z[cٜ6T$m|k(u_%Q /%'ZL?K 􍤼0'TK A^ F]}B$h IZ) +W:<:-~4ǤKK6Sec!b/VAifBJl d5 Esւ#N$"мԫ$^AʟA739F{a:gsN.[}%2Pbq$K@m5,%2Pbl- J(a6ίSy=;xP@h'?ȒHIm5K"I"]%WOA -Du5kW_ AۄG]{}-l[CY/|< &P%YDAD+[u8[j + )Z۫z[zMR+_zZ\^>7 qJX_nl 6G __i6]}v}'PޓiV9VSZ(R/ͯ?u 6o$JzFi %{b)Ga)X~,ҽ+#$?GDm[%`pAW_i괶J҆K*> T]%:@^(t}+KsJ .kdy$tQʰVHu9n('_]L4~_ &F} 0z2:KbZCX |=ZzXA<.aCWGc붂A lm㥥HdH+liKi$Aim3 +~ߐu%a[ۤI/j +ֿokLRVJ] .4iu؄@;zZc^?K U-u @Euisu U ?T&}9©iZ_Z]HhW' tKKt-KtA\S:XaؠdcI4ΈlN{~>]&F4[ #;No.2)Ke}/AoKtAK,Kh A M/:@A#(A$M7 Z 8Ai6$i6aEB MN:bc^O.C^{ t g I AjAd? VFy" +$ ?0@ I s@V4O ` JʰWD` *B*XhhXB AU|*e-&A 50E!@RVIJQhTuK\td"'*%[vȄEGa8pιYDmA 9FԠSo +كaÆuvR)4dl$6vfie" NiMiÆHeB"2_;a6}ރ pWlZtPBe%$zn>B"}]YDK-8l-qL Pma& +}:EA.4_O麪 @I7P =IPvk3YpXF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F Fq[v:L_!H^mh8&WgAA[ȊU: + 6~ڥIZ|& 'H0k?F:{8ԁ8ԓ T 6|{o֘;DF5UGz Ҝc쎍:3ѯ&J)^nmEGe3Y/~*S9DyŒ΅>%JAaDzs+].:5kKFG R#Ӝ_T8I4Iq|( P^#Aiנ# In)%K +kկ}sc2xyZDKoqm-GPzPŪGK _KŪG-Rjca4ޓΗ7~A/):!%TMaKudtW"?kti7, zZY +-_?KJuA (۫i T-/_a +/5 ?2AQW"0KjШKpei:G0 +16aVzxc&+^D=sP#{~0-rR+փALSr_bӭ +>mM_*xj /㥜{~ tl /:Yt +^ "mIYj>b8_GKI6/M[/~x3?ͬki/ai6IbJAׄhKҨdKֿIߋ>-)đlBI^k((^,RC4,7Ia&KGϫ ;oJa'KoaGJ .ҲQL=6Ad'6@h\6=Í6p۪Mi6-.֓z]j݉}:CW>IN +tҋJA [5* 8 ?60y:oeVjʟۏPVE 5}p>BJo'waL-V?CdUA4f/AFz_$4T/]տbtuo'-a`&$kzC[ZU%!lWHW֚MPkd41M^KuZ5 u&?VE8@0֖  @KIiq!5gA$jK-1_Ih:Ih6 hRb"aEG:>#R;젅l&"#-‘,iqH4 2mdu8v9-G_\Dyn!]Џ#JD[CB/SY~a`eޑ0Mn%N"}v;MwlDDGLQp76lNMޖkMom'GH4-/ٰlHc &!b?D]-vmGuD7N}G(p_pKGqlCDI 상J@莇:}bbhV#ARuJU">q)t}nJD\#k[ڳ mK6"0ЈDE/,TBXGuIDD|PQ:ڏYQɱb%H>eR%J[vv.4TGTK#8g\mhs%GchE&tO*)ђ.0:adl$6llL (aal6rgՐhE`LIm0FEa,5lΜ8fa:.a6t/@UTlI@P}MzAN]% +RpCԘh)H* x $Ar1d%?H#DޟPP\ ~}p鴛ȗo(A&a۱fV*WgAA__dH_Oջ&eo 8&'Aޗ;H1Zm U oK蓴IkF5XH"t}Hh֘~ ':N ߤm$ Co/_բ~piE!AHKk^ue#@\zO"BZ)'h8 Iױ66&# +P d51-΀^΀\7 )@k8Ez@/!%Oy#\za#\9:E$|6{~*Y:.Qϭ8Լ}tzMRֳ4t\ZqPC$[(71HNsY0 L:*EG R#ӜKSD‚ 5죜sRO>V撥KAרd󐴉t=TIWO9 HIm$ta -Du^U*C߻@?%!D},l0":{ &0P%듨q#`^| 8ua|[u۪P3 +q5  ?QD_Zu(5VlKXPA (۫_sP#ih,Wt9?KKegaZA)Z I}b8M6]~?s8R|8R 6# to& cK6 J;9/gxA.Rq3IP_]D46o /WOIMfWƞ_qe"?(? HI03 {! |=|Rv_ן_c.AL>{/p@|Oo 3^}}yKx_B 0ge[T %Չl$D_~Cop!ʂgHdK+ڶ6A+ kE" `Wָ̓ZD ijΏA0Bbu$mH$%n9ήk&Z|ПC?IYBH$%nMWoaVNS"`ʛe>æ=Ra.qi֬oazB(gPpe;5 c2٫!#Dޟ+SΩV!Ѩ~߷Prv}QHӎw=TZ#I-o*oծ-T[p!} +[/A}75k#wuI@@UUfj/o KuOmǮ?\_a-]AQ5W(AYU TαTo8-]AQ5W4F-78h,WW>DCQ%_0EA |)__bӭ: פAu(Os8RK| ~XAy._O0֗ZM[R3_ +izuU_ 0kȎXAq~lBI_(":4kQ,YCD(r./3MI+҆Ȫ5[l1iNG!?o_T>8AszV uA4h/_/(l4Jȷ]//%GO҆KE* "#Ք[$tGE{:*빞ZȏA7OKo7 &F}}9I]l? oB 7 &F}_WuuIWoa~ 0zH_Ⳣ\_a~ 0z/A |6]V%zZ^OzUA>.1KzN>$D_M>?rSHdK+Fokk]_ V\ s(̓ZDA+ kئ)&+[n VKoks\OKn ׌0Mj0Q:A?*t?C]0Q:AD5iam +A*AqK]KYƖ+ Y&P־"$qK ?T& _ia'$p;+o_AryL n]i.A0M&(Iy /uPdCI4i~wMץB $`}mR_$1Hm-KRO hK%@D&@KUX 6K $__;/o]o,AK'UYOIHĩ(@A# KkkNm/+oKIHĩ(@A#|%֗Tb R@ &maQniqbxA{KIKAi6Zä,"~zBIl=1xb3մb Ί^ZLia߆ސAZX$\4oI/^LH0(I'J.x 9?a‚l%`$F@RG!elI$#"F0I  XQЈu*Zv>:>/GG>#Kꏩh+B#B#b"81"Ğr99ig# rAG"Ar-#;%R% +Ş@,ˤBq& a88#,#"Yqv- -`9!؟AlІ)*}I t-Մ; +w>mP80#Yمa]V*?@v?MըbŎmK 6VUme;5.",ϥl6‹*UNE"04<Ž85:LO! 7hx!ݨ-I$4nAAOYީ fGdr8$dqGx-8"=Tmgͬ>itߌ0ocDi=68B/ $%-/Ae͆b $ݥW}#ArM4-uKJ.JCG_(3#28ƃb"$# 0@ qQu׈Emmzɻ_zݽm$үD">D6 }QG6 #>>DuGNq>m(Ϊ~tDDD^DDDqw !g9#"X3E*&5q}X.o'[I!إ|"VF<>g-#:ꏢGF8!JP8 .?b˲컈8&'pH1+6::b8# "#bmP1N h/vеA!_u 4۶EڗaP"ᓴm>d[_V}8*>R+ +Lv#1ɳхx"mQ}ASiHvA9#tG#꽭M""6#W0@ ,D8 _clb ZDDq `k7V״qCP\1m"4~1I1ZAEgTe7#SN}9>B>AY#ΚGDu}F͡[}~qƇlDp#Hƛb [A88ooA73x%&c}6c;*GUFiDiRyl$q7`HQ>Ꜭ#$""B,DDꏡ""",-FG}QG}EaDiG~D} q&q,e"-FV`Aage(Dj(ʯ;D; J)\hL\UC:KhDB"ȧDBe Mi.64ϫ!g- &}Ypm0Eøp*DgPWqdmg@tᝅS*63[:p8,k-Ͳ3goa2aa0I78zA0Q@SPPvk?aD}D=h + oۥM߷MJDzah{$s̭U*΂M߶?HWд,Q + o/Aޗ;76mWgAi/Tv;Op gD8II,ׄDԿoI ߤm$ Co m:KDFI􍤑vlyd5:_q? CROAc='Ti؛M!%6H os6OΠ٥ւ!C_^I^\>uh"TG78PHH"[# zL{hY6L59ߚY?]#D1 83?Y3@8^>~uTu#Ӝ3ҿ]tYg +kկ)z>(a_ D~"]%g#DhO$ad?[4Iy'Щ-#T3ҝ%+0/u8|h_aƯO[>HC8KkejMm8_fW[#[( +8 --G1ZDײG:Seav+̟إK/3^a#,99/‘+K._v4vjIS_f~Re'x3:}-*̄ /Jk./3MI+O_G8-9Q.KWށJU +m:9_|ik>!?cv +몬'(Aʡ҆KB_(Az[(W㎗[(AYk^~A7O>Ac8`?렒agAA̭z(zF}QWT/a~ 0z^?_]y+zC?{~>5VA lׯ__P|Q|xK <6]pKm oR_F{"Y\U/?!p!_^}%at҈5A?/`֑7Մk]/[_SPָA (_99#(ӡ>5~1XoI[5_C$J!* <.?/A38HQ<4cbJj@ڐ-z][z|ZPtUi +, DSD9I],/XHXI]/ ~H]o4I9P[hPo_AryL G*GZW^ZxyL Dj&ߧ7^ +&D4Om-?I, +٠Li&m+}6/g~.Rz[(p|1H[Km& N޷ Km/ީm/KXm/Km_1 r«zMF%IBۂ$[ anm/ uX@&5oҿ [zL5H]$I&_Io_&m&RoToÅMjA$IiV!L4Fb ֖m&Ý>}%C+ zC1h t" a.p t$ǧΞA6P + +l &=/J}x&?%A/@i$)y, AyدA0:H2׶L1ΪpoG>TB6gƐd* D B4H& A`!y8&FM&H?0L +L& %t-@,A%zXHd"$AUk `#k"* \p *XHH4i-& DHD -#hD , V+tG^B(&DE9'8-AT_fjwIihIs"mB A'F24D+;(D-QD+D&l"-C:gբ yOPsTAW&hDW"ȍn3"yF 6pl6ͦl \0Pl23T6lI"E"Mi.'DB5+PPu +<"[((vJQBDKP6҆&"%^3>,0ضRpٛ#EYM40n"1Z $h)ʬEA$n}.}'6l] z4HҝXH#Dޞ +B$, _C|*\ Rf&*$/ +Ql!oK߭g1 z_ixH0"?8Jr'_D#ZW$ +'(I$|$7_IKof􍤿o==<~ F@{+L=$4o6Eٲ~?~WrBS#K(S_ гa4q?Ze!\#@\zOXooUz'Mʵz BI=-,"c!qX}?HIMC\mt )k?󐺤"- JΠ xDt%/*%OEJq%yQ*us_B.m +}BЋ _u Ő~9z0sN/s_ZsWMt.aDzsIG9{  ֻx P_.Aޖ_:( P^,#WZZ=?ȒKoa楤DKo}MaHIm ϡ'Kk$("Kn~%/KnL5i/8":d&Uhe,E=u_%G5\_kD*]xHqK=V*]?]㤂n*Z"H&uL0ȯ"B:Ni}L4~_$iS}=6 5-#Eֵ 0z-z] |=$߯@$Q߄h!#٠lK_x=IA3 \?*H ˯ߨ~__ /@ im_/#>?I쉅qTm$9F{"a\U/_ & &g kW/A,W] +ֺ_X V-lJ_JAaǠ]V?^/ H*#HALRV묡kH$%n} |B +1:NiuTc~cI0 zbA:Ahx UT_P?I}c0BLȟZ[ %5 JMϧU **/)ק8@#0 Mk +ia'$EWTzI/A%$~yO  I&tA\S?G,]/r( <}"?߄J~A'DOd6 K%Iߏ( .M==koZ@v$2ق(OFwd[ @ԡ+t=ag~D#$/RBUoK)m0(oᴿ~xA t8 i.a}ߥ";I/p@[J $Gi6/:@A#p@[ \%oIAlVai7:Mmb Iqo8 Iqto萒tW SH,7]Ai<:YNB M L?^8Aa[ +*N'%[j TD:\Ja t" 1N:C̏ ̋!$Ʀ]sĸ9ŸA+, Fg 8A6z, Av vBI8A7 TINMTQ2>M;%$ + +X1 h; wKO a`IzZ@*i ALcL& - bN + K_KI&!-aa1] b4)t_  ^*R t0@AZEX? ` *v>㥈HaDvGiRi!KA $>#"BGp"B>! "!r@,F88F?/ŜY ^qgq3_}IiiZ!=dʼn7flB{5'ɲ-DiC +?lheT{uIlx7-%OWz׵]<5  +endstream +endobj +30 0 obj <>stream +x+*T04U0B C=SSB!9WA?37R%_!+) H!$Ѕr\CR +endstream +endobj +31 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +32 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88605/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY P>a T#a| $Pm H7(BmSΦqt ?1Ni]7YI][ \ȤFKkCD$eGIտ"M_8%)%oz:kn}vKe!KIk{MJFǣcK%_֝bq *5ǥhnk㎗+U${ح&+mJ /㤵Uڤo)$)zZ*_KKR`I7sK?/%I>?"uNK_zXIZ]BC%?/]$ax/Kfn%io%KJizH0RZOOT:Vm-T=]]P ; %-LiI&2T ! aaAAI"""""""''N  $("Kn~^ҟ98*]I)RDS|< !-_\kKejMmZ^ޗOZO mtu^:1XX"׭& ^ւ Z\F^p]~5t&ҭ/Oϥ kyCzU3#4؄^t^:_,R ҽ+#J q_}i[l1כ~:Z 8Et:eK4"? +_ _}pn+ /JgP@$i_3P"?9u~hBIm#>\2|0H$h/,s :/h)t Hk[|=BGk  u_/ AA,}veZ0IeqT뮗_AqeqT^GYk4J+ZZ O$HAjV_OA&)+ux@P=A"ifTouIi?Bf Nk 41H%ZIx!&wK-kij'"wUZW%@^:Z]5ՠ +կPA޿Ky<a&D4kKkuA'DOd+K$1HB(KiI; `eyG9xbAm- u]6[i2;gxm/J`zWXa~@&!"I m&Gq䄋=&r I H6mp'a=&Xnoi7dQ` A0͆ "yp(ڶC3(߲ cL pm7$JI"u {)H >=biFy" +a\H! 1A06h1 #XAH! 1Xk@H ]xc&K(B #XAQ[BQA0IU b4)t_  _薱h D K%Z!GiRi!J"""8""""""""/ZVL̘BW[Dɣ-Q +`AlDQ#D;WPʴS` Æf L2(ippwRl2H:ۄFggQnˌd ! ZPoaA(ELf# c2P:h#DޟG' oVAa buqivLIZh}*} B᷶a0A~Ї9 -? z]1u|t5$v~8~'ZL?KJ}RU6pۯ76@Kg"o6&IoitM_*FPHKKi{i?:K7 p d4*=.n$ID5YF^"о!AJtӋJS"HpUk`i`G9W7zQi[(!f뮗/eP쌏죜sPP@WΡSP}cNOtߪ^ ?Ko*o0\SKuA?}75kp=D[W"ӥM]aul B +$Uf4F*8S6PmKK+Ab3rZ /K35}Dng'nr1m%Aue'w 0M!I|k6aL-W#lBI^>*3IK x괶Ҷc_H&cхIi I)PaWiBH_ --MCΊ-BL4 +6ﺺaǧH$ꗲ%[uuz:9=-H A^<_]mRm-3~D?kj?--J+Z?7Ԗ$z Z[aLRVg0?i7ikLjA +?D5ikKk KL JhI5~8~pG$O5p++/㜎tZL +]ie /!6QdCI2fVJIgeCKeb/W 6/'UYOpGi6j/%֗TcM _Zä,"A$IQΊ֖  @Kׄw Ą՝P/I.!>^$ pk Uil& &[AG t4:HQh~@2ah6 E!!b"aDDDDDD* ; +GѐD}Q#+ #j[v#DDIB>-lv1l#!Kc)٬g}0K6 >3IcDGLD3"?]J!0ŔylM1dq DHj]t;BS8:SaJEgHS71-ٴ=w2gf{7GD>KB/B35w}䇒,"E $0E8aFEA,+_۟Vh OcC(puWoBnU6\˽o%ٽ#<+S +(pDsU0/W_n;եRZc$عڶbA#hϣB#yH MUbi]A"#UЈEY}PD" ꍣ5 (@8 "> +1!61lxL(#!`:&TD0DEA"=)h>R>AK!>#aZiX>d M[)n!Xl" 'DtȦt:`YZ ~3vR4ITAc|8g\h%vaMi@ \6͑f \6 ͑f \66 ?хQi n.a-ރ pWqphm霧8i҄{  8Ah)UAh));Ȍe;Bt4Uz}FOQt4Mo(A&%4\ $t> +"ݎ2GW8&daHIIPOsa_J> 6)H0 aIڢN'~pXN~oԉi0/5Dѭ0&|&XAAZKg"to6&Z"uh"{fکChzW(֜ZP&MRֳ4t\Zq~ߊfsN/L59e0?_aDzs~~JAG R#Ӝt R#ӜY3@X׏ߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%_?T[pI/I#ca4:ll0":[?p=D0[W" `c0P% &0P%K( S8zrtV5 +0*0VEE2 ?QF^AaN#A (۫Ȱq׮ )_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_V#_M_ | PZZi7aפ؎>mM_C akov4;M!I|kRlQ M[xIMUMizuNOFi %z^>֖ibJtaFi %~&\_fzr +^>z-ZM[l1ɀU$0|zV uI0U +ovP'a6]%q_҆KB-aGJ .e9\ _P~t$/H&q'I?b:A4ȓ A7O xJ &F}yV" #>"?Aa L4IwW_"&.==.A&T 31uH?IՃ% kB  0z){KItA h. xEx3H ˠ "A 6]pJ0~׵m 3~D?Am}W $g'Ra4M/$ȜWKz3{k@A+ jP%:?? +֠Z_oA0BV.lS/Z[aLRVgP 1I[e -[a 1I[un _8 UG5a!*~ u²uA(aܠ*Am5Xii VpO9U nH%Z[H."#9Ii-<A"~zsA5 ?THNqj MNpia'BxDr9i2t+"?pRW <_ <|"? !6&?QdI25&ANoտdI4&ҡA +֖Pgd +  R3蕿\{p@ʴڤH@};^AWM JoAAF!7a l/ |!۲%V[ A M 0ޓtRPa:MA$M:MA$MMI6n:M0 it 7H6h/6zKA$IiZAxA77!,^&? (l/NpzC1~kYH t"ǤKQk)N:C1h,I T>^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6De;"?"חn6tW\ ;/쩮0Fm&!AI6 +2pPm&!A洿 MvPSLkNioSLkӆx|Ҧa^AWz__%^DGGYZtI5/_5/!Z /jMKW}"k_zI(8HB0b_Z P X>W_.D5CT4`u_?S_},KzIȠgF$pЩ$!SDy#鵔j0oZdT <-([~h_:6UgHBI5D?5jE=^AtUKHC>a樝j[~XD{9pZa' sq*PH|Ns1Xo7=Rʿh/a_T*M2?I*G0 |qTZ##ϡ_=axa^G+/$KvUfu'/GUi{kY9RUz9zG9灧IUKK6]}; ~'t:H#~IuesAi?Z^D}A<:U3Ηz?փJ7yD4%IER(t"IN8DxRб*pcK9*iiZ Bi $lI4>`Im=tK_ ϋ ^i=4| GKz]D5]t|Mb PP, _oZ 3,YCAhKJr^?d\08t Y+_q֖]n~>RgP AFD{^_^v荂 0oAǜ/e?%ץC @Ք,hkm4#N$AicqyQ<I-,}/ҿtߚ uJh" ;*ru$ _O_3W w]Z4mKI- { Z\idڷXۯA^aY "߫Y:GuxMeg 6~4Q={+?miңY=ukh E=+@KI}PAi%_[oe_KKo +ZHK[/kiZZUBA`u PW(UiDZ SAР_X@lWZ + ?~+{*Nz` ;)*M{*]wYq tDAAh Aiwa6  ͂Au>,!.BA_Bl +CBq[*:JCìqǮl&k!imMZ폠B~"=>^-a&Ms}b"?}]7_a--X`T _x/T4 _/J[ DG򫮓{ߠIWI$7_ 8F?TMҿI-R :"~I=%0  `&  $ aba|$jK˛ 0AEAa%*AˊL2#RUkH0zA75*A/V0ȍIV =,I8cJaAP@Ab9*@e0`Çaaȶ- k"H !c& 8vLbҬ44, $^Ih hp  E@/  AxH4,,HX G[@@$alCMp!i!HDzA0#ЈDDFDhDDE"""1"HGd-Q\d-ƳdJKQ\W5MhJ N2cA8g\2[3w@KN3 o!yXl "֘l8l q\lDa +lapȟMla;"Fl2'0la4mSϨ:Aa‡U N5vD"aM}]«*)8lML0Țn*XaAx3 "k. ) 5D #9i3Ѭh"/Poag&g;U kVBa׮g8$i2#wD%[wLm<3k3 +huү>?0?9QF/!F*itzMB TLI6H +_n}3^P4?MT*gӆGᴓI,rB:.DԻoKo=M0ajM +_*Н>QV <3O{C | %~nI%m__Y +ZL?Ktq6-nL=׫ $/HK*. 6%lѨAHJ"bWy!) a_RC9 !=Al?$h I_:*?_kƓh|ޒiKI*H" d5/車!CU/1BJl2\8BӪ"B,gq$%xHJ5_(DRT4G&H?~N> G/*YӱhѪI-?8DV1 8*h +&!'I#=.m%JQϭ8BЩtK!?,U^Apt!*"ҒEZ 'I*:u$opBiP8Ϡ>?KzY8fCNsiNAI% +kC"C L-"^HB 56"`K/DdT=K0,t83yS KoS/00J%[N UvU WK98LIm#$҄Jt":#ALU]/K9A~E]Wүo%2={7?rT nMJDkt@7IGK9 m--ނ۫GدD$[u..4_OjoeL^$--]╠^ۥK^]8X֍8KB8__'H*K./KAI'#@R/Kk#z=zl|7[>,RM'}-*J_>}-*Oϥ J5h_gަ@o^| Xe i~, %y^:_fW !YC/ׯa_,GU@ `"=h/fʝ=@]{* .oI~.(4cBCai}`X^E[/H$*?_!:I?AuoJtvT:%u&4_-KAI03)|igƖHi2/ a=WaHzW4 3)% 0z_ޓuӥF#YMxK <6]W_֟K <6]~  lHKKI}8Am*8XAm*o$ȘWKWú  +xk_:#\yNxkւ/m&A0B?T_^tA']+Pu%K>r}<%6 aLRVrS-ƿjl" K /Q?B UQ[ ͆C&1F }VEΧQsk_KUQs)(_?RS%1+~D[M%SDm-\ DS_Iei | `_ Ty<'KKA? ȴ[*18&SKvi ulPA2]ZSL.-#xi|1Hb@Z@&"?}p a5/Am/?K?aXkaㄭ!, Dv";I_=+H DvФ?,7b"KK&o&m#!"I m& ]ΊzM05:u]ICH6a. H6q?^G&F*KEO8A60 (}yRN: 36` ^l tNaQ[Kk [AIAI¤ KKWpo+OWpoIu {)L ?= '&$á#5"ش]M "H LZY# Lo8A04 Bk +@ a L&Ak~B:A 6a\4LXHAAAVC U)4`q +ZAP$5BBBbA @A BMDDE4""""""(!MJg0Q0e8 Chw  AG ik^X%: ev e^[*[aqg|5]qKz聯[}$`f KKxtdu%h "'4 dE. @KJ *R҈,H"#LȄd"T𥺰`AlDQA)8duʪ#j _ls&gix&7&Vٴôd+:!ȔMiIZe(l6@M_Zud5uvŧITtͲݗAGҒ[{ >S"`(I7Pu +.F2#)٬l#qDM4DzL:QYӅ_4M\0AAQ({yobc${I3+|%_[i~P8߽8jF~I4k➦H0n,}v`[A!iz_*O_Y +ZL?KGAD/BFm%>QEs?FA#i/KKA7T?$h IS#E{J 4IMCLW^_BֈkPHa"'*B^Y_ڤh_)%zנiZT$i~N_%(֜\SO"Ӥ]!T*t9g$ [~JG9~IN$X^ʡ8ޓG $ 5="^HB 5_%=K0,t}>tT"]%:"FZV_A~#N=)[p +":ePt|>$n֗Qu5YH +^ҟ98*]},EG IGK9 m--<֙B~֗ (۫5V#/+`SR+ץ_p/:#zXAu(O׭& A0}!]IKJUK/m*y>!?l3Xg$# tH6!$g-,6K?-:D{_}i[l1/?__iP9#8uo<ƅ/҆KoyK<޿ $GE{:zW9M Km$@|NEWtG[L #>e9HC뺥Ώ붂-_'MG 恖S9A&Y~sK^Km3 _UGIm  u>׵KAB?:N[{+ko[ $g%Rk_mv/ +xkA%ޗ_頂V!Z^V" ['_XoI[𭤖Ol K K yt!*x]t#K3]Kh Z.)vKU=t D~$ߪhI~[IA"~r2?~yL nՠ +y /-?fi m/( OV4>gz_Qia)Wt\*Xm/ ` _ޖO%i+a# KkAX@A#c@, Im&/AX䄋=& IBީaoICH6a$0  B MΊ 0ү&&*ʳ9C*8g\_M8m"]7 iiVDR`;al3>g +* "S 6ͦ0;a6|MnljNtVT+`@Tl&}ATlef2~gsg;P5S} 52& PQʈ4I +KLa8u(I7P\dFSXF0-tAշt&ej`2za^7\0p.tWz}F50@Dma6 +1wW1? m4xiWk]$̭TMBi~YRI/_Œ3MKۯϨ}OSL$mt'j;D{{n^ʨ^h%SgUŤ+~ma/HKsU:A/J\HG@QQEs?FA#i/oZMM~u$Y}6RHT4Ǥ&,~K 01[]|4:$-ja$Sd1^}---CU |$DO(S/\RK4pE_},/RdIS/Iqz +/:~uBI?Ww΅>vo RR}iťoyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^aטUNļ⩆ad}8q*` KꚘK/H0J%[~xH0_I/3ҝ%U NI ݕCAt-/aPim#$&үo%jsb*>?IGK#/ O朜[W"k\_z_[z KnO5P]<"?MzGDcPEWi{z_L B +$U +Dt%Ʃmh,WW?_pZ]kN_^Vzf> 0_g%UNUޖ] +)SfA0d }:^Z %M_ | P00+G便[Rr}/K^\? JƼ DuŔ1?$#Y?_,{ KbJP,6(_5q ^~KA}mT_OK8uo<^|>R!#M#k_cBCa_~h*?9^# x~h$t_ץ@_r.:񲜤zB!63fDL4 +l5Utp玗 >(W4 )% 0zmuZ_֟K <6]V%_A A |6]Axc{Vۡ8XAm*h!zt_.o$ȖWK!mv.> ?5 +B ҇K%%&DNka6 IADOKyps9sa Ȣ!&'J Ӝ%d4>tzzX1H ̯b0QU2 DN4(@._+RA|,z NM85U-)[ÎL& *AB&Ryv0L$ 5 a0`&>0B2I P` ֐¡ t,!ad(B #XAV\Rj !ZijB)b#DA$ A4)DDDPB"#ADD嘪 W[E%j[vO)Hgc2ߣ'GeD :l+Ȳ#hPeg)e7DtȞt:i?dUC`&Ja*t.p06mde M8wl646d 0Ȳ5Lhf24A轼0ذ3EBm*U0 .e CH$h(h(uDe;!/"חQCkן}l?ӝy 6V8yBt4Uz}F/TDs`]HO֛II8]&bo4pa S*i3_'_Qs{B$$mtׯD$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RUo0#>~K {_=!~7-R{I:MCY~fY:H7tq ƿI Uq=/IM)}X5ImszII6PL2&e^:K7 p d4*>0_/e_YG +VМ%M!6HS>6jOjԲo /J'Zy?_aDzsU~~"=C?B,7dq9EJnI70I% +/eP 쌏죜sPP@W'K:aN*DdQ"oer[W*ISePvRKRa_5zyƽ-'ݕY]u&᩾SuoqO-":K`kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTty;K$P  Jg^چzrtV5 +H*0V} 5# h4S{*gT_KKn/ri:lVzf> 0^`[Iy +Z?GUu$@PNJJIKNt#_M_ | P_~0 J ϋ&%.{mvi"9}.m*ͯ|Mb ׿ (c-#?_afWϧ~Y  2^K( z-0 aWKm+m:; FaYN٢  rՔ$ r@N>K(l4K4Xy umqyQi KK--XMWDH O[ "I % }/ߚ ݯ~;*rt/DA >CqW/oHѤ/-BL41 +6뺚O޽-&Wt K,V~K0]h/l |=RP7:/._~4Q=o['OPE_tA f. xSҴ +CIi7]B]5e8]/ _I#=0*C ih"|UB< ^ShPPbEA_KoI-URs]ix_Z .imV!Z՞ح AQҽ A KΈ$줪[i7i _>}--A&)+t3נ ,!tp Lhq{K G!*~ץ,$moȾX.q%l4UVZe!5֐[_ZZdyU.b"5$tx}&_ +u$h)^pR.AAy `Ą. 5#$5%Sa]$A ACazs<@H,2QH2!&DF =ߤ +X1 AkJL0sD2Z93I 'Ai@!uaaȶ- ik }^0-N@ jӆ*v!0B $2x5U +? AVT,)d`@$a$""&jR DDDDDDDDDDF#- +H%EJdtW4DKtkDvd4.}L(d)J"1DwLwDIO(:i8fVD"*UQ"yӇ 띤֖gUfPgmpeVȪ@ nTL ٴ Il N 6ͦL2*j +$Al8Tq]Z Dvj#IN.Z@M_I[pWwl%Rqfn f.u Z")D0˄Nb֙ӨP{  KqLˢ! JM44:e;r&ڶAiy lUM2׮h#DޟG'#6V8yBt4Uz}F,6(>i}cCm̭To=Kf&*J@W&Xi6o;糠u5_H0鋭$G%sa^56i}n붓ҟT[` ֓ҟTrFuh'm&ҍMw[~7_=!~7 RB)GHΣC ѯ-,%=zaCQ^Fn&V4Ǥ&ʴGDx:$,i6&KPHSd1^e'WM\!%6C %6ʵz"b,!aB,gpҴ!H~\: \Y"Ta0%M!6HʡQHIm PT؋ץ<^h8":K`BZVKni%08"q]*"?=kOUxuJC\"h@U ȧ1y"MOGL4Fi>IQD^F*`/ ?ejmTa"b$01z_ |) TM.JXLܧւA ϣ4QDuL8A)-/}h$`.pG,FkF:ץ~B_13: J'o.A u9l K|2$sg"Kiz__l}b-/I`Im}/m*(HGttBKJƼ k4 +Jg$, KbJ}9sh}?[ 'K#4؄/}?^tqhKB Jaz~cWKm+m:߯AO_\u]OֺPit͇`_q_Ca_ϯ"?_/ˆq$t^EВKKm$t_O~6SKס \l)L41:VI03KT(<IzxxO">.sKI/e:?A1qv 0znt_TGM^ _ 3" NjE?/@P# 30tZׯ?ޗ uʡAָI#=,*C~`HdL+pk$bZ [:OP^?/)Akւ X`kVzX@A+ jPמ0Nzq_ 1I[__}--A&)+t3WlڤS-)W.6\B UQ //x@W%綒uhe8=H%ZKk KL J*4UMM/ֶZ DS_1D$~?Hl#'8j\ mU}/? O)qs΋I34A\S5M-N}Jo&D4 \QdI2M._:IWcDA^HboZRJ@Ein|󃴛 ?-vKPAm,_Ub [AK?aXk##7b/[G#GGi6k/?٬A --v"!8$'L4V"00IנAi6cM _ à#/K L4D @C<$һH6h/6êXEH6h/6AFh " ]2(2|8- &iuQ4E>I u^L߂N68?A2 K[AIAdSb:+-$;&DF"J(I8A6$K0I.!>^$ pk P ]` iM`.@8A5  A`IR 8x LB,DJp٠Mc-,L!CC$`AV^UbFGC40@A BB!iT!a +BTUЈPB"" RDDDDDDDE"""""1qTBnO;PʴS`(80a[ IPa@WuF:a#EA' oVAa *} B᷶Ϩo΃ƾ|SgU6p۩n ~MڷJ$S#-.$tH[*=.n9- ?|S"HpUk/ҶPCJΡSP_yP}/'_MZ_M/לտ1f`u[)t]D6aL-V}?CdUh6=_oR#=YAί_Oo*帀QK׭Ku OR[_a{BHC[ZmKB_.oKztX+%y].-A8o +[:XKM*ttpa /Ί֖  @KTj5%~LM5a%ih:B%l$@A0 PGj)B*9C (A cZk,g1MܵҟET}7DxA7Y]z;JyH#C˨""-(4vP*8qvhBnYN"PxVLS;4᷻a <L4>Yj3M#8.Ϣ4h;#>6Sg`H}jҰel]ީ""!&E qfްQͦd5ap!A!庰`AN ᤊ6&NA6=Â#GGӞG~a*:#0>FE +>Dg"6CG"ޢ6=0b'ӈ) +CTwtjDqslM bwhvwN^Ma& B ꡞZGGD}Gzi">#YB:#5<>DiGT}gm)}ϣTuGy >DGӟNqpж"ߎ>""G#'"8""""8P68IڢNHumB"xؤB=A^R!SIA"ȆqJ:D6z(dA2CA7lQD3/гTtA4HJHNyYf4ud YIdꚑy&y&#?iH2莓8>ͣQ৓wFqHYG!BAEqЉ8Idp@ꃊM$zPu|qtL>иQ KKK]F(qdTCi8m ނaavph TA[(p؄bI.('/޽Rh&m(PAapm.__Nq8AO!;:Ii!~aPd Y}@q)pEյM <#86E^HG}Gm8AG":8>k=yw㏄G!mqB({B b1N;B ?㈈""-J D68}hB.>="#xw:YdpQN, AvI:ڼ>7yzGg(G}GHZHVqDiId51ǒy=yH!6>V( #,09xF֋3ȅ,VΩο_^CuԄqqaX>uQ\":\mO~#'琄Pb1[V8K qǥ<"xFv1;V!3g ( +1$d,0!8j(Mfq-GP9}2:$x%`*6eѩI34}YY *XE.ꏣ>lS#)xG(FՐGvqG#S:8hꏣ >}G/%ל_q:#Ų;9q|Dq B1 %m&8LjxХ"/-J""ǯt4b(>뷄yVOQ_ +k~$v]i'ڃm${w.ARPa)QTm-Z"qv,օIXDaaPhD5FgU@3h0'%GUgg})B G$";'&„GaGF4CG"8I :><:#aO,v:onSlw>_X qEQ$TBV*,PƘ [M`NCvW9~؋f2i*0B;TF^pkiRGgm9岵8Gv>y}(rGyYAD}G}d<}QH(Dt]GT}D"!}GU^j*sShFfyi"PD|"&nj#Q[""6"#DlEqlDh\lDFp@P,G@㸋0!HE1mqՋ,lkH!6loAamvMEGF4'< y6yYŒ=#!"Ω8>9hVuYD(@ )CH[GL!\DFMC:B-Q!1 v!xb*C#Mئ0ֆh6$ $!1PI%,y\HtfBj\馈"6(DDqDOa qJ"-*+)EagFZ22"""-VB@~YIQVv4B!},&>G~:+"""""""DDGضWtgѐ<,k<" +CIKP]*uKQ#mZh lˏbf +f >""?>gM+FCn!C+D Yh\w4IO(:dfGehD+ggipιآ WQp{cQpȢa*46d 0aݒ4laÃa4la®,Fv]"%T(AøDKz 6"]]霢UQqG8a-iA: +I7PT<oaU<oa`Av1 zQCk 4oO֓ȟo(A&k] z'?17RV_տnIVݎ17W6_H0鋭$G`gҬ z_gH0ls_~i0-)J}Uԉ&i0/5Dѭ0&Rc"2Դ{AHKVZ":aN*QS֑.KAH 0-C'Kרd󐴉t޽GkU ۄGZIzLC+O~T[p66Kn{ctT|@U ȧT5KK4@c44@~Jqx"?UPDD$[uzHA8*eZ B-œG. H;@AREWԎE#_IR}4+Ab3rZ />EGaZA)Z #wQ9BM╠^C:ӯI"s@VI/^ZZi7aפ؎>mM_i흚&%uI|kW0!Mڂ!I~6 Jc|=!e a_fW˛CִMfWդ &3MI+ qY +qP A~[l1/B/{^8I=+m:& +oJa|'㲄]OֺPit͇`e8CaK# _ߦ!-$A~\3 8n| dI " rA$HϽ/)Pɠ@agG! $CI&t $aK@1UH?IՃ%k kB  0ze l,&. 6Rpۖ$8k,Mm"]]„U3DKaZd0ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AN (DMes 6U):L]oi[(oOCiF?ȏzl^qD!]n07Q2GC&boaHIIਪ#>ؔ)^ +3p*o(΃ԓzX~) /п z\1<=~`YF&/Om&mapz/e9Do5I􍤾A#i/oI ߤm$B:k0 IH7Ft򶏣7q?K.='=ͤh+G 9ΣѯKOMZ f!">$`c!~ǛQ[E+K-S6G p0"=9TV3#?_$f4XΡCkEE +0K=PC qRF6ad|⩽M.zHImaSBEN y:LIm#h"_":[4u:?5\&zSh}a-RPEX4I[ K*]HQ4yYQ"E">[}zq8 --RGIBQI^E3zU3 ٝ!\YnEO~u5h,W?Tf)Z ?-/JXK_L#` I_}/ʋH*I& ѡ56]}s_Jo_er(oK)}_便[qIDKlR'm*Yۦ:m*+ ~_46D_i~KI+_LYCAd"AA"3MI+6#4؄< ~h +uYN +Al1lI( VV uI0U +m: _0UѺ (A㎗^rT, m6]Fr@P&PO=|qX?O0tA`A6 |M)8/ L?{.c3b!zXAag^otL4lzrV_zUZQ'A&\/a~ 0zؔ%f**">ߺxAl??ylP[SZqA f.xץZ 30tA_ۇ aVQ oeqTśMXHdL+J}I쉅qT>uoA{z o&?z_ ?aZ X`k]/A0BKM,%}_[e My ,7cYBALRV묡[pA&)+t¬M>[|7,7/AaTm  |B UQe ;^B UQנIil=ڤ-[zKW'G_a%p[qUQ[{}୚viC#Li&zT( .M0~>ޖ`k}J{Uov>=-A:>gy:V  R3*jA AFw%o +jޖ II7ǃoa篥6 .AAm/4ߥ/l#ok &yM]1fKGi6Њa mVJ$";Iuo>>a AZMr1Dy&ཤy)m&RoʮI6n:M0 it m&IK=DDE&GJ&L?0?KCH6aΈ>a|B M L< H6aȄ0S6f<$ILo-.aHA:PDE&<'J!La ä$ (t*)1kLd]& H0 0$ +/ӭ- Ac$ ld* &I +AA$ߤ +e8Od* N=G IP?~I.8A04!a` KH 0i L @ H uƒ@ }!  ePxHp ): `ȰARupBBA$e'TqvT4!EX;T A5CB-!I-Q!KA !HE,$!I GA@ PDDEG\@B""(!"?VM +?-Q>eZ%(uTJV;hD* 3dEi";:[:ͦ(l wdl$6l*6FÃa4laq]U 6#]]ŧ G>0wuwoa*9R +m 7S +c@[:ꪃm 7V }voO+0baH#DޟoOջ&e 6a^)nICޗ>dH0n|3rb|$mK]#iZaL?Kny 4kL?IHK#8C~=kozxto6I:փ.='Y~f O$#@\zOT.P@j=t*6 Q(MBJl d5-J>㫠^r8IEEh[~j{$^Aʝ8-k3GE9չt΅>7⮵ӋG9:d Il0"=9ϵ%~WIl0"=9/ +kzȮi*Z$(a`xKAQSUP!i-DyR/רd󐴉tۄG_ʡ">6KnU%ZĤ$ta -Du[N=-.[5^#X &0P%Kn%""VT0D+[uy*8iVha5 +V #~]c( ?JXAI~/eÔ&A)Z ]xI+]--4IlGm$ItP/Io& [6T' 먆o&ҭsEIWZbIMUFq %~8o#4؄]=JȀ-Yi6IbJ:*_ץoJaVWmC) ; $V^qS_9(l4ݔ (e.oAXa҆K8A?H&R[_&M#>>6S_ HI03a["?Aa L4Ԗ\玗$a`ν*E|%!$H$Է6]/A l ?; jެ>fA<.}ֽU,IqTmk KD IqTBZ_:?? +֠^V%ai+u]e _A  P_IZo$bZk:^/ Uoޓ{᮸VN6jOǭ@Is"XoJ4 sq)PP"= Yf9nIT*⩾XH0E<Q#oer'.:aN*E<_#֗rS5i>i0nʬծ:_#zZO_Mk62zJV D0}]$-Gd$P Ac-'GXHA0UVڥ-'D}A<: *ʙKR'f "Z_^u(A@kGê_IR~0~b-q#–qW@QfzI%CZa|2n?K m%:ӯI"}Fa h7[>,RM'XKhYi算vka 0mkizMK/ׯ#k0 gYC-׿vCCpci^puAwZH KK--X\6_-,}/~hv㲧(YI+% ]-"WS}+ߚ ݯm_너&ukAh<_@">,$f#Zeiq~j߯i5?Aiqw^_ oگAhBeT~4Q=o]7?/Jg^@zV_{* +Z - \_ tүKA)Z|H6?AtZ_ tmvִ--COPX q/)As}WРĊc% < ^ShPPclRi:+zxZ pA: N[i:+ Ok~a6  G\ ƇG_Z@)ѰW.1 ץ,$mol|ׄ(5_K!Qii6Qssa/a(Z +nKG|ax(.-"ᰏ$+IzXJۮv[)i IuA'+o)kʙ^?PIK0<$Bl +CBHq㐏JUMk_Рz_o}+eTq'bݤM֩-#߷c&Pҥ&_@KnIer)Dkߤ-a&I$D `Aa'0WGBIt% `A"?K[)& 77SP@&HIxA(Al1?*7%~i7@Cq7J$SK`U(~7A ~LRi\j}sI?ITkx SM"kXA01VL8 A[HQH2 qIDjآ#PA&&R |1A0}#5 iAp@Ab9*@ea/  -a@AchdX^Ih GXARA?TаB8 +Aܹd`H4 ~L$IPX B@#B"""""A DDF"S;Pv2 HEF"B-9nQpȦjDo5#GTN88d ι(D/5(d5(g\g; F%&V3Rao m*iu4kO L$im"]7 i ["0f{a +gث6vT n +V17i!Ϩ:Vvk#bDݰ&F-#;5t-3D5uvF%=`nu-}{935|:. ) 5D#9i3Ѭh$.aZ. ,a2koaB4b֙J7t(m~y. ∑&@um2QQ+MMGSꪛ m&!AYobFIۤ(I}co Q +qv&ӆx|t8m$oK/5.8jFLZ$#DԭN %6y4EX0PHZ^m^&ۤ 0)KD?K$}U^P"]T/I$mAzF\]Ww^Q\uPԐ/HK{Ү"rGEU$='ɯSצd?KJ)I/!־JOIm}^I%IA}%DiP_,H萴2_p5 }:/Z!YBI"WCU $DM#E9ppE 9St5_r4BMa`@_6N>iiŚ$ҴIה!SEOΨT1 8L? KO,}7{ϯM?t>6uOHCU)E$G]"=9O4Tu#Ӝ_s]-"~ʥ?A:px~NI EpNsiNAI% +kB-EFNs"t|8 P\ B!ΠcSzK>?_E adCTO*fO[SIbD1 ViפU\I4>`Ie=tkI4}(D{>h<E$O_\?KJ҄Gb-/I`WoXL3,YCAhşI8g$ߋ(cKe I+ԫz/DgI+ (cK+рk$gP A\GU@ @Wc\B 9DiC @t %KtKT?8u[/렒_ $A>u}v_- N +WDoAM/J_ 1Lh$#z  1kп $ֿzB\$A4_@aƖH 辂-^#[ꗞZ5?%9tz5?oA?tqm#XaaXaa/L UXI%f.j O(Gj K!.CkAB?:N[{+N[{+ʡik_-RBp4ւu)A~4((1A` +ZNS +ZUX HׄkZyN맦-/: 8  a%nOO a%nu3ӎ8 Wo/zJ%9?K.l Lk +N +AU e^/K)ѰWLlHQssacbGk\_e8Vt PVQsaux(G"K~MmK kyv*oAi iyLM.r>-D{l4>gcFwPZGiw>gc龸U_ioo-Kt5] %~C!, Dv";IljoV c";Io t򩮓Z_66oOK Z^:M`'߇oEtK4i7il?PZ2:ARᅫA~ a*E3DD#R`6im0J ܷ&[zaU + +%Qh6)8lM.wFkoa$M4(AXM)D˅(I7SP]Q6ޞچmzF`hp^A¯A&\0ۤ(OM +L^CG${I3+|}m^& a/_4AޗeI/KzoIxΨn-&{/HK_H ߤm$IHG@Q("Q ~uIDĂ {鲔BSצ.='΢ѯ '_ d5bGD#_cI d5h"%*dl64$^BJᘋ94__},/RdIS.[BIŒ钘JQϭ8Jm"JQϭ8&fG9Կ:b ?7zT0"=9Οtס +k&( P_KJ5oUЋA{I#5 +0׏Tf4YS Ko4tO]&z"+HIm*`Bg:KnjۄG_Z^DpP4*J[2>[_ KzS'@먊D~zKoAim;(Pknơ!~֗ (۫ʪ#T+Xh,W1@H(O╠^K/%]a&-& S0׭& 'o| ZUM[p<k6o}/#(c,BI_$J tH6!$_q@-::ez0 km]x^#ߎJaq%:]z r@6]_XХPiu?Z^/, +ߥ ϯKҿpnnQ@yTΟz &F}kΡI03#XxAl?h/ |=g H`O@)_ 玗yu$`φ˯O  u-RzxI#=,*ZK0L_Ua3޵: aⵯ +֣ДrM +ֿkXoI[| IJ2yuA&)+u^[ +AU~!*WAyt!*mu +ޫK LImΏA*綗_ߪhUAKouHk(_Ga <?A\S׭fiץdCI4޴a&D4_K@44ia)ރk ~ 4K͗M iyޖa#t@A#Alj$";IF4k&m#A$M --?HHm$I'L>il:XE$i6 |A`bIlxIw0 (tA AC ȉuA49dQ` H0 ޯdAB '& VZN1 X$ ai2)N& h1 # a0` @ bAa$0@ Mi D U*2¡ i`B 5$e+8 B5KPFkI@t +DDDE"""""""""1\tY3KV-#2֊~+(2.VsR;(ȶWK^3wZ$IӆK xl2aC )f ,GsȺa*TB#Z*I`dRaٴ&26&af:h +$K"-:Nʴ ]`nӺ le' P"}].6v\fh$p=MZ. ,a25S}52* fwFօG%JE7 +M4:BG.F2#)l#.qGSꪺD6Q6ޟ+S)Ωt:UT(m.uDiCӅ_4M\0AA%l_6?0GW1V0v!mvw @=#ֺI#*5 '/Q0*oK#a7_2➦H0oNw$;0)KeT}IۥH%[Iu^~ma \uPԐ@/HKt׽._~D F_o-&l_C +HT4Ǥ)NX_,H萴P2HHeZ_cI d4ʵz~_B.C_K_ aYaqP Ai~^ߠD{_}i[l1/__/뤨q+%y* ]ֽuoKJ .~l>KH$}GE{:$F= -./ҿpngumI+ 1ϡ%wDu҇H A}k˨aI036S_unj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_KگM,0puZDtD > -%A 3@u^յ-F־[{+knE /_/o$ȜWK].uBD. +ZIvίG t_^/KIA+ k_b)=8 ev,7VKl=Ol kiKQ%*AU3A%+:yt!*x]~_[]cA1*[AqKX.q5A*]|DGK@ƖTH /KW ?TֹB{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#-yr}DDG#[ 6O"nPz&Ɛn[uGT}Gk 8qvh #}B>#lDF.Y=gz?gȲ$iNmE aX a#ct`eۤ,hH:@*#GTB>R=_}}}Dz!}G?Gk<鳊Y GDODDDobIb"1A$!rz[`)v!:f\6b 8D}GDtN,G}GGTB#:$>Q}Yf#~>"48"}B-">,b"}"8"} }"""-< \0bqDttMBa?Jƭ,Rߠm}vGYL +on+m)(yH>:t(pD|Yu]}GtG&GuG}QF՞YQuGXAO>#lӨ#'Oq> ÉSPczd;H aߥ]74"""#XD$lv \p'#ĎQFD!Kc}Ƕ0DNN*m.p[A`' 5U'pOZZ_F"g>G*#B#<[ͧdgNmQy}G~G}d4}6uGCGUYGyPhڣ1*[]\k<r;>.BDF#Ų;1N3ft㈄b)t88N"8p@I»b;,E o +*a('Aq^ +)7ǮaφaKaiOmSߝd :"4Eꥻ l6O#`< sAuFae{:^WΫK8eϣFfGtϣ= +}fVvn"#؈0i>B# DDDDD_qQqTO!w 1B=tNDTDQ<30h|uFBt=' ]"FڥX"nߴwIn*;BkD:! <(t]f{>IMGGT8:Ί΋6}W ⽶.˰B>{k|Es.7Mb!1#"7s89)xۇpɊRJޛ!Ͳpon뺥Vs")>HǞW6ϫ<M[soqm0DhÄGE0(ytyQYTqGpħ?8s8 gTggD46u瘶)7>5a":W s]\x2;p[Š0Ꭱv*0 ű ` Ql8a"<PŰbJǭ^m~(:! ATz\tֶnV&ᄜ"% BAV%5N3RY3[lgmGgכe:>Sk›MnFE<L:7YV6Ed4yMLQiah†GEaڭ8E`Ah`0D|A4GV qdžhXA"}$8^"]ejL`^cCشtN8\DE!#CuGB6!"6.""""#")ݶ#bpBMwSiVCGa} g% WGq:FXA9N}ED"#Hꏣ!g})}gӟY}VuJmy ("#fB5'm.8(pDDDD1"/'Ҍ!> [cNucA?ݶf}mDtfAm/]'hD"̆gѐDB bSkͳ# JyV@nH+#H>>)&*>}Gk>"g fЉ(X"#""""4GehR G7J}D">D}G"243m"GT}$qGiDDqaM)} # ja:>?ꏣꏣ>"""#- +W}Q}G}E3xgYNYQ |pS C +\B +jQl ڢᰕhOE3R#Y#VW? F׆k\RPppNʪ>Ndc6*me G}T3pۆU0ϴ +(3=Ʌ 3YL;`v, L-T"#إcQvUI٫i)v8*6@ F5t-3D5uwU NZzg68Ρ-kAqV".b־K(AXL m4/>S"\e`Avկs_A LU]7t(m2tu BGSꪺD6Q6ޟ#L:RQn%yRGǝE00ejͣ~ۤۤ?᳹ѿ<1F.*տѿ0hH +2?uu(^Ϩ`WQ0"oKI' 0ӆg[L/ɀa-IK6rgUU[Ψ/>{ʨZ[dFDe;:=-ץOJtE:^UHG@Qm%v Bڼ|>M4Aw)G O$~鲔RȀΓuj>oAi$?}+>I$tH^ʵz:$-A:;UDqbbqz P X<ᘋ9BKb,%xHʞkD5U +hmSo4ZZfT!SDwO\~iiŚ/bqzMKUKA yo +ayjϯJ `ht>6&,s]-"~ʥ?B*:pHVt?eREE,pOS> J~s. Et?t9"t|8 P_.LϵNs"ZZZ_ +L1N5H"0t`cS+H_0}DpaN9=޺Ј^`sqH3ҝ%P엗_GGGT}GTuCB ?KҤ/I/8TVL_;@˱FA$#~#/ǂ#I jH_y2] .1gT' Ib/_I.pD"+ןFh0U᎗24i d4h:ӯI#""5?fzIUϮe{a@T8fG'}GꉚN9$I`Z>\?6$IiV\$#eVZ$zM lVyP,  a!$͡`3 6v +H\B y+^/"{\B Y+x_Al11,'e8hH _Et:]M`UHH{- N$AI>}xzNtWI:({_넒J"[z]FޅI$#,Ǥg?>ӑtI+:">.r +?~j# Kr +?-tp_qg<" rj 6!?_گM,00utثH 6B (8.-F־[{+~`h!#%X e:,zu- +]xAlu]\+ʽ? e^/mAuI~>ce92IlIm?Imޫ@.A1m}QY?v[G4cI~[Ix D~WB "? v{/K˵ Wk8.? n ^koӆAKz}13[I6-Zk@[PZGM.T4])~9F[h-#xk Nh鼉Mp-/vk"4KXm/ }pEx ]oW Xm8JPAGi7A6+HqMBíƒo?oʮ KKOK Z^:M0I߇ H"T,@Cޓ~I}~tUJKAGR_CH6z 0c6^4#Lmi2'\po _i\ K ȉs +B ҇tR\,BdAM`t!PX 5آ0INA )k>I dE- YX1H N@ڤK}+H- 0@ Xh 4@K LһV B1h7D,$UNB8 BҪGA0I`* *$-Bjh $$:Dj-4"$kK@z 0! qAb""""""""""(!PiB8 iZ +aQU!ت%hb-D%)n\3VZ&yC%C:ř`7 t6ͦ6Ul(e:5Ԙ6 DmL6R`᲋ m02[9JÖQ\jt&Dݰ&F-g)8lM.VDݰش:(AXL m4*- m4S։ +E7 +M4*9QS +[9i7S} 52&  +;Dzy*զ:Dzz^A.tWzz~I Gۺ!*A&Z.uL)RB |0t/*ߒ=k +?I;nI[i'&M,wޗ^x 6Ck},$m 5ЇΨ/K$tn-&Hg9fMzL?KeT}=沛5$#( 6*. 6J55dW3j$o6K3}ޕh ߤm%:M;p'e(='_='L<)l?$h Iu^MzOq?IbGD01/車 CH/H^/1BJl2zxҴI\!%6H ZO3g8y+DNT3%HʚFsBW>@2ED^8Z[Ut5[$^BJPM$ίЩT*hZP&΅>v o. RR}i}zO*M9G>uYG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȐ5$)K 5t"Ј~\>(ajFj(a4HNMC +k{(3D'O3 '-7p)L3 '-_i:EᇪV.T50s9b%[>ӎw /\&zSI -Dui{G +Knh8>L_9 #94+S^XKuG* n"/KzS'@먊A a0T nQF5$[z Kn/-W#5+ƴ/QI^I&G΢%L=/ejMmp3$-RKRXI ]/oe?+Ab&_p% RK*ϮH*rt^Z %M^P + ؉.K *& *dm便[ &_>}-*kc^ֺ^A~iV'XA;ei&]&ҭUeYZ?,BI^(cKe I+ԫYu$ 8 b,-#4؄PDu}x_Al1֍K%8_~[ u@tZV u0ɀUF t(m_у9㎗Z{ $,q/ƅ/҆K)ן6q֖KJ .Ҳ-u>}~_~h$t l i =':+qz.FK7@}~f63fDL4e9HC ]I|NEWtG[ |I ~[t\-K-?@)_ 玗ZdI5H$N'K <6]3 Izf`__tAA3 _>RH _UGImjZ6\U/8+P ? WKfIC F{"a\U/ֿ'L$ȖWK ߧ]xAlgkbb@A_BkHb~9F[ikEin_6lAm/8;/a*oK9 _ /K9`ఁMo'OzV @&9"= [ $";I BAi6:M߂# 8zMAi6IMa$IKA)a2:ACH6~F Ί H6eL=+ÒΘxAl/ z 0c„dD!C5|tB /˃˛ 0AE/ 6A:PഃIXk'J.x 9X 襾aȓ +F~UNMYi>8cJAA& I8A6dR)EWH2^J5`I ,fW.0Ic  a@V B bAa$0@ Mii ÓA04 h # +5 H  $eU XY +"H&0@AN cEX:!$eV5 )hA&Z@j-bA 8AA$vD !"""""""""""##DE1LXɰȾv,Z&yKDɢV^yز%kv%';I" 0prPpɎ3IQPfYd DQDB5& a9f &(d+t6l60ladrI`dNaٴe(l62͠T.ΨӇPWqu NNe' @"]]n/Poa*ntI7S 4AOD0Ƞ4E7 +M4*9PD~tWz}F:4oOQ7se8U#Dޟ~H5f&*J@C%ش +6:L_~H5f&*ۭ➦H0鋭Ju΄ 6ӆG oK a?za oKn[o"[IiOṼ/?~IE6?I쪏}d@+qi0/nyGY􍤿I7IT/A#i/-57IG[aA#@\zOKor{8$h I?q?PHQ^MH!%6C %7Z~!x_Sd01_cI d55LyQ*y0zԌ 8C_ED ez#d j$^TJ1VK))G>҇7D}iŤhӋ}BE~KZq]&ߠҡ)}UM)qEJc R#ӜȐ5oM*b:tWB-=$( P^L?C(a9"A ʿh/a$fAꃤi9ᇪV.KADKoPgHImN9ZDKoQSHaZ^BۄGZIzL9 }Pim#5/ -Dui{G +Knh;qƓ 7)ӔKu*dQs-eW!KuKpT n^/ O朠[*?-ˈ0+ƴ/QI^F*`)A"vU^AREW8H":_AREW(AXD$[uy$PDI-t}h$`:a?VVzw╠^4^╠^KDh/6]|%>CC 7ki# +.*& *{h/6]y@+-t&ҭ!ZM:NTaM[2TI&iV*Z{M[漟Kǿ tH6!$KJ?#(#4؄0' $# tH6!$/@㥠Ҷc_k4#[V u 3.R~J+m:D{_}i[l1 +_ I|_Pite8(l4Jȿ^cBCaהksD'\/ ~MI: =':+Rpn隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HW4 3)% 0zo* SA&V̐%~ 0z@#2_ 玗%A 30t?_A f.mA f.ثH%A 30uo$ȘWK!ւ>I#=0*HdL+ko[ $g&RkKIA+ jP xk]h V%IX J+ZIwh V^x IJ ~H$%n'_ IJm$s`H$%n?B UQ~A +?AuI~!*ў -!,חBA6_A*~A*םc V ]A jsKZA5?A"~M7@&A4ij'm.W' Ǭ +Aڠ +A-KA?mzM5ձAvdO]PA2]w^-?PA2]Ka&Kb@UFK  R3:-[ZGA AFwimVHb:M i`;*  _ %MA i]6 zZrAX@A#5# a=V/H Dvo+][ ZC@A# KkAX@A#c@$$X6M _""")7:I6n#76Mۥ KcI6hO}AI!m&^mF~ G_H6aSXA_& |A`bIlxIws9sa ȥ&'J ӜcL ACD= .ExLxA6A:PsĤXȃ |\i2)xI@ ҇zMpDz cL plI!P_R p&(I8A7#6aA.&X poK0ie)Ǡ0A$ ICńĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0\XY "H& H V:Bt H ʭi[Vi]H @2I P,,HAS$ez?8}fkӥ&ҵKKt#G q"""#-բܡDeDB"%HR+E4Vs 3HhPθ4DR;ÆuQ^3vhpeuA+DD&xlmpm0EnS@Mi.f \2M*%(l4Jn; ʟTvIcWWqdnn."B#}]Űp2@iE9 +DI$" m4%G}S M4ՔM4RG}N (DMes 6U(:[oV&DGۺe A&#>4M"?ٱy u??OhX|{nI[z9RfV*B~,tQ=Å0az oKrA~ߘQ䤒oB&m/K)H,6a_aYG}i) />\#Xk~50 Mm%}b F^ޒ AHHTSu^7ǩhzAtkKKHzO<# #@\zO!bɕQ׭&IA`c!&.7$H!%6H GzD}/IMCT7/_$+[E+K+;q rGv8f&H0مS08k&T/׫t"H[r^>F!SDxg $Ӌ xzr}iŴ/PPyIukEUt8#{ #0"=9ϵ|tK#r8hb+T:[[F(|8 P]e Ћ *(a.{eYAf4X"FD [ߑ$Pb/U7I%[#I-&(]yt>L[y:LIm#oJJKn~-T[p·ΠKz|uD~z֟]XWH$u%4a_P%14y$Q"D>Q&yV<4GGIBQD^DXOUT֗ZM[Eia/ Ӧ&H/Փ~!$ZLYCAdAA3MI+6#4؄O/__&]fU? aaYEJJa P +<ץmR,Sb!y +:7_\yK<} sqKGe:I6J .e9L _Pit-вL//2[~kAAۤnA7OǺD? 1Y@$Gm #>렒ag-桱)E[rI a=IB*6a~$a" m %f**">ߺx,00t8،?֜PH \|h <|"? O)yB#/0D-wooX+f3[I4o"I7^ +&D4No? -/I_UQ b#Xտ@ʄڤHbCUoK`ރÄM8\5 _޷ iK_GqKtL-&󃴛pŘM0]|";I'@Za m +7I%H DvoGj8|} 2<@5oc@Mr$Ei6-MT@ &mI& .MI7Ǹ߈CBI*m0?KCH6a1TAxA77!m&L?Ma~I7)'J<3Lx5N:C1h tӤǥI1}t8- &~iH2_Z[8A7V}ZA.5 '&W$ + BhI8A7A/ S BǠ*i2)u'H[I bQ&@ , a0ii& $ A04R!`x11HG&0Ypc `$eTEX8hr*0@AZEX8@!!%2A" i V%McH5I ZBZ"B3 "6"BXIpB0A  xB +PB""(,B:""""?VMLD[|ʴJQ7ꨔ3wR P4U%|8g\;ײDw\uD;ÆuL6QpJ `LIm0EMUxl2i%Sdi&ٴÖ׫AøDkug@koa*9R +m 7S +c@[:ꪃm 7VQ6ޟaQt4MEfA8_]h!U[ic̡Ua 4-3(|RoK΁Jb|$mM~Ĺ1> 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$M7b;ki{M zaJ% pL?aa>tWJ |tLpZAP/k)N:CǤ&oytij9e#P@ ҆poH2ZLE(0A$JH2AE= pn I b֐0H א L_ B0M  i03m&AAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S"?Tp)S-Մ; dB"V3RK3Ru"#j V3R;JD*9zQR &2'p6v-d!Ig "6 a8QUTU@6@M_&;5t4ݰ&Fش8m(@v8*]STd 3 6`¦lef2~gѱkLuwFkoa"jdL.D0ŭ3Ѩ5NB$iB*p/F2#"2#Ჰa[eOn脫nMse*:UT(m%fפf :' 8U5U%l]Iۤ(_-/m< _hү=#ָMU~qނȗzM 5n,m^~}D?}vnI%쪏kV-/]~)*ȀVjޕqzAINoK$*%u_nԐfKU__='MYe!\+WH%l )l?H" d5h7[]|4:$-ja---/~%HʟPe i\: yė)%p qK8f"pBW>@뮿'^M?:SD$&!SD}y BPKuuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?XtҜUN⩆ad}8q tҜU7*` KꚘK/00jמqKI/3ҝ%-&yƽ-'U I ݕCAt-/ato%jB"뤕_ΫQH1L">__xo\_xDKKKoAimtGXHAǂ#ZOI&G#G1y"+ƴ= 4G^^4^DA T">nK})1@KlfzI%UNUޖ])Se ViפT?>'o %ץץz_amb-/I`WKJUH E4| -VOⰓtK^ֺ^ȎӑtH"! _l)Јk=?Lt]t$~ a=WIQa#6a(@ /Z #}$0QhdfS Xaa-!2qmWAx K %A{_- 8XAm*h!H1sCAֿAtm-km.q: aⵯs}W/)Akh/BSKK_ ~y}>r}<% +Im vWo/Otl'| p]t#K3Z_NW_muS(m\R_>sK~>GO_eBKom."#SDKKZ 8euB4m/Ty< l_{^U>Cev_Bl LM?mk__b~9F[`~/Tد_iL4_zZZp/0?mm-##_: |OtIKA W_B# KK 8uKjPil=1G?}xIvxE+du%\A`M"kr~aHA:PsĤXȉv89H'iaq =t ڄdD'36` "It .`Fk AeqɃQk$ai2)dABiElP ] V10 *[A+xq Xh5C_Mi!dai0I~k +@bF!Ђ B&L!CC` ֐¡ t,!ad,BB#MP""44#M -4H5CPT"""(!GM"TʤBnUÆumC*N_ &mL2a0 +øDo + „{  FG:4MymJOl?LIZh}- SL$mt|t7ZL?KJ}R6pۮD F_6jFiu6ƒA )@i/I.nj$^BJyzL>!oX1IJ9?I#D+-P>&ҶPCK +kz 8V.KAT߄G +Kni%0y:oeVjJ4uJʟۏ]/QD^F*`ȶp#Vh,WnSA F |)__ ~a_#$"} JƼ a U~lBI^P@+m:H&cх(l4Ku0VPs$t_CΊtIz^S}_pH$ꗲuoA l1Kza3~D?k X`kVzKQ̓XA 0Myt!*$C[H%Z2p Mk ~H[8h <z]ie /b $kd4a)P-A8o +M i`'UY A MZ\BoIS6M _N L:AI!m&^mFHh7ޒ_ 6A:P^Vt BFN 0A$ؓ_0&4jA LOcA@H&0@AC VI@hRb"aDDDP@PDt}p㖿#蛔#8ďP &fl`7]ۖE4}GB#-ʤv +6qvh<"$|L>#EbطI +>iPh#qB Јbe6#aLbI`Hp[nGHpFմq:#)D)gT}fGq>}y}fԲG0[x"wϡQO"4>b2 q"0Źdf'tzvȃ03njr &8:@hy}Ge B dl#m>d}'%-Մ; :##F<"7#5sboP\nsj|?wͯNi?oe|W#W]3ZF"#h##>ĺ>턍4g}V@}GT}2Q}@Ytf>;(YļdFDf$>ELG> _"#""'Ј/G-5PױJDRCظ"-j><~hj;UO}7Si<_8' hD}D"9C>Ʌ4FD4}Q(NT#!{%>>@=Lkd B̑3<?jJ7&8-U Mf>Kpߑq8A1fD]G!'vL+wcc}:txtn 'mE,8MS +I$;ߥ2VN28#%GUt*M)"&##H>!5D}$aQ8#fN"93 ѴNq MB""86m"EDDoBb<"?8 Z CI5camV" QcCxv.{ z lM&kp7Zo0Dv}:B!ꃒSdCGEP#>EF,#jD5GB#lYH*8loP^o>BGEŋDGr;F0xq(0@ Xcdq#B6-!G-_o8OK LD*i툈ſ0 [qb +BL1!po}=Mo0K#h">ͅx8Ơynyg}QfaGTxfplG}6}6qn9WYDp,>8#}GT}#>qcFFgғ GE>!H:8B#c8, +8p=[:'#}VC.kp˲_c q\C1c؍؈E;zk:CphEQ|}ct!&v<;ЃF%]DX* _t M7vբݲqU(KHt!_uϦSł)6DŜJcs>@vw=}8rgGUAхhÇ7Yt#k$":8C8".$"CD 2x XBq }\8"-"؅lDs\" B_D~o ۯzT}9ߣ!8lg":s곈,!GT}GFGg3"O"Y":.Gb4#""8؈7/qql-BVMwmDW2Tq"MSL7%"PFA\+1TG}uPb";.<5h1drn%J1itŇX0ٴdN@ӝ*<qe;}PuGG +,Elqb,1HATْDD)܃ANŕYG٢?1&"Q}." b'aID3Kcȶ!W(Mq88C2+a!*&ƈG"3!tl""-Fih..-s) +>X8cT&寢2X4 DG?ꏣ>""""<-Q}GԲIpLKpBȄAQ]Qab '{GoDmXS M (^Ϩ@WYRI-$GF_Ͳ(l?A_[nnlmI6$/>{ʨDdFSR7豗Jr+^g]I +?^/HKM[(y_/)G O$95Cy.n}tq8""E'X!{*?I}$2$uDN8B_EE#,.CT5CA8f"p"пCD_ ISa-AXAUb>،c -:4D*hnt) #4^tԅMo_4]-U&PCg"4 $ZiHC>a/"k>?OLQHNsELcc6uVCO'RߜK9hE/OHE|8 P_.LϽlV,bq{bD01S\tҜUN<⩆ad4>sKۉXU~`sqKI/3ҝ%V_F#B ?KҤ/I*J[PH5YH +qi3:ϣFA$#~#/ǂ#Z_[z Kn<֙Bb~#şC&%ީ*O_~^3E w1b"""4I4]Viפ^TT?"ΟtuY^D Us@w_[+LqcK0̹ +H'MZ^I0-KoZZ^GoaEB?Ueu\?qQ}GTuIM +3~!?Ŕ1}<=!e i~, %?.mPDuuyށ*YaqP Az8EqP/@-:=#ߎ'e8hH _EtK8u6}Ҳ-痿_>HH{- N$A_ #se+҇I$ \Gm_너.K%@xNJWtG[O.څtOD} { \I:Gk?aN/<" tj 6*?_گ aˮ?$Yb":Ko6AQq AB?T]KZ] oeqTa~m5" +'[:- +)Sǡ#_gy=73c]n[iL4BoDEU.U+A, Dvim (@ux  ~Uu Z]N_M_ ,B MzdFJ KPio_& |AA׭&6L. A7ADKyI}!CB:\)!2"s_36q&? Ab4 Lb"5%Z R1A0}"5~INMa,],fWÆ=RZ@!h0@ aL$@o8A0?#wҬ4!aEX8᱄#h hAT!*a0q $eW$MB}:Dj-4"T- A=BE""""""""""4()B>?n+X]a(D#%Td;(DxɚI8pι04Re᝕" yALԡ:av53/Ixpιd4ðȜMiPl6EÇۆD6v-HjL" 6ͦL6Qp^a"']T]ZEvÄDbӤ&Rpٵ +a"%YpPoaPQʹPh)>qM„{  8Su#K4MaRBAJF?VSS)NhD~tWz}F:4t2GWڥIӶ0> +A&t{Gt17RV_2a.ŤHS z_u~8ނAޗF]q o4AޗL]kWt atŤ]L +m|sHanUG3k(_Y +ZL?KJ}ReQI$Ö♟Q ~uuҭ􍤿IgV?ȶgH ߤm%MM AA#@\zOE{^MzOq?IIT4Ǥ&'FI$΀c!'+I}%Sg@1MH!%6C %7Z~2E\▯8Z[Ut5[$^UʟPګ^Y_ڤ^GH~))G>I[*Щ(֜_VKBE~AZqiCWbG>?7T0"=93tHR}'1HNs"Ԑ)0F 1HNsԯo'_1 +kǪ3I-!:i6Z(aϺ4WB-=$( P^L?C/ =Rt΢o|LM* ImN9`4oz+HIm I"]R +":ePu"ejrFsI-Pim#V!$g0-/aPim#$&:^ҟ9 [*>W ^LKud*L0NH@U ȥR([ʯuJ^ޗ(P n$sD B-<֙Bb%L=q/oKAREWQ2!: +PFȧ.qWejU/oe?+Ab&Z_ RK*K`]/oe?+Ab3rZ "Q?FÏ=_/l VKH5XdLD Ui6] @%XdOւ ~a_#:40xFq"?@I^A~iV'  X`>tJUei-t&ҭ!ZM:NUaM KbJK0ӈ"3MI+G\G//3MI+үOJ5H7A}m_K 0g#@+m:/@㥠Ҷc_k4#[VhR(l4ze8K % _Yʺƅ/҆K?B6N_A7Op?pUngQ/J4Bu }/,IܷV #>NR=^KA$HϾ}%)+#?_3P"? &F}yD ap<0H$9U$a i:j8oW4 3)% 0zo$F/A&AA 6]}KA h.ثH۬Կ_$`eD/K]  F{"q\U/ֿ $g'R~m5WHdL+pkAK$ȍm&A0BhES5V!ZpK"KIA+ jP xk]h +9k$b_ﬡLH$%n¶[s zA&)+t3A B UQizL UGIm~kˡ UG!+i}J9b.u: _.إ _ m-\ DS_ֹBM"Nr>A"~%Am%ij'$sK\ DA\S׭^A\S?ۅՠ +Aa#A]( OVwOdI4][Li&FZXA AFw!V$1Hm-  R3MaWazr]/$ +]6 zZᄩ, iL4,]6 +ب:o1 =+H DvyhyX:?H Dvoim:?a l/$# a=v/J=& IBqCI6n ,RC䄋=& I DDE&'P@ +AaA$I&/L< Il=1 ay= 0 ͨPAE/ 6A:PഃI蕍&0^A:PsĤXȃ p͆ " (l/NpzI 0zW`B2ŏA0`I "J+ $ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆZ@ +L& *AB/k +@ a L& }$^+ R!A0D`AQ:0ZCXH@4'Q !jP/BȤ #2H$U-1h "CT""#DA$ C XAb0DPCDDDE""1DgS nakD(-;Das$AO+9CuiulgdU:jf \6pޛf ar2 jL"S 6ͦ0rGWqvKvÄF7 +N0aSl;FS +9i7SDKCBI/R73ks +h5UnI[oү=#ֺI[+M/Aa oKm4AޗL]K*_{nSk۬e__Y +ZL?KJ}R􍤂?V FAdW3j$o6&zO_4Ǥu$PHT4Ǥ&`c!9K$c!(PᲭ^/1BJl2Kn[5yz/!%M_12bp"- ^Y_ڤ^ZOJЩ(֜ZOe@h"'O]:E~DZqiCG9'1HNs/opAP>&@C +kC"^HB 5å83"]%΢u tT"]%ꗄ":]$AU +":K`-[J@뭈XxoJ4uJZ[u{s"QD^ދ`^~֗ (۫ШEZ )Z u쥕_h,WnSA .-".6 +߉#k/׭& G(iV`楤MM[">_^ֺ^A~iVׄBI^iB3MI+$g^:_fW⃰P)Tq@+m:хBez0 ~ߠD{_}i[l1/Z]BXI-(l4 O(<*4,hR(l4KOUn pϳ/+ H&gI03 rGR63fDL4 +=[#kk0Iչ%o i':/恖S9A&T - O$M t}=K/0geD6WK} $g%RނEUa3~D?֤:Zt@J+Zu]~_頂V!Z՞%nA MA&)+t3T9B0W U׏^ifTZ,vQsH%Zm%I-KUSDnrsG$O4_BHkyL A\S/KKAryO 6iVdCI;^ Z_5ձAȆd b)ݤ:_geCᴾJAa,k V]6 m`J@A#dr1Dy%z zV @&Em&E& m&P0^";HHm$I@ސm&ÐNIlL4 0:+0  B Mڌ< (tJ Iy (dHpZA5%Ma<9dQ`  $d* HJ^ I8A6Ef"4H$i2 ] {)H >= '&Ĝ`! 0V L8A4 BаXBc   a0cAAUk `А20A h&a !DRi2A +Za4wPAa-bA 8A +Q""# +>?lu&ķt t[2vJ`AN251AqS(8(;"Gud%ȗ GTNDUjGgʪ:`Ȫ  0l el8pK0M8d""0l L0ZR +PPf 8`pZa*I GDoBn8a h6öN% WLMi 6y&yp}Mp9t"x3 ef2g_p]eN3@G3صs5 _# y! (.9\0꾶(C :1ntWl2祕3s?+eQCk(NfT+kyNXIߒ=k"%$l]HtKU]/GǺr3__{h&q/~xSM2y4{s蓵UL)C._쎍9{Y/"[Hq{\pXO <GCmᆂ-5_i~[tZAi'I!דU/!Mh/jWyp:5|I|l1/>0_)p/Vu_-5_=1N\: tID5I",<:_^mv7u>m KpG#AtB05_yz}/j\鮗sRbpiȸ4ʍ*'9Uqz_y}FY:2F9zG7?~p_뤕___%majߠ#Gb\kKq}-'3ӓ(A@kGå8]{(?Q]kzZ_Z=\4G_Sz}yOg6 :ίƾFVP_ƅ/?$-'a$hOX۞sD'\/P?-$AiBH_ 7uAo^?um隃5#?οum XJw_!-OH^:GKot]_2̧0KKt]t &.=?uwϪ/z[ V?_))_"WX5͆^_z-o ͯW ,v- KKA(cVUKT_Kok?/R< ^Sv+- TGAy|YpkCi[-s`]dt,Z /:(=} ]~ -)K^]szڛKG\ ,$moy_.*#__ ^a?M\DGK BWuӬ}_K\~jPpGDue Q?㰿AiT{ziuA9L_WzL7oK=sMRhP]=7_Ɠikg'HxucޓmbݤNWm.A7ixMo߯>ᄛ 0E9ZZƕM8KAI*vb!+ bֿ:J~°J[A=0o>A(Al1>'7,7b"c 76cM"5$մ]J$05*v{AaR :mKjP A- %U=&HԖ>LxA0x9dPpyH 41 5]"k_p@H,23A Vh&& BH2 v2]RA,z C 2 A&DF>P@Ab>N7 ] ` ~h0J`Ă0H0x= d2&E j G^GFd +!$H4"%8lČYA0Xi!H V$`(aGC@hM5R +A?H&B#DA4""4ThDDDE""""""""""#c#Dd$#nf7 "$-gMP i"\88dW5"5ߣ'VD"* fVsR;uDB!TDppȮjGdeg5#J{aÆ34eo m*t (%)g &bEՂi`&pa*P}$ B$vS=d8 L&/‡DOWLM{mqV)@M_&WLMpۺP%.34 p:"(g;s5Uˌe Σ, 1kLtj j5Nˌe Σ/b֙H-wT6V8~wM2瑯?†1o3GSꪛe #^t b2߮g(}USwL NDI6 +3h߶6IlFR@$ÛottK@kS<֜5%M2y9!84ʙ^| %6y4n3O~!@a-Kmպ /%UzWIޗIy^ޖNoY2y#}VCK/K!K/!M ?[ &P?~>oI4}')?6&E'KWOH3RoYFT?. Z P X>W _áӪ_-hkt4`2qî φ}@u3@΍RH5iiSDPMa@_AtjG#4A>q~}~NhѪI-2t*h:!SD~&j:fzVZyU^Apt!ITNS>6jOUGL1])S} aKJ/Ziy'/~yƽ-'կ֗rS5i>i0t5IU^?I*?__UxBdV?N {#U:H#~I|x"?$P Ac-'GXHA32z_=\4GH4S{*g.IR~zZhiVT??=\4GH4S{*g.KTg$ 0TzOENug"<)hXGzD RD Pq[:,~4H*n?[:,}#"4H*R#?KAzt~)&G| -算@b0$_"n|XOM0$44ֿ%K׿*?Ŕ1_TŔ1_1L`*TgP Aa/@]u_,!@4ޗyu* 4_A c~JY  ZZ[iiVi/8 +I:A[ /H󀣿A>l4#N.KIZQJ+b G^ߎʜg]$%_umuп ]/ַS,뤕H_너.UEBv{}Pm-&W%6AiqN붖+\:GaƖHii2/aOD}XH͘F[L5 /Vpm/NK/Jg]{+8I/&UN/_{* +ZHKoe_ -/iq-WPAlb[c K(H,WYNBRB(H,WYN >[{u+{*Nz` <teB|=8` :_-JT-8 tzqGoSڛ +\ ƃKjl?G\ ƒKjl" +NA-2=ڭ}ce92Ik ,ڭ}\K\id?-&6QsE$pG@_)s@; ETK.b Uuo }&&0?,"a֓~IKztx}&KzuޥxxQ#IO``& k IH'L<]W8A7E>\I.!aR \RaCZAi%d4*A Y0}"5 iA]CKI¤ "5ɃQhA/T Y& 8vLb-d@!uaaȶ/T Y& 85a&_V$`(Ih hp bF4P q AČi" aւHG`HB;5"$0!hiЈЈЈGYhUETWJRB:tv;,dj)as-+RT)lP”GÍ9.tTjQع@ϳCd a#,Ff:*v &pa bEι5pU(m 63وL*+0M8pa h2 +D  `AϠl8mZ U5p7uLh2Al;Œ&aȚ#]7 +wTdO$2a~*9-UQ 0u +Jz 2C)7£U 3Qp>ˌd 6OnF3k3Ap 7f κUj~0P\ Bsa~y&նPu_XF0-Ap 7f κUB(4mh;ӭAy/YPiw[kE_DeqVtmo64?tg-n4?R^NF{8؋O qc9b/ۯ3O{~#NrNL&Ӝ4d8 t{o:4$CmZQoH~_W 4\q }y:^! O^Co'Kd?"|X!דͯszY(*AzG/F9=,umm?szY(W5.WӪ"B,gP= qK-|F B#@ G/$L?4^qdg*3|;kA83Hl~Ku:)OI+=ѫsF7FΚtSDO`ieg5tKŚo2aDE}j@A*Q:F7zjqd#T8"/t/TSŪGP驀k].zO*Mx>-P"?MLZs֊xޜLXx>-P"?MLZ/#g MCAtK \56U W06ypT4_JLWFY:2F뤟~lD2Q5]$硎e$j>[Q-RDO"4_-RDk-RD믯e"x3K}(EtPP~!7҄_O/zAZhP~!7JץK9Βz[qK13s%),FjFKg:YtP=tOϥ#z]]/*t/K|9鳑aor:_~@鯯$I#z}~_ _$V":z|2M~D|4K_GD|4K_:5l=/XWƗq 8ƾF괿 V_9׮_|+/kTX۞X_cnzZIcyoKasԿ\%k[!y9>?mCָJY 'Z !zK,$hЈiytƖH1C"?ӥF/Ϫ/NS3ׯU'_Ɲ*5__ׯU']/k]/Al2HK"`4T> K!.?k | + + z_QXDz^/ƅ={(rJ"URР.J"UR ?85U!KΈ$Kus窐_D[=T^֗ctU`lAW5ץctU͆C<ԁ/R_ ,/XeY<ԁ/R_ ,=Kj<ԁ/R_H<SL]=_k(_A࢚zIz[8‚[ik/e QM2]Wz^}_K\| `/e0밃K X /ei8m-+eTqZ_ -K&ҶUGucc.4K_KKziuΦi/Ǟ]I&p@V7=Uo}5NIm>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕjr\CCz +endstream +endobj +35 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +36 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 74850/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GH= AnQr ڧLA6 ?1Ni]7YIz"=HVlIl:_qoWoWI+/Kߙ_'M~$p6Bzk< VIZli?4_֝bq *5bA_zV>-&xmqKKGbK ᅤ_Iji$_RHRU-꾷_Q@^[04I7sK?/%I>;'ZzzDK[]a&Mu +Tta!Kfn%io%KJi ÿIi==R_ڥkvC]H00A3gm$i$ÆJ4 ,00@@0 DDDDDDDR}'Gn?[G,6$*FB[GTN-P"?MLZToK/ =Rt΢o6%8lᩲh:^DpP4*O&V)e#QDxoJ4uQZajߠ#GWi{z_L B"?Ey.#Jh,WKz_tOפ׭& 'o=tOϥ#zYl_]/| I|Փ_">Fk5_R//3MI+/lF>/G~:Z +m:_r@_ +Ë#Z_XХPiu?Z^>sԿKҿpnz WkΡI03#.4@NC">ZYO |=g.Mk5͆^ZYePo$ȖWKƅ=h/(cVUK9W_M X`k_ /: ?s\RK|x IJ_^֗ct[(?CY. Um ,y_.tm/ V=A>R"_WUHk(_ X KA AryO^R?+eTq'qZ][Li'+_=]_4ia)ރAm/8;מk_iZ=+H DvyhI#>D`!"I m&П0opz=+F H6dL=+DŽ#a09O` ם rLADBMN8- l/`" $Dد9T ElWeR2A0`I "J+A2, I,/'@D0[Ia, $A L֐0Yp!HAD $fARR,,HAk H WA Hq +CPC4&IT!ZŠq 4FDDDPB""""""1| pel'ua-R"Q40Z;#"ؖw3> T̶rgKjy,ęYPَQ[d$h",jMp2"wl8m L;MLPg&l:L0j7Gt ӨI 蕢7aÅPfl0a"RH;#\ ]EVvk:IltGX +aaHQO)6oc"2#ea^729 +"Ai {YtP: ~ Nb;ok"kPT&_,6y$-$YPiԈWmoWDԁ6p)|BtЛal?FB$Ǻ">;U]e8gNMǴ+ނ~8~'+!WfWpA?-#=:uo؇jC򅤒I~XO jl 6/6h4![+S,$VO$rk8N0)'%_/0θ+Scc %q\UjH$pcc)iڊ,g8g򅗧#SWuh_UoK]RV7V-]W޺뱽k=/A:Tct) uEJyőʛCjL,7ui:b?p̨l>/C\tz]Q9u V{|Yq:%~C&ʡ8#=RZoDUVR-=~_dd~"/ ?I}&>\_ GZ(^Β IcZNO|ZDkGBA6!/HKKeuH?L +D}Oe'N)_728::{<_p㮓*G{" I}/}`~A0ߒW-/]C=9::+O/ֵt=MS:ki6bKnc&klײLkfh$\nutK>M99 Pߒ-[[_s c9sg#/_&._CgFW5akk$> *ZuhKҤ__aua44/#6T/W[/_!JXuK|$?gxEdRI}~5Ka*ށa_?/!BH_ XaD|e.1{9RF6^_ /V L'G;qM h,_ʠlt_}#&A1qCI_^落O_K_J4@$Ht}_tzwkz_z_;t$ X=RY6Vk/ltL?$KD]|/KW qα#A_Oi] ,B @PsK^w.q]&b$+ !_amk:]u&,־SV/Fj@V))n}=wIiuzM +j?*`d?oKIP?㯥cf>` so? mzZ_ZKeT-m GWI?:]_KW-RoK#<7NT^| u^ MWMD a/?KoKK/I/߭ C4uo"nD'cⴇǢBAzMj^-_Iak tztV0AЦI S_=[O('>LJO NaIޕ"x_DŽ Ga.qD >v _|Ad4E L lWb$áA1A&b`] >^z@ֈˑ@A $GPVh0@O> !NH5נ Ђ B =&AkaGQy8A0p,1b"SƐM!X t,/pPAA3. !bb  OO +ЍBBA ɂB#[ +""(! +b""?m:"b#7[E*- DbV˞PpȦjDk5#'VvaCG)A0hE&Ki2lfq!YGcj&tJÆ@`2(L6TpۆUh0dJ`2 [ rR* 8p6i& L6 iW֙4&PB7T6lNi)v>a + J6}Aq]¤p[ +0ö}Aq]06P mï%SAmk Oej.A(EHK6/5'zB(tT'+S 黦Cj+S<6sʙ +Σ\< PAw#.:ZJ6nnSoeBSZ=.}{ д-i^($\kp׿I[糠pxzZߧ{yg@{:ҋ-ˆ֥ :r %6uXgpUzM]XOWm7*Ii$ttUO>D_~K^6}jHEq$fho8@i6)g8.5FO$/򄧒GD0DHJy$tCx@}&W])ICHYL/*E>ʵzHUgXYmʊlWIjJViO8@Uz]i%I{+?ԆW=- Z!-z~qy |\E}:CC_AJLj/HRJ."aiN>hMB4A΅>ʮof GpS"HoWF)/~t) H$KH":[( -K!IK՝<tOE~_%2]SץEgyn/*zIs"Ћ au)BЋdd ?gDiHͮBHUkI}/ |qTxmr(=k{6Kr'a?K:ѭ%U+G^L_,Ȏo0 |E uҶiI~KҤKyO\{=鿺gOuB)^M4M &IGKךֻO==Y8 5h3૯΃~h2? >kW~RT'/Lkmr*"fkQA(c^0C_:cZKePA$\ȼ^TT?~Y>ۏK5߯\[_u⿏fI_)%)$I0-KokĆל5FןC_Ț/^RH/>gYC0Y됀>eg!z.I4Y^(@iS:?:_"/O U&n~OҡH _66W_)Q~?ѯOMFNQZl$ _޾\4K¯._#J84=Cm RJ"[ +u??,_N6:/7/a Q'aqE2ӭD_O?-#;M }oi_y_ma{oAB?T_*G^֗_?@%KKҜ[՚ ?G_ý +)SUVbK7 /K`< x87']=0Aꭿ֗Qu _G0WX" 1$eҪt +\ }'^>pU?/]*KKg_=K-(ɔ\KiR[sa}0IfoGo4_u.>a#8/TzH<": $/H Jr*^KBuK.</m&][?zL?D%z k.tDJEꑰ -?Um/Һ&t-JM7pVm?{@_ |0Z @0&ocIQ 쪖L?TVoQ )~ak*&Kp?_UzL?}$_>8J/][KHkVO/տzMa.pÂMU=%ta7A<|V cI>+\RXJI{ EI:*('Km$oՆ#:+Z_WzD: &EkK &1n w.M5 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHIZbRTdfP׆) kDTHII$H0{d;*S93bEOWJ{OZXH0| Z 4 a 8h LVL8=O( 8OHPO,AIXk*6 L' B&  a8K^]aaqH45HЊDx!Ј hDGhP'kG@Y.M$b-B"""""0DDDGMQSDb-v*R2NH}N4HfwTVXGfy/JxpιH4I>ΪV0P@ʴSȾK3ND_;RN!&npʢ 42II`l3=6ͦ)CapR580Æ`4ayV6 )C*Pji)vl0l4If*n8Do>Ag2afn4a¦}AaxQu93Ѩ5mD B R/鵤h)(Tr$ [A(E,}EM:ehrn[DΡM7tNL`¯F? =8^P:} Һe'{{:#;qFQ}fm&!}X=#֗I[m#n$Z]k{&_$zUӆKп z_qdsӾ{:TS RlRPJΠ[nn}d`+zL?KGO&oz0 ^&}u^zv>Kh+dW3A#i(}dM#4"b__{*.='΢yS#oiu95|Jy$tRIF)/Aߚ)Ч%zF}ru]!MΝ~8~o]!)tsI~ (KC^ߠ.G nNsXoȒ_."^ANDz2?a<'Pm|q+S\ 8U7u=C^k.T50T>mv' ϧt8▦tDqZ^":ePt|>$n?uGud^IUj6FT n_.ǽ?@鿺g&{ŝЯ#5ta Ob\kKۂ#L B"?M}jZg\4G_:_eUgz?5x]/m}!JXID|>L8A(!E.tƽZMqW@$@%ւ$.&չŴkug@=M7T&G| -KkiV'X_]7󐆿Kףkϡ^Zm{#?Ŕ1נD$lBI_/şJO>_>:K+]u_t$x׬"/eN~T*m* 4K(l4yK<'a)~?ѫ/i\$ ZpJ?J4BuI?8] !|/ihҦJ"[2?_3W ag)G"m+O,_N6RI+A^aZ>he>S |=g恗:/IIM  EA l/@P#/@[I6֨ RT,$ȖWK QT)䄑DS7u)Au /m, Z%a~ׯ _K|4ߴc OLZ?ߎH$%n0:}z"?9?_ZI|y>L8 +\ ү_HKt!*muЍ,x Ҥ?Ǟ蒯L0ce92IkJ__J9?#h,֕ MUeV㰴Tm/$O5k//ֿH Y봐B(}_ <[*!9贺?}~+4A uWI&D4ΣY &4a=> iABB,Mc J i >hci/pWBGQB# ADh"CIGhD ZT"8CB&PDaDDADDGM4d +Zz)6L25%1YF&rR)i#5pȦjDo5#gbXH vfgANHfDkDJAJ +X 0m8lT(a;M*npʚa3ۆU.Ȫ5&{ Ⱥ6l Pl7 J8AՇ¨6&'PݑNʗf2l 7NFn0Bvŗ '맄AC較 Og;s:"Pb֙H(t96]$hG% a=,f#J!"VwM2:UT(mBӅ20Yt~a=*0Woiv?$0}FIH|]Ht$ +?I eqVtmno_< ^ԁy6p)|BtQt~QoxFpm0ۤۥijSi/Ju?O޿\"6׵ȷUzW?׽-,$]C򅤒_ j帄GE=8fa4 +d?I)NM|kdz%?.)>01S0tMA~ ϥ&ŪG0 k,;߯%RZOzZOZL&zN_h: qtH"/OK/5IzT_IU +AO&i2D?W_i$P"?KIXDKI*`+KK0KkyU/`pUKRT~? aA1_ײ .^B2 /:#Խ|BzHH*H* : JeNSŭ.#sׄpQ_$5R#BcZ/I4>`IeH">F` k׶Oyt/|Y&Sv/0τ% (cP[U3~P]2>(}g4V^|B0Qmp鎗w4Y^(@KB H}}:{wZL=.KU .g/SAPH$/H ZRzx]krSsE$GFf +I'T A넋~ZKo@HȁK( t#zh Az" UPo a_EA ~t_ nmnS!恗7/a ">,$f#Zesl/+AjC@ Kmq`mxIE B*c _> __ޮ?^#A?At[$$A]kҭaނu)Ah?yN ߏIJ"un>#Km}=׿Ҧ맦,y}0Ac9?_J_9?Wo?sg*gS +\ B)ѰW/\|B +N[ .2;sA­ a.t8E$HHZ%dA 9U W,#x D~?㰿GW=_k~:L4G=A֖8BKo"` zAmi  Ȫor=u7# aoK`[ixA`o~$?TGim8K*Ka_ -MK R VN.%  |p]mt/R\| 04qL0h'tz>HPKaߕMW*H_\ uC( aA~R<(t)iE_'*LH .Aajq(@l4 sĹ) ~ 4H'S圝Sa%a6H11NAP4i {)d4 $cH#mRaCLò`Fj Wt3p(Hh4L L b@& ,XcXkA 0D 5akAk; y8 iа xi!K&@a4A:B 6 44? 0U8 +" B)h!"# 4 BB;C +CB""""""4"#f1\D'Eq$B\2KrQV3R;LԈjF@ yUGLe:"$Wl4+C 2frC fK2Ca3ۆTռ6 ,Vûa6f 8vÃm!ѭ0pd"5"v0966vj iLi#vAH:. SIgPB$]s:ŘE>CH +KI7SPDI ]ZEF4i[eaPGSꪛe Nn6=3YY\0F? =2'EY?}WŗI#0n4WX?ۤ8#OFIH~KK]&eo灸a{VCRB3q?m_~9!5KMs z_qdl4ϪvQ$ 8/KV/e&/>pXMv&ehbhZ ҜPI0O{WUzWVzB.a렃~u]ƕKIpH i7d?&W7 {q>uRoҞI~Zh /-i:F'Di7 %[$c!׮_N4eZz'ZBJoEIph2ֈjh2n %M!.$^BJ)%I7B]RWL}#cz?|~Щ ?>KL +"B4AZWFkҿ)G>R>f=P~( P^=Pi+###(_C&(mAa ÎbS]1S)?T>`I"]%󨩀k. $a+_CZJDꖓ<^ZO⟏** -Duʡ|I2cB6+AE?I*}/Jǵ]#P*]DT}/ t=Ke_@^L%_#$U-'#4DtVzrttV"? (۫ʪ#?Ғh?)ץiizj;(PZDA TKRTAlU0eؤ]GJlRE?_z DwX b3Z4XG(hN$~^TT?ҷ9I[aӂ#"=KT)xxarKC9A +Z^GJI`Z>_9i)~iV'XD"᜹C↿癈ᆺM+}2^y𐲆04 (cP\m~$bJKd+3AQ _Ymtzkװ.! +-v韒P!@xzJ_$oVQ /IBҶ4_A uPH$/a:׮K)ןKoυS^">xko )mDJ /-$Ak$PH =.H&.=v_ޗ#$_ C/Iޙ[DT$/DA $ނ _(A+OָI #>NR=x$t ?߄ 2+/A$èلkLnj#0׿A^a( O"> 0zxp[q迄 `  A&aBeTگAuׄoAy#NNGO 0gez_9?46>I/A Iys ] +Z $g%Rk^KAyg/N3~Y_x@A,WYN ^- +ֿk_@m* &^ X` K맦/_ $b_ץK>H$ƕ+ ͂A{kAB UQY +~!5HU@_A1!E6uA*綗\| ~@$aC^AAR'5"?Cń MZ 8e<}{Z_׫=GWH% Z_9補t]l+~9L?` +ic?otȂ OO-/G_PA2!ح?~A("='aΦ/o)ރZv@@v1 vK_AKTIKn][p%~Gi7ƁM~~XA(a@]'pD݈N/0k~U5v IB 7?I `.88p 0a(R?~8i؄A'a]^"ݏ&=.tW4UBGA>zE>  I AC =&A|Ba(ψ"ߓ% ]S Z0}#5 bIIFjJ h&sg<ϖV '&ZLE(&E.Js>ZLcꃤKN- y 8JT 4/j  0IQiA01 `]&\ i/i ai?@I @Na  +ChzC` )]-!Ǥ GCZKIX_1AtiHTM !AHiFPT""#5KDDDDDDDG(!sW%h +GuP.T<(gcyKPs+Ԍ2+\vʪ+SA`α荫f Z & im0|0`Val3> 6hEB5maöTgTj'i[6B*a.(CaA4tJm}AFn&UN &ŧoa7Dk$Lo & +lYnpE>CH t\:S:o/3s} 5-A^7d`?Z79u_9쩜U'NDH P\h/EZK|yIBd3|7Qt:]'l*΂M2: + 6Z!@_Ƿ+շ5&/hNi oK}t/B$ǺQqűJ=-6\s//-IMǴ=&l9"&??GW#N}GO{􍤕~pkE=􍤿Nj=!n_=!CidHm!՞]> +rk$4ǤG}|5I Kd>I _ԔH}y:&Vk[2R(aאD"ddTCD_W:F QKoO?ervPgO HIm)?5*Ӳ{<s@> R}l3|~3T[p5]D_h:Iz^F.-_>ehu&N +-S@q==B/ud8=WD$[u{+|G":+NPNN0KDuZ?@ꎊӬ4f?,W?mJXCY3]A).(6uDCg(P~!7~ K0 ^99^aW\[_+sk:Yp%9G㥜Ie + -c">}_ =q +E歕:Ke#M#J .C-aíz'a׮kƾD_ mA7O^[[h|!-$$/z]ǯ/A,h?>I5 6(]kV Pۍ l9\H$!oXQ:G ORׄلkR;Ht_ԇ[hzeב +?A f..9?))U1^|)?#Y eqTPF{"a\U/GT+@? ]o_e@_xA| X`k\NWׄ Q=g/~D]cʲ_&\ПC~ aLRVK5A *s\RK˴YZk)BAT ZkAkN ? /?!) |$ Vuj@mj@) _޿k BAxHkK"i+G(_|}i ڏ?jgKLj^CH G5_ ҇ΞAXjl5'JE:AC&?l/kw08Z f#09W` jax I ׶dABxIC 0A$O浤aGjag=|*<ϗ^>Xb3A ya-B@p ,A0?Qh1 # AkA04B`  8x'_o=bB AkP@AWb 0@A14h +!GC ǡab#i#2 5Bӆ !j!d1BBN"BCM hGGhM5$FE44Ј@DDDDDE"""""45B""1e4v&D&eqhv&Xբav(0cGÉT39;ȦKK0lh}`2 +2,DfkA8e^E4d"L3>d Mp`' kȺl34kL6AŦϨ2H$&Pj#}7w`Z#}6Ϩ:#I0ÅY FBau $Fn*oEQMVqtS:m 2 1kP}Mäɶ$AxYB:#A0]$hiꪒȝ @ 83(.aײU`^#aa(]''NDH*6y$-YPic*΂MI6H +#bgBN-.\U[~'#~F>=өկ ~jM +_*Н>ߧ΄؟D a5!%>=_ fTAzS{?:I[uNy]>83}a?HejC򅤒_ _]CgV"-$Kg"Ho"Jr|%<:'o8Cm/! )NM|m8N0)'%_/_'Z_^нBII鴿QpeZ[^$K7F9Ӎ/8Eh[z_B꒿KE~? ޗ󐺤/n 81>O^B,yőM~/8#Ч/AVߚ&"W^ֽ5_/8#OQ:Yl=].:eg]&*kZ2K_xkq׋,$_ C_Kʃk}ۮ9ѯA $/zK"1ҥ"65L0ȯ"xG(_넺zuzk`_&dW}(]/C迲9?D{0^VԇE5?H_:/hjZ9?D{0^V&.==H^ThZĺҍ&& 4^}~U_^}}=/ZZQ߂A&@P#ׯ^OpդkȿoߋA E?0 ^_;t$ X1?CARIi~E(踏Q^u&M /IW\$&IB Ikgr&ҺXk$ 'Dt&x|B +SAֿ^M( HWA~B!5VVqUs_(><ԁ5 ִZMXP?Iy4Zef 4AsGW=_krc=_kKHV&Ht5_WYۘI A$#>`  ұ3_yCmX0~ICr9&&K 4I--m O_箵֖ʩ?[~A("=:7A0-A?F+ xo$~7v 'a@pa$P M_%_0)mM1 -߭ CO޶%IR|| 0OIIJ WF? }!y!: AzMj^-_aMG4J o ;i4:?}V!Ί:$Wi0*kiA %z +yA< J> sLXH\}Na͆IRaA7vQKj"AA@jI vpkɃW_eiz I vp{ {@C!Ak2 |(BA/k"" iV@Ju`fCӆϨ25 &"ȈAU6,>&UM&ܧ f3(i4Ŕ"/$M3(tJYB:#A0]$htD(caqp4&]U2qdA7皻@1]$|/L0eˤiŷ>:A(>A7:iKDw @0,6y$/p"yi_4^N!mn]z_YвI#+@O >&j:\t}xt[{*'#VA?1]< >NW9vt^?eP.) 5o/&U)KgV"-$_%":K) Qd )g_Fi )~q{œaROJO]kifD+ijH_sleZ[^$iiƗH&V+(;q]RqY/4{z_B꒿p֓i[JEAt)(^kq(չЧ/"W^ֽlI}6$ocK"iPYF{o֍/#u[AK89#ki}~\ w=4fnI7l_RPy 7RFQ)' mŤ17zץ# Ig+6H?XZ5jrԨ&/_ΞO/Ea#t_+GcօV%^/OA^:2D":%~F$ƿ3!W܉ڽ$oM*4_Ҵ]1G8֗L9tfTR UׯK)#tGgI0;]_?aAC Q]euBCI(_@%|[-iqu|?4\"=:Z&*nYvz+>4mu?M~yt癈?(D{LWoL 5c@_>_Y>WϧaR۬#@z^n|G "0h"$&ZOp_/JNz~&I +W[ߤ0d_7zVP}]MwuY!_Imx L0#灦ؐ2#_zPtxzIoA zǮJǮߏyPpl%˲zX?Sz /r+]CqW"k׫_A0"@:Y^s[^z_a3PkzHտ/\Z9?D{0^VK_^W:& .tWB4o SVK_J4@$I7__\5z]/񜃐r +_7yo "c:/ !?Ҝ[:i%0{~I6_#Ϧy34/i$^LG]u\$&IB NI6R_0sUctI|B +  __?Ciki.k5b@$a5l=UG_Y/"$+[z_פZ ΂O[zTuiuz~&i-|m *MYlJ[zI__~al7?!Ag~l7#7 oI&ȯ7M <%-RoK#<7NV)_\@zү-i/ &I&o+<-xA}$_Kߤ_M/B`Ҿ:KCAJKoK}PI/Z/II}&߄GRSI0$vP^zZW ` 1 oI:_^U?I-Rcw,诇HP ݠ(&EBWi0*i& rI]I/4IK"-/P WS &\*-xz ѤyRaA7vQAERAi5$NKXH΢$Ƞ6 Vܴ? W! bIx2 A1I0a.qnZA0ZNh zX8A0 < +k$kC AUA`4DD2 |(A -5]xM$ -'h%,aPh$JI`jBL X#BЄ + K C b&HqDME>CH Ȍwߗ 4lM~\3h3~\3k˂pXF\-20Y!G5T"(ę1"}$QJ~5J0MIť+ uI Oa O߳ZH/H_"<ԛ8I:hCvWaȅW'߽5}*uu\tu_wI7ӟ RS(] dd?-Z6 nq)U,ŹħUTP( +CgJy~w /՞ ä~4dBYE H5Bla x=3=o:95/om==-`b[BJn^CI.X#@؅:ߏzK7j$_,B5_ &z5UQϯm^kU Mj}Lm$ڬzuJyitau"} .|~J#]Yo{ KAʈ%m0gBo!ih"?/m--G\Ћ$ᆿXo͕:{wI^>zׄ=6֔6L?&ǦAׄ=6d _N>M"`HF+~FG͆[!θm/-t$ oA$aE _2Y7[(6ץA+O֡넂L>{=&$Z믍7A~X-}_A1qCu㚗GK0CGKIK#נ :9>/$Ȕ׋Z~OmޟK@zV\H6kwm +_Z%aq8J)zL;.oHR- KKAq?/Vq?A Jq?Mݔ0K-DtW-'k#KI +ǥmǥ--.K {]WAkP?WKjKHXH-(R":)A/QVIizXGpWPcd_=_F>M~A A$k_.?}xZAAiT{zAxG:/ ̡?( ~ AZtPdR Ca4(.?N ߆ CaSP_/Ta A^>,AZ[pIUޗ Mx0wI H7czAK--X Ф 0K ?MtbaJ[ DwǢBTKq, A6~EA6~DjI-êXEیt)m8I5HtR.:ikޑOJ>LI5Hֽb a^L anf + [A6&] Z!&] G@H,23Aӄt1=| զ+A @6~A8 ZbkA+4 A:h [(H,t-z2 }Gaa(Ic  PaD=0XJX/tUbFpWᣡ0F +B8D`") BhGF B8TJRBB]SB1ADDE""&#!4Joyd TJ̒6>4Fe:j†v5l#v!I63VD"(}IÆuɄI(ȗ ? LL6l 6da;ipel8pl6B&2Ԙ6 DmL6R``ΛbӰ(`U +L0A*Dk ‹'@M_e' 0#}]UBCa £M44I96 \2asIB&=3@?3/PoaPQʲ L.\0F>#ZL3k3 hPXF0-Μ*ToO6LIZh}I@WI8eqVtmoo%o~H5fV*Tu .Wgʄ'Ms➦H0۬o]IiOV${N~8~'nn-&mHo& ߤm%M؆HE߯4P~D FQ`?ͯ^!#@\zOKmANM|Kͯq>u{cWI?Sd1^u%_OA_cI d5`́dIS/I' }/n Q`́B^Y_ڤXn_R}iťlFz_hzW,MMQנKu))G>;2]!)}My iB_90ΞEopBiP8ι_z(P@W ^UVG8 oCuUЋA{I#5 +0׏Tf4_T}:Bt%[~xH0SPgWe} +ŪGQ#mW!/H0J%[:I.h:ۄGZIzL6?lI|z[5j^կi{G +Knh8;?j@U Ƞ]&V n"r=%O// O朜[*>_TejMmTa" ? TدD[uy$PDD?U-{.+Ab3rZ *n(6uDCSV#KOJXI֗g9~@E5^M_ | PWNF/V#t/:XKuւ ~aה_U/) Ki~iVׄ9#v\Sao_]/| I|ד_k +]/ $fWTk !'k/K{K*##^:_fW_X?J+(.!%mT5fʝ==Z[taiuXo@㥠Ҷc\lF_:*׮Kr@E>VPqAW4)~6]yOֽs4i$nKKR.ΎR_sD'\/ gϡ kI03KtT/ Z. ץu I|l)ׯ# ^_ǧKo:?ޯhe>SK$aZA>. x@P#ׯ^{ޞK_K}AA l:K >IeqT" k,//#0IeqTZ҈-h Vgւ[DY}-Wk4J+Z_]g9?v/pA&)+t3'9ZR-̓XA N?~zS UGZq[WK^]A +8]?wuA*G?G.KUm.y0K}/(_Hk^L(e Hl# +o~8ij'뿄] O)xG:/tS:K/m.W'e#O7( L_=uM ή3M?V"I}OK #;*/ʟz[(b$ޗia)ރZ K}b_U]6 zZI/H Dvf_B曤:K&a o##_MAi6 萿>o_%䄋=& IBpAa!0JB Mڌ"`Oiå~\Baz]A`bIlxIwp*K%%7*Q6 (l/Npp =g'Fk %T 7*Qׄ˛ 0AE/ 6A:PഃI X1ZL@I 'I"u & ya/bA758z%d41 X$ ai2)OIo[V t!H-@  5uæ#EK/tJ@u"U*E~74ߥ%@o]'#j(C :ᲰA[!@o]'#fפf R3ߤ>|D0SpL*΂M: + 6$/V0-P"?ojIiSc~{<KQa(X\/^6gKIz^%N:5k:_C+O#ac' &VPatI}#iPHyʾ$?LO=:t{„ua +/f}ZZ^U-RҴGH6 Vla>N ^x3Y|APP~!&+3Ek9ruDCLWf/eaxKЂn :YuL13sZ:^,FkFn/:sZ:^zб=/'XAP't<GK癈aEB?*sg#{:?@9/f" #@ؖ||ïN(T xdKֽJ_4W?.mKZ#@z^zsIk ▖׋A%~W_DIB_'_潇at=5t]|BWA΍Xqkץϰx )M`#M#"?#灧koBꗮ$=}/X$_ Co-z/! g4 dG.ߔߥA5 _At?L0ȯ" K0A[.KH^Z6 v!~&#JQ[j_ C!R _>c t_>@$\~H__XXAd&A? ,i2}~?@.~`@m$]/ ~vq#t1ͯJ"*/$K7( &Ai_YWDt }.zs9_V[I(AI_,7YO*h?_A~!(?|B + BK(M~ᔏ-_KHt5 #_HH/Kmx6d}[ -_ +F?ȅ_ץ=_kQAU_ z?S*1o M/ oA P_o (p\[~?.03].2~A(""*kA1KT=[OJ.b_iï l__09Z_ać G.>LK^L\CazN/ocxDN fu rep0a. BH2 pH$ v+a,Ta PkaaGI@ @t @:2D ax8qN^GJ車h0Bm ; y+bFL*!X d6i:Ť8Aa8`GAH )`j0b# {C5AZD>FHi!,uTЎBGkRA +B#taBk4ЊE"#H!ADD،enh;2u4[R^`α^#TLֆuϢ DAC2 L2)&<+hL2X 9ْy)7ad ʭU [f P 2̃l;N6َQ[Np . 2̧ȺHuPEgadQl4&  !>V &,aB#BAFmӨL4&tz~ h^O=hpoa[<o3L:#X}Qh*EyeQC)7I&0a"#Eg$3@P\KKAp#M?m!6yp7_AË\,Mm!N,O}8 [+_[(4P#_6(>皦RNޒޓ橔\*΂M?I zlQce?Ds8yikˎHA7<[겏gKc>j;I~j;W}^_#zb}& ҝ+Y/^ƾ(KS] ~a%"BS-7 I$pA? I$fJz^Ǥ"|X~ޗ㠓_h?A&ޗCOKH'%6AzG/Ȁ1փ'Ҧ5B"iS1^H &I"u$FsFLP6EJ3PKӑ#8 JrT@!N%r`m^'ʅ?I ."?C!yӱΣ @J:/ץlȏB,gNEq8>egV{zDzs>abpi3T.@Z'Tl]Q9uY. :]Q9u"V P_:%xao#S,$h48KS H:GI7^Ή_^_M!A(a./P×{z{<KQKQ _^im#}$HKoT/ttXat{Y-N"?=kKKӧY-?2DW"?K f&#56 0_~ʰէi_#a2/+KKMZZ^,6 qZXX"t5km)+^D=dXbguz^N ^f Ѣ+K--8g9ŭ.#,FkFŭ.#ߛuG<G:ҭ/A'C9__]D0a}~9/f#=zlt癈K kUdXK^,BI_o_}KJ}uZ#@z^V#@z^B_T?K4~N{ȜC.:4ɜCoat:5?IC'ZG/ahN#q=t:G x◠aTsK/=/K g4X +<8 _)y'Zǯ"`2E[ AAi~x_+Y@A> /VtaE~xA󁚗_OR[j_fx kfjC Mh%0^V K4 6]%G? tH_>|l| AA& xk &Uҵ^?_/#?zC_e !x_AWCA EA1_U_k]2_djG_EiiKti5NI[yqOx9#u2$ +ǗYr$ $ r!C8e#TcYpj ug e Y8ig/A>!HTVҏ5-KZe~s?~‡5 #_HSRҞ5:rP[:OwmBP[=G~j?*MW }yO v ?$=7~?i'v?~A("<~A("=[b~Ko-ߠI;_@v&e[i/Ko1&ȧ:~E?Gi7~°[[~xA(aXA +XA(aoӏD`qMX"nD'~>7KM؈-HH\m0D sմBH6z^, #Xc/?Ky|D?Tt 0a*j` 0yB ,}'JGItȠ`K~oK_w08(]2(2|8( 0WeZQ'&OW m!$C]#t'xD?;C]#bqn^ BH2 |qn\ !uBb>N4'u A00^ ix1'pjx1''D$ i~@F[ AV/H )eaA,qš XCAb"Sn2tЊUDi@DhRA_L* I"#Em8$FFDE#CCB(!ɺ'́2oR"JMdM32Db*jEٌw^%t0l(6Ul(tLdE4aPgVTZ D &i 蔢5nB%=hpg&ۢ! S:n.4T#ZOZ^A#:u"P\ ˤDiEKI@WI8eqVtmo!H^b*\ B$Ǻ}i$:SꕿKtq9>N}UMDiF؆HEߔ-$VzMZ %=za_8R&=$$pΓu/I5B^ %(^$^/NFㅣE9M!%zL?C)*ZP&N5_83kЋoW6Tb?kO]Q9tHU&fiFղ?dd~"/]$rxH0z7 ϡT>@Z4IzL?) D}-/CLcIBAz2(A(E*GҠB h0֐C=9:+O/+KK}h$`ZDiBn(6uDCLWf/eZZk L')׿sk:YqkKe{a 먇 5rGK癈aEB2䒯_4W?.mK8@*t|?!B/{K"q_~L|l| AqE1ȇMz~`4T>! " ;=CW1ʼ~Eif]F}~9#u<O/sG %)+/e A!At5 #ߑW~UgR1kA9` >箵:o%Gr wheߠI;  6_peB>J/- ~-ނj< / S|D?TYѬ56~ sI΢ 5I<ϗ_8/ f| K l AA⼜oһzhK`b +JЉ%4#ta +QA#,H&H5-Մ; dB"" 0gXB":vF"6Z$<)9Agj4vɍ]6RU8dQ0;a6|DIB4ꡝM:Ҳ0fnˌd 9IG"P(}17OgB(Ȍl#qI;L>P 3Df3࠸H4@J&ߛ/zGeqVtcmNzXWgAA- oߔzLsgr4Ǟ΃;UүM/66'&l6U=~(K]S 0m&_YA?#Kޫͭ/\@[KYx3Z$m_M_u8 #m^'EôoK yŤ}$WO"9#Q~|=qKoޔY"Οq׋T81}D_(㔓mxΡFpҢ;_K{<?vON [m/ i`O%ǥ_I_^xP ,0=DRHF.H'K f&:/.=_C+MD^iake$/IAQ0dw+'{an D!zzKR_'O@avXK^/Z oB$-؉_TimO_]-#9z_PT~3AA g4c--5? c/?- A}6S o(w_t]Bo8^/H$^Y =o[}|{ }55/q_Z󨤽.Vkb!@[Y&+OW ^>VOIKT׿g&a{_z^؄Nw(NH?=-6Km-tvAl![J<Ԉ"#շ_{YuG\DGK i y{K[-֔"|A %&T΀mziBl nM ήح-+:M [A7[i~ރ-D~(-a[z[x7O l4"8Aa hN4_ CMqqČ /I:Bւ S oO! )3VIb:DhBDE DhDAADDDGY +]+$B'̒Bn!["EW%H4"|232DRgNF ȔEw) \gtdA/i$ӣE cT]2Sl68eD;f:r>WawRl2fh lέ‹س4iêag V0B*lw N 6v\fh'r3L:#X}Qh*J}eMPm.*4P6$Bz ^OU#l#q<?Du_ҝkGQ[49k$-7a=D?K:)׎ez0 kqG`zO?9z_PTZ΢ r@_N#k<8 _Z[dj#~#~ǭ_G~:^G Gy>.QgZ?>Ώ_3Xk_$Z ΠD_~?KKB=o[Zm|{ׯ[PO_m_:)R]t!V_/2B|5y##`[r)uנ픵>PIZ ̓^_دb}\S"^"uz Km{ksҖ&0`_qk<kg&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*Q>wZ&7`ANԑtSQbf0)+`EPpȶV#Vv<F/ + lptkL 3*8w6g% #Z"\28Gpôl8v K'ۢ$&-PqpH*bA0Ji %A+bV0l Gs:@^##*S zpDhl}oDdFk5PJsJui&i&4*m!#0UWHU z,_w_T!1萇oKW{m`2e lNS?}꾯Sk+is$5grUZI[*WeAC ~}Mj ڪ'ψ/X +Fn|3}ՋIgSi6*KMH_#A:I6a~]u`4LCH$/ W>$iZ/ZI`B]$?_i$~g_dkzausDk6 kPgKIaDB"?D$+__~Dò1:%/vW$__ `Yp_B^t_R4ױ]+K U{8ͬoƒZrHG-ͭPL:K(IR 0(})/~yKoşN zKy*W4oу90g#!oL:6 im[u@m[A+$WD0VT ]K/_TLr ` +\x6u+Ij 7]]!/_YԥBߥq5Xq8i.[[J +#;ҤLS,u۴/UUiBU6@[xگh, ^+Az[mGjUjL_;%`㚗Dbe}L>?_z_[m^k$wKo^ֽ.kiXZ^lW@0ЋЋKA[{[[a,6lEYBKۯ;_̃#@=k߲F=C%_\"+^虆LrEK)m^ׯKU__#cK_KSxHVVޗko눈%8Jev9\p/K~0=4-.exA/K/oIoil<%zcM3KUk`oOAzt9*i TKm ĿZU[&-G[& a$m/Ka?_X%ig?&IۊނoAGKV ='Aa &m/a0Aa\I}.=&a7aL MǤKl &KXdM>a0Kp`xK^! s&_[QaנZ6/HO*Lu< "jI,z,GI`T gP_G b RA/^G >Axd`1AȳH0zAK4 ap7 1AᤁIl@> YZd24Aq a*Ca`T5a$ $U kKZ1@ AC!kX OF(!A +U %TB8 fJ>8Aa#Fnd"""AQM A DD 2Oˢ| ,՝D16*gdO!HPd%9aa2dϱCJ%a ae+al6Rmf9En&l3-6l8l0δqbA6cT34ppKernŠL=F=ɸE""<ƃni +PgV0w +-EպPEӽCrVrL}wN-Qh*ax V7!W^!VӏTYA 9U7vP!:ۯ f_Yt>?f3XݎG4Wd UI5{zh&Tͬ7~NkҦɉ~Sb_&^!_C8f%)jv}%DGZ"?\Y& !0~&}stX%}+~Ry#>:!N~4%c묣3],95*3૗#Sj(~4Cv5WeUӑGtJWHRյ5]6RҥIo]OCDe+9]/nC^.!)R鲕-<5Bb? #Yj*zI{p@$ifrT G8^fA98s48K}]"$_$o죜sP'3GT|^Q./4im$WARk'Dt*? WHKY})1o?:VQp%oGH7@PZ_zL0ڤ~S=pkoO*oM`AS dHY)ZT"2BnFr0ƿ:AB-G(AiT3kzK`-/{G&}6g n-/{F-/.%8DAURI"M8+VaF+]J2ё$:_^_CgvX`]΅AQnLHL龑GeesﴧBtkt/ iTIjXE:F3Ǩl4H/ʰoKҝIkKo Tq: ֖߿QƖ>L8kpK Ϋ_-֖߿QƖ:\z)/*0:f`ޗ%?gCʨ,Ka9 "[am[$Kim +k ^im*G{KlaCeTegQxTk?a##x +mԨJD_l?O.XނI-(T@xE_=IG I!iwK/OApDMjZ[萿VAX%ߺAݰsR DA;^޿^ZAoQlۏm?>/Vn7:1 8 ^H mmΌo$zO|<%:1 I*a:1pm :||PÉ:nKI (aĩmuz _@B_~-u[Il\$ h$pD?2@Zd L66Lq:0i h$xD>O/qp k %1 @Aq S O_4N  ,'!AV") mh&R' l,5 U :!aWH!Ht ͼAP #,h ]^aDDDDDFE!ɵH"n5bq6Guf\21^g +ge(lmJ&;SR2zJ-pB^L#RlgL3jNSq+0N a"hʘɄCۢ_3P$hgR4ʃ8l`ك Æݑzjݳ +vgvJpIp4;' XH-0wa +B[m3a@A0zv,65dl @h$'&*m(Ol2ۅZ50U<0mAaTG !`{ ʙKL/I%/_^tJ]k$(TBG]i.Hu2EUˆwҥl;$o֗tZU"5>Sn5oMc )-τ1Xpzh/=Ճ?*UHA~{*I?)1.m*>EZI Ľ:.)WUXմI8*U_bj+MPi7D$Ҏ^H -$k@(!NT$/&JS#t!L-/p.8K!2<[+S^O4YX/eZ=is|[hͭ$t$Ih>z]-AʬjʰjTEcDIWKV%L{^FIWK_4DB;CqDZiN>$IVr_^Iy)r\ha i6H$Vr__w%3D" uӞgHY86$KYY8)a%D4KIK_ ~`u I"B?H0&4^dJtE+F"M/$/:A{erauՔw1t?xH%='ߥ?HՔwe/ 5Z >O!?_%j:5VWt Kz[kztd A^ɝe@m#Js+WϱDk*ntsG6ި ܞtW. _(HY/ +J/J/!d["?{Ugd ]}_ ^)=z_~in䖔=) A^=//m-/$ձXޗK4:! 8oױK $^iX#_]z P6A0B i~&^t/KO{]W[}tᤗ@PN8D{gӄv7 MH/K.I; /]{}sM,#6o_lie>ic Ko4/NW}A7EFGU?]$AT:z_Buy*P">l2]y 7+]4Y~']--">l2ׄ_Ɩ9˯yW' /҈|wO(SPf)l Kx:/3l"/_Aq!xNz]X/w~3j^;H/戌QΟ^Z[ mm/=~x9}OX4]4@/?I3 ogF0A.KobGPJt'/KKoK~9ߤ(aC[@@X㲔?y (mƗ]\& {"?_6}&/0}_Im~ ~ t+'9Wm-"ᰏ |.m(-/H"I8Ka/8ohd?pm-&T΀θg| K ML4g:[z_L2i/oeG! +8 %A1AE!KHR + :"|rO~좸灓0UT, Ac D4/ y 4Ȥ/iƩҾJ`DG!@([Ib,*@'яBB#Ј"-dirȁd<@ѩ,l3aC +&r¥2;)Y[[ L3Kq$al0alHjlÆʭÆ@ؐȢ:eWlZ+:fѭ  Ca4hÆ@G #; }TϨ: RQtA wLalXl0BPԙ) TAHl6U%]CN$iOZ@ 20Vjv}}j@8( [_-`Diz`S3Lsa>oq sQQe0#L=Zn)$zUJߒtQ:)U* <oE,uZaDX?_YG^8y~ʨo=*0kc|ꨫI7^ /cPaDbWꗲhXTMT\ҍP~mj]~#QzT _Ho5)D5CeԔHZO2]uLyu*4t$ߪ/GHmiC_OMjpV#iNA5tͯ~4N[".!h>hZ}i/_A'_STEy+St8WKմ(zV?x@"3iέ}ߚ)Ч*mIteF sOZ8tW)Yi}6_Pz(?KKI,JOd4F\l>/Km+_K#?@/׶_6HJqd(Cֿ^j χ:ֿKI_30_8NX`>za _@i*E@莍~B`@i}ѯԄ$`>]/WGFPli2xA4sK:IPgDεRKZ0J-+Wc"?ZQxA0KB)E /ħ5H&<‚#_/-L!H$/9_uahق}RP׷z^q%0ׯ KaXAi#/K5Eп]%_DNH K :/#xK%ͭ/ ԿYKH&t?Fq/jjSzTAK 4 8[ +0/Ϥ%4"?W L$I}&[<AaL4?/evqKۦ@h4 &~kz].i,%_"0 ,6_?6? R0 }0dtO1hꏣ"O#`AC[ /_KmS/[3Bn K_.Q }ex20ۮš, +8/m6oeNT$!F߿20҈GpKz"ʝ2' M)P_恗:/ǥ[ @mrX/8jpbj")mkAqI!D/N>y+A_a_A})t$O_vתYҟ^" X 3:_J-/ ~}{_UL{NQGkyV5 Iь_~{?x}~GJ^N$5muK/ե[椔Z+_gT#0c0í* 1_MjIJd[aku}{=m}(!&wh +kJI/,$lsNk-%~߃_izIIPFmOU+/Oe!ZIGOhKj:(;`m4zMF/ /צ߰L~YPiq~Mmq&*t+_װ4?maΦ/IK_M&a[i`'5%'ҬA?kM>4WԂV0%?L?[h,"Al8K錄M7ߠEäAƗDh,7:*1HKHzJ8II04A_Jv3q[jdaۇ #5dptdI f 2i .8d B!i82 m`Ȕp 6K>h6m  ÄϨ8UuԢ醃مL0M (T=E ArLՐja:4;@ 2t୐qT Ldh=}}EUx%}q~R$*f&_9nDac$>oq sQQTQad0zzcU$W%ᆝd0ۂ/8a|$ߡvUGߩ&̓J_ Ϋ:y#jʨޚ 6 +con頟Ol 4^:N ĽVEZnaFbWKiP~&םA[X[iP^_D.PbUG]u!)O_(XZ_k !0 I&PkZ:@k_֗eZtfh4?TukS} i]Ku`^4RJBEk. +S/% ղO8ejbޝgP*z)/ +}Bz"%fFus"qx M RRm/%FiW_Tf/ }%sRNyh?՝8͇zMhiW3"_U_X5KW򎡩4~J3Pg0|9ֵZM'TSJID_ggoey@iKq8 Mұm gJ@@*xJ:5pUC>]/WeoS=t+WΣ +8.t6ش &VAD-qXmS Q~>(H_G@J|䅐qJ/Ί浯_8B5ؠ) I_z^B%J}B[u5ֿgTHQ8ApD|AcG,_AE݄S# R h_wa"%$MDB.ӯDK_%n'B\3_-U6M_$%B$+3B(@|O>uQA_ :uu_ G<Ok$Aà-jrIMbO 0UFjjouCIa*|%0pm\YAJt ~W2J%VP}c %ϣ> 3 8ASE("?O_A+]š,l㯗 ( ZBT![[SIN#BBD_T_߅UE;@Ko/uK}+t_N],B*Aqio=j$*K5XڄfB_\] KIE?XB^ΟO\g@UށBg [sTE}iLB c#Go۟^߫iQ =/נ]{ 8)ь^Mו +P0mG/3@Aߤ5k_~f/3?KԒ+i|P ZKԒI/L0J tŠ~k;JҏPBLׄ_ҤK.PK I%%@Y.}9ģ +6fX*Dx_⿫iep8O'(;Iq~_IǤq-?eiRah'SL^MMmq&*tn^ Vi_fW +oKaW_Ѡ?0O`rookA?U~Io/K&v ,0܌ KտJΤAl7$~/"Al7:MxA L|';/A$Xl?-L?K*D"_ERo Âci$?Bh$Q%Nւ=%`$$ nA:~A􎟤:N~O(A7` 0MA|#RP~`1H1#!i- +BO;v!PL!*"C`1A0DDDPB""""""""1n*c"dB(DY04BEQph qNqMC eaZlsa%}R5|,>u8 :o8Y<:"G(_UjzuEqfjz΅>OCDo_Kcz_@*P /a =S>+\Da/_kn'#>_bOޘA |A:ҜF6*|Iˠ_XBKDS +lc :aNI *0>?A 3I)*_R &iOfU'04ð. URP 4|yA-Ia^ |4Dpca؆) !j#L!T Q7`AL5D)\3DNUQו0; Tw~aL֑I\3d5Zl(l8l +pd 6DkAVIr2;LFݕi8D]a`kBF!1laV֘t*ã Pmy6ŕue-+<;#"*kt Cmi8TSF[000d*p/MJ +둌dk|$dA O2ؠq m.D^-m!:l# Aj( S+V8#Ol sJ<,~{iVlQe; a?иP#F9! 0OH6_׶vN΃4`QZbjUȐg TIfC ?6aIү~/AuŹħUTPV%ᆂOH_]7]sY(Jy$tRäx&BS#a镰^EsINW*Ukh_SEVAY'iK ?HK@AĽ~qd*+yi,%HNPoX񥷔K6UsP%Si*pUG/ Ч&~cfFD9zQ~} +E!}iWNRN+'ipvQk6,9(뜅kA/0/*"? X5/ZS_O=u$F"}wuH"Y ?rq?>Ki'UOȢQ&׵ޓO4Aez~j~ j"`)$eU_][E.^?gץߥ(Ü[#mP/m _#k~?_W^ʛ]zEB/a.Iho|Kt_m/oOϪ޹/iD ?qiQ_K5!봾<)W"t|,G^j.ҜRA>iB#߄=Eo:[0yxJvkPd>z 6XA6Ϥ0ߥ>0VL+JKG/]_a--Gm&Ȁx!껫/?Z]{}b&_n(/.Vɡ:#ouP"?t?Wuu G@P_붫 ]}omt_e--uua m^____Լ"?]}_a}}%V8F{_[}m/"=m_\9nmvI 0ȚGgWK]Wz]wNN~>B]$#PҾhd-zڷ졇۪+I>׵aK/iZS8z_N>E;gBvo("khr dMk֗ 鴽/.xZm$Dtt# KjA 9}`I*I7^HR0KG=Ac &&QPoHjfi-s MD#Ctc_AZt!6D ÿpH-VM2im?+B?K- #}04 ҷ`gXa}~66cJDvV4%A KkE z[ m $ׄAbiMZXAI0L:_!IW"nGIZMtvdE*v:H KA6~/H0ItW0 ֓ &>IaZ%B>B VIHO(I5H֒R.6(+XAⲓ: *0qBHyrCHH "(A1An@! T!8A 0 g U`&A!A:h BM4&A0`cH.#DA1t ' BH5 -`g C^AgACiꙅC`lՄ5*& 0l8P6ùn6C% VmD;@RV1=VÌNQ ;mi8FI `%(TՔOË_ 8@O3_ t$je `mfm.ͯHD/YoX<47皴_szUO34J6DŽFG)EsZ^$}Y\t~,jDi{[^+HGDisj:5_N,ʨ`ӏ?H +i!cl 3xv$jߚ[2T:_A.f +Lek,"4_)EG88ꪊI$ Ȗg^>?Q꽕>m47򄧒GE!7D*IGƺB`'(M:AH$_KHjvmi?WE^yK&qN~4#0؅|4K4Y޺ƒ_l0<2*E|eD=1-?Po"  H%ITj^.ҵjS4Ra8KЧ/#BPu/ڪᲆ>.!)V(I&Yw$Z3S.!B@jF//| G4?$ -9y~o].m.,8l:iWg:I<_H_NH0Ճ\L$A%Պ gNqQI#5. $a*AܺOϧ#KJ?4xaZ귪WJ|>$n_G]UG Ђ?Iqa47c_+C_xmtkZE)k&}tazN|yAֹiKV3 B,%/n DFw>O#bfQ|4KKnM]/Z^aW81a֖z_?VQJ/=< yΨx/:KzK&ti'I%W*o:_?P=?]fK=}M*?>$"mRxA?kϧ#&şHo: כ~zK AN8D{%^L]W(z_y?\K I<">}]c_ovo ?BDWָ@p/KIxA& ,Ry/il?Gj VZ +]xV&վ 鴼r@$wIx@[ _M#-- gK=I-/x_!ktJ6/q9$oƷ6JOB$j5pm~b#:[sCJSU΋9΋~I!j_ւFBKxs#Lnp%^׋+DKn^P5KoaK gXA~{/-k[__ D{m?a_XA~H. .X8j+~>BR5Cމuϭ?KKKm[|Kl"<-~ ťk0,FE;JҜ60'I/aAVBjt ZI-+jZ>z GAi캞) Kl $ K! i$7K/AiX/KK$KޗKRL?KKkKiqI +1 0KTmI *$/qA\%9BEN4ja?A k~?=#4 rJaE+IB'aH^}B0/dP{Q cMq jRQ; Ȋ RAN@j W0tH4k&DH9 X 0 :&쥺A B'X(& zd զ+A B&YkPA h1AH jhG_BA ( p@2A=0XJ[DJr) Bg,H5U &!AU5X" P #!DjDƨB4-B"""(e""""""""#`|MTԷA)[ < +ӹSVmXt0 4krӗ A@sL[SZL8ˌgPh_#Ȍ}{ 8!# 8ac$8mE=I5P\6V)P/&0:齶 amtΫ[Wjkk^~ ]~{^k$S_ jo/ws>TO?[SFH/6 +_^PךHSä8AB5xʨZ'uDGE_EX}=GX#0؅kjH,"9UE"9U_/KнjKK/_5s+S,Gp L(EPU) +y_ZjᲪ8KMj#@LFzM`6PëQl:EZ6d +}B#`T^ .(!8Ӕ><+)u=Tt"^VaɅC*:U9)~]z]'u7C+9EK}&;(]K_o?+eSO{Dt5w_/6yxTI}UgqUo +>-?Wς6~?S;X?53B&a3B&z[E^Vql/B=iԖE٩-I~R\?0˯_o D<]v^8g$+CӭXA:gEvX^DKAOC]j)z#@DK_﷥m/ =h%kKW[ G_tx D*ϤKoB5ez0 k ,6T!Քh5x{y0oa%׵A:{}xA~IKتYAoĺ_a䟞^?/g_{/j6"~/qUwuB#mKmnGyA0":qtKU_֡ւ%ޚ[a/vTAe@ t}G ΋/^Kn^:_ ߌ<] /%lx-kUD{mm~_i~hmmtJ.3@~z]7_z]A^#Kh$mվ?)]0_zk#CӠ.._u[]҂/NҴ?մW:&k>?im }%az\2;kV{ (XkI7נYմȞHŤ_ sXjj o5ޗ;LV5L42M_Mҷl+,v `+ ?Gw]-I}zX$ &0Ҭ']/A7i."Mz H"itm& t AC$߿?[_XA^t - 4 0}%#A?cL? ~HO1h$X - &M^( "I|FvÂ"&l/aRǝ)^S.IH` ikA B0 W8A0t;B 0& q'6u}yA>A42" V&T&4a-'PĿAҪ  `(/[m: > + t  aPv0 ~`A^a,k8k1a G'֐A1tЂ,`=0Ah6 kČ 4 a0#*AkkKT,&0X(! )DjZZ PCPhR `"(u0E""1s4[iID^UQוFd YSDvVY؈;-;aryHEaøfkM5 0l0!EZ"jQ3 gM2tjE:*QW"Xap@R) #&h3.FPp\(DiϨ65aaϨ8m†A ػ'a "A2U F>Al7s "~zeϠPV3Y/CtkiŚR&6|_F[1p0d*yaa۞a_ORejbE8*:E&B?_szU7LI}=^?׶i&_aL/_mi%Y6 }moV&wU%_o_L2_sNWN/++H_|f ?)Jcci "TH?5-"Ui:en|mIDNHX~?W6!gZUinoI1ҏ_#Qaa)lWeW- 5s+S,%QAn,mPTv( +6Ğxb- !3D d1342 ( R .(! /)*Ҟ;P̩WeO>6Kob~ʬr_aV K+>"*)?9׏]'m7CiAjIl|-{["KRȒTZ , ~j][E'~SzK9z&VΫ뺿ϣE^~Ws!`ִl5r#u(OI}_9{*nu _=/ep-hiW̐Al0U_i{ߥ}V_K5!.Y?ZsK ?ȝ_|=z_Nk*]ml)DIio4 *HMkAs. ++_Y4zaP?? jIOşI+&SvCZ۞aAސ~Nyj_ K_ƶȀx!rjpVokAV.)*z{ ][߯~~oK80VKmb?쭺Z]|q O=SyKoEU@KXh_]Av~}3Z׺]|-|$f#ZKI_Ww(S:/M__Լ"?mBeTۯp+[u|F]Bobo ״} s祺K' Z GUYUw/47F"{Ks?]e -oC5_(aC[qv m~:__;u]5)V+G{+XC ]C ش_\"!{t|Z\2;Z%\*d_zb-NjL;4A-dvkƿۤNqYմ_I{sAu;EpWACF,lX 72zIH׉_e HkA8&QPoHjfi-I!:b ̡xA&fKH7 Km!6D ÿpH-Mz[ +`+ P~OGwA^'I7l464ck4X`7MbA`: U-66cJDv%jނ_A!7[H7D2_ 7 EI"Amb$h,h&oKiq&/aA$ڏ /A0/ R^m& -maI野0EPM^( aM(K| |B_ a/ m$:+xAi14H^ d@jM>$J@B`piƓ & ]&2(2|VR`Ǡ TNADPbj58@a<1C„ 4;Y2Ba8b1S>Z@-@DhN1H&ih٪xk TLc`@2 / 6o_@h >} b OL&A0 0IT,/A jL&+ x'axA."A0RAe5#CH!4""T6X.CA"dB"4"""""4""""1ilZ*W$*帾JQUƼfF&@C*ԊM2UHWfQRQ9A%ʢaei029;0p03 Za$"_LX6 )il6+80mV$* 4 : 6B#Ha$>gACh;*ҰTϨ6zA@P0l7mP?Mh+]o"~zeϠUޜ:@*Vu: a&g6戌_`elOËk' t$je0GeSd5-57#jUo4{\4T[E:@=$$tP GK!B@jI_G_VM~DkUsQ\RF_G&_Ei?&}~I 'mȘ6]ʞ}w.I6u ?8ND{*?썢HFuEp> D 9!/ᇪ4/'_ ҿKO0S?U- :/KPPK?) AGE~iEDI+q(A?Fa7VZ/ yH V_jl2$洒PaJ_0v+e?1~: }-,`g &/Af!8kcIV}goTZXaWGtIDxRDB ve!_K ?G]bMH6{7ia) *ЎZEpQ_5HWKaFRϤ{_il4 +şN_6lNV0oyEL*4knzL캋%1#t(=Wu\c:~U|^D^:wKa K6xH&PiwA -,Ng`KoY65NA ~BDce:4_~ ?gֻ\ eAU"MQl4Q6A%l[iC?N6(h]a_eTe(j8m,tKKm#(@˝_$KuKn[!/Az[^, -"zƾD ?ֲ_%钕$]qm/4km/-k[_-Qߤ[[z_Iv@IwNZz]AT$ZKWiڷ_Kq3VJ;u]_o #O\"iN:[_P8Kv:K #m/Ku_hIm2;s_o^"^]kze[KhskH/8մ$X Wma?AkNeK[_ I -imV1I0_8;LV5[yc_ tUK71iKol+Ɩ_ _Z_Pza,0iimJƃIzXz?zz_ށ[iR[Ma#-/AiX/|/(#;_Ih,iBXoM &MbL4?Az>HQq_A7-%Al&M`n?~8 /!:+@> $ï8A7nDK =z ` &uZKOLGO8 Dy-y+^N%͆KB2$D0c _&A6AեGIސADPNA!Sb@ X E<1M`J\B  A  4[A1X> d"p$$!5֖!`BAjp᠂` X&pɉ2r& %PǦpA Bh2 JаC ,XMA A8᠂ a!1@DRI0 +aPa5Ў"PB¡F0F"!DDE D""(!)DDDhb""?*6 Ks;DV(g`YX;wU #R;v>DG(Ue 6  ȒÆJT6L8w ԍjF"a21u$L(a0aV֘ptlZp4HL[>[`2^l8uua8ݵ=78$D;@(o7P_&#~\3vq Y~Q*ޕ%I~^W[yzDM C};/_iR_(3px]Xd릍_uQnq)U/؇i?򄧒GE =e H5Ju3|<:%ZUinoI3bmtGb[u?WBe 7:1@UB{=kyЧ,9NѪC0UMj9X^DUsP%S~i^I젆G4?5( RLG_>k^FGIB?_A_AjM7C*Pg^}>#ZPD~/i?۴#a +9/s/0 5UD~lf4H4 7Itۮ"W-/K_X8KBm#u__su8"4j]cׄKoo:Z >e i4R&ϥ/$xA{5}/oHktAZZ~[s6_z}xAci~-/oiEN~A\|zIzGu~3u>:D|_kV6vT? o9㍿|$f#ZKI ]߯gEwK_zU?_uԼ"?]~^U~ H1ii7ii _eEK%} ]!KAVKۅsK־Mp??_z[j??>մ]kZ+Jsx]TG޵EU~A/.iz_l/ h'J1/uuH/wYմ$j(Uc A/ߤ9 &K&AI+ ߎ#zI/L V Ctc_ޓR@TXC{ +T0K`_-oAX N h K X-eR& 6oF_f- h-]&IBä0L:_萒}.aa# WK" @ 0M_ZIisYc '$ I5H։\ t]H$t' Pj0PLi`k t5d id@?+ʴv ~D +aPt  Zbi iW A!+^+ h Me`L,% &UB@!5Bj5֐B#CH!FB8BB# BDQMDGcDk*|r"VK/].KtDKG +endstream +endobj +37 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕjr\Cl{ +endstream +endobj +38 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +39 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 17094/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 tBDApJG#k +>GzH6l$\6S8$J-6~ (Ԙ} @t \ȤFKkCD׋9hW%U[ |E__8%5?vM.Cׯ?o6Yֿ_?׿xA/$Zli?PuXBni%ǥhnKM8 xbPح&+mJaiqZW-KAz3 /Jkҽ{VY=~!*I:'_–/)辰%^a$~u +Tta!G/-*_ᦄGH0RZOOT#װvC_$ zi t?&~Z}m* 0  aH $qHBM@!o@ f6ͳl6ͳl6ͳl6ͳl6ͳl6 ˳"JC9r.Eȹ"\r.Eȹ"\r.Eȹ"\{,7$RX+B#] ptGWPfE! ]juPqqʽ!7, ;0kط۩!o,">L"8'Љa[p#\lr9F(H>0@w#cE߷GD#Xn_ uFDt]"bEՎ3n83m3lAs1?90;<ꏣ+˲˂P]GK IQ}Gw]( D5_{LZGҡW ɗ{opߞG)хڮ^6z\=W3L3A"ǽGEq߮4(U Bj!B1)zZME,$}Tqpޅz,xr1c[H![* բ`vj.-KCxbXvŦRug|GTIQqDDEGc۫esD":!>U0ݵϢB" )fM@"b#a0h46";G􂋂 CP ,jx uG}G}G}G}G}G\"C"mh4 Ah4 Ah4 5Pd2B6֋4]#pN 8'pN 1pN 8'DDDDDDDX!K$}q__ߖZ>CHG$GJ4Ee)! /chQ! +^pɏ n!"xTCCzTo- [Sߣj+V1|[,r }E\04CCF<Ɠ&;8$c bCEa!ŋ߄yZaI"]OOՂ)t}//&"4#S>$׳Џq>4e:h&RY}G}G}G}G}G}G}G}G}G}G}G}I}G}G}G}G}G}G}G}G}G}G}G}\Z{4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG DDCW9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9c +9 o@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@60U|}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Xd$|6 B""""""""""""""""""""""""""""""""""""""""""""""""8DGЍ/׽/׽/׽/h!{륥r?ir>#iDGE-KDDDDDlx}.[GE!D8sT~0c 1lEt=m'KH5Nf_ DtajGx"}G#RRRԗA*KYv'Tpm]UւGR9]Q(}GYeG/o\ eqϯ(xmU#*ZMu2,%K HNPs#i,Ȳ貐Dxp186ͱDr1`r1"쮔ZЈ$ܼBe Du!`Rc E9CϣD#}^P9cC"x}qeȹ.ےa h M.Dm`"9G![",}DX&3I>X"萏ꏣ:>fqeG!4 j@X}!f3RCBG$.r7& VL%YvXv]C+EHGfҸK Ή"nH3pnCGq#oGHB)qT~G#8 Zw[kPXj +M"(i[OQ"y\ .#Ϯn}Y gYIs0a0GÑ>G}Q}G}D}GTF0`#A|LzE>8;&8DDDDDDDDD?aDDHaawҠTտТl<` zYg}* +R܄z6͙r#aEByyZQc4hQY,69,6#>#>G}G#٘3`4vG0GdqG3:G1"GK(t#1G}Gih3l00B"- N"""> aP6I +ժ"""""""""""""""A`rxDDiux b ' +};(y$yIab9)qCC 5#r +#rPN 8'}PHCBDsE;  ÉF9cF9cF9cF9ph20 !Dv9r9#Gu vtF9c(wԎŜAH>ڣiR8'o#>>>ꏢG}QለƬqhDn|h0AAb""""""""""""?tлM t{2 ^6Ք#+*8UPG3gyT#qB1)'Ub׶bEXኺ.I>uH}T yxW#k Ԋ9 F9#> +Ghq:"<]Ŷ8F+򬓓V~;qdV:>P]B7[q!;bbBnpqBꈮ(o幪>⑎G0dH%2\" ؅S#'I IP &. ?x%gDC#$Ɏf<#q(6(RW&>>>>>>>>>>>ꏣ>>>>>>>>>>>>"""""""""""""""""""""""""""""""""""""""""""""""">_H#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#/1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1DDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDFt}G}G}G}G}G}G}G}G}G}G}G}GF}G}G}G}G}G}G}G}G}G}G}G}GcѵF>>"">6L)DGlmr$C:@|DQgDx#}+uVB#>4"=_-2XPb1kj/=vKOEBl>Bb!{u-:a#0|!e1ȣȍ*C)1!k%c +bҴ h눋p+9iLvuH(Uw KLͤLy* XJ,KqZe=%jP8H菮6(qB7*.l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳmmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm/i RpЈhDDDDDDDDDDDDDDDDDDDDDDDDCGIؑG0Jr1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1lS"""""""""""""""""""""""""""""""""""""""""""""""" 4}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}rr1\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|1вrO hDDF#hB7FioXK#T}:UDDDlWFD}:B#J:# ID}GUE-X9b;6a!1AfeTB[ )m];iTrNI {G @UӜTq a=YG&9c6FL Ph0OAG08X""-Zo"4D7E`-/QW[@\H'y6tGғ19\ ǟYN!YD#UADD01 +>8OT.J#AwWk@* +f3s0f qk9FAڲ !a^SFmM">0h=GqAB>"1B#Nʠ4Rtv۹ +%ʜ6s#%lduVlr80<ԑ:&]&H:ꎍ@|6.9رuG>B9!%fQ h 1DjGYHHG!G>Gx0a /e3#ԯ/!]+VDDDDDDDDD 0Gjx␯N)q<\pl6:]ީy!߶UtMf\wn#48T,rPHrQ.-/j%T}GTuGr6f !`rP^ GT}WXKv ħ0[!q%4$hDEb6 G* \r1$9 $F>J a֛DDRx8mu;jSApN 8'.˲/ )ܸ.{'d%Nqd>4 hl6`V Јϣ>ꏢGT}GTuGUB$CE69acb\qhv|DDDDDDDDDDDDGqm""}qlh64>uޕ|?2@GE";3@MYPAũsjA|beQ"*"1cQ$ q +|{ %mkZH(3E[6n}^Bʰ#gDCc D~aL.>0ha@O:/7qo}B#pr(o Ib#Adr1Al0Ps䉏ď1PhDm "Ŏ,F8LlG|X:ƃ|LG-9'$$ #Ɵ"G a4 <By4#t}Ka. ' њDc!YЈ.\h8Ɓ&Є1q/Qd n+MZa&AƈQ/́H5yPDxԐ":.HvmH莃 :c>#AѢ<#Q|P7K]2$3lͳl҅Sa9r9-DCYJ#x"8Ɏ!>a (H(8SM|:eHkEA@ɨA1 c)9cF=iA0Dρaa`RLցH56 `UDDDCB>Z؈,}D}G}}DuG}WDDDqDDG5K}K}K}K}K}K}K 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 6f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0=DDDDDDDDDDDDDDDDDDDDDDDGev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]dcev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]xB"""""""""""""""""""""""!6k66okL)GJ!񮍢 +G }Q !YEB'| DcɎ$c_B,V~z6&G|PB[ /0O %6WEJZ|Ɠ&961bF;<"FPDƸaݒ;8^dqnj1C7pa8|moMH-0>Evc#[VFbšz^&,\,E$;": Rj K)D՘FiS!6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl68j a"!!U 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8`?J1bF8ĂD3,h2jW)CDXA#Di~~~~A 3)}]-/E{hA*]r"%!H#D)DmUT}/DNDOb#Z#HꏣJbDL:gTMS4>׊bN$_:n#dqOp!\^N'=Da]21A9h'nP~4})Ω*%ʎQDD4 ͬl'<(*J\vˡprr4?[({n6I Pne᜖ne%+>r9E?  a:-0EZ䤋-Hئt`DDFC!} =$}BDhs ("dtymzT䂃W +P HAa4 ;D3GOY{ͣqf(~CGQ:,H287'6G.\Z\OGXj D[b">cBC >ERJ,.9"v^IGqB" %q j,@VA sL,~y D)}i=5^#f@ {xĢ(B$c_B!! V"q JLo K~XX)dp/z~6քC$,ApH{'ܔrqã +:*&l09(OGͯ6y!1p $,qĎG@l:UB"Cd쩔##{ғrqDAFqDcXRli"8gDա$8)Φ">PB$PF#GB#>ꏣꏣ:ꏣ>ꎑ٘0H(rP^xxC({ǭV10AhGi/Бu_{BQnU2x4؈K8'DrC!8V`rz6ͳf\r?,p0J#ꏣ?:/6)cLr7G}G}GGgr90f !ӑF9P9 J ٰiϢ4")؞M1؃#bj3,Ah4 A00.28@ !hDDDDD2v0DDDDXM*ұa*;C x6AlԤV:t +Al;HġZy>AܘӚה/ΌA9$9<F9`rNJ 8'a >8 B#pNpN Z1(2.˲.˲A˳a g hDDDGi;]ƈX"qV!k$?P\?y7ǣ3]VGE?6J!>>>>B!>>E_I[D|2AWH~b"""""""""""#"$u=K"$P-njw6uU%[z$(F##*XHwFJHx qbJ +XG%(nΦ'Ǐ[~#}kK}tCN}VtNyY:SK6>ΉV!!R|AzեKD4!E}ކ: +T4G#uP身q"B 6Gם:768)vaqd\ ھ񨈽['UG +c0v` Q HuLQŞIYFZ,}]lPAZX IU.U']@)r Ϫ6Hr #H6S͇#:dw!^ya⿌rclGw)=ă6 !!C !8F*jn1;| )G(B:e" ""8{-BV}GT}J|DDq5K}K}K}K}K}K}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}GC""""""""""""""""""""""""""""""""""""""""""""""""#{>>>>>>>>>>>>>>>>>>>>>>>>>B""""""""""""""""""""""""""""""""""""""""""""""""?#ٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٷT"""""""""""""""""""""""""""""""""""""""""""""""""#fpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%e8'pN 8'pN 8'pN 8'pN 8'pN 8'pNDDDDDDDDDDDDDDDDDDDDDDDDFYN>>>>>>>>>>>>>>>>>>>>>>>>""""""""""""""""""""""""66ok66GGUDDyi!]KMPDehDg"|x1VpKXq:FYd"B"?n8/_FGIߍ~G⁈?zz6!F#lC}y(^Zj? +Fi Ү;GbYiri1p A#b"۠w_$9 +V##b1xhA mO!cYC6ͳaE4&Q@"wE)W`ۆv /Lꡂ :c1w rțroɐqK2,Yff 3`0f 3`0f 3`0f 3`0f 3`0f 3`0`3`0f 3`0f 3`0f 3`0f 3`0f 3`0f ,DDDDDDDDDDDDDDDDDDDDDDDDhDDDDDDDDDDDDDDDDDDDDDDDEXX-˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲w/׽/h!{hӥZ-%_}߿eJʖ/؊ _A{,j/H}TZ=c+HrFk8e4iCK,@Yꏣ!H%;}Q#>R}IqDDlDP6TНX$72r;hGC6jh)#=g#Ie9>'XC ab$R'b#!vDDkwHBES:F5~Zd]TqG!`y.Ph>UFp",rq#n!><.#466mB)bȰN/LlFc azlF"DXB$q: x*l6'Mt fs*G2Dˌ +#"A9!UG3: "::T2Sʎ+,G*>hb""njTTUЋ-Y!2ŋyE|HPT.CE 4-ɐM~EٶmfU*0 5٩r$pN 8$$FA^W!`D4#-}Q}uG !!XG!!bG~*Ga +Ƙ]OWk xo*-xi +01!]ITlM}^{> #>s<NP>甇t!pN͛!t}Gdhr ""#4f>h;AA:lchE)1Шh0DD{-_~""B"1"-&Rmf\1]U'ex_-lˁ.g}A<@r INtR9cVA^y"H8>GGT}GD":# @Љ/ #1cG ?""""""'֙mB""A\rVnDvVLk`ȑ(Va#*gٗ2s >[I*mR6ͳf`.28 3lzr9YG"}gD4}&yPꏣ>dq^tJGD"hDD\Dr1k@r1 r1<vl? :>0"!"b=FfDDDDDGfwyZÍFT#bGC ܓ4:TJfmfafYv]ev]exl7yMW16#>wgӞP$># + Ea8&WP>92cF: Ah4hG>> l61A1DJǑ##7T7X J=/b#ňB pAX>=BLx"YuDɎaX b Am,cc Q=?ڰFn#j6hz!#r1yKMM$m.N15҂);:##'abP=0aqz6>""tq]"*I~?zuo%u{K":lCw՜_GUGRc""x_"č[0 +**82r^֞?Dt.#z>EEvH _4G}~GGU80@-N}Hf8>>"#8E1*#']1#DrNI8KTWߺXRR"!gFHR<6M!gE:h5qG0 cB#YA~SݤGfٷ~f0dq~*BFS}XGmG">ţDC#:@rG}qĄB}X!dq*Lj)cF"#Ċ䜓rC.4ZB"N wI x.˿Dni52 a<dcU(r1( + fRxl6#i4˳ak1HXqB$C(0 P'zLW^=4 0FHni&4tf 3͢G9!Gj' 09cΩyGbЈDG#:ajD8B1DG"DDg""?{_{_{_{_{_{_8>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGwmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm~"""""""""""""""""""""""""""""""""""""""""""""""""*pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'"""""""""""""""""""""""""""""""""""""""""""""""""?\".C 5-zIм_9 :k_KNW#@a&|0 ` /@0ON<#ƈURn[*M`oץ \o￿KJm- ( +endstream +endobj +40 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕjr\C| +endstream +endobj +41 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +42 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 24193/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?i$TAiYC^{(`֕7"=HVl um-Wk׷7/`UIkp_'Mp6BzZ?/ׅ_+]/K/N YHhҴqi7K_֖B_mqKK֒AV___㥷 H0KWkI+I +^Wי-}jP{ZI^Ϋo,$֞:/nzD"[]a&M~z^]BC%?/]$ax/%Kfn%io%KJi/H0RZOOT#I$װvC] ; %-LiA$ÆJ4 ,00@@? $qHBM@!o@ Ef`0f 3`0f 3`0f #hDDDDDDDDDDEe4 ijRmfٶmfٶmfٶmfٶmfٶl4B! ЈW1AK,ϩf+\ՇI.4UF-!Är3H#>Cpn+&.?I4r%I>B>4T#B"0oɺMm0#l*>c +bt[a*nC0};ÈE +X2nJ q"-b6Kw>0LP-H'GFG r1op[}]9B#Qؒ|oeoUYcϣ΍5Q b-Wb]{ͭ Ny{{#-7_ތfސB$ѴFZcҌ{p]$9;'Ψ>CB#J}X)鶮R\#k 8cYuG WRpW;Ď<":.E1VWp/s6=UïVz8T_O W^Jl;$߭DJ8cءZM"]j.CAMKWLBHF#Hx! Zkdx"":Lp\[aiW)m5V6FB'3Y}(s툲,DCձomi[#c6[Xal IGձHF05+ʒ^Q )؈"h0Aaϣ! DȔ8 v]ev]ev]r.˲.˲.YXHraDC.˲.˲.˲.˲.˲.˲!"""""#nYhl":B} !K%."'T}ye:GE{pk 6Ͳ <$8f" hq6E'%Gq qc\@Xcߎ b* ,.˵/F:_,y F,AG}_,y6 +D#"4A."F}9|Dx"3YAlf#i3`+8G?L8 aG;""'ψU~d$^ (e|:#8":$:82IGaYY#!'m1;cb8ЈBA!ݨz 2>m~Y&KS,t6>h"0:>>`܎29\xTQC!xIQkDDDjzq*>'#ꏣ::3(b,c(ud"=c DDDDPfX0zB"iRs=g!`uC.ͣ#GY! Dt]G#"!F80EFg$<Qz6e\aYB#c(C}hW2$BDl""#<x0N׋f p͇pktE#ٗ>MѹtuV~@xl6fa˫< GT}}G0Dp<0\Ǒ|2p$lDD1#01`rNa ÇJ!n7^DDDDDTA(q9;-- sGGՑ>># r #i DiQ@|t +"!t##$8 J'fp!waYE}D/j*+V!AH&䍂Dy6 +YAԎϠ[Ҡ|I{,pD ZqK ۏfYA!V$ꇋҨ~NoD+8?ͤP9YśH=6OByT!,q#AHlx#{#GCR +;mDRx{IUxIoɰRΩ]@:Cp5Fg]UmuNG\qxC*"68:hVfGDDDx' 1b a}BI0SG`v˯!l8:6gY8\ $H'_ǏI9'$cV,5ғS +CVm618)+TCYDO48C0EG?& +,#|*ggggggG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq/EYfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳlۡDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG|pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'(rnG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G՟G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDaj>4DuG`q ǡ!L7l0&G@Dc$>n lX#'~B":0A.m"CnA!xATX Q < +9CPCb-_=ܱX~׳N,4}1<}PDu.:Zvq~(tE|0ҮZ@E\Y1b,Ц<1[a ReF;<8##I /-P$F2U +}.}/TI{:(FHЄ?[i%>>j *= NP>#hTB.(X\>><qmc캐P?N1?[]`W@˄"눈"#H|QtGL,uXc}Z[Q_WZ~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}4qG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqɽ#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9lr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G3ܛ(>z=D~Zt^}/I_/ygסxJ|_I^aU|F֖ }z_ "c*X/0 +CYB#A|DBdsTKYB$CLW|aB"PB:D":>,Hq=#C\Yc U3P6Zr;˥"A:s>ϫFp"?o$G,"8c>&H" QGz6 xD1z2\q"F9!.Hh5-;&Pkrl ,ԹCi3ͮ#$}Gf`n9 J:#8v]hOa? +hD}Qz93`˂c'rvnh} 6  `CD\DH!=/G =zZ X.ôtqW ($3Cr)>Ay]Y!! rPN ay^WyA +f>#ЏGL&. l8[%x""""#~ߪߓ` 8hDh62?bF?01|hp}b$_+בB9 ";soC  DDj6+OWu *ɰR|{yuY}HHrB;`0K-:q!~l3cƖp_q[$9Y3YPhNPCϣꏣˈ{PB".""'ЈDDG _ _ _ _ _ _ϣ>>>>>>>>>>>>>>>:>>>>>>>>>>>>>>>."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""CǏK#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9VypDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP-8F9c$c}=,-\T}9}H6*qkp mF uG瓞Bm@DB.7~8%uCʌ#>":.XXIa[l5Kͩ1ј6$<hc\T.a(>Zq99 .,XQdžDs#8--U8ĄABb j@:av#H\S_jX"DPW+B=ZHDB$. CgT BH(iKHrg=mK"!0@ŞG~8mGԐ +CB1gHFjZKlsp4CB,2 f> ,ܨY?00<-CD}}GB#>!B"""#kVQ * \bԛ..H .;_0k G-WE_-/g޷eXA8F[/y,tGGסGzwe +A;ZXKtGGB +7 eGq|vaCK,}AGס,w)ʐ6X:gQD>#!#Dl#;FҌz+/% utSh 9e VmN<C1C՞E͢^S!/V) q dXHBCH;(ItLG,A`Sϭr!dPDtPaG_EGr7 C@0Cձ 5lmKUVjV>Yрo"93JY@kGyOGA%G,Z_tDx"J^Y4 U~dfrlC)d5˳a(+>qu3aGT}QHlh3#UهCش,Ä#E"}vCb %Z +sHqpHk}9pYP]rq>&"EC"Ywsʰ@񈸈ГHBAAm&^+I KnЪtU3^CGטG,~mW ⼤ꏢܡG}G9 JD" H!B# !| r0u #a4^qm}d` TDŽP"ͣGHGd4A|qKC(xPkA4*D|DGdhk!KqSIT*z̸*8OԐJ^9,y}Qv#H>D}G}f /Ob}4(!4)X""""#G¸V\ep,3CItۯ2F̸3cqȣF<><1'GaA\:F"A@cx/>"#346 |HJ} +8hDD;4ɰT`2pEO=fٳ.rB> (vC`pi4" xC4g#""F8ir nDG݂eϽF DF#)<J ;L 6^Hy\cqICf a""'TuG}Q}Qu\l8 .$tCQ6<DB ]Ba5☎" 7BO @tǢ:y!49p0b +%D!|~`pLAt8g(CeB$mY}+$}Y}GUgϠ)`2a|Kyza|Kyza|Kyza|Kyza|Kyza|Kyz}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}A:6vmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4,E ˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲!.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˼DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD͈zzzz!G}Di DIBO!L$p HvcyUb}7C#bzI#KRcA28m ﴛptX Q ?86z^k#__wN%>(xǦBo_d PDtb_l5K#cՈ~*#E_ %jg(y "Y1b,|1^w-]S,r1ħ#HcnuL&D1UG]_q +"F(I&=!컛wt>$ 3$8uA9G~%D/me.B#j}qRD$"?X"}"1F(X\><~뼘.W1鈡i% )HG{;rхeeЈ#E!}GXPb"""$) X{躷tyP _:~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}f}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE93ybZ'~S +~ϭS%b?Z<5zE:0;b#IoC"E)K: ]k<~WෂE:0(>&:c_dUK(_*>#ꏣ>DBg3-3!}Fe}Iq LBH 80=- pAC0f @>t{<<XV`mgepeeTlڸ1h[k#S`TKQ}Q}w\ec=rk`D`}UdBAFdG}aÅcxΩEEDv؈9|e-PBW]( 8}e|qC$LrPMLr +M5Y}yY5GBF9}o!łWq;FN8B>+Q$"#"0DCP'ѫ7n""6""""}!$>H}gP bTޕk?DmdJl4{\õCRs#Jͭ\>#1g(xˤLt#2Cq:&8"<`DA^8fSG IkShm2x4c%מI%;:3aYł)dxr9F3\!r1(pCNm+8CDDDZ#Haٸ!zXbB")vDi,үP͇6# x3J SbP|qcͥ6!6Lr + 8'6B#>$?X3Q["}gПGT}D WN?3DDDvuZ߿_rquy})}.E"8yCr'x@z*hoCF":bG-Ꝼ G[oϣ8ou98S HÈ6Eqo"""1dH z Oƈ>DFj$[M?lu u$8r cd$\ðE:0A XPŠ˲.˲v]c""""#M]pedWeyAEyZHV}V菣5[#HD\DDDZ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF^DpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'O,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF>~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGғs>>>>>>>>>>>>>>>>G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG }QBO1D#dh02nI9#pia `E3h 0ˢ1#Q!=-^HryFE$:6ĭhI ^v]'iXv7Ht$uG}x:GЋ]kXc_'#u&>a8]v߮G}qd*R|=:Pdqa>H?nbF8bHQ {"oqIn#qcňh!n6-Q]"Gqqb JvX!ō1OK$qfoCWW,tcQQT]O yj.?P >膏F?M21^P0c ""HpFr1#qI#y!#DDؤaf\0)c 0c˲,UDDDDD}<-EB#B> lPZ*\V,o6I#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""""""""""""""""""""""""""""""}hdr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G Gtb9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#B""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""B5@f7"?(~_[ߗ\|}*JMye2IQVNCtI/,"qO[ |"cE~^YE _Hj 唠y_Z@Ro&H&":"B"e}0ЈĄGT""""#DzalKe ,Eaw!yC"hӘD>GȄB#`}G}Ϥ(/"} a|BZ0bG9\0*"-ƒ}LoY`3ɿ,f}GT&90=]fH8cv^L WBꏣ!"")#pB,q/B*h1V"r1!~qhDAlI+ ePɝx6mfoS #lg(v}YggT}wA! Po ,3l6Ŕؤ1ZZE@f{Q!-e8fI.AXw0 +K+ɎCmQ'8JGGUGUr>>&ʴEq!=A?6n6A >DD1|CA#b!cPАa\!BI蔵#%zv]`jI/Pꏩ<#qDC vTPk8k -‘QB#pvyGq'2컆]|D QlmvVDq1Dj.Gn]PMj{Ubl5|pN 8GT}GuGm9DFm]L#ȅGxEJLy}PGnh0BC7>84q>qa5.f f uHfB"7cZCŵ Xi",^|R @GcTHɿ.N 8'tuY(wvq$]y 3Vy21!qO}thfgqY>>ѰnG>RLjB}$>##"GDDmDB?:ӈ #9CqؐP; Qb#p"ՠk"""7q8c1J#^S!,B!z#$z6enaɿ/8Pz}ה#>VM9 C Y!B#:ln;pA84GX""#> U&{L6f ˌB$AD|2\ros6ͳlAbDx PZodP;HFk8"=ٵP#R6;>s>dc 8/ !}GW~Z_"1F(DTq;.˳`@X(Ln퍊f5)&[UTB~^җGѴgY"F;ɏӎA+D}vmxČb"7]Qs@^\R\)y$m$y>#WYz]Pj"k "I" US7㳪A}gaQ!L!Y}ZdttRCͣٶm` Qq#^WFEk?,Dl{vX_pKo<Xco:y0f !1 Y!N}gUC:.x"1DF#uAO$E9\q#^G$%H`e"'ߗ(v\Ѵ}"1Ԇ¿K>5c E2pN 7v"A م1C .4x]`Q߷D\l6y4c>>ɔ:8h:qMDDDDDDDDGhqLD{B"- +\G~_[ߗV7տ~M|o_~_[ߗV7վn9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#x^MG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}g}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GCGE}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Q\EuZ#%"lDNGH%_A0TAr]r% yLr1fօc-}4|y"CBDADcĕVF9b?@bLy&8"=$<>1B!8#Pq0ByCɒs +.~M<{Wl'ͣe+LÐP-O!,Hbdv=p0 t!GgH:"Z1@|6tt"l&>ZkL#WlA1WH']K6GZkɎΪ!GU(ADqk-t]p#XE|-_^}I(F"LB`^ afٶ hd 9Ql\bm|E'\>R3G7 qTQ#`c+P]e`D9x(^A>ꎨ.d㵫F{ǞV(ujMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmjMϛfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٳ0Ďͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl7b"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#Փ.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲. Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""?.mt}~R:KEXzM@Z}_GnږUT}.t.P{C}-"Z)jBqAR}W>YJYE +Gaw:ꎨ&"hR!Lp"8"""8A +Ad;!*E!&VHyOeXcԎ.}&##r<3G}Ye 2 @ SLЈ2)v"#1#c#!Gwk$SP2jqIA8Rd">!`v>G#^H\b1"!qZ<*284C_*نm$> +zFBw,Hl +#tmxđ}PR:#0aҲ #ra08".84&(hqE2AnHdd C߯XwwȬ3v[,>Z!SA!5P>H(B gZruGH#-#,AAq1q⸨"DDDH2dDkIkdͤK.u4ycAͥ0"GJGVB"mH`r >ǥMd"qЮ.CC65A rn>u)V[ވD[޽l\?UdwbKr*J HG E<ϫ<-Dgҙ*}Gz6 +EE{G#Gi8oH4KJ/m@n1)o`nmWKn?_+[(Dt]Gӝsʶ.CC#CE;If(a•G` !'`Ehh4͵*!x:,+F1&8#2 +GUh0B"$!DDGnN 9(kKx +:8.DDV']23`x9{-Ɣr14F8DtS'EAGF:LH!HaG}G09릙''s 6. cnJ˵hb#GA  a4XB#GlEUo␎"ŗ"\2X4_!,eYA6qI\ȅ"LͬPD|G 9#!'ꎫ'[>!v,xB"%CPH(M2vg ++cE3tj7*l+rp]ea(jHDVuHSh4.B';#K:! c")V"cQ\2whsq؏Qq C_HM9.EۃJ )34ÏB"/o";0y14G0!,q+GmT#6hNXGvP жд6,Ŷ'$9f 1B!#A+^ɏX bqLw3$ +ء \j5炄2*r>!G}#3Gmf"9a6qIuq:#q@HYcX5"Abf1)0]_:oAʲnS@9ޅC{L3q2q`PWc8uc8QxbF:""${RP&H"iL@P=?6Ԍr#tGTHW} > WqO>D3D铲.ˏ`ޗ]}~ޗ]}~ޗ]}~|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4WpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%ȺxːΣB>O&ߜZվ.m.I}]4I EpaEz\ M ]H@K/ }8cDBuZ<^[K/}/čOǂ +endstream +endobj +43 0 obj <>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕjr\C} +endstream +endobj +44 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +45 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 27803/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?I&Ҥ@: Mtߥf&3~Co$-pD{".?^,im}'V?]oWo_8%5o?$1ׯ?*/͖l-&]{I$Zli?PAai!73Z_> $ qZ8ztk-,k㎗+6omW /㤵U+I +^Wי_Q@^^vK RO֞:/nyh/K 0k ")z%Cx~JKꖕ/B#aҤ/E&zi$vKM[36H6I rhXaafaA!&  O` Yh8f 3`0f 3`0f 3aG"""""""""""( D]a0a FԳJ1% 4 +%ߣ<dv0b {=gq=g{=""""""""""$Fڡf x(#}D2l6 a/ al6 DDDDDq_r&ܴɮ?MQGuGDDDo%m-2k+ +8dT'AUDm,tatXc +>C#8,ɮ#9.4#s#ht/ց^=8vCL,@G+_vyD"хرcvMpȪD@2>UC#*087؆ r&D>8Lb 6}'ó.xzcoo|ɬRcE7?ZLLqQưUGɭ0E#RMFyC>`Pԗr d+-2&*Xvuqy(>iEDW bF;faF1eՎث\?Pu@4}G}G}G}G}G}G}G}G}G}G}G}G}G}G#>>>>>>>>>>>>>>%y{=g{=g{=g{=g{=g{=g{=gg{=g{=g{=g{=g{=g{=g{=g@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 r;L +YL-NYD|꛸T-0kn㥭/] -0kJ] å-LTj;ז5!֟;VVdDPRȖDux/+ꏢ}uD)G4GWlN"#2 8L&":Z-1 d +c焇֍3 /AWDr98Y,vB#<6>r9G#B#(v}Y},H_001Cf 06" Ň"bDoÈzw[Rj!30jf8'g>6R(r$''4CF?A$8jdhPaS? hA kh1Lp51cDmDp"EK<K]ZND3CLɯ,fD|-Ω9F0DtE9CDt]d4GG8M2nJ2qN nWMf9!B} "!"@MWA% na  J(y8ytGaQ}G)F"H<CYZG!ȎW>#EMp}_9rHhDGEYzF#9b:F8B:?.7&B%Dy$8oAHAY 3ҋK8!(wg3YvQ})Ts 3Q GF\>D0$=n)p"D4spE\Լ>> >uJ"c&l [ɱd` 1GY^gZy}n-5,r1pA!R$$">>ꎨ:ѳH X%5#bbpN 8"""""} ЈVV%JB=l!K$߭FٶlyȮR-2C#8ͬQ>q}9})CI\)Dk90 }GT}_vGP㊷89\DaDDu؈+Zջݿԣx LwK6ّ{>d Wen:+=f̸aҔ;8iQAcAZtm[Au~cF<>yǞABG#ꎨz9G#f`! F9(/ Х}n,dHcXxk]xM33m4 A aa$08F0">[K)*S Y%lPH*{]JC$J EJq`}2F >8wP $c,/D}9}^CGuFFA!kA\r1A8'a h>ꎨG~GlEFČq 4>]JGq˲.fal@ ֱ5qE"UpB""""""#]A VJѣCvPk3UOJPc:/aIORcM_<"4Gc8HX)9Ŵ"q2b4ew^17HC'hmQ_N4vkT 'v\Per@8p9ݚ*8A"Ǻ(s h2Ljhgwbz2k" [a@b1)8ZmtA6?u +=+k8s>t}Ny>GI@a"o<<P6mm#RTqLDTQ1xBDZB}P88q7 D!)L;SUH. @>a0V܆c"?3Gtf):"sAͣ<*4GwNWQ|X!Ub!;'bhA +B" +ͤ# w( cc1#b0"ڇЂ57VPG#9G*<%e&:#nDtr +GgDAv"-""X PиRD[C+pC4Gh B""#(34~GTB#GFGuG}GT}V}GT}GQ!븈DDDDDDDD}]5}~{i]]5}~{i]]5}~Av!#r9G#r9G#r9G#r9G#r9G#r9G#r9G#lr9G#r9G#r9G#r9G#r9G#r9G#r9G#؈˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲1˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˰PЈ4"""""""""""""""""""""""""""""yFD>>>>>>>>>>>>>><>>>>>>>>>>>>>>"""""""""""""""""""""""""""">ܴɮ?-2kr,G}}u\qMe +3ȁ28C fa& D#43_B!:[:Ca\!E)=Me1N &8B@;!ڎc-¾gA EM~GGuUt=+ q v!UTɬԘ슣k! hy5<ҮŜL9iHv"0.!A qT-+[tҖ5"D_ҥSΈ^>*"E FF?h@q$iIGi"P7M]SE-2! q+ի#ZQ:,#{"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}G>t"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'aq?E>>>>>>>>>>>>>>>>>>>>>>>>>>>>>˪"""""""""""""""""""""""""""""""""""""""""""""""""""""""""8ToL۸kKH.ql>>-0ktz\+- ]l>>zFqqTvh[^[[K$"GeJq)ADђL̃dB>G#!3y}Y!}G}Y}G}}h3%ySg% 'i !7$PDDqΩ! *it1Z*}EQ7OtI +CI/@XGFZ#G3w45qڏAA\q[cD>(lXqBB!׊MXa\C|~}) +䜓z#OOw^THP8 a@DF`DwꏣS$]SG8}GG4tPش8IZTlc#k&9+ : +#H>Wt^nIbfePN &hR +K[Azɺ6#h:>$4y:"cY +Gϣp9J,z>#XHA3lG:/VrdxA0B-A i TqSJ"""1'EQ +bm'KBDh̡VS6J yZ+EE$ pLr8JD+#60C,ڎ 鑎D3S"GmgAIuG# ,! 1#r1 B8,p@7 ~N8*!FDc!$DDv8(qb"8BؤxJɹ ܍~pmw$Z-v5BA5ɸ(es5@]eϣ>"6aN,a k8ShH#@􋙀r;>!8G٢ɾ0lЯ)]1!B"#88h4GG|OЋ⁄$䞝=F#"c-RW d fH3 J[ɏ +1h*&m,>#}H##iyHrO>m(sL"~q[#hAf֑]aGGT}GuGBF9}oqdlrcj 6ͱ~ EN"GBХqLDDDDDO0D8XDX`q"a&:ZBqV`*n:^۶ +`lyٚϤcMd#JA@*16(z:#H":@mxH#>Zeu}GTuF "4//EhD\LLEc,@PC1#gA"$0: =HDFBbW+f-dpg6}PAP]GWJWG.iH >+I{S +>(pD|`#izF#6h;GT}G}G٘3y9ܘHTEZ] `ib}E&  +"9v a0DHJ>zZ@()3DD&5dpN '#DDDDDwcVۿDDDDDHd +;4;3G)OHI*hIVtGԊ9䜓1D5NH mzDvA8GVfZ!!kA\r #A@cpN a hDD}Q\F، ׎LCB, `alHPN9%'"CG#r1## ]0DDDDDuoJVz]Xca\5؊BrMR{6Ͱ@ͳl@%zZNJ4ǐP<qr;#?a(0@7Vpc RM-gqCێ6R #28.;LR6A[!9fӐhFr9G}|GG[Rc>@jR>gTvh}b"8HDx]7SaXɎWz_- {=3IB[LꮈHi*:6h>„ 'P:!3$9ǟT]p[\GDqqv(qE##kxxBoWKI=< )YG@r96}/"k#tH@<3L#]O@ ׎x  iC qJՃ#>APR (d0Z\ G¦XR:dn瓃!M8'Zdr CGEGGn]*hU"7c٠)DhbPcN6 bDopCt)Ea0Gѩ4B##J_a}G<"Esl+SZ>wE!DDDDDhDE!B""#a w_AvZ`qa w_AvZ`qa w_ETMd6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6 6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳm"""""""""""""""""""""""""""""""""""""""""""""""""""""""""=K!xr9G#r9G#r9G#r9G#r9G#r9G#r9G#ᘎG#r9G#r9G#r9G#r9G#r9G#r9G#r9GDDDDDDDDDDDDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDa"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDG5Mq.Ze>:4n;5>4z"L!-2Ar4rHIHvqq Aln {D>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDm^Y>>>>>>>>>>>>>>>>>>>>>>>>>>>>咰9]s9v]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]~""""""""""""""""""""""""""""""""""""""""""""""""""""""""" yG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GYuWH_wiX"WqK5߮_aioK5֗H|}53:#-"h -D8u1ޗ&hX"c>WGxdh^w+$g|]<6RVq&y}&}&m~y> ݜ@>8ETYLvB8$"QT62B""8,RP{ +Aw]wA6ԨW ^|8ȃPD|6tcn AE##E@ƄrLrqꝳ +#l"lpN :ڑ7#{ B>EhK\x%ͪ\Z.DEAC B]\Zj +.#!_{ mQQ!&! ~ZUU#e +)$t}SH%>D}`1Y DPq D80gu8'62C#!t;"$$y0[,0ld.7$ 6Z]LũG}Yg}GM >A#,G 8D"ЊDGDDlLx2COB#ZQq~PcɸftO WUl0CF?Dd`3ipDtY"9R :#0";Hhꏪ@!q>a)s0f]# +HGȷ:>H##xP+cB#QB"M!1>0qB#d CI9',lrNIҍw{Rl]D\DCkBpN ƽpRm0+E_>(}GT1Q`r1}Rc1ѵ0 :$gGG}Ga`fđ0 "!G(DGA ! DGHRB[Q9'LJq#qR8tkDD7~_-6et MrRG3D6D}HtEDxQO|r8) q7YV +G}}Qg93p4}lumjšaP)J;00 1t1ϫ8Ͱ""AY0DxJ!-$!]^FH UyٗGi,J/AZA1k}6ͳl6ͳl٘3\9#5]QNn*U d">,+G +I (lA 'ek1L#I 909 qA8/ >Gq_hEbDž>\X4: x39('eٸ+iRIX>*,@(x21 +_[,l6)M*6 G^mIG*ȃ0f " fpN 0f <{:곈"Gc750pƄDDTDDDXc3B}yc؈qO$f*`wd@7!!FhHpv1`ypiE<Ӣ#NGayGT}G}Gq],twvWx)>+y^]y@č$UˁAt +DDDDGN,$DPX""#b"B2c2.˷9z"5Ɛ=,,6)yTal#Cwk H+g(p˘;C0ϡ;HqB õ@+{'MWa'D}'#}t6EGjkEYqg488L0  ğ0Bf(ALXt gp` R\#r.;30>a0" G$0ra2 C]1,E>ŌCF>P1hbt)hFK5a0L!zܰ%.˲.˲Dh5' E`D &B"" .FB!OCCDB""""?AvZ`qa w_AvZ`qa w_AvZ`q w r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9x`y˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˱(r.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲ DDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDD|G}G}G}G}G}G}G}G}G}G}G}G}G}G}Y}G}G}G}G}G}G}G}G}G}G}G}G}G}G]q\tZe7GTy/\a,D! HAdh8~ 9; JH8XH;kDdd5t0Rp.) lnРA:6ꏣcC""0D~((CzYXNq(rFXkWL 0_HwBv,&a t<>1FhJ aW_ Gca|1{hZ zM:a!,y\KMLE ḯkA <ˎ"eB H. +ӹ||dt0cF?ƁRl1IR3E>j.6"iQu0JBZ`iK$:3F8#S^8dtGh!8䰡tac PƆ,rXiTZeQQXQqDGja{\mZ5G\}d0&r9G#r9G#r9G#r9G#r9G#r9G#r9G#$G#r9G#r9G#r9G#r9G#r9G#r9G#r9C,4pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8''pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'ˢЈeOZj*i?:ڣk88Sڣkk/vzie㯌WeKV," {AwY _K+EqDw#>>R%>#3D";uGTB"4Ȱ<#B"""""")C D G`pvde&v'&|vA2NB"G#%JDNDi[,t}vb"*Dt)8t!Ep44_J})GdqG44]V"G.eY('C~tG՗ϧ<"?'y0ͳHrDqFdMb0">9b-=Ǒ1b#=x E[-4^9!ȣ HF9cF HH h]tE>gA `\X䰻6L":s= 4}%P>pЏٯhRob &F&զ{x/WOAiEX% $9cjgGΩMg#GGGTfu]F7 +G}WaPdžB 0 +6h4h3pCH="8x""! G"-e؈B?ʈV",DW|*A^BvY03pF: Dt]IA1YpA"%$9 q:L!܌y#W8rn + C0 OPL\q#68g F>ڠB#wV. !D[.1MgT ,'^b6-Pty)}gUVz +qh4G}[H@y_TmQ6G@MD^8_X>9#"9u☈#t#;H 461(wTqfC7 c=s0ٮKVl٘5J!eh/|CYNXc!RtqG}AD"d<"B2I.術oG}f0~cؑ!b,/ɤPh4  c$r !$: !fc b"";lZ}a"mX*BIun|'gV# _-̑V.KwGmMϥ6>w#Ge +ju[y!)(v$uѴx9}G}G4DB"}! 9+4XC-~qdnI) +1""""""$kA ! 0<oj6#Sn!˃9Zu͑wg3X&WGf\# z E9C>"9!x"pF9!!hd@Ԑ"GT}q'Sb|8# !0@8h0 ~؈IC<'BDF1E?0mh=iTQrp35\6 lGOL< !NqSƬEqtDGGB\D0@B3A8'N%}5TD\Dw}7v $#P4ꔎ͠E;0uGԓ5T.CD"}CXЍ`Ј8#툈>ꍪb"""""8<|w&;>>4?B"""#Vڦժ6?jiZjc}Vڦգ 0ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#l6 al6 al6 al6 al6 al6 al6 al5al6 al6 al6 al6 al6 al6 al6 DDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDu]q\i#>>ZjZbsy^ ك0fhEu.LiIF8rC E +$XPH|AtnIi!#`">GU-1EUin!wWR"8!':."3Dlzz +$l|ge10Ј(ISEPͣ2v[8(|00~DR>رb"\1o]2Ǵm?Wm0Dt^8RƑ:㈨yiTOrPΉ+<<.N :3ma(3Ժ (D !#"O 5ٜrEd S!..[ uDDDDF(p#rN/_`妝qkVqq"EydG}G}G}G}G}G}G}G}G}G}G}G}G}G}&}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDC"""""""""""""""""""""""""""">\r9G#r9G#r9G#r9G#r9G#r9G#r9G#rG#r9G#r9G#r9G#r9G#r9G#r9G#r9G,DDDDDDDDDDDDDDDDDDDDDDDDDDDDC0DDDDDDDDDDDDDDDDDDDDDDDDDDDG˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲Z Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 IS +Y+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlFM1oezTm)M1%jbiwKAmQT/岪z~vB"hPGsD"#HB%;>R+ꎨUFdXA>""""'T#b)\Dz` GA#ȨGaGYG~g~DRPDGPB f0ďZ:U%Xq2 +]`I#U%bG&#|,3ZtqG#Kjq(yу0ggt}QG}GՑ,>C G#,I#6"tPC1x4 N(Tqb:c=hOȹ!;kCK"":Ot!Y E".6HrN1۪>.63F]R@qfF5#Y(H싮X䜓4H'C,"n Gď!XqQ*CXDXJp)IYIzI/Wl}+V I\?ҕ4#O$z!& di*7Z>FGԜ~P#nW "}QQ䁑0eȗH EC k$,NP(vC8,?HӱlD00Ʃ{`IŦ?C.)hWQxBڥt.5z63 fmô"`PP% a/YLtH'tK$)@qGr%F +y  DqtuG*$. AH(vA>>#Y9]ES!xa 2Yc07b?cҍ '  [yd~1iK9=1-K r܌uY ;BОdr +l6aQ.S0l6 cINq0 B  +[pѢ# :*6DMuG%h+;5Cb}!z6HD6m'b<\Savi$"0(Oa8hcbɸ e~[_{Zm;&⡙ɚd5I#;>ᬔ&GӟG}^mQd"DG}Z*C8Fg#@#RU_<ϣfpk'j"<ߑ.hr1W bՎ9q㈅4Cq\ebZ .;_Y<#'b(-nDHI=nŷW`pHb";ǏɲnΟSh}ZAD4}G=_ +TL>?9Qk/} +R,zj!plG <NG‚ `C9!:0Ae؞M[rCcP;jcG8R}G}GFGn>tfXŶs1A v'VNPBN+i b☨'Р$9 8B#ܛ6ɏBm+B"-II: IPx&"G? }XMC\!dsVԷ(͙pV03UfqYG"oi Cs+QAga!)GD4}G+B!RD}GA\r1< uGU#{xv3hAi=1CЌgu^"8B"" %Ds""9+DD|NҾ"ENB|LVa(B(BD})Vy &B#>KGEϬ1!{=G#q3`!  T]bP x:\DQ*!$  0@ GO4baoDFx]?y!##ɹl&=K8DtuPAAAAB"""""""""""?xW8QBG4#\BDw'b_"Y'./CA'f3l:7t Z9!ߘMPSq&t#8 " y}G 8N^.1 ǏqPDDzGLY1h_r䜓e'$9'_ _签D) " ]yND"(2·$aQ,wN2 jZ}ZҦyBdD5r&菠͆ &LG,Gd+Dco:O>" ?mhtԐmGT}$N*#mPm36GC0f qt:#8ڧ&^?CLR! Qb",t|N1!i†&a8lqId0`t")0mtH`:mI21#0)4%փDc|h4($-D$`EA862ܜqAl=@G' 0V""c(H1bb3,qa{ 68VcqI(80L- @[ ui);+Cڪ8$AIf><187AdcF9cTZD0@AATqP]q~` `VcDDDE o>D}Q>>#I"P#ꏣ>#GBDJA">>"""""""""8Vڦժ6?jiZjc}VڦK>>>>>>>>>>>>>>>>>>>>>>>>>>>>SjY+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSك0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD~Y>>>>>>>>>>>>>>ˣ>>>>>>>>>>>>>>""""""""""""""""""""""""""""#ȝq]q\i#>:4B<-1ty2 G3hPrl.l->Mj]IzAG`qP#F8XB(Jh] tTZ`jHpDtw>#cĺЋ EźtqYQ+iѵoqKn㳈!S<>|[#DeG8]{1x9ś>cM] H_a‡R3ˉi +G!lYcC,x6v>$;!fy4qRc""1 DXk~wԺdgsiZKLjyi񶯿EP(s<6cϣͮ#9'NJq[chuJ}B#u&?cǫ a+I>Hv\žLY!ׄ +#&8Gӡd66"* iZjiL}PduEqdR;e| B"#(kڵkP6M(G}G}G}G}G}G}G}G}G}G}G}G}G}G}Tf>>>>>>>>>>>>>>""""""""""""""""""""""""""""#k%y}G}G}G}G}G}G}G}G}G}G}G}G}G}GӞG}G}G}G}G}G}G}G}G}G}G}G}G}G}G Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4h4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r92!R\""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ?w#>>>>>>>>>>>>>>>>>>>>>>>>>>>>{""""""""""""""""""""""""""""""""""""""""""""""""""""""""#j⦘?]6iA_FeLG^^FT.a~meEFAT1A/&BrJ6TDqSkE5e(I.KVs#0f #R#,>ꎩO#&s"}Tm@8"AA+]qg lSxKNtM7ի ]$8&3PE[%ED<菣ahiX5dAyv2-pBO48b$tmنCM7 MqDTSW!:9DDqi7,'pn+EFE[<!$# !(XEC>6&7VaTd_],DSH;D$#l`?R$;,~#>?uH*6DuDh-(-;,qsD0B a\I_UO{_"1\(~n.nZ |")D~ܗ%E+D(#zz ɾ!!4)uXGHMDk ˲&9tIe rWQoUɽZ#"Yvs.Y=ɻ/A*%6T K_MhEfW82:#jS:D}G`]G;^$c(qF9cuCb}(A +!j"";u۱CRm*jGe+Մupˆw(tShH42AY>""8᜺!m:Q}8ل.C{HX_@ F!:k>0A:")jЈ7np] +-28C>N{R6e0|Gk6EanN <$u:>jG~>>z90AA Sq[#n" z@qϫLA0"""$0:  mz# x/gf K aAv^gP +-rl)FqL0fѩe aYG3Ar +#r1`r#%lCA:>GT"!GM6Ьb" G ^F9c8L AB"""""""?+APMzڥ?K_pA_U;YbN m.8'fCF(uTq8^8a.{B5&f>qlD%؎6;K{%7(r6 o>",OSiчtL+8?DBYRż%":11nF3l% xbJj:k<E,S; vuFӜT6xrCj+SB؈qaҫZmoC0w'P:ϩCFjk<#ᐃcPB!A!ňsS+ KǯzN!>KլcqYG09yŴrNڧcaqAyv7!I\G"݂7 _-GTuGFh"+G2 JDuOD||DDDDGTF4QM1TmSLTaQOQ~}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}^ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv͇~?~?~?~?~?~?~?~?~?~?~?~?~?~?؈-r\,,?,#}$^~rZ^m-e_A1]qkKFAtypaEaE}6 &Ǿ/@7p]\p|8屢:׬ylKAM~?o!Og- ( +endstream +endobj +46 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕjr\C~ +endstream +endobj +47 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +3 0 obj<> +endobj +34 0 obj<> +endobj +48 0 obj<> +endobj +49 0 obj<> +endobj +50 0 obj<> +endobj +xref +0 51 +0000000000 65535 f +0000000015 00000 n +0000043446 00000 n +0001024132 00000 n +0000043582 00000 n +0000043743 00000 n +0000139240 00000 n +0000139376 00000 n +0000139537 00000 n +0000230016 00000 n +0000230152 00000 n +0000230314 00000 n +0000259149 00000 n +0000259286 00000 n +0000259450 00000 n +0000348514 00000 n +0000348651 00000 n +0000348815 00000 n +0000434137 00000 n +0000434274 00000 n +0000434438 00000 n +0000527072 00000 n +0000527209 00000 n +0000527373 00000 n +0000617312 00000 n +0000617449 00000 n +0000617613 00000 n +0000705168 00000 n +0000705305 00000 n +0000705469 00000 n +0000788726 00000 n +0000788863 00000 n +0000789027 00000 n +0000877840 00000 n +0001024259 00000 n +0000877978 00000 n +0000878144 00000 n +0000953202 00000 n +0000953340 00000 n +0000953506 00000 n +0000970808 00000 n +0000970946 00000 n +0000971112 00000 n +0000995513 00000 n +0000995651 00000 n +0000995817 00000 n +0001023828 00000 n +0001023966 00000 n +0001024353 00000 n +0001024412 00000 n +0001024458 00000 n +trailer +<<2ddc9e3761381c47e64afd72e253da62>]/Root 49 0 R>> +startxref +1024602 +%%EOF diff --git a/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc b/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/b74f8e37-600a-4880-9f24-ce5a33d132e6_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx b/backend/data/uploads/kb_7/d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/d40b4fd6-71b0-4930-baa7-f3dc06965f32_testdoc2.docx differ diff --git a/backend/data/uploads/kb_7/d9857870-20aa-44c6-9022-43502b369956_周报.txt b/backend/data/uploads/kb_7/d9857870-20aa-44c6-9022-43502b369956_周报.txt new file mode 100644 index 0000000..56520e9 --- /dev/null +++ b/backend/data/uploads/kb_7/d9857870-20aa-44c6-9022-43502b369956_周报.txt @@ -0,0 +1,40 @@ + + + +2025.10.13-2025.10.17 + +1、项目支撑 + +1.1)边缘计算项目评估支撑 -- 提供算法,确定提供算法模型,100%; +1.2)陕西交控算法训练 ,待提供素材; +1.3)水利标书文件算法部分补充,100%; +1.4)溧宁高速算法优化,已确定问题,待排期处理。 +1.5)外购数据集评估,100%; + +2、算法开发 + +2.1) yolov11算法 的环境搭建,测试,训练完成 ,下一步将其移植到AILIB2框架优化现有算法。100% +2.2)公路违停算法优化:标注车道线数据集并训练,已完成 ,下一步测试算法效果。80% + +3、DSP优化: +3.1)自测功能中,下周完成转测 ,70%。 + + + + +[2025-11-14 11:28:16] 执行命令: train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 +[2025-11-14 11:28:16] 完整命令: cd /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics && echo '===== 训练任务信息 =====' > 003_CarRoadLane_N_1114-1100.log && echo '运行名称: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo '训练时间: $(date)' >> 003_CarRoadLane_N_1114-1100.log && echo 'YOLO版本: yolo11' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo 'project_path: /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics' >> 003_CarRoadLane_N_1114-1100.log && echo 'data_file: /home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml' >> 003_CarRoadLane_N_1114-1100.log && echo 'model_file: /home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt' >> 003_CarRoadLane_N_1114-1100.log && echo 'epochs: 220' >> 003_CarRoadLane_N_1114-1100.log && echo 'batch_size: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'img_size: 1280' >> 003_CarRoadLane_N_1114-1100.log && echo 'workers: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'device: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'project: 003_CarRoadLane' >> 003_CarRoadLane_N_1114-1100.log && echo 'name: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo 'exist_ok: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'resume: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'optimizer: SGD' >> 003_CarRoadLane_N_1114-1100.log && echo 'lr0: 0.01' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo '===== 开始训练 =====' >> 003_CarRoadLane_N_1114-1100.log && CUDA_VISIBLE_DEVICES=0 nohup /home/thsw2/miniconda3/envs/jcq_yolo11/bin/yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 >> 003_CarRoadLane_N_1114-1100.log 2>&1 & echo $! +[2025-11-14 11:28:34] 输出: 994531 + + + + + + +yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 + + + + + + diff --git a/backend/data/uploads/kb_7/da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt b/backend/data/uploads/kb_7/da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt new file mode 100644 index 0000000..56520e9 --- /dev/null +++ b/backend/data/uploads/kb_7/da0ec296-a120-4114-8edc-a03f35fd4d6e_周报.txt @@ -0,0 +1,40 @@ + + + +2025.10.13-2025.10.17 + +1、项目支撑 + +1.1)边缘计算项目评估支撑 -- 提供算法,确定提供算法模型,100%; +1.2)陕西交控算法训练 ,待提供素材; +1.3)水利标书文件算法部分补充,100%; +1.4)溧宁高速算法优化,已确定问题,待排期处理。 +1.5)外购数据集评估,100%; + +2、算法开发 + +2.1) yolov11算法 的环境搭建,测试,训练完成 ,下一步将其移植到AILIB2框架优化现有算法。100% +2.2)公路违停算法优化:标注车道线数据集并训练,已完成 ,下一步测试算法效果。80% + +3、DSP优化: +3.1)自测功能中,下周完成转测 ,70%。 + + + + +[2025-11-14 11:28:16] 执行命令: train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 +[2025-11-14 11:28:16] 完整命令: cd /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics && echo '===== 训练任务信息 =====' > 003_CarRoadLane_N_1114-1100.log && echo '运行名称: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo '训练时间: $(date)' >> 003_CarRoadLane_N_1114-1100.log && echo 'YOLO版本: yolo11' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo 'project_path: /home/thsw2/jcq/projects/yolov11/ultralytics-main/ultralytics' >> 003_CarRoadLane_N_1114-1100.log && echo 'data_file: /home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml' >> 003_CarRoadLane_N_1114-1100.log && echo 'model_file: /home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt' >> 003_CarRoadLane_N_1114-1100.log && echo 'epochs: 220' >> 003_CarRoadLane_N_1114-1100.log && echo 'batch_size: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'img_size: 1280' >> 003_CarRoadLane_N_1114-1100.log && echo 'workers: 4' >> 003_CarRoadLane_N_1114-1100.log && echo 'device: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'project: 003_CarRoadLane' >> 003_CarRoadLane_N_1114-1100.log && echo 'name: 003_CarRoadLane_N_1114-1100' >> 003_CarRoadLane_N_1114-1100.log && echo 'exist_ok: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'resume: False' >> 003_CarRoadLane_N_1114-1100.log && echo 'optimizer: SGD' >> 003_CarRoadLane_N_1114-1100.log && echo 'lr0: 0.01' >> 003_CarRoadLane_N_1114-1100.log && echo '' >> 003_CarRoadLane_N_1114-1100.log && echo '===== 开始训练 =====' >> 003_CarRoadLane_N_1114-1100.log && CUDA_VISIBLE_DEVICES=0 nohup /home/thsw2/miniconda3/envs/jcq_yolo11/bin/yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 >> 003_CarRoadLane_N_1114-1100.log 2>&1 & echo $! +[2025-11-14 11:28:34] 输出: 994531 + + + + + + +yolo train data=/home/thsw2/jcq/projects/yolov11/tuohengTraintask/Datasets/jcq/003_CarRoadLane.yaml model=/home/thsw2/jcq/projects/yolov11/weights/yolo11n.pt epochs=220 batch=4 imgsz=1280 workers=4 project=003_CarRoadLane name=003_CarRoadLane_N_1114-1100 optimizer=SGD lr0=0.01 + + + + + + diff --git a/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc b/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/dd1eceb3-950e-4b9b-9556-3cc153215747_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc b/backend/data/uploads/kb_7/e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc new file mode 100644 index 0000000..02e08b7 Binary files /dev/null and b/backend/data/uploads/kb_7/e65dcd42-da1d-4762-a58f-3654c909ade2_testdoc.doc differ diff --git a/backend/data/uploads/kb_7/ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc b/backend/data/uploads/kb_7/ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/ea34fe48-b70f-46c8-bb7e-5dabf874deb1_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf b/backend/data/uploads/kb_7/f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf new file mode 100644 index 0000000..1bbe37f Binary files /dev/null and b/backend/data/uploads/kb_7/f41fa3b5-4e35-4b5e-aecc-950878c902aa_testpdf.pdf differ diff --git a/backend/data/uploads/kb_7/f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc b/backend/data/uploads/kb_7/f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc new file mode 100644 index 0000000..cd533e5 Binary files /dev/null and b/backend/data/uploads/kb_7/f5f22616-05d8-4635-8923-548fd4329970_testdoc1.doc differ diff --git a/backend/data/uploads/kb_7/f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf b/backend/data/uploads/kb_7/f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf new file mode 100644 index 0000000..7e92481 --- /dev/null +++ b/backend/data/uploads/kb_7/f86b8ae2-1f23-46c3-97df-e27c8475381d_发明专利申请说明书CN202411808464.5.pdf @@ -0,0 +1,2804 @@ +%PDF-1.4 +% +1 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 43224/Height 3509>>stream +Hđ8&E`dߕPlag6hoVMcZDo)o3 .N6R&јȺ|VA!p!.f߲1yKY!Y?8t?#GTDrd\!IiCSѥzAiwyJmd_) p?"ٙ.d_%]/!Kۥ5~U,k\Ґj]w_ 4[";H/KO 1Ŏ5pAޗ+$_?>L$Fi { tMlSfbc%"86IHAWKKaa$?ͣDCZ]rd8A+{[9x]fmr'c^l0A-M_ޕ~ H{v[ p&z_ Mֿ"YdK,8K iaM^!&Fm-&?^tMI^Zbg6f`q_.UT0jפXH0_b)F$T?k % +^MR6I;.Љ2[]NŤpjKQi*0i^a4.]_GPi/Zvf Sbq>"#9͞hq 3D]yt%$ɛB336pXC"\'@`8)oAFlY/ђlrF? 0YX\y _ +C!MY'£3gHffl2 1446q3fm *36q9 ȁ͈he"$6f٣2iy6p8@aP& ?@`4ংe 0\0f'I,Iћ؆3 3$6l;] m9pR ћ30nmD!m!8 0X$0l͹E_#YE,њ3b3f2R#)?POYO97[:2 LAd$#vNLU@lͳb6I_Y_#Ç*owH } J)o7P6Ua{8)  +5A +Im`I5Õr7UT۪" J2uBy ԻT_ ֑8'lKTvZ5i&m._ $2P:O# aӺ__3K 0nK@˂pN <*]!#M4$EX" Z] o- ڬ^٠0kE. 8KXQm4d0W"eH3j.J :2S"""2qeY8' T~#d|]dc DEC,i.HZ54CE'kڨiC 0jGr? aOd&3D2pN1_mkj-Z_lDq{ҩ z VN!p-W'MSM?KM/!V"[[iG$hN tkzZlOD?JI-o:뤖<0 Ea8'I"kRM&KOhlFJI$0ΟoKIt~<8$i}dKIqڋiGMǏ_c"?I k]J!~Ri~Ad;pNA*@k(vk~A1]cAXjKҮߤ5Pq/.3Fx'b4D+ׯkh;M5mD`Pai2 ΀!`d4 <M$Y8li 65Y.Mm5MSMZji&qQMBZǨr: ed4)deo[RMZvdt U6."150VCG. œ8't5P54&#"RȝM & f{L&(vM4lGTade8q'(vG5M[M0@b8Ј咰U'Qfp<qJiiCEK uRN3`G'Ē&N !LSMSM9CGYRn$ *q œp=b8Dt/Rn@:(N œAGPi馩GBj6"E#o\N2pN @30ii8#B:^xV* 8pN'mFMSM+M5GpIA'<B$N 8DuT[MDSM1qp]|yMY8'N մQ[M4I'<DTD\DDJjyNs.܎ ]y#ٚD5DC3("1,3A8qN 4pN ¥ S[c٨5#ÆG>?M!M4ME%Dު  ( v"Ј#moAiYCꨆSQe*_-":&"=HVl|2pN&\q 8GHmFWq_Nm4MDU-/K_H""o+_$!Udp:Xh8'N J=FJtA香Zioo6YDGpW< Hb5jFƗMTq 8f_i!76kik8}=:ZM"#D5 9mqK,;I4׷mx' 8C_)aiq4#M2:A~BDqK&/Gk +'Uz_N Xzo֞:i^mz_z^"."7h1?Iȳ*J~^I}[I}RҥFpN q}_-/*KIiZiRCi0.[z"8okXu6 { %-Li i-/BPP7 `afa qFp" jj{ G4 P"%5OKHc'4>P`5!dt"""8#ȥ#DDܦK +ODh3) iu5GF߷_K tF5 b56klq:| G{j*$K MZUIGE7Vi^dQRn-":V[[VJ-mFW=f߭o+KL'Kzi~VW^#3MlR@Zn$1/KFs0Ж;I/JX7_l jKaaI)z__^_5x?P_OI޷凫"uj:O^Kޗ^_^Z GOoI^^{k_jJ~wk~_-/'޴RCi0,hm붗okXu6 {ilOM/ ah" +bk~u ke(_}0b""?ܠ
4{aUPk8I5 MUTi6mPZM,hUJm+!ڷIb#)[I]}z,{8GZ8ZK]b ~_\#}+~n꾿^)/j.KJׄK^_IxAb9h B%kk&]^~q ]cKK{~m.,o6*&&뮿zIK_/J$dtt'~[o5Dk_êD"ukK_-#YI/_[KKKuε-K'KW^7 iHxCm$?IKm/uR^aH6^~aOh0ACaZ +b)p^R].Z?Qa0"?dA_R!^IOx u'#Q7_H "j#Qy(F%hZM6klqG$ MUH67>}oҴJ6*VFIH&Mb#)-qo[dp_#ҷҿTUD1KK-#W^^$$/^_I%F%KOIvժD']I$KK%AI/J?KKζC[I=RZ}$A ǡI?m+,?mKK5´t:DDDDmMc13TMTS"h*KDJs^Au4v4 +/m6u`ʨ<8l<$tA|݋a3$X$+CL4駧JOFk'HlD/gIp47ZI 8kmEXyк5 +܎ ?!TKG¨|*۴d`58T][T5g_~BtY1xJ:ZVޗ ڷQ?Lai6ͱTyh1"G^^Q!juYBޓB)iQcpϢKI.zA봃4AZK>9%&# J" $a) -Ub S$'5֪?Ӫ`_^]iz#pE֑U?:KoJ6 +?Ba_B?s0쩟ZU6+dT?ߧZIiETdpQׯo1Ct:g.t3tkKOȲ._ޭX~:~ڳgA>z4[-/Gs}>?_Ms_+[ۯ_]-'/:޴><Ϋ_=Ab:~Yp?kM+>Rs_]cH_y7իzKI/(&?ɏoo_Waտo+ս&oߥ0I&KA^M$oIKMkO5IK 7~]` ~Iͯ@lL$k ^h  s9q͆XA0ά,GL!I:pښVA4GZ @׊2"#A5Рh A,- +T"7&s\fJs^M] I E"tFQ_-*$gCM(TueM86:cv*gQ)Eų/#y̬q{ $M5;_>2D"F!~ʄsk$xŝ mG[ʅA*MAE4K3M[* I fJf*MW*h7p&8 ^\,Jh-C3_ZJ\y801ZJ8]=?[*K@NiH GQvo~|[[DZB x2IB +_i?Sz [3k ե+/ _Ɠ^!r+_㑵Ъ|xO,lkJ"=C:Z?K0" Tޗ:uά4iq~khT_T_.8kK?_}޿^-m&ށ>E_8i6H`^"=?mi}=/l^K_f=G׺a& /  e8Du)Cҿ~!#BX"?_h(Xw@+EKu_zmO_A +_zzHO_%XߠYkj:O/k'_ "u^}z_jJ/% o '?/ڥ$K,>_\c5!Kx _OT;x=ԯzOPc I K~w/m[?-&0!K  a~a (a!3 +a\_ /0AXz$1bM?^h(?}.bv):1 7֑cM W ꆫB""" DPT"#7mr &b:h(_aa,&VI @ZeQBd dpI 8kmšuDkT>TH۴ɕ%/6ͱ_tU"KH0CH!~lr0rԢ/֩) -k8s0ZC*JYS~ևҩdŢ:KoJ-_B? FlJZQf%vut'Z]*UdY"JrT/x}/K9uKj [)9IU~h \~s7+MI[V~?I|26 0 r aX[ k@ejjBˆA唷;RVljV&Tɸh mRaR!|Pc,I<" -2uyeL e]I AKÄTm\]T'o!DMF&xUy(I&oAB+ڌY6_p6֛_L޴%&m$6ߏ6_ %?J3 I$u7Wֿ_uKIt".zT\α JW8ޒPc690/H3/ Fj14ZXI%V5=-%V i}mIKITm/؊Ba__H/-jLEs1BOF}*†COAm0i[5 tDH ; Z^'qia1IPI/R""b 2thDjCMIv1K)VL""ވÆ̲P36K:Bϣ:gc"ϠD2qulʣGA z +.Ks.Ta{6,gE6Pʿ|zpII^?m.^Qy/( +Vm.,@ו}q>{*">%scρ͉V6M:!YIVtzF&zLGG\llYExHR9f9VVt S0Pg^ 5ۤRuZzۅ(3j!JJޒ[K#kH|qMH&YTm!$#KKئ+<Ъ{(/lr1Dc{M3e2WIi,(Xi~&mA"݋=3]@$?XA0L3"eHZy߂!: H0M)qB߉` ">eL}/ `ߤ z^@Y Tz_-/ @A (u @RrV}rI<斂=1E' xNrs8g?žsb/ oaUl7ZW<3ˆfMmOr X{yJA#Uϯ+CMץ/w,ڷ$_8A0K/ dzA.~0`āa ^]/Ht/ 5tD<_Ҵ鶧!,%zL(a 'u1LR S2?aP a"!,M3-3h#PYDfO +Rn;J2&& CP8l-ґ Ԋ UMtV'FFy@[u8'G&"U*UGJ&ii%RV&?iкy?eq}_qi:f[f^}U#F?yo9arοFZղ\o͔s_84GUK_CAGS">e &Q ooه*U ԿeM+J.@Gk>.]*l13?_(t &ҭL?$.#eN,4 iu]gSF?B/=z /_Y&0(% !URk~_bHoA#bPwD|:OA<71\0k./&kyt ?Iy&X_~祤!X]Y~H _KߥTQu#IKA"?G@ajTÖ;ϥ*K<a_5 OaHDqz[~Q0F U@fߏy=OB8_oI?aV!T$~]-oǡk,5_:IIF|skqpy~4>[ @/o KHCi|0a9 v6KhI-[uXk)s41-ґIE:FPӈuzUoO[Dk?=IourHf< c[?9=?]?~N{n_ݥ_衶Ni~DZ_ml-/a}BDDDm+MDhPL&rnFFDS4P@RHD\iViGmn$?UI'H6k1MIi&4Za^!;A@%DA\DDDR6n"aDhFD&SrʣI7##"]DfI `Hѓ@d2:EȌMa4H&N>l#aGM$HzhzIi6jO( KIDAJm+I4 KzAh'Umm[[!ҺvtiizZI~KQҭ,~/ToUZ}+~֑古JRI!$ׯ5ԉ +%O=R߆IizDe]tIv)-/H7PtzMoKKҿNN-/IizIizWz.I޵le$kNR'GI KOI/im[KKm$T"EkҴ%Oa$-'&޴.%Hi![i}Ul$K M+Xh0i%5A@%DAH!BźVTTL (VrnFFD&OQB# & #Hj5> A j#r#pM-%  G| #hCTHzHF=R Ai6D 6@tV٠Z^=:kjڶC"Z]}??-}oo֗I%Z]׭akֵz֟J}+ߍi^*QK!K֒=R$ry뮘Iu_mZ^_K]$JZ^_$u}% KKKu׭-/I/}~izI^~I$tU%NR'I_ֱWKKתꓤI*Jm-'I+I+KKK$Vm+JUIZ%I&6+J446CCKª[[i&4^H0״$TD! !4źVT@*2&2[P]&܌vVȧ0A| P) j#r#pM- M%#h>4{kt!1U MH6jO( ZHmI"N&Ҵ&6tARUmm[Vst$EZii%KI$Z K>W#ZZJ)x)uZBJ_OT$KK'pMPA-W/I/k%}W}%$'zZzI/K/I/_]%i=$ֿ׮$HZN'V׭cAuZ~o^%zIRW-ii:MjH~V+I.z$޴h4[Cm$4=A*i~Ik 5DAHEDDE(6n"aDfh"&DKoX' p(fhe/afh?eFI=tM3NӦuAsZ|F{ sD"yDIOs1JfM9U>*%8 NҏepS>:ߟxG#㯯_/MM_zM184BЛBP +['Y:/(Y:~>"pj5CDfqGKD9m~sySֿˮX}MGiCTG^+Y%>C Vs+=1_?V~?_}4OKAK/K0 @[}GPbz> r}}LoJ^L>CA y_z[GY(}wo>u|O aoK8o|c[ǿƖ>u _[I~ߟ|^?ץ__K#u$ʅR*~KGv8A-h0z_` ?I f+z^f+jId]I&WI&{i$0#@:!$t$ II@$#xB x8 B E~xP haA8';FfdBk%]mЈA hDDF""?nPO]NM#D["(/M2@@R{V#@R/7[|Ǣ +m77& ҫuOtC8 ]Q̒ޭJ$֭ 1U~^m ZZO`zL4a8^?1Z+ /fݥ?G^%t҃9  ;{ZQ<3[$t _{4[KFK~kI^KۥL{]BU~bkKm|%AB"7=R`FB+*†CO0P;MA]X i լ\G)d"fV0v/'J (HE6TɺW av aBf0z + EFa`N1 TD⯫ 'Tӷ%vO#PGn/J )A &au2鲀g8JRѩvpVoճ! :.!ťm%X(=~謐KtDAΨez:};MPI~*pO!A|mSqJVWp>fŽ/н EIWϏ8HE?#LT洿<~@~}y$E1O@flk)d]%(sЪ#0zK$rn + KG 6ҿ_gP{_G7nICkB-GKi +2hA{/}]#8E_?zѤ}h?sow_]{z_B\I6}uLIq +ttuK$zߋA Eu$I_ _>q^Ib $!~D\ $ykm.=o:?A Dz8^HRƫ\H&nfI+FtrBh%IKoB1Zl3%ZKoKמM$&ꗤޗ aIt#TNa1]?M0a.oK44ӧZKf.ãaa 0 0׷kڬA0d!&)MPd1j? +{>1iT&4#$- +V3#ath-a[~hH t8B8_DGJ-DDDDDDiB#H!1<6ͳl6ͳl6ͳl۔ nO-P$ܜpN 8'pN 8DxIJtE6X8!`[" :iAO= +zF`@A7KJ1KfjNRƗYaV|n7W״JOv2@u#!G3a5^_"47n%տj!e̲MǗy"H%A/BO޲@L~lksP/VL܇`c$^05Fω&Oo__6t+ +.0@޿cV>Xt kKCboNT< GF L3Bo!ZXaix!HG`]9r|) 0xh5GAzS!U|Fz´tDxR)=+XyO"?lp@0D|QmV'c[o##>":@IK# +]z\_b"ˣ[[JK4 fJfYْ)d(X:Y@e eF9ܡ)Ngw$gZpmd|ԡP.@9]t<&)Qam +:uT Qs4o$`PgNܕuꏣ>{js}ߝt@K 3wi%Fz)n1>>?YV +ch6$и?rVtVCV%GGàE@<{G]/izZ /+ 8'nJ 8't"u_M +z_IW"""3ɻWB8I%^o^G/_?h`_}i_IK_z~[Y2_e+V1Oflk)d]%(sЪ#@/gPc" r8aPZ'KQ֚*ցt{wO? + ~)_6P ~;Ɍ]Q0Mi}i0]w???#4/Kչ_P~I;n">ߒ/Gу_P`:#>z_#:حWIPko/tXI)%T={JJKoo?R}n#Ixi.7aF?"? qZ(R~p/G_ &4xAH Miu?TIXA&%-)Vi.?Itk @~.np[_BL?$ a=>Bz'PA$?ARm&&REUVh^!$H^L^gG$F'ZG\0tcZ_xzX_? %suA8[T_RЌV C~$WH1,ZKoKמM$>Ai#;K/I/oaq&ZE8'Iz +KafEA|a5]ޗhicb# `!4":6H&PJ0 {yƸA( D<duA5Ah* T&4#$- +V3#!&DzN Bk  ~aP>"#L>S &\öV0o-.5a8xqi.)Ɨe3_kd8{=g{=g{=g{=a:8g{=g{=g{=g"cxa@0 a@0 a@0 a@00 a@0 a@0 a@0 a#uah +1*~?~?~?~?~?~?~?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD]Hɱt#,TW+nh"YSEk*h[ 83yBY6 El86PYLz MaO46N4t|?Hl<6e +(Pu]t"#F, \3a .zBI(5 +4kF3@]!ނtAޭ~/Πy Vҋ#A֗eNc?(6c$=1+ϩUGz/ْlмHŔ,?_3G)4B.58E@OuH_g/]/i4@_*` /#Y#4~f"_)EYh> J"uY/?E/t$z9:_ Y>ʃ"?~h(ak_y'uccZE~p2}zE|-]aǿR_(5oz~[+]|t_ES߄/莽b[ce"1^Ah,iOwK 3>XaƵ=.%K/_~?_H΄=|_>z_%?io\tBGJD?J3Uӥփz_/M-q3KPEGph_. D|g `J>-(q/tK[Koejqsk5{\#0!/9y/X"}MZ_1J"|*SgxAzCGT +}?/sKdTmkP"^IBhk_e AXEn88%ZthX_i ivH#G\0a9ĭSV[o@[nG]&釄~Mu/I/IK-#n¹>3rlKޒ7M I(Tq#aֺoz_[I#?蓒@lOtItäF`A0I_, fDgɱ8E %$H"ϥ&ϥY&Aaτ42C`HőGR):>bD\S&& : tAAaA$;IјH5b! +P. ` - $Ru^D c QwYءܷJ pЈBŤLT,B -$#B,Gea[FB"ADDDjDs% O¼Sh6fbhu}G\hl""".)^0F8)0:kRpiPݮzC\aJⱰ1H+C(!A<>>:h:=0DcAlN?uBqub""""} B""6G*"= ,;=I)==xW x5AxvBzF<%5 +#f㔁9 F9 F9('xn+d[s"h(A A!ilE9 ~?⼦>"ǿTDDDjnJ/I(@jtY\>>>>:ꏪ ]Ї,0b/ DDDDDDDDGi\lF1 pU^% H{+{[L7q@jG0gN8@# +OK da2jGA$:DtHtm-E^[;DA@ ><$lF AJ %p7H-ʑ^ $)xNF8DuZ* ȓ&QVĊ؃fJ):BB aN" x6Q7a@䣆I0Ãe%*$N8dpޅn}]SiѵLixMKDR*-sI6}C 0BR[Mpj A;z'G, \3稹WE%+ʑF[.&%6PH8k3Fc4_mCz/s@8S#DD{՚o.,mv`ȝ+g1CQ--? To镛'غDr_>: G}swK^Z_ʜ"HPy{-KG΅9RY_^_'8qlgC~?5m*E^B֗$#F:[7G!AyB?3^o/\D^u-G/N(GUYL0_>>>>>>>>>>>>>>s/AkME?NcAK5ڬ⟠a0`a~ppiϻ`!$0sb"""""""""""""""""""""""""""""#S`AJ#s) D>A? ++++++++g+++++++Ѡ|AHpdBh1S] ^ I*DDDDDDDDDDDDDD\DDDDDDDDDDDDDDD $|!KN/B"#!m0HDDDFFDDqJMD"Hb=n @="; ɐ 'W!bon[|b<ԙ((`9[(P:@En86Rʴ 2~<r硷Q$:ÃlQ^]7Hl2U Dh:ᘄY#0oXg)=jtꨆ:Ν(xn+J!v0~ehl%ņ zA Voճ! :uz/^%X(=~讎,* !Aޛ}//ez:};NŐIպ5|E6nHC=^#}*s ~算aA􉰀 0F洹'M[eZ3iΟÂW/GD@1&9莙! x>BykU "O(_Q!ꨡB"$dtB.) ͔W}-{*k@2σ#ʘ1?!zW?We5 ;G@y벋ͯ5.zD=z_> 0/]Wk]-O0-#E|?KWwy#+l6\G8JhK/󃚿~kDt]A*\cѤ (5툘u "N%[v"!/~0raAjϥޗ}k1-Hdj)륥 5,6}uz.%/KD [>t貙O :>Az}xF}Ium,0\PK_<[i_-?eP˜1 D.IU/˅]{7Ok| "_ ?=-k?RK;jQA$/pI-/6 _X_^['pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'M $ mR]E"??ZO_""""""""""""""""""""""""""""" /QDK~r/KUΪ/)A Dz}>R[ C'ZEbsg_iuW[ail)fǍWPh-b5<[i2_RЏ -lR1t8"?0ZKoK3ZL4 $ߤ7Ï,EՆ%iA7]0'Iz + 9 &'äߤQL%MxF%mVs1$JKaѰA0„zQ_4AAm&5 7C.2:DBLR 4lKAkh A N b?_ Li4GXHZ AA8 XA:AD4#Bu Xg0itm""_|zw_[;KG(D)RNa= D#R)3FQ<ĕ3l߄T. ƈ:PgOJak>[䟋Ñ+K"#\!'MMnUW1𠑏&Ʊߢ}ℎQlE Y0e$Uj$8D#ON"g/IhM aBf=fJTIXNN4t>(x'D8wKZ 6zR6Qς6.΄DqihHh/0vP04pBmz4I9!@$ %pˍo{&ql5Z1߶=n?΂W?,?>)zh}DF( qii[o*a/FN9TolA\8~"" V%GGàTya?ju_Z_ EOoKAGn$,^KSX + {>V ^1ނm^pRc.3qJVWp=?(7D_"!;S#ꋯR-a /HCU3gƎ.R&h(A3XP>ʆ x&S}LG1F]/i!Y#t:G0+Xka ~??|E7"H/O#Ϯp/ ԯ4p˂.tBgE/t)@>ee9{!xSؐ">mDQu#>G#"8k3GUZWK_{*k/g}(OWĠ:PUm|79mfٶmf  DDDDH(rv'KQY9heqhb] DDDDDDH?ʵD]^TWߏK]Z+5dC?e:7ˮEwO?w׏%&㠐"VaH8ia8'pN͆aCA>Du\?5Ì[(I_?]BVU !K.Hi2it`DDDDDDDDDGbq9a8-#8>)60F=0~#\ct!F^US#q]}{z_B\Wh?W|Gf sYrCXI)%T>_im o4TvTlhNO)u74XAPB?]1Dg{ׇ~L0G᠎"_jQ":{#2[3[hpdY`3FƁ 0^i\xO_<[}m-/ 8XfE:.": H@xVAǛJCZ6+$C8::xKmsKO %x! me |k @]mmvEX{GXk! W>$I_ _>mGTm +ðJ"C PA$?^S_[ ,"8_/; X506'GgG^ $y%Mm"<`#B #3LzJ#DK#` ;A 0Kb#( 80~JZt#:bp.G$` +FD}]{yƸA(4C a ?֒ HUs ?DDB""=-GTyc>M=tIf}'F`_cFpYp. `- A  J' OB8_DGJ-% BhqCZƘT"4 B;a|<'҆JvbÖHQ![q2B>egؿij@m\0al\361f-0 ğVTH&ZixMTp3|3nTM(DkS' ӷ\/m& 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`e,.S4(Ő3iYn"""""""""""""""""""""""""""""#pSD5kt.%l6kai9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$䜓rNI9'$-A[FBb"X AֳHDDDDDDDDDDDDDDD4""""""""""""""#}HP~~i [LG]/KI8EV/e +Q7UBk/-&Ui|WҴf}IE3|tRyVI) S>f(S!y^o< iuZRT36QzK]&".@g0F;q^Y&eA|O3I6:dSyaCUeT/H/85~._5T/64?{=_ +_.@^ A׊MZ}G(_[?\~;%ձ| +5qK anT%[v|^/Οx'K@}mtV}-~W1#^}-:_\~\:_= 5:U?8? _~\_:ez^/Kl$z___5RMj=./IAjד?-gDyPs/_AFE&?DBaѰg]6_AÉ`BY.ãa@2:\~)&+bc@ 2d3H#j}:UѠ 5AAFY`k AWat ~KX";4$"#cCHB!НCB^_H q RB"""""#WޥJW %X(3^}i[~ޗU,vhWwضWSΪ=/e֒_!5_I_11e 0 +pzEɎ?!"__|?RN:`^%/G0E:#fk0J.δY_85y fnXò8yB:ͬ5$=< +_uE?%3e +_qxefsk=X3~D/y!e_fzH(akZ?ƿ(|-K*g%?^]޿}I-8y+D"?_Sfa 3ȧ~"K 3AcOX)DeB5>_Z_:tC^NysOGݯyA }p0jϥ޼W~PC_S?E[*g]_89ξ# ݤTe += 3G6G_Y.7u6*L6o.GAO9s?/]%|EK:ء_P_u/Wdv6 +u:9D^9ğǍr9$uYOK@AK?*䆿Ϯ %^}S VpNϧk?i5g?[>IUl/T(-vm?_i7B tb5Dq}.z^ åRܭ%a8j)$8@ZA0 +i 588Etl4-`i֓ v&ϥYèA0ZG!uD]uJ)Z m -d9*,gtfIؠ7K$jZz[:l9QQ * +6" cb"'6YpDƿ2ܘ0$`-@pW< c&] 6zc e2 _Nj'2:w7A8,A.˲.˲7.Ib!GJ AhD4}GT}꫸GqKcQ o]kpKׯ^Z -EZ"r:>EK׷&HKsyɛC7"hW՜L…EϲYhfڼɱ2:Pᕵ maOd2VӃe$vl LL6T+ n[HMނM@PG(LXg@mdN$ӣj6깬M/ :^>0ύNV g4 .z:b~}<-"_q[mYp']7EѢ8PaHmiy^4c4_(YB0P CA~&䱿-/dL?gTN|ެֳypckWF-?/ ѴAޖޗ}}L>IeGK١^i ~n$(>HPw8_tJ"P畄P!zDt]k1 =+A% HŔ!1e 0)\pe\!ŷיBI({##zAc/aMh tdox/z8j6qgwڂkܕy a1iYҋ< {Js//iPc3#`j]0: L4=h=ac+pњx`5zF8Eg A@瓆t Q #qdWJa\%D{%qzK֑]GZ-]hDhG(hZDFG3jL4 @ +kJ8y=#_O0>K HKoKT| K*giSU_[#[#/ cK&We?PP'k$!yy mKNў{cD"?~"< +$H( G4 SWDuI"?-BDeZ#"&P^yU_kS?z[q +5l( K+ WxJKti/OAmϯ_F튎CG#_G_j #OCU^߯⾁ΊZ]t I&OIN6_h/D4D(hH wֿ(KZ?x+CPÍ$JPG"9zz>w<ȴg/Hd|!7fO_.y8jt$A~IC 2|#3?H%sQJ"yQׄ \aJ$I}%|EkqNf t(_ إءX@rD-|s_$k H_TI}~#D~.uf7i K 'Iz_W^[* _? _A&#H"?}./ [ 5 lj =X1 B)0 @$$_FIM RH0m&IIwߙ+Ko@J a#K\$Vz.Nq A$A0 }G +smz 5O aA8I4Ji-gkI }C7d I8 N`N`/Hᯊ@ XIA*Vk RPjKHZ> 82%p`" .NB !HEB"?I0B)c[A DDFL2G""""?ֿ|3l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl٘fٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈""""""""""""""##. 8'pN 8'pN 8'pN 8'Y8'pN 8'pN 8'pN 8'lQq->>>>>>>>>>>>>>""""""""""""""#B"""""""""""""#+)eRFU#MɲeyO3CTxpB:6ӕg:sn6Id&I"aƃ d$CK l.l's)]28\U6Su @P-U&'u@-i]}L. :vL庖{pV/>΋IiH>3Y?Se/'%6v!ťFN!PO'izZ>: Ecx7,ʠI7ZI +I8ElG]/K)J?#1e sD_+ +"rߐT :I tdo}^>;D4kbp~D},בpr^ >+D},菥t:~E6{G i~/ooK-*[UOنtagq0F;qwXu,֏}<0C"},P_"KoKţPiR-c:_֗( dGKA{z8t moEk׊gk o]i{/Ք ,i&d?euB>-/Lis^։,yRȨ6i_%]&>B?P%[vVK֑1#㥠k튎tykدK)[hRl;oJ}?"{!IG Dmm!o#N _?(#?$ <|ނ8u/mKvo5榗$JQq<j.U]z_O /$&G3S_^Sa+DP 3#W$$:ڎ`3B % ^ hq|_Y. +W/8KJkikuaD/8K*d.qr_q$4DgG$/^?ƽv1-莴Hj\>_xa2A IkKI-c#IA@+Q:uť^fa& 90~All2 5*!ʡ"k H20aA8I34|aѰ̓FK5 i^ x2 21j<㏠# džPnT ),XL,4AdV>p/U S6$ A_+DDDDDFDDDDRѴYVw_3w貭ĄȘ!}H8#GEDt2 CX6DiXDr}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Gn[afС29>ܭ)PL>(%wmAz%+FkL-Pʪ:pgZ2ZC#q C$g&RpױuIʣMF Fp$ 6zo3:^E' T&yGPkNgN/K?mm&QDm&Q Ol%4?ɱM^c"*pSD5^4 \ $M^BvH A=^}N)"]V^dj/7z]fzVʹ"BIj_꺢TTZ 7} ^" %DHB)0:HRa79c=YGYsp /HCas҈0 3eEzEI (G(iJMucJML?_ȧޕAEZZG-> (zNΚ_ߕ KI!ZAYV %T*)m++x$G*< I)!K+_I:* J mUO皯A Pa-!Ax(]GA5`^ @^)Ckϥ޴Ks}}ɢ+:!#</S?Z^EI)81:!#3$&A@D o}V|0~ C+PU%%pAȑBI馂 h h)Ͽ  >U +#dl E: kG <(aAK;0>h8䇹q-ԷG.qkނ "@r-^+$J8NF9,?ԍwvDc5m-xAsp׿)bH}/o`:XA  ܷTޕζuoz ΰ  tʜ >k-C?8 MlBX?|s8 /׬}IpdvY}H`vK6f#KD|rl##"=S)9A)9sB $2V.ˎ 1 ZdqKvk:?A D{߂_^"+e/ r2l,}<5 pN 7#r1`q # +(ndP+c#l+i6:88Etl4DA84ŽEP"""""A@c;7ʝ, dM)aAb`_bv z2:\qD~0y9A|DF4P& 5_"@״g8rG;vrC a0iaT"0hHGkf ~U x@N LO"WP}[?0q;kD~6ת3O +sacDOeهVZpE9crhEcGN8C}cWJ^ƾ#E8"?܃qFGY@s#kw5B>((GGTqiKN*l$ӓ P8Ꮬϥ9)mDpPm-qB?kA5Z/x. +\G[J/ FyO +{,8">l6tmXE9Cѭ3phDD2,gp˵ """"?YjءD i,#TwR;Dtٴ(LVml383f=f TgJ+GN @+FKQ1.Z22d|Z>:6 HME8`Ti}2eQ-ʃA &l&n>6`i:H5PA <&yGPk~[.|-2)(:mi2/Z:}hj oneyI[ +- +/ΝV-%4C3ҿoKBoI/= | $}QQ]QQKBBa7ƗdE fI" KgZנa$\ `W#8AyYGᇿ]tl$qdWJl:](a#"-{*k K <֨,$Î})CIPCPҔ4*gv G->֖^yc+H"?ZM_޿_.@t_vL0"?*IWe"ҤrIgP HYJUXDuJUI55q%"2bn-/JquD{6< ƏquK>ʟ<9g!ATy#uT?_ #}H K$_W믭jS?_ ?˃GzQJ A~Z J Az(ֵh)-Z--I'-^y~8@? V& D~ @u}PA{_-u3AqAt /_ }N:>_/?=XZζu/:Qm i~8 MpB_Έ )Np ϧP"vk5]fٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶ KZq_"׎DDDDDDDDDDDDDDDDDDDDDDDDDDDDDn|_ʯ: .Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"\r.Eȹ"zMX1 }""""""""""""""""""""""""""""""#3Z_K aZ3_Kֺl8 F/oկKf"G%}^:M08& *ɉjpapc~ uH4f %ف})Pka&04!0 +`1_L2!1nL1QKbB ia AL&ADDDDZ@E+&hA9S88BJ9v +I#yd*'Z j apEme>>""#8{4jj4TqBN&PehtᲆR\3P[85 &{Jq +Ν&@/ehzָqzY44AYAm/p4363\_᤿ƒTgKN!ť- _.Qz s5ϯR +k# a# }ʙ:I[zUi'I/xD0KxDT=ƁVʅkVy mI#@[8_IY:4q+cIYEƟ4.lrDE? kKr [_e KΙ0"b D}8]HFW#:B$%]¢Uz>/_L~#\c?o_Q#z_8i ?aT>KKVÿV=gT=\e&8"=I$ . z[UKA6 (^%jA{6P:_Ď9 ~D~8 \xOGA&PYS_*L D 6e#Ύ!NZIL&_ttM/4 ~+$]u2}x@Jaf~z[^Kˬ?X_K  L0Tz_ Kk/NBZT($Wb^#XBp5yB $k%;N<KмBIp 'I\Zt~@ :8䅥A&#]7Z_#OG$!I`$$F5[Z_G_M IB#!R_*2 - +__@MA/Koo%ޗAҰaw /aWKak H6aY7խWL>I :LW~ v H' 6`0IG$ɍgҬʡ#?8%A58ǤlP N` 0zLUz ޜ<$t1ZWP; +q; HpdB +@ i +HAð tHA?@V3 A!ҠkHp IAЈaPB""""#L(ț)6EK"92QIE򉔪VP3Celd8llL38pۆj,fPBaɱiVE^aA%G 3=mݕUfKrHgI҄x3gNީ&{I.ز&ƽ +oA}iC8~( ~4[sY5(3I$I\~pSD5-&(^D /-H|P{6R 6yhT}0II'4N&WM֒_Y]/fL- A (X9nA (C*g)_+$2oprSCЗFP 4YK&|}$89EXe 4_DQ~c.Jt4Bg o?hO(_t=\tXC F?~Kf^ޣ~ʳ_bHSΖ^Ҳ0RNAD @C |Wg$pHA _"KoHihFo<?},5yyyk>y m?ׄFf[kYfLV4e }wAz>>=(Ec?I0-/K5ߤ(6l9qaka*fflSy俓Gݮa*pG_\C]#b3V}-GGK@O<GbG/ 3I?izI6|q?Ϫ$A?xAn _)^A{-/$ <,B ձKA&PKI=/h.}$y2<֧O_$Bo!yxA% 03?Kej/# f)u죯 XAaz L0T5 +W>jyxhPHiNBP }$/JUKtA u %5$*"=_-%!tPg֗ǍD/(BIi WiIG$)n DcUPϮ XA"1x3$-/+ @$/  RO=%BW[@M;z_8@M_S&R\9,? Gi_4Q:A@+i/ä%BAcSkIL1ä _< H' 7ϭ. ,0ZP/5p*zѤ!|L_:4ogU<뤪z+i~ +_:1-"PѷϢZ"_jQ)(">Qq>|Z"$zAc8::x"Z_ FG҈> VDC6 +?/ zS:uϧ3GH]|s_~?A}La no}8,AN7Lv5D:QoAD}'Ql\TH㨵+ +Ƿ@gޛWoM@*7^GUMCC (E + ~oNmo>WK A(:/n0Ͻ6ޛTo0bQ+me/euPͽ젞?+QE( (AB +P 5IG֢G+33 Q:eeV %`(b +? +endstream +endobj +2 0 obj <>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕr\CEI +endstream +endobj +4 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +5 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 95290/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZ$ |pUG>_D BZH= AnQr ڦߝkTm*O SWMVh,KԽI7"=HVl}cw$=B-W.|E_KH0 +W$߭'Icim__KU_, +ZM_[< _[z%JFǣcK<_֝bq Dmy %HhҴqi7^v B_mqK$k%AV_00 aDWҾhpa  V_@@-JK$x ?'ZzzD0k)辰%^} ~]BC%?/]$&ڧKfn%io%KJ/a ;T%5PuuCI ð^nɟiA$ÆJ4 ,00@@2R DDDDDDDR}'Gn?[GeDv6YӆvF 4ϺAVكŌuVtαڸ"ZȮJXDfVQڧDaN|Ցu ;6F dd%pgF2ӃM"jL0j7Gs ӨI 蔢5aÅ +L0aÅL4p,Ld#:DS F|.O^ k#a۰&Q7GPUʰ3ܨ'd`?2AqeyBt4EoI5ejd۷F0mRȭ Γd<~qiv(4o#CŒ&}{*j>By6p)|BtЛal?FB$ǺˎHԈ\C<~+&ʫ${O!/Jr:M,z*?iW.!<ڱi$_=!_Cmן d`*^?095|)$$VנVU+tړ`AsEkK} $:I}&(:vkYmib\k4_llSʀ9 J&ŝ?z]pZ1_8/uEJyőDkQ0UA5K:sZ~eg?\aAdΚYAa*ebu/Dz2?}i7~"=^cA]# IT>@" ~3#:{)?tOy._u8 _|W&i+]&U/tz^j"ISL_8O5U+KKPNh0K54$M}6Wk](\0@;D1D{rsӵLW6PmA5⵱Y. +IV֔?B +X">NS7Bzŭ.#V#tb VJ%B/l`yީ?M~yt癈9#T7ӯ +_/: !4sYo-}4RO׋_ kב5keNuuZL=.=Y G*^r|t*!Ћ$wLI)) !4/$qΟ_z_;t$ X=R_4^?ZIjϯkJ"MzK0 m/ _u6aiU|/QJ--3ZW_Km$ A~_R +f_UI=- TGA=,]&b$+ B8e#I%ZU_A~,־SV/Fj@w$-V %_zM +j?*`Z&=I,"I,% A_}4ұ3_yCmH0~ICr9p$8I =]i- PDzu]&IH #ʮ{7РJ7v 'a^AH0xҷBۧ^ MWM0iWM%SФzM~o>JKnxI.I7qz$$ޖ1?ItoH Itt:Wi0*kiEZDo$/$/M$ rIlѬ560 һOK( %&#A% >+ PAl?aРA1I0a.qn\ya/b kDT+0 H>/Xeh 5 &IdXQ'a)p^N7L-%$PT!& ~@Ab:A!]!pa hxzt^F Pkx@54 3d#4#GIzhhP!A,*&DDDDDDDhE"0B"""#e*D)q,e!tIITV2"ʲ"cLg^ }Q,ީcA)9B +XvzuϢ Y郆uϢ gV"-$,U5#i/ KpA?I~gQyb!Bai'Q?6ݾ ~[*i4yp"?I:?6Sצ` ⒐1փ)BvB $Ni2>_(G@1փmj h?"/$}Bm-/bαT3G^}arT^=MK*%LzqTN3G^Fsi'Ӌ:qQȕB/϶ôQӋ!!͡V7Ӌ:qQ҇0Dzsfa3 㥝VE9c|J ∏Ns2Y )q~`3ߎu[AK#@_,R_ +k=tK8 P_/J5oɌRmC":_1Em-G'ImB4Du~\-&j9_aukIZVa":=:_Z͌]~u?xʾւ)y: n/'_]~u~~ue_bUVޖ_pU+KK {=/_/J ,POAb`|Ed^1D{tӵLW2{1z"O)PsӵLW?@𗙯ߜ37zŭ.#] 𗙩8ȘXF. y:Vߚ|[-wL0zU?Jz<ֺ}s^ҭ/A䯞=6r)V+_kc5#k0 %~TG]|"?t +a5WDp/oWDp/שWךK_n@.{ u?K ⴘz]$?Ω:eW>cVQ_T_]|Ve_g66UkH_A0%#Z'OM.?m}4,aCCpޝ>D5A m2N#~">CK~"_:4XH> x_Bmu5L0ȯ"鋭SF}~pOg}~`_&dWZ4ozu=WPg'x@ +\9>{># +iy(3G M. 6]%D~aZuM Mh/m2L6]%>#."?u]iF~c@zV^+:Ϭ%~|&_ /|vWKuC͡㲸_/#[fICoߋ--COkZ֩tL?$K[_5Zֺe}:5V_O.hraߥZ + %nE u]i] ,B @P Wz %nE?%nE uy:넖!Ah AiwTcծ(EI|B +<Kr **QV06PPAǥ,$moMnqδtZMXP?IzPtm +2;sXMnqηgG5b@XJۮ/܉&Ht5^@b5⻎E5⻑5 +j>ZA޼S-4 :V=fk(m (z[ [F ?Ql O)>`XA + 4" $Nc&"L-RW^8Lz},p϶Y#:egיZDzs)NAN"/vC @mBIim#cւKuy:Z_{(?Q=)E?g9~\ %jp +kf#9/zJKV_B!$ +_tH~uKR_5C_Vӧ@>}1iW+AjCsU D\kh.|a Ik1X?ïeqT^GY?$K/[_kWӣZJ_88?<~zS><ԁ({972;s| ~@5⻑PyO-`>A("=~ji'w$Im߆)ޗKoKm_il?%@&- km&~i- ޗ0 J> sRN39R- b '/I S,2E"vq8 Li/,0Iq+ ^2IxAc!@DhBADGYQoI eo2Gb +)h5"FY&cA6|92P:g&}9 D q@Ry)Pl6 @(`pp漋inÆٴm!o"ւp漋im0el6l6eET* Tvjl!QN0 TtDoػ3Qh&3 "cQpʅU g>Ŀ&CYqL028n.4P}MYBBoaitTDS F4I"nGSiXF - {Ytս?lps.oO l쩯>'抢%$l6y$-YPi֛=* {?I o>(_~[+{lOG|{Rձ>&j6?ZfGAMH6(:/Jr?upSWgONߤK a(G| ReigV"-$Ho<􍤿\/yb!BI/HKD5 ?$濈N0)'%TizOͯ@y$%<:'o8^q 5 Rt>t_нBIQ(փlWm-/PD d5_+BoK]RW^9sLzqh[z_B꒲2T' _m$߲89D\8fi\GK:sLG9JpK,.Tqs$G9'Qz`9CZ`CrAp@)i^0 +z'߷0.%c}9ZM=TN(/cZmC5z]k:5kOe'N_iZ[pIa#aZ͌zG^h+]&UւKuy:WL n/IzMWwI[b׏뷛_iiz}=W-/]-Q~P}KDt3Fbe"8?'^E?-gI0;] SیXu=zO3?n/:ɕEoXs(AuKkUoXa/3Fsׯa_]us.kkb)V]yX^[KΡR۬#@z^k"J }&R۬#@z^I+86_Y  4Vu<;i7a+IC?X}uZL=.lF4U&ʾDl6 &8^YkIu_Y!r@5hsI2+Vc][,$_ C_Vӧ?a"`2OPVߚ V 8:RW^`_&dW}-#>8'o_ /3 .-}XksSZΏ뷲:OD{0^Vԇ9>@G迲9?D{0^V"?Z ƛ]tKojIK(ol| Au |6]%?J4@$E-KnSҴ +iOm{?-w<7H} :WKuC͡3I@&WKuZzۭZ@!I_*0 m/҈m|V_Nk0 m!Zֺe}>ôZ + HR z>շp _ %/s$pzJKm$ V?_SimZZ]D!HKPA AQTc4Ob$*1~ AXխm#5 JaLN?#U_ a#XJۤ᠌Y J/gA\QAUWkKwgA\QAU5~4# =RPIs@XAߥPg PyO-[(m (ryOKIs, $ v )i7 M/v A[I?v A  Ⱦ`$0)%MF+ xo$Im߆)ޗ'a@vb~SK` % X ү~&KoKm_il?aɽR ~,RZ[r-1_Mn[%@&-~% 0M~t%-">`"A! Bb+qjIwAlM K%~?@CL:Z]*jzۡ MxAaEBki7( AT%& < /08/J}aC4(Q'JFA ݬԹd H$ %- +"p u=P! 1I0a.qnZNM:L0LԸ M 50EA-0 ; y8B^L& 4/L 5NA`I{AYZ/g!j080AGH4 ^X,'_1@ +D5S&N)ɂ`!B"Arv !""uv;FBh"Iu}K"14T>9x3Vzdf9ENᲫdQC /. ? ML6Bέ¨ "XMg "VCZ RQh*Jz 2S FO齵( 1m40?nGSU {YtLMKe C=: + 6C|~/JlOG|{/__[Wd?NA)_Qyb!BI/HKEh0釻|)$$I9j#;ioz'_1O:u8kAB#SѢ/!uI_/*gKf-(~/?^YF_HADC>V#MgUts镞_O/fG92᝴n0?3GTV-=~_E9@|'L1߰# Iji + s5HKK:{)?t~Kn~"WLz]~x֐/J-R-FPrsӵLWDC+4Xbg~jUoXs]Vi_NAE]DZ3E[^%z($}yTZG^\$&IB '/I[zb$+ 1HAX:ŝՋǚ?LN Ht5\}5⻑(߄ } A% QO)Jzޖߧߏö߄J}1]ݯ4~bIbz[|}v6_0)mߏm/-t|| 04Gi7m4# Wi7J?`Mq5=[OPm& i\PD4\4.  TKaz0sb 5II vpdpl1B | aA"vqL& 4$hKXDa ^XaWIT! 9&B;CЊB#B-(DDhDDig"(ȋ"cL#!lFf(:*}Cel A:ɦp";ȾUQ)2_#yFE3"`쟃>5dB"Ul6a6iɃa5 (ͣZawDaݰ6 QvÇ m!iLh;DoBn6-: PM{`+W +TFaU0q{}E L&/L0 9ذe>æTrZC_O%AeI g&ۢ! .Lz 3ef2~gnc"ח;hu_1dT~n)mzF`aP:u_[a[e?eM2: + 6Zm%ͭ(4#g&]$$}ma QqűtqũC=~ +RlRPrZ|?ۯ'o޴ΫDo:4%H#N?:IpXOvn<GoH~_oHt%w /՞_(_?$7Y$I _ukaN1g ׽,K-(K%oz)]Om\R58 ~pk#k\9(0 fi'"K,<:__g836/#q3^E_^mjjNt}/j\鮗G ϣV+=y iBMt0 C X"/t/T+Sai/d ɅX5l1Ћ~98ksjj`J} IG |ZD >+ή CI99k]/Q#mW!x%`lᩲh:(!Ηo&!^ʡ:Qnʬը"?]{VZ͌_udGK3ϐvN/i$_Z' P=zK\_rlT +J_ T"?0ajߤߏZkpD]\_vP']{(?Q]k~f + _/P~!5S6Pm_K׼OzAZh"_s?^ +n-YBA%tH8 *b^/:XKu !4_Ύ"$"&M{mi5z_v\Sao^G(a _I4z i䀇oiaDp/Dud\0{}GϫKM">}]?2^ZFlۺJi~-0Ҋ?,7&ʾDl6f_ +Ë#Z|+-b>#|r@E=.VPqAWa49 =K-(]IOCӬz?KR.9tub-^[C?0p?V \%W/^OԇD}[/!zXh/b/"?]G DYvxMϪ/߭" 몯KBKKzz-//_.@i~/ ߥu_[t--COJ"URsk҈@T_Ko-.i:+x=T[}.zsf_;)nM][ZZ] -)8?_)^65 Kޗǚ?f_࿯ +ץ,% A_mS-r%z}/rC(ZEaHWK}/KZA޴[+OM:_J[ Dx__CPQ}޿ 萿 o_%F>z=+_8m>"P.:zWaҿI.!0R. *La{Z\).% sR0Saw =&HԗR 8 A[uW`+K0iR9ZbK8 )2 AΡ<$á93岁)ElVokIqRKi7NH,G + UBN7\Z Bd:+ ` ~^m +ӈᤌ2:CI P^ +_) AK#D:6H*HD`! AP%45H*I T"4"FDDDPB"4"""""""(!ɰ;FEH"#%TF"ȷEsn\cgÁ :gd#hU",Ԏ< O;1llq'1A`p>E4'4ٴm!l'i + eUYSL3=eU֨a,im 63-Ąt-DK3W٫:uw +-ظmB$vD&2LRU٫ &6}AIP"#}7 +wTȃ +aaHC)70As ӝ$Etsg;XkaZg;XkCɶ#E t߷ +KL8`ŗIAAp 7t:TޟPiwLu:UT(mB,L + 4tNu :=: + 6C|~TE7MC4CI6H +B\U[ͭzuv$x[ѨǺ}/d/^5$#RM ~F>=ӑ8"Wg_N29dKmmQm${OAzSӜgV"-$HoqJ􍤿]S,$J/K~PK!u5wo8(C/?6#I/rS#i'%YqK} $:QssCZ@H3Ro}'&?HU~^$szY(pV.+ Lzm_AZ!t4`9 J= qK}/?^Y%ͯӋ:q!/7NM + :!SD|SֽED B!㥝VE9cV{}z sሴ"y IV^"/t/TcZ@L{}q R4O  |qTKbSKPgIe}i6x>-P"?MLZ|IKi-Du }R`I}-'qKIM/ \56U '+]&U[ )~*J ZLE$j>UҴ TKn቞#$U#~<Ҵ T"?g10;]^D?}Ab`l4H$`T'}%IKn{(?Q]kiuj-:Ys룪0𗙩>R#)U%I%C4H*'"֗K9bzH]5f#9/XJF` $zh "=izMA/k׶Oyt/Jj*ZuhKҭֿgWDp/L1e a3~P_>!>_IR_]|VKcVQpHNP AkqP A~Fʝ=&IXWƗq +H_A0.p~UO* $/ x_|+/k_A c}/Ub>G4I:AZH -\$_ C_]_i/_ /(g5JD $ ]o_너.a /[ >`xAZ R D\^Fl5P6-{t `xAZ Rׯ?ZQ߂A&Ϯ-6]%o!2qa&]uWAx @$]z[RپgsΓ~/X<=H\U/}^.piPAk]/X5͆^^IJ"Aֵ+ѭV}WA]e:t]x@A>I6D]cʲ]x@p _ %/s g%nE5Nz`gL_I(A~=T +1xP?_UMQ-.`p K)W/\|B +:_(><ԁ Ukejw8oce9Mc(P?I|y_.ֿ ΂zWr&"?C_Ifik/yCm0~IC~{l_` iu PD{ $4#9o_箵 PD{m-^bIbz[z[ix _-#ߏ߯@vWm./3y7[KKam/ooح-JA(aimoKpKK% ??k_^-0&o-Ka7_OI!~[kIa5Tm>"@CA DQǤ߇R<`O5=[OHHJQKeE0tʔil:K %>o"k^O, x( %W=&:LK[WT;&aXd%P ,j ԕ;&DF Wt3p3A V$ XAkaGo5 % cXk P^vA"WH- +++B +T) XB8*AGFd +! Q 90B;CЊB#B-,F-44ЍBB;C4&H!Ј +DDDDDFDDDF""?v,Z2(D]ز%hȡKr<#Ff(:*}P• +Y$:$'dOVS""Gud$:$'dO- ma`f|6UldFl2'0la6 q\l;LNjL"s 6ͦ)Capۆ(UeB ht(MSQh6)8lM.ꩆ#$aŒ&aIf*mpWqwUVOnC QM„{ : +UAx3 Eef2g_p$ANBvͯH@oӝu/!.tWz~ڶᲰA[8U#DޟoY\U[ͭzu__k]$MU=6(DL_[jǺr3_]zx 6(&MB8a_H/ O朠[*>_MKzS(@먊D~z_ T"?b\kKejmAM~֗ )"۫"#믯e"x3K}$҄{{))Z 4nri:t]i/:YtPXbgւ ~aה_N#5E[8h/6]y@+t_r:_~ Jy>|9鳑v Jy>XM}־&KJU]aFi %[_^:_fW_i5>#\B@KA}m_Ku"=h/~tƾF뤿K~랿o,hR(l4zˆ~=K-$+ H&.~۬GsD'\/ g2?z WkAI03#$Ο>z[}f@$irORׯ?_2̧0H$9߯Ώ뷫Y |=gwI.4K_>kb $k_?ֿa&KIKGVHb:L-*_gz?~V AK^zүAm/8;מշ_iZ=+H Dvyht_OzV @&9"='pA}O?HHm$I'L>KM؈$$ BEhA$M?aH8E|D?F/0  B M 0A1NR.O0zL1$i6P<$һ=P㠂 =}*La{Z\\i2)xI@ ҇zMItȠ`kx <\i2)xI@ ҇zM]Sa PʠJ+b+-'RA~,z NM:Q_ ^!K42]RA~,z NM:Q_p Bq dJ@ bAHa$0@ Mi D]M k *[Ak +@ a L& pkH,j%ztGFd +!,BYA0E8AQ:0ZCAN)!j0 !dRi D i)DthM5R +B#DA% A:iI RF#J@t +FDDDPB""""""(!ADDGZ","L" 3Y"14FE5avajpU(eZ/u 6ͦl +P2=iABe-4znB):-}$p}M=hp2aqtoaa^74ߥL@o]&ޟoskA2: + 6כZ YPi!mUH8ԁsOgZ4>=?FoKߤdtiў#N?/Jp/&IHm(mߔ-$􍤿H&z/0z/_g_(8 ^ ,KB $NCZp M##E9G9 JyS8|)#לYP&Ge3ϯ83kЋN,'_FoV{qV+=.Tqs$G93d# IJ5oH_"_S |ZD҅x>-P"?6[0:_K?3 /%N":Z!IҥD*_&U]~A+ T !_Ziizm<_DCH(Oee"b)&-YCa%txbg~:YqkK ^f"f?tOyU2- IשW$_F*WDp.D|}#">}]?!aYF#M#+-b> VZ}~5A0$zRJzcnzS}>?~f/ 2+Hϼ/׭/<Rl/+Apկ}o]ׯIzf`_|l| AˤǮifICBO<_ /\U/}z_X6(9D^I6k]29Ω'_sksG %$ (?? <ԁgG<ԁ(=V_WamW~UuMiy~0~IC.2*?~A("Ja#18_D`GkAlM.SV!0_Fz4m&< __09R__08( TzL0O3++-'kŸAi8A6zh1 # o6?8'a a0a([^,^($e5TЎBhG@DhR DFDERܲɽH)64چv|#vc9#SP-Dtg3`0y+P;6ᲫdQCgp%.l 2ᢈL0A)Dk-â 4tJQNUBX`rDME>CH tS։ &rm)@e>æ#EK+ypMFBt4EFBt4EŗI&^ʚI@WI8eqVtmm/&]$YPi!zyBTIKB9Iit뚼ԛ8T!:hCO$G3㣠ҺIpXO_[i?/Jpsꭇ~!y%>"b_=!_CiF؆HEߔ-$VN_8Z&0M|K):M_ Ru%zG/nsz'D>)_ID5hg?ID5󐺤I6tqhzWk,(~'XњלYE7y_)~ ϩT>@SIPgWe} +ŪG&GrLC/CLcIBAf_{_n"~a7 +ǿʾ$?ɱP*N+m/C=9:+O/fZ}ZZ^P'\~uL8A+e"DiBn(6uDCLWf/"չŵ,:NSV#t"֗BiM{mi?f?m7r:_ʝ==0HP&ʾDl7Y8ƽ/I}~5A0)?a49 t$_KzuHBZǯ"`2kߚ A+O?AaE~c>ۯbԇy~L\zz`xAZ xMB^}%陁 +u +r:}zA&:t"W) !K0L_AH}a- KKAӚ ,rl _{A$YE:Z + rA~u9?_ Yq$ tA~AP /ѡ6 +<ԁgG(R~0KPI||}&_=_kQAUH =ǎr9 ]Qy8K l AA⼜oһEpWᣡ#[ 0Uhx1^lTM`.*#B&PTЎ#i1ЈD吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂsZޫ${O:}/Jpg:ӄ|K{mX~PI/՞/!^Tkς rH +C4XI O$&}o8~x@VSV*ܡ&|2q|vUy׵H$pcc56\WG{'CB/eRUoK]RV7V,믫d 4yOks~N:Q:_yZ"ƌץ~fȏHe|E"S5{WO"zs_㥝VE9c?_KΟχ0?T8Q5Zzנ4D_ޓ_CkY sc 69ZMʡŪG6k_ڔW5k&bD}Oe'N)_qO% K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z*G~zZh/?m q#ޏ3FbqlW^D=10UbPTG y~"7\g'# +!WŽb֗sk:YqAz^N%c_oa{/v6kkZOy7r:_5I{:KAQ I:}_/gҜG@C?XF*IZZk*8]o,75OnzȎ&I +W묆/:Ni}/©mWa~0V"]B )$>]:x"?DD}$/K~+ۭX:4XH?L] !|-cˆ_D|eD|e㸑_*^mk`_&dW}(]el._rͥqzK,]kGG۝##&A1qCI ԿKAh:_ikIo怬y_.I MNNGO_>~Y AҤ :ϤUe}L6^|&_ /?T0~^iWL_-߯[/ta &Q_ kK^$ uƖ>A-׬g'괮넖!I(Ag9P?-*D^~zm%TKWI|B +/AiPH?%_/(Amm_k__#5 ZTҥ{Z_^$z_?IWZ ΂^ +>Ia*J_]hA_xX<Ϭ?$98dAii,}aXA=uUIv AUtM&XAPoK/& $TI/ЌVߠI;ez7/MI_IzW3y7[ߥ]7&] 7L?`h%KoK}P:][t >oIXA= oKPwAlN7A}& =R.:Wi0*kiEZDo$/$/BL39RI dƵ<9:5]&TzW`i%acT$x  ]& 1p jL642]aРA1I0a.qn\ya/b kDT+085I~X9A-xk4 _+ +?D%:+ |e-%A:#E +pPAA3. !bb  ONK"۬#CA:7DDhD +H0RTЎ$ 顡R""""""""""#B(!;v";)Y[";ErDWUDL-dB"׃>4F"g;C k;|liiAV D-5!C:gdB"j[x&6ͦlv,7DaN|בu ;64֮8mL6B4.( L&/]‹a ŦôL0j7Gs ӨI "5d"g@gvFuw +-$ 8`r\fh(zAs ASϡDԄIlptGH +aaHQO)7ef6V@7\4\fh4v p+˂pXF -zBBd`?2AqeyBt4DP\ 6V|=[6V8zTQ) {mUI:NMXl!HZIť+kuWkMUNDaĽD?b!ԛ8U:z|MH0QrZc?9ů +/|^帅D1MR3`'I7<z Ҝ>괺у:ǽs B?MkHK?O.!<ڱi$_=!CY izF_I#~m{"?#ϳ_^`oCIΞy)l=^paNh+}kAi|֑NH$pcLWi2y h?_(^?1JJ"(DD?M/O*G.+KC_E|פ\8z^ hmVNY#ІCADC~DzcFkҿ4^qdg:שЧ/>qd4D`8(a_qW'c}-H}GZ AւervPgK\-&ePvRg#X>mBG+5ka&bD}Oe'N)_+Kn~կZ͌u^דU]y:0tW"?Kh!]~-?U+KKPNh0K {KnްD}A~޿YkIu_߯qθoKaC_?/!BH_ X+t_4AHϼ/9>RKկk| a_EJt:ȝ}Gx_)G^4ot]#]rº֯_ί6  ORΏ:/#So^f."?ul?_.I MNNGO_>aˤ|OJ+\U/}a-z n7yo "cđRAyg[pKKA]ֵ+QQG{~I6/҈~ҿ[_kWӣZ:++t-[B'괮넖!I(Ag9b/1^A"-.KqE8*SZk +1x_cz<~zSKF?m*N?ݕoY}_(? +<ԁ҇~_+S9'cTSZ^>+I~>+U6F3y >zץ-}SZ^+qT{zA'Ke[(k㯥cf>` sj?Pz_ƅק6G?#w֒ZKaxo%GQ]-O.m_bޗ[*ZޗF+ xo$Km&1H-_[pIUm/JgoJ6ү[r#>oK -L4IR|| 0OKm+Mz[-";XAMm-K$[D&"][t/IIKm, [K`v ޗ zH6X` +a+zMq5մj:+ImƐm& T PAl> 'JGKaIpL4 taPM]'x@_zS'JFz`[ӤAҢpl1tXd&cXd |$áA1A&b`] >^zI$D8A6zBjKi7N %Kh0A`I~L aL  5 &IdXQ'a)p^N7/ b!/&K J`>V$`( A!,RHZ>ႠgOH\B~ ~:"=WXI@AK 0jP i@54 3d#4#B"-РA"4!b(!AЈb""#&HID&"Ȃ#%J D[}9*׃>5gdDRgLd֙Y0g^ ҇ :g̦PrUr+" p漋inÆٴm!m]Æ@N|Ցu 6ͦllam0evpmD 9n$&Pb#]6ݔ]‹A0醃%BBauY[VT(DoQdݑ4Fmén2 ˜Xn.4P}MYBBoai.P3H +aaH7\)IoaMa(e>æۅ +u @ 83(.zB#A(]&ޟF#0n4MDM {?I eqVtmo*'O׬CgBRB2S|~L*΂MuH證H0Qt*V!|!>&j6ƒ z[z_ T8lWs)}ץtUw<z Ҝ'K(I$Ke+q}mX~PK!kK6]PͫIzF_H ߤm%IŔ_K!3j%h|)%$$ʚM#}IvS0:IIIh .='I"(yAvB $Nc&"L(GHmcI"tf2I$c!c! l4C>(8i$9 Jpkg`=/Nr5ޗ󐺤3G$^BJTgL/RkЋ>' iŒ8Qt4?KסY#I)G>Ӌ$qנg4^qdg@1I,.Tqs2Kk"=9^a 0 If,.Tqs$G93Г)z0yKyKWAp@죜sRQZzנ 5҆L(P@(av"^H,vp"i6x>-P"?:[搠~cZmCK-HJwg#^zy'ΞO/Ҵ1:5p'KKn~҄l3U":ۄG_KJK +"?+]&UւKuy:#(3xʾIu n%]h!7?>iiz}=Wҋ-/]-5AQ5WWGN {0K/oK-U99i&+P~!2z S) zK/I?OiVi'\/A0"@>}1i?[S _AgKI03Hϼ/W eu@ ` s}WPr A_"=l/+ApL>=BG^("H^@_K(ol| Au |lK_aKxOĺҍ&& 48lK^0ge@lK^醿ׯN/"}w<7H} :WKuC?}{_[7yo " RAygӥ$D_eqT^GYK u;0Rw8?0 m/҈m|V_Nhߨ~I6k]2!h/A0Bk]2~?km|_k ,B @Pg9 WZ\$&IB %nELRV%nEasItOB ^>!~A6T~jIB ^>!UF?=PÿTuQU/ ifPjHH҇~_+S9E#U5$*/OHt5\}[hWr$-"ᰏ` ΂kKۿ$O5T֗5H^ZdlJVO)ötS:8lAJSmA9<jT=_ö߄J_IiutLö߄J$ۿ"I$#_][ov 'a[i7Fwm&UqЌVߠI; 1H #; R3/ob׳43y7[[jKKa0<-_k Xm/-_ ׿[%@&-I}߭ C Dvz_@A#ޗ_i Bb+qjI& WMAi6i7$IBk|D:Kn4i7 :W\w%M$I/i A%z _l`i%aƩzS'JFäOOK( T AC'JG֑$08 ADBM󧥯I vp#'&OT Mh&/yŸAi8A6z:NMcxAA&2 x(A%`IxAaH%12 x(A00^F A` A_|0H00pa i/ A Ipa 2Ix}` + (4L$HA,TH0I4(A@OаD  A"4#PDA +B#ChG#LZ!d0l"#B""4!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R %QIKZ΄؟D a5!%>=\sDFG&ciAUn=Ny]>83}a?ziu}]i>oE?gV"-$Kg"HmW ,\7m~yYE BS#ɯf8N0)'%_/0f9%ʳ(Iz &vUy׵H$pcc56\W8`"S(QSʰ9 J&ŝ?z]u4<59DFo'^ +}B(~DzcFkҿ3^qdG`2"?~Q0yKӞgG,.TqsiB_ vt|=q>?qΣK V [(/kA~h=0I&>4ֲc^cA# IT>@k>Ԡ2jLĈ_ΞO/SK^__MWL_?%u:A +UZVajkZYhId\] S";Dumuy$4tÍbP~!~lVAܩ)~5#ͪDoWu󓑋m ޱkKչŵ,8=/'Uʱﴗv6kkZOy7r:_5I{:% o>*%~,SpH}g_@TI?_XK^-}zbJ+(o[߷ fʝ=":ⴘz]$)^>zT9i|*v$0V"]B )$>]:x"?DD}/K~KKa=amsEzEВ=}|ixK9G͆^G͆[!$tvJz[qKկk| a_EJt镳i~969/ DTunG۝##&A1qCI ԿKAh=i%Kg-|K(ol| A SSϥBh/_/_ >WA0[im3I@!%L%_]2[?K.I~E&Ş.H [XOi] ,B @PsJ+~)zZTCKi/ҤDץ:XjM( HWA~BJpG}_KPI,־SV/Fj@wI KK*K_#DW<~U=_kR'4@,%M/Ӯ It/ SXaiW^ MWM00MxI/a;__ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JuqLmI-DI29>j0O &rmԐb.P2DW$3u' b2t:U N/V3 {Ytfפf L_Z`S El^\ײI!p"ykbgB$>zaF~E~4J%K\t=>&j6" s {k(RB㣠0mG? g:}/Jutq2pmG]kΫN0#>H_Z}mX~PKE25!y%pn?"kvS0JII?H)ɯg濈;r_'IO:нBIi{_|9񮎐,5b"(^Fz_B꒱8 FQ W6unm נQ8 M'^ֽ~NeTq9BSk?]:j:Ӑ$# ISPg'eu~#^\tQKD{rկ뿿\uG^tRfeaWwIY]`x=\4GQ~=?4VGL#NA1_]qm~߾Z^?B +X"> ^b-zfu|7GAZ3Rׯ4//l`F&`EXK:Ίkk׶ob/. yVa #k0_(Km--&J4@$_immW{>SҴ +қCkSu~پgsΓ~/ZJ{n!KA)ZZ + ih"tIiw ~I6Z ltvx Ș+mW ih&ZPTGAz_-Ҧ z>շ%A6J_OT[xA` lLReLh)&$ J4(.-?#aSo_ö߄Ji֒6A}=_m4:C&V, XAt$?)%M~F+ xo$JE>$ z[)<[!imBm ~~,R}va?g{@Ka_Z[daKnVx/m&K}P_B&$ Km0Al1ޒ t 1 n^-=`# Rd[TP9B_ SA +xҿ6OI%x -xA0>pMK&+e(i`x_PO_K_B +X">_zA P'^-iq"W9΄fIGUc"/?!L`~Bi }>b?a 5_X5&`%^:YOaZK@&㎱S& :zU^G(a_&hEpKat:EpI/t"aB_.#]@.i._xA& .qLGd^Dl6B< xV +e_ pe_ e;㮹sEDl6dcK8Nh荂G:ᴴ|0~e*:y ui$/a49 y=\6Zu>(!οm.aE~bkY%m$GĎ@{DJOp$t 4AHHD 4\ Mh(yuZ^ʭO i>t?"?sSH-}U A~ Mh* IuXŵ_t% -}.𛤿ŵ_)ZimbH}ZOJ+I&s=H@zVZ[_CSҴ +҉EH/sԇ-hGDl- m$ iiZZ$[+J - KKAS#KHGD#KHPTGAzXI(AWq9K H A^C_=)i:+%uy AQc_9 _Z + $/B^ZZ]D!s}/Ah AiwS--."BBpAa#kI|~05 /Z@F_b +KHXH A_m_ +&=,% A_mZZ^n_@-}I} a(Z +n /=,% A_pOoTJ6+ZAީ*KoG簃- OoT3^h~{0$I G簃- On4(./ AL4Р/=_nhP]ROXIXA + KK ^}K!Aw۴7NIZ[vYSB۴KJկZ[v$1 Ko %A)m[}im y֖0H< ]ᄴsBKo+ C 'Al< `^Uo--X$ KnVK_ o---JX` #!Dx /5 $H(-"7$Ԡ!8 Ԓ[PDnI-ҏ@CpA$|x@bBX` vӌH&( _O\p@[IKeE71A[Sp%l @H,26*e%vL ؒ=P=Aa$`L [d Ab?D%(:@4W c M Qx5H,D @- @AcbE_pE&;X#lpE $ktPFAN*H""ADDPB1sBiq "MSζTOY $p&vh6? A6 " aɄEz i0àD'fFBpU +8a"TɶԠ0ŷuX`rO@aALnGS8V(}T-8Mip%_eMy"yjMԛ8T!:{?V)C tq<굦t\tC!", a.!)__<GI 1{I8A6kNr{_΃ 6:uE]? RN +'Vכ_񲏪6_񴓫u*q_OCZy65Ϯyb(j_ͬsTV{zKGgP 9>y~7 0ſI~ ~\tExuwq_^G+wq&}Rof_{_إ׎S^G + +J_o6{+P8Q~=?9uf׭xXA^:7?M{m|q"o&`F㎱CE7=VfyXZ?=pJeNEpJ)4U]o3 Y9'IlM;!= m*Ώk8NhHm?-_4y uimHjWzI#E_kq^ҮD]G@8mʭO4yuksSZt}.Mŵ_sԇKA)Zi{J{n!S +?G ih"Bt_"oI-,#h#G0A~:|B8@ޗAuA'KxAv9 Qw|/TZJzޗРPd^CiOWI_$6k/bݤO -ko/0\g>q_im l0XL< +IBmZ[r,1 1_MvD` K B a_xB@Ca@?Ԡ!& r>rtk MfE6q1AH& kL:d ڵ=P:A؜\}5H,GA Aa &SaK0U!{d6aDBT#UT"DDc,U刮isTv$& vv!Te:plh}.eufQRm:+j 0M8d ptM6lyPӻal0dn`lLvL` +.m#R@M_g&a0n$&PA)Doa +UC(Z'F3p[ ;.34 p8@96e莑qt! S:mנȐjDc,sۆ1nv#0s.Y(߻I+Sn&SJHT6H +a|!i'l*΂M 8 =eU| +_!Ľ>By6p)|BtЛal?FB$ǺˎHԈ"6P* +χޫ${O:}/Jpg:v]Cyb!BI$VzB,5yR > +ȀU *4XoI O$&}o8~x@VSV*ܡs|4VA3^ׯ㶖I"tMQqֳOq_~Ny7pT_h^ʥ? ޗ󐺤/n LY_GDGf9׷A΅>gEN"W^ֽ5_8#0_zjfY+ezO"zs_㥝VE9c?_KΟχ0?CuXhʰjA}#Xz @1쌏E_ZM7}~id4X9;(3aG.ij?};)?j kZ}@e:15k&bD}Oe'N)_qO%殿 &i+]&U/tz^j:__ k_W-/]C=9::+O/ֵ`Г&5V. +) +zZh/?m q#ޏ3FbqlW^D=10UbP/8^fDy_W$ӭGK^h(oȅ_Z\FF-g9Ay:Uoa{ "meI ׶ֵ5\1o!tjzu-v*#z"?GO_[şJsH +a'kK kůUxⲍv#WSt]oG]|VK+_cCQ +'4?_T׶?a~f +_H_A0$}_OZG{ț^ȏz[[[ mֿ,$_ C.KY/">l2">l2y WH/z [ۍ^_ /V LKQYQ7Z_@b]&">Ώ:/G(3G Mh bԇo8~?uX%WA0[_z_;t$ X=R_4^?IzZ +MoJe}4 m~{~I6/҈^___KI 5zrJIbM/soU]KK窖_Il4/UmA/B ZT#R?-KJ[f|~0(RK-.kui}z_KaU6F3y >zץOh{XKZAm_xX<Ϭ?$98dAi|}aXAo__֒U'Kaxo%GQUm4{aoK/& $ -RoK#<7N_& 1 +6> SXa6JgoJoILH 7L?`h0_)*^z_[iۤ?ME%wI 0&avE~0AЦI S_=[O('!y! BaʔzL=A&5&Ѭ560 һOK( %(#AȀ0a`P@aAz I vp{ {Z"^ 5/4Km _ 5 &IdXQ'a)p^N7L-%$P쥄;(qi/0mU +(XU +B =!pa hxzt^F,AgѼ""#B&PBArvt OM ADW;2&qF@H ",*;*HhE-dB"fZVRCrvO\vD"(gsa0μA#LÆJ,Hh8d3Ʌ-<Nu 8d! `4yPlav 6U0dI6I;+9\4QY@M_tl\^atk@M_!bBauX&S0â,+o0èUeBbp3b.34 >#ES.Lz KYqL028n.4M40} <6 <$)nypN+eŗImXF0- {Ytz&Ӽ Ӽ3k3eMu$/]%kL=C* OqO{C~q{Ѩ?zN'lOG/||rB:#L8o%9帅D1Mu)_mmH!/Jp/6e!16&/s B?#jk_BI.~_M.ZՈ I$#i/U?q7ŕʡ)~pmo:㤟m7Y `kz5UqBeYyȚ-A|x_'Iq[нBIr1&I[^$јkA#mssi|W.rT?(0 t__&%e<=KTZ/BS_[ڬzZ"[}t[NyZ"Ӌ!/گ SizY )4"5x`iE9cgFsR|,yΫa"uG1Dzs>afiA1~҂3uqo{*=נ./Q9(C[KejtU9NB(aDi#D߰a ߰a&|om-G<רtCJr5k:_nʬը"?]URLVtRm#oE^uפ6Z͌^*G#Ik3utW"?uXr9 2=_;K-/_Jo/J۫=/uDDG`xC+MւbKKK^zAZhrsӵLW^E?`| '>~"[8ȵ_(uIEWֿ LΎRK}[,$_ C|kƿ_BGB?4AKo&dW}&řg_/_ /3 O}&fyu:?&?KoZ:? `xAZ @ nT5]h/tK@$UyKzz5nK(ol| Aˤo֯]uK"V6A ES$_[5-w<7H}| ~m $/\>N$/KH$'K$I/#Y}-Ii +ֵ+(mk>줝AZ + K_Ao$^98Km&.um}\$&IB %nE],iwI},iw_(HZ]Dץ +?8-b$*1꥿6/X_6K{ ?meH񭲴ץޓm#U$^f&yy9%iRm-ƶ%Tj?*$2\6tK#DW<~UuMiz[` 'p +wZ_hP]R^ PDy&[ 4:Cï7_7#ĻI?/ۤ\~&Ka$? m-ޖ 7bIaFwmo?y~KnKOүKm&aץ}7^3y7[aG#_ەdNnx/m/?~% 0MxAaL?_/i$_B aIa?a,0n~& CHzK1 WM_IKqIlR.*h> + `å~\Ba Ka5TA%&_a\?-( UDŽ F$-! + IׄQ'JFK%7.H !K]~AAAaXelAËp%l MMi2 AKiB`] u=P ,ֻkP DrMIzmjAdAB6X*[A'a)@q ~ [AaA"v&Ka. :A& (tLAYC}*HQ> $M#CX@AKHZjKjT"#4 A0B>)2@DhqHE T)B5QDDDDDDDDhDDDDDDDb#-#%Orv6 %Dge/5 reVȢ =2"mL6BlE : +l6ػ`nB):}2莪-IOZ$\* +KE\A0]$hh.a9 + :s.oOWjJ__l!H[|e8WҪ?[b}./MiLZ0# I4"?) D}-/CU QΞO/-Du[DkW(l?-/~ +I}#a-_e?eXF@eGEiZZ^[ue:eyki G#NA1_z8g}_ii13"WŽb֗_~/!5/I5f"oz WZSJ#_#XF*WDp.8@\B ]uZL=.kJ~]idRKS: UJ~GEd>KkAkָK0  2+Hϼ/~\3X疟"?:D{0^V"?_ΘKB30/uM Mh"pt4,i2}zS$ZA{7yo " RAygp*Z[^?pk&M+ZL^XXנu^98$?\$&IB %nE\/ez_uB ^>!UF?=]$H=^Y"Gm_(=VxqI-rF3y 龶lWA(m (ryO ]Ka7#ĻI?MmwhKoЌVߠI; 1H7m--<-_I'Ko'OI[_~% 0MҽޖD`XK _LEz &oGFAl0\> + `ki7.!$-! I"x_DŽ D (frՒV+-%V (I vppl1j>w/P} `AkaG 4-`\B~  _vUUDjT$g$Gi!J4""(!ADGZ󳢸+Ƒ6Gb*yJLTj|MΛV"D2- P3}hfܲ2*pɎ6 O I]`4!Yal3<' S]CMi(C5Z`Ȣ 0a$ˆ+h \*EGf/oZl2l]0edHL7N]‹gx6l L0 9^ˌe \K$ˤ?.34 p8 +KDA0]$hh.auL6vȠJZ6V8t:U+e :s.oO"Xh}{*k=CJQ) {|!mUTE]ޘ#OR#a _K?KLglOG/S$LEHGE3㣨d`?}Dgؿ]s)t@DZrlV +CgJa!~^+O_gV"-$􍤿V+S{I8A6MuqE_YvS2IIIO$k s 6mu:uk>u_9vB $NCZVA2!?W9}eB\6%dd>"п8mmk6um[Cju< +t[~hk?]6d0ziŝ8BP5).g98{+Sq[P~-=~_O_O>ֿ'zo:afy<ҘaG.ij?i_F?_#jj=-U:5kh9>tRm#죯(ˆS_}z^Ǧy}tWL n/KgYFH()`;HRMqo"?DJ/J۫/B +X">Du_=\4G_־<Βav +`[:9З:n/:^&ޱkK ^f-IeZ}IUCkˡ΋!ށJ~_/f:M_A2_/#@l2}:͆Z- KKA{+J ?^G _?aA$Bt~楲,vURzZA +_Ao_=,[i7o-G8넖!I(A$mJ fBHm$ "BK>>~/^{РA!UQWǧ ?$Z@F[__%MiioKi"Gm_(=VRRP%E_)yA~9PpGK& ΂kKPI꒤AoG簃sS:KIKlWZ(m (ryOI$-XA + J } IKaxo%G6~C&oI.r?i!7z -]j[}bIaFw m'm! %]&XW_[zZ3y7[aA~k KnVtIRt߭ C Dvz_&Dw GIAiIa)XK _LEz &o=!~u'DjI-êXE~ҿI$K`P[w\w%M$I/KBb a^LY.6q'*K^LHZB a{PD4A:PJ?'%Z1KN&G@H,2YKirʲIGMM @%d4I[,t)& %- I S @P@ *<{(H,t-.- hA-J 2 |(A00_h0@ȅj* {J0UB" $ UbF!,W P H %, ЊFd +* #2 6%N!HE!O )R + ! A"4"0BmFDE""""""""""""1hD6,"2X"L"[y/ԎLL3}jö9;aɅ ["Ӷ aɅ =2"mL6B\"pʅA0N]El\*D'f.2$&PNE4h#H=( 1iOZ$\)Ɨ[jPbr*9-qqtoay8lH,amzF`nGSu>0eˤq2rt$i|!mUa$zG~^)3u'#~Fޗ4-PG}ן>ؿ]s)t D޶p3? n)_FqJ<ڱi$m%KtMLq %=za/^! +qI?I!?6pJ:u >x"΃WFнBI01փtyQOלBp Lr>\Rᷥ.+)LeER#gfiCI omt o/KסY#_I֞_ͬsA>5gFMtK:sIz Oߠ0|>B?|?P~-=~_/J^=5=tv?5 r8pKQ-Hemz?_F7߮yƒ?kCAt'KKn~òͭ("I~ GIxʾ_5#5-5ƿ#G-/]- J?Ү}H(OE]k#kAb`_>Duf;s z룪?*|[-iqAuK$/eb?>Xkc㎱_&<ֺ}sR/A=}uY8-}4P*#tO6LF~#@|G<~]|VK:e eJ#M#8NhKsEW׮B )%}/?BGB#ZX?a"`2O/:Q_9#E_kYk\% _Ag렿tSh/U/</eV:GPgWx@ +\=BGk_~f ĺҍ&& 48lK\z ?IC`4T>.:/sԇ)-| w<7H}| 렒#?F~I6k]2 g'_E_3^98$?\$&IB %nEK(?E ס^_( HUTc-E? "Gm_(=VȒK:-/A~9[yA~:Mm/4AsGWT֗~F~(oGlWA(m (ryO WO_KߏOKa7#ĻI?@KG7i6_'a@vb _M?g{KIq/W}Pޗ +A$/>wAlM~]ׄ\?(~`(~=+*i Mx}AҴ0 =c4. ם ҥsapN$-! I"x_DŽ D (fr $L0Id+-&Rd%l Ҋؤ0o8-'&OVAa~bFPZXca.P} `AkaG A"mx[^KT/B#CX@AKXFj +RB)R +  A"4)DDDDE""""""""@w4vő\dLђt[&ԛK)I!T@ՐymΛdB#hԊ D)d쳲!Dvj/Gi2gavUӇQa2~LNӆj>aÆV6 N1d C al3<' 2ᢊl2PaSA0\^ l6A0|@ңZl2 +3Q٫m L0 9Fˌe !39t"cʠ}&&Rh#Eeuef2~g.qڒ ]NBG%N ˜Xn' b2Um(}WhtNiX 1onGS\0P={*k=m%HȨc#EDu B#kL=ClޤF8K$~gA'_&n$xZ::: +mkVM_^Zm&#?/o:}ɱX* a(G| #d5i*I" +y:D!4Y5F@/?O"i>P󜢇鲼(SEǑ3O"Ӓ~.}do85Κu[T8!|>98o?u VN/eP +`hE}./TFKOZcH^D0~۷J})6 IGz!o:aiLZ0# _|WjTqeVj-9죯V<_=5ot\K_"?__~P_}tWlK%3׏gHIW_(Mq(D}A<>ri:K1Q_눿__K}$y$4uXtOGU~y2DG4K/HDKK*[(6z[z넱#E _?}o> +ץsG@@k\%ץytΏN ~#DeV[׵@@e@ K&\G/jޖ[^K_UK[UG_]iF}/KA)Zishm[C~/Ӯu#CC^;tzZ@!K ^/2$ +[~H u?ҟ#Kׄ L>Z + HABNPAZ@Fc_bB֖Zo_y[__)I ״)a,4ČPa. !bJ]RB@E$ab,.UAA +B)R + !DDPBB(! +DDDDDb""?ldAn|.DYE&lax3D +3ɄLGLvva#SFdK{;Yل:g̋im0el6`g 6? L(6Ul(pe6']CMi(Cu\*Uέ¨(0D'fӨE'WptoaLA*I-( 1u.3..4M40qemA^7 >ۦQriykuULS.oO?I oiMiBj6юU^{j6 Ҝ'KJ__ZV8NIzF_}/RZ"4S]K)_PK6^q i%_փ O^|C#H⬇~C~mB $NCZ<4/AοT-Pz>s/PD d5B꒲T' Xehphg?-..+)LkЋN,@=#Ceͯ*ZP&=K,Z"Ӌ$qts"=9^aumfkY}z]Q9t0(a&Yf 󟙣gZQ~D_oߜ@&KoTIt뎘cSIB"=:M='KKn~F7Уa<\?kIۄG_L n/IF??_z2D%V_7$x֐#?xV_A1_zuD_ZDiBKA1_zZ\F]~4u^$룪=/ߏGUxa/3]>b)Vr_I:^_CkcxE3JCF*WDp.`?/A gKJrIWKg4P*#tIBb5֐A6?4"?\B?&I u5r@AsK㮹sEL$_\2~SKKEd>KL0ȯ" #>_֐$t D~~3_K:Q 2+Hϼ/`xAZ @h/" "岫sS @c#*5?l/+Apծc6]%_ȁTxDzf`_X_A&' Ik@&WKuZ~5A]CקfIC sԇ@&WKu] m!Zֺe}>%|_o$cx/I6k]2IB %nE?($/:Ny %$ 童 #//e)B|B +~z~0ZKA%AX:ŝ/~0Z <A~?][/GWT֗~ P ʹ-Gv 3^h~{JS> A]GAvҞ%Ҟ PDxi'|7N R3/&V_wh*V~$0#;[a/a -]-͗뷿[a@&A~[ oKo'Oүo% 0M &ob>0*4#K04I ޗ\? _@C[Ԡ!4m&>< J!C3(0  Bi!$H'%tʔo[a" $D5(6g8" \AkSɃ- I Sկ;  %!da4 k, K l vQx5A00^($e {E,BMc!@AKB#B5-P +JjDv """"""!ADGZ*+ !v&h"KM⥔}`쟃>5dB"&}9*׃>5g lPM8l8pd2E& P ' kȺ68mL6B&j&\4QY@M_&3R* Tvj ‹'@M_*BBau"7l](B `r8A%4%&ڒ \P|6\fh(z 2asPPh.a~&' b2^nGS꾶MCea2Aqeg@P\ VphH{*k=J#6<~(4kMUN2*(_{Sȗ_{lOG|{Ri-]iW6c_Ԩ _mAzSKK3j<Gԫ+(_6D?(ZI%yd5I~_VV*pmo:">_[kœaROK!쩤=^PHQ_ RtV޾t[^$s^I@kABoUz1J_ ˴/5?ޗ󐺤&r#."н [G6dZOM~mjjNyZ"ϯ8#>qd4D96t) I-Ct\}~m/O/h`5/ȸ4u[AK89Y5zV0Sp?_BN7/ePS!k`9q9EJ{*G!i^"/vC  +>71?;ȗ0~ȀUHf:cZ@mB/IS_#_zs5Z#Eװ5kOe'N_iZ[pPm/Z͌uG8_ʏr=%O/㮓*GA %zI2;sO\_%mI߯Ggl^?]\_qZVajc[u G[(A@kG˕ Åx"9r#kA,WO/KGu?@ӭk`룪?KE5lʢZ?g9~\ %jpK /[a 5E/A*Țt:_]?EM~yt癈GK^/A^kׯ#k0/_ׄ+3z_TG[ -}4V_B!$ +_gӶsOB, KK/$%-0Ҋ?,6Ai0H~u_{ׯdG _L'4_^ +,a]~5FU߶ahsI/-Z_im%[,$_ C_VӧG8߿4A:#k#E _?~umaE~}b3 ~6X-}U:?A3*5?jt]#&?9\=BG?EP_At$jޖZ_uM Mh.|aˤG_K@zVZQ"_A =R^^GY|&_ /^| y6KzZ@!H_]A% Ȑ+m]2??aA$_}bk]2^Ah*#/}|$q~_3[~a"p _ %/s$pzJ~!₿_?8-ץ( HW (i1Ꙃ=6_%~_$-iiK-5b@$aCɿU镩!XJۤr,q A~9PpGKqHt5\}[hWqZAީ/A%al)2t_ }`A%Ka'EР?/ zSH3<:[~A("=~ki'Z[v$ނoKe_ЌVߠI;I R3/KoZ[pZ~_%뷤Jү~&KoKm_il?_Aim&_7I/?~% ?:Km+Mz[ b/5&MXALEz >P^^i7$ A$am(/A?J$Ka5Tm>"%CAΊ`( U"^2}"$5%rT& < /08/J}aC3(pk4+e=$ A2MMi2:It +LK[WD8A6zBbu EAcm @- k %`AkaGo!/&K 0/tUbFb" $ݤ080AGH4 ^X, Z%.!HGO B#B)2`!B#PQDDDDDFDDhDb"?YTF^Qت2EEt"mhXDYE :g!D@y-gf D QL+ ;-"15d/(ȦB2͘L3}jf i(C`4pf{ L"u 6ͦl gXlPl6 gÆw _ڗ> ]mJQ!H[| z[z_~/Qߥҧ)S߰/L?KgJ o. ^hԻ~ ^:_o6􍤿ei4_qJ򅤒^JjkRׯi$m%$h I~mx1 #_III >Jz׺z^~C~m|!%6H  h?_G:B $NCZ(/Huo^H"TRp8(\E%e<IeZuzf`_ I?l| AˤHdK+WKuH-! " RAygֺ_fIC_/ _A2_/#V!ZV_N $HV_Ow^9Wx@$$HV_NH$%nV?Z_/@PI[w:8IB %nE UTcէKD/ 童ֽ!}zS>!UF?=Z J-mu_9@$ak[k:?}J(=VAZK /"o(_A% A9<i74_ +?=A%O)XA}lA%O)PA2!O4K=_o A.OKb>t_%o%Gv$1HK_Zo K_ o$gz_A_^뷿[a/AlBR Gi6";I/t*Pޗ/a߾Ja#MM=%% AlM }+M?#Ji6H6ioKåXEۥԠ!4m&"Q ?A0](J/A ޗN0tʔtׄ_i\A:PJ0 =Rk ΂iRk #^< J!C3($ I SE D2GH-v*z0yŸAi8A6z2 DN KYi)FҊج Jc a0a`IzBm {^ AD$L& 4YX aYZ@m`;  %Ks S ^j0A5bAPi/khv ,C8  _r A(A +PB@DGi!ఁ +UGP A"4)DDDPB!"""""4(!ADDGZ󳣲ȩ##Hd7 63RdB"ؖE;}S̆O; g)lY>N}NP3d2*pl6? ΰ.p`'u 6lLԊDC`aBLh0 Di&tհҨQ{ya NBVT&C#J0V&yef2gL{jH 1msIB ^g0tFI|֎[w[ta"חᲰA[d`?LM (C :Ytfפf GVg1v֛(TQ) {i6H +?A뷶(mt@|!mFZuN)[ԈyBWFy6p)|BtKomޞk{ѨeTq9O~?I>ΫGAwI7_Y/5~!ނV,~Wجx0#>.!)__h'ZttBI/_^4PNW?$^urkU_R}$$$uS?~5InQ7ߏ:ugQƿ:zI"u_ /3(ƓI=b@ t/Xu^q%WB꒱8 ~\5<.0]Lm$6d6eTl4toA K+zס@=/G " 55Z:K*K=@U/"tʤӜ/eco9(49zD-I1AP">l2y ui /a"`2_SK* +ڱTQ%m'::R+ 2+/lǜdOXTZ4nG[3.տPqn&Z 3_#AtKj=q Mh/-zZOJ+KCkK=Rk=~:GA E^ ih#t?GPW &A~m AQ' ge-IշIB K A KH/XqN>A!Z_{- V?mTZZdyk#a(Z +nG"/_BP<׫j?*Iȅ^- OoT BgbY(FEKZ2,Z;)L gv%n̶a@νPhA`6 FD2MaٮÆlP2,pU*4l2~Dk"mL<(C#J3lnp荤 P&\4BLhAQh6ag "V"c0#H ŷuë $ɶRH< qem6ӪH8Ҥ0$5{*jS_֓dCC**J{_'ngʴ'Oa SgJ)ԛ8I:{j6IںIZfGQM4+LԸ)t_[i:uM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^6:\Jy$t^yf95ͭpmk ?$Z %=za_:"OHzO?O>jFI~|/j@|/j_9I"th2.F t- I 1Jj^OTFs%ddr|6SOYy:*jFNKz_񴓫zEm$8pJ?I6ֽ0D﬌-+|/y gA:^#M70'./M:K(3N+_R#EU%Ɍ#a_#ߚ|W|~:8֓<3V^&~+Cf_{IMk62iH _z2D%JT% DG_WiVPUVإr*N+lRKfZZ^[uS"ŕ_Y׽zne(i`x~= # 4҄{b^frZK 襂(uIFrr!{],`[MD`[Xbg99:ŭ.#.51K68Aukk/]0 o&`ּ 먇 5Xf"o8RJ5RI+C?BgyXY#k0.+-)e__䀇yBJVQ8֕Fʝ=L:Ћ$ᆖ@.i/QƖ:GSuL=.WA 'IlM?o\׎ `/$䟳 "Dl6iO>E x]R\Ewۨ@{!θm/a49  _=amH?LW/58m wߚ ^ @A~f#E/ a_EF}U3Fl5Z _߄z Z4nO/ysS&ZZ SKrj]7Kt tH^h& 4@l}%9 ]oI/KA)Zizih E=+@(qz~`4T>,=H$eqT_Oߞꗽ-q8- KKA%#S^? IkXoK^roKH A^kH A^9#u<O_3$Q{KAh Aiw: A KHP!>!UGI66~u:?P?Izt&#.>,% A_m_h+KȒH_ +W΃^}v7xAiT{zZAީ/߄8@ P'Kԃ~9oI箵^CBwT=u  I&UP:_l? 7B۴bݤwhߠI; 1H_AW}7Z[pZ}im iml-_KoICD~oIR]/ەeAimP&߾^BX`ŗIAp#DS]D8<5뷶(dCl i}a|!l*΂U"6PĽ~[+oFy6p)|BtK]>&j1uu\tu: /r6pAn=>}U/+ނ'6+^!y%062 ؇iFՈ I$9^p gi]_5E_ڋrkU_0o8_ RtJ>thtϬAzG,vB $N)_/@*Q+Y:/L.hg?oK]RWLm$shmVN쪎9(JmƑ=ރנ'^m>i%akЋ4^qzugQ9(C:%^ʡ8$e=%ҍ[cAֿ'c5L1K_ 6:Ao:a=tp"i6x>/_|W_~aǥ*V5kuq]/CI_}H0/@_/ɍ+]&UlA/vk:$_-/_VP8_9rG_zZhۯ}ez~#J/?ra &Z + ISim=?Zl[i7ry'_p _ %/--."B/Kmpw$` >bb$+,$mo/U[AAXՔGKk ttSV/Fj_K BWt9I~8w `2/OYPpGo#DW<~UsuA'K~z_lLwReL / Aa _ +?D%ӥU + kDHAI N*#G`B?`pa :!E) E!5F*"$g&Ghb"(!DDb#&hh"Iq|Lw Dl2~06m; q7A0NYQh&M@aoaiۦQmo*'Otz_iC{Wm%!^(9<9c! p9nmƜY#K>=yR3?#}~sC D$)mB%s4":??u^Nxm?Q)Eg94 ^f 4/XJ$AQ ?~uZp~U#E_jJ[zuj3 Ik?<=H\U/}J"Aֵ+ѭ곜=)+t/A-ӏF?=S਍b_+S9ׂ ]ryO-JzO._)ޗ}vil6";I/KnU0&o-x~oK Fi\'JFC`8A6zBŇ B (4>P z!tUrb+ep\"n7ɸ>4DUh37ga}9:Z`GËhFcqٔTlڃ*{ NFM8e^E4p 6:;‹wT&a Di&d 5 $tJQa…UP' +ѭs #@Vˌe :;=$MA8YB:#A0]$hia"$?+CvᲰA[/L0eˤhAp 7j۟_Iu/:MXl!HZIť+kmBED_\R L|^!<ԛ8U:z|MH0QrZc?{e?DjDz(RlZ ʂsWI9vt^?uuE?gV"-$Kg"HmW ,\m~yYEĐHrkٯ/vS0JIIW7 !$_ϥ9䀇$K_nzT׭7[k@RXok3eNuuZL=.=Y G*^t4υS_^ڮ_~f +_H_A0$}_OZG{ț^ȏz[[_vzuA $/zpsK 4 CWH/z [^:o_A0"@0B?+gt-sm-sa#w@uΏ:/G(3G Mh bԇo8~?M--] V?߿_:^u&M .$-*z_KI 3ZW_Km$ A~R +f_^AU-J^c6РA!_?*)_KP,־SV/Fj@w::/H%KI4AsGW,"|D WKtH /K}+5G68#`a -.>0,rK ?K[*l;o A?M, ~J7v 'a^A _W1MaU?g{UzL>"ga5&IA?ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɹEu-dB" 98΃~PBCd3ؙnpa a2ӃM"2ᢊl2DkBn8at$ˆn0 9.34 8e>æTrZJB& +Vyp+˂pXF0-Ap 7f κUF0mRȭ5쩮Q0\U[ͭzuY (oȧײ~Ǻr__a Yn!q Sh?GF䝿Xt\ugJa$/oH~_TCgK=&:Y0aNm(87\2ttfa1J_ `sQ Wi'ۛCju35F B/]:j, ,FΚ~`:Cp"H>A_q9J"=I|ZDG'r5kˆʡ:QoDtk5~~j9]k62{'YFH}t/@2~ >ֳc/wI[kq}Z?/}p5`xuC+M^DyP'3tOץ~c#L0a/aor:_~im0X/Ȏ_ _/K^^G-@.dA.!GZ[ׯHFa}~5@8r5]N^%]?g6I\6[X۞SE/y u ץpTV+ߚ+mC"?]\Ez A&^}VA~{>|OJ+k | ϯkJ"MA--HOwQXDz^,ߨzZ@aB AQ}9]sHm/KTOKH A Z]z_?K_t?8ԒJ [?mG?B-2=J6WuU%=_k(_T2\6I&-}ê =ip/etS:8I =РzK&M ή oK!Aw۴K競_렛UbKnI_ZZ$smֿ>xAimPb#%&tn2I-êXE۞C$hJ:WIA9$( U %S=&|(  }$ v+U0zQ[0OAaIR A"UH-_aC&XGҪČH̃!H8b]^$)TЛdj$~BB$èhDDDE""""1u,!qY#e)*$ȗ GTNR2ZjGgʪ:dO:lʅ( t FRdUC;JDB5& a9JAJ +l "ig +aÆ32*eo mLhe' @@u$ˆ,FvH:n8I B$vF&ag>7 +\ ?׽-/՞ `_ls B?#a/ ҽ/8ImvUCFNa&VEHUp gM~T&KeE46~T&o)=%i2_'I&_ Rez#d jLEbӪ+áKCUeCI:b_Z P i'K)/I@m$jGD*h3^頼g 6}(ѪI-2t*hT~Je =f9IyEϭtMB0 ULJKy}䲯e 8:EOWB-=$gHE@FGQ9(K_H9hE'z+ͯz|tҜU7};)?~']/I}K |qUWKK|"8(5zk|SKtWK9}-/}/ O柜5ǿf_{]$E"?KZ͌U/J6*_%m_5}OZERǂ#ZOg'GEi"_G`*N+mWt@7IGKe( `xu^oeL/(A@kGïTl?2D}A<:U3ΗzF,E^Kб,E4H*[[I~ҋפ0~b-G- HH*H*a zZ{zfBi $izMKnCv/^0 H%bi=4| G 0A}]aD}^G(a +z/B IZP *?Ŕ1"awD{_}`B, %TEp gP)6Uz#`74)F荂 "1$-'a֫*= l0 PH%a49 !:\6IZH .Z[iiVim4#N${DAg_4AJп ],%iP(\%Kߚ uJh" -}Yaiqyo\:GaiAZ4mKI- { oK/egӏ{Kj SSa{YM-hZu__SҴ + ,a,6ai-&U#T--tO-/m&^BKHGDL.#:/?u)- TGAyǧ6 |}EGBʅKH A^y}0A W㥤Z + ?~+{*Nzt~ifY6 頴 tp /~NZZ]zzXCMDAtCs`KHXHm/\i%,$mo_{6&6Qs(۔h+֐n+I!a(Z +nKvEaƩ#K BWuIs@< =iKe=&㏄AiT{zҤ{~9EʙAiT{zU,  uo&J, %:, ? O&+Km?!imMҖO]&i6ij"=ۆl$.atӄKnIu5-_KnIa"Go+ ?~~ܬ0Zu*W+ `x+A(Al1$$X7A:MMA(Al1*RMJ[ DG Ԓ[ aupA$R?DjI-H0I~g.l4$R." pa A-} $ڸ A-$M 8cJaA&u Gȃt@Xel d(5sg􃠿b aR \Ra`4EĂ0H0x= d2&E  )p_A/H&XD +2d 0"YA0Xi!H 4?A0pE4P ةbA 8 B]SCւN ! MDDDDDPB""""""(!Ъ#Q:;S25וԎQ:;S25"+Q4uDO+h9u@pȲ`ȢM3ۆT1"Ƀ"Q6ۆF nSDf 8dY0dQC=d:eD(tD5tݧ BLh&WLMp۽d:eA"7rkUQ 00 9&Y.b֙Tj < O<~*>=~L)H8ۥLZgEGAM@΀/KKVi3㣠 dA~|CgJaK^!y%0%Uz_zZY:I!y%06?Nk=&K/!M`?$69nck5ImszI' 7)joI4}/H5&k5Im+QvaUW_/ph21JbֈjKCA)L=: R00 G/my $WGD*h3|IѪI-2t*h!SD~&`@_I>dIyőy'E?m^Apʦ}kl<y~VjR3]!>66BD?tޭ2Kh!!@@Is"XoJ4 oEE<I}-RbSzO|_/p1+8o >zO|_Y|ZD_#֗8ץ|WZ^UO8ץ_x_?ֳc/]$Z͌^?*t"}~/t@7ǂ#ZO0UVCH":],x"? h0wL~'t_w %# h4S{*gT_P'YAZS^UGUu$@)i,Esn}]/{a 0~+izMK/ !4ѹn|XOM0$4=]/{a 0or:_-#:>&C Ikߏ_1yX(׿!?z/B Vӂ#:>&C Z>_ZEp%tKB ׭t"a7[1P/( ^Ћ$KMd' f~H _XB{=@at|%/렐@Og6 :ΏƾZX_KM/H󀣿A><:K8( $A><:=~/֗4A^vT:_너.Kߚ ݽuJh$/DA H"7uAƖH AmzZLsSaY #H-}+Z:GaلkLm.4@FZ4mԇA?tcw/Jf>xM$~ B*Jf>xM|B]4SҴ +HIi7]B]4SҴ +WPAlbHK@zV_cР- KKA<¯B--COPX q/)As}WР- KKA( KΈ$i:+~+{*I-DtW]+Pu?y- TGAy|Yvaצ4@ڛ)W.1~a6  F\ ƐZZ]}k ,,$moȾX.ql4 U/^Ll(?m ,,$moyA࢚df.b?㰿H<SLPt=_k>AAuA'/V| `- OoZW =L/00$>8K!Awt#>8K!Awt8ʇl$hP]=7_l|bݤ^߯c&nOAh_ i6oKnIfooKnIer5M I-a&L0k~Z[r L> `Aa'0WGR `A BON[kDI*7A(Al1oo?ʦ7A(Al1>I8 [aҔ?}Â%~i7@Cq7K`|D85#~LzE>abp@[I M"kMOp| y nZ @H,2Mf +dDLbCZAtiVɬaR \Rad(4?AtiVɯb `Z@4r TˢdX M  d20`ÃP^vL #~8ApE|4P q A{ $T᠂`L!CCa! B$#M` +GW[@hp@#(!AЈj""#&I0qC[ l6 gBn? +K_3D]pêփ:^[qűo:4$!{}y:^!.G[5.<:__WMtaZ.(?5NkI7<Οz Ҝ>N4_]Cyb!BI$VzB,5yR > +ȀU *__Cbs$%<:/kݾ ~UMc)YOk[+SYZ;r8AÔOʵz4Y}?нBInsf֖+/O3N + +"нJ~?V=/!uIZ_"ZKY Sz#_A΅>gEN"W^ֽ5_8#0_zjfWO"zs_㥝VE9c?_KΟχ0?U9)a*ebu/Dz2?}i7ן_CkY sc 69ZMʡŪG6k_ڔWKVf$GtR⟏%]}~j K0tW"?=yK_ /(_Ҵu ? TZ̓BL<%Z* S";pzZh/?m q#ޏ3FbqlW^D=10UbPa8^fDy_W,#NF/7Bzŭ.#V#t VK*[Kk7ѹ.TM{mk_~Z3rGK/oaק_[u o>(~>"=Yo-}4RO׋_^Me+~6?MaoA͕:{wKDui0HR|?]d5ysO\>M}{j~y+WY!q_l2">l2y kH/z [xۍ^_ /V LKQYQ7a#w@|s[Z9?D{0^V&.==H_Z?󁚗cX-4@V wIb2%_IzW3y7[ߥ]7&P&$ޗ0_ +Jޗt7AD|$~pz$$ޖ1?ItoL=/ z]_t)a5TV!$äH^H_/frPAɍk y~rtk ML0&< J?~ s ƨHA72 /0@Lc< li%d4+$áA1A&b`] >^z@ֈW`5285Mdpk &r0[A2 y"" iV@JubrKDb*Fi I`dJarҐR[1el8p2mrR1"@fam0ᲫdUCg63 VP&aIf*mm%vm‡Dl+A qFDP S-ӆg qL(WlYp.k]UN]%\2awlYp/UF0n>ݔ Jz 2AT*9-Kp+˂pXF0-Μ*V͆\sg@o6sʙ|5Mj+emy kuZTQ({~{GuB`s`V(eqVtmo)>AY8(`o_74iSLk< ?*i3tB< >O_Mu-.:!mAn.!im֣K:f!zZ_ZY:]y%0~\Ѩ/Hm_)^QӭNkyPqQR!qQH!<%=zaZY:M +~>a$6TSKk_zI1ʊyIhͤ2AzG-"W\D_ ez#d jLEbӪ^W _$HJFs.i'ڬz([~hȀb4j.鵔j6ȏ >qy +ΟᝈIťa /:Ȱ4=*'8/PSg uO^1t8/H:k@qʿh/a$f9t&zS֗{*Vc/_O?#Z8k}?ĸ5xv[H GK;/q/oKzz(:HZ==wRi6U^ނ۫-`xu +Du{{)3փJ7yP~!`tch,W҄F.b-l/_~8KB㥜 Xbg~^M0ao_]/| =_.|7[>,#C_=tK iVx3[%^ 0Al>?">D}!$RXiJY  2^zG-f +?:ۣ (^'X.-:DXi~Fa߿XХrՔ_S<63nyx_­z9 sD'\/P?im^pk> Vhwz[}gP@WuQB}v@}~f\%>v@)_?-.?[eKԇ?|GX a=RO#_/ O-Y~4Qz]:O4 Izf_OApE=+@/6e_KkzZM?6K!.KKo-RYeP ZZk?/( +[ /xz_ + + zxAl醂}&KH0q&m?qIlR.O0zL?VAZMJ$H0zՆ#,$ail?w PAl> ͆ "EdP4L:I$jK> sEdQ8A01R[ 0 (uQ4^Aa]CK!R2A0{d1D=ߤj0D'دC zAxKh d"O ߚet* %Kh0B bAa$<n2g"_ d2o"شXd_@7#Xc LXcaH-U +)4`BP $O HC` i8hAAUKuI +B#DA4" +H'$zB @RB4¤DPB""""""qdJ3vٴ&wwIz}F&eo4 z]1uaZSꕺ7I~p.='7IMCIzM"TaӋJaDzsE~xP@Wttߪ^ :ۄGZIzL +-TA@H AQ5WQ8h,WnSA I/M[^BAbJPtꗭ(l4K }/$i:*BA&T A |6]Axc $g%R85A0B=CA B UQH%ZHk <qAȆd A AFvT? $";IQ m&xAAyx ACazsI8A6$ LRAV\."CBDEr|nտ/KTRJ*DIizJ +endstream +endobj +6 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕr\CnJ +endstream +endobj +7 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +8 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 90272/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZ iR bҺoҳAe]]֥Le+o$-pD{".H{im}'Vv)w-׷6Uca.WI+kuAo?vKKKo3^tI J}vKe!KIKKo-{ o]$ZliǃT, :&u@Ka$ qZ8ztm;[Tk:_&^v`-I o+Im/ckoᅤ_DŽ"6I__RHRU8A0}+]%/$ާumI+׹mޗH5NRDOOH^MilIuj5Z^]BC%?/]$&ڥ%Kfn%io%KJ/a.I ÿIi==R_$^KWWT=t>H00A3gސm* 0  0 DDDDDDE! 7OHOxvh4/CT[eJM⧔; ԎDtȞtٕJPr`ᝌjGdeVUQ"y)HʴB"c:{`Ȫi%ig +aÆ3E& l2l ϻa᳈ ]BLh0 @5tݦۻ/of26I[l4^03e{.34 p>Zg;PkQO BZJYb֙ШE>CH&r(Uȵ8l#qGSꪛe :u*Z{(}USwLae ӬVz%^ʚ%$l]HtKv0@nIť^H/~q/ߡrZ~$ RS![k_*+aNi6~?oRzK7 r 3eM/O_Ik'+B. X:_"*Lr?/ph2i~pju3_shmVN + ƌץ~h/3 ~z鵓jMa4f+!y?AEs].a~Uy3ҵ5jDe^A} +}kl=sZ~W`7CuoXo(98 ]KQ9(C!!AG@1쌏죜sR_sqn$>/XtҜU7};)?~']/Q"mRbS0 kʡQQ_#k|SKtҏKvUfu5i?h:Mk62?_뤕_GUւN^ǭNUz"h/@lARZF=/$P DzrttV݊B +X">9rzJÍb=}/KKAZS<]kS6PmKKc"UuGUu$@F-zOEpcuY^D P+si//[a 0tkizMKnCv/^Wub-/I`Im^7yX*a_1/K׿ (c-/ $\Ћ$A@Ҽ|Z[j\BtKB Kuimײ_荂 /H ZN>K}gWS]ֽt">l2y umA] !|$ҭVKKK8(Ai$] !|$P+zZ[tQ%n:п ],%iP(\%Wuп /pJXΟ,t>zt]t &.==.҂/Ϫ#ڷ5?AbK&GWAx +u +r:z[L5 =oO_ -B-zZOJ+қCk ,a,6a?oKI| | ^%< ^Sim,B< ^S@}-^Ah*#ߞgL_--쥺[i7ZgL_ Kn>@$/tp /~NG^S`:< +N G#Z@F-cX.q%ii--2<ȾX.q%G"KKL},% A_mIcd?㰿.5HJB.Bsaz .P=$Ip9贙S:VsS:Ks΋I30^ReLa4(.-?u!g'Hxu#>?CN9:C--I__ZRI&P_oKe7 $K-_aנ=i0+ *WM㤽SoDw0I5M O_F<:](~- aҿI-R :R>t1A& \#IOFI0bBi\l/kw#X A[,%d4ɃQj<ϗA~h&&QH2!&D(93KA7Z :J`/h; +u[cMa_F5Co?Iz_=!~6?ֈ F_zxto6Az7I|Կoa#@\zOKn/q~4Ǥdڋ.='K.='zI/5Sd1^hͯT.P d4 +0 IMC_ޑKSec!q&e$^BJyzL5{$^BJ~j{$^BJuh"T΍RH5 JtӋJfGkY:.Qϭ8Uֳ4t\Zqyh&Ӌ*R3 5 1HNsm,Il0"=9PAaDzsidpG  R#ӜO(98  +kz dW4-M\_ +0mM\_ +0(gUj(aTT>?i-T$ie_ r.<<-"]%CKǤtO-":K`莍#ca4#Pim#AnۄG_S"h@U ȢPgN-.[43@AtT nIu ?ejMmTa" (2 ?QD_A (۫vQJ_AZS<ÍbJXLܧւA ) x4R+9(LR+AiVz8DxRбnr1m%Aue +_]--4Im&l 56]uƛCviVׄྺh&m*&A7iVP֓iV׿IH6!$KZ֖ibJ&i7lBI_XAq~lBI^~JaץoJaoJa<ץmUq_Ca_IK# ^+ 4r:Piu[ J .qyPt$I>fi/M"xO }v$tS넭?agޗ_[SL4G! $CI}oI03ZLaǧH$ꗲ _  0z! |=Wz_L>B$`φˠ/.>Oo 3 )<$`φ˪ƽ*H CKI|a$D_׵G~K?F{"Y\U/4M$ȖWK돩OI#= *B X`kVz#A+ jS X`kZA0BteB ϯH$%nնA KָA >4S"`I/ tULeVqgI7Xl#qo(A&Z.uL.4kA7%m?Vt +ACpL*΂M8JUi@ +~aJb|$m 5Qqj@OKc`a oK>m4kL?I쪏(/Jt:4OF#Zl!e a_#8C~PI!bSI$o6Z/F'$_=E~ 6a)Y!_ZH>\7 )@kнBI$Qq[*6US+BSd1򅓪{$^BJP]RV߽_hXK߷ւ#2E$u=5KZr}i=kЋg^qdgO]%YJQϭ8E-G9? jE9cV+=_z$i 1HNsqΪz%KSD‚ 5=ai/.҅ +k:_ r.>sKQ/jxD{I7難6:I-jO">6Kn:__#%}2դ":d ?0T n]&U*_M?Kĸ(HqH +-]q}PA (۫i )ZZ^_ypjA^fS?8"?A25 +&C+M4R+`A1_ _/P~!죘r1szZB^ΐ5I.֗(l$s$}&/:|?E.Cp_]D46o-KU O)AmJ_w\zXH <!7Li&@7#qi\q"I_+gz_Q 'a=R!NuH #;W A0R/x Am/iGi6A6>J =[J /$ @&%UAi60?#鴽1_ $IXEI$i6L +q|D=+_T LJA& $~KZFKQ*["Dj:[:Ue0ٓT>ڔZm[Pp38pιs(E:2%ppl2U6FmL;LNRE4l2CmLԍiMiÆVd"2L96@M_wa"7&(PKE ۽&Ϩ:PWvIQt gN>\fh'p60{ >S"`I/ tUI7P =IPXl#qH#Dޟ+SΩVqe~f"6Bȿւ4M߷.#ZOQ({~)nI[?I ͭ(4߳t?T +WgAAT+M/gH0k?F!8ԁ8Ԩ T 6|{o֘{tkiZaL?KeT}AzS}ѧFz5P?U%>[ޞ)􍤿򅤒Mޟ~HmEJ?lQ~4ǤI?I&z/{ O$4Ǥ/!)&PH@ +P d5^$g_(8-jXBJl2ss62^KoBoޭP/dIS9 J<- O0H?5Z^A⮵Ӌzס >WBP.Qϭ8% ,t) (~}<M]%x9g$ Z]Q9ujeg,G9YY-+sښ$(aϽ=נ# In%K +kկA0c2xyZDKoqm-GPzPŪGK&>HIm=TZ jca4ޓ /%:o ?#jKnk^U*CK`c43@@Ue_@YҥAcpT n8ZU Ȧ\v(PknO5PiizW}xal#l B)_gXWօF*`= 4G[(0F& ?JX_ }x3Y|AabooQVz}{(?QstnSA Ntm&l RZ\F:YsooᮖM^K9ή@K/ "mIYj]>b8_GKI6/M[/~x3?ͬkHODuaFi %4T2M%_դoşJ֖H6!$jZs/})xXoM[l1&I +W_v߷ץGOK# _Y&8 +ËXƿa>6]}~5z_-M2' =':+Ed=v%=N"(z_ c_/ץ"?Aa L4r.:xA0"@:?@a!m &F}AAņޗUl%!$H$N0^V_ԇ-pA:/ 0zgE fA>.ثHl| AVz^ 3/_>/,[a.Md/ $g%R~m5A EI7_3~i  +ֿ]iV1ͯJ"HA+ jJ"`֑z}Zo$b_[I- %$9Zն6 s\Og/ u²uA Y:uabAP T?-"/9Uo(=/5 !nOa hxR.ԇKWkA"~%Am% ~8 M,}JKA\S?ۅ4 +^A\S f"I- A\eGoMLi'i~'} #;rߠI; yuǿFHb.Uߎ A0R/'KAm.IOտ[XA(a/4o4 @&:IK1鴽@ &maGki{zI6kk6,"ZA_& T8m>"KIoCh.tUa0sZFU27<(D"#:FqLUM4DH LC*n =IDuŧZIeaÌjz7setj߷-TR 4MDaHII[%eqVtmnJaHII[7 a0ҼtZS~ 6~ʨӷIҪ΄s0/ 􍤿Fĺo6~4Ǥ\I%<:.m#@\zOG d5sr62^,8^$/IK4Ly *B_hXPA2b}7Yf/!%OAkӔsN/AD/83YЧ%~^Zq}<H6G p0"=9YWCV{xKKaY3@;Nq{*t*5 +0׈PgޜC[VyP@c| D~"]%}8q1s@"?ix.pAnۄG_9 TP -Du Kue *35~_P%/׮ (۫i ,_gXW֪GuS׮ (۫= 4GA)Z 0UᏲ{(?Qstdž/L +Abӭ: פAu(Os8RK| ~XAy.CmizuUʬ.~x3?ͮ @֗ZM[g":maFi %8ҏ_G8gYLˬ H6!$A5[l1iNG!?o_T>8AszV u_x@+"ywƿҿot< ? J .A7OzNtWD޻怒A,$t-$iϡ]%wDu( /$it]H$N!΋sK}H$Kƽ*H _UGIm^}}}c^h$`φˡmOI#=,*h!Ǐ;3wV!ZpK5G/6 ik3A0B_Anx$b_[I-Yus\G?.$b^/e ;(@F{h$_Aʝ"cte ;(@+ _.?ǚ?v?-gX$RqK ?TV _ia'*>z+a[p3Iw O)IPA2!KI_t&ҡAȆwmR_$1Hm-KRO hK%@_% iL4~MRAzMF%IB[__ti_]zZMF%IBߤj4I6n ,pBtK zZL5H]$IXE&5F z 0cgi&  Q!$i6^LH0(I'J.x 9?a‚l%i0-)JWMnHE ߤm%M6j&V4Ǥ&ʄGD:Z]{MI}&$eZ֭؛_%M!6HIN +}<N/0"=9ϢIKҋJA [5,^ʡ81G8`C zA0B:T>?i-T$~TVKni%0:oeVjǴSKu*dZt?Il B +$Uf4Fqi:lVzf> 0^fkQJNbKI/K5ߤO0M!I|k6aL-WDu3MI+g6EP,6Jai 3 Fm'a6]%AFz_Ka] !|$A7OI{:)Kl%iP #>EB ΏL\zz]L>{(]տz:9=-H A^<_] _I#=,*CFokw Km +֬%.A 0MLjA +?D5---2ꏣ>8l4})u1(Tm }1LFyJRdqݰm=tq)_(5FsN1lW_w~cЋbGCCЃt }s58GŅ.q'ϦN y5&j x@w `rZb?ݫSi5;v[64}=dunq +Vʄ* !Tu4":Db޸g&h+l>4}tA8:8QQG;8 g8">h:>ڞHb-؈tmb841 +:>#‘t}}  @8fQI4W +H(Y} DG- j?n: nR->eR%HTt,6 ]hʢ:dK:psyR |8g\Ihc8pι 2Æu=\;mL2a0E`LIm0EaTIm0Ea`la¨uwwW0wwAøDoPDFuwql! JM44<oaU<oaoa:u*F>#ZOȗo(A&k] zQA&'k̭T?Vt +-3+|{RG:JL]~9IiH0鋯pϥY1> 6%ɉaz oKIiOV}Hh֘~ۣ^CMa_a_Kg"o6&Z"҇7jӋUֳ4t\Zq~ւaNQϭ8(!`G9W7\Il0"=9ϵAaDzsa86G p0"=9n`=sq +0ת.i*Z$(aKAgUj(aT>?i-T$~E~d󐴉t r.zHImPim#$&ۄG_H鱰T[pAnۄG]{@8*]RAE؁@ǥa@c43@(.< +-_*Z (۫ШEZ qT0D[uy*8\v(Pkn"B9B[^(PknÍbJXLܧւA#~0-r (0F& ?JXD AiVz눫si/& G(BM]--4IlGIo& ѡ56]|/S9}.m*;CA7iV9ۯm6o,&:m*#:_ G_&M>?H&DŽ?agޗEP HI03a#!A$HϾ$i"&.==.A&T S1EH?IՃ%K kB  0z{KIկq))nA lzA |6]^ 0geA |6]o _I#=,*CG~K?F{"Y\U/xKD IeqTOI#=,*N Km +֬ZZ#A+ j 6J+Z}%a}e A u*mALRV7YBKVmLRV묡[pA&)+uA~ U_ՇKx@ 5 +LjA +?lrWT~--2W'MΣ<1AȆd O!7Li&߫AȆizMץB $!+geC +[+g} +N)ߐ[I| #; NX i`+ Aitߥ izX 6~j @&EUo4@A#vU߫$";I' *$bT A M0q& m&q&J m&GI$I&j4I6o AAyp_B M L?J p Q!$i6MF^L~A:P^:c ֲ ACD9 -G5jA:Pt :JA@ ҆&?%RA,1=|I8A6$* A`bA$ Td* " `I IBaNMփiQx A`! ^B a0iiC6 KH 0i L @ h7GC0@AXH(^; H ʭa"!a#2XHd"$AUx%hz*@hRB# @A +ZhJҡ$H"""""(,DDDPXqGqgq---+&ɡ3sg"#-ѐ"HDܶ;)FSDb&H*TO)I!TDppȮjDK5#GTNQdo@e\ԈjG~"6wK`Ȫi`&pۆU1"]`&pxmnTL +Lp4D#R`<(I V&aCIM{mt^ +B%}7P4ݑ OmbӸ[)8l_$3}&Q 0Tk 9ˤ?E 0g;s5Ua>QDSk˂pXF -M7t_F an6<| V[8U%^ʚ%$o9QFIHa͂6FIH>{GԈyBWS<֜5S<7O {4?M~ΫD1q0ۤۥLZ?[nn3O&`6~90%UzW_ U^DZ8Im&:[k=/A 6mKW}"k_zI(8HB0)]u/_-hj,Nr?/ }:)W>S5I>UAtjGKL +"4A>qYHѪIaNM + 8RKPEWy"}'l<9{)+.}&Q:)OԷI@s}! EpG89hE,3~#.Zc}R(8U7ֈKڥ$1S=h>Ti;q:rqկ֗rZO_ǥ*VIy#lZ_}NzT^^ǭNi?RUzjǮM0UVگ:H#~IuesAi?]B +X">W=\4GH4S{*g.IR~-/joeLiwJ*Q,E:՜pcU%I%C~8KBs U%I%C^o&`A/΁ou$zh%.|7[>,T7zI0-Kouuב5`[ {3,YCAh{">޵gYC0">뮹H K,7[^(@뎴t?%xB ׯ,z0#ߎ^g6 0T>  rՔ^AVPG͆[!θmizG$PH KKogE/Hy|$ ZX_*[(7wum :%tD@|9BκWDKA]/}N: Am:?ZLh Kl0K$.ս-&Wz V_2/owoA?t~{ޞm| 6~4Q~CkKI}PAi%_[oe_KKo +ZHK[ ih#(H,WYNB, +[ +(A`u #KzZA +g-JT-8 tDvR-JT-pA: KΈ$I--.=?/K}h.`p Lhqa6 uAtCs]zc_]~KHXHd_{ E`ZK!ii家EkKp&6Qs(Ė8h+ȲK.b8--IKTz[(OZG֖0a&^"?70kDo&ֿܬ0AK[&^m~iK[_DwII*7M ~򫮓{H@#RIlR.ީi7å~ZuD=&>xzK'A}W8A7LٴavEI`dNaٴâiۦ6}A7 0Dd:Zugf$)Mn$kYPIf*mpWtFv֡QjyUUF0n f/E\RA`koaFsg;X5D+$_p$A$M?ן60ï\eqTHem@FJDzxfפf N720洽myN6(a͂7y +07P#Nۤm`o~H5f&*I@X_^(^x|&M*i3iR#pIޖ9!z "~j]7{➦H0ɏ5&/tEX6t?aY/q0PHZ^m^&ۤ}}d@+qi0-Mǖ♞nL=׫ $/HK*. 6%lѨAHJ"d={IHU$='ɯ$F95VA_4CK_IRAc!I}$2a$Sd01׵s )p- Nu]bֈkPH")*CD IS[+K kT"T}U:瀁8gNgF$piZT$*hY$K))G>'X~o]%Κz\8ŒuH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*b?KT=,3Ή_C'9G $ 5_ЋB!pp@&ʿh/a$fAUU/ 5Sֺ^Z##P?_E adTS*fO[i9ᇪV.evi{T4_K/$":T3ҝ%J=)[pF7 +":z^]%]/K9A~E]Wүo%2={7?rT nKۂ#PDkt@7IGK9 m--ނ۫GدD$[u_KKEiVT:]zZ RKRXU{{))Z >/.zn?)fh +Z>_, @W9:D WzXAuz^Z %M_99^zI~Z=tO=6r>)&o{GoZ{M[ _gަ@o^| Xe i~, %y^:_fW !/KI~~N{g?-:ߊ(VW־KA}m_#6TƆz?P9#8u[~K8t9DiDKJ .t0V,}/"ޗqyPI~/ҿpnz–5pZ(DPԩgOeNPWZ YHϾcA%X YHϿL #>[9@43K$__@߰$~ a=z_Y |= n?t{+8I a˪ a˯_tAA3 _/_/OmץMWC{* +_p\U/?Bp4\U/u_I#=0*ia~L;AAPX -ֵS5ǔ-ֽh/k4J+ZOWh1K +t|xK +uOl /)ֿKm/1ڛ#/K@+Tz_ifTcl4ȾxA11#m.u?ޫZ_h$\XGpH<ULU\x"?_]o4?[Mkp M.?q5 |/K˵Q\*LLZ_tr~aHA:P \\i2)xI@ ҇9:5 >+J+b1YmzAxKh1 55T"ii{jNMEu~INM2 AΡ0e)Ǡ0A$߄r!kH- h<| Ťh0Y*@e0` `+xq bFXRc   a0~ [tB) !ƅu )"%8lIh $ B2B m !dRi U ƩB"8 BG`Hւ +B HA +CPCDA% A4"kA DDDDDb"# +H eMC $"IL J9CY 'ۺe 'v![Bt>`ixVzYRB::e($"Ď 4`b,) + ICB,7}8ol)?&%Wq~IjHmҤᘉ E pj0$YCAۺ^/_H _m_"z\GaAGA 6c:,zuy e^(ʄHv[~F|}vAֱKzK᥺_ItAHYT$iioO _2"z[J}C@AtR@ B¡ }&R҈&H"#ڌȄd"TD"(ᔜ2[:Ud/UxpιE^QP Ʉm02Y9JΨFl2%0lah֙J & NFش6Rpك +a"7>[.34 :E$ +}$D/Poa*9QXl#qDQ4DzL:QYӅ_4M\0F/!F.*}>{Gt2RU7ӆgᴓI/)i /_܆ %~>Ť]~6 #i/+57I|u_:_RC.='iO$u?KI*H" d5H!%6H 2^z-hAe $V"r-%Ly *q_נiZT$i~N_%(֜\S, :EJhpiI"QHNs"@տ8~o aDzs4Ks9txJrBI(|8 P^#AzYWB-=$( P_=Pic|A/Ң0}>sK/ =Rt\*` KծEe":T3ҝ%-/aPim#U NI֗Qu5YH +^ҟ98*]},EG Ǯ/Dt~Spނ۫i ,Wi{z_L B*J_V#/+`SR+ץ_pӭ8__@Tz_/l K< + !]IKJUK/m*>*?5,BI_(": KbJ}>,6K?-:D{_}i[l1/?_iP9#8uo<ƅ/҆KoyKe9HCh KUtpޯhe>SK$a$nT4GK/ +":K`iWUu5YH +K#_NN +-TAYJ+KKoAimp+UGIQ(jHq/oKAQ5WQ?C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0ӭ@W9:D WzXAu(OEaS{h/6]|%>C!]_>}-*eVZ$]/ׯ_U5$'":bYCbJA,]/ ~}=]aFi %z^(? P/ a_~`K @㥠Ҷc^_I~.Ҳ-kχY9DiDz,hR(l4KU ~#sG.?-/+ H&^I~Fc3CȺJar_ָJ#ΡI03KtT*Ώ\-_'MG xp_!@)_ ^Z,00uZDtB  tŏKnia_M_| 6 F{"Y\U/ȇ\KD)[$^A^,zu_M X`kVz}9>zJm$]?9k$bC>yW?gKoB45{HK5Є@.u/ +ޫ_.>sK~>GO_eBKom/ V~8o4U-(_+ij'*>*CH$h(uȵ8l#qs=u>P5_[t^q@C6#0o b2P:h#DޟGh}{*k=@@nޟ75qivLIZu"6P;{SLk4?$'OP&"KK!% oK/WZgUGQMQ/:fU%WIm_{IiObU?gPC_~K {_=!~V+t[οd?WFiyi'O kXH:M}$H(&F|2HGK_ /%BJl2KW_qKCAU9}e*r4}ZWBp 7("Tfi'G6dfjMa@_J +u15_ZqiCCt_yU^A} +}kl<9d5^SuN. :~P=JU9ƾ Y8f죜sQZaM}-%Iud‹T8!##(.(aUI}/K:aN*DdQ%oer[W*ISePvRKR~j9^=jKk=-U'_o.LU7_fjPim#$f_{%WD0$u쫲Ȯehq{@`*]Re=r ~'tP"oGmW[?E3Ӕ#AREWQح 5# 9r ҭM쩞_IR~-/m˕qlRZ^)Z 雔Xi/u8KBN$bII5ΒbKI/ !4ElXKh[}]/WKkIK.7&ҭ^G(a /_G84A_Suп /vU 9)^#Fo:VI03Kciii2OD}Z\idڷ?x^AA|aǧH$_w׈YگA?t~{ޞ-'d"}/ +u +r:z[A3 A^=/KA)Z|H6{*Ai%_[J͆_i> #-3 +~D?iZZ#/.x@AРċc[*]A0B=Ci:+teB|=8` ;)nM_CiiWϢ_Ao Kl IJ --.?Kjl?G\ ƇG_ZQ8H3<:ֿMXA~?CLi&F--IS_MlKI)& $I?Jooa_l=a~X i`ܬ0D&L>It%AlM,@A$";IDwI*7M 萒% [ G, $I@"5$,"aҔ?}å~T) 8i}cCmMTo=Kf&*J@&Xi6o;糠u5_H0鋭$G%sa][6sMd8 "EM__ۥ+yV?u+t!AG 5IS]q ߤm%M~HE ߤm%MlJy$tOQ'ŇtkKK O^W.='6BtƿI Uq=/IM^#BƓho^ O!%6C %6Ru/5Sd01^tq<u_Jt#E9ph2qdʉS/I7("Tant) ɖtoAGЉ"J?@T9?I&נƌץ~r}iťn~"ҭ}(Bֺ]&s0"=9ϪIEy?_aDzsU~tKsUƥ?-i#EQ~s$"|zA^aI/U9~98  +kz Σ^=t+8oELZDKo/  "80c}CI.KAIK:^N/CCAh4֒^?T[pI/I"q"D>UD~z֟"]$"P%z2)E"? +-TA[ h0\F5$^I -'ʪ# )"۫ШEZ l B- +$UH0z\ᘉ E^@C_:DiB'KR+7)a_9rS6PmKK+Ab3rZ (A E?Wb3R4Y/KaViפT9+Aue ll?ӭ%Ŵa_#0ͯ'C9'KkcizMKl~iVׄaEB?Eۦr]U51g+K*y𐲆0/3MI+͡l4/bJ~߯ /K@\B_V uKЋҼ|Z[i[l1/~$/~҆Kl<J .}yo.-/-$A~\3 .Z[i nM +6Oʮte9Hkz" rA$HϽ/#PKl%iP #>EB~r += yMÅ_K͖pw 6/*^A`t9"<, u^$ pkh a0At 4! Q& Lһ*[AG BaP 6h X8KKG i 0@A׸4:UX $enKI# CT!ҨB#Mh!+!4!!DDD*ADDDDF""?ȲD*`Dj2p9n0Uepp"QwTaxtqVL=h}38|,w }*<4- _>`u{:mSgU6pۯ~Mڷq O$J$S#-.ʵz"Ď eZ֭؛_.pE ^BPt) H$J8*/^ZVb٩tgPǨKKo*oUf}/#?I\F5$_Y8 .pD",΢/ Oӥ'wͯmu0 ZşO?g6EPoׅh6=_u0VPs$=觍# +9C:/!?1Kzm-k5{_|zuK_Wo/0MW$C[eBKo2- ~H[8K4%SKztX+%y_D&@Kp/,o h`]iq %O 4tpa K󢵥EA&O(ADOKyRBj΃aHԗb bKda0Li4@ g1 ht, Fkah6 DDRD XQ@F#->E"G-7Eiq,:-"T{ۈPu cZKk,BAܛD";(F^ƖyHqDDE!WIeNggGt7#GcyvGgv]GG>GT{>#0ؕL E1H1b"a!lDlCu&'i@y\at&jˢ>yP"쭔6j\Ή#i6q}EꌊLgd#G*UX4"R"#զ \y%"sh!m!Nm&\I*WAN'`D +PD">H&:#!ygG}Q}GD>>>G_s8>G}0Ϥ>8D4}qg b}B$mc"8}V8">#- B',!+DRFIJ]b"#h>PImG +GT} 28qIe[>6"asᑤE}+H1"plDt#şH ʶwIk:#>UԐ"4>}_ B xԂ!DE ׺1V8CL>DDq +XW}77[M+ڷظcInXIx@͆e\Gn[Ӯ,GƯX"F7зGT".}Y ud)^tGAD"l`:% !Rz8N:œ^}YiX"GH:hh{IBqG ` dr:>F aGL|c [lE!3 0@^DZaM-DiEi Wv:^ Rk7I5i!t0t68#}Qф#>:gPDw\ ?Q}";^>fA<@ FFןGy4qY,vqΨꏢD2#qLl6,VhQ)}SXXccgq<O_1qDshD;؂؋dwmQ^aR!5md&~h3ڵaS 'qRa5Jۦ҂Y@Z@jMөD>HSi#Shm#YC`r`qt^}\҄Pg@ry!MFzvV0AGT!,ua,w5*CN=6Hyfh0Mq{Va$Ny:Fm:6< 㐈MCL}PkoW"a0B!E !ͦ;+Hb!:B"=i! b) xcDEqq RB؝#-I8T$v + }ysԨGYśGmG}VHJ}:NPϢP:*8h><>6 GߦΉ8N}$qSeb80b#bhq1Q'8 X8G-B*Ȏ1xT -ն&fLYXxPH$v*&6iV):KLBa m21.=]6m<'.gқEc7)טtq#ꎨG&EGTuH$DDDDDqDqQPߙ*6[F^;(GTFVm}]#EaQG(GcHDD}TDDDD[vDDDDDj [" ,m ) i-̅/*yvƴzϤGoN,AAOJ& d+FBn]B+DGzg5#MyG;I5;,D![<;ÆuQ$v_ y$G}[(dQ04PlmL2vE`TIm0Ea\Im0aPYI٫ &8DKQup pWqnl;F;I_LDv5s:*9$ACAR +TlI@UTlIIi{(}USwL7kIO뷔] z.F=o{DF~h֘~$߳^to6&տֈ F_pA#i a:}6!a#@\zOKl 7]Z/F!_q= MMES}"OIMCIzM_~!oR߄$c!Z-,Hպ{(!~ GבZtΘ>&I8([(71HNs'Pob(Z9a=PpC zA0$˗BIR%C mM\_ +0[C WJqT:tߪ^ >Dpao<<-"]%C'K#FqKIT4VKni%0{h! ?GPim#$ta -DuDt]<UxuJCf1iv怨u}v怨uO8<|("? B- +$UKE2 ?QI^KaN#A (۫*OXh,WnSA њ(?K\H0+Abn9(PR+תwF4H*l K|2W&aMAu6#i7aldD-,E4| ,VOM[^B lQ M[pIMUb)_1~lBI^?.mZҜi7lBI^Vl4H6!$ش6?UKB Jaz~cZM[l10U$0|zV u6$ &$/~҆Kl<(A>>GJ .e8t_9(l4D|cZH gA7O q'I?b:A4ȓ A7Oп ].6SZ &F}y?vj?A$?$iC @ag_Ț">.sKI/eREWKA A&V %!$H$?_H ˠ//tzA f./p@|Oo 3^#i z $g&R85a o%I#=0* %Չl$D_׿z_h Vgt՝ X`kPm-/V!ZƲ3ӏ/ IJ JWYBH$%nu$mH$%ntp T/jå `!CC$`AV^a" x" ` *| ; H Nb4i4%b A4=BHb A)h!+j"BPB"""""""DDE +#?8}7&#&(D*EtJ٪>;XEDV؅-" >0hPι H;D qFI8pθEc+ X"$4(}CuD paÆٴe eM 6ͦ(l8lmL6Qp96Ȫ"Ȃle(w ͦ(x +I vpWqp-iJ.ȧ ȸUEb5uw@UQ+@Ltu foaoaZ>@PѠ0l:Pu  +qn6hz7l^qD!]m?>b UC&eoaHII[% WB]U{: +Mߊa oK/AޖU.__i7B&m/K*>mm&|&Eg?/e9D5I􍤄D~A#i/oI ߤm%u]i~׍` 6^:ZZC<$h I_q(aaY>mTq6⩽M.zHImArySB5N KoE3ҝ%Dz:'$4/A??t8uMLIm#ցZuV#*A$u@*.< +-QhHoOD}#ֶ[[!3ނ۫Xt!ejMmPC8KkejMmAN#΃AH3fC!qg#UU?ނ۫PkQXA"'ٹ +Vz%pO KR+)T}8M0/o^'^?K, DR JIhb!, zM^-"9AP%C 7/zXAu&eZKJXVGJMZ^i6oR :imMY?oST,BI_0t<04fWRmaFi %{xA~,zI7bJN[_K YEJJa  +<ץmRZpUk@*T~q[ u@U_z:8urD, m6]Fr@xL #L/u򟫮zײ@?O: H tM>?H& +8Kqˆ YHϽ|h Aa#I}yI03_ǫ|l)o,ǤgBs ZUAZQ'A&\a~ 0z@oKC TT, D}uRZf"x,0@tG50geA |6]u k0ExKyl_Q oeqTo`F{"Y\U/SHdK+7aߜL~Am*[}-qo'-ֻ:- +ֺ_u X`kZKkVXKo*Z< +Ze My ,7OU-0AtH$%n $bD)geoq _ a%n}QK  |B UQe ;b(@}O~Ka.6'/KkEޫX-\kA koA i/_+&2>Km]9&SEZvh +'$֜$O4U9ȪNq@o$ק;rD}/GaC|h <|"? O)@(DAW\WO)P, +٠Li&vdCI4&ҡAȆiߥO Z_b@ov>=-A88>gxտ@DڤHbCUoK`ރ#; +ߦ.zXi{MS _޷ M_;[ai7=|5;, uX@&ܡ#X@A#r«zMF%IBۑ +>dH0n|3rb|$m]#iZaL?Kny 4kL?Ix}hN ߤm%OZޞ)􍤳}h8 jH?lQ~4Ǥr߄$c!M~,WF7 )1Tut "T(- oޭP/d9SzjӋtj:NCBPWZr}is@G R#ӜYѾ_wt R#ӜRA\T4Iq|( P_SD‚ 5󨩀k*d󐴉t"Aƒuײ4W$1HR#RJ\{p@pw i|4 ^ߎ F4kH DvnʰտnOj nT'L>R$I&0LGmcm/ I T<$һI$i6/E{ҵ$i68- l(H浔A'J!ca2ҍY:d(x6BT&2i8:& 6 p漋iݰ270l6 &;&uwH6ȩ L&/ jL0j7Gs ӨI 蔢7aÅ +N-Z8F8A twXzIlptGH +aaHQO)6oD dH5?X"1V9ea ; _a`ŗI Ӭ@oݿ$Օ?ؿ)%$m*^t$ذCKWgAAȅ_@oKޣ'gʴ'OO >&j4!BKL|{lHR#a +MPV|?/MǴ+ނ~8~'ӯM.?oF{mX~PI/՞/!^Tkς rH +Cd?'4I O$&}o8~x@VSV*ܢb9>W㲭^f_Om-/PD%f⿪p#E_ +"нJ~?V=/!uIZ_"ZKDH4yOksusOYȕB,hzWk,tW^'3Z*ezV. ><5!:Yl=].:+=@z}C$/ePG?P_)i^ {##a֓zMW_CkY ,X9;(3aG.ij?};)?j kZapVf$GtR⟏%]}~j?&i+]&U/tz^j= U+KKPNN0K54$ɍ}2UKP) NC+MץD1D{tӵLW6PmA5⵱Y +VSrq#߄pjXA[899 Pߑ +-[[_s uY,:^z pZ5EʒAmk_k]>b4B|%:~ml?})8D{$> *ZuhKҤ_,%R5 Vl~*),75OnzȎ&I +W묆/:Ni|*v*0V"]B )$>]:x"?DDK!-_?/!BH_ X,6zh6l<㸑_*\um_/VaE~a+OV[(,[(RֻL D}nt_KxWPg'x@ +AǧQ'"p3R,Kh +.Ky~ĺҍ&& 4:9>|_aAd&K .DS [7yo "cI| x%h/iWL_-?K.I~E EXI +%A6J_ YqTvO//KJ窖_Il;KWI|B +/AiPH?_/(Amf|~0(RK-.A/H%Rq/J&Ht5_WTM/oK t:@-/0,rK 6K[*l;o A?M, ~ZJ7v 'a^A>Ib JgoJoIL5&I!~ФzM~o>JKnxGM7K1ǢBAzMj^-_I&/ ~AXE۝BJ&\w%Mm>"HKH:MH@ g*Q0lּ ?''Fk +oJ< /w08 j~" :AA ƒ]CKbL:a&)& %- 93W hzS#X4G@ i/k#8:/  א B =&AkaGQy8A0pOBc]Ť GQV$`(aW*!&t,W Wᣡ# y^0[uDhh B0GFBBBA BB#=444J^DDDDDDDDDDhE"0B#q\h $F"Yh-1Ku4#|88dS5#g5#$Jr&"`^EQDk+i2V3R;uD%[x&6 m &2u @pȲel8pvEf2ApKtg>\fh'pDM~wDwGPֺAUQ 0.L{s}Ug (â\0ŭ35pOWᲰa[eOn6iy/V-u>P5TkS]DaU6 +3h߶A뷿濯eMiPn!zo~T*gӆyio HN<~*w߯i"@FYn!q Sh3/@a-Kmռ~΋DUy4Tߑ]a(G|4_}U~id&bCgJak׽/Nuy5/i7Ωsi'I%<:/!qix_'IJ~>oI4}/H5&k_5Im[joImU_b/_-hkt4`2qӪ1Jh_ph2hֈkhmVNfѪI-3D*h:!SD~&`@_I>86t) "4A>q~LF~XN{).fZtJ!"tS`5,t_NIN/!"=s! EߜIޕ&h(RQD{_!pr%NsO:/1+8o >zO~AA>I}/KbSz_@c/5k䜾zZOZLz[5kNx<^FYS^~IU +APr=fpֳc/_뤕^5wI[k\_}CH":],x"? h0wf +JTx"?H":]`xu/zAZhiVT:]ꗯ>4H$`ۯB +X">WJƗ֗,EAl8DxRб*:ӯI"qKL P~0~b-GUu$@#&`Z7?aou$zh&%!zja Wֱ0$_ڧI>&C QMDu׿*?z/B V#|Mb g3~PZG(铆Ep o,7[^(\BZC\uFuY  2^_oKB ׯ5W荂?%C,]XDl6u  rJpcl4#N.KIZIcKAu z[~;*rut#z p@*_?>ҽ ޅHh AW\m-&W%9t ֙@\idڷ-}:/OD}Z\idZxMYMWAx !2q?t~{ޞ. ӥF 6SҴ +m Km-&U#?At[$鯇^SҴ +hm  t#KKAK A]e:< ^SAA}-- KKA=x@AР!]h,WPTGAyO_AnWh13ӏ, ;)jM_Z + ==8` > -.?ڛ +S_zcC#Ah Aiw?+^LV]Aڭ}ce9F\k\id<--2BA$@4(.B?+eTq&gWHxu~CB}QĞ Oi6uz @ _ -1tx--Io "=tᄛ W/JvA70kKnI7I7}-X`[0WGBIt% `A"?K[)& ]B aIa>~ U5 Io_DO򩮓{IA7-I%xuKzuޥxxQǤ+NDI-ET!l"7 PAl> I M"kMOp| y'* ui\pk&F* Ap t2AF Ȁe&vLbCC=K0@H,2Sd(5=aȃ PôIR D +2d 0"_4H, P^vLb` B0`>V$`(Ih GXARA?TаB8 +Aέ $)C O ;kR$b(!AF"#,YڴF#h32:-"1nq\ԈjG|0ppNrRVjPfjPιX"1Dw2;g\#XJ,J64@pȲȢ5&Vٴö.ٴÆʭU L3=Ʌ 3YL;*Ig 9nM7e:nmCPu NFȐM7l:"%A]0u L*6@+]]IOf2DݐJwLtu j5JH"* m4wZLtj )D0˄hb־K(AXL m4F Z9i3Ѭ7t_F 8$i2#wD[wLm=/!-u>Aem FQJDݷIHVmxma6 +1wR_Xm!bF]Iۤ(4?R3pIޖ9!z "~j]7ׯzpԌϨ7HGE},ywmmiꊰa-/etMI/KKɀa-SgT^nI%+K$/HK*. 6J55^zaIqzU]:䄧GEU$='ɯSצd?KJ)I/!_I?ͯoU}/$ 01錄 #KE C_K 5CAUqD5 (I$J?j/hg?.C_<"'*%J[B + 8m +}B4IiSϯ'BΟPbqiCYn!'_ +/:~uB^6jOHCU)E$G]"=9O3Tu#Ӝ_s]-"~ʥ?B*:px~NIf"hIsZSrIC/E|8 P](տ9Is_ +k9hD?B.8U7֊xY1m:aN* ~qT0}ZO_A/Dtg:Kn%&zS֗zD +_KJt":qKI/3ҝRKK( n_VXKu~%Gu_toZH":_)8koAimD^$#1y"Z[u|x"??Z]zZ RKRXI K3$-*Iq[z]""}*a" J XbgGUu$qWj> ViפU\%]vhY}]/M'}-*J_>}-*kcizI&ҭXKh`wŔ1Y,BI_4PXJg$BXy𐲆4P\P!@sWWo cG_ aqP/@.  oJ9K_K]%C㎗U %Kz ZX_I~KI:OZH*(DA 6zF} /ނzF}/I%uf=#>п MoA`f>aY ' {xAl?^yi:G@I ~[:Gk?a ӥFm3 U3 Izf_گM,00u]{U_Z,0PAi%Shm(GI oeqT oeqT`4T>Pm-k_\|N[)ShPPcuAl9>|AuT8AU__/ADTTi:6 +_ELZK!?(Ծ.p+[zl?%[zS(maux(G"K~MmK~kyv*O)'JyB )pO 0 (}E>|™n7)5=bRa8A7AW8A7Yi!0}(j ,@.[8A7vLbtz"@LZY# Lo8A04c& , a0&P^r`8hp , A0Ia! ! [!$eVka0q ¡ b28B8Ci!Hւ +B HA +UDj5A#MP!AD幄W*Dc,Qd*ιXDEcq Fl?$h Itk`c!$,H萴}B i$$nbTmh&H91shg?^Y_ڤ]8[2SJ9C_4W@1IJ9"=9ΥI=_XMߠҡ)ts0L(P@jFj(a<$hm.C^zi-ELZtf -Dui{G +Knh8;pLG??ޔiP%"KnQD[u|F5$I_+ƴ/QD^UT R+ᘉ EF'KOJXI֗^aAbgւ ~aד_ҭOϥm*l_]/| I|Փ_BI_$J tH6!$_v5uzG~:Z +m:_ƴ(l4K~랽, +ߥ ϯKҿpnF}S:$iz_:jGA$HϾ6S_Z A&Y>(_2|0H$9KzeA>.!?K3K/0geeqT^^HdK+6*A$D_ⵯ +֣ДrM +ֿkI[| IJ2yuA&)+u_U~!*WAyt!*muA**[?i}J9MW'ꚍ-%A"~\~Dy<k~+apKA?mzHArm$ӯKAȆii][Li'+_FwA AFv]?b@A_i}z_ ih -e` ^pw=~";IK_$";I`|x?AX@A#c@ItAI6a KKF,p@ &m l:XE$i6 |A`bIlxIwxA:P, P@ ҆A΂ips9sa Ȣ!&'Ja6{po i2 DN`AtR+-'RA|,z NMQ_Pa0i 0&0Iia, $A L֐0YpJ2A5U$eqB,,HAk H WA HqA +H!%@DRҨB#DA$ A:iIDPB"""(!D)Zf#;DȄE>1Ԋ~+2VR;(ȮW̗$8g\TI(BӆJ xl2aC f%GsȲa*hDkEB"0l 46e"5R`᳃M&af:f +$J_WlZtiLvj#iN0A 6mwvϨ8gˌdgձk_E &H +}!Elb֙ШIèBISPDI06V8lU]lYp(oOTTl :eOn6 :\¯A&_zmFͣ4xb U i <]Hz]$~H5fH*J?^5"?&Ml5P&F[_a?@T_\Si~P_%(֜\S<I:ֺZEJ,Tu#ӜȠ5%ii'\KzMt&/opBiP8}/:i)ėU9տ9Is/K 5= ?B,7UЋA{I#5 +0Tu: 3 KoqA+8oSֺQ~_=0J%[sk. $a/կ<^3ҝ%R <^*N +":ePq|>$nut# nP$뤕^_NP +-_KQH1$#1y"Z[uy2"Ax"?"?{Z^ޗ(P nʢ#?GK3:-*g'_KKOJX^]GE :ˣ:8ʅ?]a@ +$lGUu$@^{h/6]a;B.Z^IYjqI鳑XKh[i~mzZ{M[Y'XU>/"?迫Y |=gE/Ϋ^m a˯*# 1 _Ak_/ H ˯mZ +_| WK ܊#?At^_u_I#=8*_wx@+z!uZpKu< ^S_M X`k_z_ ~yqyV+i%? 6 aLRVץS{ tx ifT~5ձA6~_b~-#xi4 R3/(Kl/:_o_ح, #;A_t넋p/ a&^t?5/ .AKK[`ఁMMaK_AX@A#c@KXA ia KKItib,']zrcI6qO}uKjPZ24} M:(~]Ί H6sL=+ׯ& \ K Ȃ)s +B ҇K% &Dk`ȦpO&O.g.l4$ ACy`I%Ki}آCTi`Apoޖ `3 R _0}% iElR+RA~,z NMbZL( j 0` ,pa0iV Bд j  jаXc   a0~  IU +B8 KaP IB& NB8HqJXBʑA0E8AR`HDj5A)5H*Dhh D GA RCAPQ7[E:!\6 wTatQΠJ?l>pogA_mi7 ݺM}-.֗Zbm~!GЉ"W)UZVb٩Fu +z {*Vn=cV΢"}a0_ T4Mǣ ΢uI!gE?}_IwV=ykaP!(kk_ gBI\N +^i7eb.?k=iq %NE8@0Hh7ޒ].$&6Iz[# cIt40;Aj,DPL( T#Z>$)G-qtuDܡQ=wvb#Шq"""jn +#XB aɲ^c nE;+ꍶ-trl + 92:SGZ; +A"P<2:+ 3}>;} #N#|;XVmWP: Uf#*.8|GKґФ؏"(";~:1ZCAPA~O};' A E ޑMUEBL$ HG}G$q,> E}GuGMH>:=G}>#Q}YGfo8<\\qF#ӹX}8)Ј؏_o{q""툨qsv Sv-cc^sž@Dr85YGuGLYϣS> h>!,GTuG>>ꏦϬ#q/: ?)GE0Va2]GҜG3' w8'ͥsVGDt< E' E ň"",c8MЈ EEl!>0qedE؆"Wj;pcbkO{t-7 XI|%adr9PE%aCmzCvm#h&Y^VvqQ>>1Gq\,vqD:4g#m4mY}f24$mgmWGy7JGGYGa1#l0@wƂXmcb;!GGbǃ  lqG<`.8##c'űD^6nEvD~DXam aǹӆi uI'vah96*Fh6q#D}6@ͅٳD2# +]@uYA>>##I o86ftY7:#46f7}g>?}aO :qTqOϣ꘣%@}g}LgGE갊":'Yŵ&efq1l|q#"=b)byWb#ب#8( TOhDqQCFPZ!>8&xAm/ų,Ab\dq CU#iGmVY!"0L"v m.ߵXH%$\/y)↤ 7aͫU#5Z.r:6k(yM*9tuYiNTc>iqfa\s88  E^ٵoVaN/⯛_^ն=8B9؎/\/㈽|bb8bحc)Ŷ TRI[d|hBaXbh1 D60v]u#m[aM0zWhMG{\2dmvμ=[$:8E&Me̎HPͣ}!ZFZMa< K<>#>FGԘE3=3e#H C#stY}(A0A8"!@`=\C8!XB ؈`O`D |v0cłaqFDDDFE/ƱqhDDDElDq' BUkO. ն/bChi*v4## 9#aVtaYQđEaSID"#Hꏣ!}6q$mVCY䧑B,>":."!DDDE6(":ϯQDTqeG}Ƅz} qq۱lFtgZѢSM0H+y6Y:2PXYGjޥضvg4GqDi"3'&#AhY}:#b",B,5b +)Dp}V"6Ј#`TDGhwmFV!"":]1 &i LCLA1t%C \b *$m}Q$>; +YJsꏣ>R%a9"""">;qfJ|FhB>>G}“gF^3D}GuGAYLQDAq>ɻEXgѐK8 ,A6&Zh"d5GƁq{)qwJ.K\MG\) :C%8cj +4+#8Dr+Q:>PE<:GGT3 OC& C03AK} #\DWRGj0h&pFJ2)H88e&wR5pμ3^K"ڃLgz_aIGtPlh)C*%h*f{npʚAEʬŠ3 P>ٴö i^d†۪хB#@ ]iRvj部EZnݦP +$6}A.]0u L Hƾ1iu L*6@yΖu 1k^wLtu fP0\YB*dkoay>qf?}n|62UtwL;1 eOer˄Dz0\JD>IQa)#jmH+Vxm&! 4_6?07V6?B1c L HzpԌϨ7HkR#>f7~i&&/QWL l:a*il;q>ΫE׷_SEzҽ,թ!G^zaIi~㝨yW!AGڼ< hz/e()Y}6RCynM6$_B(6j1DX!{*?_,H萴2(_,H萾E)Igp y1sZ! YJ=&Bֈk1sɱP*͡UMᥠ4BMaM΅>qhI74_Me2O ϣSjV"4 &ZiHC>a/"k>.Sd" $?Ȑ5iHCU)p؟Z=> J~s. Et?t:?؈B>`sqHKpNۄG^C+OKw6(GӟG}Ft*#/K/o%U_[e|3DDgoǂ#I tơH":_#-WkLH":_#/1ca]꒤ᘉ E%^ޖz_f +1 H`b/?i gDh:ӯI#""5??N$* OzXAuE *iU"Y62_U6mGGuG[B g"i=4| Gֱi=p}-*\‹SO_\?BHH 8g$BŔ1(c/,yz/D gI+9sh}?# MCcLi,@W( x_D"@Wc~c"Y+x_&ğm t[JA oT?8u6}Ҳ/T?'C$F=I'T $_>b=':+ˤC} pI]A4 O˨п $ֿzr.:i%u6'dH +?@ >(Et/>( IQh Kr +?G I m/,$ 4 \~HZDtI͡E #AѴZ oeqTa~m5ik_PKgW#A]e:tX%:< Z = NxkuA% = E|n?']=0Al_yqyVJm$?Q ͂AlN KUo0ImTX`yXLlHQs - -h &1eBKoEV($'s@; -#[SGR1F$-"?_i!K{/U@/.5]'-[`z^]j_MkGo[_-?44 $@Ai i|+:1x ^u0ߪ @"ih KlZ6"#֘I"zE>& ȉuO)>pO 0 (GK%%&DkXADK1d* !`P&*4 dE-آ0 襾K0K0iTi`Ar)zIP^1; a0 P^10Ic :W}*AB0` .oH֏ `S!`AaP4LX# +5 H ʫ4:I P& ,B4EB#P!iDF CXZCi)$kKqAY s:y]mR-uYd]V:k)3J-J yF"2_lprah6} g2[8g\"6flayHDnf*ET2VjL"s 6ͦ)CapEÇۆD6v,ܷU}]DTݐHEle' @"]] "*"%'VKpAI`A%=hp_p$ANB%8֓{ >S"P&Wέ7tBUt&s +hp4JHH"> R7Se)Iۤ(I}iWk]$MU7M$tzL_ƓI:zM,ywޗ^x 6Ck},$mh5Їz_nI%i}u__Y +ZL?KGMsYI 4m~ʨ{9e$0n^Ww^Q("ٟQ ~u\#&CA#i/n>II)(Jy$t[ |+Wi^#@\zOm+z H" d4[*<I$`c!׭'+I}%Sd01Mr$E%O8jQhg?/ez#d j$^TJ)%󈥥WCUED --(_:CBΟbqiC:_-4W1IJ9?XeB4^tӋu*ܷG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȘ5$) +L<>(aC"C tVe_m3PC xAWBtm"( P^#Au!:i7aY>mSq_8aY>mO]&K/ =Rt΢0 $UNQ.>si$=)[p$҄Jt":?#AT4B&[ZKT[p합I>XKuG* n"/KzS(@먊A!4a@T nQI--^دD$[uy$PDnq50AREW(AԹDX_ U$--P/SR+iu7 ?K`$JX_  ޖ]I%UNUޖ]z;KAI[a a-%UAu(L/"7}-*a4| +0;iVx3[ Jy> +O4| +6o-N,0_$눲4PXJşOXAx~lBI_,0ӈ"3MI+G\G[ uRV(_P"?G-֕}/? 2 +0g#8uI~.,hR(l4yKzJd6 aLRVﬡLH$%n¶[s z \ +_GifTqFfm/^U!*ў -mOΏ S]s:ŊZ($b~oߪkom-\ DS_ֹBGDIT$O4R$-/*@ATT,!ad,B "` (-!ǥt Bt H N5 B5  ""4ABP"CI-#!HDDG""""""""""BIBG*"K:pPF>#ZOv7[(hej`2*ToOO${I3+|%iE*%ش +6:L_~H5f&*HxOSL$mtֿy:B z_R3a0=M0aH?DҟTۤaYU0K`&>Ť]*.QE?FA#i/lle~ FA'U AHK|f~D FQ paT4Ǥ&'FHq>u i$$?IMCI<}/ )k/1BJl2zoI/!%O<&8Z"TֈkH?l_},RdʉS$+o RR}iťo^KӋIKO,J9Ku))G>[=*b_Nb]!T0"=9YVߠҡ)tsIuUЋA{I#5 +0תP +k'9ΏpC xe}e_m3PC xAW~s T"]%ꗄ&/t1sK/ =Rt΢0#A?rۄG_j_T[p +":ePt|>$nxoJ4uJX +U΀u[)WKzS'@먊A~֗ (۫ШEZ 0!$ +NF\;*~ (۫ۜE$/ )"۫i ,Wi{z_L B-"?M-]/oe?+Ab3rZ "-?FÏ=╠^]h,WW?h,W">n_Aue $G(ol R8._AuA0K/m*SMmU3 i=6o-K_UjV KbJt8ҍ3MI+ 2plBI_(": KbJK"=h/?Z怫)C TJatZV ucBCa_I6]B$J .Ҳ-痿XХPiu?ZyJ4Bu }/,I>$ ~#se+ H&.?隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HChdfSK$aK@T__L>z@H$N,s L>:_?}AA lEkA>.mA f.ثH%A 30u_ F{"Y\U/ȇZ o\$D_#I#=0*h!o$ȘWKk4J+Z?_^"Z%aIBt+ +ֿ]i5%a~ׯק6 aLRVg-A&)+u}epA:LRV+i%A&)+uzkyt!*A_ U Tmސkˡ UGkifj'KUU;B H%Z.)vKUm.6ij'*sA48"?_'*__Hk(_(iuh <_=fiW'WG@/.W' m~]Z O)kʟxAؠdCI2( M;o( .M?m?V%I}oia)P0=[9.g}tZ%᠂@K6ح, #;u AAa{M?Am/ok iL4 .A-Ra=+H Dvfrdx 05 m`Kx+HqH Dvoim=+H Dvyh1f$$X6M _""")7:I6n#76Mۥ KcI6hO}wAI!m&^mF~ G_H6aOXA_& |A`bIlxIvxx>g.l4D$ ACazsLxIһ (t#ˑ9#MN:\)!2"s_36` "l tiaq~10 X$ pk T \ NM?0*Gid* qI$ Ae|8cJaA& I8A6dPEWEĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0JO.Ņ)4`q ƒ `C'Q ֕k֕؄pA0Id` * BYA0F t`h1h D $H"T"B?HA""#DA$ A:ijDDEDDDDG((F">z?8}fkӥ&ҵKKt#G QADVltJnb+E &4I8d C)NsA+;)D#QFIxpι ZwD"$DQiXelÇ i.pʪmL6Qpp46lmtEEaPrܣ$]Pg%~Dݦ"%\(EZ#:DaZg@ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AD}G8A6-a ,0VtY0 uAlm?ۺe A&">4M"#Q@l|_(>bUC&boaHII#% +sWB +;糠pޗ 6oB$mQ/47Yz~i6}^ۥm&|&4}G֗JSMAzFB#7I{zH/A#i&WE?WZ_|zߤ^:ZZC$h I_q=H+G 9ΣѯKOMZ FD٩$`c!H )iQA|?AVJt"+*dG44`>/*%NqIK4LyW*dm6q' ~D +L%oD$.Ma0sN/L59/FJ?C[!VΪDzs)l=Ăb&ᜎG9|urMQi#E>(a.2AgUj(aOi#EH}0}TMh$t@DKoJl#kא!GMo"uNۄGX?a%A -Du:?:\&zSh}a-PD(ҫ$FT n0/u>!+*6HG"?=ko["Tg=WN#! (Pn"9B[^(P nazU3 ٝ:\YnUO~u5h,WTf)Z ?-/JXDy4? `A{tޗGK.l K/3^a׋#_T0~"+ /o%MA,R'm*Y&:m*T[XKI$K)}/~!$ARb  lBI_I$xA~,zI7~}.?cmB5@I[i[l1ס)TpJ _0UѺ (Az㎗X(AP@IPiu(Aʡ҆KՔ xADI Su_~?c  I?Cnn x_a?yp@{o, DpvI037 &F}V-汱)E[ 1r[B-ZQ'A&\a~ 0zUD a7EZGY/-' X[SZqA f.xץZ 3@t<<%_.Xaտp\U/V,F $g&Rޥ>$D⸪_uoA{z o&?z_ ?aZ*Kt[%at +ִ-4߂U|xAl?-5 0cޒTcͪ $b]e +k 1I[#j?78Am範tQdW/) UG 0PzQ UF6>'ҿAj4_mx|[(צA*ŊA*[yGsIoI%!uTH\Nu+ 'p MNpTia')8_6MK.QAէoA0o_AryL ȅP $ n j*=oo0@M1m&o%I7^ +&ALqO _RWhګ{l AA#;uo #;+}6/g~aUm[0Ai7&~M8\5oAKA%M_;[ai7=|5I[a, DvnjGX@A#r@aU&# mJ8|} 2<@5oc@M{I&UkMߒMt m&ta@A$M1IK=DDE&GJ&L?0?KCH6a$i6-0oToHB M=0IA&Mtcis +B ҇I1A:PBc % ACIK_c%0pZAL6 T]~ioސd* |A$A$!P^0HR  '&!9d* ǥ?ʆA-8e -&E:`Mi$ Bj>X`HL& - b$A0& B:cI b>M`m4kL?I_Uѯ!i0/I|uDxto6mO FQ?Q^q~4Ǥ5y!)~ 6$h Iް1[~( GneZ +0 IMSGTut "T(- oޭP/d9S^fhG><ΓЧ&Uֳ4t\Zqt>L-G9|$O-G9eC T%KSD‚ 5l^4Iq|( P^*`ʿ<<-"]%*]%[ r.[pT4]GPim#êX䎛 ?AKu1)ǥaKu=D|_KA݆*]imYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_AbKaZA)Z #w/죘rH0+AbB 6"uok6]zM.Xߥ6MAu}&ʚ!_}uMUNv(*LV_6 J!$/ִMfWIY4>&i7lBI^_4_KM[l1*rce 'aҶcB5~K# [E:_+ 4r:Piuz|qg'I?b?K~"xO gBrD  &F}?xG! $CI}xz1AL>ץ_?:/! |=ZˠEx3H Ad [Շ^ 0ge\U/zף%I#= * A ubh!I#= *⵨KK^gGGV!ZK_oA0B%n_k$bA0KVmLRVU_muՇKx@ o5 +LjA +:9Or: D?>}/[t VMkӜkP_ Mj +8 DSEGa"?kʚ8)zA\S?XD&ooW'[i&ح|!7Li&*7oտdcI;)UV]{#Ep@!5+uǿ$1Hm/l#o`/pAm/u]77 ҿA";I r1D{_4@A#vUv}VH Dv}&mRoB* Iqo Cv?$II1&KA$I~~(&.|讕A$ItLpZAP/k)N:CǤ&oytij9e#P@ ҆ Ax"J) ~I8A7 Aj!d4ci0OA$ A04!Mi yxp@ @, `֓c: a0iAAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S$)y-P4Yo;["Ge򳚔2[3IPgehd򳚑$'lFR:(}Ug×9C$8&2Vf{pȟMladrj 2Pl6l6 g EVRQU`dNa& WLMnlkNݑ~]0di7iËAB*0e@*6@>If*mp\fh(}[wZLtj +}!DLs:)(Tr$>A£(AŘNE7 +Xl#qGSꪛ!*ۺem2JiU7tIzᇦuw Nj%$l]Iۤ(_-/m< _hү=#ֺI8AdKK&4_H6/n>`u=M0atMI/KeT}ZizoM WFzU]m%:Y:I׽,Q UkRB:+57!ICHW:U {)DJy$t[ _IB5&}"O/u믆obGD^/1BJoB. W4E?$AƓt4`/\RK4pE_},/Rd:GD*h +&!'7 + g__M:_-4W1IJ9. $Zt&fG90jJ">6IN$t]/{~JU9տ9hD?B.0׈PgjHETuɅUЋA{I#5 1?0tSq?8aY>mN9tA0tM:"FtK/ =Ruկ<^_Bg:KnZLzZO1Oē-6*Z^BUm]VRBdZ}tb*>?IGK#/ O朠5G_kLHDuhYjTA +Z^G:_+ ?>K.k7%|=!e i~, %V3~P_Mt%YuXo.! +(_( K^Z~tZV]%:]d[%H _kχY9DiDz,hR(l?U ~#s"Ap?i__N_A7-/DA%X YHϾ}% +#UEBB\$At NR=K Dz_3P"? &t]t$~ a=WIQa#6a(@ /Z #}'@Qhe>SK$a/?ylb":KmL[U^/*?}AA?At'O-R~m5.ph zt_.o$ȍ< ^S5ǔ-ֿ]Y_x@A_= /m&A0]}9>zJm$gL_?;+6 aL}z_:8 +_GImNA||m/LCY. Kke:EkoUoe8]s:z*[?i}TqߪhI~[I?㰿\~G (_ƖHTy< l_{^U>Cev_V+h)I-_حK޿_kb |1Hm-@_}]iwVH*vKa]8;/[`/a# Kho/c@Aa i, Itib U5'L>b? 4cUKjPil=1G?}xIvxE+du\A`bZ`ȮpO_9?0 (tR ,BdDSդ\pkഃIAMB2 _˃˛ 0AE/ 6$ 0}"5~INM` 2d(5b0:QU2 AΡ4(@.E/ {)H ?= +m&a! P^v8A5 ˴  @a%hXAH! 100q $eV5 a54Fka !DRiB#MP""44#M -4H5CPTZŠ""""G[EqѕHXg\V2;f &80aKq]݆q]]a#EA5} +"Z z]1u=Í>[I^6&IViu6ް1^z]j݉ĩ痤??I#D+HNsoJ-+e1l԰@WxΡSPm o*n":K`uʬըKu*dS*~n=R۫ШEZ Dj+7)a#@u]|%>BJo'w|kka0X/*TIјlz0]%:TDg(9$:*AWꗲuoa" Nj.벸_ujPy=Io +C>1IuQBHhI5TV䅳]!\S=.o-ɴ zYoge[Q i+ᴰAXѬ#5.ޒI ) H/IQ,. 7'J ӜBj΃aHԗؓ_0&4jL& }' g1 h` +q c A +B,DPL(T>B@M-TEhf,yjPDtGG7(Vm`Dlmrn>uG}-T},Gf8}GЎCB/DBH1JƂ}}G-)ĊgaK|G7zeQMˊ8!p{h+b{>P6G(GR#GuA:#HShd4%vAaD8FͰňV㈎}$"}b";.""#R$*~%HDo65&ʯ_z"_7Ϳ+6m:4HC84H4,鳽QGGf"}YDmn(4ꋡD"#qDBcb!!!@ۭD9DŽ oLJA=\2*ӐGADڝS~O}8׶JFtϣ#Kmgw8 iP!>GuG!}X"YuG>\G.D_{>D%ސmWvǯt?bBB}%CKSiz8}dW>>qt璘GT}P<@pDvGA"4}ϣ=Q}QuGUYD"ڂ)ӈ؎@փA?!T[cSi$8<6Vc3x-bqgr&4(kMޓb3 \\KvL/4 v40w# A٠.i&]\6ށ<(GБH)dq8G}h&&9r -GTB#:}Y.>E hI+"""B E0b"#8@~dIaG>rB y5c#p1p xرbCl\ M_bO6 'x#k օ\iMCW;<ꎨ>D:ϣJq[WV":.ɎϣGG !GT}?6yA +yGo:.#6# &,X T} ӈA|A~""S@#E9cDb,2; x;hh|SBXߎ 0q|DC"ڎ>#m<($|DPx~Ď -HqqHDT]/^nނ'AϤ$##>:0Si[:,AY Hk:#~Yv]hF9b87q/4N6q#"0wwB#ɱL87c ]n"iZ[`^n4K&m$~!HϦ ΚR! jm)skƁ⠎8VㄯlH6?Ŋهb}6\lx5bxm]XbDv)ɼ[L\0l1iPױLmJAV %hzWvmS< ݼa)0M0ǡYCnwiN>r7gq2\Sy321C#N"2G@VyY[R_d%ImLyYMIPAG !ADA X s>>"qSlDDEqqű_G{MaaA tmAS"V3B,lB; ϢfUDJi4,%)"*ňA +cB#qł#!.8U0D1 1^[  %W9B- #ȡGMuY(G +"-bA@|DDDE!H Vd& +@8ƕGB";4RD}ꏣY&XC"-"" ["ErAL"R>cB: MD+&#! b""؊^l N(JM8""""<>>tAs3N:#h'*+6 a e*D  FR;+FVsRKsRuY$Fd$<6=mQp4wL3= eQC eVQaEa"}7 il%ԈjL"sFVٵM EeZa`&17id  PdKWLMn$k&N6Sl;8Dߢ:ݑ}N (vtPaZsg;Pk2YȨxtAsg;X5TDC LD_pvwGƛ(!t:UUwM2(GP-u>Q6ޟ#L:QaӅ_В֮qՆ?FIH!gr ma6 +07V~H5y329i6 L H+},wޖNBy##A?z}[ WC0ۤۥ:CtMI/KϪ>:/T^K5jHGPQ\EސAzFZj߿GYym/)G O$95Cy.nU6HMA8Dt]z$}')>"Ď VAK @1#/1N"CxYR>/D5CT4`b,- . W4J0=&B^Y_ڥ&@6b=G4ZZdT ?Ч.?@TyR4LBN/Ii~P_%e2Ovh+HI:ֺZEO ȚϭtO4Tu#Ӝ$CAy Q ]3jJU;t8b-ߜI" +kI/=U"^H! Q}RL1]"T⩿.:aN* qT0}DpaN9_aqT8פ@KzZI -Du2{DpQ j0$뤗IU_Um]Rj`{7?gQY8 ~<IGKF5$_׏G_y2Ŋq/oKD$}$%I1/TT+ןFh@U{{)b"#I:#EfzIU%I%CB)GUu$@W9:D WzXAu*{h/ldfSB g"i=4| Gֱ0+G便[QpYj}t\-tpޯhdfSKFC I m//?ylE?*#}A6oDq-PAtm-k?At'O-R?}u ޷W*G>h,WYN= q: a⵮oz_MƄk(C + 6(q o /߰)i .'\A oKL?KPg9fMzL?KeT}=沉 7Ť+fT/?~UE6 FQ`?n>Jo6&#("Q ~66\2A#i HQ^פi^#@\zOm+}q=/I.='IMC_[OV6K$c!+I/1BJl2Ko!%6P2IE$▯8Z[Ut5[$^BJPګ^Y_ڤ^GJpy*jӋ'lBΜZq[/ߚ+\ӋJ9aDzs?\)0Ob,D!HRaM*b_Nb +kǪ3I-!:i6Z(aϰН4WB-=$( P^L?C(a%[:0I783"]%}8qItT"]%ꗄ&/tAT4ZKT[p합I=KK|"8(T[pI/I!/ -Du-KuEG"?=j a0T nQIޔiP%z2(JDzP%qD[uyUPDۜG΢%L=/ejMmpu*aWi{z_L B +$U2@le# Bb^K/[%Vzxc/%╠^O aL#aJXPaד_"K"B JI QH +_Dh/6]|%>CC 7ki# +.M[欟K0g~Z} `WIYjVVAaK/m*SImU3Fi %ixKe ii$##Xu$xWuqfWt~a`,P/Jar: "=h/?Z`)C ZPiu?Z\6q֖KJ .Ҳ-u +_ I|_&Pite;rM\3l i =':+ ҿpnKKA7OǠag)G޾9Ih$iϡ]%wDu:jGA$HϽ/)P$iH$9푥$a i:j8oW4 )% 0zo* k__L>H _>RH _UGImj_K/0geD/K] tI#=,*_oi3~A6[ $g%R85HdH+oV!ZzBt")A+ kA%h Vg5E.J+ZpA&)+u^;LRV+i%2?9k$bC>m_ 1I[(Q UGk ʀW U3A%CY. U>@AH%ZK_e:UlRKUU'n$)_'$_^A"~:OkHhMNv <[)=xDKAryL n__V+fAryL ( OVwOdCI4][Li&@#Iu[| #;uzZgz_QZia)P0=[9.g}*A-yTޖsA&^s .AwT7AJ o##+VD0 mm-D0 A M 0Ÿ[֗$";I+}$I'L>I,4?Ai60,4?HHm$I@DDDRou KT m&E&A'a] a~!m&I 0  B Mڌ=0!m&ÐN| tia7La tIp ˛ 0AE/ 6A:P^`'JNMQ_ Ty(A '&cA\ RA~,z NM85d* A.E '& $ +A01 `ᨖ1 9H + Jj ńĂ0H0` I b@4A04RAR0ZCXH@4$1 B& ^,,HAk H V:Bt H ʭa"[!CH*KAGu""#DA$ A4) A DDDPX!A "#,xd͎?l(G7Iߏ҄:bkP +Q  +endstream +endobj +9 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕr\CK +endstream +endobj +10 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +11 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 28627/Height 3509>>stream +-@3f(23Y!Yڳ4v'jve`;|2Wߑt$?:߂[ +ZG -91˙s29#-@# ǯ޿vd?? o_"6oAyfNo;K8?A/@jQw} /H9e oI?M; :6fE.dj#QȈJZE> 8a*| #ai"w!X#xGzH6l$\6ǷpZm$J-6~ (z6/Rc)7HZE"2][_ղKl:_KmoWm.k ] +W$ߧ>ߏ__Kp6Bc餖߮UNAI%JFǣcK<uXBn!^v0 l?8}=:ZM6ם-hk:_&^v`- i1[m | mm{0 aDWڴ)$)zZ* z@>蕮_xIN 1$ r +ZWsK?/k#78Hik izE??K?O._!ʒ_oaLSmSxĭ-iR34zI*KIDZk;ioꇯivAa4 ?->h$h$pP7 `ahaXa$Bo zh)d#hQ-eg5(pι"M0pι-󵬗*8g\_a im0J&g, ѭFl2%0la X"5_ TϨ6Rpك +a"79i7SDKCBIu z6:pPF>#ZO0> +*ߒ=k +"Aa oKm4AޗL]|t&^g-VaZSꕾ*AHH#~D F_ F΢8IFe> )1O(uVAH!%6H %7jH5 h/ez#d j$^BJyzL=*h9YPZ|Si~N_%(֜ZP&Ic R#Ӝ92K?7zT0"=9ϢIZ(au {KUЋA{I#5 +0ת* 列Im3Co/z"+HIm îZۄG_Zi{G +Kni%0}*L["=cW)ӓKu*dVR-/ejm6 _Wi{z_L B +$U)Z u쥕_h,WnSA B JI#`"6z_/l K|2-"hm* \ JƼ P4bJ FYu$x[l10.*+рk#ߎJazZPitVPxT9DiXХPitAV |7>ΈTsD'\/ =Ixn6S^"?C5#agޗUk0Iչ%o i':/恖S9A&T -—֚ 3z f_$`φˠ/,wМ 0F{"A\U/߽-,Zu_I#=,*Ct@J+Zu]~_頂V!Z՞ ^H$%no}Wo5 1I[_ +_Tk^=z_?B UQe:UZH%ZA{HWp MA\S/KKAryO &F4/U][Li&@HbC/ ZXA AFvT?^ gkXbAm,_Gi7+c@K A MAi6"I cBEhA$M *i%atW'a=&AAyynT^A:PȘഃ $jK yps9sa Ȣ!&'J Ӝʽt plL-&Eh H0dA+RA|,z NM85KpP@V L8A4 BаXBc   a0cCA!$e `A M5BB 5$em4wXAa-bA 8A +QDDDDDDEQp|5Ed1*c8)0vD"*y8r`_lKR#'VD",k5-dUC4m 63E"iNPjL" 3.و&2Vf{pʢ„pEma6|"%p7uL^LI eRpٴ +ad ][m e٫ ?ag>\fh(q }Mp9t"x3wef2g_p]e3@#lZ9Z' b2 hu_[m!Cea:p[6sʙ e2(}USwLQ쩮R@\U[ͭzuآJHߞk]e'Щ.(Q({cCԈyBW>=ӑ8"A7{=M2?*i3gO:::mK#Nr^mC ȀV:fn&`6~90FC_6ސnh'("ٟQ=ޗejrAi'I? /u8Y/jV~?szY( i%񲢚__E'\EP= qK9}el_},R鈿Zu_/eO\UA/8_Hl~zރנK)/I@N + yzE_]/PŐ`ӧpi?7U)1Nry(uϭtMo"=^ʡ:aZ/G8zq{*Fk3΋HT8VHEug#(?51?_=axa=jc~:aN*x06ypT4J=-U_ +8=/VzZO5u'YFH}t/@_O?tO\_%mq}Z?/:د秭"o\_xDKID}A<:SC+M^Dy𐲆0zd\0:)XWƗq +:ۣ )~:Z KB d _ +Ë#Z(?~cBg_Et@a49 =}v~?iml=+ p%l>KI]-s{D-=k5jG$EB\$B X-}ztjzeNa/sSaA{K ޖ_/ OWAx ^SҴ +CkAl2m_m~ʾAt- KKA?D]cʲ]x@ +[?ޗ_KxК?K-DtW[=TKm&[xYP^tPz ~y}0Aq~z_P?K_t?8!,ח\860)W/i j@) mc|׮l4mu_Pt9I~8W i y!_KKWGZARi~8; AiT{z߄[+_ʙ_iu~:L|qK!AwtiƓikg'Hxucޓmi6KMl >u0Z^>Ɠi-a&L0_ZZƕM8KAI*vܬ0A[MkM㤡+ ~մo/ޒ c~}~v"!8*K1 8zM0N~oIa>`'U"5$,"V!4w+ XEAIH0I,"@C0@[`*La{ZI$jKL  <\i2(8I]EL`ȮpOG@H,2YKiwbP@Z I ] Æ=d`P4z 7H0i%d4ɃQ/kA4IR A"WH-_ !a 0 D@7H B @m/tUbFD $fARA?B"SʬHP,,HA_ UbF!*uI +B#4&I E!ŠHp@Rj""AGMԑ2DI3FBH茄Db򪎙Λ2B +>2!TDppȦjDo5#GTNDU.̬wڅdB"p\Ԏj[aÆ34eo m*t (%)g &bEՂi`&pa*ۻ L&/‡UMAP0 +>]0di7i!Xia6~:Dnʎ]0di7ii҄-YqLaE93Ѩ5v\fh(uDQdaZg;PkUQ 0p\fh(uDQ~wD0wF ӬWzCea7t(m~y(l#qs=u>P5G@XF -M2U7tTK%$oL9QFIHJHDs`]H4&(ͣ~ۤ?ۤ=s Jq/*i3i^< >O^T*g< >Os{SLkN_ ֟_&/:fmiD?| %]/՞ `_K>K׽//׽/_*ȴQ>j_>j_Y>j_Yp ?[ &P~>oI4}')?6&E'KWOM!2ZPŭ PeP\: }:(]bֈjKCA3^頼g '^4 $V4D*h4|z 3T8 \~ <u3@΍RH5iiSE + ~Uy3ҵȸ4R3]!MtS\MU{)*ITN\MU{).dZtDz2?q9B_oҋT8C'9@B,7d{*_H~HE,3| ^ʡ89p] Ue'1>UN*DdK:aN*Dd!XP>qU0tMO-ҿKVZ^Ii?_/qKI5k䜾zZO{@C]/NzT^ustNzU%W3ӓN {#U:H#~I|x"?$P Ac-'Íb=}/.V#U3Ηz?=\4GH4S{*gT_.V#U3Ηz*OչŴI(z_άG- HH*H*n?gVq#–fzI%CgVq#–qW@QfzI%C鿜>j/Kv7[>,RM'h[}]/΁oub-/I`Im=tJElI4>b-/I`Imֿ%K׿*?Ŕ1_TŔ1_1Jim_q K ~@W( znqP Aa/~J@@8 /wF]z~JA c~H _XhABH_ --UizG$PH -qyQi KKo^@I'T.(CWŮ-9BκI]A4 XS, _oץ㲧(YI+% ].L\zz]^T:GGKI- { Z\id5?Aiq/:?ZLh KsSa@P# a_ eg 6~4QYگA?tuoگAq_{* +ZHKoe_ -/iq-WPA Z[c k(H,WYNBRB(H,WYN --z uҽ A']=0Aiy_AnWh>y}0Aiy/{*N|=8`#߷)azXCMDAtHs`]zcAץa6 S]zcIץa6  G\ {mVȾxA1!E$͆CmVȾX.q%l4l|ׄ(u_=RGqKGq]l +*_)saux(_1+G:-&T΀տ/ @oKj k%ǥ[q[*qQ.r?? O)lo__OAhTo=D{Xj"?7W#M_t޻+8J-oO}m0W_*I, ooʮMIa> Uuo }&&0ZTAZM}&,"aҔ?}U,"a֓z?}I)^LL߃XA01 xA0zI0bBi\ ``&cH'<ϗA~$Aj0D.)0IV 42ZMF Ȇ,>I.!aR \Rad(5G4Kh0Y*@e0`Çaaȶ-R D +2gP^vLbKh0Y*@e0`ÃP^v&_V$`(Ih hp bF4P q AČi" aThhR$-5"$#M`#I $Zj"""""4""""4"""4"""1kH.R%9GTNԣ<#@f(:(rµ(J )L|8\AZV 4>HPI;dj)fE @pȺaw  0l f 8dYZ ["6l0al3=d 2Ӈ  0۽d:YP#]7 +wT!@pۨ DkBn=d9)w (@M_"ht(MUTk 2%Onl:i%=hpQj@a(\Eef2g t߷k6#0n|hu_F7*K;4!:W瑫?m[eaU b2 h"?WgAAkAޝm}i}l*΂Mփ:_M-8zJH+kyO灧H|{)qlEu灧*Ǻr_^x|&M{g[to:f/GF使Ι?M/}ѧ9'oizpAz?dtii,$_/3 S]6ސn^h'5 ?oYPJz}y:^!? R4 ԛͯszY(*AzG/F9,umm?szY(2qӪ_Ӫ#`zu_P656k|F B#0 G/$L?'^qdg*4|;kA83Hl+lONY_55D?oeg5tHز K競_MV7c]bI1?үةn\ֿY9%:5~°֌5 I#>&$<}OIv"!8-&_Ia1<(opz=+&^[0^z=+&aa ïT=[OH#a09O` [ /:AK 0zMpabdPd0zAׄ09W`=ȃ :+U0zQ[=)b叚eg*=( [AIAAB`ƒ]CK;g*?Lbh1 # + LN@N7 U `dX ia T@ȍXARkkId(t 5B l,D $fARp XA!j0b#i#2 nR6H*B#4&X BGB#4&"(!H!Aa DDDGYgb#!U-dQ:; ag20qCgV9s2ÆuDI(ȗ`f{1"Ɇ6l0al3>*E3DD#R`6im0J =d:YP#]7 +wTZ N0aSl;F£U }$S:oۅG%._p$ANBu՟mzF`(.!9\0N7_ +kyNKߒ=k +/^x|Ǻr_]zx 6(4~o:4$__Fv=n_/J55QEs?FA#i(u0 Ăm{L?aA#@\zOE{_kޖyp:PI$c!Ӫ_H~I/!%O~>qyXZ#?ΡWP&o RR}i\鮑'E?:eg5tHopAP:~_70"H>AIFʿh/a$fAFtE<Tjj`J_=xaꕤKu0 k}U QF7 \56U QK +":ePpv">I=$j>_H/ O朜[*>X"?DJ T"?b\kKejMmUA־"_^DZikl0lAKֿJG#G%opA}O?HHm$I'L>tÄ\?C$hJ?= 0 8J6 0K 0zMk΂ips9sa Ȣ!&'Ja6J+ba"'PʠJ+b+-'RA|,z NMQ_ k&Ei4@ȕR i,1ńĂ0H0`   .! +B mb#i#2 " l!ad(B #XAR0ZCU) ATЛdj%PFkI@t +""D吺*\2.vJđ7QAD`ЎD"*GNv3>Ӝ T#̴tVsα8*^ PEmA= ZNMp2"wl8m  vɎɝlE r*H ڢ4 2ĄtH:%(l0Bp DֹpN+aef2gg& , ˜Xn.4TS4p}MY OerpXF -d`?2AqeyBt4EoI5ejm/qqIJ&_,6y$-$YPi!zG/}W.P)| BlOGs.9"#R#ԈyBe!ʂs#ztq?s) KN?DŽ;~wՈ I$YhH6(K"W$8Ad?':BS#ɯf8N0)'%_/0f9%ʳ(Izb>;*gEN"W^ֽ5_8#0_zjfZa. ><5!:Yl=].:+=@z}C(CuXhʰjA}#Xz @1쌏E_ZM7CBc 69ZMʡŪG6k_apVf$GtR⟏%]}~j &i+]&U/tz^j;_ +_W-/]C=9::+O/ֵ`Г&5V. +ADw%ri::z<Βav a ]{(?Qƿ\V+ UB +nTJq#߄pj_u󓑋m ޱkKչŵ,8=/'UʱKk7Kv6kkZOy7r:_5I{:ml?})8D{$> *ZuhKҤ_,%B8+(o[߷ fʝ=":ⴘz]$)^>zT9ikU~_W_,aI8ƿAΞ06 -xX[nc?a"`2t$__.^i~aakH/z [Xۍ^_ /V LKQYQ7ia#w@u:?辖֯_O6  OR֢OEfX: AK_K4`kA' J;K4R箴ʩ?[~A("=:ꮓiK+i~ޗ:^LIljz_'a@v0oVK)0/J~&Ko_}D &$ޗ0ORT&~% ?ӥշIO +#&x%! & W}Ka~L? ,"Ί`L%v_ ;z $Q%N&BB$ Ax3(z6Lk^LXjl5aA7vQKQ5BG ?AA`OW 栁cI.!1_& + 0ǜ+EOҽsk#X ^h45R AkA!LL 5NS⼜o[8JH'Ρ1KvQ`._aaj0P :zB++ /X-"44!#x!HDDFM`!A !uM!@%/B""""""""""4"!ɺ3GedN*2D@( +Zi!U "TGL 9TFՓg̣"8g\^Tæ"@j |0䴓{  @AME>CH tPA0l'-. ea(Nf+S & :oO֓ #:u"P\ 鿨l#n5JHMIť+k3+|%iE&]$YPi]KR[^5&/N!%>=u .Wgʴ'Msۋ6MǴv&>[otq9>y%<؆HEM/uAHK%w /՞/!_hI3_8Z&?o6{q=/I95/oC\o6aN^MQu_'IMCIzMKns I= R/KC_`dIS/I' }/n Q`|UAN5_8#5D@ӋJ*'XњלYZǓ΃ȸ4kO2]!)}My iB_90Ο@qʀj@b2?A^a2ayP [(CFG"erT5O_c ϩT>@>Ӫ*`I"]%ꗄ?ervPgЪNO|ZD06|G+V&!_Ga4֒^o&1_Z#Eװ5uka7 +ǿj'[W"tZ' P="??/ ? TejMmTa" ? T# C+M~uL8A+e"`~ZB^O uTÍbP~!Z_ZZ)CI"[93չŵ,:ւ^fI/ubsX"Z ya ::]M{mi? zI6oxA +~}/m7r:_j8Aiz|Mb_[Yoֿ-, Fi %z^%H?>ߤoiaDp/B, a)T%x./V uK^ZSۺJXuFZQYGg6_}_:*׮Kr@E>VPqAWθm/-t$_XKI$t__t$_tub ^?A}aH$i:*?Aam~L\zz |=RP7ւ&.==H_]G DYxM׈))kA lKB^}yKzz-"W- m?@u}k3~D?K X?^^GY!9?Q]2^- +֬_c(#@tx A__:.EH$%n}g9 +[~a" uBAK/A\XH-(R.H%Z(R򴴴ץ۬r*qKy0K}/(_Hk^L(e Hl# +o|:Kǎr9] O)xG:/sS:K.4(.?NiAȆd Nirt^9oݥ+ #;*/&PI/m 'W_k 6//aץWە +Ko&_ A MA +Knx/[ DwǢB_KI m&=M n2I-êXEیt)m>"zL=/һH6h/6 S|D0_z^p 9Ѭ56~ s%za( ڂN688AXjl5*I?Iza([ӤA#t1=|,&RSҊؠA$ؓ_ȃ :<ϗ_e u=T T 5us+9F"gi`0y+ },vf ג~jL"s 6ͦ)CapavajpU(lȺl6q\&8myPӶ `2)8lM.YPBe-6zuahtۧP0DdH MtT(U-=B & +u +*_I 2aiOZ$\(e>æ#EKAx3 +.&Q a.@eӅ_4Mafפf &EAp 7yfŗIڶl#qŗIߞk]$̭U79\U[KeqVtmo!H^M-8y]D: + 6$/V➦H0۬o%^8 h|{\|{~FNA#A7{Q~HŤ]MIӣ=?}89V7C?N}U dW3j$o6SI!bJ55C~PKM[ +O BI-5oF:FA7C0=$$pΓu֑>,?!'$St(4IMC_[|4KF9нBIW|>PW>@2E$' <4_.+aElY:/8(_9 Jh>m%JQϭ83g^qdGC~NB/IʞtoA'^3^qdgסJ34M*b:kV+=M+=.Tqs$(p,yV{}].:I$PU9YWB-=$( P^=PyH|2aEu/$˗=tJqD_z I2K/ =Rt΢oTAB{<z7@Z45c~{<KQa-/aPim#U b/ a/C'KAeeK/m!_NN +-Q@Id*_Ae_@ZT?2D* b\kKejMmAa +/f}ZZ^I-RҴ[KDu{{))Z 4^D4҄ײA1_њ(_˕e"bϣ4Q]:_AI[/*e sቝt"֗p-b+Qp>zΏ"GK癈aEB4:}]aFi %Ek$_U~=/J9sh}?f_ӟ6Na#ߎJaqD|}#cL=."ǿ:5l=XK1F~cBCaהk=q#M#+-b> xy}~5A0)>9Dih$t ^sԒXc|0~k^$TH?L/[}gP@$ir/_?L0ȯ" ^AaE~c,s L>:_ւKH^Z6 v!~&_$`φ˯K|K3ׯX Mh.?(GzA&: F{"Y\U/ֿzI`4T>A E?}uD{x_As{KIA+ k|}h/c_EUD^I6owQMu[x IJ_}.zsI9#V[I(AI__?B UQ~?BP /1>! /_h$N{iuyΏ@$ayP?Ix%p MZ u}&}GVu#Bq Τc_V+~/?JkM_A% ulPA2!حK>߄J5:1 k  R3]"~$1>u0Ic .A-y_Ko1ץ_OzV @&9"= xA(aXA +IxA(a.c,p@ &m #Gk>?v"!8$_ `A.O0zL1$i6P<$һ8E +q|D0F V!aaKsմ" ͆ " (pZA_A/KyB /\ctL & %&a.q!QB0 =CKR2ŏA0`I "J+a"'Pg+_WVZO_8/ f-$ Kigbqn_%Io[Ak@ a L& pkH,j$bF8K l 'D%tH. `oһ!DQA0F t`8`GAH )`j0b# {C5ZŠq 4ҨB#ta +H!!HDqL!DDi#B""(!>@"^MtA7쒣;K!Y٪aȍ:DTAf "14hg^ -De^A"iE8e"geeiI}TݲcaZNad ʭE [f P 2l;N6َQSN/T-]T8L8fI"JU TZ vBJ:Al0! lέbʏ*H:%< O:\[*΃">=?A4h ҞH DD 7\-a ‹o3L:#X}Qh*Eyf R3ߤ>|D0Sפf + yv(.zI60æ.Z7 +񿋜/ҍMw|%F_ᆂ|o LGDGHCAf/0%_Bi+ֳ^%=zaYAc~m~>,?oKoIѯ㠓oJM$kKӏٽWDZ_#mid`kAmFiS~E~EBGd`1>K#E9_K rp&dq%}zW(]%rQRW"*l2/AI_au D҇0y^'d+:v7^uAyRQĝubI#?Ι|=q:.?>egV{zDzs>őgo֩0Z\b?io0u""ҍ["C zat.oO43/O #xUOzl.h/_KDvx>.x>-}--HPAr0m,?'ۄG_"HP/b/">tZ_z,u 0??]~!lP:t_Z_Ν:!T`f&S` YhIai_0̓BL=-*_#a2i_X~+^n" K +_{(:DiBe\V+2_6]~C_Z?Y*#=aYd𗙯5Hb؏W#@ؖ||ïN(TAm^s|ïM*|9鳑_C8)5-,%"J?[ia-xBJK kňI+80_iO^_>KήAy#q + 1+(Ƿ(\uic#"?#灧koB ahD8\ҟ~8q_A_#o@5Biǥ~,^J[uPk<:/pi~_K]4?_>M/3 g:1#JQ[j_ C!B ԿH~Z"p3R@_3X_KRK,_?uh< Azf`_ A~Fˤ_. _wY^?q1>DxMMxK+\},i2}~>RAyg|9PO(Y Ai_YWDt+A1_U_k]2_djG֚__e?Yk4~aSY:kO%nE> /Xנ+_-P1)!-/[I )!pG)_A93p#-ˆW΢yAl![J<Զtҏ5.k_=c-|L%-4-})mOWZrP[9?wm2K3Um;v?' mo P9A{ $ӯï:~"-&Kmo4FwΦ-Kxz_ m&e[i/:?;7֓MOtoK, a_?XaoItD݈N b_iï lM䄅V`=[O$$i705?n-/N/ocxDJ R` +0yB ,}'JGItȠ`K~oK_L5A0ȠU:A B"Xa`5د5IbNM: BH2 g䆺G~NL,Kw䆼$T-CHZ@lu I Hp !tBb>N4'u A00^ ix1'pjx1h0[ HI $! /K# ^Ab"SXBXCA584"@5iBФkh UA-DDDFDQ[D`E#B#B"" Z-#%OdޤD,g3dAG 0q20^yg`yʢ:gf3{0f6|i d5]CL&1*w ["=vÆ/u ;`r޴PDt Sɰ:w: +l: i0IDtT+*O鸺H7Ax3 +..4PU.LtS4p}MFŮD@o]&ڶ]'G'B/ aP:@(.qe|"?皦P: + 6$-E~/&]$YPi!z[QMQ_Uz5&/N!%>=?FI' [C :>[TI7ӟ ^[`K BI-\0OBI/o#J55E4VzB,i$zIIi$$Jz&pMzII&뮕7(^$mz'IzM_/?B $N}_JrT0 N%y0j~8Z4__"]RWҶt^qdgסAsczZ"҇6S:TL?cFkҿ3^qdgסRaK"uG1ױd@4"uG1W6Tb?kO]Q9tHMEנsUנ3GTVʀj@B2?^.Ls@ZZꗄή CI=TMH 0"I~G?d?K/m!+6e_@_2D*dPiH P=&UA!#a2/+KKZZ^HAfZ}ZZ^e"bLWrZ ,FP۪a ]{(?Q}b?t"֗,FjFŭ.#G(tXbg99N[[_sZ\G[+9/f#_=zlt癈xA_Ckc9#}sW0!ֿ_fIx9$!'kzU˛CcL=.'_歇0HR4"?>ʝ==0HPƿ&8? x^_N> )M`X$_ CȘ+"`2*X[nBH_ X$_ CAaE~d:A0"@4֊"?Pb?_B?L0ȯ" 3Rl/+A/&^X疟A1qC Mh/Ϭ& 4 Mh /,%!z^@P#ׯX Mh.?(AH}_=~>/R!^ &UHc$Eii3?|5y#[D^I6oNqOIB IBgb>G^g9@P@j A!_|^ZB4>‡j@F:ŝHH/Oz$ +>z:[0~IC5 (A9` ] A Ac? k~$=S Id/@v-ǿ[`_kO% 7K?aXk% 2AmФ _ `,7b" /- ~-z4, #XcJAy[t)m>"*k~ s%"' ӜKo΂ig'Fk %6< J?G>+-$ ׇ85D?Yi>aǜ+a,^wqNI  ; a 5u>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕr\CL +endstream +endobj +13 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +14 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88856/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY> 8a*| #al iAEju3RA6')Zm++4P1̘"=HVl,l:_q^_I/`Uk~f5u_, +ZM_k< ]&ڥkcѱ /N YH1 Jӥ/|']&t1_( omWZA\tZI7-KAz~IFylo^Uz_J|DOOH~ץ}-. &")z%Cz^;3q+K/ZTMAJzzҵ;ioꇯaa/M7AngO * 0  aH $qHBM@!o@ ii +"ΰNL/?lmOw;pӇ3S*2. N>/)14 +H '_% e /I",:L3aJId6|h +l٘emt\0>ې£ D,_G5 pOwQh?lΖn/pdcNv~xA~0~W5ѤעHHtxA~M7N.JBN{|*x_Ѱi ڶ%k +o,m|$1n Dt'|/iYp_H_FM@ڕH0AoAmzUX\8J)&{ǥ :M1PB7+_^խ#V\* A5b6 y+L]1  )4kj SR'{lN024i5 I^֓ABP"(0]C-0""X!DD5)4""""?qԷ&lE 2 Ӿ z>= < w36Yi&yv635ga}9:Zf3pBXC 8w eQPӆA$Cel8l447 /.vÆ` +DŷIu5l7(M i0 aHL7N$RM?=2&#E t*thUJGTw&rm " )#EE>CH t6{ 8lȔu]&uR";_a`ŗI Ӭ@oߑe;"?0:g: + 6ao /:MXl!HZIť+km0_fQt&>Ty6p)|BtЛal?FB$Ǻa5NH7_iӞWgON\pXO'hIo:(ZI%ߚ|E?gV"-$Kg"HmWīC7^h@ &}o8~x@iik?z'_1b|2لƼy^h5z~;ioz'I/?,~v@*󐺤Dm<4_YG8geRUoK]RV7Vn[쪎9(k/Z"לYd`+EP^qD_%kЋ3^#?( Rh"uG1+=19( <0 ^s_㥝VE9c?_KB/az 죜sPhʀjA}#Xz 01쌏E^}!&ŪG^l|GeyervPgK\-&ePvRg#]K5]'K/&of$GtR⟏%Ǐ5B#e_@_ϣESDDua7 OA^:2Dǿ_~?G3-/_/_W^ʛsR~P +iizZ}]н^D<Ϫ/onc&klײOׯ7Z\G,9KO^#')׿ +!WŽb֗sk:YqAvOyt"ࢽ!6+k#$ֿ5f#M!R4V_NV/ADbNq#@C?XF*IZmW&IXB\3֖٨b*\7*t믊atx~ (a]~5&Piwe/K AEj/K$/ xN>]}o'U~/!ǯֻ8,vzuA $/z], a_EA"?t#WKկk| a_EJti.u ` [[k_-?^A"=l/+A?[pEִ MׯA}-g-|K(ol| A SSϥz]-A E? --m_z_;t$ X=}:_mA$_aKm/GX_:^u&M .ڶUM$sU٭e-R۬~c9?Uu\$&IB 971^E;JҜ[KB ϋ?8A?Zk +1x_cM5pK -j+(><ԁm$<-xX$ZZd{K5ՋG?vkF,j_WGW=_k>AB(e Hl#'_zM +j?*|DGIsM.-*` DS4vΒ*g@p_xX<Ϥ?$9Ctc^I tDaޚA]!]i- PDzur`T Z;~$?X`cF8F@U[R&B1XN~$?KXI$۵aCViKҿaɽR* H"ixJM  1OM +JޗtI >I[ +&&萐^zZW `>%0$IJC7^at0L=|&J|D0DH$t  DŽ Ga.q";ؠc)5'Fk +oJ< /w08 } Aqn_^Ŋ- "6`Ahl47 /.vÆ`Ȕfۆ2l6 gÆTLF@8V$ tw1!0:J#}6 8Q`DMB3EBl;03 ɶ/ (GDt0 \2al6v}6СQihmg9>6{ P=,O(Nf~wPQqdλwLuTJc)Ne +ņ=Z]: + 6Eޛnmo_ ;O BlOGsP&"ۮ{:WL&Otq?s)˟ ձuy'ߤMUI$vwՈ I$YhM]z]&o4776?/vS0:IIW7 !?DI#4C)zZZZ vB $N_I1Ν4fᲂaoR|KElW??V=/!uIZ_"Z8ʥ9д`,\RӤ>Ey--.uEJyő∿>MMa_IB$#:|ȀW㥝VE9c?_KjΟ3|E٫oaMt$YW8*e)wbu/Dz2?|?$ 3rIϤ" ?]u:(3%aG.ij?};)?j 1 9S~t6>~0)=:_Iu0m7 M'ePu/p㮓*G{"ҩ$iU_/ +iizZ}浯8:?7mR("?DJ=뮿Dj1D{tӵLW6PmA5_a/RA־#_}VK^h(oȅ_Z\FF-g9|2VH* Kk5akkl&Ȅ]NL뮒kEd="I k\4zlAi~\4q5L0ȯ" %iPJ/R*ʡ8+Бm/\%)zGy>j `xAZ !}j$Z[yXaQ'EuuuKK_J4@$Ht}go-R)<Y_Aq? _^|&_ /?T/aA߯:KKK0 m/ _u}$VUK)Ah?{Koڶ\Vp _ %/_8ֲcvZ`a uS" UmA/B ZU4KvH +NUZMXP?Iyҥ_HLXImiJ&Ht5_WTk8cͯ:m-uH@Im /"?㯥cf>` sn졜:[{iolZ`%=uVv AUtmXVt /J7v 'a^ [%eb0=/^ MWM[b";KoФzM~o>JKj `kKVAb 7LEz ~]'IG ayUzx&An +a+zMq5մa"-"pza!>8HһK'7Xz taPM]'x@API#]L 4a{TBG'J=.x& + 0ǜ+EOH2eu0e&JQ[*)0~ AA@A0zM0 ; Nqal)'A"(XM ` |4&J0TBL XGCG&ӄz TBBB[а i$-hD +H0RTЎ"5 +DM55 +T,G@HF""""""#B"""""" +"#,I$EˢQFvJi̜dn;"ZᝎR;3 :Bd)hd}rܒl' jȺFaaaV. Zf3F2'adv+ӆET2Z 'i6F &}A…Zl0aÄTI2dᘛT3a +iAl]Kpa2" )#E *v݆g0|[*΃9;~ io)pʄ'$LӋ @ 88_$N30P\mom!stGT_MF XyjEʰ>6y$-*ͭ(5Uѭ>,`i35^/'^>0.FDlOGR|4!s8O`~[.9"#lRP飭o4J jR!/Juj쎍2N*bic8 e9D[—y- ЛFI?6D?(ZI%/l;*geTl5{ oIς؆[-Z_&ݾ ~DBS#o ŴkKuYA:]uZDrkm-/PDjgvtKfC$?6'_LK{z_B꒸B$m(lLY*N_D}mzXQu߄ mMjyZ"BP#/EUm%#cz ~ /E"֔Mi#_㥝VE9cK5zTfegH,bpit]B0~k o,R^Z Xa9+I}WVe /_/#҈ r8pKQA$GgTvIm /5PgWe}~_OIφϩyemV+ ~\5?'퓠^;6A^:2DVNgb"ISQ#!:z_R_֕~ 7Yk 8 +r +f&k/=/[_*rsӵLW^x3XAkU5ۥqZu'LWB^rNޱkK-YBƅGv~DhxAPdTP`kkd _Fd%+z(%׋#a(XK/k?]|VKD|?m&A t*!^:7A_/:eNׄ ;^NoB ){|+/ t@iPA$u"0񏄿A v DKFr:cg /D H__۬qKAXaE~qwY|  !t?AΝo>=ί6 E_K!BAVO#j+x[j_!Y׵㚗]iF~c /ʢI}?Є_Ad&T[پgsΓ~/__?zG%cI*o6a/$y_AV_ 0 m/~/IUJ/VUIPÉϥ%A6J_s[𒯯 DyvI?/^( HW_=>(WN?IV=m%HpGTR/S/K/SV/F_Q:ZTYO2>TBՕXK%mb ΂^HI,"@Mim%IS({2 }"1V1 +<Ϥ?$?MA%X>;>zI6XaKI:P B1XN~$?ǞiBa0L.Ai6: om/A0-/-t Ä Mm*-&${A&IaK ul$~% ?/ȧI.5֓il4,A:XAa RwAljAK҆I7ǢB jt_] SSh\m=-,8pl$Q%NA1clI0FB:G4^A dO_ +mi%'! +0HIB]RZAPEODID0at 0ta }-*KK %OKM& %- yFئJ""^!@ֈ!$ A$\ja& $5xi $chNQL 5ⰣN^qH|d L-&@\i0T dALRAAC,U I cXkpa80Aaxi "  &ӈNI $D$H̃!uႢ0  $X _FZ"ArLvjHF@!A"&Adj!5 ɃhEI8 DDDDDDE""""0H!F\0""#,Dh#Q\`)2+ʮJc;':F[Z;.L$eZ)ўD}aE (3\v98Y6-v al6 RdU0pᶛf3W Q7 0Ȫ5AB%Dbaa gܹn]&wTA%TGp5pWp[Zpݶ: +ӶUn"RM„*np䴵UL6/e>æoaQ|'*9ɨW6:@*‹e>æ @aUD">IO]gD@oF<]Rҧ~HԳ\hlslmtl'yWgAAfV*ON^Tjҿ|ե^}uײ: + 6Z +_*?nd0@.N 6 +Ԉо{y) 3C9Ob/mǴo>|HCʡÒ/0,Kѫz^[S3@۪H9ӟz:tIG/!o6H e|O0/zCx_u_u҅?2 $h I$-)JvQYd}y:; _+_[Mkx}~(:%6H kU%$NԙVA<%~q1 g 8 ,DtNŲ=y *jK]/HY12"г5{lt": /+5|/\":RB#?sN.*3I0i$}g $BPu4d#?Ρx=stCK5Ҭ@QW^}.0"=9YJ ,J0 408^Heg5 hPP~BҺ%D_( P_Ui6JrtASm2k:F5 Ξ`Ha~jD{<%[~DpQA:D@gK4tQ$^##ŪGPdh:j_֒Mu^4UϤ{_iy#U$Ku{*t.!2 ^vZXaD{}+m:צ%| J+V߷kmק>H Iv$D׈A%5qAl^}VaN +K_/_GLhM? $ȖWKzIa%I|hF_|/6VHQƿ[(gGqЧQ X`kT-RK/~q_E1*?~ Sk' osIJ}v#Y̓s\RH_])֌8D|ؿaY:/ɏ ~!*Kl| iD%^0 ^ÆS?[{:U!Iqy _A6A%\:,0m%?'^_%PkPM?W Mki A6__^HI/?[+O[cG/U~_ +A\?+H X-E?Ki2@Z|!73MNNLi&'IKy__K&M&J/ o%C?  R34KoAPA%`8*KoǞZ7CKZZx=E߂ i|K`BMBJI%_az_,0 /L A M oK,0T/?47|z$.c%?hA$M_a%AaI|%/ MOJ,20>=[O!m&pBJ mA$󢿊]|D?FäkAtk Ma{P!$~I-E"0: t֐AA I/y+^\?IoLAICAXäIֽA$Tk85 @@5lH j WS[_bP@|0aAk0[A^ ig?' HR H !I%pk ~N7 Ⴍ!q¦S$eV ~$ 4$ @/a{ GFd + bh6k R +,Q)Z+ $P",M F'&M"""4"(!DG[D+#4d1E/;H*-őVyFEFJ3F Dϱ Ŧ)TT9I[0֏:gVE5ۻN2fh֘47 /.l*9`VuJ.7D`pl0ΰDkML6B"i*H&.h8L FBau +gTlal86alL243 YH[8)[P*C'ŧD#:S Fn +qpxMAd 'M|:oaSL8Qr0)Ϫ&i {YtNrUR!lf/F| C +?a|!t?izAץMU}WcBlOGHQ5-HGDoK3]cu#Ny]>8BsZ6ͭ*}C5^j:?Ո I$pU9?_.?_F_7_yփ/kݾ ~LN,-(^^@hu:䄧GD='ג#la2:@kӏK} $:&Tł)x"֑o,af}e}^>2膿e 8?<'arT֎E^-RkqLi0JcKp#$"W^ֽ3JPϯ>iMSOIŐi61rRe?tz]Q9uP^RiliVYit~"lG93kGFKO_64H3g^*J m% 5L8w}/aG.ij?%H%M 彿--Ha $tDtk5=:_~T:Hwit/[p7-/ZerxOA^:2D,a/Dt6Ro]~"o_uQ~>qOȀU+KK5km:~$uLA٬"?W:?:tik>y_I=:Ii&+د&I&?hWKAb`$`2 8--?/*@C~KZ:Ԇ{ұ_WG֓mza/3B?+:,:wL=uK% j<ֺ}sk#k\<_US z6[^ .a."IA8!K_nzTi %~TGD;ia* }z~&I +# ;_l翤íq!q (@iW_,aK_*NTz]W7潵A +h4ȏEd=#/.M2!SK}/ }?[S_կk| a_E[(]jhIu__J̓XzF}(_T&m z#&XDmZkVVrF!@ϛYZlz?K_J4@$H/Zb,ؿF6믭0@0tχ[uЯm[)9ۤ}7yo " /K3ֿk(0&m RAyg 6X$f_?aA$Iz!KʙF+ZL~>jMZW_Km$ iI[]~Vݤ9GRKkk +1x>*TH_Xa"_gz竊Xk8Y֖k__#R +G(E/Z/ImKkI4AsGWG[~/z#$gOKkD} I_cf>` 7:=v4=rS.?PΕ]oeiKeT-m o{z &SehS[I?nM/ijz_'a@v oLKwil=go$I oL?Wm/IaoKKoK}P&,}&@oMZNto=-7LEz a-U&/pi7G"?:L07 0ǤƖI S^HA/k)_$Ti7-Aaj`%A-'1?5hץO(A:P%J?9h-B c @z I vp858OK,cbpl1|~I0  !5a (cK"" iV@Ke:  "`8A58EXc4L& 4A0 H A1!i tHPXAA3. !bbPT!X_ $ehCB= +L ڦ +PB"A BڤE9*@Dhj@H B +"""""""""""""""4"-"Rܡ D;*, .g<6iLaH֮l3<&L6af]‹gH:Wl(H,&؆As ê)@"-TRBhL3:H> +JN-.Jt% S /P9 -:TR_tj/K~8~'(NI|)2Pפm%`I"$UHzOͯ4Jy$tUMI/eb'CZVApս>bi7H\EpB&\:Xgˁ0:TY#t)hzW$Qu#M/a?z ^/I[__m_C ρddҦHXc'I-H}-CII_(AXI?OIX~P&EI 1u^XO\imjZpDJ<_Ab`tÍbIGqAN"]~5jbگI"MN_ _[^鿜)zI&+/J BI_>F2_#CP*X=%$^p=yҜIo}]$=% HZU_] !|$.p$jF}~6B\%mFڨ_?=BG LtB $6]%SS %k_פ,* >Z]+/<V_O Azy"<%{):V?_,zΠՃx p zF?=_ ^o6*48A6 [j>: &۪kKKz-i:KܞS9EImNդ?X: #;P}kmBZIml%Z_@&__m,0%-$&o?KJ a*+ M| F-$!C3(_$NK"-,22] 8A6z>[J` ɂht1 %G u Ku H %,/GC PZXh L-ӈ0 U A""""""""#bx;XGbh ;R6 ٬;SȖ0lh}.e;D&}9hs.vⅺ`Aah",i6 p漋iݰ2%0|TN|בu 8m4kWl6 2.Ϩ25 $tJa¨PjTt-DoWdG8i:%|, ˜Xn.4TS4p}MDDS FOuE>CHm锝a(]''NDH߻`ŗIAAp 7:u/c)Nw_( *U<~qiv(4oDuNgB\U[JN-.G0ӅDc.BlOGsԈb}C0M?:s) mUӞWgON>_DN'h`*PVgV"-$Kg"HmWkeal'gV"-$HoY >ʨEdH8N0)'%_/0θ+So8C3Jy$tUM޿*ʵz }?нBInse:6Q\vB $NcVAp{{uQUoK]RV7V-]Rz_B꒿"дID5)=gBP_yZ"ƌץ~hȏHeMJj~B,yő΅> Jm6^K:sZ~eg՝?ꡔ:Yl=].:eg?_~MH7Zzנ4D_Mbu/"Dz2?뮺jz]/ r8pKQCI=TmhZp"i6x>-P"?[*Ӳv}_ȏI?K k=:_I"?~tW"?K_A^:2D?\"~8Ta 4_Ҵu ? TZ 8+KK0KPNN\k뮽isYI=:Ii&+(6uDCbQtӵLWDCa ^qUoXjbsP_U[+CEoXsjb^ޗW9]k_k]>b4B|%T_k]>b?ͮCZkG}?C +a'k$-}4V_ϥ' W4/%ⴘz]$)^>zAsLԌD]|VKҼ|:_KP{/W_,aI8ƿA׶)=,a]~5ޓ]>?a_?/!BH_ XaD|esE~zEВ4^QN1VaE~a+OQWlP`_&dW}V r5j `xAZ !}j$zic9?D{0^VԇA1q恗]]zuM Mh$ +u +r:}zÈ˃R ĺҍ&& 4^}}t_WWV~_;t$ X=RY6V}w<7H} _mm[_-/ L?$KD]|/K"?&MQڶP넖!I(Ag9ץG ,B @Pg9b+cB ^>! }8? +1x? M4Qk__#5 ZT5b@$ai_*R^ikh: +皏 +zX*DY_ +j?*_a ecf>` so?(m (9ʭ?[~A("=:ꮓzl;o ABl M~bI*KaQF+ xo$(/J~&Ko_8?0)mV&~% ?ӥս}PnI=7LEz ~]'b+qqx$+ ]kC Ii k|D9_0I1נ O*L0&< J?~ s ƨHD4\|_iH2)z I vp{ {Z"O.G`] bsge7T!%f |4DD2 |(8x'&=pvdXQ'a/'G `b81аB =!pa hxz},50AGa~:XhDPCH! 9HB;]SB:DzKaUa!z(!ЈDDDhDDb""#,Yت%H,2Z+GbT;FvKN3 dj("%QtᝍdO%򔬟"FCŦR tt|\#ܕt:s DB5& a9f FL `aâg6 F TPak )]۸l6Rpك +a"7>B"07l^vD &paMӨPLID l(QM„{ eYu@ʰVJLiM\$"R.4ZS. YL8ߝ8U#Dޟ /F>K iő@Ud`?龙Zˤ.yBt4IsZ&eo$r 3Ϫ+MH쯧#ҤKp"yi#oo4AޗR:| +`o5&/hN'Ϥ|EseqFi#[IuNc) -ktq>=}AzS.~8~&?\ѨAHK/5tD]CE-$>Kg"K _/PHDGE95ZrkRsxO5'%kHU?/1BJl2eZF`K=}`I=$ $:NeZM^GJ"/%Ly *qNZL.(׏}/ת_9 JW}."дID5_z//ߚ+\Ӌ +}B8vQ鮟dm5]Wzl9([@RBE:4f+[w& 1HNsS^`y {~IM.Tqs +Qߠ/OFIvUf*hE +k+#5l2?C[(O)!ղhEeBiRu/0G"Dz2?3Ν_tT"]%o73_~ ϧb-Iz'KePvR0E>* -Du~Eg_G}뿞__S$uޔiP%~P=Ds0Z~jW"?]BK_/ b\kKejMm_P[ޟzV<\k3Ӛ#k&w{{))Z ~Ziy?m< + o\EL8A+O#_Au9<5пrrr{`h/),Z:9ЗչŴf A0~q_U%j߯mk8A>b+9z_9NGPu$,}kA8=/(}g-/I]~,R#n"=h/^sa:7U֖*tKKIC[|W~ޕyx{4)~6]{2:_K"u_oIyx%ҿpn/'q"`2[xHB]u%*6_3P"? &F}&ק +|7aE~iwt}8V B!=@)_ A}]@"?z&푁恗:/?n4[}AA l|S%ޱl| A%B +u +r:]A2޷WHdK+"?LzT?_x$M +־jΎ U[xGI/eiO ^h_A&)+u9=6_|7_Ko>. I(A%_ϭ?RzCY. UåV]|?_Kt/ ) / Ff->A*OtyZG# .o(=. $ij']/@=)__]A 9G COiuh RUHH*l0a +[UߕkUia`UŧP#ImI:ҲPan[ .aΡz Ӭ{L#_TLRw}/ ;It'vpFyKaYI'y#VQ]blT$z]wy߫HGDx7%.oqrZ|?]~F )ԛ8T!:}k]UhW?e9D}zχĄ5O${OZ>n/(aN7N +iӶP +~Xmr&`E6]Zc0Hfj\_B8UG)=ZQ~x@kPUZmM|GEM5_0 =Fs?I|U% +~y,jeZM*"@eqS+4Ɩa)]R_"[+S B%":J1>V(KB>pjE_s z|_>?Z##^43CFkҿ'[~he])cNt)mJZIHe*5B(E_8#/N/A_ZDtV -SCIֵKWtE>eUgtÍb}? isZ벃lR7_5SLk[{_[[KօnT?󓑋пK^6HRT8I+h_åz_}u. ++iCZT5℁_kk5KkyCjIz ,qI&.%oDN?@NV^I믮? DA$ 䀇}5:/T4 ׸C]A9͝!UKixtA0AFlۺK?· A֒ !Y#u(4Mi8K 4 D|4__KVPs0V44MtҌ.㮁at$iFȏ-UsEG gD|hR`_.I_ҜE#KSilB(^ E8A_BZNR#ѭ$?2A~_~G%IZXǧ]i{^_迚\z}ҷ7Zj$:^]$/@P#0H/_~r:{=wi޾ëD8RTI&3h^;k >fJ* ]4 `m z]tKwi/_Cw(Itq}RxJ]>L1!Z'Z]*.z]7d}pA|{i%I/ZGqΏV-u>wK-2D%EV 0I/J,i +T-/KHK\h-& A +Kai 㜎t__Gޖ~?Ǐ_9.H K\R-tP4?9O箴u_IDJD7O$lZM_0=$"tNe@_h4H [ai7K@-eUIWֽ? 4Jm/M۰ml?/7 +KKM$V5U&J_L0䄒HI/h--&_It}?%zMK7Y +%$/HJ"?&4:EQΊ&IzM` IiCBjI*L.[m6i9 D]fJrtk MAq˛ ?l$jJa%AP㝹V!=C!-?p #<ϖ(@ _t)_ES>XA0i5G$?mREOi ސQY 4L- {SA0AI%2 wA0XⰂ Pt"ƂalӜ UD4V5pxM<N,6y$-'LNI8Ӥ +Rү +_#h+z6'#~G&/ZB$xtG_5&/Nu_U)'`f_AzS0gMQ MǴTU~ gGmX~PItVzB,F."b_ $.GE +qI?I$IO}$C9 +rkRFʨ2kRI~NVA㶖I"tPj|5zi/?SH *d@+K㥝VE9c _7~y {~.',9) j ~oA~(B,}JDz2?fʰj@}"φ)ҥA>ie/_p"i6 +]CI8aeuvPgG:t)GtRECOdAo} '^']^ue_@_BM{ ^ƹ!q_?}~f +iizOZkpDZ8_~i:b,uy4ti/l^0 XKϪ" WxJ^h(ou_Z\G8gJDd5z9󓑋ׯH7 >^Rkb ?]k_k]>b>R4 ]i5"=ֿEB6 k}gU PY *ZuhKү#ql60®פށagӄNV*t %ⴘz]$>u^5J=fʝ=KՆ3LIzK_]B )zuCQ<}'au_z^GK߷AߥG_?/!EВ4KX[n@Ȏ/ wүSVaE~sN%iP:ҜF/MFށߥ Nt_^A_"=l/+Ae:4 L\zyee{6EI`ZZQ߂A&tOBKKAh/K< >OuүE?KپgsΓ~/C怭?@q?x_[[}+_֗_?aA$TkSfkp,@K/K(_Y}IX(/<,־SV/FqOu*A.=Ym$I7_8"q-+ل~&Ht5XD]^H.q)-RM(XaYlAJ[)B 8#x %7_V~l7#vG#ּ ^[zVK$[I/ЌVߠI; -4DqE0:Iagok&o";KnM?ZIm%7A(a HM +K5M&Xx ^zZW `b?!y!a 8 /AmΊa5TAap &~1?A:+nhIpA/yRaA7vQKaAL?i9:5_6dJK"L"?N& xA8I `1H&($LRLK[Xd!ȃ Ovma$Ï93岔&ݏ\@6  _,4!z >"" iV@H ~A_@ bL9pX ]AHY/  $B:ZAXA!]!pa X " eW l, !T,&0\ M`Dt$A  Hv C45B&P\g-wTJ#6puEsR#y] ,FDaN|בu ;6Dja {0U( m*F;d ] gan$&PA)Doa +B + 6}A'P4ݑMPa\ Өt96e莱qt! S:mh. Og;s5:a6sʙk#ai {YtP:@(.^PO VwM2-I+L$RMXl!HZIť+km֑:ZJ6nnSrBHz%֤IKZ΄؟D a5!%>=թ :4Z~5USiӞWgON pXO>Vj6(a`ې0a-IK_(s+|E?gV"-$Kg"HmWkeal)i "ȿUzWFCFUG+'GE95^`oC}\iUO<:/ O$a6TSYVA^[^$K7F92f}i*?W}"VAoLEQeXh%i~pkejbޜE) P{aZCT5CAh[+S7-4h +}B~DzcFkҿ3^qdG`2ڥS5H5Jt) -2t*hT:?KG,.TqsiB_#VtRK!IKt_MHʰjJ]#xz @1쌏E/*xU=9hEZqE:ervPgK\-&ePvRg#_8I}/ |qT?l_ΞO/SR ֫FW_KIK/nue_@\"S .~$*JOYa $iZZ^zrttV_ykzZ_餂#k_Dj1D{tӵLW6PmA5Jd *5S)U.IR?99 Pߒ-[[_s eha5p V.zHH*H*пg\+m~ֿ5f#M!R_JI,qI&6M'h[\/,|0k=/JֿIzI#@, ae b g~~*t믊atx~kS2R1%A ;~"+_#?{//K$/ xN>5M/C @oa_?/!BH_ XaD|e֩0_`uA ?KeN#/VaE~a+OQWlPkI񷲈2WI+%&%֯_O6  OR֢O:4ނ.t__ZZQ߂A&@P#ׯK8,5 } H&m/_~7yo "cIfZBma{oAB?T_i~_{~I6/҈_DAHL;X e:/߯]dt)~?9?Uu\$&IB 97/JJ +pz&,־SV/Fj@V)C \ +.q%GZA_Gm-gA\QAU|}KH!Kv_Ia(ұ3_yCmX0~ICr9_Av~[*l;o A?MDJEꑰ -?Wjz_'a@v0(A`K8K+<-Үak*IR|| 0NV$|p_T  7LEz ~]'/~UuI~1HW:+ S ]kC Ii  EI:*("2)Gm'rtk ML0&< J?~ s ƨHK'%!po' C Ѫ+L:a&)& %- 93W h<i+_ Vj@j ԕj$ pz"[((a9 ^ ^B`aA"vG}tDz(&? h01; H& $># 0TBL XGCG&apB: A0Aа  Љ$(!a!"=%DDa BB(!i""""""#B"DDb""#&hXE"&ȩ"1┷,*bҵ(<2M|#R-;5+ HmC$N\@> FR;+[ )n^`2 [ rҐR* 8p6i& L6 iW֙4&PBADV6 AC$0Rp_d ]Ϩ0 +T56tPfvϨ0 +l6RUMNa aoXj{+WUWlYp/zB(@YQ}7A8tFF؇ +.g;s: !Dj[V +y6l2祕3 oW-GJBз=SﳅvQ}fm&!}XxO{:gq [糠pm()^%_ 3N*I рjMU6m$οg@a-IKT+OM=!)đ~t ( #Mإ_+5y. +k8Ii/*2oI,Jy$tCP!a% Ka쪎+[_6eE6Uz]5%+4 [*=.W}"OXֳLW 3UqGn ~+"о!I+͆gִCT5CAŝ:`2_ٺ|5:}#DK_ +}B>I}VyFNMB4A_-볧3Α:)(oa K{~(UltE֑t>6;:u|0ejq:yΡ{hE2?"{ 4qfΡ$*5i8b-߆$\ BQ?zm~O ä~ umNyp.p |qT߆׊)דG^R_,Ȏo0 |E uҶZeAgQI5ǿzޛFtY"޿]z^%WstY> +|:?#Y8 0޸ֿȅЯ#5ta N5 K35I1_~Y!GI_*?%I1sȝ?YzK5L\EGzD RD P_RUgGO$5_ּ!z6~6&DϪ=M7T&G| ,Krg]y~, SŔ1(c/@iS:?/KCUǧg.BgP AuCI]Պg:_t58h׷!TT>  iˆc9UK`_:AiWI'T ᤔAwn##/L !o"Z AL8Q'aqE2ӭD_O?/a DK?K_aC@4$$ _atW*G^֗_?@%KKҜ[՚ ?I#A꒥_WZMC=/OW$OM//z/(h,WYN_ ꭿ֗Qu _G0WX" 1$eI맦-}GUN>^8~_A.%Ⳉ?/QR 0 +pJzi7ZKa/iR h\-}L0ce92mkJ_H׭@# KBT_"$-,Kl_A2GqZX*D?m&][?zL?D%z k.tI X>"tK+I],oKeRo)?M0tOvA㪺MI6xM1WeTa:11KlI/o_XMWM0eho#m/m![A?VRa7JV4II_ ZH_/KI&KqHa)%m&j?GRNIw߫ FtVAu M_Ί֖Lc?Lޓ~$Q%NIK 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHԉjSM4cT$x.*z $u=2 Z^)A1Z"@%~Hj=ክ,$} lr1e RaCIZ"8H0I$aȿ ig + 3c0 cK g 0H& PMNMAAI pᣡ?I[B%i*h4=?  OOPP<GhDDB4"#4(#ڠ,&B0CDa BH!ADDA +] +DDDFC7v(R26!&}SÆuDI(&uB9UvFEYp'j2Ba>[DB5& a6l !H֮lÇgI AZg6 F gTkD +AJ +g6`¦郄FA3 $q].j&mVI*gVϨ6%v/鵤h)(Tr$ [A(E,}EM:ehrnBvŗӅ_ zzp:u&AtNuF p0m eLߒ=it +?RIťZ{羒lGXUa'Я z_qdsӾ{:SS RlRPJR0/mU??GI5{izUpr+렃~u_Y}&mđw/?z?xHQ^)W7tԾK<:)IΞg$%<:/ACF_BJl2zVApԔU 6Uyʊ}%p"TqI/-/n t k>hZDEZ)_'[~hsN/BPץ}/R_-4SOK9E:|W5?7:~IN$KZRY%!o~Z_jUg㔓UЋA{҅ +kǪ :33_ʀj@}"a:/_=xaDKoQS\H_KePvRAt(3>q^kZ^":ePt|>$n?uGud~/xmtuQH1\"z~u(MK/\{q/n25 +&򪠈5g4GEisP +|:?_]/m}!JXID|>L8A(!E.tƽ>ւ$.&չŴkug@^{^M[欟Ka~mtB/^>M{mk_kgmxAC_ Fi %})?_+P]~,G(şNe9ZWo?G-q +m:_^>z!St:_46>(45Piu?Zy{zN>RA?W_(4+ KI$t ޑt$ۮ9ςZu H$irxJ2,ӍQD~w(eNcD|$a΋ǧj$\辕':/T_tZ 3Bo XI#=,*_ΣizSK "12>--6iaA+ kOW_ ck^D/O 1I[ 0cΟ^#O_UQuЂA +8]t#K3^?A}Bt-/oO_z$]pUK V=tҤI_KoaAr2%!tK)-Du~_ +򟶽lsL W[@i-zL?_"I}gQ`)lRm'PizIWA AFwekKebO!տɃK0<}& 6j륏_U WGim8KmGi7Ɓ[~Imh'$$XM&_ZOi1=E8&AL4+0 ؄A'a]_:+%wN` +~ Ý7_ Dx9dRP@ ҇zM_L0C(Xjl5a7I)AYaR2NMQU>US `$áE1_&)0~a =@ MiGAia@|:C 5 ~F  z"XY +"5 $e+4ᣡ^] F -cDD A PTЈ@DqM`* D!F""""#@""""""#&\SGj '-IPg[YG7.ɀl86?m C_0Ӑk$2AP oy G 0APasI{ 0/k \?≎D7&a-&zAai|:M:WO!@H 'KZ _5!:˟d[KaKOM$cZ A_!\Krh d(L t @K[R v[ E&,h*+v-ڄ[,h< {6ցȍ"{:XL3; RU3!wR:pij́fNbPdiCa"$"_ôPp5r) aZaNMp2"/΂>L#_g:BF!1pU4r056$ twA!0?*5 Ì}O@"2*pD;@e 3I3m^PaL,7e -:nqÅ xa>A#0s.F2섺ȢߦM8gTTKs6H +a| <O.oZ z|RlR&6'# k}}SzJ^&A}v;D{+O*P +i?{mX~P777Cƿ#ڲo[*t椧GDNB#_95^`ZZZ󄯏4φ_VAg$OQӍ/8Y׵oomt8ޟ1ӯnKF:zzet@ `kW>OS| U__.r 0i\g-wTJ#ZLr ́N )fNb@v"֓`' kȺa"S5AyPӆFI "7aÅϨ25 $tJa¨PjTt-Do \2al6Y4PaL,7I*)@e>æmv"" )#E t:P: ~FKi {YtP: ~A(]&u!i'l*΂MdMtJ~ņ=Z]: + 6iCWgAAҮF9IitzKtЛal?FB$Ǻ"1A&؟D a5OJpgpW9vt^?`6i+ނWU$Kg"HmWӝW:<ڱi$_=!Cm[( eVa;<ڱi$CJI _ aCƶVUHI|)%$$yejrT`gҞIBInse:9WYVA㶖I"tMQqYj+[^$s*=RV7V-]DZV=/!uIZ_"ZuJCM9 JBcFkҿ4^qdG`2jfOYЧ/"W^ֽ5_/8#0ShmRkЋ3^qdGOUG1֟/Y5gM/#eCa|tz]Q9u V{|YHVE9cV{K/Dz2?ײ9ߔ#xz @1쌏E/*V)i^"/*Ӳ{< GZ(^K\-&ePvRg#_89ZM=T/Q_ȏI?K k=:_I#p=ϥ~tW"?K_A^:2D?]/]C=9::+O/ֵ0 承 BW-/]C=9::+O/ֵt=uN/J-R0eخzcZD دH]GL#NA1_L8A+e"+3Fbe"5nr1mK9(/φStyuƿ +]WŽb֗sk:YqAUl PUŽb֗K9_f#M!R\r1_kakk5OK$/ x_zEВ=}|izG͆^}X:4XH?L] !|-cˆD}a/!ǯ/V L{QN1VaE~a+OQWlP`_&dW}AZ !}j$$ ޖ>΋(3G Mh bԇ饎 `xAZ R΋ A SSϥ+ΟoA޿ik]iF~c B^}/4Ԃ.I Mׯ_$ X=RQz_|&_ /?Tm -/_f:M_AcA$_@J"}~^u&M .ca &(/so~?ZW_Km$ A~_넖!I(A~$+ !Y]&b$+ !_)PA AFj@k5f|~0(RJK/SV/Fj@*`"&Ht5_WTȲ#DW<~UsICr9zZMұ3_yCmX0~ICr9_G6?A?MOö߄JNޟA[~A("=@vʟ~jz_'a@vʟzv 'aJo]?g{UgotZ_IzM~o>JK{ `>%w^zZW `>%}&"][kTV!$֗w+zMq5մa"-"p|?!xMq5=[O:+w08 j%l/<0 һOK( %(#< J> sryxAq=|SE L lWbLPI0o8.<ϗ^5*pk& %- +1]'a)p^N7L-%'e'$h &IdXQ'a)p^N7L-'K {)L 5N^N75GCG&Ӥ8kBL XGCG&a},W V"= 4#GJ i$g)GkhGAIl* 3#8DDFPB#L!APDDDGYsTJ.Y epW'DtɌȪ;FwKN3 dj("%QtᝍdO%򔬟"FCŦR tt|_v`6}0d"0l 46e"5`l4w=d5pl8pʤtȺ#]lHj 7pl6øDo}ABD`nF>L0S+KmPS +|/+B(I7P*UT dD֚L}EA0" 5"#E8QO(NfehskΜ*ToO%ӐNȠ*20LLqeyTC_:tK?{Gt2RTj&_$_BWRIЇ9 ->)i /Ru 7ɏ"jM +_*Н>OI{Ѩ!g}ŤI1HI_)_U??Kg"k+57I|E{F(}~ht/򅤒_o/?$h I"S#a~qu959l5Jy$tU%H!%6H 2^0V^Hi_^I~7>҈ez#d j$^BJEV(K?aK5B꒳0U&9K-/Fkҿ'[~h9sKu))G>BPN?zk'Y[~hMWU^[*qN> B68~o!4aDzs>L袝^"kJotsWe +$z-ddB-Yʿh/a$fAJH[ <98JtE@5l>PTz /m01Ue'?/H0J%[~FSp8u'N ~zGV"ЋKQtU~?E>* -Du~Eg_G}뿞__EKzS'@믥@{[kznke_@]w .Zk~֗ (۫eLsZ?-/]yŦg6PmSR+ץ0nX/~ukxtߠ.qչŴ|Dwh/6]O z//ܨ^X"Z K4t%nr:o! k}t&ҭͯq/T.M{mk_) 3]ͮO]~Q"?]aFi %>ZDN?KYoK{K4R__>^>z/o@㥠Ҷcz ͆lWΏZ[Sۺ/K/&I m_zW'az{4)~6]{2:_K"u_oIƑt$W9M/ۮ9b?$_ C~}BHPBJMu I|mIŸ a_E].sN6&.=<2=@)_ A}]@"?z&푁恗:/@P#Pd} A |6]})KooX6>I!GUKz: ^ + G[ $g%R\&=P_AV@]t_?j_M X`k_~5gGK-?Knq#A$IvA~__Ol }-_r\7$_*]oHK5Є@Xt knݥE;A|E?࿥H%Z.2>\Zd{_m#I%KW ?T\6脹H-5Ze-/7㜎t_iP~]Z O)Tn ʙ@?g!}vA% &QPaJ$a&D4KK@$ZafK!߄J$; :ei*MVHbI&_ ?M  fb/ .A Z Ia%׫~)mA~`Oi$ҰGi7.kI_v^ФKPPAa5_HXE4o$$X6MT*c %K萼oAtAlXAib?yay= 0 i-%zM$# SO  ?48AtWym$<\i2)xI@ ҇N?$QL=& 8__Xjl5asza٬,x@pid\i<93岖 I {)H ?= '&1^bI0z2t;(oK5-Su\hcD2#$~r O/ajB9I]t}a:3ND_Që=!#_'o4(TVzB,F]90V}~"bFYbg A|3i7 _ʨ+S/o J*MɯbR6HI FЛkFM^x|2/p#Zӏ%LWIeDH VU~pk$a)]R_"[+S B%":J1>V(KB>pjE_s__-Hz5_4CONG:h%^]k$P_ȄQNeVq9BGAф_\T=?_~/ֿy q~ߠ_5!K$VFGyӫp/dK7Zi6KddB/AJKX5lL:5Cs{}j*0cT 3׿]iCI8X I,J|>$nep[Zeb֓H?M_jeVjUQ/ kkKK_#a7 +/ǺՆ=of("?@F.ͯ#[^I討|PNh\kkm$a 8k_ZYoV!hi7eح?Hn/}V쪶خqlWW/M.tOvPm]&0#7a> A0|?%.׸IչŴh_FC99 ji't-C %o9NJĿ\WϩuO]7󐆵χk d׶jZJJXM~#qG$rO]}qDy#&Q$>鮿E? z_y?]A9͝!UKixtA0AFlۺK?· A֒ ,JΙ{֗A*m{Iz_a#灧o:]in~O]u~OQֻu">l2.9_ (Yߎh(l菘 L8C$@T[(P?"N"_P֯SkIA}%ichu zhqJߗXj^9u׊uׯ I^NNGO% `__ߒtZzB3@#BI6/GLR?K_ Yt6tE_%XAxkXAYq=,_Yi~ q۪#I&^'Qt}^cL? Ff[_Ax%_JA&A}|k~W,F~>GO.2> =$as8ZGk/8e%_i +!/8߂*L/G$<(+שP9ZM;îA9辿, r9 ]%㶐A%E/LIe AmAΣzJUQF4_^?M IK$N:_K/^ Ai [ai7K@-eUIWֽ? 4M۰ml?/7 +KKM$I҆ /m!$=-7~=K KIp@$i+l:]Aȸ0Q-!EQ10AЦ(tWA0Kl>xD&0:ARLߠacoID`4'Fk<&Fh&m]>D@5WIA2 1y{ l |  k1[(sg& &ᤃzBAEdPA0{8%ﲁN$ 5 c0h iAL  h1IM$A0ch O:L/I + K  X^:LH5AAKp +DRpЂ8A PUB&PjjI0RPH!0""""""""(!hb""""#,´WQؒ"eQ֣n'#361iq;390=TCEj3错TGL|gcY|2(\6[r%gN -9 pȺ57 /.aQ5v߫ /^e ::JbgBtx~DTK:MHU/Oڶp)8@P}΄؟D a5D?is|ԛ8T!:|?%u&0Yͪ<z Ҝ!8zo~8~'ײnn=תNF%bPCyb!BI%_Y}~AZ#Byo>H] O$ݾ ~H6*H7 rΥIQetkY4kpP'LWK} $:_(^5G4n_Aqŝ>//qEToK]RV`ۈi~pk#GId@1>P#8;U*_ +}B7kЋADCF9p5:h84f+u>uE9XJɏB*};n"?gUts):M/AC^ߠK.~ʥ&#7kR^Df(Y*eЋ3 kJ zGesatcZ/ޓvUe'eAOC)Хm/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\k]_?}~h +iizOZkpDZ81K/4_/.aNK)#tGg'0;]E_5K(6zmׯV_ ;y% K7亯zŭ.#3%kآ2[[KפQ +q%ؤ/:M_A0kakk*_(^,-}4W6OaWI?u䀇o@DIP묆!6T3Ki0H|꽕*+рk%^>z-v͕:{wC^ Pfx ^"Lx^I? +#A x"I c%-\sEQD dGe#_ϡIf@P#uZ OIR>?oߋA E~+}/\/e^;ׯߧ L?$Jjcu? ae 3V z oKPwAl[c G\Tz$/$/$Q%N KI J&\w%M8p@o S1#8Rk sĤ_ <0 һOK(? ?&l4Sa 2'%t&E5*~Na5$5 R 02 SaXI0{ l(IC(:A#Z -Xh5CC"A|4DD2 x(Aa& s d\10Pa=>NHZ#LPjBL_1A:B b!AU pV 05A!"k#I$-i$g$Gh XC 5p0P""""""""4aDGM4W:2̛Ԉ^B\ ̏ɘC9sFS.PƳLDppقT4`Ʋ'GN[F@8A03eBl6 L+g`fypl4ll;>o@pmPl0MA0NYH-4aFn4M +TFa +uP9ݱezA'/Ԡ0Œg&ۆS:n@U &rm/ ٰ˞Tϳ[uMpLF ʀP\ T 9@D}"FK:fפf f~yI+?c>t$vWgAAmqx$|wi?BK莾jM +_*Н1ۯlED+IKB~_-྾hN e${OPSߤ&}t}a?_FR +VU?ȌWw!$E>g"ۤ-%<:/ACF5 aTpsw&uO {Nd8S_:oj|2񲢞VU޸g6/O:kcm$euU/1-P"?k])t&_ꟲ:(3pe'~/]KH}#~?CAtt jfgX qtH"/OK/nQI/+Ca7 ǿֿI%h?.5 D=/x"?}#_SqGEi/>84btm^D41ۯ]b^B2 /:#Խ|Bzf')׿K9z]VUs׮-ׄpQ_$5R#BcZ/vq"҄G^_z_KkkZϧ 2+A|%u/kKz/o!_K_,#H}g|B0Qmp鎗w4USۺKÇ`3eN~zz ] ?K_^sEm_Zւ#9#D +FG/K w[Uo4uhZou_釷쥿X[nco@HȁK( KHGo^ڷB&?t_ nmnS!恗6{*5?"?_>hq-ŃzKMŵ__z_Ru_/GO_ޮ?^o=RA:_ }i%=-.Z#ovx [/*Z l _۪R_O_5ys'!Wo?sg*gSq  S&It_[ .2;sA­ a#5 I&HI=%dA 9U W,#h#G0A~:_%=_k$?_I7I|)0 &QPu? `e(_TޗǏ΋ o&Hv U._HeE;}=u%I0z_L%cI-KKo?mSK`lii$ޗ/n3#%b%֖,Go-__I7&XwAt,7X㠿I4IФaA;-B[ /萣~KV1z$/$/AXb! ImxAlJc +sմzWפG@EBO):T1t]i0"Pi~3M"SXjl5(^*K`BA |i?u F h 1NACL K<ԹdدҊج> Ada"'Pa좩a/A=-!`Ŋ52 yq  igA"hP,/AA,&0^HR ,XMAaH B#*GvfAQ^:DARB<* *DzX(HzAT!A6#PT"k U41AЉH4""4"# DDDDF"""#&hVM_E%H;NkLv1ؖQN׃>4BAI(ʒ :g-3z[F' %}Mal' ͦl &uE"gTfR(l8im06m2FuqC H֡aA0NY(aIT&.Pg "WuLW(.L6an;uvDuw +,3l"t(Xu,0aEMK( 1pAs n f. 4h& eP(u t{t:T(C :d`?2.uMLp3 m!BHR7P jvآӇ +Hmv*u>آEXEq4̭T_{J\U[ͭtmBy6p)|Bt?~ޗSi6oд$mmRNF{8YI6ן>]hղpI0/ꓪdtiqJpA?w ך>+_6pA>Nm$o6􍤿3 Hm!帄GE_ɯcqECǤu}"|XIiq83Hl^_ͬsbȀib(HO/ftI"=9^aز\R&0 1HNsDzs?}/j`9DQI#f`9( P_gWsWz h/A@_0}? ΣxC9׮tH Iu_U_|+/X[nVZT_?P +n}ǯ,m"/edIwsG@8 $g$ΟEQ$j$ig]8[Unjƛ]4 [#=BGFl5P6ڨ_ PF:/C[U6V9/mW-!2qbIa} tC Ik +cG_>CCۭ=R| WKuK9s $F{"Y\U/_/#_? /?a])/> Xk]2}WXA~ X`kQZֺe}>cE1y gt_?"< A&)+tA"ėx֩mN>NJA1Ac_z@A iV% ?j@ IaA 9 k/#!m @ ?TSZ_^~{?$ ,)P#;UPΦ/M 3)b~^%Ǟ@K0'ZK -O1 BBAK c]mV%5__ Dvz^ 7K?aXh/a$";IM}%[_pD݈N 萴 GI 6V&DBp@AMM_ktWԠ!8AF0AЧJ]I/I :XAFq & A^[ΊV!yc4. 2(2x9Ѭ56K͆fE:l/jN39R TL & I6A:P ҆g*QK_aʿOT;&d&j]eYlɃQ[a&xKh1 5 lI8A6a)b叆+د9~j J 5A놱j KH-a0a s଒ i ` &KO'a{E!)g`U ZC H %& D  Nj H ʠ$eab#j#B) BC#T" !HH!P A(AHCB#5DDDE""""""0Db"#-őnW"VtGb\+;XVb-+RVC;쌗$8g\\LdJ3dVṕ a 5 DB5& a9f Fv`;i6 9#Zi`' kȺuLh2 S"S͠T.QL0Vè[>$ twA!0;pUF0ӨBITS4}3mP&Cɶ/ (GDu0ӝuןsꉁ +hyBt4^Ud`?FK20 @ 8ޝmʁ=#ֺI*I8Ӥ +䏬@IR$ذC~yi=M0a9Ii^jM +_*Н>Dc. ~jM +_*Н=>t&$x[K~:ȀVa]TpXOe${O, ^:I9vt_("ٟQ ~b5q{Oei΀A[.!<ڱ|/ukaA#@\zO!I~x@!NM|B5>ʨEdH&}ݾ Qyqa$Sd01*4n_+⬫W_Om-/k\=:& OW>@2EDZ7>}-/*"п ޗP__-4W1IJ9:4f+u>uU놦h +}B~D:kkOM*bBA5 /#eCa㥝VEϭP~NFj(ah=m@/UV^~R%R)i_5=hC^zi-Ue'EA_Cr!(UAI/ r8pKSePu}/ +":?KGG]~kI򌑨')ӔKu{ ^GOgK/nue_G_b\kKejmZzrttV\ƴo=F@*_֕K}(E_h,WKl^D دۢ5=:Ii&+^AP_AuF-bK>M99 Pߒ-~(H+kk6omtBJM{mk\c9_?M~ytI#"$DC^:_fWI$>Zo_"?@C?¥XF_/z?D{_}i[l1Ҽ|:Z*tK_m&?K͕:{wKKi09׮< ?4)~6]{zN>o.{//K$/ -$%_N_A7OBH_ .=am/">l2kEpA隃5#agxJzuקYwG9:SKկk| a_">Y #^hdfSK$a O4 4 A[WPg'x@ '_Ɲ*5} A f. +u +r:y/_/+ΟoA%֔i76?6zAi%CA$D¸_ ^^>K/KپgsΓ~/URРǬ/m&A0B [K~?K. :^tA'̓XA 9?_~?9?Uu\$&kNkˡ UGZhqt_PA.6Yq _5f|x(.KW ?T/KGm-gA\QZ|q5/AryO#xzZM}+5G6m-+eTq7?V%IΣsz_zZ_ZKeT-mῶ_Kح, #;e-_TI/ЌVح-o0lAK_%IzW3y7Io}&a oR_IR|~oa!"I m& ǢBBx!?萐^zZW]7cKAI!m&E~1?A/ +Ec +a+zMq 0zMpab2)p\i2)xI@ ҇OѬ56tm'rtk ML0&:=(  ^10 X$ GJqeE L lWb$áA1A&b`]@maȶ-&Kk +@ a L&Sf |5 5 &IdXQFd +! +L$ !dRi HB4t<}^8k*!&t,W#U RbA @ATBTAVX(HPCH! 9HB1ADi"""#(euhDm +[نΨV[9`3ʜJg2+HⵕPjQy( eZ)1GLd_%a"S5A-  U'64D#Z 6 Vf 8aVP 3i$tJa¨Pj PuI"M7e:ngl0Rp_d ]Ϩ0 +TL56F|.O]:\5=E8j{+WUWlYp/zB(@W^Y$@oݿejam7t(mBݿej`f.zYS9AYHZIť+km֑:ZJ6nnSoeBSZ=.}sԈk-}?NYi>>&~8~'$VhZt0ꊰm0ۤۥciU6}t}aUMc29"щ䧒GE!) ImJHe%G1֟/Y5gOdjzH4.?HBIX^_0LY%FG"ԗlʼ*sሴ"8J(6qkq9㥜VkePI[y#""KB<)~}k^si?KV)%)$I0-K/kĆל5FןT*IZ%$Ŕ1(c/şO^~ @VWB!N4=HėI$,P A~]d4M쩝ς/KCURI}~5I|$ ota5!BH_ XaD|e֩0_`uA ˆc9UK}(]e.>9 F{( T"Z Aq2tG6O2+A?D/M,uM/|i { \Z>K:/恗j$MNNGO_>qYpjAzzM&_޾÷n~4y/GM}@!%CkKehqٵCPAz#Z_m-/i(XzG_ý +)SUVbK7 //skz^x87']=0Aꭿ֗Qu _GA!_?*/ANUm A~=iU8Oz|:~?/]*KKHH֕*/HxA1E6֕%[I6_kJ_m&U=_kR'"/,#x D~ +?_}[)GZAtA%9EX>~_߫u!tOIZ9#Ө7_iF(2* UWIJ_Ҿ`lm'T:SZG/I6xM1'eja?JoSᆐ U /o_XMW C4uo1@K _Ki~i ~ _ `>%}7SXII_ ZH_/K*kiEZDB*_oΊ$I.aΊ֗?ޑ8?w08 j_?ayrP&yR jJR&]EdQO*Z^l4&UBG\ya/b kDTIZbRTdFP׆) kDTHII$H0{d?*S93bEOWQy8A0p,1# Z 4 a 8h LVLz"/I2߯>/J,$[<F}ru]!MjΝ~8~o]!)qsI~ (ao#6u !Wap&O9hE0_WB-?J(a4 {##Ρo|oOA_Aշ_:1S~^(^Oi9ᆺI-EL\pa# }-CIopcNVqKSL#rZO[H8-/aJKnh8>L_⟏:Ξ8S?tKKҤt5]^]#P*]DT}/ ~ޟD_ e>p#aqѭ :*#_IGKkZ~֗GD$[uy$PD3ӓYh?},ΣVV՟]꒤Ut+Ab&_p]0eأ0C_:\{I_3_HH*H* ɋ׭zI6]y@+L6sh?_]"jsF}OtI`Z>%KI|ד/ͮC_YA (cP_^ Fi %})?_o L +.i/~:Z V uҼ|'ΟS{΢AMC @]cC]% ^S>)g?E/\?-* $A\4ҿtA7Op?BH_ k8?o*m$ _(N#隃5p &F}񲜤zB!(_?_0S~V.}/_2̧1"> 0zxqEb?_OKIM  EA 6]}SS844Q?h(Gj %K[I쉅qTZ?@u0EOW_Y%  +)S_X@J+Z_@7a I+E4lpA: _Q 1O#[cP{9N?ǟSH$È.`l *UBA6]׏_P#/5 o_$ EΐZҥ$N{iu/}-"eT㰴Tm/$O5k//ֿOI{?봐B(}_ <[*!9贺?7pVm?h!7u?Av~_bYƭ cl A~!t"=^_دP@A_ʪ 'zL?}$lԮZ.*a~ zZcI78HJ*][B`Gi7Ɓ[o^_voʮ.Du*BEA$M?a4,$  +%&8HKH8AB M 0үH2G yR FORm-o#$p@9dP{P@ ҇zM_ W䆣~AПk#P&*45*HkRA},P pmȡҊG/Ɛ6? >X 4vqhK al9 hXAH)h a0cZ@)Z] XkbXC@R %MA0AЄ cJ +E!bk H 'A Hh1,/GC%qd{$dHFa$Zi">!ƈ AA$iTDDAFBDD*A DDDDDGYo-F@Rc",8g`y|dk2:!SD~&IgL_a*\KzW ?gDTV??yHKЋ/}(zIs"Ћ ^a6euvPgX?muʡ0D_)AvOIUN*+8o >Dw[yhMK,;߯%RZOzZOZLMԣ?a7 / qtH"/ɏK/5IzT_IU +A[-_:_~==k$V_G3Ai?i?":EZ c^~u_yU/``z?}%IYA ug@^{ $$R y#""t.4H*R#:ףkϡ^Z^EE5H +?k$zh%-"XKhYiϤrY&Sv/0% (cP[U3~P]2"/eN~T|B۬"/h'P!@t5z ?oA2KO xK@TzT>  Etۮ9ςZ\ ic'?I/A^EC_RJT("?tw@t?}ArI]-Kt p@*ZI4 }*Nt_ nmnS!恗7/a ">,$f#Zeu? +xAw_=k%&m,-/&UN/*Z^BHLKuKoͯoW_Sz +Z - \/?~ұ|5ImKKֿ*&,WYN >"?i%;u]Y +[kƽ7']=0Adjzqt-/oO_z$]pU+S΀OK +p +G\ Y*A}m$\2;Zejw8_/[ \.q?mT_I%": i`2+qW^v`RWǏie=&A9[l)-JM7=u*/^[}}6Cjw-F(2* a:4 aoK`[ixA`o7]7Dvӄ,R Xt ~Imh'tJXa>8J.:Oi1=E8&AL4ZJ=$(ZoʦMAu `OssAa$Q$ރA'&>xxQIP ertk Ml4_ARt0c"2)B aDѩġ#ٰK %.M4ED"kMOpz ?^ L:QPab hפ &)0RiI`ǚ4Fڤ"5%:+d(4? Bl>!d"?A=-!`Ŋ5h KP^v K0UаѨmа xi!K&@a4A:B 6 44?DqM`*mD!E-# ¡Da BPFJ@AɲDYHE*FIvOfgAJeLYOQ[QH8dS5"54tU"YFExpι04U9Q3d "pal3<0dn`d)6L3=eM[npʚ"ȐEl; am0J g4au"7wTSanȿf24ʱjV7ih4$`Xt96]$hG%xa ‹A-iFsg;k1fO£M4*9QX^#ŗIAp 7SiU7tG@7t(mN{*gHE'NDa zzdR"$ +?I eqVtmnm=-/ѿmm$I[m#ni ^jM +_*=c?_$#ӆirZ~a oKn,mSi/Ju?8 -[tC'tts}a5~붏mE?(ZI%nFpA>NoK}U^=Yg"-A#i(}Kq O$rkC^!i7d?&W7 {q>ulWнBIH4cZ6H3Ro$H&᤾p d5׈/]RW)pZUN&R4áZ!ID47ly *~gBP'^E^qdG:F*&:!SD~}~4ETi_J@Ӌ_<ts镞]sYőҕ6D.}kl?EO|BO5b:i)ė_*e {AΉV& _NsXodd| {##(P@zӫ_(3>KQ{<5_XH0⩼~| |qTOUe'HIm*` JM/ePu.T9T4_IPim#U NI_-&U]*V OUz^%WC"j>GPT n_ZZ^_pDkZȎVG#KI\ZjZpD(Pkn$KA1_ײ .ƴf ?z?eتa Iu)Z 4H\:Z?g9I +#5#EZa|24H*U%I%Cqm+sk$.& 8">_m~3^%/=zlR4+izMK-(D{M'hY/ !r^M[漟Kav~,|!Zz_·+u (c/p1e a?_H6!$B;s>ʝ=&IX_*!V( ~J@9+I~cG[_L)#5%: 93sgJ+bl-&E"U~"$޿ z2 w'a/'@m [8JT 4/j  0IQiA01 `]&,/pW V">L'HDJp0q  !GC4t=!0@AN caDhD +T!j-44=SCH*% A:ijЈDDDPB"""""""æ2hOU.qeg@hHz}6fפf ւ4M]g`*{*g0Dae Ӭ@ost(Y. + ؿ_J* +IBd3+|7/t:]'l*΂M2: + R~Ѩƒ zZM[~ +RlRV 6yK-?n!BKL|{G^rL?Kotq>I[*H ?UYi$ $ FJ?85J"bւ F_^s՞]/՞/!uI _kJy$tZIIiFB95k x%_/uJy$t_nq~8jHhA )@iK_K d5:noMQrh3eZ&֟|_h_9 J /!%N4ly *~bSCK\4ID5AՈ- 3΅>k^^R}iEc=/r}i~"Q֕~ Jyő ΅>/8B0j].:I='_ G9YXsל_tKO_dd}c$ez (d… +k ^TV^ +0J="2?$dd~"/+6.OAS%['O0 kʡŪGA\x>.??:_#a4ցo'1}KnfҺU Q/T_/I}#zI2>[| ?M),[|9z/{Q҄_?+n]>-/^ GejMml?GQD^/戆ӂ#G3ӓ-ReؤJXU\~u╠^8guAlR]kS6PmA4Q"=KT)xxaAu.rr{& V#tKNrǜ>z(kͯOykURq&ҭ=BKҦrGK4mTG"$}8F*]#4؄-9a5! zFi %ÄGG6KI?_L=x8T_~KkmZρez0 kOOnhۦ<=%\BJXCTׄa[h҆KQW4"?KT>R&:׮q_z /KY~/!n mA7O^[[h|!-$$/z](^; /KI03I03 æ pJt"qǦ"?_s&(/ |=s_ X}aG&.==H^3fJw(R#\5~& 4$`φ˯"A l `=t @P#ׯHBeT{KAyg/N3e's~$D_@Wm/k,$/Je}>?IV!Z׋H V/ ]x@ _s}RI~A"@P :t'?9?_A ' o_g9ʽmm?=_y x~!*gZ~Є@/ɍu _?/^(=kH%Zz Z\Oif5 5,}{Z_׫=GWHk BAxHkK"i+G(_|}#_ PA\Sԩt7 PDzLi'Nޗ]idCI8ii-DoK7 'aA AFwfz_ #;M'Ke_@-IKnAkoKAǨK_I/oo% 6H Dv/IB  A M|┒oi _ 7?I `$IA!B$Ito_@ >>K_TA$I5.:$i6IJһ|D8QΊVgJ31dRyc (|ka9:5\| tS$?c&~ s)dry}=|0SH2Rኜ[@A$I2 AΡ<$á pm'Z 0#A0>ZQ[sgد,|1^p\ i/i ai?@I @ P‹AY^ ^X@ U a8x `Qy85ᣡ-%$At,/EXAU^kk0T #PAPј*$C Hq4t ק=hfTAzS{?:I[u]!VzB.|}wVJ?yb!BI/t/Ho.!}y:&VkJE֔0H蝾 ~_3O$rkRkF9,~HI7ͯ'Z_^нBI'鴿QrZOmn |?-/!uI_ZM\?"п_U_GgP&E:Ju KЧ/Kסf&?@לYS o_+ѫ:_χ$,tz]Q9t}.MT>egy {~Ը"?0ϯ.FGpjM)z JW?҈PmP"?O-(3>ӥygK4D{cZ@AҎbS@~ ϧ…/)g M/KZTctR%,BqK?UkOd(q{T>zB㮓*GGtMO_~ Έ:̓FcN4tiuiiz}___ (6.4h +:bZoaA0ǚ+yokM~yt癈GKL 9/5uZ־&%OK > +T;~,L¥XF*kˆ _Z}>P]}Gϫa!Vh벧Ouʅ殺&IXYO +27.!*tK ^|+/1,a]~50ƿ-YA]=KK9(3sE~yPpo=zu4[:5co(At^sϡ?)*Y,co_ /zKקWV C迲:D{0^VԇE5?H_:/hjZ_>OB0UK_ZQ߂A&ϯj ϯ_K_ a FxIkf:M_Ac ! A҈=eT MzCARIi~E(踏Q^us窐^] >? *넖!I(A~sOפZW_tt HE"РA!_cu?I5]C JtՋǚ?֖k__EG_({00K +j?*_됋_^@B6/?59~?XaK:(m (XA -}+5.4I?z6XaIo7l;o A~=uNV=]ekH Zxf'a@v_KZZޗدi&Ia%Ia<-UoZKҿ4_CAImo>J~)/Jޗ&~)~8Amb+q~QOkH^HN^zZ EBk|D?M%sմs?AI L=S:FXk% „`^G-'< /085>E>a.q.O, |iHԕ&TzW9T $  0`D h Fb`] beò`Wb$áATA1A&b=:B Ak冃@C!Ak2 x(BA/k"" j?3 PXhyT-8`qhXBT,'_1XA4GDz`H$!&t4&#@hDM`DHɃhZ 9&B;CJCCЉ%I BAhDDPB"0B̫(QK DF""""?l\D-n#5-S> T3U3!e왶jV`#Z*v;3a1!K)`8e^E4paZaAYF!Ca&jٶ\Ȣ57 /.FgbSΨY,MKu1!0:R#}7 SI#[Ϩ:}X a FBau Ȳ"g UMB " )#EE>CH tUL\:PjD}6,@+e莱qtALʭ"_ @ 8<:u"@(.U<߰.q$a(]' N-Y%<6y$-$YPi t1~YyA~ņ=NO37=kF+'#~F9Iitנ^Wt,|H=P/nBlOGW9!+ނ~8~' S꾿a ^ӞWgONOQ6D?(ZI$HEzo/&U)KgV"-$_ +q I?I*&< Qd )g_Fi )~q{œaROJOнBIns^q sZeZ)G}$VA㶖I"uv%i~pk)d RqY/4{z_B꒿B,hzW,}6dSP&?QѫsO^Dziפtz]Q9u V{`%wjYJ3ޓ~o|tz]Q9u[⸥z @1쌏EPoˁ. &K7Zzנ-P"?S/3[~OAg@ۋI"boKKaG.ij?/!WΞO/S"?H?XZ5jrԨ&/_ΞO/EaWL_?dGBT@^tW"?֑xa <_֕g'GEiZSKB%ٹzIޚUh +iizy~c2+q:Ii&+(6uDC_Z ρZ_ z1D{tӵLWO&VޱkKչŵ,98APYx/A]PPJ>h(ou_Z\Gm?a"M5f#M! ZXbI_ZOy_҄G$[-}4ROנ_\5^%~,-}4V|~̖ⴘz]$)^>zT_zD/8D(׫믊atuJߤ_^2 =zW^z_[Mzխ W}߰&K~J]N^$X`I CAzMj^-H05$p*ki^%IJT_a$8BJ&\w%M$Pi+)%OK( %5IAl1^N^O/L$pFM.FIޕ"x_DŽ EK E4נ8ZLK[sgدH2+1[iItJbLPI0o8- l-' AAVdXQ'a)p^N7HZNH5 ׆IF xh &IdXQ'a +tZ +k  !bb . 4T,-($ =RX a:zB+)"$ д!BB#B#FB XGBArvB"DPB"""""""1n*d tvDLV P8eO?XL|:uϢ A5)aZaa\PۆR#Zla݆„ʩۚYLצ3 ]Bh Mxe 6|L:oM40asoȪHBI "_/J*#VA?1]9N[x${_>_t/7/􍤿8ͯ VIҞI^|2iiƗH&V*(:J*3c!졇\Nm"_L RJ"гT<}>[I}6%:Y#$G]tK5kKQ=yr)%2/X@p G#KKoX#y?"?Lq[ 'Yj8֗L9tfTGSlJxExKh,WOpiħ"=:R&*nYu]~4çyîA(k&6Kc^,i %Iֿg!$ +]0d_7^#}D.ׂ">xk c#?yoK8FȌH=,H.sxG!5,oHϼ/\|TǯE#KˆT.m I#4`Jq_WKuVcDEgiDZ_+ZL5"u2qZC<C3(0zZh JX8A0 8 +TkaAh HZNJ)!   % !\@1R $e@D֒)CaP#"(A@DEl +DDF#,"2[Ƒ\QEnvJĔPʢ5+"0LRmQ)C*ԡoA' +DeTm D &d 5 $tJQOLʳA*l7Ȱ*OL twPzIlptGX +aaHQO)7e_u m]agd 20 @ 8<:u"P\ #Nw^D>ү 9οylbgBN-.\U[aH0`~&~jM +_*Н=>t&$x[ѨЇ9 -1a5h) *oMǴ+ނ.~8~'N'hUOO5rPE?gV"-$Kg"Ho ̯NHXh~6m洧GE_>~q{œaOJI _t@UyVUa~^q2^f_Om-/PD%; "мHMXQyU_3'ZO*G.+KC_KKK]Q8 r](t)=$$tN +'!l9(ksOYB,hzWk,5IfeVq9EQJ*g]?`zs_㥝VE9c?_KЋK`?ЋRFQղFKO_`c^]ܺKϦ/^U]% 69ZMʡŪG}0pG~3#:{)?tO>?/KI*ackMWL_?sL_ZI% 5)ֿߔiZZ^zrttV_}uׂn/>ӃK_%8]G#NA1_L8A+e"o_%*uUoXjbs뷝6 DlZmv5TM{mk_~Z3rGK_ZY&Sv 5m/"$})8D{(}g_TI?_nz9Ѻ=Wu\nzKoA}:{wKKi0HR|?׵Az ]@êƽ D|4f +_H_A0$}_)">G.:YxX[nc?a"`2t$_}iwu|m]a6w_A5L0ȯ" %iP붫^t_ nmkd=mW辖֯_ί6  ORWWU]-"z_xAw_k__.` s;LV5j}7=uUIv AMR%hWKlZMM+B&R&B1XN~$?X-%&ibooKҿaɽR- mi7 PI#^~_ +JޗqI(qL0T]$K= oKPwAlIia!zMΊ$Q$IizLz\:Wi0*kiA& #I XdD&LGO4&E/I''Fk +oJ< /w0;r ,0e#)0z@AaAid@8:A" WIBbL=$yŸAq=| d%a !h =!,qA vk4 ^+ +?D%:+H BhzJA &@ H Bi._` . !bb  BDDA# +EB""4"k +i$g$GkhG+jhDhE[Qa8?l_ec&_KzC +?@ +endstream +endobj +15 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕr\CM +endstream +endobj +16 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +17 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 85114/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:m$iR bҺoҳAezJo$-pD{".>eGIտ{0*I_y^_z:kn}vKe!KIkR{]oTtlz64__֝bq *5$ǥhna?6%@TGbK /㤵UI$I +^W^KJ5( f I$޽Ϋo,$Hi'IKcK,$I/")z%Ci*^;3q+K/ZTMI*KIFJ`ꇫIt&~L * 0  0 DDDDDDE! 7OHOxvh4n'ErT#2V0dj`ʜ &t`Ȣ  a0l:NeE۰&Q7GPUʰ34,둁L&y+ypKoŒ&}{*k|!mvPicVLѫ6 P a,a0pV5,tKf:@k_}8lLY_A #YW\YAdΚYAGmt6_#_u8 _|WT+W?Mk62ZezI,ֵҋ +JcXU5>yP'__Xj!STK%U[o& kב5Ы_oB, t)z?K~Dluᥤg /š,i~hs长 {*tQ'Uz^y_a$Ït%.%KT}{_ZUk_ JzW ih&}p?Ii:!֕gIVfPEiRҥJ6OkI$R'k$Pl */o- On6 2Ma4(.zL>(R 4&?WMM]7֖Nz][t :][o--.AK%-EZDÄa"-"ph$ [ jRZAP4SgdQCla7I i:ô6yVych.aH*~F2~Eo.ޟe AYeM7W$L'<~*ޗ$v;K3z_I| _<F__9g^oom/~TR.2ZE:_(]---/C?Őh(Dzs>a3 餾"= +kR9㥷iA!j9_aֳc/-_]y:뮺%; ~'tW?B +X">zXxAuKI{M&`K~/|Mb!$ +_AЋ$ᇰXΩ]uOg66Uk߾a49 C x_WuuuZ4ozu6ֿ' Ikcmm["W| nյmm-- KKA!Zֺe}< 51LSZ + %nE u}kAh AiwTcծ(NM5,$moMnqΚ[Dt-}]SZ^>+ZA޼S-`<, BIK--K R3/Z[pIKҴ--X 0M~a B ai7Km rIlm&H6X` PAl< (f -@H,2jpl1tXd&H,D Li/ X`/s _<tЄ J"""46-Մ; +v'vQQ.կdQCal2~0.*Pg "VdU 6yVyԠ0Š荦PS't:U N/ATן_ik'L&PW蓴I$L)C?}ȇ a(G| fRiiu{I8A7/ 7|9+IտeTq9Csk4΃We S}q@=ʀ_oߜΡIL1K_|Ws5_}H0뮹;KͯP}K?@zfuxa_]uryX^[Y  4Vu<:곰Dl6N}L +տX׿4AAq$tƻh-}XksSZ׺_ ZMŵ_~>@zVZM)sԇckZZ@$'I_.1LRi:+yϭ>Mz A KH\"/ %- |Fa(Z +n;0ds,ZAީ(Av9 Qw|, `TwTF(2/!4.1 KnC" [j_ۆΆ,R}vaەioKGH05DI-J`(A( iABiVVj\C`Cbqu #(AƃkDHA#E)DDEfn!S-P"?MLZr6ypT4GKkY?Nu] +J_ T"?B +X">uDCou,E㥜'e +.A0 Kr:_~R>&C Z|2M~oЋ$Kc">}__%ua= l0OƾF<:=}v~?{D?mCָJ-}?_#{K&oI>յ@zV^? aVյ!>(cVUKئ)b AQYr랪Cii~?K_uiHe!uDt-}]OWOPIKiuA&a4(.K&B۴K競_ᄛ "Z[r 'MkPb#"$մ]\?Il/j@H,2j3A VT&XA"UH-H̃!H8M FARQAD_-Մ; +v' k"TGL 9"MvÆ&\4QIH:%(m0 9ؚg&ۢ! S:oe;5[˂l20Y(0<ײlN-.\U[0L'-Ogʄ'Ms$v;O3ҺIpXODCgJ|E4VzB,ZZ]7{I:M|KO/j/?L iiibKC_}i'G:ƌץ~fȏz<:ᴴR.^׿ Z.WWT>ۯbԇ.:9>|ih E=+@$RC Vյ--HNkQ?/҈ZS%Z + rA~jA~Bѡit5 A?PI||}AiT{zǏs, ֧Q1 Kn_ $mb!+)%; B B aH_k [:z `( 9:5_a.t` A[5^aǜ+4}Σq^ ~:"<uB&PTЏgsG`H#%[#%-Մ; +v%j2*YJL(g^ }Z#h35ga}9:Z`G÷2*p6m8l; dð=8e^E4p*Å 2ᢊl2(lZl;A0聤 tw1!0:J#}7e>`r\fh'taa "jBASMA8YB:#A0]$hic) ȵ8l#ql~ll20 @ 8<:u"P\ 0PTQ({mUI:NMXl!HZIť+k|&P߰z(_~"~jM +_*Н=>t&$x[ѨЇ9 -1N'j;::!m+qJI9vC^?AAKAWls B?MkHK??.!<ڱi$_=!_C}--RO[+Sg{I:uzOͯaGDkݾ ~UMom?o 悷ߎA֑Ni|{^[^$K7F9ۍiiixt/Kʙ#M/O4{z_B꒴ID5|N3O͡Y:qd?B +" uEJyő O"ґ0St0g!N>k#u[AK89!~}/zoq40K?K5Zzנ4D_￿O Z!h/CGZ Am/ r8pKQCI=Tՙt?dHI?Kg_KKֳc/u]~uzW^N&i+]&U/v8* D%z*N+o۫(_Ҵu ? Tl ++e( `x= 4GH,WO/Wncklײ^0|B,Eg_~+8uUoXjbs~}/0  "[^ҵM{mk_~Z3rGKi ?#!$ +_!R۬#@z^$ez0 h?=@.Xm:eu_yOOnzȎ&I +W]}cF^ȏg6m.&_Ou &8k!@a49 l:}/qkEd="I k^G8߿4AHϼ/9>SKկk| a_EJtZ Ay +k(zeu@ ` L\zz]w_ .ˤl?#[-|K(ol| A SSϯkkh//KA)Z|_+:Ϭ%_-/f:M_A,m[]K!??حk]2]]]Ii(S_i~ izZA +}JBЅ9+%A6J_ Yv{MmzZ A`~ A K\QN +֫B ^>! ׮^ [J5+S:ejw8k__#5 "?ZXK,% A_m9I~85⻑$%^ikh: +皏 +҈^CAPIS-lǎYlJs΋!6 ~CBI?#vzIlS7#Ө,b bݥ)ޗimҥM~bI+. ۆOүiV-?g{GAaX+:x@&A0Ko/I/߭ C4(Z, &o 6ۥm-ǢBAzMj^-_E^DjI-êXEH6z_,0a Aat)a5TV!0A}WN39RIåatil9Ѭ560 һOK( %ܵ&DH4 `XeoN]CH SLAaLAapz I vp{ {bEAcm Li/ X`4 X`4 ^+ +?D%:+AEKE*HP2I~BX !,}A!Ξ0A4t"S" )#E=e +NAs x3 +-Jz 2S ᲰS ޟPa(]'ԋ[(MKe m!7zBK; @ UJZotv {?I ht=EoIK {F-xTCo>t&$x[ѨT XmCA7D:aӪF ^s)M^_Kу::}"<􍤿_yb!BI,kIS_6ranh'#i/.jkmXҞIʚM#}I8N0'%HW #^,?k~%=za +qn' j{ &Q/! +5K} $:/aʬ4 |CZ}9 d5tP^ DZ zL3G_YGUoK]RW zL6/L3GYRY:""Tizi/Nt) p϶Y#M_yZ"' l;I 8 +"Ucz 8  (~/?yG92sRׂ#u[AK895zVߥ8gDzs>a _bȀiHNs3pߎu[q9E*FKO_I|(a_9*C T(տ)1KO\X>mBQ#ocZOn 4iA}O]&9__iZ[pz[5k.#:{)?tJߡ1ۄG_󧲓_A %N^ǯ㮓*GZx%u^דA +\_=W|_Ҵ~?DZ3im?RKni_=)pfOAb`~]X]G#NA1_Z S?+ZDiBGL#NDE ^f ]/m ޱkKy90%jp$#5#E_~k LJ-8mIV.mz<ֺ}s^ҭ/A䫞=6r)V+_kc5|YЈI+8K_@T_9x*#+x*#J*Zu++~uQ֖^6]oG]|VK0Xհ~ D_~޿YkIu_^H_A0%#Z'OM.?m}4,0WU"c?a"`2I|CCKAdJHϼ/ϲ8կk| a_EG[ΤHϼ/5t})?p(Konzeu@ ` sꗼ"?QPpFZ9?D{_3 Ik?=oO]ֿik]iF~c [{ Ik8:ˤl430/ZQ)Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-tʡ7yobk]2}-tL?$K[_5Zֺe}:5V_O.hraI[z Km&넖!I(Ac+׽A"A"Ѕ<Km}s=yUO[]&b$+(i-ȀT~zS~zB _҇~_+S9EOY}_(=({97qb2;sXMnqγgG5bkKw"JB.BI]zM +j?*^wkKwkKw#ko#DW>VO)ötS:K_JǬ } A%Ka~[)!<,?R@APgnO]-O.H3<:[Kej-m ۯiv@Iޟ?ʆG>$oKMlTKTa; Km&-KS +gz_ЌVWڿzL>Z+<--Km-KKac Z[6_0Km+Mz[nx*I6ޗIm~Xa";I/KopGi7 KTפM7-$AzMj^-TץIKopD݈N &o 6"0pwTZKn4i7 :W$Ma5T%CAl@X` ޗ<8AF M~l 0\&yt) TKaO#RTPaA7vQ֖Il0tJil>A Ta΂iA_y|1I8GAzNM:AaMM$aA1I0a.qnZAN^Xatcd u=] 5II vKXK K4(& &IdXQ'a,A%  % JL& 4,0Ia _+ +: P % (4) AgOH\B~ $K,AAV/,tD +D!X5BE!FhP i E4 3d#0CC @DhBBЄ JBDDDDDDDhhDF""4ɲDWDNMٶ|:uϢ Y[Ⱥ68mL6BB%tvSw +-FO(P(M40>qeg@P\ V~(4kMUNa5O¥oK"AzSKK3|i$Cy֗m%$$ʚM#}II"u1e E5|y]RW^8Lz}kЋ>' iŒ8Q]Q9t}/3Ҵ=yR3~_E(a_m-G|ZDt!AIK+Kn~2D?[ J-R {Kn{(?Q=)EkK㥜 Qp𗙩:lOyt*/hKҭֿBI_L=.:eRa]~5FU|0~=[NK! a_EA>ૄ ` s}WPrc _>keZ x_AcRAyg m/҈m|V_Nk$sI[zA!_cͧ|9@$aCɿU镩6 +z-}SZ^+0~ICj?Qo%GۯM$o$Im߆)ޗKoKm_il?%@&-Al}ڠ&&o-i- ޗ0( %5KҟXA:PJ48GAzNM:Aa/; y8B^L& 4$1X@AK #8 +B#B-( +"?Tآ+" +.MDEFFh*;RXC D"*g؃mLb 0μA=DB"c:d[%h:g؃a@μA5׆uϢ $̨Px&02Ou 8m8p6m; 8p /.ٴm!mL6ͦl?ԁ0 Tt-Doػ3Qh&^0dHL7N]‹)jʅuvKw +,*lef2gXḺHC)7=e  JB )#DAs & )<(PdFD|6V8a(]&uoO[(_Z`S0eˤ4$f F=?#Ap#A<~(4kMUNY (=W +&bo*֙\UL&{lOG|{Rs mH0Q4H0HN'jy]>:у9AzS $~}Ո I$,#i/<ڱi$m% $ F^Y0ij|)E$$ʚM#}IvS0JIIIh .='I"(yEEqK} $:Qui2y h?_(Q,m-/PD d5@IMCF`c!~Liii /!uI_ zL3G_YFrTx dʉS)L&q]~NyZ"לY϶YNp#ziŐsN-8}z φ}ȸ4u[AK89Y#3=+HNs2,Ϋa"uG1Dzs>a 1HNsDzs>aם3=+egX{*G!i^"/vC G82A +k PC x P_p/EaG.ij?g#i + G/9ZM:JDKo4_/_:{)?tJۄG_ވjΞO/-DuJT[pKn~/+h+]&UւKuy:#(3xʾIu n%]h!u/+KK0K1-_iizm B--"?tmczZhtӵLWDCd+izSy$4t,WOb^XX"?{(?:ɕEoXs(AuKϥYHޱkK ^fKI ^fI(}:]Oyt*_-5f"oz 5m*J"=r?_u +a_WDp/0*ZuhKҡ %~TGkfWI+8kXl믊at1+(꣭-):ⴘz]$,1+(6V uaYF~_B )uׯy]WsItB )%~G.oޗy_:4XH?LO--š,csE}>^ ~KoҭV?z[yk| a_EA>TaE~iL43 1}O6 !9Ϫ"?Q{(3G Mh.#Iׇ@ߥ^U_uM Mh.|aˤtK(ol| Aˤ/A f.-z[_mپgsΓ~/X?ïeqT^GY?׵|&_ /\U/}:^HdL+WKuK_յ0 m/҈m|V_Nhߨ~I6k]2 h/A0Bk]2~?k)_Ao ,B @Pg9G W[\$&IB %nELRV%nEaMץ( HW (i1ꙂRKb$*1@~zo-5b@$aC?U镩f#_(=VנJ_KǚqHt5\}[hWr&-"ᰏ` ΂kKۿ$O5T֗5HlAJVO)sS:8lJSmA9< /ö߄J_IirtL?ö߄Jm$ۿ%I $#__#<7N$oKMlЌVߠI; 1H #; R3/o3y7[[jKKa0<-_k Xm/-_?Im~";I/Kmo_}Pޗ @&Gi7*WK1 W km&t&"][i7MMT_uKa5Tm>"%CA+ ; ޗIm M=[O^L"x_DŽ Ga.q^ ҆i*Q'< J!C4(ŇA:P ҆i*QI) %I.!i vp#'&OT J&/yŸAi8A6z:NMcU-0 ; y8B^L& 4$_aC ;  %aL& Li/h%N=V$`(pa i/ Z$ Ipa 2Ix}L` (AK&_! 9HB;CРA"4!A?B¡ 3#ЍAb A(AЈ DDDDDDDDDDDb#&n/*a)g,[v:mP7Pi[[sZɄnSIW[ Q+D׈P(8i$L/Rn R_x~o  zI+>p}%{G^ҟ?TE_D4K9\/K Zs]gƅ/E^'\/*5# yNa/ !Gu_Nm|_jO5B} r8yu8% {ijmJgaӷح/0߆M[[mMJho1^"AIƾ "o=-d `^ھJa$?QE +-Ј2T""1vWD#%n!KuaFyL#RdB"Ȋ漕DO$vZ;*g؃`SLe%v)גw2,pl6 @)d`p>E4l aPp&\4QJ@M_A0[mtD&-: Bau +YP$pͲޟ[0 9{.34 8A'ԆbtD(cC莁F +aaHI g&myvDf6r/ypN+˜eu>_Li @ 80ͯH20nAߝDS]D`<5a|!m +M_ipMSPOR#a _Oߧ{b}6D?(ZI%J"bqJZZ.qMlNW ?$_5E_e8S_:om?+aNm:u;ioz'Us^'+EP_&%bp _Iչ6'^UG%6HyZ"g:Q8 ͯAT?AiWe }qp,.Tqsxy F+u7T8=ʰ_oߜΡ~G!i^ @jEg& }~ZXdk뎘b>Ӑ4# ISPgIer~#~_5fG}~j9_j߮yƺ죯:{)?tl3|~0}w_fKKֳc/_zG^橞}xʾI0޿]W# WwI[bZV?B +VPzZh/zN +3Fbۨ}^0|B,E:Ə^:#Stydzŭ.#5K^=zEI?  !4B.߮ߎ:Z_tS_k]>b)~8K;@M:^yX_}l?Kz-oo:K_nzTh_΁-5#4"aE[|GIK&R"V_ڞۭ=H?~;t$KSuvյK:_]ôFL?$K:L;K_ئ+DZ_^Ah*#/Sim=?Zp _ %/'*m- Z A`~ A KHq F8( HVj!i_ 6Kh \2;/AMXP?I~KGaDGK `*h+KR;0ds,Ht5__$4# XAiD/!$Ip `e(;7 zA%K.4G=A +<KK$XA + KOHeEJzMKv A/F(2,S1_1 KnC" [j^bIz_SK`t]֖0W,Gm&__3y7[z_ ,  `^oK~% =)(/(Z, K0 ~10A!i`k!%xuKx0c XMq4p0AЧ 0@`( UeE4dU<:\)%OK(a9:5_ȃ mCOiV2I&T;&d64)$yŸAi2 ZN<$áK @Qh&X*[APXA  V@I,/AA@݄ UX6aDB~ 5*$JS:!E)a!*5DE""$Ƒ;Eu4AQ%dDْ'إΛV"D396Ə&PIPg^ ՞3Tϱ x3D3*Y%1<&yF"]`4YPӆÇ i(CEyPlall6? &cV*ET0k@M_*BBau7l](It1(UeBA0^ *A@`aJ3@G3`d,p]$hBAs 脈0{ 2i$ARSֈa ˜VQXF - {Ytս?lps.oO t:UB/!,0evTI {?I eqVtmo*'OJgBϯK Ľ'#~F>=[؟D a5z_^_W؟Da+ނW^0g +9vt^:_D|wVyb!BI/!/HKgV"-$􍤿$Is_)_Qy_|)$$ʚM#}I:䄧GD`k$濈0o5vB $NcF"L^CZ}^нBI@1փi~:uh/H_/8(M9 Jpkg.`=/N"- oK]RVFJ#4^OSFs~muנ/?^Y"?3CADCCjBP/?^Zqd>2{*q_:TL?uϯ9dpȸ4u[AK89Y)=+HNs2:Yl=].:HNs3NCTmfYO?~:[(TN^ʡ9QZzנ] P_A +kɅ=ʀ_oߜ#=Rҍ[ }G 4u# IjI4[ r8pKQ-H}S}q xz718z[5iujΞO/Ҵ1󧲓'KKn~F7~??DxʾC n/'_Z +I}#a-_2:O]"W-/_/?Ǵ\_֕륷W?׏i_i}mDt3Fbe"8?'^E?-gI0;] SFPvuY~_u*ޱkK㥜QQp𗙩8,ԫޱkK ^fK_]ViԫEڭ.kkb)V]u 먇 _3z_/:K_nzUЈI+8YK_nzT!$ +\MKz(X}yTuFMXl믊at1+(W]|VK:e+рk_mGX5uE(;zY!k}1i?~`_&dW}x_/edIw)15?j޷Ώ뷲9?D{0^Vԇ9>@G迲9?D{0^V"?Z ƛ][X疟Qz[տZQ߂A&ϯlK_a~%֔i76>IeZ6~落/L %-w<7H} :WKuC͡3I@&WKuZzۭ=H,i2}~;dL.a &(kZֿa &kWAzL;K_o$cx3[z߮Xk$sI[zIbMJ}*m- gsGy:}}8z_B ^>!~B6*РA!UQWKq ARZZdyk[SV/Fj@=#ZZ9,SV/F_ֿKGacVt5 i y!Z4AsGW=_kG/4AsGWT֗XGpF,`~${;g1I34lAJVO) }`A%O)~]i2z~{oirtZ_7#m涒w7#I?/6A}=_oKoz -!jF+ xo$Im߆)ޗ'a@vb~SK`oKGG]&XW_ Mڿ?g{K XmlamM㤩A(ai[i_oK}Pޗ/A[z[~:~tb^-TפMDŽW `m&#_[jP+KT\w%MOV![t1I/,0|Mq4m&"?@C[ qE:I$jJׄQKn>tJil?OK( T '. myB ("x;&AKiZ`] b '/I S,2cȃ :KvL,rR`K4 `AkaGo!/&K dXQ'a a0a,-5a [t!O j080AGH4 ^X,'_1@ +D5S!ka80 A0! 9HB;CРA"4!DH0RB#B5=aADG[d*"$ulspμA=$B":dS%H"3+(maYPӆ L&ͦll2ӃM" ӨDD'f(/nh6' 2ᣆ#E tڔ fr(U(*X`r]&t(}SzB#L6)dV: + 6C|~C +0)쩮&j1toK"a YnAzS?}t]k΋D?(ZI%I~?08C/?6#9gB $Nctp1փͯ~_󐺤3G_YF1_?^YF_HADCӬu[AK89YmfkZDzs)N`:z 0>0/sqWG.ij?g#'L1Ko_#R%s4":?GFW_#I}#_u9zGIPg }ZVajxm?}p5av ~z"-/J}Bl,POޱkK㥜':. y3t kIj3 Ik?=o\K]?:M_Ac!eqT^GY?׵ZZOJ&IJ"Aֵ+ѭWKHL*Xk$sZzZAt( HW!Tc> +#I/ A K|~0RU镩̢Zd{,$moHt5\}5⻑% i {I,% A_z<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%GJzO.H3<=ehP]a; k#;z[*ҷBMzL>KKl=o>J[a#&$ Km:wAl}6mM+ B aTm>"@CA+h$ [< J> sH&N39R-I?Ξ)^b ao8/دvL'&OT Mh&/XehaGo5 % P/ #++B (4) ؠA帹B(A@OаBDuADXqF@H ",*;**hh5-Մ; +v'd2`&]"hL3}jȄFDpᒤ)[+dQC;%Ⱥ2 QvÇ a`pp漋im0ea;OV*pl2&*l&\4:u ./o:5L&/!!0:Ruw +,b꩘baȍba*ͲUg I*9t"cL2_@ˌd QqtoaHؓ}Xa7Ta7\e;"2$ˤ}6l#qP=,M?I_m A{*k!H_JQ({a|!mUNT!4⟟6jѨ?zN'lOG/||rB:#L8o$v΋D1AzSXۮR3{vC^:_mO=C/L6 <GIs_ht6D?(ZI%I~ʩP0 ,U&ij9gkm7Y `kz5YqBeYyȢ-{h 6N.HgUI7MvB $NCZhsHiik:.+Q`(8(M9 JyS<{mf_,־NGzi'VkЋ' okST:5ny:kЋN,ôCjINgKPgy.TqsFyi`5/Z7ᙧ`i,.Tqs$G9ovn(#ǯ"=u/sq)P`Z8CrA +kQH74t4'I^Fڪ (c1Em-G!J}^6$#mxTr'K=-UGIujΞO/-Du n5oLr=%O?ւue_@XKubD~z_/; ~'t)zV]Ziizm?"?"u{(A@KG֖k8#kAb`~"O,| ' nZ?/:I$_u*ޱkK ^fH9V?<1Hr +yKᅦM0^G(aׄhKҬ_~V:K_nzT!$ +_5_"X'"a0Hx?:ۣ K*_!aYGr>LI0},FOg6K L!UF?=Tߺ>ߺ}֖ P?IzD+KKL-z]:|~0Zo%iRm/g^f&":XJۤ5ZMmB.B[ץ +j?*{KjkTUl]$I|?$bvb*g@i}v6~yCmX0~ICm}Ki`ح/!6K!AwuIxo%GaH3<:zM[~A("Ji: aM㤾oI|| 0Gi7KI0ӥiApPb"?iXK ߠIP Bb+i6l4o&#K`T$|J$ijvki7$%&_a\8 A-DŽ F$-! + IׄQ'JFK%7.H !K]~AA4+i I[,t~ZL`E D2V0o8-'&OT K? #j^Zd~a& 'a)@q ~ [AaA"v&Ka. :A& (tLAPEO h5U +B~  ^:B׍$T g +]$T MK GB;CI  +#0Ba! FR!UBA#ЈGM%"|ER 0j+HK"14@<" u uϢ ld>61*w ["2 3p欋im0e{*IA[Qh6l]0e`HL7N]‹eQTZ +H U9 + +aaH7\4kK;pê @ 86WjD__l!H[|Hge8WҪ?[b}#M3#MsCVE9c=ypɅql3-(տ./T@KO_@O<SֺL1Em-G!6"?) D}-/CU QΞO/-Du+Ch~ "QA^:2D%?#a2i_#G-/]-L:I-r"4?ZH99i&+XX"pϢXbgzEZzŭ.#. y^߄u~Z3JCq$}~F/4$FK_nzT!$ +]_8@\B ]uZL=.k@O>|,aIu_tHGR\2~S$t"?/!_b_ D~~3^&ŘƵYk| a_EF}~/~\3X疟"?:D{0^V"?T:鄺$/K3QAxZQ߂A&' Ik/"kʡOܑk3I@&WKuTpU^G _?aA$Btqerzˊ}cb>G^{(㔓p _ %${pj W) +1xUmDaC@:ŝ$x_jHkޓxqI-rF3y _龶lWA(m (ryO Tz=-O&[_-m %Iۤ6_'a@vbi6ޖ Mm/ ao-[@&K .#JX`b+i64#K| . zWa5TAB DK-:A HAal/jQ'JF VI[><" \I[,t)& %- I SծFJ'pp,1 iV@H Li/K> д?[Hqpa 2I*aWIT!APa! F(DDDDDDPQj+Ƒ6Gb +򨥺`AN򔌄%c4B"c:lZDYvc(Ȯvg؃a@μA=s̤QA֎2*l2~L  +{ a8e^E46m3Z5 .UA0\^F eػ`ȐnB&:Ϩ::m+^mL0 9!Ɨ[jC 1sIB _V\fh$p8 +KDA0]$hh.auL6vȨGMS#!/"חۦQXF\-a {Ytz/$_:4\' p5^ʚ?um<~_D]uޘ4q2R0Kq?y1ۭ>&j6O"Ȑm19!I>;Du\tt:  y]>:Qt)TvQ 6h__?gPGReijC򅤒^?0]--W{I8A6M5k^! +q I?I!?6) DrDj,z 6x"΃WFнBI@1փUk e|2]--.a)_ Gh?.z_B꒲2Th__ǶTgzi'Vռ +C[~hk?]6dziŐBP5).g׶**AHO/N`5,y(c85Κu[AK89#Ӝ ^G Oi%t"=`hE|>98({+SqYP~-=~_O_O>__'0y뎘c?d@mcO4tcZmCdG/J5zj=-U:5kh:tRm#죯(ˆSDmz?lez^Ǧy}tWL n/KgYFH((<҈y;HR-5ƿ/(+KKKno"?9 } 5# ~Z_[k82ZH:Ii&+XX"[k2_# nB^O +DU/Ћ$ᆒ_uFMXoy.!>&I u?om&{=@IK m_^ &8UPr5hsI$Ώe*z:A }/_^Jt}\Rᷥ.+)L#gfiCI omt o/KסY#ĝi>_ͬs#_FyitHtz]Q9t0&_oߜV0G"ς|> xz P_^=5=tv?5 r8pKQ-H~o\%8*gOe'N":"I~ GIxʾ?x_Mq(+KKKn[R_#J~ZH99i&+XX"q<"DMa9΄fj- %kCy'8ylq"K$OyU23a5z%*1|q"0*ZuhKҡ %~TG?I5/?/믊atX_DiD _8Nh> +Z֖H_A0$_9J~GEd>K"/9Ώ(_cZ,5L0ȯ" #>_OeV4 [A_"=l/+Apժ_~f ĺҍ&& 48lK\uֵ=H*Ez?rE|&_ /\U/}#?F~I6k]2/ײq9I? ,B @PI[K(?E ס^_( HUTc_;:?AXH񭾿ՋK:-/A~9[yA~:Mm/4AsGWT֗ǥ@A_e<Ϥ?$?O_KߏOKa7#ĻI?~K3 +om-B1XN~$0#;~/ >i6ޖ Mm/_|x?٪o>Ja# GF#!W `m&]ׄ\?(~`(~=+*i MxzVFAfE:T]l44. ą i6OK( TxI %=ta"'PɃVZMeYlɃJAcI0a.qnZNM:B ,/\5P\8@m0 ׊;  %B@ͯkkB)`ªDHqpa 2IPR 2@DhRDDDDDDDEg#dWO4eZ-\ aIKuam+!2[!16FѩZ(B)gdB"#Kgu#FEs>Ӝ7 (pe6' ] pXg5pl8pi);`6? PVCl /.I ALp!;5q{x&Űmm#!JH \*D'f.2$&Plag>ԓ9[jPb.LyT}úêMhl&Q 4RSQh0#NȏȭnGS꾶KCtJ \6V8t:UT2Aqe| NeMSi/CEC-?#Z]DHgBL&{y bbapPĽ/c?[b}P󜢇鲼(WEǑ3O"Ӓ~}dk85Κu[AK89uD{$|>98o?u V^ʡ9B?f \^?H▞u/}O!z\tQ#n)>N?%cs?y0 k\-&WSK߮yƣݕYOZ_\h:tR5or=b~<_/]$㮓*G@;IR3׏gHIW_(Mq(+KK7D}A<>}/} ~vri:/_Ig'0;],EHK:ɔ'Y>kۣNut%4HUoX}M0K/uU^(<%Ώ"ֿ:_~Z3ב5t/ ^W[+ +l?1|q"0*ZuhKүY  4{֖_'I2)/?/믊at; Fi\9rՔ?[GcooK _^ &8■\6i| + `k A-i'*Xa.x< 1灥!KKZ`vӌH'^< /4+i ةd~AX13DȓTH$ ,-z0vI[,t)& %-  h%׃PZA/@@4$A-..P} `AkaGMc!O M{BAHQU +*Y:~L,E + \(!HE!APa!ADDhDDD*0"-#O#Teȋ"μA&HF;t0^yR%ax3Vͦl ,h' ;ʭE 3d2aqemV*oJ!}tK$- +ߤpKҪ/QJi~AzS#i/ >)_QO(ZI%Ik$$a)duIU"OHzOͯHxi_΃ƨZ >h}_^$јkA1*gE,2Ҵ?j~8Z4_rTpqd2'(mNR҇0)^fzסY#0ω:A +Zy65Ϭ׈?i>].:HNsטg +kɅVy|>hqꖔjߥ ?(a-H}S]%d?o:aO]& H6[ۄG_(f8?) D}-/CO/~t8KuzL.5?AI}#a-_Kn HFjDK}+KKKnzuD_ZDiBKA1_z]~4u^$룪=/ߏGUxa/3TKi /Kb//!5q"癈[^! %~TGk@z($}z,#@z^I+8AcVQ&\GQƖ:GK\G!aYF4"?A:\9)?pRK~AM*=$_ CgKĎqk bG@8aE~i׭A\UnjAbZ~h ~#DeV Mh.#- Ikr i-%!z^V?ŵ_6>IeZeqT^GYT{?z~`4T> =H$eqT^GYkWA\ WFjF9WAi +ֵ+V?_Nyα#A_/@PI[z童 #//e)B|B +~zZKA%AX:ŝ/~0ZMi_I +V kKξO)~{o5G?$?It A'm)z[~~>_)xo%Gv R3/&V_wh*V~$0#;K 1xA/>{K#bAl/-|x?J| 0Gi7&ob>0*4#K04II/~x R /Kߩ@C*i MxxA:PJ0 =BA,fE=-:AI/c4. DŽ D (frpl1RdAB4fC`AckH-v*z0yŸAi8A6z&K Bh0@׃PX8A~@j 'a a0a( H % m HCX5 B?1@ (4 FjZtB A"4)DDDDDE"B"""ђ+ 4v$HI)n!Sæ笡P7\4:M$M4#NȌ~Eo. CۦQPXF - {Ytս?lp 3#Dޟ ,ײD (CJHl!H[+k}7W:zTPRfV*0(_ҧő/toI؟D a5O¥oK"A oK蓴Iڥ֙qSh5. Jwy]:у8.(I$76|CgJaJRIjC򅤒_ CZ^ I􍤺ZZ9gk">_[kœaROK!쩤=^HJy$tZh .='X Rt_:5$㶖I"u1e E5|7*=H!%6H t R]k9}e&%8530tq$^BJz6um֓iyZǓA^ֽ5F@gN,Ƃ6N>i%(֜_/y$^_ͬs5j_3pi,.Tqs2KSzVOe)8/'C R#Ӝu="BV+)}~serT5U9NBD_C&( P_ޤs'VQD>FگC1>\-&ŪG'KozJDKo?^G+\G*Vu?ZIZV":?#a45o~*?_"??WL0u$ n,y;I/#3/+KK0K1-5 +&oe( `x}_/_-/-{˕g'0;]^D>pfOAb`\";R+ nLtuY~ւ^fӭYT_Z\G,8Oҋ_NxaAuo !4dM:b/.kp"<ֺ}s#IVͯ 5m*|Mb%_^/:K_nzUЈI+8YlBI_@.i._xA& .q忍t #>h-}U_]G DYvPgWx@ +Z?p(AxH$K&/mW{ޞK_K.I Mׯ_5-}A>.ߥE  !ߥu_[{7yo " u* >Ckt$ȖWKm{KKHD4)#"@txIi~Ek⵭ttk_ A+ kئ+b AQc_9 _mߥ}\$&IB 1^A"A 5 BPW G_z|B +m?F?=S~!*Mmii ~/ץ|~0RqΑcנJDt-}I} P<^F3y ~@5⻏A"~uA'K +?=ʙ_]G6?-SKeAryO!6K!AwuIi~?KҞA!׎fv ASI?oAȆi!A{_&PI/a; I-#; #;im iοKoI+^_ Mڿ B KnVK_ mo%z_~o>JtW#H DvpPb":Wֿt7Ia!18_AzMzM[|{Ai7K` P+K," SSմt ioK :*Inb a5 WH'I?Iza( OK( %5KҟXA:P%J4A'J IF vLA75@z%d40a.qn_^Atc y pnH,D @- k %`AkaGo!/&K 0&^QB) AK#CXDtIx H %BU$e7Y:hE$aPЊB"ArLv!@DhBЈ."CAЈD幄AQTv*dA]Z-Dax3Gq J5la0M8pe6']CMi(CavÆV*E6 a"mL6B(5 L&/e0tպu\*y[-)R`p:Ruw +.As ՗Abg=kmJ \]$hh.a?n ++ZS։ AB%&|]$hh.az c2Um(}Tˤ6#0oK; :s.oOW-uMiB}t@"/}t@^!nC*ޗ8߽KmtJzT7?FoKNߥ\i}EvQ)t?K)_PK6WҍMwU-$􍤿I_2:*'$='׿H/fa)^!#zIIIް1փtz>s/PD d5_^(_[^$јkA1*gZ\?]RVSʙ#4:Fs]qKiZ.+)L|uנҞmǭziŒ8gP&uizסY#Og#fE}z]Q9t0ω:]s]$^.Tqs$G93 5Z{*D_oߜ@ _DQH^?Iub@!"iGB"=:M>X}O]&Քwk]/&Ko[p(ծl<χZ_/!__Z_^Z_ZC~/!_3 umĎq /3 ?bBZ/H a_EF}~=BG[G4?"?sS&Pz_疟D G0^V"?Rްt/jl| AˤK.A~A&' IkRAygGKo =H$eqT^GYYeP A~/L* >tu?@_{A$Bt}h/_Kʼ_A%A$Btt z$ V?_N;/@PI[zN?^:_A!UQWK$/{AB^(+|B +~zZ/~0Z뭵%F_֩/5_ +/.(}r_ +/:<i74_ +?=A%O)XA}lA%O)&O4K=_o A.OKb>t_%o%Gv R3/үk7N R3/4z$@vb WA/>{K˯- A/-_ޗ_~[xA(aoKk0'OK_ % 0MIt?-IwI5D`]_Z &ooKåXEۥԠ!4m&"Q ?A0](J/A ޗ T 43M"x@B ҆g*Qa_f^tJ_^ +Q'JF u=]RI.!tb[a" $D!0lk`M( qnZNM:B R A(@H Li/h1 # A2! "v&K҂ ^j0A5bAPi/khv ,C8  _ ! PB#B5aH*@DhRD DDDDF""""""((:dT̑WJGe*;Rv%n:A +0} + k*30!p"ϵGe:FOD _2*4l2~Ad6 ]&,8vI]CM5"u6qm6.($8aU +/o&$uHPU aҨL4Ee a\e;"?"חd`?LM (C :Ytfפf GVg1v֛AeM$ +)_آ9 i;l o_a5P;$RlR& =$Q&ʨR蓴IiW6:n=>}Wn^j CINX]AA*6~9>"bᆂ}GJߔ-$%GE |Ai'&rkU_R}$$$uS?om= RttϬhu&/PD_gQ&z_)_\5ӜZqyĕ_9 J4p4kDo0 gI:N}Qk\5.^Y)eTl4&t>?_y i>#?PŒӑ2AK89I;#?a"?u#X5l1{|>緤죜sQZ=tJLZMנduv>7 ,\0ſQ%oJ:S &KQ5W!_߮yƯIxeVj(I-#9f"q^Ga5op&7#_a&UL)4λZd/r0"?aTҴQT@*$wP' +?mWmqz["ŕ_SX '#GUc^fhȝԽ/o/E50 5XU:FtAaf"K__8Aiz ^G(aS~H}gJ5_h chKң0VVfK{K*#EpJ3eNuFk{i7z]$,Fz}tZQYGW' Y9'IlM9VP6s^LLKQ 8+PA7fa(M z0qMM4d"!\ a P&I/IBL8 M AA AAT 4!@I,$A9+^`>Ⴏa D  A3 A6?IxA3Y:X(JjA?H&0$|ު$ЈР""""""""""" +&Y‘>d #.DYE&ř3>JL 3<#R"em +myRȌEMC;ȯgk;0g^ &uE" 䡰d5$L6ÆlP2(pU(3l2~0E46m96& *Ϩ8m â 6eBp 2euEt@aA0N[PNEuꎠ[w\:A0}In$ʰ3JX`r-IOZ$\$ɶԠ0F7:8st*m20Eo.vKV*(}Tˤ0֝OA%ᇤ + SP_^ʚT$~WUGNO5&/Nu(_U^IKB_?FoK?~R_n=Vq Sh2!21B:.:!mƿ&yNuM..!Kls B?#j)q a(G|hҍMwwqJ򅤒^\utGEkS_:\NMs{I8A6փ O^|ΩkYFʵz #@$I?k5IlT5Imx AzG/t $:3 h?pkhZLX0 t_AWj~8Z4_.+)L)eTl4BPtT[eWi'V?Iմq恎-(~'^mǭziŒ8}dgi_~k< ĝ:c5b?kO/f"uG1Dzs?Y_+[KʀjBWj0#|#=Rҍ[*e ?(aouή ߤz7 0I4"q^./N6j9_MHKK퓫\i:_[p,L+-r}W _:kYoZ͌Z_ n޿L n/RpU6 zHU9~'t)a#\ +J!xV_,Y^Kg(-{ר^oK\H(Om׾&+XX"rZK 襂(uIFrr{],`[MD`[Xbg99N:ŭ.#. yFR//4m0wL0kaZx3[׶b/OyU2e+3_>e)-$(}gLׯ#k0"U|Mb%9$!g4P*#t/_!.)TBa־Y  4EpIz4"?>ʝ=#atX_w:@^:KeRizuK] ǠD* m.z#`J~/'4_SK.b[zu}/a49 <:ᴒk-_ }/̓Xޑ a@z^ ߚ Kk:Q 2+Hϼ/#?|$f#ZPUAwOZ4nAbZ*5?l/+ApկzU1^5 [\K&y#n. A&' Ik_Ab}/ OzZOJ+KKA)ZiDkʡgCA E+:ϯYKޖz[^% KHD)rl|_{A$Bt~.yռ}- TGAz[+S- TGAzXXנu9?XAZAީ/uA'Kǎ(9<}-Iwm㙦z] a4(./K!AwuIz[~~?ZJz A]UP_l? 7B۴bݤwhߠI; 1H/KaW]_ %֖0]R % NuH/K I&It KnV+΀[~:)/>Ja#a8 `& Cz$-& B a:%-"#?! AlMH0tVaE#bn0AЧ"$0A9$-F :J SIoKtAF&q'jI9:5\T1A`@[Ko΂ig'Fki\A:PJ7(| eV& A[NR Ack& C`ppl1jA9VׄЄ`| @Ab 4 K l AA AD$L& 4A6?,/pA5*i"8";CX5^A A|ުFD +)T]%PhD + F(DDDDDPQj-ң!2)GihJёJ;R2גv"`DUC;ȷgclP• +S(\r U ad (aÄM2[iâid2:l6Ula8e^E4'eET* Tvjl"!Eě @M_4 : TvjdiT*AHnB%tpͲIg Jڒ Ze sIB ^g0v\fh(q4M֔e(02a{kS##k˂LP(C :1oa26p3KK @ 83(.nAD{*kϯ)y]E=$~e kK {?I eqVtmoL&{h&q/dggʴ'Otal?FKN'k$;L)tD|d8 wI7_AzS?}xAA@!y%062qJ_ 4wqJҍMwͫI7}--Ro{I8A6kΫ\%=za +q I?I/_E~T&ҿAοAο4}Bm-/PDF9gAκZZ])__r?%k'YBɅ]49 JI:_8)Dcz'^y(a?IB,yŒAQ졺y6EϮ/?PŐ`ӧpi֞_ͬs뾲3,.Tqs2KuX/|Pyer9sYsrP~s](տ&1KO_@/}>7dk뎘b?d@mu(39s\tz71Em-G|ZD)= ~j9_뿿\uݕY_~:8.tR%bMk62zG^Dn޿H㮓*G޿]} +J_o6/K@/J-RP8Q~=?-/?.V#_^҄3Fbe"`[ _]Vi[g/υthgHrr1{tuY5^֫ޱkK㥜IM0oob-/j^z.ߦ8_ _k]>b?|Mbh [_Na !g*֥_^h-}4V_"aߚ*?玴}a#6Tq>D_!?_a= m*ίk8NhrՔ/'4_D-IL)Sim=?Zl[i7ry'_p _ %/s$ ւ@$+\"/ #/Xe|B +/5,$mo/AAXՔGKk ttSV/Fj@_Dt-}InaA 9 @2\6/_Ht5\} =R[ &QPasal)2t_8@ޗAPg PBl +CBn6A}=_m&AiSKaxo%GJzi!ASK`m[ Ml >u0ҵޗ?B1XN~$?֖0 ,R}va0k1_WlaɽRܬ BLtz[:J~°Ф[u:~o>J%-"#$b&&DBpTcH_W `~"5$0c _AFR.`OԠ!0D  SSմ1AH& I?IiAׄ9:5^2}"_8yB ("x_DŽ Ga.rA KvL l/A74bAkAt3ɃeyŸA~|`4t@e jm AkσP_Xca ; y8"I٘m~H) A)eV$`( {G,N !bbY:PB A0RX(JjB"ArvDDDDDDDPB""41mQD:g-f Pan5٫!w +-Ö [{ 3OeOoO[(Q +IޗD?0g #i/='נDN2~Pp?qd4D9n]sHNsטe)8 ߜ P_0-HP_q1-_뎖_ SfAuK"ҭ/AgWDp/~u\~U" #>8 MO=BG;UlK_aRAyg#kWӣZ)מg%nE0@QT*#CLN~=SZ^+ryO-1] R3/KomGi7mK$M?$I/,0c-i ҆g*Q0t u=P!I 5 % + A B#B."#Qh0-Մ; +v%j2*YJL#<@f:(}Cel 9:p";ȶUQ `҇lPM8pa LL ImqFm &U + +eE e(M„0lZu +)h֛*6VYP$ $flOy&y=AH2a~*9-ODԯ ti3mO1gmZZ6V8d0P\ sa~3I@P\ a }FBt4\ BoD_S]Da: + 6Zm%ͭ(4#g&]$jPOR#a _oNS8؋O:{8ԁHy6p)|BtЇ9 ->;D{Z|WZgUD1M@?sv }ѧFz?${N~8~'=<Gkei&/!? D]CKg"֛ۤ.q=lNU?$7y^N_=E4q &pM{h?_3~5ImˆQޖy%s%i{^Miih1J_ `q?y|N@Ax_"^؜g驚nm נYx6u +@ >O8Fz_hzW*ZZNA5 ]c7T8P"/t/T+Sai/d ɅX5l!Ak_c@50 k>Ӑ$҅x>-P"?F@SPgWe} +^G+VIyN/i7uX.dpez0 kOn+_(3+ ~Dl6_ +Ë#Z|+-b>#|r@E?}!@a49 =}v~?=I)zu_^?۪EВloߚ z[}z Om_8l_A+O]tKOv!z_KH^?Z _/oqoIozWNNGOzh//KA)Z|_? a_D{BO4Km[_K!??D]cʲ]x@mQ_ւ[b/4- TGAy_Aos\RKm9Σ~rAvZ SZZ]z_?K_uN=~?A=/ Mk륥,$moXj@) /5 " Fq,% ă^ȪKzׯP5$_㑟_% J!y uA'.z_]l7xG:,KK$XA + ?m-ʿ޿/?! !imMK_zSqAuZ[pM*@X KnV-O&/_i/I1A(Al1ޒ c~}ADqzǢBE^DjI-êXE۞C$hJ=~AN#=[O ?a?^1A&a.r$6R__08/L YѬ56ta#@P85Aa:It .W`+K0iR9ZbK8 )2 AΡ<$á93h1&)-X :J`o=@m%Xh4 ?KŠ,/AA /pX/tUbFD $fARRHZ8TLj5*4t8)Q)uI +B#4&ISB8!*5(!ЈDFDDDDF""?twF"wFևI3\0꾶MCea2AqegPP\ 27-"Z}7t(mB2U7tPFGQ) {a|!l*΂M_鐠h6nn8nRM_zO8$x[ѨǺ}/d\/^5$#RZwy]>:G0gY}-[&&/e.ME Ո I$R#i/eTK'I6E:ҽ/{"Cͯo8C/?6#I/rBS#kI?m-/PDF9gAο( h?_(Dm#@IH}"VA_#k\9(0 g7.+ Lzm_AƓZ!t4`bE_^mjjNyZ"לYmƜY iI-2t*hT_ + BP'_ok55j_3pi,.Tqs2K>:|)Nҟ7]!Ms].asq*PT8*9 O_@/|(a^QW}'9B,7ߜIX5'0 k?d@m3c1Em-G|ZD)=)mBti >qU8o%L1])S(3/ePr}(eVj._:{)?t~Kn~~T2N_KIkzK\_h+]&U[ )~*JpD]\_qZVajxm13Du4DtZOǂ#ZOtS.V#y$4t{(?Q)Ec? aKRT'.>z_(ug&UŽb֗K9ΓtuY]~58g?Za|2#""~fzI%C\bz_v\S΁m5f#9/XJF` $zh%"=izMKok]iK8%gPk=/JZyBI_20_Ŕ1^?~umaE~}Ďg؅JEU $ ]o_너./"?]G DYvPg'x@ +ZeV#3f2%6AkOD}\_/z[֖k~%֔i76>Ij4 Ik:LXI]{U^/K >oߋA E?=RWKuCײAAB?TZA0WKne}<KIJ"Aֵ+ѭV}WA]e:t]x@AKto?^߮Xk$s? OLZ_ NG_z|B +/~z`D0W6 ++-2<ԁ Ukejw84[(\KE$/JB.B[z_? ΂zWr$"?C_Z &T΀K<Ϭ?$ +?=?PimR/@KM N3Ml;o AOW"Iil?G-?.r>_oKe_ЌVߠI; R3/KoKm/ D{kV+J<- ]7_o%z_~o>J[a# _ㄯ7/o Bb+q$Ml4/& Uu~һIq vk|D?Ri7 8Al5IxyX͆a{ZI$jK G^L"x_DŽ Ga.rA ҆i*Q,08[,>h,as )L˜N3L"MyFDeiyUdB"&2.  0l 6pa lPI`dNaٴe(l6l*,v&8au5p7uLl0B*DkBn:AIf *mpWqwUL4O& 6,a6~]$hQiBA)7£S։ +/PoaPQʶ0a"۟C謸&O s.:@ou6#0n|huIys +hpնPu c2: + 6ZmvoY\U[ͭzu__k]$̭U=6(DaphNj1qű~NF{8؋_4Aޗe Bt:쎍9{ߥӜ}_Y +ZL?K޲_i~PK!u5/J55QEs?FA#i(u0 ab~_ /u񇿜H/^NxJzT4ǤW5DuOнBIˆQf`SӯszY(}B i$$.+5.+S4)p4__},/RdIS,u_/zfk,<:_C`2gBלYx6u +@0'[~hpbsN/g;:!].:eg5tK#VtI+=ѫsC7~JG9uΚŒӐy^"/t/T2aDE}j["^HB 5Ce +U9ۊϥ&ŪGP驀k],6s@50 kSI/H0J%[:eqf:g%8lᩲh:u#a^F.*%i{G +Knh8;'W5k ZL=$j>T2=_d( KzS'@먊D~zpVajߠ#GZ/AG$#5دD[uy$PD_n{(?Q]kiuײ<־DiBt]i_8wZ?g9BI J/:YtPXbgւ ~aה_,FkFNv}}s#zSTOϥ#zYl_]/| I|ד_WC9_aoF*kk%א@|2M~ KbJKG[u!A.!WY 2D|4KH"=h/~^ x_|+/k^ r@_ +Ë#Z_XХPiu?Z_uEd?X۞p/=}v~?!:I?8?pVu _A\%}/?mCָJ3_u I|l)ʮt>@ +Zt֢ORׯ?_2|0H$9߯Ώ@$]z[RK K3K/0ge$Al2Iu/_-,i2}~WHdK+zzүۭMQXDz^.Z J"URU_頂V!Zz$s\RKu6:̓XA ZHW-)iVct[(?CY. Umz_(><ԁ/R_Jǚ?BgGA jsKj?*^B,"|]=_k(_A"~\~B*x0~ICKA}/eKA?mzHAZ~A("=\i6z_M~?5ձAȆ~_bӯ_\7Ny0/ziuh  R3]󩅥K)mZZtߥAm/8;מ_cK5Ko&'OzV @&9"=a+ $萿- N__"0cI6hO} tHI}%S%MOV!4w('pz=+F H6eL=+åak hSTSa%a@^ ƨHA s~&IyB .g.l4$ AC =&odPd0jl5=?FoKs {k#[I~~~}ѧFz쎍:3)t*?ir+57IG[h$ސ1 !b򅤒^?g^F:FA7C0釷C=$$/sk_cI d5J/c/Hޖy%sz'F`c!񮎐,5_},/RdIS,N@A?yhg?H!uIYO*g}b:E~DZq_g >҇0<)>}yő^Zqd?]:j=*bO:kV+=Mѫ[_AK89#Ӝ5%te_m3PC xAi#EɄ:FjߎEנ 5sqWi:EᇪV.T5(=(_g#O]&/jI4~i{G +Knh8;f /%zΗ'KKn~ÏKz#_W^ҟ98*]DT}#ֽ&Vat'JI}#a-_9zGIPg }Z^ޗ(Pkn*W}#5B0KJ۫J/ 3P*N+^VzM.fײ "4?5z +>yP'_AuzZKg9YCa%t"֗_z__ JY>~}/t<)9/f"oz. yVa //3MI+/*^&_RIkzT!$ +_ב5"=h/~+рk]Gϫ"?#cL=.q֖EXХPiu?Z\r@ +ËXƽ/_~LIeZ{>[ $g%RkifICBO<_ /\U/}|?}{_ZUkh V^>1ͯJ"*mQM+ZLF_Koҽ- KKA0?9k$b_K_u=Vg9@PI[l[x'Z + ?B UQ~?AP A!UQTq%Ah Aiwm/ V=<ԁgG<ԁ(=V ++KHXHHk(_ky0~j?*֡-"ᰏ`I7h+iuh <[)=/ (ryO %&T΀/o- Oo ulPA2!حK>tʏ߄J$H3<=ehP]+K$1Hu~TzC7N R3/MlJ1 KoM iyޖ/ )m}c֖Na o##_i"#)gi SIoKåmK`g.l4D$ AC =&o =a\K΂ia\cN39Rݔ Jz 2AW#Ndk~Eo. :p[6sʙ\(߶l2祕3kVW&ayeMyR} +͂~EXs`YPiΑdQ +L&Oa _a=Ӓ4?O~)7ׯ_DNDt\tt$ __Y +\CLۭGt?aWBu> CgJa\~DICo_zO􍤒MvKKA6{I:M88O0/aNeKeE4657_SޖzH(O`_Xi{h/?cq_8DxRбg9n?$俄GߨM0tHk|X=Ul /7便[l~P^:_G/^_O_$UY  2^~:Z (Kn.KzbDd aK' AK(?ƿylg?Koy um_N_,K8(=,}/"`+L?"?{DΡ?ο_㲧'Y?GB zF}˺렴ihe>SK]zZLzY "([xAl?^yi^JoK/egKzzV~|:Tk?ޗAΓ뷄e^mR@zV_Ua*_[oe_A_ t}EZ[xAm**ץm[T]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)bb AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiߧCY.=VrMEzc#K}hz/Lk_/A֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """kETvR0YKua),g5#U2'6eB}>Fgc2FEr DtȞt MΙ" g aÆ3E& l2l ϻa᳈ ]epe}`nI[m‡DOWLMwT +/n:ͲIg +lZ9Z|-(O +P0wFօG%)@7SIBE1DgZUM2P:wWs=u>P\0겄hm~\aeMqiv&(mI8]lpM5yBW!BKOā*ZT*gۭsKM2y;DiW6c"s}a:Q-v~8~'[רnmCgJaޖHE /Iޗ[HE%--Ai'Io~x@"FO${Ϫd?{7 +"R,aNi7M\ l4EƿK}"nIƾoI4֗beM!2Νp/1~,qK7(Ƞm_YG_/OtB05_ φ}@t@΍RH5qtB03^鐬陆tjG΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuXo(98 ]KQ9(C!!AD01쌏죜sRWsq1}OL1])S{*ӲGu 6/+8oSֺLNOKx<^⟏[~z[5k/qKICA?K_f_{]$E"?Jr=jst}t{@9zG_WwI[j)c-'3ӓN {#_:H-'% ?EPO_IR~qlRZ^<'i}h4S{*gTK}*a IiZ^J7y^0~b-TuY^D PbK^/K +Z?GUu$@^9"<)hX}M0b-/I`H%9}.^]n|XE4| -KҦr]]n|XPs_1/K׿ (c-/ $K"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:ttz#`Hy  Ii/5rՔ/렐@׮q_/CCpi'i HBIimZqyQi HBIimV/8 +?z7iZ" ?1k9Bκ"  Z!$S,WTO޹t &.==.҂/Ϫ#ڷ5?Ab-&Wut]7 Z:9=-[_egj NNGOKޖmR"WAc a/kzZMA/ʿV/KHD4L.#:/ʠ+m_.#:/ KoWۯbAZA + XbKm&ҽ A ߲mZ--.="Bp GoSץ>4NAzSjl;M~ K?MZZd{!KKL-u/_?I}iiȚ#ղ/_Dt-}]%; "ᰏcTԡ-"ᰏ$*1+vP"ᰏe Hl#s⿄uA'*K㜎tZLA9LUZ~9EʙAl)2tVBl +CBǝGHx}uc:ӭ N&CeiKe'렛BҖֺ --a&Yo׬tI+^#ZXA"Z[r i__7L>wKI~ B a`'$Jkt7W^KI#RIlx%:W%AJPһA PAl<\pk%>֒ $ \pkIZOI0c4+`H;&DF>_F Ȇ,>*<ϗ- +dF4A/h; +u 6 \ zXtM_ /??G&>[cMa_F5Co?_=!~6?ֈ F_zxto6Az7IkXH_q<~ 6$h I'$h In )@i/Itfת(MBJl2oR߄$c!H )1/n VQE$痤_A:E$VE$7Yf/ N4f+ӔsN-(~ufhG>WZr}i׵kӔsN/ 5 1HNsm,Il0"=9PAaDzsidpG  R#Ӝ!B`FGQ9(X( P^L5"jhP@jhP@@K=PC {*ӲG"]%ꗄ /B%[~C'K~"?ix.Kni%0tGFR~T[pca4 KPim#G)P%z2(ejӿKK3@ &0P%]%x[ ?ejMmTa" (2 ?QD_A (۫vQJ_lVzf> 0IO^sQ╠^Q9B`M╠^ KR+[[I~6]|%>BApKKM&l }&I., zM_r]U5)/ JIMU"=izuUFt/bJGiiNH6!$m$ߵ$:WKm+m:^8I=+m:vI=+m:ߎ\^VJ .K_9(l4AXa҆K _Piut$/H&3In_&M J &F}yNE:!A$Hϼ DA$?$i] #>a ^."$H$$a^a~ 0z@P# 3" NjtA l/p@|Oo 3J0geHdK+pj}{_T}W $g%RKD IeqT3 + Km +֬GgGGV!ZԧI  +ֵu X`k_--A&)+t3 1I[4mH$%n+uH$%n#T%xTad U_I^B UQഴ _Or: L1"/9U[H%Z~pG$O5UA5 ?Tz_ M%?ZXAseL W'h#A6AryM.5A0Σ<1AȆd O`A!7Li&ޭf"IE&ҡAƒwAA@?  R3 #;I| #; 6/`/pAm/ҿAA l_H Dv~ @&IHĩ(@A#A$M_I6oi{M0 it m&!m&^mF_B MkIo H6a~A:P^:xH浔A'J0sZFaP N7ǜA$ؓ_a} ~I8A7= po $ pn a0c0aC^B a0zL!xp@   L_GC0@ALPk㰈 A v0@Af2B\` *hz*@hRT$ I A%lHAu +"?TDH#%drTJV-"I3pιUDmA~6d6pQӜhen(8pο4wdl$6v,g\ieZ g6eB6;a6~aNt(LZmޓgt24)PWy[3@?3<oa"@jdL"#EauP*& f5 c2H#Dޟ+SΩVqe~f"6B|8"0#A&aaJ&~3+|~>!y\U[qNt!i3+|pM4qd0ϥY1> 6Ѩ~8 h|{%~FᰐaI$4ԍ&i0/QNGFTy$kYC$,$L?KphQ>)􍤿򅤒Mޟ➞fVzI ~KKA6o_q?OIz!@mdS#> гaB.=' &!%6H I"uzY1!@ eZʳreaz](BJl2iuPuSP/dIS9 J<- !{D}&H?zjӋzס >WBPJIZq<I[(71HNs"@ՠs_FoV{{/IbeCuS*Z$(aϽ=נ# In Ip/6( P_W1>Jd󐴉tϡǤZ=T#ޗL<}NHImU5kK ?A/l/xa +^jJKn$\ zZ]*]VR*GVN/ &\~CK8j@]2 ?QD_kLIJ-R˃R4ʙVB AQ5WzAZhQ╠^3^ fײeÔ&ߥK KNtMAu(OYCa%t#6ߥy/Au!]/ JUf#tookUB#ֺ +M[gK":kZZS&3MI+G^=/Ji/Z&{~,Isw DvI$fWIXn,p|zV uIB#cqbZt\"<TWI~>GJ .Ҳ-L{fA>.ثHl| AVz^ԑ_ A>.ڤG~JF{"Y\U/&C[x_A/a.M|^{B[I$HdK+ڶ%]:?? +ֿ]iV1ͯJ" FA0BbA }}6A&)+u@PK_[aA%A 5^ UGImHU~?A]p~?_hD Uiڧr9Uo(=/5 !n %MA*qPM$O4I-5Z}gGҴ$O4T#A0-[x0~ICKKKIW'!6}/AȆi m/~A("<Qf~Ai%GHPA2!_+gz_Q 'a=R!NuH #;~:_ _ /-Jo/gY_RAH Dvoimc տT0A oXA_I6n ,-8_Kߏo Iz]H6a$J CҵIR x A$I`G5jA:PsĤXȉx(ai0'.%0 (oI.! + `I ,fW[r~ RGA\;xA '&m  6 Jj@Ko0?TAAL& -V$`((^; H ʭ$-Bj WGXPXJ)g AUx"# D !ڪhG+HDi!#B A)DDDE""4""""Qd*E%:2Em-Մ; dB"ȉGTA#8g\6̃لqjP)l0:k; dppl2Y6FmL;LNL^E4l2CmLFݦٴalLHh/ԁ0 AøDO-:MӨP2=izMPup>쬢%lΜ6}Am&Huj60{ >S"I/ tU UTh(P}MzAC|e;5XF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F >QVݎ2GW1~Z YPigR~3$|l*΂M߶RV OO9a~FtqũC?qO&$mxN1}v;Mwѯ:i0/Q#N?tkIy'ҪJ}WD?zxto6I7:L_CzDF FZ!M$?!_q?OIz!6Ha#@\zOBd4GD7 )kнBI$Qpo5[*=P d50W(leZ(MժyW*B!uI[G~|Ey:dʹS"\Ey}נWZr}i=kЋg/8_UЧ-5KsN.R% +}BJP 7t R#Ӝ_Ƞ5h"uG1ѫ[^6 +?b/egusښ$(aϴ_E撥‚ 5W:רd󐴉tϡZ=T#ޖ@HIm=TZR5kH鱰T[pIgKI䎛?@ZۄGZ +X &0P%j +L5:T4~h=-,@Í___ԃ0D[uy2 + !_ZP5 +0_} _ZJDuabm 8*LW5{(PF&,aZh,WײG8Kf>7[8}&I.5 TkKՔ&_K9I.iiAu_t$.}?uh&m*eVZOy"mͮ 먆iVr:_ km$#P4Vl=}+ZZS#4؄kQPY/oJa0HPD|,t?X>B~ޗI_Vi|t+%yaXqk0҆KƿҿoKl5i(ng ۞=:ǯLOn_~ 0D  &F}}9)I]l< a_Em_ D6 #> oK_Ώ$a_'MG l/+A/_C  |=}H_Ⳣ_ )<$`ei[x Mh* _> "A h.bM6TF{"q\U/&C[x_A/a.MUI#=8*A_VvA+ kA%I6c-/Ώ +֨?/6 ikg}bB…B(^F2"8A,(#BV D !ڪhG)HDDz$@aB7ЈG-t:_V7IMant :LEZ   PH>(:rhUemb85!?|az)Ed*ED-"**RXC D"(QN3UQPexdDJ8gy8*8g_pp46v,dVd"23Fim0wRl2(D#:FbӤΈӆDt gN>U27<(D#:FͲݗAYI$AODȘ42OCԘh(tK\Zu);h.F2ȃl#q_QA&Z.uL@ACF?AJ&RG:JL_a++kwT RG:JL\&M~qm_ /|{oսM aI$5o?UGޝOUt#8I~nmzH/A#i/le6Ѣ8. 􍤺ZZ O?$Iz{6K.='_ǽ">$c!c[jf G d5BԳD.qEj('uh"TAkӔsN/AD/83YЧ%~^ZqK, #Y3@9g$ ]NY.-idpG  R#Ӝԝu|^ʡ8],ʳB 5=P"_gUj(azHImN9zL\x>-P"?k^=$K_\[4B/*!._Kn$ K*]VRʯ0W~|~]%x[u mz B<֙BʫZu(5}jp|[y> mz B +DtZ_╠^3^+OײG8Kxi~4 KR+I/Nt/3^a@>"?K9ή@K- akl  "֓iV*Իg?#6℁Z^i6oIa$#J=ֿeşOd.#4؄K5[l1iNG!?o_T>8AszV u_IW J .Ҳ-z k+Ih0@Hx =':+X%W] D ץ] #>>莶eqa_֡] #>w:?$a_'MG gEi%^$ak]%^5VA lb":Ko_A |6]Kԧ$ȖWK GA_J}IeqTV/A+ kA%#Q5iiuV!ZױLR _Anx$b_[I-Yus\G?.$b]PùD҈A +?gKo<._+ _.?ǚ?v?-gX$q/~ Mi/ i/I]/}]O֖A"~z+a[p3Iw O)Bl zT( M?m$_ƺ]uPdCI;jA AFwimr_KxK@]6/gүA&_cI&ީ{zI` _=&# mm-:I I-&# oXAL5H]$IKA8NGMM=-& .M,"~zBIl=1xb3մb Ί^ZLia߆ސA& $t$@#ZNH4AAuqivLIZh}*} B᷶a49IiH0鋯[糠q'hy>i0-)JWMn 'ٕ/՞AHKm&վoa#@\zOKlJy$tC״%BJl2KmjZbmKK_"dIS/Ih_Nqנƌץ~r}iťnt) H$J8*, :~P>&/J-+e1lԽuwssq +0ת*qﺈ>c}CI.KA@mA?T[pI/I{*VR7\"h@U ȴz~n=uPNhQD^F*`^p#VSC+M0eؤR+7)a0C_:WNrv#_M_ | PY"}v鿜>i6oxA_ 0ɅafWϧ(l?_Ҽ|Z[i[l1/$Fa]%i8 //E* "3Ք[ "I % }/H{O Z!A$HϽ/)Po*JaǧH$ꗲ%[utSS t=~'K _I#=,*CFokV?--J+Z?7Ԗ" p_Ao Kl IJ `&5A~ U "޿#$/e mk"HZ_?\6 M$- + +r9i2t+u}$GHxb $륚Y+&(:[( Hb-A8o +_  X @Vg?٨Z\BoISXAI6`kS_T!m&^mG:+ZX$\4oI/^L߂N68?ʖVt BF$ c{ x plI1U0&4jm +uBѠXdGn#-T}|>$n!P?%~KͲŰD{$"/f""? ,R2H"a4-΁B! I$46B#K>8`G&c 'ԵqD3UZZ a{Miu)6fapDzF'}wp@|GX) ~~#wLG}YfAG!Fi/C1DtDC0ላb#Rt21ek)%L 28"$5a N,^\N*:&A"71-ٴ=龜S yy^o}lC/B/yޚGEK48'̐N'AM~K۟Vh OcC(puoBn_6\˽o]vo@/J L*Zh@ij#I l\_jbAFGgo} B +endstream +endobj +18 0 obj <>stream +x+*T04U0B C=SSB!9WA?37T%_!+) H!$Ѕr\CN +endstream +endobj +19 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +20 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 92426/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY$> 8a*| #a6P{BAa ܢAO:i J-6~ (ԘMHZE"2][_ղ'm$*:NW\zW&/`U}/;?~f5$p6BzKI&ڥkcѱKӬBn!7_Vf BhҴqi7KR̮mqKK򀡴b*C0 -Uv$I +^W/i(Ԡ/-az:{BT'ZzzD辰%^a$֟u +Tta!Kfn%io%KJi- ÿIi==R_kvC^I ð^nɟaAa%@܁AY Aaan""""""")Iz@~#X-A@TBm4K6B'́XXq-Մ; ;D$HΜ8g\ ; D!{<;/ÆuQ8,v 띔" $?Qpl8im0aݒ4laÃa4laÆ0-$m"}] 6"}]Ża."BͲ3 ZPoa 60{ 860{ 8e't#Ne?hA& +ŭ3$|{RG:JLİM?sa_J> 6)H0 aI$?_ ֓ҟT4ѭ0&F5o?phHk_~Z F_DGpA#i/8C~oj_*F$h IS6$h I_؛MqpIMCIzMǪ(MBJl2aJ~:">$Z]u_8_"dʹS/I8N~:JyW*sVE\#7Yf/:hY6P3^9?IT(֜_⮵Ӌ xzr}__!)zM)[(71HNsk[(71HNsidpG  }uߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%UO-":K`?@Xa -Du䎛 ?A[/T n^ 5KK4@c4'@,.3Nsg(GEi(P nB h0dXYYS(G ejamf9pjA B-x mz BW_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_I{qnr1m%AueIk6]zM6MAu41^f&/S9}.m*;CA7iV9/m6o,Z^i7^:i?_$xkZZS3MI+m$TXAq~ozr +^>z-ZM[l1ɀU$0|zV uI0U +oU Ii IW|tvPwAXa҆KBW6_"I % }/t A7O؎M2$M>?H&(CIz^D"!A$HϽBH" #>렒aWTzH OKI/eeLD]t$a`jZAL> +^$a#z:9=-H ˠ/, 0f0pfA4 \^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6SYȵ=s?e #^\ M7t_F V[8UW02@eMtI6 +3h߶6]L9Qh߶6տ~H5L&A<~+S<֜5S<7O {4?Mx_DNӒu\tt!&/:fqHtt~n  }@!y%0|J_K!3+ֈ-i7=&oK/Kz_փmvd? 6y$Hޒi~m +1}'&?6P/便_W]~1kD5CT4`u_Qq PeqO.qoltjGKL +"B4A>qYHѪINM! + 8RK/:6UgHBI5D?5jE=^AtUKHC>a樝j[~G! EpG89hE,3~#._|_}R(8U7ֈDڥ$1S=h>Ti9ᆺ_a5z~=-U֗:KȜKeVj?K~leNzT^^ǭNi?RUzjǮ/ ]} +JU$P Ai?C9_i tOq/n= 5# ҭM쩞t%IEU3 ~!ީ*O/怪G_Dn m$"<)hXGzD RD Pq_8DxRбD{GzD RD Pq@䴴׭z]7a 7[>,RM'h[}]/WuC~OM0$_Q W_]/t/?^G(aKߏe b @ߏ ?Ŕ1+]aK~Y  2!*/~J@\uF[ߏ+_cхt/I~v荂 0oAǜ/e?%ץC @Ք,hk}!θmK8( $A>Z[{:)zGk$PH + KKߚ uJh" ;*ru$ _O_3W wWTAh<}-&W%6Aiq~jޖ+]c n { Z\id~hdfSWIu]7$ ӥFޖkIJgK 6ZOJ+oe_AB?TZ_ tW֨ o j%i_$+YN AA}-]vEA]e:t_ + +  S1´ AQteBc OLZ^tA'e%RIteBk97 O4ւ@jl" +p}zXCMB]vx]\+^_?:5,$mo/^LlHQs-sa򪴴["5?(\k\id?[^?iDt-}]t1+㰺H<ULPpGK^aux(.PIKKV _>BA8&T΀ @?KMRhP]==# }+eTq6gIHxu#Q --IKTz[(BOZG+ $IN~#]7~VG/kok /!+ `x+o%~+% B a~~Uuot77]&KA!" Ԓ[a֓~I:W%A_Co7${A~L߃XA01RO#R]$1rA7L*H,G"H Lp, Ť d@!D1 a lZU^Ă08i"  AO H᠂`A0BB/ ) d`H~L-Hi-5)H&cQAЈDDF""?XDIe+̃Ev,Z)|2+漩Q:;)DviÃLp' 뒔BRKsRu3;}IÆuᝍ/5+ aQ t 2̓(xl2a%mL;nmL6d]Ԙ6 DmL:& {`Th2Al8Pi՝ƾȐQ7l:" UeBe' @"]]IMב%UTk 60a"DME$g;&s5[{ BA7 +M4Llu\0~,?RKRHzO!_='H-q>rkYeZmmM/I%IB}%D jY4IMC^׾qKh_u_T6E/C_D IS%HJ^Y_ڤ5)Ч/<K:v7:5I#եhJҦ!'^PM?5!SD$$g_-4W1IJ9:Z4UΚz\8ŒjH<t?eR\RHTu#Ӝ0?3EG]"=9ηĝoM*bC]'_' sWIs-)9 $C r@"Ј~\>(aɅZ zIP@`ղ]LZz_=h@g ~&ߒSqO8aY>m}ZDKoAʡ_iy'/Aҧ -DuPNۄG_6DpP4ɑJ?/҈Um]}&VNP +-_ IVM(  ᭽WZ[uZ^ޗ(Pnҥ־ƗҭM쩞t/+^SR+~t Ѣ"<)hXG ~U\%]aאE{h/6]|b_~m}]/MgŊI?便[B#0+G便[ֺ^A~iVK^,}<@ߏKW~,/Ŕ1!$"5 KbJ$>ߋ(c\B4^_:5>K ~(_Y^ZG-֕|St(oX?%CmI/X,hR(l4"Q-/KKȠ+^pu}v_KsD'\/ P^Q2RΟʜg]$@}oƂK%@_3P"? &F}E4"?:/6-&W%Al?5^恖Fe9A&_a n?t{+8I a˪ a˯_tAA3 _z_ t|9i7'-R'O-R_Ua3 +*w_B A][kDk)[z_h VJKKΈ${*NޒIOޒ_x IJNO֟_u㥶^XCMDAuIQW=/^]A +?: az["5?(.p;[zk?i}J.v: ;Aࢪd#`Ȓ~ߪh]Hk!l?Av㏐k[z^]'QAiuh =Dy/ /)b_VHbK_1|Go6_]6 }a+ uL(!?Atm-k ]pAl_AleBKo.4:io]p/ c,$iio  dD Մ0IiDBZQ吩Db; ^DJ^V-(8e' ιUDmA>K^3v$Wl0/ӆdJ6v,gTD#R`6im04kL H NFش6Rpك +a"7>Y[3@?3\RAPkoa"@jdL" & +NB%SY1oA#IMse8U#Dޟ OAAF/!F.*}>{Gt2RU70a?oޜ5#?G M 5OSL$mzH>;D K`($-/KeT}#[Iu^h76/BFm%>QEs?FA#i/Kt:_RC.='iO$uߤJ 4IMCLW^_-hAe $V"r-%Ly *q_}zKO,&LBN/Ao RR}i΅>}}Ȱ4HCU)E$G]"=9YVߠҡ)r:_tS/_Ks9txJrBI(|8 P^#AzYWB-=$( P_=Piﺿ%=K0,t}>tT"]%:"FV_SJt":#AT4:&[Z_D^XKue *xoJ4uK]}$/_5Ze:KZ^ޗ(Pknʚ#?J= 4GIw_h,WW?h,WKM.#1_uG QH +Z %M_g[a.I?便[Rk6omdӑt:jGA$HϾ6NR=뺺:? 57YO |=gE/ {KMxK <6]V%K/0geX[TPΓ~A60IeqTZV/A` +ZIwh Vׯ" z qK +u̓XA ]}z_]R_xTmސkˡ UGY5A11#m\R _{iu/@IuT& m-\ DS_Z 8e/K˵QA-KA?eO< `_Zm$_ ulPA2!ح-#xi|1Hm-  R3uү龸U_ / A-R8JWGi6A6ҰGi7ƁXAiiM_ 4 8zMAi7IR.ޓium&I'a=&A4a]^^LM)'J.x 9˛ 0AE 6A:PX- l.>2S.)0 Ae|8cJAA& I8A7ai2)m KK8$c JjĂ0H0` ֐0JO.0 K 8a H ʭ$-BjE!L` (XZ0ZCA␌$kA!HDDFkI@Dt %!BWdtd刲b)n!["D5(d5(g\6̱h6s#L + :(}UGg.rUxpιڿpۆDnf% av`f|0Ue(AUP6 DmL2a0wRl2Dݒ'. +WTLe' 0#}]nˌd uwFkoa"@jdL!NB$iB*p/PoavSXF0-tAշt&ej`2za^7\0p.tWz}F0 Dma6 +1wW1? m4xiWk]$̭TL&OނߚzM 5n,m^~}D?za oK.;DN'^&ۤ>?Iv}}d`+qi0-)J߄oҮ"H #i/TK}*r!GGY􍤿Ii_='+E{CMA<:-q=/I^㾒H" d5__ *"Ď eZ_cI d4KK]/PCD_ 9SK8 Ü3g8|E{+K KT"Ta'^(BΟPbqFzUO]:E~DZqiCyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^a^TK*fO[>ӎw΢0k]/tT"]%ꗄ}$҄Jt":T4:&[l3vU QK#A?P?үo%jsb*>?IGK#/ O朜[W"kKZe8ʪ#?רDF5$_^~֗ (۫ШEZ C+MҤ^3^^]G]iu8f"H~{{))Z 雔H0og%UNUޖ] +)SfA0d }:^Z %M_ | PCm| ZUʬ/'XI_uͯ_]/| I|kH?PƗKWKg@K//3MI+A,6(_5q ^~KA}mT]?_a$ c_Y~,4"?ֽu4)~6]%￿h*?9^# x~h$t_um=oA`f=#>>莶l)Јk=?L #>EBl5Utp玗 >(W4 )% 0zmuukuZ,00uZDtB  tŏmm-~A6KZ0IeqT" vյ_)uk_ .ׯ_ׄ ]~_頂V!Z՞b)|xK +uevx IJ M}z^p'| muЍ,i:e^yt!*Me:EkoUoO9?#% _DGK~M%Am%ֹB]P-KW ?T KO)Am׭?/A5]ՠ +A&m$_}M-( L|1Hm-uia)P_k A0|KTK_n[M i`?";I ##_:$";IQK1m&/AX&_1 Z\HHm$I@ީao z 0c8J*Wh K= 0 ͨ _9?0 (tR\,BdDiaq =t ڄdD'36` "l t9ޒ]CJAW8A74 &# IH^" $DJ+b be)Ǡ0A$ؓ_R r8`Ҭ4!pkH%'h1 # H-@KаXBc   a0cj#@h|4 * XkA Hh1 mi *BB 5$em!Z@RIj +T""4KXBN"CBDDE""ۈh(DH;.34 p9tS4iBI\e;)'gU7t_F aN((fפf ᲰA[Yh5| 5{*kL9P?ۤ??vwM DZ]17RV_JL&<~*w?M2y@?@6.q/hC .蓴I$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RU_ls B?#IޗTa9 𗿥a:7I~m~p gd?WFiyi'O kXH$ҞIۭ?_'I&E'ƿA04zG":Zix/5Sd01^lWZZ)]_áӪK9{lW>+8 BKCUlyQ*y0- =m$hȸgF$p:!SDy#…ijE#=,z hzW(֜ZP&BP_/_ WJqTZ##{(3>M쮲iRMX*ӲG"]%ꗄ__#֗8ץz[5kN\57X]Ъnծ)ۄGZIzL(kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTtd/t@7ǂ#ZOL6[+z\_jZ )"۫ШEZ (A@kGêiVT??׶Z_SUDuL8A)-/}h$`/~0~b-G- : JۏVc%$ץ[:Ksi/& G(}/ !4ub-/I`Im=tK^_/ݭ$~}/ttBKJƼ kyX$z/B @#;:%i?_$xEp tKB ׮:ۣ ۺ>?&+рk_K x괶Ҷc_{=@aShAǜ/e#GI 4"?J .o!θm/8 +;-$Aicj"iKa] !|$A7O9~ 㲧(YB\$At _CT0zA Z!A$HϽ/#Po-}i2OD}Z\idڷ?x^AA|aǧH$ꗲ]Z{_Vv _Ɲ*5K|I*KB$`eD[V@zV_(i-&U HK }@G[c $g&R85V--CO +(\G t_ + + H+m?%ʲN`/A~?--J+Z?1^Ah*#Wh>y}0AiyKm&!]+~?H$%n}iAh AiwXCMG+^_vJ'?^Z-L8X/үAm,_B KnV"\>Z7-IŘ^/OpGi6k/A(Al1o?ʮM~$$ adVK1@ &l/ Ԓ[aҔ?}å~T) 8~T)`ǎ })2 AΡKih<ϗ '&Ĝ # Y"ش_5 dAxk BT:+&?"NHB8 +H'j3 ]^ V$`(4t?#C [P#HFO dj!HGhz*@hDb4""")#,DR*FB\-ґ; yْ$0C0hE+DpaX*ӲG"]%ꗄASb/'^zZOʡ[pI/IAeiZ⟏[ -DuHD}t@?DIU*>DKu*dS p=D0[W"ơ5V<[!3B3Wx"?$PDD[uzHA3ӓAREWQ?#_~t5F'_IR}4+Ab3rZ />EC+M0eؤR+7)a1"Ϋp, +^ ~4H*l K|2WΒbKI/KM/}_5&%jI|kW0!"9}.m*ͯ+K*y𐲆0/3MI+͡l4/bJ|YׅN{D.! +/+m:Ei^>z-~?W]}sREt?ZCa_6}Ii I>  .M{_iBH_ --M#?NR*/3^H AqzI03KT! Z!A$HϽ/#Po}'@Q9DK-?@ /A&T aǧH$ꗲ~rQ}7izf_گA$`φˠ//tB$`eDik^zz_/R*׏]Z$D_= _I#=0*C6Бjn`y=Cxx@AZ%aY]c]A0B=C|z+^z09:~H$%n}% ϯ]{jNxPPG\ ]q UG/ qAe^ʄ߯KgG\KA k---27םD ғ\ =&‚N68?xA0~A:P^O(ADn@.E/ m!$ IN=kK\>ZL(A$ؓ_a,]$ { x plI1@Av &ZH.8A4Aj>ZXcaP^v֐0@ :W}%Kh0S a0cPFkH )f A5#ka0q   [{CU +? AVT, F +"GA@BPFCH"V"CCi) +B=SCV"CB"#AH!DGM#-Q +`u{:mM WMnQ6je(iO$tX!lWջk/HjOZGЉ"W)UpKҋJA [5+:N=C@m}75kq~6jH^p#V_Rnw;?a0[Y Tƒ 0aQJe:}CΊ}? G΋.p?RΣ^-.y=Io ya ~o "޾/e mk/ gBI]-`}tQ I+n?k=cXK.!7) H/:+ZX$\4oI.'KyRBj΃aHԗbKda0Li4Մ g1 hc] p;Aj"!EˆB1j)"}G-BU-@T%"%NV)In4QEcIh3F^,ETDoo,,hԔ霏;ϣ?GH3DiDgz%}Fh;2gިv)⢣FVbdPE߈ lb M!!")lD&dtv7-؃@-2;>H G~h2#;h#,4d +gHKE謼tIRXC X(pib)68:46S D0 {v"B"";bT O[H$m.$v;O;B$f}\>,>#,#H!)#Ԏ:<}R ϣꏣ>GTJTm*nntOƇAB"'gֹ*g `п16>f@Eii6o n`%cqPn +΁D"&;)%h- %f`ZJAދ&aS4Nv; z."oz ͪsjvGdq\#iI䄫*o8EY[>oJPxN #:s'g}GNt}$U MGm}zqx⍬qO+\l,&q87MFxc"8㹴=#jaol]tW67MMt|3aةձzކ;I>؇_'}}qIGDZ>BmY#H2d4}YD $#:.~G F>.=BG]uGpGE #l|zwFG|P0@JD0R81IaB`cň- cln"ЈƝww$jL5|/ mְ _IAij]9đ/Ψ:6yuG< 2B>E6Gj})d8%mMPɳh>gTtl6a0Dv}GT}8i6ň4ll\\F1D- +B#1 п{u X,CEqX`ٜ`ЮnD(+{,bᇈi6 yϿKop x~^G\m N@ DtaP::6#GT":,^yY^y)yGҥY`pD{s]*>#FYŸ{.(r 8hãj]MD"8E9C\s{}YGh +GH< hsժX)GW v/_A $"ukDufإ}^#a%յKm(Qv8IlB^.Wb XB";QlXa\[[[_m[[I,1^+  {cA[]XTb Af)v! CuYS" ;NdG3PGGa&<*%Gw0;+^mAi3P1"ǜG&:<+H $Q`vM+}fÑ]VW.S#4׈! \ax G0`A #KaXԭA0G0ChGetG@g`(M8">#}!Fq!qi DDmBBrűmƄG^wm{mͣ鳈>#I @";=}YŴ]<TϢ4ȄGT}GGc0ϣ}Nydgg#"u_lDF8ax"""" #8P!q[wwb^m}[Qn/qI$bU6c`1An1A1l;$GTHtBnqVo>TAGa-}#lIBym0DFuD"c G>ꎨ% <4GVQ(BjGT}}GT}N}}Q +"""""#"#A%">Yި"#% E@diz<ͳXGTFJ!(D\DDDGqN\\%ȡeig9]2SFِ" 6gd08ƹj)CP辧dGGؖ@G7cu*> ҈rQ- +hꥐMc$Jѐ[DJ62Dapdb ޹YHhDQÆuy,V0sDA: :UB-\2(f{pʢe(l6 6ͦL;`lwdl$6ldl$6z0GN]0di7iB"]]Bl;Dwa"%ޙ'pg0ŭ3Ѩ5PQ& + +@TgM4gM4V.ɘtU7t^az}FDyE7]h]H +"v:L_t +Ik z]1uH U oK | z^m&KIiOVꭇ~>I4kL?Iѯ:&i0,#NvSRտ^to6&տֈ F_pA#i a0@:QQDuCQ^Fn_q?C zA bm7CoR )i/I=PBoSd01m@ +P d4}v;DN8 6qe^I9:ED"߽Z^AAA +hmW + G>҇7kY:.Qϭ8o]k3GE9I?F"痑ZtΘ>&I8([(71HNs쟿Pob_ۮ! +0ת.L+4-M\_ +0%C uC WJqT:tߪ^ >Dpao<<-"]%C'K?8ץ+A=V#ca4:ll0":8">GY?I*EGȀT n^ uA!3P ?@T n>I ?@T n뮫gǂ#ZOUGAREWQ?XPA )"۫X)rԃ0D$[uz_6TM.JXLܧւA ϣ4Q~?~FaVzsP#ih,W%#GUu$@h +6]|%>C[+b0KKM&l mI /K $t"L'I?bп ].6SZ &F}yN?M" #>"?Aa L4D5?As:_L>{(f"*_  0zda-pAA A&_tj A3 A^<_,/A 6]^ 0fahmyxA~HdL+pk4G~KF{"a\U/xKDRI쉅qT圿g":K< ^S׭ +֬.ZZ#A+ j 6J+Zb e gL_A M? IJ(Ij IJiS\m@~V/A70\+'_!*xm[_ĉ*Qs.sKUKGA h[t V붭i{EPP9#; ADc^pM$O4IӜV8 DSD1LSPb""?mzAW' +8)zA\S?GA\S74^i7醶o/ZdI2?KPA2]w[~f%I]A +5 }+@J4W$1HSVq  R3 yMzZ i`+ Aitߥ i{~"G#GGi6k/ |!۲%V[ A Mb, L:o?ʮO}zI6`_#)WMۈ7^Ai6&:aP(a]A$IQ?I$i6-0+_H6awk{Ri\ =&‚N68?"$~KZFLzL4ֲ AC1IB`Djai2(tbN  rY$ + ~I8A7 T&i<{Z/h;pkH @ +1 6 KHA LCh7F#Lt*B8A HH ƽEX8ABD@AUk `A v0@AZB"(!kA XA AGA +ZhJڡ!Ab""",dI +ˑ6 ["VG}"ȑ&4Uxd C$NsDA+;(D#QFIxpθEk-QIDf>EÆ80la2f \66 6ͦ(eDd]dA6Qpi;ܷ('TvV#_Wqd"nn."B"]]Űp2iE9 +T@UQA*ꏩwFm& +qjN&> lqaʳ'Pɀk +em#2ӠzQA&͋( _>KMTBбF*!V17W$sMU9!FnMe|:oKS z_~ 6Hu0 J~T6izYZG}{nC ~~BGUm& 6􍤽$~Gu^7ǩh*MA5㥥='FHː_NkƓւ!CQIjA )j;#xBJl2h7ǛQ[E+K-}fq sv8f&H1s< ap)M`YZVH$LBN,ti.Ma0sN/L59cFJ?C[!VJDzs(RIGaDzs`|tK#r8hb +΋jo3I,gPC p@2AgUj(ah/RF6ad 6qT&HIm^=$K 9C)u"kQ[ad}|&zS׆'$4/A??t8jML]>:"?=kO[&*A$j@,.> +-QhoODD}#ֶ+Fp#Z[uz_8, B-x mz B-)yrH=|l΂.,7DtI"]S:v+UߪOrK`h,WV#hpa0^ߠOoK#~T_^6mYH*I& ѡ56]x%@ $߈P +ޗRKJ B+)`ImDM[ ;t֗ZM[/Ntm"HS^O_O$0D<0DfWRmaFi %{xA~,zI7~}.?c#>EJJa & +<ץmR +Uk*T~q_} sqK(qe9*I6J .e9T _Pit<&P&PO=|qX?O,&$t }BǺ_f=#>, Aa#I}yI03_ǫ|l)o,EAl?Tq)KZQ'A&\/a~ 0z@oKC TU D}u,0@t-0[SZqA f.xץZ 30u<%_.Xaտp\U/Ab0xI#=0*) $g&RbuoA{z o&?z_ ?aZ/)An( VJ+Z[_[~ WPמ0zJ*EDi A&)+uPָA *K8(Cs zK Kq$AyOA +?lr҈A +1ZW4mR_Voe8H%Z[H%ZkJI, ̏綒[}9&SE"}4RW ?THO֖A"~i+$EsSGK!m&ÅMjA$I8zafcL4$c t" :JA@ ҇I$ǥI1t8- &|›td* NpoH2>CX po%A/@i$)z TK)t!PZq 8ZLH9p| 1;  LZ@ IIaL& 'H uƒ@ }!  ePxHp ): `ȰARupBBA$e'N*K PІ `RZ0A#A @ $DhD -& DHD !A .FH!B! T"AbDDF"#l0rOVJ&UuD*&$<; : ZGzH뎨c8pνi.)Cal)#I6ͦ(iʯ @ѭ0dl$6rGWqqwUp pWqi`Ϩ7z 6#]]h): +TgM45X"Vά:gM4?p#_]h=p6yE7nIC iW[fP*g@ϥY1> 6ۦ_ \ z_l}Hh֘~mtnۣ^CMa_6}hN ߤm%OZޞ)􍤣΢$h Ik_BS#4@mEH`c! &!%6P2}$-ʵz aJ~( Ks89:E#QckZ߽Z^rN/5KZr}i:5ny'!OMfhG>}Ι[(71HNskFI~[(71HNs2+J./ +k:4^jhP@-T5_2xyZDKoTK<<-"]%h8ۄG_UIV)?66Knpb*>SKK3@{ W@>I ?0T n۫HG2 ?QJ^JaN#Uig1ypjA BzX4R+F_,KG0 16aVz^lD +KKM&l I%]%$KmIVM4C!I~QmU֘?6m6oBI__iiNH6!$WOm4 )iK}=ZMo#4؄ah +cҶcUAA/N 7ǥmUײkk>GJ .e8-Y`tVi|tp?O ~{ D$tHϼ#L4~?BH" #>%b)9/ |=X3J|~t_ kB  0z- @?fA<. )<$`ˡ_AmG~K?F{"A\U/~6BF{"A\U/kPjΏA0B6ս X`kZJWYBH$%nu/Wa ֪4A UF8kTuZ.sKAƒw R3F)jCDjV_ _Hb^GqTߜj:_ _ ,oo i| Dvn%oc@iGi6 }[&֭ @&MۈބI׊UAi6?ߴ MI6oH6a釒cL=+H6a0PM]]+_H6aCഃI#_R5 (t?IIL0sZF 8A7 +-&E"RA po%W +B i"aI8A7Pa0i$ B  6 KXA o&u 8 A`҂ HA㰈 h x@hHoXXA v0@A^4ꄐ"BuZD##BV D (DDDDDP_?]BI0)F" h庰`AN򶌍xppȮjGgjG`HMQ:;D"&3"6Rd|fw' (lDnL3=eM d.p06 yFJ nSL &&\4BUM ٫ &8mh2 2ᢙF5t4ݧ CͲUg $"s$s: +@a9t"c۟CL0 9ؾ-iUF0ÅS[˂zM2U7tPOL$v;^΋D}G! m_nLVu\tC!zKΙ=77? a(G|/%{M?0#>z_XKKI=&K/!M?$6rBS#on5InRޒiJ_'jMƿ/jڷ*?HZZ1JbֈjKCA)L=:(q,Nοqi'XgF$pЩMat5>q_m$hکЧ.?@hThAYH<^t>4\KzW 9d5uϭtMtS~/o8b.HEA0@G8e #ߜIŚov_'R'8bSAa G ˟C+8oI|WZ^UO8ץ_ǥ*Vd|W_5i?kY_UxBdT?#Y/5t%WQh"?תWwI[k( t#$U*N+mR᯲D}A<: *ʙKR'f "Z_^u(A@kGê_IR~ "X "<)hXGzD UViפT8G(v?@_K: JۏtizL0a-gŊI0+izMK-#@0C.{m !4ͭb-/I`Ie=tב5`m{3,g$, el`">^G(a /}<=!e aD}d\0z^(\BZC\uFuY  2_oKB ׯםz#`ìPK4_A k<(?g ~hAźčCCpci^puAwZH KK--X\6_-,}//׿4A{S,뤕H_너.UEB>n6/DA Z4m-&W%9t ֙@\idڷ-}:/OD}Z\id׺K&mj  SӥFޖw׈ _Ɲ*5m[_KA)Z~ZM(Gh H1sI%_[J-h"_Ai%]mm/KHD4aW  +)=g + + H+m?iZZ)#:/ƅ9zSzZA +ޞ+{*N|=8`/: mZA +3ӏ-/: ZkZZ]>4DD0Wp}}k A KOF\ ưbM- Aa#kd_{ EQe86Y*KL- X?mk ,|DGK BWu*\x"?C; E4u i y!^KPu?㰺H<SLZM| =i_|/H X &T΀- OoZ_>AA$`TwOZC-?Vʨm NZ, [*=/&nOAh_ A7./i6?GZ[pM+N~#]7/&&Xuim 6Ov&I&!+  >:M㤩/+  VZI0DII*7/BK B a`'TI$DI-H0IJI:W%Bx Ԓ[Ί@CI:  `&H'S&F*I$jJ]sĠ( i\ a E*AL2#P>H0zA75B `XelɃQkH0zh$ ȁRC-& 85aȰ- ik  @"8">HAB80B $E48AR&v G[@hp@$a$"NF1b#&"1ڄF#yh2B-"1nrσE3R#y:t&8duB!yC%C:cYòf{pȗXUPݑOm}A-:X&DQ7d5uwQh6٫iF%Q6))@vén#UF0piIE AI`A%=hp Zpie8 [{ @wZPͯ黦CkןpQD&Q6ޞBn胫nMUu9]lm<:UTWoh߶6*ͣУ|4L=&!F.*Kͣ4xb]Tӏ05 Hi&zXt],ywޗ^R3>bޖ9!'opa-IKΙ?*҂BCmI6$-/)MMz^!^'JzI#h 6J 􍤒MwS^uAzF\_ޕq8%<:-/J!?M~0!_QHzO!Y&W}"OkjKI*H" d5/車 CH/HbGD01ѭ Pe\Ez ~I$DOha"'*i/Kb,%XHʟá[~4D*h3|6t) KO,&LBN/> +/:~uBIťaZZ~qf؄^}D4*h!IN/HBM. )$U:px~ +7 ZiHCU)p QHNsuϭtO9-œosxJrBI(|8 P\ hD?B.0J5os_Zu8U7ֈY1m:aN* _KI98LIm#$҄Jt":?qH3ҝ%kKRUzA~E]Wүo%??t# nIWAi?֒ +rZ[u|/-W#5ǂ#I jH_GiKRT_-.K-%Ʃmh,W҄%^ޖz$5U%I%CqWK.%UNUޖ]z;:ӯI#Sޖ]N$'I0-K/ZI?便[B#0+G便[l}b-/I$zZU"=izMzfe b @,I?!$YC_(c,BI^__3~ ??,BI_iuϯ]U#zh AޒWZ YHϾcA%X YHϾ3^I$#,Ǥg[" ւ-.4@OE%Al?5Tt/>( {t$$ ӥFm3 U3 Izf`_گM,00u]{U_ZAB?TZ_ t_ +_p\U/?Bp4\U/ &U #KZAm* +YN AA Zֿt@aZruBF. +ZG t@']=0AiyK +t|xK +uyqyV/zq\AtHs`]zc_%G_F_pW PQ%*AU_Npce:Bmk ,?r>ޫ_R(m굳XLcʄm?K@; ET"?_]o4?[Mko@ƖT_?,/![/K˵Q\*:+]ICH6aR&A֗ ߊ?}p < k&F/ !C|tם Қi\ K ȃ)s +B ҇ \|OIqIFjJ iATii{jNMEu~UNMVZHvLbڤK2 K}'&ɃQA@Lp, 0` ` +xq 685A0i` 8A0<AC`a K 8a H |4 *[ #h $Fk@A4?HЌ$kA!j *"5 R b""""""""(!ɹ+"Tv(R2RW5(g\""L(pιKFF"}ÆuDI(ȗ6ͦ8lٴÆ@U("!ȔMiPl64ݒ  +PWfTl*AIf *mpWqwUVs5[{ I oaB*iOZ$\(BIBG*23k3#Dޞ;N7!F*zoRfV*<4=#ֺI[mRޗi7 /Ϩzx 6(Iz[~L?K6uE}d`+qi0/oސAzFZA#i"ORB:(yGY􍤣4HzO'$HM0q>u}Dhi:i$c!:$-PI$c!CD_ )S#a' "T Yez#d j$^BJ)r4LBN,LzR}i7zP&o RR}i35G]"=9ΥI=_XMߠҡ)ts|8 P_0AZQZ zIP@z4*fO[Kz7ZDKoQSַJ=)[pl3U":?#AT4UuIuH^ҟ98*]DT}#ֺ[z KnQD[u|F5$I_+ƴ/QD^UT^+AbNZDiBt]iH*K.5i6]Y&wh/6]y8+`wҭOϥm*l_]/| I|Փ_YCbJ5H6!$U]aFi %Al1+рk]+m:tZV uKa,qcFGƅ/҆K)׮zAO`V/I?}z_h$t rʦtKI033_u I|l) a=WAxH$9CZYO |=gzJLRVo5 1I[zްW K UFʽkˡ UGk\VZ__H%ZeBKotm/ V=SD$O5[~Km-\ DS_ֹB*gz_gi+K$1HuXm/KAm-᥺_l0lAK ۥ/0uejmgr *ߒ=k> + 8ӆ}D/}\Hk?za oK;DN l:UGڴZ䊾\~U_\uPԐ@/HKt׽._~D F_oo~鲔RY*S#PHʄGE::$-T&>VAH!%6t 2^ߥ z 8f"pY #,. X:/ez#dij$^UʜE~z--?8EBN/A|~ >@Ч._`%(֜\S@4.}k]!TʅG]"=9RVϭtMtK"kF 1HNss뮲T8&]'9.0׈Pg؄RߜIߪWB-=$( P_=P +t_0}>sE:aN*5_C/ =Rt\*`H?VzD_KJt":UH0|zZOO8WKK|"8(T[pCAۍ]$H[ @t}tKޔiuP@q}$DtF5$[z KnO5PH ߏG#Gb\kKejamYUPD:opei: Nb/oKAb~N +1$}%I/SR+ץ_ӭ:ӯI#Sޖ]j @A&ΨtuY^D P~ւ ~aY+"E$O_\?KJUN9& z_ׯ_Ur}/Az/E@gI+GZA=!e a/şOXAx~lBI_ϧ_ aYaqP Ai~^ߠD{_}i[l1/]=*tJGJk4_A u]lƅ/҆Ko}[ $_?9^Ρ ,KKsD'\/ .rz[h_넒J_=?zF}}9)I]l4 _Z.r63XfDL4o#]}Wnj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_[/j 6Uei[a\U^/ _$`em[WK #KZAm*h!G | F{"q\U/ֿm[[J< Z = xkA%:/)A}x@/m&A0B}b+['_ޒ_[I-gL_?9k$b_k)AuI~ʽ_GIm:8 +N^]A +?6_i?%[z___h$9DԴqim[M/ i/^Bp Mk.>{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#SirDܡDOe"t8B"npn[<"nP;?E\ G7(HԴ'Mb"GRȫ +c}Qya"GE;4Y,E5b61L2 v0A1q ^}.>m bAmA7-|e;).)~ +{o KP>$6&}GTuG}:F"ETqg7diG}d=Df}>><=Gz#U|&O( I3C9#8q|蓴I$.ňVt48\cc8ڄKA'o"$3kmEsS668a9}G"(p#갊MPfsuY 6qFZ>E[8uGڑ>>'Ď 7FכX G~hl]uXiGcF1ROx""#לXb8E//|8 GX""."U#""-.":PX덶(S!!HC 6DUh6vf܈ #%`}Uzw`yQJuG";<)9 P莏\ͨ"@ Gfhc#sc I":mTmP!#D}>yhŐ}<#kpΈT}gH":!uNjЈcoEq[#xD0pr1؎"1C[=.Ä\x'r\% agvBs8ccx''JPVv&%ƿWa{h$""l]:0$|FJYbshv +0gu@GtCϧ>>6gGG}3G}Qad4}YuYvtZ#ZyZ,xFH#zg>!}&Јb8v c86(!|DDG8WzǡϫV[Xc k׋k⾩- {m֐gci8m/ttv]r_lkuKgJ" #(g#Mm֫I$ma [IG}tq4L%A:#H/ͣ>}idv~M2;ĤtG2>gө#":0 .p>:(hFMG }Ggւ6DDqlqD|i-0}'u8DGqq v8DDqWqp#LouNvi8h: +6(f'x z&'%ߺԟO3$mi&pjm$j߄ #gh4-l˙";SϪ8N(jm+0Smd Yl}=YG"F{KS:&>>Hڵ6KRBlڶ &$L]o䐰#?й>B1a1M;b1a)A}0f?LSa81 +qHlA+a ubm!HCn- l[ap wAAiX9"e*"V2A+i!jv!iP`n +vGJMAϥ2N}n@QGTG9LO5#hfo>>iD"ȄTyfDt]Q}di9YΨ>GL":(Jm4}+>Ϭ>Fk6"#""""#b"8Pp#"8ň0shuDEoaXw۱ƂB_m?M Nm -vYϢ3 nyMDP"#$FXG~qfM"TAGi!# W86?ЈE#7B:ZR 1LٷaX}Mfh[@*CűE#*ՍmmvP΁jBG>Bhf2n)VdgfG#UEaah:a}C$"4}_DDDDXB" }0DD-": zeaM‘uGTuG(A#h)g>;IQЈG DDlb,X.K"3DaQ}}+'8Ҭ;XGTuG4@؈2"""cng""#@*>>:eJDuGT}G}\DDDD}Dep\ɱ" +.V}&8fH2; @hEIR"+hXlPNahFJ|2)H8dw5pμ3^J█ڃRv JPi[E$dU06E 3** xl2aC f6K'){a Ft Ve'f:UMd@gPςd T&-:Ni^TRO.zS +bֽ̡a2(-k4UAR} 52( E[va'UAX>GSꪺn黦PdUu9]lm?GZ.uLMlKhccW2aѿmmh܁jh |j sho+`^7^5 eN&r }8jFe)#jm2x0ttSg&uU_H %lꭇ쪏SV}}*ȯUzWu$#(r)BRB: #i-5osT/`]lTE!_Q"S#l 3uM?6~I!_IO#BUX!h" d4QI$wq@ð>CQ8GY\=hj,pEEֈk1s$DOIP D<6yul pP -4ETSZZ~qf؄^=-?8EnPC$ێ5ZD M>.}&^Dץ}k]!TEG]"=9I8 j.S{u?XV)A)Ss"~s.#_ +kI/=Is_KK^:}'њz{bD01S\t$z/aY>m "80}cyV/UH0|zD +_KI8פLKpNۄG^C(?Kaa +H0I/J8]$H[PH5Y0 +뮗a u8 ~<IGKF5$_׏GA`ImkXKI4oaEB?UeM'/0H 6g$BŔ1(c/,yz/DgI+9sh}?# gzGVKD?%xB ׅB/oKD ?% -:=%a?ňJk4_IPH$/QwJ.ϰxVEJ$F=I'T $_>b=':+ˤzPп $DA pI]kG YHϼ}"+#WZPD">ZG@Q:G@aAG:/OD} _AGNA_1#LF9?_oAWAa&Oyl:UGImoXVGPFֿik_-R?}u  +_u< Z SABS#A]Д-ֹ_]A]'XE(CU73c]n[t\$[xk A0o~Dyfj%~0uVㄭ!:, Dvim L:܆qIXN I* -./?m,$iix6 K&~zaOk T!I :*zM#/I=1KރaVZa& \ h "'&2"z\t.x aiq&?) +iA>5IFjJu K_d(L4A )o%Abr&^! b j 0`Ça &]cj 0` ,pa0~GJXh5C@L]ސ"Jp4Lh4 *֕PB8 KaP UwI!jPA%i*AB@R b)hAA""0!(*6DDDDDDDDDDPB"1w-(-?n~̐rLUd1"TJF+Y<ԡԡrDb*h%'&&g@Vz݃%Cu"#j kXabayHDnf*E2jL"s 6ͦ)CapEÇۆD6v-pqD5uvJ:ed"ntEvA#WWua 6mwuwt@npWlZt] &H wZLtk )D˅ & +u +)Ph)>lm<|wD[wLm=/ :pPF? =?SD# zL:R)!| Q +tzMB]T֕yL_[iNI̭U i4&DԻoK__asYMƋuaIޕqzAI%+57IG[%?n>Jo6&靸鲔RɯSצPHT4ǤWI&ҽ'FW#BDkA`c!}BVAH!%6C }ni'lBΜZq,Tu#Ӝ??3EG]"=9^ߠҡ)qsI +B1)rH~:hD?B.0J5oUЋA{I#5 +0׏Tu'M&ЋB!‚ 5=qU8go/z"+HIm*` KITᜱ-C;L.=)[p$҄Jt":?#AT4b&[ZKT[p합_/o%Um]~)ӓKuEG qzL0U*]VR#-Wޗނ۫{Z^ޗ(Pn$M#Q5 +&Ze8_^ޖzj%Ʃmh,W҄╠^Ka[%Vzxc OzXAu$@W9:D WzXAu L/׭& (o lD_D@Va@26ҭGo5ͯ_]/| I|ד 2 GiV*Ԭ?!$\E1?$U,{ KbJKaGPƖlBI_(":>/ FP/@-:D~:Z +m:_~d*r:  ҶcK=K8tcBCaהkχYe8K % _Yʺ_>?AW/J4Bu ˆqL6?Z +M8=?zF}TDA%X YHϾ3__3P"? &F}񲜤zB!.KA$HϾ}"+#r +?-:aHz疟΋eNa/IsK2$$a_'MG %f. aˤ30/_/ H ˯YZh$`φ˯*#5-KZAm*N[{+ʡu_I#=0*_HdK+koӏBS +Z(2>#ZOv7[(hej`2*ToOO${I3|%iE!FZL_F&boc${I3|}mOSL$mtֿy:B z_R#a0=M0a-I7Ť+fAtL?K$^F lUG^ ~Of~D F_?p􍤂?N~GY􍤣O.='7=^4ǤF?$h I}& i$!?IMCI<}/ )k/1BJl2^G&H<|=jFdʉSWGZ!"T򅲽I/*%O}BE~KZqiCWbG>4R}i>m%JQϭ8opBiP>&ru8"~ʥ1)pOH& 1HNs:MFj(aU& +0NspC xe}e_m3PC xAoz+HIm I"]% 3$K}s T"]%󨩀kg0-/aPim#$&4":#AT4ncIޔiP%z2(DzP%q8*]VLNP +-QJ{Z^ޗ(PnB h0dCHN\;*~ )"۫ۜE$/ )"۫i ,Wi{z_L B-("?$^Vzf> 0D^  0+OD{+AbCJX_ KOJXI"u^K.A ѡ5 M^؊Ga@=^K. ֺ^A~iVׄ-&'*kl&ҭ*$IIYj}t&ҭ^O c^:_fW_M֟ƔklBI^ibJA^:_fW_D{_}i[l1/~WsS+m:?%"=h/ƅ/҆K?Bcz (l4 IP6]d_/K~AzW9M}c?XH&$M)_N_A7Op?AI03KT*& &F}$ #>>莶_3P"? &F}񲜤zY |=RP7b) fHZ |=WIQzeNa/IsK  lEkA3 O 6A3 _UGIm  lWHdL+pkAK$ȘWKނ $g&R~m5Ua3 +޵h Vg5E.J+Zh,W_%a$k4J+Z_s`H$%n}YB$bWPH$%n¶[}?9k$b_yt!*A_ U Tmސkˡ UGkA koA k\XA1 _.?i}J9m-\ DS_Ns ?T&TG DSDKKp MZ _V+fAryL xD PAryL nՠ +򟶽l?ؠdI2( .M;o( .M?m?V%I}ZXA AFvUl* #VK)i-#xh #;r+K$1Hu AAa{M?Am/ok iL4 .A-ep A M 0ž֗$";I.ㄭ! A MM A Mr1D{_,p@ &l/B$IK@ &maHHm$I'L> H6h/6L?G#A$Ir)m,B M>O0zL1$i6P<$һ9dR` I1&J t"FS"VqdImDJn&UtVy 3HhPιغ HW;D qFUxpιغ X䈃DV*"M3 +PEÆ80laT}G.pʒmL6Qpp46dG}LrmTE-EaPtVT +I]7iw +ΡNH (G"3"Uh$@UQ@Ltt foaoaFqB'Fl[(Ü@Xa9A.} ҶQ6ޟ2ӠzQA&b!폒< TBбF.*;t}^ۤ>jfV*t +bP5z_$f7wgAI,qS z_~ 6zqA~ߘQ䤒oB&m/Kmm&|&BS@_}F#Xj`I/HHE7I{zH/A#i"H#_B:k0 H6~nxiiIq&yFH*YL/:Fi7OMZ /cf$">$c!J>KҵR!"Hʙ*q rGv8f&H0(#@dSS^GЉ"bqlA?# <3r}iZ =9G> @FECWJq%ַtTu#Ӝ?M8C R#Ӝ I8g#)rYG΋ӫ$hB 5"?EE +0K=PC qԧ40 f,tA⩽M.zHImO C_u:tI| b/'_ -DuwOXIPim#_KnmgC@T؋A>:"?=kO[UgQWH$u%4a_P% +>!*6HG"?=j?o8^8 :OB5 +&&!D%번5 +&qt_R_!fa2 8 RG Σ^^>R+*~Z_╠^i @{~?Ka>zXAu4"T< M_C akl lG</5*a&EW/pV+ +K}-*"J}gTMJR'm*Y3MizuUJVGYUV :imMY?bJLYCAdAA3MI+6#4؄`D< ~f +uW-:9EJJa  +<ץmV8#V+>WFK>)gﲄ_z:8t&Pal46P OL//2[~k.ʍtA`A6 |MY^tC/0gzF}#], DpvI037 &F}>8_ǫ|l)o~9V- +$-( K |=bXE/ 1QsKC a˯ښӊ 3뇍zUA>. "<%}տp\U/EE < <$ȖWKz3}_7/ץ?aZq/)An( VJ+Z-4߂U|_i=a%l'YBALRV묡[pA&)+tM>[|7Ѝ,DKq( M?oIPA2!m__zXa)+  R3"[$1H[I| #;Vl t|tp ?^-M7 o,AK/Aa-{Xa0oa6, uX@&1ū~ @&ܠ1zMF%IBۄpAdxj;Mi7Ɓ]I7+_&mLMS@ &mRoIKAi6~{M4'L4ү4i6G:8$i6MjA$IBa8L?l &Lo-.aHA:PZw)1A:P*La ä$ (t6$E`ഃ ? T1~io""d* `I 4 + BhI8A7B,zY'H2=T Ih?ө 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$MMA(`^Ai64i6y&<$һI$i6aaV!m&c =&„~kYH t_IIL0sZF ސd* QI+ `I ~d* Q&!+Iz0A$G&@! `A!oA04] AZL!xp@ @AZ `0ZBPv0@AZ$UBF|7BXC  $!T$ @M"Q+J"BE"""""(,G8|~dTp)S!Dv_+C%C:vVFvO+"MyFdiJGAJNr)rXC pRa"}7 iiVIl2f{pʢ {)Capl6 3YJ +UET a ecWLMn$jNݒ]0d 7iËAB*0e@*6@>If *o\fh'}wZLtk +}!D@ Z9Z*9QFI Qi 'Ͳ6V8lUMm2Z.uLPGSꪛe p T;s +c)NJ&nIHQ +AZ_mHx5^{Gp0@|~/5.kߥY#4L&A{^&ۤ>[tvK"[N'h!zU]m%:Y:I׽,Q UkRB:-nnt!ICHW:U {)DJy$t[M?o jME'__ *"Ď eZ_ۯpjQ &RáIz^' sb,/ez#d KK^'^M?:SD$&!SD}y BPKuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?]u1?0tSq?8aY>mN9tA0tM:"FtK/ ?jkK(LIm#KIqKICA)eF7ePu/KK(a/Jҭ@UV U~{:EG 28q~P6+/x"?Ze:B#$U-'O$^#Q<}{Z^]za= 4G^^4^DA T">nK})1@K?:#: J", R)i:ӯI"~}N + KKK Oӥ#w.Z^Go-J!XKh[欟Ka'~6t@ (cKe I+G]2^y𐲆0/k/ϧ tKBAl1.! +/#Wֺ_-x_G-I]%:]d[%H _kχY9DiDz,h]?[AW/IΊpA8^?}ߥ!:Km pI~Fc3CȺJaUP M/6S_D?Qj rnj#5UtpH͘F">/sKւ@I |迫Y]/j O%f.ثHB* / O_t ~A6d84?At_k^_Fֿ{[Vյ.q: aⵯs}W/)Akh/BSKKk-zqV+i%?=8`]?ئ)b/_/F{h$F\ >6]֗SUo}!.M5?OAqK?I|ym.= -Mq~M%Am%r2\[*, Dvoimmh ?4cM_ 4 *&_1 Z\HHêXERᅬCH6a$ +8Ԡ!L=+.]#/Ί & i_5 +B ҇K% &DNk>zE> H0 a^ "'<9dVKiuآ3]^ޖ `3+vLbCY&# IH^" $DJ+b be)n1R 5&[ÎL& *AB,pkH%'h1 # H-@KаXR00q $eV5 a54Fka !dRRj !hah!AF1ADDDDF"?lW5FU"Kr3v+jVtBlQ0la 8pl8V#}]݆q]^$h(h&4P>?ToO֓oVB~afV*J@h\6a oK.糠qaZSꕿItj$o6&IVT4Ǥ&KKi4IMCIzMuv&T"Ta ^zJQϭ8MB$\VnJG9W7j]$( P^LYӂ(pFսBGGsG#H> ,>yGTG@GѐR>#uM 5 /# O6V}b8A?[cWG,:@!m̂@cua[l' 'NۿO`E4h>>–$fl<T6>gC'!^q#>)5$|hHD4pO9[Hc{H$&."l~F2z[?i^M 06#h:'V<&@IuD9P:}G}G_;w0a=FDD\%,|ſ>W>q|DDF;DNv":V#b"8Ј -Kyg!"DK3ݚR2D2C鰂"3lt}Y# #9FiJ]wg@q6yQ4M"+8AŠr C7q8 C8BY#"Io!y)ݜH X}8 #PaqlR ln7q cƅw0~cұ~dP3vdL dI%-o; #>%ꏣꏠAqdfESϭ8L8h`r1n}A>8ɺ6EC@s+iM䏮7XGDDqd1 lx\!^#kGlDB8.=C ĄD"#H=!Ɓc=N.Pg?!3<"*V DF.!lVڶ9tIoQlEkR:ISdi6ddHwМO#Q0f }<#ȄNyPDv}"]D(DtNA>D}a":)yTm)}U ꏣW#L/DIфtAͬ>N}H(p QЈGEBb"""8؍Dh~8":~] D'GK~t=GI*B BŎ*)~z˲첄ixA7~~>޾ޓxIpF^]Lf4"B":66NśZGGELGuDm\IC<Y}WDuM Dv")mSgy%Gmg(p.ظF@ 'Z'Ql]ZqqJ,Abh6#l(uu ^-QIǭE..Ňl:n.}T=inwt-ު6 ׵mR캠E8"?rdv}CRV;HT;kSD `\yQG #8.a,>7yX#:#>uL3Ϧ1ٚ΋ki}(FB#чAlA`er8W{eb}'"$ =8SjpACiu80A2;)bAX/-)1aňV0bh1ŋlP\4QXAj~et"""4KE|!a8ꐈ{`Riz'>X"+Ԯ?y^W #=MGGGq!}G=G}@y*)M,>7PDqODDDDDDEDF +"8#""""""#mc">#i^v]RMun(twg Tqj0,H#J泳E#d"#6FG؎\/qqE@1qQWлwLb*c cQ +"U^qu(LRMU%;u@MITvꥎȅ#>::EZ<ǦyQ})TDD[qDDDDDAqҠ&DEE` @T}`dvD}g EZ#>seB.#"8 uĎͶ'M #TA^WdtFߣQCN"4+#"""?#:- h::aGՐ4uH5#}&qLhEFdB 1bc5 x8dW5"7R5r22[3 גȥ6̣%Nm+e Gd3pۆU0ϲ +UeT2'p6v2[9JHFz0]iLvj部DnݦN +$6}A.]0di7l:"%LZt)8lRXC Q;5ͳC@PftwFe8 P 1kLuwFkoay>=oϯA LU]7t(m2u BGSꪛ!*ۺem"?Se8Uw!ejͣ~ۤۤ?᳹0tVc$~m#zP&ӆQ0#,'ޓzZI9 S:?|$rV>&&/UWۥmIz^}UQAj^"U^uԐJ 􍤴տ OڼY}6RAIrk\3u?蓴IڢNiծ7HW}",H落jo : ~Eϡ/EgS}%_ֈjh2 YZ\:h")*zL?򅲽yVm yTKANM! + +}BM?5!SD$Ao]?xVuϭt!I5e Zt&fG9I"& [~isKSq +IS9Is"Ћ ^B!pp@]$r#AzWB/JEb8H"0t`cS+83yS Koi}8qCr;>B"B"F:Ak RZO yƽ-$҄Jt":BZK֗^t*#/JҭTVRs7$DtZOcPExDKKKoAim?(AX_GD"I0_I.IR~pD"K$--њ(xcK _GT'UA&ΈtuY^GzD RD P:fzI%UNUޖ]}ll? q0 +_]zƗlDDD!I鳑XKI4>`ImkXKh`wҭ(HGʬ.ֿ_4&o e b >y𐲆4PXӟ6(":_zU`Id="P!@!!@ _~:_}>e8hH _EtK8u6}Ҳ-痿__ I//U }xzNtW/Pп $DA pI~Dc3CBJaDt]ga5?%6As}'@Q΋SaHzi:j8oW4 }#a<<" tj 6*?_گ aˮ?$Yb":Ko͡1GPFֿBp4\U/{_A muu5ξޖίG A`u Hx@Dk)[s.$uu}DygeNz`]=8|xK +u%¶[}?m{_S +\ UoG_W 3A%?m[]lR .t8PEΧQsZh S^U %:㰸~Q"__`F _*","''V2ͨT.HӇP„{ : +U *luAOD0Ƞ4T+n$h(h)ʛ_ToOMtBT4M2JsD# +h5!ik> +/NȊU i4ߒ=k +"5# v-&fBH0۬!5 66Ck~x 6b_Ҽs[n-&dSk糜RC t&>sYF 4ȀVaZSꕳ*O&􍤣43}ޕh ߤm%:M:QE?FA#i/lle~ |+m+$h IMzO.='7=^4H!%6t }ou_ߚ+ ӋJ9ҡ)qsB?LaDzs!I8~o*4aDzs~9:a=$( P^=PyHo I"ЈpC xe}Ԅʿh/a$fA^a_xaꕤKu0 k}`4nqU8gDKoq}ZDKo/ L_ꗰDpP4*+S3zIjKn9 #9i{G +Kni%0%AޔiuQZM&m*`[&T|a7?r@*]RAE(2BU*RD[uy$PDۜGB%L=/ejamu.k*aWi{z_L B- +$U1R6E9s쪽(P{{))Z 4%jXh,WW?[{{))Z 雔H0&0t6= ~aה_"A"b JI qL/"}^K.A ѡ5 M Jy>`L>0+Uʬ;+Okk6oxAn)rn^:_fW_ᆜGPƖlBI_(":<%XAx~lBI^}7Z~GQFi +m:_dhQ9[l1`GAzG-֕R\w99ҶBCaהk=p(AZXI-(l4JȿU֗4)~6]%~p-/_u ˆq $tGE{:8AzW9M}c?XH&庰@$ir7BZ &F}}9)I]l5AI03KȄT* c[9A&Y/l# |=WIQeNa/I/ey&f/1~ 0/0fj_֚ 3@uZDtf A f. xZ$`Ua3޵ONI#=8*h!O F{"a\U/ȇZ o\$Do[i5%a~ׯ'KB/ +ֿ]_M X`kVzKK\RA0V̓XA }e +dWA&)+uۙso5 1I[_P ,חBA6_Kג`A +?gKm^]A +?/|/ [KUm.QsH%Z.)v-H%ZH+ij'"nHhI~[Iz_ZA5_ ?m.W'eԑB#_+a[pA\S?/D4+V I}NPA2 Ka&K#_ ح, #;uzZgz_QZia)&0=[9. .A-yCMg?AKag?Am,_Gq^AAAX@A#c@ 1@A# Kh 1=+H Dve9 0 @ ) ix@TX6M&_ޖ Itib$$X6M _""")7:P  B M 0L< Il=1 ay= 0 ͨPAE/ 6A:PഃIi1?@ ҇K% &Dk>g.l4$ ACazsLxIһ +A~,z NMJQ_ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆD*H^`@ Xh5CA bAHa$0@ 1 Et +["H& H 'A HqK `0@A$-BjYA0D`AVI}P-@t +B>؁ DD|h1h "CBq+"""""(,FaDF8L,sZ%HDFoyآ%K 띉" yYJ3wL3Kck*A8ϝ +}B/ߚ+ ӋJ"=9+?LaDzs5&W7_{~JG9W7 5"( P_xFj(aU&-Tᜱ-umC^zi-T$t% -DuʬկHDpP4֒^ nzU*]lDzƯ/KzS'@U ȭj۫ۜG)5 +&_+ƴ/QD^F*`,W$JXPӯe,]/oe?+Ab3rZ (Au툡i%UAu푰VM_{h/6]|%>CJw5-"hm* \ JƼ JMPƖlBI^A >#4؄/:H +[l10.*+рk#ߎJaz6}IiCao}YAPcBCa_z|6>$toˆ}_N_A7O#>ߐ=Ixn6S^"?C5#agޗU^\L>x+xKI>W4 )% 0zmoXlxy%_Zh$`φ˧%_tAA>. x_NI#=,*ޖH-o$ȖWK!V% ~SV!ZkM +֬+u}e ^H$%no}Wo5 1I[_A!*6ּzHK5Є@c.A*{i-zIk_h$$t M7_BHkyL !Ј O)i{jiuh <rܛI4AȆw_ت`|a&D4 _ﴩ[$1H'tح, #;* CM \0kXbAm,_ Dvo+Vܬ ##._ҰGi6j/i6)7Ai6"I cBEhA$Mi6Il 0KH0.O0zL1$i6j0tc!i/5 ZA5%Ma<9dQ`  P Ai \A '&ZLD @aȃ w V1 X$ pk H@+L& CH h8 / 5 a0`&>$eVV ` ([ lAE!L` +oGuPL& X-ХAb""86@^:b[VLGt[2vJ)H>s#QO3>PBC!TwVK\pDuDȄEQDN~!y%06? d[3j'{Y8AA~p gWYQa?&t_~T&ҿˆQqKeE46I}&E1J{lr?%k'YB^Y_ڥ(_áKC]-.am$uED B/]6y:i~P_`%8i#`נ:!SDxњ_)A _Kri:tʙ_.V#_IR~qlW_,Es%-/υh"Z %X]ViפT:9_a h#z_vuM"kC_ǹ.Z^GKr߯ 0Ah |2M~/4 +K K@/ (c-'Y  2o}GϫKimх~:Z KB JKDl6u__|+/kS +_~H ZN>u_OX۞sD'\/P?-$AiBH_ |H׿4A[KoLuKm p@V yo?_#ڷ:?ޯhdfSK:?:Gauu5wϪ/z[ V?_))@zV_c6zA[s/6e_KKl mKHD4J"UR0W.Oxz_ ƄԱ. ]mKH A^s窐_㲖m ~o5Y *KΊ_Ao3ӏ/bZZ]}tC#/yu곗jl+ >/p i [j@) +mc|׮l4mu_iPt=_k(_2\6/m-_iH<a/ZA޴]l>vb*g@i2 9辖CB.4K_49:Cï5վ+oǝG!6i6KMl>u0Z^>Ɠi)ϭ-a&L0NV0k1_NDoJ]_ܬ0AIiZx(A +_=+mK!Dx__ߠD݈N + BEL4ߤXA I5 Ԓ[V!4w+ XEAIH0I,"@C( 09W` O#RZdPd0urLAAM"2(`&ׄEt}  +U0zQ[h1 5Kit8cJaA&u G ȃt]CK>{ Ai8z2%tH%i*[Ak +@ a DtD  +`/h; +u]0di7i!Xia6~:Dnʎ]0di7inBxP&Q 0Tk ;.34 p:"( 0ŭ3Ѩ5e8K.34 p:"(g;aZg;Pk] ޵PXF -M7t_F ++e\eOn6נ:5I#եNMB4A>q~NhѪI?@Th:gF$pЩMatZi\MU{).}&Q:)O. &LKy'E?. &HC2uϭtMzMQ9(KQ{*_H9hE,3~/ePkߜIœoT8C'99a+L:1>UN*DdK:aN*Dd!XP>qU0tMA/+5k䜾VZ^IO8ץ"?KS^%Wz]$S^~IU +A[E:61WP"nKI$P Dt@7IGKGa"?|9r ҭM쩞t%IEri:AZS<"9r ҭM쩞t/_IR}hH0R?K:՜pcU%I%Cl8DxRб:ӯI"}l8DxRб*:ӯI"qKL P.^"n|XOM0$_.߆gŊZ^Gz~"=@bi=4| +Z^GH Z/^| (cPZG~=!e aD}_PP3~P]2KmRK_XnKP!@tKB ׭vK ~@WGz_YkUׯ|$?][* f$-iimZK8( $A>l4#KIZX^/8 +I:-$AiG(\%z[~;*rt"Z Aץ㲧(YB\$At ZKoeNPWDKA! ZEU PECD~t]_@aƖH :?ZLsSaY "5?Aa#6a(n}0YM :Tk?/Vv _Ɲ*5u_& ZU8k~_ZM(Gj K!.KI| oe_AB?CAAm,,K A]e:t_ + + MK(\G t_ + + kK A]e:< ^Smǃ[Z pA: KΈ$z uҽ A KΈ$]+Pu?~NKjl" +p >/K}hpK/K}h.`:8 +KKjEk \.q%l4KjEkQs-sad_{ ESe8EaƩ#i~8G#8.RSm/^?㰺H<UM/qKG|a&T΀տ/ @oKj k%ǥ[Ʌ]? OҶUG?[*\T?O]&T_OSZGoW#]7~"?UM _0WkTo-o:&II*7%M`'UIK1O _ZTAZM}&,"aҔ?}U,"a֓z?}G%>k I k&F!&I& HM"kXA01u^LLLi\j}sH: )$ QH2 qIDjJu iAAj0D1d(5=It -& +d@2 ;&DF iR D +2d 0XA2-T Y"ؽR D +2d 0 I~5X $T᠂`A0CU +0E@.48AF0a\4Li#hZF!Ha BX B)B4B;@hb""#B"""#B""#B"""#gEU]Q])Kuڔg9΃J9RC +S+u4d0qSG+b>6QD"(y\8۪32,lm 63وDk:֡eVȢ  0l f 8dY3 䯆ô4m 63mt*$Fn&mC>Qh6VM„0{ms FIH@M_"ht(MSPa?p}MpUF0a+I)D˅ t߷ +KUTj 60aE+.34 8e>æTrZy ͯH$':W瑫? +Ap 7f κUjVBaeaÌH$':W +kyN羴WgAAkAޝm=%mYPiw[kߤ>=ӑ8"Jz9b/ۯ< >Oh&?tg-nt?a_쎍9;3OT__#NrNLӜ_ ?[fiFHm!\0OpkoH~_Ăm{_%=za /uak^N6_1g kPˆQyI:1g u_p `zu_4_{lNuUB5.gBלYx6u +@80yőGgP^toANf#U-D?'LFΚtS߲K:kjOY ?E_]/hɅ:F7IFD__֨?K4 sUœ/eP 0ϭP~SN{<AtE<Ҫ_KSePu}*2=_d(h _~'YFH}tK:?NoG0K#W=?$#50K#WI0K#XEy.gDiBA _J?qi:A _K+^,:K(SmI.:YtPۏp-/ӭgg9YBK?>_w=tkcK.算IF!]~?^#H?_ _$U|2M~">a[a5_`A.!A.!հc">}__/XFG V_9׮kXq|k^}~5@8r5]RcnzZIc^f_]_i%L?-zRKK_pK_?mCָKԅOcKoZ*\idh/ԇD}.4@OB!疟C">Y "ǯΏ뷩@N_>O :Tk?!LsL ^}VA?t^}VAtt K!.ZYeP/_-/jz~Al24((1AD]cʲ]x@ʼ(cVUKBT(cVUKKΈ$=T/: /NYpkCiI_Aos\RK}zcZ_AW5)g?K_u^^AW6YRH]l4Aa gGRH]l4-RH]e QM2!u}_K\[)i%l + ozׯPE4u_z_3-rq 5KK [Km.V| `_KKVʨOKIQi~$.4K_JUMm-?Wm.I/yc:]_ziu&K+K_eZZ|WVֿY9%:5~°֌5opA}OIk /FkotD݈N IXA}O"m>"#@zWzM$`m>"#@zWzM05:A^anz=+LQG%h(h" &rm-mZZ6V8{ hZY7a z}Ffפf 1섈eg/쩮Q0lN-.\U[I[+M/)6H + =a 4"6P%7RlRPrZc?OXH0鋭Hy6p)|BtL&i}]iW6MǴv&>[otq>;DCh* a(G5E4VzB,h[ F_(~noD\zZ8I3_8Z&?o6{q=/I95Z_3~5Iվk_I1I$a )@i/Ii{_8 )_M!0 g\RE$痤^?^v'jfi'G6dhzW,MQ)G>҇6Jc=/q +:O"!?_K0MtG9W7NA58#=&#ۯ^ʡ8*e~D_G҅ +kz Ʌ@5l}u>)u(3>PvRg#N搩k]$tߪ^ ?TA?Vfw_#_/#EװU QT[pI/IF7nK_3kYn"%O%]#P*]RAE1ehp&;|"?r\~'tq}ߨg4GEiZD(PknB h0~ׯe(W[(A@kGïV#qlW^D?U-{.+Ab3rZ *ngb mӭ!ubs +KPAa/3_$Aue z\:D-?  !4_0m7r:_\S/I&ҭ!Oϥ5_?a/^PKa@C?O_H6!$Ką[+рkAGiEp_,7>ʝ==֔VQ\BJa{+рk_}:{w_-,r:Fuk]_ZPitQhU,<#-\6zuHBZǯ~R^? }//zu9׿Q7mKoV }>Z$L4 _Z Ayu:?߄?_"?a#:GA&T KAu?/ +u +r:}zZA>. xWZ^Z K@zV\H6A^^GYHdK+pk]/K}ii~Gi%iZZwc(ۮ_O X`kVzh/j1i:+ U ϯ1Z }-E?h}ZKqN Ukkt5 U5ZXK,% A_m9I~8%I/$O5IqK-(4~ZA޾z_bF ט@ :UX0Uhx$-BݤHq5$en4 ׸`%eTJ]RBB]SB:B#B#CH* A4#PT"k E""DGZb**&HYdP8DԷ'TtZD"&3?}jȄEQY/I8pι04Ig$B2Fs+yF"30fD~ QvÇ m!i!I`dNaٴe(l6l6l2MCn*ET8myPӶ 2A*Do ‹(@M_e' @"]]UB*(LZnl2MtT&O)79t"&0͗8AM„{ : +U?O鴧.2aqt۠<:u"@(.a6V8s +hpͯHL@oAp 7.m!N-.\U[Iߒ=k +&6+ki}l*΂M?I սEV9Iit?^OSL$mQgZ4>=׮>=?FI'!;K<)>}yőa:"?ֽ&*ӱ/Y0 C \w& 1HNs5Iѫ[\_AK89I8-dd~"/Q9(C[/ePE"^HB 5&ZKD_Q^.LVUe'x>-P"?ji Xi9ᇪV.T5(=(_g#O]&{<KQa?KݕYPD~}KK|"8(T[pCAXF4l/KIBZ//@ZޔiP%"2: K??LJCPNN0K/q/oKAREWEGA+ TZiiz?&6PmAi}ik=\4G_╠^K/<_DCH(O{(?Q}O9㥜X~ւ^fӭE^K./KVPI,:K9^-iqll? 鿜?U) K@_Uk|E/#lr:_񯜽/et~cBCaהk=q#M#+-b> xy"I kim%[J4Bu ˆq/]IOCӬz_H?L/, +B?_ z[}f@$ir/_?L0ȯ" 3&.==H_]G DYv@#2_ 玗Rץ疟C Mh/_NNGO_>=in  l.Ϥ3@/zA&E?8A?o:ϯ-o$ȘWK^A &UAH}a|9 _dHۮ_OKIA+ k|}h/c_EUD^I6oA~-IKz ~o5 1I[zUYrI:g9@P_/A^ifTq_A>! G?G.KUm./5 <ԁ(<W-"ᰏ$+Hk(_y[5Y +s΋ &T΀KKA?mzD| K` M N3M?V%I}OKʿ A\ӯSoKe_ح, #;u_=R]?7NaץWat 6k_@͗[曤:K&a o##_i^~okIRKit8cJaA& I8A6dPE~" $k5I+a,\%G} k %`Ă0H0`   .4N7; y+ khx AK#@E!LN0@AN ␃[^,X1^#A?H&"4ABP"CTSB:UDqL!I1ADDi#B""(!ج/KU +endstream +endobj +21 0 obj <>stream +x+*T04U0B C=SSB!9WA?37L%_!+) H!$Ѕr\C;O +endstream +endobj +22 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +23 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 89731/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY|pUG>_BAU  r!䅮dR#%յ[!zG$*:NW\{ +W_Ko5OI/͖l-&^A֓iuRѱI|_֝bq *5!qZ8ztxOM8 xbP-${ح&+mJ_P - .:KU]IhZ }%/i(Ԡ/-$޽Ϋo,$b:'_KcK,$IH*J~^I}^JKꖕ/B>aҤ/tv[zi$vKM[3H6L8d0C@@0 40)@a$Bo zhtD6eS;EMATvD"*͘h3^K" tau 0gX^y& C:g" n`pA]CN6 2,@56@lPݲm0el*F e&Mu +*l0BeT0LQP:gel3T2S(&Q a.@A*~iנVtQtExe>e(DWS in fCl#qŗI}$B4ԸL'Ϫ%'<'iB^B]h + mMly]D: + 6$/V XtOvP##O^hb\UضWgAA*EVޟ%|{~FNBy#oxG56q`HGE<ޓ.9"#ƸsL\v\sDFޗ AzSUl=oΨId^_r eүM/4K!}i$Keֿ(K.sςJ55PI _=$$ΓuĂ^`3zKK5/6WfJz^Ǥ"|Xqc $::uKNt&~I~]yޫͭ/^ 6 d5i6 !uI^8 TGd`1>K#E9_K#Rx(d"A'^3^qdGסJ3)YF*"?FۈO -(~*\E"N,Bcrhr8fi\YYts$C:ĒF3zt]x9#q~|=qxMχ0:|>uOejtU9AI&\d hE}uE9)ҏ1?=TMH 0Ozl.h/_KwDvx>.x>-}--H:5k:_C+O#ac' X0zO%a?2D* +C=E?&Xat{\_}ZZ^m+6 0_G'pN:̓BL? HFjlam&DuײA1_њ(_M/"/B ײF'PukAb`-ɣEGl?K9^-iqll?u~hXd ~dXbguz^N ^f g#{:?@9/f" #@ؖ||ïN(TAm^s|ïM*|98V~_hKүN~\I8M\RZh"$o]׋$-ԫ _X*#MXoIB_Wֿ}u +]:7K&!~!RG/8cVQ:ﱷ_R>FG#Ko!DGOߑA8"?~)~# @[X$_ C?i~ȏ]) +K9DŽ_y,oz[} _AI8]4/% ._ ?|z`xAZ ^ͥ(-5/u^![j_~?K-?H~o8 DU_ׯX Mh.?$Y/J ,L AU׍MץM.#D{x_As{PEߐ?eg x;Ƹ55/qʡVKWKuU( &Ai_YWDt-A1_U_k]2[_Aos$%_e?Yk4~aFY:kO%nEA>! /-P1)!-/[I +C)!pG[ڏ5 #-ˆWήyAl![J<Զtҏ5.k_~8W~Uf1~޷ʡ[KۧҞo/)IK?$q_K3Um;v?' o%GpE@\B Mߏ@I_?L*@v~ @  -)ޗzU)mxz_ m&e_>J qI&%oS Dvz^a(N !, >?b??:PAa}#ӏ&ov"0aZ]|D?Tp# K&䅤Ǥ߈K`o$$.z"й!$I/A 0i-xA0~ sab; padQ:LH,2%iӘ/UQ4KL (f%"&޴ Kigbqn_%Iu &VtH2(B `Yi/VI S[AV `oһ!da$¡h2AŊCfLZHZCA q688LB ]Q)`j0b# {C5AZD>FHi!,A axX5,$eh "8AA$&1#MP, ̝4"BhP CVӂA"""?Dv!iynq-@7Na,E"$ D0$ ;1ْyl e,a#TPƲ-Dt{0f[athrth}Æ/u 6q\漋i4f9ENᲫdUCgp%.l"$T|:ոLY 0S%HtۧPh"2M+ոUaIH:%(ۧP{o3L:#X}Qh*EyeQC)7I&0aEF +TeIn|.O鸺HR=?FA7?F.Ҫ^jM +_*Н4!BKL|{~FO"zb}& ҝoY/^oR${N~8~'AzSUwIoH4~DD7K BI-\0OBI/o#J55E4VzB,i$&A: 6&~ZDI?I$&0ɯ)~x@~D`gI >7D_DYKJQq/PDi6нBI& AzG/nsz'GNI_^qJIyzr5?`gt_B꒲&d"qs<&^O FsKC_9 J}Σ 0J:/ץlB,NEl tiC:ƌץ~fȏB/In4 '&K,G֍-&+=.Tqs{DN.Tqs%~eF#MF3GTu> 4qtqu/zu/3-(տP쌏Eנˤ.]PAq0ި ÞŪG&&T$|\_=tervPgЪNO|ZDm-GDpa/b"O#~1m@%NN^HKK/tSr HӬ W"?LJ?Z_ n"I}#iPH_#a2ih 0KJ_VF*`!zsDtV_zV07Q_L8M{(?QbH0f4҄S6PmARܚ4X#z_؏,8~SHxpeZZk L')׿sk:YqkKe{ag#_ 먆 /#}s|M\1! yl^Zo!tOy\)n+zWZS·/$}>ߤ~=/J9rܞ%K,rez]$>N[aticD}:{wI^>zat?Slu])?탎ƿ&8? x^_N> )M`zO3?* +yuֱH?L0VEd=/ UR.H?L/?} _A\ / D~~3_A+O a_Efx kfjC Mh%0^VK@ &.==H_ ` _. _ׯX Mh/?@$A^@$\^zYBk|/UH}" 5YeP?@.~/!>7W?L//$K$I^?@J"IY +\sGdl/.)?I(AI(A sGy:_8JRW8 ^a2}NL5]lS8g ,85y? |B +/e A!A~‡~s/~‡5 #_HߝbΏQ@$aerezW~UdQAUߑW~Uf1]5o (aA%]?^| %/=_ @p =At 4/"v/Ak8x'D%t6VZ,q5481I"%8lA,^ႯGCGA"A}0 ZGi$ +JЉ%4#taFFDE#CCB(!ЈDDDDܢ';`#)JKrt<._5=0T吩di楺`AlDQAf ЈDRgNF+Dg'(,Zx&4n10Pʧ *&u L&/((FT3 qgTVQ],-qL)(@њ"2J}Bf&"2A(E#NHl#qI;L>P 3Df3࠸H4A^hb\Ur4d(Ӟ-YPi B0oIsL|/R|:'hD{O^_bmlO}&Mno_> +eT0 ?IMWfpSL=/KK'5ʽ /տE}-.a/kCI!?AiCn"?B/8]6_z_k-#D$`2_Xg<1Dj/χ0Y57~V{ҋ$Y֗\^ʡ9"G8(Xou0߯1?TGkgG)>)r!+u 5kyKy/=-߯Mu&Xat{/@]__^'pN:̓BL? =/+jt8_\zxC+MD^iake$/IAQX7[83Nuz^NΠ}0{=/ 'G ]aKm,%HZ_D{ȷm?XlDa/*^rGY /l. /*MOF}WA߾(#T!,_F>G?,\4:@ y>NR:\-L]Mw? yK/ԇ玗~CQ'W]h< A{޶/[]ȏ xk?~zJE%k^?# +mLW(oK _v)د_AnaSY쥪[k_~_0/AlBe';' GkCBJMa-H--2=[9g^yzDtB noJzjPpGKaiOWR'ʏ_oReL -׭1X֘>A&A  -}_ -z[*:/A:L?WI&Xpw?|GI)Mc@տIa(,0oӏIKa(Oa1oӏv[!!sմå~["z&<$]\m4"pp`XdJ0Wa'\,a~`^ %V (M3F: +r +Un*l΁gz! lef2~g.4ʣ:EuˤQ'&Teah#Eo A(AyeQr1섈ˆ1mˇA*P]~] ҶͯHf + \8Aye*_둠# v/nz~Ų: + ;(jLL&yteWP+:|:ߤsL|{gK}v;Ui/1>XFn&lv* HJ`?Z"?]SˆW_ߤM-_[ttk?Ti{ĂB&گTZTߡƨ\k{huEuҜ1OM?%}zW(]%uQ֥8hG H}18 Wץ}_נ^uAyRtv8o>IF(Fz_"zVZ_`i?o֩0Z\b?`)XtI_[L?]ii|^ʡ:7Mf4Y?Fz98$D~\Ρ2a=_"H:GI7o|oTa2Ftt׮kAKK5k_I*EG!/` 3oTi[ H^K_Keh}eY-uh bgʫ=Q?h QuV#e:ey5k~co3^:]ioPze:eyK:+K--?K@_ 3 +!]__]D?͂t_fkFol5ZƔkM/?0?u _Z_%K,xKo4#[[^:i5ǷG`zO?9z_PTZ΢ r@_N#'U +yq.VGGc[K8#Z/=u-A}?]?Lϥ}:? Ab]k~ߓh/:ˆgKKB=o[Zm|{ׯmYBk?~G_(UH|QIuiZյ/2B|5y##`[r)uנ픵>PIZ ̓^_ئ+}\S"^"uz Km{ksҖ&0`_qk<ig&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*"R+#TW[`AlDmDfR0 eQDS<+HgivH ;6UlF"26-2mP$&,fT[>qeͲظ}>g %Qʳ +z:L8Qy^F2v4 -WË]%7 rEjy8&v1ok0:*[I0wP_7։tv;_h^r /T 2*ѫz ,pF@_!)28-!h迷w^9. +ʵH/eZ*4Qz! -.a !h"кIWN#XQua_ zHHQ8]CЧ%"A1r NB_qJT躏LBOT?}(eP^D"?#;/ҟCUrq/>\QNKA!/Z_MaӮJ?j޿p@i$sHGFAta齃ihn#K J>$gIJi:WStz_ EۚF]H0ai|CԫYDI$a?,7XE:۞ D&aָ0T0׵A_z 5_Ď|~\ o_M.c} aw__zSm7]Mrjd=mWy:/' Puu,__][{_m[kkƖ`4ڷm[^׭.ZKtʿ/-{ :ئ+bAn[j'_ӝTWa3'1 ;AdkIn_5]CN )횠p漋ilZa&q;l*Q;nBID. *6HHL7NFmPi 6i7P&CWb )#EE>CH t DDA0]$hTS4|e;!#[m}Hip0s.Y$@oݿ0eˤΠ^P:0n&e%JbgBN-.\U[mHl!H[+kiRIť oԈǢ]k΄؟D a5!%>=թ 6$x[ѨǺ}P9 ->;D^F-, ^ӞWg_N pXO>Vj6:}/Ju?O ޖ{+Nt\ +jC򅤒I~X? jl 6-YjC򅤒_ _=!&hCƶVUHI|)%$$yeju`fiO$I _omR+*ʵz }?нBInse:6Q\vB $NcVApZ\Ԍ/*"оʰ9 J&Ž8RoK]RWZ7oS4Rz΅>yEJyŒʛCjL /?^Y"? +}B3^KKKP}z_G,.TqsiB_#VtLgUts镞_!.ZoɄRFG"ԗl+AN=~s\J:qE:_p"i6*Ӳ{<еL1Em-G|ZDUe'KB[(AGtR⟏%nΞO/S=}/?xʾE?H] +I}#{Z%#h_ф/~/J3ӓ-Rk_HT-/_/C=9::+O k_#ޏ3FbqlW^D=1V+*UgI0;]^D?Kl]qUoXjbsP_U[+CEoXsjb]7S\+mu?M~yt癈9#TRRM~yt癈GK6o!_#>!K_nzTK +a_gғ4/%ⴘz]$)^>zAsLԌD]|VKҼ|6]B )$>]^ؤB )uzN>8ށa_?/!BH_ XaD|esE~zEВ{QN1VaE~a+OQWlT`_&dW}V 6kzX_:/֯_Γ6  OR֢O:(3G Mh-H_:/ey/-|K(ol| A SSϥF\^%֔i76>I@P#mvz_|&_ /?Tm -/_f:M_Acm[^/ L?$KD]|/K"?&MQS_u\$&IB 97/J>IbM9.[[zY]&b$+ *_)PA A]ȚZMXP?IyҥX#5  ֗_86F3y >zץOE ΂]-&A?X<Ϭ?$9/lJG:,RU'Kaxo%GQUoO -m u޺ZM~bI*KaQF+ xo$)t u^ MWM +p~aɽRXdt|| 0NV߭ COZCz oKPwAlOW `~U!]J&\w%Mm>"HKHH^\w%MOV!Ί_ATaPM]'x@APi%a +!H5A!LL 5NS⼜o[8NRAkaGojuB~ b#а EXhDPCH! 90B;]SB:DzKaUa!z"#L!APЈDDGZ+Q*G`d1\B;RKY#R;%'׆V27D :pƲ'KVOTF#!`Cv::wUQӰl>z2]Ԙ6 DmL20l6a;`2 l68eV!]CM6 Fv¦ 6`¦wvϨ:P "םI*eiamt*bS>A)DBhP & +%^ʳꁒ`"(ZIoH&$K]$h]C)@(CehskΜ*ToO%Ӑ^Ƞ*20LL`ˤ,yBt4IGLIRIm@gTV$$|?I _OGI'fD<ׇ?za oKԁyC>ko0 c􈷚gʄ'O^j>"9Ii0~T&9ֿI7ޞ9Frc+57I|E{F(}~ht/򅤒_~X _/PHDGE95ZrkRsxO5'%k.HO i$$VAј+R_k?OI/B $NSVApKhDEI/!%N"пЏ+S +B%e`K!uIY*Z7ŷS9迴'[~hpbsN.t) G KuE拯u^E8_HkoSњߠ]Ay C R#Ӝ"`EC^ߠSsB(Py ??K"UkFj(a4=lsQ?H^UV =Kנr!Ћ3!4im.W' +^Ai7\eL U]` (0 sΊI-][Li' k Ie ?箵6C Hv uA!7ZXA AFw4WI$i[+__H0 6#7NK`ZYS U%` _:Z [ai6$a֓-/ `Ia o *]6֓t$I}& 6 j_ M䄋=& IJRlt){=Mh.-K-,GBkAi$O0zL1$i7:+KI^a"(.:Ba%M_6z` ˛ 0AE/ 6A:PYG` s9:5_6h'<ZMc K%ORA0 0e)Ǡ0A$߆+ Pi&AQ5#eC)` Fe8b{ ċЃ k@ a L&^  + QI} |BA&_D% k8xSpMAE!L` )X^P 2 L$׸`A5O +E*] GcMhh D FDPB"D +!ZHFz"""""(!庴[GbqDMDM!4tVt̃"ar +T*m8gy  2_#H$F& b +QIZiM\;al`afh֘8tL`5#Z`;aVrС-: +v~}$u +p2dnxe4a tD 6pDNVt|VVs! IWBȍ&rmV + J?}Cm( .aΡz Ӭ{\GD>LaN*vPN灸#OF<0O¤K(K.i6H +U=.o;Q<[o9!V܋DƤF9IiuN'SRlRPKMvS}VD2#$~r O/ajB9I]t}a:3ND_Q%VOpUKg"kh3o.!j՞&@tG5W꿜qlQ{[8&~028\5#iO$j `1}z󟤾*MjWN?_2^& 2YT8)\k4%HO&GZP.ATF0D"]DZCT++lLYԍ +񧨩3^D;(JIGzsODoWֺM:F*I|?"E:.JY8 F}ruP!ZA5_~_|ԇ5.idΝ:4hGD?udFG"tkTVC_l8g:֫¬0\HR*nguyp.ʡzWMQNeuvPg_O $ J|>$nep[Zeb֓H?LjeVjU]K=?{&>?@M¯Ka[Y$O&k:*#_*3ӓZ[IB)ָAՈijM浯">n+"Y[ڳ[ba ^_4ۭ?KA)t ީ5&|%i6Z9 | ~')׿qmVm$s$VP%_"ࢾ}Oz鿜55K|>S^(H+%T6ל>VBנnj~ߠ 2+6_\@"IA9jYoY_"RH/_v6tn=W.GK?_OOnto/Lz# +ތ-pZKv묆yVߥgLKL6=/H0E~.YAςin~Ok]k]#-"I c% 0Ҍ%X[ni2ΈZ~\4I5)P"?t69+O ȴS,u"=C)_=--J&.=<2$KE2.4kQ'^)^I'Az:9< A~Ki뿭 H#BI6/GLR?K_ Yt6t}R_cKoJ_ Qaf@W_R=}|/_|7ϥn$KAzOADM{3B44 *vR 0 k_@ktҬ|]7d}pA|{i%I/ZGqΏV-u>#R_Im"eW?z_$ǂ%4z*O!q.wa*i-]r9}zXA=s@Km Ko9 ]0A%/; ?:G*]WRyF*MIAi7 X`Đ:_KekAװt%&/Akl-&IjWl_J*]קᆐ UWMKmI6omq%&_@_KRlt/0 HI/K|ߏD!6a%IWWt up`[BA$#cK`L$Q%诠a}*D8?&H/T1ɀ]l4 s2( t'6wHԕ-íK#ǯ4)<%Acu85ǜE:A#& +@bQLϖLMQ i+TSO/ +A CAЗ:+ $0Z_ t 5+ A2 klPLh&NjA&RDA =?hxA0ca$(-/0TL/axhxA0A   -LA0j")8hAauM G +E*X(I5B5M PL$A)xA +DPH!0""""""""(!hDb""""#,Y";D[,v!&բ3;#h-3d83>Ӝ $D4Vcѭ #Z#TFv3 FbBau g;Ecep$B&-4a¨:|&UM}A "nɹ> %|:%\, ˜Xn.4TmE~!! 聄Io-*aZT[oP=,Ml=fםAVui比'NE@MF^>5pol2u|%_a|!i:dd}"w*IťHF&_$~}_m[8F V(>BlOG"M^9Ii^jM +_*>W_})'`f_AzS0gMQ MǴTU80}U Jt6D?(ZI$^_=!3_w0VKON#Byo>H] O$ݾ ~H6*H7 rΥIQeדDGE8eB2^_Om-/PD|x:k_I*KUy}3/4{z_B꒴?64TgCKCYK>:K"`B#5^dʅ0BP_yZ"Q+fi N9 JmϯdmscЧ#0#~>_|tz]Q9t᜘&Oߠ!o}Dʥ @)i^/"q3HXzddB, ղhE5JDPg0}Y{K.9ZM?JePvR=XA]8θ +_m/a=:_~S~3/uoK5_}B׉~tW"?9z/h":EnqH\}/O_kiZZ^fzrttV\ƿ#0)I/<~i:b,uy4ti/l^0 XKϫ}|?!TP@C~D*Z98"T)չŴ|?^zAu g%݊J"=, 6<ֺ}s|8i &9k](D{5o^=~mxArXC?EϧR۬#@z^yat_P]zM*}8IiTlg/׫믊at{+RWJ}+Ҽ|:Z*tKҽ/V&!hW_,a^PFIz]mޗ &Pj|sE|D<t$ۮ9("?##_ϡ!Qr_KeW_A_C/k5b@$aN;* __'ҥMKJaI4AsGV+*_ GoRM(XaYlJ[)Z 8#x iҪ- PDy.=/a\ׄA/!VK$[I/ЌVߠI; -4HK*@t$tzW3y7[il5^4M?ZIm%7A(a HM +K5M& +K xAmǠ& W? "J ǢBB0 8 /AmΊa5TAap &~1?A:+o8*k sĤ_ <0 һOK(? ?&l4Sa 2'%t&E(J L4cT@DA1A&b`] !&DJ#"L+ &ya- 0vVH2|kp Ah 5A c᠂ B =&AkaG 4 `!ÝG 5k$፤2h >NHZ#LPjBL X!h *`a`džIa4AA@RI B"A 2"B@hjM`*5L!AT!b"""""""4aDD[p\2oZ!YREs幒dxŅ˝LF"6|גvwZv527dSRs%vL:guw +AJ +Y 0m8lUa;Mad ]M 3ߴ &{ `@0}ӄmX|*al]T* Tvj1h$ 7wT*mUeB 8T}Ag .sbˁ}u%O_ 0őg&ۆS:nU &rm.mal2祕3{uM`LGP ʀP\ T 9@D}"FA:fפf f\0Woiv?$ }}?46H +*΂Mw)6H +#*.٭?ۇ0~~9!IKB>=u8mH6p)|BtzZzn/@E__k(?}nn=vm()kotq>>VѫUUO_5]CHn_I/%wYqJqQxXh/\]__)ɯSC^!Y:$ΧS<:."sQOL+*A\?3{h΃1Αo6\2:i{_MeZ΃qO"Ƞ*0I7^Gۯ_qKh,mz N@AxGn DZ-ӂUGUT[El;KeTq9Csk-P"?k])t&_ꟲ:(3r'o)iYw_<_g_h:A O MK|=I]1xzM>_0aQ?ehu&{z_i$P"?^< T/_~A/`}nP~!־z~, +r< K/_]Virr1{tץia5^99NzC_"4(5ob-(D{5^ 96z_a ]xKZy$>K%b<_YoY۬"/hooSu>q Aq 5>ʝ=G] ?K_^sEm_Zւ#9#D +FG/KrSsEGFh +տzL= e-}/zu4_ w@t?}Aq$t ?Z/m[__^ +6HM%]L_4C@u0_eǧ:/\X7d[[|[Uuׯ_'_t._ޮ?^o=RA:_ Tׇtk_vmcEVeTA| R_O_5ys!o?sg +*gSq !S&It_ipin m[ .y_I5BH֐lH#G4]w `2/K~BI&/_Ka2 eZ[x i- &QPaiq?[(?%Mx9t_zM]Ka v )isz_KIaֿ)X`4$A~^E>$ ֐^M/K-=.)b>kI/~մ a,0m +KO%A;-B[ /萣~KV1z$/$/8HH%>k dO_P SCһ$h > +.::+ti0"hPi~2}"SXjl5^*K`BA |iߓC ѯH,0LSa쥠,05.z0||$á++`%m&DH't;(sg=_ L b@& ,XcXkA A '@m`֖pJ2& Bd+_BL bh2 Htm~pV">㵄#2 *5*X_E-# ¡G5BlB5B&PSB#CAЉH4""4"# DDDDDb"""?&HȂʑTDرa5;tu|K(ȧ D!Y $ICux3GáPueO\0gVj(C : oOoO +d@(.!9\0bd#HbN5aA17S|y*eqVtmo6M'gʄ'Om=h& MBAޖޗ{U(Zt?-oC ${L__C մj٠g~uI~o:4%pA?w ^[IzaK'I6Dz7IzF__6ސoX955׺x_NO4I- .='IjDGE<NAοCZ?M4 ԛI,dBJl2<2~?LWc.G[*'YS5ʙ#6EI&D}vW%dʉS5J#HZkUG5"ߚ,@!?:v76 ."ӋN,ZSOFk,<:\.d4j1]$k3\:kOg,I 4C R#Ӝ0K:{=tJ*eB?|?T +k=tJA0m( P^0K:F0A]t*`I-HXH0 "]%mCUGg#(?5k//߮yƶU QKn~DKI+ ~4֖":UIyNzȤhB UozRk_z/@PuIHBI_aVeliAfWI+8KY5_{eNך*/.!0X/a@+m:XIoA/A_8Nhz.A $PitU_ֿH`[9 I?Oy_]_/edmwsG@8 $g$ΟEU$j$ig]8[i_@U"? D_$f#Ze` 0z$hЈs?__imcYP.B*!H ˢ@lK_S=z[R?%=[yt9~{?Al* >r5AI,$D¸_eqT^GY/_côZS_}x@Zֺe}?T +֢t}{((cVUK36A"G!~H$%nV?_]=Tj3!1A~!*=N? -XAl4dwc^A6 H%ZU ~(?ǚ?B%I%w `2旛5PkKU  DSUMi~^ΏWaǎ]i2z7@AS"k_iZ O)?/N/e7箴 vOWO_O-ӯ *ԺAvdI?/߯qZL/JE>$ ,)P#;UPΦ/M 3)b~^%Ǟ]}v,R >~H3 S> `g&AiXWZZmV%5__ Dvz^ 7K?aXh/a$";IM}%[_ֿ7b"z$--,GB0m& ũ` _aAi6i7? :@C}+i7$cK Ž0A$؄AH6z_KKyY|D?F"S"'ɃSad\ii\&C4( ItȠ`ڟ\` (frIl$K 0zMd Y$áK-z0J+bpl1T$ m!$M '&pl1E,R<{g*=(5@AdX5 A00^A9VI4`Ɂ@  %h'דA"WH+E!)g`U ZC H %& D  Nj H ʘ$eab#i#2 !X(HtjR A"4)7I#CBj D ! hDz#U !ADDDDDDaPDGY=gb"ܓY,GTNv*8g\<#RdJT3~:Va]TpXOe${O_GY􍤽/՞؇׬_ yH9 +rk 6N?/1BJl2eZMkӪ#`ez#d j$^BJEi~pk#G>qy)Ku))G>BPץ~hgNZWH?7zT0"=9GK>k7"^HB 5Dz2?fʀj@]"Z)ZDKo-CI8aeuvPgu?K#AOd')ӓKu{ ^#W>دD[u֡Gq"/OSR+ץ6Pmۯ_^AP_AuF-:w=t +Z{M[]7󐆵҄G^Z&?$e}#XAx~lBI_ϥ'o!tZ~:Z +m:zWK]eNk< ?4)~6]{zN>o.i%,J4Bu HBXv mu_u I|m+O^G@\idzeNa/It_&.=<2׿2iңY?K/0geށNNGO%%MUa3zB?M +־/lD~o5 1I[^)zc_yt!*_~/H%Z l +)D.$O5_%q 5/AryO#xQğ][Li':G}}/gq` __oKzV @&%{K 8zMAi7H_=1 H6s?B\ y"L /36` "l t= '&1Q=|R|$áAK"HA,XAH! 1A0? Nd\p HPXE!L` (X_`) +Dhh D GhjM`*J"(!ADخW ؚ&y\:"*#V);#"w3> 3̶rgH1Cg ++aYP8;Ʉ̜ĀEQ4in_5]CN )횠p4Ue +*LvBDi&dh5 $tJa¨Pj PuI,-Bug& , ˜Xn.4TS4p}M6אae;!-&ԍ d`?2AqeyBt4DP\ RL/a4@IR$ذCKWgAAR#"tVy>m ߧDԁ6p)|BtЛal?FB$Ǻ"1A'Z_Oӆv;_cpSiӞWgON pXO>VCj6(a`ې0a/ y@U@{mX~PI/՞!^UAŲ0A|3|f"WKKZ ![+S쪎$VO$rk8N0)'%_/0θ+S0 Jy$t_omWyWYVA^[^$K7F92f}i*?^0/*"п ޗ󐺤/n L[ӈ!l8Bֈk뤭 LI::yZ"ƌץ~hȏHeMJjkI6SZ./#eCa㥝VE9c?_KjΟP@iz\~t?]ikײ9ߓ 7Zzנ4D_MW_Nsmr!(UAI/ r8pKQCI=TmhZI%@1-Q_dGtR⟏%nZ5%r.>_-?xʾE?H] I#O5I]z-#h_ф/ +iizZ}浯AijM_6bKnc&klײLk@U8j3zS]-u,e7G\k\b@C~KZ5nr1mK9(/ʡI[뒉#uc9_?M~yt癈9#TRRKRIͯI_޿Dg䀇!K_nzTKתIg 4/#6T/W[/_!JXuKd&bKvE3W/׼Ro"]B )$>]^ؤMzT?$t_D|eG=amsEzEВ=}|iGh6quLy+a$gKeN#/VaE~a+OQWlPkI񷲈2WI+k)f֯_O6  OR֢O:4ނ]kl:}ZZQ߂A&@P#ׯK8,5 } H&m,}#ޗ^|&_ /?Tm -/_f#mz ߏK0 m/ _uK/@wA]v)[}/'괮넖!I(Ag9ץG3Sxu5iYUmA/B ZU^>J _/DjHH֕*/HxA1KGm-gA\QAU|}KH!K('ұ3_yCmX0~ICr9_Av~Bl +ii]i-R PDzu]& "%yHeEW tR&B1XN~$??0(A`XKgoJoSᆐ U  +JޗtA%Cㄯ?= oKPwAlO_&Z_Ί:Wi0*kiEZDB*_nIi/ O, taPM]'x@APl ~O.JBݴA285_z I vp{ {Z"O.GJ4Döf$ |5 5 &IdXQ'a)p^N7L-'K {)Lbcփ A0wApca{ +B e!pa hxz},5`XGPڄ& +EXhFM`!A !uM!-T>B"# 0DDDDDDhDPT""ЈDDe$DY$F)n+HⵕTťjQy( d)IGLd_%vkVL#% E:%L 2)J64D#Z 6 f 8aʬ#6 gY AZadFÆU5paÆBv2(PEFQ2o m*j[MN 8T(DWi 3 + @Äͪ8T& 3 +Ai B*vF&;935 a]U]e:a#E^}EfA(Enb\(e [LleK*gHH44[{:ypB΂(!s_wM2շIHtȺOT- {羽GISZ紊}p;Oͣ~ۤۤ?IַgAOl k|t/E8kttr 3t8?&o'F6WM:v: :/a&/zWFei޿Ig"3OΡ7 DI_ӶKWz_BS#xqQ$%<:!I _U>ޓ+@YHKKB,K&HUgXֳMVAupԕ,6HplWJV"O__I? XkYQ +H":]-'꒤mC__ |>(6qkfkQl~}{+Wʫjm.IR~TT?~Y>ۏK5߯\[_u⿏fI_3_HH*H*0-K/kĆל5FןC_Ț/\粑S$zh%P, }={@7#ϧY_YA (cP\P!@}ui7t3:_"/O Uz\^(@ @olmXFΣA?WΟS{΢AMC @ _޾\4K¯._#JuI:ArKt Awn##/L !o#zh Av ~}ot_.=:I|NIZ vMƟ%鯰!ǚz]uNm %@kGizSOA?uI6֨ SA&q^o'_ y=]~yf4+YN _Umon`z"?R_0%{(FM']=0ArްW0 +T>zRZ^ޞ+8mB}O  $W..re8ZTm&\iL?EY*A}Kϯ LlHQs8/TzH<": $/H J*^KBuN P"?C߫u!tOIZ9[ ֟i /?_u__zMe8+[(}!IoI륚[aZ~?jii[(uV]&Cz7X[(p*_?bHD /o_XMWM0RehoKi~i ~ _▓I%Tnomp_*ǤNL4&h'BA~ZLi7_k@ I//m7S_ Ii6]7/+"pC󢵥㔀D߇5 4 +L Ƞ|TiL0C(7~O*ZZ@AcYHԉjkKm j[Ju xbEOA4RNAbKE3>H&+DT5z$ G1U>F7[졪L23RUj; H& ᠂ I1XA2/| pA@|:B> 4A` :HAš/pc& 8v4A05  /GC!z u*8K Thz  PB#@p@DD ]SB"8B8X2=2la$#0F-5@DDDDDAFBTJѐWDؓ,VXFF/Jxpι04I>NV( d)JGa_% o"/- fDP)AC$Ԙ6 3la6 Za8if L6 j`22g-)()h8l0l4If*n8DK>Ag2苆afna¦}AalaWi°"B_kI7SPDIC)@4P8Y0Iot:Y.{+S8UR7ᇧ YoWLooQd`?Z ٰ˞TϷ}X=#֗Im#n$Z]k{&_$zU_R} +S) 6!%|tN k#fT &~i7=tq>On.ѫ0V?ȶg FQ Kg"tIFiE>4=Q?xHQ^꼝)W7tA<:)IΞi!<:/ACF58+4 IMC_[[*4nZʵz?ʵz>~sQONŽ:^Y^ /*%OB&N#qD\EyLEPU__-4WJ9OCFkҿ>IF)/AVߚ)Ч%z碝 +}B32  28_HaDzsg\餧_BJ-&,k׷?K/K5*q1vSq|0_WB-?J(a4 {##Ρ"{*e vЋ͇O}$Ku0 pE%Ue']I9;(3p,GK{6m * -Duʡ|I2~?Ȏo0 ɣ_9wxmt@uQH1\"z~u(MK/\{5ta Ob\kKۂ#L B-("?M}jZf4GW_Gq_Ut+Ab&_p]0eأ0C_:\1zmׯ}VBbA^M^P + jb)rr1{Y>`鿜5_ֽ^}>ֿ87. ++Ć]^ Fi %})?_+H}g}#uϧ 2+~i/~:Z V uҼ|CUOnto*l}!U( /ƆJ .^|>R/oI:_5k/K~ނe3{ $sD']-$M\3zEВˆX[n3x/.oe3PfA$HϾ6S_D8V Zd5^mĥB#K#Kj$_eNcD|$aǧj$\辕':/T_atW}XAh$`ez:9?? +xAw_T/o $g&Rk_-/Jq_ $F&Q?_iaA+ kOW_ ck^u IJ__/atD~r-iW?:TqFfRZ^ޟֿCIW|8_uJ?m/H%Z럏 4_kJ_m&DI-醗 `_Hk(_+_^ +>K/$GZA Y(}_ <[*!9贺?}~+4Ka2 eUt:kdI?/Z?YN +=&HR~fH-M!:^_دP@A_ʪ 'K]&CK#K0<}& +tqR0A-RtKoo@- zXuo K?G#G]o▓%I>]%_HH$I'L>?#r cz$/$(qL0h'tHKH8AB M 0ү'0q?AΊaΊՆ"zAPLD \\i2)} AC =&O/Z]fI&UBG!Ѭ56yyJȥ+ h(Æ=d;$ ai2(t1Q=|KA1Z"@xICxb#L? S`2 z TAa =@ MiGAia@|:C 5 ~D  z"\ OOPP) XAQ:0ZCAa~:-, K0UаѨmа xi!KGA"4A!CH$T#4"-*iX(JDEqzKDDDDDxB"" DDDDDDPC`h 1Է493:KLDmE3R#Y;jG`hpƳ{6:(rC-J0m8lT(a;M*npʢa3ۆTȢ5& Ⱥ6l 3,E B6ڰUغV7i @v6PtFa"XMS 8ENM % '맄AC較 Og;s5".b֙H(t96]$hG%xa E aWT Y0n6QCj/aˤ΀eaPGS.Çϡh߶6Ҥ$|!l*΂MآEjnO!p׿ ^jM +_*=c?_Zb(NoXh/\]//eBS#)'%׺xŇM-ӂ$~<鶁JOR|}"O4 ԛeZ~H~(9٘+i:FZK $B/#mD5CT4`ph2e ih_󐺤\RᲵ1gL,gL 0I += vi!SDPMa + 7::B,#?!0V77(i7o.}&TIIKւ.Tqs2KtK vtز\R&uϯ lI/B/8#=9'9@B,7?B,7z X5l?u/"AXa9+ҽÿ9C`iSҟC8U7 WJqTH,$~ή Rm-G|ZDSֺXmAa Îc-!K#T<^ꖓɞꖓ4H$`.?mLWDCK}-1?YA , +r< K/J$*к:ӯI"qKL P\bZ?g9I +#5EZa|24TУֿ M'h[r%&%!5f#9/K)K^zȤhV"ׄ5 Ae b jz/B VϧF*k_h[ 9]$ނ%^Hh AiDT(&dW}_L*S!恗7/a ">,$f#Zesl/+AjC@j$#6a(oM . ZU8@$]zZB*Wނ֨ . d85/X=| R^zvH1sCkҭaނu)Ah?yN ߏIJ"uzϪ#T8 tW3ӏ,'IB IutL~[]\+(W:6 +kA!_c)iW֙Z9ƠKVce92Ic_@$a*_4]w㰵vY ~B,"|_-q4ɅA%?"KuTA~#a\Z~?T?_箵 PD{WI1@KKo?mSZG_ R ۥIl?Au@vA[Zt|zP,pWuԿIqPշ?aXh/ۤ-B[ /&`'T/ǢB >%wM؈!" > -=7(~Ž9XB*jzJ$Q%N #Xc +8Ԡ!c,2 mN%͆Xa.x%!po&$i\j}szE:@Aab e,Aa yDmL23RSivLbCCqn__IZ"!$ò` X8I K( Xac& 8v+ A{A_dN^N7A0ph0_&@a4A:B 6 44? 0U8 6L!GAC@ 5CB#B&P ƄJ@ADD吥d!őREtB%h-u FR2Pʪ:dO(ȯ&&:UU +6B*V@Og;s5`] \*9-$ANB$tNkguI$AABnH4M2'M7tSʙ,e Ӭ.uH#Dޟv>\ˤΠБ7A&m ͯHtih߶6vqiw[kMU7 4b}*~PRf&*:&-}tZp׿-4!BKO۬$mŒ3M`Җ>~F4H0m_tC'tts}a5~붏m h/JrBI&E:I׽/5Wz_g"ӯ՞P]􍤣4XO_PKA#i%h%z9 KMoY |+Wڤ/kk)ҞI~Zh .='РANM~HW}"MíSd01ZM/^q2^нBIH!%6C )pki}. X? P X?M!ID4dʉS$i&֟|_h_9 J /*%N4:!SD~}~:4D*hƌץ_R}i}z~f<:SE%(֜_Z3tt>69MtG9uΚJq%B0j].:I='_ /'9B,72>h=P~( P^=Pi+###(_C&( P]cdN*w*MePvRk]$t΢0O}~i^ij?*i->pTi?/)h:ۄG_1Oē-??:_#a4ցoI*}/Jǵ]#P*]DT}/ t=Ke_@^LP믟2:#ZOIGKhh5 8"?DIAREWEGI$ZSKJvQI^+}%I%I(6S6PmK}!JXID|$+(6 S%GuVz~פT?8 J J"V#zI6]y@+L6pD|G y +// 4.!OKh[iB#ޒi=4| Gxe! 7/m*5_+\39}P^\10I},OϥHYCA~ߓŔ1(c.6IFi %u DI/,pzUFi %zZsk.! +-v럒P!@xzJ_$oVQ /IBҶcg]ߥC @^J .^|>R--a>Mx@i&8(l4Ke#M#A~I/# "I i$no%xK"1Ed?Mp@I+%&?JuA$HϾ6S_D>(^; /KI03D}Z Kl0A1q:GA&Y/ΥKn=4Zӝ6 AxH$_ւ 6GMBAh$`ez_9?46>I/A f.Q. \}PA{ik3 +޵Ko% v@'KI쉅qT_A]e:t^/ ]x@J+Z_W3$KAz%axA||}0Ai~8 t LRVI~A"@P :t'?9?tp K +\ _t!*muЍ,ic^~z$*B UQ-K.q%(\K,|_$N{iu/ZO F5$~A=㰴㰲!a#~B DS_ֹBGE^֗Ο M~H] Z_9補t]l>+~9L?` +MK t%I}\7#dI?v-# UZkB  R3]~&~$6$1H^Ki iyޖ~ݯ iޗKWH*9ɣ*ë A&. g=3Y\0겄h\ +K@oӝ~E+S +GG:l&bo?J.K]$YPiҦWgAAkAޞd5H y:ʃ*p)|BtO z[< ~Z!%>=tg-Qip)o|/C$UodtiϽCuq_obւ F_^s՞]/՞!u6ސHEςVQiGU4ǤG|5I Kd>I _ԔH}y:&VkJE֔0HxBJl2}zi7I}&(94h^QpK #4'ervPg/O HIm)?5*Ӳ{<s@> R}K@Ζip퓠A_]pEE* +~?_%`l᩠X=>yJ p"3P%h/os](EB/?Nǿ5Cw-?KGQI^/戆ӂ#G3ӓ-R}/:6 8ҵ5)_n R+G n6PmK}*a ]{(?Qf#ylRL怫:A+ ^ߥuk6]5Eŵ^9㥜Zst}/:YtP ڬ;Pߥ^^Uǵ^ABzTBzFcͯr:_>oaA0ǚ+}okYofW8Dy8Dk$T׋>־&%K > +T;~,e:{wXGm_0@79/W}}Gϫa!VhղOuʅ"Caײ|L=u]$>ȏ_~oۮ?n ICZIBH_ X_]_Y =aD|q׋I5 6(]kV Pۍ l9~,1A&_ &O">L\zz$f#ZRC?_L"p3G l `=t @P#ׯHBeT{Ad'\$PF{"a\U/GT+@? ]o_e@_~"Z?v%as:m_o^/D\Tu{*ʩ@~ aLRVK5A *s\RK˴YA%_\OTz[_ _u__!x1AH %^?H$iq>/ +<ԁ<ԁ/R YZ(yIW9ΏA"~.y?\zׯL/j?oD+ق_k:%΋㜎t_Yz]it]?LH,0 %c箴PA2][44"O.4I?z6XaIo7AA AFwIPTN_@-Wm/U_A0-A? A/l?دi&Ia%Ia)(Ac$";I/VM2AzXoO|u$R ?D T m&I~8_J6B MtoRzaEY|D?Fs\u@ PAmk M ACH_H(zMSAlry}*LAMQ5aB0a/#P 0a$ IִL?PL,ϖVG+  W_r AO93Ha4 \ @@5oPAkA04B`  8x'_o=bB Ak@C!Ak@5$e MA8hpGCGXXH̃!tMaaPHZJAahaPk 8A +B)446ԑB"k"DLBЈDDPB""""#CT""(!!fT`4v6&MqgdIʑBԷYL`gÉP39;ȦKJhh}2&/j RYPӆݐ; 0m4kTLMp2"wl8mѭ0pi#Zlu1!0:KQ黸GsJ}AI*j7Gs ӨI "5pU4sXkpVOȃ +aaHC)6ԥe>æL}O , ˜Xn.4TS4p}MuTuì1eCP=,L + Xz5죩UE@(.`ŗI ӬAp 79l!H[+ky "\U[JlGņ=Z]: + 6A.`_/'#~F>=өկ ^jM +_*>ߧ΄؟D a5!%>=^]zOYлWgON.)T&}m9vC^?A*}WmX~PK!":K}jC򅤒I~X? pV`tud?!<:)ɯO|)%$$k&UGU O$<;ioz'_1Oiʵz}?нBIns^q sZeZ/!uI_ZM\?"п_UoK]RV7X1>ATEdgKסf&?@לYS o_+/?^XњYWm)Ч"_GK:sLEIs]&V{K׷1K#u[AK89!~}/l$o帮)i^"/Ұ"5B.FKO_`cIGD]/_ߗp"i6x>-P"?Ax>-P"?_:(3pt1Em-GUe'x>-P"?S/3[~OIKX<^I&5k">󧲓'K/xʾ]/pzWL_?f+KK0K}G-R~/J3Ӛ#-R)!WtӵLWDCAqmׯY'=99i&+(6uDC_Z-ժZ?g9˯(`N/g9uUoXjbs\ R]KZ3A b-/Kr:_kkZ굯?M~yt癈9#C_֖oXTZzYpt>y_ϧYo-}4ROנ_\5u}uZL=.0do\B)TF]oG]|VK+_cK/oHY!ka_ZdRI}~5#灦_oI,$_ C_KCk}ۮ9ѯA $/zK"1J>5L0ȯ"xG(_넺zuzk`_&dW}(]/8qO6 !xMODR΋Z֯_ί6  OR׵΋"ZQ߂A&ϯj ϯ_K_J4@$Ht. +"E~;t$AVCKKپgsΓ~/C ;3rL?$K/DEx@҈~?K0 m/ _}f넖!I(A~sOפZW_Km$ A~ߏ|B +S1ֿ^M( HWA~A!5?SV/Fj@?ǚ?ZY}_(? +<ԁY.:h: +皏 +zBz$zM +j?*zgKR } A%?=Acf>` sL?>ö߄JZKej-m G_O'a@v_KZZޗF+ xo$/M~&Kou֒go&J#}P4I}T&~% ?oo JwAl}ߔiS=ޖ1?qo#Sk|D?M%sմs?AI L=|&J|D=&=,IgE|<G'x@}H' %'圝Sa :  +oJ< /w08&EIzE; y< 0eªLK[WЃXvLb Wt;(*H&($LRLK[sgدH2+1]V@K! @^ ]I 4 ^+ +?D%:+I Ii+XD| I#"= 0U :zB++IcIB҂J$g)Gh|)@hhq5$PCH! 9&B;]SB8DpDp"4(DPB"""""#B4DDDD؜MDv6UQ$B2Et: *DFT#LO#[vgg ʥ.R B+ @χRpμA8fÄLlA@a4kIn_5d]CLpIJQVrY5 6ʵ e"5ͦl l=`fHӆϨ25 &"A6,>&UM&ͺgf7 PdWp.D}6,CU" )#D6C [FA5꩔4ۋ% 07\?@1]$|/L0eˤiŷ>!A(>A7:i-?YyA~ņ=gnz:WDa$C| [OM*o$e^Z6'#~G[+oeADj'+)Bz_nSF``z֫!/Ju|u(IU}WO2q:_<ڱi$_(_!OHoX_I}mf_YI|)$$kTֶmDHH臤੔  lWK} $:ս=zm-8_IZeZx d50ⓋYˎ/4{z_B꒿a&)d!o$- 5J#kq(չЧ/#w^ֽlI}6%:Y#$GE5,AeIZ7:Yl=].:~MlzZDzs9}CJhfx-=~_ugXK$e _C n-$..9ZMJ_A@DpQimC#ʬթo#:{)?tՇ,B_<[pcօV%^/OA^:2D":%W~F$ƿ3l _7"|I0JW-/_o6EGM}SK&:3 _a#Z[u{(׊AJ<ZdckKL(";u/o"^E?% +)$UoX}c$ap=K4< RIg9XAuK+^K6<ֺ}sR"=&+AIkͭ*-ӿJI+g䀩k=/J]#emYpt4KϤBI_ia* "):>":ⴘz]$)]o3_4^~+| PJPiF`}xcVQ(IX"]B )Vo@aGM!dg3u^ڠ:In?'jC?_>-v-[g(KپgsΓ~/C>Xi* >*:i%0{~I6_"Ϧy34-/kWn|I&:WW+%A6J_ZpzI/VsGV?]9GcjtI|B +  __?ΣGil=K_Iw֓k__#_a?Zί 1'I +E9Vޗ6F3y ޕ7]iZ]~^!kK_$:[i$CJcf>` ;ޒWߠz[(='^AU&RZKaxo%GoޒMs_KoOo_I/ЌVߠI; [ x}q/MƗgz^-i/ &I&o+<-xA}$_Kߤ_M?6aﶼt4Al7ޗz^k_^~zL?4/ޗx $xK I;A(q/I-Bb+i//K*ޖ1zMIK$vX ]k1M%ts_$]&=,C")W:*m& -xz ѤyRaA7vQAE Ai5$NKXH΂$ȥ6 P}+H' (frA[iItJbLPI0o8- lN-' AAZ^-4d, aP@5I S ~4Mmq 0^"" iV@H ߭5]xM$ -'h%?  `h$JI`jBL_1I!FL$ApA$HtT, @AKmRL XyTH0IDPCIVDA F B +""""""""""6B""#nKrؘT m-׶Azy!m_-~ˁYV +?/t_ifbM__ i6+?c+~-/",30$ 5$?ٷ Y?|5 }5@?/a=$ֿ?Kү]W# %m%Nk +#! DGU E^vHe庰`AX2YC*ԡ,elA5.065 F=8eVE4p 2agfѭݲc" +DeTm D &d 5 $tJQagQ in,~D;@Gzɶ' (GDt0 \2al6tðD, S:qdqϪv}Fa(]''NDP + vXa 3˄Ays}*^t$ذCKWgAA}*{l.a5?al?!<ԛ8T!:z|MH0QrZc??$vCAfk^&AzS??GUQ: pzB"bͫI%e6ѫO] ij~zͯ֔Hrkٯ/vS0:IIW7 ! O/eRToK]RV7V,Z5_uֽQ8]_Nt) 8/uEJyőʝ +}B"yBֿHWe*O5z^<<"?gUtsOzZEE#(hʀjA}#Xz 01쌏EE@gd +um/5w.KeyeuvPgK\-&ePvRg#_D eO&\0{*VpG~3#:{)?tOoI}w-W?_/nue_@\"-a*]z^S>U+KKPNh0K5oŔ eUJ_~t@tGg'0;]0eخzc_#Ez Z#wzB99N Pߑ +-[[_sK>/AOWo:C_md- ׶ֵ5\1o!tj_ts|\u?!_Y8!R۬#@z^$_ϥY}4ZML? /o)T/W[_!JXu׷vG z ~ڠGMZu &8kt>/ ߾|0[K"1 mֿ,$_ C.K^=DŽ 2+.0Kկk| a_EJtP6`~Ü'&dWuu5l/VU:/G(3G Mh bԇX8o6 ׺@?Wg-|K(ol| A SSϥWmc_K/KپgsΓ~/C K}m/յ}KK0 m/ _u1[ޖڷwXOi] ,B @Ps}4)VteZF/isbpU- g/֭N*q_OODBO8(ZE9:1]5O/fGzZEGT|>ug LS]o|o}q R,04L2Tm/~ʬկ5z]kޓ9|I^*צ}H0-a*]zۯJ/> +J]e:YURD}A<>?o_#Ez [^0~b-룪>l1Gt_}U0 E6$"&-<^>PïKz-oY0϶FK5ң Ћ$ᆗ*?]._UׄIYAg6Kk8Nhl|H|0z[:,<:ᴊZ{91"` m&QAx"/郆G[p a_]%l.OiU-֞Q ` M=z]7I&گn-lq^/mC1}m/յ}/!:I0.AizZA + z>4HZZ]D!H4 5IV%- |F2@P}eKHU,% A_mZXGpF,`t9y uA'J]i2z~{ |[f3A!6}%ZXA + I#aSo l} ic$0)%M[{"jᄰb#붓/{GIB KnVoKKk B a`"A!?_,W@ rIl?@CL +tUk(C|a#RP@[4. "<_~*_qqjMAa&T;&d6'H8^qm}  50B5J}/@|_R"B +M1_PL#E""DC DDDDDPQU(D'-Մ; +ܭ)20qC(A^vE& (pa &h33h։n1uOpv `TmlZmy[%ag>OnP4<_#NKL?"$3D4]pê +}l9N,A  KSL*΂Mփ:]*{l.a5 oa Qqű׭٨j?N'z$Ymi6dtiI_`A??gPCmBsFI=&^si'I^NyBS#>$/jszY(Udi~ B9 _1J{l"жqBOyyőGgP +t)IE Z.sRt}/j\鮗iAK˺G0ϭP~$PIo|_ŪGP驀k]/K >+_}$@9|D?FEV?0( A-09O` <_~*_q AK]3A Vxb[4H,|o=@mxkK4AE|D $fARhXNTi ut=SBmT")`D2X"MnMTV)ؚ;.#|2ZUQ>(A +RsQF+yKTjGi9Taѭ0pl5Zal6qe +ErBl8w FTw bLMBF!1lP"" c!6膉 BgpHL[>y[I>WUU?=2(tB}d2:"I$ pm&Q!dOL +?#N_5P__6N/Mm?a/Å?Ë[| K?:^7aVO3$< ޢm:{JÜүj{O(L:?H;Jas^Ԙ_DN5vPu䟮V& / QoA/a oAI?k_PH.q/_O9Tm䍳4GD?NH IzS^q/^4λW^;VK^X._Bo1>"pUB4Iy ,!ZM8WUBak_ȏӮ*q +}B qyRΟ:5I#Ч&nUsP%SK"/`Ց0WeO%8ʺ9nۭ%o@jiz˱RIG8Ћyӫ=K"? q_I>trq?>K. $a/~}>t?Dt4)eUa_o7~*ƿc_=N/}/^ >?VSK~?;Uͯz^U޾R%b%[(AB">nUW/O-Rah?o__T)~]zYx` 8Kƿ_KA& _K5!qC_Ί_kOϢ+ uŽYRDᙲIv_oK>49,S`3! ?^jKo{+рkA<:/{i2nzTA0TLr#灦co^F_>)g@T0VHz׵A{EȌXy uoK8׏Y|&dWϡ@_K6׼qB;*zvjoo `5v~}3Z AzU΋{@.[pE//bKn^9{[WK_K?}mo\|~?}mV:]3.E_KtpS~_ޭڷZ kAAKm[P÷(iX!qiZS>XHB45tB)V+i_-g'hdwM륥/xq6\DԇQz[}z^0dsV,%tU\zKJ0dsVxߠi79 &K-(_< j/(]/zLo1&M~ZXA NG֫~f_& Z!^+%_JЯ~ߤzX. KܒG%fI_ È =&&EIPboKAiX/ KXdCCL4Akti&|xL4נ^A\E *~{օU^NI .tU7 AϢ aI"00 zA XaRX&8H0ARG@H' 045&%P`MCQ`԰"#4 Dv6J`AND4IQ*ʝ R yY ;FHȭ R yY ;*L2U3*g(#|2i2% Çp"jE3N.Vll8yFF8Amg` ʽ8pw +DŰ٫ kL:g*u +DŰ٫ kL:g pʄèUy[; NAdOL ZNaD;@pg6?m#NAgbQ +ËsT)ŗË܍ 2@ AH"auE]//0:"ү 6 f Zz^U,=2RN'z~$o]M_JU(v5}*WmC15~nndY:IsNd%l?[ŹħUTPu~ѫ dk#\>#KZo5ä}\H辽$5ä}\HXhĂ+ 4G_ooyT5&3 ]o*=$ 6!ulW3ଫUKKZ*%zi$A _5s."оh +j\Ey+S $' 8\5C(z_K?l9(kMj~m +}B-k*qSZ%_CjBPq!#'5iB/y/[zL4&vP?A.+' .kUgWmpTuÞAA:I^a_ƐauN7"4 X5/g&m--Zu#iR w.i'UOsYJ=w.i'UO^U~C_im0T54AtN:pUGKF5A[bKA +AT.Ǐ/s/er&Uyx"?Kehq.Iz[a)R#$U ײ~9 BkI%;T)X׏fDA M]/}&+mo7It}VpiWX▖?t+e zu__G^<]vxK )$F}o(Iο0yxJk>tWo:*ͯ"ࢾj?>Ic/o VƗ?F]>#@{|C =hL+JdMzn_KG Hknz--Ga[so!ih"?lF~1п]Z^-WAׄ=6 jo,zm/LgNA_ Yĕo$_ [3]Io'Y s D|t$Iwu oo&dWwu oo@I3O, a#6a(]_OZ:/@ [mW֡΋--lZ ]^P!2qimԼ"?]|G~cmԼ"?]|Guo_K[WI/K \mק/_@z~m --\u2 im[[T%>/#߯/|5ImFւONS" [x(aƿ_m|~q?;u]k=vE;JҜ#K>=8S)_8v:i:8koKGt^U?cdwMu_?+S8q@#G5m/u^0dsV_Z^?R[ib}~|/G=A6`I&QPi7F>Mi-Z[z_Yd&yH+ C4!:b ̡? mU.xm _l+`/7[ +?K aKKoKt޿Ku /KKu /K";Km*Ka_- wKZA;KH7֓h,iBXoA@&XIK_CL4?IZJ0A/($aTKEc 4j|AEA,0a _SH$tikޑO$A& #H^}'*L0"L biΦ2" M1VA Wqn)idE8@bt A &DH9' `\+__ LV ~> d"p_A&@h1 # ` /_֐A1t OL&аZA @=0XJBh  X[O ! `U¡!A#!FF BF +B8 Cq!A1E2!S)DXI DDGYUQ؄["6H y*H3}ȄjegL"3*YRD"2H3d+<2a'D"&}Ul2FOø`l2FO#H֛"j8l0HRdMCa;KE`8YUZȚÆa[ +{aʒ&M4 / XH#ZaE„F!1l8{ F;L6}A٫ kL:<*A,n.34 , mi8US "~zeϠMp> +ӈ &j;kI 59[l#/3 m.O_;mpϑUe0M쐡m?Lܧ=ɥ> +ROҭ"UUÜzHʤ?#U$Q}-tO8߽I 0q{e"$&^9"w?{bjUTʃv;WүXuXr( xzv8ꪊoLGUQBKղLp_UQB&kC'מW )Jcku& ׃'Jy$tRäܺ)_Ir9Uj.==G_I[X#0؅VJ&Ukfʜ h^K֕VW^KA>q$h^K"ci9:ʀcSi**qn&֫IWkۯ +}BSZ%_?@i}rur}-#]@jnitn-#]]ggs8eP_ X5/ЋK鴃 X5/"D"Kaoy|_t:Nrq?>+i'UOޓ_InIStC;_.5-T׵4Z ["?AֿAWuU__v<IE._9C,i0/sV#@k:4"mwD"S_L <œE&,u QvjKDu[rQvjKDu.}O-Ra~示_ad]RZ_zKpUMq Zu&Zuf<]v[xz HAS봾,0BA4Hx/(AOC])z#@ׄK+IvTѠflRb^/  3^^/_a#/_yNm{_~,C_)w?g! F]L$l3vp =h?a#Xl`/~BD-5mW+o!ih"?Xl +e V拥L<%_۷M~^X^^(/@VHzo,zm/Ka+M>[[u_l?_]>?_FHn$KoҦ#m/ޒ޴QmKo:722W! J%s/vE/_{RkPuu:/A~CM/Q㚗GK޷z[pEؽԼ"?][p5/^)7@VTIOkڷsOAnO)GiWwICoHR$K 6}t/KoHRwr1=NݿTo\yzt졇e -onPÍ-(YBPÍ*o{I}_ǥ[^\"iNz_[O#K_[WL?KGt^U?Xe84~[ ČO$L'_?-/NqYմ Np~_Z^j;t^C_wH!=/H׉#LoH׉ G}xZAlf A +AB~g|`ƿt2AB{HeEW0A !u?KM&ս-VA*0b ~ |0^ WlA&tޖ) IPA7_ /K0?{l?$& [ZA;K z[AK _]m/ <$å/I&oKiqaMxDŽt0ol:E۝A6~zALA0xA0i14H(I5HֿPikޑO/jf% _Mo$A7@Z ` AddE? h M1VAt!PZ&] 5$CpJxhN1Z5` @-@D  զ+A= bLV %R8*5FJi*5F OL&AH f. OL&"EX9*cаza0,P-CDR`#qPCZA))mBA"HGHF(!A(ܸB""""Gbّ+""EQ7"U #R`&%;pƓ 8dFETIDDTa +udB ∍gL2)aMdICaa$C K& Fa8lalaZLMÆʭց4L6 04HL]3 XH#Za¨l:0Al7ۋ͠u X|* +Ld …Ql!&V"~zeϠ\:v֓ѠeV̭a UN_Ki_MU3@=jYqNJ 8m?{nlҷֽuME+r/ea_[EoH6( ?kpiJU?[Ԙ^ }$h/OԈ_Hn?8A_9j%מՃX} ~P /SK{-ྲ\/4?N!UQBĨ7 4 D+z I/B,QFw[ ^E"Z]%M_ RQN/zE2c销#lAuK54UGwI:dm5[t[H5- O歕l4V5/]o}wWh/F[tt^#c@Gal/t6_}_9{*nפT/ZHJYB\kL#)\[in\Z0.~>귮s K#1~:RG?^.+#KzOu_____?H .׽t /!Խi0҆T;F}v^/m!6?"ࢽDKuB1Lk]n(vx36)+/ =hxf +Ii](@YŘ_Sh}?W]P"$DMJşOGuȀB4ՔhUo!㥏_= Ɩ?׵AM(?eu}xIz\E@iJΙ%_] @˭Ry)9Ω/ dGGK7]ڔ_]Ke7IN#~ZI_|u8]_OZ믮( nm>uye/S_xۯ/ tgO(hN?OmS\9nm_=ƪ``44]ӥN~>B_9I- _:?Y~9WAKm[CΫWi_}6ֿ6]}!ykS)q_8pvϋ}c[K:_ZKGt^XU?\2; c_[(k]7`2步? KI`2IcGuםK)?TG=A6Is%ڙi_G?q8)zZM;LV5`Hv Q"0 m'Շ_JЯ- #L% &?h"?~4W"뤒M ,RA 4}/KVD1iJƃhzT:_UJIAiX/H7nH0 I?-&XAIׄ4>]7ߏKi|xIK[Mv":L0l$IBIE*Ib77tAΊTK>aa&M!aރA1I_Ί_H$t 66(+EO +L&M ڜJ"= 46 /$Ȣ0oA"bk 8;ANAL0o#^A+V)0Q`A y@I0y_ RI~얋 X@Ia&MA`'E0 H5a@& ,R YHZ J POt& OL&' ?A 2bOeH1h2 H + `a$0L +%0!A 0*R A7Ђ:B9B i  AhPB)C'(`0DDDDDDi""RDi"175EE-&ЎꡕDjDB;;;dICaaW,p3D&021uaV֘p1i„@!1vʭaϨ8Twmi8[8$D;@Ep먻mp~vq~צ~Q*EOs}u}ODM_JvA3nq)U/1[b}xBla x<|})Gb[KKSOQVAלoׯ1@UZ/֫IW"쪎9( +}BοHGK\@Jb? 7`<^|3t:N~?]ˡļ4F["?Z_Xn~gw\JjKsí B8s}BT8=%3_oK/4<]vץ}3D_O/*-vk>a#E.A?,Y--G"#E +?o ׄ=6^ s:_rFEH _Ǯ/ 9Ύw_]Z믯j>wt_^9x DtA?O_t9u^oHRZS/-_/Z\Em|oX@qxENҴ?ǯ7ѡ>GpKKaxkA=iy~Kނ0dsVkۤcIsM/ xH3_/~1XץCfl+mTa`O$z[ WZA;K[]&/o#t /K b&/$aE}g$FS_HA& #_&] ]eYZA"ZT1]A:h T:ւ d%ab $=T(ZA ^ U ]A)RB# BDQ@ hGZ5Et!E`ANC*Ԏ;L(F#4D(;jF$d>UᐤkL;tKhD2T4Μ3eK3DT4TDeK3Pʃ8ʖf"v@*o5_%?J6Z~VJ5uZkҞIxo:eP_ag:qF!\#"*"<}UܺKϧG"F_#̤Ë]KOē-qpݐǥcW?K@GZ=gb5sЉm~?8~K_WZ#?HerK^? ׯ8g/R0"3@c kٕ}?Z_k +z"875+ k*joşNr_>owsN ,7lyy?@U`*}{^B^(H.^a[KaD^ /M(s^9w_mKoI)P"mI 85]UKv~}3K]Ҥ΋:$iAz[pE+|?4Dbkj6_[kk6EDbe}L_z[}յ.ұ4_便y[YY_~Jd /P1LV-b-$O(U=k?K4X+Jsz$ FfAaᆗaaKGt^cKťa?u0dsVG"$2NqB/۝oA{~|IsM/ _imCtc_f ]4ޗ^[~ߩJЯ4 [=/|h0BI_~Wz_ H"i_iJ,R]$K1"kI ާ/tToB$aΊEaP[QE$_A4 |<I>85jpq%d#^ADb Pa_H2AiAe%PA  ?h0Z_''@$"ڇNk 3MP^$`(F4HKa`J bEEtT"4"!)`B#ADGZ,\㣳\"l;v#:a'D"HdK5fΆNpȒ%hd*HLKLŸf22 3fjj3 0l6u0l[#8eLpl2Bg9Z\2YփgS 3T \8I; + n$Am#&۲TeQ7La4#&۲R j)4$}PA WuUha{ [tF Hqv\fh:D:a{ [t@@D'I$K4JHFzo A0ejcS(l#R[xnm"\$a₢t :磊}%úOb}BGM}%oUM$tv(0./zCo*ϱսo oA/Gr|"{n@m]_ʃ ?JKI@5k/lKB5k/ MI.<Ҵ$!OO$CM^H>&? W^ڄYޒV4н$t6 + 4#J^< +ؚzN"=$Q&4I/$AzaVITn4O󐿈-gU$&>AA%} Nj ְI-D8 gI \ּsOC'A硨iaCL/CL*\E-;+Ί#@6$ԣ./QDN$jZs +0.J_. _G U5 +֍K 0\61v +k .w~R^R\=LZtN)/)..UPUa$nɝ_Wt=Xd0m31#Xa8e9\֠y!pD|dV\[(AzZ#k!5@PD/?}4Rp=-**)W=-4Rp=-*%W6ozBF\[i~-|]Kai#\5$ +zM%΅nڠjmsTgB[PL4U}6yADbb/ #@ϧJ"oOa]m8ʭZ F/IZ85imѬhzM UAEy}wwA6eO?< YB[elAg{8KK0{:'[$_ {8zz_z_n.a#Ql?o+^ 9_ a_tG[6o+[WVyK 7_ʬqռi0\U4@"տ8_i{Q&lK.Ҍw?CzM޿Վz_VTTяaߑw׿:1I:Qicm}z^7M]륷zPoa/ :Pm~}EUmk-ZȚ-Auzvhmk[-~P?k[~-kP m,=t/W:nHU,#~?KE}c 2i9B㶖-"?[Aa]0~ o"?[AazpWK'o/UFy:&ۭ#a_7DQaI"`m|R#5 Ǘ 6 .~a#R\:/ʐcˆ ߗ ?A0 z I$jJ2 -&a^z[(PW< f &Y^~Yũ%bQB 1젾y"D4!P\@A֝PA0|~A A h0׆?T׆L,EAqK $ BAMa j_ XAX*3A 6x5\*A0UfHB*A, T !# B#PE!8}$A + 8ADXB""""""""(!ɹ2,H]"JFU#[JUF@ 둼xa^ȄStEFD b" f}2tv:#6 XdÇpmg? ȍ\6Rahm6E0gق"փg٩ӃvaB#H XP6 v3Ae:{lpeQC*D EM 7 UjkqY(}#):ZYS> +ӈ +Q 4YqNT:*9z-A!CNr [*u2/a)5$*2(VPC VvP l#  Ρ oMo0:F Vc cQ( Ҧh#FS}o5$#F!_=Tͬsނ]2V՗{usI?;'~,S5W^ W_m&uI/@6_kIW[ς~ѫ_ςxs_BJ!j"BҞI7 *ȗI{*ř<:!OYqr^NW*QAzϣڈ-jp#} k(kG^> +ؚP +NL(TCs Ur0Ec8ܜUs=TXr~->[ ~eTq9C\_i~kARN3:V}ԫNE_Shڨ>]?zeq 4:*? Oey_K::C=Ky*?B/'!"azC*꧚!^?^?G9) !uZܺOϤ~kkua#LO(K^u4x_wW==/Jˍ'%ުx}ʽt9z%dGGWSX*{":4H܄DH.?K_ҰhD~?G4"mw<œGbBr +ƏP/bAz HYK-F6 'G׭fRZ#oa.Ihk;gH1z$}.l Sg_HKq/M-/\y-:ׯzZuK 1\?mbuYBQuYY4k izXAOC]+k.t/q1s~{%U^oa殶_殶[ <GF/};_zZi_ϧ_a۞(K V!2BeV {_ai_ֻB_/r]%B&YyK|Q~MzXi9z^0sIF ]KH%KlpY2 =\+/(Y#m[$"?/:q"?mK8]8\m;~ӄ]_JD|%[e: 7%7:>_΋zY."p3|N[l -"z[~ q^`4BkKIB !;_[uZAmmmm"?8<}+SkK_QA/vt~.KKtcK|rBяZ/\ ׾D-+kCӠKm[#=N-(_޿BJ&vQk4_҃M^E;JҜK)-ZKo U𴎫K) =("ᔏKi.iz_[_cNz]d"/0dsVKħ_-93Kc/KVWKZP/ս$(4].? \"? l$z 6$J8:oiso/*3_mI?]0 &uKtU@oIAJ:*(h$&H$t^q`I2V z$cyG  Ƃ :OcyR ypJ[2DdE>9W.2Z# As\zy4c a|$Ah&T!p$ l ~`A!A _@Ǥ BAҥ $ PA>B!kB$ y Ρ!0i3M5F*AU[_B„#@U  N|0)(XA 0 +vKjFBDE!BF)LPO!(a0DDDDDDFCDDD帪2 ֑>[#Xʥgъ'DO;|"(\b:lE(eQU Z  HDöcT",x.p0l8w ԍhFS;l n< : +ah:%(H.B h}A?wj1pdQ2:"H/=2(tűfP zo! BqE젆YN/M 8E=IJ<\:]IvRÜҭ/k~H?h?I _^ڍy'Jy$t]zZvUg[O75Bnz*=~"- ejadqb_zr5?OCn F`=_Sh<ѪSS:T/$m%׵ Q8]΅>|DW?!?!i)Ė9dp@J)kK hq/M&FGyӫ8Ћ>FqB@E%4 G^}>_~S@_報)eeVj(]K'%Xz-/0 {K?]_~rjuYB#{)#0tVm~?׷9IAX?G/fPmkmoZ8DxRh5pK--?I,0> A0~]z_%n(D{XaBⰕogEvşOU/~x'_iNK#﷥şOsS-/],q~z-nzF]ߥ?gD-?K<{TWKK8)\2KouΏ}o ovT[@A B!]|q<0 +t__׿Abo-Vv~}3KUׄ$/tzۂ/ׯ/_oq?o _kzG״8~|5y#տ ^h_.JsG}7 >&mվ?ˋz_0,WӎE;JҜ4:__U/wScX \|ַ#m/Kao~sK6 _pHV`2步;ވK]=9eK+U}!# Z^1X__^c?/-_K`_w[J Ub ]7RN-||_z H"i^o߰ ^~ZCL4Xb Izz-b$I,tA:+í ᧤"=ׂ֖ A& # d%akhp"L/ 4?B GC xH4 fammPB"`0UB# +TaAbF"(!)"""?h5GjoW ؚ; Pʪ5(eS?ӆv7D Dϱ g$+C qs-dD64ȦKr.p  UZNMp2"wl8m LU;q?aV֘p9e8P$&.*nϨ0M#I0#AHL7N$TMal' &'QT:;=$MAxYB:#A0]$hiae; ~\3#D1,qϪv#0s.Y$@oݽA =&ap d? 9οylbgBN-.\U[mL&^ Oal?*<ԛ8U:z|MH0QrZc?I$_WҮSv${O:}/Jpg4 <[JuUE Ax(ZE?gV"-$Kg"HmWl:Z^604dB5O$&}ݾ ~UMcSp_oo]`b[ )Fy@ziyʵz4Y}?нBInse:1']--fĽl~wTJWqSʰ9 J&Ž8}}Mj~Qϯm^ʨr._:Q:_yZ"ƌץ~hȏHe/it^.vP̓W3~k#u[AK89!~}/:h/]yvoy|-B/IGRGUVR-=~_dd~"/ ?qM:~.IC9;(3%aG.ij?};)?j ?ixPD~/Ni#??l_ΞO/Sޕ"?;. +(2p㮓*G{TK=  )&"+Ks8֗Z~H_Ҵu ? TZezI/M示_&+ Dj1D{tӵLW6PmA5%_tB.KoKK^h(ou_Z\FF-g9z`i~BM_(kͬ$ֿ5f#M!R_+ᇯ4F/"$})8D{$> *ZuhKҤ_BZ^BDVnzKoA͕:{wKKi0HR|?]d5~Ǧଔ6L?^">xko3j/K$/ xN>xᄁF3$H?%_?/!BH_ XᥤgB ]|ao_A0"@0B?+tB A&=`zZӝ##&A1qCI$5/^A@Kn^\5~y~ĺҍ&& 4:9>|_a%m]/?$D_mm~?w<7H}?@zIvյoHRJq{]ӥg{~I6/҈ZUئ)PÍ I_]3ZW_Km$ A~\$_8B _>E;JҜ׎?Zk +1x_ҬI.L/~ 鴽/Y/k5b@$aQJ$A/QVF,j_z_zM +j?*`"I.:F>M| A}(4_A0K}+5G68#`aId&e O kM!:bR箴ʭ?[~A("=:ꮓi }CxA Z]o Z7J7v 'a/I +Aax (}=,RAMIzW3y7[ߥ]77H7n Mx^~_ +Jޗt$p@ .I07D&"][i.AڥXq,:H KcE~0AЦI S_=[O(' H^}h,\u`:y2(:M<9:5]&TzW`i%acT$xn yžADPKt(&($LRLK[sgدH?n'VH, vk4 _+ +?D%:+ O P*ǵi3M0а :zB++ `#F B" +EB""4"k +i$g)GkhGA1A՚A DD.8F&&[[iXiC:=7ޓ}޶҆҆ +endstream +endobj +24 0 obj <>stream +x+*T04U0B C=SSB!9WA?37\%_!+) H!$Ѕr\CdP +endstream +endobj +25 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +26 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 87347/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYH|#ÆG>?H= AnQr ڧL$MItJJ?LgռDdd;OHM'V?׷7 +W_I%oz:k&o6Yֿ_e?/4KjFƗKciZuM&֗ 8}=:ZM֟ I// W=V___oa~%֒M$/KER^_Q@^[0$׹mޗ=="u_Zz_/K 0kWr뤗 !JKꖕ/B4AJzzzJ`ꇫIt&~Lgm$pP7 `ahaXa$Bo zhN+YR+ y[P &t`Ȣ *at$ˆ etu\ /sj[cZ4tfa:k?#YW\K5?<>~"=k"=?莍^G+L_8O5k](\0@;5>yP'~A0~b9K󪭷O׏ Y ^ބY ?K~DluSE/y u2~oeNbj$^iqΟҭ-hZ^iZZ _\-DtC*I/ A KҥJ6OI7h+X>RMPI]& oK!AwKaJ1 Knt_Z[e9uo_I ӤO +P|$Q%NmK`AP_`Ȣٴm!ao.uw +-h&m0 9ǰ\0Te;+ypF[(\ h T|N vPoKX}v;΋bGU0gM%ps 2<F__`?$='װ#~TR.2ZE:_(]--W+*g4?_m$qd>?B +"yG99 +pΚK.o︃?|t!h/4_#[p?nnMk62u^ד@@;-nB +X">z㏌XxAuKI{&`K~/^G(aJ B, b:uwz#`iu_6y uzt_s~ x_WuuUUZ4ozu6xM6]%D~at--h2_/#[mmmt--HOkZֻ1LVAh*#-AiQV;M0ZZ@FN饼Dԉuh+]p$l&a4(.O@]!imXbۆL0_Aim`oK -J[ DtI$[oK`i7Ab aC4(il7AaTa0!4P@Ab!`I~L {$eh # F ZQGY)n!S<גvv}" aɄEpU +8a"Y[ʰ3f?-Dm2>F2V(}T-8aHK;/쩯>O3pM}/}?tG$w֙q Sh2,  ̡|CgJa Z_NMk/j_KKT RN +zIտeTq9Csk4΃We S}q˺#*}~s:3 Ԏ/5z]knֳc/޿׆]x tKv@*N+lRvkMoe( `x|~߾O:0~b-룪>l1}L0k㎱C5PïKz-oЋ$ᆗ*?_WOg6H~^sEk﾿a49 ^׿4AAq$tƻւyu6{*5?{.𛥤[|[UMm]&-hҞۭ=H?jZZ@$'I_.1LSZ + HR z>M4ւ@$$q FiZZ@FKGab#WMHt-}IiaA 9 Ip$IB &QPasaР6Ay=_m&AwZ[vA`&V֖0t0b#붓/ܬ Ltz_%-">`"A! rIlP9B1AH& @H,2jRH2 M 50Ejv4_R"B,B(!J""((4Kuam g20qCE"6l0al3?.P6yVyL2a~*9-r1ȭ$':W0$3^ʚeqVtmo6&_a Qqű'hL)H#NrNAA<GoH~_{I:M6tC޿:M(87\2ik_)]Om\Ri'#K,<:__y{+=ѫs^@:FuO@50 kkx%8lᩲh:Z͌_udGK:d/AGnP']{(?Q]k?@s)o&`_K"|Mb Zd/ d\0{}GϫKDl6f_ +Ë#Zy umzRKK?׿4A=kւyoC">׺K&oI>"W_eյ- KKA/҈=eT}b-DtWg9ˮz ?iߧAvazZ@F&:XJۮzZ - OoZ_K!6K!Awt\i6bݤ_=]_ $HVە ??k_>'A9$C$hJ< )La{WAaUW`*4|o=@m%^GFd +E!ǖ@hM5R +Ј +#,n!S96 \2a|e;%Kȭ6 Ӭ@oA LײlN-.\U[0⤷%>jM +_*4!BKL|{蓴I$;L)n=??GN?gP.!e7=g&pMoo~T}I}&(:`kKKZ R~pk_N?uJyőy_)~ ϡT>@p_|WɌ~?+ֳc/a7 +ǿ^ +JKPNh0KhPn(6uDC7xbnr1mK9Θ} BiM{mi?|Mb_Yoֿ7Ep_͕:{wI^>zuz#`oI}~5CCpZX[nBH_ Xs^׿ Z.WU_Z4n OR.:9>|kH_,m[[[]- KKA ,ֻ1LVAh*#siA~Bѡa5,$moy K~ =ǎr9Bl +CBzSi/ۆL_߶ەB杄Gz$/ TDI- +=[O0@[Saw0:` 0c{ {@Ab> ]Qy8߂/s + Y:X(KhGGZ9b&󹣰$ANWW-Qږ; PRdB"׃>4F"g;C k;|iu7ȒÆfEհdUC4m0epve a& 6 p欋iXH#Za tBLh0 Fuw +-h&L:#I0 aHL7NfmZNM&y=A;h.aH*y>T3mNPaL,7I.F2oˆ}h&9ŒZ6V8m^Peja~Pi {Yt0$$Q3 3c!eMu_$ +ņ=MByuH0ܤF8߶D3Wgʄ'OO >&j>;DrW$ꮴΫbF0gJNn=Ny]>;qnnjS(Zh O RP +CgJjk_F_/R}/wՈ I$Z_Mäy8jv$ejrAi'[οI?@_>~q{œaOK>Gb[쭐$(~/j +~92ZE:_(_Sz~;ioz']--:zŒ/rjt/Kʙ#M/O4{z_B꒿ZJ(׶S5I?6diŒ8h(4D?nKס?Acz_΃<JDzs?0g!Nҿ8g!:Yl=].:חtA/&#s 5RR*ebu/}M:~.Ik|:4Du}h/PgWeq1Em-G["?'_IrV[p?f$GtRF]"?;N +(2~leJ-?xʾ@ B5 +IJK-?U+KK݅M]/WRVPzAZhXX"_8]GL#NA1_bx/IZ,Eg_~+ +8UoX}`i~[a ?EJZkֿ5f#zK3M ?#!$ +_䀩k=/Jt=[L?\Ћ$cVQ_UW*t믊at K҆ FkY!I/">l2y u[K~"GD?-Zth|0~>!MI -sD-OCu/Z _AWUT/_ |{= Mci|=BGºu?^A"=l/+A{sR@u$` ]7?/4 IkGZZQ߂A&^ $g$m KmRAygG?^|&_ /jށ)z%aq8/KHDbtxAwTk_AwTkQ:^u&Mئ)Ke 8 ^Ah*#_AnA"Ѕ?!nrJIbMi#K --.KqE8*SZk +1xiW$KHXH-Zݕg[;sK5ՋRiy۠ _zXJ۬r*qkKw"I/wJ&Ht5_#^&־h $O)TP_JǬ } A%!6H3_Bb -|7XA + O#M$%G%Oö߄J}Cw߆Z[vgz_J7v 'aixZAaim 'Wᴿ+KaVKҿaɽRۈ a׎PZ[r#>oK -L4IR|| 0&/lX@%-";XAMm-K$[D&"][A6~! ? Ԓ[Tm&H6X`A S ]kI5HցE^1A& (fr -K%%0sXjl5aA7vQ *H>- ޝ$ ӄa0!550!& + 0IQ`&X*[A&Ka$ a/AA@A0zM0 ; Aza0$zX/tUbF@AK$XAAc*!&z X#E"J! F ZB#B.M`!A !DE"AFDDDDb""?ꨂ"K-FK";FBʒ ek2DܞU;vD"DYPμA=$B":lFR5ga}9HPIQ+3}jL3}hD>[64֮8mL6BE&`N|בu ;NmL6By+6m8l; A*DkD ΁Ϩ6.Z aaHL7N1w` Luw +-â&)ôE>CH tݗZT:BAs ]%|(D#:DS Fz +, f[{ 3 OY$@oᲰW ޟPa(]'Ԋ[(MKe m!7zBZ]: + 6Q(v_<~ $W:{bN_B$Ǻ~s'^+z_O >&j>)"z_M??GV^0gKUӞWd?N^Bm`%F ༇_͍RYkK6_Ո I$!&UMHKɅa􍤿?I _':y䧒GEHC~mzG/vS0JIIl=@='נDǤDpcLWi2"~P_}?нBI"L@ d5|7CCZHK +7](BIAp9(ʰ9 JIV%p8*K'YKʙ#M/N4f+EFz +}B3HADCk"W^ֽ>ADCN,Ƃ6XރN,CADCB_O/K"=9^a 0 Ctz]Q9uO[~Qz 8gDJDzs?0g N͍KqcavC G8#Xz }$0/zp@_ePvRg#X>mBQ"ocZOn 4iA|SWZV":?Z_ΞO/ҷ}-Du ?Kh!]~"?ue_@_A]~[ ҺuPNh0K {Kn +iiz!bg۫_ÍbP~!8=)EZ_]vEctGg'0;]8?'ch,WO/XX"_unr1mK9.0. y37Bzŭ.#] 𗙩8ȐXԍ]~5scZo!tq^/A]?M~yt癈W[^W=zlR/AVIZgB!$ +_/GR۬#@z^J 0J W:eTuFMW[_!~uL1+(5l=:euT}_~֒Ӝ/eW_,aKFh +]Wt$/zm:}/imX:4XH?Liq#"_+O"tmLZF}~}_MZ _A}1uhϼ/[NmA1qCEsU D\.տ}#&9Ϫ^򏇨@G=BGºB^}_>.~{ޞ~ĺҍ&& 4 ~&.qj Ikq#Db :WKuC?o_KپgsΓ~/_^;+:ϡs\U/}a-/҈~ҿ[_kWӣZ#`6]IiukF+ZLFֵ+QA~I[z Km&넖!I(Ac+׽A"A"Ѕ?A~Az/(i1Ꙃ[]&b$+(i-ȀT~zS~z5 qfQe-2"Ί[t1I/,0aҿI$l%v_ ;- dBm& 05)oKa ?a.qO.>tʔil:I$jJ +L0&< J:^ -N39R-2(2x0tʔzL4c{ {%GAtc ߤA& 0DAaNM:AaAIA SLAa⼜o_B^L& 4$_A0A@A0zM0 ׊; b!/! Li/,0ZT 4 a0a&AaKhx_Ta$KAPi/,RA?A!!Ξ0AH4X ^XNAPi/B SB8""Ј +B#B-$aBArLvhphA@HP iDDhDDDFB""""""#CB"4(!DDDD+"'-g*Iulue YB + D*E02"p۸pm0evZ Jt,DkػQh&)D˄OaL,7I(e>æ笡@7\4s.:@oz-*_Xl!H[+k}7W:zal?FTCvC^>F TS]jC򅤒_ CZ^Sצ`t{*i4y='נD#;ioz'_1{ &R^CZ#E9z_B꒿:gKӥakЋ>' iŒ8Q7㥝VE9cV{yG922 +jߔz ۂ 5K=tp"i6x>-P"?:[搠tR%֕a+]&UւKuy:#5Ҵ TC۫t҄3Fbe"8?'^E?;Rzŭ.#s'E ^f \f>Z3%[^%ԫ¥XF*kD$AQ W]|VKaYGT,a]~5FUEd?Xm:}/5k| a_EA>ગZ:D{0^Vԇ9>@F/L %֔i76>I|6]%Ɩ`4T>f:M_AcRAygʼL?$K/[_kWӣZXk$sI[zB ^>!~A6T_(><ԁ({972;sKv4AsGW=_kG/܍lAJVO)Kaxo%GۯM$#<7N$oK<-- piB ͫI7Y izF_yb!BI/HKI􍤽#i/` ] ~_eM&>\_|)%$$4HǤr dG㶖I"u1e"~P] Y[^$ѠkA$!CZ3 l4EK(M9 Jpkg.`=/Nr5ޗ󐺤3G$^TJO*g3'^zfk,@gN,ƂY8^ֽ|zIJ9Y>>Bpi,.Tqs2KFfzVOe)9RYO㥝VE9c:|= :b:|/ZIZV":?GFVtRm#zPjۄGZ[p}i_㮓*GA %N^ej¼ue_@XKui$ n]~5Ҵ TC۫iEZV_ )"۫۫#F=_=\4GH:Ii&+P~!2z S) z<Βav +JXH,WOgdlʢZ?g9~\ %jpg,UoXa/3XaAu/3\?_>"<ֺ}s#IV. i5\1KxaiVU4T_/:K_nzUЈI+8KY-}4P*#}3MI+$AQ ~_!cVQGZ[Rui0HXcVQmtbvRL}1i-_ /3 $igJ+bW[^t]#&?9\=BG?/er@ `  D\P^ 0z{!K(ol| Au |6]%}s]iF~c6]%iz 30tt Ik^}0kjkm3I@,aײ_/#sپgsΓ~/L* >/ $g&R+:ϥXmpïjMw~I6D_X+ZLFD_KoL?$HV_LV!ZV_Nյ1LW넖!I(A~#+V?^e-Xk$A"A&)+tA"nkb$+yULPq% +1xUCB UQF?=T߷M4|~0RqϳRiiSV/F_ kH%ZUK~8h: +皏 +z-}SZ^+PpGkgA\QAU5'ꚪkK|_ zA%Ka'CA9L_ }`A%O) +SK][Kaxo%Gۯm$49:C&VKaxo%G6 $ʆsv 'a[i7Fwm&PF+ xo$gz^Hb)ޗ7J<-- }c Mm/Am,6}PӤҿޗ7A(aoKH Dva#+%W `~56mM^-Iv@ &m&o*I]*jzۡ MxAa SIoKo$i6m&Ihc& < /08/J}aC4(t|i%tJb (aC4(?AҴyŸA~zAN^aXd%Ty`] u=PǝB '&pl1qb`AkaGo!/&K A/0AkaG 0&L& 44'080AGH4 ^Xb]80A Z$>&0@ApH % /ba!hP i aPB@DhF1  FAЌDDhDDFB"""""""""""1`|m\exmȔa-tl;MV6(PoiuHN)i+`EʌѨ~pk?PcS4R&P)/?7zT=$Txa8>#/ Oρ_i{z_Il"^?.K{YIBu//Ӝ_}uKQWp?*5#Zϯj}: Q[);E_Yq'lӡ>[Y.g'v6jT=aaӷح/0at4zW_X7"AIƾ8 ADBM󧥮 >=WA 1C +)G"Ri} 4ŠCDEBd6D`DUQ\+z)n!["D3A0g^ -D" Y"+EterR0YR9[5 ؖF ' kȺf P.p H"W6Fy:"vw:"ə-&kF?ԁ0 Tt1(alFa (Ȫ6*ahΓgV'e.34 p=FB FJBZ.ghAdP!hU*âW9vK_ea2Aqem_Z`S (!o(e13#@hH欐2Ƒ#%/Li/Q) {a|!mUY (죾Jz`8s׋үز 1a=~q/mH0Q4/#'H*9!_]#tЍAz$v{vt^:_]kζ$u(P]W k K6D?(ZI%I_kKSiz`ka Ad뜅K IO$I?m-/PD d55ZZI(KO'=$UkOtz_B꒲2T9}e H BE͆fTYAe /L4{m~'^ziŐt'6P3GEIE >K`Ҿt) ȝ;K_pi,.Tqs$G95%xPo~N1ǭ4]t?qTru/C er(#oPɅE_JrB~R9X r8pKQ-H}G/ZFr鑏ۥЇ󧲓'KKn~ÏKz#_(F7:KaGWL n)"?L_8_I$kA/O.?/+KKKn(yF<ϣZ0 >k0@U3.V#y$4t,WO-/J}B,_|";?%oH]`u*ޱkK ^f//80a~h(o߾7@Z3JisG,0^kP>]6%gPk=/J$AQ _B[mzKaϧZ ⴘz]$,1+(-K p>$]K GuޖH_A0$/Jr:[m#9 orGou:-/!_imfi--K]Ko-|D|_ /3 ?[S_8kKo-6ߺ|{(3G Mh.#im K?t_^^ֿZQ߂A&( IkKxOKoKoN߂#_oڷ;t$eqT^GY}-q,u_m[[K.a &kW"@?%VUJKK1_넖!I(A$RU- -/Hm$K^M5z_B ^>!UF?=Q椗[/t I-M5m#U腭-2=cϯK}{/P9ZF3y C(ZEa_h/$AzMK<Ϭ?$?p*L_AIqz[y /ö߄Jm$H3<=eiǿm$ȏ[*l?bIaFw -??;jz^ү~&Kl6دֿ/Jۈ[@&o_ӤzޗzK1 WMMO/^zZvki7ҿ?o$h/EBWi0u'x@B ҆i*QOHԉ딍GF?\z>k4yRaA7vT2V0o8-'&OWA7a?0ǝBdU0x1&)/1H&($LPAaT _+ +?D$L& 4 +Ao# e@Dւi,`:HP+($ehOPk l.3 ]¡a8Bߘ _Ags `xAZ @v߉uM Mh"ptپgsΓ~/L* >k^?aA$Bt} ,B @PI[r`*x( HUTcղ;s|~0Z +j?*JG69<tKaxo%GvKoa; K[aɽR }Pޗb+i6,0s5TAQ'JF!?)& %- I SըAa2 x(A00^ a80A A  3d#ХGY +^h"",ȕ"J%HK KDKua;.:μAVDRgLdg3v/ 뒄piô6mL6B(aÇ +Miv4fla eVPWdgWp醃"ʄP,"7 wvFŪFͲݗAIoag.P4ABI7P< Y? &tI7\e;%иl#qБ7A&r0)x3kGB7H[.cA&&ʭ74L=RB2S|C +, +z*IZI[੔w漺?BfV*iI[ૄz8߱AޖޗƒHR z\^SϓH0$#s /N'i'$a_V򄗡iRL?Ka&I0/ I􍤽#i/uA %IPAHKC F\_~KKM㦂 x_ $ H_q?I$c!c!񮎐, / IMC_$ )@k_B&H3T>r5^#Hly *E$"T:R}iŧHӬR}iyfhQӋϯ< |Zq/Ȱ4$aDzs:#Ӝ5%'_0"=9+ #/bbe[뮾/eP*2aB 5C er( PC #opC r/ +0scISHIm[_ޒ7JHIm8, %[~D?t!_JT[pKn~ÏKz#_J͎JۄG_^\":O":u$ n]~&VALQJ$ +-_o+Aa-U*]zXvQD^_Q~<J 6QD_C$8L B"?={QD_6 +Duz/9ŪAh,Wņ$x0Xh,Woxh,WlKI ^f//KI&l /&l  M_~E tJҭ/A_/ 5Pm&ҭe#OI6ozJ_]#4؄BI_?/m}&&3MI+ˆlBI_mfWiXmkmVq֖msPt~)V u]Ja@6]%|]<$Â#'J .% Uo6]__Ka^ ~K--š,z_AB ^A7O߯c ^z &F}-/4"bĨH$iag[$iuuKoL>=BG.."AAKL$a@L>߮?_L>{R0ge 6]%->z)g) uלZA>.4H Cm[/ $g%R+:ϯϯk#頶Q $g%RHdK+HdK+ڶ^?ނJ+Zֵ+鑠WŎ:%aMk(A0B~uV!ZױLS0_Ao 1I[Z? IJAt$bI_LRV_ץA1?5$ UF~?>Є@KT}UZ*#5A*r?Z __JDto MU5 i { DSMAZ'*?~ +S;gII3=AryM! <=fiW'!6AȆdI? `AAȆm?< +&D4K $)b~oKeWA AFv@K  R3W }c ^ 6OoGi6";I/t@A#$x@A#bA$MMM@i$Iҵ@ &o=-P Iz]H6ioKåm_A$Ii7A$IzA& A:P ҆g*QOAl4'J]r'JKi:NMc&/<NMǠxA$U-7A00a0a Pa0 L|>p@ 4A04X>V0@A0H % ؠA0@Ah!c [ ` *R%@P OаFhP!iJD@RDDDDDDDDDDDPQd*Eb%H"T*RXC D"(ˢg3IQLL#M3! 0QDl:Ӈpim0E8d \2a+MDaٴH YPBFۦ *!*n Hlef2~g(i Tt!$h)ˤT M4l:Ai ݲ& 0m& d:+e@4$f ֎oO#G#0o*jrk?Hκ74%mPEI2I3+|z‹)B )BLJ4 +L'K!H$mcK' $JUlE /N'i"N򄗡iRL?KXBKеC:͔CzPS&AAȤ ߤm%a/m_ F]-/It^$HAzZh,s,q?__A$$] Y_cIU(VKQ$c! H GJ"T/_AA":U>L/m- /!%O?A%] 4ӋӬޒQ}BϯI84R}iO"ГIRbjK5BNm$} :bߧpiaDzs/eP*2azZJ(a(㔯G ^,J0 6t JrB +kR91?MҠ%[?izJ$pҲ^?KHImB_}(F6:m*FjKnqoDtk5iB6i%A(F7pT[pCפ+C{^(/H0IEH ! ^[_K/B|2H ^{>/Bt/&A lkj[nAGMpi#=,*>K #/ϯ6kM F{"Y\U/յ/AX㠂V!Zԋߨ-jZ VeYU*PcʲH VS1^^H$%nKTpкPx6_H IJviKB UQ?5$E_GBAA-! V*#5S kRF vR \DGK MjB. wi%zuA"~ +A:JL_'D\~Ki +A& $H3<=eA4m$ȮʨI"IHb&Uqo9yho_H #;k 6/ _+ؠAm/BH DvnxBA$߷>&__IGi7, ſI6n/'A6O/hA$MR.bIl:WA7:HIu#@bIl> 6 ͆ ACOa +6Ň@H.F$&  t$ HHSI8A70HSA1<$ڨ A h4A  pn`a~A04_aC;yY*2!xH4DY(@ȁ KU +P` *b]}4BfAAUx"5#DD $,*!Bm( Лdj(!J"""(!ABDGY +]iMQ; D&da-Մ; dB"8g\ Y>E\tϺAv# N$#IMm0E YP#Hւv+sdi&ٴH 6"7^ؐnBg&awwe.34 8(M\{ 9t*uI dt0: SlIc).ȋ1l yE/F?ž`ŗI@uP yE74Q0G}jˣզeo_t@<~N(fV*08߸4_0aM$lOGR,D8 z_DN_yζϝa_!Ny]:Bm`L[a_KC F^6D?(ZI%쪚􍤺Z^q?@ }'o8HG$h Iom%IMCQQפ;ioz'LW6%$c!y *sQ9RrTZtE$u?,*!#Zq~g=j]KE΅>0$D?,(֜_I/Ȱ4A D|% R#Ӝ0 L:+Votz]Q9umSrA0"=9I]%{*3x%Ӆ +k98$L\zDAI7AԎu+SB z "]%S +zt r8pKQA8-"]%i%* -Duǥv_gOe'NKno+Qa-Y"?Ȏ?A^:2DK`u뮉c/ܿB!ejMm{_֕bgejMmk= 4G_ H`JX^;y4tE)Z Μgb6]罿HԫޱkK- q6]}nv=>}$UxA~VM~yt癈muG&ҭ3DuˆlBI_<ēp*ZuhKү}9lBI^XoSim&UoDFmuZL=.o{Wt/I(l4/^9+d,a^f +҆K#GKayH&KKlz x/!yW?I?A$HϿ D _A[UI03tjv"?A v_S.PgWx@ +S ^_ u-~*gĺҍ&& 4[{A |6]o-$ȖWK量|&_ / $g%Rm[[K.҈$J+Z`Wa &nk +ֽb[t$bL[\$&IB {LRV_ץ?>Є@( HW`*xx@49-UJ|~0mG$q/ ?T&-"ᰏsWgA\QAUA"~CAryL %&T΀lAJmW'!6Ξf"IgWHxl;o A[ .Li'@A AFwU]a; Km-p@U izL><-Ka $ۤ?>j}P,0Gi7, J$II 0b+ql4 Iz]"MIl:W&Mq5:*[" ,0cA& kg. (tzXH0< J>O*Xa%ȮH t$ cL`I ߇GcLLK[,0  `I [ANA04_sXAkaG4,B |8 A`bF9` *kMSXka U␌ Oа& I A)DDDPB"""""44""((#yZ%H %HR-DKua`8pι%D")3E2T6 >3wprP+*N$:ӆf ]Æ@6laMid4P6fu L&/B#}] UDo6,=mDo-qLMtI7SIB@hŔ#IʴHGNoaoaKm& dᲰa[UA&r0)}V;7CKzytoOi:D-&eo^Q-^-I[੔CL@:W +L'7΄ 6τ1ֹЫqtmqt 6󋣈S z_DNI]k&χ` d~uxfi0/ 27Iz F_d[3AHK[#0( ߤm%F_#@\zO.='eUK|~$] YmO )@k!%6H ~NԂSd1KKIdIS}h/!%OEM{$^BJdǜPH?y:o;ӋӬpoKQϭ80ӋϯI10I9<IG9>`~L_GG9?L8~obiH!)vp>.Cq +0sqWAA{(aPmN.E +0s>c%[?iP:tixaK~ʍ&HImBծ -DuǥѯԟǦ4Z^T[pXm":w0T n^ej8AD\xřKuixl[_ӤH +-^8 ~߲5 +&xD~zO}S(Pkn^(Pkn#Lz! (PknV#oxh,WKKҟPD{+Ab~ /lR+L!kƍnB^uG76]\o Pߏ6] .h0A $Auam{aM[vK^U5/tJ҄G$3p)6o":ulBI_ _'H6!$r_/bJo0=9>T$4؄,7c-$/Ҷc ҶcL8hI[i[l1]}Piu9z_-.CaХ U]xA$ (l4}__A7OZ[4Y_ͯI?f: oK I?1umIT~Iy3PI03 A$HϾү:?H$]\E?_ y 0z~$ak]kƖ 3z[:}q$`φ˯  u]֜PH Cm[/Km.z$D_$D_F{"Y\U/>my#3k]]h V"?]~t4J+Z%ak~qA0Bb)~H$%nKTOH$%n IJ%fc6 PA 4_^@~jI~!*! UFÆSAL/-H%Z$KLo_PH%Zai JA*qA~A5 i {A~A ?T_ $O4T|}/3H <vΒ*g@{GW'A4Ȟ+a&D4M ή "IǰPA2!\W_"I/$1Hz[*huHb݊$1H #; 6핧0Am/AK%A#^ @&&/ݶr1$";Ia o/H Dv~ x@ &mo=-{m4P IzcMtAi6K|$i6+篯vAf!m&0bIo$/H6avA:P'һ` pAEN>DRK'JKii '&yLR^$,I8A7d@I8A7I8A7UKh0_4A04_aC)L&  0@ Ix A`bF0@AZA?A" [5ԊB5$e%H $eWB8 HA +H'XT8 E&@CD$ A(!IT@@RDDDDDDE""""""#,hDKuafS(A[|9K*ɢ!I2)T\̦PڲOSCu 0Æ L69`l28m8e"T"[ 6;a6}$MôuL4#R htwpe+dZ4F@Do-qLaBS:mP7SIB@Zp}M(WQd JIc).weaÌzAp 7_Z`S bAp 7.rSس@P\ 74%oZeqVtmmk&GEC +?VŜ}%gs0/ l 6Tf~D^K'_w6 F]-/$⌞H_q~ޗ2^(yBoKHI~9i2QqOIK_ƺ:@koQq):4 oQubJl2ii%P=_aj_YFK&g2ub?KH?h/<לY R_h^P^x3 yB#?sN/`i!zV}//`~+=y3ҴﯲK1HNs]u\^ʡ8ۈA{I#498+Q_Wu|D_( P_ڑHuO=Txa8?Fg#*Fg#DKoЇjKJK +"?ވj?/KJ/OK":֫?O^ejUւB͆8*]zX,}q})ѵ!}}%Q~;+̃0KN {ey}?}5 +& M= 4GM32^D4/9^D6=h?e"h,W[:DҋK9\/ZtJ.)iAtItCjr:^_vKr:^/^4JG[ kּ tKNpK_z4S׷$?]T_}uimZG?TWo"9XV u__hK$f#ZPKo!xH$׺_K[^}: QKxOa S_>H Cm[-\0wUalpϯk-A^.\}-A3ixcQM(}-Q}?c=g/u|J"A+ kئ)b}asItOe-RqsźLRVM}z_ocK5 #I/ o?T}kKkHK_a#/my \DGK|}m-_ B!2\6 D{-xA_]_MReLh/տ*ץ\i+au5տvH3<=e~\G"I]&+K{3L=ޖʮ?~$1H_j~]7mm0KWAz[A#~ҿv&=%J,7a oXA$II6~&/-j>$IXEZi0zL>5å=[O1Œ ȵ9|D1$i6^L$08 ADBM󧥯I?ΟaiJ}mOlTN7AtǠ?׶y+􃠼| bI8A7UKh0Z4'䠁A_aCN7h%_8 LZHQ /G"Ri}  u#KqHAUx#hG#LZ!d0a aPFȐA +Q +""#,HR,^^hn!["Dk; +prJDLgLdR&vDFtFeW#h8g\B#kp8mٴel8l6  iafkL2%0᳔ͦ8d za6};a6~Fn/onYPDke:w gl;R"]] %B(VU6v\fh'pjӆS:m& +r(UI ӆS:ns}:n*(DbI7Un"1Z &UgnSdᲰa[زpP\ 7a^7زpP\ N 5 W oO\ +aZ\6.iDaeqVtmm&eo_m>WgAAG}D/T0&boaG]a/a?t oK~O󉬣QOSMg1 zZ߭gI$vPI_LcRsATB_TXy$kY:T UHm􍤽 \S5*h ߤm$?5J+L>-C ĂoKҞII/˃HH гa4_om%v&$c!ͨ_?ʵzIh?HIMCHͭg/AEz]--*(W$^BJza8 z_hYj_Hr^ᄒNF(֜_YI}y!yőyd_Ч+ ,ZquIR=%o_zyYG9>`^tWĝ>}/O.=*b+YO_^xCu}/ +k98$&G ؽN,D/a$fC uѾ}ŪGtFg#8}ϡZ^zu楤DKoIךoBOK":߻F7ՠD} +uA#_HT_"d[DzL\1O\_kD@*]RejD(iX׮/Waj(PknدQ^dO_}%RۭAREWi3SK_u8{(?Q+AbzZ_u{(?QzߊVzJ}B=.x2/uti/=ks_fl _MCGKm*K #G  &ҭ\pG[ֽ#4؄yMZ/YЋH6!$K 6~c,6ҶcuUWֺG?[*g?p%m_"Օ3>GEo/_zPiu9z_(#M#_oo҆KKٛkOo_I?im_vX#$tMf-I@_㯈co:jG_ #>-;W:?[A&_ Az[GcE#)%_H$AqW_>H ^{^}{_{ H ˨O#ڷ[Ǐ $g%Rt-A\3 +~}{_Uy|mm*.Q X`kR, +[cZ QMsA0B F竮ULSqs8H$%nKt}qsg|o5B$bXAQBM5z^c UF?8K1ײY.a UjIv4Ǧi-5 A h-2=ǯj@=8a VK pjaDGKƿ'$2\6z_WoKm-_Fa'* ~GKA0sS:KKKKIW'h I&vLi&A!VPA2]{x )ނoKeU/}+KJ$1H.I_*Am/I?W0oA/gY_? @&&_ҴGi6Wi%_ 6~ It#QIzL4=8zM?Ai6[~vNz B MJ=[O:|AISH6a%H1uz``0: tOaa |PAE 6@ ҇]ĦZǤA">x poA7箓" $b$ !hcd `BI8A7y􏴃 vB[AoL& ,/uKA5 AALcL& & (ci ALHQ# kkG Uzi T,"B $0@ARb](A5RȘA +H'hFx!HpыA"8b A) +ƣB" !ADGY@ёtJ +̎3I8pμVE(EdW)DMi L2`V-LPWpNEa''mei7PDaF)tuNuB$oOI&eo#fp^9!A oK /D?ZI0/:]G֒7IuRίB~ e$c!#N$` 2E$iPPJ9$i||?aDzsM1usAްt.+ZKN/. -Duiǔd0 RKu֡y*z(Pknqx╠^HϢI +(D{4J_aFi %G +o[l1ֻaKto#[bBv~ [>ߠagKb߫xIU_I0ge-"7 &$ȖWK$eYU-[J+Z]7LRV:Zc^?_t U4=a\齔~A* iZ__XI DS[ttAȥƭA?9m&PA2!.2om,  R3:h/A^ikH Dvv/ehr@ &l1\%ISA$I:?'J,AP@PA$,*2"81L& H̃!}h $e00B&!G]GZ=M@$Mn)ԷV)Vxd†dY0יD+<2a)0vD"*kTDdMCaLd"E5 *P"jdUC4l6? /٫ kL8AT 6 FêMd2 FÅ 2ᢊl2T* Tvjl'i7AEp K#| -mi8^Ig ef2g'$F2Զ៴lD$ɶoˆZ)qoˆ}r-ypN+eu>ACޒ(fgCF!EozH}{*k=>L'vzfA rxt[^~ׯDl<~+{N'iIM_J+`F-CYxXs@mWүWZgUGAM` H?UQB)kB>ѰhsNdfk-%: U?gP!~BfRZ^|604dBלM(60(M:A9^p gwK3 ]o$(~н&ĝ,lBu3 ]o/j}΃ү5sz"!fr\^iĽuWy +SZ%_sAzZkU Mj}Lm$UA*q_?Acz_.G4?+itȸ4+>]u֐aK5 V ssA痤D{/ePL*}~s}]tU?H]פ^Im.uT}tU?Z{}q ᄱoꠈ_<}'Kt%ZV-TB\["?_~oypTGG?I_e_|$E._ӭ"?Kֳc/_zDARLEVҴI$X?}\_%m_߯׏6.+z xUo~2bĴG_.ح 5# 9rGWDnx/IZZJA봾z䢘QLu__X_[8GU}7ׄKToO҄GO\`i@.0yxJ0 t~~8F]Fi#@>BZ =hWzKׯ#k0_M| `1mkPIAv9 Q!6H3(_xK_ \pI'"8A6mR/mR,? Ԓ[TP 6J )Q%H^}rR)`MazE>0@[`2}" M1VAFPAo8Ÿan52Anpk4+ut2DT;&LV +@dl Z 4@Y զ+AEAcm A Ap@L,% "{^>A`=0XJ 6' BKE*HPh_`q(DDR@"" q:!F"(!DPB#v&h^;FChMD+\ +GeH}94RPgcY*y)gbHDt2&cA4|92NP:gt;LN|בu 6tM6 ael8p0M8a8e^E4pla7DkV"ȈLZtADt*QIT* Tvj5L&/!!0:KQ.Z L&P>RQqt)AMڒ \P՗8A!c#E t*& fXZq10eˤ6#0oeO b2`ŗIAAp 7=[ NO3~9,Xl!H[BdCJQ) {a|!l*΂M_VWOlOGH6p)|Bt?toO؟D a5O¥oK" WgONNn=N n0AzSKK3<ڱi$(e>k+Vyb!BI/!/HKɅN0)'$q &u"Q] ~_eM&>rBS#㶖I"u_ /kO:5vB $NcF"L^CZ}^M9 J4 +_YGq~PrTפ\<z^EZHyZ"g:Q8 Mt뇓A^ֽ5D@gN,Ƃ6N>b#:Yl=].:'_We .}K#fEtz]Q9t}/OZDzs>a _Py?ejq#AɅX5l}sq*PVN/eP㜨-=~_E(a_.} IGaG.ij?ή vF>DٚQ:cZ@mB/eyI#aɗ뿿\G*VG_|IK+Kn~xay㮓*G&VQnz^Ǧy㮓*GA %]6/JG/+KK0K1-Kk&k?o_-/zZhtӵLWDCd+9< WŽb֗NF/tuY~_u*ޱkK㥜QQp𗙩8.tOy~}/mߎ:_]Ώ"<ֺ}s#IVͯ@k=/Jk !y~*ZuhKҭֿBI_Ϧ!~B6*j5b@$a[ .RZZdyk[SV/Fj@=#ZZ9,,$Ht5__$4# e Hl# +ץ +j?*_"=Mix ?>` lLReL -&/>` տl7#_=uPd_CiOWM NK PD{-O.Z'a@v(A`&Ml WB1XN~$?Km&1H-L< go)b>zL>ZJ<-- 7_[t7Im~";I/Kob/&"][1z$-/GIAiIa!18_AzMzM[|}& rK ;.:J~Ijvk|D:Kn4i7"aH0("x_DŽ D YѬ56>pN 'x@}O (f[yiC`zX1H""LK[" $L:Թd~H""It +LK[WD8A6zB+b &Qj4vdXQ'a&0?- hA-0 ; y8B^L& 4/TB ӃXET6a UX,W V":A$ehǡaPB BX(HzI PBa!hP t#DDDDDFDDhb"?lD'm +'-S>9 D QL"Q.32Db*h&}r # :gLLL"̬ /.ٴm!;al2~0QSlPp欋imO&f PaQvÇLE[ "QpʅU +8aոUa!0:K Bvj}]‹A0醃ap.%ȃ +aaH7\&I RQh*Jz 2S FO齵( 1m40/6y$-YPi?^QߑOeM[al?FoKKKҪal?FK!|!mvPvC^:_D|vC^>__/EZ36D?(ZI%IHfRZ"4S]jC򅤒_ )_ls n +qI?I!?6A~ka)vS0:II>"k"?q{QK} $:3 h?_XH~(9<9c! +5_%e<v@<\_=tp"i6x>-P"?~\t!A"=?:{)?t?l3}wq~S@Z^I8[pz[8 _|WA^:2D%&V'뿽A +I}#_u9zGIPg }ZV_^?#5Ҵ TKn~'trsӵLW^E?}ki g'0;]^D?}Ab`~>yP'|[-iqAuKz\룪=/ߚ|[-iqtGUa/3StA0~b4OyU4_ob//!5Oytb-*_/: !4aR۬#@z^I+80_y+-)%_^f-}4V_3I+8K^^G,W_!aYF`E[|GQƖ:G]uZL=.#aYGUim^ބY dRK#M#׾p~Y!ksE]WsItr荂o/!_^tj UEd?XK!Z[4Y]>`_&dW}x_/edmw(1aE~}Ďqg8oeNb `xAZ @h/mvUnjAbZ:D{0^Vԇ*5?(K /Ah<]iF~c6]%^immW. ]iF~c _>0tޖΟ7yo " RAygֺ^o=R?K0L_|&_ /yz_/#sҭ-h_IkZ^^?&MQ V_NhߨzZ@az%A6JI+t/yα#AXk$sZzZA( HUTc-)BPPA 1B|G_A5b@$akAl4dv_:αgG5b@$ab_+S9E+KHXH +j?*;0dsߑ +j?*^/ǪkKw"JB. zXJyCmH0~IC_lL<Ϥ?$ +?=?PvΒ*g@{GI7uA'Kaxo%Gv_l2"Jzޖߧߏö߄J}1]gWHx{7РF+ xo$gz_A`&v 'aaFwm&Uqo<-_,GoKoe MzL>KKl>o>Ja#/oKo'O߭ COl Dvz^ۤ>xAim WM G4# Wi7ۤ  ; ޗ\?(~ `?5Tm>"@CA+h$ [< J!C3(04z[^tJQKTfE0tʔil:ItJ@[yŸAi8A6z2 DN3R8" \0o8/دvL'&OT Mh&/Xeh 5ⰣNA`I{AYZj /V@KPXA00^X` ~ ~@Ab7_1@ (45k B-`pa !@AK OPkx@ 9&B;HA"®B"ArLv F ZH'XT!"L:DDFDFB"""#ab-DY# 4v$ Dv#$ɣDTԷV)؞VђXVQrvO\vD"(gsa0μA"LÆJ,Hl8d3E "p.CE& i /.ٴm!>eZl۰aȚlap&ظpց0 TtI(MaDXV"6aP6yVy]$hrPA0}.34 =FB F#bO]a F=Ra B}r1gC+ypIŗImXF0- {Ytz&Ӽ Ӽ3kAATCv ^ mI a(G| |i$?/&L?jC򅤒^쪟 S8ePo9gkm7Y `kz5YqBeYyȢ-{i$:Mz'Y|c_M_нBI01փF}=?R!9ZZ_bsA_YGk7.+)L_ZX"E~pTZ!8 }IտZ"[}t[NyZ"Ӌ!/گ!SizY)4"7/"uG11gFsR|,yΫa"uG1Dzs>afiA1~҂?_뮩@נ./Q9(C[KejtU9ʎB(aDi#D߰a ߰aR9Oij??G UKQ:cZmCnO}*m|HG?r'K=-UGIujΞO/-Du nzle&U9zG'zgA^:2D%K"?=k/rX۬UVإZZ^vj_֕륷W&z_݅B +X">&+^_g'0;] S /RcN)?V0~b-׋Z\GX"Z $[NreQ|[-iqAuK_ԉ ן\?g)AU>uM0>&C#@z^db-$Ȏ*ZuhKҡ %~TGY8OH?B, ^Ky-0ҡIK }uZL=.|?Kч(s]4ĘQP`]}ga= m,xA0"rՔuK]1L}S%Z + K %*Q9([i7wo-%A6JI+t-{zgKK/egKU WoN?^РA!UQU-aϢa_iKHXH_(="GmG.oKkMXP?IzUc 463 /3Jik,% A_m_ +&E i y!]-qHt5]SZ^V5IlwͪyAiT{z P_;g1I34TIK<Ϭ?$?>%VР7#0ixi&-m %I~&#MK5bݤ@vMC&ЌVߠI; 1H-ּm8}=/ %K)m[zL>Zү~&Kl6=@z_D{Kܬ 'O% 4&_ 7_~o>Ja#%M$ҿ_IA(Al14% o_A(iIa!14I_I7i~`%*h> + `å~\Ba Ka5TAkPII/ 0. I?IzaIk OK( TK %_a.H  ÂAaqn[$: I&Ua0h""It +LK[aXa%zmjAII/ZB2?L0zi8A]AA-0 ׊;  %ưח N  I} :A& ("? PH'kpA4Č !bbAV/!kƒif3.if&#O B!HDH0IB#C +B)*HE DDDDDDDDhDDDDDF#&猒>MQ"Ȃ)ndL  hQLϺA:gV2 + ;ʭE{ a8eVE46m= $BAlέ¨ .2$&PNEAB}2莪-IOZ$\* +KE\A0]$hh.aF`Ua {Ytzև`5L/\6y$- +J3+UzIۭ>&j61~?ױ~~AzSS[hҍMwuyb!BI/HK IAL?׺{œaOHzOͯҦ AzG/:o;ioz'F`c!Ξ/NFㅣE9\Rᷥ.+)LGH ncKJ@kx~z^ֽq'^aN ǪL2~a]!Ϋa"uG1Dzs8dVMhqꖔj xz P_h}PASIS)k]&p"i6[ HP">*gOe'N":I4Fer tW"?uU@OVZf#QZV_SW$FPK}$y4t,WO8g}_ii13"WŽb֗_Wo ylKM~yt癈[^!8WZSJ#_#XF*WDp.yicDy.!.&I u5D_K> +Z֖H_A0$_$t#)O.VKe):A }/1?"?Pb?__cZ,5L0ȯ" #>T?.,_OA_"=l/+Apժ_^t]陁 K(ol| AˤƗܑDikYePHoߋA E+:Ϫ sR8 ^H*/#_^/0 m!Zֺe}8q9J=e>α#AsqI~IbMJB5y|^+޿|B +~zƶ"GuߝbΏ+V}n6D?(ZI%I?l E/{I8A6M5k^! +q I?I!?6) DrDj 6x"΃WFнBI@1փUk e|2]-. R9}eB\6%dd>"п8mmQT΃_ͬs5jY34P $qk5,.Tqs$G9"KZGm0_oߜG8ejtU9?#Xz P_} SKwO=`0~Ȁ3J#4_JGEd>KqGm$GĎ@~:k\% _Agow. ӮyuZ^ʭOڷ"?9?D{0^V"?辷+X]-w$r_گ=[_QAxZQ߂A&( Ik&VN$fkk.:/sԇkzGKm)-| w<7H}| #6k$'6Z@!I&ҟ#"`v~I6k]2_l*F*eTئ)X- TGAzImޭerXk$A"շHm(1 ![Z A KH$.pϢ#Kס^_( HUTctI/[ZZ@F_%IiioKi"Gm_(=VRR--/7~/ jB.B~8ޖ޹B#DW<~UuMiu_./uA'J Q &T΀oVlJS&o m$3, %I~)ii -ö߄Jm$RM6\h --I ,)Ml W&t#<7N R3/_i?i$!֖0O >zL>ZJIgoi+B /D `^Umo%KOI[_~% 0M_ k$8%-"#H_:M HzK1JX`b+i6 ?$?I%(~I%XE=+*i M|Z$h $hPI7@[K%N2"$5%Ik HAal/jQ'JG򤰛 @)i$Ao A[UeT;&AKiXElRLK[aA!F &U0xA%m&X| ~R 8@m0 ;  %v + V@ȁ4ApE_RA?AHP?80A Z$H̃!EBa$fA0' )d!O )R + ! A"4"0BmF DDDDDDDDDDDDDDc,Z&գERܢ 舤gv5Db*hK'gu#yFE3>9 D L(lPΝl L(d!6 gYPla«*p!;5uap8aػ`nB):muI-)D˅8mJ ]NBG% ˜Xn.4M40̷Vt}eOK;ۦQ :s.oO Mi}?mpC*޷ߥ_ׯ?tLmH0Qo6,__/o!/Jp/z%>+jC򅤒^ss8\E0ƿuo8_G΃~^__Um-/PD d5y' H~#?.z_B꒲T"78zmƔ?Ifg@ziŒ8I֞_ͬsA>5gFMtK:sIz IA|2a}J5oB,/qz"Zzנ 57#뎘cSIz!o:aiLZ0# I4_f8^_\h:tRm#q(ZP_}tWL n/I׎8ҋҴtU(J"4?u3Fb) 'KK4K]Vi^VޱkK ^f>'~}/㎱ _b/KM~yt癈[^!6_gRy#_#XF*WDp.l4^ZGy.!.&I u5,FGp~]idRK?_/HDKK,$_ C_(x"/5,5_ /3 Z UnjK-?_@U#&PZmWzf`_j K(ol| Aˤ_=k]/sԇ,i2}~]t_S$ZA{7yo " RAygA~/1ʼZS_iyIi +ֵ+yA!UF?=_cDMXP?IzT%ޖ޹B#DW<~UuMiyz_ +?= QPlAJS:Jz}JzL4[~A("붓imk0)m_ lj[i: a";I/ GD`b?XK _LEz &oxERF ?RH(-һ ; ޗiazi\:AK%N3M"HZB a{PD4A:PJ7`SI"u =P?eU[=P;$:Q[c Bj K l uX5 2 x(A00^ D " l*_G_1@ (4ЍAPUE!APa! F(DDDDDDDPQd*EyH`AlDQȠ$>e*):٦s NDa2Ⱥ5pl2~0wRl286y68:JVT* Bvjlef2~g L6ۜJa ‹[ +tU$RSWXF0-"a9eaT*I:ͯH(}W04L=uޟآӇ?,pv O"A7_I!lko/$w8g}pA^O}K?}Ȇh'aѫA%KRZ]/#_pFd=AqTX_ek8& +ꘟIW|4sZ]%/8mY:*eja/pHK' :pczZI*~K6_`ijbȀi:z_-tI֞_ͬs֣{*V((zl3 >Ʉx?|XA~_YKI/K2G0jeyG\5#pktkF7߮yƿ[<2G9zGe_ᮗ]~/EiZ_/ˆ V#לd ?LWM}*l_sXԍ^-zAb>"z_tuY~vgG_C9|/I?>X:a//0hoK$S,6M.8KoհaW&Wֿ_oK(49l>|0i~:|aE~_ /گe??=q?czյԶUR"׿%^/ /-շHm&R- >y_}8LjA'N_kRXZZd{k(A/6 +? xR(e Hl#yAyA~9IKH %&T΀KG簃M!i&gWHx\7A.)wWA~Z -S ^U_ac*i }v~.io aoA, !~tD݈N _KihB0_ak |$Q%넿"@C}xA0i,&$OȠ`cIi?ڄapM%d4"$( &$ A N- zHؤa"'PɃR T dD%M2 ^ aM!dax5Č2462a{  k#!!6Ԓ AеCPT"DE"""""((#^ڒ _#NApXF0-Xm0ì8a^7ۦQahQ({cw(Apmog:5a=?o 6mސoeL'h?vR!!Z_b h'556[WKKu:P8_ +Du8L8M0qSp~/:/#:E&T PT PMҿ!1z_e:_Cb?C9&駦&φoi:YDutEW+t|?H?a>8Koz(L>uez0 kKm #9z_El?4"?/zZ[A|% * : jGZ#E _]i.t]Kfb1h*_[*5?/K*YIK~#_/_OY=~;z _{?mi/eYU", +[/Z * }}̄L[pE gz_?8}/_ke!GK/"#_iB.__ Al)2tKpM%d4L0`~bAka"'Pdm%@DN_4`IbbFAPZZHPL$246Ab m$>␉6Ԓ $A?T)td!CE-Մ; dB"eg*GDTL"Gsᝌι)aT +ȧӆö92L"jd&ES 69aɅ&a) [wKɰtbSe¨UeBN۴uA0N^m&O )AN]%0aE&s0ۭK$ +u/dXF0-"Pue 9uXfפf "(wT[t:U @Ds0ۥ(M]0ۥHH07a$zGh&(a]&$-o&^t蓴Iމ;(  (^C ?T8rDߤ[o?" $mz0OLG@bO n)_-.o.7ӝ3,?xA$}99РTQhvs|4JR9-.(MFzI?^qN_YFB,g. 3_~bS4D}_8?A**^4-:. zI0ҽ"7=_ͯ~E-$o` OCM}>?*tA5~XΠ9yKҢר:_0t>pr뎘c/VͯAҧQoOxAlEuhAXK"?kѨ[(<҈(#M$Z( LX&">_]q}_5/K߾#X]'x= 4GSU(KAN2I~5??u֥@*XgA~RdsXԍ^}iz /}i zX@_'Ȁ]Viߠ "CyC9>xJPcV!-}[z ?Iz:uC|m[ZK@WmpIR/^_#SW/e-R _"<:t'==/ i~Lz_m/qQ Ma-MiiTJ!7A6/ Lj~8.$]C(ZEaKLWs~m$6_R#?XReLP 5/K?Jg@(y /AH3 :$}it2(2x>A )zVGΞfE7AxA%mI %=}ߴd!8QO洓" $DA&$^ڞvL` 4- g: ,j$U B)LW00(A@ D P@14ј*5K6XaHF,B#B H ) !"DDDPB""""""""3ز+2hv$`AN̕-iΛdb#hԊ D-d쳲!TM%cL" iAE82 aɄ.p8f3ᚸ68ec`4ᔝl L(d+!6 gyP$ˆ ¦8abmaݐF e.Pg "VuLX ӨY[ʰ3jI( 1sIB&< >BaBa&4P6QV\fh(q]m@aPUS Fd+ypEۦQo ұ b22~a {Yt04<ײ!o"ߟ- HR@$i|!|&a ]K$~gA'{_n$x[Ѩ$wZgEGAMcJ k\?(MD`gWd?Nk" a(G| #yW쪟DOpʤIZqJ<ڱi$KK= IGTY/ӔYI$u=`0O4tcZR5z?j=-UKa(կ8*gOe'N/ֳc/T\K_"?__~P_}tWL뮵d%H"?^?߉!%^HI~H-5ƿ#G-/_(A@KG/KK`Gm.V#"}.rsӵLWK,EHK:ɔ'Y>kۣNut%4HUoX}0 KXKZ u].kEzI5\1|Mb _=V +![z,_iH +a~Y  4{֖_'I2)/?/믊atDl6au//KYASYv6_p~|,a^$hm<χZ_I|it_l>#4_)SБЈ:4XH?L׿4A bG@8}+*WwKoGĎqf1p`_&dW}]h>ۧ:GUnj.ս{_ :?^ʭOtί6 t#1 -z[m^XAz^a/o}V9/mWuM Mh/kkZOJ+Kk =Hץ_uΣD{s=Hҟ" پgsΓ~/]mk :[ ^/2$ +[~C u?ҟ#Kׄ L?$KLRZA +|| gKm&Q>0:߈ zkG8넖!I(AvߤHIN>-` РOWM NKa~N +_)i0zl;o A!imHm_z -1im/_1*f_[}bI-a-NxA/>zL>ZKot* >i6ޖ MD `X`үmo%,0ƿJ/?٪o>JpPb"oh K3ApsZYj)$AŕeT;&+aV$yŸAp@Ab-j H%5X1:%X5 2 x({B }" $!ihRXh5U +*~\B~ K GAO aU )#T"5H* 3d#!B""""""1Ev#$v*dA׃>4@/I~WюU^{j6~W>T/_/Jp/m%'+#J55i I$#i/~m{ĂuZ %=za #_IIIް1փi #s AzG-t $:3 h?%LpZV^O Fs"B꒲TN,@=#Ceͯ*ZP&=K,Z"Ӌ$q#Ӝ'^!KO/fo]-נ 5ik L1!z\t&Ko[p6 ~?~!IxE]D!$ +\Mr_] #ZBX"/~,HGL0ȯ" #>^#/ʭO,_Ot `  DVa-.D 2ŵ_$/K3j& 48lK\l* >vjsԇO*/L* >t}h/J 8 ^H* ^/= m!Zֺe}:J\PI_39#u<=?JI+t/UtP D}w:_A!UQV_ֿh$/wX_cF_֩/#!Jߑ|~UuMiy?/r[azAf~(9<rܛI?/$=_oKoK=_o A.OFw_ Jk._xo$gz_i_[>z[/%oi Dvz_LA-W@&M GAC`&D`I~[i7i7/aP#{(~%M$I/'JFAH0b%H'A4%fE8( TzNM:L0F ԬٞvL,riOT;&8-'&OV`I{AYMj /{^ AD$L& 4 AA)^hKXG($eЍA T"®B! F(BDDDPQ`2SEtDdđ\)TI2-Մ; +v'd)3"`쟃>5dB"}9)9B + DdE68l2~0E& P ' kȺ68mL6B(jlaeA٦jVÅA0N\^aQd ,HL7NFm)a>*B#}]o*3}SABRi@aJ1&0͗8AS!c#E t*& fIIc)ߑ[˂EPu>a6V8a(]&uoO[(\,73@ &v_SSҔG@m!o%$l6y$-YPi֛=*e(T)3+|pO]/NSȗ_{lOG|{Ri aI$:.:: +mƿEQ>ۮ+ނW^0ge $~ȇ2<GR_h<ڱi$Cy֗m%A#i._`?$y`{*i4y='נDI$h Iom~T&AοI=8H~(8LE4Hy h?_(Mʵz@IMC]-.+VQ`BoK]RW^8Lzqh^A2E$Zi'Vi=6_鵩 |y:kЋ3^qdg}|h(shmTSR}iAizy65ϯ90ΞEtz]Q9t}/OZDzs>a _ 1HNsQZ$-ub?Q9(C[/eP㜤-=~_E(a_2aB 5}Az_(k"~\tQ#mW!aG.ij?g#i + %M"]%P|W=q~KvUfA"󧲓'K/-Du (F5Pim#ԍf_{}@ Qz^Ǥւue_@_h!]~/I&VXKu׮d$_?-/_/?Ǵ\ (۫S{(A@KGH0~i}ik=\4GH99i&+P~!2z Sb^Xt`룪?KE5lʢZ?g9~\ %jpK -& OaZK@&㎱j8Aizv_k]>b?פK׆6o>&C/ebz/K +_aXF*kD$AQ ,vH6!$EpIuK 0as?Kn-.K uZL=.:eWҶc몼' YN&?//KYA]_ޖH_A0.#ZKOo@6]{Zy ui%Z_im%[,$_ C_Vӧn#m%6:QW/^`_&dW}-#>9oo/A$HϿҮyu_LʭOڷD~Goeu@ ` s}WPrL>o.𛤿ŵ_Kzz-/ĺҍ&& 4^}φˤG^A lE  !ߥu_[{7yo " u* >Ckt$ȖWKmjKHD4)#"@txIi~Ek⵭ttk_ A+ kئ)X- TGAzXw@G=,[i7v/_Ao ,B @Pg9 W>H$%nMmh--."BBn?=^/A/B GOQT*߈A +>[ KHXH]AXG.Ջǚ?gHVVst܆U"$P%?^/ jB.B[z_? ΂ m#T֗?APIA%al)2t_ }`A%Ka'EA\SMRhP]RZ_g'Hxu㙦 PD{-O.[PA2!!imHz@^z -1~oKB1XN~$?Km&1H-$1HZ[pZfBaץW?g{ᴿ iqەg@D/tI|$ޗ[%@&- /5&MXALEz >P^^i7A$M@=(/A?J$Ka5Tm>"%CAΊAzM~" 4. O#R^g%J:`< J> sRN3IR-Jz׺z^~C~m| d5t $:3 h?ׂ* +$#uzI"tf2-J#qrTp8 鎑\RV9 JyS8}8pu4z_^Zqd2}eF?I]~$^EHG9ᙧ`itmfk^.Tqs$G93Nr2:,\鮗I6sIz C V^ʡ85 ?(a&!|3jy]X(a-HHQ:落to:aij?i~VSIe`KI4"::5k{8֓a#aCA/Ch:N": n&y.*G[ eht#-R_"#-GKd'2D%mDK}+KKKn_[`fDGgliizmXX"C+M_ +F'үH0z +𗙦ӭ_4kK ^f/I!&wzK&k %joztao/u>b)V[Kx3[/"A3JCJ o":谍zT!$ +\MKۣ~-JKUBI_bq z]$,1+(^ZXGK/^I %&I u5{|u8Nh )%x#j^KL֗ץ֗_}>z[z넱#E_A0"@4X3_ָK6&dW}x_PVvt `  D^yg6 zԷ6]%oy گ@$D-K30/_6>IeZeqT^GY/=R_ /\U/}k`4T> _A E+:Ϩk]2w/I6k]2Z r~I~I6k]2%nEo-y %$|}n A#$ V?^1ӏץNHUTc ^P)׊ +BV- (=V_mgG _kKj/kKK-\kKξO)M_kx0~IC_;_[(?A%0~IC-ɴM/OW~A("Ja#Z;lj/ C Dvz_m&!, )/O `m&#]oi:Wֿ-IzAjv{(~%M$I/~aJ?һ i7C4(%& $H'%tʔaz&+ם Ҥ6Fx@B ҆g*Q'&OWAKi ةdcȃ :Hr0& )/e9J+be*[aPa0a!TJ="v&K B,,Lh,- `@ +DČMc!@AK Ki8#n1@ (4 F(!HD CT"#ЍApX@*#R +Dv "!A +""?ε#$diґB&FC +`AN򔡝d[}NPBC2ʾ &id5::@Αg tM6 @gY el8pK6yPavHA`6 @l6l $ˆ#I0àEGfFBɉ6R(UeBl;(l24 aQmo$3yɶԐbۺ.@0a"+Ouۺۤf#Nc-ypMFt:T_a0ïAŗImzF`Mn4ua6p3miA ge4dCli~{bFD ~l5Tp5 a SO5&/hNMoa5~l%)I'>;Duu\tt: I_pAy3 &:c諾wȆ6~9>"bᆂ}GJߔ-$%GE = ɯWڋƵI8_N:D7_K_'IK=Aο8^oB $N}ei'itW& t/Vu^q%WB꒱8 ~\5<.0Y#m$:k6QFKMpԺ*zd +3}Q ST@I΃A5k4\﬌0 CKNG ʴL=].:'PD﬌`"=UV{zK98sDZŤz L-gWoI[ts'A%˞v?dmGJpa$ޓij?+B_#'_~%ݕY_죭$#aЉzK.5op&7#_a&UL)4λZc_%m_x`% Do9iizRU8 zH 5# n_\v&+뮿ez~-{X '#GUc^fhȝԽ/o/E5~0 5XU:FtAaf"K__8Aiz ב5uߒYoz/Ҭ~o}'X?U +__H *o͕:{w\G֖_a at]iEe_' Y9'IlM9VP6s^L?CqaE~̓X</WZZ4nUnjVWAŸ@ +]h/W~@u.ŵ_{ޞ|T& 4Gkmv-h{?zt}0@-t/_AxAyg_m[Z--CN([E_Ko$K]2b-DtW3쥺[i7I(A~>v-+5 !{}ӏHV7Kqi- Aa#kIz//򦴴FDGK BWtK KPpGGW7qKoPI꒿xz_l)2t7qx0~IC+Aw&a4(.-/箴}/ :~ A/}-ӯ7bݤE|aUO~$=/ouXe&&Z[pXer)}v}b|ЋKoK /N+ҿ"Z[r-)/M㤡+ %8% =M(`ӯKz^pPb"?!t $;`H0ZM_MF>0AЧPtH #Xb+.I 0|BazL8 A-Na׌H&3I?IiA% =PMyi/R / 0gߤAIA)X%- IuaHOT$ dK5@Ap BA0iH/ %&*H'hDJp 1B m9cA{;pe#5F$a  A +GꪒA  +b""""(!B"""""(! +e)@2ERlY=ST ;Ȳ5"*VVѐVؚge/<Gֈ(q{(ZI%I:\Jy$t^yf95ͭ`?$9gkh0M|ꘋI?I!?6lW4 MOK~T&K~T&׍P}BAοнBI01փ O kqAՈIE, _:KW/NFㅣE9B꒲TQFJt) ?9EMPտU|K6uoH[GhR҇0uzסY#wF~ѾOL?I/ή ;}q tKQ-HB'/"ꪒd#a_#ߚ|W|~:8֓a4ΛXB'z0L}&5o"&}ʾ*'S`]ZWwI[b0;I/׏iizm"ŕ_Y׽zne( `x~= %# 4҄{b)/KNrX"Z $g')׿%,EF,E_K--5&w룪&C)5^G(a\WZSJYoz,#@z^I+8ARJeN&kEpKaY  4K#Sۺ?&I u5gsU&k]E zG荂og6JK"sEL!UF?=_ޓ,$mo/,$mo/t/~0Zmo[^/P%wmm$/GWT֗:GKz]ڤPIAiT{z~xx0~ICKԗ~9oI箵^CBwT=u %IuXe ^z.--I!imH~Zo KAZW}7Z[pZ}im iml-_P_D߄oK `Y>Z[r, Bm";I/O+C/@ m?ǢBm| SPb":[=MM$ wEaFXdR1 (& +z_ rIlK`?``OԠ!4m&aT;&8-'&OVo xA}A Aki' "H,A dNA`IzZcB^ႦM/s/s?[ 0U!@AKGꪄhzJM`!"ѕNUUFM`*@DhRЈDDDDEf*2s"vMn!S<#.y)gib!16ȄET3vv>ϩ )P2ϱ >OPl6 @(᲋8D%&:& O H3eVȪ_5]CNl2~&\4UBEGfȲ"^LI e#I0àEGfFB "ZMg ,-`r 0Š&P9t"x3wef2gL{jH 1miOZ!\" +aaHC)7e;-ypOu>_eaPXF -20ۦQby a(]&u04 eMy8<5뷶(dCl i}a|!l*΂M a _O/eqM^5&/hN'#~F>=DN3㣠dAmG?[u${O?}~_[WgONȆSls B?#`fR ]CRS]jC򅤒_ )_KKNM"mE95/ O^{œaROK! RtJO:_:3(^ нBII:iu_)__r?%k'YBɅ]49 Jm$~ʨri]D_!?UYOg6J/_/eo :KeRidR ޫL +տXץ-/,$_ C_ ]2$Ď8ץX"/58~f0  2+?$t7WZOoeVVG[3K-?A"=l/+AjC[WJtI=q_[UhJ4@$]z[_@zVZ^Ҟۭ=H?m`4T>f:M_Ac.ڶZZ@!KI0.A"`] ʼL?$K/)U-DtWM}im y zKm$ Yt_ +q FK!{AA/B* M~ KGab#VRZ-MXP?I|yAP%w `2/OYPpGo#DW<~Us_$Io.4G=A +?=ʙ_xz_yCmX0~ICy *XA + IHeE;}g'HxuczIOWO-m )bݤO -ko/A7/Jz_ha; kZ[p[ $S@KIƕ>q_~&Ko~"Z[r,1 1_Mnx(A +_BmA(ai akt RXA!F^- Ԓ[?$P~AaKq?R.\w%MOV! 2}"2*$5%EO^L xm|5Q4i%a4+`K5.z0t!`ߤAIA]CH>aT;&?kՂ PXA Z_ /AA> Aa _+ +?D%'faE"$  D X0U!ka80AGdzA +H'HFM`*JB""(!AGMDO DԷML6Bf([ 1m40=u>?lG*'Oz__􍤿_^8kABKʙ#iŒ8Quϭ"=9^a $~sC t!A~yƒۄG_]~:[u,WO/GUa/3Sp XJyBI_cVQsE]W~t/$i5?(Wa-}WKuCV_Nh^yF?=S਍*2;s Mix=?ROƒwl1H-KKaޗa/i7bPm& \'JFÇdpl1B $L& 4+D$e(A@GZ^$de#4M2 Kua-R"Q40Z;#" O#{wgÐa#|8Z ﲩF"ۊyڞK8l&VT6cV9#ZMp2"wl8m l_޲l6eBfX 97 a-PeXj7Gt ӨI "7aÅPԩ e<I p9uYٯPtGX +aaHQO)6o/aL,7STBaפf 3B}Hip0s.Y$@oݿ0e04 X{Y]2_a|!i'l*΂MGZD6ya< MzzKtЛal?FB$Ǻ"1A&؟D N'|pAS~T+ނ~8~'+VNNy]>  } ֈ4V +Ո I$YhZDl[* +YՈ&amh/hCƶVYUHI|)%$$yejrTf~zXj*ʵz }?нBInsdb6Q\vߥyم' ^Pj~9*⮢- ޗ󐺤/n L ӈ!cz z^3 t\53DǬS;/?^XњY 6TR,7ui:b?p̨l>/#u[AK89!~}/:C)Pt~׮z+5 [*S48Kejs )FKO_cR_IUR6>\_ GZ(^K\-&ePvRg#_89_a ܐ?D}Oe'N)_\+CSKKϥ~tW"?K_A^:Vv1>#h_ф/~/J3ӓ-Rk_HT zŔhZD دH]GL#NA1_L8A+e"+3FTF;@X֍KMήZZig)<_m .ޱkKչŵ,8V)*޻sG ^L] 먆9O΍sֿ5f#M!R_JI5OoLȧ[+-)G}?C +a'k&-}M潇aֿ8o\׫믊atx~kS2R1}u_c"?޽H_A0$}_XkH_Ka*ށa_?/!BH_ XaD|esE.1{9RF65L0ȯ" %iP*\"}-s_WZA 5,}/WPg'x@ +AǧQ'KK}#ߺ^#GD:}zuM Mh$ +u +r:}zÈ˃R ĺҍ&kk=~;z_mG/KپgsΓ~/C K6֖|&ڶk/K0 m/ _uK/@bbռ[uzշ넖!I(Ag9ץG ,B 5]w拧t_PA ֕~A/ֻ["j?k5b@$aQJb__~D_86F3y >zץOE ΂oYlJs΋} <ܜ mzZ_[*l;o A?M:]_KWI/ЌVߠI;eOzL?J=a;-__0)m~t<5mi%7A(a.?[M؈ഛ_ tV&"][i.1A1.[KBPL=|&J|D0D8>&EOERǮSm%l/<0 һOK( %(#bAkOBh: XZ R 0ǜ+EO\ q}M4aAY> (,a9 A@A0zM0 ; Nqal:XcJgaAᱤ{B$`(hHp#  R_1_L'XXA +J i$g)GkhGAIl* 3A0DDDDFEB"#d+G`dH!I6χާU+C9s2+zU:FWΜ3 _F$#Y#S@Z&}~zi$C~HEdW3j$o6]/Q{B4_ I$~_ S#o??$h IS#a~qu959lB $NcVApI$`c!Uh +ԿKнBI?9 JB&G:Q}_},/RdʉS/t#euYG>#}R]RVf +kЋ>ȏBPץ~h +s= o RR}i΅>~~;(Oi~NuֽUGܣAK89Y/Oߠ]AyC R#Ӝt"EC^ߠSsB)z 01쌏hE0WB-=$( P_fiazG8NB/[*{JAIjT>Cz"+HImeM =:(3uXB/m-G%⟏ui{G +Kn-o~?l"~?)CE:_e_@_EKzS'@믥 {=@=Ea7 i2DZZ^_ZzrttV__5}25 +HS(Gm-\ֿOƿ=+KK_&+P~!]0eد_]/oe?+Abz\cدO-/5^WA1_kK㥜/չŴ|Dwh/6]O z//ܨ^X"Z ɋ_>A0"@4l/+AjC| @Ӥ,s L>wG/_@ +Kl| AuށNNGO%4[}AA 6]})KooX6>IH} ^ + G[ $g&R\&=P_AV$K/j_M X`k_~5gGK-?Knq#A$Iw@Pg9I}}?9k$b_kup[||B +Tސkˡ UGU_#*-K$)pw#5  Z}KU#ΏGA]P?Iz\2;$ij']/@=&__]A 9` s΋ *KA?#ZM;S:ax/?$9 PD{Y%fK~?V%IBo ZCYBO}03Mo%G@v|Jg#EtIAi6%ib9~$4 [1TM ih-mU0ՇWZL?ǏJTm&I{BMm-C C -$,"I7,p@ &n?*I҆H^HI7Mo /JCAAM H6s6(?`Oi?&XH0T( %%͆ i rLADBMN?'rp"Ra0i9Sa 4K -&pQp Tya-L4L<8cJAA& I8A7IA |$áE+}&PX58/ NĊԃ k@ a L&^  + QI} |BA&_D%bX_8!B 5$e +A&Q4A0 " h& ~ qzƛ-bA 8AE5])mP%B48 B";\FDDDDDDE"""[8H7ku8kخ\R[(aG +endstream +endobj +27 0 obj <>stream +x+*T04U0B C=SSB!9WA?37B%_!+) H!$Ѕr\CQ +endstream +endobj +28 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +29 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 83049/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GgQBAU  r!?HiK[]a&Mw]BC%?/]$ax/vfV_Tuޒ ;T%ZPuuCm- ; %-LiII rhXaafaXa$Bo zh帺&n-j7+᝺5dwVUQg2(0)[J >*0J\!CwZP #%6Dbo )] p$û  fiDa Z5 5gn'L\*gH:%HH",(Df5 RPA* Kʩ)TFaϨ8T3Jq:! "1D`OeY}XVY.|/& +\Zu "4ɶd+C-+/(Nf82@O(t_u (Nf܂ `}2FAx_h쯧#ҤKp"yi#n > ?S0$${j!T ZMjdK?T!BKMG9!VܔDF9Iiu'SRlRVKM|OdH^ë >?Τstq=jtf_=!__(o4(TVzB,F]9@V}~"bFYbgqS#oW-QzvV_/&UG__>ˆI)~x@a?u*4ns?I|U% +~y-jeZM*@e G- KC_%HO&GZP.ATF0D"]DZCTnWN> JϯlȀW=ELњߚ!GWJJ?'Xӝ +}B'[~hH!i)ė]SDUsPta'UOߠuC\E_0K9~`hEddg:'NGD?udFG"tk4UVC_l8g?=};)? JF?eM QN{o.֙T>CI)N KzIA?m]bIisKjb3? l>kEjb^/#u^ZŵY/K6o! XIB#޸_]| >nrּ/Mx `R^ri_})? GIi]t@GLWH}gg]~+\<ߠf΍_4Ҽ|:]|iz#6TWΏDa['aχY[~2:_/A2KT KGOߥ t\Gh$/_k]k]#-"I c% 0Ҍ%X[ni2Asq?8C$@T[(V?"N"_P[ %4 | A}%ichu zhqR,@P#^)^I'Az:9< A~Ka#t9\~ +^$^?@_m1K`-g/eiO ^h^K/ v[P __‹/3?ǯYi~ q۪#I&^'QuA|E?Aa#a_k/U۟SH$/|Au K̏/m$ \z6ֹ$źG K-2D%E'AO?z/K sCAi7\ U[I?s?ʰn$&PL6sTVvQ7A*"I'CmDM97>QDoD#:S Fmqg@1TS4}3mzLCA;aZT[oP=,Ml=fךVui比'NEXMFS-U\&p(YU<~FG)xҤZ]il짠sEڶp)8@P}΄؟D a5D?isԛ8U:v"R9I;L`0ͪ<Οz ҝA8zo~8~'ײnn=Hfj _$%:YgV"-$_/]/՞؇m4b0QpBJy$t_^`@qWD>I _&v_i +:1_˂:eZ[^$Bu=餾pЮ{a1oOKU|E}arT'8_"_?k˭uHtRPVN_ ~t) ȕB-r544Wmץ~NgN ,Y*~>_|tz]Q9t᜘&Oߠ!CUV~ʥ @)i^/"q#HXzDz2?hʰjMqI.^ GatcZ/ޓvUe'EA6Ufwѭ%Um?">󧲓'K/~?&iItޗj./OA^:2Ds_!&DuP=/CKTo5w~VY*_֕?m?g'GEi5bG FoT$@UKD1D{tӵLW_QqlW!KePA$~_E@!6/ Pߒ-p%Ȗ/bjnr1m/_'#JXMR]J"=, 6<ֺ}s|8i &9k](D{5~I#@{9zY! T"Bg0k=/JFyF +I$>g5H!'nkreN>~޽]o]|VKΫ^rS^oSuVPs0V'4MtK_]B )zuCQ<}'au_gD|hR`_.IXQ]}X:4XH?LCnBH_ .=ame9HFGJCyO޽Z _A;B7Zj$_E#&Q@ǧZ-#;uD0U-|K(ol| Al:'{jNNGO%6t}RTϭ*9DSw<7H}<_N +C K +Gߧ L?$Jjcu=&ƙuI/I?(֕p _ %-:Az_Oֿ~J*K/J@KH_M( HQN +_*Zֿۭ!KV + 8K5Ջ;sN!^J`'ҽm-gA\QAUG5_%Km Km/oDzPg PJ9.?RyF*MMU[*l;o A]z_Q=uZ]{@_Ka?J a7v 'a__(?O @ҮKK?WK ?g{_/i7I}#φ(I}.i$ KoK}PKm/a%ItۏAzMj^-KlpAKDI/I U"-"pxmuZIEBWi0*h LJ?B$jJa%APZ5R /tAxKTaPM]'x@RsA6}NNaפ`H?' 0]PAA)z I vp Ga*|ԉ0$q=|R|$áA2&lPLh&daI 1A!LL 5NA B0caΣd 8H0In` A; !jA1AAA3. !bb tCA pUIBG5ҤE4 3#,E!ڄTBQA B""""""""#H!;Z2'4W:2̛Ԉ^BԷ dQlX̏ɘC9sFS.PƳLFpقT4 `E Ϩl34k@"ֈ3`fq`6 Pv aɅtL6l ; ¨:|&UM}Al+V +`U +8aZ i0%t0h4 +nzz*Bvŗ '맄ACRKInOTrZ!Vnf a=,f#J!"nGSA6rDNuͯRү)>vaG C#Nd(4m?Oz{Q.uZ5wrB:#gʴ'L|{p{SK'_Wh 6Q MǴ?M>m0VKOO޿\"6׵."bCuI5&UGF^MIE* 8^濈S_:C'Tu_LU"ӌLW?ς$~<鶁|9_~i%(󪯇_,'q- Dzb,+S a$~(E}/mUV4Kqos΅> +UsQ^:VzQo/Q8 ͯ'Y-^qdgP+i}B"XFit?8feVq9F?*Pok3\!V{uΚ2Iȷm0洩_E lI/B/8#=9T|>P [( D_?J"-&Ҝ>=s(B_{{*Cۥ>oAC@tz$ K_▐G{s5&%*z4p\k_I$tt^']a7 ? FH5ф$qO_֒I+Ae q#0KJu}&`yU/`}nP~!־ׯH7 >^B2 /:#Խ|Bzf')׿K9z]VUQCׄpQ_$5R#BcZ/vq"҄G^_z_Zo@DIPL+J_a ]xKZy(}gkK|?/JXj3Ę^[u\:cm*t.!p.#Ჽz^GK߷A^@%8*5'4_~5]h"?sr 8:Q[tpЉ^'/Kkt_ nmnS!恗6{*5?"?_>KAh/K< >Ou_m,ֲ_m--ϯ Kʼvϯ--6\~Om{? t6ikK/K(_Y/-c^JKo/Kg9IJB/oϢUYxE; +-)B_1I=]/'Koa#Vsq5UAl4dv_?$ףr;) "GAsIm# .F,ib{G//Ke_IOWrIMA/Ka2 eZ[x i- &QPaiq?[+O%M _פ_zM]Ka v )isz_KIaaW_ aoK`[ixA`&_ZAzI7o";Ko^)R[z]im,R}vz_kZMmBXo ?A[Bi4/aA;-B[ /萣~KV1Iǝ7_ D8" > -=~?@C`NzJ0H(|i9/2(O)BT1t]i0"Pi~3M"SXjl5^*K`BA[k M)0~:@Aab e,Aa ysɃ&_X}/P@+i2 Mci ad 4&h&@ p@,P@5Akϓ `kK8%B!v xiA/ $)a,& Ԉ0HZ$! b#;XHA3 RZ5L!AT!zKA0qFM`!PA#Pi""""hDDhDF +DDDDGM幒+Փ`WAe0R*h)ndO%4];NkLv1Q^׃>4BAI(ʒ :gDal5? G`Y+l6 @`6? L6 gm0ea3R)8ʦJaCaMiٴm!T@a +tϨ: BvjDL01p8a`ʾE`aE<vۨDo#Qti3mpmJ Xa ‹IoƗ[jPbQi(GP^- 3QwH(IA7\4#Bu>PueO\0GVj(C : + oOoOФ +K=&_ϯG[kWw=-/j(eo* +RlRV/A7jM +_*?O_uM-5 z[z_${O'U>pA{ioyKzpAzZ[' /J"bZ`ᆂ~"b5}{Wnm%Qᆂ},$H/ ߤm%IANM|_I E:S#/aα_8"^!~mGU:>,?m$F='ʵz:<NAοCZ?M4 ԛI,dBJl2>2/ZM!B*'YF5ʙ#65ID}vW%dIS5ʙ#~N%:_ރ~ʨr@RBE_qdֿ:Z_%[^)HMF` ZM[V@C?u>y+Yo/y/ I+8?3 +L/bJ %~TGSt:_[3eNך*/.!0X/a@+m:XD"a8Nh"|9뤺; /A :Ca]W-\sE mԐ +տ/KJKJ[ @M_KF߉(QAė|:>$tpF}LUPFIzF}~.=9eVi_@U"? D_$f#Ze` 0z֗K#m-r_گ *eZBeT 3.ץsԇ?%=[yt9~{?Al* >r5AI,$D_eqT^GYA| G:L;K?Gׄ kWzϪK/A+ j+ZL_A$ ,)P#;UPΦ/M 3)b}v,R >~H3 > `g&Ai%?aXkt}MzJ204, a\I @&Gi7z$/$/7b"z$--,GB0m& i` _aAi6i7BE}Jak c +xԠ!>A 1åak aG lB MI/9:5_6wi\dPd0sXjl5,k 84u^ (fry.=Ӕ8"N'?za oKs|ԛ8T!:|?'UӜ4t#Ť>^!I]H2!u?ȮgH ߤm%~X|\E>)6tCͯqCPgWep=-IyN"IA8]aFi %>|i~TKA}m_oJkSۺ/U_|+/k_cKJ .'au_K߬zRKI,}/ dGW9MzEВ4KX[npAC5#agxJzuק 4"迩@\idzeNa/It_&.=<2׿2BϪ/N_tAA>. +u +r:y/_/"_eMUa3zeu{*ʩuhPPcg_頂V!Z ė.6y6 aLRVx |O{>1ZSƾ!?B UQ־AaHe!u~/H%Z $-ik/e QM2!uA"~?/~Bu[(?>AA~]Z O)s .4K_JUI5ձAȆ~\I/Wm."ZXA AFwG_wMM i{krKoOoKzV @&% V@__{K 8zMAi7H_=b$C$hJI>^O0zL1$i7:+t) m%'a.r$6 $Ȣs9sa Ȣ!&'Jw >'FkN)b叆+د9T ElV`dR2A0`I Tya- 0vS5Q-q dJ"HA,XAH! 1A0? NdAXXH̃!H8!Iad(B #XAQа pW hDz#U R-bA 8ATBUT"""""G)-3"KuagL(fJhk%YyKr&XRdB"k9{dMCaLd"E5 *P"jdUC4m ?٫ kL3P9]2+l65a iT2e5a i +eE e(M„mݵ:i7AEp K#| -mi8^Ig ef2G3S:oc)(=gFcY&m.ej`[m.ȵ8l#.q`3D4_AI|t:NOug#(?-TA瓯N9+ұoꠈ_A^G+VIy_ _=[L?]aE7a#iEp XWo,zm/amL<0I 鴿mM/Fa}~5@8r>}go H=#?_[3">l2y um_]_!M$|~L0ȯ  _2W7[(7^AoI}j_$a6  `AuA~Z믥yozWK㚗GK0OA  M_osR@u/oqoI[]/O_1xI#='KO_?zZOJ+k ڶzߏCV,WJ)zL;.oHR- KKA]E1*ئ)RC5 1𒲆kSe 8 AQ}9 sHm.]bq~!/KtI!_8-_8}ߧץtMk~Z * aW cy_."#-/#A/Q_5$_Z^?a(Z +n$gz_H׉A +BH H׉lF>M| =ip/MR Cb -|7s{zH #e 6AUH3(_РzK&$ K PXA`0--I_zi}ix_, l%6 4}, X /Kᄛ zUH7q@XA5 a= ܬ0[MBL:_X@&L:_1 0K%-";XA}NmR/ÈAcMTK"TK"5$,"V!4 6MazE>) A0a&0׽"Z A-xA0~ s~&&] `qn3q&k5 kAd4kiV%d4_r A զ+AR #gN'Va +N1Z4- %Kh0^N7  OL&)c  PD=0XJX/tUbFD $fAӂ0RR#IF +B80RRTGhM5DE"hDDb"#-EedAQ2FChM#)ndW;FTEͯH20Ya6V8a(]&u(}Sz~rXpL*΂M6zoRlN-.GQ) {a|!l*΂M_n󯳎-H_gʴ'Ms?^al?FKH#N?:IpXOvnw<Οz ҝ_KB.!b5E Ո I$R#i*Y$I _ukN0)'%zOޖy%s'i{^MI=8H~(:L9c!'4/qh/KCYK\R_YGk8 /!uI_/*zx6S<|yőqy'Xњߚ*kST@u?Kסfȏk45jegu!?_~\鮗sRa+N CI99k]/Q"mW!aG.ij?g#IL1Ko*l/oI}fbZ#Eװ5kOe'N_D}[/!zXh/b/"?]G DYvPg'x@ +ZeV _>))_-K(ol| Au~f.AuG$K]/H~_//#پgsΓ~/X<=H\U/c/?/0WKne}<KIJ"Aֿշ:k㲖mߥ}\$&IB I/I[zzz_A~q[WKPA ABy_h +5 KL-z]_m#5 /Z/I/gI|/JB.B[z_? ΂zl>7xG:/eisS:K/>` ('q_=u_49:Cï77#=_li'tWǞ./_Gtz[(B$ޗbIb/I+^_ M/4Фx/}P߯!((>_b?H_7/o Bb+q$M3մk_B SA]J$Ka5Tm>"@CA6aR__08/L YѬ56yl/kI?Iza( OK( %H2}"A:PQ[4)y_ߜa Paǜ@+A75@z%d40a.qn__=P:NMJhAkAY^ ^gQc A/@BK-0 ; y8j &RHZ8TLj5*4t?HqI n_U +B~ b#D$e7H*HD`! AP%45H*I T"4"a!E!DFDDDDDDE""""""4"1n\M1@LDWYjX3Vz1J)LԈjGbLf ;'l p3'0΃Gg+eÁ9.tP6 ۆ22kTLȺ6l0al3<0dn`lm 63L0M"7e:n*%`ng4au"7p7uLl0B*DkBn?09C讐^wLtj b0! 1kLtu ht96]$hQiTA)7£l黦Chu>Pڅ20YthuNs࠸3D4]pêACE7MC4CI6H +B\U[ͭzuo,*΂Mփ:_D2,N_RlRP?Fg[~t?-nxUglttCtI7^>o:4$;~#NrN]S,$J/K~PK!u5/נDi7BPH&pZII6tCq }y:^!m_h7ҾoI*?k/PDF9,u٘+iKF9,uܷNz^m2qֈjh2. X6EϭtM_<ts镞_],'LFΚKJ#J9hE/?B,7P [(kz 0ϭP~Ʌ:F(/J}XH0`cS!tҜU7_:(3Ijj`K x>-P"?MLZ}>~i0e\8ץ&N^S.*w_6%8lᩲh:y:/"^%WIUa7 I}#udGJ&V)e#QK*`Ai?Gi?ZZ^_~k_ T"?"1hH0%ީ*OJh&+P~!7믯e"x3K}.58gZa|2#""~fzI%C\:Z?g9BI /:YrvPzA +I0-Km(D{">_m\1~?^%~?^*#kem8Ŕ1(c/y𐲆0Y@C?=/JZd/ u?_ _,VQpHNgP AkqP A~>ʝ=&IXWƗq +i5>#\BdL?T|$[/렐@o"a]~5@8r5]z1#M#_|+/kT"R $Ai p|0~=}v~?\4K_]_iBCH$DA p@o a_EAo_L=k#3f2%6AkOD}\@ +Zt֢ORׯ?ZB*m^  MׯU'Z_>O AygbPAbH}_e5͆^^e}:5zϪ+YN  ~? &(cVUK_ u{*ʩu"']=0Ai3ӏ/r$ Yr랪Ci=T?=S0TK @+ptl B!kNJ:LNkoce92Ic(P?I|y_.֕-5 KKw#i{K#8-/j?*^B,"|]=_k(_-[k/> Pm.Vl KA v[ OK?Z~A("=\i6z_MKKAh ziuzL?KǞ]Kam/ooح-JomAa _m +K5Ko&ۥ@`'T?萿- N__ -=|(o@CtV0AЧJC$hJ$Q%N"m>"#@zWaR-IaV8>M5\pk圝Sa%a@^ ƨHA s&ICOT M!X1&)5vLbC^ 0gg*=(H?Iu W`+@5 a/h; ^ ]@K *  bFA"UH-%C-A`A!a{ +b4BHq&Ӥ "?3 R))DhB@X(HGhz#U ":CPC4&IDiB"""""#B""""(!ADDDGY3TJ-^yت%HYKsF"%ʯ)&"|2<˲,ڲ!DwKN3R"MyFDgw O9#SDDSlPI`dJaٴe(l6l*+v&2Ԙ6 DmL6R``$6ᲫdQCaʵ 6mwwuTAl0b&aIf *mpWqwUPʅ +)h֛&SuT._p$ANBma ‹n}3@?3/PoaPQʲ)6@etӅ_4Maj(C :1ntWz~3I@P\ ^Aߙ}~{Gt2WڤآӇ${I3+|}mMmh8&WgAAkAk=M0aYGi6o#?➦H0۬o%>8 h|{\ R0~d8 n-&mMGFKo:4Njk~D FQ`5pA>?("Q ~uMQ&.0q>u~>,?W.='΢ѯ8M_ %=zaT}B i$$/1BJl2zY1 +}BK;K<)>}yőax6S<~?8~o aDzs?\Y 9 `i?7T0"=9Οt'_FoV{qV(տWB-=$( P^=PyH|9*P/ePE"^HB 5&ZKD_Q~:FC^zi-ELZ9s}3cZDKoQSַߪx=T=tPzPi{G +Knh8K'_5kZ^BۄG__6gKIz^恳??ޔiP%"/7?rpT nGzL$R?"{'JfZ^ޗ(Pkn*k+ƴ/QD^UTQ-RHFj0H(O╠^K/?V#KOJXI֗מ _/P~!F'fXbgւ ~aד_,FjFNqz_/l pVK +-YBA%tbg~ JY>|9鳑v JY>~}/t<)R//3MI+/3 +߷l>#4؄"5i/Z*dKG~:Z +m:_հށKA}m_K^Z">}]>> +_ ^S\~cBCaהk=q#M#+-b> VZt+ H&.~۬GsD'\/ g۞=:ǯ$kΡI03#UΟ>z[}gP@$ir/_K^yihe>SK$aG,s L>:_ւKH^Z~K3K/0ge_/ H _zf. &U0IeqTZCU[zu_I#=,*_t$K0L^U_頂V!ZzKIA+ k|}h/c_EUco5 1I[z_-s`H$%n>=Vg9d.zAyt!*mu!,חBA6_/ _KUm.KkH%Z_RA"~\~Ap MZ u}&m.W'e_AryO^R>z_ؠdCI?/Zkb $k\e_TGVHb:L-*_gz?KKG=R!6_]6 zZ> }~M iyޖ/ 'OzV @&9"=a+ $ A Mr1D{_ 7ljF,p@ &m v"!8. /cI6hO}18_D`G0_'a=&A'a], #XcBz]A`bIlxIwp3մa B .g.l4D$ AC =&odPd0jl5'KKn~ÏKz#_WI}#a-_9zGIPg }}ZZ^[uiEj_%~z +>yP'K9"-iqAuKץ_Xr:_K--š,i~hsA0"@4TV+ߚ+C Mh.#z^yϬ& 48lK_z[:~xO$eqT^GY}iVSҴ D^I6k]2}-QJ--?I(A$R--DtCHUTc~jI_ZZ]HHk KLo5]SZ^kPpGk$PJS;gII3= H: PDxi'A]!(?ޖCB 'a)ޗ&Uqo-_)@&o_I [i77%-i SIoKåmK`\cN39RHG?]9P(4R} +HpP(I}i|&0xkOJeLYioSLh|{%YiRoK^;D'}i6 F4Q?3O{-/,xAAo?gPdW3j'_Kzm$jkZZMNk*4_j_:*4_='L=#@{/j@4QM/ͯ&(8O*)&56D iP?֗b5[+K KTzb/T_/"Ƞm%DRT4_Im%KpG#ItjG#?4f/:דv!'?I/opBiWg)9~`5#]^Ap}/X%1YCHNs~_UWB-=$g(TD_gœoZ׏ +k_tT{6^Dڥ=TֈǑ$0}Ma/r +8=/=-U֗}Rs8LIm#/C}/ O柜5ǿ9zG9pEpk4]~]v;+ƴ/HP"oaj'W9{z KnHFj,POKOM쩞xEU3ײ_)ä?oKAb$F'0 _`[KA ۏq#–K9q'%"=^G !4 !cWur:_$5sKP߾o5*P^:_G/^_O_$Ud\0{"=h/-0/ςucGՇ{=@aK)^ks-/tKX^\6ޞh8 +--#c& +2y}/#׿4AL!;*ru~/:P_],Ǥg_<-}YOaiqjޖ+^?aƖHk +:[ꗞZ~. Y~4{ޞ_>Ns,0@tf,4[VKA)Z~ַW?oKI%Uim_K0L^Umm[]- KKA KIׇPhH+m_/҈~4((1S]Zrئ)b AQo5Y *KΉKm&ҽ A1Y +^tA'Z_K +uΏiZZ]??sg.4W?8ڛ18~ϢƿIK=M4֖ _ ^%KL-u/_j@}06Y_K-Zo":XJۮm-_iH<` pGKWDuETȅ^[MkooAiT{z_WzL7;gII34jtOI8kDu*Ɠ~Ml?ۆl$.atӄaנ/II5o/Xm/6_ەҿVOL?[tIz 3oKkGi6:~< ,pa&&&ML47]$AΓ86o"$= 0Xb)i6+ é|D?VxtL=IF  s9sa ȥ&ti0c $\⒑tNLH~k k@ a Dt< 4 d@!ܜoD| Ť "Az` pEqad(B ,4TA $H5*|D|4!H AE @AZ#ZŠHp@$alB= +H!cCM A)T!aDDDDDPB""4#B"DPB"17%J[e:j am0ɄSwwG%h(h*T4Myz]&eo4 z]1uoaZSꕽn7I~u4Ǥ&BJl2KndIS/I)G>҇7\鮐>&(P@Wu0 k.KAT4GIPim#$&u@U Ƞ1jejMmTa"ZB^O $.A ^M[^BA$lBI^q +m:z(l4K? }/kI03KtT*:GA&T - tŏ_,$ȖWK!ׯ X`kVz ϯS UGUB DS_'eA\S>dCI2߯$1HʇAKH DvfA$M+$i6j0& (NM85t L]!0@Aפ """"%HMjU-Մ; dB"#VFpsy؅ E:!\6p 6daDkLÇ Å&a}0pWwl 0-qLTrZIL=h}38~F2l#q\0F>#ZNH4A E%m.I[+M/Oh\6L&k۬$mt׭|8o蓴IܐL?KJ}RU6pۯ76i렃~7M}KKI#@^!#@\zOKlJy$tC״Et>IMCIzM^VMiu$.$^BJyzL8BtO~N +Qϭ8M΅>iB$\V}~E"\鮐>&/J-+e1lԽu?q]_҅ +kz 8kc▦t%[~xH0/ %T4GIPim#$&'_MZWuHJ>GPT n^ N6]vZejMmTa"55oC+M}h$`,΢Fӭ\I/K5ߤOA!]*_$U5?]L0&a4$lBI^>*7XmXi~c_H&cхmaVt6]%AFz_-KI$t_-˭p &F}yNAW]GKtL>{(]տW]H A^<_]m[_K*| F{"Y\U/ȇ_:zm[[_K(_^- +֬%.1LW-[:? 1I[_ =/_t!*IH%Z4_DtvrA_t[(? +]ie /!6Li&@], +^i7B  R31M^AKXѬ?$";IQa.ޒ@ &l/tpa vJB MڎtVHh7ޒ^ ?l/jA:P^O*Z\HMYl5 2HҊؠA$ؓ_bKda0Li4R  L-ƃbF582ah6 E!aR +hA   +"""""0G,hs>>!B Ú0ms0du-WbFb">O(-]rMgGG#B8&;BC.#: /b/Ű0*ҖEmti:%E[,lE#64Fz6bzc)JҺA @*}IG}?my 7a0OQD[vƺ$w$;OǤ; tO[kmށG}YT: KGE B-}-.؏]?JHxfa)}8@#hꏣu"ӈ\qmx:6-ᄗMbDtN]GgdtyGE:>Έ>:u^8-b>"8_ݥc#29z&;8(y|YĦ$g!D}QgGU/\GlCB>9_&29~} +=^xi_`T>pE[>iͭMAeta +AյK\i;=xBH(tGE_LS0D( EKAkĎt^M5gIG}Zњ>S" >"8"'Q|_;ݥi~Bl +IS˫rP<6(":K +p NTF}#J+R+R(tm!\C?DDDDDDc^ +Y^2ʶ֏B<`Բ#H>hRR>""""#僨TDBKGkhD&"YFExpιL)h|Iڇ * #$A^W|D^Qp 6d 0E #8lMipl lR+"E"*0Ӄa¨uL"%[t;%(\"'wuAYiCe PyDžrTrZI@MBF+A{ VU[8*:Y@ԷV.uh5t4Mӏ4HҝXPO3|%iEWbJ2GVmUN +?~a oK.~ƨ$mb@-eW#fp_Ued^NoaZSꕲ IfΩ&צD#tI}VtE:8<|e;#K[ F_3x~)k4o6%_ILF\KZa$PQl0قxA @@κAH2׺xH~uYH~\BFEHTk?2usRS#w/L&i&}i}o!ۍg +/AEBJl23 l4B=:ޗK~ʵzM%]v;N8JK\RED痤GHr^"T7=k@iSւ#N$"м @ +hmR +Qϭ8MIR=%sN->߱CKt) A7Ѩ3I?MD]!)}UM]X:LJ~8 Y M}+APC zA0jo +k뷙6ίN #+~Z~)j`I"]%ꗄ}yi+.I)cl{A>DePu}%A?"_RN4֗֕EqeyIx5 +/?HJ>FT n^ -ĸ(h@몮"?=kҍiZ[1灧_U"#GD$[uzHAҜG3Lj\-D[ux"_8[?ڲ;qU5%־h,WnSA =.x2<'Ht/-./KnI.l K|2HF/KΞq~i& ]/o$_~W#bƗEBK$JƼ #S꿇uI}P^WEi5kE"mwu uU_H6!$K!'K6~i$_ЯbcA%V>t+#< +KRU"Օ38cYaD0UDx /:$7`vPVt6]%q͙}gW=qE t]%:@^ޖޒ{Z[_}6#H&$tZUcImE dyӷמ]kI03KT-}L4Ҋ_Ht}vMizI/e}yL>A~.>uvCt_#zYi- lԑ 3@t}0q_޽cޛʿ_,$ȘWK!׷!HdN+\0v-#[xim7~ZYBh Vg_A,W] +֣ǝ_X[~CU}Z gGpA&)+t3(_ATG#, az]gg}VPֿcN U~IcT{>#wKj?J %5 J1}a\Ko!}ioV&/$O5R/$s"3 ?T5HEJ`P8]-+K#v-.1LWBJZ}W'm"?xAi$ߎ+za.8@X_k&6Li&@&Z[( O8( \am__a} x WtA AFvUV@WA AFwLJlXCU}-_D|'_l%Mk 6/-d9Am/KWzR?@K BV}Gi6k/ uo+ 4ޒ+5UoCOmd&aAi6դ߆)!$I*I4=/7؄AAy}釤<:YNB M- a:*^c& ^\Ja tJ}鴘 #+c!PXs\Q[$ pk Av BI8A7Jq$ +18~'H>@,1A01 b4am1&A/ˆB#b1 'o xc `kHq)2zKEX:D^@2 ;VCB d+ᨍ$aR +(A +^H|GD AA&CX CF2QADDDDDDPDI[gvpb>#}zJZe\pw=F)n.ˣ%4v!,3]L$>A JrR!hɦ̦PPa6.r({(ijȶEHDkEofm 8pᷢwuPDujPDg'o +_MrFk Vq &Ugu +. YY#5xP?}8"0#JuaB`Zȗ޿-JYuTEA'0iR:k(Aٜ6Tŕ%KYGӸ%Q /%'X^64nI"uDM/'dG^RήuJy$t[)9BN(yF@gaOǻb/VAif)?:MϪ[A_h^jU)גo&}W-˭2 Kt) AG@EV!z }]y3ҵ󉴌׷q$K@m5,%1h!zVPcF?zZci|>gӽG*v4洏Q}}SPlt/O$ZG᾿uiu{x"+ZKN/z B .b.$4ZSi_#xUQuTIVF=3y*O1 N {AL̞ޓpP:!=/$J./KҿnI?]/A#<MkH6I7A ת$XN +" DvIϧ+Ҹ">ނE_Я8 jZ. +yV/pbKTZx֫pI@ /os:O'iKʰVHu9U!5AiEL_?~_؄1"?^U +UE֐0(PE_ Al>k?*,}v0[aK uԧ(tGM[I%:GKKl A,6a[_\lR$!@?յ9n u+-uPDpPb!K@kyyiuH}o凿{ D|isu/@Ac +ioiv? D{">A KKt-K}V^zO]KǮξz_]&:J]Xek?K 7|'j_LX8?<0KWzzJx_[HdžTҤ&A{+CkRM-ZmS:+zKCS}#IO}bbyrkG_>H: Ot!PZY&'H>H: NA Kᨓ B[GP4M<1qA/ˆP G*XhhXB L/&_hkAB4"B"ZM45hi((vsPKB4v +ϣ"?"Kua;d ;GTNtO}KuDagcYbR - M8p TbE(aal8d""0l L6bE(m9iH)AUᒄ 6d]Ԙ6u L&/DFmmC[)8lMmY-DKD@&OmaU 6m-qLă)7vŗTk 9ˤT#QM…UF0AQe>æI@\ QNm/둌db*+e(.a=,_#^:p{GL >=Ӓ4?OB)i灧*ox|&/a?N'rCt?a_MF}D3O~Ι=Kph?Co_~QE?FZ"?Ho e}--&CF$#ZW_/?s񲢞mkAl󤹅4ͯT/c'ͯkƓaBzb/Nr=0zil_},RӪLEP[+K:"?4hg=l=/_-4W1I@^me"%8hʖtTg_-4_O"}/樝WoIߠҢN'E?㚓+=IߠusEdq9F> WB-=$Nu"/dWB/kXx>-P"?Z##ivC^z|2?@mg#y[ֈi;q?I/կ_o[DpQ~UfΓ?%5Ǿ^Dt%)ӧic4Z]v}q}Z==w{8alWi{z_W_Z ?O]_5 ˕e"6]/oe?-r _7iu,8O?~Jz_/KKO㥜I^} .tHk算wP 算CU!_~}/~_ADb //">_">?_IK 뎴*D{_}F?(^'LF}#ߎ"?ǜ/Z K}YAk-/cFG}4c =uqi_N_=( +ߥW9ץ"?@隃5#__]GT_]|sC\idA~׫YK,տRXaƖHZ @W]iңYKx_P_?tO]z:OiңY_/[Vm~B]5,}o /k%UV.J"ׇРĊ_Р]w=/ƅ?ւ/S~ R ;)*-6 iyi7:QuХDM5z_?Y^]ifLk]w1HM[Q sa򪴴kom/͆Cŵǚ?io}06Y__}GZAH<ULPpGAࢪ~}GZAH<WLUK&Sa>BA8&T΀@e=&@k_ޕ8H30oIֿK%7Om7?ҽoN=-VOckA>{!"I&Aqs M1 +anzՆ#+'a=&m>" GI:XEA KRR."B !5s9sa Ƞ&ab/\tRL$庰@ yNa/<6KAƝ*56?RI%UΣ^m&AA8Wy=Io +9kKΈ$0M㴳^]W5ÿI\id=-&ELve QM;a5$- + +K| j#&K4%kzVʨJ =, +^i7bl}~  7z\0oI[L?KuZ5zM |%֗ToI LN L:A| oxA =i`pn $ "  ĖVt BF X=d 0@Z[# cIBc &Ei -ƃ 0BH$8KH5-1h PB)@A0""*!4{>:iGި>Pw}DG? 0y1P +YrADg#}xͥ0yFB#o8|syc 1kKcQAN#nnndbиzGD>D}^q9-YD"> iA B@&- 0A8CGسr-A%FtKN'rCۋp#vH # Fph<Ųa4q2PDu78q3:> S>߸\BaBn!=_ hCZ]k8KtxZ}E8";H|auYuA66,Gy?Y!t9ģb""7"믬ؠ$l=h.}+V({Ma$T>QMNym-JD/H># $,aAzBm6#M] *dqGtcMvS#8B?:4}}lR"GӟG+チ!{S-6.R?+?{I6JtT{oUkv;g楝86}6q}PN!qjm[cp/U0Qw6wL[ǺmSwm8n[ 3N29<P,3>YBH~յtqů@w8Gd"*")RB""88)b +I$!i3JqJqJqꏣ EٚShPH%+4 vPDFqHD~"'U R ӄ"\ͣ#"EA1#Hin= gD(") +K+^y%,R>HC,c-őRXC 2tA$̓+C:gh|d);4VQ)uhEB#k=\3R"0l 2tkPl6ͦl \0Pl23ϲ 2YȢ)(v,Fzql6ðA ήEŷICPŚ&6Q0^vGŧegn"HV@{ 38EVJq28Qi78"@jr1D# +ԁ#b鷧}bF$iN%d1sZ4C|*\  '0AM)iČixֳ~ٜ6'h!^%o0A/y$kY:('k(IAA/vlQEs?F6?5J0^I"uDoZZM^7jS#_ гa4}kL+]&]ǘ_cI-jZYECZeY92 ~EޗKOKK/N"uvW>@q%xDt%EJq%s;@*͡_t_4W1IsO_G@ΜYoJ/KlIo&dMzZ^)"=9Ο0YĐm/ouXFkO0KFKLm/_#}G?qI/H0J-?ȒKoa楤難6:_7}?BZ^Dz -DuHT}2դDUxoJ4>Ǟ. +?!Z}!,uZDD.)8~֗i?ڲ85W8fS?4[uy* B1 8M  +S&ᎂzLz\eiqx0 `3_ݫU_p]~5#O8ms5a"> W}7McKJtu V*]Wny2MkHҿ+K//})^ %~TG ?\ݒЋ$ /R'Mםo`D{_}yB/oKcVQ͈ +qbZsRpAW^ߥWvIe9cB(--. }3yÏm{(A&aKtIe8}_N_*sk|rLlR(__3fDr6Im#>/B/C{IW4 )%ZCX"?dBּ.шUW]kP_tAcf.RG?*յom om%o0--WKu^_Їߥ_[I[ڶz_Muحk]2ib)dnz_X)bq]e 6 u u%nEYB4? dPֿuPM4׿lizHK59 4뺨ߠ.ƒa׏Ҷ4io֖oIap. Z}a\&">U<'9ZiwT֗ק9Fd tt/OO5I6e >ҴGK_ZI7#.9=a!6&=ﭿ=vHi'x =v}/ޞZ_^gz_[ Uo.2moiU/7i/gY_T8TM A_ץ";I/p@տT0JpCV y4ݰA+ L:lE$BEu9|)6"[~-oK MvV~O0zL5_ ޗe:%niȬl5$s9sa ȥ&_ ҆i*QLyq)I 1SI1x c:IB {)H ?=b3T u=] TH2 m$/!PY>Y&'m#Td* 5Mi$1XAH! 1XkO a`IzI m2N@/,mSI$UVzBBEX8E!LUB$ Z$ V{פ*XhRb*Di$H!%Z!E@DhRA $>#H!!L$PB""""""(!yDGZ ""&6QЈ5!;/Ab +v*4ED Z4h"!hɧFp5]CO"h֡ . 86l(eOfmȍt>ػNS>BxQy0 +_Q`*!}aSPP#EêHd5@Ug +YY#5ʜ@D-V@HApP\ /ˤ_IO=2%EקD(4UC*I )WpQࠆ pPC ?tvQl!B"ŕ::ehpUւiNQk(uE~NCZ^PH_\[{1 m7gҞIʚM#}i'%y(Jy$tZIe +qP}BI*cVAeB $Nj'ZzZYKK6KK6^:3"- JΠÜG&J:n1yő΅>~NB.m +}BЋ _t Ȫ$/9ZdV{Kי^.Tqsj9cK\mrMŢ.`jYBK\b]/ZQ #+yBO3Qޣl~{</IKQKQ^GIfiDkH7K+tPB/?}A]OAACe_@_RDS|< 1o#xUQcJJ?/1Jħ-'VQ-"9O1 `IYDbA%_e"2~bKӝZn n:0_7 u#K9_J/Z\Ga_~#W#I'PpIr:_i3kyC{iDmko?I7A_gChKүYPA_zWGI+Ҹ">ނEƕ\oA"&IޗI + ?KWߣK\RT+N1FƿI?$BGK]ޖ>acl |x?ï " +m $ Σ[xim0t(ŵ m/ m Ap!Kp|s@P@P=85r#VPPDpPb< |B +1:4봯iwKC?AyyiuH}5 ({97@$aH 3"]in|Z[y +Kya/u_@ KK9~cD& Z]OjA%$~#l?YſoKn~A("=#ÜX?]O]|>CI~$?Id'+9PKoKa5Km_Koev5n@_KxaxO ?TWA(aXA(amm8 [X1V-cu_AzM|~[[ [m㋈ޗ[ w Cc%MsJAaK- ?a.q.O.>(O.%Vc-\&Ia%5kΓ3ҝ%ZW ITǥ_b4]P[kCe_@ZW"?֗@W9zG/ц]q}8;z KnLnq=ZZ^ T+KKK0Kj=/=\4G_ }-*[ks2~be"KP~!(tO#zXAu8e/EkK,:-iq_t/vC~ZUD~^癈tf"9/gu_D} %/#@z^{F*KşN_qu,7_Kt0HWoZL=.oN:KoK)_5 xm_~.aIsƿҹ5 a_Eo.aE~h/[ϡ]~vam玒9X@ +KC6 !k~t]%h. a6>Iϥ& 4_^}}yKz_kjߥ~/0$\/I/x]wk_Ko-iWi҈5AP +[ub)}},7@PKsB %$9Nk&[iK. mkYGO$).?:E{M5m}io綒[=~0RH\HRvjm/KK)_Ic@K_j?* +5 i y{Ko'T0~ICK (iWXA9L=wvi}- A\~A("<_$Zirt>gz_:RKm& ~$0)tޖWk ڿ~)m~M0-#|z[\";Ic@%>JinNm-o XA8㎓i6~I/I _0 |}ۤ[ߥao MɁ&ImJ񞭧C_%MEgi& Al5ik RN:\) H0׵%_%yHK,&]$K%ӤA#+8A74dQRAN_8/b~qn[HJ ~b~Xa%*-u1 Xh48A4 {XK@KqXLD5| 4_ CČ8hAARt A5A(qү aP0G@I:BR GA *! ЈBSH'DDDFDFPB"57$OmKsB PʴSg]agzνX80laam03 +FFPnzB(`A )#:[{ oV&azlm?HBбF.*վt']UIW{: +MiSz_/m&[O >i6^IhP~:ZZC}h6A`c!BiA?Ӥ$S 9Sd 9S}&!'m~N؄]J,G91YCHNsXB 5.p@$aY>m mǑ$0}GN=)[p@[*VIpNۄG_ρZXi nE\D{z KnՔAZ[u~!GoKAb%QXUK.--?D{K.RqiVu}C~ZUFt,BI^_bJ_? acхAl1il㎗Cnyxsf=#>}v@}s_V[xAl?_"3 _OS,00t=_ oeqTy=XAl08K +u4u a%nQu]T}/Zޫ_6 ~H]o5 +Z]TQ5*mE.Q*CH&r(\"(F2^E.:UT(me ӬWz}l?3GSꪛe (NfaC&v_SCCZ]/I6 +tN-.z$Û&0yBW!BKOā*ZT*gۭsKM2y;D}iW6c"s}a:Q-v~8~'[רnm@!y%0|KKg"rXKKg"}}~i7=& !ME<>![k_*K/jMDǤp ?[ &Qq$H%qM/iubeM!2Νp/1~,qK7(Ƞm_YG_/m$jGD*h3^頼g M $WGD*h!5_ +ΟgF$p΃.}kl?Oj:fzV_HH<ϡTϭtMtKOjQ֯e ;uuHE1쌏죜sPer?9aTC98%G8Hj WJqTʡQtG K:aN*5*ӲGGRP_|W5i>)_ZWG*VT4_HSKK~LWf_{]$E"?Jr=jst}t{@9zG]_%mGPNNE:61P"oG#G3Ӕ#I{(A@kGïTl?zZ_Z *ʙ'_JqlRZ_ҭM쩞ݢ7xQfzI%Csi/ޓQz/"<)hXViפT?zJbKKpc M0b-/I`H%9}.^]n|XE4| -KҦr]]n|Xz~Ps_1/K׿ (c-/ $I"ar_qP Ai^>z-K.!GZ[tau_!@\BJim:tuz#`Hy  Ii/5rՔ/렐@׮q_/\6IZH .Z[iiViim^pwZH .Z[d--#~hv XJQ_KS, _Z BK?9BοuuZ4m뚟@ b(""?]zZLsSa&.==..eKW]u]7 Z:9=-[_egj NNGOKޖm[VKA)ZzM]?@\0ʾ?At^XZMmmmt--CO< ^Sim,B< ^S@}-v)b- TGAyHyzq۬1_[z^ʅzq KoKtJT-i~!NA#߷)jl?G\ )A~qa6 kKHXH%E&--2=GE$ഴMii":XJۮ~pG@jPpGK; (_~pGu\2\6么_ H:֕%G:-&T΀տ &T΀l?seL ׶sS:!6K!AwtI{Σ<> GHxi֐g'HxcZ[vi!~IMl ?eiKek]ޖOT֖0a,k:ZAv-׬za--X`o/TtIz[k;?TD0kI5M O_MA$R?+ å(~]KJT( C. 5wG_kI?It`Ą. 5^-'$1Aa$آ#Pya/MMf +dCLbCZQ[sgoQH2#qp@Ab :+h%IAY*@eA{AZ@mNXK d24?A0RA?Xi"a! Oi"@ $~L-HFuMI lCAЈDFb"?nR&Љ**EDJ_TJT'DtȖt:jR;0::[:ȣ*8g_vaMiL&8d 0wdl$6l86*#I6ͦim0 nh:AøDoz 6#}]aB!"5ފ|-(I7PU<oa60{ @jN& 'NEZ7kIF0Qt4MmvoO!z}$t +"d0v:L^)nI[aHIIC઄9IiH0鋭s dgҬ z_q.LO ,rB:&/Aޗ ֓ҟTVԍi0/ۣ^CMa^!a]/՞AHKTDGpA#i/L59`G9W6kT +?Pob(WIl0"=9I8g#)vn0 {##(,(aU&Q\T4Iq|( P_4Iq|( P\ VyP@CI.KAUP!i-^B%[~D?zHImSKuA:#_?@Xa -DuH鱰T[p[4ׄ_#uJQ2~ ߥaKu}v`u_.< +-ZzsDtV5 +&*0V_ʙB?ց(Pkn˃R ejMmD[^(Pkn6PmKK+Ab3rZ $/9( ?JX[(0F& ?JX_)Z F-t.A K k6]~>mM_^f& 9}.m*\Q M[h&m*J:m*#:OFi %z^#BִMfWi6IbJo bJ+URK$ ; $Wo.yJaIi I%}/6]{0Cam/(l4EВKKm$t_SE A7OL?H&M%iP #>EB"ʝ?@ag"?Aa L4I}B OKI/et$a kB  0z |=ZSS t:zA |6] E>'7 u]xץZ 3c $g%R85>>Y3|%Չl$D_\}J}IqT X`kVz#A+ jS X`kZA0BA ? Zo$bI~x$b_LjA +?ԒXt_LjA +0 u²uA/C$J!*ZZdyUr9U vPA*$~?Hl#'* ~Hi_qA, DSEGr9i2t+q~K_ +}_ <޿ +AQdCI2L&D4oV3M $"uPdcI;l AFvT?F)HbڤHbzAKN8 6_ _I` _pGi6j/CK$";IVH Dv$bT A M m&R$I鴽@ &oj4I6oH6h/6i/!m&ҵ$i7MjA$I (l/Npz<$~KZF tij9e#P@ ҇H0(I'J{ x plI0bA$ aI8A7 BhI8A7Yp^A010A!oA0=&u 8 A`IIaL& /ᣡ H &(5ABD`AQd ; H 3 .0@A_4= A4) +G@A ZT$ `$F@RDDDDDDB:d*FU|B%$EȖ#d1Kua$<;Æu*#j 0DmJ6쭹ӜlEo +*8pιUP4S&6Mf%Ցu 6 Pa)ѭzaIMi 8pl?ԁ0 W0wvŧIu +&RCg6I J`M(DO + 6v\fh(pDgM4DC LD]$h2auTL:nʬoazB(gndb#1l}voOT,8?3IPP\ Y vBhz{} Ҳ0!}Dݎ2GW1~Z YPigWJ>2GSZ  Ot U)a~FtqũC?q?HGE6g .>oI$Hv$ѭ0&>꠽)>ӣ=?$k3Ud5cI~i7 @?#8C~PI!bSI$o6}&m[便7Z/F'$_=E 6Hp6pWִ4Ǥ{~>\7 )kнBI$Qr[*6US+BSg@1֗Zbmtd㓠^r.rTyWZ:CLyW*}:CWu=5KZr}i=kЋg8#UЧ.a(֜^"HȀUpi `Ke)pOLtsխ}/W^ C R#ӜQi[(!/qHz%KSD‚ 5=Wai/҅ +k:N?c|}P!i-C;IAB{<ׄG/y~c. %t#ca4ޓΗ7/$4דku`c0P%j`tW"?kti7/_}!#X*]t&߮ 2 ?QF_kL1J-R˃R4ʙVB AQW\4FC+M4R+怫A1_ _/P~!죘r1szZB^!E+#v`5I.֗(H$s +>m\^>a"M^B'w} tp_]D46o-O@I FT yPxp@ Xh5C_D%N7Ci &}V$`((^; H ʭ$-Bj WGXPXJ)g AUhp;A"# D !ڪhG+hDi!#b A)@DDhDDDD#ʠ)uk㚖qeVjz (9tSVO]ok +x]!Z^]ht: %F&T +#-D}GaG#,䴴r>8V]"#XH Q(x<▃#> +"AΑ͡4HvɽfUf+8!()PM#G, rߜD E8DtGϣe`AG4 b1.ͲD}D#jPaqM>F2̧xFAAj/& ;D;#%/)CSGE}%>px17D~Mb/}]f&O9*b}f zV)6E_}P͡B:OŲ8k_g(G%jW(YIqb"8# :Ο]v|[聢)(v<:GT}Fk_~8#0q#;"uL7}}!?_{}}F8TGa9;8Yy$b!^6(01L⾂p8[)!݄qt; MPqKlf!j&wN"ѵ(vaQZEa ^(m TܡA'#V`M#n"1/0X[\)I+S^T<^Wr3ԺH MSXC"ik#tD}%HNSEGTuJYC8#hꎨt`[D9C>"1*ۡtoI}'eqEDi1aK9*IUa;/#bQZ#"((,TQ5k *!Y]:'̆"VGb"n.Z6 hl g;N5dpμ3\" Z;;F%=ݒ4laJl6f \0Pl23T6{(ijȾEQHkZ0.a-G2*]EICP"]]EŚ&6Q0r<oaVYӂoaFk 8EVI&yʬΡEén!]H#DޟadOt4M4HҝXPv:L^l=p = +WbJ17Q-G3k@үF}*H0nZK5A oKgi~["IZaL?K/m},"䑭fjaXa.A$_USY٩)􍤽[~#i/OOO3_~RI"DAAy_q?3U7BF4ǤZe!\椧GEa0&}Ǫ(MBJl2%j7KAdc!eY:B ~D! ."jDN_N"O'@/*%ODb-zJ,<_󈎐2ED"Z8B 'sUjӋy!VӋ3Zd5Tg?IeӋ{a:A cJG R#ӜK֍#Ӝሻs b*I/ +%KSD‚ 5xuiA[U|( P_A}iK}P!i-/ R-ia楤DKoSPlt/D},l0":XaU$": %/Knv}2դD^jaf +-PGU%$\~CUKKuO(HqK=V%""ʙB?ց(Pn"5ƕj^ **gZ=KnQI^;y8*4R+-/~ ^ Lz\e~)Z }/&aMAuXI(^I^IքKb0Ex3H ˮ j.0ԑ 30uү޿hmh-$D¸_ k\U/0 $g&RqoI/r?ZZ#A+ kkP@?/F竮 X`k\OE/RK]e +_A (ZL>t)Ȏ + _e  +x%A e ]kuu Xt_LjA +?zMUH}ߠ.ƒa UנƼ?Kr9UqzMPVߋx\H%ZS3Mϧڶ9^pM$O4INq*_uM.9GHh^!XiKJSP +8)zA\S=(D RnO)xA#wM <c aBG,]/r?&?KPA2]m~}IWo $o4Iҷ4W$1H +~CJuJ$1Hu[U_">WM U7 ~xAU5O&#ĪiGi6+}ol Dvhdžp@[J $Gi6FUoCO!6o@ &m&LGmZ CI-7H@ &m!$/ehq zKA$I.xH6aaIR xtxA@G0 x;l5?%e#P@ ҇I1'JAm^Lyq)@ ҇Bޓbyb0L~K$!PXDx1 '&!P]ic& '&W W ThH2 m$/zbd* ' $bKH yPxp@ 1 nA&!ZZ@*i ALL& )N!xA`A,$U/F $eVEX8 @A0V{א1 A, `,44,(%G@A +H!#!hi-4$ A +Z(!!#"""(!""""(!1qI7: ]_ņCqgҲlԲmBAt{@]堭Y2JeQIMܣ;t@:GԐD+pB:pl46zbe 2YȢ)him00 +H5`M(la uwUg +YI7O &Ugu +. YI7\MhvWS +Kצ4MpP2W!DTpP2WȢ z[cٜ6T$m|k(u_%Q /%'ZL?K 􍤼0'TK A^ F]}B$h IZ) +W:<:-~4ǤKK6Sec!b/VAifBJl d5 Esւ#N$"мԫ$^AʟA739F{a:gsN.[}%2Pbq$K@m5,%2Pbl- J(a6ίSy=;xP@h'?ȒHIm5K"I"]%WOA -Du5kW_ AۄG]{}-l[CY/|< &P%YDAD+[u8[j + )Z۫z[zMR+_zZ\^>7 qJX_nl 6G __i6]}v}'PޓiV9VSZ(R/ͯ?u 6o$JzFi %{b)Ga)X~,ҽ+#$?GDm[%`pAW_i괶J҆K*> T]%:@^(t}+KsJ .kdy$tQʰVHu9n('_]L4~_ &F} 0z2:KbZCX |=ZzXA<.aCWGc붂A lm㥥HdH+liKi$Aim3 +~ߐu%a[ۤI/j +ֿokLRVJ] .4iu؄@;zZc^?K U-u @Euisu U ?T&}9©iZ_Z]HhW' tKKt-KtA\S:XaؠdcI4ΈlN{~>]&F4[ #;No.2)Ke}/AoKtAK,Kh A M/:@A#(A$M7 Z 8Ai6$i6aEB MN:bc^O.C^{ t g I AjAd? VFy" +$ ?0@ I s@V4O ` JʰWD` *B*XhhXB AU|*e-&A 50E!@RVIJQhTuK\td"'*%[vȄEGa8pιYDmA 9FԠSo +كaÆuvR)4dl$6vfie" NiMiÆHeB"2_;a6}ރ pWlZtPBe%$zn>B"}]YDK-8l-qL Pma& +}:EA.4_O麪 @I7P =IPvk3YpXF\-.F?VSS(ˤ&EAp 7meJhP + oۨ]F Fq[v:L_!H^mh8&WgAA[ȊU: + 6~ڥIZ|& 'H0k?F:{8ԁ8ԓ T 6|{o֘;DF5UGz Ҝc쎍:3ѯ&J)^nmEGe3Y/~*S9DyŒ΅>%JAaDzs+].:5kKFG R#Ӝ_T8I4Iq|( P^#Aiנ# In)%K +kկ}sc2xyZDKoqm-GPzPŪGK _KŪG-Rjca4ޓΗ7~A/):!%TMaKudtW"?kti7, zZY +-_?KJuA (۫i T-/_a +/5 ?2AQW"0KjШKpei:G0 +16aVzxc&+^D=sP#{~0-rR+փALSr_bӭ +>mM_*xj /㥜{~ tl /:Yt +^ "mIYj>b8_GKI6/M[/~x3?ͬki/ai6IbJAׄhKҨdKֿIߋ>-)đlBI^k((^,RC4,7Ia&KGϫ ;oJa'KoaGJ .ҲQL=6Ad'6@h\6=Í6p۪Mi6-.֓z]j݉}:CW>IN +tҋJA [5* 8 ?60y:oeVjʟۏPVE 5}p>BJo'waL-V?CdUA4f/AFz_$4T/]տbtuo'-a`&$kzC[ZU%!lWHW֚MPkd41M^KuZ5 u&?VE8@0֖  @KIiq!5gA$jK-1_Ih:Ih6 hRb"aEG:>#R;젅l&"#-‘,iqH4 2mdu8v9-G_\Dyn!]Џ#JD[CB/SY~a`eޑ0Mn%N"}v;MwlDDGLQp76lNMޖkMom'GH4-/ٰlHc &!b?D]-vmGuD7N}G(p_pKGqlCDI 상J@莇:}bbhV#ARuJU">q)t}nJD\#k[ڳ mK6"0ЈDE/,TBXGuIDD|PQ:ڏYQɱb%H>eR%J[vv.4TGTK#8g\mhs%GchE&tO*)ђ.0:adl$6llL (aal6rgՐhE`LIm0FEa,5lΜ8fa:.a6t/@UTlI@P}MzAN]% +RpCԘh)H* x $Ar1d%?H#DޟPP\ ~}p鴛ȗo(A&a۱fV*WgAA__dH_Oջ&eo 8&'Aޗ;H1Zm U oK蓴IkF5XH"t}Hh֘~ ':N ߤm$ Co/_բ~piE!AHKk^ue#@\zO"BZ)'h8 Iױ66&# +P d51-΀^΀\7 )@k8Ez@/!%Oy#\za#\9:E$|6{~*Y:.Qϭ8Լ}tzMRֳ4t\ZqPC$[(71HNsY0 L:*EG R#ӜKSD‚ 5죜sRO>V撥KAרd󐴉t=TIWO9 HIm$ta -Du^U*C߻@?%!D},l0":{ &0P%듨q#`^| 8ua|[u۪P3 +q5  ?QD_Zu(5VlKXPA (۫_sP#ih,Wt9?KKegaZA)Z I}b8M6]~?s8R|8R 6# to& cK6 J;9/gxA.Rq3IP_]D46o /WOIMfWƞ_qe"?(? HI03 {! |=|Rv_ן_c.AL>{/p@|Oo 3^}}yKx_B 0ge[T %Չl$D_~Cop!ʂgHdK+ڶ6A+ kE" `Wָ̓ZD ijΏA0Bbu$mH$%n9ήk&Z|ПC?IYBH$%nMWoaVNS"`ʛe>æ=Ra.qi֬oazB(gPpe;5 c2٫!#Dޟ+SΩV!Ѩ~߷Prv}QHӎw=TZ#I-o*oծ-T[p!} +[/A}75k#wuI@@UUfj/o KuOmǮ?\_a-]AQ5W(AYU TαTo8-]AQ5W4F-78h,WW>DCQ%_0EA |)__bӭ: פAu(Os8RK| ~XAy._O0֗ZM[R3_ +izuU_ 0kȎXAq~lBI_(":4kQ,YCD(r./3MI+҆Ȫ5[l1iNG!?o_T>8AszV uA4h/_/(l4Jȷ]//%GO҆KE* "#Ք[$tGE{:*빞ZȏA7OKo7 &F}}9I]l? oB 7 &F}_WuuIWoa~ 0zH_Ⳣ\_a~ 0z/A |6]V%zZ^OzUA>.1KzN>$D_M>?rSHdK+Fokk]_ V\ s(̓ZDA+ kئ)&+[n VKoks\OKn ׌0Mj0Q:A?*t?C]0Q:AD5iam +A*AqK]KYƖ+ Y&P־"$qK ?T& _ia'$p;+o_AryL n]i.A0M&(Iy /uPdCI4i~wMץB $`}mR_$1Hm-KRO hK%@D&@KUX 6K $__;/o]o,AK'UYOIHĩ(@A# KkkNm/+oKIHĩ(@A#|%֗Tb R@ &maQniqbxA{KIKAi6Zä,"~zBIl=1xb3մb Ί^ZLia߆ސAZX$\4oI/^LH0(I'J.x 9?a‚l%`$F@RG!elI$#"F0I  XQЈu*Zv>:>/GG>#Kꏩh+B#B#b"81"Ğr99ig# rAG"Ar-#;%R% +Ş@,ˤBq& a88#,#"Yqv- -`9!؟AlІ)*}I t-Մ; +w>mP80#Yمa]V*?@v?MըbŎmK 6VUme;5.",ϥl6‹*UNE"04<Ž85:LO! 7hx!ݨ-I$4nAAOYީ fGdr8$dqGx-8"=Tmgͬ>itߌ0ocDi=68B/ $%-/Ae͆b $ݥW}#ArM4-uKJ.JCG_(3#28ƃb"$# 0@ qQu׈Emmzɻ_zݽm$үD">D6 }QG6 #>>DuGNq>m(Ϊ~tDDD^DDDqw !g9#"X3E*&5q}X.o'[I!إ|"VF<>g-#:ꏢGF8!JP8 .?b˲컈8&'pH1+6::b8# "#bmP1N h/vеA!_u 4۶EڗaP"ᓴm>d[_V}8*>R+ +Lv#1ɳхx"mQ}ASiHvA9#tG#꽭M""6#W0@ ,D8 _clb ZDDq `k7V״qCP\1m"4~1I1ZAEgTe7#SN}9>B>AY#ΚGDu}F͡[}~qƇlDp#Hƛb [A88ooA73x%&c}6c;*GUFiDiRyl$q7`HQ>Ꜭ#$""B,DDꏡ""",-FG}QG}EaDiG~D} q&q,e"-FV`Aage(Dj(ʯ;D; J)\hL\UC:KhDB"ȧDBe Mi.64ϫ!g- &}Ypm0Eøp*DgPWqdmg@tᝅS*63[:p8,k-Ͳ3goa2aa0I78zA0Q@SPPvk?aD}D=h + oۥM߷MJDzah{$s̭U*΂M߶?HWд,Q + o/Aޗ;76mWgAi/Tv;Op gD8II,ׄDԿoI ߤm$ Co m:KDFI􍤑vlyd5:_q? CROAc='Ti؛M!%6H os6OΠ٥ւ!C_^I^\>uh"TG78PHH"[# zL{hY6L59ߚY?]#D1 83?Y3@8^>~uTu#Ӝ3ҿ]tYg +kկ)z>(a_ D~"]%g#DhO$ad?[4Iy'Щ-#T3ҝ%+0/u8|h_aƯO[>HC8KkejMm8_fW[#[( +8 --G1ZDײG:Seav+̟إK/3^a#,99/‘+K._v4vjIS_f~Re'x3:}-*̄ /Jk./3MI+O_G8-9Q.KWށJU +m:9_|ik>!?cv +몬'(Aʡ҆KB_(Az[(W㎗[(AYk^~A7O>Ac8`?렒agAA̭z(zF}QWT/a~ 0z^?_]y+zC?{~>5VA lׯ__P|Q|xK <6]pKm oR_F{"Y\U/?!p!_^}%at҈5A?/`֑7Մk]/[_SPָA (_99#(ӡ>5~1XoI[5_C$J!* <.?/A38HQ<4cbJj@ڐ-z][z|ZPtUi +, DSD9I],/XHXI]/ ~H]o4I9P[hPo_AryL G*GZW^ZxyL Dj&ߧ7^ +&D4Om-?I, +٠Li&m+}6/g~.Rz[(p|1H[Km& N޷ Km/ީm/KXm/Km_1 r«zMF%IBۂ$[ anm/ uX@&5oҿ [zL5H]$I&_Io_&m&RoToÅMjA$IiV!L4Fb ֖m&Ý>}%C+ zC1h t" a.p t$ǧΞA6P + +l &=/J}x&?%A/@i$)y, AyدA0:H2׶L1ΪpoG>TB6gƐd* D B4H& A`!y8&FM&H?0L +L& %t-@,A%zXHd"$AUk `#k"* \p *XHH4i-& DHD -#hD , V+tG^B(&DE9'8-AT_fjwIihIs"mB A'F24D+;(D-QD+D&l"-C:gբ yOPsTAW&hDW"ȍn3"yF 6pl6ͦl \0Pl23T6lI"E"Mi.'DB5+PPu +<"[((vJQBDKP6҆&"%^3>,0ضRpٛ#EYM40n"1Z $h)ʬEA$n}.}'6l] z4HҝXH#Dޞ +B$, _C|*\ Rf&*$/ +Ql!oK߭g1 z_ixH0"?8Jr'_D#ZW$ +'(I$|$7_IKof􍤿o==<~ F@{+L=$4o6Eٲ~?~WrBS#K(S_ гa4q?Ze!\#@\zOXooUz'Mʵz BI=-,"c!qX}?HIMC\mt )k?󐺤"- JΠ xDt%/*%OEJq%yQ*us_B.m +}BЋ _u Ő~9z0sN/s_ZsWMt.aDzsIG9{  ֻx P_.Aޖ_:( P^,#WZZ=?ȒKoa楤DKo}MaHIm ϡ'Kk$("Kn~%/KnL5i/8":d&Uhe,E=u_%G5\_kD*]xHqK=V*]?]㤂n*Z"H&uL0ȯ"B:Ni}L4~_$iS}=6 5-#Eֵ 0z-z] |=$߯@$Q߄h!#٠lK_x=IA3 \?*H ˯ߨ~__ /@ im_/#>?I쉅qTm$9F{"a\U/_ & &g kW/A,W] +ֺ_X V-lJ_JAaǠ]V?^/ H*#HALRV묡kH$%n} |B +1:NiuTc~cI0 zbA:Ahx UT_P?I}c0BLȟZ[ %5 JMϧU **/)ק8@#0 Mk +ia'$EWTzI/A%$~yO  I&tA\S?G,]/r( <}"?߄J~A'DOd6 K%Iߏ( .M==koZ@v$2ق(OFwd[ @ԡ+t=ag~D#$/RBUoK)m0(oᴿ~xA t8 i.a}ߥ";I/p@[J $Gi6/:@A#p@[ \%oIAlVai7:Mmb Iqo8 Iqto萒tW SH,7]Ai<:YNB M L?^8Aa[ +*N'%[j TD:\Ja t" 1N:C̏ ̋!$Ʀ]sĸ9ŸA+, Fg 8A6z, Av vBI8A7 TINMTQ2>M;%$ + +X1 h; wKO a`IzZ@*i ALcL& - bN + K_KI&!-aa1] b4)t_  ^*R t0@AZEX? ` *v>㥈HaDvGiRi!KA $>#"BGp"B>! "!r@,F88F?/ŜY ^qgq3_}IiiZ!=dʼn7flB{5'ɲ-DiC +?lheT{uIlx7-%OWz׵]<5  +endstream +endobj +30 0 obj <>stream +x+*T04U0B C=SSB!9WA?37R%_!+) H!$Ѕr\CR +endstream +endobj +31 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +32 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 88605/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKY P>a T#a| $Pm H7(BmSΦqt ?1Ni]7YI][ \ȤFKkCD$eGIտ"M_8%)%oz:kn}vKe!KIk{MJFǣcK%_֝bq *5ǥhnk㎗+U${ح&+mJ /㤵Uڤo)$)zZ*_KKR`I7sK?/%I>?"uNK_zXIZ]BC%?/]$ax/Kfn%io%KJizH0RZOOT:Vm-T=]]P ; %-LiI&2T ! aaAAI"""""""''N  $("Kn~^ҟ98*]I)RDS|< !-_\kKejMmZ^ޗOZO mtu^:1XX"׭& ^ւ Z\F^p]~5t&ҭ/Oϥ kyCzU3#4؄^t^:_,R ҽ+#J q_}i[l1כ~:Z 8Et:eK4"? +_ _}pn+ /JgP@$i_3P"?9u~hBIm#>\2|0H$h/,s :/h)t Hk[|=BGk  u_/ AA,}veZ0IeqT뮗_AqeqT^GYk4J+ZZ O$HAjV_OA&)+ux@P=A"ifTouIi?Bf Nk 41H%ZIx!&wK-kij'"wUZW%@^:Z]5ՠ +կPA޿Ky<a&D4kKkuA'DOd+K$1HB(KiI; `eyG9xbAm- u]6[i2;gxm/J`zWXa~@&!"I m&Gq䄋=&r I H6mp'a=&Xnoi7dQ` A0͆ "yp(ڶC3(߲ cL pm7$JI"u {)H >=biFy" +a\H! 1A06h1 #XAH! 1Xk@H ]xc&K(B #XAQ[BQA0IU b4)t_  _薱h D K%Z!GiRi!J"""8""""""""/ZVL̘BW[Dɣ-Q +`AlDQ#D;WPʴS` Æf L2(ippwRl2H:ۄFggQnˌd ! ZPoaA(ELf# c2P:h#DޟG' oVAa buqivLIZh}*} B᷶a0A~Ї9 -? z]1u|t5$v~8~'ZL?KJ}RU6pۯ76@Kg"o6&IoitM_*FPHKKi{i?:K7 p d4*=.n$ID5YF^"о!AJtӋJS"HpUk`i`G9W7zQi[(!f뮗/eP쌏죜sPP@WΡSP}cNOtߪ^ ?Ko*o0\SKuA?}75kp=D[W"ӥM]aul B +$Uf4F*8S6PmKK+Ab3rZ /K35}Dng'nr1m%Aue'w 0M!I|k6aL-W#lBI^>*3IK x괶Ҷc_H&cхIi I)PaWiBH_ --MCΊ-BL4 +6ﺺaǧH$ꗲ%[uuz:9=-H A^<_]mRm-3~D?kj?--J+Z?7Ԗ$z Z[aLRVg0?i7ikLjA +?D5ikKk KL JhI5~8~pG$O5p++/㜎tZL +]ie /!6QdCI2fVJIgeCKeb/W 6/'UYOpGi6j/%֗TcM _Zä,"A$IQΊ֖  @Kׄw Ą՝P/I.!>^$ pk Uil& &[AG t4:HQh~@2ah6 E!!b"aDDDDDD* ; +GѐD}Q#+ #j[v#DDIB>-lv1l#!Kc)٬g}0K6 >3IcDGLD3"?]J!0ŔylM1dq DHj]t;BS8:SaJEgHS71-ٴ=w2gf{7GD>KB/B35w}䇒,"E $0E8aFEA,+_۟Vh OcC(puWoBnU6\˽o%ٽ#<+S +(pDsU0/W_n;եRZc$عڶbA#hϣB#yH MUbi]A"#UЈEY}PD" ꍣ5 (@8 "> +1!61lxL(#!`:&TD0DEA"=)h>R>AK!>#aZiX>d M[)n!Xl" 'DtȦt:`YZ ~3vR4ITAc|8g\h%vaMi@ \6͑f \6 ͑f \66 ?хQi n.a-ރ pWqphm霧8i҄{  8Ah)UAh));Ȍe;Bt4Uz}FOQt4Mo(A&%4\ $t> +"ݎ2GW8&daHIIPOsa_J> 6)H0 aIڢN'~pXN~oԉi0/5Dѭ0&|&XAAZKg"to6&Z"uh"{fکChzW(֜ZP&MRֳ4t\Zq~ߊfsN/L59e0?_aDzs~~JAG R#Ӝt R#ӜY3@X׏ߔcG8pC zA0撥KAښ$(a.{eY~Ue'DKo/ <<-"]%C'KG/%_?T[pI/I#ca4:ll0":[?p=D0[W" `c0P% &0P%K( S8zrtV5 +0*0VEE2 ?QF^AaN#A (۫Ȱq׮ )_6PmKK+Ab3rZ  4R+F죘rAH0+Ab')_V#_M_ | PZZi7aפ؎>mM_C akov4;M!I|kRlQ M[xIMUMizuNOFi %z^>֖ibJtaFi %~&\_fzr +^>z-ZM[l1ɀU$0|zV uI0U +ovP'a6]%q_҆KB-aGJ .e9\ _P~t$/H&q'I?b:A4ȓ A7O xJ &F}yV" #>"?Aa L4IwW_"&.==.A&T 31uH?IՃ% kB  0z){KItA h. xEx3H ˠ "A 6]pJ0~׵m 3~D?Am}W $g'Ra4M/$ȜWKz3{k@A+ jP%:?? +֠Z_oA0BV.lS/Z[aLRVgP 1I[e -[a 1I[un _8 UG5a!*~ u²uA(aܠ*Am5Xii VpO9U nH%Z[H."#9Ii-<A"~zsA5 ?THNqj MNpia'BxDr9i2t+"?pRW <_ <|"? !6&?QdI25&ANoտdI4&ҡA +֖Pgd +  R3蕿\{p@ʴڤH@};^AWM JoAAF!7a l/ |!۲%V[ A M 0ޓtRPa:MA$M:MA$MMI6n:M0 it 7H6h/6zKA$IiZAxA77!,^&? (l/NpzC1~kYH t"ǤKQk)N:C1h,I T>^$ pkIB1_cNMH2Iz0A$A$!P^0HR  AS a0ciA*oA04ZL!xp@ B4H& VzXH4t?#C [%p㰈 `A v.0@Aa" AАZzD -"=P@RCBR D -$ DLHAb"""DDEG7(qYŜY 3pRfDD幅uL9n#{ oOU/HJ='zCRĩӋG9Qb0ץ n۫,WAu|J:.OթoXl+kI[TuZ4Ty<rܛI;) MIIt'&L& ( H ʯ@R,TD\vR|FIn!S<#+"ԎQ:;(D" Y` sEsR#yQ:;Dm36 \%_2*eo m*t.p0el8m6 bEզKkD"0l geD(uP4ݑOmCD&17i!Zw e' @`lag>ְTk 9ˤ/E 0g;s5U}! +6De;"?"חn6tW\ ;/쩮0Fm&!AI6 +2pPm&!A洿 MvPSLkNioSLkӆx|Ҧa^AWz__%^DGGYZtI5/_5/!Z /jMKW}"k_zI(8HB0b_Z P X>W_.D5CT4`u_?S_},KzIȠgF$pЩ$!SDy#鵔j0oZdT <-([~h_:6UgHBI5D?5jE=^AtUKHC>a樝j[~XD{9pZa' sq*PH|Ns1Xo7=Rʿh/a_T*M2?I*G0 |qTZ##ϡ_=axa^G+/$KvUfu'/GUi{kY9RUz9zG9灧IUKK6]}; ~'t:H#~IuesAi?Z^D}A<:U3Ηz?փJ7yD4%IER(t"IN8DxRб*pcK9*iiZ Bi $lI4>`Im=tK_ ϋ ^i=4| GKz]D5]t|Mb PP, _oZ 3,YCAhKJr^?d\08t Y+_q֖]n~>RgP AFD{^_^v荂 0oAǜ/e?%ץC @Ք,hkm4#N$AicqyQ<I-,}/ҿtߚ uJh" ;*ru$ _O_3W w]Z4mKI- { Z\idڷXۯA^aY "߫Y:GuxMeg 6~4Q={+?miңY=ukh E=+@KI}PAi%_[oe_KKo +ZHK[/kiZZUBA`u PW(UiDZ SAР_X@lWZ + ?~+{*Nz` ;)*M{*]wYq tDAAh Aiwa6  ͂Au>,!.BA_Bl +CBq[*:JCìqǮl&k!imMZ폠B~"=>^-a&Ms}b"?}]7_a--X`T _x/T4 _/J[ DG򫮓{ߠIWI$7_ 8F?TMҿI-R :"~I=%0  `&  $ aba|$jK˛ 0AEAa%*AˊL2#RUkH0zA75*A/V0ȍIV =,I8cJaAP@Ab9*@e0`Çaaȶ- k"H !c& 8vLbҬ44, $^Ih hp  E@/  AxH4,,HX G[@@$alCMp!i!HDzA0#ЈDDFDhDDE"""1"HGd-Q\d-ƳdJKQ\W5MhJ N2cA8g\2[3w@KN3 o!yXl "֘l8l q\lDa +lapȟMla;"Fl2'0la4mSϨ:Aa‡U N5vD"aM}]«*)8lML0Țn*XaAx3 "k. ) 5D #9i3Ѭh"/Poag&g;U kVBa׮g8$i2#wD%[wLm<3k3 +huү>?0?9QF/!F*itzMB TLI6H +_n}3^P4?MT*gӆGᴓI,rB:.DԻoKo=M0ajM +_*Н>QV <3O{C | %~nI%m__Y +ZL?Ktq6-nL=׫ $/HK*. 6%lѨAHJ"bWy!) a_RC9 !=Al?$h I_:*?_kƓh|ޒiKI*H" d5/車!CU/1BJl2\8BӪ"B,gq$%xHJ5_(DRT4G&H?~N> G/*YӱhѪI-?8DV1 8*h +&!'I#=.m%JQϭ8BЩtK!?,U^Apt!*"ҒEZ 'I*:u$opBiP8Ϡ>?KzY8fCNsiNAI% +kC"C L-"^HB 56"`K/DdT=K0,t83yS KoS/00J%[N UvU WK98LIm#$҄Jt":#ALU]/K9A~E]Wүo%2={7?rT nMJDkt@7IGK9 m--ނ۫GدD$[u..4_OjoeL^$--]╠^ۥK^]8X֍8KB8__'H*K./KAI'#@R/Kk#z=zl|7[>,RM'}-*J_>}-*Oϥ J5h_gަ@o^| Xe i~, %y^:_fW !YC/ׯa_,GU@ `"=h/fʝ=@]{* .oI~.(4cBCai}`X^E[/H$*?_!:I?AuoJtvT:%u&4_-KAI03)|igƖHi2/ a=WaHzW4 3)% 0z_ޓuӥF#YMxK <6]W_֟K <6]~  lHKKI}8Am*8XAm*o$ȘWKWú  +xk_:#\yNxkւ/m&A0B?T_^tA']+Pu%K>r}<%6 aLRVrS-ƿjl" K /Q?B UQ[ ͆C&1F }VEΧQsk_KUQs)(_?RS%1+~D[M%SDm-\ DS_Iei | `_ Ty<'KKA? ȴ[*18&SKvi ulPA2]ZSL.-#xi|1Hb@Z@&"?}p a5/Am/?K?aXkaㄭ!, Dv";I_=+H DvФ?,7b"KK&o&m#!"I m& ]ΊzM05:u]ICH6a. H6q?^G&F*KEO8A60 (}yRN: 36` ^l tNaQ[Kk [AIAI¤ KKWpo+OWpoIu {)L ?= '&$á#5"ش]M "H LZY# Lo8A04 Bk +@ a L&Ak~B:A 6a\4LXHAAAVC U)4`q +ZAP$5BBBbA @A BMDDE4""""""(!MJg0Q0e8 Chw  AG ik^X%: ev e^[*[aqg|5]qKz聯[}$`f KKxtdu%h "'4 dE. @KJ *R҈,H"#LȄd"T𥺰`AlDQA)8duʪ#j _ls&gix&7&Vٴôd+:!ȔMiIZe(l6@M_Zud5uvŧITtͲݗAGҒ[{ >S"`(I7Pu +.F2#)٬l#qDM4DzL:QYӅ_4M\0AAQ({yobc${I3+|%_[i~P8߽8jF~I4k➦H0n,}v`[A!iz_*O_Y +ZL?KGAD/BFm%>QEs?FA#i/KKA7T?$h IS#E{J 4IMCLW^_BֈkPHa"'*B^Y_ڤh_)%zנiZT$i~N_%(֜\SO"Ӥ]!T*t9g$ [~JG9~IN$X^ʡ8ޓG $ 5="^HB 5_%=K0,t}>tT"]%:"FZV_A~#N=)[p +":ePt|>$n֗Qu5YH +^ҟ98*]},EG IGK9 m--<֙B~֗ (۫5V#/+`SR+ץ_p/:#zXAu(O׭& A0}!]IKJUK/m*y>!?l3Xg$# tH6!$g-,6K?-:D{_}i[l1/?__iP9#8uo<ƅ/҆KoyK<޿ $GE{:zW9M Km$@|NEWtG[L #>e9HC뺥Ώ붂-_'MG 恖S9A&Y~sK^Km3 _UGIm  u>׵KAB?:N[{+ko[ $g%Rk_mv/ +xkA%ޗ_頂V!Z^V" ['_XoI[𭤖Ol K K yt!*x]t#K3]Kh Z.)vKU=t D~$ߪhI~[IA"~r2?~yL nՠ +y /-?fi m/( OV4>gz_Qia)Wt\*Xm/ ` _ޖO%i+a# KkAX@A#c@, Im&/AX䄋=& IBީaoICH6a$0  B MΊ 0ү&&*ʳ9C*8g\_M8m"]7 iiVDR`;al3>g +* "S 6ͦ0;a6|MnljNtVT+`@Tl&}ATlef2~gsg;P5S} 52& PQʈ4I +KLa8u(I7P\dFSXF0-tAշt&ej`2za^7\0p.tWz}F50@Dma6 +1wW1? m4xiWk]$̭TMBi~YRI/_Œ3MKۯϨ}OSL$mt'j;D{{n^ʨ^h%SgUŤ+~ma/HKsU:A/J\HG@QQEs?FA#i/oZMM~u$Y}6RHT4Ǥ&,~K 01[]|4:$-ja$Sd1^}---CU |$DO(S/\RK4pE_},/RdIS/Iqz +/:~uBI?Ww΅>vo RR}iťoyt9g$ _4K'K5~8~o aDzsE~~/eP@B!pp@G>N0A__ʿh/a$fA^aטUNļ⩆ad}8q*` KꚘK/H0J%[~xH0_I/3ҝ%U NI ݕCAt-/aPim#$&үo%jsb*>?IGK#/ O朜[W"k\_z_[z KnO5P]<"?MzGDcPEWi{z_L B +$U +Dt%Ʃmh,WW?_pZ]kN_^Vzf> 0_g%UNUޖ] +)SfA0d }:^Z %M_ | P00+G便[Rr}/K^\? JƼ DuŔ1?$#Y?_,{ KbJP,6(_5q ^~KA}mT_OK8uo<^|>R!#M#k_cBCa_~h*?9^# x~h$t_ץ@_r.:񲜤zB!63fDL4 +l5Utp玗 >(W4 )% 0zmuZ_֟K <6]V%_A A |6]Axc{Vۡ8XAm*h!zt_.o$ȖWK!mv.> ?5 +B ҇K%%&DNka6 IADOKyps9sa Ȣ!&'J Ӝ%d4>tzzX1H ̯b0QU2 DN4(@._+RA|,z NM85U-)[ÎL& *AB&Ryv0L$ 5 a0`&>0B2I P` ֐¡ t,!ad(B #XAV\Rj !ZijB)b#DA$ A4)DDDPB"#ADD嘪 W[E%j[vO)Hgc2ߣ'GeD :l+Ȳ#hPeg)e7DtȞt:i?dUC`&Ja*t.p06mde M8wl646d 0Ȳ5Lhf24A轼0ذ3EBm*U0 .e CH$h(h(uDe;!/"חQCkן}l?ӝy 6V8yBt4Uz}F/TDs`]HO֛II8]&bo4pa S*i3_'_Qs{B$$mtׯD$z::: +mƺ?y4mէ:-zHCo~8~'ZL?KJ}RUo0#>~K {_=!~7-R{I:MCY~fY:H7tq ƿI Uq=/IM)}X5ImszII6PL2&e^:K7 p d4*>0_/e_YG +VМ%M!6HS>6jOjԲo /J'Zy?_aDzsU~~"=C?B,7dq9EJnI70I% +/eP 쌏죜sPP@W'K:aN*DdQ"oer[W*ISePvRKRa_5zyƽ-'ݕY]u&᩾SuoqO-":K`kY}NUz9zG _2G^ʻ*-}&VǴFKu*dTty;K$P  Jg^چzrtV5 +H*0V} 5# h4S{*gT_KKn/ri:lVzf> 0^`[Iy +Z?GUu$@PNJJIKNt#_M_ | P_~0 J ϋ&%.{mvi"9}.m*ͯ|Mb ׿ (c-#?_afWϧ~Y  2^K( z-0 aWKm+m:; FaYN٢  rՔ$ r@N>K(l4K4Xy umqyQi KK--XMWDH O[ "I % }/ߚ ݯ~;*rt/DA >CqW/oHѤ/-BL41 +6뺚O޽-&Wt K,V~K0]h/l |=RP7:/._~4Q=o['OPE_tA f. xSҴ +CIi7]B]5e8]/ _I#=0*C ih"|UB< ^ShPPbEA_KoI-URs]ix_Z .imV!Z՞ح AQҽ A KΈ$줪[i7i _>}--A&)+t3נ ,!tp Lhq{K G!*~ץ,$moȾX.q%l4UVZe!5֐[_ZZdyU.b"5$tx}&_ +u$h)^pR.AAy `Ą. 5#$5%Sa]$A ACazs<@H,2QH2!&DF =ߤ +X1 AkJL0sD2Z93I 'Ai@!uaaȶ- ik }^0-N@ jӆ*v!0B $2x5U +? AVT,)d`@$a$""&jR DDDDDDDDDDF#- +H%EJdtW4DKtkDvd4.}L(d)J"1DwLwDIO(:i8fVD"*UQ"yӇ 띤֖gUfPgmpeVȪ@ nTL ٴ Il N 6ͦL2*j +$Al8Tq]Z Dvj#IN.Z@M_I[pWwl%Rqfn f.u Z")D0˄Nb֙ӨP{  KqLˢ! JM44:e;r&ڶAiy lUM2׮h#DޟG'#6V8yBt4Uz}F,6(>i}cCm̭To=Kf&*J@W&Xi6o;糠u5_H0鋭$G%sa^56i}n붓ҟT[` ֓ҟTrFuh'm&ҍMw[~7_=!~7 RB)GHΣC ѯ-,%=zaCQ^Fn&V4Ǥ&ʴGDx:$,i6&KPHSd1^e'WM\!%6C %6ʵz"b,!aB,gpҴ!H~\: \Y"Ta0%M!6HʡQHIm PT؋ץ<^h8":K`BZVKni%08"q]*"?=kOUxuJC\"h@U ȧ1y"MOGL4Fi>IQD^F*`/ ?ejmTa"b$01z_ |) TM.JXLܧւA ϣ4QDuL8A)-/}h$`.pG,FkF:ץ~B_13: J'o.A u9l K|2$sg"Kiz__l}b-/I`Im}/m*(HGttBKJƼ k4 +Jg$, KbJ}9sh}?[ 'K#4؄/}?^tqhKB Jaz~cWKm+m:߯AO_\u]OֺPit͇`_q_Ca_ϯ"?_/ˆq$t^EВKKm$t_O~6SKס \l)L41:VI03KT(<IzxxO">.sKI/e:?A1qv 0znt_TGM^ _ 3" NjE?/@P# 30tZׯ?ޗ uʡAָI#=,*C~`HdL+pk$bZ [:OP^?/)Akւ X`kVzX@A+ jPמ0Nzq_ 1I[__}--A&)+t3WlڤS-)W.6\B UQ //x@W%綒uhe8=H%ZKk KL J*4UMM/ֶZ DS_1D$~?Hl#'8j\ mU}/? O)qs΋I34A\S5M-N}Jo&D4 \QdI2M._:IWcDA^HboZRJ@Ein|󃴛 ?-vKPAm,_Ub [AK?aXk##7b/[G#GGi6k/?٬A --v"!8$'L4V"00IנAi6cM _ à#/K L4D @C<$һH6h/6êXEH6h/6AFh " ]2(2|8- &iuQ4E>I u^L߂N68?A2 K[AIAdSb:+-$;&DF"J(I8A6$K0I.!>^$ pk P ]` iM`.@8A5  A`IR 8x LB,DJp٠Mc-,L!CC$`AV^UbFGC40@A BB!iT!a +BTUЈPB"" RDDDDDDDE"""""1qTBnO;PʴS`(80a[ IPa@WuF:a#EA' oVAa *} B᷶Ϩo΃ƾ|SgU6p۩n ~MڷJ$S#-.$tH[*=.n9- ?|S"HpUk/ҶPCJΡSP_yP}/'_MZ_M/לտ1f`u[)t]D6aL-V}?CdUh6=_oR#=YAί_Oo*帀QK׭Ku OR[_a{BHC[ZmKB_.oKztX+%y].-A8o +[:XKM*ttpa /Ί֖  @KTj5%~LM5a%ih:B%l$@A0 PGj)B*9C (A cZk,g1MܵҟET}7DxA7Y]z;JyH#C˨""-(4vP*8qvhBnYN"PxVLS;4᷻a <L4>Yj3M#8.Ϣ4h;#>6Sg`H}jҰel]ީ""!&E qfްQͦd5ap!A!庰`AN ᤊ6&NA6=Â#GGӞG~a*:#0>FE +>Dg"6CG"ޢ6=0b'ӈ) +CTwtjDqslM bwhvwN^Ma& B ꡞZGGD}Gzi">#YB:#5<>DiGT}gm)}ϣTuGy >DGӟNqpж"ߎ>""G#'"8""""8P68IڢNHumB"xؤB=A^R!SIA"ȆqJ:D6z(dA2CA7lQD3/гTtA4HJHNyYf4ud YIdꚑy&y&#?iH2莓8>ͣQ৓wFqHYG!BAEqЉ8Idp@ꃊM$zPu|qtL>иQ KKK]F(qdTCi8m ނaavph TA[(p؄bI.('/޽Rh&m(PAapm.__Nq8AO!;:Ii!~aPd Y}@q)pEյM <#86E^HG}Gm8AG":8>k=yw㏄G!mqB({B b1N;B ?㈈""-J D68}hB.>="#xw:YdpQN, AvI:ڼ>7yzGg(G}GHZHVqDiId51ǒy=yH!6>V( #,09xF֋3ȅ,VΩο_^CuԄqqaX>uQ\":\mO~#'琄Pb1[V8K qǥ<"xFv1;V!3g ( +1$d,0!8j(Mfq-GP9}2:$x%`*6eѩI34}YY *XE.ꏣ>lS#)xG(FՐGvqG#S:8hꏣ >}G/%ל_q:#Ų;9q|Dq B1 %m&8LjxХ"/-J""ǯt4b(>뷄yVOQ_ +k~$v]i'ڃm${w.ARPa)QTm-Z"qv,օIXDaaPhD5FgU@3h0'%GUgg})B G$";'&„GaGF4CG"8I :><:#aO,v:onSlw>_X qEQ$TBV*,PƘ [M`NCvW9~؋f2i*0B;TF^pkiRGgm9岵8Gv>y}(rGyYAD}G}d<}QH(Dt]GT}D"!}GU^j*sShFfyi"PD|"&nj#Q[""6"#DlEqlDh\lDFp@P,G@㸋0!HE1mqՋ,lkH!6loAamvMEGF4'< y6yYŒ=#!"Ω8>9hVuYD(@ )CH[GL!\DFMC:B-Q!1 v!xb*C#Mئ0ֆh6$ $!1PI%,y\HtfBj\馈"6(DDqDOa qJ"-*+)EagFZ22"""-VB@~YIQVv4B!},&>G~:+"""""""DDGضWtgѐ<,k<" +CIKP]*uKQ#mZh lˏbf +f >""?>gM+FCn!C+D Yh\w4IO(:dfGehD+ggipιآ WQp{cQpȢa*46d 0aݒ4laÃa4la®,Fv]"%T(AøDKz 6"]]霢UQqG8a-iA: +I7PT<oaU<oa`Av1 zQCk 4oO֓ȟo(A&k] z'?17RV_տnIVݎ17W6_H0鋭$G`gҬ z_gH0ls_~i0-)J}Uԉ&i0/5Dѭ0&Rc"2Դ{AHKVZ":aN*QS֑.KAH 0-C'Kרd󐴉t޽GkU ۄGZIzLC+O~T[p66Kn{ctT|@U ȧT5KK4@c44@~Jqx"?UPDD$[uzHA8*eZ B-œG. H;@AREWԎE#_IR}4+Ab3rZ />EGaZA)Z #wQ9BM╠^C:ӯI"s@VI/^ZZi7aפ؎>mM_i흚&%uI|kW0!Mڂ!I~6 Jc|=!e a_fW˛CִMfWդ &3MI+ qY +qP A~[l1/B/{^8I=+m:& +oJa|'㲄]OֺPit͇`e8CaK# _ߦ!-$A~\3 8n| dI " rA$HϽ/)Pɠ@agG! $CI&t $aK@1UH?IՃ%k kB  0ze l,&. 6Rpۖ$8k,Mm"]]„U3DKaZd0ҋr"2.QZ78a#E:[{ 8ͤAN -YI$AN (DMes 6U):L]oi[(oOCiF?ȏzl^qD!]n07Q2GC&boaHIIਪ#>ؔ)^ +3p*o(΃ԓzX~) /п z\1<=~`YF&/Om&mapz/e9Do5I􍤾A#i/oI ߤm$B:k0 IH7Ft򶏣7q?K.='=ͤh+G 9ΣѯKOMZ f!">$`c!~ǛQ[E+K-S6G p0"=9TV3#?_$f4XΡCkEE +0K=PC qRF6ad|⩽M.zHImaSBEN y:LIm#h"_":[4u:?5\&zSh}a-RPEX4I[ K*]HQ4yYQ"E">[}zq8 --RGIBQI^E3zU3 ٝ!\YnEO~u5h,W?Tf)Z ?-/JXK_L#` I_}/ʋH*I& ѡ56]}s_Jo_er(oK)}_便[qIDKlR'm*Yۦ:m*+ ~_46D_i~KI+_LYCAd"AA"3MI+6#4؄< ~h +uYN +Al1lI( VV uI0U +m: _0UѺ (A㎗^rT, m6]Fr@P&PO=|qX?O0tA`A6 |M)8/ L?{.c3b!zXAag^otL4lzrV_zUZQ'A&\/a~ 0zؔ%f**">ߺxAl??ylP[SZqA f.xץZ 30tA_ۇ aVQ oeqTśMXHdL+J}I쉅qT>uoA{z o&?z_ ?aZ X`k]/A0BKM,%}_[e My ,7cYBALRV묡[pA&)+t¬M>[|7,7/AaTm  |B UQe ;^B UQנIil=ڤ-[zKW'G_a%p[qUQ[{}୚viC#Li&zT( .M0~>ޖ`k}J{Uov>=-A:>gy:V  R3*jA AFw%o +jޖ II7ǃoa篥6 .AAm/4ߥ/l#ok &yM]1fKGi6Њa mVJ$";Iuo>>a AZMr1Dy&ཤy)m&RoʮI6n:M0 it m&IK=DDE&GJ&L?0?KCH6aΈ>a|B M L< H6aȄ0S6f<$ILo-.aHA:PDE&<'J!La ä$ (t*)1kLd]& H0 0$ +/ӭ- Ac$ ld* &I +AA$ߤ +e8Od* N=G IP?~I.8A04!a` KH 0i L @ H uƒ@ }!  ePxHp ): `ȰARupBBA$e'TqvT4!EX;T A5CB-!I-Q!KA !HE,$!I GA@ PDDEG\@B""(!"?VM +?-Q>eZ%(uTJV;hD* 3dEi";:[:ͦ(l wdl$6l*6FÃa4laq]U 6#]]ŧ G>0wuwoa*9R +m 7S +c@[:ꪃm 7V }voO+0baH#DޟoOջ&e 6a^)nICޗ>dH0n|3rb|$mK]#iZaL?Kny 4kL?IHK#8C~=kozxto6I:փ.='Y~f O$#@\zOT.P@j=t*6 Q(MBJl d5-J>㫠^r8IEEh[~j{$^Aʝ8-k3GE9չt΅>7⮵ӋG9:d Il0"=9ϵ%~WIl0"=9/ +kzȮi*Z$(a`xKAQSUP!i-DyR/רd󐴉tۄG_ʡ">6KnU%ZĤ$ta -Du[N=-.[5^#X &0P%Kn%""VT0D+[uy*8iVha5 +V #~]c( ?JXAI~/eÔ&A)Z ]xI+]--4IlGm$ItP/Io& [6T' 먆o&ҭsEIWZbIMUFq %~8o#4؄]=JȀ-Yi6IbJ:*_ץoJaVWmC) ; $V^qS_9(l4ݔ (e.oAXa҆K8A?H&R[_&M#>>6S_ HI03a["?Aa L4Ԗ\玗$a`ν*E|%!$H$Է6]/A l ?; jެ>fA<.}ֽU,IqTmk KD IqTBZ_:?? +֠^V%ai+u]e _A  P_IZo$bZk:^/ Uoޓ{᮸VN6jOǭ@Is"XoJ4 sq)PP"= Yf9nIT*⩾XH0E<Q#oer'.:aN*E<_#֗rS5i>i0nʬծ:_#zZO_Mk62zJV D0}]$-Gd$P Ac-'GXHA0UVڥ-'D}A<: *ʙKR'f "Z_^u(A@kGê_IR~0~b-q#–qW@QfzI%CZa|2n?K m%:ӯI"}Fa h7[>,RM'XKhYi算vka 0mkizMK/ׯ#k0 gYC-׿vCCpci^puAwZH KK--X\6_-,}/~hv㲧(YI+% ]-"WS}+ߚ ݯm_너&ukAh<_@">,$f#Zeiq~j߯i5?Aiqw^_ oگAhBeT~4Q=o]7?/Jg^@zV_{* +Z - \_ tүKA)Z|H6?AtZ_ tmvִ--COPX q/)As}WРĊc% < ^ShPPclRi:+zxZ pA: N[i:+ Ok~a6  G\ ƇG_Z@)ѰW.1 ץ,$mol|ׄ(5_K!Qii6Qssa/a(Z +nKG|ax(.-"ᰏ$+IzXJۮv[)i IuA'+o)kʙ^?PIK0<$Bl +CBHq㐏JUMk_Рz_o}+eTq'bݤM֩-#߷c&Pҥ&_@KnIer)Dkߤ-a&I$D `Aa'0WGBIt% `A"?K[)& 77SP@&HIxA(Al1?*7%~i7@Cq7J$SK`U(~7A ~LRi\j}sI?ITkx SM"kXA01VL8 A[HQH2 qIDjآ#PA&&R |1A0}#5 iAp@Ab9*@ea/  -a@AchdX^Ih GXARA?TаB8 +Aܹd`H4 ~L$IPX B@#B"""""A DDF"S;Pv2 HEF"B-9nQpȦjDo5#GTN88d ι(D/5(d5(g\g; F%&V3Rao m*iu4kO L$im"]7 i ["0f{a +gث6vT n +V17i!Ϩ:Vvk#bDݰ&F-#;5t-3D5uvF%=`nu-}{935|:. ) 5D#9i3Ѭh$.aZ. ,a2koaB4b֙J7t(m~y. ∑&@um2QQ+MMGSꪛ m&!AYobFIۤ(I}co Q +qv&ӆx|t8m$oK/5.8jFLZ$#DԭN %6y4EX0PHZ^m^&ۤ 0)KD?K$}U^P"]T/I$mAzF\]Ww^Q\uPԐ/HK{Ү"rGEU$='ɯSצd?KJ)I/!־JOIm}^I%IA}%DiP_,H萴2_p5 }:/Z!YBI"WCU $DM#E9ppE 9St5_r4BMa`@_6N>iiŚ$ҴIה!SEOΨT1 8L? KO,}7{ϯM?t>6uOHCU)E$G]"=9O4Tu#Ӝ_s]-"~ʥ?A:px~NI EpNsiNAI% +kB-EFNs"t|8 P\ B!ΠcSzK>?_E adCTO*fO[SIbD1 ViפU\I4>`Ie=tkI4}(D{>h<E$O_\?KJ҄Gb-/I`WoXL3,YCAhşI8g$ߋ(cKe I+ԫz/DgI+ (cK+рk$gP A\GU@ @Wc\B 9DiC @t %KtKT?8u[/렒_ $A>u}v_- N +WDoAM/J_ 1Lh$#z  1kп $ֿzB\$A4_@aƖH 辂-^#[ꗞZ5?%9tz5?oA?tqm#XaaXaa/L UXI%f.j O(Gj K!.CkAB?:N[{+N[{+ʡik_-RBp4ւu)A~4((1A` +ZNS +ZUX HׄkZyN맦-/: 8  a%nOO a%nu3ӎ8 Wo/zJ%9?K.l Lk +N +AU e^/K)ѰWLlHQssacbGk\_e8Vt PVQsaux(G"K~MmK kyv*oAi iyLM.r>-D{l4>gcFwPZGiw>gc龸U_ioo-Kt5] %~C!, Dv";IljoV c";Io t򩮓Z_66oOK Z^:M`'߇oEtK4i7il?PZ2:ARᅫA~ a*E3DD#R`6im0J ܷ&[zaU + +%Qh6)8lM.wFkoa$M4(AXM)D˅(I7SP]Q6ޞچmzF`hp^A¯A&\0ۤ(OM +L^CG${I3+|}m^& a/_4AޗeI/KzoIxΨn-&{/HK_H ߤm$IHG@Q("Q ~uIDĂ {鲔BSצ.='΢ѯ '_ d5bGD#_cI d5h"%*dl64$^BJᘋ94__},/RdIS.[BIŒ钘JQϭ8Jm"JQϭ8&fG9Կ:b ?7zT0"=9Οtס +k&( P_KJ5oUЋA{I#5 +0׏Tf4YS Ko4tO]&z"+HIm*`Bg:KnjۄG_Z^DpP4*J[2>[_ KzS'@먊D~zKoAim;(Pknơ!~֗ (۫ʪ#T+Xh,W1@H(O╠^K/%]a&-& S0׭& 'o| ZUM[p<k6o}/#(c,BI_$J tH6!$_q@-::ez0 km]x^#ߎJaq%:]z r@6]_XХPiu?Z^/, +ߥ ϯKҿpnnQ@yTΟz &F}kΡI03#XxAl?h/ |=g H`O@)_ 玗yu$`φ˯O  u-RzxI#=,*ZK0L_Ua3޵: aⵯ +֣ДrM +ֿkXoI[| IJ2yuA&)+u^[ +AU~!*WAyt!*mu +ޫK LImΏA*綗_ߪhUAKouHk(_Ga <?A\S׭fiץdCI4޴a&D4_K@44ia)ރk ~ 4K͗M iyޖa#t@A#Alj$";IF4k&m#A$M --?HHm$I'L>il:XE$i6 |A`bIlxIw0 (tA AC ȉuA49dQ` H0 ޯdAB '& VZN1 X$ ai2)N& h1 # a0` @ bAa$0@ Mi D U*2¡ i`B 5$e+8 B5KPFkI@t +DDDE"""""""""1\tY3KV-#2֊~+(2.VsR;(ȶWK^3wZ$IӆK xl2aC )f ,GsȺa*TB#Z*I`dRaٴ&26&af:h +$K"-:Nʴ ]`nӺ le' P"}].6v\fh$p=MZ. ,a25S}52* fwFօG%JE7 +M4:BG.F2#)l#.qGSꪺD6Q6ޟ+S)Ωt:UT(m.uDiCӅ_4M\0AA%l_6?0GW1V0v!mvw @=#ֺI#*5 '/Q0*oK#a7_2➦H0oNw$;0)KeT}IۥH%[Iu^~ma \uPԐ@/HKt׽._~D F_o-&l_C +HT4Ǥ)NX_,H萴P2HHeZ_cI d4ʵz~_B.C_K_ aYaqP Ai~^ߠD{_}i[l1/__/뤨q+%y* ]ֽuoKJ .~l>KH$}GE{:$F= -./ҿpngumI+ 1ϡ%wDu҇H A}k˨aI036S_unj# Kr +?-_'MG tOD}_DW4 #)% 0z΋:_KگM,0puZDtD > -%A 3@u^յ-F־[{+knE /_/o$ȜWK].uBD. +ZIvίG t_^/KIA+ k_b)=8 ev,7VKl=Ol kiKQ%*AU3A%+:yt!*x]~_[]cA1*[AqKX.q5A*]|DGK@ƖTH /KW ?TֹB{/K˵ Wk0-[d_V+kn2Bl  OcM-dcI4_][Li'+_~-#xi4 R3/(Kl/:_o_ح, #;A_넋p/ a&^u?5/ .A[`ఁMMaK_AX@A#c@0&Ai60XN $!"I m&П0](~m-tm&Ia?}Er{AaA$IR&޼ 2-\pm, ")'J.x A֘I"E> <9dPp` =&KiNɃQ!L4A tpoK0iD )AvLbCZQ[Æ=d`~"J*m 4@K LUP4-ڬ|4, $(A L&bF!`T!AARt BS!RE!L0@AB !H""""4  +Š@AADDDDDPB"""""""#n* +U 8pl8TgQ&4P>?MiY ?h\6dӾ{:mMn wm&վU㥥״ׯK[6_Ӥ5zDS]%8ҶPCJ_:N=C0 S$uUfR ǧ6IYտGD |)__aUD*aL-W/(l?i 3 FQJe:I{:)B!}_IwV_)wO_uo'-a`&Y o_2#Q a/ gBxAu}$zYol Ax W@Vg|%֗TN L:A}*EA&%Ą՝P/Kda0Li4I| sAHp;Ajjb"axB +b"#-yr}DDG#[ 6O"nPz&Ɛn[uGT}Gk 8qvh #}B>#lDF.Y=gz?gȲ$iNmE aX a#ct`eۤ,hH:@*#GTB>R=_}}}Dz!}G?Gk<鳊Y GDODDDobIb"1A$!rz[`)v!:f\6b 8D}GDtN,G}GGTB#:$>Q}Yf#~>"48"}B-">,b"}"8"} }"""-< \0bqDttMBa?Jƭ,Rߠm}vGYL +on+m)(yH>:t(pD|Yu]}GtG&GuG}QF՞YQuGXAO>#lӨ#'Oq> ÉSPczd;H aߥ]74"""#XD$lv \p'#ĎQFD!Kc}Ƕ0DNN*m.p[A`' 5U'pOZZ_F"g>G*#B#<[ͧdgNmQy}G~G}d4}6uGCGUYGyPhڣ1*[]\k<r;>.BDF#Ų;1N3ft㈄b)t88N"8p@I»b;,E o +*a('Aq^ +)7ǮaφaKaiOmSߝd :"4Eꥻ l6O#`< sAuFae{:^WΫK8eϣFfGtϣ= +}fVvn"#؈0i>B# DDDDD_qQqTO!w 1B=tNDTDQ<30h|uFBt=' ]"FڥX"nߴwIn*;BkD:! <(t]f{>IMGGT8:Ί΋6}W ⽶.˰B>{k|Es.7Mb!1#"7s89)xۇpɊRJޛ!Ͳpon뺥Vs")>HǞW6ϫ<M[soqm0DhÄGE0(ytyQYTqGpħ?8s8 gTggD46u瘶)7>5a":W s]\x2;p[Š0Ꭱv*0 ű ` Ql8a"<PŰbJǭ^m~(:! ATz\tֶnV&ᄜ"% BAV%5N3RY3[lgmGgכe:>Sk›MnFE<L:7YV6Ed4yMLQiah†GEaڭ8E`Ah`0D|A4GV qdžhXA"}$8^"]ejL`^cCشtN8\DE!#CuGB6!"6.""""#")ݶ#bpBMwSiVCGa} g% WGq:FXA9N}ED"#Hꏣ!g})}gӟY}VuJmy ("#fB5'm.8(pDDDD1"/'Ҍ!> [cNucA?ݶf}mDtfAm/]'hD"̆gѐDB bSkͳ# JyV@nH+#H>>)&*>}Gk>"g fЉ(X"#""""4GehR G7J}D">D}G"243m"GT}$qGiDDqaM)} # ja:>?ꏣꏣ>"""#- +W}Q}G}E3xgYNYQ |pS C +\B +jQl ڢᰕhOE3R#Y#VW? F׆k\RPppNʪ>Ndc6*me G}T3pۆU0ϴ +(3=Ʌ 3YL;`v, L-T"#إcQvUI٫i)v8*6@ F5t-3D5uwU NZzg68Ρ-kAqV".b־K(AXL m4/>S"\e`Avկs_A LU]7t(m2tu BGSꪺD6Q6ޟ#L:RQn%yRGǝE00ejͣ~ۤۤ?᳹ѿ<1F.*տѿ0hH +2?uu(^Ϩ`WQ0"oKI' 0ӆg[L/ɀa-IK6rgUU[Ψ/>{ʨZ[dFDe;:=-ץOJtE:^UHG@Qm%v Bڼ|>M4Aw)G O$~鲔RȀΓuj>oAi$?}+>I$tH^ʵz:$-A:;UDqbbqz P X<ᘋ9BKb,%xHʞkD5U +hmSo4ZZfT!SDwO\~iiŚ/bqzMKUKA yo +ayjϯJ `ht>6&,s]-"~ʥ?B*:pHVt?eREE,pOS> J~s. Et?t9"t|8 P_.LϵNs"ZZZ_ +L1N5H"0t`cS+H_0}DpaN9=޺Ј^`sqH3ҝ%P엗_GGGT}GTuCB ?KҤ/I/8TVL_;@˱FA$#~#/ǂ#I jH_y2] .1gT' Ib/_I.pD"+ןFh0U᎗24i d4h:ӯI#""5?fzIUϮe{a@T8fG'}GꉚN9$I`Z>\?6$IiV\$#eVZ$zM lVyP,  a!$͡`3 6v +H\B y+^/"{\B Y+x_Al11,'e8hH _Et:]M`UHH{- N$AI>}xzNtWI:({_넒J"[z]FޅI$#,Ǥg?>ӑtI+:">.r +?~j# Kr +?-tp_qg<" rj 6!?_گM,00utثH 6B (8.-F־[{+~`h!#%X e:,zu- +]xAlu]\+ʽ? e^/mAuI~>ce92IlIm?Imޫ@.A1m}QY?v[G4cI~[Ix D~WB "? v{/K˵ Wk8.? n ^koӆAKz}13[I6-Zk@[PZGM.T4])~9F[h-#xk Nh鼉Mp-/vk"4KXm/ }pEx ]oW Xm8JPAGi7A6+HqMBíƒo?oʮ KKOK Z^:M0I߇ H"T,@Cޓ~I}~tUJKAGR_CH6z 0c6^4#Lmi2'\po _i\ K ȉs +B ҇tR\,BdAM`t!PX 5آ0INA )k>I dE- YX1H N@ڤK}+H- 0@ Xh 4@K LһV B1h7D,$UNB8 BҪGA0I`* *$-Bjh $$:Dj-4"$kK@z 0! qAb""""""""""(!PiB8 iZ +aQU!ت%hb-D%)n\3VZ&yC%C:ř`7 t6ͦ6Ul(e:5Ԙ6 DmL6R`᲋ m02[9JÖQ\jt&Dݰ&F-g)8lM.VDݰش:(AXL m4*- m4S։ +E7 +M4*9QS +[9i7S} 52&  +;Dzy*զ:Dzz^A.tWzz~I Gۺ!*A&Z.uL)RB |0t/*ߒ=k +?I;nI[i'&M,wޗ^x 6Ck},$m 5ЇΨ/K$tn-&Hg9fMzL?KeT}=沛5$#( 6*. 6J55dW3j$o6K3}ޕh ߤm%:M;p'e(='_='L<)l?$h Iu^MzOq?IbGD01/車 CH/H^/1BJl2zxҴI\!%6H ZO3g8y+DNT3%HʚFsBW>@2ED^8Z[Ut5[$^BJPM$ίЩT*hZP&΅>v o. RR}i}zO*M9G>uYG9IfDzsAy C R#Ӝ:M%8&Ic R#ӜȐ5$)K 5t"Ј~\>(ajFj(a4HNMC +k{(3D'O3 '-7p)L3 '-_i:EᇪV.T50s9b%[>ӎw /\&zSI -Dui{G +Knh8>L_9 #94+S^XKuG* n"/KzS'@먊A a0T nQF5$[z Kn/-W#5+ƴ/QI^I&G΢%L=/ejMmp3$-RKRXI ]/oe?+Ab&_p% RK*ϮH*rt^Z %M^P + ؉.K *& *dm便[ &_>}-*kc^ֺ^A~iV'XA;ei&]&ҭUeYZ?,BI^(cKe I+ԫYu$ 8 b,-#4؄PDu}x_Al1֍K%8_~[ u@tZV u0ɀUF t(m_у9㎗Z{ $,q/ƅ/҆K)ן6q֖KJ .Ҳ-u>}~_~h$t l i =':+qz.FK7@}~f63fDL4e9HC ]I|NEWtG[ |I ~[t\-K-?@)_ 玗ZdI5H$N'K <6]3 Izf`__tAA3 _>RH _UGImjZ6\U/8+P ? WKfIC F{"a\U/ֿ'L$ȖWK ߧ]xAlgkbb@A_BkHb~9F[ikEin_6lAm/8;/a*oK9 _ /K9`ఁMo'OzV @&9"= [ $";I BAi6:M߂# 8zMAi6IMa$IKA)a2:ACH6~F Ί H6eL=+ÒΘxAl/ z 0c„dD!C5|tB /˃˛ 0AE/ 6A:PഃIXk'J.x 9X 襾aȓ +F~UNMYi>8cJAA& I8A6dR)EWH2^J5`I ,fW.0Ic  a@V B bAa$0@ Mii ÓA04 h # +5 H  $eU XY +"H&0@AN cEX:!$eV5 )hA&Z@j-bA 8AA$vD !"""""""""""##DE1LXɰȾv,Z&yKDɢV^yز%kv%';I" 0prPpɎ3IQPfYd DQDB5& a9f &(d+t6l60ladrI`dNaٴe(l62͠T.ΨӇPWqu NNe' @"]]n/Poa*ntI7S 4AOD0Ƞ4E7 +M4*9PD~tWz}F:4oOQ7se8U#Dޟ~H5f&*J@C%ش +6:L_~H5f&*ۭ➦H0鋭Ju΄ 6ӆG oK a?za oKn[o"[IiOṼ/?~IE6?I쪏}d@+qi0/nyGY􍤿I7IT/A#i/-57IG[aA#@\zOKor{8$h I?q?PHQ^MH!%6C %7Z~!x_Sd01_cI d55LyQ*y0zԌ 8C_ED ez#d j$^TJ1VK))G>҇7D}iŤhӋ}BE~KZq]&ߠҡ)}UM)qEJc R#ӜȐ5oM*b:tWB-=$( P^L?C(a9"A ʿh/a$fAꃤi9ᇪV.KADKoPgHImN9ZDKoQSHaZ^BۄGZIzL9 }Pim#5/ -Dui{G +Knh;qƓ 7)ӔKu*dQs-eW!KuKpT n^/ O朠[*?-ˈ0+ƴ/QI^F*`)A"vU^AREW8H":_AREW(AXD$[uy$PDI-t}h$`:a?VVzw╠^4^╠^KDh/6]|%>CC 7ki# +.*& *{h/6]y@+-t&ҭ!ZM:NTaM[2TI&iV*Z{M[漟Kǿ tH6!$KJ?#(#4؄0' $# tH6!$/@㥠Ҷc_k4#[V u 3.R~J+m:D{_}i[l1 +_ I|_Pite8(l4Jȿ^cBCaהksD'\/ ~MI: =':+Rpn隃5#agޗTLL4zI]k &F}}9I]l>3PfDL4e9HW4 3)% 0zo* SA&V̐%~ 0z@#2_ 玗%A 30t?_A f.mA f.ثH%A 30uo$ȘWK!ւ>I#=0*HdL+ko[ $g&RkKIA+ jP xk]h V%IX J+ZIwh V^x IJ ~H$%n'_ IJm$s`H$%n?B UQ~A +?AuI~!*ў -!,חBA6_A*~A*םc V ]A jsKZA5?A"~M7@&A4ij'm.W' Ǭ +Aڠ +A-KA?mzM5ձAvdO]PA2]w^-?PA2]Ka&Kb@UFK  R3:-[ZGA AFwimVHb:M i`;*  _ %MA i]6 zZrAX@A#5# a=V/H Dvo+][ ZC@A# KkAX@A#c@$$X6M _""")7:I6n#76Mۥ KcI6hO}AI!m&^mF~ G_H6aSXA_& |A`bIlxIws9sa ȥ&'J ӜcL ACD= .ExLxA6A:PsĤXȃ |\i2)xI@ ҇zMpDz cL plI!P_R p&(I8A7#6aA.&X poK0ie)Ǡ0A$ ICńĂ0H0` I b@4A04]ۤޖ1 K LUP4, $A L֐0\XY "H& H V:Bt H ʭi[Vi]H @2I P,,HAS$ez?8}fkӥ&ҵKKt#G q"""#-բܡDeDB"%HR+E4Vs 3HhPθ4DR;ÆuQ^3vhpeuA+DD&xlmpm0EnS@Mi.f \2M*%(l4Jn; ʟTvIcWWqdnn."B#}]Űp2@iE9 +DI$" m4%G}S M4ՔM4RG}N (DMes 6U(:[oV&DGۺe A&#>4M"?ٱy u??OhX|{nI[z9RfV*B~,tQ=Å0az oKrA~ߘQ䤒oB&m/K)H,6a_aYG}i) />\#Xk~50 Mm%}b F^ޒ AHHTSu^7ǩhzAtkKKHzO<# #@\zO!bɕQ׭&IA`c!&.7$H!%6H GzD}/IMCT7/_$+[E+K+;q rGv8f&H0مS08k&T/׫t"H[r^>F!SDxg $Ӌ xzr}iŴ/PPyIukEUt8#{ #0"=9ϵ|tK#r8hb+T:[[F(|8 P]e Ћ *(a.{eYAf4X"FD [ߑ$Pb/U7I%[#I-&(]yt>L[y:LIm#oJJKn~-T[p·ΠKz|uD~z֟]XWH$u%4a_P%14y$Q"D>Q&yV<4GGIBQD^DXOUT֗ZM[Eia/ Ӧ&H/Փ~!$ZLYCAdAA3MI+6#4؄O/__&]fU? aaYEJJa P +<ץmR,Sb!y +:7_\yK<} sqKGe:I6J .e9L _Pit-вL//2[~kAAۤnA7OǺD? 1Y@$Gm #>렒ag-桱)E[rI a=IB*6a~$a" m %f**">ߺx,00t8،?֜PH \|h <|"? O)yB#/0D-wooX+f3[I4o"I7^ +&D4No? -/I_UQ b#Xտ@ʄڤHbCUoK`ރÄM8\5 _޷ iK_GqKtL-&󃴛pŘM0]|";I'@Za m +7I%H DvoGj8|} 2<@5oc@Mr$Ei6-MT@ &mI& .MI7Ǹ߈CBI*m0?KCH6a1TAxA77!m&L?Ma~I7)'J<3Lx5N:C1h tӤǥI1}t8- &~iH2_Z[8A7V}ZA.5 '&W$ + BhI8A7A/ S BǠ*i2)u'H[I bQ&@ , a0ii& $ A04R!`x11HG&0Ypc `$eTEX8hr*0@AZEX8@!!%2A" i V%McH5I ZBZ"B3 "6"BXIpB0A  xB +PB""(,B:""""?VMLD[|ʴJQ7ꨔ3wR P4U%|8g\;ײDw\uD;ÆuL6QpJ `LIm0EMUxl2i%Sdi&ٴÖ׫AøDkug@koa*9R +m 7S +c@[:ꪃm 7VQ6ޟaQt4MEfA8_]h!U[ic̡Ua 4-3(|RoK΁Jb|$mM~Ĺ1> 6^cFF~ku^h֘~I|uDxto6mO FTE{AH,ֿ3U䄧GDidڋ.='Dj?B IMI7KA^oR߄$CRܣ )SGTut "T(- oޭP/d9S 8-k3GE9չt΅>7⮵Ӌt>L-G9|$O-G9Bp@Ǫ 撥KA /Wښ$(aaY>m΢B%[_P!i-g:Kn*@Xa -DuuTkca4 n"8 ?0T nǰz^ c43@oAimYJڂ#ʙB?ց(Pkn%C0 *ִ5  ?QJ_XA~FaVzzKE{(0F& ?JX^MA[iiM^b;i$K7xM6]}-*Iy>_]D46oӝ-JMo&ҭ3!$/ִMfWIY4>&i7lBI^[ u@UK$|&6RvI=+m:tPrCa@+,u + /6]_|qg'I?b?K~"xO f=#>>6S_ HI03a["?Aa L4z1AL>ץ_?:/! |=Z,0 0ge`Va E>'7 t< WK-޵gHdH+o_o]X&_HdH+[BZ_:?? +֠^V%axK +u]e _A  P_IZo$b\ /qå$";Ii6)7?aA$M7b;ki{M zaJ% pL?aa>tWJ |tLpZAP/k)N:CǤ&oytij9e#P@ ҆poH2ZLE(0A$JH2AE= pn I b֐0H א L_ B0M  i03m&AAUh$U iABD`AUk4EX< A4$`7t,, ; H ʯ@RAABH!K:"Q+J"BE"""""(/DDDDPQq.Ʉ!S"?Tp)S-Մ; dB"V3RK3Ru"#j V3R;JD*9zQR &2'p6v-d!Ig "6 a8QUTU@6@M_&;5t4ݰ&Fش8m(@v8*]STd 3 6`¦lef2~gѱkLuwFkoa"jdL.D0ŭ3Ѩ5NB$iB*p/F2#"2#Ჰa[eOn脫nMse*:UT(m%fפf :' 8U5U%l]Iۤ(_-/m< _hү=#ָMU~qނȗzM 5n,m^~}D?}vnI%쪏kV-/]~)*ȀVjޕqzAINoK$*%u_nԐfKU__='MYe!\+WH%l )l?H" d5h7[]|4:$-ja---/~%HʟPe i\: yė)%p qK8f"pBW>@뮿'^M?:SD$&!SD}y BPKuuXM>?OLQHNs"@ԕ6K}kl?sI~$s_/T8PHE|8 P^#AuL;!=Pi&?KKWB-?XtҜUN⩆ad}8q tҜU7*` KꚘK/00jמqKI/3ҝ%-&yƽ-'U I ݕCAt-/ato%jB"뤕_ΫQH1L">__xo\_xDKKKoAimtGXHAǂ#ZOI&G#G1y"+ƴ= 4G^^4^DA T">nK})1@KlfzI%UNUޖ])Se ViפT?>'o %ץץz_amb-/I`WKJUH E4| -VOⰓtK^ֺ^ȎӑtH"! _l)Јk=?Lt]t$~ a=WIQa#6a(@ /Z #}$0QhdfS Xaa-!2qmWAx K %A{_- 8XAm*h!H1sCAֿAtm-km.q: aⵯs}W/)Akh/BSKK_ ~y}>r}<% +Im vWo/Otl'| p]t#K3Z_NW_muS(m\R_>sK~>GO_eBKom."#SDKKZ 8euB4m/Ty< l_{^U>Cev_Bl LM?mk__b~9F[`~/Tد_iL4_zZZp/0?mm-##_: |OtIKA W_B# KK 8uKjPil=1G?}xIvxE+du%\A`M"kr~aHA:PsĤXȉv89H'iaq =t ڄdD'36` "It .`Fk AeqɃQk$ai2)dABiElP ] V10 *[A+xq Xh5C_Mi!dai0I~k +@bF!Ђ B&L!CC` ֐¡ t,!ad,BB#MP""44#M -4H5CPT"""(!GM"TʤBnUÆumC*N_ &mL2a0 +øDo + „{  FG:4MymJOl?LIZh}- SL$mt|t7ZL?KJ}R6pۮD F_6jFiu6ƒA )@i/I.nj$^BJyzL>!oX1IJ9?I#D+-P>&ҶPCK +kz 8V.KAT߄G +Kni%0y:oeVjJ4uJʟۏ]/QD^F*`ȶp#Vh,WnSA F |)__ ~a_#$"} JƼ a U~lBI^P@+m:H&cх(l4Ku0VPs$t_CΊtIz^S}_pH$ꗲuoA l1Kza3~D?k X`kVzKQ̓XA 0Myt!*$C[H%Z2p Mk ~H[8h <z]ie /b $kd4a)P-A8o +M i`'UY A MZ\BoIS6M _N L:AI!m&^mFHh7ޒ_ 6A:P^Vt BFN 0A$ؓ_0&4jA LOcA@H&0@AC VI@hRb"aDDDP@PDt}p㖿#蛔#8ďP &fl`7]ۖE4}GB#-ʤv +6qvh<"$|L>#EbطI +>iPh#qB Јbe6#aLbI`Hp[nGHpFմq:#)D)gT}fGq>}y}fԲG0[x"wϡQO"4>b2 q"0Źdf'tzvȃ03njr &8:@hy}Ge B dl#m>d}'%-Մ; :##F<"7#5sboP\nsj|?wͯNi?oe|W#W]3ZF"#h##>ĺ>턍4g}V@}GT}2Q}@Ytf>;(YļdFDf$>ELG> _"#""'Ј/G-5PױJDRCظ"-j><~hj;UO}7Si<_8' hD}D"9C>Ʌ4FD4}Q(NT#!{%>>@=Lkd B̑3<?jJ7&8-U Mf>Kpߑq8A1fD]G!'vL+wcc}:txtn 'mE,8MS +I$;ߥ2VN28#%GUt*M)"&##H>!5D}$aQ8#fN"93 ѴNq MB""86m"EDDoBb<"?8 Z CI5camV" QcCxv.{ z lM&kp7Zo0Dv}:B!ꃒSdCGEP#>EF,#jD5GB#lYH*8loP^o>BGEŋDGr;F0xq(0@ Xcdq#B6-!G-_o8OK LD*i툈ſ0 [qb +BL1!po}=Mo0K#h">ͅx8Ơynyg}QfaGTxfplG}6}6qn9WYDp,>8#}GT}#>qcFFgғ GE>!H:8B#c8, +8p=[:'#}VC.kp˲_c q\C1c؍؈E;zk:CphEQ|}ct!&v<;ЃF%]DX* _t M7vբݲqU(KHt!_uϦSł)6DŜJcs>@vw=}8rgGUAхhÇ7Yt#k$":8C8".$"CD 2x XBq }\8"-"؅lDs\" B_D~o ۯzT}9ߣ!8lg":s곈,!GT}GFGg3"O"Y":.Gb4#""8؈7/qql-BVMwmDW2Tq"MSL7%"PFA\+1TG}uPb";.<5h1drn%J1itŇX0ٴdN@ӝ*<qe;}PuGG +,Elqb,1HATْDD)܃ANŕYG٢?1&"Q}." b'aID3Kcȶ!W(Mq88C2+a!*&ƈG"3!tl""-Fih..-s) +>X8cT&寢2X4 DG?ꏣ>""""<-Q}GԲIpLKpBȄAQ]Qab '{GoDmXS M (^Ϩ@WYRI-$GF_Ͳ(l?A_[nnlmI6$/>{ʨDdFSR7豗Jr+^g]I +?^/HKM[(y_/)G O$95Cy.n}tq8""E'X!{*?I}$2$uDN8B_EE#,.CT5CA8f"p"пCD_ ISa-AXAUb>،c -:4D*hnt) #4^tԅMo_4]-U&PCg"4 $ZiHC>a/"k>?OLQHNsELcc6uVCO'RߜK9hE/OHE|8 P_.LϽlV,bq{bD01S\tҜUN<⩆ad4>sKۉXU~`sqKI/3ҝ%V_F#B ?KҤ/I*J[PH5YH +qi3:ϣFA$#~#/ǂ#Z_[z Kn<֙Bb~#şC&%ީ*O_~^3E w1b"""4I4]Viפ^TT?"ΟtuY^D Us@w_[+LqcK0̹ +H'MZ^I0-KoZZ^GoaEB?Ueu\?qQ}GTuIM +3~!?Ŕ1}<=!e i~, %?.mPDuuyށ*YaqP Az8EqP/@-:=#ߎ'e8hH _EtK8u6}Ҳ-痿_>HH{- N$A_ #se+҇I$ \Gm_너.K%@xNJWtG[O.څtOD} { \I:Gk?aN/<" tj 6*?_گ aˮ?$Yb":Ko6AQq AB?T]KZ] oeqTa~m5" +'[:- +)Sǡ#_gy=73c]n[iL4BoDEU.U+A, Dvim (@ux  ~Uu Z]N_M_ ,B MzdFJ KPio_& |AA׭&6L. A7ADKyI}!CB:\)!2"s_36q&? Ab4 Lb"5%Z R1A0}"5~INMa,],fWÆ=RZ@!h0@ aL$@o8A0?#wҬ4!aEX8᱄#h hAT!*a0q $eW$MB}:Dj-4"T- A=BE""""""""""4()B>?n+X]a(D#%Td;(DxɚI8pι04Re᝕" yALԡ:av53/Ixpιd4ðȜMiPl6EÇۆD6v-HjL" 6ͦL6Qp^a"']T]ZEvÄDbӤ&Rpٵ +a"%YpPoaPQʹPh)>qM„{  8Su#K4MaRBAJF?VSS)NhD~tWz}F:4t2GWڥIӶ0> +A&t{Gt17RV_2a.ŤHS z_u~8ނAޗF]q o4AޗL]kWt atŤ]L +m|sHanUG3k(_Y +ZL?KJ}ReQI$Ö♟Q ~uuҭ􍤿IgV?ȶgH ߤm%MM AA#@\zOE{^MzOq?IIT4Ǥ&'FI$΀c!'+I}%Sg@1MH!%6C %7Z~2E\▯8Z[Ut5[$^UʟPګ^Y_ڤ^GH~))G>I[*Щ(֜_VKBE~AZqiCWbG>?7T0"=93tHR}'1HNs"Ԑ)0F 1HNsԯo'_1 +kǪ3I-!:i6Z(aϺ4WB-=$( P^L?C/ =Rt΢o|LM* ImN9`4oz+HIm I"]R +":ePu"ejrFsI-Pim#V!$g0-/aPim#$&:^ҟ9 [*>W ^LKud*L0NH@U ȥR([ʯuJ^ޗ(P n$sD B-<֙Bb%L=q/oKAREWQ2!: +PFȧ.qWejU/oe?+Ab&Z_ RK*K`]/oe?+Ab3rZ "Q?FÏ=_/l VKH5XdLD Ui6] @%XdOւ ~a_#:40xFq"?@I^A~iV'  X`>tJUei-t&ҭ!ZM:NUaM KbJK0ӈ"3MI+G\G//3MI+үOJ5H7A}m_K 0g#@+m:/@㥠Ҷc_k4#[VhR(l4ze8K % _Yʺƅ/҆K?B6N_A7Op?pUngQ/J4Bu }/,IܷV #>NR=^KA$HϾ}%)+#?_3P"? &F}yD ap<0H$9U$a i:j8oW4 3)% 0zo$F/A&AA 6]}KA h.ثH۬Կ_$`eD/K]  F{"q\U/ֿ $g'R~m5WHdL+pkAK$ȍm&A0BhES5V!ZpK"KIA+ jP xk]h +9k$b_ﬡLH$%n¶[s zA&)+t3A B UQizL UGIm~kˡ UG!+i}J9b.u: _.إ _ m-\ DS_ֹBM"Nr>A"~%Am%ij'$sK\ DA\S׭^A\S?ۅՠ +Aa#A]( OVwOdI4][Li&FZXA AFw!V$1Hm-  R3MaWazr]/$ +]6 zZᄩ, iL4,]6 +ب:o1 =+H DvyhyX:?H Dvoim:?a l/$# a=v/J=& IBqCI6n ,RC䄋=& I DDE&'P@ +AaA$I&/L< Il=1 ay= 0 ͨPAE/ 6A:PഃI蕍&0^A:PsĤXȃ p͆ " (l/NpzI 0zW`B2ŏA0`I "J+ $ +/%Z0A$ޖ `3S2A0`I ' AH2àAKt 0  A`&ˆZ@ +L& *AB/k +@ a L& }$^+ R!A0D`AQ:0ZCXH@4'Q !jP/BȤ #2H$U-1h "CT""#DA$ C XAb0DPCDDDE""1DgS nakD(-;Das$AO+9CuiulgdU:jf \6pޛf ar2 jL"S 6ͦ0rGWqvKvÄF7 +N0aSl;FS +9i7SDKCBI/R73ks +h5UnI[oү=#ֺI[+M/Aa oKm4AޗL]K*_{nSk۬e__Y +ZL?KJ}R􍤂?V FAdW3j$o6&zO_4Ǥu$PHT4Ǥ&`c!9K$c!(PᲭ^/1BJl2Kn[5yz/!%M_12bp"- ^Y_ڤ^ZOJЩ(֜ZOe@h"'O]:E~DZqiCG9'1HNs/opAP>&@C +kC"^HB 5å83"]%΢u tT"]%ꗄ":]$AU +":K`-[J@뭈XxoJ4uJZ[u{s"QD^ދ`^~֗ (۫ШEZ )Z u쥕_h,WnSA .-".6 +߉#k/׭& G(iV`楤MM[">_^ֺ^A~iVׄBI^iB3MI+$g^:_fW⃰P)Tq@+m:хBez0 ~ߠD{_}i[l1/Z]BXI-(l4 O(<*4,hR(l4KOUn pϳ/+ H&gI03 rGR63fDL4 +=[#kk0Iչ%o i':/恖S9A&T - O$M t}=K/0geD6WK} $g%RނEUa3~D?֤:Zt@J+Zu]~_頂V!Z՞%nA MA&)+t3T9B0W U׏^ifTZ,vQsH%Zm%I-KUSDnrsG$O4_BHkyL A\S/KKAryO 6iVdCI;^ Z_5ձAȆd b)ݤ:_geCᴾJAa,k V]6 m`J@A#dr1Dy%z zV @&Em&E& m&P0^";HHm$I@ސm&ÐNIlL4 0:+0  B Mڌ< (tJ Iy (dHpZA5%Ma<9dQ`  $d* HJ^ I8A6Ef"4H$i2 ] {)H >= '&Ĝ`! 0V L8A4 BаXBc   a0cAAUk `А20A h&a !DRi2A +Za4wPAa-bA 8A +Q""# +>?lu&ķt t[2vJ`AN251AqS(8(;"Gud%ȗ GTNDUjGgʪ:`Ȫ  0l el8pK0M8d""0l L0ZR +PPf 8`pZa*I GDoBn8a h6öN% WLMi 6y&yp}Mp9t"x3 ef2g_p]eN3@G3صs5 _# y! (.9\0꾶(C :1ntWl2祕3s?+eQCk(NfT+kyNXIߒ=k"%$l]HtKU]/GǺr3__{h&q/~xSM2y4{s蓵UL)C._쎍9{Y/"[Hq{\pXO <GCmᆂ-5_i~[tZAi'I!דU/!Mh/jWyp:5|I|l1/>0_)p/Vu_-5_=1N\: tID5I",<:_^mv7u>m KpG#AtB05_yz}/j\鮗sRbpiȸ4ʍ*'9Uqz_y}FY:2F9zG7?~p_뤕___%majߠ#Gb\kKq}-'3ӓ(A@kGå8]{(?Q]kzZ_Z=\4G_Sz}yOg6 :ίƾFVP_ƅ/?$-'a$hOX۞sD'\/P?-$AiBH_ 7uAo^?um隃5#?οum XJw_!-OH^:GKot]_2̧0KKt]t &.=?uwϪ/z[ V?_))_"WX5͆^_z-o ͯW ,v- KKA(cVUKT_Kok?/R< ^Sv+- TGAy|YpkCi[-s`]dt,Z /:(=} ]~ -)K^]szڛKG\ ,$moy_.*#__ ^a?M\DGK BWuӬ}_K\~jPpGDue Q?㰿AiT{ziuA9L_WzL7oK=sMRhP]=7_Ɠikg'HxucޓmbݤNWm.A7ixMo߯>ᄛ 0E9ZZƕM8KAI*vb!+ bֿ:J~°J[A=0o>A(Al1>'7,7b"c 76cM"5$մ]J$05*v{AaR :mKjP A- %U=&HԖ>LxA0x9dPpyH 41 5]"k_p@H,23A Vh&& BH2 v2]RA,z C 2 A&DF>P@Ab>N7 ] ` ~h0J`Ă0H0x= d2&E j G^GFd +!$H4"%8lČYA0Xi!H V$`(aGC@hM5R +A?H&B#DA4""4ThDDDE""""""""""#c#Dd$#nf7 "$-gMP i"\88dW5"5ߣ'VD"* fVsR;uDB!TDppȮjGdeg5#J{aÆ34eo m*t (%)g &bEՂi`&pa*P}$ B$vS=d8 L&/‡DOWLM{mqV)@M_&WLMpۺP%.34 p:"(g;s5Uˌe Σ, 1kLtj j5Nˌe Σ/b֙H-wT6V8~wM2瑯?†1o3GSꪛe #^t b2߮g(}USwL NDI6 +3h߶6IlFR@$ÛottK@kS<֜5%M2y9!84ʙ^| %6y4n3O~!@a-Kmպ /%UzWIޗIy^ޖNoY2y#}VCK/K!K/!M ?[ &P?~>oI4}')?6&E'KWOH3RoYFT?. Z P X>W _áӪ_-hkt4`2qî φ}@u3@΍RH5iiSDPMa@_AtjG#4A>q~}~NhѪI-2t*h:!SD~&j:fzVZyU^Apt!ITNS>6jOUGL1])S} aKJ/Ziy'/~yƽ-'կ֗rS5i>i0t5IU^?I*?__UxBdV?N {#U:H#~I|x"?$P Ac-'GXHA32z_=\4GH4S{*g.IR~zZhiVT??=\4GH4S{*g.KTg$ 0TzOENug"<)hXGzD RD Pq[:,~4H*n?[:,}#"4H*R#?KAzt~)&G| -算@b0$_"n|XOM0$44ֿ%K׿*?Ŕ1_TŔ1_1L`*TgP Aa/@]u_,!@4ޗyu* 4_A c~JY  ZZ[iiVi/8 +I:A[ /H󀣿A>l4#N.KIZQJ+b G^ߎʜg]$%_umuп ]/ַS,뤕H_너.UEBv{}Pm-&W%6AiqN붖+\:GaƖHii2/aOD}XH͘F[L5 /Vpm/NK/Jg]{+8I/&UN/_{* +ZHKoe_ -/iq-WPAlb[c K(H,WYNBRB(H,WYN >[{u+{*Nz` <teB|=8` :_-JT-8 tzqGoSڛ +\ ƃKjl?G\ ƒKjl" +NA-2=ڭ}ce92Ik ,ڭ}\K\id?-&6QsE$pG@_)s@; ETK.b Uuo }&&0?,"a֓~IKztx}&KzuޥxxQ#IO``& k IH'L<]W8A7E>\I.!aR \RaCZAi%d4*A Y0}"5 iA]CKI¤ "5ɃQhA/T Y& 8vLb-d@!uaaȶ/T Y& 85a&_V$`(Ih hp bF4P q AČi" aւHG`HB;5"$0!hiЈЈЈGYhUETWJRB:tv;,dj)as-+RT)lP”GÍ9.tTjQع@ϳCd a#,Ff:*v &pa bEι5pU(m 63وL*+0M8pa h2 +D  `AϠl8mZ U5p7uLh2Al;Œ&aȚ#]7 +wTdO$2a~*9-UQ 0u +Jz 2C)7£U 3Qp>ˌd 6OnF3k3Ap 7f κUj~0P\ Bsa~y&նPu_XF0-Ap 7f κUB(4mh;ӭAy/YPiw[kE_DeqVtmo64?tg-n4?R^NF{8؋O qc9b/ۯ3O{~#NrNL&Ӝ4d8 t{o:4$CmZQoH~_W 4\q }y:^! O^Co'Kd?"|X!דͯszY(*AzG/F9=,umm?szY(W5.WӪ"B,gP= qK-|F B#@ G/$L?4^qdg*3|;kA83Hl~Ku:)OI+=ѫsF7FΚtSDO`ieg5tKŚo2aDE}j@A*Q:F7zjqd#T8"/t/TSŪGP驀k].zO*Mx>-P"?MLZs֊xޜLXx>-P"?MLZ/#g MCAtK \56U W06ypT4_JLWFY:2F뤟~lD2Q5]$硎e$j>[Q-RDO"4_-RDk-RD믯e"x3K}(EtPP~!7҄_O/zAZhP~!7JץK9Βz[qK13s%),FjFKg:YtP=tOϥ#z]]/*t/K|9鳑aor:_~@鯯$I#z}~_ _$V":z|2M~D|4K_GD|4K_:5l=/XWƗq 8ƾF괿 V_9׮_|+/kTX۞X_cnzZIcyoKasԿ\%k[!y9>?mCָJY 'Z !zK,$hЈiytƖH1C"?ӥF/Ϫ/NS3ׯU'_Ɲ*5__ׯU']/k]/Al2HK"`4T> K!.?k | + + z_QXDz^/ƅ={(rJ"URР.J"UR ?85U!KΈ$Kus窐_D[=T^֗ctU`lAW5ץctU͆C<ԁ/R_ ,/XeY<ԁ/R_ ,=Kj<ԁ/R_H<SL]=_k(_A࢚zIz[8‚[ik/e QM2]Wz^}_K\| `/e0밃K X /ei8m-+eTqZ_ -K&ҶUGucc.4K_KKziuΦi/Ǟ]I&p@V7=Uo}5NIm>stream +x+*T04U0B C=SSB!9WA?37@%_!+) H!$Ѕjr\CCz +endstream +endobj +35 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +36 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 74850/Height 3509>>stream +5eqC学=:jؠ7ӧݶGoKݶ^o_۵j{Q$–eLXԵ'O嚗$IH9e :6fE.dj#QȈKYE0B>0GH= AnQr ڧLA6 ?1Ni]7YIz"=HVlIl:_qoWoWI+/Kߙ_'M~$p6Bzk< VIZli?4_֝bq *5bA_zV>-&xmqKKGbK ᅤ_Iji$_RHRU-꾷_Q@^[04I7sK?/%I>;'ZzzDK[]a&Mu +Tta!Kfn%io%KJi ÿIi==R_ڥkvC]H00A3gm$i$ÆJ4 ,00@@0 DDDDDDDR}'Gn?[G,6$*FB[GTN-P"?MLZToK/ =Rt΢o6%8lᩲh:^DpP4*O&V)e#QDxoJ4uQZajߠ#GWi{z_L B"?Ey.#Jh,WKz_tOפ׭& 'o=tOϥ#zYl_]/| I|Փ_">Fk5_R//3MI+/lF>/G~:Z +m:_r@_ +Ë#Z_XХPiu?Z^>sԿKҿpnz WkΡI03#.4@NC">ZYO |=g.Mk5͆^ZYePo$ȖWKƅ=h/(cVUK9W_M X`k_ /: ?s\RK|x IJ_^֗ct[(?CY. Um ,y_.tm/ V=A>R"_WUHk(_ X KA AryO^R?+eTq'qZ][Li'+_=]_4ia)ރAm/8;מk_iZ=+H DvyhI#>D`!"I m&П0opz=+F H6dL=+DŽ#a09O` ם rLADBMN8- l/`" $Dد9T ElWeR2A0`I "J+A2, I,/'@D0[Ia, $A L֐0Yp!HAD $fARR,,HAk H WA Hq +CPC4&IT!ZŠq 4FDDDPB""""""1| pel'ua-R"Q40Z;#"ؖw3> T̶rgKjy,ęYPَQ[d$h",jMp2"wl8m L;MLPg&l:L0j7Gt ӨI 蕢7aÅPfl0a"RH;#\ ]EVvk:IltGX +aaHQO)6oc"2#ea^729 +"Ai {YtP: ~ Nb;ok"kPT&_,6y$-$YPiԈWmoWDԁ6p)|BtЛal?FB$Ǻ">;U]e8gNMǴ+ނ~8~'+!WfWpA?-#=:uo؇jC򅤒I~XO jl 6/6h4![+S,$VO$rk8N0)'%_/0θ+Scc %q\UjH$pcc)iڊ,g8g򅗧#SWuh_UoK]RV7V-]W޺뱽k=/A:Tct) uEJyőʛCjL,7ui:b?p̨l>/C\tz]Q9u V{|Yq:%~C&ʡ8#=RZoDUVR-=~_dd~"/ ?I}&>\_ GZ(^Β IcZNO|ZDkGBA6!/HKKeuH?L +D}Oe'N)_728::{<_p㮓*G{" I}/}`~A0ߒW-/]C=9::+O/ֵt=MS:ki6bKnc&klײLkfh$\nutK>M99 Pߒ-[[_s c9sg#/_&._CgFW5akk$> *ZuhKҤ__aua44/#6T/W[/_!JXuK|$?gxEdRI}~5Ka*ށa_?/!BH_ XaD|e.1{9RF6^_ /V L'G;qM h,_ʠlt_}#&A1qCI_^落O_K_J4@$Ht}_tzwkz_z_;t$ X=RY6Vk/ltL?$KD]|/KW qα#A_Oi] ,B @PsK^w.q]&b$+ !_amk:]u&,־SV/Fj@V))n}=wIiuzM +j?*`d?oKIP?㯥cf>` so? mzZ_ZKeT-m GWI?:]_KW-RoK#<7NT^| u^ MWMD a/?KoKK/I/߭ C4uo"nD'cⴇǢBAzMj^-_Iak tztV0AЦI S_=[O('>LJO NaIޕ"x_DŽ Ga.qD >v _|Ad4E L lWb$áA1A&b`] >^z@ֈˑ@A $GPVh0@O> !NH5נ Ђ B =&AkaGQy8A0p,1b"SƐM!X t,/pPAA3. !bb  OO +ЍBBA ɂB#[ +""(! +b""?m:"b#7[E*- DbV˞PpȦjDk5#'VvaCG)A0hE&Ki2lfq!YGcj&tJÆ@`2(L6TpۆUh0dJ`2 [ rR* 8p6i& L6 iW֙4&PB7T6lNi)v>a + J6}Aq]¤p[ +0ö}Aq]06P mï%SAmk Oej.A(EHK6/5'zB(tT'+S 黦Cj+S<6sʙ +Σ\< PAw#.:ZJ6nnSoeBSZ=.}{ д-i^($\kp׿I[糠pxzZߧ{yg@{:ҋ-ˆ֥ :r %6uXgpUzM]XOWm7*Ii$ttUO>D_~K^6}jHEq$fho8@i6)g8.5FO$/򄧒GD0DHJy$tCx@}&W])ICHYL/*E>ʵzHUgXYmʊlWIjJViO8@Uz]i%I{+?ԆW=- Z!-z~qy |\E}:CC_AJLj/HRJ."aiN>hMB4A΅>ʮof GpS"HoWF)/~t) H$KH":[( -K!IK՝<tOE~_%2]SץEgyn/*zIs"Ћ au)BЋdd ?gDiHͮBHUkI}/ |qTxmr(=k{6Kr'a?K:ѭ%U+G^L_,Ȏo0 |E uҶiI~KҤKyO\{=鿺gOuB)^M4M &IGKךֻO==Y8 5h3૯΃~h2? >kW~RT'/Lkmr*"fkQA(c^0C_:cZKePA$\ȼ^TT?~Y>ۏK5߯\[_u⿏fI_)%)$I0-KokĆל5FןC_Ț/^RH/>gYC0Y됀>eg!z.I4Y^(@iS:?:_"/O U&n~OҡH _66W_)Q~?ѯOMFNQZl$ _޾\4K¯._#J84=Cm RJ"[ +u??,_N6:/7/a Q'aqE2ӭD_O?-#;M }oi_y_ma{oAB?T_*G^֗_?@%KKҜ[՚ ?G_ý +)SUVbK7 /K`< x87']=0Aꭿ֗Qu _G0WX" 1$eҪt +\ }'^>pU?/]*KKg_=K-(ɔ\KiR[sa}0IfoGo4_u.>a#8/TzH<": $/H Jr*^KBuK.</m&][?zL?D%z k.tDJEꑰ -?Um/Һ&t-JM7pVm?{@_ |0Z @0&ocIQ 쪖L?TVoQ )~ak*&Kp?_UzL?}$_>8J/][KHkVO/տzMa.pÂMU=%ta7A<|V cI>+\RXJI{ EI:*('Km$oՆ#:+Z_WzD: &EkK &1n w.M5 4 +L Ƞ|TiL0C*7~O*ZZ@AcYHIZbRTdfP׆) kDTHII$H0{d;*S93bEOWJ{OZXH0| Z 4 a 8h LVL8=O( 8OHPO,AIXk*6 L' B&  a8K^]aaqH45HЊDx!Ј hDGhP'kG@Y.M$b-B"""""0DDDGMQSDb-v*R2NH}N4HfwTVXGfy/JxpιH4I>ΪV0P@ʴSȾK3ND_;RN!&npʢ 42II`l3=6ͦ)CapR580Æ`4ayV6 )C*Pji)vl0l4If*n8Do>Ag2afn4a¦}AaxQu93Ѩ5mD B R/鵤h)(Tr$ [A(E,}EM:ehrn[DΡM7tNL`¯F? =8^P:} Һe'{{:#;qFQ}fm&!}X=#֗I[m#n$Z]k{&_$zUӆKп z_qdsӾ{:TS RlRPJΠ[nn}d`+zL?KGO&oz0 ^&}u^zv>Kh+dW3A#i(}dM#4"b__{*.='΢yS#oiu95|Jy$tRIF)/Aߚ)Ч%zF}ru]!MΝ~8~o]!)tsI~ (KC^ߠ.G nNsXoȒ_."^ANDz2?a<'Pm|q+S\ 8U7u=C^k.T50T>mv' ϧt8▦tDqZ^":ePt|>$n?uGud^IUj6FT n_.ǽ?@鿺g&{ŝЯ#5ta Ob\kKۂ#L B"?M}jZg\4G_:_eUgz?5x]/m}!JXID|>L8A(!E.tƽZMqW@$@%ւ$.&չŴkug@=M7T&G| -KkiV'X_]7󐆿Kףkϡ^Zm{#?Ŕ1נD$lBI_/şJO>_>:K+]u_t$x׬"/eN~T*m* 4K(l4yK<'a)~?ѫ/i\$ ZpJ?J4BuI?8] !|/ihҦJ"[2?_3W ag)G"m+O,_N6RI+A^aZ>he>S |=g恗:/IIM  EA l/@P#/@[I6֨ RT,$ȖWK QT)䄑DS7u)Au /m, Z%a~ׯ _K|4ߴc OLZ?ߎH$%n0:}z"?9?_ZI|y>L8 +\ ү_HKt!*muЍ,x Ҥ?Ǟ蒯L0ce92IkJ__J9?#h,֕ MUeV㰴Tm/$O5k//ֿH Y봐B(}_ <[*!9贺?}~+4A uWI&D4ΣY &4a=> iABB,Mc J i >hci/pWBGQB# ADh"CIGhD ZT"8CB&PDaDDADDGM4d +Zz)6L25%1YF&rR)i#5pȦjDo5#gbXH vfgANHfDkDJAJ +X 0m8lT(a;M*npʚa3ۆU.Ȫ5&{ Ⱥ6l Pl7 J8AՇ¨6&'PݑNʗf2l 7NFn0Bvŗ '맄AC較 Og;s:"Pb֙H(t96]$hG% a=,f#J!"VwM2:UT(mBӅ20Yt~a=*0Woiv?$0}FIH|]Ht$ +?I eqVtmno_< ^ԁy6p)|BtQt~QoxFpm0ۤۥijSi/Ju?O޿\"6׵ȷUzW?׽-,$]C򅤒_ j帄GE=8fa4 +d?I)NM|kdz%?.)>01S0tMA~ ϥ&ŪG0 k,;߯%RZOzZOZL&zN_h: qtH"/OK/5IzT_IU +AO&i2D?W_i$P"?KIXDKI*`+KK0KkyU/`pUKRT~? aA1_ײ .^B2 /:#Խ|BzHH*H* : JeNSŭ.#sׄpQ_$5R#BcZ/I4>`IeH">F` k׶Oyt/|Y&Sv/0τ% (cP[U3~P]2>(}g4V^|B0Qmp鎗w4Y^(@KB H}}:{wZL=.KU .g/SAPH$/H ZRzx]krSsE$GFf +I'T A넋~ZKo@HȁK( t#zh Az" UPo a_EA ~t_ nmnS!恗7/a ">,$f#Zesl/+AjC@ Kmq`mxIE B*c _> __ޮ?^#A?At[$$A]kҭaނu)Ah?yN ߏIJ"un>#Km}=׿Ҧ맦,y}0Ac9?_J_9?Wo?sg*gS +\ B)ѰW/\|B +N[ .2;sA­ a.t8E$HHZ%dA 9U W,#x D~?㰿GW=_k~:L4G=A֖8BKo"` zAmi  Ȫor=u7# aoK`[ixA`o~$?TGim8K*Ka_ -MK R VN.%  |p]mt/R\| 04qL0h'tz>HPKaߕMW*H_\ uC( aA~R<(t)iE_'*LH .Aajq(@l4 sĹ) ~ 4H'S圝Sa%a6H11NAP4i {)d4 $cH#mRaCLò`Fj Wt3p(Hh4L L b@& ,XcXkA 0D 5akAk; y8 iа xi!K&@a4A:B 6 44? 0U8 +" B)h!"# 4 BB;C +CB""""""4"#f1\D'Eq$B\2KrQV3R;LԈjF@ yUGLe:"$Wl4+C 2frC fK2Ca3ۆTռ6 ,Vûa6f 8vÃm!ѭ0pd"5"v0966vj iLi#vAH:. SIgPB$]s:ŘE>CH +KI7SPDI ]ZEF4i[eaPGSꪛe Nn6=3YY\0F? =2'EY?}WŗI#0n4WX?ۤ8#OFIH~KK]&eo灸a{VCRB3q?m_~9!5KMs z_qdl4ϪvQ$ 8/KV/e&/>pXMv&ehbhZ ҜPI0O{WUzWVzB.a렃~u]ƕKIpH i7d?&W7 {q>uRoҞI~Zh /-i:F'Di7 %[$c!׮_N4eZz'ZBJoEIph2ֈjh2n %M!.$^BJ)%I7B]RWL}#cz?|~Щ ?>KL +"B4AZWFkҿ)G>R>f=P~( P^=Pi+###(_C&(mAa ÎbS]1S)?T>`I"]%󨩀k. $a+_CZJDꖓ<^ZO⟏** -Duʡ|I2cB6+AE?I*}/Jǵ]#P*]DT}/ t=Ke_@^L%_#$U-'#4DtVzrttV"? (۫ʪ#?Ғh?)ץiizj;(PZDA TKRTAlU0eؤ]GJlRE?_z DwX b3Z4XG(hN$~^TT?ҷ9I[aӂ#"=KT)xxarKC9A +Z^GJI`Z>_9i)~iV'XD"᜹C↿癈ᆺM+}2^y𐲆04 (cP\m~$bJKd+3AQ _Ymtzkװ.! +-v韒P!@xzJ_$oVQ /IBҶ4_A uPH$/a:׮K)ןKoυS^">xko )mDJ /-$Ak$PH =.H&.=v_ޗ#$_ C/Iޙ[DT$/DA $ނ _(A+OָI #>NR=x$t ?߄ 2+/A$èلkLnj#0׿A^a( O"> 0zxp[q迄 `  A&aBeTگAuׄoAy#NNGO 0gez_9?46>I/A Iys ] +Z $g%Rk^KAyg/N3~Y_x@A,WYN ^- +ֿk_@m* &^ X` K맦/_ $b_ץK>H$ƕ+ ͂A{kAB UQY +~!5HU@_A1!E6uA*綗\| ~@$aC^AAR'5"?Cń MZ 8e<}{Z_׫=GWH% Z_9補t]l+~9L?` +ic?otȂ OO-/G_PA2!ح?~A("='aΦ/o)ރZv@@v1 vK_AKTIKn][p%~Gi7ƁM~~XA(a@]'pD݈N/0k~U5v IB 7?I `.88p 0a(R?~8i؄A'a]^"ݏ&=.tW4UBGA>zE>  I AC =&A|Ba(ψ"ߓ% ]S Z0}#5 bIIFjJ h&sg<ϖV '&ZLE(&E.Js>ZLcꃤKN- y 8JT 4/j  0IQiA01 `]&\ i/i ai?@I @Na  +ChzC` )]-!Ǥ GCZKIX_1AtiHTM !AHiFPT""#5KDDDDDDDG(!sW%h +GuP.T<(gcyKPs+Ԍ2+\vʪ+SA`α荫f Z & im0|0`Val3> 6hEB5maöTgTj'i[6B*a.(CaA4tJm}AFn&UN &ŧoa7Dk$Lo & +lYnpE>CH t\:S:o/3s} 5-A^7d`?Z79u_9쩜U'NDH P\h/EZK|yIBd3|7Qt:]'l*΂M2: + 6Z!@_Ƿ+շ5&/hNi oK}t/B$ǺQqűJ=-6\s//-IMǴ=&l9"&??GW#N}GO{􍤕~pkE=􍤿Nj=!n_=!CidHm!՞]> +rk$4ǤG}|5I Kd>I _ԔH}y:&Vk[2R(aאD"ddTCD_W:F QKoO?ervPgO HIm)?5*Ӳ{<s@> R}l3|~3T[p5]D_h:Iz^F.-_>ehu&N +-S@q==B/ud8=WD$[u{+|G":+NPNN0KDuZ?@ꎊӬ4f?,W?mJXCY3]A).(6uDCg(P~!7~ K0 ^99^aW\[_+sk:Yp%9G㥜Ie + -c">}_ =q +E歕:Ke#M#J .C-aíz'a׮kƾD_ mA7O^[[h|!-$$/z]ǯ/A,h?>I5 6(]kV Pۍ l9\H$!oXQ:G ORׄلkR;Ht_ԇ[hzeב +?A f..9?))U1^|)?#Y eqTPF{"a\U/GT+@? ]o_e@_xA| X`k\NWׄ Q=g/~D]cʲ_&\ПC~ aLRVK5A *s\RK˴YZk)BAT ZkAkN ? /?!) |$ Vuj@mj@) _޿k BAxHkK"i+G(_|}i ڏ?jgKLj^CH G5_ ҇ΞAXjl5'JE:AC&?l/kw08Z f#09W` jax I ׶dABxIC 0A$O浤aGjag=|*<ϗ^>Xb3A ya-B@p ,A0?Qh1 # AkA04B`  8x'_o=bB AkP@AWb 0@A14h +!GC ǡab#i#2 5Bӆ !j!d1BBN"BCM hGGhM5$FE44Ј@DDDDDE"""""45B""1e4v&D&eqhv&Xբav(0cGÉT39;ȦKK0lh}`2 +2,DfkA8e^E4d"L3>d Mp`' kȺl34kL6AŦϨ2H$&Pj#}7w`Z#}6Ϩ:#I0ÅY FBau $Fn*oEQMVqtS:m 2 1kP}Mäɶ$AxYB:#A0]$hiꪒȝ @ 83(.aײU`^#aa(]''NDH*6y$-YPic*΂MI6H +#bgBN-.\U[~'#~F>=өկ ~jM +_*Н>ߧ΄؟D a5!%>=_ fTAzS{?:I[uNy]>83}a?HejC򅤒_ _]CgV"-$Kg"Ho"Jr|%<:'o8Cm/! )NM|m8N0)'%_/_'Z_^нBII鴿QpeZ[^$K7F9Ӎ/8Eh[z_B꒿KE~? ޗ󐺤/n 81>O^B,yőM~/8#Ч/AVߚ&"W^ֽ5_/8#OQ:Yl=].:eg]&*kZ2K_xkq׋,$_ C_Kʃk}ۮ9ѯA $/zK"1ҥ"65L0ȯ"xG(_넺zuzk`_&dW}(]/C迲9?D{0^VԇE5?H_:/hjZ9?D{0^V&.==H^ThZĺҍ&& 4^}~U_^}}=/ZZQ߂A&@P#ׯ^OpդkȿoߋA E?0 ^_;t$ X1?CARIi~E(踏Q^u&M /IW\$&IB Ikgr&ҺXk$ 'Dt&x|B +SAֿ^M( HWA~B!5VVqUs_(><ԁ5 ִZMXP?Iy4Zef 4AsGW=_krc=_kKHV&Ht5_WYۘI A$#>`  ұ3_yCmX0~ICr9&&K 4I--m O_箵֖ʩ?[~A("=:7A0-A?F+ xo$~7v 'a@pa$P M_%_0)mM1 -߭ CO޶%IR|| 0OIIJ WF? }!y!: AzMj^-_aMG4J o ;i4:?}V!Ί:$Wi0*kiA %z +yA< J> sLXH\}Na͆IRaA7vQKj"AA@jI vpkɃW_eiz I vp{ {@C!Ak2 |(BA/k"" iV@Ju`fCӆϨ25 &"ȈAU6,>&UM&ܧ f3(i4Ŕ"/$M3(tJYB:#A0]$htD(caqp4&]U2qdA7皻@1]$|/L0eˤiŷ>:A(>A7:iKDw @0,6y$/p"yi_4^N!mn]z_YвI#+@O >&j:\t}xt[{*'#VA?1]< >NW9vt^?eP.) 5o/&U)KgV"-$_%":K) Qd )g_Fi )~q{œaROJO]kifD+ijH_sleZ[^$iiƗH&V+(;q]RqY/4{z_B꒿p֓i[JEAt)(^kq(չЧ/"W^ֽlI}6$ocK"iPYF{o֍/#u[AK89#ki}~\ w=4fnI7l_RPy 7RFQ)' mŤ17zץ# Ig+6H?XZ5jrԨ&/_ΞO/Ea#t_+GcօV%^/OA^:2D":%~F$ƿ3!W܉ڽ$oM*4_Ҵ]1G8֗L9tfTR UׯK)#tGgI0;]_?aAC Q]euBCI(_@%|[-iqu|?4\"=:Z&*nYvz+>4mu?M~yt癈?(D{LWoL 5c@_>_Y>WϧaR۬#@z^n|G "0h"$&ZOp_/JNz~&I +W[ߤ0d_7zVP}]MwuY!_Imx L0#灦ؐ2#_zPtxzIoA zǮJǮߏyPpl%˲zX?Sz /r+]CqW"k׫_A0"@:Y^s[^z_a3PkzHտ/\Z9?D{0^VK_^W:& .tWB4o SVK_J4@$I7__\5z]/񜃐r +_7yo "c:/ !?Ҝ[:i%0{~I6_#Ϧy34/i$^LG]u\$&IB NI6R_0sUctI|B +  __?Ciki.k5b@$a5l=UG_Y/"$+[z_פZ ΂O[zTuiuz~&i-|m *MYlJ[zI__~al7?!Ag~l7#7 oI&ȯ7M <%-RoK#<7NV)_\@zү-i/ &I&o+<-xA}$_Kߤ_M/B`Ҿ:KCAJKoK}PI/Z/II}&߄GRSI0$vP^zZW ` 1 oI:_^U?I-Rcw,诇HP ݠ(&EBWi0*i& rI]I/4IK"-/P WS &\*-xz ѤyRaA7vQAERAi5$NKXH΢$Ƞ6 Vܴ? W! bIx2 A1I0a.qnZA0ZNh zX8A0 < +k$kC AUA`4DD2 |(A -5]xM$ -'h%,aPh$JI`jBL X#BЄ + K C b&HqDME>CH Ȍwߗ 4lM~\3h3~\3k˂pXF\-20Y!G5T"(ę1"}$QJ~5J0MIť+ uI Oa O߳ZH/H_"<ԛ8I:hCvWaȅW'߽5}*uu\tu_wI7ӟ RS(] dd?-Z6 nq)U,ŹħUTP( +CgJy~w /՞ ä~4dBYE H5Bla x=3=o:95/om==-`b[BJn^CI.X#@؅:ߏzK7j$_,B5_ &z5UQϯm^kU Mj}Lm$ڬzuJyitau"} .|~J#]Yo{ KAʈ%m0gBo!ih"?/m--G\Ћ$ᆿXo͕:{wI^>zׄ=6֔6L?&ǦAׄ=6d _N>M"`HF+~FG͆[!θm/-t$ oA$aE _2Y7[(6ץA+O֡넂L>{=&$Z믍7A~X-}_A1qCu㚗GK0CGKIK#נ :9>/$Ȕ׋Z~OmޟK@zV\H6kwm +_Z%aq8J)zL;.oHR- KKAq?/Vq?A Jq?Mݔ0K-DtW-'k#KI +ǥmǥ--.K {]WAkP?WKjKHXH-(R":)A/QVIizXGpWPcd_=_F>M~A A$k_.?}xZAAiT{zAxG:/ ̡?( ~ AZtPdR Ca4(.?N ߆ CaSP_/Ta A^>,AZ[pIUޗ Mx0wI H7czAK--X Ф 0K ?MtbaJ[ DwǢBTKq, A6~EA6~DjI-êXEیt)m8I5HtR.:ikޑOJ>LI5Hֽb a^L anf + [A6&] Z!&] G@H,23Aӄt1=| զ+A @6~A8 ZbkA+4 A:h [(H,t-z2 }Gaa(Ic  PaD=0XJX/tUbFpWᣡ0F +B8D`") BhGF B8TJRBB]SB1ADDE""&#!4Joyd TJ̒6>4Fe:j†v5l#v!I63VD"(}IÆuɄI(ȗ ? LL6l 6da;ipel8pl6B&2Ԙ6 DmL6R``ΛbӰ(`U +L0A*Dk ‹'@M_e' 0#}]UBCa £M44I96 \2asIB&=3@?3/PoaPQʲ L.\0F>#ZL3k3 hPXF0-Μ*ToO6LIZh}I@WI8eqVtmoo%o~H5fV*Tu .Wgʄ'Ms➦H0۬o]IiOV${N~8~'nn-&mHo& ߤm%M؆HE߯4P~D FQ`?ͯ^!#@\zOKmANM|Kͯq>u{cWI?Sd1^u%_OA_cI d5`́dIS/I' }/n Q`́B^Y_ڤXn_R}iťlFz_hzW,MMQנKu))G>;2]!)}My iB_90ΞEopBiP8ι_z(P@W ^UVG8 oCuUЋA{I#5 +0׏Tf4_T}:Bt%[~xH0SPgWe} +ŪGQ#mW!/H0J%[:I.h:ۄGZIzL6?lI|z[5j^կi{G +Knh8;?j@U Ƞ]&V n"r=%O// O朜[*>_TejMmTa" ? TدD[uy$PDD?U-{.+Ab3rZ *n(6uDCSV#KOJXI֗g9~@E5^M_ | PWNF/V#t/:XKuւ ~aה_U/) Ki~iVׄ9#v\Sao_]/| I|ד_k +]/ $fWTk !'k/K{K*##^:_fW_X?J+(.!%mT5fʝ==Z[taiuXo@㥠Ҷc\lF_:*׮Kr@E>VPqAW4)~6]yOֽs4i$nKKR.ΎR_sD'\/ gϡ kI03KtT/ Z. ץu I|l)ׯ# ^_ǧKo:?ޯhe>SK$aZA>. x@P#ׯ^{ޞK_K}AA l:K >IeqT" k,//#0IeqTZ҈-h Vgւ[DY}-Wk4J+Z_]g9?v/pA&)+t3'9ZR-̓XA N?~zS UGZq[WK^]A +8]?wuA*G?G.KUm.y0K}/(_Hk^L(e Hl# +o~8ij'뿄] O)xG:/tS:K/m.W'e#O7( L_=uM ή3M?V"I}OK #;*/ʟz[(b$ޗia)ރZ K}b_U]6 zZI/H Dvf_B曤:K&a o##_MAi6 萿>o_%䄋=& IBpAa!0JB Mڌ"`Oiå~\Baz]A`bIlxIwp*K%%7*Q6 (l/Npp =g'Fk %T 7*Qׄ˛ 0AE/ 6A:PഃI X1ZL@I 'I"u & ya/bA758z%d41 X$ ai2)OIo[V t!H-@  5uæ#EK/tJ@u"U*E~74ߥ%@o]'#j(C :ᲰA[!@o]'#fפf R3ߤ>|D0SpL*΂M: + 6$/V0-P"?ojIiSc~{<KQa(X\/^6gKIz^%N:5k:_C+O#ac' &VPatI}#iPHyʾ$?LO=:t{„ua +/f}ZZ^U-RҴGH6 Vla>N ^x3Y|APP~!&+3Ek9ruDCLWf/eaxKЂn :YuL13sZ:^,FkFn/:sZ:^zб=/'XAP't<GK癈aEB?*sg#{:?@9/f" #@ؖ||ïN(T xdKֽJ_4W?.mKZ#@z^zsIk ▖׋A%~W_DIB_'_潇at=5t]|BWA΍Xqkץϰx )M`#M#"?#灧koBꗮ$=}/X$_ Co-z/! g4 dG.ߔߥA5 _At?L0ȯ" K0A[.KH^Z6 v!~&#JQ[j_ C!R _>c t_>@$\~H__XXAd&A? ,i2}~?@.~`@m$]/ ~vq#t1ͯJ"*/$K7( &Ai_YWDt }.zs9_V[I(AI_,7YO*h?_A~!(?|B + BK(M~ᔏ-_KHt5 #_HH/Kmx6d}[ -_ +F?ȅ_ץ=_kQAU_ z?S*1o M/ oA P_o (p\[~?.03].2~A(""*kA1KT=[OJ.b_iï l__09Z_ać G.>LK^L\CazN/ocxDN fu rep0a. BH2 pH$ v+a,Ta PkaaGI@ @t @:2D ax8qN^GJ車h0Bm ; y+bFL*!X d6i:Ť8Aa8`GAH )`j0b# {C5AZD>FHi!,uTЎBGkRA +B#taBk4ЊE"#H!ADD،enh;2u4[R^`α^#TLֆuϢ DAC2 L2)&<+hL2X 9ْy)7ad ʭU [f P 2̃l;N6َQ[Np . 2̧ȺHuPEgadQl4&  !>V &,aB#BAFmӨL4&tz~ h^O=hpoa[<o3L:#X}Qh*EyeQC)7I&0a"#Eg$3@P\KKAp#M?m!6yp7_AË\,Mm!N,O}8 [+_[(4P#_6(>皦RNޒޓ橔\*΂M?I zlQce?Ds8yikˎHA7<[겏gKc>j;I~j;W}^_#zb}& ҝ+Y/^ƾ(KS] ~a%"BS-7 I$pA? I$fJz^Ǥ"|X~ޗ㠓_h?A&ޗCOKH'%6AzG/Ȁ1փ'Ҧ5B"iS1^H &I"u$FsFLP6EJ3PKӑ#8 JrT@!N%r`m^'ʅ?I ."?C!yӱΣ @J:/ץlȏB,gNEq8>egV{zDzs>abpi3T.@Z'Tl]Q9uY. :]Q9u"V P_:%xao#S,$h48KS H:GI7^Ή_^_M!A(a./P×{z{<KQKQ _^im#}$HKoT/ttXat{Y-N"?=kKKӧY-?2DW"?K f&#56 0_~ʰէi_#a2/+KKMZZ^,6 qZXX"t5km)+^D=dXbguz^N ^f Ѣ+K--8g9ŭ.#,FkFŭ.#ߛuG<G:ҭ/A'C9__]D0a}~9/f#=zlt癈K kUdXK^,BI_o_}KJ}uZ#@z^V#@z^B_T?K4~N{ȜC.:4ɜCoat:5?IC'ZG/ahN#q=t:G x◠aTsK/=/K g4X +<8 _)y'Zǯ"`2E[ AAi~x_+Y@A> /VtaE~xA󁚗_OR[j_fx kfjC Mh%0^V K4 6]%G? tH_>|l| AA& xk &Uҵ^?_/#?zC_e !x_AWCA EA1_U_k]2_djG_EiiKti5NI[yqOx9#u2$ +ǗYr$ $ r!C8e#TcYpj ug e Y8ig/A>!HTVҏ5-KZe~s?~‡5 #_HSRҞ5:rP[:OwmBP[=G~j?*MW }yO v ?$=7~?i'v?~A("<~A("=[b~Ko-ߠI;_@v&e[i/Ko1&ȧ:~E?Gi7~°[[~xA(aXA +XA(aoӏD`qMX"nD'~>7KM؈-HH\m0D sմBH6z^, #Xc/?Ky|D?Tt 0a*j` 0yB ,}'JGItȠ`K~oK_w08(]2(2|8( 0WeZQ'&OW m!$C]#t'xD?;C]#bqn^ BH2 |qn\ !uBb>N4'u A00^ ix1'pjx1''D$ i~@F[ AV/H )eaA,qš XCAb"Sn2tЊUDi@DhRA_L* I"#Em8$FFDE#CCB(!ɺ'́2oR"JMdM32Db*jEٌw^%t0l(6Ul(tLdE4aPgVTZ D &i 蔢5nB%=hpg&ۢ! S:n.4T#ZOZ^A#:u"P\ ˤDiEKI@WI8eqVtmo!H^b*\ B$Ǻ}i$:SꕿKtq9>N}UMDiF؆HEߔ-$VzMZ %=za_8R&=$$pΓu/I5B^ %(^$^/NFㅣE9M!%zL?C)*ZP&N5_83kЋoW6Tb?kO]Q9tHU&fiFղ?dd~"/]$rxH0z7 ϡT>@Z4IzL?) D}-/CLcIBAz2(A(E*GҠB h0֐C=9:+O/+KK}h$`ZDiBn(6uDCLWf/eZZk L')׿sk:YqkKe{a 먇 5rGK癈aEB2䒯_4W?.mK8@*t|?!B/{K"q_~L|l| AqE1ȇMz~`4T>! " ;=CW1ʼ~Eif]F}~9#u<O/sG %)+/e A!At5 #ߑW~UgR1kA9` >箵:o%Gr wheߠI;  6_peB>J/- ~-ނj< / S|D?TYѬ56~ sI΢ 5I<ϗ_8/ f| K l AA⼜oһzhK`b +JЉ%4#ta +QA#,H&H5-Մ; dB"" 0gXB":vF"6Z$<)9Agj4vɍ]6RU8dQ0;a6|DIB4ꡝM:Ҳ0fnˌd 9IG"P(}17OgB(Ȍl#qI;L>P 3Df3࠸H4@J&ߛ/zGeqVtcmNzXWgAA- oߔzLsgr4Ǟ΃;UүM/66'&l6U=~(K]S 0m&_YA?#Kޫͭ/\@[KYx3Z$m_M_u8 #m^'EôoK yŤ}$WO"9#Q~|=qKoޔY"Οq׋T81}D_(㔓mxΡFpҢ;_K{<?vON [m/ i`O%ǥ_I_^xP ,0=DRHF.H'K f&:/.=_C+MD^iake$/IAQ0dw+'{an D!zzKR_'O@avXK^/Z oB$-؉_TimO_]-#9z_PT~3AA g4c--5? c/?- A}6S o(w_t]Bo8^/H$^Y =o[}|{ }55/q_Z󨤽.Vkb!@[Y&+OW ^>VOIKT׿g&a{_z^؄Nw(NH?=-6Km-tvAl![J<Ԉ"#շ_{YuG\DGK i y{K[-֔"|A %&T΀mziBl nM ήح-+:M [A7[i~ރ-D~(-a[z[x7O l4"8Aa hN4_ CMqqČ /I:Bւ S oO! )3VIb:DhBDE DhDAADDDGY +]+$B'̒Bn!["EW%H4"|232DRgNF ȔEw) \gtdA/i$ӣE cT]2Sl68eD;f:r>WawRl2fh lέ‹س4iêag V0B*lw N 6v\fh'r3L:#X}Qh*J}eMPm.*4P6$Bz ^OU#l#q<?Du_ҝkGQ[49k$-7a=D?K:)׎ez0 kqG`zO?9z_PTZ΢ r@_N#k<8 _Z[dj#~#~ǭ_G~:^G Gy>.QgZ?>Ώ_3Xk_$Z ΠD_~?KKB=o[Zm|{ׯ[PO_m_:)R]t!V_/2B|5y##`[r)uנ픵>PIZ ̓^_دb}\S"^"uz Km{ksҖ&0`_qk<kg&R՜3,qo ,eG BJ_ go_l)2tC2z@zI]io`_uߦgWHxil?!4zI6|&ҟ^M[UI7 E&KWm_Ko}b?KloKmߺM iZoAMSK{ i, oi~ZZXIIpAM U,"K å~["z㠛i+K' &K<'- sĸIһ&KwgAc ,0H2Ƞ IEOI"uL7+ t`A~\5 _ ^*&XA{8KAYA&FǠX Є8 t  oN Ak b Rkh UH'ƐC@jD DZڈЈЈDhDDD*Q>wZ&7`ANԑtSQbf0)+`EPpȶV#Vv<F/ + lptkL 3*8w6g% #Z"\28Gpôl8v K'ۢ$&-PqpH*bA0Ji %A+bV0l Gs:@^##*S zpDhl}oDdFk5PJsJui&i&4*m!#0UWHU z,_w_T!1萇oKW{m`2e lNS?}꾯Sk+is$5grUZI[*WeAC ~}Mj ڪ'ψ/X +Fn|3}ՋIgSi6*KMH_#A:I6a~]u`4LCH$/ W>$iZ/ZI`B]$?_i$~g_dkzausDk6 kPgKIaDB"?D$+__~Dò1:%/vW$__ `Yp_B^t_R4ױ]+K U{8ͬoƒZrHG-ͭPL:K(IR 0(})/~yKoşN zKy*W4oу90g#!oL:6 im[u@m[A+$WD0VT ]K/_TLr ` +\x6u+Ij 7]]!/_YԥBߥq5Xq8i.[[J +#;ҤLS,u۴/UUiBU6@[xگh, ^+Az[mGjUjL_;%`㚗Dbe}L>?_z_[m^k$wKo^ֽ.kiXZ^lW@0ЋЋKA[{[[a,6lEYBKۯ;_̃#@=k߲F=C%_\"+^虆LrEK)m^ׯKU__#cK_KSxHVVޗko눈%8Jev9\p/K~0=4-.exA/K/oIoil<%zcM3KUk`oOAzt9*i TKm ĿZU[&-G[& a$m/Ka?_X%ig?&IۊނoAGKV ='Aa &m/a0Aa\I}.=&a7aL MǤKl &KXdM>a0Kp`xK^! s&_[QaנZ6/HO*Lu< "jI,z,GI`T gP_G b RA/^G >Axd`1AȳH0zAK4 ap7 1AᤁIl@> YZd24Aq a*Ca`T5a$ $U kKZ1@ AC!kX OF(!A +U %TB8 fJ>8Aa#Fnd"""AQM A DD 2Oˢ| ,՝D16*gdO!HPd%9aa2dϱCJ%a ae+al6Rmf9En&l3-6l8l0δqbA6cT34ppKernŠL=F=ɸE""<ƃni +PgV0w +-EպPEӽCrVrL}wN-Qh*ax V7!W^!VӏTYA 9U7vP!:ۯ f_Yt>?f3XݎG4Wd UI5{zh&Tͬ7~NkҦɉ~Sb_&^!_C8f%)jv}%DGZ"?\Y& !0~&}stX%}+~Ry#>:!N~4%c묣3],95*3૗#Sj(~4Cv5WeUӑGtJWHRյ5]6RҥIo]OCDe+9]/nC^.!)R鲕-<5Bb? #Yj*zI{p@$ifrT G8^fA98s48K}]"$_$o죜sP'3GT|^Q./4im$WARk'Dt*? WHKY})1o?:VQp%oGH7@PZ_zL0ڤ~S=pkoO*oM`AS dHY)ZT"2BnFr0ƿ:AB-G(AiT3kzK`-/{G&}6g n-/{F-/.%8DAURI"M8+VaF+]J2ё$:_^_CgvX`]΅AQnLHL龑GeesﴧBtkt/ iTIjXE:F3Ǩl4H/ʰoKҝIkKo Tq: ֖߿QƖ>L8kpK Ϋ_-֖߿QƖ:\z)/*0:f`ޗ%?gCʨ,Ka9 "[am[$Kim +k ^im*G{KlaCeTegQxTk?a##x +mԨJD_l?O.XނI-(T@xE_=IG I!iwK/OApDMjZ[萿VAX%ߺAݰsR DA;^޿^ZAoQlۏm?>/Vn7:1 8 ^H mmΌo$zO|<%:1 I*a:1pm :||PÉ:nKI (aĩmuz _@B_~-u[Il\$ h$pD?2@Zd L66Lq:0i h$xD>O/qp k %1 @Aq S O_4N  ,'!AV") mh&R' l,5 U :!aWH!Ht ͼAP #,h ]^aDDDDDFE!ɵH"n5bq6Guf\21^g +ge(lmJ&;SR2zJ-pB^L#RlgL3jNSq+0N a"hʘɄCۢ_3P$hgR4ʃ8l`ك Æݑzjݳ +vgvJpIp4;' XH-0wa +B[m3a@A0zv,65dl @h$'&*m(Ol2ۅZ50U<0mAaTG !`{ ʙKL/I%/_^tJ]k$(TBG]i.Hu2EUˆwҥl;$o֗tZU"5>Sn5oMc )-τ1Xpzh/=Ճ?*UHA~{*I?)1.m*>EZI Ľ:.)WUXմI8*U_bj+MPi7D$Ҏ^H -$k@(!NT$/&JS#t!L-/p.8K!2<[+S^O4YX/eZ=is|[hͭ$t$Ih>z]-AʬjʰjTEcDIWKV%L{^FIWK_4DB;CqDZiN>$IVr_^Iy)r\ha i6H$Vr__w%3D" uӞgHY86$KYY8)a%D4KIK_ ~`u I"B?H0&4^dJtE+F"M/$/:A{erauՔw1t?xH%='ߥ?HՔwe/ 5Z >O!?_%j:5VWt Kz[kztd A^ɝe@m#Js+WϱDk*ntsG6ި ܞtW. _(HY/ +J/J/!d["?{Ugd ]}_ ^)=z_~in䖔=) A^=//m-/$ձXޗK4:! 8oױK $^iX#_]z P6A0B i~&^t/KO{]W[}tᤗ@PN8D{gӄv7 MH/K.I; /]{}sM,#6o_lie>ic Ko4/NW}A7EFGU?]$AT:z_Buy*P">l2]y 7+]4Y~']--">l2ׄ_Ɩ9˯yW' /҈|wO(SPf)l Kx:/3l"/_Aq!xNz]X/w~3j^;H/戌QΟ^Z[ mm/=~x9}OX4]4@/?I3 ogF0A.KobGPJt'/KKoK~9ߤ(aC[@@X㲔?y (mƗ]\& {"?_6}&/0}_Im~ ~ t+'9Wm-"ᰏ |.m(-/H"I8Ka/8ohd?pm-&T΀θg| K ML4g:[z_L2i/oeG! +8 %A1AE!KHR + :"|rO~좸灓0UT, Ac D4/ y 4Ȥ/iƩҾJ`DG!@([Ib,*@'яBB#Ј"-dirȁd<@ѩ,l3aC +&r¥2;)Y[[ L3Kq$al0alHjlÆʭÆ@ؐȢ:eWlZ+:fѭ  Ca4hÆ@G #; }TϨ: RQtA wLalXl0BPԙ) TAHl6U%]CN$iOZ@ 20Vjv}}j@8( [_-`Diz`S3Lsa>oq sQQe0#L=Zn)$zUJߒtQ:)U* <oE,uZaDX?_YG^8y~ʨo=*0kc|ꨫI7^ /cPaDbWꗲhXTMT\ҍP~mj]~#QzT _Ho5)D5CeԔHZO2]uLyu*4t$ߪ/GHmiC_OMjpV#iNA5tͯ~4N[".!h>hZ}i/_A'_STEy+St8WKմ(zV?x@"3iέ}ߚ)Ч*mIteF sOZ8tW)Yi}6_Pz(?KKI,JOd4F\l>/Km+_K#?@/׶_6HJqd(Cֿ^j χ:ֿKI_30_8NX`>za _@i*E@莍~B`@i}ѯԄ$`>]/WGFPli2xA4sK:IPgDεRKZ0J-+Wc"?ZQxA0KB)E /ħ5H&<‚#_/-L!H$/9_uahق}RP׷z^q%0ׯ KaXAi#/K5Eп]%_DNH K :/#xK%ͭ/ ԿYKH&t?Fq/jjSzTAK 4 8[ +0/Ϥ%4"?W L$I}&[<AaL4?/evqKۦ@h4 &~kz].i,%_"0 ,6_?6? R0 }0dtO1hꏣ"O#`AC[ /_KmS/[3Bn K_.Q }ex20ۮš, +8/m6oeNT$!F߿20҈GpKz"ʝ2' M)P_恗:/ǥ[ @mrX/8jpbj")mkAqI!D/N>y+A_a_A})t$O_vתYҟ^" X 3:_J-/ ~}{_UL{NQGkyV5 Iь_~{?x}~GJ^N$5muK/ե[椔Z+_gT#0c0í* 1_MjIJd[aku}{=m}(!&wh +kJI/,$lsNk-%~߃_izIIPFmOU+/Oe!ZIGOhKj:(;`m4zMF/ /צ߰L~YPiq~Mmq&*t+_װ4?maΦ/IK_M&a[i`'5%'ҬA?kM>4WԂV0%?L?[h,"Al8K錄M7ߠEäAƗDh,7:*1HKHzJ8II04A_Jv3q[jdaۇ #5dptdI f 2i .8d B!i82 m`Ȕp 6K>h6m  ÄϨ8UuԢ醃مL0M (T=E ArLՐja:4;@ 2t୐qT Ldh=}}EUx%}q~R$*f&_9nDac$>oq sQQTQad0zzcU$W%ᆝd0ۂ/8a|$ߡvUGߩ&̓J_ Ϋ:y#jʨޚ 6 +con頟Ol 4^:N ĽVEZnaFbWKiP~&םA[X[iP^_D.PbUG]u!)O_(XZ_k !0 I&PkZ:@k_֗eZtfh4?TukS} i]Ku`^4RJBEk. +S/% ղO8ejbޝgP*z)/ +}Bz"%fFus"qx M RRm/%FiW_Tf/ }%sRNyh?՝8͇zMhiW3"_U_X5KW򎡩4~J3Pg0|9ֵZM'TSJID_ggoey@iKq8 Mұm gJ@@*xJ:5pUC>]/WeoS=t+WΣ +8.t6ش &VAD-qXmS Q~>(H_G@J|䅐qJ/Ί浯_8B5ؠ) I_z^B%J}B[u5ֿgTHQ8ApD|AcG,_AE݄S# R h_wa"%$MDB.ӯDK_%n'B\3_-U6M_$%B$+3B(@|O>uQA_ :uu_ G<Ok$Aà-jrIMbO 0UFjjouCIa*|%0pm\YAJt ~W2J%VP}c %ϣ> 3 8ASE("?O_A+]š,l㯗 ( ZBT![[SIN#BBD_T_߅UE;@Ko/uK}+t_N],B*Aqio=j$*K5XڄfB_\] KIE?XB^ΟO\g@UށBg [sTE}iLB c#Go۟^߫iQ =/נ]{ 8)ь^Mו +P0mG/3@Aߤ5k_~f/3?KԒ+i|P ZKԒI/L0J tŠ~k;JҏPBLׄ_ҤK.PK I%%@Y.}9ģ +6fX*Dx_⿫iep8O'(;Iq~_IǤq-?eiRah'SL^MMmq&*tn^ Vi_fW +oKaW_Ѡ?0O`rookA?U~Io/K&v ,0܌ KտJΤAl7$~/"Al7:MxA L|';/A$Xl?-L?K*D"_ERo Âci$?Bh$Q%Nւ=%`$$ nA:~A􎟤:N~O(A7` 0MA|#RP~`1H1#!i- +BO;v!PL!*"C`1A0DDDPB""""""""1n*c"dB(DY04BEQph qNqMC eaZlsa%}R5|,>u8 :o8Y<:"G(_UjzuEqfjz΅>OCDo_Kcz_@*P /a =S>+\Da/_kn'#>_bOޘA |A:ҜF6*|Iˠ_XBKDS +lc :aNI *0>?A 3I)*_R &iOfU'04ð. URP 4|yA-Ia^ |4Dpca؆) !j#L!T Q7`AL5D)\3DNUQו0; Tw~aL֑I\3d5Zl(l8l +pd 6DkAVIr2;LFݕi8D]a`kBF!1laV֘t*ã Pmy6ŕue-+<;#"*kt Cmi8TSF[000d*p/MJ +둌dk|$dA O2ؠq m.D^-m!:l# Aj( S+V8#Ol sJ<,~{iVlQe; a?иP#F9! 0OH6_׶vN΃4`QZbjUȐg TIfC ?6aIү~/AuŹħUTPV%ᆂOH_]7]sY(Jy$tRäx&BS#a镰^EsINW*Ukh_SEVAY'iK ?HK@AĽ~qd*+yi,%HNPoX񥷔K6UsP%Si*pUG/ Ч&~cfFD9zQ~} +E!}iWNRN+'ipvQk6,9(뜅kA/0/*"? X5/ZS_O=u$F"}wuH"Y ?rq?>Ki'UOȢQ&׵ޓO4Aez~j~ j"`)$eU_][E.^?gץߥ(Ü[#mP/m _#k~?_W^ʛ]zEB/a.Iho|Kt_m/oOϪ޹/iD ?qiQ_K5!봾<)W"t|,G^j.ҜRA>iB#߄=Eo:[0yxJvkPd>z 6XA6Ϥ0ߥ>0VL+JKG/]_a--Gm&Ȁx!껫/?Z]{}b&_n(/.Vɡ:#ouP"?t?Wuu G@P_붫 ]}omt_e--uua m^____Լ"?]}_a}}%V8F{_[}m/"=m_\9nmvI 0ȚGgWK]Wz]wNN~>B]$#PҾhd-zڷ졇۪+I>׵aK/iZS8z_N>E;gBvo("khr dMk֗ 鴽/.xZm$Dtt# KjA 9}`I*I7^HR0KG=Ac &&QPoHjfi-s MD#Ctc_AZt!6D ÿpH-VM2im?+B?K- #}04 ҷ`gXa}~66cJDvV4%A KkE z[ m $ׄAbiMZXAI0L:_!IW"nGIZMtvdE*v:H KA6~/H0ItW0 ֓ &>IaZ%B>B VIHO(I5H֒R.6(+XAⲓ: *0qBHyrCHH "(A1An@! T!8A 0 g U`&A!A:h BM4&A0`cH.#DA1t ' BH5 -`g C^AgACiꙅC`lՄ5*& 0l8P6ùn6C% VmD;@RV1=VÌNQ ;mi8FI `%(TՔOË_ 8@O3_ t$je `mfm.ͯHD/YoX<47皴_szUO34J6DŽFG)EsZ^$}Y\t~,jDi{[^+HGDisj:5_N,ʨ`ӏ?H +i!cl 3xv$jߚ[2T:_A.f +Lek,"4_)EG88ꪊI$ Ȗg^>?Q꽕>m47򄧒GE!7D*IGƺB`'(M:AH$_KHjvmi?WE^yK&qN~4#0؅|4K4Y޺ƒ_l0<2*E|eD=1-?Po"  H%ITj^.ҵjS4Ra8KЧ/#BPu/ڪᲆ>.!)V(I&Yw$Z3S.!B@jF//| G4?$ -9y~o].m.,8l:iWg:I<_H_NH0Ճ\L$A%Պ gNqQI#5. $a*AܺOϧ#KJ?4xaZ귪WJ|>$n_G]UG Ђ?Iqa47c_+C_xmtkZE)k&}tazN|yAֹiKV3 B,%/n DFw>O#bfQ|4KKnM]/Z^aW81a֖z_?VQJ/=< yΨx/:KzK&ti'I%W*o:_?P=?]fK=}M*?>$"mRxA?kϧ#&şHo: כ~zK AN8D{%^L]W(z_y?\K I<">}]c_ovo ?BDWָ@p/KIxA& ,Ry/il?Gj VZ +]xV&վ 鴼r@$wIx@[ _M#-- gK=I-/x_!ktJ6/q9$oƷ6JOB$j5pm~b#:[sCJSU΋9΋~I!j_ւFBKxs#Lnp%^׋+DKn^P5KoaK gXA~{/-k[__ D{m?a_XA~H. .X8j+~>BR5Cމuϭ?KKKm[|Kl"<-~ ťk0,FE;JҜ60'I/aAVBjt ZI-+jZ>z GAi캞) Kl $ K! i$7K/AiX/KK$KޗKRL?KKkKiqI +1 0KTmI *$/qA\%9BEN4ja?A k~?=#4 rJaE+IB'aH^}B0/dP{Q cMq jRQ; Ȋ RAN@j W0tH4k&DH9 X 0 :&쥺A B'X(& zd զ+A B&YkPA h1AH jhG_BA ( p@2A=0XJ[DJr) Bg,H5U &!AU5X" P #!DjDƨB4-B"""(e""""""""#`|MTԷA)[ < +ӹSVmXt0 4krӗ A@sL[SZL8ˌgPh_#Ȍ}{ 8!# 8ac$8mE=I5P\6V)P/&0:齶 amtΫ[Wjkk^~ ]~{^k$S_ jo/ws>TO?[SFH/6 +_^PךHSä8AB5xʨZ'uDGE_EX}=GX#0؅kjH,"9UE"9U_/KнjKK/_5s+S,Gp L(EPU) +y_ZjᲪ8KMj#@LFzM`6PëQl:EZ6d +}B#`T^ .(!8Ӕ><+)u=Tt"^VaɅC*:U9)~]z]'u7C+9EK}&;(]K_o?+eSO{Dt5w_/6yxTI}UgqUo +>-?Wς6~?S;X?53B&a3B&z[E^Vql/B=iԖE٩-I~R\?0˯_o D<]v^8g$+CӭXA:gEvX^DKAOC]j)z#@DK_﷥m/ =h%kKW[ G_tx D*ϤKoB5ez0 k ,6T!Քh5x{y0oa%׵A:{}xA~IKتYAoĺ_a䟞^?/g_{/j6"~/qUwuB#mKmnGyA0":qtKU_֡ւ%ޚ[a/vTAe@ t}G ΋/^Kn^:_ ߌ<] /%lx-kUD{mm~_i~hmmtJ.3@~z]7_z]A^#Kh$mվ?)]0_zk#CӠ.._u[]҂/NҴ?մW:&k>?im }%az\2;kV{ (XkI7נYմȞHŤ_ sXjj o5ޗ;LV5L42M_Mҷl+,v `+ ?Gw]-I}zX$ &0Ҭ']/A7i."Mz H"itm& t AC$߿?[_XA^t - 4 0}%#A?cL? ~HO1h$X - &M^( "I|FvÂ"&l/aRǝ)^S.IH` ikA B0 W8A0t;B 0& q'6u}yA>A42" V&T&4a-'PĿAҪ  `(/[m: > + t  aPv0 ~`A^a,k8k1a G'֐A1tЂ,`=0Ah6 kČ 4 a0#*AkkKT,&0X(! )DjZZ PCPhR `"(u0E""1s4[iID^UQוFd YSDvVY؈;-;aryHEaøfkM5 0l0!EZ"jQ3 gM2tjE:*QW"Xap@R) #&h3.FPp\(DiϨ65aaϨ8m†A ػ'a "A2U F>Al7s "~zeϠPV3Y/CtkiŚR&6|_F[1p0d*yaa۞a_ORejbE8*:E&B?_szU7LI}=^?׶i&_aL/_mi%Y6 }moV&wU%_o_L2_sNWN/++H_|f ?)Jcci "TH?5-"Ui:en|mIDNHX~?W6!gZUinoI1ҏ_#Qaa)lWeW- 5s+S,%QAn,mPTv( +6Ğxb- !3D d1342 ( R .(! /)*Ҟ;P̩WeO>6Kob~ʬr_aV K+>"*)?9׏]'m7CiAjIl|-{["KRȒTZ , ~j][E'~SzK9z&VΫ뺿ϣE^~Ws!`ִl5r#u(OI}_9{*nu _=/ep-hiW̐Al0U_i{ߥ}V_K5!.Y?ZsK ?ȝ_|=z_Nk*]ml)DIio4 *HMkAs. ++_Y4zaP?? jIOşI+&SvCZ۞aAސ~Nyj_ K_ƶȀx!rjpVokAV.)*z{ ][߯~~oK80VKmb?쭺Z]|q O=SyKoEU@KXh_]Av~}3Z׺]|-|$f#ZKI_Ww(S:/M__Լ"?mBeTۯp+[u|F]Bobo ״} s祺K' Z GUYUw/47F"{Ks?]e -oC5_(aC[qv m~:__;u]5)V+G{+XC ]C ش_\"!{t|Z\2;Z%\*d_zb-NjL;4A-dvkƿۤNqYմ_I{sAu;EpWACF,lX 72zIH׉_e HkA8&QPoHjfi-I!:b ̡xA&fKH7 Km!6D ÿpH-Mz[ +`+ P~OGwA^'I7l464ck4X`7MbA`: U-66cJDv%jނ_A!7[H7D2_ 7 EI"Amb$h,h&oKiq&/aA$ڏ /A0/ R^m& -maI野0EPM^( aM(K| |B_ a/ m$:+xAi14H^ d@jM>$J@B`piƓ & ]&2(2|VR`Ǡ TNADPbj58@a<1C„ 4;Y2Ba8b1S>Z@-@DhN1H&ih٪xk TLc`@2 / 6o_@h >} b OL&A0 0IT,/A jL&+ x'axA."A0RAe5#CH!4""T6X.CA"dB"4"""""4""""1ilZ*W$*帾JQUƼfF&@C*ԊM2UHWfQRQ9A%ʢaei029;0p03 Za$"_LX6 )il6+80mV$* 4 : 6B#Ha$>gACh;*ҰTϨ6zA@P0l7mP?Mh+]o"~zeϠUޜ:@*Vu: a&g6戌_`elOËk' t$je0GeSd5-57#jUo4{\4T[E:@=$$tP GK!B@jI_G_VM~DkUsQ\RF_G&_Ei?&}~I 'mȘ6]ʞ}w.I6u ?8ND{*?썢HFuEp> D 9!/ᇪ4/'_ ҿKO0S?U- :/KPPK?) AGE~iEDI+q(A?Fa7VZ/ yH V_jl2$洒PaJ_0v+e?1~: }-,`g &/Af!8kcIV}goTZXaWGtIDxRDB ve!_K ?G]bMH6{7ia) *ЎZEpQ_5HWKaFRϤ{_il4 +şN_6lNV0oyEL*4knzL캋%1#t(=Wu\c:~U|^D^:wKa K6xH&PiwA -,Ng`KoY65NA ~BDce:4_~ ?gֻ\ eAU"MQl4Q6A%l[iC?N6(h]a_eTe(j8m,tKKm#(@˝_$KuKn[!/Az[^, -"zƾD ?ֲ_%钕$]qm/4km/-k[_-Qߤ[[z_Iv@IwNZz]AT$ZKWiڷ_Kq3VJ;u]_o #O\"iN:[_P8Kv:K #m/Ku_hIm2;s_o^"^]kze[KhskH/8մ$X Wma?AkNeK[_ I -imV1I0_8;LV5[yc_ tUK71iKol+Ɩ_ _Z_Pza,0iimJƃIzXz?zz_ށ[iR[Ma#-/AiX/|/(#;_Ih,iBXoM &MbL4?Az>HQq_A7-%Al&M`n?~8 /!:+@> $ï8A7nDK =z ` &uZKOLGO8 Dy-y+^N%͆KB2$D0c _&A6AեGIސADPNA!Sb@ X E<1M`J\B  A  4[A1X> d"p$$!5֖!`BAjp᠂` X&pɉ2r& %PǦpA Bh2 JаC ,XMA A8᠂ a!1@DRI0 +aPa5Ў"PB¡F0F"!DDE D""(!)DDDhb""?*6 Ks;DV(g`YX;wU #R;v>DG(Ue 6  ȒÆJT6L8w ԍjF"a21u$L(a0aV֘ptlZp4HL[>[`2^l8uua8ݵ=78$D;@(o7P_&#~\3vq Y~Q*ޕ%I~^W[yzDM C};/_iR_(3px]Xd릍_uQnq)U/؇i?򄧒GE =e H5Ju3|<:%ZUinoI3bmtGb[u?WBe 7:1@UB{=kyЧ,9NѪC0UMj9X^DUsP%S~i^I젆G4?5( RLG_>k^FGIB?_A_AjM7C*Pg^}>#ZPD~/i?۴#a +9/s/0 5UD~lf4H4 7Itۮ"W-/K_X8KBm#u__su8"4j]cׄKoo:Z >e i4R&ϥ/$xA{5}/oHktAZZ~[s6_z}xAci~-/oiEN~A\|zIzGu~3u>:D|_kV6vT? o9㍿|$f#ZKI ]߯gEwK_zU?_uԼ"?]~^U~ H1ii7ii _eEK%} ]!KAVKۅsK־Mp??_z[j??>մ]kZ+Jsx]TG޵EU~A/.iz_l/ h'J1/uuH/wYմ$j(Uc A/ߤ9 &K&AI+ ߎ#zI/L V Ctc_ޓR@TXC{ +T0K`_-oAX N h K X-eR& 6oF_f- h-]&IBä0L:_萒}.aa# WK" @ 0M_ZIisYc '$ I5H։\ t]H$t' Pj0PLi`k t5d id@?+ʴv ~D +aPt  Zbi iW A!+^+ h Me`L,% &UB@!5Bj5֐B#CH!FB8BB# BDQMDGcDk*|r"VK/].KtDKG +endstream +endobj +37 0 obj <>stream +x+*T04U0B C=SSB!9WA?37P%_!+) H!$Ѕjr\Cl{ +endstream +endobj +38 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +39 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 17094/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 tBDApJG#k +>GzH6l$\6S8$J-6~ (Ԙ} @t \ȤFKkCD׋9hW%U[ |E__8%5?vM.Cׯ?o6Yֿ_?׿xA/$Zli?PuXBni%ǥhnKM8 xbPح&+mJaiqZW-KAz3 /Jkҽ{VY=~!*I:'_–/)辰%^a$~u +Tta!G/-*_ᦄGH0RZOOT#װvC_$ zi t?&~Z}m* 0  aH $qHBM@!o@ f6ͳl6ͳl6ͳl6ͳl6ͳl6 ˳"JC9r.Eȹ"\r.Eȹ"\r.Eȹ"\{,7$RX+B#] ptGWPfE! ]juPqqʽ!7, ;0kط۩!o,">L"8'Љa[p#\lr9F(H>0@w#cE߷GD#Xn_ uFDt]"bEՎ3n83m3lAs1?90;<ꏣ+˲˂P]GK IQ}Gw]( D5_{LZGҡW ɗ{opߞG)хڮ^6z\=W3L3A"ǽGEq߮4(U Bj!B1)zZME,$}Tqpޅz,xr1c[H![* բ`vj.-KCxbXvŦRug|GTIQqDDEGc۫esD":!>U0ݵϢB" )fM@"b#a0h46";G􂋂 CP ,jx uG}G}G}G}G}G\"C"mh4 Ah4 Ah4 5Pd2B6֋4]#pN 8'pN 1pN 8'DDDDDDDX!K$}q__ߖZ>CHG$GJ4Ee)! /chQ! +^pɏ n!"xTCCzTo- [Sߣj+V1|[,r }E\04CCF<Ɠ&;8$c bCEa!ŋ߄yZaI"]OOՂ)t}//&"4#S>$׳Џq>4e:h&RY}G}G}G}G}G}G}G}G}G}G}G}I}G}G}G}G}G}G}G}G}G}G}G}\Z{4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG DDCW9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9cF9c +9 o@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@60U|}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Xd$|6 B""""""""""""""""""""""""""""""""""""""""""""""""8DGЍ/׽/׽/׽/h!{륥r?ir>#iDGE-KDDDDDlx}.[GE!D8sT~0c 1lEt=m'KH5Nf_ DtajGx"}G#RRRԗA*KYv'Tpm]UւGR9]Q(}GYeG/o\ eqϯ(xmU#*ZMu2,%K HNPs#i,Ȳ貐Dxp186ͱDr1`r1"쮔ZЈ$ܼBe Du!`Rc E9CϣD#}^P9cC"x}qeȹ.ےa h M.Dm`"9G![",}DX&3I>X"萏ꏣ:>fqeG!4 j@X}!f3RCBG$.r7& VL%YvXv]C+EHGfҸK Ή"nH3pnCGq#oGHB)qT~G#8 Zw[kPXj +M"(i[OQ"y\ .#Ϯn}Y gYIs0a0GÑ>G}Q}G}D}GTF0`#A|LzE>8;&8DDDDDDDDD?aDDHaawҠTտТl<` zYg}* +R܄z6͙r#aEByyZQc4hQY,69,6#>#>G}G#٘3`4vG0GdqG3:G1"GK(t#1G}Gih3l00B"- N"""> aP6I +ժ"""""""""""""""A`rxDDiux b ' +};(y$yIab9)qCC 5#r +#rPN 8'}PHCBDsE;  ÉF9cF9cF9cF9ph20 !Dv9r9#Gu vtF9c(wԎŜAH>ڣiR8'o#>>>ꏢG}QለƬqhDn|h0AAb""""""""""""?tлM t{2 ^6Ք#+*8UPG3gyT#qB1)'Ub׶bEXኺ.I>uH}T yxW#k Ԋ9 F9#> +Ghq:"<]Ŷ8F+򬓓V~;qdV:>P]B7[q!;bbBnpqBꈮ(o幪>⑎G0dH%2\" ؅S#'I IP &. ?x%gDC#$Ɏf<#q(6(RW&>>>>>>>>>>>ꏣ>>>>>>>>>>>>"""""""""""""""""""""""""""""""""""""""""""""""">_H#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#28#/1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1DDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDFt}G}G}G}G}G}G}G}G}G}G}G}GF}G}G}G}G}G}G}G}G}G}G}G}GcѵF>>"">6L)DGlmr$C:@|DQgDx#}+uVB#>4"=_-2XPb1kj/=vKOEBl>Bb!{u-:a#0|!e1ȣȍ*C)1!k%c +bҴ h눋p+9iLvuH(Uw KLͤLy* XJ,KqZe=%jP8H菮6(qB7*.l6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳmmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm/i RpЈhDDDDDDDDDDDDDDDDDDDDDDDDCGIؑG0Jr1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1##r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1#r1lS"""""""""""""""""""""""""""""""""""""""""""""""" 4}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}rr1\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|1вrO hDDF#hB7FioXK#T}:UDDDlWFD}:B#J:# ID}GUE-X9b;6a!1AfeTB[ )m];iTrNI {G @UӜTq a=YG&9c6FL Ph0OAG08X""-Zo"4D7E`-/QW[@\H'y6tGғ19\ ǟYN!YD#UADD01 +>8OT.J#AwWk@* +f3s0f qk9FAڲ !a^SFmM">0h=GqAB>"1B#Nʠ4Rtv۹ +%ʜ6s#%lduVlr80<ԑ:&]&H:ꎍ@|6.9رuG>B9!%fQ h 1DjGYHHG!G>Gx0a /e3#ԯ/!]+VDDDDDDDDD 0Gjx␯N)q<\pl6:]ީy!߶UtMf\wn#48T,rPHrQ.-/j%T}GTuGr6f !`rP^ GT}WXKv ħ0[!q%4$hDEb6 G* \r1$9 $F>J a֛DDRx8mu;jSApN 8'.˲/ )ܸ.{'d%Nqd>4 hl6`V Јϣ>ꏢGT}GTuGUB$CE69acb\qhv|DDDDDDDDDDDDGqm""}qlh64>uޕ|?2@GE";3@MYPAũsjA|beQ"*"1cQ$ q +|{ %mkZH(3E[6n}^Bʰ#gDCc D~aL.>0ha@O:/7qo}B#pr(o Ib#Adr1Al0Ps䉏ď1PhDm "Ŏ,F8LlG|X:ƃ|LG-9'$$ #Ɵ"G a4 <By4#t}Ka. ' њDc!YЈ.\h8Ɓ&Є1q/Qd n+MZa&AƈQ/́H5yPDxԐ":.HvmH莃 :c>#AѢ<#Q|P7K]2$3lͳl҅Sa9r9-DCYJ#x"8Ɏ!>a (H(8SM|:eHkEA@ɨA1 c)9cF=iA0Dρaa`RLցH56 `UDDDCB>Z؈,}D}G}}DuG}WDDDqDDG5K}K}K}K}K}K}K 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 6f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0=DDDDDDDDDDDDDDDDDDDDDDDGev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]dcev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]xB"""""""""""""""""""""""!6k66okL)GJ!񮍢 +G }Q !YEB'| DcɎ$c_B,V~z6&G|PB[ /0O %6WEJZ|Ɠ&961bF;<"FPDƸaݒ;8^dqnj1C7pa8|moMH-0>Evc#[VFbšz^&,\,E$;": Rj K)D՘FiS!6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl68j a"!!U 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8`?J1bF8ĂD3,h2jW)CDXA#Di~~~~A 3)}]-/E{hA*]r"%!H#D)DmUT}/DNDOb#Z#HꏣJbDL:gTMS4>׊bN$_:n#dqOp!\^N'=Da]21A9h'nP~4})Ω*%ʎQDD4 ͬl'<(*J\vˡprr4?[({n6I Pne᜖ne%+>r9E?  a:-0EZ䤋-Hئt`DDFC!} =$}BDhs ("dtymzT䂃W +P HAa4 ;D3GOY{ͣqf(~CGQ:,H287'6G.\Z\OGXj D[b">cBC >ERJ,.9"v^IGqB" %q j,@VA sL,~y D)}i=5^#f@ {xĢ(B$c_B!! V"q JLo K~XX)dp/z~6քC$,ApH{'ܔrqã +:*&l09(OGͯ6y!1p $,qĎG@l:UB"Cd쩔##{ғrqDAFqDcXRli"8gDա$8)Φ">PB$PF#GB#>ꏣꏣ:ꏣ>ꎑ٘0H(rP^xxC({ǭV10AhGi/Бu_{BQnU2x4؈K8'DrC!8V`rz6ͳf\r?,p0J#ꏣ?:/6)cLr7G}G}GGgr90f !ӑF9P9 J ٰiϢ4")؞M1؃#bj3,Ah4 A00.28@ !hDDDDD2v0DDDDXM*ұa*;C x6AlԤV:t +Al;HġZy>AܘӚה/ΌA9$9<F9`rNJ 8'a >8 B#pNpN Z1(2.˲.˲A˳a g hDDDGi;]ƈX"qV!k$?P\?y7ǣ3]VGE?6J!>>>>B!>>E_I[D|2AWH~b"""""""""""#"$u=K"$P-njw6uU%[z$(F##*XHwFJHx qbJ +XG%(nΦ'Ǐ[~#}kK}tCN}VtNyY:SK6>ΉV!!R|AzեKD4!E}ކ: +T4G#uP身q"B 6Gם:768)vaqd\ ھ񨈽['UG +c0v` Q HuLQŞIYFZ,}]lPAZX IU.U']@)r Ϫ6Hr #H6S͇#:dw!^ya⿌rclGw)=ă6 !!C !8F*jn1;| )G(B:e" ""8{-BV}GT}J|DDq5K}K}K}K}K}K}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}GC""""""""""""""""""""""""""""""""""""""""""""""""#{>>>>>>>>>>>>>>>>>>>>>>>>>B""""""""""""""""""""""""""""""""""""""""""""""""?#ٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٷT"""""""""""""""""""""""""""""""""""""""""""""""""#fpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%e8'pN 8'pN 8'pN 8'pN 8'pN 8'pNDDDDDDDDDDDDDDDDDDDDDDDDFYN>>>>>>>>>>>>>>>>>>>>>>>>""""""""""""""""""""""""66ok66GGUDDyi!]KMPDehDg"|x1VpKXq:FYd"B"?n8/_FGIߍ~G⁈?zz6!F#lC}y(^Zj? +Fi Ү;GbYiri1p A#b"۠w_$9 +V##b1xhA mO!cYC6ͳaE4&Q@"wE)W`ۆv /Lꡂ :c1w rțroɐqK2,Yff 3`0f 3`0f 3`0f 3`0f 3`0f 3`0`3`0f 3`0f 3`0f 3`0f 3`0f 3`0f ,DDDDDDDDDDDDDDDDDDDDDDDDhDDDDDDDDDDDDDDDDDDDDDDDEXX-˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲w/׽/h!{hӥZ-%_}߿eJʖ/؊ _A{,j/H}TZ=c+HrFk8e4iCK,@Yꏣ!H%;}Q#>R}IqDDlDP6TНX$72r;hGC6jh)#=g#Ie9>'XC ab$R'b#!vDDkwHBES:F5~Zd]TqG!`y.Ph>UFp",rq#n!><.#466mB)bȰN/LlFc azlF"DXB$q: x*l6'Mt fs*G2Dˌ +#"A9!UG3: "::T2Sʎ+,G*>hb""njTTUЋ-Y!2ŋyE|HPT.CE 4-ɐM~EٶmfU*0 5٩r$pN 8$$FA^W!`D4#-}Q}uG !!XG!!bG~*Ga +Ƙ]OWk xo*-xi +01!]ITlM}^{> #>s<NP>甇t!pN͛!t}Gdhr ""#4f>h;AA:lchE)1Шh0DD{-_~""B"1"-&Rmf\1]U'ex_-lˁ.g}A<@r INtR9cVA^y"H8>GGT}GD":# @Љ/ #1cG ?""""""'֙mB""A\rVnDvVLk`ȑ(Va#*gٗ2s >[I*mR6ͳf`.28 3lzr9YG"}gD4}&yPꏣ>dq^tJGD"hDD\Dr1k@r1 r1<vl? :>0"!"b=FfDDDDDGfwyZÍFT#bGC ܓ4:TJfmfafYv]ev]exl7yMW16#>wgӞP$># + Ea8&WP>92cF: Ah4hG>> l61A1DJǑ##7T7X J=/b#ňB pAX>=BLx"YuDɎaX b Am,cc Q=?ڰFn#j6hz!#r1yKMM$m.N15҂);:##'abP=0aqz6>""tq]"*I~?zuo%u{K":lCw՜_GUGRc""x_"č[0 +**82r^֞?Dt.#z>EEvH _4G}~GGU80@-N}Hf8>>"#8E1*#']1#DrNI8KTWߺXRR"!gFHR<6M!gE:h5qG0 cB#YA~SݤGfٷ~f0dq~*BFS}XGmG">ţDC#:@rG}qĄB}X!dq*Lj)cF"#Ċ䜓rC.4ZB"N wI x.˿Dni52 a<dcU(r1( + fRxl6#i4˳ak1HXqB$C(0 P'zLW^=4 0FHni&4tf 3͢G9!Gj' 09cΩyGbЈDG#:ajD8B1DG"DDg""?{_{_{_{_{_{_8>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGwmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶm~"""""""""""""""""""""""""""""""""""""""""""""""""*pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'"""""""""""""""""""""""""""""""""""""""""""""""""?\".C 5-zIм_9 :k_KNW#@a&|0 ` /@0ON<#ƈURn[*M`oץ \o￿KJm- ( +endstream +endobj +40 0 obj <>stream +x+*T04U0B C=SSB!9WA?37H%_!+) H!$Ѕjr\C| +endstream +endobj +41 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +42 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 24193/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?i$TAiYC^{(`֕7"=HVl um-Wk׷7/`UIkp_'Mp6BzZ?/ׅ_+]/K/N YHhҴqi7K_֖B_mqKK֒AV___㥷 H0KWkI+I +^Wי-}jP{ZI^Ϋo,$֞:/nzD"[]a&M~z^]BC%?/]$ax/%Kfn%io%KJi/H0RZOOT#I$װvC] ; %-LiA$ÆJ4 ,00@@? $qHBM@!o@ Ef`0f 3`0f 3`0f #hDDDDDDDDDDEe4 ijRmfٶmfٶmfٶmfٶmfٶl4B! ЈW1AK,ϩf+\ՇI.4UF-!Är3H#>Cpn+&.?I4r%I>B>4T#B"0oɺMm0#l*>c +bt[a*nC0};ÈE +X2nJ q"-b6Kw>0LP-H'GFG r1op[}]9B#Qؒ|oeoUYcϣ΍5Q b-Wb]{ͭ Ny{{#-7_ތfސB$ѴFZcҌ{p]$9;'Ψ>CB#J}X)鶮R\#k 8cYuG WRpW;Ď<":.E1VWp/s6=UïVz8T_O W^Jl;$߭DJ8cءZM"]j.CAMKWLBHF#Hx! Zkdx"":Lp\[aiW)m5V6FB'3Y}(s툲,DCձomi[#c6[Xal IGձHF05+ʒ^Q )؈"h0Aaϣ! DȔ8 v]ev]ev]r.˲.˲.YXHraDC.˲.˲.˲.˲.˲.˲!"""""#nYhl":B} !K%."'T}ye:GE{pk 6Ͳ <$8f" hq6E'%Gq qc\@Xcߎ b* ,.˵/F:_,y F,AG}_,y6 +D#"4A."F}9|Dx"3YAlf#i3`+8G?L8 aG;""'ψU~d$^ (e|:#8":$:82IGaYY#!'m1;cb8ЈBA!ݨz 2>m~Y&KS,t6>h"0:>>`܎29\xTQC!xIQkDDDjzq*>'#ꏣ::3(b,c(ud"=c DDDDPfX0zB"iRs=g!`uC.ͣ#GY! Dt]G#"!F80EFg$<Qz6e\aYB#c(C}hW2$BDl""#<x0N׋f p͇pktE#ٗ>MѹtuV~@xl6fa˫< GT}}G0Dp<0\Ǒ|2p$lDD1#01`rNa ÇJ!n7^DDDDDTA(q9;-- sGGՑ>># r #i DiQ@|t +"!t##$8 J'fp!waYE}D/j*+V!AH&䍂Dy6 +YAԎϠ[Ҡ|I{,pD ZqK ۏfYA!V$ꇋҨ~NoD+8?ͤP9YśH=6OByT!,q#AHlx#{#GCR +;mDRx{IUxIoɰRΩ]@:Cp5Fg]UmuNG\qxC*"68:hVfGDDDx' 1b a}BI0SG`v˯!l8:6gY8\ $H'_ǏI9'$cV,5ғS +CVm618)+TCYDO48C0EG?& +,#|*ggggggG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq/EYfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳlۡDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG|pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'(rnG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G՟G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDaj>4DuG`q ǡ!L7l0&G@Dc$>n lX#'~B":0A.m"CnA!xATX Q < +9CPCb-_=ܱX~׳N,4}1<}PDu.:Zvq~(tE|0ҮZ@E\Y1b,Ц<1[a ReF;<8##I /-P$F2U +}.}/TI{:(FHЄ?[i%>>j *= NP>#hTB.(X\>><qmc캐P?N1?[]`W@˄"눈"#H|QtGL,uXc}Z[Q_WZ~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}4qG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqɽ#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9lr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G3ܛ(>z=D~Zt^}/I_/ygסxJ|_I^aU|F֖ }z_ "c*X/0 +CYB#A|DBdsTKYB$CLW|aB"PB:D":>,Hq=#C\Yc U3P6Zr;˥"A:s>ϫFp"?o$G,"8c>&H" QGz6 xD1z2\q"F9!.Hh5-;&Pkrl ,ԹCi3ͮ#$}Gf`n9 J:#8v]hOa? +hD}Qz93`˂c'rvnh} 6  `CD\DH!=/G =zZ X.ôtqW ($3Cr)>Ay]Y!! rPN ay^WyA +f>#ЏGL&. l8[%x""""#~ߪߓ` 8hDh62?bF?01|hp}b$_+בB9 ";soC  DDj6+OWu *ɰR|{yuY}HHrB;`0K-:q!~l3cƖp_q[$9Y3YPhNPCϣꏣˈ{PB".""'ЈDDG _ _ _ _ _ _ϣ>>>>>>>>>>>>>>>:>>>>>>>>>>>>>>>."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""CǏK#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9VypDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP-8F9c$c}=,-\T}9}H6*qkp mF uG瓞Bm@DB.7~8%uCʌ#>":.XXIa[l5Kͩ1ј6$<hc\T.a(>Zq99 .,XQdžDs#8--U8ĄABb j@:av#H\S_jX"DPW+B=ZHDB$. CgT BH(iKHrg=mK"!0@ŞG~8mGԐ +CB1gHFjZKlsp4CB,2 f> ,ܨY?00<-CD}}GB#>!B"""#kVQ * \bԛ..H .;_0k G-WE_-/g޷eXA8F[/y,tGGסGzwe +A;ZXKtGGB +7 eGq|vaCK,}AGס,w)ʐ6X:gQD>#!#Dl#;FҌz+/% utSh 9e VmN<C1C՞E͢^S!/V) q dXHBCH;(ItLG,A`Sϭr!dPDtPaG_EGr7 C@0Cձ 5lmKUVjV>Yрo"93JY@kGyOGA%G,Z_tDx"J^Y4 U~dfrlC)d5˳a(+>qu3aGT}QHlh3#UهCش,Ä#E"}vCb %Z +sHqpHk}9pYP]rq>&"EC"Ywsʰ@񈸈ГHBAAm&^+I KnЪtU3^CGטG,~mW ⼤ꏢܡG}G9 JD" H!B# !| r0u #a4^qm}d` TDŽP"ͣGHGd4A|qKC(xPkA4*D|DGdhk!KqSIT*z̸*8OԐJ^9,y}Qv#H>D}G}f /Ob}4(!4)X""""#G¸V\ep,3CItۯ2F̸3cqȣF<><1'GaA\:F"A@cx/>"#346 |HJ} +8hDD;4ɰT`2pEO=fٳ.rB> (vC`pi4" xC4g#""F8ir nDG݂eϽF DF#)<J ;L 6^Hy\cqICf a""'TuG}Q}Qu\l8 .$tCQ6<DB ]Ba5☎" 7BO @tǢ:y!49p0b +%D!|~`pLAt8g(CeB$mY}+$}Y}GUgϠ)`2a|Kyza|Kyza|Kyza|Kyza|Kyza|Kyz}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GT}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}A:6vmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmf߈DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4,E ˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲!.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˼DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD͈zzzz!G}Di DIBO!L$p HvcyUb}7C#bzI#KRcA28m ﴛptX Q ?86z^k#__wN%>(xǦBo_d PDtb_l5K#cՈ~*#E_ %jg(y "Y1b,|1^w-]S,r1ħ#HcnuL&D1UG]_q +"F(I&=!컛wt>$ 3$8uA9G~%D/me.B#j}qRD$"?X"}"1F(X\><~뼘.W1鈡i% )HG{;rхeeЈ#E!}GXPb"""$) X{躷tyP _:~G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}f}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE93ybZ'~S +~ϭS%b?Z<5zE:0;b#IoC"E)K: ]k<~WෂE:0(>&:c_dUK(_*>#ꏣ>DBg3-3!}Fe}Iq LBH 80=- pAC0f @>t{<<XV`mgepeeTlڸ1h[k#S`TKQ}Q}w\ec=rk`D`}UdBAFdG}aÅcxΩEEDv؈9|e-PBW]( 8}e|qC$LrPMLr +M5Y}yY5GBF9}o!łWq;FN8B>+Q$"#"0DCP'ѫ7n""6""""}!$>H}gP bTޕk?DmdJl4{\õCRs#Jͭ\>#1g(xˤLt#2Cq:&8"<`DA^8fSG IkShm2x4c%מI%;:3aYł)dxr9F3\!r1(pCNm+8CDDDZ#Haٸ!zXbB")vDi,үP͇6# x3J SbP|qcͥ6!6Lr + 8'6B#>$?X3Q["}gПGT}D WN?3DDDvuZ߿_rquy})}.E"8yCr'x@z*hoCF":bG-Ꝼ G[oϣ8ou98S HÈ6Eqo"""1dH z Oƈ>DFj$[M?lu u$8r cd$\ðE:0A XPŠ˲.˲v]c""""#M]pedWeyAEyZHV}V菣5[#HD\DDDZ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF^DpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'O,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF>~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?~?jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGғs>>>>>>>>>>>>>>>>G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG }QBO1D#dh02nI9#pia `E3h 0ˢ1#Q!=-^HryFE$:6ĭhI ^v]'iXv7Ht$uG}x:GЋ]kXc_'#u&>a8]v߮G}qd*R|=:Pdqa>H?nbF8bHQ {"oqIn#qcňh!n6-Q]"Gqqb JvX!ō1OK$qfoCWW,tcQQT]O yj.?P >膏F?M21^P0c ""HpFr1#qI#y!#DDؤaf\0)c 0c˲,UDDDDD}<-EB#B> lPZ*\V,o6I#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""""""""""""""""""""""""""""""}hdr9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G Gtb9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#B""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""B5@f7"?(~_[ߗ\|}*JMye2IQVNCtI/,"qO[ |"cE~^YE _Hj 唠y_Z@Ro&H&":"B"e}0ЈĄGT""""#DzalKe ,Eaw!yC"hӘD>GȄB#`}G}Ϥ(/"} a|BZ0bG9\0*"-ƒ}LoY`3ɿ,f}GT&90=]fH8cv^L WBꏣ!"")#pB,q/B*h1V"r1!~qhDAlI+ ePɝx6mfoS #lg(v}YggT}wA! Po ,3l6Ŕؤ1ZZE@f{Q!-e8fI.AXw0 +K+ɎCmQ'8JGGUGUr>>&ʴEq!=A?6n6A >DD1|CA#b!cPАa\!BI蔵#%zv]`jI/Pꏩ<#qDC vTPk8k -‘QB#pvyGq'2컆]|D QlmvVDq1Dj.Gn]PMj{Ubl5|pN 8GT}GuGm9DFm]L#ȅGxEJLy}PGnh0BC7>84q>qa5.f f uHfB"7cZCŵ Xi",^|R @GcTHɿ.N 8'tuY(wvq$]y 3Vy21!qO}thfgqY>>ѰnG>RLjB}$>##"GDDmDB?:ӈ #9CqؐP; Qb#p"ՠk"""7q8c1J#^S!,B!z#$z6enaɿ/8Pz}ה#>VM9 C Y!B#:ln;pA84GX""#> U&{L6f ˌB$AD|2\ros6ͳlAbDx PZodP;HFk8"=ٵP#R6;>s>dc 8/ !}GW~Z_"1F(DTq;.˳`@X(Ln퍊f5)&[UTB~^җGѴgY"F;ɏӎA+D}vmxČb"7]Qs@^\R\)y$m$y>#WYz]Pj"k "I" US7㳪A}gaQ!L!Y}ZdttRCͣٶm` Qq#^WFEk?,Dl{vX_pKo<Xco:y0f !1 Y!N}gUC:.x"1DF#uAO$E9\q#^G$%H`e"'ߗ(v\Ѵ}"1Ԇ¿K>5c E2pN 7v"A م1C .4x]`Q߷D\l6y4c>>ɔ:8h:qMDDDDDDDDGhqLD{B"- +\G~_[ߗV7տ~M|o_~_[ߗV7վn9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#x^MG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}g}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GCGE}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}Q\EuZ#%"lDNGH%_A0TAr]r% yLr1fօc-}4|y"CBDADcĕVF9b?@bLy&8"=$<>1B!8#Pq0ByCɒs +.~M<{Wl'ͣe+LÐP-O!,Hbdv=p0 t!GgH:"Z1@|6tt"l&>ZkL#WlA1WH']K6GZkɎΪ!GU(ADqk-t]p#XE|-_^}I(F"LB`^ afٶ hd 9Ql\bm|E'\>R3G7 qTQ#`c+P]e`D9x(^A>ꎨ.d㵫F{ǞV(ujMG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmjMϛfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٶmfٳ0Ďͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl7b"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#Փ.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲. Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""?.mt}~R:KEXzM@Z}_GnږUT}.t.P{C}-"Z)jBqAR}W>YJYE +Gaw:ꎨ&"hR!Lp"8"""8A +Ad;!*E!&VHyOeXcԎ.}&##r<3G}Ye 2 @ SLЈ2)v"#1#c#!Gwk$SP2jqIA8Rd">!`v>G#^H\b1"!qZ<*284C_*نm$> +zFBw,Hl +#tmxđ}PR:#0aҲ #ra08".84&(hqE2AnHdd C߯XwwȬ3v[,>Z!SA!5P>H(B gZruGH#-#,AAq1q⸨"DDDH2dDkIkdͤK.u4ycAͥ0"GJGVB"mH`r >ǥMd"qЮ.CC65A rn>u)V[ވD[޽l\?UdwbKr*J HG E<ϫ<-Dgҙ*}Gz6 +EE{G#Gi8oH4KJ/m@n1)o`nmWKn?_+[(Dt]Gӝsʶ.CC#CE;If(a•G` !'`Ehh4͵*!x:,+F1&8#2 +GUh0B"$!DDGnN 9(kKx +:8.DDV']23`x9{-Ɣr14F8DtS'EAGF:LH!HaG}G09릙''s 6. cnJ˵hb#GA  a4XB#GlEUo␎"ŗ"\2X4_!,eYA6qI\ȅ"LͬPD|G 9#!'ꎫ'[>!v,xB"%CPH(M2vg ++cE3tj7*l+rp]ea(jHDVuHSh4.B';#K:! c")V"cQ\2whsq؏Qq C_HM9.EۃJ )34ÏB"/o";0y14G0!,q+GmT#6hNXGvP жд6,Ŷ'$9f 1B!#A+^ɏX bqLw3$ +ء \j5炄2*r>!G}#3Gmf"9a6qIuq:#q@HYcX5"Abf1)0]_:oAʲnS@9ޅC{L3q2q`PWc8uc8QxbF:""${RP&H"iL@P=?6Ԍr#tGTHW} > WqO>D3D铲.ˏ`ޗ]}~ޗ]}~ޗ]}~|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4WpN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'%ȺxːΣB>O&ߜZվ.m.I}]4I EpaEz\ M ]H@K/ }8cDBuZ<^[K/}/čOǂ +endstream +endobj +43 0 obj <>stream +x+*T04U0B C=SSB!9WA?37X%_!+) H!$Ѕjr\C} +endstream +endobj +44 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +45 0 obj <>/Type/XObject/BitsPerComponent 1/Subtype/Image/Width 2481/ColorSpace/DeviceGray/Filter/CCITTFaxDecode/Length 27803/Height 3509>>stream +j5eqCʔ ӆH:jؘ7Ӈ+ӿ_WV zv.Xr}~}v]W;A/_ZAٯ#2?>X֫ KpX_N?L0-Cc4qaBO@j Ea(_wɿ RaFȢ%ѬDj"999 t@BHG %P| #~5} :ު  (B y?I&Ҥ@: Mtߥf&3~Co$-pD{".?^,im}'V?]oWo_8%5o?$1ׯ?*/͖l-&]{I$Zli?PAai!73Z_> $ qZ8ztk-,k㎗+6omW /㤵U+I +^Wי_Q@^^vK RO֞:/nyh/K 0k ")z%Cx~JKꖕ/B#aҤ/E&zi$vKM[36H6I rhXaafaA!&  O` Yh8f 3`0f 3`0f 3aG"""""""""""( D]a0a FԳJ1% 4 +%ߣ<dv0b {=gq=g{=""""""""""$Fڡf x(#}D2l6 a/ al6 DDDDDq_r&ܴɮ?MQGuGDDDo%m-2k+ +8dT'AUDm,tatXc +>C#8,ɮ#9.4#s#ht/ց^=8vCL,@G+_vyD"хرcvMpȪD@2>UC#*087؆ r&D>8Lb 6}'ó.xzcoo|ɬRcE7?ZLLqQưUGɭ0E#RMFyC>`Pԗr d+-2&*Xvuqy(>iEDW bF;faF1eՎث\?Pu@4}G}G}G}G}G}G}G}G}G}G}G}G}G}G#>>>>>>>>>>>>>>%y{=g{=g{=g{=g{=g{=g{=gg{=g{=g{=g{=g{=g{=g{=g@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 a@0 r;L +YL-NYD|꛸T-0kn㥭/] -0kJ] å-LTj;ז5!֟;VVdDPRȖDux/+ꏢ}uD)G4GWlN"#2 8L&":Z-1 d +c焇֍3 /AWDr98Y,vB#<6>r9G#B#(v}Y},H_001Cf 06" Ň"bDoÈzw[Rj!30jf8'g>6R(r$''4CF?A$8jdhPaS? hA kh1Lp51cDmDp"EK<K]ZND3CLɯ,fD|-Ω9F0DtE9CDt]d4GG8M2nJ2qN nWMf9!B} "!"@MWA% na  J(y8ytGaQ}G)F"H<CYZG!ȎW>#EMp}_9rHhDGEYzF#9b:F8B:?.7&B%Dy$8oAHAY 3ҋK8!(wg3YvQ})Ts 3Q GF\>D0$=n)p"D4spE\Լ>> >uJ"c&l [ɱd` 1GY^gZy}n-5,r1pA!R$$">>ꎨ:ѳH X%5#bbpN 8"""""} ЈVV%JB=l!K$߭FٶlyȮR-2C#8ͬQ>q}9})CI\)Dk90 }GT}_vGP㊷89\DaDDu؈+Zջݿԣx LwK6ّ{>d Wen:+=f̸aҔ;8iQAcAZtm[Au~cF<>yǞABG#ꎨz9G#f`! F9(/ Х}n,dHcXxk]xM33m4 A aa$08F0">[K)*S Y%lPH*{]JC$J EJq`}2F >8wP $c,/D}9}^CGuFFA!kA\r1A8'a h>ꎨG~GlEFČq 4>]JGq˲.fal@ ֱ5qE"UpB""""""#]A VJѣCvPk3UOJPc:/aIORcM_<"4Gc8HX)9Ŵ"q2b4ew^17HC'hmQ_N4vkT 'v\Per@8p9ݚ*8A"Ǻ(s h2Ljhgwbz2k" [a@b1)8ZmtA6?u +=+k8s>t}Ny>GI@a"o<<P6mm#RTqLDTQ1xBDZB}P88q7 D!)L;SUH. @>a0V܆c"?3Gtf):"sAͣ<*4GwNWQ|X!Ub!;'bhA +B" +ͤ# w( cc1#b0"ڇЂ57VPG#9G*<%e&:#nDtr +GgDAv"-""X PиRD[C+pC4Gh B""#(34~GTB#GFGuG}GT}V}GT}GQ!븈DDDDDDDD}]5}~{i]]5}~{i]]5}~Av!#r9G#r9G#r9G#r9G#r9G#r9G#r9G#lr9G#r9G#r9G#r9G#r9G#r9G#r9G#؈˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲1˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˰PЈ4"""""""""""""""""""""""""""""yFD>>>>>>>>>>>>>><>>>>>>>>>>>>>>"""""""""""""""""""""""""""">ܴɮ?-2kr,G}}u\qMe +3ȁ28C fa& D#43_B!:[:Ca\!E)=Me1N &8B@;!ڎc-¾gA EM~GGuUt=+ q v!UTɬԘ슣k! hy5<ҮŜL9iHv"0.!A qT-+[tҖ5"D_ҥSΈ^>*"E FF?h@q$iIGi"P7M]SE-2! q+ի#ZQ:,#{"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}G>t"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'aq?E>>>>>>>>>>>>>>>>>>>>>>>>>>>>>˪"""""""""""""""""""""""""""""""""""""""""""""""""""""""""8ToL۸kKH.ql>>-0ktz\+- ]l>>zFqqTvh[^[[K$"GeJq)ADђL̃dB>G#!3y}Y!}G}Y}G}}h3%ySg% 'i !7$PDDqΩ! *it1Z*}EQ7OtI +CI/@XGFZ#G3w45qڏAA\q[cD>(lXqBB!׊MXa\C|~}) +䜓z#OOw^THP8 a@DF`DwꏣS$]SG8}GG4tPش8IZTlc#k&9+ : +#H>Wt^nIbfePN &hR +K[Azɺ6#h:>$4y:"cY +Gϣp9J,z>#XHA3lG:/VrdxA0B-A i TqSJ"""1'EQ +bm'KBDh̡VS6J yZ+EE$ pLr8JD+#60C,ڎ 鑎D3S"GmgAIuG# ,! 1#r1 B8,p@7 ~N8*!FDc!$DDv8(qb"8BؤxJɹ ܍~pmw$Z-v5BA5ɸ(es5@]eϣ>"6aN,a k8ShH#@􋙀r;>!8G٢ɾ0lЯ)]1!B"#88h4GG|OЋ⁄$䞝=F#"c-RW d fH3 J[ɏ +1h*&m,>#}H##iyHrO>m(sL"~q[#hAf֑]aGGT}GuGBF9}oqdlrcj 6ͱ~ EN"GBХqLDDDDDO0D8XDX`q"a&:ZBqV`*n:^۶ +`lyٚϤcMd#JA@*16(z:#H":@mxH#>Zeu}GTuF "4//EhD\LLEc,@PC1#gA"$0: =HDFBbW+f-dpg6}PAP]GWJWG.iH >+I{S +>(pD|`#izF#6h;GT}G}G٘3y9ܘHTEZ] `ib}E&  +"9v a0DHJ>zZ@()3DD&5dpN '#DDDDDwcVۿDDDDDHd +;4;3G)OHI*hIVtGԊ9䜓1D5NH mzDvA8GVfZ!!kA\r #A@cpN a hDD}Q\F، ׎LCB, `alHPN9%'"CG#r1## ]0DDDDDuoJVz]Xca\5؊BrMR{6Ͱ@ͳl@%zZNJ4ǐP<qr;#?a(0@7Vpc RM-gqCێ6R #28.;LR6A[!9fӐhFr9G}|GG[Rc>@jR>gTvh}b"8HDx]7SaXɎWz_- {=3IB[LꮈHi*:6h>„ 'P:!3$9ǟT]p[\GDqqv(qE##kxxBoWKI=< )YG@r96}/"k#tH@<3L#]O@ ׎x  iC qJՃ#>APR (d0Z\ G¦XR:dn瓃!M8'Zdr CGEGGn]*hU"7c٠)DhbPcN6 bDopCt)Ea0Gѩ4B##J_a}G<"Esl+SZ>wE!DDDDDhDE!B""#a w_AvZ`qa w_AvZ`qa w_ETMd6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6 6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳm"""""""""""""""""""""""""""""""""""""""""""""""""""""""""=K!xr9G#r9G#r9G#r9G#r9G#r9G#r9G#ᘎG#r9G#r9G#r9G#r9G#r9G#r9G#r9GDDDDDDDDDDDDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDa"t}G}G}G}G}G}G}G}G}G}G}G}G}G}GG}G}G}G}G}G}G}G}G}G}G}G}G}G}QDDDDDDDDDDDDDDDDDDDDDDDDDDDG5Mq.Ze>:4n;5>4z"L!-2Ar4rHIHvqq Aln {D>>>>>>>>>>>>>DDDDDDDDDDDDDDDDDDDDDDDDDDDDm^Y>>>>>>>>>>>>>>>>>>>>>>>>>>>>咰9]s9v]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]ev]~""""""""""""""""""""""""""""""""""""""""""""""""""""""""" yG}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}GYuWH_wiX"WqK5߮_aioK5֗H|}53:#-"h -D8u1ޗ&hX"c>WGxdh^w+$g|]<6RVq&y}&}&m~y> ݜ@>8ETYLvB8$"QT62B""8,RP{ +Aw]wA6ԨW ^|8ȃPD|6tcn AE##E@ƄrLrqꝳ +#l"lpN :ڑ7#{ B>EhK\x%ͪ\Z.DEAC B]\Zj +.#!_{ mQQ!&! ~ZUU#e +)$t}SH%>D}`1Y DPq D80gu8'62C#!t;"$$y0[,0ld.7$ 6Z]LũG}Yg}GM >A#,G 8D"ЊDGDDlLx2COB#ZQq~PcɸftO WUl0CF?Dd`3ipDtY"9R :#0";Hhꏪ@!q>a)s0f]# +HGȷ:>H##xP+cB#QB"M!1>0qB#d CI9',lrNIҍw{Rl]D\DCkBpN ƽpRm0+E_>(}GT1Q`r1}Rc1ѵ0 :$gGG}Ga`fđ0 "!G(DGA ! DGHRB[Q9'LJq#qR8tkDD7~_-6et MrRG3D6D}HtEDxQO|r8) q7YV +G}}Qg93p4}lumjšaP)J;00 1t1ϫ8Ͱ""AY0DxJ!-$!]^FH UyٗGi,J/AZA1k}6ͳl6ͳl٘3\9#5]QNn*U d">,+G +I (lA 'ek1L#I 909 qA8/ >Gq_hEbDž>\X4: x39('eٸ+iRIX>*,@(x21 +_[,l6)M*6 G^mIG*ȃ0f " fpN 0f <{:곈"Gc750pƄDDTDDDXc3B}yc؈qO$f*`wd@7!!FhHpv1`ypiE<Ӣ#NGayGT}G}Gq],twvWx)>+y^]y@č$UˁAt +DDDDGN,$DPX""#b"B2c2.˷9z"5Ɛ=,,6)yTal#Cwk H+g(p˘;C0ϡ;HqB õ@+{'MWa'D}'#}t6EGjkEYqg488L0  ğ0Bf(ALXt gp` R\#r.;30>a0" G$0ra2 C]1,E>ŌCF>P1hbt)hFK5a0L!zܰ%.˲.˲Dh5' E`D &B"" .FB!OCCDB""""?AvZ`qa w_AvZ`qa w_AvZ`q w r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9x`y˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˱(r.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲ DDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDD|G}G}G}G}G}G}G}G}G}G}G}G}G}G}Y}G}G}G}G}G}G}G}G}G}G}G}G}G}G]q\tZe7GTy/\a,D! HAdh8~ 9; JH8XH;kDdd5t0Rp.) lnРA:6ꏣcC""0D~((CzYXNq(rFXkWL 0_HwBv,&a t<>1FhJ aW_ Gca|1{hZ zM:a!,y\KMLE ḯkA <ˎ"eB H. +ӹ||dt0cF?ƁRl1IR3E>j.6"iQu0JBZ`iK$:3F8#S^8dtGh!8䰡tac PƆ,rXiTZeQQXQqDGja{\mZ5G\}d0&r9G#r9G#r9G#r9G#r9G#r9G#r9G#$G#r9G#r9G#r9G#r9G#r9G#r9G#r9C,4pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8''pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'pN 8'ˢЈeOZj*i?:ڣk88Sڣkk/vzie㯌WeKV," {AwY _K+EqDw#>>R%>#3D";uGTB"4Ȱ<#B"""""")C D G`pvde&v'&|vA2NB"G#%JDNDi[,t}vb"*Dt)8t!Ep44_J})GdqG44]V"G.eY('C~tG՗ϧ<"?'y0ͳHrDqFdMb0">9b-=Ǒ1b#=x E[-4^9!ȣ HF9cF HH h]tE>gA `\X䰻6L":s= 4}%P>pЏٯhRob &F&զ{x/WOAiEX% $9cjgGΩMg#GGGTfu]F7 +G}WaPdžB 0 +6h4h3pCH="8x""! G"-e؈B?ʈV",DW|*A^BvY03pF: Dt]IA1YpA"%$9 q:L!܌y#W8rn + C0 OPL\q#68g F>ڠB#wV. !D[.1MgT ,'^b6-Pty)}gUVz +qh4G}[H@y_TmQ6G@MD^8_X>9#"9u☈#t#;H 461(wTqfC7 c=s0ٮKVl٘5J!eh/|CYNXc!RtqG}AD"d<"B2I.術oG}f0~cؑ!b,/ɤPh4  c$r !$: !fc b"";lZ}a"mX*BIun|'gV# _-̑V.KwGmMϥ6>w#Ge +ju[y!)(v$uѴx9}G}G4DB"}! 9+4XC-~qdnI) +1""""""$kA ! 0<oj6#Sn!˃9Zu͑wg3X&WGf\# z E9C>"9!x"pF9!!hd@Ԑ"GT}q'Sb|8# !0@8h0 ~؈IC<'BDF1E?0mh=iTQrp35\6 lGOL< !NqSƬEqtDGGB\D0@B3A8'N%}5TD\Dw}7v $#P4ꔎ͠E;0uGԓ5T.CD"}CXЍ`Ј8#툈>ꍪb"""""8<|w&;>>4?B"""#Vڦժ6?jiZjc}Vڦգ 0ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl6ͳl"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#l6 al6 al6 al6 al6 al6 al6 al5al6 al6 al6 al6 al6 al6 al6 DDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDu]q\i#>>ZjZbsy^ ك0fhEu.LiIF8rC E +$XPH|AtnIi!#`">GU-1EUin!wWR"8!':."3Dlzz +$l|ge10Ј(ISEPͣ2v[8(|00~DR>رb"\1o]2Ǵm?Wm0Dt^8RƑ:㈨yiTOrPΉ+<<.N :3ma(3Ժ (D !#"O 5ٜrEd S!..[ uDDDDF(p#rN/_`妝qkVqq"EydG}G}G}G}G}G}G}G}G}G}G}G}G}G}&}G}G}G}G}G}G}G}G}G}G}G}G}G}G}DDDDDDDDDDDDDDDDDDDDDDDDDDDDC"""""""""""""""""""""""""""">\r9G#r9G#r9G#r9G#r9G#r9G#r9G#rG#r9G#r9G#r9G#r9G#r9G#r9G#r9G,DDDDDDDDDDDDDDDDDDDDDDDDDDDDC0DDDDDDDDDDDDDDDDDDDDDDDDDDDG˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲.˲Z Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 IS +Y+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlFM1oezTm)M1%jbiwKAmQT/岪z~vB"hPGsD"#HB%;>R+ꎨUFdXA>""""'T#b)\Dz` GA#ȨGaGYG~g~DRPDGPB f0ďZ:U%Xq2 +]`I#U%bG&#|,3ZtqG#Kjq(yу0ggt}QG}GՑ,>C G#,I#6"tPC1x4 N(Tqb:c=hOȹ!;kCK"":Ot!Y E".6HrN1۪>.63F]R@qfF5#Y(H싮X䜓4H'C,"n Gď!XqQ*CXDXJp)IYIzI/Wl}+V I\?ҕ4#O$z!& di*7Z>FGԜ~P#nW "}QQ䁑0eȗH EC k$,NP(vC8,?HӱlD00Ʃ{`IŦ?C.)hWQxBڥt.5z63 fmô"`PP% a/YLtH'tK$)@qGr%F +y  DqtuG*$. AH(vA>>#Y9]ES!xa 2Yc07b?cҍ '  [yd~1iK9=1-K r܌uY ;BОdr +l6aQ.S0l6 cINq0 B  +[pѢ# :*6DMuG%h+;5Cb}!z6HD6m'b<\Savi$"0(Oa8hcbɸ e~[_{Zm;&⡙ɚd5I#;>ᬔ&GӟG}^mQd"DG}Z*C8Fg#@#RU_<ϣfpk'j"<ߑ.hr1W bՎ9q㈅4Cq\ebZ .;_Y<#'b(-nDHI=nŷW`pHb";ǏɲnΟSh}ZAD4}G=_ +TL>?9Qk/} +R,zj!plG <NG‚ `C9!:0Ae؞M[rCcP;jcG8R}G}GFGn>tfXŶs1A v'VNPBN+i b☨'Р$9 8B#ܛ6ɏBm+B"-II: IPx&"G? }XMC\!dsVԷ(͙pV03UfqYG"oi Cs+QAga!)GD4}G+B!RD}GA\r1< uGU#{xv3hAi=1CЌgu^"8B"" %Ds""9+DD|NҾ"ENB|LVa(B(BD})Vy &B#>KGEϬ1!{=G#q3`!  T]bP x:\DQ*!$  0@ GO4baoDFx]?y!##ɹl&=K8DtuPAAAAB"""""""""""?xW8QBG4#\BDw'b_"Y'./CA'f3l:7t Z9!ߘMPSq&t#8 " y}G 8N^.1 ǏqPDDzGLY1h_r䜓e'$9'_ _签D) " ]yND"(2·$aQ,wN2 jZ}ZҦyBdD5r&菠͆ &LG,Gd+Dco:O>" ?mhtԐmGT}$N*#mPm36GC0f qt:#8ڧ&^?CLR! Qb",t|N1!i†&a8lqId0`t")0mtH`:mI21#0)4%փDc|h4($-D$`EA862ܜqAl=@G' 0V""c(H1bb3,qa{ 68VcqI(80L- @[ ui);+Cڪ8$AIf><187AdcF9cTZD0@AATqP]q~` `VcDDDE o>D}Q>>#I"P#ꏣ>#GBDJA">>"""""""""8Vڦժ6?jiZjc}VڦK>>>>>>>>>>>>>>>>>>>>>>>>>>>>SjY+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSك0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0f 3`0fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD~Y>>>>>>>>>>>>>>ˣ>>>>>>>>>>>>>>""""""""""""""""""""""""""""#ȝq]q\i#>:4B<-1ty2 G3hPrl.l->Mj]IzAG`qP#F8XB(Jh] tTZ`jHpDtw>#cĺЋ EźtqYQ+iѵoqKn㳈!S<>|[#DeG8]{1x9ś>cM] H_a‡R3ˉi +G!lYcC,x6v>$;!fy4qRc""1 DXk~wԺdgsiZKLjyi񶯿EP(s<6cϣͮ#9'NJq[chuJ}B#u&?cǫ a+I>Hv\žLY!ׄ +#&8Gӡd66"* iZjiL}PduEqdR;e| B"#(kڵkP6M(G}G}G}G}G}G}G}G}G}G}G}G}G}G}Tf>>>>>>>>>>>>>>""""""""""""""""""""""""""""#k%y}G}G}G}G}G}G}G}G}G}G}G}G}G}GӞG}G}G}G}G}G}G}G}G}G}G}G}G}G}G Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4h4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4 Ah4r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r9G#r92!R\""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ?w#>>>>>>>>>>>>>>>>>>>>>>>>>>>>{""""""""""""""""""""""""""""""""""""""""""""""""""""""""#j⦘?]6iA_FeLG^^FT.a~meEFAT1A/&BrJ6TDqSkE5e(I.KVs#0f #R#,>ꎩO#&s"}Tm@8"AA+]qg lSxKNtM7ի ]$8&3PE[%ED<菣ahiX5dAyv2-pBO48b$tmنCM7 MqDTSW!:9DDqi7,'pn+EFE[<!$# !(XEC>6&7VaTd_],DSH;D$#l`?R$;,~#>?uH*6DuDh-(-;,qsD0B a\I_UO{_"1\(~n.nZ |")D~ܗ%E+D(#zz ɾ!!4)uXGHMDk ˲&9tIe rWQoUɽZ#"Yvs.Y=ɻ/A*%6T K_MhEfW82:#jS:D}G`]G;^$c(qF9cuCb}(A +!j"";u۱CRm*jGe+Մupˆw(tShH42AY>""8᜺!m:Q}8ل.C{HX_@ F!:k>0A:")jЈ7np] +-28C>N{R6e0|Gk6EanN <$u:>jG~>>z90AA Sq[#n" z@qϫLA0"""$0:  mz# x/gf K aAv^gP +-rl)FqL0fѩe aYG3Ar +#r1`r#%lCA:>GT"!GM6Ьb" G ^F9c8L AB"""""""?+APMzڥ?K_pA_U;YbN m.8'fCF(uTq8^8a.{B5&f>qlD%؎6;K{%7(r6 o>",OSiчtL+8?DBYRż%":11nF3l% xbJj:k<E,S; vuFӜT6xrCj+SB؈qaҫZmoC0w'P:ϩCFjk<#ᐃcPB!A!ňsS+ KǯzN!>KլcqYG09yŴrNڧcaqAyv7!I\G"݂7 _-GTuGFh"+G2 JDuOD||DDDDGTF4QM1TmSLTaQOQ~}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}G}^ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv͇~?~?~?~?~?~?~?~?~?~?~?~?~?~?؈-r\,,?,#}$^~rZ^m-e_A1]qkKFAtypaEaE}6 &Ǿ/@7p]\p|8屢:׬ylKAM~?o!Og- ( +endstream +endobj +46 0 obj <>stream +x+*T04U0B C=SSB!9WA?37D%_!+) H!$Ѕjr\C~ +endstream +endobj +47 0 obj<>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>>> +endobj +3 0 obj<> +endobj +34 0 obj<> +endobj +48 0 obj<> +endobj +49 0 obj<> +endobj +50 0 obj<> +endobj +xref +0 51 +0000000000 65535 f +0000000015 00000 n +0000043446 00000 n +0001024132 00000 n +0000043582 00000 n +0000043743 00000 n +0000139240 00000 n +0000139376 00000 n +0000139537 00000 n +0000230016 00000 n +0000230152 00000 n +0000230314 00000 n +0000259149 00000 n +0000259286 00000 n +0000259450 00000 n +0000348514 00000 n +0000348651 00000 n +0000348815 00000 n +0000434137 00000 n +0000434274 00000 n +0000434438 00000 n +0000527072 00000 n +0000527209 00000 n +0000527373 00000 n +0000617312 00000 n +0000617449 00000 n +0000617613 00000 n +0000705168 00000 n +0000705305 00000 n +0000705469 00000 n +0000788726 00000 n +0000788863 00000 n +0000789027 00000 n +0000877840 00000 n +0001024259 00000 n +0000877978 00000 n +0000878144 00000 n +0000953202 00000 n +0000953340 00000 n +0000953506 00000 n +0000970808 00000 n +0000970946 00000 n +0000971112 00000 n +0000995513 00000 n +0000995651 00000 n +0000995817 00000 n +0001023828 00000 n +0001023966 00000 n +0001024353 00000 n +0001024412 00000 n +0001024458 00000 n +trailer +<<2ddc9e3761381c47e64afd72e253da62>]/Root 49 0 R>> +startxref +1024602 +%%EOF diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml deleted file mode 100644 index 180e465..0000000 --- a/backend/docker-compose.yml +++ /dev/null @@ -1,17 +0,0 @@ -services: - db: - image: pgvector/pgvector:pg16 - container_name: pgvector-db - environment: - POSTGRES_USER: drgraph - POSTGRES_PASSWORD: yingping - POSTGRES_DB: th_agenter - ports: - - "5432:5432" - volumes: - - pgdata:/var/lib/postgresql/data - restart: unless-stopped - -volumes: - pgdata: - # docker exec -it pgvector-db psql -U drgraph -d th_agenter diff --git a/backend/main.py b/backend/main.py deleted file mode 100644 index ac1a2eb..0000000 --- a/backend/main.py +++ /dev/null @@ -1,157 +0,0 @@ -# uvicorn main:app --host 0.0.0.0 --port 8000 --reload -from fastapi import FastAPI -from os.path import dirname, realpath - -from dotenv import load_dotenv -load_dotenv() - -from utils.util_log import init_logger -from loguru import logger -base_dir: str = dirname(realpath(__file__)) -init_logger(base_dir) - -from th_agenter.api.routes import router -from contextlib import asynccontextmanager -from starlette.exceptions import HTTPException as StarletteHTTPException -from fastapi.exceptions import RequestValidationError -from fastapi.responses import JSONResponse -from fastapi.staticfiles import StaticFiles -@asynccontextmanager -async def lifespan(app: FastAPI): - """Application lifespan manager.""" - logger.info("[生命周期] - Starting up TH Agenter application...") - yield - # Shutdown - logger.info("[生命周期] - Shutting down TH Agenter application...") - -def setup_exception_handlers(app: FastAPI) -> None: - """Setup global exception handlers.""" - - # Import custom exceptions and handlers - from utils.util_exceptions import ChatAgentException, chat_agent_exception_handler - - @app.exception_handler(ChatAgentException) - async def custom_chat_agent_exception_handler(request, exc): - return await chat_agent_exception_handler(request, exc) - - @app.exception_handler(StarletteHTTPException) - async def http_exception_handler(request, exc): - from utils.util_exceptions import HxfErrorResponse - logger.exception(f"HTTP Exception: {exc.status_code} - {exc.detail} - {request.method} {request.url}") - return HxfErrorResponse(exc.status_code, exc.detail) - - def make_json_serializable(obj): - """递归地将对象转换为JSON可序列化的格式""" - if obj is None or isinstance(obj, (str, int, float, bool)): - return obj - elif isinstance(obj, bytes): - return obj.decode('utf-8') - elif isinstance(obj, (ValueError, Exception)): - return str(obj) - elif isinstance(obj, dict): - return {k: make_json_serializable(v) for k, v in obj.items()} - elif isinstance(obj, (list, tuple)): - return [make_json_serializable(item) for item in obj] - else: - # For any other object, convert to string - return str(obj) - - @app.exception_handler(RequestValidationError) - async def validation_exception_handler(request, exc): - # Convert any non-serializable objects to strings in error details - try: - errors = make_json_serializable(exc.errors()) - except Exception as e: - # Fallback: if even our conversion fails, use a simple error message - errors = [{"type": "serialization_error", "msg": f"Error processing validation details: {str(e)}"}] - logger.exception(f"Request Validation Error: {errors}") - - logger.exception(f"validation_error: {errors}") - return JSONResponse( - status_code=422, - content={ - "error": { - "type": "validation_error", - "message": "Request validation failed", - "details": errors - } - } - ) - - @app.exception_handler(Exception) - async def general_exception_handler(request, exc): - logger.error(f"Unhandled exception: {exc}", exc_info=True) - return JSONResponse( - status_code=500, - content={ - "error": { - "type": "internal_error", - "message": "Internal server error" - } - } - ) - -def create_app() -> FastAPI: - """Create and configure FastAPI application.""" - from th_agenter.core.config import get_settings - settings = get_settings() - - # Create FastAPI app - app = FastAPI( - title=settings.app_name, - version=settings.app_version, - description="基于Vue的第一个聊天智能体应用,使用FastAPI后端,由TH Agenter修改", - debug=settings.debug, - lifespan=lifespan, - ) - app.mount("/static", StaticFiles(directory="static"), name="th_agenter_static") - - # Add middleware - from th_agenter.core.app import setup_middleware - setup_middleware(app, settings) - - # # Add exception handlers - setup_exception_handlers(app) - add_router(app) - - return app - -def add_router(app: FastAPI) -> None: - """Add default routers to the FastAPI application.""" - - @app.get("/") - def read_root(): - logger.info("Hello World") - return {"Hello": "World"} - - # Include routers - app.include_router(router, prefix="/api") - - - - # app.include_router(table_metadata.router) - # # 在现有导入中添加 - # from ..api.endpoints import database_config - - # # 在路由注册部分添加 - # app.include_router(database_config.router) - # # Health check endpoint - # @app.get("/health") - # async def health_check(): - # return {"status": "healthy", "version": settings.app_version} - - # # Root endpoint - # @app.get("/") - # async def root(): - # return {"message": "Chat Agent API is running"} - - # # Test endpoint - # @app.get("/test") - # async def test_endpoint(): - # return {"message": "API is working"} - - -app = create_app() - -# from utils.util_test import test_db -# test_db() \ No newline at end of file diff --git a/backend/static/favicon.png b/backend/static/favicon.png deleted file mode 100644 index e5b7c3a..0000000 Binary files a/backend/static/favicon.png and /dev/null differ diff --git a/backend/static/redoc.standalone.js b/backend/static/redoc.standalone.js deleted file mode 100644 index fee2c1a..0000000 --- a/backend/static/redoc.standalone.js +++ /dev/null @@ -1,1832 +0,0 @@ -/*! For license information please see redoc.standalone.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("null")):"function"==typeof define&&define.amd?define(["null"],t):"object"==typeof exports?exports.Redoc=t(require("null")):e.Redoc=t(e.null)}(this,(function(e){return function(){var t={854:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.mapTypeToComponent=t.bundleDocument=t.bundleFromString=t.bundle=t.OasVersion=void 0;const i=n(8142),o=n(2928),a=n(2161),s=n(1990),l=n(5735),c=n(3101),u=n(3873),p=n(2900),d=n(3416),f=n(8209),h=n(4125),m=n(474),g=n(4335);var y;function b(e){return r(this,void 0,void 0,(function*(){const{document:t,config:n,customTypes:r,externalRefResolver:i,dereference:u=!1,skipRedoclyRegistryRefs:d=!1,removeUnusedComponents:f=!1,keepUrlRefs:h=!1}=e,y=(0,c.detectSpec)(t.parsed),b=(0,c.getMajorSpecVersion)(y),v=n.getRulesForOasVersion(b),w=(0,s.normalizeTypes)(n.extendTypes(null!=r?r:(0,c.getTypes)(y),y),n),k=(0,p.initRules)(v,n,"preprocessors",y),S=(0,p.initRules)(v,n,"decorators",y),E={problems:[],oasVersion:y,refTypes:new Map,visitorsData:{}};f&&S.push({severity:"error",ruleId:"remove-unused-components",visitor:b===c.SpecMajorVersion.OAS2?(0,m.RemoveUnusedComponents)({}):(0,g.RemoveUnusedComponents)({})});let O=yield(0,o.resolveDocument)({rootDocument:t,rootType:w.Root,externalRefResolver:i});k.length>0&&((0,l.walkDocument)({document:t,rootType:w.Root,normalizedVisitors:(0,a.normalizeVisitors)(k,w),resolvedRefMap:O,ctx:E}),O=yield(0,o.resolveDocument)({rootDocument:t,rootType:w.Root,externalRefResolver:i}));const _=(0,a.normalizeVisitors)([{severity:"error",ruleId:"bundler",visitor:x(b,u,d,t,O,h)},...S],w);return(0,l.walkDocument)({document:t,rootType:w.Root,normalizedVisitors:_,resolvedRefMap:O,ctx:E}),{bundle:t,problems:E.problems.map((e=>n.addProblemToIgnore(e))),fileDependencies:i.getFiles(),rootType:w.Root,refTypes:E.refTypes,visitorsData:E.visitorsData}}))}function v(e,t){switch(t){case c.SpecMajorVersion.OAS3:switch(e){case"Schema":return"schemas";case"Parameter":return"parameters";case"Response":return"responses";case"Example":return"examples";case"RequestBody":return"requestBodies";case"Header":return"headers";case"SecuritySchema":return"securitySchemes";case"Link":return"links";case"Callback":return"callbacks";default:return null}case c.SpecMajorVersion.OAS2:switch(e){case"Schema":return"definitions";case"Parameter":return"parameters";case"Response":return"responses";default:return null}case c.SpecMajorVersion.Async2:switch(e){case"Schema":return"schemas";case"Parameter":return"parameters";default:return null}}}function x(e,t,n,r,a,s){let l,p;const m={ref:{leave(i,l,c){if(!c.location||void 0===c.node)return void(0,d.reportUnresolvedRef)(c,l.report,l.location);if(c.location.source===r.source&&c.location.source===l.location.source&&"scalar"!==l.type.name&&!t)return;if(n&&(0,h.isRedoclyRegistryURL)(i.$ref))return;if(s&&(0,u.isAbsoluteUrl)(i.$ref))return;const p=v(l.type.name,e);p?t?(y(p,c,l),g(i,c,l)):(i.$ref=y(p,c,l),function(e,t,n){const i=(0,o.makeRefId)(n.location.source.absoluteRef,e.$ref);a.set(i,{document:r,isRemote:!1,node:t.node,nodePointer:e.$ref,resolved:!0})}(i,c,l)):g(i,c,l)}},Root:{enter(t,n){p=n.location,e===c.SpecMajorVersion.OAS3?l=t.components=t.components||{}:e===c.SpecMajorVersion.OAS2&&(l=t)}}};function g(e,t,n){if((0,f.isPlainObject)(t.node)){delete e.$ref;const n=Object.assign({},t.node,e);Object.assign(e,n)}else n.parent[n.key]=t.node}function y(t,n,r){l[t]=l[t]||{};const i=function(e,t,n){const[r,i]=[e.location.source.absoluteRef,e.location.pointer],o=l[t];let a="";const s=i.slice(2).split("/").filter(f.isTruthy);for(;s.length>0;)if(a=s.pop()+(a?`-${a}`:""),!o||!o[a]||b(o[a],e,n))return a;if(a=(0,u.refBaseName)(r)+(a?`_${a}`:""),!o[a]||b(o[a],e,n))return a;const c=a;let p=2;for(;o[a]&&!b(o[a],e,n);)a=`${c}-${p}`,p++;return o[a]||n.report({message:`Two schemas are referenced with the same name but different content. Renamed ${c} to ${a}.`,location:n.location,forceSeverity:"warn"}),a}(n,t,r);return l[t][i]=n.node,e===c.SpecMajorVersion.OAS3?`#/components/${t}/${i}`:`#/${t}/${i}`}function b(e,t,n){var r;return!(!(0,u.isRef)(e)||(null===(r=n.resolve(e,p.absolutePointer).location)||void 0===r?void 0:r.absolutePointer)!==t.location.absolutePointer)||i(e,t.node)}return e===c.SpecMajorVersion.OAS3&&(m.DiscriminatorMapping={leave(n,r){for(const i of Object.keys(n)){const o=n[i],a=r.resolve({$ref:o});if(!a.location||void 0===a.node)return void(0,d.reportUnresolvedRef)(a,r.report,r.location.child(i));const s=v("Schema",e);t?y(s,a,r):n[i]=y(s,a,r)}}}),m}!function(e){e.Version2="oas2",e.Version3_0="oas3_0",e.Version3_1="oas3_1"}(y||(t.OasVersion=y={})),t.bundle=function(e){return r(this,void 0,void 0,(function*(){const{ref:t,doc:n,externalRefResolver:r=new o.BaseResolver(e.config.resolve),base:i=null}=e;if(!t&&!n)throw new Error("Document or reference is required.\n");const a=void 0===n?yield r.resolveDocument(i,t,!0):n;if(a instanceof Error)throw a;return b(Object.assign(Object.assign({document:a},e),{config:e.config.styleguide,externalRefResolver:r}))}))},t.bundleFromString=function(e){return r(this,void 0,void 0,(function*(){const{source:t,absoluteRef:n,externalRefResolver:r=new o.BaseResolver(e.config.resolve)}=e,i=(0,o.makeDocumentFromString)(t,n||"/");return b(Object.assign(Object.assign({document:i},e),{externalRefResolver:r,config:e.config.styleguide}))}))},t.bundleDocument=b,t.mapTypeToComponent=v},8921:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Config=t.StyleguideConfig=t.AVAILABLE_REGIONS=t.DOMAINS=t.DEFAULT_REGION=t.IGNORE_FILE=void 0;const r=n(7992),i=n(7975),o=n(970),a=n(8209),s=n(3101),l=n(1827),c=n(462),u=n(3873);t.IGNORE_FILE=".redocly.lint-ignore.yaml",t.DEFAULT_REGION="us",t.DOMAINS=function(){const e={us:"redocly.com",eu:"eu.redocly.com"},t=l.env.REDOCLY_DOMAIN;return(null==t?void 0:t.endsWith(".redocly.host"))&&(e[t.split(".")[0]]=t),"redoc.online"===t&&(e[t]=t),e}(),t.AVAILABLE_REGIONS=Object.keys(t.DOMAINS);class p{constructor(e,n){this.rawConfig=e,this.configFile=n,this.ignore={},this._usedRules=new Set,this._usedVersions=new Set,this.plugins=e.plugins||[],this.doNotResolveExamples=!!e.doNotResolveExamples,this.recommendedFallback=e.recommendedFallback||!1,this.rules={[s.SpecVersion.OAS2]:Object.assign(Object.assign({},e.rules),e.oas2Rules),[s.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.rules),e.oas3_0Rules),[s.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.rules),e.oas3_1Rules),[s.SpecVersion.Async2]:Object.assign(Object.assign({},e.rules),e.async2Rules)},this.preprocessors={[s.SpecVersion.OAS2]:Object.assign(Object.assign({},e.preprocessors),e.oas2Preprocessors),[s.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.preprocessors),e.oas3_0Preprocessors),[s.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.preprocessors),e.oas3_1Preprocessors),[s.SpecVersion.Async2]:Object.assign(Object.assign({},e.preprocessors),e.async2Preprocessors)},this.decorators={[s.SpecVersion.OAS2]:Object.assign(Object.assign({},e.decorators),e.oas2Decorators),[s.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.decorators),e.oas3_0Decorators),[s.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.decorators),e.oas3_1Decorators),[s.SpecVersion.Async2]:Object.assign(Object.assign({},e.decorators),e.async2Decorators)},this.extendPaths=e.extendPaths||[],this.pluginPaths=e.pluginPaths||[],this.resolveIgnore(function(e){return e?(0,a.doesYamlFileExist)(e)?i.join(i.dirname(e),t.IGNORE_FILE):i.join(e,t.IGNORE_FILE):l.isBrowser?void 0:i.join(process.cwd(),t.IGNORE_FILE)}(n))}resolveIgnore(e){if(e&&(0,a.doesYamlFileExist)(e)){this.ignore=(0,o.parseYaml)(r.readFileSync(e,"utf-8"))||{};for(const t of Object.keys(this.ignore)){this.ignore[(0,u.isAbsoluteUrl)(t)?t:i.resolve(i.dirname(e),t)]=this.ignore[t];for(const e of Object.keys(this.ignore[t]))this.ignore[t][e]=new Set(this.ignore[t][e]);(0,u.isAbsoluteUrl)(t)||delete this.ignore[t]}}}saveIgnore(){const e=this.configFile?i.dirname(this.configFile):process.cwd(),n=i.join(e,t.IGNORE_FILE),s={};for(const t of Object.keys(this.ignore)){const n=s[(0,u.isAbsoluteUrl)(t)?t:(0,a.slash)(i.relative(e,t))]=this.ignore[t];for(const e of Object.keys(n))n[e]=Array.from(n[e])}r.writeFileSync(n,"# This file instructs Redocly's linter to ignore the rules contained for specific parts of your API.\n# See https://redoc.ly/docs/cli/ for more information.\n"+(0,o.stringifyYaml)(s))}addIgnore(e){const t=this.ignore,n=e.location[0];if(void 0===n.pointer)return;const r=t[n.source.absoluteRef]=t[n.source.absoluteRef]||{};(r[e.ruleId]=r[e.ruleId]||new Set).add(n.pointer)}addProblemToIgnore(e){const t=e.location[0];if(void 0===t.pointer)return e;const n=(this.ignore[t.source.absoluteRef]||{})[e.ruleId],r=n&&n.has(t.pointer);return r?Object.assign(Object.assign({},e),{ignored:r}):e}extendTypes(e,t){let n=e;for(const e of this.plugins)if(void 0!==e.typeExtension)switch(t){case s.SpecVersion.OAS3_0:case s.SpecVersion.OAS3_1:if(!e.typeExtension.oas3)continue;n=e.typeExtension.oas3(n,t);break;case s.SpecVersion.OAS2:if(!e.typeExtension.oas2)continue;n=e.typeExtension.oas2(n,t);break;case s.SpecVersion.Async2:if(!e.typeExtension.async2)continue;n=e.typeExtension.async2(n,t);break;default:throw new Error("Not implemented")}return n}getRuleSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.rules[t][e]||"off";return"string"==typeof n?{severity:n}:Object.assign({severity:"error"},n)}getPreprocessorSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.preprocessors[t][e]||"off";return"string"==typeof n?{severity:"on"===n?"error":n}:Object.assign({severity:"error"},n)}getDecoratorSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.decorators[t][e]||"off";return"string"==typeof n?{severity:"on"===n?"error":n}:Object.assign({severity:"error"},n)}getUnusedRules(){const e=[],t=[],n=[];for(const r of Array.from(this._usedVersions))e.push(...Object.keys(this.rules[r]).filter((e=>!this._usedRules.has(e)))),t.push(...Object.keys(this.decorators[r]).filter((e=>!this._usedRules.has(e)))),n.push(...Object.keys(this.preprocessors[r]).filter((e=>!this._usedRules.has(e))));return{rules:e,preprocessors:n,decorators:t}}getRulesForOasVersion(e){switch(e){case s.SpecMajorVersion.OAS3:const e=[];return this.plugins.forEach((t=>{var n;return(null===(n=t.preprocessors)||void 0===n?void 0:n.oas3)&&e.push(t.preprocessors.oas3)})),this.plugins.forEach((t=>{var n;return(null===(n=t.rules)||void 0===n?void 0:n.oas3)&&e.push(t.rules.oas3)})),this.plugins.forEach((t=>{var n;return(null===(n=t.decorators)||void 0===n?void 0:n.oas3)&&e.push(t.decorators.oas3)})),e;case s.SpecMajorVersion.OAS2:const t=[];return this.plugins.forEach((e=>{var n;return(null===(n=e.preprocessors)||void 0===n?void 0:n.oas2)&&t.push(e.preprocessors.oas2)})),this.plugins.forEach((e=>{var n;return(null===(n=e.rules)||void 0===n?void 0:n.oas2)&&t.push(e.rules.oas2)})),this.plugins.forEach((e=>{var n;return(null===(n=e.decorators)||void 0===n?void 0:n.oas2)&&t.push(e.decorators.oas2)})),t;case s.SpecMajorVersion.Async2:const n=[];return this.plugins.forEach((e=>{var t;return(null===(t=e.preprocessors)||void 0===t?void 0:t.async2)&&n.push(e.preprocessors.async2)})),this.plugins.forEach((e=>{var t;return(null===(t=e.rules)||void 0===t?void 0:t.async2)&&n.push(e.rules.async2)})),this.plugins.forEach((e=>{var t;return(null===(t=e.decorators)||void 0===t?void 0:t.async2)&&n.push(e.decorators.async2)})),n}}skipRules(e){for(const t of e||[])for(const e of Object.values(s.SpecVersion))this.rules[e][t]&&(this.rules[e][t]="off")}skipPreprocessors(e){for(const t of e||[])for(const e of Object.values(s.SpecVersion))this.preprocessors[e][t]&&(this.preprocessors[e][t]="off")}skipDecorators(e){for(const t of e||[])for(const e of Object.values(s.SpecVersion))this.decorators[e][t]&&(this.decorators[e][t]="off")}}t.StyleguideConfig=p,t.Config=class{constructor(e,t){this.rawConfig=e,this.configFile=t,this.apis=e.apis||{},this.styleguide=new p(e.styleguide||{},t),this.theme=e.theme||{},this.resolve=(0,c.getResolveConfig)(null==e?void 0:e.resolve),this.region=e.region,this.organization=e.organization,this.files=e.files||[],this.telemetry=e.telemetry}}},2900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initRules=void 0;const r=n(8209);t.initRules=function(e,t,n,i){return e.flatMap((e=>Object.keys(e).map((r=>{const o=e[r],a="rules"===n?t.getRuleSettings(r,i):"preprocessors"===n?t.getPreprocessorSettings(r,i):t.getDecoratorSettings(r,i);if("off"===a.severity)return;const s=a.severity,l=o(a);return Array.isArray(l)?l.map((e=>({severity:s,ruleId:r,visitor:e}))):{severity:s,ruleId:r,visitor:l}})))).flatMap((e=>e)).filter(r.isDefined)}},462:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);it[e]));n[e]&&null===t&&(0,i.showWarningForDeprecatedField)(e),n[e]&&t&&n[t]&&(0,i.showErrorForDeprecatedField)(e,t),n[e]&&r&&n[r]&&(0,i.showErrorForDeprecatedField)(e,t,r),(n[e]||o)&&(0,i.showWarningForDeprecatedField)(e,t,r)}t.parsePresetName=function(e){if(e.indexOf("/")>-1){const[t,n]=e.split("/");return{pluginId:t,configName:n}}return{pluginId:"",configName:e}},t.transformApiDefinitionsToApis=s,t.prefixRules=function(e,t){if(!t)return e;const n={};for(const r of Object.keys(e))n[`${t}/${r}`]=e[r];return n},t.mergeExtends=function(e){const t={rules:{},oas2Rules:{},oas3_0Rules:{},oas3_1Rules:{},async2Rules:{},preprocessors:{},oas2Preprocessors:{},oas3_0Preprocessors:{},oas3_1Preprocessors:{},async2Preprocessors:{},decorators:{},oas2Decorators:{},oas3_0Decorators:{},oas3_1Decorators:{},async2Decorators:{},plugins:[],pluginPaths:[],extendPaths:[]};for(const n of e){if(n.extends)throw new Error(`'extends' is not supported in shared configs yet: ${JSON.stringify(n,null,2)}.`);Object.assign(t.rules,n.rules),Object.assign(t.oas2Rules,n.oas2Rules),(0,i.assignExisting)(t.oas2Rules,n.rules||{}),Object.assign(t.oas3_0Rules,n.oas3_0Rules),(0,i.assignExisting)(t.oas3_0Rules,n.rules||{}),Object.assign(t.oas3_1Rules,n.oas3_1Rules),(0,i.assignExisting)(t.oas3_1Rules,n.rules||{}),Object.assign(t.async2Rules,n.async2Rules),(0,i.assignExisting)(t.async2Rules,n.rules||{}),Object.assign(t.preprocessors,n.preprocessors),Object.assign(t.oas2Preprocessors,n.oas2Preprocessors),(0,i.assignExisting)(t.oas2Preprocessors,n.preprocessors||{}),Object.assign(t.oas3_0Preprocessors,n.oas3_0Preprocessors),(0,i.assignExisting)(t.oas3_0Preprocessors,n.preprocessors||{}),Object.assign(t.oas3_1Preprocessors,n.oas3_1Preprocessors),(0,i.assignExisting)(t.oas3_1Preprocessors,n.preprocessors||{}),Object.assign(t.async2Preprocessors,n.async2Preprocessors),(0,i.assignExisting)(t.async2Preprocessors,n.preprocessors||{}),Object.assign(t.decorators,n.decorators),Object.assign(t.oas2Decorators,n.oas2Decorators),(0,i.assignExisting)(t.oas2Decorators,n.decorators||{}),Object.assign(t.oas3_0Decorators,n.oas3_0Decorators),(0,i.assignExisting)(t.oas3_0Decorators,n.decorators||{}),Object.assign(t.oas3_1Decorators,n.oas3_1Decorators),(0,i.assignExisting)(t.oas3_1Decorators,n.decorators||{}),Object.assign(t.async2Decorators,n.async2Decorators),(0,i.assignExisting)(t.async2Decorators,n.decorators||{}),t.plugins.push(...n.plugins||[]),t.pluginPaths.push(...n.pluginPaths||[]),t.extendPaths.push(...new Set(n.extendPaths))}return t},t.getMergedConfig=function(e,t){var n,r,a,s,l,c,u,p;const d=[...Object.values(e.apis).map((e=>{var t;return null===(t=null==e?void 0:e.styleguide)||void 0===t?void 0:t.extendPaths})),null===(r=null===(n=e.rawConfig)||void 0===n?void 0:n.styleguide)||void 0===r?void 0:r.extendPaths].flat().filter(i.isTruthy),f=[...Object.values(e.apis).map((e=>{var t;return null===(t=null==e?void 0:e.styleguide)||void 0===t?void 0:t.pluginPaths})),null===(s=null===(a=e.rawConfig)||void 0===a?void 0:a.styleguide)||void 0===s?void 0:s.pluginPaths].flat().filter(i.isTruthy);return t?new o.Config(Object.assign(Object.assign({},e.rawConfig),{styleguide:Object.assign(Object.assign({},e.apis[t]?e.apis[t].styleguide:e.rawConfig.styleguide),{extendPaths:d,pluginPaths:f}),theme:Object.assign(Object.assign({},e.rawConfig.theme),null===(l=e.apis[t])||void 0===l?void 0:l.theme),files:[...e.files,...null!==(p=null===(u=null===(c=e.apis)||void 0===c?void 0:c[t])||void 0===u?void 0:u.files)&&void 0!==p?p:[]]}),e.configFile):e},t.checkForDeprecatedFields=u,t.transformConfig=function(e){var t,n;const i=[["apiDefinitions","apis",void 0],["referenceDocs","openapi","theme"],["lint",void 0,void 0],["styleguide",void 0,void 0],["features.openapi","openapi","theme"]];for(const[t,n,r]of i)u(t,n,e,r);const{apis:o,apiDefinitions:p,referenceDocs:d,lint:f}=e,h=r(e,["apis","apiDefinitions","referenceDocs","lint"]),{styleguideConfig:m,rawConfigRest:g}=l(h),y=Object.assign({theme:{openapi:Object.assign(Object.assign(Object.assign({},d),e["features.openapi"]),null===(t=e.theme)||void 0===t?void 0:t.openapi),mockServer:Object.assign(Object.assign({},e["features.mockServer"]),null===(n=e.theme)||void 0===n?void 0:n.mockServer)},apis:c(o)||s(p),styleguide:m||f},g);return function(e){var t,n;let r=Object.assign({},null===(t=e.styleguide)||void 0===t?void 0:t.rules);for(const t of Object.values(e.apis||{}))r=Object.assign(Object.assign({},r),null===(n=null==t?void 0:t.styleguide)||void 0===n?void 0:n.rules);for(const e of Object.keys(r))e.startsWith("assert/")&&a.logger.warn(`\nThe 'assert/' syntax in ${e} is deprecated. Update your configuration to use 'rule/' instead. Examples and more information: https://redocly.com/docs/cli/rules/configurable-rules/\n`)}(y),y},t.getResolveConfig=function(e){var t,n;return{http:{headers:null!==(n=null===(t=null==e?void 0:e.http)||void 0===t?void 0:t.headers)&&void 0!==n?n:[],customFetch:void 0}}},t.getUniquePlugins=function(e){const t=new Set,n=[];for(const r of e)t.has(r.id)?r.id&&a.logger.warn(`Duplicate plugin id "${a.colorize.red(r.id)}".\n`):(n.push(r),t.add(r.id));return n};class p extends Error{}t.ConfigValidationError=p},1827:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.env=t.isBrowser=void 0,t.isBrowser="undefined"!=typeof window||"undefined"!=typeof self||"undefined"==typeof process,t.env=t.isBrowser?{}:{}||{}},970:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringifyYaml=t.parseYaml=void 0;const r=n(7210),i=r.JSON_SCHEMA.extend({implicit:[r.types.merge],explicit:[r.types.binary,r.types.omap,r.types.pairs,r.types.set]});t.parseYaml=(e,t)=>(0,r.load)(e,Object.assign({schema:i},t)),t.stringifyYaml=(e,t)=>(0,r.dump)(e,t)},2678:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.colorize=t.colorOptions=void 0;const r=n(8825);var i=n(8825);Object.defineProperty(t,"colorOptions",{enumerable:!0,get:function(){return i.options}});const o=n(1827),a=n(8209);t.colorize=new Proxy(r,{get(e,t){return o.isBrowser?a.identity:e[t]}}),t.logger=new class{stderr(e){return process.stderr.write(e)}info(e){return o.isBrowser?console.log(e):this.stderr(e)}warn(e){return o.isBrowser?console.warn(e):this.stderr(t.colorize.yellow(e))}error(e){return o.isBrowser?console.error(e):this.stderr(t.colorize.red(e))}}},3101:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypes=t.getMajorSpecVersion=t.detectSpec=t.SpecMajorVersion=t.SpecVersion=void 0;const r=n(4409),i=n(4154),o=n(2082),a=n(264);var s,l;!function(e){e.OAS2="oas2",e.OAS3_0="oas3_0",e.OAS3_1="oas3_1",e.Async2="async2"}(s||(t.SpecVersion=s={})),function(e){e.OAS2="oas2",e.OAS3="oas3",e.Async2="async2"}(l||(t.SpecMajorVersion=l={}));const c={[s.OAS2]:r.Oas2Types,[s.OAS3_0]:i.Oas3Types,[s.OAS3_1]:o.Oas3_1Types,[s.Async2]:a.AsyncApi2Types};t.detectSpec=function(e){if("object"!=typeof e)throw new Error("Document must be JSON object, got "+typeof e);if(e.openapi&&"string"!=typeof e.openapi)throw new Error(`Invalid OpenAPI version: should be a string but got "${typeof e.openapi}"`);if(e.openapi&&e.openapi.startsWith("3.0"))return s.OAS3_0;if(e.openapi&&e.openapi.startsWith("3.1"))return s.OAS3_1;if(e.swagger&&"2.0"===e.swagger)return s.OAS2;if(e.openapi||e.swagger)throw new Error(`Unsupported OpenAPI version: ${e.openapi||e.swagger}`);if(e.asyncapi&&e.asyncapi.startsWith("2."))return s.Async2;if(e.asyncapi)throw new Error(`Unsupported AsyncAPI version: ${e.asyncapi}`);throw new Error("Unsupported specification")},t.getMajorSpecVersion=function(e){return e===s.OAS2?l.OAS2:e===s.Async2?l.Async2:l.OAS3},t.getTypes=function(e){return c[e]}},4125:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.isRedoclyRegistryURL=t.RedoclyClient=void 0;const i=n(3986),o=n(7975),a=n(2941),s=n(919),l=n(8921),c=n(1827),u=n(8209),p=n(2678),d=".redocly-config.json";t.RedoclyClient=class{constructor(e){this.accessTokens={},this.region=this.loadRegion(e),this.loadTokens(),this.domain=e?l.DOMAINS[e]:c.env.REDOCLY_DOMAIN||l.DOMAINS[l.DEFAULT_REGION],c.env.REDOCLY_DOMAIN=this.domain,this.registryApi=new s.RegistryApi(this.accessTokens,this.region)}loadRegion(e){if(e&&!l.DOMAINS[e])throw new Error(`Invalid argument: region in config file.\nGiven: ${p.colorize.green(e)}, choices: "us", "eu".`);return c.env.REDOCLY_DOMAIN?l.AVAILABLE_REGIONS.find((e=>l.DOMAINS[e]===c.env.REDOCLY_DOMAIN))||l.DEFAULT_REGION:e||l.DEFAULT_REGION}getRegion(){return this.region}hasTokens(){return(0,u.isNotEmptyObject)(this.accessTokens)}hasToken(){return!!this.accessTokens[this.region]}getAuthorizationHeader(){return r(this,void 0,void 0,(function*(){return this.accessTokens[this.region]}))}setAccessTokens(e){this.accessTokens=e}loadTokens(){const e=(0,o.resolve)((0,a.homedir)(),d),t=this.readCredentialsFile(e);(0,u.isNotEmptyObject)(t)&&this.setAccessTokens(Object.assign(Object.assign({},t),t.token&&!t[this.region]&&{[this.region]:t.token})),c.env.REDOCLY_AUTHORIZATION&&this.setAccessTokens(Object.assign(Object.assign({},this.accessTokens),{[this.region]:c.env.REDOCLY_AUTHORIZATION}))}getAllTokens(){return Object.entries(this.accessTokens).filter((([e])=>l.AVAILABLE_REGIONS.includes(e))).map((([e,t])=>({region:e,token:t})))}getValidTokens(){return r(this,void 0,void 0,(function*(){const e=this.getAllTokens(),t=yield Promise.allSettled(e.map((({token:e,region:t})=>this.verifyToken(e,t))));return e.filter(((e,n)=>"fulfilled"===t[n].status)).map((({token:e,region:t})=>({token:e,region:t,valid:!0})))}))}getTokens(){return r(this,void 0,void 0,(function*(){return this.hasTokens()?yield this.getValidTokens():[]}))}isAuthorizedWithRedoclyByRegion(){return r(this,void 0,void 0,(function*(){if(!this.hasTokens())return!1;const e=this.accessTokens[this.region];if(!e)return!1;try{return yield this.verifyToken(e,this.region),!0}catch(e){return!1}}))}isAuthorizedWithRedocly(){return r(this,void 0,void 0,(function*(){return this.hasTokens()&&(0,u.isNotEmptyObject)(yield this.getValidTokens())}))}readCredentialsFile(e){return(0,i.existsSync)(e)?JSON.parse((0,i.readFileSync)(e,"utf-8")):{}}verifyToken(e,t,n=!1){return r(this,void 0,void 0,(function*(){return this.registryApi.authStatus(e,t,n)}))}login(e,t=!1){return r(this,void 0,void 0,(function*(){const n=(0,o.resolve)((0,a.homedir)(),d);try{yield this.verifyToken(e,this.region,t)}catch(e){throw new Error("Authorization failed. Please check if you entered a valid API key.")}const r=Object.assign(Object.assign({},this.readCredentialsFile(n)),{[this.region]:e,token:e});this.accessTokens=r,this.registryApi.setAccessTokens(r),(0,i.writeFileSync)(n,JSON.stringify(r,null,2))}))}logout(){const e=(0,o.resolve)((0,a.homedir)(),d);(0,i.existsSync)(e)&&(0,i.unlinkSync)(e)}},t.isRedoclyRegistryURL=function(e){const t=c.env.REDOCLY_DOMAIN||l.DOMAINS[l.DEFAULT_REGION],n="redocly.com"===t?"redoc.ly":t;return!(!e.startsWith(`https://api.${t}/registry/`)&&!e.startsWith(`https://api.${n}/registry/`))}},919:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.RegistryApi=void 0;const i=n(8381),o=n(8921),a=n(8209),s=n(2079).rE;t.RegistryApi=class{constructor(e,t){this.accessTokens=e,this.region=t}get accessToken(){return(0,a.isNotEmptyObject)(this.accessTokens)&&this.accessTokens[this.region]}getBaseUrl(e=o.DEFAULT_REGION){return`https://api.${o.DOMAINS[e]}/registry`}setAccessTokens(e){return this.accessTokens=e,this}request(e="",t={},n){var o,a;return r(this,void 0,void 0,(function*(){const r="undefined"!=typeof process&&(null===(o={})||void 0===o?void 0:o.REDOCLY_CLI_COMMAND)||"",l="undefined"!=typeof process&&(null===(a={})||void 0===a?void 0:a.REDOCLY_ENVIRONMENT)||"",c=Object.assign({},t.headers||{},{"x-redocly-cli-version":s,"user-agent":`redocly-cli / ${s} ${r} ${l}`});if(!c.hasOwnProperty("authorization"))throw new Error("Unauthorized");const u=yield(0,i.default)(`${this.getBaseUrl(n)}${e}`,Object.assign({},t,{headers:c}));if(401===u.status)throw new Error("Unauthorized");if(404===u.status){const e=yield u.json();throw new Error(e.code)}return u}))}authStatus(e,t,n=!1){return r(this,void 0,void 0,(function*(){try{const n=yield this.request("",{headers:{authorization:e}},t);return yield n.json()}catch(e){throw n&&console.log(e),e}}))}prepareFileUpload({organizationId:e,name:t,version:n,filesHash:i,filename:o,isUpsert:a}){return r(this,void 0,void 0,(function*(){const r=yield this.request(`/${e}/${t}/${n}/prepare-file-upload`,{method:"POST",headers:{"content-type":"application/json",authorization:this.accessToken},body:JSON.stringify({filesHash:i,filename:o,isUpsert:a})},this.region);if(r.ok)return r.json();throw new Error("Could not prepare file upload")}))}pushApi({organizationId:e,name:t,version:n,rootFilePath:i,filePaths:o,branch:a,isUpsert:s,isPublic:l,batchId:c,batchSize:u}){return r(this,void 0,void 0,(function*(){if(!(yield this.request(`/${e}/${t}/${n}`,{method:"PUT",headers:{"content-type":"application/json",authorization:this.accessToken},body:JSON.stringify({rootFilePath:i,filePaths:o,branch:a,isUpsert:s,isPublic:l,batchId:c,batchSize:u})},this.region)).ok)throw new Error("Could not push api")}))}}},3873:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAnchor=t.isMappingRef=t.isAbsoluteUrl=t.refBaseName=t.pointerBaseName=t.parsePointer=t.parseRef=t.escapePointer=t.unescapePointer=t.Location=t.isRef=t.joinPointer=void 0;const r=n(8209);function i(e,t){return""===e&&(e="#/"),"/"===e[e.length-1]?e+t:e+"/"+t}t.joinPointer=i,t.isRef=function(e){return e&&"string"==typeof e.$ref};class o{constructor(e,t){this.source=e,this.pointer=t}child(e){return new o(this.source,i(this.pointer,(Array.isArray(e)?e:[e]).map(s).join("/")))}key(){return Object.assign(Object.assign({},this),{reportOnKey:!0})}get absolutePointer(){return this.source.absoluteRef+("#/"===this.pointer?"":this.pointer)}}function a(e){return decodeURIComponent(e.replace(/~1/g,"/").replace(/~0/g,"~"))}function s(e){return"number"==typeof e?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}t.Location=o,t.unescapePointer=a,t.escapePointer=s,t.parseRef=function(e){const[t,n]=e.split("#/");return{uri:t||null,pointer:n?n.split("/").map(a).filter(r.isTruthy):[]}},t.parsePointer=function(e){return e.substr(2).split("/").map(a)},t.pointerBaseName=function(e){const t=e.split("/");return t[t.length-1]},t.refBaseName=function(e){const t=e.split(/[\/\\]/);return t[t.length-1].replace(/\.[^.]+$/,"")},t.isAbsoluteUrl=function(e){return e.startsWith("http://")||e.startsWith("https://")},t.isMappingRef=function(e){return e.startsWith("#")||e.startsWith("https://")||e.startsWith("http://")||e.startsWith("./")||e.startsWith("../")||e.indexOf("/")>-1},t.isAnchor=function(e){return/^#[A-Za-z][A-Za-z0-9\-_:.]*$/.test(e)}},2928:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.resolveDocument=t.BaseResolver=t.makeDocumentFromString=t.makeRefId=t.YamlParseError=t.ResolveError=t.Source=void 0;const i=n(7411),o=n(7975),a=n(3873),s=n(1990),l=n(8209);class c{constructor(e,t,n){this.absoluteRef=e,this.body=t,this.mimeType=n}getAst(e){var t;return void 0===this._ast&&(this._ast=null!==(t=e(this.body,{filename:this.absoluteRef}))&&void 0!==t?t:void 0,this._ast&&0===this._ast.kind&&""===this._ast.value&&1!==this._ast.startPosition&&(this._ast.startPosition=1,this._ast.endPosition=1)),this._ast}getLines(){return void 0===this._lines&&(this._lines=this.body.split(/\r\n|[\n\r]/g)),this._lines}}t.Source=c;class u extends Error{constructor(e){super(e.message),this.originalError=e,Object.setPrototypeOf(this,u.prototype)}}t.ResolveError=u;const p=/\((\d+):(\d+)\)$/;class d extends Error{constructor(e,t){super(e.message.split("\n")[0]),this.originalError=e,this.source=t,Object.setPrototypeOf(this,d.prototype);const[,n,r]=this.message.match(p)||[];this.line=parseInt(n,10),this.col=parseInt(r,10)}}function f(e,t){return e+"::"+t}function h(e,t){return{prev:e,node:t}}t.YamlParseError=d,t.makeRefId=f,t.makeDocumentFromString=function(e,t){const n=new c(t,e);try{return{source:n,parsed:(0,l.parseYaml)(e,{filename:t})}}catch(e){throw new d(e,n)}},t.BaseResolver=class{constructor(e={http:{headers:[]}}){this.config=e,this.cache=new Map}getFiles(){return new Set(Array.from(this.cache.keys()))}resolveExternalRef(e,t){return(0,a.isAbsoluteUrl)(t)?t:e&&(0,a.isAbsoluteUrl)(e)?new URL(t,e).href:o.resolve(e?o.dirname(e):process.cwd(),t)}loadExternalRef(e){return r(this,void 0,void 0,(function*(){try{if((0,a.isAbsoluteUrl)(e)){const{body:t,mimeType:n}=yield(0,l.readFileFromUrl)(e,this.config.http);return new c(e,t,n)}{if(i.lstatSync(e).isDirectory())throw new Error(`Expected a file but received a folder at ${e}`);const t=yield i.promises.readFile(e,"utf-8");return new c(e,t.replace(/\r\n/g,"\n"))}}catch(e){throw e.message=e.message.replace(", lstat",""),new u(e)}}))}parseDocument(e,t=!1){var n;const r=e.absoluteRef.substr(e.absoluteRef.lastIndexOf("."));if(![".json",".json",".yml",".yaml"].includes(r)&&!(null===(n=e.mimeType)||void 0===n?void 0:n.match(/(json|yaml|openapi)/))&&!t)return{source:e,parsed:e.body};try{return{source:e,parsed:(0,l.parseYaml)(e.body,{filename:e.absoluteRef})}}catch(t){throw new d(t,e)}}resolveDocument(e,t,n=!1){return r(this,void 0,void 0,(function*(){const r=this.resolveExternalRef(e,t),i=this.cache.get(r);if(i)return i;const o=this.loadExternalRef(r).then((e=>this.parseDocument(e,n)));return this.cache.set(r,o),o}))}};const m={name:"unknown",properties:{}},g={name:"scalar",properties:{}};t.resolveDocument=function(e){return r(this,void 0,void 0,(function*(){const{rootDocument:t,externalRefResolver:n,rootType:i}=e,o=new Map,c=new Set,u=[];let p;!function e(t,i,p,d){const y=i.source.absoluteRef,b=new Map;function v(e,t,i){return r(this,void 0,void 0,(function*(){if(function(e,t){for(;e;){if(e.node===t)return!0;e=e.prev}return!1}(i.prev,t))throw new Error("Self-referencing circular pointer");if((0,a.isAnchor)(t.$ref)){yield(0,l.nextTick)();const n={resolved:!0,isRemote:!1,node:b.get(t.$ref),document:e,nodePointer:t.$ref},r=f(e.source.absoluteRef,t.$ref);return o.set(r,n),n}const{uri:r,pointer:s}=(0,a.parseRef)(t.$ref),c=null!==r;let u;try{u=c?yield n.resolveDocument(e.source.absoluteRef,r):e}catch(n){const r={resolved:!1,isRemote:c,document:void 0,error:n},i=f(e.source.absoluteRef,t.$ref);return o.set(i,r),r}let p={resolved:!0,document:u,isRemote:c,node:e.parsed,nodePointer:"#/"},d=u.parsed;const m=s;for(const e of m){if("object"!=typeof d){d=void 0;break}if(void 0!==d[e])d=d[e],p.nodePointer=(0,a.joinPointer)(p.nodePointer,(0,a.escapePointer)(e));else{if(!(0,a.isRef)(d)){d=void 0;break}if(p=yield v(u,d,h(i,d)),u=p.document||u,"object"!=typeof p.node){d=void 0;break}d=p.node[e],p.nodePointer=(0,a.joinPointer)(p.nodePointer,(0,a.escapePointer)(e))}}p.node=d,p.document=u;const g=f(e.source.absoluteRef,t.$ref);return p.document&&(0,a.isRef)(d)&&(p=yield v(p.document,d,h(i,d))),o.set(g,p),Object.assign({},p)}))}!function t(n,r,o){if("object"!=typeof n||null===n)return;const l=`${r.name}::${o}`;if(c.has(l))return;c.add(l);const[p,d]=Object.entries(n).find((([e])=>"$anchor"===e))||[];if(d&&b.set(`#${d}`,n),Array.isArray(n)){const e=r.items;if(void 0===e&&r!==m&&r!==s.SpecExtension)return;for(let r=0;r{t.resolved&&e(t.node,t.document,t.nodePointer,r)}));u.push(t)}}}(t,d,y+p)}(t.parsed,t,"#/",i);do{p=yield Promise.all(u)}while(u.length!==p.length);return o}))}},3416:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportUnresolvedRef=t.NoUnresolvedRefs=void 0;const r=n(2928);function i(e,t,n){var i;const o=e.error;o instanceof r.YamlParseError&&t({message:"Failed to parse: "+o.message,location:{source:o.source,pointer:void 0,start:{col:o.col,line:o.line}}});const a=null===(i=e.error)||void 0===i?void 0:i.message;t({location:n,message:"Can't resolve $ref"+(a?": "+a:"")})}t.NoUnresolvedRefs=()=>({ref:{leave(e,{report:t,location:n},r){void 0===r.node&&i(r,t,n)}},DiscriminatorMapping(e,{report:t,resolve:n,location:r}){for(const o of Object.keys(e)){const a=n({$ref:e[o]});if(void 0!==a.node)return;i(a,t,r.child(o))}}}),t.reportUnresolvedRef=i},474:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoveUnusedComponents=void 0;const r=n(8209);t.RemoveUnusedComponents=()=>{const e=new Map;function t(t,n,r){var i;e.set(t.absolutePointer,{used:(null===(i=e.get(t.absolutePointer))||void 0===i?void 0:i.used)||!1,componentType:n,name:r})}return{ref:{leave(t,{type:n,resolve:r,key:i}){if(["Schema","Parameter","Response","SecurityScheme"].includes(n.name)){const n=r(t);if(!n.location)return;const[o,a]=n.location.absolutePointer.split("#",2),s=`${o}#${a.split("/").slice(0,3).join("/")}`;e.set(s,{used:!0,name:i.toString()})}}},Root:{leave(t,n){const i=n.getVisitorData();i.removedCount=0;const o=new Set;e.forEach((e=>{const{used:n,name:r,componentType:a}=e;!n&&a&&(o.add(a),delete t[a][r],i.removedCount++)}));for(const e of o)(0,r.isEmptyObject)(t[e])&&delete t[e]}},NamedSchemas:{Schema(e,{location:n,key:r}){e.allOf||t(n,"definitions",r.toString())}},NamedParameters:{Parameter(e,{location:n,key:r}){t(n,"parameters",r.toString())}},NamedResponses:{Response(e,{location:n,key:r}){t(n,"responses",r.toString())}},NamedSecuritySchemes:{SecurityScheme(e,{location:n,key:r}){t(n,"securityDefinitions",r.toString())}}}}},4335:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoveUnusedComponents=void 0;const r=n(8209);t.RemoveUnusedComponents=()=>{const e=new Map;function t(t,n,r){var i;e.set(t.absolutePointer,{used:(null===(i=e.get(t.absolutePointer))||void 0===i?void 0:i.used)||!1,componentType:n,name:r})}return{ref:{leave(t,{type:n,resolve:r,key:i}){if(["Schema","Header","Parameter","Response","Example","RequestBody"].includes(n.name)){const n=r(t);if(!n.location)return;const[o,a]=n.location.absolutePointer.split("#",2),s=`${o}#${a.split("/").slice(0,4).join("/")}`;e.set(s,{used:!0,name:i.toString()})}}},Root:{leave(t,n){const i=n.getVisitorData();i.removedCount=0,e.forEach((e=>{const{used:n,componentType:o,name:a}=e;if(!n&&o&&t.components){const e=t.components[o];delete e[a],i.removedCount++,(0,r.isEmptyObject)(e)&&delete t.components[o]}})),(0,r.isEmptyObject)(t.components)&&delete t.components}},NamedSchemas:{Schema(e,{location:n,key:r}){e.allOf||t(n,"schemas",r.toString())}},NamedParameters:{Parameter(e,{location:n,key:r}){t(n,"parameters",r.toString())}},NamedResponses:{Response(e,{location:n,key:r}){t(n,"responses",r.toString())}},NamedExamples:{Example(e,{location:n,key:r}){t(n,"examples",r.toString())}},NamedRequestBodies:{RequestBody(e,{location:n,key:r}){t(n,"requestBodies",r.toString())}},NamedHeaders:{Header(e,{location:n,key:r}){t(n,"headers",r.toString())}}}}},264:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsyncApi2Types=void 0;const r=n(1990),i=n(3873),o={properties:{},allowed(){return["http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","solace","sqs","stomp","redis","mercure","ibmmq","googlepubsub","pulsar"]},additionalProperties:{type:"object"}},a={properties:{},allowed(){return["http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","solace","sqs","stomp","redis","mercure","ibmmq","googlepubsub","pulsar"]},additionalProperties:{type:"object"}},s={properties:{},allowed(){return["http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","solace","sqs","stomp","redis","mercure","ibmmq","googlepubsub","pulsar"]},additionalProperties:{type:"object"}},l={properties:{},allowed(){return["http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","solace","sqs","stomp","redis","mercure","ibmmq","googlepubsub","pulsar"]},additionalProperties:{type:"object"}},c={properties:{$id:{type:"string"},id:{type:"string"},$schema:{type:"string"},definitions:"NamedSchemas",$defs:"NamedSchemas",$vocabulary:{type:"string"},externalDocs:"ExternalDocs",discriminator:"Discriminator",myArbitraryKeyword:{type:"boolean"},title:{type:"string"},multipleOf:{type:"number",minimum:0},maximum:{type:"number"},minimum:{type:"number"},exclusiveMaximum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{type:"integer",minimum:0},minLength:{type:"integer",minimum:0},pattern:{type:"string"},maxItems:{type:"integer",minimum:0},minItems:{type:"integer",minimum:0},uniqueItems:{type:"boolean"},maxProperties:{type:"integer",minimum:0},minProperties:{type:"integer",minimum:0},required:{type:"array",items:{type:"string"}},enum:{type:"array"},type:e=>Array.isArray(e)?{type:"array",items:{enum:["object","array","string","number","integer","boolean","null"]}}:{enum:["object","array","string","number","integer","boolean","null"]},allOf:(0,r.listOf)("Schema"),anyOf:(0,r.listOf)("Schema"),oneOf:(0,r.listOf)("Schema"),not:"Schema",if:"Schema",then:"Schema",else:"Schema",dependentSchemas:(0,r.listOf)("Schema"),prefixItems:(0,r.listOf)("Schema"),contains:"Schema",minContains:{type:"integer",minimum:0},maxContains:{type:"integer",minimum:0},patternProperties:{type:"object"},propertyNames:"Schema",unevaluatedItems:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",unevaluatedProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",summary:{type:"string"},properties:"SchemaProperties",items:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",additionalProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",description:{type:"string"},format:{type:"string"},contentEncoding:{type:"string"},contentMediaType:{type:"string"},default:null,readOnly:{type:"boolean"},writeOnly:{type:"boolean"},examples:{type:"array"},example:{isExample:!0},deprecated:{type:"boolean"},const:null,$comment:{type:"string"},dependencies:{type:"object"}}},u={properties:{},additionalProperties:e=>(0,i.isMappingRef)(e)?{type:"string",directResolveAs:"Schema"}:{type:"string"}},p={properties:{type:{enum:["userPassword","apiKey","X509","symmetricEncryption","asymmetricEncryption","httpApiKey","http","oauth2","openIdConnect","plain","scramSha256","scramSha512","gssapi"]},description:{type:"string"},name:{type:"string"},in:{type:"string",enum:["query","header","cookie","user","password"]},scheme:{type:"string"},bearerFormat:{type:"string"},flows:"SecuritySchemeFlows",openIdConnectUrl:{type:"string"}},required(e){switch(null==e?void 0:e.type){case"apiKey":return["type","in"];case"httpApiKey":return["type","name","in"];case"http":return["type","scheme"];case"oauth2":return["type","flows"];case"openIdConnect":return["type","openIdConnectUrl"];default:return["type"]}},allowed(e){switch(null==e?void 0:e.type){case"apiKey":return["type","in","description"];case"httpApiKey":return["type","name","in","description"];case"http":return["type","scheme","bearerFormat","description"];case"oauth2":return["type","flows","description"];case"openIdConnect":return["type","openIdConnectUrl","description"];default:return["type","description"]}},extensionsPrefix:"x-"},d={properties:{}};o.properties.http=d;const f={properties:{}};a.properties.http=f;const h={properties:{headers:"Schema",bindingVersion:{type:"string"}}};s.properties.http=h;const m={properties:{type:{type:"string"},method:{type:"string",enum:["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"]},headers:"Schema",bindingVersion:{type:"string"}}};l.properties.http=m;const g={properties:{method:{type:"string"},query:"Schema",headers:"Schema",bindingVersion:{type:"string"}}};o.properties.ws=g;const y={properties:{}};a.properties.ws=y;const b={properties:{}};s.properties.ws=b;const v={properties:{}};l.properties.ws=v;const x={properties:{topic:{type:"string"},partitions:{type:"integer"},replicas:{type:"integer"},topicConfiguration:"KafkaTopicConfiguration",bindingVersion:{type:"string"}}};o.properties.kafka=x;const w={properties:{}};a.properties.kafka=w;const k={properties:{key:"Schema",schemaIdLocation:{type:"string"},schemaIdPayloadEncoding:{type:"string"},schemaLookupStrategy:{type:"string"},bindingVersion:{type:"string"}}};s.properties.kafka=k;const S={properties:{groupId:"Schema",clientId:"Schema",bindingVersion:{type:"string"}}};l.properties.kafka=S;const E={properties:{destination:{type:"string"},destinationType:{type:"string"},bindingVersion:{type:"string"}}};o.properties.anypointmq=E;const O={properties:{}};a.properties.anypointmq=O;const _={properties:{headers:"Schema",bindingVersion:{type:"string"}}};s.properties.anypointmq=_;const A={properties:{}};l.properties.anypointmq=A;const j={properties:{}};o.properties.amqp=j;const C={properties:{}};a.properties.amqp=C;const P={properties:{contentEncoding:{type:"string"},messageType:{type:"string"},bindingVersion:{type:"string"}}};s.properties.amqp=P;const T={properties:{expiration:{type:"integer"},userId:{type:"string"},cc:{type:"array",items:{type:"string"}},priority:{type:"integer"},deliveryMode:{type:"integer"},mandatory:{type:"boolean"},bcc:{type:"array",items:{type:"string"}},replyTo:{type:"string"},timestamp:{type:"boolean"},ack:{type:"boolean"},bindingVersion:{type:"string"}}};l.properties.amqp=T;const I={properties:{}};o.properties.amqp1=I;const R={properties:{}};a.properties.amqp1=R;const N={properties:{}};s.properties.amqp1=N;const $={properties:{}};l.properties.amqp1=$;const L={properties:{qos:{type:"integer"},retain:{type:"boolean"},bindingVersion:{type:"string"}}};o.properties.mqtt=L;const D={properties:{clientId:{type:"string"},cleanSession:{type:"boolean"},lastWill:"MqttServerBindingLastWill",keepAlive:{type:"integer"},bindingVersion:{type:"string"}}};a.properties.mqtt=D;const M={properties:{bindingVersion:{type:"string"}}};s.properties.mqtt=M;const z={properties:{qos:{type:"integer"},retain:{type:"boolean"},bindingVersion:{type:"string"}}};l.properties.mqtt=z;const F={properties:{}};o.properties.mqtt5=F;const U={properties:{}};a.properties.mqtt5=U;const B={properties:{}};s.properties.mqtt5=B;const q={properties:{}};l.properties.mqtt5=q;const V={properties:{}};o.properties.nats=V;const W={properties:{}};a.properties.nats=W;const H={properties:{}};s.properties.nats=H;const Y={properties:{queue:{type:"string"},bindingVersion:{type:"string"}}};l.properties.nats=Y;const Q={properties:{destination:{type:"string"},destinationType:{type:"string"},bindingVersion:{type:"string"}}};o.properties.jms=Q;const G={properties:{}};a.properties.jms=G;const X={properties:{headers:"Schema",bindingVersion:{type:"string"}}};s.properties.jms=X;const K={properties:{headers:"Schema",bindingVersion:{type:"string"}}};l.properties.jms=K;const Z={properties:{}};o.properties.solace=Z;const J={properties:{bindingVersion:{type:"string"},msgVpn:{type:"string"}}};a.properties.solace=J;const ee={properties:{}};s.properties.solace=ee;const te={properties:{bindingVersion:{type:"string"},destinations:(0,r.listOf)("SolaceDestination")}};l.properties.solace=te;const ne={properties:{}};o.properties.stomp=ne;const re={properties:{}};a.properties.stomp=re;const ie={properties:{}};s.properties.stomp=ie;const oe={properties:{}};l.properties.stomp=oe;const ae={properties:{}};o.properties.redis=ae;const se={properties:{}};a.properties.redis=se;const le={properties:{}};s.properties.redis=le;const ce={properties:{}};l.properties.redis=ce;const ue={properties:{}};o.properties.mercure=ue;const pe={properties:{}};a.properties.mercure=pe;const de={properties:{}};s.properties.mercure=de;const fe={properties:{}};l.properties.mercure=fe,t.AsyncApi2Types={Root:{properties:{asyncapi:null,info:"Info",id:{type:"string"},servers:"ServerMap",channels:"ChannelMap",components:"Components",tags:"TagList",externalDocs:"ExternalDocs",defaultContentType:{type:"string"}},required:["asyncapi","channels","info"]},Tag:{properties:{name:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs"},required:["name"]},TagList:(0,r.listOf)("Tag"),ServerMap:{properties:{},additionalProperties:(e,t)=>t.match(/^[A-Za-z0-9_\-]+$/)?"Server":void 0},ExternalDocs:{properties:{description:{type:"string"},url:{type:"string"}},required:["url"]},Server:{properties:{url:{type:"string"},protocol:{type:"string"},protocolVersion:{type:"string"},description:{type:"string"},variables:"ServerVariablesMap",security:"SecurityRequirementList",bindings:"ServerBindings",tags:"TagList"},required:["url","protocol"]},ServerVariable:{properties:{enum:{type:"array",items:{type:"string"}},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}},required:[]},ServerVariablesMap:(0,r.mapOf)("ServerVariable"),SecurityRequirement:{properties:{},additionalProperties:{type:"array",items:{type:"string"}}},SecurityRequirementList:(0,r.listOf)("SecurityRequirement"),Info:{properties:{title:{type:"string"},version:{type:"string"},description:{type:"string"},termsOfService:{type:"string"},contact:"Contact",license:"License"},required:["title","version"]},Contact:{properties:{name:{type:"string"},url:{type:"string"},email:{type:"string"}}},License:{properties:{name:{type:"string"},url:{type:"string"}},required:["name"]},HttpServerBinding:f,HttpChannelBinding:d,HttpMessageBinding:h,HttpOperationBinding:m,WsServerBinding:y,WsChannelBinding:g,WsMessageBinding:b,WsOperationBinding:v,KafkaServerBinding:w,KafkaTopicConfiguration:{properties:{"cleanup.policy":{type:"array",items:{enum:["delete","compact"]}},"retention.ms":{type:"integer"},"retention.bytes":{type:"integer"},"delete.retention.ms":{type:"integer"},"max.message.bytes":{type:"integer"}}},KafkaChannelBinding:x,KafkaMessageBinding:k,KafkaOperationBinding:S,AnypointmqServerBinding:O,AnypointmqChannelBinding:E,AnypointmqMessageBinding:_,AnypointmqOperationBinding:A,AmqpServerBinding:C,AmqpChannelBinding:j,AmqpMessageBinding:P,AmqpOperationBinding:T,Amqp1ServerBinding:R,Amqp1ChannelBinding:I,Amqp1MessageBinding:N,Amqp1OperationBinding:$,MqttServerBindingLastWill:{properties:{topic:{type:"string"},qos:{type:"integer"},message:{type:"string"},retain:{type:"boolean"}}},MqttServerBinding:D,MqttChannelBinding:L,MqttMessageBinding:M,MqttOperationBinding:z,Mqtt5ServerBinding:U,Mqtt5ChannelBinding:F,Mqtt5MessageBinding:B,Mqtt5OperationBinding:q,NatsServerBinding:W,NatsChannelBinding:V,NatsMessageBinding:H,NatsOperationBinding:Y,JmsServerBinding:G,JmsChannelBinding:Q,JmsMessageBinding:X,JmsOperationBinding:K,SolaceServerBinding:J,SolaceChannelBinding:Z,SolaceMessageBinding:ee,SolaceDestination:{properties:{destinationType:{type:"string",enum:["queue","topic"]},deliveryMode:{type:"string",enum:["direct","persistent"]},"queue.name":{type:"string"},"queue.topicSubscriptions":{type:"array",items:{type:"string"}},"queue.accessType":{type:"string",enum:["exclusive","nonexclusive"]},"queue.maxMsgSpoolSize":{type:"string"},"queue.maxTtl":{type:"string"},"topic.topicSubscriptions":{type:"array",items:{type:"string"}}}},SolaceOperationBinding:te,StompServerBinding:re,StompChannelBinding:ne,StompMessageBinding:ie,StompOperationBinding:oe,RedisServerBinding:se,RedisChannelBinding:ae,RedisMessageBinding:le,RedisOperationBinding:ce,MercureServerBinding:pe,MercureChannelBinding:ue,MercureMessageBinding:de,MercureOperationBinding:fe,ServerBindings:a,ChannelBindings:o,ChannelMap:{properties:{},additionalProperties:"Channel"},Channel:{properties:{description:{type:"string"},subscribe:"Operation",publish:"Operation",parameters:"ParametersMap",bindings:"ChannelBindings",servers:{type:"array",items:{type:"string"}}}},Parameter:{properties:{description:{type:"string"},schema:"Schema",location:{type:"string"}}},ParametersMap:(0,r.mapOf)("Parameter"),Operation:{properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs",operationId:{type:"string"},security:"SecurityRequirementList",bindings:"OperationBindings",traits:"OperationTraitList",message:"Message"},required:[]},Schema:c,MessageExample:{properties:{payload:{isExample:!0},summary:{type:"string"},name:{type:"string"},headers:{type:"object"}}},SchemaProperties:{properties:{},additionalProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema"},DiscriminatorMapping:u,Discriminator:{properties:{propertyName:{type:"string"},mapping:"DiscriminatorMapping"},required:["propertyName"]},Components:{properties:{messages:"NamedMessages",parameters:"NamedParameters",schemas:"NamedSchemas",correlationIds:"NamedCorrelationIds",messageTraits:"NamedMessageTraits",operationTraits:"NamedOperationTraits",streamHeaders:"NamedStreamHeaders",securitySchemes:"NamedSecuritySchemes",servers:"ServerMap",serverVariables:"ServerVariablesMap",channels:"ChannelMap",serverBindings:"ServerBindings",channelBindings:"ChannelBindings",operationBindings:"OperationBindings",messageBindings:"MessageBindings"}},NamedSchemas:(0,r.mapOf)("Schema"),NamedMessages:(0,r.mapOf)("Message"),NamedMessageTraits:(0,r.mapOf)("MessageTrait"),NamedOperationTraits:(0,r.mapOf)("OperationTrait"),NamedParameters:(0,r.mapOf)("Parameter"),NamedSecuritySchemes:(0,r.mapOf)("SecurityScheme"),NamedCorrelationIds:(0,r.mapOf)("CorrelationId"),NamedStreamHeaders:(0,r.mapOf)("StreamHeader"),ImplicitFlow:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},authorizationUrl:{type:"string"}},required:["authorizationUrl","scopes"]},PasswordFlow:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"}},required:["tokenUrl","scopes"]},ClientCredentials:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"}},required:["tokenUrl","scopes"]},AuthorizationCode:{properties:{refreshUrl:{type:"string"},authorizationUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"}},required:["authorizationUrl","tokenUrl","scopes"]},SecuritySchemeFlows:{properties:{implicit:"ImplicitFlow",password:"PasswordFlow",clientCredentials:"ClientCredentials",authorizationCode:"AuthorizationCode"}},SecurityScheme:p,Message:{properties:{messageId:{type:"string"},headers:"Schema",payload:"Schema",correlationId:"CorrelationId",schemaFormat:{type:"string"},contentType:{type:"string"},name:{type:"string"},title:{type:"string"},summary:{type:"string"},description:{type:"string"},tags:"TagList",externalDocs:"ExternalDocs",bindings:"MessageBindings",traits:"MessageTraitList"},additionalProperties:{}},MessageBindings:s,OperationBindings:l,OperationTrait:{properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs",operationId:{type:"string"},security:"SecurityRequirementList",bindings:"OperationBindings"},required:[]},OperationTraitList:(0,r.listOf)("OperationTrait"),MessageTrait:{properties:{messageId:{type:"string"},headers:"Schema",correlationId:"CorrelationId",schemaFormat:{type:"string"},contentType:{type:"string"},name:{type:"string"},title:{type:"string"},summary:{type:"string"},description:{type:"string"},tags:"TagList",externalDocs:"ExternalDocs",bindings:"MessageBindings"},additionalProperties:{}},MessageTraitList:(0,r.listOf)("MessageTrait"),CorrelationId:{properties:{description:{type:"string"},location:{type:"string"}},required:["location"]}}},1990:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNamedType=t.normalizeTypes=t.SpecExtension=t.mapOf=t.listOf=void 0,t.listOf=function(e){return{name:`${e}List`,properties:{},items:e}},t.mapOf=function(e){return{name:`${e}Map`,properties:{},additionalProperties:()=>e}},t.SpecExtension={name:"SpecExtension",properties:{},additionalProperties:{resolvable:!0}},t.normalizeTypes=function(e,n={}){const r={};for(const t of Object.keys(e))r[t]=Object.assign(Object.assign({},e[t]),{name:t});for(const e of Object.values(r))i(e);return r.SpecExtension=t.SpecExtension,r;function i(e){if(e.additionalProperties&&(e.additionalProperties=o(e.additionalProperties)),e.items&&(e.items=o(e.items)),e.properties){const t={};for(const[r,i]of Object.entries(e.properties))t[r]=o(i),n.doNotResolveExamples&&i&&i.isExample&&(t[r]=Object.assign(Object.assign({},i),{resolvable:!1}));e.properties=t}}function o(e){if("string"==typeof e){if(!r[e])throw new Error(`Unknown type name found: ${e}`);return r[e]}return"function"==typeof e?(t,n)=>o(e(t,n)):e&&e.name?(i(e=Object.assign({},e)),e):e&&e.directResolveAs?Object.assign(Object.assign({},e),{directResolveAs:o(e.directResolveAs)}):e}},t.isNamedType=function(e){return"string"==typeof(null==e?void 0:e.name)}},4409:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Oas2Types=void 0;const r=n(1990),i=/^[0-9][0-9Xx]{2}$/,o={properties:{name:{type:"string"},in:{type:"string",enum:["query","header","path","formData","body"]},description:{type:"string"},required:{type:"boolean"},schema:"Schema",type:{type:"string",enum:["string","number","integer","boolean","array","file"]},format:{type:"string"},allowEmptyValue:{type:"boolean"},items:"ParameterItems",collectionFormat:{type:"string",enum:["csv","ssv","tsv","pipes","multi"]},default:null,maximum:{type:"integer"},exclusiveMaximum:{type:"boolean"},minimum:{type:"integer"},exclusiveMinimum:{type:"boolean"},maxLength:{type:"integer"},minLength:{type:"integer"},pattern:{type:"string"},maxItems:{type:"integer"},minItems:{type:"integer"},uniqueItems:{type:"boolean"},enum:{type:"array"},multipleOf:{type:"number"},"x-example":"Example","x-examples":"ExamplesMap"},required(e){return e&&e.in?"body"===e.in?["name","in","schema"]:"array"===e.type?["name","in","type","items"]:["name","in","type"]:["name","in"]},extensionsPrefix:"x-"},a={properties:{type:{type:"string",enum:["string","number","integer","boolean","array"]},format:{type:"string"},items:"ParameterItems",collectionFormat:{type:"string",enum:["csv","ssv","tsv","pipes","multi"]},default:null,maximum:{type:"integer"},exclusiveMaximum:{type:"boolean"},minimum:{type:"integer"},exclusiveMinimum:{type:"boolean"},maxLength:{type:"integer"},minLength:{type:"integer"},pattern:{type:"string"},maxItems:{type:"integer"},minItems:{type:"integer"},uniqueItems:{type:"boolean"},enum:{type:"array"},multipleOf:{type:"number"}},required(e){return e&&"array"===e.type?["type","items"]:["type"]},extensionsPrefix:"x-"},s={properties:{default:"Response"},additionalProperties:(e,t)=>i.test(t)?"Response":void 0},l={properties:{description:{type:"string"},schema:"Schema",headers:(0,r.mapOf)("Header"),examples:"Examples","x-summary":{type:"string"}},required:["description"],extensionsPrefix:"x-"},c={properties:{description:{type:"string"},type:{type:"string",enum:["string","number","integer","boolean","array"]},format:{type:"string"},items:"ParameterItems",collectionFormat:{type:"string",enum:["csv","ssv","tsv","pipes","multi"]},default:null,maximum:{type:"integer"},exclusiveMaximum:{type:"boolean"},minimum:{type:"integer"},exclusiveMinimum:{type:"boolean"},maxLength:{type:"integer"},minLength:{type:"integer"},pattern:{type:"string"},maxItems:{type:"integer"},minItems:{type:"integer"},uniqueItems:{type:"boolean"},enum:{type:"array"},multipleOf:{type:"number"}},required(e){return e&&"array"===e.type?["type","items"]:["type"]},extensionsPrefix:"x-"},u={properties:{format:{type:"string"},title:{type:"string"},description:{type:"string"},default:null,multipleOf:{type:"number"},maximum:{type:"number"},minimum:{type:"number"},exclusiveMaximum:{type:"boolean"},exclusiveMinimum:{type:"boolean"},maxLength:{type:"number"},minLength:{type:"number"},pattern:{type:"string"},maxItems:{type:"number"},minItems:{type:"number"},uniqueItems:{type:"boolean"},maxProperties:{type:"number"},minProperties:{type:"number"},required:{type:"array",items:{type:"string"}},enum:{type:"array"},type:{type:"string",enum:["object","array","string","number","integer","boolean","null"]},items:e=>Array.isArray(e)?(0,r.listOf)("Schema"):"Schema",allOf:(0,r.listOf)("Schema"),properties:"SchemaProperties",additionalProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",discriminator:{type:"string"},readOnly:{type:"boolean"},xml:"Xml",externalDocs:"ExternalDocs",example:{isExample:!0},"x-tags":{type:"array",items:{type:"string"}},"x-nullable":{type:"boolean"},"x-extendedDiscriminator":{type:"string"},"x-additionalPropertiesName":{type:"string"},"x-explicitMappingOnly":{type:"boolean"},"x-enumDescriptions":"EnumDescriptions"},extensionsPrefix:"x-"},p={properties:{type:{enum:["basic","apiKey","oauth2"]},description:{type:"string"},name:{type:"string"},in:{type:"string",enum:["query","header"]},flow:{enum:["implicit","password","application","accessCode"]},authorizationUrl:{type:"string"},tokenUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},"x-defaultClientId":{type:"string"}},required(e){switch(null==e?void 0:e.type){case"apiKey":return["type","name","in"];case"oauth2":switch(null==e?void 0:e.flow){case"implicit":return["type","flow","authorizationUrl","scopes"];case"accessCode":return["type","flow","authorizationUrl","tokenUrl","scopes"];case"application":case"password":return["type","flow","tokenUrl","scopes"];default:return["type","flow","scopes"]}default:return["type"]}},allowed(e){switch(null==e?void 0:e.type){case"basic":return["type","description"];case"apiKey":return["type","name","in","description"];case"oauth2":switch(null==e?void 0:e.flow){case"implicit":return["type","flow","authorizationUrl","description","scopes"];case"accessCode":return["type","flow","authorizationUrl","tokenUrl","description","scopes"];case"application":case"password":return["type","flow","tokenUrl","description","scopes"];default:return["type","flow","tokenUrl","authorizationUrl","description","scopes"]}default:return["type","description"]}},extensionsPrefix:"x-"};t.Oas2Types={Root:{properties:{swagger:{type:"string"},info:"Info",host:{type:"string"},basePath:{type:"string"},schemes:{type:"array",items:{type:"string"}},consumes:{type:"array",items:{type:"string"}},produces:{type:"array",items:{type:"string"}},paths:"Paths",definitions:"NamedSchemas",parameters:"NamedParameters",responses:"NamedResponses",securityDefinitions:"NamedSecuritySchemes",security:"SecurityRequirementList",tags:"TagList",externalDocs:"ExternalDocs","x-servers":"XServerList","x-tagGroups":"TagGroups","x-ignoredHeaderParameters":{type:"array",items:{type:"string"}}},required:["swagger","paths","info"],extensionsPrefix:"x-"},Tag:{properties:{name:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs","x-traitTag":{type:"boolean"},"x-displayName":{type:"string"}},required:["name"],extensionsPrefix:"x-"},TagList:(0,r.listOf)("Tag"),TagGroups:(0,r.listOf)("TagGroup"),TagGroup:{properties:{name:{type:"string"},tags:{type:"array",items:{type:"string"}}}},ExternalDocs:{properties:{description:{type:"string"},url:{type:"string"}},required:["url"],extensionsPrefix:"x-"},Example:{properties:{value:{isExample:!0},summary:{type:"string"},description:{type:"string"},externalValue:{type:"string"}},extensionsPrefix:"x-"},ExamplesMap:(0,r.mapOf)("Example"),EnumDescriptions:{properties:{},additionalProperties:{type:"string"}},SecurityRequirement:{properties:{},additionalProperties:{type:"array",items:{type:"string"}}},SecurityRequirementList:(0,r.listOf)("SecurityRequirement"),Info:{properties:{title:{type:"string"},description:{type:"string"},termsOfService:{type:"string"},contact:"Contact",license:"License",version:{type:"string"},"x-logo":"Logo"},required:["title","version"],extensionsPrefix:"x-"},Contact:{properties:{name:{type:"string"},url:{type:"string"},email:{type:"string"}},extensionsPrefix:"x-"},License:{properties:{name:{type:"string"},url:{type:"string"}},required:["name"],extensionsPrefix:"x-"},Logo:{properties:{url:{type:"string"},altText:{type:"string"},backgroundColor:{type:"string"},href:{type:"string"}},extensionsPrefix:"x-"},Paths:{properties:{},additionalProperties:(e,t)=>t.startsWith("/")?"PathItem":void 0},PathItem:{properties:{$ref:{type:"string"},parameters:"ParameterList",get:"Operation",put:"Operation",post:"Operation",delete:"Operation",options:"Operation",head:"Operation",patch:"Operation"},extensionsPrefix:"x-"},Parameter:o,ParameterItems:a,ParameterList:(0,r.listOf)("Parameter"),Operation:{properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs",operationId:{type:"string"},consumes:{type:"array",items:{type:"string"}},produces:{type:"array",items:{type:"string"}},parameters:"ParameterList",responses:"Responses",schemes:{type:"array",items:{type:"string"}},deprecated:{type:"boolean"},security:"SecurityRequirementList","x-codeSamples":"XCodeSampleList","x-code-samples":"XCodeSampleList","x-hideTryItPanel":{type:"boolean"}},required:["responses"],extensionsPrefix:"x-"},Examples:{properties:{},additionalProperties:{isExample:!0}},Header:c,Responses:s,Response:l,Schema:u,Xml:{properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean"},wrapped:{type:"boolean"}},extensionsPrefix:"x-"},SchemaProperties:{properties:{},additionalProperties:"Schema"},NamedSchemas:(0,r.mapOf)("Schema"),NamedResponses:(0,r.mapOf)("Response"),NamedParameters:(0,r.mapOf)("Parameter"),NamedSecuritySchemes:(0,r.mapOf)("SecurityScheme"),SecurityScheme:p,XCodeSample:{properties:{lang:{type:"string"},label:{type:"string"},source:{type:"string"}}},XCodeSampleList:(0,r.listOf)("XCodeSample"),XServerList:(0,r.listOf)("XServer"),XServer:{properties:{url:{type:"string"},description:{type:"string"}},required:["url"]}}},4154:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Oas3Types=void 0;const r=n(1990),i=n(3873),o=/^[0-9][0-9Xx]{2}$/,a={properties:{default:"Response"},additionalProperties:(e,t)=>o.test(t)?"Response":void 0},s={properties:{externalDocs:"ExternalDocs",discriminator:"Discriminator",title:{type:"string"},multipleOf:{type:"number",minimum:0},maximum:{type:"number"},minimum:{type:"number"},exclusiveMaximum:{type:"boolean"},exclusiveMinimum:{type:"boolean"},maxLength:{type:"integer",minimum:0},minLength:{type:"integer",minimum:0},pattern:{type:"string"},maxItems:{type:"integer",minimum:0},minItems:{type:"integer",minimum:0},uniqueItems:{type:"boolean"},maxProperties:{type:"integer",minimum:0},minProperties:{type:"integer",minimum:0},required:{type:"array",items:{type:"string"}},enum:{type:"array"},type:{enum:["object","array","string","number","integer","boolean","null"]},allOf:(0,r.listOf)("Schema"),anyOf:(0,r.listOf)("Schema"),oneOf:(0,r.listOf)("Schema"),not:"Schema",properties:"SchemaProperties",items:e=>Array.isArray(e)?(0,r.listOf)("Schema"):"Schema",additionalItems:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",additionalProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",description:{type:"string"},format:{type:"string"},default:null,nullable:{type:"boolean"},readOnly:{type:"boolean"},writeOnly:{type:"boolean"},xml:"Xml",example:{isExample:!0},deprecated:{type:"boolean"},"x-tags":{type:"array",items:{type:"string"}},"x-additionalPropertiesName":{type:"string"},"x-explicitMappingOnly":{type:"boolean"}},extensionsPrefix:"x-"},l={properties:{},additionalProperties:e=>(0,i.isMappingRef)(e)?{type:"string",directResolveAs:"Schema"}:{type:"string"}},c={properties:{type:{enum:["apiKey","http","oauth2","openIdConnect"]},description:{type:"string"},name:{type:"string"},in:{type:"string",enum:["query","header","cookie"]},scheme:{type:"string"},bearerFormat:{type:"string"},flows:"OAuth2Flows",openIdConnectUrl:{type:"string"},"x-defaultClientId":{type:"string"}},required(e){switch(null==e?void 0:e.type){case"apiKey":return["type","name","in"];case"http":return["type","scheme"];case"oauth2":return["type","flows"];case"openIdConnect":return["type","openIdConnectUrl"];default:return["type"]}},allowed(e){switch(null==e?void 0:e.type){case"apiKey":return["type","name","in","description"];case"http":return["type","scheme","bearerFormat","description"];case"oauth2":return["type","flows","description"];case"openIdConnect":return["type","openIdConnectUrl","description"];default:return["type","description"]}},extensionsPrefix:"x-"};t.Oas3Types={Root:{properties:{openapi:null,info:"Info",servers:"ServerList",security:"SecurityRequirementList",tags:"TagList",externalDocs:"ExternalDocs",paths:"Paths",components:"Components","x-webhooks":"WebhooksMap","x-tagGroups":"TagGroups","x-ignoredHeaderParameters":{type:"array",items:{type:"string"}}},required:["openapi","paths","info"],extensionsPrefix:"x-"},Tag:{properties:{name:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs","x-traitTag":{type:"boolean"},"x-displayName":{type:"string"}},required:["name"],extensionsPrefix:"x-"},TagList:(0,r.listOf)("Tag"),TagGroups:(0,r.listOf)("TagGroup"),TagGroup:{properties:{name:{type:"string"},tags:{type:"array",items:{type:"string"}}},extensionsPrefix:"x-"},ExternalDocs:{properties:{description:{type:"string"},url:{type:"string"}},required:["url"],extensionsPrefix:"x-"},Server:{properties:{url:{type:"string"},description:{type:"string"},variables:"ServerVariablesMap"},required:["url"],extensionsPrefix:"x-"},ServerList:(0,r.listOf)("Server"),ServerVariable:{properties:{enum:{type:"array",items:{type:"string"}},default:{type:"string"},description:{type:"string"}},required:["default"],extensionsPrefix:"x-"},ServerVariablesMap:(0,r.mapOf)("ServerVariable"),SecurityRequirement:{properties:{},additionalProperties:{type:"array",items:{type:"string"}}},SecurityRequirementList:(0,r.listOf)("SecurityRequirement"),Info:{properties:{title:{type:"string"},version:{type:"string"},description:{type:"string"},termsOfService:{type:"string"},contact:"Contact",license:"License","x-logo":"Logo"},required:["title","version"],extensionsPrefix:"x-"},Contact:{properties:{name:{type:"string"},url:{type:"string"},email:{type:"string"}},extensionsPrefix:"x-"},License:{properties:{name:{type:"string"},url:{type:"string"}},required:["name"],extensionsPrefix:"x-"},Paths:{properties:{},additionalProperties:(e,t)=>t.startsWith("/")?"PathItem":void 0},PathItem:{properties:{$ref:{type:"string"},servers:"ServerList",parameters:"ParameterList",summary:{type:"string"},description:{type:"string"},get:"Operation",put:"Operation",post:"Operation",delete:"Operation",options:"Operation",head:"Operation",patch:"Operation",trace:"Operation"},extensionsPrefix:"x-"},Parameter:{properties:{name:{type:"string"},in:{enum:["query","header","path","cookie"]},description:{type:"string"},required:{type:"boolean"},deprecated:{type:"boolean"},allowEmptyValue:{type:"boolean"},style:{enum:["form","simple","label","matrix","spaceDelimited","pipeDelimited","deepObject"]},explode:{type:"boolean"},allowReserved:{type:"boolean"},schema:"Schema",example:{isExample:!0},examples:"ExamplesMap",content:"MediaTypesMap"},required:["name","in"],requiredOneOf:["schema","content"],extensionsPrefix:"x-"},ParameterList:(0,r.listOf)("Parameter"),Operation:{properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs",operationId:{type:"string"},parameters:"ParameterList",security:"SecurityRequirementList",servers:"ServerList",requestBody:"RequestBody",responses:"Responses",deprecated:{type:"boolean"},callbacks:"CallbacksMap","x-codeSamples":"XCodeSampleList","x-code-samples":"XCodeSampleList","x-hideTryItPanel":{type:"boolean"}},required:["responses"],extensionsPrefix:"x-"},Callback:(0,r.mapOf)("PathItem"),CallbacksMap:(0,r.mapOf)("Callback"),RequestBody:{properties:{description:{type:"string"},required:{type:"boolean"},content:"MediaTypesMap"},required:["content"],extensionsPrefix:"x-"},MediaTypesMap:{properties:{},additionalProperties:"MediaType"},MediaType:{properties:{schema:"Schema",example:{isExample:!0},examples:"ExamplesMap",encoding:"EncodingMap"},extensionsPrefix:"x-"},Example:{properties:{value:{isExample:!0},summary:{type:"string"},description:{type:"string"},externalValue:{type:"string"}},extensionsPrefix:"x-"},ExamplesMap:(0,r.mapOf)("Example"),Encoding:{properties:{contentType:{type:"string"},headers:"HeadersMap",style:{enum:["form","simple","label","matrix","spaceDelimited","pipeDelimited","deepObject"]},explode:{type:"boolean"},allowReserved:{type:"boolean"}},extensionsPrefix:"x-"},EncodingMap:(0,r.mapOf)("Encoding"),EnumDescriptions:{properties:{},additionalProperties:{type:"string"}},Header:{properties:{description:{type:"string"},required:{type:"boolean"},deprecated:{type:"boolean"},allowEmptyValue:{type:"boolean"},style:{enum:["form","simple","label","matrix","spaceDelimited","pipeDelimited","deepObject"]},explode:{type:"boolean"},allowReserved:{type:"boolean"},schema:"Schema",example:{isExample:!0},examples:"ExamplesMap",content:"MediaTypesMap"},requiredOneOf:["schema","content"],extensionsPrefix:"x-"},HeadersMap:(0,r.mapOf)("Header"),Responses:a,Response:{properties:{description:{type:"string"},headers:"HeadersMap",content:"MediaTypesMap",links:"LinksMap","x-summary":{type:"string"}},required:["description"],extensionsPrefix:"x-"},Link:{properties:{operationRef:{type:"string"},operationId:{type:"string"},parameters:null,requestBody:null,description:{type:"string"},server:"Server"},extensionsPrefix:"x-"},Logo:{properties:{url:{type:"string"},altText:{type:"string"},backgroundColor:{type:"string"},href:{type:"string"}}},Schema:s,Xml:{properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean"},wrapped:{type:"boolean"}},extensionsPrefix:"x-"},SchemaProperties:{properties:{},additionalProperties:"Schema"},DiscriminatorMapping:l,Discriminator:{properties:{propertyName:{type:"string"},mapping:"DiscriminatorMapping"},required:["propertyName"],extensionsPrefix:"x-"},Components:{properties:{parameters:"NamedParameters",schemas:"NamedSchemas",responses:"NamedResponses",examples:"NamedExamples",requestBodies:"NamedRequestBodies",headers:"NamedHeaders",securitySchemes:"NamedSecuritySchemes",links:"NamedLinks",callbacks:"NamedCallbacks"},extensionsPrefix:"x-"},LinksMap:(0,r.mapOf)("Link"),NamedSchemas:(0,r.mapOf)("Schema"),NamedResponses:(0,r.mapOf)("Response"),NamedParameters:(0,r.mapOf)("Parameter"),NamedExamples:(0,r.mapOf)("Example"),NamedRequestBodies:(0,r.mapOf)("RequestBody"),NamedHeaders:(0,r.mapOf)("Header"),NamedSecuritySchemes:(0,r.mapOf)("SecurityScheme"),NamedLinks:(0,r.mapOf)("Link"),NamedCallbacks:(0,r.mapOf)("Callback"),ImplicitFlow:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},authorizationUrl:{type:"string"}},required:["authorizationUrl","scopes"],extensionsPrefix:"x-"},PasswordFlow:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"}},required:["tokenUrl","scopes"],extensionsPrefix:"x-"},ClientCredentials:{properties:{refreshUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"}},required:["tokenUrl","scopes"],extensionsPrefix:"x-"},AuthorizationCode:{properties:{refreshUrl:{type:"string"},authorizationUrl:{type:"string"},scopes:{type:"object",additionalProperties:{type:"string"}},tokenUrl:{type:"string"},"x-usePkce":e=>"boolean"==typeof e?{type:"boolean"}:"XUsePkce"},required:["authorizationUrl","tokenUrl","scopes"],extensionsPrefix:"x-"},OAuth2Flows:{properties:{implicit:"ImplicitFlow",password:"PasswordFlow",clientCredentials:"ClientCredentials",authorizationCode:"AuthorizationCode"},extensionsPrefix:"x-"},SecurityScheme:c,XCodeSample:{properties:{lang:{type:"string"},label:{type:"string"},source:{type:"string"}}},XCodeSampleList:(0,r.listOf)("XCodeSample"),XUsePkce:{properties:{disableManualConfiguration:{type:"boolean"},hideClientSecretInput:{type:"boolean"}}},WebhooksMap:{properties:{},additionalProperties:()=>"PathItem"}}},2082:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Oas3_1Types=void 0;const r=n(1990),i=n(4154),o={properties:{$id:{type:"string"},$anchor:{type:"string"},id:{type:"string"},$schema:{type:"string"},definitions:"NamedSchemas",$defs:"NamedSchemas",$vocabulary:{type:"string"},externalDocs:"ExternalDocs",discriminator:"Discriminator",title:{type:"string"},multipleOf:{type:"number",minimum:0},maximum:{type:"number"},minimum:{type:"number"},exclusiveMaximum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{type:"integer",minimum:0},minLength:{type:"integer",minimum:0},pattern:{type:"string"},maxItems:{type:"integer",minimum:0},minItems:{type:"integer",minimum:0},uniqueItems:{type:"boolean"},maxProperties:{type:"integer",minimum:0},minProperties:{type:"integer",minimum:0},required:{type:"array",items:{type:"string"}},enum:{type:"array"},type:e=>Array.isArray(e)?{type:"array",items:{enum:["object","array","string","number","integer","boolean","null"]}}:{enum:["object","array","string","number","integer","boolean","null"]},allOf:(0,r.listOf)("Schema"),anyOf:(0,r.listOf)("Schema"),oneOf:(0,r.listOf)("Schema"),not:"Schema",if:"Schema",then:"Schema",else:"Schema",dependentSchemas:(0,r.listOf)("Schema"),prefixItems:(0,r.listOf)("Schema"),contains:"Schema",minContains:{type:"integer",minimum:0},maxContains:{type:"integer",minimum:0},patternProperties:{type:"object"},propertyNames:"Schema",unevaluatedItems:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",unevaluatedProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",summary:{type:"string"},properties:"SchemaProperties",items:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",additionalProperties:e=>"boolean"==typeof e?{type:"boolean"}:"Schema",description:{type:"string"},format:{type:"string"},contentEncoding:{type:"string"},contentMediaType:{type:"string"},default:null,readOnly:{type:"boolean"},writeOnly:{type:"boolean"},xml:"Xml",examples:{type:"array"},example:{isExample:!0},deprecated:{type:"boolean"},const:null,$comment:{type:"string"},"x-tags":{type:"array",items:{type:"string"}}},extensionsPrefix:"x-"},a={properties:{type:{enum:["apiKey","http","oauth2","openIdConnect","mutualTLS"]},description:{type:"string"},name:{type:"string"},in:{type:"string",enum:["query","header","cookie"]},scheme:{type:"string"},bearerFormat:{type:"string"},flows:"OAuth2Flows",openIdConnectUrl:{type:"string"}},required(e){switch(null==e?void 0:e.type){case"apiKey":return["type","name","in"];case"http":return["type","scheme"];case"oauth2":return["type","flows"];case"openIdConnect":return["type","openIdConnectUrl"];default:return["type"]}},allowed(e){switch(null==e?void 0:e.type){case"apiKey":return["type","name","in","description"];case"http":return["type","scheme","bearerFormat","description"];case"oauth2":switch(null==e?void 0:e.flows){case"implicit":return["type","flows","authorizationUrl","refreshUrl","description","scopes"];case"password":case"clientCredentials":return["type","flows","tokenUrl","refreshUrl","description","scopes"];default:return["type","flows","authorizationUrl","refreshUrl","tokenUrl","description","scopes"]}case"openIdConnect":return["type","openIdConnectUrl","description"];default:return["type","description"]}},extensionsPrefix:"x-"};t.Oas3_1Types=Object.assign(Object.assign({},i.Oas3Types),{Info:{properties:{title:{type:"string"},version:{type:"string"},description:{type:"string"},termsOfService:{type:"string"},summary:{type:"string"},contact:"Contact",license:"License","x-logo":"Logo"},required:["title","version"],extensionsPrefix:"x-"},Root:{properties:{openapi:null,info:"Info",servers:"ServerList",security:"SecurityRequirementList",tags:"TagList",externalDocs:"ExternalDocs",paths:"Paths",webhooks:"WebhooksMap",components:"Components",jsonSchemaDialect:{type:"string"}},required:["openapi","info"],requiredOneOf:["paths","components","webhooks"],extensionsPrefix:"x-"},Schema:o,License:{properties:{name:{type:"string"},url:{type:"string"},identifier:{type:"string"}},required:["name"],extensionsPrefix:"x-"},Components:{properties:{parameters:"NamedParameters",schemas:"NamedSchemas",responses:"NamedResponses",examples:"NamedExamples",requestBodies:"NamedRequestBodies",headers:"NamedHeaders",securitySchemes:"NamedSecuritySchemes",links:"NamedLinks",callbacks:"NamedCallbacks",pathItems:"NamedPathItems"},extensionsPrefix:"x-"},NamedPathItems:(0,r.mapOf)("PathItem"),SecurityScheme:a,Operation:{properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:"ExternalDocs",operationId:{type:"string"},parameters:"ParameterList",security:"SecurityRequirementList",servers:"ServerList",requestBody:"RequestBody",responses:"Responses",deprecated:{type:"boolean"},callbacks:"CallbacksMap","x-codeSamples":"XCodeSampleList","x-code-samples":"XCodeSampleList","x-hideTryItPanel":{type:"boolean"}},extensionsPrefix:"x-"}})},8209:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.pickDefined=t.keysOf=t.identity=t.isTruthy=t.showErrorForDeprecatedField=t.showWarningForDeprecatedField=t.doesYamlFileExist=t.isCustomRuleId=t.getMatchingStatusCodeRange=t.assignExisting=t.isNotString=t.isString=t.isNotEmptyObject=t.slash=t.isPathParameter=t.yamlAndJsonSyncReader=t.readFileAsStringSync=t.isSingular=t.validateMimeTypeOAS3=t.validateMimeType=t.splitCamelCaseIntoWords=t.omitObjectProps=t.pickObjectProps=t.readFileFromUrl=t.isEmptyArray=t.isEmptyObject=t.isPlainObject=t.isDefined=t.loadYaml=t.popStack=t.pushStack=t.stringifyYaml=t.parseYaml=void 0;const i=n(7411),o=n(7975),a=n(4536),s=n(8381),l=n(5127),c=n(970),u=n(1827),p=n(2678);var d=n(970);function f(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function h(e,t){return t.match(/^https?:\/\//)||(e=e.replace(/^https?:\/\//,"")),a(e,t)}function m(e){return"string"==typeof e}function g(e){return!!e}function y(e,t){return`${void 0!==t?`${t}.`:""}${e}`}Object.defineProperty(t,"parseYaml",{enumerable:!0,get:function(){return d.parseYaml}}),Object.defineProperty(t,"stringifyYaml",{enumerable:!0,get:function(){return d.stringifyYaml}}),t.pushStack=function(e,t){return{prev:e,value:t}},t.popStack=function(e){var t;return null!==(t=null==e?void 0:e.prev)&&void 0!==t?t:null},t.loadYaml=function(e){return r(this,void 0,void 0,(function*(){const t=yield i.promises.readFile(e,"utf-8");return(0,c.parseYaml)(t)}))},t.isDefined=function(e){return void 0!==e},t.isPlainObject=f,t.isEmptyObject=function(e){return f(e)&&0===Object.keys(e).length},t.isEmptyArray=function(e){return Array.isArray(e)&&0===e.length},t.readFileFromUrl=function(e,t){return r(this,void 0,void 0,(function*(){const n={};for(const r of t.headers)h(e,r.matches)&&(n[r.name]=void 0!==r.envVariable?u.env[r.envVariable]||"":r.value);const r=yield(t.customFetch||s.default)(e,{headers:n});if(!r.ok)throw new Error(`Failed to load ${e}: ${r.status} ${r.statusText}`);return{body:yield r.text(),mimeType:r.headers.get("content-type")}}))},t.pickObjectProps=function(e,t){return Object.fromEntries(t.filter((t=>t in e)).map((t=>[t,e[t]])))},t.omitObjectProps=function(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e))))},t.splitCamelCaseIntoWords=function(e){const t=e.split(/(?:[-._])|([A-Z][a-z]+)/).filter(g).map((e=>e.toLocaleLowerCase())),n=e.split(/([A-Z]{2,})/).filter((e=>e&&e===e.toUpperCase())).map((e=>e.toLocaleLowerCase()));return new Set([...t,...n])},t.validateMimeType=function({type:e,value:t},{report:n,location:r},i){if(!i)throw new Error(`Parameter "allowedValues" is not provided for "${"consumes"===e?"request":"response"}-mime-type" rule`);if(t[e])for(const o of t[e])i.includes(o)||n({message:`Mime type "${o}" is not allowed`,location:r.child(t[e].indexOf(o)).key()})},t.validateMimeTypeOAS3=function({type:e,value:t},{report:n,location:r},i){if(!i)throw new Error(`Parameter "allowedValues" is not provided for "${"consumes"===e?"request":"response"}-mime-type" rule`);if(t.content)for(const e of Object.keys(t.content))i.includes(e)||n({message:`Mime type "${e}" is not allowed`,location:r.child("content").child(e).key()})},t.isSingular=function(e){return l.isSingular(e)},t.readFileAsStringSync=function(e){return i.readFileSync(e,"utf-8")},t.yamlAndJsonSyncReader=function(e){const t=i.readFileSync(e,"utf-8");return(0,c.parseYaml)(t)},t.isPathParameter=function(e){return e.startsWith("{")&&e.endsWith("}")},t.slash=function(e){return/^\\\\\?\\/.test(e)?e:e.replace(/\\/g,"/")},t.isNotEmptyObject=function(e){return!!e&&Object.keys(e).length>0},t.isString=m,t.isNotString=function(e){return!m(e)},t.assignExisting=function(e,t){for(const n of Object.keys(t))e.hasOwnProperty(n)&&(e[n]=t[n])},t.getMatchingStatusCodeRange=function(e){return`${e}`.replace(/^(\d)\d\d$/,((e,t)=>`${t}XX`))},t.isCustomRuleId=function(e){return e.includes("/")},t.doesYamlFileExist=function(e){return(".yaml"===(0,o.extname)(e)||".yml"===(0,o.extname)(e))&&i.hasOwnProperty("existsSync")&&i.existsSync(e)},t.showWarningForDeprecatedField=function(e,t,n){p.logger.warn(`The '${p.colorize.red(e)}' field is deprecated. ${t?`Use ${p.colorize.green(y(t,n))} instead. `:""}Read more about this change: https://redocly.com/docs/api-registry/guides/migration-guide-config-file/#changed-properties\n`)},t.showErrorForDeprecatedField=function(e,t,n){throw new Error(`Do not use '${e}' field. ${t?`Use '${y(t,n)}' instead. `:""}\n`)},t.isTruthy=g,t.identity=function(e){return e},t.keysOf=function(e){return e?Object.keys(e):[]},t.pickDefined=function(e){if(!e)return;const t={};for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t},t.nextTick=function(){new Promise((e=>{setTimeout(e)}))}},2161:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalizeVisitors=void 0;const r=n(1990),i={Root:"DefinitionRoot",ServerVariablesMap:"ServerVariableMap",Paths:["PathMap","PathsMap"],CallbacksMap:"CallbackMap",MediaTypesMap:"MediaTypeMap",ExamplesMap:"ExampleMap",EncodingMap:"EncodingsMap",HeadersMap:"HeaderMap",LinksMap:"LinkMap",OAuth2Flows:"SecuritySchemeFlows",Responses:"ResponsesMap"};t.normalizeVisitors=function(e,t){const n={any:{enter:[],leave:[]}};for(const e of Object.keys(t))n[e]={enter:[],leave:[]};n.ref={enter:[],leave:[]};for(const{ruleId:t,severity:n,visitor:r}of e)s({ruleId:t,severity:n},r,null);for(const e of Object.keys(n))n[e].enter.sort(((e,t)=>t.depth-e.depth)),n[e].leave.sort(((e,t)=>e.depth-t.depth));return n;function o(e,t,i,a,s=[]){if(s.includes(t))return;s=[...s,t];const l=new Set;for(const n of Object.values(t.properties))n!==i?"object"==typeof n&&null!==n&&n.name&&l.add(n):c(e,s);t.additionalProperties&&"function"!=typeof t.additionalProperties&&(t.additionalProperties===i?c(e,s):void 0!==t.additionalProperties.name&&l.add(t.additionalProperties)),t.items&&(t.items===i?c(e,s):void 0!==t.items.name&&l.add(t.items)),t.extensionsPrefix&&l.add(r.SpecExtension);for(const t of Array.from(l.values()))o(e,t,i,a,s);function c(e,t){for(const r of t.slice(1))n[r.name]=n[r.name]||{enter:[],leave:[]},n[r.name].enter.push(Object.assign(Object.assign({},e),{visit:()=>{},depth:0,context:{isSkippedLevel:!0,seen:new Set,parent:a}}))}}function a(e,t){if(Array.isArray(t)){const n=t.find((t=>e[t]))||void 0;return n&&e[n]}return e[t]}function s(e,r,l,c=0){const u=Object.keys(t);if(0===c)u.push("any"),u.push("ref");else{if(r.any)throw new Error("any() is allowed only on top level");if(r.ref)throw new Error("ref() is allowed only on top level")}for(const p of u){const u=r[p]||a(r,i[p]),d=n[p];if(!u)continue;let f,h,m;const g="object"==typeof u;if("ref"===p&&g&&u.skip)throw new Error("ref() visitor does not support skip");"function"==typeof u?f=u:g&&(f=u.enter,h=u.leave,m=u.skip);const y={activatedOn:null,type:t[p],parent:l,isSkippedLevel:!1};if("object"==typeof u&&s(e,u,y,c+1),l&&o(e,l.type,t[p],l),f||g){if(f&&"function"!=typeof f)throw new Error("DEV: should be function");d.enter.push(Object.assign(Object.assign({},e),{visit:f||(()=>{}),skip:m,depth:c,context:y}))}if(h){if("function"!=typeof h)throw new Error("DEV: should be function");d.leave.push(Object.assign(Object.assign({},e),{visit:h,depth:c,context:y}))}}}}},5735:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.walkDocument=void 0;const r=n(3873),i=n(8209),o=n(2928),a=n(1990);function s(e){var t,n;const r={};for(;e.parent;)(null===(t=e.parent.activatedOn)||void 0===t?void 0:t.value.location)&&(r[e.parent.type.name]=null===(n=e.parent.activatedOn)||void 0===n?void 0:n.value.location),e=e.parent;return r}t.walkDocument=function(e){const{document:t,rootType:n,normalizedVisitors:l,resolvedRefMap:c,ctx:u}=e,p={},d=new Set;!function e(t,n,f,h,m){var g,y,b,v,x,w,k,S,E,O,_;const A=(e,t=C.source.absoluteRef)=>{if(!(0,r.isRef)(e))return{location:f,node:e};const n=(0,o.makeRefId)(t,e.$ref),i=c.get(n);if(!i)return{location:void 0,node:void 0};const{resolved:a,node:s,document:l,nodePointer:u,error:p}=i;return{location:a?new r.Location(l.source,u):p instanceof o.YamlParseError?new r.Location(p.source,""):void 0,node:s,error:p}},j=f;let C=f;const{node:P,location:T,error:I}=A(t),R=new Set;if((0,r.isRef)(t)){const e=l.ref.enter;for(const{visit:r,ruleId:i,severity:o,context:a}of e)R.add(a),r(t,{report:$.bind(void 0,i,o),resolve:A,rawNode:t,rawLocation:j,location:f,type:n,parent:h,key:m,parentLocations:{},oasVersion:u.oasVersion,getVisitorData:L.bind(void 0,i)},{node:P,location:T,error:I}),(null==T?void 0:T.source.absoluteRef)&&u.refTypes&&u.refTypes.set(null==T?void 0:T.source.absoluteRef,n)}if(void 0!==P&&T&&"scalar"!==n.name){C=T;const o=null===(y=null===(g=p[n.name])||void 0===g?void 0:g.has)||void 0===y?void 0:y.call(g,P);let s=!1;const c=l.any.enter.concat((null===(b=l[n.name])||void 0===b?void 0:b.enter)||[]),u=[];for(const{context:e,visit:r,skip:a,ruleId:l,severity:p}of c){if(d.has(C.pointer))break;if(e.isSkippedLevel)!e.parent.activatedOn||e.parent.activatedOn.value.nextLevelTypeActivated||e.seen.has(t)||(e.seen.add(t),s=!0,u.push(e));else if(e.parent&&e.parent.activatedOn&&(null===(v=e.activatedOn)||void 0===v?void 0:v.value.withParentNode)!==e.parent.activatedOn.value.node&&(null===(x=e.parent.activatedOn.value.nextLevelTypeActivated)||void 0===x?void 0:x.value)!==n||!e.parent&&!o){u.push(e);const o={node:P,location:T,nextLevelTypeActivated:null,withParentNode:null===(k=null===(w=e.parent)||void 0===w?void 0:w.activatedOn)||void 0===k?void 0:k.value.node,skipped:null!==(O=(null===(E=null===(S=e.parent)||void 0===S?void 0:S.activatedOn)||void 0===E?void 0:E.value.skipped)||(null==a?void 0:a(P,m,{location:f,rawLocation:j,resolve:A,rawNode:t})))&&void 0!==O&&O};e.activatedOn=(0,i.pushStack)(e.activatedOn,o);let c=e.parent;for(;c;)c.activatedOn.value.nextLevelTypeActivated=(0,i.pushStack)(c.activatedOn.value.nextLevelTypeActivated,n),c=c.parent;o.skipped||(s=!0,R.add(e),N(r,P,t,e,l,p))}}if(s||!o)if(p[n.name]=p[n.name]||new Set,p[n.name].add(P),Array.isArray(P)){const t=n.items;if(void 0!==t)for(let n=0;n!i.includes(e)))):n.extensionsPrefix&&i.push(...Object.keys(P).filter((e=>e.startsWith(n.extensionsPrefix)))),(0,r.isRef)(t)&&i.push(...Object.keys(t).filter((e=>"$ref"!==e&&!i.includes(e))));for(const o of i){let i=P[o],s=T;void 0===i&&(i=t[o],s=f);let l=n.properties[o];void 0===l&&(l=n.additionalProperties),"function"==typeof l&&(l=l(i,o)),void 0===l&&n.extensionsPrefix&&o.startsWith(n.extensionsPrefix)&&(l=a.SpecExtension),!(0,a.isNamedType)(l)&&(null==l?void 0:l.directResolveAs)&&(l=l.directResolveAs,i={$ref:i}),l&&void 0===l.name&&!1!==l.resolvable&&(l={name:"scalar",properties:{}}),(0,a.isNamedType)(l)&&("scalar"!==l.name||(0,r.isRef)(i))&&e(i,l,s.child([o]),P,o)}}const h=l.any.leave,I=((null===(_=l[n.name])||void 0===_?void 0:_.leave)||[]).concat(h);for(const e of u.reverse())if(e.isSkippedLevel)e.seen.delete(P);else if(e.activatedOn=(0,i.popStack)(e.activatedOn),e.parent){let t=e.parent;for(;t;)t.activatedOn.value.nextLevelTypeActivated=(0,i.popStack)(t.activatedOn.value.nextLevelTypeActivated),t=t.parent}for(const{context:e,visit:n,ruleId:r,severity:i}of I)!e.isSkippedLevel&&R.has(e)&&N(n,P,t,e,r,i)}if(C=f,(0,r.isRef)(t)){const e=l.ref.leave;for(const{visit:r,ruleId:i,severity:o,context:a}of e)R.has(a)&&r(t,{report:$.bind(void 0,i,o),resolve:A,rawNode:t,rawLocation:j,location:f,type:n,parent:h,key:m,parentLocations:{},oasVersion:u.oasVersion,getVisitorData:L.bind(void 0,i)},{node:P,location:T,error:I})}function N(e,t,r,i,o,a){e(t,{report:$.bind(void 0,o,a),resolve:A,rawNode:r,location:C,rawLocation:j,type:n,parent:h,key:m,parentLocations:s(i),oasVersion:u.oasVersion,ignoreNextVisitorsOnNode:()=>{d.add(C.pointer)},getVisitorData:L.bind(void 0,o)},function(e){var t;const n={};for(;e.parent;)n[e.parent.type.name]=null===(t=e.parent.activatedOn)||void 0===t?void 0:t.value.node,e=e.parent;return n}(i),i)}function $(e,t,n){const r=(n.location?Array.isArray(n.location)?n.location:[n.location]:[Object.assign(Object.assign({},C),{reportOnKey:!1})]).map((e=>Object.assign(Object.assign(Object.assign({},C),{reportOnKey:!1}),e))),i=n.forceSeverity||t;"off"!==i&&u.problems.push(Object.assign(Object.assign({ruleId:n.ruleId||e,severity:i},n),{suggest:n.suggest||[],location:r}))}function L(e){return u.visitorsData[e]=u.visitorsData[e]||{},u.visitorsData[e]}}(t.parsed,n,new r.Location(t.source,"#/"),void 0,"")}},1431:function(e,t,n){var r=n(8505);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),g(function(e){return e.split("\\\\").join(i).split("\\{").join(o).split("\\}").join(a).split("\\,").join(s).split("\\.").join(l)}(e),!0).map(u)):[]};var i="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",s="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function c(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function u(e){return e.split(i).join("\\").split(o).join("{").split(a).join("}").split(s).join(",").split(l).join(".")}function p(e){if(!e)return[""];var t=[],n=r("{","}",e);if(!n)return e.split(",");var i=n.pre,o=n.body,a=n.post,s=i.split(",");s[s.length-1]+="{"+o+"}";var l=p(a);return a.length&&(s[s.length-1]+=l.shift(),s.push.apply(s,l)),t.push.apply(t,s),t}function d(e){return"{"+e+"}"}function f(e){return/^-?0\d/.test(e)}function h(e,t){return e<=t}function m(e,t){return e>=t}function g(e,t){var n=[],i=r("{","}",e);if(!i)return[e];var o=i.pre,s=i.post.length?g(i.post,!1):[""];if(/\$$/.test(i.pre))for(var l=0;l=0;if(!w&&!k)return i.post.match(/,(?!,).*\}/)?g(e=i.pre+"{"+i.body+a+i.post):[e];if(w)y=i.body.split(/\.\./);else if(1===(y=p(i.body)).length&&1===(y=g(y[0],!1).map(d)).length)return s.map((function(e){return i.pre+y[0]+e}));if(w){var S=c(y[0]),E=c(y[1]),O=Math.max(y[0].length,y[1].length),_=3==y.length?Math.abs(c(y[2])):1,A=h;E0){var I=new Array(T+1).join("0");P=C<0?"-"+I+P.slice(1):I+P}}b.push(P)}}else{b=[];for(var R=0;R(g(t),!(!n.nocomment&&"#"===t.charAt(0))&&new v(t,n).match(e));e.exports=r;const i=n(4077);r.sep=i.sep;const o=Symbol("globstar **");r.GLOBSTAR=o;const a=n(1431),s={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},l="[^/]",c=l+"*?",u=e=>e.split("").reduce(((e,t)=>(e[t]=!0,e)),{}),p=u("().*{}+?[]^$\\!"),d=u("[.("),f=/\/+/;r.filter=(e,t={})=>(n,i,o)=>r(n,e,t);const h=(e,t={})=>{const n={};return Object.keys(e).forEach((t=>n[t]=e[t])),Object.keys(t).forEach((e=>n[e]=t[e])),n};r.defaults=e=>{if(!e||"object"!=typeof e||!Object.keys(e).length)return r;const t=r,n=(n,r,i)=>t(n,r,h(e,i));return(n.Minimatch=class extends t.Minimatch{constructor(t,n){super(t,h(e,n))}}).defaults=n=>t.defaults(h(e,n)).Minimatch,n.filter=(n,r)=>t.filter(n,h(e,r)),n.defaults=n=>t.defaults(h(e,n)),n.makeRe=(n,r)=>t.makeRe(n,h(e,r)),n.braceExpand=(n,r)=>t.braceExpand(n,h(e,r)),n.match=(n,r,i)=>t.match(n,r,h(e,i)),n},r.braceExpand=(e,t)=>m(e,t);const m=(e,t={})=>(g(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:a(e)),g=e=>{if("string"!=typeof e)throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")},y=Symbol("subparse");r.makeRe=(e,t)=>new v(e,t||{}).makeRe(),r.match=(e,t,n={})=>{const r=new v(t,n);return e=e.filter((e=>r.match(e))),r.options.nonull&&!e.length&&e.push(t),e};const b=e=>e.replace(/[[\]\\]/g,"\\$&");class v{constructor(e,t){g(e),t||(t={}),this.options=t,this.set=[],this.pattern=e,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}debug(){}make(){const e=this.pattern,t=this.options;if(!t.nocomment&&"#"===e.charAt(0))return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate();let n=this.globSet=this.braceExpand();t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,n),n=this.globParts=n.map((e=>e.split(f))),this.debug(this.pattern,n),n=n.map(((e,t,n)=>e.map(this.parse,this))),this.debug(this.pattern,n),n=n.filter((e=>-1===e.indexOf(!1))),this.debug(this.pattern,n),this.set=n}parseNegate(){if(this.options.nonegate)return;const e=this.pattern;let t=!1,n=0;for(let r=0;r>> no match, partial?",e,d,t,f),d!==s))}if("string"==typeof u?(c=p===u,this.debug("string match",u,p,c)):(c=p.match(u),this.debug("pattern match",u,p,c)),!c)return!1}if(i===s&&a===l)return!0;if(i===s)return n;if(a===l)return i===s-1&&""===e[i];throw new Error("wtf?")}braceExpand(){return m(this.pattern,this.options)}parse(e,t){g(e);const n=this.options;if("**"===e){if(!n.noglobstar)return o;e="*"}if(""===e)return"";let r="",i=!1,a=!1;const u=[],f=[];let h,m,v,x,w=!1,k=-1,S=-1,E="."===e.charAt(0),O=n.dot||E;const _=e=>"."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",A=()=>{if(h){switch(h){case"*":r+=c,i=!0;break;case"?":r+=l,i=!0;break;default:r+="\\"+h}this.debug("clearStateChar %j %j",h,r),h=!1}};for(let t,o=0;o(n||(n="\\"),t+t+n+"|"))),this.debug("tail=%j\n %s",e,e,v,r);const t="*"===v.type?c:"?"===v.type?l:"\\"+v.type;i=!0,r=r.slice(0,v.reStart)+t+"\\("+e}A(),a&&(r+="\\\\");const j=d[r.charAt(0)];for(let e=f.length-1;e>-1;e--){const n=f[e],i=r.slice(0,n.reStart),o=r.slice(n.reStart,n.reEnd-8);let a=r.slice(n.reEnd);const s=r.slice(n.reEnd-8,n.reEnd)+a,l=i.split(")").length,c=i.split("(").length-l;let u=a;for(let e=0;ee.replace(/\\(.)/g,"$1"))(e);const C=n.nocase?"i":"";try{return Object.assign(new RegExp("^"+r+"$",C),{_glob:e,_src:r})}catch(e){return new RegExp("$.")}}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const e=this.set;if(!e.length)return this.regexp=!1,this.regexp;const t=this.options,n=t.noglobstar?c:t.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",r=t.nocase?"i":"";let i=e.map((e=>(e=e.map((e=>"string"==typeof e?e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):e===o?o:e._src)).reduce(((e,t)=>(e[e.length-1]===o&&t===o||e.push(t),e)),[]),e.forEach(((t,r)=>{t===o&&e[r-1]!==o&&(0===r?e.length>1?e[r+1]="(?:\\/|"+n+"\\/)?"+e[r+1]:e[r]=n:r===e.length-1?e[r-1]+="(?:\\/|"+n+")?":(e[r-1]+="(?:\\/|\\/"+n+"\\/)"+e[r+1],e[r+1]=o))})),e.filter((e=>e!==o)).join("/")))).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,r)}catch(e){this.regexp=!1}return this.regexp}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return""===e;if("/"===e&&t)return!0;const n=this.options;"/"!==i.sep&&(e=e.split(i.sep).join("/")),e=e.split(f),this.debug(this.pattern,"split",e);const r=this.set;let o;this.debug(this.pattern,"set",r);for(let t=e.length-1;t>=0&&(o=e[t],!o);t--);for(let i=0;i=0&&c>0){if(e===t)return[l,c];for(r=[],o=n.length;u>=0&&!s;)u==l?(r.push(u),l=n.indexOf(e,u+1)):1==r.length?s=[r.pop(),c]:((i=r.pop())=0?l:c;r.length&&(s=[o,a])}return s}e.exports=t,t.range=r},3998:function(e,t,n){"use strict";var r=n(1137);e.exports=function(e,t){return e?void t.then((function(t){r((function(){e(null,t)}))}),(function(t){r((function(){e(t)}))})):t}},1137:function(e){"use strict";e.exports="object"==typeof process&&"function"==typeof process.nextTick?process.nextTick:"function"==typeof setImmediate?setImmediate:function(e){setTimeout(e,0)}},2485:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;tu;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},1344:function(e,t,n){var r=n(6885),i=n(8664),o=n(2612),a=n(3747),s=n(2998),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,u=4==e,p=6==e,d=7==e,f=5==e||p;return function(h,m,g,y){for(var b,v,x=o(h),w=i(x),k=r(m,g,3),S=a(w.length),E=0,O=y||s,_=t?O(h,S):n||d?O(h,0):void 0;S>E;E++)if((f||E in w)&&(v=k(b=w[E],E,x),e))if(t)_[E]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return E;case 2:l.call(_,b)}else switch(e){case 4:return!1;case 7:l.call(_,b)}return p?-1:c||u?u:_}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterOut:c(7)}},5634:function(e,t,n){var r=n(2074),i=n(1602),o=n(6845),a=i("species");e.exports=function(e){return o>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},2998:function(e,t,n){var r=n(5335),i=n(8679),o=n(1602)("species");e.exports=function(e,t){var n;return i(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},8569:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},3062:function(e,t,n){var r=n(3129),i=n(8569),o=n(1602)("toStringTag"),a="Arguments"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:a?i(t):"Object"==(r=i(t))&&"function"==typeof t.callee?"Arguments":r}},4361:function(e,t,n){var r=n(1883),i=n(5816),o=n(7632),a=n(3610);e.exports=function(e,t){for(var n=i(t),s=a.f,l=o.f,c=0;c=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),e.exports=i&&+i},290:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},1605:function(e,t,n){var r=n(200),i=n(7632).f,o=n(7712),a=n(7485),s=n(5975),l=n(4361),c=n(4977);e.exports=function(e,t){var n,u,p,d,f,h=e.target,m=e.global,g=e.stat;if(n=m?r:g?r[h]||s(h,{}):(r[h]||{}).prototype)for(u in t){if(d=t[u],p=e.noTargetGet?(f=i(n,u))&&f.value:n[u],!c(m?u:h+(g?".":"#")+u,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;l(d,p)}(e.sham||p&&p.sham)&&o(d,"sham",!0),a(n,u,d,e)}}},2074:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},6885:function(e,t,n){var r=n(9085);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},6492:function(e,t,n){var r=n(9720),i=n(200),o=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(i[e]):r[e]&&r[e][t]||i[e]&&i[e][t]}},200:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},1883:function(e,t,n){var r=n(2612),i={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return i.call(r(e),t)}},7708:function(e){e.exports={}},8890:function(e,t,n){var r=n(6492);e.exports=r("document","documentElement")},7694:function(e,t,n){var r=n(5077),i=n(2074),o=n(3262);e.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8664:function(e,t,n){var r=n(2074),i=n(8569),o="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},9965:function(e,t,n){var r=n(9310),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),e.exports=r.inspectSource},9206:function(e,t,n){var r,i,o,a=n(2886),s=n(200),l=n(5335),c=n(7712),u=n(1883),p=n(9310),d=n(5904),f=n(7708),h="Object already initialized",m=s.WeakMap;if(a||p.state){var g=p.state||(p.state=new m),y=g.get,b=g.has,v=g.set;r=function(e,t){if(b.call(g,e))throw new TypeError(h);return t.facade=e,v.call(g,e,t),t},i=function(e){return y.call(g,e)||{}},o=function(e){return b.call(g,e)}}else{var x=d("state");f[x]=!0,r=function(e,t){if(u(e,x))throw new TypeError(h);return t.facade=e,c(e,x,t),t},i=function(e){return u(e,x)?e[x]:{}},o=function(e){return u(e,x)}}e.exports={set:r,get:i,has:o,enforce:function(e){return o(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},8679:function(e,t,n){var r=n(8569);e.exports=Array.isArray||function(e){return"Array"==r(e)}},4977:function(e,t,n){var r=n(2074),i=/#|\.prototype\./,o=function(e,t){var n=s[a(e)];return n==c||n!=l&&("function"==typeof t?r(t):!!t)},a=o.normalize=function(e){return String(e).replace(i,".").toLowerCase()},s=o.data={},l=o.NATIVE="N",c=o.POLYFILL="P";e.exports=o},5335:function(e){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},6926:function(e){e.exports=!1},1849:function(e,t,n){var r=n(6845),i=n(2074);e.exports=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},2886:function(e,t,n){var r=n(200),i=n(9965),o=r.WeakMap;e.exports="function"==typeof o&&/native code/.test(i(o))},3105:function(e,t,n){var r,i=n(3938),o=n(5318),a=n(290),s=n(7708),l=n(8890),c=n(3262),u=n(5904),p="prototype",d="script",f=u("IE_PROTO"),h=function(){},m=function(e){return"<"+d+">"+e+""},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t,n;g=r?function(e){e.write(m("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):(t=c("iframe"),n="java"+d+":",t.style.display="none",l.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(m("document.F=Object")),e.close(),e.F);for(var i=a.length;i--;)delete g[p][a[i]];return g()};s[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(h[p]=i(e),n=new h,h[p]=null,n[f]=e):n=g(),void 0===t?n:o(n,t)}},5318:function(e,t,n){var r=n(5077),i=n(3610),o=n(3938),a=n(1641);e.exports=r?Object.defineProperties:function(e,t){o(e);for(var n,r=a(t),s=r.length,l=0;s>l;)i.f(e,n=r[l++],t[n]);return e}},3610:function(e,t,n){var r=n(5077),i=n(7694),o=n(3938),a=n(874),s=Object.defineProperty;t.f=r?s:function(e,t,n){if(o(e),t=a(t,!0),o(n),i)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},7632:function(e,t,n){var r=n(5077),i=n(9304),o=n(6843),a=n(5476),s=n(874),l=n(1883),c=n(7694),u=Object.getOwnPropertyDescriptor;t.f=r?u:function(e,t){if(e=a(e),t=s(t,!0),c)try{return u(e,t)}catch(e){}if(l(e,t))return o(!i.f.call(e,t),e[t])}},6509:function(e,t,n){var r=n(5476),i=n(4789).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?function(e){try{return i(e)}catch(e){return a.slice()}}(e):i(r(e))}},4789:function(e,t,n){var r=n(6347),i=n(290).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},8916:function(e,t){t.f=Object.getOwnPropertySymbols},6347:function(e,t,n){var r=n(1883),i=n(5476),o=n(8186).indexOf,a=n(7708);e.exports=function(e,t){var n,s=i(e),l=0,c=[];for(n in s)!r(a,n)&&r(s,n)&&c.push(n);for(;t.length>l;)r(s,n=t[l++])&&(~o(c,n)||c.push(n));return c}},1641:function(e,t,n){var r=n(6347),i=n(290);e.exports=Object.keys||function(e){return r(e,i)}},9304:function(e,t){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);t.f=i?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},4972:function(e,t,n){"use strict";var r=n(3129),i=n(3062);e.exports=r?{}.toString:function(){return"[object "+i(this)+"]"}},5816:function(e,t,n){var r=n(6492),i=n(4789),o=n(8916),a=n(3938);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(a(e)),n=o.f;return n?t.concat(n(e)):t}},9720:function(e,t,n){var r=n(200);e.exports=r},7485:function(e,t,n){var r=n(200),i=n(7712),o=n(1883),a=n(5975),s=n(9965),l=n(9206),c=l.get,u=l.enforce,p=String(String).split("String");(e.exports=function(e,t,n,s){var l,c=!!s&&!!s.unsafe,d=!!s&&!!s.enumerable,f=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof t||o(n,"name")||i(n,"name",t),(l=u(n)).source||(l.source=p.join("string"==typeof t?t:""))),e!==r?(c?!f&&e[t]&&(d=!0):delete e[t],d?e[t]=n:i(e,t,n)):d?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||s(this)}))},1229:function(e){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},5975:function(e,t,n){var r=n(200),i=n(7712);e.exports=function(e,t){try{i(r,e,t)}catch(n){r[e]=t}return t}},5282:function(e,t,n){var r=n(3610).f,i=n(1883),o=n(1602)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},5904:function(e,t,n){var r=n(2),i=n(665),o=r("keys");e.exports=function(e){return o[e]||(o[e]=i(e))}},9310:function(e,t,n){var r=n(200),i=n(5975),o="__core-js_shared__",a=r[o]||i(o,{});e.exports=a},2:function(e,t,n){var r=n(6926),i=n(9310);(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},6539:function(e,t,n){var r=n(7317),i=Math.max,o=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},5476:function(e,t,n){var r=n(8664),i=n(1229);e.exports=function(e){return r(i(e))}},7317:function(e){var t=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:t)(e)}},3747:function(e,t,n){var r=n(7317),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},2612:function(e,t,n){var r=n(1229);e.exports=function(e){return Object(r(e))}},874:function(e,t,n){var r=n(5335);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},3129:function(e,t,n){var r={};r[n(1602)("toStringTag")]="z",e.exports="[object z]"===String(r)},665:function(e){var t=0,n=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+n).toString(36)}},5225:function(e,t,n){var r=n(1849);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},802:function(e,t,n){var r=n(1602);t.f=r},1602:function(e,t,n){var r=n(200),i=n(2),o=n(1883),a=n(665),s=n(1849),l=n(5225),c=i("wks"),u=r.Symbol,p=l?u:u&&u.withoutSetter||a;e.exports=function(e){return o(c,e)&&(s||"string"==typeof c[e])||(s&&o(u,e)?c[e]=u[e]:c[e]=p("Symbol."+e)),c[e]}},115:function(e,t,n){"use strict";var r=n(1605),i=n(2074),o=n(8679),a=n(5335),s=n(2612),l=n(3747),c=n(2057),u=n(2998),p=n(5634),d=n(1602),f=n(6845),h=d("isConcatSpreadable"),m=9007199254740991,g="Maximum allowed index exceeded",y=f>=51||!i((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),b=p("concat"),v=function(e){if(!a(e))return!1;var t=e[h];return void 0!==t?!!t:o(e)};r({target:"Array",proto:!0,forced:!y||!b},{concat:function(e){var t,n,r,i,o,a=s(this),p=u(a,0),d=0;for(t=-1,r=arguments.length;tm)throw TypeError(g);for(n=0;n=m)throw TypeError(g);c(p,d++,o)}return p.length=d,p}})},1586:function(e,t,n){var r=n(200);n(5282)(r.JSON,"JSON",!0)},6982:function(e,t,n){n(5282)(Math,"Math",!0)},5086:function(e,t,n){var r=n(3129),i=n(7485),o=n(4972);r||i(Object.prototype,"toString",o,{unsafe:!0})},3719:function(e,t,n){var r=n(1605),i=n(200),o=n(5282);r({global:!0},{Reflect:{}}),o(i.Reflect,"Reflect",!0)},7727:function(e,t,n){n(1272)("asyncIterator")},590:function(e,t,n){"use strict";var r=n(1605),i=n(5077),o=n(200),a=n(1883),s=n(5335),l=n(3610).f,c=n(4361),u=o.Symbol;if(i&&"function"==typeof u&&(!("description"in u.prototype)||void 0!==u().description)){var p={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new u(e):void 0===e?u():u(e);return""===e&&(p[t]=!0),t};c(d,u);var f=d.prototype=u.prototype;f.constructor=d;var h=f.toString,m="Symbol(test)"==String(u("test")),g=/^Symbol\((.*)\)[^)]+$/;l(f,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=h.call(e);if(a(p,e))return"";var n=m?t.slice(7,-1):t.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},8290:function(e,t,n){n(1272)("hasInstance")},2619:function(e,t,n){n(1272)("isConcatSpreadable")},4216:function(e,t,n){n(1272)("iterator")},3534:function(e,t,n){"use strict";var r=n(1605),i=n(200),o=n(6492),a=n(6926),s=n(5077),l=n(1849),c=n(5225),u=n(2074),p=n(1883),d=n(8679),f=n(5335),h=n(3938),m=n(2612),g=n(5476),y=n(874),b=n(6843),v=n(3105),x=n(1641),w=n(4789),k=n(6509),S=n(8916),E=n(7632),O=n(3610),_=n(9304),A=n(7712),j=n(7485),C=n(2),P=n(5904),T=n(7708),I=n(665),R=n(1602),N=n(802),$=n(1272),L=n(5282),D=n(9206),M=n(1344).forEach,z=P("hidden"),F="Symbol",U="prototype",B=R("toPrimitive"),q=D.set,V=D.getterFor(F),W=Object[U],H=i.Symbol,Y=o("JSON","stringify"),Q=E.f,G=O.f,X=k.f,K=_.f,Z=C("symbols"),J=C("op-symbols"),ee=C("string-to-symbol-registry"),te=C("symbol-to-string-registry"),ne=C("wks"),re=i.QObject,ie=!re||!re[U]||!re[U].findChild,oe=s&&u((function(){return 7!=v(G({},"a",{get:function(){return G(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=Q(W,t);r&&delete W[t],G(e,t,n),r&&e!==W&&G(W,t,r)}:G,ae=function(e,t){var n=Z[e]=v(H[U]);return q(n,{type:F,tag:e,description:t}),s||(n.description=t),n},se=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof H},le=function(e,t,n){e===W&&le(J,t,n),h(e);var r=y(t,!0);return h(n),p(Z,r)?(n.enumerable?(p(e,z)&&e[z][r]&&(e[z][r]=!1),n=v(n,{enumerable:b(0,!1)})):(p(e,z)||G(e,z,b(1,{})),e[z][r]=!0),oe(e,r,n)):G(e,r,n)},ce=function(e,t){h(e);var n=g(t),r=x(n).concat(fe(n));return M(r,(function(t){s&&!ue.call(n,t)||le(e,t,n[t])})),e},ue=function(e){var t=y(e,!0),n=K.call(this,t);return!(this===W&&p(Z,t)&&!p(J,t))&&(!(n||!p(this,t)||!p(Z,t)||p(this,z)&&this[z][t])||n)},pe=function(e,t){var n=g(e),r=y(t,!0);if(n!==W||!p(Z,r)||p(J,r)){var i=Q(n,r);return!i||!p(Z,r)||p(n,z)&&n[z][r]||(i.enumerable=!0),i}},de=function(e){var t=X(g(e)),n=[];return M(t,(function(e){p(Z,e)||p(T,e)||n.push(e)})),n},fe=function(e){var t=e===W,n=X(t?J:g(e)),r=[];return M(n,(function(e){!p(Z,e)||t&&!p(W,e)||r.push(Z[e])})),r};l||(H=function(){if(this instanceof H)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=I(e),n=function(e){this===W&&n.call(J,e),p(this,z)&&p(this[z],t)&&(this[z][t]=!1),oe(this,t,b(1,e))};return s&&ie&&oe(W,t,{configurable:!0,set:n}),ae(t,e)},j(H[U],"toString",(function(){return V(this).tag})),j(H,"withoutSetter",(function(e){return ae(I(e),e)})),_.f=ue,O.f=le,E.f=pe,w.f=k.f=de,S.f=fe,N.f=function(e){return ae(R(e),e)},s&&(G(H[U],"description",{configurable:!0,get:function(){return V(this).description}}),a||j(W,"propertyIsEnumerable",ue,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:H}),M(x(ne),(function(e){$(e)})),r({target:F,stat:!0,forced:!l},{for:function(e){var t=String(e);if(p(ee,t))return ee[t];var n=H(t);return ee[t]=n,te[n]=t,n},keyFor:function(e){if(!se(e))throw TypeError(e+" is not a symbol");if(p(te,e))return te[e]},useSetter:function(){ie=!0},useSimple:function(){ie=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!s},{create:function(e,t){return void 0===t?v(e):ce(v(e),t)},defineProperty:le,defineProperties:ce,getOwnPropertyDescriptor:pe}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:de,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:u((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),Y&&r({target:"JSON",stat:!0,forced:!l||u((function(){var e=H();return"[null]"!=Y([e])||"{}"!=Y({a:e})||"{}"!=Y(Object(e))}))},{stringify:function(e,t,n){for(var r,i=[e],o=1;arguments.length>o;)i.push(arguments[o++]);if(r=t,(f(t)||void 0!==e)&&!se(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!se(t))return t}),i[1]=t,Y.apply(null,i)}}),H[U][B]||A(H[U],B,H[U].valueOf),L(H,F),T[z]=!0},6195:function(e,t,n){n(1272)("matchAll")},2957:function(e,t,n){n(1272)("match")},4100:function(e,t,n){n(1272)("replace")},3006:function(e,t,n){n(1272)("search")},4910:function(e,t,n){n(1272)("species")},2820:function(e,t,n){n(1272)("split")},6611:function(e,t,n){n(1272)("toPrimitive")},9576:function(e,t,n){n(1272)("toStringTag")},9747:function(e,t,n){n(1272)("unscopables")},8997:function(e,t,n){"use strict";var r=n(4991),i=n.n(r),o=n(6314),a=n.n(o)()(i());a.push([e.id,".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style: none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto!important}}\n","",{version:3,sources:["webpack://./node_modules/perfect-scrollbar/css/perfect-scrollbar.css"],names:[],mappings:"AAGA,IACE,yBAAU,CACV,oBAAiB,CACjB,uBAAoB,CACpB,iBAAc,CACd,qBACF,CAKA,YACE,YAAS,CACT,SAAS,CACT,yDAAqD,CACrD,iEAA6D,CAC7D,WAAQ,CAER,QAAQ,CAER,iBACF,CAEA,YACE,YAAS,CACT,SAAS,CACT,yDAAqD,CACrD,iEAA6D,CAC7D,UAAO,CAEP,OAAO,CAEP,iBACF,CAEA,oDAEE,aAAS,CACT,4BACF,CAEA,oJAME,UACF,CAEA,kJAME,qBAAkB,CAClB,UACF,CAKA,aACE,qBAAkB,CAnEpB,iBAoEiB,CACf,6DAAoD,CACpD,qEAA4D,CAC5D,UAAQ,CAER,UAAQ,CAER,iBACF,CAEA,aACE,qBAAkB,CA/EpB,iBAgFiB,CACf,4DAAmD,CACnD,oEAA2D,CAC3D,SAAO,CAEP,SAAO,CAEP,iBACF,CAEA,oGAGE,qBAAkB,CAClB,WACF,CAEA,oGAGE,qBAAkB,CAClB,UACF,CAGA,qCACE,IACE,uBACF,CACF,CAEA,wEACE,IACE,uBACF,CACF",sourcesContent:["/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n"],sourceRoot:""}]),t.A=a},6314:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;oe.length)&&(t=e.length);for(var n=0,r=new Array(t);n2?r:e).apply(void 0,i)}}e.memoize=a,e.debounce=s,e.bind=l,e.default={memoize:a,debounce:s,bind:l}},void 0===(r=n.apply(t,[t]))||(e.exports=r)},6364:function(e){e.exports={}},228:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new i(r,o||e,a),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],s]:e._events[l].push(s):(e._events[l]=s,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function s(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),s.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},s.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,a=new Array(o);iu.depthLimit)return void s(t,e,r,a);if(void 0!==u.edgesLimit&&i+1>u.edgesLimit)return void s(t,e,r,a);if(o.push(e),Array.isArray(e))for(p=0;pt?1:0}function u(e,t,n,a){void 0===a&&(a=o());var s,l=p(e,"",0,[],void 0,0,a)||e;try{s=0===i.length?JSON.stringify(l,t,n):JSON.stringify(l,d(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return s}function p(e,i,o,a,l,u,d){var f;if(u+=1,"object"==typeof e&&null!==e){for(f=0;fd.depthLimit)return void s(t,e,i,l);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void s(t,e,i,l);if(a.push(e),Array.isArray(e))for(f=0;f0)for(var r=0;r=55296&&r<=56319&&t+1=56320&&n<=57343?1024*(r-55296)+n-56320+65536:r}function H(e){return/^\n* /.test(e)}var Y=1,Q=2,G=3,X=4,K=5;function Z(e,t,n,r,o){e.dump=function(){if(0===t.length)return e.quotingType===D?'""':"''";if(!e.noCompatMode&&(-1!==N.indexOf(t)||$.test(t)))return e.quotingType===D?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),c=r||e.flowLevel>-1&&n>=e.flowLevel;switch(function(e,t,n,r,i,o,a,s){var c,p,d=0,R=null,N=!1,$=!1,L=-1!==r,M=-1,z=B(p=W(e,0))&&p!==l&&!U(p)&&p!==w&&p!==O&&p!==k&&p!==x&&p!==A&&p!==j&&p!==P&&p!==I&&p!==m&&p!==y&&p!==v&&p!==f&&p!==T&&p!==S&&p!==E&&p!==b&&p!==h&&p!==g&&p!==_&&p!==C&&function(e){return!U(e)&&e!==k}(W(e,e.length-1));if(t||a)for(c=0;c=65536?c+=2:c++){if(!B(d=W(e,c)))return K;z=z&&V(d,R,s),R=d}else{for(c=0;c=65536?c+=2:c++){if((d=W(e,c))===u)N=!0,L&&($=$||c-M-1>r&&" "!==e[M+1],M=c);else if(!B(d))return K;z=z&&V(d,R,s),R=d}$=$||L&&c-M-1>r&&" "!==e[M+1]}return N||$?n>9&&H(e)?K:a?o===D?K:Q:$?X:G:!z||a||i(e)?o===D?K:Q:Y}(t,c,e.indent,s,(function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n"+J(t,e.indent)+ee(z(function(e,t){for(var n,r,i,o=/(\n+)([^\n]*)/g,a=(i=-1!==(i=e.indexOf("\n"))?i:e.length,o.lastIndex=i,te(e.slice(0,i),t)),s="\n"===e[0]||" "===e[0];r=o.exec(e);){var l=r[1],c=r[2];n=" "===c[0],a+=l+(s||n||""===c?"":"\n")+te(c,t),s=n}return a}(t,s),a));case K:return'"'+function(e){for(var t,n="",r=0,i=0;i=65536?i+=2:i++)r=W(e,i),!(t=R[r])&&B(r)?(n+=e[i],r>=65536&&(n+=e[i+1])):n+=t||L(r);return n}(t)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function J(e,t){var n=H(e)?String(t):"",r="\n"===e[e.length-1];return n+(!r||"\n"!==e[e.length-2]&&"\n"!==e?r?"":"-":"+")+"\n"}function ee(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function te(e,t){if(""===e||" "===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,a=0,s=0,l="";n=i.exec(e);)(s=n.index)-o>t&&(r=a>o?a:s,l+="\n"+e.slice(o,r),o=r+1),a=s;return l+="\n",e.length-o>t&&a>o?l+=e.slice(o,a)+"\n"+e.slice(a+1):l+=e.slice(o),l.slice(1)}function ne(e,t,n,r){var i,o,a,s="",l=e.tag;for(i=0,o=n.length;i tag resolver accepts not "'+p+'" style');r=u.represent[p](t,p)}e.dump=r}return!0}return!1}function ie(e,t,n,r,o,s,l){e.tag=null,e.dump=n,re(e,n,!1)||re(e,n,!0);var c,p=a.call(e.dump),d=r;r&&(r=e.flowLevel<0||e.flowLevel>t);var f,h,m="[object Object]"===p||"[object Array]"===p;if(m&&(h=-1!==(f=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||h||2!==e.indent&&t>0)&&(o=!1),h&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(m&&h&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),"[object Object]"===p)r&&0!==Object.keys(e.dump).length?(function(e,t,n,r){var o,a,s,l,c,p,d="",f=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new i("sortKeys must be a boolean or a function");for(o=0,a=h.length;o1024)&&(e.dump&&u===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,c&&(p+=F(e,t)),ie(e,t+1,l,!0,c)&&(e.dump&&u===e.dump.charCodeAt(0)?p+=":":p+=": ",d+=p+=e.dump));e.tag=f,e.dump=d||"{}"}(e,t,e.dump,o),h&&(e.dump="&ref_"+f+e.dump)):(function(e,t,n){var r,i,o,a,s,l="",c=e.tag,u=Object.keys(n);for(r=0,i=u.length;r1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),ie(e,t,a,!1,!1)&&(l+=s+=e.dump));e.tag=c,e.dump="{"+l+"}"}(e,t,e.dump),h&&(e.dump="&ref_"+f+" "+e.dump));else if("[object Array]"===p)r&&0!==e.dump.length?(e.noArrayIndent&&!l&&t>0?ne(e,t-1,e.dump,o):ne(e,t,e.dump,o),h&&(e.dump="&ref_"+f+e.dump)):(function(e,t,n){var r,i,o,a="",s=e.tag;for(r=0,i=n.length;r",e.dump=c+" "+e.dump)}return!0}function oe(e,t){var n,r,i=[],o=[];for(ae(e,i,o),n=0,r=o.length;n>10),56320+(e-65536&1023))}for(var j=new Array(256),C=new Array(256),P=0;P<256;P++)j[P]=_(P)?1:0,C[P]=_(P);function T(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||a,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function I(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=o(n),new i(t,n)}function R(e,t){throw I(e,t)}function N(e,t){e.onWarning&&e.onWarning.call(null,I(e,t))}var $={YAML:function(e,t,n){var r,i,o;null!==e.version&&R(e,"duplication of %YAML directive"),1!==n.length&&R(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&R(e,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&R(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&N(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var r,i;2!==n.length&&R(e,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],b.test(r)||R(e,"ill-formed tag handle (first argument) of the TAG directive"),s.call(e.tagMap,r)&&R(e,'there is a previously declared suffix for "'+r+'" tag handle'),v.test(i)||R(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){R(e,"tag prefix is malformed: "+i)}e.tagMap[r]=i}};function L(e,t,n,r){var i,o,a,s;if(t1&&(e.result+=r.repeat("\n",t-1))}function q(e,t){var n,r,i=e.tag,o=e.anchor,a=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),r=e.input.charCodeAt(e.position);0!==r&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,R(e,"tab characters must not be used in indentation")),45===r)&&S(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,F(e,!0,-1)&&e.lineIndent<=t)a.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,H(e,t,u,!1,!0),a.push(e.result),F(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)R(e,"bad indentation of a sequence entry");else if(e.lineIndentt?T=1:e.lineIndent===t?T=0:e.lineIndentt?T=1:e.lineIndent===t?T=0:e.lineIndentt)&&(v&&(a=e.line,s=e.lineStart,l=e.position),H(e,t,p,!0,i)&&(v?y=e.result:b=e.result),v||(M(e,h,m,g,y,b,a,s,l),g=y=b=null),F(e,!0,-1),u=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&0!==u)R(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?R(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?R(e,"repeat of an indentation width identifier"):(p=t+o-1,u=!0)}if(k(a)){do{a=e.input.charCodeAt(++e.position)}while(k(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!w(a)&&0!==a)}for(;0!==a;){for(z(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!u||e.lineIndentp&&(p=e.lineIndent),w(a))m++;else{if(e.lineIndent0){for(i=a,o=0;i>0;i--)(a=O(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:R(e,"expected hexadecimal character");e.result+=A(o),e.position++}else R(e,"unknown escape sequence");n=r=e.position}else w(s)?(L(e,n,r,!0),B(e,F(e,!1,t)),n=r=e.position):e.position===e.lineStart&&U(e)?R(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}R(e,"unexpected end of the stream within a double quoted scalar")}(e,_)?N=!0:function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!S(r)&&!E(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&R(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),s.call(e.anchorMap,n)||R(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],F(e,!0,-1),!0}(e)?(N=!0,null===e.tag&&null===e.anchor||R(e,"alias node should not have any properties")):function(e,t,n){var r,i,o,a,s,l,c,u,p=e.kind,d=e.result;if(S(u=e.input.charCodeAt(e.position))||E(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(S(r=e.input.charCodeAt(e.position+1))||n&&E(r)))return!1;for(e.kind="scalar",e.result="",i=o=e.position,a=!1;0!==u;){if(58===u){if(S(r=e.input.charCodeAt(e.position+1))||n&&E(r))break}else if(35===u){if(S(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&U(e)||n&&E(u))break;if(w(u)){if(s=e.line,l=e.lineStart,c=e.lineIndent,F(e,!1,-1),e.lineIndent>=t){a=!0,u=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=l,e.lineIndent=c;break}}a&&(L(e,i,o,!1),B(e,e.line-s),i=o=e.position,a=!1),k(u)||(o=e.position+1),u=e.input.charCodeAt(++e.position)}return L(e,i,o,!1),!!e.result||(e.kind=p,e.result=d,!1)}(e,_,l===n)&&(N=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===T&&(N=g&&q(e,P))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&R(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),y=0,b=e.implicitTypes.length;y"),null!==e.result&&x.kind!==e.kind&&R(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+x.kind+'", not "'+e.kind+'"'),x.resolve(e.result,e.tag)?(e.result=x.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):R(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||N}function Y(e){var t,n,r,i,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(F(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(a=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!S(i);)i=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&R(e,"directive name must not be less than one character in length");0!==i;){for(;k(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!w(i));break}if(w(i))break;for(t=e.position;0!==i&&!S(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==i&&z(e),s.call($,n)?$[n](e,n,r):N(e,'unknown document directive "'+n+'"')}F(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,F(e,!0,-1)):a&&R(e,"directives end mark is expected"),H(e,e.lineIndent-1,p,!1,!0),F(e,!0,-1),e.checkLineBreaks&&g.test(e.input.slice(o,e.position))&&N(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&U(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,F(e,!0,-1)):e.positions&&(t=r-s+(o=" ... ").length),n-r>s&&(n=r+s-(a=" ...").length),{str:o+e.slice(t,n).replace(/\t/g,"→")+a,pos:r-t+o.length}}function o(e,t){return r.repeat(" ",t-e.length)+e}e.exports=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,s=[0],l=[],c=-1;n=a.exec(e.buffer);)l.push(n.index),s.push(n.index+n[0].length),e.position<=n.index&&c<0&&(c=s.length-2);c<0&&(c=s.length-1);var u,p,d="",f=Math.min(e.line+t.linesAfter,l.length).toString().length,h=t.maxLength-(t.indent+f+3);for(u=1;u<=t.linesBefore&&!(c-u<0);u++)p=i(e.buffer,s[c-u],l[c-u],e.position-(s[c]-s[c-u]),h),d=r.repeat(" ",t.indent)+o((e.line-u+1).toString(),f)+" | "+p.str+"\n"+d;for(p=i(e.buffer,s[c],l[c],e.position,h),d+=r.repeat(" ",t.indent)+o((e.line+1).toString(),f)+" | "+p.str+"\n",d+=r.repeat("-",t.indent+f+3+p.pos)+"^\n",u=1;u<=t.linesAfter&&!(c+u>=l.length);u++)p=i(e.buffer,s[c+u],l[c+u],e.position-(s[c]-s[c+u]),h),d+=r.repeat(" ",t.indent)+o((e.line+u+1).toString(),f)+" | "+p.str+"\n";return d.replace(/\n$/,"")}},5388:function(e,t,n){"use strict";var r=n(1231),i=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===i.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach((function(e){n[e].forEach((function(t){a[String(t)]=e}))})),a),-1===o.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},9342:function(e,t,n){"use strict";var r=n(5388),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new r("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=0,o=e.length,a=i;for(n=0;n64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),o=r.length,a=i,s=0,l=[];for(t=0;t>16&255),l.push(s>>8&255),l.push(255&s)),s=s<<6|a.indexOf(r.charAt(t));return 0==(n=o%4*6)?(l.push(s>>16&255),l.push(s>>8&255),l.push(255&s)):18===n?(l.push(s>>10&255),l.push(s>>2&255)):12===n&&l.push(s>>4&255),new Uint8Array(l)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,r="",o=0,a=e.length,s=i;for(t=0;t>18&63],r+=s[o>>12&63],r+=s[o>>6&63],r+=s[63&o]),o=(o<<8)+e[t];return 0==(n=a%3)?(r+=s[o>>18&63],r+=s[o>>12&63],r+=s[o>>6&63],r+=s[63&o]):2===n?(r+=s[o>>10&63],r+=s[o>>4&63],r+=s[o<<2&63],r+=s[64]):1===n&&(r+=s[o>>2&63],r+=s[o<<4&63],r+=s[64],r+=s[64]),r}})},6199:function(e,t,n){"use strict";var r=n(5388);e.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},1461:function(e,t,n){"use strict";var r=n(8433),i=n(5388),o=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},4466:function(e,t,n){"use strict";var r=n(8433),i=n(5388);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,i=0,s=!1;if(!r)return!1;if("-"!==(t=e[i])&&"+"!==t||(t=e[++i]),"0"===t){if(i+1===r)return!0;if("b"===(t=e[++i])){for(i++;i=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},2369:function(e,t,n){"use strict";var r=n(5388);e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},1851:function(e,t,n){"use strict";var r=n(5388);e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},9198:function(e,t,n){"use strict";var r=n(5388);e.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})},6946:function(e,t,n){"use strict";var r=n(5388),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,r,a,s,l=[],c=e;for(t=0,n=c.length;tc))return!1;var p=s.get(e);if(p&&s.get(t))return p==t;var d=-1,f=!0,h=n&o?new Ae:void 0;for(s.set(e,t),s.set(t,e);++d-1},Oe.prototype.set=function(e,t){var n=this.__data__,r=Ce(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},_e.prototype.clear=function(){this.size=0,this.__data__={hash:new Ee,map:new(de||Oe),string:new Ee}},_e.prototype.delete=function(e){var t=$e(this,e).delete(e);return this.size-=t?1:0,t},_e.prototype.get=function(e){return $e(this,e).get(e)},_e.prototype.has=function(e){return $e(this,e).has(e)},_e.prototype.set=function(e,t){var n=$e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ae.prototype.add=Ae.prototype.push=function(e){return this.__data__.set(e,r),this},Ae.prototype.has=function(e){return this.__data__.has(e)},je.prototype.clear=function(){this.__data__=new Oe,this.size=0},je.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},je.prototype.get=function(e){return this.__data__.get(e)},je.prototype.has=function(e){return this.__data__.has(e)},je.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Oe){var r=n.__data__;if(!de||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _e(r)}return n.set(e,t),this.size=n.size,this};var De=le?function(e){return null==e?[]:(e=Object(e),function(t){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n-1&&e%1==0&&e-1&&e%1==0&&e<=a}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Qe(e){return null!=e&&"object"==typeof e}var Ge=z?function(e){return function(t){return e(t)}}(z):function(e){return Qe(e)&&He(e.length)&&!!P[Pe(e)]};function Xe(e){return null!=(t=e)&&He(t.length)&&!We(t)?function(e,t){var n=qe(e),r=!n&&Be(e),i=!n&&!r&&Ve(e),o=!n&&!r&&!i&&Ge(e),a=n||r||i||o,s=a?function(e,t){for(var n=-1,r=Array(e);++n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,l=0;a=Array.prototype.slice.call(a);var c=function(){--s<=0&&o(l)};s||c(),a.forEach((function(t){e.matches(t,i.exclude)?c():i.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(i=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach((function(e){e.handled||i.getIframeContents(e.val,(function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o=this,a=this.createIterator(t,e,r),s=[],l=[],c=void 0,u=void 0;p=void 0,p=o.getIteratorNode(a),u=p.prevNode,c=p.node;)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(c,u,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);var p;l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--a<=0&&i()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every((function(t){return!r.call(e,t)||(i=!0,!1)})),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(a)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":""}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":""}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach((function(i){n.every((function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="string"==typeof n?[]:n.limiters,o="";switch(i.forEach((function(e){o+="|"+t.escapeStr(e)})),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(o="\\s"+(o||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+o+"]*)";case"exactly":return"(^|\\s"+o+")("+e+")(?=$|\\s"+o+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every((function(a,s){var l=e.nodes[s+1];if(void 0===l||l.start>t){if(!r(a.node))return!1;var c=t-a.start,u=(n>a.end?a.end:n)-a.start,p=e.value.substr(0,a.start),d=e.value.substr(u+a.start);if(a.node=o.wrapRangeInTextNode(a.node,c,u),e.value=p+d,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var l=1;l1&&console.warn("Replacing with",t),m++}}else{let i=u(l(t,e[n]));if(a.verbose>1&&console.warn((!1===i?f.colour.red:f.colour.green)+"Fragment resolution",e[n],f.colour.normal),!1===i){if(r.parent[r.pkey]={},a.fatal){let t=new Error("Fragment $ref resolution failed "+e[n]);if(!a.promise)throw t;a.promise.reject(t)}}else m++,r.parent[r.pkey]=i,h[e[n]]=r.path.replace("/%24ref","")}else if(p.protocol){let t=o.resolve(i,e[n]).toString();a.verbose>1&&console.warn(f.colour.yellow+"Rewriting external url ref",e[n],"as",t,f.colour.normal),e["x-miro"]=e[n],a.externalRefs[e[n]]&&(a.externalRefs[t]||(a.externalRefs[t]=a.externalRefs[e[n]]),a.externalRefs[t].failed=a.externalRefs[e[n]].failed),e[n]=t}else if(!e["x-miro"]){let t=o.resolve(i,e[n]).toString(),r=!1;a.externalRefs[e[n]]&&(r=a.externalRefs[e[n]].failed),r||(a.verbose>1&&console.warn(f.colour.yellow+"Rewriting external ref",e[n],"as",t,f.colour.normal),e["x-miro"]=e[n],e[n]=t)}}));return c(e,{},(function(e,t,n){d(e,t)&&void 0!==e.$fixed&&delete e.$fixed})),a.verbose>1&&console.warn("Finished fragment resolution"),e}function m(e,t){if(!t.filters||!t.filters.length)return e;for(let n of t.filters)e=n(e,t);return e}function g(e,t,n,a){var c=o.parse(n.source),p=n.source.split("\\").join("/").split("/");p.pop()||p.pop();let d="",f=t.split("#");f.length>1&&(d="#"+f[1],t=f[0]),p=p.join("/");let g=(y=o.parse(t).protocol,b=c.protocol,y&&y.length>2?y:b&&b.length>2?b:"file:");var y,b;let v;if(v="file:"===g?i.resolve(p?p+"/":"",t):o.resolve(p?p+"/":"",t),n.cache[v]){n.verbose&&console.warn("CACHED",v,d);let e=u(n.cache[v]),r=n.externalRef=e;if(d&&(r=l(r,d),!1===r&&(r={},n.fatal))){let e=new Error("Cached $ref resolution failed "+v+d);if(!n.promise)throw e;n.promise.reject(e)}return r=h(r,e,t,d,v,n),r=m(r,n),a(u(r),v,n),Promise.resolve(r)}if(n.verbose&&console.warn("GET",v,d),n.handlers&&n.handlers[g])return n.handlers[g](p,t,d,n).then((function(e){return n.externalRef=e,e=m(e,n),n.cache[v]=e,a(e,v,n),e})).catch((function(e){throw n.verbose&&console.warn(e),e}));if(g&&g.startsWith("http")){const e=Object.assign({},n.fetchOptions,{agent:n.agent});return n.fetch(v,e).then((function(e){if(200!==e.status){if(n.ignoreIOErrors)return n.verbose&&console.warn("FAILED",t),n.externalRefs[t].failed=!0,'{"$ref":"'+t+'"}';throw new Error(`Received status code ${e.status}: ${v}`)}return e.text()})).then((function(e){try{let r=s.parse(e,{schema:"core",prettyErrors:!0});if(e=n.externalRef=r,n.cache[v]=u(e),d&&!1===(e=l(e,d))&&(e={},n.fatal)){let e=new Error("Remote $ref resolution failed "+v+d);if(!n.promise)throw e;n.promise.reject(e)}e=m(e=h(e,r,t,d,v,n),n)}catch(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}return a(e,v,n),e})).catch((function(e){if(n.verbose&&console.warn(e),n.cache[v]={},!n.promise||!n.fatal)throw e;n.promise.reject(e)}))}{const e='{"$ref":"'+t+'"}';return function(e,t,n,i,o){return new Promise((function(a,s){r.readFile(e,t,(function(e,t){e?n.ignoreIOErrors&&o?(n.verbose&&console.warn("FAILED",i),n.externalRefs[i].failed=!0,a(o)):s(e):a(t)}))}))}(v,n.encoding||"utf8",n,t,e).then((function(e){try{let r=s.parse(e,{schema:"core",prettyErrors:!0});if(e=n.externalRef=r,n.cache[v]=u(e),d&&!1===(e=l(e,d))&&(e={},n.fatal)){let e=new Error("File $ref resolution failed "+v+d);if(!n.promise)throw e;n.promise.reject(e)}e=m(e=h(e,r,t,d,v,n),n)}catch(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}return a(e,v,n),e})).catch((function(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}))}}function y(e){return new Promise((function(t,n){(function(e){return new Promise((function(t,n){function r(t,n,r){if(t[n]&&d(t[n],"$ref")){let o=t[n].$ref;if(!o.startsWith("#")){let a="";if(!i[o]){let t=Object.keys(i).find((function(e,t,n){return o.startsWith(e+"/")}));t&&(e.verbose&&console.warn("Found potential subschema at",t),a="/"+(o.split("#")[1]||"").replace(t.split("#")[1]||""),a=a.split("/undefined").join(""),o=t)}if(i[o]||(i[o]={resolved:!1,paths:[],extras:{},description:t[n].description}),i[o].resolved)if(i[o].failed);else if(e.rewriteRefs){let r=i[o].resolvedAt;e.verbose>1&&console.warn("Rewriting ref",o,r),t[n]["x-miro"]=o,t[n].$ref=r+a}else t[n]=u(i[o].data);else i[o].paths.push(r.path),i[o].extras[r.path]=a}}}let i=e.externalRefs;if(e.resolver.depth>0&&e.source===e.resolver.base)return t(i);c(e.openapi.definitions,{identityDetection:!0,path:"#/definitions"},r),c(e.openapi.components,{identityDetection:!0,path:"#/components"},r),c(e.openapi,{identityDetection:!0},r),t(i)}))})(e).then((function(t){for(let n in t)if(!t[n].resolved){let r=e.resolver.depth;r>0&&r++,e.resolver.actions[r].push((function(){return g(e.openapi,n,e,(function(e,r,i){if(!t[n].resolved){let o={};o.context=t[n],o.$ref=n,o.original=u(e),o.updated=e,o.source=r,i.externals.push(o),t[n].resolved=!0}let o=Object.assign({},i,{source:"",resolver:{actions:i.resolver.actions,depth:i.resolver.actions.length-1,base:i.resolver.base}});i.patch&&t[n].description&&!e.description&&"object"==typeof e&&(e.description=t[n].description),t[n].data=e;let a=(s=t[n].paths,[...new Set(s)]);var s;a=a.sort((function(e,t){const n=e.startsWith("#/components/")||e.startsWith("#/definitions/"),r=t.startsWith("#/components/")||t.startsWith("#/definitions/");return n&&!r?-1:r&&!n?1:0}));for(let r of a)if(t[n].resolvedAt&&r!==t[n].resolvedAt&&r.indexOf("x-ms-examples/")<0)i.verbose>1&&console.warn("Creating pointer to data at",r),l(i.openapi,r,{$ref:t[n].resolvedAt+t[n].extras[r],"x-miro":n+t[n].extras[r]});else{t[n].resolvedAt?i.verbose>1&&console.warn("Avoiding circular reference"):(t[n].resolvedAt=r,i.verbose>1&&console.warn("Creating initial clone of data at",r));let o=u(e);l(i.openapi,r,o)}0===i.resolver.actions[o.resolver.depth].length&&i.resolver.actions[o.resolver.depth].push((function(){return y(o)}))}))}))}})).catch((function(t){e.verbose&&console.warn(t),n(t)}));let r={options:e};r.actions=e.resolver.actions[e.resolver.depth],t(r)}))}function b(e,t,n){e.resolver.actions.push([]),y(e).then((function(r){var i;(i=r.actions,i.reduce(((e,t)=>e.then((e=>t().then(Array.prototype.concat.bind(e))))),Promise.resolve([]))).then((function(){if(e.resolver.depth>=e.resolver.actions.length)return console.warn("Ran off the end of resolver actions"),t(!0);e.resolver.depth++,e.resolver.actions[e.resolver.depth].length?setTimeout((function(){b(r.options,t,n)}),0):(e.verbose>1&&console.warn(f.colour.yellow+"Finished external resolution!",f.colour.normal),e.resolveInternal&&(e.verbose>1&&console.warn(f.colour.yellow+"Starting internal resolution!",f.colour.normal),e.openapi=p(e.openapi,e.original,{verbose:e.verbose-1}),e.verbose>1&&console.warn(f.colour.yellow+"Finished internal resolution!",f.colour.normal)),c(e.openapi,{},(function(t,n,r){d(t,n)&&(e.preserveMiro||delete t["x-miro"])})),t(e))})).catch((function(t){e.verbose&&console.warn(t),n(t)}))})).catch((function(t){e.verbose&&console.warn(t),n(t)}))}function v(e){if(e.cache||(e.cache={}),e.fetch||(e.fetch=a),e.source){let t=o.parse(e.source);(!t.protocol||t.protocol.length<=2)&&(e.source=i.resolve(e.source))}e.externals=[],e.externalRefs={},e.rewriteRefs=!0,e.resolver={},e.resolver.depth=0,e.resolver.base=e.source,e.resolver.actions=[[]]}e.exports={optionalResolve:function(e){return v(e),new Promise((function(t,n){e.resolve?b(e,t,n):t(e)}))},resolve:function(e,t,n){return n||(n={}),n.openapi=e,n.source=t,n.resolve=!0,v(n),new Promise((function(e,t){b(n,e,t)}))}}},1319:function(e){"use strict";function t(){return{depth:0,seen:new WeakMap,top:!0,combine:!1,allowRefSiblings:!1}}e.exports={getDefaultState:t,walkSchema:function e(n,r,i,o){if(void 0===i.depth&&(i=t()),null==n)return n;if(void 0!==n.$ref){let e={$ref:n.$ref};return i.allowRefSiblings&&n.description&&(e.description=n.description),o(e,r,i),e}if(i.combine&&(n.allOf&&Array.isArray(n.allOf)&&1===n.allOf.length&&delete(n=Object.assign({},n.allOf[0],n)).allOf,n.anyOf&&Array.isArray(n.anyOf)&&1===n.anyOf.length&&delete(n=Object.assign({},n.anyOf[0],n)).anyOf,n.oneOf&&Array.isArray(n.oneOf)&&1===n.oneOf.length&&delete(n=Object.assign({},n.oneOf[0],n)).oneOf),o(n,r,i),i.seen.has(n))return n;if("object"==typeof n&&null!==n&&i.seen.set(n,!0),i.top=!1,i.depth++,void 0!==n.items&&(i.property="items",e(n.items,n,i,o)),n.additionalItems&&"object"==typeof n.additionalItems&&(i.property="additionalItems",e(n.additionalItems,n,i,o)),n.additionalProperties&&"object"==typeof n.additionalProperties&&(i.property="additionalProperties",e(n.additionalProperties,n,i,o)),n.properties)for(let t in n.properties){let r=n.properties[t];i.property="properties/"+t,e(r,n,i,o)}if(n.patternProperties)for(let t in n.patternProperties){let r=n.patternProperties[t];i.property="patternProperties/"+t,e(r,n,i,o)}if(n.allOf)for(let t in n.allOf){let r=n.allOf[t];i.property="allOf/"+t,e(r,n,i,o)}if(n.anyOf)for(let t in n.anyOf){let r=n.anyOf[t];i.property="anyOf/"+t,e(r,n,i,o)}if(n.oneOf)for(let t in n.oneOf){let r=n.oneOf[t];i.property="oneOf/"+t,e(r,n,i,o)}return n.not&&(i.property="not",e(n.not,n,i,o)),i.depth--,n}}},7975:function(e){"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,o=-1,a=0,s=0;s<=e.length;++s){if(s2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),o=s,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=s,a=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(o+1,s):r=e.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===n&&-1!==a?++a:a=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var a;o>=0?a=arguments[o]:(void 0===e&&(e=process.cwd()),a=e),t(a),0!==a.length&&(r=a+"/"+r,i=47===a.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;ic){if(47===n.charCodeAt(s+p))return n.slice(s+p+1);if(0===p)return n.slice(s+p)}else a>c&&(47===e.charCodeAt(i+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(i+p);if(d!==n.charCodeAt(s+p))break;47===d&&(u=p)}var f="";for(p=i+u+1;p<=o;++p)p!==o&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+n.slice(s+u):(s+=u,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,o=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!o){i=a;break}}else o=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,o=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){i=r+1;break}}else-1===l&&(a=!1,l=r+1),s>=0&&(c===n.charCodeAt(s)?-1==--s&&(o=r):(s=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){i=r+1;break}}else-1===o&&(a=!1,o=r+1);return-1===o?"":e.slice(i,o)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,o=!0,a=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47!==l)-1===i&&(o=!1,i=s+1),46===l?-1===n?n=s:1!==a&&(a=1):-1!==n&&(a=-1);else if(!o){r=s+1;break}}return-1===n||-1===i||0===a||1===a&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),o=47===i;o?(n.root="/",r=1):r=0;for(var a=-1,s=0,l=-1,c=!0,u=e.length-1,p=0;u>=r;--u)if(47!==(i=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===i?-1===a?a=u:1!==p&&(p=1):-1!==a&&(p=-1);else if(!c){s=u+1;break}return-1===a||-1===l||0===p||1===p&&a===l-1&&a===s+1?-1!==l&&(n.base=n.name=0===s&&o?e.slice(1,l):e.slice(s,l)):(0===s&&o?(n.name=e.slice(1,a),n.base=e.slice(1,l)):(n.name=e.slice(s,a),n.base=e.slice(s,l)),n.ext=e.slice(a,l)),s>0?n.dir=e.slice(0,s-1):o&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},5127:function(e){e.exports=function(){var e=[],t=[],n={},r={},i={};function o(e){return"string"==typeof e?new RegExp("^"+e+"$","i"):e}function a(e,t){return e===t?t:e===e.toLowerCase()?t.toLowerCase():e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function s(e,t){return e.replace(t[0],(function(n,r){var i,o,s=(i=t[1],o=arguments,i.replace(/\$(\d{1,2})/g,(function(e,t){return o[t]||""})));return a(""===n?e[r-1]:n,s)}))}function l(e,t,r){if(!e.length||n.hasOwnProperty(e))return t;for(var i=r.length;i--;){var o=r[i];if(o[0].test(t))return s(t,o)}return t}function c(e,t,n){return function(r){var i=r.toLowerCase();return t.hasOwnProperty(i)?a(r,i):e.hasOwnProperty(i)?a(r,e[i]):l(i,r,n)}}function u(e,t,n,r){return function(r){var i=r.toLowerCase();return!!t.hasOwnProperty(i)||!e.hasOwnProperty(i)&&l(i,i,n)===i}}function p(e,t,n){return(n?t+" ":"")+(1===t?p.singular(e):p.plural(e))}return p.plural=c(i,r,e),p.isPlural=u(i,r,e),p.singular=c(r,i,t),p.isSingular=u(r,i,t),p.addPluralRule=function(t,n){e.push([o(t),n])},p.addSingularRule=function(e,n){t.push([o(e),n])},p.addUncountableRule=function(e){"string"!=typeof e?(p.addPluralRule(e,"$0"),p.addSingularRule(e,"$0")):n[e.toLowerCase()]=!0},p.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),i[e]=t,r[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach((function(e){return p.addIrregularRule(e[0],e[1])})),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach((function(e){return p.addPluralRule(e[0],e[1])})),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach((function(e){return p.addSingularRule(e[0],e[1])})),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(p.addUncountableRule),p}()},7022:function(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,a=0;a>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean},5624:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},4511:function(){!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism)},2415:function(){!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism)},5651:function(){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var i="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",o="class enum interface record struct",a="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=l(o),u=RegExp(l(i+" "+o+" "+a+" "+s)),p=l(o+" "+a+" "+s),d=l(i+" "+o+" "+s),f=r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),h=r(/\((?:[^()]|<>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,g=t(/<<0>>(?:\s*<<1>>)?/.source,[m,f]),y=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[p,g]),b=/\[\s*(?:,\s*)*\]/.source,v=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[y,b]),x=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[f,h,b]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[x]),k=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,y,b]),S={keyword:u,punctuation:/[<>()?,.:[\]]/},E=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,O=/"(?:\\.|[^\\"\r\n])*"/.source,_=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[O]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[y]),lookbehind:!0,inside:S},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,k]),lookbehind:!0,inside:S},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[c,g]),lookbehind:!0,inside:S},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[y]),lookbehind:!0,inside:S},{pattern:n(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[v]),lookbehind:!0,inside:S},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[k,d,m]),inside:S}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:S},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[k,y]),inside:S,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[k]),lookbehind:!0,inside:S,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,f]),inside:{function:n(/^<<0>>/.source,[m]),generic:{pattern:RegExp(f),alias:"class-name",inside:S}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,g,m,k,u.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[g,h]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,"class-name":{pattern:RegExp(k),greedy:!0,inside:S},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var A=O+"|"+E,j=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[A]),C=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[j]),2),P=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,T=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[y,C]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[P,T]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[P]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[C]),inside:e.languages.csharp},"class-name":{pattern:RegExp(y),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var I=/:[^}\r\n]+/.source,R=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[j]),2),N=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[R,I]),$=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[A]),2),L=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[$,I]);function D(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,I]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[N]),lookbehind:!0,greedy:!0,inside:D(N,R)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[L]),lookbehind:!0,greedy:!0,inside:D(L,$)}],char:{pattern:RegExp(E),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},2630:function(){Prism.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}},6378:function(){Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]},4784:function(){!function(e){function t(e){return RegExp("(^(?:"+e+"):[ \t]*(?![ \t]))[^]+","i")}e.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:e.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:t(/Content-Security-Policy/.source),lookbehind:!0,alias:["csp","languages-csp"],inside:e.languages.csp},{pattern:t(/Public-Key-Pins(?:-Report-Only)?/.source),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:e.languages.hpkp},{pattern:t(/Strict-Transport-Security/.source),lookbehind:!0,alias:["hsts","languages-hsts"],inside:e.languages.hsts},{pattern:t(/[^:]+/.source),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var n,r=e.languages,i={"application/javascript":r.javascript,"application/json":r.json||r.javascript,"application/xml":r.xml,"text/xml":r.xml,"text/html":r.html,"text/css":r.css,"text/plain":r.plain},o={"application/json":!0,"application/xml":!0};function a(e){var t=e.replace(/^[a-z]+\//,"");return"(?:"+e+"|\\w+/(?:[\\w.-]+\\+)+"+t+"(?![+\\w.-]))"}for(var s in i)if(i[s]){n=n||{};var l=o[s]?a(s):s;n[s.replace(/\//g,"-")]={pattern:RegExp("("+/content-type:\s*/.source+l+/(?:(?:\r\n?|\n)[\w-].*)*(?:\r(?:\n|(?!\n))|\n)/.source+")"+/[^ \t\w-][\s\S]*/.source,"i"),lookbehind:!0,inside:i[s]}}n&&e.languages.insertBefore("http","header",n)}(Prism)},6976:function(){!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},64:function(){Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}},9700:function(){!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,i,o){if(n.language===r){var a=n.tokenStack=[];n.code=n.code.replace(i,(function(e){if("function"==typeof o&&!o(e))return e;for(var i,s=a.length;-1!==n.code.indexOf(i=t(r,s));)++s;return a[s]=e,i})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var i=0,o=Object.keys(n.tokenStack);!function a(s){for(var l=0;l=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[i],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(r,u),h=d.indexOf(f);if(h>-1){++i;var m=d.substring(0,h),g=new e.Token(r,e.tokenize(p,n.grammar),"language-"+r,p),y=d.substring(h+f.length),b=[];m&&b.push.apply(b,a([m])),b.push(g),y&&b.push.apply(b,a([y])),"string"==typeof c?s.splice.apply(s,[l,1].concat(b)):c.content=b}}else c.content&&a(c.content)}return s}(n.tokens)}}}})}(Prism)},4312:function(){Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},Prism.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(e,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},596:function(){Prism.languages.objectivec=Prism.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"],Prism.languages.objc=Prism.languages.objectivec},2821:function(){!function(e){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(Prism)},3554:function(){!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:o};var a={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:a}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:a}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},2342:function(){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},4113:function(){Prism.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}},1648:function(){!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism)},4252:function(){Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},6966:function(){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},4793:function(){Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift}))},83:function(){!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",i=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function a(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+i+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:a(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:a(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:a(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:a(o),lookbehind:!0,greedy:!0},number:{pattern:a(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)},8848:function(e,t,n){var r=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=p.reach);S+=k.value.length,k=k.next){var E=k.value;if(t.length>e.length)return;if(!(E instanceof o)){var O,_=1;if(b){if(!(O=a(w,S,e,y))||O.index>=e.length)break;var A=O.index,j=O.index+O[0].length,C=S;for(C+=k.value.length;A>=C;)C+=(k=k.next).value.length;if(S=C-=k.value.length,k.value instanceof o)continue;for(var P=k;P!==t.tail&&(Cp.reach&&(p.reach=N);var $=k.prev;if(I&&($=c(t,$,I),S+=I.length),u(t,$,_),k=c(t,$,new o(d,g?i.tokenize(T,g):T,v,T)),R&&c(t,k,R),_>1){var L={cause:d+","+h,reach:N};s(e,t,n,k.prev,S,L),p&&L.reach>p.reach&&(p.reach=L.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function u(e,t,n){for(var r=t.next,i=0;i"+o.content+""},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.code,a=n.immediateClose;e.postMessage(i.highlight(o,i.languages[r],r)),a&&e.close()}),!1),i):i;var p=i.util.currentScript();function d(){i.manual||i.highlightAll()}if(p&&(i.filename=p.src,p.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var f=document.readyState;"loading"===f||"interactive"===f&&p&&p.defer?document.addEventListener("DOMContentLoaded",d):window.requestAnimationFrame?window.requestAnimationFrame(d):window.setTimeout(d,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r),r.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var i={"included-cdata":{pattern://i,inside:n}};i["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:i},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(){if(void 0!==r&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},t="data-src-status",n="loading",i="loaded",o="pre[data-src]:not(["+t+'="'+i+'"]):not(['+t+'="'+n+'"])';r.hooks.add("before-highlightall",(function(e){e.selector+=", "+o})),r.hooks.add("before-sanity-check",(function(a){var s=a.element;if(s.matches(o)){a.code="",s.setAttribute(t,n);var l=s.appendChild(document.createElement("CODE"));l.textContent="Loading…";var c=s.getAttribute("data-src"),u=a.language;if("none"===u){var p=(/\.(\w+)$/.exec(c)||[,"none"])[1];u=e[p]||p}r.util.setLanguage(l,u),r.util.setLanguage(s,u);var d=r.plugins.autoloader;d&&d.loadLanguages(u),function(e,n,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.onreadystatechange=function(){4==a.readyState&&(a.status<400&&a.responseText?function(e){s.setAttribute(t,i);var n=function(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}(s.getAttribute("data-range"));if(n){var o=e.split(/\r\n?|\n/g),a=n[0],c=null==n[1]?o.length:n[1];a<0&&(a+=o.length),a=Math.max(0,Math.min(a-1,o.length)),c<0&&(c+=o.length),c=Math.max(0,Math.min(c,o.length)),e=o.slice(a,c).join("\n"),s.hasAttribute("data-start")||s.setAttribute("data-start",String(a+1))}l.textContent=e,r.highlightElement(l)}(a.responseText):a.status>=400?o("✖ Error "+a.status+" while fetching file: "+a.statusText):o("✖ Error: File does not exist or is empty"))},a.send(null)}(c,0,(function(e){s.setAttribute(t,"failed"),l.textContent=e}))}})),r.plugins.fileHighlight={highlight:function(e){for(var t,n=(e||document).querySelectorAll(o),i=0;t=n[i++];)r.highlightElement(t)}};var a=!1;r.fileHighlight=function(){a||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),a=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}}()},2694:function(e,t,n){"use strict";var r=n(6925);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5556:function(e,t,n){e.exports=n(2694)()},6925:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:function(e,t,n){"use strict";var r=n(6540),i=n(194);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n